(58)【調査した分野】(Int.Cl.,DB名)
第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、前記第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報と、
移動後の前記端末の測位処理に基づいて得られた第三の位置情報と、を取得し、
前記第三の位置情報及び前記差異情報に基づいて、前記移動体の移動範囲の情報を設定する設定部を備えた情報処理装置。
第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、前記第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報と、
移動後の前記端末の測位処理に基づいて得られた第三の位置情報と、を取得し、
前記第三の位置情報及び前記差異情報に基づいて、前記移動体の経路の情報を設定する設定部を備えた情報処理装置。
前記設定は、前記第三の位置情報及び前記差異情報に基づいて算出された位置の情報に応じて、前記移動範囲の情報を設定することを含む、請求項21又は22に記載の移動体制御方法。
前記設定は、前記複数の位置を繋ぐことによって囲まれる領域の内側に前記移動範囲が規定されるように、前記移動範囲の情報を設定することを含む、請求項24に記載の移動体制御方法。
前記設定は、前記第三の位置情報及び前記差異情報に基づいて算出された位置の情報に応じて、前記経路の情報を設定することを含む、請求項27又は28に記載の移動体制御方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記第一の方法において、例えば地図データが最新版に更新されていない等の理由により実際の地理を正確に示していない場合は、UAVの飛行の経路又は範囲を正確に指定することができない。また、上記第二の方法において、飛行ログを取得するためのUAVの飛行はマニュアル操作により行うため、目的の経路上を精度よく飛行させることが困難である。
【0006】
本発明の課題は、移動体が移動する経路又は範囲をより正確に設定する技術を提供することである。
【課題を解決するための手段】
【0007】
一態様において、移動体は、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報を取得する第一の取得部と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報を取得する第二の取得部と、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出する算出部と、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得する第三の取得部と、第三の位置情報及び差異情報に基づいて、移動体の移動範囲の情報を設定する設定部とを備える。
【0008】
この態様では、同じ地点で端末及び移動体の測位処理がそれぞれ行われ、第一の位置情報及び第二の位置情報が取得される。これらの位置の間の差異情報が算出される。例えば、設定したい移動範囲の境界に沿って端末を移動させて、第三の位置情報が取得される。この第三の位置情報と上記の差異情報に基づいて移動体の移動範囲が設定される。これにより、移動体に移動を許可する範囲を高い精度で設定することができる。
【0009】
移動体は、移動体が移動範囲を越えないように制御する制御部を備えることができる。
【0010】
設定部は、第三の位置情報及び差異情報に基づいて算出された位置の情報に応じて、移動範囲の情報を設定することができる。
【0011】
第三の位置情報は、複数の位置についての情報を含み、設定部は、複数の位置の情報及び差異情報に基づいて算出された複数の位置の情報に応じて、移動範囲の情報を設定することができる。
【0012】
設定部は、複数の位置を繋ぐことによって移動範囲の境界の情報を設定することができる。
【0013】
設定部は、複数の位置を繋ぐことによって囲まれる領域の内側に移動範囲が規定されるように、移動範囲の情報を設定することができる。
【0014】
端末の測位処理の方式は、移動体の測位処理の方式と異なる。
【0015】
端末の測位処理の方式は、自律航法を含むことができる。
【0016】
端末の測位処理の方式は、GNSSによる測位を含むことができる。
【0017】
端末の測位処理の方式は、基地局又は無線ルーターから受信した信号による測位を含むことができる。
【0018】
差異情報は、緯度経度の情報を含むことができる。
【0019】
差異情報は、ベクトル情報を含むことができる。
【0020】
端末は、携帯電話、スマートフォン、タブレット端末、ラップトップ、又はナビゲーション装置である。
【0021】
第一の地点に位置する移動体の測位処理は、ユーザの指示に応じて実行される。
【0022】
第三の位置情報は、端末において所定時間毎に実施された測位処理により得られた位置情報を含む。
【0023】
他の態様において、移動体は、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報を取得する第一の取得部と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報を取得する第二の取得部と、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出する算出部と、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得する第三の取得部と、第三の位置情報及び差異情報に基づいて、移動体の経路の情報を設定する設定部とを備える。
【0024】
この態様では、同じ地点で端末及び移動体の測位処理がそれぞれ行われ、第一の位置情報及び第二の位置情報が取得される。これらの位置の間の差異情報が算出される。例えば、設定したい移動体の経路上に沿って端末を移動させて、第三の位置情報が取得される。この第三の位置情報と上記の差異情報に基づいて移動体の経路が設定される。これにより、移動体を移動させる経路を高い精度で設定することができる。
【0025】
移動体が経路上を移動するように制御する制御部を備えることができる。
【0026】
設定部は、第三の位置情報及び差異情報に基づいて算出された位置の情報に応じて、経路の情報を設定することができる。
【0027】
第三の位置情報は、複数の位置についての情報を含み、設定部は、複数の位置の情報及び差異情報に基づいて算出された複数の位置の情報に応じて、経路の情報を設定することができる。
【0028】
設定部は、複数の位置を繋ぐことによって経路を設定することができる。
【0029】
一態様において、情報処理装置は、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報と、移動後の端末の測位処理に基づいて得られた第三の位置情報と、を取得し、第三の位置情報及び差異情報に基づいて、移動体の移動範囲の情報を設定する設定部を備える。
【0030】
他の態様において、情報処理装置は、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報と、移動後の端末の測位処理に基づいて得られた第三の位置情報と、を取得し、第三の位置情報及び差異情報に基づいて、移動体の経路の情報を設定する設定部を備える。
【0031】
一態様において、移動体において実施される移動体制御方法は、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報を取得するステップと、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報を取得するステップと、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の移動範囲の情報を設定するステップとを備える。
【0032】
移動体制御方法は、移動体が移動範囲を越えないように制御するステップを備える。
【0033】
設定は、第三の位置情報及び差異情報に基づいて算出された位置の情報に応じて、移動範囲の情報を設定することを含む。
【0034】
第三の位置情報は、複数の位置についての情報を含み、設定は、複数の位置の情報及び差異情報に基づいて算出された複数の位置の情報に応じて、移動範囲の情報を設定することを含む。
【0035】
設定は、複数の位置を繋ぐことによって移動範囲の境界の情報を設定することを含む。
【0036】
設定は、複数の位置を繋ぐことによって囲まれる領域の内側に移動範囲が規定されるように、移動範囲の情報を設定することを含む。
【0037】
他の態様において、移動体において実施される移動体制御方法は、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報を取得するステップと、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報を取得するステップと、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の経路の情報を設定するステップとを備える。
【0038】
移動体制御方法は、移動体が経路を越えないように制御するステップを備える。
【0039】
設定は、第三の位置情報及び差異情報に基づいて算出された位置の情報に応じて、経路の情報を設定することを含む。
【0040】
第三の位置情報は、複数の位置についての情報を含み、設定は、複数の位置の情報及び差異情報に基づいて算出された複数の位置の情報に応じて、経路の情報を設定することを含む。
【0041】
設定は、複数の位置を繋ぐことによって経路を設定することを含む。
【0042】
一態様において、制御部を備えるコンピュータにおいて実施される情報処理方法は、制御部により、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報を取得するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の移動範囲の情報を設定するステップとを有する。
【0043】
他の態様において、制御部を備えるコンピュータにおいて実施される情報処理方法は、制御部により、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報を取得するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の経路の情報を設定するステップとを有する。
【0044】
一態様における移動体制御システムは、移動体及び端末を備えた移動体制御システムであって、移動体は、第一の地点に位置する端末による測位処理に基づいて得られた第一の位置情報を取得する第一の取得部と、第一の地点に位置する移動体による測位処理に基づいて得られた第二の位置情報を取得する第二の取得部と、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出する算出部と、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得する第三の取得部と、第三の位置情報及び差異情報に基づいて、移動体の移動範囲の情報を設定する設定部とを備える。
【0045】
他の態様における移動体制御システムは、移動体及び端末を備えた移動体制御システムであって、移動体は、第一の地点に位置する端末による測位処理に基づいて得られた第一の位置情報を取得する第一の取得部と、第一の地点に位置する移動体による測位処理に基づいて得られた第二の位置情報を取得する第二の取得部と、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出する算出部と、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得する第三の取得部と、第三の位置情報及び差異情報に基づいて、移動体の経路の情報を設定する設定部とを備える。
【0046】
一態様における移動体制御プログラムは、コンピュータに、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報を取得するステップと、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報を取得するステップと、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の移動範囲の情報を設定するステップとを実行させる。
【0047】
他の態様における移動体制御プログラムは、コンピュータに、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報を取得するステップと、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報を取得するステップと、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の経路の情報を設定するステップとを実行させる。
【0048】
他の態様における移動体制御プログラムは、コンピュータに、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報を取得するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の移動範囲の情報を設定するステップとを実行させる。
【0049】
他の態様における移動体制御プログラムは、コンピュータに、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報が示す位置と、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報が示す位置との間の差異情報を取得するステップと、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得するステップと、第三の位置情報及び差異情報に基づいて、移動体の経路の情報を設定するステップとを実行させる。
【0050】
本発明は、上記の態様に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な変更を加えて実施することができる。すなわち、上記の態様はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではなく、様々な変形例を採用することができる。
【発明の効果】
【0051】
本発明によれば、移動体が移動する経路又は範囲をより正確に設定する技術を提供することができる。
【発明を実施するための形態】
【0053】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。なお、以下の実施形態において説明する構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。図示された構成の一部を別の構成に置き換えてもよい。
【0054】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0055】
図1を参照して、本実施形態における無人航空機制御システムの構成例を説明する。同図に示すように、無人航空機制御システム100は、UAV(Unmanned aerial vehicle:無人航空機)101及びコントローラ301を備える。UAV101は、ユーザによるコントローラ301を介したマニュアル操作による飛行、及び、予め設定された経路を飛行する自動飛行等が可能である。UAV101は、UAV本体110、複数の回転翼120、ジンバル130、撮像装置140、及びカメラ150等を備える。
【0056】
UAV101の飛行は、コントローラ301などを介して設定されたバーチャルフェンスに従って制御することも可能である。バーチャルフェンスは、UAV101の飛行(移動)が許可される範囲(以下、「飛行範囲」という。)の境界を規定する。バーチャルフェンスが設定されているとき、UAV101はバーチャルフェンスを越えないようにその飛行が制御される。例えば、特定領域の土地の中でのみUAV101を飛行させて農薬を散布するような場合にバーチャルフェンスが利用される。この場合、特定領域とその外側の領域との境界をバーチャルフェンスとして設定し、ユーザがコントローラ301により土地の外側に移動する指示をUAV101に送ったとしても、UAV101が特定領域から外には移動しないように制御される。
【0057】
複数の回転翼120は、その回転により、UAV101の揚力及び推進力を生じさせる。複数の回転翼120の回転が制御されることにより、UAV本体110の飛行が制御される。
【0058】
本実施形態において、UAV101は、4つの回転翼120を有する。回転翼120の数は4つに限定されるものではなく、任意の数に設定することができる。変形例として、UAV101は、回転翼120を有さずに固定翼を有するUAVであってもよい。UAV101は、回転翼120及び固定翼の両方を有してもよい。
【0059】
ジンバル130は、撮像装置140の姿勢を変更可能に当該撮像装置140を支持する。ジンバル130は、例えば、ヨー軸、ピッチ軸、及びロール軸を中心に撮像装置140を回転させることにより、撮像装置140の姿勢を調整する。
【0060】
撮像装置140は、レンズ装置を備え、当該レンズ装置を介して結像された被写体の光学像の画像データを生成して記録する。撮像装置140により生成される画像データは、静止画データ及び動画データを含む。
【0061】
複数のカメラ150は、UAV101の飛行を制御するためのセンシングカメラにより形成される。
図1に示すように、例えば、UAV本体110の機首である正面に2つのカメラ150を設けることができる。
【0062】
カメラ150は、UAV本体110の底面に2つ設けられてもよい。2つのカメラ150のペアによって撮像された画像の視差を用いることによって、UAV本体110の周囲に存在するオブジェクトまでの距離を求めることができる。カメラ150のペアは、機首、機尾、側面、底面、及び天井面の少なくとも1つに設けることができる。
【0063】
コントローラ301は、UAV101を操作するリモートコントローラ(端末装置)である。このような端末装置として、ユーザが携帯可能なタイプ、又は、搬送体(自動車等)に搭載可能な端タイプ等、様々なものが用いられる。端末装置の具体的な例としては、例えば、携帯電話、スマートフォン、タブレット端末、ラップトップ、ナビゲーション装置、又は専用のコントローラ装置等が挙げられる。
【0064】
コントローラ301は、UAV101との間で通信を行う。コントローラ301は、UAV101に対して信号を送信し、UAV101の飛行を含む各種動作を制御する。コントローラ301は、UAV101から各種の情報を含む信号を受信することもできる。コントローラ301は、表示部320、操作部330及び本体340を備える。
【0065】
表示部320は、コントローラ301による処理結果の情報及び画像を表示するユーザインタフェースである。表示部320は、液晶ディスプレイを含む任意の表示手段を備える。
【0066】
操作部330は、ユーザの操作指示を受け付けるためのユーザインタフェースである。操作部330は、例えばボタン及びジョイスティック状の操作部材を有する。操作部330と表示部320とを併せもつタッチパネルを採用してもよい。
【0067】
図2を参照して、コントローラ301の本体340が備えるハードウェア構成について説明する。本体340は、主な構成要素として、制御部310、記憶部350、通信部360及びセンサ370を備える。
【0068】
制御部310は、コントローラ301が備える各構成要素の動作を制御し、また、各種処理の実行を制御する。制御部310は、例えば、CPU(Central Processing Unit)及びメモリを備える。制御部310は、記憶部350に記憶されたプログラムをメモリに展開して実行し、コントローラ301が備える各構成要素の動作を制御することにより、各種の機能を実現する。制御部310により実現される機能については後述する。
【0069】
記憶部350は、コントローラ301における処理の実行に必要な各種プログラムや処理結果の情報を記憶する。記憶部350は、半導体メモリなどの記憶媒体を含んで構成される。
【0070】
通信部360は、外部の装置と通信するための通信インタフェースである。通信部360は、例えば、UAV101の動作を制御するための制御信号を出力する。また、通信部360は、UAV101の測位処理に使用されるGNSS衛星からの信号を受信することもできる。
【0071】
センサ370は、例えば、ジャイロセンサ、加速度センサ、地磁気センサ、及びイメージセンサ等を含む。センサ370により、例えば、コントローラ301の傾き、コントローラ301の所定部位が向く方位、及びコントローラ301が移動しているか否か等を検知することができる。
【0072】
図3を参照して、コントローラ301の制御部310により実現される機能を説明する。制御部310は、主な機能の要素として、測位処理部311、位置記録部312、送受信部313、及びデータベース314を備える。これらの機能は、例えば、制御部310が、記憶部350に記憶されたプログラムをメモリに展開して実行し、コントローラ301が備える各構成要素の動作を制御することにより、実現される。上記の機能の少なくとも一部は、プログラムに代えて、各種の回路及びハードウェアの動作により実現することもできる。制御部310は、一般的なリモートコントローラ又は端末装置が備える他の機能を実現可能であるが、便宜上、ここでは説明を省略する。
【0073】
データベース314は、コントローラ301における処理に必要な情報、及び当該処理により生成された情報など、各種情報を記憶する。
【0074】
測位処理部311は、測位処理によりコントローラ301の位置を特定する。測位処理には、任意の方式を採用することができる。例えば、測位処理部311は、通信部360を介して受信したGNSS衛星からの信号に基づいて測位処理を実行することにより、コントローラ301の位置を特定する。測位処理部311は、センサ370によるセンシング情報に基づいて(すなわち、自律航法により)測位処理を実行し、コントローラ301の位置を特定することもできる。測位処理部311は、周辺に存在する通信ルーター又は基地局などの通信機器から受信した信号に基づいて測位処理を実行することもできる。
【0075】
測位処理部311は、測位処理により特定されたコントローラ301の位置の情報と、当該位置の特定を行ったタイミング(例えば、日時)の情報とを測位情報として出力する。測位処理部311による測位処理は、例えば、予め設定されたタイミング(例えば、1秒毎)で実行してもよいし、ユーザの指示に基づいて実行してもよい。
【0076】
位置記録部312は、測位処理部311により出力された測位情報をデータベース314に記憶する。測位情報に含まれる位置情報は、緯度及び経度で特定されても良いし、他の座標情報で特定されてもよい。位置記録部312は、測位処理部311により測位処理が実行される度に測位情報をデータベース314に記憶してもよいし、実行された測位処理のうち一部の測位処理により取得された測位情報をデータベース314に記憶するようにしてもよい。例えば、位置記録部312は、所定時間が経過する毎(例えば、10秒毎)に、又は、所定距離をコントローラ301が移動する毎(例えば、10m移動する毎)に測位情報をデータベース314に記憶することができる。位置記録部312は、ユーザの指示を受けたタイミングで測位情報をデータベース314に記憶することもできる。
【0077】
送受信部313は、外部装置との間で情報及び信号の送受信を行う。例えば、送受信部313は、測位処理部311により出力された測位情報、又はデータベース314に記憶された測位情報をUAV101に送信する。
【0078】
図4を参照して、コントローラ301による処理フローの一例を説明する。このフローは、UAV101の飛行範囲(バーチャルフェンス)又は飛行経路の設定に使用されるコントローラ301の位置情報(後述する第三の位置情報)を取得する処理を含む。第三の位置情報は、コントローラ301の移動軌跡を示す情報である。以下に詳述するように、第三の位置情報は、例えば、設定したいバーチャルフェンス上又は飛行経路上をユーザがコントローラ301を持ちながら移動しているときに、コントローラ301が測位処理を実施することにより取得される。
【0079】
図4に示す処理は、例えば、制御部310が記憶部350に記憶された所定のプログラムを実行し、コントローラ301が有する各要素を制御することにより、実現される。
【0080】
ステップS101において、制御部310は、操作部330を介して測位情報の記録を開始する指示を受け付ける。その後処理はステップS102へ進む。
【0081】
ステップS102において、制御部310は、コントローラ301において測位処理が実施されるように制御する。測位処理の詳細は前述のとおりである。その後処理はステップS103へ進む。
【0082】
ステップS103において、制御部310は、ステップS102の測位処理により取得された測位情報を記憶部350に記憶する。測位情報は、例えば、コントローラ301の位置情報及び測位の時刻情報を含む。その後処理はステップS104へ進む。
【0083】
ステップS104において、制御部310は、操作部330を介して測位情報の記録を終了する指示を受け付けたか否かを判断する。そのような終了指示を受け付けた場合は(Yes)、処理はステップS105へ進む。終了指示を受け付けていない場合は(No)、処理はステップS102へ進む。
【0084】
すなわち、記録を終了する指示をユーザから受け付けるまで、ステップS102及びS103における測位処理の実施と測位情報の記憶の処理が繰り返される。この測位処理は、所定時間ごと(例えば、10秒ごと、又は1秒ごと)に実施されても良いし、ユーザから指示を受けるたびに実施されてもよい。
【0085】
ここで、
図5を参照して、上述のステップS101からS104までの処理をより詳しく説明する。同図は、コントローラ301の表示部320に表示される画面の例を示す。この画面には、地
図601、記録開始ボタン602、及び記録終了ボタン603が表示されている。また、地
図601上には、測位位置に関するアイコン604及びアイコン605が表示されている。
【0086】
ユーザにより記録開始ボタン602が押されると、制御部310は、上記ステップS101において測位情報の記録開始の指示を受け付ける。ステップS103において測位情報の記録が開始されると、コントローラ301により測位処理が実施され、記録される測位位置に対応する地
図601上の位置に、アイコン604が表示される。
【0087】
その後、ステップS103における測位情報の記録の度に、コントローラ301による測位位置に対応する地
図601上の位置にアイコンが表示される。例えばユーザがコントローラ301を持ちながら移動すると、コントローラ301の測位位置も移動する。この測位位置の移動に応じて、アイコンも移動して順次表示される。地
図601上におけるコントローラ301の現在位置には、アイコン605が表示されている。ユーザが記録終了ボタン603を押すことによりステップS104において記録終了の指示が受け付けられるまで、測位情報が記録され続ける。
図5の例において、測位情報の記録位置を示すアイコン604は丸形状であり、現在位置を示すアイコン605は人の形状である。しかしながら、アイコンの形状は、これらに限定されず、任意の形状を採用することができる。
【0088】
図6は、
図4のステップS104において測位情報の記録を終了する指示を受け付けたときに、表示部320に表示される地図の例を示している。記録の開始から終了までの間に記録された複数の測位位置に対応する地
図701上のそれぞれの位置に、アイコンが表示されている。アイコン702は、測位情報の記録を開始した位置(第一の地点)を示している。アイコン703は、測位情報の記録を終了した位置を示している。例えば、ユーザがコントローラ301を持ちながら
図6中央の白塗り領域の周囲を時計回りに歩いた場合に、このような画面が表示される。
【0089】
以上のようにして記憶部350に記憶された測位情報は、コントローラ301が移動させられた軌跡(移動ログ)を示すものであり、以下の説明において、移動軌跡情報と称する。移動軌跡情報は、1つ又は複数の位置についての情報を含む。
【0090】
図4の説明に戻る。ステップS105において、制御部310は、ステップS103で記憶部350に記憶された測位情報、すなわち移動軌跡情報をUAV101へ送信する。以上により、
図4に示す処理は終了する。
【0091】
移動軌跡情報は、後述する処理で飛行範囲及び飛行経路を特定するために使用される情報である。例えば、移動軌跡情報が示す位置に対して後述するオフセット補正を施すことにより、飛行範囲又は飛行経路が特定される。
【0092】
以下に、移動軌跡情報の設定方法に関する3つの変形例を説明する。
図6及び
図7を参照して、第一の変形例を説明する。この変形例は、測位された複数の位置に近似処理を施すものである。
図6に示した例において、測位処理により得られた複数の位置は離散的に分布している。本変形例では、制御部310は、
図6に示した複数の測位位置が示す移動軌跡に対して近似処理を行い、当該移動軌跡を例えば
図7に示す多角形802のような形状に変換する。この近似処理により得られる形状は、多角形状の他、円形又はその他の形状とすることもできる。当該近似処理を実行する手法としては、任意の方法を採用することができる。近似処理の例は、非特許文献2に開示されている。
【0093】
制御部310は、
図4のステップS105において、多角形状等の近似形状における外周の位置の情報を移動軌跡情報としてUAV101へ送信する。近似処理は、コントローラ301ではなく、UAV101で実施してもよい。
【0094】
図8を参照して、第二の変形例を説明する。この変形例では、制御部310は、ユーザの指示に応じたタイミングで測位情報を記録し、記録された測位情報が示す位置を頂点とする形状を移動軌跡として設定する。
【0095】
図8において、アイコン903及びアイコン904は、ユーザの指示に応じたタイミングで記録された測位情報が示す位置を示す。アイコン905は、ユーザの現在地を示す。ユーザにより記録終了が指示されると、記録済みの測位情報が示す各位置を頂点とする多角形状が形成される。当該多角形状の外周の位置情報は、移動軌跡情報としてコントローラ301からUAV101へ送信される。
【0096】
図9から
図11を参照して、第三の変形例を説明する。この変形例は、一度設定された移動軌跡情報が示す位置を、ユーザの指示に応じて制御部310が変更するものである。
【0097】
図9には、
図7に示した地
図801及び多角形802が示されている。移動軌跡を示す多角形802の各頂点の間に「+」マークで示されたアイコンが表示されている。例えば、ユーザにより、「+」マークで示されたアイコン803がタップされると、
図10に示すように、移動軌跡上のその両側に新たなアイコン805,806が表示される。アイコン803が表示されていた位置に、新たにアイコン804が表示される。
【0098】
図11に示すように、ユーザは、このアイコン804をドラッグすることにより、移動軌跡の形状を変化させることができる。ユーザは、他の頂点をドラッグすることによっても、移動軌跡の形状を変化させることができる。形状が変化された移動軌跡の位置の情報は、移動軌跡情報としてコントローラ301からUAV101へ送信される。
【0099】
図12を参照して、UAV101のUAV本体が備えるハードウェア構成について説明する。UAV本体は、主な構成要素として、UAV制御部210、メモリ220、通信インタフェース230、及び回転翼機構240を備える。
【0100】
UAV制御部210は、UAV101が備える各種要素の動作を制御し、また、各種処理の実行を制御する。UAV制御部210は、例えば、CPU及びメモリを備える。
【0101】
UAV制御部210は、メモリ220に記憶されたプログラムを展開して実行し、UAV制御部210が備える各種要素の動作を制御することにより、各種の機能を実現する。UAV制御部210により実現される機能については後述する。また、UAV制御部210による処理は、通信インタフェース230を介して外部装置から受信した命令に応じて制御される。
【0102】
メモリ220は、UAV全体の制御を行うプログラムを格納してもよい。メモリ220は、UAV101の各種のログ情報、並びに撮像装置140及びカメラ150が撮像した画像データなどの各種のデータおよび情報を格納してもよい。メモリとしては、コンピュータ読み取り可能な記憶媒体を用いることができる。例えば、SRAM、DRAM、EEPROM、USBメモリなどのフラッシュメモリを用いることができる。メモリ220はUAV101から取り外し可能であってもよい。
【0103】
通信インタフェース230は、外部と通信するためのインタフェースである。通信インタフェース230は、例えば、無線通信によってリモートコントローラ端末からの指示を受信したり、UAV101のメモリに格納されている各種のデータおよび情報を送信したりすることができる。通信インタフェース230は、GNSS測位システムからの信号を受信することもできる。
【0104】
回転翼機構240は、複数の回転翼120を回転させるための機構である。回転翼機構240は、複数の回転翼120及び複数の駆動モータを含んで構成される。
【0105】
UAV101は、気圧計や、レーザ、加速度、ジャイロ等の各種のセンサを有してもよい。UAV101はその他の装置、機構などを備えることができる。
【0106】
図13を参照して、UAV制御部210の処理制御により実現される機能について説明する。UAV制御部210は、主な機能構成として、飛行制御部211、送受信部212、測位処理部213、差異算出部214、飛行制御情報設定部215、及びデータベース216を備える。これらの機能は、例えば、UAV制御部210が、メモリ220に記憶されたプログラムを展開して実行し、UAV101が備える各構成要素の動作を制御することにより、実現される。上記の機能の少なくとも一部は、プログラムを実行することなく、各種の回路及びハードウェアの動作により実現することもできる。UAV制御部210は、一般的な無人航空機が備える他の様々な機能を実現可能であるが、便宜上、ここでは説明を省略する。
【0107】
データベース216は、UAV101において実行される処理に必要な情報、及び当該処理により生成された情報など、各種情報を記憶する。
【0108】
飛行制御部211は、UAV101の外部から受信した信号、及びデータベース216に記憶された情報に基づいて、回転翼機構240等の動作を制御することにより、UAV101の飛行を制御する。データベース216に後述する飛行範囲又は経路の情報が記憶されている場合、飛行制御部211は、当該飛行範囲又は経路の情報に基づいてUAV101の飛行を制御することができる。
【0109】
送受信部212は、外部装置との間で情報及び信号の送受信を行う。例えば、送受信部212は、コントローラ301から送信されたコントローラ301の測位情報(位置情報)、及び飛行の制御のための信号を受信する。すなわち、送受信部212は、位置情報の取得部として機能する。送受信部212は、撮像装置140及びカメラ150により撮像された画像データを外部に送信することもできる。
【0110】
送受信部212により取得される位置情報には、ある地点(第一の地点)に位置するコントローラ301の測位処理に基づいて得られた位置情報(第一の位置情報)が含まれる。送受信部212により取得される位置情報には、移動後のコントローラ301の測位処理に基づいて得られた前述の移動軌跡情報などの位置情報(第三の位置情報)が含まれる。
【0111】
測位処理部213は、測位処理によりUAV101の位置(例えば、緯度及び経度)を特定する。測位処理部213は、任意の方式の測位処理を実施可能である。
【0112】
例えば、測位処理部213は、送受信部212を介して受信したGNSS衛星からの信号に基づいて測位処理を実行することにより、UAV101の位置を特定する。測位処理部213は、UAV101が有する気圧計の計測結果に応じて、UAV101の位置の高度を特定することもできる。すなわち、測位処理部213は、UAV101の位置情報(第二の位置情報)を取得する取得部として機能する。測位処理部213による測位処理は、予め設定されたタイミング(例えば、10秒毎)で、又はユーザの指示に応じて実施される。
【0113】
差異算出部214は、送受信部212により取得されたコントローラ301の位置情報(第一の位置情報)が示す位置と、測位処理部213により取得されたUAV101の位置情報(第二の位置情報)が示す位置との間の差異情報を算出又は特定する。換言すれば、差異算出部214は、コントローラ301の位置に対するUAV101の位置のオフセットを特定することができる。差異情報は、位置の間の距離及び位置関係の方位の情報を含むことができる。差異情報は、位置の間の緯度及び経度の差分情報を含むことができる。差異情報は、2つの位置関係を示すベクトル情報(距離及び方位を含む情報)を含むことができる。差異算出部214は、算出した差異情報をデータベース216に格納する。
【0114】
差異算出部214は、例えばユーザがコントローラ301及びUAV101の両方を持ちながら測位されるような場合には、実質的には同じ地点(第一の地点)に位置する両者のそれぞれの測位処理により取得された位置の間の差異情報を算出又は特定する。コントローラ301及びUAV101の測位の方式や測位の精度が異なる場合は、両者が同じ地点に位置していても、測位されたそれぞれの位置の間には上記オフセットが生じる。例えば、UAV101においては、GNSS衛星からの信号で測位処理を実施し、コントローラ301においては、自律航法により測位を実施する。このような場合、オフセットが生じる。
【0115】
図4から
図6を参照して説明したように、上述のコントローラ301の移動軌跡情報は、コントローラ301を実際のルート上を移動させながら測位して得たログ情報であるため、コントローラ301の位置を高い精度で示している。このような移動軌跡情報に上記オフセットを加えることにより、そのルート上をUAV101が移動する際の位置情報を高精度で算出することができる。
【0116】
図14を参照して、UAV制御部210の差異算出部214により差異情報を算出する処理のフローの一例を説明する。この処理は、コントローラ301及びUAV101が同じ地点(第一の地点)に配置されたときに、コントローラ301に対するユーザの指示に応じて開始される。
【0117】
ステップS401において、差異算出部214は、送受信部212により受信(取得)されたコントローラ301の位置情報(第一の位置情報)を取得する。第一の位置情報は、コントローラ301が第一の位置に配置されているときにコントローラ301による測位処理の実施により取得された位置情報である。その後、処理はステップS402へ進む。
【0118】
ステップS402において、差異算出部214は、測位処理部213により取得されたUAV101の位置情報(第二の位置情報)を取得する。第二の位置情報は、UAV101が第一の位置に配置されているときにUAV101による測位処理により取得された位置情報である。その後、処理はステップS403へ進む。
【0119】
ステップS403において、差異算出部214は、ステップS401で取得した第一の位置情報が示す位置と、ステップS402で取得した第二の位置情報が示す位置との間の差異情報を取得する。その後、処理はステップS404へ進む。
【0120】
ステップS403における差異情報の取得の例を説明する。第一の位置情報が示す位置の緯度をMOBILE[lat]とし、経度をMOBILE[lng]とする。第二の位置情報が示す位置の緯度をUAV[lat]とし、経度をUAV[lat]とする。このとき、第一の位置情報が示す位置と第二の位置情報が示す位置との間の緯度の差異(OFFSET[lat])及び経度の差異(OFFSET[lng])は、次のとおりである。
OFFSET[lat] = UAV[lat] − MOBILE[lat]
OFFSET[lng] = UAV[lng] − MOBILE[lng]
上記の式は、コントローラ301の位置に対するUAV101の位置のオフセットを差異情報として特定している。
【0121】
ステップS404において、差異算出部214は、ステップS403で算出された差異情報をデータベース216に記憶する。差異算出部214は、例えば、上記の緯度の差異OFFSET[lat]及び経度の差異OFFSET[lng]を差異情報としてデータベース216に記憶する。その後、
図14に示す処理は終了する。
【0122】
図13の説明に戻る。飛行制御情報設定部215は、差異算出部214により算出された差異情報と、送受信部212により取得された移動軌跡情報(第三の位置情報)とに基づいて、UAV101の飛行範囲又は経路の情報を設定する。
【0123】
例えば、飛行制御情報設定部215は、コントローラ301の移動軌跡情報及び差異情報に基づいて算出された位置の情報に応じて、飛行範囲又は経路の情報を設定することができる。飛行範囲又は経路の情報は、緯度及び経度で示されても良いし、位置を示すための他の座標情報で示されてもよい。
【0124】
図14を参照して説明した例で算出した差異情報を使用すると、移動軌跡情報が示す位置の緯度(MOBILE’[lat])及び経度(MOBILE’[lng])から算出される位置の緯度(UAV’[lat])及び経度(UAV’[lng])は次のとおりである。
UAV’[lat] = MOBILE’[lat] +OFFSET[lat]
UAV’[lng] = MOBILE’[lng] +OFFSET[lng]
【0125】
本実施形態では、上記の式のように移動軌跡情報に対して差異情報(オフセット)を加算することにより移動軌跡情報が示す位置から新たな位置を算出する処理をオフセット補正と呼ぶ。
【0126】
飛行制御情報設定部215は、UAV’[lat]及びUAV’[lng]で示される複数の位置を繋ぐことによって、UAV101の飛行範囲の境界の情報を設定することができる。あるいは、飛行制御情報設定部215は、UAV’[lat]及びUAV’[lng]で示される複数の位置を繋ぐことによって、UAV101の経路の情報を設定することもできる。
【0127】
飛行制御情報設定部215は、UAV’[lat]及びUAV’[lng]で示される位置を繋ぐことにより形成される線により囲まれる領域の内側にUAV101の飛行範囲又は経路を設定することができる。例えば、UAV’[lat]及びUAV’[lng]で示される位置を結んだ線から所定の距離(例えば、2m)だけ内側の位置に飛行範囲の境界又は経路を設定することができる。
【0128】
飛行制御情報設定部215は、UAV’[lat]及びUAV’[lng]で示される位置に対して近似処理を行うことで出力された多角形の外周の位置を飛行範囲又は経路として設定することもできる。飛行制御情報設定部215は、上記近似処理により円形、楕円形又は不規則形状などの任意の形状を出力し、当該形状の位置を飛行範囲又は経路として設定することもできる。
【0129】
飛行制御情報設定部215は、UAV’[lat]及びUAV’[lng]で示される位置に対して近似処理を行うことで出力された多角形(又は円形、楕円形又は不規則形状などの任意の形状)の領域の内側にUAV101の飛行範囲(バーチャルフェンス)又は経路を設定することができる。
【0130】
飛行制御情報設定部215は、設定された飛行範囲又は経路の情報をデータベース216に記憶する。飛行制御部211は、当該飛行範囲又は経路の情報及び測位処理部213から取得した位置情報に基づいて、UAV101の飛行を制御する。
【0131】
例えば、マニュアル飛行の場合、飛行制御部211は、測位処理部213から取得した位置情報が示すUAV101の位置が、設定された飛行範囲を越えないように、UAV101の飛行を制御する。自動飛行の場合、飛行制御部211は、測位処理部213から取得した位置情報が示す自機の位置が、設定された経路上に位置するように、UAV101の飛行を制御する。
【0132】
以上のように、本実施形態では、コントローラ301及びUAV101を同じ地点に配置してそれぞれ測位処理を行い、両者の位置の差異情報すなわちオフセットを算出する。ユーザは、設定したいバーチャルフェンス又は経路上をコントローラ301を移動させて(例えば、コントローラ301を持ちながら歩く)、移動軌跡情報を得る。この移動軌跡情報は、設定したいバーチャルフェンス又は経路上をコントローラ301を移動させながら測位したログ情報である。このため、測位位置を高い精度で示している。このような移動軌跡情報に上記オフセットを加えることにより、バーチャルフェンス又は経路を高い精度で設定することが可能となる。
【0133】
本実施形態によれば、コントローラ301を移動させながら位置情報が取得され、当該位置情報に基づいてバーチャルフェンス又は経路が設定される。そのため、UAV101の飛行ログに基づいてバーチャルフェンス等を設定する手法を採る際に生じる、UAVの飛行操作の困難さに起因するバーチャルフェンスの不正確さの問題は生じない。
【0134】
変形例として、上記で説明したUAV101で実施される差異算出部214及び飛行制御情報設定部215による処理を、サーバ装置などの外部の情報処理装置において実施してもよい。このとき、当該処理に必要な第一の位置情報、第二の位置情報、及び第三の位置情報は、UAV101及びコントローラ301から当該情報処理装置に送信される。すなわち、当該情報処理装置は、差異情報の取得部と、第三の位置情報の取得部とを備え、取得された差異情報及び第三の位置情報に基づいて飛行範囲又は経路の情報を設定する設定部を備えることができる。また、当該情報処理装置による処理の結果設定される飛行範囲又は経路の情報は、UAV101に送信される。UAV101は、受信した飛行範囲又は経路の情報に基づいて、自機の飛行を制御する。
【0135】
図15を参照して、無人航空機制御システム100(UAV101及びコントローラ301)において、飛行範囲又は経路の情報を生成し、当該情報に基づいて飛行を制御するまでの処理フローの例を説明する。この処理は、コントローラ301及びUAV101が同じ地点(第一の地点)に配置されたときに開始する。詳細な処理は既に説明したため、ここでは省略する。
【0136】
ステップS501において、コントローラ301は、ユーザの指示に応じて測位処理部311により測位処理を実行し、コントローラ301の位置情報(第一の位置情報)を取得する。
【0137】
ステップS502において、コントローラ301は、ステップS501で取得された第一の位置情報をUAV101へ送信する。
【0138】
ステップS503において、UAV101は、ユーザの指示に応じて測位処理部213により測位処理を実行し、UAV101の位置情報(第二の位置情報)を取得する。
【0139】
ステップS504において、UAV101は、コントローラ301から取得した第一の位置情報が示す位置と、UAV101の測位処理により取得した第二の位置情報が示す位置との間の差異を差異情報として特定する。UAV101は、特定した差異情報をデータベース216に格納する。
【0140】
ステップS505において、ユーザ又は搬送体(例えば、自動車)等によりコントローラ301が運ばれることにより、第一の地点から移動する。例えば、ユーザは、コントローラ301を携帯しながら、設定したいバーチャルフェンス又は経路の上を徒歩等により移動する。この移動中に、コントローラ301は、予め設定されたタイミング(例えば、10秒毎)で、又はユーザの指示に応じて終了の指示を受けるまで測位処理を実施し、位置情報(第三の位置情報)を取得する。経路は、表示部320に表示された地図を用いて設定されてもよい。この場合、第三の位置情報はこの経路に対応する。
【0141】
ステップS506において、コントローラ301は、ステップS505で取得した第三の位置情報をUAV101へ送信する。
【0142】
ステップS507において、UAV101は、ステップS504で特定した差異情報としてのオフセットと、ステップS506でコントローラ301から取得した第三の位置情報とに基づいて、飛行範囲又は経路の情報を生成する。飛行範囲又は経路の情報の生成方法は既に説明した通りである。
【0143】
ステップS508において、UAV101は、飛行の指示を受けた後、ステップS506で生成された飛行範囲又は経路の情報に基づいて飛行を制御する。
【0144】
本発明は、上記の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な変更を加えて実施することができる。すなわち、上記の実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではなく、様々な変形例を採用することができる。
【0145】
ある変形例において、上記の実施形態の無人航空機制御システム100におけるUAV101を他の航空機に置き換えてもよい。例えば、UAV101を有人航空機とすることができる。このとき、上記で説明した処理により、有人航空機の飛行範囲及び自動飛行時の経路を設定することができる。
【0146】
他の変形例において、無人航空機制御システム100におけるUAV101を他の任意の移動体に置き換えてもよい。移動体には、例えば、空中を移動する他の航空機、地上を移動する車両、水上を移動する船舶等が含まれる。このとき、上記で説明したUAV101の移動範囲を示す飛行範囲、及び移動経路を示す飛行経路の設定と同様の処理により、移動範囲及び移動経路を設定することができる。
移動体は、第一の取得部と、第二の取得部と、算出部と、設定部とを備える。第一の取得部は、第一の地点に位置する端末の測位処理に基づいて得られた第一の位置情報を取得する。第二の取得部は、第一の地点に位置する移動体の測位処理に基づいて得られた第二の位置情報を取得する。算出部は、第一の位置情報が示す位置と第二の位置情報が示す位置との間の差異情報を算出する。第三の取得部は、移動後の端末の測位処理に基づいて得られた第三の位置情報を取得する。設定部は、第三の位置情報と、差異情報とに基づいて、移動体の移動範囲の情報を設定する。