JP2024510058A - オブジェクト輪郭を使用した衝突回避 - Google Patents
オブジェクト輪郭を使用した衝突回避 Download PDFInfo
- Publication number
- JP2024510058A JP2024510058A JP2023512268A JP2023512268A JP2024510058A JP 2024510058 A JP2024510058 A JP 2024510058A JP 2023512268 A JP2023512268 A JP 2023512268A JP 2023512268 A JP2023512268 A JP 2023512268A JP 2024510058 A JP2024510058 A JP 2024510058A
- Authority
- JP
- Japan
- Prior art keywords
- vehicle
- determining
- bounding
- examples
- contour
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 164
- 230000009471 action Effects 0.000 claims abstract description 34
- 238000005266 casting Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 75
- 230000015654 memory Effects 0.000 description 27
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000003068 static effect Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000008447 perception Effects 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010238 partial least squares regression Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000012628 principal component regression Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/165—Anti-collision systems for passive traffic, e.g. including static obstacles, trees
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/166—Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Transportation (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Image Analysis (AREA)
Abstract
オブジェクトの輪郭を使用した衝突回避の技術について説明する。車両に関連付けられた軌道は、受信され得る。センサデータは、車両に関連付けられたセンサから受信できる。境界輪郭は、決定せれ、センサデータで表されるオブジェクトに関連付けることができる。軌道に基づいて、車両のシミュレートされた位置を決定することができる。さらに、境界輪郭の予測された位置を決定することができる。シミュレートされた車両の位置および境界輪郭の予測された位置に基づいて、車両とオブジェクトとの間の距離は、決定され得る。アクションは、車両とオブジェクトとの間の距離に基づいて、実行できる。
Description
本発明は、オブジェクト輪郭を使用した衝突回避に関する。
本特許出願は、2020年12月30日に出願された米国実用特許出願第17/138,710号および2020年12月30日に出願された米国実用特許出願第17/138,751号の優先権を主張する。出願番号17/138,710および17/138,751は、参照により本明細書に完全に組み込まれる。
車両は、環境を走行するときにオブジェクトに遭遇することがよくある。これらのオブジェクトは、他の車両、歩行者、動物などを含み得る。特定のオブジェクトを安全に通過しようとするとき、車両は、オブジェクトの位置、サイズ、および形状を決定し得る。いくつかの状況では、車両は、境界ボックスに基づいてオブジェクトのサイズおよび形状を決定し得る。しかしながら、境界ボックスは、オブジェクトの正確な表現を提供することができない場合がある。この障害は、オブジェクトを通過する車両の安全なナビゲーションが損なわれる可能性がある。
詳細な説明は、添付の図面を参照して説明される。図面において、参照番号の左端の数字は、その参照番号が最初に出現する図面を識別する。異なる図面における同一の参照番号の使用は、類似または同一のコンポーネントまたは特徴を示す。
本開示の例による、オブジェクトに関連付けられた境界輪郭を決定し、境界輪郭を使用して、オブジェクトとの衝突の可能性について車両の軌道を確認するための例示的な実装を示す図である。
本開示の例による、オブジェクトに関連付けられたセンサデータに基づいて、オブジェクトに関連付けられた境界輪郭を決定するための例示的なプロセスを示すフローチャートである。
本開示の例による、オブジェクトとの衝突の可能性を確認するために境界ボックスおよび境界輪郭を使用するための例示的なプロセスを示すフローチャートである。
本開示の例による、オブジェクトに関連付けられた例示的なライダー点クラウドおよびライダー点クラウドを画定する境界形状を示す図である。
本開示の例による、オブジェクトに関連付けられた例示的なライダー点クラウドおよびライダー点クラウドを画定する境界形状を示す図である。
本開示の例による、ライダー点クラウドに関連付けられた凸包を生成し、凸包に基づいて境界輪郭を作成するための例示的なプロセスを示すフローチャートである。
本開示の例による、凸包の境界縁を2つのより短いセグメントに置き換えるための例示的なプロセスを示す図である。
本開示の例による、凸包の境界縁を2つのより短いセグメントに置き換えるための別の例示的なプロセスを示す図である。
本開示の例による、境界縁上のライダー点およびライダー点の大部分から離れて配置された例示的な迷走点を有する例示的な凸包を示す図である。
本開示の例による、境界縁上のライダー点およびライダー点の大部分から離れて配置された例示的な迷走点を有する例示的な凸包を示す図である。
本開示の例による、オブジェクトの境界輪郭に基づいて車両とオブジェクトとの間の距離を決定するための例示的なプロセスを示すフローチャートである。
本開示の例による、車両と境界輪郭との間の距離を決定するときのオブジェクトの例示的な車両軌道および境界輪郭を示す図である。
本開示の例による、車両と境界輪郭との間の距離を決定するときのオブジェクトの例示的な車両軌道および境界輪郭を示す図である。
本開示の例による、例示的な境界ボックス、境界輪郭、および軸整列された境界ボックスを示す図である。
本開示の例による、例示的な境界ボックス、境界輪郭、および軸整列された境界ボックスを示す図である。
本開示の例による、例示的な境界ボックス、境界輪郭、および軸整列された境界ボックスを示す図である。
本明細書で説明される技術を実装するための例示的なシステムを示す図である。
本開示は、オブジェクトに関連付けられた境界輪郭を決定し、衝突回避などのアクションのためにそれらの境界輪郭を使用するための技術を対象とする。いくつかの例では、ライダーセンサは、オブジェクトに関連付けられたライダーデータを受信し得る。ライダーデータは、2次元平面に投影され得、凸包は、投影されたライダーデータに基づいて識別され得る。凸包に関連付けられた境界縁を取り除いて、オブジェクトにぴったりとフィットする周囲を表す境界輪郭を決定することができる。境界輪郭は、例えば、車両のプランニングコンポーネントで使用され、車両が境界輪郭によって表されるオブジェクトと衝突する可能性があるかどうかを決定することができる。
いくつかの例では、凸包の最長境界縁を置き換えるとき、最長境界縁は、第1のエンドポイントおよび第2のエンドポイントを有することができる。凸包内の内部点は、識別され得る。いくつかの例では、最長の境界縁は、1)第1のエンドポイントおよび内部点に基づく第1のセグメント、および2)内部点および第2のエンドポイントに基づく第2のセグメントに置き換えられ得る。更新された凸包は、第1のセグメントおよび第2のセグメントに基づいて決定され得る。最長の境界縁を連続的に置き換えるプロセスは、関連付けられたオブジェクトの周囲を密接に表す境界輪郭を生成することができる。
いくつかの例では、センサデータは、ライダーデータを含むことができ、多様なライダー点を含むことができる。ライダーデータを2次元表現に投影することに関連して、すべてのライダー点のいくつかは、事前に定められたグリッド上の最も近い位置に再配置することができる。任意の2つまたはそれ以上のライダー点が同じグリッド位置を共有する場合、重複するライダー点の一部またはすべては、各グリッド位置に対して1つのライダー点が残るように削除することができる。いくつかの例では、所定のグリッド位置は、1センチメートルの間隔を有し得るが、本明細書では他の寸法が企図される。
いくつかの例では、システムは、オブジェクトに関連付けられた境界輪郭に基づいて、車両がオブジェクトと衝突する可能性があるかどうかを決定し得る。衝突の可能性が検出された場合、システムは、オブジェクトとの衝突を回避するための車両アクションを決定し、衝突を回避しようとするためにそのアクションを開始し得る。他の例では、アクションは、オブジェクトに関連付けられた境界輪郭に基づいて決定され得る。例えば、アクションは、車両を制御すること、静的オブジェクトを決定すること、動的オブジェクトを決定すること、またはマップデータを更新することのうちの少なくとも1つを含み得る。
いくつかの例では、ライダー点クラウドデータで識別されたオブジェクトに関連付けられた境界ボックスが識別され得る。境界ボックスのサイズは、より多くの量のライダー点クラウドデータを含むように拡張される。拡張された境界ボックス内のライダー点は、キャプチャされ、オブジェクトに関連付けられた増加したライダーデータを提供することができる。拡張された境界ボックス内のすべてのライダー点に関連付けられた境界形状は、オブジェクトの輪郭をよりよく表すために作成され得る。
いくつかの例では、システムは、車両に関連付けられた軌道を受信し、車両に関連付けられたセンサからセンサデータを受信し得る。境界輪郭を決定することができ、境界輪郭は、センサデータに表されるオブジェクトに関連付けられている。車両に関連付けられた軌道に基づいて、システムは、車両のシミュレートされた位置を決定し得る。さらに、境界輪郭の予測位置が決定され得る。車両のシミュレートされた位置および境界輪郭の予測された位置に基づいて、車両とオブジェクトとの間の距離が決定され得る。アクションは、車両とオブジェクトとの間の距離に基づいて実行することができる。
いくつかの例では、本明細書で説明する境界輪郭は、オブジェクトの周囲を密接に識別するポリゴンであり得る。車両とオブジェクトとの間の距離に基づいて実行されるアクションは、軌道を検証すること、または軌道を無効にすることを含み得る。いくつかの例では、車両とオブジェクトとの間の距離は、レイキャスティングを使用して決定され得る。例えば、レイキャスティングは、車両の側面から(または軌道に関連付けられた点から)境界輪郭に向かって(例えば、垂直に)拡張し得る。衝突は、光線が通過するいくつかの境界輪郭縁に基づいて検出することができる。例えば、光線が偶数の境界輪郭縁を通過する場合、衝突は、発生してない。しかし、光線が奇数の境界輪郭縁を通過すると、車両とオブジェクトの間で衝突が発生する。
いくつかの例では、軸整列された境界ボックスを使用して、車両とオブジェクトとの間などの潜在的な衝突を迅速に確認することができる。例えば、軸整列された境界ボックスは、境界輪郭に関連付けられ得る。車両とオブジェクトとの間の第2の距離は、軸整列された境界ボックスに基づいて決定され得る。いくつかの例では、軸整列された境界ボックスは、車両の長手方向軸に沿って整列される。
本明細書で説明する技術は、多くの方法で車両のコンピューティングデバイスの機能を改善することができる。記載された技術は、オブジェクトの形状の改善された表現を提供する。本明細書に記載されるように、境界輪郭は、オブジェクトの周囲に密接に従うポリゴンを提供する。境界輪郭は、境界ボックスのように4つの側面に限定されない。したがって、境界輪郭は、オブジェクトの正確な表現を提供するために、オブジェクトのすべての形状に調整することができる。ぴったりフィットする境界輪郭は、潜在的な衝突、車両とオブジェクトとの間の距離、およびオブジェクトに関連付けられた他のアクションのより正確な決定をサポートする。
本明細書で説明する技術は、また、境界輪郭をより速く、より少ないコンピューティングリソースで決定することによって、車両のコンピューティングデバイスの改善された機能を提供し得る。ドロネー三角測量などの既存の技術と比較して、説明されるシステムおよび方法は、一組の点のすべての点をカバーする多様な三角形を作成する必要なしに境界輪郭の作成を簡素化し得る。点のセット内に多様な三角形を作成する必要があるドロネー三角測量プロセスは、時間がかかり、重要なコンピューティングリソースを必要とする可能性がある。本明細書で説明されるシステムおよび方法は、一組の点における三角形を計算する必要性を排除することによってプロセスを簡素化し得る。
本明細書で説明される本技術は、多くの手法で実装されることが可能である。例示的な実装は、下記の図面を参照して以下で提供される。自律車両の文脈で説明されているが、本明細書に記載される方法、装置、およびシステムは、様々なシステムに適用することができ、自律車両に限定されない。別の例では、技術は、任意のタイプの車両、ロボットシステム、またはセンサデータを使用する任意のシステムで利用することができる。また、本明細書において説明される技術は、(例えば、センサを使用して取り込まれた)実データ、(例えば、シミュレータによって生成された)シミュレートされたデータ、または、この2つの任意の組み合わせと共に使用されることが可能である。
図1は、本開示の例による、オブジェクトに関連付けられた境界輪郭を決定し、境界輪郭を使用して、オブジェクトとの衝突の可能性について車両の軌道を確認するために、環境122および環境132に関連付けられた例示的なプロセス100の絵画的流れ図を示す。いくつかの例では、オブジェクトに関連付けられた境界輪郭を決定することは、本明細書で説明されるように、車両内の車両コンピューティングデバイスによって実行され得る。さらに、いくつかの例では、車両コンピューティングデバイスを使用して、境界輪郭に基づいて、オブジェクトとの衝突の可能性について車両の軌道を確認し得る。
図1に示されるように、プロセス100は、車両に近接するオブジェクトに関連付けられた境界輪郭を決定する動作120を含む。プロセス100はさらに、オブジェクトに関連付けられた境界輪郭を使用して、オブジェクトとの衝突の可能性について車両の軌道を確認する動作130を含む。
環境122に示されるように、例示的な画像102は、オブジェクト104が動作し得る場面を示す。例示的な画像102において、オブジェクト104は、車両として示される。他の例では、オブジェクト104は、任意のタイプの静的オブジェクトまたは動的オブジェクトであり得る。例えば、静的オブジェクトは、木、建物、標識、交通信号などを含み得る。例示的な動的オブジェクトは、車両、歩行者、動物などを含み得る。いくつかの例では、オブジェクト104は、特定の時間(例えば、移動中の車両)で移動してもよく、他の時間(例えば、駐車中の車両または信号機で停止した車両)で停止してもよい。
図1はまた、画像102内のオブジェクト104に関連付けられた境界輪郭106の例を示す。境界輪郭106は、例えば、本明細書で説明されるシステムおよび方法を使用して作成され得る。境界輪郭106は、オブジェクト104の外周に関連付けられ得る。本明細書で説明されるように、境界輪郭106は、オブジェクト104との衝突を回避し、オブジェクトから安全な距離を維持するために使用され得る。いくつかの例では、境界輪郭106は、境界ボックス(例えば、オブジェクト104に関連付けられた矩形ボックス)と組み合わせて使用することができ、これらの両方は、オブジェクト104に関連付けられた情報を提供し得る。
いくつかの例では、境界輪郭106は、境界ボックスよりもオブジェクトの正確な形状のより良い表現を提供し得る。特定の例では、境界ボックスは、4つの辺を有する長方形であってもよい。この基本的な長方形の形状は、境界ボックスがオブジェクトのすべての部分を含むように拡張され得るため、オブジェクトを正確に表すことができない場合がある。例えば、大きなサイドミラーを有する車両の状況では、ミラーに合わせて拡張された境界ボックスは、実際の車両よりも著しく大きい場合がある。同様に、境界ボックスが大きなサイドミラーを有する車両の本体に合うようにサイズ設定されている場合、境界ボックスは、サイドミラーを包含しない場合がある。対照的に、境界輪郭106は、オブジェクトの形状または不規則性に関係なく、オブジェクトの外縁に密接に従うように作成されたポリゴンであり得る。このぴったりフィットされるポリゴンは、長方形の境界ボックスよりもオブジェクトの形状をより正確に表現を提供し得る。1つまたは複数の例では、境界輪郭106を表すポリゴンは、本明細書で「境界縁」とも呼ばれる5つ以上の外縁を有し得る。
いくつかの例では、境界輪郭106は、オブジェクト104との衝突の可能性について車両の軌道を確認するときに使用され得る。環境132に示されるように、軌道110は、環境132を通る車両112の計画された運転 経路を画定し得る。図1では、オブジェクトに関連付けられた境界輪郭114が、軌道110および車両112に対して表示される。境界輪郭114は、別の車両、歩行者、動物、建物、街路標識、木などの任意のオブジェクトタイプに関連付けられ得る。本明細書で説明されるように、記載されるシステムおよび方法は、光線116によって示されるように、レイキャスティングを使用して、車両112と境界輪郭114との間の距離を決定し得る。車両112と境界輪郭114との間の距離に基づいて、車両112は、境界輪郭114に関連付けられたオブジェクトとの衝突を回避するために1つまたは複数のアクションを取ることができる。例えば、車両112は、オブジェクトからの距離およびオブジェクトのタイプに関連付けられる潜在的なリスクに応じて、ステアリング、ブレーキ、ホーンの鳴り、車両乗員の警告などのアクションを取ることができる。
本明細書で説明されるように、いくつかの例は、オブジェクトに関連付けられた境界輪郭を決定し、オブジェクトとの衝突の可能性について車両の軌道を確認し、車両内の車両コンピューティングデバイスを使用して他の活動を実行し得る。車両に関する追加の詳細が本明細書に記載される。
図2は、本開示の例による、オブジェクトに関連付けられたセンサデータに基づいて、オブジェクトに関連付けられた境界輪郭を決定するための例示的なプロセス200を示すフローチャートである。プロセス200に関して本明細書で記載される動作は、本明細書で説明されるように、1つまたは複数の車両コンピューティングデバイスによって実行され得る。
例として、プロセス200は、論理フローグラフとして示され、その各動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装することができる一連の動作を表す。ソフトウェアの場合において、動作は、1つまたは複数のプロセッサによって実行された場合に、列挙した動作を実行する1つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表すことができる。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データタイプを実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含み得る。動作が記載される順序は、限定として解釈されることを意図するものではなく、プロセス200を実装するために、記載される動作の任意の数を任意の順序でおよび/または並行して結合(または省略)することができる。いくつかの例では、多様な分岐は、個別に、または本明細書で説明される他の動作と組み合わせて使用され得る代替の実装を表す。
動作202において、プロセスは、オブジェクトを含む画像データを受信することを含み得る。いくつかの例では、画像データは、車両に関連付けられたイメージセンサ(例えば、カメラ)によってキャプチャされ得る。動作204において、プロセスは、画像データに基づいてオブジェクトに関連付けられた境界ボックスを決定することを含み得る。いくつかの例では、3次元境界ボックスは、画像データに基づいて決定され得る。3次元境界ボックスを決定するための例示的な技術は、2017年11月16日に出願された「Pose Determination from Contact Point」と題された米国特許出願第15/814,870号、および2019年5月9日に出願された「Image-Based Depth Data and Bounding Boxes」と題された米国特許出願第16/408,414号に説明されており、これらの両方の全体は、あらゆる目的のために、参照により本明細書に組み込まれる。しかしながら、境界ボックスは、ライダーデータ、飛行時間データなどの他のセンサデータに基づいて決定することができる。いくつかの例では、プロセス200は、動作202および204を省略し得る。
いくつかの例では、境界ボックスは、本明細書で説明されるように、ライダーセンサによってキャプチャされ得るライダーデータに基づいて決定され得る。この例では、動作202および204は、オブジェクトに関連付けられたライダーデータに基づいて境界ボックスを決定する動作に置き換えることができる。
動作206において、プロセスは、オブジェクトに関連付けられたライダーデータを受信し得る。ライダーデータは、車両、構造、または任意の他のアイテムに関連付けられたライダーセンサから受信され得る。いくつかの例では、ライダーデータは、ライダーセンサによって識別される複数のライダー点を含む点群を含む。動作208において、プロセスは、オブジェクトに関連付けられた点群を決定し得る。オブジェクトに関連付けられた点群は、オブジェクトに具体的に関連付けられた全体的な点群のサブ領域(例えば、関心領域)を表し得る。いくつかの例では、ライダー点のサブセットは、オブジェクトを識別するインスタンスセグメンテーションに基づいて決定され得る。
動作210において、オブジェクトに関連付けられた点群は、実質的に水平な平面のような2次元平面上に投影され得る。動作212において、プロセスは、2次元平面上に投影された点群に基づいて、オブジェクトに関連付けられた境界輪郭を決定し得る。いくつかの例では、境界輪郭は、本明細書で説明されるように、境界輪郭を計画された車両軌道と比較する際に使用するために、車両プランニングコンポーネント(例えば、図12に示されるプランニングコンポーネント1232)に提供され得る。
1つまたは複数の例では、境界輪郭は、3次元表現に拡張され得る。例えば、2次元境界輪郭は、x-y平面内で画定されてもよい。2次元境界輪郭は、x-y平面に垂直なx軸に沿って境界輪郭を延長することによって、3次元表現に拡張することができる。いくつかの例では、2次元境界輪郭は、畳み込みニューラルネットワーク(CNN)を使用して3次元表現に拡張され得る。
動作214において、プロセスは、オブジェクトが移動車両、歩行者、動物などの動的オブジェクトであるかどうかを決定し得る。オブジェクトが動的オブジェクトでない場合、プロセスは、他のオブジェクトを選択するために動作218に進み得る。オブジェクトが静的である(例えば、動的ではない)状況では、境界輪郭は、一定の間隔で変化しない場合があり、したがって、動作212で決定された境界輪郭は、更新を必要としない場合がある。
オブジェクトが動的である場合、プロセスは、動作214から動作216まで継続し得、プロセスは、オブジェクトに関連付けられた更新されたライダーデータを受信し得る。いくつかの例では、オブジェクトが動的である場合、その境界輪郭は、オブジェクトが移動するにつれて変化し得る。この状況では、更新された境界輪郭を決定するためにライダーデータを更新することが有利であり得る。例えば、連節バスの形状は、連節バスが環境内のコーナーを通過するにつれて、時間の経過とともに変化し得る。いくつかの例では、凸包の形状は、オブジェクトに関連付けられた予測軌道に基づいて予測することができる。動作216(またはオブジェクトに関する予測)で更新されたライダーデータを受信した後、プロセスは、動作206に戻って、オブジェクトに関連付けられた更新されたライダーデータを決定し得る。
図3は、本開示の例による、オブジェクトとの衝突の可能性を確認するために境界ボックスおよび境界輪郭を使用するための例示的なプロセス300を示すフローチャートである。プロセス300に関して本明細書で記載される動作は、本明細書で説明されるように、1つまたは複数の車両コンピューティングデバイスによって実行され得る。
例として、プロセス300は、論理フローグラフとして示され、その各動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装することができる一連の動作を表す。ソフトウェアの場合において、動作は、1つまたは複数のプロセッサによって実行された場合に、列挙した動作を実行する1つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表すことができる。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データタイプを実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含み得る。動作が記載される順序は、限定として解釈されることを意図するものではなく、プロセス300を実装するために、記載される動作の任意の数を任意の順序でおよび/または並行して結合(または省略)することができる。いくつかの例では、多様な分岐は、個別に、または本明細書で説明される他の動作と組み合わせて使用され得る代替の実装を表す。
動作302において、プロセスは、オブジェクトに関連付けられた境界ボックスを決定することを含み得る。いくつかの例では、境界ボックスは、オブジェクトの画像、オブジェクトに関連付けられたライダーデータなどに基づいて決定され得る。いくつかの例では、動作302で決定された境界ボックスは、動作304で決定された境界輪郭に基づいて軸整列された境界ボックスであり得る。軸整列境界ボックスの追加の例は、本開示だけでなく、図11A~11Cでも説明される。
動作304において、プロセスは、オブジェクトに関連付けられた境界輪郭を決定し得る。例えば、本明細書で説明されるシステムおよび方法は、オブジェクトに関連付けられた境界輪郭を決定するために使用され得る。境界輪郭を決定する追加の例は、図6、図7、図8A、および図8B、ならびに本開示を通して説明される。
動作306において、プロセスは、境界ボックスに基づいて、オブジェクトとの衝突の可能性があるかどうかを決定し得る。いくつかの例では、動作306は、プロセス300を実行するオブジェクトと車両との間の衝突の可能性を決定し得る。動作306が、境界ボックスに基づいて衝突の可能性がない(または可能性が閾値未満である)と判断する場合、プロセスは、動作314で終了し、これは、「衝突の可能性がない」状態を示す。いくつかの例では、「衝突の可能性がない」状態は、車両、他の車両、他のシステム、オブジェクトなどの1つまたは複数のシステムに通信され得る。
動作306が、境界ボックスに基づいて衝突の可能性(例えば、可能性が閾値を上回る)があると判定する場合、プロセスは、動作308に進む。動作308において、プロセスは、境界輪郭に基づいて、オブジェクトとの衝突の可能性があるかどうかを決定し得る。いくつかの例では、動作308は、プロセス300を実行するオブジェクトと車両との間の衝突の可能性を決定し得る。動作308が、境界輪郭に基づいて衝突の可能性がない(または可能性が閾値未満である)と判断する場合、プロセスは、動作314で終了し、これは、「衝突の可能性がない」状態を示す。
動作308が、境界輪郭に基づいて衝突の可能性(例えば、可能性が閾値を上回る)があると判定する場合、プロセスは、動作310に進む。
いくつかの例では、動作302および306で説明される境界ボックスは、ボックス/キューブ形状または他の比較的単純な幾何学的形状を有し得る。潜在的な衝突が(動作306において)検出された場合、オブジェクトのより正確な表現(例えば、境界輪郭)は、動作306において検出された潜在的な衝突を検証または反証するために使用され得る。このアプローチは、単純な計算である境界ボックスとの衝突を最初に確認することによって、コンピューティングリソースの使用を減らし得る。境界輪郭に関連付けられたより複雑な計算は、境界ボックスとの衝突が検出されない限り、または境界ボックスが軌道(および/または軌道に沿った車両のシミュレートされた位置)の閾値距離内にあると予測されない限り、実行されない場合がある。
動作310において、プロセスは、オブジェクトとの衝突を回避するために車両アクションを決定し得る。例えば、車両アクションは、ステアリング、ブレーキ、ホーンを鳴らすこと、車両乗員に警告することなどを含み得る。本明細書で説明するように、動作310で決定される車両アクションは、オブジェクトからの距離およびオブジェクトのタイプに関連付けられる潜在的なリスクに応じて変化し得る。動作312において、動作310で決定された車両アクションは、オブジェクトとの衝突を回避するために開始される。
図4Aおよび4Bは、本開示の例による、オブジェクトに関連付けられた例示的なライダー点群402およびライダー点群を画定する境界形状410を示す図である。いくつかの例では、図4Aに示されるライダー点群402は、車両に関連付けられたライダーセンサによってキャプチャされ得る。本明細書で説明されるように、ライダー点群402は、オブジェクトに関連付けられた境界輪郭を作成するために使用され得る。図4Aは、ライダー点群402内の点の一部またはすべてに関連付けられ得る境界ボックス404を示す。いくつかの例では、境界ボックス404は、車両の一般的な形状を表し得るが、一般的な形状を超えて拡張する車両の部分(例えば、車両の本体から外向きに拡張するミラーおよび他のアイテム)を含まない場合もある。
図4Bは、図4Aに示されるライダー点群402に基づいて生成され得る境界形状410を示す。図4Bに示されるように、境界形状410の一部は、図4Aに示される境界ボックス404の外側に拡張する。したがって、ライダー点群に関連付けられた境界形状410は、境界ボックス404よりも車両の実際の形状のより良い表現であり得る。車両がオブジェクトと衝突するかどうかを決定するとき、オブジェクトの正確な形状は、衝突の可能性を識別するために重要であり得る。本明細書で記載されるシステムおよび方法は、オブジェクトの周囲を画定する境界輪郭の作成について説明する。いくつかの例では、各境界輪郭は、オブジェクトの周囲を密接に識別するポリゴンであり得る。
いくつかの例では、境界ボックス404のサイズは、オブジェクトに関連付けられたすべてのライダー点をキャプチャする可能性を向上させるために拡張され得る。図4Aに示されるように、ライダー点群402の一部は、境界ボックス404の外側に拡張する。境界ボックス404のサイズを拡張することによって、境界ボックス404の外側に位置するライダー点の一部またはすべては、境界形状410でキャプチャされ得る。したがって、オブジェクト情報を境界ボックス404内に含まれるライダー点に限定するのではなく、オブジェクトに関連付けられた境界形状410は、境界ボックス404の外側に位置するライダー点を含むことによって、オブジェクトのより良い表現を提供し得る。
いくつかの例では、境界ボックスは、オブジェクトのサイズ、オブジェクトタイプなどに基づいて、閾値量によって拡張することができる。いくつかの例では、境界ボックス404は、サイズが0.4メートル拡張され得る。いくつかの実装形態では、この拡張は、境界形状410が、車両側面ミラー、歩行者腕などの境界ボックス404を超えて突出するオブジェクトの部分を含むことを可能にする。他の例では、境界ボックス404は、遭遇するオブジェクトの種類、安全要件、所望の安全マージンなどに基づいて任意の量だけサイズを拡張することができる。1つまたは複数の例では、境界ボックス404は、境界ボックス404のいずれかの側面の外側に位置するライダー点をキャプチャするために、4つの側面すべてに拡張される。
図5は、本開示の例による、ライダー点群に関連付けられる凸包を生成し、凸包に基づいて境界輪郭を作成するための例示的なプロセス500を示すフローチャートである。プロセス500に関して本明細書で記載される動作は、本明細書で説明されるように、1つまたは複数の車両コンピューティングデバイスによって実行され得る。
例として、プロセス500は、論理フローグラフとして示され、その各動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装することができる一連の動作を表す。ソフトウェアの場合において、動作は、1つまたは複数のプロセッサによって実行された場合に、列挙した動作を実行する1つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表すことができる。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データタイプを実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含み得る。動作が記載される順序は、限定として解釈されることを意図するものではなく、プロセス500を実装するために、記載される動作の任意の数を任意の順序でおよび/または並行して結合(または省略)することができる。いくつかの例では、多様な分岐は、個別に、または本明細書で説明される他の動作と組み合わせて使用され得る代替の実装を表す。
動作502において、プロセスは、車両に近接する環境に関連付けられたライダーデータを受信することを含み得る。いくつかの例では、ライダーデータは、車両ナビゲーションまたは衝突回避システムにとって重要であり得る1つまたは複数のオブジェクトを含み得る。
動作504において、プロセスは、ライダーデータ内で識別されたオブジェクトに関連付けられた点群を決定し得る。例えば、オブジェクトは、車両の計画された経路内にあってもよく、または車両の計画された経路の近くにあってもよい。いくつかの例では、オブジェクトに関連付けられた点群は、動作502で受信されたライダーデータの一部であり得る。
動作506において、プロセスは、オブジェクトに関連付けられた点群を2次元平面上に投影し得る。動作508において、プロセスは、点群に関連付けられた凸包を生成し得る。いくつかの例では、凸包は、点群に関連付けられた複数の境界縁を含み得る。1つまたは複数の例では、凸包は、有限の一組の点について凸包を計算するための既知のアルゴリズムを使用して生成され得る。いくつかの例では、凸包は、5つ以上の境界縁を有し得る。
いくつかの例では、点群または点の他のグループ化に関連付けられた点は、所定のグリッド上の最も近い位置に再配置され得る。例えば、所定のグリッドは、グリッド点間の1センチメートルなどの均一な間隔を有し得る。この点群の各点は、最も近いグリッド点に再配置することができる。いくつかの例では、2つ以上の点が同じグリッド点に配置され得る。この状況では、同じグリッド点のすべての重複点が削除され、それにより、グリッド点に1つの点が残る。
いくつかの例では、点群内の点を所定のグリッドに整列させることは、グリッド内に表現される点がより少ない場合があるため、点群に関連付けられた境界輪郭の作成を単純化し得る。この単純化は、点群から境界輪郭を生成するために必要な時間およびコンピューティングリソースを削減し得る。
動作510において、プロセスは、凸包に関連付けられたもっとも長い境界縁を決定し得る。最長境界縁は、第1のエンドポイントおよび第2のエンドポイントを有することができる。
動作512において、プロセスは、最長境界縁を2つのより短い境界縁に置き換え得る。いくつかの例では、第1の短い境界縁は、第1のエンドポイントを含み得、第2の短い境界縁は、第2のエンドポイントを含み得る。いくつかの実装形態では、最長境界縁を置き換えることは、凸包の内部の内部点(例えば、内部ライダー点)を決定することを含み得る。第1の短い境界縁は、第1のエンドポイントおよび内部点に基づいてもよい。第2の短い境界縁は、内部点および第2のエンドポイントに基づいてもよい。いくつかの例では、動作512は、2つのより短い境界縁によって形成される角度に少なくとも部分的に基づくことができる。動作512の追加の例は、図6および図7に関連して、ならびに本開示全体を通して提供される。
動作514において、プロセスは、次の最長境界縁が除去するには短すぎるかどうかを決定し得る。いくつかの例では、次の最長境界縁の長さが動作512で置き換えられた第1の境界縁の長さの半分未満である場合、次の最長境界縁を除去するには短すぎる場合がある。代替の例では、他のパラメータを使用して、次の最長境界縁が短すぎて除去できない時期を決定し得る。例えば、他のパラメータは、第1の閾値を満たすか、または超える凸包の境界縁の数、第2の閾値未満である最の長く残る境界縁の長さ、または更新された凸包に関連付けられた内部点の数が第3の閾値未満であることを含み得る。
次の最長境界縁が除去するには短すぎない場合、プロセスは、次の最長境界縁を置き換えるために動作512に戻る。
次の最長境界縁が除去するには短すぎる場合、プロセスは、動作516に進み、ここでプロセスは、オブジェクトに関連付けられた境界輪郭を作成し得る。いくつかの例では、境界輪郭は、点群に関連付けられた凸包の境界縁に基づいている。いくつかの例では、オブジェクトに関連付けられた境界輪郭を使用して、車両とオブジェクトとの間の衝突の可能性を決定することができる。
いくつかの例では、各点は、1つまた複数の三角形のベクトルである。一連の点内のすべての点を包含する複数の三角形を作成した後、様々な縁を除去して、一連の点に関連付けられた外側境界を画定し得る。しかしながら、この技術は、外側の境界を画定しようとして、一連の点内のすべての点を包含する三角形の生成および処理を必要とするため、時間がかかる場合がある。本明細書で説明するシステムおよび方法は、境界輪郭を生成するためにより少ないコンピューティングリソースを使用するより速い技術を提供し得る。
図6は、本開示の例による、凸包の境界縁を2つのより短いセグメントに置き換えるための例示的なプロセス600を示す図である。図6に示されるように、ポリゴン620は、任意の数の境界縁および境界縁内に含まれる任意の数の点(例えば、ライダー点)を含み得る。図6の例では、ポリゴン620は、複数の点を含む。これらの点のいくつかは、602-1、602-2,602-3および602-4としてラベル付けされている。いくつかの例では、点602は、ポリゴン(例えば、点602-1、602-3、および602-4)の内側に、またはポリゴンの境界(例えば、点602-2)上に位置し得る。ポリゴン620の例示的な境界縁604が図6に示されている。
いくつかの実施形態では、ポリゴンに関連付けられたすべての点は、ポリゴンの境界上、またはポリゴン内側にあることができる。本明細書で説明されるように、ポリゴンの1つまたは複数の境界縁は、より厳密な境界輪郭を作成するために置き換えられ得る。1つまたは複数の例では、結果として生じるポリゴン(境界縁を置き換えた後)は、単純なポリゴン形状を維持することができる。例えば、結果として生じるポリゴンは、任意のループ、穴、または自己交差縁を有さなくてもよい。本明細書で記載される例は、単純なポリゴン形状を維持する方法での境界縁の除去を例示する。
図6に示されるように、ポリゴン630は、上述のポリゴン320に類似している。ポリゴン630に基づいて、本明細書に記載のシステムおよび方法は、2つのより短い境界縁に置き換えるために最長境界縁を選択する。一例では、最長境界縁は、第1のエンドポイント602-5および第2のエンドポイント602-6を有する境界縁606であり得る。エンドポイント602-5および602-6は、ポリゴン630の境界に関連付けられた点である。
いくつかの例では、より短い境界縁の複数のペアーは、最長境界縁606を置き換えるための可能な候補として識別され得る。ポリゴン630に示されるように、第1のペアーのより短い境界縁は、境界縁608および610として示される。例えば、第1の短い境界縁608は、点602-5(最長境界縁606のエンドポイントの1つ)から点602-3(ポリゴン620に示される)まで拡張する。この例では、点602-3は、ポリゴン内側の内部点である。ポリゴン630に示されるように、第2の短い境界縁610は、点602-6(最長境界縁606の別のエンドポイント)から点602-3 (ポリゴン620に示される)まで拡張する。したがって、第1のペアーのより短い境界縁608、610は、点602-3と接続することによって最長境界縁606を置き換える。
図6の例では、第2のペアーのより短い境界縁が境界縁612および614として示される。例えば、第1の短い境界縁612は、点602-5(最長境界縁606のエンドポイントの1つ)から点602-4(ポリゴン620に示される)まで拡張する。この例では、点602-4は、ポリゴン内側の内部点である。ポリゴン630に示されるように、第2の短い境界縁614は、点602-6(最長境界縁606の別のエンドポイント)から点602-4(ポリゴン620に示される)まで拡張する。この状況では、第2のペアーのより短い境界縁612、614は、点602-4と接続することによって最長境界縁606を置き換える。
したがって、最長境界縁606を置き換える2つの候補は、第1のペアー608、610および第2のペアー612、614である。いくつかの例では、特定の候補を選択するために、記載されたシステムおよび方法は、各ペアーに関連付けられた2つのより短い境界縁の間の角度を識別し得る。1つまたは複数の例では、選択されたペアーのより短い境界縁は、2つのより短い境界縁の間で最大の角度を有するペアーである。図6の例では、第1のペアーのより短い境界縁608、610は、616の角度を有する。図6に示されるように、第2のペアーのより短い境界縁612、614は、618の角度を有する。この例では、角度616は、角度618よりも大きい。したがって、第1のペアーのより短い境界縁608、610が選択され、最長境界縁606を置き換える。
図6に示されるように、ポリゴン640は、上述したポリゴン620および630に類似している。ポリゴン640を参照すると、最長境界縁606は、2つのより短い境界縁608および610に置き換えられている。ポリゴン640に示されるように、新しいポリゴンは、最長境界縁606の置き換えに基づいてより小さい。より短い境界縁608および610は、以前はポリゴン内に位置していた点602-3を共有するため、ポリゴンの完全性は、凸包を締め付けながら維持される。いくつかの例では、より短い境界縁608および610は、任意の点を除去することなく、最長境界縁606を置き換える。
いくつかの例では、記載されたシステムおよび方法は、図6に関して説明されたプロセス600を繰り返して、最長の境界縁を除去し続ける。図5に関して上述したように、プロセスは、次の最長境界縁が短すぎるまで繰り返され得る。
図7は、本開示の例による、凸包の境界縁を2つのより短いセグメントに置き換えるための別の例示的なプロセス700を示す図である。図7に示されるように、ポリゴン710は、図6に関して説明されたポリゴンと類似である。ポリゴン710は、上述したように、新しい境界縁608および610を有するポリゴンを示す。いくつかの例では、境界縁610は、置き換えるべき次の最長境界縁であると決定される。図7のポリゴン710に示されるように、より短い境界縁704および706のペアーは、現在の最長境界縁610を置き換えるための候補として識別される。この例では、より短い境界縁704および706に関連付けられた角度は、他のより短い境界縁候補に関連付けられた角度と同じである。いくつかの例では、2つの角度が同じ場合、記載されたシステムおよび方法は、候補のうちの1つをランダムに選択し得る。図7の例では、現在の最長境界縁610は、ポリゴン720に示されるように、新しいより短い境界縁706および708に置き換えられる。例示的なポリゴン720において、新しい短い境界縁706は、702-3および702-4のエンドポイントを有し、新しい短い境界縁708は、702-4および602-6のエンドポイントを有する。
図8Aおよび8Bは、本開示の例による、境界縁上のライダー点およびライダー点の大部分から離れて配置された例示的な迷走点を有する例示的な凸包を示す図である。図8Aの例では、凸包は、凸包の境界上に複数のライダー点を有する凸包が示されている。例えば、点802-1、802-2、および802-3は、凸包境界上に位置する。図8Aに示されるように、提案された新しい境界縁804は、点802-1から802-3まで拡張する。いくつかの例では、この提案された新しい境界縁804は、新しい縁804が境界から点802-2を除去することになるため、許可されない。この状況では、点802-2は凸包の外側にある。1つまたは複数の例では、すべての点が凸包内にあることが必要とされ得るか、または凸包の境界に関連付けられ得るため、このタイプの境界縁の置き換えは、許可されない。
図8Bの例では、例示的な迷走点810は、ライダー点の大部分から離れて配置される。いくつかの例では、点810は、凸包ポリゴンの一部として維持される。1つまたは複数の例では、点810は、ポリゴンから取り除かれず、点810をポリゴンの外側に位置させる縁は置き換えられない(図8Aに関して説明されるように)。
いくつかの例では、境界縁は、各境界縁の置換後に単純なポリゴンが維持されることを確実にするために、順次置換される。特定の例では、本明細書に記載のシステムおよび方法は、静的オブジェクトまたは動的オブジェクトを表す凸包と共に使用され得る。
図9は、本開示の例による、オブジェクトの境界輪郭に基づいて車両とオブジェクトとの間の距離を決定するための例示的なプロセス900を示すフローチャートである。プロセス900に関して本明細書で記載される動作は、本明細書で説明されるように、1つまたは複数の車両コンピューティングデバイスによって実行され得る。
例として、プロセス900は、論理フローグラフとして示され、その各動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装することができる一連の動作を表す。ソフトウェアの場合において、動作は、1つまたは複数のプロセッサによって実行された場合に、列挙した動作を実行する1つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表すことができる。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データタイプを実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含み得る。動作が記載される順序は、限定として解釈されることを意図するものではなく、プロセス900を実装するために、記載される動作の任意の数を任意の順序でおよび/または並行して結合(または省略)することができる。いくつかの例では、多様な分岐は、個別に、または本明細書で説明される他の動作と組み合わせて使用され得る代替の実装を表す。
動作902において、プロセスは、車両に関連付けられた軌道を受信することを含み得る。軌道は、車両が目的地に向かって追跡するための計画された経路であり得る。動作904において、プロセスは、車両に関連付けられたセンサからセンサデータを受信し得る。いくつかの例では、センサは、ライダーセンサであり得、センサデータは、ライダー点群を含むことができるライダーデータであり得る。
動作906において、プロセスは、センサデータに表されるオブジェクトに関連付けられた境界輪郭を決定し得る。いくつかの例では、境界輪郭は、オブジェクトに関連付けられたライダー点群に基づいて決定され得る。
動作908において、プロセスは、車両に関連付けられた軌道に基づいて車両のシミュレートされた位置を決定し得る。いくつかの例では、車両の位置は、軌道に沿った異なる点でシミュレートされて、それらの異なる点での障害物との衝突の可能性を決定し得る。将来の時点で軌道に沿った潜在的な衝突を識別することによって、車両は、衝突の可能性を低減または排除する1つまたは複数のアクションを取るための余分な時間を有し得る。いくつかの例では、衝突は、車両が将来の時間に占有し得るポーズから横方向に検出され得る。例えば、複数のポーズは、車両がその現在の軌道に応じて占有し得ることを予測することができる。これらのポーズのそれぞれに沿って、横方向の衝突検出技術を、開示された技術に従って適用することができる。同様の技術は、複数の投影された軌道/ポーズに適用されて、複数の経路に沿った、および/または異なる将来の決定の可能性に応答して、車両の予測される可能性のある将来のポーズを説明することができる。
動作910において、プロセスは、境界輪郭の予測された位置を決定し得る。いくつかの例では、軌道に沿った異なる点(例えば、将来の時間)における車両のシミュレートされた位置は、同じ将来の時間における境界輪郭の予測された位置と比較され得る。いくつかの例では、動作910は、境界輪郭に関連付けられたオブジェクトの予測された軌道を受信することを含み得、いくつかの例では、予測された位置は、予測された軌道に基づくことができる。いくつかの例では、動作910は、予測された軌道に沿った境界輪郭の予測された向きを決定することを含むことができる。
動作912において、プロセスは、将来の時点で車両とオブジェクトとの間の距離を決定し得る。いくつかの例では、距離は、車両のシミュレートされた位置およびオブジェクトを表す境界輪郭の予測された位置に基づいて決定され得る。車両と境界輪郭との間の距離は、車両とオブジェクトとの間の衝突の可能性を決定するのに役立ち得る。
動作914において、プロセスは、車両とオブジェクトとの間の距離に基づいてアクションを実行し得る。いくつかの例では、車両とオブジェクトとの間の距離が閾値未満である場合、アクションは、開始され得る。いくつかの例では、閾値は、車両および/またはオブジェクトの速度、オブジェクトの分類、環境に関連付けられたマップデータ、オブジェクトの行動などに基づいてもよい。本明細書で説明されるように、アクションは、車両とオブジェクトとの間の衝突の可能性を低減または排除する運転操作を含み得る。
動作916において、プロセスは、軌道上の更新された車両位置を(後で)決定し得る。いくつかの例では、プロセスは、後の時間に基づいてシミュレートされた車両位置を決定し、その後の時間における衝突の可能性を決定するために動作908に戻ってもよい。
図10Aおよび10Bは、本開示の例による、車両と境界輪郭1004との間の距離を決定するときのオブジェクトの例示的な車両軌道1002および境界輪郭1004を示す図である。いくつかの例では、車両軌道1002は、環境を通る車両の計画されたナビゲーションパスを識別する。図10Aおよび図10Bに示されるように、境界輪郭1004は、車両軌道1002に近接して位置する。本明細書で説明されるように、境界輪郭1004は、車両、歩行者、動物、建物、道路標識、木などの任意のタイプのオブジェクトに関連付けられ得る。
図10Bは、車両1006が車両軌道1002上の特定の位置に位置する特定の時間を示す。図10Bの例では、車両1006と境界輪郭1004によって画定されたオブジェクトとの間の距離を決定することが望ましい場合がある。この距離は、車両軌道1002に従うときに、車両1006が境界輪郭1004を過ぎて安全に案内できるかどうかを決定するために重要であり得る。いくつかの実施形態では、車両1006と境界輪郭1004によって画定されるオブジェクトとの間の距離は、レイトレース1008によって示されるように、レイキャスティングによって決定され得る。
車両1006と境界輪郭1004との間の距離に基づいて、車両1006は、境界輪郭1004に関連付けられたオブジェクトとの衝突を回避するために1つまたは複数のアクションを取る場合がある。例えば、車両1006は、オブジェクトからの距離およびオブジェクトのタイプに関連付けられる潜在的なリスクに応じて、ステアリング、ブレーキ、ホーンの鳴り、車両乗員の警告などのアクションを取る場合がある。いくつかの例では、高速移動車両などの特定のタイプのオブジェクトは、木または交通標識などの静止したオブジェクトよりも車両1006と衝突するリスクが高い可能性がある。
いくつかの例では、車両1006および境界輪郭1004は、車両1006が車両軌道1002に沿って移動するにつれて、車両1006とオブジェクトとの間の将来の衝突を決定するために、車両の軌道に沿って伝搬され得る。いくつかの実装形態では、境界輪郭1004は、車両軌道1002に沿った複数の点で決定され得る。車両1006の位置は、本明細書で説明されるように、レイキャスティングを使用して、車両軌道1002に沿ったそれらの同じ点で決定され得る。車両軌道1002に沿ったこれらの点は、空間および時間における特定の点であり得る。
いくつかの例では、本明細書に記載のシステムおよび方法は、車両1006が境界輪郭1004に関連付けられたオブジェクトを安全に通り過ぎて案内できるかどうかを決定し得る。衝突がない場合でも、いくつかの例では、オブジェクトを通過する車両1006の安全なナビゲーションを確実にするための最小距離の閾値(例えば、安全マージン)があり得る。
いくつかの例では、第1の境界を使用して、車両と外部オブジェクトとの間の潜在的な衝突を検出することができる。例えば、第1の境界は、境界ボックス/キューブまたは他の比較的単純な幾何学的形状に関連付けることができる。潜在的な衝突が検出された場合、開示された技術など、より正確な(および場合によってはより多くのプロセッサ集約的な)境界技術を使用することができる。次に、より正確な境界技術を使用して、境界ボックス(または他の形状)を使用して検出された潜在的な衝突を検証または反証することができる。
図10Bに示されるように、レイトレース1008は、車両1006の側面から垂直に拡張し、境界輪郭1004を通過し得る。いくつかの例では、車両1006と境界輪郭1004に関連付けられたオブジェクトとの間に衝突が発生し得るかどうかを決定するとき、本明細書で説明されるシステムおよび方法は、レイトレース1008によって境界輪郭1004内で交差する境界の数を決定する。特定の例では、レイトレース1008が境界輪郭1004を通過するときに偶数の境界を交差する場合、車両1006とオブジェクトとの間に衝突はない。図10Bの例では、レイトレース1008は、境界輪郭1004の2つの境界を交差する(例えば、光線が境界輪郭1004に入るときに1回、および光線が境界輪郭1004から出るときに1回)。境界の数が偶数であるため、車両1006は、オブジェクトと衝突する可能性が低い。これは、車両1006と境界輪郭1004との間の分離を示す図10Bによって確認され得る。いくつかの例では、レイトレース1008が奇数の境界を交差する場合、それは、レイトレース1008が境界輪郭1004内で発生したことを意味する。レイトレース1008が境界輪郭1004内に発生する場合、それは、衝突の兆候である(例えば、車両1006の少なくとも一部とオブジェクトが同時に同じ空間を共有する)。
図10Bの例では、レイトレース1008は、車両1006の側面から垂直に延びるように示されている。他の例では、レイトレース1008は、車両1006の任意の部分から任意の方向に拡張し得る。例えば、レイトレース1008は、車両1006の前方または後方から長手方向に延びて、車両1006と車両1006の前方または後方のオブジェクトとの間の距離を決定し得る。
図11A~11Cは、本開示の例による、例示的な境界ボックス、境界輪郭、および軸整列された境界ボックスを示す図である。図11Aの例では、オブジェクトの3つの表現、すなわち境界ボックス1102、境界輪郭1104、および軸整列境界ボックス(AABB)1106が示されている。図11Aに表される例示的なオブジェクトは、車両であり得る。いくつかの例では、境界ボックス1102は、オブジェクト(すなわち、車両)の重要な部分を表す長方形である。図11Aに示されるように、境界ボックス1102の長い側面は、車両の側面を表し得る。しかしながら、境界ボックス1102の長い側面は、車両の各側面から延びるサイドミラーを含まない場合がある。したがって、境界ボックス1102は、車両または他のオブジェクトのすべての部分を正確に表さない場合がある。
図11Aの例では、境界輪郭1104は、車両のより正確な表現を提供し得る。例えば、境界輪郭1104は、車両と別のオブジェクトとの間の衝突の可能性を決定するときに考慮することが重要であり得る、車両の2つのサイドミラーを識別する。上記のように、車両のサイドミラーは、境界ボックス1102内に表されておらず、これは、本明細書で記載されるシステムおよび方法が、境界ボックス1102のみに基づくサイドミラーを認識していないため、衝突の可能性を増加させる場合がある。
図11Aはまた、軸整列境界グボックス(AABB)1106を含む。AABB(1106)は、x-y軸、車両または他のオブジェクトの長手方向軸などの特定の軸と整列され得る境界ボックスである。図11Aの例では、AABB(1106)は、x-y軸上に整列される。いくつかの例では、AABB(1106)は、AABB(1106)によって表される車両と別のオブジェクトとの間の衝突の可能性に関する早期確認を実行するために使用される。例えば、AABB(1106)を使用する早期確認は、動的輪郭のために動的AABBツリーを使用し得る。動的AABBツリーは、クエリ輪郭のAABBと重複するAABBsを有する輪郭の効率的な検索を可能にし得る(例えば、他のオブジェクトとの衝突の可能性を確認する車両の輪郭)。
図11Bの例では、環境1110は、第1の車両(またはオブジェクト)1114および第2の車両(またはオブジェクト)1118を含む。この例では、第1の車両1114は、関連付けられたAABB(1112)を有し、第2の車両1118は、関連付けられたAABB(1116)を有する。図11Bに示されるように、AABB(1112)およびAABB(1116)は、ローカルユニバーサル横メルカトル(UTM)と整列される。したがって、AABB(1112)およびAABB(1116)は、図11Bに示される水平軸および垂直軸と整列される。図11Bの例では、AABB(1112)およびAABB(1116)は、互いに重複しており、これは、第1の車両1114と第2の車両1118との間の潜在的な衝突を検出するための衝突回避システムまたはアルゴリズムを引き起こし得る。しかしながら、図11Bに示す例は、衝突状況を表すものではない。代わりに、図11Bの例では、第1の車両1114と第2の車両1118との間に適切な間隔がある。2つの車両1114および1118間の潜在的な衝突は、それぞれ第1の車両1114および第2の車両1118を正確に表さないAABB(1112)およびAABB(1116)の領域に起因して示され得る。
図11Cの例では、環境1120は、第1の車両(またはオブジェクト)1124および第2の車両(またはオブジェクト)1128を含む。この例では、第1の車両1124は、関連付けられたAABB(1122)を有し、第2の車両1128は、関連付けられたAABB(1126)を有する。図11Cに示されるように、AABB(1122)およびAABB(1126)は、車両1124および1128のヨーと整列される。車両1124および1128のヨーとのこの整列は、AABB(1122)および1126の重複を回避する。A ABBs(1122)および1126を車両のヨーに整列されることによって、AABB(1122)および1126は、車両の輪郭のより正確な表現を提供する。これらの「より密接な」AABBs(1122)および1126は、重複せず、これは、環境1120のより正確な表現である。図11Cの例では、衝突回避システムまたはアルゴリズムは、第1の車両1124と第2の車両1128との間の潜在的な衝突を検出しない場合がある。
いくつかの例では、車両のプランニングおよび/または予測コンポーネントは、1つまたは複数の境界ボックス、境界輪郭、およびAABBsを使用して、車両軌道を決定し、車両軌道に沿って車両を案内し、車両と他のオブジェクトとの間の潜在的な衝突を予測し、潜在的な衝突に基づいてアクション(例えば、車両アクション)を開始し得る。1つまたは複数の例では、本明細書に記載のシステムおよび方法は、最初に、衝突を予測するか、またはオブジェクトが車両からの閾値距離を維持するかどうかを決定するために粗い解析を実行し得る。この閾値距離は、車両に関連付けられた安全半径とも称され得る。この粗い解析は、例えば、AABBまたは境界ボックスを使用して実施してもよい。この粗い解析は、最小限のコンピューティングリソースで迅速に実行できる。粗い解析が潜在的な衝突を識別する場合、または車両とオブジェクトが互いに閾値距離を維持できない場合、記載されたシステムおよび方法は、例えば、境界輪郭およびレイトレーシングを使用して、より詳細な解析を実行し得る。いくつかの例では、車両プランニングは、前車両の車軸および後車両の車軸の両方から実行され得る。
いくつかの例では、衝突確認は、時間または距離に制限され得る。例えば、衝突確認は、次の数秒間に時間が制限され得る。動的環境では、環境内で複数の動的オブジェクトが移動するため、遠い将来の衝突チェックが不正確になる可能性がある。したがって、コンピューティングリソースを節約し、正確なデータを生成するために、衝突チェックは、数秒先の将来に制限され得る。
加えて、衝突確認は、車両からの特定の距離に限定され得る。例えば、軌道に沿って移動する車両は、車両または車両の軌道から特定の距離内にあるオブジェクトに関係し得る。いくつかの実装形態では、分析のために閾値距離内で移動するまで、車両および車両の軌道から遠く離れたオブジェクトを無視することができる。これらのオブジェクトを無視することは、コンピューティングリソースを節約し、それらのコンピューティングリソースを、車両または車両軌道へのそれらの近接に基づいて高い優先度であるオブジェクトに焦点を当てる。
いくつかの例では、本明細書に記載のシステムおよび方法は、車両軌道とオブジェクトに関連付けられた境界輪郭との間の衝突を確認し得る。1つまたは複数の例では、AABBツリーを作成することができ、すべての境界輪郭は、車両のヨーに整列される(図11Cに示すように)。車両軌道は、AABBツリーに追加され得る。いくつかの例では、AABBツリーは、衝突の候補について照会することができる。いくつかの例では、記載されたシステムおよび方法は、特定の期間に基づいてAABBツリーを照会し得る。
いくつかの例では、AABBツリーまたは他の技術を使用して、AABBまたは他の相対的なコース表現を使用して潜在的な衝突を決定することができる。境界ボックスを使用して潜在的な衝突を検出することに応答して、より正確な表現は、本明細書に開示されるように、境界輪郭を介して決定され得る。例えば、コース表現は、特定のシナリオにおける潜在的な衝突の第1の確率を示し得る。第1の確率が閾値を満たすことに応答して、潜在的な衝突の第2の決定は、より正確な表現を使用して行うことができる。第2の決定は、第2の確率が第1の確率と異なることができる同じシナリオにおける潜在的な衝突の第2の確率を決定することを含むことができる。第2の確率は、例えば、第1の確率よりも衝突の可能性が低いことを示し得る。より正確な表現の使用は、より粗い表現の使用よりも複雑であり得る。記載されている2段階のアプローチを使用すると、システムが潜在的な衝突を決定するための全体的な複雑さが少なくなる。
いくつかの例では、衝突が検出された場合、記載されたシステムおよび方法は、車両の現在の軌道を無効にするか、または車両からの衝突の時間および距離に基づいて軌道の精度を変更し得る。同様に、安全マージンが損なわれた場合、システムおよび方法は、車両の現在の軌道を無効にするか、または変更し得る。
図12は、本明細書で記載される技術を実装するための例示的なシステム1200を示す図である。車両1202は、1つまたは複数の車両コンピューティングデバイス1204、1つまたは複数のセンサシステム1206、1つまたは複数のエミッター1208、1つまたは複数の通信接続部1210、少なくとも1つの直接接続1212、および1つまたは複数のドライブシステム1214を含み得る。
いくつかの例では、システム1200は、ドライバー(または乗員)がいつでも車両を制御することが期待されていない状態で、全体の旅程においてすべての安全に重要な機能を遂行することができる車両を説明する米国国道交通安全局によって発行されたレベル5の分類に従って動作するように構成された自律車両などの車両として実装することができる。このような例では、車両は、全ての駐車機能を含む出発から停止までの全ての機能を制御するように構成されることが可能であるため、無人化することが可能である。これは、例に過ぎず、本明細書で記載されるシステムおよび方法は、運転者によって常時、手動で制御される必要がある車両から、部分的にまたは完全に自律的に制御される車両までに及ぶ車両を含む、任意の地上車両、空路車両、または水路車両に組み込まれることが可能である。
車両コンピューティングデバイス1204は、1つまたは複数のプロセッサ1216、および1つまたは複数のプロセッサ1216と通信可能に連結されたメモリ1218を含み得る。図示の例では、車両1202は、自律車両である。しかしながら、車両1202は、任意の他のタイプの車両であってよい。図示の例では、車両コンピューティングデバイス1204のメモリ1218は、位置特定コンポーネント1220、知覚コンポーネント1222、1つまたは複数のマップ1224、および1つまたは複数のシステムコントローラ1226を格納する。例示的な目的のためにメモリ1218に存在するように図12に示されているが、位置特定コンポーネント1220、知覚コンポーネント1222、1つまたは複数のマップ1224、および1つまたは複数のシステムコントローラ1226は、追加的に、または代替的に、車両1202にアクセス可能であり得る(例えば、遠隔に格納され得る)ことが企図される。
少なくとも1つの例示において、位置特定コンポーネント1220は、車両1202の位置および/または方向(例えば、x位置、y位置、z位置、ロール、ピッチ、またはヨーのうちの1つまたは複数)を決定するためにセンサシステム1206からのデータを受信する機能を含み得る。例えば、位置特定コンポーネント1220は、環境のマップを含むおよび/または要求/受信し得、マップ内の自律車両の位置および/または方向を継続的に決定し得る。いくつかの例では、位置特定コンポーネント1220は、SLAM(同時位置特定およびマッピング)、CLAMS(較正、位置特定およびマッピング、同時に)、相対的SLAM、バンドル調整、非線形最小2乗最適化などを利用して、画像データ、ライダーデータ、レーダーデータ、IMUデータ、GPSデータ、ホイールエンコーダーデータなどを受信し、自律車両の位置を正確に決定することができる。いくつかの例では、本明細書で記載されるように、位置特定コンポーネント1220は、車両1202の様々なコンポーネントにデータを提供して、軌道を生成するための、および/またはマップデータを生成または受信するための自律車両の初期位置を決定し得る。
いくつかの例において、知覚コンポーネント1222は、オブジェクト検出、セグメンテーション、および/または分類を実行する機能を含み得る。いくつかの例では、知覚コンポーネント1222は、車両1202に近接する物体の存在および/または物体タイプ(例えば、自動車、歩行者、サイクリスト、建物、樹木、路面、縁石、歩道、不明なものなど)として物体の分類を示す処理されたセンサデータを提供する場合がある。追加的または代替的な例において、知覚コンポーネント1222は、検出された物体(例えば、追跡されるオブジェクト)に関連付けられる1つまたは複数の特性および/または物体が配置される環境を示す処理されたセンサデータを提供する場合がある。いくつかの例において、物体に関連付けられる特性は、x-位置(グローバルおよび/またはローカル位置)、y-位置(グローバルおよび/またはローカル位置)、z-位置(グローバルおよび/またはローカル位置)、方向(例えば、ロール、ピッチ、ヨー)、物体タイプ(例えば、分類)、物体の速度、物体の加速度、物体の範囲(サイズ)などを含むことができるが、これらに限定されない。環境に関連付けられた特性は、環境内の別の物体の存在、環境内の別の物体の状態、時刻、曜日、季節、気象条件、暗闇/光の表示などを含み得るが、これらに限定されない。
いくつかの例では、知覚コンポーネント1222は、本明細書で説明されるように、任意の数の境界輪郭を作成および管理し得る境界輪郭コンポーネント1228を含み得る。特定の例では、境界輪郭コンポーネント1228は、1つまたは複数のオブジェクトに関連付けられた境界輪郭を識別する。
メモリ1218は、環境内を案内するために車両1202によって使用され得る1つまたは複数のマップ1224をさらに含み得る。いくつかの例では、マップは、これらに限定されることでないが、テクスチャ情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)など)、強度情報(例えば、LIDAR情報、RADAR情報など)、空間情報(例えば、メッシュ上に投影された画像データ、個々の「サーフェル」(例えば、個々の色および/または明暗度に関連付けられるポリゴン))、反射性情報(例えば、鏡面性情報、再帰反射性情報、BRDF情報、BSSRDF情報など)を含む場合がある。ある例において、マップは、環境の3次元メッシュを含んでよい。いくつかの例において、マップの個々のタイルが環境の個別の部分を表すように、マップをタイル形式で格納でき、本明細書で説明するように、必要に応じて作業メモリにロードする場合がある。少なくとも1つの例示において、1つまたは複数のマップ1224は、少なくとも1つのマップ(例えば、画像および/またはメッシュ)を含んでよい。いくつかの例では、1つまたは複数のマップ1224は、ネットワーク1240を介してアクセス可能なリモートコンピューティングデバイス(コンピューティングデバイス1242など)に格納され得る。いくつかの例では、多様なマップ1224は、例えば、特性(例えば、物体のタイプ、時刻、曜日、その年の季節など)に基づいて格納され得る。多様なマップ1224を格納することは、類似のメモリ要件を有し得るが、マップにおけるデータがアクセスされ得る速度を増加させる。
少なくとも1つの例示において、車両コンピューティングデバイス1204は、1つまたは複数のシステムコントローラ1226を含んでよく、これは、ステアリング、推進、制動、安全性、エミッター、通信、および車両1202の他のシステムを制御するように構成されてよい。これらのシステムコントローラ1226は、ドライブシステム1214の対応するシステムおよび/または車両1202の他のコンポーネントと通信することおよび/または制御することができる。
いくつかの例では、メモリ1218は、車両1202に近接する様々な活動および状況を予測する予測コンポーネント1230を含み得る。少なくとも1つの例では、予測コンポーネント1230は、オブジェクトまたは他の車両の活動または状況との衝突の可能性を予測し得る。
いくつかの例では、メモリ1218は、様々な車両活動を計画し、目的地に到達するために車両軌道を計画するプランニングコンポーネント1232などを含み得る。少なくとも1つの例では、プラニングコンポーネント1232は、車両の軌道に沿った潜在的な衝突を識別し得る衝突確認コンポーネント1234を含み得る。本明細書で説明されるように、衝突確認コンポーネント1234は、境界輪郭を使用して、車両1202と車両の軌道の近くのオブジェクトに関連付けられた境界輪郭との間の距離(および衝突の可能性)を決定し得る。
いくつかの例では、本明細書で説明されるコンポーネントのいくつかまたは全ての態様は、任意のモデル、アルゴリズム、および/または機械学習アルゴリズムを含み得る。例えば、いくつかの例示では、メモリ1218(および以下で説明されるメモリ1246)の内のコンポーネントは、ニューラルネットワークとして実装され得る。
本明細書で記載されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に渡して出力を生成するアルゴリズムである。ニューラルネットワークにおける各レイヤはまた、別のニューラルネットワークを含んでよく、または(畳み込みか否かには関係なく)任意の数のレイヤを含んでもよい。本開示の文脈において理解されるように、ニューラルネットワークは、機械学習を利用してよく、これは、学習したパラメータに基づいて出力が生成されるようなアルゴリズムの広範囲のクラスを指してもよい。
ニューラルネットワークの脈絡で説明されるものの、任意のタイプの機械学習は、本開示と整合するように用いられてよい。例えば、機械学習アルゴリズムには、限定はされないが、回帰アルゴリズム(例えば、通常の最小2乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS)、局所推定散布図平滑化(LOESS))、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対収縮および選択演算 子(LASSO)、弾性ネット、最小角度回帰(LARS))、決定ツリーアルゴリズム(例えば、分類および回帰ツリー(CART)、繰り返しダイコトマイザ3(ID3)、カイ2乗自 動相互作用検出(CHAID)、決定スタンプ、条件付き決定ツリー)、ベイジアルゴリズム(例えば、単純ベイズ、ガウシアン単純ベイズ、多項単純ベイズ、平均1依存エスティメータ(AODE)、ベイジアン信念ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均、k中央値、期待値最大化(EM)、階層クラスタリング)、関連付けルール学習アルゴリズム(例えば、パーセプトロン、バックプロパゲーション、ホップフィールドネットワーク、放射基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例えば、深層ボルツマンマシン(DBM)、深層信念ネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、積層自動エンコーダー)、次元削減技法(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小2乗回帰(PLSR)、サモンマッピング、多次元尺度構成法(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、2次判別分析(QDA)、フレキシブル判別分析(FDA))、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップアグリゲーション(バギング)、アダブースト、積層一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースト回帰ツリー(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、半教師あり学習などを含み得る。
アーキテクチャの追加の例は、ResNet50、ResNetl0l、VGG、DenseNet、PointNetなどのニューラルネットワークを含む。
少なくとも1つの例において、センサシステム1206は、ライダーセンサ、レーダーセンサ、超音波変換器、ソナーセンサ、位置センサ(例えば、GPS、コンパスなど)、慣性センサ(例えば、慣性測定装置(IMUs)、加速度計、磁力計、ジャイロスコープなど)、イメージセンサ(例えば、RGB、IR、強度、深さ、など)、飛行時間センサ、オーディオセンサ、ホイールエンコーダー、環境センサ(温度センサ、湿度センサ、光センサ、圧力センサなど)、その他を含むことができる。センサシステム1206は、これら、または他のタイプのセンサのそれぞれの複数のインスタンスを含み得る。例えば、ライダーセンサは、車両1202の角部、前部、後部、側部、および/または上部に位置する個々のライダーセンサを含み得る。別の例示として、イメージセンサは、車両1202の外部および/または内部の様々な位置に配置される多様なカメラを含み得る。センサシステム1206は、車両コンピューティングデバイス1204に入力を提供し得る。追加的または代替的に、センサシステム1206は、センサデータを、1つまたは複数のネットワーク1240を介して、所定の期間が経過した後、ほぼリアルタイムなどで、特定の頻度で1つまたは複数のコンピューティングデバイス1242に送信し得る。
車両1202はまた、上記で記載されるように、光および/または音を発するための1つまたは複数のエミッター1208を含み得る。本例示におけるエミッター1208は、車両1202の乗員と通信する内部オーディオおよび視覚エミッターを含む。限定ではない例として、内部エミッターは、スピーカー、照明、標識、ディスプレイスクリーン、タッチスクリーン、触覚エミッター(例えば、振動および/または力フィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含み得る。本例示におけるエミッター1208は、また、外部エミッターを含む。例として、この例の外部エミッターは、進行方向または車両の動作の他のインジケーターを知らせるライト(例えば、インジケーターライト、標識、ライトアレイなど)、および歩行者、または音響ビームステアリング技術を含む1つまたは複数の近隣の他の車両と音響で通信する1つまたは複数のオーディオエミッター(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含む。
車両1202は、また、車両1202と1つまたは複数の他のローカルまたはリモートコンピューティングデバイスと間の通信を可能とする1つまたは複数の通信接続部1210も含み得る。例えば、通信接続部1210は、車両1202上の他のローカルコンピューティングデバイスおよび/またはドライブシステム1214との通信を容易にすることができる。また、通信接続部1210は、車両が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通信号など)と通信することを可能とすることができる。通信接続部1210は、また、車両1202がリモート操作コンピューティングデバイスまたは他のリモートサービスと通信することを可能とする。
通信接続部1210は、車両コンピューティングデバイス1204を別のコンピューティングデバイスまたはネットワーク1240のようなネットワークに接続するための物理的および/または論理インターフェースを含んでよい。例えば、通信接続部1210は、IEEE802.11規格によって画定される周波数であり、Bluetoothのような近距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)などを介するWi-Fiに基づいた通信、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能とする任意の適切な有線、または無線通信プロトコルを可能とすることができる。
少なくとも1つの例において、車両1202は、1つまたは複数のドライブシステム1214を含み得る。いくつかの例では、車両1202は、単一のドライブシステム1214を有し得る。少なくとも1つの例において、車両1202が多様なドライブシステム1214を有する場合、個々のドライブシステム1214は、車両1202の対向する端部(例えば、前部および後部など)に配置される場合がある。少なくとも1つの例において、ドライブシステム1214は、ドライブシステム1214および/または車両1202の周囲の条件を検出するための1つまたは複数のセンサシステムを含む場合がある。例示の目的であり、限定ではなく、センサシステムは、ドライブシステムのホイールの回転を感知するための1つまたは複数のホイールエンコーダー(例えば、ロータリーエンコーダー)、ドライブシステムの方向および加速度を測定するための慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他の画像センサ、ドライブシステムの周囲の状態におけるオブジェクトを音響的に検出するための超音波センサ、ライダーセンサ、レーダーセンサなどを含む場合がある。ホイールエンコーダーなどのいくつかのセンサは、ドライブシステム1214に固有のものである場合がある。ある場合において、ドライブシステム1214にあるセンサシステムは、車両1202の対応するシステム(例えば、センサシステム1206)と重複または補完してもよい。
ドライブシステム1214は、高電圧バッテリ、車両を推進するモータ、バッテリからの直流を他の車両システムで使用する交流に変換するインバーター、ステアリングモータおよびステアリングラック(電動とすることができる)を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、HVACシステム、照明(例えば、車両の外周を照らすヘッドライト/テールライトなどの照明)、および1つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバータ、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどの他の電気的コンポーネント)を含む多くの車両システムを含み得る。さらに、ドライブシステム1214は、センサシステムからデータを受信することができ、前処理をすることができる様々な車両システムの動作を制御するためにドライブシステムコントローラを含んでよい。いくつかの例では、ドライブシステムコントローラは、1つまたは複数のプロセッサ、および1つまたは複数のプロセッサと通信可能に結合されたメモリを含んでよい。メモリは、ドライブシステム1214の様々な機能を実行するための1つまたは複数のコンポーネントを格納し得る。さらに、ドライブシステム1214はまた、それぞれのドライブシステムによる、1つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続も含む。
少なくとも1つの例示において、直接接続部1212は、車両1202の車体を用いて、1つまたは複数のドライブシステム1214に連結する物理的なインターフェースを提供してよい。例えば、直接接続部1212は、ドライブシステム1214と車両との間でエネルギー、流体、空気、データなどを伝達することを可能にすることができる。いくつかの例では、直接接続部1212は、ドライブシステム1214を車両1202の本体にさらに着脱可能に固定することができる。
いくつかの例では、車両1202は、ネットワーク1240を介して1つまたは複数のコンピューティングデバイス1242にセンサデータを送信し得る。いくつかの例では、車両1202は、コンピューティングデバイス1242に生のセンサデータを送信し得る。他の例示において、車両1202は、処理済みセンサデータおよび/またはセンサデータの表現をコンピューティングデバイス1242に送信し得る。いくつかの例では、車両1202は、所定の期間の経過後、ほぼリアルタイムでなど、特定の頻度で、コンピューティングデバイス1242にセンサデータを送信し得る。ある事例において、車両1202は、1つまたは複数のログファイルとしてコンピューティングデバイス1242に(生のまたは処理された)センサデータを送信し得る。
コンピューティングデバイス1242は、プロセッサ1244およびトレーニングコンポーネント1248を格納するメモリ1246を含み得る。いくつかの例では、トレーニングコンポーネント1248は、シミュレータによって生成されたトレーニングデータを含み得る。
車両1202のプロセッサ1216、およびコンピューティングデバイス1242のプロセッサ1244は、データを処理し、本明細書において記載される動作を実行すべく命令を実行することができる任意の適切なプロセッサであり得る。例として、プロセッサ1216および1244は、1つまたは複数の中央処理ユニット(CPUs)、グラフィック処理ユニット(GPU)、または電子データを処理して当該電子データをレジスタまたはメモリに格納できる他の電子データに変換する任意の他のデバイス若しくはデバイスの一部を含む場合がある。いくつかの例では、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスはまた、それらが符号化された命令を実行するように構成される限り、プロセッサとみなされてよい。
メモリ1218および1246は、非一時的なコンピュータ可読媒体の例示である。メモリ1218および1246は、オペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納して、本明細書で記載される方法および様々なシステムに起因する機能を実装することができる。様々な実装において、メモリは、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を格納可能な任意の他のタイプのメモリのような適切なメモリ技術を用いて実装されてよい。本明細書で記載されるアーキテクチャ、システム、および個々のエレメントは、多くの他の論理的、プログラム的、および物理的なコンポーネントを含んでよく、それらのうちの添付図面に示されるものは、単に本明細書での説明に関連付けられた例示に過ぎない。
場合においては、メモリ1218および1246は、少なくともワーキングメモリおよびストレージメモリを含み得る。例えば、ワーキングメモリは、プロセッサ1216および1244によって操作されるデータを格納するために使用される、限られた容量の高速メモリ(例えば、キャッシュメモリ)であり得る。場合によっては、メモリ1218および1246は、データの長期記憶に使用される比較的大きな容量の低速メモリであり得る記憶メモリを含み得る。ある事例において、プロセッサ1216および1244は、本明細書で説明されるように、記憶メモリに格納されているデータを直接操作しない場合があり、データは、データに基づく操作を実行させるためにワーキングメモリへとロードされる必要がある場合がある。
図12は、分散システムとして図示されている一方で、代替の例示において、車両1202のコンポーネントは、コンピューティングデバイス1242に関連付けられてよく、および/またはコンピューティングデバイス1242のコンポーネントは、車両1202に関連付けられてよいということに留意すべきである。つまり、車両1202は、コンピューティングデバイス1242に関連付けられる機能の1つまたは複数を実行してよく、逆もまた同様である。
条項例
A.システムであって、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的なコンピュータ可読媒体とを備え、命令は、実行されると、システムに、環境を横断する自律車両に関連付けられた軌道を受信することと、自律車両に関連付けられたセンサからセンサデータを受信することと、センサデータに基づいて、センサデータに表されるオブジェクトに関連付けられた境界輪郭を決定することと、軌道に沿った自律車両の位置に基づいて、境界輪郭の予測された位置および方向を決定することと、レイキャスティングに基づいて予測された位置および方向における位置と境界輪郭との間の距離を決定することと、距離に基づいて自律車両を制御することと、を含む動作を実行させるシステム。
A.システムであって、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的なコンピュータ可読媒体とを備え、命令は、実行されると、システムに、環境を横断する自律車両に関連付けられた軌道を受信することと、自律車両に関連付けられたセンサからセンサデータを受信することと、センサデータに基づいて、センサデータに表されるオブジェクトに関連付けられた境界輪郭を決定することと、軌道に沿った自律車両の位置に基づいて、境界輪郭の予測された位置および方向を決定することと、レイキャスティングに基づいて予測された位置および方向における位置と境界輪郭との間の距離を決定することと、距離に基づいて自律車両を制御することと、を含む動作を実行させるシステム。
B.境界輪郭は、オブジェクトに関連付けられた凸包を表すポリゴンである、段落Aに記載のシステム。
C.動作は、センサデータの少なくとも2つの点を接続することをさらに含み、ポリゴンは、少なくとも2つの点を接続することに基づいて決定される、段落Bに記載のシステム。
D.距離は、第1の距離であり、動作は、オブジェクトに対応する軸整列境界ボックスに基づいて第2の距離を決定することをさらに含む、段落A乃至Cのいずれか一項に記載のシステム。
E.動作は、距離を閾値と比較することをさらに含み、閾値は、自律車両の速度およびオブジェクトに関連付けられたオブジェクトタイプに基づいている、段落A乃至Dのいずれか一項に記載のシステム。
F.方法であって、車両に関連付けられた軌道を受信するステップと、車両に関連付けられたセンサからセンサデータを受信するステップと、センサデータに表されるオブジェクトに関連付けられた境界輪郭を決定するステップと、軌道に基づいて車両の予測された位置を決定するステップと、オブジェクトに関連付けられた境界輪郭の予測された位置を決定するステップと、車両のシミュレートされた位置および境界輪郭の予測された位置に基づいて車両とオブジェクトとの間の距離を決定するステップと、車両とオブジェクトとの間の距離に基づいてアクションを実行するステップと、を備える方法。
G.境界輪郭は、センサデータの少なくとも2つの点の接続によって決定されるオブジェクトに関連付けられた凸包を表すポリゴンである、段落Fに記載の方法。
H.アクションは、軌道を検証するステップと、または軌道を無効にするステップとを含む、段落FまたはGに記載の方法。
I.車両とオブジェクトとの間の距離を決定するステップは、少なくとも部分的にレイキャスティングに基づいている、段落F乃至Hのいずれか一項に記載の方法。
J.境界輪郭の予測された方向を決定するステップをさらに含む、段落F乃至Iのいずれか一項に記載の方法。
K.予測された方向は、オブジェクトに関連付けられた予測された軌道に少なくとも部分的に基づいている、段落Jに記載の方法。
L.センサは、ライダーセンサであり、センサデータは、ライダーデータを含む、段落F乃至Kのいずれか一項に記載の方法。
M.複数の接続された点の表現として境界輪郭を表現するステップをさらに含む、段落F乃至Lのいずれか一項に記載の方法。
N.距離は、第1の距離であり、方法は、軸整列境界ボックスに基づいて第2の距離を決定するステップをさらに含む、段落F乃至Mのいずれか一項に記載の方法。
O.距離を閾値と比較するステップをさらに含み、閾値は、車両の速度またはオブジェクトに関連付けられたオブジェクトタイプのうちの少なくとも1つに基づいている、段落F乃至Nのいずれか一項に記載の方法。
P.車両の方向に少なくとも部分的に基づいて、境界輪郭に関連付けられた軸整列された境界ボックスを決定するステップをさらに含む、段落F乃至Oのいずれか一項に記載の方法。
Q.オブジェクトに関連付けられた境界輪郭は、少なくとも5つの境界縁を含む、段落F乃至Pのいずれか一項に記載の方法。
R.実行されると、1つまたは複数のプロセッサに操作を実行させる命令を格納する1つまたは複数の非一時的なコンピュータ可読媒体であって、車両に関連付けられた軌道を受信することと、車両に関連付けられたセンサからセンサデータを受信することと、センサデータに表されるオブジェクトに関連付けられた境界輪郭を決定することと、軌道に基づいて、車両のシミュレートされた位置を決定することと、オブジェクトに関連付けられた境界輪郭の予測された位置を決定することと、車両のシミュレートされた位置および境界輪郭の予測された位置に基づいて、車両とオブジェクトとの間の距離を決定することと、および車両とオブジェクトとの間の距離に基づいてアクションを実行することと、を含む非一時的なコンピュータ可読媒体。
S.境界輪郭は、センサデータの少なくとも2つの点の接続によって決定されるオブジェクトに関連付けられた凸包を表すポリゴンである、段落Rに記載の1つまたは複数の非一時的コンピュータ可読媒体。
T.動作は、境界輪郭に関連付けられた軸整列された境界ボックスを決定することと、軸整列された境界ボックスに基づいて車両とオブジェクトとの間の第2の距離を決定することとをさらに含む、段落RまたはSに記載の1つまたは複数の非一時的コンピュータ可読媒体。
U.システムであって、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的なコンピュータ可読媒体とを備え、命令は、実行されると、システムに、オブジェクトに関連付けられたライダーデータを受信することと、投影されたライダーデータとして、ライダーデータを2次元平面上に投影することと、投影されたライダーデータに基づいて第1の凸包を決定することであって、前記第1の凸包は、複数の境界縁を含み、最長の境界縁を決定することであって、前記最長の境界縁は、第1のエンドポイントおよび第2のエンドポイントを有し、第1の凸包の内部の内部点を決定することと、最長の境界縁を、第1のエンドポイントおよび内部点に基づく第1のセグメント、および内部点および第2のエンドポイントに基づく第2のセグメントに置き換えることと、および第1のセグメントおよび第2のセグメントに基づいて更新された凸包を決定することと、を備えるシステム。
V.更新された凸包は、オブジェクトに関連付けられた境界輪郭を表し、動作は、オブジェクトに関連付けられた境界輪郭に基づいてアクションを決定することであって、アクションは、車両を制御すること、静的オブジェクトを決定することと、動的オブジェクトを決定することと、またはマップデータを更新することとのうちの少なくとも1つを含む、段落Uに記載のシステム。
W.最長の境界縁を決定することは、第1の凸包に関連付けられた複数の境界縁を識別することと、および第1の凸包に関連付けられた複数の境界縁のうちの最長の境界縁を決定することと、を含む、段落UまたはVに記載のシステム。
X.ライダーデータ内で識別されたオブジェクトに関連付けられた境界ボックスを識別することと、拡張された境界ボックスとして、境界ボックスのサイズを拡張することと、拡張された境界ボックス内で追加のライダーデータをキャプチャすることと、をさらに含む、段落U乃至Wのいずれか一項に記載のシステム。
Y.方法であって、オブジェクトに関連付けられたセンサデータを受信するステップと、センサデータに基づいて第1の凸包を決定するステップであって、前記第1の凸包は、複数の境界縁を含み、最長境界縁を決定するステップであって、前記最長境界縁は、第1のエンドポイントおよび第2のエンドポイントを有し、第1の凸包の内部の内部点を決定するステップと、最長境界縁を、第1のエンドポイントおよび内部点に基づく第1のセグメントならびに内部点および第2のエンドポイントに基づく第2のセグメントに置き換えるステップと、および第1のセグメントおよび第2のセグメントに基づいて第2の凸包を決定するステップと、を備える方法。
Z.オブジェクトに関連付けられたセンサデータは、複数のライダー点を含み、方法は、複数のライダー点を2次元平面上に投影するステップと、複数のライダー点の点を所定のグリッド上の最も近い位置に再配置するステップと、をさらに含む、段落Yに記載の方法。
AA.第1の凸包の内部の第2の内部点を決定するステップと、第1のエンドポイントおよび第2の内部点に基づいて第3のセグメントを決定するステップと、ならびに第2の内部点および第2のエンドポイントに基づいて第4のセグメントを決定するステップと、をさらに含む、段落YまたはZに記載の方法。
AB.第1のセグメントおよび第2のセグメントに関連付けられる第1の角度を決定するステップと、第3のセグメントおよび第4のセグメントに関連付けられる第2の角度を決定するステップと、ならびに第1の角度および第2の角度のうちの最大の角度を決定するステップとをさらに備え、最長境界縁を置き換えるステップは、最長境界縁を第1の角度が第2の角度よりも大きいことを決定することに応答して、第1のセグメントおよび第2のセグメントに置き換えること、または最長境界縁を第2の角度が第1の角度よりも大きいことを決定することに応答して、第3のセグメントおよび第4のセグメントに置き換えることのうちの少なくとも1つをさらに含む、段落AAに記載の方法。
AC.第2の凸包に基づいて、3次元オブジェクトを決定するステップをさらに含む、段落Y乃至ABのいずれか一項に記載の方法。
AD.第2の凸包は、オブジェクトに関連付けられた境界輪郭を表し、方法は、オブジェクトに関連付けられた境界輪郭に基づいて、車両とオブジェクトとの間の潜在的な衝突に関連付けられた確率を決定するステップをさらに含む、段落Y乃至ACのいずれか一項に記載の方法。
AE.第2の凸包は、オブジェクトに関連付けられた境界輪郭を表し、方法は、オブジェクトに関連付けられた境界輪郭に基づいてアクションを決定するステップであって、前記アクションは、車両を制御するステップと、静的オブジェクトを決定するステップと、動的オブジェクトを決定するステップと、またはマップデータを更新するステップとのうちの少なくとも1つを含む、段落Y乃至ADのいずれか一項に記載の方法。
AF.センサデータ内で識別されたオブジェクトに関連付けられた境界ボックスを識別するステップと、拡張された境界ボックスとして、境界ボックスのサイズを拡張するステップと、および拡張された境界ボックス内のすべてのセンサデータ点をキャプチャするステップと、をさらに含む、段落Y乃至AEのいずれか一項に記載の方法。
AG.次の最長境界縁を決定するステップと、次の最長境界縁の長さが閾値長さ未満であることを決定するステップと、および長さが閾値長さ未満であることに少なくとも部分的に基づいて第2の凸包を出力するステップと、をさらに含む、段落Y乃至AFのいずれか一項に記載の方法。
AH.最長境界縁に少なくとも部分的に基づいて閾値長さを決定するステップをさらに含む、段落AGに記載の方法。
AI.凸包の縁の数が第1の閾値を満たすか、または超えることと、最長の残りの境界縁の長さが第2の閾値未満であることと、または第2の凸包に関連付けられた内部点の数が第3の閾値未満であることとのうち少なくとも部分的に基づいて、第2の凸包を出力するステップをさらに含む、段落Y乃至AHのいずれか一項に記載の方法。
AJ.インスタンスセグメンテーションに基づいて複数のライダー点を決定するステップをさらに含む、段落Y乃至AIのいずれか一項に記載の方法。
AK.第1の凸包は、少なくとも5つの境界縁を含む、段落Y乃至AJのいずれか一項に記載の方法。
AL.実行されると、1つまたは複数のプロセッサに操作を実行させる命令を格納する1つまたは複数の非一時的なコンピュータ可読媒体であって、オブジェクトに関連付けられたセンサデータを受信することと、センサデータに基づいて第1の凸包を決定することであって、前記第1の凸包は、複数の境界縁を含み、最長境界縁を決定することであって、前記最長境界縁は、第1のエンドポイントおよび第2のエンドポイントを有し、第1の凸包の内部の内部点を決定することと、最長境界縁を第1のエンドポイントおよび内部点に基づく第1のセグメント、および内部点および第2のセグメントに基づく第2のセグメントに置き換えることと、ならびに第1のセグメントおよび第2のセグメントに基づいて第2の凸包を決定することと、を含む1つまたは複数の非一時的コンピュータ可読媒体。
AM.オブジェクトに関連付けられたセンサデータは、複数のライダーポイントを含み、動作は、複数のライダーポイントを2次元平面上に投影することと、および複数のライダーポイントのポイントを所定のグリッド上の最も近い位置に再配置することと、をさらに含む、段落ALに記載の1つまたは複数の非一時的コンピュータ可読媒体。
AN.動作は、センサデータ内で識別されたオブジェクトに関連付けられた境界ボックスを識別することと、拡張された境界ボックスとして、境界ボックスのサイズを拡張することと、拡張された境界ボックス内のすべてのセンサデータ点をキャプチャすることと、をさらに含む、段落ALまたはAMに記載の1つまたは複数の非一時的コンピュータ可読媒体。
上記で説明された例示的な条項は、1つの特定の実装に関して説明される一方で、本明細書の文脈において、例示的な条項の内容は、方法、デバイス、システム、コンピュータ可読媒体、および/または別の実装を介して実施されることも可能であることを理解されたい。さらに、例A乃至ANのいずれかは、単独で、若しくは他の1つまたは複数の例A乃至ANのいずれかと組み合わせて実装され得る。
結論
本明細書で記載される技術の1つまたは複数の例が記載された一方で、それらの様々な変形、追加、置換、および均等物は、本明細書で記載される技術の範囲内に含まれる。例の記載において、本明細書の一部を形成する添付の図面が参照され、それは、特許請求される主題の特定の例を例示として示す。他の例を使用することができ、構造的変更などの変更または代替を行うことができることを理解されたい。このような例、変更、または変形は、必ずしも、意図された特許請求の主題に関する範囲から逸脱するものではない。本明細書のステップは、特定の順序で提示されることができる一方で、場合によっては、記載されたシステムおよび方法の機能を変更することなく、特定の入力が異なる時間にまたは異なる順序で提供されるように、順序を変更することができる。開示された手順は、また異なる順序で実行することもできる。さらに、本明細書で記載される様々な計算は、開示される順序で実行される必要はなく、計算の代替の順序を用いる他の例が容易に実装される場合がある。並べ替えるだけでなく、計算は、同じ結果を有するサブ計算に分解されることも可能である。
本明細書で記載される技術の1つまたは複数の例が記載された一方で、それらの様々な変形、追加、置換、および均等物は、本明細書で記載される技術の範囲内に含まれる。例の記載において、本明細書の一部を形成する添付の図面が参照され、それは、特許請求される主題の特定の例を例示として示す。他の例を使用することができ、構造的変更などの変更または代替を行うことができることを理解されたい。このような例、変更、または変形は、必ずしも、意図された特許請求の主題に関する範囲から逸脱するものではない。本明細書のステップは、特定の順序で提示されることができる一方で、場合によっては、記載されたシステムおよび方法の機能を変更することなく、特定の入力が異なる時間にまたは異なる順序で提供されるように、順序を変更することができる。開示された手順は、また異なる順序で実行することもできる。さらに、本明細書で記載される様々な計算は、開示される順序で実行される必要はなく、計算の代替の順序を用いる他の例が容易に実装される場合がある。並べ替えるだけでなく、計算は、同じ結果を有するサブ計算に分解されることも可能である。
Claims (15)
- 方法であって、
車両に関連付けられた軌道を受信するステップと、
前記車両に関連付けられたセンサからセンサデータを受信するステップと、
前記センサデータに表されるオブジェクトに関連付けられた境界輪郭を決定するステップと、
前記軌道に基づいて、前記車両の予測された位置を決定するステップと、
前記オブジェクトに関連付けられた前記境界輪郭の予測された位置を決定するステップと、
前記車両の前記シミュレートされた位置および前記境界輪郭の前記予測された位置に基づいて、前記車両と前記オブジェクトとの間の距離を決定するステップと、
前記車両と前記オブジェクトとの間の前記距離に基づいてアクションを実行するステップと、
を備える方法。 - 前記境界輪郭は、前記センサデータの少なくとも2つの点の接続によって決定される前記オブジェクトに関連付けられた凸包を表すポリゴンである、請求項1に記載の方法。
- 前記アクションは、前記軌道を検証するステップと、または前記軌道を無効にするステップとを含む、請求項1または2に記載の方法。
- 前記車両と前記オブジェクトとの間の前記距離を決定するステップは、レイキャスティングに少なくとも部分的に基づいている、請求項1乃至3のいずれか一項に記載の方法。
- 前記境界輪郭の予測された方向を決定するステップをさらに含む、請求項1乃至4のいずれか一項に記載の方法。
- 前記予測された方向は、前記オブジェクトに関連付けられた予測された軌道に少なくとも部分的に基づいている、請求項5に記載の方法。
- 前記センサは、ライダーセンサであり、前記センサデータは、ライダーデータを含む、請求項1乃至6のいずれか一項に記載の方法。
- 複数の接続された点の表現として前記境界輪郭を表現するステップをさらに含む、請求項1乃至7のいずれか一項に記載の方法。
- 前記距離は、第1の距離であり、前記方法は、軸整列境界ボックスに基づいて第2の距離を決定するステップをさらに含む、請求項1乃至8のいずれか一項に記載の方法。
- 前記距離を閾値と比較するステップをさらに含み、前記閾値は、前記車両の速度または前記オブジェクトに関連付けられたオブジェクトタイプのうちの少なくとも1つに基づいている、請求項1乃至9のいずれか一項に記載の方法。
- 前記車両の方向に少なくとも部分的に基づいて、前記境界輪郭に関連付けられた軸整列された境界ボックスを決定するステップをさらに含む、請求項1乃至10のいずれか一項に記載の方法。
- 前記オブジェクトに関連付けられた前記境界輪郭は、少なくとも5つの境界縁を含む、請求項1乃至11のいずれか一項に記載の方法。
- 1つまたは複数のプロセッサによって実行されると、1つまたは複数のコンピューティングデバイスに実行させる命令を格納する、請求項1乃至12のいずれか一項に記載の1つまたは複数の非一時的コンピュータ可読媒体。
- システムであって、
1つまたは複数のプロセッサと、および
前記1つまたは複数のプロセッサに動作を実行させる命令を格納する1つまたは複数の非一時的なコンピュータ可読媒体と、
を備え、前記動作は、
車両に関連付けられた軌道を受信することと、
前記車両に関連付けられたセンサからセンサデータを受信することと、
前記センサデータに表されるオブジェクトに関連付けられた境界輪郭を決定することと、
前記軌道に基づいて、前記車両のシミュレートされた位置を決定することと、
前記オブジェクトに関連付けられた前記境界輪郭の予測された位置を決定することと、
前記車両の前記シミュレートされた位置および前記境界輪郭の前記予測された位置に基づいて、前記車両と前記オブジェクトとの間の距離を決定することと、および
前記車両と前記オブジェクトとの間の前記距離に基づいて、アクションを実行することと、
を含むシステム。 - 前記動作は、前記境界輪郭に関連付けられた軸整列された境界ボックスを決定することと、および
前記軸整列された境界ボックスに基づいて、前記車両と前記オブジェクト間の第2の距離を決定することとをさらに含む、請求項14に記載のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/138,710 | 2020-12-30 | ||
US17/138,751 US11960009B2 (en) | 2020-12-30 | 2020-12-30 | Object contour determination |
US17/138,710 US12030522B2 (en) | 2020-12-30 | 2020-12-30 | Collision avoidance using an object contour |
US17/138,751 | 2020-12-30 | ||
PCT/US2021/062125 WO2022146623A1 (en) | 2020-12-30 | 2021-12-07 | Collision avoidance using an object contour |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024510058A true JP2024510058A (ja) | 2024-03-06 |
Family
ID=82260808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023512268A Pending JP2024510058A (ja) | 2020-12-30 | 2021-12-07 | オブジェクト輪郭を使用した衝突回避 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4271598A1 (ja) |
JP (1) | JP2024510058A (ja) |
CN (1) | CN116264831A (ja) |
WO (1) | WO2022146623A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812226B2 (en) * | 2009-01-26 | 2014-08-19 | GM Global Technology Operations LLC | Multiobject fusion module for collision preparation system |
CN110352153B (zh) * | 2018-02-02 | 2024-07-19 | 辉达公司 | 自主车辆中用于障碍物躲避的安全程序分析 |
GB2570887B (en) * | 2018-02-07 | 2020-08-12 | Jaguar Land Rover Ltd | A system for a vehicle |
-
2021
- 2021-12-07 WO PCT/US2021/062125 patent/WO2022146623A1/en active Application Filing
- 2021-12-07 CN CN202180064129.7A patent/CN116264831A/zh active Pending
- 2021-12-07 JP JP2023512268A patent/JP2024510058A/ja active Pending
- 2021-12-07 EP EP21916174.2A patent/EP4271598A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4271598A1 (en) | 2023-11-08 |
WO2022146623A1 (en) | 2022-07-07 |
CN116264831A (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12030522B2 (en) | Collision avoidance using an object contour | |
CN114127655B (zh) | 封闭车道检测 | |
US11351991B2 (en) | Prediction based on attributes | |
US11021148B2 (en) | Pedestrian prediction based on attributes | |
US11104332B2 (en) | Collision avoidance system with trajectory validation | |
US20220274625A1 (en) | Graph neural networks with vectorized object representations in autonomous vehicle systems | |
WO2021081064A1 (en) | Trajectory modifications based on a collision zone | |
JP2022502306A (ja) | レーダ空間推定 | |
WO2020069126A1 (en) | Modifying map elements associated with map data | |
US11960009B2 (en) | Object contour determination | |
CN114761298A (zh) | 使用传感器数据进行高度估计 | |
JP2023547988A (ja) | 衝突回避計画システム | |
JP2024071623A (ja) | 速度および位置情報を使用するレーダ反射の認識 | |
WO2022125308A1 (en) | Determining inputs for perception system | |
WO2024118779A1 (en) | Route-relative trajectory generation and optimization computations incorporating vehicle sideslip | |
US20240174256A1 (en) | Vehicle trajectory tree search for off-route driving maneuvers | |
US11761780B1 (en) | Determining data for semantic localization | |
JP2024510058A (ja) | オブジェクト輪郭を使用した衝突回避 | |
US11906967B1 (en) | Determining yaw with learned motion model | |
US20240253620A1 (en) | Image synthesis for discrete track prediction | |
JP2023554304A (ja) | 側面安全エリア | |
JP2024534084A (ja) | 遮られていないセンサー放射を用いた占有の決定 | |
JP2024506433A (ja) | 機械学習モデルのための中間入力 | |
JP2023553238A (ja) | セマンティックオブジェクトに基づくローカライゼーション | |
WO2024137500A1 (en) | Generating object representations using a variable autoencoder |