(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】分散飛行制御システムで最適化を使用する推力割当
(51)【国際特許分類】
B64D 31/10 20060101AFI20240827BHJP
B64D 27/24 20240101ALI20240827BHJP
B64D 25/00 20060101ALI20240827BHJP
B64U 20/80 20230101ALI20240827BHJP
H02P 5/46 20060101ALI20240827BHJP
【FI】
B64D31/10
B64D27/24
B64D25/00
B64U20/80
H02P5/46 F
H02P5/46 J
(21)【出願番号】P 2022549412
(86)(22)【出願日】2021-02-01
(86)【国際出願番号】 US2021016054
(87)【国際公開番号】W WO2021167779
(87)【国際公開日】2021-08-26
【審査請求日】2022-10-07
(32)【優先日】2020-02-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519225026
【氏名又は名称】キティー・ホーク・コーポレーション
【氏名又は名称原語表記】KITTY HAWK CORPORATION
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】ウィーラー・ティム・アラン
【審査官】大宮 功次
(56)【参考文献】
【文献】特表2020-503209(JP,A)
【文献】米国特許出願公開第2019/0202546(US,A1)
【文献】国際公開第2019/224954(WO,A1)
【文献】特開2002-258905(JP,A)
【文献】特開2014-227155(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B64D 31/10
B64D 27/24
B64D 25/00
B64U 20/80
H02P 5/46
(57)【特許請求の範囲】
【請求項1】
航空機であって、
複数の飛行制御装置であって、
前記航空機内の複数のモータに関する推力値を生成し、前記複数の飛行制御装置の中の各前記飛行制御装置は、単一解を有する最適化問題を使用して前記複数のモータの中の前記モータごとに前記推力値を生成し、
前記複数の飛行制御装置の中の前記飛行制御装置ごとに、生成された前記推力値の1つを前記複数のモータの中の対応する前記モータに渡すように構成された複数の飛行制御装置を備え、その飛行制御装置に関して生成された他の前記推力値は、その飛行制御装置で終了し、
前記複数のモータは、渡された前記推力値を実現するように構成され、
前記推力値を生成することは、最大推力ベクトルを使用して実現可能であるように前記推力値を制約することを含み、全てのモータ故障が前記最大推力ベクトルに反映される航空機。
【請求項2】
請求項1に記載の航空機であって、
実現可能であるように前記推力値を制約することは、ゼロ以上であるように前記推力値を制約することをさらに含む航空機。
【請求項3】
請求項1に記載の航空機であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値と等しいか否かを追跡することによることを含む、アクティブセット技法を使用することを含み、前記最大推力ベクトル中の対応する前記最大推力値を0にすることにより、全ての前記モータ故障が前記最大推力ベクトルに反映される航空機。
【請求項4】
請求項1に記載の航空機であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値と等しいか否かを追跡することによることを含む、アクティブセット技法を使用することを含み、
前記最大推力ベクトル中の対応する前記最大推力値を0にすることにより、全ての前記モータ故障が前記最大推力ベクトルに反映され、
第1組の所望の力およびモーメントを得るために生成された第1組の推力値は、次の第2組の所望の力およびモーメントを得るための推力値を生成するときに初期の1組の推力値として使用される航空機。
【請求項5】
方法であって、
航空機内の複数のモータに関する推力値を生成し、複数の飛行制御装置の中の各前記飛行制御装置は、単一解を有する最適化問題を使用して前記複数のモータの中の前記モータごとに前記推力値を生成し、
前記複数の飛行制御装置の中の前記飛行制御装置ごとに、生成された前記推力値の1つを前記複数のモータの中の対応するモータに渡し、その飛行制御装置に関して生成された他の前記推力値は、その飛行制御装置で終了し、
渡された前記推力値を前記複数のモータを使用して実現すること
を備え、
前記推力値を生成することは、最大推力ベクトルを使用して実現可能であるように前記推力値を制約することを含み、全てのモータ故障が前記最大推力ベクトルに反映される方法。
【請求項6】
請求項5に記載の方法であって、
実現可能であるように前記推力値を制約することは、ゼロ以上であるように前記推力値を制約することを含む方法。
【請求項7】
請求項5に記載の方法であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値と等しいか否かを追跡することを含む、アクティブセット技法を使用することを含み、前記最大推力ベクトル中の対応する前記最大推力値を0にすることにより、全ての前記モータ故障が前記最大推力ベクトルに反映される方法。
【請求項8】
請求項5に記載の方法であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値と等しいか否かを追跡することを含む、アクティブセット技法を使用することを含み、
前記最大推力ベクトル中の対応する前記最大推力値を0にすることにより、全ての前記モータ故障が前記最大推力ベクトルに反映され、
第1組の所望の力およびモーメントを得るために生成された第1組の推力値は、次の第2組の所望の力およびモーメントを得るための推力値を生成するときに初期の1組の推力値として使用される方法。
【請求項9】
コンピュータプログラム製品であって、非一時的コンピュータ可読記憶媒体の中に具体化され、
航空機内の複数のモータに関する推力値を生成するためのコンピュータ命令と、複数の飛行制御装置の中の各前記飛行制御装置は、単一解を有する最適化問題を使用して前記複数のモータの中の前記モータごとに前記推力値を生成し、
前記複数の飛行制御装置の中の前記飛行制御装置ごとに、生成された前記推力値の1つを前記複数のモータの中の対応するモータに渡すためのコンピュータ命令と、その飛行制御装置に関して生成された他の前記推力値は、その飛行制御装置で終了し、
渡された前記推力値を前記複数のモータを使用して実現するコンピュータ命令と
を備え、
前記推力値を生成するための前記コンピュータ命令は
、最大推力ベクトルを使用して実現可能であるように前記推力値を制約するためのコンピュータ命令を含み、全て
のモータ故障が前記最大推力ベクトルに反映されるコンピュータプログラム製品。
【請求項10】
請求項9に記載のコンピュータプログラム製品であって、
実現可能であるように前記推力値を制約するための前記コンピュータ命令は、ゼロ以上であるように前記推力値を制約するためのコンピュータ命令をさらに含むコンピュータプログラム製品。
【請求項11】
請求項9に記載のコンピュータプログラム製品であって、前記推力値を生成するためのコンピュータ命令は、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値と等しいか否かを追跡することによることを含む、アクティブセット技法を使用するためのコンピュータ命令を含み、前記最大推力ベクトル中の対応する前記最大推力値を0にすることにより、全ての前記モータ故障が前記最大推力ベクトルに反映されるコンピュータプログラム製品。
【請求項12】
請求項9に記載のコンピュータプログラム製品であって、前記推力値を生成するためのコンピュータ命令は、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値と等しいか否かを追跡することによることを含む、アクティブセット技法を使用するためのコンピュータ命令を含み、
前記最大推力ベクトル中の対応する前記最大推力値を0にすることにより、全ての前記モータ故障が前記最大推力ベクトルに反映され、
第1組の所望の力およびモーメントを得るために生成された第1組の推力値は、次の第2組の所望の力およびモーメントを得るための前記推力値を生成するときに初期の1組の推力値として使用されるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
電動垂直離着陸(electric vertical take-off and landing、eVTOL)マルチコプタなどの個人用航空機は、混雑した高速道路および都市の街路を迂回する方法を提供する。しかしながら、そのような車両にとって安全性は重要な考慮事項である。詳細には、そのようなeVTOLマルチコプタは翼がないので、モータ故障または他の緊急事態の場合に滑空できない。eVTOLマルチコプタなどの航空機をより安全にする新しい技法および/またはシステムが望まれる。
【背景技術】
【0002】
以下の詳細な記述および添付図面で本発明のさまざまな実施形態について開示する。
【図面の簡単な説明】
【0003】
【
図1】単一解を有する最適化問題を使用して推力値を生成し、それらの推力値をモータに実現させる処理の実施形態を例示する流れ図である。
【0004】
【
図2】電動垂直離着陸(eVTOL)マルチコプタの実施形態を例示する略図である。
【0005】
【
図3A】図示する関連付けられている回転翼の回転方向および回転速度でホバリングしているeVTOLマルチコプタの実施形態を例示する上面図の略図である。
【0006】
【
図3B】図示する関連付けられている回転翼の回転方向および回転速度で右旋回するeVTOLマルチコプタの実施形態を例示する上面図の略図である。
【0007】
【
図3C】図示する関連付けられている回転翼の回転方向および回転速度で前傾するeVTOLマルチコプタの実施形態を例示する上面図の略図である。
【0008】
【
図4】冗長飛行制御装置および判断ブロックを伴う飛行制御システムの例を示す略図である。
【0009】
【
図5】分散飛行制御システムの実施形態を例示する略図である。この例では、飛行制御装置の数はモータの数に等しい。
【0010】
【
図6】モータ故障を伴うeVTOLマルチコプタの実施形態を例示する上面図の略図である。
【0011】
【
図7】段階的推力割当処理の例を示す略図である。推力割当のこの例では、推力は段階的に割り当てられる。
【0012】
【
図8】最大推力ベクトルを使用することによることを含む、推力値を生成する処理の実施形態を例示する流れ図である。
【0013】
【
図9】推力値のいずれかが能動的に制約されているか否かを追跡することによることを含む、推力値を生成する処理の実施形態を例示する流れ図である。
【0014】
【
図10】軸重みパラメータを使用することによることを含む、推力値を生成する処理の実施形態を例示する流れ図である。
【0015】
【
図11】最適化問題が異なる目標に関連付けられている多数の部分または項を有する、推力値を生成する処理の実施形態を例示する流れ図である。
【発明を実施するための形態】
【0016】
本発明は処理、装置、システム、物質の組成、コンピュータ可読記憶媒体上に具体化されたコンピュータプログラム製品、ならびに/またはプロセッサに連結されたメモリにより記憶および/もしくは提供された命令を実行するように構成されたプロセッサなどのプロセッサを含む、さまざまな方法で実装できる。本明細書では、これらの実装形態、または本発明が取ってよい任意の他の形態を技法と呼ぶことがある。一般に、開示する処理のステップの順序を本発明の範囲内で変えてよい。特に指定のない限り、タスクを遂行するように構成されていると記述されるプロセッサまたはメモリなどの構成要素は、所与の時間にタスクを遂行するように一時的に構成される一般的構成要素として、またはタスクを遂行するように製造された特有の構成要素として実装されてよい。本明細書で使用するとき、「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つもしくは複数の機器、回路、および/または処理コアを指す。
【0017】
本発明の原理を例示する添付図と共に、本発明の1つまたは複数の実施形態の詳細な記述を以下に提供する。そのような実施形態に関連して本発明について記述するが、本発明はどの実施形態にも限定されない。本発明の範囲は、特許請求の範囲だけにより限定され、本発明は、数多くの代替形態、修正形態、および均等形態を包含する。本発明を十分に理解できるように、以下の記述では数多くの特有の詳細について示す。これらの詳細は、例示するために提供され、本発明は、これらの特有の詳細の一部またはすべてなしに特許請求の範囲に従って実施してよい。明確にするために、本発明に関係がある技術分野で公知の技術的題材については、本発明を不必要に不明瞭にしないように、詳細には記述していない。
【0018】
単一解を有する最適化問題を使用して推力割当を遂行する(すなわち、車両内のモータに関する推力値を生成する)分散飛行制御システムのさまざまな実施形態について本明細書で記述する。本明細書で記述するいくつかの例では、車両は、回転翼(モータ)の各々が独立に制御可能であり、かつ本明細書で記述する技法を使用して推力値が生成される電動垂直離着陸(eVTOL)マルチコプタである。以下でより詳細に記述するように、本明細書で記述するシステムおよび/または技法の利益は、モータ故障が存在する場合、特に明らかである、および/または有用である。たとえば、本明細書で記述するシステムおよび/または技法は、1つまたは複数のモータ故障の場合、より安全な、および/またはより制御された緊急着陸を可能にする手法で推力を割り当ててよい。以下の図は、凸最適化を使用して推力割当を遂行する分散飛行制御システムの1つのそのような実施形態について記述する。
【0019】
図1は、単一解を有する最適化問題を使用して推力値を生成し、それらの推力値をモータに実現させる処理の実施形態を例示する流れ図である。上記で記述するように、いくつかの実施形態では、処理は、eVTOL航空機により、および/またはeVTOL航空機の中で遂行される。
【0020】
100では、複数の飛行制御装置を使用して航空機内の複数のモータに関する推力値を生成され、複数の飛行制御装置の中の各飛行制御装置は、単一解を有する最適化問題を使用して複数のモータの中のモータごとに推力値を生成する。たとえば、航空機内にNのモータおよびNの飛行制御装置が存在すると仮定する。飛行制御装置の各々は、狭義の凸最適化問題または狭義の凹最適化問題(たとえば、以下でより詳細に記述する、狭義の凸最適化関数の最小値を見いだす)を使用して推力値を生成する。(たとえば、飛行制御装置により遂行される)最適化問題は狭義に凸または狭義に凹であるので、単一の一意解が存在する。これによりすべての飛行コンピュータは、推力割当を並列に遂行できるようになるが、依然として同じ解に至り、その結果、分散飛行制御システムアーキテクチャが可能になる。さまざまな実施形態では、飛行制御装置は、ハードウェア(たとえば、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate array、FPGA))、またはソフトウェア(たとえば、埋込マイクロプロセッサ上で走るファームウェア)の中に実装されてよい。
【0021】
102では、複数の飛行制御装置の中の飛行制御装置の各々について、生成された推力値の1つが、複数のモータの中の対応するモータに渡され、その飛行制御装置に関して生成された他の推力値は、その飛行制御装置で終了する。たとえば、第1の飛行制御装置が、それぞれ1~10のインデックスまたは番号を付けられたモータに関する10の推力値を生成すると仮定する。(第1のモータに関連付けられている、および/または第1のモータに関してインデックスを付けられた)第1の生成された推力値は、その第1のモータに渡される。第1の飛行制御装置から得られたその他の生成された推力値は、どのモータにも接続されず、第1の飛行制御装置で終了する。第2の飛行制御装置では、第2の生成された推力値は、第2のモータに渡されるが、その他の生成された推力値は、どのモータにも接続されないなどである。
【0022】
104では、渡された推力値は、複数のモータを使用して実現される。別の言い方をすれば、モータは、自身が受け取った推力値を達成する(たとえば、第1のモータは、第1の飛行制御装置から得られる第1の推力値を実現(実行)し、第2のモータは、第2の飛行制御装置から得られる第2の推力値を実現(実行)するなどである)。以下でより詳細に記述するように、モータ不具合の場合、この処理は、緊急着陸をよりよく実現できることがある(たとえば、緊急着陸は、より安全である、および/またはより制御された降下である)。
【0023】
図1の処理をよりよく理解するために、上記で記述する処理を遂行する代表的車両について記述することは役立つことがある。次の図は、
図1の処理を使用して自身のモータを制御する代表的eVTOL航空機について記述する。
【0024】
図2は、電動垂直離着陸(eVTOL)マルチコプタの実施形態を例示する略図である。この例では、eVTOL航空機(200)は、10の回転翼(たとえば、回転翼202)を伴うマルチコプタである。10の回転翼の各々は、
図2に示さない自身のモータおよび自身の電池により独立に動力を与えられる、および/または制御される。この独立した可制御性は、eVTOL航空機がさまざまな巧みな操作を遂行できるようにする。回転翼は、固定した位置および角度にある。したがって、巧みな操縦または他の方法で航空機を飛ばすために、モータを独立に制御して所望の力およびモーメントを作り出す。巧みな操縦の例についていくつか以下で記述する。
【0025】
図3Aは、図示する関連付けられている回転翼の回転方向および回転速度でホバリングしているeVTOLマルチコプタの実施形態を例示する上面図の略図である。(
図2に示す)車両がホバリングしているこの例では、外側の8つの回転翼(300a~307a)は、全体のモーメントをまったく提供しないようにほぼ等しく回転している。たとえば、回転翼300a~307aに関連付けられている湾曲した矢印の大きさは、ほぼ同じ長さであることに留意されたい。矢印の方向は、所与の回転翼に関する回転方向を示す。所与のモータ(回転翼)の(たとえば、湾曲した矢印の長さにより表される)回転速度は、(たとえば、
図1のステップ100で生成された)そのモータに関して生成された推力値により制御される。
【0026】
図3Bは、図示する関連付けられている回転翼の回転方向および回転速度で右旋回するeVTOLマルチコプタの実施形態を例示する上面図の略図である。この例では、車両は右に向いており、したがって、時計回りに回転する回転翼(たとえば、回転翼302b、304b、306b、および307b)は反時計回りの回転翼(たとえば、回転翼300b、301b、303b、および305b)よりも速く回転させられる。これにより、全体のヨー(偏揺れ)モーメントを増大させながら(たとえば、その結果車両は向きを変える)全体の垂直力を維持する(たとえば、その結果、安定した高さを維持している)。
【0027】
図3Cは、図示する関連付けられている回転翼の回転方向および回転速度で前傾する(下方に傾いている)eVTOLマルチコプタの実施形態を例示する上面図の略図である。必要なピッチング(縦揺れ)モーメントを提供するために、質量中心の背後にある後方回転翼(たとえば、回転翼302c~305c)は、前方回転翼(たとえば、回転翼300c、301c、306c、および307c)よりも速く回転する。
【0028】
モータを制御するために使用する制御推力値は、さまざまな(制御)システムにより生成されてよい。次の図は、冗長飛行制御装置および判断ブロックを伴ったより古いシステムの例について記述する。
【0029】
図4は、冗長飛行制御装置および判断ブロックを伴う飛行制御システムの例を示す略図である。他のシステムがどのようにして推力割当を遂行するかについて示すこの例では、3つの飛行コンピュータ(400a~400c)を使用して冗長性を提供する。飛行コンピュータは、(所望の)力およびモーメント(たとえば、F
z、M
x、M
y、およびM
z)を入力する。各飛行コンピュータは、推力割当を遂行して(たとえば、推力値を生成して)入力された、ならびに/または所望の力およびモーメントを作り出す。たとえば、飛行制御装置A(400a)は、それぞれモータ1~10に関する推力値1A~10Aを生成する。同様に、飛行制御装置B(400b)は、それぞれモータ1~10に関する推力値1B~10Bを生成するなどである。
【0030】
生成された推力値のすべては、飛行コンピュータ(400a~400c)から判断ブロック(402)に渡される。判断ブロックは、生成された推力値のすべてを使用してモータにどの推力値を伝えるかに関する結論に達する。たとえば、飛行コンピュータの各々から得られる、所与のモータに関する推力値を判断ブロックが比較してよい投票方式を使用してよい(たとえば、モータ1については、推力値1A~1Cを比較する)。所与のモータに関する推力値のうち2つ以上が同じである場合、その推力値は、第1の一致推力値(たとえば、一致推力1)として出力され、そのモータ(たとえば、モータ1(404a))に渡される。たとえば、第1のモータ(404a)に関して飛行制御装置A(400a)から得られる推力1Aおよび飛行制御装置B(400b)から得られる推力1Bが同じであるが、飛行制御装置C(400c)から得られる推力1Cが異なる場合、判断ブロック402は(少なくともこの投票方式の例では)推力1A/1Bの多数決推力値を伝える。
【0031】
同様に、そのモータに関して入力された推力値(たとえば、それぞれ飛行制御装置A(400a)、飛行制御装置B(400b)、および飛行制御装置C(400c)から得られた推力2A、2B、および2C)に基づき、第2のモータ(404b)に関して判断ブロック(402)により第2の一致推力値(たとえば、一致推力2)が生成される。これは、システム内のモータごとに行われる。
【0032】
ここで示す制御システムに関連する1つの欠点は、判断ブロック(402)が複雑になることがあることである。たとえば、冗長性を得るために、判断ブロックをさらにまた二重にしなければならないことがあり、それにより、意思決定に投票する、より多くの通信チャネルおよび/または別の層を必要とする。より一般的に言うと、判断ブロックは複雑になる傾向がある。次の図は、所望の力およびモーメントを達成するときにより速い、および/またはよりよいことが後で分かった、改善された、および/またはより簡単な(制御)システムを示す。
【0033】
図5は、分散飛行制御システムの実施形態を例示する略図である。この例では、飛行制御装置の数はモータの数に等しい。したがって、この例では、10のモータが存在するので10の飛行制御装置(500a~500d)が存在する。それとは対照的に、
図4の例では飛行制御装置の数は、他の設計目標に従って選択され、(たとえば、その例では投票システムを使用するので)(たとえば、冗長性のために)2以上の奇数の、したがって、3つの飛行制御装置を使用する。
【0034】
この例では10の飛行制御装置の各々は、同じ所望の推力およびモーメントを入力し、モータごとに推力値を生成する。判断ブロックを使用する代わりに、選択され生成された推力値だけを接続および/または使用して、モータを制御する。たとえば、第1の飛行制御装置(500a)から得られた(第1のモータ(502a)に関連付けられている、および/または第1のモータ(502a)のためにある)第1の推力値は、第1のモータ(502a)に渡される。第1の飛行制御装置(500a)から得られたその他の生成された推力値は、接続されない、および/または使用されない。第2の飛行制御装置(500b)から第10の制御装置(500d)により生成された、第1のモータ(502a)に関するその他の生成された推力値は、第1のモータ(502a)を制御するために接続されない、および/または使用されない。しばらくの間、
図1に戻ると、この図は、生成された推力値のいくつかがどのようにして飛行制御装置で終了するかを示す例である(たとえば、飛行制御装置1(500a)から生じる第2の推力値~第10の推力値は、どのモータにも接続されない)。別の言い方をすれば、各飛行コンピュータは、車両全体を飛行させており、したがって、完全な推力割当問題を解決する(すなわち、この例では10の、車両内のモータすべてに関する推力値を生成する)と思っている。しかしながら、実際には単一モータ(たとえば、その飛行制御装置に対応するモータ)だけに関する推力値をモータに送る。
【0035】
同様に、第2の飛行制御装置(500b)から得られた(第2のモータ(502b)に関連付けられている、および/または第2のモータ(502b)のためにある)第2の推力値は、第2のモータ(502b)に渡される、および/または接続される。第2の飛行制御装置(500b)から得られたその他の9の生成された推力値は接続されない(たとえば、第1の推力値および第3の推力値~第10の推力値)。このパターンは、残りの飛行制御装置および残りのモータに関して反復する。
【0036】
ここに示すシステムに対する要件または制約条件は、システムが、飛行制御装置のすべてが同じ解および/または推力値に到達することを条件とすることである。実際は、推力値は正確である必要がない。システムは、生成された推力値がすべて(たとえば、センサおよび/または処理雑音が原因でわずかに異なる推定値が原因で)お互いの推力値の小さな許容範囲内(たとえば、モータ推力分解能、力の1Nの範囲内など)にある限り機能する。言い換えれば、飛行コンピュータは、(ほぼ)同一の推力値を作り出すことができるように同じ推力割当処理を遂行するということである。この性質により、飛行コンピュータは独立して動作することができるようになる。
【0037】
一般的に言って、ここに示す分散制御システムにより遂行される推力割当(すなわち、入力された、および/または所望の力およびモーメントを前提とした推力値の生成)は、
図4に示す制御システムと比較して、よりよい結果を作り出すことが分かった。たとえば、分散制御システムは、より少ない、および/またはより簡単な(電子的)構成要素を使用する(たとえば、複雑になる傾向がある判断ブロックはまったく存在しない)。
【0038】
本明細書で記述する技法および/またはシステムは、自律飛行だけではなく有人飛行にも適用可能であることが留意される。換言すれば、入力される力およびモーメントは、手動を介してパイロットから、または自律飛行制御装置から得られてよい。本明細書で記述してきたように、このシステムの利益は、モータ故障の条件の間に特に明らかになる。いくつかの有人用途では、車両は、モータ故障が検出された場合に(たとえば、パイロットが航空機を制御する)有人飛行モードから自律飛行モードに切り替わる。自律飛行管理装置は、次いで緊急飛行計画に関連付けられている入力された力およびモーメントを飛行制御装置に渡して、できるだけすぐに安全に車両を着陸させてよい。
【0039】
上記で記述するように、本明細書で記述する技法および/またはシステムは、1つまたは複数のモータ不具合の場合に特に有益および/または有用である。次の図は、本明細書で記述する技法および/またはシステムに関連付けられているいくつかの利益および/または改善について記述できるように、モータ故障の条件の例を示す。
【0040】
図6は、モータ故障を伴うeVTOLマルチコプタの実施形態を例示する上面図の略図である。この例では、代表的eVTOLマルチコプタは、固定翼飛行(たとえば、
図2に示す透視図を参照のこと)を遂行する翼を有せず、したがって、空中に浮かんだままでいるためにもっぱら回転翼に依存しなければならない。本明細書に示すeVTOLマルチコプタはまた、厳格な重量制限を伴う超軽量車両であり、それにより、そのような翼の追加を妨げることがある。この理由で、追加部品および/またはより重い部品を必要とすることなくモータ故障の条件の場合に(たとえば、より制御された手法で、より少ない衝撃でなど)eVTOL航空機をよりよく着陸させることができる改善された(制御)システムは、この超軽量用途および/または例示の車両のために、より望ましい。当然ながら、本明細書で記述する技法は、他の車両に当てはまり、他の車両に実装されてよい。
【0041】
この例では、車両は、モータの1つ(600)が機能しなくなるときに前傾する。たとえば、システムは、
図3Cに示す状態から
図6に示す状態に移行する。
図5に示す分散制御システムを用いる場合でさえ、推力割当は、いくつかの推力割当技法を用いる場合に決して最適ではないことがある。次の図は、もしいくつかのモータが機能しなくなった場合、マルチコプタが墜落する可能性がある際、推力割当が過去にどのように遂行されたかの例を示す。
【0042】
図7は、段階的推力割当処理の例を示す略図である。推力割当のこの例では、推力は段階的に割り当てられる。処理の入力として、入力された、および/または所望の力およびモーメント(F
z、M
x、M
y、およびM
z)を使用する。たとえば、
図6では、前傾することに関連付けられている力およびモーメントは、推力割当処理に入力される。
【0043】
700では、垂直力(F
z)、ロール(横揺れ)モーメント(M
x)、およびピッチ(縦揺れ)モーメント(M
y)を達成するために、推力が割り当てられる。たとえば、
図6では、10のモータが存在し、それらのモータに関して推力値が生成され、10の推力値は、入力された垂直力(F
zdes)、ロールモーメント(M
xdes)、およびピッチモーメント(M
ydes)を達成するためにゼロ以上の、割り当てられた値である。この段階では、ヨー制御(たとえば、所望のヨーモーメント(M
zdes)により表される)は考慮されないことが留意される。
【0044】
702では、必要に応じて、推力値は、最大達成可能推力に基づき一様に低減される。ステップ700で、(最初の)推力割当中に考慮されない別の要因は、モータにより達成可能な最大推力である。モータの1つまたは複数が最大達成可能推力にあるときが飽和状態である。これが発生する場合、この例では、ステップ700で生成された推力値は、最大達成可能推力を超えないように一様に低減される。これは、場合によってはクリッピングと呼ばれる。
【0045】
704では、ヨーモーメント(Mz)を達成するために、任意の残っている推力が割り当てられる。たとえば、ステップ702で出力された推力値は、入力された、および/または所望のヨーモーメント(Mzdes)を必ずしも作り出さないことがあり、(たとえば、最大推力達成可能限界の範囲内で)何か残っている推力がある場合、その推力をモータの1つまたは複数に割り当てて、入力された、および/または所望のヨーモーメント(Mzdes)を達成する(または少なくともそれに近くなる)。
【0046】
図7の段階的処理は高速かつ効率的であるが、欠点がいくつかある。最も重大な問題は(たとえば、1つでさえ)一定のモータを損なうことにより、代表的eVTOLマルチコプタを墜落させる可能性がある。モータ故障の場合(たとえば、
図6を参照のこと)
図7に記述する推力割当処理は、入力された、および/または要求された垂直力(F
zdes)を拡大する。
図6の例では、合計10のモータが存在し、そのうち9が動作しているので(当初の)要求されたF
zdesは、10/9倍だけ拡大される。
図7の処理に入力される新しい所望の垂直力は、10/9F
zdesである。この取り組み方法は、10のモータすべてがまるで利用可能であるかのように(たとえば、ステップ700で)ソルバ(solver)が推力を割り当て続けるので最適以下である。機能していないモータによる(たとえば、ステップ700での)垂直力(F
z)、ロールモーメント(M
x)、およびピッチモーメント(M
y)に対するどのような寄与も、機能していないモータを使用して推力を割り当てることが原因でなくなっており、または欠けており、その結果得られる推力値は、所望の制御を達成しないことがある。いくつかの事例では(たとえば、一定のモータが機能しなくなる場合)その結果、eVTOLマルチコプタは墜落する。
【0047】
車両が墜落しない場合でさえ、特に飽和状態が発生する場合、飛行体験は不快および/または最適以下であることがある。この例で飽和状態を補正するには(たとえば、
図7のステップ702で)未熟な補正技法であるクリッピングを必要とする。クリッピングの結果、高度は、不適切に組み合わせられることがある(すなわち、クリップされた推力値は、所望の垂直力に調和しない垂直力を作り出すので、車両は、望ましくないことには上昇する、または落下することがある)。さらにまたステップ702でのクリッピングにより、ロールモーメントおよび/またはピッチモーメントは、同様に不適切に組み合わせられることがある。クリップされた推力値は、所望のロールモーメントおよび/またはピッチモーメントに調和しないロールモーメントおよび/またはピッチモーメントを作り出すことがあるので、車両は、望ましくないことには横揺れおよび/または縦揺れすることがある。これは多くの場合、乗客にとって危険性を高め、操縦の難しさを増す振動につながる。別の言い方をすれば、生成された推力値は、所望の力およびモーメントを作り出さないことがある、および/または飛行体験は、乗員にとって不快および/または危険であることがある。
【0048】
それとは対照的に、単一解を有する最適化問題(たとえば、狭義の凸最適化問題)を使用して(たとえば、
図1のステップ100で)推力を割り当てることにより、モータの1つまたは複数が機能しなくなる場合でさえ、より安全な飛行体験を提供する。次式は(たとえば、
図1のステップ100で)推力を割り当てるために使用される凸最適化の例である。
【数1】
式1:推力割当で使用する狭義の凸最適化問題の例
【0049】
この例では、式1は、凸最適化問題(この場合、狭義の凸二次関数)であり、式中、Tは、モータ推力のベクトルであり、Fzdesは、所望の力およびモーメントのベクトルであり、Aは、達成される力およびモーメントにモータ推力をマッピングする荷重余弦行列(load cosine matrix)であり、Wは、対角重み行列であり、Vnは、Tを力およびモーメントの零空間に投影するAの特異値分解から得られるユニタリ行列の部分行列であり、εは(たとえば、第1項(すなわち、所望の力およびモーメントを達成する)に対して第2項(すなわち、関数が狭義に凸であることを確実にする)の大きさを低減するための)小さな正数である。最適化問題のこの例は(狭義の)凸関数の最小値を見いだすが、いくつかの実施形態では、最適化問題は、(狭義の)凹関数の最大値を見いだすことが留意される。
【0050】
入力および出力に関連して、T(モータ推力のベクトル)は、凸最適化問題が解決し出力する出力であり、Fzdes(所望の力およびモーメントのベクトル)および(もしあれば)モータ故障は入力である。どのモータ故障も、最大推力ベクトルである配列Tmaxに反映される。たとえば、i番目のモータが故障する場合、Tmax内のi番目の成分はゼロになり、それにより次に、T内のi番目の成分も同様にゼロに強制され、i番目のモータのどの推力にも対応しない。
【0051】
式1に示す凸最適化問題の例の最も重要な性質の1つは、eVTOLマルチコプタの例は、もはやある種のモータ機能停止に脆弱ではないということである。分散飛行制御システム(たとえば、
図5を参照のこと)上で動作する凸最適化問題の例を用いると、eVTOLマルチコプタは、モータのいずれかが機能しなくなる場合に空中に浮かんだままでいることができる。いくつかの事例では、1対のモータ次第でeVTOLマルチコプタは、2つのモータが機能しなくなる場合でさえ空中に浮かんだままでいることができる。他の最適化問題は同様に、1つまたは複数のモータ故障の場合に車両の耐空性を改善することが留意される。
【0052】
(たとえば、式1、式2など)本明細書で記述する最適化問題の例はすべて、モータの数および/またはモータの配置もしくは航空機の構成に関して非依存性であることが留意される。たとえば、次世代eVTOLマルチコプタの開発中に現在の構成からモータの数、サイズ、および/または配置もしくは配列を変更することが決定された場合、同じ最適化問題および/または推力割当処理を再利用できる。これは、飛行制御システムに拡張性がない、および/または適用可能ではない場合に開発されなければならない新しいシステムとは対照的に、飛行制御システムが既知であり、予想可能であり、完全に試験されているので役に立つ。
【0053】
便宜上、説明を容易にするために、式1は、関連する性質および/または特性をいくつか有する(たとえば、狭義の凸、二次など)。この凸最適化問題は、単に代表的であり、他の凸最適化問題は他の組合せ、または性質および/もしくは特性をいくつか有してよい(たとえば、狭義の凸であるが二次ではない)。さまざまな入力、パラメータ、および式1に含まれるようなものに関連付けられている利益を例示する簡潔な導出を精査することは役に立つことがある。次式は、より簡単な凸最適化問題の例を示す。
【数2】
式2:最小二乗凸最適化問題の例
【0054】
式2の例では、モータ推力は非負であり、(すなわち、制約0≦T)かつ最大でTmax(すなわち、制約T≦Tmax)であるという制約を条件として、最小二乗目標を使用して所望の力およびモーメント(すなわち、Fzdes)と実現された力およびモーメント(すなわち、AT)の間の差を最小にする。
【0055】
0≦T≦T
maxという制約、およびモータのいずれかが機能しなくなった場合の、T
max内の対応する要素のゼロ設定は、本明細書で記述する代表的凸最適化問題(たとえば、式1、式2など)を使用して生成した推力値が常に実現可能であることを意味する。すなわち、飛行制御装置は、モータ不具合の場合でさえ実現可能な(例えば、非負でT
maxを決して超えない)1組のモータ推力を常に作り出す。その上、本明細書で記述する最適化問題の例は、何であろうと常に実現可能であるので、別個に取り扱うべき非常に稀で厄介なケースがまったくない(以下でより詳細に記述する)。概念的には、これにより、初めは飽和状態の問題が回避されるのに対して、
図6の段階的処理は、実現可能ではない1組のモータ推力値を生成できるようにし(すなわち、飽和状態)、次いでその事実の後に(たとえば、稚拙な、および/または未熟な解決策であるクリッピングにより)問題を解決する必要がある。
【0056】
どの(全ての)モータ故障も最大推力ベクトル(Tmax)の中に組み入れる別の利益は、これによりモータ故障情報をよりよい、および/またはより明確な手法で組み入れることが可能になることである。たとえば、いくつかの他の技法は、モータ故障情報を設計変数に組み入れようと試みることがあり、または他の方法で問題を定式化し直すことがあり(たとえば、モータ故障の場合、異なる最適化問題に切り替える)、これらの両方とも推力割当を、受入可能な1組の推力値を作り出すのがより複雑に、および/またはより遅くすることがある。Tmaxベクトルは、モータの推力限界を反映するようそこに存在する必要があるので、最適化関数の中にある既存の要素は、多数の目的に役立つ。
【0057】
次の図は、この例をより形式的に記述する。
【0058】
図8は、最大推力ベクトルを使用することによることを含む、推力値を生成する処理の実施形態を例示する流れ図である。
図8は
図1に関係があり、便宜上、同じまたは類似の参照番号を使用して、同じステップまたは関係のあるステップを示す。
【0059】
800では、複数の飛行制御装置を使用して航空機内の複数のモータに関する推力値が生成され、複数の飛行制御装置の中の各飛行制御装置は、単一解を有する最適化問題を使用して複数のモータの中のモータごとに推力値を生成し、推力値を生成するステップは、最大推力ベクトル(例えば、T≦Tmax)を使用して実現可能であるように推力値を制約するステップを含み、どのモータ故障も最大推力ベクトルに反映される。ステップ800のいくつかの実施形態では、実現可能な推力値に制約するステップは、ゼロ以上であるように推力値を制約する(例えば、T≦Tmaxに加えて0≦T)ステップをさらに含む。
【0060】
上記で記述するように、実現可能であるように推力値を制約するステップは、オプティマイザが飽和状態に関して直接に推論することを強制し、よりよくより速く結果を作り出す。また、最大推力ベクトルを使用してモータ故障を反映させることにより、より簡単な設計が可能になる(たとえば、追加のパラメータ、入力などをまったく必要としない)。いくつかの実施形態では、モータ故障が検出された、または他の方法でフラグが立った場合、Tmax内の対応する値(たとえば、検出されたモータ故障に対応する値)は即座にゼロに設定される。たとえば、モータ故障にはいくつかの理由があってよい。いくつかの事例では、モータとの通信損失が存在し、これは、モータがどのくらい前に機能しなくなったかが既知ではないことを意味する。また、(たとえば、検出されたモータ故障に対応する)非ゼロ値が徐々に減少する、または他の方法でゼロに設定される場合でさえ、モータの回転周波数は比較的速いので、減速は同様に比較的迅速に発生し、その結果、利益は少ない。
【0061】
102では、複数の飛行制御装置の中の飛行制御装置のそれぞれについて、生成された推力値の1つが、複数のモータの中の対応するモータに渡され、その飛行制御装置に関して生成された他の推力値は、その飛行制御装置で終了する。
【0062】
104では、複数のモータを使用して渡された推力値が実行(実現)される。
【0063】
しばらくの間、式2に戻ると、いくつかの実施形態では、能動的設定の技法、方法、または処理を使用して、凸最適化問題を解く(たとえば、式1、式2など)。能動的設定技法は、実現可能な時点(たとえば、0≦T≦Tmaxである必要があり、したがって、実現可能であるモータ推力の初期ベクトルT)および1組の制約条件(たとえば、所与の推力値は、所与のモータが動作状態にあるときにTmax内の非ゼロ設定飽和値にある、所与のモータが故障したとき、または推力値がゼロであり、かつTmax内の対応する要素が非ゼロであるときにTmax内のゼロ設定された飽和値にあるなど、推力値のいずれかがTmaxにより画定される飽和値にある場合)から始まる。言い換えれば、推力値が上限または下限により制約されているか否かということである。推力値を有限回数のステップで反復して更新して、より効率的に問題を解くために、どの制約条件が有効である(すなわち、所与の推力値を能動的に制約している)かを追跡することにより最適解を得る。たとえば、前のステップでモータ3が飽和した(たとえば、モータ3に関するモータ推力値がベクトルTmax内の3番目の値で最高限度になった)ことが既知である場合、モータ3は、おそらく次の繰り返しでも同様に飽和しているであろう。次の繰り返しは、その推力(たとえば、制約された推力)を変更することなく問題を解くが、次いでその結果得られた解が代表的な飽和した第3のモータで実際に最適であり続けるかを検証する。これは、次の繰り返しで考慮する、評価する、および/または調節する必要がある推力値の数を低減し、処理が考慮する物事の数を低減し、はるかにより早く解を見いだす平均時間につながる。
【0064】
次の図は、この例についてより形式的に記述する。
【0065】
図9は、推力値のいずれかが能動的に制約されているか否かを追跡することによることを含む、推力値を生成する処理の実施形態を例示する流れ図である。
図9は
図1に関係があり、便宜上、同じまたは類似の参照番号を使用して、同じステップまたは関係のあるステップを示す。
【0066】
900では、複数の飛行制御装置を使用して航空機内の複数のモータに関する推力値が生成され、複数の飛行制御装置の中の各飛行制御装置は、単一解を有する最適化問題を使用して複数のモータの中のモータごとに推力値を生成し、推力値を生成するステップは、推力値のいずれかが能動的に制約されているか否かを追跡することによることを含む、アクティブセットの制約を使用するステップを含み、どのモータ故障も最大推力ベクトルに反映される。
【0067】
上記で記述するように、これは、(たとえば、Tmax内部の推力値の対応する最大要素の、またはゼロの)能動的に制約された推力値が、次の繰り返しで能動的に制約されると最初に仮定され、したがって、推力値が(再度)最大値になるので、推力割当処理を簡略化し、処理を簡略化する。
【0068】
いくつかの実施形態では、
アクティブセットの制約技法と組み合わせてウォームスタートを使用する(
図9に示さず)。たとえば、第1の時点t(代わりに、離散時間用途ではインデックスi)に第i組の所望の力およびモーメントを得るために第1組の推力値が生成される、または他の方法でモータに渡されると仮定する。ウォームスタートの場合、第2の(次の)時点またはインデックスに一致推力関連付けられている第2組の所望の力およびモーメントを得るために第2組の推力値を生成するときに、
アクティブセットの処理が始まる初期の可変の1組の推力値として第1組の所望の力およびモーメントを使用する。これは、
アクティブセットの処理が出力すべき1組の推力値をより迅速に見いだすのに役立つことがあり、処理時間を低減する。
【0069】
上記で記述するように、いくつかの実施形態では、ステップ900は、第1組の所望の力およびモーメントを得るために生成された第1組の推力値が、次の第2組の所望の力およびモーメントを得るための推力値を生成するときに初期の1組の推力値として使用されるという制限をさらに含む(
図9に示さず)。
【0070】
102では、複数の飛行制御装置の中の飛行制御装置ごとに、生成された推力値の1つが、複数のモータの中の対応するモータに渡され、その飛行制御装置に関して生成された他の推力値は、その飛行制御装置で終了する。
【0071】
104では、複数のモータを使用して渡された推力値が実行される。
【0072】
しばらくの間、式2に戻ると、式2の欠点は、さまざまな軸に沿った制御に優先順位および/または重みを付けることができないことである。たとえば、
図2に示すeVTOLマルチコプタの開放コックピットの場合、どの乗員もひどく傷つく、または死亡するので、車両が上下逆さまにひっくり返らないことは非常に重要である。したがって、(たとえば、所望のロールモーメントM
xdesに関連付けられている)ロール制御および(たとえば、所望のピッチモーメントM
ydesに関連付けられている)ピッチ制御は、(たとえば、ヨーモーメントM
zdesに関連付けられている)ヨー制御および(たとえば、垂直力F
zdesに関連付けられている)高度制御よりも重要であることがある。別の言い方をすると、車両がひっくり返るのを防止するためには、車両が(たとえば、ゆっくりと)降下し、きりもみ降下する平落とし着陸のように回転してしまうとしてもなお、ひっくり返らないことはより重要であることがある。式2はこれを可能にしないし、この能力を有することもない。式の次の例は、式2の最適化関数の中にそのような重み付けおよび/または優先順位付けを導入する。
【数3】
式3:重み付けを伴う最小二乗最適化問題の例
【0073】
式3では、Wは、対角重み行列(より一般的には軸重みパラメータと呼ばれる)である。そのような軸重みパラメータを用いて、より重要な1つまたは複数の軸(たとえば、上記の例ではロールおよびピッチ)に関する制御は、1つまたは複数のより重要ではない軸(たとえば、ヨー)よりも優先させることができる。上記で記述するように、ロー軸およびピッチ軸に関する制御は、ヨー制御をいくらか犠牲にしてさえ、代表的な開放コクピットのeVTOLマルチコプタがひっくり返るのを防止するために重要である。別の言い方をすれば、車両が、緊急着陸を遂行している間にヨー(垂直)軸を中心に(たとえば、ゆっくりと)回転することは、eVTOLマルチコプタがひっくり返るのを防止する場合に受入可能であってよい。その上、軸重みパラメータ(例えば、W)は、パラメータ化可能であり(たとえば、Wは厳密な二値オン/オフとは対照的に調節可能であり)連続している(たとえば、このことは、システムが推力値に関する解を見いだせなくする、および/または不連続が原因で解の探索を遅延させる、Wが不連続である危険性がまったくないので有益である)。一例では、
【数4】
は、最も重く重みおよび優先順位を付け、所望のロールモーメントおよびピッチモーメント(たとえば2つの値1000)を、次いで所望の垂直力(たとえば、左上隅の値100)を満足させ、最後に最も低い優先順位は、所望のヨーモーメント(たとえば、右下隅の値10)である。さまざまな実施形態では、重み付けが選ばれる、もしくは他の方法でいくぶん強引になるように選択される、特定の用途に合わせられる(たとえば、無人/自律飛行に対して有人飛行に関して、より控えめになる)、および/または(たとえば、飛行中に)動的に変更される。
【0074】
次の図は、この例についてより形式的に記述する。
【0075】
図10は、軸重みパラメータを使用することによることを含む、推力値を生成する処理の実施形態を例示する流れ図である。
図10は
図1に関係があり、便宜上、同じまたは類似の参照番号を使用して、同じステップまたは関係のあるステップを示す。
【0076】
1000では、複数の飛行制御装置を使用して航空機内の複数のモータに関する推力値が生成され、複数の飛行制御装置の中の各飛行制御装置は、単一解を有する最適化問題を使用して複数のモータの中のモータごとに推力値を生成し、最適化問題は、ヨー制御(およびいくつかの実施形態では同様に高度制御も)に対してロール制御およびピッチ制御を優先させることに関連付けられている値に設定された軸重みパラメータを含む。
【0077】
102では、複数の飛行制御装置の中の飛行制御装置のそれぞれについて、生成された推力値の1つが、複数のモータの中の対応するモータに渡され、その飛行制御装置に関して生成された他の推力値は、その飛行制御装置で終了する。
【0078】
104では、複数のモータを使用して渡された推力値が実行される。
【0079】
しばらくの間、式3に戻ると、式3は、多数の解が存在する可能性を残している。これは、飛行制御装置のすべてが(たとえば、
図5を参照のこと)モータに関して同じ1組の推力値を生成する必要があるので、本明細書で記述する分散制御システムに用いる場合には望ましくない。次式は、1つの解だけが存在する(別の言い方をすれば、関数は狭義の凸である)ことを確実にするために正規化項を伴う最適化関数の例を示す。
【数5】
式4:重み付けおよび正規化項を伴う最小二乗最適化問題の例
【0080】
第2項
【数6】
は、単一解だけが存在することを確実にし、εの値は、所望の力およびモーメント(すなわち、第1項)を満たす、より重要な目標と比較して、第2項が比較的小さいことを満たす(たとえば、単一の解を確実にする)重要性を維持する。不都合なことに、新しく追加された第2項
【数7】
は、第1項と同じ目標を有せず、したがって、関数は、2つの異なる目標の間のトレードオフである。
【0081】
しばらくの間、式1に戻ると、そこでは第2項
【数8】
は、依然として単一解制約を強制するが、さらにまたその項が最小化および/または最適化の動作に影響を及ぼすことから排除する(たとえば、項
【数9】
では、その項が、どの推力値Tが最小(またはより一般的には最適)値を作り出すかに影響を及ぼさないように、推力ベクトルTは、力およびモーメントの零空間の上に投影されるからである)。εは、式1で絶対に必要であるのではなく、式1の中にεを保つことが望ましいことがあることが留意される(たとえば、その結果、第2項からの寄与は、検査のために、および/または原則に則って、特徴を実装する読み手または人々に概念をよりよく伝えるために、より明確に小さく保たれる)。これは、εを使用して第2項の重みを比較的小さく保つ実際の重要性がはるかにより重要である式4と対照的である。
【0082】
次の図は、この例についてより形式的に記述する。
【0083】
図11は、最適化問題が、異なる目標に関連付けられている多数の部分または項を有する、推力値を生成する処理の実施形態を例示する流れ図である。
図11は
図1に関係があり、便宜上、同じまたは類似の参照番号を使用して、同じステップまたは関係のあるステップを示す。
【0084】
1100では、複数の飛行制御装置を使用して航空機内の複数のモータに関する推力値が生成され、複数の飛行制御装置内の各飛行制御装置は、単一解を有する最適化問題を使用して複数のモータの中のモータごとに推力値を生成し、最適化問題の一部分は、最適化問題に対する単一解が存在することを確実にすることに関連し、単一解が存在することを確実にすることに関連付けられている凸最適化問題の一部分は、1つまたは複数の所望の力および/またはモーメントに関連付けられている零空間の上に推力値を投影することに関連付けられている行列を含み、その結果、推力値を生成することは、単一解が存在することを確実にすることに関連付けられている凸最適化問題の一部分とは無関係である。たとえば、式1の中の第2項を参照のこと。
【0085】
たとえば、式1では、
【数10】
は、最適化問題が単一解を有することを確実にすることに関連付けられている最適化問題の一部の例である。上記で記述するように、
【数11】
は、項または一部分
【数12】
がTにわたり一定であり、かつ最適化問題が問題のその項または一部分とは無関係であるように零空間の上に推力値(T)を投影する。
【0086】
102では、複数の飛行制御装置の中の飛行制御装置のそれぞれについて、生成された推力値の1つが、複数のモータの中の対応するモータに渡され、その飛行制御装置に関して生成された他の推力値は、その飛行制御装置で終了する。
【0087】
104では、複数のモータを使用して、渡された推力値が実行される。
【0088】
前述の実施形態について、理解を明確にするためにある程度詳細に記述してきたが、本発明は、提供した詳細に限定されない。本発明を実装する代替方法が多く存在する。開示する実施形態は例示的であり、制限的ではない。
[適用例1]航空機であって、
複数の飛行制御装置であって、
前記航空機内の複数のモータに関する推力値を生成し、前記複数の飛行制御装置の中の各前記飛行制御装置は、単一解を有する最適化問題を使用して前記複数のモータの中の前記モータごとに前記推力値を生成し、
前記複数の飛行制御装置の中の前記飛行制御装置ごとに、生成された前記推力値の1つを前記複数のモータの中の対応する前記モータに渡すように構成された複数の飛行制御装置を備え、その飛行制御装置に関して生成された他の前記推力値は、その飛行制御装置で終了し、
前記複数のモータは、渡された前記推力値を実現するように構成される航空機。
[適用例2]適用例1に記載の航空機であって、前記推力値を生成することは、最大推力ベクトルを使用して実現可能であるように前記推力値を制約することを含み、どのモータ故障も前記最大推力ベクトルに反映される航空機。
[適用例3]適用例1に記載の航空機であって、
前記推力値を生成することは、最大推力ベクトルを使用して実現可能であるように前記推力値を制約することを含み、どの前記モータ故障も前記最大推力ベクトルに反映され、
実現可能であるように前記推力値を制約することは、ゼロ以上であるように前記推力値を制約することをさらに含む航空機。
[適用例4]適用例1に記載の航空機であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値により能動的に制約されているか否かを追跡することによることを含む、能動的な1組の技法を使用することを含み、どの前記モータ故障も前記最大推力ベクトルに反映される航空機。
[適用例5]適用例1に記載の航空機であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値により能動的に制約されているか否かを追跡することによることを含む、前記能動的な1組の技法を使用することを含み、
どの前記モータ故障も前記最大推力ベクトルに反映され、
第1組の所望の力およびモーメントを得るために生成された第1組の推力値は、次の第2組の所望の力およびモーメントを得るための推力値を生成するときに初期の1組の推力値として使用される航空機。
[適用例6]適用例1に記載の航空機であって、
前記最適化問題の一部分は、前記最適化問題に対する前記単一解が存在することを確実にすることに関連付けられており、
前記単一解が存在することを確実にすることに関連付けられている前記最適化問題の前記一部分は、1つまたは複数の所望の力および/またはモーメントに関連付けられている零空間の上に前記推力値を投影することに関連付けられている行列を含み、その結果、前記推力値を生成することは、前記単一解が存在することを確実にすることに関連付けられている前記最適化問題の前記一部分と無関係である航空機。
[適用例7]方法であって、
航空機内の複数のモータに関する推力値を生成し、複数の飛行制御装置の中の各前記飛行制御装置は、単一解を有する最適化問題を使用して前記複数のモータの中の前記モータごとに前記推力値を生成し、
前記複数の飛行制御装置の中の前記飛行制御装置ごとに、生成された前記推力値の1つを前記複数のモータの中の対応するモータに渡し、その飛行制御装置に関して生成された他の前記推力値は、その飛行制御装置で終了し、
渡された前記推力値を前記複数のモータを使用して実現すること
を備える方法。
[適用例8]適用例7に記載の方法であって、前記推力値を生成することは、最大推力ベクトルを使用して実現可能であるように前記推力値を制約することを含み、全てのモータ故障が前記最大推力ベクトルに反映される方法。
[適用例9]適用例7に記載の方法であって、
前記推力値を生成することは、前記最大推力ベクトルを使用して実現可能であるように前記推力値を制約することを含み、全ての前記モータ故障が前記最大推力ベクトルに反映され、
実現可能であるように前記推力値を制約することは、ゼロ以上であるように前記推力値を制約することを含む方法。
[適用例10]適用例7に記載の方法であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値により能動的に制約されているか否かを追跡することを含む、能動的な1組の技法を使用することを含み、どの前記モータ故障も前記最大推力ベクトルに反映される方法。
[適用例11]適用例7に記載の方法であって、前記推力値を生成することは、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値により能動的に制約されているか否かを追跡することを含む、前記能動的な1組の技法を使用することを含み、
どの前記モータ故障も前記最大推力ベクトルに反映され、
第1組の所望の力およびモーメントを得るために生成された第1組の推力値は、次の第2組の所望の力およびモーメントを得るための推力値を生成するときに初期の1組の推力値として使用される方法。
[適用例12]適用例7に記載の方法であって、
前記最適化問題の一部分は、前記最適化問題に対する前記単一解が存在することを確実にすることに関連付けられており、
前記単一解が存在することを確実にすることに関連付けられている前記最適化問題の前記一部分は、1つまたは複数の所望の力および/またはモーメントに関連付けられている零空間の上に前記推力値を投影することに関連付けられている行列を含み、その結果、前記推力値を生成することは、前記単一解が存在することを確実にすることに関連付けられている前記最適化問題の前記一部分と無関係である方法。
[適用例13]コンピュータプログラム製品であって、非一時的コンピュータ可読記憶媒体の中に具体化され、
航空機内の複数のモータに関する推力値を生成するためのコンピュータ命令と、複数の飛行制御装置の中の各前記飛行制御装置は、単一解を有する最適化問題を使用して前記複数のモータの中の前記モータごとに前記推力値を生成し、
前記複数の飛行制御装置の中の前記飛行制御装置ごとに、生成された前記推力値の1つを前記複数のモータの中の対応するモータに渡すためのコンピュータ命令と、その飛行制御装置に関して生成された他の前記推力値は、その飛行制御装置で終了し、
渡された前記推力値を前記複数のモータを使用して実現するコンピュータ命令と
を備えるコンピュータプログラム製品。
[適用例14]適用例13に記載のコンピュータプログラム製品であって、前記推力値を生成するための前記コンピュータ命令は、最大推力ベクトルを使用して実現可能であるように前記推力値を制約するためのコンピュータ命令を含み、どのモータ故障も前記最大推力ベクトルに反映されるコンピュータプログラム製品。
[適用例15]適用例13に記載のコンピュータプログラム製品であって、
前記推力値を生成するための前記コンピュータ命令は、最大推力ベクトルを使用して実現可能であるように前記推力値を制約するためのコンピュータ命令を含み、どの前記モータ故障も前記最大推力ベクトルに反映され、
実現可能であるように前記推力値を制約するための前記コンピュータ命令は、ゼロ以上であるように前記推力値を制約するためのコンピュータ命令をさらに含むコンピュータプログラム製品。
[適用例16]適用例13に記載のコンピュータプログラム製品であって、前記推力値を生成するためのコンピュータ命令は、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値により能動的に制約されているか否かを追跡することによることを含む、能動的な1組の技法を使用するためのコンピュータ命令を含み、どの前記モータ故障も前記最大推力ベクトルに反映されるコンピュータプログラム製品。
[適用例17]適用例13に記載のコンピュータプログラム製品であって、前記推力値を生成するためのコンピュータ命令は、前記推力値のいずれかが前記最大推力ベクトルの中の対応する最大推力値により能動的に制約されているか否かを追跡することによることを含む、前記能動的な1組の技法を使用するためのコンピュータ命令を含み、
どの前記モータ故障も前記最大推力ベクトルに反映され、
第1組の所望の力およびモーメントを得るために生成された第1組の推力値は、次の第2組の所望の力およびモーメントを得るための前記推力値を生成するときに初期の1組の推力値として使用されるコンピュータプログラム製品。
[適用例18]適用例13に記載のコンピュータプログラム製品であって、
前記最適化問題の一部分は、前記最適化問題に対する前記単一解が存在することを確実にすることに関連付けられており、
前記単一解が存在することを確実にすることに関連付けられている前記最適化問題の前記一部分は、1つまたは複数の所望の力および/またはモーメントに関連付けられている零空間の上に前記推力値を投影することに関連付けられている行列を含み、その結果、前記推力値を生成することは、前記単一解が存在することを確実にすることに関連付けられている前記最適化問題の前記一部分と無関係であるコンピュータプログラム製品。