(57)【要約】【課題】ＵＡＶ群が互いに衝突しないように編隊を組んで安全に飛行し、かつ、鑑賞者視点に対して適応的にＵＡＶ群を制御する。【解決手段】フレーム毎の仮想画面上の２次元座標に基づいて、ＵＡＶ及びフレームの組み合わせ毎の係数を掛けた座標値を要素とする計測行列を、係数の値を変えながら行列分解し、行列分解により得られた行列の要素を用いて、ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する。そして、推定した３次元位置、及び３次元速度に基づいてＵＡＶを制御する。【選択図】図１
2020071682.tif 000002
【特許請求の範囲】
【請求項１】
複数のＵＡＶ（Unmanned Aerial Vehicle）の各々に対する複数のフレーム毎の仮想画面上の２次元座標に基づいて、前記ＵＡＶ及び前記フレームの組み合わせ毎の係数を掛けた座標値を要素とする計測行列を、前記係数の値を変えながら行列分解し、前記行列分解により得られた行列の要素を用いて、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する群空間配置推定部と、
前記ＵＡＶの各々の３次元座標である現在位置を計測する位置計測センサと、
前記位置計測センサによって計測された前記ＵＡＶの各々の現在位置と、前記初期状態の３次元位置により定まる前記ＵＡＶの各々の目標点とに基づいて、前記ＵＡＶの各々について、前記目標点に対するベクトルを算出する群位置検出部と、
前記目標点に対するベクトルに基づいて、前記ＵＡＶの各々について、前記初期状態の３次元位置に配置されるように前記ＵＡＶの飛行を制御するための制御データを計算する群位置制御部と、
前記ＵＡＶの各々が前記初期状態の３次元位置に配置されてから、前記ＵＡＶの各々について、前記３次元速度で飛行するように前記制御データを計算する群速度制御部と、
前記群位置制御部で計算された前記制御データ、又は前記群速度制御部で計算された前記制御データに基づいて、前記ＵＡＶの各々について、飛行指令データを算出し、算出した前記飛行指令データに基づいて前記ＵＡＶの運動を制御する飛行コマンド変換部と、
を含む空間配置制御装置。
【請求項２】
前記複数のフレームをシーケンスに分割し、
前記群空間配置推定部は、シーケンス毎に、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する請求項１に記載の空間配置制御装置。
【請求項３】
前記仮想画面の基準姿勢と、鑑賞者の姿勢との間の平面射影変換行列に基づいて、前記仮想画面の２次元座標を、前記鑑賞者の姿勢を反映した仮想画面上の２次元座標に変換する平面射影変換部を更に含み、
前記群空間配置推定部は、前記平面射影変換部による変換後の２次元座標に基づいて、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する請求項１又は請求項２に記載の空間配置制御装置。
【請求項４】
群空間配置推定部が、複数のＵＡＶ（Unmanned Aerial Vehicle）の各々に対する複数のフレーム毎の仮想画面上の２次元座標に基づいて、前記ＵＡＶ及び前記フレームの組み合わせ毎の係数を掛けた座標値を要素とする計測行列を、前記係数の値を変えながら行列分解し、前記行列分解により得られた行列の要素を用いて、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定するステップと、
位置計測センサが、前記ＵＡＶの各々の３次元座標である現在位置を計測するステップと、
群位置検出部が、前記位置計測センサによって計測された前記ＵＡＶの各々の現在位置と、前記初期状態の３次元位置により定まる前記ＵＡＶの各々の目標点とに基づいて、前記ＵＡＶの各々について、前記目標点に対するベクトルを算出するステップと、
群位置制御部が、前記目標点に対するベクトルに基づいて、前記ＵＡＶの各々について、前記初期状態の３次元位置に配置されるように前記ＵＡＶの飛行を制御するための制御データを計算するステップと、
群速度制御部が、前記ＵＡＶの各々が前記初期状態の３次元位置に配置されてから、前記ＵＡＶの各々について、前記３次元速度で飛行するように前記制御データを計算するステップと、
飛行コマンド変換部が、前記群位置制御部で計算された前記制御データ、又は前記群速度制御部で計算された前記制御データに基づいて、前記ＵＡＶの各々について、飛行指令データを算出し、算出した前記飛行指令データに基づいて前記ＵＡＶの運動を制御するステップと、
を含む空間配置制御方法。
【請求項５】
前記複数のフレームをシーケンスに分割し、
前記群空間配置推定部は、シーケンス毎に、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する請求項４に記載の空間配置制御方法。
【請求項６】
平面射影変換部が、前記仮想画面の基準姿勢と、鑑賞者の姿勢との間の平面射影変換行列に基づいて、前記仮想画面の２次元座標を、前記鑑賞者の姿勢を反映した仮想画面上の２次元座標に変換するステップを更に含み、
前記群空間配置推定部は、前記平面射影変換部による変換後の２次元座標に基づいて、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する請求項４又は請求項５に記載の空間配置制御方法。
【請求項７】
コンピュータを、請求項１〜請求項３のいずれか１項に記載の空間配置制御装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間配置制御装置、方法、及びプログラムに係り、特に、無人飛行機を制御する空間配置制御装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
ＵＡＶ（Unmanned Aerial Vehicle）は複数のロータで駆動するプロペラを持ち、それぞれのプロペラに与える揚力を制御することにより飛行操縦する無人飛行機である。ドローンと呼ばれる無人飛行機の多くはＵＡＶの一種である。例えば、ロータ駆動には４枚、６枚、８枚のプロペラが利用されている。以降で扱う無人飛行機はプロペラの枚数に制限はないため、その名称を単にＵＡＶと略称する。
【０００３】
一般的に、ＵＡＶの姿勢を計測するために、図１８に示すように機体にローカル座標系が設定される。ＵＡＶの前進方向をＸ軸、Ｘ軸と垂直な方向をＹ軸、重力とは逆方向をＺ軸とする。
【０００４】
ＵＡＶの３次元位置を計測するには、図１９に示すように基準となるグローバル座標系ＸｗＹｗＺｗを設定する．ＧＰＳ（Ｇｌｏｂａｌ Ｐｏｓｉｔｉｏｎｉｎｇ Ｓｙｓｔｅｍ）、モーションキャプチャシステムではその計測座標系がグローバル座標系となる。ＵＡＶの重心すなわちＵＡＶの位置（ローカル座標系の原点）をグローバル座標系の点Ｐ＝（Ｘ，Ｙ，Ｚ）として表現する。ＵＡＶの姿勢はグローバル座標系に対するローカル座標系の回転角で表現し、Ｘ軸周りの回転はロール回転、Ｙ軸周りの回転はピッチ回転、Ｚ軸周りの回転はヨー回転と呼ばれる。ＵＡＶの飛行運動は、それぞれのプロペラに与える揚力を変化させることにより、Ｘ軸周りの回転、Ｙ軸周りの回転、Ｚ軸周りの回転を発生させる。Ｙ軸周りの回転はＸ軸方向の並進運動を生み出し、Ｘ軸周りの回転はＹ軸方向の並進運動を生み出す。Ｚ軸周りの回転は方位の回転を生み出し、同じ揚力が同時に全てのプロペラに与えられたとき、その強弱によってＺ軸方向の並進運動（高度の昇降）を生み出す。
【０００５】
グローバル座標系ＸｗＹｗＺｗにおいて所定位置と方位が与えられ、ＵＡＶの現在位置Ｐ＝（Ｘ，Ｙ，Ｚ）と現在方位から所定位置へ飛行し所定方位に機体を向けるためには、ＵＡＶの姿勢と位置を制御する必要がある。非特許文献１には、ＵＡＶの運動方程式と角運動方程式に基づいたバックステッピング制御が公開されている。従来技術の多くは、グローバル座標系における飛行の軌跡として離散的な所定位置と所定方位が与えられ、ＵＡＶが各点と各方位を追跡するようにその運動が制御される。
【０００６】
一方、複数台のＵＡＶを使った編隊飛行はより広域な視点からの防犯パトロール、インフラメンテナンス、農業支援、空輸、災害レスキューなどを提供することができる。これらの用途に留まらず、複数台のＵＡＶは空中アートとしてのエンターテインメントを生み出す。例えば、照明機能を持ったＵＡＶが夜空に３次元点描画を浮かび上がらせたり、その機動性を駆使して人工的なディジタル花火を演出する。さらには、巨大広告をマルチＵＡＶが運搬することにより“動く空中広告”の役割も果たす。複数台のＵＡＶを使った編隊飛行では、作業ミッションに応じてそれぞれのＵＡＶの位置と姿勢を制御する必要がある。非特許文献２では、粒子群最適化（Ｐａｒｔｉｃｌｅ Ｓｗａｒｍ Ｏｐｔｉｍｉｚａｔｉｏｎ）と遺伝的アルゴリズム（Ｇｅｎｅｔｉｃ Ａｌｇｏｒｉｔｈｍ）を融合させた編隊飛行制御が公開されている。非特許文献３では、線形モデル予測制御（Ｌｉｎｅａｒ Ｍｏｄｅｌ Ｐｒｅｄｉｃｔｉｖｅ Ｃｏｎｔｒｏｌ）を利用した編隊飛行制御が公開されている。
【０００７】
単体ＵＡＶの飛行運動制御に関する先行技術は非特許文献１に、複数台のＵＡＶを使った編隊飛行制御は非特許文献２と非特許文献３において公知となっている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】T. Madani and A. Benallegue: "Backstepping Control for a Quadrotor Helicopter", IEEE Conference on Intelligent Robots and Systems, 2006.
【非特許文献２】H. Duan, Q. Luo, Y. Shi, and G. Ma: "Hybrid Particle Swarm Optimization and Genetic Algorithm for Multi-UAV Formation Reconfiguration", IEEE Computational Intelligence Magazine,Vol.8, No. 3, pp16-27, 2013.
【非特許文献３】M. Iskandarani, S. N. Givigi, G. Fusina, and A. Beaulieu: "Unmanned Aerial Vehicle Formation Flying using Linear Model Predictive Control", 2014 8th Annual IEEE Systems Conference(SysCon), 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
編隊を形成するマルチＵＡＶの構造は、主にリーダー・フォロワー構造、バーチャル構造、行動ベース構造に分類される。リーダー・フォロワー編隊（ｌｅａｄｅｒ−ｆｏｌｌｏｗｅｒ ｆｏｒｍａｔｉｏｎ）の例を図２０に示す。リーダー・フォロワー編隊は高度一定に維持して飛行する。飛行全体を指導するリーダー役のＵＡＶに対して、フォロワ−役のＵＡＶが追従して飛行する。トレイルとはリーダーのＵＡＶを先頭にフォロワ−のＵＡＶが縦一列に並んで飛行し、アブレストとはリーダーのＵＡＶを中心にフォロワ−のＵＡＶが横一列に並んで飛行する。これに対して、デルタではリーダーのＵＡＶを先頭にフォロワ−のＵＡＶが三角形を形成するように追従して飛行する。
【００１０】
１００機あるいは１０００機規模の編隊飛行を前提とすると、安全飛行のためにはＵＡＶ群としてのまとまりを維持する必要がある。ＵＡＶの機動性を活かした空中アート演出では空中の模様に応じて各ＵＡＶが配置されるため、高度Ｚの異なるＵＡＶ群が空間中に分布する。ＵＡＶの位置を３次元座標の点と見なすことができるとき、鑑賞者視点で最適な空中アートを配置には３次元位置から２次元位置への射影関係に基づいてＵＡＶ群の３次元配置を適応的に制御する必要がある。
【００１１】
非特許文献２と非特許文献３ではＵＡＶ編隊飛行を制御する方法が公開されているが、ＵＡＶ群の現在地から目的地までの編隊飛行を目的とするため、鑑賞者視点の空中アート演出では３次元位置から２次元位置への射影関係に基づいた編隊制御を解決することが困難である。
【００１２】
本発明は、上記事情を鑑みて成されたものであり、ＵＡＶ群が互いに衝突しないように編隊を組んで安全に飛行し、かつ、鑑賞者視点に対して適応的にＵＡＶ群を制御することができる空間配置制御装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、第１の発明に係る空間配置制御装置は、複数のＵＡＶ（Unmanned Aerial Vehicle）の各々に対する複数のフレーム毎の仮想画面上の２次元座標に基づいて、前記ＵＡＶ及び前記フレームの組み合わせ毎の係数を掛けた座標値を要素とする計測行列を、前記係数の値を変えながら行列分解し、前記行列分解により得られた行列の要素を用いて、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する群空間配置推定部と、前記ＵＡＶの各々の３次元座標である現在位置を計測する位置計測センサと、前記位置計測センサによって計測された前記ＵＡＶの各々の現在位置と、前記初期状態の３次元位置により定まる前記ＵＡＶの各々の目標点とに基づいて、前記ＵＡＶの各々について、前記目標点に対するベクトルを算出する群位置検出部と、前記目標点に対するベクトルに基づいて、前記ＵＡＶの各々について、前記初期状態の３次元位置に配置されるように前記ＵＡＶの飛行を制御するための制御データを計算する群位置制御部と、前記ＵＡＶの各々が前記初期状態の３次元位置に配置されてから、前記ＵＡＶの各々について、前記３次元速度で飛行するように前記制御データを計算する群速度制御部と、前記群位置制御部で計算された前記制御データ、又は前記群速度制御部で計算された前記制御データに基づいて、前記ＵＡＶの各々について、飛行指令データを算出し、算出した前記飛行指令データに基づいて前記ＵＡＶの運動を制御する飛行コマンド変換部と、を含んで構成されている。
【００１４】
第２の発明に係る空間配置制御方法は、群空間配置推定部が、複数のＵＡＶ（Unmanned Aerial Vehicle）の各々に対する複数のフレーム毎の仮想画面上の２次元座標に基づいて、前記ＵＡＶ及び前記フレームの組み合わせ毎の係数を掛けた座標値を要素とする計測行列を、前記係数の値を変えながら行列分解し、前記行列分解により得られた行列の要素を用いて、前記ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定するステップと、位置計測センサが、前記ＵＡＶの各々の３次元座標である現在位置を計測するステップと、群位置検出部が、前記位置計測センサによって計測された前記ＵＡＶの各々の現在位置と、前記初期状態の３次元位置により定まる前記ＵＡＶの各々の目標点とに基づいて、前記ＵＡＶの各々について、前記目標点に対するベクトルを算出するステップと、群位置制御部が、前記目標点に対するベクトルに基づいて、前記ＵＡＶの各々について、前記初期状態の３次元位置に配置されるように前記ＵＡＶの飛行を制御するための制御データを計算するステップと、群速度制御部が、前記ＵＡＶの各々が前記初期状態の３次元位置に配置されてから、前記ＵＡＶの各々について、前記３次元速度で飛行するように前記制御データを計算するステップと、飛行コマンド変換部が、前記群位置制御部で計算された前記制御データ、又は前記群速度制御部で計算された前記制御データに基づいて、前記ＵＡＶの各々について、飛行指令データを算出し、算出した前記飛行指令データに基づいて前記ＵＡＶの運動を制御するステップと、を含んで実行することを特徴とする。
【００１５】
第３の発明に係るプログラムは、コンピュータを、第１の発明に記載の空間配置制御装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１６】
本発明の空間配置制御装置、方法、及びプログラムによれば、ＵＡＶ群が互いに衝突しないように編隊を組んで安全に飛行し、かつ、鑑賞者視点に対して適応的にＵＡＶ群を制御することができる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る空間配置制御装置の構成を示すブロック図である。
【図２】ＵＡＶの飛行を制御する状況の一例を示す図である。
【図３】鑑賞者視点と３次元位置との関係性の一例を示す図である。
【図４】本発明の各実施形態に係る空間配置制御装置における空間配置制御処理ルーチンを示すフローチャートである。
【図５】空間配置制御処理ルーチンにおける空間配置推定部の処理の詳細を示すフローチャートである。
【図６】空間配置制御処理ルーチンにおける空間配置推定部の処理の詳細を示すフローチャートである。
【図７】Ｍ＋１フレーム間で表されるパターンの一例を示す図である。
【図８】空間配置制御処理ルーチンにおける群位置検出部の処理の詳細を示すフローチャートである。
【図９】空間配置制御処理ルーチンにおける群位置制御部の処理の詳細を示すフローチャートである。
【図１０】空間配置制御処理ルーチンにおける群速度制御部の処理の詳細を示すフローチャートである。
【図１１】空間配置制御処理ルーチンにおける飛行コマンド変換部の処理の詳細を示すフローチャートである。
【図１２】本発明の第２の実施形態に係る空間配置制御装置の構成を示すブロック図である。
【図１３】映像シーケンスにおける各シーケンスの分割の一例を示す図である。
【図１４】空間配置制御処理ルーチンにおけるシーケンス分割部の処理の詳細を示すフローチャートである。
【図１５】本発明の第３の実施形態に係る空間配置制御装置の構成を示すブロック図である。
【図１６】基準の仮想画面と鑑賞者姿勢の仮想画面との関係の一例を示す図である。
【図１７】空間配置制御処理ルーチンにおける平面射影変換部の処理の詳細を示すフローチャートである。
【図１８】ＵＡＶの概観とＵＡＶ固定のローカル座標系の一例を示す図である。
【図１９】グローバル座標系とＵＡＶ固定のローカル座標系の関係を示す図である。
【図２０】編隊飛行のフォーメーションの例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態を詳細に説明する。本発明の実施形態に係る手法は、鑑賞者視点で設計された２次元パターンあるいは点描画に応じて、互いに衝突しないように各ＵＡＶへ３次元位置を示す飛行指令を適切に出すことにより、鑑賞者視点からの最適な２次元パターンあるいは点描画を提供することができる。さらに、鑑賞者視点の移動に伴って与えられた２次元パターンあるいは点描画を描くように各ＵＡＶを制御することにより、ヒューマンインタラクションのある空間アートを演出することを可能とする。
【００１９】
＜本発明の第１の実施形態に係る飛行制御装置の構成＞
【００２０】
本発明の第１の実施形態に係るＵＡＶの飛行制御装置の構成について説明する。本実施形態は複数台のＵＡＶによる編隊飛行を制御して鑑賞者視点の２次元パターンあるいは点画を描く形態である。
【００２１】
図１に示すように、本発明の第１の実施形態に係る空間配置制御装置１００は、ＣＰＵと、ＲＡＭと、後述する飛行制御処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この空間配置制御装置１００は、機能的には図１に示すように位置計測センサ１０と、演算部２０と、通信部５０とを備えている。外部の映像ＤＢ４０には、鑑賞者視点でのＵＡＶ群の２次元配置と、ある時間間隔に対応する時系列の２次元パターンデータとして、フレーム毎の２次元座標が格納されている。なお、図１のＵＡＶ１５は、説明の便宜のため、以下の説明においては単にＵＡＶと表記する。
【００２２】
演算部２０は、時系列の２次元パターンデータから３次元空間におけるＵＡＶ群の３次元位置と３次元速度とを推定する群空間配置推定部３０と、ＵＡＶ群の３次元位置を検出する群位置検出部３２と、推定した３次元位置に従ってＵＡＶ群の３次元位置を制御する群位置制御部３４と、推定した３次元位置に従ってＵＡＶ群の３次元速度を制御する群速度制御部３６と、群位置制御部３４、又は群速度制御部３６からの制御データに基づいてＵＡＶ群へ指令データを送出するための飛行コマンド変換部３８から構成される。なお各処理部の具体的な処理内容は後述の作用の説明において説明する。
【００２３】
図１の構成において、位置計測センサ１０は必ずしも構成要素として接続している必要はなく、処理に必要なデータを取得すればよく、演算部２０における群空間配置推定部３０、群位置検出部３２、群位置制御部３４、群速度制御部３６、飛行コマンド変換部３８からそれぞれの矢印へのデータの流れは、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する。または、ネットワークを介してリモートなデータ資源を利用する形態でもどちらでも構わない。
【００２４】
位置計測センサ１０は、各ＵＡＶに付与され、マーカーの三次元座標を計測データとして計測する。一般的に、モーションキャプチャ装置は、所定のマーカーの３次元座標をリアルタイムで高精度に計測できることが知られている。本実施形態では、位置計測センサ１０の例として、モーションキャプチャ装置を利用する。図２に示す状況において、ＵＡＶには点ｅｊにセンシング用のマーカーが取り付けられている。位置計測センサ１０はグローバル座標系においてそのマーカーの３次元座標を計測するようにセットアップされている。この環境においてＮ台のＵＡＶが飛行するとき、モーションキャプチャ装置はＮ個のマーカーの３次元座標を一定間隔で同時に計測する。
【００２５】
群空間配置推定部３０は、複数のＵＡＶの各々に対する複数のフレーム毎の仮想画面上の２次元座標に基づいて、当該ＵＡＶ及びフレームの組み合わせ毎の係数を掛けた座標値を要素とする計測行列を、係数の値を変えながら行列分解する。そして、群空間配置推定部３０は、行列分解により得られた行列の要素を用いて、ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する。
【００２６】
群位置検出部３２は、位置計測センサ１０によって計測されたＵＡＶの各々の現在位置と、初期状態の３次元位置により定まるＵＡＶの各々の目標点とに基づいて、ＵＡＶの各々について、目標点に対するベクトルを算出する。
【００２７】
群位置制御部３４は、群位置検出部３２で算出した目標点に対するベクトルに基づいて、ＵＡＶの各々について、初期状態の３次元位置に配置されるように当該ＵＡＶの飛行を制御するための制御データを計算する。
【００２８】
群速度制御部３６は、ＵＡＶの各々が初期状態の３次元位置に配置されてから、ＵＡＶの各々について、群空間配置推定部３０で推定した３次元速度で飛行するように制御データを計算する。
【００２９】
飛行コマンド変換部３８は、群位置制御部３４で計算された制御データ、又は群速度制御部３６で計算された制御データに基づいて、ＵＡＶの各々について、飛行指令データを算出し、算出した飛行指令データに基づいてＵＡＶの運動を制御する。
【００３０】
＜空間配置の原理＞
【００３１】
次に本実施形態の空間配置に関する原理的な説明を行う。本実施形態では以下に説明するように空間配置に関する計算を行列計算によって行う。行列計算によって、多数のＵＡＶの空間配置に関する計算を一度に行うことで、個々に空間配置を計算するよりも、効率よく計算が行える。
【００３２】
図３に、鑑賞者視点を固定カメラ視点と見立てたときの時系列にわたるＵＡＶの３次元位置Ｐｉｊ，０≦ｉ≦Ｍ，ｊ＝１,２，...,Ｎを図示する。図３では視点を原点Ｏとし、主点を通過する光軸をＺ軸とした座標系ＸＹＺを設定する。モーションキャプチャ装置は、座標系ＸＹＺにおけるマーカーの３次元位置を検出するようにセットアップされているとする。サフィックスｊはＮ機のＵＡＶに割り振った番号であり、１≦ｊ≦Ｎである。鑑賞者視点の２次元位置は時系列に変化することを前提に、第ｉフレームにおける２次元座標を（ｘｉｊ,ｙｉｊ）と表す。サフィックスｉはＭフレーム内の番号として、０≦ｉ≦Ｍである。フレームの初期状態はｉ＝０とする。フレーム数は状況に応じて設定可能であるが、ここでは１フレームを１／３０秒とする。映像ＤＢ４０には、空間演出に応じて任意に設定された０≦ｉ≦ＭのＭ＋１フレーム間のＵＡＶ群の２次元座標（ｘｉｊ,ｙｉｊ）、０≦ｉ≦Ｍ、１≦ｊ≦Ｎが格納されている。
【００３３】
短いフレーム区間（ｉ＝０,１,...,Ｍ）ではＵＡＶの運動は線形的に移動すると考えられる。フレームｉでの３次元位置Ｐｉｊは初期位置Ｐ０ｊ＝（Ｘｊ,Ｙｊ,Ｚｊ）から一定速度Ｖｊ＝Ｖｘｊ,Ｖｙｊ,Ｖｚｊで移動すると仮定すると、参照する現在位置Ｐｉｊは、下記（１）式のように記述される。
【００３４】
【数１】
2020071682.tif 000003
【００３５】
固定カメラの視点は原点であるため、観測される透視投影像は（ｘｉｊ,ｙｉｊ）は以下（２）式で与えられる。固定カメラは事前に校正されていると仮定する。
【００３６】
【数２】
2020071682.tif 000004
【００３７】
（２）式を整理すると、以下（３）式及び（４）式が得られる。
【００３８】
【数３】
2020071682.tif 000005
【００３９】
さらに、（３）式を全フレームｉ＝０,１,...,Ｍにわたり、Ｎ個の点Ｐｉｊ,ｊ＝１,２,...,Ｎに展開して行列表記すると、以下（５）式〜（１０）式が得られる。
【００４０】
【数４】
2020071682.tif 000006
2020071682.tif 000007
【００４１】
上記（５）式の行列［Ａ］は計測行列と呼ばれており、（５）式においてλｉｊ＝１、すなわちＶｚｊ＝０ならば、計測行列［Ａ］のランクは４になる。あるいは、何らかの方法で各点のλｉｊが与えられるならば、（５）式は計測行列［Ａ］のランクは４であることを示している。
【００４２】
本実施形態では、（５）式及び（６）式で記述される観測モデルに基づいた因子分解法を利用する。因子分解法とは、計測行列［Ａ］から行列のランクに基づいて行列［Ｐ］と行列［Ｘ］を求める計算方法である。以降、行列［Ｐ］を拡張カメラ行列、行列［Ｘ］を拡張形状行列と呼ぶ。
【００４３】
本実施形態の群空間配置推定部３０の処理は（５）式及び（６）式に基づく行列分解に基づいている。そこで、処理内容の説明の前に因子分解法を使った線形移動する点の３次元位置と３次元速度の計算方法について説明しておく。
【００４４】
（５）式において、初期値としてλｉｊ＝１が与えられるとする。特異値分解により、行列［Ａ］より［Ａ］＝［Ｕ］［Ｗ］［Ｖ］Ｔを得る。ランク５以降の行列成分を切り詰め
2020071682.tif 000008
とする。また、暫定の行列
2020071682.tif 000009
を得る。通常、この分解は不定であるため、計量拘束（ｍｅｔｒｉｃ ｃｏｎｓｔｒａｉｎｔｓ）を満たす行列［Ｑ］を以下（１１）式の計算により得る。
【００４５】
【数５】
2020071682.tif 000010
【００４６】
拡張カメラ行列［Ｐ］は（６）式〜（８）式で与えられる。
【００４７】
2020071682.tif 000011
は行列
2020071682.tif 000012
のＭｏｏｒｅ−Ｐｅｎｒｏｓｅ型一般化逆行列を表す。行列［Ｑ］が求まると、拡張形状行列
2020071682.tif 000013
が得られる。
【００４８】
初期値として係数λｉｊ＝１としていた。そこで、反復的に係数λｉｊを更新しながら、上記のランク４の因子分解法を適用して拡張形状行列［Ｘ］を求める。２次元座標（ｘｉｊ,ｙｉｊ）とランク４の因子分解法で得られる再投影の２次元座標（ｕｉｊ,ｖｉｊ）との間の関係は（５）式及び（６）式で与えられているので、以下（１２）式で表される。
【００４９】
【数６】
2020071682.tif 000014
【００５０】
上記（１２）式より、以下（１３）式が得られる。
【００５１】
【数７】
2020071682.tif 000015
【００５２】
（１３）式を使えば、λｉｊが更新されるので、更新されたλｉｊを（５）式に代入して計測行列［Ａ］を更新する。新たな計測行列［Ａ］が得られると、ランク４の因子分解法により拡張形状行列［Ｘ］を得る。これを以下（１４）式の評価値ΔＥが十分に収束するまで繰り返す。
【００５３】
【数８】
2020071682.tif 000016
【００５４】
最後に、反復が完了した時点でのλｉｊからＶｚｊ／Ｚｊを求める。
【００５５】
３次元速度と関係するのはｉ＝１,２,...,Ｍなので、（４）式と（１３）式との関係から、各点のＶｚｊ／Ｚｊは以下（１５）式により求められる。
【００５６】
【数９】
2020071682.tif 000017
【００５７】
以上の反復的因子分解法によって、３次元速度（Ｖｘｊ／Ｚｊ,Ｖｙｊ／Ｚｊ,Ｖｚｊ／Ｚｊ）,ｊ＝１,２,...,Ｎを復元することができる。ただし、視点は固定されているので奥行き情報１／Ｚｊの不定性が残る。本実施形態では、与えられた２次元座標を描くようにＵＡＶ群の位置を制御することが目的としているため、奥行き情報１／Ｚｊを固定して、拡張形状行列［Ｘ］から各ＵＡＶの初期の３次元位置と３次元速度を推定する。以上を踏まえて、以下、本発明の第１の実施形態の詳細な処理内容を説明する。
【００５８】
＜本発明の第１の実施形態に係る空間配置制御装置の作用＞
【００５９】
次に、本発明の第１の実施形態に係る空間配置制御装置１００の作用について説明する。
【００６０】
空間配置制御装置１００は、図４に示す空間配置制御処理ルーチンを実行する。なお、空間配置制御処理ルーチンは、群位置検出部３２以降の各ステップの詳細において説明するようにステップごとに独立して処理を行っているものとする。
【００６１】
まず、ステップＳ１００では、群空間配置推定部３０は、複数のＵＡＶの各々に対する複数のフレーム毎の仮想画面上の２次元座標に基づいて、当該ＵＡＶ及びフレームの組み合わせ毎の係数を掛けた座標値を要素とする計測行列を、係数の値を変えながら行列分解する。そして、群空間配置推定部３０は、行列分解により得られた行列の要素を用いて、ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する。
【００６２】
ステップＳ１０２では、群位置検出部３２は、位置計測センサ１０によって計測されたＵＡＶの各々の現在位置と、初期状態の３次元位置により定まるＵＡＶの各々の目標点とに基づいて、ＵＡＶの各々について、目標点に対するベクトルを算出する。
【００６３】
ステップＳ１０４では、群位置制御部３４は、群位置検出部３２で算出した目標点に対するベクトルに基づいて、ＵＡＶの各々について、初期状態の３次元位置に配置されるように当該ＵＡＶの飛行を制御するための制御データを計算する。また、全てのＵＡＶが初期状態の３次元位置に配置されると、配置完了通知を群速度制御部３６に出力する。
【００６４】
ステップＳ１０６では、群速度制御部３６は、群位置制御部３４から配置完了通知を受け付けたかを判定し、配置完了通知を受け付けた場合にはステップＳ１０８へ移行し、配置完了通知を受け付けていない場合にはステップＳ１１０へ移行する。
【００６５】
ステップＳ１０８では、群速度制御部３６は、ＵＡＶの各々が初期状態の３次元位置に配置されてから、ＵＡＶの各々について、ステップＳ１００で推定した３次元速度で飛行するように制御データを計算する。
【００６６】
ステップＳ１１０では、飛行コマンド変換部３８は、群位置制御部３４で計算された制御データ、又は群速度制御部３６で計算された制御データに基づいて、ＵＡＶの各々について、飛行指令データを算出し、算出した飛行指令データに基づいてＵＡＶの運動を制御する。
【００６７】
ステップＳ１１２では、飛行コマンド変換部３８は、空間配置制御の処理を停止するかを判定し、処理を停止する場合には処理を終了し、終了しない場合にはステップＳ１０４に戻って処理を繰り返す。
【００６８】
次に、ステップＳ１００の群空間配置推定部３０の処理の詳細について説明する。図５及び図６は群空間配置推定部３０の処理のフロー図である。なお図５のフロー上に示した符号Ｚは第２の実施形態に対応する入力であり、符号Ｗは第３の実施形態に対応する入力であるため、第１の実施形態では用いないものである。各符号が表す入力については第２、第３の実施形態において説明する。
【００６９】
群空間配置推定部３０は処理を開始すると、ステップＳ１０００で、映像ＤＢ４０から２次元座標（ｘｉｊ,ｙｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝を取得する。２次元座標は、Ｍ＋１フレーム間のＵＡＶ群の仮想画面上の２次元座標である。仮想画面とは鑑賞者視点を想定した画像面を意味する。視点Ｏから仮想画面までの距離は焦点距離に相当するが、本実施形態では１とする。ただし、任意の値に設定してもよい。図７はＭ＋１フレーム間の２次元座標（ｘｉｊ,ｙｉｊ）の例である。この例では、初期状態の星型多角形が次第に大きく膨らむパターンが描かれている。この例のように、作業者は仮想画面上の２次元パターンデータとして任意に点描画の２次元座標を設定してよい。Ｍ＋１フレーム間、ＵＡＶ群は一定速度（Ｖｘｊ,Ｖｙｊ,Ｖｚｊ），ｊ∈｛０,１,２,...,Ｎ｝で飛行することを前提とする。ＵＡＶ群の飛行は連続的に変化するが、Ｍフレーム間隔では線形運動として近似できるものとする。
【００７０】
ステップＳ１００２では、係数λｉｊ，ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝を、λｉｊ＝１と初期化する。
【００７１】
次に、ステップＳ１００４では、上記（５）式に示す計測行列［Ａ］を生成する。計測行列［Ａ］は２（Ｍ＋１）×Ｎの正方行列ではない特異行列である。
【００７２】
ステップＳ１００６で、ステップＳ１００４で生成した計測行列［Ａ］を特異値分解（Ｓｉｎｇｕｌａｒ Ｖａｌｕｅ Ｄｅｃｏｍｐｏｓｉｔｉｏｎ）により３つの行列：［Ｕ］,［Ｗ］,［Ｖ］Ｔへ分解する。行列［Ｖ］の肩のＴは転置を表す。特異値分解には、線形代数ライブラリＬＡＰＡＣＫを利用する。行列［Ｕ］は２（Ｍ＋１）×Ｎの行列であり、各列ベクトルは正規直交系を構成する。行列［Ｖ］ＴはＮ×Ｎの行列であり、各行ベクトルは正規直交系を構成する。行列［Ｗ］はＮ×Ｎ対角行列であり、昇降順に特異値が並ぶ。すなわち、特異値分解により、［Ａ］＝［Ｕ］［Ｗ］［Ｖ］Ｔと分解される。
【００７３】
（５）式〜（１０）式で示したように、計測行列［Ａ］のランクはたかだか４である。このランクに基づき、ステップＳ１００８では、行列要素を切り詰め、分解した行列のランクを４にする。行列［Ｕ］を取り出し、５列目以降の行列成分を削除して２（Ｍ＋１）×４の行列［Ｕ′］を得る。行列［Ｗ］を取り出し、５列目以降の行列成分を削除して４×４の行列［Ｗ′］を得る。行列［Ｖ］Ｔを取り出し、５行目以降の行列成分を削除して４×Ｎの行列［Ｖ′］Ｔを得る。
【００７４】
この段階において、行列［Ｐ′］＝［Ｕ′］と［Ｘ′］＝［Ｗ′］［Ｖ′］Ｔを得ることになる。
【００７５】
次に、ステップＳ１０１０で、行列［Ｑ］を算出する。具体的には、拡張カメラ行列［Ｐ′］は（６）式に示す行列［Ｐ］に一致させるため、（１１）式を使って４×４の行列［Ｑ］を求める。
【００７６】
ステップＳ１０１２で、行列［Ｑ］を使って拡張形状行列［Ｘ］＝［Ｑ］−１［Ｘ′］を求める。この行列変換によって、拡張形状行列［Ｘ］は（６）式、（９）式、及び（１０）式に対応した行列要素を持つ。ただし、係数λｉｊ，ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝を全て１に初期化した後の処理であるため、行列分解が完全ではない状態である。
【００７７】
本実施形態では、（１４）式で与えられる評価値ΔＥにより、行列分解の度合いを判定する必要がある。
【００７８】
そこで、ステップＳ１０１４で、再投影の２次元座標を算出する。具体的には、行列［Ｐ］から第ｉフレームのベクトルｍｉとベクトルｎｉを取り出し、拡張形状行列［Ｘ］からベクトルＳ′ｉとベクトルＶ′ｉを取り出し、以下（１６）式の計算により、再投影の２次元座標（ｕｉｊ,ｖｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝を得る。
【００７９】
【数１０】
2020071682.tif 000018
【００８０】
続いて、ステップＳ１０１６で、（１４）式を使って、再投影誤差としての評価値ΔＥを算出する。
【００８１】
ステップＳ１０１８で、評価値ΔＥが許容誤差δ未満であるかを判定する。δ未満であれば、計測行列［Ａ］の行列分解が完了したと判定しステップＳ１０２２へ移行する。許容誤差δ未満でなければ、ステップＳ１０２０へ移行し、係数λｉｊ，ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝を（１３）式に従って更新する。なお、もし分母のｘ２ｉｊ＋ｙ２ｉｊが０に近い場合には、計算値の発散を回避するため、ｘ２ｉｊ＋ｙ２ｉｊが所定の許容値以下の場合はλｉｊ＝１と置換する。ステップＳ１０２０による更新後は、ステップＳ１００４に戻って、更新された係数λｉｊ，ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝と元の２次元座標（ｘｉｊ,ｙｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝から、（５）式に従って計測行列［Ａ］を再び生成する。続いてステップＳ１００６〜１０１８で、特異値分解による行列を分解し、ランク４に基づき拡張形状行列［Ｘ］を計算、評価値の算出、及び評価値の判定を行う。この反復計算を、評価値ΔＥが許容誤差未満になるまで繰り返す。
【００８２】
ステップＳ１０２２で、行列分解が完了した後、初期状態の各ＵＡＶの３次元位置と３次元速度を算出する。（９）式によれば、奥行きＺｊに対するＸ座標値Ｘ′ｊ＝Ｘｊ／ＺｊとＹ座標値Ｙ′ｊ＝Ｙｊ／Ｚｊは、拡張形状行列［Ｘ］から取り出したベクトルＳ′ｉの行列要素で与えられる。（１０）式によれば、奥行きＺｊに対するＸ軸方向の速度Ｖｘ′ｊ＝Ｖｘｊ／ＺｊとＹ軸方向の速度Ｖｙ′ｊ＝Ｖｙｊ／Ｚｊは、拡張形状行列［Ｘ］から取り出したベクトルＶ′ｊの行列要素で与えられる。一方、係数λｉｊは（４）式で表されているため、（１５）式によりＺ軸方向の速度Ｖｚ′ｊ＝Ｖｚｊ／Ｚｊが得られる。ただし、初期状態の各ＵＡＶの３次元位置と３次元速度には奥行きＺｊ倍の不定性が含まれるため、本実施形態では、視点から十分離れた距離Ｚ０を使って、Ｚｊ＝Ｚ０、ｊ∈｛０,１,２,...,Ｎ｝と与える。値Ｚ０をＸ座標値Ｘ′ｊ、Ｙ座標値Ｙ′ｊ、Ｘ軸方向の速度Ｖｘ′ｊとＹ軸方向の速度Ｖｙ′ｊ、並びに、Ｚ軸方向の速度Ｖｚ′ｊに掛けて、初期状態の各ＵＡＶの３次元位置（Ｘｊ,Ｙｊ,Ｚｊ）と３次元速度（Ｖｘｊ,Ｖｙｊ,Ｖｚｊ）を算出する。
【００８３】
以上の処理により、群空間配置推定部３０は、仮想画面上の２次元座標（ｘｉｊ,ｙｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝が与えられると、ＵＡＶ群の初期状態の３次元位置（Ｘｊ,Ｙｊ,Ｚｊ）と３次元速度（Ｖｘｊ,Ｖｙｊ,Ｖｚｊ），ｊ∈｛０,１,２,...,Ｎ｝を求める。
【００８４】
次に、ステップＳ１０２の群位置検出部３２の処理の詳細について説明する。図８は群位置検出部３２の処理のフロー図である。なお、群位置検出部３２は、以下のＳ１１０２〜Ｓ１１０６の処理を繰り返し、全てのＵＡＶ＃ｊ，ｊ∈｛０,１,２,...,Ｎ｝についてベクトルＴｊを算出するものとする。処理は、ＵＡＶ一機ずつ行ってもよいし、数機ずつ行ってもよい。
【００８５】
群位置検出部３２は処理を開始すると、ステップＳ１１００で、群空間配置推定部３０で得た初期状態の３次元位置（Ｘｊ,Ｙｊ,Ｚｊ）を第ｊ番目のＵＡＶの目標点Ｐｊとして与える。目標点Ｐｊは個別に与えるのではなく、Ｎ機のＵＡＶに対して全ての３次元位置Ｐｊ＝（Ｘｊ,Ｙｊ,Ｚｊ），ｊ∈｛０,１,２,...,Ｎ｝を同時に設定する。
【００８６】
ステップＳ１１０２で、位置計測センサ１０から、ＵＡＶ群に取り付けたマーカー点ｅｊ，ｊ∈｛０,１,２,...,Ｎ｝の３次元位置を検出する。以降では、点ｅｊを第ｊ番目のＵＡＶの現在位置とする。
【００８７】
ステップＳ１１０４で、各ＵＡＶの現在位置（点ｅｊ）から目標点（点Ｐｊ）までのベクトルＴｊを、Ｔｊ＝Ｐｊ−ｅｊの計算により求める。各ＵＡＶの３次元位置の他に、ある方向からの方位角を定義できるが、本実施形態は各ＵＡＶを点として扱うため方位角を算出する必要がない。
【００８８】
ステップＳ１１０６で、群位置検出部３２の処理を停止するかを判定し、処理を停止する場合には群位置検出部３２の処理を終了し、終了しない場合にはステップＳ１１０２に戻って処理を繰り返す。処理の停止の判定基準は、全てのＵＡＶについて処理を終了した場合や、操作者がＵＡＶの飛行制御を終了するとした場合とすればよい。
【００８９】
以上の処理により、群位置検出部３２では各ＵＡＶの現在位置から目標点までのベクトルＴｊ，ｊ∈｛０,１,２,...,Ｎ｝を算出する。
【００９０】
次に、ステップＳ１０４の群位置制御部３４の処理の詳細について説明する。この処理では、群位置検出部３２で得たベクトルＴｊに基づき、現在位置から目標点までの直線飛行を制御するための処理フローを説明する。
【００９１】
図９は群位置制御部３４の処理のフロー図である。なお、群位置制御部３４は、全てのＵＡＶ＃ｊ，ｊ∈｛０,１,２,...,Ｎ｝について以下のＳ１２０２〜Ｓ１２１０の処理を行うものとする。処理はベクトルＴｊの入力に応じて、ＵＡＶ一機ずつ行ってもよいし、数機ずつ行ってもよい。
【００９２】
ステップＳ１２００で、許容距離を設定する。許容距離とは、各ＵＡＶの現在位置ｅｊが目標点Ｐｊに到達したかどうかを判定するための距離ΔＬである。ＵＡＶの飛行には空気抵抗によるゆらぎが影響を与えるため、許容距離ΔＬは、例えば１０センチメートルとする。
【００９３】
ここで、群位置検出部３２において、各ＵＡＶの現在位置（点ｅｊ）が位置計測センサ１０を使って時系列に得られており、現在位置を取得するたびにベクトルＴｊが本処理に与えられる。ベクトルＴｊの入力を図９にはＸと記した。
【００９４】
ステップＳ１２０２で、ベクトルＴｊから、現在位置ｅｊから目標点Ｐｊまでの距離||Ｔｊ||を算出する。||・||はベクトルのノルム（大きさ）を表す。
【００９５】
ステップＳ１２０４で、距離||Ｔｊ||が許容距離ΔＬ以内かどうかを判定する。||Ｔｊ||≦ΔＬであれば、ステップＳ１２０６へ移行し、ホバリング状態で第ｊ番目のＵＡＶを待機させる。||Ｔｊ||≦ΔＬでなければステップＳ１２０８へ移行する。
【００９６】
ステップＳ１２０８で、制御データＵｊを
2020071682.tif 000019
の計算により求める。制御データＵｊは、飛行コマンド変換部３８においてＵＡＶへの飛行指令として使われる。
【００９７】
2020071682.tif 000020
はフィードバック制御におけるゲインパラメータであり、鑑賞者が状況に応じて設定する。制御データＵｊが計算されると、飛行コマンド変換部３８に渡される。図９には制御データＵｊの出力をＹと記した。この反復を続けることにより各ＵＡＶは目標点Ｐｊに近づき、||Ｔｊ||≦ΔＬを満たすとき、各ＵＡＶが目標点に到達したと判定してホバリング状態になる。
【００９８】
ステップＳ１２１０で、群位置制御部３４の処理を停止するかを判定する。処理を停止する場合には、全てのＵＡＶが目標点に到達していればステップＳ１２１２で配置完了通知をして処理を終了する。処理を停止しない場合にはステップＳ１２０２に戻って処理を繰り返す。
【００９９】
以上の処理によって、群位置制御部３４は、ＵＡＶ群の現在位置ｅｊ，ｊ∈｛０,１,２,...,Ｎ｝から目標点Ｐｊまでの距離||Ｔｊ||に応じて制御データＵｊを出力する。
【０１００】
図１０は群速度制御部３６の処理のフロー図である。上記図３で説明したように、本処理は群位置制御部３４から配置完了通知を受け付けた後に行われる。この処理では、群位置制御部３４によってＵＡＶ群が初期状態の位置に到達した後、群空間配置推定部３０で推定したＵＡＶ群の３次元速度（Ｖｘｊ,Ｖｙｊ,Ｖｚｊ），ｊ∈｛０,１,２,...,Ｎ｝に従って、Ｍ＋１フレームにわたってＵＡＶ群の飛行を制御する。本処理は、Ｍ＋１フレーム間、等速直線運動に従って３次元速度（Ｖｘｊ,Ｖｙｊ,Ｖｚｊ）で第ｊ番目のＵＡＶが飛行することを前提とする。処理開始の現時点において、ＵＡＶ群が初期状態の３次元位置（すなわち目標点Ｐｊ）到達しているとする。なお、群速度制御部３６は、全てのＵＡＶ＃ｊ，ｊ∈｛０,１,２,...,Ｎ｝について以下の処理を行い、フレーム毎に制御データＵｊを計算するものとする。
【０１０１】
本処理を開始すると、ステップＳ１３００で、群空間配置推定部３０で推定したＵＡＶ群の３次元速度（Ｖｘｊ,Ｖｙｊ,Ｖｚｊ），ｊ∈｛０,１,２,...,Ｎ｝を取り出す。
【０１０２】
ステップＳ１３０２で、フレーム番号をｉ＝０に設定する。
【０１０３】
ステップＳ１３０４で、制御データＵｊを計算する。速度ベクトルは物理的な値（ｍ／ｓｅｃ）であるため、制御データＵｊ＝（Ｕｘｊ,Ｕｙｊ,Ｕｚｊ）を以下（１７）式のように与える。
【０１０４】
【数１１】
2020071682.tif 000021
【０１０５】
ここで係数βｘ，βｙ，βｚは値を調整するためのスケール変換係数であり、設定値として決められる値である。
【０１０６】
ステップＳ１３０６で、フレーム番号をｉ←ｉ＋１とカウントアップする。
【０１０７】
ステップＳ１３０８で、ｉ≦Ｍであるかを判定し、ｉ≦Ｍであれば処理を終了し、ｉ≦ＭでなければステップＳ１３０４に戻って処理を繰り返す。
【０１０８】
第０番目のフレームでの制御データＵｊは零ベクトルが設定されており、上記繰り返しにより１≦ｉ≦ＭのＭフレームにわたって（１７）式により得られる制御データＵｊが飛行コマンド変換部３８に出力される。図１０上にはＹ′と記した。
【０１０９】
次に、ステップＳ１１０の飛行コマンド変換部３８の処理の詳細について説明する。図１１は飛行コマンド変換部３８の処理のフロー図である。飛行コマンド変換部３８は、全てのＵＡＶ＃ｊ，ｊ∈｛０,１,２,...,Ｎ｝について以下の処理を行い、制御データＵｊをＵＡＶ＃ｊに応じて飛行コマンドとしての飛行指令データに変換し、飛行指令データを通信部５０から無線経由で各ＵＡＶに対して送信する。なお、群位置制御部３４は、全てのＵＡＶ＃ｊ，ｊ∈｛０,１,２,...,Ｎ｝について以下の処理を行うものとする。処理は受け付けた制御データＵｊに応じて、ＵＡＶ一機ずつ行ってもよいし、数機ずつ行ってもよい。
【０１１０】
ステップＳ１４００で、群位置制御部３４又はＵＡＶ群速度制御部３６から制御データＵｊ，ｊ∈｛０,１,２,...,Ｎ｝の入力を受け付ける。
【０１１１】
ＵＡＶへの飛行指令データは、機体に設定されたＸ軸周りの回転速度Ｆｘ、Ｙ軸周りの回転速度Ｆｙ、Ｚ軸に沿った速度Ｆｚになる。本実施形態では、方位の制御を扱わないため、Ｚ軸周りの回転速度Ｆθを計算しないものとする。制御データＵｊがＵｊ＝（Ｕｘｊ,Ｕｙｊ,Ｕｚｊ）と与えられるとする。
【０１１２】
ステップＳ１４０２で、制御データＵｊから、ＵＡＶへ送信するための飛行指令データへ変換する。ＵＡＶでは、Ｘ軸周りの回転がＹ軸の並進運動を生み出し、Ｙ軸周りの回転がＸ軸の並進運動を生み出するため、本処理では、ＵＡＶに与える飛行指令データを以下（１８）式により変換する。
【０１１３】
【数１２】
2020071682.tif 000022
【０１１４】
係数αｘ，αｙ，αｚは使用するＵＡＶが扱うことができる数値への変換係数であり、使用するＵＡＶに合わせた設定値として決められる値である。
【０１１５】
ステップＳ１４０４で、ステップＳ１４０２で算出した飛行指令データを無線経由で各ＵＡＶに送信する。
【０１１６】
ステップＳ１４０６で、飛行コマンド変換部３８の処理を停止するかを判定し、処理を停止する場合には飛行コマンド変換部３８の処理を終了し、終了しない場合にはステップＳ１４００に戻って処理を繰り返す。
【０１１７】
以上のように本処理は、群位置制御部３４又は群速度制御部３６で得た制御データＵｊが与えられるたびに、（１８）式で算出した飛行指令データをＵＡＶの各々へ送信し続ける。
【０１１８】
以上説明した本発明の第１の実施形態によれば、仮想画面上の時系列に与えられる２次元座標に応じて、ＵＡＶ群の初期状態の３次元位置と３次元速度を推定し、位置計測センサで得た３次元位置との整合を図りながら、空間中に作業者が設計した２次元アートあるいは２次元パターンを描くようにＵＡＶ群の飛行を制御することができる。また、ＵＡＶ群が互いに衝突しないように編隊を組んで安全に飛行し、かつ、鑑賞者視点に対して適応的にＵＡＶ群を制御することができる。
【０１１９】
＜本発明の第２の実施形態に係る飛行制御装置の構成及び作用＞
【０１２０】
図１２は本発明の第２の実施形態に係る空間配置制御装置２００の主な構成図である。本実施形態は、演出時間に応じて設計されたＵＡＶ群の２次元座標が長時間であるとき、フレーム数Ｍに分割したサブシーケンスを使ってＵＡＶ群の３次元速度を算出して、ＵＡＶ群の飛行を制御する実施形態である。第２の実施形態は、映像ＤＢ４０から読み込んだ複数のフレームからなる映像シーケンスを各シーケンスに分割する処理が第１の実施形態と異なるため、以降ではその差分のみを説明する。
【０１２１】
シーケンス分割部２２８は、映像ＤＢ４０から読み込んだ複数のフレームからなる映像シーケンスを各シーケンスに分割する。映像シーケンスは、映像のタイムライン全体のフレームを並べたものであり、例えば、３０分に相当するフレームを含むものである。図１３は映像シーケンスの例である。シーケンスの詳細については後述する。
【０１２２】
群空間配置推定部３０では、シーケンス毎に、ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する。つまり、シーケンス毎に初期状態が求まり、シーケンス毎に以降の各処理部の制御が行われる。
【０１２３】
図１４はシーケンス分割部２２８のフロー図である。
【０１２４】
シーケンス分割部２２８は、処理を開始すると、ステップＳ２０００で、映像ＤＢ４０から仮想画面上の映像シーケンスの全ての２次元座標（ｘｉｊ,ｙｉｊ），ｉ∈｛０,１,２,...,Ｒ｝，（Ｒ≫Ｍ），ｊ∈｛０,１,２,...,Ｎ｝を取得する。
【０１２５】
図１３に示すように各フレームはタイムスタンプで管理されている。ＵＡＶ群の飛行運動をＭフレームに分割した線形近似飛行と扱うため、Ｒフレームの映像をＭフレーム単位で分割する。図１３には、ｔ０≦ｔ≦ｔ１（シーケンス１），ｔ１≦ｔ≦ｔ２（シーケンス２），ｔ２≦ｔ≦ｔ３（シーケンス３）,...,ｔｑ−１≦ｔ≦ｔｑ（シーケンスｑ）の間のフレーム数がＭとなる。ただし、シーケンス１の最後のフレームはシーケンス２の最初のフレームと同じであり、シーケンス２の最後のフレームはシーケンス３の最初のフレームと同じである。すなわち、シーケンスｓの最初のフレームはシーケンスｓ−１の最後のフレームと同じであり、シーケンスｓの最後のフレームはシーケンスｓ＋１の最初のフレームと同じである。なお、本実施形態では、各シーケンスのフレーム数はそれぞれ異なっても同様に処理することができるのは言うまでもない。
【０１２６】
ステップＳ２００２で、シーケンス番号をｓ＝１に設定する。
【０１２７】
ステップＳ２００４で、シーケンスｓに含まれる各フレームを群空間配置推定部３０に出力する。各フレームの出力を図１４にはＺと記した。群空間配置推定部３０では、図５に示したように、Ｚによりシーケンス分割部２２８から出力されたシーケンスｓに対応する各フレームにおける二次元座標の入力を受け付けて後続する処理を行う。
【０１２８】
Ｍフレームに分割されたシーケンスは、第１の実施形態で扱う２次元座標（ｘｉｊ,ｙｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝に置き換えることができる。第１の実施形態で説明した処理によって、各シーケンスにおける各ＵＡＶの３次元位置とそのフレーム間の３次元速度を推定する。
【０１２９】
ステップＳ２００６で、ｓ←ｓ＋１とする。
【０１３０】
ステップＳ２００８で、ｓ≦ｑであるかを判定する。ｓ≦ｑであれば処理を終了し、ｓ≦ｑでなければステップＳ２００４に戻って処理を繰り返す。
【０１３１】
このように図１４では、１≦ｓ≦ｑを順番に処理する。このように、短時間のフレーム数をシーケンスに分けて連続して処理することにより、シーケンス単位で計測行列の特異値分解を行い、３次元位置、及び３次元速度の推定が可能になる。これにより、長時間にわたってＵＡＶ群の空間配置を制御することができる。
【０１３２】
＜本発明の第３の実施形態に係る飛行制御装置の構成及び作用＞
【０１３３】
図１５は本発明の第３の実施形態に係る空間配置制御装置３００の主な構成図である。本実施形態は、鑑賞者視点の方向に対応してＵＡＶ群の空間配置を制御する。本実施形態は、基準の仮想画面と鑑賞者姿勢の仮想画面が異なるとき、２つの仮想画面間の平面射影変換を利用して、映像ＤＢ４０から読み込んだ２次元座標を幾何変換する。以降では、上記の第１実施形態との差分のみを説明する。なお、第２実施形態を適用して、シーケンスに分割した各フレームを幾何変換してもよい。
【０１３４】
平面射影変換部３２８は、仮想画面の基準姿勢と、鑑賞者の姿勢との間の平面射影変換行列に基づいて、仮想画面の２次元座標を、鑑賞者の姿勢を反映した仮想画面上の２次元座標に変換する。
【０１３５】
図１６は、基準の仮想画面と鑑賞者姿勢の仮想画面との関係を表す。基準姿勢の仮想画面の２次元座標を（ｘ′ｉｊ,ｙ′ｉｊ）とし、鑑賞者姿勢の仮想画面の２次元座標を（ｘｉｊ,ｙｉｊ）とする。図１６において、基準の仮想画面は、図３の仮想画面と同じものである。両者の平面間には平面射影変換（ｐｌａｎｅ−ｈｏｍｏｇｒａｐｈｙ）の関係が成り立つ。そのため、３×３の平面射影変換Ｈが与えられると、鑑賞者姿勢の仮想画面の２次元座標（ｘｉｊ,ｙｉｊ）から基準姿勢の仮想画面の２次元座標（ｘ′ｉｊ,ｙ′ｉｊ）へ、以下の（１９）式の計算により、一意に変換することができる。
【０１３６】
【数１３】
2020071682.tif 000023
【０１３７】
本実施形態では、事前のキャリブレーションによって、３×３の行列である平面射影変換Ｈを求めておき、映像ＤＢ４０から取り出した２次元座標（ｘｉｊ,ｙｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝から、（１９）式を利用して平面射影変換された２次元座標（ｘ′ｉｊ,ｙ′ｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝を求める。第１実施形態において、２次元座標（ｘ′ｉｊ,ｙ′ｉｊ）を用いて、映像ＤＢから取り出した２次元座標（ｘｉｊ,ｙｉｊ）を、（ｘ′ｉｊ,ｙ′ｉｊ）に置き換えて処理すれば、第１実施形態と同様の処理によりＵＡＶ群の初期状態の３次元位置と３次元速度とを推定することができる。
【０１３８】
図１７は平面射影変換部３２８のフロー図である。平面射影変換部３２８は、処理を開始すると、ステップＳ３０００で、映像ＤＢ４０から仮想画面上の２次元座標（ｘｉｊ,ｙｉｊ），ｉ∈｛０,１,２,...,Ｍ｝，ｊ∈｛０,１,２,...,Ｎ｝を取得する。
【０１３９】
次に、ステップＳ３００２で、事前に求めておいた基準の仮想画面と鑑賞者姿勢の仮想画面との間の平面射影変換Ｈを取得する。
【０１４０】
ステップＳ３００４で、ステップＳ３００２で取得した平面射影変換Ｈを使って、（１９）式に従って鑑賞者姿勢の仮想画面の２次元座標（ｘｉｊ,ｙｉｊ）から基準姿勢の仮想画面の２次元座標（ｘ′ｉｊ,ｙ′ｉｊ）へ幾何変換する。
【０１４１】
ステップＳ３００６で、フレーム毎の変換後の２次元座標を生成し、群空間配置推定部３０に出力して処理を終了する。変換後の２次元座標の出力は図１７にはＷと記した。群空間配置推定部３０では、図５に示したように、Ｗにより平面射影変換部３２８から出力された変換後の２次元座標の入力を受け付けて、変換後の２次元座標に基づいて、ＵＡＶの各々について、初期状態の３次元位置、及び３次元速度を推定する。
【０１４２】
以上により、本実施形態は、平面射影変換による幾何補正により、鑑賞者の姿勢に合わせたベストショットな２次元座標を用いてＵＡＶ群の空間配置を制御する。
【０１４３】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１４４】
例えば、上述した実施形態では、飛行するＵＡＶの空間配置を制御する場合を例に説明したが、これに限定されるものではなく、例えば地上で駆動する走行装置等に適用してもよい。
【符号の説明】
【０１４５】
１０   位置計測センサ
３０   群空間配置推定部
３２   群位置検出部
３４   群位置制御部
３６   群速度制御部
３８   飛行コマンド変換部
５０   通信部
１００、２００、３００      空間配置制御装置
２２８ シーケンス分割部
３２８ 平面射影変換部
【図１】
2020071682.tif 000024
【図２】
2020071682.tif 000025
【図３】
2020071682.tif 000026
【図４】
2020071682.tif 000027
【図５】
2020071682.tif 000028
【図６】
2020071682.tif 000029
【図７】
2020071682.tif 000030
【図８】
2020071682.tif 000031
【図９】
2020071682.tif 000032
【図１０】
2020071682.tif 000033
【図１１】
2020071682.tif 000034
【図１２】
2020071682.tif 000035
【図１３】
2020071682.tif 000036
【図１４】
2020071682.tif 000037
【図１５】
2020071682.tif 000038
【図１６】
2020071682.tif 000039
【図１７】
2020071682.tif 000040
【図１８】
2020071682.tif 000041
【図１９】
2020071682.tif 000042
【図２０】
2020071682.tif 000043