(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-10
(54)【発明の名称】ノードエッジ特徴への相対的オブジェクト情報のエンコード
(51)【国際特許分類】
B60W 30/10 20060101AFI20241203BHJP
B60W 60/00 20200101ALI20241203BHJP
G08G 1/16 20060101ALI20241203BHJP
G06T 7/00 20170101ALI20241203BHJP
【FI】
B60W30/10
B60W60/00
G08G1/16 C
G06T7/00 650A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024531114
(86)(22)【出願日】2022-10-21
(85)【翻訳文提出日】2024-05-23
(86)【国際出願番号】 US2022047451
(87)【国際公開番号】W WO2023096716
(87)【国際公開日】2023-06-01
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ゴーサム ガリメラ
(72)【発明者】
【氏名】マリン コビラロフ
(72)【発明者】
【氏名】アンドレス ギレルモ モラレス モラレス
(72)【発明者】
【氏名】イーサン ミラー プロノヴォスト
(72)【発明者】
【氏名】カイ ジェンユー ワン
(72)【発明者】
【氏名】シアオスー ゾン
【テーマコード(参考)】
3D241
5H181
5L096
【Fターム(参考)】
3D241CD16
3D241CD17
3D241CE04
3D241CE09
3D241DB01Z
3D241DB02Z
3D241DB05Z
3D241DB10Z
3D241DB12Z
3D241DC33Z
3D241DC39Z
3D241DC50Z
3D241DC59Z
3D241DC60Z
5H181AA01
5H181BB20
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181CC27
5H181LL04
5H181LL09
5H181LL15
5L096AA06
5L096BA04
5L096CA04
5L096DA02
5L096FA69
5L096HA09
5L096HA11
5L096JA11
5L096JA18
5L096KA04
(57)【要約】
環境内のオブジェクトの統一された将来を決定するための手法が本明細書で議論される。手法は、環境内のオブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴を決定し、環境内のオブジェクトの位置に基づいて、グラフニューラルネットワーク(GNN)を更新して、第1の特徴及び第2の特徴を、オブジェクトを表すグラフノードにエンコードし、環境内の追加のオブジェクトの相対位置をノードに接続された1つ又は複数のエッジにエンコードすることを含み得る。GNNは、その後のタイムことにおけるオブジェクトの予測位置を決定するためにデコードされ得る。さらに、様々なタイムことにおけるオブジェクトの予測位置を使用して、オブジェクトの予測軌道が決定され得る。
【特許請求の範囲】
【請求項1】
方法であって、
環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、前記環境はオブジェクトを含むことと、
前記センサーデータに少なくとも部分的に基づいて、第1の時間における前記オブジェクトに関連付けられた第1の特徴を決定することと、
前記環境に関連付けられた前記センサーデータ又はマップデータに少なくとも部分的に基づいて、前記環境に関連付けられた第2の特徴を決定することと、
前記オブジェクトに関連付けられた前記第1の特徴及び前記環境に関連付けられた前記第2の特徴を表すグラフニューラルネットワーク(GNN)の第1のノードを決定することと、
前記車両を表す前記GNNの第2のノードを決定することであって、前記第1のノードと前記第2のノードとを接続するエッジが、前記車両又は前記オブジェクトの少なくとも一方の状態を相対状態として表すことと、
前記GNNに少なくとも部分的に基づいて、前記第1の時間の後の第2の時間における前記オブジェクトの第1の予測位置を表す第1の出力を決定することと、
前記オブジェクトの前記第1の予測位置に少なくとも部分的に基づいて、前記オブジェクトの第1の予測軌道を決定することと、
を備える方法。
【請求項2】
前記車両は、前記環境を横断する自律車両であり、前記方法は、前記オブジェクトの前記軌道に少なくとも部分的に基づいて、前記自律車両を制御することをさらに備える、請求項1に記載の方法。
【請求項3】
前記GNNに少なくとも部分的に基づいて、前記第2の時間における前記車両の第2の予測位置を表す第2の出力を決定することと、
前記車両に関連付けられた計画コンポーネントから、前記環境を通る前記車両の基準軌道を受信することと、
前記基準軌道に少なくとも部分的に基づいて、前記GNNの前記第2のノードを更新することであって、前記第1のノードと前記第2のノードを接続する前記エッジが前記車両の候補位置を表すことと、
前記オブジェクトの前記第1の予測位置と前記車両の前記候補位置に少なくとも部分的に基づいて、前記オブジェクトの前記第1の予測軌道を決定することと、
をさらに備える、請求項1又は2に記載の方法。
【請求項4】
前記第1のノードと前記第2のノードとを接続する前記エッジは、前記第1の時間における前記車両に対する前記オブジェクトの前記状態を表し、前記方法は、
前記マップデータに少なくとも部分的に基づいて、前記環境に関連付けられた特徴マップを決定することと、
前記環境における前記オブジェクトの前記第1の予測位置及び前記特徴マップに少なくとも部分的に基づいて、前記環境に関連付けられた第3の特徴を決定することと、
前記第3の特徴に少なくとも部分的に基づいて、前記GNNの前記第1のノードを更新することと、
前記GNNに少なくとも部分的に基づいて、前記第2の時間の後の第3の時間における前記オブジェクトの第2の予測位置を表す第2の出力を決定することと、
をさらに備え、
前記オブジェクトの前記第1の予測軌道を決定することは、前記オブジェクトの前記第1の予測位置と前記オブジェクトの前記第2の予測位置に少なくとも部分的に基づく、
請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記オブジェクトの姿勢、
前記オブジェクトの位置、
前記オブジェクトの加速度、
前記オブジェクトの速度、
前記オブジェクトのサイズ、
前記オブジェクトのタイプ、又は、
前記オブジェクトの照明状態、
の少なくとも1つを表すデータに少なくとも部分的に基づいて、前記オブジェクトに関連付けられた前記第1の特徴を決定することをさらに備える、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記環境内の静的オブジェクト、
前記環境内の動的オブジェクト、
前記環境内の交通標識、
前記環境内の信号機、
前記環境内の前記静的オブジェクト又は前記動的オブジェクトのタイプ、
前記環境内の前記静的オブジェクト又は前記動的オブジェクトの照明状態、又は、
前記環境内の車線標識、
のうちの少なくともつを表すデータに少なくとも部分的に基づいて、前記環境に関連付けられた前記第2の特徴を決定することをさらに備える、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記第1の特徴は、前記オブジェクトに関連付けられたデータを第1のニューラルネットワークに入力することに少なくとも部分的に基づいて決定され、前記データは、前記センサーデータに少なくとも部分的に基づいており、
前記第2の特徴は、前記環境の視野を前記第1のニューラルネットワークとは異なる第2のニューラルネットワークに入力することに少なくとも部分的に基づいて決定され、前記環境の前記視野は、前記センサーデータに少なくとも部分的に基づいており、
前記第2の特徴は、前記オブジェクトに対応する前記環境の一部に関連付けられる、
請求項1から6のいずれか一項に記載の方法。
【請求項8】
1つ又は複数のプロセッサによって実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体であって、前記指令が実行されると、前記1つ又は複数のプロセッサに請求項1から7のいずれか一項に記載の前記方法を実行させる、非一時的コンピュータ可読媒体。
【請求項9】
システムであって、
1つ又は複数のプロセッサと、
1つ又は複数の非一時的コンピュータ可読媒体であって、前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに、
環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、前記環境はオブジェクトを含むことと、
前記センサーデータに少なくとも部分的に基づいて、第1の時間における前記オブジェクトに関連付けられた第1の特徴を決定することと、
前記環境に関連付けられた前記センサーデータ又はマップデータに少なくとも部分的に基づいて、前記環境に関連付けられた第2の特徴を決定することと、
前記オブジェクトに関連付けられた前記第1の特徴及び前記環境に関連付けられた前記第2の特徴を表すグラフニューラルネットワーク(GNN)の第1のノードを決定することと、
前記車両を表す前記GNNの第2のノードを決定することであって、前記第1のノードと前記第2のノードとを接続するエッジが、前記車両又は前記オブジェクトの少なくとも一方の状態を相対状態として表すことと、
前記GNNに少なくとも部分的に基づいて、前記第1の時間の後の第2の時間における前記オブジェクトの第1の予測位置を表す第1の出力を決定することと、
前記オブジェクトの前記第1の予測位置に少なくとも部分的に基づいて、前記オブジェクトの第1の予測軌道を決定することと、
を備える動作を実行させるコンピュータ実行可能な指令を格納する該1つ又は複数の非一時的コンピュータ可読媒体と、
を備える、システム。
【請求項10】
前記車両は、前記環境を横断する自律車両であり、前記動作は、前記オブジェクトの前記軌道に少なくとも部分的に基づいて、前記自律車両を制御することをさらに備える、請求項9に記載のシステム。
【請求項11】
前記動作は、
前記GNNに少なくとも部分的に基づいて、前記第2の時間における前記車両の第2の予測位置を表す第2の出力を決定することと、
前記車両に関連付けられた計画コンポーネントから、前記環境を通る前記車両の基準軌道を受信することと、
前記基準軌道に少なくとも部分的に基づいて、前記GNNの前記第2のノードを更新することであって、前記第1のノードと前記第2のノードを接続する前記エッジが前記車両の候補位置を表すことと、
前記オブジェクトの前記第1の予測位置と前記車両の前記候補位置に少なくとも部分的に基づいて、前記オブジェクトの前記第1の予測軌道を決定することと、
をさらに備える、請求項9又は10に記載のシステム。
【請求項12】
前記第1のノードと前記第2のノードとを接続する前記エッジは、前記第1の時間における前記車両に対する前記オブジェクトの前記状態を表し、前記動作は、
前記マップデータに少なくとも部分的に基づいて、前記環境に関連付けられた特徴マップを決定することと、
前記環境における前記オブジェクトの前記第1の予測位置及び前記特徴マップに少なくとも部分的に基づいて、前記環境に関連付けられた第3の特徴を決定することと、
前記第3の特徴に少なくとも部分的に基づいて、前記GNNの前記第1のノードを更新することと、
前記GNNに少なくとも部分的に基づいて、前記第2の時間の後の第3の時間における前記オブジェクトの第2の予測位置を表す第2の出力を決定することと、
をさらに備え、
前記オブジェクトの前記第1の予測軌道を決定することは、前記オブジェクトの前記第1の予測位置と前記オブジェクトの前記第2の予測位置に少なくとも部分的に基づく、
請求項9から11のいずれか一項に記載のシステム。
【請求項13】
前記動作は、
前記オブジェクトの姿勢、
前記オブジェクトの位置、
前記オブジェクトの加速度、
前記オブジェクトの速度、
前記オブジェクトのサイズ、
前記オブジェクトのタイプ、又は、
前記オブジェクトの照明状態、
の少なくとも1つを表すデータに少なくとも部分的に基づいて、前記オブジェクトに関連付けられた前記第1の特徴を決定することをさらに備える、請求項9から12のいずれか一項に記載のシステム。
【請求項14】
前記動作は、
前記環境内の静的オブジェクト、
前記環境内の動的オブジェクト、
前記環境内の交通標識、
前記環境内の信号機、
前記環境内の前記静的オブジェクト又は前記動的オブジェクトのタイプ、
前記環境内の前記静的オブジェクト又は前記動的オブジェクトの照明状態、又は、
前記環境内の車線標識、
のうちの少なくともつを表すデータに少なくとも部分的に基づいて、前記環境に関連付けられた前記第2の特徴を決定することをさらに備える、請求項9から13のいずれか一項に記載のシステム。
【請求項15】
前記動作は、前記データを畳み込みニューラルネットワーク(CNN)又はリカレントニューラルネットワーク(RNN)のうちの1つに入力することに少なくとも部分的に基づいて、前記環境に関連付けられた前記第2の特徴を決定することをさらに備える、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ノードエッジ特徴への相対的オブジェクト情報のエンコードに関する。
【背景技術】
【0002】
本出願は、2021年11月24日に出願され、「ENCODING RELATIVE OBJECT INFORMATION INTO NODE EDGE FEATURES」と題された米国特許出願第17/535357号、2021年11月24日に出願され、「BOUNDARY AWARE TOP-DOWN PREDICTION」と題された米国特許出願第17/535382号、2021年11月24日に出願され、「PREDICTION SAMPLING TECHNIQUES」と題された米国特許出願第17/535396号、及び、2021年11月24日に出願され、「FOCUSING PREDICTION DISTRIBUTION OUTPUT FOR EFFICIENT SAMPLING」と題された米国特許出願第17/535418号の優先権を主張し、これらの全内容は、あらゆる目的のために、参照により、本明細書に組み込まれる。
【0003】
自律車両は、環境を通して車両を誘導するための様々なソフトウェアベースのシステム、ハードウェアベースのシステム、及び/又はコントローラを含み得る。例えば、自律車両のコントローラは、センサーシステム、オブジェクト知覚及び予測システム、ならびに、経路計画及び最適化技術を使用して、経路を計画し、運転経路を決定し、静的及び動的オブジェクトを含む環境を通して、車両を誘導することができる。他の移動車両(自律型又はそれ以外)、移動する人々、静止した建物などがある混雑した領域を横断する間、乗客だけでなく周囲の人や物体の安全を確保するために、自律車両はデータを受信して分析し、決定を下し得る。例えば、ある環境を横断している間、自律車両は、周辺環境にあるオブジェクトに関する様々なセンサーからのセンサーデータと、周辺環境を表すマップデータの組み合わせを使用して、環境を分析し、その環境において車両をどのように制御し、ナビゲートするかを決定し得る。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図を参照しながら説明される。図において、符号の最も左の桁は、符号が最初に現れる図を特定する。異なる図における同じ符号の使用は、類似又は同一の構成要素又は特徴を示す。
【0005】
【
図1】センサーデータを取り込み、特徴をグラフニューラルネットワーク(GNN)のノードとエッジにエンコードし、GNNによって出力された分布データから物体の予測位置をサンプリングするための例示的なプロセスの絵画的フロー図である。
【
図2】センサーデータを取り込み、特徴をGNNのノードとエッジにエンコードし、GNNによって出力された分布データからサンプリングされたオブジェクトの第1の予測位置が指定された領域の外側にあると決定し、マップデータに基づいてオブジェクトの第2の予測位置を決定するプロセスの一例を示す絵画的フロー図である。
【
図3A】トップダウンビューから見た環境の例と、第1のタイプの予測を使用して決定された環境内の車両の予測軌道を示している。
【
図3B】トップダウンビューから見た環境の例と、第2のタイプの予測を使用して決定された環境内の車両の予測された将来を示している。
【
図4A】トップダウンビューから見た環境の例と、第1のタイプの予測を使用して決定された予測位置を示している。
【
図4B】トップダウンビューから見た環境の例と、第2のタイプの予測を使用して決定された予測位置を第1のタイプの予測を使用して決定された予測位置と比較した図である。
【
図5A】第1のタイプの予測と第2のタイプの予測を使用して第1の時間における予測位置を決定するための構造例を示す図である。
【
図5B】第1のタイプの予測と第2のタイプの予測を使用して第2の時間における予測位置を決定するための構造例を示す図である。
【
図6】特徴をGNNにエンコードし、GNNが出力する分布データからオブジェクトの予測位置をサンプリングするためのアーキテクチャ例を示すブロック図である。
【
図7】GNNのノードを更新し、GNNが出力する分布データからオブジェクトの予測位置をサンプリングする例を示すブロック図である。
【
図8A】センサーデータを取り込み、特徴をGNNのノードとエッジにエンコードし、サンプリングするためのプロセス例である。
【
図8B】センサーデータを取り込み、特徴をGNNのノードとエッジにエンコードし、サンプリングするためのプロセス例である。
【
図9】センサーデータを取り込み、特徴をGNNのノードとエッジにエンコードし、GNNが出力する分布データからサンプリングされたオブジェクトの第1の予測位置が指定された領域の外側にあることを決定し、マップデータに基づいてオブジェクトの第2の予測位置を決定するためのプロセス例である。
【
図10】センサーデータを取り込み、特徴をGNNのノードとエッジにエンコードし、GNNによって出力される分布データをサンプリングするためのサンプリング手法を決定し、サンプリング手法を使用して分布データからサンプリングされたオブジェクトの予測位置に基づいて車両を制御するための例示的なプロセスである。
【
図11】センサーデータを取り込み、特徴をGNNのノードとエッジにエンコードし、GNNによって出力された第1の分布データを評価して、基準を満たす第1の分布データに含まれる予測位置のサブセットを含む第2の分布データを決定し、第2の分布データからサンプリングされたオブジェクトの予測位置に基づいて車両を制御するための例示的なプロセスである。
【
図12】本明細書に述べられる手法を実装するための例示的なシステムのブロック図である。
【発明を実施するための形態】
【0006】
本明細書では、環境内のオブジェクトの予測された将来位置を決定する手法が議論される。例えば、本明細書に述べられる手法は、センサーデータ、マップデータ、及び/又は環境内で決定されたオブジェクトの分析に基づく予測及び計画動作を含み得る。いくつかの例では、手法は、環境に関連付けられた特徴マップから環境の要素を決定してベクトル化すること、ならびに環境内で知覚されるオブジェクト(本明細書では、エンティティ、エージェントなどとも呼ばれる)を決定してベクトル化すること、及び、ベクトル化された環境要素及びオブジェクトをグラフ構造内で表すことを含み得る。いくつかの例では、自律車両などの車両のコンピューティングデバイス、及び/又は車両に関連付けられたコンピューティングデバイスは、車両ノード及び/又はオブジェクトノードの組み合わせを含むグラフニューラルネットワーク(GNN)を生成し、使用し得る。GNNはまた、GNN内のオブジェクトのペアの間のオフセットデータ(例えば、相対位置、相対姿勢、相対速度、相対加速度、相対サイズなど)を格納するエッジネットワークを含み得る。GNNは、グラフ構造上で動作し得るニューラルネットワークの一種である。様々な実装において、GNNは、GNN内のノードの別個のペアに関連付けられた別個のエッジ特徴を有する部分連結又は完全連結であり得る。GNN自体から決定される内部入力に基づいて、及び/又は、環境において自律車両によって知覚される更新された観測に基づいて、ノード及び/又はエッジ特徴の更新を含むGNNの状態を更新するために、例えば、グラフメッセージパッシングなどの機械学習に基づく推論動作が実行さ得る。GNNへの更新(GNNによって出力されたデータとも呼ばれる)は、環境内の個々のオブジェクトの予測された将来の状態の分布を表し得、自律車両は、GNNの一部をデコードし、及び/又は分布出力からサンプリングされて、環境内のオブジェクトの位置、速度、軌道、及び/又は他の更新された予測状態の予測を決定し得る。
【0007】
本明細書で議論されるように、センサーデータは、環境内の車両に関連付けられたセンサーによって取り込まれ得る。いくつかの例では、環境は、例えば、第1のオブジェクト(例えば、エンティティ)などの1つ又は複数のオブジェクトを含み得る。センサーデータは、車両、第1のオブジェクト、及び/又は環境に関連付けられた特徴を決定するために様々な方法で処理され得る。例えば、第1のオブジェクトの第1の状態を表す第1のデータが決定され得る。いくつかの例では、第1の状態は、オブジェクトの姿勢、オブジェクトの位置、オブジェクトの加速度、オブジェクトの速度、オブジェクトのサイズ、オブジェクトのタイプ、オブジェクトの照明状態などを含み得るが、これらに限定されない。いくつかの例では、第1のオブジェクトの第1の状態を表す第1のデータは、第1の機械学習(ML)モデルに入力され、例えば、第1のオブジェクトに関連付けられた第1の特徴を含む第2のデータなどの出力データを決定するために処理され得る。第1のMLモデルは、リカレントニューラルネットワーク(RNN)として構成され得る。いくつかの例では、第2のデータは、多次元データとして構成されてもよく、オブジェクトに関連付けられた特徴の数に対応する任意の数のチャネルを含んでもよい。
【0008】
追加的又は代替的に、車両が横断している環境又はその一部に関連付けられたマップデータが決定され、及び/又は受信され得る。いくつかの例では、センサーデータ及び/又はマップデータは、環境の視野を表す第3のデータを決定するために処理され得る。いくつかの例では、第3のデータは、平面図又はトップダウンビューで表され得る。他の例では、第3のデータは、立面図又は側面図で表され得る。いくつかの例では、環境の視野は、道路、車線、縁石、路肩、横断歩道、建物、樹木、中央分離帯、道路標識、交通信号、速度制限などを含むがこれらに限定されない、車両の環境内の様々な要素を表し得る。いくつかの例では、環境の視野を表す第3のデータは、第2のMLモデルに入力され、例えば、環境に関連付けられた第2の特徴を含む第4のデータなどの出力データを決定するために処理され得る。第2のMLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成され得る。いくつかの例では、第4のデータは、多次元データとして構成されてもよく、環境に関連付けられた特徴の数に対応する任意の数のチャネルを含んでもよい。追加的又は代替的に、センサーデータ及び/又はマップデータは、環境に関連付けられた領域を表す特徴マップを決定するように処理されてもよく、第2の特徴は、環境内の第1のオブジェクトの現在位置及び特徴マップ上の対応する位置に基づいて決定されてもよく、第2の特徴は、オブジェクトの現在位置で特徴マップからサンプリングされてもよく、オブジェクトの位置に相対的なシーンコンテキスト特徴を提供する。
【0009】
オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴が決定された状態で、GNNが生成及び/又は更新される場合がある。いくつかの例では、GNNは、第1の特徴及び第2の特徴を使用して、第1のオブジェクトを表すグラフノードを決定することによって生成され得る。追加的又は代替的に、GNNは、第1の特徴及び第2の特徴を第1のオブジェクトを表すグラフノードに関連付けられたことによって更新され得る。追加的又は代替的に、車両を表すGNNの第2のグラフノードが決定及び/又は更新され得る。GNNの2つ又は複数のグラフノードが決定及び/又は更新されると、第2のノードと第2のノードとを接続するエッジが決定され得る。いくつかの例では、2つのグラフノードを接続するエッジは、互いに対するノードによって表されるオブジェクトに関連付けられた特徴でエンコードされ得る。例えば、第1のオブジェクトに関連付けられた第1のグラフノードと車両に関連付けられた第2のグラフノードとを接続する第1のエッジが決定され得る。第1のエッジは、車両に対する第1のオブジェクト(例えば、第1及び第2の特徴)に関連付けられた特徴、及び/又は第1のオブジェクトに対する車両に関連関連付けられた特徴でエンコードされ得る。
【0010】
前述のように、GNNのグラフノードに関連付けられた予測位置、及び/又はGNNのグラフノードに関連付けられた分布データは、GNNの更新及び/又はGNNに対する推論動作の実行に基づいて決定され得る。分布データは、将来における(例えば、可変の時間増分における)オブジェクトの予測位置の分布を含み得る。いくつかの例では、GNNは、環境内のオブジェクトごとに単一のガウス分布を出力し得る。GNNは、オブジェクトの分布データに含まれる予測位置が、オブジェクトに関連付けられた特徴(例えば、第1及び第2の特徴)に基づいて決定され、環境内の他のオブジェクトに対して相対的であるように構成されてもよく、すなわち、第1のオブジェクトの第1の予測位置は、同じタイムステップにおける第2のオブジェクトの第2の予測位置と重ならないように、又は他の方法で衝突しないように構成されてもよい。
【0011】
将来(例えば、あるタイムステップから次のタイムステップまで)におけるオブジェクトの予測位置は、様々な方法で決定され得る。いくつかの例では、オブジェクトの予測位置は、例えば、ガウスサンプリング(例えば、ガウス分布に基づくサンプリングパターンに従う)、最尤サンプリング(例えば、分布の最小値、最大値、又は平均値などの平均をとる)、又は上書きサンプリング(例えば、分布に含まれ得る、又は含まれないかもしれないオブジェクトの特定の位置を選択する)などのサンプリング手法に従って分布データからサンプリングすることによって決定され得る。例えば、第1のオブジェクトの第1の予測位置は、GNNによって出力された第1の分布データからサンプリングすることによって決定され得る。
【0012】
オブジェクトの予測位置(例えば、タイムステップ1における予測位置)が決定されると、将来における追加の予測位置(例えば、タイムステップ2における予測位置)が、予測位置から決定され、及び/又はオブジェクトの軌道が、予測位置に基づいて決定され得る。例えば、第1の予測位置が決定されると、第1のオブジェクトを表す第1のグラフノードは、第1の予測位置におけるオブジェクトに関連付けられた第1の特徴、及び/又は第1の予測位置における環境に関連付けられた第2の特徴を反映するように更新され得る。したがって、(例えば、タイムステップ2における)オブジェクトの第2の予測位置を含む第2の分布データが、グラフノードの更新又は推論動作に続いてGNNによって出力され得る。オブジェクトの第1の予測位置は、更新されたグラフノードによって反映されるため、第2の分布データは、第1の予測位置からの第2の予測位置を含み得る。次いで、オブジェクトの第2の予測位置を決定するために、第2の分布データがサンプリングされ得る。このプロセスは、将来の任意の時間(例えば、1秒、2秒、4秒、8秒など)までの増分タイムステップ(例えば、0.1秒、0.5秒、1秒、2秒など)でオブジェクトの多数の予測位置を決定するために、任意の回数繰り返され得る。
【0013】
オブジェクトの予測位置は、オブジェクトの予測軌道を決定するために利用され得る。例えば、第1のオブジェクトの予測軌道は、第1のオブジェクトの(タイムステップ0における)開始位置(現在位置ともいう)、第1のオブジェクトの(タイムステップ1における)第1の予測位置、及び第1のオブジェクトの(タイムステップ2における)第2の予測位置に基づいて決定され得る。予測軌道は、タイムステップが増加するにつれて、オブジェクトの予測位置に沿って追跡するように構成され得る。
【0014】
さらに、環境内の単一のオブジェクトに関してのみ述べられるが、本明細書で述べられる手法は、分布データが単一のタイムステップで環境内の各オブジェクトについて出力され、環境内の他のオブジェクトの他の予測位置に対する次のタイムステップでのオブジェクトの予測位置を含むように、並列に(例えば、グラフィック処理装置(GPU)などの並列処理機器上で)実行され得る。これにより、ある期間にわたって環境についてN組の将来を決定することができ、ここでNは0より大きい任意の整数であってよく、各将来は、環境内の各オブジェクトについて単一の可能な軌道(例えば、他の軌道と重ならない軌道、及び/又はオブジェクト間の衝突を生じない軌道)を含み得る。
【0015】
追加的又は代替的に、分布データを評価して、基準を満たす予測位置のサブセットを含むフォーカスされた分布データを決定し、予測位置のより効率的なサンプリング(例えば、不可能な現実世界のシナリオを除去する、オブジェクトが特定の態様で動作するように影響を与えるなど)を可能にし得る。いくつかの例では、基準は、オブジェクトのタイプ、オブジェクトの特性、マップデータ、入力データなどに基づき得る。いくつかの例では、分布データは、オブジェクトの現実世界の動作を反映していない可能性のあるオブジェクトの1つ又は複数の予測位置を含み得る。例えば、分布データの1つ又は複数の予測位置は、例えば、一時停止標識、信号機、速度制限、工事区域などの道路の規則(マップデータ及び/又は入力データによって反映され得る)に適合しない場合がある。追加的又は代替的に、敵対的な行動をとるオブジェクト(例えば、無謀な運転、不適切な車線からの旋回、急停車など)を評価することが望ましい場合もある。いくつかの例では、分布データは、伝統的なランダムサンプリング手法を使用してもそのような予測位置の選択がほとんど得られないような、敵対的な態様で行動するオブジェクトを反映する限られた数の予測位置を含み得る。分布データを基準(例えば、1つ又は複数の道路の規則の実施、敵対的なマナーでの行動など)に関して評価することにより、基準を満たす予測位置のみを含む分布データのサブセットが決定され得る。
【0016】
追加的又は代替的に、分布データは、様々なサンプリング手法を使用してサンプリングされ得る。いくつかの例では、分布のセットをサンプリングするためのサンプリング手法は、グラフノードの分類タイプ(例えば、グラフノードが車両、オブジェクト、特定のタイプのオブジェクトなどに関連しているか)、分布データの予測位置(例えば、予測位置が予め定義された領域内にあるかどうか)、分布データの分布タイプ、分布データに関連付けられた入力(例えば、オブジェクトに関連付けられた基準軌道)などに基づいて決定され得る。いくつかの例では、異なるサンプリング手法が異なるタイムステップで同じオブジェクトに採用され得る。例えば、オブジェクトの第1の予測位置は、ガウスサンプリング手法を使用して第1の時間に決定され得、オブジェクトの第2の予測位置は、第2の時間にオブジェクトの進行を最大化するように構成されたサンプリング手法を使用して第2の時間に決定され得る。追加的又は代替的に、同じタイムステップにおいて異なるオブジェクトに対して異なるサンプリング手法が採用され得る。例えば、第1のオブジェクトに対する第1の予測位置は、第1の時間における第1のオブジェクトの進捗を最小化するように構成された第1のサンプリング手法を使用して第1の時間に決定され得、第2のオブジェクトに対する第2の予測位置は、第1の時間における第2のオブジェクトの進捗を最大化するように構成された第2のサンプリング手法を使用して第1の時間に決定され得る。追加的又は代替的に、複数のオブジェクトのうち指定されたオブジェクトに対する分布データ出力を上書きするために、異なるサンプリング手法が採用され得る。例えば、オブジェクトに対する分布出力は、オブジェクトの予測位置を含み得、基準軌道に従うオブジェクトの予測位置を決定するためにサンプリング手法を構成するための入力を受信し得る。
【0017】
追加的又は代替的に、分布データが上書きされるべきかどうかを決定するために、分布データがさらに評価され得る。例えば、車両及び第1のオブジェクトを含む環境の領域(例えば、センサーデータを取り込む車両を取り囲む固定領域)を例に挙げる。いくつかの例では、領域は、車両に関連付けられたトップダウンシーンとして構成され、センサーデータに基づいて生成される。追加的又は代替的に、環境の領域は、指定された距離、車両に関連する軌道及び/又は速度、センサーがセンサーデータを取り込んで環境特徴を決定することができる領域などによって制限され得る。いくつかの例では、第1のオブジェクトの分布データは、第1のオブジェクトの予測された位置、又は予測された位置の閾値の数が、領域の外側であるか、又は領域の内側であるかを決定するために評価され得る。
【0018】
第1のオブジェクトが環境の領域から出ると、ヌルシーンコンテキストデータで環境に関連付けられた第2の特徴を表すグラフノードが更新され得る。このように、GNNは、オブジェクトに関連付けられた特徴及び環境に関連付けられたヌルシーンコンテキスト特徴に基づいて分布データを出力し、その結果、環境の特徴を考慮しない可能性のあるオブジェクトの予測位置が得られる。例えば、オブジェクトが走行する道路に曲がり角やカーブがあるとする。いくつかの例では、領域の外側のオブジェクトの分布データは、道路の曲率に従わない予測位置を含む可能性があり、そのようなシナリオで繰り返し位置を予測すると、道路から外れたオブジェクトの非現実的な予測軌道になり得る。したがって、環境領域外のオブジェクトの予測位置を決定するために、環境に関連付けられた特徴の代わりに、環境に関連するマップデータを利用することが有益な場合がある。
【0019】
例えば、(例えば、シーンコンテキストがヌルである場合に)環境の境界領域の外側の環境に適合するオブジェクトの予測位置を決定することが望ましい場合がある。いくつかの例では、環境に関連付けられたマップデータは、分布データからサンプリングされた第1の予測位置を第2の予測位置、例えば、オブジェクトが走行している車線の中心位置に投影するために利用され得る。いくつかの例では、オブジェクトの現在位置とマップデータに基づいて基準線が決定され得る。例えば、オブジェクトの現在位置から車線内の位置までの基準線は、現在位置から分布データからサンプリングされた予測位置までの距離と実質的に類似する距離に基づいて決定され得る。追加的又は代替的に、基準線は車両力学モデルに基づいて変更され得る。例えば、基準線は、例えば、カーブでの減速、曲がり角からの加速など、オブジェクトの現実世界の動作をモデル化するように構成された車両ダイナミクスモデルに基づいて短縮又は延長され得る。
【0020】
本明細書で論じらる手法は、自律車両のコンピューティングデバイスなどのコンピューティングデバイスの機能を多くの方法で改善し得る。例えば、本明細書で述べられる様々な手法は、自律車両の環境モデリング及び予測能力における技術的改善、ならびに、環境内のオブジェクトを孤立した態様で(例えば、他のエージェントの相互作用を無視して)調べるのではなく、環境内の他のオブジェクトの対応する相互作用を用いて調べることにより、コンピューティングリソースを削減し、自律車両の予測及び意思決定コンポーネントの効率を改善する技術的利点を提供する。例えば、オブジェクトに対してエンコードされた追加オブジェクトの特徴を使用してオブジェクトの予測位置を決定することは、環境内のすべてのオブジェクトの可能な将来のN組を決定することを可能にし、互換性がない可能性がある各オブジェクトの予測軌道のN組(例えば、衝突をもたらす軌道)を決定することよりも少ない中央処理装置(CPU)及び/又はグラフィック処理装置(GPU)の電力を必要とする。本明細書で述べられる手法はまた、基準を満たす予測位置のみを含むように分布データに焦点を合わせることによって、分布データのより効率的なサンプリングを可能にし得る。さらに、この手法は、シーンコンテキストデータを使用することなく、境界領域の外側のオブジェクトの現実的な軌道(例えば、車線の曲率に従う)を決定し得る。さらに、環境内のオブジェクトの将来を決定することは、安全な車両動作のためにそのようなデータに依存する後続のサブシステム(例えば、計画システム)の機能を改善し得る。したがって、本明細書に述べられる手法は、コンピューティングデバイスの機能を向上させるだけでなく、安全性の結果を向上させ得る。
【0021】
本明細書に述べられる手法は、多くの方法で実装され得る。以下の図を参照して、例示的な実装が以下に提供される。自律車両の文脈で述べられるが、本明細書で述べられる方法、装置、及びシステムは、様々なシステム(例えば、センサーシステム又はロボットプラットフォーム)に適用されてよく、自律車両に限定されない。一例では、同様の手法は、運転手が制御する車両に利用されてもよく、このようなシステムは、様々な操縦を実行することが安全であるかどうかの指示を提供し得る。別の例では、本手法は、製造組立ラインの状況、航空測量の状況、又は航海の状況において利用され得る。さらに、本明細書に述べられる手法は、実データ(例えば、センサーを用いて取り込まれたもの)、シミュレートデータ(例えば、シミュレータによって生成されたもの)、又はこれらの任意の組み合わせで使用され得る。
【0022】
図1は、センサーデータを取り込み、特徴をグラフニューラルネットワーク(GNN)のノード及びエッジにエンコードし、GNNによって出力された分布データからオブジェクトの予測位置をサンプリングするための例示的なプロセス100の絵画的フロー図である。
【0023】
動作102において、プロセス100は、物理的な又はシミュレートされた環境のセンサーデータを取り込む、及び/又は、受信することを含み得る。例104は、環境のセンサーデータ108を取り込む車両106を示している。いくつかの例では、センサーデータ108は、ライダーデータ、レーダーデータ、ソナーデータ、飛行時間データ、又は他の深度データを含み得る。例えば、動作102は、画像データを取り込み、取り込んだ画像データに基づいて深度データを生成することを含み得る。
【0024】
動作110において、プロセス100は、環境内のオブジェクトに関連付けられた第1の特徴を決定することを含み得る。いくつかの例では、動作110は、環境内のオブジェクトの状態を表す第1のデータを決定することを含み得る。いくつかの例では、状態は、オブジェクトの姿勢、オブジェクトの位置、オブジェクトの加速度、オブジェクトの速度、オブジェクトのサイズ、オブジェクトのタイプ、オブジェクトの照明状態などを含み得るが、これらに限定されない。
【0025】
いくつかの例では、車両106に関連付けられたオブジェクト特徴コンポーネントは、オブジェクトの状態を表す第1のデータを機械学習(ML)モデルで処理することによって、オブジェクトに関連付けられた第1の特徴を決定し得る。例えば、オブジェクトの状態を表す第1のデータは、第1のMLモデルに入力され、例えば、オブジェクトに関連付けられた第1の特徴を含む第2のデータなどの出力データを決定するために処理され得る。いくつかの例では、第1のMLモデルは、リカレントニューラルネットワーク(RNN)として構成され得る。いくつかの例では、第2のデータは、多次元データとして構成されてもよく、オブジェクトに関連付けられた特徴の数に対応する任意の数のチャネルを含んでもよい。例えば、第1の特徴は、特徴ベクトルとしてエンコードされたベクトル化オブジェクト要素を含む特徴ベクトルとして構成され得る。
【0026】
動作112において、プロセス100は、環境に関連付けられた第2の特徴を決定することを含み得る。いくつかの例では、動作112は、環境の視野を表す第3のデータを決定することを含み得る。いくつかの例では、第3のデータは、平面図又はトップダウンビューで表され得る。他の例では、第3のデータは、立面図又は側面図で表され得る。環境の視野を表す第3のデータは、センサーデータ108及び/又は環境に関連付けられ、マップデータサーバーから受信されたマップデータを使用して決定され得る。いくつかの例では、環境の視野は、道路、車線、縁石、路肩、横断歩道、建物、樹木、中央分離帯、道路標識、交通信号、速度制限などを含むがこれらに限定されない、車両の環境内の様々な要素を表し得る。
【0027】
いくつかの例では、車両106に関連付けられた環境特徴コンポーネントは、環境の視野を表す第3のデータをMLモデルで処理することによって、環境に関連付けられた第2の特徴を決定し得る。例えば、環境の視野を表す第3のデータは、第2のMLモデルに入力され、例えば、環境に関連付けられた第2の特徴を含む第4のデータなどの出力データを決定するために処理され得る。第2のMLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成され得る。
【0028】
動作112で受信されたマップデータは、道路、車線、縁石、路肩、横断歩道、建物、樹木、中央分離帯、道路標識、交通信号、速度制限などを含むがこれらに限定されない、自律車両の環境内の様々なマップ特徴(又はマップ要素)を表すデータを含み得る。場合によっては、マップデータは、これら及び他の種類の恒久的又は半恒久的なマップ要素(例えば、通行止め、道路損傷、工事現場、事故など)を描写し得るが、環境内の他の車両、自転車、歩行者などの一時的なオブジェクト、又は障害車両、道路危険、短期工事プロジェクトなどの一時的な道路特徴は含まない場合がある。いくつかの例では、第4のデータは多次元データとして構成され、環境に関連付けられた特徴の数に対応する任意の数のチャンネルを含み得る。例えば、第2の特徴は、特徴ベクトルとしてエンコードされた1つ又は複数のベクトル化環境及び/又はマップ要素を含む特徴ベクトルとして構成され得る。
【0029】
例114は、車両106によって取り込まれ、オブジェクト特徴116を決定するために使用されるセンサーデータ108と、環境特徴120を決定するために使用される環境に関連付けられたマップデータ118とを示している。いくつかの例では、第1の特徴はオブジェクト特徴116に対応し、第2の特徴は環境特徴120に対応し得る。いくつかの例では、オブジェクトに対応するセンサーデータ108の一部が、オブジェクト特徴116を決定するために処理され得る。いくつかの例では、環境特徴120は、センサーデータ108及びマップデータ118を用いて決定され得る。例えば、センサーデータ108及び/又はマップデータ118は、環境を表す特徴マップを決定するために処理されてもよく、第2の特徴は、環境におけるオブジェクトの現在位置と、特徴マップ上の表す位置とに基づいて決定されてもよく、第2の特徴は、オブジェクトの現在位置において特徴マップからサンプリングされてもよく、オブジェクトの位置に対するシーンコンテキスト特徴を提供する。
【0030】
動作122において、プロセス100は、第1の特徴(例えば、オブジェクト特徴116)及び第2の特徴(例えば、環境特徴120)を表すグラフニューラルネットワーク(GNN)の第1のノードを決定することを含み得る。動作122において、車両106は、オブジェクトを表す第1ノードに関連付けられたオブジェクト特徴116及び/又は環境特徴120を含むようにGNN(又は他のグラフ構造)を生成及び/又は更新し得る。
【0031】
場合によっては、車両106に関連付けられたモデリングコンポーネントは、オブジェクト特徴コンポーネント及び/又は環境特徴コンポーネントからオブジェクト(例えば、マップ要素及び/又はオブジェクト)のベクトル化表現を受信し、受信したマップデータ及び/又はエンティティデータに基づいて、GNN内に新しいノードを作成し、GNNからノードを削除し、及び/又はGNNの既存のノードを修正し得る。さらに、モデリングコンポーネントは、GNN内のノードペアに関連付けられたエッジ特徴を作成し、維持し得る。上述のように、GNNのノードはオブジェクトを表す属性のセットを格納し得、エッジ特徴はノードのペアの相対情報(例えば、位置、姿勢など)を示すデータを含み得る。
【0032】
動作124において、プロセス100は、第1のノードと車両106を表すGNNの第2のノードとを接続するエッジを決定することを含み得る。いくつかの例では、エッジは相対位置としてオブジェクト又は車両の位置を表し得る。いくつかの例では、エッジはGNNの双方向エッジとして構成され得る。すなわち、第1のノードに関して、エッジは、ソース(例えば、オブジェクト)に対するターゲット(例えば、車両106)の相対位置を表し得る。追加的又は代替的に、第2のノードに関して、エッジは、ソース(例えば、車両106)に対するターゲット(例えば、オブジェクト)の相対的な位置を表し得る。
【0033】
上述のように、GNN内のエッジはノードのペアに関連付けられることがあり、エッジに関連付けられたエッジデータ(又はエッジ特徴)は、ノードのペアのソースノードとターゲットノードとの間の相対データを含み得る。一例として、オブジェクトを表す第1のノードと車両を表す第2のノードとを接続するエッジは、第1のノードと第2のノードとの間の相対距離、相対ヨー、相対速度、相対姿勢、相対サイズ、相対加速度、相対許容度などを含むエッジデータを格納するか、又はエッジデータに関連付けられたものであり得る。いくつかの例では、GNNは完全に接続され、異なるエッジがノードの各ペアに関連付けられる。他の例では、GNNは部分的に接続され、すべての異なるノードのペアに関連するエッジがあるわけではない。
【0034】
例126は、車両106、オブジェクト130、オブジェクト130に関連付けられた第1のノード132、車両106に関連付けられた第2のノード134、及び第1のノード132と第2のノード134とを接続するエッジ136を含む環境128を示している。図示を明確にするために
図1には描かれていないが、いくつかの例では、GNNは、ノードの各特異的なペアが一意のエッジ特徴及び/又はエッジデータと関連付けられる完全連結構造であり得る。追加的又は代替的に、GNNは、環境内の各オブジェクトのための追加ノード、及び/又は追加ノードを接続する追加エッジを含み得る。タイムステップ間のGNNノード及び/又はエッジの更新プロセスは、
図7に関してより詳細に説明される。
【0035】
動作138において、プロセス100は、将来におけるオブジェクト130の第1の予測位置を含む分布データを表す出力を決定することを含み得る。いくつかの例では、推論動作が、GNNのノード状態及び/又はエッジ特徴を更新するために実行され得る。追加的又は代替的に、車両106に関連付けられた分布コンポーネントは、更新されたGNNに基づいて、オブジェクト130の予測位置を表す分布データを決定し得る。追加的又は代替的に、出力は、将来におけるオブジェクト130の予測位置を表し得る。
【0036】
上述のように、GNNのグラフ構造は、オブジェクト130の状態に関連付けられた特徴及び/又はオブジェクト130に関連付けられたマップ要素に関連する特徴を表すノードを含み、これらが組み合わさって環境128の現在の状態を表す。いくつかの例では、GNNは、自律車両106によって知覚されたデータ及び/又はマップサーバーから自律車両106によって受信されたマップデータに基づいて、GNN生成プロセスが実行されるたびに新たに生成され得る完全なステートレス構造であり得る。
【0037】
追加的又は代替的に、GNNは、後続のGNN生成プロセスの実行中にその状態を完全に又は部分的に保持し得、この場合、特定のオブジェクトノード、属性、及び/又はエッジデータはGNNの以前のバージョンから保持される一方で、他のデータは更新されることがある。例えば、自律車両106によって以前に知覚されたが、将来の時間に予測された位置に移動した可能性がある環境内のオブジェクトは、GNN内に保持されてもよく、及び/又は以前のGNNから決定された予測データに基づいて更新されてもよい。
【0038】
モデリングコンポーネントは、機械学習手法に基づく推論動作及び機能をサポートし、ノード及び/又はエッジ特徴を更新して、環境128の予測される将来の状態を表し得る。例えば、GNNの状態を更新するためにモデリングコンポーネントによって実行される推論動作は、GNNの現在の状態に完全に基づき得る。モデリングコンポーネントは、環境内のオブジェクト130が、その現在の速度及び軌道に基づいて、マップ要素の制約内で、オブジェクト130の近傍にある他のオブジェクトの影響に基づいて、予測された位置に進む可能性があると推論し得る。
【0039】
本明細書で述べられるように、推論動作は、機械学習手法(例えば、運転ログ及び/又は他の訓練データに基づいて訓練された)を使用して、GNNの現在の状態に基づいてGNNの予測された将来の状態を決定し得る。GNNの予測された将来の状態は、更新されたオブジェクトの位置、速度、軌道、意図、及び/又は環境内のオブジェクト間で発生する可能性のある相互作用に対応し得る。さらに、GNNによって表される環境内では、1つのオブジェクトの予測される将来の位置及び/又は状態は、他のオブジェクトの予測される将来の位置及び/又は状態に関連することが多く、したがって、GNNに対する推論プロセスの単一の実行は、GNN内の複数(例えば、すべて)のオブジェクトノードに対して更新されたノード状態(推論された将来の位置、速度、軌道などを表す)を提供し得る。このような推論プロセス、及びノードの状態を変更するGNNに対する他の更新に対して、モデリングコンポーネントは、更新されたエッジ特徴がそれらのエッジ特徴に関連付けられたノードに基づく正確な相対的情報を格納するように、それらのノードに接続されたエッジ特徴に対する対応する更新も実行し得る。
【0040】
以下に説明されるように、GNNのノード及びエッジに対する更新は、GNNによって実行される推論動作に基づく、及び/又は自律車両によって知覚される新たな観測に基づき得る。例えば、自律車両が最初に環境内のエンティティを第1の位置、第1の速度、第1の軌道などで知覚した後、自律車両はエンティティを異なる時間、異なる位置、速度、軌道などで知覚し得る。場合によっては、自律車両は、マップサーバーから受信したマップデータとは異なるマップ要素の属性(例えば、位置、サイズなど)を知覚し得る。自律車両によって知覚された更新された観測は、モデリングコンポーネントに提供され、GNNの対応するノードを更新するために使用され、必要に応じて、GNNのエッジ特徴及び/又は他のノードを介して更新を伝播するために使用される。
【0041】
将来の時間におけるオブジェクトの予測された状態を決定するために、自律車両に関連付けられた分布コンポーネントは、更新されたGNNからノードデータ及び/又はエッジ特徴データを取得し、将来の時間におけるオブジェクトの予測された位置を表す分布データを決定するためにデータをデコードし得る。オブジェクトの予測された位置及び/又は状態は、予測された位置、速度、加速度、軌道、ヨー、姿勢、又は環境内のオブジェクトの他の属性を含み得るが、これらに限定されない。一部の実装では、コンポーネントはGNN全体をデコードする必要はないが、特定のエンティティを選択し、対応するノードデータとエッジ特徴をサンプリング/デコードして、選択されたオブジェクトの状態予測を実行し得る。
【0042】
例140は、ニューラルネットワーク142と、オブジェクト130の予測位置分布146を含むニューラルネットワーク出力144とを示している。いくつかの例では、ニューラルネットワーク142はGNNとして構成されてもよく、ニューラルネットワーク出力144はGNNからの出力として構成されてもよい。ニューラルネットワーク出力144に含まれる予測位置分布146は、
図7に関してより詳細に説明される。
【0043】
いくつかの例では、分配コンポーネントは、分配データ144を評価して、基準を満たす予測位置146のサブセットを含むフォーカスされた分配データを決定し、予測位置146のより効率的なサンプリング(例えば、不可能な現実世界のシナリオを除去する、オブジェクト130が特定の態様で動作するように影響を与えるなど)を可能にし得る。いくつかの例では、基準は、オブジェクト130のタイプ、オブジェクト130の特性、マップデータ、入力データなどに基づき得る。いくつかの例では、分布データ144は、オブジェクト130の現実世界の動作を反映していない可能性のある、オブジェクト130の1つ又は複数の予測位置146を含み得る。例えば、分布データ144の1つ又は複数の予測位置146は、例えば、一時停止標識、信号機、速度制限、工事区域などのような(マップデータ及び/又は入力データによって反映され得る)道路の規則に適合していない場合がある。追加的又は代替的に、敵対的なマナーの行動(例えば、無謀な運転、不適切な車線からの旋回、急停車など)をするオブジェクト130を評価することが望ましい場合もある。いくつかの例では、分布データ144は、従来のランダムサンプリング手法を用いてもそのような予測位置146を選択することがほとんどないような、敵対的な態様で行動するオブジェクトを反映する限られた数の予測位置146を含み得る。分布データ144を基準(例えば、1つ又は複数の道路の規則の実施、敵対的なマナーの実行など)に関して評価することにより、基準を満たす予測位置146のみを含む分布データ144のサブセットが決定され得る。
【0044】
動作148において、プロセス100は、将来におけるオブジェクト130の予測位置を決定することを含み得る。いくつかの例では、オブジェクトの予測位置は、分布データ146からのサンプリングに基づいて決定され得る。
【0045】
将来(例えば、あるタイムステップから次のタイムステップまで)におけるオブジェクト130の予測位置は、様々な方法で決定され得る。いくつかの例では、オブジェクト130の予測位置は、推論動作及び/又はGNNへの更新に続いてGNNによって出力され得る。いくつかの例では、オブジェクト130の予測位置は、例えば、ランダムサンプリング、ガウスサンプリング(例えば、ガウス分布に基づくサンプリングパターンに従う)、最尤サンプリング(例えば、分布の最小値、最大値、又は平均値などの平均を取る)、又は上書きサンプリング(例えば、分布に含まれても含まなくてもよいオブジェクト130の特定の位置を選択する)などのサンプリング手法に従って、ニューラルネットワーク出力144に含まれる予測位置分布146からサンプリングすることによって決定され得る。例えば、オブジェクト130の第1の予測位置は、GNNによって出力された予測位置分布146からサンプリングされることによって決定され得る。
【0046】
オブジェクト130の予測位置(例えば、タイムステップ1における予測位置)が決定されると、将来における追加の予測位置(例えば、タイムステップ2における予測位置)が、予測位置から決定され得る。例えば、第1の予測位置が決定されると、オブジェクト130を表す第1のグラフノード132は、第1の予測位置におけるオブジェクト130に関連付けられた第1の特徴及び/又は第1の予測位置における環境128に関連付けられた第2の特徴を反映するように更新され得る。したがって、(例えば、タイムステップ2における)オブジェクト130の第2の予測位置を含む第2の予測位置分布146が、第1のグラフノード132の更新及び/又は推論動作に続いてGNNによって出力され得る。オブジェクト130の第1の予測位置は、更新されたグラフノードによって反映されるため、第2の予測位置分布146は、第1の予測位置からの第2の予測位置を含み得る。次いで、第2の予測位置分布146は、オブジェクト130の第2の予測位置を決定するためにサンプリングされ得る。 このプロセスは、増分タイムステップでオブジェクト130の予測位置の数を決定するために、任意の回数繰り返され得る。
【0047】
追加的又は代替的に、予測位置分布146は、様々なサンプリング手法を使用してサンプリングされ得る。いくつかの例では、予測位置分布146をサンプリングするためのサンプリング手法は、グラフノードの分類タイプ(例えば、グラフノードが車両106、オブジェクト130、特定のタイプのオブジェクトなどに関連付けられるか)、予測位置分布146の予測位置(例えば、予測位置が予め定義された領域内にあるかどうか)、予測位置分布146の分布タイプ、予測位置分布146に関連付けられた入力(例えば、オブジェクトに関連付けられた基準軌道)などに基づいて決定され得る。
【0048】
いくつかの例では、異なるタイムステップで同じオブジェクト130に対して異なるサンプリング手法が採用され得る。例えば、オブジェクト130の第1の予測位置は、ガウスサンプリング手法を使用して第1の時間に決定されてもよく、オブジェクト130の第2の予測位置は、第2の時間にオブジェクト130の進行を最大化するように構成されたサンプリング手法を使用して第2の時間に決定されてもよい。
【0049】
追加的又は代替的に、同じタイムステップにおいて異なるオブジェクトに対して異なるサンプリング手法が採用され得る。例えば、第1のオブジェクト(例えば、オブジェクト130)に対する第1の予測位置は、第1の時間における第1のオブジェクトの進捗を最小化するように構成された第1のサンプリング手法を使用して第1の時間に決定されてもよく、第2のオブジェクト(例えば、車両106又は環境128内の追加オブジェクト)に対する第2の予測位置は、第1の時間における第2のオブジェクトの進捗を最大化するように構成された第2のサンプリング手法を使用して第1の時間に決定されてもよい。
【0050】
追加的又は代替的に、複数のオブジェクトのうちの指定されたオブジェクトについてGNNによって出力された予測位置分布146を上書きするために、異なるサンプリング手法が採用され得る。例えば、オブジェクト130に対する予測位置分布146は、オブジェクト130の予測位置を含み、基準軌道を含む入力を受信して、基準軌道に従うオブジェクト130の予測位置を決定するようにサンプリング手法を構成してもよい。追加的又は代替的に、車両106についての追加の予測位置分布は、車両106についての予測位置を含み、基準軌道を含む入力は、基準軌道に従う車両106の予測位置を決定するようにサンプリング手法を構成するために車両106の計画コンポーネントから受信されてもよい。
【0051】
動作150において、プロセス100は、オブジェクト130の予測軌道を決定することを含み得る。いくつかの例では、オブジェクト130の予測軌道は、オブジェクト130の予測位置に基づき得る。追加的又は代替的に、動作150において、プロセス100は、オブジェクト130の予測軌道に基づいて車両106を制御することを含み得る。いくつかの例では、動作150は、オブジェクト130の予測軌道及び/又は環境内の追加オブジェクトに関連付けられた追加の予測軌道に従って環境内で車両106をナビゲートするために、車両106の1つ又は複数のシステムのための経路、軌道、及び/又は制御信号を生成することを含み得る。
【0052】
例152は、車両106、オブジェクト130、及び本明細書で述べられる1つ又は複数のサンプリング手法154を使用して1つ又は複数の予測位置分布146からサンプリングされたオブジェクト130の1つ又は複数の予測位置に基づいて決定されたオブジェクト130の予測軌道156を含む環境128を示している。
【0053】
図2は、センサーデータを取り込み、特徴をGNNのノード及びエッジにエンコードし、GNNによって出力された分布データからサンプリングされたオブジェクトの第1の予測位置が指定された領域の外側にあることを決定し、マップデータに基づいてオブジェクトの第2の予測位置を決定するための例示的なプロセス200の絵画的フロー図である。
【0054】
動作202において、プロセス200は、環境のセンサーデータを取り込む、及び/又は、受信することを含み得る。例204は、環境のセンサーデータ208を取り込む車両206を示している。いくつかの例では、センサーデータ208は、ライダーデータ、レーダーデータ、ソナーデータ、飛行時間データ、又は他の深度データを含み得る。例えば、動作202は、画像データを取り込み、取り込んだ画像データに基づいて深度データを生成することを含み得る。
【0055】
動作210において、プロセス200は、環境内のオブジェクトに関連付けられた第1の特徴を決定することを含み得る。いくつかの例では、動作210は、環境内のオブジェクトの状態を表す第1のデータを決定することを含み得る。いくつかの例では、状態は、オブジェクトの姿勢、オブジェクトの位置、オブジェクトの加速度、オブジェクトの速度、オブジェクトのサイズ、オブジェクトのタイプ、オブジェクトの照明状態などを含み得るが、これらに限定されない。
【0056】
いくつかの例では、動作210において、車両206に関連付けられたオブジェクト特徴コンポーネントは、オブジェクトの状態を表す第1のデータを機械学習(ML)モデルで処理することによって、オブジェクトに関連付けられた第1の特徴を決定し得る。例えば、オブジェクトの状態を表す第1のデータは、第1のMLモデルに入力され、例えば、オブジェクトに関連付けられた第1の特徴を含む第2のデータなどの出力データを決定するために処理され得る。いくつかの例では、第1のMLモデルは、リカレントニューラルネットワーク(RNN)として構成され得る。いくつかの例では、第2のデータは、多次元データとして構成されてもよく、オブジェクトに関連付けられた特徴の数に対応する任意の数のチャネルを含んでもよい。例えば、第1の特徴は、特徴ベクトルとしてエンコードされたベクトル化オブジェクト要素を含む特徴ベクトルとして構成され得る。
【0057】
動作212において、プロセス200は、環境に関連付けられた第2の特徴を決定することを含み得る。いくつかの例では、動作212は、環境の視野を表す第3のデータを決定することを含み得る。いくつかの例では、第3のデータは、平面図又はトップダウンビューで表され得る。他の例では、第3のデータは、立面図又は側面図で表され得る。環境の視野を表す第3のデータは、センサーデータ208及び/又は環境に関連付けられ、マップデータサーバーから受信されたマップデータを使用して決定され得る。いくつかの例では、環境の視野は、道路、車線、縁石、路肩、横断歩道、建物、樹木、中央分離帯、道路標識、交通信号、速度制限などを含むがこれらに限定されない、車両の環境内の様々な要素を表し得る。
【0058】
いくつかの例では、車両206に関連付けられた環境特徴コンポーネントは、環境の視野を表す第3のデータをMLモデルで処理することによって、環境に関連付けられた第2の特徴を決定し得る。例えば、環境の視野を表す第3のデータは、第2のMLモデルに入力され、例えば、環境に関連付けられた第2の特徴を含む第4のデータなどの出力データを決定するために処理され得る。第2のMLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成され得る。
【0059】
動作212で受信されたマップデータは、道路、車線、縁石、路肩、横断歩道、建物、樹木、中央分離帯、道路標識、交通信号、速度制限などを含むがこれらに限定されない、自律車両の環境内の様々なマップ特徴(又はマップ要素)を表すデータを含み得る。場合によっては、マップデータは、これら、及び他の種類の恒久的又は半恒久的なマップ要素(例えば、通行止め、道路損傷、工事現場、事故など)を描写し得るが、環境内の他の車両、自転車、歩行者などの一時的なオブジェクト、又は障害車両、道路危険、短期工事プロジェクトなどの一時的な道路特徴は含まないことがある。いくつかの例では、第4のデータは多次元データとして構成され、環境に関連付けられた特徴の数に対応する任意の数のチャンネルを含み得る。例えば、第2の特徴は、特徴ベクトルとしてエンコードされた1つ又は複数のベクトル化環境及び/又はマップ要素を含む特徴ベクトルとして構成され得る。
【0060】
例214は、車両206によって取り込まれ、オブジェクト特徴216を決定するために使用されるセンサーデータ208と、環境特徴220を決定するために使用される環境の領域に関連付けられた特徴マップ218とを示している。いくつかの例では、第1の特徴はオブジェクト特徴216に対応し、第2の特徴は環境特徴220に対応する。いくつかの例では、オブジェクトに対応するセンサーデータ208の一部が、オブジェクト特徴216を決定するために処理され得る。いくつかの例では、環境特徴220は、センサーデータ208及びマップデータを使用して決定され得る。例えば、センサーデータ208及び/又はマップデータは、環境内の領域を表す特徴マップ218を決定するために処理されてもよく、第2の特徴は、環境内のオブジェクトの現在位置と、特徴マップ218上の対応する位置とに基づいて決定されてもよく、第2の特徴は、オブジェクトの現在位置における特徴マップ218からサンプリングされてもよく、オブジェクトの位置に対するシーンコンテキスト特徴を提供する。
【0061】
動作222において、プロセス200は、第1の特徴(例えば、オブジェクト特徴216)及び第2の特徴(例えば、環境特徴220)をグラフ構造のノードに関連付けることを含み得る。いくつかの例では、グラフ構造は、
図1に関して説明されたようなグラフ構造、GNN、及び/又はニューラルネットワーク142として構成され得る。動作222において、車両206は、オブジェクトを表す第1のノードに関連付けられたオブジェクト特徴216及び/又は環境特徴220を含むようにグラフ構造を生成及び/又は更新し得る。
【0062】
場合によっては、車両206に関連付けられたモデリングコンポーネントは、オブジェクト特徴コンポーネント及び/又は環境特徴コンポーネントからオブジェクト(例えば、マップ要素及び/又はオブジェクト)のベクトル化表現を受信し得、受信したマップデータ及び/又はオブジェクトデータに基づいて、グラフ構造内に新しいノードを作成し得、グラフ構造からノードを削除し得、及び/又はグラフ構造の既存のノードを修正し得る。さらに、モデリングコンポーネントは、グラフ構造内のノードペアに関連付けられたエッジ特徴を作成し、維持することができる。 上述したように、グラフ構造のノードは、オブジェクトを表す属性のセットを格納してもよく、エッジ特徴は、ノードのペアの相対情報(例えば、位置、姿勢など)を示すデータを含み得る。
【0063】
例224は、例えばGNNなどのニューラルネットワークのグラフ構造226の例を示している。グラフ構造226は、オブジェクトに関連付けられたノード228を含む1つ又は複数のノード、及びノードを接続する1つ又は複数のエッジを含み得る。図示を明確にするために
図2には描かれていないが、いくつかの例では、グラフ構造は、ノードの各特異的なペアが一意のエッジ特徴及び/又はエッジデータと関連付けられる完全連結構造であってもよい。追加的又は代替的に、グラフ構造は、環境内の各オブジェクトのための追加ノード及び/又は追加ノードを接続する追加エッジを含み得る。タイムステップ間でグラフノード及び/又はエッジを更新するプロセスについては、
図7に関してより詳細に説明される。
【0064】
動作230において、プロセス200は、オブジェクトの予測位置を含む分布データを表す出力を決定することを含み得る。いくつかの例では、分布データを表す出力は、グラフ構造に少なくとも部分的に基づき得る。例えば、グラフ構造のノード状態及び/又はエッジ特徴を更新するために推論動作が実行され得る。追加的又は代替的に、車両206に関連付けられた分布コンポーネントは、更新されたGNNに基づいて、オブジェクトの予測位置を表す分布データを決定し得る。追加的又は代替的に、出力は将来におけるオブジェクトの予測位置を表し得る。
【0065】
動作232において、プロセス200は、オブジェクトの第1の予測位置が環境の領域の外側にあると決定するために、分布データを評価することを含み得る。追加的又は代替的に、オブジェクトの分布データは、オブジェクトの予測された位置、又は予測された位置の閾値数が、領域の外側であるか、又は領域の内側であるかを決定するために評価され得る。いくつかの例では、環境の領域は、特徴マップ218によって表される環境の領域に対応し得る。すなわち、環境内のオブジェクトの位置に対応する特徴マップ216上の位置からサンプリングされた環境特徴220に基づいて、環境領域内のオブジェクトに関連付けられたノード及び/又はそのようなノードを接続するエッジが更新され得る。いくつかの例では、領域は、車両206に関連付けられ、センサーデータ208に基づいて生成されたトップダウンシーンとして構成され得る。追加的又は代替的に、環境の領域は、指定された距離、車両206に関連付けられた軌道及び/又は速度、センサーがセンサーデータを取り込み、環境特徴を決定することができる領域などによって制限され得る。
【0066】
例234は、環境238と、環境240の領域の一部と、オブジェクト242と、オブジェクト242の第1の予測位置246を含む、オブジェクト242の予測位置を示す分布データ244(分かりやすくするために環境上にオーバーレイされるように図示されている)と、を含むグラフ構造出力236を示している。オブジェクト242の予測位置が環境240の領域の外側にある場合、特徴マップ218に対するオブジェクト242の位置に基づいて、オブジェクト242に関連付けられたグラフノード228が更新され得る。前述のように、特徴マップ218は、環境240の領域に関連付けられ、環境外の領域に対するヌルシーンコンテキストデータを有し得る。このように、グラフノード228は更新され、環境特徴220をヌルシーンコンテキストデータに置き換えられ得る。その後のタイムステップにおいて、グラフ構造226は、オブジェクト242に関連付けられた特徴及び環境238に関連付けられたヌルシーンコンテキスト特徴に基づいて分布データを出力し、その結果、環境238の特徴を考慮しない可能性のあるオブジェクトの予測位置が得られる。
【0067】
動作246において、プロセス200は、マップデータを使用してオブジェクト242の第2の予測位置を決定することを含み得る。いくつかの例では、オブジェクト242の第2の予測位置は、グラフ構造226によって出力された予測位置分布244からサンプリングされた第1の予測位置246に部分的に基づき得る。
【0068】
例248は、オブジェクト242が走行する環境238内の道路がターン又はカーブを有することを示している。いくつかの例では、領域の外側のオブジェクト242の後続の分布データは、道路の曲率に従わない予測位置(例えば、第1の予測位置246)を含むことがあり、そのようなシナリオで位置を反復的に予測すると、道路から外れたオブジェクト242の非現実的な予測軌道になり得る。したがって、マップデータを使用して環境240の領域の外側のオブジェクト242の予測位置を決定することは、環境238に関連付けられた環境特徴220の代わりに、より正確である可能性がある。
【0069】
例えば、環境240の境界領域の外側(例えば、シーンコンテキストがヌルである場合)でマップデータを使用してオブジェクト242の予測位置及び/又は軌道を決定することは、より正確な予測をもたらし得る。いくつかの例では、マップデータは、分布データ244からサンプリングされた第1の予測位置246を第2の予測位置250、例えば、オブジェクト242が走行している車線の中心位置に投影するために利用され得る。いくつかの例では、オブジェクト242の現在位置とマップデータに基づいて基準線が決定され得る。例えば、オブジェクト242の現在位置から車線内の位置(例えば、第2の予測位置250)までの基準線は、オブジェクト242の現在位置から分布データ244からサンプリングされた第1の予測位置246までの距離と実質的に類似する距離に基づいて決定され得る。追加的又は代替的に、基準線は、例えば、現在位置から予測位置までの基準線の距離などの車両力学モデルに基づいて変更され得る。例えば、基準線の距離は、例えば、カーブでの減速、ターンからの加速など、オブジェクト242の現実世界の動作をモデル化するように構成された車両ダイナミクスモデルに基づいて短縮又は延長され得る。
【0070】
いくつかの例では、動作246は、オブジェクト242の予測軌道を決定することを含み得る。いくつかの例では、オブジェクト242の予測軌道は、オブジェクト242の第2の予測位置250に基づき得る。追加的又は代替的に、動作246において、プロセス200は、第2の予測位置250及び/又はオブジェクト242の予測軌道に基づいて車両206をコントローラすることを含み得る。いくつかの例では、動作246は、オブジェクト242の予測軌道及び/又は環境238内の追加オブジェクトに関連付けられた追加の予測軌道に従って、環境238内で車両206をナビゲートするために、車両206の1つ又は複数のシステムのための経路、軌道、及び/又は制御信号を生成することを含み得る。
【0071】
図3Aは、トップダウンビューから見た環境302(1)と、第1のタイプの予測を使用して決定した環境302(1)内の車両(例えば、車両A 304、車両B 306、及び/又は車両C 308)の予測軌道とを含む例300を示している。車両304、306、及び308の各々についての予測軌道は、キー312を使用して識別され得る。
【0072】
例300に示されるように、各車両304、306、及び308(本明細書では、オブジェクト、エンティティ、エージェントなどとも呼ばれる)は、互いに独立して決定される、1つ又は複数の予測軌道を有し得る。いくつかの例では、例300における予測軌道は、特定の車両304、306、及び308を表すノードに関連付けられた特徴のみを使用して、環境302(1)内の追加の車両の相対情報を表すノード間のエッジ特徴にエンコードされた情報を使用せずに決定され得る。
図3Aから分かるように、車両304、306、及び308の軌道の多くは重複しており、衝突及び/又は環境302の非現実的な将来が生じる可能性がある。
【0073】
図3Bは、トップダウンビューから見た環境302(2)-(N)と、第2のタイプの予測を使用して決定した環境302(2)-(N)内の車両(例えば、車両A 304、車両B 306、及び/又は車両C 308)の予測された将来(例えば、予測された将来1-N:Nは1以上の任意の整数)を含む例310を示している。個々の将来における車両304、306、及び308の各々についての予測軌道は、キー312を使用して特定され得る。
【0074】
例310に示されるように、予測された将来の各々は、互いに相対的に決定された、環境302(2)-(N)内の各車両304、306、308についての単一の予測された軌道を含み得る。いくつかの例では、これらの予測された将来は、特定の車両304、306、及び308を表すノードに関連付けられた特徴と、環境302(2)-(N)内の追加の車両の相対情報を表すノード間のエッジ特徴にエンコードされた情報とを使用して決定され得る。
図3Bから分かるように、将来の各々は、車両304、306、308の各々について可能な軌道(例えば、衝突の可能性がない軌道)を含む。
【0075】
例えば、例310における予測された将来2を含む環境302(3)を考える。予測された将来2において、車両A 304は、対向車線を横切って左折する予測軌道を有し、例えば、
図1に関して説明されたGNNに対応するGNNによって出力された予測位置のような、様々な増分タイムステップ(例えば、8秒にわたって決定された8つの予測位置、1秒につき1つ)における車両A 304の予測位置を使用して決定される。車両304、306、308に関連付けられたグラフノードの更新処理中、車両B 306及び/又は車両C 308に対して出力される予測位置分布は、車両A 304の予測位置に基づき得る。例えば、車両B 306と車両A 304との間のエッジ、及び車両C 308と車両A 304との間のエッジは、例えば、車両A 304がターンしようとしていることを示す車両A 304の方向指示器の状態、及び車両A 304が次のタイムステップでターンを開始しようとしていることを示す車両A 304の加速度のような、車両A 304の状態を表す情報を含み得る。このように、車両B 306及び/又は車両C 308に対して出力される分布は、車両A 304のターンを考慮した予測位置を含み、車両B 306及び/又は車両C 308の非現実的な予測位置及び/又は衝突を回避し得る。
【0076】
図3Bは、環境302(2)-(N)における4つの予測された将来を図示しているが、任意の数の将来(例えば、数十、数百、数千など)が決定されてもよい。追加的又は代替的に、処理は、例えば、1つ又は複数のグラフィック処理装置(GPU)などで並列に実行され、将来を実質的に並列に決定してもよい。
【0077】
図4Aは、車両406が走行している道路402(及び道路404の中心位置)を含む、トップダウンビューから見た例示的な環境400を示している。環境400はまた、境界領域408(例えば、
図2に関して説明されたような自律車両に対応する領域)と、第1のタイプの予測を使用して決定された予測位置410とを含み得る。いくつかの例では、第1の予測位置410は、
図2に関して説明されたような分布データ244からサンプリングされた第1の予測位置246に対応し得る。追加的又は代替的に、第1のタイプの予測は、
図2に関して説明されたように、グラフ構造によって出力された分布データ244からサンプリングされた第1の予測位置246を決定することに対応してもよい。いくつかの例では、第1の予測位置410は、領域408から出る車両406の予測位置の結果として決定されてもよく、その結果、車両406に関連付けられたグラフ構造のノードがヌルシーンコンテキストデータで更新されてもよい。
【0078】
図4Bは、車両406が走行している道路402(及び道路404の中心位置)を含む、トップダウンビューから見た例示的な環境420を示している。環境400はまた、境界領域408(例えば、
図2に関して説明されたような自律車両に対応する領域)を含み得る。
【0079】
図2に関して説明されたように、車両406の予測位置が領域408の外側にある場合、領域408に関連付けられた特徴マップに対する車両406の位置に基づいて、車両406に関連付けられたグラフノードが更新され得る。すなわち、特徴マップは、境界領域408に関連付けられ、境界領域408の外側の環境420の領域についてのヌルシーンコンテキストデータを有し得る。このように、グラフノードが更新され、以前のタイムステップからのシーンコンテキストデータがヌルシーンコンテキストデータに置き換えられ得る。後続のタイムステップにおいて、グラフ構造は、車両406に関連付けられた特徴及び環境420に関連するヌルシーンコンテキスト特徴に基づく分布データを出力し、その結果、例えば道路402などの環境420の特徴を考慮しない可能性のある車両406の予測位置が得られる。
【0080】
図4Bによって示されるように、タイムステップ0(例えば、車両406の現在位置)からタイムステップ1(例えば、第1の予測位置410)までの第1の予測位置410は、グラフ構造からの分布出力からサンプリングされることによって決定され得る。分かるように、第1の予測位置410は、車両406を環境420内の道路402から外れて横切るように位置付ける可能性があり、その結果、車両406の軌道が非現実的になり得る。
【0081】
第1の予測位置410が領域408の外側にあると決定されると、第1の予測位置422が決定される場合がある。いくつかの例では、マップデータを利用して第1の予測位置422が決定され得る。例えば、マップデータを利用することにより、第1の予測位置410は、第1の予測位置422のような道路404の中心位置に向かって投影されてもよい。いくつかの例では、車両406の現在位置とマップデータに基づいて基準線が決定されてもよい。例えば、車両406の現在位置から道路404の中心位置までの基準線は、車両406の現在位置から分布データからサンプリングされた第1の予測位置410までの距離と実質的に類似する距離に基づいて決定されてもよい。
【0082】
このプロセスを継続し、グラフ構造を第1の予測位置422で更新して、グラフ構造によって出力された車両406の予測位置の分布から第2の予測位置424がサンプリングされてもよい。ここでもマップデータを利用して、第2の予測位置424は、基準線を用いて第2の予測位置426のような道路404の中心位置に投影されてもよい。追加的又は代替的に、基準線は車両力学モデルに基づいて変更され得る。例えば、基準線は、例えば、カーブでの減速、ターンからの加速など、車両406の現実世界の動作をモデル化するように構成された車両力学モデルに基づいて短くしたり伸ばしたりされ得る。例えば、第2の予測位置426を決定するために使用される基準線は短くされてもよく、その結果、第2の予測位置426は、第2の予測位置424よりも第1の予測位置422からの距離が短くなってもよい。追加的又は代替的に、グラフ構造によって出力された予測位置の分布からサンプリングされた第3の予測位置428に基づいて、第3の予測位置430を決定するために使用される基準線が延長されてもよく、その結果、第3の予測位置430は、第3の予測位置428よりも第2の予測位置426からの距離が大きくなり、これは、車両力学モデルが、道路の曲率に起因してカーブのこの部分で車両406が加速する可能性があることを示していることに起因する。
【0083】
図5Aは、第1のタイプの予測及び第2のタイプの予測を使用して第1の時間に予測位置を決定するための例示的な構造図を示している。選択された姿勢(例えば、予測が実行されているオブジェクト)及び選択された姿勢が依存する情報(例えば、予測を決定するために使用される情報及び/又はオブジェクト)は、キー502を使用して決定され得る。いくつかの例では、第1のタイプの予測は、
図3Aに関して説明されたような第1のタイプの予測に対応してもよく、及び/又は第2のタイプの予測は、
図3Bに関して説明されたような第2のタイプの予測に対応してもよい。
【0084】
図示されているように、第1のタイプの予測を使用して、タイムホライズン1におけるエンティティ1の予測位置を決定することは、任意の与えられたタイムホライズン1における車両及び/又はエンティティ2に関連付けられた情報から独立して決定される。すなわち、第1のタイプの予測を使用して、タイムホライズン1におけるエンティティ1の予測位置は、タイムホライズン1におけるエンティティ1に関連付けられた情報のみに基づき得る。
【0085】
代替的に、第2のタイプの予測を使用してタイムホライズン1におけるエンティティ1の予測位置を決定することは、以前のすべてのタイムホライズンからのすべてのエンティティの情報と相対的に決定される。すなわち、第2のタイプの予測を使用して、タイムホライズン1におけるエンティティ1の予測位置は、タイムホライズン0における車両、エンティティ1、及びエンティティ2に関連付けられた情報に基づき得る。このようにして、エンティティ1に対する予測位置は、タイムホライズン0におけるエンティティ1の以前の位置、及びタイムホライズン0における車両及びエンティティ2のそれぞれの位置に基づいてもよく、車両、エンティティ1、及びエンティティ2を含む環境に対して、例えば
図3Bに関して説明されたような例310の予測された将来1-Nのような、1つ又は複数の予測された将来が決定されてもよい。
【0086】
図5Bは、第1のタイプの予測及び第2のタイプの予測を使用して第2の時間に予測位置を決定するための例示的な構造図を示している。選択された姿勢(例えば、予測が実行されているオブジェクト)及び選択された姿勢が依存する情報(例えば、予測を決定するために使用される情報及び/又はオブジェクト)は、キー502を使用して決定され得る。いくつかの例では、第1のタイプの予測は、
図3Aに関して説明されたような第1のタイプの予測に対応してもよく、及び/又は第2のタイプの予測は、
図3Bに関して説明されたような第2のタイプの予測に対応してもよい。
【0087】
図5Aと同様に、タイムホライズン2におけるエンティティ2の予測位置は、第1のタイプの予測及び第2のタイプの予測を使用して決定され得る。例えば、第1のタイプの予測を使用してタイムホライズン2におけるエンティティ2の予測位置を決定することは、任意の与えられたタイムホライズンにおける車両及び/又はエンティティ1に関連付けられた情報から独立して決定され得る。すなわち、第1のタイプの予測を用いて、タイムホライズン2におけるエンティティ2の予測位置は、タイムホライズン2におけるエンティティ2に関連付けられた情報のみに基づき得る。
【0088】
代替的に、第2のタイプの予測を使用して、タイムホライズン2におけるエンティティ2の予測位置を決定することは、すべての以前のタイムホライズンからのすべてのエンティティの情報と相対的に決定され得る。すなわち、第2のタイプの予測を使用して、タイムホライズン2におけるエンティティ2の予測位置は、タイムホライズン0及びタイムホライズン1における車両、エンティティ1、及びエンティティ2に関連付けられた情報に基づき得る。タイムホライズン2がタイムホライズン1に依存し、タイムホライズン1がタイムホライズン0に依存することを考えると、グラフ構造は、以前のタイムホライズンにおける他のエンティティに関連付けられたエッジ特徴を維持し、それに応じて特徴を更新し得る。このようにして、エンティティ2の予測位置は、タイムホライズン1におけるエンティティ2の以前の位置、及びタイムホライズン1における車両及びエンティティ1のそれぞれの位置に基づいてもよく、車両、エンティティ1、及びエンティティ2を含む環境について、例えば
図3Bに関して説明された例310の予測された将来1-Nのような、1つ又は複数の予測された将来が決定されてもよい。
【0089】
図6は、特徴をGNNにエンコードし、GNNによって出力された分布データからオブジェクトの予測位置をサンプリングするための例示的なアーキテクチャ600のブロック図を示している。いくつかの例では、アーキテクチャ600は、第1のMLモデル602、第2のMLモデル604、及び/又は第3のMLモデル606を含み得る。いくつかの例では、第1のMLモデル602は、RNNとして構成されてもよく、及び/又は
図1に関して説明したような第1のMLモデルに対応してもよい。追加的又は代替的に、第2のMLモデル604は、RNN、CNNとして構成されてもよく、及び/又は
図1に関して説明されたような第2のMLモデルに対応してもよい。追加的又は代替的に、第3のMLモデル606は、GNNとして構成されてもよく、及び/又は
図1に関して説明されたニューラルネットワーク142及び/又はGNNに対応してもよい。
【0090】
第1のMLモデル602は、環境に関連付けられた静的シーンデータ608を処理するように構成され得る。いくつかの例では、静的シーンデータ608は、環境内の車両によって取り込まれたセンサーデータに基づいて決定され得る。追加的又は代替的に、
図6には描かれていないが、静的シーンデータ608は、平面図、立面図、又は側面図で表されてもよい。第1のMLモデル602は、静的シーンデータ608を処理して、環境に関連付けられたシーンコンテキスト特徴610を決定するように構成されてもよい。シーンコンテキスト特徴610は、現在のタイムステップにおける環境の特徴に対応する多数のチャンネルを含んでもよく、各チャンネルは、センサーデータによって表される環境の3次元特徴を取り込んで、環境の幅及び/又は高さに対応する環境の位置における特徴(又は特徴ベクトル)を表してもよい。
【0091】
第2のMLモデル604は、環境に関連付けられたエンティティ履歴612を処理するように構成され得る。いくつかの例では、エンティティ履歴612は、GNNの以前の反復に基づいてもよく、以前のタイムステップの各々において環境内の各エンティティに関連付けられた特徴を含んでもよい。第2のMLモデル604は、現在のタイムステップにおける各エンティティのエンティティ特徴614を決定するために、エンティティ履歴612を処理するように構成されてもよい。エンティティ特徴614は、現在のタイムステップにおける環境内の各エンティティの特徴に対応するチャネルの数を含み得る。
【0092】
シーンコンテキスト特徴610及びエンティティ特徴614が現在のタイムステップについて決定されると、推論動作616が決定され得る。いくつかの例では、推論動作616は、所与のタイムステップにおけるエンティティ特徴614及びシーンコンテキスト特徴610に基づいて、第3のMLモデル606(例えば、GNN)のノードを更新することを含み得る。推論動作616の結果として、第3のMLモデル606は、環境内のエンティティのそれぞれの予測位置の分布を出力し得る。
【0093】
エンティティの予測位置の分布の各々から単一の予測位置をサンプリングするために、サンプリング手法が採用され得る。サンプリング手法618は、様々なサンプリング手法を含み得、異なるサンプリング手法618が、別々のタイムステップ間のエンティティの予測位置の分布からサンプリングするため、及び/又は同じタイムステップにおけるエンティティの予測位置の異なる分布からサンプリングするために使用され得る。いくつかの例では、サンプリング手法618は、ガウスサンプリング手法(例えば、ガウス分布に基づくサンプリングパターンに従う)、最尤サンプリング手法(例えば、分布の最小値、最大値、又は平均値などの平均をとる)、又は上書きサンプリング手法(例えば、分布に含まれる場合も含まれない場合もあるオブジェクトの特定の位置を選択する)として構成され得る。追加的又は代替的に、予測位置分布をサンプリングするためのサンプリング手法618は、グラフノードの分類タイプ(例えば、グラフノードが自律車両、オブジェクト、特定のタイプのオブジェクトなどに関連付けられるか)、予測位置分布の予測位置(例えば、予測位置が予め定義された領域内にあるかどうか)、予測位置分布の分布タイプ、予測位置分布に関連付けられた入力(例えば、自律車両基準軌道620)などに基づいて決定され得る。
【0094】
多数のタイムステップに対応する各エンティティについて多数の予測位置が決定されると(例えば、8つのタイムステップに対応する各エンティティについて8つの予測位置)、環境の予測された将来622が決定され得る。いくつかの例では、予測された将来622は、タイムステップの各々にわたる環境内の各エンティティの姿勢を含み得る。いくつかの例では、予測された将来622は、例えば、
図3Bに関して説明されたような予測された将来1-Nのような、エンティティの予測された軌道を決定するために利用されてもよい。
【0095】
図7は、GNNのノードを更新し、単一のタイムホライズンでGNNによって出力された分布データからオブジェクトの予測位置をサンプリングするための例700のブロック図を示している。いくつかの例では、例700に図示されたブロック図は、
図6に図示されたような例示的アーキテクチャ600の一部として構成され得る。
【0096】
例えば、第1のオブジェクト704、第2のオブジェクト706、及び/又は第3のオブジェクト708を含む第1のタイムホライズン(
図7では、タイムホライズン0としてラベル付けされている)における環境702を例に挙げる。グラフニューラルネットワーク(GNN)などのグラフ構造、及び本明細書で述べられる手法を使用して、オブジェクトに関連付けられた予測された将来のセットが環境702について決定され得る。
【0097】
タイムホライズン0において、GNN710の第1のノード712、第2のノード714、及び第3のノード716が決定及び/又は更新され得る。いくつかの例では、第1のオブジェクト704に関連付けられた第1のノード712は、環境702における第1のオブジェクト704の位置に対応するシーンコンテキスト特徴610、及び第1のオブジェクト704に関連付けられた1つ又は複数の特徴を使用して決定され得る。追加的又は代替的に、第2のオブジェクト706に関連付けられた第2のノード714は、環境702内の第2のオブジェクト706の位置及び第2のオブジェクト706に関連付けられた1つ又は複数の特徴に対応するシーンコンテキスト特徴610を使用して決定され得る。追加的又は代替的に、第3のオブジェクト708に関連付けられた第3のノード716は、環境702内の第3のオブジェクト708の位置に対応するシーンコンテキスト特徴610と、第3のオブジェクト708に関連付けられた1つ又は複数の特徴とを使用して決定され得る。
【0098】
さらに、タイムホライズン0において、GNN710は、第1のノード704と第2のノード706とを接続する第1のエッジ718、第1のノード704と第3のノード708とを接続する第2のエッジ720、及び/又は第2のノード706と第3のノード708とを接続する第3のエッジ722を含み得る。いくつかの例では、エッジ718、720、及び/又は722の各々は、エッジに接続されたノードに関連付けられたオブジェクトの、エッジに接続された別のノードに関連付けられた別のオブジェクトの位置に対する相対的な位置を表し得る。いくつかの例では、エッジ718、720、及び/又は722は、本明細書で議論されるようなオブジェクトに関連付けられた様々な特徴でエンコードされ、GNN710の双方向エッジとして構成されてもよい。すなわち、第1のノード712に関して、第1のエッジ718は、第1のオブジェクト704の位置に対する第2のオブジェクト706の位置を表し得る。追加的又は代替的に、第2のノード714に関して、第1のエッジ720は、第2のオブジェクト706の位置に対する第1のオブジェクト704の位置を表し得る。
【0099】
タイムホライズン0におけるオブジェクト704、706、及び/又は708と対応するシーンコンテキスト特徴610とに関連付けられた特徴でGNN710を更新した後、GNN710のノード712、714、及び/又は716はデコードされ、タイムホライズン1について、第1のオブジェクトに関連付けられた予測位置724の第1の分布、第2のオブジェクトに関連付けられた予測位置726の第2の分布、及び/又は第3のオブジェクトに関連付けられた予測位置728の第3の分布が決定され得る。いくつかの例では、将来(例えば、タイムホライズン1)におけるオブジェクトの予測位置は、予測位置の分布からサンプリングされてもよい。いくつかの例では、
図1及び
図10に関して説明されたように、様々なサンプリング手法が、予測位置の分布をサンプリングするために使用されてもよい。追加的又は代替的に、予測位置の分布は、
図1及び
図11に関して説明されたように、サンプリングされる前に、基準を満たす分布内の予測位置のサブセットを決定するために評価されてもよい。追加的又は代替的に、
図1、
図2、及び
図9に関して説明されたように、予測位置の分布からサンプリングされたオブジェクトの予測位置は上書きされてもよい。
【0100】
タイムホライズン1におけるオブジェクト704、706、及び/又は708の予測位置724、726、及び/又は728の分布を決定するためにGNN710のノードをデコードした後、オブジェクト704、706、及び/又は708のそれぞれの位置が分布からサンプリングされ、ノード712、714、及び/又は716が、タイムホライズン1におけるオブジェクト704、706、及び/又は708の特徴及び対応するシーンコンテキスト特徴610で更新され得る。このプロセスは、任意の数の将来のタイムホライズンについて繰り返されてよい。追加的又は代替的に、オブジェクト704、706、及び/又は708の各々の予測軌道が、タイムホライズンの各々におけるオブジェクトの予測位置に基づいて決定されてもよい。
【0101】
図1、
図2、及び
図8-
図11は、本開示の例による例示的なプロセスを示している。プロセスは、論理フローグラフとして図示され、その各動作は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装され得る動作のシーケンスを表す。ソフトウェアのコンテキストでは、動作は、1つ又は複数のプロセッサによって実行されると、言及された動作を実行する1つ又は複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能な指令を表す。一般に、コンピュータ実行可能な指令には、特定の機能を実行したり、特定の抽象データタイプを実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。動作が記載される順序は、限定として解釈されることを意図するものではなく、記載される動作の任意の数は、プロセスを実装するために、任意の順序で、及び/又は並列に、省略され得るか、又は組み合わされ得る。
【0102】
図8A及び
図8Bは、センサーデータを取り込み、特徴をGNNのノード及びエッジにエンコードし、GNNによって出力された分布データからオブジェクトの予測位置をサンプリングするための例示的なプロセス800を示している。いくつかの例では、センサーデータ、ノード、エッジ、GNN、予測位置、オブジェクト、及び/又は分布データは、
図1に関して説明されたように、センサーデータ108、ノード132、134、エッジ136、ニューラルネットワーク142、予測位置、及び/又はオブジェクト130に対応し得る。
【0103】
プロセス800は、動作802で開始し、環境内の車両に関連付けられたセンサーからセンサーデータを受信することを含む。いくつかの例では、環境は、第1のオブジェクトを含み得る。
【0104】
動作804において、プロセス800は、第1のオブジェクトの第1の状態を表す第1のデータを決定することを含み得る。いくつかの例では、第1のデータは、センサーデータに少なくとも部分的に基づいて決定され得る。
【0105】
動作806において、プロセス800は、第1のデータを第1の機械学習(ML)モデルに入力することを含み得る。追加的又は代替的に、プロセス800は、第1のデータを第1のMLモデルに入力することに少なくとも部分的に基づいて、第1のオブジェクトに関連付けられた第1の特徴を含む第2のデータを第1のMLモデルから受信することを含み得る。いくつかの例では、第1のMLモデルは、リカレントニューラルネットワーク(RNN)として構成されてもよい。
【0106】
動作808において、プロセス800は、環境のトップダウンビューを表す第3のデータを決定することを含み得る。いくつかの例では、第3のデータは、環境に関連付けられたマップデータに少なくとも部分的に基づいて決定され得る。いくつかの例では、マップデータは、車両に関連付けられたマップサーバーから受信されてもよい。
【0107】
動作810において、プロセス800は、第3のデータを第2のMLモデルに入力することを含み得る。追加的又は代替的に、プロセス800は、第2のMLモデルへの第3のデータの入力に少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を含む第4のデータを受信することを含み得る。いくつかの例では、第2のMLモデルは、第1のMLモデルとは異なっていてもよい。追加的又は代替的に、第2のMLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成されてもよい。
【0108】
動作812において、プロセス800は、第2のデータ及び第4のデータを、第1のオブジェクトを表すグラフニューラルネットワーク(GNN)の第1のノードに関連付けることを含み得る。
【0109】
動作814において、プロセス800は、車両を表すGNNの第2のノードを決定することを含み得る。
【0110】
動作816において、プロセス800は、第1のノードと第2のノードとを接続する第1のエッジを決定することを含み得る。いくつかの例では、第1のオブジェクトの第1の位置は、第1のエッジにおける車両の第2の位置に対して表される。
【0111】
動作818において、プロセス800は、GNNに対して第1の推論動作を実行することを含み得る。追加的又は代替的に、プロセス800は、第1の推論動作に少なくとも部分的に基づいて、第1のオブジェクトについての第1の分布データを表す第1の出力を決定することを含み得る。いくつかの例では、第1の分布データは、第1のオブジェクトの第1の予測位置を含み得る。追加的又は代替的に、プロセスは、第1の推論動作に基づいて第1のオブジェクトの第1の予測位置を決定することを含み得る。
【0112】
動作820において、プロセス800は、第1のオブジェクトについての予測位置の閾値量が決定されたか否かを決定することを含み得る。例えば、第1のオブジェクトの予測軌道は、第1のオブジェクトの1つ又は複数の予測位置を使用して決定され得る。一例として、動作820は、予測軌道を決定するために、閾値量の予測位置が決定されたことを決定することを含んでもよい。別の例として、動作820は、閾値量の予測位置が予測軌道を決定するために決定されていないと決定することを含んでもよい。プロセスは、その後、予測軌道を決定するために閾値量の予測位置が決定されていないと決定することに基づいて、(後続のタイムステップにおいて)プロセス800の一部を再スタートする動作818を含み得る。
【0113】
動作822において、プロセス800は、第1のオブジェクトのための第1の軌道を決定することを含み得る。いくつかの例では、第1のオブジェクトのための第1の軌道を決定することは、第1のオブジェクトの第1の予測位置に少なくとも部分的に基づき得る。
【0114】
いくつかの例では、車両は、環境を横断する自律車両である。追加的又は代替的に、プロセス800は、第1のオブジェクトのための第1の軌道に少なくとも部分的に基づいて、自律車両を制御することを含み得る。
【0115】
追加的又は代替的に、プロセス800は、センサーデータに少なくとも部分的に基づいて、環境内の第2のオブジェクトの第2の状態を表す第5のデータを決定することを含み得る。追加的又は代替的に、プロセス800は、第2のMLモデルへの第5のデータの入力に少なくとも部分的に基づいて、第2のオブジェクトに関連付けられた第3の特徴を含む第6のデータを受信することを含み得る。追加的又は代替的に、プロセス800は、第4のデータ及び第6のデータを、第2のオブジェクトを表すGNNの第3のノードに関連付けることを含み得る。追加的又は代替的に、プロセス800は、第1のノードと第3のノードとを接続する第2のエッジを決定することを含み得、ここで、第2のオブジェクトの第3の位置は、第1のオブジェクトの第1の位置に対して相対的に表される。追加的又は代替的に、プロセス800は、第2のノードと第3のノードとを接続する第3のエッジを決定することを含み得、ここで、第2のオブジェクトの第3の位置は、車両の第2の位置に対する相対位置として表される。追加的又は代替的に、プロセス800は、GNNに対して第2の推論動作を実行することを含み得る。追加的又は代替的に、プロセス800は、第2の推論動作に少なくとも部分的に基づいて、第2のオブジェクトについての第2の分布データを表す第2の出力を決定することを含み得、第2の分布データは、第2のオブジェクトについての第2の予測位置を含む。追加的又は代替的に、プロセス800は、第2の分布データからのサンプリングに少なくとも部分的に基づいて、第2のオブジェクトの第2の予測位置を決定することを含み得る。追加的又は代替的に、プロセス800は、第1のオブジェクトの第1の予測位置及び第2のオブジェクトの第2の予測位置に少なくとも部分的に基づいて、第1のオブジェクトの第1の軌道及び第2のオブジェクトの第2の軌道を決定することを含み得る。
【0116】
いくつかの例では、第1のオブジェクトの第1の位置は、第1の時間に関連付けられ得る。追加的又は代替的に、第1のオブジェクトの第1の予測位置は、第1の時間に後続する第2の時間に関連付けられ得る。追加的又は代替的に、プロセス800は、第4のデータ及び第1のオブジェクトの第1の予測位置に少なくとも部分的に基づいて、第1のオブジェクトを表すGNNの第1のノードを更新することを含み得、第1のオブジェクトの第1の予測位置は、車両の第2の位置に対して相対的に表される。追加的又は代替的に、プロセス800は、GNNに対して第2の推論動作を実行することを含み得る。追加的又は代替的に、プロセス800は、第2の推論動作に少なくとも部分的に基づいて、第1のオブジェクトの第2の分布データを表す第2の出力を決定することを含み得、第2の分布データは、第1のオブジェクトの第2の予測位置を含む。追加的又は代替的に、プロセス800は、第2の分布データからのサンプリングに少なくとも部分的に基づいて、第2の時間に後続する第3の時間における第1のオブジェクトの第2の予測位置を決定することを含み得る。いくつかの例では、第1のオブジェクトの第1の軌道を決定することは、第1のオブジェクトの第1の予測位置及び/又は第1のオブジェクトの第2の予測位置に少なくとも部分的に基づき得る。
【0117】
いくつかの例では、第1のデータは、環境内の第2のオブジェクトの第2の状態を含み得る。
【0118】
追加的又は代替的に、プロセス800は、第2のオブジェクトについての第2の予測位置を含む第2の分布データからのサンプリングに少なくとも部分的に基づいて、第2のオブジェクトの第2の予測位置を決定することを含み得る。いくつかの例では、第1のオブジェクトの第1の軌道を決定することは、第1のオブジェクトの第1の予測位置及び第2のオブジェクトの第2の予測位置に少なくとも部分的に基づき得る。
【0119】
追加的又は代替的に、プロセス800は、オブジェクトの姿勢、オブジェクトの位置、オブジェクトの加速度、オブジェクトの速度、オブジェクトのサイズ、オブジェクトのタイプ、及び/又はオブジェクトの照明状態のうちの少なくとも1つを表すデータに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴を決定することを含み得る。
【0120】
追加的又は代替的に、プロセス800は、環境内の追加オブジェクト、環境内の追加オブジェクトのタイプ、環境内の追加オブジェクトの照明状態、及び/又は環境内の車線標識のうちの少なくとも1つを表すデータに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することを含み得る。
【0121】
図9は、センサーデータを取り込み、特徴をGNNのノード及びエッジにエンコードし、GNNによって出力された分布データからサンプリングされたオブジェクトの第1の予測位置が指定された領域の外側にあることを決定し、マップデータに基づいてオブジェクトの第2の予測位置を決定するための例示的なプロセス900である。いくつかの例では、センサーデータ、ノード、GNN、第1の予測位置、指定された領域、第2の予測位置、マップデータ、オブジェクト、及び/又は分布データは、
図2に関して説明されたように、センサーデータ208、ノード228、グラフ構造226、第1の予測位置246、領域240、第2の予測位置250、マップデータ、オブジェクト242、及び/又は分布データ244に対応し得る。
【0122】
プロセス900は、動作902で開始し、環境内の車両に関連付けられたセンサーからセンサーデータを受信することを含む。いくつかの例では、環境はオブジェクトを含み得る。
【0123】
動作904において、プロセス900は、オブジェクトに関連付けられた第1の特徴を決定することを含み得る。いくつかの例では、第1の特徴は、センサーデータに少なくとも部分的に基づいて決定され得る。追加的又は代替的に、プロセス900は、オブジェクトの第1の状態を決定すること、オブジェクトの第1の状態を第1の機械学習(ML)モデルに入力すること、及び/又はオブジェクトの第1の状態を第1のMLモデルに入力することに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴データを受信することを含み得る。いくつかの例では、第1のMLモデルは、リカレントニューラルネットワーク(RNN)として構成されてもよい。
【0124】
動作906において、プロセス900は、環境に関連付けられた領域を表す特徴マップを決定することを含み得る。いくつかの例では、特徴マップは、環境に関連付けられたマップデータに少なくとも部分的に基づいて、決定され得る。いくつかの例では、特徴マップは、
図2に関して説明されたような特徴マップ218に対応し得る。
【0125】
動作908において、プロセス900は、環境に関連付けられた第2の特徴を決定することを含み得る。いくつかの例では、第2の特徴は、環境内のオブジェクトの現在の位置及び特徴マップに少なくとも部分的に基づき得る。追加的又は代替的に、プロセス900は、環境のトップダウンビューを決定すること、トップダウンビューを第2のMLモデルに入力すること、及び/又は環境のトップダウンビューを第2のMLモデルに入力することに少なくとも部分的に基づいて、第2の特徴データを受信することを含み得る。いくつかの例では、第2のMLモデルは、第1のMLモデルとは異なっていてもよい。追加的又は代替的に、第2のMLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成されてもよい。
【0126】
動作910において、プロセス900は、第1の特徴及び第2の特徴を表すグラフニューラルネットワーク(GNN)のノードを決定することを含み得る。
【0127】
動作912において、プロセス900は、オブジェクトに関連付けられた第1の分布データを表す第1の出力を決定することを含み得る。いくつかの例では、第1の出力はGNNに少なくとも部分的に基づき得る。追加的又は代替的に、第1の分布データは、将来におけるオブジェクトの第1の予測位置を含み得る。追加的又は代替的に、第1の出力は、将来におけるオブジェクトの第1の予測位置を表し得る。
【0128】
動作914において、プロセス900は、第1の予測位置が環境の領域の外側であるか否かを決定することを含み得る。一例として、動作914は、第1の予測位置が環境の領域の内側であると決定することを含み得る。プロセス900は、その後、第1の予測位置が環境の領域の内側であると決定することに基づいて、動作916を含み得る。別の例として、動作914は、第1の予測位置が環境の領域の外側であると決定することを含み得る。プロセス900は、その後、第1の予測位置が環境の領域の外側であると決定することに基づいて、動作918を含み得る。
【0129】
動作916において、プロセス900は、第1の予測位置に少なくとも部分的に基づいて、車両を制御することを含み得る。
【0130】
動作918において、プロセス900は、オブジェクトの第2の予測位置を決定することを含み得る。いくつかの例では、オブジェクトの第2の予測位置は、第1の予測位置が領域及び/又はマップデータの外側であることに少なくとも部分的に基づき得る。
【0131】
動作920において、プロセス900は、第2の予測位置に少なくとも部分的に基づいて、車両を制御することを含み得る。
【0132】
追加的又は代替的に、プロセス900は、第1の分布データからのサンプリングに少なくとも部分的に基づいて、第1の予測位置を決定することを含み得る。
【0133】
追加的又は代替的に、プロセス900は、環境内のオブジェクトの現在位置及びマップデータに少なくとも部分的に基づいて、基準線を決定することを含み得る。いくつかの例では、オブジェクトの第2の予測位置を決定することは、第1の予測位置を基準線に投影することに少なくとも部分的に基づき得る。
【0134】
追加的又は代替的に、プロセス900は、環境におけるオブジェクトの第2の予測位置が特徴マップに関連付けられた領域の外側にあることを決定することを含み得る。追加的又は代替的に、プロセス900は、オブジェクトの第2の予測位置が領域の外側であることに少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を決定することを含み得、第3の特徴はヌル特徴である。追加的又は代替的に、プロセス900は、第3の特徴に少なくとも部分的に基づいて、GNNのノードを更新することを含み得る。追加的又は代替的に、プロセス900は、GNNに少なくとも部分的に基づいて、オブジェクトに関連付けられた第2の分布データを表す第2の出力を決定することを含み得、第2の分布データは、オブジェクトの第2の予測位置を含む。追加的又は代替的に、プロセス900は、第2の分布のセットに少なくとも部分的に基づいて、オブジェクトの第3の予測位置が環境の領域の外側であることを決定することを含み得る。追加的又は代替的に、プロセス900は、マップデータに少なくとも部分的に基づいて、オブジェクトの第4の予測位置を決定することを含み得る。追加的又は代替的に、プロセス900は、オブジェクトの第2の予測位置及びオブジェクトの第4の予測位置に少なくとも部分的に基づいて、車両を制御することを含み得る。
【0135】
いくつかの例では、環境におけるオブジェクトの現在位置とオブジェクトの第1の予測位置との間の第1の距離は、環境におけるオブジェクトの現在位置とオブジェクトの第2の予測位置との間の第2の距離と同じであってもよい。
【0136】
いくつかの例では、オブジェクトの第2の予測位置を決定することは、車両ダイナミクスモデルに少なくとも部分的に基づき得る。
【0137】
いくつかの例では、領域は境界のある領域であってもよく、境界のある領域に対応する特徴マップの一部は、環境を通る車両の軌道を計画するために使用されてもよい。
【0138】
図10は、センサーデータを取り込み、特徴をGNNのノード及びエッジにエンコードし、GNNによって出力された分布データをサンプリングするためのサンプリング手法を決定し、サンプリング手法を使用して分布データからサンプリングされたオブジェクトの予測位置に基づいて車両を制御するための例示的なプロセス1000である。いくつかの例では、センサーデータ、ノード、エッジ、GNN、予測位置、オブジェクト、及び/又は分布データは、
図1に関して説明されたように、センサーデータ108、ノード132、134、エッジ136、ニューラルネットワーク142、予測位置、オブジェクト130、及び/又は予測位置分布146に対応し得る。
【0139】
プロセス1000は、動作1002で開始し、環境内の車両に関連付けられたセンサーからセンサーデータを受信することを含む。いくつかの例では、環境はオブジェクトを含み得る。
【0140】
動作1004において、プロセス1000は、オブジェクト又は車両の一方に関連付けられた第1の特徴を決定することを含み得る。いくつかの例では、第1の特徴は、センサーデータに少なくとも部分的に基づき得る。追加的又は代替的に、プロセス1000は、オブジェクト又は車両の第1の状態を決定すること、オブジェクト又は車両の第1の状態を第1の機械学習(ML)モデルに入力すること、及び/又はオブジェクト又は車両の第1の状態を第1のMLモデルに入力することに少なくとも部分的に基づいて、オブジェクト又は車両に関連付けられた第1の特徴を受信することを含み得る。いくつかの例では、第1のMLモデルは、リカレントニューラルネットワーク(RNN)として構成されてもよい。
【0141】
動作1006において、プロセス1000は、環境に関連付けられた第2の特徴を決定することを含み得る。いくつかの例では、環境に関連付けられた第2の特徴は、環境に関連付けられたマップデータに少なくとも部分的に基づき得る。追加的又は代替的に、プロセス1000は、環境のトップダウンビューを決定すること、トップダウンビューを第2のMLモデルに入力すること、及び/又は環境のトップダウンビューを第2のMLモデルに入力することに少なくとも部分的に基づいて、第2の特徴データを受信することを含み得る。いくつかの例では、第2のMLモデルは、第1のMLモデルとは異なっていてもよい。追加的又は代替的に、第2のMLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成されてもよい。
【0142】
動作1008において、プロセス1000は、グラフニューラルネットワーク(GNN)のグラフノードを決定することを含み得る。いくつかの例では、グラフノードは、第1の特徴及び第2の特徴に基づき得る。
【0143】
動作1010において、プロセス1000は、ノードに関連付けられた分布データを表す第1の出力を決定することを含み得る。いくつかの例では、第1の出力は、GNNの推論に少なくとも部分的に基づき得る。追加的又は代替的に、分布データは、環境におけるオブジェクト又は車両の予測位置を含む。
【0144】
動作1012において、プロセス1000は、分布データをサンプリングするためのサンプリング手法を決定することを含み得る。いくつかの例では、サンプリング手法は、グラフノードの分類タイプ、分布データの予測位置、分布データの分布タイプ、及び/又は分布データに関連付けられた入力に少なくとも部分的に基づき得る。
【0145】
動作1014において、プロセス1000は、サンプリング手法に少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することを含み得る。
【0146】
動作1016において、プロセス1000は、閾値量の予測位置が分布データからサンプリングされたかどうかを決定することを含み得る。例えば、オブジェクトの予測軌道は、オブジェクトの1つ又は複数の予測位置を使用して決定され得る。一例として、動作1016は、予測軌道を決定するために、閾値量の予測位置が分布データからサンプリングされたことを決定することを含んでもよい。別の例として、動作1016は、予測軌道を決定するために、閾値量の予測位置が分布データからサンプリングされていないと決定することを含んでもよい。プロセスは、その後、予測軌道を決定するために分布データから閾値量の予測位置がサンプリングされていないと決定することに基づいて、プロセス1000の一部を(後続のタイムステップで)再スタートする動作1012を含んでもよい。
【0147】
動作1018において、プロセス1000は、オブジェクトの第1の予測位置に少なくとも部分的に基づいて、車両を制御することを含み得る。
【0148】
追加的又は代替的に、プロセス1000は、グラフノードの分類タイプが、グラフノードがオブジェクトに関連付けられたことを示すと決定することを含み得、ここで、サンプリング手法は、第1のサンプリング手法を含む。追加的又は代替的に、プロセス1000は、グラフノードの分類タイプが、グラフノードが車両に関連付けられたことを示すと決定することを含み得る、ここで、サンプリング手法は、第1のサンプリング手法とは異なる第2のサンプリング手法を含み得る。
【0149】
追加的又は代替的に、プロセス1000は、車両の軌道を計画するために使用される環境の境界領域を決定することを含み得る。追加的又は代替的に、プロセス1000は、分布データに少なくとも部分的に基づいて、分布データの予測位置が境界領域の外側にあることを決定することを含み得る。追加的又は代替的に、プロセス1000は、分布データの予測位置が境界領域の外側にあることに少なくとも部分的に基づいて、サンプリング手法を決定することを含み得る。追加的又は代替的に、プロセス1000は、サンプリング手法及び環境に関連付けられたマップデータに少なくとも部分的に基づいて、オブジェクトの第1の予測位置を決定することを含み得る。
【0150】
追加的又は代替的に、プロセス1000は、分布データの分布タイプが第1の分布タイプであることを決定することを含み得る。追加的又は代替的に、プロセス1000は、サンプリング手法を使用して分布データをサンプリングすることに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することを含み得、ここで、サンプリング手法は、ガウスサンプリング手法を含む。追加的又は代替的に、プロセス1000は、分布データの分布タイプが第2の分布タイプであることを決定することを含み得る。追加的又は代替的に、プロセス1000は、サンプリング手法を用いた分布データのサンプリングに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することを含み得る。いくつかの例では、第1の予測位置は、分布データの予測位置の平均であり得る。
【0151】
いくつかの例では、車両は自律車両であり得る。追加的又は代替的に、プロセス1000は、自律車両の計画コンポーネントから、入力データを受信することを含み得、ここで、オブジェクト又は車両の第1の予測位置は、入力データに少なくとも部分的に基づき得る。いくつかの例では、入力データは、環境を通る自律車両の基準軌道を含み得る。
【0152】
追加的又は代替的に、プロセス1000は、入力データを受信することを含み得、入力データは、予測位置とは異なる環境におけるオブジェクト又は車両の選択された位置を示し得る。追加的又は代替的に、プロセス1000は、選択された位置に基づいてオブジェクト又は車両の予測軌道を決定することを含み得る。
【0153】
いくつかの例では、サンプリング手法は第1のサンプリング手法であり得、及び/又は第1の予測位置は第1の時間に関連付けられ得る。追加的又は代替的に、プロセス1000は、オブジェクト又は車両の第1の予測位置に少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を有するグラフノードを更新することを含み得る。追加的又は代替的に、プロセス1000は、グラフ構造に少なくとも部分的に基づいて、ノードに関連付けられた分布データを表す第2の出力を決定することを含み、分布データは、第1の時間の後の第2の時間における環境内のオブジェクト又は車両の予測位置を含む。追加的又は代替的に、プロセス1000は、分布データをサンプリングするための第2のサンプリング手法を決定することを含み得、第2のサンプリング手法は、第1のサンプリング手法とは異なり得る。追加的又は代替的に、プロセス1000は、第2のサンプリング手法に少なくとも部分的に基づいて、第2の時間における環境内のオブジェクト又は車両の第2の予測位置を決定することを含み得る。追加的又は代替的に、プロセス1000は、第1の予測位置及び第2の予測位置に少なくとも部分的に基づいて、予測軌道を決定することを含み得る。
【0154】
いくつかの例では、ノードはオブジェクトに関連付けられた第1のノードであってもよく、分布データは第1の時間に第1のノードに関連付けられた第1の分布データであってもよく、サンプリング手法は第1のサンプリング手法であってもよい。追加的又は代替的に、プロセス1000は、車両に関連付けられた第3の特徴及び環境に関連付けられた第2の特徴をグラフ構造の第2のノードに関連付けることを含み得る。追加的又は代替的に、プロセス1000は、グラフ構造に少なくとも部分的に基づいて、第2のノードに関連付けられた第2の分布データを表す第2の出力を決定することを含み、第2の分布データは、第1の時間における環境内の車両の第2の予測位置を含む。追加的又は代替的に、プロセス1000は、第1の分布データをサンプリングされるための第1のサンプリング手法を、第1のノードの分類タイプに少なくとも部分的に基づいて決定することを含み得る。追加的又は代替的に、プロセス1000は、第2のノードの第1の分類タイプに少なくとも部分的に基づいて、第2の分布データをサンプリングするための第2のサンプリング手法を決定することを含み得、ここで、第2のサンプリング手法は、第1のサンプリング手法とは異なり得る。追加的又は代替的に、プロセス1000は、第2のサンプリング手法に少なくとも部分的に基づいて、第1の時間における車両の第2の予測位置を決定することを含み得る。追加的又は代替的に、プロセス1000は、第1の予測位置又は第2の予測位置に少なくとも部分的に基づいて、オブジェクト又は車両の予測軌道を決定することを含み得る。
【0155】
図11は、センサーデータを取り込み、特徴をGNNのノード及びエッジにエンコードし、GNNによって出力された第1の分布データを評価して、基準を満たす第1の分布データに含まれる予測位置のサブセットを含む第2の分布データを決定し、第2の分布データからサンプリングされたオブジェクトの予測位置に基づいて車両を制御するための例示的なプロセス1100である。いくつかの例では、センサーデータ、ノード、エッジ、GNN、予測位置、オブジェクト、基準、第1の分布データ及び/又は第2の分布データは、
図1に関して説明されたように、センサーデータ108、ノード132、134、エッジ136、ニューラルネットワーク142、予測位置、オブジェクト130、基準、分布データ、及び/又は分布データのサブセットに対応し得る。
【0156】
プロセス1100は、動作1102で開始し、第1の時間において、環境内の車両に関連付けられたセンサーからセンサーデータを受信することを含む。いくつかの例では、環境はオブジェクトを含み得る。
【0157】
動作1104において、プロセス1100は、オブジェクトに関連付けられた第1の特徴を決定することを含み得る。いくつかの例では、第1の特徴は、センサーデータに少なくとも部分的に基づき得る。追加的又は代替的に、プロセス1100は、オブジェクトの第1の状態を決定すること、オブジェクトの第1の状態を第1の機械学習(ML)モデルに入力すること、及び/又はオブジェクトの第1の状態を第1のMLモデルに入力することに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴データを受信することを含み得る。いくつかの例では、第1のMLモデルは、リカレントニューラルネットワーク(RNN)として構成されてもよい。
【0158】
動作1106において、プロセス1100は、環境に関連付けられた第2の特徴を決定することを含み得る。いくつかの例では、第2の特徴は、センサーデータに少なくとも部分的に基づき得る。追加的又は代替的に、プロセス1100は、環境のトップダウンビューを決定すること、トップダウンビューを第2のMLモデルに入力すること、及び/又は環境のトップダウンビューを第2のMLモデルに入力することに少なくとも部分的に基づいて、第2の特徴データを受信することを含み得る。いくつかの例では、第2のMLモデルは、第1のMLモデルとは異なっていてもよい。追加的又は代替的に、第2のMLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成されてもよい。
【0159】
動作1108において、プロセス1100は、グラフニューラルネットワーク(GNN)のノードに、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴を関連付けることを含み得る。
【0160】
動作1110において、プロセス1100は、第1の時間の後の第2の時間にオブジェクトが環境において存在する予測位置を含む第1の分布データを表す第1の出力を決定することを含み得る。いくつかの例では、第1の出力は、GNN及び/又は基準に少なくとも部分的に基づいて、決定され得る。いくつかの例では、第1の分布データは、基準を満たす予測位置のみを含んでもよい。
【0161】
動作1112において、プロセス1100は、オブジェクトの第1の予測位置を決定することを含み得る。いくつかの例では、オブジェクトの第1の予測位置は、第2の分布データからのサンプリングに少なくとも部分的に基づき得る。
【0162】
動作1114において、プロセス1100は、閾値量の予測位置が決定されたかどうかを決定することを含み得る。例えば、第1のオブジェクトの予測位置は、分布データからサンプリングされたことに基づいて決定されてもよく、1つ又は複数の予測位置は、第1のオブジェクトの軌道を決定するために使用されてもよい。一例として、動作1114は、閾値量の予測位置が決定されたことを決定することを含み得る。別の例として、動作1114は、閾値量の予測位置が決定されていないと決定することを含み得る。プロセス1100は、その後、閾値量の予測位置が第2の分布データに含まれていないと決定することに基づいて、プロセス1100の一部を(後続のタイムステップで)再スタートする動作1110を含み得る。
【0163】
動作1116において、プロセス1100は、オブジェクトの第1の予測位置に基づいて車両を制御することを含み得る。
【0164】
いくつかの例では、センサーは、環境を横断する自律車両に関連付けられる。追加的又は代替的に、プロセス1100は、自律車両に関連付けられた計画コンポーネントから、環境を通る車両の軌道を受信することを含み得る。追加的又は代替的に、プロセス1100は、自律車両の軌道に少なくとも部分的に基づいて、基準を決定することを含み得る。
【0165】
追加的又は代替的に、プロセス1100は、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴に少なくとも部分的に基づいて、オブジェクトに関連付けられた意図を決定することを含み得る。追加的又は代替的に、プロセス1100は、オブジェクトに関連付けられた意図に少なくとも部分的に基づいて、基準を決定することを含み得る。
【0166】
追加的又は代替的に、プロセス1100は、環境に関連付けられたマップデータを受信することを含み得る。追加的又は代替的に、プロセス1100は、マップデータ及びセンサーデータに少なくとも部分的に基づいて、環境に関連付けられた規則を決定することを含み得る。いくつかの例では、規則は、一時停止標識、街灯、環境内のゾーン、及び/又は制限速度のうちの少なくとも1つを含み得る。いくつかの例では、環境内のゾーンは、定義されたゾーン(例えば、1日の特定の時間帯のスクールゾーン、長期的な高速道路の建設ゾーンなど)、及び/又は未定義のゾーン(例えば、標識、交通誘導作業員の存在などによって示すことができる不特定の時間に設定又は解除される建設ゾーン)であり得る。追加的又は代替的に、プロセス1100は、環境に関連付けられた規則に少なくとも部分的に基づいて、基準を決定することを含み得る。
【0167】
いくつかの例では、基準は、オブジェクトに関連付けられたオブジェクト特性に少なくとも部分的に基づき得る。いくつかの例では、オブジェクト特性は、オブジェクトに関連付けられた最大旋回半径、オブジェクトに関連付けられた最大速度、オブジェクトに関連付けられた最大加速度、オブジェクトに関連付けられた車線変更操作、オブジェクトに関連付けられた旋回操作、及び/又はオブジェクトに関連付けられた敵対的な挙動操作のうちの少なくとも1つを含む。
【0168】
追加的又は代替的に、プロセス1100は、オブジェクトの第1の特徴に少なくとも部分的に基づいて、基準を決定することを含み得る。いくつかの例では、第1の特徴は、オブジェクトの現在の姿勢、オブジェクトの現在の位置、オブジェクトの現在の加速度、オブジェクトの現在の速度、オブジェクトのサイズ、オブジェクトのタイプ、及び/又はオブジェクトの照明状態のうちの少なくとも1つを含む。
【0169】
いくつかの例では、オブジェクトは第1のオブジェクトであってよく、予測位置は第1の予測位置であってもよく、基準は第1の基準であってもよい。追加的又は代替的に、プロセス1100は、センサーデータに少なくとも部分的に基づいて、環境内の第2のオブジェクトに関連付けられた第3の特徴を決定することを含み得る。追加的又は代替的に、プロセス1100は、第2のオブジェクトに関連付けられた第3の特徴及び環境に関連付けられた第2の特徴をグラフ構造の第2のノードに関連付けることを含み得る。追加的又は代替的に、プロセス1100は、グラフ構造に少なくとも部分的に基づいて、第2のオブジェクトの第3の分布データを表す第2の出力を決定することを含み得、第3の分布データは、将来における第2のオブジェクトの第2の予測位置を含む。追加的又は代替的に、プロセス1100は、第1のオブジェクトの第1の予測位置に少なくとも部分的に基づいて、第2の基準を決定することを含み得る。追加的又は代替的に、プロセス1100は、第3の分布データを評価して、第3の分布データ中の第2の予測位置のどれが第2の基準を満たすかを決定することを含み得る。追加的又は代替的に、プロセス1100は、第2のオブジェクトについての第3の分布データを評価することに少なくとも部分的に基づいて、第2のオブジェクトについての第4の分布データを決定することを含み得、第4の分布データは、第2のオブジェクトについての第2の予測位置の第2のサブセットを含み得る。追加的又は代替的に、プロセス1100は、第4の分布のセットからのサンプリングに少なくとも部分的に基づいて、第2のオブジェクトの第2の予測位置を決定することを含み得る。追加的又は代替的に、プロセス1100は、第2のオブジェクトの第2の予測位置及び第1のオブジェクトの第1の予測軌道に少なくとも部分的に基づいて、第2のオブジェクトの第2の予測軌道を決定することを含み得る。
【0170】
いくつかの例では、車両は、環境を横断する自律車両である。追加的又は代替的に、プロセス1100は、第1のオブジェクトの第1の予測軌道及び第2のオブジェクトの第2の予測軌道に少なくとも部分的に基づいて、自律車両の第3の予測軌道を決定することを含み得る。追加的又は代替的に、プロセス1100は、第3の予測軌道に少なくとも部分的に基づいて、自律車両を制御することを含み得る。
【0171】
図12は、本明細書で述べられる手法を実装するための例示的なシステム1200のブロック図である。少なくとも1つの例では、システム1200は、車両106などの車両1202を含み得る。
【0172】
車両1202は、車両コンピューティングデバイス1204、1つ又は複数のセンサーシステム1206、1つ又は複数のエミッタ1208、1つ又は複数の通信接続部1210、少なくとも1つの直接接続部1212、及び1つ又は複数の駆動システム1214を含み得る。
【0173】
車両コンピューティング機器1204は、1つ又は複数のプロセッサ1216と、1つ又は複数のプロセッサ1216と通信可能に結合されたメモリ1218とを含み得る。図示された例では、車両1202は自律車両であるが、車両1202は半自律車両などの任意の他のタイプの車両、又は少なくとも画像取り込み機器(例えば、カメラ対応スマートフォン)を有する任意の他のシステムであり得る。図示された例では、車両コンピューティングデバイス1204のメモリ1218は、定位コンポーネント1220、知覚コンポーネント1222、計画コンポーネント1224、1つ又は複数のシステムコントローラ1226、1つ又は複数のマップ1228、ログデータ1230、及び予測コンポーネント1252などを格納する。
図12では、例示の目的でメモリ1218に常駐するように描かれているが、定位コンポーネント1220、知覚コンポーネント1222、計画コンポーネント1224、システムコントローラ1226、マップ1228、及び予測コンポーネント1252は、追加的又は代替的に、車両1202にアクセス可能であってもよい(例えば、コンピューティングデバイス1234のメモリ1232など、車両1202から遠隔のメモリ上に格納されるか、又は他の方法でアクセス可能であることが企図される)。本明細書で述べられるように、定位コンポーネント1220、知覚コンポーネント1222、計画コンポーネント1224、システムコントローラ1226、及び予測コンポーネント1252は、集合的に車両コントローラを構成してもよい。x
【0174】
少なくとも1つの例では、定位コンポーネント1220は、車両1202の位置及び/又は向き(例えば、x位置、y位置、z位置、ロール、ピッチ、又はヨーのうちの1つ又は複数)を決定するために、センサーシステム1206からデータを受信する機能を含み得る。例えば、定位コンポーネント1220は、環境のマップを含み、及び/又は要求/受信し、マップ内の自律車両の位置及び/又は向きを継続的に決定し得る。いくつかの実施態様において、定位コンポーネント1220は、画像データ、LIDARデータ、RADARデータ、IMUデータ、GPSデータ、ホイールエンコーダーデータなどを受信するために、SLAM(自己定位とマッピングの同時実行)、CLAMS(較正、定位及びマッピングの同時実行)、相対SLAM、バンドル調整、非線形最小二乗最適化などを利用して、自律車両の位置を正確に決定し得る。いくつかの実施態様では、定位コンポーネント1220は、本明細書で議論されるように、車両経路に関連付けられた経路ポリゴンを決定するための自律車両の初期位置を決定するために、車両1202の様々なコンポーネントにデータを提供し得る。
【0175】
いくつかの例では、知覚コンポーネント1222は、オブジェクト検出、セグメント化、及び/又は分類を実行する機能を含み得る。いくつかの例では、知覚コンポーネント1222は、車両1202に近接するオブジェクト(例えば、エンティティ)の存在を示す、及び/又はオブジェクトのタイプ(例えば、車、歩行者、自転車、動物、建物、木、路面、縁石、歩道、不明等)としてのオブジェクトの分類を示す、処理されたセンサーデータを提供し得る。いくつかの例では、知覚コンポーネント1222は、車両1202に近接する静止したエンティティの存在、及び/又は、静止したエンティティのタイプ(例えば、建物、木、路面、縁石、歩道、不明など)としての分類を示す、処理されたセンサーデータを提供し得る。
【0176】
追加的又は代替的な例では、知覚コンポーネント1222は、検出されたオブジェクト(例えば、追跡オブジェクト)及び/又はオブジェクトが配置されている環境に関連付けられた1つ又は複数の特性を示す処理されたセンサーデータを提供し得る。いくつかの例では、オブジェクトに関連付けられた特性は、x位置(グローバル及び/又はローカル位置)、y位置(グローバル及び/又はローカル位置)、z位置(グローバル及び/又はローカル位置)、向き(例えば、ロール、ピッチ、ヨー)、オブジェクトのタイプ(例えば、分類)、オブジェクトの速度、オブジェクトの加速度、オブジェクトの範囲(サイズ)などを含み得るが、これらに限定されない。環境に関連付けられた特性には、環境内の別のオブジェクトの存在、環境内の別のオブジェクトの状態、時間、曜日、季節、天候、暗さ/明るさの表示などが含まれるが、これらに限定されない。
【0177】
予測コンポーネント1252は、環境内の1つ又は複数のオブジェクトの可能な位置の予測確率を表す1つ又は複数の確率マップを生成し得る。例えば、予測コンポーネント1252は、車両1202から閾値距離内にある車両、歩行者、動物などに対する1つ又は複数の確率マップを生成し得る。いくつかの例では、予測コンポーネント1252は、オブジェクトの追跡を測定し、観察及び予測された挙動に基づいて、離散化予測確率マップ、ヒートマップ、確率分布、離散化確率分布、及び/又はオブジェクトの軌道を生成してもよい。いくつかの例では、1つ又は複数の確率マップは、環境内の1つ又は複数のオブジェクトの意図を表し得る。
【0178】
一般に、計画コンポーネント1224は、環境を横断するために車両1202が従うべき経路を決定し得る。例えば、計画コンポーネント1224は、様々な経路及び軌道、並びに様々な詳細のレベルを決定し得る。例えば、計画コンポーネント1224は、第1の場所(例えば、現在の場所)から第2の場所(例えば、目標となる場所)まで移動する経路を決定し得る。この議論の目的のために、経路は、2つの場所間を移動するためのウェイポイントのシーケンスを含み得る。非限定的な例として、ウェイポイントは、通り、交差点、全地球測位システム(GPS)座標などを含む。さらに、計画コンポーネント1224は、第1の場所から第2の場所までの経路の少なくとも一部に沿って車両1202を誘導するための指令を生成してもよい。少なくとも一例では、計画コンポーネント1224は、ウェイポイントのシーケンスにおける第1のウェイポイントからウェイポイントのシーケンスにおける第2のウェイポイントへ車両1202を誘導する方法を決定してもよい。いくつかの例では、指令は軌道、又は軌道の一部であってもよい。いくつかの例では、複数の軌道が、Receding Horizon手法に従って実質的に同時に(例えば、技術的許容範囲内で)生成されてもよく、複数の軌道のうちの1つが、車両1202がナビゲートするために選択され得る。
【0179】
いくつかの例では、計画コンポーネント1224は、環境内のオブジェクトの予測軌道を生成するために予測コンポーネント1252と通信可能に結合され得る。例えば、予測コンポーネント1252は、車両1202から閾値距離内にあるオブジェクトの1つ又は複数の予測軌道を生成してもよい。いくつかの例では、予測コンポーネント1252は、オブジェクトの追跡を測定し、観察及び予測された挙動に基づいてオブジェクトの軌道を生成してもよい。
【0180】
少なくとも1つの例では、車両コンピューティングデバイス1204は、1つ又は複数のシステムコントローラ1226を含み得、これらは、車両1202のステアリング、推進、ブレーキ、安全、エミッタ、通信、及び他のシステムを制御するように構成され得る。システムコントローラ1226は、駆動システム1214及び/又は車両1202の他のコンポーネントの対応するシステムと通信及び/又は制御し得る。
【0181】
メモリ1218は、環境内をナビゲートするために車両1202によって使用され得る1つ又は複数のマップ1228をさらに含み得る。この議論の目的のために、マップは、トポロジー(交差点など)、道路、山脈、道路、地形、及び環境全般などの環境に関する情報を提供することが可能な、2次元、3次元、又はN次元でモデル化された任意の数のデータ構造であり得る。いくつかの例では、マップは、テクスチャ情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)など)、強度情報(例えば、LIDRA情報、RADAR情報など)、空間情報(例えば、メッシュに投影された画像データ、個々の「サーフェル」(例えば、個々の色及び/又は強度に関連付けられたポリゴン))、反射率情報(例えば、鏡面反射率情報、再帰反射率情報、BRDF情報、BSSRDF情報など)を含み得るが、これらに限定されない。一例では、マップは、環境の3次元メッシュを含み得る。いくつかの例では、車両1202は、マップ1228に少なくとも部分的に基づいて制御され得る。すなわち、マップ1228は、定位コンポーネント1220、知覚コンポーネント1222、及び/又は計画コンポーネント1224と関連し、車両1202の位置を決定し、環境内のオブジェクトを検出し、及び/又は環境内を移動する経路及び/又は軌道を生成するために使用され得る。さらに、いくつかの例では、マップ1228は、ステアリング角、速度、加速度、駆動方向、駆動ギア、及び/又は重力加速度に基づくなど、計画された軌道に対する車両の位置及び/又は向きを決定するために、追跡コンポーネントと関連して使用されてもよい。
【0182】
いくつかの例では、1つ又は複数のマップ1228は、ネットワーク1236を介してアクセス可能なコンピューティングデバイス(コンピューティングデバイス1234など)に格納され得る。いくつかの例では、複数のマップ1228は、例えば、特性(例えば、エンティティのタイプ、時間、曜日、季節など)に基づいて格納されてもよい。複数のマップ1228を格納することは、同様のメモリ要件を有し得、マップ内のデータがアクセスされ得る速度を増加させ得る。
【0183】
図7に示されるように、メモリ1218は、ログデータ1230を格納し得る。ログデータ1230は、定位コンポーネント1220、知覚コンポーネント1222、計画コンポーネント1224、コントローラ1226、及び/又はそれらの様々なサブコンポーネントの出力の各々によって入力及び/又は出力されたデータを表し得る。少なくとも1つの例において、ログデータ1230は、センサーシステム1206によって取り込まれ、車両コンピューティングデバイス1204のコンポーネントの1つ又は複数に提供されるセンサーデータを含み得る。
【0184】
理解できるように、本明細書で述べられるコンポーネント(例えば、定位コンポーネント1220、知覚コンポーネント1222、計画コンポーネント1224、1つ又は複数のシステムコントローラ1226、及び1つ又は複数のマップ1228は、例示の目的で分割されたものとして説明される。しかしながら、様々なコンポーネントによって実行される動作は、組み合わされてもよく、他の任意のコンポーネントにおいて実行されてもよい。例えば、例示的な例では、上述のような追跡コンポーネントの機能は、計画コンポーネント1224によって実行されてもよい。しかしながら、他の例では、追跡器コンポーネントは、計画コンポーネント1224から独立した別個のコンポーネントを含んでもよい。
【0185】
いくつかの例において、本明細書で議論されるコンポーネントのいくつか又はすべての態様は、任意のモデル、手法、及び/又は機械学習手法を含み得る。例えば、いくつかの例において、メモリ1218(及び後述するメモリ1232)内のコンポーネントは、ニューラルネットワークとして実装されてもよい。
【0186】
少なくとも1つの例では、センサーシステム1206は、LIDARセンサー、RADARセンサー、超音波トランスデューサ、ソナーセンサ、位置センサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、カメラ(RGB、IR、強度、深度、飛行時間など)、マイク、ホイールエンコーダ、環境センサー(温度センサー、湿度センサー、光センサー、圧力センサーなど)などを含み得る。センサーシステム1206は、これら又は他のタイプのセンサーのそれぞれの多様なインスタンスを含み得る。例えば、LIDARセンサーは、車両1202の角部、前面、背面、側面、及び/又は上面に配置された個々のLIDARセンサーを含み得る。別の例として、カメラセンサーは、車両1202の外部及び/又は内部に関する様々な位置に配置された多様なカメラを含み得る。センサーシステム1206は、車両コンピューティングデバイス1204に入力を提供し得る。追加的又は代替的に、センサーシステム1206は、1つ又は複数のネットワーク1236を介して、センサーデータを、特定の頻度で、所定の期間の経過後に、ほぼリアルタイムで、1つ又は複数のコンピューティングデバイス1234に送信し得る。
【0187】
車両1202はまた、上述したように、光及び/又は音を放出するための1つ又は複数のエミッタ1208を含み得る。本例におけるエミッタ1208は、車両1202の乗客と通信するための内部音声及び映像エミッタを含む。限定ではなく例として、内部エミッタは、スピーカ、ライト、標識、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(例えば、振動及び/又はフォースフィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナ、シートポジショナ、ヘッドレストポジショナなど)などを含み得る。本例におけるエミッタ1208は、外部エミッタも含む。限定ではなく例として、本例における外部エミッタは、進行方向を知らせるためのライト、又は車両の動作の他のインジケータ(例えば、インジケータライト、標識、ライトアレイなど)、及び歩行者又は他の近くの車両と聴覚的に通信するための1つ又は複数の音声エミッタ(例えば、スピーカ、スピーカアレイ、ホーンなど)を含み、そのうちの1つ又は複数のエミッタは音響ビームステアリング技術を含む。
【0188】
車両1202はまた、車両1202と1つ又は複数の他のローカル又はリモートのコンピューティングデバイスとの間の通信を可能にする1つ又は複数の通信接続部1210を含むことができる。例えば、通信接続部1210は、車両1202及び/又は駆動システム1214上の他のローカルコンピューティングデバイスとの通信を容易にし得る。また、通信接続部1210は、車両が、センサーデータを受信するために、他の近くのコンピューティングデバイス(例えば、コンピューティングデバイス1234、他の近くの車両など)及び/又は1つ又は複数の遠隔センサーシステムと通信することを可能にし得る。
【0189】
通信接続部1210は、車両コンピューティングデバイス1204を別のコンピューティングデバイス又はネットワーク1236などのネットワークに接続するための物理的及び/又は論理的インターフェースを含み得る。例えば、通信接続部1210は、IEEE 802.11規格によって定義される周波数を介するようなWi-Fiベースの通信、Bluetoothのような近距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)、又はそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースすることを可能にする任意の適切な有線又は無線通信プロトコルを可能にし得る。
【0190】
少なくとも1つの例では、車両1202は1つ又は複数の駆動システム1214を含み得る。いくつかの例では、車両1202は単一の駆動システム1214を有し得る。少なくとも1つの例では、車両1202が複数の駆動システム1214を有する場合、個々の駆動システム1214は、車両1202の対向する端部(例えば、前部と後部など)に配置されてもよい。少なくとも1つの例では、駆動システム1214は、駆動システム1214及び/又は車両1202の周囲の状態を検出するための1つ又は複数のセンサーシステムを含み得る。限定ではなく例として、センサーシステムは、駆動システムの車輪の回転を感知するための1つ又は複数のホイールエンコーダ(例えば、ロータリーエンコーダ)、駆動システムに関連付けられた方位及び加速度を測定するための慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラ又は他の画像センサー、駆動システムの周囲の対象物を音響的にイメージングするための超音波センサー、LIDARセンサー、RADARセンサーなどを含み得る。ホイールエンコーダのようないくつかのセンサーは、駆動システム1214に固有であってもよい。場合によっては、駆動システム1214上のセンサーシステムは、車両1202の対応するシステム(例えば、センサーシステム1206)と重複したり、補足したりしてもよい。
【0191】
駆動システム1214は、高電圧バッテリ、車両を推進するモータ、バッテリからの直流電流を他の車両システムで使用するための交流電流に変換するインバータ、ステアリングモータ及びステアリングラック(電気式であり得る)を含むステアリングシステム、油圧又は電気アクチュエータを含むブレーキシステム、油圧及び/又は空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を緩和し、制御を維持するためにブレーキ力を分配するための安定性制御システム、HVACシステム、照明(例えば、車両の外部周囲を照らすヘッド/テールライトなどの照明)、及び1つ又は複数のその他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバータ、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのその他の電気コンポーネント)を含み得る。さらに、駆動システム1214は、センサーシステムからデータを受信して前処理し、様々な車両システムの動作を制御する駆動システムコントローラを含み得る。いくつかの例では、駆動システムコントローラは、1つ又は複数のプロセッサと、1つ又は複数のプロセッサと通信可能に結合されたメモリとを含み得る。メモリは、駆動システム1214の様々な機能を実行するための1つ又は複数のモジュールを格納し得る。さらに、駆動システム1214は、それぞれの駆動システムによる1つ又は複数の他のローカル又は遠隔のコンピューティングデバイスとの通信を可能にする1つ又は複数の通信接続部を含み得る。
【0192】
少なくとも1つの例では、直接接続部1212は、1つ又は複数の駆動システム1214を車両1202のボディと結合するための物理的インターフェースを提供し得る。例えば、直接接続部1212は、駆動システム1214と車両1202との間のエネルギー、流体、空気、データなどの伝達を可能にし得る。いくつかの例では、直接接続部1212は、駆動システム1214を車両1202の車体に解放可能にさらに固定され得る。
【0193】
少なくとも1つの例では、定位コンポーネント1220、知覚コンポーネント1222、計画コンポーネント1224、及び/又は1つ又は複数のシステムコントローラ1226、及び/又はそれらの様々なコンポーネントは、上述したように、センサーデータを処理し、それぞれの出力をログデータ1230として、1つ又は複数のネットワーク1236を介して、コンピューティングデバイス1234に送信し得る。少なくとも1つの例では、車両コンピューティングデバイス1204は、特定の頻度で、所定の期間の経過後に、ほぼリアルタイムでなど、ログデータ1230をコンピューティングデバイス1234に送信し得る。
【0194】
いくつかの例では、車両1202は、センサーデータを、ネットワーク1236を介してコンピューティングデバイス1234に送信し得る。いくつかの例では、車両1202は、ネットワーク1236を介してコンピューティングデバイス1234からセンサーデータを受信し得る。センサーデータは、生のセンサーデータ及び/又は処理されたセンサーデータ及び/又はセンサーデータの表現を含み得る。いくつかの例において、センサーデータ(生又は処理された)は、1つ又は複数のログファイルとして送信及び/又は受信され得る。
【0195】
コンピューティングデバイス1234は、プロセッサ1238と、オブジェクト特徴コンポーネント1240、環境特徴コンポーネント1242、分布コンポーネント1244、サンプリングコンポーネント1246、及び/又はモデリングコンポーネント1248を格納するメモリ1232とを含み得る。
【0196】
オブジェクト特徴コンポーネント1240は、環境を表すセンサーデータに基づいて、環境内のオブジェクトに関連付けられた特徴を決定するように構成され得る。いくつかの例では、オブジェクト特徴コンポーネント1240は、環境内のオブジェクトの状態を表すデータを決定するように構成され得る。いくつかの例では、状態は、オブジェクトの姿勢、オブジェクトの位置、オブジェクトの加速度、オブジェクトの速度、オブジェクトのサイズ、オブジェクトのタイプ、オブジェクトの照明状態などを含み得るが、これらに限定されない。追加的又は代替的に、オブジェクト特徴コンポーネント1240は、オブジェクトの状態を表すデータを機械学習(ML)モデルで処理することによって、オブジェクトに関連付けられた特徴を決定するように構成され得る。例えば、オブジェクトの状態を表すデータは、MLモデルに入力され、オブジェクトに関連付けられた特徴を含む出力データを決定するように処理され得る。いくつかの例では、MLモデルは、リカレントニューラルネットワーク(RNN)として構成されてもよい。いくつかの例では、出力データは、多次元データとして構成されてもよく、オブジェクトに関連付けられた特徴の数に対応する任意の数のチャネルを含んでもよい。例えば、特徴は、特徴ベクトルとしてエンコードされたベクトル化オブジェクト要素を含む特徴ベクトルとして構成されてもよい。
【0197】
環境特徴コンポーネント1242は、環境内のオブジェクトの位置に対応する環境に関連付けられた特徴を決定するように構成され得る。いくつかの例では、環境特徴コンポーネント1242は、環境の視野を表すデータを決定するように構成されてもよい。いくつかの例では、データは、平面図又はトップダウンビューで表されてもよい。他の例では、データは立面図又は側面図で表されてもよい。環境の視野を表すデータは、環境を表すセンサーデータ及び/又は環境に関連付けられ、マップデータサーバーから受信されたマップデータを使用して決定され得る。いくつかの例では、環境の視野は、道路、車線、縁石、路肩、横断歩道、建物、樹木、中央分離帯、道路標識、交通信号、速度制限などを含むがこれらに限定されない、環境内の様々な要素を表し得る。追加的又は代替的に、環境特徴コンポーネント1242は、環境の視野を表すデータをMLモデルで処理することによって、環境に関連付けられた特徴を決定し得る。例えば、環境の視野を表すデータは、MLモデルに入力され、環境に関連付けられた特徴を含む出力データを決定するために処理され得る。MLモデルは、RNN又は畳み込みニューラルネットワーク(CNN)として構成されてもよい。いくつかの例では、出力データは、多次元データとして構成されてもよく、環境内のオブジェクトの位置における環境に関連付けられた特徴の数に対応する任意の数のチャネルを含んでもよい。例えば、特徴は、特徴ベクトルとしてエンコードされたベクトル化環境要素を含む特徴ベクトルとして構成されてもよい。
【0198】
分布コンポーネント1244は、GNNのノードを接続するノード及び/又はエッジ特徴をデコードして、環境における将来のタイムホライズンでのオブジェクトの予測位置の分布を決定するように構成され得る。追加的又は代替的に、分布コンポーネント1244は、予測された位置の分布を評価して、基準を満たす予測された位置のサブセットを決定し、予測された位置のより効率的なサンプリング(例えば、不可能な現実世界のシナリオを除去する、オブジェクトが特定の態様で動作するように影響を与えるなど)を可能にするように構成され得る。いくつかの例では、基準は、オブジェクトのタイプ、オブジェクトの特性、マップデータ、入力データなどに基づき得る。
【0199】
サンプリングコンポーネント1246は、様々なサンプリング手法を使用して、予測位置の分布をサンプリングし、将来のタイムホライズンにおける環境内のオブジェクトの予測位置を決定するように構成され得る。様々なサンプリング手法には、ガウスサンプリング(例えば、ガウス分布に基づくサンプリングパターンに従う)、最尤サンプリング(例えば、分布の最小値、最大値、又は平均値などの平均をとる)、又は上書きサンプリング(例えば、分布に含まれても含まなくてもよいオブジェクトの特定の位置を選択する)が含まれるが、これらに限定されない。サンプリングコンポーネント1246は、グラフノードの分類タイプ(例えば、グラフノードが自律車両、オブジェクト、特定のタイプのオブジェクトなどに関連付けられるか)、予測位置分布の予測位置(例えば、予測位置が予め定義された領域内にあるかどうか)、予測位置分布の分布タイプ、予測位置分布に関連付けられる入力(例えば、オブジェクトに関連付けられる基準軌道)などに基づいて、サンプリング手法を決定するように構成され得る。サンプリングコンポーネント1246は、同じタイムホライズンで2つの異なるオブジェクトの分布をサンプリングするため、及び/又は異なるタイムホライズンで1つのオブジェクトの分布をサンプリングするために、異なるサンプリング手法を採用するように構成されてもよい。
【0200】
モデリングコンポーネント1248は、環境内のオブジェクトを表すノード及びノードを接続するエッジを含むグラフ構造及び/又はグラフニューラルネットワーク(GNN)を決定するように構成され得る。いくつかの例では、モデリングコンポーネントは、GNNを更新及び/又はインスタンス動作を実行するように構成され得る。追加的又は代替的に、モデリングコンポーネント1248は、オブジェクトに関連付けられた特徴及び/又は環境内のオブジェクトの位置における環境に関連付けられた特徴をGNNのノードにエンコードするように構成され得る。追加的又は代替的に、モデリングコンポーネント1248は、オブジェクトの相対的特徴をGNNのエッジにエンコードするように構成されてもよい。
【0201】
様々な例において、コンピューティングデバイス1234は、1つ又は複数のインターフェース1250を介するなどして、1つ又は複数の入出力(I/O)機器を含み得る。インターフェース1250は、I/Oインターフェース及び/又はネットワークインターフェースを含み得る。I/Oインターフェースは、スピーカ、マイク、カメラ、及び様々なユーザーコントローラ(例えば、ボタン、ジョイスティック、キーボード、キーパッドなど)、触覚出力デバイスなどを含み得る。ネットワークインターフェースは、ネットワークを介して又は直接、他の様々な機器との通信を可能にするための1つ又は複数のインターフェース及びハードウェアコンポーネントを含み得る。例えば、ネットワークインターフェースは、インターネット、ケーブルネットワーク、セルラーネットワーク、ワイヤレスネットワーク(例えば、Wi-Fi)、及び有線ネットワークの1つ又は複数を介した通信、ならびに本明細書の他の箇所で追加的に列挙するように、Bluetooth(登録商標)、Bluetooth(登録商標) low energyなどの近距離通信を可能にし得る。
【0202】
いくつかの例では、ユーザーは、1つ又は複数のインターフェース1250を介してデータを入力し、及び/又は結果を見るなど、サンプリングコンポーネント1246に関連付けられたユーザーインターフェースを見得る。そのような例では、インターフェース1250は、1つ又は複数のディスプレイを含み得る。ユーザーコンピューティングデバイス、サーバーコンピューティングデバイスなどのコンピューティングデバイスのタイプに応じて、ディスプレイは、任意の適切なディスプレイ技術を採用してよい。例えば、ディスプレイは、液晶ディスプレイ、プラズマディスプレイ、発光ダイオードディスプレイ、OLED(有機ELダイオード)ディスプレイ、電子ペーパーディスプレイ、又はその上にデジタルコンテンツを提示することができる任意の他の適切なタイプのディスプレイであり得る。いくつかの例では、ディスプレイは、ディスプレイ上に提示されたグラフィカルユーザインタフェースとの対話を可能にするためのタッチ入力を受信するように構成されたタッチスクリーンディスプレイを提供するために、ディスプレイに関連付けられたタッチセンサを有してもよい。したがって、本明細書の例は、特定のディスプレイ技術に限定されるものではない。
【0203】
車両1202のプロセッサ1216及びコンピューティングデバイス1234のプロセッサ1238は、本明細書で述べられるように、データを処理し動作を実行するための指令を実行することができる任意の適切なプロセッサであり得る。限定ではなく例として、プロセッサ1216及び1238は、1つ又は複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、又は電子データを処理して、その電子データをレジスタ及び/又はメモリに格納され得る他の電子データに変換する任意の他の装置又は装置の一部を含み得る。いくつかの例では、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、及び他のハードウェアデバイスも、それらがエンコードされた指令を実装するように構成される限り、プロセッサと見なされ得る。
【0204】
メモリ1218及び1232は、非一時的コンピュータ可読媒体の例である。メモリ1218及び1232は、本明細書で述べられる方法及び様々なシステムに帰属する機能を実装するために、動作システム及び1つ又は複数のソフトウェアアプリケーション、指令、プログラム、及び/又はデータを格納し得る。様々な実装において、メモリは、静的ランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュ型メモリ、又は情報を格納できる任意の他のタイプのメモリのような、任意の適切なメモリ技術を使用して実装されてもよい。本明細書で述べられるアーキテクチャ、システム、及び個々の要素は、他の多くの論理的、プログラム的、及び物理的コンポーネントを含み得るが、添付の図に示されるものは、本明細書の議論に関連する単なる例である。
【0205】
いくつかの例において、本明細書で議論されるコンポーネントのいくつか又はすべての態様は、任意のモデル、アルゴリズム、及び/又は機械学習アルゴリズムを含み得る。例えば、いくつかの例において、メモリ1218及び1232内のコンポーネントは、ニューラルネットワークとして実装され得る。
【0206】
本明細書に述べられるように、例示的なニューラルネットワークは、入力データを一連の接続された層に通して出力を生成するアルゴリズムである。ニューラルネットワークの各層は、別のニューラルネットワークを構成してもよく、又は任意の数の層(畳み込み型であるかどうかにかかわらず)を構成してもよい。本開示のコンテキストで理解され得るように、ニューラルネットワークは、機械学習を利用してよく、これは、学習されたパラメータに基づいて出力が生成される、このようなアルゴリズムの広範なクラスを指し得る。
【0207】
ニューラルネットワークのコンテキストで議論されたが、任意のタイプの機械学習が、本開示と一致して使用され得る。例えば、機械学習又は機械学習アルゴリズムは、回帰アルゴリズム(例えば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応回帰スプライン(MARS)、局所推定散布図平滑化(LOESS))、インスタンスベースアルゴリズム(例えば、リッジ回帰、最小絶対収縮選択演算子(LASSO)、弾性ネット、最小角度回帰(LARS))、決定木アルゴリズム(例えば、分類木(CART),反復2分法3(ID3),カイ2乗自動交互作用検出(CHAID)、決定スタンプ、条件付き決定木)、ベイズアルゴリズム(例えば、ナイーブベイズ、ガウスナイーブベイズ、多項式ナイーブベイズ、平均1依存推定量(AODE)、ベイズ信念ネットワーク(BNN)、ベイズネットワーク)、クラスタリングアルゴリズム(例えば、k-means、k-medians、期待値最大化(EM)、階層的クラスタリング)、アソシエーションルール学習アルゴリズム(例えば、パーセプトロン、バックプロパゲーション、ホップフィールドネットワーク、放射基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例えば、ディープボルツマン機械(DBM)、ディープビリーフネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、スタックドオートエンコーダ)、次元削減アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元尺度構成法(MDS)、プロジェクションパシュート、線形判別分析(LDA)、混合判別分析(MDA)、2次判別分析(QDA)、柔軟判別分析(FDA)、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップ集約(バギング)、AdaBoost、スタックド汎化(ブレンド)、勾配ブースティング機械(GBM)、勾配ブースティング回帰木(GBRT)、ランダムフォレスト)、SVM(サポートベクター機械)、教師あり学習、教師なし学習、半教師あり学習などを含み得るが、これらに限定はされない。
【0208】
アーキテクチャの追加例には、ResNet50、ResNet52、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークが含まれる。
【0209】
(例示項)
A.システムであって、1つ又は複数のプロセッサと、1つ又は複数のプロセッサによって実行されると、1つ又は複数のプロセッサに、環境内の車両に関連するセンサーからセンサーデータを受信することであって、環境は第1のオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、第1の時間における第1のオブジェクトの第1の状態を表す第1のデータを決定することと、第1のデータを第1の機械学習(ML)モデルに入力することに少なくとも部分的に基づいて、第1のMLモデルから第2のデータを受信することであって、第2のデータは第1のオブジェクトに関連付けられた第1の特徴を含むことと、環境に関連付けられたマップデータに少なくとも部分的に基づいて、環境のトップダウンビューを表す第3のデータを決定することと、第3のデータを第2のMLモデルに入力することに少なくとも部分的に基づいて、第2のMLモデルから第4のデータを受信することと、第4のデータは環境に関連付けられた第2の特徴を含み、第2のデータと第4のデータとを、第1のオブジェクトを表すグラフニューラルネットワーク(GNN)の第1のノードに関連付け、車両を表すGNNの第2のノードを決定し、第1のノードと第2のノードとを接続する第1のエッジを決定することであって、第1のオブジェクトの第1の状態は、車両の第2の状態に対して表されることと、GNNに対して第1の推論動作を実行することと、第1の推論動作に少なくとも部分的に基づいて、第1の時間の後の第2の時間における第1のオブジェクトの第1の予測位置を表す第1の出力を決定することと、第1のオブジェクトの第1の予測位置に少なくとも部分的に基づいて、第1のオブジェクトの第1の軌道を決定することと、を含む動作を実行させるコンピュータ実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体と、を含むシステム。
【0210】
B.車両は、環境を横断する自律車両であり、動作は、第1のオブジェクトのための第1の軌道に少なくとも部分的に基づいて自律車両を制御することをさらに含む、A項に記載のシステム。
【0211】
C.動作は、センサーデータに少なくとも部分的に基づいて、環境中の第2のオブジェクトの第3の状態を表す第5のデータを決定することと、第2のMLモデルへの第5のデータの入力に少なくとも部分的に基づいて、第2のオブジェクトに関連付けられた第3の特徴を含む第6のデータを受信することと、第4のデータ及び第6のデータを、第2のオブジェクトを表すGNNの第3のノードに関連付けることと、第1のノードと第3のノードとを接続する第2のエッジを決定することであって、第2のオブジェクトの第3の状態は、第1のオブジェクトの第1の状態に対して表されることと、第2のノードと第3のノードとを接続する第3のエッジを決定することであって、第2のオブジェクトの第3の状態は、車両の第2の状態に対して相対的に表されることと、GNNに対して第2の推論動作を実行することと、第2の推論動作に少なくとも部分的に基づいて、第2の時間における第2のオブジェクトの第2の予測位置を表す第2の出力を決定することと、第1のオブジェクトの第1の予測位置及び第2のオブジェクトの第2の予測位置に少なくとも部分的に基づいて、第1のオブジェクトの第1の軌道及び第2のオブジェクトの第2の軌道を決定することと、さらに含む、A項又はB項に記載のシステム。
【0212】
D.動作は、第4のデータ及び第1のオブジェクトの第1の予測位置に少なくとも部分的に基づいて、第1のオブジェクトを表すGNNの第1のノードを更新することであって、第1のオブジェクトの第1の予測位置は、車両の第2の状態に対して相対的に表されることと、GNNに対して第2の推論動作を実行することと、第2の推論動作に少なくとも部分的に基づいて、第2の時間に続く第3の時間における第1のオブジェクトの第2の予測位置を表す第2の出力を決定することと、第1のオブジェクトの第1の軌道を決定することが、第1のオブジェクトの第1の予測位置と第1のオブジェクトの第2の予測位置とに少なくとも部分的に基づくことと、をさらに含む、A項からC項のいずれか一項に記載のシステム。
【0213】
E.第1のデータは、環境内の第2のオブジェクトの第3の状態を含み、動作は、GNNに少なくとも部分的に基づいて、第2のオブジェクトの第2の予測位置を決定することをさらに含み、第1のオブジェクトの第1の軌道を決定することは、第1のオブジェクトの第1の予測位置及び第2のオブジェクトの第2の予測位置に少なくとも部分的に基づく、A項からD項のいずれか一項に記載のシステム。
【0214】
F.方法であって、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、第1の時間におけるオブジェクトに関連付けられた第1の特徴を決定することと、環境に関連付けられたセンサーデータ又はマップデータに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定すること、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴を表すグラフニューラルネットワーク(GNN)の第1のノードを決定することと、車両を表すGNNの第2のノードを決定することであって、第1のノードと第2のノードとを接続するエッジが、車両又はオブジェクトの少なくとも一方の状態を相対状態として表すことと、GNNに少なくとも部分的に基づいて、第1の時間の後の第2の時間におけるオブジェクトの第1の予測位置を表す第1の出力を決定することと、オブジェクトの第1の予測位置に少なくとも部分的に基づいて、オブジェクトの第1の予測軌道を決定することと、を含む方法。
【0215】
G.車両は環境を横断する自律車両であり、方法はオブジェクトの軌道に少なくとも部分的に基づいて自律車両を制御することをさらに含む、F項に記載の方法。
【0216】
H.GNNに少なくとも部分的に基づいて、第2の時間における車両の第2の予測位置を表す第2の出力を決定することと、車両に関連付けられた計画コンポーネントから、環境を通る車両の基準軌道を受信することと、基準軌道に少なくとも部分的に基づいてGNNの第2のノードを更新することであって、第1のノードと第2のノードを接続するエッジが車両の候補位置を表すことと、オブジェクトの第1の予測位置と車両の候補位置に少なくとも部分的に基づいて、オブジェクトの第1の予測軌道を決定することと、をさらに含む、F項又はG項に記載の方法。
【0217】
I.第1のノードと第2のノードとを接続するエッジが、第1の時間における車両に対するオブジェクトの状態を表し、本方法は、マップデータに少なくとも部分的に基づいて、環境に関連付けられた特徴マップを決定することと、環境におけるオブジェクトの第1の予測位置及び特徴マップに少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を決定することと、第3の特徴に少なくとも部分的に基づいて、GNNの第1のノードを更新することと、GNNに少なくとも部分的に基づいて、第2の時間の後の第3の時間におけるオブジェクトの第2の予測位置を表す第2の出力を決定することと、をさらに含み、オブジェクトの第1の予測軌道を決定することは、オブジェクトの第1の予測位置とオブジェクトの第2の予測位置に少なくとも部分的に基づく、F項からH項のいずれか一項に記載の方法。
【0218】
J.オブジェクトの姿勢、オブジェクトの位置、オブジェクトの加速度、オブジェクトの速度、オブジェクトのサイズ、オブジェクトのタイプ、又はオブジェクトの照明状態のうちの少なくとも1つを表すデータに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴を決定することをさらに含む、F項からI項のいずれか一項に記載の方法。
【0219】
K.データをリカレントニューラルネットワーク(RNN)に入力することに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴を決定することをさらに含む、J項に記載の方法。
【0220】
L.環境内の静的オブジェクト、環境内の動的オブジェクト、環境内の交通標識、環境内の交通信号、環境内の静的オブジェクト又は動的オブジェクトのタイプ、環境内の静的オブジェクト又は動的オブジェクトの照明状態、又は環境内の車線表示のうちの少なくとも1つを表すデータに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することをさらに含む、F項からK項のいずれか一項に記載の方法。
【0221】
M.第1の特徴は、オブジェクトに関連付けられたデータを第1のニューラルネットワークに入力することに少なくとも部分的に基づいて決定され、データは、センサーデータに少なくとも部分的に基づき、第2の特徴は、環境の視野を第1のニューラルネットワークとは異なる第2のニューラルネットワークに入力することに少なくとも部分的に基づいて決定され、環境の視野は、センサーデータに少なくとも部分的に基づいており、第2の特徴は、オブジェクトに対応する環境の一部に関連付けられる、F項からL項のいずれか一項に記載の方法。
【0222】
N.1つ又は複数のプロセッサによって実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体であって、指令が実行されると、1つ又は複数のプロセッサに、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、第1の時間におけるオブジェクトに関連付けられた第1の特徴を決定することと、環境に関連付けられたセンサーデータ又はマップデータに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することと、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴を表すグラフニューラルネットワーク(GNN)の第1のノードを決定することと、車両を表すGNNの第2のノードを決定することであって、第1のノードと第2のノードを接続するエッジが、車両又はオブジェクトの少なくとも一方の状態を相対状態として表すことと、GNNに少なくとも部分的に基づいて、第1の時間の後の第2の時間におけるオブジェクトの第1の予測位置を表す第1の出力を決定することと、オブジェクトの第1の予測位置に少なくとも部分的に基づいて、オブジェクトの第1の予測軌道を決定することと、を含む動作を実行させる、1つ又は複数の非一時的コンピュータ可読媒体。
【0223】
O.車両が環境を横断する自律車両であり、動作が、オブジェクトの軌道に少なくとも部分的に基づいて自律車両を制御することをさらに含む、N項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0224】
P.動作は、GNNに少なくとも部分的に基づいて、第2の時間における車両の第2の予測位置を表す第2の出力を決定することと、車両に関連付けられた計画コンポーネントから、環境を通る車両の基準軌道を受信することと、基準軌道に少なくとも部分的に基づいてGNNの第2のノードを更新することであって、第1のノードと第2のノードとを接続するエッジが車両の候補位置を表すことと、オブジェクトの第1の予測位置と車両の候補位置に少なくとも部分的に基づいて、オブジェクトの第1の予測軌道を決定することと、をさらに含む、N項又はO項に記載の1つ又は複数の非一過性のコンピュータ可読媒体。
【0225】
Q.第1のノードと第2のノードとを接続するエッジが、第1の時間における車両に対するオブジェクトの状態を表し、動作は、マップデータに少なくとも部分的に基づいて、環境に関連付けられた特徴マップを決定することと、環境におけるオブジェクトの第1の予測位置及び特徴マップに少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を決定することと、第3の特徴に少なくとも部分的に基づいて、GNNの第1のノードを更新することと、GNNに少なくとも部分的に基づいて、第2の時間の後の第3の時間におけるオブジェクトの第2の予測位置を表す第2の出力を決定することと、をさらにを含み、オブジェクトの第1の予測軌道を決定することは、オブジェクトの第1の予測位置とオブジェクトの第2の予測位置に少なくとも部分的に基づく、N項からP項のいずれか一項に記載の1つ又は複数の非一過性のコンピュータ可読媒体。
【0226】
R.動作は、オブジェクトの姿勢、オブジェクトの位置、オブジェクトの加速度、オブジェクトの速度、オブジェクトのサイズ、オブジェクトの種類、オブジェクトの照明状態、のうちの少なくとも1つを表すデータに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴を決定することをさらに含む、N項からQ項の1つ又は複数の非一時的コンピュータ可読媒体。
【0227】
S.動作は、環境内の静的オブジェクト、環境内の動的オブジェクト、環境内の交通標識、環境内の信号機、環境内の静的オブジェクト又は動的オブジェクトの種類、環境中の静的オブジェクト又は動的オブジェクトの照明状態、環境内の車線標識、のうちの少なくとも1つを表すデータに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することをさらに含む、N項からR項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0228】
T.動作は、データを畳み込みニューラルネットワーク(CNN)に入力することに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することをさらに含む、S項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0229】
U.システムであって、1つ又は複数のプロセッサと、1つ又は複数のプロセッサによって実行されると、1つ又は複数のプロセッサに、 環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、第1の時間におけるオブジェクトに関連付けられた第1の特徴を決定することと、環境に関連付けられたマップデータに少なくとも部分的に基づいて、環境に関連付けられた領域を表す特徴マップを決定することと、環境におけるオブジェクトの現在位置及び特徴マップに少なくとも部分的に基づいて、第1の時間における環境に関連付けられた第2の特徴を決定することと、第1の特徴及び第2の特徴を表すグラフニューラルネットワーク(GNN)のノードを決定することと、GNNに少なくとも部分的に基づいて、環境の領域外にあるオブジェクトの第1の予測位置を表す第1の出力を決定することと、領域外である第1の予測位置及びマップデータに少なくとも部分的に基づいて、オブジェクトの第2の予測位置を決定することと、第2の予測位置に少なくとも部分的に基づいて車両を制御することと、を含む動作を実行させるコンピュータ実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体と、を含むシステム。
【0230】
V.第1の出力は、オブジェクトの第1の分布データをさらに含み、第1の分布データは、オブジェクトの第1の予測位置を含み、動作は、第1の分布データからのサンプリングに少なくとも部分的に基づいて、第1の予測位置を決定することをさらに含む、U項に記載のシステム。
【0231】
W.動作は、環境におけるオブジェクトの現在位置とマップデータとに少なくとも部分的に基づいて、基準線を決定することをさらに含み、オブジェクトの第2の予測位置を決定することは、第1の予測位置を基準線に投影することに少なくとも部分的に基づく、U又はVのシステム。
【0232】
X.動作は、環境におけるオブジェクトの第2の予測位置が、特徴マップに関連付けられた領域の外側にあることを決定することと、オブジェクトの第2の予測位置が領域の外側であることに少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を決定することであって、第3の特徴はヌル特徴であることと、第3の特徴に少なくとも部分的に基づいて、GNNのノードを更新することと、GNNに少なくとも部分的に基づいて、環境の領域外にあるオブジェクトの第3の予測位置を表す第2の出力を決定することと、第3の予測位置及びマップデータに少なくとも部分的に基づいて、オブジェクトの第4の予測位置を決定し、オブジェクトの第2の予測位置及びオブジェクトの第4の予測位置に少なくとも部分的に基づいて車両を制御することと、さらに含む、U項からW項のいずれか一項に記載のシステム。
【0233】
Y.環境におけるオブジェクトの現在位置とオブジェクトの第1の予測位置との間の第1の距離は、環境におけるオブジェクトの現在位置とオブジェクトの第2の予測位置との間の第2の距離と同じである、U項からX項のいずれか一項に記載のシステム。
【0234】
Z.方法であって、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴を決定することと、環境に関連付けられたマップデータに少なくとも部分的に基づいて、環境の領域を表す特徴マップを決定することと、オブジェクトの現在位置と特徴マップに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することと、第1の特徴と第2の特徴とをグラフ構造のノードに関連付けたことと、グラフ構造に少なくとも部分的に基づいて、環境の領域外にあるオブジェクトの第1の予測位置を表す第1の出力を決定することと、オブジェクトの第1の予測位置とマップデータに少なくとも部分的に基づいて、オブジェクトの第2の予測位置を決定すること、を含む方法。
【0235】
AA.第1の出力は、オブジェクトの第1の分布データをさらに含み、第1の分布データは、オブジェクトの第1の予測位置を含み、本方法は、第1の分布データからのサンプリングに少なくとも部分的に基づいて、オブジェクトの第1の予測位置を決定することをさらに含む、Z項に記載の方法。
【0236】
AB.環境内のオブジェクトの現在位置及びマップデータに少なくとも部分的に基づいて、基準線を決定することをさらに含み、オブジェクトの第2の予測位置を決定することは、第1の予測位置を基準線に投影することに少なくとも部分的に基づく、Z項又はAA項に記載の方法。
【0237】
AC.環境におけるオブジェクトの第2の予測位置が、特徴マップに関連付けられた領域の外側にあることを決定することと、オブジェクトの第2の予測位置が領域の外側であることに少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を決定することであって、第3の特徴はヌル特徴であることと、第3の特徴に少なくとも部分的に基づいて、グラフ構造のノードを更新することと、グラフ構造に少なくとも部分的に基づいて、環境の領域外にあるオブジェクトの第3の予測位置を表す第2の出力を決定することと、第3の予測位置及びマップデータに少なくとも部分的に基づいて、オブジェクトの第4の予測位置を決定することと、オブジェクトの第2の予測位置とオブジェクトの第4の予測位置に少なくとも部分的に基づいて車両をコントローラすることと、をさらに含む、Z項からAB項のいずれか一項に記載の方法。
【0238】
AD.環境内のオブジェクトの現在位置とオブジェクトの第1の予測位置との間の第1の距離が、環境内のオブジェクトの現在位置とオブジェクトの第2の予測位置との間の第2の距離と同じである、Z項からAC項のいずれか一項に記載の方法。
【0239】
AE.オブジェクトの第2の予測位置を決定することが、少なくとも部分的に車両ダイナミクスモデルに基づく、Z項からAD項のいずれか一項に記載の方法。
【0240】
AF.領域は境界のある領域であり、境界のある領域に対応する特徴マップの一部は、環境を通る車両の軌道を計画するために使用される、Z項からAE項のいずれか一項に記載の方法。
【0241】
AG.第1の特徴は、オブジェクトに関連付けられたセンサーデータの一部を第1のニューラルネットワークに入力することに少なくとも部分的に基づいて決定され、特徴マップは、環境の視野を第1のニューラルネットワークとは異なる第2のニューラルネットワークに入力することに少なくとも部分的に基づいて決定され、環境の視野は、センサーデータに少なくとも部分的に基づき、第2の特徴は、オブジェクトに対応する環境の領域の一部に関連付けられる、Z項からAF項のいずれか一項に記載の方法。
【0242】
AH.1つ又は複数のプロセッサによって実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体であって、指令が実行されると、1つ又は複数のプロセッサに、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、該環境はオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴を決定することと、環境に関連付けられたマップデータに少なくとも部分的に基づいて、環境の領域を表す特徴マップを決定することと、オブジェクトの現在位置と特徴マップに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することと、第1の特徴と第2の特徴とをグラフ構造のノードに関連付けたことと、グラフ構造に少なくとも部分的に基づいて、環境の領域の外側にあるオブジェクトの第1の予測位置を表す第1の出力を決定することと、オブジェクトの第1の予測位置とマップデータに少なくとも部分的に基づいて、オブジェクトの第2の予測位置を決定することと、を含む動作を実行させる、非一時的コンピュータ可読媒体。
【0243】
AI.第1の出力は、オブジェクトの第1の分布データをさらに含み、第1の分布データは、オブジェクトの第1の予測位置を含み、動作は、第1の分布データからのサンプリングに少なくとも部分的に基づいて、オブジェクトの第1の予測位置を決定することをさらに含む、AH項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0244】
AJ.動作は、環境内のオブジェクトの現在位置及びマップデータに少なくとも部分的に基づいて、基準線を決定することをさらに含み、オブジェクトの第2の予測位置を決定することは、第1の予測位置を基準線に投影することに少なくとも部分的に基づく、AH項又はAI項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0245】
AK.動作は、環境におけるオブジェクトの第2の予測位置が、特徴マップに関連付けられた領域の外側にあることを決定することと、 オブジェクトの第2の予測位置が領域の外側にあることに少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を決定することであって、第3の特徴はヌル特徴であることと、第3の特徴に少なくとも部分的に基づいて、グラフ構造のノードを更新することと、グラフ構造に少なくとも部分的に基づいて、環境の領域の外側にあるオブジェクトの第3の予測位置を表す第2の出力を決定することと、第3の予測位置及びマップデータに少なくとも部分的に基づいて、オブジェクトの第4の予測位置を決定することと、オブジェクトの第2の予測位置とオブジェクトの第4の予測位置に少なくとも部分的に基づいて車両を制御することすることと、を含む、AH項からAJ項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0246】
AL.環境内のオブジェクトの現在位置とオブジェクトの第1の予測位置との間の第1の距離は、環境内のオブジェクトの現在位置とオブジェクトの第2の予測位置との間の第2の距離と同じである、AH項からAK項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0247】
AM.オブジェクトの第2の予測位置を決定することが、少なくとも部分的に車両ダイナミクスモデルに基づく、AH項からAL項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0248】
AN.領域は境界のある領域であり、境界のある領域に対応する特徴マップの一部は、環境を通る車両の軌道を計画するために使用される、AH項からAM項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0249】
AO.システムであって、1つ又は複数のプロセッサと、1つ又は複数のプロセッサによって実行されると、1つ又は複数のプロセッサに、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、オブジェクト又は車両の一方に関連する第1の特徴を決定することと、環境に関連付けられたマップデータに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することと、第1の特徴及び第2の特徴に基づいて、グラフニューラルネットワーク(GNN)のグラフノードを決定することと、GNNの推論に少なくとも部分的に基づいて、ノードに関連付けられた分布データを表す第1の出力を決定することであって、分布データは、環境におけるオブジェクト又は車両の予測位置を含むことと、グラフノードの分類タイプ、分布データの予測位置、分布データの分布タイプ、又は分布データに関連付けられた入力のうちの少なくとも1つに少なくとも部分的に基づいて、分布データをサンプリングためのサンプリング手法を決定することと、サンプリング手法に少なくとも部分的に基づいてオブジェクト又は車両の第1の予測位置を決定することと、第1の予測位置に少なくとも部分的に基づいて車両を制御することと、を含む動作を実行させる、コンピュータ実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体とを含むシステム。
【0250】
AP.動作は、グラフノードの分類タイプが、グラフノードがオブジェクトに関連付けられたことを示すと決定することであって、サンプリング手法が第1のサンプリング手法を含むこと、又は、グラフノードの分類タイプが、グラフノードが車両に関連付けられたことを示すと決定することであって、サンプリング手法が第1のサンプリング手法とは異なる第2のサンプリング手法を含むこと、のうちの1つをさらに含む、AO項に記載のシステム。
【0251】
AQ.動作は、車両の軌道を計画するために使用される環境の境界領域を決定することと、分布データに少なくとも部分的に基づいて、分布データの予測位置が境界領域の外側にあることを決定することと、分布データの予測位置が境界領域の外側にあることに少なくとも部分的に基づいて、サンプリング手法を決定することと、サンプリング手法及び環境に関連付けられたマップデータに少なくとも部分的に基づいて、オブジェクトの第1の予測位置を決定すること、をさらに含む、AO項又はAP項に記載のシステム。
【0252】
AR.動作は、第1の動作であって、分布データの分布タイプが第1の分布タイプであることを決定することと、サンプリング手法を使用して分布データをサンプリングしたことに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することであって、サンプリング手法がガウスサンプリング手法を含むことを含む該第1の動作、又は、第2の動作であって、分布データの分布タイプが第2の分布タイプであることを決定することと、サンプリング手法を用いた分布データのサンプリングに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することであって、第1の予測位置は、分布データの予測位置の平均であることを含む該第2の動作、のうちの1つをさらに含む、AO項からAQ項のいずれか一項に記載のシステム。
【0253】
AS.車両が自律車両であり、動作が、自律車両の計画コンポーネントから、入力を受信することをさらに含み、オブジェクト又は車両の第1の予測位置が、入力データに少なくとも部分的に基づいている、AO項からAR項のいずれか一項に記載のシステム。
【0254】
AT.方法であって、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、オブジェクト又は車両の一方に関連付けられた第1の特徴と、環境に関連付けられた第2の特徴とを、グラフ構造のノードに関連付けることと、グラフ構造に少なくとも部分的に基づいて、ノードに関連付けられた分布データを表す第1の出力を決定することであって、分布データは、環境におけるオブジェクト又は車両の予測位置を含むことと、ノードの分類タイプ、分布データの予測位置、分布データの分布タイプ、又は分布データに関連付けられた入力のうちの少なくとも1つに少なくとも部分的に基づいて、分布データをサンプリングするためのサンプリング手法を決定することと、サンプリング手法に少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することと、第1の予測位置に少なくとも部分的に基づいて、オブジェクト又は車両の予測軌道を決定することと、を含む方法。
【0255】
AU.ノードの分類タイプが、ノードがオブジェクトに関連付けられたことを示すと決定することであって、サンプリング手法が第1のサンプリング手法を含むこと、又は、ノードの分類タイプが、ノードが車両に関連付けられたことを示すと決定することであって、サンプリング手法が、第1のサンプリング手法とは異なる第2のサンプリング手法を含むこと、のうちの1つをさらに含む、AT項に記載の方法。
【0256】
AV.車両の軌道を計画するために使用される環境の境界領域を決定することと、分布データに少なくとも部分的に基づいて、分布データの予測位置が境界領域の外側にあることを決定することと、分布データの予測位置が境界領域の外側にあることに少なくとも部分的に基づいて、サンプリング手法を決定することと、サンプリング手法及び環境に関連付けられたマップデータに少なくとも部分的に基づいて、オブジェクトの第1の予測位置を決定すること、をさらに含む、AT項又はAU項に記載の方法。
【0257】
AW.第1の動作であって、分布データの分布タイプが第1の分布タイプであることを決定することと、サンプリング手法を使用して分布データをサンプリングしたことに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することであって、サンプリング手法はガウスサンプリング手法を含むことを含む該第1の動作、又は、第2の動作であって、分布データの分布タイプが第2の分布タイプであることを決定することと、サンプリング手法を用いた分布データのサンプリングに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することであって、第1の予測位置は、分布データの予測位置の平均であること、のうちの1つをさらに含む、AT項からAV項のいずれか一項に記載の方法。
【0258】
AX.車両が自律車両であり、方法は、自律車両の計画コンポーネントから、入力を受信することをさらに含み、オブジェクト又は車両の第1の予測位置が、入力データに少なくとも部分的に基づく、AT項からAW項のいずれか一項に記載の方法。
【0259】
AY.入力を受信することであって、入力データが、予測位置とは異なる、環境におけるオブジェクト又は車両の候補位置を示すことと、選択された位置に基づいて、オブジェクト又は車両の予測軌道を決定することと、をさらに含む、AT項からAX項のいずれか一項に記載の方法。
【0260】
AZ.サンプリング手法は第1のサンプリング手法であり、第1の予測位置が第1の時間に関連付けられ、本方法は、オブジェクト又は車両の第1の予測位置に少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を有するノードを更新することと、グラフ構造に少なくとも部分的に基づいて、ノードに関連付けられた分布データを表す第2の出力を決定することであって、分布データは、第1の時間の後の第2の時間における環境内のオブジェクト又は車両の予測位置を含むことと、分布データをサンプリングするための第2のサンプリング手法を決定することであって、第2のサンプリング手法は、第1のサンプリング手法とは異なることと、第2のサンプリング手法に少なくとも部分的に基づいて、第2の時間におけるオブジェクト又は車両の環境における第2の予測位置を決定することと、第1の予測位置及び第2の予測位置に少なくとも部分的に基づいて、予測軌道を決定することと、をさらに含む、AT項からAY項のいずれか一項に記載の方法。
【0261】
BA.オブジェクトが第1のオブジェクトであり、ノードが第1のオブジェクトに関連付けられた第1のノードであり、分布データが第1の時間に第1のノードに関連付けられた第1の分布データであり、サンプリング手法が第1のサンプリング手法であり、本方法は、車両又は環境内の第2のオブジェクトに関連付けられた第3の特徴、及び環境に関連付けられた第2の特徴を、グラフ構造の第2のノードに関連付けることと、グラフ構造に少なくとも部分的に基づいて、第2のノードに関連付けられた第2の分布データを表す第2の出力を決定することであって、第2の分布データは、第1の時間における環境内の車両又は第2のオブジェクトの第2の予測位置を含むことと、第1のノードの分類タイプに少なくとも部分的に基づいて、第1の分布データのサンプリングに対する第1のサンプリング手法を決定することと、第2のノードの第1の分類タイプに少なくとも部分的に基づいて第2の分布データをサンプリングするための第2のサンプリング手法を決定することであって、第2のサンプリング手法は第1のサンプリング手法とは異なることと、第2のサンプリング手法に少なくとも部分的に基づいて、第1の時間における車両又は第2のオブジェクトの第2の予測位置を決定することと、第1の予測位置又は第2の予測位置に少なくとも部分的に基づいて、第1のオブジェクト又は車両の予測軌道を決定することと、をさらに含む、AT項からAZ項のいずれか一項に記載の方法。
【0262】
BB.1つ又は複数のプロセッサによって実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体であって、指令が実行されると、1つ又は複数のプロセッサに、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、オブジェクト又は車両の一方に関連付けられた第1の特徴及び環境に関連付けられた第2の特徴をグラフ構造のノードに関連付けることと、グラフ構造に少なくとも部分的に基づいて、ノードに関連付けられた分布データを表す第1の出力を決定することであって、分布データは、環境におけるオブジェクト又は車両の予測位置を含むことと、ノードの分類タイプ、分布データの予測位置、分布データの分布タイプ、又は分布データに関連付けられた入力のうちの少なくとも1つに少なくとも部分的に基づいて、分布データをサンプリングされるためのサンプリング手法を決定することと、サンプリング手法に少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することと、第1の予測位置に少なくとも部分的に基づいて、オブジェクト又は車両の予測軌道を決定することと、を含む動作を実行させる、非一時的コンピュータ可読媒体。
【0263】
BC.動作は、ノードの分類タイプが、ノードがオブジェクトに関連付けられたことを示すと決定することであって、サンプリング手法が第1のサンプリング手法を含むこと、又は、ノードの分類タイプが、ノードが車両に関連付けられたことを示すと決定することであって、サンプリング手法が、第1のサンプリング手法とは異なる第2のサンプリング手法を含むこと、のうちの1つをさらに含む、BB項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0264】
BD.動作は、車両の軌道を計画するために使用される環境の境界領域を決定することと、分布データに少なくとも部分的に基づいて、分布データの予測位置が境界領域の外側にあることを決定することと、分布データの予測位置が境界領域の外側にあることに少なくとも部分的に基づいて、サンプリング手法を決定することと、サンプリング手法及び環境に関連付けられたマップデータに少なくとも部分的に基づいて、オブジェクトの第1の予測位置を決定することと、をさらに含む、BB項又はBC項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0265】
BE.動作は、第1の動作であって、分配データの分配タイプが第1の分配タイプであることを決定することと、サンプリング手法を使用して分布データをサンプリングしたことに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することであって、サンプリング手法がガウスサンプリング手法を含むこと、を含む該第1の動作、又は、第2の動作であって、分布データの分布タイプが第2の分布タイプであることを決定することと、サンプリング手法を用いた分布データのサンプリングに少なくとも部分的に基づいて、オブジェクト又は車両の第1の予測位置を決定することであって、第1の予測位置は、分布データの予測位置の平均であることを含む該第2の動作、のうちの1つをさらに含む、BB項からBD項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0266】
BF.車両が自律車両であり、動作は、自律車両の計画コンポーネントから、入力を受信することをさらに含み、オブジェクト又は車両の第1の予測位置が、入力データに少なくとも部分的に基づく、BB項からBE項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0267】
BG.動作は、入力を受信することであって、入力データは、予測位置とは異なる、環境におけるオブジェクト又は車両の候補位置を示すことと、選択された位置に基づいて、オブジェクト又は車両の予測軌道を決定することと、をさらに含む、BB項からBF項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0268】
BH.サンプリング手法は第1のサンプリング手法であり、第1の予測位置は第1の時間に関連付けられ、動作は、オブジェクト又は車両の第1の予測位置に少なくとも部分的に基づいて、環境に関連付けられた第3の特徴を有するノードを更新することと、グラフ構造に少なくとも部分的に基づいて、ノードに関連付けられた分布データを表す第2の出力を決定することであって、分布データは、第1の時間の後の第2の時間における環境内のオブジェクト又は車両の予測位置を含むことと、分布データをサンプリングするための第2のサンプリング手法を決定することであって、第2のサンプリング手法は、第1のサンプリング手法とは異なることと、第2のサンプリング手法に少なくとも部分的に基づいて、第2の時間におけるオブジェクト又は車両の環境における第2の予測位置を決定することと、第1の予測位置及び第2の予測位置に少なくとも部分的に基づいて、予測軌道を決定すことと、をさらに含む、BB項からBG項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0269】
BI.システムであって、1つ又は複数のプロセッサと、1つ又は複数のプロセッサによって実行されると、1つ又は複数のプロセッサに、第1の時間に、環境内の車両に関連づけられたセンサーからセンサーデータを受信することであって、環境はオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の特徴を決定することと、環境に関連付けられたマップデータに少なくとも部分的に基づいて、環境に関連付けられた第2の特徴を決定することと、グラフニューラルネットワーク(GNN)のノードに、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴を関連付けることと、GNN及び基準に少なくとも部分的に基づいて、基準を満たすオブジェクトの測位置を含む第1の分布データを表す第1の出力を決定することと、第1の分布データからのサンプリングに少なくとも部分的に基づいて、第1の時間の後の第2の時間におけるオブジェクトの第1の予測位置を決定することと、オブジェクトの第1の予測位置に基づいて、車両を制御することと、を含む動作を実行させるコンピュータ実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体と、を含むシステム。
【0270】
BJ.センサーは、環境を横断する自律車両に関連付けられ、動作は、自律車両に関連付けられた計画コンポーネントから、環境を通る車両の軌道を受信することと、自律車両の軌道に少なくとも部分的に基づいて基準を決定することと、をさらに含む、BI項に記載のシステム。
【0271】
BK.動作は、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴に少なくとも部分的に基づいて、オブジェクトに関連付けられた意図を決定することと、オブジェクトに関連付けられた意図に少なくとも部分的に基づいて、基準を決定することと、をさらに含む、BI項又はBJ項に記載のシステム。
【0272】
BL.動作は、環境に関連付けられたマップデータを受信することと、マップデータ及びセンサーデータに少なくとも部分的に基づいて、環境に関連付けられた規則を決定することであって、規則は、交通標識、信号機、環境内のゾーン、又は制限速度のうちの少なくとも1つを含むことと、環境に関連付けられた規則に少なくとも部分的に基づいて、基準を決定することと、をさらに含む、BI項からBK項のいずれか一項に記載のシステム。
【0273】
BM.基準は、オブジェクトに関連付けられたオブジェクト特性に少なくとも部分的に基づいており、オブジェクト特性は、オブジェクトに関連付けられた回転半径、オブジェクトに関連付けられた最高速度、オブジェクトに関連付けられた加速限界、オブジェクトに関連付けられた車線変更操作、オブジェクトに関連付けられた旋回操作、又は、オブジェクトに関連付けられた不利な挙動操作、のうちの少なくとも1つを含む、BI項からBL項のいずれか一項に記載のシステム。
【0274】
BN.方法であって、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境は第1の時間におけるオブジェクトを含むことと、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴をグラフ構造のノードに関連付けることと、グラフ構造と基準に少なくとも部分的に基づいて、基準を満たすオブジェクトの予測位置を含む第1の分布データを表す第1の出力を決定することと、第1の分布データからのサンプリングに少なくとも部分的に基づいて、第1の時間の後の第2の時間におけるオブジェクトの第1の予測位置を決定することと、オブジェクトの第1の予測位置に少なくとも部分的に基づいて、オブジェクトの第1の予測軌道を決定することと、を含む方法。
【0275】
BO.車両は環境を横断する自律車両であり、本方法は、自律車両に関連付けられた計画コンポーネントから、環境を通る車両の軌道を受信することと、自律車両の軌道に少なくとも部分的に基づいて基準を決定することと、をさら含む、BN項に記載の方法。
【0276】
BP.オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴に少なくとも部分的に基づいて、オブジェクトに関連付けられた意図を決定することと、オブジェクトに関連付けられた意図に少なくとも部分的に基づいて、基準を決定することと、をさらに含む、BN項又はBO項に記載の方法。
【0277】
BQ.環境に関連付けられたマップデータを受信することと、マップデータ及びセンサーデータに少なくとも部分的に基づいて、環境に関連付けられた規則を決定することであって、規則は、一時停止標識、信号機、環境内のゾーン、又は速度制限のうちの少なくとも1つを含むことと、環境に関連付けられた規則に少なくとも部分的に基づいて基準を決定することと、をさらに含むBN項からBP項のいずれか一項に記載の方法。
【0278】
BR.オブジェクトに関連するオブジェクト特性に少なくとも部分的に基づいて基準を決定することであって、オブジェクト特性は、オブジェクトに関連付けられた回転半径、オブジェクトに関連付けられた最高速度、オブジェクトに関連付けられた加速限界、オブジェクトに関連付けられた車線変更操作、オブジェクトに関連付けられた旋回操作、又は、オブジェクトに関連付けられた不利な挙動操作、のうちの少なくとも1つを含むことをさらに含む、BN項からBQ項のいずれか一項に記載の方法。
【0279】
BS.オブジェクトの第1の特徴に少なくとも部分的に基づいて基準を決定することをさらに含み、第1の特徴は、オブジェクトの現在の姿勢、オブジェクトの現在の位置、オブジェクトの現在の加速度、オブジェクトの現在の速度、オブジェクトのサイズ、オブジェクトのタイプ、又は、オブジェクトの照明状態、のうちの少なくとも1つを含む、BN項からBR項のいずれか一項に記載の方法。
【0280】
BT.オブジェクトが第1のオブジェクトであり、基準が第1の基準であり、本方法は、センサーデータに少なくとも部分的に基づいて、環境内の第2のオブジェクトに関連付けられた第3の特徴を決定することと、第2のオブジェクトに関連付けられた第3の特徴及び環境に関連付けられた第2の特徴を、グラフ構造の第2のノードに関連付けることと、第1のオブジェクトの第1の予測位置に少なくとも部分的に基づいて第2の基準を決定することと、グラフ構造及び第2の基準に少なくとも部分的に基づいて、第2のオブジェクトの第2の分布データを表す第2の出力を決定することであって、第2の分布データは、第2の基準を満たす第2のオブジェクトの第2の予測位置を含むことと、第2の分布データからのサンプリングに少なくとも部分的に基づいて、第2の時間における第2のオブジェクトの第2の予測位置を決定することと、第2のオブジェクトの第2の予測位置及び第1のオブジェクトの第1の予測軌道に少なくとも部分的に基づいて、第2のオブジェクトの第2の予測軌道を決定することと、をさらに含む、BN項からBS項のいずれか一項に記載の方法。
【0281】
BU.車両は環境を横断する自律車両であり、本方法は、第1のオブジェクトの第1の予測軌道及び第2のオブジェクトの第2の予測軌道に少なくとも部分的に基づいて、自律車両の第3の予測軌道を決定することと、第3の予測軌道に少なくとも部分的に基づいて、自律車両を制御することと、をさらに含む、BT項に記載の方法。
【0282】
BV.1つ又は複数のプロセッサによって実行可能な指令を格納する1つ又は複数の非一時的コンピュータ可読媒体であって、指令が実行されると、1つ又は複数のプロセッサに、環境内の車両に関連付けられたセンサーからセンサーデータを受信することであって、環境は、第1の時間にオブジェクトを含むことと、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴をグラフ構造のノードに関連付けることと、グラフ構造と基準に少なくとも部分的に基づいて、基準を満たすオブジェクトの予測位置を含む第1の分布データを表す第1の出力を決定することと、第1の分布データからのサンプリングに少なくとも部分的に基づいて、第1の時間の後の第2の時間におけるオブジェクトの第1の予測位置を決定することと、オブジェクトの第1の予測位置に少なくとも部分的に基づいて、オブジェクトの第1の予測軌道を決定することと、を含む動作を実行させる、非一時的コンピュータ可読媒体。
【0283】
BW.車両は環境を横断する自律車両であり、動作は、自律車両に関連付けられた計画コンポーネントから、環境を通る車両の軌道を受信することと、自律車両の軌道に少なくとも部分的に基づいて基準を決定することと、をさらに含む、BV項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0284】
BX.動作は、オブジェクトに関連付けられた第1の特徴及び環境に関連付けられた第2の特徴に少なくとも部分的に基づいて、オブジェクトに関連付けられた意図を決定することと、オブジェクトに関連付けられた意図に少なくとも部分的に基づいて基準を決定することと、をさらに含む、BV項又はBW項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0285】
BY.動作は、環境に関連付けられたマップデータを受信することと、マップデータ及びセンサーデータに少なくとも部分的に基づいて、環境に関連付けられた規則を決定することであって、規則は、一時停止標識、信号機、環境内のゾーン、又は速度制限のうちの少なくとも1つを含むことと、環境に関連付けられた規則に少なくとも部分的に基づいて基準を決定することと、をさらに含む、BV項からBX項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0286】
BZ.動作は、オブジェクトに関連付けられたオブジェクト特性に少なくとも部分的に基づいて基準を決定することをさらに含み、オブジェクト特性は、オブジェクトに関連付けられた回転半径、オブジェクトに関連付けられた最高速度、オブジェクトに関連付けられた加速限界、オブジェクトに関連付けられた車線変更操作、オブジェクトに関連付けられた旋回操作、又は、オブジェクトに関連する不利な挙動操作、のうちの少なくとも1つを含む、BV項からBY項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0287】
CA.動作は、オブジェクトの第1の特徴に少なくとも部分的に基づいて基準を決定することをさらに含み、第1の特徴は、オブジェクトの現在の姿勢、オブジェクトの現在の位置、オブジェクトの現在の加速度、オブジェクトの現在の速度、オブジェクトのサイズ、オブジェクトのタイプ、又は、オブジェクトの照明状態、のうちの少なくとも1つを含む、BV項からBZ項のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0288】
CB.オブジェクトが第1のオブジェクトであり、基準が第1の基準であり、動作は、センサーデータに少なくとも部分的に基づいて、環境内の第2のオブジェクトに関連付けられた第3の特徴を決定することと、第2のオブジェクトに関連付けられた第3の特徴及び環境に関連付けられた第2の特徴をグラフ構造の第2のノードに関連付けた後、第1のオブジェクトの第1の予測位置に少なくとも部分的に基づいて第2の基準を決定することと、グラフ構造及び第2の基準に少なくとも部分的に基づいて、第2のオブジェクトの第2の分布データを表す第2の出力を決定することであって、第2の分布データは、第2の基準を満たす第2のオブジェクトの第2の予測位置を含むことと、第2の分布データからのサンプリングに少なくとも部分的に基づいて、第2の時間における第2のオブジェクトの第2の予測位置を決定することと、第2のオブジェクトの第2の予測位置及び第1のオブジェクトの第1の予測軌道に少なくとも部分的に基づいて、第2のオブジェクトの第2の予測軌道を決定することと、をさらに含む、BV項からCA項のいずれか1つに記載の1つ又は複数の非一時的コンピュータ可読媒体。
【0289】
上述した例示項は、1つの特定の実装に関して述べられているが、本明細書の文脈において、例示項の内容は、方法、機器、システム、コンピュータ可読媒体、及び/又は別の実装を介して実装されてよいことを理解されたい。さらに、例A項からCB項のいずれかを単独で、又は他の例A項からCB項のいずれか1つ又は複数のものと組み合わせて実施されてもよい。
【0290】
(結論)
本明細書で述べられる手法の1つ又は複数の例が説明されたが、その様々な変更、追加、並べ替え、及び、等価物は、本明細書に述べられる手法の範囲内に含まれる。
【0291】
例の説明において、本明細書の一部を構成する添付図面が参照されるが、このような図面は、請求される主題の具体的な例を例示的に示すものである。他の例を使用してもよく、構造的変更などの変更又は改変を行ってもよいことを理解されたい。そのような例、変更又は改変は、意図された請求される主題に関する範囲から必ずしも逸脱するものではない。本明細書で述べられる手順は、ある順序で示され得るが、場合によっては、順序を変更して、記載されるシステム及び方法の機能を変更することなく、特定の入力が異なる時間又は異なる順序で提供されるようにしてもよい。また、開示された手順は、異なる順序で実行されてもよい。さらに、本明細書に記載される様々な計算は、開示された順序で実行される必要はなく、計算の代替順序を使用する他の例が容易に実施され得る。順序を変更することに加えて、計算を、同じ結果を有するサブ計算に分解することも可能である。
【国際調査報告】