(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-28
(45)【発行日】2024-09-05
(54)【発明の名称】情報処理方法、情報処理装置及び情報処理システム
(51)【国際特許分類】
G05D 1/46 20240101AFI20240829BHJP
H04N 5/222 20060101ALI20240829BHJP
B64C 13/30 20060101ALI20240829BHJP
B64C 39/02 20060101ALI20240829BHJP
【FI】
G05D1/46
H04N5/222 100
B64C13/30 Z
B64C39/02
(21)【出願番号】P 2020188227
(22)【出願日】2020-11-11
【審査請求日】2023-09-25
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【氏名又は名称】朝倉 悟
(72)【発明者】
【氏名】宮田 耕自
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2012-198883(JP,A)
【文献】特表2019-507924(JP,A)
【文献】中国特許出願公開第111279285(CN,A)
【文献】国際公開第2020/031812(WO,A1)
【文献】特表2009-515771(JP,A)
【文献】特表2019-511044(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/46
H04N 5/222
B64C 13/30
B64C 39/02
(57)【特許請求の範囲】
【請求項1】
XYZ軸により構成される空間を移動する移動体のZ軸方向の速度を指示した第3情報に基づき、前記移動体をZ軸方向に移動させ、
前記移動体のX軸方向及びY軸方向の速度を指示した第1情報と、
前記移動体の角速度を指示した第2情報と
、
前記第3情報と、
に基づき、
前記X軸方向及び前記Y軸方向の前記速度と前記Z軸方向の前記速度との合成速度の方向を接線方向とし、
前記合成速度と
、前記角速度とに応じた半径の円の中心方向の加速度を生成する
コンピュータによる情報処理方法。
【請求項2】
前記加速度は、
前記合成速度と前記角速度との積に比例した値である
請求項1に記載の情報処理方法。
【請求項3】
前記加速度に基づき、前記移動体の移動を制御する
請求項1に記載の情報処理方法。
【請求項4】
前記加速度で前記移動体を移動させるために必要な前記移動体の推力と前記移動体の姿勢とを算出し、算出した前記推力と前記姿勢とに基づいて、前記移動体の移動を制御する
請求項3に記載の情報処理方法。
【請求項5】
前記加速度に基づいて、前記移動体の移動を制御する第1モードと、
前記第1情報と前記第2情報とに基づいて、前記移動体の移動を制御する第2モードと、
を切り替える
請求項1に記載の情報処理方法。
【請求項6】
前記加速度を目標加速度として前記移動体に付与する加速度を時間に応じて増加させる
請求項1に記載の情報処理方法。
【請求項7】
前記加速度の付与を停止する場合、前記移動体に付与する加速度を時間に応じて低下させる
請求項6に記載の情報処理方法。
【請求項8】
前記加速度の付与を停止する場合の単位時間当たりの加速度の変化量の絶対値は、前記加速度を付与する場合の前記加速度の変化量の絶対値よりも大きい
請求項7に記載の情報処理方法。
【請求項9】
前記円の軌道の全部又は一部及び円の中心の少なくとも一方を表示装置に表示する
請求項1に記載の情報処理方法。
【請求項10】
前記移動体は、飛行体である
請求項1~
9のいずれか一項に記載の情報処理方法。
【請求項11】
XYZ軸により構成される空間を移動する移動体のZ軸方向の速度を指示した第3情報に基づき、前記移動体をZ軸方向に移動させ、
前記移動体のX軸方向及びY軸方向の速度を指示した第1情報と、
前記移動体の角速度を指示した第2情報と
、
前記第3情報と、
に基づき、
前記X軸方向及び前記Y軸方向の前記速度と前記Z軸方向の前記速度との合成速度の方向を接線方向とし、
前記合成速度と
、前記角速度とに応じた半径の円の中心方向の加速度を生成する制御部
を備えた情報処理装置。
【請求項12】
XYZ軸により構成される空間を移動する移動体と、
前記移動体のZ軸方向の速度を指示した第3情報を取得し、また、前記移動体の
X軸方向及びY軸方向の速度を指示した第1情報と、前記移動体の角速度を指示した第2情報
とを取得する取得部と、
前記第3情報を送信し、また前記第1情報と前記第2情報とを送信する送信部と、を含む操作端末と、
を備え、
前記移動体は、
前記第3情報を受信し、また前記第1情報と前記第2情報とを受信する受信部と、
前記第3情報に基づき前記移動体を前記Z軸方向に移動させ、また、前記第1情報と前記第2情報と
前記第3情報とに基づき、
前記X軸方向及び前記Y軸方向の前記速度と前記Z軸方向の前記速度との合成速度の方向を接線方向とし、
前記合成速度と
、前記角速度とに応じた半径の円の中心方向の加速度を生成し、前記加速度に基づき前記移動体の移動を制御する制御部と、を含む、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理方法、情報処理装置及び情報処理システムに関する。
【背景技術】
【0002】
空撮などに使用されるマルチコプター等の飛行体による撮影法として、衛星軌道のように被写体を中心に円状に旋回(円旋回飛行)させる撮影法がある。この撮影法は、操縦者に求められる技量が高く、難易度が高い。よって、円旋回飛行の自動化の要求は強かった。
【0003】
円旋回飛行を実現する技術として、中心点と半径を指定、あるいは速度と半径を指定することによって、指定された軌道に沿って飛行体を飛行させるものがあった。しかしながら、飛行体の標準的な操縦方法は速度と角速度を指定するものであり、中心点を指定することは困難であった。また、半径を指定する場合も、角速度を指定する場合との操縦性の違いが大きな問題となることがあった。例えば、半径の入力が0の場合(スティックがニュートラルの状態)飛行体が回転しない(半径が無限大)と仮定し、スティックを傾ける量(操作量)が大きいほど回転の半径が小さくなるとする。操作者は小さい円の軌道でマルチコプターを旋回させたい場合、スティックの操作量を感覚的に少なくしたくなる。しかしながら、実際にはスティックの操作量が少ないと、半径が大きくなるため、飛行体が旋回し始めると、巨大な円軌道を旋回する。特に飛行体の速度が遅い場合には、操縦者は小さい軌道を意図していることが多く、この場合、違和感が特に大きくなり、危険である。
【先行技術文献】
【特許文献】
【0004】
【文献】特開昭62-221996号公報
【文献】特表2009-515771号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、飛行体に円旋回を容易に行わせることを可能にする情報処理方法、情報処理装置及び情報処理システムを提供する。
【課題を解決するための手段】
【0006】
本開示の情報処理方法は、コンピュータにより、移動体の速度を指示した第1情報と、前記移動体の角速度を指示した第2情報とに基づき、前記速度の方向を接線方向とし、前記速度と前記角速度とに応じた半径の円の中心方向の加速度を生成する。
【0007】
本開示の情報処理装置は、移動体の速度を指示した第1情報と、前記移動体の角速度を指示した第2情報とに基づき、前記速度の方向を接線方向とし、前記速度と前記角速度とに応じた半径の円の中心方向の加速度を生成する制御部を備える。
【0008】
本開示の情報処理システムは、
移動体と、
前記移動体の速度を指示した第1情報と、前記移動体の角速度を指示した第2情報を取得する取得部と、前記第1情報と前記第2情報とを送信する送信部と、を含む操作端末と、
を備え、
前記移動体は、
前記第1情報と前記第2情報とを受信する受信部と、
前記第1情報と前記第2情報とに基づき、前記速度の方向を接線方向とし、前記速度と前記角速度とに応じた半径の円の中心方向の加速度を生成し、前記加速度に基づき前記移動体の移動を制御する制御部と、を含む。
【図面の簡単な説明】
【0009】
【
図1】本開示の実施形態に係る通信システムのブロック図。
【
図2】コントローラにおける操作部の構成例を示す外観平面図。
【
図3】ユーザが指示した速度と角速度に応じた軌道で飛行体を円旋回させる例を示す図。
【
図4】飛行体を円軌道に沿って移動させる推進力(プロペラ推力)を生成する例を示す図。
【
図5】コントローラの表示部に表示された円旋回の軌道を示す図。
【
図6】本実施形態に係る飛行体の制御部の動作の一例を示すフローチャート。
【
図7】変形例1に係る飛行体の制御部の動作の一例を示すフローチャート。
【
図8】中心方向加速度を段階的に増加又は減少させる例を示す図。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本開示の実施形態について説明する。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなす。
【0011】
図1は、本開示の実施形態に係る通信システムのブロック図である。
図1の通信システムは、飛行体(飛行装置)100と、コントローラ200とを備えている。飛行体100は、一例として複数のプロペラを備えたマルチコプターである。飛行体100は、ドローン(無人航空機)でも、有人航空機でもよい。飛行体100は本実施形態に係る移動体の一例であり、本実施形態に係る移動体は、ロボット無人搬送車、又は自動運転車など、リモート操作可能であれば、飛行体以外の移動体でもよい。飛行体100とコントローラ200は双方向に通信可能である。コントローラ200はユーザにより操作されるリモートコントローラ(プロポとも呼ばれる)である。
【0012】
飛行体100は、複数のプロペラ(ロータ)をモータにより駆動することにより飛行可能である。飛行体100は、ユーザにより操作されるコントローラ200と無線通信し、コントローラ200の制御の下、コントローラ200で指定された経路に沿って飛行を行う。
【0013】
飛行体100は、情報処理装置101と、N個の駆動部170_1~170_Nと、N個のモータ171_1~171_Nと、N個のプロペラ(ロータ)172_1~172_Nとを備えている。情報処理装置101は、制御部110、センサ部120、通信部140、記憶部150、及びカメラ160を備えている。図の例では駆動部、モータ、及びプロペラの組がN個設けられている。Nの値は、1以上の任意の整数でよい。一例としてNの値は4である。
【0014】
駆動部170_1~170_Nを区別しないときは駆動部170_1~170_Nをまとめて駆動部170と記載する。モータ171_1~171_Nを区別しないときはモータ171_1~171_Nをまとめてモータ171と記載する。プロペラ172_1~172_Nを区別しないときはプロペラ172_1~172_Nをまとめてプロペラ172と記載する。
【0015】
カメラ160は、飛行体100が飛行する空間における検出範囲(撮像範囲)をセンシングし、輝度値(階調値とも呼ばれる)を含む画像データを取得する。カメラ160は、取得した画像データを時刻に関連づけて記憶部150に格納する。カメラ160は、取得した画像データを、制御部110に提供してもよい。画像データは、静止画像または動画像である。カメラ160は、一例としてRGBカメラ、又は赤外線カメラ等である。撮像素子は、例えば、CCD(Charge Coupled Device)イメージセンサ又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等である。カメラ160の台数は1つでも、複数でもよい。カメラ160の位置及び姿勢は固定でもよいし、制御部110によってカメラ160の位置及び姿勢が可変であってもよい。カメラ160としてデプスカメラを用いてもよい。デプスカメラはデプス値(距離値)を含む画像データをセンシングにより取得する。
【0016】
プロペラ172_1~172_Nは、回転により揚力を生じさせることで飛行体100を飛行させる。プロペラ172_1~172_Nはモータ171_1~171_Nにより回転させられる。モータ171_1~171_Nは、モータ軸を回転させることで、プロペラ172_1~172_Nを回転させる。モータ171_1~171_Nは駆動部170_1~170_Nによって駆動される。駆動部170_1~170_Nは、制御部110によって指定された回転数でプロペラ172_1~172_Nを回転させるようモータ171_1~171_Nを駆動する。駆動部は、一例としてESC(Electric Speed Controller)である。
【0017】
制御部110は、飛行体100の動作を制御する。制御部110は、センサ部120、通信部140、記憶部150、カメラ160及び駆動部170を制御する。
【0018】
制御部110は、駆動部170を介してモータ171の回転速度を制御することによりプロペラ172の回転速度を調整する。制御部110は、プロペラ172の回転速度を調整することで、飛行体100の姿勢を調整し、任意の方向及び任意の速度で飛行体100を移動させることができる。
【0019】
制御部110は、飛行の間、カメラ160を制御する。例えば制御部110は、一定のサンプリング間隔ごとにカメラ160で撮像を行うよう制御する。また、制御部110は、通信部140を介して、ユーザのコントローラ(リモコン)200との間の情報又はデータの送受信を制御する。
【0020】
制御部110は、コントローラ200から与えられる指示データに基づき飛行を制御する。制御部110は、指示データで指定された経路に沿って、飛行体100を飛行させるよう制御する。
【0021】
通信部140は、ユーザの保持するコントローラ200の通信部240と無線通信を行うことにより、情報又はデータの送受信を行う。無線通信の方式は任意でよい。一例として、IEEE802.11規格、IEEE802.15.1規格、その他の規格によるものでもよい。無線通信に使用する周波数帯域は、例えば2.4GHz帯、5GHz帯、又はその他の周波数帯域である。
【0022】
通信部140は、一例として、飛行に関する指示データを、コントローラ200から受信する。通信部140は、指示データを制御部110に提供する。制御部110は、指示データに従って飛行を行うよう制御する。
【0023】
センサ部120は、飛行体100の状態を取得する1つ又は複数のセンサを備えている。センサの例は、GPS(GlobalPositioningSystem)、ビジョンセンサ、IMU(Inertial Measurement Unit)、加速度センサ、方位センサ(ジャイロセンサ、GPSコンパス又は電子コンパスなど)、3軸の磁気センサ、超音波センサ、及び気圧センサなどを含む。
【0024】
制御部110は、センサ部120を用いて、飛行体100の位置及び速度を検出する。制御部110は、飛行体100の位置を検出する位置検出部と、飛行体100の速度を検出する速度検出部を含む。制御部110は、一例としてGPSを用いて位置及び速度を検出する。制御部110は、検出した位置及び速度の情報を時刻に関連づけて記憶部150に格納してもよい。
【0025】
飛行体100の位置は、GPS等により取得した緯度と経度による位置でもよい。GPS等により取得した緯度と経度による位置を、予め定めた座標系の位置に変換してもよい。予め定めた座標系は、例えば、(X,Y,Z)=(7.3m、4.1m、15.8m)のような、コントローラ200等の位置を原点又は所定の位置とした3軸の座標系(XYZの座標系)である。
【0026】
飛行体100の位置及び速度を検出する方法はGPSを用いた方法に限定されず、例えば、ビジョンセンサを用いてもよい。この場合、例えば、飛行体100を、所定のパターンの模様の地表上で飛行させる。ビジョンセンサが撮像装置を用いて地表を撮像し、撮像した画像を所定のパターンと比較し、飛行体100の位置及び速度を検出する。制御部110はビジョンセンサで検出された位置及び速度を取得する。
【0027】
また制御部110は、センサ部120を用いて、飛行体100の姿勢を検出する。姿勢の検出には、一例としてIMU(Inertial Measurement Unit)を用いることができる。IMUは、一例としてジャイロセンサと加速度センサとを含む。ジャイロセンサは、基準軸に対する3軸の角速度を検出する。加速度センサは、基準軸に対する3軸の加速度を検出する。検出した角速度と加速度を累積加算することで姿勢を検出する。制御部110は、検出した飛行体100の姿勢を表す情報を時刻に関連付けて記憶部150に格納してもよい。制御部110は、検出した加速度及び角速度を時刻に関連付けて記憶部150に格納してもよい。
【0028】
制御部110は、ソフトウェア、ハードウェア又はこれらの両方によって構成される。一例として制御部110はCPU(Central Processing Unit)等のプロセッサを含むコンピュータによって構成されてもよい。プロセッサにプログラムを実行させることで制御部110の機能を実現してもよい。
【0029】
なお飛行体100は、飛行体100内の各要素を動作させるための電力エネルギーを蓄えたバッテリ(図示せず)を備えている。バッテリは、放電のみが可能な一次電池でも、充放電可能な二次電池であってもよい。
【0030】
記憶部150は、制御部110により取得された姿勢(加速度、角速度)、制御部110により取得された位置及び速度、カメラ160により取得された画像データ等を格納する。
【0031】
記憶部150は、飛行体100の属性及び性能に関する情報を記憶していてもよい。例えば、機体ID(通信用のアドレスでもよい)、カメラ160の位置及び個数、カメラ160の撮像範囲(例えば画角)、カメラ160のパラメータ情報、制動性能又は小回り性能等の情報がある。
【0032】
記憶部150にプロセッサに実行させるプログラムが格納されていてもよい。記憶部150は、一例としてメモリ、ハードディスク、光ディスク等の任意の記録媒体により構成される。メモリはRAM等の揮発性メモリでも、フラッシュメモリ等の不揮発性メモリでもよい。
【0033】
図1のコントローラ200は、制御部210、表示部220、操作部230、通信部240及び記憶部250を備えている。コントローラ200は、飛行体100の遠隔操作が可能な装置として機能する。ユーザは、コントローラ200を用いることで、飛行体100の離陸、飛行、着陸を制御することができる。
【0034】
通信部240は、飛行体100の通信部140と無線通信を行うことにより、情報又はデータの送受信処理を行う。無線通信の方式は任意でよい。一例として、IEEE802.11規格、IEEE802.15.1規格、その他の規格によるでもよい。無線通信に使用する周波数帯域は、一例として、2.4GHz帯、5GHz帯、その他の周波数帯域である。
【0035】
制御部210は、コントローラ200の動作を制御する。制御部210は、飛行体100の飛行に関する指示データを生成する。制御部210は、操作部230に対するユーザの操作に基づき、飛行体100の飛行に関する指示データを生成する。また、制御部210は、飛行体100に備えられたカメラ160での画像の撮像を制御するための指示データを生成してもよい。制御部210は、通信部240を介して、制御部210によって生成された指示データを送信する。通信部240は、制御部210から指示データを取得し、指示データを飛行体100に送信する。
【0036】
制御部210は、飛行体100との情報又はデータの送受信を制御する。一例として、制御部210は、飛行体100から、飛行体100のカメラ160、センサ部120及び制御部110の少なくともいずれか1つで検出された情報又はデータを取得してもよい。
【0037】
制御部210は、ソフトウェア、ハードウェア又はこれらの両方によって構成される。一例として制御部210はCPU(Central Processing Unit)等のプロセッサを含むコンピュータによって構成されてもよい。プロセッサにプログラムを実行させることで制御部210の機能を実現してもよい。
【0038】
記憶部250は、飛行体100から受信した情報及びデータ等を記憶する。また記憶部250にプロセッサに実行させるプログラムが格納されていてもよい。記憶部250は、一例としてメモリ、ハードディスク、光ディスク等の任意の記録媒体により構成される。メモリは揮発性メモリでも、不揮発性メモリでもよい。
【0039】
表示部220は、例えば液晶表示装置、有機EL表示装置等の表示装置である。表示部220は、例えば、カメラ160が撮像した画像データや、飛行体100の動作状態を表す情報を表示する。表示部220がタッチパネルを備えていてもよい。タッチパネルによって操作部230の機能を実現してもよい。この場合、ユーザは、タッチパネルで飛行体の飛行を制御する。
【0040】
コントローラ200は、コントローラ200を動作させるための電力を蓄えるバッテリ(図示せず)を備えている。バッテリは、放電のみが可能な一次電池であってもよく、充電も可能な二次電池であってもよい。
【0041】
図1の例では、表示部220がコントローラ200と一体に形成されているが、表示部220がコントローラ200に脱着可能であり、表示部220がコントローラに外付けされてもよい。また制御部210がコントローラ200と一体に形成されているが、制御部210がコントローラ200に脱着可能であり、制御部210がコントローラに外付けされてもよい。この場合、制御部210は例えばスマートフォン、パーソナルコンピュータ(PC)、タブレット端末等の情報処理端末(情報処理装置)によって構成されてもよい。情報処理端末は操作部230と有線又は無線で接続されてもよい。また情報処理端末の表示部がタッチパネルを備えている場合、タッチパネルによって操作部230の機能を実現してもよい。情報処理端末がインターネット等のクラウドに配置されていてもよい。
【0042】
図2は、コントローラ200における操作部230の構成例を概略的に示す外観平面図である。操作部230は、左スティック231と、右スティック232とを含む。その他、操作部230は、電源のオンオフボタン、各種設定用のボタンなどの部品を含んでいてもよい。左スティック231を上又は下に傾けると、飛行体100は上昇又は下降し、傾ける量(操作量)が大きいほど、上昇速度又は下降速度が大きくなる。左スティック231を右又は左に傾けると、飛行体100を上下方向に貫通する仮想的な軸を基準として、右回りの回転角速度又は左周りの回転角速度を付与する。上下方向は、一例としてXYZ軸により構成される空間を飛行体100が移動する場合にZ軸方向に対応する。傾ける量(操作量)が大きいほど、付与する回転角速度の絶対値が大きくなる。左スティック231は上下左右方向の4方向のみならず、360°任意の方向に傾けることが可能でもよい。これにより上昇又は下降の速度と、右又は左周りの回転角速度を同時に指定することができる。
【0043】
右スティック232を上又は下に傾けると、XY平面に沿って飛行体100は前又は後ろに移動する。傾ける量(操作量)が大きいほど、前又は後ろへの移動速度が大きくなる。右スティック232を左又は右に傾けると、XY平面に沿って飛行体100は左又は右に移動する。傾ける量(操作量)が大きいほど、左又は右への移動速度が大きくなる。右スティック232は上下左右方向の4方向のみならず、360°任意の方向に傾けることが可能でもよい。この場合、右スティック232の上下左右の合成である2次元ベクトルで速度を指示することが可能である。
【0044】
本実施形態は、ユーザが円旋回の開始指示として、速度の指示と角速度の指示を操作部230から入力し、飛行体100の制御部110は、指示された速度と角速度に応じた円軌道で、飛行体100を旋回させる。これによりユーザは、円の半径及び中心点等を指定する必要は無く、飛行体100の操作用の通常のリモコン(プロポ)を用いて、飛行体100を所望の軌道で円旋回させることができる。
【0045】
図3は、ユーザが指示した速度と角速度に応じた軌道で飛行体100を円旋回させる例を示す。ユーザは操作部230を操作して、速度の指示と加速度の指示を同時に入力する。同時に入力された速度の指示と加速度の指示の組は、円旋回の指示として機能する。ユーザは円旋回を指示する間、入力した速度及び加速度の位置で左スティック231及び右スティック232を保持する。制御部110は、コントローラ200から速度の指示データと、角速度の指示データとを、円旋回の開始指示データとして受信する。
【0046】
制御部110は、指示された速度を円軌道の接線方向の速度と解釈する。また制御部110は、指示された角速度が示す方向(右方向又は左方向)を円旋回の方向とし、角速度の値を円旋回の速度(円軌道に沿って移動する速度)と解釈する。
【0047】
制御部110は、接線方向から回転方向に従って90°回転した方向を回転中心方向D1とする。制御部110は、飛行体100を回転中心方向D1に移動するために必要な加速度(中心方向加速度)を取得する。すなわち、制御部110は、速度の方向を接線方向とし、速度と角速度とに応じた半径の円の中心方向の加速度を取得する。
【0048】
加速度は、接線方向の速度と回転速度の積に比例し、a=v*ωと表される。aは加速度、rは速度、ωは角速度である。制御部110は、指示された速度と、指示された角速度の積に基づき、角速度を取得する。等速円運動に必要な加速度aは、円軌道の半径をr、角速度をωとするとa=r*ω^2で表される。また円軌道の接線方向の速度をvとするとω=v/rであることからr=v/ωとなる。よって、a=v*ωと表される。すなわち、半径rを必要とせず、速度と角速度のみから、円旋回に必要な加速度を求めることができる。
【0049】
速度と角速度とを加速度(中心方向加速度)に対応付けたルックアップテーブルを記憶部150に格納しておき、制御部110はルックアップテーブルに基づいて加速度を求めてもよい。あるいは、速度と角速度を入力変数とし、加速度を出力変数とする関数を記憶部150に格納しておき、制御部110は関数に基づいて加速度を算出してもよい。
【0050】
制御部110は、取得した加速度に基づき、飛行体100を円軌道に沿って移動させる推進力(プロペラ推力)を制御する。
【0051】
図4は、飛行体100を円軌道に沿って移動させる推進力(プロペラ推力)を生成する例を示す。空気抵抗G1に対して進行方向への飛行するための推進力をP1、重力G2に対して空中に止まるための揚力をP2、遠心力G3に対して回転に必要な中心加速度を生成するための中心加速力をP3とする。制御部110は、P1~P3を合成したプロペラ推力P4を、P1~P3を合成した方向へ与えるように、飛行体100の姿勢を求め、プロペラ172_1~172_4の回転数を制御する。つまりプロペラ推力P4を得るために必要な飛行体100の姿勢とプロペラ172_1~172_4の回転数とを求め、当該回転数でモータ軸を回転させることで、プロペラ推力P4で飛行体100を移動させる。これにより、飛行体100を円軌道に沿って移動させることができる。
【0052】
図2の例の操作部230を用いて、例えばXY平面に平行に(水平方向に)飛行体100を右方向に円旋回させる場合を考える。このとき、左スティック231を右側に所望の操作量で倒して角速度を指定し、右スティック232を所望の方向に所望の操作量で倒して速度を指定する。XYZ空間で任意の方向に飛行体100を円旋回させる場合は、左スティック231の上下でZ軸方向の速度成分を指定し、右スティック232の上下左右でXY軸方向の速度成分をそれぞれ指定する。X、Y、Zの速度成分の合成ベクトルによって、速度を指定することができる。
ユーザは、円旋回の間、操作部230を操作することで、円旋回させる円の大きさを変更することができる。例えばr=v/wの関係から、速度vを大きくすると円が大きくなり、角速度wを大きくすると円が小さくなる。ユーザは飛行体100の状態を確認しながら、円のサイズを変えることできる。また、速度vと角速度wの調整することで、同じ円のサイズで速度を早くすることもできる。
【0053】
ユーザは円旋回の指示を停止する場合は、一例として、操作部230で速度及び加速度の少なくとも一方をゼロにすればよい。すなわち、左スティック231及び右スティック232の少なくとも一方をニュートラルにすればよい。但し、円旋回の停止を指示するボタンを操作部230に設け、ボタンの押下により円旋回の終了を指示してもよい。あるいは、左スティック231及び右スティック232を予め決めた特定の位置にそれぞれ傾けることで、円旋回の終了を指示してもよい。その他の方法で円旋回の終了を指示してもよい。
【0054】
制御部110は、コントローラ200から指示された速度vと角速度wとに基づき半径r(=v/w)の円と、円の中心点とを生成し、当該中心点を中心とする円のデータを飛行体100の旋回軌道として生成してもよい。また制御部110は、旋回方向(右又は左の回転方向)を示す情報を生成してもよい。制御部110は、円のデータ及び旋回方向の情報をコントローラ200に送信し、コントローラ200の表示部220に円のデータ及び旋回方向の情報を表示してもよい。制御部210が情報処理端末である場合、情報処理端末の表示部に円のデータ等を表示してもよい。
【0055】
図5は、コントローラ200の表示部220に表示された円旋回の軌道221の例を示す。円の中心点222と、旋回方向を示す情報223とが示されている。軌道221及び中心点222は、カメラ160の撮像した画像に重畳して表示してもよい。
図5の例では軌道221の全部が表示されているが、軌道221の一部が表示されてもよい。ユーザは表示部220を見ることで、飛行体100が円旋回している地理上の位置を具体的に確認できる。
【0056】
図6は、本実施形態に係る飛行体100の制御部110の動作の一例を示すフローチャートである。制御部110は、コントローラ200から速度vの指示と角速度wの指示とを含む円旋回の開始指示データを受信する(S101)。制御部110は、指示された速度vと角速度wとに基づき、中心方向の加速度aを取得する(S102)。速度vと角速度wとの積を計算してもよいし、速度vと角速度wとからルックアップテーブルを参照して角速度aを取得してもよい。制御部110は、取得した加速度aを飛行体100に発生させるために必要な推力(プロペラ推力)P4を算出し、算出した推力P4を得るために必要な飛行体100の姿勢を算出する(S103)。そして、制御部110は、算出した姿勢で飛行体100を移動させるプロペラの回転数を算出し、算出した回転数でモータを駆動することで、飛行体100を、上記算出した推力で飛行させる。これにより、飛行体100を半径r(=v/w)の円の軌道に沿って、円旋回させることができる。
【0057】
以上、本実施形態によれば、ユーザは円の半径及び中心点を指定することなく、角速度と速度とを指定することで、飛行体100に円旋回を指示することができる。すなわちドローン等の飛行体の一般的な操作装置(プロポ)が備える角速度と速度との入力手段を用いて、簡単に円旋回を指示することができる。また、指定する角速度と速度の変更することで、飛行中に旋回する円のサイズを変更することもできる。
【0058】
(変形例1)
制御部110は、円旋回処理が有効な第1モードと、円旋回処理が無効な第2モードとを切り替え可能に構成されてもよい。コントローラ200の制御部210が第1モード又は第2モードを指定する情報をユーザの操作に基づき決定し、決定した情報を飛行体100に送信する。飛行体100の制御部110は受信した情報に基づき第1モード又は第2モードを設定する。飛行体100が第1モードのときは、制御部110はコントローラ200から速度の指示と角速度の指示と受信した場合、上述した実施形態と同様に、受信した速度の指示と角速度の指示とを円旋回の開始指示として解釈する。一方、飛行体100が第2モードのときは、制御部110は、コントローラ200から受信した速度の指示と角速度の指示とを円旋回の開始指示として解釈せず、指示された速度及び角速度で飛行体100を飛行させる。ユーザはモードを指定する操作を操作部230で行ってもよいし、表示部220がタッチパネルを備えている場合は、タッチパネルを用いて行ってもよい。
【0059】
図7は、変形例1に係る飛行体100の制御部110の動作の一例を示すフローチャートである。
図6のフローチャートにステップS201とS202が追加されている。ステップS201では制御部110が、円旋回処理が有効か否かを判断する。円旋回処理が有効なときは上述した第1実施形態と同様にステップS102、S103を実行する。円旋回処理が無効なときは、制御部110は、指示された速度及び加速度で飛行体100を飛行させる(S202)。
【0060】
(変形例2)
飛行体100の制御部110は、飛行体100を円旋回させる場合、取得した加速度(中心方向加速度)を目標値として、飛行体100の加速度を目標値まで時間に応じて増加させてもよい。例えば第1の傾きで加速度を目標値まで増加させる。また制御部110は、円旋回を停止させる場合、すなわち、中心方向加速度をゼロにする場合、ゼロの加速度を目標値として、飛行体100の加速度を時間に応じて減少させてもよい。例えば第2の傾きで加速度をゼロまで減少させる。第2の傾きの絶対値は第1の傾きの絶対値と異なっても、同じでもよい。
【0061】
図8は、中心方向加速度を段階的に増加又は減少させる例を示す。飛行体100の制御部110はコントローラ200から旋回開始の指示データ(角速度と速度)を受信すると、角速度と速度に基づき中心方向加速度を計算する。制御部110は中心方向加速度を目標加速度として中心方向加速度を第1の傾きH1で増加させる。第1の傾きは第1上限値以下とする。目標加速度まで一度に加速度を大きくすると、飛行体100の姿勢が急劇に変わるため、カメラ160の撮影映像の画質が劣化する可能性がある。そこで目標加速度まで飛行体100の姿勢を滑らかに変化させることで、画質の劣化を抑制できる。予め画質の劣化が抑制できる傾きの第1上限値を求めておき、第1の傾きを第1上限値以下とすることが望ましい。
【0062】
また制御部110はコントローラ200から旋回終了の指示データを受信すると、中心方向加速度をゼロまで第2の傾きH2で減少させる。第2の傾きH2の傾きの絶対値を小さくすると(傾きを緩やかにすると)、旋回が終わるまでに時間を要し、飛行体100を即時に目的の方向に移動させることができなくなる。一方、中心方向加速度を増加させるときと同様に急激に飛行体100の姿勢が変化するとカメラ160の画質に影響する。そこで、中心方向加速度を増加させる第1の傾きの絶対値よりも、中心方向加速度を減少させる第2の傾きの絶対値を大きくする。すなわち、中心方向加速度を減少させる第2の傾きの絶対値(単位時間当たりの加速度の変化量の絶対値)は、中心方向加速度を増加させる第1の傾きの絶対値(単位時間当たりの加速度の変化量の絶対値)よりも大きくする。また、中心方向加速度を減少させる第2の傾きの絶対値を、画質劣化を許容可能な第2上限値以下にする。
【0063】
(変形例3)
表示部220がタッチパネルを備えている場合、タッチパネルを用いてユーザは円旋回指示用の速度及び角速度を入力してもよい。また、コントローラ200の制御部210が情報処理端末として構成されており、情報処理端末の表示部がタッチパネルを備えている場合、タッチパネルを用いてユーザは円旋回指示用の速度及び角速度を入力してもよい。
【0064】
(変形例4)
中心方向の加速度の算出を飛行体100の制御部110ではなく、コントローラ200の制御部210が行ってもよい。この場合、コントローラ200の制御部210は、中心方向の加速度の情報を飛行体100に送信し、飛行体100の制御部110が、受信した加速度に基づき、円旋回を行うよう飛行体100の姿勢を制御してもよい。
【0065】
なお、上述の実施形態は本開示を具現化するための一例を示したものであり、その他の様々な形態で本開示を実施することが可能である。例えば、本開示の要旨を逸脱しない範囲で、種々の変形、置換、省略又はこれらの組み合わせが可能である。そのような変形、置換、省略等を行った形態も、本開示の範囲に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0066】
また、本明細書に記載された本開示の効果は例示に過ぎず、その他の効果があってもよい。
【0067】
なお、本開示は以下のような構成を取ることもできる。
[項目1]
移動体の速度を指示した第1情報と、前記移動体の角速度を指示した第2情報とに基づき、前記速度の方向を接線方向とし、前記速度と前記角速度とに応じた半径の円の中心方向の加速度を生成する
コンピュータによる情報処理方法。
[項目2]
前記加速度は、前記速度と前記角速度との積に比例した値である
項目1に記載の情報処理方法。
[項目3]
前記加速度に基づき、前記移動体の移動を制御する
項目1又は2に記載の情報処理方法。
[項目4]
前記加速度で前記移動体を移動させるために必要な前記移動体の推力と前記移動体の姿勢とを算出し、算出した前記推力と前記姿勢とに基づいて、前記移動体の移動を制御する
項目3に記載の情報処理方法。
[項目5]
前記加速度に基づいて、前記移動体の移動を制御する第1モードと、
前記第1情報と前記第2情報とに基づいて、前記移動体の移動を制御する第2モードと、
を切り替える
項目1~4のいずれか一項に記載の情報処理方法。
[項目6]
前記加速度を目標加速度として前記移動体に付与する加速度を時間に応じて増加させる
項目1~5のいずれか一項に記載の情報処理方法。
[項目7]
前記加速度の付与を停止する場合、前記移動体に付与する加速度を時間に応じて低下させる
項目6に記載の情報処理方法。
[項目8]
前記加速度の付与を停止する場合の単位時間当たりの加速度の変化量の絶対値は、前記加速度を付与する場合の前記加速度の変化量の絶対値よりも大きい
項目7に記載の情報処理方法。
[項目9]
前記第1情報は前記移動体の水平方向の速度を指示し、
前記第2情報は前記移動体の水平方向の角速度を指示し、
前記加速度は前記移動体の水平方向の加速度である
項目1~8のいずれか一項に記載の情報処理方法。
[項目10]
前記円の軌道及び円の中心の少なくとも一方を表示装置に表示する
項目1~9のいずれか一項に記載の情報処理方法。
[項目11]
前記移動体は、飛行体である
項目1~10のいずれか一項に記載の情報処理方法。
[項目12]
移動体の速度を指示した第1情報と、前記移動体の角速度を指示した第2情報とに基づき、前記速度の方向を接線方向とし、前記速度と前記角速度とに応じた半径の円の中心方向の加速度を生成する制御部
を備えた情報処理装置。
[項目13]
移動体と、
前記移動体の速度を指示した第1情報と、前記移動体の角速度を指示した第2情報を取得する取得部と、前記第1情報と前記第2情報とを送信する送信部と、を含む操作端末と、
を備え、
前記移動体は、
前記第1情報と前記第2情報とを受信する受信部と、
前記第1情報と前記第2情報とに基づき、前記速度の方向を接線方向とし、前記速度と前記角速度とに応じた半径の円の中心方向の加速度を生成し、前記加速度に基づき前記移動体の移動を制御する制御部と、を含む、
情報処理システム。
【符号の説明】
【0068】
100 飛行体(飛行装置)
101 情報処理装置
110 制御部
120 センサ部
130 位置・速度検出部
140 通信部
150 記憶部
160 カメラ
170 駆動部
170_1 駆動部
170_N 駆動部
171 モータ
171_1 モータ
171_N モータ
172 プロペラ
172_1 プロペラ
172_2 プロペラ
172_3 プロペラ
172_4 プロペラ
172_N プロペラ
200 コントローラ(リモコン)
210 制御部
220 表示部
221 軌道
222 中心点
223 情報
230 操作部
231 左スティック
232 右スティック
240 通信部
250 記憶部