(58)【調査した分野】(Int.Cl.,DB名)
前記判定部は、前記最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、他の移動体により巡回されるよう移動経路を変更することで、前記最長の巡回時間よりも短くなるように前記複数の移動経路を変更できるか否かを判定する請求項2に記載の情報処理装置。
前記判定部は、前記変更部により前記複数の移動経路が変更された場合、変更後の複数の移動経路において、巡回時間の増加量が最も少なくなるように、最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、他の移動体により巡回されるよう移動経路を変更することで、前記最長の巡回時間よりも短くなるように前記複数の移動経路を変更できるか否かを再判定する請求項1に記載の情報処理装置。
前記変更部は、前記判定部により、巡回時間の増加量が最も少なくなるように、前記最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、他の移動体により巡回されるよう移動経路を変更することで、前記最長の巡回時間よりも短くなるように前記複数の移動経路を変更できないと判定された場合、前記最長の巡回時間及び最短の巡回時間のいずれでもない巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、前記最短の巡回時間となる移動経路上を移動する移動体により巡回されるように前記複数の移動経路を変更し、
前記判定部は、前記変更部により前記複数の移動経路が変更された場合、変更後の複数の移動経路において、巡回時間の増加量が最も少なくなるように、最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、他の移動体により巡回されるよう移動経路を変更することで、前記最長の巡回時間よりも短くなるように前記複数の移動経路を変更できるか否かを再判定する請求項1又は4に記載の情報処理装置。
前記判定部は、前記最長の巡回時間と最短の巡回時間との差が前記滞在時間以下である場合、前記最長の巡回時間よりも短くなるように前記複数の移動経路を変更できないと判定する請求項2に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下、添付図面を参照しながら、本発明にかかる情報処理装置、情報処理システム、移動経路決定方法及びプログラムの実施形態を詳細に説明する。
【0010】
本実施形態では、移動路は倉庫内の移動路であり、移動路上に存在する複数の地点は、倉庫内に分散して保管された複数の商品が配置されている地点であり、複数の移動体は、当該複数の商品を収集(ピッキング)するために倉庫内に分散して配置されたロボット(カート)であり、滞在時間は、商品が配置されている地点においてロボットが当該商品を収集するのに要する作業時間であって、倉庫内に保管された複数の商品を複数台のロボットでピッキングするピッキング作業を例に取り説明するが、これに限定されるものではない。より詳細には、倉庫内の移動路は、複数のノードをネットワーク上に接続した経路であり、商品及びロボットは、いずれかのノードに配置されている場合を想定して説明するが、これに限定されるものではない。なお本実施形態では、ロボット(カート)は、自動で自立移動する移動体である場合を例に取り説明するが、これに限定されず、ユーザにより手動で移動されるロボット(カート)であってもよい。
【0011】
図1は、本実施形態の情報処理システム1の構成の一例を示すブロック図である。
図1に示すように、情報処理システム1は、情報処理装置10と、端末装置20と、出力装置30−1〜30−n(nは2以上の自然数)と、を備える。情報処理装置10、端末装置20、及び出力装置30−1〜30−nは、ネットワーク2を介して接続されている。ネットワーク2は、例えば、インターネットやLAN(Local Area Network)などにより実現できる。なお、以下の説明では、出力装置30−1〜30−nを各々区別する必要がない場合は、単に出力装置30と称する場合がある。
【0012】
情報処理装置10は、移動路上に存在する複数の商品を複数のロボットで巡回して収集するための、当該複数のロボットそれぞれの移動経路を生成及び変更するものであり、例えば、1台以上のコンピュータにより実現できる。
【0013】
図2は、本実施形態の情報処理装置10のハードウェア構成の一例を示すブロック図である。情報処理装置10は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの制御装置101と、ROM(Read Only Memory)やRAM(Random Access Memory)などの主記憶装置102と、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶装置103と、ディスプレイなどの表示装置104と、キーボードやマウスなどの入力装置105と、通信インタフェースなどの通信装置106と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【0014】
端末装置20は、情報処理装置10に対し、収集対象の複数の商品を指定するものであり、例えば、PC(Personal Computer)やスマート端末などが挙げられる。
【0015】
出力装置30は、情報処理装置10により決定された移動経路を出力するものである。なお本実施形態では、各出力装置30は、ロボットに対応付けられており(備え付けられており)、当該ロボット用の移動経路を出力する。出力装置30は、例えば、ロボットに備え付けられたディスプレイやスピーカ、ロボットをユーザが移動させる場合には、当該ユーザが所持するスマート端末などが挙げられる。なお、移動経路の出力は、表示出力、音声出力、投影出力、及び印刷出力などどのような出力態様で行われても構わない。
【0016】
図3は、本実施形態の情報処理装置10の機能構成の一例を示すブロック図である。
図3に示すように、情報処理装置10は、生成部151と、算出部153と、判定部155と、変更部157と、送信部159と、を含む。生成部151及び送信部159は、例えば、制御装置101、主記憶装置102、及び通信装置106などにより実現できる。算出部153、判定部155、及び変更部157は、例えば、制御装置101及び主記憶装置102などにより実現できる。
【0017】
生成部151は、移動路上に存在する複数の地点を複数の移動体で巡回させるための、当該複数の移動体それぞれの移動経路を生成する。本実施形態では、生成部151は、移動路上に存在する複数の商品を複数のロボットで巡回して収集するための、当該複数のロボットそれぞれの移動経路を生成する。
【0018】
本実施形態では、どのような手法で複数のロボットの移動経路を生成しても構わないが、生成に要する時間が短く、かつ、移動経路全体での移動時間(移動距離)をできるだけ短くできるような手法であることが好ましい。このため、上記のような条件を満たす移動経路生成用のアルゴリズムを用いて移動経路を生成することが好ましいが、生成時間の制約さえ満たせば、遺伝的アルゴリズムを用いて移動経路を生成しても構わない。なお、本実施形態では、各移動体の速度は、一定の速度に固定されていることを前提とする。
【0019】
図4は、本実施形態の情報処理システム1で行われる移動経路生成処理の一例を示すフローチャートである。なお、
図4に示すフローチャートは、上記のような条件を満たす移動経路生成用のアルゴリズムによる移動経路生成処理のフローチャートである。このアルゴリズムによれば、生成に要する時間が短く、かつ、全体での移動時間(移動距離)をできるだけ短くできる移動経路を生成できる。
【0020】
まず、移動経路の生成に先立ち、生成部151は、複数のロボットそれぞれの移動開始位置情報、移動終了位置情報、複数のロボットにより収集される複数の商品それぞれの収集対象物位置情報、及び移動路情報を取得する(ステップS101)。
【0021】
移動開始位置情報は、ロボットの移動開始位置を示し、移動終了位置情報は、ロボットの移動終了位置を示し、収集対象物位置情報は、商品の位置を示し、移動路情報は、ロボットが移動可能な移動路(前述のネットワーク)を示す。
【0022】
続いて、生成部151は、取得した複数の移動開始位置情報、複数の移動終了位置情報、複数の収集対象物位置情報、及び移動路情報に基づいて、商品毎に、複数のロボットそれぞれについて、当該ロボットが移動路を移動して、移動開始位置から当該商品を収集して移動終了位置に到達するまでに要する最小移動量を算出する(ステップS103)。
【0023】
本実施形態では、最小移動量及び後述の移動量が時間である場合を例に取り説明するが、これに限定されず、距離としてもよい。また本実施形態では、最小移動量の算出は、例えば、ダイクストラー法やA*スター法などの公知技術を用いて行えばよい。また、最小移動量での移動経路が複数存在する場合、全移動経路を求めておくものとする。
【0024】
続いて、生成部151は、複数の商品のうち最小移動量の最小値が最大となる商品を、複数のロボットのうち、当該商品の収集に要する最小移動量が最小となるロボットに割り当てる(ステップS105)。
【0025】
続いて、生成部151は、当該割り当てたロボットが当該商品を最小移動量で収集して移動終了位置に最小移動量で到達するための移動経路上に、収集するロボットに割り当てられていない商品があれば、当該収集するロボットに割り当てられていない商品を当該割り当てたロボットに更に割り当てる(ステップS107)。
【0026】
続いて、収集するロボットに割り当てられていない商品が残っており(ステップS109でYes)、生成部151は、残っている1以上の商品のうち最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となるロボットが未割り当てであれば(ステップS111でYes)、当該ロボットに当該最小移動量の最小値が最大となる商品を割り当てる(ステップS113)。そして、ステップS107へ戻る。
【0027】
一方、生成部151は、残っている1以上の商品のうち最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となるロボットが未割り当てでなければ(ステップS111でNo)、分散度合いを判定する判定式を満たし、かつ商品が割り当てられていない1以上のロボットがあれば(ステップS115でYes)、当該1以上のロボットのうち、当該最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となるロボットに当該最小移動量の最小値が最大となる商品を割り当てる(ステップS117)。そして、ステップS107へ戻る。
【0028】
分散度合いを判定する判定式としては、ロボットXと商品Qとの最小移動量=ロボットXとロボットYとの距離+ロボットYと商品Qとの最小移動量が挙げられるが、これに限定されるものではない。なお、ロボットXが判定式を満たすか否かの対象となるロボットであり、商品Qが割り当て対象の商品であり、ロボットYが任意のロボットである。
【0029】
上述の判定式を満たす場合、ロボットXとロボットYとの配置が局所的であると判定され、ロボットXとロボットYをグループとして包含関係にあると認識する。そして、この場合、商品Qは、ロボットYではなく、ロボットXに割り当てられるため、ロボットYに偏って商品が割り当てられてしまうことを防止できる。
【0030】
なお、生成部151は、分散度合いを判定する判定式を満たし、かつ商品が割り当てられていない1以上のロボットがなければ(ステップS115でNo)、複数のロボットのうち、残っている1以上の商品のうち最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となり、かつ移動量が最小のロボットに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる商品を割り当てる(ステップS119)。そして、ステップS107へ戻る。
【0031】
なお、ステップS119の処理については、残っている1以上の商品のうち最小移動量の最小値が最大となる商品との移動路上での距離が最も短い商品を収集するロボットに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる商品を割り当てるようにしてもよい。
【0032】
また、ステップS119の処理については、残っている1以上の商品のうち最小移動量の最小値が最大となる商品と移動路上で最も近接する1以上のロボットのうち、移動量が最小のロボットに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる商品を割り当てるようにしてもよい。
【0033】
ステップS109において、収集するロボットに割り当てられていない商品が残っていない場合(ステップS109でNo)、生成部151は、割り当て結果に基づいて、複数のロボットの移動経路を生成する(ステップS121)。
【0034】
図5は、本実施形態の生成部151により生成された各ロボットの移動経路での巡回時間(移動時間)の一例を示す図である。
図5に示す例では、移動路上に存在する7つの商品(商品A〜商品G)を3台のロボット(ロボット1〜ロボット3)で巡回して収集する場合の、各ロボットの移動経路での巡回時間を示している。なお、
図5に示す例では、ロボット1が商品Aを収集し、ロボット2が商品B〜商品Eを収集し、ロボット3が商品F〜商品Gを収集する移動経路となっている。巡回時間は、ロボットが移動経路の移動開始地点から移動終了地点までの巡回に要する時間である。但し、
図5に示す巡回時間では、移動経路上の商品が配置された地点において当該商品の収集に要する作業時間(滞在時間)は加味されていない。なお、
図5に示す凡例は、以降の図面においても同様に適用されるものとする。
【0035】
算出部153は、生成部151により生成された移動経路毎に、当該移動経路を移動する移動体の移動に要する移動時間と、当該移動経路上に存在する1以上の地点それぞれでの滞在時間と、を合算した巡回時間を算出する。本実施形態では、算出部153は、移動経路毎に、当該移動経路を移動するロボットの移動に要する移動時間(移動経路のスタート地点からゴール地点までの移動に要する時間)と、当該移動経路上で商品が配置された1以上の地点それぞれにおいて、当該商品の収集に要する作業時間と、を合算した巡回時間を算出する。本実施形態では、商品の種類や数に関わらず、商品の収集に要する作業時間が一律である場合を例に取り説明するが、これに限定されるものではない。
【0036】
図6は、本実施形態の算出部153により算出された各ロボットの移動経路での巡回時間(移動時間+作業時間)の一例を示す図である。
図6に示す巡回時間では、
図5に示す各移動経路での巡回時間において、商品が配置された地点において当該商品の収集に要する作業時間が加味(挿入)されている。なお、前述のとおり、商品の収集に要する作業時間は、商品の種類や数に関わらず、一律の時間となっている。
【0037】
生成部151により生成された各ロボットの移動経路は、作業時間を加味しなければ、移動経路全体での移動時間をできるだけ短くできていることが期待できるが、作業時間を加味すると、移動経路全体での移動時間をできるだけ短くできていることが期待できない。このため、作業時間を加味した場合であっても、移動経路全体での巡回時間(移動時間+作業時間)をできるだけ短くするため、以下の処理を行う。
【0038】
判定部155は、算出部153により算出された複数の巡回時間のうちの最長の巡回時間よりも短くなるように、複数の移動経路を変更できるか否かを判定する。
【0039】
具体的には、判定部155は、最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、他の移動体により巡回されるよう移動経路を変更することで、最長の巡回時間よりも短くなるように複数の移動経路を変更できるか否かを判定する。
【0040】
詳細には、判定部155は、巡回時間の増加量が最も少なくなるように、最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが他の移動体により巡回されるよう移動経路を変更することで、最長の巡回時間よりも短くなるように複数の移動経路を変更できるか否かを判定する。
【0041】
例えば、
図6に示す例の場合、ロボット2の移動経路が最長の巡回時間となる。このため、判定部155は、巡回時間の増加量が最も少なくなるように、ロボット2が収集する商品B〜商品Eのいずれかが、ロボット1又は2に収集されるよう移動経路を変更することで、最長の巡回時間(変更前のロボット2の移動経路の巡回時間)よりも短くなるように、ロボット1〜ロボット3の移動経路を変更できるか否かを判定する。
【0042】
この場合、移動経路の変更パターンは、
図7に示す5パターン、
図8に示す5パターン、
図9に示す5パターン、及び
図10に示す5パターンの合計20パターンとなる。
【0043】
図7に示す5パターンは、商品Bを商品Aの収集前にロボット1に収集させるパターン、商品Bを商品Aの収集後にロボット1に収集させるパターン、商品Bを商品Fの収集前にロボット3に収集させるパターン、商品Bを商品Fの収集後であって商品Gの収集前にロボット3に収集させるパターン、商品Bを商品Gの収集後にロボット3に収集させるパターンである。
【0044】
図8に示す5パターンは、商品Cを商品Aの収集前にロボット1に収集させるパターン、商品Cを商品Aの収集後にロボット1に収集させるパターン、商品Cを商品Fの収集前にロボット3に収集させるパターン、商品Cを商品Fの収集後であって商品Gの収集前にロボット3に収集させるパターン、商品Cを商品Gの収集後にロボット3に収集させるパターンである。
【0045】
図9に示す5パターンは、商品Dを商品Aの収集前にロボット1に収集させるパターン、商品Dを商品Aの収集後にロボット1に収集させるパターン、商品Dを商品Fの収集前にロボット3に収集させるパターン、商品Dを商品Fの収集後であって商品Gの収集前にロボット3に収集させるパターン、商品Dを商品Gの収集後にロボット3に収集させるパターンである。
【0046】
図10に示す5パターンは、商品Eを商品Aの収集前にロボット1に収集させるパターン、商品Eを商品Aの収集後にロボット1に収集させるパターン、商品Eを商品Fの収集前にロボット3に収集させるパターン、商品Eを商品Fの収集後であって商品Gの収集前にロボット3に収集させるパターン、商品Eを商品Gの収集後にロボット3に収集させるパターンである。
【0047】
ここで、判定部155は、上述の変更パターンで移動経路が変更されるロボットの移動経路の巡回時間(最小移動量)を、前述したダイクストラー法やA*スター法などを用いて算出することで、巡回時間の増加量が最も少なくなる移動経路の変更パターンを探索する。
【0048】
図11は、最長の巡回時間よりも短くなるように各ロボットの移動経路の巡回時間を変更できる場合の一例を示す図であり、
図6に示す例において、巡回時間の増加量が最も少なくなる移動経路の変更パターンが、商品Dを商品Fの収集後であって商品Gの収集前にロボット3に収集させる変更パターンである場合を示している。
図11に示す例では、上述のようにロボット2、3の移動経路が変更される場合、ロボット1〜3のいずれの移動経路の巡回時間も変更前の最長の巡回時間よりも短くなっており、判定部155は、最長の巡回時間よりも短くなったと判定できる。なお、
図11において太枠で囲んだ移動時間は、移動経路の変更に伴い変更した移動時間を示している。
【0049】
図12は、最長の巡回時間よりも短くなるように各ロボットの移動経路の巡回時間を変更できない場合の一例を示す図であり、
図6に示す例において、巡回時間の増加量が最も少なくなる移動経路の変更パターンが、商品Dを商品Fの収集後であって商品Gの収集前にロボット3に収集させる変更パターンである場合を示している。
図12に示す例では、上述のようにロボット2、3の移動経路が変更される場合、ロボット3の移動経路の巡回時間が変更前の最長の巡回時間よりも長くなっており、判定部155は、最長の巡回時間よりも短くなったと判定できない。なお、
図12においても、太枠で囲んだ移動時間は、移動経路の変更に伴い変更した移動時間を示している。
【0050】
変更部157は、判定部155により最長の巡回時間よりも短くなるように複数の移動経路を変更できると判定された場合、当該最長の巡回時間よりも短くなるように複数の移動経路を変更する。具体的には、変更部157は、判定部155により最長の巡回時間よりも短くなるように複数のロボットの移動経路を変更できると判定された変更パターンに、複数の移動経路を変更する。
【0051】
また、判定部155により、巡回時間の増加量が最も少なくなるように、最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、他の移動体により巡回されるよう移動経路を変更することで、最長の巡回時間よりも短くなるように複数の移動経路を変更できないと判定されたとする。この場合、変更部157は、最長の巡回時間及び最短の巡回時間のいずれでもない巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、最短の巡回時間となる移動経路上を移動する移動体により巡回されるように複数の移動経路を変更する。
【0052】
例えば、
図13に示す例の場合、ロボット3の移動経路が最長の巡回時間であるが、巡回時間の増加量が最も少なくなるように、ロボット3により収集される商品F、D、Gのいずれかをロボット1又は2により収集されるよう移動経路を変更しても、最長の巡回時間よりも短くなるように各ロボットの移動経路を変更できないとする。
【0053】
具体的には、ロボット3の巡回時間(最長の巡回時間)とロボット2の巡回時間との差は、作業時間よりも短いため、ロボット3により収集される商品F、D、Gのいずれかをロボット2により収集されるよう移動経路を変更すると、変更後のロボット2の移動経路の巡回時間は、ロボット3の巡回時間(最長の巡回時間)よりも長くなってしまう。また、ロボット3の巡回時間(最長の巡回時間)とロボット1の巡回時間との差は、作業時間よりも長いが、巡回時間の増加量が最も少なくなるように、ロボット3により収集される商品F、D、Gのいずれかをロボット1により収集されるよう移動経路を変更しても、変更後のロボット1の移動経路の巡回時間は、ロボット3の巡回時間(最長の巡回時間)よりも長くなってしまうものとする。
【0054】
この場合、変更部157は、
図14に示すように、最長の巡回時間及び最短の巡回時間のいずれでもない巡回時間となる移動経路上を移動するロボット2により収集される商品B、C、Eのいずれかが、最短の巡回時間となる移動経路上を移動するロボット1により巡回されるように各ロボットの移動経路を変更する。ここでは、変更部157は、
図15に示すように、ロボット2により収集される商品Eが、最短の巡回時間となる移動経路上を移動するロボット1により巡回されるように各ロボットの移動経路を変更したとする。
【0055】
このようにすると、ロボット3の巡回時間(最長の巡回時間)とロボット2の巡回時間との差は、作業時間よりも短くなり、ロボット3により収集される商品F、D、Gのいずれかをロボット2により収集されるよう移動経路を変更すると、各ロボットの移動経路の巡回時間を最長の巡回時間よりも短くできる可能性がある。
【0056】
判定部155は、変更部157により複数の移動経路が変更された場合、変更後の複数の移動経路において、巡回時間の増加量が最も少なくなるように、最長の巡回時間となる移動経路上を移動する移動体により巡回される1以上の地点のいずれかが、他の移動体により巡回されるよう移動経路を変更することで、最長の巡回時間よりも短くなるように複数の移動経路を変更できるか否かを再判定する。
【0057】
なお判定部155は、最長の巡回時間よりも短くなるように複数の移動経路を変更できない場合、複数の移動経路を決定(確定)する。具体的には、判定部155は、最長の巡回時間と最短の巡回時間との差が作業時間以下である場合、最長の巡回時間よりも短くなるように複数の移動経路を変更できないと判定し、複数の移動経路を決定する。
【0058】
送信部159は、判定部155により各移動体の移動経路が決定されると、移動体毎に、当該移動体に対応付けられた出力装置30に当該移動体の移動経路を示す移動経路情報を送信する。
【0059】
各出力装置30は、情報処理装置10から送信された移動経路情報が示す移動経路を出力する。
【0060】
図16は、本実施形態の情報処理システム1で行われる移動経路決定処理の一例を示すフローチャートである。
【0061】
まず、生成部151は、移動路上に存在する複数の商品を複数のロボットで巡回して収集するための、当該各ロボットの移動経路(但し、商品の収集作業に伴う作業時間は考慮しない)を生成する(ステップS101)。
【0062】
続いて、算出部153は、移動経路毎に、当該移動経路を移動するロボットの移動に要する移動時間(移動経路のスタート地点からゴール地点までの移動に要する時間)と、当該移動経路上で商品が配置された1以上の地点それぞれにおいて、当該商品の収集に要する作業時間と、を合算した巡回時間を算出する(ステップS103)。
【0063】
続いて、判定部155は、算出部153により算出された複数の巡回時間のうちの最長の巡回時間と最短の巡回時間との差が、作業時間以下であるか否かを判定する(ステップS105)。
【0064】
最長の巡回時間と最短の巡回時間との差が作業時間以下である場合(ステップS105でYes)、判定部155は、最長の巡回時間よりも短くなるように各ロボットの移動経路を変更できないため、各ロボットの移動経路を決定(確定)し、移動経路決定処理終了となる。
【0065】
一方、最長の巡回時間と最短の巡回時間との差が作業時間以下でない場合(ステップS105でNo)、判定部155は、最長の巡回時間となる移動経路上を移動するロボットにより収集される1以上の商品のいずれかを他のロボットにより収集されるようにした場合に、商品の収集が追加される移動経路における巡回時間の増加量が最も少なくい変更パターンを探索する(ステップS107)。
【0066】
続いて、判定部155は、探索した変更パターンに変更した場合、各ロボットの移動経路の巡回時間を、変更前の最長の巡回時間よりも短くできるか否かを判定する(ステップS109)。
【0067】
各ロボットの移動経路の巡回時間を変更前の最長の巡回時間よりも短くできる場合(ステップS109でYes)、判定部155により探索された変更パターンに複数の移動経路を変更し(ステップS111)、ステップS105へ戻る。
【0068】
一方、各ロボットの移動経路の巡回時間を変更前の最長の巡回時間よりも短くできない場合(ステップS109でNo)、変更部157は、最長の巡回時間及び最短の巡回時間のいずれでもない巡回時間となる移動経路上を移動するロボットにより収集される1以上の商品のいずれかが、最短の巡回時間となる移動経路上を移動するロボットにより収集されるように複数の移動経路を変更する(ステップS111)。
【0069】
続いて、作業計画の更新(ステップS111の変更)がなければ(ステップS115でYes)、判定部155は、最長の巡回時間よりも短くなるように各ロボットの移動経路を変更できないため、各ロボットの移動経路を決定(確定)し、移動経路決定処理終了となる。
【0070】
一方、作業計画の更新(ステップS111の変更)があれば(ステップS115でNo)、ステップS107へ戻る。
【0071】
以上のように本実施形態によれば、複数の移動体の移動経路の生成後に、移動経路での作業時間を加味される場合であっても、移動経路全体での巡回時間(移動時間+作業時間)をできるだけ短くすることができる。特に本実施形態に依れば、探索的な手法(例えば、遺伝的アルゴリズム)を用いないため、探索的な手法に比べ大幅に計算量を削減することができ、移動経路全体での巡回時間(移動時間+作業時間)を決定するために要する時間を抑えつつ、移動体全体での移動経路を好適化することができる。
【0072】
(変形例)
上記実施形態では、商品の収集に要する作業時間が一律である場合を例に取り説明したが、商品の種類や数に応じて異ならせるようにしてもよい。この場合、
図16に示すフローチャートのステップS105において、判定部155は、算出部153により算出された複数の巡回時間のうちの最長の巡回時間と最短の巡回時間との差が、最短の作業時間以下であるか否かを判定するようにすればよい。
【0073】
また上記実施形態では、倉庫内でのカートを用いて商品を(ピッキング)収集したり、カートを用いて商品を格納する場合を例に取り説明した。
【0074】
但し、これに限定されず、コミュニティバスによる人間の送迎などにも応用できる。この場合、移動体はコミュニティバスとなり、移動路上に存在する複数の地点は、人間がいる場所や人間を送る場所となり、移動路は道路となる。
【0075】
また、物資の救援や救護搬送などの災害対応計画などにも応用できる。この場合、移動体は自動車となり、移動路上に存在する複数の地点は、被災者、物資、病院、及び避難所がある場所となり、移動路は道路となる。
【0076】
また、集荷や配達などの宅配などにも応用できる。この場合、移動体はトラックとなり、移動路上に存在する複数の地点は、宅配物がある場所や居所などとなり、移動路は道路となる。
【0077】
また、営業マンの巡回などにも応用できる。この場合、移動体は自動車となり、移動路上に存在する複数の地点は、営業マンがいる場所や訪問先などとなり、移動路は道路となる。
【0078】
また、移動体を自動車とする場合、出力装置30をカーナビゲーションやプロジェクタとしてもよい。出力装置30がプロジェクタの場合、移動経路を自動車のフロントガラスに投影するなどの態様が考えられる。
【0079】
(プログラム)
上記実施形態及び各変形例の情報処理装置10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【0080】
また、上記実施形態及び各変形例の情報処理装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態及び各変形例の情報処理装置10で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態及び各変形例の情報処理装置10で実行されるプログラムを、ROM等に予め組み込んで提供するようにしてもよい。
【0081】
上記実施形態及び各変形例の情報処理装置10で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、CPUがROMからプログラムをRAM上に読み出して実行することにより、上記各機能部がコンピュータ上で実現されるようになっている。
【0082】
なお、上記実施形態及び各変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。