以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.情報処理システムの構成
1.1.操縦装置の構成
1.2.移動体の構成
1.3.情報処理装置の構成
1.4.座標系
2.処理例
2.1.第1の処理例
2.2.第2の処理例
2.3.算出方法についての補足
3.変形例
4.ハードウェア構成例
5.補足
<1.情報処理システムの構成>
まず、図1を参照して、本開示の一実施形態に係る情報処理システム1の構成について説明する。図1は、本開示の一実施形態に係る情報処理システム1の構成を示す図である。図1に示すように、情報処理システム1は、操縦装置10及び移動体20を備える。本実施形態では、操縦装置10と移動体20とは、互いに離れた場所に位置している。具体的には、本実施形態では、操縦装置10は地上に居る操縦者の手元に位置しており、移動体20は飛行して上空に位置しているものとする。また、操縦装置10と移動体20とは、互いに通信可能に接続されている。なお、本実施形態において、操縦装置10の操縦者は、本開示の一実施形態に係る情報処理装置のユーザである。
操縦装置10は、移動体20を操縦する機能を有する装置である。操縦者は、操縦装置10を用いて移動体20を操縦することができる。また、操縦装置10は、移動体20の移動の基準となる基準体としての機能を有する。つまり、後述するように、所定の条件下において、操縦装置10が移動すると、移動体20は、当該操縦装置10の移動に応じた移動を実施する。なお、本実施形態では、操縦装置10は、操縦者に持ち運ばれることにより移動する。
移動体20は、特に限定されないが、各種の移動する機能を有する装置であってよい。例えば、移動体20は、ドローンを含む無人航空機、車両、船舶、又は各種のロボットであってもよい。本実施形態では、移動体20は、上空を飛行可能な飛行体である。より具体的には、本実施形態では、移動体20をドローンとして説明する。また、本実施形態では、移動体20は、後述する撮像装置を搭載しており、当該撮像装置により風景を撮像することができる。
<<1.1.操縦装置の構成>>
次いで、図2及び図3を参照して、本開示の一実施形態に係る操縦装置10の構成について説明する。図2は、本開示の一実施形態に係る操縦装置10の外観を示す図である。
図2に示すように、本実施形態に係る操縦装置10は、筐体12、ステレオカメラ14、表示部16、及び入出力部18を備える。以下、操縦装置10が備える各装置について説明する。
筐体12は、操縦装置10の本体部分を構成する。操縦者は、筐体12を持ち運び、操縦装置10を移動させることができる。筐体12の内部には、図3を参照して説明する処理装置13が設けられている。
次いで、図3を参照して、本開示の一実施形態に係る筐体12の内部に設けられた処理装置13の構成について詳細に説明する。図3は、本開示の一実施形態に係る操縦装置10の構成を示す機能ブロック図である。
ステレオカメラ14は、画像を撮像する機能を有する。本実施形態では、当該撮像された画像は、操縦装置10の自己位置、移動量、又は操縦者の前方方向の距離を計測するために用いられる。本実施形態では、操縦装置10は、各種の距離を、ステレオカメラ14を用いて計測する。なお、操縦装置10には、RBG-Dカメラ、TOF(Time Of Flight)センサ、又はLiDAR(Light Detection and Ranging)などの距離を計測するための各種の公知の装置が設けられてもよい。この場合、ステレオカメラ14の代わりに、これらの装置により各種の距離が計測されてもよい。なお、本明細書では、ステレオカメラ14を第1の撮像装置とも称する。ステレオカメラ14は、計測した距離又は撮像した画像に関する情報を、後述する高度推定部131、位置推定部132、又は距離計測部133に伝達する。
表示部16は、画像を表示する機能を有する。表示部16は、例えば、後述する移動体20に搭載された撮像装置により撮像された画像を表示してもよい。
入出力部18は、各種の情報の入力の受け付け、又は各種の情報を出力する機能を有する。例えば、入出力部18は、操縦者からの操縦装置10への操作を受け付けるためのUI(User Interface)を表示してもよい。操縦者は、当該UIの表示を参照し、表示された画面を触る等により操縦装置10への各種の操作を実施することができる。また、入出力部18は、移動体20に搭載された撮像装置により撮像された画像を表示してもよい。入出力部18は、入力された情報を後述するUI制御部138に伝達する。
処理装置13は、移動体20を操縦するための各種の処理を実施する機能を有する。本実施形態に係る処理装置13が有する機能は、処理装置13が備える高度推定部131、位置推定部132、距離計測部133、通信制御部134、指令処理部135、及びUI制御部138が協働することにより実現される。
高度推定部131は、操縦装置10から地面までの距離を推定する。つまり、高度推定部131は、操縦装置10の地面からの高度(以下、「対地高度」とも称する。)を推定する。より具体的には、高度推定部131は、ステレオカメラ14より画像を取得し、取得した画像から距離画像を生成する。さらに、高度推定部131は、当該距離画像から平面検出等で地面を検出した後、地面(平面)からステレオカメラ14までの距離を算出することにより、対地高度を推定する。
また、高度推定部131は、ステレオカメラ14の代わりにTOFセンサを用いて対地高度を推定しても良い。また、高度推定部131は、地面に設置されたAR(Augmented Reality)マーカと操縦装置10との位置関係を使用して、対地高度を推定しても良い。
ここで、高度推定部131は、第1の距離取得部としての機能を有していてもよい。ここで、第1の距離取得部とは、操縦装置10に設けられた各種の装置により検出された情報に基づき、操縦装置10から第1の位置までの第1の距離を取得する機能を有する機能部である。本実施形態では、操縦装置10には、第1の距離取得部が設けられる。これにより、より精度よく第1の距離が取得される。この結果、操縦者は、より精度よく移動体20の移動を制御することが可能になる。
また、本実施形態では、操縦装置10から第1の位置までの第1の距離と移動体20から第2の位置までの第2の距離との比率、及び操縦装置10の移動に基づき、移動体20の移動が制御される。第1の位置は、特に限定されないが、例えば、操縦装置10の直下に位置する地面であり得る。この場合、第1の距離は、操縦装置10の対地高度である。また、第1の位置は、操縦装置10が備えるステレオカメラ14が撮像する際に注視される第1の注視点であってもよい。なお、第1の位置は、操縦装置10から注視点方向に存在する物体の位置であってもよい。ここで、当該注視点方向とは、移動体20を基準とした、後述する第2の注視点に向かう方向である。
また、第2の位置についても、特に限定されないが、移動体20の直下に位置する地面であり得る。この場合、第2の距離は、移動体20の対地高度である。また、第2の位置は、移動体20が備える撮像装置25が撮像する際に注視される第2の注視点であってもよい。以下、第1の注視点と第2の注視点とを区別しないときは、単に「注視点」とも称する。
位置推定部132は、操縦装置10の自己位置を推定する。なお、本明細書では、自己位置は、位置だけでなく姿勢を含むものとする。位置推定部132は、ステレオカメラ14より画像を取得し、取得した画像を用いてSLAM(Simultaneous Localization and Mapping)を行うことにより自己位置を推定してもよい。なお、位置推定部132は、ステレオカメラ14の代わりにTOFセンサを用いて、自己位置を推定してもよい。さらに、位置推定部132は、設置されたARマーカと操縦装置10との位置関係を使用して、自己位置を推定してもよい。
距離計測部133は、操縦装置10からの各種の距離の計測を行う機能を有する。例えば、距離計測部133は、操縦装置10から後述する注視点方向に存在する物体までの距離を計測してもよい。
本実施形態では、移動体20に搭載された撮像装置が撮影する画像が表示部16又は入出力部18に表示される。このとき、例えば第2の注視点が当該表示の中心になるように、移動体20に搭載された撮像装置又は移動体20の位置又は姿勢が調整される場合がある。
注視点は、操縦者が入出力部18に表示されたプレビュー画像上の位置を指定することにより設定されてもよい。距離計測部133は、操縦装置10から注視点方向を見た時に存在する物体や壁などまでの距離をステレオカメラ14が撮像した画像に基づき計測してもよい。また、距離計測部133は、ステレオカメラ14の代わりにTOFセンサ等を用いて、各種の距離を計測してもよい。
ここで、距離計測部133は、第1の距離取得部としての機能を有してもよい。距離計測部133は、操縦装置10が備えるステレオカメラ14に撮像された注視点を第1の位置として、第1の距離を取得してもよい。
通信制御部134は、操縦装置10と移動体20との間の無線通信の制御を行う機能を有する。無線通信により、例えば操縦装置10から移動体20への各種の指令が送信される。また、無線通信により、例えば移動体20の状態に関する情報又は移動体20に搭載された撮像装置により撮像された画像等の各種の情報が受信される。
UI(User Interface)制御部138は、表示部16又は入出力部18を制御し、表示部16又は入出力部18に操縦装置10のUIを表示させる機能を有する。また、通信制御部134により受信された移動体20に搭載された撮影装置の画像を取得し、表示部16又は入出力部18に表示させることもできる。また、UI制御部138は、入出力部18への操作内容を取得し、当該操作内容を指令処理部135に伝達する。
指令処理部135は、移動体20の状態を制御するための操縦指令に関する処理を実施する機能を有する。指令処理部135が備える機能は、指令生成部136及び記憶部137が協働することにより実現される。
指令生成部136は、通信制御部134により受信された情報、UI制御部138からの操作入力、又は操縦装置10が備える高度推定部131、位置推定部132、距離計測部133より受け取った情報に基づき、移動体20の操縦指令を生成する機能を有する。指令生成部136は、通信制御部134を介して、生成した指令を移動体20に送信する。
記憶部137は、指令生成部136が操縦指令を生成するための情報又は指令生成部136が生成した指令情報等の各種の情報を記憶する。記憶部137が記憶している情報は、必要に応じて、指令生成部136に伝達される。
<<1.2.移動体の構成>>
次いで、図4及び図5を参照して本開示の一実施形態に係る移動体20の構成について説明する。図4は、本開示の一実施形態に係る移動体20の外観を模式的に示す図である。また、図5は、本開示の一実施形態に係る移動体20の構成を示す機能ブロック図である。
移動体20は、操縦装置10の操作により空中を移動(飛行)し、移動体20に搭載された撮像装置25により風景などの撮像を行う。機体21には、雲台24を介して撮像装置25が取り付けられている。なお、本明細書では、撮像装置25を第2又は第3の撮像装置とも称する。雲台24は、パン、ティルト、及びロールの3つの可動軸を有し、移動体20の姿勢に関わらず、撮像装置25を任意の方向に向けることができる。また、機体21の内部には、図5を参照して後述する制御装置27が搭載されている。
撮像装置25には、測距センサ26が取り付けられている。測距センサ26は、撮像装置25を向けた方向の距離を計測することができる。測距センサ26は、ステレオカメラ、Depthカメラ、1D LiDARなどの各種の公知の距離を計測することが可能な装置を含んでも良い。また、測距センサ26の代わりに、撮像装置25が各種の距離(例えば、奥行方向の距離)を計測する機能を備えても良い。例えば、撮像装置25が、ステレオカメラ又はRGB-Dカメラなどを備えてもよい。測距センサ26と撮像装置25との相対的な位置関係は、キャリブレーション等の手段により既知となっているものとする。このため、撮像装置25は、撮像装置25の任意の画素に対応する距離を計測することが可能である。
なお、測距センサ26は、第2の距離取得部としての機能を有していてもよい。ここで、第2の距離取得部とは、移動体20に設けられた各種の装置により検出された情報に基づき、移動体20から第2の位置までの第2の距離を取得する機能を有する機能部である。本実施形態では、移動体20には、第2の距離取得部が設けられる。これにより、より精度よく第2の距離が取得される。これにより、操縦者は、より精度よく移動体20の移動を制御することが可能になる。
また、移動体20には、ステレオカメラ23が取り付けられている。当該ステレオカメラ23は、移動体20の自己位置又は移動量を計測してもよい。ステレオカメラ23の代わりに、DepthカメラやLiDARなどにより移動体20の自己位置又は移動量が計測されてもよい。
次いで、図5を参照して、制御装置27の構成についてより詳細に説明する。図5に示すように、制御装置27は、高度推定部211、位置推定部212、通信制御部213、機体制御部214、雲台制御部215、及び情報処理装置220と備える。
高度推定部211は、移動体20の対地高度(地面からの高度)を推定する機能を有する。高度推定部211は、ステレオカメラ23より画像を取得し、取得した画像から距離画像を生成して平面検出等で地面を検出した後、地面(平面)からステレオカメラ23までの距離を算出することにより、対地高度を推定してもよい。高度推定部211は、ステレオカメラ23の代わりに、TOFセンサを用いて、対地高度を推定してもよい。また、高度推定部211は、地面に設置されたARマーカと例えばステレオカメラ23との位置関係を使用して、対地高度を推定してもよい。さらに、高度推定部211は、高度計又は自己位置を用いて、移動体20の離陸時の高度と計測時の高度との差分を使用して、対地高度を推定してもよい。なお、高度推定部211は、第2の距離取得部としての機能を有していてもよい。
位置推定部212は、移動体20の自己位置を推定する機能を有する。なお、自己位置は、位置だけでなく姿勢を含むものとする。位置推定部212は、ステレオカメラ23により取得された画像を取得し、当該画像を用いて、SLAMを行うことにより自己位置を推定してもよい。また、位置推定部212は、ステレオカメラ23の代わりに、TOFセンサを用いて自己位置を推定しても良い。さらに、位置推定部212は、設置されたARマーカとステレオカメラ23との位置関係を使用して、自己位置を推定してもよい。
通信制御部213は、操縦装置10と移動体20との間の通信を制御する機能を有する。例えば、通信制御部213は、操縦装置10からの操縦指令の受信又は撮像装置25の画像の操縦装置10への送信を制御してもよい。
情報処理装置220は、移動体20の機体21又は雲台24の運動を制御するための各種のパラメータを生成する機能を有する。また、情報処理装置220は、生成したパラメータに基づき、機体21又は雲台24の運動を制御する機能を有する。具体的には、情報処理装置220は、通信制御部213により受信された操縦指令に基づき、高度推定部211や位置推定部212で推定された対地高度又は自己位置を用いて、プロペラ22又は雲台24を、機体制御部214(移動体制御部)又は雲台制御部215を介して制御する機能を有する。情報処理装置220の構成については、図6を参照して後述する。
機体制御部214は、情報処理装置220により生成された目標位置と位置推定部212が推定した自己位置に基づき、自己位置が目標位置となるように、プロペラ駆動部28を介してプロペラ22を制御する。これにより、機体制御部214は、移動体20(機体21)の移動及び姿勢を制御することができる。当該制御は、例えば自己位置と目標位置の差分をPID(Proportional Integral Differential)制御器を用いてフィードバック制御を行うことで実現される。なお、機体制御部214及び後述する雲台制御部215は、情報処理装置220に設けられていてもよい。
雲台制御部215は、情報処理装置220から指令された方向に撮像装置25が向くように、雲台駆動部29を介して雲台24を制御する。
<<1.3.情報処理装置の構成>>
次いで、図6を参照して、本開示の一実施形態に係る情報処理装置220の構成について説明する。図6は、本開示の一実施形態に係る情報処理装置220の構成を示す機能ブロック図である。
情報処理装置220が有する機能は、情報処理装置220が備えるパラメータ生成部221、報告情報生成部222及び記憶部225が協働することにより実現される。
パラメータ生成部221は、移動体20又は移動体20が備える雲台24の運動を制御するための各種のパラメータを生成する機能を有する。例えば、パラメータ生成部221は、移動体20の移動の基準となる操縦装置10から第1の位置までの第1の距離と移動体20から第2の位置までの第2の距離との比率、及び操縦装置10の移動に基づき、移動体20の移動を制御するための移動パラメータを生成する機能を有する。
また、パラメータ生成部221は、第1の距離と第2の距離との比率と、操縦装置10の移動量とを乗じて、移動パラメータとして移動量を生成してもよい。また、パラメータ生成部221は、操縦装置10の姿勢に応じた姿勢を移動体20に実現させるための第1の姿勢パラメータを生成してもよい。さらに、パラメータ生成部221は、雲台24に操縦装置10の姿勢に応じた姿勢を実現させるための第2の姿勢パラメータを生成してもよい。
パラメータ生成部221により生成された各種のパラメータは、通信制御部213、機体制御部214、又は雲台制御部215に伝達される。また、生成された各種のパラメータは、必要に応じて記憶部225に記憶される。
報告情報生成部222は、操縦装置10に各種の報告情報を生成する機能を有する。例えば、報告情報生成部222は、移動体20における各種の飛行モードへの遷移が完了したことを表す報告情報を生成する。当該生成された報告情報は、通信制御部213に伝達される。なお、飛行モードの詳細については後述する。
記憶部225は、パラメータ生成部221が生成する各種のパラメータに関する情報を記憶する。記憶部225は、例えば操縦装置10の移動量又は姿勢などの操縦装置10の運動に関する情報を記憶する。また、記憶部225は、パラメータ生成部221が生成した各種のパラメータを記憶してもよい。
<<1.4.座標系>>
次いで、図7及び図8を参照して、以降の説明において用いる座標系を定義する。なお、図7及び図8は、二次元で表現されているが、以降の説明で用いられる全ての座標系は、3次元であるものとする。
操縦装置10と移動体20とが、それぞれに別の座標系を有する。これらをそれぞれ操縦装置座標系と移動体座標系と称する。図7は、操縦装置座標系を示す図である。また、図8は、移動体座標系を示す図である。
図7に示すように、操縦装置座標系は、下記の4つの座標系を有する。
(1)現実世界における任意の位置を原点407とした世界座標系(CW)
(2)世界座標系上の任意の位置を原点410(操縦原点)とした操縦座標系(CC)
(3)操縦装置10に固定された座標系である操縦装置座標系(CS)
(4)操縦装置10の位置に連動して動く座標系である水平操縦装置座標系(CH)
世界座標系(CW)の座標軸400は、互いに直交するcwX軸、cwY軸、及びcwZ軸で構成されている。また、操縦座標系(CC)の座標軸402は、互いに直交するccX軸、ccY軸、及びccZ軸で構成されている。また、操縦装置座標系(CS)の座標軸404は、互いに直交するcsX軸、csY軸、及びcsZ軸で構成されている。さらに、水平操縦装置座標系(CH)の座標軸406は、互いに直交するchX軸、chY軸、及びchZ軸で構成されている。
本開示の一実施形態では、操縦装置座標系(CS)の原点及び水平操縦装置座標系(CH)の原点は、操縦装置10のステレオカメラ14に固定されており、操縦座標系(CC)の原点410(「操縦原点」とも称する。)から操縦装置10の相対移動量412の分だけ離れている。ここで、相対移動量とは、操縦原点から移動した量を意味する。本明細書では、相対移動量を単に「移動量」とも称する。
一方、移動体座標系は、図8に示すように、下記5つの座標系を有する。
(1)現実世界における任意の位置を原点501とした世界座標系(DW)
(2)世界座標系上の任意の位置を原点(操縦原点512)とした操縦座標系(DC)
(3)移動体20の機体21に固定された座標系である機体座標系(DB)
(4)移動体20の機体21の位置に連動して動く座標系である水平機体座標系(DH)(5)雲台24に搭載された撮像装置25に固定された撮像装置座標系(DS)
世界座標系(DW)の座標軸500は、互いに直交するdwX軸、dwY軸、及びdwZ軸で構成されている。また、操縦座標系(DC)の座標軸502は、互いに直交するdcX軸、dcY軸、及びdcZ軸で構成されている。また、機体座標系(DB)の座標軸504は、互いに直交するdbX軸、dbY軸、及びdbZ軸で構成されている。また、水平機体座標系(DH)の座標軸506は、互いに直交するdhX軸、dhY軸、及びdhZ軸で構成されている。さらに、撮像装置座標系(DS)の座標軸508は、互いに直交するdsX軸、dsY軸、及びdsZ軸で構成されている。なお、図8では、機体21の一部を示す模式図516が、四角形で示されている。
また、機体座標系(DB)及び水平機体座標系(DH)の原点517は、操縦座標系(DC)の操縦原点512から移動体20の相対移動量513だけ離れている。
また、撮像装置座標系(DS)において、dsX軸の正の方向は、撮像装置25の光軸方向である。また、ロール軸518は、dsX軸と一致し、ロール角520は、ロール軸518の周りを回転する角度である。また、ティルト軸524は、ロール軸518からティルト角522だけ回転した軸である。さらに、パン軸528は、ティルト軸524からパン角526だけ回転した軸である。
操縦装置10の位置推定部132が推定する自己位置の座標系は、操縦装置座標系の世界座標系(CW)である。一方、移動体20の位置推定部212が推定する自己位置の座標系は、移動体座標系の世界座標系(DW)である。
操縦装置座標系の世界座標系(CW)、操縦座標系(CC)、移動体座標系の世界座標系(DW)、及び操縦座標系(DC)では、Z軸の負方向が重力の方向である。
また、操縦装置座標系における水平操縦装置座標系(CH)では、原点は操縦装置座標系(CS)と同じ原点であり、Z軸負方向を重力の方向に固定されている。また、水平操縦装置座標系(CH)は、操縦装置座標系(CS)の世界座標系(CW)に対する回転成分のうち、操縦座標系(CC)におけるZ軸周りの回転成分のみ反映された座標系である。
さらに、移動体座標系における水平機体座標系(DH)では、原点は機体座標系(DB)と同じ原点であり、Z軸の負方向を重力の方向に固定されている。水平機体座標系(DH)は、機体座標系(DB)の世界座標系(DW)に対する回転成分のうち、操縦座標系(DC)におけるZ軸周りの回転成分のみが反映された座標系である。
また、雲台24の軸構成(パン軸、ティルト軸及びロール軸)は、移動体20の機体21より、機体21-パン軸-ティルト軸-ロール軸-撮像装置25の順に接続される構成となっている。従って、パン軸における機体21に接続された箇所は、機体座標系(DB)において固定されている。
<2.処理例>
以上説明した操縦装置10及び移動体20を用いた本開示の一実施形態に係る処理例について説明する。
本開示の一実施形態に係る移動体20は、飛行モードとして、手動操縦モード、Waypoint飛行モード、ダイレクト操縦モードを有する。移動体20は、これらの飛行モードに応じた処理を行う。
手動操縦モードは、操縦装置10の入出力部18を用いて、移動体20の進行方向や姿勢などを操縦者が指示することで、移動体20を操縦するモードである。また、操縦装置10に操縦スティック(図示しない)が設けられ、操縦者は当該スティックを用いて移動体20を操縦しても良い。
Waypoint飛行モードでは、Waypointの設定画面として、操縦装置10の入出力部18に地図を表示させ、操縦者が当該画面を操作することにより、Waypointが設定されてもよい。ここで、Waypointとは、移動体20が飛行する軌道における特定の位置を意味する。また、操縦装置10又は移動体20に通信可能なスマートフォン等の画面に地図を表示させ、操縦者が当該スマートフォン等を操作することにより、Waypointが設定されてもよい。さらに、操縦者が手動操縦モードで移動体20を飛行させ、移動体20が任意の地点に存在するときに、操縦装置10の入出力部18を操作することで、Waypointが移動体20に設定されてもよい。これにより、移動体20は、Waypointを巡回するように、自動で飛行する。
ダイレクト操縦モードは、本実施形態で使用される飛行モードである。ダイレクト操縦モードでは、操縦者が操縦装置10を持ち運ぶことにより移動させると、操縦装置10の移動量に応じて、移動体20が移動する。
図9及び図10を参照して、ダイレクト操縦モードにおける操縦装置10と移動体20の動作イメージを説明する。図9は、操縦装置10を上空から俯瞰した模式図である。また、図10は、移動体20を上空から俯瞰した模式図である。
図9には、操縦装置座標系における世界座標系(CW)の座標軸400と、操縦座標系(CC)の座標軸402とが示されている。図9には、二等辺三角形で操縦装置が模式的に示されており、操縦原点422に位置する操縦装置420と、ある瞬間における自己位置に位置する操縦装置430とが示されている。なお、図9において、二等辺三角形の重心(操縦装置420では、操縦原点422)から頂点424に向かう方向を操縦方向の前方とする。ここでは、重心を操縦座標系(CC)における原点であるものとする。図9では、操縦原点422に位置する操縦装置が、直線矢印で示された移動量426だけ移動し、円弧の矢印428だけ回転することで、現在の操縦装置430の位置及び姿勢が実現されている。
図10には、移動体座標系における世界座標系(DW)の座標軸500と、操縦座標系(DC)の座標軸502とが示されている。また、図10には、二等辺三角形で模式的に示された移動体が示されており、操縦原点512に位置する移動体530と、現在の自己位置にある移動体540と、操縦装置からの操縦指令が反映された位置と姿勢が実現された移動体538とが示されている。
本実施形態では、移動体には、操縦装置から操縦指令が送信される。当該操縦指令は、移動体の位置と姿勢とを制御するための指令を含んでいる。本実施形態では、移動体が、操縦装置の移動量426に第1の距離と第2の距離との比率を乗じて得られる相対移動量534だけ、移動体が操縦原点512から移動するように、制御指令が移動体に送信される。また、移動体の姿勢が、操縦装置の姿勢が操縦原点に位置していた状態から変化した分だけ変化するように、制御指令が移動体に送信される。移動体は、制御指令に従って、移動体の位置が操縦原点512から相対移動量534だけ移動した位置に移動し、移動体の姿勢が制御指令に基づく姿勢に収束するように、フィードバック制御を行う。
この結果、移動体20は、操縦装置10の移動に基づき、移動体20と操縦者との間で相対的な方向が同期されたまま、操縦原点を中心として、相似形を保ったまま移動量を拡大して動く。この仕組みにより、操縦者は、あたかも操縦者の前にあるミニチュアをカメラで撮影するように操縦装置10を動かすだけで、操縦者の意図した撮像装置25のフレーミングになるように、機体21又は雲台24を制御することが出来る。プロポ(「無線操縦機」ともいう。)を用いて機体21や雲台24を個別に手動制御する場合に比べて、操縦者は、容易にかつ直観的に移動体20に搭載された撮像装置25のフレーミングができる。
また、操縦装置10の移動量を移動体20の移動量に反映させる際に用いられる比率(移動比率:Smとも称する。)を求める方法は、特に限定されない。以下では、対地高度を用いる方法(第1の処理例)と、注視点までの距離を用いる方法(第2の処理例)の2つの方法について説明する。
<<2.1.第1の処理例>>
第1の処理例では、対地高度を利用して移動比率が設定される。
第1の処理例では、まず予め、移動体20は、離陸から撮像が行われるエリア上空までは、手動操縦モード又はWaypoint飛行モードにより飛行する。移動体20が撮影を行うエリア上空に到達すると、操縦者は操縦装置10の入出力部18を操作して移動体20を一旦ホバリング状態(速度が0の状態)にした上で、飛行モードをダイレクト操縦モードに変更する。
以下、図11を参照して、以下の操縦装置10と移動体20とにおける処理について説明する。具体的には、飛行モードのダイレクト操縦モードへの遷移について詳細に説明する。図11は、移動体20の飛行モードをダイレクト操縦モードへ遷移させる処理を示すフローチャート図である。以下、図11に示すフローチャート図に沿って処理例を説明する。
まず、操縦装置10の処理の流れについて説明する。
まず、操縦装置10は、ダイレクト操作モードへ遷移する(ステップS101)。具体的には、操縦者により入出力部18のUIより飛行モードをダイレクト操縦モードに遷移する操作が行われると、UI制御部138を介してダイレクト操縦モードへ遷移するための操作指令が指令生成部136に入力される。
指令生成部136がダイレクト操縦モードへ遷移するための操作指令を受けると、指令生成部136は、高度推定部131より対地高度(Hc)を取得する(ステップS103)。
次いで、指令生成部136は、位置推定部132より現在の操縦装置10の自己位置を取得する(ステップS105)。指令生成部136は、取得した自己位置に基づき、操縦装置10の姿勢をパン角(cwθp)、ティルト角(cwθt)、及びロール角(cwθr)に分解する(ステップS107)。なお、本明細書において、各角度θの左上の添え字は、角度θを表す座標系の種類を示している。また、自己位置の姿勢をパン角、ティルト角、及びロール角へ分解する方法については後述する。
次いで、指令生成部136は、操縦原点を生成し、生成した操縦原点を記憶部137に記憶させる(ステップS109)。操縦装置10の操縦原点は、操縦装置座標系の世界座標系(CW)と操縦座標系(CC)の関係を表すものであり、世界座標系(CW)における位置(cwXco、cwYco、cwZco)、及びZ軸回転方向の姿勢(cwθzco)で構成される。操縦原点は、以下の2つの値を用いて生成される。
(1)位置(cwXco、cwYco、cwZco):操縦装置10の自己位置のうち並進成分
(2)Z軸回転方向の姿勢(cwθzco):操縦装置10の自己位置の姿勢のうちパン角(cwθp)
次いで、指令生成部136は、下記の2つのデータとともに、ダイレクト操縦モードへの遷移指令を、通信制御部134を介して移動体20に送信する(ステップS111)。
(1)操縦装置10の対地高度(Hc)
(2)操縦装置10の現在の姿勢(ティルト角(cwθt)、ロール角(cwθr))
操縦装置10は、ダイレクト操縦モードへの遷移指令を送信すると、移動体20のダイレクト操縦モードへの遷移完了の報告を待つ。以上の処理により、操縦装置10のダイレクト操縦モードへの遷移は完了する。
次に、移動体20の処理の流れについて説明する。情報処理装置220は、通信制御部213を介して、操縦装置10が送信したダイレクト操縦モードへの遷移指令を取得すると、以下の処理を行う。
まず、情報処理装置220は、高度推定部211から推定された対地高度を取得する(ステップS113)。
次いで、情報処理装置220は、移動比率(Sm)を算出する(ステップS115)。移動比率(Sm)は、操縦装置10の移動量を機体21の移動量に反映させるための比率である。具体的には、パラメータ生成部221は、操縦装置10から取得した操縦装置10の対地高度(Hc)と、移動体20が備える高度推定部211が推定した機体21の対地高度(Hd)を用いて、下記の式(1)に基づき移動比率を算出する。
移動比率(Sm)=機体の対地高度(Hd)/操縦装置の対地高度(Hc)
・・・(1)
算出された移動比率(Sm)は、情報処理装置220の記憶部225に記憶される。
次いで、情報処理装置220は、現在の機体21の自己位置を位置推定部212より取得する(ステップS117)。取得された自己位置は操縦原点として記憶部225に記憶される。操縦原点は、移動体座標系の世界座標系(DW)と操縦座標系(DC)の関係を表すものであり、世界座標系(DW)における位置(dwXco、dwYco、dwZco)、及びZ軸回転方向の姿勢(dwθzco)で構成される。パラメータ生成部221は、操縦原点を以下の値を用いて生成する。
(1)位置(dwXco、dwYco、dwZco):機体21の自己位置のうちの並進成分
(2)Z軸回転方向の姿勢(dwθzco):機体21の自己位置の姿勢のうちのパン角(dwθp)
自己位置のパン角、ティルト角、及びロール角への分解の方法については後述する。
次いで、移動体20は、雲台24の目標姿勢を算出する(ステップS119)。具体的には、パラメータ生成部221は、撮像装置25の姿勢が操縦装置10の姿勢と同じになるようにするための第2のパラメータを生成する。より具体的には、パラメータ生成部221は、位置推定部212より取得した自己位置の姿勢成分と、操縦装置10より受信した操縦装置10の姿勢(cwθt、cwθr)とを用いて、雲台目標位置を第2の姿勢パラメータとして算出する。第2の姿勢パラメータの算出方法については後述する。次いで、移動体20は、撮像装置25の姿勢が操縦装置10の姿勢と同じになるように、雲台制御部215を介して雲台24を制御する(ステップS121)。
次いで、移動体20は、通信制御部213を介して、操縦装置10にダイレクト操縦モードへの遷移完了の報告を送信する(ステップS123)。
以上の処理により、移動体20のダイレクト操縦モードへの遷移が完了する。操縦装置10及び移動体20の双方がダイレクト操縦モードへの遷移を完了すると、操縦装置10の姿勢と移動体20に搭載された撮像装置25の姿勢とが同期する。これにより、操縦装置10は、ダイレクト操縦モードで移動体20を操縦できるようになる。
なお、以上の処理は操縦装置座標系について、世界座標系(CW)等のZ軸負方向を重力の方向に合わせていることが前提となっている。しかし、操縦装置10にIMU(Inertial Measurement Unit)など重力方向を推定できるセンサが設けられていない場合には、操縦装置10と移動体20に搭載された撮像装置25との間で、上記の方法により姿勢を合わせることが出来ない。そのような場合には、操縦装置10と移動体20に搭載された撮像装置25との姿勢を手動で合わせても良い。ここでは、手動で姿勢を合わせる方法の一例を説明する。
予め、操縦装置10の姿勢と移動体20の撮像装置25の姿勢を合わせる際の姿勢とを、水平な方向等、操縦者が向けやすい姿勢に決めておく。
操縦装置10では、ダイレクト操縦モードへの遷移操作を行った際(例えば、ステップS101の処理を行った際)、一連の処理(例えば、ステップS103~S109の処理)を行う前に入出力部18等のUIに、操縦装置10を前述の予め決めた姿勢にする指示が表示される。操縦者は、指示された姿勢になるように、操縦装置10の向きを変えた後に、例えば入出力部18に表示されたボタンを操作する。以後、前述のダイレクト操縦モードへの遷移時の処理(例えば、ステップS103~S109の処理)が同様に行われる。
移動体20は、雲台目標位置の算出時(ステップS119)に操縦装置10の姿勢の代わりに予め決めた姿勢を使用して(操縦装置10が予め決めた姿勢になっているものとして)、前述の説明と同様の処理(例えば、ステップS113~S123の処理)を行う。
以上の方法でも、操縦装置10と移動体20に搭載の撮像装置25の姿勢とを同期させることが出来る。
次に、図12を参照して、ダイレクト操縦モード中の操縦装置10及び移動体20における処理について、詳細に説明する。図12は、ダイレクト操縦モード中の操縦装置10及び移動体20における処理を示すフローチャート図である。
まず、操縦装置10の処理について説明する。
まず、操縦装置10は、自己位置を出力する(ステップS201)。より具体的には、位置推定部132は、自己位置の推定に使用しているセンサの出力レート、例えばステレオカメラ14であれば例えば60fps(flames per second)の間隔で自己位置を推定し、指令処理部135に出力する。
次いで、指令処理部135は、位置推定部132より自己位置を取得すると、操縦指令を生成する(ステップS203)。より具体的には、指令生成部136は、ダイレクト操縦モードへの遷移時(具体的には、ステップS109)において記憶部137に記憶された操縦原点からの操縦装置10の相対移動量に基づいて、操縦指令を算出する。
操縦指令は、下記の3つの情報で構成される。
(1)操縦原点からの相対移動量(ccXho、ccYho、ccZho)
(2)操縦原点からのZ軸周りの相対移動量(ccθzho)
(3)現在の自己位置のうち、ティルト角及びロール角(cwθt、cwθr)
なお、相対移動量は、操縦座標系(CC)と水平機体座標系(CH)の関係を表す。また、ティルト角及びロール角(cwθt、cwθr)は、水平操縦装置座標系(CH)と操縦装置座標系(CS)の関係を表す。
指令生成部136は、記憶部137で記憶された操縦原点と、操縦装置10の位置推定部132より取得された自己位置とに基づき、下記の式(2)~(11)に基づき、操縦指令を生成する。なお、操縦装置10の自己位置より回転成分をパン角、ティルト角、及びロール角に分解(算出方法については後述する)された値をcwθp、cwθt、及びcwθrとする。また、以下、Rxは回転成分(以下、「回転行列」とも称する)、Pxは並進成分、Txは同次変換行列を表す。
操縦装置10の現在の自己位置より、並進成分とZ軸周りの姿勢は下記の式(2)~(5)で表される。
式(3)~(5)と同様にして、操縦原点は下記の式(6)~(8)で表される。
操縦装置10の相対移動量は、下記の式(9)及び(10)で表される。なお、CCRは、操縦装置10の相対移動量のうちの回転成分を表す。
指令生成部136は、操縦原点と現在の自己位置とを用いて、下記の式(11)に基づき、操縦装置10の相対移動量を算出する。
指令生成部136は、式(11)で表されるccTより必要な成分を抜き出して、ccP及びccRを取得する。また、指令生成部136は、ccPより、ccXho、ccYho、及びccZhoを取得する。また、指令生成部136は、ccRをパン角、ティルト角、及びロール角に分解して、パン角ccθzhoを算出する。なお、指令生成部136がccRを分解してパン軸の角度ccθzhoを算出する方法については後述する。
次いで、操縦装置10は、操縦指令を移動体20に送信する(ステップS205)。より具体的には、指令生成部136は、当該操縦指令を、通信制御部134を介して移動体20に送信する。なお、これらのステップS201~S205の処理は、操縦装置10の位置推定部132が自己位置を出力する度に行われる。
次に、移動体20の処理について説明する。
移動体20は、通信制御部213により、操縦装置10で算出された操縦指令を受信する(ステップS207)。受信された操縦指令は、情報処理装置220に伝達される。
次いで、情報処理装置220は、伝達された操縦指令に基づき、機体目標位置と雲台目標位置とを生成する(ステップS209)。より具体的には、パラメータ生成部221は、機体目標位置と雲台目標位置に関する各種のパラメータを生成し、生成した各種のパラメータを機体制御部214と雲台制御部215に伝達する。
移動体20がクワッドロータの飛行体である場合には、機体21の姿勢によって、機体21の前後左右の移動が制御されている。そのため、操縦装置10により表現された撮像装置25の位置及び姿勢を、機体21の動きだけで実現することは出来ない。そのため、並進方向、及び重力方向軸周りの回転以外の自由度は、雲台24により実現される。また、移動体20の運動状態又は風などの外乱による移動体20の姿勢の変化も、雲台24により吸収される。
具体的な機体目標位置の算出方法について説明する。機体目標位置(dwXref、dwYref、dwZref、dwθzref)は、世界座標系(DW)と水平機体座標系(DH)との間の差分を表す値である。機体目標位置は、重力方向とdwZ及びdhZ軸とが揃っているため、自由度は前述の並進3自由度(dwXref、dwYref、dwZref)とZ軸周りの回転(dwθzref)の4つの値で表される。
パラメータ生成部221は、機体目標位置を下記の式を用いて算出する。なお、移動比率、及び操縦原点の算出には、ダイレクト操縦モードへの遷移時(ステップS117)において、情報処理装置220に記憶された値が使用される。ここで、操縦原点の同次変換行列は、下記の式(12)~(14)で表される。
また、機体目標位置の同次変換行列は、下記の式(15)及び(16)で表される。なお、dwRrefは、機体21の回転成分を表す回転行列である。
まず、パラメータ生成部221は、機体21の相対移動量目標値を、操縦装置10より受信した操縦装置10の相対移動量、及びダイレクト操縦モード遷移時に情報処理装置220に記憶した移動比率より、下記の式(17)を用いて算出する。すなわち、パラメータ生成部221は、操縦装置10より受信した操縦装置10の相対移動量と移動比率とを乗じて、並進成分(すなわち、移動体20の相対移動量)を移動パラメータとして算出する。なお、相対移動量目標値は、操縦座標系(DC)と水平機体座標系(DH)の間の差分を表す値である。
パラメータ生成部221は、機体21の回転成分については、操縦装置10より受信した操縦装置10の回転成分をそのまま使用する。
以上より、機体21の相対移動量目標値の同次変換行列は、下記の式(20)で表される。
パラメータ生成部221は、機体21の相対移動量目標値と操縦原点から、以下の式(21)を用いて機体目標位置を算出する。
パラメータ生成部221は、dwTrefより必要な成分を抜き出して、dwPref及びdwRrefを得ることができる。また、パラメータ生成部221は、dwPrefより、dwXref、dwYref及びdwZrefを移動パラメータとして得る。また、パラメータ生成部221は、dwRrefよりパン角、ティルト角、ロール角に分解し、パン角dwθzrefを第1の姿勢パラメータとして得ることができる。パラメータ生成部221が、パン軸の角度dwθzrefを得る算出方法については後述する。
X及びY軸周りの回転については、雲台24により実現される。パラメータ生成部221は、移動体20の位置推定部212より取得された自己位置の姿勢成分と、操縦装置10より送信された操縦装置10の姿勢(cwθt、cwθr)より、後述の雲台目標姿勢の算出方法を用いて雲台目標位置を第2の姿勢パラメータとして算出する。
なお、操縦装置10の姿勢変化に対する撮像装置25の姿勢の応答をより良くするために、雲台24のパン軸と機体21の位置とが連携されてもよい。具体的には、雲台24は直接モータで駆動しているため、雲台24の姿勢の方が機体21の姿勢よりも応答性が良いことが期待できる。このため、Z軸回転について、機体21の自己位置が機体目標位置に到達するまでの間、雲台24のパン軸により、下記の式(22)で表される機体目標位置と機体21の自己位置との差分量が補われてもよい。
雲台目標位置(θp)=機体目標位置(dwθzref)―機体自己位置(dwθz)・・・(22)
パラメータ生成部221は、得られた機体目標位置を機体制御部214に、雲台目標位置を雲台制御部215に設定する(ステップS211)。
次いで、移動体20は、機体21と雲台24とを制御する(ステップS213)。より具体的には、機体目標位置が設定された機体制御部214は、設定された機体目標位置と機体21の自己位置が一致するように機体21を制御する。雲台目標位置が設定された雲台制御部215は、雲台24の位置が設定された雲台制御位置となるように雲台24を制御する。このようにして、操縦装置10における操縦者の操作が機体21及び雲台24の位置及び姿勢に反映される。
また、情報処理装置220は、機体目標位置と機体21の現在位置又は雲台目標位置と雲台24の現在位置との差異を算出して、通信制御部213を介して、当該差異を操縦装置10に送信しても良い。当該差異の算出は、例えば、情報処理装置220が備えるパラメータ生成部221により実施されてもよい。操縦装置10は、受信した当該差異を用いて、操縦装置10の表示部16又は入出力部18に、操縦装置10の姿勢の移動体20への反映状況を表示させても良い。例えば、下記Webページの3.5節に記載のように、表示部16又は入出力部18に撮像装置25の画像が表示される際に、例えばUI制御部138が透視変換を行い、撮像装置25の姿勢が操縦装置10の姿勢に追いついていないことが視覚的に表現されてもよい。
(参考URL)
・http://www.interaction-ipsj.org/archives/paper2013/data/Interaction2013/oral/data/pdf/13INT012.pdf
以上、第1の処理例について説明した。本開示の一実施形態に係る情報処理装置220の効果について説明する。本開示の一実施形態に係る情報処理装置220は、操縦装置10から第1の位置までの第1の距離と移動体20から第2の位置までの第2の距離との比率、及び操縦装置10の移動に基づき、移動体20の移動を制御するための移動パラメータを生成する。移動体20の移動は、生成された移動パラメータに基づき制御される。このため、操縦者は、操縦装置10を移動させることで、移動体20の移動を制御することができる。また、移動体20の移動は、上記比率に基づき制御されるため、操縦者は、移動体20の移動をよりイメージし易くなる。このため、操縦者は、より簡便に移動体20の移動を制御することが可能となる。
また、本開示の一実施形態に係る情報処理装置220は、パラメータ生成部221は、第1の距離と第2の距離との比率と、操縦装置10の移動量とを乗じて、移動パラメータとして移動体20の移動量を生成する。移動体20の移動量は、生成された移動量に基づき制御される。このため、移動体20は、操縦装置10の移動量に比例した移動量を移動するため、操縦者は、移動体20の移動をより予測し易くなる。このため、操縦者は、移動体20の移動をさらに簡便に制御することができるようになる。
本開示の一実施形態に係る情報処理装置220の効果について、図13を参照してより詳細に説明する。図13は、本開示の一実施形態に係る情報処理装置220の効果を説明するための図である。図13には、移動体20と、移動体20の撮像対象600、操縦装置の操縦者U1、及び撮像対象600を模したミニチュア602が示されている。また、操縦装置10の操縦者U1の上側に示す矢印604は、操縦装置10の移動量を模式的に示した矢印である。また、移動体20の上側に示されている点が付された矢印606は、移動体20の移動量を模式的に示す矢印である。矢印606で示される移動量は、操縦装置の対地高度(Hc)と移動体20の対地高度(Hd)の比率と矢印604で示される移動量とを乗じて算出された量である。ここでは、当該比率がn倍であるものとして説明する。
上記のように、第1の処理例では、第1の距離は、操縦装置10の対地高度(Hc)であり、第2の距離は、移動体20の対地高度(Hd)である。このため、操縦者U1は、操縦装置10の対地高度と移動体20の対地高度との比率に基づき、移動体20の移動を制御することができる。このため、操縦者U1は、移動体20の移動をよりイメージし易くなり、さらに簡便に移動体20の移動を制御できるようになる。
また、本開示の一実施形態に係る情報処理装置220によれば、パラメータ生成部221は、操縦装置10の姿勢に応じた姿勢を移動体20に実現させるための第1の姿勢パラメータを生成する。当該第1の姿勢パラメータに基づき、操縦装置10の姿勢に応じた姿勢が、移動体20により実現される。このため、操縦者U1は、操縦装置10の姿勢と移動体20の姿勢とが連動するため、さらに簡便に移動体20の移動を制御できるようになる。
また、本実施形態では、移動体20は、風景を撮像するための撮像装置25を備える。本実施形態では、操縦者U1は、操縦装置10を移動させるだけで移動体20の移動を制御することができる。従って、操縦者U1は、移動体20の移動を簡便に制御できるだけでなく、移動体20に搭載された撮像装置25により適切に撮像させることも可能となる。
また、本実施形態では、移動体20は、撮像装置25を搭載した雲台24を備えている。また、情報処理装置220が備えるパラメータ生成部221は、雲台24に操縦装置10の姿勢に応じた姿勢を実現させるための第2の姿勢パラメータを生成できる。雲台24の姿勢は、当該第2の姿勢パラメータに基づき制御され、操縦装置10の姿勢に応じた姿勢が実現される。このため、操縦者U1は、操縦装置10の姿勢を調整することで、撮像装置25が撮像する方向を制御することができるため、より簡便かつ適切に移動体20に搭載された撮像装置25に撮像させることができる。
また、本実施形態では、操縦装置10と移動体20とは、互いに離れた場所に位置し、互いに通信可能に接続される。本実施形態では、操縦装置10は、地表近くで操縦者U1に持ち運ばれることより移動している。一方、移動体20は、上空で飛行している。このように、操縦装置10と移動体20とが互いに離れた場所に位置していても、操縦者U1は操縦装置10を移動させるだけで、移動体20の移動を制御することが可能である。つまり、操縦者U1は、離れた位置に位置する移動体20の移動を、より簡便に制御することができる。
また、本開示の一実施形態では、移動体20は飛行体である。具体的には、移動体20は、ドローンが想定されている。移動体20がこのような飛行体である場合には、操縦者U1は、操縦装置10を空中で動かすことにより、当該移動体20の移動を制御することができる。このため、操縦者U1は、3次元的に移動体20を制御することが可能になる。このように、移動体20が高空で運用される場合でも、操縦者U1が狭い範囲を移動するだけで撮像対象600に対して回り込むような動作なども簡単に、かつビデオカメラを手で持って撮影するような感覚で移動体20を操縦することができる。
また、上述した特許文献1には、操縦者の移動量を計測し、同じ移動量だけ移動体を動かす技術が記載されている。しかし、移動体20で高空より地上を撮影する場合、撮影位置を変更するために必要な移動量が大きく、操縦者にこの移動を行わせることは実用的ではない。特に、撮像位置を変更させる分だけユーザが移動する必要がある場合には、例えば、上空20mから45°の俯瞰で撮影しているところから反時計周りに90°移動しようとすると、操縦者も半径20mの円上を90°分回らなければならない。このため、操縦者の移動の負担が大きく、また操縦者の周囲にそれだけの空間を確保することも困難である。
一般的に、ドローン等の移動体を使った空撮が行われている。空撮において意図したフレーミングを行うには、移動体に搭載された撮像装置の撮影画像のプレビューを確認しながら、ドローンの機体又は撮像装置を搭載するジンバル雲台の制御を行う必要がある。しかしながら、1人で当該プレビューが表示されたモニタを見ながら、機体及びジンバル雲台などの全ての制御を行うことは、操縦者にとって負担が大きい。また、ドローンの機体の操縦と撮像装置の制御とが2人で分担される場合には、当該2人の操縦者が互いに機体又はジンバル雲台などの動かしたい方向を相手に伝えるのが難しい。ドローンの操縦はプロポを用いて行われるが、撮像装置のフレーミングを調整するために何をどちらに動かせば良いのか直観的でない。このため、感覚的に撮像装置のフレーミングを調整することが難しい。
本実施形態では、操縦装置10は、操縦者U1により持ち運ばれることにより移動する。このため、操縦者U1があたかも操縦者U1の目前にあるミニチュア602をカメラで撮影するように操縦装置10を動かすだけでよい。これにより、操縦者U1が意図する撮像装置25のフレーミングが実現されるように、移動体20又は移動体20に搭載された雲台24が制御される。これにより、プロポを用いて機体21及び雲台24を個別に手動で制御することに比べて、操縦者U1は、容易にかつ直観的に移動体20に搭載された撮像装置25のフレーミングをすることができる。
<<2.2.第2の処理例>>
第1の処理例では、移動比率(Sm)の算出には、操縦装置10及び移動体20における対地高度が用いられた。第2の処理例では、移動比率(Sm)の算出には、対地高度ではなく、注視点との距離の比率が用いられる。
図14及び図15を参照して、注視点について説明する。図14は、移動体20における第2の注視点708を説明するための図である。図14には、移動体20と、移動体20の前方に位置する撮像対象700とが示されている。移動体20に搭載された撮像装置25は、撮像対象700を撮像している。なお、破線で示された領域702は、撮像装置25の視野を示しており、第2の注視点708を含んでいる。
第2の注視点は、例えば、撮像装置25により撮像される撮像対象700に含まれてもよい。図14に示す例では、バツ印で示された第2の注視点708が注視点となっている。撮像装置25の第2の注視点708への方向704が矢印で示されている。第2の処理例では、移動体20に設けられた測距センサ26が、移動体20から第2の注視点708までの距離Ddを第2の距離として計測する。なお、第2の処理例では、第2の注視点708は、第2の位置である。
次いで、図15を参照して、操縦装置10における第1の注視点720について説明する。図15は、操縦装置10における第1の注視点720を説明するための図である。図15には、操縦装置10と、当該操縦装置10を操縦する操縦者U2と、操縦装置10の前方に位置する代替対象710とが示されている。また、点線で示された領域712は、ステレオカメラ14の視野である。また、破線で示される領域714は、移動体20が備える撮像装置25の画角に基づく仮想的な視野であり、第1の注視点720を含んでいる。代替対象710の上部に示されるバツ印で示された第1の注視点720である。さらに、ステレオカメラ14の第1の注視点720への方向718が矢印で示されている。なお、第2の処理例では、操縦装置10のステレオカメラ14が第1の注視点720を見る方向718と、移動体20の撮像装置25が第2の注視点708を見る方向704とが一致している。なお、ここでいう上記2つの方向が一致している状態は、上記2つの方向が完全に一致している状態のみならず、使用者が一致していると感じる程度に上記2つの方向が揃っている状態をも含むものとする。
第2の処理例では、撮像装置25における第1の注視点720は、代替対象710に含まれる。代替対象710は、移動体20に搭載された撮像装置25の撮像対象700の代替となる代替対象となっている。例えば、図14に示した撮像対象700が岩等である場合には、操縦者U2は、撮像対象700の代替対象710として、当該岩等に似た形状を有する物体を代替対象として選んでもよい。第2の処理例では、操縦装置10を使用する操縦者U2の周辺にある物体に操縦装置10に搭載されたステレオカメラ14が向けられた状態で、注視点が設定される。第2の処理例では、操縦装置10から第1の注視点720までの距離Dcが第1の距離として計測される。なお、第2の処理例では、第1の位置は、第1の注視点720である。
第2の処理例では、上記の距離Ddと距離Dcとの比率が移動比率(Sm)として用いられる。これにより、操縦者U2は、あたかも自らの周辺にある物体を撮影するかのように、機体21及び雲台24を操縦して、撮像対象700を撮影することが出来る。
以下、第2の処理例における操縦装置10と移動体20とで実施される処理について、第1の処理例と異なる点を中心に説明する。ここでは、第1の処理例と第2の処理例とにおいて、実質的に同一の処理については、説明を省略する。
注視点の設定は、飛行モードがダイレクト操縦モードへ遷移される前までに行われる必要がある。第2の処理例では、注視点を設定するための注視点設定モードの処理が、第1の処理例における処理に加えて実施される。注視点設定モードでは、操縦装置10の姿勢のみが、移動体20の撮像装置25の姿勢と連動する。そのため、操縦者U2は、操縦装置10を動かすことで、第2の注視点としたい場所を撮像装置25の視野に収めるように、撮像装置25の姿勢を調整することが出来る。
第2の処理例では、他のモードからダイレクト操縦モードに遷移する時に、必ず注視点設定モードが実施される。しかし、一度注視点が設定された後は、注視点の設定が省略されても良い。
以下、注視点を利用する場合における、移動体20の飛行モードがダイレクト操縦モードへ遷移する流れについて説明する。
ここでは、移動体20から操縦装置10へ、常に移動体20の撮像装置25で撮影された画像が送信され、操縦装置10の入出力部18には、当該画像が常に表示されているものとする。また、表示される画像には、移動体20に搭載された撮像装置25が当該画像を撮影した時の撮影時刻が付与されてもよい。また、表示される画像には、撮像装置25が画像を撮影するごとにインクリメントされる画像番号が付与されてもよい。これらの撮像時刻又は画像番号等の情報も操縦装置10へ送信されてもよい。
まず、操縦者U2は、入出力部18を見ながら、予め手動操縦モードなどを用いて、撮像装置25の視野に第2の注視点として設定したい場所が入っている状態で、移動体20をホバリングさせておく。また、操縦者U2は、操縦者U2の周囲にある撮像対象を摸する物体又は壁などの代替対象の前に立ち、操縦装置10をそれらの代替対象が存在する方向に向けておく。この状態で、操縦者U2が入出力部18のUIを用いて、飛行モードを注視点設定モードに遷移する操作を行うと、注視点設定モードへ遷移する処理(すなわち、後述する図16に示す処理)が開始される。
以下、図16及び図17を参照して、第2の処理例における操縦装置10と移動体20とが実施する処理について説明する。まず、注視点設定モードへの遷移について、操縦装置10の処理を説明する。図16は、移動体20の飛行モードが注視点設定モードへ遷移する過程における処理を示すフローチャート図である。
操縦者U2により、入出力部18のUIを用いて飛行モードを注視点設定モードに遷移する操作が行われると、操縦装置10には、注視点設定モードへの操作指令が入力される(ステップS301)。より具体的には、入出力部18に入力された注視点設定モードへの遷移操作指令が、UI制御部138を介して、指令処理部135に伝達される。
次いで、指令処理部135が、注視点設定モードへの遷移操作指令を受けると、指令生成部136は、操縦装置10の位置推定部132より、現在の操縦装置10の自己位置を取得する(ステップS303)。
次いで、指令生成部136は、取得した自己位置より、操縦装置10の姿勢をパン角(cwθp)、ティルト角(cwθt)、及びロール角(cwθr)の角度に分解する(ステップS305)。なお、指令生成部136が姿勢を角度分解する方法については後述する。
記憶部137は、算出された操縦装置10の姿勢のうちパン角(cwθp)を注視点設定モード原点(cwθpvp)として記憶する。
次いで、指令生成部136は、注視点設定モードへの遷移指令を下記の2つのデータと共に通信制御部134を介して、移動体20に送信する(ステップS307)。
(1)操縦装置10の現在の姿勢(ティルト角(cwθt)、ロール角(cwθr))
(2)操縦装置10の現在の姿勢と注視点設定モード原点とのパン軸差分角度(cvθp)
なお、パン軸差分角度(cvθp)は、下記の式(23)を用いて算出される。
パン軸差分角度(cvθp)=操縦装置の姿勢(cwθp)-注視点設定モード原点(cwθpvp)・・・(23)
移動体20は、前述の注視点設定モードへの遷移指令を操縦装置10より受信することで、注視点設定モードへの遷移処理を開始する。以下、その時の情報処理装置220の動作について説明する。
移動体20が操縦装置10より注視点設定モードへの遷移指令を受信すると、情報処理装置220は、位置推定部212より機体21の自己位置を取得する(ステップS309)。
次いで、情報処理装置220は、現在の姿勢を分解してパン角を算出する(ステップS311)。情報処理装置220は、算出したパン角を注視点設定モード原点(dvθpvp)として記憶する。
次いで、情報処理装置220は、雲台24の目標姿勢を生成する(ステップS313)。より具体的には、パラメータ生成部221は、操縦装置10より受信した操縦装置10の現在の姿勢と、機体21の自己位置の姿勢成分に基づき、雲台24に操縦装置10の姿勢に応じた姿勢を実現させるための、第2の姿勢パラメータを雲台24の目標姿勢として生成する。なお、パラメータ生成部221が、第2の姿勢パラメータを生成する方法については後述する。
次いで、移動体20は、雲台24を制御する(ステップS315)。より具体的には、情報処理装置220は、算出した雲台24の目標姿勢を雲台制御部215に伝達する。雲台制御部215は、伝達された雲台24の目標姿勢に基づき、雲台24を制御する。
雲台24の制御が完了すると、移動体20は、操縦装置10に注視点設定モードへの遷移完了報告を送信する(ステップS317)。このとき、情報処理装置220は、注視点設定モードに遷移する。
以上のステップS301~S317の処理により、操縦装置10の姿勢と移動体20に搭載された撮像装置25の姿勢が、ティルト角及びロール角について同期する。また、パン角についても、操縦装置10の姿勢と移動体20に搭載された撮像装置25の姿勢とにおいて、注視点設定モードへの遷移操作が行われたタイミングから相対的に動作が同期する。
操縦装置10が、移動体20より注視点設定モードへの遷移完了報告を受信すると、操縦装置10のモードは、注視点設定モードとなる。
操縦装置10は、注視点設定モードにおいて、入出力部18のUIにて注視点を指定する指示を、UI制御部138を介して表示する(ステップS319)。
注視点設定モード中、指令処理部135は、撮像装置25の姿勢制御指令として、下記の2つのデータを、通信制御部134を介して、移動体20に送信する(ステップS321)。なお、当該送信は、定期的(操縦装置10の位置推定部132が自己位置を出力するレート)に実施される。
(1)操縦装置10の現在の姿勢(ティルト角(cwθt)、ロール角(cwθr))
(2)操縦装置10の現在の姿勢と注視点設定モード原点とのパン軸差分角度(cvθp)
なお、パン軸差分角度(cvθp)は、下記の式(24)を用いて算出される。
パン軸差分角度(cvθp)=操縦装置の姿勢(cwθp)-注視点設定モード原点(cwθpvp)・・・(24)
移動体20は、雲台24の目標姿勢を生成する(ステップS323)。より具体的には、パラメータ生成部221は、操縦装置10より撮像装置25の姿勢制御指令を受信すると、受信した操縦装置10の現在の姿勢と、機体21の自己位置の姿勢成分に基づき、雲台24の目標姿勢に関する第2のパラメータを生成する。なお、パラメータ生成部221が第2のパラメータを生成する方法については後述する。生成された第2のパラメータは、雲台制御部215に伝達される。
次いで、移動体20は、雲台24を制御する(ステップS325)。より具体的には、雲台制御部215は、ステップS323において取得した第2のパラメータに基づき、雲台24を制御する。
以上のステップS321~S325の処理は定期的に実施され、以下の注視点設定モード中では、操縦装置10の姿勢に同期して撮像装置25の姿勢が動くようになる。この状態で注視点が設定される。
以下、図17を参照して、注視点が設定される処理について説明する。図17は、第1及び第2の注視点が設定される処理を示すフローチャート図である。以下、図17に示すフローチャートに沿って説明する。
まず、操縦装置10の処理の流れについて説明する。
まず、操縦装置10は、注視点を設定する(ステップS401)。注視点の設定は、例えば、操縦者U2が操縦装置10を操作することにより実施される。ここでは、操縦者U2が操縦装置10に注視点を設定する2つの方法について説明する。
1つ目の方法では、操縦者U2は、操縦装置10の姿勢を変えて、操縦装置10の入出力部18に表示された撮像装置25の画像の中心に第2の注視点がある状態にする。次いで、操縦者U2は、入出力部18に表示されたUIにおける第2の注視点を設定するためのボタンを押下する。これにより、第2の注視点の画像座標は入出力部18に表示された画像の中心に固定される。
2つ目の方法では、操縦者U2は、操縦装置10の姿勢を変えて、操縦装置10の入出力部18に表示された撮像装置25の画像上の任意の場所に第2の注視点がある状態にする。次いで、操縦者U2は、入出力部18に表示されたUIにおける第2の注視点の画像上の場所をタッチする。
以上、操縦者U2が注視点を設定する2つの方法について説明したが、第2の注視点を設定する方法は、上記の方法に限定されない。
注視点が設定されると、操縦装置10は、操縦装置10から第1の注視点までの距離Dcを計測する(ステップS403)。より具体的には、距離計測部133が、ステレオカメラ14が撮像した画像に基づき、操縦装置10から第1の注視点までの距離(Dc)を計測する。
なお、操縦装置10から第1の注視点までの距離(Dc)は、操縦装置10のステレオカメラ14が、移動体20の撮像装置25から見た第2の注視点の方向と同じ方向に見た奥行である。以下、入出力部18により指定された第2の注視点の撮像装置25の画像座標に対応する奥行(Dc)の計測方法について説明する。
ここでは、操縦装置10のステレオカメラ14、及び移動体20の撮像装置25が、共にピンホールカメラモデルであるものとする。ピンホールカメラモデルについては、例えば、下記Webページにおいて公開されている。
(参考URL)
・https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html
・https://jp.mathworks.com/help/vision/ug/camera-calibration.html
ピンホールカメラモデルにおける座標系の定義を図18に示す。図18は、ピンホールカメラモデルにおける座標系を示す図である。3次元空間の直交座標系における座標軸800と、画像座標を規定する座標軸802と、当該画像座標を含む画像平面804とが示されている。3次元空間の直交座標系における座標軸800は、3つの直交する軸(Xp軸、Yp軸、及びZp軸)で構成されている。Zp軸は、ステレオカメラ14及び撮像装置25の光軸方向に対応しているものとする。また、画像座標を規定する座標軸802は、2つの直交する軸(U及びV)で構成されている。以下、操縦装置10から第1の注視点までの距離の計測方法についてはこの座標系を用いて説明する。
ピンホールカメラモデルにおいて、3次元空間上の点(x、y、z)810と、原点806と当該点(x、y、z)810を結ぶ線と画像平面804との交点(u、v)の間には、下記の式(25)~(28)で表される関係がある。
ここで、fx及びfyは、ピクセル単位で表される焦点距離であり、cx及びcyは、主点の画像座標となる。fx、fy、cx、及びcyで構成される行列Kを内部パラメータと呼ぶ。この内部パラメータは、ステレオカメラ14又は撮像装置25の種類ごとに異なる。移動体20の撮像装置25の内部パラメータをKd、操縦装置10のステレオカメラ14の内部パラメータをKcとする。また、入出力部18により指定された注視点の撮像装置25の画像座標をud、vd、ステレオカメラ14において対応する方向の画像座標uc、vcとする。
撮像装置25が見る画像上の点(ud、vd)の方向と、操縦装置10のステレオカメラ14が見る画像上の点(uc、vc)の方向とが同じ時、撮像装置25が見るx’及びy’とステレオカメラ14が見るx’及びy’とが等しくなる。このとき、下記の式(29)及び(30)が成り立つ。
よって、ステレオカメラ14において、撮像装置25が見る方向に対応する方向の画像座標uc、vcは、以下の式(31)により求まる。
距離計測部133は、画像座標uc、vcに対応する方向における奥行Dc(つまり、操縦装置10から第1の注視点までの距離)を計測する。
移動体20の撮像装置25の内部パラメータKdは、事前に操縦装置10に記憶されていてもよいし、ステップS403の処理が行われる前に、操縦装置10が通信制御部134を介して移動体20より取得しても良い。また、撮像装置25がズーム機構を有している場合は、ズーム倍率に応じて内部パラメータKdが異なる。このため、操縦装置10は、当該ズーム倍率と対応するKdの値のテーブルを有していてもよいし、ズーム操作の度に移動体20より取得しても良い。
また、注視点設定時において、入出力部18には、撮像装置25の画像が表示される。入出力部18は、当該画像に加えて、操縦装置10のステレオカメラ14の画像と、当該画像における注視点位置の表示を重ねて表示しても良い。なお、ステレオカメラ14の画像は、ステレオカメラ14の左右両方のカメラの画像であってもよいし、左右どちらかカメラの画像であってもよい。また、注視点を狙いやすくするために、操縦装置10には、例えば表示部16の上部等に前方を視認できる穴や照準器等が設けられていても良い。
次いで、操縦装置10は、自己位置を取得する(ステップS405)。より具体的には、位置推定部132が、現在の操縦装置10の自己位置を取得する。取得された自己位置は、操縦原点として指令処理部135の記憶部137に記憶される。
次いで、指令生成部136が、ステップS405において取得された自己位置に基づき、操縦装置10の姿勢を分解し、パン角(cwθp)、ティルト角(cwθt)、ロール角(cwθr)を生成する(ステップS407)。指令生成部136が操縦装置10の姿勢を分解して、これらの角度を算出する方法については後述する。
次いで、操縦装置10は、下記の4つのデータとともに、ダイレクト操縦モードへの遷移指令を、通信制御部134を介して移動体20に送信する(ステップS409)。
(1)操縦装置10から第1の注視点までの距離(Dc)
(2)注視点の画像座標
(3)操縦装置10の現在の姿勢(ティルト角(cwθt)、ロール角(cwθr))
(4)注視点設定時に使用された撮像装置25の画像の撮影時刻又は画像番号
なお、当該(4)のデータは、必ずしも移動体20に送信されなくてもよいが、後述するステップS411において用いられ得る。
操縦装置10は、ダイレクト操縦モードへの遷移指令を移動体20に送信すると、移動体20からのダイレクト操縦モードへの遷移の完了報告を待つ。
次に、注視点設定時の移動体20の処理の流れについて説明する。
移動体20は、操縦装置10よりダイレクト操縦モードへの遷移指令を受信すると、移動体20から第2の注視点までの距離Ddを計測する(ステップS411)。より具体的には、測距センサ26が、撮像装置25の画像中心又は操縦装置10より送信された注視点の画像座標に対応する点を第2の注視点として、第2の注視点に対応する方向の奥行(Dd)として計測する。計測された距離(Dd)は、情報処理装置220に伝達される。
なお、操縦者U2が操縦装置10で注視点を設定した時に入出力部18等に表示された画像は、距離(Dd)が計測されたタイミングより古いタイミングで撮影されている。そのため、移動体20は、距離(Dd)の計測に必要な情報(例えば、Depthデータ等)をバッファリングしておいてもよい。測距センサ26は、ダイレクト操縦モードへの遷移指令とともに受信した、注視点設定時に使用した撮像装置25の画像の撮影時刻又は画像番号を用いて、過去の対応する情報を用いて距離(Dd)の計測を行っても良い。
次いで、情報処理装置220は、移動比率を算出する(ステップS413)。より具体的には、パラメータ生成部221は、操縦装置10から受信した操縦装置10から第1の注視点までの距離(Dc)と、測距センサ26が計測した機体21から第2の注視点までの距離(Dd)を用いて、下記の式(32)に基づき算出する。
移動比率(Sm)=機体から第2の注視点までの距離(Dd)/操縦装置から第1の注視点までの距離(Dc)
・・・(32)
次いで、情報処理装置220は、現在の機体21の自己位置を位置推定部212より取得する(ステップS415)。情報処理装置220は、取得した自己位置を操縦原点として記憶部225に記憶する。
移動体20は、操縦装置10にダイレクト操縦モードへの遷移完了報告を送信する(ステップS417)。より具体的には、報告情報生成部222は、通信制御部213を介して、ダイレクト操縦モードへの遷移の完了報告を操縦装置10に送信する。
以上、図17に示した処理により、操縦装置10及び移動体20が、共にダイレクト操縦モードへ遷移する。操縦装置10及び移動体20がダイレクト操縦モードに遷移した後は、第1の処理例と同様に、図12に示した処理が実施されることで、注視点までの距離の比率に基づき、操縦装置10の移動量を移動体20の移動量に反映させることが可能となる。
なお、注視点設定モード中、パン軸方向の姿勢が操縦装置10と移動体20に搭載された撮像装置25との間で、一時的に連動しないようにするためのボタン(以下、「一時連動解除ボタン」とも称する。)を操縦装置10が備えても良い。ここで、一時連動解除ボタンの動作について説明する。
この場合、操縦装置10は、以下の処理を行う。操縦者U2が一時連動解除ボタンを押している間、操縦装置10はパン軸差分角度(cvθp)を移動体20に送信しない。そして、操縦者U2が一時連動解除ボタンを離した時に、操縦装置10は注視点設定モード原点(cwθpvp)を、現在の操縦装置10の自己位置より前述の算出方法(例えば、ステップS303で用いた算出方法)と同様の方法で算出する。操縦装置10は、算出した注視点設定モード原点(cwθpvp)を更新し、移動体20に注視点設定モードの原点をリセットするための指令(以下、「注視点設定モード原点リセット指令」とも称する。)を送信する。
次いで、移動体20は、以下の動作を行う。注視点設定モード原点リセット指令を受信すると、移動体20で記憶している注視点設定モード原点(dvθpvp)を、現在の機体21の自己位置に基づき、前述の算出方法(例えば、ステップS311において用いた算出方法)と同様の方法で算出して更新する。
以上の動作により、操縦者U2が一時連動解除ボタンを押している間には、操縦装置10のパン軸方向の移動が移動体20に反映されない。このため、操縦者U2が、操縦者U2の周囲にある物体に操縦装置10の注視点を合わせる際に、移動体20の注視点とのずれを調整することが出来る。
以上、第2の処理例について説明した。
第2の処理例では、第1の位置は、操縦装置10が備えるステレオカメラ14により撮像された第1の注視点であり、第2の位置は、移動体20が備える撮像装置25により撮像された第2の注視点である。このため、操縦者U2は、第1の距離と第2の距離との比率をイメージし易くなり、さらに簡便に移動体20の移動を制御することが可能になる。
また、第2の処理例では、第2の注視点は、撮像装置25により撮像された撮像対象700に含まれ、第1の注視点は、撮像対象700の代替となる対象である代替対象710に含まれる。このため、操縦者U2は、あたかも代替対象710を撮像する感覚で、移動体20が備える撮像装置25に撮像対象700を撮像させることが可能になる。
さらに、第2の処理例では、操縦装置10のステレオカメラ14が第1の注視点を見る方向と、移動体20の撮像装置25が第2の注視点を見る方向とが一致している。このため、操縦者U2は、より簡便に撮像装置25に適切に撮像させることができる。
<<2.3.算出方法についての補足>>
[(A)姿勢をパン、ティルト、及びロール軸の角度成分に分解する方法]
ここでは、3次元の回転行列Rより、パン、ティルト、及びロールの3軸構成における各軸の角度に分解する方法について説明する。具体的には、指令生成部136が操縦装置10の姿勢を角度分解する方法、及びパラメータ生成部221が第1の姿勢パラメータを生成する方法について説明する。例えば、上記実施形態における、ステップS107、S117、S203、S209、S305、又はS407等において用いられる算出方法について説明する。
パン、ティルト、及びロール軸におけるそれぞれの角度を、それぞれパン角θp、ティルト角θt、及びロール角θrとし、各軸に対応する回転行列をそれぞれRp、Rt、及びRrとする。このとき、回転行列Rp、Rt、及びRrは、それぞれ下記の式(33)~(35)で表される。
上記3軸全体の回転は、上記各軸の回転の組み合わせとなるため、回転行列Rは下記の式(36)で表すことができる。
式(36)より、パン角、ティルト角、及びロール角は、回転行列Rの成分を用いて下記の式(37)~(39)を用いて求められる。
[(B)雲台目標姿勢の算出方法]
ついで、パラメータ生成部221が第2の姿勢パラメータ(雲台24の姿勢を制御するためのパラメータ)を生成する方法について説明する。例えば、上記実施形態におけるステップS119、S313、又はS323等において用いられた算出方法について説明する。移動体20の姿勢を考慮して、指定された撮像装置25の姿勢を実現するための雲台24の姿勢は、下記の式(40)~(43)に基づき算出される。
水平機体座標系(DH)と機体座標系(DB)の関係を表す回転行列dhRbは、移動体20自己位置の姿勢を表す回転行列dwRをパン軸、ティルト軸、及びロール軸の回転行列に分解したものをdhRbp、dhRbt、及びdhRbrとすると、(パン軸成分を除いた)ティルト軸成分及びロール軸成分のみの回転行列で下記のように表すことが出来る。
水平機体座標系(DH)と撮像装置座標系(DS)の関係を表す回転行列dhRsは、各軸の回転行列(ティルト軸の回転行列(dhRst=dhRs(dwθts))、ロール軸の回転行列(dhRsr=Rr(dwθrs)))より下記の式(41)で表すことが出来る。
雲台24により変更される姿勢の回転行列をdbRsとすると、dhRs、dhRbの関係は下記の式(31)となる。
以上より、移動体20の姿勢がdhRbの時に、水平機体座標系(DH)において撮像装置25に姿勢dhRsを実現させるために必要な雲台24の姿勢dbRsは、下記の式(43)を用いて求められる。
得られたdbRsを、前述(A)の算出方法でパン角、ティルト角、及びロール角に分解したうち、ティルト角及びロール角が、雲台24の目標姿勢となる。
<3.変形例>
次いで、図19~図21を参照して、上記実施形態の変形例について説明する。上記実施形態では、移動体20が、情報処理装置220を備えている。本開示に係る情報処理装置は、これに限らず、移動体の外部に設けられていてもよい。変形例では、情報処理装置が移動体の外部に設けられている場合について説明する。変形例に係る情報処理装置34は、例えばユーザが所持する携帯端末等であってもよい。
図19は、変形例に係る情報処理システム2の構成を示す図である。図2に示すように、情報処理システム2は、操縦装置10、移動体30、及び情報処理装置34を備える。変形例では、操縦装置10、移動体30、及び情報処理装置34が、互いにネットワーク38を介して接続されている。また、操縦装置10及び移動体30は、ネットワーク38を介さずに、互いに通信可能に接続されている。
なお、ネットワーク38は、電話回線網、インターネット、衛星通信網などの公衆回線網や、LAN(Local Aera Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク38は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
次いで、図20を参照して、変形例に係る移動体30の構成について説明する。図20は、変形例に係る移動体20の構成を示す機能ブロック図である。図20に示すように、変形例に係る移動体30には、情報処理装置が設けられていない。高度推定部211、位置推定部212、撮像装置25、及び測距センサ26が取得した情報は、通信制御部213に伝達される。通信制御部213は、必要に応じて、情報処理装置34に生成させるために、ネットワーク38を介して、移動体30の移動を制御するための情報を情報処理装置34に送信する。
また、移動体30は、ネットワーク38を介して、通信制御部213により機体21又は雲台24を制御するための情報を情報処理装置34から受信し、当該情報を機体制御部214又は雲台制御部215に伝達する。これにより、機体21及び雲台24の位置又は姿勢が制御される。
次いで、図21を参照して、変形例に係る情報処理装置34の構成について説明する。図21は、変形例に係る情報処理装置34の構成を示す機能ブロック図である。情報処理装置34は、図6に示した情報処理装置220と同様に、パラメータ生成部221、報告情報生成部222、記憶部225を備える。変形例に係る情報処理装置34は、これらの機能部に加えて、通信制御部340を備える。情報処理装置34は、必要に応じて通信制御部340により、移動体30の運動に関わる情報を受信し、受信した情報に基づき、移動体30の運動を制御するための情報を生成する。例えば、パラメータ生成部221は、機体21又は雲台24の位置又は姿勢を制御するための各種のパラメータを生成する。情報処理装置34は、生成した情報を、通信制御部340により、ネットワーク38を介して、操縦装置10又は移動体30に送信する。
<4.ハードウェア構成例>
続いて、図22を参照しながら、本開示の一実施形態に係る情報処理システム1又は2を構成する処理装置13、制御装置27、32、又は情報処理装置34、220(以下、これらをまとめて「情報処理装置等」とも称する。)のハードウェア構成の一例について、詳細に説明する。図22は、本開示の一実施形態に係る情報処理装置等のハードウェア構成の一構成例を示す機能ブロック図である。
本実施形態に係る情報処理装置等は、主に、CPU901と、ROM902と、RAM903と、を備える。また、情報処理装置等は、更に、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、ドライブ912と、接続ポート914と、通信装置916とを備える。
CPU901は、演算処理装置及び制御装置として機能し、ROM902、RAM903、ストレージ装置910又はリムーバブル記録媒体913に記録された各種プログラムに従って、情報処理装置等内の動作全般又はその一部を制御する。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス904により相互に接続されている。例えば、図3に示す高度推定部131、位置推定部132、距離計測部133、通信制御部134、指令生成部136、又はUI制御部138は、CPU901により構成され得る。また、図5又は図20に示す高度推定部211、位置推定部212、通信制御部213、機体制御部214、又は雲台制御部215は、CPU901により構成され得る。さらに、図6又は図21に示すパラメータ生成部221、又は報告情報生成部222は、CPU901により構成され得る。
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス906に接続されている。また、外部バス906には、インタフェース907を介して、入力装置908、出力装置909、ストレージ装置910、ドライブ912、接続ポート914及び通信装置916が接続される。
入力装置908は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置908は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置等の操作に対応した携帯電話やPDA等の外部接続機器915であってもよい。さらに、入力装置908は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置等のユーザは、この入力装置908を操作することにより、情報処理装置等に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置909は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置909は、例えば、情報処理装置等が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置等が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
ストレージ装置910は、情報処理装置等の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置910は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置910は、CPU901が実行するプログラムや各種データ等を格納する。例えば、図3に示す記憶部137、図6に示す記憶部225、又は図21に示す記憶部225等は、ストレージ装置910により構成され得る。
ドライブ912は、記録媒体用リーダライタであり、情報処理装置等に内蔵、あるいは外付けされる。ドライブ912は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体913に記録されている情報を読み出して、RAM903に出力する。また、ドライブ912は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体913に記録を書き込むことも可能である。リムーバブル記録媒体913は、例えば、DVDメディア、HD-DVDメディア又はBlu-ray(登録商標)メディア等である。また、リムーバブル記録媒体913は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体913は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。
接続ポート914は、情報処理装置等に直接接続するためのポートである。接続ポート914の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート914の別の例として、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポート等がある。この接続ポート914に外部接続機器915を接続することで、情報処理装置等は、外部接続機器915から直接各種のデータを取得したり、外部接続機器915に各種のデータを提供したりする。
通信装置916は、例えば、通信網(ネットワーク)917に接続するための通信デバイス等で構成された通信インタフェースである。通信装置916は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置916は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置916は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置916に接続される通信網917は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。
以上、本開示の一実施形態に係る情報処理システム1を構成する情報処理装置等の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図22では図示しないが、情報処理システム1又は2を構成する情報処理装置等に対応する各種の構成を当然備える。
なお、上述のような本実施形態に係る情報処理システム1又は2を構成する情報処理装置等の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ(例えば、複数のサーバ等)が互いに連携して実行してもよい。
<5.補足>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
操縦装置10の表示部16は、移動体20の位置を操縦装置10の移動量に同期動作させる前に移動比率や、移動比率の算出に使用された値を表示してもよい。これにより、同期動作の開始をするか否かを操縦者に判断させても良い。
また、雲台24の軸構成は上記実施形態の構成に限ったものではなく、例えばパン軸が省略されても良い。
また、操縦装置10の表示部16の中心又は入出力部18の中心は、自己位置や注視点方向の距離を計測するステレオカメラ14等のセンサの光軸と合わせられていてもよい。これにより、操縦者には、操縦装置10の動きに対する撮像装置25の表示がより自然な動きに見えるようになり、本開示の技術の効果がより高められる。
また、上記実施形態の第1の処理例では、第1の距離及び第2の距離を対地高度(地面を基準とした高度)としたが、これに限定されない。第1の距離及び第2の距離は、地面以外のあらゆる場所を基準とした高度であってもよい。
また、操縦装置10の構成は上記実施形態の例に限らず、タブレットであってもよいし、HMD(Head Mounted Display)であってもよい。
また、第1及び第2の注視点が設定される対象は、上記実施形態で説明された例に限られない。例えば、撮像対象が盆地であり、代替対象を水たまりとしてもよい。
また、上記実施形態の第1の処理例では、第1の距離は、計測された操縦装置10の対地高度であるが、これに限らず、第1の距離は、予め設定されていてもよい。例えば、第1の距離は、操縦者の身長などに設定されていてもよい。
また、上記の実施形態のフローチャートに示されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的にまたは個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
移動体の移動の基準となる基準体から第1の位置までの第1の距離と前記移動体から第2の位置までの第2の距離との比率、及び前記基準体の移動に基づき、前記移動体の移動を制御するための移動パラメータを生成するパラメータ生成部を、備える、
情報処理装置。
(2)
前記パラメータ生成部は、前記比率と前記基準体の移動量とを乗じて、前記移動パラメータとして前記移動体の移動量を生成する、
前記(1)に記載の情報処理装置。
(3)
前記第1の距離は、前記基準体の高度であり、
前記第2の距離は、前記移動体の高度である、
前記(1)又は(2)に記載の情報処理装置。
(4)
前記第1の位置は、前記基準体が備える第1の撮像装置の視野に含まれる第1の注視点であり、
前記第2の位置は、前記移動体が備える第2の撮像装置の視野に含まれる第2の注視点である、
前記(1)~(3)のいずれか1項に記載の情報処理装置。
(5)
前記第2の注視点は、前記第2の撮像装置により撮像された撮像対象に含まれ、
前記第1の注視点は、前記撮像対象の代替となる対象である代替対象に含まれる、
前記(4)に記載の情報処理装置。
(6)
前記第1の撮像装置が前記第1の注視点を見る方向と、前記第2の撮像装置が前記第2の注視点を見る方向と、が一致する、
前記(5)に記載の情報処理装置。
(7)
前記パラメータ生成部は、前記基準体の姿勢に応じた姿勢を前記移動体に実現させるための、第1の姿勢パラメータを生成する、
前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
前記移動体は、風景を撮像するための第3の撮像装置を備える、
前記(1)~(7)のいずれか1項に記載の情報処理装置。
(9)
前記移動体は、前記第3の撮像装置を搭載した雲台を備え、
前記パラメータ生成部は、前記雲台に前記基準体の姿勢に応じた姿勢を実現させるための第2の姿勢パラメータを生成する、
前記(8)に記載の情報処理装置。
(10)
前記移動体は、飛行体である、
前記(1)~(9)のいずれか1項に記載の情報処理装置。
(11)
前記移動パラメータに基づき、前記移動体の移動を制御する移動体制御部を、更に備える、
前記(1)~(10)のいずれか1項に記載の情報処理装置。
(12)
前記基準体は、第1の距離取得部を備え、
前記第1の距離は、前記第1の距離取得部により取得された距離である、
前記(1)~(11)のいずれか1項に記載の情報処理装置。
(13)
前記移動体は、第2の距離取得部を備え、
前記第2の距離は、前記第2の距離取得部により計測された距離である、
前記(1)~(12)のいずれか1項に記載の情報処理装置。
(14)
前記基準体と前記移動体とは、互いに離れた場所に位置し、互いに通信可能に接続される、
前記(1)~(13)のいずれか1項に記載の情報処理装置。
(15)
前記基準体は、ユーザにより持ち運ばれることにより移動する、
前記(1)~(14)のいずれか1項に記載の情報処理装置。
(16)
プロセッサが、
移動体の移動の基準となる基準体から第1の位置までの第1の距離と前記移動体から第2の位置までの第2の距離との比率、及び前記基準体の移動に基づき、前記移動体の移動を制御するための移動パラメータを生成すること、を含む、
情報処理方法。
(17)
コンピュータに、
移動体の移動の基準となる基準体から第1の位置までの第1の距離と前記移動体から第2の位置までの第2の距離との比率、及び前記基準体の移動に基づき、前記移動体の移動を制御するための移動パラメータを生成する機能、
を実現させるためのプログラム。