(58)【調査した分野】(Int.Cl.,DB名)
前記移動目標位置設定手段は、前記自己位置が前記移動可能空間外に位置しているとき、前記移動候補位置に関わらず、該移動可能空間内における前記障害物の存在しない領域内の位置であって該自己位置から最も近い位置である復帰位置に前記移動目標位置を設定する請求項1に記載の自律飛行ロボット。
前記移動目標位置設定手段は、前記位置推定手段にて水平面上における前記自己位置を推定できないとき、前記移動目標位置を設定する処理をスキップするスキップ制御を行い、
前記移動制御手段は、前記移動目標位置設定手段にて前記スキップ制御が行われたとき、飛行高度を徐々に下げる着陸制御を行う請求項1から請求項3の何れか一項に記載の自律飛行ロボット。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、自律移動ロボットが追従移動可能な範囲を考慮していない。そのため、上記の従来技術の自律移動ロボットは、追従対象を認識している限り、当該追従対象に対して追従移動し続ける。ところで、自律移動ロボットを公共空間に移動させた場合、通行人や通行車両などの第三者に対して危険を及ぼす可能性があるため、通常、自律移動ロボットの移動を利用者の居住する敷地内等の限定された移動可能空間内に限定することを考慮する必要がある。特に、自律移動ロボットが空間内を自由に移動する自律飛行ロボットであるとき、墜落時や接触時等に第三者に及ぼす被害が大きいため、安全対策へのニーズが高かった。そこで、本発明は、自律飛行ロボットが所定の移動可能空間外に移動しないように、追従対象に対して追従移動することを目的とする。
【課題を解決するための手段】
【0005】
かかる課題を解決するために、飛行空間内において移動物体と所定の離間距離を保って追従飛行する自律飛行ロボットにおいて、前記飛行空間における移動可能空間及び該飛行空間内にある障害物を表した飛行空間マップを記憶した記憶部と、前記移動物体の移動物体位置と自律飛行ロボットの自己位置とを推定する処理を行う位置推定手段と、前記移動物体位置から前記離間距離だけ離れた周囲の位置に複数の移動候補位置を設定する移動候補位置設定手段と、前記各移動候補位置を評価した結果から該移動候補位置のうちの一つを移動目標位置に設定する処理を行う移動目標位置設定手段と、前記自己位置から前記移動目標位置へ移動するよう制御する処理を行う移動制御手段と、を有し、前記各処理を逐次繰り返すことによって追従移動するものであって、前記移動目標位置設定手段は、前記飛行空間マップ及び前記自己位置から該自己位置が前記移動可能空間内に位置しているとき、前記移動可能空間内の領域であって前記障害物の近傍にない前記移動候補位置についてのみ前記評価を行うことを特徴とする自律飛行ロボットを提供する。
【0006】
かかる構成により、本発明の移動目標位置設定手段は、自己位置が移動可能空間内に位置しているとき、移動物体位置から所定の離間距離だけ離れた周囲の位置に設置された複数の移動候補位置において、移動可能空間内の位置であって障害物の近傍の領域(障害物及び障害物に近接する領域)にない移動候補位置を評価し、評価結果からその中の一つを移動目標位置に設定する。すなわち、移動可能空間の外、及び障害物の近傍に位置する移動候補位置は評価対象とならないため、当該移動候補位置が移動目標位置として設定されることはない。したがって、自律飛行ロボットは、移動可能空間の外や障害物の近傍の位置に向かって移動しないように移動物体に対して所定の離間距離を保って追従移動することができる。これにより、敷地外などの移動可能空間外に存在する第三者にできるだけ接触しないようにすることができ、第三者に対する安全性を確保することができる。
【0007】
また、本発明の好ましい態様として、前記移動目標位置設定手段は、前記自己位置が前記移動可能空間外に位置しているとき、前記移動候補位置に関わらず、該移動可能空間内における前記障害物の存在しない領域内の位置であって該自己位置から最も近い位置である復帰位置に前記移動目標位置を設定するものとする。
【0008】
かかる構成により、本発明の移動目標位置設定手段は、自己位置が移動可能空間外に位置しているとき、移動候補位置設定手段にて設定された移動候補位置を評価することなく、自己位置から最も近い移動可能空間内の障害物の存在しない位置(復帰位置)を移動目標位置に設定する。これにより、自律飛行ロボットは、突風等の突発的な外乱などにより、移動可能空間の外に流されてしまった場合であっても、最短の距離で移動可能空間内に戻るよう移動制御するため、敷地外などの移動可能空間外に存在する第三者に対する安全性を確保することができる。
【0009】
また、本発明の好ましい態様として、前記移動目標位置設定手段は、前記復帰位置であって所定高度の位置である緊急着陸位置に前記移動目標位置を設定し、前記移動制御手段は前記自己位置が前記移動目標位置設定手段にて設定した前記緊急着陸位置にあるとき飛行高度を徐々に下げる着陸制御を行うものとする。
【0010】
かかる構成により、前記移動目標位置設定手段は、例えば、自己位置から最も近い移動可能空間内の障害物の存在しない位置(復帰位置)であって、早期に着陸可能な低い位置(緊急着陸位置)に移動目標位置を設定する。これにより、突風等の突発的な外乱などにより、移動可能空間の外に流されてしまった場合であって、更に継続的な強風により安定的な飛行が困難な場合であっても、早期に安全な位置(敷地内等の移動可能空間)に向かって着陸するよう移動制御でき、敷地外などの移動可能空間外に存在する第三者に対する安全性を確保することができる。
【0011】
また、本発明の好ましい態様として、前記移動目標位置設定手段は、前記位置推定手段にて水平面上における前記自己位置を推定できないとき、前記移動目標位置を設定する処理をスキップするスキップ制御を行い、前記移動制御手段は、前記移動目標位置設定手段にて前記スキップ制御が行われたとき、飛行高度を徐々に下げる着陸制御を行うものとする。
【0012】
かかる構成により、本発明の位置推定手段にて水平面上における前記自己位置を推定できないとき、移動目標位置を設定せずに、その場にて着陸するよう移動制御される。すなわち、自己位置が推定できないような状況下では自己位置が推定できるまで移動しようとするのではなく、速やかに着陸する。これにより、自律飛行ロボットが移動可能空間から離れて移動不可空間の先に勝手に飛行していくことを防止することができる。
【0013】
また、本発明の好ましい態様として、外部装置との間で通信を行う通信部を更に有し、前記移動制御手段は前記通信部にて前記外部装置と通信できなくなったとき飛行高度を徐々に下げる着陸制御を行うものとする。
【0014】
かかる構成により、外部装置との通信ができなくなるような異常状態においては着陸するように移動制御して、自律飛行を継続しないようにすることにより、第三者に対する安全性を保つことができる。
【0015】
また、本発明の好ましい態様として、前記
移動制御手段にて前記着陸制御が行われたとき、音又は光によって周囲に警報を出す報知部を更に有するものとする。
【0016】
かかる構成により、対処に駆けつけた警備員等が自律飛行ロボットの着陸場所を早期に発見することができ、異常状態を早期に検知することができる。
【発明の効果】
【0017】
上記のように、本発明の自律飛行ロボットは、自律飛行ロボットが所定の移動可能空間外に移動しないように追従移動することにより、第三者に対する安全性を確保することができる。
【発明を実施するための形態】
【0019】
以下、移動物体である侵入者の画像を撮像して所定の相対距離を保ちながら追従飛行し、特に、侵入者が攻撃や捕獲等を意図して接近してきた場合であっても適切に回避するよう飛行可能な自律移動ロボット(以下、「自律飛行ロボット」という)についての実施形態について添付した図面を参照しながら詳細に説明する。なお、本発明の自律飛行ロボットは、自動車等の人物以外の様々な移動物体についても同様に適用することができる。
【0020】
図1に本実施形態で利用する自律飛行ロボット1の概観図を表す。また、
図2に本実施形態で利用する自律飛行ロボット1の機能ブロック図を表す。
図1に表すように、本実施形態で利用する自律飛行ロボット1は、符号2a〜2dに示す4枚のロータ2(プロペラ)が一平面上に存在し、各ロータ2が図示しないバッテリ(二次電池)により駆動するモータ6によって回転することによって飛行するクアッドロータ型の小型無人ヘリコプタである。一般的に、シングルロータ型のヘリコプタでは、メインロータによって発生する反トルクをテールロータが生み出すモーメントで相殺することによって方位角を保っている。一方、本実施形態で利用する自律飛行ロボット1のようなクアッドロータ型のヘリコプタでは、前後・左右で異なる方向に回転するロータ2を用いることで反トルクの相殺を行っている。そして、例えば、機体をヨー方向に回転させたいときは、符号fa〜fdの矢印で示すように前後のロータ2a、2cと左右ロータ2d、2bの回転数に差を与える。このように、各ロータ2の回転数を制御することにより、様々な機体の移動や姿勢の調節を行うことができる。
【0021】
撮像部3は、例えばレンズなどの光学系および所定画素(例えば640×480画素)のCCDやCMOSなどの2次元アレイ素子を有する二次元イメージセンサで構成され、飛行空間の撮像画像を所定の時間間隔で取得するいわゆるカラーカメラである。本実施形態では、撮像部3は、その光軸が自律飛行ロボット1の正面方向を撮像するよう筐体部分に設置され、かつ、水平面(XY平面)から予め定めた俯角θにより斜め下方の空間を撮像するよう設置されている。取得した撮像画像は後述する制御部7に出力され、制御部7により記憶部8に記憶されたり、後述する通信部9を介して図示しない外部装置に送信されたりする。
通信部9は外部装置との間で、例えば無線LANや携帯電話回線等により無線通信するための通信モジュールである。本実施形態では、撮像部3によって取得した撮像画像を図示しない警備センタに設置されたPCに送信することにより、警備員等が遠隔から侵入者を監視することを可能にする。
【0022】
距離検出センサ4は、自律飛行ロボット1の周囲に存在する障害物と距離検出センサ4との間の距離を検出し、センサ検出範囲内に存在する障害物の相対的な位置を取得するセンサである。本実施形態では、距離検出センサ4としてレーザスキャナを備えている。レーザスキャナは、一定の角度サンプル間隔の角度毎に二次元スキャンすることによって、地面(又は床面)から一定の高さの水平面における周囲に存在する物体(障害物)との距離情報を極座標値として取得することができるものである。ここで、レーザスキャナにおける二次元スキャンとは、予め設定された検知エリアを走査するように、放射状にレーザ光である探査信号を送信し、検知エリア内の物体に反射して戻ってきた探査信号を受信して、送信と受信の時間差から物体までの距離を算出し、その探査信号を送信した方向と算出した距離を求めることをいう。本実施形態では、角度サンプル間隔を0.25°、検出角度範囲を360°、センサ検出範囲を30mとして自律飛行ロボットの周囲の障害物との距離を測定可能なレーザセンサを用いている。なお、レーザスキャナから照射されるレーザの一部をミラー5で地面方向に反射させて計測された距離情報を利用して飛行高度を推測することにも利用している。
【0023】
記憶部8は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の情報記憶装置である。記憶部8は、各種プログラムや各種データを記憶し、制御部との間でこれらの情報を入出力する。各種データには、本発明の「飛行空間マップ」に対応する2Dポイント情報81及びボクセル情報82、離間距離83の他、制御部7の各処理に用いられる設定値、閾値等の各種パラメータ84や、各センサ等からの出力値、撮像画像等が含まれる。
【0024】
2Dポイント情報81は、後述する位置推定手段71にて自律飛行ロボットの現在の飛行位置(以下、「自己位置」という)を推定するために利用する情報であり、グローバル座標と呼ばれる水平面における二次元の絶対座標上に表され、飛行空間における建造物等の障害物の外形を表す点集合の座標情報である。本実施形態では、飛行高度毎に設定された複数の点集合を2Dポイント情報として予め記憶部8に記憶していることとし、自律飛行ロボットの飛行高度によって対応する飛行高度の点集合を記憶部8から読み出して利用するものとする。
【0025】
ボクセル情報82は、飛行空間をボクセル空間として複数のボクセルに分割して飛行空間の障害物の構造等を表した情報であり、予め管理者等によって設定され記憶部8に記憶される情報である。本実施形態では、飛行空間を所定の大きさ(例えば15cm×15cm)に分割し、建造物等の障害物に位置するボクセルを「占有ボクセル」と定義して、自律飛行ロボット1が移動できない空間とした。そして、占有ボクセルの近くに存在する空間に位置するボクセルを「近接ボクセル」、それ以外の自由に飛行可能なエリアに位置するボクセルを「自由ボクセル」として定義した。そして、各ボクセルには、後述する移動経路生成手段にて移動経路を生成する際に利用できるよう、占有度を示すボクセルコスト値を持たせた。占有ボクセルのボクセルコスト値は最大値をとり、距離が大きくなるほどボクセルコスト値が小さくなるように、(ボクセルコスト値)=exp{−λ・(占有ボクセルからの距離)}の計算式からボクセルコスト値を算出した。ここでλは実験によって求めたパラメータである。そして、予め定めた閾値以上のボクセルコスト値を有するボクセルを「近接ボクセル」とした。また、ボクセルコスト値が当該閾値よりも小さいボクセルを「自由ボクセル」とし、自由ボクセルとみなされたボクセルのボクセルコスト値を0と再設定した。なお、自律飛行ロボット1が飛行空間における予め定めた移動可能空間の外に出ないようにするため、移動可能空間の外部の空間(移動不可空間)に位置するボクセルを占有ボクセルと設定した。さらに、障害物の場合と同様に移動不可空間(占有ボクセル)の近くに存在する空間に位置するボクセルについても「近接ボクセル」と設定し、ボクセルコスト値も同様に算出しいる。
【0026】
離間距離83は、移動物体を追従飛行するにあたって、自律飛行ロボット1と移動物体との水平面における維持すべき相対距離であり、自律飛行ロボット1の管理者等によって予め設定される値である。自律飛行ロボット1を用いて所定の移動物体を監視する場合、移動物体に近づき、より詳細な撮像画像を取得できる必要がある。しかし、侵入者などの敵対する移動物体から攻撃を受けないようにするためには一定距離以上離間する必要がある。そのため、本実施形態の自律飛行ロボット1は、移動物体の詳細な撮像画像を取得でき、かつ、当該移動物体から攻撃を受け難い距離に離間距離83を予め定めておき、当該離間距離を保ちつつ追従飛行するようにする。本実施形態では離間距離83を3mとして設定されているものとする。
【0027】
制御部7は、CPU等を備えたコンピュータで構成され、位置推定処理(自己位置推定処理、移動物体位置推定処理)、速度推定処理、経路探索処理、経路追従制御処理を行う一連の処理として、位置推定手段71、速度推定手段72、経路探索手段73、飛行制御手段74を含んでいる。
【0028】
位置推定手段71は、距離検出センサ4及び撮像部3の出力に基づいて、飛行空間における自律飛行ロボット1の現在位置(自己位置)を推定する自己位置推定処理と、移動物体の現在位置(以下、「移動物体位置」という)とを推定する移動物体位置推定処理とを行う。
【0029】
自己位置推定処理では、距離検出センサ4の出力と記憶部8に記憶された2Dポイント情報81とを用いて、自己位置として、水平面(XY平面)における位置x,yと、飛行高度zと、Z軸に対する回転角であるヨー角ψとを推定する処理を行う。
【0030】
自己位置推定処理では、まず、レーザスキャナから照射されるレーザの一部をミラー5で地面方向に反射させて計測された距離情報を利用して、自己位置の飛行高度zを算出する。レーザスキャナによって計測された距離情報は、地面には建造物以外の物体(例えば荷物や乗り物など)が存在するため、必ずしも地面までの距離として正確に計測されるとは限らない。したがって、本実施形態では、これらの建造物以外の障害物の影響を受け難いようレーザスキャナによって計測された距離情報に対して拡張カルマンフィルタを適用することにより飛行高度を推定する。
【0031】
次に、自己位置推定処理では、自己位置のx,y,ヨー角ψを推定する。自己位置のx,y,ヨー角ψを推定にあたり、まず、記憶部に記憶された2Dポイント情報81から飛行高度zに対応した飛行空間の二次元地図としての点集合を読み出す。そして、求めた点集合とレーザスキャナの出力とを用いて、ICP(Iterative Closest Point)アルゴリズムを利用した既知のスキャンマッチングにより自己位置のx,y,ヨー角ψを推定する。ICPアルゴリズムは、2つの点集合A,Bにおいてユークリッド距離が最小となる組合せを求めることによりマッチング処理するものである。すなわち、2Dポイント情報81の点集合と、自律飛行ロボット1に搭載されているレーザスキャナから取得したスキャンデータである入力点集合とをマッチングさせ位置誤差を修正することによって、グローバル座標における自己位置のx,y,ヨー角ψを推定することができる。
【0032】
移動物体位置推定処理では、撮像部3の出力である撮像画像を画像処理して、移動物体位置を推定する処理を行う。移動物体位置推定処理では、まず、撮像画像の各フレームを画像処理して移動物体の画像領域を抽出する処理を行う。本実施形態では、既知の従来技術(例えば、特開2006−146551号公報を参照)であるオプティカルフロー法を用いて移動物体の画像領域を抽出する。しかし、これに限らず、既知の従来技術であるブースティング学習(例えば、Haar−like特徴を用いているAdaBoostベース識別器による顔検出手法)による識別器を用いて、移動物体である人物領域が含まれるか否かを識別し、人物領域として識別された当該画像領域を抽出してもよい。また、上記の各技術を組み合わせて用いてもよい。次に、移動物体位置推定処理では、当該抽出された移動物体の画像領域の位置に基づいて移動物体と自律飛行ロボット1との距離を推定する。具体的には、抽出した移動物体の画像領域の頭頂部の(撮像画像における)y座標位置と距離との対応表を予め飛行高度毎に作成しておき、現在の飛行高度及び移動物体の頭頂部のy座標位置を当該対応表に照らし合わせて移動体との距離を推定する。しかし、これに限らず、抽出した移動物体の頭部の大きさから距離を算出してもよい。すなわち、頭部の大きさと距離との対応表を予め作成しておき、抽出された移動物体の頭部の大きさを当該対応表に照らし合わせて移動物体との距離を推定してもよい。なお、撮像画像から抽出した移動物体の画像領域は、時間的に画像追跡されていることとする。
【0033】
なお、位置推定手段71は、移動物体位置推定処理にて移動物体位置が算出すると、当該移動物体位置に基づいてボクセル情報82を更新する処理を行う。具体的には、記憶部8のボクセル情報82に基づいたボクセル空間に、算出された移動物体位置を中心として監視対象の移動物体として予め定めた移動物体の大きさと略同じ大きさの円柱モデル(例えば、監視対象の移動物体を侵入者であるとしたとき、底面の半径0.3m、高さ1.7mの円柱モデル)を配置し、当該円柱モデルと干渉するボクセルを占有ボクセルとして設定することによりボクセル情報82を更新する。後述するように、自律飛行ロボット1は、占有ボクセルには移動しないように飛行制御されるが、上記のように移動物体位置に基づいてボクセル情報82を更新することにより、自律飛行ロボット1と移動物体との接触を回避することができる。
【0034】
速度推定手段72は、後述する飛行制御手段74における経路追従制御で利用するため、自律飛行ロボット1の現在の飛行速度(v
x,v
y,v
z,v
yaw)を推定する処理を行う。本実施形態では、位置推定手段71にて推定した自己位置(x,y,z,yaw)の時間変化から飛行速度を求めた。この際、測定誤差等の影響を考慮して拡張カルマンフィルタを利用して飛行速度を推定した。
【0035】
経路探索手段73は、位置推定手段71で算出した自己位置及び移動物体位置と、記憶部8に記憶された各種情報とを用いて自律飛行ロボット1の移動経路を算出する処理を行う。
図3に経路探索手段73の機能ブロック図を表す。経路探索手段73は、
図3に表すように、移動候補位置を設定する移動候補位置設定手段731と、複数の移動候補位置を評価してその中から一つの移動目標位置を設定する移動目標位置設定手段732と、自己位置から移動目標位置に至る移動経路を生成する移動経路生成手段733とにより構成される。以下、経路探索手段73を構成する各手段における処理の詳細について説明する。
【0036】
移動候補位置設定手段731は、移動物体位置から離間距離83だけ離れた周囲の位置に複数の移動候補位置を設定する処理を行う。本実施形態では、移動候補位置を、移動物体Mを中心とし記憶部8に記憶された離間距離83(=L)を半径とした円状の位置で、かつ、管理者等により予め定めた目標飛行高度(例えば2m)の領域に、それぞれ等間隔になるように設定する。
図4は移動候補位置の設定についての説明図であり、ボクセルで表示した飛行空間の一部を真上から見下ろしたときの図である。同図において、符号Boで表した黒塗りされたボクセルは占有ボクセルであり、符号Bnで表した平行斜線(ハッチング)で塗られたボクセルは近接ボクセルであり、符号Bfで表した白色のボクセルは自由ボクセルである。
図4に表すように、移動物体Mの重心位置Mgを中心として半径Lの円周上に複数個の移動候補位置Pcを等間隔に設置する。本実施形態では、移動物体Mの周囲の位置に5°おきに72個の移動候補位置Pcを設置することとする。なお、
図4の右側を占める占有ボクセルは自律飛行ロボット1の移動不可空間であり、現実世界の空間においては、敷地(移動可能空間)外の公共空間(例えば公道等)に相当する空間である。なお、
図4では、飛行空間を真上から見下ろしているため2次元的にボクセル空間が表現されているものの、実際は3次元的にボクセル空間が表現されているものとする。
【0037】
移動候補位置設定手段731にて移動候補位置Pcの設定を終えると、移動目標位置設定手段732は設定された複数の移動候補位置Pcを評価し、その中の一つを移動目標位置として設定する移動目標位置設定処理を行う。
図5は、移動目標位置設定処理を示すフローチャートであり、以下、同図を用いて移動目標位置設定処理の詳細について説明する。
【0038】
移動目標位置設定処理では、まず、位置推定手段71における自己位置推定処理にて自己位置が推定できているか否かを判定する(ST10)。前述したように本実施形態における自己位置推定処理では、距離検出センサ4(レーザスキャナ)の出力である入力点集合と2Dポイント情報81の点集合とのマッチングによって自己位置を推定しているが、このマッチングの際に、2つの点集合間のユークリッド距離に応じたスコアを求め(点集合間の距離が大きくなるほど低スコアとなるように求める)、当該スコアが予め定めた閾値よりも小さいとき自己位置が推定できないとみなす。なお、本実施形態では、スコアによって自己位置が推定できているか否かを判定しているが、これに限らない。例えば、2Dポイント情報81の点集合と大きく位置が異なる入力点集合の点を「外れ値」としてマッチング処理から除外しているが、この外れ値の数が予め定めた閾値以上であるとき自己位置が推定できないとみなす方法を用いてもよい。
【0039】
ST10にて、自己位置が推定できていると判定されたとき(ST10−Yes)、推定された自己位置が移動可能空間内に位置しているか否かを判定する(ST11)。本実施形態では、推定された自己位置が占有ボクセルの位置にあるとき、自己位置が移動可能空間内に位置していないと判定する。すなわち、本実施形態では、占有ボクセルは障害物又は移動不可空間の何れかの空間を表しているため、当該占有ボクセルの位置に自己位置が位置しているということは障害物以外の空間である移動不可空間であるとみなしている。
【0040】
ST11にて、推定された自己位置が移動可能空間内に位置していると判定されたとき(ST11−Yes)、評価対象の移動候補位置を設定する処理を行う(ST12)。本実施形態では、障害物の近傍に位置する移動候補位置Pcを評価対象から除外することにより、評価対象の移動候補位置Pcを設定する。すなわち、自律飛行ロボット1が障害物に接触することを防止するため障害物と干渉する位置にある移動候補位置Pcを除外し、また、障害物に接近するのも接触の危険性が増すことから障害物の近くに存在する移動候補位置Pcを除外する処理を行う。
図6は移動目標位置の設定についての説明図であり、
図4と同じようにボクセルで表示した飛行空間の一部を真上から見下ろしたときの図である。
図6に表すように、自由ボクセルBf以外のボクセル(占有ボクセルBo、近接ボクセルBn)と干渉する位置にある移動候補位置Pcが移動目標位置として設定されないよう、以下で説明する評価の対象から除外する。
図6に表した移動候補位置Pcは、
図4で表した移動候補位置Pcから占有ボクセルBo又は近接ボクセルBnと干渉している移動候補位置Pcを除外した後のものであり、評価対象として設定された移動候補位置Pcである。なお、自己位置が移動可能空間内に位置している場合、近接ボクセルBnは移動目標位置に設定できないものの移動経路とすることはできるものとし、占有ボクセルBoは移動目標位置に設定することができないだけでなく移動経路とすることもできないものとする。一方、自己位置が移動可能空間外(移動不可空間内)に位置している場合、近接ボクセルBnは移動目標位置に設定できて移動経路とすることもできるものとし、移動不可空間における占有ボクセルBoは移動経路とすることができるものとする。
【0041】
続いて、移動目標位置設定処理では、評価対象から除外されていない各移動候補位置Pcを評価して移動目標位置を設定する処理を行う(ST13)。本実施形態では、評価対象となっている各移動候補位置Pcの評価値を求め、当該評価値が最も大きい移動候補位置を移動目標位置として設定するように評価する。この際、まず、自律飛行ロボット1の現在位置から各移動候補位置までの距離が小さいほど評価値が大きくなるようにする。また、前回設定した移動目標位置からの移動候補位置までの距離が小さいほど評価値が大きくなるようにする。本実施形態における評価値Vを求める具体的な評価式を数1で表す。
【数1】
ここで、r=(x,y,z)は自律飛行ロボット1の現在の自己位置、P
prev=(x
prev,y
prev,z
prev)は前回設定した移動目標位置を示し、α、β、σは距離に応じて減衰する値を調整するためのパラメータである。
【0042】
続いて、移動目標位置設定処理では、評価値Vが最大となる移動候補位置Pcを移動目標位置Poとして設定する(ST14)。
図6の例では、点線で囲んだ移動候補位置Pcが移動目標位置Poとして設定されたことを表している。このように、移動目標位置Poが設定されると、後述するように設定された移動目標位置Poに向かうように移動経路が生成され、自律飛行ロボット1は当該移動目標位置Poに向かって移動していくこととなる。
【0043】
ST10にて、自己位置が推定できていない判定されたとき(ST10−No)、移動候補位置Pcを設定する処理をスキップするスキップ制御が行われる(ST15)。
【0044】
ST11にて、推定された自己位置が移動可能空間内に位置していないと判定されたとき(ST11−No)、緊急着陸位置を算出し(ST16)、算出した緊急着陸位置に移動目標位置Poを設定する(ST17)。具体的には、まず、移動可能空間内の障害物の存在しない位置(占有ボクセル以外の領域)であって、自己位置からの距離が最も小さい位置(自己位置から最も近い位置)を復帰位置として設定する。そして、水平面内の位置が当該復帰位置であって、高度が予め記憶部8に設定した着陸体勢高度である位置を緊急着陸位置として算出する。そして、当該緊急着陸位置を移動目標位置Poとして設定する。例えば、
図7に表すように、自律飛行ロボット1の自己位置が占有ボクセルBoの位置にあるため、ST11にて自己位置が移動可能空間内に位置していない(すなわち、移動不可空間内に位置している)と判定される。そして、ST16にて、移動目標位置設定手段732は、自己位置から水平距離で最も近い移動可能空間内の位置であって、予め定めた着陸体勢高度(例えば30cm)の位置に緊急着陸位置を設定する。そして、ST17にて、移動候補位置Pcに関わらず、当該緊急着陸位置が移動目標位置Poに設定される。
【0045】
移動経路生成手段は、記憶部に記憶されたボクセル情報と、移動目標位置設定手段にて算出した移動目標位置と、位置推定手段にて算出した自己位置とを用いて自律飛行ロボットの移動経路を算出する移動経路生成処理を行う。具体的には、経路生成処理では、まず、記憶部からボクセル情報82を読出し、分割した移動可能な空間である自由ボクセルBf及び近接ボクセルBnの各ボクセルの中心をノードとし、当該ノードに隣接するノード間を連結した線分をエッジとしてグラフ構造を生成する。
図8はグラフ構造を説明する図であり、飛行空間における移動可能なボクセル(自由ボクセルBf又は近接ボクセルBn)の一部(27個)を切り欠いたものである。
図8において符号Bで表す個々の立方体は自由ボクセルBf又は近接ボクセルBnを表すものである。また、これらのボクセルBの中心にある黒又はハッチングにて塗りつぶした球はノードであり、ノード間を連結する点線で表示する線分はエッジである。このようにボクセル情報82に基づいて全ての移動可能なボクセルについてグラフ構造を生成した後、自律飛行ロボット1が存在しているボクセルのノードから移動目標位置Poが存在しているボクセルのノードまでの移動経路を生成する。移動経路の生成方法については、さまざまな経路生成方法が適用可能であるが、本実施形態ではA*(エースター)経路探索法を用いて移動経路を探索する。この際、ボクセル情報82として記憶されたボクセルコストをA*経路探索法における移動コストとして利用する。経路探索手段73で生成された生成された移動経路のデータは、経由点(x,y,z)の集合データであり、この情報は記憶部8に一時的に記憶される。なお、前述の移動目標位置設定処理のST16にて、緊急着陸位置が移動目標位置設定手段732として設定された場合、移動経路生成手段733は、ボクセルの移動コストに関わらず自己位置から当該移動目標位置Poに至る直線を移動経路として記憶部8に一時的に記憶することとする。
【0046】
飛行制御手段74は、経路探索手段73にて算出した移動経路情報と位置推定手段71にて推定した自己位置と速度推定手段72で推定した飛行速度とを用いて、各時刻での飛行制御値である速度指令値を求め、当該速度指令値に基づいてモータ6を制御し、ロータ2の回転数を制御することにより、自律飛行ロボット1が経路探索手段73で算出した移動経路に沿って飛行させる経路追従制御処理を行う。なお、本発明における「移動制御手段」は、本実施形態における移動経路生成手段733及び飛行制御手段74に対応する。
【0047】
経路追従制御処理では、まず、各時刻での自律飛行ロボットが目標とすべき直近の位置(以下、「ローカル目標」と呼ぶ)を算出する処理を行う。
図9はローカル目標の算出を説明する図である。ローカル目標の算出にあたり、飛行制御手段74は、経路探索手段73で生成された移動経路を記憶部8から読出し、自律飛行ロボットが現在時刻で目指している経由点Wp1と前回通過済みである経由点Wp0との2点間を繋げた直線Wを求める。そして、飛行制御手段は、求めた直線Wと自律飛行ロボット1の自己位置を中心とした球Sとの交点Lp’、Lpを算出し、目指している経由点Wp1に近い交点Lpをローカル目標として求める。このように、各時刻においてローカル目標を目指して自律飛行ロボット1が移動するよう飛行制御することで、常にローカル目標も移動経路上を移動目標位置Poに向かって移動していき、自律飛行ロボット1は移動経路に沿って飛行していくことになる。
【0048】
次に、経路追従制御処理では、算出したローカル目標に向かって飛行するようX、Y、Z、ヨー角ψの各方向毎に速度指令値u
x,u
y,u
z,u
ψを算出する処理を行う。この際、現在の自己位置とローカル目標の位置との差異が小さくなるような速度指令値を求める。具体的には、XYZ軸方向の速度指令値u=(u
x,u
y,u
z)は、位置推定手段で求めた自己位置r=(x,y,z)と速度推定手段で推定した速度v=(v
x,v
y,v
z)とを利用し、PID制御により求める。XYZ軸方向の各速度指令値をu=(u
x,u
y,u
z)、ローカル目標をr’=(x,y,z)としたとき、速度指令値は、u=K
p(r’−r)+K
d・v+K
i・eの式で算出される。ここで、K
p、K
d、K
iはそれぞれPID制御のゲインのことであり、e=(e
x,e
y,e
z)は誤差の積分値である。一方、ヨー角方向の速度指令値u
ψは、ψ'を目標角度、ψを位置推定手段71にて推定した自律飛行ロボット1の姿勢(角度)、v
yawを速度推定手段72で推定した角速度とすると、u
ψ=K
p(ψ’−ψ)+K
d・v
ψの式のようなPD制御により求める。なお、本実施形態では、目標角度ψ'を移動物体Mの方向、すなわち、移動物体位置の方向を向く角度とした。
【0049】
なお、移動目標位置設定処理のST15にてスキップ制御がなされたとき、または、ST17にて緊急着陸位置が移動目標位置Poに設定されて当該緊急着陸位置に自己位置が位置しているとき、飛行制御手段74は着陸制御を行う。着陸制御では、飛行制御手段74は、自律飛行ロボット1の飛行高度を徐々に下げる制御を行う。なお、飛行制御手段74により着陸制御が開始された以降においては、上述した位置推定処理(自己位置推定処理、移動物体位置推定処理)、速度推定処理、経路探索処理、経路追従制御処理が行われることなく、自律飛行ロボット1が地上に着陸するまで飛行高度を下げるようロータ2の回転数が制御される。
【0050】
このように、制御部7は、上述した位置推定手段71、速度推定手段72、経路探索手段73、飛行制御手段74における各処理を逐次繰り返す。これにより、本実施形態の自律飛行ロボット1は、移動物体Mから離間距離だけ離れた位置に対して移動目標位置Poを逐次更新し、その都度移動経路についても逐次更新していくことによって、当該移動物体と所定の離間距離83を保ちつつ追従飛行することができる。この際、移動目標位置Poを移動不可空間には設定しないことにより、移動可能空間内においてのみ追従飛行することができ、例えば敷地外にいる第三者に対する安全性を保つことができる。また、突風等の突発的な外乱などにより、自律飛行ロボット1が意図せずに移動不可空間に移動してしまった場合も、最短の距離で移動可能空間内に着陸するよう移動することにより、強風時などの飛行が不安定となり易い状況下においても、敷地外の第三者に対する安全性を保つことができる。さらに、自己位置が推定できなくなってしまった場合であっても、その場で着陸するよう飛行高度を制御することにより、自律飛行ロボット1が移動可能空間から離れて移動不可空間の先に勝手に飛行していくことを防止することができる。
【0051】
ところで、本発明は、上記実施形態に限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施形態で実施されてもよいものである。また、実施形態に記載した効果は、これに限定されるものではない。
【0052】
上記実施形態では、移動目標位置設定手段732にて自己位置が移動可能空間内に位置していないと判定されたとき(ST11−No)、復帰位置でかつ着陸体勢高度である緊急着陸位置を算出し(ST16)、当該緊急着陸位置に移動目標位置Poを設定し(ST17)、飛行制御手段74にて当該緊急着陸位置である移動目標位置Poに自己位置が位置しているとき着陸制御を行っている。しかし、これに限らず、自己位置が移動可能空間内に位置していないと判定されたとき(ST11−No)、復帰位置(移動可能空間内の障害物の存在しない位置であって、自己位置からの最も近い位置)を移動目標位置Poと設定してもよい。すなわち、自己位置が移動不可空間に位置しているとき、自律飛行ロボット1は移動可能空間内の復帰位置を目指して移動し、当該復帰位置に移動後は着陸せずに通常通り、移動物体位置から離間距離83だけ離れた位置で追従移動するように移動制御する。これにより、突風等の突発的な外乱などにより、自律飛行ロボット1が意図せずに移動不可空間に移動してしまった場合も、最短の距離で移動可能空間内に移動して追従飛行を継続することができる。また、これらの実施形態に限らず、移動目標位置設定手段732にて自己位置が移動可能空間内に位置していないと判定されたとき(ST11−No)、緊急着陸位置や復帰位置に移動しようとせずに、当該自己位置から着陸制御を行ってもよい。これにより、移動の制御ができないような強風下においても第三者に対する安全性をできるだけ保つことができる。さらにこれらの実施形態に限らず、飛行制御手段74は、通信部9にて外部装置との間で通信ができなくなったことを検知したとき、そのときの自己位置又は予め定めた所定の着陸位置において着陸制御を行ってもよい。このように、外部装置との通信ができなくなるような異常状態においては着陸するように移動制御して、自律飛行を継続しないようにすることにより、第三者に対する安全性を保つことができる。
【0053】
さらに、ブザーやランプなどの報知部を備えて、緊急時等に着陸制御が行われたときに音や光によって周囲に対して警報を発してもよい。これにより、対処に駆けつけた警備員等が着陸場所を早期に発見することができ、異常状態を早期に検知することができる。
【0054】
上記実施形態では、飛行制御手段74にて速度指令値を算出するために、速度推定手段72にて自己速度を算出している。しかし、これに限らず、速度推定手段72を省略して自己速度を算出せずに速度指令値を算出してもよい。この場合、移動物体Mへの追従性能が劣るもの
の簡易的な処理で追従飛行することが可能となる。また、上記実施形態では、速度推定手段72にて自己位置に基づいて自己速度を算出している。しかし、これに限らず、IMU(Inertial Measurement Unit:慣性計測ユニット)などのセンサを利用したり、自律飛行ロボット1の真下方向を撮像するカメラを設置し、カメラからの撮像画像に基づいて既知のオプティカルフロー法を用いて自己速度を算出してもよい。
【0055】
上記実施形態では、距離検出センサ4としてレーザスキャナを用いて当該レーザセンサの出力から位置推定手段71にて自己位置を推定している。しかし、これに限らず、レーザスキャナの代わりとしてGPS、ジャイロセンサ、電子コンパス、気圧センサ等の他のセンサを用いて既知の従来技術により自己位置を推定してもよい。
【0056】
上記実施形態では、撮像部3で取得した撮像画像を画像解析することにより、移動物体位置を推定している。しかし、これに限らず、撮像部3に別途距離画像センサを搭載して、当該距離画像センサから取得した距離画像を用いて、既知の移動物体抽出技術により移動物体を抽出して、抽出した移動物体と自律飛行ロボット1との距離値から移動物体位置を推定してもよい。また、距離検出センサ4として搭載したレーザスキャナを用いて移動物体位置を推定してもよい。また、別途地面や壁面等に設置した固定型のレーザスキャナを用いて移動物体位置を検知し、通信部9を介して自律飛行ロボット1に対して移動物体位置を通知してもよい。
【0057】
上記実施形態では、制御部7において位置推定処理(自己位置推定処理、移動物体位置推定処理)、速度推定処理、経路探索処理、経路追従制御処理の一連の処理を行っている。しかし、これに限らず、図示しない制御用のPCを用意し、当該PCにこれらの一連の処理を実施させてもよい。すなわち、自律飛行ロボット1は、距離検出センサ4のレーザスキャナの出力及び撮像部3で取得した撮像画像を通信部9を介して無線通信により当該PCに送信する。そして、PCは、位置推定処理、速度推定処理、経路探索処理、経路追従制御処理を実施し、経路追従制御処理にて求めた速度指令値を無線通信により自律飛行ロボット1に送信する。そして、自律飛行ロボット1は、通信部9を介して受信した速度指令値に基づいてモータ6の回転数を制御することにより、目的の位置に飛行する。このように、上記の一連の処理を外部PCを用いて分担することにより、自律飛行ロボット1のCPU処理負荷を低減することができ、ひいてはバッテリの消耗も抑えることができる。