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

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

▶ ガティック エーアイ インコーポレイテッドの特許一覧

特表2023-528079自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム
<>
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図1
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図2
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図3A
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図3B
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図3C
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図4
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図5
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図6
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図7
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図8
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図9
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図10
  • 特表-自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-03
(54)【発明の名称】自律エージェントのデータドリブンかつモジュラー式の意思決定と経路生成のための方法およびシステム
(51)【国際特許分類】
   B60W 30/10 20060101AFI20230626BHJP
   B60W 60/00 20200101ALI20230626BHJP
   B60W 30/095 20120101ALI20230626BHJP
【FI】
B60W30/10
B60W60/00
B60W30/095
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022574687
(86)(22)【出願日】2020-12-17
(85)【翻訳文提出日】2023-01-27
(86)【国際出願番号】 US2020065700
(87)【国際公開番号】W WO2021247081
(87)【国際公開日】2021-12-09
(31)【優先権主張番号】63/035,401
(32)【優先日】2020-06-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/055,763
(32)【優先日】2020-07-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522470965
【氏名又は名称】ガティック エーアイ インコーポレイテッド
【氏名又は名称原語表記】GATIK AI INC.
(74)【代理人】
【識別番号】110001302
【氏名又は名称】弁理士法人北青山インターナショナル
(72)【発明者】
【氏名】ナラング,ガウタム
(72)【発明者】
【氏名】クマヴァット,アペクシャ
(72)【発明者】
【氏名】ナラング,アルジュン
(72)【発明者】
【氏名】ティエウ,キン
(72)【発明者】
【氏名】スマート,マイケル
(72)【発明者】
【氏名】イリエフスキー,マルコ
【テーマコード(参考)】
3D241
【Fターム(参考)】
3D241BA11
3D241BA31
3D241CA00
3D241CE04
3D241CE05
3D241CE08
3D241DB01Z
(57)【要約】
データドリブンかつモジュール式の意思決定および経路生成のためのシステムは、演算システムを含む。データドリブンのモジュール式意思決定と経路生成のための方法は、入力のセットを受け取るステップと、学習モジュールのセットから、深層決定ネットワークおよび/または深層経路ネットワークといった学習モジュールを選択するステップと、学習モジュールに基づいて出力を生成するステップと、上記の工程の一部または全部を反復するステップと、および/または他の適切な工程とを含む。追加的または代替的に、この方法は、学習モジュールの一部または全部を訓練するステップ、1以上の出力を検証するステップ、および/または他の任意の適切な処理および/または処理の組合せを含むことができる。
【選択図】図2
【特許請求の範囲】
【請求項1】
自律エージェントの意思決定および経路生成のための方法であって、当該方法は、
入力のセットを受信するステップであって、
当該入力のセットは前記自律エージェントのコンテキストを含み、当該自律エージェントのコンテキストは、予め定められたコンテキスト割り当てのセットを含むラベリングされたマップに基づいて特定される、ステップと、
1以上の演算サブシステムのセットが、
前記コンテキストに基づいて、複数の学習済みモデルの第1のセットから第1の学習済みモデルを選択するステップ、
前記第1の学習済みモデルに基づいて、前記自律エージェントのアクションを決定するステップと、
前記アクションに基づいて、複数の学習済みモデルの第2のセットから第2の学習済みモデルを選択するステップと、
前記第2の学習済みモデルに基づいて、前記自律エージェントの経路を決定するステップと、
前記経路を検証するステップと、
前記経路に基づいて前記自律エージェントを動作させるステップとを含むことを特徴とする方法。
【請求項2】
前記複数の学習済みモデルのセットの各々は、前記自律エージェントのコンテキストに1:1のマッピングでマッピングされている、請求項1に記載の方法。
【請求項3】
前記入力のセットは、前記自律エージェントのポーズをさらに含み、前記コンテキストは前記ポーズに基づいてさらに特定される、請求項1に記載の方法。
【請求項4】
前記所定のコンテキスト割り当てのセットは、前記自律エージェントの固定ルート割り当てに基づいて決定され、前記経路は、前記固定ルート割り当てに少なくとも部分的に基づいて決定される、請求項3記載の方法。
【請求項5】
前記第1および第2の学習済みモデルの各々は、逆強化学習アルゴリズムで訓練された深層Q学習ネットワークである、請求項1に記載の方法。
【請求項6】
前記第2の学習済みモデルは、前記アクションから前記第2の学習済みモデルへのマッピングに基づいて選択される、請求項1に記載の方法。
【請求項7】
前記マッピングは1:1マッピングである、請求項6に記載の方法。
【請求項8】
前記経路は、
所定の閾値以下の値を有する経路に関連する不確実性と、
プログラムされたルールのセットの満足度とをチェックすることに基づいて検証され、ここでプログラムされたルールのセットの満足度をチェックすることは、経路が静的オブジェクトと衝突しないこと、経路が動的オブジェクトと衝突しないこと、経路が交通法規を満足すること、経路が道路インフラ情報を満足すること、の少なくとも1つをチェックすることを含む、請求項1に記載の方法。
【請求項9】
前記アクションに関連するパラメータ値のセットが、前記コンテキストに基づいて決定される、請求項1に記載の方法。
【請求項10】
前記パラメータ値のセットは、徐行距離パラメータおよび停止距離パラメータの少なくとも一方を含む、請求項9に記載の方法。
【請求項11】
自律エージェントの意思決定および経路生成のための方法であって、該方法は、
入力のセットを受信するステップであって、当該入力のセットは、
前記自律エージェントのポーズと、
前記自律エージェントの固定ルート割り当てに関連するルーティング情報と、
ラベリングされたマップと、
静的オブジェクト情報と、
動的オブジェクト情報とを含むステップと、
前記入力のセットに基づいて、複数の学習済みモデルの第1のセットから第1の学習済みモデルを選択するステップと、
前記第1の学習済みモデルの出力に基づいて、複数の学習済みモデルの第2のセットから第2の学習済みモデルを選択するステップと、
前記第2の学習済みモデルに基づいて、前記自律エージェントの経路を決定するステップと、
前記経路をルールのセットで検証するステップと、
前記経路に基づいて前記自律エージェントを動作させるステップとを含むことを特徴とする方法。
【請求項12】
前記入力のセットに基づいて前記自律エージェントのコンテキストを特定するステップをさらに含み、前記第1の学習済みモデルは、前記コンテキストに基づいて選択される、請求項11に記載の方法。
【請求項13】
前記コンテキストは前記ラベリングされたマップに基づいて特定され、前記ラベリングされたマップは、所定のコンテキスト割り当てのセットを含む、請求項12に記載の方法。
【請求項14】
前記第1の学習済みモデルと前記コンテキストは、1:1マッピングで互いに関連付けられている、請求項13に記載の方法。
【請求項15】
前記入力のセットに基づいて局所的環境表現を決定するステップをさらに含み、前記局所的環境表現は、前記第2の学習済みモデルで受け取られる、請求項11に記載の方法。
【請求項16】
前記ルールのセットは、ルールの第1のサブセットとルールの第2のサブセットとを含み、
前記ルールの第1のサブセットをチェックするステップであって、
前記静止オブジェクト情報と前記経路に基づいて、前記自律エージェントの1以上の静止オブジェクトとの衝突がないことをチェックし、
前記動的オブジェクト情報および前記経路に基づいて、前記自律エージェントが1以上の動的オブジェクトと衝突しないことをチェックするステップと、
前記第2のサブセットのルールをチェックするステップであって、
前記経路が、交通法規と道路インフラ情報の少なくとも一方を満たすかをチェックするステップとを含む、請求項11に記載の方法。
【請求項17】
前記アクションに基づいて前記自律エージェントの安全トンネルを規定するステップをさらに含み、前記安全トンネルは、
前記自律エージェントに対して予め決められた一定の距離を置くことと、
前記自律エージェントの停止位置までの距離と、のうちの少なくとも1つを規定する、請求項11に記載の方法。
【請求項18】
前記入力のセットと安全トンネルに基づいて局所的環境表現を決定するステップをさらに含み、前記局所的環境表現は、前記選択された第2の学習モデルへの入力となる、請求項17記載の方法。
【請求項19】
前記局所的環境表現を決定するステップは、前記安全トンネルの外側の静的オブジェクト情報および動的オブジェクト情報を排除することを含む、請求項18記載の方法。
【請求項20】
前記局所的環境表現を決定するステップは、潜在的空間表現を決定することをさらに含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年6月5日出願の米国仮出願番号63/035,401および2020年7月23日出願の米国仮出願番号63/055,763の利益を主張するものであり、これらはそれぞれこの参照によりその全体が組み込まれる。
【0002】
本発明は、一般に自律型ビークルの分野に関し、より具体的には、自律型ビークルの分野におけるデータドリブンかつモジュラー型の意思決定と経路生成のための新規で有用なシステムおよび方法に関する。
【背景技術】
【0003】
自律型ビークルにおいて安全かつ効果的な意思決定を行うことは、複雑で難しい課題である。このような意思決定には、現在のビークル周辺環境の理解、将来の環境変化の理解に加え、予め設定した運転目標に向かって安全かつ継続的に前進するための要素が必要となる。すべての判断は、道路の運転規則と人間の運転慣習の両方によって継続的に制約を受けなければならず、これは時として人間でも難しい問題であるため、自律型ビークルで実現するには非常に難しい問題である。運転の相互作用の複雑さと膨大な数の可能な相互作用の両方が、自律システムにとって意思決定と経路生成を非常に困難な問題にしている。自律型ビークルは、その複雑さに関わらず、この問題を継続的に解決することが求められており、すべての道路利用者の安全とともに、スケーラビリティを確保した実現可能なソリューションが不可欠である。
【0004】
従来のシステムや方法では、この問題に対して、プログラムと学習という2つの方法で取り組んでいる。プログラムされたモーションプランナは、専門家の手で調整され最適化された一連のルールと制約を作成する。この例に含まれる従来の決定木アーキテクチャは、データドリブンモデルを採用しており、知覚などの限られた機能でしか活用されていなかった。従来のプログラムによるアプローチでは、限定しないが、不自然な決定や動作(図5のプログラムされた経路など)が発生する、プログラムするシナリオが膨大になるなど多くの制約があった。一方、学習型のモーションプランナは、大量の人間の運転データの解析や運転シミュレーションを行う必要がある。この例としては、全体的なエンドツーエンドシステムや、運転ポリシーモジュール全体に対応する単一のモノリシックネットワーク(例えば、ミッドツーミッドシステム)などが含まれる。学習アプローチはまた、例えば限定しないが、安全性の保証の欠如(例えば、運動計画の問題をエンドツーエンドで扱う結果、従来の学習アルゴリズムは、そのネットワークで作成された経路に関する安全性の保証を提供できない)、サンプルの疎密(例えば、車両が実世界で遭遇し得るすべての可能なサンプル(運転シナリオ)をキャプチャする能力)、解釈可能性および/または説明可能性の欠如などの多くの限界と欠点にも悩まされている。
【0005】
このように、自律型ビークルの分野では、意思決定や経路生成のための改良された有用なシステムおよび方法を作成する必要があった。
【図面の簡単な説明】
【0006】
図1図1は、モジュール式意思決定および経路生成システムの概略図である。
図2図2は、モジュール式意思決定および経路生成方法の概略図である。
図3図3A~3Cはそれぞれ、モジュール式意思決定システムの一実施例と、深層決定ネットワーク(第1の学習モジュールのセット)の一実施例と、深層経路ネットワークの一実施例を示す図である。
図4図4は、深層決定ネットワークの一実施例(第1の学習モジュールのセット)を示す図である。
図5図5は、自然な経路とプログラムされた経路を示したものである。
図6図6は、システム100の計画モジュールのハイレベルアーキテクチャの一実施例を示す図である。
図7図7は、自律エージェントの全体システムの概略実施例を示す図である。
図8図8は、コンテキスト認識型の意思決定と経路計画の概略的な実施例を示す図である。
図9図9A~9Bは、固定ルート配送における自律型車両の使用事例の実施例と、車両が走行する固定ルートの概略図である。
図10図10は、一連のコンテキストのバリエーションを示す図である。
図11図11は、方法200の一実施例を示す概略図である。
【発明を実施するための形態】
【0007】
以下の本発明の好ましい実施形態の説明は、本発明をこれらの好ましい実施形態に限定することを意図するものではなく、当業者が本発明を作成し使用できるようにすることを意図したものである。
【0008】
1.概要
図1に示すように、データドリブンかつモジュール式の意思決定および経路生成のためのシステム100は、演算システムを含む。追加的または代替的に、システムは、自律エージェント(本明細書では、等価的に自律型ビークルおよび/または自ビークルと呼ばれる)、自律エージェントの任意数のモジュール(例えば、知覚モジュール、位置特定モジュール、計画モジュールなど)、ビークル制御システム、センサシステム、および/または任意の他の適切な構成要素または構成要素の組み合わせ、の一部または全部を含み、および/またはそれと連携することができる。
【0009】
追加的または代替的に、システム100は、この参照によりその全体が本明細書に組み込まれる2020年12月9日出願の米国出願番号17/116,810に記載されたシステム、コンポーネント、実施形態、および/または実施例の一部または全部を含むか、および/または連携することができる。
【0010】
図2に示すように、データドリブンのモジュール式意思決定と経路生成のための方法200は、入力のセットを受け取るステップS205と、学習モジュールのセットから学習モジュール(本明細書では等価的に、学習済みモデル、訓練済みモデル、および機械学習モデル、マイクロモジュール、および/または任意の他の適切な用語でも呼ぶ)を選択するステップS210と、学習モジュールに基づいて出力を生成するステップS220と、上記のステップの一部または全部を反復するステップS230と、および/または他の適切なステップとを含む。追加的または代替的に、方法200は、学習モジュールの一部または全部を訓練するステップ、1以上の出力を検証するステップ、および/または他の任意の適切なプロセスおよび/またはプロセスの組合せを含むことができる。
【0011】
追加的または代替的に、方法200は、この参照によりその全体が本明細書に組み込まれる、2020年12月9日出願の米国出願番号17/116,810に記載された方法、プロセス、実施形態、および/または実施例の一部または全部を含むか、および/または連携することができる。
【0012】
図11に示すような方法200の好ましい実施例では、データドリブンかつモジュール式の意思決定および経路生成のための方法は、入力のセットを受け取るステップS205と、S210の一部として、第1の学習モジュール(等価的に本明細書では深層決定ネットワークと呼ぶ)を選択するステップS212と、S220の一部として、アクションスペースを定義および/またはアクションを選択するステップS222と、S210の一部として、アクションに基づいて第2の学習モジュール(等価的に本明細書では深層経路ネットワークと呼ぶ)を選択するステップS214と、S220の一部として、第2の学習モジュールに基づいてビークルの経路を生成するステップS224と、ビークルの経路を検証するステップS260とを含む。追加的または代替的に、方法200は、ビークルのコンテキストを受信および/または特定するステップS205、潜在空間表現を決定するステップS222、上記ステップの一部または全部を繰り返すステップS230と、および/または他の適切なステップの一部または全部を含むことができる。追加的または代替的に、方法200は、任意の他の適切なステップを含むことができる。
【0013】
方法200は、好ましくは、上述のようなシステム100で実行されるが、追加的または代替的に、自律運転、半自律運転、および/または他の任意の自律的または部分的に自律的なシステムのための任意の他の適切なシステムで実行することができる。
【0014】
2.利点
データドリブンのモジュール式意思決定と経路生成のためのシステムおよび方法は、現在のシステムおよび方法と比較していくつかの利点をもたらし得る。
【0015】
実施例の第1のセットにおいて、システムおよび/または方法は、安全性を確保し、解釈可能性および/または説明可能性のレベルを維持しながら、機械学習(例えば、深層学習)アプローチの柔軟性を取り込むという利点をもたらす。具体的な例では、システムおよび方法はハイブリッドアーキテクチャを確立または実装し、これはプログラム部分と学習部分(例えば、プロセス)の両方を含むアーキテクチャを指し、個々のアプローチのいずれかを超える多数の利点を有し、および/またはその制限を最小化することができる。システムおよび/または方法の具体例では、このアプローチおよびその利点は、限定されたODDおよび固定ルートフレームワークによって可能となる。
【0016】
上述のものに追加または代替される第2の実施例では、システムおよび/または方法は、一組の学習モジュール(例えば、第1および第2の学習モジュール)のそれぞれを訓練するために必要なデータの量を低減するという利点をもたらす。具体的な例では、限定されたODDおよび固定ルートアーキテクチャによって、システムおよび/または方法が固定ルート用の学習モジュールをオーバーフィットすることができ、その結果、学習モジュールの一部または全部のモデルスケールおよび複雑性の低減による高速学習、安全な都市自律スタックを構築するために必要なデータの指数的減少、安全性の保証につながる学習モジュールの検証、(例えば、新しいルートの追加に対する)システムおよび/または方法のスケーラビリティ、エッジ事例の最小化および/または排除、および/または他の適切な利益もしくは成果、の一部または全部が可能になる。
【0017】
実施例の第3のセットでは、上述のものに追加または代替して、システムおよび/または方法は、学習モジュールを訓練する際に、ビークルのコンテキスト認識を利用して、学習モジュールの損失関数をこれらの特定のコンテキストにハイパーチューニングするという利点を与える。これにより、シナリオ固有の事象に対する精度や信頼性を向上させることができる。具体的な例では、一組の意思決定学習モジュール(学習モジュールの第1のセット)のそれぞれを訓練するステップは、学習モジュールに関連する特定のコンテキストに損失関数を1:1マッピングでハイパチューニングすることを含む。
【0018】
上述のものに追加または代替される実施例の第4のセットでは、システムおよび/または方法は、意思決定段階(学習モジュールの第1のセット)および経路生成段階(第2の学習モジュールのセット)におけるモジュール式の学習モジュールのプログラムによる選択を通じて、人間の運転を正確に反映する自然な経路をエージェントに生成しながら説明可能性を維持するという利点を与える。
【0019】
上記のものに追加または代替される実施例の第5のセットでは、システムおよび/または方法は、モジュール式意思決定および経路生成に対するデータドリブンアプローチを可能にするという利点を付与する。
【0020】
上述のものに追加または代替される実施例の第6のセットでは、システムおよび/または方法は、意思決定および経路生成に関与する1以上の演算システムの動作を改善するという利益を与え、これは例えば、演算プロセスおよび/またはシステムを、より小さな学習モジュールのモジュール式アーキテクチャに編成すること、選択されたアクションに基づいて車両の環境を局所化することによって、経路生成において処理される情報を低減すること、マイクロ学習モジュールの第1のセットのそれぞれを車両の特定のコンテキストにハイパーチューニングすること、マイクロ第2の学習モジュールのセットのそれぞれを車両の特定のアクションにハイパーチューニングすること、タスク実行の高い同時性、低レイテンシおよび高スループットを可能にする集中型の並列コンピューティングモデルを作成すること、および/または他の適切なフレームワークを作成することの一部または全部を通じて可能になり得る。
【0021】
追加的または代替的に、システムおよび方法は、他の利益を与えることができる。
【0022】
3.システム
図1に示すように、データドリブンかつモジュール式の意思決定および経路生成のためのシステム100は、演算システムを含む。追加的または代替的に、システムは、自律エージェント(本明細書では、等価的に自律型ビークルおよび/または自ビークルと呼ばれる)、自律エージェントの任意数のモジュール(例えば、知覚モジュール、位置特定モジュール、計画モジュールなど)、ビークル制御システム、センサシステム、および/または任意の他の適切な構成要素または構成要素の組み合わせ、の一部または全部を含み、および/またはそれと連携することができる。
【0023】
システム100は、自律エージェントのモジュール式意思決定および経路生成を実現するように機能し、演算システムを具え、ここで演算システムは、学習モジュールのセット(例えば、学習モジュールの第1のセット、第2の学習モジュールのセットなど)、および任意に経路生成器、経路検証器、および/または他の任意の適切なコンポーネントおよびモジュールを含むか、および/または実装することができる。追加的または代替的に、システムは、位置特定モジュール、予測モジュール、知覚モジュール、自律エージェント(本明細書では、等価的に自律型ビークルおよび/または自ビークルと呼ばれる)、ビークル制御システム、センサシステム、および/または任意の他の適切な構成要素または構成要素の組み合わせ、の一部または全部を含み、および/またはそれと連携することができる。
【0024】
システム100は、好ましくは、意思決定および/または経路生成のハイブリッドアーキテクチャ(例えば、図6図7図8図3Aに示すようになど)を実装および/または連携するように構成され、このハイブリッドアーキテクチャは、古典的なルールベースのアプローチと機械学習アプローチの両方を実装している。これは、好ましくは、限定されおよび/または構造化されたODD(例えば、明確に定義された、指定されたなど)および固定ルートの運転フレームワーク(例えば、ジオフェンスのない運転フレームワーク)によって可能となり、これは、ビークルの意思決定の説明可能性を維持しつつ、最小限のトレーニングデータで検証されたルートで、ビークルが人間のような運転挙動で運転できるよう機能する。追加的または代替的に、システム100は、自律型ビークルの動作の任意の部分(例えば、計画時、運動計画時、経路計画時、知覚時、位置特定時など)において任意の適切な出力を生成するように構成された任意の適切なアーキテクチャを実装および/または連携するように構成されるか、自律エージェントが他の運転フレームワーク(例えば、大規模ODD、非固定ルート、ジオフェンスなど)とインターフェース可能であるか、の一部または全部であってもよく、および/またはシステム100は他に適切に構成されてもよい。
【0025】
好ましい実施例では、例えば、システム100は、方法200のプログラムされたプロセスと学習されたプロセスの両方を実施するように構成されたモジュール式のハイブリッドアーキテクチャを定義する。このシステムは、好ましくは、学習プロセスの自然主義的および適応的原則を維持しつつ、プログラムされたプロセスから安全性の保証と説明可能性/解釈可能性を実現するように機能する。好ましいバリエーションでは、システム100は、運動計画のタスクを分解し、プログラムされた安全制約のセットに挟まれたマイクロ学習アルゴリズムのセット(学習モジュールのセット内に形成および/または統合される)を組み合わせるハイブリッドアーキテクチャを用いてこれを達成し、ここで学習モジュールの意図する機能の各々は、特定の、説明可能な(したがって検証可能な)タスク(例えば、ビークルのコンテキストおよび/または他の環境特徴に基づく)に制限される。システム100は、任意選択で、ターゲットの安全性を保証し、結果として得られる経路の安全性を確保するために、これらの学習モジュールの周りに構築されたルールベースのフォールバックおよび検証システムのセットを実装および/または連携する(例えば、統合する)ことが可能である。このようなアーキテクチャにより、それぞれの学習モジュールのパフォーマンスと基礎特性の検証が可能となり、より安全で効果的なシステムの構築が可能となる。
【0026】
具体的な例では(例えば、図9A~9Bに示すように)、システム100は、自律的な短距離(例えば、5~400マイル)のB2B固定ルートアプリケーションで実施される。これらの実施例では、自律エージェントは好ましくは仕分けセンターから在庫品(inventory)を受け取るが、追加的または代替的に、小包ハブおよび/または倉庫の在庫品を受け取ってもよい。次に、エージェントは、好ましくは、仕分けセンター、小型配送センター、流通センター、小売店、およびローカル配送センターの一部または全部に、および/またはこれらの間で在庫品を配送する。追加的または代替的に、エージェントは、住宅(顧客の家など)、および/またはその他の適切な場所/施設とのやりとりを行ってもよい。
【0027】
追加的または代替的に、システム100は、任意の他の適切な方法で実施することができる。
【0028】
3.1 システム-構成要素
システム100は、自律エージェントのモジュール式意思決定(例えば、運動計画)および/または経路生成を可能にするように機能する演算システムを含む。追加的または代替的に、演算システムは、計画モジュールでのビークルの経路計画、ビークルの経路の検証、位置特定モジュールでのビークルおよび/または周囲オブジェクトの位置特定、予測モジュールでのビークルおよび/またはビークル周囲オブジェクトの経路予測、情報の保存、および/または他の適切な機能、の一部または全部を実行するように機能することができる。
【0029】
演算システムは、好ましくは、タスク実行の高い並行性、低レイテンシ、および高データスループット、および/または他の適切な利点の一部または全部を可能にする集中型並列演算を実装するように構成される。追加的または代替的に、演算システムは、任意の他の演算および/または処理(例えば、非集中型コンピューティング、分散コンピューティング、シリアルコンピューティングなど)を実行するように構成することができ、および/または任意の他の適切な利点を付与することができる。
【0030】
追加的または代替的に、システムおよび/または演算システムは、別の方法で構成および/または設計することができる。
【0031】
演算システムは、好ましくは、自律エージェントに少なくとも部分的に搭載されて(例えば、内部統合されて)構成される。
【0032】
好ましい実施例では、自律エージェントは、好ましくは完全自律型ビークルであり、および/または完全自律型ビークルとして動作できる自律型ビークルを含むが、追加的または代替的に、任意の半自律型または完全自律型ビークル、遠隔操作型ビークル、および/またはその他の適切なビークルであり得る。自律型ビークルは、好ましくは、自動車(例えば、乗用車、無人車両、バス、シャトル、タクシー、ライドシェア車両、トラック、セミトラックなど)である。追加的または代替的に、自律型ビークルは、水上バイク(例えば、ボート、水上タクシーなど)、航空機(例えば、飛行機、ヘリコプター、ドローンなど)、陸上ビークル(例えば、二輪車、自転車、オートバイ、スクーターなど)、および/または他の適切な車両および/または輸送装置、自律機械、自律装置、自律ロボット、および/またはその他の適切な装置を含み得る。
【0033】
演算システムは、追加的または代替的に、クラウド演算システムなどのように、自律エージェントとは離れて構成することができる。リモート演算システムは、好ましくはオンボード演算システムと通信するが(例えば、オンボード演算システムから情報を収集するため、更新されたモデルをオンボード演算システムに提供するためなど)、追加的または代替的に他の任意の適切な構成要素と通信することができる。
【0034】
演算システムは、好ましくはアクティブサブシステムおよび冗長サブシステムを含むが、追加的または代替的に、任意の他の適切なサブシステムを含むことができる。
【0035】
演算システムは好ましくは、演算システムの計画モジュールを具え、好ましくはこれがさらに学習モジュールのセット(例えば、深層学習モデル)、経路ジェネレータ、経路バリデータ、および/またはその他の適切な構成要素、の一部または全部を含む。学習モジュールのセットは、好ましくは、(コンテキストに基づいて)エージェントのアクションを決定するように機能する深層決定ネットワーク(ニューラルネットワーク)のセットと、(アクションに基づいて)エージェントのための経路を決定するように機能する深層経路ネットワーク(ニューラルネットワーク)のセットとを含む。
【0036】
演算システムは、好ましくはさらに、演算システムで受信した入力を処理するように機能する処理システムを含む。処理システムは、好ましくは一組の中央処理装置(CPU)および一組のグラフィック処理装置(GPU)を含むが、追加的または代替的に任意の他の構成要素または構成要素の組み合わせ(例えば、プロセッサ、マイクロプロセッサ、システムオンチップ(SoC)コンポーネントなど)を含むことができる。
【0037】
演算システムは、メモリ、記憶装置、および/または任意の他の適切な構成要素の一部または全部を任意にさらに含むことができる。
【0038】
演算システムは、さらに好ましくは、学習モジュールの1以上のモジュールセット(等価的に本明細書では学習エージェントまたは学習モデルと呼ばれる)と関連する演算を実行するように構成され(例えば、実行可能、組織されるなど)、各学習モジュールは、1以上の入力のセットに基づいて1以上の出力のセットを生成するよう構成された1以上のアルゴリズムおよび/またはモデルのセットを含む。
【0039】
これらすべてのモジュールの演算を行うために単一の演算システムを使用することができ、または個別の演算システムを使用することができ(例えば、各学習モジュールに個別の演算システムを使用)、および/または演算システムの任意の組み合わせを使用することができる。
【0040】
演算システムには、必要に応じて、モジュールから依存関係を抽出し、それらをすべてリンクするミドルウェアフレームワークを含むことが可能である(例えば、有向非巡回グラフなどのトポロジ順序付けプロセスを使用)。
【0041】
計画モジュールに加えて、演算システムは、位置特定モジュール、予測モジュール、認識モジュール、および/または自律エージェントの動作のための他の適切なモジュールの一部または全部を含むか、および/またはそれらと連携することができる。
【0042】
演算システム(例えば、オンボード演算システム)は、好ましくは、ビークル制御システムと通信し(例えば、無線通信、有線通信、結合、物理結合、電気結合など)、演算システムによって決定されたコマンドを実行するように機能する。
【0043】
演算システムは、自律エージェントに関連するコンテキストの特定を少なくとも部分的に可能にするように機能するマップを含むか、および/またはマップと連携することができる。マップは、好ましくは、以下に説明するように、その位置および/またはマップ内の位置に基づいて自律エージェントのコンテキストを規定する、高精細の、手動ラベリングされた(hand-labeled)マップであるが、追加的または代替的に、任意の他のマップ(例えば、自動生成されたマップ)および/またはマップの組み合わせを含むことができる。
【0044】
システム100は、好ましくは、自律エージェントの位置特定(例えば、マップ内)、自律エージェントの周囲のオブジェクト(例えば、動的オブジェクト、静的オブジェクトなど)の検出、および/またはその他の適切な機能、の一部または全部を可能にするように機能するセンサシステムを含むか、および/またはそれと連携する。
【0045】
センサシステムには、カメラ(例えば、360度カバーカメラ、超高解像度カメラなど)、光検出および測距(LiDAR)センサ、無線検出および測距(RADAR)センサ、モーションセンサ(例えば、加速度計、ジャイロスコープ、慣性計測ユニット(IMU)、速度計など)、位置センサ(例えば、全地球航法衛星システム(GNSS)センサ、慣性航法システム(INS)センサ、全地球測位システム(GPS)センサ、任意の組み合わせなど)、超音波センサ、および/または任意の適切なセンサ、の一部または全部を含み得る。
【0046】
一連の実施例では、センサシステムには、16ビームLIDAR(例えば、高精度障害物検出用など)、短距離RADAR(例えば、死角検出、交差交通警報、緊急ブレーキなど)、超音波センサ(例えば、パークアシスト、衝突回避など)、360度カバーカメラ(例えば、歩行者/自転車/都市の障害物の検出と回避などのサラウンドビュー用)、128ビームLIDAR(例えば、高精度のビークル位置特定用)、長距離超高解像度カメラ(例えば、交通標識や信号検出用)、長距離RADAR(例えば、長距離障害物追跡と回避用)、GNSS/INS(例えば、超高精度位置特定用)、および/またはその他の適切なセンサが含まれる。
【0047】
システム100の第1の実施例では、システムは、エージェントの計画モジュールを含み、ビークルのセンサシステムを含むエージェントの知覚および/または位置特定モジュールを含み、および/またはそれと連携する演算システムを含む。
【0048】
追加的または代替的に、システム100は、任意の他の適切な構成要素または構成要素の組み合わせを含むことができる。
【0049】
4.方法
図2に示すように、データドリブンのモジュール式意思決定と経路生成のための方法200は、入力のセットを受け取るステップS205と、学習モジュールのセットから学習モジュール(本明細書では等価的に、学習済みモデル、訓練済みモデル、および機械学習モデル、マイクロモジュール、および/または任意の他の適切な用語でも呼ぶ)を選択するステップS210と、学習モジュールに基づいて出力を生成するステップS220と、上記の工程の一部または全部を反復するステップS230と、および/または他の適切なステップとを含む。
【0050】
追加的または代替的に、方法200は、学習モジュールの一部または全部を訓練するステップ、1以上の出力を検証するステップ、および/または他の任意の適切なプロセスおよび/またはプロセスの組合せを含むことができる。
【0051】
図11に示すような方法200の好ましい実施例では、データドリブン・モジュール式の意思決定および経路生成のための方法は、入力のセットを受け取るステップS205と、S210の一部として、第1の学習モジュールを選択するステップS212と、S220の一部として、アクションスペースを定義および/またはアクションを選択するステップS222と、S210の一部として、アクションに基づいて第2の学習モジュールを選択するステップS214と、S220の一部として、第2の学習モジュールに基づいてビークルの経路を生成するステップS224と、ビークルの経路を検証するステップS260とを含む。
【0052】
追加的または代替的に、方法200は、ビークルのコンテキストを受信および/または特定するステップS205と、潜在空間表現を決定するステップS222と、および/または他の適切なステップの一部または全部を含むことができる。
【0053】
追加的または代替的に、方法200は、任意の他の適切なステップを含むことができる。
【0054】
方法200は、好ましくはビークルのコンテキストに基づいて、自律エージェントの意思決定および経路生成を実行するように機能することが好ましい。追加的または代替的に、方法200は、意思決定のみを実行し、経路生成のみを実行し、ビークル計画の任意の部分またはプロセス(例えば、運動計画、経路計画、操縦計画など)を実行し、自律型ビークルの動作の任意の他の部分またはプロセス(例えば、知覚、位置特定など)を実行し、アクションスペースからビークルのためのアクションを選択し、ビークルの経路および/または他の任意の出力を検証し、および/または他の適切な機能を行うことができる。
【0055】
方法200は、さらに好ましくは、学習モジュールのモジュール式フレームワーク(例えば、学習モジュールの第1のセット、第2の学習モジュールのセットなど)を用いて意思決定および経路生成(および/または他の任意の適切な処理)を行うように機能し、学習モジュールの各々は、特定の(例えば、予め定義された、所定のなど)情報(例えば、第1の学習モジュールに対する特定の車両コンテキスト、第2の学習モジュールに対する特定の車両アクションなど)と関連付けられた入力を処理するように構成される。
【0056】
方法200はさらに好ましくは、学習モジュールによって実装される学習されたプロセス(例えば、機械学習モデル、深層学習モデル、ニューラルネットワークなど)とともに、プログラムされたプロセス(例えば、コンテキストに基づく第1の学習モジュールの選択、アクションに基づく第2の学習モジュールの選択、経路検証など)を利用するように機能し、これが出力(アクション、経路など)の説明可能性および/または解釈可能性(例えば、エンドツーエンドシステムに関して、ミッドツーミッドシステムに関してなど)を維持するよう機能する。
【0057】
追加的または代替的に、方法200は、自律エージェントに関連する他の情報(例えば、履歴情報、動的情報、車両状態など)に照らして、ビークルのコンテキストとは無関係に、これらのプロセスの一部または全部を、任意の他の適切なフレームワーク内で実行するように機能することができ、および/または方法200は、任意の他の適切な機能を実行するために任意の適切な方法で実行することができる。
【0058】
追加的または代替的に、方法200は、任意の他の適切な機能を実行ことができる。
【0059】
方法200は、好ましくは、ルート(例えば、固定ルート、動的に決定されたルートなど)のエージェントの走行期間中(例えば、一連のコンテキストを割り当てるマップに従って)など、自律エージェントの動作を通して実行されるが、追加的または代替的に、所定の周期で(例えば、一定の周期で)、トリガに応答して、一連の間隔で(例えば、ランダム間隔で)、1回のみ、および/または任意の他の適切な時間、の一部または全部において実行され得る。
【0060】
方法200は、好ましくは上述のシステム100で実行され、さらに好ましくは自律エージェントに少なくとも部分的に配置された演算システムで実行されるが、追加的または代替的に、任意の適切な演算システムおよび/またはシステムで実行することができる。
【0061】
4.1 方法-入力のセットを受信するステップS205
方法200は、好ましくは、1以上の学習モジュール(例えば、学習モジュールの第1のセットのうちの1つ、第2の学習モジュールのセットのうちの1つなど)を選択するための情報を受け取るように機能する、一組の入力を受信するステップS205を含む。
【0062】
追加的または代替的に、S205は、1以上の学習モジュールへの入力(例えば、第1の学習モジュールへの入力、第2の学習モジュールへの入力など)として機能する情報を受信したり、方法の他のプロセスを実行するための情報を受信すること(例えば、1以上の潜在空間表現を特定し、1以上の環境表現を特定することなど)、および/または1以上の処理をトリガし、エージェントを他の方法で動作さるための情報を受信する(例えば、知覚中、位置特定中など)ように機能し、および/または他の任意の適切な機能を実行することができる。
【0063】
S205は、好ましくは、方法200全体を通して、連続的に、所定の頻度で、ランダムな間隔で、方法200の一連のプロセスのそれぞれの前に、および/または任意の他の適切な時点で、実行される。
【0064】
S205は、追加的または代替的に、トリガに応答して(例えば、マップに基づいて、コンテキストが選択されることに応答して、センサ情報に基づいてなど)、一連の間隔で(例えば、ランダムな間隔で)、および/または方法200中の任意の他の適切な時間で実行することが可能である。
【0065】
S205は、好ましくは、上述のシステム100で実行され、さらに好ましくは自律エージェントのオンボード演算システムおよびオンボードセンサシステムで実行されるが、追加的または代替的に、システムの任意の他のコンポーネントおよび/または任意の他の適切なシステムで実行することができる。
【0066】
入力のセットは、好ましくは、センサシステムなどの自律エージェントの知覚モジュールから受信された情報、および/またはセンサシステム内のセンサに基づいて(例えば、知覚モジュールを介して)決定された(例えば、計算された)情報を含むが、追加的または代替的に、任意の適切なソース(例えば、インターネット、自律エージェント、履歴情報、遠隔計算システムなど)から受信することが可能である。
【0067】
入力のセットは、エージェントの現在の状態(例えば、位置、向き、ピッチ、加速、減速など)、エージェントに接近するものなどの一連の動的オブジェクトに関連する情報(例えば、現在位置、サイズ、これまでの経路、予測される経路など)、エージェントに接近するものなどの一連の静的オブジェクト(例えば、トラフィックコーン、メールボックスなど)に関連する情報(例えば、静的オブジェクトの現在の状態、静的オブジェクトに関連する履歴情報など)、マップおよび/またはマップからの情報(例えば、HDマップ、割り当てられたコンテキストのセットを示す手動ラベリングされたマップ、割り当てられたコンテキストのセットを示す自動ラベリングされたマップ、車線境界・車線同士の接続・車線の位置・車線の接続性・セマンティック情報等を示すマップなど)、目的地に到達するために必要な経路情報(例えば、取るべき理想的な経路、取るべき車線の順序など)、1以上の不確実性の値および/または推定値(例えば、認識論的不確実性、偶然的不確実性など)、自律エージェント状態(本明細書では等価的に自車状態とも呼ぶ)、および/または他の任意の好適な入力、の一部または全部を含み得る。
【0068】
一組の実施例において、例えば、入力のセットは、マップ内における位置および/または向き(ポーズ)に基づいて所与の時間に自律エージェントのコンテキストを規定する、高精細のラベリングされた(例えば、手動ラベリングされた、自動ラベリングされたなどの)マップであるが、追加的または代替的に、任意の他のマップ(例えば、自動ラベリングされたマップや、手動および自動化されたプロセスの両方でラベリングされたマップなど)および/またはマップの組み合わせを含むことができる。追加または代替の変形例では、マップ情報は、道路インフラ情報および/または他の静的環境情報、ルート情報、および/または他の適切な情報の一部または全部を含む。
【0069】
特定の実施例では、マップは自律エージェントの領域/場所(例えば、上記のセンサ情報に基づいて特定される)に基づいて選択された(例えば、事前決定された/割り当てられた)1以上のコンテキスト(および/または移行ゾーン)を含む。
【0070】
入力のセットは、好ましくは自律エージェントのセンサシステム、例えば自律エージェント搭載のセンサシステム、自律エージェントから遠隔のセンサシステム、および/または自律エージェントと通信するセンサシステム、および/または演算システム(例えば、オンボード演算システム、リモート演算システムなど)の一部または全部のセンササブシステムで収集されたセンサ情報を含む。追加的または代替的に、センサ情報は、任意の他の適切なセンサおよび/またはセンサの組み合わせから収集してもよいし、S205は、センサ入力を収集することなく実行してもよいし、および/またはS205は任意の他の適切な方法で実行してもよい。
【0071】
センサ情報は、自律エージェントに関連する位置情報を含むかこれを特定するのに用いることができ、例えば、位置、向き(例えば、方位角)、ポーズ、地理的位置(例えば、全地球測位システム(GPS)座標を使用、他の座標を使用など)、地図内の位置、および/または他の適切な位置情報の一部または全部を含む。好ましい実施例では、例えばS205は、センササブシステムの位置特定モジュールからポーズ情報を受信することを含み、位置特定モジュールは、GPSセンサ、IMU、LIDARセンサ、カメラ、および/または任意の他のセンサ(例えば、上記のもの)、の一部または全部を含む。追加的または代替的に、任意の適切なセンサから任意の他のセンサ情報を受信することができる。
【0072】
センサ情報は、追加的または代替的に、速度/スピード、加速度、および/または任意の他の適切な情報の一部または全部などであるがこれらに限定されない、自律エージェントに関連する運動情報および/または他の動的情報を含むか、これを特定するのに用いることができる。
【0073】
センサ情報は、追加的または代替的に、自律エージェントの環境内の1以上の動的オブジェクトに関連する位置情報および/または運動情報、例えば、上記の位置情報のうちの一部または全部、自律エージェントに関連する位置情報、動的オブジェクトの運動情報、予測情報(例えば、予測経路)、履歴情報(例えば、履歴経路)、および/または任意の他の適切な情報を含むか、これを特定するのに用いることができる(例えば、知覚モジュールで)。動的オブジェクトには、他のビークル(例えば、自律型ビークル、非自律型ビークル、4輪車、自転車などの2輪車など)、歩行者(例えば、ウォーキング、ランニング、ローラーブレード、スケートボードなど)、動物、および/または他の移動オブジェクト(例えば、道路を転がるボール、動くショッピングカートなど)の一部または全部を含み得るが、これらに限定されない。追加的または代替的に、センサ情報は、動的オブジェクトのサイズ、オブジェクトのタイプの識別情報、他の適切な情報を含むことができ、および/または、S205で収集される情報は、動的オブジェクト情報がなくてもよい。
【0074】
センサ情報は、追加的または代替的に、自律エージェントの環境内の1以上の静的オブジェクト(例えば、立ち止まっている歩行者、道路インフラ、建設現場および/または建設機械、バリケード、トラフィックコーン、駐車車両など)に関連する位置情報および/または他の情報を含むか、これを特定するのに用いることができ(例えば、知覚モジュールで)、これには上記の情報の一部またはすべてなど(例えば、オブジェクトタイプの識別など)が含まれる。追加的または代替的に、センサ情報は、1以上の静的オブジェクトに関連する任意の他の情報を含むことができ、および/またはS205で収集される情報は、静的オブジェクト情報がない状態で収集されてもよい。
【0075】
入力のセットは、ビークルの環境を指定するビークルコンテキストを含むことができ、これはビークルの運転コンテキストを特徴付けるために機能し得る。コンテキストは、好ましくは、ビークル用に選択された固定ルートに基づいて、上述のマップおよび/または他の任意の適切なマップなどのマップ(例えば、高精細の、手動ラベリングされたマップ)に基づいて規定される。コンテキストは、追加的または代替的に、エージェントの位置などのセンサシステムからのセンサ情報、および/または他の任意の適切な情報の一部または全部に基づいて特定することができる。
【0076】
好ましい実施例では、例えば、コンテキストはマップ内の場所および/または地域に割り当てられる。マップ内の各場所や領域には、単一のコンテキスト、複数のコンテキスト(例えば複数のルートの交差点を示し、S205で受信された入力の一部または全部などの追加情報に基づいて単一のコンテキストが選択される)、コンテキストなし(例えば、自律エージェントの固定ルートオプションにない場所および/または地域を示す)、および/またはコンテキストの任意の組み合わせ、の一部または全部を割り当てることができる。場所および/または地域に割り当てられた特定のコンテキストは、好ましくは、その場所および/またはその地域内の静的環境に基づいて特定され、これにはその地域内の道路の特徴(例えば車線の数、高速道路か住宅街か、一方通行か双方向か、土や砂利かアスファルトか、曲率、路肩ありか路肩なしかなど)、その地域内のランドマークおよび/または特徴物(例えば、駐車場、ラウンドアバウトなど)、その場所および/または地域に関連付けられたゾーンタイプ(例えば、学校ゾーン、建設ゾーン、病院ゾーン、住宅ゾーンなど)、その場所および/または地域で遭遇する動的オブジェクトのタイプ(例えば、歩行者、自転車、車両、動物など)、その場所および/または地域に関連付けられた交通パラメータ(例えば、制限速度、交通標識のタイプ、セミトラックの高さ制限など)、および/またはその他の環境情報がある。
【0077】
追加的または代替的に、コンテキストの割り当ては、ビークルの固定ルートのセットを考慮に入れることができ、ここでマップは、ビークルが固定ルートに沿って遭遇する一連のコンテキストを規定し、マップ内のビークルの位置は、ビークルがこれらの連続するコンテキストのうちのどれに配置されるかを規定し、ビークルは、コンテキスト間の遷移の近くで(例えば、その場所で)コンテキストを切り替える。
【0078】
いくつかの実施例で、マップは、1以上の移行ゾーンを含む(例えば、割り当てる、規定するなど)ことができ、これらは異なるコンテキスト間に配置され、例えば、(例えば、固定ルート沿い、動的に決定されたルート沿いなどの)コンテキストの変化を示し、これによってコンテキストの切り替えをスムーズに行えるようになる(例えば、アクションスペースを定義することにより)。移行ゾーンの割り当ては、例えば、ビークルをあるコンテキストから次のコンテキストにスムーズに移行する(例えば、特定のアクションが利用できないようにする、エージェントが自分の車線を維持するように規定する、転回しないようにするなど)方法において、続いてアクションスペースを定義し、および/または任意の他のプロセス(例えば、新たな第1の学習モジュールの選択)をトリガするように機能する。移行ゾーンは、1以上のコンテキストと重複したり、1以上のコンテキストと重複しなかったり、および/または重複および非重複の任意の組み合わせとなり得る。追加的または代替的に、移行ゾーンはコンテキストそのものであってもよく、この方法は、(例えば、後続のコンテキストを予測することにより)ラベリングされた移行ゾーンがなくても実行することができ、および/またはその他の方法で実行することができる。
【0079】
コンテキストの例は、限定しないが、1車線の住宅道路(例えば、道路形状的にエージェントはコンテキストを変更できない)、1車線の非住宅道路、多車線の高速道路(例えば、エージェントは歩行者と遭遇する可能性が低いことを学習できる)、駐車場の単一車線道路、片側に黄色の境界線がある単一車線道路、多車線の高速走行道路、道路に接続する領域(例えば、駐車場、私道など)、および/またはその他の適切なコンテキスト、の一部または全部が含まれる。
【0080】
ビークルコンテキストは、好ましくは、方法の後続のプロセスにおいて使用され、さらに好ましくは自律エージェントに利用可能なアクションを簡素化および/または指定する第1の学習モジュール(例えば、後述する)の選択において使用される。追加的または代替的に、コンテキストは、方法の後続のプロセスで用いられるシナリオを選択するのに用いることができ、このシナリオは、上記の情報(例えば、速度制限、ビークル周囲の物体のセンサ情報など)の一部または全部に基づいてコンテキストをさらに特定(specify)するように機能する。第1のコンテキスト(例えば、双方向の住宅道路)のシナリオの例は、限定しないが、右折の機会、右折車線の追加、一時停止の標識、信号機、譲れ標識(yield sign)、横断歩道、スピードバンプ、および/またはその他のシナリオ、の一部または全部が含まれる。第2のコンテキスト(例えば、複数車線の高速道路)のシナリオの例は、車線変更、合流、低速車の追い越し、および/またはその他のシナリオ、の一部または全部が含まれる。いくつかの実施例では、例えば、コンテキストがモデルおよび/またはアルゴリズム(高度に調整された、コンテキスト認識型カスタム逆強化学習(IRL)アルゴリズムなど)の選択をトリガし、これが高レベルシナリオ選択を行って、シナリオ固有の学習モジュール(例えば、後述する第1の学習モジュール)を呼び出してビークルのアクションを選択させる。追加的または代替的に、シナリオを選択するための任意の他の適切なアルゴリズムまたはプロセスを実装してもよいし、シナリオなしでアクションを選択してもよいし、コンテキストを使用して別のパラメータを選択してもよいし、および/または方法200を別の方法で実行してもよい。
【0081】
追加的または代替的に、方法200は、(例えば、マップおよびセンサ情報から、センサ情報のみから、他の情報からなど)ビークルコンテキストおよび/またはシナリオを決定すること、および/またはビークルの環境に関連するビークルコンテキスト、シナリオ、および/または他の情報を利用することを含み得る。
【0082】
さらに追加的または代替的に、任意の他の適切な入力をS205で受信してもよい。
【0083】
実施例の第1のセットにおいて、S205は、自律エージェントのセンサシステムからのセンサ情報と、エージェントのルート(例えば、固定ルート)および/または潜在的ルートに割り当てられたコンテキストのセットを示すラベリングされたマップとを受信することを含み、ここでエージェントのコンテキストは、マップおよびセンサ情報に基づいて特定される。一連の入力(例えば、センサ情報)の一部または全部は、好ましくは、方法200を通して連続的に受信されるが、追加的にまたは代替的に、任意の他の適切な時間に受信されてもよい。
【0084】
一連の特定の例おいて、センサ情報は、少なくともエージェントの位置および/または向き(例えば、ポーズ)、エージェントの環境における動的および/または静的オブジェクトに関連する情報(例えば、位置、向き、動きなど)、および任意選択で他の任意の情報を含み、エージェントのコンテキストは、マップ内のエージェントの位置および/または向きに基づいて特定される。
【0085】
第1の実施例に追加または代替される第2のセットにおいて、S205は、自律エージェントのセンサシステムからセンサ情報と、エージェントのコンテキスト(例えば、現在のコンテキスト、近づきつつあるコンテキストなど)とを受信することを含む。入力のセットは、好ましくは、方法200を通して連続的に受信されるが、追加的にまたは代替的に、任意の他の適切な時間に受信されてもよい。
【0086】
特定の実施例のセットおいて、コンテキストは、マップとエージェントのポーズに基づいて特定され、このコンテキストは、学習モジュールの第1のセットのうちの1つを選択するために、当該方法で後に使用される。
【0087】
4.2 方法-学習モジュールのセットから学習モジュールを選択するステップS210
方法200は、学習モジュールのセットから学習モジュールを選択するステップS210を含み、これは1以上の出力のセットを決定するため特定の(例えば、最も関連性のある、最適な、特別に訓練されたなどの)学習済みモデルを選択するように機能する。S210はさらに好ましくは、学習モジュールの出力の精度および/または信頼性を高めるために、エージェントに関連する既知の(例えば、特定された、選択されたなど)情報(例えば、選択されたコンテキスト、選択されたアクションなど)を利用するように機能する。追加的または代替的に、学習モジュールは、この情報に基づいて、選択可能な出力の数を減らすおよび/または最小化するように機能することができ、これによって上記の利点を付与し、および/または計算/処理時間を短縮し、および/または他の任意の適切な機能を実行することができる。
【0088】
学習モジュールの選択は、学習モジュールの情報に基づく選択であり、さらに好ましくは、ビークルの既知の情報(例えば、学習モジュールの第1のセットを選択するためのコンテキストおよび/またはシナリオ、第2の学習モジュールのセットを選択するためのアクション、他の任意の環境特徴、センサ情報等)に基づいて、複数の学習モジュールのセットのうちどれを実装するかのプログラムおよび/またはルールベースの選択である。追加的または代替的に、学習済みプロセスおよび/または他の任意のタイプの学習モジュールの決定を実施することができる。
【0089】
学習モジュールは、好ましくは、1以上の学習済みモデルおよび/またはアルゴリズムを含み、さらに好ましくは、1以上の機械学習(例えば、深層学習)プロセスを通じて訓練された学習済みモデルおよび/またはアルゴリズムを含む。 好ましい実施例では、学習モジュールは、1以上のニューラルネットワーク(例えば、深層学習ネットワーク[DNN]、深層Q学習ネットワーク、畳み込みニューラルネットワーク[CNN])の形態であるが、追加的または代替的に、他の適切なモデル、アルゴリズム、決定木、ルックアップテーブル、および/またはその他のツールを含むことができる。
【0090】
S210は、好ましくは、上述のシステム100で実行され、さらに好ましくは自律エージェントのオンボード演算システムで実行されるが、追加的または代替的に、システム100の任意の他のコンポーネントおよび/または任意の他の適切なシステムで実行することができる。
【0091】
S210は、方法全体を通して1回および/または複数回、例えば、連続的に、所定の頻度で、一連の間隔(例えば、ランダム間隔など)で、S205で受信される入力のセットにおける変化(例えば、所定の変化)に応答して(例えば、コンテキストの変化)、前の学習モジュールによって生成された出力に応答して(例えば、第1の学習モジュールによって生成されたアクションおよび/またはアクションスペースに応答して第2の学習モジュールのセットの1つを選択する)、任意の他の適切なトリガに応答して、および/または方法200中の任意の他の適切な時間、の一部または全部で実行することができる。
【0092】
S210は、好ましくは、S205で受信した入力に応答して実行(例えば、部分的に実行、完全に実行など)されるが、追加的または代替的に、他の任意の時間および/または他の任意の適切なトリガに応答して実行することができる。
【0093】
好ましい実施例のセットでは、S210は、S212およびS214で後述するように、方法を通して(例えば、コンテキスト選択から経路生成まで)複数回実行され、これは、(例えば、S210を1回だけ実行することと比較して)方法200の説明可能性および/または解釈可能性を向上するように機能する。学習モジュールの第1のセットの1つが、ビークルのコンテキストに照らしてビークルのアクションおよび/またはアクションスペースを決定するために用いられ、第2の学習モジュールのセットの1つが、当該アクションおよび/またはアクションスペースに基づいてエージェントの経路を生成するために用いられる実施例において、これらの中間出力はそれぞれ説明可能性と解釈可能性を維持している。さらに、これらの高度に集中したマイクロモジュールを持つことにより、各モジュールは、環境(例えば、コンテキスト)および/またはエージェントのアクションに特有の高度に調整された損失関数へと学習させることができる。追加的または代替的に、学習モジュールが選択されるプロセスを複数設けることで、他の適切な利点を得ることができる。
【0094】
代替変形例のセットにおいて、S210は、方法200の間に1回だけ実行される(例えば、S212のみ、S214のみ、コンテキストから経路生成までの単一の学習モジュールにおいて、S212およびS214の学習モジュールを効果的に組み合わせた単一の学習モジュールにおいてなど)。
【0095】
追加的または代替的に、S210は、方法200の間に任意の回数、および任意の適切な出力を生成するように実行することができる。
【0096】
4.3 方法-第1の学習モジュールを選択するステップS212
S210は、好ましくは、第1の学習モジュールを選択するステップS212を含み、これは、エージェントの特定の環境、更に好ましくはエージェントのコンテキスト(および/またはシナリオ)に調整された(例えば、対応して高度に調整された損失関数で、あるいはそれに基づいて訓練された)学習モジュールを選択するように機能する。好ましい実施例では、例えば、S212は、ビークルの特定のコンテキスト(例えば、上述のような)に基づき、複数の学習済みモデルのセットから特定の学習済みモデル(例えば、決定ネットワーク)を選択するように機能する。S212は、追加的又は代替的に、エージェントが利用可能なアクションスペースを定義し、経路プランナによって決定されたエージェントの経路を通知し、エージェントに関する他の環境情報に基づいて学習モジュールを選択し、エージェントに対する他の情報(例えば、履歴情報、オブジェクト情報など)に基づいて学習モジュールを選択し、エージェントが利用できるオプションを排除し(例えば、利用できる行動を排除)、および/または他の適切な機能を果たすことができる。
【0097】
第1の学習モジュールを選択するステップは、本明細書では、学習モジュールの第1のセットのうちの1つを選択すること、および/または、第1の学習モジュールのセットのうちの1つを選択することと等価的に記載される。
【0098】
S212は、好ましくは、S205(S205の最新のインスタンス)に応答して(例えば、その後に、基づいて、など)実行されるが、追加的または代替的に、S214の一部として、および/またはS214と同時に、S214がなくても、方法を通して複数回(例えば、コンテキストの変化に応答して)、および/または方法200中の他の任意の時点で実行することができる。さらに追加的または代替的に、方法200は、S212なしで実行することができる。
【0099】
いくつかの実施例では、S212は、ビークルのコンテキスト(例えば、マップ上の位置に基づいて決定される)が変化したこと、および/または変化しようとしていることを示すトリガに応答して実行される。このトリガは、コンテキストの変更が予測されるおよび/または既知の時間(例えば、マップおよび固定ルートに基づいて、履歴情報などに基づいてなど)、新しいコンテキストまでの予測されるおよび/または既知の距離(例えば、マップおよび固定ルートに基づいて、履歴情報などに基づいてなど)、マップ上の移行ゾーン内のエージェントの位置、および/または他の適切な情報、の一部または全部に基づいて決定することができる。追加的または代替的に、S212は、他のトリガに基づいて、連続的におよび/または所定の頻度で、トリガがなくても、および/または他の任意の方法で(例えば、上述したように)実行することができる。
【0100】
学習モジュールの第1のセットからの単一の学習モジュールが、好ましくは、ビークルのコンテキストおよび/または当該コンテキストに基づいて特定されるシナリオに基づいて選択される。追加的または代替的に、特定の学習モジュールが、S205で受信した他の情報および/または他の任意の適切な情報に基づいて決定および/または選択されてもよい。さらに追加的または代替的に、学習モジュールの第1のセットから複数の学習モジュールを選択することができる(例えば、直列処理される、並列処理されるなど)。
【0101】
学習モジュールは、さらに好ましくは、コンテキストと学習モジュールの間のマッピングに基づいて選択される。好ましい実施例では、各コンテキストは、1:1のマッピングで学習モジュールの第1のセットのうちの単一の学習モジュールと関連付けられ、各コンテキストは単一の第1の学習モジュールとのみ関連付けられ、第1の学習モジュールのそれぞれは単一のコンテキストとのみ関連付けられる。マッピングは、好ましくは事前に決定されているが(例えば、プログラムされている、ルールベースなど)、追加的または代替的に動的に決定することもできる。追加的または代替的に、単一のコンテキストを複数の学習モジュールと関連付けることができ、ここでは1つが選択され(例えば、さらに入力のセットに基づいて)および/またはモジュール出力が集約され、1のモジュールを複数のコンテキストと関連付けることができ、および/またはコンテキストと学習モジュールとの間にその他の任意の関連を確立することができる。
【0102】
追加的または代替的に、他の情報に基づいて学習モジュールを選択することができる(例えば、学習モジュールの選択をさらに絞り込むため)。
【0103】
学習モジュールは、好ましくは機械学習モデルの形態であり、および/またはそれを含み、さらに好ましくは、特定のコンテキスト用に訓練された1以上のニューラルネットワークおよび/またはモデル(例えば、深層Qネットワーク、畳み込みニューラルネットワーク[CNN]、逆強化学習[IRL]モデル、強化学習[RL]モデル、模倣学習[IL]モデルなど)の形態であるが、追加的または代替的に、他の適切なモデル、アルゴリズム、決定木、ルックアップテーブル、および/またはその他のツールを含むことができる。
【0104】
好ましい実施例では、学習モジュールはそれぞれ深層学習ネットワーク(DNN)(例えば、ニューラルネットワーク)であり、さらに好ましくは、逆強化学習手法および/またはプロセスを使用して訓練された深層Q学習ネットワークであり、ニューラルネットワークの層(例えば、隠れ層)の数は、コンテキストおよび/またはアクションの違いによって変化し得る(例えば、3~8層、3層以下、8層以上、2~10層、1~15層など)。追加的または代替的に、任意の他の適切なネットワーク、アルゴリズム、および/またはモデルが、学習モジュールにおいて使用され得る。例えば、政策勾配法、有限ステートマシン[FSM]、確率的方法(例えば、Partially Observable Markov Decision Process[POMDP])、模倣学習[IL]、RLまたはIRLの変形、および/または他の任意の適切なモデルおよび/またはネットワークおよび/またはアルゴリズムがあるが、それだけに限られない。学習モジュールのそれぞれは、好ましくは、同じタイプのニューラルネットワーク(例えば、層の数が異なる、重みが異なるなど)および/またはアルゴリズムおよび/またはモデルであるが、代わりに異なってもよい(例えば、アーキテクチャが異なる、ニューラルネットワークのタイプが異なるなど)。
【0105】
学習モジュールのそれぞれは、好ましくは、学習モデルに関連付けられた特定のコンテキストタイプまたは複数のコンテキストタイプ内で発生するデータに基づいて訓練され、任意選択で、コンテキストを通る、および/または当該コンテキストであると同定される領域/経路を含む1以上の固定ルート内で発生するデータに基づいてさらに訓練される。いくつかの実施例では、例えば、単一の学習モジュールが特定のコンテキストタイプに適用され、単一の学習モジュールは、そのコンテキストを満たす場所からのデータに基づいて訓練される。他の変形例では、単一の学習モジュールが特定のルート内の特定のコンテキストに適用され、単一の学習モジュールは、特定の固定ルート内の特定のコンテキストに関連するデータに基づいて訓練される。
【0106】
追加的または代替的に、学習モジュールは、任意の適切なデータで訓練することができる。
【0107】
学習モジュールのそれぞれは、さらに好ましくは逆強化学習で訓練され、これがコンテキスト認識学習モジュールのそれぞれについて報酬関数および/または最適な運転方針を決定するように機能する。この訓練の出力は、さらに好ましくは各学習モジュールの報酬関数と最適ポリシーを表すコンパクトな全接続ネットワークモデルである。追加的または代替的に、学習モジュールは、他の方法(例えば、逆強化学習など)で適切に訓練および/または実装することができる。
【0108】
第1の実施例では、S212は、エージェントの特定されたコンテキストに基づいてコンテキスト認識学習モジュール(本明細書では、等価的にコンテキスト認識学習エージェントと呼ばれる)を選択することを含む。具体例では、各コンテキストに1つのコンテキスト認識学習モジュールが割り当てられる。コンテキスト認識学習モジュールは、好ましくは逆強化学習モデルで訓練されるが、追加的または代替的に他の方法で訓練することができる(例えば、教師あり学習、半教師あり学習、教師なし学習など)。
【0109】
第2の実施例では、S212は、特定のコンテキストに割り当てられたおよび/または利用可能な複数のコンテキスト認識学習モデルから選択することを含み、特定のコンテキスト認識学習モデルは、機械学習、決定木、統計的方法、アルゴリズムの一部または全部に基づいて、および/またはその他の適切なツールを用いて選択される。
【0110】
追加的または代替的に、任意の他の適切な学習モジュールを選択、使用、および/または訓練することができる。
【0111】
4.4.方法-学習モジュールに基づいて出力を生成するステップS220
方法200は、学習モジュールに基づいて出力を生成するステップS220を含み、これは自律エージェントの意思決定および/または経路生成を実行するための情報を生成するように機能する。追加的または代替的に、出力は、自律エージェントの動作の他の任意のプロセスで使用することができる。
【0112】
好ましい実施例では、S220は、アクションスペースを定義および/またはアクションを選択するステップS222と、経路を生成するステップS224とを含むが、追加的または代替的に、S222およびS224の一方、および/または他の任意の適切な出力を含むことができる。
【0113】
4.4 方法-アクションスペースを定義および/またはアクションを選択するステップS222
方法200は、好ましくは、アクションスペースを定義および/またはアクションを選択するステップS222を含むことができ、これはビークルのコンテキストおよび/または環境に照らしてエージェントに利用可能な一連のアクション(本明細書では等価的に行動(behaviors)および/または操作(maneuvers)と呼ばれる)を定義するように機能する。追加的または代替的に、S222は、コンテキストに通知されてエージェントが利用できるアクションの数を最小限に抑えるように機能することができ、これがビークルのアクションを選択するのに必要なプロセスを単純化(例えば、時間短縮、不合理なアクションの選択を回避するなど)するように機能する。いくつかの実施例では、例えば、コンテキストタイプからの追加情報と制限により、様々な学習モジュールを訓練し、学習モジュールを特定のコンテキストに合わせて調整して精度と信頼性を高めるために必要なデータ量を減らすことができる。方法200は、任意選択で追加的または代替的に、アクションスペースからアクションを選択するステップを含むことができ、これは、ビークルの次のアクション(例えば、現在の行動とは異なる行動への切替および/または移行、現在の行動の維持)を決定するように機能する。
【0114】
S222は、好ましくは、S212に応答して(例えば、その後に、基づいて、など)実行されるが、追加的または代替的に、S210に応答して、S212の一部として、および/またはS212と同時に、S212がなくても、S205に応答して、方法全体にわたって複数回、および/または方法200中の他の任意の時点で実行することができる。さらに追加的または代替的に、方法200は、S222がない場合(例えば、単一の学習モジュールがコンテキストに基づいて経路を決定するために使用される変形例)にも実行可能である。
【0115】
S222は、好ましくは、ビークルコンテキストに基づいてビークルが利用可能なアクションのアクションスペースを決定することと、アクションスペースからアクションを選択することとを含むが、追加的または代替的に、これらのうちの1つを決定すること、および/または他の任意の適切な出力を決定することを含み得る。
【0116】
S222は、好ましくは、上述の選択された第1の学習モジュールで実行され、ここでアクションスペースおよび/またはアクションは、学習モジュールの出力(例えば、中間出力、最終出力など)として生成される。追加的または代替的に、学習モジュールは、他の適切な出力を生成することができる。好ましい実施例では、コンテキストの特定と、このコンテキストに選択される学習モジュールによる処理によって、アクションスペースを比較的小さくすることができる(例えば、すべての利用可能なアクションと比較して)。好ましい実施例では、第1の学習モジュールの各々は、1以上のニューラルネットワークおよび/または他のモデル(例えば、IRLアルゴリズムおよび/またはプロセスを用いて訓練されたもの、RLアルゴリズムおよび/またはプロセスを用いて訓練されたもの、CNN、RNNなど)のセットを含み、ニューラルネットワークの一部または全部が、ビークルのアクションを決定するために使用される。
【0117】
S222は、好ましくは、S205で説明されたものの一部または全部といった入力のセットを受信し、これらは第1の学習モジュールへの入力として受信され、それによって学習モジュールが最適なアクションを選択することができる。入力のセットは、好ましくは、センサシステムの1以上のセンサから受信され、および/またはセンサシステムに基づいて特定されるが、追加的または代替的に、任意の適切なソースから受信することができる。好ましい実施例では、第1の学習モジュールは、エージェント周囲で検出された一連の動的オブジェクトに関連する情報(例えば、オブジェクトの現在位置、サイズ、これまでの経路、および将来の予測経路を含む)を入力として受信する。追加的または代替的に、第1の学習モジュールは、動的オブジェクトの運動の自己予測を行うように設計することができ、これは例えば、学習プロセスを(例えば、時間および/または必要なデータに関して)簡素化することができる。入力のセットは、さらに好ましくは、一連の静的オブジェクトに関連する情報(例えば、場所を含む静的オブジェクトの現在の状態)、マップ(例えば、エージェントの固定ルートに沿った一連のコンテキストを特定する高精細、手動ラベリングされたマップ)、エージェントの目的地に達するために必要な経路情報、エージェントの状態、(それらの将来の予測経路とともに)静的および動的オブジェクト情報、および/または他の任意の適切な情報を含む。
【0118】
選択された第1の学習モジュールは、好ましくは、エージェントの周囲の環境表現(例えば、図3Bに示すような)を入力として受信する。この表現は、好ましくは、現在の時間段階だけでなく、以前の時間段階からの情報も含むが、追加的または代替的に、任意の適切な時間に関連する情報を受け取ることができる。
【0119】
環境表現を特定することは、任意選択で、入力のセットの一部または全部に基づいて潜在空間表現を特定することを含むことができ、これは、環境表現を第1の学習モジュールへの入力として提供する前に、極めて高次で複雑な量の情報をより小さい潜在空間表現へと精製するように機能する。潜在空間表現は、好ましくは、第1の学習モジュールの第1のニューラルネットワーク(例えば、CNN)に入力される静的および動的オブジェクト情報に基づいて特定され、オブジェクトの入力に対して順序不変性を付与した、より効果的な潜在空間表現を出力として生成する。そして、これらの入力を他の入力(HDマップ、経路情報、ビークル状態など)と組み合わせて、入力空間全体を最も効果的に潜在空間表現とする第2のニューラルネットワーク(CNN、第1のニューラルネットワークと異なるニューラルネットワーク、第1のニューラルネットワークと同じニューラルネットワークなど)に入力することができる。追加的または代替的に、他の方法で潜在空間表現を特定したり、および/またはS222は潜在空間表現なしで実行することができる。
【0120】
具体例(例えば、図3Cに示すように)において、学習エージェントは、検出された一連の動的オブジェクトの現在位置、サイズ、以前の経路、および将来への予測経路を含む情報、一連の静的オブジェクトおよびそれらの現在の状態、マップ(例えば、高精細マップ、高精細ハンドラベリングされたマップなど)、目的地に達するために必要な経路情報、現在の自車状態、および/または他の任意の適切な情報を取り上げる。第1のニューラルネットワーク(例えば、順序独立表現再帰型ニューラルネットワーク[RNN]、CNNなど)を用いて、オブジェクト入力に対して順序不変性を付与したより効果的な中間潜像空間表現を出力する。このデータをマップ、経路情報、ビークル状態とともに組み合わせ、入力空間全体を最も効果的な潜在空間表現として表す潜在空間ネットワークに供給する。追加的または代替的に、この情報の一部または全部は、潜在空間表現なしおよび/または異なる潜在空間表現について受信することができ、潜在空間表現は任意の数のニューラルネットワークおよび/または中間ニューラルネットワークを含むことができ、潜在空間表現は中間ネットワークなしで特定することができ、他の任意の情報を受信することができ、この情報の一部または全部を学習モジュールにより決定することができ(例えば、動的オブジェクトの予測経路)、および/またはS222じゃ他の方法で適切に実行してもよい。
【0121】
方法200は、任意選択で、学習モジュールの第1のセットの一部または全部を訓練することを含むことができる。学習モジュールは、好ましくは、システム100のリモート演算システムで訓練されるが、追加的または代替的に、任意の適切な場所で訓練することができる。各モジュールは、好ましくは、上述したような完全な環境表現を入力とし、計画サイクルごとに正しいアクションをとることを前提に学習される。この訓練プロセスは、好ましくは2つのフェーズを含み、第1フェーズは、潜在空間表現ネットワークを訓練するように機能し、これは現在のコンテキストに関係なく、すべての運転アクションを分類する役割を果たす単一の一時的な深層ネットワークを使用して実装することができる。これを実現するために、この学習はデータセットで利用可能な完全なデータセットに対して行われる。第2フェーズでは、第1フェーズで学習した潜在空間表現を用いて、特定のコンテキストやアクションに動作する深層ネットワークを訓練する。これは、潜在空間ネットワークの重みを固定し(例えば、ネットワークに対するすべての訓練を停止し)、損失関数(例えば、コンテキストに対する超最適化損失関数、アクションに対する超最適化損失関数など)に基づいて決定された重みを固定し、それによって一時的に深層ネットワークを除外し、最終決定を行うために使用されるネットワークのフルセットを作成することによって達成することができる。各深層ネットワークは、好ましくは、分類するように構成されたコンテキスト内のデータのサブセットで訓練される。
【0122】
追加的または代替的に、第1の学習モジュールは、他の方法で構成および/または訓練することができる(例えば、教師あり学習、半教師あり学習、教師なし学習でなど)。
【0123】
好ましい一連の実施例では、学習モジュールの第1のセット(本明細書では等価的に深層決定ネットワーク(DDN)、学習エージェント、学習済みモデルなどと呼ばれる)(例えば、図3A図3B図4に示すものなど)は、エージェントの現在のコンテキストに加え、エージェントの周囲環境の完全表現を使用して、現在の計画サイクル中にとるべきビークルのアクションを選択する。ビークルのアクションには、例えば限定しないが、車両の後ろで停まる、車両に譲る、道路に合流する、および/または他の適切なアクションの一部または全部が含まれる。
【0124】
図10は、2つの異なるコンテキストに対して決定された一連のアクションを示す図である。
【0125】
アクションは、限定しないが、車線維持、車線変更、転回(右折、右折、Uターン実行など)、合流、徐行、エージェントの前のビークルに追従、ロット駐車、停車、ナッジ、ビークルの追い越し、および/または人間が運転するビークルおよび/または自律型ビークルの通常の運転アクションなどの他の適切なアクションの一部または全部が含まれる。
【0126】
各アクションは、好ましくは、エージェントの特定のコンテキスト、および任意選択で任意の他の適切な入力(センサ情報。固定ルートなど)に基づいて決定されるパラメータのセットに関連付けられる。パラメータ値は、事前に設定され(例えば、特定のコンテキストに対して割り当てられた値)、動的に決定され(例えば、学習モジュールで、環境表現などの追加情報に基づいて)、任意の組み合わせ、および/またはその他の決定の一部または全部であり得る。これはこのアーキテクチャの潜在的利点を強調するものであり、様々なパラメータ値をアクションに関連付けることができ、コンテキストが特定の値または値の範囲を指定し、それによって異なるコンテキストについて学習させたアクションを、当該コンテキストに最適なパラメータ値に関連付けることができる。対照的に、例えば、方法が完全にプログラムされている従来の方法では、パラメータ(徐行距離など)を一般化して過度に控えめな値にするか、様々なケースに対して複数の値をプログラムする必要がある。また、学習ベースのアプローチのみを含む方法では、ケース全体でアクションが過度に単純化され、予測できないエージェントの動作が発生する可能性がある(例えば、ロボットの動作、実行不可能な経路の最終生成など)。
【0127】
好ましい実施例では、各学習モジュールの出力層は、出力ノードの数が利用可能なアクションの数であるソフトマックス層である。具体例としては、例えば、ソフトマックス層は、アクションスペースにおける各アクションに信頼度を割り当て、最も高い信頼度を有するアクションが学習モジュールの出力として提供される。追加的または代替的に、アクションスペースおよび/または利用可能なアクションは、任意の他の適切な方法で決定することができる。
【0128】
具体例では、複数車線の高速道路のコンテキストでは、複数車線高速道路学習モジュールで、速度維持、左車線変更、および右車線変更などの対応するアクションスペースが生成される。一方、住宅街道路などの異なるコンテキストでは、高速道路のコンテキストにあるようなアクションと、停止、譲る(yield)、徐行、左折、右折などの追加のアクションが生成される。
【0129】
追加または代替の実施例では、出力層(線形出力層など)を使用して、アクションの埋め込み(embedding)(例えば、ベクトル、実数のベクトルなど)を生成することができ、この埋め込みは、特定のアクションに関連する記憶された埋め込みとマッチさせることができる(例えば、ルックアップテーブルで)。具体的には、例えば、出力層で生成された埋め込みベクトルの長さや角度を用いて、特定の動作に関連するベクトルに一致させることができる。
【0130】
アクションを選択するステップは、コンテキスト認識学習モジュールによって実行されたり、別のモデルおよび/またはアルゴリズムおよび/またはプロセスで実行されたり、他の情報(例えば、S212からの一連の入力の一部または全部、特定のルートに基づいて、マップ内の次のコンテキストに基づいてなど)、および/または別の方法の一部または全部によって決定され得る。
【0131】
好ましい変形例では、アクションは、コンテキスト認識学習エージェントの出力(例えば、単一の出力、複数の出力など)として生成される。
【0132】
追加的または代替的な実施例では、アクションは、コンテキストに基づいてアクションを選択するためのステートマシンまたは他のルールベースの方法に基づいて決定することができる。
【0133】
第1の実施例では、エージェントのコンテキストは、マップから単一車線の住宅道路であると特定される(例えば、図10に示すように、道路形状のためにエージェントがコンテキストを変更できない)。このコンテキストについて決定される一連のアクションは、例えば、速度維持、徐行、左折、右折、道を譲るなどがある。徐行の場合、主要なパラメータは徐行距離であり、これはエージェントが細心の注意を払って(例えば、合流を決定する前に)徐行して進むべき距離を意味する。例えば、人間は一時停止の標識や高速道路の合流前に、接近中の交通を慎重に測り、衝突しないように合流したり道路利用者の迷惑にならないようにビークルの速度を調整すべく徐行する。特定のコンテキストとオプションのアクションに依存して、このパラメータの値は異なる。具体例では、駐車場のコンテキストと右折および/または一時停止標識での停止アクションについての徐行距離は2メートルであるが、複数車線の高速道路のコンテキストと合流アクションについての徐行距離は17メートルである。
【0134】
第2の変形例では、エージェントのコンテキストは、エージェントが歩行者を見る可能性が低いことを学習できる(例えば、学習モジュールにおいて)複数車線の高速道路であると決定される。アクションスペースのアクションには、例えば、左車線切替、右車線切替、速度維持、停止などがある。
【0135】
追加的または代替的に、S222は、任意の適切な方法で実行される任意の他の適切なプロセスを含むことができる。
【0136】
4.5 方法-第2の学習モジュールを選択するステップS214
S210は、第2の学習モジュール(等価的に本明細書では深層経路ネットワークと呼ばれる)を選択するステップS214を含み、これは好ましくは、アクションに基づいて学習モジュールを選択するように機能し、好ましくはさらに、エージェントの経路を決定するためのアクション固有のモジュールを選択するように機能する。第2の学習モジュールは、好ましくは、エージェントの特定のアクション(および/またはアクションスペース内の複数のアクション)に合わせて調整される(例えば、対応する高度に調整された損失関数に基づいて、訓練される)。好ましい実施例では、例えば、S214は、(コンテキストに基づいて)ビークルのために選択された特定のアクション(例えば、上述のような)に基づき、複数の学習済みモデルのセットから特定の学習済みモデル(例えば、決定ネットワーク)を選択するように機能する。S214は、追加的又は代替的に、エージェントの経路を決定し、エージェントに関する他の環境情報に基づいて学習モジュールを選択し、エージェントに対する他の情報(例えば、履歴情報、オブジェクト情報など)に基づいて学習モジュールを選択し、エージェントが利用できるオプションを排除し(例えば、利用できる経路を排除)、および/または他の適切な機能を果たすことができる。
【0137】
第2の学習モジュールを選択するステップは、本明細書では、第2の学習モジュールのセットのうちの1つを選択すること、および/または、第2の学習モジュールのセットのうちの1つを選択することと等価的に記載される。
【0138】
S214は、好ましくは、S222(例えば、S222の最新のインスタンス)に応答して(例えば、後に、基づいてなど)実行され、ここでS222は好ましくは、S212に応答して実行され、第2の学習モジュールが、エージェントのコンテキストに基づいて決定されるアクションに基づいて選択される。追加的または代替的に、S214は、S212の一部および/または組み合わせで、S212と同時に、S212がなくても、方法を通して複数回(例えば、コンテキストの変化に応答して)、および/または方法200中の他の任意の時点で実行することができる。さらに追加的または代替的に、方法200は、S214なしで実行することができる。
【0139】
いくつかの実施例では、S214は、S212が実行されてアクションが決定されたことに応じて、および/またはビークルのコンテキスト(例えば、マップ上の位置に基づいて決定される)が変化したこと、および/または変化しようとしていることを示すトリガに応答して自動的に実行される。追加的または代替的に、S214は、他のトリガに基づいて、連続的におよび/または所定の頻度で、トリガがなくても、および/または他の任意の方法で(例えば、上述したように)実行することができる。
【0140】
好ましくは、S222でビークルに選択されたアクションに基づいて、第2の学習モジュールのセットから1つの学習モジュールが選択される。追加的または代替的に、特定の学習モジュールが、他の適切な方法で決定されたアクションに基づいて、選択された第1の学習モジュールに基づいて、S205で受信した他の情報および/または他の任意の適切な情報に基づいて決定および/または選択されてもよい。さらに追加的または代替的に、第2の学習モジュールのセットから複数の学習モジュールを選択することができる(例えば、直列処理される、並列処理されるなど)。
【0141】
第2の学習モジュールは、さらに好ましくは、アクションと第2の学習モジュールの間のマッピングに基づいて選択される。好ましい実施例では、各アクションは、(ルックアップテーブルおよび/またはデータベースで)1:1のマッピングで第2の学習モジュールのセットのうちの単一の学習モジュールと関連付けられ、各アクションは単一の第2の学習モジュールとのみ関連付けられ、第2の学習モジュールのそれぞれは単一のアクションとのみ関連付けられる。マッピングは、好ましくは事前に決定されているが(例えば、プログラムされている、ルールベースなど)、追加的または代替的に動的に決定することもできる。追加的または代替的に、単一のアクションを複数の第2の学習モジュールと関連付けることができ、ここでは第2の学習モジュールのセットの1つが選択され(例えば、さらに入力のセットに基づいて)および/またはモジュール出力が集約され、1のモジュールを複数のコンテキストと関連付けることができ、および/またはアクションと学習モジュールとの間にその他の任意の関連を確立することができる。
【0142】
追加的または代替的に、他の情報に基づいて第2の学習モジュールを選択することができる(例えば、学習モジュールの選択をさらに絞り込むため)。例えば、いくつかの実施例では、各(コンテキスト、アクション)ペアが、単一の第2の学習モジュールと関連付けられる。
【0143】
第2の学習モジュール(本書では等価的にアクション認識学習エージェント、深層経路ネットワーク[DTN]と呼ぶ)は、好ましくは機械学習モデルの形態であり、および/またはそれを含み、さらに好ましくは、特定のアクション用に訓練された1以上のニューラルネットワーク(例えば、深層Qネットワーク、畳み込みニューラルネットワーク[CNN]など)の形態であるが、追加的または代替的に、他の適切なモデル、アルゴリズム、決定木、ルックアップテーブル、および/またはその他のツールを含むことができる。深層経路ネットワーク(DTN)は、好ましくは、深層決定ネットワーク(DDN)によって選択されたアクションに基づいて選択され、好ましくは、現在の計画サイクル中にアクション駆動型の安全制約を有する高度に最適化された安全経路を生成するように機能する。
【0144】
第2の学習モジュールのセットは、好ましくは、特定のアクション(例えば、上述のように)に基づいて選択され、最適化され、安全に制約される。具体例では、第2の学習モジュールのセットの各々は、車両の周囲の局所的なビュー(例えば、近接する動的オブジェクトおよび静的オブジェクトのみに関連する情報、近接する道路の特徴のみに関連する情報を含むなど)を用いて、ビークルが従うべき安全かつ有効で自然な経路を最終的に計画する(例えば、S224で説明したように)。このデータドリブンモジュール方式アプローチは、従来のアーキテクチャと比較して、必要なデータが指数関数的に少ない決定論的モデルを実現する。
【0145】
好ましい実施例では、第2の学習モジュールはそれぞれ深層ニューラルネットワーク(DNN)(例えば、ニューラルネットワーク)であり、さらに好ましくは、逆強化学習を使用して訓練された深層Q学習ネットワークであり、ニューラルネットワークの層(例えば、隠れ層)の数は、アクションの違いおよび/または任意の他の情報によって変化し得る(例えば、3~8層、3層以下、8層以上、2~10層、1~15層など)。追加的または代替的に、上述したものの一部または全部といった任意の他の適切なネットワーク、アルゴリズム、および/またはモデルが、学習モジュールにおいて使用され得る。第2の学習モジュールのセットのそれぞれは、好ましくは、同じタイプのニューラルネットワーク(例えば、層の数が異なる)および/またはアルゴリズムおよび/またはモデルであるが、代わりに異なってもよい(例えば、アーキテクチャが異なる、ニューラルネットワークのタイプが異なるなど)。具体例では、第2の学習モジュールは第1の学習モジュールのセットと同じアーキテクチャを鵜有する。代替例では、第1のセットと第2の学習モジュールのセットは、異なるアーキテクチャを有する。
【0146】
第2の学習モジュールのそれぞれは、好ましくは、第2の学習モデルに関連付けられた特定のアクションタイプ内で発生するデータに基づいて訓練され、任意選択で、ビークルが走行するルート(例えば、固定ルート)、ビークルのコンテキスト、の一部または全部において発生するデータ、および/または他の適切な情報に基づいてさらに訓練される。いくつかの実施例では、例えば、単一の第2の学習モジュールが特定のアクションタイプに適用され、単一の第2の学習モジュールは、ビークルがアクションを実行しているデータに基づいて訓練される。追加的または代替的に、単一の第2の学習モジュールは、S212において事前に選択されたコンテキストに関連するデータに基づいて訓練される。追加的または代替的に、第2の学習モジュールは、任意の適切なデータで訓練することができる。
【0147】
第2の学習モジュールのそれぞれは、さらに好ましくは逆強化学習で訓練され、これがコンテキスト認識学習モジュールのそれぞれについて報酬関数および/または最適な運転方針を決定するように機能する。この訓練の出力は、さらに好ましくは各学習モジュールの報酬関数と最適ポリシーを表すコンパクトな全接続ネットワークモデルである。追加的または代替的に、学習モジュールは、他の方法(例えば、逆強化学習、教師あり学習、半教師あり学習、教師なし学習など)で適切に訓練および/または実装することができる。
【0148】
第1の実施例では、S214は、エージェントの決定されたアクションに基づいて第2の学習モジュール(本明細書では、等価的にアクション認識学習モデルと呼ばれる)を選択することを含む。具体例では、各アクションに1つのアクション認識学習モジュールが割り当てられる。アクション認識学習モジュールは、好ましくは逆強化学習モデルで訓練されるが、追加的または代替的に他の方法で訓練することができる。
【0149】
第2の実施例では、S214は、エージェントの決定されたアクションとともに当該アクションへと続くコンテキストに基づいて第2の学習モジュール(本明細書では、等価的にアクション認識学習モデルと呼ばれる)を選択することを含む。具体例では、各(コンテキスト・アクション)ペアに1つのアクション認識学習モジュールが割り当てられる。
【0150】
第3の実施例では、S214は、特定のアクションに割り当てられ/利用可能な複数のアクション認識学習モデルから選択することを含み、特定のアクション認識学習モデルは、機械学習、決定木、統計的方法、アルゴリズムの一部または全部に基づいて、および/またはその他の適切なツールを用いて選択される。
【0151】
追加的または代替的に、任意の他の適切な学習モジュールを選択、使用、および/または訓練することができる。
【0152】
4.6 方法-ビークル経路を生成するステップS224
方法は、好ましくは、ビークル経路を生成するステップS224を含み、これは、エージェントが選択されたアクションに従うように経路を生成するように機能する。追加的または代替的に、S214は、エージェントにとって最も最適な経路を生成し(例えば、行動に基づいて考慮から経路を排除することによって)、経路を生成するのに必要な時間および/または処理を低減し、および/または他の任意の適切な機能を実行するように機能することができる。
【0153】
S224は、好ましくは、S214に応答して(例えば、その後に、基づいて、など)実行されるが、追加的または代替的に、S210および/またはS212に応答して、S214の一部として、および/またはS214と同時に、S212および/またはS214がなくても、S205に応答して、方法全体にわたって複数回、および/または方法200中の他の任意の時点で実行することができる。さらに追加的または代替的に、方法200は、S224なしで実行することができる。
【0154】
S224は、好ましくは、上記のように選択された第2の学習モジュールで実行され、経路は、第2の学習モジュールの出力として生成され、および/または第2の学習モジュールの出力に基づいて決定されるが、追加的または代替的に、第1の学習モジュール、第1および第2の学習モジュールの組み合わせ、複数の学習モジュール、任意の深層学習プロセス、任意のプログラムプロセス、および/または他の任意の適切なプロセスで実行することが可能である。
【0155】
S224は、好ましくは、エージェントに関連する安全トンネルおよび安全トンネル制約のセットを決定(例えば、計算)することを含み、これは、選択されたアクションに基づいて、自律エージェントのための制約された運転領域を定義する。安全トンネルは、好ましくは、選択されたアクションに基づいて決定され、将来の経路があり得る場所の環境を鮮明にすることによって、エージェントにとって利用可能なすべての経路の集合を制約するように機能する。いくつかの実施例では、例えば、選択されたアクションに関連する環境と、選択されたアクションに基づいて将来的にビークルがいる可能性のある環境のみに環境を限定するように機能する。安全トンネルはさらに、好ましくは、エージェントの位置に加え、道路境界線、停止標識の位置、信号機の位置などのマップ情報を含む一連の入力に基づいて計算されるが、追加的または代替的に他の任意の適切な入力を考慮に入れることができる。追加的または代替的に、安全トンネルは、任意の他の適切な情報に基づいて計算することができる。
【0156】
安全トンネルは、好ましくは、自律エージェントの固定点、平面、および/または表面(例えば、前輪、フロントバンパーの最外表面など)に対して定義された領域、および/または自律エージェントに関連する領域(例えば、自律エージェントに相対し自律エージェントと共に動く仮想点および/または平面および/または表面)であって、所定の距離(例えば、100メートル、50メートル~100メートル、50メートル未満、100メートル~150メートル、150メートル、150メートル~200メートル、200メートル以上など)、計画地平線、ビークルが停止しなければならない停止オブジェクト(例えば、譲れ標識、停止標識、交通信号など)、および/または他の任意の適切な情報のうちの一部または全部にわたる。安全トンネルのパラメータは、好ましくは、アクションに基づいて決定され、これは限定しないが、予め定められた割り当て、動的に決定された割り当て、第1の学習モジュールの出力、および/または他の任意の情報に基づいて決定される。安全トンネルは、好ましくは、各計画サイクルで計算されるが(例えば、毎秒30回実行、毎秒10回実行、毎秒50回実行、毎秒0~60回実行、毎秒60回以上実行など)、追加的または代替的に、連続的、所定の頻度、一連の間隔(例えば、ランダムな間隔)、トリガに応答して、および/または他の適切な任意の時間において計算することが可能である。安全トンネルは、現在選択されているアクションについてエージェントが占め得るすべての可能な場所を表すように機能する。安全トンネルは、好ましくは、アクションが車線変更アクションを識別しない限りエージェントの現在の車線に制約されるが、追加的または代替的に他の制約を受けてもよい。
【0157】
エージェントが停止標識で停止しており、可能な行動が他のトラフィックに対して譲り続けるか、車線に合流することである具体例において、アクションが車両に対して譲り続けることである場合、安全トンネルは停止標識までしか伸びず、その先は伸びず、エージェント(本書では同等に自車両と呼ぶ)の動きを制限する。アクションが車線に合流するように切り替わると、安全トンネルはプログラム的に切り替えられ、エージェントが合流する予定の車線の全スペースがカプセル化される。
【0158】
別の具体例では、現在のアクションが現車線を直進し続けることである場合、隣の車線で自車両の100m後ろにいる別の車両は関係しない(例えば、安全トンネルの外側)。しかし、これは、代わりに車線変更アクションを実行する場合に、関連するようになる(例えば、安全トンネル内)。
【0159】
追加的または代替的に、安全トンネルを別の方法で設計および/または実施することができ、本方法を安全トンネルがない状態で実施することができ、および/または本方法を別の方法で実施することができる。
【0160】
安全トンネルは、任意選択で、どの静的および動的オブジェクトが安全トンネル内にあるかを選択するために使用することができ、それらのオブジェクトのみが、考慮および/またはさらなる処理に使用される(例えば、局所的環境表現の決定、潜在空間表現の決定など)。いくつかの実施例では、例えば、ローカライズされた動的および静的オブジェクトセレクタ(例えば、演算システム内)が、第1の学習モジュールからのアクション出力、その関連する安全トンネル、ならびにこれらのオブジェクトに関する任意の情報であるそれらの位置、自車両からの距離、速度、および進行方向に基づいて関連する周辺オブジェクトを選択する(例えば、それらが最終的に安全トンネルに入るかどうかを特定するため)。追加的または代替的に、関連する静的および動的オブジェクトは、安全トンネルなしで、および/または安全トンネルとは独立して(例えば、単に選択されたアクションに基づいて、アクション制約の所定のセットに基づいてなど)特定してもよく、すべての静的および動的オブジェクトを考慮してもよく、および/またはS224を他の適切な方法で実行してもよい。
【0161】
安全トンネルの実施例の第1のセットでは、安全トンネルは経路生成における制約として用いられ、安全トンネルは、未来の範囲計画の先読み(future horizon planning lookahead)などの計画情報を取り込むことによって、ビークルの環境を先鋭化する(例えば、アクションに基づいて位置特定する、アクションに基づいて制約するなど)。具体例では、安全トンネルは、最終的な経路生成に使用される潜在的な空間表現を生成するために部分的に使用される。
【0162】
S224は、好ましくは、S205において、S222において、および/または他の任意の適切な入力として、上述したものの一部または全部などの入力のセットを受信することを含む。
【0163】
入力のセットは、上記の入力の一部または全部、さらなる入力、異なる入力、および/または入力の任意の適切なセットまたは組み合わせを含み得る。好ましい実施例では、S224で受信される入力のセットは、動的オブジェクト情報(例えば、安全トンネル内)およびそれらの予測経路、静的オブジェクト情報(例えば、安全トンネル内)、1以上の不確実性推定値(例えば、方法全体で計算、第1の学習モジュールごとに計算、第2の学習モジュールごとに計算など)、マップおよび/またはマップからの入力、エージェントに関連する状態および/または動的情報、および/または他の任意の適切な情報の一部または全部を含む。
【0164】
入力のセットは、好ましくは、局所的環境表現を決定するために使用され、これは、環境表現を特定するために収集された情報(例えば、前述のように)を、アクションベースの制約(例えば、安全トンネルからのパラメータに基づく、および/またはより限定された視野などの安全トンネル制約)とともに考慮し、それによって、選択されたアクションに基づいて、エージェントにとってターゲットを絞った、関連する、局所的な環境表現を生成し、これは本明細書で等価的に局所的環境表現と呼ばれる。これは、例えば、第2の学習モジュールによって考慮されるおよび/または処理される必要がある情報量を減少させるように機能し得る(例えば、より速い処理のために)。追加的または代替的に、前述と同じ環境表現、局所的環境表現は、他の情報を含むことができ、および/または他の制約を受けることができ、および/または局所的環境表現は、他の方法で形成されることができる。
【0165】
局所的環境表現を特定することは、任意選択で、潜在的空間表現を特定することを含み得る。潜在空間表現は、好ましくは、上述した潜在空間表現を特定するための同じプロセスおよび/または類似のプロセスで特定されるが、追加的または代替的に、任意の他の適切な潜在空間表現および/または潜在空間表現を特定するためのプロセスを含むことができる。さらに追加的または代替的に、S214は潜在空間表現なしで実行することができる。
【0166】
好ましい実施例のセットでは、安全トンネル制約と局所的な動的・静的オブジェクト、目的地に到達するために必要な経路情報、および現在のエージェント状態は、潜在空間表現に渡され、環境表現の全体サイズを縮小させることができる。この潜在空間表現は、次に一連の深層経路ネットワークによって使用され、これは単一のアクションに基づいて最適化および選択され、エージェントが従うように提案される最終経路が作成される。追加的または代替的に、これらの入力は、潜在空間表現なしでも深層経路ネットワークで受け取ることができる。具体例では、エージェントの各アクションに単一の深層経路ネットワークを用いることで、各ネットワークを超調整(ハイパーチューニング)して損失関数の観点から最適化し、各状況に最適な経路を正しく出力することができる。
【0167】
方法200は、任意選択で、学習モジュールの第2のセットの一部または全部を訓練することを含むことができる。学習モジュールは、好ましくは、システム100のリモート演算システムで訓練されるが、追加的または代替的に、任意の適切な場所で訓練することができる。第2の学習モジュールのセットは、第1の学習モジュールのセットとは別個に/独立して、異なる入力と出力のセットで訓練することができ、あるいは追加的または代替的に一緒に訓練することができる(例えば、同じプロセスに基づいて、同じデータに基づいてなど)。第2の学習モジュールのセットは、好ましくは、上述と同様の訓練プロセスで訓練されるが、追加的または代替的に、任意の適切なプロセスで訓練することができる。
【0168】
例えば、訓練の第1の実施例では、例えば、第2の学習モジュールの各々が、訓練データからのアクションを利用して、アクションベースの制約をプログラム的に構築する。これらの制約を利用して、安全トンネル周辺の局所的環境表現を構築し、これがネットワークの入力として使用され、ここでDTNは経路について訓練データから訓練される。好ましくは第1の学習モジュールのセットとは異なる入出力セットで訓練されるが、第2の学習モジュールのセットの各々は、好ましくは、上記のように第1および第2の訓練フェーズで訓練される。具体例としては、例えば、損失関数の重みが、定義された安全トンネルに基づいて、特定のアクションとそのために最適化される必要があるものに考慮される。追加的または代替的に、第2の学習モジュールのセットは、他の方法で訓練することができる。
【0169】
追加的または代替的に、第2の学習モジュールは、他の方法で構成および/または訓練することができる。
【0170】
実施例の第1のセットにおいて、S224は、S214において複数の第2の学習モジュールのセットから選択された第2の学習モジュールでエージェントの経路を決定することを含み、ここで第2の学習モジュールは入力として局所化環境表現を受信し、この局所化環境表現は安全トンネルとともにアクション固有の制約に基づいて特定される。
【0171】
第2の実施例のセットにおいて、S224は、第2の学習モジュールからの中間出力を決定することを含み、この中間出力は、経路を決定するために使用される。
【0172】
追加的または代替的に、S224は、任意の他の適切なプロセスを含むことができ、および/または他の方法で実行することができる。
【0173】
4.7 方法-ビークル経路を検証するステップS260
方法200は、任意選択で、ビークル経路を検証するステップS260を含むことができ、これは、経路がエージェントにとって安全かつ効果的(例えば、目的地に到達することにおいて)であることを保証するよう機能する。
【0174】
S260は、好ましくは、S224に応答して(例えば、その後に、基づいて、など)実行されるが、追加的または代替的に、他の適切なプロセスに応答して、S224の一部として、および/またはS224と同時に、方法全体にわたって複数回、および/または方法200中の他の任意の時点で実行することができる。さらに追加的または代替的に、方法200は、S260なしで実行することができる。
【0175】
経路は、好ましくは、プログラムされた規則のセットに基づいて検証され、この規則は、静的および/または動的オブジェクトと発生するか発生し得る衝突のチェック(例えば、所定の閾値を超える尤度および/または確信度、10%を超える尤度および/または確信度、5%~100%の尤度および/または確信度、5%以下の尤度および/または確信度、10%~30%の尤度および/または確信度、30%~50%の尤度および/または確信度、50%~70%の間の尤度および/または確信度、70%~90%の尤度又は確信度、少なくとも90%の間の尤度など)、経路が道路の規則(例えば、交通法規、ベストプラクティス、道路インフラなど)に従っているかどうか、および/または他の適切なルールのチェック、の一部または全部を含み得る。生成された経路が1以上の規則(例えば、単一規則、全規則など)に違反することが判明した場合、および/または経路に関連する不確実性(例えば、経路の決定に関連する不確実性、入力データが分布外である確率など経路を決定するために用いられる入力に関連する不確実性、その両方など)が閾値を超える場合、(例えば、フォールバック動作プランナからの)バックアッププログラム経路が実装され得る、および/または任意の他の適切な予備を実装することが可能である。
【0176】
好ましい実施例では、例えば、ルールのセットは、生成された経路で発生するおよび/または発生する可能性のある静的または動的オブジェクトとの衝突をチェックする1以上のルールの第1のセットと、経路が交通規則に従っているかどうかをチェックする1以上のルールの第2のセットとを含む。
【0177】
追加的または代替的に、経路を検証するステップは、エージェントが経路を決定するのに用いられる安全トンネル内に留まるかどうかを確認することを任意に含むことができる。追加的または代替的に、経路を検証するステップは、任意の他の適切なルールを含むことができる。
【0178】
さらに追加的または代替的に、S260は任意の他の好適な処理を含むことができ、S260は1以上の学習済みプロセスを含むことができ、方法200はS260がなくても実行することができ、および/またはS260は他の好適な方法で実行することができる。
【0179】
生成された経路がこれらのルールの1以上を満たさない場合、方法200は、好ましくは、バックアッププログラムされた経路を実装すること、および/またはそうでなければフェイルセーフ機構(例えば、フォールバック経路プランナをトリガする、S224を繰り返す、車両を道路脇に寄せる、車両を停止するなど)を実装することを含む。追加的または代替的に、方法200は、任意の他の適切なプロセスをトリガすることを含むことができる。
【0180】
方法200は、任意選択で、検証されたビークル経路に従って車両を動作させることを含むことができる。追加的または代替的に、方法200は、S214において生成された経路に従って車両を動作させること、経路および/または検証された経路に基づいて制御コマンドのセットを決定すること、制御コマンドのセットに基づいて車両を動作させること、および/または任意の他の適切な処理を含むことができる。
【0181】
5.バリエーション
第1の実施例のセットにおいて、方法200は、エージェント状態および/または動的情報、静的オブジェクト情報、動的オブジェクト情報(例えば、過去の経路、予測される経路など)、センサ情報、および/または他の任意の適切な情報、の一部または全部を含む入力のセットを受信するステップと;車両のコンテキストを受信および/または特定するステップで合って、このコンテキストはエージェントの位置パラメータ(例えば、ポーズ)およびマップに基づいて決定されるステップと;コンテキストに基づいて、マッピング(例えば、1:1マッピング)で第1の学習モジュールを選択するステップと;第1の学習モジュールでビークルのアクションを決定するステップであって、第1の学習モジュールは入力として環境表現を受信し、この環境表現は入力のセットに基づいて決定されるステップと;アクションに基づいて、マッピング(例えば、1:1マッピング)で第2の学習モジュールを選択するステップと;第2の学習モジュールでビークル経路を決定するステップであって、第2の学習モジュールは入力として局所的環境表現を受信するステップと;ルールのセットに基づいて、および/または経路に関連する1以上の不確実性のセットに基づいてビークル経路を検証するステップと;ビークル経路が検証されない場合に(例えば、ルールのセットに基づいて、不確実性のセットに基づいて)、フォールバック機構および/またはフォールバック動作プランナをデフォルト設定するステップと;経路が検証された場合に、検証された経路に基づいてビークルを動作させるステップとを含む。追加的または代替的に、方法200は、1以上の潜在空間表現を決定するステップ、安全トンネルを決定(例えば、定義)するステップ、学習モジュールの一部または全部を訓練するステップ、および/または任意の適切な順序で行われる他のプロセスを含むことができる。
【0182】
一組の具体例において、方法200は、入力のセットを受信するステップであって、入力のセットは、マップ内のその位置および/または向き(例えば、ポーズ)に基づいて任意の所与の時間における自律エージェントのコンテキストを規定する高精細でラベリング(例えば、手動ラベリング、自動ラベリングなど)されたマップと、検出された動的オブジェクトおよび関連情報のセット(例えば、現在位置、サイズ、以前の経路、および将来の予測経路)、すべての静的オブジェクトのセットおよびそれらの現在の状態、目的地に到達するために必要な経路情報、現在の自車状態、および/または他の任意の適切な情報、を含むステップと;入力のセットに基づいて潜在空間表現を決定し、潜在空間表現に基づいて完全環境表現を決定するステップと;エージェントのコンテキストに基づいて第1の学習モジュールを選択するステップで合って、選択された第1の学習モジュールはコンテキストから第1の学習モジュールへの1:1マッピングに基づいて決定され、第1の学習モジュールは、逆強化学習アルゴリズムに基づいて訓練された深層Q学習ネットワークを含む、ステップと;第1の学習モジュールと完全環境表現とを用いてエージェントのアクションを選択するステップと;選択されたアクションに基づいて安全トンネルを定義するステップと;前記入力のセットと安全トンネルとを用いて潜在空間表現を決定し、この潜在空間表現に基づいて局所的環境表現を決定するステップと;アクションに基づいて第2の学習モジュールを選択するステップで合って、選択された第2の学習モジュールは(例えば、コンテキストに照らして)アクションと第2の学習モジュールとの1:1マッピングに基づいて決定され、第2の学習モジュールは、逆強化学習アルゴリズムで訓練された深層Q学習ネットワークを含むステップと;第2の学習モジュールおよび局所的環境表現を用いて自律エージェントの経路を生成ステップと;経路をルールのセットで検証するステップと;経路が検証された場合に、当該経路に基づいてビークルを動作させるステップとを含む。追加的または代替的に、方法200は、他のプロセスおよび/またはプロセスの組み合わせを含むことができる。
【0183】
第2の実施例のセットにおいて、方法200は、エージェント状態および/または動的情報、静的オブジェクト情報、動的オブジェクト情報(例えば、過去の経路、予測される経路など)、センサ情報、および/または他の任意の適切な情報、の一部または全部を含む入力のセットを受信するステップと;車両のコンテキストを受信および/または特定するステップで合って、このコンテキストはエージェントの位置パラメータ(例えば、ポーズ)およびマップに基づいて決定されるステップと;コンテキストに基づいて、マッピング(例えば、1:1マッピング)で第1の学習モジュールを選択するステップと;第1の学習モジュールでビークル経路を決定するステップであって、第2の学習モジュールは入力として環境表現を受信するステップと;ルールのセットに基づいてビークル経路を検証するステップと;ビークル経路が検証されない場合に(例えば、ルールのセットに基づいて、不確実性のセットに基づいて)、フォールバック機構および/またはフォールバック動作プランナをデフォルト設定するステップと;経路が検証された場合に、検証された経路に基づいてビークルを動作させるステップとを含む。追加的または代替的に、経路を生成するために、任意の数の学習モジュールを実装することができる。
【0184】
第3の実施例のセットにおいて、方法200は、エージェント状態および/または動的情報、静的オブジェクト情報、動的オブジェクト情報(例えば、過去の経路、予測される経路など)、センサ情報、および/または他の任意の適切な情報、の一部または全部を含む入力のセットを受信するステップと;車両のコンテキストを受信および/または特定するステップで合って、このコンテキストはエージェントの位置パラメータ(例えば、ポーズ)およびマップに基づいて決定されるステップと;コンテキストに基づいて、学習済みモデルおよび/またはアルゴリズムおよび/または決定木および/またはマッピングで第1の学習モジュールを選択するステップと;第1の学習モジュールでビークルのアクションを決定するステップであって、第1の学習モジュールは入力として環境表現を受信し、この環境表現は入力のセットに基づいて決定されるステップと;アクションに基づいて、学習済みモデルおよび/またはアルゴリズムおよび/または決定木および/またはマッピングで第2の学習モジュールを選択するステップと;第2の学習モジュールでビークル経路を決定するステップであって、第2の学習モジュールは入力として局所的環境表現を受信するステップと;ルールのセットに基づいてビークル経路を検証するステップと;ビークル経路が検証されない場合に(例えば、ルールのセットに基づいて、不確実性のセットに基づいて)、フォールバック機構および/またはフォールバック動作プランナをデフォルト設定するステップと;経路が検証された場合に、検証された経路に基づいてビークルを動作させるステップとを含む。追加的または代替的に、方法200は、1以上の潜在空間表現を決定するステップ、安全トンネルを決定するステップ、学習モジュールの一部または全部を訓練するステップ、および/または任意の適切な順序で行われる他のプロセスを含むことができる。
【0185】
追加的または代替的に、方法200は、任意の適切な順序で実行される任意の他の適切な工程を含むことができる。
【0186】
簡単のために省略したが、好ましい実施形態は、様々なシステム構成要素および様々な方法プロセスのすべての組み合わせおよび置換を含み、方法プロセスは、任意の適切な順序で、順次または同時に実行されてもよい。
【0187】
当業者は、上記の詳細な説明および図面および特許請求の範囲から認識するように、以下の特許請求の範囲で定義される本発明の範囲から逸脱することなく、本発明の好ましい実施形態に対して修正および変更を行うことができる。
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7
図8
図9
図10
図11
【国際調査報告】