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

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

▶ ズークス インコーポレイテッドの特許一覧

<>
  • 特表-最適化に基づく計画システム 図1
  • 特表-最適化に基づく計画システム 図2
  • 特表-最適化に基づく計画システム 図3
  • 特表-最適化に基づく計画システム 図4
  • 特表-最適化に基づく計画システム 図5A
  • 特表-最適化に基づく計画システム 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-23
(54)【発明の名称】最適化に基づく計画システム
(51)【国際特許分類】
   B60W 40/00 20060101AFI20241016BHJP
   B60W 60/00 20200101ALI20241016BHJP
   B60W 30/00 20060101ALI20241016BHJP
   B60W 50/04 20060101ALI20241016BHJP
   B60W 50/00 20060101ALI20241016BHJP
   G08G 1/16 20060101ALI20241016BHJP
【FI】
B60W40/00
B60W60/00
B60W30/00
B60W50/04
B60W50/00
G08G1/16 C
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024518283
(86)(22)【出願日】2022-09-07
(85)【翻訳文提出日】2024-05-08
(86)【国際出願番号】 US2022042788
(87)【国際公開番号】W WO2023048943
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】17/485,041
(32)【優先日】2021-09-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジェレミー シュワルツ
(72)【発明者】
【氏名】プラティーク チャンドレシュ シャー
【テーマコード(参考)】
3D241
5H181
【Fターム(参考)】
3D241BA15
3D241BA50
3D241BA62
3D241BB16
3D241BB31
3D241CD03
3D241CD24
3D241CE01
3D241CE02
3D241CE03
3D241CE04
3D241CE05
3D241CE08
3D241CE09
3D241DB01Z
3D241DB05Z
3D241DB13Z
3D241DB15Z
3D241DB16Z
3D241DC29Z
3D241DC30Z
3D241DC31Z
3D241DC37Z
3D241DC39Z
3D241DC50Z
3D241DC51Z
3D241DD13Z
5H181AA01
5H181CC03
5H181CC04
5H181CC14
5H181LL01
5H181LL02
5H181LL04
5H181LL09
(57)【要約】
本出願では、一つまたは複数のヒートマップに関連付けられるコストを集約して、環境において車両を制御するための技法について説明する。車両コンピューティング機器は、センサーデータに基づいて、環境の様々な特徴に対するヒートマップとそれぞれのコスト情報とを決定するためのモデルを実装することができる。車両コンピューティング機器は、ヒートマップの組み合わせに基づいて、車両のために計画軌道を出力することができる。また、この技法は、計画軌道が決定された理由を詳述する合理化または根本原因の特定も含むことができる。
【特許請求の範囲】
【請求項1】
システムであって、
一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサによって実行可能な命令を格納する一つまたは複数の非一時的コンピュータ可読媒体であって、前記命令が、実行されると、前記システムに、
自律走行車両に関連付けられるセンサーからセンサーデータを受信することと、
前記センサーデータおよび特徴に少なくとも部分的に基づいて、前記自律走行車両が環境を通過するためのコストセットに関する離散化表現を決定することと、
前記離散化表現に少なくとも部分的に基づいて、将来の時刻における前記環境内の前記自律走行車両を制御するために使用可能な計画軌道を表す第一の出力データを決定することと、
前記計画軌道を決定するための理由を表す第二の出力データを決定することと、
前記第一の出力データに少なくとも部分的に基づいて、前記環境内の前記自律走行車両を前記特徴に対して制御することと、
表示機器上に表示するために前記第二の出力データを出力すること、訓練のために前記第二の出力データをコンピューティング機器に送信すること、または前記第二の出力データをログに記録することのうちの一つまたは複数と
を含む操作を実行させる、非一時的コンピュータ可読媒体と
を備える、システム。
【請求項2】
前記離散化表現は、ヒートマップを含み、
前記第二の出力データは、前記特徴に関連付けられる信頼値を含み、または
前記特徴は、前記自律走行車両に関連付けられる、車両の状態、車両の安全性、別のオブジェクトを追従する特徴、車線変更の特徴、またはウィンカー操作の特徴のうちの何れかを含む、
請求項1に記載のシステム。
【請求項3】
前記コストセットが第一のコストセットである場合、前記特徴は、第一の特徴であり、前記操作は、
前記センサーデータおよび第二の特徴に少なくとも部分的に基づいて、前記自律走行車両が前記環境を通過するための第二のコストセットに関する第二の表現を決定することと、
前記離散化表現および前記第二の表現を、複合表現として、モデルによって集約するステップと
を含み、
前記第一の出力データまたは前記第二の出力データを決定することは、前記複合表現に少なくとも部分的に基づく、
請求項1または2に記載のシステム。
【請求項4】
前記操作は、
前記コストセットのコストがコスト閾値を超えることを判定することと、
前記コストが前記コスト閾値を超えることに少なくとも部分的に基づいて、ツリー探索のブランチを変更することと
をさらに含み、
前記計画軌道を表す前記第一の出力データを決定することは、前記ツリー探索のブランチを変更することに少なくとも部分的にさらに基づく、
請求項1ないし3の何れか一つに記載のシステム。
【請求項5】
前記第一の出力データを決定することは、第一のモデルによって実行され、前記操作は、
前記センサーデータを第二のモデルに入力することと、
前記第二のモデルによって、将来の時刻における前記環境内の前記自律走行車両の挙動を表す第三の出力データを決定することと、
前記第三の出力データおよび前記第二の出力データの比較に少なくとも部分的に基づいて、前記第一のモデルを訓練すること、または
前記第三の出力データに少なくとも部分的に基づいて、前記第二の出力データに関連付けられる前記理由の正確性を検証すること
のうちの少なくとも一つと
をさらに含む、
請求項1ないし4の何れか一つに記載のシステム。
【請求項6】
方法であって、
前記自律走行車両に関連付けられるセンサーからセンサーデータを受信するステップと、
前記センサーデータおよび特徴に少なくとも部分的に基づいて、前記自律走行車両が環境を通過するためのコストセットの離散化表現を決定するステップと、
前記離散化表現に少なくとも部分的に基づいて、将来の時刻における環境内の前記自律走行車両を制御するために使用可能な計画軌道を表す第一の出力データを決定するステップと、
前記計画軌道を決定するための理由を表す第二の出力データを決定するステップと、
前記第一の出力データに少なくとも部分的に基づいて、前記環境内の前記自律走行車両を前記特徴に対して制御するステップと、
前記表示機器上に表示するために前記第二の出力データを出力するステップ、訓練のために前記第二の出力データをコンピューティング機器に送信するステップ、または前記第二の出力データをログに記録するステップのうちの一つまたは複数と
を備える、方法。
【請求項7】
前記特徴は、前記自律走行車両に関連付けられる、車両の状態、車両の安全性、他の車両を追する特徴、車線変更の特徴、またはウィンカー操作の特徴のうちの一つを含む、
請求項6に記載の方法。
【請求項8】
前記第二の出力データは、前記計画軌道が決定された前記理由の確実性を示すための信頼値を含み、または
前記コストセットは、進行コスト、追従コスト、車線変更コスト、ウィンカーコスト、交差点コスト、安全コスト、アクティブオブジェクトコスト、または非アクティブオブジェクトコストのうちの一つまたは複数を含む、
請求項6または7に記載の方法。
【請求項9】
前記コストセットのコストがコスト閾値を超えることを判定するステップと、
前記コストが前記コスト閾値を超えることに少なくとも部分的に基づいて、ツリー探索のブランチを変更するステップと
をさらに備え、
前記計画軌道を表す前記第一の出力データを決定するステップは、前記ツリー探索のブランチを変更するステップに少なくとも部分的にさらに基づく、
請求項6ないし8の何れか一つに記載の方法。
【請求項10】
第一のモデルが前記第一の出力データを決定し、
前記センサーデータを第二のモデルに入力するステップと、
前記第二のモデルによって、将来の時刻における前記環境内の前記自律走行車両の挙動を表す第三の出力データを決定するステップと、
前記第三の出力データおよび前記第二の出力データの比較に少なくとも部分的に基づいて、前記第一のモデルを訓練するステップ、または
前記第三の出力データに少なくとも部分的に基づいて、前記第二の出力データの精度を検証するステップ
のうちの少なとも一つと
をさらに備える、
請求項6ないし9の何れか一つに記載の方法。
【請求項11】
前記第一の出力データに少なくとも部分的に基づいて、機械学習モデルを訓練するための弱識別器ラベルを決定するステップであって、前記弱識別器ラベルは、車両挙動の態様を良好または不良に分類する、ステップと、
前記弱識別器ラベルに少なくとも部分的に基づいて、前記機械学習モデルを訓練して、前記計画軌道に関連付けられる車両挙動が良好であるか、または不良であるかを判定するステップと
をさらに備える、請求項6ないし10の何れか一つに記載の方法。
【請求項12】
前記コストセットを組み合わせるために、ヒューリスティックを適用するステップ
をさらに備え、
前記環境内の前記自律走行車両を制御するステップは、前記ヒューリスティックに少なくとも部分的にさらに基づく、
請求項6ないし11の何れか一つに記載の方法。
【請求項13】
第一のブランチを第一の候補軌道に関連付け、第二のブランチを第二の候補軌道に関連付けるステップと、
前記第一のブランチおよび前記第二のブランチを一定の時間期間に亘って処理して、前記第一の候補軌道および前記第二の候補軌道を将来に亘って追跡するステップと、
前記第一のブランチを処理する第一の時間量と、前記第二のブランチを処理する第二の時間量とを決定するステップと、
前記第一のブランチに関連付けられるコストに対する第一の全体コストと、前記第二のブランチに関連付けられるコストに対する第二の全体コストとを決定するステップと
によって、ツリー探索を実行するステップ
をさらに備え、
前記計画軌道を表す前記第一の出力データを決定するステップは、前記第一の時間量、前記第二の時間量、前記第一の全体コスト、および前記第二の全体コストに少なくとも部分的にさらに基づく、
請求項6ないし12の何れか一つに記載の方法。
【請求項14】
第一の候補軌道を第一のブランチに関連付け、第二の候補軌道を第二のブランチに関連付けるステップと、
前記第一の候補軌道に関連付けられる前記コストセットの第一の複合コストと、前記第二の候補軌道に関連付けられる前記コストセットの第二の複合コストとを決定するステップと、
前記第一の複合コストおよび前記第二の複合コストの差異に少なくとも部分的に基づいて、前記第一のブランチから前記第二のブランチに変更するステップと
によってツリー探索を実行するステップ
をさらに備え、
前記計画軌道を表す前記第一の出力データを決定するステップは、前記ツリー探索に少なくとも部分的にさらに基づく、
請求項6ないし13の何れか一つに記載の方法。
【請求項15】
コンピュータ上で実行されると、請求項6ないし14の何れか一つに記載の方法を実装するコード化された命令を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適化に基づく計画システムに関する。
【背景技術】
【0002】
[関連出願]
本出願は、2021年9月24日に出願され、「最適化に基づく計画システム」と題する米国特許出願第17/485,041号に対する優先権を主張しており、その全体は、参照により本明細書に組み込まれる。
【0003】
[背景]
自律走行車両および半自律走行車両における計画システムは、動作環境において車両が取るべき動作を決定する。車両に関する動作は、環境内に存在するオブジェクトを回避することに部分的に基づいて決定されることがある。例えば、歩行者に道を譲ること、または道路上にある他の車両を避けるために車線を変更することなどの動作が、計画システムによって生成されることがある。認識システムは、センサーからのセンサーデータを利用して、環境を「知覚する(see)」ことにより、計画システムが、車両に関する潜在的な動作に及ぼす被検出オブジェクトの影響を判定することを可能にする。
【図面の簡単な説明】
【0004】
添付の図面を参照して詳細な説明を記述する。図面において、参照番号の左端の桁は、その参照番号が最初に現れる図面を識別する。異なる図面における同じ参照番号の使用は、類似または同一のコンポーネントまたは特徴を示している。
【0005】
図1】例示的な車両が計画コンポーネントを適用して車両軌道を予測する、例示的な環境を示す説明図である。
図2】例示的な車両が計画コンポーネントを適用して車両軌道を予測する、別の例示的な環境を示す説明図である。
図3】例示的な車両が計画コンポーネントを適用して車両軌道を予測する、別の例示的な環境を示す説明図である。
図4】本明細書に説明される技法を実装するための例示的なシステムを示すブロック図である。
図5A】一つまたは複数の例示的なモデルを使用して、車両軌道およびメタデータを決定するための例示的なプロセスを描写するフローチャートの第一の部分である。
図5B】一つまたは複数の例示的なモデルを使用して、車両軌道およびメタデータを決定するための例示的なプロセスを描写するフローチャートの第二の部分である。
【発明を実施するための形態】
【0006】
[詳細な説明]
本出願は、一つまたは複数のヒートマップに関連付けられるコストを集約して、環境内の車両を制御するための技法について説明する。例えば、車両コンピューティング機器は、センサーデータに基づいて、環境の様々な特徴に対するヒートマップおよびそれぞれのコスト情報を決定するためのモデルを実装することができる。車両コンピューティング機器は、ヒートマップおよび関連コストを組み合わせて、車両に対する計画軌道と、車両および/または環境に関する情報(例えば、計画軌道に関連する状況など)を示すメタデータとを出力することができる。このモデルは、車両の安全性、車両の状態、オブジェクトの状態、および/または制御方針を記述する特徴情報を受信し、将来情報に含まれる各特徴のヒートマップを生成することができる。このモデルは、ヒューリスティック、ツリー探索、および/または数学的アルゴリズムを使用して、様々な特徴に関連付けられるコストを集約することができる。本明細書において説明される技法を使用して、車両は、計画軌道と、車両によって使用可能であるメタデータとを受信して、オブジェクトを迅速におよび/または先制的に回避し、それによって車両の安全性を改善させ得る。さらに、技法は、計画軌道が決定された理由を詳述する合理化または根本原因を決定することを含むことができる。
【0007】
一般に、本明細書において説明される技法は、自律走行車両がオブジェクト(例えば、車両、歩行者、自転車等)との潜在的な相互作用、交通標識との相互作用等などのシナリオに対して安全に計画することを可能にする。モデルは、ヒートマップの複合コストにヒューリスティックを適用することに基づいて、自律走行車両に関する動作(例えば、制動動作、加速動作、軌道等)を決定することができる。モデルは、メタデータを出力して、動作が決定された理由を提供する(例えば、動作が決定された時点において車両が何をしているかのインディケーションを提供する)。換言すると、モデルは、メタデータ(解釈可能性データとも呼ばれる)を決定して、軌道が決定された時点における環境および自律走行車両の状況を提供する。このようにして、モデルは、環境において自律走行車両を安全に航法するための「状況認識(situational awareness)」を提供することができる。
【0008】
幾つかの例では、車両コンピューティング機器の計画コンポーネントは、モデルを実装して、種々な方法において様々な特徴に関連付けられるコストを組み合わせることができる。例えば、モデルは、環境を表すセンサーデータと、環境内の領域および/または車両に関する制御方針(例えば、車線内に留まる、車線を変更する、ウィンカーを操作する、制動を掛ける、加速するなど)に関連付けられる特徴データとを受信することができる。モデルは、幾つかの例では、センサーデータに基づいて、特徴データ内の特徴の一部または全部に対して、ヒートマップを決定することができる。各ヒートマップは、コストセットと関連付けることができ、モデルは、ヒューリスティックおよび/またはアルゴリズムを使用して、ヒートマップのコストセットを組み合わせることができる。例えば、モデルは、複合コストのツリー探索を実行して、将来に亘って車両に関する計画軌道を決定することができる。幾つかの例では、モデルは、ツリー探索にヒューリスティックを適用して、様々な特徴および/または潜在的な軌道に関連付けられるブランチに対して、異なる処理量を引き起こすことができる。種々の実施例では、モデルは、コスト(例えば、追従コスト、車線変更コスト、ウィンカーコスト、進行コスト、安全コスト、障害物コスト、相互作用コスト等)のツリー探索を実行して、軌道のセットから計画軌道を選択する、またはそうでなければ決定することができる。
【0009】
車両コンピューティング機器は、モデルからの出力(例えば、計画軌道、メタデータなど)に少なくとも部分的に基づいて、環境内の車両を制御することができる。例えば、車両コンピューティング機器は、環境内のオブジェクトを検出し、組み合わされたヒートマップを使用して、車両に関する軌道を決定すること、またはそうでなければ、車両に環境を通過させることなどの車両に関する動作を制御することができる。例えば、車両を制御することは、車両を停止させること、および/または車両の制動システム、加速システム、または駆動システムのうちの少なくとも一つを制御することを含み得る。
【0010】
上述されるように、モデルは、車両の意図および/または環境の特性(例えば、選択された軌道に対して、車両が何をしているかなど)を表すメタデータを出力することができる。メタデータは、計画軌道に沿った車両による動作または挙動(例えば、「車両に追従し続ける」、「車線内に留まる」等)を示すことができる。幾つかの例では、メタデータは、モデルが車両軌道を決定する時点の間、車両位置、オブジェクト位置、車両状態データ、オブジェクト状態データ、道路規則データ(例えば、通行許可規則など)を記述することができる。幾つかの例では、モデルによってメタデータを決定することは、メタデータを用いてコスト情報(例えば、ヒートマップに関連付けられるコストなど)の注釈を付けることを含むことができる。メタデータを出力することにより、車両は、運転中に人間のオペレータが動作を決定する際に周囲の状況を解釈する方法と同様に、環境内のオブジェクトに対する潜在的な相互作用を予測することができる。
【0011】
幾つかの例では、モデルは、車両内部のユーザーインターフェースのような表示機器上で提示するために(例えば、車両の同乗者に車両による動作を示す、または説明するために)、メタデータを出力することができる。例えば、モデルによってメタデータを出力することは、ルート、軌道、および/または環境の特性のインディケーションを自律走行車両の搭乗者に提示することを含むことができる。このようにして、同乗者(または他の観察者)は、車両コンピューティング機器が一つまたは複数のオブジェクトに対して現在の動作を取っている理由を見ることができる。例えば、車両は、自律走行車両の近傍において感知された別の車両、歩行者等の画像を提示して、現在および将来の車両操作に関する状況を同乗者に与えることができる。
【0012】
また、モデルは、モデルを訓練するためのメタデータを出力することができるし、またはそうしないこともできる。例えば、コンピューティング機器は、車両が従うべき車両軌道が選択された、または選択されなかった理由を記述するメタデータに少なくとも部分的に基づいて、モデルを訓練することができる。例えば、メタデータは、モデルによって決定された様々な候補軌道について、車両、環境、および他のオブジェクトに関する詳細を記述することができる。モデルは、第一の候補軌道を取るためのコストが、計画軌道として使用可能な第二の候補軌道よりも高い(安全コストが高過ぎる、後続オブジェクトコストが高過ぎる等)とモデルが判定することに基づいて、第一の候補軌道を使用しないと決定し得る。コンピューティング機器は、モデルの訓練中にメタデータを使用して、第一の候補軌道が計画軌道として使用されなかった理由と、第二の候補軌道が計画軌道としてモデルによって選択された理由を「理解する」ことができる。さらに、メタデータは、ログに記録され、車両の動作を同乗者に伝えるために表示機器に提示され、および/または、計画操作中に行われた決定を改善するためのデバッグに使用され得る。車両による動作の報告に関する追加の詳細は、2017年5月19日に出願され、「車両動作に関する理由の通信」と題する米国特許出願第15/600,258に記載されており、これは、あらゆる目的のために参照により本明細書に組み込まれる。
【0013】
本明細書において説明されるように、モデルは、機械学習モデル、統計モデル、またはそれらの組み合わせを表し得る。すなわち、モデルは、出力(例えば、予測など)の精度を向上させるために、訓練データセットから学習する機械学習モデルを指すことがある。さらに、または代替的に、モデルは、予測を行うために使用可能である近似値を生成する論理関数および/または数学関数を表す統計モデルを指すことがある。
【0014】
本明細書において説明される技法は、多くの方法において車両コンピューティング機器の機能を改善することができる。計画検討中(例えば、軌道決定、軌道計算等)に、潜在的な車両軌道について多数の予測を実行することは、特に、無限に予期しない方法において挙動することがある、多数のオブジェクトが環境に存在する場合、極めて計算コストが高くなる可能性がある。本明細書において説明されるように、車両コンピューティング機器によって軌道データおよびメタデータを利用することは、車両が環境における潜在的な衝突に応答するための精度を向上させ、および/または待ち時間を短縮することができる。複数の特徴および関連コストを考慮することにより、オブジェクトおよび車両の間の潜在的な相互作用を予測するための計算負荷が低減され、それによって車両コンピューティング機器の機能が改善される。 そのため、本明細書において説明される技法は、車両の環境内のオブジェクトに対する潜在的な動作を予測するために使用される計算リソースを削減する(例えば、利用可能な計算リソースを再利用する)ことによって、車両コンピューティング機器の機能を改善し得る。
【0015】
また、本明細書において説明される技法は、軌道または他の車両動作を決定するための理由を示す計画コンポーネントからの予測を受信することによって、車両コンピューティング機器の機能を改善し得る。例えば、計画コンポーネントによって軌道が決定された理由を提示することは、車両コンピューティング機器が「安全運転者」としてどのように動作しているかを同乗者が確認することを可能にすることによって、同乗者の快適性および安全性を向上させることができる。さらに、このような技法は、例えば、車両の安全運転を検証するために使用され得る。そのような非限定的な例として、高度に複雑な最適化は、特定の出力が作成された理由についての洞察を提供しないことがある。しかしながら、本明細書における技法を実行することにより、種々のシナリオへの応答におけるシステムの安全性は、検証され得る。さらに、計画コンポーネントによって出力される様々な車両動作に対する理由は、将来の予測の精度を向上させるために使用することができる(例えば、修正されるべきである出力軌道に寄与したコストの領域を特定することによってデバッグを改善するなど)。幾つかの例では、計画コンポーネントは、予測につながった車両周囲の環境における特定の理由または条件を評価することに基づいて、車両が必要とされない追加動作(例えば、必要のないときの急制動または急ハンドルの回避など)を取ることを防止することにより、車両の機能および安全性を向上させることができる。
【0016】
本明細書において説明される技法は、多くの方法において実装することができる。以下の図を参照して、実装例を以下に説明する。自律走行車両の関連で説明されているが、本明細書において説明される方法、装置、およびシステムは、種々のシステムに適用することができ、自律走行車両に限定されない。別の例では、本技法は、航空または航海の関連で、またはセンサーデータを使用する任意のシステムで利用することができる。さらに、ライダーデータの関連で説明されているが、本技法は、本明細書において説明される特定の例に限定されない、任意種類のセンサーデータに適用可能とすることができる。さらに、本明細書において説明される技法は、実データ(例えば、センサーを使用して捕捉されるデータなど)、シミュレートされたデータ(例えば、シミュレータによって生成されたデータなど)、またはこれら二つの任意の組み合わせに対して使用することができる。
【0017】
図1は、例示的な自律走行車両(車両102)が計画コンポーネント104を適用して、車両の軌道を予測する、例示的な環境100を示す説明図である。図示されるように、計画コンポーネント104は、出力データ108を決定するために使用可能である、車両、環境、および一つまたは複数のオブジェクトに関連付けられる入力データ106を受け取る。出力データ108は、車両軌道(例えば、候補軌道、計画軌道等)および/または車両軌道に関連付けられるメタデータを表すことができる。幾つかの例では、本明細書に説明される計画技法は、車両コンピューティング機器(例えば、図4の車両コンピューティング機器404)および/または遠隔コンピューティング機器(例えば、図4のコンピューティング機器436)によって、またはこれらに関連して、少なくとも部分的に実装され得る。
【0018】
種々の例では、車両102に関連付けられる車両コンピューティング機器は、認識コンポーネントを介するなどして、環境100内の一つまたは複数のオブジェクト(例えば、オブジェクト110および112)を検出するように構成され得る。幾つかの例では、車両コンピューティング機器は、一つまたは複数のセンサー(例えば、ライダーセンサー、レーダーセンサー、カメラ等)から受信されるセンサーデータに基づいて、オブジェクトを検出し得る。幾つかの例では、センサーは、車両102に搭載されるセンサーを含み得て、限定されることなく、超音波センサー、レーダーセンサー、光検出および測距(ライダ)センサー、カメラ、マイクロフォン、慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロ等)、および全地球測位衛星(GPS)センサーなどを含む。
【0019】
幾つかの例では、センサーは、例えば、別の自律走行車両に搭載されるセンサー、および/または環境100に搭載されたセンサーなどの、一つまたは複数の遠隔センサーを含み得る。種々の例では、車両102は、他の自律走行車両(例えば、フリート内の一つまたは複数の自律走行車両など)および/またはセンサーからデータを送信および/または受信するように構成され得る。このデータは、環境100において検出されるオブジェクトに関するデータなどの、センサーデータを含み得る。幾つかの例では、センサーは、低下した視程の領域において付加的な可視性を提供するために環境100に取り付けられ得る。
【0020】
種々の実施例では、車両コンピューティング機器は、センサーデータを受信することができ、例えば、オブジェクトがオブジェクト110および112のような車両、歩行者、建物、トラック、オートバイ、または原動機付き自転車であるかなどの、検出されたオブジェクトを意味論的に分類する(例えば、オブジェクト種類を決定する)ことができる。オブジェクトは、静的オブジェクト(例えば、建物、橋、標識等)と、他の車両、歩行者、または自転車乗りなどの動的オブジェクトとを含み得る。幾つかの例では、分類は、別の車両(例えば、自動車、ピックアップトラック、セミトレーラトラック、トラクター、バス、列車等)、歩行者、子供、自転車乗り、スケートボーダー、乗馬者、または動物などを含み得る。種々の例では、オブジェクトの分類は、オブジェクトの特性(例えば、最高速度、加速度、操縦性等)を決定するためにモデルによって使用され得る。このようにして、オブジェクトによる潜在的な動作は、オブジェクトの特性(例えば、オブジェクトが環境内でどのように潜在的に動く可能性があるか)に基づいて考慮される。
【0021】
センサーデータに加えて、入力データ106は、以下のうちの一つまたは複数を含むこともできる。すなわち、特徴データ、マップデータ、車両状態データ、およびオブジェクト状態データ。入力データ106は、例えば、車両102に関連付けられる車両の安全性、車両状態、オブジェクト状態、および/または制御方針(例えば、車線変更機能、およびウィンカー操作機能など)を記述する特徴情報を表し得る。特徴情報における一つまたは複数の特徴は、領域(例えば、オブジェクトに隣接する領域など)、車両状態(位置、速度、加速度、軌道等)、オブジェクト状態(位置、速度、加速度、軌道等)、および/または制御方針(例えば、車両が車線内に留まるように、または車両102と別のオブジェクトとの間の距離を維持するように車両を制御する方針)に関連付けられる情報を含むことができる。入力データ106は、マップデータに基づく環境特徴、および/または速度、加速度、操舵、および/または制動動作に対する安全閾値(例えば、安全範囲など)を含み得る。
【0022】
計画コンポーネント104は、一つまたはモデルを実装して、第一の候補軌道114(1)および第二の候補軌道114(2)などの一つまたは複数の車両軌道を決定するように入力データ106を処理することができる。計画コンポーネント104は、候補軌道のうちの一つを、オブジェクト110および112に対して環境100内で車両102が追従する計画軌道として決定することができる。例えば、計画コンポーネント104は、ツリー探索または他のデシジョンツリー手法を実行することに少なくとも部分的に基づいて、将来の時点において車両102が使用する第一の候補軌道114(1)または第二の候補軌道114(2)のうちの一つを特定、またはそうでなければ決定することができる。
【0023】
幾つかの例では、計画コンポーネント104は、入力データ106に少なくとも部分的に基づいて、第一の離散化表現116および第二の離散化表現118を含む、一つまたは複数の離散化表現を決定することを含むことができる。例えば、計画コンポーネント104は、オブジェクトの背後の領域(例えば、オブジェクト110の背後の第一の領域およびオブジェクト112の背後の第二の領域など)を表すセンサーデータおよび特徴データに少なくとも部分的に基づいて、第一の離散化表現116および第二の離散化表現118を生成することができる。図1に示されるように、第一の離散化表現116および第二の離散化表現118は、環境の様々な領域に対するそれぞれのヒートマップを表している。種々の例てば、計画コンポーネント104は、特徴データの様々な特徴について、離散化表現、またはヒートマップを決定することができる。
【0024】
図示される例では、計画コンポーネント104は、車両102が車線120(1)においてオブジェクト110を追従するために第一の候補軌道114(1)を使用するか、または車線120(2)においてオブジェクト112を追従するために第二の候補軌道114(2)を使用するかを決定することができる。幾つかの例では、計画コンポーネント104は、ツリー探索を実装して、第一の候補軌道114(1)または第二の候補軌道114(2)を、車両102が将来に亘って追従するための計画軌道として決定することができる。例えば、計画コンポーネント104は、第一の候補軌道114(1)に対する第一のコストセットと、第二の候補軌道114(2)に対する第二のコストセットとを決定することができる。この例では、コストは、ツリーのブランチに関連付けられ得て、計画コンポーネント104は、コスト閾値、最低コスト、および/または他の任意のメトリック未満である複合コストを有するツリーのブランチを選択、識別、またはそうでなけば決定することに基づいて、計画軌道を出力し得る。例えば、計画コンポーネント104は、第一のコストセットまたは第二のコストセットがコスト閾値未満であるか否か、および/または軌道の何れが最低の全体コストに関連付けられるかに少なくとも部分的に基づいて、計画軌道として、第一の候補軌道114(1)もしくは第二の候補軌道114(2)(またはその一部)を、選択することができる。
【0025】
図1に図示されるように、特徴データは、領域の特徴、またはオブジェクトの背後の領域を表している。すなわち、計画コンポーネント104は、特徴データに基づいて、オブジェクト110を追従するための第一のヒートマップ、およびオブジェクト112を追従するための第二のヒートマップを生成することができる(例えば、特徴種類に基づいてヒートマップに対する領域を特定するなど)。オブジェクト110および112は追加の車両を表しているが、他の例では、車両102は、歩行者、自転車乗り、原動機付自転車、およびオートバイなどに追従するか否かを決定するために、計画コンポーネント104を使用することができる。本明細書の他の箇所で説明されるように、計画コンポーネント104は、幾つか例を挙げると、ウィンカーを何時開始するか、車線変更を行うか否か、または停止操作、旋回操作、加速操作を行うか否かを決定することもできるし、またはそうしないこともできる。
【0026】
図1に示されるように、第一の離散化表現116および第二の離散化表現118は、車両102がそれぞれのセルを占有するためのコストを表す、一つまたは複数のセル(例えば、セル122など)から構成することができる。例えば、各ヒートマップは、それぞれのコストセットと関連付けることができる。ヒートマップに関連付けられるコストは、車両102が特徴(例えば、ヒートマップを生成するために使用される特徴データなど)に対してセルを占有するための重みを表すことができる。幾つかの例では、ヒートマップは、個々のコスト(例えば、基準コスト、障害物コスト、進行コスト、車線変更コスト等)に関連付けられ得て、様々な個々のコストに対するヒートマップは、ある時点に対するコストの「最終的な」ヒートマップを決定するために集約され得る。限定ではなく例として、車両102が車線120(2)を占有するための基準コストは、車線の中央で最も低く、車線の中央から外側に向かって増加することがある。加えて、障害物コストがオブジェクト112に関連付けられ得る(例えば、障害物コストは、車両102およびオブジェクト112の間の距離が短くなるにつれて、増加し得る)。種々の例では、計画コンポーネント104は、コスト(例えば、基準コスト、障害物コスト、および他のコストなど)を集約して、車両動作を決定するために使用可能である「最終的な」ヒートマップを決定することができる。
【0027】
図1は、各セルに対するコスト値を伝えるために、第一の離散化表現116および第二の離散化表現118における網掛けを示している。例えば、濃い網掛けは、車両102がセル122を占有するためのより低いコストを示すことがある。幾つかの例では、図1における網掛けは、車両102の位置(および関連付けられるセンサーの新しい位置)に少なくとも部分的に依存して、時間TからTまで変化することができる、セルに関連付けられる様々なコストを表している。幾つかの例では、セルに関連付けられるコストは、本明細書において説明されるように、車両へのセルのアクセス可能性、セルのサイズ、および他の要因に少なくとも部分的に基づくことができる。コストを決定するための追加的な詳細は、図2および図3を含む本開示全体を通して説明される。
【0028】
車両の軌道およびメタデータに加えて、計画コンポーネント104は、一つまたは複数の将来の時刻における車両102の状態、オブジェクト110の状態、および/またはオブジェクト112の状態を出力することもできる。すなわち、将来の車両の状態および将来のオブジェクトの状態は、シミュレーションを実行することなどにより、それぞれの車両およびオブジェクトによる潜在的な動作を表すために出力され得る。幾つかの例では、車両コンピューティング機器は、出力データ108に基づいて車両102の操作を制御することができるが、他の例では、計画コンポーネント104は、出力データ108を車両コンピューティング機器における別のコンポーネントもしくはモデル、または遠隔コンピューティング機器に送信して、予測を改善するために計画コンポーネント104のモデルを訓練することができる。訓練は、出力データ108を弱学習器データ(例えば、弱識別器ラベルなど)および/またはグランドトゥルースとして使用することを含み得る。例えば、弱識別器ラベルは、車両挙動の態様(例えば、一つまたは複数の軌道に関連付けられる動作など)を、良好または不良として分類することができ、機械学習モデルは、弱識別器ラベルに少なくとも部分的に基づいて訓練され、後続の軌道に関連付けられる後続の車両挙動が良好であるか、または不良であるかを判定することができる。
【0029】
計画コンポーネント104は、一つまたは複数のモデルを使用して、出力データ108を決定し得る。例えば、第一のモデルは、メタデータを特定することができ、第二のモデルは、車両軌道を決定することができる。あるいは、第一のモデルは、第二のモデルから入力データ106を受信することに基づいて、車両軌道およびメタデータを決定し得る。このような例では、第二のモデルは、車両102、オブジェクト110、および/またはオブジェクト112の意図(例えば、車両および/またはオブジェクトの予測される挙動など)を第一のモデルに提供し得る。例えば、第一のモデルは、車両102、オブジェクト110、および/またはオブジェクト112の離散的な動作または既知の挙動を示すデータを送信する第二のモデルに基づいて、複数の候補軌道の中から計画軌道を決定することができる。
【0030】
幾つかの例では、計画コンポーネント104のモデルを訓練することはは、第一のモデルによって出力されるメタデータの意図を、第二のモデルによって出力される意図または動作と比較することを含むことができる。例えば、第一のモデルは、メタデータによって示される意図と、第二のモデルによって出力される意図または動作との間の差異を比較することによって、メタデータ記述を改善するように訓練することができる。このような例では、計画コンポーネント104は、第一のモデルおよび第二のモデルを並行して実装し、第二のモデルの出力を、第一のモデルの出力を訓練するためのグランドトゥルースとして使用することができる。例えば、第二のモデルの出力は、第一のモデルによって出力される意図の精度を検証するために使用することができる。
【0031】
図2は、別の環境例200を示す説明図であり、この環境例では、例示的な車両(車両102)は、計画コンポーネント(計画コンポーネント104)を適用して、車両軌道を予測する。
【0032】
図示されるように、コンピューティング機器202は、マップ生成コンポーネント204、コスト決定コンポーネント206、集約コンポーネント208、および合理化コンポーネント210を含む、計画コンポーネント104から構成される。幾つかの例では、コンピューティング機器202は、車両コンピューティング機器(例えば、車両コンピューティング機器404など)および/または遠隔コンピューティング機器(例えば、コンピューティング機器436など)を含むことができる。計画コンポーネント104は、マップ生成コンポーネント204、コスト決定コンポーネント206、集約コンポーネント208、および合理化コンポーネント210のうちの一つまたは複数を実装して、点滅するライト(例えば、ライトインジケータ214など)を有するオブジェクト212に対して、車両102を制御することができる。例えば、コンピューティング機器202は、第一の候補軌道216、第二の候補軌道218、または第三の候補軌道220を決定して、車両102が将来に亘って何時および何処で車線境界222を横切るかを制御することができる。
【0033】
幾つかの例では、コンピューティング機器202は、例えば、環境200、オブジェクト212、または車両102に関連付けられる入力データ106の処理に基づいて、決定された軌道のうちの一つを計画軌道として選択することができる。計画軌道として第一の候補軌道216、第二の候補軌道218、または第三の候補軌道220を選択するための理由を理解するために、コンピューティング機器202は、環境200、オブジェクト212、または車両102を記述するメタデータを決定することもできる。
【0034】
種々の例では、計画コンポーネント104は、マップ生成コンポーネント204を実装して、センサーデータおよび特徴データに基づいて、離散化表現(例えば、一つまたは複数のヒートマップ、ベクトルマップ等)を生成することができる。図2に描写される例では、特徴データは、車線境界222を横切るための車線変更に関連付けられるデータを含むことができる。幾つかの例では、マップ生成器204は、ヒートマップのセルを関連付けるなどの、図1に関連して説明されるものと同様の技法を使用して、一つまたは複数のヒートマップを決定して、車線境界222を横切るためのコストを表すことができる。
【0035】
コスト決定コンポーネント206は、ヒートマップまたは他の離散化表現のための一つまたは複数のコストを決定することができる。図2の例では、コスト決定コンポーネント206は、車両102が車線を変更して車線境界222を通過するための車線変更コストを決定することができる。一つまたは複数のコストは、ヒートマップのセルに割り当てられるか、またはそうでなければ関連付けられる。例えば、コスト値は、車両102が車線境界に近づくにつれてより高くなり、車両102が車線境界222から離れるにつれてより低くなり得る。このようにして、車線変更コストは、計画コンポーネント104が車線境界222を通過するための出力データ108を決定する際に考慮することができる。一般に、一つまたは複数のヒートマップは、車両102と移動オブジェクトまたは非移動オブジェクトとの間の潜在的な相互作用に関連付けられる、静力学、動力学、および運動学などを考慮した一つまたは複数のコストを表すことができる。
【0036】
幾つかのコスト例としては、以下を含む。すなわち、追従コスト、車線変更コスト、ウィンカーコスト、進行コスト、安全コスト、障害物コスト、相互作用コスト、アクティブオブジェクトコスト(例えば、オブジェクトが車両102を回避するためのコストなど)、非アクティブオブジェクトコスト、歩行者コスト、以前の車両状態コスト、センサーエラーコスト(例えば、姿勢および/または位置特定における誤差ーなど)、動物コスト、自転車乗りコスト、ライトインジケータコスト(例えば、車両または別のオブジェクトのテールライトまたは他のライトなど)、道路ネットワークコスト、および道路ネットワークコスト。そのため、上記の例示的なコストの何れも、一つまたは複数のヒートマップに符号化することができる(例えば、ヒートマップは、センサーエラー、交通コーン、道路標識、建物等のような非アクティブオブジェクト、ならびにアクティブオブジェクトが車両102を回避するためにどれだけの労力を要するかを考慮することができる)。
【0037】

