(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-28
(45)【発行日】2024-04-05
(54)【発明の名称】車載クラスタ追跡システム
(51)【国際特許分類】
G08G 1/16 20060101AFI20240329BHJP
G06T 7/00 20170101ALI20240329BHJP
【FI】
G08G1/16 C
G06T7/00 650B
(21)【出願番号】P 2022514999
(86)(22)【出願日】2020-10-15
(86)【国際出願番号】 US2020055750
(87)【国際公開番号】W WO2021080844
(87)【国際公開日】2021-04-29
【審査請求日】2022-04-27
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】チェン,ミンチェン
(72)【発明者】
【氏名】ラウターバッハ,クリスチャン
(72)【発明者】
【氏名】マオン,イアン ジェームス
(72)【発明者】
【氏名】ヘマチャンドラ,サチスラ
【審査官】佐々木 佳祐
(56)【参考文献】
【文献】特表2017-537484(JP,A)
【文献】特開2011-192141(JP,A)
【文献】米国特許第8989944(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
自律車両によって物体を追跡するための方法であって、
前記自律車両の1つ以上のコンピューティングデバイスによって
、第1の
回転および第2の
回転を含む
、軸を中心とした前記自律車両のセンサの複数の
回転の間に前記センサによって収集されたセンサデータを受信することであって、前記センサデータが、前記自律車両の周囲の環境内で検出された1つ以上の物体に対応する1つ以上のクラスタを含むことと、
前記1つ以上のコンピューティングデバイスによって、前記第1の
回転からの所与のクラスタを、前記環境における前記1つ以上の検出された物体のうちの所与の検出された物体に対応するものとして、前記第2の
回転からの所与のクラスタに関連付けることと、
前記1つ以上のコンピューティングデバイスによって、前記所与の検出された物体の現在の推定される運動特性を、初期に推定された値に設定することと、
前記現在の推定される運動特性に基づいて、前記1つ以上のコンピューティングデバイスによって、前記第2の
回転からの前記所与のクラスタ内の1つ以上の点および前記第1の
回転からの前記所与のクラスタ内の1つ以上の点を移動して、調整されたクラスタを取得することと、
点群の位置あわせのためのアルゴリズムを使用して前記1つ以上のコンピューティングデバイスによって、前記調整されたクラスタに基づいて、調整された運動特性を判定することと、
前記1つ以上のコンピューティングデバイスによって、前記所与の検出された物体の前記調整された運動特性に基づいて、前記自律車両を制御することと、を含む、方法。
【請求項2】
前記1つ以上のコンピューティングデバイスによって、前記現在の推定される運動特性を前記調整された運動特性と比較することと、
前記1つ以上のコンピューティングデバイスによって、前記現在の推定される運動特性が、前記調整された運動特性についての所定の許容誤差内にあると判定することと、
前記現在の推定される運動特性が前記所定の許容誤差内にあるとの判定に基づいて前記1つ以上のコンピューティングデバイスによって、1つ以上の点調整された点および現在の推定される速度を有するクラスタが正確であると判定することであって、前記自律車両を制御することが、前記調整されたクラスタおよび前記現在の推定される速度が正確であるとの判定にさらに基づいていることと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記現在の推定される運動特性を前記調整された運動特性と比較することと、
前記現在の推定される運動特性が、前記調整された運動特性についての所定の許容誤差内にないと判定することと、をさらに含む、請求項1に記載の方法。
【請求項4】
前記現在の推定される運動特性が前記調整された運動特性についての前記所定の許容誤差内にないと判定されると、前記1つ以上のコンピューティングデバイスによって、前記現在の推定される運動特性を更新することと、
前記1つ以上のコンピューティングデバイスによって、前記更新された現在の推定される運動特性を前記調整された運動特性と比較することと、をさらに含む、請求項3に記載の方法。
【請求項5】
前記現在の推定される運動特性が、前記所定の許容誤差内にないと判定すると、
前記現在の推定される運動特性を前記調整された運動特性と等しくなるように設定することと、
前記現在の推定される運動特性に基づいて、前記第2の
回転からの前記所与のクラスタ内の1つ以上の点および前記第1の
回転からの前記所与のクラスタ内の1つ以上の点を調整することと、
前記アルゴリズムを使用して、前記調整されたクラスタに基づいて、第2の調整された運動特性を判定することと、
前記現在の推定される運動特性を前記第2の調整された運動特性と比較することと、を行い、
前記自律車両を制御することが、前記現在の推定される運動特性を前記第2の調整された運動特性と比較することにさらに基づいている、請求項3に記載の方法。
【請求項6】
前記第1の
回転が、前記センサの現在の
回転であり、前記第2の
回転が、前記第1の
回転より時間的に前の直近の
回転である、請求項1に記載の方法。
【請求項7】
前記調整することが、検出された物体の歪んだ表現を考慮するために、前記第2の
回転からの前記所与のクラスタ内の前記1つ以上の点、または前記第1の
回転からの前記所与のクラスタ内の前記1つ以上の点のうちの少なくとも一方を移動させることを含む、請求項1に記載の方法。
【請求項8】
前記アルゴリズムが、Iterative Closest Pointアルゴリズムである、請求項1に記載の方法。
【請求項9】
前記調整された運動特性が、速度特性である、請求項1に記載の方法。
【請求項10】
自律運転モードで車両を動作させるためのシステムであって、
前記自律運転モードである間に、前記車両に運転動作を実行させるように構成された運転システムと、
前記車両の周囲の環境内で物体を検出するように構成された知覚システムと、
1つ以上のプロセッサおよびメモリを有するコンピューティングシステムであって、前記コンピューティングシステムが、前記運転システムおよび前記知覚システムに動作可能に結合されており、前記コンピューティングシステムが、
軸を中心とした前記知覚システムのセンサの複数の
回転中に前記センサによって収集されたセンサデータを受信することであって、前記複数の
回転が、第1の
回転および第2の
回転を含み、前記センサデータが、前記車両の周囲の前記環境内で検出された1つ以上の物体に対応する1つ以上のクラスタを含むことと、
前記第1の
回転からの所与のクラスタを、前記環境における前記1つ以上の検出された物体のうちの所定の検出された物体に対応するものとして、前記第2の
回転からの所与のクラスタに関連付けることと、
前記所与の検出された物体についての現在の推定される運動特性を初期の推定された値に設定することと、
前記現在の推定される運動特性に基づいて、前記第2の
回転からの前記所与のクラスタ内の1つ以上の点、および前記第1の
回転からの前記所与のクラスタ内の1つ以上の点を移動して、調整されたクラスタを取得することと、
点群の位置合わせのためのアルゴリズムを使用して、前記調整されたクラスタに基づいて、調整された運動特性を判定することと、
前記所与の検出された物体の前記調整された運動特性に基づいて、前記運転システムの作動を介して前記車両を制御することと、を行うように構成されている、コンピューティングシステムと、を備える、システム。
【請求項11】
前記車両をさらに備える、請求項
10に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年10月25日に出願された米国特許出願第16/664,203号の優先権を主張し、その継続出願であり、その開示全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
人間の運転者を必要としない車両などの自律車両は、ある場所から別の場所への乗客、貨物、または他の物品の輸送を支援するために使用することができる。このような車両は、乗客が目的地などのいくつかの初期入力を提供し得る自律運転モードで動作し得、車両は、最小限の乗客制御で、または追加の乗客制御なしで、その目的地まで車両自体を操縦する。そのため、このような車両は、任意の所与の時間で自律車両の場所を判定すること、ならびに、他の車両、停止信号または譲り標識、歩行者、サイクリストなどの車両の外部の物体を検出および識別することが可能なシステムに大きく依存し得る。
【0003】
LiDARまたは他のセンサ情報が、他の物体を検出および追跡するために使用され得る。センサ情報は、1つ以上のセンサから毎秒複数回収集され得る。自律車両に対する他の物体の相対的な速さ、位置、および配向、遮蔽物、ならびに他の問題に応じて、車載システムが後続のセンサスキャンにおいて特定の物体が検出されたと判定すること、またはどの種類の物体が検出されたかを判定することは困難であり得る。これらの問題は、自律車両の運転決定、ルート計画、および他の動作態様に悪影響を及ぼし得る。
【発明の概要】
【0004】
本技術の態様によれば、自律車両によって物体を追跡するための方法は、自律車両の1つ以上のコンピューティングデバイスによって、第1のスピンおよび第2のスピンを含む、自律車両のセンサによる複数のスピン中に収集されたセンサデータを受信することを含む。センサデータは、自律車両の周囲の環境内で検出された1つ以上の物体に対応する1つ以上のクラスタを含む。本方法はまた、1つ以上のコンピューティングデバイスによって、第1のスピンからの所与のクラスタを、環境における1つ以上の検出された物体のうちの所与の検出された物体に対応するものとして、第2のスピンからの所与のクラスタに関連付けることを含む。本方法は、1つ以上のコンピューティングデバイスによって、所与の検出された物体についての現在の推定される運動特性を初期の推定された値に設定することと、現在の推定される運動特性に基づいて1つ以上のコンピューティングデバイスによって、第2のスピンからの所与のクラスタ内の1つ以上の点および第1のスピンからの所与のクラスタ内の1つ以上の点を調整して、調整されたクラスタを取得することと、をさらに含む。本方法は、表面一致アルゴリズムを使用して1つ以上のコンピューティングデバイスによって、調整されたクラスタに基づいて、調整された運動特性を判定することと、1つ以上のコンピューティングデバイスによって、所与の検出された物体の調整された運転特性に基づいて自律車両を制御することと、をさらに含む。
【0005】
一例では、本方法は、1つ以上のコンピューティングデバイスによって、現在の推定される運動特性を調整された運動特性と比較することと、1つ以上のコンピューティングデバイスによって、現在の推定される運動特性が、調整された運動特性についての所定の許容誤差内にあると判定することと、現在の推定される運動特性が所定の許容誤差内にあるとの判定に基づいて1つ以上のコンピューティングデバイスによって、1つ以上の点調整された点および現在の推定される速度を有するクラスタが正確であると判定することと、をさらに含む。ここで、車両を制御することは、調整されたクラスタおよび現在の推定される速度が正確であるとの判定にさらに基づいている。
【0006】
別の例では、本方法は、現在の推定される運動特性を調整された運動特性と比較することと、現在の推定される運動特性が調整された運動特性についての所定の許容誤差内にないと判定することと、をさらに含む。1つのシナリオでは、現在の推定される運動特性が調整された運動特性についての所定の許容誤差内にないと判定することは、現在の推定される運動特性が調整された運動特性と収斂していないことを示している。ここで、現在の推定される運動特性が調整された運動特性と収斂していないことを示すと、本方法は、現在の推定される運動特性を更新することと、更新された現在の推定される運動特性を調整された運動特性と比較することと、をさらに含む。別のシナリオでは、現在の推定される運動特性が所定の許容誤差内にないと判定すると、本方法は、現在の推定される運動特性を調整された運動特性と等しくなるように設定することと、現在の推定される運動特性に基づいて、第2のスピンからの所与のクラスタ内の1つ以上の点および第1のスピンからの所与のクラスタ内の1つ以上の点を調整することと、表面一致アルゴリズムを使用して、調整されたクラスタに基づいて、第2の調整された運動特性を判定することと、現在の推定される運動特性を第2の調整された運動特性と比較することと、を含む。ここで、自律車両を制御することは、現在の推定される運動特性を第2の調整された運動特性と比較することにさらに基づいている。
【0007】
別の例では、第1のスピンは、センサの現在のスピンであり、第2のスピンは、第1のスピンより時間的に前の直近のスピンである。さらなる例では、第1のスピンおよび第2のスピンは、軸を中心としたセンサの回転によるものである。さらに別の例では、調整することは、検出された物体の歪んだ表現を考慮するために、第2のスピンからの所与のクラスタ内の1つ以上の点、または第1のスピンからの所与のクラスタ内の1つ以上の点のうちの少なくとも一方を移動させることを含む。表面一致アルゴリズムは、Itarative Closest Pointアルゴリズムであり得る。調整された運動特性は、速度特性であり得る。
【0008】
本技術の他の態様によれば、自律車両によって物体を追跡するための方法は、自律車両の1つ以上のコンピューティングデバイスによって、第1の追跡時点に対応するスピンの第1のセットから収集されたクラスタの第1のセット、および第2の追跡時点に対応するスピンの第2のセットから収集されたクラスタの第2のセットを含むセンサデータを受信することを含む。クラスタの第1のセットおよびクラスタの第2のセットはすべて、検出された物体に対応している。本方法はまた、表面一致アルゴリズムを使用して1つ以上のコンピューティングデバイスによって、検出された物体についての初期の推定された運動特性を使用する変換に基づいて、クラスタの第1のセットとクラスタの第2のセットとの間の対応の複数のセットを判定することを含む。本方法は、1つ以上のコンピューティングデバイスによって、対応の複数のセットに基づいて、クラスタの第1のセットとクラスタの第2のセットとの間の変換を最適化することをさらに含む。本方法はまた、1つ以上のコンピューティングデバイスによって、最適化された変換に基づいて、1つ以上の運動特性を判定することと、1つ以上のコンピューティングデバイスによって、検出された物体について判定された1つ以上の運動特性に基づいて、自律車両を制御することと、を含む。
【0009】
一例では、本方法は、1つ以上のコンピューティングデバイスによって、最適化された変換を使用してクラスタの第1のセットを変換して、クラスタの予測される第2のセットを生成することと、1つ以上のコンピューティングデバイスによって、クラスタの予測される第2のセットをクラスタの第2のセットと比較することと、1つ以上のコンピューティングデバイスによって、クラスタの予測される第2のセット内の点とクラスタの第2のセット内の対応する点との間の距離が、所定の閾値内にあると判定することと、をさらに含む。ここで、本方法は、表面一致アルゴリズムを使用して1つ以上のコンピューティングデバイスによって、最適化された変換に基づいて、クラスタの第1のセットとクラスタの予測される第2のセットとの間の対応の新しい複数のセットを判定することと、1つ以上のコンピューティングデバイスによって、対応の新しい複数のセットに基づいて、クラスタの第1のセットとクラスタの予測される第2のセットとの間の最適化された変換を再最適化することと、1つ以上のコンピューティングデバイスによって、再最適化された変換に基づいて、1つ以上の新しい運動特性を判定することと、をさらに含み得る。この場合、車両を制御することは、1つ以上の新しい運動特性にさらに基づいている。
【0010】
別の例では、本方法は、1つ以上のコンピューティングデバイスによって、センサデータを取得するセンサのスピンレートが追跡レートよりも速いと判定することをさらに含み、対応の複数のセットを判定することは、スピンレートが追跡レートよりも速いことに基づいている。さらなる例では、本方法は、1つ以上のコンピューティングデバイスによって、表面一致アルゴリズムについての仮説の複数のセットを生成することと、1つ以上のコンピューティングデバイスによって、仮説の複数のセットのそれぞれについての信頼性レベルを判定すること、信頼性レベルに基づいて1つ以上のコンピューティングデバイスによって、仮説の複数のセットのサブセットを選択することと、さらに含む。ここで、表面一致アルゴリズムは、仮説の複数のセットのサブセットを使用している。
【0011】
さらに別の例では、本方法は、1つ以上のコンピューティングデバイスによって、検出された物体が所定の規則のセットを満たす非対称性を有する水平断面を有すると判定することと、1つ以上のコンピューティングデバイスによって、所定の規則のセットを満たす非対称性に基づいて、検出された物体のヨーレートを判定することと、をさらに含む。別の例では、本方法は、1つ以上のコンピューティングデバイスによって、関連付けられた複数のスピンからのクラスタを、検出された物体に対応するものとして統合されたクラスタに蓄積することと、1つ以上のコンピューティングデバイスによって、統合されたクラスタに基づいて、検出された物体を分類することと、をさらに含む。ここで、車両を制御することは、分類にさらに基づいている。
【0012】
本技術のさらなる態様によれば、自律運転モードで車両を動作させるためのシステムが提供される。このシステムは、自律運転モードにある間に車両に運転動作を実行させるように構成された運転システム、車両の周囲の環境内で物体を検出するように構成された知覚システム、ならびに1つ以上のプロセッサおよびメモリを有するコンピューティングシステムを備える。コンピューティングシステムは、運転システムおよび知覚システムに動作可能に結合されている。コンピューティングシステムは、知覚システムのセンサによって複数のスピン中に収集されたセンサデータを受信するように構成されている。複数のスピンは、第1のスピンおよび第2のスピンを含む。センサデータは、車両の周囲の環境内で検出された1つ以上の物体に対応する1つ以上のクラスタを含む。コンピューティングシステムはまた、第1のスピンからの所与のクラスタを、環境における1つ以上の検出された物体のうちの所与の検出された物体に対応するものとして、第2のスピンからの所与のクラスタに関連付けることと、所与の検出された物体についての現在の推定される運動特性を初期の推定された値に設定することと、現在の推定される運動特性に基づいて、第2のスピンからの所与のクラスタ内の1つ以上の点および第1のスピンからの所与のクラスタ内の1つ以上の点を調整して、調整されたクラスタを取得することと、表面一致アルゴリズムを使用して、調整されたクラスタに基づいて、調整された運動特性を判定することと、を行うように構成されている。コンピューティングシステムは、所与の検出された物体の調整された運動特性に基づいて、運転システムの作動を介して、車両を制御するようにさらに構成されている。1つのシナリオでは、システムは、車両をさらに含む。
【0013】
本技術の他の態様によれば、自律運転モードで車両を動作させるためのシステムが提供される。このシステムは、自律運転モードにある間に車両に運転動作を実行させるように構成された運転システム、車両の周囲の環境内で物体を検出するように構成された知覚システム、ならびに1つ以上のプロセッサおよびメモリを有するコンピューティングシステムを備える。コンピューティングシステムは、運転システムおよび知覚システムに動作可能に結合されている。コンピューティングシステムは、知覚システムのセンサから、第1の追跡時点に対応するスピンの第1のセットから収集されたクラスタの第1のセット、および第2の追跡時点に対応するスピンの第2のセットから収集されたクラスタの第2のセットを含むセンサデータを受信するように構成されている。クラスタの第1のセットおよびクラスタの第2のセットはすべて、検出された物体に対応している。コンピューティングシステムはまた、表面一致アルゴリズムを使用して、検出された物体についての初期の推定された運動特性を使用する変換に基づいて、クラスタの第1のセットとクラスタの第2のセットの間の対応の複数のセットを判定することと、対応の複数のセットに基づいて、クラスタの第1のセットとクラスタの第2のセットとの間の変換を最適化することと、最適化された変換に基づいて、1つ以上の運動特性を判定することと、を行うように構成されている。コンピューティングシステムは、検出された物体について判定された1つ以上の運動特性に基づいて、運転システムの作動を介して、車両を制御するようにさらに構成されている。
【図面の簡単な説明】
【0014】
【
図1A】本開示の態様に応じた、本開示の態様による例示的な車両の機能図である。
【
図1B】本開示の態様による処理モジュールの機能図である。
【
図2】本開示の態様による
図1の例示的な車両の例示的な外観図である。
【
図3A-3B】本開示の態様によるセンサスキャン例を示す。
【
図4A-4C】過小セグメント化のシナリオを示す。
【
図5A-5C】過剰セグメント化のシナリオを示す。
【
図6A-6C】本技術の態様によるクラスタ関連付けの一例を示す。
【発明を実施するための形態】
【0015】
本技術は、概して、自律運転モードで動作するように構成された車両の周囲の環境内で物体を追跡することに関連する。例えば、運転中に、人間の運転者は別の車線の車両を容易に観察し、その車両を追跡し得る。これは、人間の運転者とその車両との間の距離と角度が経時的に変化し得る場合であっても、およびある時点でその車両の一部分のみが人間の運転者に視認可能であり得る場合であっても、継続し得る。自律車両はまた、物体の挙動を予測し、安全に反応するために、その環境内で物体を追跡する必要があり得る。
【0016】
例えば、車両の車載知覚システムは、1つ以上のセンサを使用して、車両の環境に関するセンサデータを連続的または周期的に収集し、収集されたセンサデータを使用して、車両の環境内の物体を検出および分類し得る。車両のコンピューティングデバイスはまた、検出された物体を追跡して運動特性を生成し得、その運動特性を使用して、例えば、異なる物体タイプの異なる挙動モデルに基づいて、検出された物体の挙動予測を行い得る。運動特性の例には、位置、速度、加速/減速、進行方向、ヨーレートなどが含まれ得る。ただし、移動する物体のセンサ測定における不正確さおよび制限により、運動歪みなどの運動特性における誤差が発生し、結果的に挙動予測における誤差をもたらし得る。これらの問題に対処するために、車両の追跡システムは、センサ測定における不正確さおよび制限を考慮した、追跡される物体の運動特性を生成するように構成され得る。
【0017】
例として、LiDARセンサは、それの周囲のセンサデータのセット(点群)を周期的に、例えば、大体0.1秒ごとに収集する。点群(「スピン」)全体は、セグメンタと称される処理モジュールによって個々のクラスタに分割され得る。ここで、各クラスタは、特定の物体、例えば、別の車両、歩行者、サイクリスト、トラフィックコーンなどに対応することができる。スピンは、軸を中心としたLiDARセンサの完全な回転(例えば、360°)または部分的な回転(例えば、大体45°、90°、180°)によって発生し得る。スピンはまた、固定位置LiDARセンサがセンサデータのセットを収集するときに発生し得る。
【0018】
各スピンは、クラスタのリストを生成する。処理システムは、連続するスピン間の対応、例えば、所与のクラスタが次のスピンにおいてどこへ行くのか、または1つのクラスタが直前のスピンの別のクラスタから得られたものかどうかを判定する必要がある。システムはそのような対応を判定した後、各物体の軌跡を構築することができ、連続するスピンにおけるその物体についてのクラスタを比較することによって物体の運動を推定することができる。スピンごとに処理システムによって実行されるクラスタ追跡器プロセスは、各物体についての軌跡を維持する。この軌跡情報は、処理システムの他の部品、例えば、挙動予測モジュール、物体分類モジュール、プランナモジュールなどと共有することができる。追跡プロセスは、スピン間の非常に短い時間、例えば、0.1秒未満で行われ得る。
【0019】
本明細書に記載の特徴は、クラスタの過剰セグメント化または過小セグメント化を取り扱うことを含む、クラスタを分析するための効率的で正確な方法を提供する。結果として得られた情報を使用して、物体の形状およびタイプをより正確に判定し得、これにより、運転動作を向上させることができる。
【0020】
例示的なシステム
図1Aに示されるように、本開示の一態様による車両100は、様々な構成要素を含む。本開示のいくつかの態様は特定のタイプの車両と関連して特に有用であるが、その車両は、これらに限定されないが、自動車、トラックおよび他の貨物車両、オートバイ、バス、レクリエーション用車両などを含む、任意のタイプの車両であり得る。車両は、コンピューティングデバイス110などの1つ以上のコンピューティングデバイスを有し得、このコンピューティングデバイス110は、1つ以上のプロセッサ120、メモリ130、および汎用コンピューティングデバイスに典型的に存在する他の構成要素を収容している。
【0021】
メモリ130は、1つ以上のプロセッサ120によってアクセス可能な情報を記憶し、その情報には、プロセッサ120によって実行または別様に使用され得る命令132およびデータ134が含まれる。メモリ130は、プロセッサによってアクセス可能な情報を記憶することができる任意の非一時的なタイプであり得、これには、ハードドライブ、メモリカード、ROM、RAM、DVD、もしくは他の光ディスク、ならびに他の書き込み可能メモリおよび読み取り専用メモリなどの電子デバイスを用いて読み取られ得るデータを記憶する、コンピューティングデバイス可読媒体または他の媒体が含まれる。システムおよび方法は、上記の異なる組み合わせを含み得、それによって、命令およびデータの様々な部分が、様々なタイプの媒体に記憶される。
【0022】
命令132は、プロセッサによって直接的に(マシンコードなど)または間接的に(スクリプトなど)実行される任意の命令セットであり得る。例えば、命令は、コンピューティングデバイス可読媒体上にコンピューティングデバイスコードとして記憶され得る。その点において、「命令」および「プログラム」という用語は、本明細書では、互換的に使用され得る。命令は、プロセッサによる直接処理のためのオブジェクトコード形式で、または要求に応じて解釈されるか、もしくは予めコンパイルされるスクリプトもしくは独立したソースコードモジュールの集合を含む、任意の他のコンピューティングデバイス言語で記憶され得る。命令の機能、方法、およびルーチンについては、以下でさらに詳細に説明される。
【0023】
データ134は、命令132に従って、プロセッサ120によって検索、記憶、または修正され得る。例えば、特許請求の範囲の主題は、いかなる特定のデータ構造にも限定されないが、データは、コンピューティングデバイスレジスタ内、複数の異なるフィールドおよびレコードを有する表としてのリレーショナルデータベース内、XMLドキュメント、またはフラットファイルに記憶され得る。データはまた、任意のコンピューティングデバイス可読形式でフォーマットされ得る。
【0024】
1つ以上のプロセッサ120は、市販されているCPUなどの任意の従来のプロセッサであり得る。代替的に、1つ以上のプロセッサは、ASICまたは他のハードウェアベースプロセッサなどの専用デバイスであり得る。
図1Aは、プロセッサ、メモリ、およびコンピューティングデバイス110の他の要素を同じブロック内にあるものとして機能的に示しているが、プロセッサ、コンピューティングデバイス、またはメモリは、実際には、同じ物理的筺体内に格納されている場合があるか、もしくはない場合がある複数のプロセッサ、コンピューティングデバイス、またはメモリを含み得ることが、当業者には理解されよう。例えば、メモリは、ハードドライブ、またはコンピューティングデバイス110の筐体とは異なる筐体内に位置する他の記憶媒体であり得る。したがって、プロセッサまたはコンピューティングデバイスへの言及は、並行に動作する場合があるか、もしくはしない場合があるプロセッサまたはコンピューティングデバイスまたはメモリの集合体への言及を含むことが理解されよう。
【0025】
コンピューティングデバイス110は、上述したプロセッサおよびメモリ、ならびにユーザ入力装置150(例えば、マウス、キーボード、タッチスクリーン、および/またはマイクロフォン)、ならびに様々な電子ディスプレイ(例えば、スクリーンを有するモニタ、または情報を表示するように動作可能である任意の他の電気デバイス)などの、コンピューティングデバイスと接続して通常使用されるすべての構成要素を含み得る。この例では、車両は、情報または視聴覚体験を提供するために、内部電子ディスプレイ152、ならびに1つ以上のスピーカ154を含む。この点において、内部電子ディスプレイ152は、車両100の車内に位置し得、コンピューティングデバイス110によって使用されて、車両100内の乗客に情報を提供し得る。
【0026】
コンピューティングデバイス110はまた、他のコンピューティングデバイスとの通信を容易にするために、1つ以上のワイヤレスネットワーク接続156を含み得る。ワイヤレスネットワーク接続は、Bluetooth(商標)、Bluetooth(商標)ローエネルギー(LE)、携帯電話接続などの短距離通信プロトコル、ならびにインターネット、World Wide Web、イントラネット、仮想プライベートネットワーク、ワイドエリアネットワーク、ローカルネットワーク、1つ以上の企業に固有の通信プロトコルを使用するプライベートネットワーク、Ethernet、WiFiおよびHTTP、ならびに上述の様々な組み合わせを含む様々な構成およびプロトコルを含み得る。
【0027】
コンピューティングデバイス110は、車両100に組み込まれた自律運転コンピューティングシステムを備え得る。自律運転コンピューティングシステムは、完全自律運転モードおよび/または半自律運転モードで車両100を操縦するために、車両の様々な構成要素と通信することができ得る。例として、部分的または完全な自律運転モードで動作する車両では、異なる程度の自律性が発生し得る。U.S.National Highway Traffic Safety Administration and the Society of Automotive Engineersは、どれだけ多く、またはどれだけ少なく、車両が運転を制御するかを示すために、様々なレベルを特定した。例えば、レベル0は自動化されておらず、運転者は、運転に関連するすべての決定を行う。最も低い半自律モードであるレベル1は、クルーズコントロールなど、何らかのドライブ支援を含む。レベル2は、特定の運転動作の部分的な自動化を有し、レベル3は、必要に応じて運転者席の人が制御することが可能であり得る条件付きの自動化を伴う。対照的に、レベル4は、車両が選んだ条件で支援なしで運転することができる高度な自動化レベルである。レベル5は、車両があらゆる状況下で支援なしで運転することができる完全自律モードである。本明細書に記載のアーキテクチャ、構成要素、システム、および方法は、本明細書で「自律」運転モードと呼ばれる、例えば、レベル1~5の半自律モードまたは完全自律モードのいずれかで機能することができる。したがって、自律運転モードへの言及には、部分的自律性と完全自律性の両方が含まれる。
【0028】
例えば、
図1Aに戻ると、コンピューティングデバイス110は、メモリ130の命令132に従って車両100の移動、速さなどを制御するために、減速システム160、加速システム162、(集合的に車両の運転システムを形成し得る)ステアリングシステム164、シグナリングシステム166、ナビゲーションシステム168、測位システム170、知覚システム172、および動力システム174(例えば、ガソリン駆動モータもしくはディーゼル駆動モータまたは電気エンジン)など、車両100の様々なシステムと通信し得る。この場合も、これらのシステムは、コンピューティングデバイス110の外部にあるものとして示されているが、実際には、これらのシステムもまた、車両100を制御するための自立運転コンピューティングシステムとしてここでも、コンピューティングデバイス110の中に組み込まれ得る。
【0029】
一例として、コンピューティングデバイス110は、車両の速度を制御するために、減速システム160および加速システム162と相互作用し得る。同様に、ステアリングシステム164は、車両100の方向を制御するために、コンピューティングデバイス110によって使用され得る。例えば、車両100が自動車またはトラックのように道路で使用するように構成されている場合、ステアリングシステムは、車輪の角度を制御して、車両の向きを変える構成要素を含み得る。シグナリングシステム166は、例えば、必要に応じて方向指示器またはブレーキライトを点灯させることによって、車両の意図を他の運転者または車両に知らせるために、コンピューティングデバイス110によって使用され得る。
【0030】
ナビゲーションシステム168は、ある場所までのルートを判定し、かつ追従するために、コンピューティングデバイス110によって使用され得る。この点において、ナビゲーションシステム168および/またはデータ134は、詳細な地図情報、例えば、車道の形状および標高、車線境界線、交差点、横断歩道、速度制限、交通信号、建物、標識、リアルタイム交通情報、植生、または他のそのような物体および情報を識別する高精密地図を記憶し得る。換言すると、この詳細な地図情報は、車道、ならびにそれらの車道の速度制限(法定速度制限)を含む、車両の予想される環境の幾何学形状を定義し得る。さらに、この地図情報は、交通信号灯、一時停止標識、譲り標識などの交通制御に関する情報を含み得、これらは、知覚システム172から受信するリアルタイム情報と併せて、所与の場所でどの方向の交通が優先通行権を持っているかを判定するためにコンピューティングデバイス110によって使用され得る。
【0031】
知覚システム172はまた、他の車両、車道内の障害物、交通信号、標識、樹木などの車両の外部の物体を検出するための1つ以上の構成要素を含む。例えば、知覚システム172は、1つ以上のLiDARセンサ、レーダユニット、ソナーデバイス、マイクロフォン、光学カメラ、赤外線カメラ、および/またはコンピューティングデバイス110によって処理され得るデータを記録する任意の他の検出デバイスを含み得る。知覚システムのセンサは、物体、ならびに場所、配向、サイズ、形状、タイプ、移動の方向および速さなどの物体の特性を検出し得る。センサからの生データ(例えば、LiDAR点群、レーダリターン、画像など)および/または前述の特性は、記述関数もしくはベクトルに定量化または構成され、さらなる処理のためにコンピューティングデバイス110に送信され得る。例として、コンピューティングデバイス110は、車両の位置を判定するために測位システム170を使用し、その場所に安全に到着する必要があるときに、物体を検出し、かつ物体に応答するために知覚システム172を使用し得る。
【0032】
図1Bは、メモリ130の命令132およびデータ134に従ってコンピューティングデバイス110のプロセッサによって実装され得る様々な動作モジュールを示す機能
図180である。例えば、セグメンタモジュール182は、各スピンを個々のクラスタに分割し得る。クラスタ追跡器モジュール184は、セグメンタモジュール182からのクラスタに基づいて、周囲環境で検出された物体についての軌跡を維持し得る。物体分類モジュール186は、クラスタ追跡器モジュール184からのタック情報を使用して、知覚システム172によって検出された物体のタイプまたはクラスを識別し得る。挙動予測モジュール188は、メモリに格納された挙動モデルを使用して、分類された物体による可能性の高い動作を識別し得る。例えば、サイクリストであると検出された物体は、運転車線にまたは路肩に沿って走行するのではなく、車道の側部に沿って自転車車線を走行すると予測され得る。さらに、プランナモジュール190は、物体分類、挙動予測、地図データ、気象データ、交通データ、および/または他の情報を使用して、車両の短期(例えば、次の5~10秒)または長期(例えば、道程の残り)ルートを計画し得る。
【0033】
図2は、知覚システム172の態様を含む車両100の例示的な外観図である。例えば、屋上筐体210およびドーム筐体212は、LiDARセンサまたはシステム、ならびに様々なカメラおよびレーダユニットを含み得る。加えて、車両100の前端部に位置する筐体220、ならびに車両の運転者側筐体230および助手席側筺体232は、各々、LiDARセンサおよび他のデバイスを格納し得る。例えば、筐体230は、運転者側のドア260の前部に位置している。図示されるように、車両100はまた、これも車両100の屋根上に位置するレーダユニットおよび/またはカメラのための筐体240、242を含む。追加のレーダユニットおよびカメラ(図示せず)は、車両100の前端部および後端部に、ならびに/または屋根もしくは屋上にある筐体210に沿った他の位置に位置付けることができる。特定のセンサタイプおよびその配置は、単なる例示的なものであり、車両のタイプおよび他の要因に応じて変化し得る。
【0034】
例示的な方法
上述し、図に示した動作に加えて、様々な動作を、ここで説明する。以下の動作は、以下に説明するとおりの順序で実施される必要がないことを理解されたい。むしろ、様々なステップが、異なる順序で、または同時に処理され得、ステップもまた、追加または省略され得る。
【0035】
車両の処理システムは、知覚システムのセンサによって現在のスピン中に収集されたセンサデータを受信し得る。上記のように、知覚システムは、物体を追跡するために車両の環境を周期的にスキャンし得るセンサを含む、1つ以上のセンサを有し得る。例えば、知覚システムは、所定のスピンレートで「スピン」を実行し得る1つ以上のLiDARセンサを含み得る。センサのタイプに応じて、スピンは、車両の周囲の完全な360度スキャン、または大体45度~180度など、車両の周囲の1つの領域の(例えば、前部または後部に沿った)部分的なスキャンであり得る。
【0036】
図3Aは、車両302のLiDARセンサが、車両302の周囲の一点鎖線円304によって囲まれた半径内で完全なスキャンを生成するシナリオ300を示している。
図3Aに示されるように、車両302は、車道に沿って進行していることがあり、スキャン半径内の他の物体は、同じ方向に進行する乗客車両306および反対方向に進行するトラック308を含み得る。
図3Bは、LiDARによって行われたスキャン310を示し、点群312aおよび312bは車両306aおよび306bからのリターンを介して取得され、点群314は車両308からのリターンを介して取得される。例として、この情報は、センサスキャンが捕捉されるたびに、知覚システムによって処理システムのコンピューティングデバイスに自動的に送信され得る。
【0037】
処理システムは、スピンからのセンサデータ(例えば、点群データ)をセグメント化するように構成され得、それにより、1つ以上の同じまたは類似の特性を有する点が、クラスタ内にあるものとして識別され得る。したがって、セグメント化されたセンサデータは、車両の環境内で検出された1つ以上の物体に対応する1つ以上のクラスタを含み得る。スピン内の各クラスタは、スピンのタイムスタンプにおける、またはその周囲の物体のスナップショットを表し得る。いくつかの例では、センサデータは、過小セグメント化(例えば、2つの異なる物体に対応する点が区別されていない)、または過剰セグメント化(例えば、1つの物体の部分が2つのクラスタとして識別される)され得る。以下でさらに考察されるように、センサデータ内の個々の点の代わりにクラスタを追跡および評価することによって、過小セグメント化と過剰セグメント化がシステムによって対処され得る。
【0038】
図4A~
図4Bは、過小セグメント化の一例を示している。特に、
図4Aの図解400は、2つの異なる車両402および404を示している。別の車両(例えば、
図3Aの車両302)に対するそれらの距離、配向、および速さに応じて、リターンされた点群データは、
図4Bの図解410に示されるようなものであり得、点群データ412は車両402に対応し、点群データ414は車両404に対応している。この場合、
図4Cの図解420に示されるように、点群センサデータは、括弧内の結果422によって示されるように、過小セグメント化され得る。
【0039】
図5A~
図5Bは、過剰セグメント化の一例を示している。特に、
図5Aの図解500は、トラクタトレーラトラックなどの大型車両502を示している。別の車両(例えば、
図3Aの車両302)に対する車両502の距離、配向、および速さに応じて、リターンされた点群データは、
図5Bの図解510に示されるようなものであり得、点群データ512は、車両502のトラクタ(運転席)およびトレーラの両方に対応している。この場合、
図5Cの図解520に示されるように、点群センサデータは、括弧内の(トレーラに対応する)結果522および(トラクタに対応する)結果524によって示されるように、過剰にセグメント化され得る。
【0040】
処理システム(例えば、
図1Bのクラスタ追跡器モジュール184)は、現在のスピンからの所与のクラスタを、所与の検出された物体に対応するものとして、メモリに記憶された前のスピンからの所与のクラスタと関連付け得る。前のスピンは、現在のスピンより時間的に前の直近のスピンであり得る。例えば、スピン間のクラスタの関連付けは、検出された物体についての将来の投影を行うことによって実行され得る。一例では、追跡システムは、クラスタに対応する物体の現在の速度を推定するために、前のスピンにおけるクラスタにカルマンフィルタを適用し得る。
【0041】
推定される現在の速度を使用して、クラスタ追跡器は、現在のスピンのタイムスタンプで物体についての投影されたクラスタを生成し得る。次いで、追跡システムは、投影されたクラスタを現在のスピンからの実際のクラスタと比較し得る。いつくかの例では、投影されたクラスタとの最大の重複を伴う現在のスピンからのクラスタは、物体に対応するものとして関連付けられ得る。別の例では、現在のスピンからの重複するクラスタが存在しない場合、投影されたクラスタに最も近い現在のスピンからのクラスタが、物体に対応するものとして関連付けられ得る。
【0042】
追加的または代替的に、クラスタ追跡器は、Itarative Closest Point(「ICP」)アルゴリズムなどの表面一致アルゴリズムを使用して、異なるスピンからのクラスタを関連付け得る。例として、ICPアルゴリズムは、同じ物体の連続する点群のすべての対について実行され得る。これには、例えば、車両、歩行者、サイクリスト、または他の物体が含まれ得る。ICPアルゴリズムは、物体の連続的な観測から、各物体の動き、特に並進および回転を提供し得る。点群間の時間差で除算された並進は、所与の物体についての速度を提供し得、時間間隔で除算された回転は、その物体のヨーレート、ピッチレート、およびロールレートを提供することができる。
【0043】
図6A~
図6Cは、ICP手法を使用したクラスタ関連付けの一例を示している。図解600に示されるように、第1の時点(例えば、時間t
0)からの第1のクラスタ602、および後の第2の時点(例えば、時間t
1)からの第2のクラスタ604が存在する。クラスタに関連付けられた時間は、所与のセンサの捕捉レートまたはスピンレートに依存することになり、これは、例えば、大体1~50Hzであり得る。これらのクラスタは、LiDARセンサなどの同じセンサからの連続スキャン(例えば、スピン)からのデータに対応し得る。ICPプロセスは、
図6Bの図解610において破線によって示されるように、最初に第1のクラスタおよび第2のクラスタ内の個々の点間の対応を生成する。
図6Cの図解620に示されるように、変換(例えば、並進および回転)が、2つのクラスタに対して実行され得る。変換を時間差(t
0-t
1)で除算して、物体の速さのレートおよびその進行方向を判定し得る。
【0044】
この点に関して、現在のスピンからの所与のクラスタ内の点と、前のスピンからのクラスタ内の点との間に対応が見出され得る。例えば、現在のスピンからの所与のクラスタは、最大数の点の対応を有する前のスピンからのクラスタに関連付けられ得る。したがって、現在のスピン内の各クラスタは、前回に検出された物体について多くても1つの「軌跡」に関連付けられ得、または新しく検出された物体についての新しい軌跡を開始する。クラスタ追跡器は、多くのクラスタが1つの軌跡に関連付けられ、その後、複数の軌跡に分割され得るように構成され得る。言い換えれば、追跡システムは、最初は2つの物体を区別しない可能性があるが、最終的には、2つの物体を、それらの軌跡が分化する場合に区別する。追跡システムはまた、クラスタを2つ以上の軌跡に関連付けることができないように構成され得る。
【0045】
軌跡に有効期限が設定され得、それにより、現在のスピンのクラスタが軌跡に関連付けられていない場合、軌跡が直ちに削除されるのではなく、有効期限の間、記憶され続け得る。例えば、追跡システムは、新しい軌跡が識別されたときに信頼性スコアを生成するように構成され得る。この点に関して、より長い有効期限が、信頼性スコアが低い軌跡よりも信頼性スコアが高い軌跡に対して設定され得る。例えば、軌跡の信頼性スコアが、高い信頼性閾値を満たす場合、および現在のスピンからのクラスタが軌跡に関連付けられていない場合、軌跡は、次のスピンまでの有効期限を与えられ得る。別の例では、軌跡の信頼性スコアが、低い信頼性閾値(例えば、大体85%の信頼性閾値)以下の場合、軌跡は、現在のスピンからのクラスタが軌跡に関連付けられていない場合、直ちに破棄され得る。
【0046】
追跡システムは、センサのスピンレートに基づいて、1つ以上の運動特性を生成するときに運動歪みを調整することを判定し得る。本技術の一態様によれば、運動歪みは、2つの要因、すなわち、(i)その物体の前の推定された速度、および(ii)(そのクラスタの最も初期のスキャン点と最新のスキャン点とを比較した)クラスタ内の時間差に基づいて補正され得る。これは、速度に時間差を乗じたものが、ある事前設定された距離、例えば、大体3~5メートルより大きいかどうかを判定することによって評価することができる。
【0047】
例として、低いスピンレート(例えば、大体1~5Hz)では、高速で移動する物体に対応するクラスタ内の点は、互いに対して異なるレートで移動しているように見え得る。例えば、物体の第1の縁部は、スピン中の第1の時点でLiDARセンサによって捕捉され得、物体の第2の縁部は、同じスピン中の第2の時点でLiDARセンサによって捕捉され得る。ただし、物体はLiDARセンサのスピンレートよりもはるかに速く移動しているため、(第2の時点で捕捉された)物体の第2の縁部が(第1の時点で捕捉された)物体の第1の縁部よりも遠くに移動したように見え得る。
【0048】
図7A~
図7Cは、運動歪みの一例を示すシナリオである。
図7Aの図解700に示されるように、車両702は、別の車両704から、特に、破線によって示されるように、車両704の右前隅706からリターンを受信する。このリターンは、時刻t
0で捕捉されたものであり、車両702は、矢印によって示されるように、車両702に向かって移動している。
図7Bの図解710は、車両704が車両702に向かって移動したシナリオを示している。ここで、時刻t
1において、車両702は、破線によって示されるように、車両704から、特に、他の車両の左前隅712から第2のリターンを取得する。ここでは、例示のみを目的として、位置706は、時刻t
1において、他の車両の側部に沿って後方に移動したものとして示されている。ここで、わずかに異なる時点で捕捉された異なる点に基づく平均は、
図7Cの図解730に示されるように、他の車両の歪んだ表現をもたらし得る。
【0049】
いくつかの例では、知覚システムは、2~5Hzなどの低いスピンレートの第1のLiDARセンサ、15~25Hzなどのより高いスピンレートの第2のLiDARセンサ、および5~15Hzなどの中間スピンレートの第3のLiDARセンサを含み得る。このような例では、クラスタ追跡器は、最低スピンレートセンサ(ここでは第1のLiDAR)からのセンサデータに基づいて運動特性を生成するときにのみ運動歪みを調整するように構成され得るが、別のセンサを運動補償のベースラインとして使用することもできる。
【0050】
クラスタ追跡器は、最初に、現在の推定される運動特性を初期の推定された値に設定し得る。例えば、現在の推定される運動特性は、物体についての現在の推定される速度であり得、これは、直前のスピンについて物体に対して判定された速度に設定され得る。1つのシナリオでは、センサが最初にオンにされたときの第1のスピンからのクラスタの場合、現在の推定される速度は、依拠する前のデータがないため、ゼロに設定され得る。ここで、現在の速度の推定値は、大きな不確実性値を割り当てられ得る。例として、現在の推定される速度は、0.0~1.0の尺度で0.9以上の不確実性値で、時速100kmに設定され得る。
【0051】
システムは、現在の推定される運動特性に基づいて、前のスピンからの所与のクラスタ内の1つ以上の点、および現在のスピンからの所与のクラスタ内の1つ以上の点を調整(例えば、並進または他の形で移動)し得る。例えば、スピンレートが4Hzの場合、360度スキャンの各スピンは、完了するのに0.25秒かかり得る。検出された物体は、LiDARセンサがスキャンするのに約0.007秒かかったであろうスピンの10程度を占める点を有すると判定され得る。したがって、物体の第1の縁部は、物体の第2の縁部の第2の時点よりも0.007秒早い第1の時点でスキャンされ得る。上記の例によれば、現在の推定される速度は100km/時であるため、第2の縁部は第1の縁部よりも100km/時x0.007秒=0.194m遠くにあり得る。したがって、クラスタ内の点は、第1の時点と第2の時点との間の平均時点に調整(並進または移動)され得る。例として、第1の縁部は、前方0.097mに調整され得、第2の縁部は、後方0.097mに調整され得、これら2つの縁部間の点は、前方0.097mと後方0.097mとの間のある値によって調整され得る。
【0052】
クラスタ追跡器は、表面一致アルゴリズムを使用して、調整されたクラスタに基づいて、調整された運動特性を判定し得る。例えば、追跡システムはICPを使用して、2つの調整されたクラスタを位置合わせするために適用することができる変換を判定し得る。次いで、追跡システムは、変換および2つの調整されたクラスタ間のタイムスタンプの差を使用して、調整された運動特性を判定し得る。例えば、10メートルの変換が2つの調整されたクラスタを位置合わせするために見出され、2つの調整されたクラスタのタイムスタンプが0.25秒離れている場合、物体の調整された速度は40m/秒または144km/時であると判定され得る。
【0053】
システムは、現在の推定される運動特性を調整された運動特性と比較して、それが調整された運動特性の所定の許容誤差内にあるかどうかを判定し得る。例えば、現在の推定される運動特性が調整された運動特性と収斂する場合、クラスタ追跡器は、調整されたクラスタならびに現在の推定される運動特性が正確であると結論付け得る。この点に関して、収斂は、所定の許容誤差に基づいて判定され得る。例えば、現在の推定される速度(初期の推定された値)と(調整されたクラスタに基づく)調整された推定される速度が所定の許容誤差内(例えば、5~10%の許容誤差内)である場合、クラスタ追跡器は、調整されたクラスタと現在の推定される速度は正確であると結論付け得る。
【0054】
対照的に、現在の推定される運動特性が調整された運動特性と収斂しない場合、システムは、現在の推定される運動特性を調整された運動特性に設定し得る。例えば、現在の推定される速度(初期の推定された値)および(調整されたクラスタに基づく)調整された推定される速度が所定の許容誤差内(例えば、5~10%の許容誤差内)にない場合、追跡システムは、調整されたクラスタおよび/または現在の推定される速度が正確ではない可能性があると判定し得る。したがって、クラスタ追跡器は、現在の推定される速度を調整された推定される速度に設定し得る。
【0055】
現在の推定される運動特性が更新される場合、システムは、収斂に達するまで、新しい現在の推定される運動特性を用いてプロセスを繰り返し得る。例えば、追跡システムは、更新された現在の推定される運動特性に基づいて、例えば、より正確な速度値に基づいて、2つのクラスタを調整し得る。追跡システムは、2つの新たに調整されたクラスタにICPを適用して、別の調整された運動特性を生成し、それを現在の推定される運動特性と比較するなどを行い得る。
【0056】
判定されると、検出された物体についての運動特性は、車両の1つ以上のコンピューティングデバイスによって使用される他のモジュールへの入力として使用され得る。例えば、
図1Bの物体分類モジュール186は、1つ以上の記憶された物体モデルに従って、運動特性に基づいて、検出された物体を分類し得る。そのため、物体分類モジュールは、検出された物体の速度が時速100kmであることに基づいて、検出された物体を歩行者ではなく車両として分類し得る。さらに、
図1Bの挙動予測モジュール188は、運動特性に基づいて、検出された物体の1つ以上の挙動を予測し得る。例えば、挙動予測モジュールは、検出された物体の減速に基づいて、検出された物体が停止することを予測し得る。
【0057】
別の態様では、システムは、センサの高いスピンレートによって引き起こされる運動特性の不正確さを調整するようにさらに構成され得る。例えば、高いスピンレートでは、特に、センサが、例えば、15度~60度の狭い視野(FOV)を有する場合、各スピンにおけるクラスタは、正確な運動特性を生成するにはあまりにも少ない点を有し得る。この点に関して、クラスタ追跡器は、運動特性を生成するときの精度を改善するために、1つのセンサの複数のスピンからのセンサデータを組み合わせるように構成され得る。
【0058】
例えば、システムは、車両の知覚システムの所与のセンサのスピンレートがクラスタ追跡器の追跡レートよりも速いと判定し得る。システムは、所定の追跡レートで物体を追跡するように構成され得、この所定の追跡レートは、知覚システム内のセンサのうちの1つのスピンレートに等しくなるように設定され得る。ほんの一例として、知覚システムは、第1のスピンレートが4Hzの第1のLiDARセンサ、第2のスピンレートが20Hzの第2のLiDARセンサ、および第3のスピンレートが10Hzの第3のLiDARセンサを含み得る。追跡レートは、第3のLiDARセンサのスピンレートとして10Hzに設定され得、それにより、挙動予測は、追跡レートで、すなわち、毎秒10回行われ得る。したがって、クラスタ追跡器は、第2のLiDARセンサの1つおきのスピンからのセンサデータを単に破棄し得る。ただし、上記のように、高いスピンレートを有するセンサによって収集されたクラスタは既に点が少ないため、センサデータを破棄することにより、正確な位置合わせを行うにはデータが少なすぎることがある。そのため、高いスピンレート(例えば、20Hz)を有するセンサからのセンサデータを破棄する代わりに、クラスタ追跡器は、より正確な運動特性を生成するために、追加のセンサデータを使用するように構成され得る。
【0059】
1つのシナリオでは、クラスタ追跡器は、第1の追跡時点に対応するスピンの第1のセットから収集されたクラスタの第1のセットと、第2の追跡時点に対応するスピンの第2のセットから収集されたクラスタの第2のセットとを含むセンサデータを受信し得る。クラスタの第1のセットおよびクラスタの第2のセットはすべて、検出された物体に対応している。上記の例から続けて、第3のLiDARセンサを参照すると、追跡レートは10Hzであるため、第1の追跡時点はtA=0.1秒であり得、第2の追跡時点はtB=0.2秒であり得る。さらに、第2のLiDARセンサのスピンレートは20Hzであるため、スピンの第1のセットは、t1=0.05秒における第1のスピンおよびt2=0.1秒における第2のスピンを含み得、スピンの第2のセットは、t1’=0.15秒における第1のスピンおよびt2’=0.2秒における第2のスピンを含み得る。したがって、この例では、クラスタc(t1)およびクラスタc(t2)の第1のセットは、追跡時点tAに対応する所与の物体について収集され得、クラスタc(t1’)およびクラスタc(t2’)の第2のセットは、追跡時点tBに対応する所与の物体について収集され得る。スピンレートが追跡レートの3倍以上である他の例では、3つ以上のクラスタが、各追跡時点に対応する所与の物体について収集され得る。
【0060】
クラスタ追跡器は、検出された物体の初期の推定された運動特性を設定し得る。例えば、初期の推定された運動特性は、検出された物体の現在の推定される速度であり得、この現在の推定される速度は、直前のスピンについて、検出された物体について判定された速度に設定され得る。例えば、現在の推定される速度は、100km/時に設定され得る。
【0061】
初期の推定された運動特性に基づいて、システムは、表面一致アルゴリズム(例えば、ICP)を使用して、初期の推定された運動特性に基づいて、クラスタの2つのセット間の対応の複数のセットを判定し得る。上記の例から続けて、対応の第1のセットは、クラスタの第1のセットからの第1のクラスタc(t1)とクラスタの第2のセットからの第1のクラスタc(t1’)との間で判定され得、対応の第2のセットは、クラスタの第1のセットからの第2のクラスタc(t2)とクラスタの第2のセットからの第2のクラスタc(t2’)との間で判定され得る。例えば、ICPアルゴリズムの場合、クラスタの第1のセットからの第1のクラスタc(t1)内の点は、初期の推定された運動特性に基づいて変換され得、変換された各点は、最も近接するクラスタの第2のセットからの第1のクラスタc(t1’)内の点と一致する。スピンレートが追跡レートの3倍以上である他の例では、対応の3つ以上のセットが、所与の物体について判定され得る。
【0062】
追跡システムは、対応の第1のセットと対応の第2のセットの両方に基づいて、クラスタの第1のセットとクラスタの第2のセットとの間の変換を最適化し得る。例えば、クラスタの第1のセットからの第1のクラスタc(t1)は、変換を使用して、クラスタの第2のセットからの第1のクラスタc(t1’)に位置合わせされ得、第1の損失が計算され得る。同様に、クラスタの第1のセットからの第2のクラスタc(t2)は、クラスタの第2のセットからの第2のクラスタc(t2’)に位置合わせされ得、第2の損失が計算され得る。全体的な損失は、第1の損失および第2の損失を合計することによって計算され得る。クラスタ追跡器は、全体的な損失を最小化するために、変換を最適化するように構成され得る。言い換えれば、変換は、クラスタの第1のセット内のクラスタからの変換された点と、クラスタの第2のセット内の対応するクラスタからの対応する点との間の全体的な距離が最小化されるように最適化される。
【0063】
第1のスピンレート(例えば、1~10Hz)を有する1つのセンサの場合、1つの手法は以下のとおりである。対応のセット{(ai、bi)}が与えられ、aiがクラスタAから得られ、biがクラスタBから得られる場合、システムは、各T(ai)とbiとの間の全体的な距離が最小化されるように、変換Tを計算する。この最小化プロセスは、例えば、最小二乗法を使用して実行することができる。
【0064】
より高いスピンレート(例えば、11~30Hz)を有する別のセンサの場合、対応の2つのセット{(ai、bi)}および{(a’i、b’i)}が使用され得る。ここで、システムはまた、各T(ai)とbi、およびT(a’i)とb’iとの間の全体的な距離を最小化する変換Tを計算する。
【0065】
追跡システムは、最適化された変換を使用してクラスタの第1のセットを変換して、予測されるクラスタの第2のセットを生成し得る。上記の例から続けて、クラスタc(t1)とクラスタc(t2)の第1のセットを、最適化された変換を使用して変換して、クラスタcp(t1’)とクラスタcp(t2’)の予測されるクラスタの第2のセットを生成し得る。追跡システムは、予測されるクラスタの第2のセットを実際のクラスタの第2のセットと比較し得る。上記の例から続けて、予測されるクラスタcp(t1’)は、実際のクラスタc(t1’)と比較され得、予測されるクラスタcp(t2’)は、実際のクラスタc(t2’)と比較され得る。
【0066】
例えば、予測されるクラスタの第2のセットが実際のクラスタの第2のセットと収斂する場合、クラスタ追跡器は、最適化された変換が正確であると結論付けることができる。この点に関して、収斂は、所定の閾値に基づいて判定され得る。例えば、予測されるクラスタの第2のセット内の点と実際のクラスタの第2のセット内の点との間の距離が所定の閾値(例えば、5~10%以内)を満たす場合、追跡システムは、最適化された変換が正確であると結論付け得る。
【0067】
対照的に、予測されるクラスタの第2のセットが実際のクラスタの第2のセットと(例えば、2~4回の反復内で)収斂しない場合、システムは、最適化された変換が不正確であると結論付け得る。例えば、予測されるクラスタの第2のセット内の点と実際のクラスタの第2のセット内の点との間の距離が所定の閾値を満たさない場合、追跡システムは、最適化された変換が不正確であると結論付け得る。したがって、追跡システムは、最適化された変換に基づいて、クラスタの第1のセットからの第1のクラスタc(t1)についての対応の第1のセットを再計算し、最適化された変換に基づいて、クラスタの第2のセットからの第2のクラスタc(t2)についての対応の第2のセットを再計算し、新しい対応の2つのセットを使用してプロセスを繰り返し得る。
【0068】
別の態様では、追跡システムは、表面一致アルゴリズムの効率を高めるために、表面一致アルゴリズムで使用される初期の値の信頼性レベルを生成するように構成され得る。例えば、クラスタの対に対してICPを実行するために、仮説のセットが生成され得る。ここで、速度仮説の各セットは、重心オフセット(クラスタの重心がどれだけ移動したか)、境界ボックス中心オフセット(境界ボックスがどれだけ移動したか)、ゼロ(基準点からどれだけ移動したか)、(直前の推定された速度を使用する)直前のICPオフセットに基づいて推定された速度を含み得る。さらに別の例として、速度は、2つのクラスタの1つ以上の特徴点に基づいてさらに推定され得る。例えば、タイヤまたはヘッドライトなどの検出された車両の部品の特徴点が(例えば、コンピュータビジョンプロセスによって)識別される場合、速度は、2つのクラスタに対応するこれらの特徴点間のオフセットに基づいて推定され得る。
【0069】
追跡システムは、1つ以上の所定の規則に基づいて、仮説の各セットに信頼性レベルを割り当て得る。例えば、第1の信頼性レベルは、2つのクラスタ間で一致に成功した対応の数または点の数に基づいて割り当てられ得る。別の例では、第2の信頼性レベルが、変換の損失関数からの損失値に基づいて割り当てられ得る。さらに別の例では、第3の信頼性レベルは、共分散推定に基づき得る。いくつかの例では、全体的な信頼性レベルが、前述の要因、および/または追加の要因のうちの1つ以上に基づいて割り当てられ得る。この点に関して、追跡システムは、仮説のサブセットのみを試行するように構成され得る。例えば、仮説のサブセットは、信頼性閾値(例えば、大体90%の閾値)を満たす信頼性レベルを有し得る。
【0070】
さらに別の態様では、システムは、検出された物体のヨーレートを生成するかどうかを判定し得る。例えば、トラフィックコーン、ボールなどの円形の水平断面を持つ物体は回転していないことがあるが、異なるスピン中に収集されたクラスタ間の点が完全には対応しないことに起因して、表面一致アルゴリズムは、それにもかかわらず、そのような物体が異なるスピン間で回転していると判定し得る。さらに、表面一致アルゴリズムによって生成されるヨーレートは、物体の実際の回転ではなく、点の不完全な対応に基づくことになる。この点に関して、クラスタ追跡器は、検出された物体が、所定の規則のセットを満たす非対称性を有する水平断面を有すると判定するように構成され得る。追跡システムは、所定の規則のセットを満たす非対称性に基づいて、検出された物体のヨーレートを判定するように構成され得る。所定の規則の例は、断面が円形、楕円形、または5つを超える等しい縁部を有する多角形ではないことであり得る。
【0071】
さらに別の態様では、追跡システムは、物体分類を改善するために、検出された物体に対応する関連付けられたクラスタを蓄積するように構成され得る。例えば、物体の前部は、第1のスピンからの第1のクラスタ内の車両の背後で観察され得る。次いで、物体が車線を変更すると、物体の右側が、第2のスピンからの第2のクラスタ内の車両の左側から観察され得る。次に、物体が速度を上げて車両を追い越すと、物体の後側が、第3のスピンからの第3のクラスタ内の車両の前方で観察され得る。いくつかの例では、物体分類モデルは、物体の前部、側部、または後部を示す3つのクラスタのうちの1つのみに基づいて物体を分類できない場合があるが、物体の異なる側部を示す3つのクラスタすべてに基づいて物体を分類できる場合がある。この点に関して、クラスタ追跡器は、第1のクラスタ、第2のクラスタ、および第3のクラスタを統合されたクラスタに蓄積するように構成され得る。例えば、追跡システムは、ICPなどの表面一致アルゴリズムを使用して、第1のクラスタ、第2のクラスタ、および第3のクラスタを位置合わせさせる変換を計算し得る。変換されたクラスタは一緒に、物体の分類に使用することができる統合されたクラスタを形成する。次いで、統合されたクラスタは、物体分類モジュールのための入力として使用され得る。
【0072】
上で説明される特徴により、自律車両のコンピューティングシステムが、センサ測定の様々な制限にもかかわらず、その環境内で検出された物体の正確な運動特性を判定することを可能にし得る。高速に移動する物体の運動歪みを補正することによって、そのような物体の運動特性をより高い精度で判定し得る。高いスピンレートでの複数のセンサスピンからのクラスタの対応の複数のセットを見出すことによって、各クラスタが有する点が少ない場合であっても、表面一致アルゴリズムを使用してより良好な位置合わせが達成され得る。表面一致アルゴリズムの効率は、信頼性レベルに基づいて仮説を選択することによって、さらに改善され得る。これらの特徴は、ヨーレートを正確に判定することができる物体のタイプを識別することをさらに提供する。物体分類は、検出された物体に対応する関連付けられたクラスタを蓄積することによって改善され得る。加えて、過小セグメント化または過剰セグメント化は、これらの強化された手法を用いて回避することができる。
【0073】
図8は、自律車両によって物体を追跡するための方法800を示している。ブロック802において、自律車両の車載システムの1つ以上のコンピューティングデバイスが、自律車両のセンサによって複数のスピン中に収集されたセンサデータを受信する。複数のスピンは、第1のスピンおよび第2のスピンを含む。センサデータは、自律車両の周囲の環境内で検出された1つ以上の物体に対応する1つ以上のクラスタを含む。ブロック804において、第1のスピンからの所与のクラスタが、環境における1つ以上の検出された物体のうちの所与の検出された物体に対応するものとして、第2のスピンからの所与のクラスタに関連付けられる。ブロック806において、所与の検出された物体についての現在の推定される運動特性が、初期の推定された値に設定される。ブロック808において、システムは、現在の推定される運動特性に基づいて、第2のスピンからの所与のクラスタ内の1つ以上の点、および第1のスピンからの所与のクラスタ内の1つ以上の点を調整して、調整されたクラスタを取得する。ブロック810において、表面一致アルゴリズムを使用して、調整されたクラスタに基づいて、調整された運動特性を判定する。ブロック812において、システムは、所与の検出された物体の調整された運動特性に基づいて自律車両を制御する。
【0074】
図9は、自律車両によって物体を追跡するための別の方法900を示している。ブロック902において、自律車両の車載システムの1つ以上のコンピューティングデバイスが、第1の追跡時点に対応するスピンの第1のセットから収集されたクラスタの第1のセット、および第2の追跡時点に対応するスピンの第2のセットから収集されたクラスタの第2のセットを含むセンサデータを受信する。クラスタの第1のセットおよびクラスタの第2のセットはすべて、検出された物体に対応している。ブロック904において、システムは、表面一致アルゴリズムを使用して、検出された物体についての初期の推定された運動特性を使用する変換に基づいて、クラスタの第1のセットとクラスタの第2のセットとの間の対応の複数のセットを判定する。ブロック906において、クラスタの第1のセットとクラスタの第2のセットとの間の変換が、対応の複数のセットに基づいて最適化される。ブロック908において、最適化された変換に基づく1つ以上の運動特性が判定される。ブロック910において、システムは、検出された物体について判定された1つ以上の運動特性に基づいて自律車両を制御する。
【0075】
特段の記述がない限り、前述の代替例は、相互に排他的ではないが、独自の利点を達成するために様々な組み合わせで実施することができる。上で考察される特徴のこれらおよび他の変形および組み合わせは、特許請求の範囲によって定義される主題から逸脱することなく利用することができるので、実施形態の前述の説明は、特許請求の範囲によって定義される主題を限定するものとしてではなく、例示として見なされるべきである。加えて、本明細書に記載の例、ならびに「など」、「含む」などと表現された節の提示は、特許請求の範囲の主題を特定の例に限定するものとして解釈されるべきではなく、むしろ、例は、多くの可能な実施形態のうちの1つだけを例示することが意図される。さらに、異なる図面中の同じ参照番号は、同じまたは類似の要素を特定することができる。動作のプロセスまたはブロックの順序またはステップは、本明細書において別段の記載がない限り、異なる順序でまたは並行して実行され得る。