(57)【特許請求の範囲】
【請求項１】
走行経路情報を記憶する地図部と、
周囲に存在する物体が追従すべき移動体であるか否かを認識する知能部と、を有する移動体であって、
前記知能部は、前記物体が前記追従すべき移動体であり、かつ、前記追従すべき移動体が前記走行経路情報の示す走行経路上に存在しない場合、前記移動体の所定の位置と前記追従すべき移動体との間の距離を半径とし、前記所定の位置を中心とした円弧と前記走行経路との交点である２点のうち、前記追従すべき移動体に近い交点を一時的な目的地に設定することを特徴とする移動体。
【請求項２】
前記知能部は、前記物体が障害物であり、前記走行経路情報が示す前記走行経路上に前記障害物が存在すると判定した場合、前記障害物と前記走行経路の交点を前記一時的な目的地に設定することを特徴とする請求項１に記載の移動体。
【請求項３】
前記知能部は、前記物体が障害物であり、かつ、前記走行経路情報が示す走行経路上に前記障害物が存在しないと判定した場合、前記知能部は前記障害物の回避動作を行うと判定することを特徴とする、請求項１に記載の移動体。
【請求項４】
前記物体を検知するセンサをさらに備えることを特徴とする請求項１〜３の何れか１項に記載の移動体。
【請求項５】
前記センサは、前記追従すべき移動体の背面に備えられた認識マーカーを検知し、
前記知能部は、前記センサが検知した前記認識マーカーに基づいて前記追従すべき移動体を認識することを特徴とする、請求項４に記載の移動体。
【請求項６】
前記センサは、前記物体の形状を検知し、
前記知能部は、前記センサが検知した前記物体の形状に基づいて前記追従すべき移動体を認識する請求項４に記載の移動体。
【請求項７】
前記追従すべき移動体の自己位置の情報を受信する通信部をさらに有し、
前記知能部は、前記通信部が受信した前記自己位置の情報に基づいて前記追従すべき移動体を認識する請求項１〜４の何れか１項に記載の移動体。
【請求項８】
走行経路情報を記憶する地図部と、
周囲に存在する物体が追従すべき移動体であるか否かを認識する知能部と、を有し、
前記知能部は、前記物体が前記追従すべき移動体であり、かつ、前記追従すべき移動体が前記走行経路情報の示す走行経路上に存在しない場合、前記追従すべき移動体の位置から前記走行経路に引いた垂線と、前記走行経路との交点を一時的な目的地に設定することを特徴とする移動体。
【請求項９】
移動体の制御方法であって、
周囲に存在する物体が追従すべき移動体であるか否かを認識するステップと、
前記物体が前記追従すべき移動体であり、かつ、前記追従すべき移動体が走行経路情報の示す走行経路上に存在しない場合、前記移動体の所定の位置と前記追従すべき移動体との間の距離を半径とし、前記所定の位置を中心とした円弧と前記走行経路との交点である２点のうち、前記追従すべき移動体に近い交点を一時的な目的地に設定するステップと、を含む移動体の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体および移動体の制御方法に関するものである。具体的には、同一の軌道上を複数台の移動体が走行する際に、編隊走行を行う移動体およびこれらの移動体の制御方法に関するものである。
【背景技術】
【０００２】
従来、移動ロボットの編隊走行の技術として、移動ロボットの前部に備え付けられた測域センサを用いて、追従するべき対象（人、移動ロボット等）を検出し、その対象に追従しながら走行する移動ロボットの技術が一般的に知られている。【０００３】
しかし、この技術では、追従するべき対象以外の、別の対象が移動ロボットの周辺環境に存在する場合、移動ロボットは、追従するべき対象とこれとは別の対象とを区別することが困難である。【０００４】
例えば、追従すべき移動ロボットの周辺に複数の人間が存在する場合、追従すべき移動ロボットと人間とを誤って認識してしまう。そして、追従すべき移動ロボットを途中で見失い、途中から人間を追従するべき対象として認識してしまう場合がある。【０００５】
このような問題に対処する技術として、各移動体に予め走行経路を記憶させ、それぞれの移動体が同速度で自律移動することで、各移動体に同一軌道を編隊走行させる制御手法も知られている（例えば、特許文献１参照）。【０００６】
上記同一軌道上を編隊走行するためには、編隊を構成している各移動体が、自身の現在の位置を正確に認識しながら、予め指定された軌道上を自律的に移動する必要がある。【０００７】
自律移動ロボットの自己位置認識技術として、事前に記憶した地図上のランドマークの位置と、測域センサから得られたランドマークの位置を照合する方法が知られている。【０００８】
図１６は特許文献１において複数の移動体が同一軌道上を編隊走行する場合のイメージを示す図である。追従される移動ロボット２０と、追従する移動ロボット５０は、それぞれ測域センサ４０を備える。【０００９】
これらの移動ロボット２０，５０は環境地図を記憶しており、既知の環境を走行している。追従される移動ロボット２０は予め指定された経路を、測域センサ４０を用いて自己位置を認識しながら、指定された速度で自律移動する。追従する移動ロボット５０も、予め指定された経路を、測域センサ４０を用いて自己位置を認識しながら、指定された速度で自律移動する。【００１０】
この時、両移動ロボット２０，５０は同じ速度で走行するため、一定の距離を確保してから追従する移動ロボット５０が動作を開始すれば、これらの移動ロボット２０，５０は、一定の距離を確保しつつ、同一軌道上を編隊走行することができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１１−１６９０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら従来の技術では、追従される移動ロボット２０が走行経路上に存在する障害物の回避動作を行ったり、さらに減速したりした場合、追従される移動ロボット２０が追従する移動ロボット５０に追い抜かれたりして、編隊を崩してしまうという課題がある。【００１３】
本発明は、このような課題を解決するものであり、移動ロボットの走行経路上に障害物が存在する場合でも、複数台の移動ロボットが同一軌道において、編隊走行することが可能な移動体および移動体の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係る移動体は、走行経路情報を記憶する地図部と、周囲に存在する物体が追従すべき移動体であるか否かを認識する知能部と、を有する移動体であって、知能部は、物体が追従すべき移動体であり、かつ、追従すべき移動体が走行経路情報の示す走行経路上に存在しない場合、移動体の所定の位置と追従すべき移動体との間の距離を半径とし、所定の位置を中心とした円弧と走行経路との交点である２点のうち、追従すべき移動体に近い交点を一時的な目的地に設定する。
また、上記目的を達成するために、本発明に係る移動体は、走行経路情報を記憶する地図部と、周囲に存在する物体が追従すべき移動体であるか否かを認識する知能部と、を有し、知能部は、物体が追従すべき移動体であり、かつ、追従すべき移動体が走行経路情報の示す走行経路上に存在しない場合、追従すべき移動体の位置から走行経路に引いた垂線と、走行経路との交点を一時的な目的地に設定する。
【００１５】
また、上記目的を達成するために本発明に係る移動体の制御方法は、周囲に存在する物体が追従すべき移動体であるか否かを認識するステップと、物体が追従すべき移動体であり、かつ、追従すべき移動体が走行経路情報の示す走行経路上に存在しない場合、移動体の所定の位置と追従すべき移動体との間の距離を半径とし、所定の位置を中心とした円弧と走行経路との交点である２点のうち、追従すべき移動体に近い交点を一時的な目的地に設定するステップと、を含む。
【発明の効果】
【００１６】
本発明によれば、自律移動技術を用いて複数の移動ロボットに同一軌道上を編隊走行させた際に、追従される移動ロボットが何らかの影響を受けて減速してしまった場合でも、編列を崩すことなく、編隊走行を継続することができる。
【図面の簡単な説明】
【００１７】
【図１】移動ロボットの一例を示す斜視図
【図２】実施の形態１に係る移動ロボットの制御部の一例を示すブロック図
【図３】地図部に記憶される地図情報が示す地図の一例を示す図
【図４】制御部が実行する自律移動制御処理の一例を示すフローチャート
【図５】移動ロボットの自律移動の一例を示す図
【図６】移動ロボットが編隊走行する際のイメージを示す図
【図７】実施の形態１に係る移動ロボットの局所的目的地算出処理の一例を示すフローチャート
【図８】測域センサがスキャン範囲内において認識マークを検出するイメージを示す図
【図９】測域センサがスキャン範囲内において障害物を検出するイメージを示す図
【図１０】親機である移動ロボットと子機である移動ロボットの走行経路の交点を局所的目的地に設定するイメージを示す図
【図１１】親機である移動ロボットを子機である移動ロボットの走行経路上に射影した点を局所的目的地に設定する一例を示す図
【図１２】親機である移動ロボットを子機である移動ロボットの走行経路上に射影した点を局所的目的地に設定する別の例を示す図
【図１３】親機である移動ロボットを子機である移動ロボットの走行経路上に射影した点を局所的目的地に設定するさらに別の例を示す図
【図１４】ステップＳ２７にて局所的目的地を算出するイメージを示す図
【図１５】移動ロボットの編隊走行時のイメージを示す図
【図１６】特許文献１において複数の移動体が同一の経路上を編隊走行する場合のイメージを示す図
【図１７】実施の形態２に係る移動ロボットの制御部の一例を示すブロック図
【図１８】実施の形態２に係る移動ロボットの局所的目的地算出処理の一例を示すフローチャート
【図１９】測域センサがスキャン範囲内において移動ロボットを検出するイメージを示す図
【図２０】親機である移動ロボットと子機である移動ロボットの走行経路の交点を局所的目的地に設定するイメージを示す図
【図２１】親機である移動ロボットを子機である移動ロボットの走行経路上に射影した点を局所的目的地に設定する一例を示す図
【図２２】親機である移動ロボットを子機である移動ロボットの走行経路上に射影した点を局所的目的地に設定する別の例を示す図
【図２３】親機である移動ロボットを子機である移動ロボットの走行経路上に射影した点を局所的目的地に設定するさらに別の例を示す図
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態１について、図面を参照しながら説明する。なお、同じ構成要素には同じ符号を付している。また、図面は、理解しやすくするためにそれぞれの構成要素を模式的に示している。
【００１９】
まず、本発明の実施の形態１に係る移動ロボットの構成について説明する。図１は、移動ロボット１００の一例を示す斜視図である。移動ロボット１００は、移動ロボット本体３と、移動ロボット本体３の下部後方に設けられた一対の駆動輪１と、移動ロボット本体３の下部前方に設けられた１つの準輪２と、移動ロボット本体３の上部前方に設けられた測域センサ４と、移動ロボット本体３の内部に設けられた制御部５を有している。
【００２０】
また、移動ロボット本体３の背面には、各移動ロボット１００に固有の認識マーカーが取り付けられている。認識マーカーは、当該移動ロボット１００に追従して走行する他の移動ロボット１００の測域センサ４によって認識される。認識マーカーは、測域センサ４と同じ高さに設けられる。
【００２１】
一対の駆動輪１は、準輪２とともに移動ロボット本体３を支持する部材である。一対の駆動輪１は、図１に示すように、矢印ａの方向に回転することによって、移動ロボット１００を矢印ｂの方向（進行方向）に走行させる。また、一対の駆動輪１はそれぞれ、矢印ａの方向及び矢印ａとは逆方向に個別に回転駆動できる。一対の駆動輪１が互いに異なる方向に回転することで、移動ロボット１００は、超信地旋回動作を行うことができる。
【００２２】
準輪２は、上述したように、一対の駆動輪１とともに移動ロボット本体３を支持する部材である。準輪２は、移動ロボット本体３の下部前方において走行面に垂直な軸を中心に回転自在に取り付けられている。
【００２３】
測域センサ４は、測域センサ４のスキャン範囲内にある物体を検出するセンサである。すなわち、測域センサ４は、周囲に存在する物体を検知する。また、測域センサ４は、移動ロボット本体３の背面に取り付けられた認識マーカーを検知する。測域センサ４は、例えば、レーザを利用した測域センサ４である。測域センサ４は、移動ロボット本体３の進行方向最前部に取りつけられている。
【００２４】
図２は、本発明の実施の形態１に係る移動ロボット１００の制御部５の一例を示すブロック図である。制御部５は、地図部６と、目的地設定部７と、センサデータ取得部８と、自己位置推定部９と、知能部１０と、駆動輪制御部１１と、を備える。
【００２５】
地図部６は、移動ロボット１００が移動する空間の地図情報を記憶する記憶部である。図３は、地図部６に記憶される地図情報が示す地図の一例を示す図である。地図情報は、２次元空間情報であってもよいし、３次元空間情報であってもよい。地図部６に記憶される地図情報には、図３に示すように予めいくつかの目的地１５と、その目的地１５を結ぶ走行経路１６が設定されている。すなわち、地図部６は、移動ロボット１００の走行経路情報を記憶する。地図情報に設定された目的地１５には、それぞれ、個別の目的地番号が付与されている。
【００２６】
目的地設定部７は、地図部６に記憶される地図情報の中の特定の位置を移動ロボット１００の移動目的先として登録する処理部である。目的地１５の設定は、各目的地１５に対応して記憶された目的地番号を設定することにより行われる。
【００２７】
センサデータ取得部８は、測域センサ４で計測された計測データを入力する入力部である。センサデータ取得部８で取得された計測データは、自己位置推定部９に送信される。
【００２８】
自己位置推定部９は、地図部６に記憶された地図情報及びセンサデータ取得部８で取得した計測データに基づいて移動ロボット１００の現在位置の座標情報を算出する処理部である。
【００２９】
知能部１０は、地図部６に記憶された地図情報、測域センサ４で計測された計測データ、目的地設定部７で設定された目的地番号、自己位置推定部９で算出された現在位置座標情報などを受信する。知能部１０は、受信したこれらの情報に基づいて、障害物認識や各移動ロボット１００の識別、移動ロボット１００が走行する経路の経路情報の生成などを行う処理部である。
【００３０】
駆動輪制御部１１は、知能部１０が生成した経路情報に基づいて駆動輪１を制御する。駆動輪制御部１１は、例えば、サーボモータを含み、サーボモータによって駆動輪１を駆動する。
【００３１】
次に、移動ロボット１００の自律移動動作について説明する。図４は、制御部５が実行する自律移動制御処理の一例を示すフローチャートである。
【００３２】
この自律移動制御処理において、まず、目的地設定部７は、目的地１５の設定を行う（ステップＳ１）。
【００３３】
この場合、目的地設定部７は、知能部１０に目的地１５の目的地番号を送信する。また、知能部１０は地図部６から地図情報を取得する。これにより、知能部１０は、移動ロボット１００がこれから向かう目的地１５の座標と目的地１５までの走行経路１６を把握する。
【００３４】
次に、経路追従処理が実行される。この経路追従処理により、知能部１０が把握した経路に沿って移動ロボット１００は移動することができる。
【００３５】
経路追従処理には、局所的目的地算出処理（ステップＳ２）、目的地到着判定処理（ステップＳ３）、局所的経路追従処理（ステップＳ４）が含まれる。
【００３６】
局所的目的地算出処理（ステップＳ２）において、知能部１０は、局所的目的地の算出および設定を行う。局所的目的地とは、現在目指すべき直近の一時的な目的地である。具体的な算出方法については後述する。
【００３７】
次に、目的地判定処理（ステップＳ３）において、知能部１０は、移動ロボット１００が目的地１５に到着したか否かを判定する。
【００３８】
具体的には、知能部１０は、局所的目的地が目的地１５と一致するか否かを判定し、それらが一致する場合に、自己位置推定部９で算出された移動ロボット１００の現在位置、すなわち、自己位置と目的地設定部７で設定された目的地１５との間の距離を計算する。
【００３９】
そして、知能部１０は、その距離が予め定められた一定の距離Ｎ以下である場合、移動ロボット１００が目的地１５に到着したと判定する。一方、局所的目的地が目的地１５と一致しない場合、または、上記距離が距離Ｎより大きい場合、移動ロボット１００が目的地１５に到着していないと判定する。
【００４０】
移動ロボット１００が目的地１５に到着していないと判定された場合（ステップＳ３においてＮｏの場合）、局所的経路追従処理（ステップＳ４）において、知能部１０は、自己位置推定部９から現在の自己位置の情報を受信し、現在の自己位置から局所的目的地までの最短経路を算出する。
【００４１】
そして、知能部１０は、算出した最短経路を移動ロボット１００が走行するように駆動輪制御部１１に対して指令を出力する。駆動輪制御部１１は、知能部１０から受信した指令に基づいて駆動輪１を制御する。
【００４２】
最短経路の算出には、例えば、Ａ＊（エースター）アルゴリズムを用いることができる。このアルゴリズムは、障害物が存在した場合でも、障害物を避けた最短経路を算出することができる。
【００４３】
また、現在の自己位置から局所的目的地までの最短経路を算出する際、知能部１０は、現在の自己位置から局所的目的地までの最短経路の距離が予め定められた距離Ｍ未満になったか否かを判定する。
【００４４】
最短経路の距離が距離Ｍ未満になった場合、知能部１０は、移動ロボット１００が一時停止すべきと判断する。そして、知能部１０は、駆動輪制御部１１に、駆動輪１の駆動を停止させる。これにより、移動ロボット１００は停止する。
【００４５】
知能部１０が、移動ロボット１００が一時停止すべきと判断した後、移動ロボット１００の自己位置と局所的目的地との間の距離が再び距離Ｍ以上になった場合は、知能部１０は、移動を再開すべきと判断する。この場合、知能部１０は、駆動輪制御部１１に、駆動輪１の駆動を再開させる。これにより、移動ロボット１００の移動が再開する。
【００４６】
このように、ステップＳ３において、移動ロボット１００が目的地１５に到着したと判定されるまで、局所的目的地算出処理（ステップＳ２）、目的地到着判定処理（ステップＳ３）、局所的経路追従処理（ステップＳ４）が繰り返し実行される。これにより、移動ロボット１００は徐々に目的地１５に近づく。
【００４７】
ステップＳ３において、移動ロボット１００が目的地１５に到着したと判定された場合（ステップＳ３においてＹｅｓの場合）、知能部１０は、駆動輪制御部１１に、駆動輪１の駆動を停止させる。これにより、移動ロボット１００の移動は停止する（ステップＳ５）。
【００４８】
次に、自律移動制御処理によって制御される移動ロボット１００の挙動について説明する。図５は、本発明の実施の形態１に係る移動ロボット１００の自律移動の一例を示すイメージ図である。図５に示す例では、図４に示した自律移動制御処理のステップＳ１において、目的地１５および走行経路１６が既に設定されているものとする。
【００４９】
図５の上段は、時刻Ｔ＝ｔ１において、移動ロボット１００が、目的地１５につながる走行経路１６上に設定された局所的目的地１７に向かって、最短経路１８を走行している状態を示している。また、図５の中段は、時刻Ｔ１よりも後の時刻Ｔ＝ｔ２において、移動ロボット１００が、走行経路１６上に設定された局所的目的地１７に向かって、最短経路１８を走行している状態を示している。
【００５０】
移動ロボット１００が局所的目的地１７に向かって走行している間、知能部１０は、図４を用いて説明した局所的目的地算出処理（ステップＳ２）、目的地到着判定処理（ステップＳ３）、および、局所的経路追従処理（ステップＳ４）を繰り返し実行する。
【００５１】
一方、図５の下段は、時刻Ｔ２よりもあとの時刻Ｔ＝ｔ３において、移動ロボット１００が、目的地１５と一致する局所的目的地１７に向かって、最短経路１８を走行している状態を示している。
【００５２】
この場合、知能部１０は、自己位置推定部９で算出された移動ロボット１００の現在の自己位置と目的地設定部７で設定された目的地１５との間の距離が距離Ｎ以下であるか否かを判定することにより、移動ロボット１００が目的地１５に到着したか否かを判定する。
【００５３】
次に、移動ロボット１００を複数台用いた編隊走行について説明する。図６は、本発明の実施形態に係る移動ロボット１００が編隊走行する際のイメージを示す図である。ここでは、２台の移動ロボット１０１，１０２が編隊走行する場合を例にして説明する。
【００５４】
移動ロボット１０１は追従される親機であり、移動ロボット１０２は追従する子機である。まず、図４で説明した局所的目的地算出処理（ステップＳ２）についてさらに詳細に説明する。図７は、局所的目的地算出処理を示すフローチャートである。
【００５５】
局所的目的地算出処理では、まず、知能部１０は、測域センサ４のスキャン範囲内に親機である移動ロボット１０１が存在するか否かを判断する（ステップＳ２１）。
【００５６】
スキャン範囲内に親機である移動ロボット１０１が存在するか否かは、測域センサ４がそのスキャン範囲内で移動ロボット１０１の背面に付設された認識マーカー１２を検出したか否かで判断される。
【００５７】
図８は、測域センサ４がそのスキャン範囲７０内において認識マーカー１２を検出するイメージを示している。親機である移動ロボット１０１に付設された認識マーカー１２が子機である移動ロボット１０２に設けられた測域センサ４のスキャン範囲７０内に存在する場合、親機１０１の認識マーカー１２は、子機である移動ロボット１０２の測域センサ４によって検出される。
【００５８】
測域センサ４のスキャン範囲７０内に親機である移動ロボット１０１が存在する場合（ステップＳ２１においてＹｅｓの場合）、知能部１０は、認識マーカー１２が、子機である移動ロボット１０２の走行経路１６上に存在するか否かを判定する（ステップＳ２２）。
【００５９】
認識マーカー１２が子機である移動ロボット１０２の走行経路１６上に存在すると判定された場合（ステップＳ２２においてＹｅｓの場合）、知能部１０は、親機である移動ロボット１０１と子機である移動ロボット１０２の走行経路１６との交点を算出し、その交点を局所的目的地１７に設定して（ステップＳ２３）、局所的目的地算出処理を終了する。
【００６０】
認識マーカー１２が子機である移動ロボット１０２の走行経路１６上に存在しないと判定された場合（ステップＳ２２においてＮｏの場合）、知能部１０は、親機である移動ロボット１０１を上記走行経路１６上に射影した点を算出し、その点を局所的目的地１７に設定し（ステップＳ２４）、局所的目的地算出処理を終了する。
【００６１】
測域センサ４のスキャン範囲７０内に認識マーカー１２が検出されなかった場合（ステップＳ２１においてＮｏの場合）、知能部１０は、測域センサ４のスキャン範囲７０内に認識マーカー１２を備える親機以外の障害物が存在するか否かを判定する（ステップＳ２５）。
【００６２】
図９に、測域センサ４がそのスキャン範囲７０内において障害物１９を検出するイメージを示す。障害物１９が測域センサ４のスキャン範囲７０内に存在する場合、障害物１９は、子機である移動ロボット１０２の測域センサ４によって検出される。
【００６３】
子機である移動ロボット１０２に設けられた測域センサ４のスキャン範囲７０内に障害物１９が存在すると判定された場合（ステップＳ２５においてＹｅｓの場合）、知能部１０は、障害物１９が子機である移動ロボット１０２の走行経路１６上に存在するか否かを判定する（ステップＳ２６）。
【００６４】
障害物１９が子機である移動ロボット１０２の走行経路１６上に存在すると判定された場合（ステップＳ２６においてＹｅｓの場合）、知能部１０は、障害物１９と上記走行経路１６の交点を算出し、その交点を局所的目的地１７に設定して（ステップＳ２７）、局所的目的地算出処理を終了する。
【００６５】
局所的目的地１７を障害物１９と走行経路１６との交点に設定する理由は、走行経路１６上において障害物１９が検知された場合、当該障害物１９が人間などの移動する物体である可能性が高いからである。例えば、編隊走行時に、走行経路１６を横切るように歩行する人間が走行経路１６上において検知された場合を想定する。この場合、親機である移動ロボット１０１と、子機である移動ロボット１０２がそれぞれ、歩行する人間を迂回して走行しようとすると、各移動ロボット１０１，１０２の編隊が崩れてしまう恐れがある。そのため、走行経路１６上に障害物１９が検知された場合、知能部１０は、走行経路１６上に局所的目的地１７を一旦設定する。この場合、人間が、走行経路１６上からスキャン範囲７０外に移動すると、各移動ロボット１０１，１０２は移動を再開する。
【００６６】
子機である移動ロボット１０２の測域センサ４のスキャン範囲７０内に障害物１９が存在しない場合（ステップＳ２５においてＮｏの場合）、知能部１０は、上記走行経路１６上の一定距離だけ先の位置を算出し、その位置を局所的目的地１７に設定して（ステップＳ２８）、局所的目的地算出処理を終了する。
【００６７】
また、測域センサ４によって検出された障害物１９が、子機である移動ロボット１０２の走行経路１６上に存在しない場合（ステップＳ２６においてＮｏの場合）も同様に、知能部１０は、局所的目的地１７を、上記走行経路１６上の一定距離だけ先の位置に設定する（ステップＳ２８）。ただし、子機である移動ロボット１０２が走行経路１６上の一定距離だけ先の位置に到達するまでに障害物１９に衝突すると知能部１０が判定した場合、移動ロボット１０２は、一定距離だけ先に設定された局所的目的地１７まで障害物１９を回避して走行する。
【００６８】
次に、図７に示したステップＳ２３，Ｓ２４，Ｓ２７及びＳ２８の処理における局所的目的地１７の算出方法について説明する。
【００６９】
図１０は、知能部１０が、親機である移動ロボット１０１と子機である移動ロボット１０２の走行経路１６の交点を局所的目的地１７に設定するイメージを示す図である。
【００７０】
ステップＳ２３では、図１０に示すように子機である移動ロボット１０２の走行経路１６と認識マーカー１２の交わる箇所を局所的目的地１７に設定する。
【００７１】
図１１〜図１３は、知能部１０が、親機である移動ロボット１０１を子機である移動ロボット１０２の走行経路１６上に射影した点を局所的目的地１７に設定するイメージを示す図である。
【００７２】
ステップＳ２４では、図１１に示すように、親機である移動ロボット１０１の位置（例えば、認識マーカー１２の中点）と、子機である移動ロボット１０２の位置（例えば、測域センサ４の中心位置）との距離を算出し、その距離を半径として、測域センサ４の中心位置を中心とする円弧を描く。そして、この円弧と子機である移動ロボット１０２の走行経路１６との交点を局所的目的地１７に設定する。
【００７３】
また、移動ロボット１００の位置から移動ロボット１００の進行方向に対して垂直に延びる直線と走行経路１６との交点を局所的目的地１７としてもよい。例えば、図１２に示すように、子機である移動ロボット１０２から見て、認識マーカー１２の最左点と最右点を結ぶ直線を描き、その直線と子機である移動ロボット１０２の走行経路１６との交点を局所的目的地１７とすることが考えられる。
【００７４】
また、図１３に示すように、認識マーカー１２の中点から子機である移動ロボット１０２の走行経路１６に垂線を描き、その垂線と上記走行経路１６の交点を局所的目的地１７としても良い。
【００７５】
図１４は、ステップＳ２７にて局所的目的地１７を算出するイメージを示す図である。ステップＳ２７では、図１４に示すように、障害物１９と子機である移動ロボット１０２の走行経路１６との交点を局所的目的地１７に設定する。
【００７６】
ステップＳ２８では、前述のように、子機である移動ロボット１０２の現在位置より、上記走行経路１６上を一定の距離Ｌだけ進んだ位置を局所的目的地１７に設定する。
【００７７】
次に、具体的な編体走行の様子について説明する。図１５は、本発明の実施形態における移動ロボット１００の編隊走行時のイメージを示す図である。
【００７８】
図１５（ａ）は移動ロボット１０１の走行経路１６上に障害物１９が存在していない時の様子を示している。親機である移動ロボット１０１は、走行経路１６上に障害物１９が存在していないため、局所的目的地１７をステップＳ２８における処理で算出し、自律移動を行っている。
【００７９】
一方、子機である移動ロボット１０２は、走行経路１６上に親機である移動ロボット１０１の認識マーカー１２を検出しているため、局所的目的地１７をステップＳ２３における処理で算出し、自律移動を行っている。
【００８０】
図１５（ｂ）は、走行経路１６付近に障害物１９があり、親機である移動ロボット１０１が、一旦、走行経路１６から逸れる場合の様子を示している。
【００８１】
親機である移動ロボット１０１は、走行経路１６上に障害物１９が存在していないため、局所的目的地１７を走行経路１６上に位置するように、ステップＳ２８における処理で算出し、自律移動を行っている。
【００８２】
しかし、走行経路１６上をそのまま進むと障害物１９に衝突すると知能部１０が判定した場合は、障害物１９との衝突を避けるため、局所的目的地１７までの最短経路１８は障害物１９を迂回する経路となる。すなわち、親機である移動ロボット１０１の知能部１０は、障害物１９の回避動作を行うと判定する。
【００８３】
一方、子機である移動ロボット１０２は、測域センサ４のスキャン範囲７０内に認識マーカー１２を検出しているため、局所的目的地１７をステップＳ２４における処理で算出し、自律移動を行っている。つまり、子機である移動ロボット１０２は、親機である移動ロボット１０１を走行経路１６上に射影した点を局所的目的地１７として設定し、自律移動を行う。このため、子機である移動ロボット１０２は、親機である移動ロボット１０１を走行経路１６上に射影した位置よりも前を走行しない。すなわち、子機である移動ロボット１０２は、親機である移動ロボット１０１を追い越すことは無い。
【００８４】
親機である移動ロボット１０１が最短経路１８を進み、子機である移動ロボット１０２が走行経路１６をさらに進むと、子機である移動ロボット１０２の知能部１０は、移動ロボット１０２が障害物１９に衝突すると判定する。この場合、親機である移動ロボット１０１と同様、子機である移動ロボット１０２は、障害物１９との衝突を避ける最短経路１８が設定される。
【００８５】
なお、子機である移動ロボット１０２が走行経路１６上を進み、測域センサ４が障害物１９を検知すると、親機である移動ロボット１０１と同様に、局所的目的地１７までの最短経路１８は障害物１９を迂回する経路となる。すなわち、子機である移動ロボット１０２の知能部１０も、障害物１９の回避動作を行うと判定する。
【００８６】
図１５（ｃ）は、走行経路１６上に障害物１９が存在している時の様子を示している。親機である移動ロボット１０１は、走行経路１６上に障害物１９が存在しているため、局所的目的地１７をステップＳ２７における処理で算出し、自律移動を行っている。
【００８７】
この時、親機である移動ロボット１０１の現在位置と局所的目的地１７の距離は一定距離Ｍ未満になるため、移動ロボット１０１は一時停止する。
【００８８】
一方、子機である移動ロボット１０２は、走行経路１６上に親機の認識マーカー１２を検出しているため、局所的目的地１７をステップＳ２４における処理で算出し、自律移動を行っている。
【００８９】
この時、親機である移動ロボット１０１が一時停止しており、子機である移動ロボット１０２の現在位置と局所的目的地１７との間の距離は一定距離Ｍ未満になるため、移動ロボット１０２も一時停止する。
【００９０】
その後、この障害物１９が走行経路１６から移動した場合、図１５（ａ）に示すように走行経路１６上に障害物１９が存在していない状態になるため、親機である移動ロボット１０１は、局所的目的地１７をステップＳ２８の処理で算出する。
【００９１】
この時、局所的目的地１７と親機である移動ロボット１０１の現在位置との間の距離が一定距離Ｍ以上になるため、親機である移動ロボット１０１は自律移動を再開する。
【００９２】
一方、子機である移動ロボット１０２も親機である移動ロボット１０１が自律移動を再開することによって、局所的目的地１７と子機である移動ロボット１０２の位置の距離が一定距離Ｍ以上になるため、自律移動を再開する。
【００９３】
以上の処理を行うことにより、例えば、エアーターミナル等の移動障害物が周囲に存在する環境でも、複数台の移動ロボット１００を同一軌道上において編隊走行させる際の複数台の移動ロボット１００の追従制御が可能となる。
【００９４】
なお、本発明の実施の形態１では、各移動ロボット１００を識別する構成として、測域センサ４が認識マーカー１２を検知して知能部１０が移動ロボット１００を認識するものとして説明したが、これに限られるものではない。例えば、測域センサ４が、移動ロボット１００の外形形状を検知して形状データを取得し、移動ロボット１００を認識するようにしてもよい。
【００９５】
次に、本発明の実施の形態２について説明する。実施の形態２における局所的目的地算出処理では、測域センサ４によって検知される検知物の位置情報および各移動ロボット１０１、１０２が互いに共有する各移動ロボット１０１，１０２の自己位置の情報に基づいて、測域センサ４のスキャン範囲７０内に移動ロボット１０１が存在するか否かが判定される。ここで、自己位置とは、例えば、移動ロボット１０１，１０２の進行方向を前方とした場合、各移動ロボット１０１，１０２の背面における左右方向の中心位置である。
【００９６】
図１７は、本発明の実施の形態２に係る制御部５の一例を示すブロック図である。制御部５は、地図部６と、目的地設定部７と、センサデータ取得部８と、自己位置推定部９と、知能部１０と、駆動輪制御部１１と、通信部２１とを備える。
【００９７】
地図部６、目的地設定部７、センサデータ取得部８、自己位置推定部９、知能部１０および駆動輪制御部１１は、実施の形態１と同様のものである。
【００９８】
通信部２１は、複数台の移動ロボット１０１，１０２が編隊走行を行う際に、各移動ロボット１０１，１０２同士が情報をやり取りするための通信装置である。通信部２１は、例えば、互いに自己位置の情報をやり取りする。
【００９９】
次に、実施の形態２に係る移動ロボット１０１，１０２が、編隊走行を行う際の局所的目的地１７の算出方法について説明する。ここでは、図６に示すように、２台の移動ロボット１０１，１０２が編隊走行する場合を例にして説明する。
【０１００】
移動ロボット１０１は追従される親機であり、移動ロボット１０２は追従する子機である。親機である移動ロボット１０１と子機である移動ロボット１０２との間では、通信部２１を通して、自己位置推定部９で推定された自己位置の情報のやり取りが行われ、移動ロボット１０１，１０２は、互いの自己位置の情報を共有している。図１８は、局所的目的地算出処理を示すフローチャートである。
【０１０１】
局所的目的地算出処理では、まず、知能部１０は、測域センサ４のスキャン範囲７０内に親機である移動ロボット１０１が存在するか否かを判断する（ステップＳ３１）。
【０１０２】
スキャン範囲７０内に親機である移動ロボット１０１が存在するか否かは、次のように判定される。まず、知能部１０は各移動ロボット１０１，１０２の間で共有されている移動ロボット１０１の自己位置と移動ロボット１０２の自己位置との間の距離を算出する。この距離を便宜上、推定距離という。
【０１０３】
次に、知能部１０は、測域センサ４のスキャン範囲３０内において測域センサ４の最も近くで検知された検知物と測域センサ４との間の距離に基づいて、当該検知物と移動ロボット１０２の位置との間の距離を算出する。この距離を便宜上、検知距離という。ここで、移動ロボット１０２の位置とは、例えば、移動ロボット１０２の進行方向を前方向とした場合、移動ロボット１０２の背面における左右方向の中心位置である。
【０１０４】
最後に、知能部１０は、推定距離と検知距離の差分が所定のしきい値以下であるか否かが判定する。推定距離を示す値と検知距離を示す値の差分が所定のしきい値以下である場合、すなわち、推定距離を示す値と検知距離を示す値の差分が小さい場合、または、零である場合、スキャン範囲７０内に親機である移動ロボット１０１が存在すると判定される。
【０１０５】
このような処理を行うことより、測域センサ４のスキャン範囲７０内に親機である移動ロボット１０１が存在するか否かが判定される。
【０１０６】
なお、知能部１０は、各移動ロボット１０１，１０２の間で共有されている移動ロボット１０１の自己位置と移動ロボット１０２の自己位置とに基づいて、親機である移動ロボット１０１を認識するようにしてもよい。
【０１０７】
図１９は、移動ロボット１０１の自己位置１１１と移動ロボット１０２の自己位置１１２との間の距離、すなわち推定距離が、スキャン範囲７０内において測域センサ４の最も近くで検知された検知物と移動ロボット１０２との間の距離、すなわち検知距離が一致しているイメージを示している。親機である移動ロボット１０１が子機である移動ロボット１０２に設けられた測域センサ４のスキャン範囲７０内に存在し、かつ、自己位置推定部９で推定される自己位置１１１，１１２が、実際の各移動ロボット１０１，１０２の位置とずれていない場合、検知された親機である移動ロボット１０１の位置と子機である移動ロボット１０２の位置との間の距離と、移動ロボット１０１の自己位置１１１と移動ロボット１０２の自己位置１１２との間の距離とが一致する。
【０１０８】
ここで、図１８の説明に戻る。測域センサ４のスキャン範囲７０内に親機である移動ロボット１０１が存在する場合（ステップＳ３１においてＹｅｓの場合）、知能部１０は、移動ロボット１０１の自己位置１１１が、子機である移動ロボット１０２の走行経路１６上に存在するか否かを判定する（ステップＳ３２）。
【０１０９】
移動ロボット１０１の自己位置１１１が子機である移動ロボット１０２の走行経路１６上に存在すると判定された場合（ステップＳ３２においてＹｅｓの場合）、知能部１０は、親機である移動ロボット１０１と子機である移動ロボット１０２の走行経路１６との交点を算出し、その交点を局所的目的地１７に設定して（ステップＳ３３）、局所的目的地算出処理を終了する。
【０１１０】
移動ロボット１０１の自己位置１１１が子機である移動ロボット１０２の走行経路１６上に存在しないと判定された場合（ステップＳ３２においてＮｏの場合）、知能部１０は、親機である移動ロボット１０１を上記走行経路１６上に射影した点を算出し、その点を局所的目的地１７に設定し（ステップＳ３４）、局所的目的地算出処理を終了する。
【０１１１】
親機である移動ロボット１０１がスキャン範囲７０内に存在しないと判定された場合（ステップＳ３１においてＮｏの場合）、知能部１０は、測域センサ４のスキャン範囲７０内に親機以外の障害物１９が存在するか否かを判定する（ステップＳ３５）。
【０１１２】
子機である移動ロボット１０２に設けられた測域センサ４のスキャン範囲７０内に障害物１９が存在すると判定された場合（ステップＳ３５においてＹｅｓの場合）、知能部１０は、障害物１９が子機である移動ロボット１０２の走行経路１６上に存在するか否かを判定する（ステップＳ３６）。
【０１１３】
障害物１９が子機である移動ロボット１０２の走行経路１６上に存在すると判定された場合（ステップＳ３６においてＹｅｓの場合）、知能部１０は、障害物１９と上記走行経路１６の交点を算出し、その交点を局所的目的地１７に設定して（ステップＳ３７）、局所的目的地算出処理を終了する。
【０１１４】
子機である移動ロボット１０２の測域センサ４のスキャン範囲７０内に障害物１９が存在しない場合（ステップＳ３５においてＮｏの場合）、知能部１０は、上記走行経路１６上の一定距離だけ先の位置を算出し、その位置を局所的目的地１７に設定して（ステップＳ３８）、局所的目的地算出処理を終了する。
【０１１５】
また、測域センサ４によって検出された障害物１９が、子機である移動ロボット１０２の走行経路１６上に存在しない場合（ステップＳ３６においてＮｏの場合）も同様に、知能部１０は、局所的目的地１７を、上記走行経路１６上の一定距離だけ先の位置に設定する（ステップＳ３８）。ただし、子機である移動ロボット１０２が走行経路１６上の一定距離だけ先の位置に到達するまでに障害物１９に衝突すると知能部１０が判定した場合、移動ロボット１０２は、一定距離だけ先に設定された局所的目的地１７まで障害物１９を回避して走行する。
【０１１６】
次に、図１８に示したステップＳ３３，Ｓ３４，Ｓ３７及びＳ３８の処理における局所的目的地１７の算出方法について説明する。
【０１１７】
図２０は、知能部１０が、親機である移動ロボット１０１と子機である移動ロボット１０２の走行経路１６の交点を局所的目的地１７に設定するイメージを示す図である。
【０１１８】
ステップＳ３３では、図２０に示すように子機である移動ロボット１０２の走行経路１６と移動ロボット１０１の自己位置１１１の交わる箇所を局所的目的地１７に設定する。
【０１１９】
図２１〜図２３は、知能部１０が、親機である移動ロボット１０１の自己位置１１１を子機である移動ロボット１０２の走行経路１６上に射影した点を局所的目的地１７に設定するイメージを示す図である。
【０１２０】
ステップＳ３４では、図２１に示すように、親機である移動ロボット１０１の自己位置１１１と、子機である移動ロボット１０２の、例えば、測域センサ４の中心位置との距離を算出し、その距離を半径として、測域センサ４の中心位置を中心とする円弧を描く。そして、この円弧と子機である移動ロボット１０２の走行経路１６との交点を局所的目的地１７に設定する。
【０１２１】
また、移動ロボット１００の位置から移動ロボット１００の進行方向に対して垂直に延びる直線と走行経路１６との交点を局所的目的地１７としてもよい。例えば、図２２に示すように、子機である移動ロボット１０２から見て、移動ロボット１０１の自己位置１１１を通り、移動ロボット１０１の背面に沿うような直線を描き、その直線と子機である移動ロボット１０２の走行経路１６との交点を局所的目的地１７とすることが考えられる。
【０１２２】
また、図２３に示すように、移動ロボット１０１の自己位置１１１から子機である移動ロボット１０２の走行経路１６に垂線を描き、その垂線と上記走行経路１６の交点を局所的目的地１７としても良い。
【０１２３】
以上説明したように、実施の形態２における局所的目的地算出処理では、測域センサ４によって検知される検知物の位置情報および各移動ロボット１０１，１０２が互いに共有している自己位置１１１，１１２の情報に基づいて、親機１０１がスキャン範囲７０内に存在するか否かを判定している。これにより、実施の形態１と同様、移動ロボット１００の走行経路１６上に障害物１９が存在する場合でも、複数台の移動ロボット１００が同一軌道において、編隊走行することが可能となる。
【０１２４】
２０１７年８月７日出願の特願２０１７−１５２５２３の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０１２５】
本発明は自律移動ロボットや、自動運転の分野において広く利用可能である。
【符号の説明】
【０１２６】
１  駆動輪
２  準輪
３  移動ロボット本体
４  測域センサ
５  制御部
６  地図部
７  目的地設定部
８  センサデータ取得部
９  自己位置推定部
１０  知能部
１１  駆動輪制御部
１２  認識マーカー
１５  目的地
１６  走行経路
１７  局所的目的地
１８  最短経路
１９  障害物
２０  追従される移動ロボット
２１  通信部
４０  測域センサ
５０  追従する移動ロボット
７０  スキャン範囲
１００  移動ロボット
１０１  編隊走行時の移動ロボット（親機）
１０２  編隊走行時の移動ロボット（子機）
１１１  自己位置
１１２  自己位置
【図１】
0006771588.tif 000002
【図２】
0006771588.tif 000003
【図３】
0006771588.tif 000004
【図４】
0006771588.tif 000005
【図５】
0006771588.tif 000006
【図６】
0006771588.tif 000007
【図７】
0006771588.tif 000008
【図８】
0006771588.tif 000009
【図９】
0006771588.tif 000010
【図１０】
0006771588.tif 000011
【図１１】
0006771588.tif 000012
【図１２】
0006771588.tif 000013
【図１３】
0006771588.tif 000014
【図１４】
0006771588.tif 000015
【図１５】
0006771588.tif 000016
【図１６】
0006771588.tif 000017
【図１７】
0006771588.tif 000018
【図１８】
0006771588.tif 000019
【図１９】
0006771588.tif 000020
【図２０】
0006771588.tif 000021
【図２１】
0006771588.tif 000022
【図２２】
0006771588.tif 000023
【図２３】
0006771588.tif 000024