集約コンポーネント208は、離散化表現および/またはそれらに関連付けられるコストを集約または結合することができる。例えば、集約コンポーネント208は、第一の候補軌道216、第二の候補軌道218、または第三の候補軌道220のコストを、それぞれの各軌道のコストに対するブランチを有するデシジョンツリーにおけるように集約することができる。幾つかの例では、復号化された離散化表現(例えば、ヒートマップなど)および/またはコストは、計画軌道を決定するために使用可能である。例えば、集約コンポーネント208は、デシジョンツリーのコストにヒューリスティックを適用して、最も高い安全マージン(例えば、最も低い全体コストなど)を有する候補軌道のためにツリーを探索する方法を決定することができる。幾つかの例では、集約コンポーネント208は、第二の候補軌道218が最も低い全体コストを有するか、またはコスト閾値未満であることに関連付けられるツリーのブランチに基づいて、第二の候補軌道218を、車両102が将来に亘って追従する計画軌道として決定することができる。幾つかの例では、集約コンポーネント208は、コスト閾値に少なくとも部分的に基づいて、ツリー探索のブランチを変更することができる。
【0038】
種々の例では、集約コンポーネント208は、部分空間または軌道空間を表すツリー検索を実行することによってコストを集約することができる。ルートノードは、車両102の現在位置を表すことができ、ブランチは、上述される候補軌道のような潜在的な候補動作に関連付けることができる。ブランチの個数は、構成可能なパラメータ(例えば、四つのブランチのような、ツリーに含めるブランチの量を示す入力、シナリオ種類に基づく制約(例えば、目的地がジャンクションの通過を必要とするジャンクションにおいて旋回するための動作を除外する)等)に少なくとも部分的に基づいて、集約コンポーネント208によって決定され得る。ブランチは、一つまたは複数の離散化表現からのコスト、および/または離散化表現に関連しないコストに関連付けられる。このようにして、ツリーは、検索可能な空間を表して、車両102を制御するために使用可能な動作を予測する。
【0039】
幾つかの例では、候補参照(例えば、図2の候補軌道など)は、ブランチに関連付けるために、計画コンポーネント104(または他のコンポーネント)によって生成することができる。このような例では、上述される構成可能なパラメータおよび/または利用可能な計算リソース(ツリー探索中に使用されるリソースの効率を最大化するため)に依存し得る、ツリーの一部となるブランチの個数に基づいて、予め決定された数の候補参照を生成することができる。少なくとも幾つかのそのような例では、離散化領域の種々の個数が、利用可能な計算量に従って決定され得る。
【0040】
ツリー探索を実行することは、ブランチに対するコスト(例えば、追従コスト、車線変更コスト、ウィンカーコスト、進行コスト、安全コスト、障害物コスト、相互作用コスト、オブジェクトコスト等)を経時的に(例えば、ブランチを一連の時間に離散化し、そのような時間刻みにおいて集約コストまたは瞬間コストを評価することによって)集約することと、コスト閾値に対するそれぞれのブランチに対する集約コスト値に基づいて、別のブランチに変更するか否かを決定することとを含むことができる。例えば、第一の候補軌道216に対するコストがコスト閾値を超える場合、ツリー探索は、第一の候補軌道216に関連付けられるブランチの探索から、第二の候補軌道218または第三の候補軌道220に関連付けられる別のブランチの探索に変更することができる。ブランチを変更することは、様々なブランチのコストを相互に比較し、探索するためのより低いコストを有するブランチを特定することに基づいてもよいし、またはそうでなくてもよい。ツリー探索は、例えば、それぞれの各ブランチについて集約されたコスト値を相互に、および/またはコスト閾値と比較し、他のブランチのコストに対して最も低い全体コストを有するブランチに基づいて、車両が追従するための軌道を決定し得る。分かり易くするために、ブランチを探索することは、将来に亘って経時的に候補軌道を追跡することに対応することができる。そのため、ツリー探索を実行することは、一定期間に亘って潜在的な軌道を追従することに関連付けられる動作およびコストを追跡することによって、車両に関する軌道を予測することを含むことができる。
【0041】
幾つかの例では、ツリー探索は、将来に亘って様々な時刻に関連付けられる候補軌道の一部(例えば、異なる潜在的軌道の断片的な合計など)を組み合わせることによって、車両に関する軌道を決定し得る。例えば、第一の期間について、第一の候補軌道216が車両102に対して最も低い全体コストを、従って最も安全な軌道を表すことがあるが、第二の期間について、第二の候補軌道218が最も低い全体コストを表すことがある。このような例では、集約コンポーネント208は、局所最適化技術(例えば、アルゴリズムによって引き起こされる最適化操作など)を適用して、ブランチ間の遷移を平滑化し、異なる候補軌道の一部を組み合わせて、将来に亘って車両を制御するために使用可能な計画軌道を形成することができる。ある時点における候補軌道間の遷移は、例えば、ツリー探索がブランチを変更する時刻に対応することができる。したがって、ツリー探索は、予め決定された時間期間に亘って異なる時刻に複数の潜在的軌道に関連付けられるコストを決定し、各ブランチが処理された時間量、ブランチの変更が発生した時刻、および/または各ブランチに関連付けられるコストに基づいて車両軌道を決定することができる。
【0042】
幾つかの例では、集約コンポーネント208は、一定期間(例えば、8秒先、または他の期間先の未来のコストを予測すること)に亘る時間内の各瞬間に対するコスト(例えば、障害物コスト、および車線変更コストなど)を集約することができる。例えば、集約コンポーネント208は、8秒間の0.5秒毎に4個の異なるコスト(または他の個数のコスト)に対するヒートマップを生成し得て、これにより、64(4個のコスト×16個の時間瞬間)のヒートマップは、車両の動作を決定するために評価される。
【0043】
合理化コンポーネント210は、集約コンポーネント208がオブジェクト212に対して車両102を制御するために、候補軌道の一部を決定した理由、もしくは使用した理由、または使用しなかった理由を解釈するために使用可能なメタデータ、または解釈可能性データを決定する機能を表している。例えば、合理化コンポーネント210は、センサーデータ、マップデータ、車両状態データ、オブジェクト状態データ、優先通行権を記述する道路規則データ、車両状態またはオブジェクト状態における経時変化に関連する履歴データ等に基づいて、環境200、車両102、およびオブジェクト212を記述するデータを特定することができる。一般に、メタデータは、2Dマップの一つまたは複数の領域に関連付けることができる。幾つかの例では、合理化コンポーネント210は、種々の例において、ヒートマップのコストを用いてメタデータに注釈を付けることができる。メタデータおよびコストを注釈することにより、合理化コンポーネント210は、車両102の候補軌道を決定するための一つまたは複数の理由を提供することができる。一つの具体例では、合理化コンポーネント210は、異なるコストを有するメタデータの注釈を使用して、ツリー検索のブランチが放棄されるか、または選択される理由を特定することができる。換言すると、ブランチに関連付けられるコストがコスト閾値を超える場合、メタデータは、ブランチが放棄された理由を提供することができる。
【0044】
一般に、合理化コンポーネント210は、車両の意図および/または環境の特性(例えば、候補軌道に対して車両が何をしているか)を表すメタデータを出力する。メタデータは、各軌跡に沿った車両による動作または挙動(例えば、「車両を追従し続ける」、「車線内に留まる」等)を示すことができる。また、メタデータは、天候、交差点情報、および/またはオブジェクトの挙動(例えば、不規則なオブジェクトまたは攻撃的なオブジェクトなど)をコストに関連付けることができる。種々の例では、メタデータは、時間情報(例えば、時間または時間期間など)を含むことができ、これにより、車両挙動、オブジェクト挙動、および/または軌道は、時間と関連付けられる。例えば、計画コンポーネント104は、時間情報に基づいて、計画軌道および/または候補軌道とメタデータとを関連付けることができる。
【0045】
合理化コンポーネント210は、幾つかの例では、離散化表現のセルのコストを比較することができる。例えば、候補軌道(またはその一部)を計画軌道として選択するか、または選択しない根本原因は、選択された軌道に関連付けられるコストと、選択されない軌道に関連付けられるコストとの差に少なくとも部分的に基づくことができる。そのため、軌道を選択するための根本的な原因は、異なる軌道間のコストを比較することと、コスト間の差を決定することと、少なくとも幾つかの例では、総計のどのコストが最終的な候補軌道に最も大きく寄与した要因であったかとに少なくとも部分的に基づくことができる。
【0046】
種々の例では、合理化コンポーネント210は、メタデータに関連付けられる確実性、または確信度(例えば、横断歩道における歩行者に基づいて、車両が停止しているか、または他の車両を追従しているという50%の確信度)を出力することができる。例えば、合理化コンポーネント210は、メタデータの決定における確実性(例えば、軌道を選択および/または選択しないための理由など)の程度を示す信頼値を決定することができる。メタデータに関連付けられる信頼値は、訓練中に合理化コンポーネント210による将来の予測を改善するために使用することができるか、または車両動作に対する全体的な理由を特定するために相互に比較することができる。
【0047】
合理化コンポーネント210によって出力されるメタデータは、幾つかの例では、別のモデルまたはコンポーネントからのデータに少なくとも部分的に基づいて決定することができる。例えば、機械学習モデルは、車両102が環境内で特定の態様において動作する理由を示す入力データを合理化コンポーネント210に提供することができる。幾つかの例では、機械学習モデルは、計画コンポーネント104と並行して作動する別の計画コンポーネントを表すことができ、機械学習モデルからのデータは、合理化コンポーネント210によって処理されて、機械学習モデルからの決定または予測に基づいて、メタデータを出力することができる。
【0048】
合理化コンポーネント210は、車両内のユーザーインターフェースのような表示機器上で提示するためのメタデータを出力して、車両102が環境の特性に対してどのように、および/またはなぜ移動しているかを提示する(例えば、環境内のオブジェクトに対する計画軌道を示す)ことができる。表示機器上における提示のためにメタデータを出力することは、車両102を雇ったユーザーに関連付けられるモバイル機器上にメタデータの提示を引き起こすことを含んでもよいし、またはそうしなくてもよい。例えば、表示機器は、車両の近傍において感知された別の車両、歩行者等の画像を提示して、現在および将来の車両操作の状況をユーザーに与え得る。提示のためにメタデータを出力することは、車両102内の機器、および/またはユーザーに関連付けられる機器上において音声を出力することも含み得る。
【0049】
合理化コンポーネント210は、車両コンピューティング機器の一つまたは複数のコンポーネントを訓練するためのメタデータを出力することができるし、またはそうしないこともできる。例えば、コンピューティング機器は、候補軌道が選択される理由、または選択されない理由(例えば、ツリー探索のブランチが変更される理由等)を記述するメタデータに少なくとも部分的に基づいて、合理化コンポーネント210を訓練することができる。コンピューティング機器は、モデルの訓練中にメタデータを使用して、特定の候補軌道(またはその一部)が計画軌道として決定された理由、または決定されなかった理由を「理解する(understand)」ことができる。幾つかの例では、合理化コンポーネント210による将来のメタデータ決定を改善するために、人間がラベル付けした訓練データ(例えば、3秒カット画面におけるシーンの説明など)を使用することができる。
【0050】
合理化コンポーネント210によって出力されるメタデータは、ツリー検索において使用されるブランチの量を変更(例えば、増加または減少)する(例えば、設定可能なパラメータを調整する)ことによって、軌跡決定を改善するために使用されてもよいし、またはそうしなくてもよい。例えば、複数の歩行者がいる領域において以前に使用された軌跡を示すメタデータは、将来のツリー検索中に考慮される候補軌跡の個数を増加させるために使用することができる。
【0051】
追加的に、または代替的に、合理化コンポーネント210によって出力されるメタデータは、一つまたは複数の候補軌道に関連付けられる一つまたは複数のコストを変更するために使用され得る。例えば、コスト決定コンポーネント206は、以前の軌道が使用された理由、または使用されなかった理由を説明するメタデータに基づいて、一つまたは複数のコストを増減することができる。一つの具体例では、歩行者コストおよび/または進行コストは、あるエリアが典型的に複数の歩行者と関連付けられることを示すメタデータに基づいて、より高く調整され得る。したがって、コスト決定コンポーネント206は、メタデータを使用して訓練されることに基づいて、時間の経過と共にコスト決定を改善する(例えば、より正確なコストを提供する)ことができ、それによって、車両が航法する際の車両の安全性を改善する。
【0052】
幾つかの例では、コンピューティング機器202は、メタデータをデータベース、メモリ、または他の保存場所に格納することができる。例えば、合理化コンポーネント210は、後で使用するためにメタデータを記録する(例えば、経時的なデータを記録する)ことができる。環境における様々なシナリオを記述するメタデータは、メタデータを車両102または他のオブジェクトによる動作に関連付けるための時間情報を含むことができる。種々の例では、メタデータを記録することは、車両102が環境内を航法する際に発生することができる。
【0053】
幾つかの例では、合理化コンポーネント210は、車両102の計画コンポーネント(例えば、図4の計画コンポーネント426など)を含む車両コンピューティング機器における一つまたは複数のコンポーネントにメタデータを出力して、計画コンポーネントが決定または決定を改善、検証、または強化することを可能にすることができる。例えば、計画コンポーネントが左折してウィンカーを作動させることを決定した場合、計画コンポーネントは、メタデータを使用して、同様の左折(または他の車両動作)において一貫した将来の計画決定を引き起こすことができる。当然のことながら、車両コンピューティング機器の他のコンポーネントは、メタデータを使用して、決定を改善する(例えば、センサー較正、および車両位置特定などを改善する)ことができるし、またはそうしないこともできる。
【0054】
図3は、別の例示的な環境300を示す説明図であり、この環境例では、例示的な車両(車両102)が計画コンポーネント(計画コンポーネント104)を適用して車両軌道を予測する。環境300は、コンピューティング機器202を含むが、他の例では、環境300において説明される技法は、車両コンピューティング機器404および/またはコンピューティング機器436によって実行され得る。
【0055】
図3に描写されるように、計画コンポーネント104は、マップ生成コンポーネント204、コスト決定コンポーネント206、集約コンポーネント208、および合理化コンポーネント210から構成され、車両軌道302を予測して、車両102が交差点で曲がる(例えば、保護されていない左折など)ことを可能にする。例えば、計画コンポーネント104は、入力データ106を受信し、車両が車両軌道302に沿って停止点304で停止すべきか否かを決定して、オブジェクト306(歩行者)および/またはオブジェクト308(別の車両)を安全に通過させることを可能にすることができる。例えば、計画コンポーネント104は、歩行者306に関するオブジェクト軌跡310と、車両308に対する第一のオブジェクト軌跡312および第二のオブジェクト軌跡314を決定することに基づいて、停止点304で、またはその近傍で停止するか否かを予測することができる。(右折するための)第一のオブジェクト軌道312と、(直進するための)第二のオブジェクト軌道314とは、車両308が将来の時点で追従する可能性のある二つの軌道を表している。他の例では、計画コンポーネント104は、環境300内の各オブジェクトについて、任意数のオブジェクト軌道を決定することができる。
【0056】
計画コンポーネント104は、マップ生成コンポーネント204を実装して、歩行者306の前方における領域と、車両308の前方における別の領域とを含む、車両軌道302に沿った様々な領域について、ヒートマップを決定することができる。幾つかの例では、マップ生成コンポーネント204は、センサーデータ、マップデータ、状態データ、および/または特徴データに基づいて、ヒートマップを決定する。環境300において、マップ生成コンポーネント204は、交差点、左折、横断歩道、および対向オブジェクトなどに関連付けられる特徴データに基づいて、ヒートマップを生成することができる。コスト決定コンポーネント206は、ヒートマップの各々についてコストを決定することができ、集約コンポーネント208は、コストを組み合わせて、停止点304において制動を掛けるか、減速して停止しないか、停止するか、または加速するかを決定することができる。
【0057】
合理化コンポーネント210は、制御されていない交差点、および交通信号のある交差点などとして、環境200を記述するメタデータを生成することができる。メタデータは、オブジェクト軌道310に関連付けられる速度、第一のオブジェクト軌道312に関連付けられる速度、および第二のオブジェクト軌道314に関連付けられる速度に応じて、歩行者306および車両308に対して潜在的な交差点を有する左折として、車両102を記述することもできる。
【0058】
図4は、本明細書に説明される技法を実装するための例示的なシステム400を示すブロック図である。少なくとも一つの例では、システム400は、図1を参照して上述される車両102と同じ車両とすることができる車両402を含むことができる。
【0059】
車両402は、車両コンピューティング機器404(例えば、一つまたは複数の機器など)、一つまたは複数のセンサーシステム406、一つまたは複数のエミッタ408、一つまたは複数の通信接続410、少なくとも一つの直接接続412、および一つまたは複数の駆動システム414を含み得る。
【0060】
車両コンピューティング機器404は、一つまたは複数のプロセッサ416と、一つまたは複数のプロセッサ416と通信可能に結合されたメモリ418とを含み得る。図示される例では、車両402は、自律走行車両であるが、車両402は、半自律走行車両のような他の任意種類の車両、または少なくとも画像捕捉機器(例えば、カメラ対応スマートフォンなど)を有する他の任意システムとすることができる。幾つかの実例では、自律走行車両402は、米国道路交通安全局によって発行されたレベル5の分類に従って動作するように構成される自律走行車両とし得て、この分類は、運転者(または乗員)が何時でも車両を制御することが期待されない状態で、全行程に対して安全上重要な機能を全て実行することが可能である車両を記述している。ただし、他の例では、自律走行車両402は、他の任意レベルまたは分類を有する完全または部分的な自律走行車両とし得る。
【0061】
種々の例では、車両コンピューティング機器404は、推定状態のセットの終了時(例えば、期間の終了時など)におけるオブジェクトの実際の位置に関連付けられるセンサーデータを保存し得て、訓練データとしてこのデータを使用して、一つまたは複数のモデルを訓練し得る。幾つかの例では、車両コンピューティング機器404は、データ解析のために、遠隔コンピューティング機器(すなわち、コンピューティング機器436のような車両コンピューティング機器とは別のコンピューティング機器)にデータを提供し得る。このような例では、遠隔コンピューティング機器は、センサーデータを解析して、推定状態のセットの終了時におけるオブジェクトに関する実際の位置、速度、または進行方向などを決定し得る。実際の位置および予測された位置、ならびに/または予測された軌道との間の差異を最小化することによって、保存されたセンサーデータに基づいて機械学習モデルを訓練することの追加の詳細は、2019年3月12日に出願され、「外観に基づく動き予測」と題する米国特許出願第16/282,201号に記載されており、これは、あらゆる目的のために参照により本明細書に組み込まれる。
【0062】
図示された実施例では、車両コンピューティング機器404のメモリ418は、位置特定コンポーネント420、認識コンポーネント422、予測コンポーネント424、計画コンポーネント426、一つまたは複数のシステムコントローラ428、一つまたは複数のマップ430、および第一のモデル434A、第二のモデル434B、N番目のモデル434N(集合的に「モデル434」)までなどの、一つまたは複数のモデルを含むモデルコンポーネント432を格納し、ここで、Nは、整数である。図4では、例示のためにメモリ418に存在するように描写されるが、位置特定コンポーネント420、認識コンポーネント422、予測コンポーネント424、計画コンポーネント426、一つまたは複数のシステムコントローラ428、一つまたは複数のマップ430、および/またはモデル434を含むモデルコンポーネント432は、追加的に、または代替的に、車両402にアクセス可能とし得る(例えば、遠隔コンピューティング機器436のメモリ440上などの、車両402から離れたメモリ上に格納されるか、またはそうでなければそのメモリによってアクセス可能である)ことが考えられる。
【0063】
少なくとも一つの例では、位置特定コンポーネント420は、センサーシステム406からデータを受信して、車両402の位置および/または向き(例えば、x位置、y位置、z位置、ロール、ピッチ、またはヨーのうちの一つまたは複数など)を決定し得る。例えば、位置特定コンポーネント420は、マップ430および/またはマップコンポーネント446からなどの、環境のマップを含み、および/または要求/受信し得て、マップ内の自律走行車両の位置および/または向きを継続的に決定し得る。幾つかの実例では、位置特定コンポーネント420は、SLAM(位置特定およびマッピングの同時実行)、CLAMS(較正、位置特定、およびマッピングの同時実行)、相対SLAM、バンドル調整、または非線形最小二乗最適化などを利用して、画像データ、LIDARデータ、レーダーデータ、IMUデータ、GPSデータ、およびホイールエンコーダデータなどを受信し、自律走行体の位置を正確に決定し得る。幾つかの実例では、位置特定コンポーネント420は、本明細書で説明されるように、車両402における種々のコンポーネントにデータを提供して、車両402に対するオブジェクトの関連性を決定するための自律走行車両の初期位置を決定し得る。
【0064】
幾つかの実例では、認識コンポーネント422は、オブジェクト検出、セグメンテーション、および/または分類を実行し得る。幾つかの例では、認識コンポーネント422は、車両402に近接しているオブジェクト(例えば、エンティティなど)の存在を示す、処理済みのセンサーデータ、および/またはオブジェクトの種類(例えば、自動車、歩行者、自転車乗り、動物、建物、樹木、路面、縁石、歩道、不明等)としてのオブジェクトの分類を提供し得る。幾つかの例では、認識コンポーネント422は、車両402に近接している静止エンティティの存在、および/または種類(例えば、建物、樹木、路面、縁石、歩道、不明等)としての静止エンティティの分類を示す処理されたセンサーデータを提供することができる。追加例または代替例では、認識コンポーネント422は、検出されたオブジェクト(例えば、追跡されたオブジェクトなど)および/またはオブジェクトが配置される環境に関連付けられる一つまたは複数の特徴を示す、処理済みのセンサーデータを提供し得る。実装では、認識コンポーネント422は、連結式車両のような多関節形オブジェクトを特に識別することができる。幾つかの例では、オブジェクトに関連付けられる特徴は、x位置(グローバル位置および/またはローカル位置)、y位置(グローバル位置および/またはローカル位置)、z位置(グローバル位置および/またはローカル位置)、向き(例えば、ロール、ピッチ、ヨーなど)、オブジェクトの種類(例えば、分類など)、オブジェクトの速度、オブジェクトの加速度、オブジェクトの範囲(サイズ)等を含み得るが、これらに限定されない。環境に関連付けられる特徴には、環境内の別のオブジェクトの存在、環境内の別のオブジェクトの状態、時刻、曜日、季節、天候状態、暗さ/明るさの表示等が含まれるが、これらに限定されない。
【0065】
予測コンポーネント424は、環境内の一つまたは複数のオブジェクトの可能な位置の予測確率を表す、一つまたは複数の確率マップを生成することができる。例えば、予測コンポーネント424は、車両402から閾値距離内にある多関節形オブジェクト、車両、歩行者、および動物などに対する一つまたは複数の確率マップを生成することができる。幾つかの実例では、予測コンポーネント424は、オブジェクトの軌跡を測定し、観察された挙動および予測された挙動に基づいて、離散型予測確率マップ、ヒートマップ、確率分布、離散型確率分布、および/またはオブジェクトに関する軌跡を生成することができる。幾つかの実例では、一つまたは複数の確率マップは、環境内の一つまたは複数のオブジェクトの意図を表すことができる。
【0066】
幾つかの例では、予測コンポーネント424は、環境内のオブジェクト(例えば、多関節形オブジェクトなど)の予測軌道を生成し、および/または車両402に関する予測された候補軌道を生成し得る。例えば、予測コンポーネント424は、車両402から閾値距離内にあるオブジェクトの一つまたは複数の予測軌道を生成し得る。幾つかの例では、予測コンポーネント424は、オブジェクトの形跡を測定し、観察された挙動および予測された挙動に基づいて、オブジェクトに関する軌道を生成し得る。
【0067】
一般に、計画コンポーネント426は、車両402が追従して環境を通過するための経路を決定し得る。例えば、計画コンポーネント426は、種々のルートおよび軌道、ならびに種々の詳細レベルを決定し得る。例えば、計画コンポーネント426は、第一の場所(例えば、現在の場所など)から第二の場所(例えば、目標の場所など)まで移動するためのルートを決定し得る。この説明の目的のために、ルートは、二つの場所間を移動するための一連の中間地点を含み得る。非限定的な例として、中間地点は、街路、交差点、全地球測位システム(GPS)座標等を含む。さらに、計画コンポーネント426は、第一の場所から第二の場所までのルートの少なくとも一部に沿って、自律走行車両を誘導するための命令を生成し得る。少なくとも一つの例では、計画コンポーネント426は、一連の中間地点における第一の中間地点から一連の中間地点における第二の中間地点へ自律走行車両を誘導する方法を決定し得る。幾つかの例では、命令は、候補軌道、または軌道の一部とし得る。幾つかの例では、複数の軌道は、後退地平線法に従って実質的に同時に(例えば、技術的な許容範囲内で)生成され得る。最も高い信頼レベルを有する後退データ地平線における複数の経路のうちの単一の経路が、車両を動作させるために選択され得る。種々の例では、計画コンポーネント426は、モデルコンポーネント432の出力を表すデータの受信に少なくとも部分的に基づいて、車両402に関する軌道(例えば、計画軌道など)を決定することができる。
【0068】
他の例では、計画コンポーネント426は、代替的に、または追加的に、位置特定コンポーネント420、認識コンポーネント422、および/または予測コンポーネント424からのデータを使用して、車両402が追従して環境内を通過するための経路を決定することができる。例えば、計画コンポーネント426は、環境に関連付けられるオブジェクトに関して、位置特定コンポーネント420、認識コンポーネント422、および/または予測コンポーネント424からデータを受信することができる。このデータを使用して、計画コンポーネント426は、第一の場所(例えば、現在の場所など)から第二の場所(例えば、目標の場所など)まで移動するための経路を決定して、環境内のオブジェクトを回避することができる。少なくとも幾つかの例では、そのような計画コンポーネント426は、そのような衝突の無い経路が存在しないと判定し、その結果、全ての衝突を回避し、および/またはそうでなければ損傷を軽減して、車両402を安全な停止に導く経路を提供し得る。追加的に、または代替的に、計画コンポーネント426は、図1ないし3および他の箇所で説明されるように、計画コンポーネント104から受信されたデータに少なくとも部分的に基づいて、車両402が追従するための経路を決定することができる。
【0069】
少なくとも一つの例では、車両コンピューティング機器404は、一つまたは複数のシステムコントローラ428を含み得て、これは、車両402における操舵、推進力、制動、安全、エミッタ、通信、および他のシステムを制御するように構成され得る。システムコントローラ428は、駆動システム414および/または車両402の他のコンポーネントの対応するシステムと通信し、および/または制御し得る。
【0070】
メモリ418は、車両402によって使用されて、環境内を航法し得る、一つまたは複数のマップ430をさらに含み得る。この説明の目的のために、マップは、以下に限定されない、トポロジー(交差点など)、街路、山系、道路、地形、および一般的な環境などの、環境に関する情報を提供することが可能である、二次元、三次元、またはN次元にモデル化された任意数のデータ構造とし得る。幾つかの実例では、マップは、以下を含むが、これらに限定されない。すなわち、テクスチャ情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)など)、強度情報(例えば、LIDAR情報、およびレーダー情報など)、空間情報(例えば、メッシュ上に投影された画像データ、個々の「サーフェル(surfels)」(例えば、個々の色および/または強度に関連付けられるポリゴンなど))、反射率情報(例えば、鏡面反射率情報、再帰反射率情報、BRDF情報、およびBSSRDF情報など)。一例では、マップは、環境の三次元メッシュを含み得る。幾つかの例では、車両402は、マップ430に少なくとも部分的に基づいて制御され得る。すなわち、マップ430は、位置特定コンポーネント420、認識コンポーネント422、予測コンポーネント424、および/または計画コンポーネント426と関連して使用されて、車両402の位置を決定し、環境内のオブジェクトを検出し、ルートを生成し、動作および軌道を決定して、環境内を航法し得る。
【0071】
幾つかの例では、一つまたは複数のマップ430は、ネットワーク442を介してアクセス可能な遠隔コンピューティング機器(コンピューティング機器436など)に格納され得る。幾つかの例では、複数のマップ430は、例えば、特性(例えば、エンティティの種類、時刻、曜日、季節等)に基づいて格納され得る。複数のマップ430を格納することは、同様のメモリ要件を有するが、マップ内のデータがアクセスされ得る速度を増加させ得る。
【0072】
図4に例証されるように、車両コンピューティング機器404は、モデルコンポーネント432を含み得る。モデルコンポーネント432は、車両402、オブジェクト(オブジェクト110、112、212、306、および308)、ならびにメタデータに対する軌道予測を含む、計画コンポーネント104の機能を実行するように構成され得る。種々の例では、モデルコンポーネント432は、認識コンポーネント422から、および/またはセンサーシステム406から検出されたオブジェクトに関連付けられる一つまたは複数の特徴を受け取り得る。例えば、モデルコンポーネント432は、車両402、環境、および/または環境内のオブジェクトに関連付けられるデータ、例えば、センサーデータ、特徴データ等を受信することができる。特徴データは、環境内の領域および/または車両に対する制御方針(例えば、車線内に留まる、車線を変更する、ウィンカーを操作する、制動を掛ける、および加速する、など)を表し得る。幾つかの例では、モデルコンポーネント432は、認識コンポーネント422および/またはセンサーシステム406から、環境特性(例えば、環境要因等)および/または天候特性(例えば、雪、雨、氷等の天候要因など)を受信し得る。図4に別個に示されているが、モデルコンポーネント432は、予測コンポーネント424、計画コンポーネント426、または車両402の他のコンポーネントの一部とすることができる。
【0073】
種々の例では、モデルコンポーネント432は、予測コンポーネント424および/または計画コンポーネント426によって使用され得る、一つまたは複数のモデル434からの予測を送信して、それらの予測コンポーネントからなどの、車両の一つまたは複数の予測軌道(例えば、進行方向、速度等)、および/またはオブジェクトの一つまたは複数の予測軌道(例えば、進行方向、速度等)を生成し得る。幾つかの例では、計画コンポーネント426は、車両候補軌道などの、車両402に関する一つまたは複数の動作(例えば、基準動作および/またはサブ動作など)を決定し得る。幾つかの例では、モデルコンポーネント432は、車両402に関する一つまたは複数の動作に少なくとも部分的に基づいて、オブジェクトが車両402と交差するか否かを判定するように構成され得る。幾つかの例では、モデルコンポーネント432は、環境特性、または天候特性などに基づくような、環境に適用可能である動作を決定するように構成され得る。
【0074】
モデルコンポーネント432は、一定期間に亘って、車両と、環境内前方の一つまたは複数の検出されたオブジェクトとの推定状態のセットを生成し得る。モデルコンポーネント432は、環境に適用可能な各動作(例えば、基準動作および/またはサブ動作など)について、推定状態のセットを生成し得る。推定状態のセットは、一つまたは複数の推定状態を含み得て、各推定状態は、車両の推定位置、および検出されたオブジェクトの推定位置を含む。幾つかの例では、推定状態は、初期時刻(T=0)(例えば、現在時刻など)における検出オブジェクトの推定位置を含み得る。
【0075】
モデルコンポーネント432は、オブジェクトに関連付けられる検出された軌道、および/または予測された軌道に基づいて、推定位置を決定し得る。幾つかの例では、推定位置を決定することは、実質的に一定の速度および/または実質的に一定の軌道(例えば、オブジェクトの横方向の移動がほとんど無いなど)の仮定に基づいてもよい。幾つかの例では、推定位置(および/または潜在的軌道)は、受動的予測および/または能動的予測に基づいてもよい。幾つかの例では、モデルコンポーネント432は、予測された軌道および/またはオブジェクトの推定位置を決定するために、物理学および/または幾何学に基づく技法、機械学習、線形時間論理、ツリー探索法、ヒートマップ、および/または他の技法を利用してもよい。
【0076】
種々の例では、推定状態は、時間期間を通じて周期的に生成され得る。例えば、モデルコンポーネント432は、時間期間を通じて0.1秒間隔で推定状態を生成してもよい。別の例として、モデルコンポーネント432は、0.05秒間隔で推定状態を生成してもよい。推定状態は、環境において車両402が取るべき動作を決定する際に、計画コンポーネント426によって使用され得る。
【0077】
種々の例では、モデルコンポーネント432は、機械学習技術を利用して、評価された軌道に関連付けられるリスクを予測し得る。そのような例では、機械学習アルゴリズムは、センサーデータおよび/またはモデルによる以前の予測に基づいて、オブジェクトが、推定状態のセット(例えば、時間期間など)の間の特定の時刻に、車両402に対して特定の態様で挙動する可能性が高いことを決定するように訓練され得る。このような例では、車両402の状態(位置、速度、加速度、軌道等)、および/またはオブジェクトの状態、分類等のうちの一つまたは複数が、このような機械学習モデルに入力されてもよく、その結果、モデルによって挙動予測が出力されてもよい。
【0078】
種々の例では、各オブジェクト種類に関連付けられる特性は、オブジェクト間、および/または車両402と一つまたは複数のオブジェクトとの間の潜在的な交差を予測するためのオブジェクト速度または加速度を決定するために、モデルコンポーネント432によって使用され得る。オブジェクト種類の特性の例は、以下を含み得るが、これらに限定されない。すなわち、最大縦加速度、最大横加速度、最大垂直加速度、最大速度、および所与の速度に対する最大方向変化など。
【0079】
理解できるように、本明細書において説明されるコンポーネント(例えば、位置特定コンポーネント420、認識コンポーネント422、予測コンポーネント424、計画コンポーネント426、一つまたは複数のシステムコントローラ428、一つまたは複数のマップ430、モデル434を含むモデルコンポーネント432)は、例証を目的として分割されたものとして説明されている。しかしながら、種々のコンポーネントによって実行される操作は、他の任意コンポーネントにおいて組み合わされてもよいし、または実行されてもよい。
【0080】
本明細書において説明される技法が車両の計画コンポーネントおよび/またはモデルコンポーネントによって実装される例が与えられているが、幾つかの例では、本明細書において説明される技法の一部または全部が、二次安全システムなどの車両の別のシステムによって実装することができる。一般に、このようなアーキテクチャは、車両402を制御するための第一のコンピューティング機器と、主要なシステムの動作を検証し、車両402を制御して衝突を回避するために、車両402上で動作する第二の安全システムとを含み得る。
【0081】
幾つかの実施態様では、本明細書において説明されるコンポーネントの一部または全部の態様は、任意のモデル、技法、および/または機械学習技術を含み得る。例えば、幾つかの実例では、メモリ418(および後述されるメモリ440)内のコンポーネントは、ニューラルネットワークとして実装されてもよい。
【0082】
本明細書において説明されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に通して、出力を生成する技術である。ニューラルネットワークにおける各層は、別のニューラルネットワークを含んでもよいし、または任意数の層(畳み込み型であるか否かに関わらず)を含んでもよい。本開示の関連で理解できるように、ニューラルネットワークは、機械学習を利用してもよく、これは、学習されたパラメータに基づいて出力が生成される、このような技術の広範なクラスを指すことがある。
【0083】
ニューラルネットワークの関連で説明されるが、本開示と矛盾しない任意種類の機械学習が使用され得る。例えば、機械学習技術には、以下が含まれるが、これらに限定されない。すなわち、回帰技法(例えば、通常最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS)、局所的に推定された散布図平滑化(LOESS)など)、インスタンスに基づくの技法(例えば、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、エラスティックネット、最小角度回帰(LARS)など)、デシジョンツリー技法(例えば、分類および回帰ツリー(CART)、反復二分法3(ID3)、カイ二乗自動交互作用検出(CHAID)、決定スタンプ、条件付きデシジョンツリーなど)、ベイジアン技法(例えば、単純ベイズ、ガウス単純ベイズ、多項単純ベイズ、平均1依存推定量(AODE)、ベイジアン信念ネットワーク(BNN)、ベイジアンネットワークなど)、クラスタリング技法(例えば、k平均法、k中央値、期待値最大化(EM)、階層的クラスタリングなど)、相関ルール学習技法(例えば、パーセプトロン、逆伝搬、ホップフィールド・ネットワーク、放射基底関数ネットワーク(RBFN)など)、深層学習技法(ディープ・ボルツマン・マシン(DBM)、ディープ信念ネットワーク(DBN)、畳み込み型ニューラルネットワーク(CNN)、スタックド自動エンコーダーなど)、次元削減技法(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモン・マッピング、多次元尺度法(MDS)、射影追求、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、フレキシブル判別分析(FDA)など)、アンサンブル技法(例えば、ブースティング、ブートストラップ集約(バギング)、アダプティブブースティング、スタック汎化(ブレンド)、勾配ブースティング・マシン(GBM)、勾配ブースト回帰ツリー(GBRT)、ランダムフォレストなど)、SVM(サポート・ベクター・マシン)、教師あり学習、教師なし学習、半教師あり学習等。アーキテクチャの追加の例には、ResNet50、ResNet101、VGG、DenseNet、およびPointNetなどの、ニューラルネットワークが含まれる。
【0084】
少なくとも一つの例では、センサーシステム406は、以下を含む。すなわち、LIDARセンサー、レーダーセンサー、超音波トランスデューサ、ソナーセンサー、位置センサー(例えば、GPS、コンパス等)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープ等)、カメラ(例えば、RGB、IR、強度、深度、飛行時間等)、マイクロフォン、ホイールエンコーダ、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサー等)等。センサーシステム406は、これらのセンサー、または他種類のセンサーの各々の複数の実例を含み得る。例えば、LIDARセンサーは、車両402のコーナー、前面、背面、側面、および/または上面に配置された個々のLIDARセンサーを含み得る。別の例として、カメラセンサーは、車両402の外部および/または内部に関する種々の位置に配置された複数のカメラを含み得る。センサーシステム406は、車両コンピューティング機器404に入力を提供し得る。追加的に、または代替的に、センサーシステム406は、特定の頻度で、事前決定の時間期間の経過後に、ほぼリアルタイム等において、一つまたは複数のネットワーク442を介してセンサーデータを一つまたは複数のコンピューティング機器436に送信し得る。
【0085】
また、車両402は、光および/または音を発するための一つまたは複数のエミッタ408を含み得る。エミッタ408は、車両402の同乗者と通信するための室内音声および視覚エミッタを含み得る。限定ではなく例として、内部エミッタは、スピーカ、ライト、標識、表示スクリーン、タッチスクリーン、触覚エミッタ(例えば、振動および/または力フィードバックなど)、および機械的アクチュエータ(例えば、シートベルト・テンショナー、シート・ポジショナー、ヘッドレスト・ポジショナー等)などを含み得る。エミッタ408は、外部エミッタを含むこともある。限定ではなく例として、外部エミッタは、進行方向を知らせるためのライト、または車両動作の他のインジケータ(例えば、インジケータライト、標識、ライトアレイ等)、および歩行者または他の近くの車両と聴覚的に通信するための一つまたは複数の音声エミッタ(例えば、スピーカ、スピーカアレイ、ホーン等)を含んでもよく、そのうちの一つまたは複数は、音響ビームステアリング技術を含む。
【0086】
また、車両402は、車両402と、一つまたは複数の他の局所コンピューティング機器または遠隔コンピューティング機器との間の通信を可能にする、一つまたは複数の通信接続410を含み得る。例えば、通信接続410は、車両402および/または駆動システム414上の他の局所コンピューティング機器に対する通信を容易にし得る。また、通信接続410は、車両が、他の近くのコンピューティング機器(例えば、遠隔コンピューティング機器436、他の近くの車両等)、および/またはセンサーデータを受信するための一つまたは複数の遠隔センサーシステム444と通信することを可能にし得る。また、通信接続410は、車両402がリモート遠隔操作コンピューティング機器または他の遠隔サービスと通信することを可能にする。
【0087】
通信接続410は、車両コンピューティング機器404を別のコンピューティング機器、またはネットワーク442ようなネットワークに接続するための物理的インターフェースおよび/または論理的インターフェースを含み得る。例えば、通信接続410は、IEEE 802.11規格によって規定された周波数を介するようなWi-Fiに基づく通信、Bluetoothのような近距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5G等)、またはそれぞれのコンピューティング機器が他のコンピューティング機器とインターフェースすることを可能にする、任意の適切な有線通信または無線通信プロトコルを可能にすることができる。
【0088】
少なくとも一つの例では、車両402は、一つまたは複数の駆動システム414を含み得る。幾つかの例では、車両402は、単一の駆動システム414を有し得る。少なくとも一つの実施例では、車両402が複数の駆動システム414を有する場合、個々の駆動システム414は、車両402の対向する端部(例えば、前部および後部等)に配置され得る。少なくとも一つの例では、駆動システム414は、駆動システム414、および/または車両402の周囲の状態を検出するための一つまたは複数のセンサーシステムを含み得る。限定ではなく例として、センサーシステムは、駆動モジュールのホイールの回転を感知するための一つまたは複数のホイールエンコーダ(例えば、ロータリーエンコーダなど)、駆動モジュールの向きおよび加速度を測定するための慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計等)、カメラまたは他の画像センサー、駆動モジュールの周囲におけるオブジェクトを音響的に検出するための超音波センサー、LIDARセンサー、レーダーセンサー等を含み得る。ホイールエンコーダのような幾つかのセンサーは、駆動システム414に固有とし得る。場合によっては、駆動システム414上のセンサーシステムは、車両402の対応するシステム(例えば、センサーシステム406など)と重複したり、または補完したりすることがある。
【0089】
駆動システム414は、以下を含む多数の車両システムを含み得る。すなわち、高電圧バッテリ、車両を推進するためのモータ、バッテリからの直流電流を他の車両システムによって使用するための交流電流に変換するインバータ、ステアリングモータおよびステアリングラック(電気式とすることができる)を含む操舵システム、油圧または電気アクチュエータを含む制動システム、油圧式および/または空気圧式コンポーネントを含むサスペンションシステム、トラクションの損失を緩和して制御を維持するために制動力を分配するための安定性制御システム、HVACシステム、照明(例えば、車両の外部周囲を照らすためのヘッドライト/テールライトなどの照明など)、および一つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバータ、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポート等の他の電気式コンポーネント)。さらに、駆動システム414は、センサーシステムからデータを受信して前処理し、各種車両システムの動作を制御するための駆動モジュールコントローラを含み得る。幾つかの例では、駆動モジュールコントローラは、一つまたは複数のプロセッサと、一つまたは複数のプロセッサと通信可能に結合されたメモリとを含み得る。メモリは、駆動システム414の各種機能性を実行するための一つまたは複数のモジュールを格納し得る。さらに、駆動システム414は、それぞれの駆動モジュールによって、一つまたは複数の他の局所コンピューティング機器または遠隔コンピューティング機器に対する通信を可能にする、一つまたは複数の通信接続を含み得る。
【0090】
少なくとも一つの例では、直接接続412は、一つまたは複数の駆動システム414を車両402の車体と結合するための物理的インターフェースを提供し得る。例えば、直接接続部412は、駆動システム414および車両の間のエネルギー、流体、空気、データ等の伝達を可能にし得る。幾つかの実例では、直接接続部412は、さらに、駆動システム414を車両402の車体に解放可能に固定し得る。
【0091】
少なくとも一つの例では、位置特定コンポーネント420、認識コンポーネント422、予測コンポーネント424、計画コンポーネント426、一つまたは複数のシステムコントローラ428、一つまたは複数のマップ430、およびモデルコンポーネント432は、上述されるように、センサーデータを処理し得て、一つまたは複数のネットワーク442を介して、それぞれの出力をコンピューティング機器436に送信し得る。少なくとも一つの例では、位置特定コンポーネント420、認識コンポーネント422、予測コンポーネント424、計画コンポーネント426、一つまたは複数のシステムコントローラ428、一つまたは複数のマップ430、およびモデルコンポーネント432は、特定の頻度で、事前決定の時間期間の経過後に、ほぼリアルタイム等において、それぞれの出力を遠隔コンピューティング機器436に送信し得る。
【0092】
幾つかの例では、車両402は、ネットワーク442を介して、センサーデータをコンピューティング機器436に送信し得る。幾つかの例では、車両402は、ネットワーク442を介して、コンピューティング機器436および/または遠隔センサーシステム444からセンサーデータを受信し得る。センサーデータは、未加工のセンサーデータ、および/または処理済みのセンサーデータ、および/またはセンサーデータの表現を含み得る。幾つかの例では、(未加工または処理済みの)センサーデータは、一つまたは複数のログファイルとして送信および/または受信され得る。
【0093】
コンピューティング機器436は、プロセッサ438と、マップコンポーネント446、センサーデータ処理コンポーネント448、および訓練コンポーネント450を格納するメモリ440とを含み得る。幾つかの例では、マップコンポーネント446は、各種解像度のマップを生成し得る。そのような例では、マップコンポーネント446は、航法の目的のために、一つまたは複数のマップを車両コンピューティング機器404に送信し得る。種々の例では、センサーデータ処理コンポーネント448は、センサーシステム406および/または遠隔センサーシステム444などの、一つまたは複数の遠隔センサーからデータを受信するように構成され得る。幾つかの例では、センサーデータ処理コンポーネント448は、データを処理し、モデルコンポーネント432(例えば、モデル434など)によって使用するためなどの、処理済みセンサーデータを車両コンピューティング機器404に送信するように構成され得る。幾つかの例では、センサーデータ処理コンポーネント448は、未加工のセンサーデータを車両コンピューティング機器404に送信するように構成され得る。
【0094】
幾つかの実例では、訓練コンポーネント450は、機械学習モデルを訓練して、多関節形オブジェクトの軌道を出力することができる。例えば、訓練コンポーネント450は、0.1ミリ秒、1秒、3秒、5秒、および7秒などの一定期間、環境内を通過するオブジェクトを表すセンサーデータを受信することができる。センサーデータの少なくとも一部は、機械学習モデルを訓練するための入力として使用することができる。
【0095】
幾つかの実例では、訓練コンポーネント450は、プロセッサ438によって実行されて、訓練データに基づいて機械学習モデルを訓練し得る。訓練データは、値(例えば、所望の分類、推論、予測等)に関連付けられる、センサーデータ、音声データ、画像データ、マップデータ、慣性データ、車両状態データ、履歴データ(ログデータ)、またはそれらの組み合わせなどの多種多様なデータを含み得る。このような値は、一般に「グランドトゥルース(ground truth)」と呼ばれることがある。例証すると、訓練データは、評価された軌道に関連付けられるリスクを判定するために使用されてもよく、そのようなものとして、自律走行車両によって捕捉され、一つまたは複数の分類または判定に関連付けられる環境を表すデータを含んでもよい。幾つかの例では、そのような分類は、ユーザー入力(例えば、データが特定のリスクを描写することを示すユーザー入力など)に基づいてもよいし、または別の機械学習モデルの出力に基づいてもよい。幾つかの例では、このようなラベル付けされた分類(またはより一般的には、訓練データに関連付けられるラベル付けされた出力)は、グランドトゥルースと呼ばれることがある。
【0096】
幾つかの実例では、訓練コンポーネント450は、機械学習モデルを訓練して、軌跡値、およびメタデータなどを出力することができる。例えば、訓練コンポーネント450は、ラベル付けされた衝突データ(例えば、公開入手可能データ、センサーデータ、および/またはそれらの組み合わせなど)、軌跡データ、およびメタデータなどを表すデータを受信することができる。データの少なくとも一部は、機械学習モデルを訓練するための入力として使用することができる。そのため、車両が環境を通過するデータを提供することにより、本明細書において説明されるように、訓練コンポーネント450を訓練して、オブジェクトに関連付けられる潜在的な交差点を回避するための車両軌道を出力することができる。
【0097】
幾つかの例では、訓練コンポーネント450は、シミュレータによって生成されている訓練データを含むことができる。例えば、シミュレートされた訓練データは、車両が環境内のオブジェクトに衝突する、または環境内のオブジェクトに衝突しそうになる例を表して、追加の訓練例を提供することができる。
【0098】
車両402のプロセッサ416およびコンピューティング機器436のプロセッサ438は、データを処理し、本明細書に説明されるような動作を実行するための命令を実行することが可能である、任意の適切なプロセッサとし得る。限定ではなく例として、プロセッサ416および438は、一つまたは複数の中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、または電子データを処理して、その電子データをレジスタおよび/またはメモリに格納され得る他の電子データに変換する、機器における他の任意の装置または部分を含み得る。幾つかの例では、集積回路(例えば、ASIC等)、ゲートアレイ(例えば、FPGA等)、および他のハードウェア機器は、それらが符号化された命令を実装するように構成される限りにおいて、プロセッサと見做されることもある。
【0099】
メモリ418およびメモリ440は、非一時的コンピュータ可読媒体の例である。メモリ418およびメモリ440は、本明細書に説明される方法および各種システムに帰属する機能を実装するためのオペレーティングシステムおよび一つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納し得る。種々の実装では、メモリは、静的ランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュ型メモリ、または情報を格納することが可能である他の任意種類のメモリなどの、任意の適切なメモリ技術を使用して実装され得る。本明細書において説明されるアーキテクチャ、システム、および個々の要素には、他の多くの論理的コンポーネント、プログラム的コンポーネント、および物理的コンポーネントが含まれることがあるが、添付の図に示されるものは、本明細書の説明に関連する単なる例に過ぎない。
【0100】
図4は分散システムとして例証されているが、代替例では、車両402のコンポーネントがコンピューティング機器436に関連付けられてもよく、および/またはコンピューティング機器436のコンポーネントが車両402に関連付けられてもよいことは、留意されるべきである。すなわち、車両402は、コンピューティング機器436に関連付けられる機能のうちの一つまたは複数を実行してもよく、逆もまた同様である。
【0101】
図5Aおよび図5Bは、本開示の例に従った例示的なプロセスを示している。これらのプロセスは、論理的フローグラフとして図示され、その各操作は、ハードウェア、ソフトウェア、またはそれらの組み合わせに実装することができる、一連の操作を表している。ソフトウェアの関連では、操作は、一つまたは複数のプロセッサによって実行されると、記載された操作を実行する、一つまたは複数のコンピュータ可読記憶媒体に保存されたコンピュータ実行可能命令を表している。一般に、コンピュータ実行可能命令には、特定の機能を実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造などが含まれる。操作が記述される順序は、限定として解釈されることが意図されることなく、記述された任意数の操作は、任意の順序で、および/または並列に省略され、および/または組み合わせられて、プロセスを実施することができる。
【0102】
図5Aは、一つまたは複数の例示的なモデルを使用して、車両の軌跡およびメタデータを決定するための例示的なプロセス500を示すフローチャートの第一の部分である。例えば、プロセス500の一部または全部は、本明細書において説明されるように、図1ないし4における一つまたは複数のコンポーネントによって実行することができる。例えば、プロセス500の一部または全部は、車両コンピューティング機器404、コンピューティング機器436、またはコンピューティング機器202によって実行することができる。しかしながら、プロセス500は、これらのコンポーネントによって実行されることに限定されることなく、コンポーネントは、プロセス500を実行することに限定されない。
【0103】
操作502において、プロセス500は、自律走行車両に関連付けられるセンサーからセンサーデータを受信するステップを含み得る。幾つかの例では、操作502は、車両コンピューティング機器の計画コンポーネント104が、車両402に関連付けられるライダーセンサー、およびレーダーセンサーなどからセンサーデータを受信するステップを含み得る。幾つかの例では、センサーデータは、オブジェクト110およびオブジェクト112などの、環境から検出されたオブジェクトを表している。センサーデータは、車両上の一つまたは複数のセンサーから、および/または、一つまたは複数の遠隔センサー(例えば、環境内のセンサー、および/または別の車両上のセンサーなど)から受信され得る。
【0104】
操作504において、プロセスは、センサーデータおよび第一の特徴に少なくとも部分的に基づいて、自律走行車両が環境を通過するための第一のコストセットを表す、第一のヒートマップを決定するステップを含み得る。幾つかの例では、操作504は、車両コンピューティング機器が、ヒートマップ(例えば、離散化表現116のようなコストセットを表すセルから構成される環境の二次元データ表現など)を生成、推定、またはそうでなければ決定するステップを含み得る。種々の例では、マップ生成コンポーネント204は、オブジェクト110の背後の領域を表す特徴データを受信することができる。第一のコストセットは、幾つか例を挙げると、追従コスト、車線変更コスト、信号コスト、および/または制動コストを含むことができる。
【0105】
操作506において、プロセスは、センサーデータおよび第二の特徴に少なくとも部分的に基づいて、自律走行車両が環境を通過するための第二のコストセットを表す、第二のヒートマップを決定するステップを含み得る。幾つかの例では、操作506は、マップ生成コンポーネント204が、オブジェクト112に関連付けられる特徴データに基づいて、オブジェクト112の背後の領域(例えば、離散化表現118など)について、追加のヒートマップを生成、推定、またはそうでなければ決定するステップを含み得る。操作506は、例えば、車両コンピューティング機器が、コスト決定コンポーネント206を実装して、一つまたは複数のヒートマップに関連付けられるコストを決定するステップを含み得る。
【0106】
操作508において、プロセスは、結合マップとして、モデルによって、第一のヒートマップおよび第二のヒートマップを集約するステップを含み得る。幾つかの例では、操作508は、集約コンポーネント208が、第一のヒートマップおよび第二のヒートマップ(ならびにそれに関連付けられるコスト)を組み合わせるステップを含み得る。例えば、集約コンポーネント208は、離散化表現116および離散化表現118を、車両コンピューティング機器によって使用するための結合ヒートマップとして結合することができる。操作508は、例えば、集約コンポーネント208を実装して、車両コンピューティング機器が、ツリー探索を実行することに少なくとも部分的に基づいて、第一のヒートマップおよび第二のヒートマップのコストを集約するステップを含み得る。
【0107】
図5Bは、一つまたは複数の例示的なモデルを使用して、車両の軌跡およびメタデータを決定するための例示的なプロセス500を描写する、フローチャートの第二の部分である。
【0108】
操作510において、プロセスは、モデルによって、結合マップに少なくとも部分的に基づいて、将来の時刻における環境内の自律走行車両を制御するために使用可能な計画軌道を表す、第一の出力データを決定するステップを含み得る。幾つかの例では、操作510は、車両コンピューティング機器が、コスト決定コンポーネント206および/または集約コンポーネント208を実装して、結合マップに関連付けられる集約コストに少なくとも部分的に基づいて、計画軌道を決定するステップを含み得る。そのような例では、車両コンピューティング機器は、ヒートマップに関連付けられるコストに少なくとも部分的に基づいて、
第一の候補軌道114(1)または第二の候補軌道114(2)のどの部分を、計画軌道として含めるかを決定することができる。例えば、第一の候補軌道114(1)と交差するセルのコスト、または第二の候補軌道114(2)と交差するセルのコストを組み合わせてコスト閾値と比較し、または相互に比較して、どのセルがより低い全体コストを有するかを特定することができる。幾つかの例では、計画軌道は、少なくとも部分的にヒューリスティックに基づくことができる。
【0109】
操作512において、プロセスは、モデルによって、結合マップに少なくとも部分的に基づいて、計画軌道を決定するための理由を示す第二の出力データを決定するステップを含み得る。幾つかの例では、動作512は、車両コンピューティング機器が、合理化コンポーネント210を実装して、環境、車両402、ならびにオブジェクト110および112を記述するメタデータを決定するステップを含み得る。例えば、合理化コンポーネント210は、計画軌道として候補軌道の選択を引き起こすために何が発生しているかを判定することができる。コストは計画軌道を決定するために使用されるが、コストは、候補軌道が別の軌道よりも安全である(例えば、オブジェクト110および112に対する交差を回避する可能性がより高い)理由を示さないことがある。さらに、ツリー探索の一部として計画軌道を決定するためにヒューリスティックが使用されることがあるため、計画軌道は、車両の挙動と相関しないデータに基づくことがある。そのため、メタデータは、計画軌道の選択に対して指標を提供することができる。
【0110】
操作514において、プロセスは、第一の出力データに少なくとも部分的に基づいて、第一の特徴および第二の特徴に対して環境内の自律走行車両を制御するステップを含み得る。幾つかの例では、操作514は、計画軌道に基づいて車両402を制御するステップを含み得る。幾つかの例では、操作512は、計画軌道に従って(例えば、追従して)車両402の制動システム、加速システム、操舵システム、駆動システム等を制御するステップを含み得る。
【0111】
操作516において、プロセスは、以下のうちの一つまたは複数を含み得る。すなわち、モデルを訓練するために、第二の出力データを遠隔コンピューティング機器に送信するステップ、第二の出力データをログに記録するステップ、または第二の出力データを表示機器に表示させるステップ。幾つかの例では、操作516は、計画コンポーネント104が、
車両402の同乗者エリアにおけるユーザーインターフェース上に提示するためのメタデータを出力して、車両402による移動または動作の指示を提供するステップを含み得る。メタデータは、同乗者に関連付けられるコンピューティング機器上に表示されてもよいし、またはそうされなくてもよい。幾つかの例では、操作516は、計画コンポーネント104によって実装される一つまたは複数のモデルを訓練するために、第二の出力データをコンピューティング機器436に送信してもよいし、またはそうしなくてもよい。例えば、メタデータは、一つまたは複数のモデルによる将来の予測を改善するために使用することができる。追加的または代替的に、操作516は、デバッグ、訓練、または他の目的のために第二の出力データを記録するステップを含み得る。例えば、メタデータは、人間および/またはコンピューティング機器による分析のために、データベースまたはメモリに記録されてもよい。
【0112】
本明細書に説明される方法は、ハードウェア、ソフトウェア、またはそれらの組み合わせに実施することができる、一連の操作を表している。ソフトウェアの関連では、ブロックは、一つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表し、一つまたは複数のプロセッサによって実行されると、記載された操作を実行する。一般に、コンピュータ実行可能命令には、特定の機能を実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造などが含まれる。操作が記述される順序は、限定として解釈されることが意図されることなく、記述される任意数の操作は、任意の順序で、および/または並列に組み合わせられて、プロセスを実装することができる。幾つかの実施形態では、方法の一つまたは複数の操作は、完全に省略され得る。さらに、本明細書に説明される方法は、全体的または部分的に、相互にまたは他の方法と組み合わせることができる。
【0113】
本明細書において説明される各種技法は、コンピュータ可読記憶装置に記憶され、図に例証されるもののような一つまたは複数のコンピューティング機器のプロセッサによって実行される、プログラムモジュールのようなコンピュータ実行可能命令またはソフトウェアの関連で実装され得る。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するための動作ロジックを定義するか、または特定の抽象データ型を実装する。
【0114】
説明される機能を実装するために、他のアーキテクチャが使用されてもよく、本開示の範囲内であることが意図される。さらに、説明の目的のために、担当内容の具体的な分配が上記で定義されるが、各種機能および担当内容は、状況に応じて、様々な態様において分配および分割されることがある。
【0115】
同様に、ソフトウェアは、種々の態様において、様々な手段を使用して格納され、配布されることがあり、上述される特定のソフトウェアの格納および実行構成は、多くの様々な態様において変化することがある。そのため、上述される技法を実装するソフトウェアは、具体的に説明されるメモリの形態に限定されることなく、各種種類のコンピュータ可読媒体上に配布され得る。
【0116】
[例示的条項]
本セクションの例示的条項の何れかは、本明細書において説明される例示的条項の他の何れか、および/または他の例もしくは実施形態の何れかと共に使用され得る。
【0117】
A:一つまたは複数のプロセッサと、一つまたは複数のプロセッサによって実行可能な命令を格納する一つまたは複数の非一時的コンピュータ可読媒体とを備えるシステムであって、命令が、実行されると、システムに以下を含む操作を実行させる、システム。すなわち、自律走行車両に関連付けられるセンサーからセンサーデータを受信すること、センサーデータおよび第一の特徴に少なくとも部分的に基づいて、自律走行車両が環境を通過するための第一のコストセットを表す、第一のヒートマップを決定すること、センサーデータおよび第二の特徴に少なくとも部分的に基づいて、自律走行車両が環境を通過するための第二のコストセットを表す、第二のヒートマップを決定すること、結合マップとして、モデルによって、第一のヒートマップおよび第二のヒートマップを集約すること、モデルによって、結合マップに少なくとも部分的に基づいて、将来の時刻における環境内の自律走行車両を制御するために使用可能な計画軌道を表す、第一の出力データを決定すること、モデルによって、結合に少なくとも部分的に基づいて、計画軌道を決定するための理由を示す、第二の出力データを決定すること、第一の出力データに少なくとも部分的に基づいて、第一の特徴および第二の特徴に対して環境内の自律走行車両を制御すること、および以下のうちの一つまたは複数を実行すること。すなわち、第二の出力データを遠隔コンピューティング機器に送信して、モデルを訓練すること、第二の出力データをログに記録すること、または表示機器に第二の出力データを表示させること。
【0118】
B:A項のシステムであって、第一の特徴または第二の特徴は、自律走行車両に関連付けられる、車両の状態、車両の安全性、別のオブジェクトを追従する特徴、車線変更の特徴、ウィンカー操作の特徴のうちの一つを含む、システム。
【0119】
C:A項またはB項の何れかのシステムであって、第二の出力データは、第一の特徴または第二の特徴に関連付けられる信頼値を含む、システム。
【0120】
D:A項ないしC項の何れか一つのシステムであって、操作は、第一のコストセットのコストがコスト閾値を超えることを判定することと、コストがコスト閾値を超えることに少なくとも部分的に基づいて、ツリー探索のブランチを変更することととをさらに含み、計画軌道を表す第一の出力データを決定することは、ツリー探索のブランチを変更することに少なくとも部分的にさらに基づく、システム。
【0121】
E:A項ないしD項の何れか一つのシステムであって、モデルは、第一のモデルであり、操作は、以下をさらに含む、システム。すなわち、センサーデータを第二のモデルに入力すること、第二のモデルによって、将来の時刻における環境内の自律走行車両の挙動を表す第三の出力データを決定すること、および以下のうちの少なくとも一つ。すなわち、第三の出力データおよび第二の出力データの間の比較に少なくとも部分的に基づいて、第一のモデルを訓練すること、または第三の出力データに少なくとも部分的に基づいて、第二の出力データに関連付けられる理由の正確性を検証すること。
【0122】
F:以下を備える方法。すなわち、自律走行車両に関連付けられるセンサーからセンサーデータを受信するステップ、センサーデータおよび特徴に少なくとも部分的に基づいて、自律走行車両が環境を通過するためのコストセットの離散化表現を決定するステップ、離散化表現に少なくとも部分的に基づいて、将来の時刻における環境内の自律走行車両を制御するために使用可能な計画軌道を表す、第一の出力データを決定するステップ、計画軌道を決定するための理由を表す、第二の出力データを決定するステップ、第一の出力データに少なくとも部分的に基づいて、特徴に対して環境内の自律走行車両を制御するステップ、および以下のうちの一つまたは複数を実行するステップ。すなわち、表示機器上に表示するために第二の出力データを出力するステップ、訓練のために第二の出力データをコンピューティング装置に送信するステップ、または第二の出力データを記録するステップ。
【0123】
G:F項の方法であって、特徴は、自律走行車両に関連付けられる、車両の状態、車両の安全性、別の車両を追従する機能、車線変更の機能、またはウィンカー操作の機能のうちの一つを含む、方法。
【0124】
H:G項の方法であって、第二の出力データは、計画軌道が決定された理由の確実性を示す信頼値を含む、方法。
【0125】
I:F項ないしH項の何れか一つの方法であって、以下をさらに備える、方法。すなわち、コストセットのコストがコスト閾値を超えることを決定するステップ、およびコストがコスト閾値を超えることに少なくとも部分的に基づいて、ツリー探索のブランチを変更するステップであって、計画軌道を表す第一の出力データを決定するステップは、ツリー探索のブランチを変更することに少なくとも部分的にさらに基づく、方法。
【0126】
J:F項ないしI項の何れか一つの方法であって、第一のモデルが第一の出力データを決定し、以下をさらに備える、方法。すなわち、センサーデータを第二のモデルに入力するステップ、第二のモデルによって、将来の時刻における環境内の自律走行車両の挙動を表す第三の出力データを決定するステップ、および以下のうちの少なくとも一つを実行するステップ。すなわち、第三の出力データおよび第二の出力データの間の比較に少なくとも部分的に基づいて、第一のモデルを訓練するステップ、または第三の出力データに少なくとも部分的に基づいて、第二の出力データの精度を検証するステップ。
【0127】
K:F項ないしJ項の何れか一つの方法であって、以下をさらに備える、方法。すなわち、第一の出力データに少なくとも部分的に基づいて、弱識別器ラベルを決定して、機械学習モデルを訓練するステップであって、弱識別器ラベルは、車両挙動の態様を良好または不良に分類する、ステップ、および弱識別器ラベルに少なくとも部分的に基づいて、機械学習モデルを訓練して、計画軌道に関連付けられる車両挙動が良好であるか、または不良であるかを決定するステップ。
【0128】
L:F項ないしK項の何れか一つの方法であって、ヒューリスティックを適用して、コストセットを組み合わせるステップをさらに備え、環境内の自律走行車両を制御するステップは、ヒューリスティックに少なくとも部分的にさらに基づく、方法。
【0129】
M:F項ないしL項の何れか一つの方法であって、コストセットが、進行コスト、追従コスト、車線変更コスト、ウィンカーコスト、交差点コスト、安全コスト、アクティブオブジェクトコスト、または非アクティブオブジェクトコストのうちの一つまたは複数を含む、方法。
【0130】
N:F項ないしM項の何れか一つの方法であって、以下によってツリー探索を実行する、方法。第一の候補動作を第一のブランチに関連付け、第二の候補動作を第二のブランチに関連付けるステップ、第一の候補動作に関連付けられるコストセットの第一の複合コストと、第二の候補動作に関連付けられるコストセットの第二の複合コストとを決定するステップ、第一の複合コストおよび第二の複合コストの差に少なくとも部分的に基づいて、第一のブランチから第二のブランチに変更するステップ。ここで、計画軌道を表す第一の出力データを決定するステップは、ツリー探索に少なくとも部分的にさらに基づく。
【0131】
O:F項ないしN項の何れか一つの方法であって、第一の候補動作は第一の候補軌道を含み、第二の候補動作は第二の候補軌道を含み、計画軌道を表す第一の出力データを決定するステップは、第一の候補軌道および第二の候補軌道に少なくとも部分的にさらに基づく、方法。
【0132】
P:F項ないしO項の何れか一つの方法であって、以下によってツリー探索を実行するステップをさらに備える、方法。すなわち、第一のブランチを第一の候補軌道に関連付け、第二のブランチを第二の候補軌道に関連付けるステップ、第一のブランチおよび第二のブランチを一定の時間期間に亘って処理して、第一の候補軌道および第二の候補軌道を将来に亘って追跡するステップ、第一のブランチを処理する第一の時間量と、第二のブランチを処理する第二の時間量とを決定するステップ、第一のブランチに関連付けられるコストに対する第一の全体コストと、第二のブランチに関連付けられるコストに対する第二の全体コストとを決定するステップ。ここで、計画軌道を表す第一の出力データを決定するステップは、第一の時間量、第二の時間量、第一の全体コスト、および第二の全体コストに少なくとも部分的にさらに基づく。
【0133】
Q:一つまたは複数のプロセッサによって実行可能な命令を格納する一つまたは複数の非一時的コンピュータ可読媒体であって、命令が、実行されると、一つまたは複数のプロセッサに以下を含む操作を実行させる、非一時的コンピュータ可読媒体。すなわち、自律走行車両に関連付けられるセンサーからセンサーデータを受信すること、センサーデータおよび特徴に少なくとも部分的に基づいて、自律走行車両が環境を通過するための一連のコストの離散化表現を決定すること、離散化表現に少なくとも部分的に基づいて、将来の時刻における環境内の自律走行車両を制御するために使用可能な計画軌道を表す、第一の出力データを決定すること、計画軌道を決定する理由を表す、第二の出力データを決定すること、第一の出力データに少なくとも部分的に基づいて、特徴に対して環境内の自律走行車両を制御すること、および以下のうちの一つまたは複数を実行すること。すなわち、表示機器上に表示するために第二の出力データを出力すること、訓練のために第二の出力データをコンピューティング装置に送信すること、または第二の出力データを記録すること。
【0134】
R:Q項の一つまたは複数の非一時的コンピュータ可読媒体であって、特徴は、自律走行車両に関連付けられる車両の状態、車両の安全性、別の車両を追従する機能、車線変更の機能、またはウィンカー操作の機能のうちの一つを含む、一つまたは複数の非一時的コンピュータ可読媒体。
【0135】
S:Q項またはR項の何れかの一つまたは複数の非一時的コンピュータ可読媒体であって、第二の出力データは、計画軌道が決定された理由の確実性を示す信頼値を含む、一つまたは複数の非一時的コンピュータ可読媒体。
【0136】
T:Q項ないしS項の何れか一つの一つまたは複数の非一時的コンピュータ可読媒体であって、以下をさらに含む、非一時的コンピュータ可読媒体。すなわち、コストセットのコストがコスト閾値を超えることを決定すること、コストがコスト閾値を超えることに少なくとも部分的に基づいて、ツリー探索のブランチを変更すること。ここで、計画軌道を表す第一の出力データを決定することは、ツリー探索のブランチを変更することに少なくとも部分的にさらに基づく、一つまたは複数の非一時的コンピュータ可読媒体。
【0137】
上述される例示的条項は、一つの特定の実装に関して説明されるが、本明細書の関連において、例示的条項の内容は、方法、機器、システム、コンピュータ可読媒体、および/または別の実装を介して実装することもできることは、理解されるべぎである。さらに、例AないしTの何れかは、単独で実装されてもよいし、または他の例AないしTのうちの一つまたは複数の何れかと組み合わせて実装されてもよい。
【0138】
[結論]
本明細書において説明される技法のうちの一つまたは複数の例が説明されているが、それらの種々の変更、追加、並べ替え、および等価物は、本明細書に説明される技法の範囲内に含まれる。
【0139】
例の説明において、本明細書の一部を形成する添付の図面に対する参照が行われ、これらの図面は、例証として、特許請求される主題の特定例を示している。他の例を使用することができ、構造的変更のような変更または改変を行うことができることは、理解されるべきである。このような例、変更、または改変は、必ずしも意図された特許請求の主題に関する範囲から逸脱するものではない。本明細書の手順は特定の順序で提示することができるが、場合によっては、説明されるシステムおよび方法の機能を変更することなく、特定の入力が様々な時刻または異なる順序において提供されるように、順序を変更することができる。開示された手順は、様々な順序で実行することもできる。さらに、本明細書に記載される種々の計算は、開示された順序で実行される必要はなく、計算の代替順序を使用する他の例も容易に実装することができる。順序を変更することに加えて、同じ結果を有するサブ計算に分解することもできる。
図1
図2
図3
図4
図5A
図5B
【手続補正書】
【提出日】2024-07-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
システムであって、
一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサによって実行可能な命令を格納する一つまたは複数の非一時的コンピュータ可読媒体であって、前記命令が、実行されると、前記システムに、
自律走行車両に関連付けられるセンサーからセンサーデータを受信することと、
前記センサーデータおよび特徴に少なくとも部分的に基づいて、前記自律走行車両が環境を通過するためのコストセットに関する離散化表現を決定することと、
前記離散化表現に少なくとも部分的に基づいて、将来の時刻における前記環境内の前記自律走行車両を制御するために使用可能な計画軌道を表す第一の出力データを決定することと、
前記計画軌道を決定するための理由を表す第二の出力データを決定することと、
前記第一の出力データに少なくとも部分的に基づいて、前記環境内の前記自律走行車両を前記特徴に対して制御することと、
表示機器上に表示するために前記第二の出力データを出力すること、訓練のために前記第二の出力データをコンピューティング機器に送信すること、または前記第二の出力データをログに記録することのうちの一つまたは複数と
を含む操作を実行させる、非一時的コンピュータ可読媒体と
を備える、システム。
【請求項2】
前記離散化表現は、ヒートマップを含み、
前記第二の出力データは、前記特徴に関連付けられる信頼値を含み、または
前記特徴は、前記自律走行車両に関連付けられる、車両の状態、車両の安全性、別のオブジェクトを追従する特徴、車線変更の特徴、またはウィンカー操作の特徴のうちの何れかを含む、
請求項1に記載のシステム。
【請求項3】
前記コストセットが第一のコストセットである場合、前記特徴は、第一の特徴であり、前記操作は、
前記センサーデータおよび第二の特徴に少なくとも部分的に基づいて、前記自律走行車両が前記環境を通過するための第二のコストセットに関する第二の表現を決定することと、
前記離散化表現および前記第二の表現を、複合表現として、モデルによって集約するステップと
を含み、
前記第一の出力データまたは前記第二の出力データを決定することは、前記複合表現に少なくとも部分的に基づく、
請求項1または2に記載のシステム。
【請求項4】
前記操作は、
前記コストセットのコストがコスト閾値を超えることを判定することと、
前記コストが前記コスト閾値を超えることに少なくとも部分的に基づいて、ツリー探索のブランチを変更することと
をさらに含み、
前記計画軌道を表す前記第一の出力データを決定することは、前記ツリー探索のブランチを変更することに少なくとも部分的にさらに基づく、
請求項1に記載のシステム。
【請求項5】
前記第一の出力データを決定することは、第一のモデルによって実行され、前記操作は、
前記センサーデータを第二のモデルに入力することと、
前記第二のモデルによって、将来の時刻における前記環境内の前記自律走行車両の挙動を表す第三の出力データを決定することと、
前記第三の出力データおよび前記第二の出力データの比較に少なくとも部分的に基づいて、前記第一のモデルを訓練すること、または
前記第三の出力データに少なくとも部分的に基づいて、前記第二の出力データに関連付けられる前記理由の正確性を検証すること
のうちの少なくとも一つと
をさらに含む、
請求項1に記載のシステム。
【請求項6】
方法であって、
律走行車両に関連付けられるセンサーからセンサーデータを受信するステップと、
前記センサーデータおよび特徴に少なくとも部分的に基づいて、前記自律走行車両が環境を通過するためのコストセットの離散化表現を決定するステップと、
前記離散化表現に少なくとも部分的に基づいて、将来の時刻における環境内の前記自律走行車両を制御するために使用可能な計画軌道を表す第一の出力データを決定するステップと、
前記計画軌道を決定するための理由を表す第二の出力データを決定するステップと、
前記第一の出力データに少なくとも部分的に基づいて、前記環境内の前記自律走行車両を前記特徴に対して制御するステップと、
示機器上に表示するために前記第二の出力データを出力するステップ、訓練のために前記第二の出力データをコンピューティング機器に送信するステップ、または前記第二の出力データをログに記録するステップのうちの一つまたは複数と
を備える、方法。
【請求項7】
前記特徴は、前記自律走行車両に関連付けられる、車両の状態、車両の安全性、他の車両を追する特徴、車線変更の特徴、またはウィンカー操作の特徴のうちの一つを含む、
請求項6に記載の方法。
【請求項8】
前記第二の出力データは、前記計画軌道が決定された前記理由の確実性を示すための信頼値を含み、または
前記コストセットは、進行コスト、追従コスト、車線変更コスト、ウィンカーコスト、交差点コスト、安全コスト、アクティブオブジェクトコスト、または非アクティブオブジェクトコストのうちの一つまたは複数を含む、
請求項6に記載の方法。
【請求項9】
前記コストセットのコストがコスト閾値を超えることを判定するステップと、
前記コストが前記コスト閾値を超えることに少なくとも部分的に基づいて、ツリー探索のブランチを変更するステップと
をさらに備え、
前記計画軌道を表す前記第一の出力データを決定するステップは、前記ツリー探索のブランチを変更するステップに少なくとも部分的にさらに基づく、
請求項6に記載の方法。
【請求項10】
第一のモデルが前記第一の出力データを決定し、
前記センサーデータを第二のモデルに入力するステップと、
前記第二のモデルによって、将来の時刻における前記環境内の前記自律走行車両の挙動を表す第三の出力データを決定するステップと、
前記第三の出力データおよび前記第二の出力データの比較に少なくとも部分的に基づいて、前記第一のモデルを訓練するステップ、または
前記第三の出力データに少なくとも部分的に基づいて、前記第二の出力データの精度を検証するステップ
のうちの少なとも一つと
をさらに備える、
請求項6に記載の方法。
【請求項11】
前記第一の出力データに少なくとも部分的に基づいて、機械学習モデルを訓練するための弱識別器ラベルを決定するステップであって、前記弱識別器ラベルは、車両挙動の態様を良好または不良に分類する、ステップと、
前記弱識別器ラベルに少なくとも部分的に基づいて、前記機械学習モデルを訓練して、前記計画軌道に関連付けられる車両挙動が良好であるか、または不良であるかを判定するステップと
をさらに備える、請求項6に記載の方法。
【請求項12】
前記コストセットを組み合わせるために、ヒューリスティックを適用するステップ
をさらに備え、
前記環境内の前記自律走行車両を制御するステップは、前記ヒューリスティックに少なくとも部分的にさらに基づく、
請求項6に記載の方法。
【請求項13】
第一のブランチを第一の候補軌道に関連付け、第二のブランチを第二の候補軌道に関連付けるステップと、
前記第一のブランチおよび前記第二のブランチを一定の時間期間に亘って処理して、前記第一の候補軌道および前記第二の候補軌道を将来に亘って追跡するステップと、
前記第一のブランチを処理する第一の時間量と、前記第二のブランチを処理する第二の時間量とを決定するステップと、
前記第一のブランチに関連付けられるコストに対する第一の全体コストと、前記第二のブランチに関連付けられるコストに対する第二の全体コストとを決定するステップと
によって、ツリー探索を実行するステップ
をさらに備え、
前記計画軌道を表す前記第一の出力データを決定するステップは、前記第一の時間量、前記第二の時間量、前記第一の全体コスト、および前記第二の全体コストに少なくとも部分的にさらに基づく、
請求項6に記載の方法。
【請求項14】
第一の候補軌道を第一のブランチに関連付け、第二の候補軌道を第二のブランチに関連付けるステップと、
前記第一の候補軌道に関連付けられる前記コストセットの第一の複合コストと、前記第二の候補軌道に関連付けられる前記コストセットの第二の複合コストとを決定するステップと、
前記第一の複合コストおよび前記第二の複合コストの差異に少なくとも部分的に基づいて、前記第一のブランチから前記第二のブランチに変更するステップと
によってツリー探索を実行するステップ
をさらに備え、
前記計画軌道を表す前記第一の出力データを決定するステップは、前記ツリー探索に少なくとも部分的にさらに基づく、
請求項6に記載の方法。
【請求項15】
コンピュータ上で実行されると、請求項6ないし14の何れか一つに記載の方法を実装するコード化された命令を含む、コンピュータプログラム製品。
【国際調査報告】