IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オーロラ フライト サイエンシズ コーポレーションの特許一覧

<>
  • 特許-適応的自律システムアーキテクチャ 図1a
  • 特許-適応的自律システムアーキテクチャ 図1b
  • 特許-適応的自律システムアーキテクチャ 図1c
  • 特許-適応的自律システムアーキテクチャ 図2a
  • 特許-適応的自律システムアーキテクチャ 図2b
  • 特許-適応的自律システムアーキテクチャ 図2c
  • 特許-適応的自律システムアーキテクチャ 図3
  • 特許-適応的自律システムアーキテクチャ 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】適応的自律システムアーキテクチャ
(51)【国際特許分類】
   G05D 1/10 20060101AFI20231121BHJP
   B64C 13/18 20060101ALI20231121BHJP
   B64C 27/08 20230101ALI20231121BHJP
   B64C 39/02 20060101ALI20231121BHJP
【FI】
G05D1/10
B64C13/18 Z
B64C27/08
B64C39/02
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2019078549
(22)【出願日】2019-04-17
(65)【公開番号】P2020047250
(43)【公開日】2020-03-26
【審査請求日】2022-04-11
(31)【優先権主張番号】15/957,003
(32)【優先日】2018-04-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500461860
【氏名又は名称】オーロラ フライト サイエンシズ コーポレーション
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ライアン, ジェーソン
(72)【発明者】
【氏名】ソーンダーズ, ジェフリー
【審査官】西井 香織
(56)【参考文献】
【文献】国際公開第2016/203151(WO,A1)
【文献】特開2015-108867(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/12
B64C 13/18
B64C 27/08
B64C 39/02
(57)【特許請求の範囲】
【請求項1】
ある環境内のビークル(100)で使用する自律システムであって、
メモリデバイスに作動可能に接続されたプロセッサ(124)と、
前記プロセッサ(124)に作動可能に接続された複数のセンサ(110,110a,110b,110c,140c)と、
ビークル(100)コントローラ(144)と、
前記複数のセンサに作動可能に接続された状況認識モジュール(204)であって、前記複数のセンサ(110,110a,110b,110c,140c)のうちの少なくとも1つからのセンサ(110,110a,110b,110c,140c)データに少なくとも部分的に基づいて、前記環境の状態を判定するように構成されている、状況認識モジュール(204)と、
前記状況認識モジュール(204)と通信可能に接続されたタスク計画モジュール(206)であって、
前記ビークル(100)が実施する複数のタスクを、前記プロセッサ(124)によって特定するように構成されており、
前記複数のタスクから、前記複数のタスクの成功確率を含む所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストを、前記プロセッサ(124)によって生成するように構成されている、タスク計画モジュール(206)と、
前記ビークル(100)コントローラ(144)に作動可能に接続されたタスク実行モジュール(210)であって、前記タスク割り当てリストに応じて前記複数のタスクを実行するよう前記ビークル(100)コントローラ(144)に指示するように構成されており、エラーがあればそれを特定し、前記複数のタスクの前記成功確率が所定の閾値を下回るかどうかをチェックするために、前記タスク割り当てリストの実行中に前記ビークル(100)又は前記ビークル(100)コントローラ(144)を監視するように構成されており、前記複数のタスクの前記成功確率が前記所定の閾値を下回った場合に、前記複数のタスクの再計画を開始するように構成されている、タスク実行モジュール(210)と
を含む、自律システム。
【請求項2】
前記ビークル(100)は航空機であり、前記ビークル(100)コントローラ(144)はフライトコントローラ(144)であり、フライトコントローラ(144)は、前記タスク割り当てリストに応じて、一もしくは複数の推力発生器(106)、又は一もしくは複数のアクチュエータを制御するように構成されている、請求項1に記載の自律システム。
【請求項3】
前記ビークル(100)の前記タスク割り当てリストを、自律システムを備えた第2のビークル(100)に関連付けられた第2のタスク割り当てリストに照らして分析する、タスク合意モジュール(208)を更に含み、前記第2のタスク割り当てリストは第2の複数のタスクを含み、前記タスク合意モジュール(208)は、前記第2のタスク割り当てリストに少なくとも部分的に基づいて、前記タスク割り当てリストを調整するように構成されている、請求項1又は2に記載の自律システム。
【請求項4】
前記タスク合意モジュールは、協働して目的を実行する前記ビークルと前記第2のビークルの全体的な効率を最大化するために、前記第2のタスク割り当てリストに少なくとも部分的に基づいて、前記タスク割り当てリストを調整するように構成されている、請求項3に記載の自律システム。
【請求項5】
前記タスク割り当てリストの実行の結果に少なくとも部分的に基づいて、前記所定の最適化基準が更新される、請求項1から4の何れか一項に記載の自律システム。
【請求項6】
前記自律システムとユーザとの間の通信インターフェースを提供するマンマシンインターフェース(202)を更に含む、請求項1から5の何れか一項に記載の自律システム。
【請求項7】
前記ビークル(100)コントローラ(144)は、前記タスク割り当てリストに少なくとも部分的に基づいて、前記ビークル(100)をナビゲートするように構成されている、請求項1から6の何れか一項に記載の自律システム。
【請求項8】
前記メモリデバイスは、ビークル(100)のタイプに関わらず自律性をもたらす互換性のあるコードライブラリを含む、請求項1から7の何れか一項に記載の自律システム。
【請求項9】
自律システムを有するビークル(100)をある環境内で操作する方法であって、
前記ビークル(100)に接続された複数のセンサ(110,110a,110b,110c,140c)のうちの少なくとも1つからのセンサ(110,110a,110b,110c,140c)データに少なくとも部分的に基づいて、前記環境の状態を判定することと、
前記ビークル(100)が実施する複数のタスクをプロセッサ(124)によって特定することと、
前記複数のタスクから、前記複数のタスクの成功確率を含む所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストを前記プロセッサ(124)によって生成することと、
前記タスク割り当てリストに応じて前記複数のタスクを実行するよう前記ビークル(100)のビークル(100)コントローラ(144)に指示することと、
ラーがあればそれを特定し、前記複数のタスクの前記成功確率が所定の閾値を下回るかどうかをチェックするために、前記タスク割り当てリストの実行中に前記ビークル(100)又は前記ビークル(100)コントローラ(144)を監視することと
前記複数のタスクの前記成功確率が前記所定の閾値を下回った場合に、前記複数のタスクの再計画を開始することと
を含む、方法。
【請求項10】
前記ビークル(100)は航空機であり、前記ビークル(100)コントローラ(144)はフライトコントローラ(144)であり、フライトコントローラ(144)は、前記タスク割り当てリストに応じて、一もしくは複数の推力発生器(106)、又は、一もしくは複数のアクチュエータを制御するように構成されている、請求項9に記載の方法。
【請求項11】
前記ビークル(100)の前記タスク割り当てリストを、自律システムを備えた第2のビークル(100)に関連付けられた第2のタスク割り当てリストに照らして、分析するステップであって、前記第2のタスク割り当てリストが第2の複数のタスクを含むステップと、
第2のタスク割り当てリストに少なくとも部分的に基づいて、前記タスク割り当てリストを調整するステップと、を更に含む、請求項9又は10に記載の方法。
【請求項12】
協働して目的を実行する前記ビークル(100)と前記第2のビークル(100)の全体的な効率を最大化するために、前記第2のタスク割り当てリストに少なくとも部分的に基づいて、前記タスク割り当てリストを調整するステップを更に含む、請求項11に記載の方法。
【請求項13】
マンマシンインターフェース(202)を介したユーザからのインプットに少なくとも部分的に基づいて、前記タスク割り当てリストを修正するステップを更に含む、請求項9から12の何れか一項に記載の方法。
【請求項14】
前記ビークル(100)コントローラ(144)は、前記タスク割り当てリストに少なくとも部分的に基づいて、前記ビークル(100)をナビゲートするように構成されている、請求項9から12の何れか一項に記載の方法。
【請求項15】
前記タスク割り当てリストは、第1の場所から第2の場所へ進み、前記第2の場所で業務を実施し、業務が完了したら前記第2の場所から前記第1の場所へ戻るよう、前記ビークル(100)に指示するように構成されている、請求項14に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビークルの自律システム及びその他のシステムに関する。
【背景技術】
【0002】
近年、無人航空ビークル(UAV)や無人航空システム(UAS)の利用が増えている。UAVやSUASは軍事、民間の双方を含む多種多様な用途で用いられており、UASの自律性を向上させる研究が継続的になされている。そのような研究は往々にして、UAV/UAS操縦の様々な観点を対象としている。例えば、(1)人間による遠隔制御をサポートする所与のビークルの自動操縦、(2)所与のビークル又はビークル群について、タスクがどのように順序付けされ且つ/又は割り当てられるかを決定する最適化システム(とそれに関連する方法)、及び(3)自動での経路プランニング、着陸、及びその他の活動を支援する自動且つリアルタイムのデータ処理や実行である。
【0003】
進歩はあるものの、既存の自律システムは典型的に、これらの活動のうち1つの観点のみに対応するように構成されているので、狭い任務セットについての下層の自律アルゴリズムやソフトウェアアーキテクチャの設計にフォーカスしている。これにより既存の自律システムの拡張能力が制限されてしまうことが理解されよう。自律システムへの新しいモジュールの追加をサポートする装備が不十分だからである。更に、既存の自律システムは、パラメータ化により新しいプラットフォームへ迅速に適応するような構造であることもあれば、そうでないこともある。したがって、ビークルおよびその他のシステムの自律システムを改善する需要が存在する。
【発明の概要】
【0004】
本開示は、ビークル及びその他のシステムの自律システムを対象としている。
【0005】
諸態様が独立請求項で定められている。諸態様のオプショナルな特徴が従属請求項で定められている。
【0006】
第1の例によれば、ある環境内のビークルで使用する自律システムは、メモリデバイスに作動可能に接続されたプロセッサと、プロセッサに作動可能に接続された複数のセンサと、ビークルコントローラと、複数のセンサに作動可能に接続された状況認識モジュールであって、複数のセンサのうちの少なくとも1つからのセンサデータに少なくとも部分的に基づいて、環境の状態を判定するように構成されている、状況認識モジュールと、状況認識モジュールと通信可能に接続されたタスク計画モジュールであって、ビークルが実施する複数のタスクをプロセッサによって特定するように構成され、複数のタスクから、所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストをプロセッサによって生成するように構成されている、タスク計画モジュールと、ビークルコントローラに作動可能に接続されたタスク実行モジュールであって、タスク割り当てリストに応じて複数のタスクを実行するようビークルコントローラに指示するように構成されており、タスク割り当てリストの実行中、任意のエラーを特定するため、ビークル又はビークルコントローラを監視するように構成されている、タスク実行モジュールと、を含む。
【0007】
ある例では、ビークルが航空機であり、ビークルコントローラがフライトコントローラである。フライトコントローラは、タスク割り当てリストに応じて、一又は複数の推力発生器或いは一又は複数のアクチュエータを制御するように構成されている。
【0008】
ある例では、自律システムが、タスク合意モジュールを更に含む。タスク合意モジュールは、ビークルのタスク割り当てリストを、自律システムを備えた第2のビークルに関連付けられた第2のタスク割り当てリストに照らして(vis-a-vis)分析する。第2のタスク割り当てリストは第2の複数のタスクを含み、タスク合意モジュールは、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成されている。
【0009】
ある例では、タスク合意モジュールが、協働して目的を実行するビークルと第2のビークルの全体的な効率を最大化するために、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成されている。
【0010】
ある例では、タスク合意モジュールが、タスク割り当てリストと第2のタスク割り当てリストとの間でタスクを再割り振りするように構成されている。
【0011】
ある例では、所定の最適化基準が、タスク割り当てリストの実行の結果少なくとも部分的に基づいて、更新される。
【0012】
ある例では、タスク合意モジュールが、上記の複数のタスクのうちの少なくとも1つを、タスク割り当てリストから第2のタスク割り当てリストへ再割り当てするように構成されている。
【0013】
ある例では、タスク合意モジュールが、上記の複数のタスクのうちの少なくとも1つを、第2のタスク割り当てリストからタスク割り当てリストへ再割り当てするように構成されている。
【0014】
ある例では、タスク合意モジュールが、少なくとも第2のタスク割り当てリスト又はタスク割り当てリストに基づいて、上記の複数のタスクを再順序付けするように構成されている。
【0015】
ある例では、タスク合意モジュールが、タスク割り当てリストに少なくとも部分的に基づいて、上記第2の複数のタスクを再順序付けするように構成されている。
【0016】
ある例では、複数のタスクと第2の複数のタスクが少なくとも部分的に重複する。
【0017】
ある例では、重複するタスクが、タスク割り当てリスト又は第2のタスク割り当てリストの何れかから取り除かれる。
【0018】
ある例では、自律システムが、自律システムとユーザとの間の通信インターフェースを提供するマンマシンインターフェースを更に含む。
【0019】
ある例では、マンマシンインターフェースが、状況認識モジュール、タスク計画モジュール、及びタスク実行モジュールの各々に作動可能に接続されている。
【0020】
ある例では、マンマシンインターフェースによって、ユーザがタスク割り当てリストを修正できる。
【0021】
ある例では、ビークルコントローラが、タスク割り当てリストに少なくとも部分的に基づいて、ビークルをナビゲートするように構成されている。
【0022】
ある例では、タスク割り当てリストが、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻るよう、ビークルに指示するように構成されている。
【0023】
ある例では、業務が、情報・監視・偵察(ISR)業務である。
【0024】
ある例では、メモリデバイスが、ビークルのタイプに関わらず自律性をもたらす互換性のあるコードライブラリを含む。
【0025】
第2の例によれば、自律システムを有するビークルをある環境で操作する方法であって、方法は下記を含む。ビークルに接続された複数のセンサのうちの少なくとも1つからのセンサデータに少なくとも部分的に基づいて、環境の状態を判定すること、ビークルが実施する複数のタスクをプロセッサによって特定すること、該複数のタスクから、所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストをプロセッサによって生成すること、タスク割り当てリストに応じて複数のタスクを実行するようビークルのビークルコントローラに指示すること、並びに、タスク割り当てリストの実行中に、ビークル又はビークルコントローラを監視して、任意のエラーを特定すること。
【0026】
ある例では、ビークルが航空機であり、ビークルコントローラがフライトコントローラである。フライトコントローラは、タスク割り当てリストに応じて、一又は複数の推力発生器或いは一又は複数のアクチュエータを制御するように構成されている。
【0027】
ある例では、方法が以下のステップを更に含む。ビークルのタスク割り当てリストを、自律システムを備えた第2のビークルに関連付けられた第2のタスク割り当てリストに照らして、分析するステップであって、第2のタスク割り当てリストは第2の複数のタスクを含むステップと、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するステップ。
【0028】
ある例では、方法が、協働して目的を実行するビークルと第2のビークルの全体的な効率を最大化するために、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するステップを更に含む。
【0029】
ある例では、調整するステップが、タスク割り当てリストと第2のタスク割り当てリストとの間でタスクを再割り振りすることを含む。
【0030】
ある例では、調整するステップが、上記の複数のタスクのうちの少なくとも1つをタスク割り当てリストから第2のタスク割り当てリストへ再割り当てすることを含む。
【0031】
ある例では、調整するステップが、上記の複数のタスクのうちの少なくとも1つを第2のタスク割り当てリストからタスク割り当てリストへ再割り当てすることを含む。
【0032】
ある例では、調整するステップが、第2のタスク割り当てリストに少なくとも部分的に基づいて、上記の複数のタスクを再順序付けすることを含む。
【0033】
ある例では、調整するステップが、少なくともタスク割り当てリストに基づいて、上記の第2の複数のタスクを再順序付けすることを含む。
【0034】
ある例では、複数のタスクと第2の複数のタスクが少なくとも部分的に重複する。
【0035】
ある例では、タスク割り当てリスト又は第2のタスク割り当てリストの何れかから重複している任意のタスクを取り除くステップを含む。
【0036】
ある例では、プロセッサが、自律システムとユーザとの間の制御・通信インターフェースを提供するマンマシンインターフェースに作動可能に接続されている。
【0037】
ある例では、方法が、マンマシンインターフェースを介したユーザからのインプットに少なくとも部分的に基づいて、タスク割り当てリストを修正するステップを更に含む。
【0038】
ある例では、ビークルコントローラが、タスク割り当てリストに少なくとも部分的に基づいて、ビークルをナビゲートするように構成されている。
【0039】
ある例では、タスク割り当てリストが、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻るよう、ビークルに指示するように構成されている。
【0040】
ある例では、業務が、情報・監視・偵察(ISR)業務である。
【0041】
ある例では、プロセッサがメモリデバイスに作動可能に接続されている。メモリデバイスは、ビークルのタイプに関わらず自律性をもたらすように構成された、互換性のあるコードライブラリを含む。
【0042】
第3の例によれば、ある環境内の業務のための自律的航空機が、メモリデバイスに作動可能に接続されたプロセッサ、プロセッサに作動可能に接続された複数のセンサ、フライトコントローラ、複数のセンサに作動可能に接続された状況認識モジュールであって、複数のセンサのうちの少なくとも1つからのセンサデータに少なくとも部分的に基づいて、環境の状態を判定するように構成されている、状況認識モジュールと、状況認識モジュールと通信可能に接続されたタスク計画モジュールであって、ビークルが実施する複数のタスクをプロセッサによって特定するように構成され、複数のタスクから、所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストをプロセッサによって生成するように構成されている、タスク計画モジュールと、フライトコントローラに作動可能に接続されたタスク実行モジュールであって、タスク割り当てリストに応じて複数のタスクを実行するようフライトコントローラに指示するように構成されており、タスク割り当てリストの実行中、任意のエラーを特定するため、フライトコントローラを監視するように構成されている、タスク実行モジュールと、を含む。
【0043】
ある例では、タスク割り当てリストの実行に際し、自律的航空機が、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻る。
【0044】
ある例では、業務が、情報・監視・偵察(ISR)業務である。
【0045】
ある例では、自律的航空機がタスク合意モジュールを更に含む。タスク合意モジュールは、自律的航空機のタスク割り当てリストを、自律システムを装備する第2の自律的航空機に関連付けられた第2のタスク割り当てリストに照らして分析する。第2のタスク割り当てリストは第2の複数のタスクを含み、タスク合意モジュールは、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成されている。
【0046】
ある例では、タスク合意モジュールが、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成されており、協働して目的を遂行する自律的航空機及び第2の自律的航空機の全体的な効率を最大化する。
【0047】
ある例では、タスク合意モジュールが、タスク割り当てリストと第2のタスク割り当てリストとの間で動的にタスクを再割り振りするように構成されている。ある例では、タスク計画モジュールが、自律的航空機のミッションに影響を及ぼす可能性に応じてタスクを優先するように構成されている。
【0048】
ある実施形態は、ある環境内のビークルで使用する自律システムを含む。自律システムは、メモリデバイスに作動可能に接続されたプロセッサと、プロセッサに作動可能に接続された複数のセンサと、ビークルコントローラと、複数のセンサに作動可能に接続された状況認識モジュールであって、複数のセンサのうちの少なくとも1つからのセンサデータに基づいて、環境の状態を判定するように構成された、状況認識モジュールと、状況認識モジュールと通信可能に接続されたタスク計画モジュールであって、ビークルが実施する複数のタスクをプロセッサによって特定するように構成され、複数のタスクから、所定の最適化基準に少なくとも部分的に基づくタスク割り当てリストをプロセッサによって生成するように構成されている、タスク計画モジュールと、ビークルコントローラに作動可能に接続されたタスク実行モジュールであって、タスク割り当てリストに応じて複数のタスクを実行するよう、ビークルコントローラに指示するように構成されており、タスク割り当てリストの実行中、任意のエラーを特定するためにビークル又はビークルコントローラを監視するように構成された、タスク実行モジュールと、を含む。ビークルは、航空機又はその他の耐空性ビークルであり得る。ビークルコントローラはフライトコントローラであり得る。フライトコントローラは、タスク割り当てリストに応じて、一又は複数の推力発生器或いは一又は複数のアクチュエータを制御するように構成され得る。自律システムは、タスク合意モジュールも含み得る。タスク合意モジュールは、ビークルのタスク割り当てリストを、自律システムを備え得る第2のビークルに関連付けられた第2のタスク割り当てリストに照らして分析する。第2のタスク割り当てリストは第2の複数のタスクを含み、タスク合意モジュールは、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成され得る。タスク合意モジュールは、協働して目的を実行するビークルと第2のビークルの全体的な効率を最大化するために、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成され得る。タスク合意モジュールは、タスク割り当てリストと第2のタスク割り当てリストとの間でタスクを再割り振りするように構成され得る。所定の最適化基準は、タスク割り当てリストの実行の結果に少なくとも部分的に基づいて、更新され得る。タスク合意モジュールは、少なくとも第2のタスク割り当てリスト又はタスク割り当てリストに基づいて、上記の複数のタスクを再順序付けするように構成され得る。複数のタスクと第2の複数のタスクが少なくとも部分的に重複する。重複しているタスクは、タスク割り当てリスト又は第2のタスク割り当てリストの何れかから取り除かれ得る。自律システムは、自律システムとユーザとの間の通信インターフェースを提供するマンマシンインターフェースも含み得る。マンマシンインターフェースは、ユーザがタスク割り当てリストを修正するのを可能にし得る。ビークルコントローラは、タスク割り当てリストに少なくとも部分的に基づいて、ビークルをナビゲートするように構成され得る。タスク割り当てリストは、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻るよう、ビークルに指示するように構成され得る。メモリデバイスは、ビークルのタイプに関わらず自律性をもたらす互換性のあるコードライブラリを含み得る。
【0049】
別の実施形態は、自律システムを有するビークルをある環境内で操作する方法を含み、方法は、ビークルに接続された複数のセンサのうちの少なくとも1つからのセンサデータに少なくとも部分的に基づいて、環境の状態を判定することと、ビークルが実施する複数のタスクをプロセッサによって特定することと、該複数のタスクから、所定の最適化基準に少なくとも部分的に基づき得るタスク割り当てリストをプロセッサによって生成することと、タスク割り当てリストに応じて複数のタスクを実行するようビークルのビークルコントローラに指示することと、タスク割り当てリストの実行中に、ビークル又はビークルコントローラを監視して、任意のエラーを特定することと、を含む。ビークルは航空機であり、ビークルコントローラはフライトコントローラであり得る。フライトコントローラは、タスク割当てリストに応じて、一又は複数の推力発生器或いは一又は複数のアクチュエータを制御するように構成され得る。方法は、ビークルのタスク割当てリストを、自律システムを備えた第2のビークルに関連付けられた第2のタスク割当てリストに照らして分析するステップであって、第2のタスク割当てリストは第2の複数のタスクを含むステップ、及び、少なくとも第2のタスク割当てリストに基づいて、タスク割当てリストを調整するステップも含み得る。方法は、協働して目的を実行するビークルと第2のビークルの全体的な効率を最大化するために、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するステップを更に含む。方法は、マンマシンインターフェースを介したユーザからのインプットに少なくとも部分的に基づいて、タスク割り当てリストを修正するステップを更に含み得る。ビークルコントローラは、タスク割り当てリストに少なくとも部分的に基づいて、ビークルをナビゲートするように構成され得る。タスク割り当てリストは、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻るよう、ビークルに指示するように構成され得る。
【0050】
別の実施形態は、ある環境内で運航する自律的航空機を含む。自律的航空機は、メモリデバイスに作動可能に接続されたプロセッサと、プロセッサに作動可能に接続された複数のセンサと、フライトコントローラと、複数のセンサに作動可能に接続された状況認識モジュールであって、複数のセンサのうちの少なくとも1つからのセンサデータに基づいて、環境の状態を判定するように構成された、状況認識モジュールと、状況認識モジュールと通信可能に接続されたタスク計画モジュールであって、ビークルが実施する複数のタスクをプロセッサによって特定するように構成され、複数のタスクから、所定の最適化基準に少なくとも部分的に基づくタスク割り当てリストをプロセッサによって生成するように構成されている、タスク計画モジュールと、フライトコントローラに作動可能に接続されたタスク実行モジュールであって、タスク割り当てリストに応じて複数のタスクを実行するよう、フライトコントローラに指示するように構成されており、タスク割り当てリストの実行中、任意のエラーを特定するためにフライトコントローラを監視するように構成された、タスク実行モジュールと、を含む。タスク割り当てリストの実行に際し、自律的航空機は、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻るよう指示され得る。タスク計画モジュールは、自律的航空機のミッションに影響を及ぼす可能性に応じてタスクを優先するように構成され得る。
【0051】
本開示のこれらの利点及び他の利点は、以下の明細書と添付の図面を参照することによって、容易に理解され得るであろう。
【図面の簡単な説明】
【0052】
図1a】例示的な多回転翼機、及び例示的な固定翼航空機の図である。
図1b】例示的な多回転翼機、及び例示的な固定翼航空機の図である。
図1c図1a及び/又は1bの航空機の例示的的なフライトコントロールシステムのブロック図である。
図2a】例示的な適応的自立アーキテクチャ(A3)システムのブロック図である。
図2b】例示的な適応的自立アーキテクチャ(A3)システムのブロック図である。
図2c】例示的な適応的自立アーキテクチャ(A3)システムのブロック図である。
図3】例示的なA3システムのより詳細なブロック図である。
図4】例示的なシステム自動プロセスのフロー図である。
【発明を実施するための形態】
【0053】
本開示の好適な実施形態が、以下で添付の図面を参照して説明され得る。図面中の構成要素は必ずしも正しい縮尺で描かれておらず、むしろ本実施形態の原理を明確に示すことに重点が置かれている。例えば、明確にするためと記載上の便宜のために、要素のサイズは誇張されていてよい。さらに、同一又は同様の部品を指すのに、可能な場合には、図面全体を通して同じ参照番号が使われている。以下の記載では、周知の機能及び説明は詳細には記載されない。それらは不必要な詳細によって本開示を不明確にし得るからである。本明細書中のいかなる文言からも、特許請求されていない任意の要素が各実施形態の実施に必須のものであると解釈されるべきではない。
【0054】
本書に示されている値の範囲は、本書で別途断りのない限り、限定することを意図したものではなくむしろその範囲に該当する任意の全ての値を個別に表すものであり、そうした範囲内の個々の値はそれぞれ、個別に本書に示されているように本明細書に組み込まれている。「およそ」「約」などの用語は、数値に付随している場合、意図した目的のためには十分に有効な範囲だと当業者に認識されるであろう偏差を表すものとして、解釈されるべきである。値及び/又は数値の範囲は、本書では例示のためのみに設けられており、記載の実施形態の範囲の限界を設定するものではない。本書で使われているあらゆる実施例、及び例示を表す文言(「例えば」「などの」など)は、単に実施例をより良く説明することを意図したものであり、実施形態の範囲を限定するものではない。本明細書中のいかなる文言からも、特許請求されていない任意の要素が各実施形態の実施に必須のものであると解釈すべきではない。
【0055】
以下の記載中、「第1の」「第2の」「頂部」「底部」「側部」「前」「後」などの用語は、利便性のための文言と理解され、限定するための用語であると解釈すべきではない。本書に提示されている様々なデータ値(例えば、電圧、秒など)は、1つ以上の他の所定のデータ値で代替されてよく、したがって、限定的であるとみなすべきではなくむしろ例示的である。この開示には、以下の用語及び定義が該当するものとする。
【0056】
「航空ビークル」及び「航空機」との語は、非限定的に、固定翼機、無人航空機、可変翼機、及び垂直離着陸(VTOL)航空機を含む、飛行可能なマシンを指す。
【0057】
「及び/又は」という用語は、「及び/又は」でつながれている列挙項目のうちの任意の1つ以上を意味する。例えば、「x及び/又はy」は、3つの要素からなる集合{(x),(y),(x,y)}のうちの、任意の要素を意味する。言い換えれば、「x及び/又はy」は、「x及びyのうちの片方又は両方」を意味する。別の例として、「x、y及び/又はz」は、7つの要素からなる集合{(x),(y),(z),(x,y),(x,z),(y,z),(x,y,z)}のうちの、任意の要素を意味する。言い換えれば、「x、y及び/又はz」は、「x、y及びzのうちの1つ又はそれ以上」を意味する。
【0058】
「回路」(circuits及びcircuitry)という用語は、物理的な電子構成要素(例えばハードウェア)、並びにハードウェアの設定を行い、ハードウェアによって実行され、及び/又は他の態様でハードウェアに関連していてよい、任意のソフトウェア及び/又はファームウェア(コード)を表す。本書では、例えば具体的なプロセッサ及びメモリが、第1のセットをなすコードの1つ以上の行を実施するときに第1の「回路」を備えており、第2のセットをなすコードの1つ以上の行を実施するときに第2の「回路」を備えていてよい。本書では、回路は、機能を実行するために必要なハードウェアと(必要な場合には)コードを備えているときにはいつでもその機能を実行するために「作動可能」なのであって、それは、その機能の実行が(例えばユーザが設定可能な設定や工場出荷時の設定(factory trim)などによって)無効化されている、即ち有効化されていないかどうかには無関係である。
【0059】
本書で使用する場合、「通信する」及び「通信している」という用語は、(1)発信元から送信先までデータを送信、もしくは他の態様で伝達すること、及び/又は(2)データを、送信先まで伝達するために、通信用の媒体、システム、チャンネル、ネットワーク、装置、回線、ケーブル、ファイバー、回路、及び/又はリンクに送達することとの両方を含む。
【0060】
本書で用いる「連結された」「~に連結された」及び「~と連結された」という用語は、それぞれ、以下のうちの任意の1つ以上からなる、2つ以上の装置、機器、ファイル、回路、要素、機能、動作、処理、プログラム、媒体、構成要素、ネットワーク、システム、サブシステム、及び/又は手段の間(between又はamong)の関係を意味する。(i)直接の、又は1つ以上の他の装置、機器、ファイル、回路、要素、機能、動作、処理、プログラム、媒体、構成要素、ネットワーク、システム、サブシステム、もしくは手段を介した、接続。(ii)直接の、又は1つ以上の他の装置、機器、ファイル、回路、要素、機能、動作、処理、プログラム、媒体、構成要素、ネットワーク、システム、サブシステム、もしくは手段を介した、通信関係。及び/又は(iii)任意の1つ以上の装置、機器、ファイル、回路、要素、機能、動作、処理、プログラム、媒体、構成要素、ネットワーク、システム、サブシステム、もしくは手段の動作が、全体的に又は部分的に、これらのうちの任意の1つ以上の動作に依存している、機能的な関係。
【0061】
本書で使用する場合、「データ」という用語は、恒久的か又は一時的かに関わらず、視覚可能か、聴覚可能か、電気的に増幅していない(acoustic)か、電気的か、磁気的か、電磁的か、又は別様に示されているかに関わらず、しるし、信号、マーク、シンボル、ドメイン、シンボルセット、表示、及び情報を表す任意の他の単数又は複数の物理的形態を意味する。「データ」という用語は、対応する情報を種々の物理的形態で表したあらゆる表現を含めて、1つの物理的な形態で所定の情報を表すのに使用される。
【0062】
本書で使用する用語「データベース」とは、データあるいはデータの組織体が表される方法にかかわらず、関連データの組織体を意味する。例えば、関連するデータの体系化された集合体は、表、マップ、グリッド、パケット、データグラム、フレーム、ファイル、電子メール、メッセージ、文書、レポート、リスト、又は任意の他の形態のうちの1つ以上という形態であってよい。
【0063】
「例示的」という用語は、「例(example、instance、又はillustration)の役割を果たしている」ことを意味する。本書に記載の実施形態は限定的ではなく、むしろ例示のために過ぎない。記載されている実施形態が、他の実施形態と比べて必ずしも好適又は有利であると解釈されるべきではないことは、理解すべきである。さらに、「本発明の実施形態」「実施形態」又は「発明」という用語は、本発明の全ての実施形態が、検討されている特徴、利点、又は動作形態を含むことを必要としてはいない。
【0064】
「メモリ装置」という用語は、プロセッサが使用するための情報を記憶するコンピュータハードウェア又は回路を意味する。メモリ装置は、任意の適切なタイプのコンピュータメモリ、又は任意の他のタイプの電子記憶媒体であることができ、それは例えば、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、キャッシュメモリ、コンパクトディスク読み出し専用メモリ(CDROM)、電気光学メモリ、磁気光学メモリ、プログラム可能読み出し専用メモリ(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、コンピュータ可読媒体などである。
【0065】
本書で使用する場合、「ネットワーク」という用語は、インターネットを含む、全ての種類のネットワーク及びインターネットワークの両方を含み、いかなる具体的なネットワーク又はインターネットワークにも限定されない。
【0066】
「プロセッサ」という用語は、処理を行う装置、機器、プログラム、回路、構成要素、システム、及びサブシステムを意味しており、ハードウェアに実装されているか、有体物の形をとったソフトウェアであるか、もしくはその両方か、又はプログラム可能であるかどうかは、問わない。「プロセッサ」という用語は、限定しないが、1つ以上の計算装置、有線接続された回路、信号変調用の装置及びシステム、制御システム用の装置及びマシン、中央処理装置、プログラム可能な装置及びシステム、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、SoC(システムオンチップ)、別個の要素及び/又は回路を備えたシステム、状態機械、仮想計算機、データプロセッサ、処理設備、並びに上記のうちの任意のものの組み合わせを含む。プロセッサは、例えば、任意のタイプの汎用マイクロプロセッサもしくは汎用マイクロコントローラ、デジタル信号処理(DSP)プロセッサ、又は特定用途向け集積回路(ASIC)であってよい。プロセッサは、メモリ装置に連結されているか、又はメモリ装置に組み入れられていてよい。
【0067】
本書は、適応的自立アーキテクチャ(Adaptable Autonomy Architecture;A3)システム及び方法を開示する。該システム及び方法は例えば、標準化されたモジュールのセット内に存在する汎用的且つパラメータ化された自律性アルゴリズムの定義をサポートする、拡張可能なソフトウェアフレームワークの使用を容易にするように構成されている。本開示のA3システムは、航空機のみならず、海洋及び地上ビークル、そして例えばサイバー空間で活動する自律的エージェントにおいても、アーキテクチャの拡張可能性を最大化する。A3システムは、種々のビークル(又は任務用途)向けにカスタマイズされた、パラメータ化された関数又はアルゴリズムのライブラリを収容できる単一のアーキテクチャ、並びに、必要なアルゴリズム及びモジュールのみを利用しつつも必要に応じてアルゴリズムの素早い起動や停止が可能な、再構築可能な設計を提供できる。A3システムの目的は、A3システムの実装を1つのビークル又は任務から別のビークルへと拡張するのに要する労力を最小限に抑える自律システムを提供することによって、拡張したUAS能力をサポートすることである。すべてのソフトウェア開発が、A3がインストールされたすべてのシステムで応用できるのである。
【0068】
従来のシステムに対してA3システムが有利な点は、A3システムが、ドメイン又はビークルに関わらず、自律システムを提供することを目的とする互換性のあるコードライブラリを有するように構成されていることである。例えば、A3システムのインターフェース管理文書は、標準化されたシステムと定義でき、そのモジュールはすべてパラメータ化されているため、あるシステムから別のシステムへと確実にコードを素早く拡張することができる。A3システムはまた、あるモジュールが不在であってもマテリアルの不具合や問題なくハンドリングできるよう設計可能である。一方、従来型の自律システムは完全にパラメータ化され独立した方式で書かれていないため、モジュールの不在に自動的に対応できない。更に、従来型の自律システムは特定のドメインに特化しており、他のドメインやビークル(例えば、航空機、水上(水中)ビークル、地上ビークル、又はサイバーシステム)のシステムに適応するには大幅な再開発が必要であろう。例えば、航空機用に設計された従来の自律システムは、自動車に容易にポートすることができなかった。A3システムのコンテンツがモジュラー式でありパラメータ化されていることによって、A3システムが新しいシステムへと確実に再加工なしに即時拡張できる。更に、A3システムのアーキテクチャによって、既知のアーキテクチャを超えた自律的運航をサポートすることを目的とした、より包括的なモジュールセットが提供される。
【0069】
図1a及び1bは、A3システム(「自律システム」ともいう)と共に用いられる例示的な航空ビークル100、すなわち多回転翼航空ビークル100a及び固定翼航空ビークル100bの斜視図を示す。より詳細には、図1aは、垂直に離着陸が可能な、例示としての自律的な多回転翼航空ビークル100a(クワドコプターとして図示)であり、図1bは固定翼機100bを示す。いずれの場合でも、航空ビークル100は、機体102(例えば、胴体又はシャーシ)、着陸装置104、フライトコントロールシステム120(図1cでよりよく示す)、及び、揚力又は推力をもたらす一又は複数の推力発生器106(例えば、プロペラに作動可能に接続されたタービン、モータ108、又はエンジン118等)を含み得る。フライトコントロールシステム120は、電子機器モジュール内に少なくとも部分的に収容されており、機体102に組み込み可能であり、別のハウジングやポッド又はそれらの組み合わせにより提供されていてもよい。多回転翼航空ビークル100aの場合、推力発生器106は、複数のロータブーム112によって機体102に接続され得る。固定翼航空機100bの場合、一又は複数の固定翼114が機体102に接続され得る。一又は複数の固定翼114は機体102から独立していてもよいが、固定翼航空機100bが融着翼又は全翼の構成であってもよい。
【0070】
構成に関わらず、航空ビークル100は(例えば、情報・監視・偵察(ISR)ペイロード140の一部として、又はそれとは別に)、一又は複数のセンサ110を含み得る。例えば、環境内に音響を放出し、反響定位センサ近位の障害物から戻ってくる該音響のエコーを検知することで機能する反響定位センサなどである。エコー強度及び/又はエコーの戻り方向を用い、障害物の位置を特定し、且つ/又は障害物を特定することで、一又は複数の障害物との衝突を避けるべく航空ビークルを方向転換させることができる。しかしながら、センサ110は反響定位センサに限定されず、例えば、当技術分野で既知の或いは既知となるであろう任意の視覚によるセンサ、レーザーによるセンサ、レーダーによるセンサ、又は音響センサであって、カメラ、レーダー、LIDARなどを非限定的に含み得る。一態様では、カメラを用いて、オプティカルフローなどの三次元再構成技術によってより大きな物体を特定することがある。これにより自律航法に有用な情報がもたらされることはあるものの、光学的処理に関連した処理遅延、及び、様々なタイプの物体の視認性に対する感度によって、ビークルの飛行線において高速で接近してくる小さな物体については、光学式検知法の有用性には限界があり得る。したがって、視覚感知システムを補完するのに反響定位が用いられ得る。
【0071】
センサ110のうちの一又は複数は機外センサであり得、遠隔地から航空ビークル100へと情報をリレーするように構成され得る。したがって、センサ110は、機上にある(例えば、航空ビークル100に接続されている)か、機外にある(例えば、地上ベースであるか或いは別の航空ビークルに搭載されている)か、又はそれらの組み合わせであり得る。地上ベースのセンサ構成の場合、例えば、地上ベースの物体検知システム(例えば、地上のレーダー、地上ビークル又は船舶)が、地上ベースのセンサのデータを航空ビークル100に通信し得る。複数のビークルの通信システムでは、例えば、複数の航空ビークルが互いに協働し、センサデータを共有する効率的なメッシュネットワークを形成している。様々なソースからの、及び/又は様々なタイプの複数のセンサデータが融合されて、統一されたセンサデータが作成されることで、航空ビークル(一又は複数)が共通の統一されたセンサデータに基づき運航し得る。このような複数ビークル通信システムでは、各航空ビークル100が一又は複数の機上センサを備え、機上センサは、他の航空ビークルの機上センサと協働して感知された環境を評価し得る。複数ビークル通信システムによって、航空ビークル群(例えば、数百又は数千の航空ビークルを含むこともある航空ビークル群)の運航が容易となり得る。機上及び/又は機外センサを含む様々なセンサ110センサデータは、トラック(track)管理システムを介して融合され得る。例えば、センサフュージョンにより様々なソースやタイプのセンサからのデータを処理し、「統一センサデータ」を作成して、必要時には他のビークル(例えば、 他の航空ビークル)と通信して、トラックデータを単一の統一された共通の運航環境へと統合することができる。
【0072】
センサ110は、航空ビークルの進行方向の視野を得るように配置されることで、航空ビークル100の経路での潜在的な障害物を特定し得る。例えば、単一のセンサ110(又は単一のセンサ110群)が航空ビークル100の前部に設けられ、航空ビークル100の経路における衝突の脅威(例えば、障害又は障害物)を検知する。センサ110を飛行線上に向けることで、音響検知によって光学検知を補完し、応答してビークル操縦の実行をトリガすべき障害の即時検知に用いられ得る。更に、自律的な多回転翼航空ビークル100aで示すように、複数のセンサ110(又は複数のセンサ群)が、航空ビークル100の外周(並びに/又は上部及び底部)に配置されて、航空ビークル100の飛行線に向けられた視野を提供し得る。したがって、複数のセンサ110により航空ビークル100は、航空ビークル100の周囲で360度の視野を有効にもたらし、航空ビークル100のいずれの側でも衝突脅威を検出することが可能となるであろう。
【0073】
音響センサの目的は、飛行経路(又はその他の進行ライン)においてダイレクトに障害物、特に、視覚検知又はその他の技術では検出できないことがある障害物の即時検知を提供することと理解されたい。これに対応して、センサ110の目的は、特定の方向(例えば、航空ビークルの任意の方向)での障害物、特に、視覚検知又はその他の技術では容易に検出できないことがある障害物の即時を提供することと理解されたい。反響定位アレイは良好に動作するものの、障害物の迅速かつ正確な検知には、例えば、レーザーによる技術、又は、光学、音響、無線その他のセンシング様式を用いた任意の他の適切な技術など他のセンサシステムも好適に用いられ得る。自律的ビークルでの実装に適し、且つ障害を正確かつ迅速に特定できる任意の技術が、本書で意図するシステム及び方法の反響定位センサに代えて(又は補完して)用いられてよい。例えば、自律システムが視覚によるセンサと音響によるセンサとの組み合わせを利用してもよい。
【0074】
図1cは、航空ビークル100の例示的なフライトコントロールシステム120のブロック図である。フライトコントロールシステム120は、航空ビークル100の様々な構成要素及び機能を制御するように構成され得る。図示のように、フライトコントロールシステム120は、少なくとも1つのメモリ装置114に通信可能に連結された1つ以上の航空機プロセッサ124、フライトコントローラ126、無線送受信機130、及びナビゲーションシステム142を含む。1つ以上の航空機プロセッサ124は、少なくとも部分的に、メモリ装置128(例えばハードドライブ、フラッシュメモリなど)に記憶された命令(例えばソフトウェア)、及び1つ以上のデータベースに基づいて、1つ以上の動作を実行するように構成されていてよい。航空機制御システムは、フライトコントロールシステム120と遠隔装置138(例えば、マンマシンインターフェース202、又はその他のスマートフォン、タブレット、及びラップトップコンピュータといった携帯用電子機器)又は(例えば基地局における)他のコントローラとの間でデータを通信する、アンテナ132に接続された無線送受信機130といった、他の所望の設備を更に含んでいてよい。フライトコントロールシステム120は、無線送受信機130を介して別の航空ビークル100とも通信することで、例えば協業が容易となり得る。
【0075】
ある態様では、フライトコントロールシステム120は、遠隔装置138及び/又は別の航空ビークル100とネットワーク134上でデータ(処理済みデータ、未処理データ等)を通信し得る。ある態様では、無線送受信機130が、一又は複数の無線規格、例えばブルートゥース(例えば、工業・科学・医療用(ISM)の2.4~2.485GHzの周波数帯の短波、超高周波(UHF))、近距離無線通信(NFC)、Wi-Fi(例えば、電気・電子技術者学会(IEEE)の802.11規格)等を用いて通信するように構成され得る。遠隔装置138は、フライトコントロールシステム120及びそのISRペイロード140を含むペイロード(一又は複数)の監視及び/又は制御を容易にし得る。
【0076】
航空機プロセッサ124は、フライトコントローラ126に作動可能に接続され、オペレータ、オートパイロット、ナビゲーションシステム142又は他の高レベルシステムからの無線送受信機130を通じた命令に応じて、様々なアクチュエータ130(例えば、可動式の操縦翼面、電気モータ108など、任意の操縦翼面の動きや係止を(電子速度制御器(ESC)116などを介して)制御し、及び/又は(例えば、エンジン制御器122を介して)エンジン118の動作を制御する。ある態様では、航空機プロセッサ124とフライトコントローラ126が単一の構成要素又は回路に組み込まれ得る。作動時、フライトコントローラ126は、ESC116又は(場合により)エンジンコントローラ122によって、飛行の様々な段階で動的に(すなわち、リアルタイムで又はほぼリアルタイムで)且つ独立して推力を調整し、航空ビークル100のロール、ピッチ、又はヨーを制御し得る。ローターブレード付きのローター(例えばプロペラ)用いる場合、フライトコントローラ126は、ローターの毎分回転数(RPM)を変化させてよく、且つ/又は所望によりローターブレードのピッチを変化させてよい。例えば、電気モータ108aは、電源(例えばバッテリパック又はバッテリバンク)から各電気モータに供給される電力を、ESC106を介して調整することによって制御されてよい。
【0077】
航空機プロセッサ124は、ナビゲーションシステム142に作動可能に接続され得る。ナビゲーションシステム142は、一又は複数のジャイロ及び加速度計を含み得るINS142b及び/又はIMU142cに通信可能に接続されたGPS142aを含み得る。GPS124aによって、ドリフトのない位置の絶対値が与えられる。そのような値は、INSの解をリセットするのに使うことができるか、或いはカルマンフィルタなどの数学的アルゴリズムを使ってINSの解とブレンドすることができる。ナビゲーションシステム142は特に、慣性安定化データを航空機プロセッサ124へと通信し得る。
【0078】
データの収集及び/又はエリアの監視のために、フライトコントロールシステム120は、追加のセンサ110、例えばISRペイロード140を備え、例えば、一又は複数のカメラ140aを含む(例えば、画像及び/又は映像を記録又は撮影する、光検知・測距(LiDAR)デバイスなどの光学機器)、音声デバイス140b(例えば、マイク、反響定位センサ等)、及びその他のセンサ140cが含まれ、ISRの機能を支援しISRデータ(例えば、写真、映像、音声、センサ測定値等)を提供する。ISRペイロード140は、ISRペイロード140と航空機プロセッサ124の間のISRデータの通信を促進するため、航空機プロセッサ124に動作可能に連結されている。ISRデータは、(例えば、A3システムを介して)航空ビークル100をナビゲートし、且つ/或いは他の方法でフライトコントロールシステム120を制御するのに用いられ得る。ある態様では、ISRペイロード140が、機体102(又は、例えばロータブーム112や翼114といった他の構造構成要素)の下面に、例えばジンバルシステムを介して回転可能且つ枢動可能に連結され、より容易にISRペイロード140を下向きに配向して下方の及び/又は地上の物体を監視する。データは、フライトコントロールシステム120から遠隔装置138へ、ネットワーク134上で無線送受信機130を介して、動的に或いは定期的に通信されるか、或いは後でアクセス又は処理されるためにメモリデバイス128に保存され得る。
【0079】
下記の自律システム200はフライトコントロールシステム120に組み込まれ得るので、例えば、航空機プロセッサ124、メモリデバイス128、フライトコントローラ126、及びセンサ110などの既存のハードウェアを使用できる。この例で、自律システム200の特徴及びプロセスは、(例えば、マンマシンインターフェース202を通じたメモリデバイス128への)ソフトウェア及び/又はファームウェアアップデートによって、航空機100に実装され得る。他の態様では、自律システム200をスタンドアロンなモジュラーアタッチメントとして提供するため、電力/データコネクタを介して航空機100/フライトコントロールシステム120に取り外し可能に接続され得る。この場合、自律システム200は、A3メモリデバイス142、コントローラ144、及びセンサ110に接続された専用のA3プロセッサ140を含み得る。図示のように、センサ110は、航空機100の一部、モジュラー自律システム200の一部、又はそれらの組み合わせとして提供され得る。したがって、自律システム200がモジュール式で取り外し可能であっても、自律システム200が航空機100に既に存在する既存のセンサ及び/又はデバイスを使用でき、自律システム200のコスト、重量、及び複雑性が低減され得ることを意図している。他の態様では、自律システム200が、一又は複数のビークルが動作する共通のプラットフォームであり得る。例えば、マシンで実行可能なステップが共通のソース(すなわち、自律システム200)から一又は複数のビークルの各々に通信されるよう、自律システム200の機能に基づいて複数のビークルが動作し得る。複数のビークルの各々は、共通の自律アーキテクチャから、利用可能な動作ルール、判断基準、命令生成などを利用し得る。
【0080】
一実施形態で、自律システム200は、ハードウェア及びインストールされたソフトウェアを含むスタンドアロン且つ専用のデバイスとして実装され、ハードウェアはソフトウェアの要件及び/又は機能と緊密に合致している。スタンドアロンデバイスは、自律システムがインストールされるビークルから利用可能な追加の入出力デバイスと統合されるように構成され得る。
【0081】
別の実施形態では、自律システム200が、複数のビークル間のネットワーク通信を確立するように構成されたネットワーク機器にインストールされるか或いは統合され得る。自律システム及びネットワーク機器は、複数のビークル間でデータ(すなわち、ソフトウェア指示)の交換を支援するインターフェースとして動作するか、或いはインターフェースを提供し得る。例えば、地上の指令センターが、自律システム200の実行及びビークルのフライトコントロールシステム120との通信を実施し得る。
【0082】
更に別の実施形態で、自律システム200、又は自律システム200の一又は複数のモジュールが、一又は複数のビークルにインストールされるか或いは統合され得る。したがって、自律システム200は、任意の数のビークルと分散的に統合され得る。例えば、1つのビークルが状況認識モジュール204に関するステップを実行する一方、別のビークルはタスク計画モジュール206に関するステップを実行するなどである。自律システム200の機能が幾つかのビークルに分散される方式は、意図した目的を達成したい当業者には理解され得るであろう。
【0083】
図2aは、4つの主要モジュールを有した適応的自律アーキテクチャ(A3)システム200の高レベルシステムアーキテクチャを示す。図示のように、A3システム200は、状況認識モジュール204、タスク計画モジュール206、タスク合意モジュール208(複数の協働ビークルがネットワーク化されている場合)、及びタスク実行モジュール210の4つの一般的なアルゴリズムモジュールを含み得る。汎用アルゴリズムモジュールの各々は、他のハードウェア、例えばメモリデバイス(例えば、メモリデバイス128,142)、制御システム(例えば、コントローラ126,144)、及びセンサ(例えば、センサ110)に作動可能に接続された一又は複数のプロセッサ(例えば、プロセッサ124,140)を用いて提供(或いは他の方法で促進)され得る。
【0084】
図2bは、本書に記載の自律的機能を提供するための例示的な高レベル自律システム環境212を示す。図示のように、状況認識モジュール204、タスク計画モジュール206、タスク合意モジュール208(該当する場合)、及びタスク実行モジュール210は、通信バス214を介して互いに接続され得る。状況認識モジュール204、タスク計画モジュール206、タスク合意モジュール208、及び/又はタスク実行モジュール210、のうちの一又は複数は、一又は複数のセンサ110からセンサインプット216を、フライトコントローラ126(又はプロセッサ124)からフライトコントロールインプット218を、及び/又はマンマシンインターフェース202(又は他のシステム)からユーザインプット220を、受信し得る。A3システム200と遠隔地との間のデータ無線通信を可能にするために、通信バス214は無線送受信機132などの無線送受信機を利用してもよい。
【0085】
図2cは、複数ビークルのネットワーク環境におけるA3システム222の例示的なアーキテクチャを示す。図示のように、4つのモジュール(例えば、状況認識モジュール204、タスク計画モジュール206、タスク合意モジュール208、及びタスク実行モジュール210)の機能は、分散しており、且つ/又は、先頭航空ビークルとして機能する第1の航空ビークル(例えば、第1の航空ビークル100_1)と通信するネットワーク機器(例えば、サーバ)によって実施され得る。その他の航空ビークル(第2の航空ビークル100_2及び第3の航空ビークル100_3として図示)は、第1の航空ビークル100_1と通信可能に接続されている。第1、第2、及び第3の航空ビークル100_1、100_2、100_3は航空ビークル群224を画定している。航空ビークル群224が三機の航空ビークルのみで図示されているが、上述のように、数百から数千の航空ビークルが航空ビークル群224に存在していてもよい。作動時、先頭ビークルからの信号(センサデータ及び制御信号)が他のビークルによってタスク実行に用いられ、先頭ビークルは同様に、他のビークルからの信号を用いて指示を実行し得る。このため、各航空ビークルは、一又は複数のセンサ110a,110b,110c、及びフライトコントローラ126a,126b,126cを含み得る。一又は複数のセンサ110a,110b,110c及び/又はフライトコントローラ126a,126b,126cからのデータは、(例えば、メッシュネットワークとして機能する)航空ビークル群224の航空ビークル間で共有され得る。一又は複数のセンサ110a,110b,110cからのセンサデータの少なくとも一部は、統一センサデータへと融合され、4つのモジュール(例えば、状況認識モジュール204、タスク計画モジュール206、タスク合意モジュール208、及びタスク実行モジュール210)のうちの一又は複数によって処理され、フライトコントローラ126a、126b、126cの各々に制御信号が提供される。ある態様では、先頭航空ビークル(例えば、第1の航空ビークル100_1)のみが4つのモジュールと通信し得る。第2の航空ビークル100_2及び第3の航空ビークル100_3からのセンサデータが先頭ビークルに送信され得る。したがって、先頭ビークルは、先頭ビークルと4つのモジュール(例えば、状況認識モジュール204、タスク計画モジュール206、タスク合意モジュール208、及びタスク実行モジュール210)との間の通信を管理する機上プロセッサにより動作し得る。フライトコントローラ126b及び126cへの制御信号が、4つのモジュールのうちの一又は複数から先頭航空ビークル100_1を介して送信され得る。
【0086】
モジュールにより、A3システム200は、情報を取得し、複数のタスクを規定し、順序付けし、複数のタスクを他のシステム/ユーザと調整し、タスク割り当てリストに応じて複数のタスクを実行することができる。例えば、A3システム200は、ユーザの(マンマシンインターフェース202を介した)インタラクションにより、及び/又は、機上であっても機外であっても、地上にあるものも含め、他の航空ビークル、水上機、宇宙機等のセンサ110から受信した情報を、状況認識モジュール204を介して取得するように構成され得る。A3システム200は、タスク計画モジュール206を用いてタスクを規定し順序付けし得る。タスク計画モジュール206は、交戦規定、戦略、及びその他の運航制限を組み込める。次いで、A3システム200はタスク合意モジュール208によって、タスクを他のビークル及びユーザと調整し得る。次いで、合意されたタスクがタスク実行モジュール210によりA3システム200によって実行され得る。A3システム200は、新しいビークル及び/又は他の自律システムへ素早く拡張、再応用できるオープン標準インターフェース管理文書(ICD)及びパラメータ化により完全且つエンドツーエンドな自律アーキテクチャを提供する。このA3システム200の柔軟性により、オペレータが一度コードしたものがどこでも応用できる。したがって、A3システム200は主に航空機(例えば、航空機100a、100b)との関連で記載されることになるものの、A3システム200は、自律性を適用し自律性から益する他のいかなるビークル又はシステムにも事実上応用できる。例えば、A3システム200の適応的自立アーキテクチャは、様々な自律システムに応用され得る。中でも、航空機、地上ビークル(例えば、自動車)、水中ビークル、水上機、宇宙機、及び純粋にソフトウェア-ベースのシステム(例えば、サイバー/仮想のシステム)に応用できる。したがって、A3システム200の有益性は、特定のコンテンツのみならず、特定のアーキテクチャの細部、そのサブルーチン、及びサブルーチンと他のシステム/デバイスとの間のインターフェースであり、それらは、様々なドメインへのA3システム200の迅速な拡張や応用をサポートする。
【0087】
以下の記載ではA3システム200の様々な構成要素を高レベルで詳述し、その後更により詳細なレベルの説明を行い、そしてそれらの要素が迅速な拡張性をサポートするためにどのようにパラメータ化、モジュラー化されるかを述べる。最も高レベルでは、図2を参照すると、A3システム200が5つのモジュールを含み得る。情報や命令は概ね左から右に流れ、マンマシンインターフェース202が各モジュールを、所与のモジュールが要すればサポートする。具体的には、上述のように、モジュールが、マンマシンインターフェース202、状況認識モジュール204、タスク計画モジュール206、タスク合意モジュール208、及びタスク実行モジュール210を含み得る。
【0088】
左から開始し、A3システム200は、状況認識モジュール204を用いて、環境の状態についての情報を取得する。その情報はタスク計画部206aによって処理され、ビークルがどのタスクを実行(実施)できるか、どのように実行すべきかについての理解が生成される。タスク割り振り206bを用いて、所定の基準に基づき、それらのタスクの順序付けが最適化され得る。必要に応じ且つ/又は有用な場合、タスク合意モジュール208は、タスクの選択について他の協働システムと交渉する。タスクが交渉されると、タスク実行モジュール210はそれらのタスクを(例えば、タスク割り当てリストに応じて)環境内で実行する。マンマシンインターフェース202は、A3システム200と、システムとインタラクトする人間のオペレータ又は監督者との間の通信リンクを提供する。人間によるインプットが必要ない場合、マンマシンインターフェース202は不要であり得る。例えば、センサインプット、フライトコントロールインプット等の他のインプットが、他のシステム又はセンサからA3システム200へとダイレクトに通信され得る。
【0089】
状況認識モジュール204は、(例えば、メモリデバイスに保存されている)アルゴリズム及びサブルーチンのセットを利用して、外部環境(例えば、センサ110からのLiDARデータ、気温、気圧、及びその他のセンサインプット等を含み得る)、及びA3システム200によって運航されているシステム(例えば、航空機100)についてセンサデータを取得する。例えば、状況認識モジュール204は、ビークル搭載の(一体型でもアドオンでもよい)センサからデータを受信し得る。データは、例えば、バッテリの温度/容量/状態、燃料の温度/量、エンジン/モータ、RPM、速度等を表す。状況認識モジュール204は、ビークル及び周辺環境の測定値へと、センサの生データを処理する。状況認識モジュール204は、同じ物のセンサ間の測定値を融合して標準形式へと換算し、それらは次のモジュール(すなわち、タスク計画モジュール206)を補助すべく、任務目的に基づき優先され得る。各センサは通常、モダリティやセンサパラメータに基づき、検知できる特定の物体のセットにチューニングされている。センサ110はアウトプットも様々であり、センサ生データ、トラック観測、及び観測したトラックの現況のアウトプットを含む。状況認識モジュール204は各センサタイプからのインプットを受領し、トラックデータを他のセンサと融合するとともに、必要に応じて生データの処理を組み込んで新しい観測値を生成する。例えば、センサデータを処理し、樹木、車、環境内の障害物、他のビークルについての知見へ換算したものが提供されるか、或いは慣性測定部データのフィルタリングがなされ、ビークルの状態を推定し得る。他のビークルから生成されたトラック又は脅威は、優先アルゴリズムによって処理される。優先アルゴリズムは、任務目的において関心対象であるトラック、又は任務目的への進捗を妨げ得るトラックを見出し、それらを他のトラックよりも上位に順序付けて、任務計画を援助する。
【0090】
タスク計画モジュール206モジュールは、トラック、環境、及びシステムデータを用いて環境の状態を理解し、与えられた目的を達成するためにそれらのタスクが実行されるべき適切な順序(タスク割り当てリスト)を決定する。本書で用いる「タスク」は、ビークルが空間上の特定の点へ進むこと、又は特定のハードウェアやソフトウェアを起動すること等、A3システム200が実行できる活動をいう。別の例で、タスクは、自動車に特定の場所へと運行させ、ターンや停止を実行させるよう命令すること、又は、システムがバルブに開閉を命令することやポンプに起動や停止を命令することを含み得る。パラメータ化されたタスクは、マンマシンインターフェース202を介して、開発者により、又は人間のオペレータにより予め定義され、特定のパラメータを与えられ、一方で任務実行計画が作成され得る。タスクの例としては、静的な脅威に対しての電子光学・赤外線(EO/IR)カメラを用いた広い視野でのエリア探索、空対空標的の迎撃及び発射物との交戦、或いは、連携飛行して更なる指示を受けるまでロイターする、などが含まれる。タスクコレクションは、タスクデータベースの形態でメモリデバイス128に記憶され、A3システム200が他のビークルや自律システムに適用されると更新され得る。
【0091】
図示のように、タスク計画モジュール206は、タスク計画部206a及びタスク割り振り206bを含む2つ以上のサブルーチンを用い得る。タスク計画部206aは、状況認識モジュール204からの情報を、タスクとその特性の詳細へと変換する。一例として、特定の場所へと移動する地上ビークルのタスク詳細は、移動総時間、移動総距離、具体的な移動経路、消費する総燃料/エネルギー、及び失敗の確率であり得る。このようなパフォーマンスデータは、そのタスクを実行するコストデータを提供する。
【0092】
パフォーマンスデータはタスクの選択から予期される結果を含み、そのタスクの実行を選択すべきかどうかの判断に役立てることができる。パフォーマンスデータは、タスク割り振り206bに対処するタスク計画モジュール206の他のサブルーチンの判断基礎として用いられる。タスク割り振り206bサブルーチンは、利用可能なタスクのうちの一部又はすべてについて関連するパフォーマンスデータを精査し、どのタスクがどの順序で実行されるべきか(例えば、任務目的、及びマンマシンインターフェース202のオペレータが供給する評価基準に基づき)、及びどのビークルがそのタスクを実施すべきか、を判断する。評価基準は、総消費燃料の最小化、持続時間の最小化、又は成功可能性の最大化、などを含む。タスク計画部206は、ルート計画、軌道計画、成功確率の推定、センサ計画など多くのサービスを使用できる。
【0093】
A3システム200が、すべてのタスクを実行するのに十分なリソースを有している場合、タスク割り振り206bは、要求された基準の下でそれらタスクの最適な順序を決定し得る。そうでない場合、タスク割り振り206bは、所与の基準の下で実行できるタスクの最良のサブセット(及びそれらの実行順序)を決定する。タスク割り振り206bを実施できるアルゴリズムの幾つかの例は、分岐限定、混合整数線形計画、遺伝的アルゴリズム、及び焼きなまし法である。
【0094】
A3システム200を実行する複数のビークルが協働(例えば、目的達成のために共働)する構成で互いにリンクしている場合、タスク合意モジュール208が用いられ得る。例示的な協働タスクは、特に、編隊飛行、単一のタスクの協働実施、同じエリアに着陸する場合は着陸区域の割り当て、離間距離の設定、駐機等を含む。タスク合意モジュール208は、協働する他のビークルが実行を検討しているタスクについての情報を受け取り得る。これらのタスクは、単一ビークルのタスクを含んでもよく、複数ビークルのタスク、例えば、編隊飛行、マルチセンサISR、複数ビークル交戦等を含んでもよい。言い換えれば、タスク合意モジュール208は、第1のビークルの第1のタスク割り当てリストを、第2の複数のタスクを含む(例えば、自律システムを備えた第2のビークルに関連付けられた)第2のタスク割り当てリストに照らして分析し得る。各ビークルのタスク合意モジュール208は、他のビークル(一又は複数)が生成した潜在的なタスク割り当てリストを精査し、チーム全体の効率を最大化するにはどのタスクセットを実行するかについて、他のビークル(一又は複数)と交渉する。交渉術の例としては、リーダーコマンド(1つのビークルが決定)、オークション(割り当てコストのブロードキャスト)、バンドリング(タスクをグループ化しオプションをコスト関数とミックス)、及び確定的決定(全ビークルが同じ解に到達することを保証)等がある。
【0095】
タスク合意モジュール208は、第2のタスク割り当てリストに少なくとも部分的に基づいて、第1のタスク割り当てリストを調整するように構成され得る。したがって、タスク合意モジュール208は、協働して目的を実行するビークルと第2のビークルとの全体的な効率を最大化するために、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整し得る。例えば、タスク合意モジュール208が、タスク割り当てリストと第2のタスク割り当てリストとの間でタスクを任務の需要に応じて再割り振りし得る。別の例では、タスク合意モジュール208が、第2のタスク割り当てリストに少なくとも部分的に基づいて、上記の複数のタスクを再順序付けし得る(逆も当てはまる。例えば、他のビークルが、第1のタスク割り当てリストに基づき、第2のタスク割り当てリストを再順序付けし得る)。更に別の例では、第1の複数のタスクと第2の複数のタスクが少なくとも部分的に重複する場合、タスク割り当てリストのうちの1つから重複するタスクを除去することで、ダブりが軽減され得る。同様に、1つのビークルが(例えば、第2のタスク割り当てリストからの)タスクを完了したら、タスク合意モジュール208が当該タスクを第1のタスク割り当てリストから取り除き得る。したがって、ビークル(又は他のビークル)がタスクを完遂すると様々なタスク割り当てリストが動的に(例えば、リアルタイムで又はほぼリアルタイム)更新され得る。
【0096】
すべてのA3対応システムにわたりすべてのタスク合意モジュール208が新しいタスク割り振りの合意(すなわち、賛同)に到達すると、各ビークルについてタスク割り当てリストが完成し、実行のためにタスク実行モジュール210へと送られる。ただし、活動中のビークルが1つしかないときは、タスク合意モジュール208は迂回されてよく、タスク計画モジュール206からタスク実行モジュール210へと(例えば、タスク割り当てリストの形態で)ダイレクトに進み得る。
【0097】
タスク実行モジュール210は最終的なタスク割り当てリストを受信し、そのリストにおけるタスクの実行監視をハンドリングする。例えば、航空機に関して、タスク実行モジュール210はフライトコントロールシステム120に指示して、様々な推力発生器106、操縦翼面、アクチュエータ130、及び/又はセンサ110を制御し、所望のタスクの実施(及び実行の監視)を行う。無人走行車の場合、完成したタスクリストが、無人走行車に送られ得る。完成したタスクリストは、目的地へのルート上の様々な通過点へと自動運転車をナビゲートするという一連のタスク、作業員から貨物の搭載を受けるのをあるエリアで待機するというタスク、別の一連の通過点を通過するというタスク、別の作業員が貨物を降ろすのをあるエリアで待機するというタスク、そして燃料補充を受けるべく最終目的地へとナビゲートするというタスクを含む。このタスクリストは、タスク計画モジュール206又はタスク合意モジュール208のいずれかにより提供され得る。
【0098】
タスク実行モジュール210は、システムタスク実行210a及び実行管理210bなどのサブルーチンを含み得る。実行管理210bは、タスクリストの監視を維持し、A3に対応したシステム(例えば、航空機、自動車等)にシステムの第1のタスクを実行するよう命じる。システムタスク実行モジュール210aサブルーチンが用いられる。システムタスク実行210aサブルーチンは、環境内でタスクを実施することに関連する特定のソフトウェア及びハードウェアを含み得る。自動運転車に関連して、例えば、システムタスク実行210aサブルーチンは、ソフトウェアを実行する。環境内の特定の点に対するナビゲーションコマンドを、車をターンさせるハンドルへのコマンド、並びに、ビークルの速度を管理するアクセル及びブレーキへのコマンドへと変換する。作動時、実行管理210bサブルーチンは、アクティブなタスクの実行を監視して、実行においてタスク再順序付け又は放棄が必要となり得る不具合(又はその他のエラー)、及び、タスクの完了を監視して次のタスクが開始できることを特定する。システムタスク実行モジュール210aにおけるサブルーチンは、システムタスク計画モジュール206におけるルーティンに類似するが、タスクがどのように実行され得るかを反映しているというよりも、タスクの実行をサポートするよう再設定されている。
【0099】
マンマシンインターフェース202は、ユーザに制御・通信インターフェースを提供する。マンマシンインターフェース202は、ユーザがA3システム200を監視、指示、及び制御することを可能にするマネージャとして動作するように設定可能である。マンマシンインターフェース202は、ユーザがタスク、制限の入力、タスク割り当てリストの修正、ソフトウェア/ファームウェアの更新等ができるように用いられ得る。マンマシンインターフェース202は、タッチスクリーングラフィカルユーザインターフェース(「GUI」)及び/又は音声認識システムを含み得る。マンマシンインターフェース202は、例えば、タブレットコンピュータ、ラップトップコンピュータ、スマートフォン、又はこれらの組合せを用い得る。マンマシンインターフェース202は、操縦士とA3システム200との間の主な通信チャネルとして機能し、ユーザがA3システム200にタスクを命令したり、A3システム200からフィードバックや指令を受け取ることを可能にする。マンマシンインターフェース202は、特定の警告に対して操縦士の注意を向ける視覚的又は聴覚的警告を発し得る。人間によるインプットが不要な完全自律システムでは、マンマシンインターフェース202が、種々のシステム(例えば、通信バス214)間の通信を容易にするマシンインターフェースである(図2bにその例が示されている)。ある態様では、マンマシンインターフェース202が集中型インプットであってもよい。例えば、地上局がA3システム200にインプットを供給し、その結果が一又は複数の航空ビークル100に通信され得る。
【0100】
図3は、A3システム200及び様々なサブコンポーネントのアーキテクチャ図をより詳細に示し、4つの上記モジュールのサブルーチンの更なるブロックを含む。図示のように、状況認識モジュール204は、センサ処理ルーティン308、トラック管理・センサフュージョンルーティン306、及びトラック優先ルーティン304を提供し得る。
【0101】
センサ処理ルーティン308は、センサシステム110から入ってくる生データをより標準的なコンピュータ情報へと処理するよう機能する処理(例えば、コンピュータ実装ソフトウェア/ルーティン)を提供する。例えば、センサ処理ルーティン308は、LIDARセンサからの生アウトプットを点群へと変換し、ポテンショメータ読取値を位置情報へ、レーダー測定値をビークルトラック状態へと変換し、IRカメラデータをトラックシステム健全性監視アルゴリズムの高精度角度測定値へ、どのトラックが任務目的にとって最も重要であるかを決定するためのトラック優先へと、変換し得る。一態様では、状況認識モジュール204が、LIDARセンサからの生の測定値を受信し得る。LIDARは航空機(又はその他のビークル)に装備されており、航空機周辺の物体を検知したり位置を特定したりする。走査されたエリア内の対象物体を検出するために、LIDAR測定データがフィルタリングされ得る。加えて、複数のエリアを走査して、ビークルからの複数の方向における障害物の位置が形成され得る。状況認識モジュール204によりLIDARデータが得られたら、生データが処理されて、ビークルの位置に対する障害物の場所が特定され得、最終的に、状況認識モジュール204が仮想のマップを形成する。
【0102】
トラック管理・センサフュージョンルーティン306は、同じトラックについての個々のセンサからの測定値を、それらトラックの状態の単一のセットへと統合する。これらのアルゴリズムは、トラックへの関連付け、トラック間の区別、データセットを統合するフィルタ、及び該トラックを含む対象のより高レベルの識別を含む。アルゴリズムの幾つかの例としては、情報フィルタ、無香カルマンフィルタ、粒子フィルタ、多重仮説フィルタ、及び識別用ニューラルネットワークを含む。
【0103】
センサフュージョンは、複数の機上及び/又は機外センサ源からのデータを融合するのみならず、他のビークルと通信して、トラックデータを単一の共通運用図(common operating picture)へと統合する。したがって、センサフュージョンによって種々のタイプの機上センサが可能となるが、センサデータをインプットへと統合できるので特に有用であり、種々のセンサを個々に組み合わせて使用するよりも優れている。センサフュージョンは、1つのビークルの複数のセンサ源のみならず、種々の場所の複数のビークルからのセンサインプットの協働(例えば、複数の場所からのビジョンと協働した3Dマップの生成)に適用する。
【0104】
トラック優先ルーティン304は、タスク計画モジュール206が最初に考慮するトラックとしてどのトラックが重要か、又は適切かを決定する。例えば、ビークル群がある高度で空港へと巡行しており、対空脅威を検知したとする。優先アルゴリズムは当該対空脅威を、任務に影響を及ぼし得るトラックとして特定し、タスク計画モジュール206が考慮する考慮対象として優先する。他のトラック、例えば民間機は任務に影響を及ぼすとは考えにくく、優先度は下がる。幾つかの例としては、タイプ別ソートアルゴリズム、ニューラルネットワーク、及び重要性を予測する機械学習アルゴリズムがある。様々なリソース(例えば、ビークル(一又は複数)、センサ等)、トラック、及び不具合が、トラック優先ルーティン304からタスク計画モジュール206へと、更なる処理のために通信され得る。
【0105】
図示のように、タスク計画モジュール206は、タスク計画部206a及びタスク割り振りモジュール206bを提供し得る。タスク計画部206a及びタスク割り振りモジュール206bは、互いに通信可能に接続され、タスク割り振り206bがタスク計画部206aからタスクを要求し、これに応じてタスク計画部206aがタスク計画をタスク割り振り206bルーティンに送る。このインプットに基づき、タスク割り振り206bルーティンが、単一のビークル又は複数のビークルが配備されているかに応じて、得られたタスク割り当てを次のブロックに通信し得る(例えば、タスク合意208又はタスク実行210)。
【0106】
図示のように、タスク計画部206aは、ルート計画ルーティン310、成功確率ルーティン312、手順データベース314、交戦規定(ROE)・制限検証ルーティン316、戦略コンポーネント318、及び/又は任意の他の所望のルーティン320を含む様々なソースから入力を受けるように構成され得る。
【0107】
ルート計画ルーティン310は、コスト関数の最小化に基づき、ビークルが環境を通る運航経路を計画する。そのようなアルゴリズムの例としては、A*アルゴリズム、D*インクリメンタルサーチアルゴリズム、高速探索ランダムツリー(RRT)、及びRRT*経路計画ルーティンがあり得る。RRT及びRRT*アルゴリズムは、Sertac Karaman and Emilio Frazzoli, Incremental Sampling-based Algorithms for Optimal Motion Planning, International Journal of Robotics Research (2010)により詳細に記載されている。
【0108】
成功確率ルーティン312は、環境内で実行されるあるタスクの成功可能性を判定する。例えば、成功確率ルーティン312は、配備可能な物体が特定の高度、向き、及びビークルの初期速度に鑑みて目標に到達する可能性を確立し得る。その他、風、道路状況、又は他の適切な要因に鑑みてビークルが時間通り目標地に到達する可能性を判定するルーティンを含み得る。
【0109】
手順データベース314は、タスク実行モジュール210を支援するうえで実行されねばならない活動とタスクのリストを提供する。システムとしてレベルの高いタスクではないものの高レベルタスクを達成するために実行されるべき、航空機の離着陸の実行手順を含むデータベースモデルを含み得る。例えば、ISR任務においてセンサに電力供給する手順は、センサへの給電、起動待ち、パラメータ初期化、トランスファーアライメント、及び観測対象の座標の送信を含み得る。これらの手順は、ISR任務などのより高レベルなタスクを実行する際に重要である。
【0110】
ROE・制限検証ルーティン316は、システムがとるべきでない挙動を示す既知の条件や規則に照らして、タスクをチェックする。これには、地理的な制限(例えば、この画定エリアでは特定のタスクは実行してはならない)、時間的な制限(例えば、所与の時間の前後、又は特定の時間窓内では特定のタスクは実行してはならない)、順序付け制限(例えば、特定のタスクが別のタスクの前や後に発生してはならない)、及びその他の同様の拡張が含まれる。単純な例として、ビークルが戦力を用いて標的と交戦するにはオペレータの認可がなければならないという制限がある。オペレータの認可がなければ、ビークルは標的と交戦するタスクを選択しないであろうが、その他の方法で任務目的を完遂しようとするであろう。
【0111】
戦術コンポーネント318は、タスクがシステム内でどのように実行されるべきかを示す規則の定義を考慮する。戦術コンポーネント318は、状況認識モジュール204からのトラックを、そのトラックで可能なタスク、有効なパラメータ、及び、どのパラメータ及びタスクがオペレータによって許可されているか、と照合する。例えば、広いエリアで標的を見つけることが目的だとする。例えば状況認識アイテムが、探索を要するエリアと、観測済みの程度とである場合、戦術コンポーネント318は、それらの状況認識アイテムを、実施できる利用可能なタスクと比較するであろう。
【0112】
この場合、利用可能タスクは、EO/IRによるエリア探索、EO/IRによる標的追跡、又は基地への帰還であり得る。戦術コンポーネント318は、EO/IRセンサを用いたエリア探索を実施するタスクと、状況認識アイテムを照合し得る。タスクは、実行データを生成するのにパラメータを必要とする。このタスクについて、パラメータの幾つかは、探索すべきエリア、利用可能な空域、必要な標的ピクセル数、及び、航空機の速度や高度の制限であり得る。戦術コンポーネント318は、このビークル及び現在のROEにとって容認可能なレンジのパラメータを提供し得る。タスク割り振り206bは後ほど、任務目的を完遂するのに容認可能なパラメータのセットを見出すであろう。戦術コンポーネント318を完遂できるアルゴリズムの例は、データベースルックアップ、どのタスクが最も有用かを予測する機械学習アルゴリズム、及びニューラルネットワークである。
【0113】
先に述べたように、タスク計画部206aルーティンは、A3システム200に提出された単一のタスクを取り上げ、上記で列挙した適切なルーティン(及び任意の他の所望のルーティン320)を呼び出し、タスク割り振りモジュール206bで用いるのに必要なパフォーマンス情報を生成する。次いで、タスク割り振りモジュール206bは、実行すべき適切なタスクのセット及びそれらの順序を判定するために、タスク計画部206aルーティンから得たデータを集める。
【0114】
図示のように、タスク合意モジュール208は、合意検証ループ322及び合意ルーティン324を提供し得る。合意ルーティン324は、アルゴリズムを利用し得る。該アルゴリズムは、単一のA3対応ビークル(又は他のシステム)について、及び(アドホックネットワーク302などのネットワーク136を介して)ネットワークされた他のA3対応システム328について、現在割り当てられているタスクを検証し、タスクの割り振りを改善することができるかどうか判定する。合意ルーティン324はチームの他のビークルと交渉し、任務目的の達成のため、当該ビークルについて生成されたどのタスクのセットを実行するかを決定する。例えば、標的を探索し追跡するタスクを有する2つのビークルがあるとする。エリア探索という第1の計画が承認されており、次に標的の追跡という計画がある。探索の途中でビークルが標的を発見する。エリア探索を続けるのではなく、ビークルは標的の追跡へと再計画される。この新しい計画が合意ルーティン324を通ることになる。
【0115】
合意検証ループ322は、合意ルーティン324を追跡して最適な割り振りが達成されたかどうか(或いは少なくとも、タスク割り振り206bの質が向上していないこと)を判定する監視システムとして機能する。合意検証ループ322は、どのタスクセットが実行されるかについてチームの同意の検証を一貫してチェックする。ビークルが同期から外れることがあれば、実行するタスクセットについて同意を得るべく合意を再開する。
【0116】
図示のように、タスク実行モジュール210は、システムタスク実行モジュール210a、実行管理ループルーティン210b、及び手順管理モジュール326を提供し得る。
システムタスク実行モジュール210aは、タスク計画部206aアルゴリズムの作動可能なバージョンとして機能するアルゴリズムを利用する。これらのアルゴリズムは、タスクとそれをどう実行するかを計画するというよりも、そのタスクを環境内でアクティブに実行するよう、他のハードウェアやソフトウェアシステムに能動的に命令し、命令を受けたソフトウェアやハードウェアがそのタスクを実行するために正しく機能しているかを確認すべく挙動を監視する。
【0117】
手順管理モジュール326は、タスク計画部モジュール206における手順データベース314の作動可能バージョンとして機能するアルゴリズムを含む。それらのアルゴリズムに、システムタスク実行モジュール210aのサポートに必要な適切な手順タスクがロードされる。
【0118】
実行管理ループルーティン210bは、A3対応システムに割り当てられたタスクの実行の全体的な監視を管理する。実行管理ループルーティン210bは、タスク計画部206aにおいてタスク割り振りモジュール206bの作動可能バージョンを提供する。
【0119】
環境、他のビークル、及び/又はビークルチームが予期しない及び/又は予期されていた状態変化にさらされ得るため、任務が完全に計画通りに実行されることは稀である。したがって、実行管理ループ210bは、任務実行全体において、任務計画の現時点で予期される成果を定期的に(又は動的に)チェックする。成功確率が所定の閾値(例えば、所定の成功パーセンテージ)を下回る場合、チームの再計画が開始される。これが発生する理由の数は幾つであってもよい。幾つかの例として、ビークルがセンサの不具合のためこれ以降ISRできないこと、ビークルが失われること、ビークルが失われることになり得る脅威が検出された、などがある。
【0120】
A3システム200の設計の利点は、そのコンポーネント及びモジュールが標準のICDに従うように設計されていることである。標準のICD(図3では黒い円として図示)は、ルーティン間及びモジュール間でのデータパブリッシュ、新しいビークルや新しいシステムのサポートへの迅速な適応のためのルーティンのパラメータ化、あるサブルーチンが含まれていない場合その不在を他のサブルーチンが知り自身の挙動を適切に適応させるためのモジュールアーキテクチャや通信、を管理している。
【0121】
アルゴリズムのパラメータ化に関しては、例えば下記のような場合に、航空機と地上ビークルの両方で良好に機能する経路計画アルゴリズムを作成することができる。ビークルの関連する制限事項や動きの特性を、インターフェースからダイレクトにコードするのではなく他のデータベースやファイルからインポートするようアルゴリズムが設計される場合である。アルゴリズムのパラメータ化及び要素間でのICD標準化によって、システムは新しいコードを自身のライブラリに容易に受け入れて、それらがメモリデバイス128,142にデータベースとして保存され、システム内のインテグレーションコストが最小限に抑えられる。A3システムの200メモリデバイス128,142は、新しいビークルとの容易なインテグレーションを可能にするビークル特性データベースも含み得る。A3システムを主に無人及び自律的航空機との関連で記載したが、A3システムは様々な自律システム及び自律ドメイン、例えば宇宙機、水上機、水中ビークル、地上ビークル、及びサイバーセキュリティシステムなどで利用され得る。
【0122】
図4は、システム(例えば、ビークル又はその他のシステム)を制御する自動プロセス400の例のフロー図である。ステップ402での開始時、状況認識モジュール204はステップ404で、環境の状態、外部環境のセンサデータ、及び運航システムそのものについての情報を取得するように構成され得る。ステップ406で、状況認識モジュール204は、生のセンサデータをビークル及び周辺環境の測定値へと処理する。ステップ408で、状況認識モジュール204は、同一の物体のセンサ読取値を処理し、融合して適切な形式(例えば、標準化された形式)へと換算する。
【0123】
上述のように、タスク計画モジュール206は、標準化されたセンサデータを状況認識モジュール204から受け取り、システム能力を特定し判定する。例えば、ビークル/システムに何ができるか、どのようにすべきか、順序付け、及び選択についての交渉などである。タスク計画モジュール206は、センサデータ、手順データベース、ROE、及び/又は制限検証ルーティンに少なくとも部分的に基づいて、システムが実行できるタスク/活動も判定する。最後に、タスク計画モジュール206は、与えられた目的に基づき、タスクの順序を決定し、パラメータ化されたタスクを処理する。そのために、図2及び3との関連で述べたように、タスク計画モジュール206は、システムタスク計画部サブルーチン206a及びタスク割り振りサブルーチン206bを含む2つ以上のサブルーチンを含み得る。
【0124】
ステップ410で、システムタスク計画部サブルーチン206aは、状況認識モジュール204からの標準化された情報を、タスク及びその特性についての詳細(タスクの詳細及び特性)へと変換する。次いで、タスク割り振りサブルーチン206bは、ステップ412でタスクアイテムを集め、ステップ414で関連するタスク特性を分析する。ステップ416で、タスク割り振りサブルーチン206bは(例えばマンマシンインターフェース202を介して)任務目的及び評価基準を受け取る。ステップ418で、タスク割り振りサブルーチン206bは、状況(例えば、システムに対する制限)下で達成可能なタスクのサブセットを決定する。ステップ420で、タスク割り振りサブルーチン206bは、タスク特性、任務目的、評価基準等のうちの一又は複数に基づき、タスクの割り振りと順序(例えば、タスク割り振りリスト)を決定する。
【0125】
ステップ422で、システムが、一又は複数の他のシステムと協働すると判定された場合(例えば、互いにリンクする複数のビークルや他のシステムが存在する場合、或いはオペレータが制御ループに存在しており計画を承認してそれをマンマシンインターフェース202に入力する場合)、自動プロセス400はステップ432に進む。そうでない場合、自動プロセス400はタスク割り当てリストの実行のため(例えば、ステップ420から)ステップ424に進む。ステップ432で、タスク合意モジュール208は各システムからのタスク割り当てリストを分析し、ステップ434で、システム間でタスクを再割り振りすべく交渉を行うことによる全体の効率を判定する。ステップ432及び434での処理に基づき、タスクが再割り振りされ、システムうちの一方又は両方の新しいタスク割り当てリストが作成され得る。
【0126】
タスク実行モジュール210は、システムタスク実行サブルーチン210a及び実行管理サブルーチン210bを含む2つのサブルーチンを含み得る。ステップ424で、システムタスク実行サブルーチン210aは、(例えば、タスク計画モジュール206、又は場合によりタスク合意モジュール208の何れかから)タスク割り当てリストを受け取り、ステップ426でタスク割り当てリストの実行を始動する。ステップ428で、実行管理サブルーチン210bは、タスク割り当てリストのタスク実行についてエラーがないか監視し、エラーが特定されるとタスク割り当てリストの実行を再順序付けするか放棄する。例えば、自動プロセス400はステップ418に戻るので、タスク割り振りサブルーチン206bが、その状況下でどのタスクが達成可能か判定して、ステップ420で新しいタスク割り当てリストを作成できる。
【0127】
自動プロセス400は、ステップの特定の組み合わせを含む例として示されているが、より少ないか或いは更なるステップが実装されてもよいことを当業者は理解するであろう。ある態様では、一又は複数のステップが並行して実施されてもよい。更に、一又は複数のステップがオプションであって自動プロセス400から省略されるか、或いは別途及び/又はオペレータからの要求によって実施されてもよい。ある態様では、一又は複数のステップが条件付きであることで、一又は複数のステップの実行が所定の要件及び/又は条件に付随し得る。更に、ステップのサイクル順序が、オペレータ又はシステムのニーズに応じて並べ替えられ得る。
【0128】
本開示は、下記の条項に記載の主題を含む。
【0129】
本開示は、下記の条項に記載の主題を含む。
【0130】
条項1
ある環境内のビークル(100)で使用する自律システムであって、
メモリデバイスに作動可能に接続されたプロセッサ(124)と、
プロセッサ(124)に作動可能に接続された複数のセンサ(110,110a,110b,110c,140c)と、
ビークル(100)コントローラ(144)と、
該複数のセンサに作動可能に接続された状況認識モジュール(204)であって、該複数のセンサ(110,110a,110b,110c,140c)のうちの少なくとも1つからのセンサ(110,110a,110b,110c,140c)データに少なくとも部分的に基づいて、該環境の状態を判定するように構成されている、状況認識モジュール(204)と、
状況認識モジュール(204)と通信可能に接続されたタスク計画モジュール(206)であって、
ビークル(100)が実施する複数のタスクを該プロセッサ(124)によって特定するように構成されており、
該複数のタスクから、所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストを該プロセッサ(124)によって生成するように構成されている、タスク計画モジュール(206)と、
ビークル(100)コントローラ(144)に作動可能に接続されたタスク実行モジュール(210)であって、タスク割り当てリストに応じて該複数のタスクを実行するようビークル(100)コントローラ(144)に指示するように構成されており、任意のエラーを特定するために、タスク割り当てリストの実行中にビークル(100)又はビークル(100)コントローラ(144)を監視するように構成されている、タスク実行モジュール(210)と
を含む、自律システム。
【0131】
条項2
ビークル(100)が航空機であり、ビークル(100)コントローラ(144)がフライトコントローラ(144)であり、フライトコントローラ(144)は、タスク割り当てリストに応じて、一又は複数の推力発生器(106)、又は一又は複数のアクチュエータを制御するように構成されている、条項1に記載の自律システム。
【0132】
条項3
ビークル(100)のタスク割り当てリストを、自律システムを備えた第2のビークル(100)に関連付けられた第2のタスク割り当てリストに照らして分析する、タスク合意モジュール(208)を更に含み、
第2のタスク割り当てリストは第2の複数のタスクを含み、
タスク合意モジュール(208)は、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成されている、条項1又は2に記載の自律システム。
【0133】
条項4
タスク合意モジュール(208)が、協働して目的を実行するビークル(100)と第2のビークル(100)の全体的な効率を最大化するために、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するように構成されている、条項3に記載の自律システム。
【0134】
条項5
タスク合意モジュール(208)は、タスク割り当てリストと第2のタスク割り当てリストとの間でタスクを再割り振りするように構成されている、条項4に記載の自律システム。
【0135】
条項6
所定の最適化基準が、タスク割り当てリストの実行の結果に少なくとも部分的に基づいて更新される、条項1から5の何れか一項に記載の自律システム。
【0136】
条項7
タスク合意モジュール(208)が、第2のタスク割り当てリスト又はタスク割り当てリストに少なくとも部分的に基づいて、上記の複数のタスクを再順序付けするように構成されている、条項4に記載の自律システム。
【0137】
条項8
複数のタスクと第2の複数のタスクが少なくとも部分的に重複する、条項3に記載の自律システム。
【0138】
条項9
重複するタスクが、タスク割り当てリスト又は第2のタスク割り当てリストの何れかから取り除かれる、条項8に記載の自律システム。
【0139】
条項10
自律システムとユーザとの間の通信インターフェースを提供するマンマシンインターフェース(202)を更に含む、条項1から9の何れか一項に記載の自律システム。
【0140】
条項11
マンマシンインターフェース(202)は、ユーザがタスク割り当てリストを修正するのを可能にする、条項10に記載の自律システム。
【0141】
条項12
ビークル(100)コントローラ(144)が、タスク割り当てリストに少なくとも部分的に基づいて、ビークル(100)をナビゲートするように構成されている、条項1から11の何れか一項に記載の自律システム。
【0142】
条項13
タスク割り当てリストが、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻るよう、ビークル(100)に指示するように構成されている、条項12に記載の自律システム。
【0143】
条項14
メモリデバイスが、ビークル(100)のタイプに関わらず自律性をもたらす互換性のあるコードライブラリを含む、条項1から13の何れか一項に記載の自律システム。
【0144】
条項15
自律システムを有するビークル(100)をある環境内で操作する方法であって、
ビークル(100)に接続された複数のセンサ(110,110a,110b,110c,140c)のうちの少なくとも1つからのセンサ(110,110a,110b,110c,140c)データに少なくとも部分的に基づいて、該環境の状態を判定することと、
ビークル(100)が実施する複数のタスクをプロセッサ(124)によって特定することと、
該複数のタスクから、所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストをプロセッサ(124)によって生成することと、
該タスク割り当てリストに応じて該複数のタスクを実行するよう、ビークル(100)のビークル(100)コントローラ(144)に指示することと、
任意のエラーを特定するために、該タスク割り当てリストの実行中にビークル(100)又はビークル(100)コントローラ(144)を監視することと
を含む、方法。
【0145】
条項16
ビークル(100)が航空機であり、ビークル(100)コントローラ(144)がフライトコントローラ(144)であり、フライトコントローラ(144)は、タスク割り当てリストに応じて、一又は複数の推力発生器(106)、又は一又は複数のアクチュエータを制御するように構成されている、条項15に記載の方法。
【0146】
条項17
ビークル(100)のタスク割り当てリストを、自律システムを備えた第2のビークル(100)に関連付けられた第2のタスク割り当てリストに照らして、分析するステップであって、第2のタスク割り当てリストは第2の複数のタスクを含むステップと、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するステップと、を更に含む、条項15又は16に記載の方法。
【0147】
条項18
協働して目的を実行するビークル(100)と第2のビークル(100)の全体的な効率を最大化するために、第2のタスク割り当てリストに少なくとも部分的に基づいて、タスク割り当てリストを調整するステップを更に含む、条項17に記載の方法。
【0148】
条項19
マンマシンインターフェース(202)を介したユーザからのインプットに少なくとも部分的に基づいて、タスク割り当てリストを修正するステップを更に含む、条項15から18の何れか一項に記載の方法。
【0149】
条項20
ビークル(100)コントローラ(144)が、タスク割り当てリストに少なくとも部分的に基づいて、ビークル(100)をナビゲートするように構成されている、条項15から18の何れか一項に記載の方法。
【0150】
条項21
タスク割り当てリストが、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻るよう、ビークル(100)に指示するように構成されている、条項20に記載の方法。
【0151】
条項22
ある環境内での業務のための自律的航空機であって、
メモリデバイスに作動可能に接続されたプロセッサ(124)と、
プロセッサ(124)に作動可能に接続された複数のセンサ(110,110a,110b,110c,140c)と、
フライトコントローラ(144)と、
該複数のセンサに作動可能に接続された状況認識モジュール(204)であって、該複数のセンサ(110,110a,110b,110c,140c)のうちの少なくとも1つからのセンサ(110,110a,110b,110c,140c)データに少なくとも部分的に基づいて、該環境の状態を判定するように構成されている、状況認識モジュール(204)と、
状況認識モジュール(204)に通信可能に接続されたタスク計画モジュール(206)であって、
ビークル(100)が実施する複数のタスクをプロセッサ(124)によって特定するように構成されており、
該複数のタスクから、所定の最適化基準に少なくとも部分的に基づいたタスク割り当てリストをプロセッサ(124)によって作成するように構成されている、タスク計画モジュール(206)と、
フライトコントローラ(144)に作動可能に接続されたタスク実行モジュール(210)であって、該タスク割り当てリストに応じて該複数のタスクを実行するようフライトコントローラ(144)に指示するように構成されており、任意のエラーを特定するために、該タスク割り当てリストの実行中にフライトコントローラ(144)を監視するように構成されている、タスク実行モジュール(210)と
を含む、自律的航空機。
【0152】
条項23
タスク割り当てリストの実行に際し、第1の場所から第2の場所へ進み、第2の場所で業務を実施し、業務が完了したら第2の場所から第1の場所へ戻る、条項22に記載の自律的航空機。
【0153】
条項24
タスク計画モジュール(206)が、自律的航空機のミッションに影響を及ぼす可能性に応じてタスクを優先するように構成されている、条項22又は23に記載の自律的航空機。
【0154】
上記で引用した特許及び特許公報の内容は、その全体が参照により本明細書に援用される。部品や特徴などの具体的な配設に関連して様々な実施形態が記載されてきたが、これらは全ての可能な配設又は特徴を網羅することを意図しておらず、当業者には、実際に多くの他の実施形態、修正形態、及び変形形態が究明可能であろう。したがって、本発明は、具体的に上述したもの以外にも実行可能であることを理解すべきである。
図1a
図1b
図1c
図2a
図2b
図2c
図3
図4