JP2023553238A - セマンティックオブジェクトに基づくローカライゼーション - Google Patents
セマンティックオブジェクトに基づくローカライゼーション Download PDFInfo
- Publication number
- JP2023553238A JP2023553238A JP2023517891A JP2023517891A JP2023553238A JP 2023553238 A JP2023553238 A JP 2023553238A JP 2023517891 A JP2023517891 A JP 2023517891A JP 2023517891 A JP2023517891 A JP 2023517891A JP 2023553238 A JP2023553238 A JP 2023553238A
- Authority
- JP
- Japan
- Prior art keywords
- data
- sensor
- map
- determining
- distance
- 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
- 230000004807 localization Effects 0.000 title description 24
- 238000000034 method Methods 0.000 claims abstract description 84
- 230000015654 memory Effects 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 21
- 230000008447 perception Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010238 partial least squares regression Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000012628 principal component regression Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 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
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
- Image Analysis (AREA)
Abstract
センサーを用いて環境における車両のロケーションを決定し、センサーに関連付けられたキャリブレーション情報を決定するための技法が本明細書に述べられる。車両は、マップデータを用いて環境を横切って進むことが可能である。マップデータは、トラフィックライト、レーンマーキングなどのセマンティックマップオブジェクトを含むことが可能である。車両は、画像センサーなどのセンサーを用いて、センサーデータをキャプチャすることが可能である。セマンティックマップオブジェクトは、センサーデータにプロジェクションされ、センサーデータにおけるオブジェクトとマッチングさせることが可能である。上記のセマンティックオブジェクトは、中心点および共分散データとして表されることが可能である。プロジェクションされたセマンティックマップオブジェクト、および感知された物体に関連付けられた距離または尤度は、最適化されて、車両のロケーションを決定することが可能である。感知された物体は、セマンティックマップオブジェクトとのマッチングに基づいて同一であると決定されることが可能である。エピポーラ幾何は、センサーが、矛盾がないデータをキャプチャしているかどうかを決定するのに用いられることが可能である。
Description
関連出願の相互参照
本特許出願は、2020年12月11日に出願された米国実用新案出願第17/119,518号、および2020年12月11日に出願された米国実用新案出願第17/119,562号の優先権を主張する。出願シリアル番号17/119,518および17/119,562は、参照により本明細書に組み入れられる。
本特許出願は、2020年12月11日に出願された米国実用新案出願第17/119,518号、および2020年12月11日に出願された米国実用新案出願第17/119,562号の優先権を主張する。出願シリアル番号17/119,518および17/119,562は、参照により本明細書に組み入れられる。
データは、環境においてキャプチャされ、環境のマップとして表されることができる。よくあることだが、上記のマップは、環境内を進む車両によって用いられることができるが、マップは、いろいろな目的に対して用いられることができる。車両は、センサーデータをキャプチャすることができ、マップに関して車両のロケーションを決定することができる。上記のように、センサーが、キャリブレーションされて、車両コンピューティングシステムに正確な入力を提供することは重要である。
詳細な説明は、添付の図面を参照して説明される。図面において、参照符号の最も左の数字(複数可)は、参照符号が最初に現れる図面を特定する。別の図面における同一の参照符号の使用は、同様のまたはまったく同じのコンポーネントまたは特徴を示す。
センサーを用いて環境における車両のロケーションを決定し、センサーに関連付けられたキャリブレーション情報を決定するための技法が本明細書に述べられる。いくつかの例では、車両は、マップデータに基づいて環境におけるロケーションを決定することができる。マップデータは、環境におけるセマンティックオブジェクトについてデータを含むことができる。上記のセマンティックオブジェクトは、たとえば、トラフィックライト、レーンマーキング、および同類のものなど、「一般的な」特徴を含むことができる。車両は、環境を表すセンサーデータをキャプチャするために、たとえば画像センサーなどのセンサーを用いることができる。セマンティックオブジェクトを表すマップデータは、センサーデータにプロジェクションされ、センサーデータに表された物体(複数可)とマッチングさせることができる。上記のセマンティックオブジェクトは、画像データにおいて中心点として表されることができ、共分散データと関連付けられることができる。センサーデータにプロジェクションされたセマンティックオブジェクトとセンサーデータに表された物体との間の距離は、最小にされて、環境における車両のロケーションを決定されることが可能である。
いくつかの例では、セマンティックマップデータは、センサーデータをキャプチャするのに用いられるセンサーについて、キャリブレーション情報を決定するのに用いられることができる。いくつかの例では、車両は、第1の視野を有する第1のセンサーと、第1の視野と少なくとも部分的に重なる第2の視野を有する第2のセンサーとを含むことがある。第1のセンサーデータは、キャプチャされ環境における第1の物体を表すことができ、第2のセンサーデータは、キャプチャされ環境における第2の物体を表すことができる。セマンティックマップデータに基づいて、第1のセンサーデータにおける第1の物体は、第2のセンサーデータにおける第2の物体に対応すると決定されることができる。したがって、第1のセンサーデータにおける第1の物体の特定の点(例えば、中心点)は、第2のセンサーデータにおける第2の物体の特定の点に対応することができる。キャリブレーションデータに基づいて、特定の点とエピポーラ線との間の距離は決定されることができる。経時的な距離が、キャプチャされ、第1のセンサーおよび第2のセンサーは矛盾がないかどうか、あるいは別のやり方にてキャリブレーションされるかどうかに関する誤差統計値を決定するのに用いられることができる。
いくつかの例では、誤差統計値は、センサーの性能を予測するのに用いられることができる、および/または、センサーが故障することがあるときを示すことができる。いくつかの例では、予測保守は、上記の履歴データメトリクスに基づいて、スケジューリングされる、開始される、あるいは別のやり方にて決定されることが可能である。
いくつかの例では、環境は、マップデータを用いて表されることが可能である。マップデータは、セマンティックオブジェクトを表すことができ、たとえば、トラフィックライト、ポール、サイン、レーンマーキング(車線マーカーとも呼ばれる)、および同類のものなど、「一般的な」物体を含むことがある。セマンティックオブジェクトまたはセマンティックマップデータは、3次元ロケーションおよび共分散データとして表されることができる。上記のセマンティックオブジェクトは、特定のセマンティッククラス(例えば、分類タイプ、たとえば、トラフィックライト、ライト、ポール、レーンマーキングなど)と関連付けられることが可能である。
いくつかの例では、環境における車両の初期のロケーションが決定されることができる。上記の初期のロケーションは、たとえば、GPSデータ、ライダーデータ、IMUデータなどの他のセンサーデータに基づいて決定されることが可能である、または以前に決定されたロケーションに基づいて決定されることが可能である。初期のロケーション、および/またはセマンティックオブジェクトの分類タイプに基づいて、マップオブジェクトのリストは、メモリーにロードされる、あるいは別のやり方にてマップオブジェクトをセンサーデータによって表される物体とマッチングするとき考慮されることが可能である。いくつかの例では、マップオブジェクトは、マップオブジェクトが車両のしきい値距離内にあることに基づいて考慮されることができる。ある場合には、しきい値距離は、分類タイプおよび/または環境における物体(複数可)の頻度に少なくとも部分的に基づくことが可能である。例えば、環境において、相対的に多くのレーンマーキングがあり、したがって、レーンマーキングを考慮するためのしきい値距離が、たとえば、トラフィックライトなどの別のセマンティックオブジェクトよりも相対的に低いことがある。例としておよび限定ではなく、レーンマーキングを表すマップデータをロードするためのしきい値距離は50mであり得る一方、トラフィックライトを表すマップデータをロードするためのしきい値距離は100mであり得るが、他の距離の値は考慮される。
いくつかの例では、センサーデータは、重複する視野を有するセンサーによってキャプチャされることが可能である。上記の例では、センサーデータは、実質的に同時にキャプチャされることが可能である。したがって、センサーデータをキャプチャする間の位置の変化は、最小にされることが可能であり、マップロケーションおよび/またはキャリブレーション情報は、車両の向きおよび/またはロケーションの変化を考慮することなく、決定されることが可能である。キャリブレーション情報は、2つのセンサー、3つのセンサー、またはあらゆる数のセンサーに関して決定されることが可能である。
いくつかの例では、センサーデータは、重複しない視野を有するセンサーによってキャプチャされることが可能である。上記の例では、物体が第2のセンサーの視野の中にあるときに、物体の第1のセンサーデータは、第1のセンサーによって第1の時間にキャプチャされることが可能であり、第2のセンサーデータは、第2のセンサーにおいて第2の時間にキャプチャされることが可能である。したがって、車両の向きおよび/またはロケーションの変化は、第1のセンサーデータにおける物体のロケーションを第2のセンサーデータに変換するのに用いられることが可能である。ゆえに、キャリブレーション情報は、異なった視野を有するセンサーに対して決定されることが可能である。さらに、キャリブレーション情報は、重複する視野または重複しない視野を有するあらゆるセンサーのあらゆるグループ(例えば、少なくとも2つ)に対して決定されることが可能である。
本明細書に説明されるローカライゼーションおよびキャリブレーション技法は、世界における位置を決定するロバストな方法を提供することによってコンピューティングデバイスの機能することを改善し、矛盾があるセンサーデータを決定する。ローカライゼーションの状況において、本明細書に述べられる技法は、別のローカライゼーションシステムとは別にまたは別のローカライゼーションシステムとの組み合わせにおいて、用いられることが可能である直交ローカライゼーションシステムを提供することができる。ある場合には、セマンティックマップの特徴の使用は、メッシュベースのマップに関して、マップのより小さいデータサイズを提供することができ、メモリーまたは処理能力に、他の動作のために用いられることを可能にすることがある。さらに、安全な軌道が、環境における車両の位置を知ることによってプランニングされることがある。キャリブレーションの状況において、1つのセンサーデータの物体が別のセンサーデータの物体と同じであると決定するセマンティックな特徴を用いることは、後に続くキャリブレーションのために共通の特徴を特定するロバストな方法を提供する。キャリブレーション情報は、センサー(複数可)がアライメントされていないとき、またはキャリブレーションデータが正しくないときを決定するのに用いられることができ、キャリブレーションされたセンサーなしでは困難または不可能であり得る、たとえば、データを融合すること、セグメント化すること、分類すること、およびデータをトラッキングすることなど、他の作動に対する問題を避けることができる。コンピューターの機能することに対して、今述べたことおよび他の改善が本明細書に述べられる。
本明細書に説明される技法は、いくらかのやり方において実装されることが可能である。例示的な実装は、次の図面を参照して以下に提供される。自律車両の状況において述べられるが、本明細書に説明される方法、装置、およびシステムは、いろいろなシステム(例えば、センサーシステムまたはロボットプラットフォーム)に適用されることが可能であり、自律車両に限定されない。一例では、同様の技法は、システムが、様々の操縦を行うことが安全であるかどうかのインディケーションを提供することがある、操縦者制御の車両(driver-controlled vehicle)に利用されることがある。別の例では、本技法は、製造業の組立ラインの状況において、航空測量の状況において、または航海の状況において利用されることが可能である。加えて、本明細書に説明される技法は、(例えば、センサー(複数可)を用いてキャプチャされた)実データを、(例えば、シミュレーターによって生成された)シミュレーションデータを、または2つのあらゆる組み合わせを有して用いられることができる。
図1は、センサーデータをキャプチャし、センサーデータにマップデータをプロジェクションし、センサーデータおよびマップデータに基づいて距離を決定し、距離に基づいて作動をすることの例示的な処理100について絵を使ったフロー図である。
動作102は、環境のセンサーデータを受信することを含むことができる。上記のセンサーデータの例は、画像データ104として例示されている。画像データ104は、あらゆる数およびタイプの物体を含むことが可能である。例示されるように、画像データ104は、物体106(例えば、トラフィックライト)、物体108(例えば、レーンマーキング)、および物体110(例えば、サイン)を含む。画像データの状況において述べられるが、動作102は、ライダーデータ、レーダーデータ、オーディオデータ、タイムオブフライトデータ、および同類のものを受信することを含むことができる。さらに、動作102は、単一のセンサーまたは複数のセンサーからセンサーデータを受信することを含むことができる。動作102は、単一の時間に関連付けられたセンサーデータ(または技術的な許容範囲に基づいて実質的に同一の時間に関連付けられたセンサーデータ)または時間の期間にわたってキャプチャされたセンサーデータを受信することを含むことができる。いくつかの例では、動作102は、環境を横切って進むような自律車両によって行われることができる。
いくつかの例では、動作102は、物体を検出すること、物体を分類すること、物体に関連付けられたバウンディングボックスを決定すること、および同類のものを含むことができる。さらに、動作102は、上記のオブジェクトの中心点を、物体に関連付けられた共分散データも同様に、決定することを含むことができる。いくつかの例では、共分散データは、物体のエクステント(例えば、長さ、幅、高さ)に基づくことができる、または関連付けられることができる。動作102は、センサーデータに表される物体に関連付けられた2次元バウンディングボックスおよび/または3次元バウンディングボックスを受信する、あるいは別のやり方にて決定することを含むことができる。物体の中心点、および共分散データは、下に述べられる他の動作に用いられることができる。
動作112は、環境に関連付けられたマップデータを受信することを含むことができる。上記のマップデータの例は、マップデータ114として例示されている。いくつかの例では、マップデータ114は、環境におけるセマンティックオブジェクトを表すことができる。上記のセマンティックオブジェクトは、たとえば、トラフィックライト、レーンマーキング、ポール、サイン、木、消火栓、電気的なコンポーネント(例えば、変圧器、電気ボックス)、郵便箱、パーキングメーター、サイクルラック、木、広告板、および同類のものなど、「一般的な」物体であり得る。いくつかの例では、マップデータ114は、物体の識別子、物体の分類タイプ(例えば、トラフィックライト、レーンマーキング、サインなど)のインディケーション、環境における物体の3次元位置、および物体に関連付けられた共分散データなどを含むことができる。いくつかの例では、マップデータ114は、物体のエクステント(例えば、長さ、幅、高さ)および/または物体についてのあらゆる他の情報を含むことができる。
いくつかの例では、マップデータは、ライダーデータまたは他の画像データに基づいて生成されることが可能である。例えば、上記のマップデータを生成する例は、例えば、発明の名称「Mesh Decimation based on Semantic Information」、出願日2018年3月8日の米国特許出願第15/913,647号、および、発明の名称「Updating Map Data」、出願日2019年11月27日の米国特許出願第16/698,336号に見つけられることが可能であり、両方の全体がすべての目的のために全体の参照により本明細書に組み入れられる。
いくつかの例では、動作112は、時間的に先行するロケーション、推定される位置、粗い位置推定、他のセンサーモダリティ、および同類のものに基づくことがある、車両の初期の位置を決定することを含むことができる。さらに、動作112は、分類タイプに基づく、および/または、たとえば、車両に関連付けられたロケーションなど、別のロケーションに対するマップオブジェクトのしきい値距離に基づくマップオブジェクトを受信することを含むことができる。マップデータをロードすること、あるいは別のやり方にて受信することの追加の詳細は、図3に関連して、本開示の至る所にも同様に、述べられている。
動作116は、センサーデータにマップオブジェクトをプロジェクションすることを含むことができる。いくつかの例では、動作116は、マップオブジェクトの3次元位置、車両の姿勢(例えば、位置および/または向き)、および/またはセンサーの姿勢に少なくとも部分的に基づいて、マップオブジェクトをセンサーデータにプロジェクションすることを含むことができる。マップオブジェクトは、動作112にて受信したマップデータの多数のオブジェクトのうちの1つを表すことがある。いくつかの例では、動作116は、環境における車両の推定されるおよび/または予期されるロケーションに少なくとも部分的に基づくことができる。いくつかの例では、推定位置は、環境における予期される運動に基づいて更新された以前に決定した位置に基づく(例えば、慣性運動ユニット(IMU)からのデータに基づく、IMUデータから外挿されたデータに基づく、および同類のもの)ことができる。
いくつかの例では、マップオブジェクトの3次元位置は、2次元の中心点としてセンサーデータにプロジェクションされることができる。いくつかの例では、3次元共分散データは、2次元共分散データとしてセンサーデータにプロジェクションされることができる。
センサーデータにプロジェクションされるマップオブジェクトの例は、例118として例示されている。
例118は、画像データ104に表された物体(複数可)の表現、およびセンサーデータにプロジェクションされたマップデータの表現を、他のデータも同様に、含む。たとえば、例118は、物体106を、共分散データ120(物体120とも呼ばれる)および関連する中心点として表す。例118は、共分散データ122、および関連する中心点として、物体108を表す。例118は、共分散データ124、および関連する中心点として、物体110を表す。
さらに、例118は、画像データ104にプロジェクションされるマップオブジェクト126を例示する。視覚化が容易なため、いくつかのマップオブジェクトは、図1において符号を付けなかった。
いくつかの例では、動作116は、マップオブジェクト(複数可)をセンサーデータに表される対応する物体(複数可)とマッチングすることを含む。例えば、マップオブジェクトは、ハンガリー法割当メソッド、グリーディサーチアルゴリズム、最近傍法アルゴリズム、オブジェクトのロケーション、エクステント、分類、および同類のものに基づいて物体とマッチングされることができる。
いくつかの例では、マップオブジェクトは、マッチングの前提条件として、センサーデータにおける物体と同じ分類タイプを有さなければならない。
いくつかの例では、動作116は、分類データ、中心点ロケーション(複数可)、共分散データ、および同類のものに少なくとも部分的に基づいて、マップオブジェクト(複数可)を、センサーデータに表される物体(「感知された物体」とも呼ばれる)とマッチングすることを含む。
動作128は、マップオブジェクトと、センサーデータに表される物体との間の距離を決定することを含むことができる。例えば、マップオブジェクト126が、共分散データ120とマッチングされる、あるいは別のやり方にて関連付けられると決定されると、2つのオブジェクト間の距離が決定されることができる。例えば、距離130は、物体126に関連付けられた第1の中心点と、共分散データ120に関連付けられた第2の中心点との間の距離を表すことができる。
いくつかの例では、距離130は、マハラノビス距離を表すことが可能である。いくつかの例では、距離130は、ピクセルにおける距離、またはユークリッド距離を表すことが可能である。
いくつかの例では、動作128は、マップオブジェクトが、感知された物体に対応する尤度を決定することを含むことができる。いくつかの例では、尤度は、距離130に加えて、または距離130の代わりに決定されることが可能である。いくつかの例では、尤度は、マッピングされたオブジェクトおよび/または感知された物体に関連付けられた共分散データの対数に少なくとも部分的に基づくことが可能である。いくつかの例では、尤度は、マッピングされたオブジェクトおよび/または感知されたオブジェクトに関連付けられた共分散データの絶対値の対数を表すことが可能である。いくつかの例では、尤度を否定することは、距離を表すことが可能である。いくつかの例では、マップオブジェクトが、感知された物体に対応するという尤度は、マップオブジェクトまたは感知された物体に関連付けられたマハラノビス距離、および共分散の大きさに少なくとも部分的に基づく。すなわち、大きい共分散を有する物体が、大きい距離と関連付けられることがあることによって、マップオブジェクトが、感知された物体に対応するという尤度を減らす。
動作128は、センサーデータに表され、マップデータに関連付けられたいくつかのまたはすべての物体に対して、距離(複数可)を決定することを含むことができる。例えば、動作128は、マップオブジェクトと、物体108、110に、他の符号がない物体も同様に、関連付けられたセンサーデータとの間の距離を決定することを含むことができる。
動作132は、距離に基づいて作動をすることを含むことができる。限定されないが、例示的な作動(複数可)134は、ロケーションを決定すること、キャリブレーションを決定すること、車両を制御すること、および同類のものを含むことができる。
ロケーションを決定する状況において、距離(複数可)は、車両の状態に関連付けられた状態グラフに入力されることが可能であり、車両のロケーションは、マップオブジェクト(複数可)と、感知された物体(複数可)との間の距離を最小にすることに基づいて決定されることが可能である。いくつかの例では、距離データは、車両のロケーションを決定する他のライダーデータ、レーダーデータ、および同類のものと関連して用いられることができる。いくつかの例では、ロケーションを決定することは、SLAM(simltaneous localization and mapping)アルゴリズム、パーティクルフィルタリング、および同類のものに基づくことが可能である。いくつかの例では、本明細書に述べられる動作は、別のローカライゼーションアルゴリズムに冗長性を提供するようにという、独立したロケーション推定を提供するように行われることができる。
キャリブレーション情報を決定することの追加の詳細は、図2に関連して、本開示の至る所にも同様に、述べられている。
車両を制御する状況において、いくつかの例では、作動は、軌道を生成すること、軌道を変えることまたは修正すること、安全停止軌道を開始すること、リモートオペレータに指示の要求を送ること、および同類のものを含むことができる。
図2は、センサーデータをキャプチャし、第1の物体が第2の物体に対応することを決定し、エピポーラ幾何に基づいてキャリブレーションパラメーターを決定する例示的な処理200について絵を使ったフロー図である。
動作202において、処理は、第1のセンサーからの第1のセンサーデータ、および第2のセンサーからの第2のセンサーデータを受信することを含む。例204は、環境における交差点の車両204を示すシーンの上から下へのビューを例示する。第1のダッシュからなる線208(半ダッシュからなる線により例示されている)は、第1のセンサーの視野を表し、第2のダッシュからなる線210(完全なダッシュからなる線により図示されている)は、第2のセンサーの第2の視野を表す。画像データの状況において、第1の画像センサー(例えば、左の画像センサー)によってキャプチャされた画像データの例は、画像データ212として例示される。第2の画像センサー(例えば、右の画像センサー)によってキャプチャされた画像データの例は、画像データ214として例示される。
画像データの状況において述べられるが、動作202は、ライダーデータ、レーダーデータ、オーディオデータ、タイムオブフライトデータ、および同類のものを受信することを含むことができる。
例204に例示されたセンサーの特定の向きは、限定していなく、車両206は、あらゆる組み合わせの視野(または感知されたエリア)を有するあらゆる数のセンサーを含むことができる。
画像データ212は、第1のダッシュからなる線208に関連付けられた視野に関連付けられた画像データを表す。画像データ214は、第2のダッシュからなる線210に関連付けられた視野に関連付けられた画像データを表す。
動作216は、セマンティックマップデータに基づいて、第1のセンサーデータにおける第1の物体が第2のセンサーデータにおける第2の物体であることを決定することを含むことができる。例えば、動作216は、図1の状況において述べられたのと同様の動作を含むことができる。すなわち、限定されないが、動作216は、画像データ212および/または画像データ214において物体(複数可)を検出すること、マップデータを受信すること、物体(複数可)に関連付けられた中心点を決定すること、物体(複数可)に関連付けられた共分散データを決定すること、セマンティックオブジェクトがセンサーデータにおける物体に(たとえば、ハンガリー法アルゴリズム、点の間の距離、または他のマッチングアルゴリズムに基づいて)対応すると決定すること、および、画像データ212、214において表された2つの物体が同一の物体であると決定することを含むことができる。追加の詳細は、下に述べる物体218および220に関して提供される。
画像データ212は、物体218の表現を含む一方、画像データ214は、物体220の表現を含む。物体218を含む画像データ212に関連付けられた詳細なビューは、例222に提供される。物体220を含む画像データ214に関連付けられた詳細なビューは、例224に提供される。
たとえば、例222は、物体218に関連付けられた中心点および共分散データを、物体218に関連付けられたセマンティックマップデータとともに例示する。例えば、物体218は、例222に中心点226および共分散データ228によって表される。セマンティックマップオブジェクトは、例222に中心点230および共分散データ232として表される。
動作216は、中心点226と中心点230との間の距離234を決定することを含むことができる。いくつかの例では、距離234は、中心点226、230および/または共分散データ228、230に少なくとも部分的に基づく。いくつかの例では、距離234は、マハラノビス距離に対応することが可能である。
例224は、物体220に関連付けられた中心点および共分散データと、物体220に関連付けられたセマンティックマップデータとを例示する。例えば、物体220は、例224に中心点236および共分散データ238によって表される。セマンティックマップオブジェクトは、例224に中心点240および共分散データ242として表される。
さらに、動作216は、中心点236と中心点240との間の距離244を決定することを含むことができる。いくつかの例では、距離244は、中心点236、240および/または共分散データ238、240に少なくとも部分的に基づく。いくつかの例では、 距離244は、マハラノビス距離に対応することが可能である。
したがって、物体218、220が、同一の物体に対応することを決定されることできるので、中心点226、236は、下に述べるさらなる動作に用いられることができる。
動作246は、エピポーラ幾何に少なくとも部分的に基づいて、第1のセンサーまたは第2のセンサーのうちの少なく1つに関連付けられたキャリブレーションパラメーターを決定することを含むことができる。
例248は、中心点226および共分散データ228によって表される物体218の詳細なビューを例示する。例248は、さらに、エピポーラ線250を例示する。エピポーラ線250は、キャリブレーションパラメーターまたは関数(例えば、伝達関数)に基づくことができ、画像データ214からの点が、画像データ212にプロジェクションされることが可能である線を表すことができる。すなわち、画像データ212、214をキャプチャする画像センサー間のキャリブレーションが完全であるならば、中心点226は、エピポーラ線250とアライメントするだろう。しかしながら、動作246は、中心点226とエピポーラ線250との間の距離252を決定することを含むことができる。いくつかの例では、距離252は、中心点226とエピポーラ線250との間の最短距離を表すことができる。
いくつかの例では、エピポーラ線250は、感知された物体(複数可)に少なくとも部分的に基づいて、分散データまたは共分散データと関連付けられることが可能である(例えば、共分散データ228および/または共分散データ238に関連付けられる)。
同様に、動作246は、例254において、画像データ214に関して例示される。例254は、中心点236および共分散データ238によって表される物体220の詳細なビューを例示する。例254は、さらに、エピポーラ線256を例示する。エピポーラ線256は、キャリブレーションパラメーターまたは関数に基づくことができ、画像データ212からの点が、画像データ214にプロジェクションされることが可能である線を表すことができる。すなわち、画像データ212、214をキャプチャする画像センサー間のキャリブレーションが完全であるならば、中心点236は、エピポーラ線256とアライメントするだろう。しかしながら、動作246は、中心点226とエピポーラ線256との間の距離258を決定することを含むことができる。いくつかの例では、距離258は、中心点236とエピポーラ線256との間の最短距離を表すことができる。
いくつかの例では、距離252および距離256は、両方、決定されることが可能である一方、いくつかの例では、距離252または距離256のうちの1つが決定されることが可能である。場合によっては、距離252および/または距離256は、ユークリッド距離に対応することができる。
いくつかの例では、動作246は、画像データ212および/または画像データ214を仮想カメラ空間にプロジェクションして、レンズの歪みを除去し、画像データが線形であることを確実にすることを含むことができる。
距離252、256は、経時的に決定され、トラッキングされることができる。例えば、距離は、たとえば、秒、時間、日、週など、時間の期間にわたってキャプチャされたセンサーデータに対して決定されることが可能である。距離の値は、平均化されて、あるいは別のやり方にて統計的に蓄積されて、経時的な誤差(error over time)を決定されることが可能である。
いくつかの例では、第1のしきい値以上である瞬間の距離の値は、画像データ212、214が、矛盾があることを示し、キャリブレーションエラーを示すことがある。いくつかの例では、第2のしきい値以上である経時的な誤差は、画像データ212、214が、矛盾があることを示し、キャリブレーションエラーを示すことがある。いくつかの例では、第1のしきい値は、第2のしきい値と同じである、または異なることが可能である。いくつかの例では、センサーは、他のセンサーに関して矛盾がないまたは矛盾があるというキャリブレーション状態を含むことができる。
いくつかの例では、動作246は、キャリブレーションパラメーターに基づく作動を含むことがある。限定されないが、今述べた作動は、軌道を(例えば、軌道の修正なしに)たどること、センサーデータまたはセンサーデータから導出されるデータ(例えば、バウンディングボックス、エクステント、姿勢、速度、分類データ、分割データ、予測データなど)に関連付けられた信頼度を減らすこと(例えば、ダウンウェイトすること)、クリーニング動作を開始すること、メンテナンスをスケジューリングすること(例えば、キャリブレーションパラメーターおよび/またはセンサーデータのインディケーションをリモートコンピューティングデバイスに送ることを含むことがある)、軌道に関連付けられた速度を減らすこと(または軌道に関するいくつかの他の様相を修正すること)、停止軌道を生成すること、および同類のものを含むことがある。
2つのセンサーからの画像データの状況において述べたが、あらゆる数のセンサーおよび/または画像データを用いて、キャリブレーションデータを決定することが可能である。追加の詳細は、図4Aおよび図4Bに関連して、本開示の至る所にも同様に、下に述べられる。
図3は、オブジェクトタイプ(object type)および距離に基づいてマップデータを決定することの例300の図解である。
例300は、環境302およびマップデータ304の上から下へのビューを例示する。環境302は、たとえば自律車両などの車両306を含むことがある。
マップデータ304は、たとえば、トラフィックライトデータ308、サインデータ310、ポールデータ312、レーンマーキングデータ314、および同類のものなど、異なったセマンティックオブジェクト(セマンティックマップオブジェクトとも呼ばれる)に関連付けられたデータを含むことがある。もちろん、マップデータ304は、他のセマンティックオブジェクトに関連付けられたデータを含むことがあり、本明細書に述べられる例に限定されない。
本明細書に述べられる技法(例えば、動作112および/または動作216)は、車両306のロケーションに基づいてマップデータを受信する、ロードする、あるいは別のやり方にて決定することを含むことが可能である。いくつかの例では、マップデータは、マップデータに表されるマップオブジェクトの車両306への近接度に基づいて、受信される、ロードされる、あるいは別のやり方にて決定されることが可能である。例えば、マップデータは、マップオブジェクトのロケーション(例えば、3次元位置)が車両306に対してしきい値距離内にあることに基づいて受信されることができる。
いくつかの例では、しきい値距離は、セマンティックマップオブジェクトのタイプに基づくことができる。例えば、トラフィックライトデータ308は第1のしきい値距離316と関連付けられることができ、サインデータ310およびポールデータ312は第2のしきい値距離318と関連付けられることができ、レーンマーキングデータ314は第3のしきい値距離320と関連付けられることができる。もちろん、サインデータ310およびポールデータ312は、個々のしきい値距離と関連付けられることができ、同じである必要はない。いくつかの場合では、種々のしきい値は、あらゆるサイズまたは形状であることが可能であり、本明細書に明示的に説明される例に限定されない。
さらに、しきい値距離(複数可)は、一般に、分類タイプに基づくことができる、および/またはマップにおける特定のロケーションに基づくことができる。例えば、第1のロケーションは、セマンティックオブジェクトの第1の頻度または数を有することがあり、第2のロケーションは、第1の頻度より低いセマンティックオブジェクトの第2の頻度または数を有することがある。いくつかの例では、第1のロケーションに関連付けられた第1のしきい値距離は、第2のロケーションに関連付けられた第2のしきい値距離よりも小さいことがある。しかしながら、第1のしきい値および第2のしきい値は同一であり得る、または第の1のしきい値の距離は、第2しきい値の距離より大きくできる。
いくつかの例では、マップデータを受信すること、ロードすること、あるいは別のやり方にて決定することは、全体のセマンティックオブジェクトの数(例えば、車両のしきい値距離内の)、しきい値距離内の特定のオブジェクトタイプに関連付けられたセマンティックオブジェクトの数、ローカライゼーションの精度、センサーデータによって表される物体とマップオブジェクトとをマッチングするのに用いられるアルゴリズム、センサーデータに表される物体に関連付けられた距離(例えば、感知された物体と車両と間の最大距離、平均距離など)、他のセンサーに関する可視性(例えば、オクルージョンマップに関連付けられる)、および同類のものに基づくことが可能である。マップデータを作業メモリーにロードする追加の例は、例えば、発明の名称「Multi-Resolution Maps for Localization」、出願日2018年6月28日の米国特許出願第16/022,048号に見つけることが可能であり、全体がすべての目的のために全体の参照により本明細書に組み入れられる。
図4Aは、少なくとも部分的に重なる視野を含む複数のセンサーを用いて物体を表すセンサーデータをキャプチャすることの図解400である。
環境402は、第1の視野(FOV)406、第2のFOV408、および第3のFOV410を有するセンサーを含む車両404を例示する。例示されるように、環境402は、物体412がFOV406、408、410に関連付けられたセンサーデータに表されることが可能であるように置かれた物体412を含む。
いくつかの例では、車両404は、本明細書に述べられる技法を用いて、ロケーションを決定する、および/またはキャリブレーションパラメーター(複数可)を決定することができる。すなわち、複数のセンサーからのデータは、実質的に同時にキャプチャされ、本明細書に述べられる技法により用いられることができる。いくつかの例では、キャリブレーションパラメーターは、センサーの異なるペアに対して決定されることができて、および/またはセンサーのグループに対して決定されることができて、センサーが他のセンサーに関してミスキャリブレーションされているかどうかを決定する。
図4Bは、重ならない視野を含む複数のセンサーを用いて物体を表すセンサーデータをキャプチャすることの図解414である。
例えば、例416は、第1の時間T1における環境を例示し、例418は、第1の時間の後の第2の時間T2における環境を例示する。第1の時間T1において、車両420は、第1の視野424に関連付けられたセンサーにより物体422のセンサーデータをキャプチャすることができる。いくつかの例では、車両420は、異なった視野をキャプチャする複数のセンサーを含むことがある。例えば、車両420は、第1の視野424と重ならない第2の視野426に関連付けられた第2のセンサーを含むことがある。したがって、物体422は、時間T1における第2の視野に関連付けられたあらゆるセンサーデータにおいて表されない。
例418に例示されるように、車両420は、物体422が時間T2において第2の視野426に関連付けられた第2のセンサーデータによって表されことがあるように、第1の時間T1から第2の時間T2まで環境を通って動くことが可能である。
したがって、本明細書に述べられる技法は、例416、418においてキャプチャされたセンサーデータに少なくとも部分的に基づいて、ロケーションを決定すること、および/またはキャリブレーションパラメーターを決定することを含むことができる。すなわち、第1のロケーションは、第1の時間にキャプチャされた物体422を表すセンサーデータを用いて決定されることが可能であり、第2のロケーションは、第2の時間にキャプチャされた物体422を表すセンサーデータを用いて決定されることが可能である。第1の時間と第2の時間との間の車両のロケーションおよび向きの変化は、時間の間の運動を説明するのに用いられることが可能である。
同様に、第1の時間にキャプチャされた物体422を表すセンサーデータ、および第2の時間にキャプチャされた物体422を表すセンサーデータは、車両の1つまたは複数のセンサーのキャリブレーションパラメーターを決定するのに用いられることができる。第1の時間と第2の時間との間の車両のロケーションおよび向きの変化は、時間の間の運動を説明するのに用いられることが可能である。
図5は、本明細書に説明される技法を実装するための例示的なシステム500のブロック図を描く。少なくとも一例では、システム500は、車両502を含むことが可能である。例示された例示的なシステム500において、車両502は、自律車両であるが、しかしながら、車両502は、どんな他の種類の車両でもあることが可能である。
車両502は、たとえば、ドライバー(または乗員)がいかなる時点においても車両を制御することが期待されない、全行程にすべてのセーフティ-クリティカルの機能を果たす性能がある車両を記述する、米国連邦道路交通***によって発行されるレベル5分類に応じて、動作するように構成された自律車両などのような無人運転車両であることが可能である。上記の例では、車両502が、すべての駐車機能を含む、行程の開始から完了までのすべての機能を制御するように構成されることができるので、ドライバー、ならびに/または、たとえば、ハンドル、アクセルペダル、および/もしくはブレーキペダルなど、車両502を運転するための制御を含まないことがある。今述べたことは、単に例であり、本明細書に説明されるシステムおよび方法は、常にドライバーによって手動により制御される必要がある車両から、部分的にまたは完全に自律的に制御される車両までに及ぶ車両を含む、陸上輸送の、航空輸送の、または水上輸送のどんな車両にでも組み入れられることがある。
車両502は、1つまたは複数のコンピューティングデバイス(複数可)504、1つまたは複数のセンサーシステム(複数可)506、1つまたは複数のエミッター(複数可)508、1つまたは複数の通信接続(複数可)510(通信デバイスおよび/またはモデムとも呼ばれる)、少なくとも1つの直接接続512(例えば、車両502と物理的に接続してデータを交換するおよび/または電力を供給するための)、および、1つまたは複数のドライブシステム514を含むことができる。1つまたは複数のセンサーシステム(複数可)506は、環境に関連付けられたセンサーデータをキャプチャするように構成されることができる。
1つまたは複数のセンサーシステム(複数可)506は、タイムオブフライトセンサー、ロケーションセンサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁気計、ジャイロスコープなど)、ライダーセンサー、レーダーセンサー、ソナーセンサー、赤外線センサー、カメラ(例えば、RGB、IR、強度、深度など)、マイクロフォンセンサー、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)、超音波トランスデューサー、ホイールエンコーダーなどを含むことが可能である。1つまたは複数のセンサーシステム(複数可)506は、今述べたまたは他の種類のセンサーの各々に関する複数のインスタンスを含むことができる。たとえば、タイムオブフライトセンサーは、車両502の角、前面、後面、側面、および/または上面に位置される個々のタイムオブフライトセンサーを含むことが可能である。別の例として、カメラセンサーは、車両502の外部および/または内部のあちこちに、種々のロケーションに配置された複数のカメラを含むことができる。1つまたは複数のセンサーシステム(複数可)506は、入力を、コンピューティングデバイス504に提供することができる。
さらに、車両502は、光および/または音を発するための1つまたは複数のエミッター(複数可)508を含むこともできる。今述べた例における1つまたは複数のエミッター(複数可)508は、車両502の乗客と通信する内部のオーディオおよびビジュアルのエミッターを含む。例として限定しないが、内部のエミッターは、スピーカー、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、触覚に関するエミッター(例えば、振動および/またはフォースフィードバック)、メカニカルアクチュエーター(たとえば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)、および同類のものなどを含むことが可能である。さらに、今述べた例における1つまたは複数のエミッター(複数可)508は、外部のエミッターも含む。例および非限定として、今述べた例における外部のエミッターは、進む方向、または車両の作動に関する他のインディケーション(例えば、インジケーターライト、サイン、ライトアレイなど)を合図するライト、および歩行者または他の近くの車と聞こえるほどに通信する1つまたは複数のオーディオエミッター(例えば、スピーカー、スピーカーアレイ、ホーンなど)、アコースティックビームステアリング技術を含むことがある1つまたは複数を含む。
さらに、車両502は、車両502と、1つまたは複数の他のローカルまたはリモートのコンピューティングデバイス(複数可)(例えば、リモートテレオペレーションコンピューティングデバイス)との間の、または、リモートサービスとの間の通信を可能にする通信接続(複数可)510を含むことも可能である。たとえば、1つまたは複数の通信接続(複数可)510は、車両502の他のローカルコンピューティングデバイス(複数可)との、および/またはドライブシステム(複数可)514との通信を容易にすることができる。さらに、1つまたは複数の通信接続(複数可)510は、車両502に、他の近くのコンピュータデバイス(複数可)(例えば、他の近くの車両、交通信号機など)と通信できるようにすることも可能である。
1つまたは複数の通信接続(複数可)510は、コンピューティングデバイス504を、別のコンピューティングデバイスに、または、1つまたは複数の外部ネットワーク(複数可)542(例えば、インターネット)に接続するための物理インターフェースおよび/または論理インターフェースを含むことが可能である。例えば、1つまたは複数の通信接続(複数可)510は、たとえば、IEEE802.11規格によって定義された周波数、たとえばBLUETOOTH(登録商標)、セルラー通信(例えば2G、3G、4G、4G LTE、5Gなど)、衛星通信、狭域通信(-DSRC、)などのショートレンジのワイヤレス周波数、またはそれぞれのコンピューティングデバイスに他のコンピューティングデバイス(複数可)とインターフェースできるようにするどんな適切なワイヤードもしくはワイヤレスの通信プロトコルでも介してなど、Wi-Fiベースの通信を可能にすることができる。
少なくとも1つの例では、車両502は、1つまたは複数のドライブシステム(複数可)514を含むことができる。いくつかの例では、車両502は、単一のドライブシステム514を有することができる。少なくとも1つの例では、車両502が複数のドライブシステム514を有するならば、個々のドライブシステム514は、車両502の向き合う端部(例えば、前方および後方など)に置かれることができる。少なくとも1つの例では、ドライブシステム(複数可)514は、ドライブシステム(複数可)514の状態を、および/または車両502の周囲の状態を検出する1つまたは複数のセンサーシステム(複数可)506を含むことが可能である。例および非限定として、センサーシステム(複数可)506は、ドライブシステムの車輪の回転を感知する1つまたは複数のホイールエンコーダー(たとえば、ロータリーエンコーダー)、ドライブシステムの向きおよび加速度を測定する慣性センサー(たとえば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他の画像センサー、ドライブシステムの周囲のオブジェクトを聴覚的に検出する超音波センサー、ライダーセンサー、レーダーセンサーなどを含むことが可能である。いくつかのセンサー、たとえばホイールエンコーダーなどは、ドライブシステム(複数可)514に一意的であることが可能である。ある場合には、ドライブシステム(複数可)514のセンサーシステム(複数可)506は、車両502の対応するシステム(例えば、センサーシステム(複数可)506)に対して重ねる、または補うことができる。
ドライブシステム(複数可)514は、高電圧バッテリー、車両を推進するモーター、他の車両システムによる使用のためにバッテリーからの直流を交流に変換するインバーター、(電気で動くことが可能である)ステアリングモーターおよびステアリングラックを含むステアリングシステム、油圧または電気アクチュエーターを含むブレーキングシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、けん引のロスを軽減し制御を維持するブレーキ力を分配するための安定性制御システム、HVACシステム、ライティング(例えば車両の外部の周囲を照らすヘッド/テールライトなどのライティング)、および1つまたは複数の他のシステム(例えば、冷却システム、安全性システム、オンボード充電システム、たとえば、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどの他の電気コンポーネント)を含む、多くの車両システムを含むことが可能である。加えて、ドライブシステム(複数可)514は、センサーシステム(複数可)506からのデータを受信し前処理することができ、種々の車両システムの動作を制御するためのドライブシステムコントローラーを含むことができる。いくつかの例では、ドライブシステムコントローラーは、1つまたは複数のプロセッサー(複数可)と、1つまたは複数のプロセッサー(複数可)に通信接続されたメモリーとを含むことが可能である。メモリーは、ドライブシステム(複数可)514の種々の機能性を行う1つまたは複数のコンポーネントを格納することができる。その上さらに、ドライブシステム(複数可)514は、それぞれのドライブシステムによって、1つまたは複数の他のローカルまたはリモートのコンピューティングデバイス(複数可)との通信を可能にする1つまたは複数の通信接続(複数可)を含むこともある。
コンピューティングデバイス504は、1つまたは複数のプロセッサー(複数可)516と、1つまたは複数のプロセッサー(複数可)516に通信接続されたメモリー518とを含むことが可能である。例示される例では、コンピューティングデバイス504のメモリー518は、オブジェクトディテクタ522、エピポーラコンポーネント524、およびエラーコンポーネント526を含むパーセプションコンポーネント520、プロジェクションコンポーネント530および距離コンポーネント532を含むローカライゼーションコンポーネント528、予測コンポーネント534、プランニングコンポーネント536、マップコンポーネント538、および、1つまたは複数のシステムコントローラー(複数可)540を格納する。例示の目的のためにメモリー518に常駐するように描かれるが、パーセプションコンポーネント520、オブジェクトディテクタ522、エピポーラコンポーネント524、エラーコンポーネント526、ローカライゼーションコンポーネント528、プロジェクションコンポーネント530、距離コンポーネント532、予測コンポーネント534、プランニングコンポーネント536、マップコンポーネント538、および1つまたは複数のシステムコントローラー(複数可)540が、追加的に、または代替的に、コンピューティングデバイス504にアクセスできる(例えば、車両502の異なるコンポーネントに格納される)および/または車両502にアクセスできる(例えば、遠隔に格納される)ことが可能であることは想定される。
パーセプションコンポーネント520は、物体の検出、分割、および/または分類を行う機能性を含むことができる。いくつかの例では、パーセプションコンポーネント520および/またはオブジェクトディテクタ522は、車両502に最も近いエンティティの存在(presence)、および/またはエンティティの種類(例えば、車、歩行者、サイクリスト、建物、木、路面、縁石、歩道、不明など)としてエンティティの分類を示す処理されたセンターデータを提供することがある。追加および/または代替の例において、パーセプションコンポーネント520は、検出されるエンティティおよび/またはエンティティが置かれる環境に関連付けられた1つまたは複数の特性を示す処理されたセンサーデータを提供することが可能である。いくつかの例では、限定されないが、エンティティに関連付けられた特性は、x位置(グローバルポジション)、y位置(グローバルポジション)、z位置(グローバルポジション)、向き、エンティティタイプ(例えば、分類)、エンティティの速度、エンティティのエクステント(大きさ)などを含むことが可能である。限定されないが、環境に関連付けられた特性は、環境における別のエンティティの存在、環境における別のエンティティの状態、時刻、曜日、季節、気象条件、闇/光のインディケーションなどを含むことができる。
さらに、パーセプションコンポーネント520は、パーセプションコンポーネント520によって生成されたパーセプションデータを格納する機能性を含むことができる。場合によっては、パーセプションコンポーネント520は、オブジェクトタイプとして分類された物体に対応するトラックを決定することができる。例示のみの目的のために、センサーシステム(複数可)506を用いて、パーセプションコンポーネント520は、環境の1つまたは複数の画像をキャプチャすることができる。センサーシステム(複数可)506は、たとえば、歩行者などの物体を含む環境の画像をキャプチャすることができる。歩行者は、時間Tに第1の位置にいて、時間T+tに第2の位置にいることが可能である(例えば、時間Tの後の時間tのスパンの間の動き)。言い換えると、歩行者は、今述べた時間スパンの間に、第1の位置から第2の位置まで動くことが可能である。上記の動きは、例えば、オブジェクトに関連付けられた格納されたパーセプションデータとしてロギングされることが可能である。
格納されたパーセプションデータは、いくつかの例では、車両によってキャプチャされた融合されたパーセプションデータを含むことができる。-融合されたパーセプションデータは、たとえば、画像センサー、ライダーセンサー、レーダーセンサー、-タイムオブフライトセンサー、ソナーセンサー、全地球測位システムセンサー、内部センサー、および/またはあらゆる組み合わせなど、センサーシステム(複数可)506からのセンサーデータの融合または他の組み合わせを含むことができる。格納されたパーセプションデータは、追加的または代替的に、センサーデータに表される物体(例えば、歩行者、車両、建物、路面など)のセマンティック分類を含む分類データを含むことができる。格納されたパーセプションデータは、追加的または代替的に、環境を通る動的な物体として分類された物体の運動に対応するトラックデータ(位置、向き、センサー特徴など)を含むことができる。トラックデータは、経時的に、複数の異なる物体の複数のトラックを含むことができる。今述べたトラックデータをマイニングして、あるタイプの物体(歩行者、動物など)が静止している(例えば、立ったままでいる)または運動している(例えば、歩いている、走っているなど)時間の物体の画像を識別することが可能である。今述べた例では、コンピューティングデバイスは、歩行者に対応するトラックを決定する。
一般に、オブジェクトディテクタ522は、センサーデータによって表されるセマンティックオブジェクトを(とりわけ)検出することができる。いくつかの例では、オブジェクトディテクタ522は、上記のセマンティックオブジェクトを識別することができ、物体に関連付けられた2次元または3次元バウンディングボックスを決定することができる。オブジェクトディテクタ522は、本明細書に述べられるように、物体に関連付けられた共分散データおよび/または物体に関連付けられた中心点を決定することができる。オブジェクトディテクタ522は、たとえば、オブジェクトに関連付けられたロケーション、向き、姿勢、および/またはサイズ(例えば、長さ、幅、高さなど)などの追加情報を決定することができる。オブジェクトディテクタ522は、本明細書に述べられるように、ローカライゼーションのためにおよび/またはキャリブレーション情報の決定のために、システム500の他のコンポーネントにデータを送ることができる。
一般に、エピポーラコンポーネント524は、エピポーラ幾何に基づいてキャリブレーション情報を決定することができる。例えば、エピポーラコンポーネント524は、2つの物体が同一の物体であり、種々のセンサーによってキャプチャされたセンサーデータに表されているというインディケーションを受信することができる。エピポーラコンポーネント524は、本明細書に述べられるように、センサーの一貫性を評価するためのエピポーラ平面および/またはエピポーラ線を決定することができる。例えば、エピポーラコンポーネント524は、物体に関連付けられた中心点と、2つのセンサーからのセンサーデータに関連するエピポーラ線との間の距離を決定することができる。エピポーラコンポーネント524は、種々のセンサー(複数可)の姿勢を表す固有のおよび/または固有でないセンサーキャリブレーションパラメーターに基づいて、エピポーラ平面および/またはエピポーラ線を決定することができる。
一般に、エラーコンポーネント526は、エピポーラコンポーネント524から距離データを受信することができ、距離を集約して、1つまたは複数のセンサーに関連付けられた経時的な誤差を決定することができる。いくつかの例では、経時的な誤差は、エピポーラ線を中心とした誤差のガウス分布を表すことがある(または表すと予期されることがある)。距離を集計することにより、エラーコンポーネント526は、誤差が許容可能な誤差の範囲外であるかどうかを決定することができる。誤差が決定されるならば、エラーコンポーネント526は、2つのセンサーが、矛盾があると決定することができ、本明細書に述べられるように、さらなるメンテナンスまたは他の作動のためにセンサーにフラグを立てることができる。
ローカライゼーションコンポーネント528は、センサーシステム(複数可)506および/または他のコンポーネントからデータを受信して、車両502の位置を決定する機能性を含むことができる。例えば、ローカライゼーションコンポーネント528は、環境の3次元マップを含むおよび/または要求する/受信することができ、マップ内の自律車両のロケーションを連続的に決定することができる。場合によっては、ローカライゼーションコンポーネント528は、SLAM(simultaneous localization and mapping)またはCLAMS(calibration, localization and mapping, simultaneously)を用いて、タイムオブフライトデータ、画像データ、ライダーデータ、レーダーデータ、ソナーデータ、IMUデータ、GPSデータ、ホイールエンコーダーデータ、またはあらゆる組み合わせ、および同類のものを受信して、自律車両のロケーションを正確に決定することができる。場合によっては、ローカライゼーションコンポーネント520は、データを、車両502の種々のコンポーネントに提供して、本明細書に述べられるように、候補の軌道を生成するために自律車両の初期の位置を決定することができる。
さらに、ローカライゼーションコンポーネント528は、セマンティックオブジェクトを表すマップデータを受信することができ、本明細書に述べられるように、車両502のロケーションを決定するためのセンサーデータにおける上記のセマンティックオブジェクトの検出を受信することができる。
プロジェクションコンポーネント530は、本明細書に述べられるように、セマンティックオブジェクト(複数可)を表すセンサーデータを、オブジェクトマッチングのためにキャプチャされたセンサーデータにプロジェクションする機能性を含むことができる。
距離コンポーネント532は、セマンティックマップオブジェクトと対応する感知された物体との間の距離を決定する機能性を含むことができる。距離コンポーネント532は、車両の推定ロケーションを更新して、距離を大域的に最小にすることができる。すなわち、距離の大域的な最小値は、推定ロケーションがローカライゼーションコンポーネント528によって決定されたことを示すことがある。
予測コンポーネント534は、環境における1つまたは複数の物体の可能性のあるロケーションの予測確率を表す1つまたは複数の確率マップを生成することができる。例えば、予測コンポーネント534は、車両502からしきい値距離内にある車両、歩行者、動物、および同類のものに対して、1つまたは複数の確率マップを生成することができる。場合によっては、予測コンポーネント534は、物体のトラックを測定し、観測され予測される挙動に基づいて、物体に対して、離散化予測確率マップ、ヒートマップ、確率分布、離散化確率分布、および/または軌道を生成することができる。場合によっては、1つまたは複数の確率マップは、環境における1つまたは複数の物体のインテントを表すことができる。
プランニングコンポーネント536は、自律車両502が、環境を通って横切って進むために従うパスを決定することができる。例えば、プランニングコンポーネント536は、種々のルートおよびパスおよび種々の詳細のレベルを決定することができる。場合によっては、プランニングコンポーネント536は、第1のロケーション(たとえば、現在のロケーション)から第2のロケーション(たとえば、目標のロケーション)まで進むルートを決定することが可能である。本議論の目的のために、ルートは、2つのロケーション間を進むためのウェイポイントのシーケンスであることが可能である。限定でない例として、ウェイポイントは、街路、交差点、GPS(全地球測位システム)座標などを含む。さらに、プランニングコンポーネント536は、自律車両を、第1のロケーションから第2のロケーションまでの少なくとも一部分のルートに沿って、導くためのインストラクションを生成することができる。少なくとも一例では、プランニングコンポーネント536は、自律車両を、ウェイポイントのシーケンスにおける第1のウェイポイントから、ウェイポイントのシーケンスにおける第2のウェイポイントまで、どのように導くかを決定することができる。いくつかの例では、命令は、パス、またはパスの一部であることが可能である。いくつかの例では、複数のパスは、レシーディングホライズン(receding horizon)の技法にしたがって、実質的に同時に(すなわち、技術的な許容範囲内に)生成されることが可能である。最も高い信頼レベルを有するレシーディングデータホライズンにおける複数のパスのうちの単一のパスが、選択されて車両を動作させることがある。
他の例では、プランニングコンポーネント536は、代替的に、または追加的に、パーセプションコンポーネント520および/または予測コンポーネント534からのデータを用いて、車両502が環境を通って横切って進むために従うパスを決定することができる。例えば、プランニングコンポーネント536は、環境に関連付けられた物体に関するパーセプションコンポーネント520および/または予測コンポーネント534からのデータを受信することができる。今述べたデータを用いて、プランニングコンポーネント536は、環境における物体を避けるように、第1のロケーション(たとえば、現在のロケーション)から第2のロケーション(たとえば、目標のロケーション)まで進むルートを決定することが可能である。少なくともいくつかの例では、プランニングコンポーネント536は、上記の衝突のないパスがないと決定し、今度は、車両502を、すべての衝突を回避するおよび/または別のやり方にて損傷を軽減する安全停止の状態にするパスを提供することがある。
メモリー518は、環境内をナビゲートするために車両502によって用いられることできる1つまたは複数のマップ538を、さらに含むことできる。議論の目的のために、マップは、たとえば、限定されないが、トポロジー(たとえば、交差点など)、街路、山脈、道路、地形、および一般に環境など、環境について情報を提供する能力がある2次元、3次元、またはN次元のモデル化されたいくつものデータ構造であることが可能である。マップは、物体識別子、物体分類、3次元ロケーション、共分散データ(例えば、画像データ、または多重解像度ボクセル空間に表される)、および同類のものをさらに含むことができる。限定されないが、場合によっては、マップは、テクスチャ情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)、および同類のもの)、強度情報(例えば、LIDAR情報、RADAR情報、および同類のもの)、空間情報(例えば、メッシュの上に投影された画像データ、個々の「サーフェル」(例えば、個々の色および/または強度に関連付けられたポリゴン))、反射率情報(例えば、鏡面反射情報、再帰反射率(retroreflectivity)情報、BRDF情報、BSSRDF情報、および同類のもの)を含むことが可能である。1つの例では、マップは、環境の3次元メッシュを含むことができる。場合によっては、本明細書に述べられるように、マップは、たとえば、マップの個々のタイルが環境の離散的な部分を表すなど、タイルフォーマットに格納されることが可能であり、必要に応じてワーキングメモリーにロードされることが可能である。少なくとも1つの例では、1つまたは複数のマップ538は、少なくとも1つのマップ(例えば、画像および/またはメッシュ)を含むことができる。いくつかの例では、車両502は、マップ(複数可)538に少なくとも部分的に基づいて制御されることができる。すなわち、マップ(複数可)538が、パーセプションコンポーネント520(およびサブコンポーネント)、ローカライゼーションコンポーネント528(およびサブコンポーネント)、予測コンポーネント534、および/またはプランニングコンポーネント536に関連して用いられて、車両502のロケーションを決定する、環境におけるオブジェクトを識別する、物体および/または車両502に関連付けられた予測確率(複数可)を生成する、および/または環境内をナビゲートするルートおよび/または軌道を生成することができる。
少なくとも1つの例では、コンピューティングデバイス504は、車両502の操舵、推進、制動、安全、エミッター、通信、および他のシステムを制御するように構成されることができる1つまたは複数のシステムコントローラー(複数可)540を含むことができる。今述べたシステムコントローラー(複数可)540は、ドライブシステム(複数可)514の対応するシステムおよび/または車両502の他のコンポーネントに対して通信するおよび/または制御することができ、プランニングコンポーネント536から提供されるパスにしたがって動作するように構成されることがある。
車両502は、ネットワーク542を介してコンピューティングデバイス(複数可)544に連結されることができ、1つまたは複数のプロセッサー(複数可)556と、1つまたは複数のプロセッサー(複数可)556に通信接続されたメモリー548とを含むことができる。少なくとも1つの例では、1つまたは複数のプロセッサー(複数可)556は、プロセッサー(複数可)516と同様であることが可能であり、メモリー548は、メモリー518と同様であることが可能である。例示される例では、コンピューティングデバイス(複数可)544のメモリー548は、遠隔操作コンポーネント550および/またはモデルコンポーネント552を格納する。少なくとも1つの例では、モデルコンポーネント552は、経験的なテスティングおよび/またはシミュレーションの後、本明細書に述べられるように、ロケーションを決定するためのモデルおよび/またはキャリブレーションパラメーターを決定するためのモデルを含むことができる。例示の目的のためにメモリー548に常駐するように描かれるが、遠隔操作コンポーネント550およびモデルコンポーネント552が、追加的に、または代替的に、コンピューティングデバイス(複数可)544にアクセスできる(例えば、コンピューティングデバイス(複数可)544の異なるコンポーネントに格納される、および/またはコンピューティングデバイス(複数可)544にアクセスできる(たとえば遠隔に格納される))ことが可能であることは想定される。
本明細書に述べられるように、遠隔操作コンポーネント550は、キャリブレーションパラメーター(複数可)のインディケーション、上記のキャリブレーションパラメーター(複数可)に関連付けられたセンサーデータ、および/または予防保守の要求を受信する機能性を含むことができる。いくつかの例では、遠隔操作コンポーネント550は、キャリブレーションパラメーターに基づいて、またはキャリブレーションパラメーターが、低下した状態を示すという車両502による決定に基づいて、保守動作をスケジューリングすることができる。いくつかの例では、遠隔操作コンポーネント550は、車両502を制御することができるか、またはキャリブレーションパラメーターに基づいて車両に命令を提供することができるテレオペレーターまたはオペレーターを含むことができる。
モデルコンポーネント552は、本明細書に述べられるように、ロケーションを決定するためのモデルを生成する、および/またはキャリブレーションパラメーターを決定する機能性を含むことができる。例えば、モデルコンポーネント552は、センサーデータを受信することができ、上記のセンサーデータに関連付けられたキャリブレーションパラメーター(複数可)を決定することができる。モデルコンポーネント552は、複数の車両(例えば、車両のフリート)にわたるデータを集約して、正常な動作を示すキャリブレーションパラメーターおよび低下した動作を示すキャリブレーションパラメーターを決定することができる。さらに、モデルコンポーネント552は、本明細書に述べられるように、センサーを動作させる時間期間と、上記のメトリクスに関連付けられたコンポーネントの性能とに、キャリブレーションパラメーターを関連付けて、種々のセンサーに関連付けられた予測保守スケジュールを決定することができる。
コンピューティングデバイス504のプロセッサー(複数可)516およびコンピューティングデバイス(複数可)544のプロセッサー(複数可)556は、本明細書に説明されるように、データを処理し、動作をする命令を実行する性能があるどんな適切なプロセッサーでもあることが可能である。例としておよび限定ではない、プロセッサー(複数可)516、556は、1つまたは複数のCPU(中央処理装置)、GPU(Graphics Processing Unit)、または電子データを処理して、その電子データを、レジスターおよび/もしくはメモリーに格納されることが可能である他の電子データに変換するどんな他のデバイスもしくはデバイスの部分でも含むことが可能である。いくつかの例では、さらに、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスは、エンコードされた命令を実装するように構成される限り、考慮されるプロセッサーであることもできる。
コンピューティングデバイス504のメモリー518およびコンピューティングデバイス(複数可)544のメモリー548は、非一時的なコンピューター読取り可能媒体の例である。メモリー518、548は、本明細書に説明される方法と、種々のシステムに帰する機能とを実装するためのオペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納することができる。種々の実装において、メモリー518、548は、どんな適切なメモリー技術でも、例えば、SRAM(スタティックRAM)、SDRAM(シンクロナスDRAM)、不揮発性/フラッシュ型メモリー、または情報を格納する性能があるどんな他のタイプのメモリーでも用いて、実装されることが可能である。本明細書に説明されるアーキテクチャ、システム、および個々の要素は、多くの他の論理的な、プログラム的な、および物理的なコンポーネントを含むことが可能であり、添付の図面に示されるそれらは、本明細書の説明に関係する単なる例である。
場合によっては、本明細書に述べられるコンポーネントのいくつかまたはすべての様相は、どんなモデル、アルゴリズム、および/または-機械学習アルゴリズムでも含むことが可能である。例えば、場合によっては、メモリー518、548におけるコンポーネントは、ニューラルネットワークとして実装されることが可能である。
本明細書に説明されるように、典型的なニューラルネットワークは、一連の連結された層を通じて入力データを通して出力を生成する生物学的にインスパイアされたアルゴリズムである。さらに、ニューラルネットワークにおける各層は、別のニューラルネットワークを含むことが可能である、またはあらゆる数の層を(畳み込みかどうかにかかわらず)含むことが可能である。本開示という状況において理解されることが可能であるように、ニューラルネットワークは、出力が学習パラメーターに基づいて生成される上記のアルゴリズムの幅広いクラスを参照することが可能である機械学習を利用することが可能である。
ニューラルネットワークの文脈において述べられるが、機械学習のあらゆるタイプが、本開示と矛盾することなく使用されることが可能である。例えば、限定されないが、機械学習または機械-学習アルゴリズムは、回帰アルゴリズム(例えば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応型回帰スプライン(MARS)、局所推定スキャッタープロット平滑化法(LOESS))、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、弾性ネット、最小角度回帰(LARS))、ディシジョンツリーアルゴリズム(例えば、分類および回帰ツリー(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定断端、条件付きディシジョンツリー)、ベイジアンアルゴリズム(例えば、ナイーブベイズ、ガウスナイーブベイズ、多項式ナイーブベイズ、アベレージワンディペンデンスエスティメータズ(AODE)、ベイジアンビリーフネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均法、kメジアン、期待値最大化(EM)、階層クラスタリング)、相関ルール学習アルゴリズム(例えば、パーセプトロン、逆伝搬、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例えば、ディープボルツマンマシン(DBM)、ディープビリーフネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、スタックドオートエンコーダ)、次元縮退アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分的最小二乗回帰(PLSR)、サモンマッピング、多次元尺度構成法(MDS)、プロジェクション追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップアグリゲーション(バギング)、アダブースト、スタックドジェネラリゼーション(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースト回帰ツリー(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、準教師あり学習など含むことがある。
アーキテクチャの追加の例は、ニューラルネットワーク、たとえば、ResNet50、ResNet101、VGG、DenseNet、PointNet、および同類のものなどを含む。
したがって、本明細書に述べられる技法は、環境において車両をローカライズするための、および車両のセンサーに関連付けられたキャリブレーション情報を決定するための技法を提供する。
図1、2、6、7は、本開示の例にしたがう例示的な処理を示す図である。今述べた処理は、各動作が、ハードウェア、ソフトウェア、またはそれらの組合せにおいて実装されることがある可能である動作のシーケンスを表す、ロジカルフローグラフとして例示される。ソフトウェアの状況において、動作は、1つまたは複数のコンピューター読取り可能な記録媒体に格納されたコンピューター実行可能な命令を表し、1つまたは複数のプロセッサーによって実行されると、引用される動作を行う。一般に、コンピューター実行可能命令は、特定の機能を行うまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同類のものを含む。動作が説明される順序は、限定として解釈されることを意図せず、説明される動作をいくらでも、処理を実装するのに省略されるまたはどんな順序でもおよび/または並列に組み合わせることが可能である。
図6は、環境における車両のロケーションを決定することのための例示的な処理である。例えば、処理600のいくつかまたはすべては、本明細書に説明されるように図5における1つまたは複数のコンポーネントによって行われることが可能である。例えば、処理600のいくつかまたはすべては、パーセプションコンポーネント520および/またはローカライゼーションコンポーネント528によって行われることが可能である。
動作602において、処理は、車両に関連付けられたセンサーからセンサーデータを受信することを含むことができる。いくつかの例では、動作602は、自律車両が環境を横切って進む時、自律車両の1つまたは複数の画像センサーから画像データを受信するまたはキャプチャすることを含むことができる。いくつかの例では、動作602は、自律車両が環境を横切って進む時、自律車両の1つまたは複数の画像センサーからライダーデータを受信するまたはキャプチャすることを含むことができる。もちろん、他のセンサータイプが本明細書に想定される。
動作602は、環境における、たとえばセマンティックオブジェクトなどの物体に関連付けられたバウンディングボックスを受信するまたは決定することを含むことができる。限定されないが、セマンティックオブジェクトの例は、トラフィックライト、レーンマーキング、サイン、ポール、および同類のものを含む。セマンティックオブジェクトがない(例えば、動作604にて決定される)ならば、処理は、動作602に戻り、環境の追加データをキャプチャする。センサーデータに表されたセマンティックオブジェクトがある(例えば、動作604にて「はい」)ならば、動作は、608に続く。
動作606において、処理は、環境における車両の初期のロケーションを決定することを含むことができる。いくつかの例では、動作606は、ロケーションの粗い推定を決定して、マップデータを受信するために、動作608にロケーションを提供することを含むことができる。初期のロケーションは、本明細書に述べられるあらゆる技法に従って決定されることが可能である。
動作608において、処理は、環境に関連付けられたマップデータを受信することを含むことができる。いくつかの例では、マップデータは、環境における車両の初期のロケーションに基づいて、および/または動作602にてキャプチャされた物体の分類タイプに基づいて受信されることができる。マップデータを受信することまたは決定することの追加の詳細は、図3に関連して、本開示の至る所にも同様に、述べられている。
動作610において、処理は、マップデータからセンサーデータにマップオブジェクトをプロジェクションすることを含むことができる。動作610は、マップオブジェクトの3次元ロケーションと、センサーデータをキャプチャするセンサーの向きとに基づいて行うことができる。いくつかの例では、動作610は、3次元マップオブジェクトを、たとえば画像データなどの2次元表現にプロジェクションすることを含むことができる。
動作612において、処理は、マップオブジェクトがセンサーデータに表される物体に対応することを決定することを含むことができる。例えば、動作612は、マップオブジェクトが、感知された物体と同じであることを、サイズ、形状、分類タイプに基づいてマッチングする、あるいは別のやり方にて決定することを含むことができる。いくつかの例では、動作612は、ハンガリー法、グリーディサーチアルゴリズム、および同類のものに少なくとも部分的に基づくことができる。
動作614において、処理は、物体とマップオブジェクトとの間の距離、または物体がマップオブジェクトである尤度を決定することを含むことができる。図1および図2に関連して説明したように、距離は、マップオブジェクトの中心点と、センサーデータに表される物体の中心点との間の距離に対応することが可能である。
動作616において、処理は、距離または尤度に少なくとも部分的に基づいて、環境における車両のロケーションを決定することを含むことができる。いくつかの例では、動作616は、たとえば、SLAM(simultaneous localization and mapping)、パーティクルフィルタリング、および同類のものなどのローカライゼーションアルゴリズムに少なくとも部分的に基づくことができる。
動作618において、処理は、ロケーションに少なくとも部分的に基づいて車両を制御することを含むことができる。いくつかの例では、限定されないが、動作618は、車両が従う軌道を受信すること、車両が従う軌道を決定すること、軌道に従うよう車両を制御すること、リモートテレオペレーターに情報を送ること、停止軌道を決定すること、および同類のものを含むことができる。
図7は、マップデータに基づいてセンサーに対してキャリブレーションパラメーターを決定することのための例示的な処理である。例えば、処理700のいくつかまたはすべては、本明細書に説明されるように図5における1つまたは複数のコンポーネントによって行われることが可能である。例えば、処理700のいくつかまたはすべては、パーセプションコンポーネント520および/またはローカライゼーションコンポーネント528によって行われることが可能である。
動作702において、処理は、第1のセンサーによってキャプチャされた第1のセンサーデータを受信することを含むことができる。
動作704は、第2のセンサーによってキャプチャされた第2のセンサーデータを受信することを含むことができる。
いくつかの例では、第1のセンサーおよび/または第2のセンサーは、画像センサー、ライダーセンサー、レーダーセンサー、タイムオブフライトセンサー、および同類のものを含むことができる。いくつかの例では、第1のセンサーの視野は、第2のセンサーの第2の視野と少なくとも部分的に重なることが可能である。いくつかの例では、第1および第2のセンサーの視野は重ならないことがある。
いくつかの例では、動作702および動作704は、実質的に(技術的な許容範囲内に)行われる。いくつかの例では、動作702および動作704は、異なる時間に起こることがあるが、上記の場合、第1のセンサーおよび第2のセンサーのロケーションは、キャリブレーションパラメーターを決定する目的のために、センサーのポーズ/ロケーションの変化を補償する、調整する、あるいは別のやり方にて考慮するために決定されことがある。
動作706は、マップデータを受信することを含むことができる。マップデータを受信することの様相は、図1、2、3に関連して、本開示の至る所にも同様に、述べられている。
動作708において、処理は、マップデータに少なくとも部分的に基づいて、第1のセンサーデータに表される第1の物体が第2のセンサーデータに表される第2の物体であることを決定することを含むことができる。動作708を行うための技法は、図1、2に関連して、本開示の至る所にも同様に、述べられている。
動作710において、処理は、キャリブレーションデータに少なくとも部分的に基づいて、第1のセンサーデータに関連付けられたエピポーラ線を決定することを含むことができる。いくつかの例では、キャリブレーションデータは、1つまたは複数の固有でないパラメーターおよび/または固有のパラメーターを含むことができる。いくつかの例では、キャリブレーションデータは、エピポーラ線を生成するデータを含むことができ、限定されないが、第1のセンサーおよび/または第2のセンサーに関連付けられた基本行列、第1または第2のセンサーに関連付けられた基礎行列、向き情報、および同類のものを含むことができる。
動作710は、第1のセンサーに対してエピポーラ線を決定する状況において述べられているが、動作710は、追加的にまたは代替的に、第2のセンサーの状況において行われることがある。
動作712において、処理は、第1のオブジェクトに関連付けられた点とエピポーラ線との間の距離を、または点がエピポーラ線と関連付けられる尤度を決定することを含むことができる。動作712に関連付けられた追加の詳細は、図2に関連して、本開示の至る所にも同様に、述べられている。
動作714において、処理は、距離または尤度に少なくとも部分的に基づいて、キャリブレーションパラメーターを決定することを含むことができる。いくつかの例では、キャリブレーションパラメーターは、第1のセンサーと第2のセンサーとの間の一貫性のレベルを表すことができる。動作714に関連付けられた追加の詳細は、図2に関連して、本開示の至る所にも同様に、述べられている。
動作716において、処理は、キャリブレーションパラメーターに少なくとも部分的に基づいて車両を制御することを含むことができる。いくつかの例では、限定されないが、動作716は、車両が従う軌道を受信すること、車両が従う軌道を決定すること、軌道に従うよう車両を制御すること、リモートテレオペレーターに情報を送ること、停止軌道を決定すること、センサーがミスキャリブレーションされていることを決定すること、および同類のものを含むことができる。
第1のセンサーおよび第2のセンサーの状況において述べたが、処理700は、あらゆる数のセンサーからセンサーデータを受信することに基づいて実装されることが可能である。
例示的な箇条
A:1つまたは複数のプロセッサーと、実行されると、1つまたは複数のプロセッサーに、環境における自律車両に関連付けられた画像センサーからセンサーデータを受信することと、環境に関連付けられたマップデータを受信することと、センサーデータに少なくとも部分的に基づいて、センサーデータに表される感知された物体を決定することと、自律車両の第1のロケーションに少なくとも部分的に基づいて、マップデータからセンサーデータにマップオブジェクトをプロジェクションすることと、感知された物体がマップオブジェクトに関連付けられることを決定することと、感知された物体とマップオブジェクトとの間の距離を決定することと、距離に少なくとも部分的に基づいて、環境における自律車両の第2のロケーションを決定することと、ロケーションに少なくとも部分的に基づいて、自律車両を制御することと、を含む動作を行わせるコンピューター実行可能命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体と、を含むシステム。
A:1つまたは複数のプロセッサーと、実行されると、1つまたは複数のプロセッサーに、環境における自律車両に関連付けられた画像センサーからセンサーデータを受信することと、環境に関連付けられたマップデータを受信することと、センサーデータに少なくとも部分的に基づいて、センサーデータに表される感知された物体を決定することと、自律車両の第1のロケーションに少なくとも部分的に基づいて、マップデータからセンサーデータにマップオブジェクトをプロジェクションすることと、感知された物体がマップオブジェクトに関連付けられることを決定することと、感知された物体とマップオブジェクトとの間の距離を決定することと、距離に少なくとも部分的に基づいて、環境における自律車両の第2のロケーションを決定することと、ロケーションに少なくとも部分的に基づいて、自律車両を制御することと、を含む動作を行わせるコンピューター実行可能命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体と、を含むシステム。
B:動作は、マップデータにおける自律車両の第1のロケーションまたはオブジェクトタイプのうちの少なくとも1つに少なくとも部分的に基づいて、しきい値距離を決定することと、しきい値距離に少なくとも部分的に基づいてマップデータを受信することと、をさらに含む、項Aのシステム。
C:動作は、感知された物体が分類と関連付けられることを決定することと、マップオブジェクトが分類と関連付けられることを決定することと、をさらに含む、項AまたはBのシステム。
D:マップオブジェクトは、第1の中心点および第1の共分散データを含み、動作は、感知された物体に関連付けられた第2の中心点および第2の共分散データを決定することと、第1の中心点、第2の中心点、第1の共分散データ、および第2の共分散データに少なくとも部分的に基づいて距離を決定することとをさらに含む、項A~Cのいずれかのシステム。
E:物体は、トラフィックライト、サイン、ポール、またはレーンマーキングのうちの少なくとも1つを含む、項A~Dのいずれかのシステム。
F:環境における車両に関連付けられたセンサーからセンサーデータを受信することと、環境に関連付けられたマップデータを受信し、マップデータがマップオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、センサーデータに表される感知された物体を決定することと、マップオブジェクトをセンサーデータにプロジェクションすることと、感知された物体とマップオブジェクトとの間の距離または感知された物体がマップオブジェクトと関連付けられる尤度のうちの少なくとも1つを決定することと、距離または尤度に少なくとも部分的に基づいて、環境における車両のロケーションを決定することと、を含む方法。
G:ロケーションに少なくとも部分的に基づいて車両を制御すること、をさらに含む、項Fの方法。
H:環境における車両の推定ロケーションに少なくとも部分的に基づいて、センサーデータにマップオブジェクトをプロジェクションすること、をさらに含む、項FまたはGの方法。
I:マップデータにおける車両のロケーションまたはオブジェクトタイプに少なくとも部分的に基づいて、しきい値距離を決定することと、しきい値距離に少なくとも部分的に基づいてマップデータを受信することと、をさらに含む、項F~Hのいずれかの方法。
J:センサーデータが第1のセンサーデータであり、センサーが第1のセンサーであり、感知された物体が第1の物体であり、マップオブジェクトが第1のマップオブジェクトであり、距離が第1の距離であり、尤度が第1の尤度であり、方法は、車両に関連付けられた第2のセンサーから第2のセンサーデータを受信することと、第2のセンサーデータおよびマップデータに少なくとも部分的に基づいて、第2のセンサーデータに表される第2の物体と第2のマップオブジェクトとの間の第2の距離、または感知された物体がマップオブジェクトに関連付けられるという第2の尤度のうちの少なくとも1つを決定することと、さらに第2の距離または第2の尤度に少なくとも部分的に基づいて環境における車両のロケーションを決定することと、をさらに含む、項F~Iのいずれかの方法。
K:マップオブジェクトは、感知された物体と関連付けられることを決定すること、をさらに含む、項F~Jのいずれかの方法。
L:マップオブジェクトは、3次元位置、および第1の共分散データを含み、方法は、3次元位置をセンサーデータにプロジェクションして第1の中心点を決定することと、第1の共分散データをセンサーデータにプロジェクションして2次元共分散データを決定し、第1の共分散データは3次元共分散データを表すことと、物体に関連付けられた第2の中心点および第2の共分散データを決定することと、第1の中心点、第2の中心点、2次元共分散データ、および第2の共分散データに少なくとも部分的に基づいて距離または尤度を決定することと、をさらに含む、項F~Kのいずれかの方法。
M:距離がマハラノビス距離である、または、尤度が共分散データのサイズ、感知された物体に関連付けられた共分散データ、またはマップオブジェクトに少なくとも部分的に基づく、のうちの少なくとも1つである、項F~Lのいずれかの方法。
N:センサーが、画像センサー、ライダーセンサー、レーダーセンサー、またはタイムオブフライトセンサーのうちの少なくとも1つを含む、項F~Mのいずれかの方法。
O:感知された物体が分類タイプに関連付けられることを決定することと、マップオブジェクトが分類タイプに関連付けられることを決定することと、感知された物体およびマップオブジェクトが分類タイプに関連付けられることに少なくとも部分的に基づいて距離または尤度を決定することと、をさらに含む、項F~Nのいずれかの方法。
P:命令は、実行されると、プロセッサーに、環境における車両に関連付けられたセンサーからセンサーデータを受信することと、環境に関連付けられたマップデータを受信し、マップデータがマップオブジェクトを含むことと、センサーデータに少なくとも部分的に基づいて、センサーデータに表される感知された物体を決定することと、マップオブジェクトをセンサーデータにプロジェクションすることと、感知された物体とマップオブジェクトとの間の距離または感知された物体がマップオブジェクトと関連付けられる尤度のうちの少なくとも1つを決定することと、距離または尤度に少なくとも部分的に基づいて、環境における車両のロケーションを決定することと、を含む動作を行わせる、プロセッサーによって実行可能な命令を格納する非一時的なコンピューター読取り可能媒体。
Q:センサーデータが第1のセンサーデータであり、センサーが第1のセンサーであり、感知された物体が第1の物体であり、マップオブジェクトが第1のマップオブジェクトであり、距離が第1の距離であり、尤度が第1の尤度であり、動作は、車両に関連付けられた第2のセンサーから第2のセンサーデータを受信することと、第2のセンサーデータおよびマップデータに少なくとも部分的に基づいて、第2のセンサーデータに表される第2の物体と第2のマップオブジェクトとの間の第2の距離、または第2の物体が第2のマップオブジェクトに関連付けられるという第2の尤度のうちの少なくとも1つを決定することと、さらに第2の距離または第2の尤度に少なくとも部分的に基づいて環境における車両のロケーションを決定することと、をさらに含む、項Pの非一時的なコンピューター読取り可能媒体。
R:マップオブジェクトは、3次元位置、および第1の共分散データを含み、動作は、3次元位置をセンサーデータにプロジェクションして第1の中心点を決定することと、物体に関連付けられた第2の中心点および第2の共分散データを決定すること、第1の中心点、第2の中心点、第1の共分散データ、および第2の共分散データに少なくとも部分的に基づいて距離または尤度を決定することと、をさらに含む、項PまたはQの非一時的なコンピューター読取り可能媒体。
S:動作は、感知された物体が分類タイプに関連付けられることを決定することと、マップオブジェクトが分類タイプに関連付けられることを決定することと、感知された物体およびマップオブジェクトが分類タイプに関連付けられることに少なくとも部分的に基づいて距離または尤度を決定することと、をさらに含む、項P~Rのいずれかの非一時的なコンピューター読取り可能媒体。
T:感知された物体は、トラフィックライト、サイン、ポール、またはレーンマーキングのうちの少なくとも1つを含む、項P~Sのいずれかの非一時的なコンピューター読取り可能媒体。
U:1つまたは複数のプロセッサーと、実行されると、1つまたは複数のプロセッサーに、環境における自律車両に関連付けられた第1のセンサーからセンサーデータを受信することと、自律車両に関連付けられた第2のセンサーからセンサーデータを受信することと、環境に関連付けられたセマンティックマップデータを受信することと、第1のセンサーからの第1のセンサーデータおよび第2のセンサーからの第2のセンサーデータが、セマンティックマップデータに少なくとも部分的に基づいて決定されるセマンティックオブジェクトに対応することを決定することと、キャリブレーションデータ、第1のセンサーデータ、およびエピポーラ幾何に少なくとも部分的に基づいて、第2のセンサーデータに関連付けられた点とエピポーラ線との間の距離を決定することと、距離に少なくとも部分的に基づいて、第1のセンサーまたは第2のセンサーのうちの少なくとも1つに関連付けられたキャリブレーションパラメーターを決定することと、キャリブレーションパラメーターに少なくとも部分的に基づいて自律車両を制御することと、を含む動作を行わせるコンピューター実行可能命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体と、を含むシステム。
V:動作は、距離に少なくとも部分的に基づいて、経時的な誤差を決定することと、経時的な誤差に少なくとも部分的に基づいて、キャリブレーションパラメーターを決定することと、をさらに含み、キャリブレーションパラメーターは、第1のセンサーおよび第2のセンサーが、矛盾があるかどうかを示す、項Uのシステム。
W:第1のセンサーは、第1の視野を含む第1の画像センサーであり、第2のセンサーは、第1の視野に少なくとも部分的に重なる第2の視野を含む第2の画像センサーである、項UまたはVのシステム。
X:動作は、第2のオブジェクトに関連付けられた共分散データに少なくとも部分的に基づいて、第2のオブジェクトに関連付けられた点を決定することをさらに含む、項U~Wのいずれかのシステム。
Y:動作は、キャリブレーションパラメーターに少なくとも部分的に基づいて、自律車両に対して作動を決定すること、をさらに含む、項U~Xのいずれかのシステム。
Z:第1のセンサーから第1のセンサーデータを受信することと、第2のセンサーから第2のセンサーデータを受信することと、環境に関連付けられたセマンティックマップデータを受信することと、セマンティックマップデータに基づいて、セマンティックオブジェクトが第1のセンサーデータおよび第2のセンサーデータに表されることを決定することと、エピポーラ幾何、第1のセンサーデータ、および第2のセンサーデータに少なくとも部分的に基づいて、第1のセンサーまたは第2のセンサーのうちの少なくとも1つに関連付けられたキャリブレーションパラメーターを決定することと、を含む方法。
AA:キャリブレーションパラメーターに少なくとも部分的に基づいて、第1のセンサーまたは第2のセンサーのうちの少なくとも1つからのデータをダウンウェイトすること、車両の進行の方向を制限すること、車両の速さを減らすこと、または車両を停止させること、のうちの少なくとも1つを行うように車両を制御することをさらに含む、項Zの方法。
AB:第1のセンサーは、第1の視野を含む第1の画像センサーであり、第2のセンサーは、第1の視野に少なくとも部分的に重なる第2の視野を含む第2の画像センサーである、項ZまたはAAの方法。
AC:第1のセンサーは、第1の視野を含む第1の画像センサーであり、第2のセンサーは、第1の視野と重ならない第2の視野を含む第2の画像センサーである、項Z~ABのいずれかの方法。
AD:第1のセンサーデータは、第2のセンサーデータと実質的に同時にキャプチャされる、項Z~ACのいずれかの方法。
AE:キャリブレーションデータ、および第1のセンサーデータに関連付けられた第1の点に少なくとも部分的に基づいて、エピポーラ線を決定することと、第2のセンサーデータに関連付けられた第2の点とエピポーラ線との間の距離、または第2の点がエピポーラ線に関連付けられるという尤度のうちの少なくとも1つを決定することと、距離または尤度に少なくとも部分的に基づいてキャリブレーションパラメーターを決定することと、をさらに含む、項Z~ADのいずれかの方法。
AF:キャリブレーションデータは、第1のセンサーの第1のポーズおよび第2のセンサーの第2のポーズに少なくとも部分的に基づく、項AEの方法。
AG:キャリブレーションパラメーターに少なくとも部分的に基づいて、経時的な誤差を決定すること、をさらに含み、キャリブレーションパラメーターは、第1のセンサーおよび第2のセンサーが、矛盾があるかどうかを示す、項Z~AFのいずれかの方法。
AH:セマンティックオブジェクトが第1のセンサーデータおよび第2のセンサーデータに表されることを決定することは、第1のセンサーデータに少なくとも部分的に基づいて、第1のセンサーデータに表される第1の感知された物体を決定することと、第1の感知された物体の分類タイプを決定することと、分類タイプに少なくとも部分的に基づいて、セマンティックマップデータから第1のセンサーデータにマップオブジェクトをプロジェクションすることと、を含む、項Z~AGのいずれかの方法。
AI:キャリブレーションパラメーターが第1のキャリブレーションパラメーターであり、方法は、車両に関連付けられた第3のセンサーから第3のセンサーデータを受信することと、セマンティックマップデータに基づいて、セマンティックオブジェクトが第3のセンサーデータに表されることを決定することと、エピポーラ幾何に少なくとも部分的に基づいて、第1のセンサーまたは第3のセンサーのうちの少なくとも1つに関連付けられた第2のキャリブレーションパラメーターを決定することと、第1のキャリブレーションパラメーターおよび第2のキャリブレーションパラメーターに少なくとも部分的に基づいて、第1のセンサーのキャリブレーション状態を決定することと、をさらに含む、項Z~AHのいずれかの方法。
AJ:命令は、実行されると、プロセッサーに、第1のセンサーから第1のセンサーデータを受信することと、第2のセンサーから第2のセンサーデータを受信することと、環境に関連付けられたセマンティックマップデータを受信することと、セマンティックマップデータに基づいて、セマンティックオブジェクトが第1のセンサーデータおよび第2のセンサーデータに表されることを決定することと、エピポーラ幾何、第1のセンサーデータ、および第2のセンサーデータに少なくとも部分的に基づいて、第1のセンサーまたは第2のセンサーのうちの少なくとも1つに関連付けられたキャリブレーションパラメーターを決定することと、を含む動作を行わせる、プロセッサーによって実行可能な命令を格納する非一時的なコンピューター読取り可能媒体。
AK:動作は、キャリブレーションパラメーターに少なくとも部分的に基づいて、第1のセンサーまたは第2のセンサーのうちの少なくとも1つからのデータをダウンウェイトすること、車両の進行の方向を制限すること、車両の速さを減らすこと、または車両を停止させること、のうちの少なくとも1つを行うように車両を制御することをさらに含む、項AJの非一時的なコンピューター読取り可能媒体。
AL:動作は、キャリブレーションデータ、および第1のセンサーデータに関連付けられた第1の点に少なくとも部分的に基づいて、エピポーラ線を決定することと、第2のセンサーデータに関連付けられた第2の点とエピポーラ線との間の距離、または第2の点がエピポーラ線に関連付けられるという尤度のうちの少なくとも1つを決定することと、距離または尤度に少なくとも部分的に基づいてキャリブレーションパラメーターを決定することと、をさらに含む、項AJ~AKのいずれかの非一時的なコンピューター読取り可能媒体。
AM:動作は、キャリブレーションパラメーターに少なくとも部分的に基づいて、経時的な誤差を決定すること、をさらに含み、キャリブレーションパラメーターは、第1のセンサーおよび第2のセンサーが、矛盾があるかどうかを示す、項AJ~ALのいずれかの非一時的なコンピューター読取り可能媒体。
AN:セマンティックオブジェクトが第1のセンサーデータおよび第2のセンサーデータに表されることを決定することは、第1のセンサーデータに少なくとも部分的に基づいて、第1のセンサーデータに表される第1の感知された物体を決定することと、第1の感知された物体の分類タイプを決定することと、分類タイプに少なくとも部分的に基づいて、セマンティックマップデータから第1のセンサーデータにマップオブジェクトをプロジェクションすることと、を含む、項AJ~AMのいずれかの非一時的なコンピューター読取り可能媒体。
上に説明される例示的な箇条が、1つの特定の実装に関して説明されるが、本文書の状況において、さらに、例示的な箇条の内容は、方法、デバイス、システム、コンピューター読取り可能媒体、および/または別の実装を介して実装されることができることが理解されるべきである。さらに加えて、例A~ANのいずれかは、単独にて、または例A~ANのうちの他の1つまたは複数との組み合わせにおいて、実装されることがある。
終結
本明細書に説明される技法に関する1つまたは複数の例が説明されたが、種々の代替、追加、置換および均等は、本明細書に説明される技法の範囲内に含まれる。
本明細書に説明される技法に関する1つまたは複数の例が説明されたが、種々の代替、追加、置換および均等は、本明細書に説明される技法の範囲内に含まれる。
例の説明において、参照は、主張される主題の特定の例を実例として示す、一部を形成する添付の図面に対してされる。他の例が用いられることが可能であること、および、変更または代替、たとえば構造的な変更などがされることが可能であることは、理解されることである。上記の例、変更、または代替は、意図され主張される主題に関して、必ずしも範囲からの逸脱でない。本明細書におけるステップが、ある順において与えられることができるが、ある場合には、順は、ある入力が、説明されるシステムおよび方法の機能を変更することなしに異なる時間に、または別個の順に提供されるように、変更されることができる。さらに、開示される手順は、異なる順において実行されることも可能だろう。さらに加えて、本明細書にある種々の計算は、開示された順において行われる必要がなく、計算の代替えの順にすることを用いる他の例は、難なく実装されることが可能であろう。並べ替えられることに加えて、さらに、計算は、同一の結果を有する部分計算に分解されることも可能であろう。
Claims (15)
- 環境における車両に関連付けられたセンサーからセンサーデータを受信することと、
前記環境に関連付けられたマップデータを受信することであって、前記マップデータは、マップオブジェクトを含む、ことと、
前記センサーデータに少なくとも部分的に基づいて、前記センサーデータに表された感知された物体を決定することと、
前記センサーデータに前記マップオブジェクトをプロジェクションすることと、
前記感知された物体と前記マップオブジェクトとの間の距離、または前記感知された物体が前記マップオブジェクトと関連付けられるという尤度のうちの少なくとも1つを決定することと、
前記距離または前記尤度に少なくとも部分的に基づいて、前記環境における前記車両のロケーションを決定することと
を備えることを特徴とする方法。 - 前記ロケーションに少なくとも部分的に基づいて前記車両を制御すること
をさらに備えることを特徴とする請求項1に記載の方法。 - 前記環境における前記車両の推定ロケーションに少なくとも部分的に基づいて、前記センサーデータに前記マップオブジェクトをプロジェクションすること、または
前記マップオブジェクトが前記感知された物体と関連付けられることを決定することと
のうちの少なくとも1つをさらに備えることを特徴とする請求項1または2に記載の方法。 - マップデータにおける前記車両のロケーション、またはオブジェクトタイプに少なくとも部分的に基づいて、しきい値距離を決定することと、
前記しきい値距離に少なくとも部分的に基づく前記マップデータを受信することと
をさらに備えることを特徴とする請求項1ないし3のいずれか一項に記載の方法。 - 前記センサーデータは第1のセンサーデータであり、前記センサーは第1のセンサーであり、前記感知された物体は第1の物体であり、前記マップオブジェクトは第1のマップオブジェクトであり、前記距離は、第1の距離であり、前記尤度は、第1の尤度であり、前記方法は、
前記車両に関連付けられた第2のセンサーから第2のセンサーデータを受信することと、
前記第2のセンサーデータおよび前記マップデータに少なくとも部分的に基づいて、前記第2のセンサーデータに表される第2の物体と第2のマップオブジェクトとの間の第2の距離、または前記感知された物体が前記マップオブジェクトと関連付けられるという第2の尤度のうちの少なくとも1つを決定することと、
前記第2の距離または前記第2の尤度に少なくとも部分的に基づいて、前記環境における前記車両の前記ロケーションをさらに決定することと
をさらに備えることを特徴とする請求項1ないし4のいずれか一項に記載の方法。 - 前記マップオブジェクトは、第1の中心点および第1の共分散データを含み、前記距離または前記尤度のうちの少なくとも1つを決定することは、距離を決定することを含み、前記方法は、
前記感知された物体に関連付けられた第2の中心点および第2の共分散データを決定することと、
前記第1の中心点、前記第2の中心点、前記第1の共分散データ、および前記第2の共分散データに少なくとも部分的に基づいて、前記距離を決定することと
をさらに備える請求項1ないし5のいずれか一項に記載の方法。 - 前記マップオブジェクトは、3次元位置、および第1の共分散データを含み、前記方法は、
前記センサーデータに前記3次元位置をプロジェクションして、第1の中心点を決定することと、
前記センサーデータに前記第1の共分散データをプロジェクションして、2次元共分散データを決定することであって、前記第1の共分散データは3次元共分散データを表す、ことと、
前記感知された物体に関連付けられた第2の中心点および第2の共分散データを決定することと、
前記第1の中心点、前記第2の中心点、前記2次元共分散データ、および前記第2の共分散データに少なくとも部分的に基づいて、前記距離または前記尤度を決定することと
をさらに備えることを特徴とする請求項1ないし6のいずれか一項に記載の方法。 - 前記距離はマハラノビス距離である、または
前記尤度は、共分散データのサイズ、前記感知された物体に関連付けられた前記共分散データ、または前記マップオブジェクトに少なくとも部分的に基づく
のうちの少なくとも1つであることを特徴とする請求項1ないし7のいずれか一項に記載の方法。 - 前記センサーは、画像センサー、ライダーセンサー、レーダーセンサー、またはタイムオブフライトセンサーのうちの少なくとも1つを含むことを特徴とする請求項1ないし8のいずれか一項に記載の方法。
- 前記感知された物体が分類タイプと関連付けられることを決定することと、
前記マップオブジェクトが前記分類タイプと関連付けられることを決定することと、
前記分類タイプに関連付けられている前記感知された物体および前記マップオブジェクトに少なくとも部分的に基づいて、前記距離または前記尤度を決定することと
をさらに備えることを特徴とする請求項1ないし9のいずれか一項に記載の方法。 - 1つまたは複数のプロセッサーによって実行されると、1つまたは複数のコンピューティングデバイスに、請求項1ないし10のいずれか一項に記載の方法を行わせる命令を格納することを特徴とする1つまたは複数の非一時的なコンピューター読取り可能媒体。
- システムであって、
1つまたは複数のプロセッサーと、
前記1つまたは複数のプロセッサーによって実行可能な命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体であって、前記命令は、実行されると、前記システムに、
環境における車両に関連付けられたセンサーからセンサーデータを受信することと、
前記環境に関連付けられたマップデータを受信することであって、前記マップデータは、マップオブジェクトを含む、ことと、
前記センサーデータに少なくとも部分的に基づいて、前記センサーデータに表された感知された物体を決定することと、
前記センサーデータに前記マップオブジェクトをプロジェクションすることと、
前記感知された物体と前記マップオブジェクトとの間の距離、または前記感知された物体が前記マップオブジェクトと関連付けられるという尤度のうちの少なくとも1つを決定することと、
前記距離または前記尤度に少なくとも部分的に基づいて、前記環境における前記車両のロケーションを決定することと
を含む動作を行わせる、1つまたは複数の非一時的なコンピューター読取り可能媒体と
を備えたことを特徴とするシステム。 - 前記マップオブジェクトは、3次元位置、および第1の共分散データを含み、前記動作は、
前記センサーデータに前記3次元位置をプロジェクションして、第1の中心点を決定することと、
前記物体に関連付けられた第2の中心点および第2の共分散データを決定することと、
前記第1の中心点、前記第2の中心点、前記第1の共分散データ、および前記第2の共分散データに少なくとも部分的に基づいて、前記距離または前記尤度を決定することと
をさらに含むことを特徴とする請求項12に記載のシステム。 - 前記動作は、
前記感知された物体が分類タイプと関連付けられることを決定することと、
前記マップオブジェクトが前記分類タイプと関連付けられることを決定することと、
前記分類タイプに関連付けられている前記感知された物体および前記マップオブジェクトに少なくとも部分的に基づいて、前記距離または前記尤度を決定することと
をさらに含むことを特徴とする請求項12または13に記載のシステム。 - 前記感知された物体は、
トラフィックライト、
サイン、
ポール、または
レーンマーキング
のうちの少なくとも1つを含むことを特徴とする請求項12ないし14のいずれか一項に記載のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/119,518 US11538185B2 (en) | 2020-12-11 | 2020-12-11 | Localization based on semantic objects |
US17/119,562 | 2020-12-11 | ||
US17/119,562 US12012126B2 (en) | 2020-12-11 | 2020-12-11 | Calibration based on semantic objects |
US17/119,518 | 2020-12-11 | ||
PCT/US2021/060997 WO2022125322A1 (en) | 2020-12-11 | 2021-11-29 | Localization based on semantic objects |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023553238A true JP2023553238A (ja) | 2023-12-21 |
Family
ID=81974049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023517891A Pending JP2023553238A (ja) | 2020-12-11 | 2021-11-29 | セマンティックオブジェクトに基づくローカライゼーション |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4260154A1 (ja) |
JP (1) | JP2023553238A (ja) |
CN (1) | CN116324928A (ja) |
WO (1) | WO2022125322A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10809361B2 (en) * | 2017-05-31 | 2020-10-20 | Uatc, Llc | Hybrid-view LIDAR-based object detection |
US11170485B2 (en) * | 2019-05-22 | 2021-11-09 | Here Global B.V. | Method, apparatus, and system for automatic quality assessment of cross view feature correspondences using bundle adjustment techniques |
US11003945B2 (en) * | 2019-05-22 | 2021-05-11 | Zoox, Inc. | Localization using semantically segmented images |
-
2021
- 2021-11-29 JP JP2023517891A patent/JP2023553238A/ja active Pending
- 2021-11-29 CN CN202180066759.8A patent/CN116324928A/zh active Pending
- 2021-11-29 EP EP21904119.1A patent/EP4260154A1/en active Pending
- 2021-11-29 WO PCT/US2021/060997 patent/WO2022125322A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN116324928A (zh) | 2023-06-23 |
EP4260154A1 (en) | 2023-10-18 |
WO2022125322A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10937178B1 (en) | Image-based depth data and bounding boxes | |
JP7350013B2 (ja) | マスクを使用したデータセグメンテーション | |
US11748909B2 (en) | Image-based depth data and localization | |
US11003945B2 (en) | Localization using semantically segmented images | |
US11295161B2 (en) | Localization using semantically segmented images | |
US11681046B2 (en) | Depth data model training with upsampling, losses and loss balancing | |
US11422259B2 (en) | Multi-resolution maps for localization | |
US10984543B1 (en) | Image-based depth data and relative depth data | |
US20200103236A1 (en) | Modifying Map Elements Associated with Map Data | |
US10890663B2 (en) | Loading multi-resolution maps for localization | |
US11538185B2 (en) | Localization based on semantic objects | |
US12012126B2 (en) | Calibration based on semantic objects | |
US11699237B2 (en) | Bounding box embedding for object identifying | |
US12030522B2 (en) | Collision avoidance using an object contour | |
CN114072841A (zh) | 根据图像使深度精准化 | |
US11614742B2 (en) | Height estimation using sensor data | |
US11543263B1 (en) | Map distortion determination | |
US11124154B1 (en) | Techniques for authorizing vehicles | |
US11960009B2 (en) | Object contour determination | |
EP4058974A1 (en) | Depth data model training with upsampling, losses, and loss balancing | |
US11761780B1 (en) | Determining data for semantic localization | |
JP2024526614A (ja) | 縁石を識別するための技術 | |
US11753036B1 (en) | Energy consumption control systems and methods for vehicles | |
US11256268B1 (en) | Techniques for authorizing vehicle control systems | |
JP2023553238A (ja) | セマンティックオブジェクトに基づくローカライゼーション |