(57)【要約】      （修正有）【課題】追従対象からの攻撃を適切に回避しつつ、追従移動できるように移動制御する。【解決手段】移動空間内において移動物体Ｍ１と所定の離間距離を保って追従移動する自律移動ロボットにおいて、移動物体位置と自己位置とを推定し、移動物体位置から離間距離だけ離れた周囲の領域である周辺領域を評価した結果から周辺領域内の位置に移動目標位置Ｐｏを設定し、自己位置から移動目標位置へ移動するよう制御する。評価に際し、周辺領域における障害物の近傍に位置する領域を除いた一又は複数の連続領域を特定し、大きい連続領域であるほど連続領域内の位置に移動目標位置が設定され易いよう評価する。【選択図】図６
2014123304.tif 000002
【特許請求の範囲】
【請求項１】
移動空間内において移動物体と所定の離間距離を保って追従移動する自律移動ロボットにおいて、
前記移動空間の障害物マップを記憶した記憶部と、
前記移動物体の移動物体位置と自律移動ロボットの自己位置とを推定する処理を行う位置推定手段と、
前記移動物体位置から前記離間距離だけ離れた周囲の領域である周辺領域を評価した結果から該周辺領域内の位置に前記移動目標位置を設定する処理を行う移動目標位置設定手段と、
前記自己位置から前記移動目標位置へ移動するよう制御する処理を行う移動制御手段と、を有し、前記各処理を逐次繰り返すことによって追従移動するものであって、
前記移動目標位置設定手段は、
障害物マップを用いて前記周辺領域における前記障害物の近傍に位置する領域を除いた一又は複数の連続領域を特定し、大きい連続領域であるほど該連続領域内の位置に前記移動目標位置が設定され易いよう評価することを特徴とする自律移動ロボット。
【請求項２】
前記移動目標位置設定手段は、大きさが所定値以下の前記連続領域には前記移動目標位置を設定しないよう評価する請求項１に記載の自律移動ロボット。
【請求項３】
前記移動目標位置設定手段は、他の連続領域との距離が小さい連続領域であるほど該連続領域内の位置に前記移動目標位置を設定し易いよう評価する請求項１又は請求項２に記載の自律移動ロボット。
【請求項４】
前記周辺領域に複数の移動候補位置を設定する移動候補位置設定手段を更に有し、
前記連続領域は前記障害物の近傍に位置する前記移動候補位置を除いた連続する一塊の該移動候補位置の集合からなる領域であり、前記連続領域の大きさは前記移動候補位置の数によって算出されることを特徴とする請求項１から請求項３の何れか一項に記載の自律移動ロボット。
【請求項５】
前記自律移動ロボットは、所定の空間内を自由に飛行する自律飛行ロボットであることを特徴とする請求項１から請求項４の何れか一項に記載の自律移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、侵入者等の移動物体に追従移動する自律移動ロボットに関し、特に、侵入者からの攻撃や捕獲等から適切に回避できるように追従移動する自律移動ロボットに関する。
【背景技術】
【０００２】
従来、追従対象に対して所定の距離を保ちつつ自律的に追従しながら移動する自律移動ロボットが提案されている。例えば、特許文献１には、カメラ画像に基づいて追従対象を認識し、当該追従対象までの距離を認識して、予め定めた距離に保って追従移動するよう移動制御する自律移動ロボットが開示されている。当該従来技術では、予め障害物の領域を地図データとして保持することで自己の移動方向に障害物があるときには移動を停止したり、追従対象に対して予め定めた距離以上接近したときは速度を低下させたり停止したりすることで、障害物や追従対象との接触を回避している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２９９０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、自律移動ロボットに対して協力的な動作を行う追従対象を想定しており、自律移動ロボットに対して攻撃等を行おうと意図的に接近してくるような非協力的な動作を行う追従対象を想定していない。そのため、上記の従来技術では、追従対象との距離が近くなった場合、移動速度を落としたり停止したりすることで、追従対象との衝突を防止することはできるものの、追従対象からの攻撃を適切に回避することはできない。自律移動ロボットを侵入者の監視といった警備用途に利用する場合、侵入者からの攻撃や捕獲等を回避しながら当該侵入者に追従移動できる必要がある。特に、侵入者から壁際に追い詰められたときであっても、侵入者と自律移動ロボットとの間の距離を適切に保ちつつ回避できるようにする必要がある。そこで、本発明は、侵入者等の追従対象からの攻撃を適切に回避しつつ、当該侵入者に追従移動できるように移動制御することを目的とする。
【課題を解決するための手段】
【０００５】
かかる課題を解決するために、移動空間内において移動物体と所定の離間距離を保って追従移動する自律移動ロボットにおいて、前記移動空間の障害物マップを記憶した記憶部と、前記移動物体の移動物体位置と自律移動ロボットの自己位置とを推定する処理を行う位置推定手段と、前記移動物体位置から前記離間距離だけ離れた周囲の領域である周辺領域を評価した結果から該周辺領域内の位置に前記移動目標位置を設定する処理を行う移動目標位置設定手段と、前記自己位置から該移動目標位置へ移動するよう制御する処理を行う移動制御手段と、を有し、前記各処理を逐次繰り返すことによって追従移動するものであって、前記移動目標位置設定手段は、障害物マップを用いて前記周辺領域における前記障害物の近傍に位置する領域を除いた一又は複数の連続領域を特定し、大きい連続領域であるほど該連続領域内の位置に前記移動目標位置が設定され易いよう評価することを特徴とする自律移動ロボットを提供する。
【０００６】
かかる構成により、本発明の移動目標位置設定手段は、移動物体位置から所定の離間距離だけ離れた周囲の領域（周辺領域）から、障害物の近傍の領域（障害物及び障害物に近接する領域）を除いたときに残った領域であって、連続する領域（連続領域）を特定する。そして、特定した各連続領域の中で領域の大きさが大きい連続領域であるほど、当該連続領域内の位置に移動目標位置が設定され易いように評価する。このように、移動目標位置をより大きい領域に設定し易くすることにより、自律移動ロボットは、侵入者等の移動物体が攻撃等を行おうとして接近してきた場合であっても、より移動自由度の高い位置に移動するよう回避し、壁際等に追い詰められ難くすることができる。
【０００７】
また、本発明の好ましい態様として、前記移動目標位置設定手段は、大きさが所定値以下の前記連続領域には前記移動目標位置を設定しないよう評価するものとする。
【０００８】
かかる構成により、領域の大きさが極端に小さいような連続領域を回避のための移動先として移動目標位置を設定せずに、他の移動自由度の高い回避先に移動目標位置を設定するため、移動物体からさらに好適に回避することができる。また、そのような極端に小さい連続領域内に移動目標位置を設定するための評価を行わないことにより、評価に要する計算量を減ずることができる。
【０００９】
また、本発明の好ましい態様として、前記移動目標位置設定手段は、他の連続領域との距離が小さい連続領域であるほど該連続領域内の位置に前記移動目標位置を設定し易いよう評価するものとする。
【００１０】
かかる構成により、ある連続領域内の位置に移動目標位置を設定する際の評価にあたって、当該連続領域と他の連続領域との間の距離を考慮し、当該距離が小さいほど評価対象の連続領域内に移動候補位置を設定し易いように評価する。すなわち、当該距離が小さいほど評価対象の連続領域から他の連続領域へ移動し易いことを意味することから、移動自由度が比較的高いとみなして評価している。これにより、自律移動ロボットは、より移動自由度の高い領域に移動することができ、移動物体からの攻撃等から更に好適に回避することができる。
【００１１】
また、本発明の好ましい態様として、前記周辺領域に複数の移動候補位置を設定する移動候補位置設定手段を更に有し、前記連続領域は前記障害物の近傍に位置する前記移動候補位置を除いた連続する一塊の該移動候補位置の集合からなる領域であり、前記連続領域の大きさは前記移動候補位置の数によって算出されるものとする。
【００１２】
また、本発明の好ましい態様として、前記自律移動ロボットは、所定の空間内を自由に飛行する自律飛行ロボットであるものとする。
【発明の効果】
【００１３】
上記のように、本発明の自律移動ロボットは、追従対象である侵入者等の移動物体が攻撃等を行おうとして接近してきた場合であっても、より移動自由度の高い位置に移動するよう回避し、壁際等に追い詰められ難くすることができる。
【図面の簡単な説明】
【００１４】
【図１】自律飛行ロボットの概観図
【図２】自律飛行ロボットの機能ブロック図
【図３】経路探索手段の機能ブロック図
【図４】移動候補位置の設定についての説明図
【図５】評価対象となる移動候補位置の設定についての説明図
【図６】クラスタリングの説明図
【図７】移動経路の生成におけるグラフ構造の説明図
【図８】ローカル目標算出の説明図
【図９】他の実施形態の説明図
【図１０】他の実施形態の説明図
【図１１】他の実施形態の説明図
【発明を実施するための形態】
【００１５】
以下、移動物体である侵入者の画像を撮像して所定の相対距離を保ちながら追従飛行し、特に、侵入者が攻撃や捕獲等を意図して接近してきた場合であっても適切に回避するよう飛行可能な自律移動ロボット（以下、「自律飛行ロボット」という）についての実施形態について添付した図面を参照しながら詳細に説明する。なお、本発明でいう自律移動ロボットは、前記のような自律飛行ロボットに限らず、移動物体に対して追従走行する自律走行ロボットも含まれる。また、本発明の自律移動ロボットは、自動車等の人物以外の様々な移動物体についても同様に適用することができる。
【００１６】
図１に本実施形態で利用する自律飛行ロボット１の概観図を表す。また、図２に本実施形態で利用する自律飛行ロボット１の機能ブロック図を表す。図１に表すように、本実施形態で利用する自律飛行ロボット１は、符号２ａ〜２ｄに示す４枚のロータ２（プロペラ）が一平面上に存在し、各ロータ２が図示しないバッテリ（二次電池）により駆動するモータ６によって回転することによって飛行するクアッドロータ型の小型無人ヘリコプタである。一般的に、シングルロータ型のヘリコプタでは、メインロータによって発生する反トルクをテールロータが生み出すモーメントで相殺することによって方位角を保っている。一方、本実施形態で利用する自律飛行ロボット１のようなクアッドロータ型のヘリコプタでは、前後・左右で異なる方向に回転するロータ２を用いることで反トルクの相殺を行っている。そして、例えば、機体をヨー方向に回転させたいときは、符号ｆａ〜ｆｄの矢印で示すように前後のロータ２ａ、２ｃと左右ロータ２ｄ、２ｂの回転数に差を与える。このように、各ロータ２の回転数を制御することにより、様々な機体の移動や姿勢の調節を行うことができる。
【００１７】
撮像部３は、例えばレンズなどの光学系および所定画素（例えば６４０×４８０画素）のＣＣＤやＣＭＯＳなどの２次元アレイ素子を有する二次元イメージセンサで構成され、飛行空間の撮像画像を所定の時間間隔で取得するいわゆるカラーカメラである。本実施形態では、撮像部３は、その光軸が自律飛行ロボット１の正面方向を撮像するよう筐体部分に設置され、かつ、水平面（ＸＹ平面）から予め定めた俯角θにより斜め下方の空間を撮像するよう設置されている。取得した撮像画像は後述する制御部７に出力され、制御部７により記憶部８に記憶されたり、後述する通信部９を介して図示しない外部装置に送信されたりする。
通信部９は外部装置との間で、例えば無線ＬＡＮや携帯電話回線等により無線通信するための通信モジュールである。本実施形態では、撮像部３によって取得した撮像画像を図示しない警備センタに設置されたＰＣに送信することにより、警備員等が遠隔から侵入者を監視することを可能にする。
【００１８】
距離検出センサ４は、自律飛行ロボット１の周囲に存在する障害物と距離検出センサ４との間の距離を検出し、センサ検出範囲内に存在する障害物の相対的な位置を取得するセンサである。本実施形態では、距離検出センサ４としてレーザスキャナを備えている。レーザスキャナは、一定の角度サンプル間隔の角度毎に二次元スキャンすることによって、地面（又は床面）から一定の高さの水平面における周囲に存在する物体（障害物）との距離情報を極座標値として取得することができるものである。ここで、レーザスキャナにおける二次元スキャンとは、予め設定された検知エリアを走査するように、放射状にレーザ光である探査信号を送信し、検知エリア内の物体に反射して戻ってきた探査信号を受信して、送信と受信の時間差から物体までの距離を算出し、その探査信号を送信した方向と算出した距離を求めることをいう。本実施形態では、角度サンプル間隔を０．２５°、検出角度範囲を３６０°、センサ検出範囲を３０ｍとして自律飛行ロボットの周囲の障害物との距離を測定可能なレーザセンサを用いている。なお、レーザスキャナから照射されるレーザの一部をミラー５で地面方向に反射させて計測された距離情報を利用して飛行高度を推測することにも利用している。
【００１９】
記憶部８は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の情報記憶装置である。記憶部８は、各種プログラムや各種データを記憶し、制御部との間でこれらの情報を入出力する。各種データには、本発明の「障害物マップ」に対応する２Ｄポイント情報８１及びボクセル情報８２、離間距離８３の他、制御部７の各処理に用いられる設定値、閾値等の各種パラメータ８４や、各センサ等からの出力値、撮像画像等が含まれる。
【００２０】
２Ｄポイント情報８１は、後述する位置推定手段７１にて自律飛行ロボットの現在の飛行位置（以下、「自己位置」という）を推定するために利用する情報であり、グローバル座標と呼ばれる水平面における二次元の絶対座標上に表され、飛行空間における建造物等の障害物の外形を表す点集合の座標情報である。本実施形態では、飛行高度毎に設定された複数の点集合を２Ｄポイント情報として予め記憶部８に記憶していることとし、自律飛行ロボットの飛行高度によって対応する飛行高度の点集合を記憶部８から読み出して利用するものとする。
【００２１】
ボクセル情報８２は、飛行空間をボクセル空間として複数のボクセルに分割して飛行空間の障害物の構造等を表した情報であり、予め管理者等によって設定され記憶部８に記憶される情報である。本実施形態では、飛行空間を所定の大きさ（例えば１５ｃｍ×１５ｃｍ）に分割し、建造物等の障害物に位置するボクセルを「占有ボクセル」と定義して、自律飛行ロボット１が移動できない空間とした。そして、占有ボクセルの近くに存在する空間に位置するボクセルを「近接ボクセル」、それ以外の自由に飛行可能なエリアに位置するボクセルを「自由ボクセル」として定義した。そして、各ボクセルには、後述する移動経路生成手段にて移動経路を生成する際に利用できるよう、占有度を示すボクセルコスト値を持たせた。占有ボクセルのボクセルコスト値は最大値をとり、距離が大きくなるほどボクセルコスト値が小さくなるように、（ボクセルコスト値）＝ｅｘｐ｛−λ・（占有ボクセルからの距離）｝の計算式からボクセルコスト値を算出した。ここでλは実験によって求めたパラメータである。そして、予め定めた閾値以上のボクセルコスト値を有するボクセルを「近接ボクセル」とした。また、ボクセルコスト値が当該閾値よりも小さいボクセルを「自由ボクセル」とし、自由ボクセルとみなされたボクセルのボクセルコスト値を０と再設定した。なお、自律飛行ロボット１が飛行空間における予め定めた移動可能空間の外に出ないようにするため、移動可能空間とその外部との境界となるボクセルを占有ボクセルと設定した。
【００２２】
離間距離８３は、移動物体を追従飛行するにあたって、自律飛行ロボット１と移動物体との水平面における維持すべき相対距離であり、自律飛行ロボット１の管理者等によって予め設定される値である。自律飛行ロボット１を用いて所定の移動物体を監視する場合、移動物体に近づき、より詳細な撮像画像を取得できる必要がある。しかし、侵入者などの敵対する移動物体から攻撃を受けないようにするためには一定距離以上離間する必要がある。そのため、本実施形態の自律飛行ロボット１は、移動物体の詳細な撮像画像を取得でき、かつ、当該移動物体から攻撃を受け難い距離に離間距離８３を予め定めておき、当該離間距離を保ちつつ追従飛行するようにする。本実施形態では離間距離８３を３ｍとして設定されているものとする。
【００２３】
制御部７は、ＣＰＵ等を備えたコンピュータで構成され、位置推定処理（自己位置推定処理、移動物体位置推定処理）、速度推定処理、経路探索処理、経路追従制御処理を行う一連の処理として、位置推定手段７１、速度推定手段７２、経路探索手段７３、飛行制御手段７４を含んでいる。
【００２４】
位置推定手段７１は、距離検出センサ４及び撮像部３の出力に基づいて、飛行空間における自律飛行ロボット１の現在位置（自己位置）を推定する自己位置推定処理と、移動物体の現在位置（以下、「移動物体位置」という）とを推定する移動物体位置推定処理とを行う。
【００２５】
自己位置推定処理では、距離検出センサ４の出力と記憶部８に記憶された２Ｄポイント情報８１とを用いて、自己位置として、水平面（ＸＹ平面）における位置ｘ，ｙと、飛行高度ｚと、Ｚ軸に対する回転角であるヨー角ψとを推定する処理を行う。
【００２６】
自己位置推定処理では、まず、レーザスキャナから照射されるレーザの一部をミラー５で地面方向に反射させて計測された距離情報を利用して、自己位置の飛行高度ｚを算出する。レーザスキャナによって計測された距離情報は、地面には建造物以外の物体（例えば荷物や乗り物など）が存在するため、必ずしも地面までの距離として正確に計測されるとは限らない。したがって、本実施形態では、これらの建造物以外の障害物の影響を受け難いようレーザスキャナによって計測された距離情報に対して拡張カルマンフィルタを適用することにより飛行高度を推定する。
【００２７】
次に、自己位置推定処理では、自己位置のｘ，ｙ，ヨー角ψを推定する。自己位置のｘ，ｙ，ヨー角ψを推定にあたり、まず、記憶部に記憶された２Ｄポイント情報８１から飛行高度ｚに対応した飛行空間の二次元地図としての点集合を読み出す。そして、求めた点集合とレーザスキャナの出力とを用いて、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）アルゴリズムを利用した既知のスキャンマッチングにより自己位置のｘ，ｙ，ヨー角ψを推定する。ＩＣＰアルゴリズムは、２つの点集合Ａ，Ｂにおいてユークリッド距離が最小となる組合せを求めることによりマッチング処理するものである。すなわち、２Ｄポイント情報８１の点集合と、自律飛行ロボット１に搭載されているレーザスキャナから取得したスキャンデータである入力点集合とをマッチングさせ位置誤差を修正することによって、グローバル座標における自己位置のｘ，ｙ，ヨー角ψを推定することができる。
【００２８】
移動物体位置推定処理では、撮像部３の出力である撮像画像を画像処理して、移動物体位置を推定する処理を行う。移動物体位置推定処理では、まず、撮像画像の各フレームを画像処理して移動物体の画像領域を抽出する処理を行う。本実施形態では、既知の従来技術（例えば、特開２００６−１４６５５１号公報を参照）であるオプティカルフロー法を用いて移動物体の画像領域を抽出する。しかし、これに限らず、既知の従来技術であるブースティング学習（例えば、Ｈａａｒ−ｌｉｋｅ特徴を用いているＡｄａＢｏｏｓｔベース識別器による顔検出手法）による識別器を用いて、移動物体である人物領域が含まれるか否かを識別し、人物領域として識別された当該画像領域を抽出してもよい。また、上記の各技術を組み合わせて用いてもよい。次に、移動物体位置推定処理では、当該抽出された移動物体の画像領域の位置に基づいて移動物体と自律飛行ロボット１との距離を推定する。具体的には、抽出した移動物体の画像領域の頭頂部の（撮像画像における）ｙ座標位置と距離との対応表を予め飛行高度毎に作成しておき、現在の飛行高度及び移動物体の頭頂部のｙ座標位置を当該対応表に照らし合わせて移動体との距離を推定する。しかし、これに限らず、抽出した移動物体の頭部の大きさから距離を算出してもよい。すなわち、頭部の大きさと距離との対応表を予め作成しておき、抽出された移動物体の頭部の大きさを当該対応表に照らし合わせて移動物体との距離を推定してもよい。なお、撮像画像から抽出した移動物体の画像領域は、時間的に画像追跡されていることとする。
【００２９】
なお、位置推定手段７１は、移動物体位置推定処理にて移動物体位置が算出すると、当該移動物体位置に基づいてボクセル情報８２を更新する処理を行う。具体的には、記憶部８のボクセル情報８２に基づいたボクセル空間に、算出された移動物体位置を中心として監視対象の移動物体として予め定めた移動物体の大きさと略同じ大きさの円柱モデル（例えば、監視対象の移動物体を侵入者であるとしたとき、底面の半径０．３ｍ、高さ１．７ｍの円柱モデル）を配置し、当該円柱モデルと干渉するボクセルを占有ボクセルとして設定することによりボクセル情報８２を更新する。後述するように、自律飛行ロボット１は、占有ボクセルには移動しないように飛行制御されるが、上記のように移動物体位置に基づいてボクセル情報８２を更新することにより、自律飛行ロボット１と移動物体との接触を回避することができる。
【００３０】
速度推定手段７２は、後述する飛行制御手段７４における経路追従制御で利用するため、自律飛行ロボット１の現在の飛行速度（ｖx，ｖy，ｖz，ｖyaw）を推定する処理を行う。本実施形態では、位置推定手段７１にて推定した自己位置（ｘ，ｙ，ｚ，ｙａｗ）の時間変化から飛行速度を求めた。この際、測定誤差等の影響を考慮して拡張カルマンフィルタを利用して飛行速度を推定した。
【００３１】
経路探索手段７３は、位置推定手段７１で算出した自己位置及び移動物体位置と、記憶部８に記憶された各種情報とを用いて自律飛行ロボット１の移動経路を算出する処理を行う。図３に経路探索手段７３の機能ブロック図を表す。経路探索手段７３は、図３に表すように、移動候補位置を設定する移動候補位置設定手段７３１と、複数の移動候補位置を評価してその中から一つの移動目標位置を設定する移動目標位置設定手段７３２と、自己位置から移動目標位置に至る移動経路を生成する移動経路生成手段７３３とにより構成される。以下、経路探索手段７３を構成する各手段における処理の詳細について説明する。
【００３２】
移動候補位置設定手段７３１は、移動物体位置から離間距離８３だけ離れた周囲の領域（本発明の「周辺領域」に対応する）に複数の移動候補位置を設定する処理を行う。本実施形態では、移動候補位置を、移動物体Ｍを中心とし記憶部８に記憶された離間距離８３（＝Ｌ）を半径とした円状の位置で、かつ、管理者等により予め定めた目標飛行高度（例えば２ｍ）の領域に、それぞれ等間隔になるように設定する。図４は移動候補位置の設定についての説明図であり、時刻ｔのときにボクセルで表示した飛行空間の一部を真上から見下ろしたときの図である。同図において、符号Ｂｏで表した黒塗りされたボクセルは占有ボクセルであり、符号Ｂｎで表した平行斜線（ハッチング）で塗られたボクセルは近接ボクセルであり、符号Ｂｆで表した白色のボクセルは自由ボクセルである。図４に表すように、移動物体Ｍの重心位置Ｍｇを中心として半径Ｌの円周上に複数個の移動候補位置Ｐｃを等間隔に設置する。なお、本実施形態では、移動物体Ｍの周囲の位置に５°おきに７２個の移動候補位置Ｐｃを設置することとする。
【００３３】
移動候補位置設定手段７３１にて移動候補位置Ｐｃの設定を終えると、移動目標位置設定手段７３２は設定された複数の移動候補位置Ｐｃを評価し、その中の一つを移動目標位置として設定する移動目標位置設定処理を行う。図５は移動目標位置の設定についての説明図であり、図４と同じように時刻ｔのときにおいてボクセルで表示した飛行空間の一部を真上から見下ろしたときの図である。
【００３４】
移動目標位置設定処理では、まず、障害物の近傍に位置する移動候補位置Ｐｃを評価対象から除外する処理を行う。すなわち、自律飛行ロボット１が障害物に接触することを防止するため障害物と干渉する位置にある移動候補位置Ｐｃを除外し、また、障害物に接近するのも接触の危険性が増すことから障害物の近くに存在する移動候補位置Ｐｃを除外する処理を行う。具体的には、図５に表すように、自由ボクセルＢｆ以外のボクセル（占有ボクセルＢｏ、近接ボクセルＢｎ）と干渉する位置にある移動候補位置Ｐｃが移動目標位置として設定されないよう、以下で説明する評価の対象から除外する。図５に表した移動候補位置Ｐｃは、図４で表した移動候補位置Ｐｃから近接ボクセルＢｎと干渉している移動候補位置Ｐｃを除外した後のものであり、評価対象となっている移動候補位置Ｐｃとなるものである。なお、近接ボクセルＢｎは移動目標位置に設定できないものの移動経路とすることはできるものとする。一方、占有ボクセルＢｏは移動目標位置に設定することができないだけでなく移動経路とすることもできない。
【００３５】
次に、移動目標位置設定処理では、評価対象から除外されていない各移動候補位置Ｐｃにおいて、連続する一塊の移動候補位置Ｐｃをクラスタリングし、一又は複数のクラスタを特定する。図６は、クラスタリングを説明する図であり、図４の後の時刻ｔ＋１の状態について表した図である。図６に表す例では、移動物体Ｍは時刻ｔにおける移動物体Ｍ０から時刻ｔ＋１における移動物体Ｍ１に移動したことを表している。このとき、評価対象から除外されていない各移動候補位置Ｐｃにおいて、連続する一塊の移動候補位置Ｐｃは３つあり、それぞれ符号ＣＬ１〜ＣＬ３で示した３つのクラスタとして特定される。なお、本発明の「連続領域」は、本実施形態の「クラスタ」に対応する。このようにして、評価対象となっている移動候補位置Ｐｃからクラスタ特定した後、移動目標位置設定処理では、各クラスタ毎にクラスタサイズを算出する処理を行う。本実施形態では、各クラスタを構成する移動候補位置Ｐｃの数によって算出する。例えば、図６の例では、クラスタＣＬ１のクラスタサイズは７であり、クラスタＣＬ２のクラスタサイズは３４、クラスタＣＬ３のクラスタサイズは７である。なお、本発明の「連続領域の大きさ」は、本実施形態の「クラスタサイズ」に対応する。
【００３６】
次に移動目標位置設定処理では、評価対象から除外されていない各移動候補位置Ｐｃを評価して移動目標位置を設定する処理を行う。本実施形態では、評価対象となっている各移動候補位置Ｐｃの評価値を求め、当該評価値が最も大きい移動候補位置を移動目標位置として設定するように評価する。この際、まず、自律飛行ロボット１の現在位置から各移動候補位置までの距離が小さいほど評価値が大きくなるようにする。また、前回設定した移動目標位置からの移動候補位置までの距離が小さいほど評価値が大きくなるようにする。更に、各移動候補位置Ｐｃが所属するクラスタのクラスタサイズが大きいほど評価値が大きくなるように評価する。本実施形態における評価値Ｖを求める具体的な評価式を数１で表す。
【数１】
2014123304.tif 000003
ここで、ｒ＝（ｘ，ｙ，ｚ）は自律飛行ロボット１の現在の自己位置、Ｐprev＝（ｘprev，ｙprev，ｚprev）は前回設定した移動目標位置を示し、α、β、σは距離に応じて減衰する値を調整するためのパラメータである。また、Ｃsizeは移動候補位置Ｐｃの所属するクラスタのクラスタサイズであり、δはクラスタサイズに応じて増加する値を調整するためのパラメータである。
【００３７】
以上のようにして、移動目標位置設定処理では評価値Ｖを求め、評価値Ｖが最大となる移動候補位置Ｐｃを移動目標位置Ｐｏとして設定する。図６の例では、点線で囲んだ移動候補位置Ｐｃが移動目標位置Ｐｏとして設定されたことを表している。このように、移動目標位置Ｐｏが設定されると、後述するように設定された移動目標位置Ｐｏに向かうように移動経路が生成され、自律飛行ロボット１は当該移動目標位置Ｐｏに向かって移動していくこととなる。
【００３８】
上述のように本実施形態では、各移動候補位置Ｐｃの評価値Ｖを、当該移動候補位置Ｐｃが属するクラスタのクラスタサイズが大きいほど大きくなるように評価している。そのため、自律飛行ロボット１はクラスタサイズが大きいクラスタ（連続領域）に属する移動候補位置Ｐｃを移動目標位置Ｐｏとして設定し易くなる。言い換えるならば、自律飛行ロボット１は移動可能な領域がより大きい領域（移動自由度が高い領域）に向かって移動し易くなる。したがって、侵入者である移動物体Ｍが自律飛行ロボット１に攻撃等を行おうと接近してきた場合であっても、移動自由度の高い位置に移動するよう回避することによって、壁際等に追い詰められ難くすることができる。例えば、図６の例では、自律飛行ロボット１はクラスタサイズの小さいクラスタＣＬ１（及びＣＬ３）に移動し難くなる一方で、クラスタサイズの大きいクラスタＣＬ２に移動し易くなる。もし、自律飛行ロボット１がクラスタサイズの小さいＣＬ１に移動してしまった場合、次第に壁の隅に追い詰められてしまい、最終的には攻撃又は捕獲され易い状況に陥ることになる。しかし、本実施形態のように、クラスタサイズの大きいＣＬ２に移動することにより、その後の移動自由度が大きいことから、移動物体Ｍによる攻撃等からの回避するための余地（スペース）が大きいことことになる。このように、クラスタサイズ（連続領域の大きさ）が大きい位置に移動目標位置を設定し易くすることにより、移動物体Ｍからの攻撃等から適切に回避することができる。
【００３９】
移動経路生成手段は、記憶部に記憶されたボクセル情報と、移動目標位置設定手段にて算出した移動目標位置と、位置推定手段にて算出した自己位置とを用いて自律飛行ロボットの移動経路を算出する移動経路生成処理を行う。具体的には、経路生成処理では、まず、記憶部からボクセル情報８２を読出し、分割した移動可能な空間である自由ボクセルＢｆ及び近接ボクセルＢｎの各ボクセルの中心をノードとし、当該ノードに隣接するノード間を連結した線分をエッジとしてグラフ構造を生成する。図７はグラフ構造を説明する図であり、飛行空間における移動可能なボクセル（自由ボクセルＢｆ又は近接ボクセルＢｎ）の一部（２７個）を切り欠いたものである。図７において符号Ｂで表す個々の立方体は自由ボクセルＢｆ又は近接ボクセルＢｎを表すものである。また、これらのボクセルＢの中心にある黒又はハッチングにて塗りつぶした球はノードであり、ノード間を連結する点線で表示する線分はエッジである。このようにボクセル情報８２に基づいて全ての移動可能なボクセルについてグラフ構造を生成した後、自律飛行ロボット１が存在しているボクセルのノードから移動目標位置Ｐｏが存在しているボクセルのノードまでの移動経路を生成する。移動経路の生成方法については、さまざまな経路生成方法が適用可能であるが、本実施形態ではＡ＊（エースター）経路探索法を用いて移動経路を探索する。この際、ボクセル情報８２として記憶されたボクセルコストをＡ＊経路探索法における移動コストとして利用する。経路探索手段７３で生成された生成された移動経路のデータは、経由点（ｘ，ｙ，ｚ）の集合データであり、この情報は記憶部８に一時的に記憶される。
【００４０】
飛行制御手段７４は、経路探索手段７３にて算出した移動経路情報と位置推定手段７１にて推定した自己位置と速度推定手段７２で推定した飛行速度とを用いて、各時刻での飛行制御値である速度指令値を求め、当該速度指令値に基づいてモータ６を制御し、ロータ２の回転数を制御することにより、自律飛行ロボット１が経路探索手段７３で算出した移動経路に沿って飛行させる経路追従制御処理を行う。なお、本発明における「移動制御手段」は、本実施形態における移動経路生成手段７３３及び飛行制御手段７４に対応する。
【００４１】
経路追従制御処理では、まず、各時刻での自律飛行ロボットが目標とすべき直近の位置（以下、「ローカル目標」と呼ぶ）を算出する処理を行う。図８はローカル目標の算出を説明する図である。ローカル目標の算出にあたり、飛行制御手段７４は、経路探索手段７３で生成された移動経路を記憶部８から読出し、自律飛行ロボットが現在時刻で目指している経由点Ｗｐ１と前回通過済みである経由点Ｗｐ０との２点間を繋げた直線Ｗを求める。そして、飛行制御手段は、求めた直線Ｗと自律飛行ロボット１の自己位置を中心とした球Ｓとの交点Ｌｐ’、Ｌｐを算出し、目指している経由点Ｗｐ１に近い交点Ｌｐをローカル目標として求める。このように、各時刻においてローカル目標を目指して自律飛行ロボット１が移動するよう飛行制御することで、常にローカル目標も移動経路上を移動目標位置Ｐｏに向かって移動していき、自律飛行ロボット１は移動経路に沿って飛行していくことになる。
【００４２】
次に、経路追従制御処理では、算出したローカル目標に向かって飛行するようＸ、Ｙ、Ｚ、ヨー角ψの各方向毎に速度指令値ｕx，ｕy，ｕz，ｕψを算出する処理を行う。この際、現在の自己位置とローカル目標の位置との差異が小さくなるような速度指令値を求める。具体的には、ＸＹＺ軸方向の速度指令値ｕ＝（ｕx，ｕy，ｕz）は、位置推定手段で求めた自己位置ｒ＝（ｘ，ｙ，ｚ）と速度推定手段で推定した速度ｖ＝（ｖx，ｖy，ｖz）とを利用し、ＰＩＤ制御により求める。ＸＹＺ軸方向の各速度指令値をｕ＝（ｕx，ｕy，ｕz）、ローカル目標をｒ’＝（ｘ，ｙ，ｚ）としたとき、速度指令値は、ｕ＝Ｋp（ｒ’−ｒ）＋Ｋd・ｖ＋Ｋi・ｅの式で算出される。ここで、Ｋp、Ｋd、ＫiはそれぞれＰＩＤ制御のゲインのことであり、ｅ＝（ｅx，ｅy，ｅz）は誤差の積分値である。一方、ヨー角方向の速度指令値ｕψは、ψ'を目標角度、ψを位置推定手段７１にて推定した自律飛行ロボット１の姿勢（角度）、ｖyawを速度推定手段７２で推定した角速度とすると、ｕψ＝Ｋp（ψ’−ψ）＋Ｋd・ｖψの式のようなＰＤ制御により求める。なお、本実施形態では、目標角度ψ'を移動物体Ｍの方向、すなわち、移動物体位置の方向を向く角度とした。
【００４３】
このように、制御部７は、上述した位置推定手段７１、速度推定手段７２、経路探索手段７３、飛行制御手段７４における各処理を逐次繰り返す。これにより、本実施形態の自律飛行ロボット１は、移動物体Ｍから離間距離だけ離れた位置に対して移動目標位置を逐次更新し、その都度移動経路についても逐次更新していくことによって、当該移動物体と所定の離間距離を保ちつつ追従飛行することができる。また、移動物体Ｍが自律飛行ロボット１に攻撃等を行おうと接近してきた場合であっても、移動自由度のより高い位置に移動するよう回避することから、壁等に追い詰められ難くすることができる。
【００４４】
ところで、本発明は、上記実施形態に限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施形態で実施されてもよいものである。また、実施形態に記載した効果は、これに限定されるものではない。
【００４５】
上記実施形態では、移動目標位置設定手段７３２にて、連続する一塊の移動候補位置Ｐｃをクラスタリングして全てのクラスタを特定し、各クラスタについてクラスタサイズを求め、各クラスタに属する移動候補位置Ｐｃについて評価値Ｖを算出している。しかし、これに限らず、クラスタサイズが予め定めた閾値以下であるクラスタ（すなわち、連続領域の大きさが所定値以下の領域）に属する移動候補位置Ｐｃについては、評価対象から除外することにより、移動目標位置Ｐｏとして設定されないようにしてもよい。移動物体Ｍと自律飛行ロボット１とが図９に表すような位置関係になった場合、自律飛行ロボット１の自己位置とクラスタＣＬ１に属する移動候補位置Ｐｃとの距離が小さいため、ＣＬ１に属する移動候補位置Ｐｃの評価値Ｖが大きく算出され、移動目標位置Ｐｏとして設定されることがありうる。しかし、図９に表すような、極端に移動自由度が小さい連続領域（クラスタ）に移動した場合、移動物体Ｍに追い詰められて攻撃される危険性が高まることは自明である。したがって、予め最小クラスタサイズを定めて記憶部８に記憶しておき、当該最小クラスタサイズよりも小さいクラスタの移動候補位置Ｐｃについては評価対象から除外することにより、極端に移動自由度が小さい連続領域（クラスタ）に移動しないようにすることができる。
【００４６】
上記実施形態では、各クラスタのクラスタサイズに基づいて各移動候補位置Ｐｃの評価値Ｖを算出している。しかし、これに限らず、さらにクラスタ間の距離（連続領域間の距離）に応じて各移動候補位置Ｐｃの評価値Ｖを算出してもよい。すなわち、ある連続領域内に移動目標位置を設定するか否かを評価するにあたり、当該連続領域と他の連続領域との間の距離を考慮し、当該距離が小さいほど当該連続領域内に移動候補位置を設定し易いように評価する。具体的には、あるクラスタに属する移動候補位置Ｐｃの評価値Ｖは、当該移動候補位置Ｐｃの属するクラスタが他のクラスタと近いほど、高い評価値Ｖとなるように評価する。移動物体Ｍと自律飛行ロボット１とが図１０に表すような位置関係になった場合、クラスタＣＬ１とＣＬ２とのクラスタサイズが同じであって、自己位置から移動候補位置Ｐｃに至る距離も略等しいため、上記実施形態における評価では、ＣＬ１に属する移動候補位置ＰｃとＣＬ２に属する移動候補位置Ｐｃの評価値Ｖは略等しいことになる。しかし、ＣＬ１の領域からＣＬ３の領域に移動する際の移動量と、ＣＬ２の領域からＣＬ３の領域に移動する際の移動量とを比較した場合、ＣＬ１〜ＣＬ３の間の距離Ｒ３１とＣＬ２〜ＣＬ３の間の距離Ｒ２３との比較により、前者の方が相対的に移動量が少ないことがわかる。したがって、自律飛行ロボット１は、ＣＬ２の領域よりもＣＬ１の領域に移動した方が、ＣＬ３へ移動し易いため移動自由度が比較的高いといえる。処理を具体的に説明すると、まず、ある移動候補位置Ｐｃの属するクラスタと他のクラスタとの間の距離を算出する。例えば、図１０の例では、評価値の算出対象の移動候補位置ＰｃがＣＬ１に属するものであるとき、他のクラスタとの距離をＲ３１＋Ｒ１２によって算出する。同じように、評価対象の移動候補位置ＰｃがＣＬ２に属するものであるとき、他のクラスタとの距離をＲ１２＋Ｒ２３によって算出する。そして、算出した他のクラスタとの距離に応じて評価値Ｖが大きくなるように算出する。これにより、自律飛行ロボット１は、ＣＬ２の移動候補位置Ｐｃではなく、ＣＬ１の移動候補位置Ｐｃを移動目標位置Ｐｏと設定し易くなり、図１０の矢印に示すようにＣＬ１の領域に向かって移動し易くなる。このように、ある移動候補位置Ｐｃの属するクラスタと他のクラスタとの距離が近いほど高い評価値Ｖとなるように評価することによって、より移動自由度の高い領域に移動することができ、移動物体からの攻撃等から更に好適に回避することができる。なお、クラスタ間の距離は、図１０（ａ）に表すように各クラスタの端部からの円周距離を用いてもよいし、同図（ｂ）に表すように各クラスタの中心位置Ｐ１〜Ｐ３からの直線距離（Ｒ’１２、Ｒ’２３、Ｒ’３１）を用いてもよい。
【００４７】
上記実施形態では、移動候補位置設定手段７３１にて移動物体位置から離間距離８３だけ離れた領域（周辺領域）に複数の移動候補位置Ｐｃを設定し、移動目標位置設定手段７３２にて障害物の近傍（占有ボクセルＢｏ及び近接ボクセルＢｎ）に位置するものを除いた一塊の移動候補位置Ｐｃをクラスタリングし、そのクラスタサイズから「連続領域の大きさ」を求めている。しかし、これに限らず、移動候補位置Ｐｃを設定せずに連続領域の大きさを求めてもよい。図１１（ａ）に表すように移動目標位置設定手段７３２は、移動物体位置から離間距離８３（＝Ｌ）だけ離れた円周上の領域（周辺領域ＢＡ）から、同図（ｂ）に表すように障害物の近傍（占有ボクセルＢｏ及び近接ボクセルＢｎ）に位置する領域を除いた領域を連続領域Ａ１〜Ａ３として特定する。そして、特定した連続領域Ａ１〜Ａ３の大きさ（例えば、連続領域の長さｒ１〜ｒ３）を連続領域の大きさとして求める。そして、各連続領域毎に評価値を算出する。この際、自己位置から近い連続領域であるほど高い評価値が算出され、更に連続領域の大きさ（ｒ１〜ｒ３）が大きいほど高い評価値が算出されるように評価値を算出する。そして、評価値が最も大きい連続領域であって、自己位置から最も近い位置に移動目標位置Ｐｏを設定する。なお、図１１の例では、評価値が最も大きい連続領域がＡ２として算出され、Ａ２において自己位置に最も近い位置であるＰｏに移動目標位置を設定している。しかし、評価値が最も大きい連続領域の中央の位置に移動目標位置Ｐｏを設定してもよい。
【００４８】
上記実施形態では、飛行制御手段７４にて速度指令値を算出するために、速度推定手段７２にて自己速度を算出している。しかし、これに限らず、速度推定手段７２を省略して自己速度を算出せずに速度指令値を算出してもよい。この場合、移動物体Ｍへの追従性能が劣るもの簡易的な処理で追従飛行することが可能となる。また、上記実施形態では、速度推定手段７２にて自己位置に基づいて自己速度を算出している。しかし、これに限らず、ＩＭＵ（Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ：慣性計測ユニット）などのセンサを利用したり、自律飛行ロボット１の真下方向を撮像するカメラを設置し、カメラからの撮像画像に基づいて既知のオプティカルフロー法を用いて自己速度を算出してもよい。
【００４９】
上記実施形態では、距離検出センサ４としてレーザスキャナを用いて当該レーザセンサの出力から位置推定手段７１にて自己位置を推定している。しかし、これに限らず、レーザスキャナの代わりとしてＧＰＳ、ジャイロセンサ、電子コンパス、気圧センサ等の他のセンサを用いて既知の従来技術により自己位置を推定してもよい。
【００５０】
上記実施形態では、撮像部３で取得した撮像画像を画像解析することにより、移動物体位置を推定している。しかし、これに限らず、撮像部３に別途距離画像センサを搭載して、当該距離画像センサから取得した距離画像を用いて、既知の移動物体抽出技術により移動物体を抽出して、抽出した移動物体と自律飛行ロボット１との距離値から移動物体位置を推定してもよい。また、距離検出センサ４として搭載したレーザスキャナを用いて移動物体位置を推定してもよい。また、別途地面や壁面等に設置した固定型のレーザスキャナを用いて移動物体位置を検知し、通信部９を介して自律飛行ロボット１に対して移動物体位置を通知してもよい。
【００５１】
上記実施形態では、制御部７において位置推定処理（自己位置推定処理、移動物体位置推定処理）、速度推定処理、経路探索処理、経路追従制御処理の一連の処理を行っている。しかし、これに限らず、図示しない制御用のＰＣを用意し、当該ＰＣにこれらの一連の処理を実施させてもよい。すなわち、自律飛行ロボット１は、距離検出センサ４のレーザスキャナの出力及び撮像部３で取得した撮像画像を通信部９を介して無線通信により当該ＰＣに送信する。そして、ＰＣは、位置推定処理、速度推定処理、経路探索処理、経路追従制御処理を実施し、経路追従制御処理にて求めた速度指令値を無線通信により自律飛行ロボット１に送信する。そして、自律飛行ロボット１は、通信部９を介して受信した速度指令値に基づいてモータ６の回転数を制御することにより、目的の位置に飛行する。このように、上記の一連の処理を外部ＰＣを用いて分担することにより、自律飛行ロボット１のＣＰＵ処理負荷を低減することができ、ひいてはバッテリの消耗も抑えることができる。
【符号の説明】
【００５２】
１・・・自律飛行ロボット
２・・・ロータ
３・・・撮像部
４・・・距離検出センサ
５・・・ミラー
６・・・モータ
７・・・制御部
８・・・記憶部
８１・・・２Ｄポイント情報
８２・・・ボクセル情報
８３・・・離間距離
８４・・・各種パラメータ
７１・・・位置推定手段
７２・・・速度推定手段
７３・・・経路探索手段
７３１・・・移動候補位置設定手段
７３２・・・移動目標位置設定手段
７３３・・・移動経路生成手段
７４・・・飛行制御手段
９・・・通信部
Ｍ・・・移動物体
Ｍｇ・・・移動物体の重心
Ｂｏ・・・占有ボクセル
Ｂｎ・・・近接ボクセル
Ｂｆ・・・自由ボクセル
Ｐｃ・・・移動候補位置
Ｐｏ・・・移動目標位置
ＢＡ・・・周辺領域
【図１】
2014123304.tif 000004
【図２】
2014123304.tif 000005
【図３】
2014123304.tif 000006
【図４】
2014123304.tif 000007
【図５】
2014123304.tif 000008
【図６】
2014123304.tif 000009
【図７】
2014123304.tif 000010
【図８】
2014123304.tif 000011
【図９】
2014123304.tif 000012
【図１０】
2014123304.tif 000013
【図１１】
2014123304.tif 000014