自律走行車又は半自律走行車等の車両が車両交通ネットワークの一部を横断する場合がある。車両交通ネットワークは、建物等の1つ以上の通行不能領域、駐車領域(例えば、駐車場、駐車スペース等)等の1つ以上の部分的通行可能領域、道路(車線、中央分離帯、交差点等を含む)の1つ以上の通行可能領域、又はこれらの組み合わせを含み得る。
車両は、1つ以上のセンサを含み得る。車両交通ネットワークを横断することは、車両の動作環境又はその一部に対応するデータ等のセンサデータを生成又は捕捉するセンサを含み得る。例えば、センサデータは、1つ以上の外部オブジェクト(又は単にオブジェクト)に対応する情報を含み得る。
外部オブジェクトは静的オブジェクトであり得る。静的オブジェクトとは、静止していて、数秒以内に移動することが予想されないオブジェクトである。静的オブジェクトの例としては、運転者のいない自転車、コールドビークル、空車、道路標識、壁、建物、穴等が含まれる。
外部オブジェクトは、停止したオブジェクトであってもよい。停止したオブジェクトとは、静止しているが、いつでも移動し得るオブジェクトである。停止オブジェクトの例としては、信号機で停止している車両、及び乗員(例えば、運転者)がいる道路側の車両等が含まれる。実装によっては、停止したオブジェクトは静的オブジェクトとみなされる。
外部オブジェクトは、歩行者、遠隔車両、オートバイ、自転車等の動的(すなわち、移動)オブジェクトである場合があり、動的オブジェクトは、(車両に向かって)対向している場合や、車両と同じ方向に移動している場合がある。動的オブジェクトは、車両に対して縦方向又は横方向に移動し得る。静的オブジェクトは動的オブジェクトになる可能性があり、その逆もしかりである。
一般に、車両交通ネットワークを横断する(例えば、その中を走行する)ことは、ロボット的な動作とみなされ得る。すなわち、特定の状況(例えば、交通状況又は道路状況)に対する車両の予測可能な応答は予想することが可能である。例えば、交通状況の観測者は、次の数秒間における車両の応答がどのようなものであるかを予想することが可能である。すなわち、例えば、走行環境(すなわち、車両交通ネットワーク、道路)が動的であっても、道路状態に対する車両(すなわち、人に運転される、遠隔操作されるもの等)による応答は予測/予想することが可能である。
(複数の)応答は、車両交通ネットワークを横断することが道路の規則(例えば、左折する車両は対向する交通に譲らなければならず、車両は車線の標示の間を走行しなければならない)、社会的慣習(例えば、停止標識において、右側の運転者が譲られるべきである)、及び物理的制約(例えば、静的オブジェクトが車両の進行方向に瞬間的に横方向に移動することはない)により支配されるので予測可能である。予測可能な応答のさらなる例が、図3に関して示されている。
本開示による実装は、静的オブジェクトの存在を検出し(例えば、感知、観測等)、車両交通ネットワークの他のユーザ(例えば、道路ユーザ、動的オブジェクト)の軌道を予想(すなわち、予測)することによって、自律走行車の軌道を決定する。本開示による実装は、自律走行車の円滑な制御(例えば、停止、待機、加速、減速、合流等)及び自律走行車の社会的に許容可能な挙動(例えば、操作)に寄与する動的オブジェクト(例えば、他の道路ユーザ)の軌道を正確かつ効率的に計画することが可能である。
以下にさらに説明するように、本開示による軌道プランナの実装は、例えば、HD地図データ、遠隔操作データ、及び他の入力データを受信すること;起点位置から目的地位置までの経路の速度プロファイルを決定するために、入力データを縦方向に縫い合わせ(例えば、融合、接続等)する(例えば、起点位置から目的地位置までの経路の異なる区間に沿ってAVを走行し得る速度を指定する速度プロファイル);及び離散的な時点において(例えば、数ミリ秒ごとに)、AVのセンサデータに基づいて観測される静的及び動的オブジェクトに関連する制約を軌道プランナに処理させることにより、次の時間ウィンドウ(例えば、6秒の先読み時間)のためのAVの円滑な軌道を生成することによって、自律走行車(AV)のための円滑な軌道を起点位置から目的地位置まで生成し得る。
上述したように、他の道路ユーザのアクション(例えば、軌道、挙動/意図等)を予測することによって、自律走行車に対して円滑な軌道を計画することができる。他のユーザのアクションを予測する軌道を計画することは、自律走行車及び他の道路ユーザの安全性を確保するための基礎となり得る。自律走行車及び/又は他のユーザの安全性を確保するための一般的なソリューションは、知覚されかつ予測された全ての衝突物に応答して、AVに(事前対策的及び反応的に)アクションを行わせることである。
軌道計画は、センサデータに依存する(例えば、センサデータに基づく)。しかしながら、観測及び/又は予測の不確実性は、センサデータ及び/又はセンサデータの処理に関連付けられ得る。観測又は予測の不確実性は、センサデータ自体、分類の不確実性、仮説(意図)の不確実性、実際の躊躇、遮蔽、不確実性の他の理由、又はそれらの組み合わせによって発生し得る。例えば、センサデータ自体に関して、センサデータは、気象条件、センサの精度、及び/又はセンサの故障によって影響され得る。分類の不確実性に関して、世界オブジェクトは、実際には何らかの他のクラスのオブジェクトである場合、自動車、自転車、歩行者等に分類され得る。意図の推定に関して、道路ユーザが左折しているのか又は直進しているのかわからないことがある。実際の躊躇に関して、道路ユーザは、実際に予期せずに考えを変え得る。遮蔽に関して、AVのセンサは、他のオブジェクトの背後にあるオブジェクトを検出できない場合がある。したがって、計画された軌道は、誤検出、センサデータ内のノイズ、及び他の不確実性に基づき得る。
全てのセンサデータに応答することは、不自然な(例えば、不快な、不愉快な)運転挙動又は麻痺(例えば、AVのアルゴリズムが、知覚された及び/又は予測された衝突物を解決及び/又は反応することができないこと)につながり得る。全ての可能な(誤って又はそれ以外で)知覚された世界オブジェクト及び/又は世界オブジェクトの意図に反応する(例えば、調整する)軌道計画は、AVの乗員にとって不快な走行をもたらし得ることが発見されている。
知覚されたハザード、知覚された世界オブジェクト、及び/又は知覚された世界オブジェクトの意図の予測に関連する問題を軽減するために、本開示に従った実装は、不確実性をロバストに処理するために偶発事象対応計画を使用し得る。偶発事象対応計画は、AVの乗員の快適性を維持しながら、同時にAVの安全性を保障することができる。偶発事象対応計画は、AVの計画システム(軌道計画システム等)が、不確実な観測又は予測に関してアクションを部分的に遅らせることを可能にする。一例では、どの程度のアクションを遅らせることができるかは、上記の観察又は予測の可能性及び/又はAVの緊急操作能力に基づき得る。
次に、偶発事象対応計画を説明するための非限定的な例を示す。センサ入力に基づいて、駐車車両がAVの前方でAVの軌道に沿って識別されると仮定する。AV(すなわち、その中のモジュール)は、駐車車両のドアが開き得ることを識別する。AVの軌道プランナは、将来ドアが開かれることを避けるためにAVが必ずしもすぐに移動する必要がないように、偶発事象軌道を計算することができる。むしろ、偶発事象軌道は、ドアが開いた場合でも、AVがドアとの衝突を確実に回避できるように緊急操縦が間に合って行われ得るように、AVが丁度十分に移動するようなものであり得る。
以下にさらに述べるように、偶発事象対応計画は、横方向(例えば、ステアリング)、縦方向(例えば、速度)の偶発事象、又はそれらの組み合わせに依存し得る。別の言い方をすれば、偶発事象対応計画は、横方向の偶発事象、縦方向の偶発事象、又はその両方を含み得る。横方向の偶発事象とは、右又は左ステアリングを必要とし得る偶発事象を意味する。縦方向の偶発事象とは、AVの速度の変更を必要とし得る偶発事象を意味する。場合によっては、速度の変化は速度の増加であってもよい。他の状況では、速度の変化は速度の低下であってもよい。ここでは、主に速度を低下させる例について説明するが、状況によっては、縦方向の偶発事象は、速度を、例えば、制限速度を超える速度まで増加させ得ることが理解され得る。
例えば、横方向の偶発事象に関して、駐車車両の車のドアがAVの経路内に開く可能性が低い場合、ドアが開いた場合でも緊急操作が可能になるように、(AVの乗員の快適性を維持しながら)AVをわずかに円滑に移動させるように偶発事象軌道が計画(及び実行)されてもよい。例えば、縦方向の偶発事象に関して、AVが停止しなければならないように歩行者がAVの経路内に不法に入って行く可能性がある場合には、(AVの乗員の快適性を維持しながら)円滑に減速し、かつ、歩行者がAVの経路内に出てきた場合に緊急操作が可能となるように丁度十分になるように偶発事象軌道(例えば、速度計画)を計画(及び実行)されてもよい。
偶発事象対応計画の利点は、1)観察及び予測の不確実性に関係なくAVの安全性を保障すること、2)乗員の快適性を維持し、かつAVの社会的に許容される挙動を生成すること、3)観察及び/又は予測の可能性に基づいて測定された応答を提供すること、及び4)センサ要件を少なくすることを含み得る。例えば、社会的に許容される挙動を生成することに関して、AVはあらゆる可能な相互作用のために急激に減速する必要はない。例えば、センサ要件を少なくすることに関して、AVは測定の不確実性に基づいてその応答を調整することができるので、AV内のセンサのコストを低減することができる。例えば、典型的なAVは、15個を超えるカメラ、7つのLiDARユニット、6つのレーダユニット、2つのGPS受信機、4つを超えるグラフィック処理ユニット(GPU)、及び9つを超える処理ユニットを含み得る。対照的に、AVの計画モジュールが不確実性に対してより寛容であるように、本明細書に記載されているような偶発事象対応計画を使用するAVは、6つのカメラ、1つのLiDARユニット、1つのレーダ、2つのGPS受信機、3つのGPU、及び1つの処理ユニットを超えて必要としない。
本明細書では自律走行車を参照して記載されているが、本明細書に記載の方法及び装置は、自律的又は半自律的動作が可能な任意の車両で実装されてもよい。車両交通ネットワークを参照して記載されているが、本明細書に記載の方法及び装置は、車両によって走行可能な任意の領域で自律走行車が動作することを含んでもよい。
本明細書の教示のいくつかの実装をより詳細に説明するために、まず、本開示が実装され得る環境を参照する。
図1は、本明細書に開示の態様、特徴及び要素が実装され得る車両100の一部の例示の図面である。車両100は、シャーシ102、パワートレイン104、コントローラ114、車輪132/134/136/138を含み、又は車両の任意の他の要素又は要素の組み合わせを含んでもよい。簡潔のため車両100は4つの車輪132/134/136/138を含むように示されているが、プロペラ又はトレッド等の1つ以上の任意の他の推進装置が使用されてもよい。図1において、パワートレイン104、コントローラ114及び車輪132/134/136/138等の要素を相互接続する線は、データ又は制御信号等の情報、電力又はトルク等の力、又は情報及び電力の両方が各要素間で伝達され得ることを示している。例えば、コントローラ114は、パワートレイン104から電力を受信して、パワートレイン104、車輪132/134/136/138、又は両方と通信して、車両100を制御してもよく、これは、車両100を加速、減速、操縦又は他のやり方で制御することを含み得る。
パワートレイン104は、電源106、トランスミッション108、ステアリング装置110、車両アクチュエータ112を含み、サスペンション、駆動シャフト、アクセル若しくは排気システム等のパワートレインの任意の他の要素又は要素の組み合わせを含んでもよい。別々に示されているが、車輪132/134/136/138は、パワートレイン104に含まれてもよい。
電源106は、電気エネルギ、熱エネルギ又は運動エネルギ等のエネルギを提供するように動作する任意の装置又は装置の組み合わせであってもよい。例えば、電源106は、内燃エンジン、電気モータ又は内燃エンジン及び電気モータの組み合わせ等のエンジンを含み、車輪132/134/136/138の1つ以上に原動力として運動エネルギを提供するように動作する。いくつかの実施形態では、電源106は、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li-ion)等の1つ以上の乾電池、太陽電池、燃料電池、又はエネルギを提供することが可能な任意の他の装置等のポテンシャルエネルギ装置を含む。
トランスミッション108は、電源106から運動エネルギ等のエネルギを受信して、原動力を提供するために車輪132/134/136/138にエネルギを送る。トランスミッション108は、コントローラ114、車両アクチュエータ112又は両方によって制御されてもよい。ステアリング装置110は、コントローラ114、車両アクチュエータ112又は両方によって制御され、車両を操縦するために車輪132/134/136/138を制御する。車両アクチュエータ112は、コントローラ114から信号を受信してもよく、車両100を動作させるために電源106、トランスミッション108、ステアリング装置110又はこれらの任意の組み合わせを作動又は制御してもよい。
例示の実施形態では、コントローラ114は、位置決め装置116、電子通信装置118、プロセッサ120、メモリ122、ユーザインターフェース124、センサ126、及び電子通信インターフェース128を含む。単一の装置として示されているが、コントローラ114の任意の1つ以上の要素が任意の数の分離した物理装置に組み込まれてもよい。例えば、ユーザインターフェース124及びプロセッサ120は、第1の物理装置に組み込まれてもよく、メモリ122は、第2の物理装置に組み込まれてもよい。図1には示されていないが、コントローラ114は、バッテリ等の電源1210を含んでもよい。別個の要素として示されているが、位置決め装置116、電子通信装置118、プロセッサ120、メモリ122、ユーザインターフェース124、センサ126、電子通信インターフェース128、又はこれらの任意の組み合わせは、1つ以上の電子装置、回路又はチップに組み込まれ得る。
いくつかの実施形態では、プロセッサ120は、信号又は他の情報を操作又は処理することが可能な現存する又は今後開発される任意の装置又は装置の組み合わせ、例えば、光プロセッサ、量子プロセッサ、分子プロセッサ、又はそれらの組み合わせを含む。例えば、プロセッサ120は、1つ以上の専用プロセッサ、1つ以上のデジタル信号プロセッサ、1つ以上のマイクロプロセッサ、1つ以上のコントローラ、1つ以上のマイクロコントローラ、1つ以上の集積回路、1つ以上の特定用途向け集積回路、1つ以上のフィールド・プログラマブル・ゲート・アレイ、1つ以上のプログラマブル・ロジック・アレイ、1つ以上のプログラマブル・ロジック・コントローラ、1つ以上の状態機械、又はこれらの任意の組み合わせを含んでもよい。プロセッサ120は、位置決め装置116、メモリ122、電子通信インターフェース128、電子通信装置118、ユーザインターフェース124、センサ126、パワートレイン104、又はこれらの任意の組み合わせと動作可能に結合されてもよい。例えば、プロセッサは、通信バス130を介してメモリ122と動作可能に結合されてもよい。
プロセッサ120は、命令を実行するように構成されてもよい。このような命令は、オペレーションセンタを含む遠隔地から車両100を操作するために使用され得る遠隔操作のための命令を含んでもよい。遠隔操作のための命令は、車両100に記憶され、又は交通管理センタ又はクラウド型サーバコンピュータ装置を含むサーバコンピュータ装置等の外部ソースから受信されてもよい。遠隔操作は、2018年2月21日に出願され、“REMOTE OPERATION EXTENDING AN EXISTING ROUTE TO A DESTINATION”と題された米国仮特許出願第62/633,414号で紹介されている。
メモリ122は、プロセッサ120によって使用される又はそれと接続される、機械可読命令又はそれに関連付けられる任意の情報を、例えば、保持、記憶、伝達又は搬送することが可能な任意の有形の非一時的コンピュータ使用可能又はコンピュータ可読媒体を含んでもよい。メモリ122は、例えば、1つ以上の半導体ドライブ、1つ以上のメモリカード、1つ以上のリムーバブル媒体、1つ以上の読み取り専用メモリ(ROM)、1つ以上のランダムアクセスメモリ(RAM)、1つ以上のレジストリ、1つ以上の低電力ダブルデータレート(LPDDR)メモリ、1つ以上のキャッシュメモリ、1つ以上のディスク(ハードディスク、フロッピーディスク、又は光学ディスクを含む)、磁気若しくは光学カード、又は電子情報を記憶するのに適した任意のタイプの非一時的な媒体、又はこれらの任意の組み合わせを含んでもよい。
電子通信インターフェース128は、図示のような無線アンテナ、有線通信ポート、光学通信ポート、又は有線若しくは無線電子通信媒体140とインターフェース接続することが可能な任意の他の有線若しくは無線装置であってもよい。
電子通信装置118は、電子通信インターフェース128等を介して、有線又は無線電子通信媒体140を介して信号を送信又は受信するように構成されてもよい。図1に明示されていないが、電子通信装置118は、無線周波数(RF)、紫外線(UV)、可視光、光ファイバ、有線回線、又はこれらの組み合わせ等の任意の有線又は無線通信媒体を介して送信、受信又は両方を行うように構成される。図1は、単一の電子通信装置118及び単一の電子通信インターフェース128を示しているが、任意の数の通信装置及び任意の数の通信インターフェースが使用されてもよい。いくつかの実施形態では、電子通信装置118は、専用の短距離通信(DSRC)装置、無線安全装置(WSU)、IEEE802.11p(WiFi-P)、又はそれらの組み合わせを含み得る。
位置決め装置116は、限定されないが、車両100の経度、緯度、高度、進行方向又は速さを含む地理情報を決定してもよい。例えば、位置決め装置は、広域補強システム(Wide Area Augmentation System;WAAS)対応米国海洋電子機器協会(National Marine Electronics Association;NMEA)装置、無線三角測量装置、又はこれらの組み合わせ等の全地球測位システム(GPS)装置を含む。位置決め装置116は、例えば、車両100の現在の向き、2次元又は3次元での車両100の現在地、車両100の現在の角度方向、又はこれらの組み合わせを表す情報を取得するために使用され得る。
ユーザインターフェース124は、仮想キーパッド、物理キーパッド、タッチパッド、ディスプレイ、タッチスクリーン、スピーカ、マイクロホン、ビデオカメラ、センサ、及びプリンタのいずれかを含む、人間がインターフェースとして使用することが可能な任意の装置を含んでもよい。ユーザインターフェース124は、図示のようにプロセッサ120と、又はコントローラ114の任意の他の要素と動作可能に結合されてもよい。単一の装置として示されているが、ユーザインターフェース124は、1つ以上の物理装置を含み得る。例えば、ユーザインターフェース124は、人物との音声通信を行うための音声インターフェース、及び人物との視覚及びタッチに基づく通信を行うためのタッチディスプレイを含む。
センサ126は、車両を制御するために使用され得る情報を提供するように動作し得るセンサの配列等の1つ以上のセンサを含んでもよい。センサ126は、車両の現在の動作特徴又はその周囲に関する情報を提供し得る。センサ126は、例えば、速度センサ、加速度センサ、ステアリング角センサ、トラクション関連センサ、ブレーキ関連センサ、又は車両100の現在の動的状況の何らかの態様に関する情報を報告するように動作可能な任意のセンサ若しくはセンサの組み合わせを含む。
いくつかの実施形態では、センサ126は、車両100の周囲の物理環境に関する情報を取得するように動作可能なセンサを含む。例えば、1つ以上のセンサが、道路形状、及び固定障害物、車両、サイクリスト及び歩行者等の障害を検出する。センサ126は、既知の又は後に開発される、1つ以上のビデオカメラ、レーザ感知システム、赤外線感知システム、音響感知システム、又は任意の他の適切なタイプの車載環境感知装置、又は装置の組み合わせであるか又はこれらを含み得る。センサ126及び位置決め装置116は結合されてもよい。
別に示されてはいないが、車両100は、軌道コントローラを含んでもよい。例えば、コントローラ114は、軌道コントローラを含んでもよい。軌道コントローラは、車両100の現在の状態及び車両100に対して計画された経路を記述する情報を取得し、この情報に基づいて、車両100に対する軌道を決定及び最適化するように動作可能であってもよい。いくつかの実施形態では、軌道コントローラは、車両100が軌道コントローラによって決定される軌道に従うように、車両100を制御するように動作可能な信号を出力する。例えば、軌道コントローラの出力は、パワートレイン104、車輪132/134/136/138又は両方に供給され得る最適化された軌道であり得る。最適化された軌道は、一組のステアリング角等の制御入力であってもよく、各ステアリング角は1つの時点又は位置に対応する。最適化された軌道は、1つ以上の経路、線、曲線、又はこれらの組み合わせであり得る。
1つ以上の車輪132/134/136/138は、ステアリング装置110の制御下でステアリング角に枢動される操縦された車輪、トランスミッション108の制御下で車両100を推進するためのトルクを与えられる推進された車輪、又は車両100を操縦及び推進する操縦及び推進された車輪であってもよい。
車両は、エンクロージャ、ブルートゥース(登録商標)モジュール、周波数変調(FM)ラジオ装置、近距離無線通信(NFC)モジュール、液晶ディスプレイ(LCD)ディスプレイ装置、有機発光ダイオード(OLED)ディスプレイ装置、スピーカ、又はこれらの任意の組み合わせ等の図1に示されていない装置又は要素を含んでもよい。
図2は、本明細書に開示の態様、特徴及び要素が実装され得る車両交通及び通信システム200の一部の例示の図面である。車両交通及び通信システム200は、図1に示された車両100等の車両202、及び図1に示された車両100、歩行者、サイクリスト等の任意の交通手段の形態と共に建物等の任意の形態の構造を含み得る外部オブジェクト206等の1つ以上の外部オブジェクトを含む。車両202は、交通ネットワーク208の1つ以上の部分を介して移動してもよく、1つ以上の電子通信ネットワーク212を介して外部オブジェクト206と通信してもよい。図2には明示されていないが、車両は、オフロード領域等の交通ネットワークに明示的に又は完全には含まれていない領域を横断してもよい。いくつかの実施形態では、交通ネットワーク208は、誘導ループセンサ等の1つ以上の車両検出センサ210を含んでもよく、これは交通ネットワーク208において車両の移動を検出するために使用されてもよい。
電子通信ネットワーク212は、車両202、外部オブジェクト206及び操作センタ230の間の音声通信、データ通信、映像通信、メッセージング通信、又はこれらの組み合わせ等の通信を提供する多重アクセスシステムであってもよい。例えば、車両202又は外部オブジェクト206は、電子通信ネットワーク212を介して操作センタ230から交通ネットワーク208を表す情報等の情報を受信してもよい。
オペレーションセンタ230は、図1に示されたコントローラ114の特徴の一部又は全てを含むコントローラ装置232を含む。コントローラ装置232は、自律走行車を含む車両の移動を監視及び調整し得る。コントローラ装置232は、車両202等の車両及び外部オブジェクト206等の外部オブジェクトの状態又は状況を監視してもよい。コントローラ装置232は、車両速度、車両位置、車両動作状態、車両目的地、車両経路、車両センサデータ、外部オブジェクト速度、外部オブジェクト位置、外部オブジェクト動作状態、外部オブジェクト目的地、外部オブジェクト経路及び外部オブジェクトセンサデータのいずれかを含む車両データ及びインフラストラクチャデータを受信し得る。
さらに、コントローラ装置232は、車両202等の1つ以上の車両又は外部オブジェクト206等の外部オブジェクトに対する遠隔制御を確立し得る。このようにして、コントローラ装置232は、遠隔地から車両又は外部オブジェクトを遠隔操作してもよい。コントローラ装置232は、無線通信リンク226等の無線通信リンク又は有線通信リンク228等の有線通信リンクを介して、車両202、外部オブジェクト206又はサーバコンピュータ装置234等の車両、外部オブジェクト又はコンピュータ装置と状態データを交換(送信又は受信)してもよい。
サーバコンピュータ装置234は、電子通信ネットワーク212を介して、車両202、外部オブジェクト206又はオペレーションセンタ230を含む1つ以上の車両又はコンピュータ装置と状態信号データを交換(送信又は受信)し得る1つ以上のサーバコンピュータ装置を含んでもよい。
いくつかの実施形態では、車両202又は外部オブジェクト206は、有線通信リンク228、無線通信リンク214/216/224、又は任意の数若しくはタイプの有線若しくは無線通信リンクの組み合わせを介して通信を行ってもよい。例えば、図示のように、車両202又は外部オブジェクト206は、陸上無線通信リンク214を介して、非陸上無線通信リンク216を介して、又はこれらの組み合わせを介して通信を行う。いくつかの実装では、陸上無線通信リンク214は、イーサネット(登録商標)リンク、シリアルリンク、ブルートゥース(登録商標)リンク、赤外線(IR)リンク、紫外線(UV)リンク、又は電子通信を可能にする任意のリンクを含む。
車両202等の車両又は外部オブジェクト206等の外部オブジェクトは、別の車両、外部オブジェクト又はオペレーションセンタ230と通信してもよい。例えば、ホスト又はオブジェクトの車両202が、直接通信リンク224を介して又は電子通信ネットワーク212を介して、オペレーションセンタ230から基本安全メッセージ(basic safety message;BSM)等の1つ以上の自動車両間メッセージを受信してもよい。例えば、オペレーションセンタ230は、300メートル等の既定のブロードキャスト範囲内のホスト車両に又は定義された地理領域にメッセージをブロードキャストしてもよい。いくつかの実施形態では、車両202は、信号リピータ(図示せず)又は別の遠隔車両(図示せず)等のサードパーティを介してメッセージを受信する。いくつかの実施形態では、車両202又は外部オブジェクト206は、100ミリ秒等の既定の間隔に基づいて周期的に1つ以上の自動車両間メッセージを送信する。
車両202は、電子通信ネットワーク212とアクセスポイント218を介して通信することができる。コンピュータ装置を含み得るアクセスポイント218は、無線又は有線通信リンク214/220を介して、車両202と、電子通信ネットワーク212と、オペレーションセンタ230と、又はこれらの組み合わせと通信するように構成される。例えば、アクセスポイント218は、基地局、BTS(base transceiver station)、Node-B、eNode-B(enhanced Node-B)、HNode-B(Home Node-B)、無線ルータ、有線ルータ、ハブ、リレー、スイッチ、又は任意の類似の有線若しくは無線装置である。単一の装置として示されているが、アクセスポイントは、任意の数の相互接続要素を含み得る。
車両202は衛星222又は他の非陸上通信装置を介して電子通信ネットワーク212と通信してもよい。コンピュータ装置を含み得る衛星222は、1つ以上の通信リンク216/236を介して、車両202と、電子通信ネットワーク212と、操作センタ230と、又はこれらの組み合わせと通信するように構成されてもよい。単一の装置として示されているが、衛星は、任意の数の相互接続要素を含み得る。
電子通信ネットワーク212は、音声、データ、又は任意の他のタイプの電子通信装置を提供するように構成される任意のタイプのネットワークであってもよい。例えば、電子通信ネットワーク212は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、仮想プライベートネットワーク(VPN)、モバイル若しくはセルラ電話ネットワーク、インターネット、又は任意の他の電子通信システムを含む。電子通信ネットワーク212は、トランスミッション・コントロール・プロトコル(TCP)、ユーザ・データグラム・プロトコル(UDP)、インターネット・プロトコル(IP)、リアルタイム・トランスポート・プロトコル(RTP)、ハイパー・テキスト・トランスポート・プロトコル(HTTP)、又はこれらの組み合わせ等の通信プロトコルを使用してもよい。単一の装置として示されているが、電子通信ネットワークは、任意の数の相互接続要素を含み得る。
いくつかの実施形態では、車両202は、電子通信ネットワーク212、アクセスポイント218又は衛星222を介して、操作センタ230と通信する。オペレーションセンタ230は、車両202等の車両からのデータ、外部オブジェクト206等の外部オブジェクトからのデータ、又はサーバコンピュータ装置234等のコンピュータ装置からのデータを交換(送信又は受信)し得る1つ以上のコンピュータ装置を含んでもよい。
いくつかの実施形態では、車両202は、交通ネットワーク208の一部又は状態を識別する。例えば、車両202は、速度センサ、車輪速度センサ、カメラ、ジャイロスコープ、光学センサ、レーザセンサ、レーダセンサ、音響センサ、又は交通ネットワーク208の一部若しくは状態を決定若しくは識別することが可能な任意の他のセンサ若しくはデバイス又はこれらの組み合わせを含む図1に示されたセンサ126等の1つ以上の車載センサ204を含んでもよい。
車両202は、交通ネットワーク208を表す情報、1つ以上の車載センサ204、又はこれらの組み合わせ等の電子通信ネットワーク212を介して伝達される情報を使用して、交通ネットワーク208の1つ以上の部分を横断してもよい。外部オブジェクト206は、車両202に関して先に記載された通信及びアクションの全て又は一部の能力を有してもよい。
簡潔のため、図2は、ホスト車両としての車両202、外部オブジェクト206、交通ネットワーク208、電子通信ネットワーク212、及び操作センタ230を示している。しかしながら、任意の数の車両、ネットワーク又はコンピュータ装置が使用されてもよい。いくつかの実施形態では、車両交通及び通信システム200は、図2に示されていない装置、ユニット又は要素を含む。
電子通信ネットワーク212を介してオペレーションセンタ230と通信する車両202が示されているが、車両202(及び外部オブジェクト206)は、任意の数の直接又は間接通信リンクを介してオペレーションセンタ230と通信してもよい。例えば、車両202又は外部オブジェクト206は、ブルートゥース(登録商標)通信リンク等の直接通信リンクを介してオペレーションセンタ230と通信してもよい。簡潔のため、図2は1つの交通ネットワーク208及び1つの電子通信ネットワーク212を示しているが、任意の数のネットワーク又は通信装置が使用されてもよい。
外部オブジェクト206は、図2に第2の遠隔車両として示されている。外部オブジェクトは、他の車両に限定されない。外部オブジェクトは、オペレーションセンタ230にデータを送信する能力を有する任意のインフラストラクチャ要素、例えば、フェンス、標識、建物等であってもよい。データは、例えば、インフラストラクチャ要素からのセンサデータであってもよい。
図3は、本開示の実装による予測可能な応答の状況300の図である。状況300は、自律走行車(AV)302の応答を予測し得る状況310-360、及び計画された軌道を含んでいる。
状況300は、予測可能な状況及び道路ユーザの応答の例を表している。これらの状況は、遅い時間スケールで発生する(例えば、起こる、生じる)。すなわち、AV302が高速(例えば、時速60マイル(MPH))で進んでいる場合であっても、状況310-360は、AV302の計算能力(例えば、図1のプロセッサ120等のプロセッサ及び/又は図1のコントローラ114等のコントローラの演算能力)のために、経過時間のサブ秒以内で外部オブジェクトの応答を予測し、自律走行車の軌道を決定し得るので、遅いシナリオであると考えられる。
AV302は、少なくともいくつかの検出された外部オブジェクトを追跡することが可能な世界モデル化モジュールを含み得る。世界モデル化モジュールは、複数の追跡対象オブジェクトの少なくとも一部の追跡対象オブジェクトごとに、1つ以上の可能性のある仮説(すなわち、軌道、経路等)を予測し得る。AV302は、軌道計画システム(又は、単に軌道プランナ)を含んでもよく、このシステムは、プロセッサによって実行されて、(初期状態、所望のアクション、及び予測された軌道を有する少なくともいくつかの追跡対象オブジェクトを考慮して)衝突回避、法令遵守、快適応答(例えば、軌道、経路等)を生成し得る。
状況310において、AV302は、道路の側方にある駐車車両(静的オブジェクト)304を(すなわち、追跡コンポーネントによって)検出する。AV302(すなわち、AV302の軌道プランナ)は、以下にさらに説明するが、軌道306によって示されるように、AV302を駐車車両304の周りにナビゲートする経路(すなわち、軌道)を計画し得る。
状況320は、AV302が他の静的オブジェクトを検出する別の状況である。検出された静的オブジェクトは、穴322である。AV302は、AV302のタイヤのいずれもがポットホール322内を走行しないように、ポットホール322上を走行するような軌道324を計画し得る。
状況330において、AV302は、対向車両332と、対向車両332と同じ道路側の駐車車両334とを検出する。対向車両332は移動している。したがって、対向車両332は動的オブジェクトである。対向車両332は、AV302と同じ(又は少なくとも実質的に同じである)前後方向に移動している。したがって、対向車両332は、以下にさらに説明するように、縦方向制約として分類し得る。対向車両332は、AV302とは逆方向に移動している。したがって、対向車両332は、対向縦方向制約として分類し得る。駐車車両334は、静的オブジェクトである。
AV302は、対向車両332が軌道336を追従して駐車車両334を回避(例えば、迂回)することを、(すなわち、予測コンポーネントによって)閾値を超えるある程度の確実性をもって予測し得る。軌道336は、道路の中心線337と重なる。対向車両332からの安全な距離を維持するために、AV302の軌道プランナは、位置339における曲率を含む軌道338を計画し得る。すなわち、AV302の計画軌道は、対向車両332の進路を予測してAV302を右方に移動させる。
状況340において、AV302の追跡コンポーネントは、駐車車両342(静的オブジェクト)及び移動中の自転車344(すなわち、縦方向制約である動的オブジェクト)を検出し得る。予測コンポーネントは、自転車344が軌道346に沿って駐車車両342の周りを移動することをある程度確実に決定し得る。そのため、AV302は、AV302が一定距離後に停止して、自転車344が駐車車両342を通過することを可能にするように軌道348を決定(すなわち、計画、計算、選択、生成、又は他のやり方で決定)する。別の例では、AV302は、複数の可能な軌道を決定し得る。例えば、AV302は、上述したような第1の軌道と、自転車344が駐車車両を通過する前にAV302が加速して自転車344を通過する第2の軌道と、自転車344が駐車車両342を通過しているときにAV302が自転車344の周りを通過する第3の軌道とを決定し得る。次に、軌道プランナは、決定された可能な軌道の1つを選択する。
状況350では、AV302の追跡コンポーネントが対向車両352、第1の駐車車両356、第2の駐車車両357を検出する。AV302の予測コンポーネントは、対向車両352が軌道354を辿っていると決定する。AV302は、AV302が第1の駐車車両356を通過し、第1の駐車車両356と第2の駐車車両357との間で対向車両352が通過するまで待機した後で、第2の駐車車両357を通過するように軌道358を選択する。
状況360では、AV302の予測コンポーネントは、大型トラック362が右折する可能性が最も高いと判断する。軌道プランナは、(例えば、大型トラックの運動モデルに基づいて)大型トラックは大きな旋回半径を必要とするので、大型トラック362は軌道364を辿る可能性が高いと判断する。軌道364がAV302の経路と干渉するので、AV302の軌道プランナは、大型トラック362が邪魔にならなくなるまでAV302を停止させるようにAV366の軌道302を決定する。
図4は、本開示の実装による自律走行車用システム400のコンポーネントの一例である。システム400は、図1の車両100等の自律走行車のソフトウェアパイプラインを表す。システム400は、世界モデルモジュール402と、経路計画モジュール404と、意思決定モジュール406と、軌道プランナ408と、反応軌道制御モジュール410とを含む。システム400の他の例は、より多い、より少ない、又は他のモジュールを含み得る。いくつかの例では、モジュールを組み合わせてもよく、他の例では、モジュールを1つ以上の他のモジュールに分割し得る。
世界モデルモジュール402は、図1のセンサ126等からセンサデータを受信し、センサデータからオブジェクトを決定する(例えば、変換する、検出する)。すなわち、例えば、世界モデルモジュール402は、受信したセンサデータから道路ユーザを決定する。例えば、世界モデルモジュール402は、光検出測距(LiDAR)センサ(すなわち、センサ126のセンサ)から受信した点群をオブジェクトに変換し得る。複数のセンサからのセンサデータを融合して、オブジェクトを決定する(例えば、その正体を推測する)ことができる。オブジェクトの例としては、自転車、歩行者、車両等が含まれる。
世界モデルモジュール402は、検出されたオブジェクトの少なくともいくつかについての追加情報を世界モデルモジュール402が計算及び維持することを可能にするセンサ情報を受信し得る。例えば、世界モデルモジュール402は、決定されたオブジェクトの少なくともいくつかの状態を維持し得る。例えば、オブジェクトの状態には、ゼロ以上の速度、姿勢、ジオメトリ(幅、高さ、奥行き等)、分類(例えば、自転車、大型トラック、歩行者、道路標識等)、及び位置が含まれる。そのため、オブジェクトの状態は、離散状態情報(例えば、分類)及び連続状態情報(例えば、姿勢と速度)を含む。
世界モデルモジュール402は、センサ情報を融合し、オブジェクトを追跡し、動的オブジェクトのうちの少なくともいくつかについて仮説のリストを維持し(例えば、オブジェクトAは直進、右折、又は左折しているかもしれない)、各仮説について予測軌道を作成及び維持し、各仮説の尤度推定を維持する(例えば、オブジェクトAは、オブジェクトの姿勢/速度と軌道の姿勢/速度を考慮して、確率90%で直進している)。一例では、世界モデルモジュール402は、軌道プランナのインスタンスを使用して、動的オブジェクトの少なくともいくつかについての各オブジェクト仮説に対する予測軌道を生成する。例えば、軌道プランナのインスタンスを使用して、車両、自転車、及び歩行者の予測軌道を生成し得る。別の例では、軌道プランナのインスタンスを使用して、車両及び自転車の予測軌道を生成することができ、異なる方法を使用して、歩行者の予測軌道を生成し得る。
世界モデルモジュール402によって維持されるオブジェクトは、図3に関して説明したように、静的オブジェクト及び/又は動的オブジェクトを含み得る。
経路計画モジュール404は、例えば、道路レベル計画412に関して図示される道路レベル計画を決定する。例えば、出発地と目的地を考慮して、経路計画モジュール404は、出発地から目的地までの経路を決定する。例えば、経路計画モジュール404は、AVが出発位置から目的位置までナビゲートするために従うべき道路のリスト(すなわち、道路レベル計画)を決定し得る。
経路計画モジュール404によって決定された道路レベル計画、及び世界モデルモジュール402によって維持されるオブジェクト(及び対応する状態情報)は、意思決定モジュール406によって、道路レベル計画に沿った離散レベル決定を決定するために使用され得る。離散的決定414に関して、離散的決定に含まれる決定の例が示されている。離散レベル決定の例には、道路Aと道路Bの間の交差点で停止すること、ゆっくりと前進すること、ある速度制限まで加速すること、一番右の車線に合流すること等が含まれる。
軌道プランナ408は、離散レベル決定、世界モデルモジュール402によって維持されるオブジェクト(及び対応する状態情報)、及び世界モデルモジュール402からの外部オブジェクトの予測軌道及び尤度を受信し得る。軌道プランナ408は、受信した情報の少なくとも一部を使用して、自律走行車に関する詳細な計画軌道を決定し得る。
例えば、詳細な計画軌道416に関して図示されるように、軌道プランナ408は、次の数秒の軌道を決定する。したがって、次の数秒が次の6秒(すなわち、6秒の先読み時間)である例では、軌道プランナ408は、次の6秒における自律走行車の軌道及び位置を決定する。例えば、軌道プランナ408は、いくつかの時間間隔(例えば、1/4秒ごと、又は他の時間間隔)で自律走行車の予測位置を決定(例えば、予測、計算等)し得る。軌道プランナ408は、例えば、図3に関して説明したように、他の道路ユーザの予測可能な応答に基づいて、詳細な計画軌道を決定し得る。
反応軌道制御モジュール410は、自律走行車が遭遇するかもしれないが、軌道プランナ408によって予測できない(例えば、処理できない)状況に対処し得る。このような状況には、軌道プランナ408の詳細な計画軌道が、オブジェクトの誤分類及び/又はまれに起こる予期しない状況に基づいていた場合の状況が含まれる。例えば、反応軌道制御モジュール410は、自律走行車の左側の静的オブジェクトが誤分類されていると決定することに応答して、詳細な計画軌道を修正し得る。例えば、オブジェクトが大型トラックとして分類されている場合があるが、新しい分類では静的道路障壁であると判断される。別の例では、反応軌道制御モジュール410は、自律走行車の突然のタイヤのパンクに応じて詳細な計画軌道を修正し得る。予期しない状況の他の例としては、他の車両が突然(例えば、タイヤのパンク又は高速道路のオフランプに到達するための決定が遅れたため)AVの車線から逸脱し、歩行者又は他のオブジェクトが後方の遮蔽から突然現れることが含まれる。
図5は、本開示の実装による自律走行車の軌道プランナ500のレイヤの例である。軌道プランナ500は、図4の軌道プランナ408であり得るか、又はその一部であり得る。軌道プランナ500は、走行目標501を受信し得る。軌道プランナ500は、例えば、第1の位置を第2の位置に接続する一連の車線選択及び速度制限を表し得る一連の走行目標501を受信し得る。例えば、複数の走行目標501の中の1つの走行目標は、「位置xから開始し、制限速度yを遵守して、特定の識別子を有する車線(例えば、A123と等しい識別子を持つ車線)を走行する」であってもよい。軌道プランナ500は、走行目標501のシーケンスを達成する軌道を生成するために使用し得る。
軌道プランナ500は、走行線データレイヤ502と、基準軌道生成レイヤ504と、オブジェクト回避レイヤ506と、軌道最適化レイヤ508とを含む。軌道プランナ500は、最適化された軌道を生成する。軌道プランナ500の他の例は、より多くのレイヤ、より少ないレイヤ、又は他のレイヤを含み得る。いくつかの例では、複数のレイヤを結合し得る。他の例では、レイヤは1つ以上の他のレイヤに分割され得る。
走行線データレイヤ502は、軌道プランナ500によって使用され得る入力データを含む。(例えば、基準軌道生成レイヤ504によって)走行線データを使用して、第1の位置から第2の位置までの粗走行線を決定する(すなわち、生成する、計算する、選択する、又は他のやり方で決定する)ことできる。走行線は、AVが道路に沿って移動するときに、AVの縦軸が一致する道路の線と考え得る。したがって、走行線データは、走行線を決定するために使用され得るデータである。走行線は、この時点では粗いものであり、隣接する車線間の横方向への遷移に向けられたとき等の横方向の不連続性を含み得る。この時点での走行線も、以下にさらに説明するように、AVが遭遇するオブジェクトに対してはまだ調整されていない。
一例では、走行線データレイヤ502は、高精細(HD)地図データ510、遠隔操作地図データ512、記録経路データ514、先行車両データ516、駐車場データ518、及び知覚経路データ520のうちの1つ以上を含み得る。
HD地図データ510は、自律走行車が利用可能な高精細(高精度)地図からのデータである。HD地図データ510は、数センチメートル以内までの車両交通ネットワークに関する正確な情報を含み得る。例えば、HD地図データ510は、道路車線、道路分割線、交通信号、交通標識、速度制限等に関する詳細を含み得る。
遠隔操作地図データ512は、比較的短い走行線データを含み得る。例えば、遠隔操作地図データ512は、長さ100メートル~200メートルの走行線データとし得る。しかしながら、遠隔操作地図データ512は、必ずしもこれに限定されるものではない。遠隔操作地図データ512は、AVが自動的に処理することができない例外的な状況に応答して、又はそれを予期して、遠隔オペレータによって手動で生成し得る。
走行線はリアルタイムで作成し得る。次に、走行線をリアルタイムで作成する例を示す。遠隔オペレータは、AV生センサデータを遠隔で観測していてもよい。例えば、遠隔オペレータは、(例えば、AVのカメラによって捕捉される)工事区域のパイロンを(例えば、遠隔モニタ等で)見て、工事区域を通るAVの経路を描いてもよい。次に、遠隔オペレータは、フラグを持った人物がAVに前進許可を与えるのを見てもよく、その時点で、遠隔オペレータは、描かれた経路に沿ってAVを進行させ得る。
AVが以前に遭遇した例外的な状況に到達したときに経路を手動で描く処理時間を短縮するために、走行線データを遠隔に記憶し、必要に応じてAVに送信し得る。
記録された経路データ514は、自律走行車が以前に辿った経路に関するデータを含み得る。一例では、自律走行車のオペレータ(例えば、運転者又は遠隔オペレータ)は、道路から家庭のガレージまでの経路を記録してもよい。
先行車両データ516は、自律走行車と略同じ軌道に沿って自律走行車に先行する1つ以上の車両から受信したデータであり得る。一例では、自律走行車と先行車両は、図2に関して説明したように、無線通信リンクを介して通信し得る。したがって、自律走行車は、無線通信リンクを介して先行車両から軌道及び/又は他の情報を受信し得る。また、先行車両データ516は、明示的な通信リンクなしでも知覚(例えば、追従)され得る。例えば、AVは、先行車両を追跡することができ、追跡結果に基づいて先行車両の車両走行線を推定し得る。
駐車場データ518は、駐車場及び/又は駐車スペースの位置に関するデータを含む。一例では、駐車場データ518を使用して、他の車両の軌道を予測し得る。例えば、駐車場入口が他の車両に近接している場合、他の車両の予測された軌道の1つは、他の車両が駐車場に入ることであり得る。
状況によっては、地図(例えば、HD地図)情報が車両交通ネットワークの一部に対して利用できないことがある。したがって、知覚された経路データ520は、以前にマッピングされた情報がない走行線を表し得る。その代わりに、AVは、より少ない、より多い車線標示、縁石、及び道路制限又はそれ以外のものを使用して、リアルタイムで走行線を検出し得る。例えば、ある地表タイプ(例えば、舗装)から他の地表タイプ(例えば、砂利又は草)への遷移に基づいて、道路の制限を検出し得る。リアルタイムで走行線を検出するには、他の方法も使用し得る。
基準軌道生成レイヤ504は、走行線連結モジュール522、戦略的速度計画モジュール524、及び走行線合成モジュール526を含み得る。基準軌道生成レイヤ504は、粗走行線(すなわち、基準走行線)を離散時間速度計画モジュール528に提供する。図6は、基準軌道生成レイヤ504の動作の一例を示す。
経路計画モジュール404は、第1の位置から第2の位置へ移動するために使用される車線IDシーケンスを生成することができ、それによって走行目標501に対応する(例えば、提供する)。そのため、走行目標501は、車線の長さに応じて、例えば、数100メートル離れていてもよい。例えば、HD地図データ510の場合、基準軌道生成レイヤ504は、位置(例えば、GPSの位置、3Dデカルト座標等)と車線(例えば、車線の識別子)との組み合わせを走行目標501のシーケンスに使用して、AVの一連の姿勢として表される高解像度走行線を(例えば、HD地図510から)生成し得る。各姿勢は、既定の距離にあってもよい。例えば、姿勢は1~2メートル離れていてもよい。姿勢は、座標(x、y、z)、ロール角度、ピッチ角度、及び/又はヨー角度等、より多く、より少ない、又はその他の量で定義し得る。
上述したように、走行線データは、粗走行線を決定(例えば、生成、計算等)するために使用され得る。走行線連結モジュール522は、走行線データレイヤ502の入力データを連結(例えば、リンク、融合、合流、接続、統合、又はその他の連結)して、縦方向に沿って(例えば、自律走行車の経路に沿って)粗走行線を決定する。例えば、位置A(例えば、職場)から位置D(例えば、自宅)に移動するように、粗走行線を決定するために、走行線連結モジュール522は、駐車場データ518からの入力データを使用して、職場駐車場から幹線道路に出る出口の位置を決定し、HD地図データ510からのデータを使用して、幹線道路から自宅までの経路を決定し、記録された経路データ514からのデータを使用して、自宅のガレージにナビゲートし得る。
粗走行線には速度情報は含まれない。しかしながら、いくつかの例では、粗走行線は、HD地図データ510から使用(例えば、抽出)し得る速度制限情報を含み得る。戦略的速度計画モジュール524は、粗走行線の異なる部分に沿った(複数の)特定の速度を決定する。例えば、戦略的速度計画モジュール524は、粗走行線の第1の直線区間において、自律走行車の速度をその第1の直線区間の速度制限に設定してもよく、その後の粗走行線の第2のカーブ区間では、自律走行車の速度をより遅い速度に設定することを決定し得る。そのため、戦略的速度計画モジュール524は、AVの現在の状態(例えば、速度及び加速度)を考慮しているが、他の道路ユーザ又は静的オブジェクトは考慮せずに、粗走行線についての法令遵守(例えば、速度制限及び停止線の遵守)、快適性(例えば、肉体的及び精神的)、及び物理的に実現可能な速度プロファイル(例えば、走行線に沿った速度対距離)を計算する。
戦略的速度計画が戦略的速度計画モジュール524によって決定されると、走行線合成モジュール526は、粗走行線を横方向に調整し得る。戦略的な速度プロファイルと、横方向に不連続な粗走行線とを考慮して、走行線合成モジュール526は、車線変更の開始位置と終了位置を決定し、これらの位置を接続する走行線を合成する。車線変更の長さは、速度に依存し得る。
走行線合成モジュール526は、粗走行線における横方向に不連続な位置を連結する走行線を合成し得る。例えば、HD地図データ510は、道路の第1の車線上にある粗走行線の第1の区間と、同じ道路の第2の車線上にある粗走行線の第2の区間とを含むと仮定する。したがって、粗走行線には横方向の不連続性が存在する。走行線合成モジュール526は、まず、AVが第1の車線から第2の車線に遷移すべき遷移距離(言い換えれば、開始位置と終了位置)を決定する。すなわち、開始位置は、第1の車線から第2の車線への移動を開始するように自律走行車を制御する場合の道路位置である。終了位置は、自律走行車が車線変更を完了した場合の道路位置である。次に、横方向連続性モジュールは、第1の車線における開始位置と第2の車線における終了位置とを結合する新しい走行線データを生成する。
走行線合成モジュール526によって決定される遷移は、速度に依存し得る。例えば、AVがより高速で移動しているときよりも低速で移動している場合は、AVが第1の車線から第2の車線に遷移するために、より短い遷移距離が必要とされ得る。例えば、自律走行車がより遅い速度(例えば、15MPH)で走行している交通混雑状況では、遷移のために20ヤードが必要になることがある。しかしながら、自律走行車がより高速(例えば、65MPH)で走行している場合、遷移距離は100ヤードであってもよい。そのため、走行線合成モジュール526は、AVの速度に応じて遷移位置を決定し得る。
走行線合成モジュール526の出力は、オブジェクト回避レイヤ506に提供される。走行線合成モジュール526の出力は、粗走行線及び戦略的速度計画を含む。オブジェクト回避レイヤ506は、粗走行線において中期的な離散時間速度計画及び横方向制約を生成する。将来の離散的な時点について(言い換えれば、AVの経路に沿った離散位置において)、離散時間速度計画モジュール528は、AVのそれぞれの所望の速度を決定(すなわち、計算)する。
オブジェクト回避レイヤ506では、以下にさらに説明するように、粗走行線、近傍の静的オブジェクト、及び近傍の動的オブジェクトとそれらの予測軌道を使用して、オブジェクト回避レイヤ506は、AVを安全に操作し得る走行可能領域を決定(例えば、抽出)する。(後述する)各ビンの左右の境界が決定される。AVの現在の速度を考慮して、リアルタイム速度計画を生成し得る。リアルタイム速度計画は、AVの将来の位置を推定するために使用し得る。AVの将来の位置は、動的オブジェクトの将来の予想(例えば、予測)位置に対して評価し得る。AVの走行可能領域は、動的オブジェクトの(例えば、オーバーラップ)位置に対応する走行可能領域の中の領域を除去するように調整される。
オブジェクト回避レイヤ506では、粗走行線がオブジェクトに対して評価及び/又は調整される。オブジェクトは、AVの外部及び近位のオブジェクトであり得る。そのため、オブジェクトは、図4の世界モデルモジュール402に関して記載されたオブジェクトであり得る。そのため、AVの現在の速度を考慮して、オブジェクト回避レイヤ506は、リアルタイム速度計画を生成する。リアルタイム速度計画を使用して、オブジェクト回避レイヤ506は、離散的な将来の時点におけるAVの将来の位置を推定し得る。将来の位置は、オブジェクト(すなわち、世界モデルのオブジェクト)の位置に対して評価され、AVの円滑な走行を提供(例えば、生成)し得る。円滑な走行(すなわち、円滑な軌道)を提供することは、以下にさらに説明するように、反復処理であり得る。
要約すると、最初に、粗走行線が生成され、次に、粗走行線から速度計画が生成され、そして、粗走行線及び速度計画を考慮して、AVの世界モデルにおいて維持される他のオブジェクトを考慮して軌道が最適化されて、最適化された所望の軌道を提供する。軌道は調整された走行可能領域で最適化される。非走行可能領域(すなわち、他のオブジェクトのためにAVを安全に走行することができない領域)は、調整された走行可能領域を提供するためにデフォルトの走行可能領域から除去される。
図6は、本開示の実装による粗走行線連結の例600を示す図である。例600は、図5の基準軌道生成レイヤ504の動作の一例である。
ビュー610では、AV611は、車線612~614を含む3車線道路の右端の車線614にある。ビュー610は、左側通行システム(すなわち、車線612~614内の交通は、図6の下から上に向かって移動する)の例であることに留意されたい。経路計画モジュール404等のルートプランナは、図5のHD地図データ510等のHD地図データに基づいて、AV611が1車線道路の車線615へ右折することを決定してもよい。HD地図は、各車線の中心線(図示せず)を提供してもよい。
場合によっては、AVの走行線は、車線又は道路の中心線と一致しないことがある。例えば、車線615は、車線615の左側に沿って駐車スペースを収容するために特別に広くてもよい。別の例では、ほとんどの運転者は中心線の少し左を運転することを好むことが分かっていてもよい。そのため、AV611の走行線は、車線615の中心線の左側に設定される。そのため、走行線連結モジュール522は、車線ジオメトリ(例えば、車線幅)を考慮して走行線を決定するために車線のジオメトリを決定する。例えば、粗走行線に旋回がある場合、走行線連結モジュール522は、車線の幅、旋回方向(例えば、右又は左)、旋回角度、及び/又は旋回速度に基づいて、走行線が(すなわち、車線の中心線から外れて)どこに移動されるかを決定する。すなわち、走行線連結モジュール522は、HD地図の中心線に基づいてAVの走行線を設定する。一例では、車線幅に基づいて走行線を設定し得る。
AVの走行線を設定するために、走行線連結モジュール522は、粗走行線に沿った車線のジオメトリを決定する。一例では、走行線連結モジュール522は、粗走行線に沿った特定の距離(例えば、100m、200m、300m等)のジオメトリを決定する。ジオメトリを決定するために、走行線連結モジュール522は、粗走行線に沿ったポリゴン616等のポリゴンを決定してもよく、これは車線境界を定義するために使用され得る。
ビュー620は、車線の幅621に基づいて走行線(すなわち、粗走行線)を決定することを示す。HD地図からは、AV611が走行している車線の右端624、左端622及び中心線626を取得し得る。走行線連結モジュール522は、幅621に基づいて走行線628(すなわち、粗走行線)を決定する。したがって、走行線628は中心線626からずれている。
ビュー630は、走行線を決定するために、例えば、図5の遠隔操作地図データ512に関して記載した遠隔操作データを使用して説明する。上述したように、HD地図データは静的データであるのに対し、遠隔操作データは、道路状況及び/又は例外的状況に基づいてリアルタイム走行線を提供し得る。例えば、AV611の走行線632に沿って工事区域が存在する。工事区域は、パイロン636等の障害物によって囲まれており、この障害物は、工事計画634を取り囲んでいる。そのため、走行線連結モジュール522は、以下にさらに説明するように、遠隔操作データによって提供されるリアルタイム走行線を使用して、走行線632を走行線638(すなわち、粗走行線)となるように調整する。
ビュー640は、速度に依存する車線変更を示す。速度依存車線変更は、上述したように、図5の走行線合成モジュール526によって実装し得る。一例では、図4の意思決定モジュール406によって、車線642に沿って走行するAV611は、例えば、車線642が終了するか、又はAV611が左折するために、次に車線644に入ることになる。そのため、AV611は、ある時点で車線642から車線644に移動することになる。HD地図が車線遷移情報を提供しない場合があるので、AV611の基準軌道生成レイヤ504は車線遷移時間を決定する。上述のように、遷移は速度に依存し得る。
一例では、(基準軌道生成レイヤ504がその中の1つのレイヤである)軌道プランナ500は、粗走行線に沿った点Xにおいて、(戦略的速度計画モジュール524によって決定されるように)AV611が速度Yで移動していることを決定し得る。AV611が低速(例えば、35mPH)で移動している場合、走行線合成モジュール526は、遷移が遅くなり得ると判断し得る。したがって、車線642から車線644に移動する経路は、経路646によって示されるようになり得る。一方、AV611が高速(例えば、65mPH)で走行している場合には、経路648に示すように、車線切り替えのための経路の距離は長くなる必要がある。
経路646及び648を辿るのに要する時間は同じであってもよい。しかしながら、距離は異なっている。AV611が第1の速度で走行しているときの車線遷移に必要な距離は、AV611が第1の速度よりも遅い第2の速度で走行しているときに必要な距離よりも長い。
速度に依存する車線変更を決定するために、車線変更率を使用し得る。すなわち、車線変更率は、車線642とビュー640の車線644等の2つの隣接する車線の間の接続を作成するために使用し得る。車線変更率は、「メートルごとに何メートルか」、すなわち、経路が縦1mで横に何m移動するかで定義され得る。上記のように、目標は、ターゲット時間量において車線変更を完了することを達成する車線変更率を特定することである。すなわち、AVが低速で走行している場合(例えば、ラッシュアワーの交通量が多いとき)、車線変更率は高く、短距離で(例えば、数十メートルのオーダーで)行われる。AVが高速で(例えば、高速道路の速度で)走行している場合、車線変更率は遅く、長距離(例えば、数百メートルのオーダーで)で行われる。
図7は、本開示の実装による戦略的速度計画を決定する例700である。例700は、図5の戦略的速度計画モジュール524が戦略的速度計画714を決定するために使用し得る入力の例を示す。いくつかの実装形態では、戦略的速度計画モジュール524は、戦略的速度計画を決定するために、より多くの入力、より少ない入力、又は他の入力を使用し得る。
例700では、速度制限入力及び加速制限入力を使用し得る。速度制限は、道路速度制限702、湾曲速度制限704、及びシームレスオートノマスモビリティ(SAM)データ706のうちの少なくとも1つを含み得る。加速制限は、車両加速制限710及び快適性限界712を含み得る。速度制限及び/又は加速制限は、より多くの入力、より少ない入力、又は他の入力を含み得る。
道路速度制限702は、速度制限標識等に掲示されている道路速度制限(例えば、20mPH、65mPH等)とし得る。一例では、道路速度制限702は、HD地図から取得し得る。湾曲速度制限704は、例えばAVの粗走行線に沿った旋回等の旋回の曲率に対する車速に関するデータであってもよい。あるいは、湾曲速度制限704は、道路曲率情報(例えば、湾曲の回転半径)のみを提供してもよい。湾曲速度制限704は、AVの横方向加速度に対する制限とし得る。そのため、速度計画は、AVが曲がるときに、湾曲速度制限704と一致する減少したAV速度を含み得る。
SAMデータ706は、(自律的であるか否かに関係なく)車両から(例えば、クラウドベースのシステムで)収集されたデータとし得る。このデータは、車両(AVを含む)が路上で安全かつ円滑に動作することを可能にする。一例では、SAMデータ706は、道路の一部に沿って車両から収集された振動データを含み得る。振動データは、道路の異なる部分における振動レベルと速度とを相関させ得る。一例では、振動データは、ある道路位置について、車両が所定の速度を超えて走行しているときに(例えば、道路の一部の速度バンプに起因する)許容できないレベルの振動を示し得る。したがって、振動の影響を最小限に抑えるために、道路の一部でAVの速度を(所定の速度以下に)落とすべきである。一例では、SAMデータ706は、オペレーションセンタ230、サーバコンピューティング装置234、又は他の何らかのネットワーク装置等の中央サーバからAVによって受信され得る。一例では、SAMデータ706は、その場所に到達する自律走行車の特定の期間(例えば、1分、10分、20分等)内に他の車両から蓄積されたデータであり得る。一例では、AVはSAMデータ706をプルしてもよい。別の例では、SAMデータ706は、AVがSAMデータ706を提供するサーバにその位置を報告することに基づいて、AVにプッシュし得る。
道路速度制限702、湾曲速度制限704、及びSAMデータ706を組み合わせて、生速度制限708を提供し得る。一例では、粗走行線に沿った特定の位置の各位置について(例えば、5mごと、10mごと等)、その位置における道路速度制限702の最小速度、その位置における湾曲速度制限704の速度、及びその位置におけるSAMデータ706の速度が、その位置における生速度制限708の速度として使用される。
車両加速制限710は、AVのトルク及び出力に起因するAV加速制限とし得る。快適性限界712は、AVの乗員がAVをどれだけ速く加速させたいか等の加速度に関する人間の快適性限界を含む。
基準軌道生成レイヤ504の戦略的速度計画モジュール524は、生速度制限708、車両加速制限710、及び快適性限界712を組み合わせて、円滑な速度計画である戦略的速度計画714を提供し得る。
上述したように、粗走行線に沿った位置では、道路速度制限702、湾曲速度制限704、及びシームレスオートノマスモビリティSAMデータ706の最小値をAVの速度制限として用い得る。車両加速制限710及び快適性限界712は、加速度と速度とを関係付ける。そのため、一例では、車両加速制限710と快適性限界712とは、2つの最大曲線(快適性、速度)の最小値を求めることによって組み合わせ得る。したがって、低速では、快適性がAVの最大加速度を制限し得る。一方、高速では、AVの加速制限(例えば、出力)がAVの加速度を制限し得る。速度プロファイルは、速度(走行線に沿った任意の位置における速度制限)と加速度(任意の速度における加速制限)の制約を満たす粗走行線に沿った最速の速度プロファイルを解決することによって生成し得る。
また、上記以外の入力を使用して、戦略的速度計画714を計算し得る。例えば、道路μ、最小巡航時間、近隣タイプ、又は他の入力のうちの1つ以上を使用し得る。道路μは、氷、雨、斜面等による道路の滑り易さに関連する。
最小巡航時間は、AVの速度を一定速度に設定し得る最小時間長に関連する。例えば、道路の区間長が500mであり、その区間の制限速度が45mPHである仮定する。さらに、AVの運動モデルを考慮して、AVが停止位置から45mPHの制限速度に達するためには250mを要し、45mPHの現在の速度を考慮して、AVが停止するためには250mが必要であると仮定する。AVが道路区間の始点で停止位置にあり、道路区間の終点でAVを再び停止する場合、AVが制限速度45mPHに達すると、AVは直ちに減速を開始しなければならない。このような速度プロファイルは、AVの乗員にとって望ましくないかつ/又は自然なものでない場合がある。そのため、例えば、最小巡航時間は、AVが減速(又は加速)を開始する前に、最小巡航時間(例えば、3秒)の間速度を維持しなければならないことを示し得る。したがって、より自然な速度プロファイルを提供し得る。
近隣タイプは、通常の人間の運転行動をモデル化するために使用することができ、これは、AVが通過している近隣のタイプに依存し得る。例えば、人間の運転者は、たとえ両方の近隣地域が同じ掲示制限速度を有していても、住宅地(例えば、子供たちが通りで遊んでいることを観測し得る場所)においては掲示制限速度を下回る速度で運転してもよく、工業地域においては少なくとも掲示制限速度で運転し得る。
図8は、本開示の実装による走行可能領域及び離散時間速度計画を決定するための処理800のフローチャートである。処理800の一部又は全ての態様は、図1に示す車両100及び図2に示す車両202を含む車両、又は図2に示すコントローラ装置232を含むコンピュータ装置で実装し得る。1つの実装では、処理800のいくつかの又は全ての態様は、本開示に記載される特徴のいくつか又は全てを組み合わせたシステムで実施し得る。例えば、処理800は、図5のオブジェクト回避レイヤ506によって利用され得る。
図9を参照して処理800を説明する。図9は、本開示の実装による走行可能領域及び離散時間速度計画を決定する図である。図9は、走行可能領域(横方向制約)及び制限された速度プロファイルの生成を示しており、これは離散時間で表され得る。走行可能領域は、例えば、自律走行車が走行可能な車両交通ネットワークの領域であり得る。最初に(例えば、処理800の開始時に)、走行可能領域は、AVが安全に走行すると予測できない領域を含んでもよい。処理800は、AVが安全に走行すると予測できない領域の走行可能領域を調整する(例えば、切り取る)。処理800は、調整された走行可能領域をもたらす。
動作810では、処理800は、AVに対して近傍のオブジェクトを識別する。一例では、近傍のオブジェクトは、世界モデルモジュール402によって維持される外部オブジェクトの少なくとも一部であってもよい。一例では、近傍のオブジェクトは、世界モデルモジュール402によって維持される全てのオブジェクトであり得る。別の例では、近傍のオブジェクトは、世界モデルモジュール402によって維持されるオブジェクトのサブセットであり得る。例えば、近傍のオブジェクトは、AVから所定の距離内のオブジェクト、AVの予測到達時間内のオブジェクト、又はオブジェクトのサブセットを識別するための他の基準を満たすオブジェクトであり得る。例えば、図9のビュー910を参照すると、AV912に対して、静止車両920、静止車両914、動的対向車両918、及び動的車両916が識別される。1つの実装では、動作810は、図10~図12に関して説明したように、オブジェクトを表すドット(すなわち、境界点)及び/又はドットのグループを識別する。
動作820において、処理800は、走行可能領域を抽出する。走行可能領域は、AV912が(例えば、法的及び/又は物理的に)走行可能な領域であってもよい。一例では、走行可能領域を粗走行線から抽出し得る。例えば、走行可能領域は、粗走行線に沿って(例えば、縦方向に)AVから所定の距離であり得る。図9のビュー930における走行可能領域932は、走行可能領域の一例である。一例では、走行可能領域932は、中央分離帯934と路肩936とによって(すなわち、横方向に)囲まれた領域であり得る。一例では、AV912の現在位置に基づいてHD地図から走行可能領域を抽出し得る。走行可能領域は、AV912が配置されている車線(又は道路、又はその他の地域)の左右境界によって囲まれ得る。例えば、走行可能領域は道路の中心線をまたいでもよい。すなわち、逆方向の車線を走行可能領域に含め得る。そのため、ビュー930では、中央分離帯934が存在しない場合、走行可能領域は、走行可能領域938であってもよい。
処理800は、次に、AVが(例えば、安全に)走行できない部分を走行可能領域から除去する。「調整された走行可能領域」という用語は、本明細書に記載された静的及び/又は動的オブジェクトを考慮して領域が走行可能領域から除去された後の走行可能領域を指すために本明細書で使用される。静的及び/又は動的オブジェクトがAVの軌道に干渉しない場合、調整された走行可能領域は、走行可能領域と同じである。
動作830において、処理800は、静的オブジェクトに対して走行可能領域を調整する。すなわち、処理800は、静的オブジェクトが位置する走行可能領域の部分を走行可能領域から除去する(例えば、切り取る)。これは、AVが静的オブジェクトを迂回してナビゲート(例えば、走行)するように制御されるべきためである。図9のビュー940は、走行可能領域の一部を切り取ることを示す。静止車両914を回避するために、処理800は、走行可能領域932のカットアウト942を切り取る。カットアウト領域のサイズは、静的オブジェクトのサイズの推定値に基づいて決定し得る。カットアウト領域のサイズは、AVが静的オブジェクトに近づき過ぎないようにクリアランス領域を含み得る。
図10~図12を参照して、静的オブジェクトの走行可能領域を調整する例をさらに説明する。以下、図13を参照して、静的オブジェクトの走行可能領域の調整処理の一例を説明する。
動作840において、処理800は、静的オブジェクトに関して離散時間速度計画を調整する。例えば、障害物又は他の道路ユーザがいない場合、離散時間速度計画は戦略的速度プロファイルに従う。例えば、調整された走行可能領域が静的オブジェクトを考慮した狭い経路を含む場合、戦略的プロファイルに逐語的に(すなわち、戦略的プロファイルに設定された通りに)従う(その速度を使用する)代わりに、処理800は、AVの速度を快適な速度まで減少させるように離散時間速度計画を調整する。例えば、静的オブジェクトを考慮して調整された走行可能領域が静的妨害物を含む場合、処理800は、AVが静的妨害物の前に所定の距離で停止するように離散時間速度計画を調整する。
動作850において、処理800は、近くにある動的オブジェクトのそれぞれについて、各経路を識別する(例えば、予測する、計算する、生成する、受信する、又は他のやり方で識別する)。一例では、少なくともいくつかの動的オブジェクトの各経路(すなわち、軌道)の予測は、図4の世界モデルモジュール402等の世界モデルで維持し得る。したがって、処理800は、世界モデルから各経路を受信してもよい(例えば、要求する、読み取る、又は他のやり方で受信する)。
例えば、処理800は、動的対向車両918が静的車両920を迂回するように経路922を辿ること、及び動的車両916が静的車両914を通過した後で経路924を辿ることを予測する(例えば、予測を受信する、又は他のやり方で予測する)。1つの実装では、動作820は、処理800のインスタンス(すなわち、実行)を使用して、動的オブジェクトの経路を識別する。一例では、処理800は、動的オブジェクトの経路を予測するときに、AVを動的オブジェクトの近傍のオブジェクトのリストから除外する。
一例では、動的オブジェクトの経路を予測することは、他の動的オブジェクトのそれぞれの速度及び動的オブジェクト間の進路権の推定に基づいてもよい。進路権の推定の一例では、第2の車両が車線内で第1の車両に追従している(すなわち、その後ろにある)場合、第2の車両の存在下で第1の車両がシミュレーションされる(すなわち、第1の車両について経路が予測される)が、第2の車両は第1の車両が存在しない状態でシミュレーションされる。
そのため、軌道プランナ500のインスタンスは、軌道プランナ500を含む自律走行車専用とすることができ、軌道プランナ500の1つ以上の他のインスタンスは、自律走行車によって使用されて、自律走行車に対して可視である動的オブジェクト(例えば、世界モデルモジュール402によって維持される動的オブジェクト)の軌道を予測し得る。
動作860において、処理800は、動的オブジェクトのための走行可能領域を調整する。すなわち、処理800は、各動的オブジェクトのそれぞれの予測軌道に基づいて、走行可能領域の一部を切り取る。処理800は、各動的オブジェクトの位置に関するタイミング情報を使用して、走行可能領域の追加部分を切り取る。動的オブジェクトのための走行可能領域内のカットアウトは、動的オブジェクトに対する予測のタイミングと、(動作840に関して説明したように)今度は静的オブジェクトを考慮している離散時間速度計画によって生成されるタイミングとを比較することによって生成される。すなわち、処理800は、動的オブジェクトについて、及び動的オブジェクトの予測された軌道に基づいて、動的オブジェクトが、同じ離散的時点におけるAVの位置に対して異なる離散的時点に位置する場所を予測し得る。図14~図16を参照して、動的オブジェクトの走行可能領域を調整する例を以下にさらに説明する。図18を参照して、動的オブジェクトの走行可能領域を調整する処理の一例を以下に説明する。
動的オブジェクトの位置は、AVの予測位置と一致させて、カットアウト部分を決定する。上述のように、AVの予測位置は、動作840で調整された(すなわち、静的オブジェクトを考慮した)離散時間速度計画に基づく。カットアウトは、動的オブジェクトの現在の位置に対応しない場合があり得る。むしろ、カットアウトは、AV及び動的オブジェクトが出会うと予測される位置に基づいてもよい。動的オブジェクトの予測軌道が走行可能領域と干渉しない場合、動的オブジェクトに対して走行可能領域のいかなる部分も切り取られない。動的オブジェクトの予測された軌道が走行可能領域と干渉する場合、動的オブジェクトとの潜在的な衝突を回避するために、走行可能領域の1つ以上の部分が切り取られる。
図9のビュー950は、動的オブジェクトに対して走行可能領域を調整する(すなわち、動作860の)例を示す。処理800は、動的対向車両918が静的車両920を迂回する(例えば、避ける)ために経路922を辿ることを(動作850等によって)予測する。処理800はさらに、AV912がその現在の軌道に沿って進み続ける場合、AV912と動的対向車両918とが位置954の周囲で出会うことを予測する。そのため、処理800は、走行可能領域932からカットアウト956を切り取る。
動作870において、処理800は、動的オブジェクトに対して離散時間速度計画を調整する。(この時点において静的オブジェクトと動的オブジェクトの両方を考慮して)調整された走行可能領域がAVと同じ方向に走行する動的オブジェクトを含む場合、動的オブジェクトは縦方向制約としてラベル付けされ、AVが快適な速度及び距離でブロックしているオブジェクトに従うように離散時間速度計画が調整される。
図9のビュー960は、動的オブジェクトに対する離散時間速度計画を調整する例(すなわち、動作870)を示す。処理800は、動的車両916がAV912の調整された走行可能領域内にあり、AV912が動的車両916を通過することは、例えば、動的車両916の縁部と調整された走行可能領域の境界との間に安全なギャップが存在しないため、安全でないと判断する。このようにして、AV912は、動的車両916の後方を追従する。動的車両916が戦略的速度計画よりも遅く移動している場合、AVが快適な速度及び距離で動的車両916に従うように離散時間速度計画が調整される。また、ビュー960は、AV912のための軌道962が、例えば、カットアウト956に基づいていることを示す。
別の例では、動的車両916自体が縦方向制約を有すると決定されると仮定する。例えば、第2の車両(図示せず)が動的車両916の前方にあってもよい。そのため、第2の車両自体も、AV912に対する別の縦方向制約とみなし得る。そのため、第1の離散時間速度計画(例えば、第1の減速計画)は、動的車両916に基づいてAV912について決定してもよく、第2の離散時間速度計画(例えば、第2の減速計画)は、AV912について決定し得る。AVの離散時間速度計画としては、第1の離散時間速度計画と減速度の大きい第2の離散時間速度計画のいずれかを選択し得る。より一般的には、AVの制約に関して制約であると決定されたオブジェクト自体をAVの制約として扱ってもよい。
調整された走行可能領域964は、処理800の動作から生じる調整された走行可能領域を示す。
図10~図12は、本開示の実装による静的オブジェクトのための走行可能領域を調整する例1000、1100、及び1200である。例1000、1100、及び1200は、走行可能領域の静的境界を決定することを示す。すなわち、図10~図12は、図8の動作830に関して説明した静的オブジェクトの走行可能領域の調整例である。すなわち、例1000、1100及び1200は、AVの粗走行線に沿って、AVが静的オブジェクトを参照して走行し得る場所を決定することを例示している。
図10の例1000では、AV1002の粗走行線は、粗走行線1004によって表される。粗走行線1004は、本明細書では、粗走行線とも呼ばれる。粗走行線1004は、図5の基準軌道生成レイヤ504に関して説明したように決定(例えば、計算、生成等)し得る。例1000は、AV1002の走行可能領域の横方向境界を決定するための動作830の一例を示す。すなわち、例1000は、静的オブジェクトを考慮して、例えば、AV1002の走行可能領域の左右境界を決定することを示す。
このようにして、走行可能領域(すなわち、図9の走行可能領域932等の非調整の非カットアウト走行可能領域)が決定される。例えば、走行可能な領域はデフォルトの幅を有してもよい。デフォルトの幅は、AVの現在の車線又は現在の道路に基づいてもよい。デフォルトの幅は、既定の幅(例えば、8メートル)によって定義され得る。したがって、走行可能領域は道路の中心線を横断し得る。なお、デフォルトの走行可能領域は、中央分離帯にあり得るバリア(例えば、コンクリートバリア)によって制限され得ることに留意されたい。そのようなバリアは静的オブジェクトであり、走行可能領域を制限する。
AV1002の走行可能領域は、複数のビンに分割される。各ビンは、中心点1006等の中心点を有する。中心点は等間隔に配置され得る。例えば、中心点は約2メートル離れていてもよい。各ビンの左右の境界は、粗走行線1004の方位に関連させ得る。右境界1018及び左境界1020はビン1022の境界を示す。
境界点1008等の境界点は、静的オブジェクトから発生する。例えば、境界点は、LiDARセンサ、レーザポインタ、レーダ、又は図1のセンサ126等の任意の他のセンサからのデータから導出され得る。境界点は、占有されているか、そうでなければAVが侵入できない(x、y)座標を表し得る。静的オブジェクトに対応する各境界点は、境界点を含むビンに割り当てられる。例えば、境界点1008は、ビン1022に割り当てられる。(例えば、ビン内で、又はビンの境界を越えて)隣接する境界点は、1つ以上の静的オブジェクトに対応し得る。
各ビンの左右の境界は、ビンに割り当てられた境界点に基づいて定義(すなわち、設定)し得る。例えば、ビン1024が境界点を含まないので、ビン1024の右境界1016及び左境界1010は、(調整されていない)走行可能領域と整合する。一方、ビン1026の左境界1012は、カットアウト1028が走行可能領域から除外されているため、走行可能領域と整合しておらず、ビン1026の右側境界1014も、カットアウト1030が走行可能領域から除外されているため、走行可能領域と整合していない。
調整された走行可能領域の境界は、調整された走行可能領域の左境界を形成する分割線1032と、調整された走行可能領域の右境界を形成する分割線1034とによって表される。図を明確にするために、分割線1032、1034は、実際の境界からオフセットして示されている。すなわち、例えば、分割線1032は境界1010及び境界1012と重なっているが、明確にするために、分割線1032は境界1010及び境界1012から僅かにオフセットされて示されている。分割線1032は、調整された走行可能領域の計算された左境界である。分割線1034は、調整された走行可能領域の計算された右境界である。
計算された左右の境界は、AV1002が粗走行線1004に沿って継続し得るかどうかを決定するために使用される。AV1002を各ビンの中央まで(物理的にではなく、仮想的に又は計算上)前進させて、(コンピュータの境界を考慮した)ビンの幅は、AV1002がビンを何とか安全に通り抜け得るようなものであるかどうかを決定し得る。例えば、ビン1022に関して、AV1002は、ビンの左境界(すなわち、左側の計算された境界)を安全にクリアすることができない。したがって、以下にさらに説明するように、AV1002の軌道は変更される。例えば、AV1002を停止させ得る必要があるので、AV1002の軌道は調整する必要がない場合があり、又はAV1002の軌道を他のやり方で変更し得る。
図11は、静的境界を決定し、本開示の実装に従って離散時間速度計画を調整する際に考慮される妨害物を識別する例1100を示す。例1100では、粗走行線1103は、AV1102の粗走行線である。AV1102のデフォルトの走行可能領域は、左境界1104と右境界1106によって定義される。例1100では、AV1102を含む車線の左車線境界1108及び右車線境界1110が示されている。例1100では、走行可能領域はAV1102の車線(すなわち、左車線境界1108及び右車線境界1110によって囲まれた車線)に限定されている。そのため、車線の左右の境界は静的オブジェクト用に調整される。
左境界1104及び右境界1106は、最大可能走行可能領域(すなわち、最大境界)を定義し得る。しかしながら、AV1102を車線内に維持することが好ましい場合があるので、左車線境界1108及び右車線境界1110は、走行可能領域の境界を定義する。一例では、AV1102が自身の車線内で(例えば、左車線境界1108と右車線境界1110との間で)安全に走行できない場合、AV1102が車線境界の外であるが最大境界の中で走行し得るかどうかを評価し得る。走行可能領域を拡張することは、「拡張走行可能領域検査」と呼ばれてもよい。
右車線境界1110は、部分1112を含む。この部分1112は、後述するように、走行可能領域のこの部分が調整されるため、破線として示されている。
図10に関して説明したように、AV1102の走行可能領域は複数のビンに分割されており、ビン1116、1118等の各ビンには静的オブジェクトに対応する境界点が割り当てられている。ビン1116、1118の境界点は、大きな長方形のオブジェクトに対応しているように見えるので、そのオブジェクトは(例えば、図4の世界モデルモジュール402によって)「トラック」として分類し得る。
オブジェクト(静的又は動的オブジェクト)に対応する(すなわち、それに基づいて定義される)境界は、ハード境界と呼ばれてもよい。ハード境界とは、例えば、計画した軌道がハード境界と交差する場合に、別のオブジェクトと衝突する可能性があるものである。一方、車線及び/又は道路標示は、ソフト境界と呼ばれ、合法的又は論理的な境界を表し得る。ソフト境界とは、例えば、計画された軌道がハード境界でもないソフト境界を横断する場合に、AVの動きが違法であり、かつ/又は社会的に受け入れられないが、AVは安全であり得るものである。例えば、図11に示すように、左境界1104(すなわち、左側の走行可能領域の境界)は左ハード境界を定義し、左車線境界1108は左ソフト境界を定義する。右側のハード境界は、右側の境界1106(すなわち、右側の走行可能領域の境界)と境界1114で構成され、右側のソフト境界は、右側車線境界1110及び境界1114によって定義される。
ビンの左右のハード境界間の距離を考慮して、経路が存在するかどうかを決定するために詳細検査が行われ得る。境界1114と左車線境界1108との間の距離1120は、AV1102がその中を走行する(すなわち、通過する)には狭過ぎると判断される。したがって、ビン1116に対応する位置1122は、静的妨害物としてマークされる。このため、AV1102は、ビン1116、1118の境界点で表される(複数の)オブジェクトを通過することができない。したがって、AV1102は、位置1122に対応する静的妨害物の前で停止することになる。したがって、モジュール530は、AVが静的妨害物の前で停止するように離散時間速度計画を調整し得る。
別の例では、静的妨害物のために停止する代わりに、軌道プランナは、少なくともビン1116及び1118に対して、左車線境界1108を横切って、走行可能領域が延びるようにギャップ1124を通る軌道を決定する。例えば、左車線境界1108が道路の中心である場合、軌道プランナは、対向する動的オブジェクトが存在しないので、車線境界を横断しても安全であると判断し得る。
別の例では、静的妨害物の前でAVが停止するのに十分な距離がない場合、離散時間速度計画は、AVを減速させることしかできないので、AVが右ハード境界を横断して静的オブジェクトに衝突することを回避するために左ソフト境界を横断し得るように軌道を決定し得る。そのため、ハード境界とソフト境界の両方の認識を維持することにより、軌道プランナは、緊急状況下におけるオブジェクト回避操作へのシームレスな遷移を伴うほとんどの状況下で合法的かつ社会的に許容可能な走行である軌道を生成し得る。
一例では、ビンの境界は、ビン内のオブジェクト(例えば、境界点のグループ)の状態に基づいて調整され得る。例えば、ビン内の境界点を経時的に追跡し得る。ビン内の境界点のグループがわずかに(すなわち、移動の閾値レベル未満)移動していると判断される場合には、より高いレベルのクリアランスが要求され得る。すなわち、AV1102は、境界点が移動している場合には、境界点からさらに離れて走行し得る。一方、境界点が安定している(すなわち、移動していない)場合には、AV1102を境界点により近づけて走行し得る。そのため、ビンの境界(例えば、境界1114)は、ビン内の境界点の移動のレベルに応じて、経時的に調整し得る。
一例では、時間tにおいて境界点の移動が検出された場合、境界点の移動が継続しているか否かに関係なく、境界点はその後(すなわち、後の時間t+xにおいて)移動しているとみなされる。
ビン内の境界点の移動に基づいてビンの境界を経時的に調整することは、フィルタされた横方向の限界と呼んでもよい。このコンテキストにおける「フィルタされる」とは、経時的に横方向の限界(例えば、ビン境界)が変更され得ることを意味する。
図12は別の例であり、本開示の実装に従って静的境界を決定する例1200である。例1200では、粗走行線1203は、AV1202の粗走行線である。AV1202のデフォルトの走行可能領域は、左車線境界1204及び右車線境界1206によって定義される。走行可能領域からカットアウト1208とカットアウト1210が切り取られる。この例では、カットアウト1210は、走行可能領域の中央にある。
カットアウト領域の境界をデフォルトの走行可能領域の境界まで延長するかどうかは、カットアウト領域とデフォルトの走行可能領域の境界との間の距離に依存し得る。例えば、カットアウト1210の右端と右車線境界1206との間のギャップ1216に対応する距離が閾値距離未満である場合、カットアウト1210は、カットアウト1210の左境界1217から右車線境界1206に延びる領域によって定義し得る。一例では、閾値距離はAV1202の幅に関連し得る。例えば、閾値距離は、AV1202の幅の1.5、2.0倍等とし得る。同様に、ビンの境界点のクラスタ(例えば、クラスタ1209)と車線境界(例えば、右車線境界1206)との間のギャップ(例えば、ギャップ1207)も決定される。ギャップ1207の場合、(AV1202がギャップを通過することができないように)ギャップ1207は閾値距離よりも小さくなるように決定されるため、カットアウト1208は右車線境界1206まで延長される。
AV1202の軌道プランナは、距離1212が、AV1202が距離1212に対応するギャップを通過し得るようなものであると決定してもよい。カットアウト1210が粗走行線1203に重なると、AV1202の軌道プランナは詳細検査を実行して、AV1202がそのギャップを通過し得るようにカットアウト1210の左又は右のギャップを決定する(例えば、見つける)。詳細検査の結果、ギャップが見つからない場合、AV1202はブロックされていると見なされ、停止しなければならない。
例1200では、ギャップ1214及びギャップ1216は共に、AV1202がいずれかのギャップ1214、1216を通過し得るようになっている。一例では、ギャップ1214、1216のうちの1つがランダムに選択される。別の例では、軌道プランナは、カットアウト1208を通過するために左方向を既に選択しているため、ギャップ1214(すなわち、カットアウト1210の左側のギャップ)を選択する。
第2のオブジェクトに関して可能な2つの経路(例えば、オブジェクトの周りの左経路と右経路)を考慮し、かつ第1のオブジェクトに関する(例えば、右又は左に)第1の経路を考慮して、「多仮説追跡」は、第2のオブジェクトに関する第2の経路(例えば、軌道)を決定することを意味する。
図13は、本開示による静的境界を決定するための処理1300のフローチャートである。処理1300の動作の一部又は全部は、処理800の動作830で実行され得る。
動作1310では、処理1300は、粗走行線に沿って境界点をビン内に編成する。境界点は、図10~図12に関して説明したように、粗走行線に沿ってビンに編成される。
動作1320において、処理1300は、粗走行線に照らしてビンの境界を検査する。ビンの境界は、粗走行線に照らして検査され、AVが少なくとも1つのギャップを通過し得るようなギャップが存在するかどうかが決定される。一例では、動作1320は、動作1320_2~1320_12によって実行され得る。動作1320は、例えば、図10のビン1026の左境界1012及び右境界1014に関して説明したようなビン境界点に基づいて、走行可能領域のビンの左右の境界を調整する。
動作1320_2では、処理1300は実際の走行線を推定する。例えば、カットアウト1208に関して説明したように、処理1300は、カットアウト1208の左側にある実際の走行線を決定する。
動作1320_4において、処理1300は、通過可能なギャップを識別する。すなわち、処理1300は、通過可能なギャップの数を識別する。例えば、図11のビン1116の左右の境界を考慮して、処理1300は、AV1102が距離1120によって定義されるギャップを通過し得るかどうかを決定する。その場合、一方のギャップが識別される。同様に、処理1300は、AV1202が図12の距離1212によって定義されるギャップを通過し得るかどうかを決定する。
動作1320_6において、単一の(すなわち、一方の)ギャップが識別された場合、処理1300は1320_12で終了する。すなわち、軌道はギャップを通過することを許可される。動作1320_4で複数のギャップが識別された場合、処理1300は動作1320_8に進む。例えば、AV1202及びカットアウト1210に関して、処理1300は、2つのギャップ、すなわち、カットアウト1210の右側のギャップ及び左側のギャップを識別する。
動作1320_8において、処理1300は、図12のギャップ1214、1216に関して説明したように、他のギャップが利用可能であるかどうかを決定するために詳細検査を実行する。例えば、ギャップ1214が小さ過ぎてAV1202がカットアウト1210の左側を通過できないと判断された場合、処理1300は、AV1202がギャップ1216を通過し得るかどうかをテストし得る。動作1320_8において、処理1300は、左又は右のいずれかを選択し、どちらも可能でない場合、処理1300は、静的妨害物が存在すると決定する。
動作1320_10において、先読み距離が完全に検査されると、処理1300は、動作1320_12で終了する。そうでない場合、処理1300は動作1320_2に戻り、追加の障害物を検査する。
先読み距離は、AVの速度によって変化する可能性があり得る。例えば、AVの速度に応じて先読み距離を変化させることで、計算時間を短縮することが可能であり、その一方で、前方に障害物又は横方向制約が検出された場合に、AVを停止させるか又は快適に(例えば、安全に)操縦するのに十分な時間を確保し得る。例えば、先読み時間の4秒が必要とされる場合、AVが12メートル/秒で移動しているとすると、適切な先読み距離は48メートルになり得る。AVが30メートル/秒で移動している場合(例えば、高速道路を走行しているとき)、適切な距離は120メートルであろう。
再び図5を参照すると、離散時間速度計画モジュール528は、基準軌道生成レイヤ504によって(より詳細には、戦略的速度計画モジュール524によって)決定された戦略的速度計画から目標速度及び加速度を生成し得る。離散時間速度計画モジュール528は、縦方向制約から(例えば、それに基づいて)目標速度及び加速度を生成し得る。一例では、縦方向制約は、(後述する)停止線、(後述する)仮想停止線、静的障害物(すなわち、静的オブジェクト)、及び/又は動的障害物(すなわち、動的オブジェクト)を含み得る。離散時間速度計画モジュール528は、目標速度及び加速度を反復計算する。目標速度及び加速度は、先読み時間(すなわち、将来の計画対象期間)について計算される。一例では、先読み時間は6秒であり得る。
停止線は、AVが進行する前に停止することが法律で義務付けられている線を表す。一例では、停止線は、道路上で塗料によってマーキングされ得る。別の例では、交差点構造及び停止標識位置に基づいて停止線を推定し得る。仮想停止線は、AVによって、法律で義務付けられていないが、停止して交差情報を検査することが期待される重要な位置を表すために使用され得る。例えば、左折時に、AVを停止させ、交差するトラフィックに譲らせるために、交差点の中央で仮想停止線が使用されてもよい。
離散時間速度計画モジュール528は、縦方向制約(すなわち、AVの縦方向にある静的又は動的オブジェクト)に対するそれぞれの目標速度及び/又は縦方向制約に対するそれぞれの目標距離を計算する。
離散時間速度計画モジュール528は、静的及び/又は動的オブジェクトの少なくともいくつかに対して追跡モードを設定(すなわち、選択、決定、又は他のやり方の設定)し得る。例えば、追跡モードは、「ギャップ閉鎖」、「ギャップ維持」、「ギャップ開放」、「ブレーキ」、「追従」のいずれかであり得る。例えば、図9の動的車両916に関して、離散時間速度計画モジュール528は、「ギャップ閉鎖」の追跡モードを決定し得る。例えば、図11のビン1116のオブジェクトに関しては、追跡モードを「ブレーキ」と決定し得る。利用可能な追跡モードには、より少ない、より多い、又はその他の追跡モードが含まれ得る。追跡モードは、離散時間速度計画モジュール528によって使用される調整パラメータの集合を選択するために使用し得る。調整パラメータは、目標加速度、ヒステリシスパラメータ、及び他の調整パラメータを含み得る。
次に、離散時間速度計画モジュール528の動作を説明するための例を示す。縦方向制約が見つからない場合、離散時間速度計画モジュール528は、(基準軌道生成レイヤ504によって決定されるように)AVが戦略的速度計画に基づいて動作可能であると判断し得る。一方、追跡モードが「ブレーキ」であると決定された縦方向制約が(例えば、図11のビン1116のオブジェクトに関して)検出された場合、離散時間速度計画モジュール528は、AVを停止させるための速度プロファイルを計算する。すなわち、AVを停止させるための減速速度プロファイルを計算する。
一例では、速度プロファイルは、AVの現在の速度と縦方向制約への距離とを使用して、縦方向制約の前でAVを停止させる減速速度プロファイルを計算する。
図14~図16は、本開示の実装に従って動的境界を決定する例1400、1500、及び1600である。すなわち、図14~図16は、図8の動作850に関して説明した動的オブジェクトの走行可能領域を調整する例である。すなわち、例1400、1500及び1600は、AVの粗走行線に沿って、AVが動的オブジェクトを参照して走行され得る場所を決定することを示す。
各動的オブジェクトは、利用可能な複数のクラスのうちの少なくとも1つに分類し得る。例として、使用可能なクラスには、「横方向制約」、「縦方向制約」、「対向の横方向制約」、及び「対向の縦方向制約」が含まれる。他のクラスも利用可能である。
「横方向制約」として分類される動的オブジェクトは、AVの速度ではなく経路に影響を与える。例えば、動的オブジェクトは、AVのそれと略直交する方向に移動していてもよい。すなわち、動的オブジェクトは、AVの経路を妨げる(すなわち妨害する)ことなく、AVの左側又は右側のいずれかから移動していてもよい。したがって、図5の軌道プランナ500等の軌道プランナは、動的オブジェクトを回避するためにAVの軌道を調整する必要があり得る。すなわち、AVは動的オブジェクトとの衝突を避けるために(左又は右に)移動する必要があり得る。
「縦方向制約」として分類される動的オブジェクトは、AVの経路ではなく速度に影響を与える。例えば、動的オブジェクトは、AVと略同じ方向に移動し、AVの経路内にある場合があり得る。すなわち、縦方向制約オブジェクトは、AVの現在の速度でAVの経路を妨げる(すなわち、遮る)ことになる。したがって、AVの軌道プランナは、AVの軌道を調整する必要はないが、動的オブジェクトとの衝突を回避するためにAVの速度を(例えば、軌道プランナの離散時間速度計画モジュール528によって)調整する必要があり得る。縦方向制約の一例は、図9の動的車両916である。すなわち、縦方向制約オブジェクトは、AVの前方にあり、かつAVよりも低速で移動している車両であり得る。そのため、動的オブジェクトとの追突を回避するためにAVを減速させる必要があり得る。
対向する横方向制約オブジェクトは、横方向制約オブジェクトと同様であるが、対向する横方向制約オブジェクトがAVとは逆方向に移動する点が異なる。図9の動的対向車両918は、対向する横方向制約オブジェクトの一例である。このような場合、AVは、(例えば、図9の軌道962に関して説明したように)減速することなく移動され得る。
対向する縦方向制約オブジェクトは、縦方向制約オブジェクトと同様であるが、対向する縦方向制約オブジェクトがAVとは逆方向に移動する点が異なる。この場合、図16を参照してさらに説明するように、AVは停止する。
そのため、図5のオブジェクト回避レイヤ506のモジュール532は、動的オブジェクトの分類に基づいてAVの離散速度計画を制約する(すなわち、制約を適用する)。例えば、AVの軌道をブロックする対向する動的オブジェクトは、車線内(すなわち、AVと同じ車線内の)静的オブジェクトとして処理し得る。例えば、先行の動的オブジェクト(すなわち、AVの前方にあり、AVと同じ方向に移動している動的オブジェクト)は、離散時間速度計画では縦方向制約として処理され得る。例えば、AVの計画された走行線の近くにある動的オブジェクトは、横方向制約として処理され得る。
図14の例1400では、AV1402が粗走行線1403に沿って移動している。静的オブジェクトは見あたらない。したがって、図10~図12で説明したように、静的オブジェクトに合わせて算出された走行可能領域の境界である左境界1417及び右境界1418は、走行可能領域の境界と一致する。
車両1404が、道路の右路肩から(又は、AV1402を含む車線の右側の車線から)経路1420に沿ってAVの経路に移動していると予測される。そのため、車両1404は、最初に、横方向制約として分類される。車両1404の予測経路は経路1420であり、これは粗走行線1403の近くにある(例えば、隣接している)。したがって、モジュール532は、車両1404を横方向制約として分類し続ける。
モジュール532は、異なる離散的時点におけるAV1402の位置を決定(例えば、予測)し得る。すなわち、モジュール532は、異なる時点で、粗走行線1403に沿って到達する位置を決定する。例えば、時間tにおいて(例えば、1秒で)、AV1402は位置1406にあると予測され、時間t+1において(例えば、2秒で)、AV1402は位置1408にあると予測され、時間t+2において(例えば、3秒で)、AV1402は位置1410にあると予測される。
例1400、1500、及び1600に関して将来の3秒後の位置(すなわち、3秒の時間ウインドウ)が示されているが、事前定義された時間ウィンドウを考慮して、より多くの又はより少ない位置が決定(例えば、予測、計算等)され得る。例えば、時間ウィンドウは6秒である。予測位置の頻度も変化し得る。一例では、時間ウィンドウは6秒であり、位置が半秒ごとに決定され得る。そのため、12箇所が予測される。
上述のように、軌道プランナの第2のインスタンスは、車両1404を追跡(例えば、その軌道を予測)してもよい。そのため、第2の軌道プランナのモジュール532は、車両1404の位置を決定(例えば、予測)し得る。例えば、時間tにおいて(例えば、1秒で)、車両1404は位置1412にあると決定され、時間t+1において(例えば、2秒で)、車両1404は位置1414にあると決定され、時間t+2において(例えば、3秒で)、車両1404は位置1416にあると決定される。例として、AVのインスタンス化された全ての軌道プランナについて、同じ時間ウィンドウと予測の頻度を同じにすることができまる。しかしながら、必ずしもその必要はない。時間ウィンドウと頻度は、動的オブジェクトのタイプ(例えば、自転車、歩行者、スポーツカー、セダン、大型トラック等)によって異なり得る。AV1402の走行可能領域は、車両1404の位置に対応する領域を除去するように調整される。
図14の例1400では、車両1404とAV1402とが略同時に同じ位置にあると決定される。そのため、例えば、経路1422に対応するビンの(この例では右側の)境界を設定することによって、経路1422に対応する部分がAV1402の走行可能領域から切り取られる。図12の距離1212に関して説明したように、距離1424が、AV1402が距離1424によって定義されるギャップを何とか通り抜け得るようなものである場合、AV1402の走行線は、ギャップを通って調整される(すなわち、AV1402は左に押される)。
図15の例1500では、AV1502が粗走行線1503に沿って移動している。静的オブジェクトは見あたらない。したがって、走行可能領域の左境界1517及び右境界1518は、静的オブジェクトに対して調整されない。しかしながら、車両1504が、道路の右路肩から(又は、AV1502を含む車線の右側の車線から)経路1520に沿ってAV1502の経路内へと移動していると予測される。
最初に、例えば、車両1504が最初に検出されたときに、それは横方向制約として分類し得る。したがって、図14の車両1404に関して説明したように、車両1504に関して横方向制約を適用し得る。
図15に関して説明したように、時間t、t+1、及びt+2におけるAV1502の位置は、それぞれ位置1506、1508、及び1510であると予測され、時間t、t+1、t+2における車両1504の位置はそれぞれ1512、1514、1516と予測される。そのため、車両1504の軌道(すなわち、経路1520)は、AV1502の粗走行線1503に重なると予測される。したがって、車両1504は縦方向制約として分類される。これにより、車両1504の分類が「横方向制約」から「縦方向制約」に変更される。したがって、軌道プランナは、(図14に関して上述したように)AV1502が左に移動するように、AV1502の軌道を変更する必要はない。むしろ、離散時間速度計画モジュール528は、AV1502の粗走行線1503に縦方向制約を適用し得る。すなわち、離散時間速度計画モジュール528は、車両1504を先行車両として離散時間速度計画を計算する。「追従」の追跡モードは、離散時間速度計画モジュール528によって、AV1502が車両1504の後方に追従するように設定し得る。離散時間速度計画モジュール528はまた、例えば、AV1502が車両1504より前に位置1506に到達しないようにAV1502を減速させる離散時間速度計画を決定し得る。
図16の例1600では、AV1602が粗走行ライン1603に沿って東方向に移動しており、車両1604が西方向に移動している。車両1604は、駐車車両1606を回避するために経路1609を辿ることが予測される。粗走行線1603に沿った時間t、t+1、及びt+2におけるAV1602の位置は、それぞれ位置1610、1612、及び1614であると予測される。時間t、t+1、及びt+2における経路1609に沿った車両1604の位置は、それぞれ1616、1618、及び1620であると予測される。
軌道プランナは、AV1602と車両1604とが略同じ位置(すなわち、位置1612、1618に対応する交差位置)に同時に(すなわち、時間t+2において)存在すると予測されることを決定する。そのため、AV1602が粗走行線1603に沿って進み続けると、車両1604と衝突する可能性が非常に高い。
図16には示されていないが、例1600の走行可能領域は、図9のビュー956のカットアウト950に関して説明したように調整(すなわち、切り取り)される。すなわち、AV1602の走行可能領域は、例えば、経路1609に対応する(重なる)ビンの(この例では、左側の)境界を設定することによって、車両1604の位置に対応する領域を除去するように調整される。
交差位置(すなわち、位置1612、1618)で、軌道プランナは、交差点と走行可能領域の端との間の走行可能領域の幅を評価し得る。すなわち、軌道プランナは、距離1622を評価して、距離1622によって定義されるギャップが、AV1602が通過し得るほど十分に大きいかどうかを決定する。上述したように、距離1622は、交差点を含むビン1608の計算された境界間の距離である。
距離1622が十分に大きくない(すなわち、ギャップが小さ過ぎる)と判断された場合、軌道プランナは、AV1602が車両1604をクリアし得る位置を判断する。一例では、AV1602の予測位置の少なくともいくつかについて、交差点(例えば、Xが正の整数である場合の時間t+Xにおける位置)から開始し、時間的に後退し(例えば、時間t+X-1、t+X-2、...、t-1、tにおける位置の少なくともいくつか)、軌道プランナは、その位置において、AV1602が車両1604をクリアし得るかどうかを決定する。例1600では、軌道プランナは、AV1602が位置1610で車両1604をクリアし得ると判断し得る。
別の例では、車両1604の予測位置の少なくともいくつかについて、交差点(例えば、Xが正の整数である場合の時間t+Xにおける位置)から開始し、時間的に前進し(例えば、時間t+X+1、t+X+2、...、t+X+nにおける位置の少なくともいくつか)、軌道プランナは、その位置において、AV1602が車両1604をクリアし得るかどうかを決定する。
軌道プランナは、車両1604が位置1620にあるときにAV1602が車両1604をクリアし得ると判断する。したがって、軌道プランナ(より詳細には、モジュール530)は、位置1624において静的妨害物を設定する。次に、軌道プランナ(より詳細には、離散時間速度計画モジュール528)は、速度及び/又は減速プロファイルを決定して、AV1602を位置1624で停止させる。このようにして、AV1602は、車両1604が位置1624に到達するまで、位置1624で停止させられ、その時点でAV1602は、粗走行線1603に沿って進んでもよい。
距離1622が十分に大きいと決定された場合、軌道プランナは、図9のビュー962の軌道960に関して示されたように、AV1602が交差点位置で車両1604を避けるように左に移動するように粗走行線1603を調整し得る。
そのため、一例では、オブジェクト回避レイヤ506は、オブジェクトを系統的に処理する。オブジェクトが制約でない場合、それはオブジェクト回避レイヤ506によって無視され得る。
オブジェクトが静的オブジェクトであり、調整された走行可能領域が通過可能である場合(例えば、場合によっては、AVが走行可能領域又は調整された走行可能領域内の1つ以上のギャップを通過し得る場合)、モジュール530は、静的制約(例えば、横方向制約)を適用して、例えば、図12の距離1212に関して説明したように、調整された走行可能領域を決定し得る。
オブジェクトが静的オブジェクトであり、走行可能領域(又は調整された走行可能領域)が通過不能である場合、離散時間速度計画モジュール528は、例えば、図11の位置1122に関して説明したように、離散時間速度プロファイルを調整し得る。
オブジェクトが動的オブジェクトであり、かつオブジェクトが横方向制約である場合、モジュール532は、例えば、図15に関して説明したように、走行可能領域(又は調整された走行可能領域)を調整し得る。
オブジェクトが動的オブジェクトであり、かつオブジェクトが縦方向制約である場合、離散時間速度計画モジュール528は、例えば、図16に関して説明したように、離散時間速度プロファイルを調整し得る。離散時間速度計画モジュール528は、制約を考慮して、将来のウインドウ(例えば、次の6秒間の速度計画)のための離散時間速度計画を生成し得る。
図5に戻ると、軌道最適化レイヤ508は、制約に基づいてAVのための最適軌道を決定するために、制約された動作等の(複数の)最適化動作を実行する。軌道最適化レイヤ508は、(すなわち、最適化動作への入力として)AVの動作モデル(例えば、運動学的動作モデル)、粗走行線(例えば、図10の粗走行線1004、図11の粗走行線1103、図14の粗走行線1403等)、及び/又は、粗走行線に沿ったビンの中心点(例えば、中心点1006)、離散時間速度計画、及び調整された走行可能領域(例えば、調整された走行可能領域の左右の境界)を使用して、AVのための最適軌道を計算(例えば、決定、生成等)し得る。そのため、最適軌道は、粗走行線に沿って、静的及び動的オブジェクトを考慮して、粗走行線及び左側と右側の境界が考慮される。
図17は、本開示の実装による軌道計画のさらなる例1700を示す。以下の例の各々において、図5の軌道プランナ500等の1つ以上の軌道プランナが、自律走行車内で実行され得る。軌道プランナの第1のインスタンスは、自律走行車自体の軌道を決定する。第2の軌道プランナインスタンスは、少なくとも1つの外部動的オブジェクトの軌道を予測する。いくつかの例では、第1のインスタンスが、自律走行車自体の軌道を決定することができ、外部動的オブジェクトの軌道を予測し得る。説明を簡単にするために、本明細書では、「軌道プランナ」は、第1のインスタンス及び/又は第2のインスタンスを参照するために使用される。
第1の例では、AV1702の軌道プランナは、対向車両1704が静的オブジェクト1705を回避するために軌道1706を辿ることを予測する。軌道プランナはさらに、図16に関して説明したように、AV1702が対向車両1704の軌道と走行可能領域の右境界との間のギャップを通過できないことを決定する。そのため、軌道プランナは、対向車両1704が静的妨害物1708を通過するまでAV1702を静的妨害物1708で停止させる速度計画を決定する。
第2の例では、AV1710は(すなわち、AVの軌道プランナによって)動的オブジェクト1712が経路1714を辿ることを決定する。軌道プランナは、AV1710が、(図9の走行可能領域932に関して説明したように)走行可能領域の左ハード境界であり得る道路の中心線を横断せずに、動的オブジェクト1712を通過することができないと判断する。したがって、AV1710の軌道プランナは、AV1710を静的妨害物1716で停止させる速度計画を決定する。
第3の例では、AV1720は、対向する動的オブジェクト1722が軌道1724に従うことを決定する。AV1720はさらに、AV1720が軌道1730に沿って、第1の静的オブジェクト1726と第2の静的オブジェクト1728との間にナビゲートされ、そこでAV1720は、静的妨害物1732で計算された秒数の間待機し、その後で進行するように、AV1720の軌道1730を決定する。計算された秒数は、図16の位置1624に関して説明したように、対向する動的オブジェクト1722が静的妨害物1732の位置を通過するのに十分な時間である。
第4の例では、AV1734は、大型の動的オブジェクト1736が右折中であると決定する。AV1734の軌道プランナは、大型の動的オブジェクト1736の運動モデルを使用して、大型の動的オブジェクト1736が大きな回転半径を必要とし、したがって、大型の動的オブジェクト1736が軌道1738を辿ることを決定する。したがって、AV1734の経路が大きな動的オブジェクト1736からクリアされるまで静的妨害物1740においてAV1734が停止するように、AV1734に対する速度計画が決定(例えば、計算、生成等)される。
要約すると、本開示による軌道プランナ(例えば、軌道プランナの走行線データレイヤ)は、基準となる(すなわち、粗い)走行線を決定(例えば、生成、計算、選択等)し得る。軌道プランナは、粗走行線を決定するためにいくつかの入力データを融合し得る。したがって、粗走行線は、(すなわち、複数のタイプの入力データからの)マルチソースされることを意味し得る。入力データは、HD地図データ、遠隔操作データ、記録経路データ、先行車データ、駐車場データ、局所知覚データを含み得る。軌道プランナは、より少ない入力、より多い入力、又は他の入力を使用し得る。
軌道プランナ(例えば、軌道プランナの粗走行線連結レイヤ)は、粗走行線に沿った特定の速度値を含む戦略的速度計画を生成(例えば、決定、計算等)し得る。軌道プランナは、戦略的速度計画を生成するために、道路曲率、道路μ、車両速度及び/又は加速制限、最小巡航時間、近隣タイプの少なくとも1つ、並びにより多く、より少なく、又は他の入力を使用し得る。
軌道プランナ(例えば、軌道プランナの粗走行線連結レイヤ)は、ハード境界(静的及び/又は動的オブジェクトに基づいて設定される)、ソフト境界(例えば、車線マーク)、フィルタされた横方向限界、多重仮説追跡、拡張可能な走行可能領域検査、及び動的オブジェクト分類(例えば、オブジェクトを対向車両、先行車、又は横方向制約として分類する)の少なくとも1つ以上に基づいて、AVのための調整された走行可能領域を決定する。
軌道プランナ(例えば、軌道プランナの離散時間速度計画モジュール)は、例えば、自然加速度プロファイル(例えば、AVの運動モデル)、先行車両加速度プロファイル、及び縦方向制約の限界の決定を使用して、離散時間速度計画を決定(例えば、計算)する。
軌道プランナ(例えば、軌道プランナの最適化された所望の軌道レイヤ)は、例えば、制約された最適化動作を使用して、AVの最適化軌道を生成(例えば、計算、決定等)する。一例では、最適化動作は、二次ペナルティ関数に基づいてもよく、又はこれを含み得る。一例では、最適化動作は、対数バリア関数に基づいてもよく、又はこれを含み得る。例えば、二次ペナルティ関数はソフト制約とともに使用し得る。例えば、対数バリア関数は、ハード制約と共に使用し得る。
図18は、本開示によるオブジェクト回避のための処理1800のフローチャート図である。処理1800は、図5の軌道プランナ500等の軌道プランナによって実行し得る。
動作1810では、処理1800は、AVの走行可能領域の粗走行線に沿って第1のオブジェクトを検出する。一例では、第1のオブジェクトを検出することは、オブジェクトに対応する図10の境界点1008等の境界点を検出すること意味し得る。一例では、オブジェクトを検出することは、例えば、図4の世界モデルモジュール402に関して説明したように、世界モデルからオブジェクトを(例えば、問い合わせることによって)受信することを意味し得る。粗走行線は、例えば、図10の粗走行線1004、図11の粗走行線1103、図12の粗走行線1203等に関して説明したものであってもよい。走行可能領域は、図9の走行可能領域932に関して説明したものであってもよい。
動作1820において、処理1800は、第1のオブジェクトの予測経路を受信する。一例では、処理1800は、第1のオブジェクトの分類及び第1のオブジェクトの運動モデルに基づいて、第1のオブジェクトの予測経路を決定する。別の例では、処理1800は、第1のオブジェクトの経路を予測する軌道プランナから第1のオブジェクトの予測経路を受信する。予測される経路は、図3の軌道336、軌道346、軌道354、及び軌道364に関して説明したもの、すなわち、図14の経路142014、図15の経路1520、及び図16の経路1609であってもよい。
動作1830において、処理1800は、第1のオブジェクトの予測経路に基づいて、調整された走行可能領域を決定する。一例では、上述したように、走行可能領域から一部を切り取ることにより、調整された走行可能領域を生成し得る。別の例では、例えば、第1のオブジェクトが横制約でも縦方向制約でもない場合、上述したように、調整された走行可能領域は走行可能領域と同じであってもよい。
動作1840において、処理1800は、調整された走行可能領域を通るAVの軌道を決定する。軌道は、図5の軌道最適化レイヤ508に関して説明したように決定し得る。
一例では、第1のオブジェクトの予測経路に基づいて、調整された走行可能領域を決定することは、粗走行線の少なくとも一部を複数のビンに分割すること、第1のオブジェクトを複数のビンの1つのビンに割り当てること、及び1つのビンに基づいて調整された走行可能領域を決定することを含み得る。ビンは、例えば、図10に関して説明したものであってもよい。1つのビンに基づいて調整された走行可能領域を決定することは、上述したように、少なくとも1つのビンに対する境界を決定(例えば、計算)することを含み得る。
一例では、第1のオブジェクトの予測経路に基づいて調整された走行可能領域を決定することは、離散時間間隔で第1のオブジェクトの各オブジェクト位置を決定すること、離散時間間隔でAVの各AV位置を決定すること、及び各オブジェクト位置と各AV位置とに基づいて調整された走行可能領域を決定することを含み得る。第1のオブジェクトの各オブジェクト位置、AV位置、及び調整された走行可能領域の決定は、図14~図16を参照して説明したものであってもよい。
一例では、処理1800は、第1のオブジェクトを分類することを含み得る。別の例では、処理1800は、世界モデルモジュール402等から第1のオブジェクトの分類を受信し得る。第1のオブジェクトが対向する縦方向制約として分類される場合、調整された走行可能領域を通るAVの軌道を決定することは、図16に関して説明したように、第1のオブジェクトのオブジェクト位置がAVのAV位置と出会う第1の時間に続く第2の時間までAVを停止することを含み得る。
第1のオブジェクトが縦方向制約として分類される場合、調整された走行可能領域を通るAVの軌道を決定することは、図15に関して説明したように、第1のオブジェクトの後方を走行するようにAVを減速させることを含み得る。
一例では、処理1800は、第1のオブジェクトを、横方向制約、縦方向制約、対向する横方向制約、又は対向する縦方向制約として分類することも含み得る。
一例では、調整された走行可能領域を通るAVの軌道を決定することは、図16に関して説明したように、第1のオブジェクトが静的妨害物であることを決定して、AVを停止させることを含み得る。
図19は、本開示の実装による経路計画の例示である。例1900は、横方向の偶発事象対応計画を示している。例1950は、速度(すなわち、縦方向)の偶発事象対応計画を示している。
例1900では、AV1902は車線1904内にある。オブジェクト1905は車線1904の側部にある。不確実性がセンサデータ及び/又は知覚された世界オブジェクトに関連付けられ得るので、オブジェクト1905の実際/本当のサイズを拡大する境界ボックス1906がオブジェクト1905に関連付けられてもよい。不確実性のボックス(すなわち、境界ボックス)を本明細書で説明するが、不確実性の形状は任意の他の形状であってもよい。一例では、形状はバブルであってもよい。
不確実性の境界ボックスのサイズは、範囲の不確実性、角度(すなわち、姿勢、方向等)の不確実性、又は速度の不確実性の結果の1つ以上の関数であってもよい。例えば、不確実な範囲(すなわち、オブジェクト1905がAV1902からどれくらい離れているかに関する不確実性)に関して、AV(より詳細には、AVの世界モデル化モジュール)は、より近いオブジェクトよりも遠くにあると知覚されるオブジェクトに、より長い不確実性の境界ボックスを割り当て得る。例えば、不確実な角度(すなわち、オブジェクト1905の向き/姿勢に関する不確実性)に関して、不確実性の境界ボックスに異なる幅が割り当てられる結果を生じ得る。さらに、上述したように、オブジェクト1905の意図及び/又はオブジェクト1905の速度に関して不確実性が存在し得る。例えば、オブジェクト1905が駐車したままになるのか、又は車線1904内に突然移動するのかが明確でない場合がある。
現在の知覚状態に基づいて、AV1902(より詳細には、AV1902の軌道プランナ)は、AV1902のための名目経路1908を計画し得る。名目経路1908は、動作1840に関して説明したように、処理1800によって決定された軌道であってもよい。名目経路1908により、AV1902は基本的に直進し得る。オブジェクトに関するコンテキスト情報(例えば、ドアが開くかもしれないこと)がない場合、名目経路1908は、多くの場合、横方向制約を通過する自然な方法であろう。例えば、運転者は、茂み及び障壁等の他の同様の制約に定期的に接近して通過する。
名目経路1908は、潜在的なハザードを考慮していない。オブジェクト1905が車両として分類される場合、オブジェクト1905のドア1910が任意の時点で開く可能性がある。ドア1910は破線で示されており、ドア1910はまだ開いていないが、開く可能性があることを示している。また、AV1902がオブジェクト1905に近過ぎる時点でドア1910が開く可能性もある。このような状況では、AV1902が近過ぎて、ドア1910に衝突する前に停止するように制御することができない。あるいは、AV1902は、ドア1910を回避するために急激な緊急操作を行う必要があるかもしれない。急激な緊急操作は、急ブレーキ操作、ドア1910から離れる急旋回、又はそれらの組み合わせであってもよい。このような急激な緊急操作は、少なくとも、AVの乗員にとって望ましくないかもしれない(及び予想される可能性がある)。
このような危険に対して事前に計画するために、AV1902に対してナイーブ経路1912が計画され得る。ナイーブ経路1912は、ドア1910が実際に開くか否かにかかわらず、AV1902がドア1910を回避するように著しく横方向に移動するものである。ナイーブ経路1912に従ってAV1902を制御することは、AV1902の乗員にとって望ましくない場合もある。
名目経路1908又はナイーブ経路1912の代わりに、偶発事象軌道1914がAV1902に対して計画され得る。偶発事象軌道1914は、名目経路1908からの僅かな横方向の逸脱を生じさせてもよく、この逸脱は、ナイーブ経路1912の逸脱ほど劇的なものではない。しかし、偶発事象軌道1914は、ドア1910が実際に開いた場合でも、合理的な緊急操作を行うことができるようにAVを制御可能なものであり得る。例えば、AV1902が位置1916に到達したときにドア1910が開いた(又は開いていることが検出された)場合、合理的な緊急操作を行って経路1918に従うようにAV1902が制御され得る。
要約すると、ドア1910は、自動車のドアが開く最大範囲を示す。名目経路1908は、関連付けられた可能性が低い観測及び/又は予測を無視する経路を示す。ナイーブ経路1912は、ドアを回避するナイーブ経路を示す。偶発事象軌道1914は、潜在的にドアが開く場合の経路である。経路1918は、ドアがAVの緊急操作性の限界内で開いた場合に取られるべき経路(すなわち緊急操作)である。ナイーブ経路1912は、ドアが開かない場合、洗練されていない経路と見なされ得る。
状況によっては、ナイーブ経路1912に従ってAV1902を制御することが望ましい場合がある。例えば、ハザードの可能性が高い(すなわち、ドア1910が開く)場合、ナイーブ経路1912は、偶発事象軌道1914よりも好ましい場合がある。例えば、オブジェクト1905が静的オブジェクト(すなわち、道路脇に停止した車両)になった動的オブジェクト(すなわち、移動車両)として分類された場合、ドア1910が開く可能性は非常に高い。さらに、オブジェクト1905の内部に運転者が知覚される場合、ドア1910が開く可能性はさらに大きくなる(例えば、100%に近い)。そのため、ナイーブ経路1912を採用することにより、ドア1910が開いた場合に即座にAV1902が横方向に徐々に移動するようにして、ドアが開いたとき/場合に(合理的であるか否かにかかわらず)緊急操作は必要とされない。
例1950は、速度(すなわち、縦方向)の偶発事象対応計画を示している。例1950は、AVが名目速度計画1952に従って運転され得ることを想定している。AVは、曲がった道路を走行している場合があり、オブジェクト1954が遮蔽されているためにAVのセンサが知覚できないオブジェクト1954が存在し得る。
AVは、名目速度計画1952に従って進行してもよく、それによって、オブジェクト1954が存在する可能性を無視し得る。AVが名目速度計画1952に沿って進行する場合、オブジェクト1954が最終的に知覚されると、AVを時間内に停止させることは不可能であり得る。速度1956で示されるように、AVがオブジェクト1954に到達したとき、速度1956はゼロではない。オブジェクトが曲がり角の周りにある可能性を考慮するために、ナイーブ速度計画1958がAVについて決定(例えば、計画、計算等)され得る。ナイーブ速度計画1958は、曲がり角の周りにオブジェクト1954が実際に存在するか否かにかかわらず、AVの速度を著しく低下させる。
より良い速度計画(すなわち、偶発事象速度計画1960)は、オブジェクト1954が最終的に知覚される場合にAVが停止することができるようなものである。偶発事象速度計画1960に従ってAVが制御される場合、AVが位置1962に到達したときにオブジェクト1954が知覚されると、AVがオブジェクト1954の位置に到達する前にAVの速度をゼロに(又は追従速度に)するように偶発事象速度計画1964(すなわち、緊急操作)が実行され得る。このように、偶発事象速度計画1960は、例えば、オブジェクト1954が検出された場合に時間内にAVを停止させることを可能にする。
要約すると、名目速度計画1952は、低い可能性の観測及び/又は予測を無視する速度計画である。ナイーブ速度計画1958は、妨害物の可能性に対するナイーブな速度計画である。偶発事象速度計画1960は、妨害物に備えた速度計画である。そして、緊急速度計画1964は、妨害物(例えば、緊急事態)が発生した場合の速度計画である。
図20は、本開示の実装によるハザードゾーンの定義の例2000である。例2000は、ハザードゾーン(又は単にハザード)を定義するための一般化されたアプローチを示す。しかしながら、他の定義も可能である。図20に関して以下に説明するように、ハザードが定義(例えば、割り当て、決定、計算、評価等)されると、特定のハザード(又はハザードのタイプ)自体が、偶発事象対応計画の計算(例えば、決定、選択、計算等)に無関係になり得る。偶発事象対応計画は、偶発事象軌道又は経路、偶発事象速度プロファイル、又はそれらの組み合わせであり得る。偶発事象対応計画が一旦計算されると、自律走行車は偶発事象軌道に応じて動作(すなわち、制御)され得る。ハザードを通過すると、AVは名目軌道に従って動作され得る。
例2000は、道路2004上を走行しているAV2002を示す。オブジェクト2006は、道路2004の側方で識別される。オブジェクト2006は、例えば、駐車車両、歩行者、又は他のオブジェクトであってもよい。AV2002は、軌道2007によって示されるように、オブジェクト2006に向かって移動している。図19の境界ボックス1906に関して説明したように、境界ボックス2005は、不確実性のためにオブジェクト2006に関連付けられる。横方向姿勢不確実性2008(Δypと示される)は、オブジェクト2006の最初に決定(例えば、知覚、識別、設定等)された後のサイズを定義する。時間2009(tと示される)は、AV2002がハザード(すなわち、境界ボックス2005)に到達する時間を示す。
最大横方向侵入2012(Δyv,maxと示される)は、オブジェクト2006が横方向に移動する可能性があるため、道路2004への最大横方向侵入を識別する。移動する可能性があるオブジェクト2006は、オブジェクト2006自体が移動しているか、又はオブジェクト2006の一部が移動していることを意味し得る。一例では、上述したように、オブジェクト2006は、駐車車両として分類することができる。したがって、図19に関して説明したように、駐車車両のドアが開き得る。また、車両のドアの最大寸法は約1mであるので、最大横方向侵入2012はΔyv,max=1mに設定され得る。
速度2014(Vyと示される)は、ハザードが道路2004に入る速度を示す。例えば、オブジェクトが駐車車両として識別される場合、速度2014は、車のドアが開き得る名目速度に設定され得る。
一例では、上述したように、オブジェクト2006は、軌道2007に沿ってAV2002の50メートル前方にあると決定された歩行者として分類することができる。歩行者は、道路2004を横断していると決定されてもよい。歩行者は、毎秒1メートルの最大侵入があると決定されてもよい。したがって、速度2014は、Vy=1メートル/秒に設定され得る。
以上のことから、式(1)を使用して、潜在的な侵入2010(Δy(t))は次式のように計算され得る。
(式1) Δy(t)=Δyp +min(Vy*t,Δyv,max)
すなわち、オブジェクト2006の道路2004への潜在的な侵入2010は、Δyp(すなわち、潜在的な侵入2010が計算される時点で決定された境界の現在の幅)にVy*t(すなわち、オブジェクトが道路2004に移動する/移動可能である速度を考慮して、現在からAV2002がハザードオブジェクトに到達する時間までの間に、オブジェクト又はその一部が道路2004内にどの程度移動可能であるか)、及びΔyv,max(すなわち、最大横方向侵入2012)の最小値を加えたものによって与えられる。
初期侵入Δypは経時的に変化し得る。例えば、AV2002がオブジェクト2006に近づくにつれて、センサ不確実性は減少し、不確実性の境界ボックスのサイズも減少し得る。
潜在的な侵入2010は、AV2002がハザードに近づくにつれて経時的に変化する。AV2002がオブジェクトに接近すると、AV2002のオブジェクト2006への到達時間tは0に近づく(すなわち、t→0)。そして、ハザードゾーンは、ハザードに関連する不確実性の境界ボックス又は姿勢へと畳まれる(すなわち、縮小する)。すなわち、AV2002がオブジェクト2006に接近すると、不確実性が減少するにつれて境界ボックスのサイズが減少する。すなわち、知覚(すなわち、センサ)の範囲が減少すると、不確実性の境界ボックスは畳まれる。さらに、オブジェクトが道路2004上を横方向に移動する量(例えば距離)も減少する。
上記の例に戻ると、そこではオブジェクト2006は、Vy=1m/秒の速度で道路2004を横断している歩行者として分類される。AV2002の現在の速度を考慮して、AV2002は5秒以内にオブジェクト2006に到達すると決定されてもよい。そのため、歩行者は、AV2002が歩行者に到達する時間までに道路内に5メートルまで移動可能であると推定される。すなわち、歩行者は、本質的に又は実質的に、道路2004の全体を横断し得る。しかし、AV2002がオブジェクト2006(すなわち歩行者)にますます近づくにつれて、歩行者が実際には道路にそれほど遠くまで到達しないかもしれないので、状況はそれ自体で発展し得る。
図20のグラフ2020は、潜在的な侵入2010(Δyv(t))の値が経時的にどのように発展するかを示す。初期の時間において、潜在的な侵入2010は、横方向姿勢不確実性2008(初期値2022によって示される)に等しい。オブジェクトに到達するまでの時間が短くなるにつれて、オブジェクト(すなわち、ハザード)は、最大横方向侵入2012(最大増加2026によって示される)まで、道路内により多く移動し得る(勾配2024によって示される)。
図21A-21Eは、本開示の実装による偶発事象対応計画の例を示す図である。図21Aのシーン2100は、AV2102が二車線道路の車線2104内を走行していることを示す。車線2105は対向車線である。シーン2100は、3つのハザードがAV2102によって知覚されることを示す。すなわち、第1のハザード2106、第2のハザード2108、第3のハザード2110である。第1のハザード2106は、AV2102からt1時間単位(例えば、数秒)だけ離れている。第2のハザード2108は、AV2102からt2時間単位だけ離れている。第3のハザード2110は、AV2102からt3時間単位だけ離れている。
第1のハザード2106はAV2102に非常に近いので、第1のハザード2106は車線2104上にわずかな横方向距離(最大横方向侵入2112によって示される)だけ進入し得る。そのため、偶発事象軌道2118は、AV2102を僅かに横方向に移動させるだけである。第2のハザード2108は、最大横方向侵入2114によって示されるように、車線2104にさらに進入し得る。第2のハザード2108がAV2102の経路を妨害しない場合、偶発事象軌道2118は、AV2102が第2のハザード2108を迂回することもできるようなものであってもよい。この例では、偶発事象軌道2118は、AV2102が第2のハザード2108を迂回するために車線2105を横切るようになっていることに留意されたい。しかしながら、第3のハザード2110に関しては、AV2102が第3のハザード2110に近づいた初期の時間に第3のハザード2110が車線2104を横切り始めると、時間t3までに第3のハザード2110が車線2104の途中にあることになる可能性が高い。第3のハザード2110は、上述したように、長手方向制約となり得る。そのため、偶発事象軌道2118は、AV2102を減速させて、位置2116で(緊急操作によって)停止させる準備をする偶発事象速度プロファイルを含み得る。
したがって、図20の説明と一貫して、第1のハザード2106、第2のハザード2108、及び第3のハザード2110のそれぞれについて、それぞれの横方向姿勢不確実性Δyp、時間t、速度Vy、及び最大横方向侵入Δyv、maxが、式(1)を使用して、AV2102がそのオブジェクトに到達したときの横方向回避の最大範囲を計算するために使用され得る。第1の横方向の偶発事象は、第1のハザード2106について計算され、第2の横方向の偶発事象は、第2のハザード2108について計算され得る。しかしながら、第3のハザード2110に関しては、AV2102が第3のハザード2110に到達する時間までにAV2102の経路が妨害される可能性があるため、縦方向(すなわち速度)の偶発事象が計算される。
速度偶発事象は、AV2102が縦方向のハザードの速度VLまで減速されるようなものであってもよい。すなわち、AV2102は、ハザードに追従することができるように十分に減速される。ハザードが縦方向に移動していない場合(すなわち、VL=0)、AVはハザードで停止する。
図21Bのシーン2150は、車両2152が車線2105を走行していることを除いて、シーン2100と同様である。上述したように、シーン2100では、偶発事象軌道2118は、AV2102が第2のハザード2108を迂回するために車線2105を横切るようになっている。しかしながら、シーン2150は、図3の状況350と同様である。そのため、調整された走行可能領域の計算に関して上述したように、AV2102の走行可能領域にハード限界2154が設定されてもよい。次に、第2のハザード2108は、縦方向制約である。その結果、偶発事象軌道2156は、シーン2100の場合と同様に、AV2102を第1のハザード2106の周りをわずかに移動させるだけである。しかしながら、偶発事象軌道2156は、必要に応じてAV2102を位置2158で停止させることができるような速度偶発事象を含む。そのため、シーン2150では、第2ハザード2108は速度偶発事象となり、AV2102が妨害ハザードの縦方向速度VLまで減速され得るように速度プロファイルが設定される。
図21Cのシーン2160は、道路2161の近くのAV(図示せず)によって3人の歩行者が識別されることを示す。第1の歩行者2162は、道路2161に沿って又はその近くを歩いていると知覚される。そのため、第1の歩行者2162に関連する横方向の最大侵入Δyv,max及び侵入速度Vyは低くてもよい(例えば、小さな値)。そのため、第1の歩行者2162はハザードであるが、そのハザードが道路に出でくる可能性は低い。第2の歩行者2164は、道路の近くで騒々しく知覚される。そのため、第2の歩行者2164に関連付けられる最大横方向侵入Δyv、max及び侵入速度Vyは、中間値を有してもよい。第3の歩行者2166は、道路2161に向かって歩いていると知覚される。そのため、第3の歩行者2166に関連付けられる最大横方向侵入Δyv,max及び侵入速度Vyは、高い値を有してもよい。
図21Dのシーン2170は、自動車2172に関連するハザードを示す。より詳細には、ハザードは、車両ドア2174の開放に関連する。車のドア2174は、境界ボックスによって記述/図示される最大侵入を有する。ハザードは、最大横方向侵入2178(すなわち、Δyv,max)及び速度2176(すなわちVy)を有し、これらは両方とも低い値であってもよい。
図21Eのシーン2180は、AV2182が左車線2184、右車線2183、及び対向車線2185を含む道路を走行していることを示す。AV2182は、左車線2184を走行している。3台の車両2188、2189、及び2190は、AVによって右車線2183を走行していると知覚され、それぞれAV2182からt1、t2、及びt3時間単位だけ離れている。車両2188、2189、及び2190は、停止してもよく、又はAV2182の速度と比較して、ゆっくりと移動してもよい。対向車線2185において対向車2186が知覚される。
シーン2180では、その趣旨の現在の表示はないが(例えば、左方向指示器がオンになっていない)、車両2188、2189、及び2190のいずれかが左車線2184内に移動する可能性がある。車両2188はAV2182に非常に接近しているので、車両2188は車線2184内に入れたとしても十分に入ることができない。車両2188は、距離2192を超えて横方向に移動しないであろう。したがって、横方向の偶発事象は必要ない。車両2188が車線2184内に移動した場合、AV2182は、横方向の偶発事象を必要とせずに車両2188を回避するための緊急操作を実行することができる。車両2189に関しては、最大侵入2194の可能性がある。そのため、偶発事象軌道2195は、ハザードが現実化した場合に、AV2182がハザードを回避するために緊急操作(例えば、さらに逸れる)を行うことができるように、AV2182が十分に横方向に移動するようものであってもよい。車両2190に関しては、完全に右車線2183に進入することができ、(対向車両2186による)AV2182の走行可能領域のハード限界2198のために、車両2190が縦方向の制約となり得る。そのため、AV2182の偶発事象対応計画は、AV2182が位置2196で車両2190の縦方向速度VLまで減速できるように、偶発事象速度プロファイルを含み得る。
図22は、本開示の実装による偶発事象対応計画のためのシステム2200のモジュールを示す図である。システム2200は、メモリ(例えば、図1のメモリ122)に記憶され、かつプロセッサ(例えば、図1のプロセッサ120)によって実行され得る実行可能命令として、図1の車両100又は本明細書に記載の任意の他の自律走行車等のAVに含まれ得る。少なくとも1つのモジュールは、ハードウェアモジュール(例えば、特定用途向け集積回路等)として実装され得る。
システム2200は、知覚モジュール2202と、予測モジュール2204と、計画モジュール2206と、軌道フォロワモジュール2208とを含み得る。知覚モジュール2202は、センサデータを受信し、センサデータに基づいて世界オブジェクトを維持することができる。予測モジュール2204は、知覚されたオブジェクトの将来の挙動を予測することができる。したがって、図4の世界モデルモジュール402等の世界モデルモジュールは、知覚モジュール2202及び予測モジュール2204を含み得る。
計画モジュール2206は、軌道プランナ2222、ハザード検出モジュール2224、及び制約修正モジュール2226を含み得る。
軌道プランナ2222は、図4の軌道プランナ408又は図5の軌道プランナ500に関して説明したものであってもよい。一例では、計画モジュール2206は、名目軌道(経路)を生成し得る。名目軌道は、上述したように、現在知覚されている横方向及び縦方向制約に基づいて生成される所望の/円滑な軌道であり得る。一例では、軌道プランナは、モデル予測制御(MPC)法を使用して名目軌道を生成する。
また、軌道プランナ2222は、ハザード検出モジュール2224によって検出されたハザードに基づいて偶発事象軌道(本明細書では偶発事象経路又は偶発事象計画とも呼ばれる)を生成するためにも使用され得る。軌道プランナ2222は、名目軌道に使用される異なる制約セットに従って偶発事象軌道を計算することができる。例えば、名目軌道を生成するために使用される走行可能領域は、検出されたハザードによってさらに制限され得る。例えば、走行可能領域は、検出された侵入に基づいて、多かれ少なかれ経時的に制限され得る。例えば、操縦性パラメータ(危険が現実化された場合にAVが実行しなければならない緊急操縦に関連する)は、偶発事象軌道の生成における制約として使用され得る。
ハザード検出モジュール2224は、知覚対象に基づいてハザードを検出することができる。知覚されたオブジェクトに関連するハザードは、そのオブジェクトに対して維持される1つ以上の仮説に基づいて検出され得る。仮説は、HD地図データ、社会的又は運転行動、又はその他の基準に基づき得る。
制約修正モジュール2226は、偶発事象軌道の生成において軌道プランナ2222によって使用される制約を修正する。例えば、制約修正モジュール2226は、ハザードの可能性、AVの緊急時能力、又はいくつかの他の条件に基づいて制約を修正することができる。AVの緊急時能力とは、例えば、現在の道路トポロジー及び条件の下でAVの質量又は荷重を考慮したAVの最大の減速率(又は加速率)及び/又はステアリングを指す。また、緊急時能力は、乗客の好みに応じて設定されてもよい。例えば、円滑な挙動を要求する乗客は、緊急挙動を大幅に減少させるより制限的な制約を発生させ得る。一例では、AVはユーザインターフェースを含んでもよく、これを介して、乗客は乗客の好みを通信することができる。一例では、ユーザインターフェースは、AV(又はその中のモジュール)と通信できるモバイルアプリケーション等の乗客の携帯(例えば、ハンドヘルド)装置上で利用可能であり得る。
軌道フォロワモジュール2208は、AVが偶発事象対応計画に正確に従うことができるように、アクチュエータコマンドを計算する役割を果たし得る。いくつかの例では、軌道フォロワモジュール2208は、AVが最後の瞬間に検出されたオブジェクトを回避する一方で、予測軌道プランナによって計算されたハード走行可能限界内にAVを維持するように、生の知覚を直接使用して緊急アクチュエータコマンドを計算する役割を果たし得る。典型的なセットアップでは、軌道フォロワモジュール2208の予測アルゴリズムは、10hzで計画を生成するように構成され得る。一方、軌道フォロワモジュール2208の反応的軌道フォロワは、100hzで計画を生成するように構成され得る。
図23は、本開示の実装による自律走行車(AV)のための偶発事象対応計画のための処理2300の流れ図である。本明細書で使用される自律走行は、高度な運転者支援システム(ADAS)を有する車両を含むと理解されるべきである。ADASは、運転者のエラーを回避及び/又は訂正する等、安全及びより良い運転のために車両システムを自動化、適応及び/又は強化することができる。処理2600の少なくともいくつかのステップは、図4の軌道プランナ408、図5の軌道プランナ500、又は図22の計画モジュール2206等の軌道プランナによって実行され得る。処理2600は、図1のメモリ122等のメモリに実行可能命令として記憶され得る。実行可能命令は、図1のプロセッサ120等のプロセッサによって実行され得る。処理2600は、図1の車両100等の装置(例えば自律走行車)、又は本明細書に記載された任意の他の自律走行車によって実行され得る。
オブジェクトの侵入が計算される。侵入は、式(1)に関して説明したように計算され得る。上述したように、侵入は最大侵入及び侵入(incursion(intrusion))速度を有する。例えば、自動車ドアはAVの経路に瞬時に表れない。ドアが開くとき、それは所定の速度で開く。計算された侵入に基づいて、偶発事象対応計画が決定される。偶発事象対応計画は、図19の偶発事象対応軌道1914、図19の偶発事象対応速度計画1960、図21Aの偶発事象対応軌道2118、図21Bの偶発事象対応軌道2156、又は上述した任意の他の緊急時対応軌道/計画に関して説明したものであってもよい。次に、AVは偶発事象対応計画に従って動作する(すなわち、制御される)。
高レベルでは、処理2300は、AVが車線を走行している間に、センサデータに基づいて道路ユーザ(例えば、オブジェクト)が識別されると要約され得る。1人以上の道路ユーザが識別され得る。位置及び/又は速度情報は、オブジェクトに対して維持される状態に基づいて、オブジェクトと共に/ブジェクトに対して識別され得る。状態は、上述した離散状態情報及び/又は連続状態情報に関して記載されたものであり得る。不確実性は、オブジェクトに関連付けられ得る。上述のように、不確実性は、センサノイズ、意図不確実性、又は他の不確実性に起因し得る。不確実性ゾーン(例えば、図19の境界ボックス1906に関して説明したもの)がオブジェクトに関連付けられ得る。横方向の偶発事象又は縦方向の偶発事象の少なくとも1つを含み得る偶発事象対応計画(軌道)が、AVについて計算される。
ステップ2302において、処理2300は、AVの名目軌道を決定(例えば、計算、選択、計画等)する。名目軌道は、現在知覚されているオブジェクトに基づいて計算される所望の/円滑な軌道である。一例では、モデル予測制御(MPC)法を使用して名目軌道を決定することができる。
ステップ2304において、処理2300はハザードオブジェクトを検出する。ハザードオブジェクトは現在、車両の経路に侵入していないが、将来のある時点で侵入する可能性が高い。ハザードオブジェクトが将来のある時点で侵入する可能性があることは、そのオブジェクトの将来の挙動に対する異なる可能性のある仮説(意図)を維持することに基づいて決定され得る。いくつかの仮説は、HD地図データに基づいて決定され得る道路構成に基づいてもよい。例えば、HD地図データは、道路にもうすぐ分岐点があること、右車線がAVの車線に合流していること等を示してもよい。いくつかの仮説は、社会的行動及び道路行動に基づき得る。例えば、走行中の車が道路脇に止まった場合、人が道路から出てくる可能性がある。例えば、歩行者は、たとえ違法に移動しているとしても、通行権を与えられるべきである。
ステップ2306において、処理2300は、ハザードオブジェクトに対するハザードゾーンを決定(例えば、計算等)する。ハザードゾーンは、式(1)を使用して決定され得る。そのため、ハザードゾーンを決定することは、ハザードオブジェクトによるAVの経路への最大横方向侵入及びハザードオブジェクトがAVの経路に入る速度に基づいてハザードゾーンを決定することを含み得る。ステップ2308において、処理2300は、ハザードゾーンへのAVの到達時間を決定する。ステップ2310において、処理2300は、AVの偶発事象軌道を決定する。偶発事象軌道は、横方向の偶発事象又は縦方向の偶発事象の少なくとも1つを含み得る。偶発事象軌道は、ハザードゾーンへのAVの到達時間を使用して決定され得る。
ステップ2312において、処理2300は、偶発事象軌道に従ってAVを制御する。ステップ2314において、処理2300は、ハザードオブジェクトがAVの経路に実際に侵入することに応答して、ハザードオブジェクトを回避するための操作を実行するようにAVを制御する。一例では、図4の反応的軌道制御モジュール410等の反応的軌道制御モジュールは、ハザードが現実化したことを検出し、予測計画からの安全偏差を計算し、AVに操縦(すなわち、緊急操作)を実行させることができる。
一例では、処理2300は、偶発事象軌道が妨害されていないと決定することに応答して、偶発事象軌道に従ってAVを動作させること、及び偶発事象軌道が妨害されていると決定することに応答して、AVを制御するための縦方向の偶発事象を決定することをさらに含み得る。
一例では、横方向の偶発事象は、AVの操縦性パラメータを使用して決定され得る。AVの操縦性パラメータは、AVの質量又はAVの荷重の少なくとも1つを含み得る。このような操縦性パラメータは、偶発事象対応計画を決定するためのMPC法における制約として使用され得る。一例では、横方向の偶発事象は、道路トポロジー又は道路条件の少なくとも1つ等の追加制約を使用してさらに決定され得る。
いくつかの例では、ハザードオブジェクトが実際にAVの経路に侵入する可能性に基づいて、偶発事象(例えば、横方向の偶発事象又は縦方向の偶発事象)がさらに決定され得る。すなわち、偶発事象の量(例、範囲)は、実際に実現するハザードの可能性に基づき得る。ハザードが実際に実現する可能性は、AVの乗り心地に対する偶発事象対応計画の効果を緩和するために使用できる。
偶発事象対応計画の効果を緩和することは、偶発事象対応操作の範囲を能動的に選択することを意味する。例えば、横方向の偶発事象の場合には、前に移動していた車が駐車したばかりである場合、運転者がドアを開く可能性が非常に高くなる。そのため、横方向の偶発事象は、ハザードが後に現実化した場合に緊急操作が全く必要とされない(又は小さな緊急操作が必要とされる)ように、AVが十分に事前に移動できるようなものであり得る。このような横方向の偶発事象は、検出された全ての駐車車両に対して許容される可能性は低い。
繰り返しになるが、ハザードの実現の可能性が高い場合、たとえハザードが最終的に現実化しなくても、偶発事象対応計画が乗車品質に及ぼす影響を軽減するために、縦方向の危険性は(それが必要な場合)名目速度からの大きな速度偏差となってもよく、横方向の偶発事象は(それが必要な場合)、名目経路から大きな偏差となり得る。一方、ハザードの実現の可能性が低い場合には、危険性が現実化する前であっても、縦方向の偶発事象は(それが必要とされる場合)、名目速度からのわずかな速度偏差となってもよく、横方向の偶発事象は(それが必要とされる場合)、名目経路からのわずかな偏差となり得る。
図24は、遮蔽されたオブジェクトを含むシーン2400の例である。シーン2400は、AV2402が曲がった道路2404上を走行していることを示す。道路2404はハザード2406(又は同等に、ハザードを含む可能性のある場所)を含む。ハザード2406は、図10のHD地図データ510等のHD地図データを使用して識別され得る。ハザードオブジェクト2406は、例えば、横断歩道、停止標識、交通信号、又はAV2402がハザードオブジェクト2406との衝突又はハザード2406におけるオブジェクトとの衝突を回避するための操作を行うことを必要とする何らかの種類のハザードオブジェクトであり得る。シーン2400では、ハザード2406は横断歩道として示されている。
AV2402のセンサの視界が木2405によって妨げられるので、AV2402のセンサは、人2408が横断歩道にいるかどうかを見る(すなわち、知覚する)ことができない。そのため、AVは、人2408の存在を早期に検出することができない。
ナイーブアプローチ2420では、(例えば、遮蔽のために)早期検出が不可能であるとAV2402の軌道プランナが決定すると、軌道プランナは、(遅い)検出が通常の減速に適応され得るようにAV2402を前もって減速させ得る。すなわち、AV2402を制限速度2426で動作させる代わりに、時間2422でAV2402が遮蔽物(例えば、木2405)を超えて、時間2430で人物2408を検出したときに、軌道プランナは、例えば、AV2402がハザードの前の時間2424で停止することができるように、速度プロファイル2432に従ってAVを減速(通常の割合で)することができるように、AV2402を低速2428で動作させ得る。
しかしながら、通常の減速度のみを有する速度計画は、AV2402の乗員及び/又は他の道路ユーザ(AV2402に続く他の車両等)にとっては保守的に感じられる場合がある。AVを高速化するために、軌道プランナは、起こりそうもない妨害物に対してハード減速を計画することができる。積極的なアプローチ2440では、AV2402を制限速度2426で動作させ得る。しかしながら、時間2430で人2408が検出された場合、積極的な減速速度計画2442は、時間2424でハザードオブジェクトに衝突する前にAV2402を停止させることができる。積極的な減速速度計画は、AV及び/又は他の道路ユーザの乗員にとって望ましくない場合もある。
図25は、本開示の実装による潜在的に遮蔽されたオブジェクトのための偶発事象計画の例である。図24のシーン2400及びその要素は、便宜上、図25に含まれている。偶発事象アプローチ2520は、偶発事象対応計画2526を示す。偶発事象対応計画2526は、道路の遮蔽部分でハザードが現実化する可能性について計画(例えば、考慮)する。偶発事象対応計画2526では、時間2530においてハザードが現実化された場合(例えば、人2408が横断歩道で最終的に検出されるか、又はAV2402が遮蔽部2522を通過した後で他の何らかの遮蔽物が検出される場合)、AV2402がハザードに衝突しないように緊急減速操作2528を実行できるように、AV2402を十分に減速させるようになっている。例えば、ハザードは、制限速度で移動していない交通物であってもよい。そのため、緊急減速操作2528は、時間2524においてオブジェクトを避けるために、縦方向のハザードの速度VLまでAV2402を減速させることができるようなものであってもよい。
図26は、本開示の実装による自律走行車(AV)のための偶発事象対応計画のための処理2600の流れ図である。ここでも、本明細書で使用される自律走行は、高度な運転者支援システム(ADAS)を有する車両を含むと理解されるべきである。処理2600の少なくともいくつかのステップは、図4の軌道プランナ408、図5の軌道プランナ500、又は図22の計画モジュール2206等の軌道プランナによって実行され得る。処理2600は、図1のメモリ122等のメモリに実行可能命令として記憶され得る。実行可能命令は、図1のプロセッサ120等のプロセッサによって実行され得る。処理2600は、図1の車両100等の装置(例えば、自律走行車)によって実行することができる。
処理2600は、オブジェクトがAVの軌道に沿って隠された位置にある可能性に基づいて、AVの偶発事象速度計画を生成することができる。偶発事象速度計画は、図25の偶発事象対応計画2526に関して説明したものであってもよい。すなわち、危険速度計画は、オブジェクトが実際に遮蔽された位置にある場合、遮蔽されたオブジェクトとの衝突を避けるようにAVを動作させることができるようなものである。円滑な減速計画を決定するナイーブ速度計画(図24のナイーブアプローチ2420に関して説明したもの)と比較して、オブジェクトとの衝突を回避するために緊急減速操作が依然として必要であってもよい。しかしながら、緊急減速操作は、図24の積極的なアプローチ2440に関して説明したような積極的な速度計画の下で要求され得るものほど劇的ではない。オブジェクトが遮蔽された位置に存在する場合、積極的なアプローチは、実際にはAVがオブジェクトとの衝突を回避する結果にならない可能性があることに留意されたい。
ステップ2602において、処理2600は、図22の軌道プランナ2222に関して説明したように、AVのための軌道及び所望の速度計画を決定(例えば、計算等)する。
ステップ2604において、処理2600は、軌道に沿って隠された位置にあるオブジェクトの可能性を識別する。一例では、軌道に沿って隠された位置は、地図データに基づいて識別され得る。地図データは、図5の地図データ510であり得る。一例では、隠された位置は横断歩道であってもよい。一例では、地図データを使用して、隠蔽された位置における交通標識(例えば、停止灯、停止標識、譲れ標識等)を識別することに基づいて、隠蔽された位置が識別され得る。一例では、隠蔽された位置は、隠蔽された位置における履歴交通情報に基づいて決定され得る。例えば、履歴交通情報に基づいて、隠された位置に交通渋滞が存在し得ると決定され得る。
妨害物の(すなわち、オブジェクトが隠された位置にある)可能性は、現在の時刻(すなわち、AVが隠された位置に到達すると予想される時刻)に依存し得る。例えば、隠された位置が学校の交差点を含んでおり、現在の時間が平日の8:00AMである場合、子どもが横断している可能性が(非常に)高く、他方で、週末又は休日では可能性は0に非常に近い。例えば、隠された位置が交通標識を含んでおり、時刻が午後4:00-6:00(すなわち、ラッシュアワー)である場合、隠された位置に交通渋滞が存在する可能性が非常に高く、他方で、交通渋滞の可能性は、10:00AMにはかなり低い。可能性は、序数値(例えば、低、中、高)又はスライドスケール値(例えば、0から100)であってもよく、時刻、横断歩道が存在するかどうか、交通標識が存在するかどうか、より多くの要因、より少ない要因、これらの組み合わせ等のいくつかの要因に基づいて計算され得る。
ステップ2606において、処理2600は、軌道に沿って最も遠い可視位置を識別する。最も遠い可視位置は、AVセンサから遮られている現在の車線に沿った第1の位置を推測するために使用され得る。最も遠い可視位置は、オブジェクトが最も遠い可視位置にある場合に、AVがオブジェクトを検出することができるような、軌道に沿った位置である。ある位置においてオブジェクトを検出する能力は、走行可能領域の検出、センサ限界(例えば、センサの範囲、センサの解像度等)、遮蔽物(例えば、樹木、茂み、他の道路ユーザ等)、気象条件(例えば、雪、霧、雨等)、検出範囲を制限する他の要因、又はそれらの組み合わせに基づいて計算され得る。図25を参照すると、最も遠い可視位置は位置2502であり得る。
ステップ2608において、処理2600は、適切な最大減速度を決定(例えば、計算等)する。オブジェクトが隠された位置で検出された場合には、適切な最大減速度が使用されることになる。
ステップ2610において、処理2600は、AVの目標減速度を決定(例えば、計算、選択等)する。目標減速度は、最も遠い可視位置から遮蔽された位置まで目標減速度に従ってAVを動作させることにより、AVがオブジェクトに衝突することを防止するようなものである。すなわち、AVの目標減速度は、目標減速度に従ってAVを動作させることにより、オブジェクトが隠された位置で検出された場合に、AVが適切な最大減速度を使用して時間内に停止(又は追従)可能であることを保証するものである。例えば、AVがオブジェクトと衝突しないようにすることは、AVをオブジェクトの前で停止させることを意味し得る。別の例では、AVがオブジェクトと衝突しないようにすることは、AVに対する速度を追従速度(すなわち、オブジェクトの縦方向速度VL)に設定することを意味し得る。
一例では、AVの目標減速度は、オブジェクトが隠された位置にある可能性、名目減速率、又はAVの最大減速率に少なくとも部分的に基づいて決定され得る。
例えば、可能性が0%に近い場合(例えば、日曜日の2:00AMに隠された交通渋滞があるかどうかを決定する場合)、目標減速度は、(図24の積極的アプローチ2440に関して説明したように)積極的な速度計画に従って、目標減速度と同じか又は近い値であってもよい。例えば、可能性が100%に近い場合(例えば、木曜日の4:30PMに隠された交通渋滞があるかどうかを決定する場合)、目標減速度は、(図24のナイーブアプローチ2420に関して説明したように)ナイーブ速度計画に従って、目標減速度と同じか又は近い値であってもよい。
一例では、AVの最大減速率は、AVのパラメータ、道路地形、又は道路条件の少なくとも1つに基づいて決定され得る。
ステップ2612において、処理2600は、オブジェクトが隠された位置にあると決定することに応答して、AVの目標減速度に従ってAVを動作させる。
一例では、処理2600は、オブジェクトが隠された位置にないと決定することに応答して(例えば、隠された位置が可視になったとき)、所望の速度プロファイルに従ってAVを動作させることを含み得る。また、処理2600は、最も遠い可視位置から隠された位置までの目標減速に従ってAVを動作させることができるように、現在位置から最も遠い可視位置までの最大速度計画に従ってAVを動作させることを含み得る。最大速度は、AVの反応時間及び目標減速度に基づいて計算され得る。反応時間は、オブジェクトがAVセンサの視野に入ってから、更新された減速値によってAVが減速を開始するまでの移動距離を補償する時間である。
本開示による実施の別の態様は、潜在的な遮蔽されたハザード及びハザードまでの移動距離を推定するための処理である。この処理は、遮蔽されたオブジェクトが存在し得る場所であって、遮蔽されたオブジェクトが隠された位置であり得ることを推定すること、道路に沿って隠された位置までの距離を計算すること、オブジェクトが隠された位置にある可能性を推定すること、オブジェクトが実際に隠された位置にある場合に使用されるAVの最大減速度を計算すること、遮蔽されたオブジェクトの存在を確認する前に追従するべき目標減速度を計算すること、オブジェクトが検出された場合に、AVが時間内に停止するために最大減速に追従することができることを保証する結果として生じる偶発事象速度計画を計算すること、及び最高速度に従ってAVを動作させることを含み得る。
許容される停止距離の推定は、AVの経路上の最も遠い可視位置を計算すること、及び経路に沿って最も遠い可視位置までの距離を計算することを含み得る。
隠された位置におけるオブジェクトの可能性を推定することは、隠された位置に横断歩道があるかどうかを決定すること、(隠された位置における)交通標識へのAVの近接性を決定すること、及び/又は時刻に基づき得る。
最大減速度を計算することは、操縦性及び/又はAVが停止又は減速される能力に影響を与えるパラメータに基づき得る。AVの操縦性に影響を与えるパラメータは、AVのパラメータ(質量、荷重等)、道路の地形(坂道、斜面等があるかどうか)、及び道路の条件(例えば、砂利、雪、雨等)を含み得る。
目標減速度を計算することは、オブジェクトの可能性、AVの名目加速率、及び/又は最大減速限界に基づき得る。最大速度を計算することは、AVの反応時間及び/又は目標減速度に基づいてもよい。
本明細書で使用される場合、「運転者」又は「オペレータ」という用語は、同じ意味で使用されてもよい。本明細書で使用される場合、「ブレーキ」又は「減速」という用語は、同じ意味で使用されてもよい。本明細書で使用される場合、「コンピュータ」又は「コンピュータ装置」という用語は、本明細書で開示の任意の方法を実行し得る任意のユニット又はユニットの組み合わせ、又はその任意の部分若しくは複数の部分を含む。
本明細書で使用される場合、「命令」という用語は、本明細書に開示の任意の方法を実行するための指示若しくは表現、又はその任意の部分若しくは複数の部分を含んでもよく、ハードウェア、ソフトウェア又はこれらの任意の組み合わせで実現されてもよい。例えば、命令は、本明細書に記載の各方法、アルゴリズム、態様又はこれらの組み合わせのいずれかを行うためにプロセッサによって実行され得るメモリに記憶されたコンピュータプログラム等の情報として実装されてもよい。いくつかの実装形態では、命令又はその一部は、本明細書に記載の任意の方法、アルゴリズム、態様又はその組み合わせを行うための専用ハードウェアを含み得る専用プロセッサ又は回路として実装されてもよい。いくつかの実装形態では、命令の部分は、直接的に又はローカルエリアネットワーク、ワイドエリアネットワーク、インターネット又はこれらの組み合わせ等のネットワークを介して通信し得る複数の装置又は単一の装置上の複数のプロセッサに分散されてもよい。
本明細書で使用される場合、「例示」、「実施形態」、「実装」、「態様」、「特徴」又は「要素」という用語は、用例、例示又は実例としての役割を果たすことを示している。特に明示されない限り、任意の例示、実施形態、実装、態様、特徴又は要素が、互いの例示、実施形態、実装、態様、特徴又は要素から独立しており、任意の他の例示、実施形態、実装、態様、特徴又は要素と組み合わせて使用されてもよい。
本明細書で使用される場合、「決定」及び「識別」又はこれらの任意の変形の用語は、図示の及び本明細書に記載の1つ以上の装置を使用するいかなるやり方で選択、確認、計算、検索、受信、決定、確立、取得、又は他のやり方で識別又は決定することを含んでいる。
本明細書で使用される場合、「又は」という用語は、排他的な「又は」ではなく包含的な「又は」を意味することが意図されている。すなわち、他に特に定めがない限り、又は特にコンテキストによって明示されない限り、「XがA又はBを含む」は、任意の当然の包含的なそれの並べ替えを示すことが意図されている。XがAを含む、XがBを含む、又はXがA及びBの両方を含む場合、「XがA又はBを含む」は、上記の例示のいずれかによって満たされる。さらに、本願及び添付の請求項の中で使用される“a”及び“an”という冠詞は、一般に、単数形を指していることがコンテキストから明確であるか又は他に特段の定めがない限り、「1つ以上の」を意味すると解釈されるべきである。
さらに、説明の簡潔のため、本明細書の図面及び説明は一連の動作又は段階又はシーケンスを含み得るが、本明細書に開示の方法の要素は、様々な順番で又は同時に起こってもよい。さらに、本明細書に開示の方法の要素は、本明細書に明示的に提示及び開示されていない他の要素と共に起こってもよい。さらに、本明細書に記載の方法の全ての要素が、本開示による方法を実装することを要求されるとは限らない。態様、特徴及び要素は特定の組み合わせで本明細書に記載されているが、各態様、特徴又は要素は、他の態様、特徴及び/又は要素と共に又はそれらなしで独立して又は様々な組み合わせで使用されてもよい。
本開示の技術は、特定の実施形態に関連して説明されてきたが、本開示の技術は、開示された実施形態に限定されるものではなく、逆に、添付の特許請求の範囲に含まれる様々な変更及び同等の構成を包含することを意図しており、その範囲は、全てのそのような変更及び同等の構成を包含するように、法律の下で許容される最も広い解釈に一致されるものである。