【解決手段】航法衛星から受信した信号に含まれる情報を用いて、所定の測位開始時刻から移動可能期間(移動空間内を自律移動できる期間)が経過するまでの期間である測位期間において受信可能な複数の前記航法衛星の組み合わせからなる衛星セットを選択し、該衛星セットから受信した信号に含まれる情報を用いて自己位置を推定し、自己位置から所定の移動目標位置に至る移動経路に沿って自律移動する自律移動ロボット。
【発明を実施するための形態】
【0013】
本発明の実施の形態における自律飛行ロボット1(自律移動ロボット)は、
図1の概観図に示すように、クアッドロータ型の小型無人ヘリコプタである。なお、本発明の適用範囲は、クアッドロータ型の小型無人ヘリコプタに限定されるものではなく、シングルロータ型の小型無人ヘリコプタや、自律移動する走行型のロボットについても同様に適用することができる。
【0014】
自律飛行ロボット1は、
図2のシステム構成図に示すように、外部の警備センタ100や管理装置102と通信し、移動空間内に存在する所定の移動物体を目標対象物Mとして追跡し、当該目標対象物Mに対して所定の機能を発揮するように構成されている。目標対象物Mとなる移動物体は、例えば、監視領域内に侵入した人物(賊等)である。本実施の形態では、所定の機能として、目標対象物Mを撮像する機能を例に説明するが、特に限定されるものではなく、目標対象物Mに対して音を発したり、発光による警告を行ったりする等の機能であってもよい。
【0015】
警備センタ100と管理装置102とはインターネット等の情報通信網110を介して情報伝達可能に接続される。また、自律飛行ロボット1と管理装置102は、無線通信等によって情報伝達可能に接続される。警備センタ100は、管理装置102を介して自律飛行ロボット1と通信を行い、自律飛行ロボット1に対して出動命令を送信する。自律飛行ロボット1は、待機状態においては着陸場所106(帰還位置)にて静止状態となっており、警備センタ100からの出動命令を受信することによって自律移動を開始し、後述するように目標対象物Mの周囲の位置に設定された移動目標位置まで移動する。また、警備センタ100は、自律飛行ロボット1によって撮像された目標対象物Mの撮像画像を受信する。なお、着陸場所106は、後述するように飛行可能期間を更新可能な位置であって、バッテリ10にエネルギーを補給する充電器の設置位置である。
【0016】
管理装置102は、地面や壁面等に設置された固定型の移動物体検出センサ104(104a,104b・・・)を備え、目標対象物Mの位置を検知する。移動物体検出センサ104は、例えば、レーザセンサとすることができる。レーザセンサは、一定の角度サンプル間隔の角度毎にレーザを二次元的にスキャンすることによって、地面(又は床面)から一定の高さの水平面における検知範囲内に存在する物体(障害物)との距離情報を極座標値として取得する。レーザセンサは、放射状にレーザ光である探査信号を走査し、物体に反射して戻ってきた探査信号を受信して、送信と受信の時間差から物体までの距離を算出し、レーザセンサの設置位置の座標及び探査信号を送信した方向と算出した距離から当該物体の位置の極座標値を求め、当該極座標値から3次元の直交座標値(X
t,Y
t,Z
t)を求める。管理装置102は、移動物体検出センサ104によって求められた目標対象物Mの位置を自律飛行ロボット1へ送信する。自律飛行ロボット1は、目標対象物Mの位置を受信すると、その位置に基づいて自らの移動経路を算出し、当該移動経路に沿って移動する。なお、管理装置102は、レーザセンサの検知範囲が重複する領域に存在する目標対象物Mの同一性を検証することで複数のレーザセンサの検知範囲に渡る目標対象物Mの追跡を行う。すなわち、レーザセンサ104aの検知範囲に存在する目標対象物Mがレーザセンサ104bの検知範囲に移動したとしても、管理装置102は、当該目標対象物Mが同一の物体であると判定することができる。
【0017】
また、管理装置102は、GNSSによって自律飛行ロボット1の自己位置を推定するために、航法衛星からの信号を受信する衛星信号受信機105を備えている。本実施の形態では、既知の技術であるRTK(Real Time Kinematic)測位法によって自律飛行ロボット1の自己位置を推定する。RTK測位法は、位置が既知の参照地点である基準局(基準点)で観測した航法衛星からの情報(例えば、航法衛星の軌道情報など)を、測位する地点である移動局に無線等によって送信し、基準局から送信された情報と移動局にて観測した航法衛星からの情報とを解析することにより高精度な測量結果を得る測位方法である。すなわち、管理装置102は、RTK測位における基準局として機能し、衛星信号受信機105によって受信した航法衛星からの情報を、移動局である自律飛行ロボット1に対して送信する。そして、自律飛行ロボット1は、管理装置102から受信した情報と、自らが観測した航法衛星からの情報とを解析することにより、自律飛行ロボット1の自己位置を推定する。自律飛行ロボット1における自己位置推定の詳細については後述する。
【0018】
以下、
図1の概観図及び
図3の機能ブロック図を参照して、自律飛行ロボット1の構成及び機能について説明する。
【0019】
自律飛行ロボット1は、
図1に示すように、4枚のロータ(プロペラ)2(2a〜2d)を一平面上に有する。各ロータ2は、バッテリ10によって供給されるエネルギーにより駆動されるモータ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は、人口衛星である航法衛星から送信される信号を受信する。位置検出センサ6は、複数の航法衛星から送信される信号を受信して、当該信号に含まれる情報を制御部7へ入力する。本実施の形態において受信対象とする航法衛星は、GPSやGLONASS、Galileo、BeiDou、準天頂衛星等である。なお、位置検出センサ6は、ジャイロセンサ、電子コンパス等の他のセンサを用いて、既知の技術により、自律飛行ロボット1の姿勢YAWを得るための情報を出力してもよい。
【0023】
通信部9は管理装置102との間で、例えば無線LANや携帯電話回線等により無線通信するための通信モジュールである。本実施の形態では、撮像部3によって取得した撮像画像を通信部9により管理装置102に送信し、当該撮像画像を管理装置102から警備センタ100に送信することにより、警備員等が遠隔から侵入者を監視することを可能にする。また、通信部9は、管理装置102から目標対象物Mの位置(座標:X
t,Y
t,Z
t)を受信することにより、後述するような移動経路の設定を可能にする。
【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の位置情報(座標:X
t,Y
t,Z
t)である。本実施の形態では、目標対象物位置81を目標対象物Mの足元位置、すなわち目標対象物Mが地面(床面)に接している位置とする。制御部7は、通信部9を介して目標対象物Mの位置を受信すると目標対象物位置81として記憶部8に記憶させる。なお、管理装置102は、目標対象物Mの位置(座標:X
t,Y
t,Z
t)の時間変化に基づいて目標対象物Mの姿勢(例えば、目標対象物Mの正面方向を示した情報)を推定し、目標対象物位置81として記憶してもよい。
【0026】
飛行可能期間82は、自律飛行ロボット1が自律的に飛行可能とされる期間を表す情報である。本実施の形態では、後述する飛行可能期間推定手段75にて飛行可能期間82を推定し、記憶部8に記憶されるものとする。
【0027】
ボクセル情報83は、移動空間をボクセル空間として複数のボクセルに分割して移動空間の障害物の構造等を表した情報であり、予め管理者等によって設定され記憶部8に記憶される情報である。本実施の形態では、移動空間を所定の大きさ(例えば15cm×15cm×15cm)のボクセルに等分割し、各ボクセルの識別子であるボクセルIDと、移動空間におけるボクセルの位置(三次元座標)と、ボクセル属性と、ボクセルコスト値とを対応付けてボクセル情報83として記憶する。障害物に相当するボクセルのボクセル属性を「占有ボクセル」と定義して、自律飛行ロボット1が移動できない空間とする。そして、占有ボクセルの近くに存在する空間に位置するボクセルのボクセル属性を「近接ボクセル」、それ以外の自由に飛行可能なエリアに位置するボクセルのボクセル属性を「自由ボクセル」と定義する。
【0028】
各ボクセルには、後述する経路探索手段73にて移動経路を生成する際に利用できるよう、占有度を示すボクセルコスト値が関連付けて登録される。ボクセルコスト値は、占有ボクセルにおいて最大値C
maxをとり、占有ボクセルからの距離が大きくなるほど小さな値となるように設定される。例えば、あるボクセル(評価ボクセル)のボクセルコスト値は、ボクセルコスト値=C
max × exp{−λ×R}の計算式により算出することが好適である。ここでλは実験によって求めたパラメータとし、Rは評価ボクセルに最も近い占有ボクセルからの距離とする。そして、予め定めた閾値以上のボクセルコスト値を有するボクセルを「近接ボクセル」とする。また、ボクセルコスト値が当該閾値よりも小さいボクセルを「自由ボクセル」とし、自由ボクセルとみなされたボクセルのボクセルコスト値を0と設定する。
【0029】
また、記憶部8には、各種パラメータ84として離間距離等も記憶される。離間距離は、目標対象物Mに追従飛行するにあたって、自律飛行ロボット1と目標対象物Mとの水平面における維持すべき相対距離である。離間距離は、自律飛行ロボット1の管理者等によって予め設定される。自律飛行ロボット1を用いて所定の目標対象物Mを監視する場合、目標対象物Mに近づき、より詳細な撮像画像を取得できる必要がある。しかし、侵入者などの敵対する目標対象物Mから攻撃を受けないようにするためには一定距離以上離間する必要がある。そのため、本実施の形態の自律飛行ロボット1は、目標対象物Mの詳細な撮像画像を取得でき、かつ、当該目標対象物Mから攻撃を受け難い距離に離間距離を予め、当該離間距離を保ちつつ追従飛行するように制御される。離間距離は、例えば3mと設定される。この他にも、後述する角度閾値や精度閾値などの条件や式なども、各種パラメータ84として記憶部8に記憶される。
【0030】
制御部7は、CPU等を備えたコンピュータで構成され、測位処理、速度推定処理、経路探索処理、経路追従制御等の一連の処理として、位置推定手段71、速度推定手段72、経路探索手段73、移動制御手段74、飛行可能期間推定手段75を含んでいる。なお、本実施の形態における経路探索手段73と移動制御手段74は、本発明における「移動制御手段」として機能する。
【0031】
飛行可能期間推定手段75は、自律飛行ロボット1の自律飛行が可能な期間である飛行可能期間82を推定する処理を行う。本実施の形態では、飛行可能期間推定手段75は、バッテリ10の現在の残存容量に基づいて飛行可能期間82を推定する。なお、バッテリ10の残存容量を測定する方法は従来から多数提案されており、適宜公知の方法を採用すればよい。例えば、バッテリ10の残存容量はバッテリ10の端子電圧と深い相関性があるため、バッテリ10の端子電圧を検出することによって残存容量を推定する方法を採用してもよい。また、バッテリ10の充放電特性及び充電容量等をバッテリプロファイルとして記憶しておき、その記憶されたバッテリプロファイルと自律飛行ロボット1の稼働状態とに基づいてバッテリ10の残存容量を算出してもよい。飛行可能期間推定手段75は、バッテリ10の残存容量を求めると、求めた残存容量と自律飛行時の平均バッテリ消費量とに基づいて飛行可能期間82を推定し(例えば、20分間など)、記憶部8に記憶する。なお、平均バッテリ消費量ではなく、最大バッテリ消費量により飛行可能期間82を推定してもよい。
【0032】
位置推定手段71は、飛行可能期間82と、航法衛星から受信した信号に基づく情報とに基づいて、移動空間における自律飛行ロボット1の自己位置及び精度を推定する処理を行う。ここで、航法衛星から受信した信号に基づく情報とは、基準局として機能する管理装置102から受信した情報と、位置検出センサ6が航法衛星から受信した信号の情報を両方を意味する。位置推定手段71は、
図4に示すように、機能的に第一測位手段711、第二測位手段712及び位置出力手段713を含んで構成される。
【0033】
第一測位手段711及び第二測位手段712は、飛行可能期間82と航法衛星からの信号に基づく情報を用いてRTK測位法によって自律飛行ロボット1の位置及び精度を推定する測位処理を実行する。
【0034】
測位処理では、まず、所定の測位開始時刻(例えば、現在時刻や5分後の時刻など)から飛行可能期間82が経過するまでの測位終了時刻に至る期間を測位期間として設定する。
【0035】
次に、測位処理では、設定した測位期間において受信可能な複数の航法衛星の組み合わせ(以下、「衛星セット」という)を選択する。この際、航法衛星からの信号に基づく軌道計算により、測位開始時刻における各航法衛星の位置を求め、当該航法衛星の位置と単独測位によって求めた大まかな現在位置とに基づいて各航法衛星の仰角を求め、求めた仰角が予め設定した角度閾値以上となる複数の航法衛星を求める。同様に、航法衛星からの信号に基づく軌道計算により、測位終了時刻における航法衛星の位置を求め、当該航法衛星の位置に基づいて航法衛星の仰角が角度閾値以上となる複数の航法衛星を求める。そして、測位開始時刻及び測位終了時刻の両方で角度閾値以上となる複数の航法衛星を、測位期間において受信可能な複数の航法衛星の組み合わせである衛星セットとして選択する。なお、上述した航法衛星からの信号に基づく軌道計算の方法(軌道計算アルゴリズム)は、従来から多数提案されており、適宜公知の方法を採用すればよい。軌道計算の方法ついては、例えば、「[図説]GPS−測位の理論−」(西修二郎著、日本測量協会発行、2007年刊)に詳細に記述されている。
【0036】
次に、測位処理では、選択した衛星セットからの信号を用いてRTK測位法によって、所定の時間間隔(例えば、1秒間に5回)にて自律飛行ロボット1の現在の位置及び精度を算出する。本実施の形態では、RTK測位法によって、ENU座標系における基準点(衛星信号受信機105の既知の位置)からの相対位置を計算し、当該相対位置と基準点の位置に基づいて求めた自律飛行ロボット1の現在の位置(座標:X
s,Y
s,Z
s)を出力するものとする。また、本実施の形態では、測位処理にて出力される精度は、RTK測位法によって算出されたカルマンフィルタの共分散行列の分散値が出力されるものとする。そのため、分散値が小さいほど推定された位置が高精度(精度が大きい)であることを意味する。
【0037】
第一測位手段711及び第二測位手段712は、互いに異なるタイミングにより測位処理を開始する。以下に、第一測位手段711及び第二測位手段712にて実行される、待機状態(すなわち、警備センタ100から出動命令を受信する前)における測位処理の実行タイミングについて、
図5を用いて説明する。
図5は、待機状態において第一測位手段711及び第二測位手段712にて実行される測位処理を説明する図であり、横軸を時間軸とし、第一測位手段711又は第二測位手段712にて実行される測位処理の測位期間を、黒色又はハッチングにより塗りつぶした棒グラフとして示している。すなわち、第一測位手段711及び第二測位手段712にて実行される測位処理は、測位期間の長さは飛行可能期間82に相当するため同じであるが、測位期間及び当該測位期間における測位処理を開始するタイミングが互いに異なる。
【0038】
まず、自律飛行ロボット1の初回起動時(時刻t0)に第一測位手段711により測位処理が開始される。第一測位手段711は、測位処理として、まず現在時刻(時刻t0)から飛行可能期間82が経過するまでの時刻(t5)に至る期間を測位期間として設定する。そして、第一測位手段711は、測位処理として、当該測位期間における衛星セットを選択し、当該衛星セットからの信号を用いて所定の時間間隔(例えば、1秒間に5回)により位置と精度をRTK測位法によって推定する。RTK測位法では、測位処理を開始した直後から所定期間においては測位の精度が悪い低精度期間(いわゆる初期化期間)となる。
図5では、第一測位手段711の測位処理は、時刻t0から時刻t1までの期間が低精度期間であることを示している。なお、本実施の形態では、低精度期間を、測位処理によって出力された精度が予め設定された精度閾値以下の期間とする。すなわち、前述のように精度として分散値を用いているため、当該分散値が所定の閾値以上となっているときに、精度が精度閾値以下であることを意味している。
【0039】
そして、第一測位手段711による測位処理が高精度期間となったとき(時刻t1)、第二測位手段712は、測位処理を開始する。すなわち、現在時刻(時刻t1)から飛行可能期間82が経過するまでの期間(時刻t6)を測位期間として設定し、当該測位期間における衛星セットを選択し、RTK測位法により、現在の位置と精度を算出する。
図5では、第二測位手段712の測位処理は、時刻t1から時刻t2までの期間が低精度期間であることを示している。
【0040】
そして、第二測位手段712による測位処理が高精度期間となったとき(時刻t2)、第一測位手段711は、測位処理を最初から開始する(測位処理を実行し直す)リセット操作を実行する。すなわち、これまでt0〜t5までを測位期間として計算してきた測位処理を中止し、新たな測位期間として現在時刻(時刻t2)から飛行可能期間82が経過するまでの期間(時刻t7)を測位期間として設定し、当該測位期間における衛星セットを選択し、RTK測位法により、現在の位置と精度を算出する。
【0041】
そして、第一測位手段711による測位処理が高精度期間となったとき(時刻t3)、第二測位手段712は、測位処理を最初から開始する(測位処理を実行し直す)リセット操作を実行する
以上のように、待機状態においては、第一測位手段711及び第二測位手段712は、他方の測位手段が高精度期間となったときに、自らの測位処理を実行し直すリセット操作を繰り返すものとする。
【0042】
ただし、待機状態から自律移動状態に移行した後(すなわち、警備センタ100から出動命令を受信した後)においては、第一測位手段711及び第二測位手段712は、リセット操作を実行せずに、それぞれ現在設定している測位期間のまま測位処理を継続する。例えば、時刻t1〜t2の間の何れかの時刻において、警備センタ100から出動命令を受信して自律移動状態となった場合、第一測位手段711は、t0〜t5の測位期間において選択した衛星セットのまま、当該衛星セットからの信号に基づいて測位処理を継続し、位置及び精度を出力する。そして、第二測位手段712は、t1〜t6の測位期間において選択した衛星セットのまま、当該衛星セットからの信号に基づいて測位処理を継続し、位置及び精度を出力する。
【0043】
位置出力手段713は、第一測位手段711及び第二測位手段712から出力された位置と精度に基づいて、自律飛行ロボット1の自己位置を出力する位置出力処理を行う。位置出力処理では、待機状態(すなわち、警備センタ100から出動命令を受信する前)においては、第一測位手段711及び第二測位手段712から出力された精度が精度閾値以上となっている(高精度期間となっている)何れかの測位手段を選択する選択操作と、当該選択操作によって選択した測位手段が求めた位置を自己位置(現在位置を示す座標:X
s,Y
s,Z
s)として出力する出力操作とを実行する。なお、本実施の形態では、前述のように精度として分散値を用いているため、当該分散値が所定の閾値以下となっているときに、精度が精度閾値以上であることを意味している。また、自律移動状態(すなわち、警備センタ100から出動命令を受信した後)においては、選択操作を実行せずに、待機状態において選択操作によって選択した測位手段の測位処理によって求めた位置を自己位置として出力する。例えば、時刻t1〜t2の間の何れかの時刻において、警備センタ100から出動命令を受信した場合、位置出力手段713は、待機状態において選択した(高精度期間となっている)第一測位手段の測位処理によって求めた位置を、自律飛行中における自己位置として出力する。
【0044】
位置推定手段71は、推定した自己位置(座標:X
s,Y
s,Z
s)と、管理装置102から受信した目標対象物Mの位置(座標:X
t,Y
t,Z
t)を経路探索手段73へ出力する。この際、電子コンパスやジャイロセンサなどの位置検出センサ6からの出力を受けて自己位置として姿勢YAWも求めて、自己位置として出力してもよい。また、位置推定手段71は、推定された自己位置を速度推定手段72及び移動制御手段74へ出力する。
【0045】
速度推定手段72は、後述する移動制御手段74における移動制御で利用するため、自律飛行ロボット1の現在の飛行速度(v
x,v
y,v
z,v
yaw)を推定する速度推定処理を行う。本実施の形態では、位置推定手段71にて推定した自己位置(座標:X
s,Y
s,Z
s及び姿勢YAW)の時間変化から飛行速度を求める。この際、測定誤差等の影響を考慮して拡張カルマンフィルタを利用して飛行速度を推定することが好適である。この他にも、GNSSにおけるドップラー効果を利用した速度推定方法を用いてもよい。速度推定手段72は、推定した飛行速度を移動制御手段74へ出力する。
【0046】
経路探索手段73は、位置推定手段71で推定された自己位置と、記憶部8に記憶された移動物体位置81及び各種情報とを用いて、自己位置から所定の移動目標位置に至る移動経路を算出する経路探索処理を行う。
【0047】
経路探索処理では、まず、目標対象物位置81から離間距離だけ離れた位置に移動候補位置を設定する処理を行う。すなわち、目標対象物位置81から離間距離だけ離れた周囲の領域に複数の移動候補位置を設定する。本実施の形態では、移動候補位置を、目標対象物位置81を中心として、予め設定された離間距離を半径とした円状の位置で、かつ、管理者等により予め定められた飛行高度(例えば3m)の領域に、それぞれ等間隔になるように設定する。
【0048】
次に、経路探索処理では、設定した移動候補位置の其々を評価し、最も高い評価値となる移動候補位置を移動目標位置として設定する処理を行う。この際、まず、自律飛行ロボット1が障害物に接触することを防止するため、ボクセル情報83を参照して占有ボクセル又は近接ボクセルに含まれる位置には移動目標位置を設定しないよう、最低の評価値となるようにする。また、自律飛行ロボット1の自己位置から各移動候補位置までの距離が小さいほど評価値が高くなるようにする。更に、前回設定した移動目標位置から移動候補位置までの距離が小さいほど評価値が高くなるようにする。
【0049】
次に、経路探索処理では、位置推定手段71で推定された自己位置と、設定した移動目標位置とを用いて自律飛行ロボット1の移動経路を算出する移動経路生成処理を行う。具体的には、移動経路生成処理では、まず、記憶部8からボクセル情報82を読出し、分割した移動可能な空間である自由ボクセル及び近接ボクセルの各ボクセルの中心をノードとし、当該ノードに隣接するノード間を連結した線分をエッジとしてグラフ構造を生成する。この際、エッジの重みとして、隣接するノード間の距離に基づいて求められる距離コストが設定されているものとする。このようにボクセル情報82に基づいて全ての移動可能なボクセルについてグラフ構造を生成した後、自律飛行ロボット1が存在しているボクセルのノードから移動目標位置が存在しているボクセルのノードまでの移動経路を生成する。移動経路の生成方法については、さまざまな経路生成方法が適用可能であるが、本実施の形態ではA*(エースター)経路探索法を用いて移動経路を探索する。この際、ボクセル情報82として記憶されたボクセルコストと距離コストとを、A*経路探索法における移動コストとして利用する。経路探索手段73で生成された生成された移動経路のデータは、経由点(x,y,z)の集合データであり、この情報は記憶部8に一時的に記憶される。
【0050】
移動制御手段74は、経路探索手段73にて算出された移動経路と位置推定手段71にて推定された自己位置と速度推定手段72で推定された飛行速度とを用いて、自律飛行ロボット1が経路探索手段73で算出された移動経路に沿って飛行するように経路追従制御を行う。具体的には、移動経路、自己位置及び飛行速度を用いて各時刻での飛行制御値である制御指令値を求め、当該制御指令値に基づいてモータ4を制御し、ロータ2の回転数を制御する。
【0051】
経路追従制御では、まず、各時刻での自律飛行ロボット1が目標とすべき直近の位置(以下、「ローカル目標」と呼ぶ)を算出する処理を行う。
図6はローカル目標の算出を説明する図である。ローカル目標の算出にあたり、移動制御手段74は、経路探索手段73で生成された移動経路を記憶部8から読出し、自律飛行ロボット1が現在時刻で目指している経由点Wp1と前回通過済みである経由点Wp0との2点間を繋げた直線Wを求める。そして、移動制御手段74は、求めた直線Wと自律飛行ロボット1の自己位置を中心とした球Sとの交点Lp’、Lpを算出し、目指している経由点Wp1に近い交点Lpをローカル目標として求める。このように、各時刻においてローカル目標を目指して自律飛行ロボット1が移動するよう飛行制御することで、常にローカル目標も移動経路上を移動目標位置Poに向かって移動していき、自律飛行ロボット1は移動経路に沿って飛行していくことになる。
【0052】
次に、経路追従制御では、算出したローカル目標に向かって飛行するよう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制御により求める。なお、本実施の形態では、目標角度ψ'を目標対象物Mの方向、すなわち、目標対象物Mの位置の方向を向く角度とした。
【0053】
このように、本実施の形態における自律飛行ロボット1は、位置推定手段71によって航法衛星からの信号に含まれる情報(例えば、航法衛星の軌道情報など)を用いて所定の測位開始時刻から飛行可能期間82が経過するまでの期間である測位期間において受信可能な衛星セットからの信号を用いて自己位置を推定し、経路探索手段73及び移動制御手段74によって自己位置から所定の移動目標位置に至る移動経路に沿って飛行するよう制御される。したがって、少なくとも飛行可能期間82においては、これまで衛星セットとして観測していた航法衛星の仰角が角度閾値以下とならないことが判っているため、自律飛行中においては衛星セットが変更することなく、安定した精度で自己位置を推定することができる。
【0054】
また、本実施の形態における自律飛行ロボット1は、飛行可能期間推定手段75によってバッテリ10の現在の残存容量に基づいて飛行可能期間を推定する。したがって、現在のバッテリ10の残存容量に応じた正確な飛行可能期間82を設定することができ、少なくとも、バッテリ10の残存容量が尽きるまでの期間においては安定した精度で自己位置を推定することができる。
【0055】
ところで、本発明は、上記実施の形態に限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施の形態で実施されてもよいものである。また、実施の形態に記載した効果は、これに限定されるものではない。
【0056】
上記実施の形態では、経路探索手段73は、経路探索処理において、目標対象物位置81の周囲の位置に移動候補位置を設定し、各移動候補位置を評価することによってこれらの中から移動目標位置を設定している。しかし、これに限らず、経路探索手段73は、位置出力手段713にて現在選択している測位手段における測位期間の終了間際については、移動目標位置を予め記憶している着陸場所106(帰還位置)に設定し、自己位置から当該着陸場所106に至る移動経路を生成してもよい。すなわち、着陸場所106に至るまでの期間である強制帰還期間を予め設定しておき、測位期間の終了時刻から強制帰還期間だけ遡った期間においては、目標対象物Mの位置に関わらず着陸場所106を移動目標位置に設定する。これにより、位置出力手段713にて現在選択している測位手段において設定した測位期間の期間外の測位精度が安定していない期間における自律飛行を予め制限しておくことができ、安全性の高い自律飛行を実現することが可能となる。また、このような強制帰還期間の長さを、着陸場所106と現在の自己位置との間の距離に応じて設定してもよい。すなわち、着陸場所106と現在の自己位置との間の距離が大きくなるほど、着陸場所106に到着するまでの時間を要するため、強制帰還期間を長い期間として設定する。これにより、さらに安全性の高い自律飛行を実現することが可能となる。更に、位置出力手段713にて現在選択している測位手段における測位期間の期間外においては、自律飛行を制限する自律飛行判定手段を備えてもよい。すなわち、位置出力手段713にて現在選択している測位手段における測位期間の期間外においては、測位の精度が安定していないため、自律飛行を中断して、マニュアル操作モードに切り替えたり、移動制御手段74に対して強制的に着陸制御を実行させることによって、より安全性の高い飛行を実現することが可能となる。
【0057】
また、上記実施の形態における自律飛行ロボット1は、第一測位手段711及び第二測位手段712にて実行される測位処理において、それぞれの測位期間において受信可能な衛星セットを、航法衛星からの信号に基づく軌道計算によって求めた各航法衛星の仰角に基づいて選択している。しかし、これに限らず、移動空間の三次元地図情報であるボクセル情報83を用いて、移動空間に存在する障害物をも考慮して衛星セットを選択してもよい。以下に当該他の実施の形態について、具体的に説明する。まず、ボクセル情報83に基づいて、所定数の自由ボクセルで構成される部分空間をエリアとして設定し、移動空間を複数のエリアA
1〜A
n(nは所定の正数値)に分割する。次に、測位期間を所定時間間隔で分割した測位期間内の複数の時刻であるサンプル時刻(t’
1〜t’
l、ここでlは所定の正数値)を設定し、それぞれのサンプル時刻における各航法衛星の位置を、航法衛星からの信号に基づく軌道計算により求める。そして、あるサンプル時刻t’
1及びあるエリアA
1について着目したとき、当該サンプル時刻t’
1におけるある航法衛星s
1の位置と、当該エリアA
1の重心位置とを結ぶ直線を求め、当該直線が占有ボクセルに交わらないとき、当該エリアA
1では当該航法衛星s
1からの信号を受信可能であるとする。このような計算を全ての航法衛星s
1〜s
m(mは所定の正数値)について行うことにより、サンプル時刻t’及びエリアA
1において、信号を受信可能な航法衛星を求めることができる。そして、このような計算を全てのエリアA
1〜A
nにおいて実行することにより、サンプル時刻t’
1において移動空間で受信可能な衛星の組み合わせを求めることができる。さらに、同様の計算を全てのサンプル時刻(t’
1〜t’
l)において行うことにより、測位期間において受信可能な衛星セットを求めることができる。このように、移動空間の三次元地図情報であるボクセル情報83を用いて、移動空間に存在する障害物をも考慮して衛星セットを選択することにより、より正確な衛星セットを求めることができ、より安定した精度で自己位置を推定することができる。
【0058】
また、上記実施の形態における自律飛行ロボット1は、飛行可能期間推定手段75によってバッテリ10の残存容量に基づいて飛行可能期間82を推定している。しかし、これに限らず、飛行可能期間82は予め設定された期間であってもよい。例えば、移動空間における条例などの社会的なルールによって自律的に連続飛行できる期間(飛行可能期間)が制限されているとき、当該制限された飛行可能期間を予め記憶しておいてもよい。また、バッテリではなく、燃料(ガソリン等)を利用した内燃機関によって飛行する自律飛行ロボットなどにおいては、燃料の残存容量に基づいて飛行可能期間を設定してもよい。この場合、着陸場所106(帰還位置)には、当該燃料を補給する補給器が設置されているものとする。
【0059】
また、上記実施の形態における自律飛行ロボット1は、第一測位手段711及び第二測位手段712にて実行される測位処理において、RTK測位法によって自律飛行ロボット1の位置及び精度を推定している。しかし、これに限らず、単独GPS測位法やD−GPS測位法などの、航法衛星の信号を用いた様々な測位方法によって位置及び精度を推定してもよい。
【0060】
また、上記実施の形態における自律飛行ロボット1は、位置推定手段71を構成する機能要素の一部として第一測位手段711と第二測位手段712の二つの測位手段を備えているが、これに限らず、測位手段は三つ以上備えてもよい。
【0061】
また、上記実施の形態では、制御部7において位置推定処理、速度推定処理、移動経路生成処理、経路追従制御等の一連の処理を行っている。しかし、これに限らず、図示しない制御用のPCを用意し、当該PCにこれらの一連の処理を実施させてもよい。すなわち、自律飛行ロボット1は、PCによって行われた各処理又は制御によって得られた制御指令値を無線通信又は有線通信によりPCから受信し、当該制御指令値に基づいてモータ4の回転数を制御することにより、目的の位置に飛行するようにしてもよい。このように、外部PCを用いて上記の一連の処理を分担することにより、自律飛行ロボット1のCPU処理負荷を低減することができ、ひいてはバッテリの消耗も抑えることができる。