(57)【要約】【課題】自律移動体システムにおいて、移動体を自律的に他の移動体と協調して走行させる。【解決手段】自律移動体システム１００の複数の移動体のそれぞれは、自己位置決定部１６３と、障害物検出センサ１５と、移動体間通信部１６６と、距離算出部１６７と、優先度決定部１６８と、干渉停止部１６９と、を有する。自己位置決定部１６３は自己位置を決定する。障害物検出センサ１５は、周囲に障害物が存在するか否かを検出する。移動体間通信部１６６は、移動体間通信により、自己位置を他の移動体に送信するとともに、他移動体位置を他の移動体のそれぞれから受信する。距離算出部１６７は移動体間距離を算出する。優先度決定部１６８は、移動体間距離が干渉距離未満である近接移動体との間の移動優先度を決定する。干渉停止部１６９は、近接移動体よりも移動優先度が低いと決定されたら、干渉停止処理を実行する。【選択図】図３
2017142659.tif 000002
【特許請求の範囲】
【請求項１】
移動環境を移動する複数の移動体を含む自律移動体システムであって、
前記複数の移動体のそれぞれは、
前記移動環境を表す環境地図上での自己位置を決定する自己位置決定部と、
検出信号を出力し、当該検出信号のうち反射されて戻ってきた反射信号を受信することにより、自身の周囲に障害物が存在するか否かを検出する障害物検出センサと、
他の移動体と互いに直接通信する移動体間通信により、前記自己位置を前記他の移動体に送信するとともに、前記他の移動体の前記環境地図上の位置である他移動体位置を前記他の移動体のそれぞれから受信する、移動体間通信部と、
前記自己位置と前記他移動体位置との間の移動体間距離を算出する距離算出部と、
前記移動体間距離が干渉距離未満である近接移動体との間の移動に関する移動優先度を決定する優先度決定部と、
前記近接移動体よりも前記移動優先度が低いと決定されたら、自身の移動を停止するとともに、前記障害物検出センサからの前記検出信号の出力を停止するか、又は、前記検出信号の強度を弱くして出力する干渉停止処理を実行する干渉停止部と、
を有する、自律移動体システム。
【請求項２】
前記移動体間通信が不調であるか、又は、前記近接移動体が存在しないと判断したら、前記干渉停止部は、前記干渉停止処理を解除する、請求項１に記載の自律移動体システム。
【請求項３】
前記環境地図は、前記移動環境の少なくとも一部を表す副環境地図により構成され、
自身が所有していない前記副環境地図である非保有地図を前記他の移動体が所有していると判断したら、前記移動体間通信部は、当該他の移動体から前記非保有地図を受信する、請求項１又は２に記載の自律移動体システム。
【請求項４】
自身が所有している前記副環境地図である保有地図を前記他の移動体が所有していないと判断したら、前記移動体間通信部は、前記保有地図を当該他の移動体に送信する、請求項３に記載の自律移動体システム。
【請求項５】
前記複数の移動体のそれぞれは、前記移動環境を自律的に移動する自律モード、又は、前記移動環境をユーザの操作により移動する手動モードのいずれかを実行可能であり、
優先度決定部は、前記手動モードを実行中の移動体の前記移動優先度を、前記自律モードを実行中の移動体の前記移動優先度よりも低いと決定する、
請求項１〜４のいずれかに記載の自律移動体システム。
【請求項６】
前記優先度決定部は、一時停止中である移動体の前記移動優先度を、走行中である移動体の前記移動優先度よりも低いと決定する、請求項１〜５のいずれかに記載の自律移動体システム。
【請求項７】
前記複数の移動体のそれぞれには、ユーザにより個別に設定された設定優先度が割り当てられており、
前記優先度決定部は、前記設定優先度の高低に従って前記移動優先度を決定する、請求項１〜６のいずれかに記載の自律移動体システム。
【請求項８】
前記複数の移動体のそれぞれには、個別に移動体識別番号が割り当てられており、
前記優先度決定部は、前記移動体識別番号の大小に従って前記移動優先度を決定する、請求項１〜７のいずれかに記載の自律移動体システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の移動平面を自律的に走行可能な複数の移動体により構成される自律移動体システムに関する。
【背景技術】
【０００２】
従来、複数の移動体が互いに衝突することなく所定の移動表面を移動するシステムが知られている。例えば、特許文献１には、複数台の無人搬送車を予め設定された走行誘導ラインに沿って走行させる無人搬送車走行システムが開示されている。このシステムでは、検出手段が走行誘導ラインの接近・合流地点に先着した搬送車を検知すると、その後に到着（後着）した搬送車の走行と障害物検出センサからの検出波の発生を一時停止する。これにより、検出波の相互干渉を原因とする先着の搬送車の走行停止が行われなくなり、その結果、各無人搬送車が接近・合流地点でもスムーズに走行できる。
【０００３】
特許文献２には、超音波または電磁波を送信波として出力し、反射波により周囲の障害物を検出する外界センサとを有して所定のタスクを実行する複数の移動ロボットを制御するロボット制御装置が開示されている。
特許文献２のロボット制御装置では、任意の２つの移動ロボット間の距離が、予め求めて設定された第１の所定値であると判定された場合に、優先順位が低い方の移動ロボットの外界センサの出力を低下させている。上記の第１の所定値は、２つの移動ロボットの外界センサの送受信波が干渉しないようなレベルに基づいて算出されている。これにより、各移動ロボットの外界センサによる障害物の誤検知を回避できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許２５７２１５１号公報
【特許文献２】特許４６１６６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１及び２に開示された無人搬送車走行システムでは、搬送車が接近・合流地点に先着又は後着したかは、地上側の制御ユニットにより判断されている。また、地上側の制御ユニットが、後着の搬送車の走行を停止させる信号を出力している。
【０００６】
また、このシステムでは、搬送車の通過を検出するために検出手段の設置が必要であり、さらには、後着の搬送車に対して走行の停止などを指令するためにブロッキングゾーンの設置が必要である。この場合、システムが複雑化・大規模化すると（例えば、接近・合流地点の数や無人搬送車の台数の増加、及び／又は、搬送車が移動する移動平面の複雑化など）、走行システムでは、検出手段やブロッキングゾーンを多数設ける必要がある。その結果、例えば、走行経路の変更する際には、走行システムの再構築に大きな労力を要する。
【０００７】
さらに、上記のシステムでは、特定の接近・合流地点にのみ、検出手段及びブロッキングゾーンが設置されている。このため、複数の搬送車は、特定の地点でしか互いに協調して走行できない。
【０００８】
本発明の目的は、複数の移動体により構成される自律移動体システムにおいて、各移動体を自律的に他の移動体と協調して移動させることにある。
【課題を解決するための手段】
【０００９】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律移動体システムは、移動環境を移動する複数の移動体を含むシステムである。複数の移動体のそれぞれは、自己位置決定部と、障害物検出センサと、移動体間通信部と、距離算出部と、優先度決定部と、干渉停止部と、を有する。自己位置決定部は、自己位置を決定する。自己位置は、移動環境を表す環境地図上での自分自身の位置である。障害物検出センサは、検出信号を出力し、当該検出信号のうち反射されて戻ってきた反射信号を受信する。これにより、障害物検出センサは、周囲に障害物が存在するか否かを検出する。
【００１０】
移動体間通信部は、他の移動体と互いに直接通信する移動体間通信を実行する。移動体間通信部は、移動体間通信により、自己位置を他の移動体に送信するとともに、他移動体位置を他の移動体のそれぞれから受信する。他移動体位置は、他の移動体の環境地図上の位置である。距離算出部は、移動体間距離を算出する。移動体間距離は、自己位置と他移動体位置との間の距離である。優先度決定部は、移動優先度を決定する。移動優先度は、近接移動体との間の移動に関する優先度である。近接移動体は、他の移動体のうち、移動体間距離が干渉距離未満である移動体のことである。干渉停止部は、近接移動体よりも移動優先度が低いと決定されたら、干渉停止処理を実行する。干渉停止処理は、自身の移動を停止するとともに、障害物検出センサからの検出信号の出力を停止するか、又は、検出信号の強度を弱くして出力する処理のことである。
【００１１】
上記の自律移動体システムでは、各移動体の自己位置決定部が、移動環境を移動中に、移動環境を表す環境地図上の自分自身の位置である自己位置を決定する。また、各移動体の移動体間通信部が、移動環境を移動中に、移動体間通信により、上記の自己位置を他の移動体に送信するとともに、他の移動体の環境地図上の現在位置である他移動体位置を当該他の移動体から受信する。自己位置と他移動体位置とを共有後、各移動体の距離算出部は、自己位置と他移動体位置とから移動体間距離を算出する。
その後、各移動体の優先度決定部が、近接移動体の移動優先度と自身の移動優先度との高低を決定する。当該決定後、移動優先度が近接移動体よりも低いと決定された移動体の干渉停止部が、干渉停止処理を実行する。すなわち、走行を停止するとともに、当該移動体の障害物検出センサからの検出信号の出力を停止するか、又は、強度を弱くして検出信号を出力する。
【００１２】
このように、上記の自律移動体システムでは、複数の移動体が外部の制御システムにより制御されるのではなく、複数の移動体のそれぞれが、自律的に他の移動体との位置関係及び移動に関する優先度を判断している。これにより、各移動体は、当該判断に基づいて干渉停止処理を実行するか否かを自律的に決定し、他の移動体と協調しながら自律的に移動環境を移動できる。
この結果、例えば、上記の自律移動体システムを異なる移動環境において使用する場合でも、自律移動体システムを大幅に再構築する必要がなくなる。
【００１３】
移動体間通信が不調であるか、又は、近接移動体が存在しないと判断したら、干渉停止部は干渉停止処理を解除してもよい。
これにより、各移動体は、他の移動体が近くに存在しない場合には、通常の走行を実行できる。
【００１４】
環境地図は副環境地図にて構成されていてもよい。副環境地図は、移動環境の少なくとも一部を表す地図である。この場合、非保有地図を他の移動体が所有していると判断したら、移動体間通信部は、当該他の移動体から非保有地図を受信する。非保有地図は、自身が所有していない副環境地図である。
これにより、複数の移動体は、共通の副環境地図を共有できる。その結果、移動体間距離の算出を簡単にできる。
【００１５】
保有地図を他の移動体が所有していないと判断したら、移動体間通信部は、保有地図を当該他の移動体に送信してもよい。保有地図は、自身が所有している副環境地図である。
これにより、複数の移動体は、共通の副環境地図を共有できる。その結果、移動体間距離の算出を簡単にできる。
【００１６】
複数の移動体のそれぞれは、自律モード又は手動モードのいずれかを実行可能であってもよい。自律モードは、移動環境を自律的に移動するモードである。手動モードは、移動環境をユーザの操作により移動するモードである。この場合、優先度決定部は、手動モードを実行中の移動体の移動優先度を、自律モードを実行中の移動体の移動優先度よりも低いと決定する。
これにより、移動環境を自律的に移動中の移動体を優先的に移動できる。
【００１７】
優先度決定部は、一時停止中である移動体の移動優先度を、走行中である移動体の移動優先度よりも低いと決定してもよい。これにより、現在移動中の移動体を優先的に移動できる。
【００１８】
複数の移動体のそれぞれには、設定優先度が割り当てられていてもよい。設定優先度は、ユーザにより個別に設定された優先度である。この場合、優先度決定部は、設定優先度の高低に従って移動優先度を決定する。
これにより、ユーザにより決められた優先度（すなわち、設定優先度）に従って、複数の移動体は、移動環境を効率的に移動できる。
【００１９】
複数の移動体のそれぞれには、個別に移動体識別番号が割り当てられていてもよい。この場合、優先度決定部は、移動体識別番号の大小に従って移動優先度を決定する。
これにより、個別に割り当てられた移動体識別番号の大小に基づいて、移動優先度を決定できる。
【発明の効果】
【００２０】
複数の移動体により構成される自律移動体システムにおいて、各移動体を自律的に他の移動体と協調して走行できる。
【図面の簡単な説明】
【００２１】
【図１】自律移動体システムの構成を示す図。
【図２】移動体の構成を示す図。
【図３】制御部の構成を示す図。
【図４】検出する超音波信号の閾値の時間変化の一例を示す図。
【図５】２つのセンサ間距離と検出された信号強度との関係の一例を示す図。
【図６】他の移動体との情報共有処理の流れを示すフローチャート。
【図７】干渉停止処理を実行するか否かを決定する処理の流れを示すフローチャート。
【図８】第１停止チェック処理の流れを示すフローチャート。
【図９】第２停止チェック処理の流れを示すフローチャート。
【図１０】停止解除チェック処理の流れを示すフローチャート。
【発明を実施するための形態】
【００２２】
１．第１実施形態
（１）自律移動体システムの全体構成
以下、本実施形態に係る自律移動体システム１００の構成について、図１を用いて説明する。図１は、自律移動体システムの構成を示す図である。自律移動体システム１００は、複数の移動体１−１、１−２、・・・１−５を含む。複数の移動体１−１、１−２、・・・１−５は、互いに協調しながら移動環境ＭＥ（例えば、ホテルや空港のロビーなど多くの人が存在する環境）を移動する、例えば広告宣伝ロボットである。
なお、図１に示す自律移動体システム１００において、移動体１−１、１−２、・・・１−５の台数は５台であるが、数は限定されない。
【００２３】
（２）移動体の構成
以下、自律移動体システム１００に含まれる移動体１−１、１−２、・・・１−５について説明する。本実施形態の移動体１−１、１−２、・・・１−５は、例えば、ユーザにより教示された経路を再現しながら、自律して走行可能な移動体である。
まず、この移動体１−１、１−２、・・・１−５の構成について、図２を用いて説明する。図２は、移動体の構成を示す図である。以下では、移動体１−１を例にとって、移動体の構成を説明する。なお、移動体１−２、１−３、１−４、１−５も、移動体１−１と同様の構成を有する。
【００２４】
移動体１−１は、本体部１１を有する。本体部１１は、移動体１−１の本体を構成する例えば筐体である。本実施形態において、後述する「自己位置」は、移動環境ＭＥを表す環境地図上における本体部１１の中心の位置（座標）と定義する。また、「自身」との語は、移動体１−１の本体部１１のことを指すこととする。
移動体１−１が広告宣伝ロボットの場合には、本体部１１は、例えば、宣伝を視覚的に示すディスプレイや、宣伝を音声として発するスピーカーなどを備えている。
【００２５】
移動体１−１は、移動部１２を有する。移動部１２は、例えば、本体部１１を移動させる差動二輪型の走行部である。
具体的には、移動部１２は、一対のモータ１２１ａ、１２１ｂを有する。一対のモータ１２１ａ、１２１ｂは、本体部１１の底部に設けられた、例えばサーボモータやブラシレスモータなどの電動モータである。一対のモータ１２１ａ、１２１ｂは、制御部１６（後述）と電気的に接続され、制御部１６からの指令に基づいて、それぞれ独立に、任意の回転数及びトルクにてその出力回転軸を回転させる。
【００２６】
移動部１２は、一対の主輪１２３ａ、１２３ｂを有する。一対の主輪１２３ａ、１２３ｂは、それぞれ、一部が移動環境ＭＥの床面と接しており、一対のモータ１２１ａ、１２１ｂの出力回転軸に接続される。これにより、主輪１２３ａ、１２３ｂは、それぞれ、モータ１２１ａ、１２１ｂによって独立して回転し、本体部１１を移動させる。
上記のように独立回転が可能なことによって、主輪１２３ａと１２３ｂの回転数に差を生じさせて本体部１１の姿勢を変化できる。一方、一対の主輪１２３ａ、１２３ｂの回転数が同じであれば、本体部１１を直進できる。
【００２７】
移動体１−１は、レーザレンジセンサ１３を有する。レーザレンジセンサ１３は、例え
ば、レーザ発振器によりパルス発振されたレーザ光を、移動環境ＭＥ中の構造物Ｏ（例えば、移動環境ＭＥに配置された柱や棚など）（図１）や壁Ｗ（図１）に放射状に照射し、当該構造物Ｏ及び／または壁Ｗから反射した反射光をレーザ受信器により受信することにより、当該構造物Ｏや壁Ｗに関する情報を取得するレーザレンジファインダ（ＬＲＦ：Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ）である。本実施形態において、レーザレンジセンサ１３は、本体部１１の前部に配置された第１レーザレンジセンサ１３１と、本体部１１の後部に配置された第２レーザレンジセンサ１３３と、を有する。
【００２８】
第１レーザレンジセンサ１３１は、本体部１１の前方に左右方向にレーザ光を放射状に発生することにより、第１レーザレンジセンサ１３１を中心とした本体部１１の前方の半径２０ｍ程度の円内に含まれる構造物Ｏや壁Ｗに関する情報を取得する。第１レーザレンジセンサ１３１は、取得した構造物Ｏや壁Ｗに関する情報を、制御部１６に出力する。
一方、第２レーザレンジセンサ１３３は、本体部１１の後方に左右方向にレーザ光を放射状に発生することにより、第２レーザレンジセンサ１３３を中心とした本体部１１の後方の半径５ｍ程度の円内に含まれる構造物Ｏや壁Ｗに関する情報を取得する。第２レーザレンジセンサ１３３は、取得した構造物Ｏや壁Ｗに関する情報を、制御部１６に出力する。
なお、上記レーザレンジセンサの検出可能距離は、上記の値に限られず、自律移動体システム１００の用途等に応じて適宜変更できる。
【００２９】
移動体１−１は、移動体間通信アンテナ１４を有する。移動体間通信アンテナ１４は、移動体同士が直接通信可能にするための装置である。具体的には、移動体間通信アンテナ１４は、本体部１１の上部に設けられた、例えば、無線通信用の通信アンテナである。移動体間通信アンテナ１４は、他の移動体の移動体間通信アンテナからの通信信号を受信し、制御部１６へと出力する。また、移動体間通信アンテナ１４は、他の移動体へ通信信号を出力する。
【００３０】
移動体１−１は、障害物検出センサ１５を有する。障害物検出センサ１５は、超音波信号（検出信号の一例）を放射状に出力し、当該超音波信号のうち障害物（例えば、上記の構造物Ｏや壁Ｗに限られず、移動環境ＭＥを移動する他の移動体、人、動物などを含む）により反射されて戻ってきた超音波信号（反射信号の一例）などを受信する、例えば超音波センサである。
その他、障害物検出センサ１５として、例えば、レーザレンジファインダ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ、ＬＲＦ）を用いてもよい。
【００３１】
本実施形態において、障害物検出センサ１５は、本体部１１の前部に配置された第１障害物検出センサ１５１と、本体部１１の後部に配置された第２障害物検出センサ１５３と、を有する。
第１障害物検出センサ１５１は、本体部１１の前方に超音波信号を出力し、本体部１１の前方に存在する障害物にて反射された超音波信号を受信する。一方、第２障害物検出センサ１５３は、本体部１１の後方に超音波信号を出力し、本体部１１の後方に存在する障害物にて反射された超音波信号を受信する。受信された超音波信号は、制御部１６へと出力される。
なお、本実施形態においては、障害物検出センサの数及び位置は特に限定されない。例えば、本体部１１を前方方向のみに移動させたい場合には、第２障害物検出センサ１５３を省略してもよい。
【００３２】
移動体１−１は、制御部１６を有する。制御部１６は、移動体１−１の各部の制御を行う。なお、制御部１６の構成については、後ほど詳しく説明する。
【００３３】
移動体１−１は、補助輪部１７をさらに有していてもよい。補助輪部１７は、２つの補助車輪１７ａ、１７ｂを有する。２つの補助車輪１７ａと１７ｂは、それぞれが独立に回転可能なように取り付けられている。補助輪部１７を備えることにより、移動体１−１は安定に、かつ、スムーズに移動できる。
【００３４】
（３）制御部の構成
次に、移動体１−１を制御する制御部１６の構成について図３を用いて説明する。図３は、制御部の構成を示す図である。制御部１６は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ハードディスク装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、記憶媒体読み出し装置などの記憶装置、信号変換を行うインターフェースなどを備えたマイコンシステムなどにより実現できる。
また、制御部１６の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、上記機能の一部又は全部は、カスタムＩＣなどにより実現されていてもよい。
【００３５】
制御部１６は、記憶部１６１を有する。記憶部１６１は、制御部１６を構成するコンピュータシステムの記憶装置の記憶領域の一部である。記憶部１６１は、移動体１−１を制御するために用いられる各種情報を記憶する。
具体的には、記憶部１６１には、副環境地図が記憶されている。副環境地図は、例えば、移動環境ＭＥを表す座標平面上の構造物Ｏ及び／または壁Ｗの位置を示す座標値データの集合体であり、移動環境ＭＥの少なくとも一部を表す地図である。従って、移動環境ＭＥを表す環境地図は、典型的には、複数の副環境地図により構成できる。
【００３６】
副環境地図には、地図識別番号と、当該副環境地図の内容を示す地図内容情報（例えば、副環境地図のＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ、巡回冗長検査）情報）とが、関連付けられる。作成された副環境地図にどの地図識別番号を割り当てるかは、例えば、手動モードを実行中に、移動体１−１を操作するユーザにより決定される。
【００３７】
記憶部１６１には、保有地図情報が記憶されている。保有地図情報は、記憶部１６１に現在記憶されている（すなわち、移動体１−１が保有する）副環境地図である保有地図に関する情報である。具体的には、保有地図情報は、保有地図の地図識別番号と、当該保有地図の地図内容情報とを関連付けて記憶した情報である。
【００３８】
記憶部１６１には、移動体情報及び他移動体情報が記憶されている。移動体情報は、移動体１−１に関する情報であり、例えば、移動体１−１の動作モードを示す動作モードフラグと、本体部１１の一時停止又は走行（走行状態）を示す走行フラグと、干渉停止処理を実行中であるか否かを示す干渉停止処理実行フラグと、移動体１−１の現在の自己位置（後述）を示す座標値及び姿勢角と、移動体１−１が現在移動中の副環境地図の地図識別番号と、移動体１−１を識別するための情報（移動体１−１の移動体識別番号）と、移動体１−１に設定された設定優先度と、を含む。
一方、他移動体情報は、他の移動体１−２、１−３、１−４、１−５のそれぞれに関する情報であり、例えば、他の移動体のそれぞれの動作モードフラグと、走行フラグと、干渉停止処理実行フラグと、他の移動体のそれぞれの現在の自己位置を示す座標値及び姿勢角（「他移動体位置」と呼ぶことにする）と、他の移動体のそれぞれが現在移動中の副環境地図の地図識別番号と、他の移動体のそれぞれの移動体識別番号と、他の移動体のそれぞれに設定された設定優先度と、を含む。
【００３９】
このほか、上記の移動体情報及び他移動体情報は、それぞれ、移動体１−１及び他の移動体が通過中の経路の幅に関する情報を含んでいてもよい。各移動体が通過中の通路の幅は、例えば、副環境地図において、通路を形成する構造物Ｏや壁Ｗを構成する座標値データ間の距離を算出することにより得られる。
また、記憶部１６１には、さらに、移動体１−１が自律的に走行する経路を示す走行スケジュールが記憶されていてもよい。
【００４０】
制御部１６は、レーザレンジセンサ制御部１６２を有する。レーザレンジセンサ制御部１６２は、レーザレンジセンサ１３を制御する。また、レーザレンジセンサ制御部１６２は、構造物Ｏ及び／または壁Ｗの本体部１１からの相対的な位置を算出する。具体的には、レーザレンジセンサ１３からレーザ光を照射したタイミングと、反射光をレーザレンジセンサ１３（レーザ受信器）にて受信したタイミングとの時間差から、レーザレンジセンサ１３と構造物Ｏ及び／または壁Ｗとの距離が算出される。また、例えば、反射光を受信した時のレーザ受信器の受光面の角度から、本体部１１から見た構造物Ｏ及び／または壁Ｗが存在する方向が算出される。
【００４１】
レーザレンジセンサ制御部１６２は、本体部１１から見た構造物Ｏ及び／または壁Ｗが存在する相対的な距離と方向に関する情報を、移動環境ＭＥを表す座標平面上の座標値に変換する。
【００４２】
制御部１６は、自己位置決定部１６３を有する。自己位置決定部１６３は、移動環境ＭＥを移動中に、本体部１１の環境地図上の位置（自己位置）を決定する。具体的には、自己位置決定部１６３は、レーザレンジセンサ制御部１６２にて取得された本体部１１の周囲に存在する構造物Ｏ及び／又は壁Ｗの位置（座標値）に関する情報（ローカルマップと呼ぶ）と、モータ１２１ａ、１２１ｂのそれぞれの出力回転軸の回転量を測定するエンコーダ１２５ａ、１２５ｂから取得したモータ１２１ａ、１２１ｂの回転量と、に基づいて、本体部１１の位置を推定する。さらに具体的には、例えば、次のようにして、自己位置決定部１６３は本体部１１の位置を推定する。
【００４３】
まず、モータ１２１ａ、１２１ｂの回転量から、本体部１１の移動距離と姿勢角変化とを算出する。次に、自己位置決定部１６３にて前回推定された自己位置に、当該算出した移動距離と姿勢角変化とを加算して、現在の自己位置を推定する（デッドレコニングによる位置推定）。このとき、主輪１２３ａ、１２３ｂと移動環境ＭＥの走行面との滑り等を考慮して、複数の位置と姿勢角の「候補」を推定しておく。
なお、上記の複数の位置と推定角の「候補」のそれぞれには、本体部１１が当該各「候補」の位置及び姿勢角のそれぞれに到達する確率を関連づけておいてもよい。
【００４４】
次に、現在移動中の副環境地図上の上記の複数の位置の「候補」のそれぞれに、当該位置の「候補」における姿勢角に対応する角度だけ傾けたローカルマップを配置する。その後、上記の位置の「候補」に配置されたローカルマップと、現在移動中の副環境地図（あるいは現在移動中の副環境地図と当該副環境地図に隣接した副環境地図とを合体した合体地図）とを、例えば、「尤度計算」を実行してマップマッチングし、当該副環境地図（あるいは合体地図）と最もマッチしたローカルマップが配置された位置及び姿勢角の「候補」を、本体部１１の最終的な位置及び姿勢角と推定する（マップマッチングによる位置推定）。
なお、複数の位置と姿勢角の「候補」に本体部１１が当該各「候補」の位置及び姿勢角に到達する確率を関連づけた場合には、ローカルマップと副環境地図（あるいは合体地図）とが比較的よくマッチングしたいくつかの位置及び姿勢角の「候補」のうち、上記の確率が最大のものを現在の最終的な位置及び姿勢角と推定してもよい。
【００４５】
本実施形態において、移動体間距離を算出する場合に、自己位置決定部１６３は、移動体間距離を測定する対象である他の移動体が自己位置決定のために用いている副環境地図と同一の副環境地図を用いて、自己位置を決定する。これにより、移動体間距離を測定する際に、いずれかの位置の座標値を、他の座標の座標値に変換するなどの処理を実行することなく、簡単に移動体間距離を算出できる。
自己位置を他の移動体と同一の副環境地図を用いて決定するために、後述するように、本実施形態に係る自律移動体システム１００においては、複数の移動体１−１、１−２、・・・１−５の間で、各移動体１−１、１−２、・・・１−５が保有する副環境地図が共有される。
【００４６】
自己位置決定部１６３が、上記のように、デッドレコニングによる位置推定とマップマッチングによる位置推定とを用いて本体部１１の位置及び姿勢角（自己位置）を推定することにより、デッドレコニングにおける位置及び姿勢角の推定誤差と、マップマッチングにおける位置及び姿勢角の推定誤差（主に、レーザレンジセンサ１３により取得されるデータに含まれる誤差に起因する）とを相殺して、より精度よく自己位置を決定できる。
【００４７】
制御部１６は、走行制御部１６４を有する。走行制御部１６４は、モータ１２１ａ、１２１ｂを制御する。走行制御部１６４は、例えば、モータ１２１ａ、１２１ｂのそれぞれの制御量を算出し、当該制御量に基づいた駆動電力をモータ１２１ａ、１２１ｂのそれぞれに出力するモータドライバである。走行制御部１６４は、エンコーダ１２５ａ、１２５ｂから入力したモータ１２１ａ、１２１ｂの単位時間あたりの回転量（回転速度）が、所望の回転速度となるように、モータ１２１ａ、１２１ｂの制御量を算出している（フィードバック制御）。
【００４８】
走行制御部１６４は、ユーザによる切替などにより、自律モード又は手動モードのいずれかを実行可能となっている。自律モードの実行時においては、走行制御部１６４は、例えば、記憶部１６１に記憶された走行スケジュールに示された各通過位置（例えば、環境地図上の座標値）と、自己位置決定部１６３において決定された自己位置との差に基づいて、モータ１２１ａ、１２１ｂのそれぞれの制御量を算出して、算出された制御量に基づいた駆動電力を、これらのモータに出力する。
これにより、走行制御部１６４は、自律モードの実行時においては、本体部１１を、上記の走行スケジュールに従って、自律的に移動できる。
【００４９】
一方、手動モードの実行時においては、走行制御部１６４は、例えば、無線又は有線にて移動体１−１と通信可能なコントローラ又はコンピュータシステム、又は、移動体１−１に設けられた操作ハンドル（図示せず）などを用いたユーザの操作を受け付けて、当該ユーザの操作の操作量に基づいて、モータ１２１ａ、１２１ｂを制御する。これにより、移動体１−１は、ユーザの操作により移動可能となる。
【００５０】
走行制御部１６４は、記憶部１６１に記憶されている走行フラグを、本体部１１の移動又は停止に従って変化させる。例えば、モータ１２１ａ、１２１ｂの回転量が０でなく本体部１１を移動中と判断した場合には、走行制御部１６４は、走行フラグをＯＮ（例えば、「１」（ビットを立てる））とする。一方、モータ１２１ａ、１２１ｂの回転量が０であり本体部１１を停止中と判断した場合には、走行制御部１６４は、走行フラグをＯＦＦ（例えば、「０」（ビットを下げる））とする。
また、走行制御部１６４は、記憶部１６１に記憶されている動作モードフラグを、実行中の動作モードに従って変化させる。例えば、自律モードを実行中の場合には、走行制御部１６４は、動作モードフラグをＯＮとする。一方、手動モードを実行中の場合には、走行制御部１６４は、動作モードフラグをＯＦＦとする。
【００５１】
制御部１６は、障害物検出部１６５を有する。障害物検出部１６５は、移動環境ＭＥを移動中に、本体部１１の近辺の障害物を検出する。
具体的には、障害物検出部１６５は、移動環境ＭＥを移動中に、障害物検出センサ１５に対して超音波信号の出力を指令し、反射などにより障害物検出センサ１５に戻ってきた当該超音波信号を受信する。障害物検出部１６５は、超音波信号の出力を指令したタイミングと、反射などにより障害物検出センサ１５に戻ってきた超音波信号を受信したタイミングとの時間差から、障害物検出センサ１５から障害物までの距離を算出する。
本実施形態において、障害物検出部１６５は、障害物検出センサ１５から障害物までの距離が所定の距離以下であり、本体部１１の近辺に障害物が存在すると判断したら、走行制御部１６４に対して、本体部１１の移動を停止するよう指令する。これにより、移動体１−１は、障害物と衝突する前に、安全に停止できる。
【００５２】
制御部１６は、移動体間通信部１６６を有する。移動体間通信部１６６は、移動体間通信アンテナ１４を用いて他の移動体と互いに直接通信（移動体間通信）するための、例えば無線通信（無線ＬＡＮ、Ｗｉ−Ｆｉなど）モジュールである。移動体間通信部１６６は、例えば、アドホック通信にて、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）やＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）といった通信プロトコルを用いて、他の移動体の移動体間通信部と通信する。
これにより、移動体間通信部１６６は、移動体間通信が可能な移動体間で情報を共有できる。移動体間通信部１６６による移動体間での情報の共有については、後ほど詳しく説明する。
【００５３】
制御部１６は、距離算出部１６７を有する。距離算出部１６７は、自己位置と他移動体位置との間の距離を、移動体間距離として算出する。
【００５４】
制御部１６は、優先度決定部１６８を有する。優先度決定部１６８は、近接移動体（後述）との間の移動に関する移動優先度を決定する。優先度決定部１６８における移動優先度の決定方法については、後ほど詳しく説明する。
【００５５】
制御部１６は、干渉停止部１６９を有する。干渉停止部１６９は、他の移動体１−２、１−２、・・・１−５のうち、移動体間距離が干渉距離未満である移動体を、本体部１１に接近した移動体（「近接移動体」と呼ぶことにする）と決定する。本実施形態の干渉距離は、障害物検出部１６５が他の移動体からの超音波信号を誤検知するか、その逆に、他の移動体が障害物検出センサ１５からの超音波信号を誤検知する最大の移動体間距離として定義される。本実施形態における干渉距離の決定方法については、後ほど詳しく説明する。
【００５６】
干渉停止部１６９は、移動体間通信部１６６における移動体間通信が不調である場合に、近接移動体は存在しないと決定する。ここで、「移動体間通信が不調」であるとは、例えば、他の移動体の移動体間通信部を認識できない状態（例えば、他の移動体の移動体間通信部を識別するＩＰアドレス、ＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスなどを取得できない状態）、及び／又は、他の移動体の移動体間通信部を認識できるが通信エラーが発生している状態（例えば、通信パケットが受信できない確率が所定の値以上となった状態や、通信がタイムアウトした状態）などを指す。
上記のような移動体間通信の不調は、一般的に、本体部１１と他の移動体との間の距離が無線通信できない程度に離れている（この距離は、一般的に、干渉距離よりも大きい）場合に頻発する。従って、移動体間通信が不調である場合には、本体部１１と他の移動体との間の距離が干渉距離よりも大きいと判断し、近接移動体は存在しないと決定できる。
【００５７】
干渉停止部１６９は、優先度決定部１６８において近接移動体よりも自身の移動優先度が低いと決定されたら、干渉停止処理を実行する。干渉停止処理は、本体部１１が他の移動体と衝突することなく協調して走行するとともに、他の移動体の障害物検出部における障害物の誤検知を防止するための処理である。本実施形態における具体的な干渉停止処理については、後ほど説明する。
【００５８】
制御部１６は、走行スケジュール作成部１６１０を有する。走行スケジュール作成部１６１０は、ユーザの操作による移動体１−１の移動を走行スケジュールとして記憶部１６１に記憶する。
具体的には、走行スケジュール作成部１６１０は、ユーザの操作により移動体１−１を移動中に、所定の時間間隔毎に、自己位置決定部１６３において決定された自己位置を入力する。その後、走行スケジュール作成部１６１０は、入力した自己位置と、当該自己位置を決定した時刻とを関連づけて走行スケジュールを作成し、当該走行スケジュールを記憶部１６１に記憶する。走行スケジュール作成部１６１０は、自己位置を決定した時刻におけるユーザの操作の操作量を受け付けて、当該操作量を当該時刻と関連付けて走行スケジュールに記憶してもよい。
【００５９】
走行スケジュール作成部１６１０は、例えば、本体部１１を手動モードにて移動中に、ユーザにより指定された移動環境ＭＥ上の位置を中心とした副環境地図を、当該指定位置を中心とした構造物Ｏ及び／または壁Ｗの存在位置を示す座標値の集合体として作成し、記憶部１６１に記憶する。
具体的には、例えば、走行スケジュール作成部１６１０は、ユーザにより副環境地図の作成指令（上記の指定位置の指定）がなされたときに、レーザレンジセンサ制御部１６２に対して、指定位置に対する移動環境ＭＥ上の構造物Ｏ及び／または壁Ｗの相対位置を示す座標値データを取得するよう指令し、レーザレンジセンサ制御部１６２にて取得した当該座標値データを用いて、副環境地図を作成する。
その後、走行スケジュール作成部１６１０は、現在使用されていない地図識別番号に作成した副環境地図を割り当て、作成した副環境地図から地図内容情報を生成し、割り当てた地図識別番号と生成した地図内容情報とを関連付けて、保有地図情報に記憶する。
【００６０】
移動体１−１の制御部１６が上記の構成を有することにより、複数の移動体１−１、１−２、・・・１−５を制御する外部の制御システムを設けることなく、移動体１−１自身が、他の移動体１−２、１−３、１−４、１−５との位置関係及び移動に関する優先度を判断し、当該判断に基づいて本体部１１の移動を制御できる。これにより、例えば、自律移動体システム１００を異なる移動環境において使用する場合でも、自律移動体システム１００を大幅に再構築する必要がなくなる。
【００６１】
（４）干渉距離の決定方法
以下、近接移動体が存在するか否かを決定する際に用いられる干渉距離の決定方法について説明する。干渉距離は、以下のようにして、実際に誤検知がなされる距離を測定することにより、実験的に決定される。
【００６２】
本実施形態の障害物検出部１６５は、図４に示すように、障害物検出センサ１５から超音波信号を出力してからの時間に応じて、検出された超音波信号に対して閾値を設けている。図４は、検出する超音波信号の閾値の時間変化の一例を示す図である。
具体的には、障害物検出部１６５は、障害物検出センサ１５から超音波信号を出力してから時間ｔ１が経過するまでは、信号強度がｓ１以上である超音波信号を障害物検出センサ１５が受信した時に、障害物が存在すると判断する。
以降、時間ｔ１から時間ｔ２までは、信号強度がｓ２以上である超音波信号を障害物検出センサ１５が受信した時に、障害物が存在すると判断する。また、時間ｔ２から時間ｔ３までは、信号強度がｓ３以上である超音波信号を障害物検出センサ１５が受信した時に、障害物が存在すると判断する。さらに、時間ｔ３以降は、信号強度がｓ４以上である超音波信号を障害物検出センサ１５が受信した時に、障害物が存在すると判断する。
【００６３】
本実施形態の障害物検出部１６５は、このうち、超音波信号が出力されて時間ｔ１までに信号強度がｓ１以上である（障害物検出センサ１５から出力され障害物にて反射された）超音波信号が受信されたときに、本体部１１の近辺に障害物が存在すると判断する。すなわち、障害物検出部１６５は、障害物検出センサ１５と障害物との間の距離がｃ＊ｔ１／２（ｃ：音速）以下となったときに、本体部１１の近辺に障害物が存在すると判断する。
【００６４】
従って、本実施形態においては、移動体において用いる２つの障害物検出センサの間の距離を変化させながら一方の障害物検出センサから超音波信号を出力したときに、他方の障害物検出センサにてどの強度の超音波信号が受信されるかを実際に測定し、当該測定結果を用いて干渉距離を決定する。
当該測定結果を、２つのセンサ間の距離を横軸とし、他方の障害物検出センサにて検出された信号強度を縦軸とした座標上にプロットすると、例えば、図５の実線にて示す関係が得られる。図５は、２つのセンサ間距離と検出された信号強度との関係の一例を示す図である。
【００６５】
次に、上記の２つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がｓ１となったときの２つのセンサ間の距離を、干渉基準距離と決定する。干渉基準距離を決定後、例えば、当該干渉基準距離に、障害物検出センサ１５の本体部１１における設置位置と本体部１１の中心位置との間の距離の２倍の値を加算して、干渉距離と決定する。
干渉距離を算出する際に、障害物検出センサ１５の設置位置と本体部１１の中心位置との間の距離の２倍の値を干渉基準距離に加える理由は、自己位置及び他移動体位置が本体部の中心位置の座標値として定義されているためである。
【００６６】
上記のようにして干渉距離を決定することにより、他の移動体から出力された超音波信号が、障害物検出センサ１５において信号強度がｓ１以上となって検出される誤検知を回避できる。すなわち、信号強度がｓ１以上である他の移動体から出力された超音波信号を誤検知して、障害物（他の移動体）と本体部とが十分（距離ｃ＊ｔ１／２以上）離れているにも関わらず、本体部１１の近辺に障害物が存在すると判断してしまうことを回避できる。
【００６７】
（５）自律移動体システムにおける移動体の動作
（５−１）移動体の移動動作
以下、自律移動体システム１００における移動体の移動動作を説明する。以下においては、移動体１−１の移動動作を例にとって説明する。
移動体１−１の電源をオンにして移動体１−１を起動すると、ユーザは、例えば、本体部１１に設けられた切替スイッチ（例えば、電気スイッチ、タッチパネルなど）、又は、移動体１−１を操作するコントローラを操作して、移動体１−１の動作モードを手動モードとするか自律モードとするか切り替える。
走行制御部１６４は、動作モードとして自律モードが選択された場合には移動体情報の動作モードフラグをＯＮに、手動モードが選択された場合には動作モードフラグをＯＦＦに更新する。
【００６８】
自律モードの実行中には、移動体１−１は、例えば、記憶部１６１に記憶された走行スケジュールに従って、移動環境ＭＥを自律的に移動する。
一方、手動モードの実行中には、移動体１−１は、無線又は有線にて移動体１−１と通信可能なコントローラ又はコンピュータシステム、又は、移動体１−３に設けられた操作ハンドルからのユーザによる操作を受け付ける。この結果、移動体１−１は、ユーザの操作により、移動環境ＭＥを移動する。
【００６９】
上記の移動中に、移動体１−１は、他の移動体との間の位置関係や移動優先度の高低を判断し、当該判断に基づいて、干渉停止処理を実行するか否かを決定する。また、上記の移動中に、移動体１−１は、移動体間通信により、他の移動体と情報を共有する。
【００７０】
（５−２）他の移動体との情報共有処理
以下、移動環境ＭＥの移動中に実行される他の移動体との情報共有処理について、図６を用いて説明する。図６は、他の移動体との情報共有処理の流れを示すフローチャートである。
情報共有処理を開始すると、移動体間通信部１６６は、通信可能移動体（以下、通信可能移動体と呼ぶことがある）が存在するか否かを判断する（ステップＳ１１）。具体的には、例えば、移動体間通信部１６６が、他の移動体の移動体間通信部を認識できる場合には、通信可能移動体が存在すると判断する。なお、情報共有処理を実行中に移動体間通信の通信エラーが発生した場合には、他の移動体の移動体間通信部との通信を停止する。
【００７１】
通信可能移動体が存在しないと判断した場合（ステップＳ１１において「Ｎｏ」の場合）、移動体間通信部１６６は、通信可能移動体が出現するまで待機する。
一方、通信可能移動体が存在すると判断した場合（ステップＳ１１において「Ｙｅｓ」の場合）、移動体間通信部１６６は、現在記憶部１６１に記憶されている移動体情報を、通信可能移動体のそれぞれに送信する（ステップＳ１２）。当該送信された移動体情報を受信した他の移動体の移動体間通信部は、受信した移動体情報を、他の移動体における他移動体情報として、当該他の移動体の記憶部に記憶する。これにより、移動体１−１に関する情報が、他の移動体と共有される。
【００７２】
移動体情報を送信後、移動体間通信部１６６は、通信可能移動体のそれぞれから、当該他の移動体の移動体情報を受信する（ステップＳ１３）。他の移動体の移動体情報を受信すると、移動体間通信部１６６は、当該受信した移動体情報を、他移動体情報として記憶部１６１に記憶する。これにより、他の移動体に関する情報が、移動体１−１において共有される。
【００７３】
移動体情報及び他移動体情報を共有後、移動体間通信部１６６は、記憶部１６１に記憶されていない（すなわち、移動体１−１が所有していない）副環境地図である非保有地図を、通信可能移動体が保有しているか否かを判断する（ステップＳ１４）。
具体的には、まず、移動体間通信部１６６は、通信可能移動体の記憶部に現在記憶されている保有地図情報を、当該他の移動体から受信する。次に、移動体間通信部１６６は、記憶部１６１に記憶されている保有地図情報に含まれる地図内容情報と一致しない地図内容情報が、受信した他の移動体の保有地図情報に含まれている場合に、非保有地図を他の移動体が保有していると判断する。
【００７４】
非保有地図を通信可能移動体が保有していると判断した場合（ステップＳ１４において「Ｙｅｓ」の場合）、移動体間通信部１６６は、非保有地図を当該他の移動体から受信する（ステップＳ１５）。
具体的には、移動体間通信部１６６は、まず、他の移動体の保有地図情報において上記の非保有地図と関連付けられている地図識別番号を、当該他の移動体へ送信する。当該地図識別番号を受信した他の移動体の移動体間通信部は、当該受信した地図識別番号に関連付けられた副環境地図を、移動体間通信部１６６へ送信する。
なお、移動体間通信のタイミングによっては、他の移動体へ非保有地図の地図識別番号を送信することなく、通信可能移動体から、受信希望の非保有地図が送信されてくる場合もある。
【００７５】
副環境地図（非保有地図）を他の移動体から受信した移動体間通信部１６６は、当該副環境地図を記憶部１６１に記憶する。その後、移動体間通信部１６６は、当該受信した副環境地図に地図識別番号を割り当てるとともに、当該他の移動体から受信した副環境地図の地図内容情報を、当該副環境地図に割り当てられた地図識別番号と関連付けて、保有地図情報に記憶する。
これにより、記憶部１６１に記憶されていなかった副環境地図（非保有地図）が、他の移動体と共有される。
【００７６】
一方、非保有地図を通信可能移動体が保有していないと判断した場合（ステップＳ１４において「Ｎｏ」の場合）、情報共有処理は、ステップＳ１６に進む。
【００７７】
非保有地図を共有後、移動体間通信部１６６は、記憶部１６１に記憶されている副環境地図である保有地図を、通信可能移動体が保有していないか否かを判断する（ステップＳ１６）。
具体的には、移動体間通信部１６６は、記憶部１６１に記憶されている保有地図情報に含まれる地図内容情報と一致する地図内容情報が、上記のステップＳ１４にて他の移動体から受信した保有地図情報に含まれていない場合に、保有地図を当該他の移動体が保有していないと判断する。
なお、移動体間通信のタイミングによっては、他の移動体が保有していない保有地図が存在するか否かの判断の完了前に、他の移動体から当該他の移動体に送信すべき保有地図の地図識別番号が送信されてくる場合もある。このような場合にも、移動体間通信部１６６は、保有地図を通信可能移動体が保有していないと判断する。
【００７８】
保有地図を通信可能移動体が保有していないと判断した場合（ステップＳ１６において「Ｙｅｓ」の場合）、移動体間通信部１６６は、保有地図を当該他の移動体へ送信する（ステップＳ１７）。
具体的には、移動体間通信部１６６は、まず、記憶部１６１に記憶されている保有地図情報に含まれるが、他の移動体から受信した保有地図情報には含まれていない地図内容情報に関連付けられている地図識別番号を特定する。なお、他の移動体から送信希望の地図識別番号を受信した場合には、送信したい保有地図の地図識別番号を特定する処理は必要ない。
次に、移動体間通信部１６６は、上記のように特定した地図識別番号又は他の移動体から受信した地図識別番号に割り当てられた副環境地図（保有地図）を、当該特定した保有地図を送信すべき他の移動体、又は、当該送信希望の地図識別番号を送信してきた他の移動体へと送信する。
【００７９】
上記の副環境地図（保有地図）を受信した他の移動体の移動体間通信部は、当該受信した副環境地図を、当該他の移動体における保有地図として記憶部に記憶する。その後、当該他の移動体の移動体間通信部は、移動体間通信部１６６から受信した副環境地図の地図内容情報を、当該受信した副環境地図に当該他の移動体において割り当てられた地図識別番号と関連付けて、当該他の移動体の保有地図情報に記憶する。
これにより、記憶部１６１に記憶されていた副環境地図（保有地図）が、他の移動体と共有される。
【００８０】
一方、保有地図を通信可能移動体が保有していると判断した場合（ステップＳ１６において「Ｎｏ」の場合）、情報共有処理は、ステップＳ１８に進む。
【００８１】
上記のステップＳ１１〜Ｓ１７を実行後、移動体間通信部１６６は、情報共有処理を停止するか否かを判断する（ステップＳ１８）。例えば、移動体１−１が移動を完了して他の移動体と情報共有する必要がなくなった場合に、情報共有処理を停止すると判断する。
情報共有処理を停止しないと判断した場合（ステップＳ１８において「Ｎｏ」の場合）、情報共有処理は、ステップＳ１１に戻る。すなわち、情報共有処理は継続される。
一方、情報共有処理を停止すると判断した場合（ステップＳ１８において「Ｙｅｓ」の場合）、移動体間通信部１６６は、情報共有処理を停止する。
【００８２】
上記のステップＳ１１〜Ｓ１８を移動環境ＭＥの移動中に実行することにより、移動体１−１は、他の移動体１−２、１−３、１−４、１−５と互いに情報を共有できる。
なお、移動体１−１の記憶部１６１に記憶されている情報を基準として他の移動体１−２、１−３、１−４、１−５の情報を更新又は追加することにより情報を共有するか、その逆に、他の移動体１−２、１−３、１−４、１−５のいずれかの記憶部に記憶されている情報を基準として移動体１−１の情報を更新又は追加することにより情報を共有するかは、移動体間通信の開始タイミング（例えば、どの移動体がより早く移動体間通信を開始したかなど）などにより、適宜決定できる。
【００８３】
（５−３）干渉停止処理を実行するか否かの決定処理
次に、移動環境ＭＥの移動中に移動体１−１における干渉停止処理の実行を決定する処理（以下、決定処理と呼ぶことがある）について、図７を用いて説明する。図７は、干渉停止処理を実行するか否かを決定する処理の流れを示すフローチャートである。
【００８４】
決定処理を開始すると、干渉停止部１６９は、干渉停止処理を現在実行中であるか否かを判断する（ステップＳ１）。そのために、干渉停止部１６９は、記憶部１６１に現在記憶されている移動体情報の干渉停止処理実行フラグの状態を参照する。
【００８５】
例えば、干渉停止処理実行フラグがＯＦＦであり、移動体１−１において干渉停止処理が現在実行されていないと判断した場合（ステップＳ１において「Ｎｏ」の場合）、決定処理は、ステップＳ２に進む。すなわち、干渉停止処理を実行すべきか否かを決定して、実行すべきと判断された場合には、干渉停止処理を実行する。
一方、例えば、干渉停止処理実行フラグがＯＮであり、移動体１−１において干渉停止処理が現在実行中であると判断した場合（ステップＳ１において「Ｙｅｓ」の場合）、決定処理は、ステップＳ７に進む。すなわち、現在実行中の干渉停止処理を解除すべきか否かを決定して、解除すべきと判断された場合には、干渉停止処理を停止する。
【００８６】
ステップＳ２において、干渉停止部１６９は、移動体１−１において実行中の動作モードが自律モードであるか手動モードであるかを判断する。具体的には、干渉停止部１６９は、記憶部１６１に現在記憶されている移動体情報の動作モードフラグの状態を参照する。その他、干渉停止部１６９は、動作モードを切り替える切替スイッチの状態を検知してもよい。
【００８７】
例えば、動作モードフラグがＯＮであり、移動体１−１が自律モードを実行中であると判断した場合（ステップＳ２において「自律」の場合）、決定処理は、ステップＳ３に進む。すなわち、制御部１６は、自律モード実行中において干渉停止処理を実行するか否かを決定する。この処理を、以下、「第１停止チェック処理」と呼ぶ。
一方、例えば、動作モードフラグがＯＦＦであり、移動体１−１が手動モードを実行中であると判断した場合（ステップＳ２において「手動」の場合）、決定処理は、ステップＳ４に進む。すなわち、制御部１６は、手動モード実行中において干渉停止処理を実行するか否かを決定する。この処理を、以下、「第２停止チェック処理」と呼ぶことにする。
なお、上記の第１停止チェック処理及び第２停止チェック処理については、後ほど詳しく説明する。
【００８８】
ステップＳ３（第１停止チェック処理）又はＳ４（第２停止チェック処理）を実行後、第１停止チェック処理又は第２停止チェック処理において干渉停止処理を実行すると判断した場合（ステップＳ５において「Ｙｅｓ」の場合）、干渉停止部１６９は、干渉停止処理実行フラグをＯＮにして、干渉停止処理を実行する（ステップＳ６）。
具体的には、干渉停止部１６９は、走行制御部１６４に対して本体部１１の移動を停止するよう指令することと（手動モードの実行中においては、走行制御部１６４に対してユーザによる操作を受け付けないよう指令する）、障害物検出部１６５に対して障害物検出センサ１５からの超音波信号の出力を停止するか、又は、超音波信号の強度を弱くして出力する（例えば、信号強度を上記の信号強度ｓ１よりも小さくして出力する）よう指令する。
また、干渉停止部１６９は、本体部１１に設けられたＬＥＤランプ（図示せず）を点灯させる。
【００８９】
干渉停止部１６９が上記の処理を干渉停止処理として実行することにより、移動体１−１は、他の移動体と衝突することなく協調して走行可能となる。また、他の移動体の障害物検出部が、移動体１−１の障害物検出センサ１５から出力された超音波信号を誤検知して、当該他の移動体の近辺に障害物が存在すると誤判断することを回避できる。
干渉停止処理を実行後、決定処理は、ステップＳ１０に進む。
【００９０】
一方、第１停止チェック処理又は第２停止チェック処理において干渉停止処理を実行しないと判断した場合（ステップＳ５において「Ｎｏ」の場合）、干渉停止処理を実行することなく、決定処理は、ステップＳ１０に進む。
【００９１】
上記のステップＳ１において干渉停止処理が現在実行中であると判断した場合、干渉停止部１６９は、現在実行中の干渉停止処理を解除すべきか否かを決定する（ステップＳ７）。この処理を、以下、「停止解除チェック処理」と呼ぶことにする。なお、停止解除チェック処理は後述する。
ステップＳ７において現在実行中の干渉停止処理を解除しないと判断した場合（ステップＳ８において「Ｎｏ」の場合）、決定処理は、ステップＳ１に戻る。すなわち、干渉停止部１６９は、現在実行中の干渉停止処理を継続する。
【００９２】
一方、ステップＳ７の停止解除チェック処理において現在実行中の干渉停止処理を解除すると判断した場合（ステップＳ８において「Ｙｅｓ」の場合）、干渉停止部１６９は、干渉停止処理実行フラグをＯＦＦにして、現在実行中の干渉停止処理を解除する（ステップＳ９）。
具体的には、干渉停止部１６９は、走行制御部１６４に対して本体部１１の移動を再開するよう指令し（手動モードの実行中においては、走行制御部１６４に対してユーザによる操作を受け付けるよう指令する）、障害物検出部１６５に対して障害物検出センサ１５から通常の強度を有する超音波信号を出力するよう指令する。また、干渉停止部１６９は、本体部１１に設けられたＬＥＤランプを消灯する。
【００９３】
上記のステップＳ１〜Ｓ９を実行後、制御部１６は、決定処理を終了するか否かを判断する（ステップＳ１０）。例えば、移動体１−１の移動が完了したと判断した場合（自律モードの実行時には走行スケジュールの全てを完了した場合、手動モードの実行時にはユーザによる操作を一定期間受信できなかったことにより移動を完了すると判断した場合）、制御部１６は、決定処理を終了すると判断する。
【００９４】
決定処理を終了しないと判断した場合（ステップＳ１０において「Ｎｏ」の場合）、決定処理は、ステップＳ１に戻り、当該処理を継続する。
一方、決定処理を終了すると判断した場合（ステップＳ１０において「Ｙｅｓ」の場合）、決定処理は終了する。
【００９５】
上記のステップＳ１〜Ｓ１０を実行することにより、上記の干渉停止処理を実行するか否かを制御部１６が判断して、当該判断に基づいて、制御部１６が干渉停止処理を実行又は解除できる。すなわち、各移動体１−１、１−２、・・・１−５が自律的に干渉停止処理を実行するか否かを判断でき、干渉停止処理を自律的に実行又は解除できる。
この結果、各移動体１−１、１−２、・・・１−３は、外部の制御システムにより統括的に制御されることなく、自律的に協調して移動環境ＭＥを移動できる。
【００９６】
（５−４）第１停止チェック処理
次に、上記のステップＳ３において実行される第１停止チェック処理について、図８を用いて説明する。図８は、第１停止チェック処理の流れを示すフローチャートである。
上記のステップＳ２において実行中の動作モードが自律モードと判断され、第１停止チェック処理が開始されると、干渉停止部１６９は、通信可能移動体が存在しているか否かを判断する（ステップＳ３−１）。干渉停止部１６９は、例えば、移動体間通信部１６６において他の移動体の移動体間通信部が全く認識できないか、又は、他の移動体の移動体間通信部との間の移動体間通信に通信エラーが発生している場合に、通信可能移動体が存在しないと判断する。
【００９７】
通信可能移動体が存在しないと判断した場合（ステップＳ３−１において「Ｎｏ」の場合）、干渉停止部１６９は、移動体１−１の近辺に近接移動体が存在していないと判断し、干渉停止処理を実行しないと判断する（ステップＳ３−１２）。その後、第１停止チェック処理を終了する。
一方、通信可能移動体が存在している場合（ステップＳ３−１において「Ｙｅｓ」の場合）、当該通信可能移動体の中に近接移動体が存在する可能性があるので、干渉停止部１６９は、通信可能移動体の中に近接移動体が存在するか否かを判断する（ステップＳ３−２）。
【００９８】
具体的には、干渉停止部１６９は、まず、距離算出部１６７に対して、移動体１−１と、通信可能移動体のそれぞれとの移動体間距離を算出するよう指令する。当該指令を受けた距離算出部１６７は、記憶部１６１に記憶されている移動体情報に含まれる自己位置の座標値と、他移動体情報に含まれる他移動体位置の座標値と、を用いて、移動体１−１の本体部１１の中心と他の移動体の本体部の中心との間の距離を、移動体間距離として算出する。
【００９９】
移動体間距離が上記の干渉距離未満である他の移動体が存在しない場合（ステップＳ３−２において「Ｎｏ」の場合）、干渉停止部１６９は、近接移動体が存在しないと判断し、干渉停止処理を実行しないと判断する（ステップＳ３−１２）。その後、第１停止チェック処理を終了する。
一方、移動体間距離が上記の干渉距離未満である他の移動体が存在する場合（ステップＳ３−２において「Ｙｅｓ」の場合）、干渉停止部１６９は、近接移動体が存在すると判断する。干渉停止部１６９は、近接移動体である他の移動体（例えば、近接移動体の移動体識別番号）を特定後、優先度決定部１６８に対して、移動体１−１の移動優先度と近接移動体の移動優先度との比較結果を通知するよう指令する。
【０１００】
上記の指令を受けた優先度決定部１６８は、まず、近接移動体が自律モードを実行中であるかどうかを判断する（ステップＳ３−３）。なお、以下のステップＳ３−３〜Ｓ３−１０は、１つの近接移動体と移動体１−１との移動優先度の比較として実行され、複数の近接移動体が存在する場合には、存在する近接移動体分だけ繰り返し実行される。優先度決定部１６８は、例えば、近接移動体の他移動体情報に含まれる動作モードフラグを参照することにより、近接移動体において実行されている動作モードを判断する。
比較対象の近接移動体の他移動体情報に含まれる動作モードフラグがＯＦＦであり、比較対象の近接移動体が手動モードを実行中であると判断した場合（ステップＳ３−３において「Ｎｏ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第１停止チェック処理は、ステップＳ３−１０に進む。
【０１０１】
一方、比較対象の近接移動体が自律モードを実行中（すなわち、動作モードフラグがＯＮ）の場合（ステップＳ３−３において「Ｙｅｓ」の場合）、優先度決定部１６８は、動作モードの比較では移動優先度の高低を決定できないと判断し、さらに移動優先度の高低を決定する処理を実行する。
【０１０２】
上記の判断後には、優先度決定部１６８は、移動体１−１の走行状態と近接移動体の走行状態との比較により、移動優先度の高低を決定する。
優先度決定部１６８は、例えば、移動体情報の走行フラグを参照して、移動体１−１の走行状態を決定する。一方、近接移動体の走行状態は、例えば、近接移動体の他移動体情報の走行フラグと干渉停止処理実行フラグとを参照することにより決定される。
【０１０３】
上記のように、近接移動体の他移動体情報において走行フラグと干渉停止処理実行フラグとを参照する理由は、走行フラグの情報だけでは、近接移動体が、通常の移動において一時停止しているだけなのか、干渉停止処理の実行により一時停止しているかを区別できないからである。本実施形態においては、干渉停止処理を実行していない（すなわち、干渉停止処理実行フラグがＯＦＦである）近接移動体の走行状態と、移動体１−１の走行状態との比較を行う。
一方、移動体１−１の移動体情報において走行フラグの情報のみを参照すればよい理由は、第１停止チェック処理を実行していることは、移動体１−１が干渉停止処理を実行していないことを意味しているからである。
【０１０４】
移動体情報の走行フラグがＯＮ（移動体１−１が走行中）、かつ、比較対象の近接移動体の他移動体情報の走行フラグがＯＦＦ（比較対象の近接移動体が自律モードにて一時停止中）の場合（ステップＳ３−４において「Ｙｅｓ」であり、かつ、ステップＳ３−５において「Ｎｏ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第１停止チェック処理は、ステップＳ３−１０に進む。
【０１０５】
一方、移動体情報の走行フラグがＯＦＦ（移動体１−１が一時停止中）、かつ、比較対象の近接移動体の他移動体情報の走行フラグがＯＮ（比較対象の近接移動体が自律モードにて走行中）の場合（ステップＳ３−４において「Ｎｏ」であり、かつ、ステップＳ３−６において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部１６９へ通知する。干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ３−１１）、第１停止チェック処理を終了する。
【０１０６】
さらに、移動体情報の走行フラグがＯＮ（移動体１−１が走行中）、かつ、比較対象の近接移動体の他移動体情報の走行フラグがＯＮである（比較対象の近接移動体が自律モードにて走行中）場合（ステップＳ３−４において「Ｙｅｓ」であり、かつ、ステップＳ３−５において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
【０１０７】
また、移動体情報の走行フラグがＯＦＦ（移動体１−１が一時停止中）、かつ、比較対象の近接移動体の他移動体情報の走行フラグがＯＦＦである（比較対象の近接移動体が自律モードにて一時停止中）場合（ステップＳ３−４において「Ｎｏ」であり、かつ、ステップＳ３−６において「Ｎｏ」の場合）にも、優先度決定部１６８は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
【０１０８】
移動優先度同士の高低が、実行中の動作モード及び走行状態の比較によって決定できない場合、優先度決定部１６８は、移動体１−１が通過中の通路の幅と、近接移動体が通過中の通路の幅とを比較して、移動優先度を決定する（ステップＳ３−７）。通過中の通路の幅は、上記のようにして副環境地図を用いて算出してもよいし、移動体情報及び他移動体情報を参照することにより取得してもよい。
【０１０９】
移動体１−１が通過中の通路の幅が、比較対象の近接移動体が通過中の通路の幅よりも狭い場合（ステップＳ３−７において「狭」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第１停止チェック処理は、ステップＳ３−１０に進む。
一方、移動体１−１が通過中の通路の幅が、比較対象の近接移動体が通過中の通路の幅よりも広い場合（ステップＳ３−７において「広」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ３−１１）、第１停止チェック処理を終了する。
【０１１０】
上記のように、より幅が狭い通路を通過中の移動体の移動優先度を高めることにより、例えば、現在狭い通路を通過している移動体を当該狭い通路から脱出させたあとに、他の移動体を当該狭い通路へ進入させることができる。その結果、複数の移動体が狭い通路を効率よく協調して通過できる。
【０１１１】
さらに、移動体１−１が通過中の通路の幅が、比較対象の近接移動体が通過中の通路の幅と同一の場合（ステップＳ３−７において「同一」の場合）、優先度決定部１６８は、通過中の通路の幅によって移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
【０１１２】
上記のように、移動優先度同士の高低を、通過中の通路の幅に基づいても決定できない場合、優先度決定部１６８は、移動体１−１に設定された設定優先度と、近接移動体に設定された設定優先度との比較により、移動優先度を決定する（ステップＳ３−８）。
優先度決定部１６８は、移動体情報及び近接移動体の他移動体情報を参照することにより、移動体１−１及び近接移動体の設定優先度を取得できる。
【０１１３】
移動体１−１の設定優先度が、比較対象の近接移動体の設定優先度よりも高い場合（ステップＳ３−８において「高」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第１停止チェック処理は、ステップＳ３−１０に進む。
一方、移動体１−１の設定優先度が、比較対象の近接移動体の設定優先度よりも低い場合（ステップＳ３−８において「低」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ３−１１）、第１停止チェック処理を終了する。
これにより、ユーザにより決められた設定優先度がより高い移動体を優先的に移動させて、複数の移動体１−１、１−２、・・・１−５は、移動環境ＭＥを効率的に移動できる。
【０１１４】
さらに、移動体１−１の設定優先度が、比較対象の近接移動体の設定優先度と同一の場合（ステップＳ３−８において「同一」の場合）、優先度決定部１６８は、設定優先度では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
なお、複数の移動体１−１、１−２、・・・１−５において設定優先度が設定されていない場合にも、優先度決定部１６８は、設定優先度では移動優先度を決定できないと判断する。
【０１１５】
移動優先度相互の高低が、実行中の動作モード、走行状態、通路の幅、及び設定優先度の比較によって決定できない場合、優先度決定部１６８は、移動体１−１に割り当てられた移動体識別番号と、近接移動体に割り当てられた移動体識別番号との大小の比較により、移動優先度を決定する（ステップＳ３−９）。
優先度決定部１６８は、移動体情報及び近接移動体の他移動体情報を参照することにより、移動体１−１及び近接移動体の移動体識別番号を取得できる。
【０１１６】
移動体１−１の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも小さい場合（ステップＳ３−９において「Ｎｏ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第１停止チェック処理は、ステップＳ３−１０に進む。
一方、移動体１−１の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも大きい場合（ステップＳ３−９において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ３−１１）、第１停止チェック処理を終了する。
これにより、個別に割り当てられた移動体識別番号がより小さい移動体を優先的に移動できる。
【０１１７】
上記のステップＳ３−３〜Ｓ３−９を実行した結果、移動体１−１の移動優先度が今回の比較対象の近接移動体の移動優先度よりも高いと判定された場合、優先度決定部１６８は、全ての近接移動体に対してステップＳ３−３〜Ｓ３−９の判定を実行したか否かを判断する（ステップＳ３−１０）。全ての近接移動体に対して移動優先度の高低の判定を実行したか否かは、例えば、近接移動体とされた移動体の識別番号の全てに対して、上記のステップＳ３−３〜Ｓ３−９を実行したかを確認することにより、判断できる。
【０１１８】
移動優先度の判定を実行すべき近接移動体が存在する場合（ステップＳ３−１０において「Ｎｏ」の場合）、第１停止チェック処理は、ステップＳ３−３に戻り、他の近接移動体を比較対象として、移動優先度の高低の判定を実行する。
一方、移動優先度の判定を全ての近接移動体に対して実行した場合（ステップＳ３−１０において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度がどの近接移動体よりも高いと判定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行しないと判断し（ステップＳ３−１２）、第１停止チェック処理を終了する。
【０１１９】
上記のステップＳ３−１〜Ｓ３−１２を実行することにより、干渉距離未満の範囲内に存在する複数台の移動体のうち、移動優先度が最も高い移動体を、優先的に移動できる。
【０１２０】
（５−５）第２停止チェック処理
次に、上記のステップＳ４において実行される第２停止チェック処理について、図９を用いて説明する。図９は、第２停止チェック処理の流れを示すフローチャートである。
上記のステップＳ２において実行中の動作モードが手動モードと判断され、第２停止チェック処理が開始されると、干渉停止部１６９は、通信可能移動体が存在しているか否かを判断する（ステップＳ４−１）。
【０１２１】
通信可能移動体が存在しないと判断した場合（ステップＳ４−１において「Ｎｏ」の場合）、干渉停止部１６９は、移動体１−１の近辺に近接移動体が存在していないと判断し、干渉停止処理を実行しないと判断する（ステップＳ４−１０）。その後、第２停止チェック処理を終了する。
一方、通信可能移動体が存在している場合（ステップＳ４−１において「Ｙｅｓ」の場合）、当該通信可能移動体の中に近接移動体が存在する可能性があるので、干渉停止部１６９は、通信可能移動体の中に近接移動体が存在するか否かを判断する（ステップＳ４−２）。
【０１２２】
移動体間距離が干渉距離未満である他の移動体が存在しない場合（ステップＳ４−２において「Ｎｏ」の場合）、干渉停止部１６９は、近接移動体が存在しないと判断し、干渉停止処理を実行しないと判断する（ステップＳ４−１０）。その後、第２停止チェック処理を終了する。
一方、移動体間距離が干渉距離未満である他の移動体が存在する場合（ステップＳ４−２において「Ｙｅｓ」の場合）、干渉停止部１６９は、近接移動体が存在すると判断する。この場合、干渉停止部１６９は、近接移動体の移動体識別番号を特定後、優先度決定部１６８に対して、移動優先度同士の比較結果を通知するよう指令する。
なお、以下に説明する移動優先度の高低の決定は、上記の第１停止チェック処理と同様に、近接移動体毎の移動優先度の比較を、特定された全ての近接移動体分だけ繰り返し実行することにより行われる。
【０１２３】
上記の指令を受けた優先度決定部１６８は、まず、近接移動体が手動モードを実行中であるかどうかを判断する（ステップＳ４−３）。
比較対象の近接移動体の動作モードフラグがＯＮであり、当該比較対象の近接移動体が自律モードを実行中であると判断した場合（ステップＳ４−３において「Ｎｏ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部１６９に通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ４−１１）、第２停止チェック処理を終了する。これにより、自律モードを実行中の近接移動体を優先的に移動できる。
【０１２４】
一方、比較対象の近接移動体の動作モードフラグがＯＦＦであり、当該近接移動体が手動モードを実行中であると判断した場合（ステップＳ４−３において「Ｙｅｓ」の場合）、優先度決定部１６８は、動作モードの比較では移動優先度の高低を決定できないと判断し、さらに移動優先度の高低を決定する処理を実行する。
【０１２５】
動作モードの比較では移動優先度の高低を決定できないと判断すると、優先度決定部１６８は、次に、移動体１−１の走行状態と近接移動体の走行状態との比較により、移動優先度の高低を決定する。
移動体情報の走行フラグがＯＦＦ（移動体１−１が一時停止中）、かつ、比較対象の近接移動体の他移動体情報の走行フラグがＯＮ（比較対象の近接移動体が手動モードにて走行中）の場合（ステップＳ４−４において「Ｙｅｓ」であり、かつ、ステップＳ４−５において「Ｎｏ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ４−１１）、第２停止チェック処理を終了する。これにより、現在移動中の近接移動体を優先的に移動できる。
【０１２６】
一方、移動体情報の走行フラグがＯＮ（移動体１−１が走行中）、かつ、比較対象の近接移動体の走行フラグがＯＦＦ（比較対象の近接移動体が手動モードにて一時停止中）の場合（ステップＳ４−４において「Ｎｏ」であり、かつ、ステップＳ４−６において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第２停止チェック処理は、ステップＳ４−９へ進む。
【０１２７】
さらに、移動体情報の走行フラグがＯＦＦ（移動体１−１が一時停止中）、かつ、比較対象の近接移動体の走行フラグがＯＦＦである（比較対象の近接移動体が手動モードにて一時停止中）場合（ステップＳ４−４において「Ｙｅｓ」であり、かつ、ステップＳ４−５において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
【０１２８】
また、移動体情報の走行フラグがＯＮ（移動体１−１が走行中）、かつ、比較対象の近接移動体の走行フラグがＯＮ（比較対象の近接移動体が手動モード実行にて走行中）の場合（ステップＳ４−４において「Ｎｏ」であり、かつ、ステップＳ４−６において「Ｎｏ」の場合）にも、優先度決定部１６８は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
【０１２９】
移動優先度同士の高低が実行中の動作モード及び走行状態の比較によって決定できない場合、優先度決定部１６８は、移動体１−１に設定された設定優先度と、近接移動体に設定された設定優先度との比較により、移動優先度を決定する（ステップＳ４−７）。
【０１３０】
移動体１−１の設定優先度が、比較対象の近接移動体の設定優先度よりも高い場合（ステップＳ４−７において「高」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第２停止チェック処理は、ステップＳ４−９へ進む。
一方、移動体１−１の設定優先度が、比較対象の近接移動体の設定優先度よりも低い場合（ステップＳ４−７において「低」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体に移動優先度よりも低いと決定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ４−１１）、第２停止チェック処理を終了する。
これにより、ユーザにより決められた設定優先度が高い移動体を優先的に移動させて、複数の移動体１−１、１−２、・・・１−５は、移動環境ＭＥを効率的に移動できる。
【０１３１】
さらに、移動体１−１の設定優先度が、比較対象の近接移動体の設定優先度と同一である場合（ステップＳ４−７において「同一」の場合）、優先度決定部１６８は、設定優先度では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
なお、複数の移動体１−１、１−２、・・・１−５において設定優先度が設定されていない場合にも、優先度決定部１６８は、設定優先度では移動優先度を決定できないと判断する。
【０１３２】
移動体１−１の移動優先度と近接移動体の移動優先度の高低が、設定優先度によって決定できない場合、優先度決定部１６８は、移動体１−１に割り当てられた移動体識別番号と、近接移動体に割り当てられた移動体識別番号との大小の比較により、移動優先度を決定する（ステップＳ４−８）。
【０１３３】
移動体１−１の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも小さい場合（ステップＳ４−８において「Ｎｏ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第２停止チェック処理は、ステップＳ４−９に進む。
一方、移動体１−１の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも大きい場合（ステップＳ４−８において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行すると判断し（ステップＳ４−１１）、第２停止チェック処理を終了する。
これにより、個別に割り当てられた移動体識別番号が小さい移動体を優先的に移動できる。
【０１３４】
上記のステップＳ４−３〜Ｓ４−８を実行した結果、移動体１−１の移動優先度が今回の比較対象の近接移動体の移動優先度よりも高いと判定された場合、優先度決定部１６８は、全ての近接移動体に対してステップＳ４−３〜Ｓ４−８の判定を実行したか否かを判断する（ステップＳ４−９）。
【０１３５】
移動優先度の判定を実行すべき近接移動体が存在する場合（ステップＳ４−９において「Ｎｏ」の場合）、第２停止チェック処理は、ステップＳ４−３に戻り、他の近接移動体を比較対象として、移動優先度の高低の判定を実行する。
一方、移動優先度の判定を全ての近接移動体に対して実行した場合（ステップＳ４−９において「Ｙｅｓ」の場合）、優先度決定部１６８は、移動体１−１の移動優先度がどの近接移動体よりも高いと判定し、当該結果を干渉停止部１６９へ通知する。当該通知をうけた干渉停止部１６９は、干渉停止処理を実行しないと判断し（ステップＳ４−１０）、第２停止チェック処理を終了する。
【０１３６】
上記のステップＳ４−１〜Ｓ４−１１を実行することにより、干渉距離未満の範囲内に存在する複数台の移動体のうち、移動優先度が最も高い移動体を、優先的に移動できる。
【０１３７】
このように、自律移動体システム１００では、複数の移動体１−１、１−２、・・・１−５のそれぞれが、他の移動体との位置関係及び移動に関する優先度を自律的に判断している。これにより、各移動体１−１、１−２、・・・１−５は、当該判断に基づいて干渉停止処理を実行するか否かを自律的に決定し、他の移動体と協調しながら移動環境を自律的に移動できる。この結果、例えば、自律移動体システム１００を異なる移動環境ＭＥにおいて使用する場合でも、自律移動体システム１００を大幅に再構築する必要がなくなる。
【０１３８】
（５−６）停止解除チェック処理
次に、上記のステップＳ７において実行される停止解除チェック処理について、図１０を用いて説明する。図１０は、停止解除チェック処理の流れを示すフローチャートである。
上記のステップＳ１において干渉停止処理を実行中と判断され、停止解除チェック処理が開始されると、干渉停止部１６９は、通信可能移動体が存在しているか否かを判断する（ステップＳ７−１）。
【０１３９】
通信可能移動体が存在しないと判断した場合（ステップＳ７−１において「Ｎｏ」の場合）、干渉停止部１６９は、移動体１−１の近辺に近接移動体が存在していないと判断し、干渉停止処理を解除すると判断する（ステップＳ７−３）。その後、停止解除チェック処理を終了する。
一方、通信可能移動体が存在している場合（ステップＳ７−１において「Ｙｅｓ」の場合）、当該通信可能移動体の中に近接移動体が存在する可能性があるので、干渉停止部１６９は、通信可能移動体の中に近接移動体が存在するか否かを判断する（ステップＳ７−２）。
【０１４０】
移動体間距離が干渉距離未満である他の移動体が存在しない場合（ステップＳ７−２において「Ｎｏ」の場合）、干渉停止部１６９は、近接移動体が存在しないと判断し、干渉停止処理を解除すると判断する（ステップＳ７−３）。その後、停止解除チェック処理を終了する。
一方、移動体間距離が干渉距離未満である他の移動体が存在する場合（ステップＳ７−２において「Ｙｅｓ」の場合）、干渉停止部１６９は、近接移動体が存在すると判断し、干渉停止処理を解除せず継続すると判断する（ステップＳ７−４）。その後、停止解除チェック処理を終了する。
【０１４１】
上記のステップＳ７−１〜Ｓ７−４を停止解除チェック処理として実行することにより、移動体間通信が可能な他の移動体が存在しない（移動体間通信が不調である）、又は、近接移動体が存在しないと判断したら、干渉停止部１６９は、干渉停止処理を解除できる。これにより、各移動体１−１、１−２、・・・１−５は、他の移動体が近くに存在しない場合には、通常の走行を実行できる。
【０１４２】
（６）他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
（Ａ）移動優先度を決定する処理の順番についての他の実施形態
上記の第１実施形態における第１停止チェック処理及び第２停止チェック処理では、（ｉ）近接移動体の存在又は不存在に基づく判断、（ｉｉ）実行中の動作モードに基づく判断、（ｉｉｉ）現在の走行状態に基づく判断、（ｉｖ）通路幅に基づく判断（第１停止チェック処理のみ）、（ｖ）設定優先度に基づく判断、（ｖｉ）移動体識別番号に基づく判断、の順番で移動優先度の高低を決定していた。
しかし、移動優先度の高低の決定のための判断は、上記の順番（特に、上記の（ｉｉ）〜（ｖｉ）の順番）に限られず、どの基準をより優先するかにより（例えば、優先する基準を停止チェック処理のより早い段階に配置する）、適宜順番を変更できる。
【０１４３】
（Ｂ）障害物検出部についての他の実施形態（その１）
上記の第１実施形態において、障害物検出部１６５は、超音波信号が出力されて時間ｔ１までに信号強度がｓ１以上である（障害物検出センサ１５から出力され障害物にて反射された）超音波信号が受信されたときに、本体部１１の近辺に障害物が存在すると判断して、本体部１１の移動を停止していた。すなわち、第１実施形態の障害物検出部１６５は、比較的狭い範囲の障害物の有無のみを検出していた。しかし、これに限られず、障害物検出部１６５は、より広い範囲の障害物の検出を行ってもよい。
【０１４４】
具体的には、障害物検出部１６５は、超音波信号が出力されて時間ｔ１までに信号強度がｓ１以上である超音波信号を受信した場合だけでなく、（Ｉ）超音波信号が出力されて時間ｔ１からｔ２（図４）までに信号強度がｓ２（図４）以上である超音波信号を受信した場合、（ＩＩ）超音波信号が出力されて時間ｔ２からｔ３（図４）までに信号強度がｓ３（図４）以上である超音波信号を受信した場合、及び／又は、（ＩＩＩ）超音波信号が出力されて時間ｔ３以降に信号強度がｓ４（図４）以上である超音波信号を受信した場合、にも、本体部１１の近辺に障害物が存在すると判断してもよい。
【０１４５】
上記の（Ｉ）までの基準を用いる場合には、干渉基準距離は、例えば、図５に示す２つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がｓ２となったときの２つのセンサ間の距離とできる。この場合、干渉停止処理において障害物検出センサ１５から出力される超音波信号の強度はｓ２以下とする。
上記の（Ｉ）及び（ＩＩ）までの基準を用いる場合には、干渉基準距離は、図５に示す２つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がｓ３となったときの２つのセンサ間の距離とできる。この場合、干渉停止処理において障害物検出センサ１５から出力される超音波信号の強度はｓ３以下とする。
上記の（Ｉ）〜（ＩＩＩ）までの基準を用いる場合には、干渉基準距離は、図５に示す２つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がｓ４となったときの２つのセンサ間の距離とできる。この場合、干渉停止処理において障害物検出センサ１５から出力される超音波信号の強度はｓ４以下とする。
【０１４６】
上記のように障害物検出部１６５が広い範囲に存在する障害物の検出を行う場合、障害物を検出したときに障害物検出部１６５が実行する処理は、本体部１１の移動の停止に限られない。障害物検出部１６５は、例えば、本体部１１と障害物との距離に応じて、本体部１１の移動速度を減少するように、走行制御部１６４に指令してもよい。
これにより、移動体１−１は、例えば、本体部１１と障害物との距離が十分離れている場合には、障害物が移動体１−１の移動経路から外れるまで、ゆっくり移動しながら待機できる。
【０１４７】
（Ｃ）障害物検出部についての他の実施形態（その２）
上記（Ｂ）のように、障害物検出部１６５が広い範囲の障害物の検出を行う場合には、移動体１−１、１−２、・・・１−５は、各移動体が移動中の領域の広さを表す指標を、移動体情報に含めて、各移動体にて共有してもよい。
この場合、移動中の領域の広さに応じて、障害物検出部１６５が本体部１１の近辺に障害物が存在すると判断する際の信号強度の検出閾値を変化させてもよい。例えば、移動中の領域の広さが広い場合に、検出閾値を大きくするとともに干渉距離を大きくすることにより、移動体１−１、１−２、・・・１−５は、広い領域を高速に移動できる。
さらにこの場合には、移動体情報（他移動体情報）に含まれている領域の広さを表す指標と干渉距離とが同一である移動体同士にて、上記の移動優先度の比較を実行してもよい。これにより、移動体１−１、１−２、・・・１−５が高速に移動していても、障害物検出部１６５の誤検知を回避できる。
【０１４８】
（Ｄ）移動体の他の実施形態
上記の第１実施形態において、複数の移動体１−１、１−２、・・・１−５の例として、ホテルや空港のロビーなど多くの人が存在する環境を移動する広告宣伝ロボットが挙げられていた。しかし、上記の移動体は、広告宣伝ロボット以外にも、様々な移動体やロボットなどに応用できる。例えば、移動体１−１、１−２、・・・１−５を、移動環境を自律的に移動し清掃する自律清掃ロボットとして用いてもよい。
さらに、上記の第１実施形態の制御部１６（及び、必要に応じてレーザレンジセンサや超音波センサなどを付属させてもよい）を、汎用の移動体の制御を行うための移動体制御モジュールとして用いてもよい。
【産業上の利用可能性】
【０１４９】
本発明は、所定の移動平面を自律的に走行可能な複数の移動体により構成される自律移動体システムに広く適用できる。
【符号の説明】
【０１５０】
１００ 自律移動体システム
１−１、１−２、１−３、１−４、１−５    移動体
１１   本体部
１２   移動部
１２１ａ、１２１ｂ   モータ
１２３ａ、１２３ｂ   主輪
１２５ａ、１２５ｂ   エンコーダ
１３   レーザレンジセンサ
１３１ 第１レーザレンジセンサ
１３３ 第２レーザレンジセンサ
１４   移動体間通信アンテナ
１５   障害物検出センサ
１５１ 第１障害物検出センサ
１５３ 第２障害物検出センサ
１６   制御部
１６１ 記憶部
１６２ レーザレンジセンサ制御部
１６３ 自己位置決定部
１６４ 走行制御部
１６５ 障害物検出部
１６６ 移動体間通信部
１６７ 距離算出部
１６８ 優先度決定部
１６９ 干渉停止部
１６１０      走行スケジュール作成部
１７   補助輪部
１７ａ、１７ｂ補助車輪
ＭＥ   移動環境
Ｏ     構造物
Ｗ     壁
【図１】
2017142659.tif 000003
【図２】
2017142659.tif 000004
【図３】
2017142659.tif 000005
【図４】
2017142659.tif 000006
【図５】
2017142659.tif 000007
【図６】
2017142659.tif 000008
【図７】
2017142659.tif 000009
【図８】
2017142659.tif 000010
【図９】
2017142659.tif 000011
【図１０】
2017142659.tif 000012