(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】搬送管理システム、搬送管理方法、及び、プログラム
(51)【国際特許分類】
B65G 1/04 20060101AFI20240709BHJP
B65G 61/00 20060101ALI20240709BHJP
【FI】
B65G1/04 555Z
B65G61/00 530
(21)【出願番号】P 2021034264
(22)【出願日】2021-03-04
【審査請求日】2023-09-12
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】吉澤 真太郎
【審査官】内田 茉李
(56)【参考文献】
【文献】特開2005-206272(JP,A)
【文献】特開平09-269826(JP,A)
【文献】特開平06-230824(JP,A)
【文献】特開2000-259979(JP,A)
【文献】特開2020-91887(JP,A)
【文献】特開平10-11137(JP,A)
【文献】特開2004-280213(JP,A)
【文献】特開2000-193470(JP,A)
【文献】米国特許出願公開第2019/0228375(US,A1)
【文献】中国特許出願公開第112417604(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 1/04
B65G 61/00
(57)【特許請求の範囲】
【請求項1】
各々が始点と終点を有する搬送タスクを示すp個の搬送タスク情報を受け付ける受付部と、
前記p個の搬送タスク情報を互いに連結してq(q<p)個の連結タスク情報を生成する連結部と、
前記q個の連結タスク情報をq個の搬送移動装置にそれぞれ割り当てる割当部と、
を含み、
前記連結部は、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行するのに要する、前記q個の搬送移動装置の移動距離の合計である総移動距離が短くなるように前記q個の連結タスク情報を生成する、
搬送管理システム。
【請求項2】
前記連結部は、前記p個の搬送タスク情報のうち異なる2つの搬送タスク情報を前後に連結した場合のタスク間移動距離を算出し、前記タスク間移動距離が最も短くなる2つの搬送タスク情報を優先的に連結する、
請求項1に記載の搬送管理システム。
【請求項3】
前記連結部は、少なくとも2つの搬送タスク情報を含む連結タスク情報に他の搬送タスク情報を連結する際の当該連結に対応するタスク間移動距離が所定値以下でない場合、前記連結タスク情報に前記他の搬送タスク情報を連結しない、
請求項1又は2に記載の搬送管理システム。
【請求項4】
前記q個の搬送移動装置の現在地情報を取得する現在地情報取得部を更に備え、
前記割当部は、各連結タスク情報の先頭の搬送タスク情報の始点と、各搬送移動装置の現在地と、に基づいて、前記q個の連結タスク情報を前記q個の搬送移動装置にそれぞれ割り当てる、
請求項1から3までの何れか1項に記載の搬送管理システム。
【請求項5】
前記受付部が、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行している間に新しい搬送タスク情報を受け付けた場合、前記連結部は、未着手の搬送タスク情報を新たに連結し直してq個の連結タスク情報を生成し、
前記割当部は、前記q個の搬送移動装置が現在実行している搬送タスク情報を完了した時点で、新たに連結し直した前記q個の連結タスク情報を前記q個の搬送移動装置にそれぞれ割り当てる、
請求項1から4までの何れか1項に記載の搬送管理システム。
【請求項6】
前記連結部は、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行するのに要する、前記q個の搬送移動装置の移動距離相互の差分が小さくなるように、前記p個の搬送タスク情報を互いに連結する、
請求項1から5までの何れか1項に記載の搬送管理システム。
【請求項7】
各々が始点と終点を有する搬送タスクを示すp個の搬送タスク情報を受け付け、
前記p個の搬送タスク情報を互いに連結してq(q<p)個の連結タスク情報を生成し、
前記q個の連結タスク情報をq個の搬送移動装置にそれぞれ割り当て、
前記q個の連結タスク情報を生成することは、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行するのに要する、前記q個の搬送移動装置の移動距離の合計である総移動距離が短くなるように前記q個の連結タスク情報を生成することである、
搬送管理方法。
【請求項8】
コンピュータに、請求項7に記載の搬送管理方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、搬送管理システム、搬送管理方法、及び、プログラムに関する。
【背景技術】
【0002】
特許文献1は、積み込み位置及び積み下ろし位置が互いに異なる複数の搬送対象物を搬送するに際し、複数の搬送対象物の積み込み位置を巡回して複数の搬送対象物を順番に積み込み、所定距離走行し、その後、複数の搬送対象物の積み下ろし位置を巡回して複数の搬送対象物を順番に積み下ろすことで、搬送作業の所要時間を短縮する技術を提供している。
【0003】
また、特許文献1は、複数の搬送移動装置で搬送作業を実行している間に新たな搬送作業を受け付けた場合、現在実行している搬送作業を完了してから新たな搬送作業の積み込み位置まで最も早く到達可能な搬送移動装置を特定し、特定した搬送移動装置に新たな搬送作業を実行させることを開示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上記特許文献1は、搬送効率を改善する点に関して改善の余地が残されている。
【0006】
本発明の目的は、複数の搬送タスクを実行するに際し、搬送効率を改善する技術を提供することにある。
【課題を解決するための手段】
【0007】
本願発明の第1の観点によれば、各々が始点と終点を有する搬送タスクを示すp個の搬送タスク情報を受け付ける受付部と、前記p個の搬送タスク情報を互いに連結してq(q<p)個の連結タスク情報を生成する連結部と、前記q個の連結タスク情報をq個の搬送移動装置にそれぞれ割り当てる割当部と、を含み、前記連結部は、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行するのに要する、前記q個の搬送移動装置の移動距離の合計である総移動距離が短くなるように前記q個の連結タスク情報を生成する、搬送管理システムが提供される。以上の構成によれば、複数の搬送タスクを実行するに際し、搬送効率を改善できる。
好ましくは、前記連結部は、前記p個の搬送タスク情報のうち異なる2つの搬送タスク情報を前後に連結した場合のタスク間移動距離を算出し、前記タスク間移動距離が最も短くなる2つの搬送タスク情報を優先的に連結する。以上の構成によれば、複数の搬送タスクを実行するに際し、搬送効率を更に改善できる。
好ましくは、前記連結部は、少なくとも2つの搬送タスク情報を含む連結タスク情報に他の搬送タスク情報を連結する際の当該連結に対応するタスク間移動距離が所定値以下でない場合、前記連結タスク情報に前記他の搬送タスク情報を連結しない。以上の構成によれば、すべての搬送タスク情報が1つの連結タスク情報として連結してしまうことを防止できる。
好ましくは、前記q個の搬送移動装置の現在地情報を取得する現在地情報取得部を更に備え、前記割当部は、各連結タスク情報の先頭の搬送タスク情報の始点と、各搬送移動装置の現在地と、に基づいて、前記q個の連結タスク情報を前記q個の搬送移動装置にそれぞれ割り当てる。以上の構成によれば、搬送効率を更に改善できる。
好ましくは、前記受付部が、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行している間に新しい搬送タスク情報を受け付けた場合、前記連結部は、未着手の搬送タスク情報を新たに連結し直してq個の連結タスク情報を生成し、前記割当部は、前記q個の搬送移動装置が現在実行している搬送タスク情報を完了した時点で、新たに連結し直した前記q個の連結タスク情報を前記q個の搬送移動装置にそれぞれ割り当てる。以上の構成によれば、新たに受け付けた搬送タスク情報を問題なく取り入れることができる。
好ましくは、前記連結部は、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行するのに要する、前記q個の搬送移動装置の移動距離相互の差分が小さくなるように、前記p個の搬送タスク情報を互いに連結する。以上の構成によれば、各搬送移動装置の負担のバラツキを抑制できる。
本願発明の第2の観点によれば、各々が始点と終点を有する搬送タスクを示すp個の搬送タスク情報を受け付け、前記p個の搬送タスク情報を互いに連結してq(q<p)個の連結タスク情報を生成し、前記q個の連結タスク情報をq個の搬送移動装置にそれぞれ割り当て、前記q個の連結タスク情報を生成することは、前記q個の搬送移動装置が前記q個の連結タスク情報をそれぞれ実行するのに要する、前記q個の搬送移動装置の移動距離の合計である総移動距離が短くなるように前記q個の連結タスク情報を生成することである、搬送管理方法が提供される。以上の方法によれば、複数の搬送タスクを実行するに際し、搬送効率を改善できる。
コンピュータに、上記の搬送管理方法を実行させるプログラムが提供される。
【発明の効果】
【0008】
本発明によれば、複数の搬送タスクを実行するに際し、搬送効率を改善することができる。
【図面の簡単な説明】
【0009】
【
図7】搬送ロボットの最短経路の探索方法の説明図である。
【
図8】搬送ロボットの最短経路の探索方法の説明図である。
【
図9】搬送ロボットの最短経路の探索方法の説明図である。
【
図10】搬送ロボットの最短経路の探索方法の説明図である。
【
図11】搬送ロボットの最短経路の探索方法の説明図である。
【
図12】搬送ロボットの最短経路の探索方法の説明図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施形態を説明する。
【0011】
図1には、搬送システム1の機能ブロック図を示している。
図1に示すように、搬送システム1は、搬送管理装置2と、複数の搬送ロボット3と、を含む。
【0012】
搬送管理装置2は、搬送管理システムの一具体例である。搬送管理装置2は、単一の装置によって実現されている。しかし、搬送管理装置2は、複数の装置による分散処理により実現されてもよい。各搬送ロボット3は、自立移動可能な搬送移動装置の一具体例である。本実施形態では、一例として、搬送システム1は、2つの搬送ロボット3を含む。
【0013】
搬送管理装置2は、複数の搬送タスクを少なくとも1つの搬送ロボット3に実行させる。搬送管理装置2は、中央演算処理器としてのCPU2a(Central Processing Unit)と、読み書き自由のRAM2b(Random Access Memory)、読み出し専用のROM2c(Read Only Memory)を備えている。そして、CPU2aがROM2cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU2aなどのハードウェアを複数の機能部として機能させる。複数の機能部は、典型的には、受付部4、連結部5、割当部6、移動計画部7を含む。
【0014】
受付部4は、各々が始点と終点を有する搬送タスクを示すp個の搬送タスク情報を受け付ける。pは、2以上の自然数である。受付部4は、搬送管理装置2が備える入力手段を介して複数の搬送タスク情報を受け付けてもよく、他の装置を介して複数の搬送タスク情報を受け付けてもよい。受付部4は、受け付けた複数の搬送タスク情報をRAM2bに格納する。
【0015】
連結部5は、p個の搬送タスク情報を互いに連結してq個の連結タスク情報を生成する。ただし、qは1以上p未満である自然数である。連結タスク情報は、1つの搬送タスク情報のみを含む場合がある。
【0016】
割当部6は、q個の連結タスク情報をq個の搬送ロボット3にそれぞれ割り当てる。割当部6は、現在地情報取得部の一具体例でもある。
【0017】
移動計画部7は、各搬送ロボット3が割り当てられた連結タスク情報を実行する際の移動計画情報を生成する。移動計画情報は、搬送ロボット3の移動経路と通過時刻を示す情報である。
【0018】
各搬送ロボット3は、搬送対象物を搬送する自立走行可能なロボットである。各搬送ロボット3は、中央演算処理器としてのCPU3a(Central Processing Unit)と、読み書き自由のRAM3b(Random Access Memory)、読み出し専用のROM3c(Read Only Memory)を備えている。そして、CPU3aがROM3cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU3aなどのハードウェアを複数の機能部として機能させる。複数の機能部は、現在地情報取得部10と、移動制御部11と、を含む。
【0019】
現在地情報取得部10は、典型的には、図示しないGPSモジュールを用いて、搬送ロボット3の現在地情報を取得する。各搬送ロボット3は、取得した現在地情報を搬送管理装置2に送信する。
【0020】
移動制御部11は、搬送管理装置2から受信した移動計画情報に基づいて搬送ロボット3の移動を制御する。
【0021】
次に、
図2から
図12を参照して、搬送管理装置2の制御フローを説明する。
【0022】
S100:
まず、搬送管理装置2の受付部4は、p個の搬送タスク情報を受け付ける。ここで、
図3を参照されたい。
図3には、搬送タスク1、搬送タスク2、搬送タスク3、搬送タスク4を示している。一例として、搬送管理装置2の受付部4は、搬送タスク1から搬送タスク4までの4つの搬送タスク情報を受け付ける。
【0023】
搬送タスク1は、始点o_1から終点d_1へ搬送対象物を搬送するタスクである。
搬送タスク2は、始点o_2から終点d_2へ搬送対象物を搬送するタスクである。
搬送タスク3は、始点o_3から終点d_3へ搬送対象物を搬送するタスクである。
搬送タスク4は、始点o_4から終点d_4へ搬送対象物を搬送するタスクである。
図3に示すグリッドのグリッド幅は、単位距離を示している。単位距離は、一例として50メートルである。従って、例えば、始点o_1と終点d_2との間の最短距離は2であり、始点o_1と終点d_1との間の最短距離は8である。
【0024】
S110:
搬送管理装置2の連結部5は、4つの搬送タスク情報を互いに連結して2つの連結タスク情報を生成する。即ち、連結部5は、4つの搬送タスクを互いに連結して2つの連結タスクを生成する。本実施形態において連結部5は、複数の搬送タスクを2つの搬送ロボット3に割り当てるので、4つの搬送タスクを互いに連結して2つの連結タスクを生成する。そして、連結部5は、2つの搬送ロボット3が2つの連結タスクをそれぞれ実行するのに要する、2つの搬送ロボット3の移動距離の合計である総移動距離が最も短くなるように2つの連結タスクを生成する。ここで言う移動距離とは、各搬送ロボット3が割り当てられた連結タスクの先頭の搬送タスクの始点から、末尾の搬送タスクの終点まで移動する距離を意味する。
【0025】
まず、連結部5は、4つの搬送タスクのうち異なる2つの搬送タスクを前後に連結した場合のタスク間移動距離を算出し、タスク間移動距離が最も短くなる2つの搬送タスクを優先的に連結する。
【0026】
即ち、連結部5は、搬送タスクiの始点o_iと搬送タスクj(j≠i)の終点d_jとの間のタスク間移動距離を算出し、タスク間移動距離の最小値を下記式(1)から式(4)で算出する。ただし、下記式(1)から(4)において、dis(a,b)は、a点と集合bとの最短距離を意味している。従って、連結部5は、例えば下記式(1)において、始点o_1と終点d_2とのタスク間移動距離を算出し、始点o_1と終点d_3とのタスク間移動距離を算出し、始点o_1と終点d_4とのタスク間移動距離を算出し、タスク間移動距離の最小値が2であることを算出している。
【0027】
dis(o_1,{d_2, d_3, d_4})=2・・・(1)
dis(o_2,{d_1, d_3, d_4})=3・・・(2)
dis(o_3,{d_1, d_2, d_4})=5・・・(3)
dis(o_4,{d_1, d_2, d_3})=5・・・(4)
【0028】
上記式(1)により、始点o_1に最も近い終点は終点d_2である。
上記式(2)により、始点o_2に最も近い終点は終点d_1である。
上記式(3)により、始点o_3に最も近い終点は終点d_1、終点d_2、終点d_4である。
上記式(4)により、始点o_4に最も近い終点は終点d_1、終点d_2である。
【0029】
上記式(1)から式(4)によれば、タスク間移動距離の最小値は式(1)の2であり、このタスク間移動距離は、搬送タスク2及び搬送タスク1をこの順に連結することで実現される。従って、連結部5は、搬送タスク2と搬送タスク1をこの順に連結することを他の連結よりも優先する。搬送タスク2と搬送タスク1をこの順に連結してなる連結タスクを以下、連結タスク2→1と称する。即ち、連結部5は、搬送タスク2と搬送タスク1をこの順に連結して連結タスク2→1を生成する。
【0030】
上記式(2)により、搬送タスク1と搬送タスク2をこの順に連結することが提案される。しかし、搬送タスク1と搬送タスク2をこの順に連結した連結タスクは、上記連結タスク2→1に対して排他的である。従って、連結部5は、搬送タスク1と搬送タスク2をこの順に連結した連結タスクを生成しない。
【0031】
上記式(3)により、(a)搬送タスク1と搬送タスク3をこの順に連結すること、(b)搬送タスク2と搬送タスク3をこの順に連結すること、(c)搬送タスク4と搬送タスク3をこの順に連結すること、が提案される。
【0032】
(a)
搬送タスク1に搬送タスク3をこの順に連結することは、連結タスク2→1と搬送タスク3をこの順に連結することに他ならない。また、搬送タスク1に搬送タスク3をこの順に連結した場合のタスク間移動距離は5である。連結部5は、当該タスク間移動距離を所定値と比較し、当該タスク間移動距離が所定値以下でない場合、連結タスク2→1に搬送タスク3を連結しない。ここで、所定値とは、典型的には、2である。連結部5は、当該タスク間移動距離が2以下ではないので、連結タスク2→1に搬送タスク3を連結しない。
【0033】
このようにタスク間移動距離が所定値以下である場合に限り連結タスクに他の搬送タスクを連結するようにすることで、すべての搬送タスクが1つに繋がってしまうことを防止することができる。なお、搬送タスクがn個ある場合、連結の検討をしている始点及び終点間のタスク間移動距離を昇順に並べ、k番目の値を上記所定値とすることができる。また、始点と終点との初回からk-1回目までの搬送タスクの連結に必要となる距離をL以下とし、k回目以降の搬送タスクの連結に必要となる距離をM(M>L)以下となるようにしてもよい。
【0034】
(b)
搬送タスク2と搬送タスク3をこの順に連結することは、優先的に採用される連結タスク2→1と排他的である。従って、連結部5は、搬送タスク2と搬送タスク3をこの順に連結しない。
【0035】
(c)
連結部5は、搬送タスク4と搬送タスク3をこの順に連結する。搬送タスク4と搬送タスク3をこの順に連結してなる連結タスクを以下、連結タスク4→3と称する。
【0036】
上記式(4)により、(a)搬送タスク1と搬送タスク4をこの順に連結すること、(b)搬送タスク2と搬送タスク4をこの順に連結すること、が提案される。
【0037】
(a)
搬送タスク1に搬送タスク4をこの順に連結することは、連結タスク2→1と搬送タスク4をこの順に連結することに他ならない。また、搬送タスク1に搬送タスク4をこの順に連結した場合のタスク間移動距離は5である。従って、連結部5は、当該タスク間移動距離が2以下ではないので、連結タスク2→1に搬送タスク4を連結しない。
【0038】
(b)
搬送タスク2と搬送タスク4をこの順に連結することは、優先的に採用される連結タスク2→1と排他的である。従って、連結部5は、搬送タスク2と搬送タスク4をこの順に連結しない。
【0039】
結果として、連結部5は、搬送タスク1から搬送タスク4を互いに連結して連結タスク2→1及び連結タスク4→3を生成する。
【0040】
仮に、搬送タスク1から搬送タスク4を1つの搬送ロボット3で実行させる場合、連結部5は、更に、連結タスク2→1及び連結タスク4→3を互いに連結する。この場合、連結タスク2→1及び連結タスク4→3をこの順で連結した場合のタスク間移動距離は、終点d_1と始点o_4の間の距離である5となる。一方、連結タスク4→3及び連結タスク2→1をこの順で連結した場合のタスク間移動距離は、終点d_3と始点o_2の間の距離である4となる。従って、連結部5は、搬送ロボット3の移動距離が最も短くなるように、連結タスク4→3及び連結タスク2→1をこの順で連結し、連結タスク4→3→2→1を生成する。
【0041】
S120:
次に、割当部6は、連結タスク2→1及び連結タスク4→3を2つの搬送ロボット3にそれぞれ割り当てる。具体的には、割当部6は、2つの搬送ロボット3から現在地情報を受信して取得する。そして、割当部6は、連結タスク2→1の先頭の搬送タスク2の始点o_2、連結タスク4→3の先頭の搬送タスク4の始点o_4と、2つの搬送ロボット3の現在地と、に基づいて、連結タスク2→1及び連結タスク4→3を2つの搬送ロボット3にそれぞれ割り当てる。
【0042】
ここで、説明の便宜上、2つの搬送ロボット3を搬送ロボット3A及び搬送ロボット3Bと称する。まず、割当部6は、搬送ロボット3Aと始点o_2との間の距離と搬送ロボット3Bと始点o_4との間の距離との合計値と、搬送ロボット3Aと始点o_4との間の距離と搬送ロボット3Bと始点o_2との間の距離との合計値と、を算出し、2つの合計値を比較する。そして、割当部6は、この比較結果に基づいて、連結タスク2→1及び連結タスク4→3を2つの搬送ロボット3にそれぞれ割り当てる。即ち、割当部6は、各搬送ロボット3が割り当てられた連結タスクを実行し始めるまでに要する移動距離の合計が最も短くなるように、連結タスク2→1及び連結タスク4→3を2つの搬送ロボット3にそれぞれ割り当てる。
【0043】
S130:
次に、移動計画部7は、各搬送ロボット3が割り当てられた連結タスクを実行する際の移動計画情報を生成する。
【0044】
S140:
そして、搬送管理装置2は、移動計画部7が生成した移動計画情報を各搬送ロボット3に送信する。各搬送ロボット3の移動制御部11は、受信した移動計画情報に基づいて、割り当てられた連結タスク情報を実行する。
【0045】
次に、2つの搬送ロボット3が2つの連結タスクをそれぞれ実行している間に受付部4が新しい搬送タスクを受け付けた場合に関して説明する。この場合、連結部5は、未着手の搬送タスクを新たに連結し直して2つの連結タスクを生成する。そして、割当部6は、2つの搬送ロボット3が現在実行している搬送タスクを完了した時点で、新たに連結し直した2つの連結タスクを2つの搬送ロボット3にそれぞれ割り当てる。未着手の搬送タスクを新たに連結し直す連結プロセスは、前述したものと全く同様である。以下、
図4に沿って、搬送タスクnewが追加された事例を説明する。
【0046】
まず、連結部5は、5つの搬送タスクのうち異なる2つの搬送タスクを前後に連結した場合のタスク間移動距離を算出し、タスク間移動距離が最も短くなる2つの搬送タスクを優先的に連結する。
【0047】
即ち、連結部5は、搬送タスクiの始点o_iと搬送タスクj(j≠i)の終点d_jとの間のタスク間移動距離を算出し、タスク間移動距離の最小値を下記式(1)から式(5)で算出する。例えば、連結部5は、下記式(1)において、始点o_1と終点d_2とのタスク間移動距離を算出し、始点o_1と終点d_3とのタスク間移動距離を算出し、始点o_1と終点d_4とのタスク間移動距離を算出し、始点o_1と終点d_newとのタスク間移動距離を算出し、タスク間移動距離の最小値が2であることを算出している。
【0048】
dis(o_1,{d_2, d_3, d_4, d_new})=2・・・(1)
dis(o_2,{d_1, d_3, d_4, d_new})=3・・・(2)
dis(o_3,{d_1, d_2, d_4, d_new})=4・・・(3)
dis(o_4,{d_1, d_2, d_3, d_new})=2・・・(4)
dis(o_new,{d_1, d_2, d_3, d_4})=3・・・(5)
【0049】
上記式(1)により、始点o_1に最も近い終点は終点d_2である。
上記式(2)により、始点o_2に最も近い終点は終点d_1である。
上記式(3)により、始点o_3に最も近い終点は終点d_newである。
上記式(4)により、始点o_4に最も近い終点は終点d_newである。
上記式(5)により、始点o_newに最も近い終点は終点d_3である。
【0050】
上記式(1)及び式(5)によれば、タスク間移動距離の最小値は式(1)及び式(4)の2であり、このタスク間移動距離は、搬送タスク2及び搬送タスク1をこの順に連結すること、及び、搬送タスクnew及び搬送タスク4をこの順に連結すること、で実現される。また、これらの連結は互いに矛盾しない。従って、連結部5は、搬送タスク2と搬送タスク1をこの順に連結すること、及び、搬送タスクnewと搬送タスク4をこの順に連結すること、を他の連結よりも優先する。搬送タスク2と搬送タスク1をこの順に連結してなる連結タスクを以下、連結タスク2→1と称する。搬送タスクnewと搬送タスク4をこの順に連結してなる連結タスクを以下、連結タスクnew→4と称する。
【0051】
上記式(2)により、搬送タスク1と搬送タスク2をこの順に連結することが提案される。しかし、搬送タスク1と搬送タスク2をこの順に連結した連結タスクは、上記連結タスク2→1に対して排他的である。従って、連結部5は、搬送タスク1と搬送タスク2をこの順に連結しない。
【0052】
上記式(3)により、搬送タスクnewと搬送タスク3をこの順に連結することが提案される。しかし、搬送タスクnewと搬送タスク3をこの順に連結した連結タスクは、上記連結タスクnew→4に対して排他的である。従って、連結部5は、搬送タスクnewと搬送タスク3をこの順に連結しない。
【0053】
上記式(5)により、搬送タスク3と搬送タスクnewをこの順に連結することが提案される。また、搬送タスク3と搬送タスクnewをこの順に連結した連結タスクは、上記連結タスク2→1及び連結タスクnew→4と排他的ではない。従って、連結部5は、搬送タスク3と連結タスクnew→4をこの順に連結する。搬送タスク3と連結タスクnew→4をこの順に連結した連結タスクを以下、連結タスク3→new→4と称する。
【0054】
その後、割当部6は、連結タスク2→1と連結タスク3→new→4を2つの搬送ロボット3にそれぞれ割り当てる。
【0055】
次に、
図5を参照して、幾つかの搬送タスクが同一の始点を有している場合について説明する。
図5には、搬送タスク11、搬送タスク12、搬送タスク21、搬送タスク22、搬送タスク3を示している。
【0056】
搬送タスク11は、始点o_1から終点d_11へ搬送対象物を搬送するタスクである。
搬送タスク12は、始点o_1から終点d_12へ搬送対象物を搬送するタスクである。
搬送タスク21は、始点o_2から終点d_21へ搬送対象物を搬送するタスクである。
搬送タスク22は、始点o_2から終点d_22へ搬送対象物を搬送するタスクである。
搬送タスク3は、始点o_3から終点d_3へ搬送対象物を搬送するタスクである。
図5に示すグリッドのグリッド幅は、単位距離の2倍を示している。単位距離は、一例として50メートルである。従って、例えば、始点o_1と終点d_3との間の最短距離は4であり、始点o_1と終点d_12との間の最短距離は7である。
【0057】
図5に示す例においても、連結部5による複数の搬送タスクの連結方法は前述したものと同様である。
【0058】
まず、連結部5は、5つの搬送タスクのうち異なる2つの搬送タスクを前後に連結した場合のタスク間移動距離を算出し、タスク間移動距離が最も短くなる2つの搬送タスクを優先的に連結する。
【0059】
即ち、連結部5は、搬送タスクiの始点o_iと搬送タスクj(j≠i)の終点d_jとの間のタスク間移動距離を算出し、タスク間移動距離の最小値を下記式(1)から式(3)で算出する。
【0060】
dis(o_1,{d_21, d_22, d_3})=4・・・(1)
dis(o_2,{d_11, d_12, d_3})=2・・・(2)
dis(o_3,{d_11, d_12, d_21, d_22})=4・・・(3)
【0061】
上記式(1)により、始点o_1に最も近い終点は終点d_3である。
上記式(2)により、始点o_2に最も近い終点は終点d_11である。
上記式(3)により、始点o_3に最も近い終点は終点d_11, d_21, d_22である。
【0062】
そして、上記式(1)から式(3)によれば、タスク間移動距離の最小値は式(2)の2であり、このタスク間移動距離は、搬送タスク11及び搬送タスク21をこの順で連結すること、又は、移動制御部11及び搬送タスク22をこの順に連結することで実現される。従って、連結部5は、搬送タスク11及び搬送タスク21をこの順で連結すること、又は、移動制御部11及び搬送タスク22をこの順に連結すること、を他の連結よりも優先する。搬送タスク11及び搬送タスク21をこの順で連結して成る連結タスクを以下、連結タスク11→21と称する。搬送タスク11及び搬送タスク22をこの順で連結して成る連結タスクを以下、連結タスク11→22と称する。
【0063】
上記式(1)により、搬送タスク3と搬送タスク11をこの順で連結すること、及び、搬送タスク3と搬送タスク12をこの順で連結すること、が提案される。搬送タスク3と搬送タスク11をこの順で連結してなる連結タスクを以下、連結タスク3→11と称する。搬送タスク3と搬送タスク12をこの順で連結してなる連結タスクを以下、連結タスク3→12と称する。
【0064】
上記式(3)により、搬送タスク11と搬送ロボット3をこの順で連結すること、及び、搬送タスク21と搬送タスク3をこの順で連結すること、搬送タスク22と搬送タスク3をこの順で連結すること、が提案される。しかし、搬送タスク11と搬送ロボット3をこの順で連結した連結タスクは、搬送タスク11及び搬送タスク21をこの順で連結すること、又は、移動制御部11及び搬送タスク22をこの順に連結することに対して排他的である。従って、連結部5は、搬送タスク11と搬送ロボット3をこの順で連結しない。搬送タスク21と搬送タスク3をこの順で連結して成る連結タスクを以下、連結タスク21→3と称する。搬送タスク22と搬送タスク3をこの順で連結して成る連結タスクを以下、連結タスク22→3と称する。
【0065】
即ち、上記式(1)から式(3)によれば、優先的に採用される連結タスクとして連結タスク11→21及び連結タスク11→22が提案され、その他の候補として、連結タスク3→11、連結タスク3→12、連結タスク21→3、連結タスク22→3が提案される。
【0066】
上記の提案によれば、例えば、搬送タスク11、搬送タスク12、搬送タスク21、搬送タスク22、搬送タスク3を3つの搬送ロボット3に割り振る場合、以下のような連結タスクの組み合わせが考えられる。ただし、カッコ内の数字は対応する連結タスクを実行するのに必要となる移動距離を示す。
【0067】
(ケース1A)
連結タスク3→12(15)、連結タスク11→22(16)、連結タスク21(8)
(ケース1B)
連結タスク12(7)、連結タスク11→22(16)、連結タスク21→3(16)
(ケース2A)
連結タスク3→12(15)、連結タスク11→21(18)、連結タスク22(6)
(ケース2B)
連結タスク12(7)、連結タスク11→21(18)、連結タスク22→3(14)
(ケース3A)
連結タスク3→11(16)、連結タスク11→22(16)、連結タスク21(8)
(ケース3B)
連結タスク11(8)、連結タスク11→22(16)、連結タスク21→3(16)
(ケース4A)
連結タスク3→11(16)、連結タスク11→21(18)、連結タスク22(6)
(ケース4B)
連結タスク11(8)、連結タスク11→21(18)、連結タスク22→3(14)
【0068】
ただし、連結タスク11は搬送タスク11のみを含む連結タスクである。連結タスク12、21、22についても同様である。
【0069】
そして、連結部5は、3つの搬送ロボット3が3つの連結タスクをそれぞれ実行するのに要する、3つの搬送ロボット3の移動距離の合計である総移動距離が短くなるように3つの連結タスクを生成する。ケース1A、ケース1B、ケース2A、ケース2Bの総移動距離は何れも39である。一方、ケース3A、ケース3B、ケース4A、ケース4Bの総移動距離は何れも40である。従って、連結部5は、ケース1A、ケース1B、ケース2A、ケース2Bの何れか1つに従うものとする。
【0070】
また、連結部5は、3つの搬送ロボット3が3つの連結タスクをそれぞれ実行するのに要する、3つの搬送ロボット3の移動距離相互の差分が小さくなるように、5つの搬送タスクを互いに連結する。ケース1Aに属する3つの連結タスクそれぞれを実行するのに要する移動距離の分散は、12.7である。ケース1Bの分散は、18である。ケース2Aの分散は26である。ケース2Bの分散は20.7である。従って、ケース1Aを採用した場合、3つの搬送ロボット3が3つの連結タスクをそれぞれ実行するのに要する、3つの搬送ロボット3の移動距離相互の差分が最も小さくなる。従って、連結部5は、ケース1Aに従って、5つの搬送タスクを相互に連結し、3つの連結タスクを生成する。
【0071】
その後、割当部6は、3つの連結タスクを3つの搬送ロボット3にそれぞれ割り当てる。
【0072】
なお、5つの搬送タスクを2つの搬送ロボット3に割り当てる場合、5つの搬送タスクを1つの搬送ロボット3に割り当てる場合の連結方法については、上述した連結方法を踏襲するものとする。
【0073】
例えば、5つの搬送タスクを2つの搬送ロボット3に割り当てる場合、連結部5は、前述した総移動距離と分散を考慮して、5つの搬送タスクを互いに連結して、連結タスク11→21及び連結タスク22→3→12を生成する。
【0074】
また、例えば、5つの搬送タスクを1つの搬送ロボット3に割り当てる場合、連結部5は、前述した総移動距離を考慮して、5つの搬送タスクを互いに連結して、連結タスク11→22→3→11→21を生成する。
【0075】
次に、
図6から
図12を参照して、移動計画部7の動作を説明する。前述したように、移動計画部7は、各搬送ロボット3が割り当てられた連結タスクを実行する際の移動計画情報を生成する。
【0076】
移動計画部7は、各搬送タスクの始点から終点に至るまでの方向転換が少ない最短経路を探索する。そして、移動計画部7は、
図6に示すように、探索した最短経路又は当該最短経路を局所的に変更した経路上で搬送ロボット3同士が衝突しないように、各搬送ロボット3の移動計画情報を生成する。移動計画情報は、対応する搬送ロボット3の移動経路と通過時刻を示す情報である。移動経路は、典型的には、複数のノードと、複数のノード間を結ぶリンクと、を含む。通過時刻は、典型的には、各ノードを通過する時刻である。
【0077】
以下、
図7から
図12を参照して、方向転換が少ない始点終点間の最短経路の作成方法を説明する。
図7には、複数の障害物Qがあるサービス環境を示している。
図7に示すサービス環境には、一例として、障害物Q1、障害物Q2、障害物Q3が存在している。
【0078】
移動計画部7は、始点から終点までの最短経路を生成するに際し、上L字経路30と下L字経路31を生成する。上L字経路30は、始点から終点に至るまでに一度右折する経路である。上L字経路30は、始点から縦に延びる第1上L字経路30aと、第1上L字経路30aから終点に至る横の第2上L字経路30bと、を含む。下L字経路31は、始点から終点に至るまでに一度左折する経路である。下L字経路31は、始点から横に延びる第1下L字経路31aと、第1下L字経路31aから終点に至る縦の第2下L字経路31bと、を含む。
【0079】
移動計画部7は、下L字経路31の第1下L字経路31aが複数の障害物Qの何れかと干渉しているか判定し、干渉していない場合、下L字経路31に基づいて最短経路を探索し、干渉している場合は、上L字経路30に基づいて最短経路を探索する。
図7の例では、下L字経路31の第1下L字経路31aは何れの障害物Qとも干渉していない。従って、移動計画部7は、下L字経路31に基づいて最短経路を生成する。
【0080】
次に、移動計画部7は、下L字経路31の第2下L字経路31bが複数の障害物Qの何れかと干渉しているか判定し、干渉している場合、第2下L字経路31bを始点側に1コマ平行移動すると共に、第2下L字経路31bと、第2下L字経路31bから終点に至る横の経路と、を含む部分上L字経路を生成する。
図7の例では、下L字経路31の第2下L字経路31bが障害物Q1と干渉している。従って、移動計画部7は、
図8及び
図9に示すように、第2下L字経路31bを始点側に平行移動すると共に、第2下L字経路31bと、第2下L字経路31bから終点に至る横の経路31cと、を含む部分上L字経路32を生成する。
【0081】
移動計画部7は、上記の処理を繰り返すことにより、
図10に示す部分上L字経路32の通行可能経路33を取得する。
【0082】
次に、移動計画部7は、
図11に示すように、部分下L字経路34を生成し、通行可能経路を生成する。もし、部分下L字経路で通行可能経路がない場合、移動計画部7は、更に、部分上L字経路の通行可能経路を探索することとする。
図11では、部分上L字経路35により終点に到達している。これにより、移動計画部7は、始点から終点までの最短経路として、下L字経路31、部分上L字経路32、部分下L字経路34、部分上L字経路35から成る最短経路を生成する。
【0083】
移動計画部7は、各搬送ロボット3毎に最短経路を生成する。即ち、移動計画部7は、各搬送ロボット3毎に、搬送ロボット3の現在地から搬送ロボット3に割り当てられた連結タスクの先頭の搬送タスクの始点までの最短経路、及び、連結タスクの先頭の搬送タスクの始点から末尾の搬送タスクの終点までの最短経路を生成する。
【0084】
ここで、搬送ロボット3は最短経路上を1コマ1単位時間で移動するものとし、複数の搬送ロボット3が同じ場所(ノード)を同じ時刻に通過する場合、移動計画部7は、終点までに近い搬送ロボット3を他の搬送ロボット3よりも優先させるものとし、他の搬送ロボット3は現在地に1単位時間留まるものとする。これにより、連結タスクを完了させた余力のある搬送ロボット3を早期に確保することができる。複数の搬送ロボット3の終点までの距離が同一である場合、始点からの移動距離が長い搬送ロボット3を他の搬送ロボット3よりも優先的に上記ノードを通過するようにする。複数の搬送ロボット3の終点までの距離が同一であり、複数の搬送ロボット3の始点からの距離も同一である場合、移動計画部7は、優先的に上記ノードを通過する搬送ロボット3をランダムに決定するものとする。
【0085】
なお、移動計画部7は、使用頻度の高いノードやリンクを通過しないように最短経路を補正することができる。この場合、移動計画部7は、
図12に示すように、部分L字のコーナーを部分終点として、局所経路変更P1や局所経路変更P2のように、最短経路を局所的に補正する。
【0086】
以上に、本願発明の好適な実施形態を説明したが、上記実施形態は、以下の特徴を有する。
【0087】
搬送管理装置2(搬送管理システム)は、各々が始点と終点を有する搬送タスクを示すp個の搬送タスク情報を受け付ける受付部4と、p個の搬送タスク情報を互いに連結してq(q<p)個の連結タスク情報を生成する連結部5と、q個の連結タスク情報をq個の搬送ロボット3(搬送移動装置)にそれぞれ割り当てる割当部6と、を含む。連結部5は、q個の搬送ロボット3がq個の連結タスク情報をそれぞれ実行するのに要する、q個の搬送ロボット3の移動距離の合計である総移動距離が短くなるようにq個の連結タスク情報を生成する。以上の構成によれば、複数の搬送タスクを実行するに際し、搬送効率を改善できる。
【0088】
また、連結部5は、p個の搬送タスク情報のうち異なる2つの搬送タスク情報を前後に連結した場合のタスク間移動距離を算出し、タスク間移動距離が最も短くなる2つの搬送タスク情報を優先的に連結する。以上の構成によれば、複数の搬送タスクを実行するに際し、搬送効率を更に改善できる。
【0089】
また、連結部5は、少なくとも2つの搬送タスク情報を含む連結タスク情報に他の搬送タスク情報を連結する際の当該連結に対応するタスク間移動距離が所定値以下でない場合、連結タスク情報に他の搬送タスク情報を連結しない。以上の構成によれば、すべての搬送タスク情報が1つの連結タスク情報として連結してしまうことを防止できる。
【0090】
また、搬送管理装置2は、q個の搬送ロボット3の現在地情報を取得する割当部6(現在地情報取得部)を更に備える。割当部6は、各連結タスク情報の先頭の搬送タスク情報の始点と、各搬送ロボット3の現在地と、に基づいて、q個の連結タスク情報をq個の搬送ロボット3にそれぞれ割り当てる。各連結タスク情報の先頭の搬送タスク情報の始点に最寄りの搬送ロボット3に当該連結タスク情報を割り当てることができるので、搬送効率を更に改善できる。
【0091】
また、受付部4が、q個の搬送ロボット3がq個の連結タスク情報をそれぞれ実行している間に新しい搬送タスク情報を受け付けた場合、連結部5は、未着手の搬送タスク情報を新たに連結し直してq個の連結タスク情報を生成する。割当部6は、q個の搬送ロボット3が現在実行している搬送タスク情報を完了した時点で、新たに連結し直したq個の連結タスク情報をq個の搬送ロボット3にそれぞれ割り当てる。以上の構成によれば、新たに受け付けた搬送タスク情報を問題なく取り入れることができる。
【0092】
また、連結部5は、q個の搬送ロボット3がq個の連結タスク情報をそれぞれ実行するのに要する、q個の搬送ロボット3の移動距離相互の差分が小さくなるように、p個の搬送タスク情報を互いに連結する。以上の構成によれば、各搬送ロボット3の負担のバラツキを抑制できる。
【0093】
搬送管理方法は、各々が始点と終点を有する搬送タスクを示すp個の搬送タスク情報を受け付けること、p個の搬送タスク情報を互いに連結してq(q<p)個の連結タスク情報を生成すること、q個の連結タスク情報をq個の搬送移動装置にそれぞれ割り当てることを含む。q個の連結タスク情報を生成することは、q個の搬送ロボット3がq個の連結タスク情報をそれぞれ実行するのに要する、q個の搬送ロボット3の移動距離の合計である総移動距離が短くなるようにq個の連結タスク情報を生成することである。以上の方法によれば、複数の搬送タスクを実行するに際し、搬送効率を改善できる。
【0094】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。非一時的なコンピュータ可読媒体の例は、更に、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROMを含む。非一時的なコンピュータ可読媒体の例は、更に、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0095】
1 搬送システム
2 搬送管理装置
3 搬送ロボット
4 受付部
5 連結部
6 割当部
7 移動計画部
10 現在地情報取得部
11 移動制御部