(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-23
(54)【発明の名称】ツリー検索を使用する車両軌道制御
(51)【国際特許分類】
B60W 30/10 20060101AFI20240816BHJP
B60W 30/08 20120101ALI20240816BHJP
B60W 40/02 20060101ALI20240816BHJP
B60W 60/00 20200101ALI20240816BHJP
G08G 1/16 20060101ALN20240816BHJP
【FI】
B60W30/10
B60W30/08
B60W40/02
B60W60/00
G08G1/16 D
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024506596
(86)(22)【出願日】2022-08-04
(85)【翻訳文提出日】2024-04-02
(86)【国際出願番号】 US2022039423
(87)【国際公開番号】W WO2023014885
(87)【国際公開日】2023-02-09
(32)【優先日】2021-08-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ティモシー カルドウェル
(72)【発明者】
【氏名】ラスムス フォンセカ
(72)【発明者】
【氏名】アリアン ハウシュマンド
(72)【発明者】
【氏名】シエンアン ホアン
(72)【発明者】
【氏名】マリン コビラロフ
(72)【発明者】
【氏名】リーチャオ マー
(72)【発明者】
【氏名】チョンヒョン パク
(72)【発明者】
【氏名】チョン ポン
(72)【発明者】
【氏名】マシュー ヴァン フーケロム
【テーマコード(参考)】
3D241
5H181
【Fターム(参考)】
3D241BA11
3D241BA31
3D241DC01Z
3D241DC18Z
3D241DC20Z
3D241DC25Z
3D241DC31Z
3D241DC33Z
5H181AA01
5H181BB04
5H181BB20
5H181CC03
5H181CC04
5H181CC11
5H181CC14
5H181FF04
5H181FF13
5H181FF25
5H181FF27
5H181FF33
5H181FF35
5H181LL01
5H181LL04
5H181LL07
5H181LL08
5H181LL09
5H181LL15
(57)【要約】
自律車両の動きまたは他の行動を制御するための軌道生成は、候補アクションを交互に決定することと、その候補アクションに基づく将来の状態を予測することとを含み得る。この技術は、車両の現在または以前の状態から次の状態までの移行コストの推定値を含み得る候補アクションに関連付けられたコストを決定することを含み得る。このコスト推定値は下限コストまたは上限コストであり得、ツリー検索は、下限コストまたは上限コストを交互に排他的に、または比率もしくは変更する比率に従って適用し得る。将来の状態の予測は、反応性オブジェクトであること、または不活性オブジェクトであることとしての機会学習モデルの動的オブジェクトの分類に少なくとも部分的に基づき得、それは、動的オブジェクトが予測に対してどのようにモデル化されるかを変更し得る。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、
プロセッサ実行可能命令を記憶しているメモリとを備えるシステムであって、前記プロセッサ実行可能命令は、前記1つまたは複数のプロセッサによって実行されたときに、前記システムに、
環境における開始位置および終了位置に関連付けられているルートデータを受信することと、
センサからセンサデータを受信することと、
前記センサデータおよび前記ルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第1の候補アクションを決定することと、
前記第1の候補アクションに関連付けられている第1のコストを決定することであり、前記第1のコストは、下限コストに少なくとも部分的に基づいており、前記下限コストは、前記第1の候補アクションの始まりに関連付けられている時間における前記車両の第1の状態を変更するためのアクションの最小コストの推定値である、決定することと、
前記第1の候補アクションおよび前記センサデータに少なくとも部分的に基づいて、前記環境の第1の状態に関連付けられている第1の予測を決定することであり、前記第1の予測は、将来の時間の前記環境におけるオブジェクトの第1の状態を含む、決定することと、
前記第1の予測および前記ルートデータに少なくとも部分的に基づいて、前記車両の動きを制御するための第2の候補アクションを決定することと、
前記第2の候補アクションに関連付けられている第2のコストを決定することであって、前記第2のコストは、上限コストに少なくとも部分的に基づき、前記上限コストは、デフォルトアクションを実行するためのコストの推定値である、決定することと、
前記下限コストまたは前記上限コストのうちの一方を1つまたは複数の後続の候補アクションに交互に適用することと、
前記第1の候補アクションと、前記第2の候補アクションとを含む経路、
および、
前記第1の候補アクションと、前記第2の候補アクションとに関連付けられている第1の総コストを決定すること
に少なくとも部分的に基づいて、前記車両を制御することとを備えるオペレーションを実行させるシステム。
【請求項2】
前記オペレーションは、
機械学習モデルによって、およびセンサデータに少なくとも部分的に基づいて、前記オブジェクトが反応性オブジェクトであると決定することと、
前記オブジェクトが反応性オブジェクトであるという前記決定を使用して第1のシミュレーションを実行することに少なくとも部分的に基づいて、前記第1の予測を決定することとをさらに含み、
前記オブジェクトが反応性オブジェクトであるという前記決定を使用して前記第1のシミュレーションを実行することは、前記第1の候補アクションに少なくとも部分的に基づいて、前記オブジェクトの表現の動きを決定することを含む、請求項1に記載のシステム。
【請求項3】
前記オペレーションは、
機械学習モデルによって、および前記センサデータに少なくとも部分的に基づいて、前記オブジェクトが不活性オブジェクトであると決定することと、
前記不活性オブジェクトの動きをモデル化することに少なくとも部分的に基づいて、前記第1の予測を決定することとをさらに含み、
前記不活性オブジェクトの動きをモデル化することは、前記不活性オブジェクトの動きを、前記オブジェクトの状態に少なくとも部分的に基づいて、および前記第1の候補アクションを除外して決定することを含む、請求項1または2のいずれかに記載のシステム。
【請求項4】
前記オペレーションは、データ構造の同じ予測ノードに、前記第1の候補アクション、および前記第2の候補アクションを割り振ることであって、前記第1の予測および第2の予測は、
前記第1の予測に少なくとも部分的に基づいて候補アクションの第1のセットを、および前記第2の予測に少なくとも部分的に基づいて候補アクションの第2のセットを決定することと、
前記第1のセットに関連付けられているコストのうちからの第1の最小コストに関連付けられている前記第1のセットの中から第1のアクションを決定することと、
前記第1のセットに関連付けられているコストのうちからの第2の最小コストに関連付けられている前記第2のセットの中から第2のアクションを決定することと、
前記第1のアクションおよび前記第2のアクションが、しきい値距離未満である互いからの距離内にある位置に関連付けられていると決定することと、
に少なくとも部分的に基づいて、前記第1の予測と同じ予測レイヤに関連付けられている、割り振ることをさらに含む、請求項1乃至3のいずれか1項に記載のシステム。
【請求項5】
前記オペレーションは、
前記センサデータに少なくとも部分的に基づいて、前記オブジェクトが前記第1の候補アクションまたは前記第2の候補アクションのうちの1つまたは複数に応答して行動を修正する可能性を決定することと、
前記可能性がしきい値を満たしているか、もしくは超えていることに少なくとも部分的に基づいて、前記オブジェクトを反応性のエージェントとして分類することを決定すること、または、
前記可能性が前記しきい値以下であることに少なくとも部分的に基づいて、前記オブジェクトを不活性のエージェントとして分類することを決定することのうちの一方とをさらに含む、請求項1乃至4のいずれか1項に記載のシステム。
【請求項6】
前記下限コストはゼロであり、前記上限コストは前記第2の候補アクション、または、デフォルト軌道に関連付けられているコストのうちの少なくとも一方に、少なくとも部分的に基づいて決定される、請求項1乃至5のいずれか1項に記載のシステム。
【請求項7】
前記経路に少なくとも部分的に基づいて前記車両を制御することは、前記第1の総コストが、しきい値未満である、または前記第1の候補アクションもしくは前記第2の候補アクションのうちの少なくとも一方と異なる少なくとも1つの候補アクションを含む第2の経路に関連付けられている第2の総コスト未満であると決定することに少なくとも部分的にさらに基づく、請求項1乃至6のいずれか1項に記載のシステム。
【請求項8】
プロセッサ実行可能命令を記憶している非一時的コンピュータ可読媒体であって、プロセッサ実行可能命令は、1つまたは複数のプロセッサによって実行されたときに、1つまたは複数のプロセッサに、
環境における開始位置および終了位置に関連付けられているルートデータを受信することと、
センサからセンサデータを受信することと、
前記センサデータおよび前記ルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第1の候補アクションを決定することと、
前記第1の候補アクションに関連付けられている第1のコストを決定することであり、前記第1のコストは、下限コストまたは上限コストに少なくとも部分的に基づいている、決定することと、
前記第1の候補アクションおよび前記センサデータに少なくとも部分的に基づいて、前記環境の第1の状態に関連付けられている第1の予測を決定することであり、前記第1の予測は、将来の時間の前記環境におけるオブジェクトの第1の状態を含む、決定することと、
前記第1の予測および前記ルートデータに少なくとも部分的に基づいて、前記車両の動きを制御するための第2の候補アクションを決定することと、
前記第2の候補アクションに関連付けられている第2のコストを決定することであって、前記第2のコストは、前記下限コストまたは前記上限コストに少なくとも部分的に基づく、決定することと、
前記下限コストまたは前記上限コストのうちの一方を1つまたは複数の後続の候補アクションに交互に適用することと、
前記第1の候補アクションと、前記第2の候補アクションとを含む経路、および、
前記第1の候補アクションと、前記第2の候補アクションとに関連付けられている第1の総コストを決定することに少なくとも部分的に基づいて、
前記車両を制御することとを含むオペレーションを実行させる非一時的コンピュータ可読媒体。
【請求項9】
前記オペレーションは、
機械学習モデルによって、および前記センサデータに少なくとも部分的に基づいて、前記オブジェクトが反応性オブジェクトであると決定することと、
前記オブジェクトが反応性オブジェクトであるという前記決定を使用して第1のシミュレーションを実行することに少なくとも部分的に基づいて、前記第1の予測を決定することとをさらに含み、
前記オブジェクトが反応性オブジェクトであるという前記決定を使用して前記第1のシミュレーションを実行することは、前記第1の候補アクションに少なくとも部分的に基づいて、前記オブジェクトの表現の動きを決定することを含む、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記オペレーションは、
機械学習モデルによって、および前記センサデータに少なくとも部分的に基づいて、前記オブジェクトが不活性オブジェクトであると決定することと、
前記不活性オブジェクトの動きをモデル化することに少なくとも部分的に基づいて、前記第1の予測を決定することとをさらに含み、
前記不活性オブジェクトの動きをモデル化することは、前記不活性オブジェクトの動きを、前記オブジェクトの状態に少なくとも部分的に基づいて、および前記第1の候補アクションを除外して決定することを含む、請求項8または9のいずれかに記載の非一時的コンピュータ可読媒体。
【請求項11】
前記オペレーションは、データ構造の同じ予測ノードに、前記第1の候補アクション、および前記第2の候補アクションを割り振ることであって、前記第1の予測および第2の予測は、
前記第1の予測に少なくとも部分的に基づいて候補アクションの第1のセットを、および前記第2の予測に少なくとも部分的に基づいて候補アクションの第2のセットを決定することと、
前記第1のセットに関連付けられているコストのうちからの第1の最小コストに関連付けられている前記第1のセットの中から第1のアクションを決定することと、
前記第1のセットに関連付けられているコストのうちからの第2の最小コストに関連付けられている前記第2のセットの中から第2のアクションを決定することと、
前記第1のアクションおよび前記第2のアクションが、しきい値距離未満である互いからの距離内にある位置に関連付けられていると決定することと、
に少なくとも部分的に基づいて、前記第1の予測と同じ予測レイヤに関連付けられている、割り振ることをさらに含む、請求項8乃至10のいずれか1項に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記オペレーションは、
前記センサデータに少なくとも部分的に基づいて、前記オブジェクトが前記第1の候補アクションまたは前記第2の候補アクションのうちの1つまたは複数に応答して行動を修正する可能性を決定することと、
前記可能性がしきい値を満たしているか、もしくは超えていることに少なくとも部分的に基づいて、前記オブジェクトを反応性のエージェントとして分類することを決定すること、または、
前記可能性が前記しきい値以下であることに少なくとも部分的に基づいて、前記オブジェクトを不活性のエージェントとして分類することを決定することのうちの一方とをさらに含む、請求項8乃至11のいずれか1項に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記下限コストは、前記第1の候補アクションの始まりに関連付けられている時間における前記車両の第1の状態を変更するためのアクションの最小コストの推定値であり、
前記上限コストは、前記第2の候補アクション、または、デフォルト軌道に関連付けられているコストのうちの少なくとも一方に少なくとも部分的に基づいて決定される、請求項8乃至12のいずれか1項に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記経路に少なくとも部分的に基づいて前記車両を制御することは、前記第1の総コストが、しきい値未満である、または前記第1の候補アクションもしくは前記第2の候補アクションのうちの少なくとも一方とは異なる少なくとも1つの候補アクションを含む第2の経路に関連付けられている第2の総コスト未満であると決定することに少なくとも部分的にさらに基づく、請求項8乃至13のいずれか1項に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記下限コストはゼロであり、前記上限コストは、前記第2の候補アクション、または、デフォルト軌道に関連付けられているコストのうちの少なくとも一方に少なくとも部分的に基づいて決定される、請求項8乃至14のいずれか1項に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ツリー検索を使用する車両軌道制御に関連する。
【背景技術】
【0002】
自律車両は、道路標識がわかりにくくなっている(たとえば、雪、ごみ、砂によって)、劣化している(たとえば、切れたライト、すり切れている車線区分線)、ならびに/または無効になっている(たとえば、障害物が車線を部分的に塞いでいる、交通標識および/もしくはトラフィックコーンが、元の車線区分線と相いれない代替車線を示している)場合など、基準となる動作条件が変更されている場合には、正確におよび/または効率的に走行することができない場合がある。その上、さまざまな環境要因ならびに人間および動物の行動は、不規則または予測不可能である場合があり、これは、自律車両走行をさらに困難にする場合がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願第16/889,747号明細書
【特許文献2】米国特許出願第16/581,632号明細書
【特許文献3】米国特許出願第16/682,971号明細書
【特許文献4】米国特許出願第16/703,625号明細書
【特許文献5】米国特許出願第15/963,833号明細書
【特許文献6】米国特許出願第16/407,139号明細書
【特許文献7】米国特許出願第17/184,559号明細書
【特許文献8】米国特許出願第17/006,679号明細書
【特許文献9】米国特許出願第16/872,284号明細書
【図面の簡単な説明】
【0004】
詳細な説明が、添付の図を参照しながら説明されている。図においては、参照番号の最も左の数字は、その参照番号が最初に現れる図を識別する。別々の図における同じ参照番号は、同様のまたは同じアイテムを示す。
【0005】
【
図1】自律車両と、車線基準(以前にマッピングされているかまたは検出されているかにかかわらず)が、車両の動きを制御するための命令を決定する上で信頼できない場合がある例示的なシナリオとを示す図である。
【
図2】構造化されていない経路のプランニングのための案内システムを含む例示的な自律車両アーキテクチャのブロック図である。
【
図3A】エージェントフィルタ、および/または、センサデータから生成され得る推定されたコストを交互に用いるツリー検索を使用して自律車両を制御するための経路を生成するための例示的なプロセスの図解流れ図であり、静的オブジェクトを示す占有マップ、ならびに/または動的オブジェクトの予測された位置および/もしくは速度の確率のマップを含み得る。
【
図3B】エージェントフィルタ、および/または、センサデータから生成され得る推定されたコストを交互に用いるツリー検索を使用して自律車両を制御するための経路を生成するための例示的なプロセスの図解流れ図であり、静的オブジェクトを示す占有マップ、ならびに/または動的オブジェクトの予測された位置および/もしくは速度の確率のマップを含み得る。
【
図3C】エージェントフィルタ、および/または、センサデータから生成され得る推定されたコストを交互に用いるツリー検索を使用して自律車両を制御するための経路を生成するための例示的なプロセスの図解流れ図であり、静的オブジェクトを示す占有マップ、ならびに/または動的オブジェクトの予測された位置および/もしくは速度の確率のマップを含み得る。
【
図4】本明細書において論じられているツリー検索の分岐に関して、その分岐に関連付けられている環境におけるさまざまな時間ステップ/位置ごとに生成されたさまざまな候補軌道のセットの3次元の表現を示す図である。
【
図5A】ツリー検索の同じレベルのさまざまなアクションノードに関してツリー検索によって生成され得るさまざまな候補アクションのトップダウン図である。
【
図5B】ツリー検索の同じレベルのさまざまなアクションノードに関してツリー検索によって生成され得るさまざまな候補アクションのトップダウン図である。
【
図6A】
図5Aにおいて示されている候補アクションに少なくとも部分的に基づいて決定され得る単一の予測ノードまたは2つの異なる予測ノードに関連付けられている2つの異なる予測環境状態のトップダウン図である。
【
図6B】
図5Aにおいて示されている候補アクションに少なくとも部分的に基づいて決定され得る単一の予測ノードまたは2つの異なる予測ノードに関連付けられている2つの異なる予測環境状態のトップダウン図である。
【
図7A】
図6Aにおいて示されており、第1の予測ノードに関連付けられている状態に基づいて生成された2つの異なる候補アクションのトップダウン図である。
図7Aはまた、次のレベルの予測ノードを生成する際における予測および/またはシミュレーションコンポーネントによる使用のために動的オブジェクトの分類を反応性オブジェクトから不活性オブジェクトへ変更するエージェントフィルタリングの結果を示している。
【
図7B】
図6Aにおいて示されており、第1の予測ノードに関連付けられている状態に基づいて生成された2つの異なる候補アクションのトップダウン図である。
図7Bはまた、次のレベルの予測ノードを生成する際における予測および/またはシミュレーションコンポーネントによる使用のために動的オブジェクトの分類を反応性オブジェクトから不活性オブジェクトへ変更するエージェントフィルタリングの結果を示している。
【
図8A】ツリー検索のためのアクションを確率的に生成するために使用される曲線道路、車線基準、およびオフセット基準のトップダウン図である。
【
図8B】適切な経路を見つけ出すために十分なパラメータ空間がサンプリングされることを確実にするために使用され得るツリー検索のためのアクションを決定するためのサンプリング技術を示すグラフである。
【発明を実施するための形態】
【0006】
上で論じられているように、異常な行動の発生および道路条件における変化に起因して、自律車両をすべての不測の事態に備えさせることは困難である場合がある。これらの状況は、自律車両がつっかえつっかえ進むこともしくは躊躇すること、人間の運転手がその状況をナビゲートすることが可能であろう場合に完全に停止すること、および/またはリモートオペレータ(もしくは「遠隔操作者」)からの助けを求める要求を伝送する必要性をもたらす場合がある。本出願は、自律車両が安全にかつ効果的に、たとえば、停止することなく、つっかえつっかえ進むことなく、遠隔操作者からの助けを要求する必要性を伴わずに、および/または特に、異常な状況に関して、そしてまた基準となる運転条件に関しても衝突が発生する可能性を減らすことによって走行することが可能であるシナリオの数を増やすための技術に関する。たとえば、本明細書において論じられている技術は、車線の中央へと突きはねられたトラフィックコーン、車両などのオブジェクトが2つの車線の一部を塞いでいる場合、街路に置いているがらくた、多数の車両および歩行者を伴う複雑な交差点、車線区分線のない砂利エリアにおける走行等など、基準となる状況に関して自律車両が停止するかまたはつっかえつっかえ進むことの発生を減らし得る。
【0007】
本明細書において論じられている技術は、候補アクションを交互に決定して、その候補アクションに応答して、自律車両に関連付けられている環境の将来の状態を予測するツリー検索技術に少なくとも部分的に基づいて自律車両を制御するための経路を生成する自律車両案内システムを含み得る。いくつかの例においては、ツリー検索技術は、自律車両に関連付けられている環境における静的オブジェクトおよび動的オブジェクトを検出することと、機械学習(ML)モデルを介して、動的オブジェクトを反応性オブジェクトまたは不活性オブジェクトとして分類することとを含み得る。反応性オブジェクトは、自律車両のアクションに応答してその動きを変更する可能性が(MLモデルによる信頼性出力によって測定された際には)高い場合があり、その一方で不活性オブジェクトの動きは、自律車両の動きに基づいて変化する可能性が低い場合がある。
【0008】
MLモデルは、自律車両に関連付けられているトラックもしくは少なくともポーズ(たとえば、位置および/もしくは向き)、動的オブジェクトに関連付けられているトラック、および/または動的オブジェクトに関連付けられているセンサデータを受信し得、動的オブジェクトのアクションが自律車両のアクションに応答する/そのアクションによって影響されるであろう可能性を示す信頼性スコアを出力するようにトレーニングされ得る。トラックは、検出されたオブジェクトの過去の、現在の、および/または予測された体勢、速度、加速度、オブジェクト分類(これは、不変である場合があり、またはそうでない場合がある、たとえば、「車両」という分類は、不変である可能性が高く、その一方で「サイクリスト」は、変わる場合がある。なぜならサイクリストは、降りて歩行者になる場合があるからである)などを識別し得る。いくつかの例においては、MLモデルによって決定された信頼性スコアが信頼性しきい値を満たしているかまたは超えている場合には、検出されたオブジェクトは、反応性オブジェクトとして分類され得、そうでない場合には、検出されたオブジェクトは、不活性オブジェクトとして分類され得る。いくつかの例においては、検出されたオブジェクトを動的オブジェクトとして分類することは、検出されたオブジェクトに関連付けられているトラックを決定するMLモデルなど、異なるMLモデルによって取り扱われ得る。それにもかかわらず、より単純には、動的オブジェクトは、移動しているもの、移動したもの、および/または、移動可能なオブジェクトに関連付けられたオブジェクト分類に関連付けられているものとして検出されるオブジェクトであり得る。いくつかの例においては、別のMLモデルが、静的オブジェクトマップ(たとえば、静的オブジェクトによって占有されているスペースおよび/もしくは環境における「空きスペース」を示すマップ)、ならびに/または1つもしくは複数の動的オブジェクトマップ(たとえば、環境における位置が、移動しているオブジェクトもしくは将来の時点で移動し得る静止オブジェクトによって占有されるであろう可能性を示すマップ)を決定し得る。これらのマップは、車両案内システムによって実行されるツリー検索のコスト決定部のために使用され得る。
【0009】
本明細書において論じられているツリー検索は、候補アクション、および将来の時間ステップにおけるその候補アクションに関連付けられている(たとえば、少なくとも部分的に応答する)環境の予測された状態、環境のその予測された状態に基づく別の候補アクション、さらなる将来の時間ステップにおけるその追加の候補アクションに関連付けられている環境の第2の予測された状態などを、計画対象期間または指定されたアクション数まで、交互に決定し得る。候補アクションは、たとえば、車両の動きを制御するための軌道、車両のエミッタ(たとえば、ウインカー、ヘッドライト、スピーカー)をアクティブ化することなどを示し得る。候補アクションのそれぞれは、別々のアクションノードに関連付けられ得、予測環境状態のそれぞれは、ツリーの予測ノードに関連付けられ得る。初期オペレーションとして、ツリー検索は、動的オブジェクトおよび/または静的オブジェクトを含み得る、自律車両に関連付けられている環境の現在の状態を、センサデータに少なくとも部分的に基づいて決定し得る。この初期状態は、ルートノードに関連付けられ得る。ルートノードは、少なくとも1つの例においては、予測ノードであり得る。ルートノードおよび/またはその他の予測ノードのうちのいずれかは、予測ノードによって示される環境の状態の一部として、動的オブジェクトを反応性オブジェクトまたは不活性オブジェクトとして識別し得る。環境の状態は、いくつかの例においては、ルートノード/予測ノードに関連付けられているデータ構造によって示され得る。
【0010】
この初期状態を使用して、ツリー検索は、探索のための1つまたは複数の候補アクションを決定し得る。候補アクションは、「同じ車線に留まる」、「左への車線変更」、「右折を実行する」、「停止する」等などの粗い操作、ならびに/または、車両コントローラが追跡する位置、ステアリング角度、ステアリング速度、速度、および/もしくは加速度を定義するおよび/もしくはそれらに関連付けられている曲線などの細かい指示を含み得る。いくつかの例においては、探索のための1つまたは複数の候補アクションを決定することは、初期環境状態(または初期ノードよりも深い予測ノードにおいて探索されている分岐の特定の予測ノードによって示されている状態)を車両のプランニングコンポーネントへ伝送することと、プランニングコンポーネントから候補アクションのセットを受信することとを含み得る。プランニングコンポーネントは、異常なまたは緊急の状況中に車両を制御する偶発的プランニングコンポーネントとは対照的に、車両の動きおよび/または動作を制御するための軌道を生成する車両の公称プランニングコンポーネント(nominal planning component)であり得るが、偶発的プランニングコンポーネント(contingent planning component)は、追加として、または代替として、ツリー検索による使用のための候補アクションを提供生成し得ると考えられる。ツリー検索コンポーネントが、プランニングコンポーネントから受信されたセットの1つまたは複数の候補アクションをアクションノードに関連付け得る。
【0011】
いくつかの例においては、候補アクションのそれぞれは、それ自体のアクションノードに関連付けられ得る。たとえば、候補アクションが、その候補アクションが基づいた状態を示すルートノードに従属しているアクションノードに関連付けられ得る。一例においては、候補アクションのそれぞれは、個々のアクションノードに関連付けられ得るが、追加のまたは代替の例においては、機械学習(ML)モデルが、候補アクション同士をクラスタ化し、クラスタの2つ以上の候補アクションを表すための代表の候補アクションを決定し得る。そのような例においては、同じクラスタの別々の候補アクションに関連付けられているノードが、単一のアクションノードへと合併され得る。アクションノードは、いくつかの例においては、代表の候補アクションを識別し得、またはその他の例においては、アクションノードは、代表と、それに関連付けられている2つ以上の候補アクションとを示し得る。アクションノードが合併されている例においては、アクションノードによって表される2つ以上の候補アクションの中から、最も低いコストの候補アクションが、その後の探索および/または経路に含めることのために選択され得る。
【0012】
ツリー検索は、候補アクションと、その候補アクションが基づいた状態(すなわち、この例においては初期状態)とを車両の知覚コンポーネントのシミュレーションおよび/または予測システムへ伝送し得る。シミュレーションシステムは、オブジェクトに関する推定された将来の軌道を生成するための予測コンポーネントの一部であり得る。シミュレーションシステムは、候補アクションに少なくとも部分的に基づいて、環境の予測された状態を決定し得る。これは、候補アクションに少なくとも部分的に基づいて不活性のおよび/または反応性の動的オブジェクトがどのように行動するであろうかを予測することを含み得る。シミュレーションシステムによって生成された予測は、将来の時点に関連付けられ得、候補アクションに関連付けられているアクションノードに従属して、候補アクションを実装することから生じ得る環境の予測された状態を示す予測ノードを生成するために使用され得る。
【0013】
ツリー検索は、追加として、または代替として、候補アクションに関連付けられているコストを決定し得る。このコストは、候補アクションが自律車両に静的オブジェクトおよび/または動的オブジェクトのどれぐらい近くを通過させるであろうかの予測、走行不可能な路面に対する自律車両の近接、候補アクションに関連付けられている速度、加速度、および/またはジャーク、短期目標コスト(たとえば、ルートに沿った変位/進度、駐車、遠隔操作デバイスによって示されるソフト目標、すなわち、自律車両が満たすことを必要とされないが、自律車両が特定の様式で動作する可能性を高めるためにコスト決定に含まれる目標を達成すること)などに少なくとも部分的に基づき得る。少なくとも1つの例においては、アクションノードごとにコストが決定され得、アクションノードに関連して、そのアクションノードを含むデータ構造の分岐を構成するノードの合計を含む総コストが決定され得る(たとえば、アクションノードのコスト、およびルートノードまで遡って、アクションノードが従属するすべての親ノードのコスト)。
【0014】
少なくとも1つの例においては、コストを決定することは、コストツーゴーにさらに基づき得、そのコストツーゴーは、自律車両を特定の様式(たとえば、ステアリング速度、ステアリング角度、速度、加速度)で、および/または特定の位置へ移動させるためのコストがどれぐらいであろうかの予測であり得る。たとえば、コストツーゴーは、コストツーゴーのより正確な予測を決定するためのシミュレーションを実行することを必要としない推定値であり得、それによって、探索され得る候補アクションの数を増やし、および/またはツリー検索によって消費される計算リソースを低減する。いくつかの例においては、本明細書において論じられている技術は、コストツーゴーの下方推定値(lower estimate)を使用することと、コストツーゴーの上方推定値(upper estimate)を使用することとを交互に行うこと、および/または比率に従って交互に行うことを含み得る。たとえば、第1のレイヤの第1のアクションノードが、下方推定値を使用し得、第1のレイヤよりも深い第2のレイヤの第2のアクションノードが、上方推定値を使用し得る。比率は、いくつのレイヤが下方推定値を使用するか、からいくつのレイヤが上方推定値を使用するか、たとえば、2つのレイヤに関して上方推定値を使用することへ切り替える前に2つのレイヤが下方推定値を使用すること、1つのレイヤに関して上方推定値を使用することへ切り替える前に2つのレイヤが下方推定値を使用することなどを設定し得る。少なくとも1つの例においては、下方推定値は、ゼロであり得、上方推定値は、車両のステアリング角度および/または速度を保持すること、指定された速度で直進することなどのデフォルトアクションに関連付けられているコストであり得る。いくつかの例においては、デフォルトアクションは、車両のトラック、知覚データなどに少なくとも部分的に基づいて決定され得る。
【0015】
その技術は、追加として、または代替として、環境の最新の予測された状態に少なくとも部分的に基づいて動的オブジェクトのステータスを反応性オブジェクトから不活性オブジェクトへ、またはその逆へ変更することを含み得る。たとえば、予測された状態に関連付けられているオブジェクトの予測されたトラック、および/または次のレイヤの候補アクションが、本明細書において論じられているエージェントフィルタの機械学習モデルへの入力として提供され得、機械学習モデルは、動的オブジェクトを、反応性オブジェクトまたは不活性オブジェクトであるものとして分類し得、それは、そのオブジェクトが以前にどのように分類されたかとは異なり得る。言い換えれば、動的オブジェクトの予測されたアクションは、動的オブジェクトが自律車両、および/または自律車両に関連付けられているさらなる候補アクションから十分に遠く離れるようにさせ得、それによって動的オブジェクトは、その行動を自律車両のアクションに基づいて変更する可能性が低い。逆に、それまではあまりにも遠く離れていた、特定の方向に向けられていた、自律車両とのインタラクションを妨げていた環境条件(たとえば、動的オブジェクトの停止時における方向転換ではなく、赤信号)などを経験していた動的オブジェクトは、その動的オブジェクトが自律車両によるアクションによって影響されることを妨げていた場合があるが、現在または将来においては影響される可能性が高い場合がある。第1の例においては、動的オブジェクトの分類を決定することは、データ構造のルートノードを決定することと併せて実行され得、この分類は、データ構造のレイヤのそれぞれの全体を通じて持続し得る。しかしながら、別の例においては、分類は、予測ノードのレイヤのそれぞれで、および/またはn個のレイヤごとに更新され得、その場合、nは正の整数である。
【0016】
本明細書において論じられている技術は、より正確なコストを決定するためのシミュレーションを使用する代わりにコスト推定を交互に行うことによってエージェントフィルタリング(たとえば、動的オブジェクトを不活性オブジェクトもしくは反応性オブジェクトとして示すこと)を行うことによって、および/またはシミュレーションなど、コスト決定のためのより集中的な技術の代わりに、上方推定コスト(upper estimated cost)を推定するためのデフォルトの制御命令を使用することによってなど、自律車両を制御するための経路を決定するための計算負荷を低減し得る。その技術は、探索され得る候補アクションの数と、したがって、自律車両をどのように制御するかの決定を下す際に探索され得る経路の数とを増やし得、その場合、経路は、連続したシリーズを形成する一連の候補アクションであり得る。探索される候補アクションおよび/または経路の数を増やすことは、自律車両が制御されることが可能である粒度を高め得、自律車両が成功裏にならびに安全に走行することが可能であるシナリオの数を増やし得る。
【0017】
例示的なシナリオ
図1は、車両102を含む例示的なシナリオ100を示している。いくつかの例においては、例示的なシナリオ100は、現実世界のシナリオであり得、および/または例示的なシナリオ100は、シミュレートされたシナリオとしてモデル化された現実世界のシナリオの表現であり得る。例示的なシナリオ100が、シミュレートされたシナリオである例においては、例示的なシナリオ100は、コンピューティングデバイスのユーザインターフェースで受け取られた入力に少なくとも部分的に基づいて決定され得(たとえば、コンピューティングデバイスのユーザは、環境、その中のオブジェクト、および/もしくはその特性を定義し得)、ならびに/または例示的なシナリオ100は、1つもしくは複数の自律車両から受信されたログデータに少なくとも部分的に基づき得る。ログデータは、自律車両で受信されたセンサデータ、知覚コンポーネントによって生成された知覚データ、および/またはプランニングコンポーネントによって生成された命令に少なくとも部分的に基づき得る。いくつかの例においては、自律車両は、ログデータを記憶し、および/またはログデータをリモートコンピューティングデバイスへ周期的に伝送し得る。
【0018】
いくつかの場合においては、車両102は、米国幹線道路交通安全局によって発行されているレベル5分類に従って動作するように構成されている自律車両であり得、レベル5分類は、移動全体にわたってすべてのセーフティクリティカルな機能を、運転手(または乗員)が車両を制御することをいかなる時点においても予期されていない状態で実行することが可能な車両について説明している。しかしながら、その他の例においては、車両102は、任意のその他のレベルまたは分類を有する完全にまたは部分的に自律型の車両であり得る。本明細書において論じられている技術は、自律車両用になど、ロボット制御を超えるものに当てはまり得ると考えられる。たとえば、本明細書において論じられている技術は、採掘、製造、拡張現実などに適用され得る。その上、車両102は、陸上車両として示されているが、車両102は、宇宙船、船舶などであり得る。いくつかの例においては、車両102は、シミュレートされた車両としてシミュレーションにおいて表され得る。簡単にするために、本明細書における論考は、シミュレートされた車両と、現実世界の車両との間を区別しない。そのため、「車両」への言及は、シミュレートされたおよび/または現実世界の車両に言及する場合がある。
【0019】
本明細書において論じられている技術、およびシナリオ100が現実世界の例である例によれば、車両102は、車両102のセンサ104からセンサデータを受信し得る。たとえば、センサ104は、位置センサ(たとえば、全地球測位システム(GPS)センサ)、慣性センサ(たとえば、加速度計センサ、ジャイロスコープセンサなど)、磁場センサ(たとえば、コンパス)、位置/速度/加速度センサ(たとえば、スピードメータ、駆動システムセンサ)、深度位置センサ(たとえば、LIDARセンサ、RADARセンサ、ソナーセンサ、タイムオブフライト(ToF)カメラ、深度カメラ、および/もしくはその他の深度感知センサ)、画像センサ(たとえば、カメラ)、オーディオセンサ(たとえば、マイクロフォン)、ならびに/または環境センサ(たとえば、バロメータ、湿度計など)を含み得る。いくつかの例においては、シミュレートされたセンサが、車両102上のセンサ104のうちの少なくとも1つと対応し得、シミュレーションにおいては、センサ104のうちの1つまたは複数がシミュレートされ得る。いくつかの例においては、シミュレートされたセンサの位置は、車両102に対するセンサ104のうちの1つの相対位置と対応し得る。
【0020】
センサ104は、センサデータを生成し得、そのセンサデータは、車両102に関連付けられているコンピューティングデバイス106によって受信され得る。しかしながら、その他の例においては、センサ104および/またはコンピューティングデバイス106のうちのいくつかまたはすべては、車両102とは別個であり得、および/または車両102から遠隔に配置され得、データの取り込み、処理、コマンド、および/または制御は、有線および/または無線ネットワークを介して1つまたは複数のリモートコンピューティングデバイスによって車両102へ/から通信され得る。
【0021】
コンピューティングデバイス106は、知覚コンポーネント110、プランニングコンポーネント112、案内システム114、および/またはコントローラ116を記憶するメモリ108を含み得る。いくつかの例においては、プランニングコンポーネント112は、案内システム114を含み得る。知覚コンポーネント110、プランニングコンポーネント112、案内システム114、および/またはコントローラ116は、1つまたは複数の機械学習(ML)モデルおよび/またはその他のコンピュータ実行可能命令を含み得る。一般には、知覚コンポーネント110は、車両102を取り巻く環境に何があるかを決定し得、プランニングコンポーネント112は、知覚コンポーネント110から受信された情報に従って車両102をどのように操作するかを決定し得る。たとえば、プランニングコンポーネント112は、知覚データおよび/またはその他の情報、たとえば、1つもしくは複数のマップ、位置特定情報(たとえば、車両102が、マップおよび/もしくは、知覚コンポーネント110によって検出された特徴に対して環境内のどこにいるか)、ならびに/または案内システム114によって生成された経路などに少なくとも部分的に基づいて軌道118を決定し得る。軌道118は、案内システム114によって決定される候補アクションのうちの1つであり得る。
【0022】
軌道118は、自律車両102のコントローラ116が車両102の駆動コンポーネントを作動させて、案内システムによって生成された経路をたどる車両位置、車両速度、および/または車両加速度をもたらし得るステアリング角度および/またはステアリング速度を達成するための命令を含み得る。たとえば、軌道118は、コントローラが経路の一部としてたどるための目標方向、目標ステアリング角度、目標ステアリング速度、目標位置、目標速度、および/または目標加速度を含み得る。たとえば、本明細書において論じられている技術に従って案内システム114によって生成される粗い経路は、500ミリ秒のタイムインターバルで車両の位置、方向、速度、および/または入口/出口曲率を示し得、案内システム114によって出力される平滑な経路は、10または100ミリ秒のインターバルでそのようなポイントを含み得、それは、軌道118に関連付けられているタイムインターバルに対応し得る。いくつかの例においては、コントローラは、軌道118(および/または一例においては多数の軌道を含み得る経路)をたどるのに十分な車両102の駆動コンポーネントを作動させるためのソフトウェアおよび/またはハードウェアを含み得る。
【0023】
例示的なシナリオ100においては、自律車両102は、開始位置122と、終了位置124と、開始位置122と終了位置124との間における曲線とを定義するルート120を受信および/または決定している(曲線は、直線および/または1つもしくは複数の曲線を含むということに留意されたい)。たとえば、プランニングコンポーネント112は、センサデータと、(たとえば、搭乗者からの、指令センターからの)ミッションの一部として受信された終了位置とに少なくとも部分的に基づいてルート120を決定している場合がある。本明細書において使用される際には、「位置」への言及は、位置および/または体勢(たとえば、車両の位置および/または向き/方向)の両方を含み得る。いくつかの例においては、ルートは、終了位置124を含まない場合があり、追加として、または代替として、目標車線、目標相対位置(たとえば、道路端から10フィート)、目標オブジェクト(たとえば、車両についていく、搭乗者についていく、車両を呼んでいる個人に向かって移動する)等のような目標位置を含み得る。
【0024】
車両が、終了位置124に到達するように動作する際に、自律車両102は、経路を生成するために車線基準(たとえば、マップに少なくとも部分的に基づいて決定される、および/または自律車両102を位置特定する相対的スペース指定(relative spatial designation))に依存しているプランナ(planner)が経路を正確におよび/または効率的に生成し得ない例示的なシナリオ100のようなシナリオに遭遇し得る。たとえば、さまざまなオブジェクト(たとえば、妨害している車両126、ツールボックス128、および倒れたトラフィックコーン130)が、示されている道路の3つの車線すべてを累積的に塞いでおり、これは、別のプランナに車両を停止させ得、および/または遠隔操作を呼び出させ得る。なぜなら、どの1つの車線も、自律車両のための十分な余地を有していないからである。
【0025】
しかしながら、本明細書において論じられている案内システム114は、センサ104によって取り込まれたセンサデータから生成された環境データ134に少なくとも部分的に基づいて経路132を生成し得る。たとえば、知覚コンポーネント110は、環境データ134のすべてまたは一部を生成し得、環境データ134は、静的データおよび/または動的データを含み得る。たとえば、静的データは、オブジェクトが環境における位置に存在する可能性を示し得、動的データは、オブジェクトが環境における位置を占有する、または占有するであろう可能性を示し得る。いくつかの場合においては、動的データは、予測範囲(すなわち、動的データが予測される最大時間/距離)までインターバルを置いて別々の時間ステップに関連付けられている多数のフレームを含み得る。いくつかの例においては、案内システム114は、常に稼働し得、すなわち、案内システムは、公称プランニングコンポーネントであり得、または代替の例においては、案内システム114は、偶発的プランニングコンポーネント、もしくは特別な状況(たとえば、公称プランニングコンポーネントが、有効な経路を見つけ出すことが可能ではない場合)のためのプランニングコンポーネントであり得る。
【0026】
本明細書において論じられている技術は、追加として、または代替として、車両の動作のモードに少なくとも部分的に基づいて動的データを決定することを含み得る。たとえば、動的データは、第1の車両モードと第1の時間とに関連付けられている第1の予測、および第2の車両モードと第1の時間とに関連付けられている第2の予測を含み得る。車両モードは、搭乗者の出迎え、搭乗者の輸送、搭乗者の降車等のようなミッションレベルのモード、軌道を保持すること、停止まで減速すること、車線を移行すること、右折を実行すること等のような経路もしくは軌道レベルのモード、および/または、スピーカーをアクティブ化すること、方向指示灯をアクティブ化すること、ヘッドライトもしくはハイビームをつけること等のような信号モードを含み得る。自律車両の行動および信号は、自律車両102の近くのその他のエンティティによって行われる決定および行動に影響を与える場合があり、それによって、その他のオブジェクトの予測された動きに影響を与える場合がある。
【0027】
いくつかの例においては、知覚コンポーネント110は、センサ104からセンサデータを受信し、静的および/または動的データなど、車両102の近くのオブジェクトに関連したデータを決定し得る。静的および/または動的データを含む環境データ134の示されている例は、そのようなデータの上から下へ見た表現であるが、ヒートマップ、検出されたオブジェクトに関連付けられているオブジェクト分類、インスタンスセグメンテーション、セマンティックセグメンテーション、2次元および/または3次元のバウンディングボックス、トラック等のような、静的および/または動的データの任意の表現が考えられる。知覚コンポーネント110は、追加として、または代替として、車両の目的地を指定するルートデータ、道路の特性(たとえば、自律車両を位置特定するのに役立つさまざまなセンサモダリティで検出可能な特徴)を識別する全体マップデータ、車両の近くで検出された特性(たとえば、建物、樹木、フェンス、消火栓、一時停止標識、ならびに、さまざまなセンサモダリティで検出可能な任意のその他の特徴の位置および/または寸法)を識別する局所マップデータ、トラックデータ(たとえば、本明細書において論じられている環境表現、オブジェクト検出、および/またはトラック)などを決定し得る。
【0028】
いくつかの例においては、知覚コンポーネント110は、センサ104からセンサデータを受信し、静的および/または動的データなど、車両102の近くのオブジェクトに関連したデータを決定し得る。静的および/または動的データを含む環境データ134の示されている例は、そのようなデータの上から下へ見た表現であるが、ヒートマップ、検出されたオブジェクトに関連付けられているオブジェクト分類、インスタンスセグメンテーション、セマンティックセグメンテーション、2次元および/または3次元のバウンディングボックス、トラック等のような、静的および/または動的データの任意の表現が考えられる。知覚コンポーネント110は、追加として、または代替として、車両の目的地を指定するルートデータ、道路の特性(たとえば、自律車両を位置特定するのに役立つさまざまなセンサモダリティで検出可能な特徴)を識別する全体マップデータ、車両の近くで検出された特性(たとえば、建物、樹木、フェンス、消火栓、一時停止標識、ならびに、さまざまなセンサモダリティで検出可能な任意のその他の特徴の位置および/または寸法)を識別する局所マップデータ、トラックデータ(たとえば、本明細書において論じられている環境表現、オブジェクト検出、および/またはトラック)などを決定し得る。
【0029】
いくつかの例においては、知覚コンポーネント110は、ハードウェアおよび/またはソフトウェアのパイプラインを含み得、これは、1つまたは複数のGPU、MLモデル、カルマンフィルタなどを含み得る。いくつかの例においては、知覚コンポーネント110は、自律車両を取り巻く環境の可能な限り多くをモニタし得るが、これは、センサの能力、オブジェクトおよび/もしくは環境の遮蔽(たとえば、建物、標高変化、その他のオブジェクトの前にあるオブジェクト)、ならびに/または、霧、雪等などの環境影響によって制限され得る。たとえば、センサデータは、RADARデータを含み得、そのRADARデータを知覚コンポーネント110が入力として受信し得る。知覚コンポーネント110は、軌道118を決定する際にプランニングコンポーネント112によって考慮に入れられるべきイベントまたはオブジェクトの行動を考慮し損なうことを回避するために、可能な限り多くのオブジェクトおよび環境に関する情報を検出するように構成され得る。
【0030】
オブジェクト分類は、環境データ134の一部であり得、知覚コンポーネント110によって決定され得、たとえば、乗用車、歩行者、自転車運転者、配送トラック、セミトラック、交通標識等のような、さまざまなオブジェクトタイプの間を区別し得る。トラックは、過去の、現在の、および/または予測されたオブジェクトの位置、速度、加速度、および/または方向を含み得る。いくつかの例においては、知覚コンポーネント110は、予測コンポーネントを含み得、予測コンポーネントは、トラックの予測された部分を決定し得、その予測された部分は、予測された位置、方向、ステアリング速度、速度、加速度、分類(歩行者になり得るサイクリストなど、影響されやすい分類に関して)などを含み得る。予測コンポーネントは、シミュレーションコンポーネント、機械学習モデルを含み得、または追加のもしくは代替の例においては、予測コンポーネントは、カルマンフィルタなどを含み得る。知覚コンポーネント110は、本明細書において論じられているツリー検索の一部として予測ノードによって示される環境状態を決定するために使用され得る。たとえば、環境状態は、現在のおよび/または予測された環境データ134を含み得る。
【0031】
知覚コンポーネント110によって生成されるデータは、知覚データと総称され得る。知覚コンポーネント110が知覚データを生成するとすぐに/生成した際には、知覚コンポーネント110は、その知覚データをプランニングコンポーネント112および/または案内システム114に提供し得る。いくつかの例においては、知覚データは、センサ固有のパイプライン(たとえば、ビジョン、LIDAR、RADAR)および/またはハイブリッドセンサパイプライン(たとえばビジョンLIDAR、RADAR-LIDAR)の出力を含み得る。
【0032】
プランニングコンポーネント112は、知覚コンポーネント110から受信された知覚データおよび/または案内システム114から受信された経路を使用して、1つまたは複数の軌道を決定し、経路またはルートをあちこち動き回るように車両102の動きを制御し、および/または車両102の動作をその他の形で制御し得るが、いずれのそのような動作も、さまざまなその他のコンポーネントにおいて実行され得る(たとえば、位置特定は、位置特定コンポーネントによって実行され得、これは、知覚データに少なくとも部分的に基づき得る)。たとえば、プランニングコンポーネント112は、第1の位置から第2の位置への車両102のためのルートを決定し、案内システム114から受信された粗い軌道から平滑な軌道を決定し、経路および知覚データおよび/またはシミュレートされた知覚データ(そのようなデータにおける検出されたオブジェクトに関する予測をさらに含み得る)に少なくとも部分的に基づいて、ルートをたどるように車両を制御するために(たとえば、検出されたオブジェクトのうちのいずれかを回避するために)後退地平線技術(receding horizon technique)(たとえば、1マイクロ秒、0.5秒、2秒、5秒、10秒、または任意のその他の短期タイムピリオド)に従って車両102の動きを制御するための複数の潜在的な軌道を実質的に同時に生成し、車両102の駆動コンポーネントを作動させるためにコントローラ116へ伝送され得る駆動制御信号を生成するために使用され得る車両102の軌道118として潜在的な軌道のうちの1つを選択し得る。
図1は、コントローラがたどるための目標方向、目標ステアリング角度、目標ステアリング速度、目標位置、目標速度、および/または目標加速度を示す矢印として表されている、そのような軌道118の例を示しているが、その軌道自体は、コントローラに関する命令を含み得、そしてその命令は、車両102の駆動システムを順番に作動させ得る。
【0033】
いくつかの例においては、案内システム114は、プランニングコンポーネント112の公称案内システムに対する二次的な案内システムであり得る。いくつかの例においては、プランニングコンポーネント112は、アクションノードに関連付けられている、本明細書において論じられているツリー検索のための1つまたは複数の候補アクションを生成し得る。プランニングコンポーネント112は、公称案内システムから軌道または経路を受信し得、本明細書において論じられているように案内システム114によって生成された経路を受信し得る。案内システム114から受信されたその経路は、プランニングコンポーネント112によって偶発的経路として扱われ得、たとえば、プランニングコンポーネント112は、公称案内システムの出力が、車両102を停止させることにならない限り、もしくは車両102に遠隔操作を呼び出させることにならない限り、または実現可能な、衝突がない、および/もしくは経済的な経路もしくは軌道を出力し損なわない限り、またはそれらの状況になるまで、プランニングコンポーネント112の公称案内システムの出力に依存し得る。そのような場合においては、プランニングコンポーネント112は、案内システム114によって出力された経路を使用することへ切り替え得る。追加のまたは代替の例においては、プランニングコンポーネント112は、案内システム114によって出力された経路を使用して、すべての時間にわたる、特定の領域における(たとえば、車線基準のないエリアにおける)、センサデータおよび/または知覚データに少なくとも部分的に基づく、などの軌道を生成し得る。いくつかの例においては、案内システム114は、本明細書において論じられているツリー検索を実行し得、そのツリー検索は、(たとえば、プランニングコンポーネント112に関連付けられているアプリケーションプログラミングインターフェース(API)へ要求を送信し、それに応答した候補アクションを受信することによって)アクションノードの生成を管理すること、ならびに/または(たとえば、知覚コンポーネント110の予測コンポーネントに関連付けられているAPIへ要求を送信し、現在のおよび/もしくは予測環境状態データを受信することによって)予測ノードの生成を管理することなどを含み得る。
【0034】
案内システム114は、1つまたは複数のGPUを含み得、または(たとえば、パブリッシュ/サブスクライブメッセージングシステムを介して、データバスを介して)1つもしくは複数のGPUと通信可能に結合され得、本明細書において論じられている技術は、そのGPUのスレッドへ並列化されて広められ得るが、本明細書において論じられている技術は、少なくとも、シリアルである部分を含み得ると考えられる。
【0035】
例示的なシステム
図2は、本明細書において論じられている技術を実装する例示的なシステム200のブロック図を示している。いくつかの場合においては、例示的なシステム200は、車両202を含み得、車両202は、
図1における車両102に相当し得る。いくつかの場合においては、車両202は、米国幹線道路交通安全局によって発行されているレベル5分類に従って動作するように構成されている自律車両であり得、レベル5分類は、移動全体にわたってすべてのセーフティクリティカルな機能を、運転手(または乗員)が車両を制御することをいかなる時点においても予期されていない状態で実行することが可能な車両について説明している。しかしながら、その他の例においては、車両202は、任意のその他のレベルまたは分類を有する完全にまたは部分的に自律型の車両であり得る。その上、いくつかの場合においては、本明細書において説明されている技術は、非自律車両によっても同様に使用可能であり得る。
【0036】
車両202は、車両コンピューティングデバイス204、センサ206、エミッタ208、ネットワークインターフェース210、および/または駆動コンポーネント212を含み得る。車両コンピューティングデバイス204は、コンピューティングデバイス106に相当し得、センサ206は、センサ104に相当し得る。システム200は、追加として、または代替として、コンピューティングデバイス214を含み得る。
【0037】
いくつかの場合においては、センサ206は、センサ104に相当し得、LIDARセンサ、RADARセンサ、超音波トランスデューサ、ソナーセンサ、位置センサ(たとえば、全地球測位システム(GPS)、コンパスなど)、慣性センサ(たとえば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、画像センサ(たとえば、赤-緑-青(RGB)、赤外線(IR)、強度、深度、タイムオブフライトカメラなど)、マイクロフォン、ホイールエンコーダ、環境センサ(たとえば、温度計、湿度計、光センサ、圧力センサ等)などを含み得る。センサ206は、これらのまたはその他のタイプのセンサのうちのそれぞれの多数のインスタンスを含み得る。たとえば、RADARセンサは、車両202の角、前部、後部、側部、および/または上部に配置されている個々のRADARセンサを含み得る。別の例として、カメラは、車両202の外部および/または内部の周りのさまざまな位置に配置されている多数のカメラを含み得る。センサ206は、車両コンピューティングデバイス204に、および/またはコンピューティングデバイス214に入力を提供し得る。本明細書において論じられている、シミュレートされたセンサに関連付けられている位置は、車両202に対するセンサの視野の位置および/もしくは起点(たとえば、焦点)、ならびに/または車両202の動きの方向と対応し得る。
【0038】
車両202はまた、上述されているように、光および/または音を発するためのエミッタ208を含み得る。この例におけるエミッタ208は、車両202の搭乗者と通信するための内部オーディオおよびビジュアルエミッタを含み得る。限定ではなく、例として、内部エミッタは、スピーカー、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(たとえば、振動および/または力のフィードバック)、機械式アクチュエータ(たとえば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナー等)などを含み得る。この例におけるエミッタ208はまた、外部エミッタを含み得る。限定ではなく、例として、この例における外部エミッタは、移動の方向を知らせるためのライトまたは車両アクションのその他のインジケータ(たとえば、インジケータライト、サイン、ライトアレイなど)、および歩行者またはその他の近くの車両と可聴式に通信するための1つまたは複数のオーディオエミッタ(たとえば、スピーカー、スピーカーアレイ、ホーンなど)を含み、それらのオーディオエミッタのうちの1つまたは複数は、音響ビームステアリング技術を含む。
【0039】
車両202はまた、車両202と、1つまたは複数のその他のローカルまたはリモートコンピューティングデバイスとの間における通信を可能にするネットワークインターフェース210を含み得る。たとえば、ネットワークインターフェース210は、車両202上のその他のローカルコンピューティングデバイスおよび/または駆動コンポーネント212との通信を容易にし得る。また、ネットワークインターフェース210は、追加として、または代替として、車両がその他の近くのコンピューティングデバイス(たとえば、その他の近くの車両、交通信号など)と通信することを可能にし得る。ネットワークインターフェース210は、追加として、または代替として、車両202がコンピューティングデバイス214と通信することを可能にし得る。いくつかの例においては、コンピューティングデバイス214は、分散コンピューティングシステム(たとえば、クラウドコンピューティングアーキテクチャ)の1つまたは複数のノードを含み得る。
【0040】
ネットワークインターフェース210は、車両コンピューティングデバイス204を別のコンピューティングデバイスまたはネットワーク216などのネットワークに接続するための物理および/または論理インターフェースを含み得る。たとえば、ネットワークインターフェース210は、IEEE200.11標準によって定義されている周波数を介するなどのWi-Fiベースの通信、Bluetooth(登録商標)などの短距離無線周波数、セルラー通信(たとえば、2G、3G、4G、4G LTE、5Gなど)、または、それぞれのコンピューティングデバイスがその他のコンピューティングデバイスとのインターフェースを取ることを可能にする任意の適切な有線もしくは無線通信プロトコルを可能にし得る。いくつかの場合においては、車両コンピューティングデバイス204および/またはセンサ206は、センサデータを、ネットワーク216を介してコンピューティングデバイス214へ特定の頻度で、所定の期間の経過後に、ほぼリアルタイムで、といった具合に送信し得る。
【0041】
いくつかの場合においては、車両202は、1つまたは複数の駆動コンポーネント212を含み得る。いくつかの場合においては、車両202は、単一の駆動コンポーネント212を有し得る。いくつかの場合においては、駆動コンポーネント212は、駆動コンポーネント212および/または車両202の周囲の状況を検出するための1つまたは複数のセンサを含み得る。限定ではなく、例として、駆動コンポーネント212のセンサは、駆動コンポーネントのホイールの回転を感知するための1つまたは複数のホイールエンコーダ(たとえば、ロータリーエンコーダ)、駆動コンポーネントの向きおよび加速度を測定するための慣性センサ(たとえば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたはその他の画像センサ、駆動コンポーネントの周囲におけるオブジェクトを音響的に検出するための超音波センサ、LIDARセンサ、RADARセンサなどを含み得る。ホイールエンコーダなどのいくつかのセンサは、駆動コンポーネント212に固有であり得る。いくつかのケースにおいては、駆動コンポーネント212上のセンサは、車両202の対応するシステム(たとえば、センサ206)と重複し得、またはそれらを補完し得る。
【0042】
駆動コンポーネント212は、高電圧バッテリー、車両を推進するためのモータ、バッテリーからの直流電流をその他の車両システムによる使用のために交流電流へと変換するためのインバータ、ステアリングモータおよびステアリングラック(電動であり得る)を含むステアリングシステム、油圧または電動アクチュエータを含む制動システム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションのロスを軽減して制御を保持するために制動力を分散するための安定制御システム、HVACシステム、照明(たとえば、車両の外部の周囲を照らすためのヘッド/テールライトなどの照明)、ならびに1つまたは複数のその他のシステム(たとえば、冷却システム、安全システム、車載充電システム、その他の電気コンポーネント、たとえば、DC/DCコンバータ、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなど)を含む車両システムのうちの多くを含み得る。加えて、駆動コンポーネント212は、駆動コンポーネントコントローラを含み得、この駆動コンポーネントコントローラは、センサからのデータを受信および前処理して、さまざまな車両システムのオペレーションを制御し得る。いくつかの場合においては、駆動コンポーネントコントローラは、1つまたは複数のプロセッサ、および1つまたは複数のプロセッサと通信可能に結合されているメモリを含み得る。メモリは、駆動コンポーネント212のさまざまな機能性を実行するための1つまたは複数のコンポーネントを記憶し得る。さらに、駆動コンポーネント212はまた、それぞれの駆動コンポーネントによる1つまたは複数のその他のローカルまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続を含み得る。
【0043】
車両コンピューティングデバイス204は、プロセッサ218と、1つまたは複数のプロセッサ218と通信可能に結合されているメモリ220とを含み得る。メモリ220は、メモリ108に相当し得る。コンピューティングデバイス214はまた、プロセッサ222、および/またはメモリ224を含み得る。プロセッサ218および/または222は、本明細書において説明されているようにデータを処理してオペレーションを実行するための命令を実行することが可能な任意の適切なプロセッサであり得る。限定ではなく、例として、プロセッサ218および/または222は、1つもしくは複数の中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、集積回路(たとえば、特定用途向け集積回路(ASIC))、ゲートアレイ(たとえば、フィールドプログラマブルゲートアレイ(FPGA))、ならびに/または、電子データを処理して、その電子データを、レジスタおよび/もしくはメモリに記憶され得るその他の電子データへと変換する任意のその他のデバイスもしくはデバイスの部分を含み得る。
【0044】
メモリ220および/または224は、非一時的コンピュータ可読媒体の例であり得る。メモリ220および/または224は、本明細書において説明されている方法およびさまざまなシステムに帰される機能を実装するためのオペレーティングシステムならびに1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを記憶し得る。さまざまな実装態様においては、メモリは、スタティックランダムアクセスメモリ(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性/フラッシュ型メモリ、または、情報を記憶することが可能な任意のその他のタイプのメモリなど、任意の適切なメモリテクノロジーを使用して実装され得る。本明細書において説明されているアーキテクチャ、システム、および個々の要素は、多くのその他の論理的な、プログラム的な、および物理的なコンポーネントを含み得、それらのうちで、添付の図において示されているものは、本明細書における論考に関連している例にすぎない。
【0045】
いくつかの場合においては、メモリ220および/またはメモリ224は、位置特定コンポーネント226、知覚コンポーネント228、プランニングコンポーネント230、案内コンポーネント232、シミュレーションコンポーネント234、エージェントフィルタ236、および/またはシステムコントローラ238を記憶し得、それらのうちのいずれかのゼロ以上の部分は、GPU、CPU、および/またはその他の処理ユニットなどのハードウェアであり得る。知覚コンポーネント228は、知覚コンポーネント110に相当し得、プランニングコンポーネント230は、プランニングコンポーネント112に相当し得、案内コンポーネント232は、案内システム114に相当し得る。
【0046】
少なくとも1つの例においては、位置特定コンポーネント226は、車両202の位置、速度、および/または向き(たとえば、x、y、z位置、ロール、ピッチ、またはヨーのうちの1つまたは複数)を決定するためにセンサ206からデータを受信するためのハードウェアおよび/またはソフトウェアを含み得る。たとえば、位置特定コンポーネント226は、環境のマップを含み得および/または要求/受信し得、そのマップ内の自律車両の位置、速度、および/または向きを継続的に決定することが可能である。いくつかの場合においては、位置特定コンポーネント226は、SLAM(simultaneous localization and mapping)、CLAMS(calibration,localization and mapping,simultaneously)、相対SLAM、バンドル調整、非線形最小二乗最適化などを利用して、画像データ、LIDARデータ、RADARデータ、IMUデータ、GPSデータ、ホイールエンコーダデータなどを受信して、自律車両の位置、体勢、および/または速度を正確に決定し得る。いくつかの場合においては、位置特定コンポーネント226は、軌道を生成する目的で、および/またはマップデータを生成する目的で自律車両の初期位置を決定するために車両202のさまざまなコンポーネントにデータを提供し得る。いくつかの例においては、位置特定コンポーネント226は、環境および/またはそれに関連付けられているセンサデータに対する車両202の位置および/または向きを知覚コンポーネント228に提供し得る。
【0047】
いくつかの場合においては、知覚コンポーネント228は、ハードウェアおよび/またはソフトウェアで実装される一次知覚システムおよび/または予測システムを含み得る。たとえば、予測コンポーネントは、シミュレーションコンポーネント234であり得るが、追加のまたは代替の例においては、予測コンポーネントおよびシミュレーションコンポーネント234は、別々のコンポーネントであり得る。それにかかわらず、知覚コンポーネント228(ならびにその予測コンポーネントおよび/またはシミュレーションコンポーネント234)は、案内コンポーネント232と協働して、本明細書において論じられている環境状態を決定し得る。知覚コンポーネント228は、車両202を取り巻く環境におけるオブジェクトを検出し得(たとえば、オブジェクトが存在するということを識別する)、オブジェクトを分類し得(たとえば、検出されたオブジェクトに関連付けられているオブジェクトタイプを決定する)、環境のセンサデータおよび/またはその他の表現をセグメント化し得(たとえば、環境のセンサデータおよび/または表現の一部分を、検出されたオブジェクトおよび/またはオブジェクトタイプに関連付けられているものとして識別する)、オブジェクトに関連付けられている特性(たとえば、オブジェクトに関連付けられている現在の、予測された、および/または以前の位置、方向、速度、および/または加速度を識別するトラック)を決定し得る、といった具合である。知覚コンポーネント228は、移動しているオブジェクトなど、環境の動的コンポーネントのアクション/状態を予測する予測コンポーネントを含み得る。いくつかの例においては、知覚コンポーネント228は、知覚コンポーネント228の予測部分の一部としてシミュレーションコンポーネント234を含み得る。知覚コンポーネント228によって決定されたデータは、知覚データと呼ばれる。エージェントフィルタ236は、シミュレーションコンポーネント234の一部であるものとして示されているが、追加のまたは代替の例においては、知覚コンポーネント228は、エージェントフィルタ236を含み得る。
【0048】
プランニングコンポーネント230は、位置特定コンポーネント226から車両202の位置および/もしくは向きを、ならびに/または知覚コンポーネント228から知覚データを受信し得、このデータのうちのいずれかに少なくとも部分的に基づいて車両202の動作を制御するための命令を決定し得る。いくつかの例においては、命令を決定することは、命令が関連付けられているシステムに関連付けられているフォーマットに少なくとも部分的に基づいて命令を決定することを含み得る(たとえば、自律車両の動きを制御するための第1の命令が、駆動コンポーネント212が構文解析し得る/実行されるようにさせ得るメッセージおよび/または信号の第1のフォーマット(たとえば、駆動コンポーネント212のシステムコントローラによって生成され得るような、アナログ、デジタル、空気圧、運動学)でフォーマットされ得、エミッタ208に関する第2の命令が、それに関連付けられている第2のフォーマットに従ってフォーマットされ得る)。いくつかの例においては、プランニングコンポーネント230が、(たとえば、プランニングコンポーネント230をテストおよび/またはトレーニングするための)シミュレーションにおいてハードウェア/ソフトウェアインアループを含み得る場合には、プランニングコンポーネント230は、シミュレートされた車両を制御するために使用され得る命令を生成し得る。これらの命令は、追加として、または代替として、たとえば、車両202が動作中に車両上でシミュレーション実行を実行する場合において、車両202の現実世界バージョンの動きを制御するために使用され得る。
【0049】
プランニングコンポーネント230は、公称条件における車両202の動作中になど、車両202に関する制御命令を決定するための主要なコンポーネントであり得るが、プランニングコンポーネント230は、案内コンポーネント232をさらに含み得、および/または車両202は、案内コンポーネント232を、プランニングコンポーネント230とは別に追加として含み得る。案内コンポーネント232は、プランニングコンポーネント230によって決定された軌道が生成され損ない(たとえば、プランニングコンポーネント230が、オブジェクトを回避する適切な軌道を決定することが可能ではなく)、ならびに/またはそれが、しきい値加速度および/もしくはジャークなどの快適性のメトリック、もしくは道路のルールに違反している場合に車両202を制御するための偶発的な軌道および/または経路を決定するためになど、プランニングコンポーネント230と同時に車両を制御するための軌道および/または経路を決定し得る。案内コンポーネント232は、本明細書において論じられているツリー検索を実行し得、予測ノードに関連して決定された環境に少なくとも部分的に基づいてプランニングコンポーネントが候補アクションを生成することを求める要求を伝送することによってツリー検索のアクションノードおよび/または予測ノードを決定することを管理し得る。案内コンポーネント232は、知覚コンポーネント228から環境の初期状態を(すなわち、ツリー検索のルートノードに関連して)受信し得、案内コンポーネント232は、この初期環境状態をプランニングコンポーネント230へ伝送し得、プランニングコンポーネント230から1つまたは複数の候補アクションを受信し得る。案内コンポーネント232は、これらの1つまたは複数の候補アクションのうちの少なくとも1つをシミュレーションコンポーネント234および/または知覚コンポーネント228の予測コンポーネントへ伝送し得、シミュレーションコンポーネント234および/または知覚コンポーネント228の予測コンポーネントは、候補アクションに少なくとも部分的に基づく環境の予測された状態を決定し得る。このプロセスは、ルートに沿った計画対象期間、距離、進度、目標位置、および/または適切な経路が到達/決定されるまで、反復され得る。
【0050】
たとえば、計画対象期間は、現在の時刻から将来への時間の長さ(たとえば、500ミリ秒、1秒、2秒、5秒、8秒、10秒)であり得る。この時間の長さは、次のm単位の時間にわたって車両を制御することに関連付けられ得、その場合、mは正の整数である。距離は、経路を構成している構成アクションによってカバーされる合計距離を定義し得、その一方で、ルートに沿った進度は、ルートに沿った/ルートを基準にした変位であり得る。追加のまたは代替の例においては、ツリー検索を終了するために目標位置が使用され得る。たとえば、環境における目標位置に到達する経路を決定すると、ツリー検索は、その経路を出力して終了し得る。公称プランニングコンポーネントが、有効な軌道または経路を作成し損なった場合に案内システムが使用される追加のまたは代替の例においては、案内システムは、有効な経路(たとえば、衝突がなく、ルールセットに準拠する経路、そのルールセットは、快適性のメトリック、法律への準拠などを指定し得る)を決定すると、終了し得る。追加の例においては、目標が達成される(たとえば、車線変更の成功、合流の成功、または任意のその他の完了されたアクション)まで、反復が継続し得る。任意の1つまたは複数の例においては、上記の任意の組合せが、ツリーを分岐させるための決定点としてさらに使用され得る。
【0051】
シミュレーションコンポーネント234は、車両202上で、および/またはコンピューティングデバイス214上で動作し得る。シミュレーションコンポーネント234は、車両202による候補アクションの実行をシミュレートすることなど、環境および/または車両202のシミュレーションと、時間の経過に少なくとも部分的に基づく、および車両202による候補アクションの実行に応答した環境の予測された状態とを決定し得る。たとえば、シミュレーションは、環境および/または車両202の部分の位置、向き、動き、および/または品質の表現を含み得る。環境は、別の車両、歩行者、草木、建物、標識等のようなエージェントを含み得る。
【0052】
シミュレーションコンポーネント234は、候補アクションおよび環境状態(これは、知覚コンポーネント228によって決定された現在の環境状態、または知覚コンポーネント228の予測コンポーネントによって、もしくはシミュレーションコンポーネント234によって決定された予測環境状態であり得る)を案内コンポーネント232から受信して、シミュレーションデータを決定し得、これは、シナリオの2次元または3次元の表現であり得る。シミュレーションデータは、シミュレーションをインスタンス化して実行するために使用され得る。候補アクションは、シミュレーションの実行中に車両202のシミュレーションの動きを制御するために使用され得る。3次元の表現は、環境の1つまたは複数のオブジェクトに関連付けられている位置、向き、幾何学的データ(たとえば、ポリゴン表現、デジタルワイヤメッシュ表現)、および/もしくは動きデータを含み得、ならびに/または材料、照明、および/もしくは照明データを含み得るが、その他の例においては、このデータは省略され得る。追加のまたは代替の例においては、シミュレーションコンポーネント234は、計算構造(たとえば、視覚化されることを意図されていない(および/または視覚化されることが不可能である)説明されているオペレーションを実行する際にコンピューティングデバイスによって使用されるアルゴリズム的なおよび/または数学的な表現)を含み得る。
【0053】
シナリオデータは、シナリオに関連付けられている環境、そこに含まれるオブジェクト、およびそれに関連付けられている特性の2次元の表現を含み得、それらのすべては、ログデータに関連付けられているシナリオの一部であり得る。たとえば、シナリオデータは、オブジェクトの位置、オブジェクトによって占有されているエリア、オブジェクトに関連付けられている速度および/もしくは加速度、オブジェクトが静的であるかもしくは動的であるか、オブジェクトに関連付けられているオブジェクトタイプ(たとえば、「歩行者」、「自転車運転者」、「車両」、「大型車両」、「信号機」、「交通標識」、「建物」、「道路」、「横断歩道、「歩道」などの分類)、ならびに/または、オブジェクトおよび/もしくはオブジェクトタイプに関連付けられているその他の運動学的性質(たとえば、摩擦係数、弾力性、展性)を識別し得る。環境そのものに関しては、シナリオデータは、環境のトポロジー、環境に関連付けられている気象条件、照明状態(たとえば、晴れ、曇り、夜)、光源の位置などを識別し得る。いくつかの例においては、シナリオデータに関連付けられているトポロジー、固定されているオブジェクト(たとえば、建物、樹木、標識)の位置および寸法などが、マップに少なくとも部分的に基づいて生成され得る。いくつかの例においては、シナリオデータは、オブジェクトの3次元の表現をインスタンス化するために(たとえば、シミュレーションコンポーネント234によって)使用され得、ならびに/またはシミュレートされた環境は、マップデータ(たとえば、これは、環境のトポロジー、標識、植物、および/もしくは建物などの固定物の位置および/もしくは寸法を定義し得る)および/もしくはシナリオデータに少なくとも部分的に基づいてインスタンス化され得る。
【0054】
追加として、または代替として、シミュレーションは、シミュレーションコンポーネントの公称予測コンポーネントまたは知覚コンポーネント110の予測コンポーネントに加えて、またはそれらの代わりに、その全体が、参照によって本明細書に組み込まれている、2020年6月1日に出願された特許文献1においてさらに詳細に論じられているエージェント行動モデルによって制御されるシミュレートされたオブジェクトを含み得る。エージェント行動モデルは、反応性の動的オブジェクトなど、動的オブジェクトのシミュレートされた表現のシミュレートされた動きを制御し得る。いくつかの例においては、シミュレーションは、予想/予測オペレーションの一部として実行され得、したがって、本明細書において論じられているツリー検索に従って生成された候補アクションに基づいて、予期されるシナリオ(たとえば、予測環境状態データ)を決定するために、1つまたは複数のシミュレーションが実行され得る。
【0055】
いくつかの例においては、シミュレートされたセンサが、シミュレーションコンポーネント234によって実行されたシミュレーションに少なくとも部分的に基づいて、シミュレートされたセンサデータを決定し得る。たとえば、その全体が、参照によって本明細書に組み込まれている、2019年9月24日に出願された特許文献2は、これについてさらに詳細に論じている。追加のまたは代替の例においては、シミュレーションコンポーネントによって実行されるシミュレーション自体は、シミュレートされたセンサデータを含み得る。知覚コンポーネント228(たとえば、そのコピーは、ソフトウェアおよび/またはハードウェアを含み得、これは、ハードウェアインザループシミュレーションを含み得る)は、そのようなセンサデータを受信し得、および/またはシミュレートされたセンサデータは、プランニングコンポーネント230への入力として提供される知覚データを出力し得る。プランニングコンポーネントは、知覚データを使用して、車両202の動きを制御するための命令を決定し得、その命令は、シミュレーションにおいて車両202の少なくともシミュレートされた表現を制御するために使用され得、シミュレーションコンポーネント234が現実世界の動作中に車両上で実行する例においてなど、いくつかの例においては、車両202の現実世界での動きを制御するために追加で使用され得る。
【0056】
いくつかの例においては、シミュレーションコンポーネント234は、追加として、または代替として、ルールセットを記憶し得、そのルールセットに少なくとも部分的に基づいて、候補アクションがシナリオに合格したかまたは不合格であったかを決定し得る。ルールセットは、動作制約に関連付けられ得、および/または動作制約を含み得る。いくつかの例においては、ルールセットは、イベント検出システム(その全体が、参照によって本明細書に組み込まれている、2019年11月13日に出願された特許文献3)および/もしくは衝突モニタリングシステム(2019年12月4日に出願された特許文献4)の一部であり得、またはそれらによって置き換えられ得る。
【0057】
シミュレーションコンポーネント234は、エージェントフィルタ236を含み得、エージェントフィルタ236は、知覚コンポーネント228によって検出された動的オブジェクトを反応性であるものまたは不活性であるものとして分類するようにトレーニングされている機械学習モデルを含み得る。少なくとも1つの例においては、分類は、バイナリーである必要はなく、0と1との間における数などのスコアであり得、その場合、0は、オブジェクトが不活性であるということを示し、1は、オブジェクトが反応性であるということを示す。いくつかの例においては、エージェントフィルタ236は、動的オブジェクトに関連付けられているトラックと、車両の候補アクションとを入力として受信し得、上述のように、バイナリー分類または回帰に従って、動的オブジェクトが不活性であるかまたは反応性であるかを決定し得る。純粋に不活性のエージェントは、車両202の行動/候補アクションに基づいてその行動を変更することがまったくなく、その一方で、反応性オブジェクトによって取られるアクションは、車両202のアクションによって影響される可能性が非常に高い。追加のまたは代替の例においては、エージェントフィルタ236は、車両202のアクションに基づいて、動的オブジェクトが、それに関連付けられているアクションを修正するであろう可能性(たとえば、共分散、事後確率)を決定し得る。しきい値可能性を満たしているかまたは超えている可能性に関連付けられている動的オブジェクトは、反応性であるものとして分類され得、その一方で、しきい値を満たさない可能性に関連付けられている別の動的オブジェクトは、不活性オブジェクトとして分類され得る。
【0058】
いくつかの例においては、エージェントフィルタ236をトレーニングすることは、車両からのログデータを受信することを含み得、そのログデータは、車両によって実装される知覚データおよび軌道を含み得る。知覚データは、動的オブジェクト、および/または動的オブジェクトに関連付けられているトラックなど、動的オブジェクトに関連したデータを識別し得る。動的オブジェクトが車両のアクションに対して反応的であった旨のラベルを識別するために、またはその旨を識別するスコアを生み出すために、コンピューティングデバイスは、車両によって実装された軌道に対する動的オブジェクトのトラックにおける経時的な変化に基づいて相関スコアを決定し得る。いくつかの例においては、車両の行動に基づいて自らの行動を修正している可能性が低い動的オブジェクトを制限するためにログデータにおいて動的オブジェクトにフィルタが適用され得る。たとえば、フィルタは、(動的オブジェクトのスピード、いくつかの場合においては、)動的オブジェクトの方向などに基づいて車両からしきい値距離よりも離れた距離に配置されている動的オブジェクトを除去し得る。
【0059】
環境の予測された状態は、環境におけるいずれかの動的オブジェクトが反応性であるものとして分類されるかどうかに少なくとも部分的に基づいて知覚コンポーネント228の予測コンポーネントおよび/またはシミュレーションコンポーネント234によって決定され得る。反応性オブジェクトの予測された状態は、シミュレーションコンポーネント234によってシミュレートされ得、その一方で不活性オブジェクトの予測された状態は、そのような予測のためのカルマンフィルタ、または不活性オブジェクトの現在の状態のその他の単純な伝搬(たとえば、推測航法)など、知覚コンポーネント228の予測コンポーネントによって決定され得る。不活性オブジェクト予測コンポーネントは、より少ない計算を使用し得、その一方で動的オブジェクト予測コンポーネント(たとえば、シミュレーションコンポーネント234)は、いくつかの場合においては、より多くの計算を必要とし得る。
【0060】
メモリ220および/または224は、追加として、または代替として、マッピングシステム、プランニングシステム、乗車管理システムなどを記憶し得る。知覚コンポーネント228、プランニングコンポーネント230、および/またはシミュレーションコンポーネント234は、メモリ220および/または224に記憶されているものとして示されているが、知覚コンポーネント228、プランニングコンポーネント230、案内コンポーネント232、シミュレーションコンポーネント234、および/またはエージェントフィルタ236は、プロセッサ実行可能命令、機械学習モデル(たとえば、ニューラルネットワーク)、および/またはハードウェアを含み得る。
【0061】
本明細書において説明される際には、位置特定コンポーネント226、知覚コンポーネント228、プランニングコンポーネント230、案内コンポーネント232、シミュレーションコンポーネント234、エージェントフィルタ236、および/または、システム200のその他のコンポーネントは、1つまたは複数のMLモデルを含み得る。たとえば、位置特定コンポーネント226、知覚コンポーネント228、プランニングコンポーネント230、案内コンポーネント232、シミュレーションコンポーネント234、および/またはエージェントフィルタ236はそれぞれ、別々のMLモデルパイプラインを含み得る。いくつかの例においては、MLモデルは、ニューラルネットワークを含み得る。例示的なニューラルネットワークは、入力データを一連の接続されているレイヤに通して出力を生み出す、生物学的観点からインスピレーションを得たアルゴリズムである。ニューラルネットワークにおけるレイヤのそれぞれは、別のニューラルネットワークを含むことも可能であり、または任意の数のレイヤ(畳み込みかもしくは否かにかかわらず)を含むことが可能である。本開示のコンテキストにおいて理解されることが可能であるように、ニューラルネットワークは、機械学習を利用することが可能であり、機械学習は、学習されたパラメータに基づいて出力が生成されるそのようなアルゴリズムの広範なクラスを指すことが可能である。
【0062】
ニューラルネットワークのコンテキストにおいて論じられているが、任意のタイプの機械学習が、本開示と整合して使用されることが可能である。たとえば、機械学習アルゴリズムは、回帰アルゴリズム(たとえば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応型回帰スプライン(MARS)、局所推定スキャッタープロット平滑化法(LOESS))、インスタンスベースのアルゴリズム(たとえば、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、弾性ネット、最小角度回帰(LARS))、ディシジョンツリーアルゴリズム(たとえば、分類および回帰ツリー(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定切り株、条件付きディシジョンツリー)、ベイジアンアルゴリズム(たとえば、ナイーブベイズ、ガウスナイーブベイズ、多項式ナイーブベイズ、アベレージワンディペンデンスエスティメータズ(AODE)、ベイジアンビリーフネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(たとえば、k平均法、kメジアン、期待値最大化(EM)、階層的クラスタリング)、相関ルール学習アルゴリズム(たとえば、パーセプトロン、逆伝搬、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、深層学習アルゴリズム(たとえば、ディープボルツマンマシン(DBM)、ディープビリーフネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、スタックドオートエンコーダ)、次元縮退アルゴリズム(たとえば、主成分分析(PCA)、主成分回帰(PCR)、部分的最小二乗回帰(PLSR)、サモンマッピング、多次元尺度構成法(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(たとえば、ブースティング、ブートストラップアグリゲーション(バギング)、アダブースト、スタックドジェネラリゼーション(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースト回帰ツリー(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、半教師付き学習などを含むことが可能であるが、それらに限定されない。アーキテクチャのさらなる例は、ResNet-50、ResNet-101、VGG、DenseNet、PointNet等のようなニューラルネットワークを含む。いくつかの例においては、本明細書において論じられているMLモデルは、PointPillars、SECOND、トップダウン特徴層(たとえば、その全体が、参照によって本明細書に組み込まれている特許文献5を参照されたい)、および/またはVoxelNetを含み得る。アーキテクチャ待ち時間最適化は、MobilenetV2、Shufflenet、Channelnet、Peleenetなどを含み得る。MLモデルは、いくつかの例においては、Pixorなどの残差ブロックを含み得る。
【0063】
メモリ220は、追加として、または代替として、1つまたは複数のシステムコントローラ(それは、駆動コンポーネントの一部分であり得る)を記憶し得、そのシステムコントローラは、車両202のステアリング、推進、制動、安全、エミッタ、通信、およびその他のシステムを制御するように構成され得る。これらのシステムコントローラは、車両202の駆動コンポーネント212および/またはその他のコンポーネントの対応するシステムに対する通信および/または制御を行い得る。たとえば、プランニングコンポーネント230は、知覚コンポーネント228によって生成された知覚データ、および/またはシミュレートされた知覚データに少なくとも部分的に基づいて命令を生成し、その命令をシステムコントローラへ伝送し得、システムコントローラは、その命令に少なくとも部分的に基づいて車両202のオペレーションを制御し得る。
【0064】
図2は、分散システムとして示されているが、代替の例においては、車両202のコンポーネントは、コンピューティングデバイス214に関連付けられ得、および/またはコンピューティングデバイス214のコンポーネントは、車両202に関連付けられ得るということに留意されたい。すなわち、車両202は、コンピューティングデバイス214に関連付けられている機能のうちの1つまたは複数を実行し得、その逆もまた同様である。
【0065】
ツリー検索および/またはエージェントフィルタを使用する例示的な経路生成
図3A~
図3Cは、エージェントフィルタ、ならびに/または、センサデータおよび/もしくは知覚データに少なくとも部分的に基づいて決定され得る推定されたコストを交互に用いるツリー検索を使用して車両(たとえば、車両202)を制御するための経路を生成するための例示的なプロセス300の図解流れ図を示しており、静的オブジェクトを示す占有マップ、ならびに/または動的オブジェクトの予測された位置および/もしくは速度の確率のマップを含み得る。いくつかの例においては、例示的なプロセス300は、自律車両の案内コンポーネント(たとえば、案内コンポーネント232)によって実行され得るが、少なくともいくつかの例においては、例示的なプロセス300は、追加として、または代替として、自律車両のプランニングコンポーネント、シミュレーションコンポーネント、知覚コンポーネント、および/または予測コンポーネントによって実行され得る。後者の例においては、案内コンポーネントは、コンポーネントのうちのそれぞれに関連付けられているAPIへAPI要求を伝送すること、およびAPI応答を使用して、本明細書において論じられているツリー検索を実行することによってなど、さまざまなコンポーネントのオペレーションを調整し得る。別の例においては、案内コンポーネントは、パブリッシュサブスクライブネットワークを介してさまざまなコンポーネントへ/さまざまなコンポーネントから伝送されるメッセージを使用してコンポーネントのオペレーションを調整し得る。いくつかの例においては、案内コンポーネントによって行われるツリー検索は、エージェントフィルタリング、上限/下限コスト推定、および/または、デフォルトポリシにデフォルト設定することを含む、本明細書において論じられている技術を用いて改善されたモンテカルロツリー検索(MCTS)、部分的に観察可能なモンテカルロ計画(partially observable Monte-Carlo planning)(POMCP)、マルコフ決定プロセス(MDP)、たとえば、部分的に観察可能なMDP(POMDP)などを実行することを含み得る。
【0066】
オペレーション302において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、環境における少なくとも開始位置に関連付けられているルートを受信することを含み得る。
図3Aは、例示的なプロセス300を実行している車両306が配置されている環境304を示している。開始位置は、車両306の現在の位置に関連付けられ得、ルートは、終了位置を指定し得、いくつかの例においては、高速道路から出ること、特定の車線に留まろうとすること、特定のブロック(ただし特定の位置ではないが、いくつかの例においては、ブロックの特定の部分が識別され得る)に駐車することを目標にすること等のような、介在する目標または操作を含み得る。
【0067】
オペレーション308において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、1つまたは複数のセンサからセンサデータを受信することを含み得る。センサは、車両および/または別のコンピューティングデバイスに関連付けられ得る。オペレーション308は、追加として、または代替として、センサデータに少なくとも部分的に基づいて環境状態データを決定することを含み得る。いくつかの例においては、知覚コンポーネントは、環境状態データ310(図においてはスペースの都合で「状態310」と短縮されている)を決定し得、知覚コンポーネントによって検出されたあらゆる動的オブジェクトに関して、エージェントフィルタは、動的オブジェクトが反応性であるかまたは不活性であるか(または上述のように、それに関連付けられているスコア)を決定し得る。環境状態データ310は、センサデータの最も直近に受信されたセット(たとえば、現在の時刻、ただし、センサデータを受信することと、知覚データを決定することとの間には、わずかな遅延があり得る)に関連付けられ得る。
【0068】
さらに示すと、環境状態データ310は、環境における車両306の位置、向き、および/または特性を含み得、環境状態データ310は、自律車両のリアルタイムの動作に対応し得る。環境状態データ310は、追加として、または代替として、1つもしくは複数のオブジェクトに関連付けられているオブジェクトタイプ(たとえば、乗用車312、大型車両314、乗用車316、建物318、建物320)ならびに/または1つもしくは複数のオブジェクトに関連付けられている特性(たとえば、位置、速度、加速度、方向、材料のタイプ、運動学的係数)の表示を含み得る。環境状態データ310は、2次元の画像として表されているが、追加のまたは代替の例においては、環境状態データ310は、パブサブメッセージ、3次元の表現等のようなデータ構造を含み得るということに留意されたい。いくつかの例においては、環境状態データ310は、その全体が、参照によって本明細書に組み込まれており、2019年5月8日に出願された特許文献6においてさらに詳細に論じられている、遮蔽されているオブジェクトが存在するかどうかの予測、またはそれに類似したものをさらに含み得る。追加のまたは代替の例においては、遮蔽されているオブジェクトが存在するかどうかの予測は、機械学習モデルによって決定され得、機械学習モデルは、入力として環境状態データを受信し、可能性のフィールドを出力する。しきい値を満たすかまたは超える可能性に関連付けられている環境のいかなる領域も、潜在的な偽陰性として出力され得、それは、候補アクション生成の一部として使用され得る。
【0069】
環境状態データは、知覚コンポーネントによって動的であるものとして分類されるオブジェクトを含み得る。たとえば、動的オブジェクトは、本明細書においてはエージェントとも呼ばれ得、車両、自転車運転者、歩行者、ボール、風に吹かれているビニール袋、および/または任意のその他の移動可能なオブジェクト、もしくはタイムピリオド内に移動する可能性が高いオブジェクトを含み得る。ベンチまたはテーブルなどのオブジェクトは、移動可能であり得るが、車両の動作に関連するタイムピリオドにおいては、移動する可能性が低く、静的オブジェクトとみなされ得る。環境状態データ310は、動的オブジェクトを含み得、動的オブジェクトに関連してエージェントフィルタによって決定される動的オブジェクト分類および/または可能性を含み得る。たとえば、分類は、動的オブジェクトが不活性であるか、もしくは反応性であるか、ならびに/またはそれらの可能性を含み得る。上述のように、エージェントフィルタは、動的オブジェクトに関連付けられているオブジェクトトラック、車両の現在の状態および/もしくは本明細書においてさらに論じられている候補アクション、および/または動的オブジェクトに関連付けられているセンサデータを受信するように、ならびにニューラルネットワークまたは上述のその他のML技術のうちのいずれかによって、動的オブジェクトが不活性または反応性である旨の分類および/または信頼性スコア(たとえば、事後確率、可能性)を決定するようにトレーニングされているMLモデルを含み得る。いくつかの例においては、MLモデルによって決定された信頼性スコアが信頼性しきい値を満たすかまたは超える場合には、検出されたオブジェクトは、反応性オブジェクトとして分類され得、そうでない場合には、検出されたオブジェクトは、不活性オブジェクトとして分類され得る。さらに別の例においては、MLモデルは、追加として、または代替として最後のレイヤから、信頼性スコアに加えて、または信頼性スコアの代わりに分類そのものを出力し得る。
【0070】
不活性オブジェクトは、自らの行動を変更する可能性が低い(たとえば、信頼性スコアしきい値を下回る信頼性スコアを有している)、および/または自らの行動を車両306のアクションに少なくとも部分的に依存する動的オブジェクトであり得、その一方で反応性オブジェクトは、車両306のアクションに基づいて自らの行動を変更する可能性が高い動的オブジェクトであり得る。不活性オブジェクトは、図においては322で示されているクロスハッチングを使用して示されている。反応性オブジェクトは、図においては324で示されているクロスハッチングを使用して示されている。静的オブジェクトは、図においては326で示されているクロスハッチングを使用して示されている。
図3Aにおいては、交通は右へ移動しており、したがって大型車両314は、たとえば、既に車両306を実質的に通り過ぎており、そのため、車両306のアクションに基づいてそれによって取られるアクションを変更する可能性が低い場合があるということに留意されたい。その一方で車両312および316は、まだ車両306を通り過ぎておらず、自らのアクションを車両306のアクションに少なくとも部分的に基づかせる可能性がより著しく高い場合がある。
【0071】
図3Bを参照すると、オペレーション328において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、センサデータに少なくとも部分的に基づいてツリー検索のルートノード330を決定することを含み得る。いくつかの例においては、ルートノードを決定することは、ツリー検索のためのデータ構造332を決定することを含み得、それは、制御状態および環境状態をモデル化するために、有向非巡回グラフ(DAG)、ツリーに適用される上限信頼限界(upper confidence bounds applied to trees)(UCT)、決定化されたまばらな部分的に観察可能なツリー(determinized sparse partially observable tree)(DESPOT)などをセットアップして記憶することを含み得る。ルートノードは、現在の時刻および/または最も直近のセンサデータもしくはセンサデータのバッチに関連付けられ得る。したがってルートノードは、予測データを含む場合があり、または含まない場合がある知覚データに関連付けられ得る。言い換えれば、ルートノードは、環境における静的および/または動的オブジェクトの現在の位置、向き、速度、加速度、分類など(車両の位置特定コンポーネントによって生成され得る、車両に関する類似の情報を含む)を含む環境状態データを識別し得、追加として、または代替として、同じものの履歴データを含み得る。
【0072】
オブジェクトが将来においてどのように行動するであろうか、それに対応してこのデータが将来においてどのように変化するであろうかという予測は、本明細書において論じられている予測ノードに関連付けられ得、いくつかの例においては、現在の時間ステップに関する予測データは、ルートノードに関連付けられ得る。言い換えれば、ルートノードは、その中のオブジェクトを含む環境の現在の状態、車両に関連した位置特定データ(たとえば、SLAMによって決定された)、および/または将来の時間に関連付けられているオブジェクトの位置、向き、速度、加速度、分類などを含み得る、環境の1つもしくは複数の可能な将来の状態を識別する予測データを含み得る。
【0073】
図は、予測ノード(およびルートノード、ルートノードが予測ノードである場合がある)を四角形として、ならびにアクションノードを円として示している。破線および円334は、ルートノード330と、ルートノード330に基づくまだ今のところ発見されていない/決定されていないアクションノードとの間における関係を表している。ルートノード330は、環境状態データ310および1つまたは複数の予測された環境シナリオを識別し得る。簡単にするために、スペースの都合で
図3A~
図3Cにおいては現在の環境状態データのみが表示されているが、
図6Aおよび
図6Bにおいて示されている予測環境状態など、予測環境状態データがルートノード330にさらに関連付けられ得る。
【0074】
オペレーション336において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、(以前の予測ノードに少なくとも部分的に基づいて)車両の動きを制御するための第1の候補アクションを決定することを含み得る。オペレーション336において決定される候補アクションは、予測ノードの最も直近に決定されたレイヤの予測ノードに少なくとも部分的に基づいて決定され得る。たとえば、
図3Bは、予測ノードの第1のレイヤのみを示しており、そのレイヤは、ルートノード330を含むだけである。
図3Cは、予測ノードの第2のレイヤを示しており、そのレイヤは、予測ノード350および352を含む。第1の候補アクションを決定することは、候補アクションが基づく予測ノードに関連付けられている環境状態データをプランニングコンポーネントに提供することを含み得る。たとえば、第1のアクションノード338は、ルートノード330によって示される環境状態データに基づく1つまたは複数の候補アクションを示され得る。
図3Bは、1つのそのような候補アクション、候補アクション340を示しており、これは、前へまっすぐ移動するように車両を制御することを含む。
【0075】
環境状態データは、上述のように、現在の環境状態データ(予測ノードがルートノードである場合)または関連付けられている予測環境状態データであり得る。それにかかわらず、プランニングコンポーネントにおいて第1の候補アクションを決定することは、軌道プランニングの公称方法を含み得る。追加のまたは代替の例においては、環境データに少なくとも部分的に基づいて候補アクションを決定することは、プランニングコンポーネントの公称軌道生成システムとは別個の軌道決定システムを含み得る。この別個のシステムは、車線基準タイプ、目標タイプ、拡張変数、オフセット、乗数、および/または傾向タイプに少なくとも部分的に基づいて候補アクションを決定し得る。これはまた、
図8Aおよび
図8Bにおいてさらに詳細に論じられている。
【0076】
車線基準タイプは、候補アクションを生成するための車線基準が、センサデータを使用して生成されるべきか、または事前に生成されたマップにおいて示され得るなど、事前に定義された車線基準を使用して生成されるべきかの表示であり得る。車線基準が、
図8において示されており、車線の中心に関連付けられる場合があり、または関連付けられない場合もある(たとえば、車線基準は、直線の車線部分に関しては車線の中心であり得るが、カーブについては車線基準は、カーブの内側または外側に偏り得る)。
【0077】
目標タイプは、現在のルートまたはミッションを達成するためのアクションタイプを定義し得る。たとえば、目標タイプは、車両の現在の車線、隣接する車線、駐車スペース、空きスペース(たとえば、車線区分線が存在しない場所)における位置などを指定し得る。
【0078】
拡張変数は、占有されていないスペースが横方向に(および/またはいくつかの例においては縦方向に)どこまで探索されることが可能であるか(たとえば、候補アクションが車両を横方向にどこまで移動させることが可能であるか)についての重み、距離、係数、および/またはその他の限界を識別し得る。たとえば、拡張変数は、候補アクションがどれぐらい異なり得るかに関する一般的な制約であり得る。
【0079】
オフセットは、候補アクションの探索を反復するために用いる車線基準からの所定の距離を識別し得る。距離は、追加として、または代替として、車両のスピード、環境の複雑さ(その全体が、参照によって本明細書に組み込まれている、2021年2月24日に出願された特許文献7を参照されたい。)等のようなセンサデータに少なくとも部分的に基づいて動的に決定され得る。
【0080】
乗数は、0と1との間における係数であり得、これは、法律によって許可されている現在の最大スピードによって乗じられて、候補アクションに関連付けられている最大スピードを決定し得る。乗数は、ランダム化され得、パターンに従って変更され得、ならびに/または、環境状態データおよび車両の以前の軌道に少なくとも部分的に基づいてプランニングコンポーネントによって設定された範囲に少なくとも部分的に基づいて制約され得る。
【0081】
傾向タイプは、より高い曲率、速度、および/もしくは加速度に関連付けられ得、複雑な環境もしくはその他の積極的な交通を知覚コンポーネントが検出した場合に必要とされ得る「積極的(assertive)」、その他のエージェントとの典型的なインタラクションのための基準を提供し得る「公称(nominal)」)、「控えめ(conservative)」、ならびに/または「従順(submissive)」などのさまざまな行動タイプに関連付けられている曲率、速度、および/または加速度の制約を識別し得る。その全体が、参照によって本明細書に組み込まれている、2020年8月28日に出願された特許文献8においてさらに詳細に論じられているように、知覚エンジンおよび/またはプランニングコンポーネントが協働して、使用されることになる傾向タイプを決定し得る。
【0082】
プランニングコンポーネントが第1の候補アクションを生成すると、案内コンポーネントは、第1の候補アクションを識別する第1のアクションノード338を含むようにデータ構造332を更新し得る。
図3Bはまた、さらに2つのアクションノード342および344を示しており、それらは、ツリー検索アルゴリズムが最小限の探索で低コストの経路を見つけ出すケースにおいては生成されない場合があるので、破線で示されている。言い換えれば、アクションノード342および344は、まだ今のところ探索されていない場合があるが、追加の候補アクションを列挙するためにオペレーション336をさらに反復すると、生成され得る。
【0083】
いくつかの例においては、第1の候補アクションは、第1のタイムピリオドにわたって車両を制御することに関連付けられ得る。以下で論じられているように、第1の候補アクションに関連付けられているレイヤよりも深いレイヤの候補アクション(たとえば、それは、アクションノード342および344を含む)は、第2のタイムピリオドにわたって車両を制御することに関連付けられ得る。いくつかの例においては、アクションノードのそれぞれの後続のレイヤに関連付けられているタイムピリオドは、等しくてもよく、または追加のもしくは代替の例においては、そのタイムピリオドは、長さが(たとえば、指数関数的に、対数的に)増大してもよい。たとえば、第1の候補アクションは、1秒のピリオドにわたって車両を制御することに関連付けられ得、第1のレイヤよりも1レイヤ深いアクションノード(たとえば、アクションノード356)に関連付けられている第2の候補アクションは、1.1秒にわたって車両を制御し得、第3のレイヤは、1.25秒のピリオドにわたって車両を制御し得る、といった具合である。この増大するタイムピリオドは、差し迫ったアクションに関してさらに高い精度および/または正確さが得られることを確実にし得、その一方でまた、より遠くのアクションが、より高いコスト/マイナスの結果をもたらす様式で車両を制御することがないことを確実にする。
【0084】
オペレーション346において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、下限コストを使用して、第1の候補アクションに関連付けられている第1のコストを決定することを含み得る。いくつかの例においては、第1のコストを決定することは、オペレーション336において第1の候補アクションを決定することの一部であり得、および/またはコスト決定は、別々の処理ユニットを使用して同時に、もしくは第1の候補アクションを受信したときに生じ得る。いくつかの例においては、案内システムは、コストを決定し得、コストは、環境状態データに少なくとも部分的に基づき得る。詳細には、コストは、近接コスト、安全コスト、快適性コスト、および/または進度コストなどのさまざまなサブコストに少なくとも部分的に基づき得る。これらのサブコストは、最後の予測ノードによって示される環境状態データ(最後の予測ノードがルートノードであるかまたは別の予測ノードであるか)に少なくとも部分的に基づき得る。近接コストは、候補アクションが静的および/または動的オブジェクトから車両を移動させる最小の、平均の、またはその他の距離に少なくとも部分的に基づき得る。安全コストは、道路のルールへの適合性、その他のオブジェクトに対する近接度および/もしくは候補アクションに関連付けられている速度(たとえば、安全コストは、オブジェクトに近くて(たとえば、オブジェクトからしきい値距離内にいて)高速で移動している候補アクションにはペナルティを課し得、オブジェクトに近いが低速に関連付けられている候補アクションにはペナルティを課さないかもしくは小さなペナルティを与えるのみでよく、その他のオブジェクトから遠い高速の候補アクションは、このコストによるペナルティを課されなくてよい)、ならびに/または走行不可能な路面(たとえば、歩道、建物、閉鎖されている車線)に対する近接度を示すスコアを含み得る。安全コストが、速度およびオブジェクトまでの横方向距離に基づく可変コストを含む例においては、そのコストは、L1またはL2ヒンジ関数などのヒンジ関数に少なくとも部分的に基づいて決定され得る。いくつかの例においては、ペナルティが適用され始めるヒンジ関数におけるヒンジポイントは、オブジェクトまでの距離、候補アクションに関連付けられている速度、オブジェクトトラック、および/またはオブジェクトタイプに基づき得る。たとえば、ペナルティは、車両からよりもオートバイ運転者からより遠く離れて適用され始める場合があり、および/または車両に関してよりもオートバイ運転者に関しての方がペナルティがより高い/より厳しい場合がある。その上、候補アクションが車両のしきい値距離(たとえば、ヒンジ関数のヒンジポイント)内にあると、候補アクションに関連付けられている速度が速ければ速いほど、ペナルティはより厳しい場合がある。少なくとも1つの例においては、L1またはL2ヒンジ関数によって指定されるペナルティを適用するためのしきい値距離は、候補アクションに関連付けられている速度に少なくとも部分的に基づき得る。言い換えれば、速い候補アクションは、遅い候補アクションよりオブジェクトからより遠くでペナルティを適用されることになり、速い候補アクションがオブジェクトに近づけば近づくほど、遅い候補アクションからオブジェクトまでの同じ距離に比較して、L1またはL2ペナルティは、より厳しくなり得る(たとえば、L1のケースにおける傾きが急になればなるほど、係数および/または二乗値が大きくなる)。
【0085】
快適性コストは、候補アクションに関連付けられている速度、ジャーク、および/もしくは加速度、ならびに/または、候補アクションがしきい値ジャークおよび/もしくは加速度に違反するであろうかどうかに少なくとも部分的に基づき得る。進度コストは、ミッションまたはサブ目標(たとえば、ブロック上の一部分で駐車すること、ブロック内に駐車すること、車線を変更すること)の完了、および/またはルートに沿った車両の変位に少なくとも部分的に基づき得る。たとえば、進度コストは、候補アクションが実行された場合に車両がルートに沿ってより遠くなればなるほど、報酬を与え得る。報酬として計算されるコストは、その他のサブコストとは逆の符号を有し得る。たとえば、快適性のメトリックに違反するであろう候補アクションに関して正のコストがある(たとえば、その候補アクションがしきい値ジャークを超えるであろう)場合には、報酬は負のサブコストであり得る。コストをどのように決定するかに関するさらなる詳細は、2020年5月11日に出願された特許文献9において論じられており、その全体は、参照によって本明細書に組み込まれている。
【0086】
少なくとも1つの例においては、特定のアクションノードに関連付けられているコストは、到着のコスト(たとえば、第1のレイヤよりも深い任意のアクションノードに関して、そのアクションノードに至るすべてのアクションノードのコストの合計)、アクションを実行するためのコスト(たとえば、これは、快適性コスト、進度コスト等のような、上述されたコストを含み得る)、およびそのアクションノードの後にさらに進むためのコスト(これはまた、将来において異なる状態へ移行するためのコストとして特性化され得る)を含み得る。コストツーゴー(cost-to-go)とも呼ばれる、この将来のコストをモデル化することは、複雑であり得、ツリー検索において探索されるアクションノードの数が考慮される場合には大量の計算能力を必要とし得る。強化学習においては、コストツーゴーは、特定の状態にあることの「価値」とも呼ばれる。
【0087】
いくつかの例においては、サブコストのうちのすべてを決定することの代わりに、オペレーション346は、コストツーゴーなど、サブコストのうちの少なくとも一部分を決定することの代わりを務めるための下限コストまたは上限コストを使用することを含み得る。たとえば、下限コストは、0であり得、上限コストは、デフォルトアクションを使用することのコストであり得る。下限コストは、事前に定義されたヒューリスティックであり得るが、追加のまたは代替の例においては、下限は、車両をシミュレートまたは操作することと、類似のシナリオに関して車両によって取られるアクションの最小コストを決定することとに少なくとも部分的に基づいてトレーニングされた機械学習モデルによって決定され得る。この機械学習モデルは、環境シナリオデータ、および/または車両に関連付けられているトラックに少なくとも部分的に基づいて下限コストを決定し得る(すなわち、そのデータは、入力として提供され得る)。さらに別の例においては、下限コストは、予測ノードに基づく候補アクションのうちのすべてまたはほとんどが決定された後に更新され得る。そのような場合においては、下限コストは、最も低いコストを有する候補アクションのコストであるように更新され得る。
【0088】
デフォルトアクションは、現在のスピード、方向、ステアリング速度などを保持することであり得、またはデフォルトアクションは、車両が配置されている道路の部分に関連付けられているものとして検出された制限スピードで直進することなど、事前に定義されたアクションであり得る。別の例においては、デフォルトアクションは、知覚データに少なくとも部分的に基づいてデフォルトアクションを決定するための専用の機械学習モデルによって決定され得る。
図3A~
図3Cにおいて示されている例においては、下限コストは、ルートノードの後の第1のアクションレイヤにおいて使用されるということに留意されたい。これは、例として行われているだけであり、下限コストの代わりに上限コストが使用され得る。
図3A~
図3Cは、下限コストおよび上限コストが交互に使用され得るということを示しているにすぎない。いくつかの例においては、下限コストおよび上限コストは、2つの上限コストに対して3つの下限コスト、2つの下限コストに対して2つの上限コスト、1つの上限コストに対して4つの下限コストなどの比率に従って交互になり得る。
【0089】
いくつかの場合においては、連続するレイヤにおいて使用される上限コストに対する下限コストの比率を変更するためにランピング比が使用され得る。たとえば、下限コストを導入すること、そして連続するレイヤに関して下限コストが使用される頻度を増やすことの前に、最も低いレイヤ(たとえば、最初の2つまたは3つ)において上限コストがより多くまたは排他的に使用され得る(またはその逆も同様である。ツリーが十分に深いいくつかの例においては、ランピング比は、下限が排他的に使用される場合に、または特定の比が使用される(たとえば、1:1の比で均等になる)場合に定常状態に達し得る。下限コストは、ツリー検索アルゴリズムにツリーのうちのより多くを探索させるため、下限コストを純粋に使用することは、最適なルートを見つけ出すことを保証する。しかしながら、上限コストを組み込むことによって、ツリー検索アルゴリズムは、より貪欲になり、上限コストの使用に対する下限コストの使用の比率のバランスを取ることによって、ツリー検索アルゴリズムが調節され得る。言い換えれば、ツリー検索アルゴリズムを調節することは、探索されるスペースの量の完全性/経路を見つけ出すための計算の時間および量の間においてアルゴリズムのバランスを取ることと、最良の経路を見つけ出すこととを含み得る。
【0090】
いくつかの例においては、上限コストに対して下限コストが使用される比率、または下限コストが排他的に使用されるかもしくは上限コストが排他的に使用されるかなどの検索パラメータが、機械学習モデルを使用する知覚データに少なくとも部分的に基づいて決定され得る。たとえば、トレーニングデータが、使用される比率を実験的に変更すること、または下限コストもしくは上限コストのうちの一方を排他的に使用すること、ならびに生成された経路、それが経路を計算するために要した時間、計算サイクル、および/もしくは、ノードおよび/もしくはレイヤの数、経路に関連付けられているコスト、および/または下限/上限パラメータがどのように設定されたかを記憶することによって、生成され得る。機械学習モデルは、ルートノードによって示される環境状態データなど、機械学習モデルにとって利用可能な知覚データに基づいて、使用される計算サイクル、探索されるノードの数、および/または経路に関連付けられているコストを削減すると予測されるツリー検索パラメータを出力するようにトレーニングされ得る。パラメータは、追加として、または代替として、ツリー検索の深さ、ツリー検索の幅、サンプリングパラメータ(予測をどのように変更するか、行われる予測の数など、
図8Aおよび
図8Bを参照しながらさらに詳細に論じられている)、予測ノードを単一の予測ノードへとグループ化するかどうかを決定するためのパラメータ(たとえば、従属する候補アクションの完全一致が必要とされるかどうか、何が「類似」として適格であるかを識別するために使用されるしきい値距離、および/もしくはk平均クラスタリングパラメータ)、ツリー検索中に動的オブジェクトが再分類され得るか否か、ならびに/または再分類の前に検索がいくつのレイヤを探索し得るかなどを含み得る。
【0091】
コストの少なくとも一部を下限コスト推定値または上限コスト推定値と置き換えることによって、第1の候補アクションが出力される前にシミュレーションを実行するかもしくは予測コンポーネントを実行する必要がなくてよく、および/またはこの置き換えは、計算コストを低減し、ツリー検索アルゴリズムのスピードを高め得る。
【0092】
図3Cを参照すると、オペレーション348において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、第1の候補アクションに少なくとも部分的に基づいて、環境の将来の状態に関連付けられている第1の予測ノードを決定することを含み得る。少なくとも1つの例においては、第1の予測ノードを決定することは、予測コンポーネントを実行することを含み得、予測コンポーネントは、カルマンフィルタ、機械学習モデル、またはシミュレーションを実行し得る。シミュレーションを実行することは、環境状態データおよび第1の候補アクションに少なくとも部分的に基づいてシミュレーションをインスタンス化することを含み得る。インスタンス化は、3つの異なる乗用車モデル、4つの異なる歩行者モデル等など、さまざまなオブジェクトの表現を含み得るテンプレートモデルのセットを使用し得、それは、候補アクションが基づいた予測ノードによって示される環境状態データと一致するように必要に応じて拡大縮小および配置され得る。任意の数の異なるモデルが存在し得る。いくつかの例においては、テンプレートモデルは、いかなるテクスチャリングも伴わないオブジェクトの表面の3次元のモデルを含み得るが、追加のまたは代替の例においては、モデルはテクスチャを含み得る。テンプレートモデルは、ポリゴンメッシュ、三角形メッシュなどを含み得る。いくつかの例においては、動的オブジェクトに関連付けられているモデルは、静的オブジェクトに関連付けられているモデルよりも高いポリゴン数を有し得る。さらに別の例においては、シミュレーションにおけるオブジェクトは、シミュレーションの次元と対応して、基本的な2次元のまたは3次元の幾何学的形状へ単純化され得る。たとえば、車両および/または歩行者は、さまざまな形状の長方形として表され得、歩行者は、円柱として表され得る、といった具合である。
【0093】
いくつかの例においては、インスタンス化されたシミュレートされた環境は、照明および/またはテクスチャを含み得るが、本明細書において説明されている技術は、照明および/またはテクスチャを伴わずに機能する。2次元のシミュレーションに関しては、照明およびテクスチャが使用されない場合がある。その上、照明およびテクスチャは、3次元のシミュレーションに関しても使用されない場合がある。シミュレートされた環境は、車両306自体のモデルを含み得る。いくつかの例においては、シミュレートされた環境の環境部分をインスタンス化することは、マップデータおよび/または知覚データ(第1の候補アクションが基づいた予測ノードに関連付けられている環境状態データによって示され得る)に少なくとも部分的に基づき得、シミュレートされた環境におけるオブジェクトは、第1の候補アクションが基づいた予測ノードによって示される環境状態データに少なくとも部分的に基づき得る。
【0094】
シミュレーションを実行することは、候補アクションに従って、および上述されているシミュレーションのインスタンス化に基づいて車両306のシミュレートされた表現を制御することを含み得、それは、候補アクションが基づいた予測ノードによって示される環境状態データを使用することを含み得る。シミュレーションを実行することは、追加として、または代替として、シミュレートされた環境における動的オブジェクトの動きをシミュレートすることを含み得る。動的オブジェクトの動きをシミュレートすることは、エージェントフィルタによって決定される、動的オブジェクトが反応性であるものとして示されるかまたは不活性であるものとして示されるかに依存し得、それは、候補アクションが基づいた予測ノードに関連付けられている環境状態データにおいて示され得る。エージェントフィルタが動的オブジェクトを不活性として分類した場合には、動的オブジェクトの予測された軌道を決定するためにカルマンフィルタまたはその他のより単純な予測方法が使用され得る。しかしながら、エージェントフィルタが動的オブジェクトを反応性として分類した場合には、シミュレーションコンポーネントは、プランニングコンポーネントの別個のインスタンス、エージェント行動モデル(特許文献1を参照されたい、および/または、候補アクションに少なくとも部分的に基づいて動的オブジェクトのシミュレーションを制御するようにトレーニングされている1つもしくは複数のMLモデルを使用して動的オブジェクトの動きを制御し得る。たとえば、動的オブジェクトのシミュレートされた動きを制御するコンポーネントは、シミュレートされた車両306による候補アクションのシミュレートされた実行に少なくとも部分的に基づいて、シミュレートされた動的オブジェクトを制御するためのコマンドを生成し得る。しかしながら、別の例においては、シミュレーションは、数学的な構造または機械学習モデルの出力であり得る。
【0095】
シミュレーションが完了すると(たとえば、候補アクションを完了したときに)、第1の候補アクションを実行することからの車両306の結果として生じるトラックを含む、環境におけるオブジェクトの結果として生じる予測されたトラック(たとえば、上で論じられているように、位置、向きなど)が使用されて、更新された環境状態データを決定し得る。データ構造332は、この更新された環境状態データと、第1の候補アクションを実装することから生じ得る環境の予測された状態とを示す予測ノード350を含むように更新され得る。いくつかの例においては、シミュレーションは、予測ノード352という異なる予測ノードに関連付けられている第2の更新された環境データを決定するために、わずかに異なる変数を使用して(たとえば、動的オブジェクトの傾向を「控えめ」から「積極的」、「従順」、または「公称」へ変更して)再実行され得る。いくつかの例においては、シミュレーションコンポーネントは、多数の潜在的なシナリオを出力し得、そのシナリオのそれぞれは、可能性に関連付けられ得る。そのような例においては、案内コンポーネントは、可能性しきい値を満たすかまたは超える可能性に関連付けられているそれぞれの潜在的な(予測された)シナリオに関して予測ノードを作成し得る。
【0096】
別の例においては、予測の間における類似性を決定すること、および/またはそれらの予測に基づいて決定された候補アクションの類似性を決定することに少なくとも部分的に基づいて、1つまたは複数の予測が単一のノードにおいてグループにまとめられ得る。言い換えれば、候補アクションの次のセットが後続のアクションノードレイヤ(たとえば、第2のアクションノード356を含むレイヤ)において決定された後に、プロセスは、そのレイヤの候補アクションの間における類似性を決定することを含み得る。いくつかの例においては、これは、2つの候補アクションによって定義される空間および/または時空における位置の間のユークリッド距離(たとえば、アクションノードのレイヤに関連付けられている時間など、特定の時間におけるユークリッド距離)を決定することを含み得る。いくつかの例においては、2つの(またはそれより多くの)候補アクションが(同じクラスタへとクラスタ化されているという理由で)類似していると決定するために、完全一致が必要とされ得、しきい値化が使用され得(たとえば、互いからしきい値距離未満である位置を識別する候補アクションは、類似しているものとして識別され得)、および/またはk平均クラスタリングが使用され得る。
【0097】
いずれかの候補アクション同士が、類似しているものとして識別された場合には、プロセスは、その2つの(またはそれより多くの)類似している候補アクションが生成された元である/それらの候補アクションが依存していた予測を同じ予測ノードに関連付けることを含み得る。いくつかの例においては、多数の予測が、同じ予測ノードに関連付けられている場合には、プロセスは、それぞれの異なる予測に関連する重みを決定することを含み得る。重みは、予測がその予測ノードとともに存在する程度を示し得る。この重みを決定することは、予測から生成された候補アクションと、その他の予測から決定された関連付けられているさまざまな候補アクションに関連付けられている1つまたは複数のアクションとの類似性に少なくとも部分的に基づき得る。予測を単一の予測ノードへとグループ化することは、コストによってランク付けされた1つのまたは上位p個の候補アクション、ここでpは正の整数である、など、探索する候補アクションのより小さなサブセットを決定するためのプロセスによって使用され得る。たとえば、コストに従ってランク付けされた上位2つの候補アクションは、多数の予測を識別する予測ノードに関連付けられ得る。将来の探索は、これらの2つの候補アクションに少なくとも部分的に基づき得る。
【0098】
さらに別の例においては、特定の予測レイヤの予測は、そのレイヤの予測ノードのうちのすべてに関連付けられ得る。言い換えれば、予測ノードがあるのと同数の予測ノードがあり得、予測ノードのそれぞれは、予測のうちのすべてを示し得る。そのような例においては、重みが、それぞれの予測に関連付けられ得、予測が発生する可能性、および/または予測が目標予測にどれぐらい類似しているかを示し得る。それぞれの予測ノードは、別々の目標予測を識別し得、言い換えれば、予測ノードは、比較の基準としてさまざまな予測の間を循環し得る。
【0099】
オペレーション348は、追加として、または代替として、2つ以上の環境状態を示す単一の予測ノードを、および/または、2つ以上の前の予測ノードに関連付けられている2つ以上の環境状態を表す単一の環境状態を示す単一の予測ノードをもたらし得る結合オペレーションを含み得る。たとえば、予測ノード350に対する予測ノード352など、第1の予測ノードと同じレイヤにおいて第2の予測ノードを生成する際に、例示的なプロセス300は、MLモデルによって少なくとも2つの予測ノードの類似性を決定することを含み得る。そのような例においては、MLモデルは、パーセプトロンのセットおよび/またはパーセプトロンの多数のレイヤ(たとえば、CNN)、サポートベクターマシン(SVM)などであり得る。MLモデルは、2つの環境状態の間における類似性を示すスコアを出力するようにトレーニングされ得る。MLモデルは、環境状態を、類似しているものとして、または類似していないものとしてラベル付けする教師あり方法に従ってトレーニングされ得る。MLモデルによって出力されたスコアがしきい値を満たすかまたは超える場合には、2つの(またはそれ以上の)予測ノードが、単一の予測ノードへと結合され得、そうでない場合には、それらの予測ノードは、別個のままであり得る。類似性に基づいて、さらなる計算リソースが節約され得るが、なぜなら、両方のノードの探索は、実質的に類似している成果をもたらすことになるからである。
【0100】
さらに別の例においては、MLモデルは、環境状態データに関連付けられている埋め込みを決定することによってなど、予測ノードに関連付けられている埋め込みを決定し得、それは、環境状態データを高次元データ構造へと変形することと、その高次元データ構造を埋め込み空間へと投影することとを含み得る。そのような例においては、MLモデルは、一様多様体近似および射影(UMAP)、t分布確率的近傍埋め込み(t-SNE)、ISOマップ、ローカル線形埋め込み(LLE)、またはその他のそのようなアルゴリズムなどの埋め込みアルゴリズムを含み得る。例示的なプロセス300が2つの予測ノードのそれぞれに関して埋め込みを決定し、その2つの埋め込みの間の埋め込み空間における距離(たとえば、ユークリッド距離)を決定する例においては。その距離がしきい値距離未満である場合には、その予測ノードは結合され得、そうでない場合には、その予測ノードは別個のままであり得る。
【0101】
オペレーション354において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、先行する予測ノードによって示される環境状態データに少なくとも部分的に基づいて車両の動きを制御するための第2の候補アクションを決定することを含み得る。たとえば、第2の候補アクションを決定することは、予測ノード350によって示される環境状態データに少なくとも部分的に基づき得る。予測ノードと、それに基づく候補アクションとの間におけるこの関係は、矢印によって示されており、いくつかの例においては、予測ノード350に少なくとも部分的に基づいて第2の候補アクションを決定することは、予測ノード350に関連付けられている更新された環境状態データをもたらしたシミュレーションが動作制約の違反をもたらさなかったということ、コストが超過されなかったということ、または影響がなかったということを決定することに少なくとも部分的に基づき得る。
【0102】
限定ではなく、例を挙げると、動作制約は、車両と、最も近いオブジェクトとの間における最小距離、衝突を回避するために必要とされる加速度、衝突までの時間、ルートからの逸脱、車両によるジャークおよび/または加速度がしきい値ジャークおよび/またはしきい値加速度を満たしたまたは超えたかどうか、予測される衝突の可能性等など、車両の動作に関連付けられている運動学的なおよび/または定性的なメトリックを含み得る。動作制約は、追加として、または代替として、シミュレートされた自律車両がシミュレーション中に任意のオブジェクトからやって来た最小距離に少なくとも部分的に基づいて報酬を低減するかまたは報酬を増加させるために使用され得るさまざまな最小距離に関連付けられている重みを含み得る。
【0103】
いくつかの例においては、第1の候補アクションに関連付けられている最終コストは、予測ノード350の生成の後におよび/または生成と同時に決定され得る。いくつかの例においては、第2の候補アクションを生成することを決定することは、この最終コストに少なくとも部分的に基づき得る。たとえば、その他の最終コストは、アクションノード342および/もしくは344ならびに/またはそれらに従属する予測ノードに関連して決定され得る。第1のアクションノード338から(予測ノード35を介して)分岐する第2の候補アクションを生成することを決定することは、第1のアクションノード338が、別のアクションを取ることの合計コストよりも小さいアクションの合計コストに関連付けられていると決定することに少なくとも部分的に基づき得る。合計コストとは、問題の候補アクションのコストと、問題の候補アクションに至る分岐におけるあらゆる先行アクションの総コストとを指す。第2の候補アクションのケースにおいては、合計コストは、第2の候補アクションに関連付けられている最終コストに、第1の候補アクションに関連付けられている最終コストを加えたものになるであろう。
【0104】
データ構造332は、第2のアクションノード356と、予測ノード350に少なくとも部分的に基づいて決定されるいずれかのその他の候補アクションに関連付けられているアクションノードとを含むように更新され得る。
図3Bおよび
図3Cは、レイヤのそれぞれの1つの分岐のみが探索されるプロセスの単純化を示しているということに留意されたい。さらなるアクションが、アクションノード342および344によって示されているように同じ予測ノードから、または別々の予測ノードから決定され得、さらなる予測ノードが決定され得る、といった具合である。ルートノード330自体が、予測環境状態データを含み得るので、予測ノード350および352は、予測ノードの第2のレイヤにあると考えられ得る。
【0105】
例示的なプロセス300は、第2の候補アクションを決定することに少なくとも部分的に基づいてオペレーション358および/または360を開始し得るが、いくつかの例においては、オペレーション358は、追加として、または代替として、オペレーション348に少なくとも部分的に基づいて決定され得る。
【0106】
オペレーション358において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、動的オブジェクトが不活性のエージェントとして表され得るかまたは反応性のエージェントとして表され得るかを決定することを含み得る。オペレーション358は、予測ノード350または352など、最も直近の予測ノードによって示される動的オブジェクトのうちの少なくとも1つを再分類することを含み得る。いくつかの例においては、オペレーション358は、オペレーション348の一部であり得るが、いくつかの例においては、オペレーション358は、入力として候補アクションを受信し得、それは、次の候補アクションが予測ノードに少なくとも部分的に基づいて生成されるのを待つことを含み得る。示されている例においては、予測ノード350に関する動的オブジェクト分類を更新することは、第2のアクションノード356に関連して決定された第2の候補アクションを使用することを含み得る。いくつかの例においては、エージェントフィルタは、入力として候補アクションを使用することなく動的オブジェクトを分類するようにトレーニングされ得、そのケースにおいては、オペレーション358は、オペレーション348の一部であり得る。
【0107】
それにかかわらず、予測ノードに関連付けられている環境状態データによって示される、動的オブジェクトに関連付けられているトラックが、車両の体勢および/またはトラックとともにエージェントフィルタへの入力として提供され得る。ツリー検索におけるこの段階では、環境状態データは、動的オブジェクトの予測されたトラックを含むということに留意されたい。エージェントフィルタは、動的オブジェクトの予測されたトラックを現在のトラックとして扱い得、ルートノードによって識別された現在のトラックは、過去のトラックとして扱われることになるであろう、またはエージェントフィルタは、予測されたトラックを、予測されたトラックとして扱い得る。言い換えれば、エージェントフィルタは、過去のトラック、現在のトラック、および/または予測されたトラックを含む、トラックの多数の時間ステップを取り扱うようにトレーニングされ得る。いくつかの場合においては、エージェントフィルタは、ツリー検索空間における最も直近の時間を基準として最後のn秒、ここでnは正の数である、などの時間ウィンドウに関連付けられている利用可能なトラックの一部分を使用し得る。
【0108】
エージェントフィルタによって決定されたように、動的オブジェクトの分類が変わった場合には、そのオブジェクトの分類は、予測ノードに関連付けられている環境状態データにおいて修正され得る。たとえば、反応性オブジェクトが不活性オブジェクトとして再分類され得、またはその逆も同様である。オペレーション362において、例示的なプロセス300は、データ構造における適切な予測ノードでそのようなステータスを変更することを含み得る。いくつかの例においては、この新たな分類は、オペレーション364において、後続の予測ノードを決定するためのシミュレーションの一部としてエージェントフィルタによって使用され得る。たとえば、第2のアクションノード356に基づいて決定された示されていない予測ノードが、オペレーション358および362において決定された更新された分類をシミュレーションの一部として使用し得る。予測ノードによって識別された環境状態データにおいて識別された動的オブジェクトのうちのいずれに関しても分類が変わらない場合には、例示的なプロセス300は、その予測ノードを修正することなく続行し得る。
【0109】
オペレーション360において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、上限コストを使用して、第2の候補アクションに関連付けられている第2のコストを決定することを含み得る。上述されているように、純粋に例として、オペレーション346において下限コストが使用され、1:1の比率に従って下限コストと上限コストとを交互に使用することは、上限コストがオペレーション360において使用されることを決定するであろう。しかしながら、上述されているように、上限コストが最初に使用され得、比率は、1:1以外の任意のその他の比率であり得る。それにかかわらず、第2のコストを決定することは、上限コストを使用することを含み得、上限コストは、デフォルトアクションに関連付けられている所定のコストであり得る。
【0110】
オペレーション366において、例示的なプロセス300は、本明細書において論じられている技術のうちのいずれかに従って、第1の候補アクションと第2の候補アクションとを、それらに関連付けられている総コストに少なくとも部分的に基づいて含む経路に少なくとも部分的に基づいて車両を制御することを含み得る。たとえば、ツリー検索は、事前に定義された数のアクションノードを決定すること、計算に関する時間制限、計算または記憶の制限、ルートに沿った変位が達成されること、いくつかの時間ステップが到達されていること(たとえば、計画対象期間までのアクションが決定されていること)、目標位置に到達するアクションを決定すること、目標位置への経路がコストしきい値未満であると決定すること等のような終了イベントまで、アクションノードと予測ノードとを交互に決定し続け得る。
【0111】
案内コンポーネントは、アクションノードのセットを通る1つまたは複数の連続した経路を、ノードのセットが生成された際に、および/または終了イベントが発生した際に決定し得る。いくつかの例においては、案内コンポーネントは、アクションノードのセットを通る1つまたは複数の潜在的な経路を、それらが生成された際にトレースし得、最も低いコストの経路(すなわち、開始点/ルートノードへのノードの最後のレイヤにおける潜在的な経路の端にある、および/または車両の現在の位置にあるノードからの)をバックトレースして、それが衝突がないことを確実にし得る。それにかかわらず、案内システムは、最も低いコストに関連付けられている、および/またはルートに沿って最も多く前進する、ノードのセットを通る連続した経路を決定し得る。アクションノードの連続した経路は、データ構造332における従属関係によって接続されているノードのセットである。介在している予測ノードは、それらが示し得るサブコストを超える経路プランニングのために考慮に入れられることはない。2つのアクションノードが、介在している予測ノードによって接続されている場合には、それらは従属しており、それは、下位レベルのアクションノード(たとえば、第2のアクションノード356)が上位レベルのアクションノード(たとえば、第1のアクションノード338)の終了位置から開始するということを示している。
【0112】
案内システムは、ルートノードからデータ構造332の最後のレイヤまでの経路の検索を行い得る。検索を行うことは、ルートノードからデータ構造332の最も深いレイヤにおけるアクションノードまでのノードのさまざまなセットのノードの間における接続の連続したセットを決定することを含み得る。経路を決定することは、ルートに沿った変位と、解の間における横方向/方位角多様性との組合せを最大化し(または多様性ヒューリスティックを満たし)、所与のタイムインターバルにおけるコストマップに少なくとも部分的に基づいてコストを最小化する、多変量空間における解を検索することを含み得る。たとえば、検索アルゴリズムは、たとえば、D*、D*lite、Focused Dynamic A*、A*、LPA*、ダイクストラアルゴリズム等のようなアルゴリズムを含み得るが、有向グラフおよび/または重み付き有向グラフを検索および/または生成するためのその他の検索アルゴリズムが使用され得る。いくつかの例においては、検索は、たとえば、その範囲内で経路を決定するための境界(たとえば、その境界は、センサデータおよび/またはマップに少なくとも部分的に基づいて決定され得る)、ノード接続ルール(たとえば、ノードは、親ノードを1つだけ有し得る)などを指定する1つまたは複数のルールを含み得るルールセットを用いて構成され得る。いくつかの例においては、検索は、ノードのセットのノードの間における有向グラフを決定することを含み得る。有向グラフは、第1のノードと第2のノードとの間における接続(たとえば、エッジ)および/またはその接続に関連付けられている重み(たとえば、コスト)を含み得る。
【0113】
いくつかの例においては、経路の完全な検索を行う前に、案内コンポーネントは、案内システムによって決定された以前の経路および/または以前の接続が実現可能である(たとえば、速度、最大ステアリング角度、および/または境界などの現在の制約を満たしている、衝突がない、コストしきい値未満であるコストを有している)かどうかを決定することを含み得る。
【0114】
いくつかの例においては、案内システムによって決定される経路は、粗い経路であり得る。たとえば、粗い経路は、1秒または500ミリ秒のインターバルで車両がたどる接近の位置、方向、速度、および/または曲率を識別し得るが、車両のコンポーネントは、より細かいタイムインターバル(たとえば、10ミリ秒、100ミリ秒)での制御を必要とし得るか、または制御が可能であり得る。言い換えれば、粗い経路は、車両が重大なエラーを伴わずにたどるには十分に平滑ではない場合がある。いくつかの例においては、第1のタイプのプロセッサ(たとえば、グラフィックスプロセッシングユニット(GPU))は、予測ノードおよびアクションノードを決定し得、ならびに/または経路を決定し得、第2のタイプのプロセッサは、GPUによって生成された経路を平滑化し得、および/または平滑な経路に少なくとも部分的に基づいて車両を制御するための軌道を決定し得る。
【0115】
本明細書において論じられている案内システムは、本明細書において論じられているコストに少なくとも部分的に基づいて経路を実行可能として識別し得、および/またはその経路に関連付けられている信頼性スコアを決定し得る。案内システムは、経路および/または信頼性スコアを出力し得、自律車両は、それらを使用して、たとえば、経路に少なくとも部分的に基づいて軌道を生成することによって、自律車両の動きを制御し得る。いくつかの例においては、案内システムは、主要経路および/または偶発的経路を出力し得る。たとえば、案内システムは、候補経路のセットを生成することと、しきい値距離に少なくとも部分的に基づいて、そのセットが候補経路の2つのグループを含む(たとえば、それらの2つのグループは、2つの別個のホモトピック群(homotopic groups)であり得る)と決定することと、第1のグループから主要経路を、そして第2のグループから偶発的経路を選択することとに少なくとも部分的に基づいて偶発的経路を決定し得る。いくつかの例においては、主要経路は、主要経路が、偶発的経路に関連付けられている第2の総コストよりも小さい第1の総コストに関連付けられていると決定することに少なくとも部分的に基づいて、主要経路として選択され得る。主要経路は、第1の総コストに関連付けられ得、ならびに/または偶発的経路は、コストしきい値未満である、および/もしくはそれに関連付けられているそれぞれのグループの最小コストであり得る第2の総コストに関連付けられ得る。
【0116】
図4は、ツリー検索の4つの異なるアクションレイヤで生成された候補アクション(すなわち、示されている例においては軌道)の4つの異なるセットの3次元の表現400を示している。候補アクションの第1のセット402は、車両の位置404に少なくとも部分的に基づいて生成された。これらの候補アクション402は、追加として、または代替として、車両の動作に関連付けられている向き、速度、加速度、ステアリング速度、ルートノードに関連して示される環境状態データ(静的/動的オブジェクトなどに関して上でさらに詳細に論じられている)などに少なくとも部分的に基づいて決定され得る。車両によって占有されるスペースは、破線として406で表されている。
図4はまた、道路端408および道路端410という2つの道路端を表している。候補アクションの高さは、その候補アクションに関連付けられている速度および/または加速度を示している。
【0117】
候補アクションの第2のセット412は、探索のための候補アクションの第1のセット402の第1の候補アクションを選択することに少なくとも部分的に基づいて、および第1の候補アクションの実行を完了したときに第1の候補アクションが車両に達成させるであろう最終位置414、向き、速度、ステアリング速度などと、環境状態データとに少なくとも部分的に基づいて生成され得る。候補アクションの第2のセット412は、追加として、または代替として、第1の候補アクションに少なくとも部分的に基づいて決定される予測ノードによって示される環境状態データに少なくとも部分的に基づいて決定され得る。
【0118】
候補アクションの第3のセット416は、同様に、候補アクションの第2のセット412の中からの第2の候補アクションの選択、それに関連して生成される環境状態データ、および/または第2の候補アクションが影響を与えるであろう最終位置418、向き、速度、ステアリング速度などに少なくとも部分的に基づき得る。候補アクションの第4のセット420は、同様に、候補アクションの第3のセット416の中からの第3の候補アクションの選択、それに関連して生成される環境状態データ、および/または第3の候補アクションが影響を与えるであろう最終位置422、向き、速度、ステアリング速度などに少なくとも部分的に基づき得る。
【0119】
表現400は、部分観測マルコフ決定過程(POMDP)に従って決定された決定化されたまばらな部分的に観察可能なツリー(DESPOT)の視覚的な描写であり得る。
【0120】
図5Aおよび
図5Bは、ツリー検索の同じレベルのさまざまなアクションノードに関してツリー検索によって生成され得るさまざまな候補アクションのトップダウン図を示している。たとえば、
図5Aにおいては、候補アクション500が、環境状態データ502に基づいて生成され得、環境状態データ502は、予測ノードによって示され得る。
図5Bにおいては、候補アクション504が、環境状態データ502に基づいて生成され得、環境状態データ502は、同じ予測ノードによって示され得る。たとえば、候補アクション500は、第1のアクションノード338に関連付けられている候補アクション340を表し得、候補アクション504は、アクションノード344など、データ構造の同じレイヤにおける別のアクションノードに関連付けられ得る。
【0121】
図6Aおよび
図6Bは、
図5Aにおいて示されている候補アクション500に少なくとも部分的に基づいて決定され得る単一の予測ノードまたは2つの異なる予測ノードに関連付けられている環境状態データ600および環境状態データ602という2つの異なる予測環境状態のトップダウン図を示している。環境状態の間における差異は、オペレーション348および/または364に関して上述されているような、候補アクション500のシミュレーションのパラメータを変更することに少なくとも部分的に基づき得る。環境状態データ600を決定する結果となり得る第1のシミュレーションにおいては、車両604および車両606という2つの反応性オブジェクトは両方とも、「公称」または「控えめ」という傾向を割り振られ得、それは、車両306による候補アクション500のシミュレートされた実行を考慮して車両606を完全に停止させ得、車両604を完全に停止させ得るかまたは減速させ得、それは、車両306の最終位置608をもたらし得る。
【0122】
図6Bを参照すると、環境状態データ602は、車両604および車両606という2つの反応性オブジェクトが両方とも「積極的」または「注意力が低い」という傾向を割り振られ得るシミュレーションに少なくとも部分的に基づいて決定され得、それは、車両306が候補アクション500を実行した際に、それらの車両が車両306を無視するか、車両306を考慮し損なうか、または車両306の行く手を遮ろうとするようにさせ得、その結果、車両604および606は、車両306の前に配置されることになる。
【0123】
少なくとも1つの例においては、環境状態データ600は、第1の予測ノードに関連付けられ得、環境状態データ602は、第2の予測ノードに関連付けられ得るが、なぜなら、それらの2つの環境状態は十分に異なり得るので、その2つの状態は別々であるべきであると結合オペレーションが決定し得るからである。たとえば、環境状態データ600は、予測ノード350に関連付けられ得、環境状態データ602は、予測ノード352に関連付けられ得る。これらの予測ノードの両方は、同じアクションノード、すなわち第1のアクションノード338に従属しているということに留意されたい。なぜなら、それに関連付けられている環境状態データは両方とも、同じアクション、すなわち候補アクション500(これは、候補アクション340に相当し得る)に少なくとも部分的に基づいて決定されたからである。これらの予測ノードは、データ構造332の同じレイヤにあるということにも留意されたい。結果として生じる環境状態がより類似している追加のまたは代替の例においては、その2つの環境状態が両方とも、同じ予測ノードによって示されることが可能であるか、または代表の環境状態を選択することによって、もしくは環境状態を平均化することによってなど、1つの環境状態が両方の環境状態を表すことが可能である。
【0124】
図7Aおよび
図7Bは、
図6Aにおいて示されており、第1の予測ノード、たとえば予測ノード350に関連付けられている環境状態データ600に基づいて生成された2つの異なる候補アクション、それぞれ候補アクション700および候補アクション702、のトップダウン図を示している。たとえば、候補アクション700は、第2のアクションノード356に関連付けられ得、候補アクション702は、アクションノード356のようにやはり予測ノード350に従属する示されていないアクションノードに関連付けられ得る。
【0125】
図7Aおよび
図7Bはまた、それぞれ、候補アクション700または候補アクション702に基づいて次のレベルの予測ノードを生成する際に予測および/またはシミュレーションコンポーネントによって使用するために動的オブジェクトの分類を反応性オブジェクトから不活性オブジェクトへ変更するエージェントフィルタリングの結果を示している。オペレーション358および/または362は、この変更をもたらし得る。車両604が反応性オブジェクトとして分類されている
図6Aおよび
図6Bにおける車両604の分類を、車両604が不活性オブジェクトとして再分類されている
図7Aおよび
図7Bにおける車両604の分類に比較していただきたい。そのような例においては、オペレーション358および362は、車両604を不活性オブジェクトとして分類することを含み得る。これはなぜなら、車両604は、車両604が車両306のアクションに基づいて自らの行動をもはや変更しないであろう、または自らの行動を変更する可能性が低いポイントに到達しているからである、というケースであり得る。これが意味しているのは、後続の予測オペレーションにおいて、車両604が、車両306の候補アクションにかかわらずに、より単純化してシミュレートされ得るということである。
【0126】
図8Aおよび
図8Bは、候補アクションの決定に関するさらなる詳細を示している。
図8Aは、ツリー検索のためのアクションを確率的に生成するために使用される曲線道路800、車線基準802、およびオフセット基準804のトップダウン図を示している。示されている道路800は、簡単にするために単一の車線であり得る。車線基準802は、事前に決定されて、マップに関連して記憶され得、または車線基準802は、車両306の知覚コンポーネントによって決定され得る。オフセット806は、
図8Bに関連してさらに詳細に論じられているように、確率的にまたは反復的に決定され得る。オフセットは、オフセット基準804を決定するために使用され得、オフセット基準804は、オフセット806によって定義された量だけの車線基準802の転位であり得る。案内コンポーネントおよび/またはプランニングコンポーネントは、オフセットが0である場合には、車線基準802に少なくとも部分的に基づいて候補アクションを決定し得、それは、車線基準802に従う軌道を生成することを含むことになるであろう。特許文献7に従って決定された複雑な環境においてなど、最大限に許容される合法のスピード(もしくは最大限に許容される合法のスピードを下回る事前に定義されたスピードに等しい速度で、またはそれに等しくなるように加速/減速して車線基準をたどることは、ツリー検索によって使用されるデフォルトポリシであり得る。このデフォルトポリシは、いくつかの例においては、上限コストを決定するために使用され得る。デフォルトポリシは、すべてのその他のエージェントが注意深いもしくは従順である(車両に道を譲る)ものとしてモデル化されているか、またはそれによって快適性コストおよび/もしくは全体的なコストを最小化する場合など、最良のケースのアクションであり得る。
【0127】
オフセットが非ゼロである例においては、候補アクションを決定することは、車両の快適性のメトリックおよび/またはステアリング能力に関連付けられている平滑性制約に従って境界付けられている曲線、ベジェ、勾配などを開始位置810からオフセット基準804上の位置まで描くことによって軌道808を決定することを含み得る。
【0128】
図8Bは、適切な経路を見つけ出すために十分なパラメータ空間がサンプリングされることを確実にするために使用され得るツリー検索のためのアクションを決定するためのサンプリング技術を示すグラフ812を示している。これは、アクションノードによって示される候補アクションの多様性を確実にし得、それによって、別個のアクションノード結合オペレーションは必要とされない。追加のまたは代替の例においては、予測ノードに関して上述されているものなどの結合オペレーションが、類似しているアクションノードを結合してデータ構造をスリム化するために使用され得る。示されているグラフ812は、候補アクションの間において変更され得る2つのパラメータである、ルートに沿った変位方向における速度814(y軸上に表されている)および車線基準からのオフセット816(x軸上に表されている)を示しているだけである。ステアリング速度、最終的な方向、環境内の位置、加速度、横方向のおよび/または縦方向の速度(ルートに沿った速度の代わりに、またはそれに加えて)等のような追加のまたは代替のパラメータが、候補アクションを生成するために使用され得るということを理解されたい。グラフ812は、ひし形として示されているサンプル818などのサンプルを含み、それは、毎秒3メートルおよび0.2メートルの間隔に従ってサンプリングされている。任意のその他の間隔が、空間をサンプリングするために使用され得、間隔は、サンプリングされているパラメータのタイプに基づく所定の値であり得、候補アクションが十分に異なるように選択され得る。いくつかの例においては、サンプルは、領域820などの領域に限定され得る。領域820は、知覚データ、環境状態データ、現在の軌道、および/または以前のアクションに少なくとも部分的に基づいて決定され得る。示されている例においては、車両は、現在速く移動している場合があり、したがって、次の時間ステップで毎秒0メートルまで減速することは実現可能ではない場合がある。最大でも、車両は、次の時間ステップで毎秒8メートルまで減速することが可能であり得る。また、車両のスピードが高くなればなるほど、車両は、曲率/ステアリング速度の制約に違反することに至りやすくなる場合があり、それは、スピードに依存している場合があり、それによってオフセット値を制限する。言い換えれば、車両が速く移動すればするほど、候補アクションは、横方向の加速度またはジャークを超えないように(横方向に)狭くなり得る。
【0129】
例示的な条項
A:環境における開始位置および終了位置に関連付けられているルートデータを受信するステップと、センサからセンサデータを受信するステップと、センサデータおよびルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第1の候補アクションを決定するステップと、第1の候補アクションに関連付けられている第1のコストを決定するステップであって、第1のコストは、下限コストに少なくとも部分的に基づいており、下限コストは、第1の候補アクションの始まりに関連付けられている時間における車両の第1の状態を変更するためのアクションの最小コストの推定値である、ステップと、第1の候補アクションおよびセンサデータに少なくとも部分的に基づいて、環境の第1の状態に関連付けられている第1の予測を決定するステップであって、第1の予測は、将来の時間の環境におけるオブジェクトの第1の状態を含む、ステップと、第1の予測およびルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第2の候補アクションを決定するステップと、第2の候補アクションに関連付けられている第2のコストを決定するステップであって、第2のコストは、上限コストに少なくとも部分的に基づき、上限コストは、デフォルトアクションを実行するためのコストの推定値である、ステップと、下限コストまたは上限コストのうちの一方を1つまたは複数の後続の候補アクションに交互に適用するステップと、第1の候補アクションおよび第2の候補アクションを含む経路に、ならびに、第1のコストおよび第2のコストを含む第1の総コストが、しきい値未満であるか、または第1の候補アクションもしくは第2の候補アクションのうちの少なくとも一方とは異なる少なくとも1つの候補アクションを含む第2の経路に関連付けられている第2の総コスト未満であると決定することに少なくとも部分的に基づいて、車両を制御するステップとを含む方法。
【0130】
B:機械学習モデルによって、およびセンサデータに少なくとも部分的に基づいて、オブジェクトが反応性オブジェクトであると決定するステップと、オブジェクトが反応性オブジェクトであるという決定を使用して第1のシミュレーションを実行することに少なくとも部分的に基づいて、第1の予測を決定するステップとをさらに含み、オブジェクトが反応性オブジェクトであるという決定を使用して第1のシミュレーションを実行することは、第1の候補アクションに少なくとも部分的に基づいて、オブジェクトの表現の動きを決定することを含む、パラグラフAに記載の方法。
【0131】
C:機械学習モデルによって、およびセンサデータに少なくとも部分的に基づいて、オブジェクトが不活性オブジェクトであると決定するステップと、不活性オブジェクトの動きをモデル化することに少なくとも部分的に基づいて、第1の予測を決定するステップとをさらに含み、不活性オブジェクトの動きをモデル化することは、不活性オブジェクトの動きを、オブジェクトの状態に少なくとも部分的に基づいて、および第1の候補アクションを除外して決定することを含む、パラグラフAまたはBのいずれかに記載の方法。
【0132】
D:データ構造の同じ予測ノードに、第1の候補アクション、および第2の候補アクションを割り振るステップであって、第1の予測および第2の予測は、第1の予測に少なくとも部分的に基づいて候補アクションの第1のセットを、および第2の予測に少なくとも部分的に基づいて候補アクションの第2のセットを決定することと、第1のセットに関連付けられているコストのうちからの第1の最小コストに関連付けられている第1のセットの中から第1のアクションを決定することと、第1のセットに関連付けられているコストのうちからの第2の最小コストに関連付けられている第2のセットの中から第2のアクションを決定することと、第1のアクションおよび第2のアクションが、しきい値距離未満である互いからの距離内にある位置に関連付けられていると決定することとに少なくとも部分的に基づいて、第1の予測と同じ予測レイヤに関連付けられている、ステップをさらに含む、パラグラフA~Cのいずれか1つに記載の方法。
【0133】
E:センサデータに少なくとも部分的に基づいて、オブジェクトが第1の候補アクションまたは第2の候補アクションのうちの1つまたは複数に応答して行動を修正するであろう可能性を決定するステップと、その可能性がしきい値を満たしているかもしくは超えていることに少なくとも部分的に基づいて、オブジェクトを反応性のエージェントとして分類することを決定するステップ、またはその可能性がしきい値以下であることに少なくとも部分的に基づいて、オブジェクトを不活性のエージェントとして分類することを決定するステップのうちの一方とをさらに含む、パラグラフA~Dのいずれか1つに記載の方法。
【0134】
F:下限コストは、ゼロであり、上限コストは、第2の候補アクション、または、デフォルト軌道に関連付けられているコストのうちの少なくとも一方に少なくとも部分的に基づいて決定される、パラグラフA~Eのいずれか1つに記載の方法。
【0135】
G:1つまたは複数のプロセッサと、プロセッサ実行可能命令を記憶しているメモリとを備えるシステムであって、プロセッサ実行可能命令は、1つまたは複数のプロセッサによって実行されたときに、システムに、環境における開始位置および終了位置に関連付けられているルートデータを受信することと、センサからセンサデータを受信することと、センサデータおよびルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第1の候補アクションを決定することと、第1の候補アクションに関連付けられている第1のコストを決定することであり、第1のコストは、下限コストに少なくとも部分的に基づいており、下限コストは、第1の候補アクションの始まりに関連付けられている時間における車両の第1の状態を変更するためのアクションの最小コストの推定値である、決定することと、第1の候補アクションおよびセンサデータに少なくとも部分的に基づいて、環境の第1の状態に関連付けられている第1の予測を決定することであり、第1の予測は、将来の時間の環境におけるオブジェクトの第1の状態を含む、決定することと、第1の予測およびルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第2の候補アクションを決定することと、第2の候補アクションに関連付けられている第2のコストを決定することであって、第2のコストは、上限コストに少なくとも部分的に基づき、上限コストは、デフォルトアクションを実行するためのコストの推定値である、決定することと、下限コストまたは上限コストのうちの一方を1つまたは複数の後続の候補アクションに交互に適用することと、第1の候補アクションと、第2の候補アクションとを含む経路、および、第1の候補アクションと、第2の候補アクションとに関連付けられている第1の総コストを決定することに少なくとも部分的に基づいて、車両を制御することとを備えるオペレーションを実行させるシステム。
【0136】
H:オペレーションは、機械学習モデルによって、およびセンサデータに少なくとも部分的に基づいて、オブジェクトが反応性オブジェクトであると決定することと、オブジェクトが反応性オブジェクトであるという決定を使用して第1のシミュレーションを実行することに少なくとも部分的に基づいて、第1の予測を決定することとをさらに含み、オブジェクトが反応性オブジェクトであるという決定を使用して第1のシミュレーションを実行することは、第1の候補アクションに少なくとも部分的に基づいて、オブジェクトの表現の動きを決定することを含む、パラグラフGに記載のシステム。
【0137】
I:オペレーションは、機械学習モデルによって、およびセンサデータに少なくとも部分的に基づいて、オブジェクトが不活性オブジェクトであると決定することと、不活性オブジェクトの動きをモデル化することに少なくとも部分的に基づいて、第1の予測を決定することとをさらに含み、不活性オブジェクトの動きをモデル化することは、不活性オブジェクトの動きを、オブジェクトの状態に少なくとも部分的に基づいて、および第1の候補アクションを除外して決定することを含む、パラグラフGまたはHのいずれかに記載のシステム。
【0138】
J:オペレーションは、データ構造の同じ予測ノードに、第1の候補アクション、および第2の候補アクションを割り振ることであって、第1の予測および第2の予測は、第1の予測に少なくとも部分的に基づいて候補アクションの第1のセットを、および第2の予測に少なくとも部分的に基づいて候補アクションの第2のセットを決定することと、第1のセットに関連付けられているコストのうちからの第1の最小コストに関連付けられている第1のセットの中から第1のアクションを決定することと、第1のセットに関連付けられているコストのうちからの第2の最小コストに関連付けられている第2のセットの中から第2のアクションを決定することと、第1のアクションおよび第2のアクションが、しきい値距離未満である互いからの距離内にある位置に関連付けられていると決定することとに少なくとも部分的に基づいて、第1の予測と同じ予測レイヤに関連付けられている、割り振ることをさらに含む、パラグラフG~Iのいずれか1つに記載のシステム。
【0139】
K:オペレーションは、センサデータに少なくとも部分的に基づいて、オブジェクトが第1の候補アクションまたは第2の候補アクションのうちの1つまたは複数に応答して行動を修正する可能性を決定することと、その可能性がしきい値を満たしているかもしくは超えていることに少なくとも部分的に基づいて、オブジェクトを反応性のエージェントとして分類することを決定すること、または、その可能性がしきい値以下であることに少なくとも部分的に基づいて、オブジェクトを不活性のエージェントとして分類することを決定することのうちの一方とをさらに含む、パラグラフG~Jのいずれか1つに記載のシステム。
【0140】
L:下限コストはゼロであり、上限コストは、第2の候補アクション、または、デフォルト軌道に関連付けられているコストのうちの少なくとも一方に少なくとも部分的に基づいて決定される、パラグラフG~Kのいずれか1つに記載のシステム。
【0141】
M:経路に少なくとも部分的に基づいて車両を制御することは、第1の総コストが、しきい値未満である、または第1の候補アクションもしくは第2の候補アクションのうちの少なくとも一方と異なる少なくとも1つの候補アクションを含む第2の経路に関連付けられている第2の総コスト未満であると決定することに少なくとも部分的にさらに基づく、パラグラフG~Lのいずれか1つに記載のシステム。
【0142】
N:プロセッサ実行可能命令を記憶している非一時的コンピュータ可読媒体であって、プロセッサ実行可能命令は、1つまたは複数のプロセッサによって実行されたときに、1つまたは複数のプロセッサに、環境における開始位置および終了位置に関連付けられているルートデータを受信することと、センサからセンサデータを受信することと、センサデータおよびルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第1の候補アクションを決定することと、第1の候補アクションに関連付けられている第1のコストを決定することであり、第1のコストは、下限コストまたは上限コストに少なくとも部分的に基づいている、決定することと、第1の候補アクションおよびセンサデータに少なくとも部分的に基づいて、環境の第1の状態に関連付けられている第1の予測を決定することであり、第1の予測は、将来の時間の環境におけるオブジェクトの第1の状態を含む、決定することと、第1の予測およびルートデータに少なくとも部分的に基づいて、車両の動きを制御するための第2の候補アクションを決定することと、第2の候補アクションに関連付けられている第2のコストを決定することであって、第2のコストは、下限コストまたは上限コストに少なくとも部分的に基づく、決定することと、下限コストまたは上限コストのうちの一方を1つまたは複数の後続の候補アクションに交互に適用することと、第1の候補アクションと、第2の候補アクションとを含む経路、および、第1の候補アクションと、第2の候補アクションとに関連付けられている第1の総コストを決定することに少なくとも部分的に基づいて、車両を制御することとを含むオペレーションを実行させる非一時的コンピュータ可読媒体。
【0143】
O:オペレーションは、機械学習モデルによって、およびセンサデータに少なくとも部分的に基づいて、オブジェクトが反応性オブジェクトであると決定することと、オブジェクトが反応性オブジェクトであるという決定を使用して第1のシミュレーションを実行することに少なくとも部分的に基づいて、第1の予測を決定することとをさらに含み、オブジェクトが反応性オブジェクトであるという決定を使用して第1のシミュレーションを実行することは、第1の候補アクションに少なくとも部分的に基づいて、オブジェクトの表現の動きを決定することを含む、パラグラフNに記載の非一時的コンピュータ可読媒体。
【0144】
P:オペレーションは、機械学習モデルによって、およびセンサデータに少なくとも部分的に基づいて、オブジェクトが不活性オブジェクトであると決定することと、不活性オブジェクトの動きをモデル化することに少なくとも部分的に基づいて、第1の予測を決定することとをさらに含み、不活性オブジェクトの動きをモデル化することは、不活性オブジェクトの動きを、オブジェクトの状態に少なくとも部分的に基づいて、および第1の候補アクションを除外して決定することを含む、パラグラフNまたはOのいずれかに記載の非一時的コンピュータ可読媒体。
【0145】
Q:オペレーションは、データ構造の同じ予測ノードに、第1の候補アクション、および第2の候補アクションを割り振ることであって、第1の予測および第2の予測は、第1の予測に少なくとも部分的に基づいて候補アクションの第1のセットを、および第2の予測に少なくとも部分的に基づいて候補アクションの第2のセットを決定することと、第1のセットに関連付けられているコストのうちからの第1の最小コストに関連付けられている第1のセットの中から第1のアクションを決定することと、第1のセットに関連付けられているコストのうちからの第2の最小コストに関連付けられている第2のセットの中から第2のアクションを決定することと、第1のアクションおよび第2のアクションが、しきい値距離未満である互いからの距離内にある位置に関連付けられていると決定することとに少なくとも部分的に基づいて、第1の予測と同じ予測レイヤに関連付けられている、割り振ることをさらに含む、パラグラフN~Pのいずれか1つに記載の非一時的コンピュータ可読媒体。
【0146】
R:オペレーションは、センサデータに少なくとも部分的に基づいて、オブジェクトが第1の候補アクションまたは第2の候補アクションのうちの1つまたは複数に応答して行動を修正する可能性を決定することと、その可能性がしきい値を満たしているか、もしくは超えていることに少なくとも部分的に基づいて、オブジェクトを反応性のエージェントとして分類することを決定すること、またはその可能性がしきい値以下であることに少なくとも部分的に基づいて、オブジェクトを不活性のエージェントとして分類することを決定することのうちの一方とをさらに含む、パラグラフN~Qのいずれか1つに記載の非一時的コンピュータ可読媒体。
【0147】
S:下限コストは、第1の候補アクションの始まりに関連付けられている時間における車両の第1の状態を変更するためのアクションの最小コストの推定値であり、上限コストは、第2の候補アクション、または、デフォルト軌道に関連付けられているコストのうちの少なくとも一方に少なくとも部分的に基づいて決定される、パラグラフN~Rのいずれか1つに記載の非一時的コンピュータ可読媒体。
【0148】
T:経路に少なくとも部分的に基づいて車両を制御することは、第1の総コストが、しきい値未満であるか、または第1の候補アクションもしくは第2の候補アクションのうちの少なくとも一方とは異なる少なくとも1つの候補アクションを含む第2の経路に関連付けられている第2の総コスト未満であると決定することに少なくとも部分的にさらに基づく、パラグラフN~Sのいずれか1つに記載の非一時的コンピュータ可読媒体。
【0149】
上述されている例示的な条項は、1つの特定の実装に関して説明されているが、この文書の文脈においては、その例示的な条項の内容は、方法、デバイス、システム、コンピュータ可読媒体、および/または別の実装を介して実装されることも可能であるということを理解されたい。加えて、例A~Tのうちのいずれも、単独で、または例A~Tのうちの任意のその他の1つもしくは複数と組み合わせて実装され得る。
【0150】
結び
本主題は、構造的な特徴および/または方法論的な行為に特有の文言で説明されてきたが、添付の特許請求の範囲において定義されている本主題は、説明されている特定の特徴または行為に必ずしも限定されるものではないということを理解されたい。むしろ、その特定の特徴および行為は、特許請求の範囲を実装する例示的な形態として開示されている。
【0151】
本明細書において説明されているコンポーネントは、任意のタイプのコンピュータ可読媒体に記憶され得る、ならびにソフトウェアおよび/またはハードウェアにおいて実装され得る命令に相当する。上述されている方法およびプロセスのうちのすべては、1つもしくは複数のコンピュータもしくはプロセッサ、ハードウェア、またはそれらの何らかの組合せによって実行されるソフトウェアコードコンポーネントおよび/またはコンピュータ実行可能命令で具体化され得、それらを介して完全に自動化され得る。本方法のうちのいくつかまたはすべては、代替として、専用のコンピュータハードウェアで具体化され得る。
【0152】
本明細書において論じられているプロセスのうちの少なくともいくつかは、論理フローグラフとして示されており、そのオペレーションのそれぞれは、ハードウェア、ソフトウェア、またはそれらの組合せで実装されることが可能であるオペレーションのシーケンスを表す。ソフトウェアのコンテキストにおいては、そのオペレーションは、1つまたは複数の非一時的コンピュータ可読記憶媒体上に記憶されているコンピュータ実行可能命令を表し、そのコンピュータ実行可能命令は、1つまたは複数のプロセッサによって実行されたときに、列挙されているオペレーションをコンピュータまたは自律車両に実行させる。一般に、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。オペレーションが説明されている順序は、限定として解釈されることを意図されているものではなく、プロセスを実装するために、任意の数の説明されているオペレーションが任意の順序でおよび/または並列に組み合わされることが可能である。
【0153】
数ある中でも、「場合がある(may)」、「could(可能であろう)」、「場合がある(may)」、または「might(かもしれない)」などの条件付きの文言は、具体的に別段の記載がない限り、特定の特徴、要素、および/またはステップを特定の例は含み、その一方でその他の例は含まないということを提示するものと文脈内で理解される。それゆえに、そのような条件付きの文言は一般に、特定の特徴、要素、および/もしくはステップが1つもしくは複数の例にとって何らかの形で必要とされているということ、または、特定の特徴、要素、および/もしくはステップがいずれかの特定の例に含まれるかどうか、もしくはいずれかの特定の例において実行されることになるかどうかを、ユーザ入力もしくはプロンプティングの有無を問わずに決定するためのロジックを1つもしくは複数の例が必ず含むということを意味することを意図されているものではない。
【0154】
「X、Y、またはZのうちの少なくとも1つ」というフレーズなどの接続的な文言は、具体的に別段の記載がない限り、項目、用語などがX、Y、もしくはZのいずれか、または、要素のそれぞれのうちの複数を含む、それらの任意の組合せであり得るということを提示するものと理解されたい。明示的に単数として説明されていない限り、「a」は単数および複数を意味する。
【0155】
本明細書において説明されている、および/または添付の図において示されている流れ図におけるいずれのルーチンの説明、要素、またはブロックも、そのルーチンにおける特定の論理的機能または要素を実装するための1つまたは複数のコンピュータ実行可能命令を含むコードのモジュール、セグメント、または部分を潜在的に表すものとして理解されたい。本明細書において説明されている例の範囲内には、代替的実装が含まれ、その代替的実装においては、当業者によってなら理解されるであろうが、含まれる機能性に応じて、要素もしくは機能が削除され得、または示されているもしくは論じられている順序から外れて、実質的に同期的に、逆の順序で、さらなるオペレーションとともに、もしくはオペレーションを省略して、などで実行され得る。実質的に、という用語は範囲を示し得るということに留意されたい。たとえば、実質的に同時にとは、2つのアクティビティが互いの時間範囲内で発生するということを示し得、実質的に同じ次元とは、2つの要素が互いの範囲内に次元を有するということを示し得る、といった具合である。
【0156】
上述の例に対して多くの変形および修正が行われ得、その要素は、その他の許容可能な例の中にあるものとして理解されたい。すべてのそのような修正および変形は、本明細書において本開示の範囲内に含まれること、および以下の特許請求の範囲によって保護されることを意図されている。
【国際調査報告】