(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-09-11
(45)【発行日】2025-09-22
(54)【発明の名称】センサデータを使用した高さ推定
(51)【国際特許分類】
G06T 7/521 20170101AFI20250912BHJP
G06V 10/422 20220101ALI20250912BHJP
G01S 17/931 20200101ALI20250912BHJP
【FI】
G06T7/521
G06V10/422
G01S17/931
(21)【出願番号】P 2022531035
(86)(22)【出願日】2020-11-19
(86)【国際出願番号】 US2020061278
(87)【国際公開番号】W WO2021108215
(87)【国際公開日】2021-06-03
【審査請求日】2023-10-23
(32)【優先日】2019-11-27
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】チャン ワン
(72)【発明者】
【氏名】ユエソン シェ
【審査官】松永 隆志
(56)【参考文献】
【文献】米国特許出願公開第2019/0049560(US,A1)
【文献】米国特許出願公開第2019/0018132(US,A1)
【文献】国際公開第2019/198789(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/521
G06V 10/422
G01S 17/931
(57)【特許請求の範囲】
【請求項1】
環境内のオブジェクトのサイズを推定するための方法であって、
車両の
三次元センサによってキャプチャされた
環境のセンサデータを受信することと、
前記センサデータを2次元データ表現に表すことと、
前記センサデータにクラスタリングを実行して、オブジェクトを表すオブジェクトデータを決定すること
であって、前記センサデータにクラスタリングを実行することは、前記オブジェクトデータに含まれる第1のデータ点と前記オブジェクトデータに含まれない第2のデータ点とを分類することを含み、前記オブジェクトデータは、前記オブジェクトデータに含まれると決定された前記第1のデータ点によって表される、ことと、
前記オブジェクトの決定された高さとして、
前記オブジェクトデー
タに含まれるデータ点のうちの、最高データ点の第1の垂直高さと最低データ点の第2の垂直高さとの差を決定することによって、前記オブジェクトの
最小の高さを表す第1の高さ、または、
前記2次元データ表現に含まれ
るチャネル内
の、前記オブジェクトの高さの上限
を示す位置
と前記オブジェクトの高さの下限を示す位置との間の距離
を決定することによって前記オブジェクトの
最大の高さを表す第2の高さ、
のうちの少なくとも1つを決定することと、
決定され
た前記高さ
に基づいて前記オブジェクトの分類を決定し、前記オブジェクトおよび前記オブジェクトの前記分類に基づいて前記車両の動作を制御させることと、
を含む方法。
【請求項2】
前記
オブジェクトデータに含まれる第1のデータ点と前記オブジェクトデータに含まれない第2のデータ点とを分類することは、
前記センサデータ
かつ前記オブジェクトデータに含まれる初期
点と、前記センサデータに含まれ
る前記初期点以外のデータ点のうちの1つまたは複数の前記初期点以外のデータ点との間の3次元ユークリッド距離を決定
し、前記3次元ユークリッド距離と閾値距離とを比較して前記3次元ユークリッド距離が閾値距離未満である場合に、1つまたは複数の前記初期点以外のデータ点が前記オブジェクトデータに含まれると決定するこ
とを含む、
請求項1に記載の方法。
【請求項3】
前記距離は、
前記
最高データ点からの、前記最高データ点の位置よりも高い位置にある前記オブジェクトデータの範囲よりも大きい範囲を有するオブジェクトデータのデータ点に対して前記三次元センサが搭載された前記車両から発せられた光線までの垂直距離と、
前記最低データ点からの、前記最低データ点の位置よりも低い位置にある前記オブジェクトデータの範囲よりも大きい範囲を有するオブジェクトデータのデータ点に対する前記光線までの垂直距離と、
前記最高データ点と前記最低データ点との間の垂直距離と、
を含む、
請求項1または2に記載の方法。
【請求項4】
前記
最高データ点および前記最低データ点の位置と前記
三次元センサの位置との間
の距離
が、
前記最高データ点の位置よりも高い位置にある、および、前記最低データ点の位置よりも低い位置にある、前記
オブジェクトデータの範囲よりも大きい範囲を有するオブジェクトデータのデータ点の位置と前記
三次元センサの位置との間
の距離未満である
場合に、前記最高データ点からの、前記最高データ点の位置よりも高い位置にある前記オブジェクトデータの範囲よりも大きい範囲を有するオブジェクトデータのデータ点に対する前記光線までの垂直距離、前記最低データ点からの、前記最低データ点の位置よりも低い位置にある前記オブジェクトデータの範囲よりも大きい範囲を有するオブジェクトデータのデータ点に対する前記光線までの垂直距離、および前記最高データ点と前記最低データ点との間の垂直距離を合算して前記第2の高さとする、請求項3に記載の方法。
【請求項5】
前記センサデータに表される地面の表示を受信することと、
前記2次元データ表現から、前記地面の前記センサデータのサブセットを削除することと、
をさらに含む、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記センサデータがライダセンサによってキャプチャされ、
前記
光線がライダビームである、請求
項3または4に記載の方法。
【請求項7】
前記オブジェクトの高さの下限を示す位置が地面
である、請求項1から
6のいずれか1項に記載の方法。
【請求項8】
前記センサデータは、ライダセンサからのライダデータであり、
前記2次元データ表現は、前記ライダデータの方位角のビンを表す第1の次元と、前記ライダデータのチャネルを表す第2の次元と、を含
み、ここで、前記方位角のビンとは、ライダビームの方位角方向に沿って一定の角度毎に区切った方位の角度を指し、前記チャネルとは、ライダビームの道径方向に沿って一定の距離毎に区切った距離の幅のことを指す、請求項1から
7のいずれか1項に記載の方法。
【請求項9】
コンピュータ上で実行された場合に、請求項1から
8のいずれか一項に記載の方法を実装する符号化された命令を備える、コンピュータプログラム。
【請求項10】
環境内のオブジェクトのサイズを推定するためのシステムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数のコンピュータ可読記憶媒体であって、前記命令は、実行されると、前記システムに、
車両の
三次元センサから
環境のセンサデータを受信することと、
前記センサデータを2次元データ表現に表すことと、
前記センサデータにクラスタリングを実行して、オブジェクトを表すオブジェクトデータを決定すること
であって、前記センサデータにクラスタリングを実行することは、前記オブジェクトデータに含まれる第1のデータ点と前記オブジェクトデータに含まれない第2のデータ点とを分類することを含み、前記オブジェクトデータは、前記オブジェクトデータに含まれると決定された前記第1のデータ点によって表される、ことと、
前記オブジェクトの決定された高さとして、
前記オブジェクトデータ
に含まれるデータ点のうちの、最高データ点の第1の垂直高さと最低データ点の第2の垂直高さとの差を決定することによって、前記オブジェクトの
最小の高さを表す第1の高さ、または、
前記最高データ点の垂直上方の位置および前記
三次元センサ
が搭載された前記車両から
発せられた光線が交差する位置と、前記最低データ点の垂直下方の位置および前記光線が交差する位置との間の垂直距離
を決定することにより、前記オブジェクトの
最大の高さを表す第2の高さ、
のうちの少なくとも1つを決定することと、
決定され
た前記高さ
に基づいて前記オブジェクトの分類を決定し、前記オブジェクトおよび前記オブジェクトの前記分類に基づいて前記車両の動作を制御させることと、を含む動作を実行させる、1つまたは複数のコンピュータ可読記憶媒体と、
を備えるシステム。
【請求項11】
前記
オブジェクトデータに含まれる第1のデータ点と前記オブジェクトデータに含まれない第2のデータ点とを分類することは、
前記センサデータ
かつ前記オブジェクトデータに含まれる初期
点と、前記センサデータに含まれ
る前記初期点以外のデータ点のうちの1つまたは複数の前記初期点以外のデータ点との間の3次元ユークリッド距離を決定
し、前記3次元ユークリッド距離と閾値距離とを比較して前記3次元ユークリッド距離が閾値距離未満である場合に、1つまたは複数の前記初期点以外のデータ点が前記オブジェクトデータに含まれると決定するこ
とを含む、
請求項1
0に記載のシステム。
【請求項12】
前記垂直距離は、
前記最高データ点からの、前記最高データ点の位置よりも高い位置にある前記オブジェクトデータの範囲よりも大きい範囲を有するオブジェクトデータのデータ点に対する前記光線までの垂直距離と、
前記最低データ点からの、前記最低データ点の位置よりも低い位置にある前記オブジェクトデータの範囲よりも大きい範囲を有するオブジェクトデータのデータ点に対する前記光線までの垂直距離と、
前記最高データ点と前記最低データ点との間の垂直距離と、
を含む、
請求項1
0または1
1に記載のシステム。
【請求項13】
前記センサデータがライダセンサによってキャプチャされ、
前記
光線がライダビームである、請求項1
0から1
2のいずれか1項に記載のシステム。
【請求項14】
前記センサデータは、ライダセンサからのライダデータであり、
前記2次元データ表現は、前記ライダデータの方位角のビンを表す第1の次元と、前記ライダデータのチャネルを表す第2の次元と、を含
み、
ここで、前記方位角のビンとは、ライダビームの方位角方向に沿って一定の角度毎に区切った方位の角度を指し、前記チャネルとは、ライダビームの道径方向に沿って一定の距離毎に区切った距離の幅のことを指す、請求項1
0から1
3のいずれか1項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、環境内のオブジェクトのサイズを推定するための技術に関する。
【背景技術】
【0002】
(関連出願に対する相互参照)
本特許出願は、2019年11月27日に出願された米国特許出願第16/698,055号の優先権を主張する。出願第16/698,055号は、参照により本明細書に完全に組み込まれる。
【0003】
車両は、センサを使用してセンサデータをキャプチャし、環境内のオブジェクトを検出することができる。オブジェクト特性の正確な判定は、例えば、自律走行車両が環境を横断するのを支援することができる。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図面を参照して説明される。図面において、参照番号の左端の数字は、その参照番号が最初に出現する図面を識別する。異なる図面における同一の参照番号の使用は、類似または同一の構成要素または特徴を示す。
【0005】
【
図1】オブジェクトの高さを推定する例示的なプロセスの図解フロー図である。
【
図2】オブジェクトデータを決定するためにデータをクラスタリングするための例示的なプロセスの図である。
【
図3A】センサデータに関連付けられた高さを推定するためのシナリオを示す図である。
【
図3B】センサデータに関連付けられた高さを推定するためのシナリオを示す図である。
【
図3C】センサデータに関連付けられた高さを推定するためのシナリオを示す図である。
【
図3D】センサデータに関連付けられた高さを推定するためのシナリオを示す図である。
【
図4】本明細書で説明される技術を実装するための例示的なシステムのブロック図である。
【
図5】センサデータに基づいて、オブジェクトに関連付けられた高さを推定するための例示的なプロセスである。
【
図6】オブジェクトデータに関連付けられた上限及び下限に基づいてオブジェクトの高さを決定するための例示的なプロセスである。
【発明を実施するための形態】
【0006】
環境内のオブジェクトのサイズを推定するための技術が、本明細書で論じられる。例えば、ライダセンサなどのセンサは、環境の三次元データをキャプチャすることができる。3次元センサデータは、さらなる処理のために2次元データ表現に関連付けられ得る。例えば、ライダデータは、方位角のビン及びチャネルに基づく2次元データ表現に関連付けられ得る。地面を2次元データ表現から取り除くことができ、クラスタリング技術を使用してセンサデータをクラスタリングして、センサデータに表現されるオブジェクトを決定することができる。オブジェクトの第1の高さは、オブジェクトに関連付けられたセンサデータの垂直範囲に基づいて推定されるか、そうでなければ決定されることができる。オブジェクトの第2の高さは、オブジェクトの上部から上部ライダビームに関連付けられた光線までの第1の垂直距離、またはオブジェクトの底部から下部ライダビームまたは地面に関連付けられた光線までの第2の垂直距離に基づいて推定されるか、またはそうでなければ決定されることができる。したがって、オブジェクトの最小および/または最大の高さは、堅牢な方法で決定することができる。
【0007】
いくつかの例では、本明細書で論じられる技術は、車両を制御するための一次システムと、一次システムの動作を検証し、車両を制御して衝突を回避するために車両上で動作する二次システムとを含む車両に実装され得る。例えば、技術は、環境内のオブジェクトを検出し、システムが最小および/または最大の高さのオブジェクトを正確に検出することを検証するために、二次システムに実装され得る。
【0008】
本明細書で論じられる技術は、ライダセンサからのライダデータなどの環境のセンサデータをキャプチャまたは受信することを含み得る。処理のためのデータの量を減らすために、本技術は、走行可能エリアに関連付けられた道路及び道路内に表される地面の表示を受信すること、またはそうでなければ判定することを含むことができる。道路の外側の、または地面に関連付けられたデータを除去または破棄することができ、それによって非地面ライダリターンを含むデータセットをもたらす。
【0009】
いくつかの例では、ライダデータは、地面を除去する前または後の2次元データ表現に関連付けられ得る。2次元データ表現(2次元表現または2D空間とも称される)は、方位角のビンを表す第1の次元及びチャネルを表す第2の次元を有するライダデータを表し得る。例えば、回転ライダは、環境を360度走査することを含み得る。2D空間の第1の次元は、5度、8度、10度、18度、36度などを含み得る方位角のビン(ビンとも称される)に離散化され得る。2D空間の第2の次元は、32、64、100、128等の個々のチャネルなどのチャネルに離散化され得る。
【0010】
2D空間に表されるデータは、クラスタリングされて、データに表されるオブジェクトを決定することができる。本技術は、ライダセンサに関連付けられた位置に最も近い非地上データ点を決定することを含むことができる。すなわち、各データ点は、環境内のオブジェクトと、ライダセンサに関連付けられた位置(原点など)との間の距離または範囲に関連付けることができる。いくつかの例では、2D空間内(またはチャネル内)のデータは、効率的なデータ検索のために、範囲によってデータ構造内で順序付けすることができる。
【0011】
いくつかの例では、クラスタリング技術は、本明細書で論じられるように、第1の時間にチャネル内に適用され、次いで、第1の時間の後の第2の時間にチャネルにわたって適用することができる。
【0012】
道路内の最も近い非地上データ点(例えば、第1のポイント)を決定した後、本技術は、2D空間内の次の最も近いポイント(例えば、第2のポイント)までの距離を決定することを含むことができる。例えば、距離は、環境内の3次元距離として決定することができる。距離が閾値未満である場合、第1のポイント及び第2のポイントをクラスタリングして、同じオブジェクトを表すことができる。クラスタリングは、第1のポイントに関して、追加のデータ点ごとに繰り返すことができる。次に、クラスタリングは、第2のポイントに関して、追加のデータ点ごとに繰り返すことができる。例えば、第2のポイントと第3のポイントとの間の距離を決定することができ、その距離が閾値距離未満である場合、第3のポイントはオブジェクトに関連付けられることができる。同じオブジェクトに関連付けられたデータは、オブジェクトデータと呼ぶことができる。
【0013】
同じチャネル内のデータに対してクラスタリングが実行された後、本技術は、2D空間内の他のデータに対して実行することができる。例えば、本技術は、同じまたは異なる方位角のビン、及び/または異なるチャネルにわたって実行することができる。クラスタリングのさらなる態様は、本開示を通して論じられる。
【0014】
技術は、オブジェクトデータに関連付けられた高さ(及び/または高さ範囲)を推定すること、またはそうでなければ決定することをさらに含む。いくつかの例では、第1の高さ(例えば、高さ範囲の下限)は、オブジェクトデータに関連付けられた垂直距離に基づいて決定することができる。例えば、ビーム間の垂直距離は、オブジェクトデータと、ライダセンサに関連付けられた位置または原点との間の範囲に少なくとも部分的に基づくことができる。すなわち、ライダビームの垂直方向の広がりは、オブジェクトデータとライダセンサとの間の距離の関数であり得る。例えば、第1の距離(例えば5メートル)において、ライダビーム間の垂直距離は、第1の垂直距離(例えば3cm)であってよい。第2の距離(例えば、10メートル)において、ライダビーム間の垂直距離は、第2の垂直距離(例えば、6cm)であってよい。したがって、オブジェクトの第1の高さは、オブジェクトに関連付けられたビームの数に少なくとも部分的に基づいて決定することができる。いくつかの例では、オブジェクトの高さは、データのx座標、y座標、及びz座標に基づいて決定される3次元距離に基づくことができる。
【0015】
しかしながら、ライダセンサの垂直解像度はある程度制限され得るため、キャプチャされたオブジェクトデータは、環境内のオブジェクトの高さを正確に表すことができない場合がある。したがって、本技術は、オブジェクトデータとセンサデータのより高いビームまたはより低いビームとの間の距離に基づいて、第2の高さ(例えば、高さ範囲の上限)を推定すること、またはそうでなければ決定することを含むことができる。例えば、オブジェクトの第2の高さは、オブジェクトの上部から上部ライダビームに関連付けられた光線までの第1の垂直距離、またはオブジェクトの底部から下部ライダビームまたは地面に関連付けられた光線までの第2の垂直距離に基づいて推定されるか、またはそうでなければ決定されることができる。オブジェクトの高さを推定する、またはそうでなければ決定するという追加の態様は、本開示を通して議論される。
【0016】
いくつかの例では、車両の知覚システムは、オブジェクトの推定サイズに基づいてオブジェクトをフィルタリングし得る。いくつかの例では、車両は、閾値を超えるオブジェクトのサイズに基づいて制御することができる。例えば、閾値を下回るオブジェクトは、計画目的(または他の動作)のためにフィルタリングされてもよく、または無視されてもよい。別の例では、閾値を超えるオブジェクトは、計画目的(または他の動作)のために考慮され得る。車両を制御するための例示的な動作は、安全停止、緊急停止、オブジェクトを回避するための軌道を決定すること、オブジェクトの予測される位置を回避するための軌道を決定することなどを含み得るが、これらに限定されない。オブジェクトの高さに基づく追加の動作は、分類動作、予測動作などを含み得る。
【0017】
本明細書に記載の高さ推定技術は、環境内のオブジェクトの高さを推定する、またはそうでなければ決定する堅牢な方法を提供することによって、コンピューティングデバイスの機能を改善することができる。例えば、高さデータは、分類、トラッキング、予測、経路計画、軌道生成などの後続のプロセスがより正確に実行されることを可能にし得、より少ない処理能力を必要とし得る、及び/またはより少ないメモリを必要とし得る。例えば、いくつかの例では、(例えば、本明細書で論じられるクラスタリング技術を使用して)より速くかつ/またはより正確なセグメンテーションを使用して、自律走行車両の軌道を生成することができ、これは、自律走行車両の乗員の安全性を向上させることができる。いくつかの例では、本技術は、一次/二次コンピューティングシステムアーキテクチャの二次コンピューティングシステムで使用することができ、これは、冗長システムが全体的な信頼性及び安全性の結果を大幅に改善することを可能にする。さらに、本明細書で論じられる本技術は、安全性について検証することができるシステムに組み込まれ得る。コンピュータの機能に対するこれらおよび他の改善について、本明細書で論じられる。
【0018】
本明細書で説明される本技術は、多くの手法で実装されることが可能である。例示的な実装は、下記の図面を参照して以下で提供される。自律走行車両のコンテキストで論じているが、本明細書に記載の方法、装置、およびシステムは、様々なシステム(例えば、センサシステム、またはロボットプラットフォーム)に適用することができ、自律走行車両に限定されない。一例では、そのようなシステムが様々な動作を実行することが安全であるかどうかの指標を提供し得る運転者制御車両で、同様の技術が利用され得る。別の例では、本技術は、製造アセンブリラインの文脈で、航空測量の文脈で、または航海の文脈で利用することができる。さらに、本明細書で説明される本技術は、(例えば、センサを用いてキャプチャされる)実データ、(例えば、シミュレーターによって生成される)模擬データ、またはその2つの任意の組合せで用いることが可能である。
【0019】
図1は、オブジェクトの高さを推定する例示的なプロセス100の図解フロー図である。
【0020】
動作102は、環境のセンサデータを受信することを含むことができる。例えば、動作102は、環境104を表すライダデータを受信することを含むことができる。環境104は、地面106およびオブジェクト108を含み得る。いくつかの例では、動作102は、複数のセンサ(例えば、複数のライダセンサ)からセンサデータを受信することと、データを単一のポイントクラウド(例えば、較正されアライメントされたデータセット)に融合する、またはそうでなければ組み合わせることとを含むことができる。いくつかの例では、動作102は、自律走行車両が環境104を横断するときに自律走行車両によって実行することができる。
【0021】
動作110は、環境104内の地面データを除去することを含むことができる。例えば、(例えば、地面106を表す)地面データは、データの量を減少させる、及び/または後続の動作の精度を増加させるために除去することができる。さらに、動作110は、自律走行車両の軌道に関連付けられた道路112を識別することを含むことができる。例えば、動作110は、車両の幅および/または長さ、車両の現在の速度および/または軌道に関連付けられた速度などに少なくとも部分的に基づいて道路を決定することができる。
【0022】
地面データの除去に関して、動作110は、(道路に関連付けられた)センサデータのサブセットを、地面分類またはオブジェクト分類のいずれかに属するものとして分類することを含むことができる。地面分類は、センサデータが車道および/または他の環境表面に関連付けられていることを識別することができ、一方、オブジェクト分類は、地面ではない任意の他のオブジェクトを含み得る。いくつかの例では、本明細書に記載される本技術は、どのタイプのオブジェクトかをさらに識別することなく、センサデータを地面またはオブジェクトのいずれかとして単純に分類し得る。
【0023】
動作110は、センサデータを地面またはオブジェクトとして分類することに関連付けられた検出漏れおよび/または誤検出率を改善(例えば、減少)し得る技術を含んでよい。いくつかの例では、本技術は、特に、1つ以上の勾配(例えば、車道表面の傾斜)の変化を含み得る複雑な車道についての車道表面のプロファイル(例えば、車道高さのプロファイル)をモデル化するために、1つ以上の線および/または面を推定することを含み得る。これらの地面フィッティング技術は、有効な戻り値を含むセンサデータの数またはパーセンテージに少なくとも部分的に基づいて、スプラインの制御ポイントおよびノットの数を決定することに少なくとも部分的に基づいて、地面に関連付けられたスプライン(例えば、1つまたは複数の多項式、ベジエ曲線)を決定することを含み得る。いくつかの例では、センサデータが環境の一部についてまばらであるとき、決定されたスプラインは不正確であり得る。本技術は、追加的または代替的に、スプラインを生成する前にセンサデータを重み付けすること(例えば、最小二乗回帰を最低および/または最高(高度)センサデータ点に向けて重み付けすることによって)、フィッティング後の動作としてセンサデータに少なくとも部分的に基づいて1つ以上の制御ポイントに関連付けられた高さ値(例えば、縦座標)を変更すること、および/またはフィッティング後の動作としてノットの間隔を変更することを含み得る。いくつかの例では、スプラインを決定することは、回帰アルゴリズム(例えば、最小二乗)に少なくとも部分的に基づいて、制御ポイントおよび/またはノットの値を決定することを含み得る。地面データを識別する追加の例は、例えば、「Complex Ground Profile Estimation」と題され、2019年9月30日に出願された米国特許出願第16/588,717号に見出すことができ、その全体が参照により本明細書に組み込まれる。
【0024】
動作114は、オブジェクトを決定するためにデータをクラスタリングすることを含むことができる。例116は、データ点間の距離に基づいて、2次元データ表現で表されるデータをクラスタリングすることを示す。例えば、2次元データ表現118は、ビン120、122、124、及び126を表す第1の次元を含むことができる。そのようなビン120-126は、本明細書で論じられるように、方位角のビンを表し得る。さらに、2次元データ表現118は、チャネル130、132、134、及び136を表す第2の次元を含むことができる。いくつかの例では、チャネル130-136は、本明細書で論じられるように、チャネルを表すことができる。いくつかの例では、いくつかのチャネルは、ライダセンサに関連付けられたいくつかのビームまたはチャネルに少なくとも部分的に基づくことができる。
【0025】
いくつかの例では、動作102または114は、センサデータを2次元データ表現118に関連付けることを含むことができる。例えば、動作は、3次元データを2次元データ表現118に関連付けることを含むことができる。
【0026】
図示されるように、2次元データ表現118は、データ点138、140、142、144、146、148、150、及び152を含む。
【0027】
クラスタリング動作(例えば、動作114)を使用して、データ
点138、140、142、146、及び148を表すオブジェクトデータ154を決定することができる。オブジェクトデータ154は、環境104内のオブジェクト108を表すことができる。一般に、クラスタリングは、2次元データ表現118内のデータ
点間の距離に少なくとも部分的に基づくことができる。例えば、データ
点138と140との間の距離が閾値距離未満であるため、データ
点138および140は、オブジェクトデータ154に含まれる。さらに、データ
点144は、データ
点142(オブジェクトデータ154に関連付けられたデータ
点)とデータ
点144との間の距離が閾値距離を超えているため、オブジェクトデータ154として含まれない。クラスタリングデータの追加の詳細は、
図2に関連して、ならびに本開示を通して議論される。
【0028】
動作156は、オブジェクトの高さを推定する(またはそうでなければ決定する)ことを含むことができる。例158は、オブジェクトデータ154に関連付けられた第1の高さ160及びオブジェクトデータ154に関連付けられた第2の高さ162を決定することを示す。例158は、ライダセンサ164によってキャプチャされるライダデータ間の範囲または深度情報をよりよく示すために、例116で表されるデータのサイドプロファイルを表す。例158は、(本明細書で論じられるように、様々なデータ動作を例示するための)追加のデータ点166及び168を含む。
【0029】
第1の高さ160は、オブジェクトデータ154に関連付けられたデータの垂直範囲に基づいて決定することができる。例えば、第1の高さは、データ点138、146、及び148に関連付けられた垂直高さに基づいて決定することができる。いくつかの例では、第1の高さは、データ点(例えば、データ点138、140、142、146、及び148)のうちのいくつか(例えば、最低データ点148及び最高データ点146)または全てに少なくとも部分的に基づくことができる。
【0030】
第2の高さ162は、オブジェクトの上部(例えば、データ点146によって表される)からデータ点(例えば、データ点166)に関連付けられた上部ライダビームに関連付けられた光線までの第1の垂直距離、またはオブジェクトの底部(例えば、データ点148によって表される)からデータ点(例えば、データ点152)または地面に関連付けられた下部ライダビームに関連付けられた光線までの第2の垂直距離に基づいて推定されるか、またはそうでなければ決定されることができる。
【0031】
いくつかの例では、第1の高さ及び/または第2の高さは、オブジェクトに関連付けられた各ビンについて決定されることができるが、いくつかの場合では、第1の高さ及び/または第2の高さは、オブジェクト全体について決定されることができる。すなわち、ビン120に関連付けられたオブジェクトデータについて第1及び第2の高さを決定することができ、ビン122に関連付けられたオブジェクトデータについて第1及び第2の高さを決定することができ、ビン124に関連付けられたオブジェクトデータについて第1及び第2の高さを決定することができる。場合によっては、第1及び第2の高さは、オブジェクトデータ154全体について(例えば、すべてのデータ点138、140、142、146、及び148に基づいて、またはオブジェクトデータに関連付けられた最低及び最高のデータ点(例えば、それぞれデータ点148及び146)に基づいて)決定されることができる。
【0032】
オブジェクトデータ154に関連付けられた高さ及び/または高さ範囲を決定することの追加の態様は、
図3A-3D、ならびに本開示を通して議論される。
【0033】
図2は、オブジェクトデータを決定するためにデータをクラスタリングするための例示的なプロセス200の図である。プロセス200は、様々な処理状態を例示する例202、204、及び206を含む。
【0034】
例202は、2次元データ表現118において表されるセンサデータを示す。いくつかの例では、クラスタリング技術は、データをキャプチャするセンサに関連付けられた位置に最も近いデータ点を決定することを含むことができる。例えば、データ点138は、データ点138(例えば、ライダセンサ164)をキャプチャするライダセンサに最も近いライダデータ点を表す。いくつかの例では、データ点138が最も近いポイントであると決定することは、データ点をオブジェクト208に関連付けることを含む。いくつかの例では、2次元データ表現118は、範囲によってデータ値をソートしてもよく、その場合、ライダセンサに最も近いデータ点を選択することは、データ値の配列内の第1のデータ値にアクセスすることを含み得る。
【0035】
いくつかの例では、2次元データ表現の領域(データセルまたはセルとも称される)がオブジェクト(例えば、オブジェクト208)に関連付けられると決定される場合、その領域に関連付けられたデータ点のすべてがオブジェクト208に関連付けられることができる。この場合、ビン122及びチャネル134に関連付けられた領域は、データ点138及び140を含むので、両方のデータ点は、オブジェクト208に関連付けられ得る。
【0036】
いくつかの例では、データセル内のデータ点は、アンカーポイントまたは初期点(例えば、データ点138)までの距離に基づいてクラスタリングされることができる。例えば、距離210は、データ点138とデータ点140との間で決定されることができる。距離210が閾値距離未満である場合、データ点140は、オブジェクト208に関連付けられ得る。例202では、ビン122およびチャネル134に関連付けられたデータセルに関連付けられた太い黒線は、データセルがオブジェクト208に関連付けられていることを示す。
【0037】
例204は、チャネル134内のデータ点に対して実行される動作を示す。例えば、クラスタリングは、データ点138とデータ点142との間の距離212を決定することを含むことができる。この例では、距離212が距離閾値未満であるため、データ点142は、オブジェクト214に関連付けられ得る。上述のように、いくつかの例では、データセル内の単一のデータ点がオブジェクトに関連付けられている場合、データセルに関連付けられたデータ点の一部またはすべてが同じオブジェクトに関連付けられ得る。
【0038】
次に、距離216は、データ点142とデータ点144との間で決定されることができる。この例では、距離216は、閾値距離を超えており、したがって、データ点144は、オブジェクト214に関連付けられていない。
【0039】
本明細書で論じられるように、距離212、216等は、環境内のデータ点の3次元位置に基づいて、ユークリッド距離として決定されることができる。いくつかの例では、個々の方向に関連付けられた距離を考慮することができる。例えば、データ点間のx距離は、第1の距離閾値に関して考慮することができ、データ点間のy距離は、距離閾値に関して考慮することができ、データ点間のz距離は、距離閾値に関して考慮することができる。
【0040】
いくつかの例では、動作は、いくつかのまたはすべてのデータ
点ペア間の距離を決定することを含むことができ、
図2に明示的に示される距離に限定されない。例えば、動作は、データ
点138とデータ
点144との間の距離を決定すること、および閾値に関して距離を評価することを含むことができる。
【0041】
例206は、残りのチャネル130、132、及び136に関連付けられたデータに基づく追加の動作を示す。例えば、距離218は、データ点140とデータ点148との間で決定されることができる。この例では、距離218は閾値距離未満であり、したがって、データ点148は、オブジェクト220に関連付けられ得る。同様に、データ点138と146との間の距離222は、閾値距離を下回ることがあり、したがって、データ点146(及び/またはデータ点146に関連付けられたデータセル)は、オブジェクト220に関連付けられなくてよい。
【0042】
データ点142とデータ点150との間の距離224は、距離閾値を満たすか、または超えるため、この例では、データ点150は、オブジェクト220に関連付けられていない。同様に、この例では、データ点148とデータ点152との間の距離226は、距離閾値を満たすか、または超えるため、データ点152は、オブジェクト220に関連付けられていない。
【0043】
いくつかの例では、距離210、212、216、218、222、224、及び/または226は、2次元データ表現118に関連付けられたデータの3次元位置に基づいて(例えば、x座標、y座標、及びz座標に基づいて)決定されることができる。
【0044】
いくつかの例では、動作は、オブジェクトデータ154が最小幅および/または最小高さに対応すること(および/またはオブジェクトデータが閾値数のビンまたはチャネルに及ぶこと)を検証することを含むことができる。いくつかの例では、オブジェクトデータの次元が閾値を下回る場合、オブジェクトデータはフィルタリングされるか、またはそうでなければ無視されることができ、本技術はデータの残りのサブセットに対して繰り返されることができる。いくつかの例では、フィルタリングされたオブジェクトデータは、後続のクラスタリング動作に基づいて別のオブジェクトデータと再結合されることができる。
【0045】
いくつかの例では、オブジェクト(例えば、オブジェクト220)が初期ポイント(例えば、データ点138)に基づいて決定された後、プロセス200は、2次元データ表現118内の残りのデータ点に基づいて繰り返されることができる。すなわち、新しい初期ポイントは、残りのデータ点(例えば、オブジェクト220に関連付けられていないデータ点)から選択または決定されることができ、プロセスは、2次元データ表現118内の任意の追加のオブジェクトを決定するために繰り返されることができる。
【0046】
図3A-3Dは、センサデータに関連付けられた高さを推定するための様々なシナリオを示す。
【0047】
図3Aは、
図1の例158に関して上述したシナリオと同様の例300を示す。
【0048】
例300は、オブジェクトデータ154を表すデータ点138、146、及び148に少なくとも部分的に基づいて、第1の高さ160及び第2の高さ162を決定することを示す。例158は、ライダセンサ164によってキャプチャされるライダデータ間の範囲または深度情報をよりよく示すために、例116および206で表されるデータのサイドプロファイルを表す。例300は、(本明細書で論じられるように、様々なデータ動作を例示するための)追加のデータ点166及び168を含む。
【0049】
第1の高さ160は、データ点138、146、及び148の垂直範囲に基づいて判定されることができる。いくつかの例では、第1の高さは、オブジェクトデータ154に関連付けられたデータ点(例えば、データ点138、140、142、146、及び148)のうちのいくつか(例えば、最低データ点148及び最高データ点146)または全てに少なくとも部分的に基づくことができる。
【0050】
第2の高さ162は、オブジェクトの上部(例えば、データ点146によって表される)からデータ点(例えば、データ点166)に関連付けられた上部ライダビームに関連付けられた光線までの第1の垂直距離、またはオブジェクトの底部(例えば、データ点148によって表される)からデータ点(例えば、データ点152)または地面に関連付けられた下部ライダビームに関連付けられた光線までの第2の垂直距離に基づいて推定されるか、またはそうでなければ決定されることができる。
【0051】
図3Bは、オブジェクトデータ154を表すデータ
点に関連付けられた高さを推定するための第2のシナリオの例302を示す。
【0052】
第1の高さ160は、例300で上述したものと同じ方法で決定されてよい。
【0053】
例302は、データ点152ではなく、データ点304を含む。この例302では、データ点304に関連付けられた範囲は、オブジェクトデータ154の一部またはすべてに関連付けられた範囲よりも小さいため、データ点304(及びデータ点304に関連付けられた光線)は、オブジェクトデータ154に関連付けられた第2の高さを推定するために使用されない場合がある。いくつかの例では、追加のチャネルは、オブジェクトデータに関連付けられた範囲よりも遠い範囲でデータが存在する最低チャネルを決定するために繰り返し処理されることができる。この例302では、第2の高さ306は、データ点168に関連付けられた光線に少なくとも部分的に基づいている。すなわち、第2の高さ(例えば、最大高さの推定値)を決定する動作は、データ点に関連付けられた範囲がオブジェクトデータ154に関連付けられた範囲を上回っているかどうかを判定することを含み得る。
【0054】
図3Cは、オブジェクトデータ154を表すデータ
点に関連付けられた高さを推定するための第3のシナリオの例308を示す。
【0055】
第1の高さ160は、例300で上述したものと同じ方法で決定されてよい。
【0056】
例308は、(例302に示されるデータ点に対して)データ点166を除外する。この例308では、第2の高さ310に関連付けられた上限は、オブジェクトデータ154に関連付けられた最高ポイントを表すオブジェクトデータ154のデータ点146に少なくとも部分的に基づいて決定される。いくつかの例では、実装に応じて、例308で決定された第2の高さは、第2の高さ306と同じであることができる。すなわち、第2の高さ310は、データ点がライダビームに関連付けられているかどうかにかかわらず、オブジェクトデータ154の上部と次のライダビームとの間の垂直距離に少なくとも部分的に基づくことができる。
【0057】
図3Dは、オブジェクトデータ154を表すデータ
点に関連付けられた高さを推定するための第4のシナリオの例312を示す。
【0058】
第1の高さ160は、例300で上述したものと同じ方法で決定されてよい。
【0059】
例312は、(例308に例示されるデータ点に対して)データ点168ではなくデータ点314を含む。この例312では、データ点304及び314に関連付けられた範囲は、オブジェクトデータ154の一部またはすべてに関連付けられた範囲よりも小さいため、データ点304及び314(及びデータ点304及び314に関連付けられた光線)は、オブジェクトデータ154に関連付けられた第2の高さを推定するために使用されない場合がある。しかしながら、この例312では、非地面データ点は、オブジェクトデータ154(範囲はオブジェクトデータ154よりも遠い)の下に表される。したがって、第2の高さ316は、地面を表すデータ点318の上の既知の高さに少なくとも部分的に基づいて決定されることができる。
【0060】
理解できるように、例300、302、308、および/または312からの技術は、提示されるデータの構成に基づいて、環境内のオブジェクトに関連付けられた第1および/または第2の高さを決定するために任意の組み合わせで使用されることができる。
【0061】
図4は、本明細書で説明される本技術を実装するための例示的なシステム400のブロック図である。少なくとも1つの例では、システム400は、車両402を含むことができる。図示された例示的なシステム400において、車両402は、自律走行車両であるが、車両402は、任意の他のタイプの車両であることが可能である。
【0062】
車両402は、米国運輸省道路交通安全局によって発行されるレベル5分類に従って動作するよう構成された自律走行車両などの無人運転車両とするこができ、これは、運転者(または乗員)が車両をいつでも制御することを期待することなく、全行程のすべての安全上重要な機能を実行することが可能な車両を説明している。そのような例では、車両402は、すべての駐車機能を含む、行程の開始から完了までのすべての機能を制御するよう構成されることが可能であるため、運転者ならびに/またはステアリングホイール、アクセルペダル、および/もしくはブレーキペダルのような車両402を駆動するための制御を含まなくてよい。これは単なる例であり、本明細書で説明されるシステムおよび方法は、運転者によって常に手動で制御される必要がある車両から部分的または完全に自律的に制御される車両までの範囲を含む、任意の地面、空中、または水上車両へ組み込まれてもよい。
【0063】
車両402は、1つ以上の第1のコンピューティングデバイス404、1つ以上のセンサシステム406、1つ以上のエミッタ408、1つ以上の通信接続410(通信デバイス及び/またはモデムとも呼ばれる)、少なくとも1つの直接接続412(例えば、データを交換するために、及び/または電力を提供するために車両402と物理的に結合するため)、及び1つ以上の駆動システム414を含むことができる。1つ以上のセンサシステム406は、環境に関連付けられるセンサデータをキャプチャするよう構成されることが可能である。
【0064】
センサシステム406は、飛行時間センサ、位置センサ(例えば、GPS、コンパスなど)、慣性センサ(例えば、慣性測定装置(IMU)、加速度計、磁力計、ジャイロスコープなど)、ライダセンサ、レーダセンサ、ソナーセンサ、赤外線センサ、カメラ(例えば、RGB、IR、明暗度、深度など)、マイクロホンセンサ、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)、超音波トランスデューサー、ホイールエンコーダなどを含むことができる。センサシステム406は、これら、または他のタイプのセンサのそれぞれの複数のインスタンスを含むことが可能である。例えば、飛行時間センサは、車両402の角、前部、後部、側面、および/または上部に配置される個々の飛行時間センサを含むことが可能である。別の例として、カメラセンサは、車両402の外側および/または内側についてのさまざまな位置に配置される複数のカメラを含むことが可能である。センサシステム406は、第1のコンピューティングデバイス404に入力を提供することが可能である。
【0065】
車両402はまた、光及び/または音を発するためのエミッタ408を含むことができる。この例におけるエミッタ408は、内部オーディオおよび視覚エミッタを含み、車両402の乗員と通信する。例示の目的で、限定ではなく、内部エミッタは、スピーカー、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(例えば、振動及び/またはフォースフィードバック)、機械式アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含むことができる。この例におけるエミッタ408はまた、外部エミッタを含むことができる。例示の目的で、限定ではなく、この例における外部エミッタは、走行の方向または車両動作の他のインジケータ(例えば、インジケータライト、サイン、光アレイなど)を信号で送るための光、及びそのうちの1つ以上が音響ビームステアリング技術を備え得る、歩行者または他の近くの車両と音声で通信するための1つ以上のオーディオエミッタ(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含む。
【0066】
車両402はまた、車両402と、1つ以上の他のローカルまたはリモートコンピューティングデバイス(例えば、リモート遠隔操作コンピューティングデバイス)またはリモートサービスとの間の通信を可能にする通信接続410を含むことができる。例えば、通信接続410は、車両402上の他のローカルコンピューティングデバイスおよび/または駆動システム414との通信を容易にすることができる。また、通信接続410は、車両402が他の近隣のコンピューティングデバイス(例えば、他の近隣の車両、交通信号など)と通信することを可能にすることができる。
【0067】
通信接続410は、第1のコンピューティングデバイス404を別のコンピューティングデバイスまたは1つ以上の外部ネットワーク416(例えば、インターネット)に接続するための物理及び/または論理インターフェースを含むことができる。例えば、通信接続部410は、IEEE802.11規格によって定義された周波数を介するようなWi-Fiベースの通信、Bluetooth(登録商標)などの短距離無線周波数、セルラー通信(例えば、2G、3G、4G、4GLTE、5Gなど)、衛星通信、専用狭域通信(DSRC)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースすることを可能にする任意の適切な有線または無線通信プロトコルを可能にすることができる。
【0068】
少なくとも1つの例では、車両402は、駆動システム414を含むことができる。いくつかの例では、車両402は、単一の駆動システム414を有することができる。少なくとも1つの例では、車両402が複数の駆動システム414を有する場合、個々の駆動システム414は、車両402の反対側の端部(例えば、前部及び後部など)に配置されることができる。少なくとも1つの例では、駆動システム414は、駆動システム414及び/または車両402の周囲の状態を検出するためのセンサシステム406を含むことができる。例示の目的であり、限定ではなく、センサシステム406は、駆動システムの車輪の回転を感知するために1つまたは複数のホイールエンコーダ(例えば、ロータリーエンコーダ)、駆動システムの向きおよび加速度を測定するために慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他の画像センサ、駆動システムの周辺環境におけるオブジェクトを音響的に検出するために超音波センサ、ライダセンサ、レーダセンサなどを含むことができる。ホイールエンコーダなどのいくつかのセンサは、駆動システム414に固有とすることができる。場合によっては、駆動システム414上のセンサシステム406は、車両402の対応するシステム(例えば、センサシステム406)と重複してよく、またはそれを補足してもよい。
【0069】
駆動システム414は、高電圧バッテリ、車両を推進するモータ、バッテリからの直流を他の車両システムで使用する交流に変換するインバーター、ステアリングモータ及びステアリングラック(電動とすることができる)を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧及び/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、HVACシステム、照明(例えば、車両の外周を照らすヘッドライト/テールライトなどの照明)、及び1つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバータ、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどの他の電装コンポーネント)を含めて、多くの車両システムを含むことができる。また、駆動システム414は、センサシステム406からデータを受け取り、前処理することができ、様々な車両システムの動作を制御するための駆動システムコントローラを含むことができる。いくつかの例では、駆動システムコントローラは、1つ以上のプロセッサと、1つ以上のプロセッサと通信可能に結合されたメモリとを含むことができる。メモリは、駆動システム414の様々な機能を実行するための1つまたは複数の構成要素を格納することができる。さらに、駆動システム414はまた、それぞれの駆動システムによる、1つ以上の他のローカルまたはリモートコンピューティングデバイスとの通信を可能にする1つ以上の通信接続部を含む。
【0070】
車両402は、第1のコンピューティングデバイス404によって決定された判定及び/またはコマンドの冗長性、エラーチェック、及び/または検証を提供するための1つまたは複数の第2のコンピューティングデバイス418を含むことができる。
【0071】
例として、第1のコンピューティングデバイス404は、一次システムとみなされてもよく、第2のコンピューティングデバイス418は、二次システムとみなされてもよい。一次システムは概して、環境内で車両がどのように動作するかを制御する処理を実行し得る。一次システムは、機械学習などの様々な人工知能(AI)技術を実装して、車両の周囲の環境を理解し、および/または車両に環境内で移動するように指示し得る。例えば、一次システムは、AI技術を実装して、車両を位置決めし、車両の周りのオブジェクトを検出し、センサデータをセグメント化し、オブジェクトの分類を決定し、オブジェクトトラックを予測し、車両の軌道を生成するなどし得る。例では、一次システムは、光検出及び測距(ライダ)センサ、レーダセンサ、画像センサ、深度センサ(飛行時間、構造化光など)などの、車両上の複数のタイプのセンサからのデータを処理する。
【0072】
二次システムは、一次システムの動作を検証し得、一次システムに問題があるときに一次システムから車両の制御を引き継ぎ得る。二次システムは、車両及び/または車両の周囲のオブジェクトの位置決め、速度、加速度などに基づいた確率的技術を実装し得る。例えば、二次システムは、車両を独立してローカライズする(例えば、ローカル環境に)、車両の周りのオブジェクトを検出する、センサデータをセグメント化する、オブジェクトの分類を識別する、オブジェクトトラックを予測する、車両の軌道を生成するなどのための1つまたは複数の確率的技術を実装し得る。例では、二次システムは、一次システムによって処理されるセンサデータのサブセットなど、いくつかのセンサからのデータを処理する。例示するために、一次システムは、ライダデータ、レーダデータ、画像データ、深度データなどを処理してもよく、二次システムは、ライダデータ及び/またはレーダデータ(及び/または飛行時間データ)のみを処理してもよい。しかしながら、他の例では、二次システムは、センサの各々からのデータ、一次システムと同じ数のセンサからのデータなど、任意の数のセンサからのセンサデータを処理し得る。
【0073】
一次コンピューティングシステム及び二次コンピューティングシステムを含む車両アーキテクチャの追加の例は、例えば、「Perception Collision Avoidance」と題され、2018年11月13日に出願された米国特許出願第16/189,726号に見出すことができ、その全体が参照により本明細書に組み込まれる。
【0074】
第1のコンピューティングデバイス404は、1つ以上のプロセッサ420及び1つ以上のプロセッサ420と通信可能に結合されたメモリ422を含むことができる。図示される例では、第1のコンピューティングデバイス404のメモリ422は、ローカライゼーションコンポーネント424、知覚コンポーネント426、予測コンポーネント428、計画コンポーネント430、マップコンポーネント432、及び1つ以上のシステムコントローラ434を格納する。例示的な目的のためにメモリ422内に存在するように描写されるが、位置決めコンポーネント424、知覚コンポーネント426、予測コンポーネント428、計画コンポーネント430、マップコンポーネント432、及び1つ以上のシステムコントローラ434は、追加的に、または代替的に、第1のコンピューティングデバイス404にアクセス可能であり得る(例えば、車両402の異なるコンポーネントに記憶される)、及び/または車両402にアクセス可能であり得る(例えば、遠隔に記憶される)ことが企図される。
【0075】
第1のコンピューティングデバイス404のメモリ422において、位置決めコンポーネント424は、センサシステム406からデータを受信して車両402の位置を決定する機能を含むことができる。例えば、ローカライゼーションコンポーネント424は、環境の3次元マップを含み、及び/または要求/受信でき、マップ内の自律走行車両の位置を継続的に決定することができる。いくつかの例では、ローカライゼーションコンポーネント424は、SLAM(simultaneous localization and mapping)またはCLAMS(calibration, localization and mapping, simultaneously)を使用し、飛行時間データ、画像データ、ライダデータ、レーダデータ、ソナーデータ、IMUデータ、GPSデータ、ホイールエンコーダデータ、またはそれらの任意の組み合わせなどを受信して、自律走行車両の位置を正確に決定することができる。いくつかの例では、本明細書で説明されるように、ローカライゼーションコンポーネント424は、車両402のさまざまなコンポーネントにデータを提供することが可能であり、軌道を生成するために自律走行車両の初期位置を決定する。
【0076】
知覚コンポーネント426は、オブジェクトの検出、セグメンテーション、及び/または分類を実行するための機能を含むことができる。いくつかの例では、知覚コンポーネント426は、車両402に近接するオブジェクトの存在および/またはオブジェクトタイプ(例えば、自動車、歩行者、自転車運転者、建物、樹木、路面、縁石、歩道、未知のものなど)としてのオブジェクトの分類を示す処理されたセンサデータを提供することができる。追加または代替の例では、知覚コンポーネント426は、検出されたオブジェクトおよび/またはオブジェクトが位置する環境に関連付けられた1つまたは複数の特性を示す処理されたセンサデータを提供することができる。いくつかの例では、オブジェクトに関連付けられた特性は、x位置(グローバル位置)、y位置(グローバル位置)、z位置(グローバル位置)、方向、オブジェクトタイプ(例えば、分類など)、オブジェクトの速度、オブジェクトの範囲(サイズ)などを含むことができるが、これらに限定されない。環境に関連付けられる特性は、環境内の別のオブジェクトの存在、環境内の別のオブジェクトの状態、時刻、曜日、季節、気象条件、暗闇/光の表示などを含むことができるが、これらに限定されない。
【0077】
上述のように、知覚コンポーネント426は、知覚アルゴリズムを使用して、センサデータに基づいて環境内のオブジェクトに関連付けられた知覚ベースの境界ボックスを決定することができる。例えば、知覚コンポーネント426は、画像データを受信し、画像データを分類して、オブジェクトが画像データ内に表されることを判定することができる。次いで、検出アルゴリズムを使用して、知覚コンポーネント426は、2次元境界ボックス及び/またはオブジェクトに関連付けられた知覚ベースの3次元境界ボックスを生成することができる。知覚コンポーネント426はさらに、オブジェクトに関連付けられた3次元境界ボックスを生成することができる。上述したように、3次元境界ボックスは、オブジェクトに関連付けられた位置、向き、ポーズ、および/またはサイズ(例えば、長さ、幅、高さなど)などの追加情報を提供することができる。
【0078】
知覚コンポーネント426は、知覚コンポーネント426によって生成された知覚データを格納する機能を含むことができる。いくつかの例では、知覚コンポーネント426は、オブジェクトタイプとして分類されたオブジェクトに対応するトラックを決定することができる。例示のみを目的として、センサシステム406を使用する知覚コンポーネント426は、環境の1つまたは複数の画像をキャプチャすることができる。センサシステム406は、歩行者などのオブジェクトを含む環境の画像をキャプチャすることができる。歩行者は、時間Tにおいて第1の位置に、時間T+tにおいて第2の位置にいることができる(例えば、時間Tの後の時間tのスパン中の移動)。換言すれば、歩行者は、この期間中に第1の位置から第2の位置まで移動することができる。そのような移動は、例えば、オブジェクトに関連付けられた格納された知覚データとしてログに記録され得る。
【0079】
格納された知覚データは、いくつかの例では、車両402によってキャプチャされた融合した知覚データを含むことができる。融合した知覚データは、画像センサ、ライダセンサ、レーダセンサ、飛行時間センサ、ソナーセンサ、グローバルポジショニングシステムセンサ、内部センサ、及び/またはこれらの任意の組み合わせなどのセンサシステム406からのセンサデータの融合または他の組み合わせを含むことができる。格納された知覚データは、追加的または代替的に、センサデータに表されるオブジェクト(例えば、歩行者、車両、建物、路面など)の意味分類を含む分類データを含むことができる。格納された知覚データは、追加的または代替的に、環境を通して動的オブジェクトとして分類されるオブジェクトの動きに対応するトラックデータ(位置、方向、センサ特徴など)を含むことができる。トラックデータは、経時的に複数の異なるオブジェクトの複数のトラックを含むことができる。このトラックデータは、オブジェクトが止まっている(例えば、静止している)または移動している(例えば、歩行、走行など)時に、特定のタイプのオブジェクト(例えば、歩行者、動物など)の画像を識別するためにマイニングされることができる。この例では、コンピューティングデバイスは、歩行者に対応するトラックを決定する。
【0080】
予測コンポーネント428は、環境内の1つまたは複数のオブジェクトの可能な位置の予測確率を表す1つまたは複数の確率マップを生成することができる。例えば、予測コンポーネント428は、車両402からのしきい値距離内の車両、歩行者、動物などに関する1つまたは複数の確率マップを生成することができる。いくつかの例では、予測コンポーネント428は、オブジェクトのトラックを測定し、観測された及び予測された挙動に基づいて、オブジェクトについての、離散化された予測確率マップ、ヒートマップ、確率分布、離散化された確率分布、及び/または軌道を生成することができる。いくつかの例では、1つまたは複数の確率マップは、環境内の1つまたは複数のオブジェクトの意図を表すことができる。
【0081】
計画コンポーネント430は、環境を横断するために車両402が進む経路を決定することができる。例えば、計画コンポーネント430は、様々なルート並びに経路及び様々なレベルの詳細を決定することができる。いくつかの例では、計画コンポーネント430は、第1の位置(例えば、現在の位置)から第2の位置(例えば、ターゲット位置)へ走行するルートを決定することができる。この説明のために、ルートは2つの位置の間を走行するための一連の経路上の地点情報であってよい。非限定的な例として、経路上の地点情報は、道路、交差点、全地球測位システム(GPS)座標などを含む。さらに、計画コンポーネント430は、第1の位置から第2の位置へのルートの少なくとも一部に沿って自律走行車両をガイドするための命令を生成することができる。少なくとも1つの例では、計画コンポーネント430は、自律走行車両を一連の経路上の地点情報の第1の経路上の地点情報から一連の経路上の地点情報の第2の経路上の地点情報までどのようにガイドするかを決定することができる。いくつかの例では、命令は経路または経路の一部であることができる。いくつかの例では、複数の経路は、後退地平線技術に従って、実質的に同時に(例えば、技術的な許容範囲内で)生成されることができる。最も高い信頼水準を有する抗体データ地平線における複数の経路のうちの単一の経路を、車両を操作するために選択し得る。
【0082】
他の例では、計画コンポーネント430は、代替的に、または追加的に、知覚コンポーネント426及び/または予測コンポーネント428からのデータを使用して、車両402が環境を横断するために進む経路を決定することができる。例えば、計画コンポーネント430は、環境に関連付けられたオブジェクトに関する知覚コンポーネント426及び/または予測コンポーネント428からデータを受信することができる。このデータを使用して、計画コンポーネント430は、環境内のオブジェクトを回避するために、第1の位置(例えば、現在の位置)から第2の位置(例えば、ターゲット位置)まで移動する経路を決定することができる。少なくともいくつかの例では、そのような計画コンポーネント430は、そのような衝突のない経路がないと判定し、次に車両402を全ての衝突を回避する及び/またはそうでなければ損傷を軽減する安全な停止へ導く経路を提供し得る。
【0083】
メモリ422は、環境内でナビゲートするために車両402によって使用されることができる、1つまたは複数のマップ432をさらに含むことができる。この議論のために、マップは、これらには限定されないが、交差点、通り、山脈、道路、地形、および一般的な環境などの環境に関する情報を提供することができる2次元、3次元、またはN次元でモデル化された任意の数のデータ構造とすることができる。いくつかの例では、マップは、限定されるわけではないが、テクスチャ情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)など)、明暗度情報(例えば、LIDAR情報、RADAR情報など)、空間情報(例えば、メッシュ上に投影された画像データ、個々の色および/または明暗度に関連付けられるポリゴン))、反射性情報(例えば、鏡面性情報、再帰反射性情報、BRDF情報、BSSRDF情報など)を含むことができる。1つの例では、マップは、環境の3次元メッシュを含むことができる。場合によっては、マップの個々のタイルが環境の個別の部分を表すように、マップをタイル形式で格納でき、本明細書にて説明するように、必要に応じて作業メモリにロードできる。少なくとも1つの例では、1つまたは複数のマップ432は、少なくとも1つのマップ(例えば、画像および/またはメッシュ)を含むことができる。いくつかの例では、車両402は、マップ432に少なくとも部分的に基づいて制御されることができる。すなわち、マップ432は、ローカライゼーションコンポーネント424、知覚コンポーネント426、予測コンポーネント428、及び/または計画コンポーネント430と関連して使用されて、車両402の位置を決定し、環境内のオブジェクトを識別し、オブジェクト及び/または車両402に関連付けられた予測確率を生成し、及び/または環境内をナビゲートするために経路及び/または軌道を生成することができる。
【0084】
いくつかの例では、1つまたは複数のマップ432は、ネットワーク416を介してアクセス可能なリモートコンピューティングデバイス(コンピューティングデバイス448など)に格納することができる。いくつかの例では、複数のマップ432は、例えば、特性(例えば、エンティティのタイプ、時刻、曜日、その年の季節など)に基づいて格納されることができる。複数のマップ432を格納することは、同様のメモリ要件を有することが可能であるが、マップ内のデータがアクセスされることが可能である速度を高めることができる。
【0085】
少なくとも1つの例では、第1のコンピューティングデバイス404は、1つまたは複数のシステムコントローラ434を含むことができ、これは、車両402のステアリング、推進、ブレーキ、安全、エミッタ、通信、及び他のシステムを制御するように構成され得る。これらのシステムコントローラ434は、駆動システム414の対応するシステム及び/または車両402の他のコンポーネントと通信し、及び/または制御することができ、これらは、計画コンポーネント430から提供される経路に従って動作するように構成され得る。
【0086】
第2のコンピューティングデバイス418は、本明細書で論じられるように、車両402の態様を検証及び/または制御するためのコンポーネントを含む1つ以上のプロセッサ436及びメモリ438を備えることができる。少なくとも1つの例では、1つ以上のプロセッサ436は、プロセッサ420に類似することができ、メモリ438は、メモリ422に類似することができる。しかしながら、いくつかの例では、プロセッサ436及びメモリ438は、追加の冗長性のためにプロセッサ420及びメモリ422とは異なるハードウェアを備え得る。
【0087】
いくつかの例では、メモリ438は、ローカライゼーションコンポーネント440、知覚/予測コンポーネント442、計画コンポーネント444、及び1つ以上のシステムコントローラ446を備えることができる。
【0088】
いくつかの例では、ローカライゼーションコンポーネント440は、センサ406からセンサデータを受信して、自律走行車両402の位置及び/または向き(ポーズと一緒に)のうちの1つ以上を決定し得る。ここで、位置及び/または向きは、自律走行車両402が位置する環境内のPOS及び/またはオブジェクトに対するものであってよい。例では、向きは、基準面に対する、及び/またはポイント及び/またはオブジェクトに対する、自律走行車両402のヨー、ロール、及び/またはピッチの指示を含み得る。例では、ローカライゼーションコンポーネント440は、第1のコンピューティングデバイス404のローカライゼーションコンポーネント424よりも少ない処理(例えば、より高レベルのローカライゼーション)を実行し得る。例えば、ローカライゼーションコンポーネント440は、マップに対して自律走行車両402のポーズを決定するのではなく、自律走行車両402の周囲で検出されるオブジェクト及び/または面(例えば、グローバル位置ではなくローカル位置)に対して自律走行車両402のポーズを決定するだけであってよい。そのような位置及び/または向きは、例えば、センサデータの一部または全てを使用して、例えばベイズフィルタ(カルマンフィルタ、拡張カルマンフィルタ、無香料カルマンフィルタなど)などの確率的フィルタリング技術を使用して決定され得る。
【0089】
いくつかの例では、知覚/予測コンポーネント442は、センサデータに表されるオブジェクトを検出、識別、分類、及び/またはトラックする機能を含むことができる。例えば、知覚/予測コンポーネント442は、本明細書で論じられるように、クラスタリング動作及び動作を実行して、オブジェクトに関連付けられた高さを推定または決定することができる。
【0090】
いくつかの例では、知覚/予測コンポーネント442は、M推定器を含んでもよいが、例えば、オブジェクトを分類するためのニューラルネットワーク、決定木、及び/または同様のものなどのオブジェクト分類子を欠いてもよい。追加または代替の例では、知覚/予測コンポーネント442は、オブジェクトの分類を曖昧にしないように構成された任意のタイプのMLモデルを備え得る。対照的に、知覚コンポーネント426は、1つ以上の機械学習モデル、ベイズフィルタ(例えば、カルマンフィルタ)、グラフィックス処理ユニット(GPU)、及び/または同様のものを含んでよい、ハードウェア及び/またはソフトウェアコンポーネントのパイプラインを備え得る。いくつかの例では、知覚/予測コンポーネント442(および/または426)によって決定された知覚データは、オブジェクト検出(例えば、自律走行車両の周囲の環境内のオブジェクトに関連付けられたセンサデータの識別)、オブジェクト分類(例えば、検出されたオブジェクトに関連付けられたオブジェクトタイプの識別)、オブジェクトトラック(例えば、過去の、現在の、および/または予測されるオブジェクトの位置、速度、加速度、および/または向き)、および/または同様のものを含み得る。
【0091】
知覚/予測コンポーネント442はまた、入力データを処理して、オブジェクトの1つ以上の予測軌道を決定し得る。例えば、オブジェクトの現在の位置及び数秒の期間にわたるオブジェクトの速度に基づいて、知覚/予測コンポーネント442は、オブジェクトが次の数秒にわたって移動する経路を予測し得る。いくつかの例では、そのような予測経路は、位置、向き、速度、及び/または向きが与えられた動きの線形仮定を使用することを含み得る。他の例では、そのような予測経路は、より複雑な分析を含み得る。
【0092】
いくつかの例では、計画コンポーネント444は、軌道が衝突がなく、かつ/または安全域内にあることを検証するために、計画コンポーネント430から軌道を受信する機能を含むことができる。いくつかの例では、計画コンポーネント444は、安全停止軌道(例えば、「快適な」減速(例えば、最大減速未満)で車両402を停止する軌道)を生成することができ、いくつかの例では、計画コンポーネント444は、緊急停止軌道(例えば、ステアリング入力を伴うまたは伴わない最大減速)を生成することができる。
【0093】
いくつかの例では、システムコントローラ446は、車両の安全上重要なコンポーネント(例えば、ステアリング、ブレーキ、モータなど)を制御する機能を含むことができる。このようにして、第2のコンピューティングデバイス418は、車両安全のために冗長な及び/または追加のハードウェア及びソフトウェア層を提供することができる。
【0094】
車両402は、ネットワーク416を介してコンピューティングデバイス448に接続することができ、1つ以上のプロセッサ450及び1つ以上のプロセッサ450と通信可能に結合されたメモリ452を含むことができる。少なくとも1つの例では、1つ以上のプロセッサ450は、プロセッサ420に類似することができ、メモリ452は、メモリ422に類似することができる。示される例では、コンピューティングデバイス448のメモリ452は、本明細書で論じられるコンポーネントのうちのいずれかに対応し得るコンポーネント454を格納する。
【0095】
プロセッサ420、436、及び/または450は、本明細書に記載されるように、データを処理し、動作を実行するための命令を実行することができる任意の好適なプロセッサであることができる。例として、限定ではなく、プロセッサ420、436、及び/または450は、1つまたは複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、または電子データを処理して当該電子データをレジスタ及び/またはメモリに格納できる他の電子データに変換する任意の他のデバイス若しくはデバイスの一部を含むことができる。いくつかの例では、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、及び他のハードウェアデバイスはまた、それらがエンコードされた命令を実装するよう構成される限り、プロセッサとみなすことができる。
【0096】
メモリ422、438、及び/または452は、非一時的コンピュータ可読媒体の例である。メモリ422、438、及び/または452は、本明細書に記載の方法および様々なシステムに起因する機能を実装する、オペレーティングシステム及び1つまたは複数のソフトウェアアプリケーション、命令、プログラム、及び/またはデータを格納することができる。様々な実装では、メモリ422、438、及び/または452は、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプのメモリ、または情報を記憶することができる他の任意のタイプのメモリなどの任意の適切なメモリ技術を使用して実装されることができる。本明細書で説明されるアーキテクチャ、システム、及び個々の要素は、多くの他の論理的、プログラム的、及び物理的なコンポーネントを含むことができ、添付図面に示されるそれらは本明細書での説明に関連する単なる例にすぎない。
【0097】
いくつかの例では、本明細書で説明されるコンポーネントのいくつかまたは全ての態様は、任意のモデル、アルゴリズム、及び/または機械学習アルゴリズムを含むことができる。例えば、いくつかの例では、メモリ422、438、及び/または452内のコンポーネントを、ニューラルネットワークとして実装できる。いくつかの例では、メモリ422、438、及び/または452内のコンポーネントは、複雑さを低減し、安全性の観点から検証及び/または認定されるための機械学習アルゴリズムを含まない場合がある。
【0098】
本明細書で説明されるように、例示的なニューラルネットワークは、入力データが連続して接続されたレイヤを通して出力を生じさせる生物学に着想を得たアルゴリズムである。ニューラルネットワークにおけるそれぞれのレイヤが別のニューラルネットワークを含むことも可能であり、または任意の数のレイヤ(畳み込み層であるか否か)を含むことが可能である。本開示の脈絡で理解されることが可能であるとおり、ニューラルネットワークは、機械学習を利用することができ、機械学習は、学習されたパラメータに基づいて出力が生成されるそのような幅広いクラスのアルゴリズムを指すことが可能である。
【0099】
ニューラルネットワークの脈絡で説明されるが、任意のタイプの機械学習が、本開示と整合するように使用され得る。例えば、機械学習アルゴリズムは、回帰アルゴリズム(例えば、通常最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS)、局所的に推定される散布図の平滑化(LOESS)、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対値縮小選択演算子(LASSO)、弾性ネット、最小角回帰(LARS)、決定木アルゴリズム(例えば、分類回帰木(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定切り株、条件付き決定木)、ベイジアンアルゴリズム(例えば、ナイーブベイズ、ガウスナイーブベイズ、多項式ナイーブベイズ、平均1依存性推定器(AODE)、ベイジアン信頼度ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均法、kメジアン法、期待値最大化(EM)、階層的クラスタリング)、関連規則学習アルゴリズム(例えば、パーセプトロン、誤差逆伝播法、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例えば、深層ボルツマンマシン(DBM)、深層信頼ネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、積層型オートエンコーダ)、次元削減アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元スケーリング(MDS)、射影追跡法、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップ集約(バギング)、エイダブースト、階層型一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースト回帰木(GBRT)、ランダムフォレスト)、SVM(サポートベクトルマシン)、教師付き学習、教師なし学習、半教師付き学習などを含んでよいが、これらに限定されない。
【0100】
アーキテクチャのさらなる例は、ResNet50、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含む。
【0101】
したがって、本明細書で論じられる技術は、自律走行車両などの車両の安全な動作を可能にするために環境内のオブジェクトの高さデータを決定する堅牢な実装を提供する。
【0102】
図5及び6は、本開示の例による例示的なプロセスを示す。これらのプロセスは、論理フローグラフとして示され、それぞれの動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装されることが可能である一連の動作を表す。ソフトウェアの脈絡において、動作は、1つまたは複数のプロセッサによって実行された場合に、列挙した動作を実行する1つまたは複数のコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、具体的な機能を実行するか、または具体的な抽象データ型を実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることが意図されるわけではなく、任意の数の説明される動作が、プロセスを実装するために任意の順序で、および/または並行して組み合わされることが可能である。
【0103】
図5は、センサデータに基づいてオブジェクトに関連付けられた高さを推定するための例示的なプロセス500である。例えば、本明細書で説明されるように、プロセス500のうちの一部またはすべては、
図4における1つまたは複数のコンポーネントによって実行されることが可能である。例えば、プロセス500の一部または全ては、第2のコンピューティングデバイス418によって実行されることができる。
【0104】
動作502において、プロセスは、車両のセンサによってキャプチャされたデータを受信することを含むことができる。いくつかの例では、動作502は、自律走行車両が環境を横断するときに、自律走行車両の1つまたは複数のライダセンサからライダデータを受信することまたはキャプチャすることを含むことができる。
【0105】
動作504において、プロセスは、データを2次元空間に関連付けることを含むことができる。例えば、動作504は、3次元データを2次元データ表現に関連付けることを含むことができる。2次元データ表現は、方位角のビンを表す第1の次元を含むことができ、第2の次元は、ライダビームまたはチャネルを表すことができる。いくつかの例では、動作504は、データをフィルタリングして、地面に関連付けられたデータを削除すること、及び/または自律走行車両が従う軌道に関連付けられた道路の外側のデータを削除することを含むことができる。
【0106】
動作506において、プロセスは、データクラスタリングに少なくとも部分的に基づいて、オブジェクトを表すオブジェクトデータを決定することを含むことができる。本明細書で論じられるように、データクラスタリングは、ポイントの距離が閾値距離未満であると決定することに少なくとも部分的に基づくことができる。データクラスタリングの追加の態様は、
図1及び2、ならびに本開示を通して説明される。
【0107】
動作508において、プロセスは、オブジェクトに関連付けられた高さを決定することを含むことができる。本明細書で論じられるように、動作508は、オブジェクトに関連付けられた第1の高さおよび第2の高さを決定することを含むことができ、これは、いくつかの例では、本明細書で論じられるように、オブジェクトに関連付けられた最小の高さ(または下限)およびオブジェクトに関連付けられた最大の高さ(または上限)を表すことができる。
【0108】
動作510において、プロセスは、オブジェクトデータの範囲に少なくとも部分的に基づいて第1の高さを決定することを含むことができる。例えば、第1の高さは、オブジェクトデータに関連付けられた垂直距離に少なくとも部分的に基づくことができる。第1の高さを決定する追加の態様は、
図1及び
図3A-
図3D、ならびに本開示を通して説明される。
【0109】
動作512において、プロセスは、1)第1のチャネル内の第1の部分と、2)第2のチャネル内の第2の位置または地面に関連付けられた第3の位置との間の距離に少なくとも部分的に基づいて第2の高さを決定することを含むことができる。第2の高さを決定する追加の態様は、
図1、
図3A-
図3D、及び
図6において、ならびに本開示を通して説明される。
【0110】
動作514において、プロセスは、オブジェクトに関連付けられた高さに少なくとも部分的に基づいて車両の動作を制御することを含むことができる。いくつかの例では、車両を制御することは、軌道を生成すること、安全停止軌道を実行すること、緊急停止軌道を実行することなどを含むことができる。いくつかの例では、動作は、後続の分類、フィルタリングなどのために、高さが閾値の高さを満たすかまたは超えるかを判定することを含むことができる。
【0111】
図6は、オブジェクトデータに関連付けられた上限及び下限に基づいてオブジェクトの高さを決定するための例示的なプロセス600である。例えば、本明細書で説明されるように、プロセス600の一部またはすべては、
図4における1つまたは複数のコンポーネントによって実行されることが可能である。例えば、プロセス600の一部または全ては、第2のコンピューティングデバイス418によって実行されることができる。
【0112】
いくつかの例では、プロセス600は、
図5の動作512で実行される動作を表すことができる。
【0113】
一般に、動作604、606、608、および610は、オブジェクトの高さに関連付けられた上限(または上の範囲)を推定することまたはそうでなければ決定することに対応することができ、動作612、614、616、および618は、オブジェクトの高さに関連付けられた下限(または下の範囲)を推定することまたはそうでなければ決定することに対応することができる。
【0114】
動作602において、プロセスは、オブジェクトデータを受信することを含むことができる。例えば、オブジェクトデータは、2次元データ表現に関連付けられ、及び/または本明細書で論じられる技術に基づいてクラスタリングされた後に受信されることができる。
【0115】
動作604において、プロセスは、データがオブジェクトデータの上に存在するかどうかを判定することを含むことができる。例えば、オブジェクトデータの上の任意のチャネル内のデータは、別のオブジェクトに対応し得る(例えば、データは、オブジェクトデータとは異なる第2のオブジェクトに関連付けられ得る)。データがオブジェクトデータの上のチャネル内にある場合、プロセスは動作606に続く。いくつかの例では、動作604は、オブジェクトデータの上の同じビン内のデータに限定されることができる。すなわち、オブジェクトデータがビンに関連付けられていない場合、動作604は、動作604においてそのようなデータを考慮しない場合がある。
【0116】
動作606において、プロセスは、チャネル内のデータの範囲(例えば、オブジェクトデータの上方)がオブジェクトデータに関連付けられた範囲よりも大きいかどうかを判定することを含むことができる。チャネル内のデータの範囲が、オブジェクトデータに関連付けられた範囲よりも大きい場合、プロセスは、動作608に進み、これは、チャネルに関連付けられた光線をオブジェクトの高さの上限として使用することを含み得る。いくつかの例では、動作608は、オブジェクトデータ(例えば、オブジェクトデータに関連付けられた最高ポイント)と、オブジェクトデータの上のデータに関連付けられた光線と、ライダセンサに関連付けられた位置との間の垂直距離を決定することを含むことができる。
【0117】
オブジェクトの上のチャネル内にデータがない場合(例えば、動作604における「いいえ」)、またはオブジェクトデータの上のチャネル内のデータの範囲がオブジェクトデータの範囲よりも小さい場合(例えば、動作606における「いいえ」)、プロセスは動作610に進む。
【0118】
動作610において、プロセスは、オブジェクトの高さの上限(または上の範囲)としてオブジェクトの上部を使用することを含むことができる。いくつかの例では、動作610は、オブジェクトの高さの上限(または上の範囲)としてオブジェクトの上部に関連付けられた位置を使用することを含むことができ、この位置は、オブジェクトの上部の真上のチャネルに少なくとも部分的に基づいてもよい。
【0119】
動作612において、プロセスは、データがオブジェクトデータの下に存在するかどうかを判定することを含むことができる。例えば、オブジェクトデータの下の任意のチャネル内のデータは、別のオブジェクトに対応し得る(例えば、データは、オブジェクトデータとは異なる第2のオブジェクトに関連付けられ得る。データがオブジェクトデータの下のチャネル内にある場合、プロセスは動作614に進む。いくつかの例では、動作612は、オブジェクトデータの下の同じビン内のデータに限定されることができる。すなわち、オブジェクトデータがビンに関連付けられていない場合、動作612は、動作612においてそのようなデータを考慮しない場合がある。
【0120】
動作614において、プロセスは、チャネル内のデータの範囲(例えば、オブジェクトデータの下方)がオブジェクトデータに関連付けられた範囲よりも大きいかどうかを判定することを含むことができる。チャネル内のデータの範囲が、オブジェクトデータに関連付けられた範囲よりも大きい場合、プロセスは、動作616に進み、これは、チャネルに関連付けられた光線をオブジェクトの高さの下限として使用することを含み得る。いくつかの例では、動作616は、オブジェクトデータ(例えば、オブジェクトデータに関連付けられた最低ポイント)と、オブジェクトデータの下のデータに関連付けられた光線と、ライダセンサに関連付けられた位置との間の垂直距離を決定することを含むことができる。
【0121】
オブジェクトの下のチャネル内にデータがない場合(例えば、動作612における「いいえ」)、またはオブジェクトデータの下のチャネル内のデータの範囲がオブジェクトデータの範囲よりも小さい場合(例えば、動作614における「いいえ」)、プロセスは動作618に進む。
【0122】
動作618において、プロセスは、オブジェクトの高さの下限(または下の範囲)として地面を使用することを含むことができる。
【0123】
動作620において、プロセスは、動作604-618において決定されるように、上限及び下限に少なくとも部分的に基づいて第2の高さを決定することを含むことができる。したがって、プロセス600は、オブジェクトの高さを推定することまたはそうでなければ決定することのための堅牢な技術を示す。
(例示的な節)
【0124】
A:1つまたは複数のプロセッサと、実行されると、1つまたは複数のプロセッサに、自律走行車両のライダセンサによってキャプチャされたライダデータを受信することと、ライダデータを2次元データ表現に関連付けることと、2次元データ表現で表される地面の指示を受信することと、地面に関連付けられたライダデータの第1のサブセットを二次元データ表現から削除して、データの第2のサブセットを決定することと、データクラスタリングに少なくとも部分的に基づいて、オブジェクトを表すデータの第2のサブセット内のオブジェクトデータを決定することと、オブジェクトデータの垂直範囲に少なくとも部分的に基づいて、オブジェクトに関連付けられた第1の高さを決定することと、二次元データ表現の第1のチャネルのライダデータ点と二次元データ表現の第2のチャネルに関連付けられた高さとの間の垂直距離に少なくとも部分的に基づいて、オブジェクトに関連付けられた第2の高さを決定することと、オブジェクトに関連付けられた第1の高さまたは第2の高さのうちの少なくとも1つに少なくとも部分的に基づいて自律走行車両を制御することと、を含む動作を実行させるコンピュータ実行可能命令を格納する1つまたは複数の非一時的コンピュータ可読媒体とを備えるシステム。
【0125】
B:垂直距離が第1の距離であり、データクラスタリングが、ライダデータの第1のデータ点とライダデータの第2のデータ点との間の第2の距離を決定することと、第2の距離に少なくとも部分的に基づいてオブジェクトデータを決定することとを含む、段落Aに記載のシステム。
【0126】
C:オブジェクトが、第1のオブジェクトであり、第1のチャネルに関連付けられた第1のデータが、オブジェクトデータの第1の部分を表し、第2のチャネルに関連付けられた第2のデータが、第1のオブジェクトとは異なる第2のオブジェクトを表し、垂直距離が、第1のデータと第2のデータに関連付けられた光線との間の距離を表し、光線が、第2のオブジェクト及びライダセンサに関連付けられた原点に少なくとも部分的に基づいている、段落AまたはBに記載のシステム。
【0127】
D:垂直距離が第1の距離であり、第2の高さが、オブジェクトとライダセンサに関連付けられた位置との間の第2の距離に少なくとも部分的に基づく、段落A-Cのいずれかに記載のシステム。
【0128】
E:2次元データ表現の第1の次元は、ライダデータに関連付けられた方位角のビンを表し、2次元データ表現の第2の次元は、ライダデータに関連付けられたチャネルを表す、段落A-Dのいずれかに記載のシステム。
【0129】
F:車両のセンサによってキャプチャされたデータを受信することと、データを2次元データ表現に関連付けることと、データクラスタリングに少なくとも部分的に基づいて、オブジェクトを表すオブジェクトデータを決定することと、オブジェクトに関連付けられた高さとして、オブジェクトデータの範囲に少なくとも部分的に基づいてオブジェクトに関連付けられた第1の高さ、または2次元データ表現の第1のチャネル内の第1の位置と2次元データ表現の第2のチャネル内の第2の位置との間の距離に少なくとも部分的に基づいてオブジェクトに関連付けられた第2の高さのうちの少なくとも1つを決定することと、オブジェクトに関連付けられた高さに少なくとも部分的に基づいて車両を制御することと、を含む方法。
【0130】
G:距離が第1の距離であり、データクラスタリングが、データの第1のデータ点とデータの第2のデータ点との間の第2の距離を決定することであって、第2の距離が3次元ユークリッド距離である、ことと、距離に少なくとも部分的に基づいてオブジェクトデータを決定することと、を含む、段落Fに記載の方法。
【0131】
H:オブジェクトが、第1のオブジェクトであり、第1のチャネルに関連付けられた第1のデータが、オブジェクトデータの第1の部分を表し、第2のチャネルに関連付けられた第2のデータが、第1のオブジェクトとは異なる第2のオブジェクトを表し、距離が、第1のデータと第2のデータに関連付けられた光線との間の垂直距離を表し、光線が、第2のオブジェクト及びセンサに関連付けられた位置に少なくとも部分的に基づいている、段落FまたはGに記載の方法。
【0132】
I:距離が第1の距離であり、方法が、第1のデータとセンサに関連付けられた位置との間の第2の距離を決定することと、第2のデータとセンサに関連付けられた位置との間の第3の距離を決定することと、第2の距離が第3の距離未満であると決定することと、第2の距離が第3の距離未満であることに少なくとも部分的に基づいて第2の高さを決定することとをさらに含む、段落Hに記載の方法。
【0133】
J:データに表される地面の指示を受信することと、2次元データ表現から、少なくとも部分的に地面に基づいてデータのサブセットを削除することと、をさらに含む、段落F-Iのいずれかに記載の方法。
【0134】
K:第1の高さは、オブジェクトに関連付けられた最小の高さを表し、第2の高さは、オブジェクトに関連付けられた最大の高さを表す、段落F-Jのいずれかに記載の方法。
【0135】
L:距離は、第1の距離であり、データは、ライダセンサによってキャプチャされ、第2の高さは、ライダセンサの第1のビームとライダセンサの第2のビームとの間の垂直距離に少なくとも部分的に基づいており、垂直距離は、オブジェクトとライダセンサに関連付けられた位置との間の第2の距離に少なくとも部分的に基づいている、段落F-Kのいずれかに記載の方法。
【0136】
M:地面の上のオブジェクトの位置に少なくとも部分的に基づいて第2の高さを決定することをさらに含む、段落F-Lのいずれかに記載の方法。
【0137】
N:データは、ライダセンサによってキャプチャされるライダデータであり、2次元データ表現の第1の次元は、ライダデータに関連付けられた方位角のビンを表し、2次元データ表現の第2の次元は、ライダデータに関連付けられたチャネルを表す、段落F-Mのいずれかに記載の方法。
【0138】
O:プロセッサによって実行可能な命令を格納する非一時的コンピュータ可読媒体であって、命令が実行されると、プロセッサに、車両のセンサによってキャプチャされたデータを受信することと、データを二次元データ表現に関連付けることと、データクラスタリングに少なくとも部分的に基づいて、オブジェクトを表すオブジェクトデータを決定することと、オブジェクトに関連付けられた高さとして、オブジェクトデータの範囲に少なくとも部分的に基づいてオブジェクトに関連付けられた第1の高さ、または二次元データ表現の第1のチャネル内の第1の位置と二次元データ表現の第2のチャネル内の光線との間の垂直距離に少なくとも部分的に基づいてオブジェクトに関連付けられた第2の高さ、のうちの少なくとも1つを決定することであって、光線がセンサに少なくとも部分的に基づいていることと、オブジェクトに関連付けられた高さに少なくとも部分的に基づいて車両を制御することと、を含む動作を実行させる、非一時的コンピュータ可読媒体。
【0139】
P:距離が第1の距離であり、データクラスタリングが、データの第1のデータ点とデータの第2のデータ点との間の第2の距離を決定することであって、第2の距離が3次元ユークリッド距離である、ことと、距離に少なくとも部分的に基づいてオブジェクトデータを決定することと、を含む、段落Oに記載の非一時的コンピュータ可読媒体。
【0140】
Q:オブジェクトが、第1のオブジェクトであり、第1のチャネルに関連付けられた第1のデータが、オブジェクトデータの第1の部分を表し、第2のチャネルに関連付けられた第2のデータが、第1のオブジェクトとは異なる第2のオブジェクトを表し、垂直距離が、第1のデータと第2のデータに関連付けられた光線との間の距離を表し、光線が、第2のオブジェクト及びセンサに関連付けられた位置に少なくとも部分的に基づいている、段落OまたはPに記載の非一時的コンピュータ可読媒体。
【0141】
R:データは、ライダセンサによってキャプチャされ、第2の高さは、ライダセンサの第1のビームとライダセンサの第2のビームとの間の垂直距離に少なくとも部分的に基づいており、垂直距離は、オブジェクトとライダセンサに関連付けられた位置との間の距離に少なくとも部分的に基づいている、段落O-Qのいずれかに記載の非一時的コンピュータ可読媒体。
【0142】
S:地面の上のオブジェクトの位置に少なくとも部分的に基づいて第2の高さを決定する、段落O-Rのいずれかに記載の非一時的コンピュータ可読媒体。
【0143】
T:データは、ライダセンサによってキャプチャされるライダデータであり、2次元データ表現の第1の次元は、ライダデータに関連付けられた方位角のビンを表し、2次元データ表現の第2の次元は、ライダデータに関連付けられたチャネルを表す、段落O-Sのいずれかに記載の非一時的コンピュータ可読媒体。
【0144】
上記で説明された例示的な節が、1つの特定の実装に関して説明される一方で、本明細書の脈絡において、例示的な節の内容は、方法、デバイス、システム、コンピュータ可読媒体、及び/または別の実装を介して実施されることも可能であることを理解されたい。さらに、例A-Tのいずれかは、単独で、または他の1つもしくは複数の例A-Tと組み合わせて実装され得る。
(結論)
【0145】
本明細書で説明される技術の1つまたは複数の例が説明された一方で、それらの様々な変形、追加、置換、および均等物が、本明細書で説明される技術の範囲内に含まれる。
【0146】
例の説明では、主張される主題の特定の例を示す、それらの一部を形成する添付図面に対する参照が行われる。他の例が用いられることが可能であること、および構造上の変更などの変更または変形が行われることが可能であることを理解されたい。このような例、変更、または変形は、必ずしも、意図されて主張される主題に関する範囲からの逸脱ではない。本明細書で説明されるステップは、特定の順序で提示されることが可能である一方で、場合によっては、順序付けは、変更されることが可能であることにより、説明されるシステムおよび方法の機能を変更することなく、特定の入力が異なる時間で、または異なる順序で提供される。また、開示される手続きは、異なる順序で実行されることも可能である。さらに、本明細書における様々な計算は、開示される順序で実行される必要はなく、計算の代替の順序を用いる他の例が容易に実装されることが可能である。順序変更されることに加えて、計算は、同一の結果を伴って部分的計算に分解されることも可能である。