(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-15
(54)【発明の名称】計算されたスプラインに沿った改良された無人航空機の飛行
(51)【国際特許分類】
G05D 1/46 20240101AFI20241108BHJP
G05D 1/221 20240101ALI20241108BHJP
G05D 1/222 20240101ALI20241108BHJP
G05D 1/229 20240101ALI20241108BHJP
B64U 10/14 20230101ALI20241108BHJP
B64U 70/90 20230101ALI20241108BHJP
B64C 13/18 20060101ALI20241108BHJP
G08G 5/00 20060101ALI20241108BHJP
【FI】
G05D1/46
G05D1/221
G05D1/222
G05D1/229
B64U10/14
B64U70/90
B64C13/18 Z
G08G5/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024531341
(86)(22)【出願日】2022-11-23
(85)【翻訳文提出日】2024-07-23
(86)【国際出願番号】 US2022080412
(87)【国際公開番号】W WO2023097263
(87)【国際公開日】2023-06-01
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-01-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-03-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-03-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520297148
【氏名又は名称】スカイディオ,インコーポレイテッド
【氏名又は名称原語表記】SKYDIO,INC.
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】シャー,サウミャ プラヴィンドハイ
(72)【発明者】
【氏名】ボードワン-ラフォン,マシュー トーマス
(72)【発明者】
【氏名】ホルツ,クリステン マリー
(72)【発明者】
【氏名】フェランディーニ,ジェームス アンソニー
(72)【発明者】
【氏名】マーティロスヤン,ハイク
(72)【発明者】
【氏名】ドナホー,マシュー ジョセフ
(72)【発明者】
【氏名】ウッド,チャールズ ヴァンスホーンホーフェン
(72)【発明者】
【氏名】ケリー,クララ
(72)【発明者】
【氏名】ブリー,アダム パーカー
(72)【発明者】
【氏名】チュー,ジャック ルイス
【テーマコード(参考)】
5H181
5H301
【Fターム(参考)】
5H181AA26
5H181BB04
5H181BB05
5H181BB13
5H181CC04
5H181CC17
5H181CC27
5H181FF04
5H181FF10
5H181FF13
5H181FF22
5H181FF27
5H181FF32
5H181FF40
5H181JJ28
5H181LL09
5H301AA06
5H301BB20
5H301CC04
5H301CC07
5H301CC10
5H301DD01
5H301DD06
5H301DD07
5H301DD15
5H301FF11
5H301GG09
5H301GG17
5H301KK03
5H301KK08
5H301KK09
5H301KK10
5H301QQ04
(57)【要約】
飛行中の修正も許容しながら、UAVを計算されたスプラインに沿って飛行させる、無人航空機、UAV(101)を動作させるための技術が本明細書に開示される。様々な実装形態では、UAVは、飛行制御サブシステム(124)および電気機械サブシステム(126)を含む。飛行制御サブシステム(124)は、飛行中にキーフレームを記録し、キーフレームに基づいてスプラインを計算する。次いで、飛行制御サブシステム(124)は、再生のために計算されたスプラインを保存し、その時点でUAVが計算されたスプラインに従って自動的に飛行する。
【特許請求の範囲】
【請求項1】
無人航空機であって、
飛行制御サブシステムと、
前記飛行制御サブシステムと結合され、該飛行制御サブシステムによって指示されたように前記無人航空機を飛行させるように構成された電気機械サブシステムと、
を備え、
前記飛行制御サブシステムは、
前記無人航空機の1回以上の飛行中にキーフレームを記録し、
前記キーフレームのうちの少なくとも1つ以上に基づいてスプラインを計算し、
前記無人航空機を飛行させるときに再生のために前記スプラインを保存する
ように構成されている、無人航空機。
【請求項2】
前記飛行制御サブシステムは、1回以上の後の飛行中に計算されたスプラインに基づいて前記無人航空機を飛行させるように前記電気機械サブシステムに指示するようにさらに構成される、請求項1に記載の無人航空機。
【請求項3】
前記1回以上の後の飛行中に、前記飛行制御サブシステムは、
ユーザ入力を受信し、
少なくとも前記ユーザ入力に基づいて前記計算されたスプラインを修正し、結果的に前記計算されたスプラインの修正バージョンをもたらし、
後の再生のために前記計算されたスプラインの前記修正バージョンを保存する
ようにさらに構成される、請求項2に記載の無人航空機。
【請求項4】
前記ユーザ入力は、前記計算されたスプラインの1つ以上の構成要素への変更のうちの1つ以上を含み、前記計算されたスプラインの前記1つ以上の構成要素は、前記計算されたスプラインに沿った前記無人航空機の位置、方向、速度、および配向のうちの1つ以上を含む、請求項3に記載の無人航空機。
【請求項5】
前記計算されたスプラインの前記1つ以上の構成要素は、前記無人航空機に対するカメラ焦点距離およびカメラ配向のうちの1つ以上をさらに含む、請求項4に記載の無人航空機。
【請求項6】
前記ユーザ入力は、前記無人航空機を前記計算されたスプラインに対して順不同で前記計算されたスプライン上の新しい位置に直接スナップすること、のうちの少なくとも1つを含む、請求項4に記載の無人航空機。
【請求項7】
前記ユーザ入力は、前記計算されたスプラインに沿った現在の方向に対して前記計算されたスプラインに沿った方向を反転させることを含む、請求項4に記載の無人航空機。
【請求項8】
前記ユーザ入力は、前記計算されたスプライン上の点でホバリングすることを含む、請求項4に記載の無人航空機。
【請求項9】
前記飛行制御システムは、前記計算スプラインの修正バージョンをリモート記憶場所にアップロードするようにさらに構成される、請求項4に記載の無人航空機。
【請求項10】
前記1回以上の後の飛行は、ドックから離脱し、ドックに到着することを含む、請求項4に記載の無人航空機。
【請求項11】
計算装置であって、
1つ以上のコンピュータ可読記憶媒体と、
前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令であって
1つ以上のプロセッサによって実行されると、無人航空機の飛行制御サブシステムに、少なくとも
前記無人航空機の1回以上の飛行中にキーフレームを記録し、
前記キーフレームのうちの少なくとも1つ以上に基づいてスプラインを計算し、
前記無人航空機を飛行させるときに再生のために前記スプラインを保存する
ように指示するプログラム命令と、
を備える計算装置。
【請求項12】
前記プログラム命令は、1回以上の後の飛行中に計算された脊柱に基づいて前記無人航空機を飛行させるように前記無人航空機の電気機械サブシステムに指示するように前記飛行制御サブシステムにさらに指示する、請求項11に記載の計算装置。
【請求項13】
前記1回以上の後の飛行中に、前記プログラム命令は前記飛行制御サブシステムに、
ユーザ入力を受信し、
少なくとも前記ユーザ入力に基づいて前記計算されたスプラインを修正し、結果的に前記計算されたスプラインの修正バージョンをもたらし、
後の再生のために前記計算されたスプラインの前記修正バージョンを保存する
ようにさらに指示する、請求項12に記載の計算装置。
【請求項14】
前記ユーザ入力は、前記計算されたスプラインの1つ以上の構成要素への変更のうちの1つ以上を含み、前記計算されたスプラインの前記1つ以上の構成要素は、前記計算されたスプラインに沿った前記無人航空機の位置、方向、速度、および配向のうちの1つ以上を含む、請求項13に記載の計算装置。
【請求項15】
前記計算されたスプラインの前記1つ以上の構成要素は、前記無人航空機に対するカメラ焦点距離およびカメラ配向のうちの1つ以上をさらに含む、請求項14に記載の計算装置。
【請求項16】
前記ユーザ入力は、前記無人航空機を前記計算されたスプラインに対して順不同で前記計算されたスプライン上の新しい位置に直接スナップすること、のうちの少なくとも1つを含む、請求項14に記載の計算装置。
【請求項17】
前記ユーザ入力は、前記計算されたスプラインに沿った現在の方向に対して前記計算されたスプラインに沿った方向を反転させることを含む、請求項14に記載の計算装置。
【請求項18】
前記ユーザ入力は、前記計算されたスプライン上の点でホバリングすることを含む、請求項14に記載の計算装置。
【請求項19】
前記飛行制御システムは、前記計算スプラインの修正バージョンをリモート記憶場所にアップロードするようにさらに構成される、請求項14に記載の計算装置。
【請求項20】
無人航空機を動作させる方法であって、該方法は、
前記無人航空機の飛行制御サブシステムにおいて、
前記無人航空機の1回以上の飛行中にキーフレームを記録するステップと、
前記キーフレームのうちの少なくとも1つ以上に基づいてスプラインを計算するステップと、
前記無人航空機を飛行させるときに再生のために前記スプラインを保存するステップと
を含む方法。
【請求項21】
無人航空機であって、
飛行制御サブシステムと、
前記飛行制御サブシステムと結合され、該飛行制御サブシステムによって指示されたように前記無人航空機を飛行させるように構成された電気機械サブシステムと、
を備え、
前記飛行制御サブシステムは、
前記無人航空機が飛行するスプラインを計算し、
前記計算されたスプラインに沿って前記無人航空機を飛行させている間に、該無人航空機から離れた制御デバイスから入力を受信し、前記入力はジョイスティックデータを含み、
少なくとも前記ジョイスティックデータと、前記計算されたスプラインへの修正に関連する1つ以上の管理要因とに基づいて、前記計算されたスプラインへの修正を計算し、
少なくとも前記計算されたスプラインへの修正に基づいて前記ドローンを飛行させるように前記電気機械サブシステムに指示する
ように構成されている、無人航空機。
【請求項22】
前記ジョイスティックデータは、前記計算されたスプラインからの離脱を示し、前記修正は、前記計算されたスプラインから離脱する経路を含む、請求項21に記載の無人航空機。
【請求項23】
前記ジョイスティックデータは、前記計算されたスプラインへの復帰を示し、前記計算されたスプラインへの修正は、該計算されたスプラインに復帰する経路を含む、請求項22に記載の無人航空機。
【請求項24】
前記1つ以上の管理要因は、前記ジョイスティックデータに適用される減衰機能を含む、請求項21に記載の無人航空機。
【請求項25】
前記減衰機能は、前記計算されたスプラインへの修正が該計算されたスプラインの周りの飛行エンベロープを越えるのを防止する、請求項24に記載の無人航空機。
【請求項26】
前記1つ以上の管理要因は、前記ジョイスティックデータに適用される物体回避機能を含む、請求項21に記載の無人航空機。
【請求項27】
前記飛行制御サブシステムはオートパイロットシステムを含み、前記計算されたスプラインへの修正を計算するために、前記オートパイロットシステムは、前記ジョイスティックデータおよび前記1つ以上の管理要因に基づいて修正されたジョイスティックデータを計算するように構成される、請求項21に記載の無人航空機。
【請求項28】
前記飛行制御サブシステムは、前記オートパイロットシステムに結合された飛行コントローラをさらに含み、少なくとも前記計算されたスプラインへの修正に基づいて前記ドローンを飛行させるように前記電気機械サブシステムに指示するために、前記飛行コントローラは、少なくとも前記オートパイロットシステムによって計算された修正されたジョイスティックデータに基づいて前記電気機械サブシステムに指示するように構成される、請求項27に記載の無人航空機。
【請求項29】
前記計算されたスプラインは、経路に沿った点のセットと、前記点のセットの各点における飛行パラメータとを含み、前記計算されたスプラインへの修正は、前記経路から外れた新しい点のセットと、前記新しい点のセットの各点における新しい飛行パラメータとを含む、請求項21に記載の無人航空機。
【請求項30】
前記飛行パラメータは、前記無人航空機の位置および配向を含み、前記新しい飛行パラメータは、前記無人航空機の新しい位置および新しい配向のうちの1つ以上を含む、請求項29に記載の無人航空機。
【請求項31】
航空機を制御するための方法であって、該方法は、
ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスにおいてグラフィカルユーザインターフェース(GUI)を連続的に提示するステップであって、前記GUIは、前記航空機の視点からの物理的環境の現在のビューの表示を含み、前記ビューは、前記航空機に搭載されたセンサデバイスからのセンサデータに基づいて生成される、ステップと、
前記ユーザコンピューティングデバイスによって、前記GUIとのユーザ対話を検出するステップであって、前記ユーザ対話は、複数のキーフレームを追加する命令を含み、各キーフレームは、前記航空機の三次元空間における場所を含む、ステップと、
前記ユーザコンピューティングデバイスによって、前記航空機の視点からの前記物理的環境の現在のビューにオーバレイされたスプラインのグラフィカル表現を連続的に表示するステップであって、前記スプラインは、前記複数のキーフレームの各々の間の飛行経路を含む、ステップと
を含む方法。
【請求項32】
前記複数のキーフレームの各々は、前記センサデバイスの方向をさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項33】
前記スプラインのグラフィカル表現は、前記スプライン上に前記複数のキーフレームの場所を示すグラフィカルマーカをさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項34】
前記GUIは、前記スプラインの線形表現をさらに含み、前記スプラインの線形表現は、該スプライン上の前記複数のキーフレームの空間位置に比例して離間した前記複数のキーフレームのグラフィカルマーカ表現をさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項35】
前記ユーザ対話は、航空機速度を設定する命令をさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項36】
前記ユーザ対話は、1つ以上のキーフレームを編集および削除する命令をさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項37】
前記スプラインを非一時的コンピュータ可読記憶媒体に保存するステップをさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項38】
前記複数のキーフレームの各々は、センサデバイス焦点距離をさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項39】
前記複数のキーフレームの各々は、前進運動の前記方向に対する航空機速度および配向をさらに含む、請求項31に記載の航空機を制御するための方法。
【請求項40】
前記スプラインは、前記航空機に搭載されたコンピューティングデバイスによって生成および更新される、請求項31に記載の航空機を制御するための方法。
【請求項41】
計算装置であって、
1つ以上の非一時的コンピュータ可読記憶媒体と、
前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令であって、1つ以上のプロセッサによって実行されると、前記計算装置に少なくとも
前記計算装置においてグラフィカルユーザインターフェース(GUI)を連続的に提示し、前記GUIは、前記航空機の視点からの物理的環境の現在のビューの表示を含み、前記ビューは、前記航空機に搭載されたセンサデバイスからのセンサデータに基づいて生成され、
前記GUIとのユーザ対話を検出し、前記ユーザ対話は、複数のキーフレームを追加する命令を含み、各キーフレームは、前記航空機の三次元空間における場所を含み、
前記航空機の視点からの前記物理的環境の現在のビューにオーバレイされたスプラインのグラフィカル表現を連続的に表示し、前記スプラインは、前記複数のキーフレームの各々の間の飛行経路を含む、
ように指示するプログラム命令と、
を備える計算装置。
【請求項42】
前記複数のキーフレームの各々は、前記センサデバイスの方向をさらに含む、請求項41に記載の計算装置。
【請求項43】
前記スプラインのグラフィカル表現は、前記スプライン上に前記複数のキーフレームの場所を示すグラフィカルマーカをさらに含む、請求項41に記載の計算装置。
【請求項44】
前記GUIは、前記スプラインの線形表現をさらに含み、前記スプラインの線形表現は、該スプライン上の前記複数のキーフレームの空間位置に比例して離間した前記複数のキーフレームのグラフィカルマーカ表現をさらに含む、請求項41に記載の計算装置。
【請求項45】
前記ユーザ対話は、前記航空機速度を設定するか、または1つ以上のキーフレームを編集もしくは削除するための1つ以上の命令をさらに含む、請求項41に記載の計算装置。
【請求項46】
前記コンピュータ可読記憶媒体に前記スプラインを保存するように前記計算装置に指示するプログラム命令をさらに含む、請求項41に記載の計算装置。
【請求項47】
前記複数のキーフレームの各々は、センサデバイス焦点距離、ならびに前進運動の前記方向に対する航空機速度および配向のうちの1つ以上をさらに含む、請求項41に記載の計算装置。
【請求項48】
前記スプラインは、前記航空機に搭載されたコンピューティングデバイスによって生成および更新される、請求項41に記載の計算装置。
【請求項49】
計算装置であって、
1つ以上の非一時的コンピュータ可読記憶媒体と、
前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令であって、1つ以上のプロセッサによって実行されると、前記計算装置に連続的に、
前記航空機に搭載されたセンサデバイスからセンサデータを受信し、
前記計算装置においてグラフィカルユーザインターフェース(GUI)そ生成および更新し、前記GUIは、前記航空機の視点からの物理的環境の現在のビューの表示を含み、前記ビューは、前記センサデータに基づいて生成され、
前記計算装置において前記GUIを提示し、前記GUIは、前記航空機の視点からの前記物理的環境の現在のビューの表示を含み、
前記GUIとのユーザ対話を検出し、前記ユーザ対話は、複数のキーフレームを追加する命令を含み、各キーフレームは、前記航空機の三次元空間における場所を含み、
前記航空機の視点からの前記物理的環境の現在のビューにオーバレイされたスプラインのグラフィカル表現を生成および表示し、前記スプラインは、前記複数のキーフレームの各々の間の計算された飛行経路を含む、
ように指示するプログラム命令と、
を備える計算装置。
【請求項50】
前記プログラム命令は、1つ以上のプロセッサによって実行されると、前記計算装置に連続的に、
前記ユーザ対話を示す情報を前記航空機に送信し、
前記スプラインのグラフィカル表現を生成および更新するための前記スプラインを記述する情報を受信する
ように指示する、請求項49に記載の計算装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年3月8日に出願された「ENHANCED UNMANNED AERIAL VEHICLE FLIGHT ALONG COMMPUTED SPLINES」と題する米国特許出願第17/689,414号明細書、2022年3月8日に出願された「GRAPHICAL USER INTERFACE FOR ENHANCED UNMANNED AERIAL VEHICLE FLIGHT ALONG COMPUTED SPLINES」と題する米国特許出願第17/689,459号明細書、2021年11月24日に出願された「ENHANCED UNMANNED AERIAL VEHICLE FLIGHT ALONG COMPUTED SPLINES」と題する米国仮特許出願第63/282,725号明細書、および2022年1月4日に出願された「INTERFACES AND CONTROL FOR ENHANCED UNMANNED AERIAL VEHICLE FLIGHT」と題する米国仮特許出願第63/296,285号明細書の優先権を主張する。これらの先行出願は、参照によりその全体が本明細書に組み込まれる。
【0002】
本技術の様々な実装形態は、無人航空機(UAV)に関し、具体的には、計算されたスプラインに沿った改良されたUAV飛行に関する。
【背景技術】
【0003】
無人航空機(またはドローン)は、そうでなければ到達するのが困難または面倒な視点または場所からビデオ、画像、または他のデータをキャプチャするために、一般的に使用される。ドローンは、レクリエーション、科学的探査、軍事作戦、情報収集、および商業利用などの様々な目的に使用される。商業およびレクリエーション利用のためのUAVは、典型的に、UAVが機敏であって飛行コマンドに迅速に反応するように、複数のロータを有する。例えば、「クワッドコプタ」として知られる一般的な構成は、飛行用に4つのロータを備える。
【0004】
プログラムに従って、すなわちプログラムされた飛行命令セットに従って飛行するドローンの能力は、安全な周辺を監視するなどの反復的な動作のために有用にする。加えて、適切な飛行プログラムが決定されると、パイロットの特定のスキルレベルは必要ない。しかしながら、ドローンがプログラムされた命令セットの下で動作している間、これは、飛行中に飛行経路またはセンサ動作に対してわずかな調整を行うパイロットのいかなる能力も否定する。例えば、ドローンが予想外の何かをキャプチャした場合、またはパイロットが自発的にビデオ記録を修正したい場合、パイロットは、自動飛行動作を終了し、ドローンの手動動作に頼らなければならない。あるいは、パイロットは、飛行計画を再プログラムすることができるが、再プログラムして飛行に戻るのにかかる時間に潜在的に重要なデータをキャプチャする機会を失うリスクがある。
【0005】
それらのより単調な使用を越えて、ドローンが特によく適しており、積極的に採用されている職業は、ダイナミックな空中撮影である。高度にダイナミックで滑らかなワンカットビデオは、以前はハイエンド機器と訓練された専門家の大がかりなチームとを使用して、大型予算のハリウッドの制作会社でのみ可能であった。近年、数千時間の「スティックタイム」を身につけた世界クラスのドローンパイロットのチームは、同様にダイナミックなショットを作成することができた。しかしながら、ドローンパイロットのこれらのチームは、採用するのが非常に高額であり、撮影に時間がかかる可能性がある。
【発明の概要】
【0006】
飛行中の修正も許容しながら、ドローンを計算されたスプラインに沿って飛行させる、無人航空機(UAV)を動作させるための技術が本明細書に開示される。様々な実装形態では、UAVは、飛行制御サブシステムおよび電気機械サブシステムを含む。飛行制御サブシステムは、飛行中にキーフレームを記録し、キーフレームに基づいてスプラインを計算する。次いで、飛行制御サブシステムは、UAVが計算されたスプラインに従って自動的に飛行するとき、再生のために計算されたスプラインを保存する。
【0007】
様々な実装形態では、飛行制御サブシステムは、ユーザ入力を受信し、少なくともユーザ入力に基づいて計算されたスプラインを応答性よく修正することができ、その結果、計算されたスプラインの修正バージョンが得られる。飛行制御サブシステムは、後の再生のために計算されたスプラインの修正バージョンを保存し得る。いくつかのシナリオでは、UAVは、計算スプラインの修正バージョンをリモート記憶場所にアップロード(またはダウンロード)することが可能であり得る。
【0008】
ユーザ入力の例は、計算されたスプラインに沿った無人航空機の位置、方向、速度、および配向など、計算されたスプラインの1つ以上の構成要素に対する変更の1つ以上を含み得る。構成要素はまた、無人航空機に対するカメラ焦点距離およびカメラ配向も含み得る。
【0009】
ユーザ入力の別の例は、無人航空機を計算されたスプライン上の次の位置に対して順不同で計算されたスプライン上の新しい位置に直接スナップすることと、計算されたスプラインに沿った現在の方向に対して計算されたスプラインに沿った方向を反転することと、計算されたスプライン上の点でホバリングすることと、を含む。
【0010】
この概要は、技術的開示において以下でさらに説明される概念の選択を簡略化された形態で紹介するために提供される。この概要は、請求される主題の重要な特徴または本質的な特徴を識別するように意図されるものではなく、請求される主題の範囲を限定するために使用されるように意図されるものでもないことは、理解されるだろう。
【0011】
本開示の多くの態様は、以下の図面を参照してより良く理解され得る。図中の構成要素は必ずしも縮尺通りではなく、代わりに、本開示の原理を明確に説明することに重点が置かれている。また、図面において、同様の参照番号は、いくつかの図を通して対応する部分を示す。これらの図面に関連していくつかの実施形態が説明されるが、本開示は本明細書に開示される実施形態に限定されるものではない。むしろ、全ての代替、修正、および同等物を網羅することが意図される。
【図面の簡単な説明】
【0012】
【
図1】一実装形態における無人航空機の動作アーキテクチャを示す図である。
【
図2】一実装形態におけるスプラインを作成するためのUAVの動作の方法を示す図である。
【
図3】一実装形態におけるUAVシステムの詳細図である。
【
図4A】動作環境および例示的なシナリオを示す図である。
【
図4B】動作環境および例示的なシナリオを示す図である。
【
図5B】建物を周回する例示的なUAV計算飛行経路を示す図である。
【
図6A】UAVを家の周りで飛行させる例示的な俯瞰図である。
【
図6B】計算されたスプライン飛行経路の例示的な俯瞰図である。
【
図6C】飛行経路およびドローン配向への修正を伴う計算されたスプライン飛行経路の例示的な俯瞰図である。
【
図6D】計算された飛行経路に沿った飛行中の飛行経路およびドローン配向への修正の例示的な拡大俯瞰図である。
【
図6E】計算された飛行経路に沿った飛行中にパイロットが飛行コマンドを発行する際の、一人称視点による遠隔制御装置上の例示的な表示を示す図である。
【
図7】ドローンがオートパイロット制御によって飛行する際にパイロットが飛行コマンドを発行するときの例示的なワークフローを示す図である。
【
図8】計算された飛行経路に沿ったオートパイロットによるドローン飛行に対するパイロットコマンドの効果の例示的な俯瞰図である。
【
図9】計算された飛行経路に沿ったオートパイロットによるドローン飛行に対するパイロットコマンドの効果の例示的な俯瞰図である。
【
図10】飛行中の計算された飛行経路に対する修正のための新しい位置点の計算の例示的な俯瞰図である。
【
図11】一実装形態における航空機を制御するためのワークフローを示す図である。
【
図12A】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12B】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12C】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12D】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12E】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12F】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12G】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12H】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12I】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図12J】一実装形態におけるドローン遠隔制御装置上の自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図13A】一実装形態におけるキーフレームモードのドローン遠隔制御装置の自律飛行制御アプリケーションのユーザインターフェースを示す図である。
【
図13B】一実装形態におけるキーフレームモードのドローン遠隔制御装置の自律飛行制御アプリケーションのユーザインターフェースを示す図である。
【
図13C】一実装形態におけるキーフレームモードのドローン遠隔制御装置の自律飛行制御アプリケーションのユーザインターフェースを示す図である。
【
図13D】一実装形態におけるキーフレームモードのドローン遠隔制御装置の自律飛行制御アプリケーションのユーザインターフェースを示す図である。
【
図14A】一実装形態における自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図14B】一実装形態における自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図14C】一実装形態における自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図14D】一実装形態における自律飛行制御アプリケーションのグラフィカルユーザインターフェースを示す図である。
【
図15】再生中の一実装形態における自律飛行制御アプリケーションのユーザインターフェースを示す一連の画像である。
【発明を実施するための形態】
【0013】
図面は、必ずしも縮尺通りに描かれているとは限らない。同様に、いくつかの構成要素および/または動作は、本技術の実施形態のいくつかの議論の目的のために、異なるブロックに分割されるか、または単一のブロックに組み合わされてもよい。また、本技術は様々な修正および代替形態に適しているが、具体的な実施形態は例として図面に示されており、以下で詳細に説明される。しかしながら、本技術を説明された特定の実施形態に限定する意図はない。むしろ本技術は、添付の請求項によって定義される技術の範囲に含まれるすべての修正、同等物、代替を網羅することを意図している。
【0014】
本明細書で論じられる技術は、誰でも複雑で映画的で滑らかなカメラの動きによって連続的な演出されたショットをキャプチャすることができるようにする。ユーザは、「キーフレーム」と呼ばれる点を設定することによって飛行経路を定義し、ソフトウェアは、制御、速度、および複雑さの度合いを変化させながら、繰り返し飛行することができる点の間に滑らかなスプラインを作成する。実際、本明細書で論じられる技術は、いかなるパイロットに対しても、その技術レベルにかかわらず、他の方法では不可能な複雑なハリウッドスタイルのカメラの動きを可能にする。本技術は、人間の創造性または作品を置き換えるものではなく、パイロットがほんの数回のタップで驚くべきショットを開放することを可能にする。
【0015】
本明細書で開示される様々な実装形態は、飛行制御サブシステムおよび電気機械サブシステムを含む無人航空機を含む。上記で論じられたように、飛行制御サブシステムは、飛行中にキーフレームを記録し、キーフレームに基づいてスプラインを計算することができる。飛行制御サブシステムは、再生のために計算されたスプラインを保存し、その時点で、飛行制御サブシステムは、計算されたスプラインに従ってUAVを飛行させるように電気機械サブシステムに指示する。
【0016】
様々な実装形態のうちの1つ以上において、飛行制御サブシステムはまた、ユーザ入力を受信し、少なくともユーザ入力に基づいて計算されたスプラインを修正することもできる。計算されたスプラインの修正バージョンは、後の再生のためにそれ自体が保存されてもよい。ユーザ入力は、計算されたスプラインに沿った無人航空機の位置、方向、速度、および/または配向の変更など、計算されたスプラインに対する変更の1つ以上を引き起こし得る。他の変更は、UAV上のカメラの焦点距離、およびカメラの配向に対する修正、またはUAV上の任意の他の周辺機器の変更を含む。ユーザ入力のさらに別の例は、無人航空機を計算されたスプライン上の次の位置に対して順不同で計算されたスプライン上の新しい位置に直接スナップすることと、計算されたスプラインに沿った現在の方向に対して計算されたスプラインに沿った方向を反転することと、計算されたスプライン上の点でホバリングすることと、を含む。
【0017】
一動作例では、コントローラデバイスを操作しているドローンパイロットは、キーフレームと呼ばれる離散空間位置のセットを識別する。ドローンおよび/またはコントローラに搭載された(またはいずれのシステムとも異なる)リソースは、キーフレームに基づいてスプラインを計算する。計算されたスプラインはその後、ドローンによって「再生」され、これは、ドローンに搭載された飛行制御サブシステムが計算されたスプラインに基づいてその飛行を命令することを意味する。
【0018】
動作例を続けると、パイロットは、ドローンがスプラインを飛行している間、飛行中に計算されたスプラインを修正することができ、パイロットは、ドローンを能動的に操縦する必要なしに、ドローン動作の1つ以上の態様に集中して制御することができる。パイロットは、例えば、計算されたスプラインを飛行する際に、ドローンの位置、方向、速度、および/または配向を変更し得る。これらの変更により、ドローンは、計算されたスプラインから離脱するか、またはスプラインに沿って移動する際に方向を変化させ得る。パイロットは、スプラインのセグメントに沿って、またはスプラインに沿った点で、ドローンを加速または減速させ得る。パイロットはまた、ドローンがスプラインに沿って飛行する際に、ズームインもしくはズームアウト、または露出の調整など、カメラの動作を修正してもよい。別の例では、パイロットはドローンに、計算されたスプラインに沿ってコースを反転させるか、またはスプラインに沿って移動せずにスプライン上の新しい位置に「スナップ」させてもよい。パイロットはまた、例えばその場所でキーフレームを追加するために、計算されたスプライン上の点でドローンを停止およびホバリングさせてもよい。これらの修正のいずれかまたは全ては、後にスプラインと共に使用するために、またはスプラインの新しいバージョンとして、保存されてもよい。いくつかの実装形態では、パイロットは、ドローンが計算された脊柱に沿って、すなわち「フリールックモード」で移動する際に、脊柱および/またはジンバル位置に沿ってドローンの配向を制御してもよい。このようにして、パイロットは、ドローンを能動的に操縦する必要なしに、カメラの角度および位置に集中することができる。
【0019】
開示された技術の様々な技術的効果は、本開示から理解され得る。例えば、ドローンの一般的な使用である、ビデオを記録するためにドローンが使用される場合、プログラムされた動作に組み込まれたパイロット入力は、ドローンの飛行を能動的にナビゲートする必要なしに、パイロットが記録の芸術的態様およびニュアンスに集中することを可能にすることによって、ビデオ製品のより創造的なバイインを可能にする。そのオートパイロットの権限の下で飛行しているときにパイロットまたはユーザ入力をドローンの動作に組み込む能力は、いくつかの方法で行使することができる。
【0020】
一例では、UAVは、プログラムされたかまたは所定の飛行計画で飛行する。プログラムされたかまたは所定の飛行計画は、ドローンが通過するであろう離散位置のセットによって軌道が定義される計算されたスプライン飛行経路であってもよく、または以前の飛行中に記録された飛行経路であってもよい。また、手動でプログラムされてドローンにアップロードされた飛行経路であってもよい。ドローンのプログラムされた飛行動作は、所定の飛行経路に沿って飛行する際のドローンの位置、配向、および/または速度などのパラメータを含む。
【0021】
ドローン動作は、プログラムされた動作中の被写体追跡を含み得る。例えば、ドローンは、特定のサイクリストの進行を追跡しながら、頭上の視点から競技場に沿ってプログラムされたルートを飛行することによって、自転車レースを記録するために配備されてもよい。ドローン動作はまた、情報を飛行して自転車レースを記録しながらドローンが木に衝突しないように、物体検出および回避も含み得る。このようにして、パイロットは、同時にドローンを能動的に飛行させる必要なしに、搭載ビデオカメラによってキャプチャされたビューなど、ドローン動作の特定の態様に集中することができる。パイロットがドローン動作のその態様を制御することを止めると、ドローンは、そのプログラムされた動作に滑らかに戻って再開する。
【0022】
別の例では、ドローンまたはUAVは、飛行の前にドック入りする。ドックは、飛行中にナビゲートするためにドローンがドックに対するその位置および配向を確認することができる定位情報をドローンに提供する。ナビゲーションのための位置情報は、ドックに対する座標のセット、または搭載GPSセンサによって検出された座標などの三次元座標で指定されてもよい。ナビゲーションのための位置情報はまた、1つ以上の搭載ナビゲーションカメラを使用する視覚追跡を組み込むか、またはこれに依存してもよい。ドローン配向情報は、ドローンのピッチ角、ロール角、およびヨー角を参照し得る。パイロットは、遠隔制御装置を使用して、ドローンの飛行制御システムと無線通信する。遠隔制御装置は、ラップトップコンピュータ、タブレット、またはスマートフォンなどのコンピューティングデバイス上の専用デバイスまたはアプリであってもよい。UAV遠隔制御装置上のユーザインターフェースまたはUIは、表示画面と、ボタン、ロッカスイッチ、スライダ、トグルなどのドローンを制御するための1つ以上の入力機構とを含み得る。ドローン遠隔制御装置上のユーザインターフェースの1つの実装形態は、制御入力機構の機能的グラフィカルオブジェクト表現を表示するタッチ操作可能な表示画面、すなわちタッチスクリーンを含む。UAVと遠隔制御装置との間の無線送信は、WiFi接続、Bluetooth(登録商標)接続、または任意の適切な無線接続を介して搬送され得る。UAVはまた、ドローンから送信された情報を受信、閲覧、記録、および記憶することができる、コンピュータなどの他のデバイスと無線通信してもよい。
【0023】
UAVパイロットがドローンをドックから発射させるコマンドを発行し、ドローンがその飛行を開始すると、パイロットはドローンを能動的に飛行させてもよく、またはドローンは所定の飛行計画に従って飛行してもよい。一実装形態では、所定の飛行はキーフレームのセットを含み、その各々は、推測航法または視覚追跡のプロセスにおいて1つ以上のナビゲーションカメラの視覚入力に従って定義され得る。視覚追跡に従って定義されたキーフレームは、全地球測位システム(GPS)データまたは他の慣性航法データが部分的または完全に利用できない屋内または屋外環境において、または慣性もしくは衛星航法能力を欠くドローンを用いる場合に、特に有用である。キーフレーム位置はまた、ドローンドック位置に対する三次元座標において、または衛星もしくは慣性航法データから、定義され得る。
【0024】
キーフレームは、ドローン配向、ドローン速度、または搭載センサの活動に関する追加情報を含み得る。例えば、ドローンは、カメラのズームレンズが望遠から広角焦点距離に移動するさいにパノラマショットをキャプチャするために、キーフレームで一次停止し、水平に旋回するようにプログラムされてもよい。あるキーフレーム位置から次のキーフレーム位置までのドローンの経路は、三次スプライン補間式または「スプライン」などの計算された関数である。
【0025】
別の実装形態では、所定の飛行計画は、ドローンの永続的ストレージ(例えば、不揮発性メモリ)に、またはドローンと無線通信しているデータ記憶デバイスに保存された、以前に記録されたドローン飛行であってもよい。事前に記録された飛行計画は、再利用のために他のドローンにアップロードされてもよい。例えば、安全な施設の周辺を監視するための飛行計画は、定期的な再利用のために、またはドローンがバックアップドローンに交換されたときに、記録および保存することができる。事前に記録された飛行経路は、ドックからの発射からドックへの復帰までの飛行全体を含んでもよく、または2つのキーフレーム間のスプラインなどのドローンの飛行のサブセットを含んでもよく、または一カ所でのドローン動作(掃引ビデオショットなど)さえも含み得る。さらに別の実装形態では、所定の飛行経路は、ドローンにアップロードされるコンピュータプログラムであってもよい。例えば、飛行計画は、地図または地形データに基づいてプログラムされてもよい。
【0026】
別の実装形態では、パイロットは、ドローンの軌道を記録すること、ドローンのカメラビューを記録すること、記録を一次停止すること、記録を削除すること、および記録を保存することなどのドローン動作の態様を記録することができる。飛行の記録された動作または記録された構成要素は、搭載不揮発性メモリに保存されてもよく、またはこれらは遠隔制御装置、ドローンからの送信を受信するラップトップコンピュータ、またはクラウドデータストレージなど、ドローンと通信しているデバイスに送信されてもよい。
【0027】
本技術のさらに別の実装形態では、ユーザインターフェースの表示画面またはタッチスクリーンは、一人称視点として知られる、ドローン上の前向きカメラから送信されたビューをリアルタイムで表示する。所定の飛行経路を表す拡張現実(AR)グラフィックは、カメラビューにオーバレイする半透明の曲線の形態で、任意選択的に背景とは大きく異なる色で、前向きカメラビューに重ね合わせられる。AR表現は、曲線の幅を変化させることによって飛行経路に沿ったドローンからの距離を示してもよく、例えば、曲線はドローンからの距離と共に細くなる。AR表現は、ドローンが所定の飛行経路を飛行するにつれて、連続的に更新される。追加のARグラフィックは、所定の飛行経路の曲線表現上の菱形など、独特の形状および色によって識別されるキーフレームまたはウェイポイントを示し得る。
【0028】
様々な実装形態では、パイロットは、遠隔制御装置上のユーザインターフェースを介して所定の飛行経路上のキーフレームを追加、編集、および削除し得る。例えば、パイロットが所望のカメラビューのためにキーフレームを識別および選択したいとき、ユーザインターフェースは、カメラショットを構成するカメラビューの上に半透明のフレームの形態のARグラフィックを表示する。仮想フレーミングに加えて、UIタッチスクリーンは、キーフレームを追加、編集、および削除するための仮想ボタンを表示し得る。キーフレームは、ドローン位置または場所、ドローン配向、およびカメラなどの搭載センサの動作に関する情報などの情報を記録および記憶し得る。キーフレームによって定義された所定の飛行計画のAR表現は、キーフレームの最新のセットに従って更新され得る。
【0029】
一実装形態では、遠隔制御装置上のユーザインターフェースは、所定の飛行計画の線形再生トラックまたはタイムライン表現を表示する。線形タイムライン表現は、タイムライン上に、菱形などの独特の形状によって識別されたキーフレームを含み得る。タイムラインに沿った距離は、実際の飛行距離に比例し得る。ドローンが所定の飛行経路を飛行する際に、タイムラインは、完了した部分を示すための1つの色と、残りの部分を示すための第2の色とを使用して、飛行経路に沿ったドローンの進行を示し得る。任意選択的に、飛行経路に沿ったドローンの移動をリアルタイムで示すために、ドローンが飛行する際にタイムラインに沿って矢印または他の記号が移動してもよい。
【0030】
一実装形態では、パイロットは、飛行経路タイムラインを使用してドローンにコマンドを発行し得る。タッチスクリーン上のタイムライングラフィックの実装形態では、パイロットは、表示されたタイムライン上の特定の点または場所に触れることによって、飛行経路上の方向を反転させるように、または飛行経路上の点で一次停止するように、ドローンに命令し得る。パイロットはまた、スプラインに沿って移動することによって、または示された点に直接飛行することによって、スプライン上の点までスナップ(すなわち、直ちに飛行)するように、ドローンに命令し得る。例えば、パイロットは、2つのキーフレーム間の点にジャンプし、その場所にキーフレームを追加するように、ドローンに命令してもよい。
【0031】
本技術の一実装形態では、UI画面はまた、タイムラインに沿った点のドローン速度も示す。UIは、飛行経路のセグメントに沿って、または飛行経路上の点でドローン速度を調整するために、ロッカスイッチまたはスライダなどの仮想または物理制御機構を含んでもよい。例えば、パイロットは、それらの視点から長時間の静止ビューまたは全景を撮影するために、様々なキーフレームで一次停止(すなわち、ホバリング)するようにドローンに命令してもよい。
【0032】
本技術の別の実装形態では、ドローン速度を制御する仮想スライダは、動的実現性の複数のゾーンを示すために複数の色で表示される。スライダ範囲の遅い方の端から開始して、緑色は、ドローンが飛行することが動的に実現可能な速度の範囲を示すことができ、黄色は、ドローンの動作エンベロープをプッシュする速度の範囲を示すことができ、赤色は、ドローンが飛行することが動的に可能ではない速度の範囲を示すことができる。例えば、所定の飛行経路が方向転換を示す場合、スライダの赤い部分は、飛行経路を外れて飛行しなければドローンが方向転換をナビゲートすることができない速度に対応する。
【0033】
パイロットは、ドローンが所定の飛行計画を飛行する際のドローンの動作制御の態様を維持し得る。例えば、完成されたドローン飛行経路が記録されると、パイロットは、カメラ配向を手動で制御しながら、記録された飛行経路を再飛行するようにドローンに命令し得る。カメラ配向は、ドローンのピッチ角、ロール角、および/またはヨー角を変更することによって制御することができる。加えて、ドローンが所定の飛行計画を飛行する際に、パイロットは、遠隔制御装置を介して、飛行する際に飛行経路からわずかにドローンを逸脱させるかまたはドローンの配向を変化させるコマンドまたは動作コマンドを発行し得る。例えば、パイロットは、ドローンが北に向かって所定の経路を飛行する際に、数秒間西向きに方向転換するようにドローンの配向をそっと動かしてもよい。
【0034】
本技術の別の実装形態では、ドローンは、所定の飛行経路に対応するその飛行動作へのリアルタイム入力を受信して組み込む。パイロットのリアルタイム入力が停止すると、ドローンは、所定の飛行経路へのオートリターンを行う。本技術のさらに別の実装形態では、リアルタイム入力は、平滑化または減衰され、その結果、ドローンの飛行に対する調整が弱められる。リアルタイム入力が停止すると、所定の動作への復帰も同様に平滑化または減衰される。
【0035】
例えば、ドローンがスプラインを飛行しているとき、パイロットは、被写体が常にドローンカメラの視野内にあるように、ドローンがその配向を被写体に向けたままにすることができる被写体追跡能力を起動し得る。あるいは、物体回避機能は、飛行経路が障害物と交差する場合にドローンをそのプログラムされた飛行経路から逸脱させ得る。映画撮影では、ドローンが所定の飛行経路をナビゲートする際にドローン動作の1つ以上の態様(例えば、ドローン飛行力学、飛行中のドローン配向、および搭載カメラ動作)を手動で制御する能力は、厳密にプログラムされるかまたは機械的な動作ではないので、ドローンを操縦しているパイロットまたはビデオ撮影者にビデオ記録の創造的な所有権のより大きな意義を与えることができる。
【0036】
本技術の別の実装形態では、ドローンが飛行経路を飛行しているときに行われる所定の飛行計画からの逸脱または所定の飛行計画への調整は、後の使用のために保存され得る。調整は、それ自体が(所定の飛行経路に追加されるために)保存されてもよく、または飛行経路および調整が完全に新しい飛行経路として一緒に保存されてもよい。このようにして、特定の所定の飛行経路に対する複数の調整は飛行経路上に重ねられてもよく、複雑さまたはばらつきが増加する飛行計画を作成する能力を有効化する。例えば、飛行経路は、様々な視点を比較および退避するために、毎回異なるカメラ配向動作で複数回再飛行されてもよい。
【0037】
本技術の一実装形態では、ドローンまたはUAVは、パイロットから離れた場所でドック入りされてもよい。パイロットは通常、ドローン飛行を管理するFAA規則に従ってドローンへの見通し線を維持することによって、ドローンを飛行させる。しかしながら、特定の状況では、パイロットは、ドローンへの見通し線を有することなく、ドローンの一人称視点に依存して、すなわちドローンカメラが見るものを見ることによって、ドローンをナビゲートしてもよい。ドローンを飛行させるこの方法は、一般に、大型の倉庫またはスタジアムにおける屋内飛行など、特定の限られた状況でのみ可能である。
【0038】
ドローンのオートパイロットは、ドローンマイクロプロセッサへのコマンドを発行するために、ドローンの飛行を管理するいくつかの内部および外部動作入力を受信して組み込む。これらのコマンドは、あたかも(人間の)パイロットによって発行されたかのようにマイクロプロセッサによって受信され、したがって、見かけ上のジョイスティックコマンドとしてオートパイロットによって発行される。オートパイロットは、ドローンの計算またはプログラムされた飛行経路を、風速および風向データなどのドローン動作に関連するセンサデータと統合する。オートパイロットはまた、パイロットが遠隔制御装置上のジョイスティックを介してコマンドを発行したときにジョイスティック入力を受信し得る。ジョイスティック入力は、オートパイロット動作中にジョイスティックに割り当てられた特定の機能に従って解釈される。例えば、ジョイスティックは、搭載カメラのビューを変更するために、プログラムされた動作中にドローンのピッチまたはヨーを変更するために使用されてもよい。管理機能は、ドローンがその飛行動作のための動作エンベロープを超えないように、入力を減衰または制限することができるジョイスティック入力に適用され得る。ドローンオートパイロットはまた、衝突回避システムまたは被写体追跡システムからの入力も受信し得る。これらの様々なソースからの入力に基づいて、オートパイロットは、見かけ上のジョイスティックコマンドを計算し、ドローンマイクロプロセッサに発行する。オートパイロットから見かけ上のジョイスティックコマンドを受信するのに応答して、マイクロプロセッサは、飛行コマンドをドローン電気機械推進システムに送信し、ドローンをオートパイロットのコマンドに従って飛行させる。
【0039】
自転車レースの例に戻ると、プログラムされた動作中、ドローンパイロットは、レースルー度に沿った観客の群衆の、または遠方の特に際立った通景のビューを取得するために、飛行中にその配向を変更するようにドローンに命令し得る。あるいは、パイロットは、遠くの山脈の広角ショットのためにズームアウトするかまたはサイクリストのクローズアップのためにズームインすることなどによって、搭載カメラの動作を変更および調整してもよい。パイロットがドローンの飛行または動作を修正するのを止めると、オートパイロットは、そのニュートラル位置への復帰に対応するジョイスティックからの入力を受信し、これにより、そのプログラムまたは計算された飛行計画への滑らかな復帰を行う。
【0040】
ここで図面を参照すると、
図1は、無人航空機(UAV101)と、動作アーキテクチャ128によって表されるその構成要素とを示す。動作アーキテクチャ128は、飛行コントローラサブシステム124、電気機械サブシステム126、外部動作入力120、および内部動作入力122を広く含む。飛行コントローラサブシステム124は、ドローン動作の様々な態様を制御する、飛行コントローラとしても知られる1つ以上のマイクロプロセッサを収容する回路基板を含み得る。電気機械サブシステム126は、電子速度コントローラユニット、および様々なロータ、電源などを含み得る。
【0041】
外部動作入力は、典型的には人間のパイロットによって動作される遠隔制御装置から受信した入力と、UAV動作に影響を及ぼす環境条件を測定するセンサデータとを含むことができる。内部動作入力は、飛行中のドローン位置、ドローンは移行、またはセンサ動作を指示するプログラムまたは計算された飛行または動作計画、および地図または地形データなどのUAVの特定の使用または能力に関連する他の情報を含むことができる。
【0042】
図2は、UAV101の飛行制御サブシステム124の1つ以上の構成要素によって実施されるプロセス200を示す。プロセス200は、飛行制御サブシステム124の1つ以上のハードウェアおよび/またはファームウェア要素によって実行されると、以下のように動作するように指示するプログラム命令において実施される。UAV101は飛行中であるため、UAV101の飛行制御サブシステム124は、1つ以上のキーフレームを記録する(ステップ210)。UAV101のパイロットは、パイロットが遠隔制御装置130を見る一人称視点に基づいてキーフレームを記録するようにUAV101に指示し得る。記録されたキーフレームデータは、視覚追跡に基づく、またはその場所におけるドローンの三次元座標および配向に基づくドローンの物理的位置などのパラメータを含み得る。キーフレームデータはまた、キーフレーム位置における搭載カメラまたはセンサ動作に関するデータも含み得る。UAV101の飛行制御サブシステム124は、キーフレームを接続する飛行経路または計算されたスプラインを計算する(ステップ220)。飛行経路は、現在または以前の飛行中にパイロットによって識別された離散地点またはウェイポイントのセットを使用して、搭載マイクロプロセッサによって計算され得る。UAV101の飛行制御サブシステムは、後の使用のために計算されたスプラインを保存する(ステップ230)。
【0043】
計算されたスプラインは、UAV101によって、またはUAV101が再充電されている間にバックアップドローンによって、再飛行され得る。計算されたスプラインは、搭載永続メモリまたはデータストレージなどに、ローカルに保存され得る。また、ドローンからの送信を受信する遠隔制御装置またはラップトップコンピュータなど、ドローンと通信しているデバイスのデータストレージなどに、リモートで保存されてもよい。これはまた、例えば、リモートクラウドデータストレージも含み得る。保存されたスプラインの将来の飛行では、パイロットは、例えば、ドローンの動作に対して漸進的な改善を行うため、予期しない条件に基づいて一時的な調整を行うため、またはドローンを動作させる異なる方法を探索するために、飛行に対して修正を行ってもよい。これらの修正は、同様に保存され得る。
【0044】
図3は、
図4のクワッドコプタ401の例示的なシステムアーキテクチャ300を示す。システムアーキテクチャ300は、飛行制御サブシステム391および電気機械サブシステム392を含む。飛行制御サブシステム391は、(オートパイロット328、飛行コントローラ326、慣性測定ユニット302、センサ304、送信機306、受信機308、およびメモリカードポート310によって表される)オートパイロット機能を含む。電気機械サブシステム392は、電子速度コントローラ312と、ロータ314とを含む。飛行制御サブシステム391および電気機械サブシステム392の両方は、例示目的のために示されている、本明細書に開示されたものに加えて(またはその代わりに)、他の要素を含み得ることが理解されよう。システムアーキテクチャ300は、動作入力393も含む。動作入力393は、遠隔制御デバイス318によって供給されるジョイスティックデータ322、ならびに管理要因330および計算された飛行経路332を含む。
【0045】
慣性測定ユニット302は、飛行コントローラサブシステムに運動および配向データを提供する、ジャイロスコープおよび加速度計などの1つ以上のセンサを含む。いくつかの実装形態では、飛行コントローラサブシステムはまた、ビデオカメラ、全地球測位システム(GPS)センサ、磁力計、または気圧計などの他のセンサ304に接続されるかまたはこれらを含んでもよい。UAVはまた、アンテナ、ビデオ送信機306、および無線受信機308などの無線通信用の機器も搭載し、これらは、人間のパイロットが飛行コマンドまたは搭載センサ動作に関するコマンドなどのコマンドを送信することができる遠隔制御装置340との通信を可能にする。遠隔制御装置は専用デバイスであってもよく、またはUAV401との無線通信が可能なスマートフォン、タブレット、またはラップトップコンピュータなどのモバイルコンピューティングデバイス上のアプリケーションであってもよい。遠隔制御装置とUAVとの間の無線通信は、WiFiネットワークまたはBluetooth(登録商標)リンクを介して搬送され得る。飛行コントローラサブシステムはまた、飛行およびセンサ動作およびデータを記録するための搭載永続または不揮発性メモリまたはメモリカードポート310に接続されてもよい。UAV401の電気機械サブシステムの一部として、電子速度コントローラ312は、飛行コントローラサブシステムに接続され、飛行コントローラサブシステム上のマイクロプロセッサから受信した飛行コマンド316に従ってロータ314の動作を制御する。
【0046】
ドローン401の遠隔制御装置340は、ドローン401との通信のための無線通信ハードウェア、ならびにドローン401の飛行(すなわち、速度および方向)を手動で制御するためのスロットルデバイス(例えば、物理または仮想ジョイスティック)320を含む。例えば、パイロットがジョイスティック320を動かすと、遠隔制御装置340はジョイスティックデータ322をUAV401に送信する。パイロットはドローンまでの自分の見通し線に基づいてドローン401を制御することができるが、ドローンのための遠隔制御デバイスは通常、一人称視点と呼ばれる搭載カメラの視点を表示するための表示画面324を有する。一人称視点能力は、パイロットが遠隔の視点またはアクセス困難な視点からのビューを見つけてキャプチャすることを可能にする。
【0047】
図4Aの例示的な動作環境400は、計算されたスプライン飛行経路を作成するプロセスを示す。パイロット404は、ドローンドッキングデバイス402からドローンを発射させてドローン401の飛行を開始している。ドローンドック402は、ドローン401が飛行中にドック402に対するその位置を確認することができるように、飛行の開始時にローン401の定位情報を与える。ドローン飛行は、UAV401と無線通信している遠隔制御装置403を使用して、パイロット404によって手動で制御してもよい。パイロットは、ドローン401を方向転換または加速させるために、ジョイスティック320を使用し得る。遠隔制御装置403は、ジョイスティック320から受信したパイロット404の入力を、飛行コントローラ326に結合された搭載受信機308を介してドローン401に送信する。飛行コントローラ326は、パイロットの入力を、電子速度コントローラ312に発行された飛行コマンド316に変換し、これによってロータ314を相応に減速する。
【0048】
図4Aに示される一連のイベントでは、ドローン401は、任意のルート405に沿ってパイロット404によって操縦される(イベント1)。イベント2において、パイロット404は、点Aでスプラインのために保存される場所を識別する。パイロット404は、遠隔制御装置403を使用して、ドローンが飛行する際にその場所にキーフレームを追加する。このステップは、本技術の一態様において、遠隔制御装置403のタッチスクリーン上に表示された仮想ボタンオブジェクトを使用して実施され得る。場所Aに関連付けられた飛行および/または動作データと共に、キーフレームAがイベント3に保存される。イベント3で保存されるキーフレームデータは、位置座標(例えば、GPS座標またはドック402に対する座標)を含み、場所Aにおけるドローン401の速度、場所Aにおける配向、ならびに搭載カメラの動作に関するデータも含み得る。キーフレームデータは、遠隔制御装置403上のデータストレージに保存されてもよく、またはドローン401に搭載されたデータストレージに保存されてもよい。飛行が継続される。場所Bに到達すると、パイロット404は、別のキーフレームを追加する(イベント4)。キーフレームBは、イベント5においてイベント3と同様の方法で保存される。イベント6では、キーフレームAおよびBを接続するスプライン410が計算される。スプライン計算は、ドローン401の搭載プロセッサ内で計算されてもよく、または遠隔制御装置403のプロセッサ内で計算され、その後ドローン401に送信されてもよい。明確にするために、この例では、スプライン計算は、ドローン401の搭載飛行制御サブシステムのプロセッサによって実行される。
【0049】
図4Bは、キーフレーム「A」および「B」の記録およびスプライン410の計算の後の飛行中の動作環境400のドローン401を示す。キーフレーム「A」および「B」ならびにスプライン410は、ドローン401の搭載データストレージに保存されていてもよく、またはキーフレームおよびスプラインは、遠隔制御装置403など、情報を記憶する遠隔デバイスから現在の飛行の前または最中にドローン401にアップロードされてもよい。イベント1において、パイロット404は、スプライン410を再生するようにドローン401に命令する。イベント2において、ドローンはスプライン410を飛行する。ドローン401がスプライン410を飛行する際に、ドローンは、ドローン401の飛行制御サブシステムの一部であるその搭載オートパイロットの制御の下で動作する。イベント2および3において、ドローン401は、キーフレームとして記憶されたスプライン410上の点である場所AおよびBをそれぞれ通過する。ドローン401がスプライン410を再生する際に、パイロット404は、オートパイロットのコマンド下でその動作を変更するために、飛行コマンドまたは動作コマンドを発行し得る。例えば、パイロット404は、離脱してスプライン410に戻るように;スプライン410上の場所で加速、減速、または停止およびホバリングをするように:または410に沿って方向を反転するように、ドローン401に命令し得る。パイロット404は、スプラインに沿って前方を向くのではなく、飛行する際に北に向くように、ドローン401に命令し得る。パイロット404は、スプライン410に追加のキーフレームを追加し得る。パイロット404は、オートパイロットがスプライン410に沿ってドローン401をナビゲートする際に、ドローンカメラを動作させ得る。
【0050】
UAVは、所定の飛行経路を飛行するように命令され得る。飛行経路は、ウェイポイントと呼ばれる位置データ(および任意選択的に速度データ)の離散集合によって定義され得る。ウェイポイントは、三次元デカルト座標で指定され得る。ウェイポイントは、異なる目的のために選択され得る。いくつかのウェイポイントは、ドローンが停止して関心のある点を見ることを意図した場所であってもよく、他のウェイポイントは、ドローンが通過するために到達しなければならない正確な位置、例えばドアまたは窓を指定してもよい。
【0051】
ドローンがビデオ撮影に使用される場合、パイロットは、所望のショットを識別するために、キーフレームを使用し得る。
図5Aのビュー500は、空中位置から建物506の外部を見るために選択された8つの例示的なキーフレーム504を示す。各キーフレーム504は、異なる時間に所望の視点が再キャプチャされ得るように、そのウェイポイントにおけるドローン101の配向(すなわち、ドローン101の搭載カメラの配向)に加えて、ウェイポイントの静的記録である。ドローン配向は、前向きの水平飛行に対するドローン101の角度位置、すなわち
図1に示されるようなピッチ角112、ロール角110、およびヨー角114を指す。ウェイポイントでドローンカメラによってキャプチャされたシーンを見ながら、パイロットは、ドローンのヨー角をその前向き位置の左から右に変化させることによって、パノラマをキャプチャすることができる。同様に、ドローンのピッチ角を変化させることによって、カメラのチルトを変更することができる。例えば、ドローンを操縦しているビデオ撮影者は、作業の進捗を記録するするために、建設の異なる段階で下を見下ろす高い視点から建設現場をキャプチャすることを望むかも知れない。この技術はまた、広大なエリアの開発、または自然災害後の地域再建の前後比較にも有用である。
【0052】
ドローン101は、ドローンドック402からのドローンの距離および配向、搭載GPSセンサ304から収集したGPSデータ、搭載カメラ304から収集した視覚データ、またはこれらの組み合わせなどの場所に関するセンサデータまたは遠隔測定データを記録することによって、飛行しながら三次元空間内の特定の場所を記録することができる。同様に、特定の場所におけるドローン101の配向は、慣性測定ユニット302からのデータを使用して記録および記憶することができる。
【0053】
UAVの飛行をプログラムするための1つの技術は、ドローン101の飛行経路およびビデオ動作を定義するキーフレーム504の連続セットを記録することである。例えば、セキュリティ境界をチェックするとき、パイロットは、建物の入口のあらゆる点をキャプチャするキーフレームのセットを定義し得る。ドローン101のオペレーティングシステムはその後、あるキーフレームから次のキーフレームへの飛行中にドローン101の飛行経路およびその配向を計算する。その後の飛行において、パイロットは、同じルートを飛行して毎回同じビューをキャプチャするようにドローン101を展開し、いつ何かが変化したかをより容易に識別できるようにする。
【0054】
飛行経路およびビデオ動作を定義するために静的キーフレーム504の連続したセットを記録することの代替案は、連続するキーフレームを記録することであり、最初の飛行の飛行経路およびビデオ動作は、ある期間にわたって連続して記録される。連続するキーフレームとして記録された飛行は、必要に応じて後に再飛行することができる。連続するキーフレームは、手動飛行制御に関連する任意のギクシャクした不規則な動きまたは他の特異性を含む全ての動きを記録するので、この動作モードは、熟練したドローンパイロットまたはより有能な飛行技術を有する者にとってより適切であろう。
【0055】
静的キーフレームのセットに基づいて飛行経路を計算するとき、あるキーフレームから次のキーフレームへのルートの計算は、スプライン補間として知られる数学的演算である。スプライン補間は、結果的な関数がその領域にわたって連続的で滑らかになるように、連続する対の点にわたって低次多項またはスプラインの区分的集合を計算することによって、曲線を点のセットに当てはめる方法である。これは、集合内の全ての点に単一の高次多項式を当てはめることを伴う多項式補間よりも簡単で安定した方法である。
【0056】
スプライン補間の基本的な実装形態では、三次元空間内の任意の2点間の経路は直線となる。連続する対の点を直線で接続することで、多角形と類似の形状の連続した経路が生成される。飛行計画を作成するためにこの方法を使用するとき、接続された直線の結果的なセットは、点において方向が急激に変化する。
図5Aは、建物506の周りの様々な場所で8つのキーフレーム504のセットによって定義された直線セグメントを含む、例示的な飛行経路508を示している。このように急な方向転換は、映画撮影にとって美的に望ましくないだけでなく、動的に実現不可能であり得、すなわち、ドローン101の飛行能力を超える可能性がある。
【0057】
しかしながら、高次スプラインは、ドローン飛行により適した曲線で連続する点のセットを接続することができる。すなわち、三次多項式のセットは、多項式が2回連続して微分可能である、すなわちまとめたときに連続的で滑らかであるという要件で、連続する対の点にわたって生成される。滑らかさは、結び目(すなわち、関数がまとめられる点)で低次微分が等しくなることを要求することによって数学的に定義される。三次スプラインでは、滑らかさは、速度および加速度の急激な変化を排除することになる結び目において関数の接触および曲率の両方が等しくなることを要求する。したがって、このようにして生成された曲線は、映画撮影にとって美的に魅力的であり、ドローン動作にとっても動的に実現可能な飛行経路を生成する。さらに、三次スプラインは、ジャークおよびスナップとして知られる、時間に対する補間式の三次および四次微分がゼロであるという、ドローン飛行および映画撮影のための追加の制約を満たす。
図5Bのビュー520は、
図5Aの同じキーフレーム504を通るが三次スプライン補間式に接続された飛行経路510を示す。スプライン補間計算は、パイロットがシーケンス内にキーフレームを追加または削除する際に、言うなれば飛行中に行うことができる。さらに、ウェイポイントまたは終点に対する制約を変化させることで、計算された曲線の特性を変更することができ、これによって飛行経路の動的特性に影響を及ぼすことになる。
【0058】
ドローンが計算された飛行経路に沿って飛行しながらビデオを記録しているとき、ドローン101の配向は、滑らかで安定したビデオ記録を提供するようにプログラムすることができ、手動カメラ動作中に発生する可能性のあるいかなる不均一なカメラの動きまたは方向の変化も排除し、好ましい配向プログラムが見つかったらカメラ動作を引き続き再キャプチャさせる。ウェイポイントのセットにわたる飛行経路を補間するプロセスと同様のプロセスにおいて、ウェイポイントで指定されたドローン配向データ(例えば、ピッチ角112、ロール角110、およびヨー角114)を使用して飛行経路に沿った滑らかなドローン動作を提供するために、ドローン配向関数を補間することができる。そして連続するキーフレームが最初の飛行中のある期間にわたってドローン101の位置を記録するのと同様に、ローン101、ひいてはそのカメラまたは他のセンサの配向もまた、後の使用のために最初の飛行中に記録することができる。
【0059】
本技術の一態様において、プログラムされたドローン動作中、パイロットは、UAVのプログラムされた動作を終了させることなくUAVの位置または配向にわずかな一時的な変更を行うことによって、ドローン101が飛行している間にビデオ記録または他のセンサデータの収集を修正することを望むかも知れない。パイロットは、遠隔制御装置130上のジョイスティック320を介して、ドローンの飛行コントローラサブシステムに送信さえる飛行コマンドまたは動作コマンドを発行し得る。新しいジョイスティックデータを受信すると、飛行コントローラサブシステムは、計算されたスプライン510、連続するキーフレーム経路、またはプログラムされた飛行経路への修正の計算に基づいて、電子速度コントローラ312に発行される飛行コマンドを修正する。修正は、環境条件(例えば、風速および風向)または障害物の検出および回避など、ドローン飛行を管理する1つ以上の要因を組み込む。
例えば、キーフレームのセットを識別して飛行経路を補間すると、補間が木を通過する経路を生成する場合、ドローンに搭載された近接センサは木を検出し、ドローンは、木を迂回してスプラインに戻るようにスプラインへの修正を完了する。
【0060】
図6Aの俯瞰
図600に示される例示的な使用では、不動産業者は、マーケティング目的のために外部の空中視点からの住宅用物件602のビデオ記録を提供することを望む。ドローン101と、遠隔制御装置130を使用してドローン101を飛行させるビデオ撮影者606とを備えるビデオ撮影能力を有するドローンシステムが、記録を行うために派遣される。
図6Aに示される最初の飛行601では、ビデオ撮影者606は、家602の周りでドローン101を飛行させ、特に望ましい視点のセットを選択的に選び、その情報を、各キーフレームでのドローン位置およびドローン配向情報を含む5つのキーフレーム608のセットとして保存する。キーフレームを識別してセットに追加するための例示的な表示画面610および612が
図6Aに示されており、キーフレームに関連するカメラショットを正確に識別するために、拡張現実画像614を一人称視点に重ね合わせることができる。
【0061】
後の飛行のために、飛行コントローラサブシステム124は、スプライン補間を介して
図6Bの俯瞰
図620に示されるような飛行経路622を計算する。ドローン101は、補間式によって決定された飛行経路622を飛行し、キーフレーム608の特に望ましい視点を含む家602の周辺全体のビデオを記録する。
【0062】
この例示的な使用を続けて、後の飛行において、不動産業者は、家602の後の池616のショットをビデオ記録に含めることを望むと仮定する。家602の周りのキーフレームの新しいセットを記録するのではなく、計算されたスプライン上の物件の周りのドローン101の飛行中に、ビデオ撮影者604は、計算されたスプライン622上の飛行中にドローン動作を修正する。
図6Cの俯瞰
図640に示されるように、ビデオ撮影者604は、ドローン101計算されたスプライン622からわずかに左方向624に移動させ、カメラを家602から離れて池616に向かって方向転換させるコマンドを、ジョイスティック320を使用して発行する。所望の記録を達成した後、ビデオ撮影者604は、ジョイスティック320をそのニュートラル位置に戻し、ドローン101は、計算されたスプライン622への復帰経路626および配向スプラインへの再配向を計算して、その飛行を継続する。離脱624および復帰626ならびに矢印によって示されるドローンは移行を含む、飛行経路622に対する計算された修正の拡大図が、
図6Dに示されている。
図6Eは、ビデオ撮影者604によって発行された飛行コマンドに従う飛行経路622に沿ったその飛行の修正の前または最中に、一連の点V1からV10において遠隔制御装置130の表示画面324上に見られるようなドローン101の例示的な一人称視点を示す。
【0063】
図7は、UAV401の飛行制御サブシステム124の1つ以上の構成要素によって実施されるプロセス700を示す。プロセス700は、ドローン401に搭載された飛行制御サブシステムの1つ以上のハードウェア要素によって実行されると、以下のように動作するように指示するプログラム命令において実施される。ドローンパイロットは、計算されたスプラインに沿ったドローン401の飛行を修正するためにジョイスティック320を使用し(ステップ710)、修正は、ドローンの位置または配向、またはこれらの何らかの組み合わせに影響を及ぼし得る。ジョイスティックデータは、遠隔制御デバイス403からドローン401のオートパイロット328に無線送信される(ステップ712)。オートパイロット328はまた、ドローン飛行に影響を及ぼす外部動作入力(すなわち風速および風向データ)を受信する(ステップ714)。オートパイロット328は、計算されたスプラインへの修正を計算する(ステップ716)。イベント718において、この修正は飛行コントローラ326に送信され、イベント720において、飛行コントローラ326は、計算されたスプラインへの修正に従って飛行するようにドローン401のドローン電気機械サブシステムに指示する(ステップ718)。電気機械サブシステムは、実際のジョイスティックコマンドをシミュレートする飛行コマンドを発行し、言い換えれば合成または修正されたジョイスティックコマンド330を発行する(ステップ720)。修正されたジョイスティックコマンド330は、ドローン動作を管理する要因と共にパイロットの入力を含む。本技術の別の実装形態では、パイロットは、各ジョイスティックがドローン動作の特定の態様に割り当てられた複数のジョイスティックを有する遠隔制御装置を使用して、または複数の機能を単一のジョイスティックに割り当てることによって、プログラムされた動作中に飛行への複数の同時修正を命令することができる。例えば、
図1に示される2つのジョイスティックを考慮すると、一方のジョイスティックからの入力はドローンのヨー角114を制御してもよく、他方のジョイスティックからの入力はドローンのピッチ角112を制御し、ドローンが所定の飛行経路に沿って自律的に飛行する間、カメラを微調整することに集中する能力をパイロットに与える。
【0064】
本技術の別の実装形態では、管理要因は、実際のジョイスティック入力またはデータに減衰機能を適用することによって、実際のジョイスティックコマンドを修正されたジョイスティックコマンドに変換し得る。本技術の一態様では、減衰機能は、実際のジョイスティック入力に対応する力を受けるバネ艤装の物体の応答をシミュレートする数学的モデルであってもよい。より具体的には、バネ艤装モデルは、ジョイスティックを使用するパイロットによるリアルタイム入力を、1つ以上の方向への変位を受ける3つの線形または3つのねじり過剰減衰ネジを艤装したシミュレートされた物体の応答に変換する。減衰機能をパイロットのジョイスティックに適用した1つの結果は、ドローンの速度または配向における急激な力学的応答を防止するドローンへの弱められた入力であり、その結果、映画的に望ましい特性を維持する計算されたスプラインへの修正をもたらす。バネモデルなどの減衰機能の別の結果は、パイロットがジョイスティックを解放してそのニュートラル位置に戻ることを許容した場合、ドローンがそのジョイスティック入力を受信し、修正を徐々にゼロに低減してスプラインへの滑らかな復帰を行う、修正されたジョイスティック入力に変換することである。同様に、パイロットが、(ドローンを計算されたスプラインから外れるように移動させるのではなく)配向スプラインによって決定された方向とは異なる方向に向くようにドローンを再配向するためにジョイスティックを使用する場合、ジョイスティック入力は、再配向における急激な力学的応答を回避するために減衰され、その結果、映画目的にとってより望ましい応答をもたらす。
【0065】
本技術のさらに別の実装形態では、減衰機能の適用は、計算されたスプラインまたはドローンの所定の飛行動作への修正に対して制限を与えることができる。パイロットによる入力へのドローンの力学的応答に対するこの制限は、ドローンの計算されたまたは所定の飛行経路の周りに動作エンベロープを作成する。例えば、
図8に示される例示的な俯瞰図では、減衰機能を通じてフィルタリングされたジョイスティックデータを使用して、パイロットは、ドローン804が飛行経路802を飛行する際に、飛行経路802から小さな偏向806を行わせることができる。パイロットの飛行コマンドに適用された減衰機能は、飛行経路802の周りに動作エンベロープ810を作成する。ドローン804のオートパイロットは、遠隔制御装置から受信するジョイスティックデータを考慮に入れながら、電気機械サブシステムに動作命令を提供し続ける。したがって、パイロットは、ドローンの動作の完全な制御を引き受ける必要なく、ドローン動作の特定の態様に自分の意識を集中することができる。
【0066】
図9は、オートパイロット制御によって飛行しているドローンの所定のドローン飛行経路の俯瞰
図900を示す。ドローンが所定の飛行経路904を飛行する際に、ドローンパイロットがジョイスティックを左に押すと(イベント920)、このような入力は通常、オートパイロット動作を解除し、結果的にドローンは左に方向転換し、ジョイスティックがその位置に保持されてそのすぐ後に解放されると、ドローンは後方に飛行し(926)、最終的に停止してホバリングする。しかしながら、本技術の一実装形態では、同じジョイスティック入力が、修正されたジョイスティックコマンド減衰機能を通じてフィルタリングされる。修正されたジョイスティックコマンドは、ドローンを飛行経路902からわずかに左方向に離脱902させるが、依然として飛行経路902を辿っている。したがって、ジョイスティックがニュートラル位置に復帰するとき(イベント922)、すなわちパイロットがジョイスティックを押すのを止めたとき、ドローンは、その計算された飛行経路904またはプログラムされた動作への復帰906または再開を実行する。本技術のこのような実装形態の正味の効果は、ドローンが優先的に飛行経路904を固守するが、ドローンパイロットによって提供されるジョイスティックデータに基づいて、ドローンの位置または配向に関してその経路から逸脱することができる、飛行経路904の周りの動作エンベロープ910を作成することである。
【0067】
ドローンが所定の飛行経路を飛行するとき、オートパイロットは、修正されたジョイスティックコマンドを電気機械サブシステムに伝達し、電気機械サブシステムはその後、相応にロータを減速させる。これらの修正されたジョイスティックコマンドは通常、50ミリ秒ごとなど、毎秒数回発行される。コマンドには、ドローンの現在位置、飛行経路に応じたドローンの所望の次の位置、および風速ならびに風向などの外部要因または環境要因が組み込まれる。本技術の一態様では、オートパイロットは、ドローン飛行動作を管理する要因を、修正されたジョイスティックコマンドに組み込む。これらの要因は、ジョイスティックデータへのドローンの力学的応答を弱めることによって、または衝突回避応答を物体検出に組み込むことなどによって、ドローン動作に影響を及ぼすことができる。
図10では、点1002は、計算されたスプラインに基づいて飛行制御サブシステムのオートパイロットによって漸進的に計算された位置データを表す。点1002はまた、ドローンは移行を管理する飛行パラメータも含み得るが、明確にするために、この例は、位置修正の議論に限定される。
図10に示されるドローン飛行経路の俯瞰
図1000は、過渡的な飛行経路偏向を引き起こす、遠隔制御デバイスから受信したジョイスティックデータの効果をさらに例示している。オートパイロットは、位置1020において、漸進的位置データ1006を含む飛行パラメータの新しいセットを含む新しい経路を作成し、やはり配向データを含み得る、修正されたジョイスティックコマンドを発行する。点1006は、遠隔制御装置から受信したジョイスティック入力への減衰応答を表す。パイロットが位置1022においてジョイスティックを押すのを止めると、ドローンオートパイロットは、ドローンを飛行経路1002に復帰させる漸進的位置データ1008を計算する。パイロットのジョイスティックコマンドの減衰は、パイロットが完全に継続的にジョイスティックを押したときであっても飛行経路から離脱するドローンの能力を制限する、飛行経路1002の周りの動作エンベロープ1012をもたらす。
【0068】
図11は、UAV101の飛行制御サブシステム124および遠隔制御装置130の1つ以上の構成要素によって実施されるプロセス1100を示す。プロセス1600は、飛行制御サブシステム124および遠隔制御装置130の1つ以上のハードウェアおよび/またはファームウェア要素によって実行されると、以下のように動作するように飛行制御サブシステム124および遠隔制御装置130に指示するプログラム命令において実施される。UAV101がパイロットによって動作される遠隔制御装置130によって飛行制御されると、コンピュータシステムは、飛行制御サブシステム124に動作可能に結合されたセンサからの斜視図を表示するように、遠隔制御装置130上のグラフィカルユーザインターフェース(GUI)に指示する(ステップ1110)。コンピュータシステムは、キーフレームを追加する命令を含む、GUIとインターフェースしているパイロットからの入力を検出し、キーフレームは、UAV101の空間位置およびセンサの方向を含む(ステップ1120)。コンピュータシステムは、複数のキーフレームの各々の間の投影された飛行経路または軌道を含み、センサの方向を含む、スプラインを連続的に生成および更新する(ステップ1130)。コンピュータシステムは、UAV101に搭載されたセンサからの斜視図にオーバレイされたスプラインのグラフィカル表現を連続的に表示する(ステップ1140)。一実装形態では、センサは、UAV101の一人称視点図を提供する前向きカメラである。カメラの方向は、水平飛行に対するカメラのジンバル角度に対応する。
【0069】
図12A~
図12Jは、遠隔制御装置の表示画面上のパイロットに提示されるユーザインターフェースの一実装形態を示す。この例では、遠隔制御装置は、パイロットから入力を受信し、それに従って飛行するようにドローンに命令する仮想現実ベースの自律飛行制御アプリケーションのユーザインターフェースを表示する。遠隔制御装置は、仮想形態ボタン、スライダなどの様々な入力デバイスと共に、タッチスクリーン上にユーザインターフェースを表示する。別の実装形態では、入力デバイスは、遠隔制御装置上の物理的なボタン、スライダ、トグル、ジョイスティックなどであってもよい。遠隔制御装置は、専用ドローン制御デバイス、スマートフォン、タブレットまたはモバイルデバイス、もしくはドローンと無線通信するラップトップまたは他のコンピュータなどのコンピューティングデバイスであってもよい。
【0070】
この例では、自律飛行制御アプリケーションは、そのユーザインターフェースの仮想入力デバイスを通じてユーザまたはパイロットから入力を受信する。仮想入力デバイスが「選択」されていると以下で記載される場合、これは、自律飛行制御アプリケーションがパイロットから、(仮想入力デバイスに触れる、タップする、または「クリック」することなどによって)仮想入力デバイスにその状態を変更させる指示を受信したことを示す。アプリケーションは、そのプログラム命令に従って状態のその変化に応答する。
【0071】
この例では、キーフレームモードで動作しているドローンは、小さな雑木林を周回する計算されたスプライン飛行経路または「スプライン」を生成し、次いで再生中にそのスプラインを飛行する。UIソフトウェアは、計算されたスプラインおよび関連するキーフレームのAR表現を生成し、タッチスクリーン上に搭載カメラからのライブビデオフィードをオーバレイする。UIソフトウェアは、キーフレームが追加、編集、または削除され、スプラインが生成または再計算されるとき、およびドローンがスプラインを飛行するときの再生中に、スプラインおよびキーフレームのAR表現を連続的に更新する。計算されたスプラインは、同じドローンまたは同様の能力を有する他のドローンによる後の使用のために記録および保存することができる。計算されたスプラインはまた、ユーザによって後に編集されてもよく、任意の変更は、新しいスプラインとして、または後の使用時にスプラインに選択的に追加され得る改訂とし保存されてもよい。
【0072】
この例の最初に、
図12Aは、スプラインが定義されるときのドローン遠隔制御装置のタッチスクリーン上のARベースの自律飛行制御アプリケーションのUIの実装形態を示す。タッチスクリーンは、搭載カメラによってキャプチャされたカメラビュー1210を表示する。タッチスクリーンの中央に、UIは、アプリケーションにドローンをそのドックから発射させる発射ボタン1201を表示する。画面の左側には、UIがドローン動作に関する様々な状態を提示する仮想インジケータ、またはパイロットがドローン動作の態様にアクセスすることができる仮想ボタン、すなわちバッテリ充電インジケータ1211、Wifi信号強度インジケータ1212、カメラ解像度インジケータボタン1213、および設定ボタン1214がある。画面の右側には、グラフィック地図にアクセスするための地図ボタン1221、ホームボタン1222、ビデオが記録されているか否かを示す自動記録インジケータ1223、設定ボタン1224、およびドローンの動作モード(この図では、ドローンは手動で動作されている)を示す動作モードグラフィック1225がある。
【0073】
図12Bは、一実装形態においてホームボタン1222が選択されたときの自律飛行制御アプリケーションのUIを示す。ホームボタン1222が選択されたことを示す入力をUIが受信すると、UIは、自動化されたドローン飛行のいくつかのモードの中から選択するためのシネマティックタブ1240を含むタブ付きウィンドウ1230を表示する。モーショントラックボタン1241は、ドローンに、途中の障害物を自律的に回避しながら飛行中に動いている個人または車両などの物体を追跡させる。固定トラックボタン1242は、固定トラック上を移動している被写体を追跡するために使用される固定トラックモードを開始する。固定トラックモードは、ドローンに、被写体から設定距離を保ちながら、ならびに元のカメラ配向を維持しながら、被写体に追従させる。軌道被写体ボタン1243は、ドローンの被写体追跡飛行動作を開始し、これによってアプリケーションは、被写体の周りの軌道を飛行するようにドローンに命令する。ケーブルボタン1244は、ドローンを動作させる方法に従事し、これによってアプリケーションは、飛行経路の終点をマークする2つのキーフレームを定義し、次いで2点間に張られたケーブルに繋がれているかのように、その間でドローンを飛行させる。ホバーボタン1245は、単一の空間位置またはキーフレームでドローンをホバリングさせる。キーフレームボタン1246は、アプリケーションが複数のキーフレームを記録および記憶し、キーフレームの各々の間のスプライン飛行経路を自動的かつ動的に生成し、そのスプラインを飛行するようにドローンに命令する、ドローン動作のキーフレームモードを起動する。キーフレームモードでは、アプリケーションはまた、パイロットの対話からUIによって受信した入力を、インターフェースの入力デバイスと組み合わせてもよい。キーフレームモードでは、既存のスプラインはまた、ドローンまたはキーフレームモード能力を有する他のドローンによる再利用のために、編集および保存することもできる。保存されたスプラインは、ドローンに搭載された不揮発性ストレージ、コントローラ、コントローラもしくはドローンと通信するコンピュータ、または接続されたクラウドストレージに保存され、そこから取り出されてもよい。
【0074】
図12Cは、キーフレームボタン1246が選択され、動作モードグラフィック1225によって指示されるようにドローンを動作させるキーフレームモードをアプリケーションに開始させるときの、自律飛行制御アプリケーションのUIを示す。このモードでは、タッチスクリーンは、搭載カメラからのカメラビュー1210を表示する。UIは、現在のモードである「キーフレームモード」を示すために、テキスト表示1203を表示する。飛行パラメータセット1202は、ドローン飛行速度、ドックからのドローン距離、ドローン高度、および水平飛行に対するカメラのジンバル角度を表示する、タッチスクリーンの左上隅のグラフィックである。タッチスクリーン下部中央に、UIは、パイロットがスプラインを生成する際に使用されるキーフレームを定義することができる仮想ボタンを表示する。追加ボタン1251は、アプリケーションにドローンの現在位置でキーフレームを追加させ、元に戻すボタン1250は、追加ボタン1251によってトリガされた動作を反転させ(すなわち、最後に追加されたキーフレームの追加を元に戻す)、完了ボタン1252は、キーフレームの追加を終了する。タッチスクリーンの右上隅には、キーフレームモードを一時停止するためのグラフィック1204があるため、パイロットは、自立飛行を停止して手動制御をとることができる。なお、カメラビュー1210は、テキスト表示1203の可視性を高めるために暗くされていることに留意されたい。
【0075】
図12Dは、キーフレームモードの開始時のUIを示し、自律飛行制御アプリケーションのUIは、テキスト表示1203に最初のキーフレームを追加するようにパイロットに促している。
図12Eは、最初のキーフレームが追加された後のUIを示す。キーフレームが追加されると、自律飛行制御アプリケーションは、ドローンの空間位置を記録する。アプリケーションはまた、新しく追加されたキーフレームの場所に、ドローン配向、搭載カメラのジンバル角度、搭載カメラの焦点距離および/または露出設定、ドローンの速度、および/または他の飛行パラメータまたは動作パラメータを記録し得る。
図12Fでは、ドローンは、第2のキーフレームのために雑木林により近い位置に操縦されており、第2のキーフレームが追加される。
図12Fは、キーフレームが追加されたことを確認するUIのテキスト表示1203を示す。
【0076】
本例は、キーフレームを追加するプロセスを続ける。
図12Gおよび
図12Hは、ドローンが雑木林の周りで操縦され、キーフレームが追加される際のタッチスクリーン表示を示す。キーフレームモードでは、自律飛行制御アプリケーションは、キーフレームが追加される際にスプラインを動的に再計算し、スプラインのAR表現は、表示上のUIによって連続的に更新される。
図12Hに示されるように、キーフレームが追加され、計算されたスプライン1260が、カメラビュー1210の上に拡張されたタッチスクリーン上に表示される。キーフレームマーカ1262は、計算されたスプライン1260上に菱形として表示される。
【0077】
もういくつかのキーフレームが追加された後、
図12Iは、17個目のキーフレームが追加される際に雑木林を見下ろすカメラビュー1210を示す。この図では、計算されたスプライン1260およびキーフレームマーカ1262がより明確に見える。計算されたスプライン1260は、複数のキーフレームの各々の間の飛行経路または軌道を含む三次元スプラインの二次元投影である。キーフレームの位置をマークする菱形のキーフレームマーカ1262のサイズは、追加された順序で変化し、最後に追加されたキーフレームが最も大きい菱形で示されている。計算されたスプライン1260およびキーフレームマーカ1262はまた、ドローンからの距離に比例してスケーリングされてもよく、キーフレームは、ドローンがキーフレーム位置に接近するにつれて表示上でサイズが動的に大きくなる。加えて、計算されたスプラインの始点または終点など、特定の目的に従ってキーフレームを示すために、異なる幾何学的形状が使用されてもよい。
【0078】
図12Jは、パイロットがキーフレームを追加し終わった時点でのキーフレーム追加およびスプライン生成中のUIを示す。パイロットが完了ボタン1252を選択すると、自律飛行制御アプリケーションは、スプラインが完了したという指示を受信し、
図13Aに示されるようなキーフレーム再生モードに切り替わる。
【0079】
図13A~
図13Dは、スプライン定義が完了し、スプラインが再生される、UIの実装形態を示す。
図13Aに示されるタッチスクリーン表示の下部に、自律飛行制御アプリケーションのUIは、計算されたスプラインの線形グラフィカル表現である、再生トラック1320を表示する。再生トラック1320上で、キーフレームは菱形1322として表され、スプラインに沿ったドローンの現在位置も矢印1324として示されている。キーフレーム間の相対距離は、再生トラック1320上の菱形1322の比例間隔によって示される。
図13Bは、タッチスクリーン表示への仮想速度制御スライダ1330の追加を示し、これによってUIは、アプリケーションに、計算されたスプライン1260を横切る際にドローンを加速、減速、またはホバリングさせる手動入力を受信する。速度制御スライダ1330を使用して、パイロットは、キーフレーム間で、またはスプライン全体にわたってドローン速度を制御することができる。なお、この図では、矢印1324は、ドローンが動いている時を示すために色を変化させることに留意されたい。一実装形態では、キーフレーム間を移動する相対時間は、再生トラック1320上の菱形1322の比例間隔によって示される。
【0080】
UIの再生トラック1320の追加機能は、計算されたスプライン1260上の任意の場所でドローンに「スナップ」させることである。再生トラック1320上のどこかをタップすることで、スプラインを横切ることなくその場所に直接ドローンを飛行させるようにアプリケーションに指示する。
【0081】
図13Cは、自律飛行制御アプリケーションが、キーフレームモードで再生中にスプライン1260を飛行する際のドローンの進行を表示する、UIの実装形態を示す。アプリケーションは、ドローンをスプラインに沿って前方または後方に飛行させるため、もしくは一時停止およびホバリングさせるために、仮想再生/停止ボタン1314および前進/後進ボタン1316を使用してパイロットからコマンドを受信し得る。UIは、スプラインに沿ったドローンの再生の方向および現在位置の両方を示すために、再生トラック1320を連続的に更新する。菱形1322は、キーフレームを通るドローンの進行を示すために色を変化させる。
【0082】
図13Dは、ドローンが
図12Dで記録された最初のキーフレームから開始して計算されたスプライン1260を移動し始める際の一実装形態における再生中のコントローラのタッチスクリーン表示を示す。このビューでは、自律飛行制御アプリケーションのUIは、アプリケーションに、スプラインに沿ったドローンの移動の速度を調整させ、スプラインに沿ってドローンを停止または反転させ、スプライン上で順序通りではないキーフレームにジャンプまたは「スナップ」させ、新しいキーフレームを追加させ、キーフレームを削除させ、または任意のキーフレームにおける速度または配向を編集させる、いくつかの飛行コマンドおよび動作コマンドを表示する。なお、計算されたスプライン1260のAR表現上で、ドローンがキーフレーム位置に接近するにつれてキーフレームマーカ1262の各々のサイズが大きくなることに留意されたい。UIは、タッチスクリーン上の背景(一人称)ビューから非常によく見える色で計算されたスプライン1260を表示する。この色は、カメラビュー1210の色の範囲を検出するアルゴリズムを使用してプログラムに従って選択することができ、またはこの色はパイロットによって手動で設定されてもよい。
【0083】
図14A~
図14Dは、スマートフォンのタッチスクリーン上に表示された自律飛行制御システムのユーザインターフェースの実装形態を示す。この例示的な実装形態では、キーフレームモードで動作している自律飛行制御アプリケーションは、複数のキーフレームの各々の間のスプラインを生成している。アプリケーションは、追加のキーフレームを追加することによって、または既存のキーフレームを編集することによって、再生中にスプラインを編集することができる。
【0084】
図14Aは、スプライン上のドローンの移動の開始前のUIを示す。UIは、スプラインに沿った距離に比例して、またはキーフレーム間の移動時間に比例してキーフレームの場所をマークする菱形1412を有する再生トラック1410を表示する。表示上では、スプライン1404は、ドローンがスプライン1404を横切る際に次のキーフレームの場所を示すキーフレームマーカ1406と共にカメラビュー1402上に表示されたARグラフィックである。
【0085】
図14Bは、ドローンが第2および第3のキーフレームの間の計算されたスプライン1404を移動する際のUIを示す。矢印1414は再生トラック1410を横切り、スプライン1404上のドローンの位置をリアルタイムで示す。再生トラック1410の隣には、仮想入力デバイスである編集ボタン1416および追加ボタン1418がある。ドローンがスプライン1404を横切る際に、これがキーフレームに到達すると、編集ボタン1416がアクティブになり、パイロットが編集のためにキーフレームを選択できるようになる。ドローンがスプライン1404に沿ってどこかを移動する際に、追加ボタン1418はアクティブであり、選択されると、ドローンの位置で新しいキーフレームを定義および追加するようにアプリケーションに促し、視覚追跡またはナビゲーション座標によって判定されたドローンの位置を記録および記憶する。アプリケーションはまた、搭載カメラのジンバル角度、露出設定、または焦点距離など、新しいキーフレームの他の飛行または動作パラメータも記録および記憶し得る。
【0086】
図14Cは、追加ボタン1418が選択されたときのUIを示す。UIは、設定ボタン1420をタップすることによって新しいキーフレームの場所を設定するようにパイロットに促す。設定ボタン1420がタップされると、アプリケーションはスプライン1404を再計算し、スプライン1404の更新されたグラフィカル表現を表示するようにUIに指示し、再生トラック1410に菱形を追加することによって新しいキーフレームの場所をマークする。
【0087】
図14Dは、ドローンが既存のキーフレームにある間にパイロットが追加ボタン1418をタップするときのUIを示し、アプリケーションは、新しいキーフレームが既存のキーフレームの前または後のどちらに配置されるか(または追加をキャンセルするか)を指示するようにパイロットに促す。パイロットが前または後を選択すると、アプリケーションはスプライン1404を再計算し、UIはこれに応じて表示を更新する。
【0088】
図15は、再生中にキーフレームモードで動作しているドローンの自律飛行制御アプリケーションのUIのさらに別の実装形態を示す一連の画像を含む。画像1510~1530は、ドローン遠隔制御装置上の表示を示す。画像1510において、表示は、一人称カメラビューが搭載カメラからのライブフィードであることを示している。画像1510の下部で、ドローン矢印インジケータは、右から左に移動して再生トラックを横切っており、キーフレーム4に接近するドローンを示している。ドローンがキーフレーム4に接近するにつれて、計算されたスプラインのARオーバレイ上で、キーフレーム4の場所をマークしている半透明の菱形は、ドローンが接近するにつれてサイズが大きくなり、ARキーフレームの菱形を通過するドローンをシミュレートするために消える(画像1520)。次に、画像1530は、計算されたスプライン上で継続するが、ドローンがパドルボーダを追跡するために右に旋回しているときの、ドローンの一人称視点を示す。前向きの配向から旋回しているので、表面上は画面の左にカメラビューから外れているため、計算されたスプラインのAR表現はもう見えない。
【0089】
当業者には理解されるように、本発明の態様は、システム、方法、またはコンピュータプログラム製品として具現化され得る。したがって、本発明の態様は、完全なハードウェア実施形態、完全なソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書では全て一般に「回路」、「モジュール」、または「システム」と呼ばれ得るソフトウェアおよびハードウェア態様を組み合わせた実施形態の形態をとり得る。さらに、本発明の態様は、コンピュータ可読プログラムコードが具現化された1つ以上のコンピュータ可読媒体において具現化されたコンピュータプログラム製品の形態をとり得る。
【0090】
様々な実装形態では、システム、方法、プロセス、および動作シナリオは、無人航空機、遠隔制御デバイス、またはコンピュータおよび携帯電話などのソフトウェアを実行することが可能な任意の他のタイプのデバイスの文脈で処理システムによって実行されるコンピュータソフトウェアで実装されてもよい。処理システムは、記憶システムからソフトウェアをロードして実行してもよく、またはソフトウェアで事前構成されてもよい。ソフトウェアは、計算されたスプラインを作成するためのプロセスを含んで実施し、これは、プロセス200およびプロセス700など、前出の図に関連して論じられたスプライン作成プロセスを表す。ソフトウェアはまた、自立飛行制御プログラムのユーザインターフェースに関連するプログラムも含んで実施し、これは、プロセス1100など、前出の図に関連して論じられた自立飛行制御プログラムのユーザインターフェースを表す。処理システムによって実行されると、ソフトウェアは、少なくとも前述の実装形態で論じられた様々なプロセス、動作シナリオ、およびシーケンスについて本明細書で説明されたように動作するように処理システムに指示する。
【0091】
例示的な処理システムは、マイクロプロセッサ、およびストレージからソフトウェアを取り出して実行する他の回路を備えてもよい。処理システムは、単一の処理デバイス内に実装されてもよいが、プログラム命令を実行する上で協働する複数の処理デバイスまたはサブシステムにわたって分散されてもよい。処理システムの例は、汎用中央処理ユニット、グラフィカル処理ユニット、特定用途向けプロセッサ、および論理デバイス、ならびに任意の他のタイプの処理デバイス、これらの組み合わせ、または変形を含む。
【0092】
例示的な記憶システムは、処理システムによって読み取り可能でソフトウェアを記憶することが可能な任意のコンピュータ可読記憶媒体を含み得る。記憶システムは、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなど、情報を記憶するための任意の方法または技術において実装される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含んでもよい。記憶媒体の例は、ランダムアクセスメモリ、読み出し専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または任意の他の適切な記憶媒体を含む。いかなる場合も、コンピュータ可読記憶媒体は伝播信号ではない。
【0093】
ソフトウェアは、プログラム命令で実装されてもよく、他の機能の中でも、処理システムによって実行されると、本明細書で示された様々な動作シナリオ、シーケンス、およびプロセスに関して説明されたように動作するように処理システムに指示し得る。特に、プログラム命令は、本明細書で説明された様々なプロセスおよび動作シナリオを実行するために協働するかまたは他の方法で相互作用する様々な構成要素またはモジュールを含み得る。様々な構成要素またはモジュールは、コンパイルもしくは解釈された命令、または命令の他の何らかの変形または組み合わせで具現化されてもよい。様々な構成要素またはモジュールは、同期的または非同期的に、連続でまたは平行して、単一スレッド環境またはマルチスレッドで、あるいは任意の他の適切な実行プログラム、その変形例、もしくは組み合わせに従って実行され得る。ソフトウェアは、オペレーティングシステムソフトウェア、仮想化ソフトウェア、または他のアプリケーションソフトウェアなどの追加のプロセス、プログラム、または構成要素を含み得る。ソフトウェアはまた、ファームウェア、または適切な処理システムによって実行可能なその他何らかの形態の機械可読処理命令も含み得る。
【0094】
一般に、ソフトウェアは、処理システムにロードされて実行されると、全体的に適切な装置、システム、またはデバイスを、汎用コンピューティングシステムから本明細書に記載されるような専用コンピューティングシステムに変換し得る。記憶システム上でソフトウェアを符号化することで、記憶システムの物理的構造を変換し得る。物理的構造の具体的な変換は、この説明の異なる実装形態における様々な要因に依存し得る。このような要因の例は、記憶システムの記憶媒体を実装するために使用される技術、およびコンピュータ記憶媒体が一次または二次記憶装置として特徴付けられるか否か、ならびに他の要因を含むが、これらに限定されない。
【0095】
例えば、コンピュータ可読記憶媒体が半導体ベースのメモリとして実装される場合、ソフトウェアは、半導体メモリを構成するトランジスタ、コンデンサ、または他のディスクリート回路素子の状態を変換することなどによって、プログラム命令がその中に符号化されるときに半導体メモリの物理的状態を変換し得る。磁気媒体または光学媒体に関しても同様の変換が起こり得る。本説明の範囲から逸脱することなく、物理媒体の他の変換も可能であり、上記の例は本議論を容易にするためにのみ提供されたものである。
【0096】
無人航空機、遠隔制御デバイス、または本発明の態様が具現化され得る他のデバイスは、通信インターフェースシステムを含み得ることがさらに理解されよう。通信インターフェースシステムは、通信ネットワーク(図示せず)を介して他のコンピューティングシステムおよびデバイス(図示せず)との通信を可能にする通信接続およびデバイスを含み得る。システム間通信を共に可能にする接続およびデバイスの例は、ネットワークインターフェースカード、アンテナ、電力増幅器、RF回路、トランシーバ、およびその他の通信回路を含み得る。接続およびデバイスは、金属、ガラス、空気、または任意の他の適切な通信媒体など、システムの他のコンピューティングシステムまたはネットワーと通信を交換するための通信媒体を介して通信し得る。前述の媒体、接続、およびデバイスは周知のものであり、ここで詳細に論じられる必要はない。
【0097】
このようなシステム間およびデバイス間の通信は、1つまたは複数の通信ネットワークを介して、様々な通信プロトコル、プロトコルの組み合わせ、またはそれらの変形に従って行われ得る。例としては、イントラネット、ネットワーク間接続、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、無線ネットワーク、有線ネットワーク、仮想ネットワーク、ソフトウェア定義ネットワーク、データセンターバスおよびバックプレーン、または任意の他のタイプのネットワーク、ネットワークの組み合わせ、またはその変形を含む。前述の通信ネットワークおよびプロトコルは周知のものであり、ここで詳細に論じられる必要はない。
【0098】
無人航空機、遠隔制御デバイス、または本技術の態様が具現化され得る他のデバイスは、ユーザインターフェースシステムを含み得る。ユーザインターフェースシステムは、ジョイスティック、キーボード、マウス、音声入力デバイス、ユーザからタッチジェスチャを受け取るためのタッチ入力デバイス、ユーザによる非タッチジェスチャおよびその他の動作を検出するための動作入力デバイス、ならびにユーザからのユーザ入力を受け取ることができる他の同等の入力デバイスおよび関連する処理要素(例えば、ジョイスティックトグル)のうちの1つ以上を含み得る。ディスプレイ、スピーカ、触覚デバイス、およびその他の種類の出力デバイスなどの出力デバイスもまた、ユーザインターフェースシステムに含まれ得る。場合によっては、入力デバイスおよび出力デバイスは、画像を表示してタッチジェスチャを受け取ることが可能なディスプレイなど、単一のデバイスに組み合わされてもよい。前述のユーザ入力デバイスおよび出力デバイスは当該技術分野において周知のものであり、ここで詳細に論じられる必要はない。ユーザインターフェースシステムはまた、上記で論じられた様々なユーザ入力デバイスおよび出力デバイスをサポートする適切な処理システムによって実行可能な関連するユーザインターフェースソフトウェアも含み得る。別個に、または互いにもしくは他のハードウェアおよびソフトウェア要素と併せて、ユーザインターフェースソフトウェアおよびユーザインターフェースデバイスは、グラフィカルユーザインターフェース、ナチュラルユーザインターフェース、または任意の他のタイプのユーザインターフェースをサポートし得る。
【0099】
本技術の態様は、計算されたスプライン飛行経路に沿った、または連続するキーフレームもしくは他のソースから取得したプログラムされた飛行経路に沿ったドローン動作のための様々な動作シナリオを説明することが、さらに理解されよう。ドローンのオートパイロットが飛行経路または他の外部動作要因に基づいて電気機械サブシステムに修正されたジョイスティックコマンドを発行すると、ドローンパイロットは、遠隔制御デバイス上のジョイスティックを介して動作コマンドを発行し得る。オートパイロットは、ジョイスティックデータを受信し、UAVマイクロプロセッサに対して発行された見かけ上のジョイスティックコマンドにこのデータを組み込む。オートパイロットは、飛行経路に沿ったドローンの動作に対する制御を維持し、ドローンの動作にジョイスティックデータを組み込む能力は、ドローンパイロットが最適なドローン動作を達成するために飛行の1つ以上の態様を制御することを可能にする飛行経路に沿った動作エンベロープをもたらす。
【0100】
文脈が明らかに別途必要としない限り、説明および請求項全体を通して、「備える」、「備えている」、「など(such as)」、「など(the like)」などの語は、排他的または網羅的な意味ではなく、包括的な意味で、つまり「含むがそれに限定されない」という意味で、解釈されるべきである。本明細書で使用される際に、「接続された」、「結合された」という用語、またはこれらの任意の変形は、2つ以上の要素間の直接的または間接的な任意の接続または結合を意味し、要素間の結合または接続は、物理的、論理的、またはこれらの組み合わせであり得る。加えて、「本明細書で」、「上記」、「以下」という用語、および類似の意味の語は、この出願で使用されるとき、この出願のいずれか特定の部分ではなく、この出願全体を指す。文脈が許せば、単数または複数の数を使用する上記の詳細な説明の語は、それぞれ複数および単数の数も含み得る。2つ以上のアイテムのリストに関連する「または」という語は、その語の以下の解釈のすべてを網羅する。リスト内のアイテムのいずれか、リスト内のアイテムのすべて、およびリスト内のアイテムのいずれかの組み合わせを網羅する。
【0101】
本技術の例の上記詳細な説明は、網羅的であること、または本技術を上記で開示された正確な形態に限定することを意図していない。本技術の具体例は例示目的で説明されているが、当業者が認識するように、本技術の範囲内で様々な同等の修正が可能である。例えば、プロセスおよびブロックは所与の順序で提示されているが、代替実施例は、異なる順序の動作を有するルーチンを実行するか、または異なる順序のブロックを有するシステムを採用してもよく、いくつかのプロセスまたはブロックは、代替例またはサブコンビネーションを提供するために、削除、移動、追加、細分化、組み合わせ、および/または修正されてもよい。これらのプロセスまたはブロックの各々は、様々な異なる方法で実施されてもよい。また、プロセスまたはブロックは、時々連続して実行されているように示されるが、これらのプロセスまたはブロックは、代わりに平行して実行または実施されてもよく、もしくは異なる時間に実行されてもよい。さらに、本明細書に記載されるいずれの具体的な数値も単なる例である。代替実装形態は、異なる値または範囲を採用してもよい。
【0102】
本明細書で提供される技術の教示は、必ずしも上記で説明されたシステムではなく、別のシステムに適用することができる。上記で説明された様々な例の要素および動作は、本技術のさらなる実装形態を提供するために組み合わせることができる。本技術のいくつかの代替実装形態は、上記の実施例への追加要素を含み得るだけでなく、より少ない要素を含むこともできる。
【0103】
これらおよびその他の変更は、上記の詳細な説明に照らして、本技術に対して行うことができる。上記の説明は本技術の特定の例を説明し、考えられる最良のモードを説明しているが、上記が文中でどれほど詳細に見えても、本技術は多くの方法で実践することができる。システムの詳細は、その具体的な実装形態においてかなり異なる場合があるが、依然として本明細書に開示される技術に含まれる。上述のように、本技術の特定の特長または態様を説明するときに使用される特定の術語は、その術語が関連する技術のいずれの具体的な特性、特徴、または態様にも限定されないようにその術語が本明細書で再定義されることを暗示するものと解釈されるべきではない。一般に、以下の請求項で使用される用語は、上記の詳細な説明のセクションがそのような用語を明確に定義しない限り、本明細書に開示される具体例に本技術を限定するものと解釈されるべきではない。したがって、本技術の実際の範囲は、開示された例のみではなく、請求項の下で本技術を実践または実施するすべての同等の方法も包含する。
【0104】
請求項の数を削減するために、本技術の特定の態様が、以下で特定の請求項形式で提示されるが、本出願人は、任意の数の請求項形式で本技術の様々な態様を検討する。例えば、本技術の1つの態様のみがコンピュータ可読媒体クレームとして列挙されるが、他の態様がコンピュータ可読媒体として、またはミーンズプラスファンクションクレームで実現されるなど他の形態で、同様に実現されてもよい。米国特許法第112条(f)項の下で扱われるように意図されるいずれの請求項も、「~するための手段(means for)」という語で始まるが、他のいずれの文脈での用語「ための(for)」の使用も、米国特許法第112条(f)項の下での扱いを想起させることを意図しない。したがって、本出願人は、この出願または継続出願のいずれかで追加請求項形式を追求するために、この出願を申請した後にこのような追加請求項を追求する権利を留保する。
【手続補正書】
【提出日】2024-11-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
航空機を制御するための方法であって、該方法は、
ユーザコンピューティングデバイスによって、前記ユーザコンピューティングデバイスにおいてグラフィカルユーザインターフェース(GUI)を連続的に提示するステップであって、前記GUIは、前記航空機の視点からの物理的環境の現在のビューの表示を含み、前記ビューは、前記航空機に搭載されたセンサデバイスからのセンサデータに基づいて生成される、ステップと、
前記ユーザコンピューティングデバイスによって、前記GUIとのユーザ対話を検出するステップであって、前記ユーザ対話は、複数のキーフレームを追加する命令を含み、各キーフレームは、前記航空機の三次元空間における場所を含む、ステップと、
前記ユーザコンピューティングデバイスによって、前記航空機の視点からの前記物理的環境の現在のビューにオーバレイされたスプラインのグラフィカル表現を連続的に表示するステップであって、前記スプラインは、前記複数のキーフレームの各々の間の飛行経路を含む、ステップと、を含み、
前記GUIは、前記スプラインの線形表現をさらに含み、前記スプラインの線形表現は、該スプライン上の前記複数のキーフレームの空間位置に比例して離間した前記複数のキーフレームのグラフィカルマーカ表現をさらに含む、
方法。
【請求項2】
前記複数のキーフレームの各々は、前記センサデバイスの方向をさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項3】
前記スプラインのグラフィカル表現は、前記スプライン上に前記複数のキーフレームの場所を示すグラフィカルマーカをさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項4】
前記スプラインの
線形表現は、前記スプライン上に前記
航空機の場所を示すグラフィカルマーカをさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項5】
前記ユーザ対話は、航空機速度を設定する命令をさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項6】
前記ユーザ対話は、1つ以上のキーフレームを編集および削除する命令をさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項7】
前記スプラインを非一時的コンピュータ可読記憶媒体に保存するステップをさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項8】
前記複数のキーフレームの各々は、センサデバイス焦点距離をさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項9】
前記複数のキーフレームの各々は、前進運動の前記方向に対する航空機速度および配向をさらに含む、請求項1に記載の航空機を制御するための方法。
【請求項10】
前記スプラインは、前記航空機に搭載されたコンピューティングデバイスによって生成および更新される、請求項1に記載の航空機を制御するための方法。
【請求項11】
計算装置であって、
1つ以上の非一時的コンピュータ可読記憶媒体と、
前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令であって、1つ以上のプロセッサによって実行されると、前記計算装置に少なくとも
前記計算装置においてグラフィカルユーザインターフェース(GUI)を連続的に提示し、前記GUIは、前記航空機の視点からの物理的環境の現在のビューの表示を含み、前記ビューは、前記航空機に搭載されたセンサデバイスからのセンサデータに基づいて生成され、
前記GUIとのユーザ対話を検出し、前記ユーザ対話は、複数のキーフレームを追加する命令を含み、各キーフレームは、前記航空機の三次元空間における場所を含み、
前記航空機の視点からの前記物理的環境の現在のビューにオーバレイされたスプラインのグラフィカル表現を連続的に表示し、前記スプラインは、前記複数のキーフレームの各々の間の飛行経路を含む、
ように指示するプログラム命令と、
を備え、
前記GUIは、前記スプラインの線形表現をさらに含み、前記スプラインの線形表現は、該スプライン上の前記複数のキーフレームの空間位置に比例して離間した前記複数のキーフレームのグラフィカルマーカ表現をさらに含む、
計算装置。
【請求項12】
前記複数のキーフレームの各々は、
前記センサデバイスの方向と、
センサデバイス焦点距離、ならびに前進運動の前記方向に対する航空機速度および配向のうちの1つ以上をさらに含む、請求項11に記載の計算装置。
【請求項13】
前記スプラインのグラフィカル表現は、前記スプライン上に前記複数のキーフレームの場所を示すグラフィカルマーカをさらに含む、請求項11に記載の計算装置。
【請求項14】
前記スプラインの線形表現は、前記スプライン上に前記航空機の場所を示すグラフィカルマーカをさらに含む、請求項11に記載の計算装置。
【請求項15】
前記ユーザ対話は、前記航空機速度を設定するか、または1つ以上のキーフレームを編集もしくは削除するための1つ以上の命令をさらに含む、請求項11に記載の計算装置。
【国際調査報告】