(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-26
(54)【発明の名称】協調型車両進路生成
(51)【国際特許分類】
B60W 50/00 20060101AFI20231219BHJP
B60W 60/00 20200101ALI20231219BHJP
【FI】
B60W50/00
B60W60/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023531498
(86)(22)【出願日】2021-12-16
(85)【翻訳文提出日】2023-05-24
(86)【国際出願番号】 US2021063926
(87)【国際公開番号】W WO2022133151
(87)【国際公開日】2022-06-23
(32)【優先日】2020-12-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アリアン ハウシュマンド
(72)【発明者】
【氏名】ラヴィ ゴーニャ
(72)【発明者】
【氏名】マーク ジョナサン マクレランド
【テーマコード(参考)】
3D241
【Fターム(参考)】
3D241CE02
3D241CE04
3D241CE05
3D241DB01Z
3D241DB32Z
3D241DC25Z
3D241DC33Z
3D241DC51Z
(57)【要約】
自律車両誘導システムと協働して、自律車両を制御するための進路を生成する、遠隔操作システムは、自律車両から受信された環境データに少なくとも部分的に基づいて、遠隔操作システムにおいて一つまたは複数の軌道を生成するステップと、一つまたは複数の軌道を遠隔操作者(例えば、人間の利用者、機械学習モデル、または人工知能コンポーネントなど)に提示するステップとを含み得る。軌道のうちの一つの選択は、遠隔操作システムにおいて受信され、自律車両に送信され得る。一つまたは複数の軌道は、遠隔操作システムで生成され得て、および/または自律車両から受信され得る。何れにせよ、自律車両は、遠隔操作システムからの軌道を単に実装する代わりに、遠隔操作から受信された軌道に基づいて制御軌道を生成し得る。
【特許請求の範囲】
【請求項1】
自律車両から離れたデバイスにおいて、支援要求と、前記自律車両の環境に関連付けられたセンサーデータとを受信するステップと、
前記センサーデータに少なくとも部分的に基づいて、二つ以上の候補軌道を決定するステップと、
前記デバイスにおいて、前記環境の表現と前記二つ以上の候補軌道とを表示するステップと、
前記デバイスにおいて、前記二つ以上の候補軌道の中から軌道案を特定する入力を受信するステップと、
前記軌道案を前記自律車両に送信するステップであって、前記自律車両は、前記軌道案に少なくとも部分的に基づいて、前記自律車両を制御するための進路を決定するように構成されている、ステップと
を備えることを特徴とする、方法。
【請求項2】
前記軌道案を前記自律車両に送信するステップは、前記軌道案に関連付けられた重みを送信するステップを含み、
前記自律車両は、前記センサーデータおよび前記重みに少なくとも部分的に基づいて候補軌道のセットを生成し、前記重みに少なくとも部分的に基づいて候補軌道の前記セットのうちの一つを決定する
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記軌道案に少なくとも部分的に基づいて候補軌道の第二のセットを決定するステップであって、候補軌道の前記第二のセットは、前記軌道案の終了位置に関連付けられた開始位置を含む、ステップと、
候補軌道の前記第二のセットの中から第二の軌道案を特定する入力を受信するステップと、
前記第二の軌道案を前記自律車両に送信するステップであって、前記進路は、前記第二の軌道案に少なくとも部分的にさらに基づいている、ステップと
をさらに備えることを特徴とする、請求項1に記載の方法。
【請求項4】
前記自律車両から、前記軌道案に少なくとも部分的に基づいて、前記自律車両によって生成された候補軌道の第二のセットを受信するステップと、
候補軌道の前記第二のセットの中から第二の軌道案を特定する入力を受信するステップと、
前記第二の軌道案を前記自律車両に送信するステップであって、前記進路は、前記第二の軌道案に少なくとも部分的にさらに基づいている、ステップと
をさらに備えることを特徴とする、請求項1に記載の方法。
【請求項5】
前記二つ以上の候補軌道を決定するステップは、前記センサーデータに少なくとも部分的に基づいて決定されたオブジェクトデータまたはマップデータのうちの少なくとも一つに少なくとも部分的に基づいていることを特徴とする、請求項1に記載の方法。
【請求項6】
前記軌道案は、前記進路を識別するために前記自律車両上において実行する検索アルゴリズムの一部として使用される領域、車線、位置、または重みのうちの少なくとも一つを識別することを特徴とする、請求項1に記載の方法。
【請求項7】
一つまたは複数のプロセッサによって実行されると、前記一つまたは複数のプロセッサに、
自律車両および目標位置に関連付けられた一つまたは複数のセンサーデータから、第一のセンサーデータを受信するステップと、
前記第一のセンサーデータおよび前記目標位置に少なくとも部分的に基づいて、第一の軌道を決定するステップと、
前記軌道に関連付けられた信頼度スコアが閾値未満であると判定するステップと、
前記信頼度スコアが前記閾値未満であるという決定に少なくとも部分的に基づいて、遠隔操作者の入力に関する要求を遠隔演算装置に送信するステップと、
前記遠隔演算装置から軌道案を受信するステップと、
前記自律車両に関連付けられた前記一つまたは複数のセンサーから第二のセンサーデータを受信するステップと、
前記第二のセンサーデータに少なくとも部分的に基づいて、第二の軌道を決定するステップと、
前記軌道案および前記第二の軌道に少なくとも部分的に基づいて、制御軌道を決定するステップと
を含む操作を実行させる、プロセッサ実行可能命令を格納することを特徴とする、一つまたは複数の非一時的コンピュータ可読媒体。
【請求項8】
前記操作は、前記軌道案に関連付けられた重みを受信するステップをさら備え、
前記制御軌道を決定するステップは、
前記重みに少なくとも部分的に基づいて、前記制御軌道に関連付けられたコストを決定するステップと、
前記コストに少なくとも部分的に基づいて、軌道のセットから前記制御軌道を決定するステップと
を含む
ことを特徴とする、請求項7に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【請求項9】
前記制御軌道を決定するステップは、ツリー探索に少なくとも部分的に基づいていることを特徴とする、請求項8に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【請求項10】
前記操作は、
前記自律車両から前記デバイスに軌道のセットを送信するステップ
をさらに含み、
前記軌道案は、前記デバイスに送信された軌道の前記セットのうちの一つである
ことを特徴とする、請求項7に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【請求項11】
前記操作は、
前記遠隔演算装置から第三の軌道を受信するステップ、または
前記制御軌道に少なくとも部分的に基づいて、前記第二の軌道を決定するステップ
のうちの少なくとも一つをさらに含み、
前記第三の軌道は、前記制御軌道の終了位置に関連付けられた開始位置を含む
ことを特徴とする、請求項7に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【請求項12】
前記第一の軌道は、前記第二の軌道とは異なることを特徴とする、請求項7に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【請求項13】
前記制御軌道は、前記軌道案とは異なることを特徴とする、請求項7に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【請求項14】
前記軌道案は、前記自律車両によって実行される探索アルゴリズムの一部として使用される領域、車線、位置、または重みのうちの少なくとも一つを識別して、前記制御軌道を特定することを特徴とする、請求項7に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【請求項15】
前記制御軌道は、前記遠隔演算装置において生成されることを特徴とする、請求項7に記載の一つまたは複数の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、協調型車両進路生成に関する。
【背景技術】
【0002】
[関連出願]
このPCT国際出願は、2020年12月17日に出願された米国特許出願第17/125,890号の優先権の利益を主張し、この特許出願を参照により本明細書に援用する。
【0003】
[背景]
自律車両は、走路灯(runway lights)、車線区分線(lane markings)、および/または同様のものの、種々の進路指標(pathway indicators)に依存して操縦し(navigate)得る。ただし、そのような指標が、(例えば、雪、ごみ、砂などによって)不明瞭化、劣化(例えば、ライトの断線、車線区分線の摩耗など)、および/または無効化(例えば、障害物が車線を部分的に塞ぐ、交通標識(traffice signage)および/または交通コーン(traffice cones)が元の車線区分線と相反する代替車線を示すなど)となると、自律車両は、正確および/または効率的に操縦することができない場合がある。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図面を参照して説明される。図において、参照番号における左端の数字は、参照番号が最初に現れる図を特定している。異なる図における同じ参照番号は、類似のアイテムまたは同一のアイテムを示している。
【
図1】車両の動作制御用の命令を決定するために、(以前に照合されたか、または検出されたかに関わらず)車線の参照が信頼することができない可能性がある、自律車両およびシナリオ例を例証する図である。
【
図2】協調的進路計画(collaborative path planning)のための誘導システム(guidance system)を含む、自律車両のアーキテクチャ例を例証するブロック図である。
【
図3】自律車両の制御用の進路(path)を生成するために、自律車両において実行されるプロセス例を例証する、絵付きフロー図である。
【
図4】自律車両の制御用に進路を協調的に生成するために、遠隔演算装置(remote computing device)において実行されるプロセス例を例証する絵付きフロー図である。
【
図5A】自律車両の制御用に進路を生成するために、遠隔操作システム(teleoperations system)と自律車両との間において協調(collaboration)の成功に関するトップダウン表現(top-down represetation)を例証する図である。
【
図5B】自律車両の制御用に進路を生成するために、遠隔操作システムと自律車両との間において協調の成功に関するトップダウン表現を例証する図である。
【
図5C】自律車両の制御用に進路を生成するために、遠隔操作システムと自律車両との間において協調の成功に関するトップダウン表現を例証する図である。
【発明を実施するための形態】
【0005】
[詳細な説明]
自律車両の誘導システムと協働して、自律車両を制御するための進路(path)を生成する遠隔操作システムの技法は、自律車両から受信されたセンサーデータに少なくとも部分的に基づいて、遠隔操作システムにおいて一つまたは複数の軌道を生成するステップと、遠隔操作者(例えば、人間の利用者、機械学習モデル、または人工知能コンポーネントなど)に一つまたは複数の軌道を提示するステップとを備え得る。軌道群のうちの一つの選択は、遠隔操作システムで受信され、自律車両に送信され得る。遠隔操作者は、車両から離間していて、複数の車両に情報提供し(service)得る。自律車両からの送信は、軌道自体、軌道の属性の識別、軌道に関連付けられた識別子、および/または軌道に関連付けられた重みを含み得るが、それらの何れかは、制御軌道(control trajectory)(例えば、自律航法のために車両によって使用される軌道など)を決定するために、自律車両によって使用され得る。第一の例では、自律車両は、遠隔操作システムから受信された軌道を実装し得るが、別の例では、自律車両は、軌道探索アルゴリズムの一部として軌道を使用して、制御軌道を決定し得る。例えば、軌道探索アルゴリズムは、2019年7月19日に出願された米国特許出願第16/517,506号、および2020年5月11日に出願された米国特許出願第16/872,284号により詳細に記載されており、それらの両方が、全ての目的のためにそれらの全体が本明細書に組み込まれる。
【0006】
これらの技術は、遠隔操作システムに対する支援要求(request for assistance)を送信する自律車両によって引き起こされ得る。幾つかの例では、この要求は、自律車両によって生成されたセンサーデータ、認識データ、および/または軌道群を含み得る。追加または代替の例では、その軌道群は、遠隔操作システムにおいて生成され得る、すなわち軌道群は、遠隔操作システムにおいて閉鎖的に(exclusively)生成され得るか、または軌道は、自律車両に付加して、もしくは自律車両と連携して(in tandem with the autonomous vehicle)、遠隔操作システムにおいて生成され得る。
【0007】
幾つかの例では、遠隔操作システムにおける軌道生成は、自律車両上で実行する軌道生成コンポーネントと同じ軌道生成コンポーネントであってもよいが、追加または代替の例では、遠隔操作システムにアクセス可能な軌道生成コンポーネントは、専用ハードウェアコンポーネント、および/またはより計算コストの高い軌道生成コンポーネントであってもよい。例えば、遠隔操作者に対する提示用の一つまたは複数の軌道を生成するために遠隔操作システムにアクセス可能な軌道生成コンポーネントは、(例えば、量子演算装置(quantum computing device)などの、特殊なハードウェアが使用される場合、)軌道生成コンポーネントがスーパーコンピュータ並みの性能、および/または実験室の条件までを必要とすることを効果的に可能にする、クラウドに格納および/または実行されるハードウェアおよび/またはソフトウェアであってもよい。
【0008】
換言すると、第一の例では、生成された軌道が同じである、または実質的に同じである、ミラー方式において、自律車両および遠隔演算装置の両方で、軌道の生成が生じ得る。第二の例では、軌道の生成は、自律車両および遠隔演算装置の両方で生じ得るが、遠隔演算装置でより複雑になる演算に起因して(例えば、遠隔演算装置に利用可能なハードウェアおよび/またはソフトウェアが異なることに起因して)、遠隔演算装置で生成される軌道は、自律車両で生成される軌道に付加され得るか、または自律車両で生成される軌道とは異なり得る。第三の例では、軌道の生成は、最初は自律車両で生じるが、それから、自律車両によって要求が送信された後に、遠隔演算装置から応答が受信されるまで、軌道の生成は、遠隔演算装置で閉鎖的に生じ得るが、自律車両は、その期間に軌道生成を継続する(例えば、軌道の生成は、遠隔操作装置と協調し得るか、または遠隔装置装置からの応答に基づき得る)。少なくとも一つの例では、要求が遠隔演算装置に送信された後に、自律車両は、軌道生成を継続することになり、遠隔演算装置から受信された応答の何れかが、車両において軌道生成プロセスの一部として使用され得る。換言すると、自律車両は、軌道案自体を直接的なコマンド(command)として実装する代わりに、軌道生成プロセスの一部として軌道案を使用するため、自律車両によって決定された制御軌道は、遠隔演算装置から受信された軌道案とは異なり得る。
【0009】
本明細書で説明される技法により、自律車両は、遠隔操作に要求を送信し、自律車両を停止させる必要なく、遠隔操作から選択済みの軌道を受信することを可能にし得る。そうでなければ、例えば、車両がその搭載機能を使用して好適な軌道を決定することができない可能性があるため、車両は停止する必要があり得る。遠隔操作者の進路描画、またはその他の方法などの、遠隔操作支援の他技法では、自律車両が停止するか、または速度を落として、遠隔操作に要求を送信したり、および/または遠隔操作者の入力を待機したりする必要があり得る。本技法は、追加的または代替的に、高速道路の速度で移動する自律車両に対する遠隔操作支援を可能にし得る。これらの改善により、自律車両の安全性が向上し、運転者の経験知識が向上し、遠隔操作者のより複雑な入力のために停止する必要なく、自律車両が航法し得る予想事態(シナリオ)(scenarios)の数が増加し得る。幾つかの例では、本技法は、より小さく、および/またはより計算コストの低い軌道生成コンポーネントを自律車両に保存/実行することを可能にし、それにより、記憶空間および/または演算周期を制限から解き得る。
【0010】
[シナリオ例]
図1は、車両102を含むシナリオ例100を例証している。幾つかの例では、、車両102は、全米高速道路交通安全委員会(U.S. National Highway Traffice Safety Administration)によって発行されたレベル5の分類に従って動作するように構成された自律車両であり得るが、この分類は、運転者(または搭乗者)が常に車両を制御することが期待されないままに、移動の全体に亘って全ての安全上の重要な機能を実行することができる車両を考慮する。しかしながら、他の例では、車両102は、他の任意のレベルまたは分類を有する完全または部分的に自律型の車両であり得る。本明細書で説明される技法は、自律車両などのロボット制御以外にも適用し得ると考えられる。例えば、本明細書で説明される技法は、採掘、製造、拡張現実等に適用され得る。さらに、車両102は、陸上車両として描写されているが、車両102は、宇宙船、船舶、および/または同様のものであってもよい。幾つかの例では、車両102は、模擬車両(simulated vehicle)としてシミュレーションにおいて表現され得る。簡単にするために、本明細書における説明は、模擬車両と現実世界の車両とを区別しない。したがって、「車両」への言及は、模擬車両、および/または現実世界の車両に言及する場合がある。
【0011】
本明細書で説明される技法によると、車両102は、車両102のセンサー104からセンサーデータを受信し得る。例えば、センサー104には、位置センサー(例えば、全地球測位システム(GPS)センサーなど)、慣性センサー(例えば、加速度センサー、ジャイロスコープセンサー等)、 磁場センサー(例えば、コンパスなど)、位置/速度/加速度センサー(例えば、速度計、駆動システムセンサーなど)、深度位置センサー(例えば、ライダーセンサー、レーダー センサー、ソナーセンサー、飛行時間(ToF)センサー、カメラ、深度カメラ、超音波センサー、および/またはソナーセンサー、および/またはその他の深度検知センサーなど)、画像センサー(例えば、カメラなど)、音声センサー(例えば、マイクなど)、および/または環境センサー(例えば、気圧計、湿度計など)が含まれ得る。
【0012】
センサー104は、センサーデータを生成し得るが、センサーデータは、車両102に関連付けられた演算装置106によって受信され得る。しかしながら、他の例では、センサー104および/または演算装置106の一部または全部は、車両102から分離し、および/または車両102から遠隔的に配置され得て、データの捕捉、処理、指示、および/または制御は、有線ネットワークおよび/または無線ネットワークを介して、一つまたは複数の遠隔演算装置によって車両102へ/車両102から通信し得る。
【0013】
演算装置106は、認識コンポーネント110、計画コンポーネント112、軌道生成コンポーネント114、および/または制御装置116を格納するメモリ108を備え得る。幾つかの例では、計画コンポーネント112は、軌道生成コンポーネント114を含み得る。認識コンポーネント110、計画コンポーネント112、軌道生成コンポーネント114、および/または制御装置116は、一つまたは複数の機械学習(ML)モデル、および/または他のコンピュータ実行可能命令を含み得る。一般に、認識コンポーネント110は、車両102の周囲における環境内に何があるかを決定し得て、計画コンポーネント112は、認識コンポーネント110から受信された情報に従って、車両102をいかに操作するかを決定し得る。例えば、軌道生成コンポーネント114は、計画コンポーネント112の一部であり得るが、認識データ、および/または、例えば、一つまたは複数のマップ(maps)、(例えば、車両102が、認識コンポーネント110によって検出されたマップ、および/または特徴に関連する環境内にある場合の)位置情報、および/または軌道生成コンポーネント114によって生成された進路などの、他の情報に少なくとも部分的に基づいて軌道118を決定し得る。
【0014】
軌道118は、自律車両102の制御装置116が車両102の駆動コンポーネントを作動させて、操舵角(steering angle)および/または操舵率(steering rate)を実現する(effectuate)ための指示(instructions)を含み得るが、これにより、誘導システムによって生成された進路を追従する、車両位置、車両速度、および/または車両加速度枯れもたらされ得る。例えば、軌道118には、制御装置が進路の一部として追従するための目標方位、目標操舵角、目標操舵率、目標位置、目標速度、および/または目標加速度が含まれ得る。例えば、本明細書で説明される技法に従って軌道生成コンポーネント114によって生成される粗い進路(coarse path)は、500ミリ秒の時間間隔における車両の位置、進行方向、速度、および/または進入曲率/退出曲率を示し得て、軌道生成コンポーネント114によって出力される滑らかな進路(smooth path)は、軌道118に関連付けられた時間間隔に対応し得る、10または100ミリ秒間隔におけるそのような点を含み得る。幾つかの例では、制御装置は、軌道118を追従するのに十分となる、車両102の駆動コンポーネントを作動させるためのソフトウェアおよび/またはハードウェアを含み得る。
【0015】
シナリオ例100では、自律車両102は、開始位置122、終了位置124、および開始位置122と終了位置124との間における曲線(なお、曲線は、直線、および/または一つ以上の曲線を含む)を規定する経路(route)120を受信および/または決定している。例えば、計画コンポーネント112は、センサーデータと、任務(mission)の一部として(例えば、運転者から、指令センターからなど)受信された終了位置とに少なくとも部分的に基づいて、経路120を決定していてもよい。本明細書で使用されるように、「位置」への言及は、位置および/または姿勢(例えば、車両の位置、および/または向き/進行方向など)の両方を含み得る。幾つかの例では、経路は、終了位置124を含まなくてもよく、追加的または代替的に、目標車線、目標相対位置(例えば、車道の端から10フィートなど)、目標オブジェクト(例えば、車両に追従する、運転者に追従する、車両を呼んでいる個人に向かって移動するなど)等の、目標位置を含み得る。
【0016】
車両が最終位置124に到達するように動作すると、計画コンポーネントが、軌道と、それに関連付けられた信頼度スコアとを(例えば、MLモデルを介して)決定し得て、信頼度スコアの閾値を満たしていないと判定し得る、シナリオ例100のようなシナリオに、自律車両102は遭遇し得る。例えば、そのようなシナリオは、種々のオブジェクト(例えば、遮っている車両126、ツールボックス128、および倒れた交通コーン130など)が、描写された車道の3車線全てを度重なって遮る場合に発生し得るが、このことは、自律車両に十分なスペースを有する車線が一つもないため、自律車両102に遠隔操作を呼び出させ得る。
【0017】
幾つかの例では、認識コンポーネント110は、センサー104からセンサーデータを受信し、静的データおよび/または動的データなどの、車両102の近くにあるオブジェクトに関連するデータを決定し得る。静的データおよび/または動的データを含む、環境データ132の描写例は、そのようなデータのトップダウン表現となるが、静的データおよび/または動的データの任意の表現は、ヒートマップ、検出オブジェクトに関連付けられたオブジェクト分類、インスタンス分割、意味的分割、二次元境界ボックスまたは三次元境界ボックス、走路(tracks)などと考えられる。認識コンポーネント110は、追加的または代替的に、車両の目的地を特定する経路データ、道路の特性(例えば、自律車両の位置を特定するのに有用となる様々なセンサー計測(sensor modality)で検出可能な特徴など)を識別する世界地図データ、車両の近くで検出された特性(例えば、建物、樹木、フェンス、消火栓、一時停止標識、および種々のセンサー計測で検出可能なその他の任意の特徴における位置および/または寸法など)を識別するローカル地図データ、走路データ(例えば、環境表現、オブジェクト検出、および/または本明細書で説明される走路など)等を決定し得る。
【0018】
幾つかの例では、認識コンポーネント110は、一つまたは複数のGPU、MLモデル、カルマンフィルタ(Kalman filters)、および/または同様のものを含み得る、ハードウェアおよび/またはソフトウェアのパイプライン(pipeline)を含み得る。幾つかの例では、認識コンポーネント110は、センサー性能、オブジェクトおよび/または環境の遮蔽(occlusions)(例えば、建物、高度差(elevation changes)、他オブジェクトの前にあるオブジェクトなど)、および/または霧、雪、および/または同様のものの環境効果によって制限され得る、自律車両を取り囲む環境を可能な限り監視し得る。例えば、センサーデータは、レーダーデータを含み得るため、認識コンポーネント110は、レーダーデータを入力として受信し得る。認識コンポーネント110は、軌道118を決定する際に計画コンポーネント112によって考慮される必要がある、事象(event)またはオブジェクトの挙動把握し損なうことを回避するために、できるだけ多くのオブジェクト、および環境に関する情報を検出するように構成され得る。
【0019】
オブジェクト分類は、環境データ132の一部であって、認識コンポーネント110によって決定され得るが、例えば、乗用車(passenger vehicle)、歩行者、自転車乗り、配達用トラック(delivery truck)、トラックトレーラー(semi-truck)、交通標識、および/または同様のものの、様々なオブジェクト種類を区別し得る。走路(track)は、過去、現在、および/または予測オブジェクトの位置、速度、加速度、および/または進行方向を含み得る。認識コンポーネント110によって生成されたデータは、集合的に認識データと呼ばれ得る。認識コンポーネント110が認識データを生成すると、認識コンポーネント110は、認識データを計画コンポーネント112および/または軌道生成コンポーネント114に提供し得る。幾つかの例では、認識データは、センサー固有のパイプライン(例えば、視覚(vision)、ライダー(lidar)、レーダー(radar)など)、および/またはハイブリッド・センサー・パイプライン(例えば、ビジョン-ライダー、レーダー-ライダーなど)の出力を含み得る。
【0020】
計画コンポーネント112は、認識コンポーネント110から受信された認識データ、および/または軌道生成コンポーネント114から受信された進路を使用して、一つまたは複数の軌道を決定し、車両102の動作を制御して、進路または経路を辿り(traverse)、および/または、そうでなければ、車両102の動作を制御するが、そのような動作は何れも、種々の他コンポーネントで実行され得る(例えば、位置特定は、位置特定コンポーネントによって実行され得るが、これは、認識データに少なくとも部分的に基づいてよい)。 例えば、計画コンポーネント112は、第一の場所から第二の場所までの車両102の経路を決定し、誘導システムから受信された粗い軌道から滑らかな軌道を決定し、進路データおよび認識データ、ならび/または(そのようなデータで検出されたオブジェクトに関する予測をさらに含み得る)模擬認識データ(simulated perceptiondata)に少なくとも部分的に基づいて、実質的に同時に、後退ホライズン技法(receding horizon technique)(例えば、1マイクロ秒、0.5秒など)に従って、車両102の運動を制御するための複数の潜在的な軌道を生成して、経路を辿るように車両を制御し(例えば、検出されたオブジェクトの何れかを回避するため)、車両102の駆動コンポーネントを作動させるために制御装置116に送信され得る、駆動制御信号を生成するために使用され得る、車両102の軌道118として、潜在的な軌道の一つを選択する。
図1は、そのような軌道118の例を描写し、方向、速度、および/または加速度を示す矢印として表現されているが、軌道自体が、制御装置に対する指示を含み得るため、制御装置は、次に、車両102の駆動システムを作動させ得る。幾つかの例では、軌道118は、進路134の一部であり得る。進路134は、一つまたは複数の軌道を含み得るが、その各々は、時間または距離の地平線までの時間または距離の異なるセグメントに関連付けられ得る。
【0021】
幾つかの例では、軌道生成コンポーネント114は、計画コンポーネント112のコンポーネントであり得る。軌道生成コンポーネント114は、一つまたは複数のGPUを備え得て、または一つまたは複数のGPUと(例えば、発行-購読型メッセージングシステム(publish-subscribe messaging system)を介して、データバス(data bus)を介してなど)通信可能に結合され得て、本明細書で説明される技法は、GPUのスレッドに並列化されて普及され得るが、本明細書で説明される技法は、連続的である(serial)である部分を少なくとも含み得ると考えられる。
【0022】
幾つかの例では、軌道生成コンポーネント114によって決定された軌道は、遠隔操作の支援要求とともに遠隔操作装置に送信され得る。軌道生成コンポーネント114が、実行可能で、衝突のない、および/または経済的な進路または軌道を生成することに失敗した場合、自律車両は、そのような要求を遠隔演算装置に送信し得る。本明細書で説明される技法によると、自律車両102は、停止することなく移動し続け、および/または高速で移動し続け、依然として遠隔操作者から制御進路確認データを受信し得る。幾つかの例では、これは、軌道生成114で軌道生成プロセスの一部として遠隔操作の入力を組み込むことによって達成される。例えば、軌道生成コンポーネント114は、例えば、米国特許出願第16/517,506号、および/または米国特許出願第16/872,284号で説明される技法に従って、自律車両を制御するための軌道の生成および選択を継続し得て、遠隔操作の入力を重み(weight)または目標(target)の車線/領域/軌道として使用し得る。
【0023】
[システム例]
図2は、本明細書で説明される技法を実装するシステム例200のブロック図を例証している。幾つかの例では、システム例200は、車両202を含み得るが、これは、
図1における車両102を表し得る。幾つかの例では、車両202は、全米高速道路交通安全委員会によって発行されたレベル5の分類に従って動作するように構成された自律車両であり得るが、これは、運転者(または搭乗者)が常時車両を制御することが期待されることなく、移動の全体に亘って全ての安全上の重要な機能を実行することができる車両を説明している。しかしながら、他の例では、車両202は、他の任意のレベルまたは分類を有する、完全にまたは部分的に自律的な車両であり得る。さらに、幾つかの例では、本明細書で説明される技法は、非自律型の車両でも使用可能であり得る。
【0024】
車両202は、車両演算装置204、センサー206、エミッタ208、ネットワークインターフェース210、および/または駆動コンポーネント212を含み得る。車両演算装置204は、演算装置106を表し得て、センサー206は、センサー104を表し得る。システム200は、追加的または代替的に、演算装置214を含み得る。
【0025】
幾つかの例では、、センサー206は、センサー104を表し得て、ライダーセンサー、レーダーセンサー、超音波変換器、ソナーセンサー、位置センサー(例えば、全地球測位システム(GPS)、コンパス等)、慣性センサー(例えば、慣性計測ユニット(IMU)、加速度計、磁力計、ジャイロスコープ等)、画像センサー(例えば、赤色-緑色-青色(RGB)、赤外線(IR)、強度、深度、飛行時間型カメラ等)、マイクロフォン、ホイールエンコーダ、環境センサー(例えば、温度計、湿度計、光センサー、圧力センサー等)などを含み得る。センサー206は、これら、または他種類のセンサーの各々の複数例を含み得る。例えば、レーダーセンサーは、車両202のコーナー、前部、後部、側面、および/または上部に配置された個々のレーダーセンサーを含み得る。別の例として、カメラは、車両202の外部および/または内部の周囲における種々の場所に配置された複数のカメラを含み得る。センサー206は、車両演算装置204、および/または演算装置214に入力を提供し得る。
【0026】
また、車両202は、上述されたように、光および/または音を発するためのエミッタ208を含み得る。この例におけるエミッタ208は、車両の202の運転者と通信するための内部音声エミッタおよび内部視覚エミッタを含み得る。限定ではなく例として、内部エミッタには、スピーカ、ライト、合図(signs)、表示画面、タッチスクリーン、触覚エミッタ(例えば、振動フィードバック、および/または力フィードバックなど)、機械的アクチュエータ(例えば、座席ベルト巻取装置、座席位置調整装置、ヘッドレスト位置調整装置等)、および同様のものが含まれ得る。この例におけるエミッタ208は、外部エミッタも含み得る。限定ではなく例として、この例における外部エミッタは、移動方向または車両動作の他インジケータ(例えば、表示灯、合図、ライトアレイ等)を知らせるためのライト、および歩行者、または他の近くの車両と音声で通信するための一つまたは複数の音声エミッタ(例えば、スピーカ、スピーカアレイ、ホーン等)を含み得るが、そのうちの一つまたは複数は、音響ビームステアリング技術(acoustic beam steering technology)を含む。
【0027】
また、車両202は、車両202と、一つまたは複数の他のローカル演算装置または遠隔演算装置(local or remote computing devices)との間において通信を可能にする、ネットワークインターフェース210を含み得る。例えば、ネットワークインターフェース210は、車両202、および/または駆動コンポーネント212上の他のローカル演算装置との通信を容易にし得る。また、ネットワークインターフェース210は、追加的または代替的に、車両が他の近くの演算装置(例えば、他の近くの車両、交通信号等)と通信することを可能にし得る。ネットワークインターフェース210は、追加的または代替的に、車両202が演算装置214と通信することを可能にし得る。幾つかの例では、演算装置214は、分散型演算システム(distributed computing system)(例えば、クラウド演算アーキテクチャ(cloud computing architecture)など)における一つまたは複数のノードを含み得る。
【0028】
ネットワークインターフェース210は、車両演算装置204を別の演算装置、またはネットワーク216などのネットワークに接続するための物理的インターフェース、および/または論理的インターフェースを含み得る。例えば、ネットワークインターフェース210は、IEEE200.11規格によって定義された周波数、Bluetooth(登録商標)などの短距離無線周波数、携帯電話通信(cellular communication)(例えば、2G、3G、4G、4GLTE、5G等)、または各演算装置が他の演算装置と連動することを可能にする任意の適切な有線プロトコルまたは無線通信プロトコルを介するなどの、Wi-Fiベースの通信を可能にし得る。幾つかの例では、車両演算装置204および/またはセンサー206は、所定時間の休止期間の後に、ほぼリアルタイム等で、特定の周波数で、ネットワーク216を介してセンサーデータを演算装置214に送信し得る。
【0029】
幾つかの例では、、車両202は、一つまたは複数の駆動コンポーネント212を含み得る。幾つかの例では、車両202は、単一の駆動コンポーネント212を有し得る。幾つかの例では、駆動コンポーネント212は、駆動コンポーネント212、および/または車両202の周囲における状態(conditions)を検出するための一つまたは複数のセンサーを含み得る。限定ではなく例として、駆動コンポーネント212のセンサーは、駆動コンポーネントにおけるホイールの回転を検知するための一つまたは複数のホイールエンコーダ(例えば、ロータリーエンコーダなど)、駆動コンポーネントの方位および加速度を測定するための慣性センサー(例えば、慣性計測ユニット、加速度計、ジャイロスコープ、磁力計等)、カメラまたは他の画像センサー、駆動コンポーネントの周囲にあるオブジェクトを音響的に検出するための超音波センサー、ライダーセンサー、レーダーセンサー等を含み得る。ホイールエンコーダなどの一部のセンサーは、駆動コンポーネント212に固有であり得る。幾つかの例では、駆動コンポーネント212上のセンサーは、車両202の対応するシステム(例えば、センサー206など)と重複し得るか、または補足し得る。
【0030】
駆動コンポーネント212は、高電圧バッテリ、車両を推進するためのモーター、バッテリからの直流電流を他の車両システムによる使用の交流電流に変換するためのインバータ、(電動であり得る)ステアリングモーターおよびステアリングラックを含む操舵システム、油圧アクチュエータまたは電気アクチュエータを含む制動システム、油圧コンポーネントおよび/または空気圧コンポーネントを含む懸架システム、牽引力(traction)の喪失を軽減し、制御を維持するために制動力を分配するための安定性制御システム、HVACシステム、照明(例えば、車両の外部周囲を照らすためのヘッドライト/テールライトなどの照明)、および一つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、他の電気コンポーネント、すなわちDC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポート等)を含む多くの車両システムを含み得る。さらに、駆動コンポーネント212は、センサーからデータを受信および前処理して、種々の車両システムの動作を制御し得る、駆動コンポーネント制御装置を含み得る。幾つかの例では、駆動コンポーネント制御装置は、一つまたは複数のプロセッサと、一つまたは複数のプロセッサと通信可能に結合されたメモリとを含み得る。メモリは、一つまたは複数のコンポーネントを格納して、駆動コンポーネント212における種々の機能を実行し得る。さらに、駆動コンポーネント212は、各駆動コンポーネントによる一つまたは複数の他のローカル演算装置または遠隔演算装置との通信を可能にする、一つまたは複数の通信接続も含み得る。
【0031】
車両演算装置204は、プロセッサ218と、一つまたは複数のプロセッサ218と通信可能に結合されたメモリ220とを含み得る。メモリ220は、メモリ108を表し得る。また、演算装置214は、プロセッサ222、および/またはメモリ224を含み得る。プロセッサ218および/または222は、命令を実行してデータを処理し、本明細書で説明される操作を実行することができる、任意の適切なプロセッサであり得る。限定ではなく例として、プロセッサ218および/または222は、一つまたは複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、集積回路(例えば、特定用途向け集積回路(ASIC)など)、ゲートアレイ(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA))、および/または電子データを処理して、その電子データをレジスタおよび/またはメモリに格納され得る他の電子データに変換する、他の任意のデバイスまたはデバイスの一部を含み得る。
【0032】
メモリ220および/または224は、非一時的コンピュータ可読媒体の例であり得る。メモリ220および/または224は、オペレーティングシステム、および一つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納して、本明細書に記載される方法、および種々のシステムに帰属される機能を実装し得る。種々の実装では、メモリは、スタティック・ランダム・アクセス・メモリ(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性/フラッシュ型メモリ、または情報を格納することができる任意の他種類のメモリなどの、任意の適切なメモリ技術を使用して実装し得る。本明細書で記述されるアーキテクチャ、システム、および個々の要素は、他の多くの論理的コンポーネント、プログラム運用型コンポーネント(programmatic components)、および物理的コンポーネントを含み得るが、添付の図に示されるものは、本明細書における説明に関連している単なる例である。
【0033】
幾つかの例では、メモリ220および/またはメモリ224は、位置特定コンポーネント226、認識コンポーネント228、計画コンポーネント230、軌道生成コンポーネント232(ソフトウェアおよび/またはハードウェアであり得て、例えば、一部が、GPU、CPU、FPGA、ASIC、および/または他の処理ユニットなどの、ハードウェアであり得る)、マップ234、および/またはシステム制御装置236を格納し得る。認識コンポーネント228は、認識コンポーネント110を表し得て、計画コンポーネント230は、計画コンポーネント112を表し得て、軌道生成コンポーネント232は、軌道生成コンポーネント114を表し得て、システム制御装置236は、制御装置116を表し得る。
【0034】
少なくとも一つの例では、位置特定コンポーネント226は、ハードウェアおよび/またはソフトウェアを含み、センサー206からデータを受信して、車両202の位置、速度、および/または方位(例えば、x位置、y位置、z位置、ロール、ピッチ、またはヨーなど)を決定し得る。例えば、位置特定コンポーネント226は、環境のマップ234を含有、および/または要求/受信し得て、マップ234内における自律車両の位置、速度、および/または方位を継続的に決定することができる。幾つかの例では、位置特定コンポーネント226は、SLAM(位置特定およびマップ作成の同時実行)、CLAMS(較正、位置特定、およびマップ作成の同時実行)、相対SLAM、バンドル調整、非線形最小二乗最適化、および/または同様のものを利用して、画像データ、ライダーデータ、レーダーデータ、IMUデータ、GPSデータ、ホイールエンコーダデータ、および/または同様のものを受信して、自律車両の位置、姿勢、および/または速度を正確に決定し得る。幾つかの例では、位置特定コンポーネント226は、本明細書で説明されるように、車両202における種々のコンポーネントにデータを提供して、軌道を生成するため、および/またはマップデータを生成するために、自律車両の初期位置を決定し得る。幾つかの例では、位置特定コンポーネント226は、環境および/またはそれに関連付けられたセンサーデータに対する、車両202の位置および/または方位を認識コンポーネント228に提供し得る。
【0035】
幾つかの例では、認識コンポーネント228は、ハードウェアおよび/またはソフトウェアで実装される、一次認識システム、および/または予測システムを含み得る。認識コンポーネント228は、車両202を取り囲む環境内におけるオブジェクトを検出し(例えば、オブジェクトが存在することを識別するなど)、オブジェクトを分類し(例えば、検出されたオブジェクトに関連付けられたオブジェクトの種類を決定するなど)、センサーデータ、および/または環境に関する他の表現をセグメント化し(例えば、センサー データの一部、および/または環境の表現を、検出されたオブジェクトおよび/またはオブジェクト種類に関連付けられるものとして識別するなど)、オブジェクトに関連付けられた特性(例えば、オブジェクトに関連付けられた、現在、予測、および/または過去の位置、進行方向、速度、および/または加速度を識別する走路(track)など)を決定する、および/または同様のことを行い得る。認識コンポーネント228によって決定されるデータは、認識データと呼ばれる。
【0036】
計画コンポーネント230は、位置特定コンポーネント226から車両202の位置および/または方位を受信し、および/または認識コンポーネント228から認識データを受信し得て、このデータの何れかに少なくとも部分的に基づいて、車両202の動作を制御するための命令(instructions)を決定し得る。幾つかの例では、命令を決定するステップは、命令が関連付けられているシステムに関連付けられた形式に少なくとも部分的に基づいて、命令を決定するステップを含み得る(例えば、自律車両の動作を制御するための第一の命令群は、システム制御装置236および/または駆動コンポーネント212が解析し得る、または実行されるために引き起こし得る、(例えば、アナログ、デジタル、空気圧、運動力学などの)メッセージおよび/または信号における第一の形式で形式化され得て、エミッタ208に対する第二の命令群は、それに関連付けられた第二の形式に従って形式化され得る)。
【0037】
軌道生成コンポーネント232は、車両202上、および/または演算装置214上で動作し得る。幾つかの例では、軌道生成コンポーネント232は、認識コンポーネント228の少なくとも幾つかのコンポーネントから下流(入力を受信する)であり得て、計画コンポーネント230の一部、または計画コンポーネント230の少なくとも一部から上流(例えば、軌道が実行可能/運転可能、衝突のない、および/または経済的な運転指示をもたらすことになることを検証する、少なくとも軌道確認コンポーネントからの上流)であり得る。軌道生成コンポーネント232は、軌道生成コンポーネント232の出力の全部、一部、または何れも無しを計画コンポーネント230に渡すように構成され得る。幾つかの例では、軌道生成コンポーネント232は、認識コンポーネント228の一部であり得る。軌道生成コンポーネント232は、本明細書で説明されるように、計画コンポーネント230が滑らかな進路、および滑らかな進路を辿る軌道を生成するために使用し得る、粗い進路を生成するように構成され得て、または、追加もしくは代替の例では、軌道生成コンポーネント232は、粗い進路と滑らかな進路との両方を決定し得るか、または滑らかな進路を直接的に演算し得る。
【0038】
少なくとも一つの例では、遠隔操作コンポーネント238から受信された軌道、および/または他の送信は、滑らかな軌道を決定するため、および/または滑らかな進路を完成させるために、軌道生成コンポーネント232による使用のためのコース軌道(course trajectory)として使用され得る。例えば、遠隔操作コンポーネント238は、目標に対する一つまたは複数の位置を識別し得て、軌道生成コンポーネント238は、一つまたは複数の位置を使用して、軌道生成コンポーネント238によって生成された様々な候補軌道(candidate trajectories)に関連付けられた重みを決定し得る。例えば、コストが高いほど軌道が望ましくないことを示すシステムでは、候補軌道が位置の一つから離れているほど、候補軌道に対して決定される重みが大きくなり、候補軌道が場所に近づいているほど、逆もまた同様となる。追加的または代替的に、システムを逆にし得て、候補軌道が自律車両をその位置から遠ざけさせることになるほど、重みを減らし得る。
【0039】
メモリ224は、追加的または代替的に、遠隔操作コンポーネント238、および/または軌道生成コンポーネント240を含み得る。遠隔操作コンポーネント238は、車両202から受信された要求を管理し、一つまたは複数のインターフェース要素242を介して、車両202から受信されたセンサーデータ、および/または認識データの表現を、軌道生成コンポーネント232および/または軌道生成コンポーネント240によって生成された軌道とともに提示し得る。幾つかの例では、遠隔操作コンポーネントは、表示するセンサーデータおよび/または認識データの一部、ならびに/またはそれらの配置を決定し得る。
【0040】
軌道生成コンポーネント240は、軌道生成コンポーネント232と同じであってよく、または異なっていてもよい。軌道生成コンポーネントが同じである第一の例によると、遠隔操作コンポーネント238は、軌道生成コンポーネント240によって生成された候補軌道のうちの一つを選択する入力を受信し、その軌道に関連付けられた識別子(例えば、軌道に関連付けられた速度、進行方向、曲率等のハッシュなどの、軌道を表す命令のハッシュなど)を送信し得る。追加または代替の例では、軌道生成コンポーネントが同じであるかどうかに関わらず、遠隔操作コンポーネント238は、軌道生成コンポーネント240によって生成された、または軌道生成コンポーネント232から受信された候補軌道の一つを特定する遠隔操作者からの入力を受信し得て、少なくとも部分的に遠隔操作者の入力を受信することに基づいて、遠隔操作コンポーネント238は、軌道、および/または軌道に関連付けられた重みを車両202に送信し得る。
【0041】
幾つかの例では、重みは、軌道生成コンポーネント232が遠隔操作コンポーネント238から送信された軌道にどの程度の強度で厳守するべきかを特定し得る。重みは、遠隔操作コンポーネント238によってスライダバー、フィールド、または同様のユーザーインターフェースコンポーネントとして提示されるユーザーインターフェースを介して、選択可能なパラメータであり得る。それにも関わらず、車両202上の軌道生成コンポーネント232は、米国特許出願第16/517,506号、および/または米国特許出願第16/872,284号に従うなど、車両上の軌道生成の一部として、遠隔操作コンポーネント238から受信された軌道を使用し得る。
【0042】
インターフェース要素242は、インターフェースが関連付けられる遠隔操作者の種類に適した任意のインターフェース要素を含み得る。例えば、遠隔操作者が人間の利用者である場合、インターフェース要素242は、ディスプレイ、スピーカ、触覚フィードバック機構、グラフィカル・ユーザーインターフェース、アプリケーション・プログラミング・インターフェース、タッチ入力要素、マウス、キーボード、および/または同様のものを含み得る。遠隔操作者がMLモデルおよび/または人工知能コンポーネントを含む例では、インターフェース要素242は、電子通信バス、アプリケーション・プログラミング・インターフェース、発行-購買ネットワーク、および/または同様のものを含み得る。
【0043】
メモリ220および/または224は、追加的または代替的に、マップ作成システム(例えば、センサーデータに少なくとも部分的に基づいてマップを生成することなど)、計画システム、乗車管理システム等を格納し得る。位置特定コンポーネント226、認識コンポーネント228、計画コンポーネント230、軌道生成コンポーネント232、マップ234、および/またはシステム制御装置236は、メモリ220に格納されているように例証されているが、これらのコンポーネントの何れも、プロセッサ実行可能な命令、機械学習モデル(例えば、ニューラルネットワークなど)、および/またはハードウェアを含み得て、これらのコンポーネントの何れかの全部または一部は、メモリ224に格納され得るか、または演算装置214の一部として構成され得る。
【0044】
本明細書で説明されるように、位置特定コンポーネント226、認識コンポーネント228、計画コンポーネント230、軌道生成コンポーネント232、軌道生成コンポーネント240、および/またはシステム200における他のコンポーネントは、一つまたは複数のMLモデルを含み得る。例えば、位置特定コンポーネント226、認識コンポーネント228、計画コンポーネント230、および/または軌道生成コンポーネント232および/または240は、様々なMLモデルのパイプラインをそれぞれ含み得る。幾つかの例では、MLモデルは、ニューラルネットワークを含み得る。ニューラルネットワークの例は、入力データを一連の接続された層に渡して、出力を生成する、生物学に着想を得たアルゴリズムである。ニューラルネットワークにおける各層は、別のニューラルネットワークを含むことができ、または任意数の層(畳み込みかどうかに関係なく)を含むことができる。本開示に関連して理解することができるように、ニューラルネットワークは、機械学習を利用することができるが、これは、学習済みのパラメータに基づいて出力が生成される、そのようなアルゴリズムの広帯域クラスを指すことができる。
【0045】
ニューラルネットワークに関連して説明されているが、本開示と一致して、任意種類の機械学習を使用することができる。例えば、機械学習アルゴリズムは、回帰アルゴリズム(例えば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS)、局所的に推定された散布図の平滑化(LOESS)など)、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、エラスティック・ネット、最小角度回帰(LARS)など)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定切り株、条件付き決定木など)、ベイズ・アルゴリズム(例えば、ナイーブ・ベイズ、ガウス・ナイーブ・ベイズ、多項式ナイーブ・ベイズ、平均1依存推定器(AODE)、ベイジアン・ビリーフ・ネットワーク(BNN)、ベイジアン・ネットワークなど)、クラスタリング・アルゴリズム(例えば、k平均、kメディアン、期待値最大化(EM)、階層的クラスタリングなど)、相関ルール学習アルゴリズム(例えば、パーセプトロン、誤差逆伝搬法、ホップフィールド・ネットワークなど)、動径基底関数ネットワーク(Radial Basis Function Network)(RBFN)など)、深層学習アルゴリズム(例えば、ディープ・ボルツマン・マシン(DBM)、ディープ・ビリーフ・ネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、積層オートエンコーダなど)、次元削減アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモン・マッピング、多次元スケーリング(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟な判別分析(FDA)など)、アンサンブル・アルゴリズム(例えば、ブースティング、ブートストラップ集約(バギング)、アダブースト(AdaBoost)、積み上げ一般化(ブレンディング)、勾配ブースティング・マシン(GBM)、勾配ブースト回帰ツリー(GBRT)、ランダム フォレストなど)、SVM(サポート・ベクター・マシン)、教師あり学習、教師なし学習、半教師あり学習等を含むことができるが、これらに限定されない。アーキテクチャの追加例には、ResNet-50、ResNet-101、VGG、DenseNet、PointNetなどの、ニューラル ネットワークが含まれる。幾つかの例では、本明細書で説明されるMLモデルは、PointPillars、SECOND、トップダウン特徴層(例えば、米国特許出願第15/963,833号を参照のこと、その全体が本明細書に組み込まれる)、および/またはVoxelNetを含み得る。アーキテクチャ遅延時間の最適化には、MobilenetV2、Shufflenet、Channelnet、Peleenet、および/または同様のものが含まれ得る。MLモデルは、幾つかの例では、Pixorモデルなどの残差ブロックを含み得る。
【0046】
幾つかの例では、MLモデルは、例えば、畳み込みニューラルネットワーク(CNN)などの、ニューラルネットワークを含み得る。本明細書で説明されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に渡して、出力を生成する、生物学に着想を得たアルゴリズムである。また、ニューラルネットワークの各層は、別のニューラルネットワークを含むことができ、または任意数の層(畳み込みであるかどうかに関係なく)を含むことができる。この開示に関連して理解することができるように、ニューラルネットワークは、機械学習を利用することができるが、これは、学習済みのパラメータに基づいて出力が生成される、そのようなアルゴリズムの広帯域クラスを指すことができる。ニューラルネットワークに関連して説明されているが、本開示と一致して、任意種類の機械学習を使用することができる。幾つかの例では、本明細書で説明される軌道生成コンポーネント232、および/またはMLモデルは、演算装置204のメモリに格納された、および/またはそれにアクセス可能な、プロセッサ実行可能な命令、ハードウェア、および/またはそれらの何らかの組み合わせ(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)など)を含み得る。
【0047】
メモリ220は、追加的または代替的に、一つまたは複数のシステム制御装置236を格納し得るが、これは、車両202の操舵、推進、制動、安全、エミッタ、通信、および他のシステムを制御するように構成され得る。これらのシステム制御装置236は、駆動コンポーネント212、および/または車両202における他のコンポーネントの対応するシステムと通信し、および/または制御し得る。例えば、計画コンポーネント230は、認識コンポーネント228、および/または軌道生成コンポーネント232によって生成された認識データに少なくとも部分的に基づいて、命令を生成し得て、軌道生成コンポーネント232によって生成された認識データおよび/または進路を検証し、および/または命令をシステム制御装置236に送信し得る。システム制御装置236は、計画コンポーネント230から受信された命令に少なくとも部分的に基づいて、車両202の動作を制御し得る。
【0048】
注意すべきことは、
図2は、分散型システムとして例証されているが、代替例では、車両202のコンポーネントは、演算装置214に関連付けられてよく、および/または演算装置214のコンポーネントは、車両202に関連付けられてもよい。すなわち、車両202は、演算装置214に関連付けられた機能のうちの一つまたは複数を実行し得るが、逆もまた同様である。
【0049】
[プロセス例]
図3および4は、自律車両の制御用の軌道を協調的に生成するためのプロセス例300および400の絵付きフロー図を例証している。幾つかの例では、プロセス例300は、自律車両によって実行され得て、プロセス例400は、遠隔操作者からの入力を受信するように構成された遠隔演算装置(すなわち、遠隔操作装置)によって実行され得るが、遠隔操作者は、人間の利用者、MLモデルパイプライン、および/または人工知能コンポーネントであり得る。幾つかの例では、プロセス例300の少なくとも一部は、プロセス例400の動作と同時に、実質的に同時に、および/または交互的に起こり得る。
【0050】
操作302において、プロセス例300は、本明細書で説明される技法の何れかに従って、センサーデータ、および目標の位置または経路を受信するステップを含み得る。例えば、センサーデータは、LIDARデータ、レーダーデータ、赤外線画像データ、視覚画像データ、ソナーデータ、および/または同様のものを含み得る。自律車両は、そのような任意のセンサーデータを受信し得て、幾つかの例では、
図3に描写される環境データ132のトップダウン表現などの、環境のトップダウン表現など、センサーデータに関連付けられた認識データを、追加的または代替的に決定し得るが、これは、静的オブジェクトデータ、および/または動的オブジェクトデータを表し得る。環境データ132は、自律車両に関連付けられた環境内のオブジェクトの予測位置を描写する、様々な時間ステップに関連付けられた複数のフレームを含み得るにしても、簡単にするために、環境データ132の単一フレームが描写されている。
【0051】
目標の位置は、ゴール位置、ゴール領域、ゴール車線、ゴール方位、および/または同様のものを識別し得る。経路120は、環境内に関連付けられた少なくとも開始位置および終了位置を含み得る。幾つかの例では、開始位置は、自律車両の現在姿勢(例えば、位置および/または進行方向など)を識別し得て、および/または終了位置は、自律車両の目標姿勢を識別し得る。経路は、追加的または代替的に、開始位置と終了位置との間における一つまたは複数の曲線、ならびに/または開始位置および/または終了位置に関連付けて車両姿勢を識別し得る。例えば、開始位置は、車道(roadway)における第一の車線内の位置を識別し、終了位置は、開始位置から2街区(two city blocks)、右折、および追加の街区だけ離れた第二の車線内の位置を識別し得る。換言すると、経路は、自律車両の高レベルな任務であり得る。本明細書で使用されるように、曲線は、直線を含み得る。なお、車両の位置は、「x」で示されている。
【0052】
操作304において、プロセス例300は、本明細書で説明される技法の何れかに従って、センサーデータおよび目標の位置(および/または経路)に少なくとも部分的に基づいて、一つまたは複数の軌道306を決定するステップを含み得る。軌道群306は、
図3に矢印として描写され、車両の現在位置は「x」で示されている。軌道群306は、候補軌道と見做し得る。少なくとも一つの例では、操作304は、破線のボックスで示されている。というのは、遠隔操作者の支援要求が遠隔装置に送信されていると、遠隔演算装置は、一つまたは複数の軌道を全体的に生成し得るためである。なお、その要求は、操作304の前または後に遠隔演算装置に送信され得る。別の例では、自律車両は、軌道を決定し得て、それから要求を送信することを決定し得て、遠隔操作者の入力が受信されるまで軌道の生成を中止し得る。さらに別の例では、自律車両は、軌道を決定し得て、要求が送信された後であっても軌道の生成を継続し得る。この例は、自律車両が停止することなく操作を継続することを可能にし得る。
【0053】
軌道群306を決定するステップは、センサーデータに少なくとも部分的に基づいて自律車両によって決定される、環境データ132に少なくとも部分的に基づき得る。例えば、軌道群306を決定するステップは、距離マップを決定するステップを含み得るが、距離マップにおける位置は、その位置から、環境データに占有されていると示される最も近い部分までの距離を示す。なお、環境データ132における動的データの各時間刻み(time step)、動的データにおける一つまたは複数の時間刻みに関して、距離マップを決定し得て、および/または融合距離マップを決定し得る(例えば、複数の距離マップの平均など)。環境データ132における静的データ、および/または動的データは、環境の一部が占有されている/占有されていない尤度(likelihoods)、ならびに/または二進法表示(binary indications)を示し得る。
【0054】
例えば、静的データは、最大尤度(maximum likelihood)を示すことにより、静的オブジェクトの存在を示すことができ(例えば、尤度が0から1まで分布する例において1であることであって、1はオブジェクトが存在する信頼指標である)、動的データは、0と1(1を含まない)との間の尤度によってオブジェクトの可能性のある位置を示し得るが、他のシステムは、ロジット(logits)を使用するなどの、静的オブジェクトおよび動的オブジェクトを示すために使用され得る。幾つかの例では、尤度閾値を使用して、環境データ(すなわち、静的データおよび/または動的データ)をフィルタ抽出することに少なくとも部分的に基づいて、距離マップを計算することにより、バイナリマスク(binary mask)を決定し得る。換言すると、距離を決定するステップは、環境内のポイントから、閾値以上の尤度を示す環境データの最も近い部分までの距離に少なくとも部分的に基づき得る。
【0055】
操作304は、追加的または代替的に、環境データに少なくとも部分的に基づいて、コストマップを決定するステップを含み得る。幾つかの例では、コストマップを決定するステップは、環境内の位置、進行方向、速度、加速度(例えば、縦方向および/または横方向の加速度など)、および/または入口曲率/出口曲率に達することに関連付けられたコストを決定するステップを含むが、簡単にするために、本明細書における説明は、ここでは主に、位置に達するステップについて説明する。なお、コストマップは、これらの様々なメトリック(例えば、位置、進行方向、速度、曲率など)に関連付けられた多変量空間(multivariate space)に関連付けられ得るが、これは、図においては大幅に簡略化されている。実際には、これは、最初のコストが位置、進行方向、および速度に関連付けられ得るが、別のコストは、位置および進行方向は同じであっても、異なる速度に関連付けられ得る。
【0056】
コストを決定するステップは、多変量空間における様々な部分に達するために必要となる、機動(maneuvers)に関連付けられた重みを示す、訪問コスト(visitation costs)の事前計算されたフィールドに少なくとも部分的に基づき得る。訪問コストの事前計算フィールドは、様々な速度(例えば、時速 5マイル、時速15マイルなど)に関する複数のフィールドを含み得る。例えば、ある位置に到達して、車両の前方10フィートに向かうコストは、その位置における速度が車両の現在の速度よりも高いか低い場合に高くなり得る(例えば、車両が時速30マイルで走行している場合、同じ位置に到達して時速25マイルまたは時速35マイルで進行するための第一のコストは、同じ位置に到達して、時速10マイルまたは時速50マイルで進行するための第二のコストよりも少なくなる)。
【0057】
コストを決定するステップは、追加的または代替的に、コストマップ内の位置から、目標車線などの、目標参照(target reference)までの距離を決定すること、静的オブジェクトまたは動的オブジェクトまでの距離を決定することに少なくとも部分的に基づき得る(これは、操作304で決定され得る距離マップ、および/または操作304で決定され得る静的データ、動的データ、および/または距離マップに少なくとも部分的に基づいて、衝突の尤度を決定するステップに基づき得る)。例えば、コストは、最も近いオブジェクトまでの距離、および/または最も近い動的オブジェクトの速度、および/または移動方向に基づき得る。追加的または代替的に、コストは、経路または他の基準点(例えば、目標車線など)、および/または経路に沿った変位(displacement)からの、多変量空間における位置によって特定される位置、進行方向、および/または曲率の偏差(deviation)に少なくとも部分的に基づいている、偏差コスト(deviation cost)に少なくとも部分的に基づいている。例えば、経路に沿った変位が増加すると、コストが減少し得る。経路に沿った変位を決定するステップは、ポイントを経路上に投影して、効果的に辿られることになる経路の部分を決定するステップを含み得る。偏差コストは、追加的または代替的に、車両における現在の位置、進行方向、速度等からの、多変量空間内の位置、進行方向、速度等の偏差に少なくとも部分的に基づき得る。
【0058】
幾つかの例では、コストを決定するステップは、オブジェクトに関連付けられたオブジェクト分類に少なくとも部分的に基づき得る。例えば、オブジェクトの挙動(behavior)および/または重要性(importance)が変動し得るため、様々な種類のオブジェクトに様々なコスト関数を関連付け得る。例えば、静的オブジェクトに関連付けられたコスト関数は、動作を計算するコンポーネントを含まない場合があり、車両に関連付けられたコスト関数は、歩行者に関連付けられたコスト関数とは異なる場合がある。
【0059】
コストマップは、閾値を下回るコスト、または最小コストを有し、目標(例えば、経路の一部である旋回を選択可能である車線に車両を入れるなどの、経路の一部)を満たす、閾値を満たす、もしくは閾値を超える、または最大である経路に沿った変位を有する、一つまたは複数の軌道を含む進路を検索するために使用され得る。例えば、コストマップは、コストを減少させ、変位を増加させ、および/または任務の目的を満たす進路を決定するように動作し得る、探索アルゴリズムの一部として使用され得る。検索アルゴリズムは、例えば、D*、D*lite、Focused Dynamic A*、A*、LPA*、Dijkstraのアルゴリズム、および/または同様のものを含み得るが、米国特許出願第16/517,506号および米国特許出願第16/872,284号でより詳細に説明されているように、有向グラフおよび/または重み付け有向グラフの検索および/または生成を行うための他の検索アルゴリズムが使用されてもよい。
【0060】
操作304は、追加的または代替的に、軌道が衝突のない、経済的で、および/または同様である、尤度(例えば、事後確率(posterior probability)など)を示す、軌道に関連付けられた信頼度スコア(confidence score)を決定するステップを含み得る。幾つかの例では、信頼度スコアは、MLモデルによって生成されてもよく、上述されるように決定された軌道に関連付けられたコストに基づいてもよい。
【0061】
操作308において、プロセス例300は、本明細書で説明される技法の何れかに従って、遠隔操作者の入力に関する要求を遠隔演算装置に送信するステップを含み得る。幾つかのの例では、要求は、要求の種類、すなわち、センサーデータから決定された車両の位置を含む、センサーデータを含み得る環境データ132の少なくとも一部、車両に関する情報、および/または同様のものを特定し得る。操作304が発生する例では、操作308は、一つまたは複数の軌道306を遠隔演算装置に送信するステップを含み得る。幾つかの例では、要求を送信するステップは、軌道に関連付けられた信頼度スコアが信頼度スコア閾値を満たさないこと、および/または軌道に関連付けられたコストがコスト閾値を満たすか、または超えることを決定することに少なくとも部分的に基づき得る。例えば、自律車両は、信頼度スコアが十分に高くないか、またはコストが高過ぎると判定することにより、軌道群306の何れも十分な信頼度スコアおよび/またはコストに関連付けられていないと決定し得る。なお、この例では、信頼度スコアが大きいほど、衝突の可能性が低く、経済性が高く、搭乗者の快適性が高い、および/または同様のことなどを示し、コストが大きいほど、衝突の可能性が高く、経済性が低い等を示すと想定されているが、追加または代替の例では、これは、信頼度スコアもしくはコスト、およびそれらが関連付けられている閾値の何れか、または両方に対して逆になる場合がある。
【0062】
操作310において、プロセス例300は、本明細書で説明される技法の何れかに従って、遠隔演算装置から第一の軌道の選択を受信するステップを含み得る。第一の例では、第一の軌道は、車両によって生成された軌道群306のうちの一つであり得る。このような例では、第一の軌道を受信するステップは、軌道312などの、軌道群のうちの一つの識別を受信するステップを含み得る。別の例では、第一の軌道は、遠隔演算装置で決定された軌道であってもよい。何れにせよ、遠隔演算装置から受信された第一の軌道は、完全な軌道であってもよいし、または第一の軌道は、軌道の一部、もしくは軌道に関する目標であってもよい。後者の例によると、第一の軌道は、車線、領域、または位置を識別し得るが、前者の例によると、第一の軌道は、操舵角および/または操舵率、速度、および/または加速度を特定して、曲線部を識別し得る。幾つかの例では、遠隔演算装置から受信された第一の軌道は、重みを含み得る。この重みは、軌道生成コンポーネントが第一の軌道に一致するか、または第一の軌道を満たす軌道を生成するために、どの程度試行するべきであるかを示し得る。事実上(practically speaking)、重みは、軌道生成の一部として決定されるコストマップの決定の一部として使用され得る。例えば、重みが大きいほど、第一の軌道から逸脱する軌道に関するコストが大きくなる。例えば、遠隔操作の軌道が要求されたときと、重み付けされた軌道、またはそうでなければ選択された軌道が、遠隔操作者から受信されたときとの間に遅延があり得るため、車両は、重み付きの軌道を使用し得る。これらの時間の間において、車両は、望ましい軌道をより正確に決定するために使用され得る、追加のセンサーデータを収集し得る。そのような例では、車両は、遠隔操作者から受信された選択済み/重み付け済みの軌道を無視し得るか、または修正し得る。そのような例では、車両は、操作302に関連付けられた第一の時間より後である第二の時間に関連付けられた、第二のセンサーデータに少なくとも部分的に基づいて、第二の軌道を決定し得る。操作314、すなわち制御軌道を決定するステップは、遠隔演算装置から受信された第一の軌道、操作314で決定された軌道、および/または第二のセンサーデータを使用して車両によって決定された第二の軌道に少なくとも部分的に基づき得る。
【0063】
操作314において、プロセス例300は、本明細書で説明される技法の何れかに従って、第一の軌道に少なくとも部分的に基づいて、制御軌道316を決定するステップを含み得る。制御軌道316は、第一の軌道と同じであってもよいし、または異なっていてもよい。少なくとも一つの例では、制御軌道は、車両自体によって生成された軌道群のうちの一つ(例えば、軌道群306のうちの一つなど)であり得るが、追加または代替の例では、要求が送信された時間と、第一の軌道が受信された時間との間に、環境データが更新されていてもよい。何れにせよ、車両は、操作304に関する上記の説明に従ってコストマップを決定すること、および上記で説明されたように、第一の軌道を計算するコスト関数を含むことに少なくとも部分的に基づいて、制御軌道を決定し得る。例えば、コスト関数は、軌道と、遠隔演算装置から受信された第一の軌道との間の差に少なくとも部分的に基づいて、候補軌道にペナルティを課し(penalize)得る(例えば、コストを増加させる)。車両は、制御軌道316を使用して、自律車両における一つまたは複数の駆動コンポーネントの動作を制御し得る。
【0064】
操作318において、プロセス例300は、本明細書で説明される技法の何れかに従って、操作314で決定された制御軌道を含む進路が完全であり、および/または実行可能であるかどうかを決定するステップを含み得る。進路は、現在の時刻および/または位置から、計測期間(time horizon)または時間変位(time displacement)まで、自律車両を制御するのに十分な数の軌道を含み得る。例えば、進路には、次の2秒間、1秒間、500ミリ秒間、または計測期間が使用されている他の任意期間、もしくは距離が使用されている瞬間における次の10フィート、100フィートなどの間に、自律車両を制御するのに十分な任意数の軌道が含まれ得る。生成されている地平線まで自律車両を制御するのに十分な軌道が生成されると、進路は完成し得る。進路が完成している場合、プロセス例は、操作320に移行し得るが、少なくとも幾つかの例では、プロセス例は、進路が完成しているかどうかに関わらず、制御軌道316を即時に実装するステップを含み得る。
【0065】
進路の実行可能性は、2019年9月30日に出願された米国特許出願第16/588,529号でより詳細に説明されているように、プランナー(planner)の検証コンポーネントによって確認され得るが、この出願は、全ての目的のために本明細書に組み込まれている。進路が無効であることを検証コンポーネントが示している場合、プロセス例300は、操作304、308、および/または314に戻り得る。プロセス例300が操作304または314に戻る場合、プロセス例300は、最後に選択された軌道を要注意リストに登録し(blacklist)、軌道を再決定し得る。
【0066】
操作320において、プロセス例300は、本明細書で説明される技法の何れかに従って、自律車両に制御軌道および/または進路を実行させるステップを含み得る。
【0067】
プロセス400例に目を向けると、このプロセスは、遠隔演算装置によって実行され得るが、操作402において、プロセス400例は、本明細書で説明される技法の何れかに従って、要求、およびセンサーデータ、目標の位置および/または軌道に関する要求を受信するステップを含み得る。少なくとも一つの例では、操作402は、環境データ132を受信するステップを含み得るが、このデータは、車両からストリーミング配信され得るか、またはそうでなければ送信され得る。目標の位置が経路の一部を指定し得るか、または経路自体が受信され得る。
【0068】
操作404において、プロセス400例は、本明細書で説明される技法の何れかに従って、センサーデータに少なくとも部分的に基づいて、一つまたは複数の候補軌道406を決定するステップを含み得る。例えば、軌道は、自律車両の計画コンポーネントから受信され得る。軌道は、現在の位置および/または目標の位置、速度、加速度、進行方向、操舵角、および/または操舵率を示し得る。軌道群406は、軌道群306などの、車両で生成された一つまたは複数の軌道であり得て、または軌道群406は、軌道群306の少なくとも一つに追加され得るか、または少なくとも一つを置き換え得る。幾つかの例では、軌道群406は、車両上の軌道生成コンポーネントと同じコンポーネント、異なるハードウェア上で実行される軌道生成コンポーネントにおける同じソフトウェアコンポーネント、および/または全く異なるソフトウェアコンポーネントおよび/またはハードウェアコンポーネントを使用して生成され得る。例えば、遠隔演算装置で候補軌道群406を決定するステップは、クラウド演算サービスなどの、分散演算クラスタによって実行される、より複雑なソフトウェア・パイプラインのアプリケーション・プログラミング・インターフェースを呼び出すステップを含み得る。
【0069】
幾つかの例では、操作404は、認識データ、および/または車両自体によって生成された一つまたは複数の軌道を含む、環境データの何れかを車両から受信するステップを含み得る。追加的または代替的に、操作404は、車両によって生成された一つまたは複数の軌道のうちの少なくとも一つに少なくとも部分的に基づいて、軌道案(proposed trajectory)を決定するステップを含み得る。例えば、軌道案を決定するステップは、少なくとも部分的には、車両から受信された一つまたは複数の軌道に少なくとも部分的に基づいている複数の軌道を決定するステップと、軌道案(および/またはその他の軌道の何れか)に関連付けられた重みを決定するステップとを含み得るが、重みは、車両によって生成された軌道と比較して、軌道の改善を示している。例えば、軌道は、衝突をもたらす可能性が低く、不快感が少なく、またはそうでなければ搭乗者の認識に対してより滑らかであり、より経済的であるなどであり得る。
【0070】
操作408において、プロセス例400は、本明細書で説明される技法の何れかに従って、センサーデータの表現、および一つまたは複数の候補軌道を提示させるステップを含み得る。幾つかの例では、一つまたは複数の候補軌道を提示させるステップは、候補軌道を実行する車両のアニメーション、候補軌道を実行した後における車両の結果姿勢、候補軌道に従って経時的に車両の潜在的な位置を特定する曲線部などを表示させるステップを含み得る。十分な環境データが、遠隔操作者に入力を提供させることを可能にし得るように、遠隔操作者に提示され得る。
【0071】
操作410において、プロセス例400は、本明細書で説明される技法の何れかに従って、少なくとも部分的にこの提示に基づいて、候補軌道の中から軌道案412を特定する入力を受信するステップを含み得る。遠隔操作者が人間の利用者である例では、この入力は、軌道412を特定する、タッチスクリーン、マウス、キーボード、マイクロフォンなどの、入力デバイスを介した入力を含み得る。遠隔操作者がMLパイプラインである例では、軌道412は、MLパイプラインの出力であってもよいし、MLパイプラインの分類出力または回帰出力によって特定されてもよい。幾つかの例では、この入力は、追加的または代替的に、軌道案に関連付けられた重みを特定し得る。追加または代替の例では、重みは、軌道案に少なくとも部分的に基づいて、自律車両によって決定され得る。
【0072】
幾つかの例では、軌道案は、遠隔演算装置で受信および/もしくは提示された履歴データ(historic data)、ならびに/または追加データに少なくとも部分的に基づいて、生成または選択され得る。例えば、履歴データは、同じまたは類似の環境における、同じまたは別の車両に関連付けられた、軌道、センサーデータ、認識データ、および/または同様のものを含み得る。履歴データが利用可能であると判定するステップは、環境情報の少なくとも一部をMLモデルに提供し、データベース・インデックス、またはデータベースに格納された他の以前のデータにおける別の指示を受信するステップを含み得る。
【0073】
操作414において、プロセス例400は、本明細書で説明される技法の何れかに従って、軌道案を自律車両に(すなわち、プロセス例300に関して上記で説明されたように、第一の軌道として)送信するステップを含み得る。
【0074】
操作416において、プロセス例400は、本明細書で説明される技法の何れかに従って、自律車両から制御軌道418を受信するステップを含み得る。例えば、自律車両は、軌道案に少なくとも部分的に基づいて、制御軌道を決定し得て、進路がまだ完成していない場合、および/または障害物がまだ通過していない場合、自律車両は、確認の手段として制御軌道を遠隔演算装置に送信し得る。
【0075】
操作420において、プロセス例400は、自律車両から一つまたは複数の追加軌道422の決定および/または受信を行うステップを含み得る。例えば、追加軌道群422は、制御軌道の終点姿勢に少なくとも部分的に基づいて決定され得る。幾つかの例では、自律車両および/または遠隔演算装置は、進路がまだ完成していないとき、および/または事象(event)がまだ解決されていないとき(例えば、オブジェクトによって遮られない車線がない、特定種類のオブジェクトがまだ道路内にある、など)、追加軌道群422を決定し得る。プロセス例400は、自律車両が遠隔操作者の支援に関する必要性がなくなるという指示を生成するまで、遠隔操作者が入力に対する終了を示す入力を提供するまで、および/または事象が解決するまで、必要に応じて、操作410および/または414に戻り得る。
【0076】
[協調的進路構築の例]
図5Aないし5Cは、高速道路の出口の周りに奇妙に配置された何らかの交通コーンを考慮して、自律車両の制御用の進路を生成するために、遠隔操作システムと自律車両との間における協調の成功をトップダウン表現に描写している。このような例では、自律車両は、経路を完成させるために出口を使用する必要があるため、遠隔操作に要求を送信する可能性があるが、コーンが曖昧に配置されているため、出口が閉鎖されているかどうか、車線および出口が両方とも閉鎖されているかどうかを判定するのは困難である。このような状況により、車両によって生成された候補軌道に関連付けられた信頼度スコアが信頼度スコアの閾値を満たさない、または超えない可能性があり、遠隔操作システムに送信されるための要求が引き起こされる。
図5Aないし5Cは、プロセス例300および400の結果を描写し得る。
図5Aは、遠隔操作者の支援を要求している車両500と、車両500または遠隔操作システムが生成した、一方は太字、他方は破線である二つの軌道502を描写している。遠隔操作者の入力は、軌道504の選択を示すが、これは、選択を示すために太字化されている。
【0077】
図5Bは、未来の時間刻みにおける車両500の潜在的な位置と、車両および/または遠隔操作システムによって決定される三つの軌道506とを描写している。遠隔操作者の入力は、軌道508の選択を示している。ただし、
図5Aおよび5Bは、二つの軌道、および三つの軌道をそれぞれ描写しているが、より多くの軌道、またはより少ない軌道が、自律車両および/または遠隔操作システムによって生成され得る。
【0078】
図5Cは、計測期間に亘って自律車両を制御するための二つの軌道を含む、制御経路510を描写している。幾つかの例では、自律車両が、制御軌道を生成するためのプロセスの一部にそのような軌道を使用し得るため、制御経路510は、遠隔操作システムによって示される軌道とは異なり得る軌道を含み得る。描写された例では、事象を解決するには二つの軌道で十分であるが、他の例では、多かれ少なかれ軌道は、協調的に決定され得る。
【0079】
[条項の例示]
A.自律車両から離れたデバイスにおいて、自律車両の環境に関連付けられた支援およびセンサーデータに関する要求を受信するステップと、センサーデータに少なくとも部分的に基づいて、二つ以上の候補軌道を決定するステップと、デバイスにおいて、環境の表現と、二つ以上の候補軌道を表示するステップと、デバイスにおいて、二つ以上の候補軌道の中から軌道案を特定する入力を受信するステップと、自律車両に軌道案を送信するステップとを備える方法であって、自律車両が、軌道案に少なくとも部分的に基づいて、自律車両を制御するための進路を決定するように構成されている、方法。
【0080】
B.段落Aの方法であって、軌道案を自律車両に送信するステップは、軌道案に関連付けられた重みを送信するステップを含み、自律車両は、センサーデータおよび重みに少なくとも部分的に基づいて、候補軌道のセットを生成し、重みに少なくとも部分的に基づいて、候補軌道のセットの一つを決定する、方法。
【0081】
C.段落AまたはBの何れかの方法であって、軌道案に少なくとも部分的に基づいて候補軌道の第二のセットを決定するステップであって、候補軌道の第二のセットが、軌道案の終了位置に関連付けられた開始位置を含む、ステップと、候補軌道の第二のセットの中から第二の軌道案を特定する入力を受信するステップと、自律車両に第二の軌道案を送信するステップとをさらに備え、進路は、少なくとも部分的に第二の軌道案にさらに基づいている、方法。
【0082】
D.段落AないしCの何れか一つの方法であって、自律車両から、軌道案に少なくとも部分的に基づいて、自律車両によって生成された候補軌道の第二のセットを受信するステップと、候補軌道の第二のセットの中から第二の軌道案を特定する入力を受信するステップと、自律車両に第二の軌道案を送信するステップとをさらに備え、進路は、少なくとも部分的に第二の軌道案に基づいている、方法。
【0083】
E.段落AないしDの何れか一つの方法であって、二つ以上の候補軌道を決定するステップは、センサーデータに少なくとも部分的に基づいて決定されたオブジェクトデータまたはマップデータのうちの少なくとも一つに少なくとも部分的に基づいている、方法。
【0084】
F.段落AないしEの何れか一つの方法であって、軌道案は、進路を識別するために自律車両上で実行される探索アルゴリズムの一部として使用される領域、車線、位置、または重みのうちの少なくとも一つを識別する、方法。
【0085】
G.一つまたは複数のプロセッサと、および、一つまたは複数のプロセッサによって実行されると、システムに以下を含む操作を実行させる、プロセッサ実行可能命令を格納するメモリとを備えるシステム。すなわち、自律車両から離れたデバイスにおいて、支援要求と、自律車両用の軌道と、自律車両の環境に関連付けられたデータとを受信するステップと、支援要求の受信に応答して、データおよび軌道に基づいて、軌道案をデバイスで決定するステップと、軌道案を自律車両に送信するステップ。
【0086】
H.段落Gのシステムであって、操作は、一つまたは複数のプロセッサによって、軌道案に少なくとも部分的に基づいて、候補軌道の第二のセットを決定するステップであって、候補軌道の第二のセットは、軌道案の終了位置に関連付けられた開始位置を含む、ステップと、第二の軌道案を自律車両に送信するステップであって、第二の軌道案は、候補軌道の第二のセットの中から決定されている、ステップとをさらに含む、システム。
【0087】
I.段落GまたはHの何れかのシステムであって、操作は、自律車両から、軌道案に少なくとも部分的に基づいて、自律車両によって生成された候補軌道の第二のセットを受信するステップと、候補軌道の第二のセットの中から第二の軌道案を識別するステップと、第二の軌道案を自律車両に送信するステップとをさらに含む、システム。
【0088】
J.段落GないしIの何れか一つのシステムであって、操作は、軌道案を含む車両のための複数の軌道案を生成するステップをさらに含み、軌道案は、複数の軌道案の中から、デバイスで受信された車両の軌道に関連付けられた重み付けに基づいて決定される、システム。
【0089】
K.段落GないしJの何れか一つのシステムであって、軌道案は、自律車両と同様な環境における車両に関連付けられた履歴データ、または自律車両から受信された環境に関連付けられたデータ以外の環境に関する追加情報を提供する追加データに、少なくとも部分的に基づいて決定される、システム。
【0090】
L.一つまたは複数のプロセッサによって実行されると、一つまたは複数のプロセッサに以下を含む操作を実行させる、プロセッサ実行可能命令を格納する一つまたは複数の非一時的コンピュータ可読媒体。すなわち、自律車両および目標位置に関連付けられた一つまたは複数のセンサーから第一のセンサーデータを受信するステップと、第一のセンサーデータおよび目標位置に少なくとも部分的に基づいて、第一の軌道を決定するステップと、軌道に関連付けられた信頼度スコアが閾値未満であると判定するステップと、信頼度スコアが閾値未満であるという決定に少なくとも部分的に基づいて、遠隔操作者の入力に関する要求を遠隔演算装置に送信するステップと、遠隔演算装置から軌道案を受信するステップと、自律車両に関連付けられた一つまたは複数のセンサーから第二のセンサーデータを受信するステップと、第二のセンサーデータに少なくとも部分的に基づいて、第二の軌道を決定するステップと、軌道案および第二の軌道に少なくとも部分的に基づいて制御軌道を決定するステップ。
【0091】
M.段落Lにおける一つまたは複数の非一時的コンピュータ可読媒体であって、操作は、軌道案に関連付けられた重みを受信するステップをさらに含み、制御軌道を決定するステップは、重みに少なくとも部分的に基づいて制御軌道に関連付けられたコストを決定するステップと、コストに少なくとも部分的に基づいて軌道のセットから制御軌道を決定するステップとを含む、非一時的コンピュータ可読媒体。
【0092】
N.段落Mにおける一つまたは複数の非一時的コンピュータ可読媒体であって、制御軌道を決定するステップは、ツリー探索に少なくとも部分的に基づいている、システム。
【0093】
O.段落LないしNの何れか一つにおける一つまたは複数の非一時的コンピュータ可読媒体であって、操作は、自律車両からデバイスに軌道のセットを送信するステップをさらに含み、軌道案は、デバイスに送信された軌道のセットのうちの一つである、非一時的コンピュータ可読媒体。
【0094】
P.段落LないしOの何れか一つにおける一つまたは複数の非一時的コンピュータ可読媒体であって、操作は、遠隔演算装置から第三の軌道を受信するステップ、または制御軌道に少なくとも部分的に基づいて第二の軌道を決定するステップであって、第三の軌道は、制御軌道の終了位置に関連付けられた開始位置を含む、ステップのうちの少なくとも一つをさらに含む、非一時的コンピュータ可読媒体。
【0095】
Q.段落LないしPの何れか一つにおける一つまたは複数の非一時的コンピュータ可読媒体であって、第一の軌道が第二の軌道とは異なる、非一時的コンピュータ可読媒体。
【0096】
R.段落LないしQの何れか一つにおける一つまたは複数の非一時的コンピュータ可読媒体であって、制御軌道が、軌道案とは異なる、非一時的コンピュータ可読媒体。
【0097】
S.段落LないしRの何れか一つにおける一つまたは複数の非一時的コンピュータ可読媒体であって、軌道案は、自律車両によって実行された検索アルゴリズムの一部として使用される、領域、車線、位置、または重みのうちの少なくとも 一つを識別して、制御軌道を特定する、非一時的コンピュータ可読媒体。
【0098】
T.段落LないしSの何れか一つにおける一つまたは複数の非一時的コンピュータ可読媒体であって、制御軌道が遠隔演算装置で生成される、非一時的コンピュータ可読媒体。
【0099】
上述された条項の例示は、一つの特定の実装に関して説明されているが、この文書に関連して、条項の例示の内容は、方法、デバイス、システム、コンピュータ可読媒体、および/または別の実装を介して実装することもできることを理解する必要がある。さらに、例のAないしTの何れも、単独で、または例示AないしTにおける他の任意の一つまたは複数と組み合わせて、実施され得る。
【0100】
[結論]
主題は、構造的特徴および/または方法論的行為に特有の言葉で説明されてきたが、添付の請求項で定義された主題は、説明された特定の特徴または行為に必ずしも限定されないことを理解するべきである。むしろ、特定の特徴および行為は、請求項を実装する形態例として開示されている。
【0101】
本明細書で説明されるコンポーネントは、任意種類のコンピュータ可読媒体に格納され得て、ソフトウェアおよび/またはハードウェアで実装され得る命令を表す。上述された方法およびプロセスの全ては、一つまたは複数のコンピュータまたはプロセッサ、ハードウェア、またはそれらの何らかの組み合わせによって実行される、ソフトウェアコード・コンポーネントおよび/またはコンピュータ実行可能命令で具現化され、それらを介して完全に自動化され得る。あるいは、これらの方法の一部または全部は、専用のコンピュータハードウェアで実施され得る。
【0102】
本明細書で説明されるプロセスの少なくとも幾つかは、論理フローグラフとして例証されているが、それの各操作は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装することができる一連の操作を表す。ソフトウェアの関連において、操作は、一つまたは複数のプロセッサによって実行されると、コンピュータまたは自律車両に列挙された操作を実行させる、一つまたは複数の非一時的コンピュータ可読媒体に格納されるコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令には、特定の機能を実行する、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。操作が記述される順序は、限定として解釈されることを意図しておらず、記述された任意数の操作は、任意の順序および/または並行して組み合わされて、プロセスを実装することができる。
【0103】
とりわけ、「可能性がある(may)」、「可能であろう(could)」、「してもよい(may)」、または「するだろう(might)」などの、条件付き言語は、特に断りのない限り、特定の例を含むが、他の例は特定の機能、要素、および/またはステップを含まないことを提示することに関連して理解される。そのため、このような条件付き言語は、特定の機能、要素、および/またはステップが、一つまたは複数の例に何らかの形で必要であること、または一つまたは複数の例が、ユーザー入力またはプロンプトの有無に関わらず、特定の機能、要素、および/またはステップが含まれているかどうか、または任意の特定の例で実行されるかどうかを決定するためのロジックを必ず含むことを意味することが一般に意図されているわけではない。
【0104】
「X、Y、またはZのうちの少なくとも一つ」という語句などの接続詞は、特に断りのない限り、項目、用語等がX、Y、またはZの何れか、または各要素の倍数を含む、それらの任意の組み合わせであることを表すことを理解するべきである。単数であると明確に記載されていない限り、「a」は単数および複数を意味する。
【0105】
本明細書に記載され、および/または添付の図に示されるフロー図における、ルーチンの説明、要素、またはブロックは、特定の論理機能、またはルーチン内の要素を実装するための一つまたは複数のコンピュータ実行可能命令を含むモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されるべきである。本明細書で記述される例の範囲内には、実質的に同期的に、逆の順番で、追加の操作により、または操作を省略し、当業者によって理解されるような関連する機能性に依存して、要素または機能を削除し得るか、または図示もしくは説明したものから順不同で実行し得る、代替の実装が含まれる。
【0106】
上述された例に対して多くの変更および修正が行われ得るが、それの要素は、他の許容可能な例の中にあると理解されるべきである。このような全ての変更および変形は、本開示の範囲内である本明細書に含まれ、後続する請求項によって保護されることが意図されている。
【国際調査報告】