(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-13
(54)【発明の名称】センサシステムのキャリブレーション
(51)【国際特許分類】
G01S 7/497 20060101AFI20230306BHJP
G01S 17/931 20200101ALI20230306BHJP
【FI】
G01S7/497
G01S17/931
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022542041
(86)(22)【出願日】2021-01-06
(85)【翻訳文提出日】2022-09-05
(86)【国際出願番号】 US2021012309
(87)【国際公開番号】W WO2021141988
(87)【国際公開日】2021-07-15
(32)【優先日】2020-01-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-05-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521026699
【氏名又は名称】ルミナー,エルエルシー
(74)【代理人】
【識別番号】110001999
【氏名又は名称】弁理士法人はなぶさ特許商標事務所
(72)【発明者】
【氏名】スタヴァニ,アメイ
(72)【発明者】
【氏名】ワラジャペット モハン,レッカ
(72)【発明者】
【氏名】エングラード,ベンジャミン
【テーマコード(参考)】
5J084
【Fターム(参考)】
5J084AA05
5J084AB01
5J084AB07
5J084AB20
5J084AC02
5J084AC03
5J084AC04
5J084AC05
5J084AD01
5J084BA04
5J084BA20
5J084BA36
5J084BA50
5J084BB13
5J084BB16
5J084BB20
5J084BB21
5J084BB22
5J084BB23
5J084BB25
5J084BB26
5J084BB28
5J084BB38
5J084CA03
5J084CA04
5J084CA05
5J084CA26
5J084CA31
5J084CA32
5J084CA68
5J084DA01
5J084EA08
5J084FA01
(57)【要約】
システムは、異なるが重複する視野を有する複数のセンサと、センサに通信可能に結合されたコントローラとを含む。複数のセンサをキャリブレートするための方法は、センサからデータを取得すること、センサの少なくとも1つについて最適化された変換パラメータを決定すること、及びデータを一方のセンサ投影平面から他方のセンサ投影平面に変換することを含む。この方法は、データセット、及びセンサの変換されたデータセット間の、相互情報のメトリックを使用して、最適化された変換パラメータのセットを決定する反復プロセスである。センサは、複数のライダーセンサ、カメラ及びライダーセンサ、又は他のセンサのセットであってもよい。
【特許請求の範囲】
【請求項1】
センサから受信したデータを処理するための方法であって、
処理ハードウェアにより、第1のセンサから、該第1のセンサの視野において検出された環境に対応する第1のセンサデータを受信すること、
前記処理ハードウェアにより、前記第1のセンサから位置及び/又は方向が物理的にオフセットされた第2のセンサから、前記第1のセンサの前記視野に少なくとも部分的に重なる、前記第2のセンサの視野において検出された環境に対応する第2のセンサデータを受信すること、及び、
前記処理ハードウェアにより、前記第1のセンサデータと前記第2のセンサデータとの間の相互情報のメトリックを考慮して変換パラメータ候補を反復的に修正することを含み、前記第1のセンサデータと前記第2のセンサデータとの位置合わせのための変換パラメータのセットを決定すること、を含むことを特徴とする方法。
【請求項2】
前記第1のセンサデータを受信することは、それぞれが各々の強度値を含むピクセルで構成される二次元画像を受信することを含み、
前記第2のセンサデータを受信することは、それぞれが空間座標のセット及び各々の強度値を含む点で構成される三次元点群を受信することを含むことを特徴とする請求項1記載の方法。
【請求項3】
前記相互情報のメトリックは、前記第1のセンサデータ中の前記強度値と、前記第2のセンサデータ中の前記強度値との間の相関を示すことを特徴とする請求項2記載の方法。
【請求項4】
前記第1のセンサデータを受信することは、それぞれが空間座標のセットを含む点で構成される第1の三次元点群を受信することを含み、
前記第2のセンサデータを受信することは、それぞれが空間座標のセットを含む点で構成される第2の三次元点群を受信することを含み、
前記相互情報のメトリックは、前記第1のセンサデータ中の前記空間座標のセットと、前記第2のセンサデータ中の前記空間座標のセットとの間の相関を示すことを特徴とする請求項1記載の方法。
【請求項5】
前記第1の三次元点群及び前記第2の三次元点群中の点の各々は、それぞれの強度値又は反射率値を更に含み、
前記相互情報のメトリックは、前記第1のセンサデータ中の前記強度値と、前記第2のセンサデータ中の前記強度値との間の相関を更に示すことを特徴とする請求項4記載の方法。
【請求項6】
前記相互情報のメトリックを生成する際に、前記空間座標のセットに第1の重みを適用し、前記強度値に第2の重みを適用すること、を更に含むことを特徴とする請求項5記載の方法。
【請求項7】
前記変換パラメータのセットは、回転オフセット又は並進オフセットの少なくとも1つを含むことを特徴とする請求項1記載の方法。
【請求項8】
前記変換パラメータ候補を反復的に修正することは、
前記処理ハードウェアにより、変換パラメータの候補セットを前記変換パラメータの初期セットに設定すること、
前記処理ハードウェアにより、変換パラメータの前記候補セットに従って、前記第2のセンサデータを前記第1のセンサデータの基準フレームに変換すること、
前記処理ハードウェアにより、前記第1のセンサデータ及び変換された前記第2のセンサデータについて、前記相互情報のメトリックを計算すること、及び、
終了条件が満たされるまで、変換パラメータの異なるそれぞれの候補セットについて、前記変換及び前記計算を反復して行うこと、を含むことを特徴とする請求項1記載の方法。
【請求項9】
ユーザインターフェースを介してオペレータから、変換パラメータの前記初期セットを受信すること、を更に含むことを特徴とする請求項8記載の方法。
【請求項10】
変換パラメータの前記初期セットとして、前のキャリブレーション処理の結果を選択すること、を更に含むことを特徴とする請求項8記載の方法。
【請求項11】
前記第1のセンサの前記視野と前記第2のセンサの前記視野との間の重なりを、特定の閾値以上にするグリッド検索を使用して、変換パラメータの前記初期セットを選択すること、を更に含むことを特徴とする請求項8記載の方法。
【請求項12】
前記第2のセンサデータを変換することは、同次変換行列を適用することを含み、該同次変換行列が、回転四元数及び/又は並進ベクトルに基づくものであることを特徴とする請求項8記載の方法。
【請求項13】
前記相互情報のメトリックを計算することは、
前記第1のセンサの前記視野と前記第2のセンサの前記視野との間の重複領域を決定すること、及び、
前記重複領域に対してのみ前記相互情報のメトリックを決定すること、を含むことを特徴とする請求項8記載の方法。
【請求項14】
前記相互情報のメトリックを決定することは、前記第1のセンサの前記視野と前記第2のセンサの前記視野との間の重複領域について、前記第1のセンサデータと前記第2のセンサデータとの間のジョイントヒストグラムを生成することを含み、
前記変換及び前記計算を反復して行うことは、前記ジョイントヒストグラムに基づいて前記相互情報のメトリックを最大化することを含むことを特徴とする請求項8記載の方法。
【請求項15】
前記ジョイントヒストグラムは、値の二次元グリッドを含み、該グリッドの各軸は、前記センサの1つからの強度データ又は深度データを表し、前記グリッドの各値は、前記2つのセンサからのデータの対応するサンプルペアが前記重複領域で観察される確率又は回数に対応することを特徴とする請求項14記載の方法。
【請求項16】
相互情報のメトリックを決定することは、
ジョイントヒストグラムに平滑化フィルタを適用すること、及び、
前記ジョイントヒストグラムの値に確率的手法を適用することで、前記相互情報のメトリックを計算すること、を更に含むことを特徴とする請求項14記載の方法。
【請求項17】
前記変換及び前記計算を反復して行うことは、前記処理ハードウェアにより、変換パラメータの前記候補セットに勾配降下アルゴリズムを適用して、変換パラメータの更新された候補セットを生成することを含むことを特徴とする請求項8記載の方法。
【請求項18】
前記勾配降下アルゴリズムが、バルジライ-ボールウェイン法に従うものであることを特徴とする請求項17記載の方法。
【請求項19】
前記変換及び前記計算を反復して行うことは、前記処理ハードウェアにより、変換パラメータの前記候補セットに勾配なしアルゴリズムを適用して、変換パラメータの更新された候補セットを生成することを含むことを特徴とする請求項8記載の方法。
【請求項20】
前記勾配なし関数が、ネルダー-ミード最適化法に従うものであることを特徴とする請求項19記載の方法。
【請求項21】
前記終了条件は、
(i)前記相互情報のメトリックが、第1の所定閾値を超えること、
(ii)前記相互情報のメトリックに基づくコスト値が、第2の所定閾値未満になること、
(iii)前記変換及び前記計算の反復回数が、第3の所定閾値を超えること、
(iv)現在の反復のコストと前の反復のコストとの間の差が、第4の所定閾値未満になること、のうちの少なくとも1つに対応することを特徴とする請求項8記載の方法。
【請求項22】
前記第1のセンサデータ及び前記第2のセンサデータの各々は、それぞれのセンサによって捕捉された複数のフレームを含むことを特徴とする請求項1記載の方法。
【請求項23】
前記第1のセンサデータを受信することは、第1の三次元点群を受信することを含み、
前記第2のセンサデータを受信することは、第2の三次元点群を受信することを含み、
当該方法は、更に、
前記第1の三次元点群及び前記第2の三次元点群の複数の投影を、それぞれの投影平面へ生成すること、
前記投影平面の各々についてそれぞれの相互情報のメトリックを生成することであって、投影平面についての前記相互情報のメトリックが、(i)前記第1のセンサデータにおける前記投影平面に関連する空間座標のサブセットと、(ii)前記第2のセンサデータにおける前記投影平面に関連する空間座標のサブセットとの間の相関を示すこと、を含むことを特徴とする請求項1記載の方法。
【請求項24】
前記処理ハードウェアにより、前記第1のセンサデータ及び前記第2のセンサデータによって捕捉された動的オブジェクトを識別すること、及び、
前記処理ハードウェアにより、前記変換パラメータのセットの決定が静的オブジェクトのみに制限されるように、前記第1のセンサデータ及び前記第2のセンサデータから動的オブジェクトを除去すること、を更に含むことを特徴とする請求項1記載の方法。
【請求項25】
前記第1のセンサ及び前記第2のセンサは、車両において動作し、
前記第1のセンサデータ及び前記第2のセンサデータは、前記車両が停止しているときに捕捉されることを特徴とする請求項1記載の方法。
【請求項26】
前記第1のセンサ及び前記第2のセンサからのセンサデータ間の相関量に対応する相関スコアに基づいて、前記第1のセンサ及び前記第2のセンサからの前記センサデータを選択することであって、前記相関スコアが特定の閾値を超える場合に、前記第1のセンサ及び前記第2のセンサからの前記データが選択されること、を更に含むことを特徴とする請求項1記載の方法。
【請求項27】
前記第1のセンサからの第1のセンサデータの追加セットと、前記第2のセンサからの第2のセンサデータの追加セットとを受信すること、及び、
決定された前記変換パラメータのセットに従って、第2のセンサデータの前記追加セットを第1のセンサデータの前記追加セットと結合すること、を更に含むことを特徴とする請求項1記載の方法。
【請求項28】
前記第1のセンサからの第1のセンサデータの追加セットと、前記第2のセンサからの第2のセンサデータの追加セットとを受信すること、
決定された前記変換パラメータのセットに従って、第2のセンサデータの前記追加セットを変換すること、及び、
健全スコアを決定することであって、該健全スコアが、(i)第1のセンサデータの前記追加セットと第2のセンサデータの変換された前記追加セットとに関連する相互情報の追加メトリック、(ii)第1のセンサデータの前記追加セットと第2のセンサデータの変換された前記追加セットとに関連するコスト値、或いは(iii)第1のセンサデータの前記追加セットと第2のセンサデータの変換された前記追加セットとに関連する正規化情報距離値に、少なくとも部分的に基づいていること、を更に含むことを特徴とする請求項1記載の方法。
【請求項29】
前記健全スコアが再キャリブレーション閾値より小さいことを判定すること、及び、
前記健全スコアが前記再キャリブレーション閾値より小さいことに応答して、変換パラメータの新しいセットを決定する必要がある旨の通知を送信すること、を更に含むことを特徴とする請求項28記載の方法。
【請求項30】
前記健全スコアが臨界閾値より小さいことを判定すること、及び、
前記健全スコアが前記臨界閾値より小さいことに応答して、前記第1のセンサ又は前記第2のセンサを整備或いは修理する必要がある旨の通知を送信すること、を更に含むことを特徴とする請求項28記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願との相互参照)
本出願は、2020年1月7日に出願された米国仮出願第62/958,157号、及び2020年5月7日に出願された米国特許出願第16/869,506号の優先権を主張するものであり、それらの全体が、参照により本明細書に明示的に組み込まれるものとする。
【0002】
本開示は、概して、センサシステムのキャリブレーションに関し、より詳細には、センサのキャリブレーションのために様々なセンサからのデータセットを結合するための変換を最適化することに関する。
【背景技術】
【0003】
本明細書で提供される背景の説明は、本開示の文脈を大略的に提示することを目的とするものである。本背景のセクションに記載されている範囲での本明細書の発明者の仕事、並びに出願時に先行技術として他に認定されない可能性のある説明の側面は、本開示に対して先行技術として明示的又は黙示的に認められるものではない。
【0004】
自動運転又は「自律型」車両は、一般に、光検出及び測距(ライダー)装置、カメラ、レーダなどのセンサを採用して、車両が目的地に向かって移動する際に周辺環境を検出又は「見る」ことができる。このような車両は、センサデータを処理し、感知された環境と所望の目的地との双方に基づいて、どの操縦及び操作状態(例えば、制動力、操舵方向)が最も適切かを、走行中に多かれ少なかれ継続的に決定する自動運転制御システムを含んでいる。典型的には、自律型車両の自動運転を可能にするために、ターゲットを検出し、ターゲットを識別し、ターゲット(例えば、他の車両、歩行者、木、道路の端など)までの距離を測定するために、1台の車両に複数のセンシングシステムが採用される。
【0005】
光検出及び測距(ライダー)は、遠隔ターゲットまでの距離を測定するために使用することができる技術である。典型的には、ライダーシステムは、光源と光レシーバとを含む。光源は、例えば、特定の動作波長を有する光を放射するレーザであってよい。ライダーシステムの動作波長は、例えば、電磁スペクトルの赤外線、可視光線、又は紫外線の部分領域にあってよい。光源はターゲットに向けて光を照射し、ターゲットはその光を散乱させる。散乱された光の一部がレシーバで受信される。システムは、戻ってきた光に関連する1つ以上の特性に基づいて、ターゲットまでの距離を測定する。例えば、システムは、戻ってきた光パルスの飛行時間に基づいて、ターゲットまでの距離を測定することができる。
【0006】
更に、システムは、複数のライダーシステムを採用し、或いはライダーシステムをカメラや他の画像システムと組み合わせて、ターゲットまでの距離を測定し、ターゲットを識別し、又は環境マッピング及び他のオブジェクト識別の目的のためにデータを結合することができる。
【発明の概要】
【0007】
本開示の技術の例示的な一実施形態は、様々なタイプのセンサから受信したデータを処理するための、コンピュータ実装された方法である。本方法は、第1のセンサから、第1のセンサの視野(FOR)(field of regard)内で検出された環境に対応する第1のセンサデータを受信することを含む。本方法は、更に、第1のセンサから位置及び/又は向きについて物理的にオフセットされた第2のセンサから、第2のセンサのFORにおいて検出された環境に対応する第2のセンサデータを受信することを含み、第1及び第2のセンサのFORが、少なくとも部分的に重複している。加えて、本方法は、第1のセンサデータと第2のセンサデータとの位置合わせ(alignment)のための、変換パラメータのセットを決定することを含む。変換パラメータのセットの決定は、第1のセンサデータと第2のセンサデータとの間の相互情報のメトリック(metric)に鑑みて、変換パラメータ候補(candidate transformation parameters)を反復的に修正することを含む。
【図面の簡単な説明】
【0008】
【
図1】本開示の技術の少なくともいくつかが実装され得る、例示的な光検出及び測距(ライダー)システムのブロック図である。
【0009】
【
図2】
図1のシステムで動作し得るいくつかの構成要素をより詳細に示している。
【0010】
【
図3】視野内のターゲットを識別する際に
図1のライダーシステムが生成し得るスキャンパターンの例を示している。
【0011】
【
図4】複数のチャンネルを使用して視野内のターゲットを識別する際に
図1のライダーシステムが生成し得るスキャンパターンの例を示している。
【0012】
【
図5】
図1のライダーシステムで動作し得る光源及び検出器の視野(FOV)を模式的に示している。
【0013】
【
図6A】車両を操縦し操作するための様々な構成要素をコントローラが操作し得る、複数のセンサを備えた例示的な自律型車両を示している。
【0014】
【
図6B】異なる視野及び重複する視野を有する複数のセンサを備えた、例示的な自律型車両を示している。
【0015】
【
図7】異なる視野を有する2つのセンサの重複領域を示している。
【0016】
【
図8】複数のライダーセンサヘッドを備えたライダーシステムが環境に関する情報を取得するために使用される、例示的なシステムを示している。
【0017】
【
図9】2つのセンサシステムのための最適な変換パラメータを決定する方法のフロー図である。
【0018】
【
図10】異なるライダーセンサからのデータを結合するための最適な変換パラメータを決定する方法のフロー図である。
【0019】
【
図11A】それぞれの視野の空間的オフセットを有する2つの独立したライダーセンサから受信された、2つのライダー点群のライダー画像である。
【0020】
【
図11B】変換最適化を実行した後の、視野の空間的オフセットを有する2つの独立したライダーセンサから受信された2つのライダー点群のライダー画像である。
【0021】
【
図12】カメラがライダーシステムと協働して環境に関する情報を取得する例示的なシステムを示している。
【0022】
【
図13】ライダー及びカメラデータを組み合わせるための変換パラメータを最適化する方法のフロー図である。
【0023】
【0024】
【0025】
【
図14C】
図14Aの写真画像と、ライダー点群変換の最適化後の
図14Bの変換されたライダー点群とが結合されたものを表す図である。
【発明を実施するための形態】
【0026】
概して、本開示の技術は、複数のセンサを備えるコンピュータビジョンシステムが、複数のセンサからのデータを結合、マージ、又は登録するために、特に、それらの位置及び/又は角度方向の間の物理的オフセットを有するセンサ(すなわち、異なる及び重複する視野(FOR)を有するセンサ)からのデータを結合するために、データ変換を最適化することを可能にする。換言すれば、コンピュータビジョンシステムのセンサは、コンピュータビジョンシステムが動作する環境の同じ部分を、異なるそれぞれの視点から感知する。コンピュータビジョンシステムは、センサデータのセットの1つに適用されるとき、センサデータのセットの位置合わせをもたらす変換パラメータの最適化されたセットを決定する。その結果、コンピュータビジョンシステムは、センサデータのセットを正しく重ね合わせ、知覚及び予測の全体的な精度を向上させるように、他のセンサによって生成されたセンサデータを用いて一方のセンサをキャリブレートすることができ、例えば、他のセンサの出力を考慮して一方のセンサの動作パラメータを調節し、又はセンサが物理的に位置合わせを変更したか否かを判断し、自動的にセンサを再調整することができる。
【0027】
コンピュータビジョンシステムは、例えば、自律型(「自動運転」)車両で動作し得る。様々な実施態様において、コンピュータビジョンシステムは、ライダー対ライダーのキャリブレーション、ライダー対カメラのキャリブレーション、又はセンサの別の組み合わせの変換のキャリブレーションを実行する。2つのセンサがライダーである場合、コンピュータビジョンシステムは、3D点群内の点の位置を記述する三次元(3D)タプル(tuples)間の空間(x、y、z)及び回転(ヨー、ピッチ、ロール)の位置合わせを求めることができる。付加的又は代替的に、コンピュータビジョンシステムは、空間座標及び対応する強度値iを用いて、3D点群内の点の強度値間の統計的分析及び位置合わせに基づく最適化された変換を決定し、タプル(x、y、z、i)を生成することができる。強度値は、ライダーの視野内のオブジェクトの反射率(reflectivity)を示していてもよく、従って、強度値は、視野内のオブジェクト及びターゲットの反射率値であると考えられてもよい。実施形態において、2つのセンサは、カメラ及びライダーであってもよく、コンピュータビジョンシステムは、自律運転アプリケーションのために2つの検出器からのデータを結合するために、それぞれ、カメラ及びライダーによって生成された二次元(2D)画像内のピクセル及び3D点群内の点の強度値から、最適化された変換を決定することができる。強度値を使用することに加えて、又はその代わりに、コンピュータビジョンシステムは、例えば、(i)表面法線或いは(ii)路面又は車線標識の検出値など、ライダーデータの他の特徴又はチャネルをキャリブレーションに使用することが可能である。
【0028】
コンピュータビジョンシステムは、3D空間における並進(x、y、z)及び回転(ヨー、ピッチ、ロール)に対応する変換パラメータ候補を生成することができる。コンピュータビジョンシステムは、センサデータのセット又はセンサデータのサブセットを、センサデータの他のセットの参照フレームにもたらす試みにおいて、センサデータのセットのうちの1つに変換パラメータを適用することができる。コンピュータビジョンシステムは、次に、センサデータの第1のセットとセンサデータの変換された第2のセットとの相互情報(MI)を計算することができる。この目的のために、コンピュータビジョンシステムは、例えば、ジョイントヒストグラムを適用することができる。MIは、(x、y、z)座標、グレースケール値、反射率値、強度値、表面法線、及び/又は路面若しくは車線標識の検出に基づくものであってよい。コンピュータビジョンシステムは、例えばある閾値を超えるMIのメトリックをもたらす変換パラメータのセットを識別するように、又は別の終了条件が満たされるまで(例えば、更なる反復の計算/時間コスト閾値を満たす又は超える、最適化反復の最大数に達する、現在の反復と前の反復との間のコスト差を満たす又は超える)、反復最適化手法の一部としてこれらの手順を適用することが可能である。次の反復のための変換パラメータ候補のセットを決定するための好適な技術は、例えば、バルジライ-ボールウェイン法(Barzilai-Borwein method)及びネルダー-ミード法(Nelder-Mead method)を含む。
【0029】
初期の変換パラメータ候補は、ユーザインタフェースを介して受信したオペレータ入力、前のキャリブレーションプロセスの結果、或いは第1及び第2のセンサのFOR間のある許容量の重複に対するグリッド探索の結果に対応することができる。
【0030】
更に、いくつかの実施態様において、コンピュータビジョンシステムは、第1及び第2のセンサデータセットに対して複数の変換又は投影を実行し、第1及び第2のデータセットを対応する投影平面に変換することができる。次いで、コンピュータビジョンシステムは、第1及び第2のデータセットをマージするための「最良」(すなわち、MI閾値などの受容性のあるメトリックを満たす)変換又は投影平面を見つけるために、各平面における、各変換されたデータセットのMIを決定する。コンピュータビジョンシステムは、場合によっては、変換最適化中に静的オブジェクトのみを分離し、考慮するように、車や歩行者などの動的オブジェクトを除外することができる。更に、いくつかの実施態様におけるコンピュータビジョンシステムは、車両が静止している期間中にのみ、上記で概説したキャリブレーションプロセスのためのセンサデータを取得する。
【0031】
本技術の出力の例示的な用途は、複数のセンサからのセンサデータをマージすること、ユーザインタフェースを介してマージされたデータをグラフィカルに提示すること、マージされたデータをコントローラ(これは自律型車両の動作を支援し得る)へ提供すること、変換パラメータの決定されたセットを考慮して第1及び/又は第2のセンサの健全性を判定すること、第1及び/又は第2のセンサの空間シフト又は位置合わせの変化を経時的に判定すること、並びに第1及び/又は第2のセンサの手動又は自動物理再調整が必要であるか否かを判断すること、を含んでいる。
【0032】
車両においてライダーと共に従来のカメラを効率的に使用するため、又は車両において複数のライダーシステムを使用するため、本開示のシステムは、ライダーのスキャンパターンを考慮して、カメラ及びライダーからのデータ、又は複数のライダーシステムからのデータを同期させる。特に、カメラ及びライダーを備える実施形態において、システムは、ライダーシステムが1つのスキャンフレームを生成するために全視野を1回スキャンする間に、カメラに一定のレートで写真画像を取り込ませてN枚の写真を生成させる。そして、システムは、あるフレームのライダーピクセルがある写真の対応するピクセルと一致し、同じフレームの別のライダーピクセルが別の写真の対応するピクセルと一致するように、写真画像のピクセル(又はピクセルセット)をスキャンフレーム内の対応するピクセルと位置合わせする。このように、システムは、ライダーが1つのスキャンフレームのスキャンを完了する間に発生する車両の変位を考慮する。更に、このシステム及び方法は、ライダー及びカメラのFORの差を考慮する。同様に、方法及びシステムは、2つのライダー検出器からのデータの、位置合わせ及び組み合わせ、マージ、或いは登録を実行することができる。
【0033】
次に、
図1~
図5を参照して、これらの技術を実装することができるライダーシステムの例を検討し、続いて、車両に対する環境を検出するためのセンサの幾何学的な例を検討する(
図6A、
図6B、及び
図7)。次に、異なる視野を有する複数のセンサからのデータを組み合わせるための変換パラメータを最適化する方法及びシステムの例について、
図8及び
図9を参照しながら検討する。続いて、2つのライダーセンサからのデータを結合し、キャリブレーションするための方法及びシステムの例(
図8、及び
図10~
図11B)、並びにカメラ-ライダーセンサシステムのデータを結合し、キャリブレーションするための方法及びシステムの例(
図12~
図14C)について検討する。
(システムの概要)
【0034】
図1は、例示的な光検出及び測距(lidar)システム100を示す。ライダーシステム100は、レーザ測距システム、レーザレーダシステム、LIDARシステム、ライダーセンサ、又はレーザ検出及び測距(LADAR又はladar)システムと呼ばれることがある。ライダーシステム100は、光源110、ミラー115、スキャナ120、レシーバ140、及びコントローラ150を含んでもよい。光源110は、例えば、電磁スペクトルの赤外線、可視光線、又は紫外線の部分領域において特定の動作波長を有する光を放射するレーザであってもよい。より具体的な例として、光源110は、約1.2μm~1.7μmの間の動作波長を有するレーザを含んでもよい。
【0035】
動作中、光源110は、所定の用途に適した任意の方法で連続波の、パルスの、又は変調され得る、光の出力ビーム125を放出する。光の出力ビーム125は、ライダーシステム100から距離Dに位置すると共にシステム100の視野内に少なくとも部分的に含まれる、遠隔ターゲット130へ向けてダウンレンジに向けられる。シナリオ及び/又はライダーシステム100の実施態様に依存して、Dは、例えば1m~1kmの間であってよい。
【0036】
出力ビーム125がダウンレンジターゲット130に到達すると、ターゲット130は、出力ビーム125からの光の少なくとも一部を散乱させ、或いは場合によっては反射し、散乱又は反射された光の一部がライダーシステム100に向かって戻ることができる。
図1の例において、散乱又は反射された光は、ビームスキャナ、光学スキャナ、又はレーザスキャナと呼ばれ得るスキャナ120を通過する、入力ビーム135によって表されている。入力ビーム135は、スキャナ120を通過して、オーバーラップミラー、重ね合わせミラー、又はビームコンバイナーミラーと呼ばれ得るミラー115へ向かう。ミラー115は、次に、入力ビーム135をレシーバ140へ向けさせる。入力135は、出力ビーム125からの光の比較的小さな部分のみを含むことができる。例えば、入力ビーム135の平均パワー、ピークパワー、又はパルスエネルギーの、出力ビーム125の平均パワー、ピークパワー、又はパルスエネルギーに対する比は、約10
-1、10
-2、10
-3、10
-4、10
-5、10
-6、10
-7、10
-8、10
-9、10
-10、10
-11、又は10
-12で有り得る。別の例として、出力ビーム125のパルスが1マイクロジュール(μJ)のパルスエネルギーを有する場合、入力ビーム135の対応するパルスのパルスエネルギーは、約10ナノジュール(nJ)、1nJ、100ピコジュール(pJ)、10pJ、1pJ、100フェムトジュール(fJ)、10fJ、1fJ、100アトジュール(aJ)、10aJ、又は1aJのパルスエネルギーを有し得る。
【0037】
出力ビーム125は、レーザビーム、光ビーム、光学ビーム、放射ビーム、又は単にビームと称されることがあり、入力ビーム135は、戻りビーム、受信ビーム、戻り光、受信光、入力光、散乱光、又は反射光と称されることがある。本明細書で使用されるように、散乱光は、ターゲット130によって散乱又は反射される光を指す場合がある。入力ビーム135は、ターゲット130によって散乱された出力ビーム125からの光、ターゲット130によって反射された出力ビーム125からの光、又はターゲット130からの散乱光及び反射光の組み合わせを含んでもよい。
【0038】
ライダーシステム100の動作波長は、例えば、電磁スペクトルの赤外線部分、可視部分、又は紫外線部分にある場合がある。太陽もこれらの波長範囲の光を生成するため、太陽光は、ライダーシステム100によって検出される信号光を不明瞭にする背景ノイズとして作用する虞がある。この太陽の背景ノイズは、特にレシーバ140がSPAD検出器(これは高感度であり得る)を含む場合、ライダーシステム100の測定値を誤検出させるか、さもなければ破損させる虞がある。
【0039】
一般に、地球の大気を通過してシステム100などの地上ベースのライダーシステムに到達する太陽からの光は、このシステムに対する光学的背景ノイズフロアを確立することがある。従って、ライダーシステム100からの信号が検出可能であるためには、信号は、背景ノイズフロアよりも上昇しなければならない。一般に、出力ビーム125のパワーレベルを上げることによってライダーシステム100の信号対ノイズ(SNR)比を高めることが可能であるが、いくつかの状況では、出力ビーム125のパワーレベルを比較的低く保つことが望ましいことがある。例えば、出力ビーム125の送信パワーレベルを上げると、ライダーシステム100が目に安全(eye-safe)でなくなる可能性がある。
【0040】
いくつかの実施態様において、ライダーシステム100は、大気吸収が比較的低い周波数で動作する。例えば、ライダーシステム100は、およそ980nmから1110nmまで、或いは1165nmから1400nmまでの範囲の波長で動作してもよい。
【0041】
他の実施態様において、ライダーシステム100は、大気吸収が高い周波数で動作する。例えば、ライダーシステム100は、およそ930nmから980nmまで、1100nmから1165nmまで、或いは1400nmから1460nmまでの範囲の波長で動作してもよい。
【0042】
いくつかの実施態様によれば、ライダーシステム100は、アイセーフレーザを含むことができる。アイセーフレーザは、レーザからの放射光が人の目に損傷を与える可能性をほとんど又は全く示さないような放射波長、平均パワー、ピークパワー、ピーク強度、パルスエネルギー、ビームサイズ、ビーム発散、又は露光時間を有するレーザを指す場合がある。例えば、光源110は、通常の使用の全ての条件下で安全なクラス1レーザ製品(国際電気標準会議(IEC)の60825-1規格によって規定される)又はクラスIレーザ製品(米国連邦規則(CFR)のタイトル21、セクション1040.10によって規定される)として分類され得る。いくつかの実施態様において、光源110は、約1400nmから約2100nmの間の任意の適切な波長で動作するように構成された、アイセーフレーザ(例えば、クラス1又はクラスIレーザ)を含んでもよい。いくつかの実施態様において、光源110は、約1400nmと約1600nmとの間の動作波長を有するアイセーフレーザを含んでもよい。いくつかの実施態様において、光源110は、約1530nmと約1560nmとの間の動作波長を有するアイセーフレーザを含んでもよい。いくつかの実施態様において、光源110は、約1400nmと約1600nmとの間の動作波長を有するアイセーフファイバーレーザ又は固体レーザを含んでもよい。
【0043】
レシーバ140は、入力ビーム135から光子を受信又は検出し、1つ又は複数の代表的な信号を生成してもよい。例えば、レシーバ140は、入力ビーム135を代表する出力電気信号145を生成してもよい。レシーバは、電気信号145をコントローラ150に送信してもよい。実施態様によっては、コントローラ150は、電気信号145の1つ以上の特性を分析して、ライダーシステム100からの距離ダウンレンジなどのターゲット130の1つ以上の特性を決定するように構成された、1つ以上のプロセッサ、メモリモジュール、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、及び/又は他の適切な回路を含んでもよい。より詳細には、コントローラ150は、光源110によって送信された光ビーム125についての飛行時間又は位相変調を分析してもよい。ライダーシステム100がTの飛行時間を測定する場合(例えばTは、放出された光のパルスがライダーシステム100からターゲット130に移動してライダーシステム100に戻るための往復飛行時間を表す)、ターゲット130からライダーシステム100までの距離Dは、「D=c・T/2」と表すことができ、ここでcは光の速度(約3.0×108m/s)である。
【0044】
より具体的な例として、ライダーシステム100が飛行時間をT=300nsと測定する場合、ライダーシステム100は、ターゲット130からライダーシステム100までの距離をおよそD=45.0mと決定することができる。他の例として、ライダーシステム100は、飛行時間をT=1.33μsと測定すると、ターゲット130からライダーシステム100までの距離をおよそD=199.5mと決定する。ライダーシステム100からターゲット130までの距離Dは、ターゲット130の距離、深さ、又は範囲と呼ばれ得る。本明細書で使用されるように、光の速度cは、例えば空気中、水中、又は真空中など、任意の適切な媒体における光の速度を示す。真空中の光の速度は約2.9979×108m/sであり、空気中(屈折率約1.0003を有する)の光の速度は約2.9970×108m/sである。
【0045】
ターゲット130は、ライダーシステム100の最大レンジRMAX以下である、ライダーシステム100からの距離Dに位置し得る。ライダーシステム100の最大レンジRMAX(最大距離とも呼ばれ得る)は、ライダーシステム100がライダーシステム100の視野に現れるターゲットを感知又は識別するように構成される最大距離に対応することができる。ライダーシステム100の最大レンジは、例えば25m、50m、100m、200m、500m、又は1kmなど、任意の適切な距離であってよい。具体例として、200mの最大レンジを有するライダーシステムは、最大200m離れたところに位置する様々なターゲットを感知又は識別するように構成することができる。最大レンジ200m(RMAX=200m)のライダーシステムの場合、最大レンジに対応する飛行時間は、約2・RMAX/c≒1.33μsである。
【0046】
いくつかの実施態様において、光源110、スキャナ120、及びレシーバ140は、ライダーシステム100の全て又は一部を保持又は含む箱、ケース、或いは筐体であってもよい、単一のハウジング155内に一緒にパッケージ化することができる。ハウジング155は、ビーム125及び135が通過する窓157を含む。例示的な実施態様において、ライダーシステムハウジング155は、ライダーシステム100の光源110、オーバーラップミラー115、スキャナ120、及びレシーバ140を含む。コントローラ150は、構成要素110、120、及び140と同じくハウジング155内に存在してもよく、或いはコントローラ150がハウジングから離れて存在してもよい。
【0047】
更に、いくつかの実施態様において、ハウジング155は、各々がそれぞれのスキャナ及びレシーバを含む複数のライダーセンサを含む。特定の実施態様に依存して、複数のセンサの各々は、個別の光源又は共通の光源を含むことができる。複数のセンサは、実施態様に応じて、非重複の隣接するFOR又は部分的に重複するFORをカバーするように構成することができる。
【0048】
ハウジング155は、水蒸気、液体の水、汚れ、埃、或いは他の汚染物質がハウジング155の内部に入ることを防止する、気密又は水密構造であってよい。ハウジング155は、例えば乾燥空気、窒素、又はアルゴンなどの、乾燥ガス又は不活性ガスで満たされていてもよい。ハウジング155は、電力又は電気信号をハウジングへ及び/又はハウジングから伝達するための、1つ以上の電気接続部を含んでもよい。
【0049】
窓157は、例えばガラス又はプラスチック(例えば、ポリカーボネート、アクリル、環状オレフィンポリマー、又は環状オレフィンコポリマー)のような、任意の適切な基板材料から作ることができる。窓157は、内面(表面A)及び外面(表面B)を含んでもよく、表面A又は表面Bは、特定の波長における特定の反射率値を有する誘電性コーティングを含んでもよい。誘電性コーティング(薄膜コーティング、干渉コーティング、又はコーティングと呼ばれることがある)は、特定の厚さ(例えば1μm未満の厚さ)及び特定の屈折率を有する誘電性材料(例えば、SiO2、TiO2、Al2O3、Ta2O5、MgF2、LaF3、又はAlF3)の、1つ又は複数の薄膜層を含んでもよい。誘電性コーティングは、例えばスパッタリングや電子ビーム蒸着などの任意の適切な蒸着技術を使用して、窓157の表面A又は表面Bに蒸着することができる。
【0050】
誘電性コーティングは、特定の波長において高反射率を有していてもよく、特定の波長において低反射率を有していてもよい。高反射率(HR)の誘電性コーティングは、任意の適切な波長又は波長の組み合わせにおいて、任意の適切な反射率値(例えば、80%、90%、95%、或いは99%以上の反射率)を有してもよい。低反射率の誘電性コーティング(反射防止(AR)コーティングと呼ばれることもある)は、任意の適切な波長又は波長の組み合わせにおいて、任意の適切な反射率値(例えば、5%、2%、1%、0.5%、或いは0.2%以下の反射率)を有してもよい。特定の実施形態において、誘電性コーティングは、特定の波長における高反射率又は低反射率の特定の組み合わせを有するダイクロイックコーティングであってもよい。例えば、ダイクロイックコーティングは、約1550~1560nmにおいて0.5%以下の反射率、及び約800~1500nmにおいて90%以上の反射率を有していてもよい。
【0051】
いくつかの実施態様において、表面A又は表面Bは、エンクロージャ850内に含まれる1つ以上の光源110の動作波長で反射を防止する誘電性コーティングを有する。表面A及び表面B上のARコーティングは、窓157を透過する光源110の動作波長での光の量を増加させることができる。更に、光源110の動作波長でのARコーティングは、窓157によって反射されハウジング155内へ戻される、出力ビーム125からの入射光の量を減少させることができる。例示的な実施態様において、表面A及び表面Bの各々は、光源110の動作波長において0.5%未満の反射率を有するARコーティングを有する。例として、光源110が約1550nmの動作波長を有する場合、表面A及び表面Bの各々は、約1547nmから約1553nmまで0.5%未満の反射率を有するARコーティングを有していてもよい。別の実施態様において、表面A及び表面Bの各々は、光源110の動作波長において1%未満の反射率を有するARコーティングを有する。例えば、ハウジング155がそれぞれの光源を有する2つのセンサヘッドを囲い、第1の光源が約1535nmの波長でパルスを放射し、第2の光源が約1540nmの波長でパルスを放射する場合、表面A及び表面Bはそれぞれ、約1530nmから約1545nmまで1%未満の反射率を有するARコーティングを有していてもよい。
【0052】
窓157は、ハウジング155内に含まれる1つ又は複数の光源110の1つ又は複数の波長について任意の適切な値よりも大きい光透過率を有していてもよい。例として、窓157は、光源110の波長において70%、80%、90%、95%、又は99%以上の光透過率を有していてもよい。一例の実施態様において、窓157は、光源110の動作波長において95%以上の光を透過することができる。別の実施態様において、窓157は、ハウジング155内に囲われた光源の動作波長において90%以上の光を透過させる。
【0053】
表面A又は表面Bは、1つ又は複数の光源110の1つ又は複数の動作波長において反射を防止し、それら1つ又は複数の動作波長から離れた波長において高反射率である、ダイクロイックコーティングを有していてもよい。例えば、表面Aは、光源110の動作波長に対してARコーティングを有していてもよく、表面Bは、光源の動作波長において反射を防止し(AR)、その動作波長から離れた波長に対して高反射率を有する(HR)、ダイクロイックコーティングを有していてもよい。光源の動作波長から離れた波長に対して高反射率を有するコーティングは、不要な波長でのほとんどの入射光が窓117を透過することを防止することができる。一実施態様では、光源110が約1550nmの波長を有する光パルスを放射する場合、表面Aが、約1546nmから約1554nmまで0.5%以下の反射率を有するARコーティングを有していてもよい。更に、表面Bは、約1546~1554nmで反射を防止し、約800~1500nm及び約1580~1700nmで高反射率(例えば、90%以上の反射率)を有する、ダイクロイックコーティングを有してもよい。
【0054】
窓157の表面Bは、撥油性、疎水性、又は親水性のコーティングを含んでもよい。撥油性(又は疎油性)のコーティングは、窓157の外面(表面B)から油(例えば、指紋油又は他の非極性材料)をはじくことができる。疎水性のコーティングは、外面から水をはじくことができる。例えば、表面Bは、撥油性と疎水性との双方を有する材料でコーティングされてもよい。親水性のコーティングは、(疎水性の表面上で発生し得るように水のビーズを形成するのではなく)水が親水性の表面上を濡らして膜を形成するように、水を引き付ける。表面Bが親水性コーティングを有する場合、表面Bに降り注ぐ水(例えば雨による)が、表面上に膜を形成することができる。水の表面膜は、非親水性コーティング又は疎水性コーティングを有する表面よりも、出力ビーム125の歪み、偏向、又は閉塞を少なくする可能性がある。
【0055】
図1を引き続き参照すると、光源110は、あるパルス持続時間を有する光のパルスを生成又は放出するように構成されたパルスレーザを含んでもよい。例示的な実施態様において、パルスレーザのパルス持続時間又はパルス幅は、約10ピコ秒(ps)~20ナノ秒(ns)である。別の実施態様において、光源110は、約200~400psのパルス持続時間を有するパルスを生成するパルスレーザである。更に別の実施態様において、光源110は、約100kHz~5MHzのパルス繰り返し周波数、或いは約200ns~10μsのパルス周期(例えば、連続するパルス間の時間)で、パルスを生成するパルスレーザである。光源110は、実施態様に応じて、実質的に一定のパルス繰り返し周波数を有していてもよく、可変のパルス繰り返し周波数を有していてもよい。一例として、光源110は、約1.56μsのパルス周期に対応する約640kHz(例えば、1秒間に64万パルス)の実質的に一定のパルス繰り返し周波数で、パルスを生成するパルスレーザであってもよい。別の例として、光源110は、約500kHz~3MHzに変化させることができるパルス繰り返し周波数を有していてもよい。本明細書で使用されるように、光のパルスは、光パルス(optical pulse)、光パルス(light pulse)、又はパルスと呼ばれることがある。
【0056】
一般に、出力ビーム125は、任意の適切な平均光パワーを有してよく、出力ビーム125は、任意の適切なパルスエネルギー又はピーク光パワーを有する光パルスを含んでもよい。出力ビーム125の平均パワーのいくつかの例は、1mW、10mW、100mW、1W、及び10Wの概算値を含む。出力ビーム125のパルスエネルギーの例の値は、0.1μJ、1μJ、10μJ、100μJ、及び1mJの概算値を含む。出力ビーム125に含まれるパルスのピークパワーの値の例は、10W、100W、1kW、5kW、10kWの概算値を含む。持続時間が400psでパルスエネルギーが1μJの光パルスの例では、ピークパワーが約2.5kWである。パルス繰り返し周波数が500kHzである場合、1μJのパルスを有する出力ビーム125の平均パワーは、この例では約0.5Wである。
【0057】
光源110は、ファブリペローレーザダイオード、量子井戸レーザ、分布ブラッグ反射器(DBR)レーザ、分布帰還(DFB)レーザ、又は垂直共振器面発光レーザ(VCSEL)などの、レーザダイオードを含んでもよい。光源110で動作するレーザダイオードは、アルミニウム-ガリウム-ヒ素(AlGaAs)レーザダイオード、インジウム-ガリウム-ヒ素(InGaAs)レーザダイオード、又はインジウム-ガリウム-ヒ素-リン化物(InGaAsP)レーザダイオード、又は他の任意の適切なダイオードであってもよい。いくつかの実施態様において、光源110は、約1400~1600nmのピーク発光波長を有するパルスレーザダイオードを含む。更に、光源110は、光パルスを生成するために電流変調されるレーザダイオードを含んでもよい。
【0058】
いくつかの実施態様において、光源110は、パルスレーザダイオードに続いて1つ以上の光増幅段を含む。例えば、光源110は、約1550nmのピーク波長を有する電流変調レーザダイオードを含み、これに単段又は多段のエルビウム添加ファイバ増幅器(EDFA)が続く、ファイバレーザモジュールであってもよい。別の例として、光源110は、連続波(CW)又は準CWレーザダイオードに続いて外部光変調器(例えば電気光学変調器)を含んでもよく、変調器の出力は、光増幅器に供給されてもよい。別の例として、光源110は、レーザダイオードに続いて、レーザダイオードによって生成された光を増幅する半導体光増幅器(SOA)を含んでもよい。更に他の実施態様において、光源110は、パルス固体レーザ又はパルスファイバーレーザを含んでもよい。
【0059】
いくつかの実施態様において、光源110によって放出される光の出力ビーム125は、約0.1~3.0ミリラジアン(mrad)の発散(divergence)など、任意の適切なビーム発散を有する平行光ビームである。出力ビーム125の発散は、出力ビーム125が光源110又はライダーシステム100から離れるにつれてビームサイズ(例えば、ビーム半径又はビーム直径)が増加する角測度を指す場合がある。出力ビーム125は、単一の発散値によって特徴付けられるビーム発散を有する、実質的に円形の断面を有してもよい。例えば、円形断面及び1mradの発散を有する出力ビーム125は、ライダーシステム100から100mの距離で、約10cmのビーム直径又はスポットサイズを有してもよい。いくつかの実施態様において、出力ビーム125は、非点収差(astigmatic)ビームであってもよく、又は実質的に楕円形の断面を有していてもよく、2つの発散値によって特徴付けられることがある。一例として、出力ビーム125は、速い軸及び遅い軸を有してもよく、その場合は速い軸の発散が遅い軸の発散より大きい。別の例として、出力ビーム125は、2mradの速い軸の発散と0.5mradの遅い軸の発散とを有する非点収差ビームであってもよい。
【0060】
光源110によって放射される光の出力ビーム125は、非偏光又はランダム偏光であってもよく、特定の又は固定の偏光を有していなくてもよく(例えば、偏光が時間によって変化してもよい)、特定の偏光を有していてもよい(例えば、出力ビーム125が直線偏光、楕円偏光、又は円偏光であってよい)。一例として、光源110は、直線偏光を生成してもよく、ライダーシステム100は、この直線偏光を円偏光に変換する1/4波長板を含んでもよい。ライダーシステム100は、円偏光を出力ビーム125として送信し、実質的に又は少なくとも部分的に出力ビーム125と同様に円偏光であってよい入力ビーム135を受信してもよい(例えば、出力ビーム125が右手円偏光である場合、入力ビーム135も右手円偏光であってよい)。入力ビーム135は、同じ1/4波長板(又は異なる1/4波長板)を通過してもよく、その結果、入力ビーム135は、光源110によって生成される直線偏光に対して直交偏光(例えば直角に偏光)である、直線偏光に変換されている。別の例として、ライダーシステム100は、2つの偏光成分が別々に検出される偏光ダイバーシティー検出を採用してもよい。出力ビーム125は、直線偏光であってもよく、ライダーシステム100は、入力ビーム135を2つの偏光成分(例えばS偏光及びP偏光)に分割してもよく、これらは2つのフォトダイオード(例えば、2つのフォトダイオードを含む平衡フォトレシーバ)により別個に検出される。
【0061】
図1を引き続き参照すると、出力ビーム125及び入力ビーム135は、実質的に同軸であってもよい。換言すれば、出力ビーム125及び入力ビーム135は、入力ビーム135及び出力ビーム125が(反対方向ではあるが)実質的に同じ光路に沿って移動するように、少なくとも部分的に重なるか又は共通の伝搬軸を共有してもよい。ライダーシステム100が出力ビーム125を視野にわたってスキャンすると、入力ビーム135が出力ビーム125に追従して、2つのビームの間の同軸関係が維持されるようにしてもよい。
【0062】
ライダーシステム100は、出力ビーム125及び/又は入力ビーム135を調整、成形、フィルタリング、修正、操向、又は方向付けるように構成された、1つ又は複数の光学部品も含んでもよい。例えば、ライダーシステム100は、1つ以上のレンズ、ミラー、フィルタ(例えば、バンドパス又は干渉フィルタ)、ビームスプリッタ、偏光子、偏光ビームスプリッタ、波長板(例えば、半波長板又は1/4波長板)、回折素子、又はホログラフィック素子を含んでもよい。いくつかの実施態様において、ライダーシステム100は、出力ビーム125を所望のビーム径又は発散に拡大、集束、又は平行化するための、望遠鏡、1つ以上のレンズ、又は1つ以上のミラーを含む。一例として、ライダーシステム100は、入力ビーム135をレシーバ140の活性領域上に集束させるための、1つ又は複数のレンズを含んでもよい。別の例として、ライダーシステム100は、出力ビーム125又は入力ビーム135を操向又は集束するための、1つ以上の平面ミラー又は湾曲ミラー(例えば、凹面ミラー、凸面ミラー、又は放物線ミラー)を含んでもよい。例えば、ライダーシステム100は、入力ビーム135をレシーバ140の活性領域上に集束させるための軸外放物面ミラーを含んでもよい。
図1に示されるように、ライダーシステム100は、金属ミラー又は誘電性ミラーであり得るミラー115を含んでもよい。ミラー115は、光ビーム125がミラー115を通過するように構成されてもよい。一例として、ミラー115は、出力光ビーム125が通過する穴、スロット、又は開口を含んでもよい。別の例として、ミラー115は、出力ビーム125の少なくとも80%がミラー115を通過し、入力ビーム135の少なくとも80%がミラー115によって反射されるように構成されてもよい。いくつかの実施態様において、ミラー115は、ビーム125及び135が実質的に同じ光路に沿って反対方向に移動するように、出力ビーム125及び入力ビーム135が、実質的に同軸となるように提供してもよい。
【0063】
一般に、スキャナ120は、出力ビーム125を1つ又は複数の方向でダウンレンジに操向する。スキャナ120は、1つ又は複数の走査ミラーと、ミラーを駆動して、例えば1つ又は複数の軸を中心にミラーを回転、傾斜、ピボット、又は角度的に移動させる、1つ又は複数のアクチュエータとを含んでもよい。例えば、スキャナの第1のミラーが、第1の方向に沿って出力ビーム125をスキャンしてもよく、第2のミラーが、第1の方向と実質的に直交する第2の方向に沿って出力ビーム125をスキャンしてもよい。スキャナ120の例示的な実施態様は、
図2を参照して以下でより詳細に説明される。
【0064】
スキャナ120は、5度の角度範囲、20度の角度範囲、30度の角度範囲、60度の角度範囲、或いは任意の他の適切な角度範囲にわたって、出力ビーム125をスキャンするように構成されてもよい。例えば、走査ミラーが、15度の範囲にわたって周期的に回転するように構成されてもよく、その結果、出力ビーム125は、30度の範囲にわたって走査する(例えば、走査ミラーによるQ度の回転は、出力ビーム125の2Q度の角度スキャンをもたらす)。ライダーシステム100のFORは、ライダーシステム100が距離情報をスキャン又は捕捉するように構成され得る、エリア、領域、又は角度範囲を指す場合がある。ライダーシステム100が30度の走査範囲内で出力ビーム125をスキャンする場合、ライダーシステム100は、30度の角度視野を有すると言及されてもよい。別の例として、30度の範囲にわたって回転する走査ミラーを備えたライダーシステム100は、60度の範囲(例えば60度のFOR)にわたってスキャンする出力ビーム125を生成することができる。様々な実施態様において、ライダーシステム100は、約10°、20°、40°、60°、120°、或いは他の任意の適切なFORを有してよい。FORはまた、スキャン領域と呼ばれることもある。
【0065】
スキャナ120は、出力ビーム125を水平方向及び垂直方向にスキャンするように構成されてもよく、ライダーシステム100は、水平方向に沿った特定のFOR及び垂直方向に沿った別の特定のFORを有してもよい。例えば、ライダーシステム100は、10°~120°の水平方向のFORと、2°~45°の垂直方向のFORとを有していてもよい。
【0066】
スキャナ120の1つ又は複数の走査ミラーは、出力ビーム125を所望方向のダウンレンジに又は所望のスキャンパターンに沿って誘導するように走査ミラー(複数可)を制御し得る、コントローラ150に通信可能に結合されてもよい。一般に、スキャンパターンは、出力ビーム125が導かれるパターン又は経路を指すことがあり、また、光学スキャンパターン、光学スキャン経路、又はスキャン経路と呼ばれることもある。一例として、スキャナ120は、60°の水平FOR及び20°の垂直FORにわたって出力ビーム125をスキャンするように構成された、2つの走査ミラーを含んでもよい。2つの走査ミラーは、60°×20°のFORを実質的にカバーするスキャン経路をたどるように制御されてもよい。ライダーシステム100は、スキャン経路を使用して、60°×20°のFORを実質的にカバーするピクセルを有する点群を生成することができる。ピクセルは、60°×20°のFORにわたってほぼ均等に分布していてもよい。代替的に、ピクセルは、特定の非一様な分布を有してもよい(例えば、ピクセルが60°×20°のFORの全体又は一部にわたって分布してもよく、ピクセルが60°×20°のFORの1つ以上の特定領域においてより高い密度を有してもよい)。
【0067】
動作中、光源110は、スキャナ120がライダーシステム100のFORにわたってスキャンする光のパルスを放射することができる。ターゲット130は、放出されたパルスの1つ以上を散乱させてもよく、レシーバ140は、ターゲット130によって散乱された光のパルスの少なくとも一部を検出してもよい。
【0068】
レシーバ140は、フォトレシーバ、光学受信機、光学センサ、検出器、光検出器、又は光学検出器と呼ばれてもよい(又はこれらを含んでもよい)。いくつかの実施態様におけるレシーバ140は、入力ビーム135の少なくとも一部を受信又は検出して、入力ビーム135に対応する電気信号を生成する。例えば、入力ビーム135が光パルスを含む場合、受信器140は、受信器140によって検出された光パルスに対応する電流又は電圧パルスを生成してもよい。例示的な実施態様において、レシーバ140は、1つ以上のアバランシェフォトダイオード(APD)、或いは1つ以上の単一光子アバランシェダイオード(SPAD)を含む。別の実施態様において、レシーバ140は、1つ以上のPNフォトダイオード(例えば、p型半導体とn型半導体とによって形成されたフォトダイオード構造)、或いは1つ以上のPINフォトダイオード(例えば、p型領域とn型領域との間に位置するアンドープ真性半導体領域によって形成されたフォトダイオード構造)を含む。
【0069】
実施形態において、光学フィルタは、レシーバ140の前に配置することができ、光源110の1つ以上の動作波長で光を透過し、周囲の波長で光を減衰させるように構成されてもよい。例えば、光学フィルタは、表面B、表面A、又はレシーバ140の前の光路の任意の場所に配置された、自由空間スペクトルフィルタであってもよい。この光学フィルタは、光源110の動作波長(例えば、約1530nmと1560nmとの間)の光を透過させ、その波長範囲外の光を減衰させることができる。より具体的な例として、約400~1530nm又は1560~2000nmの波長を有する光は、例えば、少なくとも5dB、10dB、20dB、30dB、又は40dBといった、任意の適切な量だけ減衰されてもよい。
【0070】
レシーバ140は、シリコン、ゲルマニウム、又はInGaAsを含む、活性領域又はアバランシェ多重化領域を有してもよい。レシーバ140の活性領域は、例えば約50~500μmの直径又は幅など、任意の好適なサイズを有してもよい。レシーバ140は、信号増幅、サンプリング、フィルタリング、信号調整、アナログ/デジタル変換、時間/デジタル変換、パルス検出、閾値検出、立ち上がりエッジ検出、或いは立ち下がりエッジ検出を行う回路を含んでもよい。例えば、レシーバ140は、受信した光電流(例えば、受信した光信号に応答してAPDによって生成される電流)を電圧信号に変換するトランスインピーダンス増幅器を含んでもよい。レシーバ140は、電圧信号を、受信した光パルスの1つ以上の特性(例えば、立ち上がりエッジ、立ち下がりエッジ、振幅、又は持続時間)に対応するアナログ又はデジタルの出力信号145を生成する、パルス検出回路に向けてもよい。例えば、パルス検出回路は、デジタル出力信号145を生成するために、時間/デジタル変換を実行してもよい。レシーバ140は、処理又は分析のために電気出力信号145をコントローラ150へ送信して、例えば、受信した光パルスに対応する飛行時間値を決定してもよい。
【0071】
コントローラ150は、光源110、スキャナ120、及びレシーバ140のうちの1つ以上に対して、電気的に結合されるか、さもなければ通信可能に結合されてもよい。コントローラ150は、光源110から電気トリガパルス又はエッジを受信してもよく、その各パルス又はエッジは、光源110による光パルスの放出に対応する。コントローラ150は、光源110がいつ光パルスを生成すべきかを示す指示、制御信号、或いはトリガ信号を、光源110へ提供することができる。例えば、コントローラ150は、電気パルスを含む電気トリガ信号を送信してもよく、光源110は、各電気パルスに応答して光パルスを放射する。更に、コントローラ150は、光源110によって放射される光パルスの周波数、周期、持続時間、パルスエネルギー、ピークパワー、平均パワー、又は波長のうちの1つ又は複数を、光源110に調整させてもよい。
【0072】
コントローラ150は、光源110によってパルスが放射されたとき、及びレシーバ140によってパルスの一部(例えば入力ビーム135)が検出又は受信されたときに関連するタイミング情報に基づいて、光パルスの飛行時間値を決定してよい。コントローラ150は、信号増幅、サンプリング、フィルタリング、信号調整、アナログ/デジタル変換、時間/デジタル変換、パルス検出、閾値検出、立ち上がりエッジ検出、或いは立ち下がりエッジ検出を行う回路を含んでもよい。
【0073】
上記に示したように、ライダーシステム100は、1つ以上のダウンレンジターゲット130までの距離を測定するために使用することができる。ライダーシステム100を視野にわたって走査させることによって、このシステムは、視野内の多数の点までの距離をマッピングするために使用することができる。これらの深度マッピングされた点の各々は、ピクセルと呼ばれることがある。連続的に捕捉されたピクセルのコレクション(深度マップ、点群、又はフレームと呼ばれる場合がある)は、画像としてレンダリングされるか、或いは、オブジェクトを識別又は検出するために又はFOR内のオブジェクトの形状や距離を測定するために分析される場合がある。例えば、深度マップは、水平方向に60°、垂直方向に15°延びる視野をカバーしてもよく、深度マップは、水平方向に100~2000ピクセル×垂直方向に4~400ピクセルのフレームを含んでもよい。
【0074】
ライダーシステム100は、約0.1フレーム/秒(FPS)~約1000FPSの間の任意の好適なフレームレートで、視野の点群を繰り返し捕捉又は生成するように構成されてもよい。例えば、ライダーシステム100は、約0.1FPS、0.5FPS、1FPS、2FPS、5FPS、10FPS、20FPS、100FPS、500FPS、又は1000FPSのフレームレートで点群を生成してもよい。例示的な実施態様において、ライダーシステム100は、5×105パルス/秒のレートで光パルスを生成し(例えば、システムは1秒当たり500,000ピクセル距離を測定してもよい)、1000×50ピクセル(例えば50,000ピクセル/フレーム)のフレームをスキャンするように構成され、これは、10フレーム/秒(例えば10点群/秒)の点群フレームレートに対応する。点群フレームレートは、実施態様に応じて、実質的に固定されてもよく、又は動的に調整可能であってもよい。例えば、ライダーシステム100は、特定のフレームレート(例えば1Hz)で1つ又は複数の点群を捕捉し、その後、異なるフレームレート(例えば10Hz)で1つ又は複数の点群を捕捉するように切り替えてもよい。一般に、ライダーシステムは、より遅いフレームレート(例えば1Hz)を使用して1つ又は複数の高解像度点群を捕捉し、より速いフレームレート(例えば10Hz)を使用して複数の低解像度点群を迅速に捕捉することができる。
【0075】
ライダーシステム100の視野は、ターゲット130の少なくとも一部に重なり、包含し、又は囲むことができ、これは、ライダーシステム100に対して移動又は静止しているオブジェクトの全体又は一部を含むことができる。例えば、ターゲット130は、人間、車両、オートバイ、トラック、列車、自転車、車椅子、歩行者、動物、道路標識、交通信号、車線表示、路面表示、駐車スペース、パイロン、ガードレール、交通障壁、窪み、踏切、道路内又はその近くの障害物、縁石、道路上又は道路横の停止車両、電柱、家、建物、ゴミ箱、郵便受け、木、他の任意の適切なオブジェクト、或いは2以上のオブジェクトの全て又は部分の任意の適切な組み合わせの、全体又は一部を含んでもよい。
【0076】
ここで
図2を参照すると、スキャナ162及びレシーバ164は、それぞれスキャナ120及びレシーバ140として
図1のライダーシステムで動作することができる。より一般的には、スキャナ162及びレシーバ164は、任意の適切なライダーシステムで動作することができる。
【0077】
スキャナ162は、任意の適切な数の機械的アクチュエータによって駆動される、任意の適切な数のミラーを含むことができる。例えば、スキャナ162は、ガルバノメータスキャナ、共振スキャナ、圧電アクチュエータ、ポリゴンミラースキャナ、回転プリズムスキャナ、音声コイルモータ、DCモータ、ステッピングモータ、又は微小電気機械システム(MEMS)装置、或いは他の任意の適切なアクチュエータ若しくは機構を含んでもよい。
【0078】
ガルバノメータスキャナ(ガルバノメータアクチュエータとも呼ばれることがある)は、磁石及びコイルを備えたガルバノメータベースの走査モータを含むことができる。コイルに電流が供給されると、磁石に回転力が加わり、ガルバノメータスキャナに取り付けられたミラーを回転させることができる。コイルに流す電流を制御して、ガルバノメータミラーの位置をダイナミックに変化させることもできる。共振スキャナ(共振アクチュエータと呼ばれることもある)は、実質的に固定された周波数(例えば1kHz)で周期的な振動を生成するためにアクチュエータによって駆動される、ばね状の機構を含んでもよい。MEMSベースの走査装置は、約1~10mmの間の直径を有するミラーを含んでもよく、そのミラーは、電磁的又は静電的な操作を用いて回転される。ボイスコイルモータ(ボイスコイルアクチュエータと呼ばれることもある)は、磁石及びコイルを含むことができる。コイルに電流を流すと、磁石に並進力が加わり、磁石に取り付けられたミラーが移動又は回転する。ポリゴンミラースキャナは、一方向に回転してFORにわたって出力ビーム170をスキャンする、多面ミラー(例えば4面又は6面ミラー)を含んでもよい。
【0079】
例示的な実施態様において、スキャナ162は、単一方向に沿って出力ビーム170をスキャンするように構成された単一のミラーを含む(例えば、スキャナ162は、水平方向又は垂直方向に沿ってスキャンする一次元スキャナであってもよい)。ミラーは、特定の角度範囲にわたってミラーをスキャンするスキャナアクチュエータ又は機構に取り付けられた、平面走査ミラーであってもよい。ミラーは、1つのアクチュエータ(例えばガルバノメータ)により駆動されてもよく、プッシュプル構成でミラーを駆動するように構成された2つのアクチュエータにより駆動されてもよい。2つのアクチュエータがプッシュプル構成でミラーを一方向に駆動する場合、それらのアクチュエータはミラーの反対側の端部又は側部に配置されてもよい。また、一方のアクチュエータがミラーを押すと、他方のアクチュエータがミラーを引っ張るように、及びその逆の動作をするように、協働的に動作してもよい。別の例示的な実施態様では、プッシュプル構成で配置された2つのボイスコイルアクチュエータが、水平方向又は垂直方向に沿ってミラーを駆動する。
【0080】
いくつかの実施態様において、スキャナ162は、2つの軸に沿ってスキャンされるように構成された1つのミラーを含むことができ、この場合はプッシュプル構成で配置された2つのアクチュエータが、各軸に沿った運動を提供する。例えば、水平プッシュプル構成で配置された2つの共振アクチュエータは、水平方向に沿ってミラーを駆動することができ、垂直プッシュプル構成で配置された別の一対の共振アクチュエータは、垂直方向に沿ってミラーを駆動することができる。別の例示的な実施態様では、2つのアクチュエータが出力ビーム170を2つの方向(例えば水平及び垂直)に沿ってスキャンし、各アクチュエータが特定の方向に沿った又は特定の軸を中心とした回転運動を提供する。
【0081】
スキャナ162はまた、実質的に直交する2つの方向に沿ってミラーをスキャンするように構成された2つのアクチュエータにより駆動される1つのミラーを含んでもよい。例えば、共振アクチュエータ又はガルバノメータアクチュエータは、実質的に水平方向に沿って1つのミラーを駆動してもよく、ガルバノメータアクチュエータは、実質的に垂直方向に沿ってそのミラーを駆動してもよい。他の例として、2つの共振アクチュエータが、実質的に直交する2つの方向に沿ってミラーを駆動してもよい。
【0082】
いくつかの実施態様では、スキャナ162が2つのミラーを含み、一方のミラーが出力ビーム170を実質的に水平方向に沿ってスキャンし、他方のミラーが出力ビーム170を実質的に垂直方向に沿ってスキャンする。
図2の例では、スキャナ162が、ミラー180-1及びミラー180-2の2つのミラーを含む。ミラー180-1は、出力ビーム170を実質的に水平方向に沿ってスキャンすることができ、ミラー180-2は、出力ビーム170を実質的に垂直方向に沿ってスキャンすることができる(又はその逆も同様である)。
【0083】
他の実施態様におけるスキャナ162は、それぞれがミラーを駆動する2つのガルバノスキャナを含む。例えば、スキャナ162は、ミラー180-1を第1の方向(例えば垂直)に沿ってスキャンするガルバノメータアクチュエータを含んでもよく、スキャナ162は、ミラー180-2を第2の方向(例えば水平)に沿ってスキャンする別のガルバノメータアクチュエータを含んでもよい。更に別の実施態様では、スキャナ162が2つのミラーを含み、ガルバノメータアクチュエータが一方のミラーを駆動し、共振アクチュエータが他方のミラーを駆動する。例えば、ガルバノメータアクチュエータが第1の方向に沿ってミラー180-1をスキャンし、共振アクチュエータが第2の方向に沿ってミラー180-2をスキャンしてもよい。第1及び第2の走査方向は、互いに実質的に直交していてもよく、例えば、第1の方向が実質的に垂直であってもよく、第2の方向が実質的に水平であってもよい。更に別の実施態様では、スキャナ162が2つのミラーを含んでもよく、ガルバノメータが第1の方向に沿って一方のミラーをスキャンし、他方のミラーが第2の方向に沿ってスキャンされるポリゴンミラーである。
【0084】
出力ビーム170を特定のスキャンパターンに沿って向けるために、スキャナ162は、1つのミラーを同期して駆動する2つ以上のアクチュエータを含んでもよい。例えば、2つ以上のアクチュエータは、出力ビーム170を実質的に直線のスキャンパターンに従わせるために、2つの実質的に直交する方向に沿ってミラーを同期的に駆動させることができる。いくつかの実施態様において、スキャナ162は、実質的に直線を含むスキャンパターンを生成するために、2つのミラーと、2つのミラーを同期して駆動するアクチュエータとを含んでもよい。例えば、ガルバノメータアクチュエータは、出力ビーム170に実質的に水平な往復パターンをトレースさせる、実質的に直線的な往復運動(例えば、ガルバノメータは、実質的に正弦波又は三角形の波形で駆動されてよい)でミラー180-2を駆動してもよく、別のガルバノメータアクチュエータは、実質的に垂直方向に沿ってミラー180-1をスキャンしてもよい。2つのガルバノメータは、64個の水平方向のトレースごとに、出力ビーム170が垂直方向に沿って1つのトレースを行うように同期させてもよい。2つのミラーが使用されようとも、実質的に直線を、実質的に水平に、垂直に、又は他の任意の適切な方向に沿って向けることができる。
【0085】
スキャナ162はまた、出力ビーム170が実質的に水平方向に沿って走査される際に(例えば、ガルバノメータ又は共振アクチュエータを用いて)、垂直方向に沿って動的に調整された偏向を適用して(例えばガルバノメータアクチュエータを用いて)、直線を実現することができる。垂直偏向が適用されない場合、出力ビーム170は、左右にスキャンする際に、湾曲した経路をトレースすることができる。いくつかの実施態様において、スキャナ162は、垂直アクチュエータを使用して、出力ビーム170が水平にスキャンされるときに動的に調整された垂直偏向を適用すると共に、各水平スキャン間に離散的な垂直オフセットを適用する(例えば、出力ビーム170をスキャンパターンの後続列にステップするために)。
【0086】
図2を引き続き参照すると、この例示的な実施態様におけるオーバーラップミラー190は、ビーム170及び172が実質的に同軸となるように、入力ビーム172と出力ビーム170とを重ねるように構成されている。
図2において、オーバーラップミラー190は、出力ビーム170が通過する穴、スロット、又は開口192と、入力ビーム172の少なくとも一部をレシーバ164に向けて反射する反射面194とを含む。オーバーラップミラー190は、入力ビーム172及び出力ビーム170が少なくとも部分的に重なるように配向されてもよい。
【0087】
入力ビーム172は、レシーバ164の活性領域166上にビームを集束させるレンズ196を通過することができる。活性領域166は、レシーバ164が入力光を受信又は検出し得る領域を指す場合がある。活性領域は、任意の適切なサイズ又は直径d、例えば、約25μm、50μm、80μm、100μm、200μm、500μm、1mm、2mm、或いは5mmの直径を有していてもよい。オーバーラップミラー190は、実質的に平坦である反射面194を有していてもよく、又は反射面194が湾曲していてもよい(例えば、ミラー190は、入力ビーム172をレシーバ140の活性領域上に集束するように構成された軸外放物面ミラーであってもよい)。
【0088】
開口192は、任意の適切なサイズ又は直径Φ1を有してよく、入力ビーム172は、任意の適切なサイズ又は直径Φ2を有してよく、ここでΦ2はΦ1よりも大きい。例えば、開口192は、約0.2mm、0.5mm、1mm、2mm、3mm、5mm、又は10mmの直径Φ1を有してもよく、入力ビーム172は、約2mm、5mm、10mm、15mm、20mm、30mm、40mm、又は50mmの直径Φ2を有してもよい。いくつかの実施態様において、オーバーラップミラー190の反射面194は、入力ビーム172の70%以上をレシーバ164に向けて反射させてもよい。例えば、反射面194が光源160の動作波長で反射率Rを有する場合、レシーバ164に向けられる入力ビーム172の割合は、R×[1-(Φ1/Φ2)2]と表現されてもよい。より具体的な例として、Rが95%、Φ1が2mm、Φ2が10mmである場合、入力ビーム172の約91%が反射面194によってレシーバ164の方に向けられ得る。
(視野内のピクセル生成)
【0089】
図3は、
図1のライダーシステム100が生成し得る例示的なスキャンパターン240を示している。ライダーシステム100は、1つ又は複数のスキャンパターン240に沿って出力光ビーム125をスキャンするように構成されてもよい。いくつかの実施態様において、スキャンパターン240は、任意の適切な水平FOR(FOR
H)及び任意の適切な垂直FOR(FOR
V)を有する、任意の適切な視野(FOR)にわたるスキャンに相当する。例えば、あるスキャンパターンは、角度寸法(例えば、FOR
H×FOR
V)40°×30°、90°×40°、又は60°×15°によって表される視野を有することができる。別の例として、あるスキャンパターンは、10°、25°、30°、40°、60°、90°、又は120°以上のFOR
Hを有していてもよい。更に別の例として、あるスキャンパターンは、2°、5°、10°、15°、20°、30°、又は45°以上のFOR
Vを有していてもよい。
図3の例では、基準線246が、スキャンパターン240の視野の中心を表している。基準線246は、任意の適切な向き、例えば、0°の水平角(例えば、基準線246が真正面を向いていてもよい)及び0°の垂直角(例えば、基準線246が0°の傾斜を有していてもよい)を有していてもよく、或いは基準線246は、0以外の水平角又は0以外の傾斜(例えば、+10°又は-10°の垂直角)を有していてもよい。
図3において、スキャンパターン240が60°×15°の視野を有する場合、スキャンパターン240は、基準線246に対して±30°の水平範囲と、基準線246に対して±7.5°の垂直範囲とをカバーすることになる。更に、
図3における光ビーム125は、基準線246に対して水平方向に約-15°、垂直方向に約+3°の向きを有している。ビーム125は、基準線246に対して-15°の方位と+3°の高度とを有すると称されてもよい。方位(方位角と呼ばれることがある)は、基準線246に対する水平方向の角度を表すことがあり、高度(高度角、標高、又は仰角と呼ばれることがある)は、基準線246に対する垂直方向の角度を表すことがある。
【0090】
スキャンパターン240は、複数のピクセル242を含んでもよく、各ピクセル242は、1つ又は複数のレーザパルス及び1つ又は複数の対応する距離測定に関連してもよい。スキャンパターン240の1周期は、P
x×P
yのピクセル242の合計(例えば、P
x×P
yのピクセルの二次元分布)を含んでもよい。例えば、スキャンパターン240は、水平方向に沿って約100~2000個のピクセル242、垂直方向に沿って約4~400個のピクセル242の寸法を有する分布を含んでもよい。他の例として、スキャンパターン240は、スキャンパターン240の1周期あたり総計64,000個のピクセルについて、水平方向に沿った1,000個のピクセル242×垂直方向に沿った64個のピクセル242(例えば、フレームサイズは1000×64ピクセル)の分布を含んでもよい。なお、水平方向に沿ったピクセル242の数をスキャンパターン240の水平解像度と称し、垂直方向に沿ったピクセル242の数をスキャンパターン240の垂直解像度と称することがある。一例として、スキャンパターン240は、水平解像度が100ピクセル242以上であり、垂直解像度が4ピクセル242以上であってもよい。別の例として、スキャンパターン240は、100~2000ピクセル242の水平解像度と、4~400ピクセル242の垂直解像度とを有してもよい。更に、FOR内の特定のサブ領域が、オブジェクト及びターゲット検出の所望の解像度に応じて、様々な解像度を有していてもよい。本明細書で論じる例では、解像度が、FORあたりのピクセル数、FORのラインあたりのピクセル数(例えば、
図3のスキャン240の各ラインにわたる4つのピクセル242であり、新しいラインはFORの境界で定義される)、或いはピクセル解像度の別の適切な定義として定義されてもよい。例えば、
図3のFORのサブ領域は、樹木及びオフロードターゲットを検出するために、スキャンパターン240のラインあたり4~10ピクセルの間の水平及び/又は垂直解像度を有することができる。一方、道路を含むと判断されたFORのサブ領域は、道路上の他の車両、歩行者、交通線、又は他のターゲット及びオブジェクトの、位置及び動きをよりよく検出し追跡するために、スキャンパターン240のラインあたり数百から数千のピクセルという、より高い水平解像度及び/又は垂直解像度を有していてもよい。
【0091】
各ピクセル242は、距離(例えば、対応するレーザパルスが散乱されたターゲット130の一部までの距離)及び/又は1つ以上の角度値に関連付けられることがある。一例として、ピクセル242は、距離値、及びライダーシステム100に対するピクセル242の角度位置を表す2つの角度値(例えば方位及び高度)と関連付けられてもよい。ターゲット130の一部への距離は、対応するパルスの飛行時間測定に少なくとも部分的に基づいて測定されてもよい。角度値(例えば方位又は高度)は、出力ビーム125の角度(例えば、基準線246に対する)に対応してもよく(例えば、対応するパルスがライダーシステム100から放射される場合)、或いは、入力ビーム135の角度に対応してもよい(例えば、入力信号がライダーシステム100によって受信される場合)。いくつかの実施態様において、ライダーシステム100は、スキャナ120の構成要素の位置に少なくとも部分的に基づいて角度値を決定する。例えば、ピクセル242に関連する方位値又は高度値は、スキャナ120の1つ又は複数の対応する走査ミラーの角度位置から決定されてもよい。
【0092】
いくつかの実施態様において、ライダーシステム100は、視野にわたって複数のビームを同時に配向する。
図4の例示的な実施態様において、ライダーシステムは、出力ビーム250A、250B、250C、…250Nなどを生成し、その各々が、線形スキャンパターン254A、254B、254C、…254Nに従う。平行線の数は、2、4、12、20、又は他の任意の適切な数であってよい。ライダーシステム100は、ビーム250A、250B、250C、…250Nを角度的に分離してもよく、この場合、例えば、ある距離におけるビーム250Aと250Bとの間の分離が30cmであってよく、より長い距離における同じビーム250Aと250Bとの間の分離が50cmであってよい。
【0093】
スキャンパターン240と同様に、線形スキャンパターン254A~Nの各々は、1つ又は複数のレーザパルス及び距離測定に関連するピクセルを含む。
図4は、スキャンパターン254A、254B、及び254Cにそれぞれが沿った、例示的なピクセル252A、252B、及び252Cを示している。この例のライダーシステム100は、ピクセル252A~252Nの値を同時に生成して、スキャンレートを増加させることができる。
【0094】
実施態様に依存して、ライダーシステム100は、ビーム250A~Nを同じ波長で出力してもよく、異なる波長で出力してもよい。例えば、ビーム250Aが1470nmの波長を有し、ビーム250Bが1500nmの波長を有し、ビーム250Cが1550nmの波長を有してもよい、などである。ライダーシステム100が使用する異なる波長の数は、チャネルの数と一致する必要はない。従って、
図4の例示的な実施態様におけるライダーシステム100は、N個のチャネルでM個の波長を使用してもよく、ここで1≦M≦Nである。
【0095】
次に、
図5は、ライダーシステム100の光源視野(FOV
L)及びレシーバ視野(FOV
R)の例を示している。光源110は、FOV
L及びFOV
Rがスキャナ120によって視野(FOR)にわたって走査されるときに、光のパルスを放出してもよい。光源視野は、特定の瞬間に光源110によって照らされる角錐を指すことがある。同様に、レシーバ視野は、レシーバ140が特定の瞬間に光を受信又は検出することができる角錐を指す場合があり、レシーバ視野の外側の光は、受信又は検出されない場合がある。例えば、スキャナ120が光源視野を視野にわたってスキャンすると、ライダーシステム100は、光源110がパルスを発する時にFOV
Lが向いている方向に光のパルスを送ってもよい。光のパルスは、ターゲット130から散乱することができ、レシーバ140は、FOV
Rに沿って向けられるか又はFOV
R内に含まれる、散乱光の一部を受信して検出することができる。
【0096】
いくつかの実施態様において、スキャナ120は、ライダーシステム100の視野にわたって、光源視野及びレシーバ視野の双方をスキャンするように構成される。ライダーシステム100は、スキャナ120がスキャンパターン240をトレースしながら視野にわたってFOV
L及びFOV
Rをスキャンする際に、複数の光パルスを放射及び検出することができる。いくつかの実施態様におけるスキャナ120は、光源視野及びレシーバ視野を互いに関して同期してスキャンする。この場合、スキャナ120がスキャンパターン240にわたってFOV
Lをスキャンすると、FOV
Rは同じ走査速度で実質的に同じ経路をたどる。更に、スキャナ120がFOV
L及びFOV
Rを視野にわたってスキャンすると、FOV
L及びFOV
Rは、互いに対して同じ相対位置を維持することができる。例えば、FOV
Lは、FOV
Rと実質的に重なっていてもよく、或いはFOV
Rの内部に中心があってもよく(
図4に図示されているように)、スキャナ120は、スキャン全体にわたってFOV
LとFOV
Rとの間のこの相対的な位置関係を維持してもよい。別の例として、FOV
Rは、スキャン全体にわたって特定の固定量だけFOV
Lより遅れてもよい(例えば、FOV
Rは、スキャン方向と反対の方向にFOV
Lからオフセットされてもよい)。
【0097】
FOVLは、出力ビーム125の発散と実質的に同じであるか又はそれに対応する角度サイズ又は範囲QLを有してよく、FOVRは、レシーバ140が光を受信して検出することができる角度に対応する角度サイズ又は範囲QRを有してよい。レシーバ視野は、光源視野に対して任意の適切なサイズであってよい。例えば、レシーバ視野は、光源視野の角度範囲より、小さくてもよく、実質的に同じサイズであってもよく、又は大きくてもよい。いくつかの実施態様において、光源視野は、50ミリラジアン以下の角度範囲を有し、レシーバ視野は、50ミリラジアン以下の角度範囲を有する。FOVLは、例えば約0.1mrad、0.2mrad、0.5mrad、1mrad、1.5mrad、2mrad、3mrad、5mrad、10mrad、20mrad、40mrad、又は50mradなどの、任意の適切な角度範囲QLを有していてもよい。同様に、FOVRは、例えば約0.1mrad、0.2mrad、0.5mrad、1mrad、1.5mrad、2mrad、3mrad、5mrad、10mrad、20mrad、40mrad、又は50mradなどの、任意の適切な角度範囲QRを有していてもよい。光源視野及びレシーバ視野は、ほぼ等しい角度範囲を有していてもよい。一例として、QL及びQRは共に、1mrad、2mrad、又は3mradにほぼ等しくてもよい。いくつかの実施態様では、レシーバ視野が光源視野より大きく、或いは光源視野がレシーバ視野より大きい。例えば、QLが1.5mradにほぼ等しくてもよく、QRが3mradにほぼ等しくてもよい。
【0098】
ピクセル242は、光源視野を表すか又は光源視野に対応してもよい。出力ビーム125が光源110から伝播するにつれて、出力ビーム125の直径(及び対応するピクセル242のサイズ)は、ビーム発散QLに従って増加し得る。一例として、出力ビーム125が2mradのQLを有する場合、ライダーシステム100から100mの距離で、出力ビーム125は、約20cmのサイズ又は直径を有してよく、対応するピクセル242もまた、約20cmの対応するサイズ又は直径を有してよい。ライダーシステム100から200mの距離では、出力ビーム125及び対応するピクセル242は、それぞれ約40cmの直径を有していてもよい。
(車両で動作するライダーシステム)
【0099】
上記で示したように、1つ又は複数のライダーシステム100が車両に統合されてもよい。一例の実施態様では、複数のライダーシステム100が自動車に統合されて、自動車の周囲の完全な360度の水平FORを提供してもよい。別の例として、各システムが45度から120度の水平方向のFORを有する4~10個のライダーシステム100を一緒に組み合わせて、360度の水平方向のFORをカバーする点群を提供するセンシングシステムを形成することができる。ライダーシステム100は、隣接するFORが空間的又は角度的に重なる量を持つように配向され、複数のライダーシステム100からのデータを結合又はつなぎ合わせて、単一の又は連続した360度点群を形成できるようにしてもよい。一例として、各ライダーシステム100のFORは、隣接するFORと約1~45度の重なりを有していてもよい。特定の実施形態では、車両が、人又は貨物を輸送するように構成された移動機械を指す場合がある。例えば、車両は、車、自動車、モータビークル、トラック、バス、バン、トレーラー、オフロード車、農業用車両、芝刈り機、建設機械、ゴルフカート、モータホーム、タクシー、バイク、スクーター、自転車、スケートボード、列車、雪上車、船舶(例えば、船又はボート)、航空機(例えば、固定翼機、ヘリコプター、又は飛行船)、或いは宇宙船を、含むことができ、その形態をとり得、又はそれとして言及され得る。特定の実施形態では、車両が、車両の推進力を提供する内燃機関又は電気モータを含んでもよい。
【0100】
いくつかの実施態様において、1つ以上のライダーシステム100は、運転プロセスにおいて車両の運転者を支援するための先進運転支援システム(ADAS)の一部として、車両に含まれる。例えば、ライダーシステム100は、運転者に情報又はフィードバックを提供する(例えば、潜在的な問題や危険を運転者に警告する)、或いは、衝突や事故を回避するために車両の一部(例えば、ブレーキシステムやステアリングシステム)を自動的に制御する、ADASの一部であってよい。ライダーシステム100は、アダプティブクルーズコントロール、自動ブレーキ、自動駐車、衝突回避、危険又は他の車両の運転者への警告、車両の正しい車線への維持、或いは死角に物体や他の車両がある場合の警告、を提供する車両ADASの一部であってもよい。
【0101】
いくつかのケースにおいて、1つ以上のライダーシステム100は、自律型車両運転システムの一部として車両に統合される。例示的な実施態様において、ライダーシステム100は、自律型車両の運転システムに周辺環境に関する情報を提供する。自律型車両運転システムは、ライダーシステム100から周辺環境に関する情報を受信し、受信した情報を分析し、車両の運転システム(例えば、ステアリングホイール、アクセル、ブレーキ、又は方向指示器)へ制御信号を提供する、1つ以上のコンピューティングシステムを含んでもよい。例えば、自律型車両に統合されたライダーシステム100は、点群を0.1秒ごとに自律型車両運転システムへ提供してもよい(例えば、点群は、1秒あたり10フレームを表す10Hzの更新レートを有する)。自律型車両運転システムは、受信した点群を解析して、ターゲット130とそのそれぞれの位置、距離、又は速度を感知又は識別することができ、自律型車両運転システムは、この情報に基づいて制御信号を更新することができる。一例として、ライダーシステム100が、減速又は停止している前方の車両を検出した場合、自律型車両運転システムは、アクセルを解放し、ブレーキをかけるように指示を送信してもよい。
【0102】
自律型車両は、自律走行車、ドライバーレスカー、自動運転車、ロボットカー、又は無人走行車と呼ばれることがある。自律型車両は、その環境を感知し、ほとんど又は全く人間の入力なしにナビゲート又は運転するように構成された車両であってよい。例えば、自律型車両は、任意の適切な場所まで走行し、全行程の全ての安全上重要な機能(例えば、運転、ステアリング、ブレーキ、駐車)を制御又は実行するように構成することができ、運転者はいかなる時も車両を制御することを要求されない。別の例として、自律型車両は、運転者が特定の環境(例えば高速道路上)で運転タスクから安全に注意をそらすことを可能にし、或いは自律型車両は、運転者からの入力又は注意をほとんど又は全く必要とせずに、一部の環境を除く全ての環境で車両の制御を提供することができる。
【0103】
自律型車両は、車両に運転者が存在する状態で運転するように構成されてもよく、或いは自律型車両は、運転者が存在しない状態で車両を操作するように構成されてもよい。一例として、自律型車両は、関連する制御装置(例えば、ステアリングホイール、アクセルペダル、及びブレーキペダル)を有する運転席を含んでもよく、車両が、運転席に誰も座っていない状態で、或いは運転席に座っている人からほとんど又は全く入力がない状態で、運転するよう構成されてもよい。別の例として、自律型車両は、運転席又は関連する運転席の制御装置を一切含まなくてもよく、車両が、人間の入力なしに実質的に全ての運転機能(例えば、運転、ステアリング、ブレーキ、駐車、及びナビゲート)を実行してもよい。別の例として、自律型車両は、運転手なしで動作するように構成されてもよい(例えば、車両は、車両に運転手が存在せずに人間の乗客や貨物を輸送するように構成されてもよい)。別の例として、自律型車両は、人間の乗客なしで動作するように構成されてもよい(例えば、車両は、車両に人間の乗客を乗せることなく、貨物の輸送のために構成されてもよい)。
【0104】
いくつかの実施態様において、ライダーシステムの光源は、スキャナやレシーバなどのライダーシステムの他の構成要素の一部から、離れて配置される。更に、車両に実装されるライダーシステムは、スキャナ及びレシーバよりも少ない光源を含んでもよい。
【0105】
図6A及び
図6Bは、コントローラ304が、車両300の操縦及び他の操作のための様々な構成要素302を操作することができる、例示的な自律型車両300を示している。これらの構成要素は、明確化のために、
図6Aにおいて拡大図で描かれている。構成要素302は、アクセル310、ブレーキ312、車両エンジン314、ステアリング機構316、ブレーキライト、ヘッドライト、バックライト、非常灯などのライト318、ギアセレクタ320、及び/又は車両300の移動を実施及び制御する他の適切な構成要素を含むことができる。ギアセレクタ320は、パークギア、リバースギア、ニュートラルギア、ドライブギアなどを含んでもよい。構成要素302の各々は、インタフェースを含んでもよく、このインタフェースを介して、構成要素が車両コントローラ304から「速度を上げる」、「速度を下げる」、「左に5度曲がる」、「左折の方向指示器を起動する」などのコマンドを受け取り、場合によっては、車両コントローラ304へフィードバックを提供する。
【0106】
自律型車両300は、センサリンク306を介してコントローラに結合された複数のセンサヘッド308A~Eを含むライダーシステムを備えることができる。センサヘッド308の各々は、例えば、光源及びレシーバを含んでもよく、センサリンク306の各々は、1つ以上の光リンク及び/又は1つ以上の電気リンクを含んでもよい。
図6Aのセンサヘッド308は、車両の周囲環境の30度より大きいビューを提供するように、位置付けられる又は配向される。より一般的には、複数のセンサヘッドを有するライダーシステムは、約30°、45°、60°、90°、120°、180°、270°、又は360°の、車両周囲の水平視野を提供することができる。センサヘッド308の各々は、バンパー、フェンダー、グリル、サイドパネル、スポイラー、ルーフ、ヘッドライトアセンブリ、テールライトアセンブリ、バックミラーアセンブリ、フード、トランク、窓、或いは車両の他の任意の適切な部分に、取り付けられてもよく、又はそれらに組み込まれてもよい。
【0107】
図6Aの例において、5つのセンサヘッド308は、センサヘッド308に異なる視野を提供する位置で車両上に配置され(例えば、センサヘッド308の各々が、ライトアセンブリ、サイドパネル、バンパー、又はフェンダーに組み込まれてもよい)、レーザが車両300内(例えば、トランク内又はその近傍)に配置されてもよい。
図6Bに示されるように、5つのセンサヘッド308は、それぞれ120°の水平視野(FOR)を提供することができ、5つのセンサヘッド308は、共に車両の周りの完全な360°ビューを提供するように配向されてもよい。別の例として、ライダーシステム302は、車両300上又はその周囲に配置された6つのセンサヘッド308を含んでもよく、この場合のセンサヘッド308の各々は、60°~90°の水平FORを提供する。別の例として、ライダーシステムは、8つのセンサヘッド308を含んでもよく、センサヘッド308の各々が、45°~60°の水平FORを提供してもよい。更に別の例として、ライダーシステムは、6つのセンサヘッド308を含んでもよく、センサヘッド308の各々が、隣接するセンサヘッド308間の約10°の重なりを有する70°の水平FORを提供する。別の例として、ライダーシステムは、一緒になって30°以上の前方向の水平FORを提供する、2つのセンサヘッド308を含んでもよい。
【0108】
図6Bに示される実施形態において、センサヘッド308はそれぞれ、センサヘッド308のFOR間に重なりを提供する120°のFORを有している。例えば、センサヘッド308A及び308Bは、センサヘッド308A及び308Bの位置及び相対的な角度構成に起因して、約60°のFORの重なりを有している。同様に、センサヘッド308Bと308C、及びセンサヘッド308Aと308EについてのFORの重なりは、約60°の重なりを有している。センサヘッド308のFORの不均一な空間分布及び配置に起因して、センサヘッド308Cと308D、並びにセンサヘッド308Dと308EについてのFORの重なりは、約30°のより小さい重なりを有する。実施形態において、センサのFORの重なりは、センサヘッド308の数と、センサヘッドの空間的及び角度的配置とに依存して、任意の所望の重なりになるように構成することができる。
【0109】
センサヘッド308の各々からのデータは、車両の周りの360度以下の水平ビューをカバーする点群を生成するために、結合又はつなぎ合わされ(stitched together)てもよい。例えば、ライダーシステムは、(例えば、対応する電気リンク306を介して)センサヘッド308の各々からデータを受信し、受信したデータを処理して、車両の周囲の360度の水平ビューをカバーする点群を構築し、或いは1つ以上のターゲットへの距離を測定する、コントローラ又はプロセッサを含んでもよい。点群又は点群からの情報は、対応する電気リンク、光リンク、又は無線リンク306を介して、車両コントローラ304に提供されてもよい。車両コントローラ304は、1つ以上のCPU、GPU、及び、永続的な構成要素(例えばフラッシュメモリ、光ディスク)及び/又は非永続的な構成要素(例えばRAM)を有する非一過性のメモリを含んでもよい。
【0110】
いくつかの実施態様において、点群は、ライダーシステム内に含まれるコントローラで複数のセンサヘッド308の各々からのデータを結合することによって生成され、車両コントローラ304へ提供される。他の実施態様において、センサヘッド308の各々は、車両の周りの360度の水平ビューの一部について点群を構築し、それぞれの点群を車両コントローラ304へ提供する、コントローラ又はプロセッサを含む。次に、車両コントローラ304は、それぞれのセンサヘッド308からの点群を結合又はつなぎ合わせて、360度の水平ビューをカバーする結合点群を構築する。更に、いくつかの実施態様では、車両コントローラ304が、点群データを処理するためにリモートサーバと通信する。
【0111】
いくつかの実施態様において、車両コントローラ304は、リンク306を介してセンサヘッド308から点群データを受信し、本明細書に開示される集合型又は個別SDCAのいずれか1つ以上を使用して、受信した点群データを分析し、ターゲット及びそれらのそれぞれの位置、距離、速度、形状、サイズ、ターゲットのタイプ(例えば、車両、人間、木、動物)などを感知又は同定する。次に、車両コントローラ304は、解析された情報に基づいて車両の動作を制御するために、リンク306を介して構成要素302へ制御信号を提供する。
【0112】
ライダーシステムに加えて、車両300は、慣性測定ユニット(IMU)330と、カメラ、赤外線イメージャ、従来のレーダ(乱雑を避けるために図示されていない)などの他のセンサ332とを備えてもよい。他のセンサ332はそれぞれ、車両の周囲の360度の水平ビューを生成するためにつなぎ合わされ得る、それぞれのFORを有していてもよい。実施形態において、他のセンサ332からのデータは、センサヘッド308からのデータと組み合わされて、車両300の自律的な動作を可能にするためのデータセットを生成してもよい。センサ330及び332は、有線又は無線の通信リンクを介して、車両コントローラ304へ追加のデータを提供することができる。更に、例示的な実施態様における車両300は、音源を特定するように構成された音響音源定位システム(acoustic source localization system)の一部として動作するマイクロホンアレイを含む。
【0113】
図6Aに示されるように、車両コントローラ304は、知覚モジュール352及びモーションプランナ354を含むことができ、これらの各々は、ハードウェア、ファームウェア、ソフトウェア、或いは、ハードウェア、ファームウェア、及びソフトウェアの任意の適切な組み合わせを使用して、実装することができる。動作中、知覚モジュール352は、センサ330、332、308A~Eなどからセンサデータを受信し、受信したセンサデータを知覚モデル353へ適用して、道路の曲率、障害物の存在、障害物までの距離などの、自律型車両300が動作する環境のパラメータを生成することができる。知覚モジュール352は次に、これらの生成されたパラメータをモーションプランナ354へ供給することができ、モーションプランナは次に、自律型車両300を制御するための決定を生成し、対応するコマンドを、アクセル310、ブレーキ312、車両エンジン314、ステアリング機構316などへ提供することができる。
【0114】
モーションプランナ354は、任意の適切な(複数の)タイプの規則、アルゴリズム、ヒューリスティックモデル、機械学習モデル、又は他の適切な技術を利用して、上述のように知覚モデル353を利用する知覚モジュール352の出力に基づいて運転決定を行うことができる。例えば、いくつかの実施態様において、モーションプランナ354は、特定の信号又は信号の組み合わせに応答して自律型車両300を制御するための特定の決定を行うように、それに対応するアルゴリズムで構成される。別の例として、いくつかの実施形態において、モーションプランナ354のための機械学習モデルは、知覚モデル353が生成するタイプの環境パラメータの記述を使用して訓練され得る。追加の実施形態では、仮想データによりモーションプランナ534の機械学習モデルを訓練する。例えば、モーションプランナ534は、「学習ベース」プランナ(例えば、教師あり学習又は強化学習を使用して訓練されるプランナ)、「探索ベース」プランナ(例えば、連続A*(continuous A*)プランナ)、「サンプリングベース」プランナ(例えば、可能な決定の分野(universe of possible decisions)を表す空間においてランダム探索を実行するプランナ)、「予測制御ベース」プランナ(例えば、モデル予測制御(MPC)プランナ)などであってもよい。いずれの場合も、訓練プラットフォームは、知覚モジュール352とは別個に独立して、モーション計画モデルを訓練することができる。
【0115】
パルス検出の詳細及び回路
(複数のライダーセンサからのデータを結合するための変換パラメータの最適化)
【0116】
図7は、
図6A及び
図6Bのセンサヘッド308A及び308Bの、重複領域308A-Bを示す図である。センサヘッド308A及び308Bの双方は、センサヘッド308A及び308BのそれぞれのFORでターゲット360を検出する。センサヘッド308A及び308BのFORからのデータをつなぎ合わせるために、センサ308A又は308Bからのデータセットの少なくとも一方に変換を実行しなければならない。更に、センサヘッド308Aは、センサヘッド308A及び308BのFORの違いにより、センサヘッド308Bでは観測不可能なターゲット360の特定の特徴を検出することができる。例えば、センサヘッド308Aは、車両の全体を検出して、その車両がセミトラックであると判断することができるが、センサヘッド308Bは、車両の後端部のみを検出して、その車両がセミトラックであるか或いは遥かに小さい移動バンであるかを判断するのに十分なデータを持っていないことがある。従って、車両の自律運転に必要な検出能力、ターゲット識別、ターゲット位置判定、及び他の機能を向上させるために、データの適切な位置合わせ、及びデータ変換を決定して実行することが重要である。
【0117】
図8は、環境に関する情報を得るためにマルチセンサヘッドライダーシステム406が使用される、例示的なシステム400を示している。システム400は、車両内で動作し、車両の前方の領域に関する情報を収集してもよい。付加的に又は代替的に、システム400は、車両の後方、車両の右側、車両の左側などの領域に関する情報を収集してもよい。ライダーシステム406は、例えば
図1のライダーシステム100と同様であってよく、
図6A、
図6B、及び
図7のセンサヘッド308A及び308Bのような、複数のセンサヘッドを含んでいてもよい。複数のセンサヘッド308A及び308Bは、
図7に例示される、重複するFOR領域308A-Bを有する。例示的な実施態様において、センサヘッド308A及び308Bは、例えば、センサヘッド308A及び308Bの視野が
図6A、
図6B、及び
図7に示された120度の水平視野に対応するように、車両に対して同じ向きを維持する。
【0118】
本実施例のシステム400は、永続的及び非永続的な構成要素を有するコンピュータ可読メモリ402と、コンピュータ可読メモリ402にアクセスするように構成された1つ以上の処理ユニット(CPU及び/又はGPUなど)を含むコントローラ404と、を備えている。コンピュータ可読メモリは、ライダーセンサヘッド308A及び308Bなどの1つ又は複数のセンサから画像データを取得し、その画像データに対して画像処理技術を実行するように構成された、画像処理ソフトウェア418を格納してもよい。更に、コンピュータ可読メモリ402は、ライダーシステム406から得られたデータセットに対してデータ変換を行うように、具体的には、ライダーシステム406の複数のセンサヘッド308A及び308Bからのデータセットを結合、マージ、又は登録するための最適化された変換パラメータを決定するように構成された、変換最適化ソフトウェア420を格納していてもよい。コンピュータ可読メモリ402はまた、元のライダーピクセルデータ及び変換されたライダーピクセルデータを、データストレージ422に格納してもよい。本明細書で使用されるように、センサデータを結合することは、センサデータをマージすること又は登録することと称されることがある。例えば、(2つのそれぞれのセンサから取得された)センサデータの第1のセット及びセンサデータの第2のセットは、変換パラメータのセットを使用して、センサデータの第2のセットをセンサデータの第1のセットの観点(perspective)へ変換することによって結合されてもよい。データの第2のセットを変換することは、データの第1のセットに関してデータの第2のセットを登録することと称されることがある。
【0119】
動作中、ライダーシステム406は、例えば、1つのチャネル(
図3参照)又は複数のチャネル(
図4参照)に対応するスキャンパターンに従って、上述した技術を使用してピクセルを取得することができる。ライダーシステム406によって得られたピクセルは、以下では明確化のために「ライダーピクセル」と呼ばれることがある。一般に、ライダーシステム406は、スキャンフレームのM個のピクセルを収集し、すなわち、ライダーシステム406がスキャンパターン全体を横断するように収集する。例示的な実施態様では、センサヘッド308A及び308Bの各々についてMが50,000である。他の例において、センサヘッド308A及び308Bは、異なるスキャンパターン解像度を有してもよく、例えばセンサヘッド308Aが、単一のスキャンパターン中に40,000ピクセルを収集してもよく、センサヘッド308Bが、それぞれのセンサヘッドのFOR及びその中の潜在的検出ターゲットの優先度に依存し得る、単一のスキャンパターン中に60,000ピクセルを収集してもよい。
【0120】
変換最適化ソフトウェア420、或いは別の適切なソフトウェア、ファームウェア、又はハードウェアモジュールは、センサヘッドの1つ(例えばセンサヘッド308A)からのライダーピクセルデータを、異なるFORを有する別のセンサヘッド(例えばセンサヘッド308B)からのライダーデータとより正確に位置合わせする、
図9に示された方法500を実装してもよい。便宜上、方法500は、
図8の変換最適化ソフトウェア420及び他の構成要素を参照して、以下に説明される。更に、変換最適化ソフトウェア420は、マルチセンサライダーシステム406のセンサを調整又はキャリブレーションする際に使用するための、最適化された変換パラメータを決定してもよい。
【0121】
ブロック502において、画像処理ソフトウェア418は、環境の第1のセンサから、環境に対応する第1のセンサデータを取得する。例えば、画像処理ソフトウェア418は、ライダーシステム406のセンサヘッド308Aから、ライダーピクセルのセットを取得してもよい。具体的に、画像処理ソフトウェア418は、時間t11、t12、t13などにおいて、ライダーピクセルLP11、LP12、LP13…を取得してもよい。別の実施態様において、画像処理ソフトウェア418は、時間t11、t12、t13などの各々で、センサヘッド308Aから複数のピクセルを取得する。
【0122】
ブロック504において、画像処理ソフトウェア418は、環境の第2のセンサから、環境に対応する第2のセンサデータを取得する。例えば、画像処理ソフトウェア418は、ライダーシステム406のセンサヘッド308Bから、ライダーピクセルのセットを取得することができる。具体的に、画像処理ソフトウェア418は、時間t21、t22、t23などにおいて、ライダーピクセルLP21、LP22、LP23…を取得してもよい。別の実施態様において、画像処理ソフトウェア418は、時間t21、t22、t23などの各々で、センサヘッド308Bから複数のピクセルを取得する。
【0123】
センサヘッド308A及びセンサヘッド308Bから得られたデータのセットのライダーピクセルは、少なくとも部分的に、視野の重なりを有している。ブロック502及び504は、別々に又は同時に実行されてもよい。例えば、コントローラ404は、ライダーシステム608のセンサヘッド308A及び第2のセンサヘッド308Bから、例えばあるインターリーブで並行してデータを受信してもよい。
【0124】
ブロック506において、変換最適化ソフトウェア420は、第1のセンサ(例えばセンサヘッド308A)からのデータを第2のセンサ(例えばセンサヘッド308B)からのデータと位置合わせするための変換パラメータを決定する。更に、変換最適化ソフトウェア420は、第1のセンサからのデータを第2のセンサと組み合わせるための最適化された変換パラメータを識別するために、第1のセンサからのデータセットと第2のセンサのデータセットの相互情報を特定する反復技法を実行する。
【0125】
ブロック508において、センサヘッド308A又はセンサヘッド308Bは、決定された最適化された変換パラメータを使用してキャリブレートすることができる。例えば、センサヘッド308A及び/又はセンサヘッド308Bのいずれかの手動又は自動の再調整が、決定された最適化された変換パラメータに基づいて、或いは、所望の又は以前に決定された最適化された変換パラメータのセットからの、決定された最適化された変換パラメータの変更に基づいて、行われるべきだと判断される場合がある。更に、決定された最適化された変換パラメータのセットは、コントローラ404、
図6Aの車両コントローラ304、及び車両300の自律的動作のための
図6Aの様々な構成要素302によって、使用されてもよい。
【0126】
図10は、本明細書に記載の実施形態による、異なるライダーセンサからのデータを結合するための最適な変換パラメータを決定する方法600のフロー図である。
図10の方法600は、
図9に示されたステップのいくつかをより詳細に説明し、具体的には、変換パラメータを最適化するための処理のいくつかを説明する。ブロック602及び604において、第1のライダーピクセル点群及び第2のライダーピクセル点群が、それぞれのライダーシステム、又はライダーセンサヘッドから取得される。第1及び第2のライダーピクセル点群は、それぞれのライダーシステム、又はライダーセンサヘッドの視野の重なりにより、空間データのいくつかの重なりを有している。ブロック606において、第1のライダーピクセル点群は、同次変換行列を適用することによって均質化され、第1のライダーピクセル点群内の各ピクセルの、三次元空間座標及び強度値を含むデータセットが生成される。結果のデータセットは、四次元データセット[X、Y、Z、I]であり、ここで「X」、「Y」、及び「Z」はライダーピクセルの三次元空間座標であり、「I」はそれぞれ、第1のライダーシステムの受信された光強度の値である。ブロック608において、第2のライダーピクセルデータは、同次変換行列を適用することによって均質化され、同様に、第2のライダーピクセル点群についての四次元データセット[X、Y、Z、I]が生成され、ここで「X」、「Y」、及び「Z」はライダーピクセルについての空間座標であり、「I」は第2のライダーシステムによる各ピクセルのそれぞれの受信された強度値である。
【0127】
方法600は、最適化ループ630に入り、そこでは、第1及び第2のライダーセンサから受信したデータを組み合わせるため、及びライダーセンサをキャリブレートするための、最適変換パラメータを決定するために、変換パラメータ候補を使用して、均質化された第2のライダーピクセル点群に反復的に変換を実行する。ブロック610では、候補変換行列を使用して、第2の均質化されたピクセルデータセットを、変換された点群に変換する。候補変換行列「T」は、T=[R|t]となるような、外部回転パラメータ「R」のセット、及び外部並進パラメータ「t」のセットといった、外部変換パラメータを有してもよい。回転パラメータ「R」は、オイラー角、又は四元数として表現されることがある。例えば、変換行列は、回転変換を提供する回転四元数、及び/又は並進を提供する並進ベクトルに基づくものであってよい。四元数を用いて回転パラメータを表現することは、ジンバルロックと三次元空間における自由度の喪失とに起因する、複雑さを低減することができる。均質化された第2のライダーピクセル点群からのピクセルの、均質化された第1のライダーピクセル点群におけるピクセルへのマッピング変換は、以下によって実行することができる。
pi=K[R|t]Pi
ここで、「pi」は均質化された第1のライダーピクセル点群におけるi番目の点、「K」は第1のセンサ投影行列、「R」は外部回転パラメータ、「t」は外部並進パラメータ、及び「Pi」は均質化された第2のライダーピクセル点群におけるi番目の点である。
【0128】
最適化ループ630の第1の反復中にピクセルデータセットへ適用される初期変換パラメータは、前に決定された最適化された変換値のセットに基づいて、ユーザ入力値によって決定されてもよく、或いは、ピクセル点群の第1及び第2のセットのおおよその視野の重なりを見つけるように構成された、プロセッサ又はシステムによって決定されてもよい。
【0129】
変換された点群が生成された後、ブロック612及び614において、投影マスクが、均質化された第1のライダーピクセル点群、及び変換された点群に適用されて、マスクされた第1の点群及びマスクされた変換された点群が生成される。
【0130】
ブロック616及び618において、マスクされた第1の点群及びマスクされた変換された点群の、一次元ヒストグラムが決定される。一次元ヒストグラムは、例えば、ヒストグラムデータを平滑化するための平滑化パラメータなど、様々なパラメータを決定するために使用されてもよい。
【0131】
ブロック622では、ジョイントヒストグラムが生成され、ブロック623において、第1及び第2のデータセットから形成されたジョイントヒストグラムにガウシアンぼかしが適用される。実施形態では、更なる処理のためにジョイントヒストグラム内の潜在的なノイズを低減するように、ガウシアンぼかし以外の様々な平滑化フィルタが、ジョイントヒストグラムに適用されてもよい。ジョイントヒストグラムは、第1のセンサのFORと第2のセンサのFORとの間の重複領域について、第1及び第2のデータセットから決定されてもよい。ジョイントヒストグラムは、値の二次元グリッドを含んでもよく、そのグリッドの各軸は、センサの1つからの強度又は深度データに対応する(例えば、カメラデータの場合、軸が強度に対応してもよく、ライダーデータの場合、軸が強度及び/又は深度に対応してもよい)。更に、グリッドの各値は、2つのセンサからのデータの対応するサンプルペアが、重複領域で発生又は観察される確率(又は回数)を表す。例えば、グリッド値は、データの特定のサンプルペアが発生する回数のカウントを含んでもよく、カウント値が、カウント値をグリッド内のカウント値の総数で割ることによって、ジョイント確率値(例えば、pxy(x,y))へ変換されてもよい。ブロック624において、2つのデータセットの相互情報が、ジョイントヒストグラムから決定される。2つのデータセットの相互情報は、2つのデータセットが共有するデータのおおよその量の尺度であり、従って、処理された第1及び第2のセットのライダーピクセル点群のジョイントヒストグラムの相互情報は、第1及び第2のライダーピクセル点群の空間的重なりの量を決定するために使用され得る尺度の1つである。更に、相互情報は、本明細書に記載されるような点群変換のための最適化されたパラメータを決定するために使用されてもよい。例えば、より高い相互情報値をもたらす変換は、第1のライダーピクセル点群及び変換されたピクセル点群のより良い空間的重なりを示し、これは、本明細書に記載されるように、自律型車両動作を可能にするように複数のセンサからのデータを組み合わせるために、或いはセンサのキャリブレーションのために必要である。
【0132】
2つのデータセットの相互情報は、2つのデータセットのエントロピーを独立して求めることによって算出することができ、
H(X)=-Σx∈XpXlogpX(x)
H(Y)=-Σy∈YpYlogpY(y)
ジョイントヒストグラムからデータの2つのセットのジョイントエントロピーを決定すると、
H(X,Y)=-Σx∈XΣy∈YpXpYlogpXY(x,y)
そして総和を実行すると、
MI(X,Y)=H(X)+H(Y)-H(X,Y)
ここで、「X」は第1の処理されたライダーピクセル点群のヒストグラムからのデータであり、「Y」は第2のライダーピクセル点群からの処理された変換された点群のヒストグラムからのデータであり、「H」は所与のデータセットについてのエントロピーであり、「MI」は相互情報値である。
【0133】
相互情報を決定するためのこのプロセスは、ジョイントヒストグラムの値に確率的手法を適用することと称されることがあり、確率的手法は、最尤推定(MLE)を含むこと、又は最尤推定と称されることがある。相互情報値は、データセット「X」及び「Y」が完全に独立したデータセットであることを示す0という値から、値が増加するとデータセットがより多くの情報を共有している(すなわち、第1の点群及び変換点群におけるピクセルが三次元空間における同じ点からの情報を表す)ことを示す、1より遥かに大きい値までの範囲であり得る。実施形態において、相互情報は、相互情報の最大値を設定するために正規化された値であってよい。いくつかの実施形態において、相互情報値は、ピクセルの空間座標のセット(すなわちX、Y、及びZ)に適用される第1の重みと、ピクセルの強度値(すなわち値I)に適用される第2の重みとで重み付けされてもよい。例えば、空間座標及び強度値には、両方のタイプのデータが変換パラメータに等しい影響を有するように、等しい重みを与えることができる。別の例として、強度値は、強度値が変換パラメータに与える影響が小さくなるように、低い重み(例えば、空間座標の重みの2分の1)を与えることができる。強度値に低減された重みを適用することは、例えば、一方のセンサに鏡面反射があるが、他方のセンサは散乱光のみを受信する場合(同じ物体に対して異なる強度値を生成し得る)といった、変則的な場合に役立つことがある。任意の実施形態において、相互情報の測定は、複数のライダーセンサからの点群データを結合するための最適化された変換パラメータを決定するため、及びマルチセンサシステムにおけるセンサをキャリブレートするための、有用なメトリックである。
【0134】
方法600は、更に相互情報コストを決定してもよい。相互情報コストは、相互情報値、重み付けされた相互情報値、又はスケーリングされた相互情報値の負(negative)である。更に、現在の相互情報値又はコストと、方法600の最適化手法の前の反復からの相互情報値又はコストとの間の、差分が計算されてもよい。最初の反復については、相互情報差を計算するための前に決定された相互情報値がないため、相互情報差は計算されなくてもよい。或いは、初期の相互情報差は、予め定義された値であってもよく、最初の反復のための相互情報差は、初期の相互情報値、及び最適化ループ630の最初の反復によって決定された現在の相互情報値を使用して決定することができる。
【0135】
ブロック626において、方法600は、1つ以上の終了条件が満たされているか否かを判断する。1つ以上の終了条件が満たされている場合、本方法は終了となり、最適化された変換パラメータが、メモリに格納され、プロセッサ又はコントローラへ通信され、或いは、無線通信、ハードワイヤード通信、若しくは他のネットワークや通信インタフェースを介して、外部デバイスやシステムへ通信される。ブロック626において、1つ以上の終了条件が満たされていないと判断された場合は、ブロック628において、外部変換パラメータ候補(すなわち、回転及び並進変換パラメータ)が更新され、ブロック610において、均質化された第2のライダーピクセル点群が、更新後の変換パラメータ候補により変換される。本方法は、ブロック626において、1つ以上の終了条件が満たされるまで、変換パラメータを反復的に更新して相互情報値を決定する最適化ループ630を繰り返す。
【0136】
実施形態において、1つ以上の終了条件は、ある相互情報値(例えば、1、10、20、50、100などの相互情報値)の達成、最小相互情報コスト閾値(例えば、1未満、-1未満、-10未満、-20未満などのコスト閾値)の達成、現在の反復の相互情報値と前の反復の相互情報値との差(例えば、5未満、1未満、0.5未満、0.1未満、0.05未満、0.01未満などの差分閾値)の達成、現在の反復のコスト値と前の反復のコスト値との差(例えば、5未満、1未満、0.5未満、0.1未満、0.05未満、0.01未満などの差分閾値)の達成、最適化ループ630の反復回数(例えば、10反復、100反復、1000反復など)の実行、或いは別の終了条件を含むことができる。更に、実施形態において、外部パラメータは、決定された値により現在の反復の外部変換パラメータを摂動(perturbing)させることによって、更新されてもよい。例えば、現在のパラメータは、加重ガウス分布、ポアソン分布、指数分布、又は別の確率分布や確率密度関数から、ランダムに生成された値によって、シフト又はスケーリング(すなわち、加算又は乗算)されてもよい。例において、変換パラメータは、現在の変換パラメータ値の割合によって摂動されてもよく、例えば、変換パラメータは、1%、5%、8%、10%、又は15%、或いは現在の変換パラメータ値によって摂動されてもよい。更に、更新された外部パラメータは、勾配降下アルゴリズム(例えば、バルジライ-ボールウェイン法)、或いは勾配なしの方法(例えば、ネルダー-ミード最適化)により決定されてもよい。
【0137】
実施形態において、摂動のタイプ及び摂動の量又は割合は、現在の相互情報値、相互情報コスト、現在の反復のコスト値と前の反復のコスト値との差、或いは現在の反復の相互情報値と前の反復の相互情報値との差によって決定されてもよい。例えば、連続する2つの反復間の相互情報値の差が10より大きい場合、変換パラメータを15%摂動させることが望ましい場合がある。また、その後の反復では、最適化処理の2つの反復間の相互情報量の差が減少することにより、摂動を5%に低減することが望ましいと判断される場合がある。最適化中に摂動を動的に変更することは、最適化時間を減少させ、決定された最適化された変換パラメータのより大きな相互情報値を可能にし、最適化中の反復間の相互情報値のより小さな差を可能にし得る。
【0138】
図11A及び
図11Bは、2つのライダーセンサの視野が空間的にオフセットされている、2つの独立したライダーセンサから受信した2つのライダー点群を表す画像である。
図11Aは、第1のセンサのライダー点群を点線で示し、第2のセンサのライダー点群を破線で示している。点線及び破線で示されているが、
図11Aの2つのライダー点群は、ライダー点群からのピクセルの集合を示すものであり、
図11Aに示される提示された点線及び破線ではないことを理解すべきである。
図11Aは、2つのセンサが三次元空間の同様の領域を検出することを示すものである。具体的に、対応する特徴702aと702b、及び704aと704bは、第2のライダーセンサが、第1のライダーセンサによる特徴702a及び704aの検出と比較して、僅かに右側に、そしてわずかに時計回りに角度をつけて、特徴702b及び704bを検出する視野を有することを示している。
【0139】
図11Bは、
図9の方法500又は
図10の方法600のような変換最適化処理が、2つのライダー点群に対して実行された後の、
図11Aに示された2つのライダー点群を示している。
図11A及び
図11Bの点群、及び特徴702a、702b、704a、704bを比較すると、変換最適化が行われた後の第1のライダー点群(点線)と第2のライダー点群(破線)とが、より重なっている(すなわち、点群間の相互情報がより大きい)ことが明らかである。その後、
図11Bに例示された2つの点群は、自律走行アプリケーションや、三次元空間における特徴及びターゲットの空間的検出を必要とする任意のアプリケーションにおいて、使用するために結合することができる。更に、後続の点群に関連する健全スコアを経時的に追跡することによって、第1又は第2のセンサのうちの1つが再調整、すなわち物理的調整を必要とすると判定されてもよい。例えば、左前のヘッドライトと右前のヘッドライトとにそれぞれ配置された第1及び第2のライダーセンサを有する自動車が、他の自動車のバンパーに衝突することがある。衝突の力と位置によっては、衝突によって第2のセンサが物理的に移動し、その視野が角度的及び/又は並進的に変化する可能性がある。その後、変換最適化が実行され、第2のセンサが許容可能な視野からシフトしたと判断され、更に第2のセンサを手動(例えば、整備士、技術者、車両の所有者、又は他のエージェントによって)又は自動(例えば、コントローラによって制御されるアクチュエータ及びモータによって)で物理的に調整する必要があると判断される場合がある。
(ライダーデータ及びカメラデータを結合するための変換パラメータの最適化)
【0140】
図12は、カメラ806がライダーシステム808と協働して環境に関する情報を取得する、例示的なシステム800を示している。システム800は、車両内で動作し、車両の前方の領域に関する情報を収集してもよい。付加的又は代替的に、システム800は、車両の後方、車両の右側、車両の左側などの領域に関する情報を収集してもよい。ライダーシステム808は、例えば、
図1のライダーシステム100と同様であってよい。カメラ806は、視野内の受動的光信号を捕捉する任意の好適なカメラとすることができる。例えば、カメラ806は、視野内の様々なターゲットにより反射された周囲光を検出することによって、一度に768×1024のピクセルアレイを捕捉することができる。光パルスを放射し、これらの放射された光パルスの反射を検出することによって、一度に比較的小さなピクセルのセットしか得られないライダーシステムとは異なり、カメラ806は、一度に多数のピクセルを捕捉することができる。例示的な実施態様において、カメラ806は、例えば、カメラ806の視野が車両前方の120×60度の視野に対応するように、車両に対して同じ向きを維持する。
【0141】
この例のシステム800は、永続的及び非永続的な構成要素を有するコンピュータ可読メモリ802と、コンピュータ可読メモリ802にアクセスするように構成された1つ又は複数の処理ユニット(CPU及び/又はGPUなど)を含むコントローラ802と、を備えている。コンピュータ可読メモリ802は、適切な画像処理技術を使用して種々のタイプのオブジェクトを検出及び識別するように構成された、画像処理ソフトウェア818を格納しても良い。画像処理ソフトウェア818は、1つ又は複数のプログラミング言語による命令を含んでもよいが、一般に、画像処理ソフトウェア818の機能は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の適切な組み合わせを使用して実装することができる。コンピュータ可読メモリ802は、ライダーシステム808及びカメラ806から得られたデータセットに対してデータ変換を実行するように構成された、変換最適化ソフトウェア820を格納してもよい。変換最適化ソフトウェア820は、複数のライダーセンサヘッドからのデータセットを結合するための
図8のソフトウェア420と、同一又は類似のソフトウェアであってもよい。コンピュータ可読メモリ802はまた、ライダー点群ピクセルデータと同様に写真のシーケンスを含み得る、画像データ822を格納してもよい。
【0142】
図13は、ライダーデータ及びカメラデータを組み合わせるための変換パラメータを最適化する方法850のフロー図である。ここで
図12及び
図13を同時に参照すると、ブロック852において、ライダーシステム808は、ライダーシステム808の視野を示すピクセルデータを取得することができる。動作中、ライダーシステム808は、例えば、1つのチャネル(
図3参照)又は複数のチャネル(
図4参照)に対応するスキャンパターンに従って、上述した技術を使用してピクセルを取得してもよい。ライダーシステム808によって得られたピクセルは、以下では明確化ために「ライダーピクセル」と呼ばれることがある。実施形態において、ライダーピクセルは、ライダーモジュール808によって実装されるスキャンパターンに対応するシーケンスで得られてもよい。例えば、ライダーシステムは、時間t
1、t
2、t
3などでライダーピクセルLP
1、LP
2、LP
3、…を取得してもよい。別の実装では、ライダーシステムは、時間t
1、t
2、t
3などの各々で複数のピクセルを取得してもよい。
【0143】
ブロック854において、カメラ806は、ライダーシステム808がライダーピクセルを得るのと同時に、あるレートで写真画像を取得することができる。一般に、カメラ806は、ライダーシステム808がスキャンフレームのMピクセルの全てを収集する間、すなわちスキャンパターン全体を横断する間、N枚の画像を収集することができる。例示的な実施態様では、Mが50,000、Nは約100である。従って、ライダーシステム808が50,000のライダーピクセルを収集する時間間隔の間に、カメラ806は100枚の写真画像を収集する。写真画像は、ライダーシステム808の視野に少なくとも部分的に重なる。ブロック852及び854は、別々に又は同時に実行されてもよい。例えば、コントローラ804は、カメラ806及びライダーシステム808から、あるインターリーブで並行してデータを受信してもよい。
【0144】
実施例において、画像処理ソフトウェア818は、ライダーデータと画像データとの取得の違いによる、スキャンのタイミングを考慮して、ライダーピクセルと写真のピクセルとの位置合わせを行う。もちろん、カメラ806の解像度とライダーシステム808の解像度とは一致する必要はない。従って、一般に、写真画像は、ライダー点群よりも少ない、同数の、又はより多くのピクセルを含んでもよい。従って、1つのライダーピクセルが、写真画像のピクセルのクラスタ(例えば3×3)と位置合わせされてもよく、或いは逆に、ライダーピクセルのクラスタが、写真画像又は画像の1つのピクセルと位置合わせされてもよい。
【0145】
一例として、画像処理ソフトウェア818は、ライダーピクセルを写真画像の1つ又はいくつかのピクセルと位置合わせしてもよく、及び/又は、ピクセルを写真画像の1つ又はいくつかのピクセルと位置合わせしてもよい。例示的な実施態様では、あるライダーピクセルについて、画像処理ソフトウェア818は、ライダーピクセルに時間的に最も近接しているN枚の画像のシーケンス内の写真画像を特定してもよい。従って、例えば、画像処理ソフトウェア818は、スキャンパターンの中央付近で得られたライダーピクセルを、N枚の画像のシーケンスのほぼ中央で撮影された写真画像と位置合わせしてもよい。従って、画像処理ソフトウェア818は、結合され、時間整合されたデータセットを生成してもよい。例えば、画像処理ソフトウェア818は、(カメラ806及びライダーシステム808の)2つの解像度のうちの高い方に対応する配列を生成してメモリ602へ格納してもよく、各要素がライダーピクセル及びカメラピクセルの双方を格納する。
【0146】
例示的なシナリオにおいて、画像処理ソフトウェア818は、写真画像に撮影されたオブジェクトが動物であると一定の確信を持って判断し、更にライダーシステム808に、例えば識別に関する確信のレベルを上げるため、或いは動物までの距離を測定するために、この関心領域において一時的にスキャンを集中させるように指示する。より一般的に、画像処理ソフトウェア818は、識別されたオブジェクトを考慮して、スキャンパターン、パルスレート、放出パルスのパワー、レシーバにおけるゲインなどのうちの、1つ又は複数を修正することができる。別の例示的なシナリオでは、画像処理ソフトウェア818が、オブジェクトがおそらく人間であると判断し、ライダーシステム808に安全のために放出パルスのパワーを低下させるように仕向ける。更に、画像処理ソフトウェア818は、場合によっては、オブジェクトを識別しないが、それにも関わらず、オブジェクトがライダーシステム808の視野内にあると判断し、未知のタイプのオブジェクトを検出することに基づいてスキャンパターンを調節することができる。
【0147】
ブロック856において、画像処理ソフトウェア818は、写真画像からグレースケール画像を生成する。実施形態において、グレースケール画像処理は、写真カメラ又はセンサによって実行されてもよく、写真カメラ又はセンサが、画像をグレースケール画像として捕捉してもよく、或いはグレースケール画像処理は、画像処理ソフトウェア818を実行するプロセッサによって実行されてもよい。
【0148】
ブロック858において、画像処理ソフトウェア818は、ライダーピクセル点群を、ライダーピクセル点群内の各ピクセルについての三次元空間座標及び強度値を含むデータセットへと均質化する。結果のデータセットは、四次元データセット[X、Y、Z、I]であり、ここで「X」、「Y」、及び「Z」はライダーピクセルについての三次元空間座標であり、「I」はライダーシステムのそれぞれの受信された光強度の値である。
【0149】
方法800は、ライダー及び写真カメラからのデータを組み合わせるための、並びにライダー及び写真画像センサをキャリブレートするための、最適変換パラメータを決定するために、変換パラメータ候補を用いて、変換を反復的に実行する最適化ループ860に入る。ブロック862において、ライダーデータは、
図10を参照して上述したように、候補変換行列T=[R|t]に従って変換される。ブロック864では、変換された点群に投影マスクが適用される。
【0150】
ブロック866及び868では、グレースケール画像データ及びマスクされたライダーデータについて、それぞれ一次元及び二次元ヒストグラムが決定される。ブロック872において、ジョイントヒストグラムが生成され、ブロック873では、第1及び第2のデータセットから形成されたジョイントヒストグラムにガウシアンぼかしが適用されて、ヒストグラムデータのノイズ及び高周波コンテンツが低減される。実施形態では、更なる処理のために、ジョイントヒストグラムの潜在的なノイズを低減するように、ガウシアンぼかし以外の異なる平滑化フィルタが、ジョイントヒストグラムに適用されてもよい。ブロック874では、
図10を参照して説明したように、2つのデータセットの相互情報が、ジョイントヒストグラムから決定される。方法800は、更に、相互情報コストを決定してもよい。相互情報コストは、相互情報値、重み付けされた相互情報値、又はスケーリングされた相互情報値の負である。更に、現在の相互情報値又はコストと、方法800の最適化手法の前の反復からの相互情報値又はコストとの間の、差分が計算されてもよい。最初の反復については、相互情報差を計算するための前に決定された相互情報値がないため、相互情報差が計算されなくてもよい。或いは、初期の相互情報差が、予め定義された値であってもよく、最初の反復についての相互情報差は、初期の相互情報値、及び最適化ループ860の最初の反復によって決定された現在の相互情報値を使用して、決定されてもよい。
【0151】
ブロック876において、方法800は、1つ以上の終了条件が満たされているか否かを判断する。1つ以上の終了条件が満たされている場合、方法800は最適化ループ860を終了し、方法800が終了となり、最適化された変換パラメータが、メモリに格納され、プロセッサ又はコントローラに通信され、或いは、無線通信、ブルートゥース(登録商標)通信、ハードワイヤード通信、又は他のネットワーク若しくは通信インタフェースを介して、外部デバイス若しくはシステムに通信される。ブロック876において、1つ以上の終了条件が満たされていないと判断された場合、ブロック878において、外部変換パラメータ(すなわち、回転及び並進変換パラメータ)が更新され、ブロック862において、均質化ライダーピクセル点群が、更新された変換パラメータ候補によって変換され、最適化ループ860の別の反復が実行される。最適化ループ860は、ブロック876において1つ以上の終了条件が満たされるまで、変換パラメータ候補の更新及び相互情報値の決定を反復して行う。
【0152】
実施形態において、1つ以上の終了条件は、ある相互情報値(例えば、1、10、20、50、100などの相互情報値)の達成、最小相互情報コスト閾値(例えば、1未満、-1未満、-10未満、-20未満などのコスト閾値)の達成、現在の反復の相互情報値と前の反復の相互情報値との間の差(例えば、5未満、1未満、0.5未満、0.1未満、0.05未満、0.01未満などの差分閾値)の達成、現在の反復のコスト値と前の反復のコスト値との間の差(例えば、5未満、1未満、0.5未満、0.1未満、0.05未満、0.01未満などの差分閾値)の達成、最適化ループ630の反復回数(例えば、10反復、100反復、1000反復など)の実行、又は別の終了条件を含むことができる。
【0153】
実施形態において、外部パラメータは、現在の反復の外部変換パラメータを、決定された値によって摂動させることによって更新されてもよい。例えば、現在のパラメータは、加重ガウス分布、ポアソン分布、指数分布、或いは別の確率分布や確率密度関数から、ランダムに生成された値によって乗算されてもよい。例において、変換パラメータは、現在の変換パラメータ値の割合によって摂動されてもよく、例えば、変換パラメータが、1%、5%、8%、10%、又は15%、或いは現在の変換パラメータ値によって摂動されてもよい。
【0154】
実施形態において、摂動のタイプ及び摂動の量や割合は、現在の相互情報値、相互情報コスト、現在の反復のコスト値と前の反復のコスト値との差、或いは、現在の反復の相互情報値と前の反復の相互情報値との差によって決定されてもよい。例えば、連続する2つの反復の相互情報値の差が10より大きい場合、変換パラメータを15%摂動させることが望ましい場合がある。また、その後の反復では、最適化処理の2つの反復処理間の相互情報値の差が減少することにより、摂動を5%に低減することが望ましいと判断される場合がある。最適化中に摂動を動的に変更することは、最適化時間を減少させることができ、決定された最適化された変換パラメータのより大きな相互情報値を可能にし、最適化中の反復間の相互情報値の差をより小さくすることを可能にし得る。
【0155】
図14A、
図14B、及び
図14Cは、写真画像、ライダー点群、及び、ライダー点群変換の最適化後の、写真画像と変換されたライダー点群とを組み合わせた結果画像の図である。
図14Aの特徴902aと
図14Bの同じ特徴902aとの位置の違いから、写真カメラとライダーシステムとが異なる視野を有していることが明らかである。更に、
図14Aの特徴の大きさと
図14Bの特徴の大きさとは異なっている。
図14Cは、変換パラメータの最適化が行われた後の(例えば、
図13を参照して説明した最適化方法によって)、ライダーデータと写真データとの組み合わせを示している。ライダーデータ(点線)は、画像データの特徴に合うように変換されている。
【0156】
ライダーとカメラデータとの正確なマッピング及び組み合わせにより、カメラデータを用いたターゲット識別と、ライダーデータを用いた距離情報とを、自動車へのフィードバックに、より具体的には、自動車の自律的な操作を可能にするために使用することができる。同様に、自動車の手動運転をより良く支援するために、結合されたデータが自動車のユーザへ提供されてもよい。更に、
図13の方法800は、自動車に関連する1つ又は複数のセンサをキャリブレートすることを支援してもよい。
図11A及び
図11Bを参照して説明したように、車両に関連するセンサは、車両又はセンサの衝突、運転に関連する振動と力とによるシフト、或いは多数の他の理由などの多くの要因によって、時間と共に物理的にシフトする可能性がある。そのため、最適化された変換パラメータも、センサの視野の変化により、時間の経過と共に変化する可能性がある。最適化された変換パラメータが閾値に達し、センサの物理的なキャリブレーションが必要であると判断されることがある。その後、センサからのデータは、車両のユーザに対する情報提供のための使用について、或いは車両の自律的な動作の実現のための使用について、無効であると判断されてもよい。更に、センサの物理的キャリブレーションは、手動(例えば、整備士、技術者、車両のユーザ、又は他のエージェントによる)で、或いは自動(例えば、コントローラ及びアクチュエータ、モータ、又は他の物理的調整器による)で実行されてもよい。
(追加のオプション及び実施形態)
【0157】
変換パラメータ及び最適化方法は、複数のライダーセンサからのライダーデータの組み合わせ、又はライダーデータの写真カメラデータとの組み合わせに関連して、本明細書で説明されてきたが、本明細書に記載された方法及びシステムは、重複する視野を有する任意の2つのセンサからのデータセットを組み合わせるのに有用であり得る。例えば、データの他の組み合わせは、ライダーデータと赤外線データ、写真画像データとレーダデータ、或いは関心領域の空間的視野を示す他のタイプのデータを、組み合わせることを含み得る。更に、本明細書に開示される最適化技術は、重複する視野を有するセンサから得られる、ライダーデータ、写真画像データ、レーダデータ、赤外線データ、GPSデータ、近赤外線データ、及び/又は超音波データの、いずれかの組み合わせを含む2以上のデータセットの組み合わせに有用であり得る。
【0158】
本明細書に記載された方法及びシステムは、センサシステムの2つ以上のセンサをキャリブレートするためにも有用であり得る。そのような実施形態では、複数のセンサからのデータ、又はデータのサブセット(例えば、センサの重複領域に含まれるデータのみ)が、センサのキャリブレーションのために複数の投影平面に投影され得る。例えば、車両は、それぞれがセンサシステムの少なくとも1つの他のセンサと視野の重なりを有する、5つのセンサ(例えば、
図6A及び
図6Bに図示される車両)を有してよい。本明細書に記載されるような変換最適化及びキャリブレーションは、視野の重複領域を有する隣接する一対のセンサの各々に対して実行されてもよい。更に、5つのセンサ全てからの変換されたデータセットの組み合わせは、センサシステムの360度の視野を可能にし得る。2つ以上のセンサを採用する実施形態では、センサの1つがマスターセンサとして指定されてもよく、他のセンサからのデータセットが全てマスターセンサの基準フレームに変換されてもよい。例えば、センサ308Aがマスターセンサとして指定されてもよく、センサ308Bからのデータ又はデータのサブセットをセンサ308Aの基準フレームに変換するための、最適化された変換パラメータT
A
Bを決定するために、本明細書に記載の最適化及びキャリブレーション技術が実行されてもよい。すなわち、P´
B=[T
A
B]P
Bであり、ここでP
Bはセンサ308Bからの元のデータ、T
A
Bはセンサ308Bの基準フレームからセンサ308Aの基準フレームへの最適変換、及びP´
Bは変換されたデータである。
【0159】
続いて、センサ308Cの最適な変換パラメータは、最初にセンサ308Cからのデータをセンサ308Bの基準フレームに変換し、次に308Bの基準フレームからセンサ308Aの基準フレームへの変換を実行することによって決定されてもよい。すなわち、P´C=[TA
B][TB
C]PCとなり、ここでPCはセンサ308Cからの元のデータ又はデータのサブセット、TB
Cはセンサ308Cの基準フレームからセンサ308Bの基準フレームへの最適変換、P´Cは変換されたデータである。更に、視野の複数の重複領域は、5つのセンサ308A~Eのキャリブレーションをチェックするために使用されてもよい。例えば、センサ308Dからのデータ又はデータのサブセットを、センサ308Cの参照フレーム、及び308Bの参照フレームを通る変換を介して、センサ308Aの参照フレームに変換すると、センサ308Bからのデータをセンサ308Eの参照フレームを介してセンサ308Aの参照フレームに変換するのと、同じ変換データを生じるはずである。すなわち、変換[TA
B][TB
C][TC
D]は、[TA
E][TE
D]にほぼ等しくなるべきである。複数の変換を通じて複数のキャリブレーションを実行する能力は、マルチセンサシステムにおけるセンサのより堅牢なキャリブレーション、より正確なキャリブレーションを可能にし、マルチセンサシステムにおけるセンサの故障を検知する複数の方法を提供する。
【0160】
実施形態において、重複領域は、画像処理を通じて、予め定義された手段を通じて、ユーザ入力を通じて、又は別のシステムによって決定されてもよい。次いで、本明細書に記載される変換最適化方法は、重複領域内のピクセルを表す各センサからのデータに対してのみ実行されてもよい。そのような実施形態は、最適化を実行するための処理時間を短縮することができ、最適化に専念する計算資源を削減することができ、及び/又は最適化を実行するためのシステムのメモリ要件を削減することができる。
【0161】
実施形態において、センサによって得られたデータは、何も動いていない静的な環境で捕捉された静的データ又は「スナップショット」を含んでもよい。他の実施形態において、動的データは、車両が動いている間、又はセンサの視野内の物体や観察された環境が動いている間、センサによって捕捉されてもよい。物体が移動する実施形態では、本明細書に記載の変換最適化技術の実行前に、移動物体が、画像データ(例えば、写真画像データ、ライダーピクセルデータなど)から識別され、除去されてもよい。移動物体を識別するために、ライダーセンサ又はカメラの速さ又は速度を考慮して、どの識別された物体が実際に静止しているか(例えば、駐車された車、標識、道路、柵、木など)、及びどの物体が動いているか(例えば、交通、動物など)を判断してもよい。
【0162】
動的環境において又は移動する車両からデータを捕捉することは、「スマートシーン選択」と呼ばれることがあり、これは、画像を捕捉し、本明細書に記載のセンサキャリブレーション及び最適化方法に使用するための画像の一部、又はシーンを選択することを含むことがある。スマートシーン選択は、複数のセンサを有する車両が、停止しているとき(例えば、駐車されているとき、信号待ちのとき、停止標識のときなど)のみ実行されてもよい。更に、スマートシーン選択は、シーン内のオブジェクトの大部分が、さびれた道路上の森林で運転しているとき、又は交通や歩行者の動きがほとんどない夜間の道路に沿っているときなどの、静的であるときに実行されてもよい。
【0163】
ライダー対カメラキャリブレーション、又は写真画像データを含む任意の変換最適化について、スマートシーン選択は、影が本明細書に記載されるようなピクセルの識別及びマッピングを複雑にする可能性があるので、画像内にほとんど又は全く影がないときにデータを取り込むことを含むことができる。スマートシーン選択は、捕捉されたデータのコスト値を決定することによって実施されてもよい。例えば、コスト値は、シーン内の移動物体の数の識別、シーン内の静止物体の数の識別、シーン内の鏡面反射の量の決定などのいずれかを含む、1つ以上の要因の重み付けによって決定されてもよい。動的データの補足及びスマートシーン選択を実行することは、センサシステム内のセンサのキャリブレーションをいつでも実行することを可能にし、静止物体及び移動物体の双方を含み得るより多様なシーンからのデータの捕捉を可能にすることができる。
【0164】
いくつかの実施形態において、スマートシーン選択は、第1及び第2のセンサから受信されたセンサデータ間の相関の量に基づいて実装されてもよい。センサデータ間の相関が高く、2つのセンサからのデータが良好な情報重複量を有する(例えば、データの両方のセットが類似の特徴又はオブジェクトを含む)ことを示す場合に、センサデータがキャリブレーション処理において使用されてもよい。そうではなく、2つのセンサからのデータが良好な相関を有していない場合に、そのデータが拒絶され、キャリブレーション処理において使用されなくてもよい。2つのセンサから受信されたセンサデータ間の相関は、センサデータの2つのセット間の相関又は情報の重複の量を定量化する相関スコアに基づいてもよい。相関スコアは、任意の適切な技法を用いて決定することができる。例えば、相関スコアは、0から1までの値を有し得る正規化情報距離(NID)に基づくことができる。センサデータの2つのセット間の相関スコアは、2つのデータセット間の類似の度合いを表してもよい。例えば、2つのデータセットは、各データセットが1つ以上の同じオブジェクトを含む場合、比較的高い相関スコア(例えば、0.7を超えるスコア)を有してもよい。センサデータの2つのセットは、キャリブレーションにおける誤差が明らかになるように異なる視点から観察された同じオブジェクトを含むことができ、そのデータの2つのセットは、比較的高い相関スコアを有する場合がある。また、各データセットの異なる視点が、2つのデータセットに含まれる情報間に何らかの差分を生じさせる可能性があるため、相関スコアは1未満であってもよい。センサデータの2つのセットの間の相関スコアが特定の閾値(例えば0.7)よりも大きい場合に、センサデータがキャリブレーション処理において使用されてもよい。
【0165】
本明細書で説明するキャリブレーション処理は、データの単一フレーム又はデータの複数フレームを使用して適用することができる。例えば、
図10に示されるライダー対ライダーキャリブレーションプロセスは、2つのセンサの各々から受信されたライダーデータの単一の点群を使用して、キャリブレーションを実行してもよい。或いは、2つのセンサの各々からのライダーデータの複数の点群を使用して、キャリブレーションを実行してもよい。複数の点群は、ライダーセンサが動作している間の異なる時間に得られた点群を含んでもよい。付加的又は代替的に、複数の点群は、点群データの複数の投影(例えば、2つ以上の投影平面に投影される単一の点群からのデータ)を含んでもよい。データの複数のフレームを使用するキャリブレーション処理については、データフレームが別々に分析されてもよく(例えば、ジョイントヒストグラム及び相互情報の対応する値が、2つのセンサからの一対のデータフレームの各々について決定されてもよい)、或いはデータフレームが結合されて一緒に分析されてもよい(例えば、データの全てのフレームに対応する単一のジョイントヒストグラムが生成され、相互情報についての1つの対応する値が単一のジョイントヒストグラムから決定されてもよい)。
【0166】
変換パラメータのセットが決定されると、2つ以上のセンサから受信された後続のセンサデータを、変換パラメータを使用して一緒に重ね合わせる又は結合することができる。いくつかの実施形態において、変換されたセンサデータの健全スコアは、センサの健全性又は性能を測定又は監視するために使用することができる。時間の経過と共に、又は周囲温度の変化と共に、センサのキャリブレーションが劣化する場合があり(例えば、センサ内の光学部品のわずかな移動や不整列に起因して)、或いは、変換パラメータがもはやデータをうまく重ね合わせない場合がある(例えば、センサ内の部品の粗動、故障、又は破損に起因して)。2つ以上のセンサから受信したデータがどの程度うまく重なっているかに対応する健全スコアを判定することによって、センサの健全性や性能を監視することができる。健全スコアは、相互情報のメトリック、コスト値、又はNID値のうちの1つ以上に基づいてもよく、健全スコアは、データの第1のセットと変換されたデータの第2のセットとから判定されてもよい。変換パラメータのセットを使用して変換を実行した後、健全スコア(例えば、相互情報のメトリック)が決定されてもよく、健全スコアが特定の閾値より大きい或いは小さい場合に、センサは再キャリブレーション、整備、又は修理が必要な可能性がある。例えば、データの第1のセットと変換されたデータの第2のセットとの間の相互情報のメトリックが再キャリブレーション閾値より小さい場合、これはセンサが再キャリブレーションされる必要があることを示すことができる。変換パラメータの新しいセットを決定する必要があることを示す通知が送信されてもよい。別の例として、相互情報のメトリックが臨界閾値より小さい場合(例えば、臨界閾値が再キャリブレーション閾値より小さい場合)、これは、センサシステムに問題があること(例えば、部品が壊れた或いは移動した)を示す可能性がある。この場合は、センサに整備又は修理が必要であることを示す通知が送信されてもよい。更に、整備又は修理が行われるまで、センサシステムがシャットダウンされるか、又はサービスから外されてもよい。
【0167】
実施形態において、キャリブレーションは、本開示でマルチビュー投影と呼ばれる、異なる投影面を有する複数のライダーセンサからのセンサデータを使用して、実行される場合がある。マルチビュー投影は、トップダウン投影、正面投影、及び/又は側面投影を有する、ライダーデータセットを含んでもよい。2つ以上の異なる投影面からのライダーデータにより、センサの整列/不整列のより良い検出、及びセンサが再キャリブレートされるべきか否かの判断が可能になる場合がある。単一ビュー投影のキャリブレーションは、視野内のオブジェクトの特定の寸法に依存する空間データの特定の詳細を、最小化又は非強調化することができる。例えば、正面投影から見た物体の横方向の僅かなズレは、上面投影や側面投影で見た場合の同じズレほど明らかでない場合がある。複数の投影を行うことで、物体を複数の視点から見ることができ、キャリブレーションのために収集及び分析される潜在的に異なる情報が提供される。マルチビュー投影を行うことで、1つの視点だけでは見逃されたり、強調されなかったりするようなデータのズレを検出することができる。マルチビュー投影のキャリブレーションは、三次元データセット(x、y、z)が利用可能なライダー対ライダーセンサに有効であると考えられる。
(一般的な考慮事項)
【0168】
いくつかのケースにおいて、本明細書に開示される様々なモジュール、回路、システム、方法、又はアルゴリズムステップを実装するために、コンピューティングデバイスを使用することができる。一例として、本明細書に開示されるモジュール、回路、システム、方法、又はアルゴリズムの全て又は一部は、汎用のシングル又はマルチチッププロセッサ、デジタル信号プロセッサ(DSP)、ASIC、FPGA、任意の他の適切なプログラマブルロジックデバイス、離散ゲート又はトランジスタロジック、離散ハードウェアコンポーネント、或いはこれらの任意の適切な組み合わせによって実装又は実行されてもよい。汎用プロセッサは、マイクロプロセッサ、或いは、従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンのいずれであってもよい。プロセッサは、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つ以上のマイクロプロセッサ、又は他の任意のそのような構成などの、コンピューティングデバイスの組み合わせとして実装することもできる。
【0169】
特定の実施形態において、本明細書に記載された内容の1つ以上の実装は、1つ以上のコンピュータプログラム(例えば、コンピュータ可読非一過性記憶媒体に符号化又は格納された、コンピュータプログラム命令の1つ以上のモジュール)として実装されてもよい。一例として、本明細書に開示される方法又はアルゴリズムのステップは、コンピュータ可読非一過性記憶媒体に常駐し得るプロセッサ実行可能ソフトウェアモジュールに実装されてもよい。特定の実施形態では、コンピュータ可読非一過性記憶媒体が、コンピュータソフトウェアを格納又は転送するために使用され、コンピュータシステムによってアクセスされ得る、任意の適切な記憶媒体を含んでもよい。ここで、コンピュータ可読非一過性記憶媒体又はメディアは、1つ又は複数の半導体ベースの又は他の集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)又は特定用途向けIC(ASIC)など)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク(例えば、コンパクトディスク(CD)、CD-ROM、デジタル多用途ディスク(DVD)、ブルーレイディスク、又はレーザディスク)、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスク、フロッピーディスクドライブ(FDD)、磁気テープ、フラッシュメモリ、半導体ドライブ(SSD)、RAM、RAMドライブ、ROM、セキュアデジタルカード又はドライブ、他の任意の適切なコンピュータ可読非一過性記憶媒体、或いは、必要に応じて、これらの2つ以上の任意の適切な組み合わせを含むことができる。コンピュータ可読非一過性記憶媒体は、適切な場合、揮発性、不揮発性、又は揮発性と不揮発性の組み合わせであってもよい。
【0170】
いくつかのケースでは、別々の実施態様の文脈で本明細書に記載された特定の特徴も、単一の実施態様において組み合わされて実装されることがある。反対に、単一の実施態様の文脈で説明された様々な特徴も、複数の実施態様において別々に、又は任意の適切なサブコンビネーションで実装されることがある。更に、特徴は、特定の組み合わせで作用するものとして上述され、当初はそのように主張されることさえあるが、主張された組み合わせからの1つ以上の特徴は、場合によっては組み合わせから切り取られ、主張された組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0171】
動作が特定の順序で行われるように図面に描かれている場合があるが、これは、そのような動作が示された特定の順序や連続した順序で行われること、或いは全ての動作が行われることを、要求していると理解されるべきではない。更に、図面は、フロー図又はシーケンス図の形態で、1つ以上の例示的なプロセス又は方法を模式的に描写することができる。しかしながら、描かれていない他の動作が、模式的に示されている例示的なプロセス又は方法に組み込まれてもよい。例えば、1つ以上の追加の動作が、図示された動作のいずれかの前、後、同時に、又はその間に実行されてもよい。更に、図に描かれた1つ以上の動作は、適切な場合には繰り返されてもよい。加えて、図に描かれた動作は、任意の適切な順序で実行されてもよい。更に、特定の構成要素、デバイス、又はシステムは、特定の動作を実行するものとして本明細書に記載されているが、任意の適切な構成要素、デバイス、又はシステムの任意の適切な組み合わせが、任意の適切な動作又は動作の組み合わせを実行するために使用されてもよい。特定の状況では、マルチタスク又は並列処理動作が実行されてもよい。更に、本明細書に記載された実施態様における様々なシステムコンポーネントの分離は、全ての実施態様においてそのような分離を必要とすると理解されるべきではなく、記載されたプログラムコンポーネント及びシステムが、単一のソフトウェア製品に一緒に統合されてもよく、複数のソフトウェア製品にパッケージングされてもよいと理解されるべきである。
【0172】
添付の図面に関連して、様々な実施態様を説明してきた。しかしながら、図が必ずしも縮尺通りに描かれていない場合があることを理解されたい。一例として、図に描かれた距離又は角度は例示であり、図示されたデバイスの実際の寸法やレイアウトと、必ずしも正確な関係を有さない場合がある。
【0173】
本開示の範囲は、当業者であれば理解するであろう、本明細書に記載又は図示された例示的な実施形態に対する全ての変更、置換、変形、改造、及び修正を包含する。本開示の範囲は、本明細書で説明又は図示された例示的な実施形態に限定されるものではない。更に、本開示は、特定のコンポーネント、要素、機能、動作、又はステップを含むものとして、本明細書におけるそれぞれの実施形態を説明又は図示しているが、これらの実施形態のいずれもが、当業者であれば理解するであろう、本明細書のどこかで説明又は図示されているコンポーネント、要素、機能、動作、又はステップの、任意の組み合わせや並び替えも含むことができる。
【0174】
本明細書で使用される用語「又は(或いは、若しくは)」は、明示的にそうではないと示されるか、又は文脈によってそうではないと示されない限り、任意の1つ又は任意の組み合わせを意味する包括的な又はとして解釈される。従って、本明細書において、「A又はB」という表現は、「A、B、又はA及びBの両方」を意味する。別の例として、本明細書では、「A、B、又はC」は、以下のうちの少なくとも1つを意味する:A;B;C;A及びB;A及びC;B及びC;A及びB及びC。この定義の例外は、要素、デバイス、ステップ、又は動作の組み合わせが、何らかの方法で本質的に相互に排他的である場合に生じると考えられる。
【0175】
本明細書で使用される場合、限定されるものではないが、「約」、「実質的に」、又は「およそ」などの近似の用語は、そのように修飾された場合、必ずしも絶対又は完全ではないと理解されるが、当業者には、その状態が存在すると指定することを保証するために十分に近いと考えられるであろう、状態を参照する。説明をどの程度変えることができるかは、どの程度大きな変更を行うことができ、なおかつ当業者に、変更された特徴が変更されていない特徴の要求特性又は能力を有すると認識させることができるかに、依存することになる。一般的に、しかし前述の議論に従うと、「約」などの近似の言葉によって修飾される本明細書の数値は、記載された値から±0.5%、±1%、±2%、±3%、±4%、±5%、±10%、±12%、又は±15%変動し得る。
【0176】
本明細書で使用されるように、用語「第1の」、「第2の」、「第3の」などは、それらが先んずる名詞のラベルとして使用されてもよく、これらの用語は、必ずしも特定の順序(例えば、特定の空間、時間、又は論理順序)を意味しなくてもよい。一例として、システムは、「第1の結果」及び「第2の結果」を決定すると説明されてもよく、「第1の」及び「第2の」という用語は、第1の結果が第2の結果の前に決定されることを必ずしも意味しなくてよい。
【0177】
本明細書で使用されるように、用語「~に基づく」及び「~に少なくとも部分的に基づく」は、決定(判定、判断)に影響を与える1つ又は複数の要因を説明又は提示するために使用され、これらの用語は、決定に影響を与える可能性のある追加の要因を除外しないことがある。決定は、提示されたこれらの要因にのみ基づいてもよく、これらの要因に少なくとも部分的に基づいてもよい。「Bに基づいてAを決定する」という表現は、BがAの決定に影響を与える要因であることを示している。ある場合には、他の要因もAの決定に寄与する。別の場合には、Bにのみ基づいてAが決定されることもある。
【国際調査報告】