(57)【要約】マップデータに関連付けられたマップ要素を変更するための技術について説明する。マップデータは、環境を表す３次元データ（例えば、ＬＩＤＡＲデータ）を含むことができ、一方、マップ要素は、走行レーンまたは横断歩道に対応する領域など、環境に関連する位置およびセマンティック情報を識別するために、マップデータに関連付けることができる。マップデータに関連付けられた軌道は、ループ閉じ込みや更新された較正などに応じて、１つまたは複数の軌道をアラインメントさせるときなどに更新することができる。 軌道と更新された軌道との間の変換をマップ要素に適用し、更新されたマップデータに対応するようにマップ要素を歪曲させることで、マップデータに関連付けられたマップ要素を自動的かつ正確に更新する技術を提供することができる。
2022500669.tif 000002
【特許請求の範囲】
【請求項１】
システムであって
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行可能命令を記憶する１つまたは複数のコンピュータ可読媒体であって、前記命令が実行されると前記システムに動作を行わせる、前記１つまたは複数のコンピュータ可読媒体と、
を備え、前記動作が、
環境を表すマップデータを受信する工程であって、前記マップデータは、車両が通過する第１の軌道に関連付けられており、前記マップデータは、前記第１の軌道に関連付けられた環境の第１のセンサデータに少なくとも部分的に基づいている工程と、
前記マップデータに関連付けられたマップ要素を決定する工程であって、前記マップ要素は、レーン要素、横断歩道要素、または停止線要素の少なくとも１つからなる工程と、
前記第１のセンサデータと第２の軌道に関連付けられた第２のセンサデータをアラインメントさせる工程と、
前記アラインメントに基づいて、更新された第１の軌道を決定する工程と、
前記マップ要素に関連付けられた前記第1の軌道の軌道点を決定する工程と、
前記軌道点と前記更新された第１の軌道の対応する軌道点とに関連する変換を決定する工程と、
前記変換のマップ要素への適用に少なくとも部分的に基づいた、歪曲したマップ要素を決定する工程と、
を備えるシステム。
【請求項２】
請求項１に記載のシステムであって、前記軌道点に関連する変換を決定する工程は、
前記変換として、前記更新された第１の軌道の対応する軌道点に対する前記軌道点の相対位置または向きのうち１または複数を決定する工程を備えるシステム。
【請求項３】
請求項１または２のいずれか１項に記載のシステムであって、前記軌道点を決定する工程は、
前記マップ要素と、前記第１の軌道に関連する軌道点との間の距離を決定する工程と、
前記距離がしきい値距離を下回ることを判定する工程と、
を備えるシステム。
【請求項４】
請求項１から３のいずれか１項に記載のシステムであって、前記歪曲されたマップ要素を決定する工程が、さらに少なくとも部分的に、
前記第１の軌道に関連する１つまたは複数の追加の軌道点、または
１つまたは複数の追加のマップ要素
に基づいて行われるシステム。
【請求項５】
請求項１から４のいずれか１項に記載のシステムであって、前記車両が自律車両であり、前記動作は、さらに自律車両の制御に使用するために歪曲されたマップ要素を出力する工程を備えるシステム。
【請求項６】
方法であって 、
第１の軌道に関連付けられたマップデータを受信する工程と、
前記マップデータに関連付けられたマップ要素を受信する工程と、
前記第１の軌道と第２の軌道をアラインメントする工程と、
前記アラインメントに基づいて、更新された第１の軌道を決定する工程と、
前記第１の軌道および前記更新された第１の軌道に関連する変換を決定する工程と、 
前記マップ要素と前記変換に少なくとも部分的に基づいて、歪曲したマップ要素を決定する工程と、
を備える方法。
【請求項７】
請求項６に記載の方法であって、前記第１の軌道と前記第２の軌道をアラインメントする工程は、前記第１の軌道に関連する第１のＬＩＤＡＲデータと、前記第２の軌道に関連する第２のＬＩＤＡＲデータとの間のアラインメントを決定する工程を備える方法。
【請求項８】
請求項６または７のいずれか１項に記載の方法であって、前記マップ要素は、前記マップデータに関連付けられたエリアからなり、
前記歪曲されたマップ要素を決定する工程は、前記エリアに関連付けられた点の位置を変更し、前記マップ要素のサイズまたは位置の少なくとも一方を歪曲されたマップ要素として変更する工程を備える方法。
【請求項９】
請求項６から８のいずれか１項に記載の方法であって、前記マップ要素は、
レーン要素
自転車レーン要素
横断歩道要素
交差点要素
レーンディバイダ要素
交通信号要素
停止サイン要素
停止線要素
譲れサイン要素 
譲れ線要素、または
幾何プリミティブ
の少なくとも１つを備える方法。
【請求項１０】
請求項６から９のいずれか１項に記載の方法であって、前記第１の軌道および前記更新された第１の軌道に関連する変換を決定する工程は、
前記軌道点がマップ要素に最も近い軌道点であることを決定する工程と、
前記変換として、前記更新された第１の軌道の対応する軌道点に対する前記軌道点の相対位置または向きのうちの１つ以上を決定する工程と、
を備える方法。
【請求項１１】
請求項１０に記載の方法であって、前記軌道点を決定する工程は、
前記マップ要素と、前記第１の軌道に関連する軌道点との間の距離を決定する工程と、
前記距離がしきい値距離を下回ることを判定する工程と、
を備える方法。
【請求項１２】
請求項１０に記載の方法であって、前記歪曲されたマップ要素を決定する工程は、さらに少なくとも部分的に、
前記第１の軌道に関連する１つまたは複数の追加の軌道点、または
１つまたは複数の追加のマップ要素、
に基づいている方法。
【請求項１３】
請求項６から１２のいずれか１項に記載の方法であって、前記マップ要素が複数のマップ要素の１つであり、前記歪曲されたマップ要素が複数の歪曲されたマップ要素の１つであり、前記方法は、
前記複数のマップ要素および前記変換に少なくとも部分的に基づいて、前記複数の歪曲されたマップ要素を決定するために、最小二乗最適化を実行する工程をさらに備える方法。
【請求項１４】
請求項６から１３のいずれか1項に記載の方法であって、ロボットプラットフォームを制御する際に使用するために、前記歪曲されたマップ要素を出力する工程を、さらに備える方法。
【請求項１５】
コンピュータプログラム製品であって、コンピュータ上で実行されると、請求項６から１４のいずれかに記載の方法を実施するコード化された命令を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マップデータに関連付けられたマップ要素の変更に関する。
【背景技術】
【０００２】
本特許出願は、２０１８年９月２８日に出願された第１６／１４５７４０号の米国実用特許出願の優先権を主張する。出願第１６／１４５７４０号は、参照により完全に本明細書に組み込まれる。
【０００３】
データは、環境中でキャプチャされ、環境のマップとして表されることができる。しばしば、マップは、様々な目的のために使用されることができるが、そのようなマップは、環境内をナビゲートする車両によって使用されることが可能である。場合によっては、マップは、データの様々なレイヤに関連付けられ得る。しかしながら、マップの１つのレイヤを更新することは、変更が他のレイヤに伝搬されることを必要とすることがあり、これは、かなりのリソースを要することがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願第１５／６７４８５３号明細書
【図面の簡単な説明】
【０００５】
詳細な説明について、添付の図を参照しながら説明する。図では、参照番号の最も左の桁は、参照番号が最初に登場する図を識別する。異なる図での同じ参照番号の使用は、同様のまたは同じ構成要素または特徴を示す。
【０００６】
【図１】本開示の実施形態による、マップデータとマップ要素とを受信することと、更新された第１の軌道を決定するために第１の軌道と第２の軌道との間のアラインメントを決定することと、第１の軌道と更新された第１の軌道との間の変換に基づいて更新されたマップ要素を生成することを行うための例示的なプロセスの絵入り流れ図である。
【図２】本開示の実施形態による、マップ要素が、その後、更新されたマップデータに関して間違っておよび正しく登録されることを示す例に加えたマップデータに基づくマップ要素の図である。
【図３】本開示の実施形態による、様々なマップ要素とマップ要素制御点とを含むマップデータの図である。
【図４】本開示の実施形態による、第１の軌道と第２の軌道との間のアラインメントを決定することと、更新された第１の軌道を生成するための変換を決定することとを行うための例示的なプロセスの絵入り流れ図である。
【図５】本開示の実施形態による、マップ点（例えば、マップ要素制御点）を選択することと、軌道と更新された軌道との間の変換に少なくとも部分的に基づいておよび／または他の制約に少なくとも部分的に基づいて歪曲されたマップ点を生成することとを行うための例示的なプロセスの絵入り流れ図である。
【図６】本明細書で説明される手法を実装するための例示的なシステムのブロック図である。
【図７】本開示の実施形態による、軌道と更新された軌道との間の変換に基づいて歪曲されたマップ要素を生成するための例示的なプロセスを示す図である。
【発明を実施するための形態】
【０００７】
本開示は、マップデータに関連付けられたマップ要素を変更するための手法を対象とする。例えば、マップデータは、自律車両が環境を横断するときに自律車両によってキャプチャされる３次元データ（例えば、ＬＩＤＡＲデータ）を含むことができ、そのようなマップデータをキャプチャする間に自律車両によって走行される軌道に関連付けられることが可能である。場合によっては、マップ要素は、環境に関する追加情報を与えるためにマップデータに関連付けられることが可能である。例えば、マップ要素は、レーンもしくは運転通路の範囲を示すレーン要素、交差点における停止線を示す停止線要素、交通信号の位置を示す交通信号要素、速度制限に関連する領域、および／または環境に関連する任意の情報を含むことが可能である。
【０００８】
場合によっては、マップデータに関連する軌道は、ループ閉じ込み、更新された較正、マッピングおよび／または位置特定アルゴリズムへの変更などに応答して１つまたは複数の軌道をアラインメントするときなどに更新されることができる。更新されたマップデータに関するマップ要素の位置が更新されない場合、マップ要素は、更新されたマップデータに関して間違って登録され得る。したがって、本明細書で説明される手法は、（例えば、ＣＬＡＭＳ（calibration, localization, and mapping, simultaneously）またはＳＬＡＭ（simultaneous localization and mapping）などのアルゴリズムを使用して）第１の軌道と第２の軌道との間のアラインメントを決定することを含み、そのようなアラインメントに基づいて、第１の軌道が、更新された第１の軌道に更新されることができる。
【０００９】
アラインメントは、歪曲されたマップ要素を生成するためにマップ要素を更新するか、歪曲させるか、または変更するために概して使用されることが可能な、更新された第１の軌道を生成するために使用されることができる変換を生成することが可能である。場合によっては、マップ要素を歪曲させることは、第１の軌道上の最接近点に関連する変換に基づくことができる。場合によっては、マップ要素と軌道点との間の距離は、歪曲動作を地理的に制約するためにしきい値距離を下回り得る。第１の軌道の軌道点と更新された第１の軌道の対応する更新された軌道点との間の変換に基づいて（例えば、距離の変化および／または自律車両の体勢の変化に基づいて）、マップ要素は、変更されたマップ要素または歪曲されたマップ要素を生成するために変更されることができる。場合によっては、複数のマップ要素は、例えば、最小二乗最適化アルゴリズムを使用して複数の歪曲されたマップ要素に歪曲されることが可能である。
【００１０】
歪曲されたマップ要素を生成するためにマップ要素を歪曲させるとき、追加のファクタまたは制約が使用されることが可能である。上記で説明されたように、場合によっては、歪曲されたマップ要素は、第１の軌道と更新された第１の軌道との間の変換に少なくとも部分的に基づくことが可能であり、これは、第１の軌道と更新された第１の軌道上に対応する点の間の距離（例えば、ユークリッド距離）を評価すること、ならびに、体勢または体勢の変化（例えば、ｘ座標、ｙ座標、ｚ座標、ロール、ピッチ、および／またはヨーのうちの１つまたは複数を含む自律車両の多次元の向き）を評価することを含み得る。場合によっては、歪曲されたマップ要素は、特定の点に関連する１つまたは複数の追加の軌道点に少なくとも部分的に基づくことが可能である。例えば、選択された軌道点について、（例えば、軌道に沿って時間または距離的に前／後の）隣接する軌道点が歪曲されたマップ要素の位置を決定する際の追加の制約または推定を与えるために使用されることができる。場合によっては（複数の軌道点に関連する追加情報を使用することに加えて、またはその代わりに）マップ要素の間の相対距離などのマップ要素間の様々な関係が、歪曲されたマップ要素の相対位置を制約または推定するために使用されることが可能である。
【００１１】
上記で紹介したように、マップ要素は、レーンもしくは運転通路の範囲を示すレーン要素、交差点における停止線を示す停止線要素、交通信号の位置を示す交通信号要素、速度制限に関連する領域、および／または環境に関連する任意の情報を含むことができる。マップ要素の追加の非限定的な例は、自転車レーン要素、駐車要素、交差点要素、レーンディバイダ要素、停止サイン要素、譲れサイン要素、譲れ線要素などを含み得る。理解されるように、環境は複数の物理および／または仮想特徴を含み得、マップ要素は、本明細書で明確に説明されるマップ要素に限定されるべきではない。
【００１２】
場合によっては、マップ要素は、１つまたは複数の制御点によって定義され、および／または様々な機能またはパラメータに関連付けられた２次元幾何プリミティブとして表されることが可能である。例えば、横断歩道マップ要素は、（例えば、２次元グローバル座標系での）横断歩道の位置および／または横断歩道の範囲（例えば、要素の長さおよび幅）を定義する１つまたは複数のマップ要素制御点を含み得る。場合によっては、マップ要素および／またはマップ要素制御点は、マップデータに手動で関連付けられることが可能であり、ならびに／または機械学習手法を使用して追加されることができ、自動的に適合され、ならびに／または手動で調整され得る。
【００１３】
マップ要素の別の例は、レーン要素を含み、これは、交差点をナビゲートする間、移動のために自律車両に対する運転通路を定義し得る。いくつかの例では、レーン要素は、環境内の曲線の形状および位置を定義するＮＵＲＢＳ（Non-Uniform Rational B-Spline）と関連する制御点とを備え得る。場合によっては、マップ要素がグローバル座標系に関して定義され得るので、本明細書で説明される手法は、本明細書で説明されるように、基礎をなすマップデータが更新されるときにマップ要素に関連する位置および／または形状を更新するために使用されることが可能である。
【００１４】
場合によっては、（交通信号要素などの）マップ要素は、３次元マップ要素として表されることが可能である。しかしながら、２次元情報に関連するマップ要素に対しては、追加の高さ情報は、環境を表す３次元マップデータ（例えば、環境の３次元メッシュ、または３次元ＬＩＤＡＲデータ）に基づいてマップ要素に関連付けられる、または軌道に関連する接地平面に関連付けられることが、可能である。
【００１５】
場合によっては、マップ要素は、セマンティック情報をさらに含み、オブジェクトのタイプ、オブジェクトのクラスなどを識別し得る。場合によっては、マップ要素は、自律車両のための軌道を生成および／または評価するためのシンボルとして（例えば、線形時相論理シンボルまたは信号時相論理シンボルとして）使用されることが可能である。
【００１６】
本明細書で説明される手法は、多くの追加の方法でコンピューティングデバイスの機能を改善することができる。場合によっては、マップデータにマップ要素を関連付ける最初のタスクは、製図家または熟練技術者によって手動で実行されてもよい。しかしながら、そのようなマップ要素は、グローバル位置情報に関連付けられることが可能なため、ループ閉じ込みイベント、更新された較正などに応答して軌道が更新されるときに、マップ要素が更新されないことがある。従来の手法は、そのような更新されたマップデータに応答してマップ要素を手動で更新する製図家または熟練技術者を含んでおり、これは、環境のサイズに応じて数時間から数週間の作業を必要とし得、更新された軌道間の変換を適切に組み込まないことがある。本明細書で説明される手法は、そのような更新動作を自動化し、それによって、マップ要素を更新するのに必要な処理および時間を著しく低減することができる。理解され得るように、そのようなマップ要素は、マップデータに関連して使用され、自律車両が環境を横断するための軌道を生成することが可能である。さらに、環境の状態を正確に反映しない、または更新されたマップデータに関して間違って登録されたマップ要素は、軌道にエラーを導入することができ、これは、自律車両が環境を横断する際に非効率なまたは安全でないナビゲーションを生じることが可能である。例えば、マップデータに間違ってアラインメントされたレーン要素を表すマップ要素が、自律車両のための軌道を生成するために使用される場合、道路の間違った側を運転すること、または衝突を生じることがある。コンピュータの機能に対するこれらおよび他の改善について、本明細書で説明される。
【００１７】
本明細書で説明される手法は、いくつかの方法で実装されることが可能である。例示的な実装が、図を参照しながら以下に提供される。自律車両のコンテキストで説明されるが、本明細書で説明される方法、装置、およびシステムは様々なシステム（例えば、センサシステムまたはロボットプラットフォーム）に適用されることが可能であり、自律車両に限定されない。別の例では、本手法は、航空もしくは航海のコンテキストで、またはマップを使用する任意のシステムで利用されることができる。さらに、ＬＩＤＡＲデータのコンテキストで説明されるが、マップデータは、画像データ（例えば、ステレオカメラ、飛行時間データなど）、ＲＡＤＡＲデータ、ＳＯＮＡＲデータなどの任意の２次元、３次元、または多次元データを含むことができる。加えて、本明細書で説明される手法は、（例えば、センサを使用してキャプチャされた）実際のデータ、（例えば、シミュレータによって生成された）シミュレートデータ、またはその２つの任意の組合せとともに使用されることができる。
【００１８】
図１は、本開示の実施形態による、マップデータとマップ要素とを受信することと、更新された第１の軌道を決定するために第１の軌道と第２の軌道との間のアラインメントを決定することと、そして第１の軌道と更新された第１の軌道との間の変換に基づいて更新されたマップ要素を生成すること、を行うための例示的なプロセス１００の絵入り流れ図である。
【００１９】
動作１０２において、プロセスは、第１の軌道に関連するマップデータとマップ要素とを受信することを含むことができる。例えば、自律車両またはロボットプラットフォームは、第１の軌道を介して環境を横断し、マップデータとして受信またはコンパイルされるＬＩＤＡＲデータなどのセンサデータをキャプチャすることができる。場合によっては、マップデータは、１つまたは複数の軌道に関連付けられることが可能である。場合によっては、マップ要素は、本明細書で説明されるように、マップデータに追加された注釈を備え、セマンティック情報に関連するマップデータのエリア（例えば、横断歩道エリア）を指定することができる。一例１０４は、マップデータ１０６（例えば、ＬＩＤＡＲデータ）と、マップ要素１０８（例えば、横断歩道要素）と、マップ要素１１０（例えば、レーン要素）と、マップ要素１１２（例えば、駐車要素）を示す。
【００２０】
説明の目的で、マップデータ１０６をキャプチャする（または利用する）車両は、U.S. National Highway Traffic Safety Administrationによって発行されたレベル５分類に従って動作するように構成された自律車両とすることができ、これは、ドライバ（または乗員）が任意の時間に車両を制御することが予想されない状態で、トリップ全体の間にすべてのセーフティクリティカル機能を実行することが可能な車両を指す。そのような例では、車両は、すべての駐車機能を含む発車から停車まですべての機能を制御するように構成されることができるため、ドライバを必要としないことができる。これは、一例にすぎず、本明細書で説明されるシステムおよび方法は、常にドライバによって手動で制御される必要がある車両から、部分的にまたは完全に自律的に制御される車両にわたり、車両を含む任意の陸上、空中、または水中車両に組み込まれることが可能である。車両に関連するさらなる詳細について、本開示全体にわたって説明する。
【００２１】
概して、マップ要素１０８、１１０、および１１２は、セマンティック情報に関連する環境のエリアを表し得る。場合によっては、マップ要素１０８、１１０、および１１２は、正方形、長方形、弧、曲線、螺旋、または環境の特徴を表す任意の形状などの幾何プリミティブを備え得る。場合によっては、幾何プリミティブは、形状のコンパクトな形態を表し得る。例えば、長方形は、位置（例えば、グローバル座標系のｘ座標およびｙ座標）と範囲（例えば、長さおよび幅）とによって定義され得る。いくつかの例では、マップ要素１０８、１１０、および１１２は、幾何プリミティブのパラメータに関連する制御点によって定義、または操作され得る。マップ要素１０８、１１０、および１１２のさらなる詳細について、図３に関して以下ならびに本開示全体にわたって説明される。
【００２２】
動作１１４において、プロセスは、第２の軌道を受信することを含むことができる。一例１１６は、第１の軌道１１８と第２の軌道１２０を示している。本明細書で説明されるように、マップデータ１０６は、第１の軌道１１８に関連付けられることができ、一方で第２の軌道１２０は、マップデータ１０６によって表される環境の同一または類似の領域における自律車両によって走行された軌道を表すことができる。すなわち、場合によっては、第１の軌道１１８と第２の軌道１２０は、第１の軌道１１８の少なくとも一部分が第２の軌道１２０の少なくとも一部分と重複するように関係付けられることができる。場合によっては、第１の軌道１１８と第２の軌道１２０は、ループ閉じ込みイベントのコンテキストで関連付けられ得、これは、前に訪問した位置を認識することと、それに応じて較正を更新することとのプロセスを含み得る。場合によっては、第２の軌道は、第１の軌道に関連する更新された較正を表し得る。ループ閉じ込みイベント（および以下で説明される軌道をアラインメントすることおよび／または較正を更新すること）の例について、その全体が特許文献１において説明されている。
【００２３】
動作１２２において、プロセスは、第１の軌道と更新された第１の軌道との間の変換を決定するために第１の軌道と第２の軌道との間のアラインメントを決定することを含むことができる。例１２４は、第１の軌道１１８と第２の軌道１２０を示している。第１の軌道１１８と第２の軌道１２０は、（アラインメント１２６によって表されるように）アラインメントされ、更新された第１の軌道１２８を生成することができる。いくつかの例では、動作１２２は、ＳＬＡＭまたはＣＬＡＭＳなどの１つまたは複数のアルゴリズムを利用し、更新された第１の軌道１２８を生成することができる。上記のように、更新された軌道を生成するＳＬＡＭおよびＣＬＡＭＳアルゴリズムの例は、特許文献１において説明される。場合によっては、アラインメント動作は、第１の軌道１１８に関連する個々の軌道点と更新された第１の軌道１２８に関連する対応する点との間の変換（例えば、変換１３８）を出力することができる。
【００２４】
概して、動作１２２は、第１の軌道１１８に関連する第１のＬＩＤＡＲデータを、第２の軌道１２０に関連する第２のＬＩＤＡＲデータとともにアラインメントすることを含み、ＬＩＤＡＲデータが集合的に占有するボクセル数（および／または残差スコア）を低減することができる。すなわち、第１のＬＩＤＡＲデータと第２のＬＩＤＡＲデータの位置は、ＬＩＤＡＲデータが占有するボクセル数を低減するために組み合わせた様式で操作されることが可能である。ＬＩＤＡＲデータが最小数のボクセルを占有するとき、ボクセルのサイズおよび／または組合せ探索のステップサイズは低減され、ＬＩＤＡＲデータセットのアラインメントをさらに改良することができる。２つのデータセット間の最適なアラインメントに達するとき、ＬＩＤＡＲアラインメントに関連する変換が対応する軌道に適用され、更新された第１の軌道１２８を決定することができる。場合によっては、第１のＬＩＤＡＲデータは、第１の自律車両から受信された第１のログデータとして受信されることができ、また場合によっては、第２のＬＩＤＡＲデータは、（第１のログデータとは異なる時間を表す）第１の自律車両から、または第２の自律車両から受信された第２のログデータとして受信されることができる。更新された第１の軌道１２８を生成することの更なる詳細は、図４ならびに本開示全体にわたって提供される。
【００２５】
動作１３０において、プロセスは、マップ要素および第１の軌道と更新された第１の軌道との間の変換に少なくとも部分的に基づいて更新されたマップ要素（例えば、ＳＥ（２）、ＳＥ（３）、ＳＯ（２）、ＳＯ（３）など）を生成することを含むことができる。例１３２は、第１のマップ要素１３４に関連する第１の軌道１１８と更新されたマップ要素１３６に関連する更新された第１の軌道１２８を示している。いくつかの例では、マップ要素１３４は、マップ要素１０８、１１０、および／または１１２に関連する制御点に対応することができる。場合によっては、マップ要素１３４は、マップ要素１０８、１１０、および／または１１２を直接定義する点に対応することができる。場合によっては、動作１３０は、第１の軌道１１８上の軌道点と更新された第１の軌道１２８上の対応する軌道点との間の（例えば、自律車両の）距離および／または体勢の変化を備える変換１３８を決定することを含むことができる。更新されたマップ要素１３６を生成することのさらなる詳細は、図５にならびに本開示全体にわたって提供される。
【００２６】
図２は、本開示の実施形態による、マップ要素が、その後、更新されたマップデータに関して間違っておよび正しく登録されることを示す例に加えたマップデータに基づくマップ要素の説明２００である。
【００２７】
例２０２は、第１の軌道に関連する環境の第１のマップデータを示す。いくつかの例では、第１のマップデータは、環境中の自律車両によってキャプチャされたＬＩＤＡＲデータを備える。場合によっては、第１のマップデータは、画像データ、ＲＡＤＡＲデータ、ＳＯＮＡＲデータ、テレメトリデータ、ＧＰＳデータ、ホイールエンコーダデータなどを備えることができる。
【００２８】
例２０４は、第１のマップデータに基づくマップ要素を含む例２０２の第１のマップデータを示す。例えば、例２０４は、マップ要素２０６、２０８、２１０、２１２、および２１４を含む。いくつかの例では、マップ要素２０６は、横断歩道を表す環境のエリアに対応するように意味論的に標示された第１のマップデータのエリアを示す横断歩道要素を表す。いくつかの例では、マップ要素２０８および２１０は、道路の側面の駐車エリアを表す環境のエリアに対応するように意味論的に標示された第１のマップデータのエリアを示す駐車要素を表す。いくつかの例では、マップ要素２１２は、交差点の停止線に対応するように意味論的に標示された環境のエリアを示す停止線要素を表す。いくつかの例では、マップ要素２１４は、車両が交差点をナビゲートするときに車両が横断するための（例えば、交差点を通って左折する）運転通路に対応するように意味論的に標示された第１のマップデータのエリアを示すレーン要素を表す。場合によっては、マップ要素は、限定はしないが、レーン要素、自転車レーン要素、横断歩道要素、交差点要素、レーンディバイダ要素、交通信号要素、停止サイン要素、停止線要素、譲れサイン要素、譲れ線要素、駐車レーン要素、車道要素、減速バンプ要素、信号無視領域（例えば、仮想横断歩道）、軌道中間地点（例えば、知られている軌道）、搭乗者ピックアップ点、サイン位置要素、ジオフェンス要素などのうちの１つまたは複数をさらに備え得る。
【００２９】
本明細書で説明されるように、いくつかの例では、マップ要素２０６、２０８、２１０、２１２、および２１４は、地図製作者または熟練技術者によってマップデータに手動で追加され、環境の様々なエリアを表すことができる。（例えば、注釈を付けられることができる）。
【００３０】
例２１６は、第２の軌道に関連する環境の第２のマップデータを示す。いくつかの例では、第２の軌道は、例２０２の第１の軌道に対応する更新された第１の軌道とすることができ、この第１の軌道は、ループ閉じ込み、および更新された較正などに対応して更新されることができる。いくつかの例では、第２の軌道は、独立した軌道であることができる（例えば、第２の軌道は、第１の軌道に関する更新された軌道を表さないことがあり、代わりに、少なくとも部分的に重複するかまたは第１の軌道に近接したキャプチャされたデータを表すことができる）。例２１６および２０２でわかるように、例２１６および２０２は、環境の同じエリアを表すが、エリアが互いに関してシフトされる。
【００３１】
例２１８は、例２１６に示されるように第２のマップデータに間違って登録された例２０４のマップ要素を示す。例２１８に示すように、マップ要素２０６、２０８、２１０、２１２、および２１４は、第２のマップデータの対応するエリアを適切に表さない。すなわち、例２１６の第２のマップデータがシフトされたかまたはさもなければ例２０２の第１のマップデータと一直線上にないので、マップ要素２０６、２０８、２１０、２１２、および２１４は基礎をなす第２のマップデータと一直線上にない。すなわち、マップ要素２０６、２０８、２１０、２１２、および２１４のグローバル座標は、例２１６の第２のマップデータのグローバル座標に対応していない。
【００３２】
例２２０は、本明細書で説明される手法による、例２１６の第２のマップデータに正しく登録された更新されたマップ要素２０６＊、２０８＊、２１０＊、２１２＊、および２１４＊を示す。したがって、第２のマップデータと例２２０に示される更新されたマップ要素は、自律車両に出力され、環境を横断する間に自律車両を制御することができ、それにより、本明細書で説明されるように、軌道が正しいアラインメントにあるデータに基づいて生成されることができる。この例で使用されるように、（例えば、）マップ要素２０６＊は、ために更新されたマップ要素２０６に対応し、（例えば、例２１６に示される）基礎をなすマップデータの更新されたポジションを反映する。
【００３３】
図３は、本開示の実施形態による、様々なマップ要素とマップ要素制御点とを含むマップデータの図３００である。
【００３４】
場合によっては、マップデータ３０２は、自律車両が環境を横断するときに自律車両によってキャプチャされたＬＩＤＡＲデータを備えることができる。いくつかの例では、マップデータ３０２は、画像データ（例えば、ＲＧＢ画像データ、グレースケール画像データ、ステレオ画像データ、飛行時間画像データなど）、ＲＡＤＡＲデータ、ＳＯＮＡＲデータなどを備えることができる。場合によっては、マップデータ３０２は、単一の軌道に関連付けられ得るが、場合によっては、マップデータ３０２は、単一の車両によってまたは時間にわたって複数の車両によってキャプチャされた複数の軌道に関連付けられることができる。
【００３５】
マップデータ３０２は、図２に関して上記で説明されたように、様々なマップ要素２０６、２０８、２１０、２１２、および２１４に関連付けられることができる。いくつかの例では、個々のマップ要素２０６、２０８、２１０、２１２、および２１４は、幾何プリミティブを表すことができ、それによって、各マップ要素は、１つまたは複数のマップ制御点に関連付けられることができる。
【００３６】
マップ要素２０６（例えば、横断歩道要素）は、マップ要素２０６の（例えば、グローバル座標系での）位置ならびにマップ要素２０６の範囲（例えば、長さおよび幅）を集合的に定義するマップ要素制御点３０４（例えば、３０４（１）、３０４（２）、および３０４（３））に関連付けられることができる。マップ要素制御点３０４が、マップ要素２０６の上に重なる正方形として示されているが、マップ要素制御点３０４は、任意の形状によって示されるかまたは表されることができる。場合によっては、マップデータ３０２、マップ要素２０６、およびマップ要素制御点３０４は、マップ要素２０６を確立するためにおよび／または地図製作者または熟練技術者が制御点を調整し、それによって、マップ要素２０６を調整するか、歪曲させるか、または変更することを可能にするために地図製作者または熟練技術者の専門家のためのグラフィカルユーザインターフェースに提示されることができる。さらに、場合によっては、本明細書で説明される変更手法は、マップ要素制御点３０４の位置を自動的に変更することに関するものであり、これは、次に、基礎をなすマップデータが更新されるときにマップ要素を更新または変更するためにマップ要素２０６の位置および／または範囲を調整することができる。他の例では、動作は、直接適用されることにより、マップ要素制御点を使用せずにマップ要素２０６の位置および／または形状を直接変更することができる。
【００３７】
マップ要素２０８（例えば、駐車要素）は、車両のための駐車領域に対応するマップデータ３０２のエリアを表すことができる。場合によっては、マップ要素２０８は、２次元の境界ボックスによって定義されることができ、場合によっては、マップ要素２０８は、マップ要素制御点によって定義されることができる。対応するマップ要素２１０（例えば、駐車要素）は、マップ要素２１０から道路にわたって示され、マップ要素２０８とは無関係に追加されるか、歪曲させるか、またはさもなければ変更されることができる。
【００３８】
マップ要素２１２（例えば、停止線要素）は、マップ要素制御点３０６に関連付けられることができる。場合によっては、マップ要素制御点３０６を調整することは、マップ要素３１２の位置および／または範囲を変更するかまたは歪曲させることができる。
【００３９】
マップ要素２１４（例えば、レーン要素）は、マップデータ３０２によって表される交差点を通る運転通路を集合的に定義するマップ要素制御点３０８（例えば、３０８（１）、３０８（２）、および３０８（３））に関連付けられることができる。いくつかの例では、マップ要素制御点３０８（１）および３０８（３）は、マップ要素２１４に関連するアンカー点を定義し、一方、マップ要素制御点３０８（２）は、レーン要素の曲率を定義する。いくつかの例では、マップ要素制御点３０８は、ＮＵＲＢＳを集合的に定義し、したがって、マップ要素制御点３０８のうちの１つを変更することは、マップ要素２１４を歪曲させ、それに応じて、環境を通ってナビゲートする自律車両のための運転通路を変更することができる。場合によっては、マップ要素制御点３０８とマップ要素２１４とは、グラフィカルユーザインターフェースを介して手動で追加されることができ、基礎をなすマップデータ３０２および／またはマップデータ３０２に関連する基礎をなす軌道が更新されるか、または調整される時間に本明細書で説明される手法に従って自動的に更新されることができる。
【００４０】
図４は、本開示の実施形態による、第１の軌道と第２の軌道との間のアラインメントを決定することと、更新された第１の軌道を生成するための変換を決定することとを行うための例示的なプロセスの絵入り流れ図４００である。
【００４１】
動作４０２において、プロセスは、第１の軌道１１８と第２の軌道１２０とをアラインメントすることを含むことができる。場合によっては、動作４０２は、第２の軌道１２０に関連する第２のＬＩＤＡＲデータに第１の軌道１１８に関連する第１のＬＩＤＡＲデータをアラインメントすることを含むことができる。いくつかの例では、動作４０２は、（例えば、特許文献１において説明されるように）ＳＬＡＭアルゴリズムまたはＣＬＡＭＳアルゴリズムを使用することができる。手短に言えば、動作４０２は、ＬＩＤＡＲデータセットの一方または両方のポジション／向きを変更し、ＬＩＤＡＲデータの「鮮明さ」に関連する残差スコアを測定することを含むことができる。例４０４では、ＳＬＡＭまたはＣＬＡＭＳなどのアラインメントアルゴリズムは、第１の軌道１１８と第２の軌道１２０との間のアラインメント４０６を決定するために使用されることができる。
【００４２】
動作４０８において、プロセスは、更新された第１の軌道を生成するための変換を決定することを含むことができる。場合によっては、更新された第１の軌道１２８は、第１の軌道１１８とアラインメント４０６とに少なくとも部分的に基づくことができる。例４１０は、第１の軌道１１８に変換４１２を適用することによって生成された更新された第１の軌道１２８を示す。図示のように、更新された第１の軌道１２８は、第１の軌道１１８に対してわずかに異なる輪郭（例えば、異なる軌道）を表し得る。すなわち、場合によっては、更新された第１の軌道１２８は、第１の軌道１１８と第２の軌道１２０との間のアラインメント４０６に基づいて任意の並進、歪曲、シフト、蛇行などを表すことができる。
【００４３】
図５は、本開示の実施形態による、軌道と更新された軌道との間の変換に少なくとも部分的に基づいておよび／または他の制約に少なくとも部分的に基づいて歪曲されたマップ点を生成するためにマップ点（例えば、マップ要素制御点）を選択するための例示的なプロセスの絵入り流れ図５００である。
【００４４】
動作５０２において、プロセスは、軌道の軌道点に関連するマップ点（例えば、マップ要素制御点）を選択し、更新された軌道に歪曲させることを含む。例５０４は、軌道５０６および更新された軌道５０８ならびにマップ点５１０を示す。場合によっては、更新された軌道５０８は、本明細書で説明される手法に従って（例えば、ＳＬＡＭまたはＣＬＡＭＳアルゴリズムを使用し、軌道および／または軌道に関連するデータをアラインメントして）生成されることができる。すなわち、軌道５０６（または軌道５０６に関連するＬＩＤＡＲデータ）は、別の軌道（例えば、軌道１２０または軌道１２０に関連するＬＩＤＡＲデータ）とアラインメントされることができ、それに応じて、更新された軌道５０８がアラインメントに部分的に基づいて生成されることができる。
【００４５】
例５０４が単一のマップ点５１０を示すが、本明細書で説明される動作は複数のマップ点に対して実行されることが可能であると理解される。
【００４６】
場合によっては、動作５０２は、マップ点５１０に最も近い軌道５０６上の軌道点５１２を決定することを含むことができる。すなわち、場合によっては、軌道５０６は、自律車両が軌道５０６を横断するときに自律車両に関連する体勢の個別セット（例えば、ｘ、ｙ、ｚ、ロール、ピッチ、ヨー）を表すことができる。そのような場合、動作５０２は、軌道５０６を検索し、マップ点５１０に最も近い軌道点５１２を決定することができる。
【００４７】
場合によっては、動作５０２は、マップ点５１０と軌道点５１２との間の距離がしきい値距離を下回るのかどうかを決定することを含むことができる。例えば、距離がしきい値距離を満たすかまたは超える場合、動作５０２は、マップ点５１０を更新するのを控えることを含むことができる。
【００４８】
例えば、動作５１３は、本明細書で説明されるように、個々にまたは組み合わせて使用され得る個々の歪曲動作を含み、歪曲されたマップ点を生成することができる。場合によっては、動作５１４または５２４は、使用されることにより、歪曲されたマップ点を生成するができる。さらに、場合によっては、動作５１４は、動作５３６と組み合わせて使用されることにより、追加のマップ要素に基づいて制約を確立することができる。場合によっては、動作５２４は、動作５３６と組み合わせて使用されることにより、追加のマップ要素に基づいて制約を確立するができる。動作５１４、５２４、および５３６のさらなる詳細について、本明細書で説明される。
【００４９】
動作５１４において、プロセスは、軌道点および軌道点と対応する更新された軌道点との間の変換に少なくとも部分的に基づいて、歪曲されたマップ点を決定することを含むことができる。例５１６は、軌道５０６上の軌道点５１２に対応する更新された軌道５０８上の更新された軌道点５１８を示す。すなわち、場合によっては、軌道５０６上の各軌道点（例えば、５１２）は、更新された軌道５０８上の正確に１つの更新された軌道点（例えば、５１８）に対応する。
【００５０】
さらに、場合によっては、軌道点５１２と更新された軌道点５１８との間の変換５２０は、少なくとも、２つの点５１２および５１８の間の位置（例えば、グローバル座標系のｘ座標およびｙ座標）の変化および／または体勢（例えば、ｘ、ｙ、ｚ、ロール、ピッチ、ヨー）の変化を含むことができる。場合によっては、変換５２０は、２つの軌道５０６および５０８の間で点ごとに同じとすることができ、場合によっては、変換５２０は、各点ペア（例えば、５１２および５１８）に一意であることができる。
【００５１】
したがって、動作５１４は、点５１２および５１８の間の変換５２０を決定することと、歪曲されたマップ点５２２（例えば、更新されたマップ点）を生成するためにマップ点５１０に変換５２０を適用することとを含むことができる。
【００５２】
場合によっては、歪曲されたマップ点５２２を生成する動作は、動作５１４の完了後に（例えば、追加の改良なしにまたは追加情報を組み込むことなしに）完了され得る。しかしながら、場合によっては、プロセスは、追加の動作を含むことにより、歪曲されたマップ点５２２を生成することに追加のファクタ、情報、および／または制約を含めることができる。表記法５２２、５２２＊、および５２２＊＊は、本明細書で説明される手法に従って決定される様々な得られた歪曲されたマップ点の間を区別するために使用される。理解されるように、手法は、様々な実装形態に従って任意の方法で組み合わされることができる。
【００５３】
動作５２４において、プロセスは、関連する体勢に基づいて制約を確立することを含むことができる。上記で説明されたように、場合によっては、軌道５０６は、自律車両の複数の個別の体勢を備えることができる。例５２６は、軌道点５１２と、軌道点５２８と、軌道点５３０と、マップ点５１０とに関連する変換、距離、および／または体勢に少なくとも部分的に基づいて歪曲されたマップ点５２２＊を決定することを示す。すなわち、軌道点とマップ点との間の距離（例えば、軌道点５１２とマップ点５１０との間の第１の距離、軌道点５２８とマップ点５１０との間の第２の距離、および／または軌道点５３０とマップ点５１０との間の第３の距離）は、歪曲されたマップ点５２２＊の歪曲を通知するために使用されることができる。場合によっては、軌道点５１２、５２８、および／または５３０に関連する体勢は、歪曲されたマップ点５２２＊の歪曲を通知するために使用されることができる。場合によっては、それぞれ、軌道点５１２、５２８、および５３０と対応する更新された軌道点５１８、５３２、および５３４との間の個々の変換は、歪曲されたマップ点５２２＊の歪曲を通知するために使用されることができる。場合によっては、歪曲されたマップ点５２２＊の歪曲は、上述の特徴の一部または全部に部分的に基づくことにより、マップ点５１０と歪曲されたマップ点５２２＊との間の特徴の相対向きを維持することができる。場合によっては、最小２乗最適化が、本明細書で説明されるように、距離、体勢、および／または変換に基づいて歪曲されたマップ点５２２＊の位置を推定するために使用されることができる。非限定的な例として、マップ点５１０に対する軌道の３つの最も近い体勢の各々が、３つの独立した変換（例えば、更新された軌道にそのような点において第１の軌道をマッピングする変換）を確立するために使用され得る。そのような変換は、マップ点５１０に適用され得る。そのような例では、変換は、３つの一意の更新されたマップ点（図示せず）をもたらし得る。したがって、得られた歪曲されたマップ点５２２＊は、３つすべての示唆された点までの距離を最小化する点（および／または向き）として定義され得る。もちろん、マップ点５１０に対する任意の数の最接近点は、そのような歪曲された点５２２＊を通知するために使用され得る。
【００５４】
動作５３６において、プロセスは、マップ点間の制約を確立することを含むことにより、歪曲されたマップ点の相対位置を維持することができる。例５３８は、マップ点５１０とマップ点５４０との間の距離とマップ点５１０とマップ点５４２との間の距離とに少なくとも部分的に基づいて歪曲されたマップ点５２２＊＊を生成することを示す。したがって、歪曲されたマップ点５２２＊＊のポジションおよび／または向きは、最適化に基づいて決定され、歪曲された空間中の元のマップ点の間の相対的な変換をできるだけ近く維持し得る。そのような相対変換を維持することの一例は、歪曲されたマップ点５２２＊＊のポジションに対する歪曲されたマップ点５４４および５４６として示される。場合によっては、最小２乗推定が、本明細書で説明されるように、マップ点間の距離に基づいて歪曲されたマップ点５２２＊＊の位置を推定するために使用されることができる。少なくともいくつかの例では、相対的なマップ点間に制約を導入することによって、１つのエリア中の変更がそのような制約によって他のエリアに伝搬することになるので、更新されたデータ／軌道を有しないエリア中のマップ点を更新すること、つまり、歪曲させることが可能である。少なくとも他の例では、他のエリアへの１つのエリア中での歪曲の効果を最小化するために、そのような制約は、変更されたデータ／軌道からの距離に関して重み付けを低くされ得る。
【００５５】
動作５４８において、プロセスは、１つまたは複数の制約を満たすために歪曲されたマップ点のポジションを最適化することを含むことができる。例５５０は、軌道５０６に関連する複数のマップ点５５２と更新された軌道５０８に関連する複数の歪曲されたマップ点５５４とを示す。場合によっては、動作５４８は、最小２乗最適化を使用することにより、（例えば、動作５１４、５２４、および５３６のコンテキストで論じた）制約の一部または全部に基づいて歪曲された点５５４のポジションを実質的に最適化することができる。場合によっては、勾配降下法を使用し、動作５４８は、歪曲されたマップ点５５４を最適化し得る。場合によっては、他の最適化アルゴリズムが使用され得、動作は、本明細書で説明される明示的な最適化アルゴリズムに限定されない。
【００５６】
図６は、本明細書で説明される手法を実装するための例示的なシステム６００のブロック図を示す。少なくとも１つの例では、システム６００は、車両６０２を含むことができる。
【００５７】
車両６０２は、車両コンピューティングデバイス６０４と、１つまたは複数のセンサシステム６０６と、１つまたは複数のエミッタ６０８と、１つまたは複数の通信接続６１０と、少なくとも１つの直接接続６１２と、１つまたは複数の駆動システム６１４とを含むことができる。
【００５８】
車両コンピューティングデバイス６０４は、１つまたは複数のプロセッサ６１６と１つまたは複数のプロセッサ６１６に通信可能に結合されたメモリ６１８とを含むことができる。図示の例では、車両６０２は、自律車両であるが、車両６０２は、任意の他のタイプの車両とすることができる。図示の例では、車両コンピューティングデバイス６０４のメモリ６１８は、位置特定構成要素６２０と、知覚構成要素６２２と、プランニング構成要素６２４と、１つまたは複数のシステムコントローラ６２６と、１つまたは複数のマップ６２８とを記憶する。説明のためにメモリ６１８中に常駐するものとして図６に示されているが、位置特定構成要素６２０と、知覚構成要素６２２と、プランニング構成要素６２４と、１つまたは複数のシステムコントローラ６２６と、１つまたは複数のマップ６２８とが、追加または代替として、車両６０２にとってアクセス可能であり得る（例えば、リモートに記憶され得る）と考えられる。
【００５９】
少なくとも１つの例では、位置特定構成要素６２０は、センサシステム６０６からデータを受信する機能を含むことにより、車両６０２のポジションおよび／または向き（例えば、ｘポジション、ｙポジション、ｚポジション、ロール、ピッチ、またはヨーのうちの１つまたは複数）を決定することができる。例えば、位置特定構成要素６２０は、環境のマップを含むおよび／または要求／受信することができ、マップ内での自律車両の位置および／または向きを連続的に決定することができる。場合によっては、位置特定構成要素６２０は、ＳＬＡＭ（同時の位置特定およびマッピング）、ＣＬＡＭＳ（同時の較正、位置特定およびマッピング）、相対的なＳＬＡＭ、バンドル調整、非線形最小２乗最適化などを利用することによって画像データ、ＬＩＤＡＲデータ、レーダーデータ、ＩＭＵデータ、ＧＰＳデータ、ホイールエンコーダデータなどを受信し、自律車両の位置を正確に決定することができる。場合によっては、位置特定構成要素６２０は、本明細書で説明されるように、車両６０２の様々な構成要素にデータを与えることにより、軌道を生成するためのおよび／またはマップデータを生成するための自律車両の初期位置を決定することができる。
【００６０】
場合によっては、知覚構成要素６２２は、オブジェクト検出、セグメンテーション、および／または分類を実行する機能を含むことができる。いくつかの例では、知覚構成要素６２２は、車両６０２に近接したエンティティの存在および／またはエンティティタイプ（例えば、車、歩行者、サイクリスト、動物、建築物、木、路面、縁石、歩道、未知のものなど）としてのエンティティの分類を示す処理されたセンサデータを与えることができる。追加または代替の例では、知覚構成要素６２２は、検出されたエンティティ（例えば、追跡されるオブジェクト）および／またはエンティティが位置する環境に関連する１つまたは複数の特性を示す処理されたセンサデータを与えることができる。いくつかの例では、エンティティに関連する特性は、限定はしないが、ｘポジション（グローバルおよび／またはローカルポジション）、ｙポジション（グローバルおよび／またはローカルポジション）、ｚポジション（グローバルおよび／またはローカルポジション）、向き（例えば、ロール、ピッチ、ヨー）、エンティティタイプ（例えば、分類）、エンティティの速度、エンティティの加速度、エンティティの範囲（サイズ）などを含むことができる。環境に関連する特性は、限定はしないが、環境中の別のエンティティの存在、環境中の別のエンティティの状態、時刻、曜日、季節、気象条件、暗さ／明かりの表示などを含むことができる。
【００６１】
概して、プランニング構成要素６２４は、従うべき車両６０２のための経路を決定することにより、環境を通って横断することができる。例えば、プランニング構成要素６２４は、様々なルートおよび軌道と様々なレベルの詳細とを決定することができる。例えば、プランニング構成要素６２４は、第１の位置（例えば、現在のロケーション）から第２の位置（例えば、ターゲットロケーション）に走行するルートを決定することができる。この説明の目的で、ルートは、２つの位置の間を走行するための一連の中間地点とすることができる。非限定的な例として、中間地点は、街路、交差点、全地球測位システム（ＧＰＳ）座標などを含む。さらに、プランニング構成要素６２４は、第１の位置から第２の位置へのルートの少なくとも一部分に沿って自律車両を案内するための命令を生成することができる。少なくとも１つの例では、プランニング構成要素６２４は、一連の中間地点の第１の中間地点から一連の中間地点の第２の中間地点まで自律車両をどのように案内するのかを決定することができる。いくつかの例では、命令は、軌道または軌道の一部分とるすことができる。いくつかの例では、多数の軌道が、後退地平線（receding horizon）手法に従って（例えば、技術的公差内で）実質的に同時に生成されることができ、ここにおいて、多数の軌道のうちの１つが、車両６０２をナビゲートするために選択される。
【００６２】
場合によっては、プランニング構成要素６２４は、予測構成要素を含むことで環境中のオブジェクトの予測された軌道を生成することができる。例えば、予測構成要素は、車両６０２からしきい値距離内の車両、歩行者、動物などのための１つまたは複数の予測された軌道を生成することができる。場合によっては、予測構成要素は、オブジェクトのトレースを測定し、観測され予測された挙動に基づいてオブジェクトのための軌道を生成することができる。
【００６３】
少なくとも１つの例では、車両コンピューティングデバイス６０４は、１つまたは複数のシステムコントローラ６２６を含むことができ、車両６０２のステアリング、推進、制動、安全、エミッタ、通信、および他のシステムを制御するように構成されることができる。これらのシステムコントローラ６２６は、駆動システム６１４の対応するシステムおよび／または車両６０２の他の構成要素と通信し、および／またはそれらを制御することができる。
【００６４】
メモリ６１８は、車両６０２によって使用されることができる１つまたは複数のマップ６２８をさらに含むことにより、環境内をナビゲートすることができる。この説明の目的で、マップは、限定はしないが、概して、（交差点などの）トポロジ、街路、山脈、道路、地形、および環境などの環境に関する情報を与えることが可能である２次元、３次元、またはｎ次元でモデル化された任意の数のデータ構造とすることができる。場合によっては、マップは、限定はしないが、テクスチャ情報（例えば、カラー情報（例えば、ＲＧＢカラー情報、Ｌａｂカラー情報、ＨＳＶ／ＨＳＬカラー情報）など）、強度情報（例えば、ＬＩＤＡＲ情報、ＲＡＤＡＲ情報など）、空間情報（例えば、メッシュに投影された画像データ、個々の「サーフェル」（例えば、個々のカラーおよび／または強度に関連するポリゴン））、反射率情報（例えば、反射情報、再帰反射性情報、ＢＲＤＦ情報、ＢＳＳＲＤＦ情報など）を含むことができる。一例では、マップは、環境の３次元メッシュを含むことができる。場合によっては、マップは、タイルフォーマットで記憶されることができ、したがって、マップの個々のタイルは、環境の個別の部分を表し、本明細書で説明されるように、必要に応じて作業メモリにロードされることができる。少なくとも１つの例では、１つまたは複数のマップ６２８は、少なくとも１つのマップ（例えば、画像および／またはメッシュ）を含むことができる。いくつかの例では、車両６０２は、マップ６２８に少なくとも部分的に基づいて制御されることができる。すなわち、マップ６２８は、環境内でナビゲートするために車両６０２の位置を決定すること、環境中のオブジェクトを識別すること、ならびに／またはルートおよび／もしくは軌道を生成することを行うために位置特定構成要素６２０、知覚構成要素６２２、および／またはプランニング構成要素６２４とともに使用されることができる。
【００６５】
場合によっては、マップ６２８は、本明細書で説明される手法に従って更新および／または変更されたマップデータとマップ要素とを含むことができる。すなわち、車両６０２は、軌道を生成し、本開示に従って生成されるマップデータとマップ要素とに少なくとも部分的に基づいて環境を横断することができる。
【００６６】
いくつかの例では、１つまたは複数のマップ６２８は、ネットワーク６３０を介してアクセス可能な（コンピューティングデバイス６３２などの）リモートコンピューティングデバイス上に記憶されることができる。いくつかの例では、多数のマップ６２８は、例えば、特性（例えば、エンティティのタイプ、時刻、曜日、季節など）に基づいて記憶されることができる。多数のマップ６２８を記憶することは、同様のメモリ要件を有するが、マップ中のデータがアクセスされ得る速度を増加させることができる。
【００６７】
場合によっては、本明細書で説明される構成要素の一部または全部の態様は、任意のモデル、アルゴリズム、および／または機械学習アルゴリズムを含むことができる。例えば、場合によっては、メモリ６１８（および以下で説明するメモリ６３６）中の構成要素は、ニューラルネットワークとして実装されることができる。
【００６８】
本明細書で説明されるように、例示的なニューラルネットワークは、出力を生成するために一連の接続されたレイヤを通して入力データを受け渡す生物学的に示唆されたアルゴリズムである。ニューラルネットワーク中の各レイヤはまた、別のニューラルネットワークを備えることができるか、または（畳み込みであるかどうかにかかわらず）任意の数のレイヤを備えることができる。本開示のコンテキストで理解されるように、ニューラルネットワークは、機械学習を利用することができ、これは、出力が学習されたパラメータに基づいて生成される幅広いクラスのそのようなアルゴリズムを指すことができる。
【００６９】
ニューラルネットワークのコンテキストで説明されるが、任意のタイプの機械学習が本開示に一致して使用されることができる。例えば、機械学習アルゴリズムは、限定はしないが、回帰アルゴリズム（例えば、最小二乗回帰（ordinary least squares regression：OLSR）、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応型回帰スプライン（multivariate adaptive regression splines：ＭＡＲＳ）、局所推定散布図平滑化（locally estimated scatterplot smoothing：ＬＯＥＳＳ））、インスタンスベースのアルゴリズム（例えば、リッジ回帰、最小絶対値縮小選択演算子（least absolute shrinkage and selection operator：ＬＡＳＳＯ）、弾性ネット、最小角度回帰（least-angle regression：ＬＡＲ））、決定木アルゴリズム（例えば、分類および回帰木（classification and regression tree：ＣＡＲＴ）、反復二分法３（iterative dichotomiser 3：ＩＤ３）、カイ２乗自動相互作用検出（Chi-squared automatic interaction detection：ＣＨＡＩＤ）、決定株、条件付き決定木）、ベイジアンアルゴリズム（例えば、単純ベイズ、ガウス単純ベイズ、多項単純ベイズ、平均単依存推定器（average one-dependence estimators：ＡＯＤＥ）、ベイジアン信念ネットワーク（Bayesian belief network：ＢＮＮ）、ベイジアンネットワーク）、クラスタリングアルゴリズム（例えば、ｋ平均、ｋ平均法、期待値最大化（expectation maximization：ＥＭ）、階層クラスタリング）、相関ルール学習アルゴリズム（例えば、パーセプトロン、逆伝播、ホップフィールドネットワーク、動径基底関数ネットワーク（Radial Basis Function Network：ＲＢＦＮ））、ディープラーニングアルゴリズム（例えば、ディープボルツマンマシン（Deep Boltzmann Machine：ＤＢＭ）、深層信念ネットワーク（Deep Belief Networks：ＤＢＮ）、畳み込みニューラルネットワーク（Convolutional Neural Network：ＣＮＮ）、積層オートエンコーダ）、次元削減アルゴリズム（例えば、主成分分析（Principal Component Analysis：ＰＣＡ）、主成分回帰（Principal Component Regression：ＰＣＲ）、部分的最小２乗回帰（Partial Least Squares Regression：ＰＬＳＲ）、サモンマッピング、多次元尺度構成法（Multidimensional Scaling：ＭＤＳ）、射影追跡、線形判別分析（Linear Discriminant Analysis：ＬＤＡ）、混合判別分析（Mixture Discriminant Analysis：ＭＤＡ）、二次判別分析（Quadratic Discriminant Analysis：ＱＤＡ）、フレキシブル判別分析（Flexible Discriminant Analysis：ＦＤＡ））、アンサンブルアルゴリズム（例えば、ブースティング、ブートストラップ集約（バッギング）、アダブースト、スタック汎化（ブレンディング）、勾配ブースティングマシン（Gradient Boosting Machines：ＧＢＭ）、勾配ブースト回帰木（Gradient Boosted Regression Trees：ＧＢＲＴ）、ランダムフォレスト）、ＳＶＭ（support vector machine：サポートベクターマシン）、教師あり学習、教師なし学習、半教師あり学習などを含むことができる。
【００７０】
アーキテクチャの追加の例は、ＲｅｓＮｅｔ７０、ＲｅｓＮｅｔ１０１、ＶＧＧ、ＤｅｎｓｅＮｅｔ、ＰｏｉｎｔＮｅｔなどのニューラルネットワークを含む。
【００７１】
少なくとも１つの例では、センサシステム６０６は、ＬＩＤＡＲセンサ、レーダーセンサ、超音波トランスデューサ、ソナーセンサ、位置センサ（例えば、ＧＰＳ、コンパスなど）、慣性センサ（例えば、慣性測定ユニット（ＩＭＵ）、加速度計、磁力計、ジャイロスコープなど）、カメラ（例えば、ＲＧＢ、ＩＲ、強度、深度など）、飛行時間センサ、マイクロフォン、ホイールエンコーダ、環境センサ（例えば、温度センサ、湿度センサ、光センサ、圧力センサなど）などを含むことができる。センサシステム６０６は、これらのまたは他のタイプのセンサの各々の多数のインスタンスを含むことができる。例えば、ＬＩＤＡＲセンサは、車両６０２の端、前面、背面、側面、および／または上部に位置する個々のＬＩＤＡＲセンサを含むことができる。別の例として、カメラセンサは、車両６０２の外部および／または内部に関する様々な位置に配設された多数のカメラを含むことができる。センサシステム６０６は、車両コンピューティングデバイス６０４に入力を与えることができる。追加または代替として、センサシステム６０６は、特定の周波数で、所定の時間期間の経過後に、ほぼリアルタイムでなどで１つまたは複数のコンピューティングデバイスに１つまたは複数のネットワーク６３０を介してセンサデータを送ることができる。
【００７２】
車両６０２はまた、上記で説明されたように、光および／または音を放出するための１つまたは複数のエミッタ６０８を含むことができる。この例におけるエミッタ６０８は、内部オーディオビジュアルエミッタを含み、車両６０２の搭乗者と通信する。限定ではなく例として、内部エミッタは、スピーカ、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、ハプティックエミッタ（例えば、振動および／またはフォースフィードバック）、機械的アクチュエータ（例えば、シートベルトテンショナ、シートポジショナ、ヘッドレストポジショナなど）などを含むことができる。この例中でエミッタ６０８はまた、外部エミッタを含む。限定ではなく例として、この例での外部エミッタは、そのうちの１つまたは複数が音響ビームステアリング技術を備える、進行方向をシグナリングするためのライトまたは車両アクションの他のインジケータ（例えば、インジケータライト、サイン、光アレイなど）、および歩行者または他の近くの車両と可聴的に通信するための１つまたは複数のオーディオエミッタ（例えば、スピーカ、スピーカアレイ、ホーンなど）を含む。
【００７３】
車両６０２はまた、車両６０２と１つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの間の通信を有効にする１つまたは複数の通信接続６１０を含むことができる。例えば、通信接続６１０は、車両６０２および／または駆動システム６１４上の他のローカルコンピューティングデバイスとの通信を容易にすることができる。また、通信接続６１０は、車両が他の近くのコンピューティングデバイス（例えば、他の近くの車両、トラフィック信号など）と通信することを可能にすることができる。通信接続６１０はまた、車両６０２がリモート遠隔操作コンピューティングデバイスまたは他のリモートサービスと通信することを可能にする。
【００７４】
通信接続６１０は、別のコンピューティングデバイスまたはネットワーク６３０などのネットワークに車両コンピューティングデバイス６０４を接続するための物理および／または論理インターフェースを含むことができる。例えば、通信接続６１０は、それぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースすることを可能にするＩＥＥＥ８０２．１１規格によって定義された周波数、Ｂｌｕｅｔｏｏｔｈなどの短距離ワイヤレス周波数、セルラー通信（例えば、２Ｇ、３Ｇ、４Ｇ、４Ｇ  ＬＴＥ、５Ｇなど）または任意の好適なワイヤードもしくはワイヤレス通信プロトコルなどを介したＷｉ−Ｆｉベースの通信を可能にすることができる。
【００７５】
少なくとも１つの例では、車両６０２は、１つまたは複数の駆動モジュール６１４を含むことができる。いくつかの例では、車両６０２は、単一の駆動モジュール６１４を有することができる。少なくとも１つの例では、車両６０２が多数の駆動モジュール６１４を有する場合、個々の駆動モジュール６１４は、車両６０２の両端（例えば、前面および背面など）に配置されることができる。少なくとも１つの例では、駆動システム６１４は、１つまたは複数のセンサシステムを含むことにより、車両６０２の駆動システム６１４および／または周囲の状態を検出することができる。限定ではなく例として、センサシステムは、駆動モジュールのホイールの回転を感知するための１つまたは複数のホイールエンコーダ（例えば、ロータリエンコーダ）、駆動モジュールの向きおよび加速度を測定するための慣性センサ（例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など）、カメラまたは他の画像センサ、駆動モジュールの周囲のオブジェクトを音響的に検出するための超音波センサ、ＬＩＤＡＲセンサ、レーダーセンサなどを含むことができる。ホイールエンコーダなどのいくつかのセンサは、駆動システム６１４に固有のものとすることができる。場合によっては、駆動システム６１４上のセンサシステムは、車両６０２の対応するシステム（例えば、センサシステム６０６）と重複するか、またはそれを補足することができる。
【００７６】
駆動システム６１４は、高電圧バッテリ、車両を推進するためのモータ、他の車両システムが使用するためにバッテリからの直流電流を交流電流に変換するためのインバータ、（電気式とすることができる）ステアリングモータとステアリングラックとを含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および／または空気構成要素を含むサスペンションシステム、トラクションの損失を緩和し、制御を維持するためにブレーキ力を分散させるための安定性制御システム、ＨＶＡＣシステム、照明（例えば、車両の外部周辺を照明するためのヘッド／テールライトなどの照明）、ならびに１つまたは複数の他のシステム（例えば、冷却システム、安全システム、車載充電システム、ＤＣ／ＤＣ変換器、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどの他の電気構成要素）を含む車両システムの多くを含むことができる。さらに、駆動システム６１４は、センサシステムからデータを受信し、様々な車両システムの動作を制御するためにそれを前処理することができる駆動モジュールコントローラを含むことができる。いくつかの例では、駆動モジュールコントローラは、１つまたは複数のプロセッサと１つまたは複数のプロセッサに通信可能に結合されたメモリとを含むことができる。メモリは、１つまたは複数のモジュールを記憶することにより、駆動システム６１４の様々な機能を実行することができる。さらに、駆動システム６１４はまた、１つまたは複数の他のローカルまたはリモートコンピューティングデバイスとのそれぞれの駆動モジュールによる通信を可能にする１つまたは複数の通信接続を含む。
【００７７】
少なくとも１つの例では、直接接続６１２は、物理インターフェースを与え、車両６０２の本体と１つまたは複数の駆動システム６１４を結合することができる。例えば、直接接続６１２は、駆動システム６１４と車両との間のエネルギー、流体、空気、データなどの搬送を可能にすることができる。場合によっては、直接接続６１２は、さらに、車両６０２の本体に駆動システム６１４を取り外し可能に固定することができる。
【００７８】
いくつかの例では、車両６０２は、ネットワーク６３０を介して１つまたは複数のコンピューティングデバイス６３２にセンサデータを送ることができる。いくつかの例では、車両６０２は、コンピューティングデバイス６３２に未加工のセンサデータを送ることができる。他の例では、車両６０２は、コンピューティングデバイス６３２に処理されたセンサデータおよび／またはセンサデータの表現を送ることができる。いくつかの例では、車両６０２は、特定の周波数で、所定の時間期間の経過後に、ほぼリアルタイムでなどでコンピューティングデバイス６３２にセンサデータを送ることができる。場合によっては、車両６０２は、１つまたは複数のログファイルとしてコンピューティングデバイス６３２にセンサデータ（未加工または処理済み）を送ることができる。
【００７９】
コンピューティングデバイス６３２は、プロセッサ６３４と、マップデータ構成要素６３８と、マップ要素構成要素６４０と、軌道アラインメント／変換構成要素６４２と、マップ要素歪曲構成要素６４４とを記憶するメモリ６３６とを含むことができる。
【００８０】
場合によっては、マップデータ構成要素６３８は、１つまたは複数の軌道と１つまたは複数の軌道に関連するマップデータとを受信する機能を含むことができる。例えば、マップデータ構成要素６３８は、車両６０２の１つまたは複数のＬＩＤＡＲセンサによってキャプチャされたＬＩＤＡＲデータを受信し、環境の３次元マップデータを生成することができる。場合によっては、マップデータは、単一の軌道または軌道のセットに関連付けられ得る。場合によっては、軌道は、本明細書で説明されるように、マップデータをキャプチャするときに車両６０２に関連する個別の一連の体勢を備えることができる。
【００８１】
場合によっては、マップ要素構成要素６４０は、マップ要素を受信するおよび／またはマップデータにそのようなマップ要素を関連付ける機能を含むことができる。場合によっては、マップ要素は、レーンもしくは運転通路の範囲を示すレーン要素、交差点における停止線を示す停止線要素、交通信号の位置を示す交通信号要素、速度制限に関連する領域、および／または環境に関連する任意の情報を含むことができる。マップ要素の追加の非限定的な例は、自転車レーン要素、駐車要素、交差点要素、レーンディバイダ要素、停止サイン要素、譲れサイン要素、譲れ線要素などを含み得る。理解されるように、環境は複数の物理および／または仮想特徴を含み得、マップ要素は、本明細書で明確に説明されるマップ要素に限定されるべきではない。場合によっては、マップ要素は、マップ要素に関連する位置、範囲、およびセマンティック情報を定義することができる。
【００８２】
場合によっては、マップデータ構成要素６３８に関連するマップデータおよび／またはマップ要素構成要素６４０に関連するマップ要素は、グローバル座標系に関しておよび／または局所座標系に関して定義されることができる。
【００８３】
場合によっては、軌道アラインメント／変換構成要素６４２は、第２の軌道に第１の軌道をアラインメントする、および／または第１の軌道と第２の軌道との間のアラインメントに基づいて更新された第１の軌道を生成する機能を含むことができる。場合によっては、軌道アラインメント／変換構成要素６４２は、第２の軌道に関連する第２のＬＩＤＡＲデータに第１の軌道に関連する第１のＬＩＤＡＲデータをアラインメントすることができ、プロセス中に、第１の軌道に関連する更新された軌道を生成することができる。場合によっては、軌道アラインメント／変換構成要素６４２は、ＳＬＡＭ、ＣＬＡＭＳ、または他の較正および／もしくはアラインメントアルゴリズムを利用し、歪曲されたマップ要素を生成する際に使用するための更新された軌道を生成することができる。
【００８４】
場合によっては、マップ要素歪曲構成要素６４４は、本明細書で説明されるように、歪曲されたマップ要素を生成する機能を含むことができる。場合によっては、マップ要素歪曲構成要素６４４は、図１〜図５に関して上記で説明されたように、マップ要素制御点および／もしくはマップ要素に直接関連する点を生成するか、変更するか、歪曲させるか、または更新する動作を実行することができる。場合によっては、マップ要素歪曲構成要素６４４は、１）軌道に関連する軌道点と更新された軌道に関連する対応する軌道点との間の変換、２）マップ要素に関連する複数の軌道点、および／または３）隣接もしくは近接したマップ点間の相対もしくは絶対距離に少なくとも部分的に基づいてマップ要素を歪曲させることができる。マップ要素歪曲構成要素６４４のさらなる詳細について、本開示全体にわたって説明される。
【００８５】
車両６０２のプロセッサ６１６およびコンピューティングデバイス６３２のプロセッサ６３４は、本明細書で説明されるようにデータを処理し、動作を実行するために命令を実行することが可能な任意の好適なプロセッサとすることができる。限定ではなく例として、プロセッサ６１６および６３４は、電子データをレジスタおよび／またはメモリ中で記憶され得る他の電子データに変換するためのその電子データを処理する１つまたは複数の中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、または任意の他のデバイスもしくはデバイスの一部分を備えることができる。いくつかの例では、統合回路（例えば、ＡＳＩＣなど）、ゲートアレイ（例えば、ＦＰＧＡなど）、および他のハードウェアデバイスも、それらが符号化された命令を実装するように構成される限り、プロセッサと考慮されることができる。
【００８６】
メモリ６１８および６３６は、非一時的コンピュータ可読媒体の例である。メモリ６１８および６３６は、オペレーティングシステムおよび１つまたは複数のソフトウェアアプリケーション、命令、プログラム、ならびに／またはデータを記憶し、本明細書で説明する方法および様々なシステムに起因する機能を実装することができる。様々な実装形態では、メモリは、スタティックランダムアクセスメモリ（ＳＲＡＭ）、同期型随時書き込み読み出しメモリ（ＳＤＲＡＭ）、不揮発性／フラッシュタイプメモリ、または情報を記憶することが可能な任意の他のタイプのメモリなどの任意の好適なメモリ技術を使用して実装されることができる。本明細書で説明されるアーキテクチャ、システム、および個々の要素は、多くの他の論理構成要素、プログラム構成要素、および物理構成要素を含むことができ、添付の図に示されたものは、本明細書での説明に関連する例にすぎない。
【００８７】
場合によっては、メモリ６１８および６３６は、少なくとも作業メモリと記憶メモリとを含むことができる。例えば、作業メモリは、使用される限定された容量の高速メモリ（例えば、キャッシュメモリ）であり、プロセッサ６１６および６３４によって動作されるべきデータを記憶し得る。場合によっては、メモリ６１８および６３６は、データの長期ストレージのために使用される比較的大容量のより低い速度のメモリであり得る記憶メモリを含むことができる。場合によっては、プロセッサ６１６および６３４は、本明細書で説明されるように、記憶メモリ中に記憶されるデータに対して直接動作することができず、データは、データに基づいて動作を実行するための作業メモリにロードされる必要があり得る。
【００８８】
図６が分散システムとして示されているが、代替例では、車両６０２の構成要素は、車両６０２に関連付けられ得るコンピューティングデバイス６３２および／またはコンピューティングデバイス６３２の構成要素に関連付けられることが可能であることに留意されたい。すなわち、車両６０２は、コンピューティングデバイス６３２に関連する機能のうちの１つまたは複数を実行することができ、その逆も同様である。
【００８９】
図１、図４、図５、および図７は、本開示の実施形態による例示的なプロセスを示す。これらのプロセスは、論理フローグラフとして示されており、各動作は、ハードウェア、ソフトウェア、またはそれらの組合せで実装されることができる一連の動作を表す。ソフトウェアのコンテキストでは、動作は、１つまたは複数のプロセッサによって実行されたとき、記載の動作を実行する１つまたは複数のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作を記述する順序は、限定として解釈すべきものではなく、任意の数の記述した動作が任意の順序でおよび／または並行して組み合わされることにより、プロセスを実装することができる。
【００９０】
図７は、本開示の実施形態による、軌道と更新された軌道との間の変換に基づいて歪曲されたマップ要素を生成するための例示的なプロセス７００を示す。例えば、プロセス７００の一部または全部は、本明細書で説明されるように、図６中の１つまたは複数の構成要素によって実行されることができる。例えば、プロセス７００の一部または全部は、車両コンピューティングデバイス６０４および／またはコンピューティングデバイス６３２によって実行されることができる。
【００９１】
動作７０２において、プロセスは、第１の軌道に関連するマップデータを受信することを含むことができる。場合によっては、動作７０２は、自律車両のセンサによってキャプチャされたセンサデータを受信することを含むことができる。場合によっては、動作７０２は、１つまたは複数の車両（自律であるなしにかかわらず）からの前にキャプチャされたデータを備えるログデータを受信することを含むことができる。いくつかの例では、センサデータは、限定はしないが、ＬＩＤＡＲセンサによってキャプチャされたＬＩＤＡＲデータを含む任意のセンサモダリティを含み得る。場合によっては、プロセス７００は、非自律車両によって、センサシステムによって、またはロボットプラットフォームによって実行されることができ、自律車両に限定されない。
【００９２】
動作７０４において、プロセスは、マップデータに関連するマップ要素を受信することを含むことができる。場合によっては、マップ要素は、マップデータの任意のエリアならびにエリアに関連するセマンティック情報を表すことができる。様々なマップ要素の例について、本開示全体にわたって説明される。場合によっては、マップ要素は、マップデータを備える（例えば、ＬＩＤＡＲデータ、画像データなどに基づく）特徴認識アルゴリズムを使用して生成され得、場合によっては、マップ要素は、地図製作者または熟練技術者によって与えられたマップデータに対する注釈として受信されることができる。しかしながら、場合によっては、更新されたマップデータに対してそのような特徴認識アルゴリズムを実行するのではなく、本明細書で説明される動作は、本明細書で説明されるように、マップ要素に関連する情報ならびに／または軌道、軌道点、および／もしくは追加のマップ要素の間の関係を維持することができる。いくつかの例では、複数の表現が企図されるが、マップ要素は、幾何プリミティブを備え、メモリ中でのコンパクトな表現することができる。
【００９３】
動作７０６において、プロセスは、第１の軌道と第２の軌道とをアラインメントすることを含むことができる。場合によっては、第２の軌道の少なくとも一部分は、第１の軌道に近接しており、および／または第１の軌道のしきい値距離内とすることができる。場合によっては、第２の軌道は、ループ閉じ込みイベント、更新された較正、第１の軌道への新しいデータの追加などを表し得る。場合によっては、動作７０６は、第２の軌道に関連する第２のマップデータ（例えば、第２のＬＩＤＡＲデータ）に第１の軌道に関連する第１のマップデータ（例えば、第１のＬＩＤＡＲデータ）をアラインメントすることを含み、マップデータの２つのセット間のアラインメントを決定することができる。場合によっては、動作７０６は、ＳＬＡＭまたはＣＬＡＭＳアルゴリズムを利用し、マップデータおよび／または軌道をアラインメントすることを含むことができる。
【００９４】
動作７０８において、プロセスは、アラインメントすることに少なくとも部分的に基づいて、更新された第１の軌道を決定することを含むことができる。場合によっては、更新された軌道は、本明細書で説明されるように、第２の軌道とのアラインメントを最大化するために生成されることができる。
【００９５】
動作７１０において、プロセスは、第１の軌道と更新された第１の軌道とに関連する変換を決定することを含むことができる。場合によっては、第１の軌道の各軌道点は、更新された軌道に関連する一意の更新された軌道点に変換され得る。場合によっては、更新された軌道点の絶対的なポジションおよび／または体勢は、軌道点のポジションおよび体勢に関して変換されることができる。
【００９６】
動作７１２において、プロセスは、マップ要素と変換とに少なくとも部分的に基づいて、歪曲されたマップ要素を決定することを含むことができる。歪曲されたマップ要素（または歪曲されたマップ点、更新されたマップ点、もしくは歪曲されたマップ要素制御点）を生成するためにマップ要素を歪曲させることの詳細について、図１〜図５に関しておよび本開示全体にわたって説明される。
【００９７】
動作７１４において、プロセスは、すべてのマップ要素が更新されたのかどうかを決定することを含むことができる。場合によっては、動作は、最小２乗最適化アルゴリズムに基づいてマップ要素を更新することを含むことができる。場合によっては、各マップ点は、個々に最適化されることができる。場合によっては、すべてのマップ要素が更新されていない場合、プロセスは、動作７１２に戻ることができ、それにより、すべてのマップ要素（および／またはすべてのマップ要素制御点）が更新されるまで、追加のマップ要素が歪曲されることができる。
【００９８】
動作７１６において、プロセスは、自律車両を制御する際に使用するための歪曲されたマップ要素を出力することを含むことができる。場合によっては、歪曲されたマップ要素は、時相論理コンテキスト（例えば、線形時相論理、信号時相論理など）において使用されるべきシンボルを表すことにより、軌道を生成および／または検証することができる。場合によっては、歪曲されたマップ要素は、自律車両の位置を特定すること、および／または環境を通して自律車両をナビゲートすることを行うための自律車両の他の構成要素によって使用されることができる。
【００９９】
例示的な条項
Ａ：システムであって、１つまたは複数のプロセッサと、１つまたは複数のプロセッサによって実行可能な命令を記憶する１つまたは複数のコンピュータ可読媒体であって、命令は、実行されたとき、システムに、環境を表すマップデータを受信することであって、マップデータは、自律車両によって横断される第１の軌道に関連付けられ、環境の第１のＬＩＤＡＲデータに少なくとも部分的に基づく、受信することと、マップデータに関連するマップ要素を受信することであって、マップ要素は、レーン要素、横断歩道要素、または停止線要素のうちの少なくとも１つを備える、受信することと、第１の軌道に関連する第１のＬＩＤＡＲデータと第２の軌道に関連する第２のＬＩＤＡＲデータとをアラインメントすることと、アラインメントすることに基づいて、更新された第１の軌道を決定することと、マップ要素に関連する第１の軌道の軌道点を決定することと、軌道点と更新された第１の軌道の対応する軌道点とに関連する変換を決定することと、マップ要素に変換を適用することに少なくとも部分的に基づいて歪曲されたマップ要素を決定することとを備える動作を実行させる、コンピュータ可読媒体を備えるシステム。
【０１００】
Ｂ：軌道点に関連する変換を決定することは、変換として、更新された第１の軌道の対応する軌道点に関して軌道点の相対的なポジションまたは向きのうちの１つまたは複数を決定することを備える段落Ａに記載のシステム。
【０１０１】
Ｃ：軌道点を決定することは、マップ要素と第１の軌道に関連する軌道点との間の距離を決定することと、距離がしきい値距離を下回ると決定することとを備える段落ＡまたはＢに記載のシステム。
【０１０２】
Ｄ：歪曲されたマップ要素を決定することは、第１の軌道に関連する１つもしくは複数の追加の軌道点または１つもしくは複数の追加のマップ要素にさらに少なくとも部分的に基づく段落Ａ乃至Ｃのいずれか一段落に記載のシステム。
【０１０３】
Ｅ：動作は、自律車両を制御する際に使用するための歪曲されたマップ要素を出力することをさらに備える段落Ａ乃至Ｄのいずれか一段落に記載のシステム。
【０１０４】
Ｆ：方法であって、第１の軌道に関連するマップデータを受信するステップと、マップデータに関連するマップ要素を受信するステップと、第１の軌道と第２の軌道とをアラインメントするステップと、アラインメントするステップに基づいて、更新された第１の軌道を決定するステップと、第１の軌道と更新された第１の軌道とに関連する変換を決定するステップと、マップ要素と変換とに少なくとも部分的に基づいて、歪曲されたマップ要素を決定するステップとを備える方法。
【０１０５】
Ｇ：第１の軌道と第２の軌道とをアラインメントするステップは、第１の軌道に関連する第１のＬＩＤＡＲデータと第２の軌道に関連する第２のＬＩＤＡＲデータとの間のアラインメントを決定するステップを備える段落Ｆに記載の方法。
【０１０６】
Ｈ：マップ要素は、マップデータに関連するエリアを備え、歪曲されたマップ要素を決定するステップは、歪曲されたマップ要素としてマップ要素のサイズまたは位置のうちの少なくとも１つを更新するためにエリアに関連する点の位置を変更するステップを備える段落ＦまたはＧに記載の方法。
【０１０７】
Ｉ：マップ要素は、レーン要素、自転車レーン要素、横断歩道要素、交差点要素、レーンディバイダ要素、交通信号要素、停止サイン要素、停止線要素、譲れサイン要素、または譲れ線要素のうちの少なくとも１つを備える段落Ｆ乃至Ｈのいずれか一段落に記載の方法。
【０１０８】
Ｊ：第１の軌道と更新された第１の軌道とに関連する変換を決定するステップは、マップ要素に関連する軌道点を決定するステップと、変換として、更新された第１の軌道の対応する軌道点に関して軌道点の相対的なポジションまたは向きのうちの１つまたは複数を決定するステップとを備える段落Ｆ乃至Ｉのいずれか一段落に記載の方法。
【０１０９】
Ｋ：軌道点を決定するステップは、マップ要素と第１の軌道に関連する軌道点との間の距離を決定するステップと、距離がしきい値距離を下回ると決定するステップとを備える段落Ｊに記載の方法。
【０１１０】
Ｌ：歪曲されたマップ要素を決定することは、第１の軌道に関連する１つもしくは複数の追加の軌道点または１つもしくは複数の追加のマップ要素にさらに少なくとも部分的に基づく段落ＪまたはＫに記載の方法。
【０１１１】
Ｍ：第２の軌道は、第１の軌道に関連する更新された較正を表す段落Ｆ乃至Ｌのいずれか一段落に記載の方法。
【０１１２】
Ｎ：マップ要素は、複数のマップ要素のうちの１つであり、歪曲されたマップ要素は、複数の歪曲されたマップ要素のうちの１つであり、本方法は、複数のマップ要素と変換とに少なくとも部分的に基づいて、複数の歪曲されたマップ要素を決定するために最小２乗最適化を実行するステップをさらに備える段落Ｆ乃至Ｍのいずれか一段落に記載の方法。
【０１１３】
Ｏ：ロボットプラットフォームを制御する際に使用するための歪曲されたマップ要素を出力するステップをさらに備える段落Ｆ乃至Ｎのいずれか一段落に記載の方法。
【０１１４】
Ｐ：非一時的コンピュータ可読媒体であって、実行されたとき、１つまたは複数のプロセッサに、第１の軌道に関連するマップデータを受信することと、マップデータに関連するマップ要素を受信することと、第１の軌道と第２の軌道とをアラインメントすることと、アラインメントすることに基づいて、更新された第１の軌道を決定することと、第１の軌道と更新された第１の軌道とに関連する変換を決定することと、マップ要素と変換とに少なくとも部分的に基づいて、歪曲されたマップ要素を決定することを備える動作を実行させる命令を記憶した非一時的コンピュータ可読媒体。
【０１１５】
Ｑ：マップ要素は、マップデータに関連する幾何プリミティブを備え、歪曲されたマップ要素を決定することは、歪曲されたマップ要素としてマップ要素のサイズまたは位置のうちの少なくとも１つを更新するために幾何プリミティブの制御点の位置を変更することを備える段落Ｐに記載の非一時的コンピュータ可読媒体。
【０１１６】
Ｒ：第１の軌道と更新された第１の軌道とに関連する変換を決定することは、マップ要素に関連する軌道点を決定することと、第１の軌道の軌道点と更新された第１の軌道上の対応する点との間の相対的なポジションまたは向きのうちの１つまたは複数を決定することとを備える段落ＰまたはＱに記載の非一時的コンピュータ可読媒体。
【０１１７】
Ｓ：軌道点を決定することは、軌道がマップ要素に最も近い軌道点であると決定することを備える段落Ｒに記載の非一時的コンピュータ可読媒体。
【０１１８】
Ｔ：歪曲されたマップ要素を決定することは、第１の軌道に関連する１つもしくは複数の追加の軌道点または１つもしくは複数の追加のマップ要素にさらに少なくとも部分的に基づく段落Ｐ乃至Ｓのいずれか一段落に記載の非一時的コンピュータ可読媒体。
【０１１９】
上記で説明された例示的な条項について特定の一実装形態に関して説明するが、本明細書のコンテキストでは、例示的な条項のコンテンツはまた、方法、デバイス、システム、コンピュータ可読媒体、および／または別の実装形態を介して実装されることが可能であることを理解されたい。
【０１２０】
結論
本明細書で説明される手法の１つまたは複数の例について説明されたが、それの様々な改変、追加、置換、および等価物が本明細書で説明される手法の範囲内に含まれる。
【０１２１】
例の説明では、本明細書の一部を形成する添付図面を参照し、例として請求する主題の特定の例を示す。他の例が使用されることが可能であることと、構造的な変更などの変更または改変が行われることが可能であることとを理解されたい。そのような例、変更または改変は、必ずしも意図された請求する主題に関する範囲からの逸脱とは限らない。本明細書におけるステップがある順序で提示されることができるが、場合によっては、順序は変更されることができ、したがって、いくつかの入力は、説明されるシステムおよび方法の機能を変更することなしに異なる時間にまたは異なる順序で与えられる。開示されるプロシージャはまた、異なる順序で実行される可能性がある。さらに、本明細書にある様々な計算は、開示される順序で実行される必要はなく、計算の代替順序を使用する他の例が容易に実装されることができる。並べ替えられることに加えて、計算はまた、同じ結果をもつサブ計算に分解されることができる。
【図１】
2022500669.tif 000003
【図２】
2022500669.tif 000004
【図３】
2022500669.tif 000005
【図４】
2022500669.tif 000006
【図５】
2022500669.tif 000007
【図６】
2022500669.tif 000008
【図７】
2022500669.tif 000009
【国際調査報告】
2022500669.tif 000010
2022500669.tif 000011