(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-15
(54)【発明の名称】構造化されていない車両経路プランナ
(51)【国際特許分類】
B60W 30/10 20060101AFI20230608BHJP
B60W 40/04 20060101ALI20230608BHJP
G06F 16/909 20190101ALI20230608BHJP
【FI】
B60W30/10
B60W40/04
G06F16/909
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022568502
(86)(22)【出願日】2021-05-11
(85)【翻訳文提出日】2023-01-10
(86)【国際出願番号】 US2021031811
(87)【国際公開番号】W WO2021231452
(87)【国際公開日】2021-11-18
(32)【優先日】2020-05-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジェンチー ホアン
(72)【発明者】
【氏名】ジャネク フデチェク
(72)【発明者】
【氏名】マリン コビラロフ
(72)【発明者】
【氏名】ダーヌシュカ ニルメヴァン クララトナ
(72)【発明者】
【氏名】マーク ジョナサン マクレランド
【テーマコード(参考)】
3D241
5B175
【Fターム(参考)】
3D241BA15
3D241CD03
3D241CD26
3D241CE01
3D241CE02
3D241CE04
3D241CE05
3D241CE08
3D241CE09
3D241CE10
3D241DB01Z
3D241DB02Z
3D241DB05Z
3D241DB13Z
3D241DB15Z
3D241DB16Z
3D241DC28Z
3D241DC31Z
3D241DC39Z
3D241DC41Z
3D241DC50Z
3D241DD01Z
5B175DA03
5B175GA04
5B175HA01
(57)【要約】
本明細書で論じられる技法は、静的オブジェクトマップおよび/または1つもしくは複数の動的オブジェクトマップに少なくとも部分的に基づいて自律車両を制御するための経路を生成する自律車両案内システムを備え得る。案内システムは、ノードのセットおよび他のコストの中でもとりわけ、静的オブジェクトおよび/または動的オブジェクトと関連付けられたコストマップを決定することに少なくとも部分的に基づいて経路を識別し、ノードのセットを剪定し、計算制限または他の制限が到達されるまで残りのノードからさらなるノードを作成し得る。技法によって出力される経路は、生成されたノードのセットのうちの最も安価なノードと関連付けられ得る。
【特許請求の範囲】
【請求項1】
システムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されたとき、前記システムに、
環境内の動的オブジェクトの予測されるポジションと、将来の時間で前記動的オブジェクトが前記予測されるポジションを占拠する確率を受け入れることと、
前記環境のデータに少なくとも部分的に基づいて車両を制御するための経路を決定することであって、
前記環境のデータに少なくとも部分的に基づいてコストマップを決定することと、
前記環境内の前記車両の現在のポジションに少なくとも部分的に基づいて第1のノードを決定することと、
剪定技法に少なくとも部分的に基づいて、第1のノードのサブセットを決定することと、
前記第1のノードのサブセットと関連付けられたコストを決定することであって、前記コストマップおよび1つまたは複数の他のノードに対する前記第1のノードのサブセットのうちのノードの類似性に少なくとも部分的に基づいて、前記ノードと関連付けられたコストを決定することを含む、コストを決定することと、
前記コストに少なくとも部分的に基づいて、前記第1のノードのサブセットと関連付けられた前記コストの間で最も低いコストを有する前記サブセットのうちの2つ以上のノードを決定することと、
前記2つ以上のノードに少なくとも部分的に基づいて第2のノードを決定することと、
前記第2のノードと関連付けられた第2のコストおよび前記第1のノードのサブセットと関連付けられた前記コストのうちの1つまたは複数に少なくとも部分的に基づいて前記経路を決定することと
を含む、経路を決定することと
を含む動作を行わせるプロセッサ実行可能命令を記憶するメモリと
を備えるシステム。
【請求項2】
前記第2のノードのうちのノードを決定することは、
制御ポリシーに従って前記2つ以上のノードの1つと関連付けられたポジション、速度、および進行方向を射影することに少なくとも部分的に基づいて、前記車両の将来のポジション、速度、および進行方向を決定すること
に少なくとも部分的に基づき、
前記第2のノードの個々のノードは異なる制御ポリシーと関連付けられる、
請求項1に記載のシステム。
【請求項3】
前記経路は、多数の第1の時間間隔にわたって前記車両のポジション、進行方向、または速度のうちの少なくとも1つを定める粗い経路であり、前記動作は、
多数の第2の時間間隔にわたって前記ポジション、前記進行方向、または前記速度のうちの少なくとも1つに加えて前記経路の曲率を定めることに少なくとも部分的に基づいて前記粗い経路を改良することであって、前記第2の時間間隔が前記第1の時間間隔よりも短い、改良すること
をさらに含む請求項1または2に記載のシステム。
【請求項4】
前記粗い経路は第1のタイプの処理ユニットによって決定され、
滑らかな経路は、前記第1のタイプの処理ユニットとは異なる第2のタイプの処理ユニットによって決定される、
請求項3に記載のシステム。
【請求項5】
前記将来の時間は第1の将来の時間であり、前記確率は第1の確率であり、前記環境のデータは、前記動的オブジェクトの第2の予測されるポジションと前記動的オブジェクトが前記第1の将来の時間よりも遅い第2の将来の時間に前記第2の予測されるポジションを占拠する第2の確率とを示す第2のマップをさらに含み、
前記ノードの第1のサブセットと関連付けられた前記コストは前記第1の確率に少なくとも部分的に基づき、
前記第2のコストは前記第2の確率に少なくとも部分的に基づく、
請求項1乃至4のいずれか一項に記載のシステム。
【請求項6】
前記コストマップを決定することは、前記環境と関連付けられたパラメータ空間内のポジション、進行方向、速度、または曲率のうちの少なくとも1つと関連付けられたコストを決定することを含み、前記コストを決定することは、
前記車両またはターゲット車線の現在のポジション、進行方向、速度、もしくは曲率からの、前記ポジション、進行方向、速度、もしくは曲率のうちの少なくとも1つのずれに少なくとも部分的に基づいて訪問コストを決定すること、または
静的オブジェクトへの前記ポジションの近接性、前記予測されるポジションへの前記ポジションの近接性、もしくは前記確率を決定すること、または
ルートもしくは経路基準からの前記ポジション、前記進行方向、前記速度、もしくは前記曲率のずれを決定すること
に少なくとも部分的に基づく請求項1乃至5のいずれか一項に記載のシステム。
【請求項7】
前記第1のノードのサブセットのうちの前記ノードと関連付けられた前記コストを決定することは、
前記第1のノードのサブセットのうちの第2のノードに対する前記第1のノードの類似性、
前記第1のノードのサブセットのうちの1つもしくは複数の他のノードの横ポジションと比較した前記第1のノードの横ポジションの差、または
前記第1のノードと関連付けられたルートに沿った距離
のうちの少なくとも1つに少なくとも部分的に基づいて重みを決定することをさらに含む、請求項1乃至6のいずれか一項に記載のシステム。
【請求項8】
前記剪定技法は、
前記第1のノードと関連付けられたハッシュを決定することと、
前記第1のノードのうちの前記1つまたは複数のノードが冗長ハッシュと関連付けられることを決定することと、
前記第1のノードのうちの前記1つまたは複数のノードが冗長ハッシュと関連付けられることを決定することに少なくとも部分的に基づいて、前記第1のノードのうちの前記1つまたは複数のノードを破棄することと
を含む請求項1乃至7のいずれか一項に記載のシステム。
【請求項9】
1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
環境内の動的オブジェクトの予測されるポジションと、将来の時間で前記動的オブジェクトが前記予測されるポジションを占拠する確率を受け入れることと、
前記環境のデータに少なくとも部分的に基づいて車両を制御するための経路を決定することであって、
前記環境のデータに少なくとも部分的に基づいてコストマップを決定することと、
前記環境内の前記車両の現在のポジションに少なくとも部分的に基づいて第1のノードを決定することと、
剪定技法に少なくとも部分的に基づいて、第1のノードのサブセットを決定することと、
前記第1のノードのサブセットと関連付けられたコストを決定することであって、前記コストマップおよび1つまたは複数の他のノードに対する前記第1のノードのサブセットのうちのノードの類似性に少なくとも部分的に基づいて、前記ノードと関連付けられたコストを決定することを含む、コストを決定することと、
前記コストに少なくとも部分的に基づいて、前記第1のノードのサブセットと関連付けられた前記コストの間で最も低いコストを有する前記サブセットのうちの2つ以上のノードを決定することと、
前記2つ以上のノードに少なくとも部分的に基づいて第2のノードを決定することと、
前記第2のノードと関連付けられた第2のコストおよび前記第1のノードのサブセットと関連付けられた前記コストのうちの1つまたは複数に少なくとも部分的に基づいて前記経路を決定することと
を含む、経路を決定することと
を含む動作を行わせるプロセッサ実行可能命令を記憶する非一時的なコンピュータ可読媒体。
【請求項10】
前記第2のノードのうちのノードを決定することは、
制御ポリシーに従って前記2つ以上のノードの1つと関連付けられたポジション、速度、および進行方向を射影することに少なくとも部分的に基づいて、前記車両の将来のポジション、速度、および進行方向を決定すること、
に少なくとも部分的に基づき、
前記第2のノードのうちのノードは、異なる制御ポリシーと関連付けられる、
請求項9に記載の非一時的なコンピュータ可読媒体。
【請求項11】
前記剪定技法は、
前記第1のノードと関連付けられたハッシュのセットを決定することと、
冗長ノードとして、冗長ハッシュと関連付けられた前記第1のノードのうちのノードを決定することと
を含み、
前記ノードのサブセットが前記冗長ノードを除く、
請求項9または10に記載の非一時的なコンピュータ可読媒体。
【請求項12】
前記経路は、多数の第1の時間間隔にわたって前記車両のポジション、進行方向、または速度のうちの少なくとも1つを定める粗い経路であり、前記動作は
多数の第2の時間間隔にわたって前記ポジション、前記進行方向、または前記速度のうちの少なくとも1つに加えて前記経路の曲率を定めることに少なくとも部分的に基づいて前記粗い経路を改良することであって、前記第2の時間間隔が前記第1の時間間隔よりも短い、改良すること
をさらに含む請求項9に記載の非一時的なコンピュータ可読媒体。
【請求項13】
前記将来の時間は第1の将来の時間であり、前記確率は第1の確率であり、前記環境のデータは、前記動的オブジェクトの第2の予測されるポジションと前記動的オブジェクトが前記第1の将来の時間よりも遅い第2の将来の時間に前記第2の予測されるポジションを占拠する第2の確率とを示す第2のマップをさらに含み、
前記ノードの第1のサブセットと関連付けられた前記コストは前記第1の確率に少なくとも部分的に基づき、
前記第2のコストは前記第2の確率に少なくとも部分的に基づく、
請求項9乃至12のいずれか一項に記載の非一時的なコンピュータ可読媒体。
【請求項14】
前記コストマップを決定することは、前記環境と関連付けられたパラメータ空間内のポジション、進行方向、速度、または曲率のうちの少なくとも1つと関連付けられたコストを決定することを含み、前記コストを決定することは、
前記車両またはターゲット車線の現在のポジション、進行方向、速度、もしくは曲率からの、前記ポジション、進行方向、速度、もしくは曲率のうちの少なくとも1つのずれに少なくとも部分的に基づいて、訪問コストを決定すること、
静的オブジェクトへの前記ポジションの近接性、前記予測されるポジションへの前記ポジションの近接性、もしくは前記確率を決定すること、または
ルートもしくは経路基準からの前記ポジション、前記進行方向、前記速度、もしくは前記曲率のずれを決定すること
に少なくとも部分的に基づく請求項9乃至13のいずれか一項に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記第1のノードのサブセットのうちの前記ノードと関連付けられた前記コストを決定することは、
前記第1のノードのサブセットのうちの第2のノードに対する前記第1のノードの類似性、
前記第1のノードのサブセットのうちの1つもしくは複数の他のノードの横ポジションと比較した前記第1のノードの横ポジションの差、または
前記第1のノードと関連付けられたルートに沿った距離のうちの少なくとも1つに少なくとも部分的に基づいて重みを決定すること、および
第1の予測に少なくとも部分的に基づいて第1のヒートマップを決定すること、
をさらに含む、請求項9乃至14のいずれか一項に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、構造化されていない車両経路プランナに関する。
【背景技術】
【0002】
関連出願
本出願は、あらゆる意図および目的のために参照により本明細書に組み込まれる、2020年5月11日に出願された米国特許出願第16/872,284号明細書の優先権を主張するものである。
【0003】
自律車両は、ナビゲートするために車道灯、車線マーキング、および/または類似物などの、さまざまな通り道インジケータに頼ることがある。しかしながら、自律車両は、そのようなインジケータが見えにくくされた(たとえば、雪、ゴミ、砂によって)、劣化された(たとえば、切れている灯、摩耗した車線マーキング)、および/または無効化された(たとえば、障害物が車線を部分的に塞ぐ、交通標識および/またはトラフィックコーンが、元の車線マーキングと矛盾する代替車線を示す)とき、正確かつ/または効率的にナビゲートするのに失敗することがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願第15/900,318号明細書
【特許文献2】米国特許出願第16/147,177号明細書
【特許文献3】米国特許出願第16/399,743号明細書
【特許文献4】米国特許出願第16/011,436号明細書
【特許文献5】米国特許出願第15/963,833号明細書
【特許文献6】米国特許出願第15/807,521号明細書
【特許文献7】米国特許出願第16/420,050号明細書
【特許文献8】米国特許出願第16/206,877号明細書
【特許文献9】米国特許出願第16/504,147号明細書
【特許文献10】米国特許出願第16/517,506号明細書
【図面の簡単な説明】
【0005】
詳細な説明は、添付の図を参照しながら説明される。図では、参照番号の最も左の桁は、参照番号が最初に現れる図を識別する。異なる図における同じ参照番号は、類似したまたは同一の項目を示す。
【0006】
【
図1】自律車両と、車線基準(以前にマップまたは検出されているかどうか)が、車両の動きを制御するための命令を決定するために信頼できないことがある例示的なシナリオとを示す図である。
【
図2】構造化されていない経路プランニングのための案内システムを備える例示的な自律車両アーキテクチャのブロック図である。
【
図3A】自律車両の動作の第1のモードに関連して第1回目および第n回目における動的オブジェクトの動きを予測する第1の例示的な動的データを示す図である。
【
図3B】自律車両の動作の第2のモードに関連して第1回目および第n回目における動的オブジェクトの動きを予測する第2の例示的な動的データを示す図である。
【
図4A】環境データに少なくとも部分的に基づいて自律車両を制御するための経路を生成するための例示的なプロセスの図入り流れ図である。これは、センサデータから生成され得、静的オブジェクトおよび/または動的オブジェクトが予測されるポジション(以下、動的オブジェクト予測ポジション)を示す占拠マップおよび/または速度確率マップを備え得る。
【
図4B】環境データに少なくとも部分的に基づいて自律車両を制御するための経路を生成するための例示的なプロセスの図入り流れ図である。これは、センサデータから生成され得、静的オブジェクトおよび/または動的オブジェクトが予測されるポジション(以下、動的オブジェクト予測ポジション)を示す占拠マップおよび/または速度確率マップを備え得る。
【
図4C】環境データに少なくとも部分的に基づいて自律車両を制御するための経路を生成するための例示的なプロセスの図入り流れ図である。これは、センサデータから生成され得、静的オブジェクトおよび/または動的オブジェクトが予測されるポジション(以下、動的オブジェクト予測ポジション)を示す占拠マップおよび/または速度確率マップを備え得る。
【
図5A】本明細書で論じられる技法による連続したノード生成および剪定動作の結果のトップダウン図である。
【
図5B】本明細書で論じられる技法による連続したノード生成および剪定動作の結果のトップダウン図である。
【
図5C】本明細書で論じられる技法による連続したノード生成および剪定動作の結果のトップダウン図である。
【
図5D】本明細書で論じられる技法による連続したノード生成および剪定動作の結果のトップダウン図である。
【
図6A】環境および本明細書で論じられる技法により生成されたノードの連続したセットのトップダウン表現である。
【
図6B】環境および本明細書で論じられる技法により生成されたノードの連続したセットのトップダウン表現である。
【
図6C】環境および本明細書で論じられる技法により生成されたノードの連続したセットのトップダウン表現である。
【
図6D】環境および本明細書で論じられる技法により生成されたノードの連続したセットのトップダウン表現である。
【
図6E】環境および本明細書で論じられる技法により生成されたノードの連続したセットのトップダウン表現である。
【
図6F】環境および本明細書で論じられる技法により生成されたノードの連続したセットのトップダウン表現である。
【発明を実施するための形態】
【0007】
本明細書で論じられる技法は、静的オブジェクトマップ(たとえば、静的オブジェクトによって占拠される空間および/または環境中の「自由空間(free space)」を示すマップ)および/または1つまたは複数の動的オブジェクトマップ(たとえば、環境中の場所が移動するオブジェクトまたは将来の時間に動き得る静止オブジェクトによって占拠される可能性を示すマップ)に少なくとも部分的に基づいて自律車両を制御するための経路を生成する自律車両案内システムを備え得る。それによって、本明細書で論じられる案内システムを含む自律車両は、マーキング、道路、歩道を含まない開けた場、および/または自律車両を動作させるための境界線を識別するのに役立ち得る他の類似した構造のような環境など、および/または道路の車線が、車両が動作するのに十分に広い開いた場を有さない状況において、環境が「構造化されていない」(すなわち、環境が通路インジケータを含まないまたは通路インジケータが劣化された、見えにくくされた、および/または一般にはもう使われていない)ときですら、静的オブジェクトと動的オブジェクト(移動するまたは潜在的に移動する)の両方を回避して、正確かつ効率的にナビゲート、することが可能であり得る。
【0008】
本明細書で論じられる案内システムを装備する自律車両は、車両のための経路を生成するためのインジケータが利用不可能であることを検出し(または、そうでなければ自律車両にアクセス可能であるメモリに記憶されるマップによって識別される車線基準などの予め決定されたもしくは受け入れられた指示を、車両が進行することが不可能であることを決定する)、インジケータが利用不可能であることを検出することに少なくとも部分的に基づいて自律車両を制御するための経路を決定し得る。追加的に、または代替的に、本明細書で論じられる案内システムは、指名された案内システム(構造および/またはインジケータを使用して経路を生成するように訓練された)がインジケータに少なくとも部分的に基づく経路を生成するのと実質的に同時に、インジケータに(少なくとも主に)基づかない不確定な経路を連続的に生成し得る。いくつかの例では、指名された案内システムによって生成される経路が衝突を招くまたは別の理由で運用不可能である(たとえば、経路が、自律車両に停止させるおよび/またはテレオペレーションシステムにメッセージを送信させる)場合、自律車両は、不確定な経路が衝突のない場合は不確定な経路を使用し得る。
【0009】
本明細書で使用されるとき、ルートは、環境内で関連付けられた開始ポジションと終了ポジションを少なくとも備え得る。いくつかの例では、開始ポジションは、自律車両の現在の位置(たとえば、ポジションおよび/または進行方向)を識別することがあり、および/または終了ポジションは、自律車両のターゲット位置を識別し得る。ルートは、追加的または代替的に、開始ポジションと終了ポジションの間の1つまたは複数のカーブおよび/または開始ポジションおよび/または終了ポジションに関連した車両位置を識別し得る。たとえば、開始ポジションは、道路の第1の車線内の場所を識別し得、終了ポジションは、第2の車線2つの街区内の場所、右折、および開始ポジションから離れた追加の街区を識別し得る。言い換えれば、ルートは、自律車両の高いレベルの任務であり得る。本明細書で使用されるとき、カーブは、直線を含み得る。
【0010】
本明細書で論じられる技法は、終了場所(たとえば、プランニング構成要素、リモートオペレータ、および/または搭乗者によって指定されることがある)を受け入れることなどの、ルートを受け入れることと、自律車両の現在のポジションを(たとえば、本明細書で説明される位置特定システムで使用され得るものなどの、全地球測位センサ(GPS)、LIDER、RADAR、カメラなどの自律車両の1つまたは複数のセンサから受け入れられたセンサデータに少なくとも部分的に基づいて)決定することと、自律車両によって記憶されたマップに少なくとも部分的に基づいて終了場所と関連付けられた開始(現在の)ポジションと終了ポジションとの間のルートを決定することとを含み得る。技法は、マップおよび/または車両の、車線の存在の決定、運転可能面、および/または他のインジケータ、ルートの少なくとも一部分と関連付けられたカーブに少なくとも部分的に基づいて決定することを含み得る。たとえば、自律車両は、開始ポジションと終了ポジションとの間の道路および/または自由空間の形状に基づいてカーブを決定し得る。
【0011】
自律車両は、ルートによって指定される終了ポジションに到達するために、本明細書で論じられる技法により経路を生成し得る。いくつかの例では、本明細書で論じられる開始ポジションおよび終了ポジションは、ルートの一部分と関連付けられ得る。ルートが、自律車両によって走行されるなど道路を指定することがある場合、経路は、中間距離(たとえば、10メートル、20メートル、50メートル、100メートル)にわたってどのように自律車両が終了ポジション(たとえば、どの車線、車線内のポジション、進行方向)に到達するかを指定し得る。自律車両は、追加的または代替的に、経路に少なくとも部分的に基づいて自律車両を制御するための軌道を生成し得る。軌道は、後退限界技法ならびに経路によって指定されるポジションおよび/または位置に少なくとも部分的に基づいて、経路よりも短い時間期間/距離(たとえば、5ミリ秒、10ミリ秒、0.5秒)にわたって自律車両の動きを制御するために、自律車両によって使用され得る。そのような例では、軌道は、たとえば、中間点および/または1つまたは複数の中間点と関連付けられた所望の速度、加速度、方位、誘導角度など、のうちの任意の1つまたは複数を備え得る。
【0012】
いくつかの例では、技法は、自律車両のセンサからセンサデータを受け入れることと、センサデータに少なくとも部分的に基づいて静的オブジェクトマップおよび/または動的オブジェクトマップを生成することとを含み得る。「Creating Clean Maps including Semantic Information」という名称の特許文献1、「Radar Spatial Estimation」という名称の特許文献2、「Predicting an Occupancy Associated with Occluded Region」という名称の特許文献3、「Occlusion Aware Planning」という名称の特許文献4、および「Data Segmentation Using Masks」という名称の特許文献5においてより詳細に論じられるように、静的オブジェクトマップは、環境のそれぞれの部分がオブジェクトおよび/または自律車両が動作し得る自由空間である部分によって占拠されるという可能性を示す環境のマップを含む占拠マップであってよく、これらの文献のすべては、参照により本明細書に組み込まれる。いくつかの事例では、マップは、追加的または代替的に、占拠マップ内の場所と関連付けられた確率を含み得る(たとえば、環境中の対応する場所がオブジェクトによって占拠されるまたは占拠されない確率を示す)。
【0013】
動的オブジェクトマップは、環境のそれぞれの部分が移動するオブジェクトによって占拠される可能性が高いという可能性を示す環境のマップを含み得る。たとえば、動的オブジェクトマップの一部分は、動的オブジェクトが将来の時間に環境の対応する部分を占拠する可能性を示し得る。動的オブジェクトの現在のポジションは、静的オブジェクトマップ内または現在の時間と関連付けられた動的オブジェクトマップの第1のフレーム内に示され得る。いくつかの例では、動的オブジェクトマップは、2つ以上のフレームを含むことがあり、フレームの各々は、異なる時間(たとえば、現在および/または1つまたは複数の将来の時間)と関連付けられ得る。いくつかの例では、静的オブジェクトマップおよび/または動的オブジェクトマップは、追加的または代替的に、オブジェクトトラッキング、直接的な速度測定(たとえば、RADAR)などによって提供されることがあるなどの、オブジェクトの速度および/または進行方向の指示を含み得る。センサデータに少なくとも部分的に基づいて動的オブジェクトマップを生成することは、少なくとも、「Probabilistic Heat Maps for Behavior Prediction」という名称の特許文献6、「Trajectory Prediction on Top-Down Scenes and Associated Model」という名称の特許文献7、「Probabilistic Risk Assessment for Trajectory Evaluation」という名称の特許文献8、「Prediction on Top-Down Scenes Based on Action Date」という名称の特許文献9、および「Predicting an Occupancy Associated with Occluded Region」という名称の特許文献3においてより詳細に論じられ、これらの明細書のすべては、参照により本明細書に組み込まれる。静的オブジェクトマップおよび動的オブジェクトマップは、本明細書では環境データと総称され得る。
【0014】
技法は、追加的または代替的に、環境データに少なくとも部分的に基づいてコストマップを決定することと、次の時間ステップと関連付けられたノードのセットを決定することとを含み得る。いくつかの事例では、コストマップは、多変量空間を含み得る、またはこれと関連付けられ得る。たとえば、コストマップおよび/または多変量空間内のポジションは、環境中のポジション、車両の進行方向、車両の速度、および/または軌道の曲率と関連付けられ得る。次の時間ステップと関連付けられたノードを決定することは、多変量空間内の場所を決定することを含むことができ、この場所は、現在の時間から次の時間ステップまでの時間の間隔(たとえば、現在の時間から500ミリ秒、100ミリ秒、1秒など)で車両の現在のポジションから到達可能である、環境中のポジション、車両の進行方向、車両の速度、および/または軌道の曲率を識別することができる。コストマップを決定することは、多変量空間中のポジションと関連付けられたコストを決定することを含み、このコストは、静的オブジェクトマップによって示される占拠、動的オブジェクトマップの1つまたは複数のフレームによって示される予測される占拠、静的オブジェクトマップおよび/または動的オブジェクトマップ内の指示へのポジションの近接性、多変量空間の部分に到達するために必要な軌道からの、車両の現在のポジションおよび軌道、または、以前のノードのポジションおよび/または軌道などの差に基づく訪問コストに少なくとも部分的に基づく。いくつかの例では、コストマップの少なくとも一部分は、あらかじめ計算され得る。
【0015】
本明細書で論じられる技法は、多変量空間内の車両の現在のポジションから第nの時間ステップまで広がる連続したノードの波動/セットを決定することを含むことができ、ここで、nは正の整数である。たとえば、時間ステップが各々100ミリ秒であり、nが20である場合、技法は、車両のポジションから離れて広がるノードの20セットを決定することを含むことができ、ノードの第20番目のセットは、将来2秒である時間と関連付けられる。いくつかの例では、ノードのセットは、時間ステップ、たとえば、第o番目の100ミリ秒間隔と関連付けられることができ、生成されるノードは、探査のために選択される1つまたは複数のノードに少なくとも部分的に基づくことができる。たとえば、ノードの第1のセットの場合、選択されたノードは、車両の現在のポジション、進行方向、速度、および/または軌道であり得、ノードの第1のセットは、それに基づいて生成され得る。しかしながら、ノードの第2のセットは、将来の探査のために第1のセットから選択される1つまたは複数のノードに少なくとも部分的に基づいて生成され得る、たとえば、ノードの第2のセットの少なくとも一部を決定することは、第1のセットから選択されるノード、すなわち、その選択されたノードと関連付けられたポジション、進行方向、速度、および/または軌道に少なくとも部分的に基づき得る。いくつかの例では、新しいセット内の生成されたノードは、ノードの以前に生成されたセットのうちのいずれかから選択されたノード(たとえば、直前のセットからのノード、2つ以上前の生成で生成されたセットからのノード)に基づき得る。たとえば、選択は、ノードと関連付けられたコストに従ってp最低コストノードを選択するなどによって、1つまたは複数のノードと関連付けられたコストに少なくとも部分的に基づくことができ(たとえば、コストマップ、類似性コストに少なくとも部分的に基づいて決定され得る)、ここで、pは正の整数である。
【0016】
技法は、セットの各ノードおよびノードのうちの各ノードと関連付けられたハッシュを決定することと、別のノードのハッシュに一致するハッシュを有する任意のノードを剪定することとを含み得る。たとえば、2つのノードが、一致するハッシュを有する場合、ルートに沿ってより高いコストおよび/またはより短い距離を有するノードは、剪定の一部として破棄され得る。技法は、追加的または代替的に、剪定後に残るノードのうちのp個の最低コストノードを決定することを含み得る。ノードの次のセットを決定することは、剪定されたセットから選択されたp個のノードに少なくとも部分的に基づき得る。
【0017】
いくつかの例では、多変量空間内のポジションのためのハッシュが、実行時前にあらかじめ計算され、ノードのためのハッシュがハッシュテーブルからのルックアップに少なくとも部分的に基づいて決定され得る。いくつかの例では、ハッシュは、ノード間の最小スペーシング(分解能)と関連付けられた次元を有する多変量空間の一部分に関連して決定され得る。たとえば、ハッシュテーブルは、立方センチメートルの寸法および方位角度(車両の潜在的なポジションおよび方位を含む多変量空間内の)を有する一部分と関連付けられ得る。分解能のサイズを増加させることは、発生するハッシュ衝突(一致)の数を増加させ、剪定ステージ中に破棄されるノードの数を効果的に増加させ、剪定後に残るノードの多様性を増加させ得る。分解能を減少させることは、反対の影響を有し得る。
【0018】
技法は、時間制限、計算制限、および/またはノードの第nのセットが決定される(すなわち、ノードセットキャップが当てられる)まで、ノードのセットを決定することを含み得る。案内システムは、ノードのセットが生成されるとき、および/または、時間制限、計算制限、またはノード制限が到達された時点で、ノードのセットを通る1つまたは複数の隣接する経路を決定し得る。いくつかの例では、案内システムは、それらが生成され、それが衝突のないことを確かにするために最低コスト経路(すなわち、ノードの最後の層内の潜在的な経路の終点におけるノードからノードの第1の層内の開始点までおよび/または車両の現在のポジションにおいて)を遡るので、ノードのセットを通る1つまたは複数の潜在的な経路をトレースし得る。ともかく、案内システムは、最低コストと関連付けられるおよび/またはルートに沿って最も大きく進むノードのセットを通る隣接する経路を決定し得る。
【0019】
たとえば、案内システムは、ルートの少なくとも一部分の開始ポジションから終了ポジションまでの経路の探索を行い得る。探索を行うことは、開始ポジションから終了ポジションまでのノードの異なるセットのノード間の接続の隣接するセットを決定することを含み得る。いくつかの例では、探索は、たとえばその中で経路を決定する境界を指定する(たとえば、境界は、センサデータおよび/またはマップに少なくとも部分的に基づいて決定されることがある)1つまたは複数のルール、ノード接続ルール(たとえば、ノードは、1つの親ノードのみを有することがある)などを含み得るルールセットとともに構成され得る。いくつかの例では、探索は、ノードのセットのうちのノード間の有向グラフを決定することを含み得る。有向グラフは、第1のノードと第2のノードとの間の接続(たとえば、エッジ)および/またはこの接続と関連付けられた重み(たとえば、コスト)を含み得る。
【0020】
さまざまな例では、経路は、領域内のすべてのノード間のすべての接続を決定することと、総最小コストを提供するそれらの間の接続のセットを探索することとに少なくとも部分的に基づいて、決定されることができ、総最小コストは、その経路上で決定された各動きプリミティブと関連付けられたコストを含み得る。少なくともいくつかの例では、そのような接続は、実行可能であるノード間のそれらの接続のみに制限され得る。追加のおよび/または代替の例では、計算リソースは、すべての可能な接続を列挙することなく探索方向を知らせることに少なくとも部分的に基づいて、予約され得る。追加的に、そのような接続は、連続した層内のノードに制限される必要はないことが理解される。非限定的な例として、そのような経路探索は、第1の層から第2の層、第3の層、第4の層などのうちの任意の1つまたは複数の間のノードを探索することを含み得る。しかしながら、少なくともいくつかの例では、ノードは、ノードが生成された層に関係なく親ノードに基づいて生成され得る。
【0021】
いくつかの例では、経路の完全探索を行う前に、技法は、案内システムによって決定される以前の経路および/または以前の接続が実行可能であるかどうか(たとえば、速度、最大誘導角度、および/または境界などの現在の制約を満足させるか;衝突がないか;コストしきい値よりも小さいコストを有するか)を決定することを含み得る。
【0022】
隣接する経路またはコストマップを決定することの少なくとも一部は、多変量空間内のポジションと関連付けられた衝突の可能性を決定することを含み得る。たとえば、衝突の可能性を決定することは、自律車両の幅に等しい直径を有する2つの円として自律車両を表すことであって、第1の円は、自律車両の前車軸が中心とされてよく、第2の円は、自律車両の後車軸が中心とされてよいと表すことと、表現と最も近い静的オブジェクトおよび/または将来の時間に動的オブジェクトによって占拠されると予測される環境の一部分の間との距離を決定することとを含み得る。いくつかの例では、自律車両および/または占拠マップによって示される占拠される空間の表現は、誤差を説明するために拡張され得る(たとえば、円の直径および/または占拠において占拠されると示される面積は、自律車両幅の半分に拡張され得る)。
【0023】
いくつかの例では、案内システムによって決定される経路は、粗い経路であり得る。たとえば、粗い経路は、車両が1秒または500ミリ秒間隔で追跡するための手法のポジション、進行方向、速度、および/または曲率を識別し得るが、車両の構成要素は、より細かい時間間隔(たとえば、10ミリ秒、100ミリ秒)にわたる制御を必要とするまたはこれが可能であり得る。言い換えれば、粗い経路は、車両が著しい誤差なく追跡するのに十分なほど滑らかでないことがある。いくつかの例では、第1のタイプのプロセッサ(たとえば、グラフィックス処理ユニット(GPU))は、コストマップを決定する、ノードを生成する、ノードを剪定する、および/または経路を決定することができ、第2のタイプのプロセッサは、GPUによって生成された経路を滑らかにする、および/または滑らかな経路に少なくとも部分的に基づいて車両を制御するための軌道を決定し得る。
【0024】
本明細書で論じられる案内システムは、実行可能であると経路を識別する、および/または本明細書で論じられるコストに少なくとも部分的に基づいて経路と関連付けられた信頼スコアを決定し得る。案内システムは、経路および/または信頼スコアを出力することができ、これは、自律車両が、たとえば、経路に少なくとも部分的に基づいて軌道を生成することによって、自律車両の動きを制御するために使用し得る。いくつかの例では、案内システムは、主経路および/または不確定な経路を出力し得る。たとえば、案内システムは、経路候補のセットを生成すること、そのセットがしきい値距離に少なくとも部分的に基づいて経路候補の2つのグループを含む(たとえば、2つのグループは、2つの異なったホモトピックグループであり得る)こと、および第1のグループから主経路を、第2のグループから不確定な経路を選択することに少なくとも部分的に基づいて、不確定な経路を決定し得る。いくつかの例では、主経路は、主経路が不確定な経路と関連付けられた第2の総コストよりも小さい第1の総コストと関連付けられることを決定することに少なくとも部分的に基づいて、主経路として選択され得る。主経路は第1の総コストと関連付けられ、および/または不確定な経路はコストしきい値よりも小さい第2の総コストと関連付けられ、および/または、それと関連付けられたそれぞれのグループの最小コストであり得る。
【0025】
本明細書で論じられる技法は、車両の、車両の周囲におけるオブジェクトの移動および/または挙動を予測し、衝突がなく経済的な、車両のための経路を計画する能力を改善することによって、車両の安全性を改善し得る。技法は、道路および/または車線マーカが存在しないまたは無効とされた状況において車両が動作することも可能にし得る。
【0026】
例示的なシナリオ
図1は、車両102を含む例示的なシナリオ100を例示する。いくつかの事例では、車両102は、全行程に対するすべてのセーフティクリティカルな機能を行うことが可能である車両について説明する米国道路交通安全局によって発行されたレベル5分類に従って動作するように構成された自律車両であり得、運転手(または乗員)は、常時車両を制御することが期待されない。しかしながら、他の例では、車両102は、他の任意のレベルまたは分類を有する完全にまたは部分的に自律する車両であり得る。本明細書で論じられる技法は、自律車両のような、ロボット制御を超えて適用してよいことが企図されている。たとえば、本明細書で論じられる技法は、マイニング、製造、拡張現実などに適用され得る。さらに、車両102は陸上車両として描かれているが、車両102は、宇宙機、船舶などであってよい。いくつかの例では、車両102は、シミュレーションにおいて、シミュレートされた車両として表され得る。簡単のために、本明細書における議論は、シミュレートされた車両と、現実世界の車両を区別しない。したがって、「車両」への言及は、シミュレートされた車両および/または現実世界の車両に言及してよい。
【0027】
本明細書で論じられる技法によれば、車両102は、車両102のセンサ104からセンサデータを受け入れ得る。たとえば、センサ104は、場所センサ(たとえば、全地球測位システム(GPS)センサ)、慣性センサ(たとえば、加速度計センサ、ジャイロスコープセンサなど)、磁気センサ(たとえば、コンパス)、ポジション/速度/加速度センサ(たとえば、速度計、駆動システムセンサ)、深度ポジションセンサ(たとえば、LIDERセンサ、RADARセンサ、ソナーセンサ、飛行時間(ToF:time of flight)カメラ、深度カメラ、超音波、および/またはソナーセンサ、および/または他の深度感知センサ)、イメージセンサ(たとえば、カメラ)、オーディオセンサ(たとえば、マイクロホン)、および/または環境のセンサ(たとえば、気圧計、湿度計など)を含み得る。
【0028】
センサ104はセンサデータを生成し得、このセンサデータは、車両102と関連付けられたコンピューティングデバイス106によって受け入れられ得る。しかしながら、他の例では、センサ104および/またはコンピューティングデバイス106のうちのいくつかまたはすべては、車両102から分離されることができ、および/またはこれからリモートで配置されることができ、データ捕捉、処理、コマンド、および/または制御は、ワイヤードネットワークおよび/またはワイヤレスネットワークを介して1つまたは複数のリモートコンピューティングデバイスによって車両102へ/から通信され得る。
【0029】
コンピューティングデバイス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を決定し得る。
【0030】
軌道118は、自律車両102のコントローラ116が誘導角度および/または誘導レートを成し遂げるために車両102の駆動構成要素を作動させるための命令を備えることができ、これは、案内システムによって生成された経路を追跡する車両ポジション、車両速度、および/または車両加速度をもたらし得る。たとえば、軌道118は、経路の一部としてコントローラが追跡するターゲット進行方向、ターゲット誘導角度、ターゲット誘導レート、ターゲットポジション、ターゲット速度、および/またはターゲット加速度を備え得る。たとえば、本明細書で論じられる技法により案内システム114によって生成される粗い経路は、ミリ秒時間間隔500で車両ポジション、進行方向、速度、および/または入り口/出口曲率を示すことができ、案内システム114によって出力される滑らかな経路は、そのような点を10ミリ秒間隔または100ミリ秒間隔で備えることができ、この間隔は、軌道118と関連付けられた時間間隔に対応し得る。いくつかの例では、コントローラは、軌道118を追跡するのに車両102の駆動構成要素を十分に作動させるためのソフトウェアおよび/またはハードウェアを備え得る。たとえば、コントローラ116は、1つまたは複数の比例積分微分(PID)コントローラを備え得る。
【0031】
例示的なシナリオ100では、自律車両102は、開始ポジション122と、終了ポジション124と、開始ポジション122と終了ポジション124との間のカーブとを定めるルート120を受け入れているおよび/または決定している(カーブは、直線および/または1つまたは複数のカーブを備えることに留意されたい)。たとえば、プランニング構成要素112は、センサデータと(たとえば、搭乗者から、コマンドセンタから)任務の一部として受け入れられた終了ポジションに少なくとも部分的に基づいて、ルート120を決定した可能性があり得る。本明細書で使用されるとき、「ポジション」への言及は、場所および/または位置(たとえば、車両のポジションおよび/または方位/進行方向)の両方を含み得る。いくつかの例では、ルートは、終了ポジション124を備えないことがあり得、追加的または代替的に、ターゲット車線、ターゲット相対ポジション(たとえば、道路縁から10フィート)、ターゲットオブジェクト(たとえば、車両に追従する、搭乗者に追従する、車両を呼ぶ人の方へ移動する)などの、ターゲットポジションを備え得る。
【0032】
車両が終了ポジション124に到達するように動作するとき、自律車両102は、経路を生成するために車線基準を信用しているプランナ(たとえば、マップに少なくとも部分的に基づいて決定される、および/または自律車両102を位置特定する)が経路を正確かつ/または効率的に生成できないことがある例示的なシナリオ100のようなシナリオに遭遇することがあり得る。たとえば、さまざまなオブジェクト(たとえば、ブロッキング車両126、ツールボックス128、および倒れたトラフィックコーン130)は、描かれた道路のすべての3つの車線を累積的にブロックし、これは、車線が自律車両にとって十分な余裕を有さないので、別のプランナに、車両を停止させるおよび/またはテレオペレーションを命じさせ得る。
【0033】
しかしながら、本明細書で論じられる案内システム114は、センサ104によって捕捉されたセンサデータから生成された環境データ134に少なくとも部分的に基づいて、経路132を生成し得る。たとえば、知覚構成要素112は、環境データ134のすべてまたは一部を生成することができ、これは、静的データおよび/または動的データを含み得る。たとえば、静的データは、環境内の場所にオブジェクトが存在する可能性を示すことができ、動的データは、オブジェクトが環境内の場所を占拠するまたは占拠するであろう可能性を示し得る。いくつかの事例では、動的データは、予測限界(すなわち、動的データが予測されるための最大時間/距離)までの間隔で異なる時間ステップと関連付けられた多数のフレームを含み得る。
【0034】
本明細書で論じられる技法は、追加的または代替的に、車両の動作のモードに少なくとも部分的に基づいて動的データを決定することを含み得る。たとえば、動的データは、第1の車両モードおよび第1の時間と関連付けられた第1の予測と、第2の車両モードおよび第1の時間と関連付けられた第2の予測とを含み得る。車両モードは、搭乗者乗車、搭乗者乗り換え、搭乗者降車などの任務レベルモード、軌道を維持すること、停車場まで減速すること、車線を移ること、右折を実行することなどの経路もしくは軌道レベルモード、および/またはスピーカを起動させること、方向指示灯を起動させること、灯りを点滅させることなどの信号モードを含み得る。自律車両の挙動および信号は、自律車両102の近くの他のエンティティによってなされる判断および挙動に影響を及ぼし得、それによって、他のオブジェクトの予測される動きに影響を及ぼし得る。
【0035】
いくつかの例では、知覚構成要素110は、センサ104からセンサデータを受け入れ、静的データおよび/または動的データなどの、車両102の近くのオブジェクトに関連するデータを決定し得る。静的データおよび/または動的データを含む環境データ134の描かれた例は、そのようなデータのトップダウン表現であるが、ヒートマップ、検出されたオブジェクトと関連付けられたオブジェクト分類、インスタンスセグメンテーション、セマンティックセグメンテーション、2次元および/または3次元バウンディングボックス、軌跡などの、静的データおよび/または動的データの任意の表現が企図される。知覚構成要素110は、追加的または代替的に、車両の宛先を指定するルートデータ、道路の特性を識別する全体マップデータ(たとえば、自律車両を位置特定するのに有用な異なるセンサモダリティで検出可能な特徴)、車両近傍で検出される特性を識別する局所マップデータ(たとえば、建物、樹木、フェンス、消火栓、一時停止標識、およびさまざまなセンサモダリティで検出可能な他の任意の特徴の場所および/または寸法)、追跡データ(たとえば、本明細書で論じられる環境表現、オブジェクト検出、および/または追跡)などを決定し得る。
【0036】
いくつかの例では、知覚構成要素110は、1つまたは複数のGPU、MLモデル、カルマンフィルタなどを含み得る、ハードウェアおよび/またはソフトウェアのパイプラインを備え得る。いくつかの例では、知覚構成要素110は、自律車両を取り囲む環境をできる限り多くモニタすることができ、これは、センサ能力、オブジェクトおよび/または環境の閉塞(たとえば、建物、高さ変更、他のオブジェクトの前のオブジェクト)、および/または霧、雪などの環境の影響によって制限され得る。たとえば、センサデータは、RADARデータを含むことができ、知覚構成要素110は入力として受け入れ得る。知覚構成要素110は、軌道118を決定する際にプランニング構成要素112によって考慮に入れるべきであるイベントまたはオブジェクト挙動を説明するのに失敗することを回避するために、可能な限り多くのオブジェクトおよび環境についての情報を検出するように構成され得る。
【0037】
環境データ134の一部であり知覚構成要素110によって決定され得るオブジェクト分類は、たとえば、搭乗者車両、歩行者、自転車に乗っている人、配達用トラック、トレーラートラック、交通標識などの、異なるオブジェクトタイプを区別し得る。追跡は、履歴、現在の、および/または予測される、オブジェクトポジション、速度、加速度、および/または進行方向を含み得る。知覚構成要素110によって生み出されるデータは、知覚データと総称されることがあり得る。知覚構成要素110が知覚データを生成すると/ので、知覚構成要素110は、プランニング構成要素112および/または案内システム114に知覚データを提供し得る。いくつかの例では、知覚データは、センサ個別パイプライン(たとえば、ビジョン、LIDER、RADAR)および/またはハイブリッドセンサパイプライン(たとえば、ビジョン-LIDER、RADAR-LIDER)の出力を含み得る。
【0038】
プランニング構成要素112は、知覚構成要素110から受け入れられた知覚データおよび/または案内システム114から受け入れられた経路を使用して、1つまたは複数の軌道を決定し、経路もしくはルートを横断するように車両102の動きを制御し、および/またはそうでなければ車両102の動作を制御し得るが、いかなるそのような動作は、さまざまな他の構成要素内で行われ得る(たとえば、位置特定は、位置特定構成要素によって行われることができ、これは、知覚データに少なくとも部分的に基づき得る)。たとえば、プランニング構成要素112は、第1の場所から第2の場所までの車両102のためのルートを決定し、案内システムから受け入れられた粗い軌道から滑らかな軌道を決定し、実質的に同時に、経路および知覚データおよび/またはシミュレートされた知覚データ(そのようなデータにおける検出されたオブジェクトに関する予測をさらに含み得る)に少なくとも部分的に基づいて、ルートを横断するように(たとえば、検出されたオブジェクトのいずれかを回避するために)、車両を制御するように後退限界技法(たとえば、1マイクロ秒、0.5秒)に従って車両102の動きを制御するための複数の潜在的な軌道を生成し、車両102の駆動構成要素を作動させるためのコントローラ116に送られ得る駆動制御信号を生成するために使用され得る車両102の軌道118として潜在的な軌道の1つを選択し得る。
図1は、進行方向、速度、および/または加速度を示す矢印として表されるそのような軌道118の例を描き、軌道自体は、コントローラのための命令を含むことができ、これは、次々に、車両102の駆動システムを作動させ得る。
【0039】
いくつかの例では、案内システム114は、プランニング構成要素112の名目上案内システムに対する2次案内システムであり得る。プランニング構成要素112は、名目上案内システムから軌道または経路を受け入れることができ、本明細書で論じられる案内システム114によって生成される経路を受け入れ得る。案内システム114から受け入れられたその経路は、不確定な経路としてプランニング構成要素114によって扱われ得る-たとえば、プランニング構成要素112は、名目上案内システムの出力が車両102にテレオペレーションを停止もしくは命じさせないまたは実行可能で、衝突のない、および/または経済的な経路または軌道を出力するのに失敗しない限りまたはそれまで、プランニング構成要素112の名目上案内システムの出力に頼り得る。そのような事例では、プランニング構成要素112は、案内システム114によって出力される経路を使用して切り換え得る。追加のまたは代替の例では、プランニング構成要素112は、案内システム114によって出力される経路を使用して、センサデータおよび/または知覚データなどに少なくとも部分的に基づいて、一定の領域内で(たとえば、車線基準のないエリア内で)常に軌道を生成し得る。
【0040】
案内システム114は、1つまたは複数のGPUを備えてもよいし、(たとえば、出版購読型メッセージングシステムを介して、データバスを介して)1つまたは複数のGPUと通信可能に結合されてもよく、本明細書で論じられる技法は、GPUのスレッドに並列化および普及されてよいが、本明細書で論じられる技法は少なくとも連続的である部分を含んでよいことが企図されている。
【0041】
例示的なシステム
図2は、本明細書で論じられる技法を実施する例示的なシステム200のブロック図を例示する。いくつかの事例では、例示的なシステム200は、
図1の車両102を表し得る車両202を含み得る。いくつかの事例では、車両202は、全工程に対するすべてのセーフティクリティカルな機能を行うことが可能である車両について説明する米国道路交通安全局によって発行されたレベル5分類に従って動作するように構成された自律車両であり得、運転手(または乗員)は、常時車両を制御することが期待されない。しかしながら、他の例では、車両202は、他の任意のレベルまたは分類を有する完全にまたは部分的に自律する車両であり得る。さらに、いくつかの事例では、本明細書で説明される技法は、非自律車両によっても使用可能であり得る。
【0042】
車両202は、車両コンピューティングデバイス204、センサ206、エミッタ208、ネットワークインタフェース210、および/または駆動構成要素212を含み得る。車両コンピューティングデバイス204は、コンピューティングデバイス106を表してよく、センサ206は、センサ104を表し得る。システム200は、追加的または代替的に、コンピューティングデバイス214を備え得る。
【0043】
いくつかの事例では、センサ206は、センサ104を表し得、LIDERセンサ、RADARセンサ、超音波トランスデューサ、ソナーセンサ、場所センサ(たとえば、全地球測位システム(GPS)、コンパスなど)、慣性センサ(たとえば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、イメージセンサ(たとえば、赤色-緑色-青色(RGB)カメラ、赤外線(IR)カメラ、強度カメラ、深度カメラ、飛行時間カメラなど)、マイクロホン、ホイールエンコーダ、環境センサ(たとえば、温度計、湿度計、光センサ、圧力センサなど)などを含み得る。センサ206は、これらまたは他のタイプのセンサの各々の多数のインスタンスを含み得る。たとえば、RADARセンサは、車両202の隅、前面、後面、側面、および/または上部に設置された個々のRADARセンサを含み得る。別の例として、カメラは、車両202の外部および/または内部のまわりのさまざまな場所に配置された多数のカメラを含み得る。センサ206は、車両コンピューティングデバイス204および/またはコンピューティングデバイス214に入力を提供し得る。
【0044】
車両202は、上記で説明されたように、光および/または音を発するためのエミッタ208も含み得る。この例のエミッタ208は、車両202の搭乗者と通信するために内部オーディオおよび視覚エミッタを含み得る。限定ではなく例として、内部エミッタは、スピーカ、光、標識、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(たとえば、振動および/または力フィードバック)、機械的アクチュエータ(たとえば、シートベルトテンショナ、シートポジショナ、ヘッドレストポジショナなど)などを含み得る。この例のエミッタ208は、外部エミッタも含み得る。限定ではなく例として、この例の外部エミッタは、車両アクションの行程または他のインジケータの方向(たとえば、インジケータ光、標識、光アレイなど)をシグナリングするための光と、歩行者または他の近くの車両と音を出して通信するための1つまたは複数のオーディオエミッタ(たとえば、スピーカ、スピーカアレイ、ホーンなど)とを含み、そのうちの1つまたは複数は、音響ビーム誘導技術を含む。
【0045】
車両202は、車両202と1つまたは複数の他のローカルコンピューティングデバイスもしくはリモートコンピューティングデバイスとの間の通信を可能にするネットワークインタフェース210も含み得る。たとえば、ネットワークインタフェース210は、車両202上の他のローカルコンピューティングデバイスおよび/または駆動構成要素212との通信を容易にし得る。また、ネットワークインタフェース210は、追加的または代替的に、車両が他の近くのコンピューティングデバイス(たとえば、他の近くの車両、交通信号など)と通信することを可能にし得る。ネットワークインタフェース210は、追加的または代替的に、車両202がコンピューティングデバイス214と通信することを可能にし得る。いくつかの例では、コンピューティングデバイス214は、分散コンピューティングシステム(たとえば、クラウドコンピューティングアーキテクチャ)の1つまたは複数のノードを備え得る。
【0046】
ネットワークインタフェース210は、別のコンピューティングデバイスまたはネットワーク216などのネットワークに車両コンピューティングデバイス204を接続するための物理的インタフェースおよび/または論理的インタフェースを含み得る。たとえば、ネットワークインタフェース210は、IEEE200.11規格によって定められた周波数、ブルートゥース(登録商標)などの短距離ワイヤレス周波数、セルラー通信(たとえば、2G、3G、4G、4G LTE、5Gなど)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインタフェースすることを可能にする任意の適切なワイヤード通信プロトコルもしくはワイヤレス通信プロトコルを介してなどの、Wi-Fiベースの通信を可能にし得る。いくつかの事例では、車両コンピューティングデバイス204および/またはセンサ206は、所定の時間の期間の経過の後に、ほぼリアルタイムなどで、ネットワーク216を介して、特定の周波数でコンピューティングデバイス214にセンサデータを送り得る。
【0047】
いくつかの事例では、車両202は、1つまたは複数の駆動構成要素212を含み得る。いくつかの事例では、車両202は、単一の駆動構成要素212を有し得る。いくつかの事例では、駆動構成要素212は、駆動構成要素212および/または車両202の周囲の様子を検出するために1つまたは複数のセンサを含み得る。限定ではなく例として、駆動構成要素212のセンサは、駆動構成要素のホイールの回転を感知するための1つまたは複数のホイールエンコーダ(たとえば、ロータリーエンコーダ)、駆動構成要素の方位および加速度を測定するための慣性センサ(たとえば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他のイメージセンサ、駆動構成要素の周囲におけるオブジェクトを音響的に検出する超音波センサ、LIDERセンサ、RADARセンサなどを含み得る。ホイールエンコーダなどのいくつかのセンサは、駆動構成要素212に固有であり得る。いくつかのケースでは、駆動構成要素212上のセンサは、車両202の対応するシステム(たとえば、センサ206)に重複するまたはこれを補い得る。
【0048】
駆動構成要素212は、高電圧バッテリと、車両を推進するためのモータと、他の車両システムによる使用のためにバッテリからの直流電流を交流電流に変換するためのインバータと、誘導モータと誘導ラック(電気であってよい)とを含む誘導システムと、油圧アクチュエータまたは電気アクチュエータを含むブレーキシステムと、油圧構成要素および/または空気圧構成要素を含むサスペンションシステムと、牽引の喪失を軽減し制御を維持するためにブレーキ力を分散させるための安定性制御システムと、HVACシステムと、照明器具(たとえば、車両の外部周囲を照らすためのヘッド/テールライトなどの照明器具)と、1つまたは複数の他のシステム(たとえば、冷却システム、安全システム、オンボード充電システム、DC/DCコンバータなどの他の電気的構成要素、高電圧接合、高電圧ケーブル、充電システム、充電ポートなど)とを含む、車両システムの多くを含み得る。追加的に、駆動構成要素212は、さまざまな車両システムの動作を制御するためにセンサからのデータを受け入れて前処理し得る駆動構成要素コントローラを含み得る。いくつかの事例では、駆動構成要素コントローラは、1つまたは複数のプロセッサと、この1つまたは複数のプロセッサと通信可能に結合されたメモリを含み得る。メモリは、駆動構成要素212のさまざまな機能を行うために1つまたは複数の構成要素を記憶し得る。そのうえ、駆動構成要素212は、それぞれの駆動構成要素による1つまたは複数の他のローカルコンピューティングデバイスまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続も含み得る。
【0049】
車両コンピューティングデバイス204は、プロセッサ218と、1つまたは複数のプロセッサ218と通信可能に結合されたメモリ220とを含み得る。メモリ220は、メモリ108を表し得る。コンピューティングデバイス214は、プロセッサ222、および/またはメモリ224も含み得る。プロセッサ218および/または222は、本明細書で説明されるようにデータを処理し、動作を行うために命令を実行することが可能である任意の適切なプロセッサであり得る。限定ではなく例として、プロセッサ218および/または222は、1つまたは複数の中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、集積回路(たとえば、特定用途向け集積回路(ASIC))、ゲートアレイ(たとえば、フィールドプログラマブルゲートアレイ(FPGA))、および/または電子データをレジスタおよび/またはメモリに記憶され得る他の電子データに変換するようにその電子データを処理する他の任意のデバイスまたはデバイスの部分を含み得る。
【0050】
メモリ220および/または224は、非一時的なコンピュータ可読媒体の例であり得る。メモリ220および/または224は、オペレーティングシステムと、本明細書で説明される方法およびさまざまなシステムに帰せられる機能を実施するための1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを記憶し得る。さまざまな実装形態では、メモリは、静的ランダムアクセスメモリ(SRAM)、同期型動的RAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を記憶することが可能である他の任意のタイプのメモリなどの任意の適切なメモリ技術を使用して実施され得る。本明細書で説明されるアーキテクチャ、システム、および個々の要素は、多くの他の論理的構成要素、プログラム構成要素、および物理的構成要素を含んでよく、これらの構成要素のうち、添付の図に図示されるものは、本明細書における議論に関連する例にすぎない。
【0051】
いくつかの事例では、メモリ220および/またはメモリ224は、位置特定構成要素226、知覚構成要素228、プランニング構成要素230、案内システム232(そのゼロまたはそれ以上の部分は、GPU、CPU、および/または他の処理ユニットなどのハードウェアであってよい)、マップ234、および/またはシステムコントローラ236を記憶し得る。知覚構成要素228は知覚構成要素110を表してよく、プランニング構成要素230はプランニング構成要素112を表してよく、案内システム232は案内システム114を表してよく、システムコントローラ236はコントローラ116を表してよい。
【0052】
少なくとも1つの例では、位置特定構成要素226は、車両202のポジション、速度、および/または方位(たとえば、x-ポジション、y-ポジション、z-ポジション、ロール、ピッチ、またはヨーのうちの1つまたは複数)を決定するためにセンサ206からデータを受け入れるハードウェアおよび/またはソフトウェアを含み得る。たとえば、位置特定構成要素226は、環境のマップ234を含むおよび/または要求する/受け入れることがあり、マップ234内の自律車両の場所、速度、および/または方位を連続的に決定することが可能である。いくつかの事例では、位置特定構成要素226は、SLAM(同時位置特定およびマッピング(simultaneous localization and mapping))、CLAMS(較正、位置特定、およびマッピング、同時に(calibration, localization and mapping, simultaneously))、相対SLAM、バンドル調整、非線形最小二乗最適化などを利用して、イメージデータ、LIDERデータ、RADARデータ、IMUデータ、GPSデータ、ホイールエンコーダデータなどを受け入れ、自律車両の場所、位置、および/または速度を正確に決定し得る。いくつかの事例では、位置特定構成要素226は、本明細書で論じられるように、軌道を生成するためおよび/またはマップデータを生成するための自律車両の初期位置を決定するために、車両202のさまざまな構成要素にデータを提供し得る。いくつかの例では、位置特定構成要素226は、環境に対する車両202の場所および/または方位、および/またはそれと関連付けられたセンサデータを、知覚構成要素228に提供し得る。
【0053】
いくつかの事例では、知覚構成要素228は、ハードウェアおよび/またはソフトウェア内で実施される主知覚システムおよび/または予測システムを備え得る。知覚構成要素228は、車両202を取り囲む環境内のオブジェクトを検出する(たとえば、オブジェクトが存在することを識別する)、オブジェクトを分類する(たとえば、検出されたオブジェクトと関連付けられたオブジェクトタイプを決定する)、センサデータおよび/または環境の他の表現をセグメント化する(たとえば、センサデータおよび/または環境の表現の一部分を、検出されたオブジェクトおよび/またはオブジェクトタイプと関連付けられたと識別する)、オブジェクトと関連付けられた特性を決定する(たとえば、オブジェクトと関連付けられた現在の、予測された、および/または以前のポジション、進行方向、速度、および/または加速度を識別する軌跡)ことなどを行い得る。知覚構成要素228によって決定されるデータは、知覚データと呼ばれる。
【0054】
プランニング構成要素230は、位置特定構成要素226からの車両202の場所および/または方位および/または知覚構成要素228からの知覚データを受け入れることができ、このデータのいずれかに少なくとも部分的に基づいて車両202の動作を制御するための命令を決定し得る。いくつかの例では、命令を決定することは、命令が関連付けられたシステムと関連付けられたフォーマットに少なくとも部分的に基づいて命令を決定することを含み得る(たとえば、自律車両の動きを制御するための第1の命令は、システムコントローラ236および/または駆動構成要素212が遂行する解析/引き起こし得るメッセージおよび/または信号(たとえば、アナログ、デジタル、空気圧、運動学的)の第1のフォーマットでフォーマット化されてよく、エミッタ208のための第2の命令は、それと関連付けられた第2のフォーマットに従ってフォーマット化されてよい)。
【0055】
案内システム232は、車両202上および/またはコンピューティングデバイス214上で動作し得る。いくつかの例では、案内システム232は、パイプライン内のプランニング構成要素230から上流にあり(これに入力を提供し)、知覚構成要素228の少なくともいくつかの構成要素から下流にある(入力を受け入れる)ことがあり得る。案内システム232は、案内システム232の出力のすべてもしくは一部をプランニング構成要素230に渡すように構成されてもよいし、案内システム232の出力のいずれもプランニング構成要素230に渡さないように構成されてもよい。いくつかの例では、案内システム232は、知覚構成要素228の一部であり得る。案内システム232は、本明細書で論じられるように、滑らかな経路および滑らかな経路を追跡する軌道を生成するためにプランニング構成要素230が使用し得る粗い経路を生成するように構成されることができ、追加の例または代替例では、案内システム232は、粗い経路と滑らかな経路の両方を決定することができ得、滑らかな経路を直接的に計算し得る。
【0056】
メモリ220および/または224は、追加的または代替的に、マッピングシステム(たとえば、センサデータに少なくとも部分的に基づいてマップを生成する)、プランニングシステム、乗車管理システムなどを記憶し得る。位置特定構成要素226、知覚構成要素228、プランニング構成要素230、案内システム232、マップ234、および/またはシステムコントローラ236は、メモリ220に記憶されると例示されているが、これらの構成要素のいずれも、プロセッサ実行可能命令、機械学習されたモデル(たとえば、ニューラルネットワーク)、および/またはハードウェアを含んでよく、これらの構成要素のいずれかのすべてまたは一部は、メモリ224上に記憶されてもよいし、コンピューティングデバイス214の一部として構成されてもよい。
【0057】
本明細書で説明されるように、位置特定構成要素226、知覚構成要素228、プランニング構成要素230、案内システム232、および/またはシステム200の他の構成要素は、1つまたは複数のMLモデルを備え得る。たとえば、位置特定構成要素226、知覚構成要素228、プランニング構成要素230、および/または案内システム232は各々、異なるMLモデルパイプラインを備え得る。いくつかの例では、MLモデルは、ニューラルネットワークを備え得る。典型的なニューラルネットワークは、出力を生み出すために接続された層のシリーズを通して入力データを渡す生物学的に示唆されたアルゴリズムである。ニューラルネットワーク内の各層はまた、別のニューラルネットワークを含むことが可能である、または任意の数の層(畳み込みであろうとなかろうと)を含むことが可能である。本開示の文脈で理解可能であるように、ニューラルネットワークは、機械学習を利用することができ、これは、学習されたパラメータに基づいて出力が生成されるそのようなアルゴリズムの幅広いクラスを指すことが可能である。
【0058】
ニューラルネットワークの文脈で論じられたが、任意のタイプの機械学習が、本開示と矛盾せずに使用可能である。たとえば、機械学習アルゴリズムは、限定するものではないが、回帰アルゴリズム(たとえば、通常の最小二乗回帰(OLSR:ordinary least squares regression)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS:multivariate adaptive regression spline)、局所的に推定された散布図平滑化(LOESS:locally estimated scatterplot smoothing))、インスタンスベースのアルゴリズム(たとえば、リッジ回帰、最小絶対値縮小選択演算(LASSO:least absolute shrinkage and selection operator)、エラスティックネット(elastic net)、最小角度回帰(LARS:least-angle regression))、決定木アルゴリズム(たとえば、分類木と回帰木(CART:classification and regression tree)、反復二分法3(ID3:iterative dichotomiser 3)、カイ二乗自動的相互作用検出(CHAID:Chi-squared automatic interaction detection)、決定株、条件付き決定木)、ベイジアンアルゴリズム(たとえば、ナイーブベイズ、ガウシアンナイーブベイズ、多項ナイーブベイズ、平均1依存推定器(AODE:average one-dependence estimator)、ベイジアン信念ネットワーク(BNN:Bayesian belief network)、ベイジアンネットワーク)、クラスタリングアルゴリズム(たとえば、k-平均、k-メディアン、期待値最大化(EM)、階層クラスタリング)、相関ルール学習アルゴリズム(たとえば、パーセプトロン、誤差逆伝播、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN:Radial Basis Function Network))、深層学習アルゴリズム(たとえば、深層ボルツマンマシン(DBM:Deep Boltzmann Machine)、深層信念ネットワーク(DBN:Deep Belief Network)、畳み込みニューラルネットワーク(CNN)、スタックドオートエンコーダ)、次元削減アルゴリズム(たとえば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元尺度解析(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、2次判別分析(QDA)、柔軟な判別分析(FDA:Flexible Discriminant Analysis))、アンサンブルアルゴリズム(たとえば、ブースティング、ブートストラップアグリゲーション(バギング)、AdaBoost、スタック一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースティング回帰木(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、半教師あり学習などを含むことが可能である。アーキテクチャの追加の例は、ResNet-50、ResNet-101、VGG、DenseNet、PointNetなどのニューラルネットワークを含む。いくつかの例では、本明細書で論じられるMLモデルは、PointPillars、第2の特徴層、トップダウン特徴層(たとえば、その全体が本明細書に組み込まれる特許文献5を参照されたい)および/またはVoxelNetを含んでよい。アーキテクチャ待ち時間最適化は、MobilenetV2、Shufflenet、Channelnet、Peleenetなどを含んでよい。MLモデルは、いくつかの例では、Pixorなどの残余ブロックを含み得る。
【0059】
いくつかの例では、MLモデルは、たとえば、畳み込みニューラルネットワーク(CNN)などのニューラルネットワークを備え得る。本明細書で説明されるように、典型的なニューラルネットワークは、出力を生み出すために接続された層のシリーズを通して入力データを渡す生物学的に示唆されたアルゴリズムである。ニューラルネットワーク内の各層はまた、別のニューラルネットワークを含むことが可能である、または任意の数の層(畳み込みであろうとなかろうと)を含むことが可能である。本開示の文脈で理解可能であるように、ニューラルネットワークは、機械学習を利用することができ、これは、学習されたパラメータに基づいて出力が生成されるそのようなアルゴリズムの幅広いクラスを指すことが可能である。ニューラルネットワークの文脈で論じられるように、任意のタイプの機械学習が、本開示と矛盾せずに使用可能である。いくつかの例では、本明細書で論じられる案内システム232および/またはMLモデルは、コンピューティングデバイス204のメモリに記憶されるおよび/またはそれにアクセス可能であるプロセッサ実行可能命令、ハードウェア、および/またはそれらの何らかの組み合わせ(たとえば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC))を備え得る。
【0060】
メモリ220は、追加的または代替的に、1つまたは複数のシステムコントローラ236を記憶でき、システムコントローラ236は、車両202の誘導、推進、ブレーキ、安全性、エミッタ、通信、および他のシステムを制御するように構成され得る。これらのシステムコントローラ236は、駆動構成要素212の対応するシステムおよび/または車両202の他の構成要素と通信でき、および/またはこれらを制御できる。たとえば、プランニング構成要素230は、知覚構成要素228および/または案内システム232によって生成された知覚データに少なくとも部分的に基づいて命令を生成し得、案内システム232によって生成された知覚データおよび/または経路を検証し、および/またはシステムコントローラ236に命令を送信し得る。システムコントローラ236は、プランニング構成要素230から受け入れられた命令に少なくとも部分的に基づいて車両202の動作を制御し得る。
【0061】
図2は、分散システムとして例示されているが、代替の例では、車両202の構成要素は、コンピューティングデバイス214と関連付けられてよく、および/またはコンピューティングデバイス214の構成要素は、車両202と関連付けられてよいことが留意されるべきである。すなわち、車両202は、コンピューティングデバイス214と関連付けられた機能のうちの1つまたは複数を行ってよく、その逆も同様である。
【0062】
例示的な動的データ
図3Aおよび
図3Bは、車両を取り囲む環境内のオブジェクトと関連付けられたセンサデータに少なくとも部分的に基づいて知覚構成要素によって決定され得る可能性がある動的データ300および動的データ302の例を描いたものである。知覚構成要素は、センサデータを受け入れてオブジェクトの動きを予測する1つまたは複数のMLモデルを備え得る。たとえば、1つまたは複数のMLモデルは、フレームのシリーズを出力することができ、各フレームは、異なる将来の時間と関連付けられる。フレームの別個の部分(たとえば、ピクセル、領域)は、オブジェクトが、フレームと関連付けられた時間にその別個の部分に対応する環境の一部分を占拠する可能性を示し得る。描写は、別個の部分を小さい四角として、ゼロであるまたはしきい値よりも小さい可能性を空の空間として例示する。言い換えれば、著しい(たとえば、低い方のしきい値よりも大きい可能性)可能性を備える動的データ300および302の部分のみが描かれている。別個の部分と関連付けられた可能性は、別個の部分を描く四角の陰影として描かれる-陰影が濃いほど、可能性が大きい。いくつかの例では、可能性は、センサデータおよびMLモデルのアーキテクチャに少なくとも部分的に基づいて環境の一部分に関連した事後確率出力であり得る。MLモデルは、追加的または代替的に、各別個の部分と関連付けられた速度と、この速度と関連付けられた信頼スコアを決定するように訓練され得る。
【0063】
図3Aと
図3Bの両方は、動的データ300および302によって表されるオブジェクトが時間t=0に方向308に動いているための予測と、車両が少なくとも時間t=0に方向310に方位付けられている予測を描く。車両のポジション312は、「x」として表される。たとえば、動的データ300および/または302は、車両の前の駐車場から反転しようとしている車両と関連付けられ得る。動的データ300は、フレーム304(1)~(n)を含むことができ、動的データ302は、フレーム306(1)~(n)を含むことができ、フレームの各々は、異なる将来の時間と関連付けられ得る。いくつかの例では、フレームと関連付けられた時間の間隔は、ノード層間の間隔と同じ間隔であり得る(たとえば、一例では500ミリ秒であるが、他の期間も企図される)。たとえば、第1の時間すなわちt=0は、現在の時間と関連付けられることができ、第nの時間は、t=2秒などの予測限界と関連付けられ得る。フレーム間の期間に応じて、任意の数の介在フレームがあり得る。
【0064】
いくつかの例では、MLモデルは、センサデータに加えて、入力として車両のモードを示す信号を受け入れ得る。たとえば、モード信号は、プランナによる軌道の出力(たとえば、軌道自体または「コースを維持する」、「右折する」などのその抽象のどちらか)、以前に決定された経路、任務レベルモード(たとえば、搭乗者を降ろす、搭乗者を乗せる、搭乗者を輸送する)、エミッタモード(たとえば、スピーカ/ホーン起動、転回灯状態)などを含み得る。
【0065】
動的データ300および動的データ302は、入力として提供される車両のモードの違いにより生じ得る予測の違いを例示する。
図3Aは、車両が停止に近づいていることを示す車両モードに基づいてMLモデルによって出力され得る動的データを表し、
図3Bは、車両がその軌道を続行していることを示す車両モードに基づいてMLモデルによって出力され得ることを表す動的データを表す。要するに、
図3Aは、動的オブジェクトが車両の前で方向転換操作を完了し得る予測を含み、
図3Bは、動的オブジェクトが停止になり得る予測を含む。
【0066】
本明細書で論じられる技法は、車両モードを考慮しない名目上動的オブジェクト予測を出力する第1のMLモデルを含み得る。言い換えれば、第1のMLモデルは車両モードを使用して訓練されず、第1のMLモデルは、入力として車両モードを受け入れない。技法は、入力として車両モードを受け入れるように第2のMLモデルを訓練することをさらに含むことができ、および/または技法は、異なる車両モードを取り扱うように異なるMLモデルを訓練することと、現在の車両モードに基づいてMLモデルを選択することとを含み得る。追加的または代替的に、1つまたは複数のMLモデルは、直ちに出力を生成することができ、この出力は、連結されて、案内システムに提供され得る。たとえば、動的データ300および302は、同じMLモデルによって生成されてもよいし、異なるMLモデルによって生成されてもよいが、動的データ300と302のどちらかまたは両方は、案内システムに提供され得る。少なくとも1つの例では、車両モードは、それから生成された動的データと関連付けられ得る。本明細書で使用されるとき、動的データは、オブジェクトがフレームと関連付けられた時間に環境の一部分を占拠するまたは占拠するであろう可能性を識別する動的オブジェクトデータの単一のフレーム、車両モードを含む入力から生成されたフレーム、車両モードを含まなかった入力から生成されたフレーム、多数のフレーム(たとえば動的データ300のすべて、など)、および/または多数の車両モードにわたる集合的な動的データ(たとえば、動的データ300および動的データ302)を指すことができる。
【0067】
例示的なプロセス
図4A~
図4Cは、環境データに少なくとも部分的に基づいて自律車両を制御するための経路を決定するための例示的なプロセス400の図入り流れ図を例示し、環境データは、センサデータから生成され得、ポジションおよび/または速度マップを予測する静的オブジェクトおよび/または動的オブジェクトを示す占拠マップを含み得る。本明細書で論じられる動作は、組み合わせて、別々に、順次、および/または並列に使用され得、同じデバイスまたは、異なるデバイスによって行われ得る。たとえば、自律車両のコンピューティングデバイスは、動作の少なくともいくつかを達成することができ、および/またはリモートコンピューティングデバイス(たとえば、分散コンピューティングサービスの、テレオペレーションシステムの)は、動作の少なくともいくつかを達成し得るが、少なくともいくつかの例では、自律車両は、すべての動作を達成し得る。案内システムのハードウェア構成要素および/またはソフトウェア構成要素は、例示的なプロセス400の少なくとも一部を達成するように構成され得る。追加のまたは代替の例では、リモートコンピューティングデバイスは、例示的なプロセス400の少なくとも一部を達成し得る。いくつかの例では、プロセスの動作の少なくともいくつかは、自律車両および/または分散コンピューティングシステムなどの他のコンピューティングデバイスによってあらかじめ計算され得る。
【0068】
【0069】
動作402では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、環境内の少なくとも開始ポジションと関連付けられたルートを受け入れることを含み得る。いくつかの例では、ルートを受け入れることは、追加的または代替的に、開始ポジションおよびターゲット(たとえば、柔軟な目標)車線または他の基準を受け入れることを含み得る。たとえば、他の基準は、幹線道路(highway)入口または出口、オブジェクト(たとえば、別の車両または一時的に車両を離れた搭乗者をフォローする)、開いた場などの構造化されていない環境内での相対ポジションなどを含み得る。例示的なルートは、
図1に描かれており、
図4Aで複製される。いくつかの例では、動作402は、車両の現在の場所(たとえば、センサデータに少なくとも部分的に基づいて決定される)および/または終了ポジション(たとえば、ルートの終結点、ルートに沿った中間点)に少なくとも部分的に基づいてルートを決定することを含み得る。ルートは、追加的または代替的に、1つまたは複数のカーブ(1つまたは複数の直線を含んでよい)を含むことができ、カーブは、道路および/または終了場所への他の道と関連付けられた曲率に少なくとも部分的に基づいて決定され得る。そのようなカーブは、メモリに記憶されるマップおよび/または道路と関連付けられたインジケータと合致するおよび/またはこれに少なくとも部分的に基づいて決定され得る(たとえば、メディアンと関連付けられた形状、黄色の二重線、肩指示、歩道などを決定する)。さまざまな例では、そのようなルートは、追加的または代替的に、運転する所望の車線、行く通りなどを含み得る。
【0070】
動作404では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、車両を取り囲む環境と関連付けられた環境データを受け入れることを含み得る。環境データは、静的オブジェクトについてのデータ、静的データ406、および/または動的オブジェクトについてのデータ、動的データ408を含み得る。静的データ406および/または動的データ408は、車両の知覚構成要素から、および/または車両の位置特定構成要素および/またはマッピング構成要素から、受け入れられ得る。動的データ408は、オブジェクトが静止していることを示し得ることがあることに留意されたい。そのようなオブジェクトは、知覚構成要素が追跡をオブジェクトと関連付けた(たとえば、オブジェクトが以前に移動していた)とき、および/または知覚構成要素が、動的オブジェクト識別子と関連付けられたオブジェクト分類としてオブジェクトを分類した場合、動的データ408に含まれ得る。そのようなオブジェクト分類は、たとえば、自転車に乗っている人、歩行者、車両、動物などを含み得るが、建物、看板などは、典型的には、動的オブジェクト識別子および静的データ406に混合され得るそれに関係したセンサデータと関連付けられないであろう。静的オブジェクト占拠マップを使用する経路プランニングに関するさらなる詳細は、その全体が本明細書に組み込まれる「Unstructured Vehicle Path Planner」という名称の特許文献10に見出されてよい。
【0071】
いくつかの例では、占拠される可能性が高いと示される環境データの部分のサイズは、衝突をさらに回避するために拡張され得る。いくつかの事例では、動作404は、追加的または代替的に、距離マップを決定することを含むことができ、距離マップ内の場所は、その場所から、環境データにおいて占拠されると示される最も近い部分までの距離を示す。距離マップは、動的データ408の各時間ステップ、動的データ408の時間ステップのうちの1つもしくは複数に対して決定され得、および/または混合された距離マップが決定され得る(たとえば、多数の距離マップの平均)ことに留意されたい。静的データ406および/または動的データ408は、環境の一部分が占拠される/されない可能性および/または2値指示を示し得る。たとえば、静的データ406は、最大尤度(たとえば、尤度が0から1に及び、1はオブジェクトが存在する確信的な指示である例では、1)を示すことによって静的オブジェクトの存在を示すことができ、動的データ408は、0から1の間(1を含まない)の尤度によってオブジェクトの可能性の高いポジションを示すことができるが、他のシステムが、ロジットを使用するなどして、静的オブジェクトおよび動的オブジェクトを示すために使用され得る。いくつかの例では、距離マップは、2値マスクを決定するために尤度しきい値を使用して環境データ(すなわち、静的データ406および/または動的データ408)をフィルタリングすることに少なくとも部分的に基づいて算出され得る。言い換えれば、距離を決定することは、環境内の点からしきい値に等しいかまたはこれよりも大きい尤度を示す環境データの最も近い部分までの距離に少なくとも部分的に基づき得る。車両のポジションは「x」を用いて示されることに留意されたい。
【0072】
動作410では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、環境データに少なくとも部分的に基づいてコストマップを決定することを含み得る。たとえば、動作410は、静的データ406および動的データ408を連結そうでなければ組み合わせること、および/または1つもしくは複数の時間ステップおよび/または車両モードのためのコストマップ412を生成することを含み得る。コストマップ間の時間の間隔は、動的データ408時間ステップおよび/または動作414で生成されるノードの層間の時間ステップ間の間隔と同じであってもよいし、異なってもよい。言い換えれば、動的データ、コストマップ、およびノード生成レートは、同期または非同期である時間ステップに関連して生成され得る。したがって、補間または射影が、コストマップ412を生成するためまたはノードと関連付けられたコストを決定するために必要とされ得る。補間が使用されないことがある少なくとも1つの例では、コストマップ412の数は、ノードが生成される各時間ステップに対してコストマップが生成されるように、生成される層の最大数に等しくてよい。追加的または代替的に、コストマップの数は、ノードの層の数よりも小さくてよい。
【0073】
いくつかの例では、コストマップを決定することは、環境内のポジション、進行方向、速度、加速度(たとえば、長手方向加速度および/または横加速度)、および/または入り口/出口曲率に到達することと関連付けられたコストを決定することを含むが、簡単のために、本明細書における議論は、ポジションに到達することを主に論じる。コストマップは、図では大幅に簡略化されている、これらの異なるメトリクス(たとえば、ポジション、進行方向、速度、曲率)と関連付けられた多変量空間と関連付けられ得ることに留意されたい。実際には、これは、第1のコストは、ポジション、進行方向、および速度と関連付けられ得るが、異なるコストは、ポジションおよび進行方向は同じだが異なる速度と関連付けられ得ることを意味する。
【0074】
コストを決定することは、多変量空間の異なる部分に到達するために必要とされる操作と関連付けられた重みを示す訪問コストのあらかじめ計算されたフィールドに少なくとも部分的に基づき得る。訪問コストのあらかじめ計算されたフィールドは、異なるスピード(たとえば、1時間あたり5マイル、1時間あたり15マイルなど)のための多数のフィールドを含み得る。たとえば、車両の前方10フィートのポジションおよび進行方向に到達するコストは、そのポジションにおける速度が車両の現在のスピードよりも高いまたは低い場合よりも高いことがある(たとえば、車両が1時間あたり30マイルで走行している場合、1時間あたり25マイルまたは1時間あたり35マイルで同じポジションおよび進行方向に到達するための第1のコストは、1時間あたり10マイルまたは1時間あたり50マイルで同じポジションおよび進行方向に到達する第2のコストよりも小さいであろう)。
【0075】
コストを決定することは、追加的または代替的に、コストマップ内のポジションからターゲット車線などのターゲット基準までの距離を決定すること、静的オブジェクトもしくは動的オブジェクトへの距離を決定すること(動作404で決定され得る距離マップに基づいてよい、および/または静的データ406、動的データ408、および/または動作404で決定され得る距離マップに少なくとも部分的に基づいて衝突の可能性を決定することに少なくとも部分的に基づき得る。たとえば、コストは、最も近いオブジェクトへの距離および/または最も近い動的オブジェクトの走行のスピードおよび/または方向に基づき得る。コストは、追加的または代替的に、ルートまたは他の基準点(たとえば、ターゲット車線)からの多変量空間内のポジションによって指定されるポジション、進行方向、速度、および/または曲率のずれ、および/またはルートに沿った変位に少なくとも部分的に基づくずれコストに少なくとも部分的に基づき得る。たとえば、コストは、ルートに沿った変位が増加するにつれて、減少し得る。ルートに沿った変位を決定することは、点をルート上に射影することと、効果的に横断されるであろうルートの一部分を決定することとを含み得る。ずれコストは、追加的または代替的に、車両の現在のポジション、進行方向、速度などからの、多変量空間内のポジション、進行方向、速度などのずれに少なくとも部分的に基づき得る。
【0076】
いくつかの例では、コストを決定することは、オブジェクトと関連付けられたオブジェクト分類に少なくとも部分的に基づき得る。たとえば、オブジェクトの挙動および/または重要性は変わることがあるので、異なるコスト関数は、異なるタイプのオブジェクトと関連付けられ得る。たとえば、静的オブジェクトと関連付けられたコスト関数は、移動を説明する構成要素を含まないことがあり得、車両と関連付けられたコスト関数は、歩行者と関連付けられたコスト関数とは異なり得る。
【0077】
いくつかの例では、動作410は、多変量空間の全体よりも小さいものと関連付けられたコストを決定することを含み得る。たとえば、動作410は、車両のスピードを含むことがある現在の車両モードに少なくとも部分的に基づいてコスト決定を制限することができ、および/またはコスト決定は、動作414および/もしくは動作434で決定される特定のノードに制限され得る。言い換えれば、1つまたは複数のノードが生成される前に、コストマップのすべて、一部が計算されてもよいし、コストマップが計算されなくてもよい。たとえば、コストマップの一部は、環境データおよび/またはあらかじめ計算された訪問コストフィールドに少なくとも部分的に基づいて決定される距離マップに少なくとも部分的に基づいて決定され得るが、コスト決定の他の部分(たとえば、衝突可能性コスト、類似性コスト、ルート変位コスト)は、ノードが決定されると、またはノード生成動作の一部として、決定され得る。
【0078】
いくつかの例では、動作410(および動的データを論じる他の動作のいずれか)は、車両の運転通路(drive corridor)と関連付けられた動的データ408の一部分を決定することを含み得る。運転通路は、車両の以前の経路、ルート、または現在の軌道と関連付けられ得る。動的データ408の部分を決定することは、時間ステップのうちの1つまたは複数で運転通路に該当する動的データ408の一部分を決定することを含み得る。いくつかの事例では、運転通路の両側の緩衝物が、安全のために追加の動的データ408を含むために追加され得る。いくつかの例では、コストマップを決定することは、すべての動的データ408ではなく動的データ408のこの部分に基づき得るが、十分な計算帯域幅が利用可能である場合、動的データ408のすべてが使用され得る。
【0079】
図4Bに戻って、動作414では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、次の時間ステップ(または次の距離)のためにノードのセットを決定することを含み得る。
図4Bは、ノードの表現がより明確に見られ得るように、コストマップの簡略化されたバージョン(簡略化されたコストマップ416)を描く。ノードの数および密度はこの例のために表されているにすぎないことに留意されたい。ノードの数および密度ならびに時間ステップのサイズは、本明細書で描かれ説明されるよりも大きくてもよいし、小さくてもよい。次の時間ステップのためにノードのセットを決定することは、任意の以前の層の1つまたは複数のノードのポジションに少なくとも部分的に基づき得る。描かれる例では、次の時間ステップは第1の時間ステップすなわちt=1であり、そのため、ノード418は、「x」によって示される時間t=0における車両の現在のポジションに基づいて決定された。第2の時間ステップすなわちt=2と関連付けられたノードの以後の層は、多変量空間内のノード418のうちの1つまたは複数のポジションに少なくとも部分的に基づき得る。各時間ステップが100ミリ秒単位の時間に対応する場合、ノード418は、将来の100ミリ秒の時間における異なるポジション、進行方向、速度、および/または曲率に対応し得る。ノードの第2の層は、計算割り振りまたはメモリ割り振りが使い果たされるまで、ターゲット場所に到達されるまで、および/またはノード/時間ステップのセットのしきい値数すなわちnに到達されるまで、将来の200ミリ秒の時間などに対応し得る。
【0080】
いくつかの例では、ノードは、たとえば、進行方向およびスピードを維持すること、誘導角度を5度継続的に変更して指定された減速度で減速すること、進行方向およびスピードを維持するがオブジェクトから離れるように少しずつ動かすことなどの、制御ポリシーと関連付けられ得る。ノードそれ自体が、ノードと関連付けられた制御ポリシー、制御ポリシーを実施する結果であろう多変量空間内のポジション、ノードに到達するためのコスト、以後のノードの予測されたコスト、類似性コスト、および/またはノードと関連付けられた親ノードの識別情報(たとえば、ノードが基づくノード-たとえば、親ノードは、制御ポリシーの開始点であり得る)を示すデータ構造を備え得る。ノードのセットを決定することは、各ノードが1つの親を有する木を生成することを含み得るが、追加または代替の例では、ノードのセットを決定することは、ノードを関係付けるために有向非巡回グラフ(DAG)または他の任意のデータ構造の種類を生成することを含み得る。いくつかの例では、制御ポリシーは、センサデータ、知覚データ、および/またはマップデータに少なくとも部分的に基づいて車両のプランニング構成要素によって動的に生成されることがあり得、および/または制御ポリシーは、メモリに記憶される複数の標準制御ポリシーのうちの1つであり得る。いくつかの例では、標準制御ポリシーは、異なる知覚データおよび/またはマップデータ状態と関連付けられ得る。たとえば、低速で鋭い回転のための制御ポリシーは、あるスピードを上回ってハイウェイ(幹線道路)上で走行する間利用不可能であり得るが、緊急高速操作のための異なる制御ポリシーは、ハイウェイ運転と関連付けられ得る。
【0081】
ノードに到達するコストは、そのノードにその親ノードから到達するコスト(たとえば、ずれコスト、衝突コストを考慮に入れ得るコストマップに少なくとも部分的に基づく)と、親ノードと関連付けられたコストの合計であり得る。言い換えれば、ノードに到達するコストは、ノードに階層的に先行するノードの各々の合計されたコストであり得る。
【0082】
ノードの類似性コストは、多変量空間内の最も近い1つもしくは複数のノードへのノードの近接性および/または制御ポリシー間の一致スコアに少なくとも部分的に基づいて決定され得る。この類似性コストは、ノード生成の前に算出されてもよいし、ノード生成の後に算出されてもよい。少なくとも1つの例では、類似性コストは、以下でさらに論じられるように、衝突および/またはハッシュ剪定の後に決定され、ノードと関連付けられた総コストに追加されることがあり得る。
【0083】
いくつかの例では、ノードを決定することは、ルートに沿った変位と解の間の横/方位角の多様性の組み合わせを最大化し(または、多様性発見的手法を満たし)、所与の時間間隔内のコストマップに少なくとも部分的に基づいてコストを最小化する、多変量空間内の解を探索することを含み得る。たとえば、探索アルゴリズムは、たとえばD*、D*lite、Focused Dynamic A*、A*、LPA*、ダイクストラアルゴリズム(Dijkstra’s algorithm)などのアルゴリズムを含み得るが、有向グラフおよび/または重み付き有向グラフを探索および/または生成するための他の探索アルゴリズムが使用され得る。いくつかの例では、探索は、サンプルノードおよびルールセットに少なくとも部分的に基づいて有向グラフまたは木を構築することに少なくとも部分的に基づき得る。たとえば、ルールセットは、同じ層の2つのノードは、接続されないことがあるおよび/または接続されたノード間の最小および/または最大距離であることがあることなどを指定し得る。いくつかの例では、上記で論じられたアルゴリズムの1つが、本明細書で論じられるコストパラメータを含むように修正され得る。少なくとも1つの例では、静的データ406および/または動的データ408からの距離、その値、および/またはコストマップは、探索アルゴリズムの一部として更新されるコストパラメータであり得る。
【0084】
いくつかの例では、動作414は、より低いコストで増加した変位および横/方位角の多様性をもつと、探索アルゴリズムによって識別されたm個のノードを返すことができ、ここで、mは正の整数である。「増加した」および「より低い」は変位、多様性、およびコストの値がそれ自体それぞれの最大または最小であるまたはでない値であった可能性があるが、変位、多様性、および/またはコストのバランスをとるものとして探索アルゴリズムによって識別されていることを意味する。言い換えれば、探索アルゴリズムは、ノードの変位、多様性、およびコストを最適化しようとし得る。第1の層を越えた層に対して、探索アルゴリズムは、以前の層のノードあたりm個のノードまで探査し得る。
【0085】
動作420では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、ノード422が衝突を招く可能性があるかどうかを決定することを含み得る。たとえば、この動作は、多変量空間内のノード422で車両をポジショニングすることを表すことを含み得る。これは、自律車両の幅に等しい直径を有する2つの円として車両を表すことであって、第1の円は、自律車両の前車軸(すなわち、前円424)が中心とされてよく、第2の円は、自律車両の後車軸(後円426)が中心とされてよいと表すことと、表現と最も近い静的オブジェクトおよび/または将来の時間に動的オブジェクトによって占拠されると予測される環境の一部分との間の距離を決定することとを含み得る。いくつかの例では、ノード426は、後軸のポジション(たとえば、後円424の中心)と関連付けられるが、追加または代替の配置が企図される(たとえば、円の重複領域の中心、前円424の中心)。いくつかの例では、自律車両および/または占拠マップによって示される占拠される空間の表現は、誤差を説明するために拡張され得る(たとえば、円の直径および/または占拠内で占拠されると示される面積は、自律車両幅の半分に拡張され得る)。
【0086】
ノードが衝突を招く可能性が高いかどうかを決定することは、どちらかの円から最も近い静的オブジェクトまたは動的オブジェクトへの最短距離428を決定することを含み得る。動的オブジェクトへの距離を決定することは、環境データおよび/または可能性のしきい値におけるもしくはこれを上回る可能性と関連付けられたコストマップの一部分への距離を決定することを含み得る。距離428が距離のしきい値よりも短い場合、動作420は、動作430に進んでよい。そうでない場合、動作420は、動作432に進んでよい。
【0087】
動作430では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、衝突を招く可能性が高いことがあるノードを剪定すること、および/または衝突の可能性をノードと関連付けることを含み得る。ノードを剪定することは、木もしくはグラフからノードを除去することまたはノードが衝突を招くであろうノードと指示を関連付けることを含み得る。衝突インジケータは、ノードが以後のノードの親として使用されることおよび最終経路の一部として選択されることを防止し得る。衝突の可能性をノードと関連付けることは、動作444におけるコスト決定動作の一部としてノードと関連付けられた重みを(たとえば、コストを増加させることによって)修正することを含み得る。
【0088】
動作432では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、動作414で生成されるノードのセットのうちのノードと関連付けられたハッシュを決定することを含み得る。
図4Bは、ノード418のセットのノード422の例示的なハッシュ424を描いたものであり、ハッシュ434は、ハッシュのタイプに応じて数字および/または文字の文字列によって表される。いくつかの例では、多変量空間と関連付けられたハッシュがハッシング関数によってあらかじめ計算され、ある数のビットが多変量空間の各次元に割り振られ得る。
【0089】
たとえば、ハッシング関数が64ビット整数を出力するように構成される場合、状態空間内のx-ポジションは、16ビットのハッシュによって示されてよく、y-ポジションは、16ビットによって示されてよく、速度は、8ビットによって示されてよく、ヨーは、8ビットによって示されてよい。ハッシュ関数は、ハッシュ関数のパラメータとして分解能436セットに少なくとも部分的に基づいて決定される次元を有する多変量空間の一部分を表すハッシュを生成するように設計され得る。多変量空間のその部分の次元内に設置される任意のノードは、同じハッシュ438と関連付けられる。分解能436は、生成されるノードの多様性を制御するために使用され得る-分解能436が大きいほど、ノード多様性も大きくなる(すなわち、より多くのノードが同じハッシュを生成する)が、これは、剪定後のノードの総数を減少させ得、そのため、分解能436は、数十の解(たとえば、20、30、50)があるように調節され得るが、他の数も企図されている(たとえば、5、100、数百)。
【0090】
描かれる例によれば、ノード422とノード438は両方とも、分解能436のサイズによりハッシュ424を生成する。少なくとも1つの例では、動作432は、探索中にそれまで生成されているノードのハッシュ値のリストを記憶することを含み得る。いくつかの例では、ノードのハッシュは、ハッシング関数を使用して車両用に計算され得るが、追加または代替の例では、ノードのハッシュは、多変量空間内のノードの場所に基づいてあらかじめ計算されたハッシュのセットからルックアップテーブル内のハッシュを探すことによって計算され得る。
【0091】
図4Cに戻って、動作440では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、ノードのハッシュが他の任意のノードのハッシュに一致するかどうかを決定することを含み得る。ノードのハッシュが別のノードのハッシュに一致する場合、動作440は、ノードのうちの少なくとも1つが剪定される動作442に進んでよく、そうでない場合は、動作430は動作444に進んでよい。いくつかの例では、動作440および442は、2つのステージを含み得る。第1のステージでは、新しく生成されたノードのハッシュ(「ノード候補」)が互いに対して比較されて剪定され得、第2のステージでは、残りのノード候補のハッシュが、以前に生成されたノードと比較され得る。
【0092】
動作432では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、一致したハッシュと関連付けられたノードのうちの1つを剪定することを含み得る。少なくとも1つの例では、直近に生成されたノードが破棄され得る。追加または代替の例では、例示的なプロセス400は、一致ハッシュをもつ各ノードと関連付けられたコストを決定することを含むことができ、最低コストと関連付けられたノードを除くすべてを破棄し得る。ノードを破棄することは、経路の一部としての使用の考慮からノードを除去することができ、および/または多変量空間内の剪定されたノード場所に基づいてノードの以後の層を生成させないようにし得る。剪定されたノードが親ノード(すなわち、1つまたは複数の子ノードを有するノード)である場合、その子ノードも剪定され得る。いくつかの例では、2つのハッシュが衝突する場合、2つのノードが異なるノード生成動作で生成された場合はノードのうちの新しい方が、剪定され得る。たとえば、ノード候補が(たとえば、ハッシュベースの剪定のステージ2において)以前に生成されたノードと衝突する場合、2つのノードのうちの古い方(すなわち、以前のノードセットに関連して生成されたノード)が保存され、新しい方のノードが剪定され得る。
図4Cは、ノード446の剪定された層の一例を描く。ハッシュベースの剪定方法が本明細書で説明されているが、他の適切な剪定技法も使用され得ることに留意されたい。
【0093】
動作444では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、ノードと関連付けられたコストを決定することを含み得る。いくつかの例では、動作444は、動作410、414、および/または420の一部であり得る。たとえば、動作410は、ノードと関連付けられたコストの第1の部分を決定することを含むことができ、動作444は、ノードと関連付けられたコストの第2の部分を決定することを含むことができる。追加または代替の例では、動作410は、(たとえば、ノードの生成がコストに基づかない例では)減少または除去され得、動作444は、上記で論じられた動作410の1つまたは複数の部分を含み得る。さらに別の例では、ノードを生成することは、多変量空間の異なる部分と関連付けられたコストを決定することに少なくとも部分的に基づくことができ、および/またはノードを剪定することは、ノードと関連付けられたコストを決定することに少なくとも部分的に基づき得る。衝突コスト、ずれコスト、訪問コストなどの他のコストが、動作410、414、および/または420で生成され得るが、これらのいずれも、動作444で算出され得る(ノード生成がコストに基づく例におけるノード生成などの、その後の動作が、それらに頼らない限り)。
【0094】
ノードが生成された後で算出されることがある少なくとも1つの追加のコストは、類似性コストである。類似性コストは、多変量空間内で近いノードのコストを増加させる、上記で論じられたコストの合計に適用される(重み付けされる/重み付けされない)重みを含み得る。しかしながら、分解能が正しく調節される場合、類似性コストは、小さいことがあるかまたは全く使用されないことがある。
【0095】
動作448では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、計算限界が満たされているかどうかを決定することを含み得る。たとえば、動作448は、計算割り振りまたはメモリ割り振りが枯渇したかどうかを決定すること、環境内のターゲット場所が1つもしくは複数のノードによって到達されていることを決定すること、および/またはノード/時間ステップのセットのしきい値数すなわちnが到達されていることを決定することを含み得る。言い換えれば、第nのノードセットが生成された場合、動作448は動作452に移行してよく、そうでない場合は、動作448は、動作450に移行し、最後に動作414、420、430、432、440、442、444、および/または448のうちの任意の1つまたは複数に戻ってよい。たとえば、例示的なプロセス400は、計算限界の1つが満たされるまで、動作414、420、430、432、440、442、444、および/または448のうちの少なくともいくつかを反復的に繰り返してよい。
【0096】
動作450では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、さらなる探査のために最低コストp最低コストノードを選択すること(限界が満たされない限り)を含むことができ、pは正の整数である。最低コストpノードは、ノードの剪定されたセットの間から選択され得る。最低コストpノードは、直近に生成されたノードのセットおよび/または以前に生成されたノードのセットからのノードを含み得ることに留意されたい。いくつかの事例では、これは、直近に探査されたノードがあまりにコストがかかるものになる(たとえば、相違コストが高くなり始めてアルゴリズムに新しい経路を探させる)または衝突を招く場合、経路のためのより古いノードを探査するためにアルゴリズムを復帰させ得る。
【0097】
最低コストpノードは、ノードの以後の層を決定するために(すなわち、動作414で)選択され得る。ノードの以後の層を決定すること(動作414で)は、p個の選択されたノードのうちのノードを探査することに少なくとも部分的に基づき得る。ノードを探査することは、ノードに少なくとも部分的に基づいて最大m個のノードを決定することを含み得る(
図5Aのノード422に少なくとも部分的に基づいて決定されるノード500を参照されたい)。上記で論じられたように、ノードを探査することは、探査されたノードを開始点としてもつ異なる制御ポリシーを実施することから生じるであろう多変量空間内のポジションを決定することを含み得る。
【0098】
以前の層のノード毎に探索アルゴリズムによって探査されるノードの数すなわちmは、動作450で選択されるノードの数pよりも大きいまたはこれに等しくてよい。ノードの次の層は、最大p・m個のノードを含み得る。いくつかの例では、pは、数十、数百、または他の任意の数のノードであってよい。最低コストp個のノードを決定することは、動作446で決定されるコストに応じて最低コストpノードをランク付け、ソートし、および/または識別することを含み得るが、いくつかの例では、ノードは、GPU処理ユニットによって達成され得る計数ソート法に従ってそれらが生成されるので、コストによってソートされ得る。
【0099】
いくつかの例では、GPUなどの第1のタイプのプロセッサの異なるコアまたはスレッドが、探査されたp個のノードの中から、ノード探査の異なるものを取り扱い得る。たとえば、第1のコアまたはスレッドは、p個のノードのうちの第1のノードに基づいて最大m個のノードを生成することを取り扱うことができ、第2のコアまたはスレッドは、p個のノードのうちの第2のノードに基づいて最大m個のノードを生成することを取り扱うことができる、などである。コスト決定(たとえば、コストマップおよび/またはノードと関連付けられた特定のコスト)、ハッシュ決定、および/または他のステップは同様に並列化され得るが、第2のタイプのプロセッサは、これらまたは他の動作のいずれかを取り扱い得ることが理解される。いくつかの例では、ノード、ハッシュ、および/またはコストが決定されると、ノード、ハッシュ、および/またはコストは、動作430、432、434、448、および/または450を含み得る処理のために、第1のタイプのプロセッサとは異なる第2のタイプのプロセッサに送られ得るが、第1のタイプまたはプロセッサは、これらの動作のうちの1つまたは複数を達成し得る。
【0100】
動作452では、例示的なプロセス400は、本明細書で論じられる技法のいずれかにより、最低コストエンドノードを決定することおよび/またはそれと関連付けられた経路を出力することを含み得る。いくつかの例では、探索アルゴリズムは、探索アルゴリズムの一部として経路および異なる経路のランニング総コストを徐々に追跡するおよび/または生成し得る(たとえば、この総コストは、ノードに到達するためのコストとしてグラフまたは木における1つの経路に沿って最も遠いノードによって識別され得る)が、いくつかの探索アルゴリズムは、最大n個のノードセットデータを格納した後に1つまたは複数の経路を決定し得る。少なくとも1つの例では、動作452は、最新の時間ステップと関連付けられた最低コストノード(たとえば、5秒が、到達される最大時間ステップである場合、将来において5秒と関連付けられたノード)またはルートに沿った変位を決定することを含み得る。いくつかの例では、変位はコスト決定(たとえば、全体的なコストを減少させること)の一部であり得るので、コストそれ自体が変位を反映することがあり、動作452は、最低コストノードを選択するにすぎないことがある。さらに別の例では、最低コストノードを決定することは、生成されるノードのすべてからではなく、ノードの直近に生成された(最後)セットの中から最低コストノード(たとえば、最低コストエンドノード454)を決定することを含み得る。
【0101】
追加的または代替的に、経路を決定することは、異なるノード層のノード間の接続の異なる組み合わせを反復的に決定することと、接続の組み合わせのランニング総コストを減少させることに少なくとも部分的に基づいて有向グラフに追加するために接続を選択することとを含み得る。いくつかの例では、探索アルゴリズムは、使用されるアルゴリズムに応じて、ノードが生成されたとき、これを徐々に行い得る。たとえば、探索アルゴリズムは、これらの接続を、第1のノードと第2のノードとの間の接続(たとえば、エッジ)および/または接続と関連付けられた重み(たとえば、コスト)を含めて、有向グラフまたは木に記憶し得る。コストは、動作410、414、420、および/または444で決定されるコストに少なくとも部分的に基づき得る。
【0102】
いくつかの例では、動作452は、最低コストノードと関連付けられた経路を決定することを含み得る。各ノードが1つの親のみを有する(たとえば、木構造に従って生成されたノード)例では、経路456を決定することは、最低コストノードおよびそのすべての親を開始ポジションに戻して出力することを含み得る。グラフに従ってノードが生成される例では、経路を決定することは、ノードから最低コスト経路をトレースすることを含み得る。経路を出力することは、最低コストノード、最低コストノードと関連付けられたコスト、最低コストノードと開始ポジションとの間の1つもしくは複数の介在ノードおよび/またはそれと関連付けられたコスト、および/または開始ポジションまで最低コストノードを形成するノードを通るトレースを出力することを含み得る。いくつかの例では、動作452は、追加的または代替的に、多数の経路を出力することを含み得る。たとえば、動作452は、最低コストr個の経路であって、ここで、rは正の整数である、最低コストr個の経路、および/または大きく異なる経路が作成される状況では少なくとも2つの経路(たとえば、1つの経路は左に行き、別の経路は右に行く)を出力し得る。
【0103】
たとえば、経路456は、
図4Cに例示されるようなベジェ曲線などのカーブであり得るが、案内システムによって出力される経路は粗い経路を含むことができ、粗い経路は、経路(たとえば、ポジション、進行方向、それによって指定される速度)によって接続されるノードの座標のリスト、ノード間の線形接続などを含み得る。動作452が粗い経路を決定することを含む例では、例示的なプロセス400は、プランニング構成要素の平滑化構成要素などの別の構成要素に粗い経路を送ることをさらに含むことができ、この別の要素は、粗い経路を受け入れ、粗い経路を、制御されている特定のタイプの車両によって運転可能である曲率と加速度とを有する滑らかな経路に滑らかにする。
【0104】
例示的な反復的なノード層生成
図5A~
図5Dは、本明細書で論じられる技法による、多変量空間内の連続したノード生成および剪定動作の結果のトップダウン図を描いたものである。簡単のために、静的オブジェクトは、上記の議論により、それらのコストマップ可能性に従ってというよりは2値で表されている。異なる時間ステップと関連付けられた動的データは、それぞれの時間ステップと関連付けられた動的データのフレームに応じて変化することに留意されたい。また、
図4A~
図5Dは、1つの車両モードに対して生成されたノード層および経路のみを描いているが、案内システムは、少なくとも現在の車両モードもしくは名目上車両モード(デフォルト)と関連付けられた経路および/または車両モードあたり最大1つの経路を決定することがあることが企図されていることに留意されたい。
図5A~
図5Dは、
図4A~
図4Cに描かれる例に従う例示的なプロセス400の動作414、420、430、432、440、442、444、448、および/または450のうちの少なくともいくつかのさらなる反復を描き得る。
【0105】
図5Aは、ノードの第1のセットの最低コストpノード(たとえば、ノード446の剪定されたセット)から生成されたノード500の第2のセットトップダウン表現を描いたものである。この描写は、線によってノード422に接続されたノードを含む。ノード500は、動作414の一部としてノード422に少なくとも部分的に基づいて生成され得るノードを表す。ノード500は、線によってノード422から生成されると示されている。少なくとも1つの例では、最低コストpノードの各々の異なるものは、探査のためにGPUの異なる処理ユニットに割り当てられた可能性がある。たとえば、GPUのコアまたはスレッドがノード422に割り当てられ、応答してノード500を生成した可能性がある。
【0106】
図5Bは、ノード446の剪定されたセットおよびノード500の第2のセットを剪定することの結果(すなわち、第2の剪定されたノード504)のトップダウン表現を描いたものである。第2の剪定されたノード504は、ノードの第1のセットと第2のセットの両方において生成されたノードを含むことに留意されたい。第2の剪定されたノード504の最低コストpノードが選択され、
図5Cに描かれるノードの第3のセットを生成するために使用されてよい。第3の剪定されたノード508として剪定されることがある。
図5Dは、第2の剪定されたノード504およびノードの第3のセット506が剪定された後に残る第3の剪定されたノード508のトップダウン表現を描いたものである。
【0107】
図6A~
図6Fは、2つの静的オブジェクトをもつ環境内でのトップダウン表現ノード生成を描いたものである。
図6A~
図6Fは、自由空間(自由空間600)を白色で、占拠された空間(占拠された空間602)を黒色で、ノードを灰色で表す。
図6Aは、環境と、開始ポジションと関連付けられたノード604を描いたものである。
【0108】
図6Bは、ノード生成の6回の反復の後で生成されたノードを例示する。
【0109】
図6Cは、ノード生成の10回の反復の後で生成されたノードを例示する。
【0110】
図6Dは、ノード生成の15回の反復の後で生成されたノードを例示する。
図6Dはまた、探査のための最低コストpノードは、以前の多数の反復生成されるノードのセットからのノードであり得ることを実証する。
【0111】
図6Eは、ノード生成の20回の反復の後で生成されたノードを例示する。静的オブジェクトを通過する新しいノード(606で示される)があるが、ノード生成の早期の反復の探査であるさらに追加されている新しいノードもある-これらは608で示されている-ことに留意されたい。
【0112】
図6Fは、ノード生成の25回の反復の後で生成されたノードと、実線として示される、最低コストエンドノードと関連付けられた出力された経路610を例示する。
【0113】
例示的な条項
A。環境内の動的オブジェクトの予測されるポジションと、将来の時間で動的オブジェクトが予測されるポジションを占拠する確率を受け入れることと、環境のデータに少なくとも部分的に基づいて車両を制御するための経路を決定することであって、環境データに少なくとも部分的に基づいてコストマップを決定することと、環境内の車両の現在のポジションに少なくとも部分的に基づいて第1のノードを決定することであって、第1のノードは、第1の時間間隔にわたって車両の動きを制御するための第1の軌道候補と関連付けられると決定することと、剪定技法に少なくとも部分的に基づいて、第1のノードのサブセットを決定することと、第1のノードのサブセットと関連付けられたコストを決定することであって、コストマップおよび追加ノードに対するノードの類似性に少なくとも部分的に基づいて、第1のノードのサブセットのノードと関連付けられたコストを決定することを含む、コストを決定することと、コストに少なくとも部分的に基づいて、第1のノードのサブセットと関連付けられたコストの間で最も低いコストを有するサブセットのうちの2つ以上のノードを決定することと、2つ以上のノードに少なくとも部分的に基づいて第2のノードを決定することと、第2のノードと関連付けられた第2のコストおよび第1のノードのサブセットと関連付けられたコストに少なくとも部分的に基づいて経路を決定することとを含む、経路を決定することとを含む方法。
【0114】
B。第2のノードのうちのノードを決定することは、制御ポリシーに従って2つ以上のノードのうちの1つと関連付けられたポジション、速度、および進行方向を射影することに少なくとも部分的に基づいて、車両の将来のポジション、速度、および進行方向を決定することに少なくとも部分的に基づき、第2のノードの個々のノードは異なる制御ポリシーと関連付けられる、段落Aの方法。
【0115】
C。剪定技法は、第1のノードと関連付けられたハッシュを決定することと、第1のノードのうちの1つまたは複数のノードが冗長ハッシュと関連付けられることを決定することと、第1のノードのうちの1つまたは複数のノードが冗長ハッシュと関連付けられることを決定することに少なくとも部分的に基づいて、第1のノードのうちの1つまたは複数のノードを破棄することとを含む、段落AまたはBのどちらかの方法。
【0116】
D。経路は、多数の第1の時間間隔にわたって車両のポジション、進行方向、または速度のうちの少なくとも1つを定める粗い経路であり、動作は、多数の第2の時間間隔にわたってポジション、進行方向、または速度のうちの少なくとも1つに加えて、経路の曲率を定めることに少なくとも部分的に基づいて粗い経路を改良することであって、第2の時間間隔は第1の時間間隔よりも短い、改良することをさらに含む、段落A~Cのいずれか1つの方法。
【0117】
E。粗い経路は、第1のタイプの処理ユニットによって決定され、改良された経路は、第1のタイプの処理ユニットとは異なる第2のタイプの処理ユニットによって決定される、段落A~Dのいずれか1つの方法。
【0118】
F。将来の時間は第1の将来の時間であり、確率は第1の確率であり、環境のデータは、動的オブジェクトの第2の予測されるポジションと動的オブジェクトが第1の将来の時間よりも遅い第2の将来の時間に第2の予測されるポジションを占拠する第2の確率とを示す第2のマップをさらに含み、第1のノードのサブセットと関連付けられたコストは第1の確率に少なくとも部分的に基づき、第2のコストは第2の確率に少なくとも部分的に基づく、段落A~Eのいずれか1つの方法。
【0119】
G。1つまたは複数のプロセッサと、この1つまたは複数のプロセッサによって実行されたとき、システムに、環境内の動的オブジェクトの予測されるポジションと、将来の時間で動的オブジェクトが予測されるポジションを占拠する確率を受け入れることと、環境のデータに少なくとも部分的に基づいて車両を制御するための経路を決定することであって、環境のデータに少なくとも部分的に基づいてコストマップを決定することと、環境内の車両の現在のポジションに少なくとも部分的に基づいて第1のノードを決定することと、剪定技法に少なくとも部分的に基づいて、第1のノードのサブセットを決定することと、第1のノードのサブセットと関連付けられたコストを決定することであって、コストマップおよび1つまたは複数の他のノードに対する第1のノードのサブセットのうちのノードの類似性に少なくとも部分的に基づいてノードと関連付けられたコストを決定することを含む、コストを決定することと、コストに少なくとも部分的に基づいて、第1のノードのサブセットと関連付けられたコストの間で最も低いコストを有するサブセットのうちの2つ以上のノードを決定することと、2つ以上のノードに少なくとも部分的に基づいて第2のノードを決定することと、第2のノードと関連付けられた第2のコストおよび第1のノードのサブセットと関連付けられたコストのうちの1つまたは複数に少なくとも部分的に基づいて経路を決定することとを含む、経路を決定することとを含む動作を行わせるプロセッサ実行可能命令を記憶するメモリとを備えるシステム。
【0120】
H。第2のノードのうちのノードを決定することは、制御ポリシーに従って2つ以上のノードの1つと関連付けられたポジション、速度、および進行方向を射影することに少なくとも部分的に基づいて、車両の将来のポジション、速度、および進行方向を決定することに少なくとも部分的に基づき、第2のノードの個々のノードは異なる制御ポリシーと関連付けられる、段落Gのシステム。
【0121】
I。経路は、多数の第1の時間間隔にわたって車両のポジション、進行方向、または速度のうちの少なくとも1つを定める粗い経路であり、動作は、多数の第2の時間間隔にわたってポジション、進行方向、または速度のうちの少なくとも1つに加えて経路の曲率を定めることに少なくとも部分的に基づいて、粗い経路を改良することであって、第2の時間間隔は第1の時間間隔よりも短い、改良することをさらに含む、段落GまたはHのどちらかのシステム。
【0122】
J。粗い経路は第1のタイプの処理ユニットによって決定され、滑らかな経路は、第1のタイプの処理ユニットとは異なる第2のタイプの処理ユニットによって決定される、段落G~Iのいずれか1つのシステム。
【0123】
K。将来の時間は第1の将来の時間であり、確率は第1の確率であり、環境のデータは、動的オブジェクトの第2の予測されるポジションと動的オブジェクトが第1の将来の時間よりも遅い第2の将来の時間に第2の予測されるポジションを占拠する第2の確率とを示す第2のマップをさらに含み、ノードの第1のサブセットと関連付けられたコストは第1の確率に少なくとも部分的に基づき、第2のコストは第2の確率に少なくとも部分的に基づく、段落G~Jのいずれか1つのシステム。
【0124】
L。コストマップを決定することは、環境と関連付けられたパラメータ空間内のポジション、進行方向、速度、または曲率のうちの少なくとも1つと関連付けられたコストを決定することを含み、コストを決定することは、車両またはターゲット車線の現在のポジション、進行方向、速度、もしくは曲率からの、ポジション、進行方向、速度、もしくは曲率のうちの少なくとも1つのずれに少なくとも部分的に基づいて訪問コストを決定すること、またはポジションへの静的オブジェクトの近接性、予測されるポジションへのポジションの近接性、もしくは確率を決定すること、またはルートもしくは経路基準からのポジション、進行方向、速度、もしくは曲率のずれを決定することに少なくとも部分的に基づく、段落G~Kのいずれか1つのシステム。
【0125】
M。第1のノードのサブセットのうちのノードと関連付けられたコストを決定することは、第1のノードのサブセットのうちの第2のノードに対する第1のノードの類似性、第1のノードのサブセットのうちの1つもしくは複数の他のノードの横ポジションと比較した第1のノードの横ポジションの差、または第1のノードと関連付けられたルートに沿った距離、のうちの少なくとも1つに少なくとも部分的に基づいて重みを決定することをさらに含む、段落G~Lのいずれか1つのシステム。
【0126】
N。1つまたは複数のプロセッサによって実行されたとき、この1つまたは複数のプロセッサに、環境内の動的オブジェクトの予測されるポジション、将来の時間で動的オブジェクトが予測されるポジションを占拠する確率を受け入れることと、環境のデータに少なくとも部分的に基づいて車両を制御するための経路を決定することであって、環境のデータに少なくとも部分的に基づいてコストマップを決定することと、環境内の車両の現在のポジションに少なくとも部分的に基づいて第1のノードを決定することと、剪定技法に少なくとも部分的に基づいて、第1のノードのサブセットを決定することと、第1のノードのサブセットと関連付けられたコストを決定することであって、コストマップおよび1つまたは複数の他のノードに対する第1のノードのサブセットのうちのノードの類似性に少なくとも部分的に基づいて、ノードと関連付けられたコストを決定することを含む、コストを決定することと、このコストに少なくとも部分的に基づいて、第1のノードのサブセットと関連付けられたコストの間で最も低いコストを有するサブセットのうちの2つ以上のノードを決定することと、2つ以上のノードに少なくとも部分的に基づいて第2のノードを決定することと、第2のノードと関連付けられた第2のコストおよび第1のノードのサブセットと関連付けられたコストのうちの1つまたは複数に少なくとも部分的に基づいて経路を決定することとを含む、経路を決定することとを含む動作を行わせるプロセッサ実行可能命令を記憶する非一時的なコンピュータ可読媒体。
【0127】
O。第2のノードのうちのノードを決定することは、制御ポリシーに従って2つ以上のノードの1つと関連付けられたポジション、速度、および進行方向を射影することに少なくとも部分的に基づいて、車両の将来のポジション、速度、および進行方向を決定することに少なくとも部分的に基づき、第2のノードのうちのノードは、異なる制御ポリシーと関連付けられる、段落Nの非一時的なコンピュータ可読媒体。
【0128】
P。剪定技法は、第1のノードと関連付けられたハッシュのセットを決定することと、冗長ノードとして、冗長ハッシュと関連付けられた第1のノードのうちのノードを決定することとを含み、ノードのサブセットは冗長ノードを除く、段落NまたはOのどちらかの非一時的なコンピュータ可読媒体。
【0129】
Q。経路は、多数の第1の時間間隔にわたって車両のポジション、進行方向、または速度のうちの少なくとも1つを定める粗い経路であり、動作は、多数の第2の時間間隔にわたってポジション、進行方向、または速度のうちの少なくとも1つに加えて経路の曲率を定めることに少なくとも部分的に基づいて粗い経路を改良することであって、第2の時間間隔は第1の時間間隔よりも短い、改良することをさらに含む、段落N~Pのいずれか1つの非一時的なコンピュータ可読媒体。
【0130】
R。将来の時間は第1の将来の時間であり、確率は第1の確率であり、環境のデータは、動的オブジェクトの第2の予測されるポジションと動的オブジェクトが第1の将来の時間よりも遅い第2の将来の時間に第2の予測されるポジションを占拠する第2の確率をと示す第2のマップをさらに含み、ノードの第1のサブセットと関連付けられたコストは第1の確率に少なくとも部分的に基づき、第2のコストは第2の確率に少なくとも部分的に基づく、段落N~Qのいずれか1つの非一時的なコンピュータ可読媒体。
【0131】
S。コストマップを決定することは、環境と関連付けられたパラメータ空間内のポジション、進行方向、速度、または曲率のうちの少なくとも1つと関連付けられたコストを決定することを含み、コストを決定することは、車両またはターゲット車線の現在のポジション、進行方向、速度、もしくは曲率からのポジション、進行方向、速度、もしくは曲率のうちの少なくとも1つのずれに少なくとも部分的に基づいて訪問コストを決定すること、静的オブジェクトへのポジションの近接性、予測されるポジションへのポジションの近接性、もしくは確率を決定すること、またはルートもしく経路基準からのポジション、進行方向、速度、もしくは曲率のずれを決定することに少なくとも部分的に基づく、段落N~Rのいずれか1つの非一時的なコンピュータ可読媒体。
【0132】
T。第1のノードのサブセットのうちのノードと関連付けられたコストを決定することは、第1のノードのサブセットのうちの第2のノードに対する第1のノードの類似性、第1のノードのサブセットのうちの1つもしくは複数の他のノードの横ポジションと比較した第1のノードの横ポジションの差、または第1のノードと関連付けられたルートに沿った距離、のうちの少なくとも1つに少なくとも部分的に基づいて重みを決定することをさらに含む、段落N~Sのいずれか1つの非一時的なコンピュータ可読媒体。
【0133】
U。方法は、車両の1つまたは複数のセンサによって捕捉されたセンサデータに少なくとも部分的に基づいて環境データを決定することをさらに含み、環境データを決定することは、車両の動作のモードの指示を受け入れることと、車両の動作のモードおよびセンサデータに少なくとも部分的に基づいて、環境内の動的オブジェクトのポジション、進行方向、もしくは速度のうちの少なくとも1つの第1の予測を決定すること、および第1の予測に少なくとも部分的に基づいて第1のヒートマップを決定することを含む、段落A~Fのいずれか1つの方法。
【0134】
結論
主題は、構造的特徴および/または方法論的な行為に特有の言い回しで説明されてきたが、添付の特許請求の範囲において定められた主題は必ずしも、説明される特定の特徴または行為に限定されないことが理解されるべきである。むしろ、特定の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示される。
【0135】
本明細書で説明される構成要素は、任意のタイプのコンピュータ可読媒体に記憶されてよく、ソフトウェアおよび/またはハードウェアにおいて実装されてよい命令を表す。上記で説明された方法およびプロセスのすべては、1つもしくは複数のコンピュータもしくはプロセッサ、ハードウェア、またはそれらの何らかの組み合わせによって実行されるソフトウェアコード構成要素および/またはコンピュータ実行可能命令において具現化され、これらを介して完全に自動化され得る。あるいは、方法のいくつかまたはすべては、代替的に専用コンピュータハードウェアにおいて具現化されてよい。
【0136】
本明細書で論じられるプロセスのうちの少なくともいくつかは、論理フローグラフとして例示され、その各動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実施可能である動作のシーケンスを表す。ソフトウェアの文脈では、動作は、1つまたは複数のプロセッサによって実行されるとき、記載された動作をコンピュータまたは自律車両に行わせる、1つまたは複数の非一時的なコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を行うまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、制限と解釈されることを意図したものではなく、任意の数の説明された動作は、プロセスを実施するために、任意の順序で、および/または並列に、組み合わせ可能である。
【0137】
別段に述べられない限り、とりわけ、「ことがある、~してよい(may)」、「可能性がある(could)」、「ことがある、~してよい(may)」、または「かもしれない(might)」などの条件付き言い回しは文脈において、いくつかの例はいくつかの特徴、要素、および/またはステップを含むが、他の例は含まないことを提示すると理解される。したがって、そのような条件付き言い回しは一般に、いくつかの特徴、要素、および/もしくはステップは、いかなる形であれ、1つもしくは複数の例に必要とされること、または1つもしくは複数の例は、ユーザ入力もしくはプロンプト表示を用いてもしくは用いずに、いくつかの特徴、要素、および/もしくはステップが含まれるもしくは任意の特定な例で行われるべきであるかどうかを決めるための論理を必ず含むことを暗示することを意図したものではない。
【0138】
「X、Y、またはZのうちの少なくとも1つ」という句などの接続的な言い回しは、別段に述べられない限り、項目、用語などが X、Y、またはZ、または各要素の多数を含むそれらの任意の組み合わせのどれかであってよいことを提示すると理解されるべきである。単数として明示的に説明されない限り、「1つの、ある(a)」は、単数および複数を意味する。
【0139】
本明細書で説明されるおよび/または添付の図に描かれる流れ図内の任意のルーチン説明、要素、またはブロックは、ルーチン内で特定の論理的機能または要素を実施するための1つまたは複数のコンピュータ実行可能命令を含むモジュール、セグメント、またはコードの部分を潜在的に表すと理解されるべきである。代替実装形態は、当業者によって理解されるであろうように関与される機能に応じて、実質的に同期して、逆の順序で、追加の動作とともに、または動作を省略することを含めて、要素または機能が削除されてもよいし、図示また議論されたものとは順不同で実行されてもよい、本明細書で説明される例の範囲内に含まれる。用語は、範囲を実質的に示すことがあることに留意されたい。たとえば、実質的に同時には、互いの時間範囲内で2つの活動が発生することを示すことがあり、実質的に同じ寸法は、2つの要素が互いの範囲内の寸法を有することを示すことがあり、以下同様である。
【0140】
多くの変形および修正が、上記で説明された例になされてよく、その要素は、他の許容できる例の中にあると理解されるべきである。すべてのそのような修正および変形は、本明細書において本開示の範囲内に含まれ、添付の特許請求の範囲によって保護されることが意図されている。
【国際調査報告】