【解決手段】複数の移動物体の移動物体位置に基づいて各移動物体を所定の上限サイズ以下のクラスタにクラスタリングし、該クラスタの中から撮影対象とする撮像クラスタを選択し、該撮像クラスタのサイズと撮像部の視野角とに基づいて撮像範囲内に撮像クラスタが含まれる位置に移動目標位置に設定し、自己位置から移動目標位置に至る移動経路に沿って自律移動する自律移動ロボット。
前記経路探索手段は、前記撮像クラスタのクラスタサイズ、前記視野角及び前記解像度に応じた前記撮像クラスタからの離間距離範囲を求め、該撮像クラスタから当該離間距離範囲内に前記移動目標位置を設定する請求項2に記載の自律移動ロボット。
前記経路探索手段は、予め定めた離間距離及び前記視野角に応じた撮像可能範囲を前記上限サイズに設定して前記複数の移動物体をクラスタリングする請求項1に記載の自律移動ロボット。
前記経路探索手段は、前記複数の移動物体の中から優先撮影対象を選択し、該優先撮影対象に選択された移動物体が含まれる前記クラスタを撮像クラスタとして選択する請求項1〜請求項4のいずれか一項に記載の自律移動ロボット。
【発明を実施するための形態】
【0014】
本発明の実施の形態における自律飛行ロボット1は、
図1の概観図に示すように、クアッドロータ型の小型無人ヘリコプタである。なお、本発明の適用範囲は、クアッドロータ型の小型無人ヘリコプタに限定されるものではなく、シングルロータ型の小型無人ヘリコプタや、自律移動する走行型のロボットについても同様に適用することができる。
【0015】
自律飛行ロボット1は、
図2のシステム構成図に示すように、外部の警備センタ100や管理装置102と通信し、移動空間内に存在する複数の移動物体Mを自律移動して撮像するように構成されている。移動物体Mは、例えば、監視領域内に侵入した人物(賊等)や車両等である。
【0016】
警備センタ100と管理装置102とはインターネット等の情報通信網110を介して情報伝達可能に接続される。また、自律飛行ロボット1と管理装置102は、無線通信等によって情報伝達可能に接続される。警備センタ100は、管理装置102を介して自律飛行ロボット1と通信を行い、自律飛行ロボット1によって撮像された移動物体Mの撮像画像を受信する。警備センタ100は、撮像画像に対して画像処理を行い、警備センタ100にて異常監視している管理者等(図示しない)に警告を発するような機能を備えていてもよい。
【0017】
管理装置102は、地面や壁面等に設置された固定型の移動物体検出センサ104(104a,104b・・・)を備え、各移動物体Mの位置を検知する。移動物体検出センサ104は、例えば、レーザセンサとすることができる。レーザセンサは、一定の角度サンプル間隔の角度毎にレーザを二次元的にスキャンすることによって、地面(又は床面)から一定の高さの水平面における検知範囲内に存在する物体(障害物)との距離情報を極座標値として取得する。レーザセンサは、放射状にレーザ光である探査信号を走査し、物体に反射して戻ってきた探査信号を受信して、送信と受信の時間差から物体までの距離を算出し、レーザセンサの設置位置の座標及び探査信号を送信した方向と算出した距離から当該物体の位置の極座標値を求め、当該極座標値から3次元の直交座標値(X
t,Y
t,Z
t)を求める。管理装置102は、移動物体検出センサ104によって求められた各移動物体Mの位置を、各移動物体Mの識別子である移動物体IDを付与して自律飛行ロボット1へ送信する。自律飛行ロボット1は、各移動物体Mの位置を受信すると、その位置に基づいて自らの移動経路を算出し、当該移動経路に沿って移動する。なお、管理装置102は、レーザセンサの検知範囲が重複する領域に存在する移動物体Mの同一性を検証することで複数のレーザセンサの検知範囲に渡る移動物体Mの追跡を行う。すなわち、レーザセンサ104aの検知範囲に存在する移動物体Mがレーザセンサ104bの検知範囲に移動したとしても、管理装置102は、当該移動物体Mが同一の物体であると判定することができる。
【0018】
以下、
図1の概観図及び
図3の機能ブロック図を参照して、自律飛行ロボット1の構成及び機能について説明する。
【0019】
自律飛行ロボット1は、
図1に示すように、4枚のロータ(プロペラ)2(2a〜2d)を一平面上に有する。各ロータ2は、バッテリ(二次電池:図示しない)により駆動されるモータ4(4a〜4d)を用いて回転させられる。一般的に、シングルロータ型のヘリコプタでは、メインロータによって発生する反トルクをテールロータが生み出すモーメントで相殺することによって方位角を保っている。一方、自律飛行ロボット1のようなクアッドロータ型のヘリコプタでは、前後・左右で異なる方向に回転するロータ2を用いることで反トルクの相殺を行っている。そして、各ロータ2の回転数(fa〜fd)を制御することにより、様々な機体の移動や姿勢の調節を行うことができる。例えば、機体をヨー方向に回転させたいときは、前後のロータ2a、2cと左右ロータ2d、2bの回転数に差を与えればよい。
【0020】
撮像部3は、例えばレンズなどの光学系および所定画素数(例えば640×480画素からなる解像度)のCCDやCMOSなどの2次元アレイ素子を有する二次元イメージセンサで構成され、移動空間の撮像画像を所定の時間間隔で取得するいわゆるカラーカメラである。本実施の形態では、撮像部3は、その光軸が自律飛行ロボット1の正面方向を撮像するよう筐体部分に設置され、かつ、水平面(XY平面)から予め定めた俯角θにより斜め下方の空間を視野角φ(画角)において撮像するよう設置されている。取得した撮像画像は後述する制御部7に出力され、制御部7により記憶部8に記憶されたり、後述する通信部9を介して管理装置102に送信されたりする。
【0021】
距離検出センサ5は、自律飛行ロボット1の周囲に存在する障害物と自律飛行ロボット1との間の距離を検出し、センサ検出範囲内に存在する障害物の相対的な位置を取得するセンサである。本実施の形態では、距離検出センサ5としてマイクロ波センサを備える。マイクロ波センサは、空間にマイクロ波を放出し、その反射波を検知することによって、自律飛行ロボット1の周囲にある物体を探知し、その物体までの距離を求める。距離検出センサ5は、例えば、自律飛行ロボット1の前方に向けて設け、移動物体Mまでの距離を測定するために用いることができる。また、距離検出センサ5は、例えば、自律飛行ロボット1の下部に下向きに設け、地面との距離(高度)を測定するために用いることもできる。また、距離検出センサ5は、例えば、撮像部3の光軸方向に向けて設け、撮像部3の撮像対象物である移動物体Mまでの距離を測定するために用いることができる。
【0022】
位置検出センサ6は、自律飛行ロボット1の現在位置を取得するためのセンサである。位置検出センサ6は、例えば、GNSS(Global Navigation Satellite System)等の航法衛星(人工衛星)から送信される電波(航法信号)を受信する。位置検出センサ6は、複数の航法衛星から送信される航法信号を受信して制御部7へ入力する。なお、位置検出センサ6は、レーザスキャナ、ジャイロセンサ、電子コンパス、気圧センサ等の他のセンサを用いて既知の技術により自己位置を得るための情報を取得するものとしてもよい。
【0023】
通信部9は管理装置102との間で、例えば無線LANや携帯電話回線等により無線通信するための通信モジュールである。本実施の形態では、撮像部3によって取得した撮像画像を通信部9により管理装置102に送信し、当該撮像画像を管理装置102から警備センタ100に送信することにより、警備員等が遠隔から侵入者を監視することを可能にする。また、通信部9は、管理装置102から各移動物体Mの位置(座標:X
t,Y
t,Z
t)を受信することにより、後述するような移動経路の設定を可能にする。すなわち、本実施の形態では通信部9が本発明の移動物体位置取得手段として機能する。
【0024】
記憶部8は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の情報記憶装置である。記憶部8は、各種プログラムや各種データを記憶し、制御部7との間でこれらの情報を入出力する。各種データには、移動物体位置81、クラスタ情報82、ボクセル情報83、撮像条件情報84等の制御部7の各処理に用いられる情報、各センサ等の出力値及び撮像画像等が含まれる。
【0025】
移動物体位置81は、管理装置102から受信した各移動物体Mの識別子である移動物体IDと、当該移動物体Mの位置情報(座標:X
t,Y
t,Z
t)とを対応付けた情報である。本実施の形態では、移動物体位置81を各移動物体Mの足元位置、すなわち移動物体Mが地面(床面)に接している位置とする。制御部7は、通信部9を介して各移動物体Mの移動物体ID及び位置を受信すると移動物体位置81として記憶部8に記憶させる。
【0026】
クラスタ情報82は、移動物体Mの集合であるクラスタに関する情報であり、クラスタの識別子であるクラスタIDと、クラスタを構成する移動物体Mの移動物体IDと、クラスタの大きさを表す値であるクラスタサイズと、クラスタの移動空間における位置を表すクラスタ位置と、を対応付けた情報である。本実施の形態では、クラスタを構成する各移動物体Mの移動物体位置81を包含する最小の円を求め、当該円の半径をクラスタサイズとし、当該円の地表面における中心位置の座標(X,Y)をクラスタ位置として、後述するように経路探索手段73によって算出されるものとする。
【0027】
ボクセル情報83は、移動空間をボクセル空間として複数のボクセルに分割して移動空間の障害物の構造等を表した情報であり、予め管理者等によって設定され記憶部8に記憶され、また、後述するように位置推定手段71にて更新される情報である。本実施の形態では、移動空間を所定の大きさ(例えば15cm×15cm×15cm)のボクセルに等分割し、各ボクセルの識別子であるボクセルIDと、移動空間におけるボクセルの位置(三次元座標)と、ボクセル属性と、ボクセルコスト値とを対応付けてボクセル情報83として記憶する。飛行禁止エリアに相当するボクセルは、そのボクセル属性を「占有ボクセル」と定義して、自律飛行ロボット1が移動できない空間とする。なお飛行禁止エリアには、例えば建造物等の障害物に相当するエリア、飛行が許可された敷地外のエリア、飛行が許可された高度よりも高いエリアなどが挙げられる。そして、占有ボクセルの近くに存在する空間に位置するボクセルのボクセル属性を「近接ボクセル」、それ以外の自由に飛行可能なエリアに位置するボクセルのボクセル属性を「自由ボクセル」と定義する。
【0028】
各ボクセルには、後述する経路探索手段73にて移動経路を生成する際に利用できるよう、占有度を示すボクセルコスト値が関連付けて登録される。ボクセルコスト値は、占有ボクセルにおいて最大値C
maxをとり、占有ボクセルからの距離が大きくなるほど小さな値となるように設定される。例えば、あるボクセル(評価ボクセル)のボクセルコスト値は、ボクセルコスト値=C
max × exp{−λ×R}の計算式により算出することが好適である。ここでλは実験によって求めたパラメータとし、Rは評価ボクセルに最も近い占有ボクセルからの距離とする。そして、予め定めた閾値以上のボクセルコスト値を有するボクセルを「近接ボクセル」とする。また、ボクセルコスト値が当該閾値よりも小さいボクセルを「自由ボクセル」とし、自由ボクセルとみなされたボクセルのボクセルコスト値を0と設定する。
【0029】
撮像条件情報84は撮像部3の視野を表す情報であり、本実施の形態では撮像部3の視野角φ及び解像度が撮像条件情報84として記憶部8に記憶されている。すなわち、撮像条件情報84は、自律飛行ロボット1に設置した撮像部3の性能にしたがって管理者等によって適宜設定される値である。なお、視野角φを変更可能なズーム機能や、撮像する解像度を変更可能な解像度変更機能を備えた撮像部3を搭載した他の実施の形態においては、適宜現在の視野角φ及び解像度についての情報を取得し、撮像条件情報84として記憶部8に記憶しもよい。
【0030】
制御部7は、CPU等を備えたコンピュータで構成され、位置推定処理、速度推定処理、経路探索処理、経路追従制御を行う一連の処理として、位置推定手段71、速度推定手段72、経路探索手段73、移動制御手段74を含んでいる。
【0031】
位置推定手段71は、位置検出センサ6の出力に基づいて、移動空間における自律飛行ロボット1の現在位置(自己位置)を推定する位置推定処理を行う。
【0032】
具体的には、位置検出センサ6から得られた複数の航法衛星からの航法信号に基づいて周知技術によって推定した緯度・経度と、距離検出センサ5から得られた高度とから自己位置の座標(X
s,Y
s,Z
s)を計算する。さらに、電子コンパスやジャイロセンサなどの位置検出センサ6からの出力を受けて自己位置として姿勢YAWを求める。なお、自己位置の推定方法はこれに限定されるものではなく、他の方法を用いて自律飛行ロボット1の現在位置を推定してもよい。
【0033】
位置推定手段71は、推定された自己位置(座標:X
s,Y
s,Z
s及び姿勢YAW)と管理装置102から受信した移動物体Mの位置(座標:X
t,Y
t,Z
t)を経路探索手段73へ出力する。また、位置推定手段71は、推定された自己位置を速度推定手段72及び移動制御手段74へ出力する。
【0034】
なお、位置推定手段71は、移動物体Mの位置に基づいてボクセル情報83を更新する処理を行う。具体的には、記憶部8のボクセル情報83に基づいたボクセル空間に移動物体Mの位置を重心として予め定めた移動物体Mの大きさと略同じ大きさの円柱モデル(例えば、監視対象の移動物体Mを侵入者であるとしたとき、底面の半径0.3m、高さ1.7mの円柱モデル)を配置し、当該円柱モデルと干渉するボクセルを占有ボクセルとして設定することによりボクセル情報83を更新する。後述するように、自律飛行ロボット1は、占有ボクセルには移動しないように飛行制御されるが、上記のように移動物体Mの位置に基づいてボクセル情報83を更新することにより、自律飛行ロボット1と移動物体Mとの接触を回避することができる。
【0035】
速度推定手段72は、後述する移動制御手段74における移動制御で利用するため、自律飛行ロボット1の現在の飛行速度(v
x,v
y,v
z,v
yaw)を推定する速度推定処理を行う。本実施の形態では、位置推定手段71にて推定した自己位置(座標:X
s,Y
s,Z
s及び姿勢YAW)の時間変化から飛行速度を求める。この際、測定誤差等の影響を考慮して拡張カルマンフィルタを利用して飛行速度を推定することが好適である。この他にも、GNSSにおけるドップラー効果を利用した速度推定方法を用いてもよい。
【0036】
経路探索手段73は、位置推定手段71で推定された自己位置と、記憶部8に記憶された移動物体位置81及び各種情報とを用いて、自己位置から所定の移動目標位置に至る移動経路を算出する経路探索処理を行う。以下、本実施の形態の自律飛行ロボット1に係る経路探索手段73が実行する経路探索処理の流れの一例について、
図4を参照しながら詳細に説明する。
【0037】
経路探索処理では、まず、後述するクラスタリングにおけるクラスタの上限サイズを決定する処理を行う(ST1)。経路探索手段73は、撮像条件情報84の視野角φと解像度とに基づいて、移動物体Mを認識可能となるよう、クラスタの上限サイズを算出する。本実施の形態では、まず、解像度に基づいて移動物体Mからの最大離間距離L
maxを求める。すなわち、解像度が高くなるほど移動物体Mから遠くに離れても当該移動物体Mを認識でき、反対に解像度が低くなるほど移動物体Mに近づかなければ当該移動物体Mを認識できないため、解像度が高くなるほど、大きくなるよう最大離間距離L
maxを求める。最大離間距離L
maxは、予め実験により距離と解像度との関係を求めておき、適用する解像度に応じて求めてもよい。そして、求めた最大離間距離L
maxと視野角φとを用いて上限サイズr
maxを、r
max={L
max×sin(φ/2)}/{sin(φ/2)+1}から求める。すなわち、
図5に表すように、自律飛行ロボット1から最大離間距離L
maxの位置に存在していると仮定した移動物体M
0を、クラスタの最遠端の位置に存在する移動物体とし、当該移動物体M
0の位置を最遠端位置とする円であって、視野角φで定まる撮像範囲に接する円の半径として、上限サイズr
maxを求める。なお、本実施の形態では、上限サイズを撮像部3の視野角φと解像度に基づいて算出しているが、これに限らず、予め実験により定めた固定値を設定し、当該固定値を用いてもよい。
【0038】
次に、経路探索処理では、ST1にて求めた上限サイズr
maxと、移動物体位置81とを用いて、複数の移動物体Mの組み合わせからなるクラスタを生成するクラスタリングを実行する(ST2)。本実施の形態では、既知の技術であるユークリッドクラスタリング手法を用いてクラスタリングする。この際、上限サイズr
maxが、生成されるクラスタの最大半径となるよう、ユークリッドクラスタリング距離を設定する。なお、クラスタリングの方法は従来から多数提案されており、適宜公知の方法を採用すればよい。これによって、上限サイズr
max以下の半径からなる円に含まれる位置に存在する複数の移動物体Mからなるクラスタを生成することが可能となる。経路探索手段73は、クラスタリングによってクラスタを生成すると、各クラスタの情報をクラスタ情報82として記憶部8に記憶する。
図6は、移動空間の一部を真上から見下ろしたときの図であり、移動空間内に存在する移動物体M1〜M6を上限サイズr
maxによりクラスタリングした結果を表す図である。同図では、クラスタC1として移動物体M1〜M4がクラスタリングされ、クラスタC2として移動物体M5、M6がクラスタリングされている。なお、クラスタC1、C2の半径であるクラスタサイズは、上限サイズr
max以下となるようクラスタリングされているものとする。
【0039】
次に、経路探索処理では、ST2にて生成したクラスタの中から、自律飛行ロボット1の撮像対象とするクラスタである撮像クラスタを選択する処理を行う(ST3)。本実施の形態では、位置推定手段71にて求めた自己位置に最も近いクラスタを撮像クラスタとして選択する。ここでは、
図6のクラスタC1を選択クラスタに設定したとして、以下では説明する。
【0040】
次に、経路探索処理では、ST3にて選択した撮像クラスタのクラスタサイズをクラスタ情報82から読み出し、当該クラスタサイズと撮像条件情報84とに基づいて撮像クラスタからの離間距離の範囲を示す離間距離範囲を求める(ST4)。ここで、離間距離とは、選択クラスタに追従飛行するにあたって、自律飛行ロボット1と撮像クラスタとの水平面における維持すべき相対距離である。本実施の形態では、
図7に表すように、撮像クラスタC
1のクラスタサイズをr
1としたとき、当該撮像クラスタC
1からの最も小さい離間距離である最小離間距離L
minを、L
min=r
1/{sin(φ/2)}により求める。すなわち、撮像部3の撮像範囲内に撮像クラスタが含まれる最も近い距離として最小離間距離L
minを求める。そして、当該最小離間距離L
minと、ST1にて求めた最大離間距離L
maxとを用いて、撮像クラスタからの離間距離範囲を求める。
【0041】
次に、経路探索処理では、ST4にて求めた離間距離範囲内の離間距離を設定する(ST5)。本実施の形態では、予め設定された方針に従って離間距離を選択する。例えば、移動物体Mの詳細を撮影するために、移動物体Mにできるだけ近づく方針が設定されていれば、離間距離範囲における最も小さい値である最小離間距離L
minを離間距離として設定する。一方、移動物体Mからの攻撃を回避しやすいよう、移動物体Mからできるだけ距離をとる方針が設定されていれば、離間距離範囲における最も大きい値である最大離間距離L
maxを離間距離として設定する。この他にも、現状に応じて方針を変更してもよい。例えば、撮像クラスタを構成する移動物体Mの平均移動速度が大きいほど、離間距離範囲内における大きい離間距離として設定してもよい。いずれの場合も、ST4にて求めた離間距離範囲内の離間距離であれば、撮像部3の撮像範囲内に撮像クラスタが含まれる位置を求めることができる。
【0042】
次に、経路探索処理では、ST5にて設定した離間距離と、クラスタ情報82から読み出した撮像クラスタの中心位置とを用いて、撮像クラスタから離間距離だけ離れた周囲の位置に移動候補位置を設定する処理を行う(ST6)。すなわち、撮像クラスタの中心位置から離間距離だけ離れた周囲の領域に複数の移動候補位置を設定する。本実施の形態では、移動候補位置を、撮像クラスタの中心位置から、ST5にて設定した離間距離を半径とした円状の位置で、かつ、管理者等により予め定められた飛行高度(例えば3m)の領域に、それぞれ等間隔になるように設定する。
【0043】
次に、経路探索処理では、ST6にて設定した移動候補位置の其々を評価し、最も高い評価値となる移動候補位置を移動目標位置として設定する処理を行う(ST7)。この際、まず、自律飛行ロボット1が障害物に接触することを防止するため、ボクセル情報83を参照して占有ボクセル又は近接ボクセルに含まれる位置には移動目標位置を設定しないよう、最低の評価値となるようにする。また、自律飛行ロボット1の自己位置から各移動候補位置までの距離が小さいほど評価値が高くなるようにする。更に、前回設定した移動目標位置から移動候補位置までの距離が小さいほど評価値が高くなるようにする。
【0044】
次に、経路探索処理では、位置推定手段71で推定された自己位置と、ST7にて設定した移動目標位置とを用いて自律飛行ロボット1の移動経路を算出する移動経路生成処理を行う(ST8)。具体的には、移動経路生成処理では、まず、記憶部8からボクセル情報82を読出し、分割した移動可能な空間である自由ボクセル及び近接ボクセルの各ボクセルの中心をノードとし、当該ノードに隣接するノード間を連結した線分をエッジとしてグラフ構造を生成する。この際、エッジの重みとして、隣接するノード間の距離に基づいて求められる距離コストが設定されているものとする。このようにボクセル情報82に基づいて全ての移動可能なボクセルについてグラフ構造を生成した後、自律飛行ロボット1が存在しているボクセルのノードから移動目標位置が存在しているボクセルのノードまでの移動経路を生成する。移動経路の生成方法については、さまざまな経路生成方法が適用可能であるが、本実施の形態ではA*(エースター)経路探索法を用いて移動経路を探索する。この際、ボクセル情報82として記憶されたボクセルコストと距離コストとを、A*経路探索法における移動コストとして利用する。経路探索手段73で生成された生成された移動経路のデータは、経由点(x,y,z)の集合データであり、この情報は記憶部8に一時的に記憶される。
図8は、移動候補位置を設定してから移動経路を生成するまでの概略を模式的に表した図である。同図では、撮像クラスタC1の中心位置O1から、ST5にて設定された離間距離R1だけ離れた位置に、等間隔に複数の移動候補位置Pcが設定されている。そして、これらの移動候補位置Pcの中から、移動目標位置としてPoが設定され、自己位置から当該移動目標位置Poに至る移動経路W0が生成されている。
【0045】
移動制御手段74は、経路探索手段73にて算出された移動経路と位置推定手段71にて推定された自己位置と速度推定手段72で推定された飛行速度とを用いて、自律飛行ロボット1が経路探索手段73で算出された移動経路に沿って飛行するように経路追従制御を行う。具体的には、移動経路、自己位置及び飛行速度を用いて各時刻での飛行制御値である制御指令値を求め、当該制御指令値に基づいてモータ4を制御し、ロータ2の回転数を制御する。
【0046】
経路追従制御では、まず、各時刻での自律飛行ロボット1が目標とすべき直近の位置(以下、「ローカル目標」と呼ぶ)を算出する処理を行う。
図9はローカル目標の算出を説明する図である。ローカル目標の算出にあたり、移動制御手段74は、経路探索手段73で生成された移動経路を記憶部8から読出し、自律飛行ロボット1が現在時刻で目指している経由点Wp1と前回通過済みである経由点Wp0との2点間を繋げた直線Wを求める。そして、移動制御手段74は、求めた直線Wと自律飛行ロボット1の自己位置を中心とした球Sとの交点Lp’、Lpを算出し、目指している経由点Wp1に近い交点Lpをローカル目標として求める。このように、各時刻においてローカル目標を目指して自律飛行ロボット1が移動するよう飛行制御することで、常にローカル目標も移動経路上を移動目標位置Poに向かって移動していき、自律飛行ロボット1は移動経路に沿って飛行していくことになる。
【0047】
次に、経路追従制御では、算出したローカル目標に向かって飛行するようX、Y、Z、ヨー角の各方向毎に制御指令値u
x,u
y,u
z,u
ψを算出する処理を行う。この際、現在の自己位置とローカル目標の位置との差異が小さくなるような制御指令値を求める。具体的には、XYZ軸方向の制御指令値u=(u
x,u
y,u
z)は、位置推定手段71で求められた自己位置r=(X
s,Y
s,Z
s)と速度推定手段72で推定した速度v=(v
x,v
y,v
z)とを利用し、PID制御により求める。XYZ軸方向の各制御指令値をu=(u
x,u
y,u
z)、ローカル目標をr’=(x,y,z)としたとき、制御指令値は、u=Kp(r’−r)+Kd・v+Ki・eの式で算出される。ここで、Kp、Kd、KiはそれぞれPID制御のゲインのことであり、e=(e
x,e
y,e
z)は誤差の積分値である。一方、ヨー角方向の制御指令値u
ψは、ψ'を目標角度、ψを位置推定手段71にて推定した自律飛行ロボット1の姿勢(角度)、v
yawを速度推定手段72で推定した角速度とすると、u
ψ=Kp(ψ’−ψ)+Kd・v
yawの式のようなPD制御により求める。なお、本実施の形態では、目標角度ψ'を撮像クラスタC1の中心位置O1の方向を向く角度とした。
【0048】
このように、制御部7は、上述した位置推定手段71、速度推定手段72、経路探索手段73、移動制御手段74における各処理を逐次繰り返す。これにより、本実施の形態の自律飛行ロボット1は、撮像クラスタC1から離間距離だけ離れた位置に対して移動目標位置Poを逐次設定・更新し、その都度移動経路についても逐次設定・更新していくことによって、撮像クラスタに追従移動することができる。特に本実施の形態における自律飛行ロボット1は、撮像クラスタのクラスタサイズと視野角φとに基づいて撮像部3の撮像範囲内に当該撮像クラスタが含まれる位置を移動目標位置Poに設定している。これにより、複数の移動物体が存在する移動空間において、多くの移動物体Mを同時撮影する位置にて追従移動することができる。
【0049】
また、本実施の形態における自律飛行ロボット1は、経路探索処理(ST1)にて、撮像条件情報84の視野角φと解像度とに基づいて、移動物体Mを認識可能となるよう、クラスタの上限サイズを算出している。これにより、たとえ移動空間内に複数の移動物体Mが広く分散して位置していたとしても、クラスタリングによって生成されるクラスタのサイズを、移動物体Mを認識可能なサイズに設定することができ、撮像クラスタを構成する複数の移動物体Mを認識可能な解像度により、できる限り多くの移動物体を同時撮影しながら追従移動することができる。
【0050】
また、本実施の形態における自律飛行ロボット1は、経路探索処理(ST4)にて、撮像クラスタのクラスタサイズと視野角φと解像度とに応じて撮像クラスタからの離間距離の範囲を示す離間距離範囲を求め、撮像クラスタから当該離間距離範囲以内の離間距離の位置に移動目標位置を設定している。これにより、クラスタサイズが様々であるクラスタの中から選択した撮像クラスタを、撮像部3の撮像範囲内に含めることができる位置であって、撮像クラスタを構成する複数の移動物体Mを認識可能な解像度により、できる限り多くの移動物体を同時撮影できる位置を正確に求めることができる。
【0051】
ところで、本発明は、上記実施の形態に限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施の形態で実施されてもよいものである。また、実施の形態に記載した効果は、これに限定されるものではない。
【0052】
上記実施の形態における経路探索処理では、ST1にてクラスタの上限サイズを決定し、ST4にて当該クラスタ(撮像クラスタ)が撮像範囲内に含まれる離間距離範囲を求めて、ST5にて当該離間距離範囲内の距離値として離間距離を設定している。しかし、これに限らず、離間距離を予め固定値として管理者等により記憶部8に設定しておき、選択クラスタの位置(例えば中心位置)から当該設定された離間距離だけ離れた位置に移動候補位置を設定してもよい。この場合、経路探索手段73は、経路探索処理(ST1)にて、自己位置から予め設定した離間距離だけ離れた位置にクラスタの中心位置があり、視野角φに基づいて求めた撮像部3の撮像可能範囲内に収まる最大のクラスタサイズを、上限サイズとして求めるものとする。そして、当該上限サイズを用いてクラスタリング(ST2)して求めたクラスタの中から撮像クラスタを選択し(ST3)、当該撮像クラスタから設定された離間距離だけ離れた位置に移動候補位置を設定する(ST6)。このように、離間距離が固定値であったとしても、複数の移動物体が存在する移動空間において、多くの移動物体Mを同時撮影する位置にて追従移動することができる。
【0053】
また、上記実施の形態における経路探索処理では、ST3にて撮像クラスタを選択する際、自己位置に最も近いクラスタを撮像クラスタとして選択している。しかし、これに限らず、複数の移動物体Mの中から優先撮像対象となる移動物体Mを選択し、当該優先撮像対象として選択された移動物体Mを含んだクラスタを撮像クラスタとして選択してもよい。例えば、移動物体検出センサ104によって最初に検出した移動物体Mを優先撮像対象として設定し、当該優先撮像対象を含むクラスタを撮像クラスタとして選択する。または、検出した移動物体Mの中から所定の画像特徴を有する移動物体M(例えば、武器等を所持している移動物体Mや、マスクをしている移動物体M)を検出し、当該移動物体Mを優先撮像対象として設定して、当該優先撮像対象を含むクラスタを撮像クラスタとして選択してもよい。
【0054】
また、上記実施の形態では、管理装置102に接続された移動物体検出センサ104を用いて移動物体Mを検出している。しかしながら、これに限定されるものではなく、撮像部3で取得した撮像画像を画像解析することにより、移動物体Mの位置を推定する画像解析手段(移動物体位置取得手段)を備えてもよい。例えば、撮像画像の各フレームを画像処理して移動物体Mの画像領域を抽出する処理を行う。この際、既知の技術(特開2006−146551号公報を参照)であるオプティカルフロー法、ブースティング学習(例えば、Haar−like特徴を用いているAdaBoostベース識別器による顔検出手法)による識別器等を用いて移動物体Mの画像領域(人物領域)を抽出する。次に、当該抽出された画像領域の位置に基づいて移動物体Mと自律飛行ロボット1との距離を推定する。具体的には、抽出した移動物体Mの画像領域の頭頂部の(撮像画像における)y座標位置と距離との対応表を予め飛行高度毎に作成しておき、現在の飛行高度及び移動物体Mの頭頂部のy座標位置を当該対応表に照らし合わせて自律飛行ロボット1との距離を推定する。しかし、これに限らず、抽出した移動物体Mの頭部の大きさから距離を算出してもよい。すなわち、頭部の大きさと距離との対応表を予め作成しておき、抽出された移動物体Mの頭部の大きさを当該対応表に照らし合わせて自律飛行ロボット1との距離を推定してもよい。
【0055】
また、自律飛行ロボット1に撮像部3としてカラーカメラの代わりに距離画像センサを搭載して、当該距離画像センサから取得した距離画像を用いて、既知の移動物体抽出技術により移動物体Mを抽出して、抽出した移動物体Mと自律飛行ロボット1との距離値と自己位置とから移動物体Mの位置を推定する画像解析手段(移動物体位置取得手段)を備えてもよい。また、自律飛行ロボット1にレーザスキャナを搭載し、位置推定手段71(移動物体位置取得手段)が、当該レーザスキャナの出力値と自己位置とを用いて移動物体Mの位置を推定してもよい。
【0056】
また、上記実施の形態では、制御部7において位置推定処理、速度推定処理、移動経路生成処理、経路追従制御の一連の処理を行っている。しかし、これに限らず、図示しない制御用のPCを用意し、当該PCにこれらの一連の処理を実施させてもよい。すなわち、自律飛行ロボット1は、PCによって行われた位置推定処理、速度推定処理、移動経路生成処理、経路追従制御によって得られた制御指令値を無線通信又は有線通信によりPCから受信し、当該制御指令値に基づいてモータ4の回転数を制御することにより、目的の位置に飛行するようにしてもよい。このように、外部PCを用いて上記の一連の処理を分担することにより、自律飛行ロボット1のCPU処理負荷を低減することができ、ひいてはバッテリの消耗も抑えることができる。