(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023025266
(43)【公開日】2023-02-21
(54)【発明の名称】車両センサの較正及び位置特定
(51)【国際特許分類】
G01B 11/00 20060101AFI20230214BHJP
G01C 3/00 20060101ALI20230214BHJP
G01C 3/06 20060101ALI20230214BHJP
G01B 11/26 20060101ALI20230214BHJP
【FI】
G01B11/00 B
G01C3/00 120
G01C3/06 120Q
G01B11/00 H
G01B11/26 H
G01B11/26 Z
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022199619
(22)【出願日】2022-12-14
(62)【分割の表示】P 2020507685の分割
【原出願日】2018-08-07
(31)【優先権主張番号】15/674,853
(32)【優先日】2017-08-11
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/675,487
(32)【優先日】2017-08-11
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.ANDROID
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】デレク アダムス
(72)【発明者】
【氏名】イアン ボールドウィン
(72)【発明者】
【氏名】バートランド ロバート ドゥイヤール
(72)【発明者】
【氏名】ジェシー ソル レヴィンソン
(57)【要約】
【課題】車両センサの較正及び位置特定を実現すること。
【解決手段】車両の知覚センサが車両の様々な動作機能として利用されうる。デバイスは、センサデータを知覚センサから受信し、センサデータを用いて知覚センサを較正して車両の効率的な動作を可能にしうる。センサを較正するために、デバイスは、センサデータをボクセル空間に投影し、占有スコア及び各ボクセルの残差を含むボクセルスコアを決定しうる。デバイスは、センサの推定される位置及び/又は向き、少なくとも1つの知覚センサからの関連するセンサデータを調整してボクセルスコアを最小化しうる。デバイスは、最小化されたボクセルスコアに対応する調整を用いてセンサを較正しうる。また、デバイスは、異なる時間にキャプチャされた同じポイントに対応するデータを較正して、車両に関する位置におけるエラーを計算するように較正されうる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに通信可能に接続された1つ以上のコンピュータ可読記録媒体であって、前記1つ以上のプロセッサによって、
車両の複数のセンサによってキャプチャされるセンサデータを受信することと、
前記センサデータをボクセル空間に適用することと、
前記複数のセンサのうちの第1のセンサの第1の体勢と、前記複数のセンサのうちの第2のセンサの第2の体勢とを決定することと、
摂動のセットに少なくとも部分的に基づいて、前記第1のセンサ又は前記第2のセンサに適用する変換を識別することであって、前記摂動のセットにおける各摂動は、大きさと、第1のセンサ又は第2のセンサの少なくとも1つに対応する少なくとも1つの方向次元又は少なくとも1つの向き次元とを含む、ことと、
前記第1のセンサ又は前記第2のセンサに適用される各摂動に関連する前記ボクセル空間の残差値を計算することと、
前記ボクセル空間の最適化された残差値に少なくとも部分的に基づいて、前記第1のセンサ又は前記第2のセンサの最適化された体勢を決定することであって、前記最適化された残差値は、前記摂動のセットのうちの1つに関連する前記変換に対応する、ことと、を実行可能にする命令を格納している1つ以上のコンピュータ可読記録媒体と
を含む、システム。
【請求項2】
前記少なくとも1つの方向次元は、前記第1のセンサ又は前記第2のセンサに関連するピッチ、ロール、及びヨーに対応する、
請求項1に記載のシステム。
【請求項3】
前記少なくとも1つの方向次元は、X軸、Y軸、又はZ軸に関する、前記第1のセンサ又は前記第2のセンサの変換に対応する、
請求項1に記載のシステム。
【請求項4】
各摂動の前記大きさは、前記ボクセル空間における個々のボクセルのボクセルサイズに少なくとも部分的に基づく、
請求項1に記載のシステム。
【請求項5】
前記摂動のセットは、向きの組み合わせを含み、前記方向次元の変更を含まない、
請求項1に記載のシステム。
【請求項6】
前記摂動のセットに適用する少なくとも1つの大きさを決定することと、
前記摂動のセットに前記少なくとも1つの大きさを適用することと、
をさらに含み、
前記最適化された残差値は、前記摂動のセットへの前記少なくとも1つの大きさの適用から生じる最適値に少なくとも部分的に基づく、
請求項5に記載のシステム。
【請求項7】
前記命令は、前記1つ以上のプロセッサによって、
前記最適化された体勢に少なくとも部分的に基づいて、前記第1のセンサ又は前記第2のセンサの少なくとも1つを較正すること
をさらに実行可能にする、
請求項1に記載のシステム。
【請求項8】
前記命令は、前記1つ以上のプロセッサによって、
前記最適化された体勢に少なくとも部分的に基づいて、前記車両の位置に関連するドリフトエラーを決定すること
をさらに実行可能にする、
請求項1に記載のシステム。
【請求項9】
車両の、第1のセンサによってキャプチャされた第1のセンサデータと、第2のセンサによってキャプチャされた第2のセンサデータとを含むデータセットを受信するステップと、
前記データセットをボクセル空間に適用するステップと、
前記ボクセル空間の残差値を決定するステップと、
各センサの少なくとも1つの方向次元又は少なくとも1つの向き次元に関する、前記第1のセンサ又は前記第2のセンサの少なくとも1つに適用する変換を識別するステップであって、前記変換は、前記ボクセル空間についての最適化された残差値に関連する、ステップと、
を含む、方法。
【請求項10】
前記変換を識別する前記ステップは、前記少なくとも1つの向き次元とは無関係に前記少なくとも1つの方向次元を摂動するステップを含む、
請求項9に記載の方法。
【請求項11】
前記変換を識別するステップは、摂動のセットによって、前記第1のセンサ又は前記第2のセンサを摂動するステップを含む、
請求項9に記載の方法。
【請求項12】
前記データセットは、第1のデータセットであり、前記方法は、
前記車両が第1の時間に基準点にあるという第1の指示を受信するステップと、
前記第1の指示に少なくとも部分的に基づいて、前記基準点に近接する環境の第1の表現を含む前記第1のデータセットをキャプチャするステップと、
前記車両が第2の時間に前記基準点にあるという第2の指示を受信するステップと、
前記第2の指示に少なくとも部分的に基づいて、前記基準点に近接する前記環境の第2の表現を含む第2のデータセットをキャプチャするステップと、
をさらに含み、
前記変換を識別する前記ステップは、前記第2のデータセットに関連する次元を摂動するステップを含む、
請求項9に記載の方法。
【請求項13】
前記変換に少なくとも部分的に基づいて、前記第1のセンサ又は前記第2のセンサの少なくとも1つを較正するステップ、又は
前記変換に少なくとも部分的に基づいて、前記車両のドリフトエラーを決定するステップ
をさらに含む、
請求項9に記載の方法。
【請求項14】
前記ボクセル空間におけるボクセルのサイズを決定するステップであって、前記摂動のセットにおける各摂動は、前記ボクセルの前記サイズに少なくとも部分的に基づく、ステップをさらに含む、
請求項11に記載の方法。
【請求項15】
前記摂動のセットのうちの各摂動は、前記少なくとも1つの方向次元又は前記少なくとも1つの向き次元に関する大きさを含む、
請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本PCT国際特許出願は、その内容全体が参照により本明細書に組み込まれる、2017年8月11日に出願された「VEHICLE SENSOR CALIBRATION AND LOCALIZATION」と題する米国特許出願第15/674,853号明細書及び2017年8月11日に出願された「SENSOR PERTURBATION」と題する米国特許出願番号第15/675,487号明細書の継続出願であり、それらの優先権の利益を主張する。
【背景技術】
【0002】
多くの車両は、ナビゲーション、誘導、及び障害物回避などの様々な機能のためにセンサデータを利用する。様々な機能の各々は、車両の有効な動作のために必要であり得る。従って、車両コンピューティングシステムに正確な入力を与えるために、センサを較正することが重要である。現在の較正技法は、時間がかかり、計算コストが高いことがある。さらに、多くの現在の較正技法はオフラインプロセスに限定され、センサが較正及び/又はアライメント外れである場合、車両を休止する必要がある。
【発明の概要】
【0003】
詳細な説明について、添付の図を参照しながら説明する。図では、参照番号の最も左の桁は、参照番号が最初に登場する図を識別する。異なる図での同じ参照番号の使用は、同様の又は同じ構成要素又は特徴を示す。
【図面の簡単な説明】
【0004】
【
図1】センサ較正及び位置特定システムが使用され得る例示的な環境を示す図である。
【
図2】残差値を計算するためにセンサ較正及び位置特定システムによってボクセル空間中のボクセルに投影されるLIDARデータセットの例示的な図である。
【
図3】残差値を計算するためにセンサ較正及び位置特定システムによってボクセル空間中に投影されるLIDARデータセットの別の例示的な図である。
【
図4】LIDARセンサを較正すること及び/又は車両のポジションエラーを決定することを行うためにLIDARデータセットを摂動するための例示的なプロセスの絵付き流れ図を示す。
【
図5】位置特定システムが使用され得る例示的な環境の俯瞰図である。
【
図6】車両のポジションエラーを決定するために位置特定システムによって使用される第1の集約センサデータと第2の集約センサデータとの例示的な図である。
【
図7】車両のセンサを較正するための例示的なプロセスの流れ図である。
【
図8】車両のセンサを較正するための別の例示的なプロセスの流れ図である。
【
図9】LIDARセンサデータを使用してポジションエラーを決定するための例示的なプロセスの流れ図である。
【
図10】車両のポジションエラーを決定するための例示的なプロセスの流れ図である。
【
図11】LIDARデータセットの次元を調整するための例示的なプロセスの流れ図である。
【
図12】本明細書で説明する技法を実装するための例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0005】
本開示は、概して、車両の1つ又は複数のセンサを較正し、センサデータを使用して車両の位置を正確に特定するための方法、装置、及びシステムを対象とする。車両は、ナビゲーション、誘導、障害物回避などのための1つ又は複数のセンサで構成された自律、半自律、及び/又は有人車両を含み得る。1つ又は複数のセンサは、光検出及び測距(LIDAR)センサ、無線検出及び測距(RADAR)センサ、音検出及び測距(SONAR)センサ、画像キャプチャデバイス(例えば、RGBカメラ、強度カメラ、IRカメラ、ステレオカメラ、深度カメラなど)、又は他のセンサを含み得る。非限定的な例として、車両は、8つの光検出及び測距(LIDAR)センサで構成された自律車両であり得る。LIDARセンサの各々は、環境中の検出された面に対応するデータを戻し得る。データは、検出された面の少なくとも一部に対応する座標(例えば、直交、極など)を有するポイント(例えば、データポイントとして表され得る。車両に取り付けられるとき、LIDARセンサは、検出された面を明瞭に集約的に見るために互いに対する較正を必要とし得る。さらに、LIDARセンサは、車両に対して正しいポジション及び/又は向きで検出された面を集約的に見るために車両に対する一緒の較正を必要とし得る。
【0006】
本明細書で説明するセンサ較正は、自律車両によって走行されるルート又は経路に対応し得る関心領域に車両があるときに収集されるデータを用いて実行され得る。関心領域は、曲率半径、指定されたスピード、車両のポジションなどのいくつかの特性を備える中央位置を含むことができる。関心領域は、中央位置を中心とする時間ウィンドウをさらに含み得る。時間ウィンドウは、中央位置の前後に固定の秒数を含み得る。例えば、関心領域は、カーブの頂点の1秒前の及び頂点の1秒後の車両の動きに対応するエリアを含むことができる。車両が頂点の1秒以内にある間に収集されたデータがセンサ較正のために使用され得る。
【0007】
いくつかの例では、車両のコンピューティングデバイスは、関心領域を決定するように構成され得る。いくつかの例では、コンピューティングデバイスは、関心領域を決定するために1つ又は複数の動きセンサ(例えば、慣性測定ユニット(IMU)センサ、加速度計、ジャイロスコープ、回転(ホイール)エンコーダなど)からの入力を処理し得る。いくつかの例では、リモートコンピュータデバイスは、車両から受信した動きセンサデータに基づいて関心領域を決定するように構成され得る。そのような例では、リモートコンピュータデバイスは、将来のセンサ較正及び/又は較正検証のためにエリアを関心領域として指定し得る。例えば、リモートコンピュータデバイスは、第1の車両から動きセンサデータを受信し得るし、関心領域に対応するカーブ中の位置におけるヨーレートを識別し得る。ヨーレートの識別に基づいて、リモートコンピュータデバイスは、位置を関心領域の中央位置として指定し得る。リモートコンピュータデバイスは、中央位置のいずれかの側の固定間隔を関心領域としてさらに指定し得る。リモートコンピュータデバイスは、その後、関心領域中の第2の車両からLIDARデータを受信し得るし、関心領域中でキャプチャされたデータを使用して第2の車両のセンサを較正し得る。いくつかの例では、車両は、LIDARデータを使用してマップデータに対して位置特定を実行し得るし、ここにおいて、マップデータは、何らか位置が前に決定されていることがある関心領域に関連付けられることを示す情報を備える。
【0008】
本明細書で説明するセンサ較正は、車両がオンラインモードにある(例えば、動作中である及び/又はリモートサーバコンピューティングデバイスとの通信中である)及び/又はオフラインモードにある(例えば、動作中でない及び/又はリモートサーバコンピューティングデバイスとの通信中でない)間に実行され得る。較正コンピューティングデバイス(例えば、車両のコンピューティングデバイス及び/又はリモートコンピュータデバイス)は、1つ又は複数のセンサからセンサデータ(例えば、それぞれの座標におけるデータポイント)を受信し得る。較正コンピューティングデバイスは、関心領域中で収集されたデータについてセンサデータをフィルタ処理し得るし、1つ又は複数のセンサを較正するためにフィルタ処理されたデータを処理し得る。そのような較正は、以下で詳細に説明するように、ボクセル空間にセンサデータを投影し、アンクシャス(anxious)探索を実行することによって実行され得る。いくつかの例では、較正センサによってキャプチャされたデータが車両の制御を可能にするために使用され得る。
【0009】
ボクセル残差
いくつかの例では、様々なセンサデータは、ボクセル空間又はアレイに蓄積され得る。そのようなボクセル空間は、複数のボクセルを備える3次元表現であり得る。非限定的な例として、ボクセル空間は、長さ、幅、及び高さを有し、各々が同様の形状を有する複数ボクセルを備える矩形直方体であり得る。いくつかの例では、ボクセル空間は、ボクセル空間の起点が環境中のポジション及び/又は向きによって記述され得るような環境を表す。同様に、各ボクセルは、環境中のポジション及び向き又はボクセル空間の起点に対する座標のうちの1つ又は複数で記述され得る。そのような例では、各ボクセルは、環境の一部分を表し得る。
【0010】
いくつかの例では、各ボクセルは、限定はしないが、いくつかのデータポイント、データポイントの平均ポジション、データポイントの共分散などの多数のデータポイントを表す統計データに関連付けられ得る。従って、1つ又は複数のセンサから受信したデータは、1つ又は複数のボクセルをポピュレートするために使用され得る。データの蓄積は、本明細書で説明するように、ある時間期間にわたる単一のセンサからのデータ又は単一の時間における若しくはある時間期間にわたる多数のセンサからのデータに対応し得る。いくつかの例では、統計データは、センサデータに少なくとも部分的に基づいてボクセルに関連付けられ得る。非限定的な例として、LIDARデバイスからのLIDARセンサデータについて考える。センサデータは、強度、範囲、ポジション(例えばX、Y、Z)、及び/又は高度、方位角などを備え得る。そのようなデータポジションは、環境中のボクセル空間に対する環境中のセンサのポジション及び向き、並びにセンサに対するセンサデータのポジションに基づいてボクセル空間に投影され得る。そのような例では、センサ空間に投影されると、センサデータは、ボクセルアレイに投影されるときにセンサデータのポジションに対応する環境の一部分を包含する特定のボクセルに関連付けられ得る(例えば、<0m,-2m,10m>の環境中のポジションを有する50cmの辺を有する立方ボクセルは、<0.2m,-1.9m,10.4m>のポジションをもつLIDAR戻りデータを包含することになる)。データを組み合わせることは、センサデータに基づいていくつかのデータポイント、ポイントの平均ポジション、又は特定のボクセルの共分散を更新することのうちの1つ又は複数に対応し得る。そのような例では、そのような統計表現により、あらゆる取得されたセンサデータを記憶するのとは反対に、より速い処理、低減されたメモリ消費量などが可能になり得る。
【0011】
様々な計算は、特定のボクセルに関連するデータの少なくとも一部分に対して実行され得る。非限定的な例として、主成分分析又は共分散の固有値分解を使用することによって統計データだけに基づいて最適平面を計算することが可能である。そのような例では、最小の固有ベクトルは、平面の法線に対応し得るし、対応する固有値は、平面の有効な厚さに対応し得る。
【0012】
残差は、各ボクセルに割り当てられ得る。ポイントの数が閾値(例えば、2)を上回る場合、残差が計算され得る。いくつかの例では、閾値は、1つ又は複数の計算を実行する能力に基づいて決定され得る。そのような残差は、上記で説明する最小固有値であり得る。いくつかの例では、残差は、平面に対する平均ポジションの間の距離として計算され得る。そのような例では、平面は、上記と同様の方法に基づいて計算され得る。追加又は代替として、平面は、前の計算から及び/又は環境の与えられた3Dメッシュに少なくとも部分的に基づいて導出され得る。それらの例では、ポイントの数が閾値を下回る場合、そのボクセルの残差に最大値を割り当て、そのボクセルを「無効」と識別することによって、占有ペナルティがそのボクセルに課され得る。いくつかの例では、最大値は、ボクセルの長さ、幅、高さ、又は対角線のうちの1つ又は複数であり得る。
【0013】
追加又は代替として、少なくとも1つのデータポイントを有する各ボクセルは、最大占有スコアに関連付けられ得る。非限定的な例として、そのような占有スコアは、任意の他の値が企図されるが、最大残差値であり得る。ポイントの数が0であるボクセルは、0の占有スコアを有し得る。
【0014】
いくつかの例では、総残差又はボクセル空間全体の残差を計算することが可能である。いくつかの例では、そのような総残差は、全てのボクセルにわたるボクセルごとの残差とボクセルの占有スコアとの和として計算され得る。
【0015】
【0016】
アンクシャス探索
いくつかの例では、総残差は、本明細書で詳細に説明するように、アンクシャス探索を使用して最小化され得る。上記のように、センサデータは、データが生成されたセンサのポジション及び向き(又は体勢)に少なくとも部分的に基づいて(即ち、センサポジションからボクセル空間に投影することによって)ボクセルに関連付けられる。データソース(例えばセンサ)に変換(即ち、並進又は回転のうちの1つ又は複数)を適用し、新しいセンサ体勢に基づいてボクセル空間にデータを再投影することによって、新しい総残差が計算され得る。本明細書で詳細に説明するように、そのようなアンクシャス探索は、総残差を最小化するデータソースに適用すべき変換を決定する。
【0017】
そのような変換を発見するために、アンクシャス探索は、いくつかの大きさといくつかの探索方向とを備え得る。いくつかの例では、並進成分(即ち、並進がない探索方向を除く、並進成分ごとのa+1、0、-1)のための26個の探索方向があり得る。これら探索方向の列挙と対応する総残差(R)とを以下の表1に示す。追加又は代替として、回転成分(即ち、ピッチ、ロール、ヨー)のための26個の追加の探索方向が同様に決定され得る。追加又は代替として、(移動がない場所を除き)並進又は回転成分のいずれかでの+1、0、又は-1の移動の全ての可能な組合せに対応する3^6-1個の探索方向があり得る。いくつかの例では、大きさは、あらかじめ定義されたセット(例えば、{0.25m,0.5m,1m,2m,4m,8m})であり得る。他の例では、大きさは、単一の大きさのいくつかのスカラー倍数に対応し得る。
【0018】
【0019】
探索方向及び大きさのセットが決定されると、アンクシャス探索は、最適な変換を決定するために探索方向及び大きさの任意の1つ又は複数の組合せを通して反復し得る。そのような探索は、次のように進み得る。元の総残差が計算され得る。各探索方向は、次いで、大きさのセット中の各大きさによってスケーリングされ得る。変換は、スケーリングされた探索方向の各々に基づいて決定され得る。変換ごとに、センサは、元の体勢から変換され得るし、センサデータは、その後、新しいセンサの体勢に少なくとも部分的に基づいてボクセル空間に再投影され得る。再投影されたセンサデータに基づいて、新しい総残差が計算される。大きさごとに、最低の総残差が元の総残差の何らかの割合(例えば、80%)よりも小さい場合、変換及び総残差を最良の推定変換及び対応する残差として選択する。最低の総残差が元の総残差の何らかの割合より低くない例では、元の体勢は改変されない。そのようなプロセスは、セット中の全ての大きさに対して繰り返され得る。アンクシャス探索アルゴリズムについての一例を以下の表2に示す。
【0020】
【0021】
較正
本明細書で詳細に説明するように、アンクシャス探索は、総残差を最小化するために使用され得る。そのような最小化は、較正コンピューティングデバイスによって実行される実質的に同時の自律車両の1つ又は複数のセンサを較正する(即ち、センサのエクストリンシック(extrinsics)及び/又はイントリンシック(intrinsics)を決定する)ために使用され得る。そのような例では、最小化された残差値は、ボクセルの鮮明さ(例えば、明瞭さ)の測定に対応し得る。
【0022】
様々な例では、較正コンピューティングデバイスは、車両上の1つ又は複数のセンサの較正を検証するように構成され得る。較正検証は、車両がオンライン又はオフラインにある間に実行され得る。オンラインで実行される較正は、新しいセンサデータを連続的に組み込むことによって実行される較正を指すことがある。オフラインで実行される較正は、前に記録されたデータが較正中に使用される較正を指すことがある。
【0023】
いくつかの例では、較正は、粗い離散化から精細な離散化にボクセル空間を連続的に改良することによって実行され得る。例えば、所与のボクセル空間は、5×5×5のボクセル(各ボクセルが一辺が2mの立方体である)、10×10×10のボクセル(各ボクセルが一辺が1mの立方体である)、20×20×20のボクセル(各ボクセルが一辺が0.5mの立方体である)等々を有するものとして離散化され得る。いくつかの例では、より粗い離散化は、データを蓄積することに関して上記で詳細に説明したように、より精細な離散化からの統計データを組み合わせることによって生成され得る。
【0024】
いくつかの例では、ボクセル解像度は、その後、だんだん精細な解像度を有するように離散化され得る。そのような例では、総残差は、固有値分解計算を使用して解像度ごとに計算され得る。解像度ごとに、アンクシャス探索は、次いで、1つ又は複数のセンサのセンサごとに個々に、ポイントツープレーン(point-to-plane)計算方法を使用して総残差を計算して実行され得る。そのような方法では、1つ又は複数の残りのセンサに対応するデータがアンクシャス探索中に固定されたまま保持され得る。総残差の改善がアンクシャス探索を介して発見される場合、対応する変換が記憶され得る。
【0025】
いくつかの例では、センサの各々のための変換を個々に決定した後に、全てのセンサは、それらの対応する変換を使用して同時に変換され得る。その後、更新された総残差が固有値分解計算を使用して計算され得る。更新された総残差が前に計算された総残差よりも小さい場合、センサを変換したまま保ち、センサごとにアンクシャス探索を個々に繰り返す。
【0026】
更新された残差が前に計算された総残差(又はそれの何らかの部分)よりも小さくない場合、較正は、全てのセンサのアンクシャス探索を同時に実行することに進み得る。そのような探索では、各センサは、同じ変換(即ち、ブロック変換)によって変換され得る。いくつかの例では、アンクシャス探索は、1つ又は複数のセンサのポジション及び向きを記述するために使用される基準起点を変換し得る。非限定的な例として、そのような基準起点は、1つ又は複数のセンサが取り付けられる自律車両の中心点であり得る。いくつかの例では、アンクシャス探索の得られたブロック変換が記憶され得る。総残差は、ブロック変換の変換を使用して更新されたスコアとして計算され得る。更新されたスコアが更新された残差よりも小さくない場合、ボクセル解像度が増加され得るし、上記で参照したプロセスが繰り返され得る。
【0027】
較正のための例示的なアルゴリズムが以下の表3に示される。
【0028】
【0029】
ポジション測定エラー
いくつかの例では、較正コンピューティングデバイスは、車両上のセンサの集約グループからのセンサ体勢(集約センサデータ)を摂動し得る。そのような例では、較正コンピューティングデバイスは、ポジションエラーがあるのかどうかを決定し得る。上記で詳細に説明した較正手順の場合のように、アンクシャス探索は、2つ以上のデータセット間のポジション測定エラーを決定するために使用され得る。較正の場合と同様に、そのようなプロセスは、粗い離散化から精細な離散化への多数のボクセル解像度にわたってループすることを備え得る。離散化(又は解像度)ごとに、アンクシャス探索が、固有値分解計算を使用して総残差を最小化する1つ又は複数のセンサのブロック変換を決定するために実行され得る。元の体勢からの得られたブロック変換は、ポジション測定のエラーに対応し得る。非限定的な例として、ポジション又は向きのうちの1つ又は複数は、限定はしないが、LIDAR、カメラ、GPS、IMU、ホイールエンコーダなどのような1つ又は複数のセンサを利用する、例えば、(カルマンフィルタなどの)ベイジアンフィルタ、バンドル調整、スラムなどのアルゴリズムを使用して連続的に推定され得る。ポジション測定エラープロセスは、(あらかじめ定義されたマップ、データストアなどから決定され得る)推定された体勢に基づいて予想されるデータと1つ又は複数のセンサから戻されたセンサデータを比較するために使用され得る。そのような測定エラーは、将来の推定を補正すること及び/又は1つ若しくは複数のセンサの現在のポジション及び/又は向きを改良することを行うために使用され得る。例示的な測定ポジションエラーアルゴリズムが以下の表4に示される。
【0030】
【0031】
関心領域
いくつかの例では、較正コンピューティングデバイスは、車両が関心領域を通過したと決定し得るし、関心領域中でキャプチャされたデータを収集し得る。較正コンピューティングデバイスは、ボクセルスコア(即ち、総残差)を決定し得る。較正コンピューティングデバイスは、指定されたボクセル空間のボクセルスコアを関心領域の予想されるボクセルスコアと比較し得る。実際のボクセルスコアが関心領域に関連するボクセルスコアに実質的に一致する場合、較正コンピューティングデバイスは、1つ又は複数のセンサの較正を検証し得る。実際のボクセルスコアが関心領域に関連するボクセルスコアより高い場合、較正コンピューティングデバイスは、センサのうちの1つ又は複数が較正外れであると決定し得る。例えば、較正コンピューティングデバイスは、関心領域に関連するボクセルスコアが0.3であると決定し得る。較正コンピューティングデバイスは、車両が関心領域を通過するときにデータをキャプチャし得るし、0.8の実際のボクセルスコアを計算し得る。較正コンピューティングデバイスは、予想されるボクセルスコアと実際のボクセルスコアとの間の差に基づいて、特定のセンサが較正外れであると決定し得る。
【0032】
いくつかの例では、センサが較正外れであるという決定に応答して、較正コンピューティングデバイスは、較正されていないセンサをオフラインにし得る(例えば、センサをオフにする、センサから受信したデータを無視するなどがあり得る)。さらに、較正コンピューティングデバイスは、アンクシャス探索技法を使用してセンサを再較正し得る。
【0033】
様々な例では、較正コンピューティングデバイスは、車両のポジション及び/又は向きのドリフトを正確に補正するためにセンサデータを使用するように構成され得る。そのような例では、補正は、車両の基準ポジション及び/又は向きに基づき得る。様々な例では、較正コンピューティングデバイスは、基準ポジションにおいて第1の集約センサデータを受信し得るし、ボクセル空間に第1の集約センサデータを投影し得る。較正コンピューティングデバイスは、車両が基準ポジションに戻ったという指示を1つ若しくは複数の動きセンサ及び/又は1つ若しくは複数の位置センサ(例えば、全地球測位システム(GPS)センサ、慣性航法システム(INS)センサなど、及び/又は入力として1つ若しくは複数のLIDAR、RADARなどをとる、限定はしないが、カルマンフィルタ、バンドル調整、スラムなどの様々なアルゴリズムの出力)から受信し得る。較正コンピューティングデバイスは、基準ポジションにおいて第2の集約センサデータを受信し得るし、第1の集約センサデータとともにボクセル空間に第2の集約センサデータを投影し得る。
【0034】
較正コンピューティングデバイスは、ボクセル占有のコスト関数を最小化し、ボクセル分散統計値をアグリゲートする。較正コンピューティングデバイスは、次いで、アンクシャス探索技法を使用して最適化する(例えば、画像をシャープ化する)ために第1の集約センサに対して第2の集約センサデータを摂動し得る。較正コンピューティングデバイスは、第1の集約センサデータがキャプチャされたか第1のパスから第2の集約センサデータがキャプチャされた第2のパスまでのポジションのエラー(例えば、デルタ変換)を推定し得る。較正コンピューティングデバイスは、車両を正確に位置特定するために測位データ(例えば、動きセンサ及び/又はナビゲーションセンサからのデータ)にデルタ変換を適用し得る。
【0035】
本明細書で説明する方法、装置、及びシステムは、いくつかの方法で実装され得る。例示的な実装は、以下の図を参照しながら以下に与える。コンテキストLIDARデータで及び/又は自律車両のコンテキストで説明するが、本明細書で説明する方法、装置、及びシステムはマシンビジョンを利用する様々なシステムに適用され得る。さらに、LIDARデータに関して主に説明するが、本明細書で説明する方法、装置、及びシステムはLIDARデータに限定されない。例えば、方法、装置、及びシステムは、製造アセンブリラインのコンテキストで、又は空中写真測量のコンテキストで利用され得る。さらに、データセットは、立体カメラ、深度カメラ、RADARセンサ、音響センサなどからのデータを含み得る。
【0036】
図1は、センサ較正及び位置特定システムが使用され得る例示的な環境100を示す。車両102は、経路104に沿って運転することなどによって環境100で動作し得る。車両102は、完全自律車両、半自律車両、又は有人車両を含み得る。いくつかの例では、車両は、ドライバ(又は乗員)が任意の時間に車両を制御することが予想されない状態でトリップ全体の間に全てのセーフティクリティカル機能を実行することが可能な動作制御システムを備えた車両について記述した、U.S.National Highway Traffic Safety Administrationによって発行されたレベル5分類に従って動作するように構成された自律車両であり得る。そのような例では、車両102は、全ての駐車機能を含め発車から停車まで全ての機能を制御するように構成され得るので、乗車されないことがある。
【0037】
図1に示すように、車両102は、双方向車両であり得る。そのような例では、自律双方向車両は、従来の車両において順方向又は逆方向のいずれかであろうように動作するときに実質的に対称的に動作し得る及び/又は見え得る。
図1に示した例示的な車両102は、車体(例えば、車体、フレーム、若しくはそれらの組合せ)、4つのホイール、及びホイールの各々のためのそれぞれのタイヤを有する自動車である。例えば、バン、スポーツユーティリティー車両、クロスオーバ車両、トラック、バス、農業用車両、建築用車両、航空機など他のタイプ及び構成の車両が企図される。車両102は、1つ又は複数の内燃機関、1つ又は複数の電気モータ、水素燃料、それらの任意の組合せ、及び/又は任意の他の好適な動力源によって動力を与えられ得る。
【0038】
様々な例では、車両102は、様々なタスク又は機能(例えば、ナビゲーション、誘導、障害物回避など)を実行するように車両102を動作させるために1つ又は複数のセンサからのデータを処理するように構成されたコンピューティングシステム106を含み得る。センサは、画像キャプチャデバイス(例えば、RGBカメラ、強度カメラ、IRカメラ、ステレオカメラ、深度カメラなど)、動きセンサ(例えば、回転(ホイール)エンコーダ、慣性測定ユニット(IMU)センサなど)、光検出及び測距(LIDAR)センサ、無線検出及び測距(RADAR)センサ、音ナビゲーション及び測距(SONAR)センサ、全地球測位システム(GPS)センサ、慣性航法システム(INS)センサ、マイクロフォン、加速度計、ジャイロスコープ、磁力計、環境センサ(例えば、周囲温度ゲージ、路面温度ゲージ、湿度センサ、及び、気圧センサなど)、及び/又は車両102を動作及び/又は制御するための他のタイプのセンサを含み得る。
【0039】
様々な例では、車両102が動作するのを支援するために、コンピューティングシステム106は、較正/位置特定サーバ108などの1つ又は複数のリモートコンピュータデバイスに通信可能に結合され得る。そのような例では、コンピューティングシステム106は、ネットワーク110を介して較正/位置特定サーバ108との間でデータを送受信するように構成され得る。ネットワーク110は、インターネットなどの公衆ネットワーク、組織及び/又は個人のイントラネットなどのプライベートネットワーク、又はプライベートネットワークと公衆ネットワークとの何らかの組合せを含むことができる。ネットワーク110はまた、限定はしないが、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、近距離通信(NFC)、衛星ネットワーク、ケーブルネットワーク、Wi-Fiネットワーク、WiMaxネットワーク、モバイル通信ネットワーク(例えば、3G、4Gなど)、又はそれらの任意の組合せを含む任意のタイプのワイヤード及び/又はワイヤレスネットワークを含むことができる。ネットワーク110は、インターネットプロトコル(IP)、ハイパーテキスト転送プロトコル(HTTP)、ハイパーテキスト転送プロトコルセキュア(HTTPS)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、又は他のタイプのプロトコルなどのパケットベース及び/又はデータグラムベースのプロトコルを含む通信プロトコルを利用することができる。さらに、ネットワーク110はまた、スイッチ、ルータ、ゲートウェイ、アクセスポイント、ファイアウォール、基地局、リピータ、バックボーンデバイスなど、ネットワーク通信を容易にし、及び/又はネットワークのためのハードウェアの基礎を形成するいくつかのデバイスを含むことができる。
【0040】
いくつかの例では、ネットワーク110は、ワイヤレスアクセスポイント(WAP)など、ワイヤレスネットワークへの接続を可能にするデバイスをさらに含むことができる。米国電気電子技術者協会(IEEE)802.11規格(例えば、802.11g、802.11nなど)及び他の規格をサポートするWAPを含むWAPを通した接続性をサポートする例は、様々な電磁周波数(例えば、無線周波数)を介してデータを送受信する。
【0041】
様々な例では、較正/位置特定サーバ108は、サーバデバイス112(1)~112(N)を含むことができる。実施形態は、リソースを共有すること、負荷を分散すること、パフォーマンスを増加すること、フェールオーバサポート又は冗長性を与えることを行うか、又は他の目的のためにクラスタ又は他のグループ化された構成で動作する1つ又は複数のコンピューティングデバイスをサーバデバイス112が含み得るシナリオをサポートする。サーバデバイス112は、従来のサーバタイプのデバイス、デスクトップコンピュータタイプのデバイス、モバイルデバイス、専用タイプのデバイス、及び/又は埋込みタイプのデバイスなどの様々なカテゴリ又はクラスのデバイスに属し得る。従って、デスクトップ及びラップトップコンピュータとして示されているが、サーバデバイス112は、様々な種類のデバイスタイプを含むことができ、特定のタイプのデバイスに限定されない。サーバデバイス112は、限定はしないが、デスクトップコンピュータ、ウェブサーバ、マップリデュースサーバ、若しくは他の計算エンジン若しくはネットワーク接続のストレージユニットなどのサーバコンピュータ又はブレードサーバ、パーソナルコンピュータ、モバイルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、又は何らかの他のコンピューティングデバイスを表し得る。さらに、
図1では単一の位置に示されているが、サーバデバイスは、単一の位置に常駐する必要はない。
【0042】
様々な例では、コンピューティングデバイス106は、車両がオンラインモードにあるときなどに車両102上の1つ又は複数のLIDARセンサ114を較正し、及び/又はそれの較正を検証するように構成され得る。そのような例では、コンピューティングデバイス106は、1つ又は複数のLIDARセンサ114のリアルタイム較正を決定するように構成され得る。いくつかの例では、較正/位置特定サーバ108は、車両102上のLIDARセンサ114を較正するように構成され得る。そのような例では、較正/位置特定サーバ108は、コンピューティングデバイス106からセンサデータを受信し得るし、1つ又は複数のLIDARセンサ114の較正を決定し得る。コンピューティングデバイス106と較正/位置特定サーバ108とがLIDARセンサを較正するように構成され得るので、両方を以下では較正コンピューティングデバイスと呼び得る。さらに、別個の構成要素として示されているが、較正/位置特定サーバ108とコンピューティングデバイス106とは単一のデバイスであり得る。
【0043】
様々な例では、較正コンピューティングデバイス106及び108は、車両102の1つ又は複数のセンサ(例えば、LIDAR、RADARなどの深度センサ、カメラなどの画像センサ、慣性測定ユニット(IMU)センサ、加速度計、ジャイロスコープ、回転(ホイール)エンコーダなどの動きセンサ、全地球測位システム(GPS)センサ、INSセンサなどのナビゲーションセンサ)からデータを受信するように構成された軌道モジュール116を含み得る。軌道モジュール116は、センサからのデータを使用して車両102の軌道データを決定し得る。軌道データは、それのスピード、方向、ピッチ、ロール、ヨー、及び/又はレートを含み得る。
【0044】
様々な例では、軌道モジュール116は、軌道データに少なくとも部分的に基づいて関心領域118の中央位置を識別し得る。いくつかの例では、中央位置は、所与の時間(t)における車両102のヨーレートに基づいて決定され得る。いくつかの例では、中央位置は、経路104の曲率半径(r)に基づいて決定され得る。いくつかの例では、中央位置は、所与の時間(t)における車両102のポジション及び/又はスピードに基づいて決定され得る。
【0045】
様々な例では、軌道モジュール116は、中央位置を中心とする時間ウィンドウを生成することによって関心領域118を決定し得る。そのような例では、時間ウィンドウは、中央位置の前の数秒(t-x)と中央位置の後の数秒(t+x)とを含み得る。様々な例では、秒数(x)は、固定の秒数であり得る。いくつかの例では、秒数(x)は、車両102のスピードなどの軌道データに基づき得る。
【0046】
様々な例では、較正コンピューティングデバイス106及び108は、1つ又は複数のLIDARセンサ114を較正するように構成された較正モジュール120を含み得る。いくつかの例では、較正モジュール120は、軌道モジュール116から関心領域118のデータを受信し得る。そのような例では、関心領域118のデータは、関心領域118に関連する中央位置と時間ウィンドウと(即ち、(t-x)→(t+x))を含み得る。較正モジュール120は、較正のためのLIDARデータセットを決定するために時間ウィンドウ中にLIDARセンサ114によってキャプチャされたLIDARデータをフィルタ処理するように構成され得る。追加又は代替として、そのような較正モジュール120は、本明細書で詳細に説明するように、(限定はしないが、アンクシャス探索などの)探索、較正、又は測定ポジションエラー決定のうちの任意の1つ又は複数を実行し得る。
【0047】
いくつかの例では、ボクセルのより高い残差値は、アライメント外れであるか、又は他のLIDARセンサに関して較正されていないLIDARデータに対応し得る。例えば、ボクセル中の選択されたセンサのためのLIDARデータとボクセル中の他のLIDARセンサに関連するデータによって決定される平面との間の距離が高い場合、それに関連する残差スコアは高くなり得るし、選択されたセンサに関連するデータがアライメント外れであることを示す。
【0048】
様々な例では、単一のLIDARセンサ114が較正され得る。そのような例では、他のセンサからのセンサデータを一定にしながら、上記で説明した摂動が単一のLIDARセンサ114からのセンサデータに対して実行され得る。いくつかの例では、摂動は、集約センサデータ(例えば、メタスピン)に対して実行され得る。いくつかの例では、LIDARセンサ114の各々からのセンサデータが同時に摂動され得る。そのような例では、摂動は、1つ又は複数のグラフ処理ユニット上で並行して実行され得る。
【0049】
較正モジュール120は、各ボクセルの残差値、従って、総残差が最適化されるまで、センサデータを摂動し続け得る。最適化は、総残差の最小化又は最大化を含み得る。非限定的な例として、そのような最適化は、例えば、アンクシャス探索を使用して達成され得る。様々な例では、較正モジュール120は、1つ又は複数の摂動が残差値を増加させるという決定に基づいて残差値が最適化されると決定し得る。いくつかの例では、較正モジュール120は、1つ又は複数の摂動が残差値を実質的に変化させない(即ち、増減させない)という決定に基づいて残差値が最適化されると決定し得る。いくつかの例では、実質的な低減は、閾値低減値よりも大きい低減を含み得る。
【0050】
様々な例では、較正モジュール120は、1つ又は複数のセンサの較正を検証するように構成され得る。いくつかの例では、検証は、毎時、毎日、1週間に1回など周期的に実行され得る。いくつかの例では、検証は、1つ又は複数のLIDARセンサ114がアライメント外れであり得るという指示に基づいて実行され得る。例えば、較正モジュール120は、車両102に入った搭乗者がLIDARセンサ114をブラッシュアップし、LIDARセンサ114の物理的ポジションを調整していることがあるという指示を受信し得る。指示に応答して、較正モジュール120は、較正を検証し、及び/又はセンサを再較正し得る。
【0051】
いくつかの例では、較正モジュール120は、検証及び/又は再較正中に影響を受けたLIDARセンサ114をオフラインにし得る。そのような例では、影響を受けたLIDARセンサ114によってキャプチャされたセンサデータは、車両102の動作制御システムによって処理されないことがある。言い換えれば、影響を受けたLIDARセンサ114がアライメント外れである場合、そこから受信したデータは、車両102の動作に悪影響を及ぼさないことがある。いくつかの例では、較正モジュール120は、検証及び/又は再較正中に影響を受けたLIDARセンサ114をオンラインのままにし得る。
【0052】
LIDARセンサ114の較正を検証するために、較正モジュール120は、関心領域118に関連するデータを識別し得る。いくつかの例では、較正モジュール120は、ボクセル空間中の占有された各ボクセルに対応する残差値を計算するために関心領域118に関連するデータを使用し得る。いくつかの例では、較正モジュール120は、現在の残差値をボクセル空間中の各ボクセルの初期較正残差値と比較し得る。いくつかの例では、較正モジュール120は、ボクセル空間中の占有されたボクセルの残差スコアを加算することによって現在のボクセル空間の残差値を計算し得る。そのような例では、較正モジュール120は、現在のボクセル空間の残差値を初期較正に対応するボクセル空間の残差値と比較し得る。いくつかの例では、較正モジュール120は、各値の現在のボクセルスコア及び/又はボクセル空間のボクセルスコアを初期較正に対応するそれぞれのボクセルスコアと比較し得る。
【0053】
様々な例では、較正モジュール120は、関心領域に関連する残差値及び/又はボクセルスコアを備えるデータストアにアクセスし得る。そのような例では、較正モジュール120は、特定の関心領域中で収集されたデータの現在の残差値及び/又はボクセルスコアを特定の関心領域に対応する記憶された残差値及び/又はボクセルスコアと比較し得る。
【0054】
いくつかの例では、較正モジュール120は、現在の残差値及び/又はボクセルスコアが初期較正に対応する残差値及び/又はボクセルスコアよりも大きい閾値であることに基づいてLIDARセンサ114が較正外れであると決定し得る。LIDARセンサ114が較正外れであるという決定に応答して、較正モジュール120は、上記で説明した技法を使用してLIDARセンサ114を再較正し得る。例えば、較正モジュール120は、第1の関心領域に関連するボクセル空間の現在のボクセルスコアが0.41であり、第1の関心領域に関連するボクセル空間の記憶されたボクセルスコアが0.4であると決定し得る。較正モジュール120は、0.41の現在のボクセルスコアが0.4の記憶されたボクセルスコアを上回る閾値量よりも小さいと決定し得るし、LIDARセンサ114の較正を検証し得る。別の例では、較正モジュール120は、第2の関心領域に関連するボクセル空間の現在のボクセルスコアが0.7であり、第2の関心領域に関連するボクセル空間の記憶されたボクセルスコアが0.5であると決定し得る。較正モジュール120は、0.7の現在のボクセルスコアが0.5の記憶されたボクセルスコアを上回る閾値量よりも大きいと決定し得る。現在のボクセルスコアが記憶されたボクセルスコアを上回る閾値量よりも大きいことに基づいて、較正モジュール120は、LIDARセンサ114が較正外れであると決定し得る。
【0055】
様々な例では、較正コンピューティングデバイスは、車両102に関連するポジションエラー(例えば、ドリフトエラー)を決定するように構成された位置特定モジュール122を含み得る。上記で説明したように、車両102は、1つ又は複数のセンサを使用してポジション及び/又は位置を決定し得る。較正コンピューティングデバイスは、軌道モジュール116を介するなどして、1つ又は複数のセンサから入力を受信し得るし、車両102のポジション及び/又は向き(例えば、測位データ)を決定し得る。いくつかの例では、軌道モジュール116は、1つ又は複数のセンサから入力を受信するように構成され得る、車両102の軌道中のエラーを決定し得る。動作の時間がたつにつれて、エラーは蓄積し、測位及び/又は軌道データ中にエラーを生じる。
図5及び
図6に関して以下でより詳細に説明するように、車両のポジションエラー及び/又は軌道エラーを補正するために、位置特定モジュール122は、基準点においてキャプチャされたLIDARデータを処理する。いくつかの例では、基準点は、車両102のルート上であらかじめ定義された基準点を含み得る。いくつかの例では、基準点は、車両102がルートを走行する間に2回パスされることになる車両102のルートに沿った任意のポイントを含み得る。
【0056】
いくつかの例では、位置特定モジュール122は、車両102が基準点に位置するという指示に応答して集約センサデータをLIDARセンサ114にキャプチャさせ得る。いくつかの例では、位置特定モジュール122は、基準点の少なくとも2回のパスについて基準点においてキャプチャされたデータを処理するために集約センサデータをフィルタ処理し得る。例えば、位置特定モジュール122は、車両102がそれの第1のパスにおける基準点にあるという指示を受信し得る。位置特定モジュール122は、基準点の第1のパスに対応する第1の集約センサデータを受信し得るし、ボクセル空間に第1の集約センサデータを投影し得る。位置特定モジュール122は、次いで、車両102がそれの第2のパスにおける基準点にあるという指示を受信し得る。位置特定モジュール122は、基準点の第2のパスに対応する第2の集約センサデータを受信し得るし、ボクセル空間に第2の集約センサデータを投影し得る。
【0057】
様々な例では、位置特定モジュール122は、ボクセル空間の総残差を計算し得る。様々な例では、位置特定モジュール122は、各ボクセルに対応するボクセルスコアを最適化し得る。そのような最適化は、アンクシャス探索、較正、又は測定ポジションエラーのうちの任意の1つ又は複数に従って実行され得る。様々な例では、位置特定モジュール122は、その後にキャプチャされたデータセット(例えば、第2の集約データ)に対してアンクシャス探索技法を使用することによって残差値を最適化し得る。そのような例では、位置特定モジュール122は、第1の集約データ定数の次元を保ちながらその後にキャプチャされたデータセットの1つ又は複数のセンサ体勢を調整し得る。調整に基づいて、位置特定モジュール122は、第1の集約センサデータがキャプチャされた第1のパスから第2の集約センサデータがキャプチャされた第2のパスにポジション及び/又は向き(例えば、デルタ変換)中のエラーを推定し得る。位置特定モジュール122は、車両を正確に位置特定するために測位データ(例えば、1つ又は複数のセンサからのデータ)にデルタ変換を適用し得る。
【0058】
図2は、較正を実行するときに残差値208を計算するためにセンサ較正及び位置特定システムによってボクセル空間206中のボクセル204に投影されるデータセット202の例示的な図である。様々な例では、較正及び位置特定システムの較正コンピューティングデバイスは、車両212上の1つ又は複数のLIDARセンサ210からセンサデータを受信し得る。較正コンピューティングデバイスは、データセット202として表されるボクセル空間206にセンサデータを投影し得る。データセット202は、単に説明のために多数のポイントとして表されることに留意されたい。データセット202中のそのようなポイントは、上記で詳細に説明したように、1つ又は複数のデータポイントの統計的な蓄積を表す。
【0059】
様々な例では、較正コンピューティングデバイスは、探索(例えば、アンクシャス探索)を実行し、較正を実行し、及び/又は測定ポジションエラーを決定し得る。いくつかの例では、較正コンピューティングデバイスは、上記で詳細に説明したように、各ボクセルのための最適平面214を決定し得る。そのような例では、最適平面214は、LIDARセンサ210によって検出されたオブジェクト216の一部分を表し得る。
【0060】
図3は、アンクシャス探索、較正、又は測定ポジションエラーの決定のいずれかで使用され得るセンサ較正及び位置特定によってボクセル空間304に投影されるデータセット302の別の例示的な
図300である。データセット302は、(センサ308(1)、(308(x)として示される)1つ又は複数のセンサ308によってキャプチャされたデータポイント306を含み得る。多数のポイントとして
図3に示されているが、データポイント306は説明のために示されているにすぎない。上記で詳細に説明したように、データポイント306の統計的な蓄積のみが各ボクセル312中に記憶される。様々な例では、センサ308(1)は、車両102などの車両のLIDARセンサを含み得る。いくつかの例では、センサ308(1)は、車両の複数のLIDARセンサ308(x)のうちの1つを備え得る。例えば、センサ308(1)は、車両上の8つ(x=8)のLIDARセンサ308のうちの1つを備え得る。
【0061】
様々な例では、較正コンピューティングデバイスは、(例えば、固有値分解を使用して、又は前に生成されたマップからのメッシュを参照して)上記で詳細に説明したように、各ボクセル312中の平面310を決定するように構成され得る。そのような例では、平面310は、センサ308(1)以外のセンサ308によって検出されたオブジェクトを表し得る。例えば、上記からの8つのLIDARセンサ308の例を使用して、平面310は、8つのLIDARセンサ308のうちの最高7つからのデータを表し得る。例示的な例では、平面310は、ボクセル空間304の幅にわたる。他の例では、平面310は、オブジェクトのサイズに応じてより少数のボクセルを占有し得る。
【0062】
様々な例では、較正コンピューティングデバイスは、平面310までの各データポイント306の距離に基づいて各ボクセル312の残差値を計算し得る。そのような残差は、例えば、本明細書で定義するようにアンクシャス探索、較正、又は測定ポジションエラーの決定のうちの任意の1つ又は複数において使用され得る。
【0063】
図4に、LIDARセンサを較正すること及び/又は車両を位置特定するためにLIDARデータセットを摂動するための例示的なプロセス400の絵付き流れ図を示す。較正コンピューティングデバイスは、1つ又は複数のセンサからセンサデータを受信し得る。いくつかの例では、各センサからのセンサデータを、本明細書ではデータセットと呼ぶことがある。
【0064】
402において、較正コンピューティングデバイスは、ボクセル空間404にセンサデータを投影し、残差値を計算し得る。いくつかの例では、残差値は、ボクセル空間404中の各ボクセルの残差値であり得る。いくつかの例では、残差値は、総残差値(例えば、ボクセル空間全体の残差値)を含み得る。例406は、ボクセル空間に投影される第1のデータセット408と第2のデータセット410とを示す。説明のために、第1のデータセット408と第2のデータセット410との中でキャプチャされたオブジェクトがボクセルに投影される。ただし、他の例では、オブジェクトは、ボクセル空間404の2つ以上のボクセルに投影され得る。例406では、第1のデータセット408と第2のデータセット410とがずれており、1つ又は複数の較正されていないセンサの集約ビューを表す。
【0065】
いくつかの例では、較正コンピューティングデバイスは、複数のセンサのうちの単一のセンサを較正し得る。そのような例では、第1のデータセット408は、単一のセンサによってキャプチャされたデータを表し得るし、第2のデータセット410は、1つ又は複数の他のセンサによってキャプチャされたデータを表し得る。いくつかの例では、較正コンピューティングデバイスは、多数のセンサを同時に較正し得る。そのような例では、第1のデータセット408は、第1のセンサからのデータを表し得るし、第2のデータセット410は、第2のセンサからのデータを表し得る。
【0066】
412において、較正コンピューティングデバイスは、残差値を最適化し得る。いくつかの例では、残差値の最適化は、センサ(例えば、データソース)に変換を適用することと、変換に基づいて残差値を再計算することとを含み得る。いくつかの例では、最適化は、変換から生じる最小化された(即ち、最小の)残差値を含み得る。いくつかの例では、最適化は、変換から生じた最大化された(即ち、最大の)残差値を含み得る。
【0067】
様々な例では、各変換がセンサに適用された状態で、較正コンピューティングデバイスは、ボクセル空間404へのデータを再投影することによって残差値を再計算し得るし、変換から生じた新しい体勢に基づいて、新しい残差値を計算し得る。例414に、改善された残差スコア(即ち、適用された数式に応じて、より小さい残差スコア又はより大きい残差スコア)を生じるセンサデータの摂動、従って、例406と比較してより鮮明な画像を示す。様々な例では、較正コンピューティングデバイスは、第2のデータセット410に関連するデータソースを一定のままにしながら第1のデータセット408に関連するデータソースに変換を適用し得る。いくつかの例では、較正コンピューティングデバイスは、第1のデータセット408と第2のデータセット410とに関連するデータソースに同時に変換を適用し得る。そのような例では、変換は、グラフィック処理ユニットなどによって並行して実行され得る。
【0068】
いくつかの例では、較正コンピューティングデバイスは、第1のデータセット408及び/又は第2のデータセット410に対してアンクシャス探索を実行することによって残差値を最適化し得る。そのような例では、上記で説明したように、アンクシャ探索は、いくつかの大きさといくつかの探索方向とを備え得る。探索方向及び大きさのセットが決定されると、アンクシャス探索は、最適な変換を決定するために探索方向及び大きさの任意の1つ又は複数の組合せを通して反復し、それによって、残差値を最適化し得る。
【0069】
いくつかの例では、最適化は、任意のさらなる変換がより高いボクセル値を生じるまでデータソースに異なる大きさ及び/又は探索方向の変換を適用することを含み得る。いくつかの例では、最適化は、変換がボクセル値の最小変化を生じるまでデータソースに異なる大きさ及び/又は探索方向の変換を適用することを含み得る。いくつかの例では、最小変化は、残差値中にあらかじめ定義された閾値差分を含み得る。例418に示す鮮明な画像は、ボクセル空間404の最適化されたボクセル値を表す。
【0070】
420において、較正コンピューティングデバイスは、ボクセル空間404中の各ボクセルのボクセルサイズを低減し得る。さらに、較正コンピューティングデバイスは、ボクセル空間404をポピュレートするボクセルの数を増加し得る。他の例では、較正コンピューティングデバイスは、ボクセルサイズを1/2に低減し得る。いくつかの例では、較正コンピューティングデバイスは、ボクセルサイズをより多い量だけ又はより少ない量だけ低減し得る。例422に、ボクセルサイズを1/2に低減した状態でのボクセルサイズの低減の第1の反復を示す。
【0071】
様々な例では、ボクセルサイズを低減する第1の反復の後に、較正コンピューティングデバイスは、動作402、412、416、及び420を繰り返し、ボクセル空間404中の各ボクセルの残差値を再計算し、1つ又は複数のセンサに変換を適用し、残差値を再計算し、残差値を最適化し、ボクセルサイズを低減し得る。いくつかの例では、較正コンピューティングデバイスは、ボクセルサイズが所定のサイズに低減されるまで反復を続け得る。いくつかの例では、較正コンピューティングデバイスは、固定数の反復を実行し得る。少なくとも1つの例では、最初のボクセルサイズは、8mの立方体を含み得るし、較正コンピューティングデバイスは、ボクセルサイズが0.25mの立方体になるまで6回の反復を実行し得る。
【0072】
図5は、位置特定システムが使用され得る例示的な環境500の俯瞰図である。様々な例では、車両502は、経路504を走ることができる。例示的な例では、経路504は、数字の8の形状にある。他の例では、経路504は、円、楕円形、又は車両502が二回以上同じ位置をパスすることを生じ得る任意の他の形状などの別の形状を含み得る。図示のように、経路504は、グリッド506を横切り得る。様々な例では、グリッド506は、本明細書で説明するボクセル空間などのボクセル空間の2次元表現を含み得る。いくつかの例では、グリッド506は、路面の表現を含み得る。
【0073】
車両の動作制御システムは、経路504に沿って車両502をナビゲートし得る(例えば、軌道及びスピードを決定し得る)。いくつかの例では、ポジションエラーを決定するように構成された較正コンピューティングデバイスは、動作制御システムの部分を備え得る。他の例では、較正コンピューティングデバイスは、動作制御システムとは別個のものであり得るし、動作制御システムを増強するように構成され得る。
【0074】
様々な例では、較正コンピューティングデバイスは、所与の時間に経路504に沿った車両502の位置508を決定するために1つ又は複数のセンサからの入力を受信し得る。較正コンピューティングデバイスは、知覚された軌道への入力を処理し得る。いくつかの例では、知覚された軌道は、滑らかな(例えば、速度積算された)軌道であり得る。
【0075】
図5に示すように、1つ又は複数のセンサからの入力は、固定間隔510で受信され得る。固定間隔510は、知覚された軌道中に「分裂」又は他の知覚された経路の逸脱を防げるために決定された入力間隔を含み得る。いくつかの例では、入力は、データを処理するのに必要とされる計算能力、信号を受信するのに必要な時間などに基づいて制限され得る。例えば、較正コンピューティングデバイスは、200Hzの固定間隔510でセンサからの入力を受信し得る。入力に対する200Hzの制約は、入力軌道中の逸脱を防げ、それによって、滑らかな知覚された軌道を生じ得る。
【0076】
入力に対する制約が滑らかな知覚された軌道を生じ得るが、入力は、所与の時間に位置508中にエラーを含み得る。いくつかの例では、エラー(例えば、ドリフトエラー、軌道エラーなど)は、不正確な又はマルチパスのGPSデータによって生じるエラーなどのナビゲーションセンサに関連するエラーによって生じ得る。いくつかの例では、エラーは、動きセンサに関連するエラーによって生じ得る。例えば、慣性測定ユニットは、例えば、センサドリフトによるエラーを時間にわたって蓄積し得る。
【0077】
様々な例では、較正コンピューティングデバイスは、車両のポジション及び/又は向きのドリフト及び/又は車両502の移動に関連する軌道データ中のエラーを正確に補正するためにセンサデータを使用するように構成され得る。いくつかの例では、補正は、車両502の基準ポジション512に基づき得る。さらに、補正は、基準ポジション512における車両502の向きに基づき得る。
【0078】
様々な例では、較正コンピューティングデバイスは、基準ポジション512において第1の集約センサデータ(例えば、LIDARセンサなどの車両知覚センサからのセンサデータ)を受信し得るし、ボクセル空間への第1の集約センサデータを投影し得る。いくつかの例では、較正コンピューティングデバイスは、第1の集約センサデータを基準ポジション512において車両知覚センサによってキャプチャさせ得る。いくつかの例では、較正コンピューティングデバイスは、車両の位置508が基準ポジション512に対応する時間に基づいて複数のセンサデータから第1の集約センサデータをフィルタ処理し得る。
【0079】
車両502は、経路504に沿って続け、車両502が基準ポジション512’に戻ったという指示を1つ又は複数のセンサから受信し得る。較正コンピューティングデバイスは、基準ポジション512’において第2の集約センサデータを受信し得るし、第1の集約センサデータとともにボクセル空間に第2の集約センサデータを投影し得る。
【0080】
図6に関して以下でより詳細に説明するように、較正コンピューティングデバイスは、基準ポジション512から基準ポジション512’までの測位データ中のエラー(ΔT)を決定するために第1の集約センサデータを第2の集約センサデータと比較し得る。
【0081】
様々な例では、較正コンピューティングデバイスは、ボクセル空間中の1つ又は複数のダイナミックオブジェクトを識別するように構成され得る。いくつかの例では、較正コンピューティングデバイスは、第1の集約センサデータを第2の集約センサデータと比較することによって動的オブジェクトを識別し得る。そのような例では、ボクセル空間の少なくとも1つのボクセルを占有するオブジェクトなど、第1の集約センサデータ中に表されるが、第2の集約センサデータ中に表されないオブジェクトは、動的オブジェクトとして分類され得る。
【0082】
いくつかの例では、較正コンピューティングデバイスは、第1の集約センサデータをキャプチャした後に、短い時間(例えば、1秒、2秒など)第3の集約センサデータをキャプチャするように構成され得る。そのような例では、較正コンピューティングデバイスは、ボクセル空間に第1の集約センサデータと第3の集約センサデータとを投影し得るし、ボクセル空間の各ボクセル中に表されるオブジェクトを比較し得る。第1の集約センサデータ中のボクセルの第1のセットと第2の集約センサデータ中のボクセルの第2のセットと中で識別されるオブジェクトは、動的オブジェクトとして分類され得る。
【0083】
様々な例では、較正コンピューティングデバイスは、基準ポジション512から基準ポジション512’までの測位データ中のエラー(ΔT)を決定するために第1の集約センサデータを第2の集約センサデータと比較するより前にボクセル空間の中から動的オブジェクトをフィルタ処理するように構成され得る。
【0084】
図6は、ボクセル空間606に投影された、第1の時間にキャプチャされた第1の集約センサデータ602と第2の時間にキャプチャされた第2の集約センサデータ604との例示的な
図600である。様々な例では、較正コンピューティングデバイスは、ボクセル占有のコスト関数(例えば、占有スコア)を最小化し得る。そのような例では、コスト関数は、占有のペナルティを乗算したボクセルの占有を含み得る。ペナルティは、ボクセル中にデータポイントを有するための最小コストを表し得る。コスト関数の最小化は、以下の式によって表され得る。
【0085】
【0086】
ここで、Tは、コスト関数はパラメータ化される剛体6自由度(6-DOF)変換を表す。
【0087】
様々な例では、較正コンピューティングデバイスは、次いで、ボクセル分散統計をアグリゲートし得る。較正コンピューティングデバイスは、各ボクセルの占有スコア及び残差値を加算することなどによって各ボクセルのボクセルスコアを計算し得る。較正コンピューティングデバイスは、キャプチャされた第1の集約センサデータ602と第2の集約センサデータ604とに関連するアグリゲートスコアを決定するためにボクセル空間606中の各ボクセルのスコアを加算し得る。
【0088】
アグリゲートスコアを決定した後に、較正コンピューティングデバイスは、画像をシャープ化するために第1の集約センサに対して第2の集約センサデータ604を摂動することによってデータを最適化し得る(例えば、アグリゲートスコアを最小化し得る)。較正コンピューティングデバイスは、データを最適化するために
図4に関して上記で説明したアンクシャス探索技法を使用し得る。言い換えれば、較正コンピューティングデバイスは、第2の集約センサデータ604が
図4の例418に示す画像などの鮮明な画像中の第1の集約センサデータ602に実質的に一致するまで第2の集約センサデータ604の1つ又は複数の次元を調整し得る。
【0089】
いくつかの例では、較正コンピューティングデバイスは、最小のアグリゲートスコアを決定するためにX、Y、Zのうちの2次元及びピッチ、ロール、ヨーを調整し得る。いくつかの例では、較正コンピューティングデバイスは、最小のアグリゲートスコアを決定するためにX、Y、Zの全ての3次元及びピッチ、ロール、ヨーを調整し得る。最小化されたアグリゲートスコアを生じる調整に基づいて、較正コンピューティングデバイスは、(
図5中の基準ポジション512として示す)第1の集約センサデータ602がキャプチャされた第1のパスから(
図5中の基準ポジション512’として示す)第2の集約センサデータ604がキャプチャされた第2のパスまでのポジションのエラー(例えば、デルタ変換)を推定し得る。較正コンピューティングデバイスは、車両を正確に位置特定するために測位データ(例えば、動きセンサ及び/又はナビゲーションセンサからのデータ)にデルタ変換を適用し得る。
【0090】
図7~
図11は、ハードウェア、ソフトウェア、又はそれらの組合せで実装され得る一連の動作を表す論理フローグラフ中のブロックの集合として示された例示的なプロセス700、800、900、1000、及び1100の流れ図である。ソフトウェアのコンテキストでは、ブロックは、1つ又は複数のプロセッサによって実行されたとき、記載の動作を実行する1つ又は複数のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するか又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が記述される順序は、限定として解釈されるべきものではなく、プロセスを実装するために、任意の数の記述したブロックが任意の順序で及び/又は並行して組み合わされ得る。
【0091】
図7は、較正コンピューティングデバイスによって実行される、車両102などの車両のセンサを較正するための例示的なプロセス700の流れ図である。上記で説明したように、較正コンピューティングデバイスは、車両コンピューティングデバイス106などの車両コンピューティングデバイス又は較正/位置特定サーバ108などの較正/位置特定サーバに関連するサーバデバイスであり得る。
【0092】
702において、較正コンピューティングデバイスは、車両の複数のセンサからデータセットを受信する。いくつかの例では、複数のセンサは、複数のLIDARセンサを含み得る。他の例では、複数のセンサは、複数のSONARセンサ、RADARセンサ、カメラなどを含み得る。
【0093】
704において、較正コンピューティングデバイスは、ボクセル空間にデータセットを投影する。いくつかの例では、ボクセル空間は、環境の固定された3次元グリッドを含むことができる。
【0094】
706において、較正コンピューティングデバイスは、ボクセル空間に関連する残差値を計算する。いくつかの例では、較正コンピューティングデバイスは、ボクセル中のポイントの数が閾値数(例えば、5)を上回るという決定に基づいて残差値を計算し得る。様々な例では、残差値は、ボクセルに対する主成分分析を使用して計算された固有値などの最小固有値を含み得る。いくつかの例では、残差は、平面に対する平均ポジションの間の距離として計算され得る。そのような例では、平面は、上記と同様の方法に基づいて計算され得る。追加又は代替として、平面は、前の計算から及び/又は環境の与えられた3Dメッシュに少なくとも部分的に基づいて導出され得る。それらの例では、ポイントの数が閾値を下回る場合、そのボクセルの残差に最大値を割り当て、そのボクセルを「無効」と識別することによって、占有ペナルティがそのボクセルに課され得る。いくつかの例では、最大値は、ボクセルの長さ、幅、高さ、又は対角線のうちの1つ又は複数であり得る。
【0095】
追加又は代替として、少なくとも1つのデータポイントを有する各ボクセルは、最大占有スコアに関連付けられ得る。非限定的な例として、そのような占有スコアは、任意の他の値が企図されるが、最大残差値であり得る。ポイントの数が0であるボクセルは、0の占有スコアを有し得る。
【0096】
708において、較正コンピューティングデバイスは、ボクセル空間に関連する残差値を最小化するために複数のセンサのうちの少なくとも1つのセンサに変換を適用する。いくつかの例では、較正コンピューティングデバイスは、残差値を最小化するためにアンクシャス探索技法を使用し得る。データソース(例えばセンサ)に変換(即ち、並進又は回転のうちの1つ又は複数)を適用し、新しいセンサ体勢に基づいてボクセル空間にデータを再投影することによって、新しい総残差が計算され得る。本明細書で詳細に説明するように、そのようなアンクシャス探索は、総残差を最小化するデータソースに適用すべき変換を決定する。
【0097】
そのような変換を発見するために、アンクシャス探索は、いくつかの大きさといくつかの探索方向とを備え得る。いくつかの例では、並進成分(即ち、並進がない探索方向を除く、並進成分ごとのa+1、0、-1)のための26個の探索方向があり得る。追加又は代替として、回転成分(即ち、ピッチ、ロール、ヨー)のための26個の追加の探索方向が同様に決定され得る。いくつかの例では、(移動がない場所を除き)並進又は回転成分のいずれかでの+1、0、又は-1の移動の全ての可能な組合せに対応する3^6-1個の探索方向があり得る。いくつかの例では、大きさは、あらかじめ定義されたセット(例えば、{0.25m,0.5m,1m,2m,4m,8m})であり得る。他の例では、大きさは、単一の大きさのいくつかのスカラー倍数に対応し得る。
【0098】
探索方向及び大きさのセットが決定されると、アンクシャス探索は、残差値を最小化するために最適な変換を決定するために探索方向及び大きさの任意の1つ又は複数の組合せを通して反復し得る。そのような探索は、次のように進み得る。元の総残差が計算され得る。各探索方向は、次いで、大きさのセット中の各大きさによってスケーリングされ得る。変換は、スケーリングされた探索方向の各々に基づいて決定され得る。変換ごとに、センサは、元の体勢から変換され得るし、センサデータは、その後、新しいセンサの体勢に少なくとも部分的に基づいてボクセル空間に再投影され得る。再投影されたセンサデータに基づいて、新しい総残差が計算される。最低の総残差が元の総残差の何らかの割合より低くない例では、元の体勢は改変されない。様々な例では、較正コンピューティングデバイスは、ボクセル及び/又はボクセル空間の残差値が最小化されるまでデータに変換を適用し続け得る。最小化された残差値は、ボクセル及び/又はボクセル空間の最小残差値に対応し得る。いくつかの例では、最小化された残差値は、前の変換を適用するときに計算された残差値よりも小さい閾値量よりも小さい値に対応し得る。閾値量は、前の変換の適用から生じた残差値からの値(例えば、0.001)又は割合(例えば、0.1%)の減少を含み得る。
【0099】
710において、較正コンピューティングデバイスは、最小化された残差値に対応する変換を決定する。変換は、1つ若しくは複数の並進成分及び/又は1つ若しくは複数の回転成分への変更を含み得る。
【0100】
712において、較正コンピューティングデバイスは、次元調整に基づいて少なくとも1つのセンサを較正する。様々な例では、車両の複数のセンサが較正された後、較正コンピューティングデバイスは、車両のドリフトエラー(即ち、ポジションエラー)及び/又は車両の軌道に関連する軌道エラーを決定するように構成され得る。
【0101】
図8は、較正コンピューティングデバイスによって実行される、車両102などの車両の1つ又は複数のセンサを較正するための例示的なプロセス800の流れ図である。上記で説明したように、較正コンピューティングデバイスは、車両コンピューティングデバイス106などの車両コンピューティングデバイス又は較正/位置特定サーバ108などの較正/位置特定サーバに関連するサーバデバイスであり得る。
【0102】
802において、較正コンピューティングデバイスは、車両の第1のセンサから第1のセンサデータを受信し、車両の第2のセンサから第2のセンサデータを受信する。いくつかの例では、第1のセンサと第2のセンサとは、LIDARセンサを備え得る。いくつかの例では、第1のセンサと第2のセンサとは、車両の複数のセンサのうちの2つのセンサであり得る。少なくとも1つの例では、車両は、8つのセンサを備え得る。
【0103】
804において、較正コンピューティングデバイスは、ボクセル空間に第1のセンサデータと第2のセンサデータとを投影する。ボクセル空間は、複数のボクセルを備える3次元表現を表し得る。
【0104】
806において、較正コンピューティングデバイスは、ボクセル空間の残差値を計算する。ボクセル空間の残差値は、ボクセル空間中の各ボクセルの残差値のアグリゲーションを含み得る。いくつかの例では、残差値は、それに関連するデータポイントの閾値数(例えば、5)を含むボクセル空間中の各占有されたボクセル及び/又は各ボクセルの残差値のアグリゲーションを含み得る。そのような例では、較正コンピューティングデバイスは、占有されたボクセル(即ち、第1のセンサデータ及び/又は第2のセンサデータに対応するデータポイントを備えるボクセル)及び/又はデータポイントの閾値数を含むボクセルを識別するように構成され得る。
【0105】
様々な例では、ボクセルスコアは、ボクセルの残差値を含み得る。いくつかの例では、残差値は、ボクセルに関連する最小固有値に対応し得る。
【0106】
いくつかの例では、残差は、平面に対する平均ポジションの間の距離として計算され得る。そのような例では、平面は、主成分分析又は共分散の固有値分解を使用することによって統計データに基づいて最適平面を計算することによって決定され得る。そのような例では、最小の固有ベクトルは、平面の法線に対応し得るし、対応する固有値は、平面の有効な厚さに対応し得る。追加又は代替として、平面は、前の計算から及び/又は環境の与えられた3Dメッシュに少なくとも部分的に基づいて導出され得る。それらの例では、ポイントの数が閾値を下回る場合、そのボクセルの残差に最大値を割り当て、そのボクセルを「無効」と識別することによって、占有ペナルティがそのボクセルに課され得る。いくつかの例では、最大値は、ボクセルの長さ、幅、高さ、又は対角線のうちの1つ又は複数であり得る。
【0107】
808において、較正コンピューティングデバイスは、残差値を最小化するために第1のセンサデータ又は第2のセンサデータのうちの少なくとも1つに変換を適用し得る。変換は、アンクシャス探索を使用して実行され得る。いくつかの例では、変換の大きさは、ボクセル空間中のボクセルのサイズに基づいて決定され得る。いくつかの例では、多数の変換は、より小さい大きさを連続的に使用して実行され得る。
【0108】
様々な例では、較正コンピューティングデバイスは、それぞれのセンサデータに関連する最初の方向次元及び向き次元を決定し得る。較正コンピューティングデバイスは、ボクセルスコアを最小化するために1つ又は複数の方向次元及び1つ又は複数の向き次元を調整し得る。いくつかの例では、方向次元及び向き次元は、互いに無関係に調整され得る。様々な例では、較正コンピューティングデバイスは、一度に2つの次元を調整し得る。いくつかの例では、較正コンピューティングデバイスは、同時に3つの次元を調整し得る。
【0109】
様々な例では、較正コンピューティングデバイスは、方向及び/又は向き次元のあらゆる組合せのための残差を計算し得る。最低残差値に関連する方向及び/又は向き次元が、それぞれの次元のための最小化された残差値として記憶され得る。
【0110】
様々な例では、較正コンピューティングデバイスは、ボクセル空間中のボクセルに関連する占有スコアをさらに最小化し得る。そのような例では、較正コンピューティングは、それに関連する占有スコアを低減するために占有されたボクセルにペナルティを適用し得る。様々な例では、最小化された残差スコアは、最小化された占有スコアを含み得る。
【0111】
810において、較正コンピューティングデバイスは、ボクセルサイズが最小サイズに低減されたのかどうかを決定する。様々な例では、最小ボクセルサイズは、ボクセルのあらかじめ定義された最低の高さ、幅、及び長さを含み得る。いくつかの例では、ボクセルの高さ、幅、及び長さは同じであり得る(即ち、ボクセルは立方体を備える)。他の例では、ボクセルの高さ、幅、及び長さが異なり得る。
【0112】
812において、ボクセルサイズが最小サイズに低減されていないという決定に応答して、較正コンピューティングデバイスは、ボクセル空間中のボクセルのサイズを低減し、ボクセルサイズが最小値に低減されるまで動作806~810を実行することによって残差値を反復的に最小化する。
【0113】
814において、ボクセルサイズが最小サイズに低減されるという決定に応答して、較正コンピューティングデバイスは、第1のセンサ又は第2のセンサのうちの少なくとも1つを較正する。様々な例では、較正コンピューティングデバイスは、変換全体にわたって第1のセンサ及び/又は第2のセンサになされる総調整を決定し得る。そのような例では、総調整は、最小化されたボクセルサイズのために計算された最小化された残差値に関連するセンサデータの寸法(x、y、z、ピッチ、ロール、ヨー)と最初のセンサデータの寸法との間の差を含み得る。従って、総調整は、センサ及び/又はセンサデータの最初のX、Y、Z、ピッチ、ロール、ヨーの設定と、ボクセルサイズと残差値とが最小化されるときのセンサ及び/又はセンサデータの最後のX、Y、Z、ピッチ、ロール、ヨーの設定との間の差を含み得る。総調整は、センサの較正パラメータとして記憶され得るし、センサから受信される後続のデータに適用され得る。
【0114】
図9は、較正コンピューティングデバイスによって実行される、LIDARセンサデータを使用してポジションデータ中のドリフトエラーを決定するための例示的なプロセス900の流れ図である。上記で説明したように、較正コンピューティングデバイスは、車両コンピューティングデバイス106などの車両コンピューティングデバイス又は較正/位置特定サーバ108などの較正/位置特定サーバに関連するサーバデバイスであり得る。
【0115】
902において、較正コンピューティングデバイスは、例えば、ポジションデータ及び/又は位置特定データに基づいて、車両が第1の時間に基準点にあると決定する。ポジション及び/又は位置特定データは、(例えば、LIDAR、カメラ、RADAR、超音波/SONARなどのうちの任意の1つ又は複数からの)動きセンサデータ、ナビゲーションセンサデータ及び/又は知覚データを含み得る。第1の時間は、車両の経路上の基準点の第1のパスに対応し得る。
【0116】
904において、較正コンピューティングデバイスは、第1の時間に、基準点における環境の第1のLIDARデータをキャプチャし得る。環境は、基準点に近接したエリアを含み得る。第2のLIDARデータは、車両上のLIDARセンサによってキャプチャされた第1の集約センサデータ(例えば、メタスピン)を含み得る。
【0117】
いくつかの例では、較正コンピューティングデバイスは、LIDARセンサに基準点において第1のLIDARデータをキャプチャさせ得る。いくつかの例では、較正コンピューティングデバイスは、LIDARセンサの各々からデータを受信し得るし、第1の時間に収集されたデータを識別するためにデータをフィルタ処理し得る。
【0118】
906において、較正コンピューティングデバイスは、ポジションデータに基づいて、車両が第2の時間に基準点にあると決定する。第2の時間は、車両の経路上の基準点の第2のパスに対応し得る。
【0119】
908において、較正コンピューティングデバイスは、第2の時間に、基準点における環境の第2のLIDARデータをキャプチャし得る。第2のLIDARデータは、車両上のLIDARセンサによってキャプチャされた第2の集約センサデータを含み得る。
【0120】
910において、較正コンピューティングデバイスは、ボクセル空間に第1のLIDARデータと第2のLIDARデータとを投影する。ボクセル空間は、基準点に近接した環境の固定された3次元グリッドを含み得る。
【0121】
912において、較正コンピューティングデバイスは、ボクセル空間の残差値を計算する。ボクセル空間の残差値は、ボクセル空間中の各ボクセルの残差値の和を含み得る。いくつかの例では、ボクセル空間のためのボクセルスコアは、ボクセル空間中の占有された各ボクセル及び/又はそれに関連するデータポイントの閾値数をもつ各ボクセルの和を含み得る。いくつかの例では、各ボクセルの残差値は、ボクセルの占有スコアを含み得る。
【0122】
914において、較正コンピューティングデバイスは、第1のLIDARデータに関連する体勢を維持しながら第2のLIDARデータに変換を適用することによってポジションデータ中のドリフトエラーを決定するためにボクセル空間の残差値を最小化する。較正コンピューティングデバイスは、第2のLIDARデータの1つ又は複数の次元(例えば、X、Y、Z、ピッチ、ロール、ヨー)を調整する第2のLIDARデータ変換を適用し得る。様々な例では、較正コンピューティングデバイスは、アンクシャス探索技法を適用することによって残差値を最小化し得る。そのような例では、アンクシャス探索は、いくつかの大きさといくつかの探索方向とを備え得る。
【0123】
いくつかの例では、較正コンピューティングデバイスは、ボクセル空間の残差値の低減の量が前の最小値から閾値量よりも多く低減しなくなるまで第2のLIDARデータに変換を適用し続け得る。いくつかの例では、変換の大きさは、ボクセル空間中のボクセルのサイズに比例し得る。
【0124】
様々な例では、較正コンピューティングデバイスは、変換に基づいてポジションデータ中のドリフトエラー又はポジションエラーを計算し得る。そのような例では、ドリフトエラーは、第2のLIDARデータの最初の次元と最小化されたボクセルスコアに対応する第2のLIDARデータの次元との間の差に対応し得る。
【0125】
図10は、較正コンピューティングデバイスによって実行される、LIDARセンサデータを使用してポジションデータ中のドリフトエラーを決定するための例示的なプロセス1000の流れ図である。上記で説明したように、較正コンピューティングデバイスは、車両コンピューティングデバイス106などの車両コンピューティングデバイス又は較正/位置特定サーバ108などの較正/位置特定サーバに関連するサーバデバイスであり得る。
【0126】
1002において、較正コンピューティングデバイスは、複数のセンサからデータを受信する。いくつかの例では、データは、LIDARデータを備え得る。
【0127】
1004において、較正コンピューティングデバイスは、第1の時間に第1の基準点に関連する第1のデータセットと第2の時間に基準点に関連する第2のデータセットとを識別する。様々な例では、第1の時間は、車両の経路に沿った基準点の第1のパスに対応し得るし、第2の時間は、経路に沿った基準点の第2のパスに対応し得る。様々な例では、較正コンピューティングデバイスは、車両の1つ又は複数のセンサから受信した測位データに基づいて第1の時間と第2の時間とを決定し得る。いくつかの例では、1つ又は複数のセンサは、動きセンサ及び/又はポジションセンサを備え得る。
【0128】
1006において、較正コンピューティングデバイスは、ボクセルスコアを最小化するように第1のデータセットに対して第2のデータセットを調整する。様々な例では、調整は、第2のデータセットに関連する次元を調整することを含み得る。いくつかの例では、較正コンピューティングデバイスは、2又は3つの次元を同時に調整し得る。いくつかの例では、較正コンピューティングデバイスは、並進(例えば、X、Y、Zに関する方向)次元及び回転(例えば、ピッチ、ロール、ヨーに関する向き)次元に関してデータポイントのポジションを独立して調整し得る。調整又は摂動ごとに、較正コンピューティングデバイスは、各ボクセルに関連する残差値を計算し得る。較正コンピューティングデバイスは、ボクセルに関連する最小残差値に対応する各次元に対するデータポイントのためのポジションを選択し得る。最小残差値に対応するX、Y、Z、ピッチ、ロール、及びヨーで選択されたポジションが最後の次元として選択され得る。
【0129】
1008において、較正コンピューティングデバイスは、第2のデータセットに対する総調整に基づいてポジションエラーを計算し得る。総調整は、第2のデータセットに関連する最後の次元と最初の次元との間の差を含み得る。
【0130】
図11は、較正コンピューティングデバイスによって実行される、ボクセル空間中のボクセルの最小残差値に関連する次元のセットを識別するための例示的なプロセス1100の流れ図である。上記で説明したように、較正コンピューティングデバイスは、車両コンピューティングデバイス106などの車両コンピューティングデバイス又は較正/位置特定サーバ108などの較正/位置特定サーバに関連するサーバデバイスであり得る。
【0131】
1102において、較正コンピューティングデバイスは、データセットを受信する。いくつかの例では、データセットは、集約センサデータ(例えば、メタスピン)を含み得る。いくつかの例では、データセットは、車両のLIDARセンサなどの2つ以上のセンサに対応するセンサデータを含み得る。
【0132】
1104において、較正コンピューティングデバイスは、ボクセル空間にデータセットを適用する。いくつかの例では、データセットは、データポイントの各々に関連する座標に基づいてボクセル空間にデータセットのデータポイントを投影することによって適用され得る。
【0133】
1106において、較正コンピューティングデバイスは、第1のセンサ又は第2のセンサのうちの少なくとも1つに適用すべき変換を識別する。変換は、ボクセル空間の最適化された残差値に関連付けられ得る。様々な例では、変換は、それぞれのセンサの少なくとも1つの方向次元又は少なくとも1つの向き次元の摂動を含み得る。いくつかの例では、較正コンピューティングデバイスは、最適化された残差値が変換から生じるまで、(即ち、センサのX軸、Y軸、Z軸に関連する)方向次元及び/又は(即ち、センサのピッチ、ロール、ヨーに関連する)向き次元の異なる組合せの変換を反復的に適用し得る。様々な例では、変換の大きさは、ボクセル空間中の個々のボクセルのボクセルサイズに少なくとも部分的に基づき得る。いくつかの例では、大きさは、あらかじめ定義された数及び/又は数のセット(例えば、{0.25m,0.5m,1m,2m,4m,8m})であり得る。他の例では、大きさは、単一の大きさのいくつかのスカラー倍数に対応し得る。
【0134】
様々な例では、較正コンピューティングデバイスは、最適化された残差値に関連する変換に基づいて第1のセンサ又は第2のセンサのうちの少なくとも1つを較正し得る。いくつかの例では、較正コンピューティングデバイスは、変換に少なくとも部分的に基づいて車両のドリフトエラーを決定し得る。
【0135】
1つ又は複数のセンサを較正することと測定ポジションエラーを決定することとに関して上記で参照されたが、上記で詳細に説明したアンクシャス探索が、様々な他の適用例で使用され得ることを諒解されよう。非限定的な例として、以下について考える。累積センサデータの2つ以上のセットが、上記の測定ポジションエラー方法で説明したのと同じ方法を使用して比較され得る。比較される2つのセットがポジションループ閉じ込みイベントにおいて複数回生成されるとき(例えば、前の状態中と実質的に同様のポジションにあるという認識)、そのような比較は、軌道補償のための使用され得る軌道ドリフトを生じる。比較されるデータの2つのセットが短い期間にわたって軌道に沿って生成されるとき、そのような測定ポジションエラーは、センサ(例えば、LIDAR)のオドメトリの形態として使用され得る。2つの独立した軌道からのセンサデータを比較するとき、そのような測定ポジションエラーが前のマップ製品を生成するために使用され得る。前のマップ製品と現在の集約センサデータとの間の測定ポジションエラーを決定するときに、測定ポジションエラーは、センサの位置特定及び/又はジオロケーションを与える。1つ又は複数のセンサの残りに対する単一のセンサに対して上記で説明したように較正を実行することによって、較正の出力は、各々に対する、及び車両フレームに対する車両のセンサの較正であり得る。追加又は代替として、固有値分解計算を使用して同じセンサからの追加のデータを用いて単一のセンサからのセンサデータを較正することによって、そのようなセンサは、車両フレームに対して較正され得る。
【0136】
図12は、車両の1つ又は複数のセンサを較正すること及び/又は車両のポジションエラーを決定するように構成された例示的な較正コンピューティングデバイス1200を示す。較正コンピューティングデバイス1200は、車両コンピューティングデバイス106などの車両コンピューティングデバイス及び/又は較正/位置特定サーバ108などの較正/位置特定サーバを表し得る。較正コンピューティングデバイス1200中で、処理ユニット1202は、例えば、CPUタイプの処理ユニット、GPUタイプの処理ユニット、フィールドプログラマブルゲートアレイ(FPGA)、別のクラスのデジタル信号プロセッサ(DSP)又は、場合によっては、CPUによって駆動され得る他のハードウェア論理構成要素を表すことができる。例えば、限定はしないが、使用され得るハードウェア論理構成要素の例示的なタイプは、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、複合プログラマブル論理デバイス(CPLD)などを含む。
【0137】
いくつかの例では、較正コンピューティングデバイス1200は、分散サービスプラットフォーム(例えば、クラウド)の部分である、サーバデバイス112(1)、112(2)、及び112(N)などの複数のデバイスのうちの1つであり得る。いくつかの例では、較正コンピューティングデバイス1200は、近接ネットワークを介した接続が可能である複数のデバイスのうちの1つであり得る。様々な例では、較正コンピューティングデバイス1200は、分散サービスプラットフォームの部分であり、さらに近接ネットワークを介した接続が可能である複数のデバイスのうちの1つであり得る。
【0138】
いくつかの例では、コンピュータ可読媒体(CRM)1204は、上記で説明したように、較正コンピューティングデバイス1200に組み込まれた処理ユニットを表すことができる処理ユニット1202によって実行可能な命令を記憶し得る。CRM1204はまた、外部CPUタイプの処理ユニット1206、外部GPUタイプの処理ユニット1208などの外部処理ユニットによって実行可能な命令、及び/又はFPGAタイプのアクセラレータ1210(1)、DSPタイプのアクセラレータ1210(2)、又は任意の他のアクセラレータ1210(N)などの外部アクセラレータ1210によって実行可能な命令を記憶することができる。様々な例では、少なくとも1つのCPUタイプの処理ユニット1206、GPUタイプの処理ユニット1208、及び/又はアクセラレータ1210が、較正コンピューティングデバイス1200に組み込まれ、一方、いくつかの例では、CPUタイプの処理ユニット1206、GPUタイプの処理ユニット1208、及び/又はアクセラレータ1210のうちの1つ又は複数が、較正コンピューティングデバイス1200の外部にある。
【0139】
示された例では、CRM1204はまた、データストア1212を含む。いくつかの例では、データストア1212は、データベース、データウェアハウス、又は他のタイプの構造化されている若しくは構造化されていないデータストレージなどのデータストレージを含む。いくつかの例では、データストア1212は、例えば、ハイパーテキストマークアップ言語(HTML)テーブル、リソースディスクリプションフレームワーク(RDF)テーブル、ウェブオントロジー言語(OWL)テーブル、及び/又は拡張可能なマーク付け言語(XML)テーブルのうちの1つ又は複数を含むデータアクセスを可能にするために1つ又は複数のテーブル、インデックス、ストアドプロシージャなどをもつコーパス及び/又はリレーショナルデータベースを含むことができる。データストア1212は、CRM1204中に記憶され、及び/又は処理ユニット1202によって実行されるプロセス、アプリケーション、構成要素、及び/又はモジュールの動作のためのデータを記憶することができる。代替的に、上記で参照したデータ及び/又は命令の一部又は全部は、1つ若しくは複数の処理ユニット1202、CPUタイプの処理ユニット1206、GPUタイプの処理ユニット1208、及び/又はアクセラレータ1210中の別個のメモリ1214上に記憶され得る。例えば、データストア1212は、センサデータ、軌道データ、関心領域データ(例えば、関心領域に関連するボクセルスコア、関心領域に関連する残差値など)、及び/又はセンサ較正及び車両位置特定において使用される他のデータを記憶し得る。
【0140】
較正コンピューティングデバイス1200は、較正コンピューティングデバイス1200が、周辺入力デバイス(例えば、キーボード、マウス、ペン、ゲームコントローラ、ボイス入力デバイス、タッチ入力デバイス、ジェスチャー入力デバイスなど)を含むユーザ入力デバイス及び/又は周辺出力デバイス(例えば、ディスプレイ、プリンタ、オーディオスピーカ、ハプティック出力など)を含む出力デバイスなどの入出力デバイスと通信することを可能にするために1つ又は複数の入出力(I/O)インターフェース1216をさらに含むことができる。さらに、較正コンピューティングデバイス1200では、ネットワークインターフェース1218は、例えば、ネットワーク110などのネットワークを介して通信を送信及び受信するためのネットワークインターフェースコントローラ(NIC)又は他のタイプのトランシーバデバイスを表すことができる。
【0141】
図示の例では、較正コンピューティングデバイス1200は、バス1220を介してCRM1204、入出力インターフェース1216、及びネットワークインターフェース1218に処理ユニット1202を動作可能に接続することができる。いくつかの例では、バス1220は、システムバス、データバス、アドレスバス、PCIバス、ミニPCIバス、並びに任意の様々なローカル、周辺、及び/又は独立バスのうちの1つ又は複数を含むことができる。
【0142】
図示の例では、CRM1204はまた、MICROSOFT WINDOWS、WINDOWS、QNX(商標)、IBM z/OS(商標)、LINUX、ANDROID、iOS(商標)、 OS X(商標)、NETBSD(商標)、又は較正コンピューティングデバイス1200上のコンピュータハードウェア及びソフトウェアリソースを管理することが可能な任意の他のオペレーティングシステムなどの任意のタイプのオペレーティングシステムであり得るオペレーティングシステム1222を含む。
【0143】
CRM1204はまた、軌道モジュール126などの軌道モジュール1224と、較正モジュール120などの較正モジュール1226と、位置特定モジュール122などの位置特定モジュール1228とを含む。軌道モジュール1224、較正モジュール1226、及び位置特定モジュール1228に関連して説明される機能は、1つのモジュールに組み合わされ得るか、又は分割され、より多数のモジュール及び/又はAPIによって実行され得る。様々な例では、軌道モジュール1224は、車両の1つ又は複数の動きセンサ(例えば、慣性測定ユニット(IMU)センサ、加速度計、ジャイロスコープ、回転(ホイール)エンコーダなど)、1つ若しくは複数のナビゲーションセンサ(例えば、全地球測位システム(GPS)センサ、INSセンサなど)、及び/又は1つ若しくは複数の他のセンサ(例えば、LIDAR、カメラ、RADAR、SONARなど)からデータを受信するように構成され得る。軌道モジュール1224は、上記のセンサのうちの任意の1つ又は複数からのデータを使用して車両の軌道データを決定し得る。軌道データは、それのスピード、方向、ポジション、ピッチ、ロール、ヨー、及び/又はレート及び/又は車両の移動に関連する他のデータを含み得る。
【0144】
様々な例では、軌道モジュール1224は、軌道データに少なくとも部分的に基づいて関心領域の中央位置を識別し得る。いくつかの例では、中央位置は、所与の時間における車両のヨーレートに基づいて決定され得る。いくつかの例では、中央位置は、車両が道路などを走行する経路の曲率半径に基づいて決定され得る。
【0145】
様々な例では、軌道モジュール1224は、中央位置を中心とする時間ウィンドウを生成することによって関心領域を決定し得る。そのような例では、時間ウィンドウは、中央位置の前の数秒と中央位置の後の数秒とを含み得る。様々な例では、秒数は、固定の秒数であり得る。いくつかの例では、秒数は、車両のスピードなどの軌道データに基づき得る。
【0146】
様々な例では、較正モジュール1226は、車両の1つ又は複数のセンサを較正するように構成され得る。較正モジュール1226は、軌道モジュール1224から関心領域データを受信し得る。関心領域データは、関心領域に関連する中央位置及び/又は時間ウィンドウを含み得る。較正モジュール1226は、較正のためのLIDARデータセットを決定するために車両が関心領域中にあったときにセンサによってキャプチャされたLIDARデータをフィルタ処理又は抽出するように構成され得る。較正モジュール1226は、3次元(3D)ボクセル空間にLIDARデータセットを投影し得るし、そこに位置付けされたデータポイントを有するボクセルを識別し得る。
【0147】
様々な例では、較正モジュール1226は、ボクセル空間中の占有されたボクセルごとに占有スコア(例えば、コスト関数)を計算し得る。様々な例では、占有スコアは、ペナルティ数によってボクセル中のデータポイントの数を乗算することによって決定され得る。ペナルティ数は、ボクセル中にデータポイントを有するための最小コストを表し得る。様々な例では、較正モジュール1226は、ボクセル占有のコスト関数を最小化するように構成され、それによって、較正に使用されるボクセルの数を最小化し得る。様々な例では、較正モジュール1226は、閾値を上回る占有スコアをもつボクセルを識別し得るし、さらなる処理のために識別されたボクセルを選択し得る。
【0148】
較正モジュール1226は、ボクセル空間中の各ボクセルの残差値を計算し得る。様々な例では、較正モジュール1226は、主成分分析を実行することによって残差値を計算し得る。そのような例では、残差値は、最小固有値を含み得る。いくつかの例では、較正モジュール1226は、(x-1)センサ114からのデータに基づいてボクセルの平面を決定し得るし、ここで、xは、車両上のセンサの総数である。そのような例では、較正モジュール1226は、単一のセンサから他のセンサによって決定された平面までの距離に基づいてボクセルの残差値を計算し得る。
【0149】
様々な例では、較正モジュール1226は、ボクセルごとに占有スコアと残差値とを加算することによってボクセルごとの最初のボクセルスコアを決定し得る。いくつかの例では、較正モジュール1226は、ボクセル空間の最初の総ボクセルスコアを計算し得る。
【0150】
較正モジュール1226は、アンクシャス探索技法を使用して1つ又は複数のセンサによってキャプチャされたセンサデータの1つ又は複数の次元(X、Y、Z、ピッチ、ロール、ヨー)を調整すること(例えば、摂動すること)によってセンサのための較正を決定し得る。較正モジュール1226は、各ボクセルの残差値、従って、各ボクセルのボクセルスコアが最小化されるまで、センサデータの変換を断続的に調整し得る。様々な例では、較正モジュール1226は、1つ又は複数の摂動が残差値を増加させるという決定に基づいて残差値が最小化されたと決定し得る。いくつかの例では、較正モジュール1226は、1つ又は複数の摂動が残差値を実質的に低減しないという決定に基づいて残差値が最小化されたと決定し得る。いくつかの例では、実質的な低減は、閾値低減値よりも大きい低減を含み得る。
【0151】
様々な例では、残差値が所与のボクセルサイズについて最小化されたという決定に応答して、較正モジュール1226は、ボクセルサイズを低減し、上記で説明したアンクシャス探索技法を繰り返し得る。いくつかの例では、較正モジュール1226は、ボクセルサイズ低減の反復ごとに1/2だけボクセルサイズを低減し得る。様々な例では、較正モジュール1226は、ボクセルサイズの低減の1回又は複数回の反復を実行し得る。少なくとも1つの例では、較正モジュール1226は、ボクセルサイズの低減の6回の反復を実行し得る。例えば、最初のボクセルは、12メートルの立方体を備え得る。較正モジュール1226は、12mの立方体から0.375mの立方体まで(例えば、12m、6m、3m、1.5m、0.75m、0.375mのボクセルサイズごとに最適化する)ボクセルサイズの各反復を用いて残差値を最小化するためにデータを摂動し得る。いくつかの例では、較正モジュール126は、摂動の大きさとボクセル空間中のボクセルの次元とを反復的に低減し得る。
【0152】
ボクセルサイズの低減の反復を完了し、残差値とボクセルスコアとを最適化した後に、較正モジュール1226は、センサを較正し得る。較正は、較正されている各センサに対応するデータに行うべき総調整及び/又は集約センサデータに行うべき総調整を決定することによって実行され得る。較正モジュール1226は、後で受信されたセンサデータに総調整を適用し得る。
【0153】
様々な例では、較正モジュール1226は、1つ又は複数のセンサの較正を検証するように構成され得る。いくつかの例では、検証は、毎時、毎日、1週間に1回など周期的に実行され得る。いくつかの例では、検証は、センサが較正外れであり得るという指示に基づいて実行され得る。
【0154】
いくつかの例では、較正モジュール1226は、検証及び/又は再較正中に影響を受けたセンサをオフラインにし得る。そのような例では、影響を受けたLIDARセンサが較正外れである場合、そこからキャプチャされたデータは、車両の動作に悪影響を及ぼさないことがある。いくつかの例では、較正モジュール1226は、検証及び/又は再較正中に影響を受けたセンサをオンラインのままにし得る。
【0155】
センサの較正を検証するために、較正モジュール1226は、関心領域に関連するデータを識別し得る。いくつかの例では、較正モジュール1226は、ボクセル空間中の占有された各ボクセルに対応する残差値を計算するために関心領域に関連するデータを使用し得る。いくつかの例では、較正モジュール1226は、現在の残差値をボクセル空間中の各ボクセルの初期較正残差値と比較し得る。いくつかの例では、較正モジュール1226は、ボクセル空間中の占有されたボクセルの残差スコアを加算することによって現在のボクセル空間の残差値を計算し得る。そのような例では、較正モジュール1226は、現在のボクセル空間の残差値を初期較正に対応するボクセル空間の残差値と比較し得る。いくつかの例では、較正モジュール1226は、各値の現在のボクセルスコア及び/又はボクセル空間のボクセルスコアを初期較正に対応するそれぞれのボクセルスコアと比較し得る。
【0156】
様々な例では、較正モジュール1226は、関心領域に関連する残差値及び/又はボクセルスコアを備えるデータストア1212にアクセスし得る。そのような例では、較正モジュール1226は、特定の関心領域中で収集されたデータの現在の残差値及び/又はボクセルスコアを特定の関心領域に対応する記憶された残差値及び/又はボクセルスコアと比較し得る。
【0157】
いくつかの例では、較正モジュール1226は、現在の残差値及び/又はボクセルスコアが初期較正に対応する残差値及び/又はボクセルスコアよりも大きい閾値であることに基づいてセンサが較正外れであると決定し得る。センサが較正外れであるという決定に応答して、較正モジュール1226は、上記で説明した技法を使用してセンサを再較正し得る。
【0158】
様々な例では、較正コンピューティングデバイス1200は、車両に関連するポジションエラー(例えば、ドリフトエラー)を決定するように構成された位置特定モジュール1228を含み得る。上記で説明したように、車両は、1つ若しくは複数の動きセンサ及び/又は1つ若しくは複数のナビゲーションセンサ及び/又は1つ若しくは複数の他のセンサを含み得る。較正コンピューティングデバイス1200は、軌道モジュール1224を介するなどして、センサから入力を受信し得るし、車両のポジション及び/又は向き(例えば、測位データ)を決定し得る。動作の時間がたつにつれて、エラーは蓄積し、測位データ中にエラーを生じる。車両のポジションエラー又はドリフトエラーを補正するために、位置特定モジュール1228は、基準点においてキャプチャされたデータを処理する。いくつかの例では、基準点は、車両のルート上であらかじめ定義された基準点を含み得る。いくつかの例では、基準点は、車両がルートを走行する間に2回パスされることになる車両のルートに沿った任意のポイントを含み得る。
【0159】
いくつかの例では、位置特定モジュール1228は、車両が基準点に位置するという指示に応答して集約センサデータをセンサにキャプチャさせ得る。いくつかの例では、位置特定モジュール1228は、基準点の少なくとも2回のパスについて基準点においてキャプチャされたデータを処理するために集約センサデータをフィルタ処理し得る。例えば、位置特定モジュール1228は、車両がそれの第1のパスにおける基準点にあるという指示を受信し得る。位置特定モジュール1228は、基準点の第1のパスに対応する第1の集約センサデータを受信し得るし、ボクセル空間に第1の集約センサデータを投影し得る。位置特定モジュール1228は、次いで、車両がそれの第2のパスにおける基準点にあるという指示を受信し得る。位置特定モジュール1228は、基準点の第2のパスに対応する第2の集約センサデータを受信し得るし、ボクセル空間に第2の集約センサデータを投影し得る。
【0160】
様々な例では、位置特定モジュール1228は、ボクセル空間の最初のボクセルスコアを計算し得る。最初のボクセルスコアは、ボクセル空間中の各ボクセルの占有スコアと残差値との和を備え得る。様々な例では、位置特定モジュール1228は、各ボクセルに対応するボクセルスコアを最小化し得る。最小化は、ボクセル占有のコスト関数を最小化することを含み得る。最小化は、ボクセル空間中の各ボクセルの残差値を最小化することをさらに含み得る。様々な例では、位置特定モジュール1228は、後でキャプチャされたデータセット(例えば、第2の集約データ)に対してアンクシャス探索技法を使用することによって残差値を最小化し得る。そのような例では、位置特定モジュール1228は、第1の集約データを一定に保ちながら、第2の集約データの1つ又は複数の変換を調整し得る。位置特定モジュール1228は、ボクセル空間中のデータの鮮明な画像を生じる第2の集約データに対する総調整を決定し得る。総調整に基づいて、位置特定モジュール1228は、第1の集約センサデータがキャプチャされた第1のパスから第2の集約センサデータがキャプチャされた第2のパスにポジション及び/又は向き(例えば、デルタ変換)中のエラーを推定し得る。位置特定モジュール1228は、車両を正確に位置特定するために測位データ(例えば、動きセンサ及び/又はナビゲーションセンサからのデータ)にデルタ変換を適用し得る。
【0161】
さらに、上記で参照したデータの一部又は全部は、CPUタイプの処理ユニット1206に搭載のメモリ1230(1)、GPUタイプの処理ユニット1208に搭載のメモリ1230(2)、FPGAタイプのアクセラレータ1210(1)に搭載のメモリ1230(3)、DSPタイプのアクセラレータ1210(2)に搭載のメモリ1230(4)、及び/又は別のアクセラレータ1210(N)に搭載のメモリ1230(M)などの別個のメモリ1230上に記憶され得る。
【0162】
本明細書で提示する主題が、コンピュータプロセス、コンピュータ制御装置、コンピューティングシステム、又はコンピュータ可読記憶媒体などの製造品として実装され得ることを諒解されたい。本明細書で説明する主題を、1つ又は複数のコンピューティングデバイス上で実行するプログラムモジュールの一般的なコンテキストで提示するが、他の例が他のタイプのプログラムモジュールと組み合わせて実行され得ることを当業者は認識されよう。概して、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実装するルーチン、プログラム、構成要素、データ構造、及び他のタイプの構造を含む。
【0163】
また、本明細書で説明する主題の態様が、本明細書で説明するコンピュータシステム構成を越えて、マルチプロセッサシステム、マイクロプロセッサベースの又はプログラマブルな家庭用電子機器、ミニコンピュータ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯電話デバイス、タブレットコンピューティングデバイス、専用ハードウェアデバイス、ネットワーク器具などを含む他のコンピュータシステム構成上で又はそれに関連して実施され得ることを、当業者は諒解されよう。
【0164】
上記に基づいて、車両センサを較正することと、ポジションエラーを修正するためにそこから収集されたセンサデータを使用することとについて本明細書で提示したことを諒解されたい。さらに、本明細書で提示する主題が、コンピュータ構造特徴、方法論的行為、及びコンピュータ可読媒体に固有の言語で記載されているが、添付の特許請求の範囲に定義されている発明が、必ずしも、本明細書で説明する特定の特徴、行為、又は媒体に限定されるとは限らないことを理解されたい。むしろ、特定の特徴、行為及び媒体を特許請求の範囲に記載の主題を実装する例示的な形態として開示する。
【0165】
上記で説明した主題は、単に例として与えたものであり、限定するものと解釈すべきではない。さらに、請求する主題は、本開示のいずれかの部分で言及されたいずれか又は全ての欠点を解決する例に限定されない。図示の説明した例及び適用例に従うことなく、本発明の趣旨及び範囲から逸脱することなく添付の特許請求の範囲に記載の本明細書で説明する主題に様々な修正及び変更がなされ得る。
【0166】
例示的な条項
A:システムであって、1つ又は複数のプロセッサと、1つ又は複数のプロセッサに通信可能に結合され、車両上の第1のセンサから第1のデータセットとして第1のセンサデータを受信し、車両上の第2のセンサから第2のデータセットとして第2のセンサデータを受信することと、ボクセル空間に第1のデータセットと第2のデータセットとを投影することと、ボクセル空間中の占有されたボクセルを識別することと、ボクセル空間中の占有されたボクセルの個々のボクセルに関連する残差値を計算することと、残差値の大きさを最適化するようにボクセル空間中の第1のデータセット又は第2のデータセットのポジションを調整することと、ボクセル空間の最適化されたボクセルスコアに対応するセンサ変換を決定することとを行うように1つ又は複数のプロセッサによって実行可能な命令を記憶した1つ又は複数のコンピュータ可読記憶媒体とを備えるシステム。
【0167】
B:段落Aとしてのシステムであって、命令は、各ボクセルの占有ペナルティを決定することであって、占有スコアは、占有ペナルティに少なくとも部分的に基づいて決定される、決定することと、センサ変換に少なくとも部分的に基づいて第2のデータセットの少なくともサブセットに対応するデータポイントを再投影することによってボクセル空間中の各ボクセルの占有スコアを最小化することとを行うように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0168】
C:段落A又はBとしてのシステムであって、第1のセンサ及び第2のセンサは、同じセンサであるシステムについて記載する。
【0169】
D:段落A~Cのいずれか一段としてのシステムであって、命令は、固有値分解から生じる最小固有値又はセンサ変換を決定するときに少なくとも第2のデータセットを表す平面からの第1のデータセット中のデータポイントの距離のうちの1つ又は複数に基づいて残差値を決定することを行うように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0170】
E:段落A~Dのいずれか一段としてのシステムであって、命令は、動きセンサ、ナビゲーションセンサ、画像センサ、又は深度センサのうちの少なくとも1つから入力を受信することと、車両の軌道に少なくとも部分的に基づいて関心領域を決定することであって、第1のデータセット又は第2のデータセットは、関心領域中で収集される、決定することとを行うように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0171】
F:段落Eとしてのシステムであって、関心領域は、中央位置と中央位置を中心とする時間ウィンドウとを備え、中央位置は、車両のヨーレート、経路の曲率半径、車両のポジション、又は車両のスピードのうちの少なくとも1つに基づいて識別されるシステムについて記載する。
【0172】
G:段落A~Fのいずれか一段としてのシステムであって、命令は、第1のセンサ若しくは第2のセンサのうちの少なくとも1つを較正すること、車両のポジションに関連するドリフトエラーを計算すること、又は車両の軌道に関連するエラーを識別することを行うように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0173】
H:段落A~Gのいずれか一段としてのシステムであって、命令は、ボクセル空間中のボクセルのサイズを低減することと、ボクセル空間に投入するボクセルの数を増加することとを行うように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0174】
I:段落A~Hのいずれか一段としてのシステムであって、命令は、ボクセル空間に関連する第2のボクセルスコアを計算することと、第2の最適化されたボクセルスコアに対応する第2のセンサ変換を決定することであって、第1のセンサと第2のセンサとの較正は、第2のセンサ変換に少なくとも部分的に基づく、決定することとを行うように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0175】
J:実行に応答して、段落A~Iのいずれか一段としてのシステムを実行するようにコンピュータを構成するコンピュータ実行可能命令を有するコンピュータ可読媒体について記載する。
【0176】
K:方法であって、車両の複数のセンサからデータセットを受信するステップと、ボクセル空間にデータセットを投影するステップと、ボクセル空間に関連する残差値を低減するためにデータセットの第1のセンサデータを摂動するステップであって、第1のセンサデータは、複数のセンサのうちの第1のセンサに対応する、摂動するステップと、ボクセル空間に関連する最小化された残差値に対応する第1のセンサデータに対するセンサ変換を決定するステップと、センサ変換に少なくとも部分的に基づいて複数のセンサのうちの第1のセンサを較正するステップとを備える方法。
【0177】
L:段落Kとしての方法であって、各ボクセルの残差は、占有スコアと残差値との和を備え、残差値は、固有値又は平面までの距離のうちの1つに関連付けられる、方法について記載する。
【0178】
M:段落K又はLとしての方法であって、車両が第1の時間に基準点に位置するという指示を受信するステップと、第1の時間に第1の集約データセットをキャプチャするステップであって、第1の集約データセットは、複数のセンサに関連し、基準点における環境に対応する第1のメタスピンを備える、キャプチャするステップと、車両が第2の時間に基準点に位置するという指示を受信するステップと、第2の時間に第2の集約データセットをキャプチャするステップであって、第2の集約データセットは、複数のセンサに関連し、基準点における環境に対応する第2のメタスピンを備える、キャプチャするステップと、基準点における環境に対応するボクセル空間に第1の集約データセットと第2の集約データセットとを投影するステップと、第2のボクセル空間に関連する残差値を最小化するために第2の集約データセットの1つ又は複数の次元を摂動するステップと、第1の時間と第2の時間との間の測位エラーを決定するステップと、の方法について記載する。
【0179】
N:段落K~Mのいずれか一段としての方法であって、動きセンサデータ又はナビゲーションセンサデータのうちの少なくとも1つに基づいて車両の軌道を計算するステップと、軌道が関心領域に対応すると決定するステップと、関心領域に関連する時間ウィンドウを識別するステップであって、第1のセンサデータは、関心領域中で収集されたデータを備える、識別するステップとをさらに備える方法について記載する。
【0180】
O:段落Nとしての方法であって、軌道が関心領域に対応すると決定するステップは、車両のヨーレート、経路の曲率半径、車両のポジション、又は車両のスピードのうちの少なくとも1つに基づく方法について記載する。
【0181】
P:段落K~Oのいずれか一段としての方法であって、ボクセル空間中のボクセルのサイズが最小サイズでないと決定するステップと、ボクセル空間中のボクセルのサイズを低減するステップと、ボクセル空間中のボクセルの数を増加するステップと、ボクセルの低減されたサイズごとに第1のセンサデータに対する変換を反復的に決定するステップであって、第1のセンサの較正は、変換の反復的な決定に基づく、決定するステップとをさらに備える方法について記載する。
【0182】
Q:段落K~Pのいずれか一段としての方法であって、複数のセンサのうちの第1のセンサがアライメント外れであるという指示を受信するステップと、車両の動作制御システムへの入力から第1のセンサに関連するデータを除去するステップであって、複数のセンサのうちの少なくとも1つのセンサを較正するステップは、第1のセンサを較正するステップを備える、除去するステップと、第1のセンサの較正に応答して、動作制御システムに第1のセンサデータを送るステップとをさらに備える方法について記載する。
【0183】
R:システム又はデバイスであって、プロセッサと、プロセッサに結合されたコンピュータ可読媒体であって、コンピュータ可読媒体は、段落K~Qのいずれか一段としてのコンピュータ実装方法を実行するようにプロセッサを構成する命令を含む、コンピュータ可読媒体とを備えるシステム又はデバイスについて記載する。
【0184】
S:システム又はデバイスであって、処理するための手段と、処理するための手段に結合された記憶するための手段であって、記憶するための手段は、段落K~Qのいずれか一段としてのコンピュータ実装方法を実行するように1つ又は複数のデバイスを構成する命令を含む、記憶するための手段とを備えるシステム又はデバイスについて記載する。
【0185】
T:実行に応答して、段落K~Qのいずれか一段としての方法を実行するようにコンピュータを構成するコンピュータ実行可能命令を有するコンピュータ可読媒体について記載する。
【0186】
U:デバイスであって、1つ又は複数のプロセッサと、1つ又は複数のコンピュータ可読記憶媒体であって、1つ又は複数のプロセッサに通信可能に結合され、複数のセンサからデータセットを受信することと、ボクセル空間にデータセットを投影することであって、ボクセル空間は、複数のボクセルを備える、投影することと、ボクセル空間に関連する残差値を低減するためにデータセットの第1のセンサデータを摂動することであって、第1のセンサデータは、複数のセンサのうちの第1のセンサに対応し、残差値は、第1のセンサデータに関連する各ボクセルからデータセットの一部分を表す平面までの距離又は各ボクセルの最小固有値に少なくとも部分的に基づく、摂動することと、ボクセル空間に関連する最小化された残差値に対応する第1のセンサデータに対する変換を決定することとを行うように1つ又は複数のプロセッサによって実行可能な命令を記憶したコンピュータ可読記憶媒体とを備えるデバイス。
【0187】
V:段落Uとしてのデバイスであって、命令は、動きセンサ、ナビゲーションセンサ、深度センサ、又は画像センサのうちの少なくとも1つからデータを受信することと、データに基づいて車両の軌道を計算することと、軌道が関心領域に対応すると決定することと、関心領域に関連する時間ウィンドウを識別することであって、データセットは、関心領域中で収集されたデータを備える、識別することとを行うように1つ又は複数のプロセッサによってさらに実行可能であるデバイスについて記載する。
【0188】
W:段落U又はKとしてのデバイスであって、第1のセンサデータを摂動することは、第1のセンサデータに関連する1つ又は複数の方向次元と1つ又は複数の向き次元とに対するポジションを調整することを備えるデバイスについて記載する。
【0189】
X:段落U~Wのいずれか一段としてのデバイスであって、命令は、ボクセル空間中のボクセルのサイズが最小サイズでないと決定することと、ボクセル空間中のボクセルの数を増加することと、ボクセル空間中のボクセルのサイズを低減することと、ボクセルの低減されたサイズごとに第1のセンサデータに対する変換を反復的に決定することであって、複数のセンサのうちの少なくとも1つのセンサの較正は、変換の反復的な決定に基づく、決定することとを行うように1つ又は複数のプロセッサによってさらに実行可能であるデバイスについて記載する。
【0190】
Y:システムであって、1つ又は複数のプロセッサと、1つ又は複数のコンピュータ可読記憶媒体であって、1つ又は複数のプロセッサに通信可能に結合され、車両の複数のセンサによってキャプチャされたセンサデータを受信することと、ボクセル空間にセンサデータを適用することと、複数のセンサのうちの第1のセンサの第1の体勢と複数のセンサのうちの第2のセンサの第2の体勢とを決定することと、摂動のセットに少なくとも部分的に基づいて第1のセンサ又は第2のセンサに適用すべき変換を識別することであって、摂動のセット中の各摂動は、第1のセンサ又は第2のセンサのうちの少なくとも1つに対応する大きさと、方向次元のうちの少なくとも1つ又は向き次元のうちの少なくとも1つとを備える、識別することと、各第1のセンサ又は第2のセンサに適用される摂動に関連するボクセル空間の残差値を計算することと、ボクセル空間の最適化された残差値に少なくとも部分的に基づいて第1のセンサ又は第2のセンサの最適化された体勢を決定することであって、最適化された残差値は、摂動のセットのうちの1つに関連する変換に対応する、決定することとを行うように1つ又は複数のプロセッサによって実行可能な命令を記憶したコンピュータ可読記憶媒体とを備えるシステム。
【0191】
Z:段落Yとしてのシステムであって、向き次元のうちの少なくとも1つが第1のセンサ又は第2のセンサに関連するピッチ、ロール、及びヨーに対応するシステムについて記載する。
【0192】
AA:段落Y又はZとしてのシステムであって、方向次元のうちの少なくとも1つが、X軸、Y軸、又はZ軸に対する第1のセンサ又は第2のセンサの並進に対応するシステムについて記載する。
【0193】
AB:段落Y~AAのいずれか一段としてのシステムであって、各摂動の大きさが、ボクセル空間中の個々のボクセルのボクセルサイズに少なくとも部分的に基づくシステムについて記載する。
【0194】
AC:段落Y~ABのいずれか一段としてのシステムであって、摂動のセットが、向きの組合せを備え、方向次元の変更を備えないシステムについて記載する。
【0195】
AD:段落ACとしてのシステムであって、摂動のセットに適用する少なくとも1つの大きさを決定することと、摂動のセットに少なくとも1つの大きさを適用することであって、最適化された残差値は、摂動のセットへの少なくとも1つの大きさの適用から生じた最適な値に少なくとも部分的に基づく、適用することとをさらに備えるシステムについて記載する。
【0196】
AE:段落Y~ADのいずれか一段としてのシステムであって、命令は、最適化された体勢に少なくとも部分的に基づいて第1のセンサ又は第2のセンサのうちの少なくとも1つを較正するように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0197】
AF:段落Y~AEのいずれか一段としてのシステムであって、命令は、最適化された体勢に少なくとも部分的に基づいて車両のポジションに関連するドリフトエラーを決定するように1つ又は複数のプロセッサによってさらに実行可能であるシステムについて記載する。
【0198】
AG:実行に応答して、段落A~Iのいずれか一段としてのシステムを実行するようにコンピュータを構成するコンピュータ実行可能命令を有するコンピュータ可読媒体について記載する。
【0199】
AH:方法であって、車両の第1のセンサによってキャプチャされた第1のセンサデータと第2のセンサによってキャプチャされた第2のセンサデータとを備えるデータセットを受信するステップと、ボクセル空間にデータセットを適用するステップと、ボクセル空間の残差値を決定するステップと、それぞれのセンサの少なくとも1つの方向次元又は少なくとも1つの向き次元に関して第1のセンサ又は第2のセンサのうちの少なくとも1つに適用すべき変換を識別するステップであって、変換は、ボクセル空間の最適化された残差値に関連付けられる、識別するステップとを備える方法。
【0200】
AI:段落AHとしての方法であって、変換を識別するステップは、少なくとも1つの向き次元とは無関係に少なくとも1つの方向次元を摂動するステップを備える方法について記載する。
【0201】
AJ:段落AH又はAIとしての方法であって、変換を識別するステップは、摂動のセットによって第1のセンサ又は第2のセンサを摂動するステップを備える方法について記載する。
【0202】
AK:段落AH~AJのいずれか一段としての方法であって、データセットは、第1のデータセットであり、車両が第1の時間に基準点にあるという第1の指示を受信するステップと、第1の指示に少なくとも部分的に基づいて、基準点に近接した環境の第1の表現を備える第1のデータセットをキャプチャするステップと、車両が第2の時間に基準点にあるという第2の指示を受信するステップと、第2の指示に少なくとも部分的に基づいて、基準点に近接した環境の第2の表現を備える第2のデータセットをキャプチャするステップとをさらに備え、変換を識別するステップは、第2のデータセットに関連する次元を摂動するステップを備える方法について記載する。
【0203】
AL:段落AH~AKのいずれか一段としての方法であって、変換に少なくとも部分的に基づいて第1のセンサ若しくは第2のセンサのうちの少なくとも1つを較正するステップ、又は変換に少なくとも部分的に基づいて車両のドリフトエラーを決定するステップをさらに備える方法について記載する。
【0204】
AM:段落AH~ALのいずれか一段としての方法であって、変換を識別するステップは、摂動のセットによって第1のセンサ又は第2のセンサを摂動するステップを備え、ボクセル空間中のボクセルのサイズを決定するステップであって、摂動のセット中の各摂動は、ボクセルのサイズに少なくとも部分的に基づく、決定するステップをさらに備える方法について記載する。
【0205】
AN:段落AH~AMのいずれか一段としての方法であって、変換を識別するステップは、摂動のセットによって第1のセンサ又は第2のセンサを摂動するステップを備え、摂動のセットの各摂動は、少なくとも1つの方向次元又は少なくとも1つの向き次元に関する大きさを備える方法について記載する。
【0206】
AO:システム又はデバイスであって、プロセッサと、プロセッサに結合されたコンピュータ可読媒体であって、コンピュータ可読媒体は、段落AH~ANのいずれか一段としてのコンピュータ実装方法を実行するようにプロセッサを構成する命令を含む、コンピュータ可読媒体とを備えるシステム又はデバイスについて記載する。
【0207】
AP:システム又はデバイスであって、処理するための手段と、処理するための手段に結合された記憶するための手段であって、記憶するための手段は、段落AH~ANのいずれか一段としてのコンピュータ実装方法を実行するように1つ又は複数のデバイスを構成する命令を含む、記憶するための手段とを備えるシステム又はデバイスについて記載する。
【0208】
AQ:実行に応答して、段落AH~ANのいずれか一段としての方法を実行するようにコンピュータを構成するコンピュータ実行可能命令を有するコンピュータ可読媒体について記載する。
【0209】
AR:1つ又は複数の非一時的コンピュータ可読記憶媒体であって、1つ又は複数のプロセッサに通信可能に結合され、第1のセンサによってキャプチャされた第1のセンサデータと第2のセンサによってキャプチャされた第2のセンサデータとを備えるデータセットを受信することと、ボクセル空間にデータセットを投影することと、それぞれのセンサの少なくとも1つの方向次元又は少なくとも1つの向き次元に関して第1のセンサ又は第2のセンサのうちの少なくとも1つに適用すべき変換を識別することであって、変換は、ボクセル空間の最適化された残差値に関連付けられる、識別することとを行うように1つ又は複数のプロセッサによって実行可能な命令を記憶した1つ又は複数の非一時的コンピュータ可読記憶媒体。
【0210】
AS:段落ARとしての1つ又は複数の非一時的コンピュータ可読記憶媒体であって、命令は、変換に少なくとも部分的に基づいて第1のセンサ若しくは第2のセンサのうちの少なくとも1つを較正すること、又は変換に少なくとも部分的に基づいて車両のドリフトエラーを決定することを行うように1つ又は複数のプロセッサによってさらに実行可能である1つ又は複数の非一時的コンピュータ可読記憶媒体について記載する。
【0211】
AT:段落AR又はASとしての1つ又は複数の非一時的コンピュータ可読記憶媒体であって、向き次元は、ピッチ、ロール、又はヨーのうちの少なくとも1つに対応し、方向次元は、X軸、Y軸、又はZ軸のうちの少なくとも1つに対応する1つ又は複数の非一時的コンピュータ可読記憶媒体について記載する。
【0212】
AU:段落AR~ATのいずれか一段としての1つ又は複数の非一時的コンピュータ可読記憶媒体であって、少なくとも1つの方向次元又は向き次元に関する第1のセンサ又は第2のセンサのうちの少なくとも1つへの変換の適用は、2又は3次元への同時の変更を備える1つ又は複数の非一時的コンピュータ可読記憶媒体について記載する。
【0213】
AV:段落AR~AUのいずれか一段としての1つ又は複数の非一時的コンピュータ可読記憶媒体であって、変換の大きさが、ボクセル空間中の個々のボクセルのボクセルサイズに少なくとも部分的に基づく1つ又は複数の非一時的コンピュータ可読記憶媒体について記載する。
【0214】
システム又はデバイスであって、プロセッサと、プロセッサに結合されたコンピュータ可読媒体であって、コンピュータ可読媒体は、段落AR~AVのいずれか一段としてのコンピュータ実装方法を実行するようにプロセッサを構成する命令を含む、コンピュータ可読媒体とを備えるシステム又はデバイスについて記載する。