(57)【要約】【課題】互いにケーブルで接続された二つの移動体及びケーブルが進入禁止領域に接触することなく目標位置に到達できる移動経路を探索する経路探索装置を提供する。【解決手段】経路探索装置は、第１移動体と、第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定する経路探索装置であって、第１移動体の初期位置と、第１移動体を到達させる目標位置との入力を受け付けるとともに、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも第１移動体と第２移動体とを接続する紐状の物体に基づいて定まる第１移動体と第２移動体との間の距離情報を含む移動体情報の入力を受け付ける受付部と、第１移動体と、紐状の物体と、第２移動体とのいずれもが進入禁止領域に接触することなく、初期位置から目標位置に至るまでの移動経路を、地図情報と移動体情報とに基づいて、探索する探索部とを備える。【選択図】図１
2019035661.tif 000002
【特許請求の範囲】
【請求項１】
第１移動体と、前記第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定する経路探索装置であって、
前記第１移動体の初期位置と、前記第１移動体を到達させる目標位置と、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも前記第１移動体と前記第２移動体とを接続する前記紐状の物体に基づいて定まる前記第１移動体と前記第２移動体との間の距離情報を含む移動体情報と、の入力を受け付ける受付部と、
前記第１移動体と、前記紐状の物体と、前記第２移動体とのいずれもが前記進入禁止領域に接触することなく、前記初期位置から前記目標位置に至るまでの移動経路を、前記地図情報と前記移動体情報とに基づいて、探索する探索部とを備える経路探索装置。
【請求項２】
前記探索部は、前記第１移動体が前記初期位置から、前記進入禁止領域を避けて、前記目標位置に至るための第１経路候補を探索し、
前記第１経路候補を探索した後に、前記経路候補で示される経路から、前記第１移動体と前記第２移動体間の最長となる距離の範囲内を通過し、前記進入禁止領域を避けて前記第２移動体が前記目標位置に到達できる第２経路候補を探索する
ことを特徴とする請求項１に記載の経路探索装置。
【請求項３】
前記探索部は、前記第１経路候補で示される各位置における前記第１移動体と、前記第２移動体とを結ぶ前記紐状の物体が前記進入禁止領域に重複しないように、前記第２経路候補を探索することを特徴とする請求項２に記載の経路探索装置。
【請求項４】
前記探索部は、前記所定範囲内を所定の領域に区切り、前記第１経路候補で示される経路上であって、前記所定の領域各々に前記第１移動体が位置するとし、前記第２経路候補で示される経路上であって、前記所定の領域各々に前記第２移動体が位置するとし、前記第１移動体の各位置と前記第２移動体の各位置とを直線で結んだ領域に前記進入禁止領域が位置するか否かに基づいて、前記第２経路候補を探索することを特徴とする請求項３に記載の経路探索装置。
【請求項５】
前記所定の領域は、前記第１移動体または前記第２移動体の少なくともいずれか一方が含まれる広さを有することを特徴とする請求項４に記載の経路探索装置。
【請求項６】
前記所定の領域は、前記第１移動体又は前記第２移動体よりも狭い広さを有し、
前記経路探索装置は、前記第１移動体又は前記第２移動体の各向きに応じて含まれる所定の領域の範囲を示す範囲情報を記憶する記憶部を備え、
前記探索部は、前記範囲情報に基づいて前記第１経路候補及び前記第２経路候補を探索することを特徴とする請求項４に記載の経路探索装置。
【請求項７】
前記探索部は、前記移動体情報として、前記紐状の物体が、前記第１移動体に対して取り得る角度を示す角度情報を取得し、前記角度情報に基づいて、前記第２移動体の経路を探索することを特徴とする請求項４に記載の経路探索装置。
【請求項８】
第１移動体と、前記第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定する経路探索装置であって、
前記第１移動体の初期位置と、前記第１移動体を到達させる目標位置と、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも前記第１移動体と前記第２移動体とを接続する前記紐状の物体に基づいて定まる前記第１移動体と前記第２移動体との間の距離情報を含む移動体情報と、の入力を受け付ける受付ステップと、
前記第１移動体と、前記紐状の物体と、前記第２移動体とのいずれもが前記進入禁止領域に接触することなく、前記初期位置から前記目標位置に至るまでの移動経路を、前記地図情報と前記移動体情報とに基づいて、探索する探索ステップとを含む経路探索方法。
【請求項９】
第１移動体と、前記第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定させる経路探索プログラムであって、
コンピュータに、
前記第１移動体の初期位置と、前記第１移動体を到達させる目標位置と、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも前記第１移動体と前記第２移動体とを接続する前記紐状の物体に基づいて定まる前記第１移動体と前記第２移動体との間の距離情報を含む移動体情報と、の入力を受け付ける受付機能と、
前記第１移動体と、前記紐状の物体と、前記第２移動体とのいずれもが前記進入禁止領域に接触することなく、前記初期位置から前記目標位置に至るまでの移動経路を、前記地図情報と前記移動体情報とに基づいて、探索する探索機能とを実現させる経路探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の経路を探索する経路探索装置、経路探索方法及び経路探索プログラムに関する。
【背景技術】
【０００２】
近年、各種の自律移動型ロボットの開発が目覚しい。これらのロボットとしては、例えば、災害時の人が立ち入れない場所へ進入して情報を獲得する災害救助ロボットの他、身近な例としては自動掃除ロボットなどがある。これらの自律移動型ロボットにおいては、その移動経路の探索が重要となる。ロボットの移動経路を探索する技術としては、特許文献１や、特許文献２に開示されるものがある。
【０００３】
特許文献１には、ロボット単体で、進入禁止エリアを回避しながら、任意の初期位置から目的位置までの最短経路を移動する技術が開示されている。また、特許文献２には、先行する移動体が無線で後発の移動体に走行軌跡データを送信し、後発の移動体は、受信した走行軌跡データに基づいて自機の移動経路を決定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２２７８０７号公報
【特許文献２】特解２００４−１８４２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、そのような移動体としては、２つの移動体が互いにケーブル等により連結された移動体も考えられる。例えば、一方の移動体から他方の移動体に駆動用の電力を供給している場合などである。このような移動体の場合、上記特許文献１や上記特許文献２に記載の経路探索方法では、適切な経路を探索できない可能性があるという問題がある。２つの移動体を接続するケーブルが進入禁止エリアに進入してしまう可能性があるためである。
【０００６】
そこで、本発明は上記問題に鑑みてなされたものであり、ケーブルなどの紐状の物体で互いに接続された２つの移動体からなる移動体であっても、進入禁止エリアに進入することがない経路を探索できる経路探索装置、経路探索方法、及び経路探査プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一態様に係る経路探索装置は、第１移動体と、第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定する経路探索装置であって、第１移動体の初期位置と、第１移動体を到達させる目標位置と、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも第１移動体と第２移動体とを接続する紐状の物体に基づいて定まる第１移動体と第２移動体との間の距離情報を含む移動体情報と、の入力を受け付ける受付部と、第１移動体と、紐状の物体と、第２移動体とのいずれもが進入禁止領域に接触することなく、初期位置から目標位置に至るまでの移動経路を、地図情報と移動体情報とに基づいて、探索する探索部とを備える。
【０００８】
また、本発明の一態様に係る経路探索方法は、第１移動体と、第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定する経路探索装置であって、第１移動体の初期位置と、第１移動体を到達させる目標位置と、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも第１移動体と第２移動体とを接続する紐状の物体に基づいて定まる第１移動体と第２移動体との間の距離情報を含む移動体情報と、の入力を受け付ける受付ステップと、第１移動体と、紐状の物体と、第２移動体とのいずれもが進入禁止領域に接触することなく、初期位置から目標位置に至るまでの移動経路を、地図情報と移動体情報とに基づいて、探索する探索ステップとを含む。
【０００９】
また、本発明の一態様に係る経路探索プログラムは、第１移動体と、第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定させる経路探索プログラムであって、コンピュータに、第１移動体の初期位置と、第１移動体を到達させる目標位置と、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも第１移動体と第２移動体とを接続する紐状の物体に基づいて定まる第１移動体と第２移動体との間の距離情報を含む移動体情報と、の入力を受け付ける受付機能と、第１移動体と、紐状の物体と、第２移動体とのいずれもが進入禁止領域に接触することなく、初期位置から目標位置に至るまでの移動経路を、地図情報と移動体情報とに基づいて、探索する探索機能とを実現させる。
【００１０】
また、上記経路探索装置において、探索部は、第１移動体が初期位置から、進入禁止領域を避けて、目標位置に至るための第１経路候補を探索し、第１経路候補を探索した後に、経路候補で示される経路から、第１移動体と第２移動体間の最長となる距離の範囲内を通過し、進入禁止領域を避けて第２移動体が目標位置に到達できる第２経路候補を探索することとしてもよい。
【００１１】
また、上記経路探索装置において、探索部は、第１経路候補で示される各位置における第１移動体と、第２移動体とを結ぶ紐状の物体が進入禁止領域に重複しないように、第２経路候補を探索することとしてもよい。
【００１２】
また、上記経路探索装置において、探索部は、所定範囲内を所定の領域に区切り、第１経路候補で示される経路上であって、所定の領域各々に第１移動体が位置するとし、第２経路候補で示される経路上であって、所定の領域各々に第２移動体が位置するとし、第１移動体の各位置と第２移動体の各位置とを直線で結んだ領域に進入禁止領域が位置するか否かに基づいて、第２経路候補を探索することとしてもよい。
【００１３】
また、上記経路探索装置において、所定の領域は、第１移動体または第２移動体の少なくともいずれか一方が含まれる広さを有することとしてもよい。
【００１４】
また、上記経路探索装置において、所定の領域は、第１移動体又は第２移動体よりも狭い広さを有し、経路探索装置は、第１移動体又は第２移動体の各向きに応じて含まれる所定の領域の範囲を示す範囲情報を記憶する記憶部を備え、索部は、範囲情報に基づいて第１経路候補及び第２経路候補を探索することとしてもよい。
【００１５】
また、上記経路探索装置において、取得部は、移動体情報として、紐状の物体が、第１移動体に対して取り得る角度を示す角度情報を取得し、探索部は、角度情報に基づいて、第２移動体の経路を探索することを特徴とすることとしてもよい。
【発明の効果】
【００１６】
本発明の一態様に係る経路探索装置は、第１移動体と第２移動体とが紐状の物体で接続されて成る移動体の移動経路であって、第１移動体、第２移動体、紐状の物体のいずれもが進入禁止領域に進入することがない移動経路を探索することができる。
【図面の簡単な説明】
【００１７】
【図１】経路探索装置の構成例を示すブロック図である。
【図２】移動体が移動するマップの例を示す平面図である。
【図３】（ａ）〜（ｃ）は、移動体の態様例を示す模式図である。
【図４】経路探索装置による経路探索の処理を示すフローチャートである。
【図５】経路探索装置による移動体の経路探索の詳細処理を示すフローチャートである。
【図６】経路探索における第２移動体の移動可能範囲と移動体間の距離を模式的に示す図である。
【図７】（ａ）は、第２移動体の移動例であって、ケーブルが進入禁止領域に進入してしまう例を示すマップの模式図である。（ｂ）は、第２移動体の移動例であって、ケーブルが進入禁止領域に進入しない例を示すマップの模式図である。
【図８】（ａ）、（ｂ）は、第２移動体がどのように進行してもケーブルが進入禁止領域に進入してしまう場合の経路探索例を示すマップの模式図である。
【図９】（ａ）、（ｂ）は、第２移動体が第１移動体との間で所定の距離を保ったまま移動できない場合の経路探索例を示すマップの模式図である。
【図１０】（ａ）、（ｂ）は、実施形態２に係る移動体のマップに対する写像の例を示す図である。
【図１１】実施形態２において、経路探索装置が保持する移動体の各角度に対する移動可能領域を示すマップ情報の模式図である。
【図１２】ケーブルの接続位置に関する情報の模式図である。
【図１３】（ａ）、（ｂ）は、ケーブルの稼働領域を示す模式図である。
【図１４】経路探索装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施態様に係る経路探索装置について、図面を参照しながら詳細に説明する。
【００１９】
＜実施形態１＞
＜構成＞
本発明に係る経路探索装置１００は、図１に示すように、受付部１１０と、探索部１３１として機能する制御部１３０とを備える。また、経路探索装置１００は、記憶部１２０と、出力部１４０とを含んでよい。図１は、経路探索装置１００の機能構成例を示すブロック図である。
【００２０】
経路探索装置１００は、図２及び図３に示すように、第１移動体１ａと、第１移動体１ａと紐状の物体１ｂで結線された第２移動体１ｃとから成る移動体１の移動経路を決定するものである。図２は、移動体１が移動する所定範囲２００を模式的に示す平面図である。
【００２１】
受付部１１０は、第１移動体１ａの初期位置（図２の例で言えば、（Ｋ、１５）で示される座標）と、第１移動体１ａを到達させる目標位置（図２の例で言えば、（Ｈ、０５）で示される座標）との入力を受け付けるとともに、進入禁止領域２１０の位置に関する情報を含む所定範囲２００内の地図情報と、少なくとも第１移動体１ａと第２移動体１ｃとを接続する紐状の物体１ｂに基づいて定まる第１移動体と第２移動体との間の距離情報を含む移動体情報の入力を受け付けるものである。ここで、地図情報とは、移動体が移動可能な領域を示す情報のことであり、例えば、移動する地形の情報であったり、移動不可能な場所（進入禁止領域）を示す情報であったりしてよい。また、移動体情報は、少なくとも第１移動体と第２移動体との間で取り得る距離に関する情報を含む。また、移動体情報は、移動体の形状や、紐状の物体が接続されている場所や、移動体の移動可能な方向を示す移動特性の情報などを含んでもよい。
【００２２】
探索部１３１は、第１移動体１ａと、紐状の物体１ｂと、第２移動体１ｃとのいずれもが進入禁止領域２１０に接触することなく、初期位置から目標位置に至るまでの第１移動体１ａ及び第２移動体１ｃの移動経路を、地図情報と移動体情報とに基づいて、探索するものである。なお、図２において、点線矢印が探索した移動体１ａの移動経路の例であり、一点鎖線矢印が探索した移動体１ｃの移動経路の例である。以下、詳細に説明する。
【００２３】
本実施形態においては、マップは、図２に示すように一例として格子状のグリッド（所定の領域）に分けられ、探索部１３１は、当該グリッドを移動体が移動する態様における移動経路を探索するものとする。図２に示すように、各グリッドは、１つの移動体が入るだけの広さを有するグリッドとし、探索部１３１は、グリッドから他のグリッドへと移動する移動経路を探索するものであり、その移動の座標を決定するものである。即ち、図２のマップ２００に示すグリッドを移動の一単位とする。
【００２４】
図３（ａ）〜（ｃ）は、移動体１を模式的に示す図である。図３（ａ）に示すように、移動体１は、主となって移動する第１移動体１ａと、従となって移動する第２移動体１ｃとから成り、第１移動体１ａと、第２移動体１ｃとは、紐状の物体１ｂで互いに接続される。ここで、第１移動体１ａ及び第２移動体１ｃは、各移動体内に備えられた駆動装置により移動可能な装置であり、例えば、車両（あるいは車両型のロボット）であってもよいし、歩行型のロボットなどであってもよい。各移動体の詳細な構造については説明を省略するが、経路が確定した場合にその経路に沿って自律移動可能な移動体である。なお、ここでは、移動体間を、紐状の物体で接続することとしているが、これは、固形の物体（例えば、プラスチック）で接続されることとしてもよく、この場合に、当該物体は、移動体との間で回動自在に接続するとよい。また、紐状の物体は、帯状の物体を含んでもよい。即ち、紐状の物体として幅広の物体であってもよく、布製などであってもよいし、フレキシブル基板などであってもよい。なお、紐状の物体で接続した方が、移動体としての自由度が高いと言える。
【００２５】
また、紐状の物体１ｂは、第１移動体１ａと第２移動体１ｃとを接続できていればどのようなものであってもよいが、ここでは、電源ケーブルであるとする。紐状の物体１ｂは、そのほか、移動体間の通信を実行するための通信線であってもよい。以下、紐状の物体１ｂをケーブル１ｂと記載する。
【００２６】
図３（ｂ）は、第１移動体１ａと、第２移動体１ｃとの間の距離が最短となる状態を模式的に示している。このときの第１移動体１ａと第２移動体１ｃとの間の距離をＬｍｉｎとする。また、図３（ｃ）は、第１移動体１ａと、第２移動体１ｃとの間の距離が最長となる状態、即ち、ケーブル１ｂに緩みがない状態を示している。このときの第１移動体１ａと第２移動体１ｃとの間の距離をＬｍａｘとする。移動探索装置１００は、移動体１ａと移動体１ｃとの間の距離がＬｍｉｎからＬｍａｘの間の距離となるように移動経路を探索する。即ち、この場合、第１移動体１ａと第２移動体１ｃとの間の許容距離情報は、ＬｍｉｎからＬｍａｘの間を示すことになる。なお、第１移動体１ａと第２移動体１ｃとの間の距離を一定として移動経路を探索する場合には、例えば、Ｌｍａｘを、第１移動体１ａと第２移動体１ｃとの間の距離として経路を探索すればよい。
【００２７】
図２に戻って、受付部１１０は、各種の情報の入力を受け付ける機能を有する。受付部１１０は、各種の情報の入力を受け付けることができれば、どのような態様によって実現されてもよく、例えば、経路探索装置１００に備えられたハードキーあるいはソフトキー等を用いて、経路探索装置１００のオペレータにより手入力での入力であってもよいし、通信により、経路探索装置１００が接続されているネットワークを介して、各種の情報の入力を受け付けることとしてもよい。受付部１１０は、受け付けた情報を制御部１３０に伝達する。
【００２８】
記憶部１２０は、経路探索装置１００が経路を探索する経路探索処理を実行する上で必要とする各種データ、プログラムを記憶する機能を有する。各種データや、プログラムは、予め記憶しておいてもよいし、適宜追加して記憶することとしてもよい。記憶部１２０は、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなど各種の記録媒体により実現することができる。記憶部１２０は、経路探索処理のための探索プログラムを記憶している。また、記憶部１２０は、移動体が移動する所定範囲２００を示す地図情報を記憶することができる。当該地図情報は、移動体が進入できない進入禁止領域２１０の位置を示す情報を含んでもよい。また、記憶部１２０は、移動体に関する情報（移動体の大きさ、形状、移動特性、ケーブル１ｂの長さなど）も記憶することができる。
【００２９】
制御部１３０は、経路探索装置１００の各部を制御する機能を有する。制御部１３０は、例えば、プロセッサにより実現することができる。制御部１３０は、記憶部１２０に記憶している探索プログラムを読み出して実行することにより、探索部１３１としての機能を実現する。探索部１３１による経路探索処理の手順の詳細については、後述する。また、制御部１３０は、経路探索処理の結果得られた移動経路に関する情報を出力部１４０に出力させる。
【００３０】
出力部１４０は、制御部１３０からの指示に従って、移動体１の移動経路に関する情報を出力する機能を有する。移動経路に関する情報は、どのような態様であってもよく、例えば、移動経路を地図情報に示した画像情報であってもよいし、移動経路を音声により案内する音声情報であってもよいし、移動体１にその移動経路を移動させる移動プログラムそのものあるいは当該移動プログラムに対して入力される設定値（例えば、マップ上で移動する座標値）であってもよい。したがって、出力部１４０は、例えば、画像を表示するモニター、音声を出力するスピーカ、移動体１に経路を移動する移動プログラムを通信により出力する通信インターフェース等により実現することができる。
【００３１】
以上が、経路探索装置１００の構成の説明である。なお、上述のようなケーブル接続された二つの移動体からなる移動体は、例えば、災害時などにおいて、第１移動体１ａに先行偵察をさせ、第２移動体１ｃに追随させるといった用途に用いることができる。当該構成の移動体によれば、第１移動体１ａが何らかの事故に見舞われた場合などにおいても第２移動体の側でリカバーできる可能性がある。例えば、第１移動体１ａが何らかの隙間に滑落しそうになっても、第２移動体でその滑落を防止したり、滑落した第１移動体１ａを引き上げたりといった運用をすることもできる。また、第２移動体から第１移動体１ａにケーブル１ｂを介して第２移動体１ｃの駆動電力を供給する構成とした場合、第１移動体１ａが故障して動けなくなったとしても、少なくとも第２移動体１ｃが無事に帰還する可能性を向上させることができる。
【００３２】
＜動作＞
ここから、経路探索装置１００の動作について説明する。図４は、経路探索装置１００において、経路探索処理のメインフローチャートであり、図５は、経路探索処理の詳細処理を示すサブフローチャートである。
【００３３】
（ステップＳ４０１）
ステップＳ４０１において、経路探索装置１００の受付部１１０は、移動体１が移動する所定範囲２００の地図情報の入力を受け付ける。当該地図情報は、移動範囲の地形等の情報を含み、移動体１が移動できない領域を示す進入禁止領域２１０の位置を示す情報を含む。受付部１１０は、受け付けた地図情報を制御部１３０に伝達する。制御部１３０は、受け付けた地図情報を記憶部１２０に記憶し、ステップＳ４０２の処理に移行する。
【００３４】
（ステップＳ４０２）
ステップＳ４０２において、受付部１１０は、移動体１に関する情報として、第１移動体１ａと、第２移動体１ｃとの間で許容される距離を示す許容距離情報の入力を受け付ける。許容距離情報は、およそ、ケーブル１ｂの長さを示す情報であってもよい。受付部１１０は、受け付けた許容距離情報を制御部１３０に伝達する。制御部１３０は、受け付けた許容距離情報を記憶部１２０に記憶し、ステップＳ４０３の処理に移行する。
【００３５】
（ステップＳ４０３）
ステップＳ４０３において、受付部１１０は、移動体１に関する情報として、移動体１の形状や移動特性等の入力を受け付ける。受付部１１０は、受け付けた移動体１に関する情報を制御部１３０に伝達する。制御部１３０は、受け付けた移動体１に関する情報を記憶部１２０に記憶し、ステップＳ４０４の処理に移行する。
【００３６】
（ステップＳ４０４）
ステップＳ４０４において、受付部１１０は、移動体１の初期位置情報の入力を受け付ける。初期位置情報は、ステップＳ４０１において受け付けた地図情報における移動体１ａと移動体１ｃとのそれぞれの初期位置の情報を含む。受付部１１０は、受け付けた初期位置情報を制御部１３０に伝達する。制御部１３０は、受け付けた初期位置情報を記憶部１２０に記憶し、ステップＳ４０５の処理に移行する。
【００３７】
（ステップＳ４０５）
ステップＳ４０５において、受付部１１０は、移動体１の目標位置情報の入力を受け付ける。目標位置情報は、ステップＳ４０１において受け付けた地図情報における移動体１ａとの目標配置位置の情報を含み、移動体１ｃの目標配置位置の情報も含んでもよい。受付部１１０は、受け付けた目標位置情報を制御部１３０に伝達する。制御部１３０は、受け付けた目標位置情報を記憶部１２０に記憶し、ステップＳ４０６の処理に移行する。
【００３８】
（ステップＳ４０６）
ステップＳ４０６において、探索部１３１は、記憶部１２０に記憶されている探索プログラムを実行し、ステップＳ４０１〜Ｓ４０５にかけて記憶部１２０に記憶した各種データを用いて、経路探索処理を実行する。探索部１３１は、第１移動体１ａと、第２移動体１ｃと、ケーブル１ｂとが進入禁止領域２１０を通過せず（進入しない、接触しない）に、初期位置から目標位置に至る経路の探索を行う。当該処理の更なる詳細については後述する。経路探索処理を行った後に、ステップＳ４０７の処理に移行する。
【００３９】
（ステップＳ４０７）
ステップＳ４０７において、制御部１３０は、探索部１３１が探索した経路を出力部１４０に出力するように指示する。出力部１４０は、当該指示に従って、探索した経路に関する情報を出力して、処理を終了する。
【００４０】
以上が、経路探索装置１００による経路探索の大まかな流れである。次に、図４のフローチャートにおけるステップＳ４０６の処理における詳細を説明する。本処理は、第１移動体１ａの移動経路を定めつつ、第２移動体１ｃの移動経路を定めるための処理である。言い換えれば、図５の処理は、仮の第１移動体１ａの移動経路を定め、それに併せた第２移動体１ｃの移動経路を定め、第２移動体１ｃの移動経路を定めることができなかった場合に、第１移動体１ａの移動経路を修正しながら、両移動体の移動経路を決定する処理であるとも言える。
【００４１】
（ステップＳ５０１）
ステップＳ５０１において、探索部１３１は、第１移動体１ａの移動経路（Ｍ０〜Ｍｎ）を探索する。ここで、Ｍiは、マップ上において第１移動体１ａの移動経路が通過する座標を示す。探索部１３１は、記憶部１２０に記憶されているマップ情報と、当該地図において設定されている進入禁止領域２１０の位置と、第１移動体１ａの初期位置並びに目標位置とに基づいて、第１移動体１ａの移動経路を探索する。探索部１３１は、第１移動体１ａの移動経路を、例えば、ダイクストラ法、Ａスター法など既知のアルゴリズムや、上記特許文献１に示す手法を用いて探索することができる。探索部１３１は、第１移動体１ａの移動経路を探索すると、ステップＳ５０２の処理に移行する。
【００４２】
（ステップＳ５０２）
ステップＳ５０２において、探索部１３１は、処理対象の変数ｉを０に設定する。当該変数は、第２移動体１ｂの位置を定める座標の移動順序を示す変数である。探索部１３１は、変数ｉを０に設定すると、ステップＳ５０３の処理に移行する。
【００４３】
（ステップＳ５０３）
ステップＳ５０３において、探索部１３１は、第１移動体１ａのｉ＋１番目の位置（Ｍｉ＋１）と、第２移動体１ｃのｉ番目の位置（Ｓｉ）と、を連結し、ケーブル１ｂを表現する。即ち、Ｍｉ＋１とＳｉと結ぶ直線上がマップ上においてケーブル１ｂの存在する位置として特定する。探索部１３１は、ケーブル１ｂの位置を特定すると、ステップＳ５０４の処理に移行する。
【００４４】
（ステップＳ５０４）
ステップＳ５０４において、探索部１３１は、特定したケーブル１ｂの位置のいずれかが、進入禁止領域２１０と重複するか否かを判定する。当該判定は、記憶部１２０に記憶されている進入禁止領域２１０の座標と、ケーブル１ｂとの座標とを比較することで行う。探索部１３１は、ケーブル１ｂの位置のいずれかが進入禁止領域２１０と重複すると判定した場合に（ＹＥＳ）、ステップＳ５０９の処理に移行し、重複しないと判定した場合に（ＮＯ）、ステップＳ５０５の処理に移行する。
【００４５】
（ステップＳ５０５）
ステップＳ５０５において、探索部１３１は、第１と第２の距離条件を満たすか否かを判定する。第１の距離条件とは、第１移動体１ａと第２移動体１ｃとの間の距離がＬｍａｘ以下であることであり、第２の距離条件とは、第１移動体１ａと第２移動体１ｃとの間の距離がＬｍｉｎ以上であることである。第１と第２の距離条件を満たすと判定した場合には、探索部１３１は、ステップＳ５０６の処理に移行し、満たさないと判定した場合には、ステップＳ５０９の処理に移行する。
【００４６】
（ステップＳ５０６）
ステップＳ５０６において、探索部１３１は、ｉをインクリメントし、ステップＳ５０７の処理に移行する。
【００４７】
（ステップＳ５０７）
ステップＳ５０７において、ｉがｎになっているか否かを判定する。ｎは、第１移動体１ａの移動経路上の全グリッドの個数であり、移動する際に経由した座標の総数を示す。ｉがｎになっている場合には（ＹＥＳ）、処理を終了し、ｉがｎになっていない場合には（ＮＯ）、探索部１３１は、ステップＳ５０８の処理に移行する。
【００４８】
（ステップＳ５０８）
ステップＳ５０８において、探索部１３１は、Ｓｉ＋１を次のＳｉとし、ステップＳ５０３の処理に戻る。
【００４９】
（ステップＳ５０９）
ステップＳ５０９において、探索部１３１は、第２移動体１ｃの移動経路（Ｓｉ〜Ｓｉ−ｇｏａｌ）を探索する。具体的には、探索部１３１は、Ｍｉの許容距離情報と、Ｍｉ＋１の許容距離情報の重複グリッドのみを使用して経路探索を行う。即ち、探索部１３１は、第１移動体１ａのｉ番目の位置から、第２移動体１ｃが存在することが許されるグリッドと、第１移動体１ａのｉ＋１番目の位置から、第２移動体１ｃが存在することが許されるグリッドとの重複位置を使用して経路探索を行う。その後に、探索部１３１は、ステップＳ５１０の処理に移行する。
【００５０】
（ステップＳ５１０）
ステップＳ５１０において、探索部１３１は、第２移動体１ｃが移動可能な経路があったか否かを判定する。移動可能な経路があった場合には（ＹＥＳ）、探索部１３１は、ステップＳ５１１の処理に移行し、なかった場合には（ＮＯ）、探索部１３１は、バリケード設置処理に移行する。バリケード設置処理は、マップ上において移動体及びケーブルが進入不可能な進入禁止領域を探索部１３１が新たに設ける処理のことをいう。バリケード設置処理の詳細については後述する。
【００５１】
（ステップＳ５１１）
ステップＳ５１１において、探索部１３１は、第１移動体１ａのｉ番目の位置（Ｍｉ）と、第２移動体１ｃのｉ＋１番目の位置（Ｓｉ−ｇｏａｌ）と、を連結し、ケーブル１ｂを表現する。即ち、ＭｉとＳｉ−ｇｏａｌと結ぶ直線上がマップ上においてケーブル１ｂの存在する位置として特定する。探索部１３１は、ケーブル１ｂの位置を特定すると、ステップＳ５１２の処理に移行する。
【００５２】
（ステップＳ５１２）
ステップＳ５１２において、探索部１３１は、特定したケーブル１ｂの位置のいずれかが、進入禁止領域２１０と重複するか否かを判定する。当該判定は、記憶部１２０に記憶されている進入禁止領域２１０の座標と、ケーブル１ｂとの座標とを比較することで行う。探索部１３１は、ケーブル１ｂの位置のいずれかが進入禁止領域２１０と重複すると判定した場合に（ＹＥＳ）、ステップＳ５０９の処理に戻り、重複しないと判定した場合に（ＮＯ）、ステップＳ５０６の処理に移行する。
【００５３】
以上が、経路探索装置１００による経路探索処理の説明である。当該処理により、経路探索装置１００は、第１移動体１ａ、第２移動体１ｃ、ケーブル１ｂのいずれもが進入禁止領域２１０に接触することなく、第１移動体１ａが目標位置に到達できる経路を探索することができる。
【００５４】
＜移動の具体例＞
ここから、いくつかの具体例を用いて、第２移動体１ｃの移動先の決定方法について説明する。
【００５５】
図６は、探索部１３１が、第２移動体１ｃの移動先のグリッドを特定する方法を説明する図であり、ステップＳ５０３の処理の具体例を示す図である。図６においては、ある時点での移動体１ａと、移動体１ｃとの位置関係をマップ２００上に示した状態を示している。図６に示すように、第１移動体１ａがグリッド（Ｍ、１０）に存在し、グリッド（Ｍ、０９）に移動する場合、そこから、許容距離情報で示される距離だけ離れて、第２移動体１ｃが存在可能なグリッドが決定される。図６においては、第１移動体１ａがグリッド（Ｍ、１０）に存在する場合に、右斜線模様、格子模様、斜格子模様でハッチングしたグリッドが、第２移動体１ｃが存在可能なグリッド（（Ｈ、１１）、（Ｈ、１２）、（Ｉ、１１）、（Ｉ、１２）、（Ｉ、１３）、（Ｊ、１２）、（Ｊ、１３）、（Ｊ、１４）、（Ｋ、０５）、（Ｋ、１３）、（Ｋ、１４）、（Ｋ、１５）、（Ｌ、０５）、（Ｌ、１４）、（Ｌ、１５）、（Ｍ、０４）、（Ｍ、０５）、（Ｍ、０６）、（Ｍ、１４）、（Ｍ、１５）、（Ｍ、１６）、（Ｎ、０５）、（Ｎ、０６）、（Ｎ、１４）、（Ｎ、１５）、（Ｏ、０５）、（Ｏ、０６）、（Ｏ、０７）、（Ｏ、１３）、（Ｏ、１４）、（Ｏ、１５））であることを示している。また、第１移動体１ａがグリッド（Ｍ、０９）に移動する場合、即ち、第１移動体１ａ´に示すようにグリッド（Ｍ、０９）に存在する場合に、第２移動体１ｃが存在可能なグリッドは、図６においては、格子模様、斜格子模様、縦縞模様でハッチングしたグリッドに存在可能となる。即ち、第２移動体１ｃは、グリッド（（Ｉ、１１）、（Ｊ、０５）、（Ｊ、１１）、（Ｊ、１２）、（Ｊ、１３）、（Ｋ、０４）、（Ｋ、０５）、（Ｋ、１２）、（Ｋ、１３）、（Ｌ、０４）、（Ｌ、０５）、（Ｌ、１３）、（Ｌ、１４）、（Ｍ、０３）、（Ｍ、０４）、（Ｍ、０５）、（Ｍ、１３）、（Ｍ、１４）、（Ｍ、１５）、（Ｎ、０４）、（Ｎ、０５）、（Ｎ、１３）、（Ｎ、１４）、（Ｏ、０４）、（Ｏ、０５）、（Ｏ、０６）、（Ｏ、１２）、（Ｏ、１３）、（Ｏ、１４））に存在可能であることを示している。
【００５６】
図６において、格子模様及び斜格子模様でハッチングしたグリッドは、第１移動体１ａがグリッド（Ｍ、０９）及び（Ｍ、１０）のいずれに位置したとしても存在可能なグリッドを示している。そして、図６に示すように、第２移動体１ｃがグリッド（Ｊ、１３）に存在する場合に、実質的に当該グリッドに隣接するグリッドに進行可能であるため、探索部１３１は、斜格子模様でハッチングしたグリッド（Ｊ、１２）と（Ｋ、１３）が第２移動体１ｃが移動可能なグリッドとして特定することとなる。このようにして、探索部１３１は、第２移動体１ｃの移動経路の探索を行う。
【００５７】
次に、これらの移動可能なグリッドのうち、移動先として決定する処理（ステップＳ５０４からＳ５０７の処理）について具体例を用いて説明する。
【００５８】
図７（ａ）、（ｂ）は、探索部１３１が、第２移動体１ｃの移動先のグリッドとして特定したグリッドの内、移動先として決定しない場合と、決定する場合の具体例を示している。探索部１３１は、第２移動体１ｃの移動先の候補として特定したグリッドの内、基本的に、第１移動体１ａとの間の距離が短くなるグリッドを優先的に移動先の候補として特定する。
【００５９】
図７（ａ）は、第２移動体１ｃの移動先として用いない例を示している。ここでは、探索部１３１は、図７（ａ）の斜格子線でハッチングした２つのグリッド（（Ｊ、１２）、（Ｋ、１３））を、第２移動体１ｃの移動先の候補として特定したものとする。
【００６０】
図７（ａ）に示すように、探索部１３１は、第２移動体１ｃの移動先の候補として、グリッド（Ｊ、１２）を選択したとする。すると、探索部１３１は、第１移動体１ａの位置（Ｍｉ＝（Ｍ、１０））と、第２移動体１ｃの移動先の候補位置（Ｓｉ−ｇｏａｌ＝（Ｊ、１２））とを結ぶ。そして、探索部１３１は、当該結線をケーブル１ｂと見做して、ケーブル１ｂが進入禁止領域２１０と重複するかを判定する。図７（ａ）の場合、探索部１３１は、ケーブル１ｂは、グリッド（（Ｋ、１１）、（Ｋ、１２）、（Ｌ、１０）、（Ｌ、１１））を通過していると判定する。この場合、グリッド（Ｌ、１０）は、進入禁止領域２１０に重複するので、探索部１３１は、グリッド（Ｌ、１０）は第２移動体１ｃの移動先として不適格である（ステップＳ５０５のＹＥＳを参照）と判定することになる。
【００６１】
探索部１３１は、第２移動体１ｃがグリッド（Ｊ、１２）に移動できないと判定すると、次に、第２移動体１ｃがグリッド（Ｋ、１３）に移動可能か否かを判定する。即ち、第１移動体１ａの位置（Ｍｉ＝（Ｍ、１０））と、第２移動体１ｃの移動先の候補位置（Ｓｉ−ｇｏａｌ＝（Ｋ、１３））とを結ぶ。そして、探索部１３１は、当該結線をケーブル１ｂと見做して、ケーブル１ｂが進入禁止領域２１０と重複するかを判定する。図７（ｂ）の場合、探索部１３１は、ケーブル１ｂは、グリッド（（Ｋ、１２）、（Ｌ、１１）、（Ｌ、１２）、（Ｍ、１１）を通過していると判定する。この場合、いずれのグリッドも進入禁止領域２１０と重複しないので、探索部１３１は、グリッド（Ｋ、１３）を第２移動体１ｃの移動先のグリッドとして決定する。このようにして、探索部１３１は、第２移動体１ｃの移動先を一つ一つ順番に決定することで第２移動体１ｃの移動経路を探索する。
【００６２】
次に、図８を用いて、ステップＳ５０９〜Ｓ５１１の処理について説明する。仮に、図８（ａ）に示すように、第２移動体１ｃが、移動先のどの候補においても、第１移動体１ａと結線して得られる仮想のケーブル１ｂの位置が、進入禁止領域２１０と判定した場合、移動経路の選択の状態を一つ手前に戻して、第２移動体１ｃの現在位置から、もう一度、第２移動体１ｃを移動させる。図８（ａ）の例で言えば、第１移動体１ａがグリッド（Ｍ、１０）に存在するとき、第２移動体１ｃは、グリッド（Ｋ、１３）に移動したとしても、ケーブル１ｂは、進入禁止領域２１０には、重複（接触）しない。しかし、第２移動体１ｃが、グリッド（Ｋ、１３）に存在するときには、第１移動体１ａは、次の移動先であるグリッド（Ｍ、０９）に移動したとすると、ケーブル１ｂ´は、進入禁止領域２１０に重複することになる。このような場合には、探索部１３１は、今一度、第２移動体１ｃを移動させて経路を探索する処理を行う。したがって、当該処理は、第２移動体１ｃを２回以上連続で移動させることと同義である。即ち、探索部１３１は、第２移動体１ｃが存在するグリッド（Ｋ、１３）から、更に次の移動先を探索する。グリッド（Ｌ、１４）に移動した第２移動体１ｃ´と第１移動体１ａとを結ぶケーブル１ｂは、進入禁止領域２１０と重複しない。この場合、探索部１３１は、図８（ｂ）に示すように、第２移動体１ｃの次の移動先を探索し、グリッド（Ｌ、１４）を移動先の一つとして仮決めする。そして、第２移動体１ｃ´がグリッド（Ｌ、１４）に存在するときに、第１移動体１ａが次の移動先であるグリッド（Ｍ、０９）に移動しても、ケーブル１ｂ´は進入禁止領域２１０と重複しない。したがって、図８の例でいえば、探索部１３１は、移動体１の移動経路として、第１移動体１ａが、グリッド（Ｍ、１０）に存在するとき、（ｉ）第２移動体１ｃが、グリッド（Ｊ、１３）から（Ｋ、１３）に移動し、（ｉｉ）第２移動体１ｃが、グリッド（Ｋ、１３）から（Ｌ、１４）に移動し、（ｉｉｉ）第１移動体１ａが、グリッド（Ｍ、１０）から（Ｍ、０９）に移動するという移動経路を探索する。
【００６３】
経路探索装置１００の探索部１３１は、第１移動体１ａが１つ分移動した後に、第２移動体１ｃを１つ分移動させる移動先を決定し、また、第１移動体１ａを１つ分移動させた後に、第２移動体１ｃを１つ分移動させる移動先を決定するという繰り返し処理により、第２移動体１ｃの経路を探索している。この過程において、第１移動体１ａが移動した場合であってケーブルが進入禁止領域２１０と重複したときには、第２移動体１ｃを再度移動させる（言い換えれば、第１移動体１ａが同じ場所に存在する状態で、第２移動体１ｃを２回以上移動させる）ことによって、第２移動体１ｃがいずれの移動先にも移動できない場合の補てん処理とすることができる。よって、当該構成により、経路探索装置１００が、経路を探索できない可能性を低減することができる。
【００６４】
なお、図５のフローチャートの処理において、第２移動体１ｃが、第１移動体１ａとの間で許容距離情報で示される距離を保ったまま移動できない可能性がある（ステップＳ５１０のＮＯ参照）。そのような場合において探索部１３１が経路探索を行うために実行するバリケード設置処理についてここで説明する。
【００６５】
例えば、図９（ａ）に示すような狭い通路を通過する上で第１移動体１ａの位置において、第２移動体１ｃは、矢印で示される方向（グリッド（Ｏ、０８）の図面斜め上方向）に移動したいところ、そこは、第２移動体１ｃの移動範囲外であるため、移動することができないものとする。
【００６６】
このような場合に、元から設定されている進入禁止領域２１０とは、別に第１移動体１ａが進入できない進入禁止領域をバリケード８００として設定して、第１移動体１ａの移動経路を改めて探索しなおしたうえで、第２移動体１ｃの移動経路を探索することとしてもよい。なお、このバリケード８００を設定したグリッドは、ケーブル１ｂや第２移動体１ｃは通過できるものとする。探索部１３１は、バリケード８００を設置する設置例としては、第１移動体１ａと第２移動体１ｃとが共に移動できない状態に陥ったときに、その時点で第１移動体１ａが次に位置する箇所に設置（現在の位置Ｍｎである場合には、Ｍｎ＋１に置く）して、第１移動体１ａの移動経路の再算出を行うようにする。このとき、探索部１３１は、バリケード８００を設置した後の経路探索においても経路を探索できなかった場合には、更にバリケード８００を追加して設置するようにする。バリケード８００は、移動体は通過できない追加の進入禁止領域として扱われるが、バリケード８００は、ケーブルの位置が重複することを許すグリッドとして設定される。
【００６７】
即ち、図９（ａ）に示すように、第１移動体１ａは、矢印で示されるように、右から左方向へ移動する予定であったが、この経路を移動する場合、第２移動体１ｃが途中で移動できなくなる。そこで、図９（ｂ）に示すように、第１移動体１ａが通過できない領域として、新たにバリケード８００をマップ情報として追加する。これによって、探索部１３１は、改めて図９（ｂ）に示すように第１移動体１ａがバリケード８００を迂回する経路を探索する。そして、第１移動体１ａが第２移動体１ｃからみて一歩奥まで移動したことにより、第２移動体１ｃもグリッド（Ｏ、０７）に移動することが可能になる。
【００６８】
なお、バリケード８００の設定は、第１移動体１ａ及び第２移動体１ｃが目的位置に到達できるようになるまで、順に１グリッド分ずつ設定すればよい。即ち、バリケードを設置し、再度経路を探索し、それでも目的地に到達できないようであれば、再度バリケードを設置し、というようにして、目的地に到達できるようになるめでバリケードの設置と経路の探索を繰り返せばよい。また、当該設定は、経路探索装置１００のオペレータにより成されるものであってもよいし、経路探索装置１００の制御部１３０が第１移動体１ａ、第２移動体１ｃの双方が移動できなくなったと判定した場合に、第１移動体１ａ、第２移動体１ｃのいずれもが移動できなくなったことをトリガとして、第１移動体１ａの経路上に設けることとしてもよい。
【００６９】
＜実施形態２＞
上記実施形態１においては、移動体が１つのグリッド内に収まるように調整されている場合の経路探索の例を示したが、移動体が１つのグリッド内に収まるように調整できるとは限らない。本実施形態２においては、移動体が１つのグリッド内に収まらない場合の経路の探索処理について説明する。
【００７０】
図１０は、移動体が１つのグリッド内に収まらない場合に移動体を、マップ上においてどのように定義するかを示す図である。図１０（ａ）は移動体の基本形を横向きにした状態であるとして、そこから、１／８Πラジアンだけ回転させた状態を示している。また、図１０（ｂ）は、移動体の基本形から１／４Πラジアンだけ回転させた状態を示している。
【００７１】
実施形態２においては、経路探索装置１００は、各角度において、移動体の各頂点を位置を特定し、その頂点同士を結び、結んで得られる形状の内部が、移動体のマップ上の占有領域として特定する。即ち、図１０（ａ）や、図１０（ｂ）において、黒塗りのマスで移動体の外形を示しているが、その内部が、移動体の占有領域ということになり、探索部１３１は、この形状に基づいて、移動体が移動可能な領域を特定したうえで、経路探索を行う。
【００７２】
本実施形態２においては、図１０における回転中心を移動体の中心とし、移動経路の探索においても当該中心を利用して探索する。即ち、移動体全体ではなく、移動体の中心の移動経路を探索することで、移動体の経路の探索に置換する。
【００７３】
図１１は、本実施形態２における態様で移動経路を探索する場合に、記憶部１２０に記憶されることになる移動体の向きと、その際の移動可能領域とを対応付けた移動体情報１１００のデータ構成例を示すデータ概念図である。図１１に示すように、移動体情報１１００は、移動体の向き１１０１と、移動形状１１０２と、移動可能領域１１０３とが対応付けられた情報である。
【００７４】
移動体の向き１１０１は、移動体の基本位置からの向きの角度を示す情報である。図１１においては、８つの角度の例を示しているが、これは８つに限るものではない。回転の分解能は２の乗数であることが望ましく、多ければ多いほど高精度の経路探索を提供することができるようになる。
【００７５】
移動体形状１１０２は、対応する移動体の向き１１０１における移動体の形状を示す情報であり、グリッドの占有領域と、その際の移動体の経路の探索に用いる移動体中心の位置（図中の丸印）を示す情報である。
【００７６】
移動可能領域１１０３は、対応する移動体の形状１１０２をとるときに、移動体の中心が移動可能な範囲を示す情報である。ここでは、マップ２００に対して移動可能な領域を左車線の領域で示している。斜格子線のハッチング部分は、進入禁止領域を示しており、移動体中心が、移動体の外枠からある程度の距離があることにより、進入禁止領域の見た目の領域が拡張された形になる。図１１の移動可能領域１１０３においては、左斜線でハッチングした領域が移動体の回転中心の移動可能領域を示し、斜格子模様でハッチングした領域が進入禁止領域を示している。また、白抜き部分は、移動体の回転中心が移動不可能な領域を示しており、黒塗り部分は、移動体が進入できない周囲の領域（例えば壁）を示している。
【００７７】
本実施形態２において、探索部１３１による移動経路の探索方法は、基本的に実施形態１と同様ではあるものの、移動可能領域１１０３を層状に重ねた地図を用いた３次元探索とすることで、向き形状を考慮した経路探索を実施する。
【００７８】
実施形態２に係る態様によれば、グリッドを実施形態１と比して細かくすることによって、より細やかな移動経路の探索を行うことができる。一方、実施形態１の態様の場合、実施形態２に比べてより簡単な処理で移動経路の探索を行うことができるので、実施形態２よりも経路探索装置１００の処理負荷を少なくすることができる。
【００７９】
＜まとめ＞
上記実施形態に係る経路探索装置は、ケーブルなどの紐状の物体で接続された２つ以上の移動体の移動経路であって、紐状の物体が進入禁止領域に接触することがない移動経路を探索することができる。したがって、紐状の物体が電源ケーブルであった場合に、進入禁止領域に接触することでケーブルが断線したりなどして、電源の供給を受けている移動体が移動できなくなるといった事態を防ぐことができる。また、紐状の物体が通信ケーブルであった場合に、進入禁止領域に接触することでケーブルが断線したりなどして、移動体同士の通信ができなくなって、移動体の制御が困難になるといった事態も防ぐことができる。
【００８０】
＜補足＞
上記実施形態に係る経路探索装置は、上記実施形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【００８１】
（１）上記実施形態においては、特に述べていないが、経路探索装置１００は、移動体に搭載されることとしてもよいし、移動体外の装置であるとしてもよい。
【００８２】
（２）上記実施形態において、グリッドは、正方形であるとしているが、これはその限りではない。グリッドは、その他の形状であってもよく、例えば、六角形などであってもよい。他の形状の場合であっても、上記実施形態と同様に、第１移動体１ａの移動経路を探索した後に、第２移動体１ｃの移動経路の候補を策定し、その候補に位置した場合にケーブル１ｂが進入禁止領域２１０に重複するか否かを判定して、経路の探索を行う手法に変わりはない。
【００８３】
また、グリッドによる移動制御ではなく、マップ上における座標系での制御を行ってもよい。この場合、探索部１３１は、第１移動体１ａの座標と、第２移動体１ｃの座標とから、ケーブル１ｂをマップ状における関数として特定し、当該関数が、進入禁止領域２１０と交わるか否かに基づいて、ケーブル１ｂが進入禁止領域２１０と重複するかを判定することとしてもよい。
【００８４】
このように、経路探索装置１００は、どのような表現のマップにおいても、第１移動体１ａ、第２移動体１ｃ、ケーブル１ｂのいずれもが進入禁止領域２１０と接触することがない経路の探索を臨機応変に行うことができる。
【００８５】
（３）上記実施形態１において、移動体（第１移動体、第２移動体）は、８方向のグリッドに進行可能なものとして説明したが、移動体は、８方向のグリッドに対して進行可能になっているとは限らない。そこで、経路探索装置１００は、ステップＳ４０３において受け付ける移動体の情報として、移動体の進行方向に関する情報を受け付けることとしてもよく、探索部１３１は、その進行方向に基づいて、移動体の経路探索を行うこととしてもよい。
【００８６】
例えば、移動体が、前後左右にのみ進行可能であれば、探索部１３１は、進行可能なグリッドを、移動体の向きに対して前後左右のグリッドに絞って経路を探索する。また、あるいは、移動体がその場での回転と前方への進行のみが可能となっていれば、探索部１３１は、移動体の回動制御と、進行制御とを組み合わせて経路を探索する。
【００８７】
このように、経路探索装置１００は、様々な移動体の移動特性に応じても、移動体の移動特性の入力を受け付ける（あるいは、予め記憶しておく）ことで、経路の探索を臨機応変に策定することができる。
【００８８】
（４）上記実施形態１においては、探索部１３１は、ケーブル１ｂが各移動体の中心に結線されているものとして、ケーブル１ｂが進入禁止領域２１０に接触しない移動体の移動経路を探索することとした。しかし、ケーブル１ｂが必ずしも各移動体の中心に結線されているとは限らない。その場合には、上記実施形態２に示す手法を用いれば、より厳密にケーブル１ｂと進入禁止領域２１０との重複の判定を行うことができる。
【００８９】
図１２を用いて具体的に説明する。図１２は、上記実施形態２において説明したように移動体の向きが設定されている状態であって、ケーブル１ｂの接続位置が移動体の中心ではない場合に、経路探索装置１００の記憶部１２０に記憶されることになる移動体情報である。図１２に示す例では、移動体の中心を丸印で、ケーブル１ｂの接続位置を三角印で示している。この情報を記憶部１２０が保持することにより、上記実施形態２においては、移動体中心に基づいて移動経路を探索することとしたが、それに加えて、その移動体中心に対して、ケーブル１ｂの接続位置が、どこにあるかを図１２に示す表を用いることで特定することができる。そして、探索部１３１は、特定したケーブル１ｂの接続位置同士を接続することで、ケーブル１ｂが仮想的にどのグリッドを通過するのかをより正確に特定することができる。
【００９０】
したがって、本補足の構成を用いれば、探索部１３１は、ケーブル１ｂの接続位置が移動体の中央でない場合にも対応することができる。
【００９１】
（５）上記実施形態において、ケーブル１ｂは、第１移動体１ａから見て全周囲への取り回しができるものとして説明した。即ち、図１３（ａ）に示すように、第１移動体１ａを中心に、そこから許容距離情報で示される距離だけ離れたグリッド位置が、第２移動体１ｃが存在可能な領域（図１３（ａ）の右斜線でハッチングしたグリッドを参照）として特定した。
【００９２】
しかし、ケーブル１ｂが、移動体１ａから見て全周囲での取り回しが可能とは限らない。例えば、図１３（ｂ）に示すように、ケーブル１ｂが、移動体１ａの進行方向に対して後方の所定角度の範囲内でのみの取り回しが可能な場合も有り得る。このような場合、探索部１３１は、第２移動体１ｃの存在可能なグリッドとして、図１３（ｂ）の右斜線でハッチングしたグリッドに限定して、第２移動体１ｃの移動可能なグリッドを特定する。当該特定にあたって、探索部１３１は、移動体に関する情報として、ケーブル１ｂの第１移動体１ａに対して取り回しが可能な角度の情報を受け付けることによって、対応することができる。
【００９３】
このように、ケーブル１ｂの可動範囲が制限されている場合であっても、探索部１３１ｂは、第２移動体１ｃの移動経路の探索を行うことができる。
【００９４】
（６）上記実施形態においては、２つの移動体が互いにケーブル１ｂを介して接続されている例を説明した。しかし、移動体１を形成する移動体は２つに限定されるものではない。移動体１は、例えば、第１移動体１ａ、第２移動体１ｃ、第３移動体１ｅ（図示せず）の三つの移動体から構成され、第１移動体１ａと第２移動体１ｃは、ケーブル１ｂで接続され、第２移動体１ｃと第２移動体１ｅは、ケーブル１ｄで接続される態様で構成されてもよい。この場合、第１移動体１ａ、第２移動体１ｃの経路については、上記実施形態に示したものと同様に移動経路を探索し、第３移動体１ｅの経路については、第２移動体１ｃを上記実施形態における第１移動体と見做し、第３移動体１ｅを上記実施形態における第２移動体と見做して、移動経路の探索を行えばよい。
【００９５】
このように、経路探索装置１００は、何台の移動体がケーブルで連接されていたとしても、各移動体、各ケーブルが、進入禁止領域２１０に接触することなく、目標位置に到達できる移動経路を探索することができる。
【００９６】
（７）上記実施形態においては、経路探索装置がケーブルなどの紐状の物体で接続された２つの移動体が、進入禁止領域に進入することなく目標位置までの経路を探索する経路探索装置１００を構成する各機能部として機能するプロセッサが探索プログラム等を実行することにより、経路を探索することとしているが、これは装置に集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１または複数の集積回路により実現されてよく、上記実施形態に示した複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。すなわち、図１１に示すように、経路探索装置１００を構成する各機能部は、物理的な回路により実現されてもよい。図１４に示すように、経路探索装置１００は、受付回路１１０ａと、記憶回路１２０ａと、制御回路１３０ａ（探索回路１３１ａ）と、出力回路１４０ａとを備え、各回路は、上述の同名の機能部と同様の機能を有する。
【００９７】
また、上記探索プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記探索プログラムは、当該探索プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記プロセッサに供給されてもよい。本発明は、上記探索プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００９８】
なお、上記探索プログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【００９９】
（８）上記実施形態及び各補足に示した構成は、適宜組み合わせることとしてもよい。
【符号の説明】
【０１００】
１  移動体
１ａ  第１移動体
１ｂ  紐状の物体（ケーブル）
１ｃ  第２移動体
１００  経路探索装置
１１０  受付部
１２０  記憶部
１３０  制御部
１３１  探索部
１４０  出力部
【図１】
2019035661.tif 000003
【図２】
2019035661.tif 000004
【図３】
2019035661.tif 000005
【図４】
2019035661.tif 000006
【図５】
2019035661.tif 000007
【図６】
2019035661.tif 000008
【図７】
2019035661.tif 000009
【図８】
2019035661.tif 000010
【図９】
2019035661.tif 000011
【図１０】
2019035661.tif 000012
【図１１】
2019035661.tif 000013
【図１２】
2019035661.tif 000014
【図１３】
2019035661.tif 000015
【図１４】
2019035661.tif 000016
【手続補正書】
【提出日】平成29年8月21日(2017.8.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
【特許文献１】特開２０１１−２２７８０７号公報
【特許文献２】特開２００４−１８４２６９号公報
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
第１移動体と、前記第１移動体と紐状の物体で結線された第２移動体とから成る移動体の移動経路を決定する経路探索方法であって、
前記第１移動体の初期位置と、前記第１移動体を到達させる目標位置と、進入禁止領域の位置に関する情報を含む所定範囲内の地図情報と、少なくとも前記第１移動体と前記第２移動体とを接続する前記紐状の物体に基づいて定まる前記第１移動体と前記第２移動体との間の距離情報を含む移動体情報と、の入力を受け付ける受付ステップと、
前記第１移動体と、前記紐状の物体と、前記第２移動体とのいずれもが前記進入禁止領域に接触することなく、前記初期位置から前記目標位置に至るまでの移動経路を、前記地図情報と前記移動体情報とに基づいて、探索する探索ステップとを含む経路探索方法。