(58)【調査した分野】(Int.Cl.,DB名)
前記複数の飛行体の飛行の制御を指示するステップは、前記複数の飛行体における隣り合う2つの飛行体の間の距離が等間隔となるよう、前記第2の移動指示を行うステップを含む、
請求項12に記載の飛行制御指示方法。
前記複数の飛行体の飛行の制御を指示するステップは、前記複数の飛行体における隣り合う2つの飛行体の間の距離が閾値以上の距離となるよう、前記第2の移動指示を行うステップを含む、
請求項12または15に記載の飛行制御指示方法。
前記複数の飛行体の飛行の制御を指示するステップは、前記複数の飛行体における隣り合う2つの飛行体により撮像される撮像画像の画像範囲の少なくとも一部が重複するよう、前記第2の移動指示を行うステップを含む、
請求項12、15、16のいずれか1項に記載の飛行制御指示方法。
前記複数の飛行体の飛行の制御を指示するステップは、前記変更操作の情報の取得が終了するまで、前記変更操作に基づく前記複数の飛行体の飛行の制御の指示を反復して実行するステップを含む、
請求項12〜20のいずれか1項に記載の飛行制御指示方法。
【発明を実施するための形態】
【0040】
以下、発明の実施形態を通じて本開示を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らない。
【0041】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイル又はレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0042】
以下の実施形態では、飛行体として、無人航空機(UAV:Unmanned Aerial Vehicle)を例示する。無人航空機は、空中を移動する航空機を含む。本明細書に添付する図面では、無人航空機を「UAV」と表記する。また、情報処理装置として、端末を例示する。なお、情報処理装置は、携帯端末に限らず、PC(personal computer)や送信機(プロポ(proportional controller))であってもよい。また、飛行制御指示方法は、情報処理装置の動作が規定されたものである。また、記録媒体は、プログラム(情報処理装置に各種の処理を実行させるプログラム)が記録されたものである。
【0043】
図1は、実施形態における飛行体群制御システム10の第1構成例を示す模式図である。飛行体群制御システム10は、無人航空機100及び端末80を備える。無人航空機100及び端末80は、相互に有線通信又は無線通信(例えば無線LAN(Local Area Network))により通信可能である。
図1では、端末80が携帯端末(例えばスマートフォン、タブレット端末)であることを例示している。端末80は情報処理装置の一例である。
【0044】
図2Aは、実施形態における飛行体群制御システム10の第2構成例を示す模式図である。
図2Aでは、端末80がPCであることを例示している。
図1及び
図2Aのいずれであっても、端末80が有する機能は同じでよい。
【0045】
図2Bは、実施形態における飛行体群制御システム10の第3構成例を示す模式図である。
図2Bでは、飛行体群制御システム10は、無人航空機100、送信機50、及び端末80を備えた構成である。無人航空機100、送信機50、及び端末80は、相互に有線通信又は無線通信により通信可能である。また、端末80は、送信機50を介して又は送信機50を介さずに、無人航空機100と通信してよい。
【0046】
図3は、無人航空機100の具体的な外観の一例を示す図である。
図3には、無人航空機100が移動方向STV0に飛行する場合の斜視図が示される。無人航空機100は飛行体の一例である。
【0047】
図3に示すように、地面と平行であって移動方向STV0に沿う方向にロール軸(x軸参照)が定義されたとする。この場合、地面と平行であってロール軸に垂直な方向にピッチ軸(y軸参照)が定められ、更に、地面に垂直であってロール軸及びピッチ軸に垂直な方向にヨー軸(z軸参照)が定められる。
【0048】
無人航空機100は、UAV本体102と、ジンバル200と、撮像部220と、複数の撮像部230とを含む構成である。
【0049】
UAV本体102は、複数の回転翼(プロペラ)を備える。UAV本体102は、複数の回転翼の回転を制御することにより無人航空機100を飛行させる。UAV本体102は、例えば4つの回転翼を用いて無人航空機100を飛行させる。回転翼の数は、4つに限定されない。また、無人航空機100は、回転翼を有さない固定翼機でもよい。
【0050】
撮像部220は、所望の撮像範囲に含まれる被写体(例えば、撮像対象となる上空の様子、山や川等の景色、地上の建物)を撮像する撮像用のカメラである。
【0051】
複数の撮像部230は、無人航空機100の飛行を制御するために無人航空機100の周囲を撮像するセンシング用のカメラである。2つの撮像部230が、無人航空機100の機首である正面に設けられてよい。さらに、他の2つの撮像部230が、無人航空機100の底面に設けられてよい。正面側の2つの撮像部230はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像部230もペアとなり、ステレオカメラとして機能してよい。複数の撮像部230により撮像された画像に基づいて、無人航空機100の周囲の3次元空間データが生成されてよい。なお、無人航空機100が備える撮像部230の数は4つに限定されない。無人航空機100は、少なくとも1つの撮像部230を備えていればよい。無人航空機100は、無人航空機100の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像部230を備えてよい。撮像部230で設定できる画角は、撮像部220で設定できる画角より広くてよい。撮像部230は、単焦点レンズ、魚眼レンズ、又はズームレンズを有してよい。
【0052】
図4は、無人航空機100のハードウェア構成の一例を示すブロック図である。無人航空機100は、UAV制御部110と、通信インタフェース150と、メモリ160と、ストレージ170と、ジンバル200と、回転翼機構210と、撮像部220と、撮像部230と、GPS受信機240と、慣性計測装置(IMU:Inertial Measurement Unit)250と、磁気コンパス260と、気圧高度計270と、超音波センサ280と、レーザー測定器290と、を含む構成である。
【0053】
UAV制御部110は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)又はDSP(Digital Signal Processor)を用いて構成される。UAV制御部110は、無人航空機100の各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。
【0054】
UAV制御部110は、メモリ160に格納されたプログラムに従って無人航空機100の飛行を制御する。UAV制御部110は、送信機50や端末80による飛行の制御の指示に従って、飛行を制御してよい。UAV制御部110は、撮像部220や撮像部230に画像を撮像させてよい。
【0055】
UAV制御部110は、無人航空機100の位置を示す位置情報を取得する。UAV制御部110は、GPS受信機240から、無人航空機100が存在する緯度、経度及び高度を示す位置情報を取得してよい。UAV制御部110は、GPS受信機240から無人航空機100が存在する緯度及び経度を示す緯度経度情報、並びに気圧高度計270から無人航空機100が存在する高度を示す高度情報をそれぞれ位置情報として取得してよい。UAV制御部110は、超音波センサ280による超音波の放射点と超音波の反射点との距離を高度情報として取得してよい。
【0056】
UAV制御部110は、磁気コンパス260から無人航空機100の向きを示す向き情報を取得してよい。向き情報は、例えば無人航空機100の機首の向きに対応する方位で示されてよい。
【0057】
UAV制御部110は、撮像部220が撮像すべき撮像範囲を撮像する時に無人航空機100が存在すべき位置を示す位置情報を取得してよい。UAV制御部110は、無人航空機100が存在すべき位置を示す位置情報をメモリ160から取得してよい。UAV制御部110は、無人航空機100が存在すべき位置を示す位置情報を、通信インタフェース150を介して他の装置から取得してよい。UAV制御部110は、3次元地図データベースを参照して、無人航空機100が存在可能な位置を特定して、その位置を無人航空機100が存在すべき位置を示す位置情報として取得してよい。
【0058】
UAV制御部110は、撮像部220及び撮像部230のそれぞれの撮像範囲を示す撮像範囲情報を取得してよい。UAV制御部110は、撮像範囲を特定するためのパラメータとして、撮像部220及び撮像部230の画角を示す画角情報を撮像部220及び撮像部230から取得してよい。UAV制御部110は、撮像範囲を特定するためのパラメータとして、撮像部220及び撮像部230の撮像方向を示す情報を取得してよい。UAV制御部110は、例えば撮像部220の撮像方向を示す情報として、ジンバル200から撮像部220の姿勢の状態を示す姿勢情報を取得してよい。撮像部220の姿勢情報は、ジンバル200のピッチ軸及びヨー軸の基準回転角度からの回転角度を示してよい。
【0059】
UAV制御部110は、撮像範囲を特定するためのパラメータとして、無人航空機100が存在する位置を示す位置情報を取得してよい。UAV制御部110は、撮像部220及び撮像部230の画角及び撮像方向、並びに無人航空機100が存在する位置に基づいて、撮像部220が撮像する地理的な範囲を示す撮像範囲を画定し、撮像範囲情報を生成することで、撮像範囲情報を取得してよい。
【0060】
UAV制御部110は、メモリ160から撮像範囲情報を取得してよい。UAV制御部110は、通信インタフェース150を介して撮像範囲情報を取得してよい。
【0061】
UAV制御部110は、ジンバル200、回転翼機構210、撮像部220及び撮像部230を制御する。UAV制御部110は、撮像部220の撮像方向又は画角を変更することによって、撮像部220の撮像範囲を制御してよい。UAV制御部110は、ジンバル200の回転機構を制御することで、ジンバル200に支持されている撮像部220の撮像範囲を制御してよい。
【0062】
撮像範囲とは、撮像部220又は撮像部230により撮像される地理的な範囲をいう。撮像範囲は、緯度、経度、及び高度で定義される。撮像範囲は、緯度、経度、及び高度で定義される3次元空間データにおける範囲でよい。撮像範囲は、緯度及び経度で定義される2次元空間データにおける範囲でもよい。撮像範囲は、撮像部220又は撮像部230の画角及び撮像方向、並びに無人航空機100が存在する位置に基づいて特定されてよい。撮像部220及び撮像部230の撮像方向は、撮像部220及び撮像部230の撮像レンズが設けられた正面が向く方位と俯角とから定義されてよい。撮像部220の撮像方向は、無人航空機100の機首の方位と、ジンバル200に対する撮像部220の姿勢の状態とから特定される方向でよい。撮像部230の撮像方向は、無人航空機100の機首の方位と、撮像部230が設けられた位置とから特定される方向でよい。
【0063】
UAV制御部110は、複数の撮像部230により撮像された複数の画像を解析することで、無人航空機100の周囲の環境を特定してよい。UAV制御部110は、無人航空機100の周囲の環境に基づいて、例えば障害物を回避して飛行を制御してよい。
【0064】
UAV制御部110は、無人航空機100の周囲に存在するオブジェクトの立体形状(3次元形状)を示す立体情報(3次元情報)を取得してよい。オブジェクトは、例えば、建物、道路、車、木等の風景の一部でよい。立体情報は、例えば、3次元空間データである。UAV制御部110は、複数の撮像部230から得られたそれぞれの画像から、無人航空機100の周囲に存在するオブジェクトの立体形状を示す立体情報を生成することで、立体情報を取得してよい。UAV制御部110は、メモリ160又はストレージ170に格納された3次元地図データベースを参照することにより、無人航空機100の周囲に存在するオブジェクトの立体形状を示す立体情報を取得してよい。UAV制御部110は、ネットワーク上に存在するサーバが管理する3次元地図データベースを参照することで、無人航空機100の周囲に存在するオブジェクトの立体形状に関する立体情報を取得してよい。
【0065】
UAV制御部110は、回転翼機構210を制御することで、無人航空機100の飛行を制御する。つまり、UAV制御部110は、回転翼機構210を制御することにより、無人航空機100の緯度、経度、及び高度を含む位置を制御する。UAV制御部110は、無人航空機100の飛行を制御することにより、撮像部220の撮像範囲を制御してよい。UAV制御部110は、撮像部220が備えるズームレンズを制御することで、撮像部220の画角を制御してよい。UAV制御部110は、撮像部220のデジタルズーム機能を利用して、デジタルズームにより、撮像部220の画角を制御してよい。
【0066】
撮像部220が無人航空機100に固定され、撮像部220を動かせない場合、UAV制御部110は、特定の日時に特定の位置に無人航空機100を移動させることにより、所望の環境下で所望の撮像範囲を撮像部220に撮像させてよい。あるいは撮像部220がズーム機能を有さず、撮像部220の画角を変更できない場合でも、UAV制御部110は、特定された日時に、特定の位置に無人航空機100を移動させることで、所望の環境下で所望の撮像範囲を撮像部220に撮像させてよい。
【0067】
通信インタフェース150は、端末80や送信機50と通信する。通信インタフェース150は、任意の無線通信方式により無線通信してよい。通信インタフェース150は、任意の有線通信方式により有線通信してよい。通信インタフェース150は、撮像画像や撮像画像に関する付加情報(メタデータ)を、端末80や送信機50に送信してよい。付加情報は、撮像範囲に関する情報を含んでよい。
【0068】
メモリ160は、UAV制御部110がジンバル200、回転翼機構210、撮像部220、撮像部230、GPS受信機240、慣性計測装置250、磁気コンパス260、気圧高度計270、超音波センサ280、及びレーザー測定器290を制御するのに必要なプログラム等を格納する。メモリ160は、コンピュータ読み取り可能な記録媒体でよく、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、及びUSB(Universal Serial Bus)メモリ等のフラッシュメモリの少なくとも1つを含んでよい。メモリ160は、UAV本体102から取り外し可能であってよい。メモリ160は、作業用メモリとして動作してよい。
【0069】
ストレージ170は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、SDカード、USBメモリ、その他のストレージの少なくとも1つを含んでよい。ストレージ170は、各種情報、各種データを保持してよい。ストレージ170は、UAV本体102から取り外し可能であってよい。ストレージ170は、撮像画像や合成画像を記録してよい。
【0070】
ジンバル200は、ヨー軸、ピッチ軸、及びロール軸を中心に撮像部220を回転可能に支持してよい。ジンバル200は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像部220を回転させることで、撮像部220の撮像方向を変更してよい。
【0071】
回転翼機構210は、複数の回転翼と、複数の回転翼を回転させる複数の駆動モータと、を有する。回転翼機構210は、UAV制御部110により回転を制御されることにより、無人航空機100を飛行させる。回転翼211の数は、例えば4つでもよいし、その他の数でもよい。回転翼211の数が多い程、無人航空機100の揚力が大きくなる。
【0072】
GPS受信機240は、複数の航法衛星(つまり、GPS衛星)から発信された時刻及び各GPS衛星の位置(座標)を示す複数の信号を受信する。GPS受信機240は、受信された複数の信号に基づいて、GPS受信機240の位置(つまり、無人航空機100の位置)を算出する。GPS受信機240は、無人航空機100の位置情報をUAV制御部110に出力する。なお、GPS受信機240の位置情報の算出は、GPS受信機240の代わりにUAV制御部110により行われてよい。この場合、UAV制御部110には、GPS受信機240が受信した複数の信号に含まれる時刻及び各GPS衛星の位置を示す情報が入力される。
【0073】
慣性計測装置250は、無人航空機100の姿勢を検出し、検出結果をUAV制御部110に出力する。慣性計測装置250は、無人航空機100の姿勢として、無人航空機100の前後、左右、及び上下の3軸方向の加速度と、ピッチ軸、ロール軸、及びヨー軸の3軸方向の角速度とを検出してよい。
【0074】
磁気コンパス260は、無人航空機100の機首の方位を検出し、検出結果をUAV制御部110に出力する。
【0075】
気圧高度計270は、無人航空機100が飛行する高度を検出し、検出結果をUAV制御部110に出力する。
【0076】
超音波センサ280は、超音波を放射し、地面や物体により反射された超音波を検出し、検出結果をUAV制御部110に出力する。検出結果は、無人航空機100から地面までの距離つまり高度を示してよい。検出結果は、無人航空機100から物体(被写体)までの距離を示してよい。
【0077】
レーザー測定器290は、物体にレーザー光を照射し、物体で反射された反射光を受光し、反射光により無人航空機100と物体(被写体)との間の距離を測定する。レーザー光による距離の測定方式は、一例として、タイムオブフライト方式でよい。
【0078】
図5は、端末80のハードウェア構成の一例を示すブロック図である。端末80は、端末制御部81、操作部83、通信部85、メモリ87、表示部88、及びストレージ89を備える。端末80は、複数の無人航空機100の飛行制御の指示を希望するユーザに所持され得る。
【0079】
端末制御部81は、例えばCPU、MPU又はDSPを用いて構成される。端末制御部81は、端末80の各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。端末制御部81は、処理部の一例である。
【0080】
端末制御部81は、通信部85を介して、無人航空機100からのデータや情報(例えば、各種計測データ、画像データ、無人航空機100の位置情報)を取得してもよい。端末制御部81は、操作部83を介して入力されたデータや情報を取得してもよい。端末制御部81は、メモリ87に保持されたデータや情報を取得してもよい。端末制御部81は、通信部85を介して、無人航空機100へ、データや情報を送信させてもよい。端末制御部81は、データや情報を表示部88に送り、このデータや情報に基づく表示情報を表示部88に表示させてもよい。
【0081】
端末制御部81は、複数の無人航空機100(無人航空機群100Gとも称する)の飛行制御を指示するためのアプリケーションを実行してもよい。端末制御部81は、アプリケーションで用いられる各種のデータを生成してもよい。
【0082】
操作部83は、端末80のユーザにより入力されるデータや情報を受け付けて取得する。操作部83は、ボタン、キー、タッチスクリーン、マイクロホン、等の入力装置を含んでもよい。ここでは、主に、操作部83と表示部88とがタッチパネルTPにより構成されることを例示する。この場合、操作部83は、タッチ操作、タップ操作、ドラック操作、ピンチイン操作、ピンチアウト操作、ツイスト操作、フリック操作、等を受付可能である。操作部83により入力された情報は、無人航空機100へ送信されてもよい。
【0083】
通信部85は、各種の無線通信方式により、無人航空機100との間で無線通信する。この無線通信の無線通信方式は、例えば、無線LAN、Bluetooth(登録商標)、又は公衆無線回線を介した通信を含んでよい。通信部85は、任意の有線通信方式により有線通信してよい。
【0084】
メモリ87は、例えば端末80の動作を規定するプログラムや設定値のデータが格納されたROMと、端末制御部81の処理時に使用される各種の情報やデータを一時的に保存するRAMを有してもよい。メモリ87は、ROM及びRAM以外のメモリが含まれてよい。メモリ87は、端末80の内部に設けられてよい。メモリ87は、端末80から取り外し可能に設けられてよい。プログラムは、アプリケーションプログラムを含んでよい。
【0085】
表示部88は、例えばLCD(Liquid Crystal Display)を用いて構成され、端末制御部81から出力された各種の情報やデータを表示する。表示部88は、アプリケーションの実行に係る各種データや情報を表示してもよい。
【0086】
ストレージ89は、各種データ、情報を蓄積し、保持する。ストレージ89は、HDD、SSD、SDカード、USBメモリ、等でよい。ストレージ89は、端末80の内部に設けられてもよい。ストレージ89は、端末80から取り外し可能に設けられてもよい。ストレージ89は、無人航空機100から取得された撮像画像や合成画像や付加情報を保持してよい。付加情報は、メモリ87に保持されてよい。
【0087】
なお、送信機50(
図2B参照)は、端末80と同様の構成部を有するので、詳細な説明については省略する。送信機50は、制御部、操作部、通信部、メモリ、等を有する。操作部は、例えば、無人航空機100の飛行の制御を指示するためのコントロールスティック(制御棒)を含んでよい。送信機50は、表示部を有し、各種情報を表示してもよい。送信機50は、端末80が有する機能の少なくとも一部を有してもよい。この場合、端末80が省略されてもよい。
【0088】
次に、複数の無人航空機100を含む無人航空機群100Gの飛行制御の指示に関する機能について説明する。
【0089】
端末80の端末制御部81は、無人航空機群100Gの飛行制御の指示に関する処理を行う。無人航空機群100Gは、互いに連携して飛行する複数の無人航空機100で編成される。無人航空機群100Gにおける各無人航空機100の撮像部220又は撮像部230は、例えば地表に対して(重力方向に沿う方向を)、撮像(空撮)を行う。各無人航空機100のUAV制御部110は、通信インタフェース150を介して、撮像部220又は撮像部230で撮像された画像データを端末80に送信する。なお、撮像部220,230は、画角が固定された単焦点レンズ(単眼レンズ)を有してもよいし、ズームレンズを有してもよい。
【0090】
図6は、複数の無人航空機100によって撮像される画像を基に生成される合成画像を示す図である。端末80の端末制御部81は、通信部85を介して、無人航空機群100Gの各無人航空機100から受信した複数の画像データをメモリ87に記憶させる。端末制御部81は、無人航空機群100Gで撮像された複数の画像gm1〜gm9を基に、合成画像GZを生成する。合成画像GZにおいて、図中斜線で示される領域は、複数の画像gm1〜gm9が重なっている部分である。合成画像GZは、例えばパノラマ画像、距離画像、ステレオ画像、3次元画像、等であってよい。
【0091】
合成画像GZの外周部に囲まれた範囲が、合成画像GZの画像範囲SAとなる。画像範囲SAは、複数の画像gm1〜gm9の輪郭のうち一番外側の輪郭を連続的に接続した線により囲まれた範囲でよい。画像範囲SAは、各無人航空機100により撮像された撮像画像の各撮像範囲に基づいて定まる。撮像範囲の情報は、各無人航空機100から端末80へ送られる付加情報に含まれる。
【0092】
端末制御部81は、無人航空機群100Gで撮像された複数の画像gm1〜gm9を基に得られる合成画像GZの画像範囲SAを変更する場合、無人航空機群100Gに対し、例えば後述する第1動作例〜第4動作例で示すように、各種の移動制御の指示を行ってよい。例えば、端末制御部81は、無人航空機群100Gの各無人航空機100を移動させることで、画像範囲SAが拡大された合成画像GZ1や、画像範囲SAが縮小された合成画像GZ2を得る。
【0093】
(第1の動作例)
図7は、端末80のタッチパネルTPに対するピンチイン操作及びピンチアウト操作によって、合成画像の画像範囲SAのサイズを拡大又は縮小させる第1動作例を示す図である。第1動作例では、端末制御部81は、ピンチイン操作に応じて、無人航空機群100Gの各無人航空機100を上昇させる。また、端末制御部81は、ピンチアウト操作に応じて、無人航空機群100Gの各無人航空機100を下降させる。ピンチイン操作及びピンチアウト操作は、合成画像の画像範囲SAを変更するための変更操作の1つである。
【0094】
ピンチイン操作又はピンチアウト操作では、例えば、端末制御部81は、タッチパネルTPにおける2つの位置に対する入力の情報を2つの時点で取得し、入力された2つの位置の間の距離を2つの時点でそれぞれ算出する。2つの時点のうち後の時点の距離が前の時点の距離が長い場合、端末制御部81は、ピンチアウト操作を検出する。2つの時点のうち後の時点の距離が前の時点の距離が短い場合、端末制御部81は、ピンチイン操作を検出する。
【0095】
ユーザは、タッチパネルTPに対し、2本の指(例えば親指fg1と人差し指fg2)をタッチした状態で狭めるピンチイン操作を行う。端末制御部81は、タッチパネルTPを介してピンチイン操作及びその操作量を検出する。端末制御部81は、ピンチイン操作を検出すると、その操作量に対応する上昇距離を算出する。上昇距離は、各無人航空機100の飛行高度を高くして上昇するための無人航空機100の移動距離でよい。例えば、操作量が大きい程、上昇距離が長く、操作量が小さい程、上昇距離が短くてよい。
【0096】
端末制御部81は、各無人航空機群100Gに対し、通信部85を介して、算出した上昇距離分の上昇を指示するための指示情報を送信する。無人航空機群100Gの各無人航空機100のUAV制御部110は、通信インタフェース150を介して、この指示情報を受信する。UAV制御部110は、受信した指示情報に従って、回転翼機構210を駆動し、ピンチインの操作量に応じた上昇距離分、各無人航空機100を上昇させる。
【0097】
なお、無人航空機群100Gに属する各無人航空機100の飛行高度はピンチイン操作前には同じでもよいし、異なっていてもよい。上昇距離については、各無人航空機100で同じである。つまり、各無人航空機100で高度の変更量は同じである。なお、各無人航空機100で高度の変更量が異なるようにしてもよい。
【0098】
各無人航空機100の撮像部220によって撮像される各撮像範囲は、例えば、各無人航空機100の上昇によって領域Sq1から領域Sq2に拡大する。この結果、無人航空機群100Gの各無人航空機100により撮像された撮像画像に基づく合成画像の画像範囲SAは、上昇前と比較して拡大する。
【0099】
ユーザは、タッチパネルTPに対し、2本の指(例えば親指fg1と人差し指fg2)をタッチした状態で拡げるピンチアウト操作を行う。端末制御部81は、タッチパネルTPを介してピンチアウト操作及びその操作量を検出する。端末制御部81は、ピンチアウト操作を検出すると、その操作量に対応する下降距離を算出する。下降距離は、各無人航空機100の飛行高度を低くして下降するための無人航空機100の移動距離でよい。例えば、操作量が大きい程、下降距離が長く、操作量が小さい程、下降距離が短くてよい。
【0100】
端末制御部81は、無人航空機群100Gに対し、通信部85を介して、算出した下降距離分の下降を指示するための指示情報を送信する。無人航空機群100Gの各無人航空機100のUAV制御部110は、通信インタフェース150を介して、この指示情報を受信する。UAV制御部110は、受信した指示情報に従って、回転翼機構210を駆動し、無人航空機100をピンチアウトの操作量に応じた下降距離分、各無人航空機100を下降させる。
【0101】
なお、無人航空機群100Gに属する各無人航空機100の飛行高度はピンチアウト操作前には同じでもよいし、異なっていてもよい。下降距離については、各無人航空機100で同じである。つまり、各無人航空機100で高度の変更量は同じである。なお、各無人航空機100で高度の変更量が異なるようにしてもよい。
【0102】
各無人航空機100の撮像部220によって撮像される各撮像範囲は、例えば、各無人航空機100の下降によって領域Sq2から領域Sq1に縮小する。この結果、無人航空機群100Gの各無人航空機100により撮像された撮像画像に基づく合成画像の画像範囲SAは、下降前と比較して縮小する。
【0103】
無人航空機群100Gを上昇又は下降させて高度を変更する場合、各無人航空機100に搭載された撮像部220が撮像する撮像範囲の変化は、無人航空機群100Gの各無人航空機100が水平方向に移動する場合と比較して、小さい。この場合、端末80は、ピンチイン操作又はピンチアウト操作によって、各無人航空機群100Gの撮像に係る撮像範囲を細かく調整でき、よって、合成画像の画像範囲SAを細かく調整できる。
【0104】
また、ユーザがピンチイン操作又はピンチアウト操作を行う際、端末制御部81は、操作部83を介して、指移動の操作及びその操作量(操作範囲)の他、指移動の速度を検出してもよい。端末制御部81は、指移動の速度を検出した場合、その指移動の速度に対応する速度で、無人航空機群100Gの各無人航空機100を上昇又は下降させるよう、速度を指示情報に含めて無人航空機群100Gの各無人航空機100へ送信してよい。無人航空機群100Gの各無人航空機100のUAV制御部110は、通信インタフェース150を介して、この指示情報を受信してよい。UAV制御部110は、指示情報に従って、指移動の速度に対応する速度で、無人航空機100を上昇又は下降させてよい。これにより、端末80は、ユーザ操作に応じて、合成画像の画像範囲SAのサイズを変化させるスピードを任意に変更できる。
【0105】
このように、端末制御部81は、合成画像の画像範囲SA(第1の画像範囲の一例)のサイズを変更するためのピンチイン操作又はピンチアウト操作(変更操作の一例)の情報を取得してよい。端末制御部81は、ピンチイン操作又はピンチアウト操作に基づいて、水平方向と垂直な方向(高度方向)への複数の無人航空機100の移動を指示してよい。この指示は、第1の移動指示の一例である。
【0106】
これにより、端末80は、高度方向へ各無人航空機100を移動させることで、水平方向へ各無人航空機100を移動させる場合よりも、合成画像の画像範囲SAの変化が小さいので、微調整に有益である。例えば、無人航空機100が飛行可能な区域が水平方向において制限されている等、水平方向への無人航空機100の移動が困難な場合でも、画像範囲SAのサイズを変更できる。
【0107】
また、端末制御部81は、複数の無人航空機100が高度方向のいて同一の距離移動するよう、複数の無人航空機100の飛行の制御を指示してよい。これにより、各無人航空機100により撮像される撮像画像の撮像範囲のそれぞれの大小関係が、変更操作の前後で維持されるので、端末80は、これらの撮像画像を基に生成される合成画像の画像範囲SAの画質を維持できる。
【0108】
(第2の動作例)
図8は、端末80のタッチパネルTPに対するピンチイン操作及びピンチアウト操作によって、合成画像の画像範囲SAのサイズを拡大又は縮小させる第2動作例を示す図である。第2動作例では、端末制御部81は、ピンチイン操作に応じて、無人航空機群100Gを水平方向に拡げる(拡張させる)。また、端末制御部81は、ピンチアウト操作に応じて、無人航空機群100Gを水平方向に縮める(収縮させる)。
【0109】
本実施形態では、無人航空機群100Gの拡張とは、無人航空機群100Gに属する各無人航空機100の間隔が大きくなることを指し、実空間における無人航空機群100Gが存在する範囲が拡がる(拡張される)を指してよい。無人航空機群100Gの収縮とは、無人航空機群100Gに属する各無人航空機100の間隔が小さくなることを指し、実空間における無人航空機群100Gが存在する範囲が縮まる(収縮される)を指してよい。
【0110】
ユーザは、タッチパネルTPに対し、ピンチイン操作を行う。端末制御部81は、タッチパネルの操作部83を介してピンチイン操作及びその操作量を検出する。端末制御部81は、ピンチイン操作を検出すると、その操作量に対応する拡張距離を算出する。拡張距離は、隣り合う無人航空機100の間隔を大きくするための無人航空機100の移動距離でよい。例えば、操作量が大きい程、拡張距離が長く、操作量が小さい程、拡張距離が短くてよい。
【0111】
端末制御部81は、無人航空機群100Gに対し、通信部85を介して、算出した拡張距離分の拡張を指示するための指示情報を送信する。無人航空機群100Gの各無人航空機100は、通信インタフェース150を介して、この指示情報を受信する。UAV制御部110は、受信した情報指示に従って、無人航空機100をピンチインの操作量に応じた距離だけ拡張距離分、各無人航空機100を水平方向に移動させる。
【0112】
例えば、無人航空機群100Gに属する複数の無人航空機100のうち中心に位置する無人航空機100oに対し、無人航空機100fによって撮像される撮像範囲は、無人航空機100fの移動によって領域Sq3から領域Sq4に移動する。この結果、2つの無人航空機100o,100fによって撮像される撮像範囲は、領域Sq5から領域Sq6に拡がる。したがって、無人航空機群100Gの各無人航空機100により撮像された複数の撮像画像に基づく合成画像の画像範囲SAは、無人航空機群100Gの拡張前と比較して拡大する。
【0113】
ユーザは、タッチパネルTPに対し、ピンチアウト操作を行う。端末制御部81は、タッチパネルTPを介してピンチアウト操作及びその操作量を検出する。端末制御部81は、ピンチアウト操作を検出すると、その操作量に対応する収縮距離を算出する。収縮距離は、隣り合う無人航空機100の間隔を小さくするための無人航空機100の移動距離でよい。例えば、操作量が大きい程、収縮距離が長く、操作量が小さい程、収縮距離が短くてよい。
【0114】
端末制御部81は、無人航空機群100Gに対し、通信部85を介して、算出した収縮距離分の収縮を指示するための指示情報を送信する。無人航空機群100Gの各無人航空機100は、通信インタフェース150を介して、この指示情報を受信する。UAV制御部110は、受信した指示情報に従って、回転翼機構210を駆動し、無人航空機100をピンチアウトの操作量に応じた収縮距離分、各無人航空機100を水平方向に移動させる。
【0115】
例えば、無人航空機群100Gに属する複数の無人航空機100のうち中心に位置する無人航空機100oに対し、無人航空機100fによって撮像される撮像範囲は、無人航空機100fの移動によって領域Sq4から領域Sq3に移動する。この結果、2つの無人航空機100o,100fによって撮像される撮像範囲は、領域Sq6から領域Sq5に縮まる。したがって、無人航空機群100Gの各無人航空機100により撮像された撮像画像に基づく合成画像の画像範囲SAは、無人航空機群100Gの収縮前と比較して、縮小する。
【0116】
無人航空機群100Gの各無人航空機100を水平方向に移動させる場合、各無人航空機100を高度方向(重力方向、水平方向と垂直な方向)に移動させる場合よりも、各無人航空機100の撮像部220が撮像する撮像範囲の変化が大きい。したがって、端末80は、ピンチイン操作又はピンチアウト操作によって、各無人航空機100による撮像によって得られる合成画像の画像範囲SAを粗く調整でき、高速に調整できる。
【0117】
また、ユーザがピンチイン操作またはピンチアウト操作を行う際、端末制御部81は、操作部83を介して、指移動の操作及びその操作量(操作範囲)の他、指移動の速度を検出してもよい。端末制御部81は、指移動の速度を検出した場合、その指移動の速度に対応する速度で、無人航空機群100Gが拡張又は縮小するよう、指示情報に含めて無人航空機群100Gの各無人航空機100へ送信してよい。無人航空機群100Gの各無人航空機100のUAV制御部110は、通信インタフェース150を介して、この指示情報を受信してよい。UAV制御部110は、指示情報に従って、指移動の速度に対応する速度で、各無人航空機100の間隔を拡張又は縮小させてよい。端末80は、ユーザ操作に応じて、合成画像の画像範囲SAを変化させるスピードを任意に変更できる。
【0118】
端末制御部81は、水平方向に無人航空機群100Gに属する各無人航空機100を移動させる場合、以下の制約を考慮してよい。
【0119】
例えば、無人航空機群100Gが収縮する場合、端末制御部81は、無人航空機100間の距離を安全距離(例えば3〜4m)以上に確保されるように、つまり隣り合う無人航空機100の間の距離が閾値th1以上となるように、複数の無人航空機100の飛行の制御を指示してよい。これにより、端末80は、複数の無人航空機100が同時に水平方向に移動する場合でも、隣り合う無人航空機100が互いに過度に接近して衝突することを抑制できる。
【0120】
例えば、無人航空機群100Gが拡張する場合、端末制御部81は、隣り合う無人航空機100の撮像部220又は撮像部230の撮像範囲(撮像画像の画像範囲)の少なくとも一部が重複するように、つまり隣り合う無人航空機100の間隔が閾値th2以下となるように、複数の無人航空機100の飛行の制御を指示してよい。これにより、端末80は、無人航空機群100Gに属する複数の無人航空機100により撮像される複数の撮像画像の間においてオーバーラップを確保でき、合成画像を確実に生成できる。
【0121】
図9は、ユーザによるピンチイン操作及びピンチアウト操作によって各無人航空機100を水平方向に移動させる場合に、各無人航空機100が移動する距離の算出例を説明する図である。
【0122】
図9では、9つの無人航空機100c〜100k(100c,100d,100e,100f,100o,100h,100i,100j,100k)が矩形状の格子点を形成
するように配置される。
図9は、無人航空機群100Gを正面又は背面から見た図でもよいし、無人航空機群100Gを真上又は真下から見た図でもよい。無人航空機群100Gに属する無人航空機100の数は一例であり、9つ以外でもよい。
【0123】
9つの無人航空機100c〜100kのうち、中心に位置する無人航空機100oの位置を座標(0,0)とする。無人航空機100oに対し、図中右方向に隣り合う無人航空機100fの位置を座標(xf,yf)とする。無人航空機100oに対し、図中右斜め上方向に隣り合う無人航空機100kの位置を座標(xk,yk)とする。無人航空機100oの位置は基準点の一例である。
【0124】
ユーザがタッチパネルTPに対しピンチイン操作を行った場合、端末制御部81は、ピンチイン操作の操作量を操作部83から取得する。端末制御部81は、ピンチインの操作量を基に、無人航空機100oの位置からそれぞれ移動する各無人航空機100(100c,100d,100e,100f,100h,100i,100j,100k)の移動
量を、飛行隊形を維持するように算出する。
【0125】
飛行隊形とは、無人航空機群100Gに属する各無人航空機100が飛行する際に形成する飛行形状であり、各無人航空機100の位置関係により定まってよい。飛行隊形は、3次元空間における隊形で示されてよいし、二次元空間における隊形で示されてよい。3次元空間における飛行隊形の形状は、多角柱形状、多角錐形状、球体形状、楕円体形状、その他の3次元形状を含んでよい。2次元空間における飛行隊形の形状は、多角形状、円形状、楕円形状、その他の2次元形状を含んでよい。
【0126】
端末制御部81は、ピンチイン操作の操作量に応じて、無人航空機群100Gが拡がる際の拡張率を算出してよい。操作量と拡張率との関係性は、線形性を有してもよいし、非線形性を有してもよい。拡張率は、無人航空機群100Gに属する各無人航空機100の、移動前後における基準位置に対する距離の拡張率であってよい。各無人航空機100が、算出された拡張率に対応する位置に移動するように、端末制御部81は、移動前の各無人航空機100の位置からの移動量(拡張距離)を算出してよい。なお、無人航空機100毎に基準位置までの距離が異なるので、算出される拡張距離は無人航空機100毎に異なってよい。したがって、各無人航空機100へ送られる指示情報に含まれる拡張距離は、無人航空機100毎に異なってよい。
【0127】
また、例えば、端末制御部81は、無人航空機100fを図中右方向に移動させるための移動量df、及び無人航空機100kを図中右斜め上方向に移動させるための移動量dkを算出する。飛行隊形が正方形である場合、飛行隊形を維持するように算出される移動量dkと移動量dfの関係は、例えば式(1)で表される。
移動量dk = 2
1/2*移動量df ……(1)
式(1)において、(1/2)乗は、平方根(√)を示す。アスタリスク(*)は、乗算符号を示す。移動後の無人航空機100fの位置は、
図9における座標(xf1,yf1)である。移動後の無人航空機100kの位置は、
図9における座標(x1k,y1k)である。
【0128】
ここでは、端末制御部81は、無人航空機群100Gの中心を基準点とし、基準点から各無人航空機100が拡がる(遠ざかる)、又は基準点に向かって各無人航空機100が狭まる(近づく)ように、各無人航空機100の移動量を算出する場合を示した。なお、無人航空機群100Gの中心を基準点とすることなく、無人航空機群100Gにおける任意の位置(例えば任意の無人航空機100の位置)が基準点にされてもよい。また、無人航空機群100Gの飛行隊形が三角形である場合、基準点は三角形の重心や中心でよい。さらに、端末制御部81は、飛行隊形を維持することなく、飛行隊形が変化するように、各無人航空機100の位置を算出してもよい。
【0129】
なお、端末制御部81は、ピンチイン操作の場合と同様に、ピンチアウト操作においても、上記移動量(収縮距離に相当)の算出を同様に行ってよい。ピンチアウト操作では、ピンチイン操作の場合と比較して、無人航空機群100Gの拡張、収縮が逆になる。
【0130】
このように、端末制御部81は、ピンチイン操作又はピンチアウト操作に基づいて、水平方向への複数の無人航空機100の移動を指示してよい。この指示は、第2の移動指示の一例である。
【0131】
これにより、端末80は、画像範囲SAの変更操作に伴って水平方向へ各無人航空機100を移動させることで、高度方向へ各無人航空機100が移動する場合よりも、合成画像の画像範囲SAの変化を大きくできる。したがって、水平方向へ各無人航空機100を移動させることは、大まかな画像範囲SAの調整に有益であり、調整速度も高速となる。また、端末80は、例えば、飛行可能区域が高度方向において制限されている等、高度方向への無人航空機100の移動が困難な場合でも、画像範囲SAのサイズを変更できる。
【0132】
また、端末制御部81は、各無人航空機100の水平方向への移動の結果、隣り合う2つの無人航空機100の間の距離のそれぞれが同じ距離となるよう、複数の無人航空機100の飛行の制御を指示してよい。つまり、
図9に例示するように、無人航空機群100Gにおける各無人航空機100間の間隔のそれぞれが等間隔となってよい。
【0133】
これにより、各無人航空機100により撮像される撮像画像の重複部分の面積が統一され、同じになる。したがって、合成画像の画像範囲SAにおいて合成画像の各部分を生成するための情報量が同程度に統一されるので、端末80は、合成画像の画像品質を高くできる。
【0134】
図10は、動作モードの設定画面の一例を示す図である。
図10では、タッチパネルTPの操作画面及びその操作例が示されている。この動作モードは、ピンチイン操作及びピンチアウト操作時に各無人航空機100を高度方向に移動させるか水平方向に移動させるかを決定するための動作モードである。動作モードは、例えば、細かく調整する微調整モード、粗く調整する粗調整モード、細かく調整するか粗く調整するかを自動的に決定する自動モード、を含んでよい。
【0135】
端末制御部81は、タッチパネルTPに、微調整モードを選択するためのfineボタンbn1、粗調整モードを選択するためのcoarseボタンbn2、及び自動モードを選択するためのautoボタンbn3を表示させる。微調整モードでは、第1動作例で示した無人航空機群100Gの上昇/下降によって合成画像の画像範囲SAの変更が行われる。粗調整モードでは、第2動作例で示した無人航空機群100Gの拡張/収縮によって合成画像の画像範囲SAの変更が行われる。自動モードでは、端末制御部81が微調整モードと粗調整モードのいずれかを自動的に決定して、合成画像の画像範囲SAの変更が行われる。
【0136】
端末制御部81は、自動モードにおいて、微調整モードと粗調整モードのいずれかを決定する場合、種々の制約条件を基に判断してよい。端末制御部81は、制約条件の情報を取得し、制約条件を基に、自動モードにおいて微調整モードとするか粗調整モードとするかを決定してよい。例えば、端末制御部81は、制約条件によって水平方向の移動の範囲が制限されている(例えば、地理的に飛行禁止区域が定められている、高層ビルに囲まれたエリアである)場合、自動モードの設定によって微調整モードが設定されてよい。例えば、制約条件によって高度方向の移動の範囲が制限されている(例えば、高度制限されている、室内である)場合、端末制御部81は、自動モードの設定によって粗調整モードを設定してよい。また、端末制御部81は、ピンチイン又はピンチアウトの操作量が大きく、画像範囲SAの変化量が閾値th3以上であることを認識した場合、自動モードの設定によって粗調整モードを設定してよい。また、端末制御部81は、ピンチイン又はピンチアウトの操作量が小さく、画像範囲SAの変化が閾値th3未満であることを認識した場合、自動モードの設定によって微調整モードを設定してよい。
【0137】
端末制御部81は、タッチパネルTPに対するfineボタンbn1、coarseボタンbn2、及びautoボタンbn3のうちいずれかのボタンに対する操作の情報(操作情報の一例)を検出し、動作モードを、検出されたボタンに対応する微調整モード、粗調整モード、自動モードのいずれかに設定する。
【0138】
例えば、微調整モードにおいて、ユーザがタッチパネルTPに対し、ピンチイン操作を行ってよい。端末制御部81は、ピンチイン操作の指移動の範囲(例えば操作量、操作方向)及び指移動の速度(例えば操作速度)を取得してよい。端末制御部81は、指移動の範囲及び速度に対応する、無人航空機群100Gの下降量及び下降速度を算出し、通信部85を介して、無人航空機群100Gを下降させるための指示情報を通知してよい。各無人航空機100のUAV制御部110は、通信インタフェース150を介して、端末80から下降量及び下降速度を含む指示情報を受信すると、この下降量及び下降速度に従って、無人航空機100を移動させてよい。
【0139】
例えば、粗調整モードにおいて、ユーザがタッチパネルTPに対し、ピンチアウト操作を行ってよい。端末制御部81は、ピンチアウト操作の指移動の範囲(例えば操作量、操作方向)及び速度(例えば操作速度)を取得してよい。端末制御部81は、指移動の範囲及び速度に対応する、無人航空機群100Gの水平方向の移動量及び移動速度を算出し、通信部85を介して、無人航空機群100Gを水平方向に移動させるための指示情報を通知してよい。各無人航空機100のUAV制御部110は、通信インタフェース150を介して、端末80から水平方向への移動量及び移動速度を含む指示情報を受信すると、この水平方向への移動量及び移動速度に従って、無人航空機100を移動させてよい。
【0140】
このように、端末制御部81は、複数の無人航空機100が高度方向に移動するよう指示(第1の移動指示の一例)を行うか、複数の無人航空機100が水平方向に移動するよう指示(第2の移動指示の一例)を行うかを、決定してよい。これにより、端末80は、画像範囲SAのサイズを変更する際に、様々な変更方法のバリエーションから1つを決定できる。
【0141】
また、端末制御部81は、複数の無人航空機100の飛行可能区域の制限情報に基づいて、複数の無人航空機100を高度方向に移動させるか水平方向に移動させるかを決定してよい。これにより、端末80は、飛行可能区域の制約を加味して、複数の無人航空機100の移動を指示できる。よって、端末80は、制約条件を加味しつつ、合成画像の画像範囲SAのサイズを変更できる。なお、端末80は、制約条件を加味して複数の無人航空機100の移動を指示する場合、操作部83(例えばタッチパネルTP)へのユーザ操作を受けなくてよく、ユーザ操作を加味しなくてよい。
【0142】
また、端末制御部81は、端末制御部81がタッチパネルTP1に対する各種ボタン(例えば、fineボタンbn1、coarseボタンbn2、autoボタンbn3)の操作の情報を取得し、操作の情報に基づいて、複数の無人航空機100を高度方向に移動させるか水平方向に移動させるかを決定してよい。これにより、端末80は、ユーザ所望の移動指示方法により、各無人航空機100に対して移動を指示できる。
【0143】
(第3動作例)
図11は、タッチパネルTPに対するツイスト操作によって、合成画像の画像範囲SAを回転させる動作例(第3動作例)を示す図である。第3動作例では、無人航空機群100Gを、基準点(例えば無人航空機群100Gの中心点)を中心に、水平方向において回転させる動作を示す。
図11では、各無人航空機100自体は回転(自転とも称する)せず、基準点を中心に、無人航空機群100Gを回転(公転とも称する)させる場合を示す。ツイスト操作は、合成画像の画像範囲SAを変更するための変更操作の1つである。なお、自転では、無人航空機100が移動せずに無人航空機100の向きを変更する。
【0144】
端末80の端末制御部81は、無人航空機群100Gを公転させるとともに、各無人航空機100自体を自転させてもよい。無人航空機群100Gを公転かつ自転させる場合、合成画像の画像範囲SAの輪郭は、無人航空機群100Gの回転の前後で変化しない。例えば、回転前の無人航空機群100Gの飛行隊形が矩形状である場合、回転後の無人航空機群100Gの飛行隊形も同じ矩形状に維持される。一方、端末制御部81が、各無人航空機100自体を自転させずに無人航空機群100Gを公転させる場合、合成画像の画像範囲SAの輪郭は、無人航空機群100Gの回転前後で変化し得る。例えば、回転前の無人航空機群100Gの飛行隊形が矩形状である場合、回転後の無人航空機群100Gの飛行隊形が略平行四辺形の形状に変化し得る。
【0145】
ツイスト操作では、例えば、端末制御部81は、タッチパネルTPにおける2つの位置に対する入力の情報を2つの時点で取得し、入力された2つの位置を結ぶ線を上記の2つの時点で取得(例えば算出)する。端末制御部81は、2つの時点で取得された2つの線が成す角度(回転角度)を算出し、算出した角度が閾値th4以上である場合、ツイスト操作を検出してよい。
【0146】
ユーザは、タッチパネルTPに対し、2本の指(例えば親指fg1と人差し指fg2)をタッチした状態で捻るツイスト操作を行う。端末制御部81は、タッチパネルTPを介して、ツイスト操作及びその操作量を検出する。端末制御部81は、ツイスト操作を検出すると、その操作量に応じた回転角度を算出する。回転角度は、回転前後で無人航空機群100Gが回転する角度、つまり無人航空機群100Gの各無人航空機100が基準点を中心に回転する角度を示す。例えば、操作量が大きい程、回転角度が大きく、操作量が小さい程、上昇距離が小さくよい。
【0147】
端末制御部81は、無人航空機群100Gの各無人航空機100に対し、通信部85を介して、算出した回転角度分の回転を指示するための指示情報を送信する。無人航空機群100Gの各無人航空機100は、通信インタフェース150を介して、この指示情報を受信する。UAV制御部110は、受信した指示情報に従って、回転翼機構210を駆動し、基準点を中心に無人航空機群100Gが回転角度分、回転するように、各無人航空機100を移動させる。
【0148】
図12は、ユーザによるツイスト操作によって無人航空機群100Gを回転させる場合の回転角度θの算出例を説明する図である。回転角度θは、例えば、操作前(回転前)のタッチパネルTPに対する親指fg1の接点と人差し指fg2の接点を結ぶ直線と、操作後のタッチパネルTPに対する親指fg1の接点と人差し指fg2の接点を結ぶ直線と、が成す角度でよい。回転角度θは、上記2つの直線がなす角度に、所定の演算(例えば所定の係数を乗算)を行った値であってもよい。
【0149】
図12では、
図9と同様、9つの無人航空機100c〜100kが矩形状の格子点を形成するように配置されている場合を示す。9つの無人航空機100c〜100kのうち、中心に位置する無人航空機100oに対し、図中左斜め上方向の無人航空機100iの位置を座標(xi,yi)とする。
【0150】
ユーザがタッチパネルTPに対しツイスト操作を行った場合、端末制御部81は、ツイスト操作の操作量を操作部83から取得する。端末制御部81は、ツイスト操作量を基に、回転角度θを算出する。端末制御部81は、回転角度θを基に、基準点の一例である無人航空機100oを中心に、無人航空機100iが移動する位置の座標(x´i,y´i)を算出する。この場合、端末制御部81は、回転行列を用いた式(2)に従って算出してよい。
【0152】
端末制御部81は、無人航空機群100Gが回転するように各無人航空機100を移動させるための指示情報を送信する。この場合、端末制御部81は、算出した回転後の無人航空機群100Gの位置の座標を含む指示情報を、通信部85を介して、無人航空機群100Gに通知してよい。各無人航空機100のUAV制御部110は、通信インタフェース150を介して、端末80から回転後の位置の座標を含む指示情報を受信すると、回転翼機構210を駆動し、受信した回転後の位置の座標に、無人航空機100を移動させる。
図12では、回転後の無人航空機群100Gの各無人航空機100により撮像された撮像画像に基づく合成画像の画像範囲SA(図中、斜線範囲)は、回転前と比較すると、回転角度θに対応する領域に移り、略平行四辺形の輪郭に変化している。
【0153】
なお、ユーザがツイスト操作を行う際、端末制御部81は、操作部83を介して、指移動の操作及びその操作量の他、指移動の速度を検出してもよい。端末制御部81は、指移動の速度を検出した場合、その指移動の速度に基づいて、無人航空機群100Gの回転速度を決定し、回転速度を含む指示情報を各無人航空機100へ送信してよい。各無人航空機100のUAV制御部110は、通信インタフェース150を介して、この指示情報を受信してよい。UAV制御部110は、指示情報に従って、決定された無人航空機群100Gの回転速度で、無人航空機群100Gが回転するように各無人航空機100を移動させてよい。これにより、端末80は、ユーザ操作に応じて、合成画像の画像範囲SAを回転させるスピードを任意に変更できる。
【0154】
このように、端末80の端末制御部81は、合成画像の画像範囲SAを回転するためのツイスト操作(変更操作の一例)の情報を取得し、ツイスト操作に基づいて、無人航空機群100Gにおける各無人航空機100の位置関係を維持して、各無人航空機100が基準位置を基準として回転するよう、各無人航空機100へ飛行の制御を指示してよい。これにより、端末80は、ユーザ操作に応じて画像範囲SAを回転できるので、ユーザ所望に直感的に画像範囲SAを回転できる。
【0155】
(第4動作例)
図13は、タッチパネルTPに対するフリック操作によって、無人航空機群100Gを移動させる動作例(第4動作例)を示す図である。第4動作例では、無人航空機群100Gを所望の方向に所定距離だけ移動させる動作を示す。フリック操作は、合成画像の画像範囲SAを変更するための変更操作の1つである。
【0156】
フリック操作では、例えば、端末制御部81は、タッチパネルTPにおける1つの位置に対する入力を2つの時点で取得する。端末制御部81は、例えば、この2つの時点の間において入力位置が連続的に変化していることを検出すると、フリック操作を検出する。
【0157】
ユーザは、タッチパネルTPに対し、1本の指(例えば人差し指fg2)をタッチして弾くフリック操作を行う。端末制御部81は、タッチパネルTPを介して、人差し指fg2の接触開始点tiと接触終了点toを基に、フリック操作及びその操作量を検出する。端末制御部81は、フリック操作を検出すると、その操作量に応じた各無人航空機100の移動距離を算出する。この移動距離は、各無人航空機100の水平方向への移動距離でよい。各無人航空機100の移動距離は同じでよい。例えば、操作量が大きい程、移動距離が長く、操作量が小さい程、移動距離が短くてよい。
【0158】
また、端末制御部81は、フリック操作に応じた各無人航空機100の移動方向を決定してよい。端末制御部81は、タッチパネルTPにおける接触開始点tiの位置及び接触終了点toの位置に基づいて、各無人航空機100の移動方向を決定してよい。例えば、端末制御部81は、タッチパネルTPに表示された接触開始点tiに対応する実空間の位
置から接触終了点toに対応する実空間の位置に向かう方向を、各無人航空機100の移動方向としてよい。この結果、タッチパネルTPに表示される被写体の位置は、各無人航空機100の移動方向αと逆方向に移動してよい。
【0159】
端末制御部81は、無人航空機群100Gに対し、通信部85を介して、算出した移動距離及び移動方向の移動を指示するための指示情報を送信する。無人航空機群100Gの各無人航空機100のUAV制御部110は、通信インタフェース150を介して、この指示情報を受信する。UAV制御部110は、受信した指示情報に従って、回転翼機構210を駆動し、フリック操作に応じた移動方向へ移動距離分、各無人航空機100を移動させる。この場合、無人航空機群100Gの各無人航空機100が同じ移動方向に同じ移動距離で移動するので、合成画像の画像範囲SAのサイズは変わらず、画像範囲SAに含まれる地理的な範囲が変化(移動)する。
【0160】
また、ユーザがフリック操作を行う際、端末制御部81は、操作部83を介して、指移動の操作及びその操作量の他、指移動の速度を検出してもよい。端末制御部81は、指移動の速度を検出した場合、その指移動の速度に対応する移動初速度で、無人航空機群100Gが移動するよう、移動速度を指示情報に含めて無人航空機群100Gの各無人航空機100へ送信してよい。無人航空機群100Gの各無人航空機100のUAV制御部110は、通信インタフェース150を介して、この指示情報を受信してよい。UAV制御部110は、指示情報に従って、指移動の速度に対応する移動初速度で、無人航空機100を移動させてよい。これにより、端末80は、ユーザ操作に応じて、合成画像の画像範囲SAを移動させるスピードを任意に変更できる。なお、無人航空機100は、フリック操作に基づいて、最初は移動初速度で移動し、移動方向と逆方向の加速度を受けて移動速度を小さくしながら移動してよい。したがって、移動距離は、タッチパネルTPに表示された接触開始点tiに対応する実空間の位置と接触終了点toに対応する実空間の位置との距離よりも長くてもよい。
【0161】
このように、端末80の端末制御部81は、合成画像の画像範囲SAを他の地理的範囲に水平方向に移動するためのフリック操作(変更操作の一例)の情報を取得し、フリック操作に基づいて、各無人航空機100へ飛行(水平方向の移動)の制御を指示してよい。これにより、端末80は、ユーザ操作に応じて画像範囲SAの地理的範囲を変更できるので、ユーザ所望に直感的に合成画像の画像範囲SAを移動できる。
【0162】
次に、飛行体群制御システム10の動作について説明する。
【0163】
図14は端末80及び各無人航空機100の動作手順を示すシーケンス図である。
図14では、無人航空機群100Gが飛行して撮像を行っている状態において、無人航空機群100Gで撮像される画像範囲SAを変更する動作を示す。ここでは、無人航空機100の動作として、無人航空機100が移動することを例示する。
【0164】
各無人航空機100では、UAV制御部110は、飛行中、撮像部220に被写体(例えば地面方向)を撮像させ、通信インタフェース150を介して、撮像により得られた撮像画像の画像データを端末80に送信する(S11)。
【0165】
端末80では、端末制御部81は、通信部85を介して各無人航空機100から画像データを受信して取得する(S1)。また、端末制御部81は、通信部85を介して各無人航空機100から撮像画像に関する付加情報を受信して取得する。付加情報には、撮像画像の撮像範囲の情報が含まれる。端末制御部81は、各無人航空機100で撮像された画像を合成し、合成画像を生成する(S2)。また、端末制御部81は、各無人航空機100から取得された撮像範囲の情報に基づいて、合成画像の画像範囲SAを算出する。端末制御部81は、生成された合成画像をタッチパネルTPに表示させる(S3)。
【0166】
端末制御部81は、タッチパネルTPを介して、画像範囲SAを変更するための変更操作の情報を取得する(S4)。変更操作は、例えば、ピンチイン操作、ピンチアウト操作、ツイスト操作、又はフリック操作である。端末制御部81は、変更操作に基づき、各無人航空機100の飛行を制御するための移動制御情報を生成し、生成した移動制御情報を各無人航空機100に送信する(S5)。この移動制御情報は、例えば上述の指示情報に相当する。
【0167】
端末制御部81は、画像範囲SAを変更するための変更操作が終了したか否か判別する(S6)。変更操作が終了したか否かは、例えば、変更操作のためのタッチパネルTPへのユーザ操作が終了したか否かによって判定されてよく、変更操作のために接触していたユーザの指がタッチパネルTPから離れたか否かによって判定されてよい。変更操作を終了しない場合、端末制御部81は、S1の処理に戻る。変更操作を終了する場合、端末制御部81は本動作を終了する。
【0168】
各無人航空機100では、UAV制御部110は、通信インタフェース150を介して、端末80から移動制御情報を受信する(S12)。UAV制御部110は、回転翼機構210を駆動し、無人航空機100を移動制御情報に基づく位置に移動させる(S13)。そして、UAV制御部110は、S11の処理に戻る。
【0169】
このように、端末80の端末制御部81は、各無人航空機100により撮像された複数の撮像画像(第1の撮像画像の一例)を取得する。端末制御部81は、複数の撮像画像を合成して合成画像(第1の合成画像の一例)を生成する。端末制御部81は、合成画像の画像範囲SA(第1の画像範囲の一例)を変更するための変更操作の情報を取得する。端末制御部81は、変更操作に基づいて、複数の無人航空機100の飛行の制御を指示する。
【0170】
これにより、端末80は、変更操作に基づいて無人航空機群100Gにおける複数の無人航空機100の移動を指示できる。そのため、例えば、各無人航空機100を移動させずに各無人航空機100が有するデジタルズームを利用して撮像される撮像画像の画像範囲を変更する場合と比較して、端末80は、撮像画像の画質が劣化することを抑制できる。したがって、端末80は、複数の撮像画像を合成した合成画像の画質の劣化も抑制できる。また、端末80は、ユーザ操作により合成画像の画像範囲SAの変更を指示することで、より直感的に無人航空機100を移動させることができる。
【0171】
また、変更操作の情報は、変更操作の種別(例えばピンチイン操作、ピンチアウト操作、ツイスト操作、フリック操作、のうちいずれの操作であるか)と変更操作の操作量との情報を含んでよい。端末制御部81は、画像範囲SAを算出し、画像範囲SAと変更操作の種別と変更操作の操作量とに基づいて、画像範囲SA2(第2の画像範囲の一例)を算出してよい。端末制御部81は、変更操作に基づいて各無人航空機100が移動した後に撮像される複数の撮像画像(第2の撮像画像の一例)を合成した場合の合成画像(第2の合成画像の一例)の画像範囲が、画像範囲SA2となるように、複数の無人航空機100の飛行の制御を指示してよい。この場合、端末制御部81は、例えば、変更操作の操作量に基づいて、無人航空機100の移動量や回転角度を決定してよい。端末制御部81は、変更前の画像範囲SAと決定された移動量や回転角度とを基に、変更後の画像範囲SA2を導出してよい。
【0172】
これにより、端末80は、ユーザが意図した変更操作の操作量の分だけ無人航空機群100Gの飛行の制御を指示するので、ユーザが意図した合成画像の画像範囲SAに変更でき、更に直感的に無人航空機100を移動させることができる。
【0173】
また、
図14では、端末制御部81は、S5において変更操作に基づいて移動制御情報を生成して送信し、S6において変更操作が終了するまで、S5における変更操作に基づく移動制御情報の生成及び送信を反復する。つまり、端末制御部81は、変更操作の情報の取得が終了するまで、変更操作に基づく複数の無人航空機100の飛行の制御の指示を反復して実行してよい。
【0174】
これにより、端末80は、変更操作を継続しながら、複数の無人航空機100を順次移動させることができる。端末80が、移動した無人航空機100により撮像された撮像画像に基づく合成画像を順次表示することで、ユーザは、所望の合成画像となっているかを表示によって直接確認しながら、変更操作の終了のタイミングを図ることができる。また、端末80は、変更操作の終了を待って複数の無人航空機100を移動させるよりも、無人航空機群100Gを高速に移動させることができる。
【0175】
なお、
図14とは異なり、端末制御部81は、変更操作の情報の取得が終了した後に、変更操作に基づく無人航空機100の飛行の制御を指示してもよい。
【0176】
これにより、端末80は、変更操作が終了してから、複数の無人航空機100を一度に移動させることができる。よって、端末80は、変更操作の操作中に複数の無人航空機100を順次移動させるよりも、端末80と複数の無人航空機100との間の通信量を削減でき、ネットワーク負荷を低減できる。
【0177】
以上、本開示を実施形態を用いて説明したが、本開示の技術的範囲は上述した実施形態に記載の範囲には限定されない。上述した実施形態に、多様な変更又は改良を加えることが当業者に明らかである。その様な変更又は改良を加えた形態も本開示の技術的範囲に含まれ得ることが、特許請求の範囲の記載からも明らかである。
【0178】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現可能である。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「先ず、」、「次に」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【0179】
上記実施形態では、無人航空機群100Gにおける各無人航空機100が上方から地面に向かって(つまり重力方向に沿って)撮像する場合を主に示した。なお、各無人航空機100は、重力方向以外の方向を撮像してもよい。例えば、無人航空機群100Gにおける各無人航空機100が重力方向に配列された場合、水平方向に存在する被写体を撮像する場合、又は無人航空機群100Gが重力方向や水平方向に対して角度を有して配列された場合においても、本実施形態を適用可能である。この場合、上記(地面を撮像する場合)の重力方向(高度方向)の移動は、被写体の方向である撮像方向に沿った移動となり、上記の水平方向の移動は、撮像方向に垂直な方向に沿った移動となる。