(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記予測部が予測した前記本体部の姿勢に基づいて前記複数の回転翼の回転速度を変化させることで、前記変位部が前記変位先の位置に変位することにより生じる前記本体部の姿勢の変化が抑制されるように、前記本体部の姿勢を制御する
請求項1に記載の無人航空機。
【発明を実施するための形態】
【0022】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0023】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0024】
図1は、システムの構成の一例を示す図である。システムは、無人航空機(UAV)100を備える。UAV100は、UAV本体101、ジンバル110、及び撮像装置190を備える。UAV本体101は、回転翼108a及び回転翼108bを含む複数の回転翼を有する。UAV本体101が有する複数の回転翼を、回転翼108と総称する場合がある。撮像装置190は、撮像部140及びレンズ装置160を備える。UAV100は、対象物を備えて移動する移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機、地上を移動する車両、水上を移動する船舶等を含む概念である。
【0025】
UAV100は、回転翼108の回転を制御することで飛行する。UAV100は、例えば、4つの回転翼108を用いて飛行する。回転翼108の数は、4つには限定されない。UAV100は、回転翼108を有さない固定翼機でもよい。
【0026】
ジンバル110は、ジンバル110に対する撮像装置190の姿勢を変更可能に撮像部140及びレンズ装置160を支持する。ジンバル110は、少なくとも1つの軸を中心に撮像装置190を回転可能に支持してよい。例えば、ジンバル110は、撮像装置190を、ピッチ軸、ロール軸、及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル110は、撮像部140を保持してもよし、レンズ装置160を保持してもよい。
【0027】
撮像部140は、レンズ装置160を介して結像された光学像の画像データを生成して記録する。レンズ装置160は、いわゆる交換レンズである。レンズ装置160は、撮像部140に対して着脱可能である。
【0028】
図2は、UAV100の機能ブロックの一例を示す。UAV100は、UAV本体101、ジンバル110及び撮像装置190を備える。UAV本体101は、通信インタフェース102、UAV制御部104、センサ120、メモリ106、ドライバ107、検出部105、モータ109及び回転翼108を有する。
【0029】
ドライバ107及びモータ109は、UAV100を移動させる駆動部として機能する。ドライバ107は、モータ109を駆動する。モータ109は、回転翼108を駆動する。モータ109は、複数の回転翼108のそれぞれに1つ設けられる。ドライバ107は、モータ109のそれぞれの駆動軸の回転速度を制御する。回転速度は、例えば単位時間あたりの回転数である。回転翼108は、対応するモータ109の駆動軸の回転によって回転される。UAV100は、回転翼108が回転することで飛行する。
【0030】
通信インタフェース102は、外部の送信機と通信する。通信インタフェース102は、遠隔の送信機から各種の命令を受信する。UAV制御部104は、送信機から受信した命令に従って、UAV100の飛行を制御する。UAV制御部104は、ジンバル110、撮像部140、及びレンズ装置160を制御する。
【0031】
UAV制御部104は、CPU又はMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。メモリ106は、UAV制御部104がジンバル110、撮像部140、及びレンズ装置160を制御するのに必要なプログラムなどを格納する。メモリ106は、コンピュータが可読な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。メモリ106は、UAV100の筐体に設けられてよい。メモリ106は、UAV100の筐体から取り外し可能に設けられてよい。UAV制御部104は、UAV100を制御装置として機能させてよい。この場合、UAV100の姿勢を調整するためのプログラムがメモリ106から読み出されて実行される。UAV制御部104は、UAV100を制御装置として機能させてよい。
【0032】
検出部105は、UAV100の状況、又はUAV100の周囲の状況を検出する。検出部105は、例えば、UAV100の緯度、経度、及び高度を含む位置、及びUAV100の機首の向きに対応する方位を検出する。検出部105は、UAV100の周囲を撮像するセンシング用の撮像装置を含んでよい。
【0033】
UAV制御部104は、確認部188を含む。確認部188は、UAV100の飛行前のイニシャライズを実行する。確認部188は、ドライバ107、モータ109、回転翼108、及び検出部105の動作確認を実行する。確認部188は、UAV100の飛行前に、ドライバ107、モータ109、回転翼108、及び検出部105の動作確認を実行してよい。確認部188は、UAV100の状況を検出する各種センサの動作確認を実行してよい。イニシャライズが実行される期間
の一例は、UAV100に電源が投入されてからUAV100が移動し始めるまでの間の期間である。
【0034】
センサ120は、UAV本体101の姿勢を取得するためのセンサである。センサ120は、ジンバル110の姿勢を検出してよい。センサ120は、ジャイロセンサであってよい。センサ120による姿勢の検出値は、UAV制御部104に出力される。UAV制御部104は、センサ120による姿勢の検出値に基づいて、UAV本体101及びジンバル110を制御する。
【0035】
ジンバル110は、少なくとも1つの軸を中心に撮像装置190を回転可能に支持する。ジンバル110は、ヨー軸、ピッチ軸、及びロール軸を中心に撮像装置190を回転可能に支持してよい。UAV制御部104は、ジンバル110に対する動作命令を出力する。動作命令は、ヨー角の目標値、ピッチ角の目標値、ロール角の目標値を含む。ヨー角は、ヨー軸まわりの撮像装置190の回転角度である。ピッチ角は、ピッチ軸まわりの撮像装置190の回転角度である。ロール角は、ロール軸まわりの撮像装置190の回転角度である。ジンバル110は、UAV制御部104から取得した動作命令に従って、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置190を回転させる。ジンバル110は、ヨー角、ピッチ角及びロール角をそれぞれの目標値に制御する。これにより、撮像装置190の向きが制御される。
【0036】
撮像部140は、撮像制御部142、撮像素子144及びメモリ146を有する。撮像制御部142は、CPU又はMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。撮像制御部142は、UAV制御部104からの撮像部140及びレンズ装置160の動作命令に応じて、撮像部140及びレンズ装置160を制御する。メモリ146は、コンピュータが可読な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。メモリ146は、撮像部140の筐体の内部に設けられてよい。撮像部140の筐体から取り外し可能に設けられてよい。
【0037】
撮像素子144は、撮像部140の筐体の内部に保持され、レンズ装置160を介して結像された光学像の画像データを生成して、撮像制御部142に出力する。撮像制御部142は、撮像素子144から出力された画像データをメモリ146に格納する。撮像制御部142は、画像データを、UAV制御部104を介してメモリ106に出力して格納してもよい。
【0038】
レンズ装置160は、レンズ制御部162、メモリ163、レンズ164、レンズ166、及びレンズ168を有する。レンズ164、レンズ166、及びレンズ168は、レンズ系を形成する。レンズ164、レンズ166、及びレンズ168は、レンズ装置160の鏡筒の内部に配置される。レンズ164、レンズ166、及びレンズ168の一部又は全部は、光軸に沿って変位可能に保持されてよい。光軸に沿って変位可能なレンズは、可動レンズの一例である。レンズ制御部162は、撮像制御部142からの命令に従って、レンズ164、レンズ166、及びレンズ168の少なくとも一つを光軸に沿って移動させる。レンズ装置160が有するレンズにより結像された像は、撮像部140により撮像される。
【0039】
本実施形態では、UAV100が、UAV制御部104、撮像制御部142、及びレンズ制御部162を備える例について説明する。しかし、UAV制御部104、撮像制御部142、及びレンズ制御部162のうちの2つ又は3つで実行される処理
を1つの制御部で実行してもよい。
【0040】
UAV制御部104において、第1取得部170は、UAV本体101に対して変位可能に保持される変位部の変位先の位置を示す第1情報を取得する。レンズ装置160が有する可動レンズは、変位部の一例である。撮像装置190は、変位部の一例である。UAV本体101は、本体部の一例である。
【0041】
予測部130は、第1情報に基づいて、変位部が変位先の位置に変位した後のUAV本体101の姿勢を予測する。制御部180は、予測部130が予測したUAV本体101の姿勢に基づいて、UAV本体101の姿勢を制御する。
【0042】
予測部130は、第1情報及び変位部の質量に基づいて、変位部が変位先の位置に変位した後のUAV本体101の姿勢を予測する。制御部180は、予測部130が予測したUAV本体101の姿勢に基づいて、変位部が変位先の位置に変位することにより生じるUAV本体101の姿勢の変化が抑制されるように、UAV本体101の姿勢を制御する。
【0043】
予測部130は、変位部が変位前の位置から変位先の位置まで変位するまでの期間内の複数のタイミングのそれぞれにおける変位部の位置を予測する。予測部130は、予測した複数の位置のそれぞれについてUAV本体101の姿勢を予測する。制御部180は、複数のタイミングのそれぞれにおいて、それぞれのタイミングにおける変位部の位置について予測部130が予測したUAV本体101の姿勢に基づいて、UAV本体101の姿勢を制御する。
【0044】
制御部180は、UAV本体101の姿勢の目標値と、センサによるUAV本体101の姿勢の検出値と、予測部130が予測したUAV本体101の姿勢とに基づいて、UAV本体101の姿勢を制御する。制御部180は、予測部130が予測したUAV本体101の姿勢に基づくフィードフォワード制御を行う。
【0045】
変位部が可動レンズを含む場合、第1情報は、可動レンズを含むレンズ系の焦点距離に対応する可動レンズの変位先の位置を示す情報を含んでよい。第1情報は、焦点距離の変更先を示す情報であってよい。第1情報は、可動レンズを含むレンズ系のフォーカス位置に対応する可動レンズの変位先の位置を示す情報を含んでよい。第1情報は、フォーカス位置の変更先を示す情報であってよい。
【0046】
メモリ106は、可動レンズの複数の位置に対応づけて、レンズ系を含むレンズ装置の重心位置を格納する。予測部130は、第1情報が示す可動レンズの変位先の位置に対応づけてメモリ106が格納している重心位置と、レンズ装置の質量とに基づいて、第1情報が示す可動レンズの変位先の位置に可動レンズが変位した後のUAV本体101の姿勢を予測する。
【0047】
可動レンズが、UAV本体101に着脱可能な交換レンズが有するレンズ系に含まれる場合、第2取得部172は、UAV本体101に装着されている交換レンズから、交換レンズの焦点距離及びフォーカス位置の少なくとも一方に対応する交換レンズの重心位置及び交換レンズの質量を示す第2情報を取得してよい。第2取得部172は、UAV100の飛行前のイニシャライズを実行している期間に、第2情報を取得してよい。
【0048】
撮像装置190がUAV本体101に対して向きが可変に設けられる場合、撮像装置190は変位部の一例である。変位部の変位は、撮像装置の向きの変化に対応する。
【0049】
撮像装置190は、UAV本体101に着脱可能であってよい。この場合、第2取得部172は、UAV本体101に装着されている撮像装置190から、撮像装置190の重心位置及び撮像装置の質量を示す第2情報を取得してよい。第2取得部172は、UAV100の飛行前のイニシャライズを実行している期間に、第2情報を取得してよい。
【0050】
図3は、レンズ装置160がテレ端の状態にある場合の一例を示す。
図3が示すレンズ装置160の状態は、
図1が示すレンズ装置160の状態とは異なる。例えば、
図1はレンズ装置160がワイド端の状態を示す。この点を除いて、
図3が示すUAV100の状態は、
図1が示す状態と同じである。
【0051】
レンズ装置160の焦点距離は、レンズ装置160が有する可動レンズを変位させることで調整される。レンズ装置160のフォーカス位置は、レンズ装置160が有する可動レンズを変位させることで調整される。可動レンズが変位することで、レンズ装置160の重心位置が変化する。レンズ装置160の重心位置は、可動レンズの変位の他に、可動レンズを保持する可動鏡筒やレンズ枠の変位によって変化する。レンズ装置160の重心位置が変化することによって、UAV100の重心位置が変化する。
【0052】
G1は、UAV100が
図1の状態にある場合のUAV100の重心位置を示す。G2は、UAV100が
図3の状態にある場合のUAV100の重心位置を示す。UAV100が
図1に示される状態から、レンズ装置160をテレ端の状態に変化させた場合、レンズ装置160の重心位置の変化によって、UAV100の重心位置はG1の位置からG2の位置に変化する。そのため、レンズ装置160をテレ端の状態にした場合においても、UAV100の姿勢が変化しないようにするためには、例えば回転翼108aの回転速度を低下させ、回転翼108bの回転速度を上昇させる必要がある。
【0053】
制御部180は、センサ120によるUAV100の姿勢の検出値を用いるフィードバック制御により、UAV100の姿勢を制御する。例えば、制御部180は、PID制御により、UAV100の姿勢を制御する。これにより、例えばUAV100の姿勢の変化が生じると、UAV100の姿勢の変化をキャンセルするように回転翼108の回転速度を増減させる。
【0054】
制御部180は、フィードバック制御に加えて、レンズ装置160の可動レンズの変位に基づくフィードフォワード制御により、UAV100の姿勢を制御する。具体的には、予測部130は、可動レンズの変位により生じるレンズ装置160の重心位置の変化量と、レンズ装置160の質量とを用いて、UAV100の姿勢の変化を予測する。制御部180は、予測されたUAV100の姿勢の変化に応じたフィードフォワード補償値を、レンズ装置160の可動レンズの変位に同期して、PID制御の入力に加算する。これにより、レンズ装置160の重心位置の変化分を事前に計算して回転翼108の回転速度を速やかに制御することができる。そのため、フィードフォワード制御を用いずにフィードバック制御のみを用いる場合に比べて、レンズ装置160の重心位置の変化に起因して生じるUAV100の揺れを抑制することができる。
【0055】
図4は、メモリ163に格納されるレンズ情報の一例を示す。レンズ情報は、レンズ種別ID、質量情報、及び重心情報を含む。レンズ種別IDは、例えばレンズの型番である。質量情報は、レンズ装置160の質量を示す情報である。重心情報は、レンズ装置160の重心位置を示す情報である。
【0056】
図5は、重心情報の一例を示す。重心情報は、レンズ位置及びレンズ位置に対応する重心位置を含む。レンズ装置160が1つの可動レンズを有する場合、レンズ位置は、当該1つの可動レンズの位置を示す。重心位置は、対応するレンズ位置に可動レンズがある場合のレンズ装置160の重心位置を示す。レンズ装置160が2以上の可動レンズを有する場合、レンズ位置は、当該2以上の可動レンズのそれぞれの位置を示す。重心位置は、対応するレンズ位置が示す各可動レンズの位置にそれぞれの可動レンズがある場合のレンズ装置160の重心位置を示す。このように、重心情報は、複数のレンズ位置にそれぞれレンズ装置160の重心位置を対応づける。
【0057】
重心位置は、予め定められた基準位置を原点とした場合のレンズ装置160の重心位置の座標であってよい。基準位置は、例えば、撮像部140の撮像素子144の位置であってよい。基準位置は、レンズ装置160の光軸上に設けられてよい。重心位置は、光軸に沿って測定される、撮像素子144からの距離であってよい。レンズ装置160が交換レンズである場合、基準位置は、レンズ装置160をマウントする撮像部140のマウント面内に設けられてよい。
【0058】
UAV制御部104において、第2取得部172は、メモリ163に格納されているレンズ情報を、レンズ制御部162及び撮像制御部142を通じて取得する。例えば、第2取得部172は、取得したレンズ情報をメモリ106に格納する。メモリ106に格納されたレンズ情報は、予測部130及び制御部180の処理に用いられる。
【0059】
図6は、UAV100におけるUAV100の姿勢制御に関するブロック線図の一例を示す。ブロック線図は、加え合わせ点200、伝達要素210、伝達要素220、伝達要素230、加え合わせ点202、伝達要素240、作用素250、伝達要素260、伝達要素270、伝達要素280、及び加え合わせ点204を含む。
【0060】
図6のブロック線図において、制御対象は、伝達要素230で表されるUAV100である。制御量は、UAV100の姿勢角の角速度又はUAV100の姿勢角である。UAV100の姿勢角の角速度は、伝達要素240で表されるセンサ120により検出される。センサ120による検出値の状態変数は、積分要素である作用素250によって姿勢角の状態変数に変換される。
【0061】
Rは、UAV100の姿勢角の目標値の状態変数を表す。加え合わせ点200は、目標値の状態変数の加算を行う。加え合わせ点200は、作用素250の出力の状態変数の減算を行う。伝達要素210は、制御部180のPID制御を表す。具体的には、伝達要素210は、制御部180が誤差信号に基づいて、ドライバ107に対する駆動信号を生成する動作を表す。伝達要素220は、ドライバ107が駆動信号に基づいてモータ109の駆動電流を生成する動作を表す伝達要素である。伝達要素230は、モータ109が駆動電流により駆動されて回転翼108が回転して、UAV100の姿勢角の角速度が変化する現象を表す。加え合わせ点202は、UAV100の姿勢角の角速度の状態変数に、回転翼108以外の作用で生じる姿勢角の角速度の状態変数を加算する。伝達要素210、伝達要素220、伝達要素230、加え合わせ点202、伝達要素240、作用素250、加え合わせ点200により、フィードバック制御系を形成する。
【0062】
伝達要素260は、レンズ制御部162が可動レンズを変位させる第1情報を出力する動作を表す。第1情報に応じて可動レンズが変位すると、レンズ装置160の重心位置が変化する。レンズ装置160の重心位置の変化により、UAV100の姿勢角の角速度が変化する。伝達要素270は、第1情報の出力により、レンズ装置160の重心位置が変化して、UAV100の姿勢角の角速度が変化する現象を表す。加え合わせ点204は、姿勢角の角速度の変化量の状態変数の加算を行う。加え合わせ点204は、外乱による姿勢角の角速度の変化量を表す状態変数の加算を行う。外乱としては、風等によるUAV100の姿勢角の変化を例示できる。加え合わせ点204が出力する状態変数は、加え合わせ点202において、伝達要素230が出力するUAV100の姿勢角の角速度の状態変数に加算される。
【0063】
伝達要素280は、予測部130が第1情報に基づいてUAV100の姿勢角の変化量の予測値を生成する動作を表す。加え合わせ点200は、予測部130が生成した予測値を示す状態変数の加算を行う。このように、伝達要素280により生成される予測値の状態変数は、フィードフォワード補償値として制御ループの入力に加算される。
【0064】
図7は、UAV100の姿勢を制御する制御フローの一例を示すフローチャートである。S310において、レンズ制御部162は、可動レンズに対し第1情報を出力する。第1情報は、レンズ装置160の可動レンズを変位させることを示す情報である。
【0065】
例えば、レンズ制御部162は、レンズ装置160の焦点距離を変更する命令を撮像制御部142から取得すると、レンズ装置160が有する1以上の可動レンズの変位先の位置である将来位置と、変位タイミングとを決定する。可動レンズの将来位置は、焦点距離により定まる。変位タイミングは、可動レンズが変位を開始する時刻であってよい。例えば、レンズ制御部162は、30ms後に可動レンズの変位を開始することを決定する。変位タイミングは、可動レンズが変位を終了する時刻であってよい。第1情報は、可動レンズの将来位置と、変位タイミングとを示す情報を含む。第1情報は、撮像制御部142を通じてUAV制御部104にも出力される。
【0066】
S320において、第1情報に基づいて、可動レンズが変位する。S330において、制御部180は、可動レンズが変位するタイミングで第2情報をPID制御に出力する。第2情報は、フィードフォワード補償値を示す情報である。S330における処理の一例は、
図8に関連して説明する。
【0067】
S340において、センサ120がジンバル110の角速度を検出することにより、UAV100の姿勢角の角速度を検出する。S350において、ドライバ107が、回転翼108の回転速度を制御する。例えば、制御部180のPID制御には、UAV100の姿勢角の目標値とフィードフォワード補償値との加算値と、センサ120によるUAV100の姿勢角の検出値との誤差信号が入力される。制御部180のPID制御において、誤差信号に基づいてドライバ107の駆動信号が生成される。ドライバ107が駆動信号に従ってモータ109を駆動することにより、回転翼108の回転速度が制御される。
【0068】
図8は、UAV制御部104が第1情報の受信から第2情報をPID制御に出力するまでの制御フローの一例を示すフローチャートである。S400において、第1取得部170は、第1情報を受信する。S410において、第1取得部170は、レンズ装置160の可動レンズの現在位置、将来位置、変位速度、変位開始時刻及びUAV100の姿勢角を取得する。第1取得部170は、可動レンズの現在位置及び変位速度をレンズ制御部162から取得する。
【0069】
S4
20において、予測部130は、可動レンズの停止時刻を算出する。停止時刻は、可動レンズの変位が終了する時刻である。予測部130は、レンズ装置160の可動レンズの現在位置、将来位置及び変位速度に基づいて、可動レンズの停止時刻を算出する。
【0070】
S430において、予測部130は、現在時刻が可動レンズの停止時刻に一致する又は現在時刻が可動レンズの停止時刻を過ぎたかを判断する。現在時刻が可動レンズの停止時刻に一致する又は現在時刻が可動レンズの停止時刻を過ぎた場合は、制御フローを終了する。現在時刻が可動レンズの停止時刻より前である場合は、S440に処理を進める。
【0071】
S440において、予測部130は、主制御ループのフレーム時間を取得する。主制御ループは、例えば、
図6に示すフィードバックループである。フレーム時間は、フィードバックループにおける制御周期である。
【0072】
S450において、予測部130は、可動レンズの変位開始時刻と停止時刻との間の各フレームにおいて、UAV100の姿勢角の変化量の予測値を生成する。例えば、変位開始時刻から変位終了時刻までの期間が10msであり、フレーム時間が1msである場合、予測部130は、10フレームの各フレームにおいて、UAV100の姿勢角の変化量の予測値を生成する。各フレームにおけるUAV100の姿勢角の変化量の予測値は、各フレームにおけるフィードフォワード補償値の一例である。
【0073】
予測部130は、各フレームにおける姿勢角の変化量を、レンズ装置160の現在の重心位置からの重心位置の変化量及びレンズ装置160の質量に基づいて、予測する。予測部130は、レンズ装置160の質量を
図4に示すレンズ情報から特定する。予測部130は、レンズ装置160の重心位置の変化量を、
図5に示す重心情報を用いて特定する。例えば、予測部130は、現在の可動レンズの位置に基づいて、レンズ装置160の現在の重心位置を特定する。予測部130は、各フレームにおける可動レンズの位置に基づいて、各フレームにおけるレンズ装置160の重心位置を特定する。予測部130は、各フレームにおけるレンズ装置160の重心位置と、レンズ装置160の現在の重心位置とに基づいて、各フレームにおける重心位置の変化量を特定する。
【0074】
S460において、制御部180は、現在時刻が可動レンズの変位開始時刻より前であるか否かを判断する。現在時刻が可動レンズの変位開始時刻より前である場合、現在時刻が可動レンズの変位開始時刻に一致する又は現在時刻が可動レンズの変位開始時刻を超えるまで、S460の判断を繰り返す。現在時刻が可動レンズの変位開始時刻に一致する又は現在時刻が可動レンズの変位開始時刻を超えた場合、S470に処理を進める。
【0075】
S470において、制御部180は、予測部130がS450で予測した各フレームにおける姿勢角の変化量の予測値の出力を開始する。例えば、制御部180は、予測部130が予測した各フレームにおける姿勢角の変化量の予測値を、対応するフレームにおいてPID制御へ出力する。姿勢角の変化量の予測値の出力を開始するフレームは、変位開始時刻に対応するフレームでなくてよい。姿勢角の変化量の予測値の出力を開始するフレームは、変位開始時刻に対応するフレームより後のフレームであってよい。フィードバックループにおけるフレームとの対応関係が保たれていれば、変位開始時刻に対応するフレームより後のフレームから、姿勢角の変化量の予測値の出力を開始してよい。制御部180は、変位停止時刻に対応するフレームにおいて姿勢角の変化量の予測値を出力すると、制御フローを終了する。
【0076】
図9は、撮像装置190の向きが変化した状態の一例を示す。
図9が示す撮像装置190の状態は、
図1が示す撮像装置190の状態とは異なる。例えば、
図9は、撮像装置190のピッチ角が変化した状態にある。この点を除いて、
図9が示すUAV100の状態は、
図1が示す状態と同じである。
【0077】
G3は、UAV100が
図9の状態にある場合のUAV100の重心位置を示す。UAV100が
図1に示される状態から、撮像装置190のピッチ角を
図9の状態に変化させた場合、UAV100の重心位置はG1の位置からG3の位置に変化する。そのため、UAV100の姿勢が変化しないようにするためには、例えば回転翼108aの回転速度を上昇させ、回転翼108bの回転速度を低下させる必要がある。
【0078】
制御部180は、レンズ装置160の重心位置が変化した場合と同様に、撮像装置190の向きの変化に基づくフィードフォワード制御により、UAV100の姿勢を制御する。具体的には、予測部130は、撮像部140の向きの変化により生じる撮像部140及びレンズ装置160の重心位置の変化量と、撮像部140の質量と、レンズ装置160の質量とを用いて、UAV100の姿勢の変化を予測する。このように、予測部130は、撮像装置190の向きの変化により生じる撮像装置190の重心位置の変化量と、撮像装置190の質量とを用いて、UAV100の姿勢の変化量を予測する。UAV100の姿勢の変化量の予測値は、フィードフォワード補償値として生成される。
【0079】
制御部180は、生成したフィードフォワード補償値を、撮像装置190の向きの変化に同期して、PID制御の入力に加算する。これにより、撮像装置190の重心位置の変化分を事前に計算して回転翼108の回転速度を速やかに制御することができる。そのため、フィードフォワード制御を用いずにフィードバック制御のみを用いる場合に比べて、UAV100の揺れを抑制することができる。
【0080】
図9に関連して、ピッチ角の変化により生じる撮像装置190の重心位置の変化を説明した。ピッチ角の変化だけでなく、ヨー角の変化によっても撮像装置190の重心位置が変化する。したがって、撮像装置190の重心位置は、ピッチ角及びヨー角の組み合わせによって変化する。本実施形態では、ロール角の変化によっては変化しないとする。撮像装置190の重心位置がロール軸上にある場合は、ロール角の変化によっては撮像装置190の重心位置は変化しない。
【0081】
図10は、メモリ146に格納される撮像部情報の一例を示す。撮像部情報は、撮像部種別ID、質量情報、及び重心位置情報を含む。撮像部種別IDは、例えば撮像部140の型番である。質量情報は、撮像部140の質量を示す情報である。重心位置情報は、撮像部140の重心位置を示す情報である。
【0082】
重心位置は、予め定められた基準位置を原点として表される座標であってよい。基準位置は、例えば、ジンバル110が撮像部140を把持する把持位置であってよい。基準位置は、ピッチ軸上に設けられてよい。
【0083】
UAV制御部104において、第2取得部172は、メモリ146に格納される撮像部情報を、撮像制御部142を通じて取得する。例えば、第2取得部172は、取得した撮像部情報をメモリ106に格納する。メモリ106に格納された撮像部情報は、予測部130及び制御部180の処理に用いられる。
【0084】
予測部130及び制御部180は、
図4及び
図5に示すレンズ情報及び
図10に示す撮像部情報に基づいて、レンズ装置160の可動レンズの位置、ピッチ角、及びヨー角の組み合わせにおける撮像装置190の重心位置を算出できる。予測部130及び制御部180は、
図4に示すレンズ情報及び
図10に示す撮像部情報に基づいて、撮像装置190の質量を算出できる。予測部130及び制御部180は、レンズ装置160の可動レンズの位置及び撮像装置190の向きの少なくとも一方を変化させる場合における、重心位置の変化を算出できる。これにより、予測部130及び制御部180は、レンズ装置160の可動レンズの位置及び撮像装置190の向きの少なくとも一方を変化させる場合において予測される重心位置の変化を算出できる。予測部130及び制御部180は、算出した撮像装置190の重心位置の変化及び撮像装置190の質量に基づいて、UAV100の姿勢角の変化又は姿勢角の角速度の変化を予測できる。
【0085】
撮像装置190の向きの変化に対応する制御系は、
図6に示す制御系に、撮像装置190の向きの変化に関する状態変数及び伝達要素を加えることで実現できる。
【0086】
撮像装置190の向きの変化に対応する制御フローは、
図7及び
図8に示す制御フローにおけるレンズの変位に関する制御に加えて、撮像装置190の向きの変化に関する制御を加えることで実現できる。例えば、
図7に示す制御フローにおいては、第1情報として、可動レンズの変位及び撮像装置190の変向を示す情報を適用すればよい。
図8に示す制御フローにおいては、可動レンズの位置及び変位速度に加えて、撮像装置190の向き及び変向速度に関する制御を適用すればよい。
【0087】
上記の実施形態において、レンズ装置160は、交換レンズである。しかし、レンズ装置160は、撮像部140と一体的に設けられてよい。この形態において、レンズ装置160及び撮像部140を含む撮像装置190は、ジンバル110に着脱可能であってよい。
【0088】
レンズ装置160が撮像部140と一体的に設けられる形態において、レンズ装置160及び撮像部140を含む撮像装置190は、ジンバル110に着脱可能でなくてよい。撮像装置190は、ジンバル110に固定されていてよい。
【0089】
上記の実施形態における可動レンズ及び撮像装置190は、変位部の一例である。レンズ装置160が可動レンズを有しない場合、又は、可動レンズの変位によるUAV100の重心位置の変化量が予め定められた値より小さい場合、撮像装置190のみが変位部である形態を採用できる。撮像装置190の向きが固定である場合、又は、撮像装置190の向きの変化によるUAV100の重心位置の変化量が予め定められた値より小さい場合、レンズ装置160のみが変位部である形態を採用できる。
【0090】
変位部は、可動レンズ及び撮像装置190以外の部材であってよい。例えば、変位部は、可動アーム等の部材であってよい。変位部は、UAV100に取り付けられた部材に限られない。変位部は、UAV100が把持した部材を含んでよい。UAV100が能動的に変位させることができる部材であれば、どのような部材も変位部とみなすことができる。
【0091】
上記の実施形態に示される複数の段階の少なくとも1つの段階は、ハードウェア、又は関連するハードウェアに命令するプログラムによって実装されてよい。プログラムは、コンピュータが可読な記録媒体に格納されてよい。記録媒体は、ROM、磁気ディスク、及び光ディスクの少なくとも1つを含んでよい。
【0092】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0093】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現可能である。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。「垂直」との記載は、「交わる」状態であってもよい。