[1.実施形態1]
以下、本発明に関わる無人航空機制御システムの実施形態の例を説明する。
[1−1.無人航空機制御システムの全体構成]
図1は、無人航空機制御システムの全体構成を示す図である。図1に示すように、無人航空機制御システムSは、無人航空機10と操縦機20とを含む。なお、無人航空機制御システムSには、複数台の無人航空機10が含まれてもよいし、複数台の操縦機20が含まれてもよい。
無人航空機10は、人が搭乗しない航空機であり、例えば、バッテリーで駆動する無人航空機(いわゆるドローン)やエンジンで駆動する無人航空機である。例えば、無人航空機10は、商品や郵便物などの荷物を搭載可能であってよく、配送先に飛行して荷物を配送したり、集荷先に飛行して荷物を集荷したりする。なお、無人航空機10は、種々の目的で飛行してよく、荷物の運搬以外にも、例えば飛行先の様子を取得するために飛行してもよいし、農場における農薬散布等の目的で飛行してもよい。
無人航空機10は、制御部11、記憶部12、通信部13、撮影部14、及びセンサ部15を含む。なお、無人航空機10は、プロペラ・モーター(アクチュエータの一例)・バッテリー・アンテナなども含むが、ここでは説明を省略する。
制御部11は、例えば、少なくとも1つのマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。
通信部13は、有線通信又は無線通信用の通信インタフェースを含む。通信部13は、所定の通信プロトコルのもとで通信を行う。なお、通信部13は、送信機と受信機の両方を含んでもよいし、特に送信機は含まずに受信機だけを含んでもよい。例えば、通信部13は、所定の周波数帯域(例えば、2.4GHz帯又は5.0GHz帯の中での周波数)を利用して無線通信するための無線通信インタフェースを含む。
なお、無線通信方式自体は、公知の種々の方式を適用可能であり、例えば、FASST、FHSS、DMSS、又はAFHSSといった特定機器(例えば、いわゆるラジコン)用の方式であってもよいし、無線LAN、Bluetooth(登録商標)、iBeacon(登録商標)、又はWi−Fi Direct(登録商標)といった汎用機器用の方式であってもよい。更に、無線通信としては、近距離無線通信、中距離無線通信、又は遠距離無線通信の何れであってもよい。
撮影部14は、少なくとも1台のカメラである。例えば、撮影部14は、CCDイメージセンサやCMOSイメージセンサなどの撮像素子を含み、当該撮像素子が撮影した画像をデジタルデータとして記録する。画像は、静止画であってもよいし、所定のフレームレートで連続的に撮影された動画であってもよい。
センサ部15は、例えば、GPSセンサ15A、方位センサ15B、及びジャイロセンサ15Cを含む。
GPSセンサ15Aは、衛星からの信号を受信する受信機を含み、例えば、受信機が受信した信号に基づいて位置情報を検出する。位置情報は、地球上の位置に関する情報であり、例えば、緯度経度情報又は座標情報である。また例えば、GPSセンサ15Aは、GPSコンパスとして利用可能であってもよく、受信機が受信した信号に基づいて方位情報を検出してもよい。方位情報は、地球上の方位に関する情報である。方位は、地球上の絶対的な方向であり、例えば、東西南北又はこれらの間の方向である。例えば、方位は、方角と同じ意味であってよく、360°式、90°式、又は点画式などの任意の方式が用いられるようにすればよい。
方位センサ15Bは、2軸タイプ又は3軸タイプの電子コンパス(地磁気センサ)であり、例えば、方位情報を検出する。ジャイロセンサ15Cは、ジャイロスコープとも呼ばれるものであり、姿勢情報を検出する。姿勢情報は、物体の姿勢に関する情報であり、例えば、2次元的又は3次元的な向きを示す情報である。例えば、姿勢は、角度、角速度、又は角加速度によって特定される。本実施形態では、無人航空機10に設定された座標軸を利用して姿勢が特定される。
図2は、無人航空機10に設定された座標軸の説明図である。図2に示すように、本実施形態では、所定位置(例えば、無人航空機10の重心位置又はセンサ部15の位置)を原点とし、ロール軸、ピッチ軸、及びヨー軸の3軸が設定される。本実施形態では、これら3軸は、無人航空機10に対して固定されているものとする。
例えば、ロール軸は前後方向を示し、ピッチ軸は水平方向を示し、ヨー軸は垂直方向を示す。姿勢情報は、ロール軸の回転角であるロール角、ピッチ軸の回転角であるピッチ角、及びヨー軸の回転角であるヨー角の3つの角度によって示されてもよいし、ベクトルで示されてもよい。
なお、センサ部15は、任意のセンサを含んでよく、例えば、赤外線センサ、超音波センサ、音声センサ(マイク)、加速度センサ、風センサ、高度センサ、変位センサ、感圧センサ、温度センサ、又はモータエンコーダ(回転位置センサ)等を含んでもよい。
操縦機20は、無人航空機10を操縦するための機器であり、例えば、プロポ(プロポーショナル式の略)又はコントローラと呼ばれるものである。操縦機20は、無人航空機10と直接的又は間接的に通信可能なものであればよく、例えば、スマートフォン(携帯電話)、タブレット型端末、又はパーソナルコンピュータ等であってもよい。なお、直接的な通信とは、サーバコンピュータなどの他のコンピュータを介さずに通信することであり、間接的な通信とは、他のコンピュータ(又はインターネットなどのネットワーク)を介して通信することである。
図1に示すように、操縦機20は、制御部21、記憶部22、通信部23、操作部24、表示部25、及びセンサ部26を含む。制御部21、記憶部22、通信部23、及びセンサ部26のハードウェア構成は、それぞれ制御部11、記憶部12、通信部13、及びセンサ部15と同様であってよく、ここでは説明を省略する。なお、操縦機20は、アンテナ・バッテリーなども含むが、ここでは説明を省略する。
また、通信部23は、送信機と受信機の両方を含み、無人航空機10と操縦機20との間で双方向の通信を可能としてもよいし、特に受信機は含まずに送信機だけを含み、操縦機20から無人航空機10への一方向の通信だけを可能としてもよい。
操作部24は、無人航空機10を操縦するための少なくとも1つの操作部材を含む。操作部材としては、操縦者の入力を受け付け可能な部材であればよく、例えば、ボタン、スティック、スイッチ、レバー、タッチパネル、キーボード、又はマウス等である。なお、操縦者とは、操縦機20を操縦する者であり、例えば、ユーザ又はオペレータとも呼ばれる者である。
図3は、操縦機20の外観図である。図3に示すように、操縦機20の操作部24は種々の操作部材を含むが、ここでは、スティックST1,ST2について説明する。以降、スティックST1,ST2を区別する必要のないときは、単にスティックSTと記載する。
例えば、スティックSTは、上下方向(垂直方向・縦方向)及び左右方向(水平方向・横方向)の少なくとも一方に倒すことができ、例えば、無人航空機10の移動方向又は旋回方向を指示するために用いられる。なお、スティックSTは、斜め方向に倒すことができてもよい。
例えば、スティックSTを倒した方向と、無人航空機10に対する指示方向と、の対応関係は、予め記憶部22に記憶されている。この対応関係は、編集できないようにしてもよいし、編集可能であってもよい。無人航空機10は、操縦者がスティックSTを倒した方向に対応する指示方向に基づいて動作する。
指示方向とは、操縦者が操縦機20を操作して指示する方向である。指示方向は、地球上の絶対的な方向であってもよいが、本実施形態では、無人航空機10を基準とした方向であり、無人航空機10から見た場合の方向である。例えば、指示方向は、前進方向又は正面方向(図2のロール軸の正方向)に対する相対的な方向であり、前進方向又は正面方向を基準とした方向である。指示方向は、例えば、ベクトルで示されてもよいし、前進方向からの回転方向及び回転角度で示されてもよい。本実施形態では、指示方向が前進方向に対する相対的な方向である場合を一例として説明する。
例えば、操縦者がスティックST1を上方向に倒すと、無人航空機10は前進方向に進み、操縦者がスティックST1を下方向に倒すと、無人航空機10は後退方向に進む。前進方向は、前進が指示された場合に進む方向である。詳細は後述するが、前進方向は、例えばロール軸の正方向などに固定されるのではなく、操縦機20の向きに応じて動的に変化する。後退方向は、前進方向の逆方向であり、前進方向とのなす角度が180度の方向である。
また例えば、操縦者がスティックST1を左方向に倒すと、無人航空機10は左回り(反時計回り)に旋回し、操縦者がスティックST1を右方向に倒すと、無人航空機10は右回り(時計回り)に旋回する。また例えば、操縦者がスティックST2を上方向に倒すと、無人航空機10が上昇し、操縦者がスティックST2を下方向に倒すと、無人航空機10が下降する。上昇方向は、例えば、ヨー軸の負方向であり、下降方向は、例えば、ヨー軸の正方向である。
また例えば、操縦者がスティックST2を左方向に倒すと、無人航空機10が左方向に移動し、操縦者がスティックST2を右方向に倒すと、無人航空機10は右方向に移動する。左方向は、前進方向に対しての左方向(前進方向を向いたときの左方向)であり、右方向は、前進方向に対しての右方向(前進方向を向いたときの右方向)である。別の言い方をすれば、左方向は、前進方向を左回りに90度回転させた方向であり、右方向は、前進方向を右回りに90度回転させた方向である。
スティックST1,ST2が同時に倒された場合には、スティックST1の傾きに対応する指示方向と、スティックST2の傾きに対応する指示方向と、の両方を、無人航空機10に対する指示としてもよいし、これら2つの指示方向を平均した1つの指示方向を、無人航空機10に対する指示としてもよい。スティックST1,ST2が何れも傾いていない場合には、無人航空機10はホバリングする。
なお、操縦者が指示方向を指示する方法は、上記の例に限られず、任意の方法を適用可能である。例えば、スティックST2によって前進方向と後退方向が指示され、スティックST1によって右方向と左方向が指示されてもよい。また例えば、スティックSTではなく、ボタンやタッチパネルなどの操作部材によって指示方向が指示されてもよい。また例えば、操縦機20の姿勢によって指示方向が指示されてもよい。この場合、操縦機20の筐体が傾けられた方向を指示方向としてもよい。
また、操作部24に含まれる操作部材は、スティックSTに限られず、種々の操作部材が含まれていてもよい。各操作部材には、無人航空機10に関する機能が予め対応付けられていればよい。機能としては、例えば、操縦機20の電源オン/オフの機能、無人航空機10を所定の場所に帰還させる機能、又は飛行モードの切替機能等である。飛行モードは、無人航空機10の制御方法であり、例えば、予め定められた経路を自動的に飛行する自律飛行モード、又は、操縦者が移動方向を指示可能な手動飛行モードがある。本実施形態では、手動飛行モード時の操縦について説明する。
表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画面を表示する。
なお、無人航空機10及び操縦機20のハードウェア構成は、図1の例に限られず、種々のハードウェアを適用可能である。例えば、無人航空機10は、タッチパネルやボタンなどの操作部を含んでいてもよいし、液晶表示部又は有機EL表示部などの表示部を含んでいてもよい。また例えば、操縦機20は、スピーカやイヤホンジャックなどの音声出力部、マイクなどの音声入力部、LEDライトなどの発光部、又はバイブレータなどの振動部を含んでもよい。
また例えば、無人航空機10及び操縦機20の各々は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロットや光ディスクドライブ)を含んでもよいし、外部機器と通信するための入出力部(例えば、USBポート)を含んでいてもよい。また例えば、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、読取部又は入出力部を介して情報記憶媒体から供給されるようにしてもよいし、ネットワークを介して他のコンピュータから供給されるようにしてもよい。
[1−2.実施形態1の概要]
無人航空機制御システムSでは、操縦者は、操縦機20を利用して無人航空機10を操縦する。例えば、無人航空機10の前進方向がロール軸の正方向に固定されていたとすると、無人航空機10の向きと操縦機20の向きとの関係が変わった場合に操作感も変わってしまうので、無人航空機制御システムSは、操縦機20の向きに応じて、無人航空機10の内部的に設定される前進方向を動的に変化させる。
図4は、無人航空機10の前進方向と、操縦機20の向きと、の関係を示す図である。なお、図4は、真上から無人航空機10、操縦機20、及び操縦者Pを見下ろした場合の模式図である。図4に示すように、本実施形態では、操縦機20の向きD20と一致するように、前進方向F10が動的に変化する。なお、ここでは、無人航空機10の向きD10は、GPSセンサ15A又は方位センサ15Bが検出した方位情報が示す方位であり、操縦機20の向きD20は、GPSセンサ26A又は方位センサ26Bが検出した方位情報が示す方位とする。
図4の例では、無人航空機10の向きD10は北西であり、操縦機20の向きD20は北である。もし、前進方向F10がロール軸の正方向に固定されていとすると、操縦者がスティックST2を右に倒して右方向R20(図4では、東)を指示すると、無人航空機10は、向きD10に対して右方向(図4では、北東)に進む。この場合、操縦者は、右方向R20に移動すると考えていることが多いが、実際にはこの方向に移動しないので、直感的な操作とはならない。
一方、無人航空機制御システムSは、前進方向F10を、操縦機20の向きD20に一致させ、図4に示すように、北向きとする。この場合、前進方向F10は、図2の座標系におけるロール軸とピッチ軸の間を向くことになる。操縦者がスティックST2を右に倒して右方向R20(図4では、東)を指示すると、無人航空機10は、向きD10ではなく前進方向F10に対して右方向(図4では、東)に進む。
上記のように、実施形態1では、操縦者から見た指示方向と同じ方向に無人航空機10が移動するので、直観的な操作が可能となる。特に、操縦者が無人航空機10と並走する場合のように、操縦者と無人航空機10とが同じ向きを向いて操作する場合に、より効果的な操作支援をすることができる。
図5及び図6は、操縦機20の向きD20が変化した場合に前進方向F10が変化する様子を示す図である。図5及び図6に示すように、操縦機20の向きD20が変化すると、前進方向F10は追従するように変化する。
例えば、図5に示すように、操縦者Pが操縦機20を持ったまま左を向き、操縦機20の向きD20が北西になると、前進方向F10も北西になる。別の言い方をすれば、操縦機20が左回りに所定角度回転すると、前進方向F10も同じ角度だけ左回りに回転する。この場合、操縦者がスティックST2を右に倒して右方向R20(図5では、北東)を指示すると、無人航空機10は、前進方向F10に対して右方向R10(図5では、北東)に進む。即ち、操縦者が指示した指示方向と、無人航空機10の実際の移動方向と、が一致する。
また例えば、図6に示すように、操縦者Pが操縦機20を持ったまま右を向き、操縦機20の向きD20が北東になると、前進方向F10も北東になる。別の言い方をすれば、操縦機20が右回りに所定角度回転すると、前進方向F10も同じ角度だけ右回りに回転する。この場合、操縦者がスティックST2を右に倒して右方向R20(図5では、南東)を指示すると、無人航空機10は、前進方向F10に対して右方向R10(図5では、南東)に進む。即ち、操縦者が指示した指示方向と、無人航空機10の実際の移動方向と、が一致する。
なお、上記の例では、操縦機20の向きD20に応じて無人航空機10の前進方向F10を動的に変化させる場合を一例として説明したが、動的に変化させるのではなく、操縦機20において所定の操作がなされた場合に前進方向F10を変化させてもよい。また、詳細は後述するが、操縦機20の向きD20ではなく、操縦者Pの向きに応じて前進方向F10を変化させてもよい。
以上のように、本実施形態では、操縦者に直感的な操作を可能とする場合に、無人航空機10の物理的な向きを変えるのではなく、無人航空機10の内部的な前進方向F10を変化させることで、電力消費を抑えるようにしている。以降、当該技術の詳細について説明する。なお、以降の説明では、特に図面を参照する必要のないときは、前進方向F10、向きD10,D20、及び操縦者Pの符号を省略することがある。
[1−3.無人航空機制御システムにおいて実現される機能]
図7は、無人航空機制御システムSで実現される機能の一例を示す機能ブロック図である。図7に示すように、無人航空機制御システムSでは、データ記憶部100、操縦情報取得部101、航空機情報取得部102、変更部103、指示方向情報取得部104、及び飛行制御部105が実現される。本実施形態では、これら各機能が、無人航空機10において実現される場合を説明する。
[1−3−1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、無人航空機10を制御するためのデータを記憶する。例えば、データ記憶部100は、無人航空機10の前進方向に関する前進方向情報を記憶する。前進方向は、本発明に係る基準方向の一例である。
基準方向は、移動方向を決定する際の基準となる方向である。別の言い方をすれば、基準方向は、指示方向の基準となる方向である。基準方向は、3次元空間又は2次元平面(例えば、ロール軸−ピッチ軸平面)内の任意の方向である。基準方向は、例えば、前進方向、後退方向、上方向、下方向、左方向、右方向、又はこれらの間の方向である。どの方向を基準方向とするかは、予め定めておけばよい。基準方向情報は、方向を特定可能であればよく、例えば、基準方向を示すベクトル又は方位で示される。
本実施形態では、基準方向の一例として前進方向を説明するので、前進方向と記載した箇所は、基準方向と読み替えることができる。同様に、前進方向情報と記載した箇所は、基準方向情報と読み替えることができる。
なお、データ記憶部100は、他のデータを記憶してもよい。例えば、データ記憶部100は、後述する操縦情報、航空機情報、及び指示方向情報を記憶してもよい。
[1−3−2.操縦情報取得部]
操縦情報取得部101は、制御部11を主として実現される。操縦情報取得部101は、無人航空機10の操縦に関する向き及び位置の少なくとも一方に関する操縦情報を取得する。操縦情報は、操縦に関する向きだけに関する情報であってもよいし、操縦に関する位置だけに関する情報であってもよいし、これら両方に関する情報であってもよい。
操縦に関する向きとは、例えば、操縦機20の向き、操縦者の向き、又は実施形態3で説明する撮影装置30の向きである。操縦に関する向きは、地球上における絶対的な向きであってもよいし、他の物体(例えば、無人航空機10)に対する相対的な向きであってもよい。相対的な向きとは、複数の物体の各々の向きの違いであり、例えば、これらのなす角度である。向きは、2次元的に示されてもよいし、3次元的に示されてもよい。例えば、向きは、方位、ベクトル、又は角度によって示される。
操縦機20の向きは、筐体の向きであり、例えば、センサ部15などにより検出される。操縦者自身の向きは、顔、頭、又は胴体などの任意の部位の向きであり、例えば、操縦者が保有する端末(スマートフォンなど)又は操縦者に装着されたセンサ(例えば、GPSセンサ、方位センサ、又はジャイロセンサ)などにより検出される。撮影装置30の向きは、撮影方向(視線方向)であり、例えば、後述するセンサ部35などにより検出される。
操縦に関する位置とは、例えば、操縦機20の位置、操縦者の位置、又は実施形態3で説明する撮影装置30の位置である。操縦に関する位置は、地球上における絶対的な位置であってもよいし、他の物体(例えば、無人航空機10)に対する相対的な位置であってもよい。相対的な位置とは、複数の物体の各々の位置の違いであり、例えば、これらを結ぶベクトルであってもよいし、一方の位置を原点とした座標系における他方の位置座標であってもよい。位置は、2次元的に示されてもよいし、3次元的に示されてもよい。例えば、位置は、緯度経度情報、座標情報、又はベクトルによって示される。
操縦機20の位置は、筐体の位置であり、例えば、センサ部26などにより検出される。操縦者自身の位置は、顔、頭、又は胴体などの任意の部位の位置であり、例えば、操縦者が保有する端末(スマートフォンなど)又は操縦者に装着されたセンサ(例えば、GPSセンサ、加速度センサ、又はジャイロセンサ)などにより検出される。撮影装置30の位置は、筐体の位置(撮影位置)であり、例えば、後述するセンサ部35などにより検出される。
本実施形態では、操縦情報が操縦機20又は操縦者の向きに関する情報である場合を説明する。更に、その一例として、操縦情報が、操縦機20の向きに関する情報である場合を説明する。操縦機20の向きは、操縦者の向きに置き換えてもよいので、本実施形態で操縦機20の向きと記載した箇所は、操縦者の向きと読み替えることができる。
例えば、操縦機20は、センサ部26の検出信号に基づいて、操縦機20の向きに関する操縦情報を生成し、操縦情報取得部101は、操縦機20により生成された操縦情報を取得する。例えば、操縦情報取得部101は、GPSセンサ26Aにより検出された操縦機20の方位情報を、操縦情報として取得する。また例えば、操縦情報取得部101は、方位センサ26Bにより検出された操縦機20の方位情報を、操縦情報として取得する。なお、操縦情報取得部101は、これら2つの方位情報の平均値を、操縦情報として取得してもよい。
なお、方位情報以外の情報を操縦情報としてもよい。例えば、操縦情報取得部101は、ジャイロセンサ26Cにより検出された姿勢情報に基づいて、操縦情報を取得してもよい。例えば、前進方向の初期値(例えば、ロール軸の正方向)と、操縦機20の向きと、を一致させた状態で無人航空機10を飛び立たせた場合には、飛行開始時からの操縦機20の姿勢情報の変化に追従するように前進方向を変化させれば、これらを一致させることができるので、操縦情報取得部101は、飛行開始時における操縦機20の姿勢情報と、現時点の操縦機20の姿勢情報と、の差分を操縦情報として取得してもよい。
また、操縦情報の取得方法は、センサ部26の検出信号を利用した方法に限られない。例えば、操縦情報取得部101は、撮影部14が撮影した撮影画像に基づいて、操縦情報を取得してもよい。例えば、操縦情報取得部101は、撮影画像を画像解析して検出した操縦機20の形状から操縦機20の向きを推定してもよい。また例えば、操縦機20が撮影部を備える場合には、操縦情報取得部101は、当該撮影部が撮影した撮影画像に基づいて、操縦情報を取得してもよい。例えば、操縦情報取得部101は、撮影画像を画像解析して検出した被写体から操縦機20の向きを推定してもよい。
[1−3−3.航空機情報取得部]
航空機情報取得部102は、制御部11を主として実現される。航空機情報取得部102は、無人航空機10の向き及び位置の少なくとも一方に関する航空機情報を取得する。航空機情報は、無人航空機10の向きだけに関する情報であってもよいし、無人航空機10の位置だけに関する情報であってもよいし、これら両方に関する情報であってもよい。
無人航空機10の向きは、地球上における絶対的な向きであってもよいし、他の物体(例えば、操縦機20)に対する相対的な向きであってもよい。相対的な向きの意味は先述した通りである。ここでは、無人航空機10の向きは、ロール軸の向きを意味する場合を説明するが、ピッチ軸又はヨー軸を無人航空機10の向きとしてもよいし、各軸の間の方向を無人航空機10の向きとしてもよい。
無人航空機10の位置は、地球上における絶対的な位置であってもよいし、他の物体(例えば、操縦機20)に対する相対的な位置であってもよい。相対的な位置の意味は先述した通りである。ここでは、無人航空機10の位置は、GPSセンサ15Aが取り付けられた位置又は図2に示す座標軸の原点を意味する場合を説明するが、無人航空機10内部の任意の位置を意味してもよい。
本実施形態では、航空機情報が無人航空機10の向きに関する情報である場合を説明する。例えば、航空機情報取得部102は、センサ部15の検出信号に基づいて、航空機情報を取得する。例えば、航空機情報取得部102は、GPSセンサ15Aにより検出された無人航空機10の方位情報を、航空機情報として取得する。また例えば、航空機情報取得部102は、方位センサ15Bにより検出された操縦機20の方位情報を、航空機情報として取得する。なお、航空機情報取得部102は、これら2つの方位情報の平均値を、航空機情報として取得してもよい。
なお、方位情報以外の情報を航空機情報としてもよい。例えば、航空機情報取得部102は、ジャイロセンサ15Cにより検出された姿勢情報に基づいて、航空機情報を取得してもよい。先述したように、前進方向の初期値(例えば、ロール軸の正方向)と、操縦機20の向きと、を一致させた状態で無人航空機10の飛行を飛び立たせた場合には、飛行開始時からの操縦機20の姿勢情報の変化に追従するように前進方向を変化させれば、これらを一致させることができるので、航空機情報取得部102は、飛行開始時における無人航空機10の姿勢情報と、現時点の無人航空機10の姿勢情報と、の差分を航空機情報として取得してもよい。
また、航空機情報の取得方法は、センサ部15の検出信号を利用した方法に限られない。例えば、航空機情報取得部102は、撮影部14が撮影した撮影画像に基づいて、航空機情報を取得してもよい。例えば、航空機情報取得部102は、撮影画像を画像解析して検出した被写体から無人航空機10の向きを推定してもよい。
なお、本実施形態では、無人航空機10から見てどの方向に前進方向を設定するかを特定するために、操縦情報と航空機情報の2つを利用して、無人航空機10の向きに対する操縦機20の向き(相対的な向き)を特定する場合を説明するが、操縦情報が相対的な向きを示す場合には、航空機情報は必要ないので、航空機情報取得部102は省略してもよい。
[1−3−4.変更部]
変更部103は、制御部11を主として実現される。変更部103は、操縦情報に基づいて、無人航空機10に設定された前進方向に関する前進方向情報を変更する。例えば、変更部103は、飛行中に1回だけ前進方向情報を変更したり、ユーザが所定の操作をするたびに前進方向情報を変更したりしてもよいが、本実施形態では、変更部103が、予め定められた複数のタイミングの各々において、操縦情報に基づいて基準方向情報を変更する場合を一例として説明するまた、本実施形態では、操縦情報が操縦機20の向きに関する情報なので、変更部103は、操縦機20の向きに関する情報に基づいて、前進方向情報を変更することになる。
予め定められたタイミングとは、前進方向情報を変更するためのタイミングであり、繰り返し訪れるタイミングである。本実施形態では、一定の時間間隔(例えば、処理単位を示すフレーム)ごとに前進方向情報が変更され、上記タイミングが定期的に訪れる場合を説明するが、上記タイミングは不定期的に訪れてもよい。あるタイミングと、次のタイミングと、の時間間隔(即ち、前進方向情報の更新頻度)は、任意であってよく、例えば、数ミリ秒〜数秒程度であってもよいし、数十秒程度であってもよい。更に、時間間隔は、固定値であってもよいし、可変値であってもよい。時間間隔が可変値である場合には、操縦者が時間間隔の長さを指定可能であってもよい。
例えば、変更部103は、計時処理により前進方向情報を変更するタイミングが訪れたか否かを判定する。変更部103は、当該タイミングが訪れたと判定した場合に、操縦機20の最新の向きに基づいて、前進方向情報を変更する。別の言い方をすれば、変更部103は、当該タイミングが訪れるたびに、操縦機20の最新の向きに基づいて、前進方向情報を変更する。変更部103は、前進方向情報を繰り返し変更することができる。なお、前進方向情報を変更するとは、前進方向情報を更新することと同じ意味である。
なお、操縦機20の向きと、前進方向と、の関係は、予めデータ記憶部100に記憶されているものとする。この関係は、数式形式又はテーブル形式で定義されていてもよいし、プログラムコードの一部として記述されていてもよい。変更部103は、操縦機20の向きに関連付けられた前進方向を示すように、前進方向情報を変更する。
本実施形態では、操縦情報が操縦機20の絶対的な向きを示し、前進方向が無人航空機10を基準とした方向なので、操縦機20の向きを、無人航空機10を基準とした方向に変換するために、変更部103は、航空機情報が示す無人航空機10の向きに基づいて、操縦情報が示す操縦機20の向きを、無人航空機10を基準とした方向に変換し、当該変換した方向を前進方向F10とする。
図8は、変更部103の処理内容の説明図である。先述したように、ここでは、無人航空機10の向きをロール軸の正方向として説明する。例えば、変更部103は、航空機情報が示す無人航空機10の向きD10と、操縦情報が示す操縦機20の向きD20と、のなす角度θを取得する。角度θは、例えば、方位情報が示す角度の差分又はベクトルの内積などを利用すればよい。変更部103は、ロール軸を角度θだけ回転させた方向を、前進方向F10として決定する。無人航空機10の向きを示すロール軸を角度θだけ回転させた方向は、操縦機20の向きD20と一致することになる。
上記のように、本実施形態の変更部103は、前進方向F10と、操縦機20の向きD20と、が一致するように、前進方向情報を変更する。ここでの一致とは、向き(ベクトル)が同じになることであり、なす角度が0°になることである。例えば、変更部103は、上記のようにして無人航空機10を基準とした方向に変換した操縦機20の向きを、前進方向F10として決定する。
なお、変更部103は、前進方向F10と操縦機20の向きD20とを完全に一致させるのではなく、多少のずれを許容してもよい。多少のずれとは、10°未満程度のずれを意味してもよいし、30°程度のずれが許容されてもよい。どの程度のずれを許容するかは、操縦者が任意に設定できてもよい。また、操縦情報が相対的な向きを示す場合には、操縦情報が示す向きを変換する必要はないので、変更部103は、上記のような向きの変換をせず、操縦情報が示す向きをそのまま前進方向としてもよい。
また、本実施形態では、基準方向を前進方向として説明しているが、基準方向を他の所定方向(例えば、後退方向、右方向、又は左方向)とする場合には、変更部103は、無人航空機10の当該所定方向と、操縦機20の向きD20に基づいて定まる当該所定方向と、を一致させたり、これらのずれが所定未満となるようにしたりすればよい。
[1−3−5.指示方向情報取得部]
指示方向情報取得部104は、制御部11を主として実現される。指示方向情報取得部104は、操縦機20が受け付けた指示方向に関する指示方向情報を取得する。指示方向情報取得部104は、例えば、操縦機20の検出信号に基づいて、指示方向情報を取得する。
本実施形態では、操縦機20側で指示方向が特定される場合を説明する。このため、操縦機20は、スティックSTが傾いた方向に対応する指示方向を特定し、無人航空機10に対し、当該指示方向に関する指示方向情報を送信する。指示方向情報取得部104は、操縦機20から指示方向情報を受信する。
なお、操縦機20側で指示方向を特定せず、無人航空機10側で指示方向を特定してもよい。この場合、操縦機20は、スティックSTが傾いた方向に関する情報を送信し、指示方向情報取得部104は、スティックSTが傾いた方向に対応する指示方向を特定し、指示方向情報を取得する。この場合、スティックSTの傾斜方向と、指示方向と、の関係が予めデータ記憶部100に記憶されているものとする。
[1−3−6.飛行制御部]
飛行制御部105は、制御部11を主として実現される。飛行制御部105は、前進方向情報と指示方向情報とに基づいて、無人航空機10の移動方向を制御する。移動方向は、無人航空機10を基準とした方向であり、例えば、図2に示す座標系における方向で示される。例えば、移動方向は、ベクトル又は角度で示される。
例えば、指示方向は前進方向に対する方向であり、本実施形態の前進方向は動的に変化するので、指示方向をそのまま移動方向にするのではなく、現在の前進方向を考慮する必要がある。このため、飛行制御部105は、前進方向情報が示す前進方向に基づいて、指示方向情報が示す指示方向を変換し、当該変換した方向を移動方向として決定する。例えば、飛行制御部105は、指示方向を、前進方向に対応する角度θ(図8)だけ回転させた方向を移動方向として決定する。
[1−4.無人航空機制御システムにおいて実行される処理]
図9は、無人航空機制御システムSにおいて実行される処理の一例を示すフロー図である。例えば、図9に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作し、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。なお、図9に示す処理は繰り返し実行され、例えば、予め定められた周期に基づいて定期的に実行されてもよいし、操縦機20に対する操作が行われた場合に実行されてもよい。
図9に示すように、まず、操縦機20においては、制御部21は、スティックSTの検出信号に基づいて、指示方向情報を生成する(S1)。S1においては、制御部21は、スティックSTの検出信号に基づいて、スティックSTが傾いた方向を特定し、当該方向に対応する指示方向を特定する。そして、制御部21は、特定した指示方向に関する指示方向情報を生成する。
なお、制御部21は、スティックSTが傾いた方向だけでなく、角度も考慮して指示方向情報を生成してもよい。また、指示方向情報は、スティックST以外にも、他の操作部材の操作状態が含まれていてもよい。操作状態とは、例えばスティックSTの傾斜方向及び傾斜角度、ボタン及びスイッチのオン/オフ、又はタッチパネルから入力された内容などである。
制御部21は、センサ部26の検出信号に基づいて、操縦機20の向きに関する操縦情報を生成する(S2)。S2においては、例えば、制御部21は、GPSセンサ26A又は方位センサ26Bが検出した方位情報を、操縦情報として取得する。制御部21は、無人航空機10に対し、S1で生成した指示方向情報と、S2で生成した操縦情報と、を送信する(S3)。
無人航空機10においては、指示方向情報と操縦情報とを受信すると、制御部11は、センサ部15の検出信号に基づいて、無人航空機10の向きに関する航空機情報を生成する(S4)。S4においては、例えば、制御部21は、GPSセンサ15A又は方位センサ15Bが検出した方位情報を、航空機情報として取得する。
制御部11は、航空機情報、指示方向情報、及び操縦情報に基づいて、前進方向情報を変更する(S5)。S5においては、まず、制御部11は、無人航空機10の向きに対する操縦機20の相対的な向きを特定し、当該相対的な向きが前進方向となるように、前進方向情報を変更する。
制御部11は、前進方向情報と指示方向情報とに基づいて、無人航空機10の移動方向を制御し(S6)、本処理は終了する。S6においては、制御部11は、前進方向に対する指示方向を、移動方向として決定する。制御部11は、S6で決定した移動方向に無人航空機10が移動するように、複数のモータの各々を回転させる。例えば、無人航空機10は、プロペラの回転数が少ない方向に向けて進むため、制御部11は、S6で決定した移動方向側にあるモータの回転数が、他のモータの回転数よりも少なくなるように、各モータに対する出力を決定する。以降、無人航空機10の飛行中において、S5の処理が繰り返し実行され、前進方向情報が随時更新される。そして、S6の処理において、S5で更新された前進方向情報に基づいて、無人航空機10の移動方向が制御されることになる。
以上説明した無人航空機制御システムSによれば、無人航空機10を物理的に回転させることで前進方向を変えるのではなく、無人航空機10の内部的な前進方向情報を変更することで、電力消費を抑えつつ、無人航空機10の操縦者を支援することができる。
また、予め定められた複数のタイミングの各々において、前進方向情報を変更することによって、その時の状況に応じた前進方向情報を設定することができるので、操縦者の支援をより効果的に行うことができる。例えば、ユーザが、前進方向情報を変更するための操作をいちいち行う必要がなくなり、ユーザの操作負担を軽減することもできる。
また、操縦機20の向きに基づいて前進方向を変更することによって、操縦機20の向きと前進方向とに対応関係を持たせることができ、操縦者を効果的に支援することができる。
また、操縦機20の向きと前進方向とを一致させることによって、操縦者から見た指示方向と同じ方向に無人航空機10が移動するので、より直観的な操作を可能とすることができる。
[2.実施形態2]
次に、無人航空機制御システムSの別実施形態を説明する。なお、以降説明する実施形態2のうち、実施形態1と同様の構成については説明を省略する。
図10は、実施形態2の概要を示す図である。図10に示すように、実施形態2の無人航空機制御システムSは、無人航空機10の前進方向F10と、操縦機20の位置P20から無人航空機10の位置P10への方向と、を一致させる。このように前進方向F10を設定すると、操縦者がスティックST1を上方向に倒して前進を指示すると、無人航空機10は操縦者から離れる方向(奥側)に移動し、操縦者がスティックST1を下方向に倒して後退を指示すると、無人航空機10は操縦者に近づく方向(手前側)に移動し、操縦者は、自分を基準にして無人航空機10が移動するように感じるので、直観的な操作が可能となる。
なお、例えば、操縦者がスティックST2を右に倒して右方向R20(図4では、東)を指示すると、無人航空機10は、前進方向F10から見て右方向(図4では、南東)に進む。この場合、無人航空機10は、前進方向F10と直交する方向以外の方向に移動してもよい。例えば、位置P20を原点とし、位置P10と位置P20を結ぶ線分を半径とする円上を進むように移動してもよい。
図11及び図12は、実施形態2において無人航空機10の前進方向F10が変化する様子を示す図である。図11及び図12に示すように、操縦機20に対する無人航空機10の相対的な位置が変化すると、無人航空機10の前進方向F10も変化する。なお、ここでは無人航空機10が移動する場合を説明するが、操縦者が移動した場合も相対的な位置は変化するので、無人航空機10の前進方向F10も同様に変化する。
例えば、図11に示すように、無人航空機10が操縦機20に対して左回りに移動し、操縦機20の位置P20から無人航空機10の位置P10への方向が左回りに変化すると、無人航空機10の前進方向F10も同じ角度だけ左回りに変化する。この場合も、操縦者がスティックST1を上方向に倒して前進を指示すると、無人航空機10は操縦者から遠ざかるように移動し、スティックST1を下方向に倒して後退を指示すると、無人航空機10は操縦者の方に戻るように移動する。
また例えば、図12に示すように、無人航空機10が操縦機20に対して右回りに移動し、操縦機20の位置P20から無人航空機10の位置P10への方向が右回りに変化すると、無人航空機10の前進方向F10も同じ角度だけ右回りに変化する。この場合も、操縦者がスティックST1を上方向に倒して前進を指示すると、無人航空機10は操縦者から遠ざかるように移動し、スティックST1を下方向に倒して後退を指示すると、無人航空機10は操縦者の方に戻るように移動する。
以上のように、実施形態2でも、操縦者に直感的な操作を提供する場合に、無人航空機10の物理的な向きを変えるのではなく、無人航空機10の内部的な前進方向F10を変化させることで、電力消費を抑えるようにしている。以降、実施形態2の詳細を説明する。
実施形態2の機能ブロックは、実施形態1と同様であるが、各機能における処理内容の詳細は、実施形態1と異なる。
例えば、実施形態2の操縦情報は、操縦機20又は操縦者と、無人航空機10と、の位置関係に関する情報である。ここでは、操縦機20と無人航空機10との位置関係を一例として説明する。操縦機20の位置は、操縦者の位置に置き換えてもよいので、本実施形態で操縦機20の位置と記載した箇所は、操縦者の位置と読み替えることができる。
位置関係とは、相対的な位置と同じ意味であり、ある物体に対する他の物体の位置である。ここでは、位置関係は、操縦機20に対する無人航空機10の相対的な位置、又は、無人航空機10に対する操縦機20の相対的な位置である。位置関係は、例えば、座標情報又はベクトルによって示される。
例えば、操縦情報取得部101は、操縦機20の位置情報と、無人航空機10の位置情報と、に基づいて、位置関係に関する操縦情報を取得する。
例えば、操縦機20は、センサ部26の検出信号に基づいて、操縦機20の位置情報を生成し、操縦情報取得部101は、操縦機20により生成された位置情報を取得する。例えば、操縦情報取得部101は、GPSセンサ26Aにより検出された操縦機20の位置情報を取得する。他にも例えば、操縦情報取得部101は、センサ部26のジャイロセンサ26C及び加速度センサにより検出された操縦機20の位置情報を取得してもよい。
なお、操縦機20の位置情報の取得方法は、センサ部26の検出信号を利用した方法に限られない。例えば、操縦情報取得部101は、通信部23の通信内容に基づいて、位置情報を取得してもよい。例えば、操縦情報取得部101は、通信部23を介して取得された基地局情報又はアクセスポイント情報に基づいて位置情報を取得してもよい。また例えば、操縦情報取得部101は、操縦機20が撮影部を有する場合には、当該撮影部が撮影した撮影画像に基づいて、位置情報を取得してもよい。例えば、操縦情報取得部101は、撮影画像を画像解析して検出した被写体から操縦機20の位置を推定してもよい。
また例えば、操縦情報取得部101は、センサ部15の検出信号に基づいて、無人航空機10の位置情報を取得する。なお、ここでは、操縦情報取得部101が無人航空機10の位置情報を取得する場合を説明するが、実施形態1で説明した航空機情報取得部102が航空機情報として取得してもよい。
例えば、操縦情報取得部101は、GPSセンサ15Aにより検出された無人航空機10の位置情報を取得する。他にも例えば、操縦情報取得部101は、センサ部15のジャイロセンサ15C及び加速度センサにより検出された無人航空機10の位置情報を取得してもよい。
なお、無人航空機10の位置情報の取得方法は、センサ部15の検出信号を利用した方法に限られない。例えば、操縦情報取得部101は、通信部13の通信内容に基づいて、位置情報を取得してもよい。例えば、操縦情報取得部101は、通信部13を介して取得された基地局情報又はアクセスポイント情報に基づいて位置情報を取得してもよい。また例えば、操縦情報取得部101は、撮影部14が撮影した撮影画像に基づいて、位置情報を取得してもよい。例えば、操縦情報取得部101は、撮影画像を画像解析して検出した被写体から無人航空機10の位置を推定してもよい。
なお、操作情報取得部は、操縦機20の位置情報と、無人航空機10の位置情報と、の2つの情報から相対的な位置を特定するのではなく、撮影画像から相対位置を特定してもよいし、指向性のある無線通信規格又は通信相手との距離を推定可能な無線通信規格が利用される場合には通信内容によって相対的な位置を特定してもよい。また例えば、操作情報取得部は、撮影部14が撮影した撮影画像に基づいて、相対的な位置を特定してもよい。例えば、操縦情報取得部101は、撮影画像を画像解析して検出した操縦機20又は操縦者の撮影位置及びサイズから相対的な位置を推定してもよい。
変更部103は、位置関係に関する操縦情報に基づいて、前進方向情報を変更する。なお、無人航空機10の前進方向が基準方向の一例である点については、実施形態1と同様である。
なお、位置関係と前進方向との関係は、予めデータ記憶部100に記憶されているものとする。この関係は、数式形式又はテーブル形式で定義されていてもよいし、プログラムコードの一部として記述されていてもよい。変更部103は、操縦情報が示す位置関係に関連付けられた前進方向を示すように、前進方向情報を変更することになる。
例えば、変更部103は、前進方向と、操縦機20又は操縦者と無人航空機10とを結ぶ方向と、が一致するように、基準方向情報を変更する。無人航空機10の位置と操縦機20の位置とを結ぶ方向とは、無人航空機10から操縦機20に対する方向であってもよいし、操縦機20から無人航空機10に対する方向であってもよい。
図13は、実施形態2における変更部103の処理内容の説明図である。図13に示すように、変更部103は、操縦機20の位置P2と、無人航空機10の位置P10と、を結ぶ方向を、前進方向F10とする。例えば、変更部103は、操縦機20の位置P20を示す座標と、無人航空機10の位置P1を示す座標と、の差分を取ることによって、前進方向F10のベクトルを取得する。
なお、変更部103は、前進方向F10と、操縦機20の位置P20及び無人航空機10の位置P10を結ぶ方向を、を完全に一致させるのではなく、多少のずれを許容してもよい。多少のずれとは、0°より大きく10°未満程度のずれを意味してもよいし、30°程度のずれが許容されてもよい。どの程度のずれを許容するかは、操縦者が任意に設定できてもよい。飛行制御部105が前進方向情報と指示方向情報とに基づいて移動方向を決定する処理は、実施形態1で説明した通りである。
実施形態2の無人航空機制御システムSによれば、操縦機20及び無人航空機10の位置関係に基づいて前進方向を変更することによって、操縦機20及び無人航空機10の位置関係と前進方向との間に対応関係を持たせることで、電力消費も抑えつつ、操縦者を効果的に支援することができる。
また、前進方向と操縦機20と無人航空機10とを結ぶ方向とを一致させることによって、例えば、前進を指示した場合に無人航空機10が奥側に移動して後退を指示した場合に無人航空機10を手前側に移動させたり、これとは逆に、前進を指示した場合に無人航空機10が手前側に移動して後退を指示した場合に無人航空機10を奥側に移動させたりすることができ、より直観的な操作を可能とすることができる。
なお、無人航空機10は、実施形態1の制御方法(前進方向の決定方法)と、実施形態2の制御方法(前進方向の決定方法)と、を所定の条件のもとで切り替えてもよい。所定の条件とは、予め定められた条件であればよく、例えば、無人航空機10と操縦機20又は操縦者との位置関係であってもよいし、操縦者が操縦機20から所定の切替操作をすることであってもよい。位置関係は、無人航空機10と操縦機20又は操縦者との距離を意味してもよいし、無人航空機10と操縦機20又は操縦者とを結ぶ方向を意味してもよい。
例えば、無人航空機10は、操縦機20との距離に基づいて、実施形態1の制御方法と、実施形態2の制御方法と、を切り替える。この場合、無人航空機10は、自身の位置と操縦機20の位置とに基づいて距離を計算し、当該距離が閾値以上であるか否かを判定する。無人航空機10は、距離が閾値未満であると判定した場合には、実施形態1の制御方法とし、距離が閾値以上であると判定した場合には、実施形態2の制御方法としてもよい。
例えば、無人航空機10が操縦機20又は操縦者の真上付近にあるような場合は、これらの距離が略0になるので、無人航空機10は、実施形態2の制御方法から実施形態1の制御方法に切り替えてもよいし、直近に決定した前進方向を固定してもよい。なお、略0とは、0とみなせる程度に短い距離であればよく、例えば、0メートル〜5メートル程度であってよい。また例えば、無人航空機10は、自身の位置と、操縦機20又は操縦者の位置と、の差異を精度よく取得できないほどに距離が近い場合には、実施形態2の制御方法を終了して無人航空機10の前進方向を固定してもよい。この場合、無人航空機10は、上記差異を精度よく取得できるようになった場合に、実施形態2の制御方法を再開すればよい。
[3.実施形態3]
次に、無人航空機制御システムSの別実施形態を説明する。なお、以降説明する実施形態3のうち、実施形態1又は2と同様の構成については説明を省略する。
図14は、実施形態3の全体構成を示す図である。図14に示すように、実施形態3の無人航空機制御システムSは、無人航空機10と操縦機20に加えて、撮影装置30と表示制御装置40を含む。無人航空機10、操縦機20、撮影装置30、及び表示制御装置40は、インターネットなどのネットワークに接続可能となっている。
撮影装置30は、飛行中の無人航空機10を撮影可能な機器であり、例えば、カメラ、スマートフォン(携帯電話)、タブレット型端末、又はパーソナルコンピュータである。撮影装置30は、制御部31、記憶部32、通信部33、撮影部34、センサ部35、操作部36、及び表示部37を含む。制御部31、記憶部32、通信部33、撮影部34、センサ部35、操作部36、及び表示部37は、それぞれ制御部11、記憶部12、通信部13、撮影部14、センサ部15、操作部24、及び表示部25と同様である。
撮影装置30は、地上に固定されていてもよいし、向き及び位置の少なくとも一方が変化してもよい。撮影装置30の向き及び位置の少なくとも一方が変化する場合には、向きだけが変化してもよいし、位置だけが変化してもよいし、これら両方が変化してもよい。撮影装置30の向き及び位置の少なくとも一方は、撮影者が変化させてもよいし、操縦者が遠隔で変化させてもよいし、無人航空機10を追尾するように自動的に変化してもよい。無人航空機10を追尾させる場合には、撮影装置30は、無人航空機10から位置情報を取得して無人航空機10を追尾してもよいし、撮影部34が撮影した画像から検出した無人航空機10を追尾してもよい。
表示制御装置40は、撮影装置30が撮影した画像を表示させるためのコンピュータであり、例えば、テレビ、ディスプレイ、スマートフォン(携帯電話)、タブレット型端末、又はパーソナルコンピュータ等である。例えば、表示制御装置40は、撮影装置30から離れた場所に配置されており、無人航空機10を直接的に視認できない位置にいる操縦者が、無人航空機10を遠隔で操縦するために利用される。
表示制御装置40は、制御部41、記憶部42、通信部43、操作部44、及び表示部45を含む。制御部41、記憶部42、通信部43、操作部44、及び表示部45は、それぞれ制御部11、記憶部12、通信部13、操作部24、及び表示部25と同様である。
図15は、実施形態3の概要を示す図である。実施形態1及び2では、操縦者が無人航空機10を目視して操縦する場合を説明したが、図15に示すように、実施形態3では、操縦者Pは、無人航空機10を直接的に目視するのではなく、表示制御装置40に表示された撮影装置30の撮影画像をもとに、遠隔地で操縦する。例えば、操縦者Pは、表示制御装置40の表示部45の画面と相対するようにして、無人航空機10を操縦する。
例えば、撮影装置30の制御部31は、撮影部34が撮影した画像を示すデータを、通信部33を介して表示制御装置40に送信する。表示制御装置40は、通信部43を介して受信したデータに基づいて、撮影部34が撮影した画像を表示部45に表示させる。操縦者は、操縦機20を持って表示制御装置40の表示部45を見て、無人航空機10を操縦する。なお、実施形態3では、操縦機20は、有線(通信ケーブル)によってネットワークに接続されてもよい。
実施形態3では、操縦機20又は操縦者Pではなく、撮影装置30の向き又は位置に基づいて、無人航空機10の前進方向が決定される。実施形態3では、実施形態1の処理を流用して前進方向が決定されてもよいし、実施形態2の処理を流用して前進方向が決定されてもよい。
図16は、実施形態1の処理を流用する場合の実施形態3の概要を示す図である。図16に示すように、例えば、実施形態1で説明した操縦機20の向きを撮影装置30の向きと読み替えて、無人航空機10の前進方向F10と、撮影装置30の向きD30と、を一致させるようにしてもよい。このようにすれば、操縦者が表示制御装置40の撮影画像を見ている向きと、無人航空機10の前進方向F10と、が一致するので、実施形態1と同様に操作支援をしつつ、電力消費を抑えることができる。
図17は、実施形態2の処理を流用する場合の実施形態3の概要を示す図である。図17に示すように、また例えば、実施形態2で説明した操縦機20の位置を撮影装置30の位置と読み替えて、無人航空機10の前進方向と、撮影装置30から無人航空機10の位置P10への方向と、を一致させるようにしてもよい。このようにすれば、撮影者が見ている撮影画像の視点及び無人航空機10の位置と、無人航空機10の前進方向F10と、が一致するので、実施形態2と同様に操作支援をしつつ、電力消費を抑えることができる。
図18は、実施形態3の機能ブロック図である。図18に示すように、実施形態3の無人航空機制御システムSは、表示制御部106を更に含む。表示制御部106は、制御部41を主として実現される。
表示制御部106は、撮影装置30で無人航空機10を撮影した画像を、操縦者に対応する表示部45に表示させる。例えば、表示制御部106は、撮影装置30から撮影画像のデータを受信し、当該データに基づいて、表示部45に撮影画像を表示させる。
実施形態3では、操縦情報は、撮影装置30の向き及び位置の少なくとも一方に関する情報である。操縦情報取得部101の処理は、実施形態1で操縦機20の向きと記載した箇所を撮影装置30の向きと読み替えたり、実施形態2で操縦機20の位置と記載した箇所を撮影装置30の位置と読み替えたりした内容となる。例えば、操縦情報取得部101は、センサ部35の検出信号に基づいて操縦情報を取得してもよいし、通信部33の通信内容又は撮影部34の撮影画像に基づいて操縦情報を取得してもよい。
変更部103は、撮影装置30の向き及び位置の少なくとも一方に関する操縦情報に基づいて、前進方向情報を変更する。操縦情報取得部101の処理は、実施形態1で操縦機20の向きと記載した箇所を撮影装置30の向きと読み替えたり、実施形態2で操縦機20の位置と記載した箇所を撮影装置30の位置と読み替えたりした内容となる。
例えば、操縦情報取得部101は、前進方向と撮影装置30の向きとが一致するように、前進方向情報を変更する。また例えば、操縦情報取得部101は、前進方向と、撮影装置30及び無人航空機10とを結ぶ方向と、が一致するように、前進方向情報を変更する。なお、これらを必ずしも一致させる必要はなく、ある程度のずれを許容してもよい点は、実施形態1及び2で説明した通りである。
実施形態3の無人航空機制御システムSによれば、操縦者が無人航空機10を直視せずに遠隔で操作する場合であっても、電力消費も抑えつつ、操縦者を効果的に支援することができる。
[4.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
図19は、変形例の機能ブロック図である。図19に示すように、以降説明する変形例では、実施形態で説明した機能に加え、通知部107、判定部108、制限部109、及び切替部110が実現される。これら各機能は、制御部11を主として実現される。
(1)例えば、前進方向及び移動方向の少なくとも一方が操縦者に通知されるようにしてもよい。本変形例の操縦機20は、LEDライトなどの発光部、スピーカ又はイヤホンジャックなどの音声出力部、及びバイブレータなどの振動部の少なくとも1つを含む。
変形例(1)の無人航空機制御システムSは、通知部107を含む。通知部107は、前進方向と移動方向の少なくとも一方を操縦者に通知する。通知部107は、前進方向だけを通知してもよいし、移動方向だけを通知してもよいし、これら両方を通知してもよい。
通知は、予め定められた方法によって行われるようにすればよく、例えば、視覚、聴覚、又は触覚を利用した通知であればよい。例えば、通知は、所定の画像を表示させること、所定の発光部を発光させること、所定の音声を出力すること、又は、所定パターンの振動を発生させることである。
例えば、通知部107は、前進方向と移動方向の少なくとも一方に関する情報を操縦機20に対して送信する。当該情報は、所定形式のデータが送信されることによって行われるようにすればよい。操縦機20は、当該情報を受信すると、所定の通知を行う。
例えば、操縦機20は、前進方向と移動方向の少なくとも一方を示す画像を表示部25に表示させる。また例えば、操縦機20は、前進方向と移動方向の少なくとも一方を示すように、発光部を発光させる。例えば、操縦機20の上下左右などの任意の方向に発光部を配置しておき、操縦機20は、前進方向と移動方向の少なくとも一方側にある発光部を発光させる。また例えば、操縦機20は、前進方向と移動方向の少なくとも一方を示す音声を操縦機20の音声出力部から出力する。また例えば、操縦機20は、前進方向と移動方向の少なくとも一方を示す所定パターンの振動を発生させる。
変形例(1)によれば、基準方向及び移動方向の少なくとも一方が通知されることで、操縦者の操作支援を効果的に行うことができる。
(2)また例えば、操縦者が操縦機20を落とした場合などは、操縦機20の方向が急激に変化するため、このような場合に前進方向を動的に制御すると、前進方向が急激に変化することになる。無人航空機10の移動方向もそれにつられて急激に変化し、無人航空機10の飛行の安定性を保てない可能性がある。このため、操縦機20の向き及び位置の少なくとも一方の変化が非常に大きく、操縦者が操縦機20を落としたと推測される場合には、前進方向を動的に変更する処理が制限されるようにしてもよい。
変形例(2)の無人航空機制御システムSは、判定部108と制限部109を含む。判定部108は、操縦情報の変化量が所定量以上であるか否かを判定する。
変化量とは、所定時間(例えば、1秒〜2秒未満程度)あたりの操縦情報の変化の程度であり、例えば、ある時間における操縦情報が示す向き及び位置の少なくとも一方と、当該時間の所定時間後における操縦情報が示す向き及び位置の少なくとも一方と、の差である。所定量は、予め定められた量であればよく、例えば、所定角度(例えば、90°〜180°程度)又は所定距離(例えば、30センチメートル〜数メートル程度)である。
本変形例では、操縦情報取得部101が取得した操縦情報の履歴がデータ記憶部100に記憶されているものとする。例えば、操縦情報取得部101は、取得した操縦情報をデータ記憶部100に蓄積させる。判定部108は、複数の時点の各々における操縦情報に基づいて、操縦情報の変化量を取得し、操縦情報の変化量と所定量とを比較することになる。
制限部109は、操縦情報の変化量が所定量以上であると判定された場合に、前進方向情報の変更を制限する。制限とは、前進方向情報の変更を禁止すること、又は、前進方向情報の変更を抑制することである。例えば、制限部109は、操縦情報の変化量が所定量以上であると判定された場合に、前進方向情報の変更を禁止し(基準方向情報をロックして変更せず)、操縦情報の変化量が所定量以上であると判定されない場合に、前進向情報の変更を許可する。
また例えば、制限部109は、操縦情報の変化量が所定量以上であると判定された場合には、操縦情報の変化量が所定量以上であると判定されない場合よりも、前進方向情報の変更量を小さくする。前進方向情報の変更量とは、方向の変化量であり、方向が変化した角度である。制限部109は、前進方向の変化(単位時間当たりの変化量)を緩やかにして緩衝制御をすることになる。
変形例(2)によれば、操縦機20の変化量が所定量以上である場合に前進方向の変更が制限されるので、無人航空機10の飛行をより安定させることができる。
(3)また例えば、無人航空機制御システムSには、複数台の操縦機20が含まれていてもよい。この場合、ある操縦機20が無人航空機10を制御する状態から別の操縦機20が無人航空機10を制御する状態に変わるようにしてもよい。なお、本変形例では、通信部13は、複数の無線通信インタフェースを含むものとする。各無線通信インタフェースは、互いに混線しないように、利用する周波数帯域(チャンネル)が異なるものとする。
図20は、変形例(3)の概要を示す図である。なお、ここでは、操縦機20の台数を2台として説明するが、操縦機20は3台以上あってもよい。図20に示す例では、無人航空機10は、第1操縦機20Aにより制御されている。即ち、第1操縦機20Aの方向指示情報が有効な状態であり、無人航空機10は、第1操縦機20Aの操縦者PAが操縦することになる。
その後、無人航空機10は、任意のタイミングで、第2操縦機20Bにより制御される状態となる。即ち、第2操縦機20Bの方向指示情報が有効な状態となり、第1操縦機20Aの方向指示情報は無効な状態となる。別の言い方をすれば、無人航空機10は、第1操縦機20Aと第2操縦機20Bの両方から方向指示情報を受信可能な状態となるが、第1操縦機20Aからの方向指示情報は無視し、第2操縦機20Bからの方向指示情報に基づいて飛行制御する。この状態になると、無人航空機10は、第2操縦機20Bの操縦者PBが操縦することになる。
変形例(3)の無人航空機制御システムSは、切替部110を含む。切替部110は、第1操縦機20Aにより無人航空機10が制御される第1状態から、第2操縦機20Bにより無人航空機10が制御される第2状態に切り替える。切替部110は、所定の条件が満たされた場合に、第1状態から第2状態に切り替える。
所定の条件は、予め定められた条件であればよく、例えば、第1操縦機20A若しくは第2操縦機20Bから所定の切替要求を受信すること、又は、第1操縦機20Aからの指示内容と第2操縦機20Bからの指示内容とが一致することなどである。切替要求は、操縦権を切り替えるための要求であり、例えば、操作部24の任意の操作部材を操作することによって送信される。
第1状態は、第1操縦機20Aに操作権がある状態である。別の言い方をすれば、第1状態は、第1操縦機20Aからの指示方向情報が有効な状態である。第2状態は、第2操縦機20Bに操作権がある状態である。別の言い方をすれば、第2状態は、第2操縦機20Bからの指示方向情報が有効な状態である。
図21は、変形例(3)における変更部103の処理を説明するための図である。図21に示すように、変更部103は、第1状態から第2状態に切り替わった場合に、第2状態における操縦情報に基づいて、前進方向情報を設定し直す。第2状態における操縦情報とは、第2操縦機20Bの操縦情報である。操縦情報に基づいて前進方向情報を決定する処理自体は、実施形態で説明した通りである。なお、変形例(3)の操縦情報取得部101は、第1操縦機20Aの操縦情報と、第2操縦機20Bの操縦情報と、の両方を取得可能とする。操縦情報の取得方法自体は、実施形態で説明した通りである。
変形例(3)によれば、無人航空機10を制御する操縦機20が切り替わった場合であったとしても、切替後の操縦機20の操縦者を効果的に支援することができる。
(4)また例えば、前進方向情報が変更された場合に、安定した姿勢となるように、無人航空機10の向きが調整されてもよい。
図22は、変形例(4)の概要を示す図である。図4に示すように、飛行制御部105は、前進方向情報が変更された場合に、変更後の前進方向情報に基づいて、無人航空機10の向きを制御する。例えば、飛行制御部105は、前進方向F10と、無人航空機10の向きD10と、が直交又は略直交するように、無人航空機10の向きを制御する。なお、略直交とは、直交とみなせる程度の角度であり、例えば、交差角が80°以上かつ90°未満とする。
なお、飛行制御部105は、前進方向情報が変更された直後に無人航空機10の向きを制御してもよいし、前進方向情報が変更されて一定時間が経過した後に無人航空機10の向きを制御してもよい。また、変更部103は、無人航空機10の姿勢変更に応じて前進方向も変化させてよい。例えば、変更部103は、無人航空機10の姿勢が回転した角度だけ前進方向を変化させてもよい。
変形例(4)によれば、前進方向に応じた安定した姿勢で無人航空機10を飛行させることができる。
(5)また例えば、上記実施形態1〜3及び変形例(1)〜(4)の何れか2つ以上を組み合わせるようにしてもよい。
また例えば、無人航空機10は、操縦者が自由に操縦可能なモードで飛行しなくてもよく、位置情報を補助的に利用して飛行するモードで飛行してもよい。例えば、操縦者がスティックSTを傾けると、無人航空機10が、GPSセンサ15Aで検出した位置情報を利用して、格子状に区切られた座標間を移動するGPS飛行モードで飛行してもよい。このような場合であっても、操縦者が指示した指示方向と、変更部103により変更された前進方向と、に基づいて定まる移動方向に、無人航空機10が移動してもよい。また例えば、前進方向情報は、予め定められたタイミングではなく、操縦者が所定の操作をしたことに応じて変更されるようにしてもよい。この操作としては、予め定められた操作であればよく、例えば、操縦機20の操作部24の所定の操作部材(例えば、ボタン、レバー、スイッチなど)を操作することであってもよいし、表示部25に表示された所定のアイコンを操作部24のタッチパネルでタッチすることであってもよい。
また例えば、無人航空機制御システムSは、他のコンピュータ(例えば、サーバコンピュータ又はパーソナルコンピュータ)を含んでいてもよく、当該コンピュータによって各無人航空機10の飛行制御が実行されてもよい。この場合、無人航空機10及び操縦機20は、インターネットなどのネットワークを介して当該コンピュータと通信可能であってもよい。例えば、データ記憶部100は、無人航空機制御システムS内のデータベースサーバにより実現されてもよいし、無人航空機制御システムS外のデータベースサーバにより実現されてもよい。
また例えば、上記説明した各機能は、無人航空機制御システムSの何れかのコンピュータで実現されるようにすればよく、無人航空機10、操縦機20又はサーバなどの他のコンピュータで各機能が分担されていてもよい。例えば、飛行制御部105が操縦機20又はサーバで実現され、無人航空機10は、操縦機20又はサーバの飛行制御部105から制御内容を取得し、モータの回転を制御してもよい。この場合、操縦情報取得部101、航空機情報取得部102、変更部103、及び指示方向情報取得部104も、操縦機20又はサーバにおいて実現されてもよい。