(57)【要約】模擬環境の手続き的な生成は、本明細書で説明される。一例示において、コンピューティングデバイスは、実際の環境に関連付けられる道路ネットワークデータにアクセスすることが可能である。さらに、コンピューティングデバイスは、センサーデータに基づいて、実際の環境に関連付けられる道路メッシュを生成することが可能である。コンピューティングデバイスは、道路ネットワークデータを道路メッシュに関連付け、模擬環境を生成することが可能であり、少なくとも１つのオブジェクトを少なくとも部分的に少なくとも１つのルールに基づいて、模擬環境へと手続き的にレンダリングすることが可能である。コンピューティングデバイスは、模擬環境を自律走行車によって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、ナビゲーション、プラニング、または意思決定のうちの少なくとも１つに対して出力することが可能である。
2021534484.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
実際の環境内で複数のデータ収集デバイスからセンサーデータを受信するステップと、
前記実際の環境に関連付けられる道路ネットワークデータであって、少なくとも部分的に前記環境に基づく前記道路ネットワークデータにアクセスするステップと、
少なくとも部分的に前記センサーデータに基づいて前記実際の環境に関連付けられるメッシュを決定するステップと、
前記道路ネットワークデータを前記メッシュに関連付けて、模擬環境を生成するステップであって、前記模擬環境は、前記実際の環境に対して不完全であるステップと、
前記実際の環境に関連付けられる補完データにアクセスするステップであって、前記補完データは、前記複数のデータ収集デバイスによって提供される情報とは異なる、前記実際の環境に関連付けられる情報を提供するステップと、
前記補完データを前記模擬環境に関連付けて、前記模擬環境を変更された補完環境として補完するステップと、
前記変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、ナビゲーション、プラニング、または意思決定のうちの少なくとも１つに対して出力するステップと
を備えるコンピュータ実装方法。
【請求項２】
前記補完データは、ラスターベースの数値標高モデルを格納する地理空間ファイルフォーマットを含む、
請求項１に記載のコンピュータ実装方法。
【請求項３】
前記地理空間ファイルフォーマットは、米国地質調査所（ＵＳＧＳ）のデータ評価モデル（ＤＥＭ）基準に関連付けられている、
請求項２に記載のコンピュータ実装方法。
【請求項４】
前記模擬環境は、１つまたは複数のオブジェクトまたは前記環境の地形に関連付けられる前記センサーデータにおけるオクルージョンに起因して不完全である、
請求項１に記載のコンピュータ実装方法。
【請求項５】
前記補完データの第１の部分と前記メッシュの第２の部分との間の誤差を決定するステップであって、前記第１の部分および前記第２の部分は、前記実際の環境の同一の領域に関連付けられているステップと、
前記誤差が誤差量の閾値を満たしているか、または超えているかを判断するステップと、
前記補完データまたは前記道路メッシュのうちの少なくとも１つを調整するステップとをさらに含む、
請求項１ないし４のいずれか一項に記載のコンピュータ実装方法。
【請求項６】
前記誤差は、前記実際の環境の同一の領域に関連付けられる平均の誤差のうちの少なくとも１つを含む、
請求項５に記載のコンピュータ実装方法。
【請求項７】
変形格子を前記補完データの少なくとも一部または前記メッシュの対応する部分の１つまたは複数に適用して、前記補完データと前記道路メッシュとを実質的に整列させ、誤差を低減させるステップをさらに含む、
請求項５に記載のコンピュータ実装方法。
【請求項８】
前記補完データは、格納されたオブジェクトのフットプリント、前記オブジェクトに関連付けられる高さ、前記オブジェクトに関連付けられる分類、または前記オブジェクトに関連付けられるテクスチャを示すルールセットのうちの少なくとも１つを含む、
請求項１ないし５のいずれか一項に記載のコンピュータ実装方法。
【請求項９】
請求項１ないし８のいずれか一項に記載の方法を実行するように構成された命令を格納する１つまたは複数のコンピュータ可読媒体。
【請求項１０】
システムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行された場合に、前記少なくとも１つのプロセッサに、
実際の環境内で少なくとも１つのデータ収集デバイスからセンサーデータを受信することと、
前記実際の環境に関連付けられる道路ネットワークデータまたは前記実際の環境に関連付けられるメッシュのうちの少なくとも１つにアクセスすることであって、前記メッシュは、少なくとも部分的にセンサーデータに基づいていることと、
模擬環境を前記道路ネットワークデータまたは前記メッシュのうちの前記少なくとも１つに基づいて生成することと、
補完データを前記模擬環境に関連付けて、変更された模擬環境を生成することと、
前記変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、前記自律ロボットコンピューティングデバイスを制御する少なくとも１つに対して出力することと
を含む動作を実行させる１つまたは複数のコンピュータ可読命令と
を備えるシステム。
【請求項１１】
前記模擬環境は、前記実際の環境内で少なくとも１つのオクルージョンに起因して不完全である、
請求項１０に記載のシステム。
【請求項１２】
前記補完データは、少なくとも１つのオクルージョンに起因して少なくとも１つのデータ収集デバイスがそうでなければ利用不可能である前記実際の環境に関連付けられる情報を提供する、
請求項１０または１１に記載のシステム。
【請求項１３】
前記道路ネットワークデータは、前記実際の環境の２次元表現を含み、且つ運転レーン要素、自転車レーン要素、駐車レーン要素、または横断歩道要素のうちの少なくとも１つの表示を含む、
請求項１０ないし１２のいずれか一項に記載のシステム。
【請求項１４】
前記動作は、前記道路ネットワークデータおよび前記メッシュにアクセスすることと、少なくとも部分的に前記道路ネットワークデータを前記メッシュへと投影することに基づいて、前記道路ネットワークデータおよび前記メッシュを関連させることとをさらに含む、
請求項１０ないし１３のいずれか一項に記載のシステム。
【請求項１５】
前記動作は、
前記補完データの第１の部分と前記メッシュの第２の部分との間の高さ誤差を測定することと、
前記高さ誤差が誤差量の閾値を満たすか、または超えるかを判断することと、
変形格子を前記第１の部分または前記第２の部分の１つまたは複数に適用して、高さ誤差を低減させることと
をさらに含む、
請求項１０ないし１４のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、手続き的な世界の生成に関する。
【背景技術】
【０００２】
（優先権出願）
本ＰＣＴ国際出願は、２０１８年１０月１７日に出願された米国特許出願第１６／１６３，４７８号の優先権の継続および主張であり、これは、２０１８年８月９日に出願された「Procedural World and Agent Generation」と題する米国仮特許出願第６２／７１６，８３９の優先権を主張する。また、本ＰＣＴ国際出願は、２０１８年１０月１７日に出願された米国特許出願第１６／１６３，４６６号の優先権の継続および主張である。前述のすべての出願の内容全体は、参照により本明細書に組み込まれる。
【０００３】
模擬世界環境（「模擬環境」）は、さまざまな環境のレンダリングを含む。このようなレンダリングは、例えば、道路、車両、歩行者などを含んでよい。模擬環境は、訓練、テスト、および／またはシステムの認証を強化することに有用であってよい。模擬環境を生成する既存の技術は、コンピュータ的には集中的な、且つ時間のかかる手動の生成を必要とする。
【図面の簡単な説明】
【０００４】
詳細な説明は、添付の図面を参照して説明される。図面において、参照番号の最左端の桁は、参照番号が最初に現れる図面を同定する。異なる図面における同一の参照番号の使用は、類似、または同一のコンポーネント、または特徴を示す。
【０００５】
【図１】本明細書で説明されるように、模擬環境を手続き的にレンダリングする例示を図示する。
【図２Ａ】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【図２Ｂ】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【図２Ｃ】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【図２Ｄ】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【図２Ｅ】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【図２Ｆ】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【図３】本明細書で説明されるように、模擬環境を手続き的にレンダリングする例示的なシステムを図示するブロック図である。
【図４】本明細書で説明されるように、模擬環境を手続き的にレンダリングする例示プロセスを図示する。
【図５】本明細書で説明されるように、補完データを道路メッシュと統合させる例示的なプロセスを図示する。
【図６】本明細書で説明されるように、オブジェクトを模擬環境へとレンダリングする例示的なプロセスを図示する。
【発明を実施するための形態】
【０００６】
ここで説明される技術は、手続き的な世界の生成のさまざまな態様に向けられている。つまり、本明細書で説明される技術は、ナビゲーション、プラニング、および／または意思決定をする車両によって用いられるシステムおよび／またはコンポーネントをテスト、認証、または訓練する際に用いられる模擬世界を手続き的に生成することに向けられている。本明細書で説明される少なくともある例示において、このように生成された模擬世界は、実際の世界の環境を表現するよう生成されることができ、少なくともある例示において、可能な限り正確である。本明細書で説明される技術は、このような模擬環境がどのように生成されることができるかを説明する。
【０００７】
一例示において、本明細書で説明される技術は、実際の環境内でさまざまなセンサーシステムからセンサーデータを受信することに向けられる。センサーシステムは、光検出および測距（ＬＩＤＡＲ）センサー、無線検出および測距（ＲＡＤＡＲ）センサー、超音波トランスデューサー、音波航法および測距（ＳＯＮＡＲ）センサー、飛行時間（ＴｏＦ）センサー、位置センサー（例えば、全地球測位システム（ＧＰＳ）、コンパスなど）、慣性センサー（例えば、慣性測定ユニット、加速度計、磁気計、ジャイロスコープなど）、カメラ（例えば、ＲＧＢ、ＩＲ、強度、深度など）、ホイールエンコーダー、マイク、環境センサー（例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど）などを含んでよいが、これらに限定されない。センサーデータを用いることで、本明細書で説明される技術は、実際の環境に関連付けられる道路ネットワークデータ、および実際の環境に関連付けられる道路メッシュを生成、受信、および／またはそうでなければアクセスすることが可能である。本明細書で説明される技術は、道路ネットワークデータを道路メッシュに関連付け、模擬環境を生成することが可能である。つまり、実際の環境を表現するデータが模擬環境を生成することに用いられることが可能である。ある例示において、模擬環境は、第３のデータ（例えば、第３者からのデータ）で補完されることが可能であり、これは、本明細書で「補完データ」として参照されてよい。本明細書で説明される技術は、さらに、オブジェクトおよび表面の詳細を模擬環境へと手続き的にレンダリングすることに向けられる。結果として生じる模擬環境は、ナビゲーション、プラニング、および／または意思決定のための自律走行車のような自律型ロボットのコンピューティングデバイスによって用いられる、システムおよび／またはコンポーネントをテスト、認証、および／または訓練することに用いられてよい。
【０００８】
模擬環境は、訓練、テストを強化すること、および／または自律走行車に搭載されたシステム（例えば、人工知能（ＡＩ）スタックの１つまたは複数のコンポーネント）を認証することに用いられることが可能である。例えば、少なくとも１つの例示において、模擬環境は、自律走行車（例えば、このようなシステムで用いられるモデル）に搭載されて用いられる訓練システムに有用であってよく、例えば、実際のデータが容易に利用できない場合と、実際の環境内でテストすることが安全ではない場合と、そうでなければ利用できるより多くのデータの大きさを生成するためとがある。少なくとも１つの例示において、模擬環境は、まれなもしくは低い頻度で発生する状況、および／またはオブジェクトのための訓練データを生成することに用いられてよい。さらに、模擬環境は、例えば、実際の環境が利用できないか、もしくは安全ではない場合のいずれか、またはそうでなければグラウンドトゥルースが利用できない場合に、自律走行車（例えば、モデルおよび／またはシステムがその上で実行されている場合）の性能をテストすることに有用であってよい。
さらに、ある例示において、模擬環境に関連付けられるセンサーデータは、（例えば、オクルージョン、ノイズ、ドリフトなどに起因して）実際の環境に関連付けられるセンサーデータより正確である場合があり、それ故、模擬環境は、実際の環境に関連して得られた観測を検証することに用いられてよい。ある例示において、模擬環境は、（例えば、自律走行車に搭載された１つまたは複数のセンサーシステムの）較正に用いられてよい。上記のように、本明細書で説明される技術は、さまざまな状況において、模擬環境を生成することおよび模擬環境に用いられることに向けられている。
【０００９】
本明細書で説明される技術は、さまざまな計算効率を提供する。例えば、本明細書で説明される手続き的なレンダリング技術を用いることによって、コンピューティングデバイスは、より少ない計算リソースを必要とし、模擬世界は、従来の技術を介して利用できるものより速く生成されることが可能である。従来の技術は、スケーラブルではない。例えば、新しい地理的位置の模擬環境を生成することは、従来の技術を用いて、数日、または数か月かかることさえある。自律走行車に搭載された訓練システム、テストシステム、および／または認証システム（例えば、ＡＩスタックの１または複数のコンポーネント）に必要とされる数である、数十、数百、および数千の新しい模擬環境を生成すること（例えば、このような自律走行車が対応する新しい実際の環境に配置される前に）は、数か月、または数年さえかかることで、新しい実際の環境へと入る前に自律走行車に搭載されたこのような訓練システム、テストシステム、および／または認証システム（例えば、ＡＩスタックの１つまたは複数のコンポーネント）の能力を制限する。本明細書で説明される技術は、実際の環境から収集されるセンサーデータを活用して、そのデータを三次データで補完し、従来の技術で利用できるものより効率的に（例えば、対応する実際の環境に対して）実質的に正確な模擬環境を生成するという点で先行技術とは異なる。さらに、本明細書で説明される技術は、オブジェクトおよび／もしくは表面の詳細の追加をランダム化ならびに／またはパラメーター化することによって、模擬環境の外観をカスタマイズするように、大規模でスケーラブルな模擬環境をより少ない時間、且つより少ない計算リソースで生成することを可能とする。
【００１０】
さらに、本明細書で説明される技術は、安全性における改善に向けられている。つまり、本明細書で説明される生成技術から生じる模擬環境は、自律走行車に搭載された、テストシステム、訓練システム、および認証システムに用いられることが可能であり、このようなシステムを保証することは、実際の環境内で配置された場合に、自律走行車を安全に操作することが可能である。つまり、本明細書で説明される生成技術から生じる模擬環境は、プランナシステムをテスト、訓練、および認証することに用いられることが可能であり、これは、自律走行車が実際の環境内で軌道に沿って自律走行車をナビゲーションすることに用いられてよい。したがって、本明細書で説明される技術によって可能となるこのような訓練、テスト、および認証は、自律走行車が実際の世界の環境内で安全に動作することが可能であることを保証する機会を提供することが可能である。それ故、本明細書で説明される技術は、安全で影響力のあるナビゲーションを改善する。
【００１１】
図１は、本明細書で説明されるような手続き的な世界の生成を表現する概略図１００を図示する。一例示において、１つまたは複数のコンピューティングデバイスは、本明細書で説明されるように、模擬環境を手続き的にレンダリングすることが可能である。
【００１２】
少なくとも１つの例示において、データ収集デバイス１０２は、センサーシステム１０４を利用し、実際の環境に関連付けられるセンサーデータ１０６を収集することが可能である。上記のように、センサーシステム１０４は、ＬＩＤＡＲセンサー、ＲＡＤＡＲセンサー、超音波トランスドューサー、ＳＯＮＡＲセンサー、ＴｏＦセンサー、位置センサー（例えば、ＧＰＳ、コンパスなど）、慣性センサー（例えば、慣性測定ユニット、加速度計、磁気計、ジャイロスコープなど）、カメラ（例えば、ＲＧＢ、ＩＲ、強度、深度など）、ホイールエンコーダー、マイク、環境センサー（例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど）などを含んでよいが、これらに限定されない。センサーシステム１０４は、センサーデータ１０６を出力してよく、これは、コンピューティングデバイスによって受信されてよい。ある例示において、データ収集デバイス１０２は、図１に図示されるように、実際の環境を横断する自律走行車であってよい。しかしながら、データ収集デバイス１０２は、実際の環境内で、センサーデータ１０６を収集することが可能である任意のコンピューティングデバイスであってよい。
【００１３】
コンピューティングデバイスは、道路ネットワークデータ１０８および／または道路メッシュ１１０を受信、生成、および／またはそうでなければアクセスしてよく、これは、少なくとも部分的にセンサーデータ１０６に基づいてよい。少なくとも１つの例示において、道路ネットワークデータ１０８は、例えば、運転レーン要素、自転車レーン要素、駐車レーン要素、横断歩道要素、交差点要素、レーン分割要素、信号機要素、一時停止標識要素、停止線要素、譲れ標識要素、譲れ線要素、ドライブウェイ要素、スピードバンプ要素、ジェイウォーキング領域（例えば、仮想横断歩道）、軌道通過点（例えば、周知の軌道）、乗員ピックアップポイント、標識位置要素、ジオフェンス要素などの１つまたは複数を示す２次元（２Ｄ）表現または３次元（３Ｄ）表現であってよい。ある例示において、道路ネットワークデータ１０８は、道路ネットワークデータの特定の部分の属性を示す情報で符号化されてよい。例えば、道路ネットワークデータ１０８における道路線は、道路線が自転車レーン要素、駐車レーン要素、または横断歩道要素に関連付けられていることを示す情報で符号化されることが可能である。
【００１４】
道路メッシュ１１０は、３Ｄタイル（これは、以下で説明されるように、位置決めシステムによって出力されてよい）を含んでよい。このような道路ネットワークデータ１０８および／または道路メッシュ１１０に関連付けられる追加の詳細は、２０１８年３月２１日に出願された米国特許出願第１５／９２７，８０６号および２０１８年３月６日に出願された米国特許出願第１５／９１３，６４７号において説明され、その両方のすべての内容は、参照により本明細書に組み込まれる。コンピューティングデバイスは、道路ネットワークデータ１０８を道路メッシュ１１０に関連付け、模擬環境１１２を生成することが可能である。このような統合は、少なくともあるインスタンスにおいて、（２Ｄデータまたは３Ｄデータとして）道路ネットワークデータ１０８を道路メッシュ１１０へと投影することを含んでよい。つまり、本明細書で説明される技術は、実際の世界のデータ（例えば、センサーデータ１０６）に基づいて、模擬環境（例えば、模擬環境１１２）を生成することに向けられている。
【００１５】
結果として生じる模擬環境１１２は、（例えば、対応する実際の環境を考慮して）正確な高さおよび表面の詳細を含んでよい。しかしながら、ある例示において、例えば、道路メッシュ１１０を構築している場合に、オクルージョン（例えば、駐車している車、狭い路地など）に起因して、模擬環境内に欠損（例えば、不完全なデータ）があってよい。少なくとも１つの例示において、コンピューティングデバイスは、既存の模擬環境を補完する第２の代替データソースにアクセスする（例えば、且つ欠損を埋める）ことが可能である。例えば、少なくとも１つの例示において、コンピューティングデバイスは、第３者のソースおよび／またはシステム１１４からのデータにアクセスすることが可能であり、このような補完データ１１６を活用し、既存の模擬環境１１２を補完することが可能である。補完データ１１６は、現在のデータセット（例えば、道路ネットワークデータ１０８および道路メッシュ１１０）を超えることが可能であることによって、補完データ１１６は、データ収集技術に関連付けられるオクルージョンおよび／またはその他の欠陥に起因して、データ収集デバイス１０２がそうでなければ利用できない実際の環境に関連付けられる情報を提供する。少なくとも１つの例示において、補完データ１１６は、米国地質調査所（ＵＳＧＳ）のデータ評価モデル（ＤＥＭ）データなどを含んでよい。ＵＳＧＳのＤＥＭデータは、ラスター標高データ（例えば、数値標高マップ）を有するデータセットを含んでよい。ＵＳＧＳのＤＥＭデータは、関連するデータ（例えば、道路ネットワークデータおよび道路メッシュ）程正確ではない場合があるが、ＵＳＧＳのＤＥＭデータは、多くの場合、より完全である。つまり、ＵＳＧＳのＤＥＭデータは、欠損を有さない場合があるので、このようなデータは、（例えば、データ収集におけるオクルージョンまたは他の欠陥に起因して）データが欠測しているデータセットを補完することに用いられることが可能である。追加または代替の例示において、補完データ１１６は、実際の環境に関連付けられるツリーマップデータ、実際の環境に関連付けられるカラー画像データ、環境に関連付けられるマップデータなどを含んでよい。
【００１６】
さらに、コンピューティングデバイスは、環境内のオブジェクトの特性に関連付けられるデータを活用し、模擬環境１１２をさらに補完することが可能である。少なくとも１つの例示において、コンピューティングデバイスは、格納されたオブジェクトのフットプリントデータストレージ１１８にアクセスすることが可能であり、これは、建物または他の静止オブジェクトのフットプリントを表現する格納されたオブジェクトデータ１２０を格納する。ある例示において、このようなフットプリントは、高さ、分類（例えば、住宅、商業など）などに関するアノテーションに関連付けられることが可能である。コンピューティングデバイスは、ファサード部分およびルールセットを生成するガイドメッシュとして、フットプリントおよび関連するアノテーション（例えば、格納されたオブジェクトデータ１２０）を利用することが可能である。例えば、一例示において、コンピューティングデバイスは、ルールセットを個々の格納されたオブジェクトのフットプリントに関連付けることが可能である。ルールセットは、オブジェクトのさまざまな部分に関連付ける表面の詳細および／またはテクスチャを示すことが可能である。このようなルールセットは、ランダムに、または１つもしくは複数のパラメーター（例えば、高さ、分類など）に基づいて、個々の格納されたオブジェクトのフットプリントに関連付けられることが可能である。このようなルールセットは、格納されたオブジェクトのフットプリントに対応するオブジェクトのファサード部分を生成する方法を示すことが可能である。例えば、ルールセットは、ファサード部分を生成することに用いられてよいテクスチャへの参照を含んでよい。非限定的な例示として、ルールセットは、商業オフィスビルの１階に特定のメッシュ、テクスチャなど（例えば、建物の分類）を用いること、このような建物などの２階（および続く階）に異なるメッシュ、テクスチャなどを用いることを示してよい。それ故、ルールセットの実行は、表面の詳細（例えば、ファサード）を模擬環境内でオブジェクトに追加することが可能である。このような詳細の追加は、実際の外観の模擬環境が手続き的に生成されることを可能とする。例えば、ファサードの詳細は、影付け機能および／または窓の反射に影響を与える場合があり、これは、模擬環境に複雑さを加えることが可能であることによって、実際の状態を表現する。
【００１７】
少なくとも１つの例示において、建物のフットプリント、高さ、テクスチャリング、および分類をランダムに定義してよい。これらのフットプリントに関連付けられるデータがマップ内での位置の指示を有さない例示（例えば、フットプリントがランダムに決定された場合、マップに依存しないフットプリントのデータストレージから取得された場合など）において、このようなフットプリントは、整列されるか、またはそうではない場合配置されてよく、そうすることによって、少なくとも１つのファサードが道路ネットワークにおける車道と整列するように配置され、１つまたは複数のルール（例えば、車道から特定の距離に配置され、分類に基づいて、他の建物から最小または最大の距離、特定の方向に向けられているなど）などに従って間隔が空けられる。このようなルールセットが適用された場合に、もっともらしい外観の建物は、模擬環境１１２において自動的に（例えば、人間のモデリングなしで）生成されることが可能である。このようなルールを利用することで、設計者の時間および／または計算リソースに多大な投資をすることなく、外観の異なる模擬環境を手続き的に生成することを可能とする。つまり、このようなルールを利用することは、（例えば、比較的単純なルールを介して）複雑な模擬環境が生成されることが可能である効率を高める。
【００１８】
ある例示において、コンピューティングデバイスは、テクスチャリングデータを利用し、例えば、リアルタイムのレンダリングの間に、模擬環境１１２に表面の詳細を追加することが可能である。このような例示において、コンピューティングデバイスは、表面の詳細データストレージ１２２にアクセスすることが可能であり、これは、表面の詳細データ１０６を格納する。表面の詳細データ１０６、これは、「テクスチャリングデータ」とも称され、模擬環境１１２内のオブジェクトに追加されてよい詳細（例えば、欠陥、パッチ、マーキングなど）を含んでよく、このようなオブジェクトを（技術者の作業負荷を大幅に増加させることなく、または、そうでなければ必要となるアルゴリズム的にカスタマイズするための追加の計算をすることなく）固有に見えるようにさせる。少なくとも１つの例示において、コンピューティングデバイスは、まばらな仮想テクスチャを利用し、１回の描画で模擬環境１１２をレンダリングすることを可能とし、これは、性能を向上させ、且つ計算リソースを低減させる。このような例示において、それぞれのサーフェル（例えば、表面の要素）は、（識別のような）固有のデータに関連付けられてよく、これによって、個々のサーフェルが割り当てられ、アドレスが指定され、さらにアサインされてよい。さらに、ある例示において、コンピューティングデバイスは、模擬環境１１２内でレンダリングされるオブジェクトのそれぞれの表面に複数のブラシストローク状のデカールを追加することができる。少なくともある例示において、さまざまなデカールは、さまざまな領域および構造の分類に適用され（例えば、写実的な汚れや煤、落書き、ゴミなどは、例えば、路地における建物のファサードに適用されてよい）、任意の手続きベースのテクスチャリングを変更（例えば、関連する分類が与えられた表面の上にテクスチャのパターンを適用）することができる。本明細書で説明される技術は、設計者にいくつかの異なるテクスチャをモデル化させることを可能とし、これは、模擬環境１１２全体で用いられることが可能である。表面の詳細を模擬環境１１２に追加することは、模擬環境１１２内および模擬環境１１２と他の模擬環境との間で多様性を高めることが可能である。
【００１９】
結果として生じる模擬環境１３４は、模擬コンピューティングシステムによる使用のために出力されてよい。少なくとも１つの例示において、模擬環境１３４は、自律走行車に搭載された訓練システム、テストシステム、および／または認証システム（例えば、ＡＩスタックの１つまたは複数のコンポーネント）を強化することに有用であってよい。例えば、少なくとも１つの例示において、模擬環境１３４は、自律走行車（例えば、このようなシステムで用いられるモデル）に搭載されて用いられる訓練システムに有用であってよく、例えば、実際のデータが容易に利用できない場合と、実際の環境内でテストすることが安全ではない場合と、そうでなければ利用できるより多くのデータの大きさを生成するためとがある。少なくとも１つの例示において、模擬環境１３４は、まれなもしくは低い頻度で発生する状況、および／またはオブジェクトのための訓練データを生成することに用いられてよい。さらに、模擬環境１３４は、例えば、実際の環境が利用できないか、もしくは安全ではない場合のいずれか、またはそうでなければグラウンドトゥルースが利用できない場合に、自律走行車（例えば、モデルおよび／またはシステムがその上で実行されている場合）の性能をテストすることに有用であってよい。模擬環境を有することによって、人間ベースのデータのアノテーションを必要とはせずに、このような認証のために正確なグラウンドトゥルース測定値が決定されることが可能である。さらに、ある例示において、模擬環境１３４に関連付けられるセンサーデータは、（例えば、オクルージョン、ノイズ、ドリフトなどに起因して）実際の環境に関連付けられるセンサーデータより正確である場合があり、それ故、模擬環境１３４は、実際の環境に関連して得られた観測を検証することに用いられてよい。ある例示において、模擬環境１３４は、（例えば、自律走行車に搭載された１つまたは複数のセンサーシステムの）較正に用いられてよい。
【００２０】
図２Ａ〜図２Ｆは、本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【００２１】
上記のように、データ収集デバイス１０２は、センサーシステム１０４を介して実際の環境に関連付けられるセンサーデータ１０６を生成することが可能である。コンピューティングデバイスは、図２Ａに図示されるように、センサーデータ１０６を受信してよく、道路ネットワークデータ１０８を受信、生成、および／またはそうでなければアクセスしてよい。少なくとも１つの例示において、道路ネットワークデータ１０８は、例えば、運転レーン要素、自転車レーン要素、駐車レーン要素、横断歩道要素、交差点要素、レーン分割要素、信号機要素、一時停止標識要素、停止線要素、譲れ標識要素、譲れ線要素、ドライブウェイ要素、スピードバンプ要素、ジェイウォーキング領域（例えば、仮想横断歩道）、軌道通過点（例えば、周知の軌道）、乗員ピックアップポイント、標識位置要素、ジオフェンス要素などの１つまたは複数を示す２Ｄ表現または３Ｄ表現であってよい。さらに、コンピューティングデバイスは、道路メッシュ１１０を生成することが可能である。少なくとも１つの例示において、図２Ｂに図示されるように、センサーデータ１０６は、ＬＩＤＡＲデータを含んでよく、これは、実際の環境を表現する３Ｄの点群を生成することに用いられてよい。少なくとも１つの例示において、コンピューティングデバイスは、３Ｄの点群に基づいて道路メッシュ１１０を生成することが可能である。道路メッシュ１１０は、３Ｄタイル（これは、以下で説明されるように、位置決めシステムによって出力されてよい）を含んでよい。コンピューティングデバイスは、道路ネットワークデータ１０８を道路メッシュ１１０に関連付け、模擬環境１１２を生成することが可能である。このような統合は、少なくともあるインスタンスにおいて、（２Ｄデータまたは３Ｄデータとして）道路ネットワークデータ１０８を道路メッシュ１１０へと投影することを含んでよい。
【００２２】
結果として生じる模擬環境１１２は、（例えば、対応する実際の環境を考慮して）正確な高さおよび表面の詳細を含んでよい。しかしながら、ある例示において、例えば、道路メッシュ１１０を構築する場合に、オクルージョン（例えば、駐車している車、狭い路地など）に起因して、模擬環境内（例えば、不完全なデータ）に欠損があってよい。少なくとも１つの例示において、コンピューティングデバイスは、既存の模擬環境を補完する第２の代替データソースにアクセスする（例えば、且つ欠損を埋める）ことが可能である。図２Ｃは、図２Ａおよび図２Ｂに表現されているように、実際の環境の同じ部分に対応する補完データ１１６の非限定的な例示を図示している。例えば、少なくとも１つの例示において、コンピューティングデバイスは、（例えば、道路ネットワークデータ１０８および／または道路メッシュ１１０を補完データ１１６と統合させることによって）第三者のソースおよび／またはシステム１１４からのデータにアクセスし、このような補完データ１１６を活用し、既存の模擬環境１１２を補完することが可能である。上記のように、補完データ１１６は、実際の環境に関連付けられるＵＳＧＳ ＤＥＭデータ、実際の環境に関連付けられるツリーマップデータ、実際の環境に関連付けられるカラー画像データ、環境に関連付けられるマップデータなどを含んでよい。
【００２３】
さらに、コンピューティングデバイスは、環境内のオブジェクトの特性に関連付けられるデータを活用し、模擬環境１１２をさらに補完することが可能である。少なくとも１つの例示において、コンピューティングデバイスは、格納されたオブジェクトのフットプリントデータストレージ１１８にアクセスすることが可能であり、これは、建物または他の静止オブジェクトのフットプリントを表現する格納されたオブジェクトデータ１２０を格納する。ある例示において、このようなフットプリントは、高さ、分類（例えば、住宅、商業など）などに関するアノテーションに関連付けられることが可能である。上記のように、コンピューティングデバイスは、ファサード部分を生成するガイドメッシュとして、フットプリントおよび関連するアノテーション（例えば、格納されたオブジェクトデータ１２０）を利用することが可能である。少なくとも１つの例示において、建物のフットプリント、高さ、テクスチャリング、ルールセット、および／または分類は、ランダムに定義されてよい。これらのフットプリントに関連付けられるデータがマップ内での位置の指示を有さない例示（例えば、フットプリントがランダムに決定された場合、マップに依存しないフットプリントのデータストレージから取得された場合など）において、このようなフットプリントは、整列されるか、またはそうではない場合配置されてよく、そうすることによって、少なくとも１つのファサードが道路ネットワークにおける車道と整列するように配置され、１つまたは複数のルール（例えば、車道から特定の距離に配置され、分類に基づいて、他の建物から最小または最大の距離、特定の方向に向けられているなど）などに従って間隔が空けられる。図２Ｄに図示されるように、このようなルールセットが適用された場合に、もっともらしい外観の建物は、模擬環境１１２内で自動的に生成されることが可能である。
【００２４】
ある例示において、コンピューティングデバイスは、テクスチャリングデータを利用し、例えば、リアルタイムのレンダリングの間に、模擬環境１１２に表面の詳細を追加することが可能である。このような例示において、コンピューティングデバイスは、表面の詳細データストレージ１３０にアクセスすることが可能であり、これは、表面の詳細データ１３２を格納する。表面の詳細データ１３２、これは、「テクスチャリングデータ」とも称され、模擬環境１１２内のオブジェクトに追加されてよい詳細（例えば、欠陥、パッチ、マーキングなど）を含んでよく、このようなオブジェクトを（技術者の作業負荷を大幅に増加させることなく）固有に見えるようにさせる。図２Ｅに図示されるように、少なくとも１つの例示において、コンピューティングデバイスは、まばらな仮想テクスチャを利用し、１回の描画で模擬環境１１２をレンダリングすることを可能とし、これは、性能を向上させ、且つ計算リソースを低減させる。このような例示において、それぞれのサーフェルは、（識別のような）固有のデータに関連付けられてよく、これによって、個々のサーフェルが割り当てられ、アドレスが指定され、さらにアサインされてよい。図２Ｅにおいて、説明の目的のために単一の英数字として描かれているが、このような識別は、それ程限定的であることを意味するものではない。さらに、ある例示において、コンピューティングデバイスは、模擬環境１１２内でレンダリングされるオブジェクトのそれぞれの表面に複数のブラシストローク状のデカールを追加することができる。少なくともある例示において、さまざまなデカールは、さまざまな領域および構造の分類に適用され（例えば、写実的な汚れや煤、落書き、ゴミなどは、例えば、路地における建物のファサードに適用されてよい）、任意の手続きベースのテクスチャリングを変更（例えば、関連する分類が与えられた表面の上にテクスチャのパターンを適用）する。
【００２５】
図２Ｆは、本明細書で説明されるように、結果として生じる模擬環境１３４の非限定的な例示を図示し、これは、自律走行車に搭載された訓練システム、テストシステム、および／または認証システム（例えば、ＡＩスタックの１つまたは複数のコンポーネント）を強化するためのものであってよい。つまり、ある例示において、結果として生じる模擬環境１３４は、自律走行車の車載システムによって用いられる訓練アルゴリズム、テストアルゴリズム、および／または認証アルゴリズムに用いられてよく、これは、自律走行車を制御することに用いられることに用いられてよい。
【００２６】
図３は、模擬環境を手続き的にレンダリングする例示的なシステムを図示するブロック図である。
【００２７】
少なくとも１つの例示において、車両３０２は、１つまたは複数の車両コンピューティングデバイス３０４、１つまたは複数のセンサーシステム３０６、１つまたは複数のエミッター３０８、１つまたは複数の通信接続３１０、少なくとも１つの直接接続３１２、および１つまたは複数のドライブシステム３１４を含んでよい。例示の目的で、車両３０２は、米国国家幹線道路交通安全局によって発行されたレベル５の分類に従って動作するよう構成される自律走行車であってよく、これは、運転者（または乗員）が車両を常に制御することを期待するのではなく、全体行程のすべての安全上重要な機能を実行することが可能である車両を説明している。このような例示において、車両３０２は、すべての駐車機能を含む、始動から停止までのすべての機能を制御するよう構成されてよいため、空いていてよい。これは単に例示であり、本明細書で説明されるシステムおよび方法は、運転者によって常に手動で制御される必要がある車両から、部分的または完全に自律的に制御されているものまでを含む任意の地上、空中、または水上車両へと組み込まれてよい。つまり、説明された例示において、車両３０２は、自律走行車であるが、車両３０２は、任意の他のタイプの車両であってよい。
【００２８】
少なくとも１つの例示において、車両３０２は、（例えば、データ収集デバイス１０２の）データ収集デバイスであってよい。追加のまたは代替の例示において、上記のＡＩスタックの１つまたは複数のコンポーネントが車両３０２に関連付けられてよい。つまり、本明細書で説明される模擬環境は、車両３０２を参照して以下で説明される１つまたは複数のコンポーネントを訓練、テスト、および／または認証することに用いられることが可能である。
【００２９】
車両コンピューティングデバイス３０４は、プロセッサ３１６およびプロセッサ３１６と通信可能に結合されたメモリ３１８を含んでよい。説明された例示において、車両コンピューティングデバイス３０４のメモリ３１８は、位置決めシステム３２０、知覚システム３２２、予測システム３２４、プラニングシステム３２６、および１つまたは複数のシステムコントローラ３２８を格納する。さらに、メモリ３１８は、ストレージ２３０を含んでよく、これは、マップ、モデルなどを格納してよい。マップは、トポロジー（交差点など）、車道、山脈、道路、地形、および一般的な環境などであるが、これらに限定されない環境についての情報を提供することが可能である、２次元、３次元、またはＮ次元でモデル化される任意の数のデータ構造であってよい。マップは、実際の環境または模擬環境に関連付けられてよい。モデルは、以下で説明されるように、マシンによって訓練されたモデルを含んでよい。
【００３０】
少なくとも１つの例示において、位置決めシステム３２０は、センサーシステム３０６および／またはマップに関連付けられる（例えば、マップの）マップデータから受信されるセンサーデータに少なくとも部分的に基づいて、ローカルマップおよび／またはグローバルマップに関連する車両３０２の姿勢（例えば、位置および向き）を決定することが可能である。少なくとも１つの例示において、位置決めシステム３２０は、較正すること（センサーシステム３０６のうちのいずれか１つまたは複数の関連付けられるさまざまな内因性および外因性パラメーターを決定すること）、位置決めすること、およびマッピングすることを実質的に同時に実行する操作を実行することが可能である較正システムを含むか、または関連付けられてよい。このようなシステムに関連付けられる追加の詳細は、２０１７年８月１１日に出願された米国特許出願第１５／６７５，４８７号に記載されており、これは、２０１７年８月１１日に出願された米国特許出願第１５／６７５，８５３号に関連し、これらの両方のすべての内容が参照により本明細書に組み込まれる。上記のように、位置決めシステム３２０は、センサーシステム３０６によって受信されるセンサーデータに基づいて、道路ネットワークデータおよび／または道路メッシュを出力することが可能である。
【００３１】
少なくとも１つの例示において、知覚システム３２２は、センサーシステム３０６から受信されるセンサーデータに少なくとも部分的に基づいて、オブジェクトの検出、セグメンテーション、および／または分類を実行することが可能である。少なくとも１つの例示において、知覚システム３２２は、（例えば、センサーシステム３０６から）生のセンサーデータを受信することが可能である。他の例示において、知覚システム３２２は、（例えば、センサーシステム３０６から）処理されたセンサーデータを受信することが可能である。例えば、少なくとも１つの例示において、知覚システム３２２は、カメラデータ（例えば、画像）を受信および処理する視覚システムからデータを受信することが可能である。少なくとも１つの例示において、視覚システムは、１つまたは複数の画像処理アルゴリズムを利用し、画像内で識別されるオブジェクトに対してオブジェクトの検出、セグメンテーション、および／または分類を実行することを可能とする。ある例示において、視覚システムは、境界ボックス（またはインスタンスセグメンテーションのような他の意味情報）を識別されるオブジェクトに関連付けてよく、識別されるオブジェクトの分類に関連付けられる信頼スコアを関連付けてよい。ある例示において、オブジェクトは、ディスプレイを介してレンダリングされた場合に、知覚されるクラスに基づいて色がつけられてよい。少なくとも他の例示において、同様のプロセス（検出、分類、セグメンテーションなど）は、１つまたは複数の他のモダリティ（例えば、ＬＩＤＡＲ、ＲＡＤＡＲ、ＴｏＦセンサーなど）のための知覚システム３２２によって実行されてよい。
【００３２】
予測システム３２４は、センサーシステム３０６からのセンサーデータ、（例えば、ストレージ２３０内に存在し得るマップの）マップに関連付けられるマップデータ、および／または知覚システム３２２から出力される知覚データ（例えば、処理されたセンサデータ）にアクセスしてよく、車両３０２の環境内の１つまたは複数のオブジェクトに関連付けられる予測を出力してよい。少なくとも１つの例示において、プラニングシステム３２６は、センサーシステム３０６から受信されるセンサーデータおよび／または知覚システム３２２によって実行される任意の決定に少なくとも部分的に基づいて、車両３０２を制御することに用いるルートおよび／または軌道を決定することが可能である。位置決めシステム、知覚システム、予測システム、および／またはプラニングシステムの追加の詳細は、２０１７年４月４日に発行された米国特許第９，６１２，１２３号、および２０１７年６月２３日に出願された米国特許出願第１５／６３２，２０８号において使用できることが認められてよく、これらの両方のすべての内容は、参照により本明細書に組み込まれる。ある例示において（例えば、車両３０２が自律走行車ではない場合）、前述のシステムおよび／またはコンポーネントの１つまたは複数を車両３０２から除いてよい。上記のシステムは、車両３０２に「搭載された」ものとして説明されているが、他の実装形態おいて、システムは、遠隔に配置され、および／または車両３０２にアクセス可能であってよい。
【００３３】
少なくとも１つの例示において、位置決めシステム３２０、知覚システム３２２、予測システム３２４、および／またはプラニングシステム３２６は、上記のようにセンサーデータを処理することが可能であり、ネットワーク３３２を介してそれぞれの出力をコンピューティングデバイス３３４に送信することが可能である。少なくとも１つの例示において、位置決めシステム３２０、知覚システム３２２、予測システム３２４、および／またはプラニングシステム３２６は、ほぼリアルタイムなどの所定の期間が経過した後で、特定の周波数でそれぞれの出力をコンピューティングデバイス３３４に送信することが可能である。
【００３４】
少なくとも１つの例示において、車両コンピューティングデバイス３０４は、１つまたは複数のシステムコントローラ３２８を含んでよく、これは、車両３０２のステアリング、推進、ブレーキ、安全性、エミッター、通信、および他のシステムを制御するよう構成されてよい。これらのシステムコントローラ３２８は、ドライブシステム３１４および／または車両３０２の他のコンポーネントに対応するシステムと通信および／または制御することが可能である。
【００３５】
少なくとも１つの例示において、センサーシステム３０６は、センサーシステム１０４に対応してよく、ＬＩＤＡＲセンサー、ＲＡＤＡＲセンサー、ＴｏＦセンサー、超音波トランスデューサー、ＳＯＮＡＲセンサー、位置センサー（例えば、ＧＰＳ、コンパスなど）、慣性センサー（例えば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど）、カメラ（例えば、ＲＧＢ、ＩＲ、強度、深度など）、マイクロフォン、ホイールエンコーダー、環境センサー（例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど）などを含む。センサーシステム３０６は、これらのそれぞれの多様なインスタンスまたは他のタイプのセンサーを含んでよい。例えば、ＬＩＤＡＲセンサーは、車両３０２の角部、前部、後部、側部、および／または上部に位置する個々のＬＩＤＡＲセンサーを含んでよい。別の例示として、カメラセンサーは、車両３０２の外部および／または内部のさまざまな位置に配置される多様なカメラを含んでよい。センサーシステム３０６は、車両コンピューティングデバイス３０４に入力を提供してよい。ある例示において、センサーシステム３０６は、センサーデータを車両コンピューティングデバイス３０４に送信する前に、センサーデータの少なくとも一部を前処理することが可能である。少なくとも１つの例示において、センサーシステム３０６は、ネットワーク３３２を介して、ほぼリアルタイムなどの所定の期間が経過した後で、特定の周波数でセンサーデータをコンピューティングデバイス３３４に送信することが可能である。
【００３６】
また、車両３０２は、上記のように、光および／または音を発する１つまたは複数のエミッター３０８を含んでよい。本例示におけるエミッター３０８は、内部音声および視覚エミッターを含み、車両３０２の乗員と通信する。例示の目的であり、限定ではなく、内部エミッターは、スピーカー、光、記号、ディスプレイ画面、タッチ画面、触覚エミッター（例えば、振動および／または力フィードバック）、機械的アクチュエータ（例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど）などを含んでよい。本例示におけるエミッター３０８は、外部エミッターも含む。例示の目的であり、限定ではなく、本例示における外部エミッターは、歩行者、他の運転者、他の近くの車両などと視覚的に通信する光エミッター（例えば、インジケーターライト、標識、ライトアレイなど）歩行者、他のドライバー、他の近くの車両などと音声で通信する１つまたは複数の音声エミッター（例えば、スピーカー、スピーカーアレイ、ホーンなど）などを含む。少なくとも１つの例示において、エミッター３０８は、車両３０２の外部および／または内部のさまざまな位置に配置されてよい。
【００３７】
また、車両３０２は、車両３０２と他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能とする通信接続３１０を含んでよい。例えば、通信接続３１０は、車両３０２および／またはドライブシステム３１４上の他のローカルコンピューティングデバイスとの通信を容易にすることが可能である。また、通信接続３１０は、車両が他の近くのコンピューティングデバイス（例えば、他の近くの車両、交通信号など）と通信することを可能とすることが可能である。また、通信接続３１０は、車両３０２が遠隔操作のコンピューティングデバイスと、または他の遠隔サービスと通信することを可能とする。
【００３８】
通信接続３１０は、車両コンピューティングデバイス３０４を別のコンピューティングデバイスまたはネットワーク３３２などのネットワークに接続する物理的および／または論理インターフェースを含んでよい。例えば、通信接続３１０は、ＩＥＥＥ８０２．１１規格によって定義される周波数などを介するＷｉ−Ｆｉベースの通信を可能とすることができ、ブルートゥース（登録商標）などの短距離無線周波数、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能とする任意の適切な有線または無線通信プロトコルを可能とすることができる。
【００３９】
直接接続３１２は、ドライブシステム３１４および車両３０２の他のコンポーネントを直接接続してよい。
【００４０】
少なくとも１つの例示において、車両３０２は、ドライブシステム３１４を含んでよい。ある例示において、車両３０２は、単一のドライブシステム３１４を有してよい。少なくとも１つの例示において、車両３０２が多様なドライブシステム３１４を有する場合、個々のドライブシステム３１４は、車両３０２の両端に（例えば、前部および後部など）に配置されてよい。少なくとも１つの例示において、ドライブシステム３１４は、ドライブシステム３１４の状態および／または車両３０２の周囲の状態を検出するセンサーシステムを含んでよい。例示の目的であり、限定ではなく、センサーシステムは、ドライブモジュールのホイールの回転を感知するホイールエンコーダー（例えば、ロータリーエンコーダー）、ドライブモジュールの位置および加速度を測定する慣性センサー（例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など）、カメラまたはその他の画像センサー、ドライブモジュールの周囲におけるオブジェクトを音声的に検出する超音波センサー、ＬＩＤＡＲセンサー、ＲＡＤＡＲセンサーなどを含んでよい。ホイールエンコーダーのようなあるセンサーは、ドライブシステム３１４に固有であってよい。ある場合において、ドライブシステム３１４にあるセンサーシステムは、車両３０２の対応するシステム（例えば、センサーシステム３０６）と重複または補完してよい。
【００４１】
ドライブシステム３１４は、高電圧バッテリー、車両３０２を推進するモーター、バッテリーからの直流電流を他の車両システムによって利用される交流電流へと変換するインバーター、ステアリングモーターおよびステアリングラック（これは、電動であってよい）を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および／または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し、且つ制御を維持するために制動力の分散をするスタビリティー制御システム、ＨＶＡＣシステム、照明（例えば、車両の外部周囲を照らすヘッド／テールライトなどの照明）、および１つまたは複数の他のシステム（例えば、冷却システム、安全システム、車載充電システム、ＤＣ／ＤＣコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのようなその他の電装コンポーネント）を含む多くの車両システムを含んでよい。さらに、ドライブシステム３１４は、ドライブモジュールコントローラを含んでよく、これは、センサーシステムからデータを受信し、且つ前処理をし、さまざまな車両システムの動作を制御することが可能である。ある例示において、ドライブモジュールコントローラは、プロセッサおよびプロセッサと通信可能に結合されたメモリを含んでよい。メモリは、１つまたは複数のモジュールを格納してよく、ドライブモジュール３１４のさまざまな機能を実行する。さらに、ドライブモジュール３１４は、また、それぞれのドライブモジュールと他のローカルと、または遠隔のコンピューティングデバイスとによって、通信を可能とする通信接続を含む。
【００４２】
ある例示において、車両コンピューティングデバイス３０４、センサーシステム３０６、エミッター３０８、および通信接続３１０は、例えば、模擬環境を「トラバースすること」に利用する模擬車両または模擬システムとして実際の車両の外部に実装されてよい。つまり、車両コンピューティングデバイス３０４、センサーシステム３０６、エミッター３０８、および通信接続３１０は、上記のような模擬の目的のために模擬自律走行車として用いられてよい。
【００４３】
上記のように、車両３０２は、ネットワーク３３２を介して、センサーデータをコンピューティングデバイス３３４に送信することが可能である。つまり、ある例示において、車両３０２は、図１を参照して上記で説明されるようにデータ収集デバイス１０２であってよい。本考察の目的のために、図１を参照して上記で説明されるコンピューティングデバイスは、車両コンピューティングデバイス３０４および／またはコンピューティングデバイス３３４を参照してよい。ある例示において、車両３０２は、生センサーデータをコンピューティングデバイス３３４に送信することが可能である。他の例示において、車両３０２は、処理されたセンサーデータおよび／またはセンサーデータの表現（例えば、位置決めシステム３２０、知覚システム３２２、予測システム３２４、および／またはプラニングシステム３２６から出力されるデータ）をコンピューティングデバイス３３４に送信することが可能である。ある例示において、車両３０２は、リアルタイムに近い時間などにおいて、所定の期間が経過した後で、センサーデータを特定の周波数でコンピューティングデバイス３３４に送信することが可能である。
【００４４】
コンピューティングデバイス３３４は、車両３０２および／または１つまたは複数のデータ収集デバイス３３６（これは、車両３０２のような他の車両を含んでよい）から（生または処理された）センサーデータを受信することが可能であり、同様に、１つまたは複数の第三者のソースおよび／またはシステム３３８からデータを受信することが可能である。少なくとも１つの例示において、コンピューティングデバイス３３４は、プロセッサ３４０およびプロセッサ３４０と通信可能に結合されたメモリ３４２を含んでよい。説明された例示において、コンピューティングデバイス３３４のメモリ３４２は、模擬システム３４４、訓練システム３４６、評価システム３４８、マップストレージ３５０（例えば、１つまたは複数のマップ、道路ネットワークデータ、道路メッシュなど）、訓練データストレージ３５２（例えば、訓練システム３４６にアクセス可能な訓練データを格納する）、モデルストレージ３５４（例えば、訓練システム３４６によって出力されるモデル）、格納されたオブジェクトのフットプリントデータストレージ３５６、および表面の詳細データストレージ３５８を格納する。ある例示において、１つまたは複数のシステムおよび／またはストレージリポジトリは、コンピューティングデバイス３３４のメモリ３４２に関連付けられることの代わりに、またはそれに加えて、車両３０２に関連付けられてよい。
【００４５】
模擬システム３４４は、模擬環境を生成することが可能である。少なくとも１つの例示において、模擬システム３４４は、図１〜図２Ｇを参照して上記で説明されるように、手続き的な生成（例えば、アルゴリズム的なデータの作成）を介して模擬環境を生成することが可能である。また、追加の詳細は、以下で説明される。少なくとも１つの例示において、模擬システム３４４は、格納されたオブジェクトのフットプリントデータストレージ３５６および／または表面の詳細データストレージ３５８にアクセスし、模擬環境を手続き的にレンダリングすることが可能である。１つの例示において、格納されたオブジェクトのフットプリントデータストレージ３５６は、図１を参照して上記で説明されるオブジェクトのフットプリントデータストレージ１１８に対応してよく、図１を参照し、上記で説明されるように、表面の詳細データストレージ３５８は、表面の詳細データストレージ１３０に対応してよい。ある例示において、格納されたオブジェクトのフットプリントデータストレージ３５６および／または表面の詳細データストレージ３５８は、図３に図示されるように、メモリ３４２の中に格納されてよい。追加または代替の例示において、格納されたオブジェクトのフットプリントデータストレージ３５６および／または表面の詳細データストレージ３５８は、遠隔に格納され、且つコンピューティングデバイス３３４にアクセス可能であってよく、および／またはそこに格納されたデータは、第三者のソースおよび／またはシステム３３８からコンピューティングデバイス３３４に提供されてよい。ある例示において、格納されたオブジェクトデータおよび／または表面のテクスチャデータは、ほぼリアルタイムで生成されることが可能である。
【００４６】
少なくとも１つの例示において、以下で説明されるように、模擬システム３４４は、模擬環境内でオブジェクトを手続き的にレンダリングすることが可能である。つまり、ある例示において、上記のデータ（例えば、３Ｄタイル、道路ネットワークデータ、補完データなど）は、対応する実際の環境と比較した場合にまだ欠陥を有する。このような例示において、模擬システム３４４は、さまざまな経験則を利用し、模擬環境内でオブジェクトをレンダリングすることが可能である。このようなオブジェクトの非限定的な例示において、街灯柱および／または街灯柱を信号機に接続する柱、駐車標識（例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である）、駐車メーター（例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である）、一時停止標識（例えば、これは、道路ネットワークデータから決定された停止線に基づいてレンダリングされることが可能である）などを含む。追加の詳細は、図６を参照して以下で説明される。
【００４７】
少なくとも１つの例示において、評価システム３４８は、知覚システム３２２（または知覚システム３２２へとデータを入力する別のシステム（例えば、視覚システム、ＬＩＤＡＲシステムなど））を用いて、対応する実際の環境に対して模擬環境、またはその一部がどれだけ現実的であるかを評価することが可能である。ある例示において、２つの環境（例えば、実際の環境対模擬環境）では、人間にとっては異なって見える場合があるが、例えば、本明細書で定義されているようなロボットシステム（例えば、自律走行車）にとっては（例えば、ニューラルネットワークのアクティブ化に基づいて）同じように知覚される場合がある。少なくとも１つの例示において、評価システム３４８は、機械で訓練されたモデルを用いてデータを分析し、模擬環境の本物らしさを評価することが可能である。例えば、少なくとも１つの例示において、評価システム３４８は、システム（例えば、視覚システム、ＬＩＤＡＲシステムなど）に関連付けられる（例えば、模擬環境に基づく）ニューラルネットワークの第１の中間出力を（例えば、対応する実際の環境に基づく）ニューラルネットワークの第２の中間出力と分析することが可能であり、模擬環境に関連付けられるニューラルネットワークのアクティブ化が、対応する実際の環境に関連付けられるニューラルネットワークのアクティブ化と比較された場合に、どれだけ類似しているか表現し得る類似性測定基準（例えば、差）を決定することが可能である。
【００４８】
少なくともある例示において、このようなアクティブ化は、入力空間の領域を対応するグリッドへと離散化し、且つ入力データおよび比較データに対して関連するグリッドにおけるアクティブ化のヒストグラムを構築することによって比較することが可能である。一度決定されると、ヒストグラムは、例えば、サポートベクターマシン（ＳＶＭ）によって分析されてよく、ここで、距離（例えば、統計的な距離）は、２つのデータセットがどれだけ類似しているかを判断することに用いられる。ある例示において、異なるセンサーのデータタイプは、異なる関心のあるパラメーター（例えば、模擬環境の本物らしさを改善するために調整される異なるパラメーター）に関連付けることができる。例えば、視覚システムでは、関心のあるパラメーターは、明るさ、露出などであってよく、ＬＩＤＡＲシステムでは、関心のあるパラメーターは、角度、距離、強度、センサーモダリティーなどであってよい。
【００４９】
少なくとも１つの例示において、訓練システム３４６は、どのパラメーターが知覚システム３２２にとって重要であるか（例えば、知覚システム３２２が実際の環境を知覚しているかのように模擬環境を知覚し得るためには、どのパラメーターが重要であるか）を学習するデータモデルを訓練することが可能である。つまり、少なくとも１つの例示において、訓練システム３４６は、データモデルを訓練し、１つまたは複数の識別されるパラメーターに基づいて本物らしさを評価することが可能である。訓練および／またはこのようなモデルの使用に関連する追加の詳細は、２０１８年１０月１７日に本明細書と同時にこのようにして出願された米国特許出願第１６／１６３，４３５号に記載されており、そのすべての内容は参照により本明細書に組み込まれる。
【００５０】
上記のように、少なくとも１つの例示において、評価システム３４８は、（例えば、上記のように）機械で訓練されたモデルを用いてデータを分析し、模擬環境の本物らしさを評価することが可能である。つまり、評価システム３４８は、模擬環境を分析し、対応する実際の環境がニューラルネットワークをどのようにアクティブ化するのかと同様に、このような模擬環境がニューラルネットワークをアクティブ化するかを判断することが可能である。少なくとも１つの例示において、評価システム３４８は、機械で訓練されたモデルを利用し、実際の環境に関連付けられる第１の中間出力と対応する模擬環境に関連付けられる第２の中間出力とを比較して、第１の中間出力と第２の中間出力との間の類似性の表現である類似性測定基準（例えば、差、距離など）を決定することが可能である。ある例示において、第１の中間出力および第２の中間出力は、画像、データの一部（例えば、データに関連付けられる個々のオブジェクトに対応するもの）などから導出されてよい。例えば、少なくとも１つの例示において、第１の中間出力は、実際の環境に関連付けられる画像における第１の知覚オブジェクトに関連付けられてよく、第２の中間出力は、模擬環境に関連付けられる画像における第２の知覚オブジェクトに関連付けられてよい。類似性測定基準（例えば、差、距離など）が閾値を満たさない場合（例えば、第１の中間出力および第２の中間出力は、類似している）、評価システム３４８は、模擬環境が実際の環境を現実的に表現している（例えば、ニューラルネットワークのアクティブ化は、類似している）と判断することが可能である。しかしながら、類似性測定基準（例えば、差、距離など）が閾値を満たすか、または超える場合、評価システム３４８は、１つまたは複数のパラメーターを調整し、１つまたは複数の測定基準への変化を観察することが可能である。例えば、評価システム３４８は、写実性を改善するために、明るさ、露出などのパラメーターを調整することが可能である。
【００５１】
上記のように、模擬環境は、訓練、テスト、および／または車両３０２のような自律走行車に搭載された認証システム（例えば、ＡＩスタックの１つまたは複数のコンポーネント）を強化することに有用であってよい。少なくとも１つの例示において、模擬環境は、実際の環境からの訓練データが不十分である（例えば、まれなオブジェクト、まれな状況などであることだが）訓練データモデルのために有用であってよい。このような例示において、結果として生じるデータモデルは、車両３０２によってプロビジョニングされるか、またはアクセス可能であってよく、車両３０２は、リアルタイム（例えば、実際の環境内で運転している間、またはそうでなければ動作している間）で、オブジェクトを分類するデータモデルを利用することが可能である。つまり、知覚システム３２２は、（模擬環境に関連付けられる模擬データに基づいて訓練された）搭載されたデータモデルを利用し、ほぼリアルタイムでオブジェクトを分類することが可能である。
【００５２】
非限定的な例示として、実際の環境からの訓練データは、車両３０２を訓練するためには不十分であり、まれなイベント／オブジェクト（例えば、頻繁に見られない信号機のタイプ）を認識する。少なくとも１つの例示において、模擬環境を実際の環境と比較することによって、データモデルは、特定のパラメーターが交通信号分類器の訓練にとって重要であることを学習することができる。例えば、このようなパラメーターは、電球の変色、陰影、レンズの歪み、信号機の汚れ、フィラメントの焼き切れ、明るさの変化、電球の回転、電球の強度などを含んでよい。パラメーターの識別に基づいて訓練システム３４６は、交通信号に関連付けられる模擬環境を調整することが可能であり、調整された模擬環境に基づいて交通信号分類器を訓練することが可能である。このような分類器は、車両３０２によってプロビジョニングされるか、またはアクセス可能であってよく、車両３０２は、リアルタイムで信号機を分類するデータモデルを利用することが可能である。例えば、知覚システム３２２は、（模擬環境を生成することに用いられる模擬データに基づいて訓練された）搭載された分類器をほぼリアルタイムで利用し、交通信号を分類することが可能である。つまり、上記のように、少なくとも１つの例示において、分類器は、模擬データで訓練されてよく、実際のデータを評価することに用いられてよい。ある例示において、分類器は実際のデータで訓練されてよく、模擬データを用いて認証されてよい。このような例示において、識別される相違は、分類器を改善することに用いられてよい。少なくともある例示において、このようなまれな例示は、例えば、模擬画像データに基づく交通信号検出器、実際のデータで実行している検出器、および検出が見落とされた場所を決定することを訓練することによって識別されてよい。同様に、模擬パラメーターが正しくないと判断することは、実際のデータでアルゴリズム（例えば、上記と同一の検出器）を訓練すること、模擬データでこのような検出器を実行させること、および見落とされたオブジェクトを検出することを含んでよい。
【００５３】
さらに、模擬環境は、位置決めシステム３２０によって用いられる位置決めアルゴリズムを認証および／または更新することに有用であってよい。例えば、実際の環境内で、ＧＰＳセンサーは、位置のずれを経験し、結果として誤差を蓄積する場合がある。したがって、車両３０２を位置決めすることに用いられる位置決めアルゴリズムを認証するために、評価システム３４８は、模擬環境を用いてよく、ここで、車両３０２の姿勢がさまざまな時間（すべての時間を含む）で周知であり、（例えば、位置および／または方向のグラウンドトゥルースとして、模擬姿勢に依存することによって）対応する実際の環境に関連付けられるセンサーデータを評価して、位置決めアルゴリズムを認証する。このような例示において、センサーシステム３０６は、模擬環境に関連付けられるセンサーデータを生成してよく、センサーデータは、知覚システム３２２によって分析されてよい。知覚システム３２２（例えば、実際の環境内の位置に関連付けられている）の出力は、模擬環境内で対応する位置に関連付けられているセンサーデータを考慮して認証されてよい。つまり、模擬環境内の位置に関連付けられるセンサーデータは、実際の環境内で対応する位置のグラウンドトゥルースとして機能してよい。一例示として、模擬環境（例えば、車両３０２の姿勢が周知である場合）に関連して記録されるＬＩＤＡＲデータは、実際の環境内で対応する位置に関連して記録されるＬＩＤＡＲデータと比較されてよく、位置決定アルゴリズムは、適宜更新されてよい。さらに、模擬環境は、センサーシステム３０６のＲＡＤＡＲまたは他のセンサーを認証することに有用であってよい。ある例示において、模擬環境は、（例えば、センサーシステム１０６の）センサーを較正するグラウンドトゥルースデータを提供することが可能である。他の例示は、模擬におけるロールシャッターの認証、さまざまなセンサーの（例えば、１つまたは複数の内因性または外因性の）較正などを含むが、これらに限定されない。理解されるように、本明細書で説明される技術は、他のさまざまなシステム、サブシステムなどの認証、較正、訓練などに用いられてよい。
【００５４】
車両３０２のプロセッサ３１６およびコンピューティングデバイス３３４のプロセッサ３４０は、本明細書で説明されるようにデータを処理し、且つ操作を実行する命令を実行することが可能である任意の適切なプロセッサであってよい。限定ではなく例示として、プロセッサ３１６および３４０は、１つまたは複数の中央処理装置（ＣＰＵ）、グラフィック処理装置（ＧＰＵ）、または電子データを処理して、その電子データをレジスタおよび／またはメモリに格納し得る他の電子データへと変換する任意の他のデバイスまたはデバイスの一部を含んでよい。ある例示において、関連回路（例えば、ＡＳＩＣなど）、ゲートアレイ（例えば、ＦＰＧＡなど）、および他のハードウェアデバイスは、また、それらが符号化された命令を実装するよう構成される限り、プロセッサとみなしてよい。
【００５５】
メモリ３１８および３４２は、非一時的なコンピュータ可読媒体の例示である。メモリ３１８およびメモリ３４２は、オペレーティングシステムおよび１つまたは複数のソフトウェアアプリケーション、命令、プログラム、および／またはデータを格納してよく、本明細書で説明される方法およびさまざまなシステムに起因する機能を実装する。さまざまな実装において、メモリは、スタティックランダムアクセスメモリ（ＳＲＡＭ）、シンクロナスダイナミックＲＡＭ（ＳＤＲＡＭ）、不揮発性／フラッシュタイプメモリ、または情報を格納し得る他の任意のタイプのメモリのような任意の適切なメモリ技術を用いて実装されてよい。本明細書で説明されるアーキテクチャ、システム、および個々の要素は、他の多くの論理的、プログラム的、および物理的なコンポーネントを含んでよく、それらが添付図面において図示されるものは、単に本明細書での説明に関連する例示にすぎない。
【００５６】
図３は、分散システムとして図示されている一方で、代替の例示において、車両３０２のコンポーネントは、コンピューティングデバイス３３４に関連付けられてよく、および／またはコンピューティングデバイス３３４のコンポーネントは、車両３０２に関連付けられてよいということに注意されたい。つまり、車両３０２は、コンピューティングデバイス３３４に関連付けられる機能の１つまたは複数を実行してよく、逆もまた同様である。
【００５７】
図４〜図６は、本明細書で説明される技術を含む例示的な方法を図示するフローチャートである。図４〜図６に図示される方法は、利便性および理解の容易さのために図３に図示されるシステム３００を参照して説明される。しかしながら、図４〜図６に図示される方法は、システム３００を用いて実行されることに限定されない。さらに、本明細書で説明されるシステム３００は、図４〜図６に図示される方法を実行することに限定されない。
【００５８】
方法４００〜６００は、論理フローグラフにおけるブロックの集合として図示されており、ここで、ハードウェア、ソフトウェア、またはそれらの組み合わせで実施され得る一連の操作を表現する。ソフトウェアのコンテキストにおいて、ブロックは、プロセッサによって実行された場合に、列挙された操作を実行する１つまたは複数のコンピュータ可読媒体に格納されたコンピュータ実行可能命令を表現する。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象的なデータタイプを実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。操作が記載された順序は、制限として解釈されることを意図するものではなく、任意の数の記載されたブロックは、任意の順序および／または並行して組み合わされてよく、プロセスを実装する。操作が記載された順序は、制限として解釈されることを意図するものではなく、任意の数の記載されたブロックは、任意の順序および／または並行して組み合わされてプロセスを実装してよい。ある例示において、プロセス１つまたは複数のブロックは、完全に除かれてよい。さらに、方法４００〜６００は、全体的もしくは部分的に互いに、または他の方法で組み合わされてよい。
【００５９】
図４は、模擬環境を生成する、および／または訓練、テスト、認証などのために模擬環境を用いるために例示的なプロセス４００を図示する。
【００６０】
ブロック４０２は、道路ネットワークデータにアクセスすることを示している。車両コンピューティングデバイス３０４は、道路ネットワークデータを受信、生成、および／またはそうでなければアクセスすることが可能である。ある例示において、道路ネットワークデータは、少なくとも部分的にセンサーデータに基づいてよい。少なくとも１つの例示において、道路ネットワークデータは、例えば、運転レーン要素、自転車レーン要素、駐車レーン要素、横断歩道要素、交差点要素、レーン分割要素、信号機要素、一時停止標識要素、停止線要素、譲れ標識要素、譲れ線要素、ドライブウェイ要素、スピードバンプ要素、ジェイウォーキング領域（例えば、仮想横断歩道）、軌道通過点（例えば、周知の軌道）、乗員ピックアップポイント、標識位置要素、ジオフェンス要素などの１つまたは複数を示す２Ｄ表現または３Ｄ表現であってよい。上記のように、ある例示において、道路ネットワークデータは、道路ネットワークデータの特定の部分の属性を示す情報で符号化されてよい。少なくとも１つの例示において、模擬システム３４４は、道路ネットワークデータにアクセスしてよい。上記のように、ある例示において、道路ネットワークデータは、マップデータストレージ３５０に格納されてよい。
【００６１】
ブロック４０４は、道路メッシュにアクセスすることを示している。少なくとも１つの例示において、車両コンピューティングデバイス３０４は、道路メッシュ１１０を生成してよい。少なくとも１つの例示において、車両コンピューティングデバイス３０４は、ＬＩＤＡＲデータを受信してよく、これは、実際の環境の表現である３Ｄ点群を生成することに用いられてよい。少なくとも１つの例示において、車両コンピューティングデバイス３０４は、３Ｄの点群に基づいて道路メッシュ１１０を生成することが可能である。上記のように、道路メッシュ１１０は、３Ｄタイルを含んでよい。模擬システム３４４は、３Ｄタイルにアクセスしてよく、これは、ある例示において、マップストレージ３５０に格納されてよい。
【００６２】
ブロック４０６は、道路ネットワークデータと道路メッシュとを結合させることで模擬環境を生成することを示している。模擬システム３４４は、道路ネットワークデータを道路メッシュに関連付け、模擬環境を生成することが可能である。このような関連は、少なくともあるインスタンスにおいて、道路ネットワークデータを（２Ｄデータまたは３Ｄデータとして）道路メッシュへと投影することを含んでよい。これは、道路セグメントの中央を決定させ、投影にあたり道路メッシュからの対応する領域にセグメントを実質的に整列させることによって行うことができる。任意の外れ値（例えば、投影の後に道路メッシュと整列しない表面（例えば、整列またはマップの生成における誤差のために樹木へと投影された歩道））は、必要に応じて決定され、平滑化されてよい。結果として生じる模擬環境は、（例えば、対応する実際の環境を考慮して）正確な高さおよび表面の詳細を含んでよい。
【００６３】
ブロック４０８は、代替データソースからの補完データにアクセスすることを示している。ある例示において、例えば、道路メッシュを構築している場合に、オクルージョン（例えば、駐車している車、狭い路地など）に起因して、模擬環境内に欠損（例えば、不完全なデータ）があってよい。少なくとも１つの例示において、模擬システム３４４は、既存の模擬環境を補完する第２の代替データソースにアクセスする（例えば、且つ欠損を埋める）ことが可能である。例えば、少なくとも１つの例示において、模擬システム３４４は、第三者のソースおよび／またはシステム３３８からのデータにアクセスすることが可能であり、ブロック４１０に示されるように、補完データを模擬環境へと結合させることによって、このようなデータを活用し、既存の模擬環境を補完することが可能である。少なくとも１つの例示において、上記で説明されるように、補完データは、実際の環境に関連付けられるＵＳＧＳ ＤＥＭデータ、実際の環境に関連付けられるツリーマップデータ、実際の環境に関連付けられるカラー画像データ、環境に関連付けられるマップデータなどを含んでよい。ある例示において、補完データは、模擬環境の生成に用いられる３Ｄタイルと自然に整列しない。道路メッシュおよび補完データの整列に関連する詳細は、図５を参照して以下で説明される。
【００６４】
ブロック４１２は、模擬環境内でオブジェクトのレンダリングを示している。模擬システム３４４は、環境内でオブジェクトの特性に関連付けられるデータを活用し、模擬環境をさらに補完することが可能である。少なくとも１つの例示において、模擬システム３４４は、建物または他の静止オブジェクトのフットプリントを表現するデータにアクセスしてよく、これは、格納されたオブジェクトのフットプリントデータストレージ３５６に格納してよい。ある例示において、このようなフットプリントは、高さ、分類（例えば、住宅、商業など）ルールセット（例えば、テクスチャリング）などに関するアノテーションに関連付けられてよい。模擬システム３４４は、ファサード部分を生成するガイドメッシュとしてフットプリントおよび関連するアノテーションを利用してよい。少なくとも１つの例示において、建物のフットプリント、高さ、テクスチャリング、および分類は、ランダムに定義されてよい。ある例示において、テクスチャ、高さ、またはフットプリントの事前に定義されたセットが定義されてよい。テクスチャ、高さ、フットプリントなどの１つまたは複数のランダム配列の結果として生じるセットは、順番に模擬環境に追加する建物のセットとして用いられる。これらのフットプリントに関連付けられるデータがマップ内での位置の指示を有さない例示（例えば、フットプリントがランダムに決定された場合、マップに依存しないフットプリントのデータストレージから取得された場合など）において、このようなフットプリントは、整列されるか、またはそうではない場合配置にされてよく、そうすることによって、少なくとも１つのファサードが道路ネットワークにおける車道と整列するように配置され、１つまたは複数のルール（例えば、車道から特定の距離に配置され、分類に基づいて、他の建物から最小または最大の距離、特定の方向に向けられているなど）などに従って間隔が空けられる。このようなルールセットが適用された場合に、もっともらしい外観の建物が自動的に（例えば、人間のモデリングなしで）生成され、建物を含む模擬環境を生成することが可能である。
【００６５】
ブロック４１４は、模擬環境内でオブジェクトに関連付けられるレンダリング表面の詳細を示している。ある例示において、模擬システム３４４は、テクスチャリングデータを利用し、例えば、リアルタイムのレンダリングの間に、模擬環境に表面の詳細を追加することが可能である。このようなテクスチャリングは、詳細（欠陥、パッチ、マーキングなど）を模擬環境内でオブジェクトに追加し、このようなオブジェクトを固有に（技術者の作業負荷を大幅に増加させることなく）見せる。少なくとも１つの例示において、模擬システム３４４は、まばらな仮想テクスチャを利用してよく、１回の描画で模擬環境をレンダリングし、これは、性能を向上させ、且つ計算リソースを低減させる。このような例示において、それぞれのサーフェルは、（識別のような）固有のデータに関連付けられてよく、これによって、個々のサーフェルが割り当てられ、アドレスが指定され、さらにアサインされてよい。さらに、ある例示において、模擬システム３４４は、模擬環境でレンダリングされるオブジェクトのそれぞれの表面に複数のブラシストローク状のデカールを追加することができる。少なくともある例示において、さまざまなデカールは、（例えば、写実的な汚れや煤、落書き、ゴミなどは、例えば、路地における建物のファサードに適用されてよい）さまざまな領域および構造の分類に適用されてよく、そうするために、任意の手続きベースのテクスチャリングを変更（例えば、関連する分類が与えられた表面の上にテクスチャのパターンを適用）する。
【００６６】
少なくとも１つの例示において、模擬システム３４４は、模擬環境の表面をパラメーター化し、固有のテクスチャ座標空間を作成することが可能である。このような例示において、それぞれのサーフェルは、テクスチャを個別に参照するピクセルのセットに関連付けてよく、これは、表面の詳細データストレージ３５８に格納されてよい。したがって、実行時に、模擬システム３４４は、模擬コンピューティングデバイスのビューポートを介して見られ得る模擬環境の部分に関連付けられる詳細（例えば、テクスチャ）をレンダリングする（例えば、シェーディングシステムへの）単一のドローコールを利用してよい。ある例示において、模擬環境は、複数のテクスチャに関連付けられ（例えば、材料の異なる特性に関連付けられ）てよく、それぞれのテクスチャは、実行時に、個別のドローコールを介してレンダリングされてよい。このような技術は、プロセッサ３４０の作業負荷を低減し、これによって、実行時の計算効率を提供する。少なくとも１つの例示において、テクスチャの特性が変更された場合、このような変更は、テクスチャに関連して表面の詳細データストレージ３５８に格納されてよく、実行時に、変更は、レンダリングされるテクスチャに反映されてよい。つまり、スクリプトは、表面の詳細データストレージ３５８において、テクスチャに関連付けられるテクスチャデータを更新することが可能であり、これによって、すべての技術を再検討することが必要なく、実行時に模擬環境でレンダリングされるテクスチャの更新に影響を与える。
【００６７】
ブロック４１６は、模擬環境を出力することを示している。少なくとも１つの例示において、模擬システム３４４は、模擬環境を出力することが可能である。上記のように、模擬環境は、訓練、テスト、および／または車両３０２のような自律走行車に搭載された認証システム（例えば、ＡＩスタックの１つまたは複数のコンポーネント）を強化するために有用であってよい。少なくとも１つの例示において、模擬環境は、実際の環境からの訓練データが不十分である（例えば、まれなオブジェクト、まれな状況などであることだが）訓練データモデルのために有用であってよい。このような例示において、結果として生じるデータモデルは、車両３０２にプロビジョニングされるか、または車両３０２によってアクセス可能であってよく、車両３０２は、リアルタイム（例えば、実際の環境内で運転している間、またはそうでなければ動作している間）で、オブジェクトを分類するデータモデルを利用することが可能である。つまり、知覚システム３２２は、（模擬環境に関連付けられる模擬データに基づいて訓練された）搭載されたデータモデルを利用し、ほぼリアルタイムでオブジェクトを分類することが可能である。少なくともいくつかの例示において、模擬環境に関連付けられるデータを用いて訓練されたこのようなデータモデルは、実際のセンサーデータに基づく実際の環境内で、オブジェクトを出力することができる。軌道（および対応する制御）は、次に、模擬データで訓練されたこのようなデータモデルの出力に少なくとも部分的に基づいて、自律走行車が実際の環境を安全にナビゲーションするために決定されることができる。
【００６８】
上記のように、少なくとも１つの例示において、評価システム３４８は、（例えば、上記のように）機械で訓練されたモデルを用いて知覚データを分析し、模擬環境の本物らしさを評価することが可能である。少なくとも１つの例示において、評価システム３４８は、機械で訓練されたモデルを利用し、実際の環境に関連付けられる（例えば、ニューラルネットワークのレイヤーに関連付けられる）第１の中間出力と対応する模擬環境に関連付けられる（例えば、ニューラルネットワークの同一のレイヤーに関連付けられる）第２の中間出力とを比較して、第１の中間出力と第２の中間出力との間の類似性の表現である類似性測定基準（例えば、差、距離など）を決定することが可能である。ある例示において、第１の中間出力および第２の中間出力は、画像、データの一部（例えば、データに関連付けられる個々のオブジェクトに対応するもの）などに対応することが可能である。類似性測定基準（例えば、差、距離など）が閾値を満たさない場合（例えば、第１の中間出力および第２の中間出力が類似している）、上記のように、評価システム３４８は、模擬環境が現実的に実際の環境を表現することを判断してよく、模擬環境を出力してよい。しかしながら、類似性測定基準（例えば、差、距離など）が閾値を満たすか、または超える場合、評価システム３４８は、１つまたは複数のパラメーターを調整し、１つまたは複数の測定基準への変化を観察することが可能である。例えば、評価システム３４８は、写実性を改善するために、明るさ、露出などのパラメーターを調整することが可能である。類似性測定基準（例えば、差、距離など）が閾値より低い場合（例えば、第１の中間出力および第２の中間出力が類似している）に、評価システム３４８は、模擬環境が現実的に実際の環境を表現することを判断してよい。
【００６９】
図５は、補完データを模擬環境に結合させる例示的なプロセス５００を図示している。
【００７０】
ブロック５０２は、補完データと模擬環境に関連付けられる道路メッシュとの整列を示している。上記のように、ある例示において、模擬システム３４４は、補完データで道路メッシュ（例えば、３Ｄタイル）を補完することが可能である。最初に、模擬システム３４４は、補完データと道路メッシュとを大まかに整列させることが可能である。補完データは、模擬環境の生成に用いられる道路メッシュの３Ｄタイルと自然に整列しない場合がある。
【００７１】
ブロック５０４は、補完データと模擬環境に関連付けられる道路メッシュとの間の誤差を判断することを示している。少なくとも１つの例示において、模擬システム３４４は、補完データと道路メッシュとの間の誤差を定期的に測定することが可能である。少なくとも１つの例示において、このような測定は、例えば、大きな平坦な空間（例えば、駐車場、大きな交差点など）など、補完データが正確であると予測される領域で行われてよい。このような空間は、閾値領域を満たすか、または超える（例えば、「大きい」）、および／または閾値（例えば、「平坦」）より低い領域にわたって標高の最大変化に関連付けられる実際の環境の領域に対応してよい。少なくとも１つの例示において、このような測定は、道路メッシュおよび補完データにおいて見える領域、ならびに／または遮るものがない、および／もしくはそうでなければ樹木、建物などのオブジェクトがない（例えば、ＵＳＧＳからの空中スキャンなど）領域で行われてよい。少なくとも１つの例示において、誤差は、道路メッシュ内の指定された位置から測定されてよい。ある例示において、指定された位置は、中心線であってよく、これは、道路ネットワークデータおよび／または道路メッシュから導出されてよい。例えば、道路メッシュに示されているように、運転線の中心は、誤差が測定され得る中心線として指定されてよい。少なくともある例示において、誤差は、このような領域の決定された中心点から測定されてよい。つまり、道路メッシュが根拠であると判断してよく、誤差は、根拠から測定されてよい。非限定的な例示として、誤差は、道路メッシュと補完データとの間の差（例えば、ユークリッド距離）に関連付けられていてよい。ある例示において、誤差は、高さ誤差である場合があり、道路メッシュと補完データとの間の垂直距離を測定する。誤差は、単一の測定値、複数の測定値の平均、領域にわたる最大値、領域にわたる最小値、総合誤差、または補完データと道路メッシュと間の差および／または距離を表現する別の統計的に有意な測定である場合がある。
【００７２】
ブロック５０６は、誤差が閾値を満たしているか、または超えているかを判断することを示している。少なくとも１つの例示において、ブロック５０８に示されるように、模擬システム３４４は、誤差を閾値と比較することが可能であり、誤差が閾値を満たさないか、または超えないという判断に基づいて、模擬システム３４４は、全体的な融合技術、局所的な融合技術、線形融合技術、滑らかな曲線（特定の半径を有する）の融合技術などの融合技術などに限定されないが、これらを実行することが可能であり、補完データを道路メッシュと融合する。少なくとも１つの例示において、このような融合技術は、減衰を伴ってよく、これによって、模擬システム３４４が選択された領域から離れるにつれて誤差が次第に重要ではなくなっていく。つまり、道路メッシュの中心線では、以下で説明されるように、誤差は、修正または軽減されてよいが、中心線から連続的にさらに離れている模擬環境の他の部分は、融合されてよく、誤差を修正またはそうでなければ軽減する。
【００７３】
誤差が閾値を満たすか、または超えるという判断に基づいて、模擬システム３４４は、融合する前に、ブロック５１０に示されるように、変形格子を適用して、補完データを道路メッシュと実質的に整列させることが可能である。第三者のソースのデータまたはマッピングシステムからのマップのいずれかへの調整は、誤差を決定するために用いられる領域（例えば、大きくて平坦な領域）において、このような誤差を駆動させられてよく、模擬環境の残りの領域全体に伝播させられてよい。少なくとも１つの例示において、模擬環境システム３４４は、補完データに調整を施し、補完データを道路メッシュと局所的に整列させることが可能である。追加または代替の例示において、模擬システム３４４は、道路メッシュに調整を施し、道路メッシュを補完データと局所的に整列させることが可能である。例えば、少なくとも１つの例示において、模擬システム３４４は、重心重み付けを適用し、誤差（またはデータにおける他の補間）を低減させることが可能である。結果として、模擬システム３４４は、補完データに基づいて、道路ネットワークデータと道路メッシュとを統合させることで結果として生じる模擬環境より完全である洗練された模擬環境を出力することが可能である。つまり、模擬環境内の欠損は、埋められることが可能であり、これによって、補完データで模擬環境を強化する。
【００７４】
ある例示において、フローは、最初にブロック５０６からブロック５０８に進んでよい。ブロック５０８では、変形は、交差点のような大きくて平坦な領域での誤差に基づいて局所的に適用されてよい。補間は、最初の交差点（または領域など）からすべての隣接する交差点への誤差の間に適用されてよい。少なくとも１つの例示において、このような補間は、線形であってよいが、他のすべての補間（例えば、多項式、バイキュービックなど）が考慮される。このような選択された領域の中心点から離れている道路メッシュのこれらの領域に対して、重心座標（または他のバイキュービックなどの補間）が適用され、道路メッシュを補完データに調整する。
【００７５】
フローが最初にブロック５０８に進むこれらの例示において、フローは、次にブロック５１０に進むことができる。このような例示において、道路メッシュを補完データに調整しているにもかかわらず、メッシュと補完データとの間に追加の誤差が見つかる場合がある。このような例示において、ブロック５１０は、さらなる変形（またはそうでなければメッシュまたは補完データの１つまたは複数を調整すること）を含んでよい。このような変形は、局所的な変形（例えば、道路メッシュデータが、選択した領域の中心での高さ情報のソースの１００％、および中心からある半径を超えた高さ情報の０％、Ｓ曲線に続いている場合か、またはそうでない場合）に従って実行されることができる。データ（メッシュまたは補完のいずれか）を局所的に変形させることによって、メッシュデータと補完データとの境界の間をスムーズに遷移させることが可能である。
【００７６】
図６は、本明細書で説明されるように、模擬環境内で交通信号の柱のようなオブジェクトを手続き的にレンダリングする例示的なプロセス６００を図示している。少なくとも１つの例示において、模擬システム３４４は、模擬環境内でオブジェクトを手続き的にレンダリングすることが可能である。つまり、ある例示において、上記のデータ（例えば、３Ｄタイル、道路ネットワークデータ、補完データなど）は、対応する実際の環境と比較した場合にまだ欠陥を有する。このような例示において、模擬システム３４４は、さまざまな経験則を利用し、模擬環境内でオブジェクトをレンダリングすることが可能である。プロセス６００は、このようなプロセスの例示を示している。
【００７７】
ブロック６０２は、模擬環境内で交通信号の位置を決定することを示している。少なくともいくつかの例示において、例えば、道路ネットワークデータおよび／または道路メッシュに関連付けられて、交通信号の位置についてのデータが提供されるか、またはそうでなければ決定されてよい。少なくとも１つの例示において、模擬システム３４４は、このようなデータに基づいて交通信号の位置を決定することが可能である。しかしながら、このようなデータは、交通情報がない場合がある。
【００７８】
ブロック６０４は、交通信号を通過する少なくとも１つの平面を生成することを示している。少なくとも１つの例示において、模擬システム３４４は、交通信号を通過する１つまたは複数の平面（例えば、光源の照明の方向を指す表面法線を有する少なくとも１つの平面）を生成することが可能である。ある例示において、模擬システム３４４は、２つまたはそれより多くの平面（例えば、交通信号の下で道路に平行である第１の平面、および交通信号の下で道路に直角である第２の平面）を生成することが可能である。
【００７９】
ブロック６０６は、道路ネットワークデータから交通信号に近接する歩道を決定することを示している。少なくとも１つの例示において、模擬システム３４４は、例えば、上記の道路ネットワークデータに基づいて、交通信号に近接する歩道を識別することが可能である。
【００８０】
ブロック６０８は、歩道に最も近い点を決定することを示している。少なくとも１つの例示において、模擬システム３４４は、周囲の歩道に最も近い点を決定することが可能である。このようなシステムは、さまざまな経路プラニングアルゴリズム（例えば、Ａ＊、Ｄ＊など、マンハッタン制約（９０度の制約を強制）を組み込み、および／または街灯の柱のカーブの数を最小限に抑えたりする）を交通信号の位置から最も近い歩道ポイントまでの最短経路を見つけるべく組み込むことができる。
【００８１】
ブロック６１０は、模擬環境内で街灯の柱を交通信号に接続する街灯の柱および柱のレンダリングを示す。模擬システム３４４は、このような決定された経路を利用してよく、街灯の柱をレンダリングし、これは、街灯の柱を交通信号に接続する柱に関連付けられてよい。少なくとも１つの例示において、模擬システム３４４は、第三者のソースおよび／またはシステム３３８からのデータにアクセスすることが可能であり、これは、街灯の柱および柱の位置、向き、様式などのルールを示す。例えば、非限定的な例示として、このようなデータは、街灯の柱が交通信号の右約２０フィートに配置されるべきであることを示してよい。
【００８２】
プロセス６００は、街灯の柱を交通信号に接続する街灯の柱および柱をレンダリングすることに向けられているが、追加または代替の例示において、プロセス６００は、模擬環境へと他のオブジェクトを追加することに向けられてよい。非限定的な例示は、駐車標識（例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である）、駐車メーター（例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である）、一時停止標識（例えば、これは、道路ネットワークデータから決定された停止線に基づいてレンダリングされることが可能である）などを含む。このような例示において、模擬システム３４４は、第三者のソースおよび／またはシステム３３８からのデータにアクセスすることが可能であり、これは、オブジェクトの位置、向き、様式などのルールを示す。少なくとも１つの例示において、模擬環境内でのこのようなオブジェクトのレンダリングは、パラメーター化されてよく、模擬システム３４４は、第三者のソースおよび／またはシステム３３８によって示されるようにルールを順守してよい。
【００８３】
（例示的な条項）
Ａ．コンピュータ実装方法は、実際の環境内で複数のデータ収集デバイスからセンサーデータを受信することと、実際の環境に関連付けられる道路ネットワークデータを実際の環境に関連付けられる道路ネットワークデータにアクセスすることと、少なくとも部分的にセンサーデータに基づいて実際の環境に関連付けられる道路メッシュを生成することと、道路ネットワークデータを道路メッシュと統合させて、模擬環境を生成することと、格納されたオブジェクトのフットプリントのデータストレージにアクセスすることと、格納されたオブジェクトのフットプリントのデータストレージから格納されたオブジェクトのフットプリントを選択することと、格納されたオブジェクトのフットプリントに対応する少なくとも１つのオブジェクトを模擬環境へとレンダリングすることと、少なくとも１つのオブジェクトに関連付けられる表面の詳細をレンダリングすることと、模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、ナビゲーション、プラニング、または意思決定のうちの少なくとも１つに対して出力することとを備える。
【００８４】
Ｂ．段落Ａに記載のコンピュータ実装方法では、道路ネットワークデータは、実際の環境の２次元表現を含み、且つ運転レーン要素、自転車レーン要素、駐車レーン要素、または横断歩道の要素のうちの少なくとも１つの表示を含む。
【００８５】
Ｃ．段落Ａ〜Ｂのいずれかに記載のコンピュータ実装方法では、道路メッシュは、マッピングシステムから出力される複数の３次元タイルを含む。
【００８６】
Ｄ．段落Ａ〜Ｃのいずれかに記載のコンピュータ実装方法では、道路ネットワークデータと道路メッシュとを統合させることは、道路ネットワークデータにおける道路セグメントを道路メッシュの対応する領域に整列させることと、道路セグメントの少なくとも一部を道路メッシュへと投影することとを含む。
【００８７】
Ｅ．段落Ａ〜Ｄのいずれかに記載のコンピュータ実装方法では、格納されたオブジェクトのフットプリントは、高さ、分類を表示するアノテーション、またはオブジェクトに関連付けられるテクスチャを示すルールセットのうちの少なくとも１つに関連付けられ、コンピュータ実装方法は、少なくとも部分的にアノテーションに基づいて格納されたオブジェクトのフットプリントに対応する少なくとも１つのオブジェクトを模擬環境へとレンダリングすることをさらに備える。
【００８８】
Ｆ．段落Ａ〜Ｅのいずれかに記載のコンピュータ実装方法では、表面の詳細は、欠陥テクスチャ、パッチテクスチャ、またはマーキングテクスチャのうちの少なくとも１つを含む。
【００８９】
Ｇ．段落Ａ〜Ｆのいずれかに記載のコンピュータ実装方法では、表面の詳細は、１回の描画でまばらな仮想テクスチャを用いて追加される。
【００９０】
Ｈ．システムは、少なくとも１つのプロセッサと、少なくとも１つのプロセッサによって実行された場合に、少なくとも１つのプロセッサに、実際の環境に関連付けられる道路ネットワークデータにアクセスすることと、実際の環境に関連付けられる道路メッシュを生成することと、道路ネットワークデータを道路メッシュに関連付けて、模擬環境を生成することと、少なくとも部分的に少なくとも１つのルールに基づいて、少なくとも１つのオブジェクトを模擬環境へと手続き的にレンダリングすることと、模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、自律ロボットコンピューティングデバイスを制御することに対して出力することとを含む動作を実行させるコンピュータ可読命令とを備える。
【００９１】
Ｉ．段落Ｈに記載のシステムでは、動作は、少なくとも１つの格納されたオブジェクトフットプリントを含むデータストレージにアクセスすることと、データストレージから格納されたオブジェクトのフットプリントを選択することと、少なくとも部分的に少なくとも１つのルールに基づいて、格納されたオブジェクトのフットプリントに対応する少なくとも１つのオブジェクトを模擬環境へとレンダリングすることとをさらに含む。
【００９２】
Ｊ．段落Ｉに記載のシステムでは、ルールは、道路ネットワークデータにおける個々のオブジェクトと車道との間の距離の表示、複数のオブジェクトの個々のオブジェクト間の距離の表示、または複数のオブジェクトの個々のオブジェクトの方向を含む。
【００９３】
Ｋ．段落Ｉに記載のシステムでは、少なくとも１つの格納されたオブジェクトのフットプリントは、オブジェクトの特性を示すアノテーションに関連付けられ、特性が高さまたは分類を含む。
【００９４】
Ｌ．段落Ｋに記載のシステムでは、少なくとも１つの格納されたオブジェクトのフットプリントは、オブジェクトをテクスチャリングするルールセットに関連付けられ、ルールセットが特性に基づいて少なくとも１つの格納されたオブジェクトのフットプリントに関連付けられる。
【００９５】
Ｍ．段落Ｈ〜Ｌのいずれかに記載のシステムでは、動作は、まばらな仮想テクスチャを用いて、少なくとも１つのオブジェクトに関連付けられる表面の詳細をレンダリングすることをさらに含む。
【００９６】
Ｎ．段落Ｈ〜Ｍのいずれかに記載のシステムでは、動作は、少なくとも部分的に道路ネットワークデータに基づいて、交通信号の位置を決定することと、交通信号を通過する少なくとも１つの平面を生成することと、道路ネットワークデータから交通信号に近接する歩道を決定することと、プラニングアルゴリズムを用いて、歩道に最も近いポイントを決定することと、街灯の柱および柱を模擬環境内で街灯の柱を交通信号に接続するためにレンダリングすることとをさらに含む。
【００９７】
Ｏ．非一時的なコンピュータ可読命令は、実行された場合に、１つのまたは複数のプロセッサに、実際の環境に関連付けられる道路ネットワークデータにアクセスすることと、実際の環境に関連付けられる道路メッシュを生成することと、道路ネットワークデータを道路メッシュと統合させて、模擬環境を生成することと、少なくとも１つのオブジェクトを少なくとも部分的に少なくとも１つのルールに基づいて、模擬環境へと手続き的にレンダリングすることと、模擬環境をコンピューティングデバイスを介して出力することとを含む動作を実行させる。
【００９８】
Ｐ．段落Ｏに記載の非一時的なコンピュータ可読媒体では、模擬環境を出力することは、模擬コンピューティングデバイスを介して、模擬環境を自律走行車によって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、自律走行車を制御することに対して出力することを含む。
【００９９】
Ｑ．段落Ｏ〜Ｐのいずれかに記載の非一時的なコンピュータ可読媒体では、動作は、少なくとも１つの格納されたオブジェクトのフットプリントを含むデータストレージにアクセスして、少なくとも１つの格納されたオブジェクトのフットプリントは、対応するオブジェクトの高さまたは分類を示す少なくとも１つのアノテーションに関連付けられることと、格納されたオブジェクトのフットプリントをデータストレージから選択することと、格納されたオブジェクトのフットプリントに対応する少なくとも１つのオブジェクトを道路ネットワークデータにおける個々のオブジェクトと車道との間の距離の表示、複数のオブジェクトの個々のオブジェクト間の距離の表示、または複数のオブジェクトの個々のオブジェクトの向きの表示に少なくとも部分的に基づいて、模擬環境へとレンダリングすることとをさらに含む。
【０１００】
Ｒ．段落Ｑに記載の非一時的なコンピュータ可読媒体では、動作は、ルールセットを少なくとも部分的に少なくとも１つのアノテーションに基づいて、格納されたオブジェクトのフットプリントに関連付けることと、オブジェクトに関連付けられるテクスチャを少なくとも部分的にルールセットに基づいてレンダリングすることとをさらに含む。
【０１０１】
Ｓ．段落Ｏ〜Ｒのいずれかに記載の非一時的なコンピュータ可読媒体では、動作は、複数の格納されたオブジェクトのフットプリントを含むデータストレージにアクセスすることであって、個々の格納されたオブジェクトのフットプリントは、それぞれのアノテーションに関連付けられることと、複数の格納されたオブジェクトのフットプリントのうちの１つまたは複数の格納されたオブジェクトに対応する１つまたは複数のオブジェクトを組み合わせてレンダリングすることとをさらに含む。
【０１０２】
Ｔ．段落Ｏ〜Ｓのいずれかに記載のシステムでは、動作は、少なくとも部分的に道路ネットワークデータに基づいて、交通信号の位置を決定することと、交通信号を通過する少なくとも１つの平面を生成することと、道路ネットワークデータから交通信号に近接する歩道を決定することと、プラニングアルゴリズムを用いて、歩道に最も近いポイントを決定することと、街灯の柱および柱を模擬環境内で街灯の柱を交通信号に接続するためにレンダリングすることとをさらに含む。
【０１０３】
Ｕ．コンピュータ実装方法は、実際の環境内で複数のデータ収集デバイスからセンサーデータを受信するステップと、実際の環境に関連付けられる道路ネットワークデータであって、少なくとも部分的に前記環境に基づいて道路ネットワークデータにアクセスするステップと、少なくとも部分的にセンサーデータに基づいて実際の環境に関連付けられる道路メッシュを決定するステップと、道路ネットワークデータをメッシュに関連付けて、模擬環境を生成するステップであって、模擬環境は、実際の環境に対して不完全であるステップと、実際の環境に関連付けられる補完データにアクセスするステップであって、補完データは、複数のデータ収集デバイスに利用不可能である実際の環境に関連付けられる情報を提供するステップと、補完データを模擬環境に関連付けて、模擬環境を変更された模擬環境として補完するステップと、変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、ナビゲーション、プラニング、または意思決定のうちの少なくとも１つに対して出力するステップとを備える。
【０１０４】
Ｖ．段落Ｕに記載のコンピュータ実装方法では、補完データは、ラスターベースの数値標高モデルを格納する地理空間ファイルフォーマットを含む。
【０１０５】
Ｗ．段落Ｖに記載のコンピュータ実装方法では、地理空間ファイルフォーマットは、米国地質調査所（ＵＳＧＳ）のデータ評価モデル（ＤＥＭ）基準に関連付けられている。
【０１０６】
Ｘ．段落Ｕ〜Ｗのいずれかに記載のコンピュータ実装方法では、模擬環境は、駐車中の車または路地に関連付けられるセンサーデータにおけるオクルージョンに起因して不完全である。
【０１０７】
Ｙ．段落Ｕ〜Ｘのいずれかに記載のコンピュータ実装方法は、補完データの第１の部分と道路メッシュの第２の部分との間の誤差を決定するステップであって、第１の部分および第２の部分は、実際の環境の同一の領域に関連付けられているステップと、誤差が誤差量の閾値を満たしているか、または超えているかを判断するステップと、補完データまたは道路メッシュのうちの少なくとも１つを調整するステップとをさらに含む。
【０１０８】
Ｚ．段落Ｙに記載のコンピュータ実装方法では、誤差は、実際の環境の同一の領域に関連付けられる平均の誤差のうちの少なくとも１つを含む。
【０１０９】
ＡＡ．段落Ｙに記載のコンピュータ実装方法では、変形格子を補完データの少なくとも一部または道路メッシュの対応する部分の１つまたは複数に適用するステップであって、補完データと道路メッシュとを実質的に整列させ、誤差を低減させるステップをさらに含む。
【０１１０】
ＡＢ．システムは、少なくとも１つのプロセッサと、少なくとも１つのプロセッサによって実行された場合に、少なくとも１つのプロセッサに、実際の環境内で少なくとも１つのデータ収集デバイスからセンサーデータを受信することと、実際の環境に関連付けられる道路ネットワークデータまたは実際の環境に関連付けられる道路メッシュのうちの少なくとも１つをセンサーデータに関連付けられる道路メッシュにアクセスすることと、模擬環境を道路ネットワークデータまたは道路メッシュのうちの少なくとも１つに基づいて生成することと、補完データを模擬環境に関連付けて、変更された模擬環境を生成することと、変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、自律ロボットコンピューティングデバイスを制御する少なくとも１つに対して出力することとを含む動作を実行させる１つまたは複数のコンピュータ可読命令とを備えるシステム。
【０１１１】
ＡＣ．段落ＡＢに記載のシステムでは、模擬環境は、実際の環境内で少なくとも１つのオクルージョンに起因して不完全である。
【０１１２】
ＡＤ．段落ＡＢ〜ＡＣのいずれかに記載のシステムでは、少なくとも１つのオクルージョンに起因して少なくとも１つのデータ収集デバイスがそうでなければ利用不可能である実際の環境に関連付けられる情報を提供する。
【０１１３】
ＡＥ．段落ＡＢ〜ＡＤのいずれかに記載のシステムでは、道路ネットワークデータは、実際の環境の２次元表現を含み、且つ運転レーン要素、自転車レーン要素、駐車レーン要素、または横断歩道要素のうちの少なくとも１つの表示を含む。
【０１１４】
ＡＦ．段落ＡＢ〜ＡＥのいずれかに記載のシステムでは、道路メッシュは、マッピングシステムから出力される複数の３次元タイルを含む。
【０１１５】
ＡＧ．段落ＡＢ〜ＡＦのいずれかに記載のシステムでは、動作は、道路ネットワークデータおよび道路メッシュにアクセスすることと、少なくとも部分的に道路ネットワークデータを道路メッシュへと投影することに基づいて、道路ネットワークデータと道路メッシュとを関連させることとをさらに含む。
【０１１６】
ＡＨ．段落ＡＢ〜ＡＧのいずれかに記載のシステムでは、補完データは、第三者のソースまたはシステムによって収集される標高データを含む。
【０１１７】
ＡＩ．段落ＡＢ〜ＡＨのいずれかに記載のシステムでは、動作は、補完データの第１の部分と道路メッシュの第２の部分との間の高さ誤差を測定することと、高さ誤差が誤差量の閾値を満たすか、または超えるかを判断することと、変形格子を第１の部分または第２の部分の１つまたは複数に適用して、高さ誤差を低減させることとをさらに含む。
【０１１８】
ＡＪ．命令を格納する非一時的なコンピュータ可読媒体は、実行された場合に、１つまたは複数のプロセッサに、実際の環境に関連付けられる道路ネットワークデータまたは実際の環境に関連付けられる道路メッシュのうちの少なくとも１つにアクセスすることと、模擬環境を道路ネットワークデータまたは道路メッシュのうちの少なくとも１つに基づいて生成することと、補完データを模擬環境に関連付けて、変更された模擬環境を生成することと、変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも１つのために、自律ロボットコンピューティングデバイスを制御する少なくとも１つに対して出力することとを含む動作を実行させる。
【０１１９】
ＡＫ．段落ＡＪに記載の非一時的なコンピュータ可読媒体では、補完データは、第三者のソースまたはシステムによって収集される標高データを含む。
【０１２０】
ＡＬ．段落ＡＪ〜ＡＫのいずれかに記載の非一時的なコンピュータ可読媒体では、補完データは、米国地質調査所（ＵＳＧＳ）データ評価モデル（ＤＥＭ）基準に関連付けられる地理空間ファイル形式を含む。
【０１２１】
ＡＭ．段落ＡＪ〜ＡＬのいずれかに記載の非一時的なコンピュータ可読媒体では、補完データの第１の部分と道路メッシュの第２の部分との間の高さの差を測定して、第１の部分および第２の部分は、オブジェクトのない実際の環境の同一の領域に関連付けられていることと、差が差の閾値を満たすか、または超えるかを判断することと、変形格子を第１の部分または第２の部分の１つまたは複数に適用して、誤差を低減させることとをさらに含む。
【０１２２】
ＡＮ．段落ＡＪ〜ＡＭのいずれかに記載の非一時的なコンピュータ可読媒体では、少なくとも１つのオクルージョンに起因して少なくとも１つのデータ収集デバイスがそうでなければ利用不可能である実際の環境に関連付けられる情報を提供する。
【０１２３】
上記のような例示的な条項が特定の実装に対して説明される一方で、本書類の文脈において、本例示的な内容は、また、方法、デバイス、システム、コンピュータ可読媒体、および／または別の実装を介して、実装されることが可能であることを理解されたい。
【０１２４】
（結論）
本明細書で説明される技術の１つまたは複数の例示が記載されているが、さまざまな変更、追加、置換、およびそれらの均等物が本明細書で説明される技術の範囲内に含まれる。
【０１２５】
例示の説明において、本明細書の一部を形成する添付の図面を参照し、これは説明の方法として請求される発明の主題の詳細な具体的な例示を示す。他の例示は、用いられてよく、構造的変更のような変更または代替がされてよいことを理解されたい。このような例示、変更または代替は、意図される発明の請求される主題に対する範囲から必ずしも逸脱するものではない。本明細書におけるステップは、特定の順序で提供されてよいが、ある場合においては、順序は、変更され得ることによって、説明されるシステムおよび方法の機能を変更させることなく、特定の入力が異なる時間または異なる順序で提供される。開示された手順は、また、異なる順序で実行されてよい。さらに、本明細書におけるさまざまな計算は、開示された順序で実行される必要はなく、計算の代替順序を用いる他の例示は、容易に実装されてよい。並べ替えに加えて、計算は、また、サブ計算へと分解され、同一の結果が得られることが可能である。
【図１】
2021534484.tif 000003
【図２Ａ】
2021534484.tif 000004
【図２Ｂ】
2021534484.tif 000005
【図２Ｃ】
2021534484.tif 000006
【図２Ｄ】
2021534484.tif 000007
【図２Ｅ】
2021534484.tif 000008
【図２Ｆ】
2021534484.tif 000009
【図３】
2021534484.tif 000010
【図４】
2021534484.tif 000011
【図５】
2021534484.tif 000012
【図６】
2021534484.tif 000013
【国際調査報告】
2021534484.tif 000014
2021534484.tif 000015
2021534484.tif 000016