[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6880552B2 - 自律移動体システム - Google Patents

自律移動体システム Download PDF

Info

Publication number
JP6880552B2
JP6880552B2 JP2016023601A JP2016023601A JP6880552B2 JP 6880552 B2 JP6880552 B2 JP 6880552B2 JP 2016023601 A JP2016023601 A JP 2016023601A JP 2016023601 A JP2016023601 A JP 2016023601A JP 6880552 B2 JP6880552 B2 JP 6880552B2
Authority
JP
Japan
Prior art keywords
mobile
moving body
moving
priority
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016023601A
Other languages
English (en)
Other versions
JP2017142659A (ja
Inventor
英生 下本
英生 下本
創 中野
創 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2016023601A priority Critical patent/JP6880552B2/ja
Publication of JP2017142659A publication Critical patent/JP2017142659A/ja
Application granted granted Critical
Publication of JP6880552B2 publication Critical patent/JP6880552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、所定の移動平面を自律的に走行可能な複数の移動体により構成される自律移動体システムに関する。
従来、複数の移動体が互いに衝突することなく所定の移動表面を移動するシステムが知られている。例えば、特許文献1には、複数台の無人搬送車を予め設定された走行誘導ラインに沿って走行させる無人搬送車走行システムが開示されている。このシステムでは、検出手段が走行誘導ラインの接近・合流地点に先着した搬送車を検知すると、その後に到着(後着)した搬送車の走行と障害物検出センサからの検出波の発生を一時停止する。これにより、検出波の相互干渉を原因とする先着の搬送車の走行停止が行われなくなり、その結果、各無人搬送車が接近・合流地点でもスムーズに走行できる。
特許文献2には、超音波または電磁波を送信波として出力し、反射波により周囲の障害物を検出する外界センサとを有して所定のタスクを実行する複数の移動ロボットを制御するロボット制御装置が開示されている。
特許文献2のロボット制御装置では、任意の2つの移動ロボット間の距離が、予め求めて設定された第1の所定値であると判定された場合に、優先順位が低い方の移動ロボットの外界センサの出力を低下させている。上記の第1の所定値は、2つの移動ロボットの外界センサの送受信波が干渉しないようなレベルに基づいて算出されている。これにより、各移動ロボットの外界センサによる障害物の誤検知を回避できる。
特許2572151号公報 特許4616664号公報
特許文献1及び2に開示された無人搬送車走行システムでは、搬送車が接近・合流地点に先着又は後着したかは、地上側の制御ユニットにより判断されている。また、地上側の制御ユニットが、後着の搬送車の走行を停止させる信号を出力している。
また、このシステムでは、搬送車の通過を検出するために検出手段の設置が必要であり、さらには、後着の搬送車に対して走行の停止などを指令するためにブロッキングゾーンの設置が必要である。この場合、システムが複雑化・大規模化すると(例えば、接近・合流地点の数や無人搬送車の台数の増加、及び/又は、搬送車が移動する移動平面の複雑化など)、走行システムでは、検出手段やブロッキングゾーンを多数設ける必要がある。その結果、例えば、走行経路の変更する際には、走行システムの再構築に大きな労力を要する。
さらに、上記のシステムでは、特定の接近・合流地点にのみ、検出手段及びブロッキングゾーンが設置されている。このため、複数の搬送車は、特定の地点でしか互いに協調して走行できない。
本発明の目的は、複数の移動体により構成される自律移動体システムにおいて、各移動体を自律的に他の移動体と協調して移動させることにある。
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律移動体システムは、移動環境を移動する複数の移動体を含むシステムである。複数の移動体のそれぞれは、自己位置決定部と、障害物検出センサと、移動体間通信部と、距離算出部と、優先度決定部と、干渉停止部と、を有する。自己位置決定部は、自己位置を決定する。自己位置は、移動環境を表す環境地図上での自分自身の位置である。障害物検出センサは、検出信号を出力し、当該検出信号のうち反射されて戻ってきた反射信号を受信する。これにより、障害物検出センサは、周囲に障害物が存在するか否かを検出する。
移動体間通信部は、他の移動体と互いに直接通信する移動体間通信を実行する。移動体間通信部は、移動体間通信により、自己位置を他の移動体に送信するとともに、他移動体位置を他の移動体のそれぞれから受信する。他移動体位置は、他の移動体の環境地図上の位置である。距離算出部は、移動体間距離を算出する。移動体間距離は、自己位置と他移動体位置との間の距離である。優先度決定部は、移動優先度を決定する。移動優先度は、近接移動体との間の移動に関する優先度である。近接移動体は、他の移動体のうち、移動体間距離が干渉距離未満である移動体のことである。干渉停止部は、近接移動体よりも移動優先度が低いと決定されたら、干渉停止処理を実行する。干渉停止処理は、自身の移動を停止するとともに、障害物検出センサからの検出信号の出力を停止するか、又は、検出信号の強度を弱くして出力する処理のことである。
上記の自律移動体システムでは、各移動体の自己位置決定部が、移動環境を移動中に、移動環境を表す環境地図上の自分自身の位置である自己位置を決定する。また、各移動体の移動体間通信部が、移動環境を移動中に、移動体間通信により、上記の自己位置を他の移動体に送信するとともに、他の移動体の環境地図上の現在位置である他移動体位置を当該他の移動体から受信する。自己位置と他移動体位置とを共有後、各移動体の距離算出部は、自己位置と他移動体位置とから移動体間距離を算出する。
その後、各移動体の優先度決定部が、近接移動体の移動優先度と自身の移動優先度との高低を決定する。当該決定後、移動優先度が近接移動体よりも低いと決定された移動体の干渉停止部が、干渉停止処理を実行する。すなわち、走行を停止するとともに、当該移動体の障害物検出センサからの検出信号の出力を停止するか、又は、強度を弱くして検出信号を出力する。
このように、上記の自律移動体システムでは、複数の移動体が外部の制御システムにより制御されるのではなく、複数の移動体のそれぞれが、自律的に他の移動体との位置関係及び移動に関する優先度を判断している。これにより、各移動体は、当該判断に基づいて干渉停止処理を実行するか否かを自律的に決定し、他の移動体と協調しながら自律的に移動環境を移動できる。
この結果、例えば、上記の自律移動体システムを異なる移動環境において使用する場合でも、自律移動体システムを大幅に再構築する必要がなくなる。
移動体間通信が不調であるか、又は、近接移動体が存在しないと判断したら、干渉停止部は干渉停止処理を解除してもよい。
これにより、各移動体は、他の移動体が近くに存在しない場合には、通常の走行を実行できる。
環境地図は副環境地図にて構成されていてもよい。副環境地図は、移動環境の少なくとも一部を表す地図である。この場合、非保有地図を他の移動体が所有していると判断したら、移動体間通信部は、当該他の移動体から非保有地図を受信する。非保有地図は、自身が所有していない副環境地図である。
これにより、複数の移動体は、共通の副環境地図を共有できる。その結果、移動体間距離の算出を簡単にできる。
保有地図を他の移動体が所有していないと判断したら、移動体間通信部は、保有地図を当該他の移動体に送信してもよい。保有地図は、自身が所有している副環境地図である。
これにより、複数の移動体は、共通の副環境地図を共有できる。その結果、移動体間距離の算出を簡単にできる。
複数の移動体のそれぞれは、自律モード又は手動モードのいずれかを実行可能であってもよい。自律モードは、移動環境を自律的に移動するモードである。手動モードは、移動環境をユーザの操作により移動するモードである。この場合、優先度決定部は、手動モードを実行中の移動体の移動優先度を、自律モードを実行中の移動体の移動優先度よりも低いと決定する。
これにより、移動環境を自律的に移動中の移動体を優先的に移動できる。
優先度決定部は、一時停止中である移動体の移動優先度を、走行中である移動体の移動優先度よりも低いと決定してもよい。これにより、現在移動中の移動体を優先的に移動できる。
複数の移動体のそれぞれには、設定優先度が割り当てられていてもよい。設定優先度は、ユーザにより個別に設定された優先度である。この場合、優先度決定部は、設定優先度の高低に従って移動優先度を決定する。
これにより、ユーザにより決められた優先度(すなわち、設定優先度)に従って、複数の移動体は、移動環境を効率的に移動できる。
複数の移動体のそれぞれには、個別に移動体識別番号が割り当てられていてもよい。この場合、優先度決定部は、移動体識別番号の大小に従って移動優先度を決定する。
これにより、個別に割り当てられた移動体識別番号の大小に基づいて、移動優先度を決定できる。
複数の移動体により構成される自律移動体システムにおいて、各移動体を自律的に他の移動体と協調して走行できる。
自律移動体システムの構成を示す図。 移動体の構成を示す図。 制御部の構成を示す図。 検出する超音波信号の閾値の時間変化の一例を示す図。 2つのセンサ間距離と検出された信号強度との関係の一例を示す図。 他の移動体との情報共有処理の流れを示すフローチャート。 干渉停止処理を実行するか否かを決定する処理の流れを示すフローチャート。 第1停止チェック処理の流れを示すフローチャート。 第2停止チェック処理の流れを示すフローチャート。 停止解除チェック処理の流れを示すフローチャート。
1.第1実施形態
(1)自律移動体システムの全体構成
以下、本実施形態に係る自律移動体システム100の構成について、図1を用いて説明する。図1は、自律移動体システムの構成を示す図である。自律移動体システム100は、複数の移動体1−1、1−2、・・・1−5を含む。複数の移動体1−1、1−2、・・・1−5は、互いに協調しながら移動環境ME(例えば、ホテルや空港のロビーなど多くの人が存在する環境)を移動する、例えば広告宣伝ロボットである。
なお、図1に示す自律移動体システム100において、移動体1−1、1−2、・・・1−5の台数は5台であるが、数は限定されない。
(2)移動体の構成
以下、自律移動体システム100に含まれる移動体1−1、1−2、・・・1−5について説明する。本実施形態の移動体1−1、1−2、・・・1−5は、例えば、ユーザにより教示された経路を再現しながら、自律して走行可能な移動体である。
まず、この移動体1−1、1−2、・・・1−5の構成について、図2を用いて説明する。図2は、移動体の構成を示す図である。以下では、移動体1−1を例にとって、移動体の構成を説明する。なお、移動体1−2、1−3、1−4、1−5も、移動体1−1と同様の構成を有する。
移動体1−1は、本体部11を有する。本体部11は、移動体1−1の本体を構成する例えば筐体である。本実施形態において、後述する「自己位置」は、移動環境MEを表す環境地図上における本体部11の中心の位置(座標)と定義する。また、「自身」との語は、移動体1−1の本体部11のことを指すこととする。
移動体1−1が広告宣伝ロボットの場合には、本体部11は、例えば、宣伝を視覚的に示すディスプレイや、宣伝を音声として発するスピーカーなどを備えている。
移動体1−1は、移動部12を有する。移動部12は、例えば、本体部11を移動させる差動二輪型の走行部である。
具体的には、移動部12は、一対のモータ121a、121bを有する。一対のモータ121a、121bは、本体部11の底部に設けられた、例えばサーボモータやブラシレスモータなどの電動モータである。一対のモータ121a、121bは、制御部16(後述)と電気的に接続され、制御部16からの指令に基づいて、それぞれ独立に、任意の回転数及びトルクにてその出力回転軸を回転させる。
移動部12は、一対の主輪123a、123bを有する。一対の主輪123a、123bは、それぞれ、一部が移動環境MEの床面と接しており、一対のモータ121a、121bの出力回転軸に接続される。これにより、主輪123a、123bは、それぞれ、モータ121a、121bによって独立して回転し、本体部11を移動させる。
上記のように独立回転が可能なことによって、主輪123aと123bの回転数に差を生じさせて本体部11の姿勢を変化できる。一方、一対の主輪123a、123bの回転数が同じであれば、本体部11を直進できる。
移動体1−1は、レーザレンジセンサ13を有する。レーザレンジセンサ13は、例え
ば、レーザ発振器によりパルス発振されたレーザ光を、移動環境ME中の構造物O(例えば、移動環境MEに配置された柱や棚など)(図1)や壁W(図1)に放射状に照射し、当該構造物O及び/または壁Wから反射した反射光をレーザ受信器により受信することにより、当該構造物Oや壁Wに関する情報を取得するレーザレンジファインダ(LRF:Laser Range Finder)である。本実施形態において、レーザレンジセンサ13は、本体部11の前部に配置された第1レーザレンジセンサ131と、本体部11の後部に配置された第2レーザレンジセンサ133と、を有する。
第1レーザレンジセンサ131は、本体部11の前方に左右方向にレーザ光を放射状に発生することにより、第1レーザレンジセンサ131を中心とした本体部11の前方の半径20m程度の円内に含まれる構造物Oや壁Wに関する情報を取得する。第1レーザレンジセンサ131は、取得した構造物Oや壁Wに関する情報を、制御部16に出力する。
一方、第2レーザレンジセンサ133は、本体部11の後方に左右方向にレーザ光を放射状に発生することにより、第2レーザレンジセンサ133を中心とした本体部11の後方の半径5m程度の円内に含まれる構造物Oや壁Wに関する情報を取得する。第2レーザレンジセンサ133は、取得した構造物Oや壁Wに関する情報を、制御部16に出力する。
なお、上記レーザレンジセンサの検出可能距離は、上記の値に限られず、自律移動体システム100の用途等に応じて適宜変更できる。
移動体1−1は、移動体間通信アンテナ14を有する。移動体間通信アンテナ14は、移動体同士が直接通信可能にするための装置である。具体的には、移動体間通信アンテナ14は、本体部11の上部に設けられた、例えば、無線通信用の通信アンテナである。移動体間通信アンテナ14は、他の移動体の移動体間通信アンテナからの通信信号を受信し、制御部16へと出力する。また、移動体間通信アンテナ14は、他の移動体へ通信信号を出力する。
移動体1−1は、障害物検出センサ15を有する。障害物検出センサ15は、超音波信号(検出信号の一例)を放射状に出力し、当該超音波信号のうち障害物(例えば、上記の構造物Oや壁Wに限られず、移動環境MEを移動する他の移動体、人、動物などを含む)により反射されて戻ってきた超音波信号(反射信号の一例)などを受信する、例えば超音波センサである。
その他、障害物検出センサ15として、例えば、レーザレンジファインダ(Laser Range Finder、LRF)を用いてもよい。
本実施形態において、障害物検出センサ15は、本体部11の前部に配置された第1障害物検出センサ151と、本体部11の後部に配置された第2障害物検出センサ153と、を有する。
第1障害物検出センサ151は、本体部11の前方に超音波信号を出力し、本体部11の前方に存在する障害物にて反射された超音波信号を受信する。一方、第2障害物検出センサ153は、本体部11の後方に超音波信号を出力し、本体部11の後方に存在する障害物にて反射された超音波信号を受信する。受信された超音波信号は、制御部16へと出力される。
なお、本実施形態においては、障害物検出センサの数及び位置は特に限定されない。例えば、本体部11を前方方向のみに移動させたい場合には、第2障害物検出センサ153を省略してもよい。
移動体1−1は、制御部16を有する。制御部16は、移動体1−1の各部の制御を行う。なお、制御部16の構成については、後ほど詳しく説明する。
移動体1−1は、補助輪部17をさらに有していてもよい。補助輪部17は、2つの補助車輪17a、17bを有する。2つの補助車輪17aと17bは、それぞれが独立に回転可能なように取り付けられている。補助輪部17を備えることにより、移動体1−1は安定に、かつ、スムーズに移動できる。
(3)制御部の構成
次に、移動体1−1を制御する制御部16の構成について図3を用いて説明する。図3は、制御部の構成を示す図である。制御部16は、CPU(Central Processing Unit)、ハードディスク装置、ROM(Read Only Memory)、RAM(Random Access Memory)、記憶媒体読み出し装置などの記憶装置、信号変換を行うインターフェースなどを備えたマイコンシステムなどにより実現できる。
また、制御部16の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、上記機能の一部又は全部は、カスタムICなどにより実現されていてもよい。
制御部16は、記憶部161を有する。記憶部161は、制御部16を構成するコンピュータシステムの記憶装置の記憶領域の一部である。記憶部161は、移動体1−1を制御するために用いられる各種情報を記憶する。
具体的には、記憶部161には、副環境地図が記憶されている。副環境地図は、例えば、移動環境MEを表す座標平面上の構造物O及び/または壁Wの位置を示す座標値データの集合体であり、移動環境MEの少なくとも一部を表す地図である。従って、移動環境MEを表す環境地図は、典型的には、複数の副環境地図により構成できる。
副環境地図には、地図識別番号と、当該副環境地図の内容を示す地図内容情報(例えば、副環境地図のCRC(Cyclic Redundancy Check、巡回冗長検査)情報)とが、関連付けられる。作成された副環境地図にどの地図識別番号を割り当てるかは、例えば、手動モードを実行中に、移動体1−1を操作するユーザにより決定される。
記憶部161には、保有地図情報が記憶されている。保有地図情報は、記憶部161に現在記憶されている(すなわち、移動体1−1が保有する)副環境地図である保有地図に関する情報である。具体的には、保有地図情報は、保有地図の地図識別番号と、当該保有地図の地図内容情報とを関連付けて記憶した情報である。
記憶部161には、移動体情報及び他移動体情報が記憶されている。移動体情報は、移動体1−1に関する情報であり、例えば、移動体1−1の動作モードを示す動作モードフラグと、本体部11の一時停止又は走行(走行状態)を示す走行フラグと、干渉停止処理を実行中であるか否かを示す干渉停止処理実行フラグと、移動体1−1の現在の自己位置(後述)を示す座標値及び姿勢角と、移動体1−1が現在移動中の副環境地図の地図識別番号と、移動体1−1を識別するための情報(移動体1−1の移動体識別番号)と、移動体1−1に設定された設定優先度と、を含む。
一方、他移動体情報は、他の移動体1−2、1−3、1−4、1−5のそれぞれに関する情報であり、例えば、他の移動体のそれぞれの動作モードフラグと、走行フラグと、干渉停止処理実行フラグと、他の移動体のそれぞれの現在の自己位置を示す座標値及び姿勢角(「他移動体位置」と呼ぶことにする)と、他の移動体のそれぞれが現在移動中の副環境地図の地図識別番号と、他の移動体のそれぞれの移動体識別番号と、他の移動体のそれぞれに設定された設定優先度と、を含む。
このほか、上記の移動体情報及び他移動体情報は、それぞれ、移動体1−1及び他の移動体が通過中の経路の幅に関する情報を含んでいてもよい。各移動体が通過中の通路の幅は、例えば、副環境地図において、通路を形成する構造物Oや壁Wを構成する座標値データ間の距離を算出することにより得られる。
また、記憶部161には、さらに、移動体1−1が自律的に走行する経路を示す走行スケジュールが記憶されていてもよい。
制御部16は、レーザレンジセンサ制御部162を有する。レーザレンジセンサ制御部162は、レーザレンジセンサ13を制御する。また、レーザレンジセンサ制御部162は、構造物O及び/または壁Wの本体部11からの相対的な位置を算出する。具体的には、レーザレンジセンサ13からレーザ光を照射したタイミングと、反射光をレーザレンジセンサ13(レーザ受信器)にて受信したタイミングとの時間差から、レーザレンジセンサ13と構造物O及び/または壁Wとの距離が算出される。また、例えば、反射光を受信した時のレーザ受信器の受光面の角度から、本体部11から見た構造物O及び/または壁Wが存在する方向が算出される。
レーザレンジセンサ制御部162は、本体部11から見た構造物O及び/または壁Wが存在する相対的な距離と方向に関する情報を、移動環境MEを表す座標平面上の座標値に変換する。
制御部16は、自己位置決定部163を有する。自己位置決定部163は、移動環境MEを移動中に、本体部11の環境地図上の位置(自己位置)を決定する。具体的には、自己位置決定部163は、レーザレンジセンサ制御部162にて取得された本体部11の周囲に存在する構造物O及び/又は壁Wの位置(座標値)に関する情報(ローカルマップと呼ぶ)と、モータ121a、121bのそれぞれの出力回転軸の回転量を測定するエンコーダ125a、125bから取得したモータ121a、121bの回転量と、に基づいて、本体部11の位置を推定する。さらに具体的には、例えば、次のようにして、自己位置決定部163は本体部11の位置を推定する。
まず、モータ121a、121bの回転量から、本体部11の移動距離と姿勢角変化とを算出する。次に、自己位置決定部163にて前回推定された自己位置に、当該算出した移動距離と姿勢角変化とを加算して、現在の自己位置を推定する(デッドレコニングによる位置推定)。このとき、主輪123a、123bと移動環境MEの走行面との滑り等を考慮して、複数の位置と姿勢角の「候補」を推定しておく。
なお、上記の複数の位置と推定角の「候補」のそれぞれには、本体部11が当該各「候補」の位置及び姿勢角のそれぞれに到達する確率を関連づけておいてもよい。
次に、現在移動中の副環境地図上の上記の複数の位置の「候補」のそれぞれに、当該位置の「候補」における姿勢角に対応する角度だけ傾けたローカルマップを配置する。その後、上記の位置の「候補」に配置されたローカルマップと、現在移動中の副環境地図(あるいは現在移動中の副環境地図と当該副環境地図に隣接した副環境地図とを合体した合体地図)とを、例えば、「尤度計算」を実行してマップマッチングし、当該副環境地図(あるいは合体地図)と最もマッチしたローカルマップが配置された位置及び姿勢角の「候補」を、本体部11の最終的な位置及び姿勢角と推定する(マップマッチングによる位置推定)。
なお、複数の位置と姿勢角の「候補」に本体部11が当該各「候補」の位置及び姿勢角に到達する確率を関連づけた場合には、ローカルマップと副環境地図(あるいは合体地図)とが比較的よくマッチングしたいくつかの位置及び姿勢角の「候補」のうち、上記の確率が最大のものを現在の最終的な位置及び姿勢角と推定してもよい。
本実施形態において、移動体間距離を算出する場合に、自己位置決定部163は、移動体間距離を測定する対象である他の移動体が自己位置決定のために用いている副環境地図と同一の副環境地図を用いて、自己位置を決定する。これにより、移動体間距離を測定する際に、いずれかの位置の座標値を、他の座標の座標値に変換するなどの処理を実行することなく、簡単に移動体間距離を算出できる。
自己位置を他の移動体と同一の副環境地図を用いて決定するために、後述するように、本実施形態に係る自律移動体システム100においては、複数の移動体1−1、1−2、・・・1−5の間で、各移動体1−1、1−2、・・・1−5が保有する副環境地図が共有される。
自己位置決定部163が、上記のように、デッドレコニングによる位置推定とマップマッチングによる位置推定とを用いて本体部11の位置及び姿勢角(自己位置)を推定することにより、デッドレコニングにおける位置及び姿勢角の推定誤差と、マップマッチングにおける位置及び姿勢角の推定誤差(主に、レーザレンジセンサ13により取得されるデータに含まれる誤差に起因する)とを相殺して、より精度よく自己位置を決定できる。
制御部16は、走行制御部164を有する。走行制御部164は、モータ121a、121bを制御する。走行制御部164は、例えば、モータ121a、121bのそれぞれの制御量を算出し、当該制御量に基づいた駆動電力をモータ121a、121bのそれぞれに出力するモータドライバである。走行制御部164は、エンコーダ125a、125bから入力したモータ121a、121bの単位時間あたりの回転量(回転速度)が、所望の回転速度となるように、モータ121a、121bの制御量を算出している(フィードバック制御)。
走行制御部164は、ユーザによる切替などにより、自律モード又は手動モードのいずれかを実行可能となっている。自律モードの実行時においては、走行制御部164は、例えば、記憶部161に記憶された走行スケジュールに示された各通過位置(例えば、環境地図上の座標値)と、自己位置決定部163において決定された自己位置との差に基づいて、モータ121a、121bのそれぞれの制御量を算出して、算出された制御量に基づいた駆動電力を、これらのモータに出力する。
これにより、走行制御部164は、自律モードの実行時においては、本体部11を、上記の走行スケジュールに従って、自律的に移動できる。
一方、手動モードの実行時においては、走行制御部164は、例えば、無線又は有線にて移動体1−1と通信可能なコントローラ又はコンピュータシステム、又は、移動体1−1に設けられた操作ハンドル(図示せず)などを用いたユーザの操作を受け付けて、当該ユーザの操作の操作量に基づいて、モータ121a、121bを制御する。これにより、移動体1−1は、ユーザの操作により移動可能となる。
走行制御部164は、記憶部161に記憶されている走行フラグを、本体部11の移動又は停止に従って変化させる。例えば、モータ121a、121bの回転量が0でなく本体部11を移動中と判断した場合には、走行制御部164は、走行フラグをON(例えば、「1」(ビットを立てる))とする。一方、モータ121a、121bの回転量が0であり本体部11を停止中と判断した場合には、走行制御部164は、走行フラグをOFF(例えば、「0」(ビットを下げる))とする。
また、走行制御部164は、記憶部161に記憶されている動作モードフラグを、実行中の動作モードに従って変化させる。例えば、自律モードを実行中の場合には、走行制御部164は、動作モードフラグをONとする。一方、手動モードを実行中の場合には、走行制御部164は、動作モードフラグをOFFとする。
制御部16は、障害物検出部165を有する。障害物検出部165は、移動環境MEを移動中に、本体部11の近辺の障害物を検出する。
具体的には、障害物検出部165は、移動環境MEを移動中に、障害物検出センサ15に対して超音波信号の出力を指令し、反射などにより障害物検出センサ15に戻ってきた当該超音波信号を受信する。障害物検出部165は、超音波信号の出力を指令したタイミングと、反射などにより障害物検出センサ15に戻ってきた超音波信号を受信したタイミングとの時間差から、障害物検出センサ15から障害物までの距離を算出する。
本実施形態において、障害物検出部165は、障害物検出センサ15から障害物までの距離が所定の距離以下であり、本体部11の近辺に障害物が存在すると判断したら、走行制御部164に対して、本体部11の移動を停止するよう指令する。これにより、移動体1−1は、障害物と衝突する前に、安全に停止できる。
制御部16は、移動体間通信部166を有する。移動体間通信部166は、移動体間通信アンテナ14を用いて他の移動体と互いに直接通信(移動体間通信)するための、例えば無線通信(無線LAN、Wi−Fiなど)モジュールである。移動体間通信部166は、例えば、アドホック通信にて、UDP(User Datagram Protocol)やTCP/IP(Transmission Control Protocol/Internet Protocol)といった通信プロトコルを用いて、他の移動体の移動体間通信部と通信する。
これにより、移動体間通信部166は、移動体間通信が可能な移動体間で情報を共有できる。移動体間通信部166による移動体間での情報の共有については、後ほど詳しく説明する。
制御部16は、距離算出部167を有する。距離算出部167は、自己位置と他移動体位置との間の距離を、移動体間距離として算出する。
制御部16は、優先度決定部168を有する。優先度決定部168は、近接移動体(後述)との間の移動に関する移動優先度を決定する。優先度決定部168における移動優先度の決定方法については、後ほど詳しく説明する。
制御部16は、干渉停止部169を有する。干渉停止部169は、他の移動体1−2、1−2、・・・1−5のうち、移動体間距離が干渉距離未満である移動体を、本体部11に接近した移動体(「近接移動体」と呼ぶことにする)と決定する。本実施形態の干渉距離は、障害物検出部165が他の移動体からの超音波信号を誤検知するか、その逆に、他の移動体が障害物検出センサ15からの超音波信号を誤検知する最大の移動体間距離として定義される。本実施形態における干渉距離の決定方法については、後ほど詳しく説明する。
干渉停止部169は、移動体間通信部166における移動体間通信が不調である場合に、近接移動体は存在しないと決定する。ここで、「移動体間通信が不調」であるとは、例えば、他の移動体の移動体間通信部を認識できない状態(例えば、他の移動体の移動体間通信部を識別するIPアドレス、SSID(Service Set Identifier)、MAC(Media Access Control)アドレスなどを取得できない状態)、及び/又は、他の移動体の移動体間通信部を認識できるが通信エラーが発生している状態(例えば、通信パケットが受信できない確率が所定の値以上となった状態や、通信がタイムアウトした状態)などを指す。
上記のような移動体間通信の不調は、一般的に、本体部11と他の移動体との間の距離が無線通信できない程度に離れている(この距離は、一般的に、干渉距離よりも大きい)場合に頻発する。従って、移動体間通信が不調である場合には、本体部11と他の移動体との間の距離が干渉距離よりも大きいと判断し、近接移動体は存在しないと決定できる。
干渉停止部169は、優先度決定部168において近接移動体よりも自身の移動優先度が低いと決定されたら、干渉停止処理を実行する。干渉停止処理は、本体部11が他の移動体と衝突することなく協調して走行するとともに、他の移動体の障害物検出部における障害物の誤検知を防止するための処理である。本実施形態における具体的な干渉停止処理については、後ほど説明する。
制御部16は、走行スケジュール作成部1610を有する。走行スケジュール作成部1610は、ユーザの操作による移動体1−1の移動を走行スケジュールとして記憶部161に記憶する。
具体的には、走行スケジュール作成部1610は、ユーザの操作により移動体1−1を移動中に、所定の時間間隔毎に、自己位置決定部163において決定された自己位置を入力する。その後、走行スケジュール作成部1610は、入力した自己位置と、当該自己位置を決定した時刻とを関連づけて走行スケジュールを作成し、当該走行スケジュールを記憶部161に記憶する。走行スケジュール作成部1610は、自己位置を決定した時刻におけるユーザの操作の操作量を受け付けて、当該操作量を当該時刻と関連付けて走行スケジュールに記憶してもよい。
走行スケジュール作成部1610は、例えば、本体部11を手動モードにて移動中に、ユーザにより指定された移動環境ME上の位置を中心とした副環境地図を、当該指定位置を中心とした構造物O及び/または壁Wの存在位置を示す座標値の集合体として作成し、記憶部161に記憶する。
具体的には、例えば、走行スケジュール作成部1610は、ユーザにより副環境地図の作成指令(上記の指定位置の指定)がなされたときに、レーザレンジセンサ制御部162に対して、指定位置に対する移動環境ME上の構造物O及び/または壁Wの相対位置を示す座標値データを取得するよう指令し、レーザレンジセンサ制御部162にて取得した当該座標値データを用いて、副環境地図を作成する。
その後、走行スケジュール作成部1610は、現在使用されていない地図識別番号に作成した副環境地図を割り当て、作成した副環境地図から地図内容情報を生成し、割り当てた地図識別番号と生成した地図内容情報とを関連付けて、保有地図情報に記憶する。
移動体1−1の制御部16が上記の構成を有することにより、複数の移動体1−1、1−2、・・・1−5を制御する外部の制御システムを設けることなく、移動体1−1自身が、他の移動体1−2、1−3、1−4、1−5との位置関係及び移動に関する優先度を判断し、当該判断に基づいて本体部11の移動を制御できる。これにより、例えば、自律移動体システム100を異なる移動環境において使用する場合でも、自律移動体システム100を大幅に再構築する必要がなくなる。
(4)干渉距離の決定方法
以下、近接移動体が存在するか否かを決定する際に用いられる干渉距離の決定方法について説明する。干渉距離は、以下のようにして、実際に誤検知がなされる距離を測定することにより、実験的に決定される。
本実施形態の障害物検出部165は、図4に示すように、障害物検出センサ15から超音波信号を出力してからの時間に応じて、検出された超音波信号に対して閾値を設けている。図4は、検出する超音波信号の閾値の時間変化の一例を示す図である。
具体的には、障害物検出部165は、障害物検出センサ15から超音波信号を出力してから時間t1が経過するまでは、信号強度がs1以上である超音波信号を障害物検出センサ15が受信した時に、障害物が存在すると判断する。
以降、時間t1から時間t2までは、信号強度がs2以上である超音波信号を障害物検出センサ15が受信した時に、障害物が存在すると判断する。また、時間t2から時間t3までは、信号強度がs3以上である超音波信号を障害物検出センサ15が受信した時に、障害物が存在すると判断する。さらに、時間t3以降は、信号強度がs4以上である超音波信号を障害物検出センサ15が受信した時に、障害物が存在すると判断する。
本実施形態の障害物検出部165は、このうち、超音波信号が出力されて時間t1までに信号強度がs1以上である(障害物検出センサ15から出力され障害物にて反射された)超音波信号が受信されたときに、本体部11の近辺に障害物が存在すると判断する。すなわち、障害物検出部165は、障害物検出センサ15と障害物との間の距離がc*t1/2(c:音速)以下となったときに、本体部11の近辺に障害物が存在すると判断する。
従って、本実施形態においては、移動体において用いる2つの障害物検出センサの間の距離を変化させながら一方の障害物検出センサから超音波信号を出力したときに、他方の障害物検出センサにてどの強度の超音波信号が受信されるかを実際に測定し、当該測定結果を用いて干渉距離を決定する。
当該測定結果を、2つのセンサ間の距離を横軸とし、他方の障害物検出センサにて検出された信号強度を縦軸とした座標上にプロットすると、例えば、図5の実線にて示す関係が得られる。図5は、2つのセンサ間距離と検出された信号強度との関係の一例を示す図である。
次に、上記の2つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がs1となったときの2つのセンサ間の距離を、干渉基準距離と決定する。干渉基準距離を決定後、例えば、当該干渉基準距離に、障害物検出センサ15の本体部11における設置位置と本体部11の中心位置との間の距離の2倍の値を加算して、干渉距離と決定する。
干渉距離を算出する際に、障害物検出センサ15の設置位置と本体部11の中心位置との間の距離の2倍の値を干渉基準距離に加える理由は、自己位置及び他移動体位置が本体部の中心位置の座標値として定義されているためである。
上記のようにして干渉距離を決定することにより、他の移動体から出力された超音波信号が、障害物検出センサ15において信号強度がs1以上となって検出される誤検知を回避できる。すなわち、信号強度がs1以上である他の移動体から出力された超音波信号を誤検知して、障害物(他の移動体)と本体部とが十分(距離c*t1/2以上)離れているにも関わらず、本体部11の近辺に障害物が存在すると判断してしまうことを回避できる。
(5)自律移動体システムにおける移動体の動作
(5−1)移動体の移動動作
以下、自律移動体システム100における移動体の移動動作を説明する。以下においては、移動体1−1の移動動作を例にとって説明する。
移動体1−1の電源をオンにして移動体1−1を起動すると、ユーザは、例えば、本体部11に設けられた切替スイッチ(例えば、電気スイッチ、タッチパネルなど)、又は、移動体1−1を操作するコントローラを操作して、移動体1−1の動作モードを手動モードとするか自律モードとするか切り替える。
走行制御部164は、動作モードとして自律モードが選択された場合には移動体情報の動作モードフラグをONに、手動モードが選択された場合には動作モードフラグをOFFに更新する。
自律モードの実行中には、移動体1−1は、例えば、記憶部161に記憶された走行スケジュールに従って、移動環境MEを自律的に移動する。
一方、手動モードの実行中には、移動体1−1は、無線又は有線にて移動体1−1と通信可能なコントローラ又はコンピュータシステム、又は、移動体1−3に設けられた操作ハンドルからのユーザによる操作を受け付ける。この結果、移動体1−1は、ユーザの操作により、移動環境MEを移動する。
上記の移動中に、移動体1−1は、他の移動体との間の位置関係や移動優先度の高低を判断し、当該判断に基づいて、干渉停止処理を実行するか否かを決定する。また、上記の移動中に、移動体1−1は、移動体間通信により、他の移動体と情報を共有する。
(5−2)他の移動体との情報共有処理
以下、移動環境MEの移動中に実行される他の移動体との情報共有処理について、図6を用いて説明する。図6は、他の移動体との情報共有処理の流れを示すフローチャートである。
情報共有処理を開始すると、移動体間通信部166は、通信可能移動体(以下、通信可能移動体と呼ぶことがある)が存在するか否かを判断する(ステップS11)。具体的には、例えば、移動体間通信部166が、他の移動体の移動体間通信部を認識できる場合には、通信可能移動体が存在すると判断する。なお、情報共有処理を実行中に移動体間通信の通信エラーが発生した場合には、他の移動体の移動体間通信部との通信を停止する。
通信可能移動体が存在しないと判断した場合(ステップS11において「No」の場合)、移動体間通信部166は、通信可能移動体が出現するまで待機する。
一方、通信可能移動体が存在すると判断した場合(ステップS11において「Yes」の場合)、移動体間通信部166は、現在記憶部161に記憶されている移動体情報を、通信可能移動体のそれぞれに送信する(ステップS12)。当該送信された移動体情報を受信した他の移動体の移動体間通信部は、受信した移動体情報を、他の移動体における他移動体情報として、当該他の移動体の記憶部に記憶する。これにより、移動体1−1に関する情報が、他の移動体と共有される。
移動体情報を送信後、移動体間通信部166は、通信可能移動体のそれぞれから、当該他の移動体の移動体情報を受信する(ステップS13)。他の移動体の移動体情報を受信すると、移動体間通信部166は、当該受信した移動体情報を、他移動体情報として記憶部161に記憶する。これにより、他の移動体に関する情報が、移動体1−1において共有される。
移動体情報及び他移動体情報を共有後、移動体間通信部166は、記憶部161に記憶されていない(すなわち、移動体1−1が所有していない)副環境地図である非保有地図を、通信可能移動体が保有しているか否かを判断する(ステップS14)。
具体的には、まず、移動体間通信部166は、通信可能移動体の記憶部に現在記憶されている保有地図情報を、当該他の移動体から受信する。次に、移動体間通信部166は、記憶部161に記憶されている保有地図情報に含まれる地図内容情報と一致しない地図内容情報が、受信した他の移動体の保有地図情報に含まれている場合に、非保有地図を他の移動体が保有していると判断する。
非保有地図を通信可能移動体が保有していると判断した場合(ステップS14において「Yes」の場合)、移動体間通信部166は、非保有地図を当該他の移動体から受信する(ステップS15)。
具体的には、移動体間通信部166は、まず、他の移動体の保有地図情報において上記の非保有地図と関連付けられている地図識別番号を、当該他の移動体へ送信する。当該地図識別番号を受信した他の移動体の移動体間通信部は、当該受信した地図識別番号に関連付けられた副環境地図を、移動体間通信部166へ送信する。
なお、移動体間通信のタイミングによっては、他の移動体へ非保有地図の地図識別番号を送信することなく、通信可能移動体から、受信希望の非保有地図が送信されてくる場合もある。
副環境地図(非保有地図)を他の移動体から受信した移動体間通信部166は、当該副環境地図を記憶部161に記憶する。その後、移動体間通信部166は、当該受信した副環境地図に地図識別番号を割り当てるとともに、当該他の移動体から受信した副環境地図の地図内容情報を、当該副環境地図に割り当てられた地図識別番号と関連付けて、保有地図情報に記憶する。
これにより、記憶部161に記憶されていなかった副環境地図(非保有地図)が、他の移動体と共有される。
一方、非保有地図を通信可能移動体が保有していないと判断した場合(ステップS14において「No」の場合)、情報共有処理は、ステップS16に進む。
非保有地図を共有後、移動体間通信部166は、記憶部161に記憶されている副環境地図である保有地図を、通信可能移動体が保有していないか否かを判断する(ステップS16)。
具体的には、移動体間通信部166は、記憶部161に記憶されている保有地図情報に含まれる地図内容情報と一致する地図内容情報が、上記のステップS14にて他の移動体から受信した保有地図情報に含まれていない場合に、保有地図を当該他の移動体が保有していないと判断する。
なお、移動体間通信のタイミングによっては、他の移動体が保有していない保有地図が存在するか否かの判断の完了前に、他の移動体から当該他の移動体に送信すべき保有地図の地図識別番号が送信されてくる場合もある。このような場合にも、移動体間通信部166は、保有地図を通信可能移動体が保有していないと判断する。
保有地図を通信可能移動体が保有していないと判断した場合(ステップS16において「Yes」の場合)、移動体間通信部166は、保有地図を当該他の移動体へ送信する(ステップS17)。
具体的には、移動体間通信部166は、まず、記憶部161に記憶されている保有地図情報に含まれるが、他の移動体から受信した保有地図情報には含まれていない地図内容情報に関連付けられている地図識別番号を特定する。なお、他の移動体から送信希望の地図識別番号を受信した場合には、送信したい保有地図の地図識別番号を特定する処理は必要ない。
次に、移動体間通信部166は、上記のように特定した地図識別番号又は他の移動体から受信した地図識別番号に割り当てられた副環境地図(保有地図)を、当該特定した保有地図を送信すべき他の移動体、又は、当該送信希望の地図識別番号を送信してきた他の移動体へと送信する。
上記の副環境地図(保有地図)を受信した他の移動体の移動体間通信部は、当該受信した副環境地図を、当該他の移動体における保有地図として記憶部に記憶する。その後、当該他の移動体の移動体間通信部は、移動体間通信部166から受信した副環境地図の地図内容情報を、当該受信した副環境地図に当該他の移動体において割り当てられた地図識別番号と関連付けて、当該他の移動体の保有地図情報に記憶する。
これにより、記憶部161に記憶されていた副環境地図(保有地図)が、他の移動体と共有される。
一方、保有地図を通信可能移動体が保有していると判断した場合(ステップS16において「No」の場合)、情報共有処理は、ステップS18に進む。
上記のステップS11〜S17を実行後、移動体間通信部166は、情報共有処理を停止するか否かを判断する(ステップS18)。例えば、移動体1−1が移動を完了して他の移動体と情報共有する必要がなくなった場合に、情報共有処理を停止すると判断する。
情報共有処理を停止しないと判断した場合(ステップS18において「No」の場合)、情報共有処理は、ステップS11に戻る。すなわち、情報共有処理は継続される。
一方、情報共有処理を停止すると判断した場合(ステップS18において「Yes」の場合)、移動体間通信部166は、情報共有処理を停止する。
上記のステップS11〜S18を移動環境MEの移動中に実行することにより、移動体1−1は、他の移動体1−2、1−3、1−4、1−5と互いに情報を共有できる。
なお、移動体1−1の記憶部161に記憶されている情報を基準として他の移動体1−2、1−3、1−4、1−5の情報を更新又は追加することにより情報を共有するか、その逆に、他の移動体1−2、1−3、1−4、1−5のいずれかの記憶部に記憶されている情報を基準として移動体1−1の情報を更新又は追加することにより情報を共有するかは、移動体間通信の開始タイミング(例えば、どの移動体がより早く移動体間通信を開始したかなど)などにより、適宜決定できる。
(5−3)干渉停止処理を実行するか否かの決定処理
次に、移動環境MEの移動中に移動体1−1における干渉停止処理の実行を決定する処理(以下、決定処理と呼ぶことがある)について、図7を用いて説明する。図7は、干渉停止処理を実行するか否かを決定する処理の流れを示すフローチャートである。
決定処理を開始すると、干渉停止部169は、干渉停止処理を現在実行中であるか否かを判断する(ステップS1)。そのために、干渉停止部169は、記憶部161に現在記憶されている移動体情報の干渉停止処理実行フラグの状態を参照する。
例えば、干渉停止処理実行フラグがOFFであり、移動体1−1において干渉停止処理が現在実行されていないと判断した場合(ステップS1において「No」の場合)、決定処理は、ステップS2に進む。すなわち、干渉停止処理を実行すべきか否かを決定して、実行すべきと判断された場合には、干渉停止処理を実行する。
一方、例えば、干渉停止処理実行フラグがONであり、移動体1−1において干渉停止処理が現在実行中であると判断した場合(ステップS1において「Yes」の場合)、決定処理は、ステップS7に進む。すなわち、現在実行中の干渉停止処理を解除すべきか否かを決定して、解除すべきと判断された場合には、干渉停止処理を停止する。
ステップS2において、干渉停止部169は、移動体1−1において実行中の動作モードが自律モードであるか手動モードであるかを判断する。具体的には、干渉停止部169は、記憶部161に現在記憶されている移動体情報の動作モードフラグの状態を参照する。その他、干渉停止部169は、動作モードを切り替える切替スイッチの状態を検知してもよい。
例えば、動作モードフラグがONであり、移動体1−1が自律モードを実行中であると判断した場合(ステップS2において「自律」の場合)、決定処理は、ステップS3に進む。すなわち、制御部16は、自律モード実行中において干渉停止処理を実行するか否かを決定する。この処理を、以下、「第1停止チェック処理」と呼ぶ。
一方、例えば、動作モードフラグがOFFであり、移動体1−1が手動モードを実行中であると判断した場合(ステップS2において「手動」の場合)、決定処理は、ステップS4に進む。すなわち、制御部16は、手動モード実行中において干渉停止処理を実行するか否かを決定する。この処理を、以下、「第2停止チェック処理」と呼ぶことにする。
なお、上記の第1停止チェック処理及び第2停止チェック処理については、後ほど詳しく説明する。
ステップS3(第1停止チェック処理)又はS4(第2停止チェック処理)を実行後、第1停止チェック処理又は第2停止チェック処理において干渉停止処理を実行すると判断した場合(ステップS5において「Yes」の場合)、干渉停止部169は、干渉停止処理実行フラグをONにして、干渉停止処理を実行する(ステップS6)。
具体的には、干渉停止部169は、走行制御部164に対して本体部11の移動を停止するよう指令することと(手動モードの実行中においては、走行制御部164に対してユーザによる操作を受け付けないよう指令する)、障害物検出部165に対して障害物検出センサ15からの超音波信号の出力を停止するか、又は、超音波信号の強度を弱くして出力する(例えば、信号強度を上記の信号強度s1よりも小さくして出力する)よう指令する。
また、干渉停止部169は、本体部11に設けられたLEDランプ(図示せず)を点灯させる。
干渉停止部169が上記の処理を干渉停止処理として実行することにより、移動体1−1は、他の移動体と衝突することなく協調して走行可能となる。また、他の移動体の障害物検出部が、移動体1−1の障害物検出センサ15から出力された超音波信号を誤検知して、当該他の移動体の近辺に障害物が存在すると誤判断することを回避できる。
干渉停止処理を実行後、決定処理は、ステップS10に進む。
一方、第1停止チェック処理又は第2停止チェック処理において干渉停止処理を実行しないと判断した場合(ステップS5において「No」の場合)、干渉停止処理を実行することなく、決定処理は、ステップS10に進む。
上記のステップS1において干渉停止処理が現在実行中であると判断した場合、干渉停止部169は、現在実行中の干渉停止処理を解除すべきか否かを決定する(ステップS7)。この処理を、以下、「停止解除チェック処理」と呼ぶことにする。なお、停止解除チェック処理は後述する。
ステップS7において現在実行中の干渉停止処理を解除しないと判断した場合(ステップS8において「No」の場合)、決定処理は、ステップS1に戻る。すなわち、干渉停止部169は、現在実行中の干渉停止処理を継続する。
一方、ステップS7の停止解除チェック処理において現在実行中の干渉停止処理を解除すると判断した場合(ステップS8において「Yes」の場合)、干渉停止部169は、干渉停止処理実行フラグをOFFにして、現在実行中の干渉停止処理を解除する(ステップS9)。
具体的には、干渉停止部169は、走行制御部164に対して本体部11の移動を再開するよう指令し(手動モードの実行中においては、走行制御部164に対してユーザによる操作を受け付けるよう指令する)、障害物検出部165に対して障害物検出センサ15から通常の強度を有する超音波信号を出力するよう指令する。また、干渉停止部169は、本体部11に設けられたLEDランプを消灯する。
上記のステップS1〜S9を実行後、制御部16は、決定処理を終了するか否かを判断する(ステップS10)。例えば、移動体1−1の移動が完了したと判断した場合(自律モードの実行時には走行スケジュールの全てを完了した場合、手動モードの実行時にはユーザによる操作を一定期間受信できなかったことにより移動を完了すると判断した場合)、制御部16は、決定処理を終了すると判断する。
決定処理を終了しないと判断した場合(ステップS10において「No」の場合)、決定処理は、ステップS1に戻り、当該処理を継続する。
一方、決定処理を終了すると判断した場合(ステップS10において「Yes」の場合)、決定処理は終了する。
上記のステップS1〜S10を実行することにより、上記の干渉停止処理を実行するか否かを制御部16が判断して、当該判断に基づいて、制御部16が干渉停止処理を実行又は解除できる。すなわち、各移動体1−1、1−2、・・・1−5が自律的に干渉停止処理を実行するか否かを判断でき、干渉停止処理を自律的に実行又は解除できる。
この結果、各移動体1−1、1−2、・・・1−3は、外部の制御システムにより統括的に制御されることなく、自律的に協調して移動環境MEを移動できる。
(5−4)第1停止チェック処理
次に、上記のステップS3において実行される第1停止チェック処理について、図8を用いて説明する。図8は、第1停止チェック処理の流れを示すフローチャートである。
上記のステップS2において実行中の動作モードが自律モードと判断され、第1停止チェック処理が開始されると、干渉停止部169は、通信可能移動体が存在しているか否かを判断する(ステップS3−1)。干渉停止部169は、例えば、移動体間通信部166において他の移動体の移動体間通信部が全く認識できないか、又は、他の移動体の移動体間通信部との間の移動体間通信に通信エラーが発生している場合に、通信可能移動体が存在しないと判断する。
通信可能移動体が存在しないと判断した場合(ステップS3−1において「No」の場合)、干渉停止部169は、移動体1−1の近辺に近接移動体が存在していないと判断し、干渉停止処理を実行しないと判断する(ステップS3−12)。その後、第1停止チェック処理を終了する。
一方、通信可能移動体が存在している場合(ステップS3−1において「Yes」の場合)、当該通信可能移動体の中に近接移動体が存在する可能性があるので、干渉停止部169は、通信可能移動体の中に近接移動体が存在するか否かを判断する(ステップS3−2)。
具体的には、干渉停止部169は、まず、距離算出部167に対して、移動体1−1と、通信可能移動体のそれぞれとの移動体間距離を算出するよう指令する。当該指令を受けた距離算出部167は、記憶部161に記憶されている移動体情報に含まれる自己位置の座標値と、他移動体情報に含まれる他移動体位置の座標値と、を用いて、移動体1−1の本体部11の中心と他の移動体の本体部の中心との間の距離を、移動体間距離として算出する。
移動体間距離が上記の干渉距離未満である他の移動体が存在しない場合(ステップS3−2において「No」の場合)、干渉停止部169は、近接移動体が存在しないと判断し、干渉停止処理を実行しないと判断する(ステップS3−12)。その後、第1停止チェック処理を終了する。
一方、移動体間距離が上記の干渉距離未満である他の移動体が存在する場合(ステップS3−2において「Yes」の場合)、干渉停止部169は、近接移動体が存在すると判断する。干渉停止部169は、近接移動体である他の移動体(例えば、近接移動体の移動体識別番号)を特定後、優先度決定部168に対して、移動体1−1の移動優先度と近接移動体の移動優先度との比較結果を通知するよう指令する。
上記の指令を受けた優先度決定部168は、まず、近接移動体が自律モードを実行中であるかどうかを判断する(ステップS3−3)。なお、以下のステップS3−3〜S3−10は、1つの近接移動体と移動体1−1との移動優先度の比較として実行され、複数の近接移動体が存在する場合には、存在する近接移動体分だけ繰り返し実行される。優先度決定部168は、例えば、近接移動体の他移動体情報に含まれる動作モードフラグを参照することにより、近接移動体において実行されている動作モードを判断する。
比較対象の近接移動体の他移動体情報に含まれる動作モードフラグがOFFであり、比較対象の近接移動体が手動モードを実行中であると判断した場合(ステップS3−3において「No」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第1停止チェック処理は、ステップS3−10に進む。
一方、比較対象の近接移動体が自律モードを実行中(すなわち、動作モードフラグがON)の場合(ステップS3−3において「Yes」の場合)、優先度決定部168は、動作モードの比較では移動優先度の高低を決定できないと判断し、さらに移動優先度の高低を決定する処理を実行する。
上記の判断後には、優先度決定部168は、移動体1−1の走行状態と近接移動体の走行状態との比較により、移動優先度の高低を決定する。
優先度決定部168は、例えば、移動体情報の走行フラグを参照して、移動体1−1の走行状態を決定する。一方、近接移動体の走行状態は、例えば、近接移動体の他移動体情報の走行フラグと干渉停止処理実行フラグとを参照することにより決定される。
上記のように、近接移動体の他移動体情報において走行フラグと干渉停止処理実行フラグとを参照する理由は、走行フラグの情報だけでは、近接移動体が、通常の移動において一時停止しているだけなのか、干渉停止処理の実行により一時停止しているかを区別できないからである。本実施形態においては、干渉停止処理を実行していない(すなわち、干渉停止処理実行フラグがOFFである)近接移動体の走行状態と、移動体1−1の走行状態との比較を行う。
一方、移動体1−1の移動体情報において走行フラグの情報のみを参照すればよい理由は、第1停止チェック処理を実行していることは、移動体1−1が干渉停止処理を実行していないことを意味しているからである。
移動体情報の走行フラグがON(移動体1−1が走行中)、かつ、比較対象の近接移動体の他移動体情報の走行フラグがOFF(比較対象の近接移動体が自律モードにて一時停止中)の場合(ステップS3−4において「Yes」であり、かつ、ステップS3−5において「No」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第1停止チェック処理は、ステップS3−10に進む。
一方、移動体情報の走行フラグがOFF(移動体1−1が一時停止中)、かつ、比較対象の近接移動体の他移動体情報の走行フラグがON(比較対象の近接移動体が自律モードにて走行中)の場合(ステップS3−4において「No」であり、かつ、ステップS3−6において「Yes」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部169へ通知する。干渉停止部169は、干渉停止処理を実行すると判断し(ステップS3−11)、第1停止チェック処理を終了する。
さらに、移動体情報の走行フラグがON(移動体1−1が走行中)、かつ、比較対象の近接移動体の他移動体情報の走行フラグがONである(比較対象の近接移動体が自律モードにて走行中)場合(ステップS3−4において「Yes」であり、かつ、ステップS3−5において「Yes」の場合)、優先度決定部168は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
また、移動体情報の走行フラグがOFF(移動体1−1が一時停止中)、かつ、比較対象の近接移動体の他移動体情報の走行フラグがOFFである(比較対象の近接移動体が自律モードにて一時停止中)場合(ステップS3−4において「No」であり、かつ、ステップS3−6において「No」の場合)にも、優先度決定部168は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
移動優先度同士の高低が、実行中の動作モード及び走行状態の比較によって決定できない場合、優先度決定部168は、移動体1−1が通過中の通路の幅と、近接移動体が通過中の通路の幅とを比較して、移動優先度を決定する(ステップS3−7)。通過中の通路の幅は、上記のようにして副環境地図を用いて算出してもよいし、移動体情報及び他移動体情報を参照することにより取得してもよい。
移動体1−1が通過中の通路の幅が、比較対象の近接移動体が通過中の通路の幅よりも狭い場合(ステップS3−7において「狭」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第1停止チェック処理は、ステップS3−10に進む。
一方、移動体1−1が通過中の通路の幅が、比較対象の近接移動体が通過中の通路の幅よりも広い場合(ステップS3−7において「広」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行すると判断し(ステップS3−11)、第1停止チェック処理を終了する。
上記のように、より幅が狭い通路を通過中の移動体の移動優先度を高めることにより、例えば、現在狭い通路を通過している移動体を当該狭い通路から脱出させたあとに、他の移動体を当該狭い通路へ進入させることができる。その結果、複数の移動体が狭い通路を効率よく協調して通過できる。
さらに、移動体1−1が通過中の通路の幅が、比較対象の近接移動体が通過中の通路の幅と同一の場合(ステップS3−7において「同一」の場合)、優先度決定部168は、通過中の通路の幅によって移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
上記のように、移動優先度同士の高低を、通過中の通路の幅に基づいても決定できない場合、優先度決定部168は、移動体1−1に設定された設定優先度と、近接移動体に設定された設定優先度との比較により、移動優先度を決定する(ステップS3−8)。
優先度決定部168は、移動体情報及び近接移動体の他移動体情報を参照することにより、移動体1−1及び近接移動体の設定優先度を取得できる。
移動体1−1の設定優先度が、比較対象の近接移動体の設定優先度よりも高い場合(ステップS3−8において「高」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第1停止チェック処理は、ステップS3−10に進む。
一方、移動体1−1の設定優先度が、比較対象の近接移動体の設定優先度よりも低い場合(ステップS3−8において「低」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行すると判断し(ステップS3−11)、第1停止チェック処理を終了する。
これにより、ユーザにより決められた設定優先度がより高い移動体を優先的に移動させて、複数の移動体1−1、1−2、・・・1−5は、移動環境MEを効率的に移動できる。
さらに、移動体1−1の設定優先度が、比較対象の近接移動体の設定優先度と同一の場合(ステップS3−8において「同一」の場合)、優先度決定部168は、設定優先度では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
なお、複数の移動体1−1、1−2、・・・1−5において設定優先度が設定されていない場合にも、優先度決定部168は、設定優先度では移動優先度を決定できないと判断する。
移動優先度相互の高低が、実行中の動作モード、走行状態、通路の幅、及び設定優先度の比較によって決定できない場合、優先度決定部168は、移動体1−1に割り当てられた移動体識別番号と、近接移動体に割り当てられた移動体識別番号との大小の比較により、移動優先度を決定する(ステップS3−9)。
優先度決定部168は、移動体情報及び近接移動体の他移動体情報を参照することにより、移動体1−1及び近接移動体の移動体識別番号を取得できる。
移動体1−1の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも小さい場合(ステップS3−9において「No」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第1停止チェック処理は、ステップS3−10に進む。
一方、移動体1−1の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも大きい場合(ステップS3−9において「Yes」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行すると判断し(ステップS3−11)、第1停止チェック処理を終了する。
これにより、個別に割り当てられた移動体識別番号がより小さい移動体を優先的に移動できる。
上記のステップS3−3〜S3−9を実行した結果、移動体1−1の移動優先度が今回の比較対象の近接移動体の移動優先度よりも高いと判定された場合、優先度決定部168は、全ての近接移動体に対してステップS3−3〜S3−9の判定を実行したか否かを判断する(ステップS3−10)。全ての近接移動体に対して移動優先度の高低の判定を実行したか否かは、例えば、近接移動体とされた移動体の識別番号の全てに対して、上記のステップS3−3〜S3−9を実行したかを確認することにより、判断できる。
移動優先度の判定を実行すべき近接移動体が存在する場合(ステップS3−10において「No」の場合)、第1停止チェック処理は、ステップS3−3に戻り、他の近接移動体を比較対象として、移動優先度の高低の判定を実行する。
一方、移動優先度の判定を全ての近接移動体に対して実行した場合(ステップS3−10において「Yes」の場合)、優先度決定部168は、移動体1−1の移動優先度がどの近接移動体よりも高いと判定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行しないと判断し(ステップS3−12)、第1停止チェック処理を終了する。
上記のステップS3−1〜S3−12を実行することにより、干渉距離未満の範囲内に存在する複数台の移動体のうち、移動優先度が最も高い移動体を、優先的に移動できる。
(5−5)第2停止チェック処理
次に、上記のステップS4において実行される第2停止チェック処理について、図9を用いて説明する。図9は、第2停止チェック処理の流れを示すフローチャートである。
上記のステップS2において実行中の動作モードが手動モードと判断され、第2停止チェック処理が開始されると、干渉停止部169は、通信可能移動体が存在しているか否かを判断する(ステップS4−1)。
通信可能移動体が存在しないと判断した場合(ステップS4−1において「No」の場合)、干渉停止部169は、移動体1−1の近辺に近接移動体が存在していないと判断し、干渉停止処理を実行しないと判断する(ステップS4−10)。その後、第2停止チェック処理を終了する。
一方、通信可能移動体が存在している場合(ステップS4−1において「Yes」の場合)、当該通信可能移動体の中に近接移動体が存在する可能性があるので、干渉停止部169は、通信可能移動体の中に近接移動体が存在するか否かを判断する(ステップS4−2)。
移動体間距離が干渉距離未満である他の移動体が存在しない場合(ステップS4−2において「No」の場合)、干渉停止部169は、近接移動体が存在しないと判断し、干渉停止処理を実行しないと判断する(ステップS4−10)。その後、第2停止チェック処理を終了する。
一方、移動体間距離が干渉距離未満である他の移動体が存在する場合(ステップS4−2において「Yes」の場合)、干渉停止部169は、近接移動体が存在すると判断する。この場合、干渉停止部169は、近接移動体の移動体識別番号を特定後、優先度決定部168に対して、移動優先度同士の比較結果を通知するよう指令する。
なお、以下に説明する移動優先度の高低の決定は、上記の第1停止チェック処理と同様に、近接移動体毎の移動優先度の比較を、特定された全ての近接移動体分だけ繰り返し実行することにより行われる。
上記の指令を受けた優先度決定部168は、まず、近接移動体が手動モードを実行中であるかどうかを判断する(ステップS4−3)。
比較対象の近接移動体の動作モードフラグがONであり、当該比較対象の近接移動体が自律モードを実行中であると判断した場合(ステップS4−3において「No」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部169に通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行すると判断し(ステップS4−11)、第2停止チェック処理を終了する。これにより、自律モードを実行中の近接移動体を優先的に移動できる。
一方、比較対象の近接移動体の動作モードフラグがOFFであり、当該近接移動体が手動モードを実行中であると判断した場合(ステップS4−3において「Yes」の場合)、優先度決定部168は、動作モードの比較では移動優先度の高低を決定できないと判断し、さらに移動優先度の高低を決定する処理を実行する。
動作モードの比較では移動優先度の高低を決定できないと判断すると、優先度決定部168は、次に、移動体1−1の走行状態と近接移動体の走行状態との比較により、移動優先度の高低を決定する。
移動体情報の走行フラグがOFF(移動体1−1が一時停止中)、かつ、比較対象の近接移動体の他移動体情報の走行フラグがON(比較対象の近接移動体が手動モードにて走行中)の場合(ステップS4−4において「Yes」であり、かつ、ステップS4−5において「No」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行すると判断し(ステップS4−11)、第2停止チェック処理を終了する。これにより、現在移動中の近接移動体を優先的に移動できる。
一方、移動体情報の走行フラグがON(移動体1−1が走行中)、かつ、比較対象の近接移動体の走行フラグがOFF(比較対象の近接移動体が手動モードにて一時停止中)の場合(ステップS4−4において「No」であり、かつ、ステップS4−6において「Yes」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第2停止チェック処理は、ステップS4−9へ進む。
さらに、移動体情報の走行フラグがOFF(移動体1−1が一時停止中)、かつ、比較対象の近接移動体の走行フラグがOFFである(比較対象の近接移動体が手動モードにて一時停止中)場合(ステップS4−4において「Yes」であり、かつ、ステップS4−5において「Yes」の場合)、優先度決定部168は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
また、移動体情報の走行フラグがON(移動体1−1が走行中)、かつ、比較対象の近接移動体の走行フラグがON(比較対象の近接移動体が手動モード実行にて走行中)の場合(ステップS4−4において「No」であり、かつ、ステップS4−6において「No」の場合)にも、優先度決定部168は、移動体の走行状態では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
移動優先度同士の高低が実行中の動作モード及び走行状態の比較によって決定できない場合、優先度決定部168は、移動体1−1に設定された設定優先度と、近接移動体に設定された設定優先度との比較により、移動優先度を決定する(ステップS4−7)。
移動体1−1の設定優先度が、比較対象の近接移動体の設定優先度よりも高い場合(ステップS4−7において「高」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第2停止チェック処理は、ステップS4−9へ進む。
一方、移動体1−1の設定優先度が、比較対象の近接移動体の設定優先度よりも低い場合(ステップS4−7において「低」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体に移動優先度よりも低いと決定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行すると判断し(ステップS4−11)、第2停止チェック処理を終了する。
これにより、ユーザにより決められた設定優先度が高い移動体を優先的に移動させて、複数の移動体1−1、1−2、・・・1−5は、移動環境MEを効率的に移動できる。
さらに、移動体1−1の設定優先度が、比較対象の近接移動体の設定優先度と同一である場合(ステップS4−7において「同一」の場合)、優先度決定部168は、設定優先度では移動優先度の高低を決定できないと判断し、さらなる移動優先度の決定処理を実行する。
なお、複数の移動体1−1、1−2、・・・1−5において設定優先度が設定されていない場合にも、優先度決定部168は、設定優先度では移動優先度を決定できないと判断する。
移動体1−1の移動優先度と近接移動体の移動優先度の高低が、設定優先度によって決定できない場合、優先度決定部168は、移動体1−1に割り当てられた移動体識別番号と、近接移動体に割り当てられた移動体識別番号との大小の比較により、移動優先度を決定する(ステップS4−8)。
移動体1−1の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも小さい場合(ステップS4−8において「No」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも高いと決定し、第2停止チェック処理は、ステップS4−9に進む。
一方、移動体1−1の移動体識別番号が、比較対象の近接移動体の移動体識別番号よりも大きい場合(ステップS4−8において「Yes」の場合)、優先度決定部168は、移動体1−1の移動優先度が比較対象の近接移動体の移動優先度よりも低いと決定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行すると判断し(ステップS4−11)、第2停止チェック処理を終了する。
これにより、個別に割り当てられた移動体識別番号が小さい移動体を優先的に移動できる。
上記のステップS4−3〜S4−8を実行した結果、移動体1−1の移動優先度が今回の比較対象の近接移動体の移動優先度よりも高いと判定された場合、優先度決定部168は、全ての近接移動体に対してステップS4−3〜S4−8の判定を実行したか否かを判断する(ステップS4−9)。
移動優先度の判定を実行すべき近接移動体が存在する場合(ステップS4−9において「No」の場合)、第2停止チェック処理は、ステップS4−3に戻り、他の近接移動体を比較対象として、移動優先度の高低の判定を実行する。
一方、移動優先度の判定を全ての近接移動体に対して実行した場合(ステップS4−9において「Yes」の場合)、優先度決定部168は、移動体1−1の移動優先度がどの近接移動体よりも高いと判定し、当該結果を干渉停止部169へ通知する。当該通知をうけた干渉停止部169は、干渉停止処理を実行しないと判断し(ステップS4−10)、第2停止チェック処理を終了する。
上記のステップS4−1〜S4−11を実行することにより、干渉距離未満の範囲内に存在する複数台の移動体のうち、移動優先度が最も高い移動体を、優先的に移動できる。
このように、自律移動体システム100では、複数の移動体1−1、1−2、・・・1−5のそれぞれが、他の移動体との位置関係及び移動に関する優先度を自律的に判断している。これにより、各移動体1−1、1−2、・・・1−5は、当該判断に基づいて干渉停止処理を実行するか否かを自律的に決定し、他の移動体と協調しながら移動環境を自律的に移動できる。この結果、例えば、自律移動体システム100を異なる移動環境MEにおいて使用する場合でも、自律移動体システム100を大幅に再構築する必要がなくなる。
(5−6)停止解除チェック処理
次に、上記のステップS7において実行される停止解除チェック処理について、図10を用いて説明する。図10は、停止解除チェック処理の流れを示すフローチャートである。
上記のステップS1において干渉停止処理を実行中と判断され、停止解除チェック処理が開始されると、干渉停止部169は、通信可能移動体が存在しているか否かを判断する(ステップS7−1)。
通信可能移動体が存在しないと判断した場合(ステップS7−1において「No」の場合)、干渉停止部169は、移動体1−1の近辺に近接移動体が存在していないと判断し、干渉停止処理を解除すると判断する(ステップS7−3)。その後、停止解除チェック処理を終了する。
一方、通信可能移動体が存在している場合(ステップS7−1において「Yes」の場合)、当該通信可能移動体の中に近接移動体が存在する可能性があるので、干渉停止部169は、通信可能移動体の中に近接移動体が存在するか否かを判断する(ステップS7−2)。
移動体間距離が干渉距離未満である他の移動体が存在しない場合(ステップS7−2において「No」の場合)、干渉停止部169は、近接移動体が存在しないと判断し、干渉停止処理を解除すると判断する(ステップS7−3)。その後、停止解除チェック処理を終了する。
一方、移動体間距離が干渉距離未満である他の移動体が存在する場合(ステップS7−2において「Yes」の場合)、干渉停止部169は、近接移動体が存在すると判断し、干渉停止処理を解除せず継続すると判断する(ステップS7−4)。その後、停止解除チェック処理を終了する。
上記のステップS7−1〜S7−4を停止解除チェック処理として実行することにより、移動体間通信が可能な他の移動体が存在しない(移動体間通信が不調である)、又は、近接移動体が存在しないと判断したら、干渉停止部169は、干渉停止処理を解除できる。これにより、各移動体1−1、1−2、・・・1−5は、他の移動体が近くに存在しない場合には、通常の走行を実行できる。
(6)他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
(A)移動優先度を決定する処理の順番についての他の実施形態
上記の第1実施形態における第1停止チェック処理及び第2停止チェック処理では、(i)近接移動体の存在又は不存在に基づく判断、(ii)実行中の動作モードに基づく判断、(iii)現在の走行状態に基づく判断、(iv)通路幅に基づく判断(第1停止チェック処理のみ)、(v)設定優先度に基づく判断、(vi)移動体識別番号に基づく判断、の順番で移動優先度の高低を決定していた。
しかし、移動優先度の高低の決定のための判断は、上記の順番(特に、上記の(ii)〜(vi)の順番)に限られず、どの基準をより優先するかにより(例えば、優先する基準を停止チェック処理のより早い段階に配置する)、適宜順番を変更できる。
(B)障害物検出部についての他の実施形態(その1)
上記の第1実施形態において、障害物検出部165は、超音波信号が出力されて時間t1までに信号強度がs1以上である(障害物検出センサ15から出力され障害物にて反射された)超音波信号が受信されたときに、本体部11の近辺に障害物が存在すると判断して、本体部11の移動を停止していた。すなわち、第1実施形態の障害物検出部165は、比較的狭い範囲の障害物の有無のみを検出していた。しかし、これに限られず、障害物検出部165は、より広い範囲の障害物の検出を行ってもよい。
具体的には、障害物検出部165は、超音波信号が出力されて時間t1までに信号強度がs1以上である超音波信号を受信した場合だけでなく、(I)超音波信号が出力されて時間t1からt2(図4)までに信号強度がs2(図4)以上である超音波信号を受信した場合、(II)超音波信号が出力されて時間t2からt3(図4)までに信号強度がs3(図4)以上である超音波信号を受信した場合、及び/又は、(III)超音波信号が出力されて時間t3以降に信号強度がs4(図4)以上である超音波信号を受信した場合、にも、本体部11の近辺に障害物が存在すると判断してもよい。
上記の(I)までの基準を用いる場合には、干渉基準距離は、例えば、図5に示す2つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がs2となったときの2つのセンサ間の距離とできる。この場合、干渉停止処理において障害物検出センサ15から出力される超音波信号の強度はs2以下とする。
上記の(I)及び(II)までの基準を用いる場合には、干渉基準距離は、図5に示す2つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がs3となったときの2つのセンサ間の距離とできる。この場合、干渉停止処理において障害物検出センサ15から出力される超音波信号の強度はs3以下とする。
上記の(I)〜(III)までの基準を用いる場合には、干渉基準距離は、図5に示す2つのセンサ間の距離と検出された信号強度との関係を示したプロットにおいて、他方の障害物検出センサにて検出された超音波信号の信号値がs4となったときの2つのセンサ間の距離とできる。この場合、干渉停止処理において障害物検出センサ15から出力される超音波信号の強度はs4以下とする。
上記のように障害物検出部165が広い範囲に存在する障害物の検出を行う場合、障害物を検出したときに障害物検出部165が実行する処理は、本体部11の移動の停止に限られない。障害物検出部165は、例えば、本体部11と障害物との距離に応じて、本体部11の移動速度を減少するように、走行制御部164に指令してもよい。
これにより、移動体1−1は、例えば、本体部11と障害物との距離が十分離れている場合には、障害物が移動体1−1の移動経路から外れるまで、ゆっくり移動しながら待機できる。
(C)障害物検出部についての他の実施形態(その2)
上記(B)のように、障害物検出部165が広い範囲の障害物の検出を行う場合には、移動体1−1、1−2、・・・1−5は、各移動体が移動中の領域の広さを表す指標を、移動体情報に含めて、各移動体にて共有してもよい。
この場合、移動中の領域の広さに応じて、障害物検出部165が本体部11の近辺に障害物が存在すると判断する際の信号強度の検出閾値を変化させてもよい。例えば、移動中の領域の広さが広い場合に、検出閾値を大きくするとともに干渉距離を大きくすることにより、移動体1−1、1−2、・・・1−5は、広い領域を高速に移動できる。
さらにこの場合には、移動体情報(他移動体情報)に含まれている領域の広さを表す指標と干渉距離とが同一である移動体同士にて、上記の移動優先度の比較を実行してもよい。これにより、移動体1−1、1−2、・・・1−5が高速に移動していても、障害物検出部165の誤検知を回避できる。
(D)移動体の他の実施形態
上記の第1実施形態において、複数の移動体1−1、1−2、・・・1−5の例として、ホテルや空港のロビーなど多くの人が存在する環境を移動する広告宣伝ロボットが挙げられていた。しかし、上記の移動体は、広告宣伝ロボット以外にも、様々な移動体やロボットなどに応用できる。例えば、移動体1−1、1−2、・・・1−5を、移動環境を自律的に移動し清掃する自律清掃ロボットとして用いてもよい。
さらに、上記の第1実施形態の制御部16(及び、必要に応じてレーザレンジセンサや超音波センサなどを付属させてもよい)を、汎用の移動体の制御を行うための移動体制御モジュールとして用いてもよい。
本発明は、所定の移動平面を自律的に走行可能な複数の移動体により構成される自律移動体システムに広く適用できる。
100 自律移動体システム
1−1、1−2、1−3、1−4、1−5 移動体
11 本体部
12 移動部
121a、121b モータ
123a、123b 主輪
125a、125b エンコーダ
13 レーザレンジセンサ
131 第1レーザレンジセンサ
133 第2レーザレンジセンサ
14 移動体間通信アンテナ
15 障害物検出センサ
151 第1障害物検出センサ
153 第2障害物検出センサ
16 制御部
161 記憶部
162 レーザレンジセンサ制御部
163 自己位置決定部
164 走行制御部
165 障害物検出部
166 移動体間通信部
167 距離算出部
168 優先度決定部
169 干渉停止部
1610 走行スケジュール作成部
17 補助輪部
17a、17b補助車輪
ME 移動環境
O 構造物
W 壁

Claims (6)

  1. 移動環境を移動する複数の移動体を含む自律移動体システムであって、
    前記複数の移動体のそれぞれは、
    前記移動環境を表す環境地図上での自己位置を決定する自己位置決定部と、
    検出信号を出力し、当該検出信号のうち反射されて戻ってきた反射信号を受信することにより、自身の周囲に障害物が存在するか否かを検出する障害物検出センサと、
    他の移動体と互いに直接通信する移動体間通信により、前記自己位置を前記他の移動体に送信するとともに、前記他の移動体の前記環境地図上の位置である他移動体位置を前記他の移動体のそれぞれから受信する、移動体間通信部と、
    前記自己位置と前記他移動体位置との間の移動体間距離を算出する距離算出部と、
    前記移動体間距離が干渉距離未満である近接移動体との間の移動に関する移動優先度を決定する優先度決定部と、
    前記近接移動体よりも前記移動優先度が低いと決定されたら、自身の移動を停止するとともに、前記障害物検出センサからの前記検出信号の出力を停止するか、又は、前記検出信号の強度を弱くして出力する干渉停止処理を実行する干渉停止部と、
    を有し、
    前記干渉停止部は、前記移動体間通信が不調であると判断したら、前記干渉停止処理を解除する、
    自律移動体システム。
  2. 移動環境を移動する複数の移動体を含む自律移動体システムであって、
    前記複数の移動体のそれぞれは、
    前記移動環境を表す環境地図上での自己位置を決定する自己位置決定部と、
    検出信号を出力し、当該検出信号のうち反射されて戻ってきた反射信号を受信することにより、自身の周囲に障害物が存在するか否かを検出する障害物検出センサと、
    他の移動体と互いに直接通信する移動体間通信により、前記自己位置を前記他の移動体に送信するとともに、前記他の移動体の前記環境地図上の位置である他移動体位置を前記他の移動体のそれぞれから受信する、移動体間通信部と、
    前記自己位置と前記他移動体位置との間の移動体間距離を算出する距離算出部と、
    前記移動体間距離が干渉距離未満である近接移動体との間の移動に関する移動優先度を決定する優先度決定部と、
    前記近接移動体よりも前記移動優先度が低いと決定されたら、自身の移動を停止するとともに、前記障害物検出センサからの前記検出信号の出力を停止するか、又は、前記検出信号の強度を弱くして出力する干渉停止処理を実行する干渉停止部と、
    を有し、
    前記複数の移動体のそれぞれは、前記移動環境を自律的に移動する自律モード、又は、前記移動環境をユーザの操作により移動する手動モードのいずれかを実行可能であり、
    優先度決定部は、前記手動モードを実行中の移動体の前記移動優先度を、前記自律モードを実行中の移動体の前記移動優先度よりも低いと決定する、
    自律移動体システム。
  3. 前記環境地図は、前記移動環境の少なくとも一部を表す副環境地図により構成され、
    自身が所有していない前記副環境地図である非保有地図を前記他の移動体が所有していると判断したら、前記移動体間通信部は、当該他の移動体から前記非保有地図を受信する、請求項1又は2に記載の自律移動体システム。
  4. 自身が所有している前記副環境地図である保有地図を前記他の移動体が所有していないと判断したら、前記移動体間通信部は、前記保有地図を当該他の移動体に送信する、請求項3に記載の自律移動体システム。
  5. 前記複数の移動体のそれぞれには、ユーザにより個別に設定された設定優先度が割り当てられており、
    前記優先度決定部は、前記設定優先度の高低に従って前記移動優先度を決定する、請求項1〜4のいずれかに記載の自律移動体システム。
  6. 前記複数の移動体のそれぞれには、個別に移動体識別番号が割り当てられており、
    前記優先度決定部は、前記移動体識別番号の大小に従って前記移動優先度を決定する、請求項1〜5のいずれかに記載の自律移動体システム。
JP2016023601A 2016-02-10 2016-02-10 自律移動体システム Active JP6880552B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016023601A JP6880552B2 (ja) 2016-02-10 2016-02-10 自律移動体システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016023601A JP6880552B2 (ja) 2016-02-10 2016-02-10 自律移動体システム

Publications (2)

Publication Number Publication Date
JP2017142659A JP2017142659A (ja) 2017-08-17
JP6880552B2 true JP6880552B2 (ja) 2021-06-02

Family

ID=59629121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016023601A Active JP6880552B2 (ja) 2016-02-10 2016-02-10 自律移動体システム

Country Status (1)

Country Link
JP (1) JP6880552B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220339779A1 (en) * 2021-04-21 2022-10-27 Toyota Jidosha Kabushiki Kaisha Robot control system, robot control method, and control program

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11614746B2 (en) * 2018-01-05 2023-03-28 Irobot Corporation Mobile cleaning robot teaming and persistent mapping
JP7145422B2 (ja) * 2018-01-23 2022-10-03 パナソニックIpマネジメント株式会社 移動装置及び移動システム
US11320831B2 (en) 2018-01-23 2022-05-03 Panasonic Intellectual Property Management Co., Ltd. Mover, mover control system, method of detecting object by mover, moving system, and method of controlling mover
CN111886641B (zh) * 2018-03-19 2022-10-18 本田技研工业株式会社 管理系统及其控制方法、以及管理服务器
CN110320524B (zh) * 2018-03-28 2024-02-13 北醒(北京)光子科技有限公司 一种多台光测距装置协同测距方法及系统
WO2019215838A1 (ja) 2018-05-09 2019-11-14 日本電気株式会社 自律動作機の制御装置、自律動作機の制御方法、及び、自律動作機の制御プログラムが格納された記録媒体
JP7025990B2 (ja) * 2018-05-14 2022-02-25 日立グローバルライフソリューションズ株式会社 移動体、および、移動体の地図共有方法
JP7176241B2 (ja) * 2018-06-15 2022-11-22 トヨタ自動車株式会社 自律移動体、および自律移動体の制御プログラム
WO2020235392A1 (ja) * 2019-05-17 2020-11-26 村田機械株式会社 搬送車システム、搬送車、及び、制御方法
WO2021024726A1 (ja) * 2019-08-07 2021-02-11 パナソニックIpマネジメント株式会社 制御システム、制御方法、及びプログラム
JP7020575B1 (ja) * 2021-03-09 2022-02-16 三菱電機株式会社 管制システムおよび移動体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2572151B2 (ja) * 1990-08-10 1997-01-16 日産自動車株式会社 無人搬送車の走行制御装置
JP2589901B2 (ja) * 1991-11-26 1997-03-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 能動型センサを備えた移動機械
JP2001212782A (ja) * 2000-01-31 2001-08-07 Sony Corp ロボット装置及びロボット装置の制御方法
JP4329667B2 (ja) * 2004-10-12 2009-09-09 パナソニック電工株式会社 自律移動システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220339779A1 (en) * 2021-04-21 2022-10-27 Toyota Jidosha Kabushiki Kaisha Robot control system, robot control method, and control program

Also Published As

Publication number Publication date
JP2017142659A (ja) 2017-08-17

Similar Documents

Publication Publication Date Title
JP6880552B2 (ja) 自律移動体システム
US12005586B2 (en) Dynamic navigation of autonomous vehicle with safety infrastructure
US11130630B2 (en) Collision prevention for autonomous vehicles
US11148290B2 (en) Plurality of robot cleaner and a controlling method for the same
JP6603253B2 (ja) 移動体制御システム、および移動体制御方法
JP4241673B2 (ja) 移動体の経路生成装置
US9116521B2 (en) Autonomous moving device and control method thereof
KR20170087384A (ko) 청소로봇을 원격으로 제어하기 위한 원격 제어 장치, 제어 시스템 및 제어 방법
US20200257311A1 (en) Cart having leading and following function
JP6907525B2 (ja) 移動体の屋内位置検出及びナビゲーションシステム、屋内位置検出及びナビゲーション方法、及び屋内位置検出及びナビゲーションプログラム
JP2010055498A (ja) 自律移動ロボット装置及びかかる装置における飛び出し衝突回避方法
CN109643128B (zh) 移动体及移动体的控制方法
US20200012293A1 (en) Robot and method of providing guidance service by the robot
US20220291685A1 (en) Method and system to improve autonomous robotic systems responsive behavior
JP2017146945A (ja) 先導ロボット
CN112631269A (zh) 自主移动机器人及自主移动机器人的控制程序
JP2014098948A (ja) 自律移動装置及び自律移動方法
CN110609542A (zh) 自主移动体和用于自主移动体的控制程序
WO2019104045A1 (en) Collision prevention for autonomous vehicles
JP7255676B2 (ja) 搬送車システム、搬送車、及び、制御方法
WO2018134763A1 (en) Autonomous robotic system
KR20060083345A (ko) 확장된 충돌 지도를 이용한 직교 교차로 상에서의 다개체로봇 무충돌 시스템 및 제어 방법
JP2020042409A (ja) 走行車システム
JP4093245B2 (ja) 自律移動装置
JP7188207B2 (ja) 自律走行車の走行制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6880552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150