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

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

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

特許7588639妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体
<>
  • 特許-妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体 図1
  • 特許-妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体 図2
  • 特許-妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体 図3
  • 特許-妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体 図4
  • 特許-妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体 図5
  • 特許-妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体 図6
  • 特許-妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-14
(45)【発行日】2024-11-22
(54)【発明の名称】妨害物を回避するための車両、方法、および非一時的コンピュータ可読媒体
(51)【国際特許分類】
   B60W 30/095 20120101AFI20241115BHJP
   B60W 40/04 20060101ALI20241115BHJP
   G08G 1/16 20060101ALI20241115BHJP
【FI】
B60W30/095
B60W40/04
G08G1/16 C
【請求項の数】 14
(21)【出願番号】P 2022517417
(86)(22)【出願日】2020-09-21
(65)【公表番号】
(43)【公表日】2022-12-01
(86)【国際出願番号】 US2020051797
(87)【国際公開番号】W WO2021061568
(87)【国際公開日】2021-04-01
【審査請求日】2023-09-07
(31)【優先権主張番号】16/586,604
(32)【優先日】2019-09-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アンドリュー イー.ベラー
【審査官】平井 功
(56)【参考文献】
【文献】米国特許出願公開第2015/0210311(US,A1)
【文献】米国特許出願公開第2018/0326982(US,A1)
【文献】特開2018-176879(JP,A)
【文献】米国特許出願公開第2019/0072965(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
B60W 30/00-60/00
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
センサーと、
1つまたは複数のプロセッサと、
プロセッサ実行可能命令を格納するメモリと
を備えた車両であって、
前記プロセッサ実行可能命令は、前記1つまたは複数のプロセッサによって実行されると、前記車両に、
前記センサーから環境のセンサーデータを受信することと、
前記センサーデータに少なくとも部分的に基づいて前記環境内の場所のオブジェクトを識別することであって、前記オブジェクトは、前記車両に関連付けられる第1の車両軌道を少なくとも部分的にブロックしている、ことと、
前記オブジェクトに関連付けられる予測されるオブジェクト軌道を判定することと、
前記予測されるオブジェクト軌道が前記第1の車両軌道の継続的なブロックを示していることを判定することと、
前記予測されるオブジェクト軌道に関連付けられる信頼度を判定することと、
車線の端を表す車線マーカーと前記オブジェクトに関連付けられる前記場所との間の第1の距離を判定することと、
前記車両の幅をマイナスした前記第1の距離を含む第2の距離を判定することと、
前記第2の距離に関連付けられる車両速度を判定することと、
前記予測されるオブジェクト軌道および前記信頼度に少なくとも部分的に基づいて第2の車両軌道を判定することであって、前記第2の車両軌道は、前記第2の距離で、および前記車両速度で前記オブジェクトの周囲をナビゲートする前記車両に関連付けられる、ことと、
前記第2の車両軌道にしたがって前記車両を制御することと
を実行させる、車両。
【請求項2】
前記プロセッサ実行可能命令は、前記車両に、前記予測されるオブジェクト軌道が、少なくとも所定の閾値時間の間前記第1の車両軌道の継続的なブロックを示していることを判定することをさらに実行させる、請求項1の車両。
【請求項3】
前記プロセッサ実行可能命令は、前記車両に、
前記オブジェクトに関連付けられる分類を判定することと、
前記分類に少なくとも部分的に基づいて、前記車両と前記オブジェクトに関連付けられる場所との間の閾値距離を判定することと
をさらに実行させ、
前記第2の車両軌道は、前記閾値距離に少なくとも部分的に基づく、請求項1または2の車両。
【請求項4】
前記プロセッサ実行可能命令は、前記車両に、
前記オブジェクトに関連付けられる方向に音声信号または視覚信号の少なくとも1つを放出することと、
前記オブジェクトの動きが前記予測されるオブジェクト軌道に従っていることを判定することと
をさらに実行させ、
前記第2の車両軌道を判定することは、前記オブジェクトの動きが前記予測されるオブジェクト軌道に従っていることを判定することに少なくとも部分的に基づく、請求項1乃至3のいずれか一項に記載の車両。
【請求項5】
前記予測されるオブジェクト軌道は、
機械学習アルゴリズム、
前記環境のトップダウン表現、
離散化された確率分布、
時相論理式、または
ツリー検索方法
のうちの少なくとも1つに少なくとも部分的に基づく、請求項1乃至4のいずれか一項に記載の車両。
【請求項6】
車両コンピューティングシステムによって実行される方法であって、
センサーデータに少なくとも部分的に基づいて環境内の場所のオブジェクトを識別することと、
車両軌道を走行している車両が前記場所を少なくとも部分的に通過するという判定に少なくとも部分的に基づいて、前記場所が前記車両軌道に関連付けられていることを判定することと、
前記場所が前記車両軌道に関連付けられていることに少なくとも部分的に基づいて、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックしていることを判定することと、
前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性を判定することと、
前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性に少なくとも部分的に基づいて前記車両を制御することであって、前記車両を制御することは、前記車両が取るべきアクションを判定することを備え、前記アクションは、
前記車両軌道における停止位置を維持すること、または
前記オブジェクトの周囲の第2の車両軌道を判定すること、
の少なくとも1つを備え、
前記アクションは、
前記オブジェクトと前記車両との間の相対的な状態に少なくとも部分的に基づいている、前記アクションに関連付けられる安全コスト、
前記オブジェクトと前記車両との間の前記相対的な状態に少なくとも部分的に基づいている、前記アクションに関連付けられる快適コスト、
前記アクションに関連付けられる車両遅延に少なくとも部分的に基づいている、前記アクションに関連付けられる進行コスト、または、
前記環境に関連付けられる1つまたは複数の規制に少なくとも部分的に基づいている、前記アクションに関連付けられる動作ルールコスト、
の少なくとも1つに少なくとも部分的に基づいて決定される、ことと、
を備える方法。
【請求項7】
前記車両軌道は、第1の車両軌道であり、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックしていることは、前記オブジェクトが前記第1の車両軌道に沿った前記車両の進行を妨げていることを判定することに少なくとも部分的に基づいており、前記方法は、
前記オブジェクトの周囲をナビゲートする閾値距離を判定することと、
前記閾値距離に少なくとも部分的に基づいて第2の車両軌道を判定することと
を備え、
前記車両を制御することは、前記第2の車両軌道に少なくとも部分的に基づいて前記車両に前記環境を横断させる、請求項6の方法。
【請求項8】
前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性を判定することは、
オブジェクト軌道を判定することと、
前記オブジェクト軌道に少なくとも部分的に基づいて、前記オブジェクトが、前記車両軌道に関連付けられる前記場所に実質的に留まり、および少なくとも閾値時間の間前記車両軌道を走行する前記車両の進行を妨げ続けることを判定することと
を備える、請求項6または7の方法。
【請求項9】
前記車両を制御することは、第2の車両軌道に従って、前記車両に前記オブジェクトを迂回させることを備え、前記方法は、
前記センサーデータに少なくとも部分的に基づいて第2のオブジェクトを識別することと、
前記第2のオブジェクトに関連付けられる第2のオブジェクト軌道を判定することと、
前記第2のオブジェクト軌道と前記第2の車両軌道との間の交差を判定することと、
前記交差に少なくとも部分的に基づいて前記車両を制御することと
をさらに備える、請求項6乃至8のいずれか一項に記載の方法。
【請求項10】
前記オブジェクトの場所は、前記オブジェクトの第1の場所であり、前記方法は、
前記オブジェクトの第2の場所を判定することと、
前記オブジェクトの第2の場所が前記車両軌道を走行する前記車両の進行を妨げないと判定することと、
前記オブジェクトの第2の場所が前記車両の進行を妨げていないことに少なくとも部分的に基づいて、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックしていないと判定することと、
前記車両軌道に従って前記車両を制御することと
をさらに備える、請求項6乃至9のいずれか一項に記載の方法。
【請求項11】
前記オブジェクトが前記車両軌道をブロックし続ける可能性は、
前記オブジェクトの分類、
前記オブジェクトの位置、
前記環境内の前記オブジェクトの場所、
前記オブジェクトのサイズ、
前記オブジェクトに関連付けられる安定性のレベル、
前記オブジェクトの速度、または
前記オブジェクトの速度変化
のうちの少なくとも1つに少なくとも部分的に基づく、請求項6乃至10のいずれか一項に記載の方法。
【請求項12】
マイクを介して音声信号またはカメラを介して視覚信号の少なくとも1つを受信することと、
前記音声信号または前記視覚信号の少なくとも1つは、前記オブジェクトが前記車両軌道から移動しようとしないというインジケーションを備えることを判定することと
を備え、
前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性は、前記インジケーションに少なくとも部分的に基づく、請求項6乃至11のいずれか一項に記載の方法。
【請求項13】
前記オブジェクトの場所に少なくとも部分的に基づく方向に音声信号または視覚信号の少なくとも1つを放出することと、
前記オブジェクトの場所が実質的に同じままであるという判定に少なくとも部分的に基づいて、前記場所の周囲で前記車両を制御すること、または
前記車両軌道を少なくとも部分的にブロックしない第2の場所への前記オブジェクトの場所の変更を判定することに少なくとも部分的に基づいて前記車両軌道に従って前記車両を制御すること
の少なくとも1つを実行することと
さらに備える、請求項6乃至12のいずれか一項に記載の方法。
【請求項14】
実行されると、請求項6乃至13のいずれか一項に記載の方法を1つまたは複数のプロセッサに実行させる命令を格納する非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願に対する相互参照
このPCT国際特許出願は、2019年9月27日に出願された「BLOCKING OBJECT AVOIDANCE」と題された米国特許出願第16/586,604号の継続出願であり、その優先権の利益を主張しており、その全体の内容は参照によって本願に組み込まれる。
【背景技術】
【0002】
自律車両および半自律車両におけるプランニングシステムは、動作環境に取り込まれる車両に対して実行するアクションを決定する。車両に対するアクションは、環境において存在するオブジェクトを回避することに部分的に基づいて決定されることがある。例えば、車両の進路を遮っている歩行者のために停止する、または進路で動作している自転車運転者の後ろで減速するなどのアクションを生成することができる。従来のプランニングシステムは、歩行者が進路から完全に外れるまで停止したままにする、または自転車の後ろに留まり続けるなど、アクションが最も保守的なアクションであるという決定に基づいて、車両のアクションを選択する場合がある。しかし、そのような従来のプランニングシステムは、実際には車両が環境内で安全に動作することを妨げ(そのような動作は二次衝突を引き起こす可能性があるため)、車両の進歩を大幅に妨げる可能性がある。そのため、従来のプランニングシステムは、必ずしも運用上の安全性を向上させることなく、車両の進歩に悪影響を与える可能性がある。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願第16/151,607号
【文献】米国特許出願第16/504,147号
【文献】米国特許出願第15/807,521号
【文献】米国特許出願第16/539,928号
【文献】米国特許出願第15/982,694号
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図面を参照して説明される。図面において、参照番号の左端の数字は、その参照番号が最初に出現する図面を識別する。異なる図面における同一の参照番号の使用は、類似または同一の構成要素または特徴を示す。
図1図1は、例示的なオブジェクト回避システムが、環境内のブロックオブジェクトを迂回するために自律型車両によって使用され得る環境の図解である。
図2図2は、動的なブロックオブジェクトの周りで車両をナビゲートすることを決定するためのプロセスの図である。
図3図3は、動作車線に留まりながら、ブロックオブジェクトの周りで車両をナビゲートすることを決定するためのプロセスの図である。
図4図4は、本明細書で説明される技術を実装するための例示的なシステムのブロック図である。
図5図5は、環境内のオブジェクトの周りでナビゲートすることを決定するための例示的なプロセスを示す。
図6図6は、アクションに関連付けられるコストに少なくとも部分的に基づいて、アクションに従ってブロックオブジェクトの周りで車両を制御するための例示的なプロセスを示す。
図7図7は、ブロックオブジェクトの周りで車両を制御し、ブロックオブジェクトの周りでナビゲートしている間に検出された第2のオブジェクトに道を譲るプロセスの例を示している。
【発明を実施するための形態】
【0005】
本開示は、車両の経路(例えば、軌道)を妨害する検出オブジェクトに基づいて、車両がとるアクション(例えば、移動する経路)を動的に決定するための技術を対象とする。ある例では、車両コンピューティングシステムは、ある位置でオブジェクトを検出し、その位置が少なくとも部分的に車両の経路内にあると判断することができる。車両コンピューティングシステムは、オブジェクトが経路をブロックし続ける可能性に基づいて、オブジェクトが経路から移動するのを待つか、または車両の軌道を変更してオブジェクトの周りをナビゲートするかを決定することができる。
【0006】
車両は、環境における1つまたは複数のオブジェクトを検出するように構成される車両コンピューティングシステムを有する自律型の車両または半自律型の車両を含むことができる。オブジェクトは、静的オブジェクト(例えば、建物、橋、標識など)、および他の車両(例えば、車、トラック、バイク、モペッドなど)、歩行者、自転車運転者などの動的オブジェクトを含み得る。それとは反対に示されない限り、本明細書における「オブジェクト」という用語は、動的オブジェクト(例えば、一瞬停止してはいるが、移動しているおよび/または移動することが可能であるオブジェクト)を示す。ある例では、オブジェクトは、車両のセンサー(例えば、カメラ、モーションディテクター、ライダー、レーダー、飛行時間など、あるいはそれらの組み合わせ)からのセンサーデータに基づいて検出されてよい。ある例では、オブジェクトは、例えば、別の車両に関連付けられるセンサーまたは複数の車両とデータを共有するように構成される環境において取り付けられるセンサーのようなリモートセンサーから受信したセンサーデータに基づいて検出されてよい。ある例では、車両コンピューティングシステムは、検出されたオブジェクトを意味論的に分類するように構成されてよい。分類は、別の車両(例えば、自動車、ピックアップトラック、セミトレーラートラック、トラクター、バス、電車など)、歩行者、自転車運転者、乗馬者などを含んでよい。例えば、車両コンピューティングシステムは、2つのオブジェクトを検出して、第1のオブジェクトを自転車運転者として分類し、第2のオブジェクトを歩行者として分類してもよい。
【0007】
様々な例において、車両コンピューティングシステムは、環境内のある位置にあるオブジェクトを検出することができる。車両コンピューティングシステムは、オブジェクトが環境を通過する車両に関連する経路をブロックしていると判定することができる。ある例では、オブジェクトが経路を少なくとも部分的にブロックしているという判定は、その位置が、車両が移動することを計画している運転可能な表面(drivable surface)内にある(例えば、車両の軌道に関連している)という決定に基づく。
【0008】
ある例では、車両コンピューティングシステムは、車両軌道に沿って移動する車両が閾値距離(例えば、最小安全距離)未満でオブジェクトの傍を通過するという決定に基づいて、オブジェクトが経路を妨害していると判定することができる。ある例では、閾値距離は、オブジェクトに関連する分類に基づくことができる。例えば、歩行者から最低4フィート(または他の距離)を維持するようにプログラムされた車両コンピューティングシステムは、自転車レーンに立っている歩行者を検出する場合がある。車両コンピューティングシステムは、車両の軌道に沿って走行する車両が、歩行者から3フィート、すなわち、最小(例えば、閾値)距離よりも短い距離を通過するであろうと判定することができる。車両コンピューティングシステムは、歩行者がブロックオブジェクト(blocking object)であると判定する場合がある。
【0009】
様々な例において、車両コンピューティングシステムは、オブジェクトが車両の経路を妨害し続ける可能性を判定することができる。ある例では、その可能性は、オブジェクトの位置、オブジェクトに関連する位置、オブジェクトのサイズ、安定性のレベル(例えば、動きの量など)、オブジェクトの速度、オブジェクトの速度変化(例えば、速度共分散)、検出されたオブジェクトのアクションなどに基づいて決定され得る。
【0010】
ある例では、可能性は、予測されたオブジェクトの軌道(例えば、1つまたは複数のオブジェクトの軌道)および/または軌道に関連する信頼度に基づき得る。ある例では、例えば、それらの全内容が参照により本明細書に組み込まれる、2018年10月4日に出願された「Trajectory Prediction on Top-Down Scenes」と題された特許文献1、および2019年7月5日に出願された「Prediction on Top-Down Scenes based on Action Data」と題された特許文献2に記載される技術を利用することによって、予測されたオブジェクトの軌道は、環境のトップダウン表現に基づくことができる。ある例では、予測された軌道は、その全内容が参照により本明細書に組み込まれる、2017年11月8日に出願された「Probabilistic Heat Maps for Behavior Prediction」と題された特許文献3に記載されているようなオブジェクトの動作を予測するための確率的ヒートマップ(例えば、離散化された確率分布)、木探索法(tree search method)、および/または時相論理式(temporal logic formulae)を用いて決定されてよい。様々な例において、予測されるオブジェクトの軌道は、木探索法、時相論理式、および/または機械学習技術を利用して決定されてよい。様々な例において、信頼度は、車両コンピューティングシステムが予測されたオブジェクトの軌道の精度において持つ可能性がある確実性のレベルを表す場合がある。
【0011】
様々な例において、車両コンピューティングシステムは、ブロックオブジェクトに向けて音声および/または視覚信号を発するように構成され得る。そのような例では、音声および/または視覚信号は、車両のブロックオブジェクトにアラートを出し、車両の経路からのオブジェクトの移動を促進するように設計され得る(例えば、周波数、音量など)。様々な例において、オブジェクトが車両の経路から外れる可能性は、車両から放出された信号に対する検出された反応に基づき得る。そのような例では、車両コンピューティングシステムは、センサーから収集されたセンサーデータに基づいて、オブジェクトが車両の経路から外れる(例えば、オブジェクトの軌道を変更する)可能性があるかどうかを判定することができる。例えば、車両コンピューティングシステムは、経路を妨害している歩行者が、放出された信号に応答して位置を調整することを判定することができる。車両コンピューティングシステムは、調整された位置に基づいてオブジェクトが経路をブロックし続ける可能性が低減し得ること、および車両は歩行者が経路から外れるのを待つべきであると判定することができる。
【0012】
ある例では、車両コンピューティングシステムは、オブジェクトが車両の経路から外れる可能性が閾値可能性(例えば、50%、60%など)以上であると判定することができる。ある例では、可能性が閾値を超えているという判定に基づいて、車両コンピューティングシステムは、車両の前進速度を遅くして、オブジェクトが車両の経路から外れる時間を提供することを決定することができる。ある例では、可能性が閾値を超えているという判定に基づいて、車両コンピューティングシステムは、車両をオブジェクトの速度と実質的に同様の速度に減速させ、オブジェクトが車両の経路から完全に離れるのを待つことができる。オブジェクトが動的である例では、車両は、オブジェクトに関連付けられる速度に実質的に一致し、オブジェクトの後ろで安全な距離を維持することができる。オブジェクトが静止している例では、車両コンピューティングシステムは、車両を停止させ、および/または停止位置を維持させることができる。
【0013】
様々な例において、車両コンピューティングシステムは、オブジェクトが車両の経路から外れる可能性が閾値以下であると決定することができ、車両コンピューティングシステムは、オブジェクトの周りをナビゲートするために車両軌道を修正することを決定することができる。ある例では、オブジェクトの周りをナビゲートするために車両軌道を修正する決定は、可能性が第2の(例えば、最小)閾値(例えば、20%、30%など)を下回ると決定することに基づくことができる。様々な例において、車両軌道の変更は、車線内の位置の変更、車線の変更、車両の速度の変更などを含み得る。
【0014】
様々な例において、車両コンピューティングシステムは、その全内容が参照により本明細書に組み込まれる、「Cost-Based Path Determination」と題された、2019年8月13日に出願された特許文献4に記載されているものなど、各アクションに関連するコストを決定することができる。コストは、安全コスト(例えば、車両および/またはオブジェクトの安全性、車両とオブジェクト間の衝突回避)、快適コスト(例えば、車両とオブジェクト間の最小距離未満での大きな加速度にペナルティを科すことによって、突然の動きをなくす)、進行コスト(例えば、目的地への移動)、動作ルールコスト(例えば、道路のルール、法律、規則、規制など)などのうちの1つまたは複数に基づくことができる。ある例では、車両コンピューティングシステムは、それに関連するコストに基づいて実行するアクションを選択することができる。ある例では、車両コンピューティングシステムは、他のアクションと比較して、それに関連する最も低いコストのアクションに基づいてアクションを選択することができる。ある例では、車両コンピューティングシステムは、それに関連するコストが閾値コスト未満であることに基づいて取るべきアクションを決定することができる。
【0015】
例えば、車両コンピューティングシステムは、車両が動作している車線が、写真を撮る車線に立っているオブジェクトによってブロックされているが、隣接する車線には他のオブジェクトがないことを判定することができる。車両コンピューティングシステムは、ブロックオブジェクトの周りをナビゲートするために隣接する車線で動作することに関連するコストを計算することができる。コストが閾値以下であるという判定に基づいて、車両コンピューティングシステムは、車両をブロックオブジェクトの周りの隣接する車線にナビゲートさせることができる。コストが閾値を超えているという判定に基づいて、車両コンピューティングシステムは、ブロックオブジェクトに関連付けられる位置の前に車両を停止させる(または停止位置を維持させる)ことができる。
【0016】
本明細書で論じられる技術は、自律的および/または半自律的な車両制御プランニングの技術分野への改善を含み得る。従来、自律車両の制御プランニングでは、車両コンピューティングデバイスは、道路上の歩行者など、経路をブロックしているオブジェクトを検出し、歩行者が邪魔にならないように移動するのを待つために車両を停止することができる。歩行者と車両の安全を確保しながら、ブロックオブジェクトを待つために停止すると、車両の進行と快適さ、車両の乗員、および道路上の他の車両などの他の要因が犠牲になる場合がある(例えば、歩行者が移動するのを待つための交通渋滞)。しかしながら、本明細書で説明される技術は、車両コンピューティングシステムが、車両の安全性、快適性、および進行を最適化するアクションを選択することができる手段を含む。したがって、本明細書に記載の技術は、自律型および/または半自律型車両の技術分野を改善する。
【0017】
本明細書で説明される技術は、複数の方法で実装され得る。例示的な実装は、添付図面を参照して下記で提供される。自律車両のコンテキストにおいて説明されるが、本明細書で説明される方法、装置、およびシステムは、多様なシステム(例えば、センサーシステム、またはロボティックプラットホーム)に適用されてよく、自律車両に限定されない。一例では、同様の技術が、そのようなシステムが様々な操作を実行することが安全であるかどうかの指標を提供し得る運転者制御車両で利用され得る。別の例では、その技術は、航空または航海の文脈で、またはプランニング技術を使用する任意のシステムで利用することができる。
【0018】
図1は、自律車両104(例えば、車両104)の1つまたは複数のコンピューティングシステム102が、車両104の経路をブロックしている1つまたは複数のオブジェクト106(例えば、ブロックオブジェクト106)を検出し、およびブロックオブジェクト106が車両104の経路から外れる可能性に基づいて車両104を制御し得る環境100の図である。ブロックオブジェクト106は、予め定められた経路に沿った車両104の前進を妨げるもの、および/またはある場所から目的地への移動に関連する軌道(例えば、移動の速度および/または方向)を決定するものを含み得る。そのような決定は、本明細書で別の方法で論じられるように、車両の閾値速度および/または車両に関連する進行コストに基づいてよい。ブロックオブジェクトは、実質的に静止していてもよく(例えば、歩行者が車両104の前に立っている、および/または動き回っている、など)、および/または動的であってもよい(例えば、車両104の前の道路にいる自転車運転者が、車両104の軌道に関連する速度よりも遅い速度で移動している、建設区域をナビゲートしている歩行者などの歩行者が車両104の前の道路を歩いている)。車両104は、車両104の1つまたは複数のセンサー110によってキャプチャされたセンサーデータに基づいて、ブロックオブジェクト106および1つまたは複数の他のオブジェクト108を検出することができる。センサー110によってキャプチャされたセンサーデータは、ライダーセンサー、カメラセンサー、レーダーセンサー、飛行時間センサー、ソナーセンサーなどによってキャプチャされたデータを含み得る。
【0019】
ある例では、センサーデータは、ブロックオブジェクト106および/または他のオブジェクト108(例えば、車両、歩行者、自転車、オートバイ、動物、など)に関連する分類114を判定するように構成された知覚コンポーネント112に提供され得る。様々な例において、知覚コンポーネント112は、ブロックオブジェクト106および/または他のオブジェクト108に関連する1つまたは複数の特徴に基づいて、オブジェクト分類114を判定することができる。特徴は、サイズ(例えば、幅、高さ、深さなど)、形状(例えば、ジオメトリ、シンメトリなど)、および/またはオブジェクト106および/またはオブジェクト108の他の際立った特徴を含み得る。例えば、知覚コンポーネント112は、歩行者に対応するブロックオブジェクト106およびサイクリストに対応する他のオブジェクト108のサイズおよび/または形状を認識し得る。
【0020】
様々な例では、知覚コンポーネント112は、ブロックオブジェクト106が、環境100を通過する車両104に関連付けられる車両経路116(経路116)をブロックしていることを判定するように構成され得る。ある例では、車両経路116は、現在の場所から目的地までの車両104の経路を含み得る。ある例では、経路116は、目的地への車両104の移動に関連付けられる運転可能な表面(例えば、運転可能な領域)を含み得る。ある例では、運転可能な表面は、車両104の幅および/または車両104のいずれかの側の安全マージンを含み得る。ある例では、運転可能な表面は、車線118の幅を含み得る。
【0021】
ある例では、知覚コンポーネント112は、ブロックオブジェクト106に関連付けられる位置が少なくとも部分的に運転可能な領域および/または車両の経路116内にあるという判定に基づいて、ブロックオブジェクト106が車両経路116をブロックしていると判定することができる。例示的な例では、3つのブロックオブジェクト106のそれぞれの少なくとも一部が、車両経路116内に配置されている。他の例では、ブロックオブジェクト106の少なくとも1つの少なくとも一部が経路116に位置するという判定に基づいて、知覚コンポーネント112は、3人の歩行者のグループがブロックオブジェクト106として指定されると判定することができる。ある例では、ブロックオブジェクト106の少なくとも1つの少なくとも一部が経路116内に位置するという判定に基づいて、知覚コンポーネント112は、ブロックオブジェクト106のグループの周りに境界ボックス120を生成することができる。そのような例では、知覚コンポーネント112は、ブロックオブジェクト106のグループをまとめて全体で考慮することができる。
【0022】
様々な例において、知覚コンポーネント112は、車線118内のブロックオブジェクト106の周りを車両が進むことができないという判定に基づいて、ブロックオブジェクト106が車両経路116をブロックしていると判定することができる。そのような例では、距離Dは、車両の幅に、ブロックオブジェクト106からの最小安全距離(例えば、安全マージン)を加えたものよりも小さくてもよい。ある例では、最小安全距離は、ブロックオブジェクト106に関連付けられる分類114に基づいてよい。例えば、歩行者に関連付けられる最小安全距離は1メートルであってよく、自転車運転者に関連付けられる最小安全距離は1.2メートルであってよい。様々な例において、最小安全距離は、車両の速度に基づくことができる。そのような例では、車両104がより速く移動するほど、最小安全距離が大きくなり、またはその逆に、車両140がより遅く移動するほど、最小安全距離は小さくなる。例えば、時速10マイルで走行する車両は、歩行者から3フィートの最小安全距離を含む場合があり、時速20マイルで走行する車両は、5フィートの最小安全距離を含む場合がある。距離および速度は単なる例示的な例であるが、他の速度および/または距離が企図されてもよい。
【0023】
様々な例において、ブロックオブジェクト106が経路116をブロックしているという判定に基づいて、知覚コンポーネント112は、それらの全内容が参照により本明細書に組み込まれる、2018年5月17日に出願された「Drive Envelope Determination」と題された特許文献5で説明されているような、車両104の運転可能領域にブロックオブジェクト106を融合させることができる。そのような例では、ブロックオブジェクト106の融合は、ブロックオブジェクト106によって占められた位置が利用可能な運転可能表面から除去されるような(例えば、車両104がもはや移動できる領域にはない)運転可能領域の修正を含む。ある例では、車両経路116に関連付けられる基準線(例えば、車両動作の中心線)は、ブロックオブジェクト106から距離をずらすことができる。距離は、ブロックオブジェクト106からの最小安全距離またはより長い距離を含み得る。
【0024】
様々な例では、知覚コンポーネント112は、車両がとるアクションを決定するために、センサーデータ(例えば、ブロックオブジェクトの決定、ブロックオブジェクト106の分類など)をプランニングコンポーネント122に提供するように構成され得る。ある例では、アクションは、ブロックオブジェクト106が車両経路116をブロックし続ける可能性に基づいて決定され得る。ある例では、継続的なブロッキングの決定は、ブロックオブジェクト106が閾値時間(例えば、15秒、30秒、1分など)の間、経路116に(少なくとも部分的に)居続ける可能性に基づき得る。ある例では、可能性は、ブロックオブジェクト106の位置、ブロックオブジェクト106に関連する1つまたは複数の場所(例えば、観光客注目の既知の場所、写真撮影の既知の場所など)、ブロックオブジェクト106の分類114、ブロックオブジェクト106のサイズ(例えば、幅、高さ、グループ内の歩行者の数など)、安定性のレベル(例えば、動きの量など)、ブロックオブジェクト106の速度、ブロックオブジェクト106の速度変化(例えば、速度共分散)、検出されたオブジェクトアクション(例えば、写真を撮る、別のオブジェクトを指すなど)、検出されたオブジェクトアクションに関連する既知の時間(例えば、ランドマークでの写真撮影に関連する時間など)などに基づいて決定され得る。例えば、ブロックオブジェクト106は、観光活動に関連する場所に存在することができ、画像取込装置で写真を撮っていると決定され得る。プランニングコンポーネント122は、ブロックオブジェクト106に関連する位置および検出された活動(例えば、アクション)に基づいて、ブロックオブジェクト106が車両の経路116をブロックし続ける可能性が高い(例えば、継続するブロッキングの可能性が高い)ことを決定することができる。
【0025】
様々な例において、プランニングコンポーネント122は、機械学習技術を利用することによって、ブロックオブジェクト106が経路116をブロックし続ける可能性を決定するように構成され得る。そのような例では、1つまたは複数の機械学習アルゴリズムは、複数のブロックオブジェクト106を含むトレーニングデータを利用してトレーニングされ得る。様々な例で、機械学習アルゴリズムは、ブロックオブジェクト106の位置、サイズ、安定性のレベル、検出されたオブジェクトアクション、速度、速度変化などの、上記の1つまたは複数の特徴に従ってトレーニングされ得る。そのような例では、機械学習アルゴリズムは、その特徴に基づいて、ブロックオブジェクト106が車両経路116をブロックし続ける可能性を判定するように構成され得る。
【0026】
ある例では、可能性は、ブロックオブジェクト106に関連付けられた1つまたは複数の予測された軌道(例えば、オブジェクト軌道)および/またはオブジェクト軌道に関連付けられた信頼度に基づくことができる。そのような例では、プランニングコンポーネント122の予測コンポーネントは、予測されるオブジェクト軌道を判定するように構成され得る。例えば、予測されるオブジェクト軌道が経路116から外れる方向にほとんどまたは全く速度を含まないという決定に基づいて、プランニングコンポーネント122は、ブロックオブジェクト106が経路116に留まる可能性が高いと判定することができる。逆に、オブジェクト軌道が経路116から外れる移動方向を含むという決定に基づいて、プランニングコンポーネント122は、ブロックオブジェクト106が経路116に留まる可能性が低いと判定することができる。
【0027】
ある例では、オブジェクト軌道は、それらの全内容が参照により本明細書に組み込まれる特許文献1および特許文献2に記載されている技術を利用することなどによって、環境のトップダウン表現に基づくことができる。ある例では、予測されるオブジェクト軌道は、確率的ヒートマップ(例えば、離散化された確率分布)、ツリー検索方法、時相論理式、および/またはその全内容が参照により本明細書に組み込まれる特許文献3に記載されているようなオブジェクトの振る舞いを予測するための機械学習技術を使用して決定され得る。様々な例において、信頼度は、プランニングコンポーネント122が予測されるオブジェクト軌道の精度において持つことができる確実性のレベルを表すことができる。
【0028】
ある例では、プランニングコンポーネント122は、可能性に基づいて取るべきアクションを決定することができる。オブジェクトが動的である例では、車両は、オブジェクトに関連付けられる速度に実質的に一致し、オブジェクトの後ろで安全な距離を維持することができる。例示的な例では、ブロックオブジェクト106は実質的に静的である(例えば、車線118に立っている)。そのような例では、アクションは、ブロックオブジェクト106に関連付けられる位置の前に車両104を停止する(および/または停止位置を維持する)ことを含み得る。ある例では、プランニングコンポーネント122は、ブロックオブジェクト106が車両経路116に留まる可能性が低いという決定に基づいて、車両104を停止すること、および/またはその位置の前に停止位置を維持することを決定することができる。ある例では、停止する(停止したままである)という決定は、可能性が可能性閾値(例えば、25%、35%、50%など)以下であるという決定に基づくことができる。
【0029】
様々な例において、アクションは、車両104が第2の経路(例えば、異なる経路)を移動するように車両軌道を修正することを含み得る。ある例では、第2の経路を移動するための車両軌道の修正は、ブロックオブジェクト106が第1の経路116に留まるという可能性が、可能性閾値(例えば、50%、60%など)以上であるという決定に基づくことができる。第2の経路は、ブロックオブジェクト106を迂回する車両経路116を含み得る。第2の経路および/または関連する車両軌道は、少なくとも最小の安全距離だけブロックオブジェクト106を回避しながら、車両104が目的地に向かって前進し続ける結果となる可能性がある。車両軌道および/または第2の経路は、ブロックオブジェクト106の周りを安全にナビゲートするために、車線118内の車両104の位置、(例えば、隣接する車線126への)車線変更、および/または車両104の位置を少なくとも部分的に車線118の外側(例えば、路肩、自転車レーンなど)に調整することに関連付けられてよい。
【0030】
様々な例において、アクションは、ブロックオブジェクト106の周りをナビゲートするために車線118内の位置を調整することを含み得る。ある例では、プランニングコンポーネント122は、車両104が車線118内のブロックオブジェクト106の周りを進むことができるかどうか(例えば、位置を調整することが実行可能な行動であるかどうか)を判定することができる。そのような例では、プランニングコンポーネント122は、ブロックオブジェクト106および/またはそれに関連する境界ボックス120と車線マーカー124(例えば、車線のエッジを描く道路標示など)との間の距離(D)を判定することができる。プランニングコンポーネント122は、距離(D)が車両104の幅および/またはブロックオブジェクト106からの安全バッファ(例えば、最小安全距離)以上であるかどうかを判定することができる。上述したように、最小安全距離は、ブロックオブジェクト106に関連付けられる分類114に基づいてよい。
【0031】
様々な例において、距離(D)が車両104の幅プラス最小安全距離以上であるという決定に基づいて、プランニングコンポーネント122は、車線118内の位置の調整が実行可能なアクションであると決定することができる。そのような例では、車線118内でブロックオブジェクト106からの最大横方向距離にある車両104は、ブロックオブジェクト106からの少なくとも最小安全距離にあり得る。様々な例において、プランニングコンポーネント122は、車線118内の位置を調整することが、それに関連するアクションコストに少なくとも部分的に基づいて実行可能なアクションであると決定することができる。以下でさらに詳述するように、プランニングコンポーネント122は、ブロックオブジェクト106からの第1の距離および第1の速度に関連付けられる第1の軌道上の車線内の位置を調整すること、ブロックオブジェクト106からの第2の距離および第2の速度などに関連付けられる第2の軌道上の車線内の位置を調整すること、および類似のものなどの、アクションに関連するアクションコストを決定することができる。少なくともいくつかのそのような例では、そのようなコストは、例えば、車線で利用可能な幅に基づくコストを含み得る(例えば、コストが車両の幅および/または追加のバッファに対して指数関数的に増加するように)。非限定的な例として、コストは、指数関数的に、またはそうでなければ、幅閾値に対する車線の幅の関数である多項式的であってよい。ある例では、そのようなコストは、最も近いオブジェクトまでの距離に基づいてよく、これには、運転可能な表面の境界が含まれる場合がある。様々な例において、プランニングコンポーネント122は、各潜在的なアクションに関連するアクションコストを決定し、それぞれのアクションコストに基づいて行動を選択することができる。ある例では、アクションは、コスト最適化に基づいて決定され得る。このような例では、車両に対して最も費用効果の高いアクションが選択され得る。
【0032】
ある例では、実行可能性の決定に基づいて、プランニングコンポーネント122は、1つまたは複数の通過距離でブロックオブジェクト106の周りをナビゲートする車両に関連する1つまたは複数の通過速度を決定することができる。通過距離は、車線118内の車両104とブロックオブジェクト106との間の最小安全距離以上である1つまたは複数の距離を含み得る。言い換えれば、通過距離は、車線118の範囲内で最小安全距離の外側の車両104の通過に関連する任意の距離を含み得る。様々な例において、速度は、上記のコスト最適化に基づいて決定され得る。そのような例では、距離および/または速度は、車両が取る最も費用効果の高いアクション(例えば、最低コストのアクション)に基づいて決定され得る。
【0033】
様々な例において、通過速度は、通過距離に関連付けられ得る。そのような例では、最小安全距離を超える距離が大きいほど、車両104はより速く移動することができる。様々な例において、車両104は、ブロックオブジェクト106の周りをナビゲートしている間、最大通過速度に制限され得る。そのような例では、プランニングコンポーネント122は、車両104の通過速度を最大通過速度に制限することができる。ある例では、最大通過速度は、車両104とブロックオブジェクト106との間の相対速度を含み得る。例えば、車両104は、オブジェクトの軌道に関連する速度に対して、時速15マイル(または他の速度)でブロックオブジェクト106を通過するように制限され得る。
【0034】
ある例では、通過速度および/または最大通過速度は、ブロックオブジェクト106に関連付けられる分類114に基づくことができる。例えば、車両104がサイクリストを通過することができる最大通過速度は時速15キロメートルであってよく、車両104が歩行者を通過することができる最大通過速度は時速10キロメートルであってよいが、これらは単なる例示的な通過速度であり、他の任意の速度が本明細書で企図される。別の例として、プランニングコンポーネント122は、車線118内の歩行者の通過に対応する通過距離および関連する速度の第1のテーブル、および図2に示されるようなサイクリストの通過に対応する通過距離および関連する速度の第2のテーブルにアクセスすることができる。
【0035】
様々な例において、アクションは、車線を隣接する車線126に少なくとも部分的に変更することを含み得る。ある例では、車線変更は、車線118を出て、隣接する車線126、道路の路肩、自転車専用車線などに入る車両104の少なくとも一部を含み得る。様々な例において、プランニングコンポーネント122は、車線118内の位置調整が実行可能ではないとの決定に基づいて、車線を変更することを決定することができる。ある例では、車線変更に関連するアクションは、車線マーカー124の色および/またはスタイル(例えば、破線、実線、二重線など)および/または環境要因(例えば、道路の曲率、制限速度、等)によって制限され得る。そのような例では、プランニングコンポーネント122は、車線変更が車線マーカー124の色および/またはスタイル、および/または環境要因に基づいて実行可能なアクションであるかどうかを決定するように構成され得る。例えば、車両104は、制限速度が速度制限閾値を下回っており、道路が実質的に真っ直ぐである(例えば、曲がっていない)という決定に基づいて、二重黄色の実線の車線マーカー124を横切ることができる。
【0036】
様々な例において、プランニングコンポーネント122は、隣接する車線126が他のオブジェクト108から離れていると決定することができる。ある例では、プランニングコンポーネント122は、隣接する車線126の閾値領域が他のオブジェクト108から離れていると決定することができる。ある例では、閾値領域は、少なくとも、隣接する車線126内にある車両104の幅、および/または他のオブジェクト108からの安全バッファ(例えば、最小安全距離)を含み得る。ある例では、閾値領域は、別のオブジェクト108の前、後ろ、または横方向の閾値距離(例えば、最小安全距離)内に侵入することなく、隣接する車線126に少なくとも部分的に移行するために必要な領域に関連付けられ得る。ある例では、知覚コンポーネント112は、隣接する車線126の占有に対応するデータをプランニングコンポーネント122に提供することができる。
【0037】
ある例では、隣接する車線126は、車両104と同じ方向に移動する交通に関連付けられ得る。そのような例では、プランニングコンポーネント122は、隣接する車線126に移動してブロックオブジェクト106を迂回することを決定し、隣接する車線126内の第2の経路116に沿って目的地まで継続し得る。例示的な例では、隣接する車線126は、反対方向の交通に関連付けられ得る。そのような例では、知覚コンポーネント112によって提供されるセンサーデータを介してなど、プランニングコンポーネント122は、隣接する車線126が対向車線から離れていると決定することができる。様々な例において、反対方向の交通を伴う隣接する車線126に関連する閾値領域は、車両104がブロックオブジェクト106の周りを移動する距離と、車両がブロックオブジェクト106を迂回するのに必要な時間内に別のオブジェクト108が(例えば、環境100に関連する制限速度で)カバーする距離とを加えた領域を含むことができる。ある例では、別のオブジェクト108が閾値領域を占有しているという決定に基づいて、プランニングコンポーネント122は、第2の経路に沿って進む前に、車両104に他のオブジェクト108に対して道を譲らせることができる。
【0038】
様々な例において、プランニングコンポーネント122は、それに関連するコストに基づいて取るべきアクションを決定することができる。そのような例では、プランニングコンポーネント122は、1つまたは複数の異なるアクション(例えば、ブロックオブジェクト106が動くのを待つために停止位置を維持する、車線内の位置を調整する、車線を部分的に変更する、完全な車線変更など)に関連するコストを比較し、最低コストのアクションを選択することができる。様々な例において、プランニングコンポーネント122は、各アクションの様々な反復に関連するコストを決定することができる。そのような例では、プランニングコンポーネント122は、車線内の位置を調整すること、および/または異なる距離および/または速度で車線を部分的または完全に変更することに関連するコストを決定することができる。様々な例において、プランニングコンポーネント122は、それぞれの異なるアクションおよび/またはアクションの反復に関連するコストの最適化に基づいて取るべきアクションを決定することができる。
【0039】
いくつかの例では、コストは、安全性(例えば、車両104とブロックオブジェクト106および他のオブジェクト108との間の衝突回避)、快適性(例えば、車両104の急な動きの欠如)、進行状況(例えば、目的地への車両104の移動)、運行規則(例えば、道路の規則、法律、規則、規制など)、およびその全内容が参照により本明細書に組み込まれる特許文献4に記載されている事項などのうちの1つまたは複数に基づくことができる。
【0040】
ある例では、安全性に関連するコスト(例えば、安全コスト)は、車両104とブロックオブジェクト106および他のオブジェクト108との間の衝突の確率に基づくことができる。ある例では、衝突の確率が衝突の可能性を示す事前定義された閾値(例えば、40%、51%、など)よりも大きい場合、固定コスト(例えば、60、80、100など)を含むことができる。ある例では、固定コストは、車両コンピューティングシステムがそれに関連するアクションを選択できないように、閾値を超えるコスト値を含み得る。そのような例では、衝突の確率は、車両104が取ることができるアクションに対する制約を含み得る。
【0041】
ある例では、安全コストは、車両104とブロックオブジェクト106および/または他のオブジェクト108との間の相対的な位置および/または軌道に基づくことができる。そのような例では、安全コストは、(車両軌道上を移動する)車両104がブロックオブジェクト106および他のオブジェクト108に近づくほど増加する場合がある。ある例では、安全コストは、ブロックオブジェクト106および他のオブジェクト108に関連する分類114に基づくことができる。
【0042】
様々な例において、快適コストは、推定加速度(例えば、正、負、横方向など)および/またはブロックオブジェクト106の周囲の第2の経路に対応する車両軌道に関連する推定加速度変化(例えば、ジャーク)に関連し得る。ある例では、快適コストは、関連するアクションを実行する車両104と、ブロックオブジェクト106および他のオブジェクト108との間の距離に関連付けられ得る。そのような例では、快適コストは、車両104とブロックオブジェクト106および他のオブジェクト108との間の最も近いアプローチポイントに関連付けられ得る。ある例では、快適コストは、アクションに関連付けられる通過速度に関連付けられ得る。ある例では、快適コストは、車両104とブロックオブジェクト106および他のオブジェクト108との間の相対速度に関連付けられ得る。ある例では、快適コストに関連する距離および/または速度は、ブロックオブジェクト106および他のオブジェクト108に関連する分類114に基づくことができる。他の例では、車両104および/または考慮されるオブジェクト106および/または108の他の状態/制御は、快適コスト(例えば、他の車両にどれだけ近いか-最近傍またはその次に近い隣人、ステアリング速度、回転速度、速度などとして計算され得る)を決定する際に使用され得る。
【0043】
様々な例において、進行コストは、目的地に向かって移動する車両104の進行を含み得る。ある例では、進行コストは、車両104の速度の変化および/または車両の停止、減速などによって引き起こされる車両104の遅延に基づいて計算され得る。ある例では、進行コストは、アクションに起因する遅延の秒数に実質的に類似した値を含み得る。そのような例では、ブロックオブジェクト106が経路116から移動するのを待つための車両の停止および/または停止位置の維持を含むアクションは、ブロックオブジェクト106の周囲のナビゲーションを含むアクションに関連するものよりも高い進行コストに関連し得る。
【0044】
様々な例では、動作ルールコストは、道路のルール(例えば、運輸省の法律、規則、規制など)、良好な運転のルール、地域の運転習慣(例えば、一般的な運転慣行)、運転の礼儀(例えば、別の車が自転車専用車線を占有せずに右折するためのスペースを提供するために車線内の位置を調整することなど)に基づく場合がある。様々な例において、アクションに関連する動作ルールコストは、破られたおよび/または満たされている1つまたは複数のルールに基づいて計算され得る。そのような例では、動作ルールコストは、破られた、または履行されていないルール(例えば、規制、習慣、礼儀など)に基づいて増加し、および/または満たされたまたは履行されたルールに基づいて減少する可能性がある。例えば、車線を対向車線に変更することに関連するアクションは、車両104が、車両経路116に関連する方向に動作する交通のために指定された車線118に留まるべきであるという規則を破ることを含み得る。アクションは、車線118内の車両104の位置調整を含むアクションよりも高い動作ルールコストを含み得る。
【0045】
様々な例において、動作ルールコストは、車線マーカー124に関連する規則、規制などに基づいて決定され得る。そのような例では、車線マーカー124の色、および/または車線マーカー124が固体および/または壊れているかどうかが、アクションに関連する動作ルールコストに寄与する場合がある。例えば、黄色の二重線を横切ることに関連するアクションは、それに関連する動作ルールコストが高くなる可能性がある(例えば、40、50など)。別の例として、白い破線は、それに関連する動作ルールコストが低くなる場合がある(例えば、5、10など)。
【0046】
様々な例で、コストは重要度の順にランク付けまたは重み付けされる場合がある。ある例では、コスト(例えば、安全性、快適性、進行、動作ルール)の少なくとも1つは、他のコストよりも高く重み付けされたコストを含み得る。例えば、安全性は他の要因よりも重要視される場合がある。そのような例では、プランニングコンポーネント122は、車両104が取るべきアクションの決定において、他の要因よりも安全性を強調することができる。
【0047】
様々な例において、プランニングコンポーネント122は、車両104に、ブロックオブジェクト106の迂回に関連するアクションを実行させることができる。そのような例では、プランニングコンポーネント122は、知覚コンポーネント112から環境100に対応するセンサーデータを受信し続けることができる。センサーデータは、ブロックオブジェクト106および/または他のオブジェクト108に関連するデータを含み得る。様々な例において、知覚コンポーネント112は、センサーデータを処理し、ブロックオブジェクト106および/または他のオブジェクト108に関連する予測されるオブジェクト軌道を決定するように構成され得る。そのような例では、予測されるオブジェクト軌道は、ブロックオブジェクト106に関連付けられた更新されたオブジェクト軌道を含み得る。
【0048】
様々な例において、プランニングコンポーネント122は、別のオブジェクト108が、第2の経路に関連する車両軌道と合流するオブジェクト軌道を含み得る(例えば、ブロックオブジェクト106の周りをナビゲートする)ことを決定し得る。オブジェクト軌道および/または車両軌道が合流する、および/または車両104が他のオブジェクト108までの閾値距離内に入るという決定に基づいて、プランニングコンポーネント122は、例えば、それに関連する衝突を回避するために、車両を速度低下させ、および/または他のオブジェクト108に関連する位置の前に停止させることができる。プランニングコンポーネント122は、他のオブジェクト108がもはや要因ではないと決定するまで、車両を減速し続け、および/または停止位置を維持させ得る(例えば、車両104および他のオブジェクト108に関連する軌道は合流せず、車両104と他のオブジェクト108との間の衝突の可能性はない、など)。例えば、車両104は、隣接する車線126に移動して、ブロックオブジェクト106の周りをナビゲートすることを決定することができる。隣接する車線126で動作している間、知覚コンポーネント112は、他のオブジェクト108(1)を検出し、他のオブジェクト108(1)に関連するオブジェクト軌道が、アクションに関連付けられた(例えば、第2の経路に関連付けられた)車両軌道を横切ることを決定することができる。プランニングコンポーネント122は、オブジェクト軌道の前(例えば、環境100に示されている横断歩道の前)の場所で車両を停止させることができる。
【0049】
様々な例において、プランニングコンポーネント122は、1つまたは複数の信号を車両104から放出させることができる。ある例では、プランニングコンポーネント122は、車両104がブロックオブジェクト106を回避するためのアクションを決定する前に、ブロックオブジェクト106を車両経路116から移動させようと試みることができる。信号は、車両104の出力装置から放出される音声信号または視覚信号(例えば、光信号、ホログラフィック画像など)のうちの1つまたは複数を含み得る。様々な例において、信号は、車両104の存在のブロックオブジェクト106に警告するために発せられ得る。ある例では、信号は、ブロックオブジェクト106が車両104が存在すること、および/またはブロックオブジェクト106が経路116をブロックしていることを決定し得る手段を提供することができる。従って、信号は、ブロックオブジェクト106を経路116から移動させることを意図して放出され得る。例えば、車両104は、歩行者であるブロックオブジェクト106に彼らが車両経路116内にいることを警告するために、穏やかなクラクションなどの音声信号を発することができる。
【0050】
ある例では、信号は、ブロックオブジェクト106が車両経路116から移動する可能性がある潜在的な方向をブロックオブジェクト106に通知するために放出され得る。そのような例では、信号は、オブジェクト軌道が経路116から移動することを決定する際にブロックオブジェクト106を支援するように構成され得る。例えば、ブロックオブジェクト106は、第1の車線の交差(intersection)をブロックしている車両であり得る。知覚コンポーネント112は、第2の車線(例えば、第1の車線に隣接する車線)が、ブロックオブジェクト106がもはや車両経路116をブロックしないようにブロックオブジェクト106が移動するのための領域を含み得ると決定し得る。プランニングコンポーネント122は、知覚コンポーネント112から情報を受信し、第2の車線の方向に向けられた矢印の形で(例えば、ブロックオブジェクト106の操作者に見える道路上で)光を放出させることができる。従って、ブロックオブジェクト106の操作者は、矢印に従って第2の車線に入ると、車両104の邪魔にならないように移動する方向を決定するのを支援することができる。
【0051】
ある例では、知覚コンポーネント112は、ブロックオブジェクト106が車両104の邪魔にならないように移動することを意図していないというインジケーションを受け取ることができる。インジケーションは、1つまたは複数のセンサーを介するなどして、ブロックオブジェクト106から受信された音声および/または視覚信号を含み得る。ある例では、インジケーションは、ブロックオブジェクト106が車両経路116から移動することを意図していないことを示す移動またはその欠如を含み得る。ある例では、インジケーションは、歩行者の「私は動いていない」という発声、または車両経路116に留まる意図を示す他の句などの口頭のインジケーションを含み得る。そのような例では、インジケーションは、車両104上の1つまたは複数のマイクロフォンを介して受信され、自然言語処理および/または言語処理の他の手段を利用して、話された1つまたは複数の単語および/またはその意図を決定するコンピューティングシステム102によって処理され得る。様々な例において、インジケーションは、ブロックオブジェクト106が車両経路116内に留まる可能性を判定するために、知覚コンポーネント112によって利用され得る。そのような例では、プランニングコンポーネント122は、少なくとも部分的にインジケーションに基づいて取るべきアクションを決定することができる。
【0052】
図2は、ブロックオブジェクト106などの動的ブロックオブジェクト202の周りで車両104をナビゲートすることを決定するプロセス200の図である。例示的な例では、車両コンピューティングシステムは、動的ブロックオブジェクト202を自転車運転者として分類することができる。他の例では、動的ブロックオブジェクト202は、スクーター、モペッド、歩行者(例えば、ランナー、散歩する人など)などの他の分類のオブジェクトを含み得る。
【0053】
動作204において、プロセスは、オブジェクトが、車両経路116などの車両軌道206に関連する経路をブロックしていることを検出することを含み得る。様々な例において、車両コンピューティングシステムは、動的ブロックオブジェクト202の少なくとも一部が、車線118などの、車両104に関連する車線208に位置するという決定に基づいて、動的ブロックオブジェクト202が車両軌道206をブロックしていると決定することができる。ある例では、車両コンピューティングシステムは、動的ブロックオブジェクト202(例えば、それに関連する1つまたは複数の場所)が、車両軌道206に関連する運転可能な表面内に少なくとも部分的にあると決定することができる。
【0054】
動作210において、プロセスは、オブジェクト(例えば、動的ブロックオブジェクト202)に関連付けられたオブジェクト軌道212を決定することを含み得る。様々な例において、オブジェクト軌道212は、経時的に捕捉されたセンサーデータに基づいて決定され得る。そのような例では、車両コンピューティングシステムは、センサーデータを処理して、動的ブロックオブジェクト202の位置の経時変化を決定し、時間の経過に伴う位置の変化に基づいてオブジェクト軌道212(例えば、速度、速度の変化、進行方向など)を決定することができる。ある例では、車両コンピューティングシステムは、それらの全内容が参照により本明細書に組み込まれる、特許文献1および特許文献2に記載されている技術を利用することによってなど、(例えば、センサーデータを利用して決定された)環境のトップダウン表現に基づいてオブジェクト軌道212を決定することができる。そのような例では、オブジェクト軌道212は、将来の動的ブロックオブジェクト202の動き(例えば、移動方向、速度など)の予測を含み得る。ある例では、予測されるオブジェクト軌道は、確率的ヒートマップ(例えば、離散化された確率分布)、ツリー検索方法、時相論理式、および/またはそれらの全内容が参照により本明細書に組み込まれる特許文献3に記載されているようなオブジェクトの振る舞いを予測するための機械学習技術を使用して決定され得る。トップダウン表現と同様に、そのような例では、オブジェクト軌道は、将来の動的ブロックオブジェクト202の動きの予測を含み得る。
【0055】
様々な例において、オブジェクト軌道212が車両軌道206に実質的に類似する進行方向を含むという決定に基づいて、車両コンピューティングシステムは、オブジェクトが動的ブロックオブジェクト202であると決定することができる。動的ブロックオブジェクト202は、車両経路をブロックし、実質的に同様の方向に移動しているが、車両104よりも遅い速度で移動しているオブジェクトを含むことができる。
【0056】
動作214において、プロセスは、動的ブロックオブジェクト202が車両104の経路をブロックし続ける可能性が閾値以上であると決定することを含み得る。様々な例では、可能性は、動的ブロックオブジェクト202の位置、動的ブロックオブジェクト202に関連する1つまたは複数の場所(例えば、観光客注目の既知の場所、写真撮影の既知の場所など)、ブロックオブジェクト106の分類、ブロックオブジェクト106のサイズ(例えば、幅、高さ、ペロトン内の自転車運転者の数など)、安定性のレベル(例えば、動きの量、動きの一貫性など)、動的ブロックオブジェクト202の速度、動的ブロックオブジェクト202の速度変化(例えば、速度共分散)、検出されたオブジェクトアクション(例えば、写真を撮る、別のオブジェクトを指すなど)、検出されたオブジェクトアクションに関連する既知の時間(例えば、ランドマークでの写真撮影に関連する時間など)などに基づいて決定され得る。
【0057】
様々な例において、車両コンピューティングシステムは、動的ブロックオブジェクト202が、機械学習技術を利用することによって車両104の経路をブロックし続ける可能性を決定するように構成され得る。そのような例では、1つまたは複数の機械学習モデルは、複数の動的ブロックオブジェクト202を含むトレーニングデータを利用してトレーニングされ得る。様々な例で、機械学習アルゴリズムは、動的ブロックオブジェクト202の位置、サイズ、安定性のレベル、検出されたオブジェクトアクション、速度、速度変化などの1つまたは複数の機能に従ってトレーニングされ得る。そのような例では、機械学習モデルは、特徴に基づいて、動的ブロックオブジェクト202が車両104の経路をブロックし続ける可能性を決定するように構成され得る。
【0058】
図示の例では、サイクリストである動的ブロックオブジェクト202は、車両軌道206と実質的に同じ進行方向を有するオブジェクト軌道212を有しており、実質的に一定の速度(例えば、速度の最小変化)を有している。従って、車両コンピューティングシステムは、動的ブロックオブジェクト202が車両104の経路をブロックし続ける可能性が閾値可能性(例えば、55%、65%など)を超えていると判定することができる。
【0059】
動作216において、プロセスは、閾値以上である可能性に基づいて、修正された車両軌道218(例えば、修正された軌道218)を決定することを含み得る。様々な例において、オブジェクトが車両104の経路をブロックし続ける可能性が閾値を超えているという決定に基づいて、車両コンピューティングシステムは、取るべきアクションを決定することができる。ある例では、アクションは、動的ブロックオブジェクト202の後ろの安全な距離を維持するための減速(例えば、オブジェクト軌道212に関連する速度に一致するように減速する)、車線208内の位置の変更、および/または動的ブロックオブジェクト202の周りをナビゲートするために、車線を隣接する車線220に少なくとも部分的に変更することを含むことができる。修正された軌道218は、アクションに関連付けられ得る。
【0060】
例示的な例では、修正された軌道218は、隣接する車線への完全な車線変更を含む。そのような例では、車両コンピューティングシステムは、隣接する車線220の閾値領域が他のオブジェクトによって占有されていないと判定することができる。他の例では、修正された軌道218は、部分的な車線変更、車線208内の位置の調整などのような別のアクションに関連する軌道を含み得る。上記のように、車両コンピューティングシステムは、それに関連するコスト(例えば、安全コスト、快適コスト、進行コスト、動作ルールコストなど)に基づいて、実行するアクションおよび/またはそれに関連する修正された軌道218を決定することができる。そのような例では、車両コンピューティングシステムは、可能なアクションを決定し、それに関連する最も低いコストを有するアクションに基づいて、修正された軌道218に関連するアクションを実行することを決定することができる。例えば、動的ブロックオブジェクト202の後ろの安全な距離を維持することに関連する快適コストおよび進行コストは、アクションに関連する総コストを高くする場合がある。動的ブロックオブジェクト202の周りをナビゲートすることは、動的ブロックオブジェクト202の後についていくよりも安全である可能性があり(相対的に安全ではないにしても)、車両104が移動する可能性のある速度の増加に基づいて快適性および安全コストが低くなる可能性があるため、車両コンピューティングシステムは、修正された軌道218に従って、動的ブロックオブジェクト202の周りをナビゲートすることを決定することができる。
【0061】
図3は、車線118などの動作車線302(例えば、車線302)内に残ったまま、ブロックオブジェクト106(例えば、オブジェクト106)の周りで車両104をナビゲートすることを決定するためのプロセス300の図である。
【0062】
動作304において、プロセスは、車両の第1の経路306を少なくとも部分的にブロックしているオブジェクト106を決定することを含み得る。上述したように、車両コンピューティングシステムは、車両104、他の車両、および/または動作環境に搭載されたセンサーの1つまたは複数によってキャプチャされたセンサーデータに基づいて、ブロックオブジェクト106を検出し得る。様々な例では、第1の経路306は、車両104が第1の位置と目的地との間の計画された経路に従って走行することを計画する運転可能エリアを表し得る。ある例では、車両コンピューティングシステムは、ブロックオブジェクト106に関連付けられた位置が少なくとも部分的に運転可能領域内にあるという判定に部分的に基づいて、ブロックオブジェクト106が車両を少なくとも部分的にブロックしていると判定し得る。ある例では、ブロックオブジェクト106が車両104の第1の経路306をブロックしているという判定に基づいて、車両コンピューティングシステムは、ブロックオブジェクト106を、参照により組み込まれる特許文献5に記載されるような運転可能領域に融合し得る。例示的な例では、融合(fusion)は、運転可能領域の切り出し(cut-out)として描写される。切り出しは、ブロックオブジェクト106から維持するための車両104のためのバッファ距離(例えば、最小距離(例えば、3インチ、6インチなど))を含み得る。
【0063】
動作308において、プロセスは、オブジェクト106に隣接する車線302内の位置における車両104と、オブジェクト106に関連付けられる位置との間の距離(D)に少なくとも部分的に基づいて、アクションコストを決定することを含み得る。アクションコストは、安全コスト、快適コスト、進行コスト、または車線で動作している間にブロックオブジェクト106を迂回するアクションに関連付けられる動作ルールコストのうちの1つ以上に関連付けられ得る。ある例では、車両コンピューティングシステムは、距離(D)が閾値距離と等しいかまたはそれより大きいと判定し得る。そのような例では、車両コンピューティングシステムは、車線302の範囲内に留まりながらブロックオブジェクトを迂回することが実行可能なアクションであると判定し得る。ブロックオブジェクト106からの最大横方向距離における車両104の位置で示されているが、車両104は、閾値距離を満たすか、または超えるブロックオブジェクト106から別の距離(D)で走行し得ることが企図される。もちろん、本明細書では閾値の観点から説明されているが、これはそれほど限定的であることを意味するものではない。例えば、ある例は、意思決定のために固定閾値を設定し得るが、本明細書における閾値の任意の議論は、そのような閾値での、またはそのような閾値の周りでのコストに対する最適化に基づいて、2つの結果の間に遷移が生じるような方法で設定されたコスト表現も参照し得ることを理解されたい。様々な例では、ハード制約(例えば、決定のための固定閾値)の組み合わせ、並びにコスト最適化における遷移を表すような閾値が企図される。
【0064】
様々な例では、閾値距離(例えば、10インチ、2フィート、1ヤード、1メートルなど)は、環境で動作している間に、車両がブロックオブジェクト106から維持するための最小安全距離を表し得る。ある例では、閾値距離は、ブロックオブジェクト106に関連付けられる分類に基づくことができる。そのような例では、車両コンピューティングシステムは、それに関連付けられた分類および閾値距離を決定し得る。
【0065】
動作310において、プロセスは、距離に関連付けられる車両速度を決定することを含み得る。様々な例では、車両速度は、距離(D)でブロックオブジェクト106を迂回することに関連付けられるアクションコストを最適化することに基づいて決定され得る。そのような例では、車両コンピューティングシステムは、1つ以上の速度に関連付けられるアクションコストを計算し、最も低いアクションコストに関連付けられる速度を選択することができる。例えば、車両コンピューティングシステムは、ブロックオブジェクトから3メートルを時速10マイルで通過することに関連付けられる第1のアクションコスト、ブロックオブジェクトから3メートルを時速15マイルで通過することに関連付けられる第2のアクションコスト、およびブロックオブジェクトから3メートルを時速20マイルで通過することに関連付けられる第3のアクションコストを決定し得る。車両コンピューティングシステムは、車両が実行するアクションとして最も低いコストのアクションを選択することができる。
【0066】
様々な例では、車両速度は、車両104がブロックオブジェクト106から維持する距離(D)に基づいてもよい。車両104がブロックオブジェクト106から維持し得る距離は、閾値距離(例えば、最小安全距離)から、車両104と車線302内の最大横方向位置での車両104に関連付けられたブロックオブジェクト106との間の距離(例えば、車線マーカーで動作する車両104 )の範囲であり得る。
【0067】
様々な例では、車両速度は、距離に基づいてもよい。ある例では、車両がブロックオブジェクト106から離れた距離(閾値距離を上回る)を増加させるにつれて、車両速度は増加し得る。例えば、最小安全距離でブロックオブジェクト106の周りをナビゲートする車両104に関連付けられた車両速度は、時速5マイルであってもよく、車線内の最大横方向位置で時速12マイルであってもよい。車両速度は単なる例示であり、本明細書では任意の他の速度が企図される。
【0068】
様々な例では、車両速度は、ブロックオブジェクト106に関連付けられた分類に部分的に基づいてもよい。そのような例では、車両コンピューティングシステムは、ブロックオブジェクト106に関連付けられた分類を決定し、分類に部分的に基づいて車両速度を決定し得る。ある例では、オブジェクトの異なる分類(または分類群(例えば、車輪付き車両(例えば、自転車、スクーター、モペッドなど)、歩行者(例えば、ランナー、ウォーカー、所定の位置に立っている人々など))など)について決定し得る。
【0069】
様々な例では、距離および/または分類に関連付けられた車両速度は、予め決定されてよい。例えば、車両コンピューティングシステムは、ブロックオブジェクト106を迂回することに関連付けられた車両速度および距離のテーブルをその中に格納し得る。ある例では、車両速度のテーブルは、ブロックオブジェクト106に関連付けられた特定の分類に関連付けられ得る。様々な例では、距離および/または分類に関連付けられた車両速度は、1つまたは複数の環境条件に基づいて動的に決定され得る。環境条件は、気象考慮事項(例えば、雨、雪など)、道路条件(例えば、滑らかな表面、砂利、坑穴など)、オブジェクトの密度(例えば、環境中の車両、歩行者などの数)、他のオブジェクトへの近接性(例えば、隣接車線など)などを含み得る。様々な例では、車両速度の動的決定は、環境条件についての距離および/または分類に関連付けられた所定の車両速度を調整することを含み得る。例えば、車両コンピューティングシステムは、ブロックオブジェクト106からの距離に関連付けられた車両速度が時速10キロメートルであり、雨および湿った路面のために、車両速度が時速8キロメートルであるべきであると判定し得る。
【0070】
様々な例では、ブロックオブジェクト106を通過する距離および車両速度を判定することに応答して、車両コンピューティングシステムは、第2の経路312を判定し得る。第2の経路312は、距離および車両速度に関連付けられた軌道を走行する車両の幅を含み得る。様々な例では、第2の経路312は、車両の幅にバッファ距離(例えば、6インチ、8インチなど)を加えてもよい。そのような例では、バッファ距離は、車両の片側または両側に安全バッファを含み得る。
【0071】
様々な例では、第2の経路は、アクションコスト最適化に基づいて決定され得る。そのような例では、車両コンピューティングシステムは、複数のアクションに関連付けられたアクションコストを決定し、最も低いコストアクションに基づいてアクションを決定し得る。ある例では、車両コンピューティングシステムは、最も低いコストアクションに関連付けられる軌道を決定し、最も低いコストアクション(例えば、最適化されたアクション)に関連付けられる軌道に沿って車両を走行させてもよい。例えば、アクションは、様々な距離(例えば、車線内に留まること、部分的に車線を変更すること、車線を完全に変更することなどに関連付けられた距離)および様々な速度でブロックオブジェクトの周りをナビゲートすることを含み得る。選択されたアクション(例えば、最適なアクション)は、最も低い全体的なコスト(例えば、安全コスト、進行コスト、快適コスト、および/または動作ルールコストを含む総コスト)に関連付けられるアクションを含み得る。
【0072】
動作314において、プロセスは、(動作310で判定された)車両速度および(動作308で判定された)距離に関連付けられた修正車両軌道316に従って車両を制御することを含み得る。車両コンピューティングシステムは、車両が修正車両軌道316上のブロックオブジェクト106を迂回することを可能にする。図4に関して以下でより詳細に説明されるように、車両コンピューティングシステムは、1つまたは複数の駆動システムに、修正車両軌道316に従って第2の経路312に沿って車両104を移動させることができる。
【0073】
様々な例では、車両コンピューティングシステムは、それに関連付けられたコスト(例えば、アクションに関連付けられたコスト)が最も低いコストアクションであるという判定に基づいて、修正車両軌道316に従って車両を制御することを判定することができる。ある例では、車両コンピューティングシステムは、車両が取ることができる各アクションに関連付けられるコストを決定し得る。アクションは、ブロックオブジェクト106を迂回させること、別の運転可能な表面(例えば、隣接する車線、路肩、自転車専用道路など)を走行するブロックオブジェクト106を迂回させること、および/またはブロックオブジェクト106に関連付けられる位置の前に停止し、および/または停止位置を維持することを含み得る。様々な例では、車両コンピューティングシステムは、それぞれの実行可能な(例えば、考えられる)アクションに関連付けられるコストを決定し得る。様々な例では、車両コンピューティングシステムは、修正車両軌道316に対応するアクションに関連付けられるコストが、実行可能なアクションの最も低いコストを含むと判定し得る。そのような例では、修正車両軌道316に対応するアクションは、車両104が目的地まで移動するための最も安全かつ/または最も迅速な(例えば、効率的な)アクションを含み得る。
【0074】
図4は、本明細書で説明される技術を実装するための例示的なシステム400のブロック図である。少なくとも1つの例において、システム400は、車両104のような車両402を含んでよい。車両402は、1つまたは複数の車両コンピューティングデバイス404、1つまたは複数のセンサーシステム406、1つまたは複数のエミッター408、1つまたは複数の通信接続410、少なくとも1つの直接接続412、および1つまたは複数の駆動システム414を含むことができる。
【0075】
車両コンピューティングデバイス404は、1つまたは複数のプロセッサ416、および1つまたは複数のプロセッサ416と通信可能に結合されたメモリ418を含んでよい。図示される例において、車両402は、自律車両であるが、車両402は、半自律車両のような任意の他のタイプの車両、または少なくとも画像キャプチャデバイス(例えば、カメラ対応スマートフォン)を有する任意の他のシステムであってよい。図示の例では、車両コンピューティングデバイス404のメモリ418は、位置決めコンポーネント420、知覚コンポーネント422、予測コンポーネント426とアクションコストコンポーネント428を含むプランニングコンポーネント424、1つ以上のシステムコントローラ430、および1つ以上のマップ432を格納する。例示的な目的のためにメモリ418内に存在するように図4に描写されるが、位置決めコンポーネント420、知覚コンポーネント422、プランニングコンポーネント424、1つ以上のシステムコントローラ430、1つ以上のマップ432、予測コンポーネント426、およびアクションコストコンポーネント428は、追加的に、または代替的に、車両402にアクセス可能であってもよい(例えば、1つ以上のコンピューティングデバイス436のメモリ434上など、車両402から離れたメモリ上に記憶されるか、またはそれ以外の場合、車両402からアクセス可能であってもよい)ことが企図される。例えば、メモリ434は、車両402のプランニングコンポーネント424によってアクセス可能なアクションコストコンポーネント428を格納し得る。
【0076】
少なくとも1つの例において、位置決めコンポーネント420は、車両402の位置および/または方向(例えば、x位置、y位置、z位置、ロール、ピッチ、またはヨーのうちの1つまたは複数)を決定するためにセンサーシステム406からのデータを受信する機能を含んでよい。例えば、位置決めコンポーネント420は、マップ432からのような環境のマップを含む、および/または要求/受信することができ、マップ内の自律車両の位置および/または方向を継続的に決定することができる。ある例において、位置決めコンポーネント420は、画像データ、ライダーデータ、レーダーデータ、IMUデータ、GPSデータ、ホイールエンコーダデータなどを受信するためにSLAM(simultaneous localization and mapping)、CLAMS(calibration, localization and mapping, simultaneously)、相対SLAM、バンドル調整、非線形最小二乗最適化などを利用して、自律車両の位置を正確に決定することができる。ある例において、位置決めコンポーネント420は、本明細書で説明されるように、車両402の様々なコンポーネントにデータを提供し、オブジェクトが車両402に関連するかを判定するための自律車両の初期位置を決定することができる。
【0077】
ある例では、知覚コンポーネント112などの知覚コンポーネント422は、オブジェクト検出、セグメンテーション、および/または分類を実行する機能を含み得る。ある例において、知覚コンポーネント422は、車両402に近接したオブジェクト(例えば、エンティティ)の存在、および/またはオブジェクトタイプ(例えば、自動車、歩行者、自転車運転者、動物、建造物、樹木、道路表面、縁石、歩道、未知のものなど)としてのオブジェクトの分類を示す処理されたセンサーデータを提供することができる。ある例において、知覚コンポーネント422は、車両402に近接する静止エンティティの存在および/またはタイプとしての静止エンティティの分類(例えば、建物、樹木、道路表面、縁石、歩道、未知のものなど)を示す処理されたセンサーデータを提供することができる。様々な例では、知覚コンポーネント422は、ブロックエンティティ(例えば、ブロックオブジェクト)の存在を示す処理されたセンサーデータを提供し得る。
【0078】
ある例では、知覚コンポーネント422は、検出されたエンティティ(例えば、オブジェクト)がブロックオブジェクトであることを、ブロックオブジェクトに関連付けられた位置が少なくとも部分的に運転可能エリアおよび/または車両の経路内にあるという判定に基づいて判定し得る。様々な例では、知覚コンポーネント422は、オブジェクトが所定の経路に沿った車両の前進を妨げているという判定に基づいて、オブジェクトがブロックオブジェクトであると判定してもよく、および/または位置から目的地への移動に関連する軌道(例えば、速度および/または走行方向)を判定してもよく、またはそうでなくてもよい。様々な例では、知覚コンポーネント422は、車両402が環境を通る車両移動に関連付けられた車線内のブロックオブジェクトの周りを進むことができないという判定に基づいて、検出されたエンティティがブロックオブジェクトであると判定し得る。そのような例では、検出されたエンティティと車線に関連付けられた車線マーカーとの間の距離は、車両402の幅に検出されたエンティティからの最小安全距離(例えば、安全マージン)を加えたものよりも小さくてもよい。ある例では、最小安全距離は、検出されたエンティティに関連付けられた分類に基づいてもよい。
【0079】
さらなる例示または代替の例示において、知覚コンポーネント422は、検出されたエンティティ(例えば、追跡されるオブジェクト、ブロックオブジェクトなど)および/またはオブジェクトが配置される環境に関連付けられる1つまたは複数の特性を示す処理されたセンサーデータを提供することができる。ある例において、オブジェクトに関連付けられる特性は、xの位置(グローバルおよび/またはローカルの位置)、yの位置(グローバルおよび/またはローカルの位置)、zの位置(グローバルおよび/またはローカルの位置)、向き(例えば、ロール、ピッチ、ヨー)、オブジェクトのタイプ(例えば、分類)、オブジェクトの速度、オブジェクトの加速度、オブジェクトの範囲(サイズ)などを含むことが可能であるが、これらに限定されない。環境に関連付けられた特性は、環境における別のオブジェクトの存在、環境における別のオブジェクトの状態、時間帯、曜日、季節、気象条件、暗さ/明るさの指標、その他を含むことが可能であるが、これらには限定されない。
【0080】
一般に、プランニングコンポーネント424は、環境を横断するために車両402が進む経路を決定することができる。例えば、プランニングコンポーネント424は、様々な経路および車両軌道、並びに様々な詳細のレベルを決定することができる。例えば、プランニングコンポーネント424は、第1の位置(例えば、現在位置)から第2の位置(例えば、目標位置)まで移動する経路を決定することができる。この説明の目的のために、経路は、2つの位置の間を移動するための連続するウェイポイントであってよい。非限定的な例として、ウェイポイントは、車道、交差点、全地球測位システム(GPS)の座標などを含む。さらに、プランニングコンポーネント424は、第1の位置から第2の位置までの経路の少なくとも一部に沿って自律車両402を誘導するための命令を生成することができる。少なくとも1つの例において、プランニングコンポーネント424は、連続するウェイポイントにおける第1のウェイポイントから連続するウェイポイントにおける第2のウェイポイントにどのように自律車両を誘導するかを決定することができる。ある例において、命令は、車両軌道であってよく、または軌道の一部であってもよい。ある例において、多様な軌道は、後退水平技法に従って(例えば、技術的な許容範囲内で)実質的に同時に生成されてよく、ここで、多様な軌道のうちの1つが、ナビゲートすべき車両402のために選択される。
【0081】
様々な例では、経路は、ブロックオブジェクトが車両402の経路内に残る可能性に少なくとも部分的に基づいてもよい。ある例では、経路は、プランニングコンポーネント424がブロックオブジェクトに基づいて取るべきと判定するアクションに関連付けられ得る。アクションは、ブロックオブジェクトに関連付けられた位置の前に停止し、および/または停止位置を維持すること、ブロックオブジェクトに関連付けられた速度まで遅くしてブロックオブジェクトの後ろの距離を維持すること(例えば、図2に関して上述したように)、ブロックオブジェクトを迂回するために車線内の位置を調整すること、および/またはブロックオブジェクトを迂回するために車線を少なくとも部分的に外れること(例えば、車線を変更すること、自転車レーンで動作すること、路肩で動作することなど)などを含み得る。
【0082】
様々な例では、プランニングコンポーネント424は、ブロックオブジェクトが車両の経路内に残る可能性に基づいて、車両402が取るべきアクションを決定し得る。ある例では、プランニングコンポーネント424の予測コンポーネント426は、本明細書で説明される技術を利用するなどして、その可能性を判定することができる。ある例では、予測コンポーネント426は、ブロックオブジェクトが閾値期間(例えば、30秒、1分、2分など)車両の経路内に残る可能性を判定し得る。様々な例では、予測コンポーネント426は、機械学習技術を利用することによって可能性を判定するように構成され得る。そのような例では、1つまたは複数の機械学習モデルは、ブロックオブジェクトのオブジェクト位置、オブジェクトサイズ、安定性のレベル、検出されたオブジェクトアクション、速度、速度の変化などの1つまたは複数の特徴に基づいて、ブロックオブジェクトが車両の経路に残る可能性を判定するように訓練され得る。
【0083】
様々な例では、可能性は、ブロックオブジェクトに関連付けられた1つまたは複数の予測されるオブジェクト軌道に基づいて判定され得る。そのような例では、予測コンポーネント426は、予測されるオブジェクト軌道を決定するように構成され得る。ある例において、予測コンポーネント426は、オブジェクトのトレースを測定し、観察および予測される動作に基づいてオブジェクトに対する軌道を生成することができる。様々な例では、予測されるオブジェクト軌道は、時間の経過とともに検出されたブロックオブジェクトの動きに基づいて判定され得る。そのような例では、予測コンポーネント426は、経時的にブロックオブジェクトの位置を観察して、図2に例示されるような予測オブジェクト軌道を決定し得る。
【0084】
ある例では、予測されるオブジェクト軌道は、それらの全内容が参照により本明細書に組み込まれる、米国特許出願番号16/151,607号および米国特許出願番号16/504,147号に記載されている技術を利用することなどによって、環境のトップダウン表現に基づくことができる。ある例では、予測されるオブジェクト軌道は、確率的ヒートマップ(例えば、離散化された確率分布)、ツリー検索方法、時相論理式、および/またはそれらの全内容が参照により本明細書に組み込まれる特許文献3に記載されているようなオブジェクトの振る舞いを予測するための機械学習技術を使用して決定され得る。様々な例において、信頼度は、予測コンポーネント426が予測されるオブジェクト軌道の精度において持つことができる確実性のレベルを表すことができる。
【0085】
様々な例では、プランニングコンポーネント424は、それに関連付けられるコストに少なくとも部分的に基づいて取るべきアクションを決定し得る。そのような例では、アクションコストコンポーネント428は、各実行可能なアクションに関連付けられたコストを決定するように構成され得る。実行可能なアクションは、オブジェクトからの最小安全距離よりも近くを移動しない、動作法則を破らないなど、所定の制約内で車両が実行し得るアクションを含み得る。コストは、上記のように、安全コスト、快適コスト、進行コスト、および/または動作ルールコストのうちの1つ以上を含み得る。様々な例では、プランニングコンポーネント424は、実行するアクションとして最も低いコストのアクションを選択し得る。
【0086】
少なくとも1つの例において、車両コンピューティングデバイス404は、1つまたは複数のシステムコントローラ430を含んでよく、これは、ステアリング、推進、制動、安全性、エミッター、通信、および車両402の他のシステムを制御するように構成されてよい。システムコントローラ430は、駆動システム414および/または車両402の他のコンポーネントの対応するシステムと通信することができ、および/または制御することができる。
【0087】
メモリ418は、環境内をナビゲートするために車両402によって使用され得る1つまたは複数のマップ432をさらに含むことができる。この説明の目的のために、マップは、限定されるわけではないが、(交差点のような)トポロジー、通り、山脈、道路、地形、および一般的な環境などの環境についての情報を提供することが可能な2次元、3次元、またはN次元でモデル化された任意の数のデータ構造であってよい。ある例示において、マップは、限定されるわけではないが、テクスチャ情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)など)、強度情報(例えば、ライダー情報、レーダー情報など)、空間情報(例えば、メッシュ上に投影された画像データ、個々の「サーフェル(surfel)」(例えば、個々の色および/または強度に関連付けられるポリゴン))、反射性情報(例えば、鏡面性情報、再帰反射性情報、BRDF情報、BSSRDF情報など)を含むことができる。ある例において、マップは、環境の3次元メッシュを含んでよい。ある例において、車両402は、マップ432に少なくとも部分的に基づいて制御されてよい。すなわち、マップ432は、車両402の位置を決定し、環境におけるオブジェクトを検出し、経路を生成し、アクションおよび/または軌道を決定して、環境内をナビゲートするためにローカリゼーションコンポーネント420、知覚コンポーネント422、および/またはプランニングコンポーネント424に関連して用いられることができる。
【0088】
ある例では、1つまたは複数のマップ432は、1つまたは複数のネットワーク440を介してアクセス可能なリモートコンピューティングデバイス(コンピューティングデバイス436のマップコンポーネント438内など)に記憶されてもよい。ある例において、複数のマップ432は、例えば、特徴(例えば、エンティティのタイプ、時刻、曜日、その年の季節など)に基づいて格納されてよい。複数のマップ432を格納することは、同様のメモリ要件を有してよいが、マップにおけるデータがアクセスされ得る速度を増加させ得る。
【0089】
理解することができるように、本明細書で論じられるコンポーネント(例えば、ローカリゼーションコンポーネント420、知覚コンポーネント422、予測コンポーネント426およびアクションコストコンポーネント428を含むプランニングコンポーネント424、1つ以上のシステムコントローラ430、1つ以上のマップ432)は、例示的な目的のために分割されるように説明される。しかしながら、様々なコンポーネントによって実行される動作は、任意の他のコンポーネントにおいて組み合わされてよく、または実行されてもよい。
【0090】
ある例において、本明細書で説明されるコンポーネントのいくつかまたは全ての態様は、任意のモデル、技術、および/または機械学習技術を含んでよい。例えば、ある例において、メモリ418(および以下で説明されるメモリ434)におけるコンポーネントは、ニューラルネットワークとして実装されてよい。
【0091】
本明細書で説明されるように、例示的なニューラルネットワークは、連続して接続されたレイヤを通して入力データを通過させ、アウトプットを生じさせる生物学に着想を得た技術である。ニューラルネットワークにおけるそれぞれのレイヤはまた、別のニューラルネットワークを含んでよく、または(畳み込みか否かには関係なく)任意の数のレイヤを含んでもよい。本開示の文脈において理解され得るように、ニューラルネットワークは、機械学習を利用してよく、これは、学習したパラメータに基づいてアウトプットが生成される技術の広範囲なクラスを参照することができる。
【0092】
ニューラルネットワークのコンテキストにおいて説明されるが、任意のタイプの機械学習が本開示と整合するように用いられてよい。例えば、機械学習技術は、回帰技術(例えば、通常最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、MARS(multivariate adaptive regression splines)、LOESS(locally estimated scatterplot smoothing)、インスタンスベースの技術(例えば、リッジ回帰、LASSO(least absolute shrinkage and selection operator)、Elastic Net、LARS(least-angle regression)、決定木技術(例えば、CART(classification and regression tree)、ID3(iterative dichotomiser 3)、カイ二乗自動相互作用検出(CHAID)、決定株、条件付き決定木)、ベイジアン技術(例えば、ナイーブベイズ、ガウスナイーブベイズ、多項式ナイーブベイズ、AODE(average one-dependence estimators)、ベイジアン信頼度ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリング技術(例えば、k平均法、kメジアン法、期待値最大化(EM)、階層的クラスタリング)、関連規則学習技術(例えば、パーセプトロン、誤差逆伝播法、ホップフィールドネットワーク、RBFN(Radial Basis Function Network))、深層学習技術(例えば、深層ボルツマンマシン(DBM)、深層信頼ネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、積層型オートエンコーダ)、次元削減技術(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元スケーリング(MDS)、射影追跡法、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブル技術(例えば、ブースティング、ブートストラップ集約(バギング)、エイダブースト、階層型一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースト回帰木(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師付き学習、教師なし学習、半教師付き学習などを含んでよいが、これらに限定されない。アーキテクチャのさらなる例は、ResNet50、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含む。
【0093】
少なくとも1つの例において、センサーシステム406は、ライダーセンサー、レーダーセンサー、超音波トランスデューサー、ソナーセンサー、位置センサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度、飛行時間など)、マイク、ホイールエンコーダ、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)、などを含んでよい。センサー406は、これらまたは他のタイプのセンサーのそれぞれの多様な例を含んでよい。例えば、ライダーセンサーは、車両402の角部、前部、後部、側部、および/または上部に位置する個々のライダーセンサーを含んでよい。別の例として、カメラセンサーは、車両402の外部および/または内部についての様々な位置に配置される多様なカメラを含んでよい。センサー406は、入力を車両コンピューティングデバイス404に提供することができる。追加的または代替的に、センサーシステム406は、1つ以上のネットワーク440を介して、所定の期間の経過後、ほぼリアルタイムなどで、特定の周波数で1つ以上のコンピューティングデバイス436にセンサーデータを送信することができる。
【0094】
車両402はまた、光および/または音を放出するための1つまたは複数のエミッター408を含んでよい。エミッター408は、車両402の乗客と通信する内部オーディオおよびビジュアルエミッターを含む。限定ではない例として、内部エミッターは、スピーカー、照明、標識、ディスプレイスクリーン、タッチスクリーン、触覚エミッター(例えば、振動および/または力フィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナー、座席ポジショナー、ヘッドレストポジショナーなど)などを含んでよい。エミッター408は、外部エミッターを含んでもよい。限定ではない例として、外部エミッターは、移動の方向のシグナルを送るためのライト、もしくは車両のアクションの他のインジケーター(例えば、インジケーターライト、標識、ライトアレイなど)、並びに歩行者または音響ビームステアリング技術を含む1つまたは複数の近隣の他の車両と音響で通信するための1つまたは複数のオーディオエミッター(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含んでよい。
【0095】
様々な例では、プランニングコンポーネント424は、1つ以上の信号を検出されたブロックオブジェクトに向かってエミッター408を介して放出させるように構成され得る。ある例では、プランニングコンポーネント424は、ブロックオブジェクトが車両の経路内に残る可能性に基づいて上記で決定されたようなアクションを取る前に信号を発射させ得る。上述したように、信号は、音声信号および/または視覚信号を含み得る。ある例では、信号は、環境内の車両104のブロックオブジェクトに警告する意図をシグナルし得る。ある例では、信号は、ブロックオブジェクトが車両の経路から外れるために移動し得る方向等の情報をブロックオブジェクトに提供し得る。
【0096】
様々な例では、信号を発することに応答して、知覚コンポーネント422は、位置を変更するかどうかにかかわらず、ブロックオブジェクトの意図の応答および/またはインジケーションに対応するセンサーデータを受信し得る。ある例では、インジケーションは、マイクロフォン、スピーカー、または他のセンサーシステム406を介して受信されてもよい。少なくとも1つの例では、インジケーションは、マイクロフォンを介したオーディオ入力を介して受信され得る。そのような例では、知覚コンポーネント422は、例えば、自然言語処理などを介して、音声入力を処理して、それに関連付けられた意図および/またはインジケーションを判定するように構成され得る。ある例では、インジケーションは、画像などのカメラセンサーを介して受信されてもよい。そのような例では、知覚コンポーネント422は、画像データを処理することによって意図および/またはインジケーションを判定するように構成され得る。例えば、知覚コンポーネント422は、ブロックオブジェクトが位置および/または場所に留まり、発せられた信号に応答して車両402で波を発している(wave)ことを示し得る。知覚コンポーネント422は、インジケーションが車両402の経路をブロックする位置に留まる意図を含むと判定し得る。
【0097】
車両402はまた、車両402と1つ以上の他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能にする1つ以上の通信接続410を含んでもよい。例えば、通信接続410は、車両402上の他のローカルコンピューティングデバイスおよび/または駆動モジュール414との通信を容易にすることができる。また、通信接続410は、車両が他の近くのコンピューティングデバイス(例えば、コンピューティングデバイス436、他の近くの車両など)および/またはセンサーデータを受信するための1つ以上のリモートセンサーシステム442と通信することを可能にし得る。
【0098】
通信接続410は、車両コンピューティングデバイス404をネットワーク440などの別のコンピューティングデバイスまたはネットワークに接続するための物理的および/または論理的インターフェースを含んでよい。例えば、通信接続410は、IEEE802.11標準規格によって定義される周波数、ブルートゥース(登録商標)のような短距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェース接続することを可能にする任意の適切な有線もしくは無線通信プロトコルを介してWi-Fiベースの通信を有効にすることができる。
【0099】
少なくとも1つの例において、車両402は、1つまたは複数の駆動システム414を含んでよい。ある例において、車両402は、1つの駆動システム414を有してよい。少なくとも1つの例では、車両402が複数の駆動システム414を有する場合、個々の駆動システム414は、車両402の反対側の端部(例えば、前部および後部など)に配置されてもよい。少なくとも1つの例において、駆動システム414は、駆動システム414および/または車両402の周囲の状態を検出する1つまたは複数のセンサーシステムを含んでよい。限定ではない例として、センサーシステムは、駆動システムのホイールの回転を感知するための1つまたは複数のホイールエンコーダ(例えば、ロータリーエンコーダー)、駆動モジュールの方向および加速度を測定するための慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他の画像センサー、駆動モジュールの周囲のオブジェクトを音響的に検出するための超音波センサー、ライダーセンサー、レーダーセンサーなどを含んでよい。ホイールエンコーダのようなあるセンサーは、駆動システム414に一意であってよい。あるケースにおいて、駆動システム414上のセンサーシステムは、車両402の対応するシステム(例えば、センサーシステム406)と重複してよく、またはそれを補足してもよい。
【0100】
駆動システム414は、高電圧バッテリー、車両を推進させるためのモーター、他の車両システムによる使用のためにバッテリーからの直流を交流へと変換するためのインバータ、ステアリングモーターおよびステアリングラックを含むステアリングシステム(これは電動式とすることが可能である)、油圧または電動アクチュエータを含むブレーキシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を緩和し、制御を維持するために制動力を分配するための安定性制御システム、HVACシステム、照明(例えば、車両の外部周囲を照らすためのヘッド/テールライトのような照明)、および1つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバータのような他の電気部品、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなど)を含む車両システムの多くを含んでよい。さらに、駆動システム414は、センサーシステムからデータを受信して前処理することができる、様々な車両システムの動作を制御するための駆動モジュールコントローラーを含むことができる。ある例において、駆動モジュールコントローラーは、1つまたは複数のプロセッサ、およびその1つまたは複数のプロセッサと通信可能に連結されたメモリを含むことができる。メモリは、駆動システム414の様々な機能を実行するための1つまたは複数のシステムを格納することができる。さらに、駆動システム414はまた、それぞれの駆動システムによって、1つまたは複数の他のローカルコンピューティングデバイスまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続を含むことができる。
【0101】
少なくとも1つの例において、直接接続412は、1つまたは複数の駆動システム414を車両402の本体と結合するための物理的インターフェースを提供してよい。例えば、直接接続412は、駆動システム414と車両との間のエネルギー、流体、空気、データなどの転送を可能としてよい。ある例において、直接接続412は、駆動システム414を車両402の本体にさらにリリース可能に固定することができる。
【0102】
少なくとも1つの例では、位置決めコンポーネント420、知覚コンポーネント422、プランニングコンポーネント424、1つ以上のシステムコントローラ430、1つ以上のマップ432、予測コンポーネント426、およびアクションコストコンポーネント428は、上述のようにデータ(例えば、センサーデータ)を処理し、1つ以上のネットワーク440を介してそれらのそれぞれの出力をコンピューティングデバイス436に送信することができる。少なくとも1つの例では、位置決めコンポーネント420、知覚コンポーネント422、プランニングコンポーネント424、1つ以上のシステムコントローラ430、1つ以上のマップ432、予測コンポーネント426、およびアクションコストコンポーネント428は、所定の期間の経過後、ほぼリアルタイムで、特定の周波数で、それらのそれぞれの出力をコンピューティングデバイス436に送信することができる。
【0103】
ある例において、車両402は、ネットワーク440を介してセンサーデータをコンピューティングデバイス436に送信することができる。ある例では、車両402は、コンピューティングデバイス436および/またはリモートセンサーシステム442からネットワーク440を介してセンサーデータを受信することができる。センサーデータは、生のセンサーデータおよび/または処理されたセンサーデータおよび/またはセンサーデータの表現を含んでよい。ある例において、(生または処理された)センサーデータは、1つまたは複数のログファイルとして送信および/または受信されてよい。
【0104】
コンピューティングデバイス436は、1つ以上のプロセッサ444、およびマップコンポーネント438並びにセンサーデータ処理コンポーネント446を格納するメモリ434を含むことができる。様々な例では、センサーデータ処理コンポーネント446は、センサーシステム406および/またはリモートセンサーシステム442などの1つ以上のリモートセンサーからデータを受信するように構成され得る。ある例では、センサーデータ処理コンポーネント446は、車両402が取るべきアクションを決定するために、データを処理し、処理済データをプランニングコンポーネント424に送信するように構成され得る。ある例では、センサーデータ処理コンポーネント446は、アクションコストコンポーネント428および/または予測コンポーネント426によって使用されるように、データを処理し、処理済センサーデータを車両コンピューティングデバイス404に送信するように構成され得る。ある例では、センサーデータ処理コンポーネント446は、生のセンサーデータを車両コンピューティングデバイス404に送信するように構成され得る。
【0105】
車両402のプロセッサ416およびコンピューティングデバイス436のプロセッサ444は、本明細書で説明されるように、データを処理して動作を行うための命令を実行することが可能である任意の適切なプロセッサであってよい。限定ではない例として、プロセッサ416および444は、1つまたは複数の中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、または、電子データを処理して、その電子データをレジスタおよび/またはメモリに格納され得る他の電子データへと変換する任意の他のデバイスまたはデバイスの一部を含んでよい。ある例において、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスはまた、それらが符号化された命令を実行するように構成される限り、プロセッサとみなされてよい。
【0106】
メモリ418および434は、非一時的コンピュータ可読媒体の例である。メモリ418および434は、オペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/または本明細書で説明される方法並びに様々なシステムに起因する機能を実行するデータを格納することができる。様々な実装において、メモリは、スタティックRAM(SRAM)、シンクロナスDRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を格納可能な任意の他のタイプのメモリのような適切なメモリ技術を用いて実装されてよい。本明細書で説明される、アーキテクチャ、システム、および個々のエレメントは、多くの他の論理的、プログラム的、および物理的なコンポーネントを含んでよく、それらのうちの添付図面に示されるものは、単に本明細書での説明に関連する例示に過ぎない。
【0107】
ある例において、メモリ418および434は、少なくともワーキングメモリおよび記憶メモリを含んでよい。例えば、ワーキングメモリは、プロセッサ416および444によって操作されるデータを格納するために用いられる制限された容量の高速メモリ(例えば、キャッシュメモリ)であってよい。ある例において、メモリ418および434は、データの長期記憶のために使用される比較的大容量の低速メモリであり得る記憶メモリを含んでよい。ある例において、プロセッサ416および444は、本明細書で説明されるように、記憶メモリに格納されているデータを直接操作することが可能ではなく、データは、データに基づく動作を実行させるためにワーキングメモリへとロードされる必要がある場合がある。
【0108】
図4は分散システムとして示されているが、代替の例では、車両402の構成要素は、コンピューティングデバイス436に関連付けられ、および/またはコンピューティングデバイス436の構成要素は、車両402に関連付けられ得ることに留意されたい。すなわち、車両402は、コンピューティングデバイス436に関連する1つまたは複数の機能を実行することができ、逆もまた同様である。
【0109】
図5図7は、本開示の実施形態による例示的なプロセスを示す。これらのプロセスは、論理フローグラフとして図示され、それぞれの動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装され得る動作のシーケンスを表す。ソフトウェアのコンテキストにおいて、動作は、1つまたは複数のプロセッサによって実行されると、列挙した動作を実行する、1つまたは複数のコンピュータ可読媒体に格納されたコンピューター実行可能命令を表す。一般に、コンピューター実行可能命令は、具体的な機能を実行するか、または具体的な抽象データ型を実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図したものではなく、任意の数の説明される動作は、プロセスを実行するために任意の順序で、および/または並行して、組み合わされてよい。
【0110】
図5は、アクションに関連付けられるコストに少なくとも部分的に基づくアクションに従って車両を制御するための例示的なプロセス500を示している。プロセス500のうちのいくつかまたは全ては、本明細書で説明されるように、図4における1つまたは複数のコンポーネントによって実行されてよい。例えば、プロセス500の一部または全ては、車両コンピューティングデバイス404および/またはコンピューティングデバイス436によって実行されてもよい。
【0111】
動作502において、プロセスは、車両の経路をブロックしている環境内のオブジェクトを検出することを含み得る。ある例では、オブジェクトは、車両のセンサーに関連付けられるセンサーデータに少なくとも部分的に基づいて検出され得る。センサーは、カメラ、動き検出器、ライダー、レーダー、飛行時間などを含み得る。ある例では、車両コンピューティングシステムは、例えば、別の自律車両に搭載されたセンサー、および/または環境に搭載されたセンサーなどの1つまたは複数のリモートセンサーからセンサーデータを受信し得る。
【0112】
様々な例では、車両コンピューティングシステムは、オブジェクトが車両の前進を妨げているという判定に基づいて、オブジェクトが車両の経路をブロックしていると判定し得る。そのような例では、前進は、車両がオブジェクトとの衝突を防ぐために前進速度を遅くし、および/または停止しなければならないという判定に基づいて妨げられ得る。ブロックオブジェクトは、実質的に静止していてもよく(例えば、歩行者が車両の前に立っている、および/または動き回っている、など)、および/または動的であってもよい(例えば、車両の前の道路にいる自転車運転者が、車両の軌道に関連する速度よりも遅い速度で移動している、建設区域をナビゲートしている歩行者などの歩行者が車両の前の道路を歩いている、など)。様々な例では、車両コンピューティングシステムは、オブジェクトが車両の経路および/または運転可能エリアに少なくとも部分的に存在するオブジェクトに関連付けられた位置に少なくとも部分的に基づいて、オブジェクトが車両の経路をブロックしていると判定し得る。様々な例では、車両コンピューティングシステムは、車線に留まったままでは、車両がオブジェクトを迂回することができないという判定に基づいて、オブジェクトが車両の経路をブロックしていると判定し得る。そのような例では、オブジェクトは、車両の走行に関連付けられる車線を完全にブロックしていてもよい。
【0113】
動作504において、プロセスは、オブジェクトに関連付けられたオブジェクト軌道(例えば、予測軌道)を決定することを含み得る。オブジェクト軌道は、センサーデータに基づいて決定され得る。オブジェクト軌道は、検出されたオブジェクトが環境を通して移動し得る可能性のある経路を表し得る。様々な例では、オブジェクト軌道は、参照により本明細書に組み込まれる米国特許出願に記載されるように、環境、ヒートマップ、時相論理式、木探索法、機械学習技術、または環境内のオブジェクトに関連付けられたアクティブ予測を決定する他の手段のトップダウン表現を利用して決定され得る。そのような例では、センサーデータ、センサーデータの表現(例えば、境界ボックス、範囲など)、マップ、道路ネットワーク情報、およびアクションに関連付けられた経路(これらの全ては、一定期間にわたるデータのシーケンスを含み得る)のうちの1つ以上は、選択されたオブジェクトの予測軌道を出力するようにトレーニングされた機械学習モデルに入力され得る。様々な例では、動的ブロックオブジェクトに関連付けられた軌道などのオブジェクト軌道は、時間の経過に伴うオブジェクトの位置の変化に基づいて決定され得る。そのような例では、オブジェクト軌道は、時間の経過とともに検出されたオブジェクトの移動に基づいてもよい。
【0114】
動作506において、プロセスは、オブジェクトがオブジェクト軌道に少なくとも部分的に基づいて経路をブロックし続ける可能性を判定することを含み得る。ある例では、車両コンピューティングシステムは、オブジェクトが閾値期間(例えば、45秒、90秒など)を超えて経路をブロックし続ける可能性を判定するように構成され得る。上述したように、可能性は、予測されるオブジェクト軌道および/またはそれに関連付けられた信頼度に基づいて判定され得る。様々な例では、可能性は、ブロックオブジェクトの場所、ブロックオブジェクトに関連付けられた1つまたは複数の位置(例えば、観光客の注意、写真撮影等の既知の位置)、ブロックオブジェクトの分類、ブロックオブジェクトのサイズ(例えば、幅、高さ、グループ内の歩行者の数等)、安定性のレベル(例えば、移動量等)、ブロックオブジェクトの速度、ブロックオブジェクトの速度の変化(例えば、速度共分散)、検出されたオブジェクトのアクション(例えば、写真撮影、別のオブジェクトを指す等)、検出されたオブジェクトのアクションに関連付けられた既知の時間(例えば、ランドマーク等での写真撮影に関連付けられた時間)等の1つまたは複数の要因に基づいて判定され得る。上述したように、可能性は、機械学習技術を利用して判定され得る。
【0115】
動作508において、プロセスは、可能性が閾値(45%、57%、62%など)を上回っているかどうかを判定することを含んでよい。閾値は、停止するおよび/または停止位置を維持する(例えば、実質的に静的なオブジェクトのために)、またはオブジェクトの速度に実質的に等しい速度まで遅くする(例えば、動的オブジェクトのために)、動的オブジェクトの後ろで安全な速度で追従する、またはブロックオブジェクトを迂回する経路を決定するという決定に関連付けられた閾値を含み得る。
【0116】
可能性が閾値以下であるという判定(動作508における「いいえ」)に基づいて、プロセスは、動作510において、車両を制御して、ブロックオブジェクトが経路から移動するのを待つことを含み得る。ブロックオブジェクトが動的オブジェクトである例では、車両は、車線内の実質的に同じ進行方向を維持し、動的オブジェクトと実質的に同じ速度まで速度を遅くすることができる。様々な例では、車両コンピューティングシステムは、車両に、車両の後方で安全な距離を維持させ得る。そのような例では、車両コンピューティングシステムは、車両がブロックオブジェクトに関連付けられた安全プロトコルを最適化していることを保証し得る。
【0117】
ブロックオブジェクトが実質的に静的オブジェクトである(例えば、実質的に同じ位置を維持する)例では、車両コンピューティングシステムは、ブロックオブジェクトに関連付けられた位置の前で車両を停止させ、および/または停止位置を維持させ得る。そのような例では、車両コンピューティングシステムは、車両に、経路上で前進を続ける前に、ブロックオブジェクトが車両の経路から移動するのを待たせる。
【0118】
可能性が閾値以上であるという判定(動作508における「はい」)に基づいて、動作512にて、プロセスは、オブジェクトの周りの車両を制御することを含み得る。本明細書で論じられるように、車両コンピューティングシステムは、車両が取ることができるいくつかの実行可能なアクション、例えば、ブロックオブジェクトの周りの車線内の位置を調整すること、車線を変更すること、車線を部分的に変更することなどを決定し得る。様々な例では、車両コンピューティングシステムは、各実行可能なアクションに関連付けられたコスト(場合によっては、ブロックオブジェクトが経路から移動するのを待つことに関連付けられたコストも)を決定し、コストの決定(例えば、最も低いコストアクション)に基づいてオブジェクトの周りの車両を制御することができる。
【0119】
図6は、アクションに関連付けられるコストに少なくとも部分的に基づいて、アクションに従ってブロックオブジェクトの周りで車両を制御するための例示的なプロセスを示す。プロセス600のうちのいくつかまたは全ては、本明細書で説明されるように、図4における1つまたは複数のコンポーネントによって実行されてよい。例えば、プロセス600のうちのいくつかまたは全ては、車両コンピューティングデバイス404によって実行されてよい。
【0120】
動作602において、プロセスは、オブジェクトが車両に関連付けられた経路をブロックし続ける可能性が閾値可能性を上回っていると判定することを含み得る(例えば、図5の動作512)。ある例では、継続的なブロッキングの決定は、ブロックオブジェクトが閾値時間(例えば、15秒、30秒、1分など)の間、車両に関連付けられる経路に(少なくとも部分的に)居続ける可能性に基づき得る。
【0121】
様々な例では、可能性は、ブロックオブジェクトの場所、ブロックオブジェクトに関連付けられた1つまたは複数の位置(例えば、観光客の注意、写真撮影等の既知の位置)、ブロックオブジェクトの分類、ブロックオブジェクトのサイズ(例えば、幅、高さ、グループ内の歩行者の数等)、安定性のレベル(例えば、移動量等)、ブロックオブジェクトの速度、ブロックオブジェクトの速度の変化(例えば、速度共分散)、検出されたオブジェクトのアクション(例えば、写真撮影、別のオブジェクトを指す等)、検出されたオブジェクトのアクションに関連付けられた既知の時間(例えば、ランドマーク等での写真撮影に関連付けられた時間)等の1つまたは複数の要因に基づいて判定され得る。上述したように、可能性は、予測されるオブジェクト軌道および/またはそれに関連付けられた信頼度に基づいて判定され得る。様々な例では、可能性は、オブジェクトが車両の経路をブロックし続ける可能性を決定するための機械学習技術または他の方法を利用して決定され得る。
【0122】
動作604において、プロセスは、オブジェクト(例えば、ブロックオブジェクト)の真横の車線内の位置の車両とオブジェクトに関連付けられる位置との間の横方向の距離を判定することを含み得る。ある例では、オブジェクトからの横方向の距離は、最大の横方向の距離を含み得る。そのような例では、車両は、ブロックオブジェクトから最も遠い車線内の位置で動作し得る。他の例では、距離は、最大横方向距離よりも小さくてもよい。
【0123】
様々な例では、車両コンピューティングシステムは、ブロックオブジェクトと車線の反対側のエッジとの間の距離(例えば、ブロックオブジェクトから車線マーカーまでの距離)を判定し得る。そのような例では、車両コンピューティングシステムは、車両の幅および/または安全バッファ(例えば、3インチ、6インチなど)をブロックオブジェクトと車線マーカーとの間の距離から差し引いて、ブロックオブジェクトの真横の位置での車両とブロックオブジェクトに関連付けられた位置との間の横方向の距離を決定することができる。
【0124】
動作606において、プロセスは、車線内の横方向距離が閾値距離以上であるかどうかを判定することを含み得る。様々な例では、閾値距離は、車両がオブジェクトから維持すべき最小安全距離を表し得る。ある例では、閾値距離は、ブロックオブジェクトに関連付けられる分類に基づくことができる。そのような例では、車両コンピューティングシステムは、ブロックオブジェクトに関連付けられた分類を決定し、それに関連付けられた閾値距離を決定し得る。
【0125】
横方向距離が閾値距離以上であるという判定(動作606における「はい」)に基づいて、動作608におけるプロセスは、距離に関連付けられた車速を判定することを含み得る。上述のように、車両速度は、横方向距離(例えば、ブロックオブジェクトに関連付けられた位置からの1つ以上の横方向距離)に関連付けられたコスト最適化に基づいて決定され得る。様々な例では、横方向距離における車両速度は、最も低いアクションコストに関連付けられた速度を含み得る。
【0126】
様々な例では、車両速度および横方向距離は、ブロックオブジェクトからの横方向距離が増加するにつれて車両速度が増加し得るように、関連し得る。ある例では、車両速度は、車線内のブロックオブジェクトを通過させることに関連付けられた所定の車両速度を含み得る。ある例では、所定の車両速度は、オブジェクトに近接して動作するための最大安全速度を含み得る。様々な例では、車両速度は、ブロックオブジェクトに関連付けられた分類に基づいてよい。ある例では、第1の分類は、その通過に関連付けられた所定の車両速度の第1のセットを含み得、第2の分類は、その通過に関連付けられた所定の車両速度の第2のセットを含み得る。そのような例では、所定の車両速度の第1のセットおよび所定の車両速度の第2のセットは、異なる車両速度および/または同じ車両速度の少なくともいくつかを含み得る。
【0127】
動作610において、プロセスは、車線内のブロックオブジェクトを迂回することに関連付けられるアクションコストが閾値コスト以下であるかどうかを判定することを含み得る。閾値コストは、アクションに関連付けられた所定の最大コストを含み得る。閾値コストは、環境で動作する車両の安全性および性能を最大限に確保し得る。様々な例では、閾値コストは、車両アクション上の制約に関連付けられ得る。そのような例では、制約は、車両コンピューティングシステムが高コスト(例えば、安全性、快適性、進行、動作ルールコストなど)に基づいて1つまたは複数のアクションを選択することを妨げ得る。例えば、閾値コストは、最大の快適コストに関連付けられ、車両コンピューティングシステムが、車両の乗客、オブジェクトに関連付けられた人などにとって過度に不快なアクションを実行することを防止し得る。
【0128】
車線内のブロックオブジェクトを迂回することに関連付けられたアクションコストが閾値コスト以下であるという判定に基づいて(動作610で「はい」)、動作612でのプロセスは、オブジェクトからの横方向の距離と車両速度とに関連付けられた軌道に従って車両を制御することを含み得る。上述したように、アクションコストは、安全コスト、快適コスト、進行コスト、および/またはアクションに関連付けられた動作ルールコストに基づいてもよい。様々な例では、閾値コストは、アクションを実行することに関連付けられた所定の最大コストを含み得る。そのような例では、閾値コストは、環境で動作している間に、車両によって実行されるアクションが車両の安全性、快適性、および進行を最適化することを確実にし得る。
【0129】
車線内のブロックオブジェクトを迂回することに関連付けられたアクションコストが閾値コストを上回っているという判定に基づいて(動作610において「いいえ」)、プロセスは、動作614において、ブロックオブジェクトに関連付けられた位置から最小距離を維持することを含み得る。そのような例では、車両コンピューティングシステムは、ブロックオブジェクトに道を譲り、ブロックオブジェクトが車両の経路から移動するのを待つと判定し得る。様々な例では、車両コンピューティングシステムは、ブロックオブジェクトに関連付けられた位置の前に車両を停止させ得る。そのような例では、アクションは、ブロックオブジェクト、車両、車両の乗員、および環境内の他のオブジェクトの安全性を確保するための最も保守的なアクションを表し得る。様々な例では、車両コンピューティングシステムは、車両が、車両と実質的に同じ方向に走行する動的オブジェクトなど、オブジェクトの速度と実質的に一致するように前進速度を遅くし得る。そのような例では、車両コンピューティングシステムは、車両に、距離(例えば、最小安全距離)でブロックオブジェクトの後方を走行させ得る。
【0130】
横方向距離が閾値距離を下回っているという判定(動作606における「いいえ」)に基づいて、プロセスは、動作616において、隣接する車線の閾値領域が占有されているかどうかを判定することを含み得る。ある例では、閾値領域は、隣接する車線にある車両の少なくとも幅および/または他のオブジェクトからの安全バッファ(例えば、4インチ、8インチ、16インチなど)を含み得る。ある例では、閾値領域は、別のオブジェクト108の前、後ろまたは横方向の閾値距離(例えば、最小安全距離)内に侵入することなく、隣接する車線に少なくとも部分的に移行するために必要な領域に関連付けられ得る。
【0131】
隣接する車線が反対方向の交通を含む例では、閾値領域は、車両がブロックオブジェクトを迂回するのに必要な時間内に、車両がブロックオブジェクトの周りを走行する距離と、別のオブジェクトが(例えば、環境に関連付けられた速度制限で)カバーする距離とを包含する領域を含み得る。ある例では、別のオブジェクトが閾値領域を占有しているという判定に基づいて、車両コンピューティングシステムは、ブロックオブジェクトの周りを進む前に、車両が他のオブジェクトに道を譲らせることができる。
【0132】
隣接する車線の閾値領域が占有されているという判定(動作616で「はい」)に基づいて、プロセスは、動作614で説明されるような、ブロックオブジェクトに関連付けられる位置の前に車両を停止させることを含み得る。
【0133】
隣接する車線の閾値領域が占有されていない(動作616で「いいえ」)という判定に基づいて、プロセスは、隣接する車線内の走行に関連付けられたアクションコストが閾値コスト以上であるかどうかを判定することを含み得る。上述したように、アクションコストは、安全コスト、快適コスト、進行コスト、および/またはアクションに関連付けられた動作ルールコストに基づいてもよい。様々な例では、閾値コストは、アクションを実行することに関連付けられた所定の最大コストを含み得る。そのような例では、閾値コストは、環境に関連付けられる確立されたルール内で動作している間に、車両によって実行されるアクションが車両の安全性、快適性、および進行を最適化することを確実にし得る。
【0134】
アクションコストが閾値コスト以上であるという判定(動作618で「はい」)に基づいて、プロセスは、動作614で説明されるものなど、ブロックオブジェクトに関連付けられた位置の前に車両を停止させることを含み得る。
【0135】
アクションコストが閾値コストを下回っているという判定(動作620における「いいえ」)に基づいて、プロセスは、動作620において、車両に隣接する車線に入らせブロックオブジェクトを迂回させることを含み得る。様々な例では、車両コンピューティングデバイスは、車両がブロックオブジェクトを迂回するために従う1つ以上の車両軌道(例えば、修正された車両軌道)を決定し得る。ある例では、修正された車両軌道は、ブロックオブジェクトの周りの第2の経路および/または第2の運転可能エリアに関連付けられ得る。様々な例では、車両コンピューティングシステムは、信号を車両の駆動システムに送信して、第2の経路に沿っておよび/または運転可能エリア内など、修正された軌道に従って車両を走行させることができる。
【0136】
図7は、ブロックオブジェクトの周りで車両を制御し、ブロックオブジェクトの周りでナビゲートしている間に検出された第2のオブジェクトに道を譲るプロセスの例を示している。プロセス700のうちのいくつかまたは全ては、本明細書で説明されるように、図4における1つまたは複数のコンポーネントによって実行されてよい。例えば、プロセス700のうちのいくつかまたは全ては、車両コンピューティングデバイス404によって実行されてよい。
【0137】
動作702において、プロセスは、第1の軌道に従って環境内の第1のオブジェクトの周りで車両を制御することを含み得る。様々な例では、第1のオブジェクトは、ブロックオブジェクトを含み得る。ある例では、車両は、図5の動作512および/または図6の動作612並びに/または620に関して上述されたように制御されてもよい。
【0138】
動作704において、プロセスは、環境内の第2のオブジェクトを検出することを含み得る。ある例では、第2のオブジェクトは、車両のセンサーに関連付けられるセンサーデータに少なくとも部分的に基づいて検出され得る。センサーは、カメラ、動き検出器、ライダー、レーダー、飛行時間などを含み得る。ある例では、車両コンピューティングシステムは、例えば、別の自律車両に搭載されたセンサー、および/または環境に搭載されたセンサーなどの1つまたは複数のリモートセンサーからセンサーデータを受信し得る。
【0139】
動作706において、プロセスは、第2のオブジェクトに関連付けられる第2の軌道を決定することを含み得る。第2のオブジェクト軌道は、センサーデータに基づいて決定され得る。第2のオブジェクト軌道は、検出されたオブジェクトが環境を通して移動し得る可能性のある経路を表し得る。様々な例では、第2の軌道は、経時的な第2のオブジェクトの位置の変化に基づいて決定され得る。そのような例では、第2のオブジェクト軌道は、時間の経過とともに検出された第2のオブジェクトの移動に基づいてもよい。様々な例では、第2のオブジェクト軌道は、参照により本明細書に組み込まれる米国特許出願に記載されるように、環境、ヒートマップ、時相論理式、木探索法、機械学習技術、または環境内のオブジェクトに関連付けられたアクティブ予測を決定する他の手段のトップダウン表現を利用して決定され得る。そのような例では、センサーデータ、センサーデータの表現(例えば、境界ボックス、範囲など)、マップ、道路ネットワーク情報、およびアクションに関連付けられた経路(これらの全ては、一定期間にわたるデータのシーケンスを含み得る)のうちの1つ以上は、第2のオブジェクトの予測軌道を出力するようにトレーニングされた機械学習モデルに入力され得る。
【0140】
動作708において、プロセスは、(車両に関連付けられた)第1の軌道と(第2のオブジェクトに関連付けられた)第2の軌道との間に交差(intersection)があるかどうかを判定することを含み得る。ある例では、交差は、車両およびそれに関連付けられた位置が互いの閾値距離内にある第2のオブジェクトの将来の状態を表し得る。ある例では、交差は、それぞれの軌道上を走行しながら同時に同じ空間を占有する車両および第2のオブジェクトの将来の状態を表し得る。
【0141】
第2の軌道および第1の軌道が合流しないという判定(動作708における「いいえ」)に基づいて、プロセスは、動作710において、第1の軌道に従って車両を制御することを含み得る。ある例では、車両は、ブロックオブジェクトを迂回し、第2のオブジェクトに道を譲ることなく目的地への経路に沿って続け得る。
【0142】
第2の軌道および第1の軌道が合流するという判定(動作708における「はい」)に基づいて、プロセスは、動作712において、第2のオブジェクトに道を譲るように車両を制御することを含み得る。様々な例では、第2のオブジェクトに道を譲ることは、第2のオブジェクトが車両の経路を横切ることを可能にするために、第1の軌道に関連付けられた速度を遅くすることを含み得る。ある例では、第2のオブジェクトに道を譲ることは、第2のオブジェクトに関連付けられた位置および/または第2の軌道に関連付けられた1つまたは複数の位置の前に車両を停止することを含み得る。
【0143】
(例示的な条項)
A.センサーと、1つまたは複数のプロセッサと、プロセッサ実行可能命令を格納するメモリとを備えた車両であって、前記プロセッサ実行可能命令は、前記1つまたは複数のプロセッサによって実行されると、前記車両に、前記センサーから環境のセンサーデータを受信することと、前記センサーデータに少なくとも部分的に基づいて前記環境内の場所のオブジェクトを識別することであって、前記オブジェクトは、前記車両に関連付けられる第1の車両軌道を少なくとも部分的にブロックしている、ことと、前記オブジェクトに関連付けられる予測されるオブジェクト軌道を判定することと、前記予測されるオブジェクト軌道が前記第1の車両軌道の継続的なブロックを示していることを判定することと、前記予測されるオブジェクト軌道に関連付けられる信頼度を判定することと、前記予測されるオブジェクト軌道および前記信頼度に少なくとも部分的に基づいて第2の車両軌道を判定することであって、前記第2の車両軌道は、前記オブジェクトの周囲をナビゲートする前記車両に関連付けられる、ことと、前記第2の車両軌道にしたがって前記車両を制御することを実行させる。
【0144】
B.前記プロセッサ実行可能命令は、前記車両に、車線の端を表す車線マーカーと前記オブジェクトに関連付けられる前記場所との間の第1の距離を判定することと、前記車両の幅をマイナスした前記第1の距離を含む第2の距離を判定することと、前記距離に関連付けられる車両速度を判定することをさらに実行させ、前記第2の車両軌道は、前記距離で、および前記車両速度で前記オブジェクトの周囲をナビゲートすることに関連付けられる、段落Aに記載の車両。
【0145】
C.前記プロセッサ実行可能命令は、前記車両に、前記オブジェクトに関連付けられる分類を判定することと、前記分類に少なくとも部分的に基づいて、前記車両と前記オブジェクトに関連付けられる場所との間の閾値距離を判定することをさらに実行させ、前記第2の車両軌道は前記閾値距離に少なくとも部分的に基づく、段落Aまたは段落Bの車両。
【0146】
D.前記プロセッサ実行可能命令は、前記車両に、前記オブジェクトに関連付けられる方向に音声信号または視覚信号の少なくとも1つを放出することと、前記オブジェクトの動きが前記予測されるオブジェクト軌道に従っていることを判定することをさらに実行させ、前記第2の車両軌道を判定することは、前記オブジェクトの動きが前記予測されるオブジェクト軌道に従っていることを判定することに少なくとも部分的に基づく、段落A乃至段落Cのいずれか一項に記載の車両。
【0147】
E.前記予測されるオブジェクト軌道は、機械学習アルゴリズム、前記環境のトップダウン表現、離散化された確率分布、時相論理式、またはツリー検索方法のうちの少なくとも1つに少なくとも部分的に基づく、段落A乃至段落Dのいずれか一項に記載の車両。
【0148】
F.センサーデータに少なくとも部分的に基づいて環境内の場所のオブジェクトを識別することと、車両軌道を走行している車両が前記場所を少なくとも部分的に通過するという判定に少なくとも部分的に基づいて、前記場所が前記車両軌道に関連付けられていることを判定することと、前記場所が前記車両軌道に関連付けられていることに少なくとも部分的に基づいて、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックしていることを判定することと、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性を判定することと、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性に少なくとも部分的に基づいて前記車両を制御することを備えるコンピュータ実行方法。
【0149】
G.前記車両軌道は、第1の車両軌道であり、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックしていることは、前記オブジェクトが前記第1の車両軌道に沿った前記車両の進行を妨げていることを判定することに少なくとも部分的に基づいており、前記方法は、前記オブジェクトの周囲をナビゲートする閾値距離を判定することと、前記閾値距離に少なくとも部分的に基づいて第2の車両軌道を判定することを備え、前記車両を制御することは、前記第2の車両軌道に少なくとも部分的に基づいて前記車両に前記環境を横断させる、段落Fのコンピュータ実行方法。
【0150】
H.前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性を判定することは、オブジェクト軌道を判定することと、前記オブジェクト軌道に少なくとも部分的に基づいて、前記オブジェクトが、前記車両軌道に関連付けられる前記場所に実質的に留まり、および少なくとも閾値時間の間前記車両軌道を走行する前記車両の進行を妨げ続けることを判定することを備える、段落Fまたは段落Gのコンピュータ実行方法。
【0151】
I.前記車両を制御することは、前記第2の車両軌道に従って、前記車両に前記オブジェクトを迂回させることを備え、前記方法は、前記センサーデータに少なくとも部分的に基づいて第2のオブジェクトを識別することと、前記第2のオブジェクトに関連付けられる第2のオブジェクト軌道を判定することと、前記第2のオブジェクト軌道と前記第2の車両軌道との間の交差を判定することと、前記交差に少なくとも部分的に基づいて前記車両を制御することをさらに備える、段落F乃至段落Hのいずれか一項に記載のコンピュータ実行方法。
【0152】
J.前記オブジェクトの場所は、前記オブジェクトの第1の場所であり、前記方法は、前記オブジェクトの第2の場所を判定することと、前記オブジェクトの第2の場所が前記車両軌道を走行する前記車両の進行を妨げないと判定することと、前記オブジェクトの第2の場所が前記車両の進行を妨げていないことに少なくとも部分的に基づいて、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックしていないと判定することと、前記車両軌道に従って前記車両を制御することをさらに備える、段落F乃至段落Iのいずれか一項に記載のコンピュータ実行方法。
【0153】
K.前記オブジェクトが前記車両軌道をブロックし続ける可能性は、前記オブジェクトの分類、前記オブジェクトの位置、前記環境内の前記オブジェクトの場所、前記オブジェクトのサイズ、前記オブジェクトに関連付けられる安定性のレベル、前記オブジェクトの速度、または前記オブジェクトの速度変化のうちの少なくとも1つに少なくとも部分的に基づく、段落F乃至段落Jのいずれか一項に記載のコンピュータ実行方法。
【0154】
L.前記オブジェクトの場所に少なくとも部分的に基づく方向に音声信号または視覚信号の少なくとも1つを放出することと、前記オブジェクトの場所が実質的に同じままであるという判定に少なくとも部分的に基づいて、前記場所の周囲で前記車両を制御すること、または前記車両軌道を少なくとも部分的にブロックしない第2の場所への前記オブジェクトの場所の変更を判定することに少なくとも部分的に基づいて前記車両軌道に従って前記車両を制御することの少なくとも1つを実行することとさらに備える、段落F乃至段落Kのいずれか一項に記載のコンピュータ実行方法。
【0155】
M.マイクを介して音声信号またはカメラを介して視覚信号の少なくとも1つを受信することと、前記音声信号または前記視覚信号の少なくとも1つは、前記オブジェクトが前記車両軌道から移動しようとしないというインジケーションを備えることを判定することを備え、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性は、前記インジケーションに少なくとも部分的に基づく、段落F乃至段落Lのいずれか一項に記載の方法。
【0156】
N.前記車両を制御することは、前記車両が取るべきアクションを判定することを備え、前記アクションは、前記車両軌道における停止位置を維持すること、または前記オブジェクトの周囲の第2の車両軌道を判定することの少なくとも1つを備え、前記アクションは、前記オブジェクトと前記車両との間の相対的な状態に少なくとも部分的に基づいている、前記アクションに関連付けられる安全コスト、前記オブジェクトと前記車両との間の前記相対的な状態に少なくとも部分的に基づいている、前記アクションに関連付けられる快適コスト、前記アクションに関連付けられる車両遅延に少なくとも部分的に基づいている、前記アクションに関連付けられる進行コスト、または前記環境に関連付けられる1つまたは複数の規制に少なくとも部分的に基づいている、前記アクションに関連付けられる動作ルールコストの少なくとも1つに少なくとも部分的に基づいて決定される、段落F乃至段落Mのいずれか一項に記載の方法。
【0157】
O.プロセッサと、命令を格納する非一時的コンピュータ可読媒体を備えたシステムまたは装置であって、前記命令は、実行されると、段落F乃至段落Nのいずれか一項に記載のコンピュータ実行方法をプロセッサに実行させるシステムまたは装置。
【0158】
P.処理手段と、前記処理手段に結合される格納手段とを備えたシステムまたは装置であって、前記格納手段は、段落F乃至段落Nのいずれか一項に記載のコンピュータ実行方法を1つまたは複数のデバイスに実行させる、システムまたは装置。
【0159】
Q.命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、実行されると、1つまたは複数のプロセッサに、
センサーデータに少なくとも部分的に基づいて環境内の場所のオブジェクトを識別することと、前記オブジェクトの場所が前記車両の車両軌道上の車両の走行を妨げていることを判定することと、前記オブジェクトの場所が車両軌道上の車両の走行を妨げていることに少なくとも部分的に基づいて、オブジェクトが車両軌道を少なくとも部分的にブロックしていると判定することと、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性を判定ことと、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性に少なくとも部分的に基づいて前記車両を制御することと
を実行させる、非一時的コンピュータ可読媒体。
【0160】
R.前記命令は、前記プロセッサに、車線の端を表す車線マーカーと前記オブジェクトの場所との間の第1の距離を判定することと、前記車両の幅をマイナスした前記第1の距離を含む第2の距離を判定することと、前記第2の距離に少なくとも部分的に基づいて第2の車両軌道を判定することをさらに実行させ、前記車両を制御することは、前記第2の車両軌道に従って前記車両に走行させる、段落Qの非一時的コンピュータ可読媒体。
【0161】
S.前記命令は、前記プロセッサに、前記距離に関連付けられる車両速度を判定することを実行させ、前記第2の車両軌道は前記車両速度を備える、段落Q乃至段落Rのいずれか一項に記載の非一時的コンピュータ可読媒体。
【0162】
T.前記車両を制御することは、前記オブジェクトの周囲をナビゲートするために前記車両が取るべき第1の軌道を判定することと、前記オブジェクトの周囲をナビゲートするために前記車両が取るべき第2の軌道を判定することと、前記第1の軌道に関連付けられる第1のコストおよび前記第2の軌道に関連付けられる第2のコストを判定することであって、前記第1のコストおよび前記第2のコストは、それぞれの軌道に関連付けられる安全コスト、快適コスト、進行コスト、または動作ルールコストの少なくとも1つを備える、ことと、前記第1の軌道に関連付けられる第1のコストが前記第2の軌道に関連付けられる第2のコストよりも低いと判定することと、前記第1の軌道に従って前記車両に前記オブジェクトの周囲をナビゲートさせることを備える、段落Q乃至段落Sのいずれか一項に記載の非一時的コンピュータ可読媒体。
【0163】
U.前記命令は、前記プロセッサに、前記オブジェクトが前記車両軌道から移動しようとしないというインジケーションを受信することをさらに実行させ、前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性は、前記インジケーションに少なくとも部分的に基づく、段落Q乃至段落Tのいずれか一項に記載の非一時的コンピュータ可読媒体。
【0164】
V.前記オブジェクトが前記車両軌道を少なくとも部分的にブロックし続ける可能性は、前記オブジェクトの分類、前記オブジェクトの位置、前記オブジェクトの場所、前記オブジェクトのサイズ、前記オブジェクトに関連する安定性のレベル、前記オブジェクトの速度、または前記オブジェクトの速度変化のうちの少なくとも1つに少なくとも部分的に基づく、段落Q乃至段落Uのいずれか一項に記載の非一時的コンピュータ可読媒体。
【0165】
上記のような例示的な条項が1つの具体的な実装に対して説明されているが、本願の文脈において、本例示的な条項の内容はまた、方法、デバイス、システム、コンピュータ可読媒体、および/または別の実装を介して実装され得ることを理解されたい。さらに、例示的な条項A~Vのいずれかは、単独で、または他の1つもしくは複数の例示的な条項A~Vと組み合わせて実装されることができる。
【0166】
(結論)
本明細書で説明される技術の1つまたは複数の例示が説明されてきた一方で、それらの例示の様々な変更形態、追加形態、置換形態、および均等形態が、本明細書で説明される技術範囲内に含まれる。
【0167】
例示の説明において、主張される特許の主題の特定の例を示す、本願の一部を形成する添付図面に対する参照が行われる。他の例が用いられることが可能であること、および構造上の変更などの変更または変形が行われることが可能であることを理解されたい。このような例、変更または変形は、意図された発明の主題に対する範囲から必ずしも逸脱するものではない。本明細書におけるステップは、特定の順序で提供される一方で、ある場合において、順序が変更され得ることによって、説明されるシステムおよび方法の機能を変更することなく、特定の入力が異なる時間または異なる順序で提供され得る。開示された手順は、また、異なる順序で実行されることが可能である。さらに、本明細書における様々な算定は、開示される順序で実行される必要はなく、算定の代替の順序を用いる他の例が容易に実装されることが可能である。順序変更されることに加えて、算定は、また、同一の結果を伴う部分的計算に分解されることが可能である。
図1
図2
図3
図4
図5
図6
図7