(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】手続き的な世界の生成
(51)【国際特許分類】
G06T 17/05 20110101AFI20240220BHJP
B60W 40/06 20120101ALI20240220BHJP
【FI】
G06T17/05
B60W40/06
(21)【出願番号】P 2021506712
(86)(22)【出願日】2019-08-08
(86)【国際出願番号】 US2019045805
(87)【国際公開番号】W WO2020033767
(87)【国際公開日】2020-02-13
【審査請求日】2022-06-02
(32)【優先日】2018-10-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-08-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-10-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジェームス グラハム ドラン
(72)【発明者】
【氏名】ダグラス レイモンド ブルックス
【審査官】▲高▼橋 真之
(56)【参考文献】
【文献】特開2010-191066(JP,A)
【文献】特表2016-520882(JP,A)
【文献】Hyunchul Roh, et al.,Accurate Mobile Urban Mapping via Digital Map-Based SLAM,sensors,2016年08月18日,https://www.mdpi.com/1424-8220/16/8/1315
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/05
B60W 40/06
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
実際の環境内で複数のデータ収集デバイスからセンサーデータを受信するステップと、
前記実際の環境に関連付けられる道路ネットワークデータであって、少なくとも部分的に前記環境に基づく前記道路ネットワークデータにアクセスするステップと、
少なくとも部分的に前記センサーデータに基づいて前記実際の環境に関連付けられるメッシュを決定するステップと、
前記道路ネットワークデータを前記メッシュに関連付けて、模擬環境を生成するステップであって、前記模擬環境は、前記実際の環境に対して不完全であるステップと、
前記実際の環境に関連付けられる補完データにアクセスするステップであって、前記補完データは、前記複数のデータ収集デバイスによって提供される情報とは異なる、前記実際の環境に関連付けられる情報を提供するステップと、
前記補完データの第1の部分と前記メッシュの第2の部分との間の誤差を決定するステップであって、前記第1の部分および前記第2の部分は、前記実際の環境の同一の領域に関連付けられているステップと、
前記誤差が誤差量の閾値を満たしているか、または超えているかを判断するステップと、
前記補完データまたは前記メッシュのうちの少なくとも1つを調整するステップと、
前記補完データを前記模擬環境に関連付けて、前記模擬環境を変更された模擬環境として補完するステップと、
前記変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、ナビゲーション、プラニング、または意思決定のうちの少なくとも1つに対して出力するステップと
を備えるコンピュータ実装方法。
【請求項2】
前記補完データは、ラスターベースの数値標高モデルを格納する地理空間ファイルフォーマットを含む、
請求項1に記載のコンピュータ実装方法。
【請求項3】
前記地理空間ファイルフォーマットは、米国地質調査所(USGS)のデータ評価モデル(DEM)基準に関連付けられている、
請求項2に記載のコンピュータ実装方法。
【請求項4】
前記模擬環境は、1つまたは複数のオブジェクトまたは前記環境の地形に関連付けられる前記センサーデータにおけるオクルージョンに起因して不完全である、
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記誤差は、前記実際の環境の同一の領域に関連付けられる平均の誤差のうちの少なくとも1つを含む、
請求項1ないし4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
変形格子を前記補完データの少なくとも一部または前記メッシュの対応する部分の1つまたは複数に適用して、前記補完データと前記メッシュとを実質的に整列させ、誤差を低減させるステップをさらに含む、
請求項1ないし4のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記補完データは、格納されたオブジェクトのフットプリント、前記オブジェクトに関連付けられる高さ、前記オブジェクトに関連付けられる分類、または前記オブジェクトに関連付けられるテクスチャを示すルールセットのうちの少なくとも1つを含む、
請求項1ないし
4のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
請求項1ないし
7のいずれか一項に記載の方法を実行するように構成された命令を格納する1つまたは複数のコンピュータ可読媒体。
【請求項9】
システムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行された場合に、前記少なくとも1つのプロセッサに、
実際の環境内で少なくとも1つのデータ収集デバイスからセンサーデータを受信することと、
前記実際の環境に関連付けられる道路ネットワークデータまたは前記実際の環境に関連付けられるメッシュのうちの少なくとも1つにアクセスすることであって、前記メッシュは、少なくとも部分的にセンサーデータに基づいていることと、
模擬環境を前記道路ネットワークデータまたは前記メッシュのうちの前記少なくとも1つに基づいて生成することと、
補完データの第1の部分と前記メッシュの第2の部分との間の誤差を決定することであって、前記第1の部分および前記第2の部分は、前記実際の環境の同一の領域に関連付けられていることと、
前記誤差が誤差量の閾値を満たしているか、または超えているかを判断することと、
前記補完データまたは前記メッシュのうちの少なくとも1つを調整することと、
前記補完データを前記模擬環境に関連付けて、変更された模擬環境を生成することと、
前記変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、前記自律ロボットコンピューティングデバイスを制御する少なくとも1つに対して出力することと
を含む動作を実行させる1つまたは複数のコンピュータ可読命令と
を備えるシステム。
【請求項10】
前記模擬環境は、前記実際の環境内で少なくとも1つのオクルージョンに起因して不完全である、
請求項
9に記載のシステム。
【請求項11】
前記補完データは、少なくとも1つのオクルージョンに起因して少なくとも1つのデータ収集デバイスが利用不可能である前記実際の環境に関連付けられる情報を提供する、
請求項
9または
10に記載のシステム。
【請求項12】
前記道路ネットワークデータは、前記実際の環境の2次元表現を含み、且つ運転レーン要素、自転車レーン要素、駐車レーン要素、または横断歩道要素のうちの少なくとも1つの表示を含む、
請求項
9ないし
11のいずれか一項に記載のシステム。
【請求項13】
前記動作は、前記道路ネットワークデータおよび前記メッシュにアクセスすることと、少なくとも部分的に前記道路ネットワークデータを前記メッシュへと投影することに基づいて、前記道路ネットワークデータおよび前記メッシュを関連させることとをさらに含む、
請求項
9ないし
12のいずれか一項に記載のシステム。
【請求項14】
前記動作は、
前記補完データの第1の部分と前記メッシュの第2の部分との間の高さ誤差を測定することと、
前記高さ誤差が誤差量の閾値を満たすか、または超えるかを判断することと、
変形格子を前記第1の部分または前記第2の部分の1つまたは複数に適用して、高さ誤差を低減させることと
をさらに含む、
請求項
9ないし
13のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、手続き的な世界の生成に関する。
【背景技術】
【0002】
(優先権出願)
本PCT国際出願は、2018年10月17日に出願された米国特許出願第16/163,478号の優先権の継続および主張であり、これは、2018年8月9日に出願された「Procedural World and Agent Generation」と題する米国仮特許出願第62/716,839の優先権を主張する。また、本PCT国際出願は、2018年10月17日に出願された米国特許出願第16/163,466号の優先権の継続および主張である。前述のすべての出願の内容全体は、参照により本明細書に組み込まれる。
【0003】
模擬世界環境(「模擬環境」)は、さまざまな環境のレンダリングを含む。このようなレンダリングは、例えば、道路、車両、歩行者などを含んでよい。模擬環境は、訓練、テスト、および/またはシステムの認証を強化することに有用であってよい。模擬環境を生成する既存の技術は、コンピュータ的には集中的な、且つ時間のかかる手動の生成を必要とする。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図面を参照して説明される。図面において、参照番号の最左端の桁は、参照番号が最初に現れる図面を同定する。異なる図面における同一の参照番号の使用は、類似、または同一のコンポーネント、または特徴を示す。
【0005】
【
図1】本明細書で説明されるように、模擬環境を手続き的にレンダリングする例示を図示する。
【
図2A】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【
図2B】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【
図2C】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【
図2D】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【
図2E】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【
図2F】本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【
図3】本明細書で説明されるように、模擬環境を手続き的にレンダリングする例示的なシステムを図示するブロック図である。
【
図4】本明細書で説明されるように、模擬環境を手続き的にレンダリングする例示プロセスを図示する。
【
図5】本明細書で説明されるように、補完データを道路メッシュと統合させる例示的なプロセスを図示する。
【
図6】本明細書で説明されるように、オブジェクトを模擬環境へとレンダリングする例示的なプロセスを図示する。
【発明を実施するための形態】
【0006】
ここで説明される技術は、手続き的な世界の生成のさまざまな態様に向けられている。つまり、本明細書で説明される技術は、ナビゲーション、プラニング、および/または意思決定をする車両によって用いられるシステムおよび/またはコンポーネントをテスト、認証、または訓練する際に用いられる模擬世界を手続き的に生成することに向けられている。本明細書で説明される少なくともある例示において、このように生成された模擬世界は、実際の世界の環境を表現するよう生成されることができ、少なくともある例示において、可能な限り正確である。本明細書で説明される技術は、このような模擬環境がどのように生成されることができるかを説明する。
【0007】
一例示において、本明細書で説明される技術は、実際の環境内でさまざまなセンサーシステムからセンサーデータを受信することに向けられる。センサーシステムは、光検出および測距(LIDAR)センサー、無線検出および測距(RADAR)センサー、超音波トランスデューサー、音波航法および測距(SONAR)センサー、飛行時間(ToF)センサー、位置センサー(例えば、全地球測位システム(GPS)、コンパスなど)、慣性センサー(例えば、慣性測定ユニット、加速度計、磁気計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度など)、ホイールエンコーダー、マイク、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)などを含んでよいが、これらに限定されない。センサーデータを用いることで、本明細書で説明される技術は、実際の環境に関連付けられる道路ネットワークデータ、および実際の環境に関連付けられる道路メッシュを生成、受信、および/またはそうでなければアクセスすることが可能である。本明細書で説明される技術は、道路ネットワークデータを道路メッシュに関連付け、模擬環境を生成することが可能である。つまり、実際の環境を表現するデータが模擬環境を生成することに用いられることが可能である。ある例示において、模擬環境は、第3のデータ(例えば、第3者からのデータ)で補完されることが可能であり、これは、本明細書で「補完データ」として参照されてよい。本明細書で説明される技術は、さらに、オブジェクトおよび表面の詳細を模擬環境へと手続き的にレンダリングすることに向けられる。結果として生じる模擬環境は、ナビゲーション、プラニング、および/または意思決定のための自律走行車のような自律型ロボットのコンピューティングデバイスによって用いられる、システムおよび/またはコンポーネントをテスト、認証、および/または訓練することに用いられてよい。
【0008】
模擬環境は、訓練、テストを強化すること、および/または自律走行車に搭載されたシステム(例えば、人工知能(AI)スタックの1つまたは複数のコンポーネント)を認証することに用いられることが可能である。例えば、少なくとも1つの例示において、模擬環境は、自律走行車(例えば、このようなシステムで用いられるモデル)に搭載されて用いられる訓練システムに有用であってよく、例えば、実際のデータが容易に利用できない場合と、実際の環境内でテストすることが安全ではない場合と、そうでなければ利用できるより多くのデータの大きさを生成するためとがある。少なくとも1つの例示において、模擬環境は、まれなもしくは低い頻度で発生する状況、および/またはオブジェクトのための訓練データを生成することに用いられてよい。さらに、模擬環境は、例えば、実際の環境が利用できないか、もしくは安全ではない場合のいずれか、またはそうでなければグラウンドトゥルースが利用できない場合に、自律走行車(例えば、モデルおよび/またはシステムがその上で実行されている場合)の性能をテストすることに有用であってよい。
さらに、ある例示において、模擬環境に関連付けられるセンサーデータは、(例えば、オクルージョン、ノイズ、ドリフトなどに起因して)実際の環境に関連付けられるセンサーデータより正確である場合があり、それ故、模擬環境は、実際の環境に関連して得られた観測を検証することに用いられてよい。ある例示において、模擬環境は、(例えば、自律走行車に搭載された1つまたは複数のセンサーシステムの)較正に用いられてよい。上記のように、本明細書で説明される技術は、さまざまな状況において、模擬環境を生成することおよび模擬環境に用いられることに向けられている。
【0009】
本明細書で説明される技術は、さまざまな計算効率を提供する。例えば、本明細書で説明される手続き的なレンダリング技術を用いることによって、コンピューティングデバイスは、より少ない計算リソースを必要とし、模擬世界は、従来の技術を介して利用できるものより速く生成されることが可能である。従来の技術は、スケーラブルではない。例えば、新しい地理的位置の模擬環境を生成することは、従来の技術を用いて、数日、または数か月かかることさえある。自律走行車に搭載された訓練システム、テストシステム、および/または認証システム(例えば、AIスタックの1または複数のコンポーネント)に必要とされる数である、数十、数百、および数千の新しい模擬環境を生成すること(例えば、このような自律走行車が対応する新しい実際の環境に配置される前に)は、数か月、または数年さえかかることで、新しい実際の環境へと入る前に自律走行車に搭載されたこのような訓練システム、テストシステム、および/または認証システム(例えば、AIスタックの1つまたは複数のコンポーネント)の能力を制限する。本明細書で説明される技術は、実際の環境から収集されるセンサーデータを活用して、そのデータを三次データで補完し、従来の技術で利用できるものより効率的に(例えば、対応する実際の環境に対して)実質的に正確な模擬環境を生成するという点で先行技術とは異なる。さらに、本明細書で説明される技術は、オブジェクトおよび/もしくは表面の詳細の追加をランダム化ならびに/またはパラメーター化することによって、模擬環境の外観をカスタマイズするように、大規模でスケーラブルな模擬環境をより少ない時間、且つより少ない計算リソースで生成することを可能とする。
【0010】
さらに、本明細書で説明される技術は、安全性における改善に向けられている。つまり、本明細書で説明される生成技術から生じる模擬環境は、自律走行車に搭載された、テストシステム、訓練システム、および認証システムに用いられることが可能であり、このようなシステムを保証することは、実際の環境内で配置された場合に、自律走行車を安全に操作することが可能である。つまり、本明細書で説明される生成技術から生じる模擬環境は、プランナシステムをテスト、訓練、および認証することに用いられることが可能であり、これは、自律走行車が実際の環境内で軌道に沿って自律走行車をナビゲーションすることに用いられてよい。したがって、本明細書で説明される技術によって可能となるこのような訓練、テスト、および認証は、自律走行車が実際の世界の環境内で安全に動作することが可能であることを保証する機会を提供することが可能である。それ故、本明細書で説明される技術は、安全で影響力のあるナビゲーションを改善する。
【0011】
図1は、本明細書で説明されるような手続き的な世界の生成を表現する概略
図100を図示する。一例示において、1つまたは複数のコンピューティングデバイスは、本明細書で説明されるように、模擬環境を手続き的にレンダリングすることが可能である。
【0012】
少なくとも1つの例示において、データ収集デバイス102は、センサーシステム104を利用し、実際の環境に関連付けられるセンサーデータ106を収集することが可能である。上記のように、センサーシステム104は、LIDARセンサー、RADARセンサー、超音波トランスドューサー、SONARセンサー、ToFセンサー、位置センサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット、加速度計、磁気計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度など)、ホイールエンコーダー、マイク、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)などを含んでよいが、これらに限定されない。センサーシステム104は、センサーデータ106を出力してよく、これは、コンピューティングデバイスによって受信されてよい。ある例示において、データ収集デバイス102は、
図1に図示されるように、実際の環境を横断する自律走行車であってよい。しかしながら、データ収集デバイス102は、実際の環境内で、センサーデータ106を収集することが可能である任意のコンピューティングデバイスであってよい。
【0013】
コンピューティングデバイスは、道路ネットワークデータ108および/または道路メッシュ110を受信、生成、および/またはそうでなければアクセスしてよく、これは、少なくとも部分的にセンサーデータ106に基づいてよい。少なくとも1つの例示において、道路ネットワークデータ108は、例えば、運転レーン要素、自転車レーン要素、駐車レーン要素、横断歩道要素、交差点要素、レーン分割要素、信号機要素、一時停止標識要素、停止線要素、譲れ標識要素、譲れ線要素、ドライブウェイ要素、スピードバンプ要素、ジェイウォーキング領域(例えば、仮想横断歩道)、軌道通過点(例えば、周知の軌道)、乗員ピックアップポイント、標識位置要素、ジオフェンス要素などの1つまたは複数を示す2次元(2D)表現または3次元(3D)表現であってよい。ある例示において、道路ネットワークデータ108は、道路ネットワークデータの特定の部分の属性を示す情報で符号化されてよい。例えば、道路ネットワークデータ108における道路線は、道路線が自転車レーン要素、駐車レーン要素、または横断歩道要素に関連付けられていることを示す情報で符号化されることが可能である。
【0014】
道路メッシュ110は、3Dタイル(これは、以下で説明されるように、位置決めシステムによって出力されてよい)を含んでよい。このような道路ネットワークデータ108および/または道路メッシュ110に関連付けられる追加の詳細は、2018年3月21日に出願された米国特許出願第15/927,806号および2018年3月6日に出願された米国特許出願第15/913,647号において説明され、その両方のすべての内容は、参照により本明細書に組み込まれる。コンピューティングデバイスは、道路ネットワークデータ108を道路メッシュ110に関連付け、模擬環境112を生成することが可能である。このような統合は、少なくともあるインスタンスにおいて、(2Dデータまたは3Dデータとして)道路ネットワークデータ108を道路メッシュ110へと投影することを含んでよい。つまり、本明細書で説明される技術は、実際の世界のデータ(例えば、センサーデータ106)に基づいて、模擬環境(例えば、模擬環境112)を生成することに向けられている。
【0015】
結果として生じる模擬環境112は、(例えば、対応する実際の環境を考慮して)正確な高さおよび表面の詳細を含んでよい。しかしながら、ある例示において、例えば、道路メッシュ110を構築している場合に、オクルージョン(例えば、駐車している車、狭い路地など)に起因して、模擬環境内に欠損(例えば、不完全なデータ)があってよい。少なくとも1つの例示において、コンピューティングデバイスは、既存の模擬環境を補完する第2の代替データソースにアクセスする(例えば、且つ欠損を埋める)ことが可能である。例えば、少なくとも1つの例示において、コンピューティングデバイスは、第3者のソースおよび/またはシステム114からのデータにアクセスすることが可能であり、このような補完データ116を活用し、既存の模擬環境112を補完することが可能である。補完データ116は、現在のデータセット(例えば、道路ネットワークデータ108および道路メッシュ110)を超えることが可能であることによって、補完データ116は、データ収集技術に関連付けられるオクルージョンおよび/またはその他の欠陥に起因して、データ収集デバイス102がそうでなければ利用できない実際の環境に関連付けられる情報を提供する。少なくとも1つの例示において、補完データ116は、米国地質調査所(USGS)のデータ評価モデル(DEM)データなどを含んでよい。USGSのDEMデータは、ラスター標高データ(例えば、数値標高マップ)を有するデータセットを含んでよい。USGSのDEMデータは、関連するデータ(例えば、道路ネットワークデータおよび道路メッシュ)程正確ではない場合があるが、USGSのDEMデータは、多くの場合、より完全である。つまり、USGSのDEMデータは、欠損を有さない場合があるので、このようなデータは、(例えば、データ収集におけるオクルージョンまたは他の欠陥に起因して)データが欠測しているデータセットを補完することに用いられることが可能である。追加または代替の例示において、補完データ116は、実際の環境に関連付けられるツリーマップデータ、実際の環境に関連付けられるカラー画像データ、環境に関連付けられるマップデータなどを含んでよい。
【0016】
さらに、コンピューティングデバイスは、環境内のオブジェクトの特性に関連付けられるデータを活用し、模擬環境112をさらに補完することが可能である。少なくとも1つの例示において、コンピューティングデバイスは、格納されたオブジェクトのフットプリントデータストレージ118にアクセスすることが可能であり、これは、建物または他の静止オブジェクトのフットプリントを表現する格納されたオブジェクトデータ120を格納する。ある例示において、このようなフットプリントは、高さ、分類(例えば、住宅、商業など)などに関するアノテーションに関連付けられることが可能である。コンピューティングデバイスは、ファサード部分およびルールセットを生成するガイドメッシュとして、フットプリントおよび関連するアノテーション(例えば、格納されたオブジェクトデータ120)を利用することが可能である。例えば、一例示において、コンピューティングデバイスは、ルールセットを個々の格納されたオブジェクトのフットプリントに関連付けることが可能である。ルールセットは、オブジェクトのさまざまな部分に関連付ける表面の詳細および/またはテクスチャを示すことが可能である。このようなルールセットは、ランダムに、または1つもしくは複数のパラメーター(例えば、高さ、分類など)に基づいて、個々の格納されたオブジェクトのフットプリントに関連付けられることが可能である。このようなルールセットは、格納されたオブジェクトのフットプリントに対応するオブジェクトのファサード部分を生成する方法を示すことが可能である。例えば、ルールセットは、ファサード部分を生成することに用いられてよいテクスチャへの参照を含んでよい。非限定的な例示として、ルールセットは、商業オフィスビルの1階に特定のメッシュ、テクスチャなど(例えば、建物の分類)を用いること、このような建物などの2階(および続く階)に異なるメッシュ、テクスチャなどを用いることを示してよい。それ故、ルールセットの実行は、表面の詳細(例えば、ファサード)を模擬環境内でオブジェクトに追加することが可能である。このような詳細の追加は、実際の外観の模擬環境が手続き的に生成されることを可能とする。例えば、ファサードの詳細は、影付け機能および/または窓の反射に影響を与える場合があり、これは、模擬環境に複雑さを加えることが可能であることによって、実際の状態を表現する。
【0017】
少なくとも1つの例示において、建物のフットプリント、高さ、テクスチャリング、および分類をランダムに定義してよい。これらのフットプリントに関連付けられるデータがマップ内での位置の指示を有さない例示(例えば、フットプリントがランダムに決定された場合、マップに依存しないフットプリントのデータストレージから取得された場合など)において、このようなフットプリントは、整列されるか、またはそうではない場合配置されてよく、そうすることによって、少なくとも1つのファサードが道路ネットワークにおける車道と整列するように配置され、1つまたは複数のルール(例えば、車道から特定の距離に配置され、分類に基づいて、他の建物から最小または最大の距離、特定の方向に向けられているなど)などに従って間隔が空けられる。このようなルールセットが適用された場合に、もっともらしい外観の建物は、模擬環境112において自動的に(例えば、人間のモデリングなしで)生成されることが可能である。このようなルールを利用することで、設計者の時間および/または計算リソースに多大な投資をすることなく、外観の異なる模擬環境を手続き的に生成することを可能とする。つまり、このようなルールを利用することは、(例えば、比較的単純なルールを介して)複雑な模擬環境が生成されることが可能である効率を高める。
【0018】
ある例示において、コンピューティングデバイスは、テクスチャリングデータを利用し、例えば、リアルタイムのレンダリングの間に、模擬環境112に表面の詳細を追加することが可能である。このような例示において、コンピューティングデバイスは、表面の詳細データストレージ130にアクセスすることが可能であり、これは、表面の詳細データ132を格納する。表面の詳細データ132、これは、「テクスチャリングデータ」とも称され、模擬環境112内のオブジェクトに追加されてよい詳細(例えば、欠陥、パッチ、マーキングなど)を含んでよく、このようなオブジェクトを(技術者の作業負荷を大幅に増加させることなく、または、そうでなければ必要となるアルゴリズム的にカスタマイズするための追加の計算をすることなく)固有に見えるようにさせる。少なくとも1つの例示において、コンピューティングデバイスは、まばらな仮想テクスチャを利用し、1回の描画で模擬環境112をレンダリングすることを可能とし、これは、性能を向上させ、且つ計算リソースを低減させる。このような例示において、それぞれのサーフェル(例えば、表面の要素)は、(識別のような)固有のデータに関連付けられてよく、これによって、個々のサーフェルが割り当てられ、アドレスが指定され、さらにアサインされてよい。さらに、ある例示において、コンピューティングデバイスは、模擬環境112内でレンダリングされるオブジェクトのそれぞれの表面に複数のブラシストローク状のデカールを追加することができる。少なくともある例示において、さまざまなデカールは、さまざまな領域および構造の分類に適用され(例えば、写実的な汚れや煤、落書き、ゴミなどは、例えば、路地における建物のファサードに適用されてよい)、任意の手続きベースのテクスチャリングを変更(例えば、関連する分類が与えられた表面の上にテクスチャのパターンを適用)することができる。本明細書で説明される技術は、設計者にいくつかの異なるテクスチャをモデル化させることを可能とし、これは、模擬環境112全体で用いられることが可能である。表面の詳細を模擬環境112に追加することは、模擬環境112内および模擬環境112と他の模擬環境との間で多様性を高めることが可能である。
【0019】
結果として生じる模擬環境134は、模擬コンピューティングシステムによる使用のために出力されてよい。少なくとも1つの例示において、模擬環境134は、自律走行車に搭載された訓練システム、テストシステム、および/または認証システム(例えば、AIスタックの1つまたは複数のコンポーネント)を強化することに有用であってよい。例えば、少なくとも1つの例示において、模擬環境134は、自律走行車(例えば、このようなシステムで用いられるモデル)に搭載されて用いられる訓練システムに有用であってよく、例えば、実際のデータが容易に利用できない場合と、実際の環境内でテストすることが安全ではない場合と、そうでなければ利用できるより多くのデータの大きさを生成するためとがある。少なくとも1つの例示において、模擬環境134は、まれなもしくは低い頻度で発生する状況、および/またはオブジェクトのための訓練データを生成することに用いられてよい。さらに、模擬環境134は、例えば、実際の環境が利用できないか、もしくは安全ではない場合のいずれか、またはそうでなければグラウンドトゥルースが利用できない場合に、自律走行車(例えば、モデルおよび/またはシステムがその上で実行されている場合)の性能をテストすることに有用であってよい。模擬環境を有することによって、人間ベースのデータのアノテーションを必要とはせずに、このような認証のために正確なグラウンドトゥルース測定値が決定されることが可能である。さらに、ある例示において、模擬環境134に関連付けられるセンサーデータは、(例えば、オクルージョン、ノイズ、ドリフトなどに起因して)実際の環境に関連付けられるセンサーデータより正確である場合があり、それ故、模擬環境134は、実際の環境に関連して得られた観測を検証することに用いられてよい。ある例示において、模擬環境134は、(例えば、自律走行車に搭載された1つまたは複数のセンサーシステムの)較正に用いられてよい。
【0020】
図2A~
図2Fは、本明細書で説明されるように、模擬環境のレンダリングの手続きのさまざまな態様の非限定的な例示を図示する。
【0021】
上記のように、データ収集デバイス102は、センサーシステム104を介して実際の環境に関連付けられるセンサーデータ106を生成することが可能である。コンピューティングデバイスは、
図2Aに図示されるように、センサーデータ106を受信してよく、道路ネットワークデータ108を受信、生成、および/またはそうでなければアクセスしてよい。少なくとも1つの例示において、道路ネットワークデータ108は、例えば、運転レーン要素、自転車レーン要素、駐車レーン要素、横断歩道要素、交差点要素、レーン分割要素、信号機要素、一時停止標識要素、停止線要素、譲れ標識要素、譲れ線要素、ドライブウェイ要素、スピードバンプ要素、ジェイウォーキング領域(例えば、仮想横断歩道)、軌道通過点(例えば、周知の軌道)、乗員ピックアップポイント、標識位置要素、ジオフェンス要素などの1つまたは複数を示す2D表現または3D表現であってよい。さらに、コンピューティングデバイスは、道路メッシュ110を生成することが可能である。少なくとも1つの例示において、
図2Bに図示されるように、センサーデータ106は、LIDARデータを含んでよく、これは、実際の環境を表現する3Dの点群を生成することに用いられてよい。少なくとも1つの例示において、コンピューティングデバイスは、3Dの点群に基づいて道路メッシュ110を生成することが可能である。道路メッシュ110は、3Dタイル(これは、以下で説明されるように、位置決めシステムによって出力されてよい)を含んでよい。コンピューティングデバイスは、道路ネットワークデータ108を道路メッシュ110に関連付け、模擬環境112を生成することが可能である。このような統合は、少なくともあるインスタンスにおいて、(2Dデータまたは3Dデータとして)道路ネットワークデータ108を道路メッシュ110へと投影することを含んでよい。
【0022】
結果として生じる模擬環境112は、(例えば、対応する実際の環境を考慮して)正確な高さおよび表面の詳細を含んでよい。しかしながら、ある例示において、例えば、道路メッシュ110を構築する場合に、オクルージョン(例えば、駐車している車、狭い路地など)に起因して、模擬環境内(例えば、不完全なデータ)に欠損があってよい。少なくとも1つの例示において、コンピューティングデバイスは、既存の模擬環境を補完する第2の代替データソースにアクセスする(例えば、且つ欠損を埋める)ことが可能である。
図2Cは、
図2Aおよび
図2Bに表現されているように、実際の環境の同じ部分に対応する補完データ116の非限定的な例示を図示している。例えば、少なくとも1つの例示において、コンピューティングデバイスは、(例えば、道路ネットワークデータ108および/または道路メッシュ110を補完データ116と統合させることによって)第三者のソースおよび/またはシステム114からのデータにアクセスし、このような補完データ116を活用し、既存の模擬環境112を補完することが可能である。上記のように、補完データ116は、実際の環境に関連付けられるUSGS DEMデータ、実際の環境に関連付けられるツリーマップデータ、実際の環境に関連付けられるカラー画像データ、環境に関連付けられるマップデータなどを含んでよい。
【0023】
さらに、コンピューティングデバイスは、環境内のオブジェクトの特性に関連付けられるデータを活用し、模擬環境112をさらに補完することが可能である。少なくとも1つの例示において、コンピューティングデバイスは、格納されたオブジェクトのフットプリントデータストレージ118にアクセスすることが可能であり、これは、建物または他の静止オブジェクトのフットプリントを表現する格納されたオブジェクトデータ120を格納する。ある例示において、このようなフットプリントは、高さ、分類(例えば、住宅、商業など)などに関するアノテーションに関連付けられることが可能である。上記のように、コンピューティングデバイスは、ファサード部分を生成するガイドメッシュとして、フットプリントおよび関連するアノテーション(例えば、格納されたオブジェクトデータ120)を利用することが可能である。少なくとも1つの例示において、建物のフットプリント、高さ、テクスチャリング、ルールセット、および/または分類は、ランダムに定義されてよい。これらのフットプリントに関連付けられるデータがマップ内での位置の指示を有さない例示(例えば、フットプリントがランダムに決定された場合、マップに依存しないフットプリントのデータストレージから取得された場合など)において、このようなフットプリントは、整列されるか、またはそうではない場合配置されてよく、そうすることによって、少なくとも1つのファサードが道路ネットワークにおける車道と整列するように配置され、1つまたは複数のルール(例えば、車道から特定の距離に配置され、分類に基づいて、他の建物から最小または最大の距離、特定の方向に向けられているなど)などに従って間隔が空けられる。
図2Dに図示されるように、このようなルールセットが適用された場合に、もっともらしい外観の建物は、模擬環境112内で自動的に生成されることが可能である。
【0024】
ある例示において、コンピューティングデバイスは、テクスチャリングデータを利用し、例えば、リアルタイムのレンダリングの間に、模擬環境112に表面の詳細を追加することが可能である。このような例示において、コンピューティングデバイスは、表面の詳細データストレージ130にアクセスすることが可能であり、これは、表面の詳細データ132を格納する。表面の詳細データ132、これは、「テクスチャリングデータ」とも称され、模擬環境112内のオブジェクトに追加されてよい詳細(例えば、欠陥、パッチ、マーキングなど)を含んでよく、このようなオブジェクトを(技術者の作業負荷を大幅に増加させることなく)固有に見えるようにさせる。
図2Eに図示されるように、少なくとも1つの例示において、コンピューティングデバイスは、まばらな仮想テクスチャを利用し、1回の描画で模擬環境112をレンダリングすることを可能とし、これは、性能を向上させ、且つ計算リソースを低減させる。このような例示において、それぞれのサーフェルは、(識別のような)固有のデータに関連付けられてよく、これによって、個々のサーフェルが割り当てられ、アドレスが指定され、さらにアサインされてよい。
図2Eにおいて、説明の目的のために単一の英数字として描かれているが、このような識別は、それ程限定的であることを意味するものではない。さらに、ある例示において、コンピューティングデバイスは、模擬環境112内でレンダリングされるオブジェクトのそれぞれの表面に複数のブラシストローク状のデカールを追加することができる。少なくともある例示において、さまざまなデカールは、さまざまな領域および構造の分類に適用され(例えば、写実的な汚れや煤、落書き、ゴミなどは、例えば、路地における建物のファサードに適用されてよい)、任意の手続きベースのテクスチャリングを変更(例えば、関連する分類が与えられた表面の上にテクスチャのパターンを適用)する。
【0025】
図2Fは、本明細書で説明されるように、結果として生じる模擬環境134の非限定的な例示を図示し、これは、自律走行車に搭載された訓練システム、テストシステム、および/または認証システム(例えば、AIスタックの1つまたは複数のコンポーネント)を強化するためのものであってよい。つまり、ある例示において、結果として生じる模擬環境134は、自律走行車の車載システムによって用いられる訓練アルゴリズム、テストアルゴリズム、および/または認証アルゴリズムに用いられてよく、これは、自律走行車を制御することに用いられることに用いられてよい。
【0026】
図3は、模擬環境を手続き的にレンダリングする例示的なシステムを図示するブロック図である。
【0027】
少なくとも1つの例示において、車両302は、1つまたは複数の車両コンピューティングデバイス304、1つまたは複数のセンサーシステム306、1つまたは複数のエミッター308、1つまたは複数の通信接続310、少なくとも1つの直接接続312、および1つまたは複数のドライブシステム314を含んでよい。例示の目的で、車両302は、米国国家幹線道路交通安全局によって発行されたレベル5の分類に従って動作するよう構成される自律走行車であってよく、これは、運転者(または乗員)が車両を常に制御することを期待するのではなく、全体行程のすべての安全上重要な機能を実行することが可能である車両を説明している。このような例示において、車両302は、すべての駐車機能を含む、始動から停止までのすべての機能を制御するよう構成されてよいため、空いていてよい。これは単に例示であり、本明細書で説明されるシステムおよび方法は、運転者によって常に手動で制御される必要がある車両から、部分的または完全に自律的に制御されているものまでを含む任意の地上、空中、または水上車両へと組み込まれてよい。つまり、説明された例示において、車両302は、自律走行車であるが、車両302は、任意の他のタイプの車両であってよい。
【0028】
少なくとも1つの例示において、車両302は、(例えば、データ収集デバイス102の)データ収集デバイスであってよい。追加のまたは代替の例示において、上記のAIスタックの1つまたは複数のコンポーネントが車両302に関連付けられてよい。つまり、本明細書で説明される模擬環境は、車両302を参照して以下で説明される1つまたは複数のコンポーネントを訓練、テスト、および/または認証することに用いられることが可能である。
【0029】
車両コンピューティングデバイス304は、プロセッサ316およびプロセッサ316と通信可能に結合されたメモリ318を含んでよい。説明された例示において、車両コンピューティングデバイス304のメモリ318は、位置決めシステム320、知覚システム322、予測システム324、プラニングシステム326、および1つまたは複数のシステムコントローラ328を格納する。さらに、メモリ318は、ストレージ230を含んでよく、これは、マップ、モデルなどを格納してよい。マップは、トポロジー(交差点など)、車道、山脈、道路、地形、および一般的な環境などであるが、これらに限定されない環境についての情報を提供することが可能である、2次元、3次元、またはN次元でモデル化される任意の数のデータ構造であってよい。マップは、実際の環境または模擬環境に関連付けられてよい。モデルは、以下で説明されるように、マシンによって訓練されたモデルを含んでよい。
【0030】
少なくとも1つの例示において、位置決めシステム320は、センサーシステム306および/またはマップに関連付けられる(例えば、マップの)マップデータから受信されるセンサーデータに少なくとも部分的に基づいて、ローカルマップおよび/またはグローバルマップに関連する車両302の姿勢(例えば、位置および向き)を決定することが可能である。少なくとも1つの例示において、位置決めシステム320は、較正すること(センサーシステム306のうちのいずれか1つまたは複数の関連付けられるさまざまな内因性および外因性パラメーターを決定すること)、位置決めすること、およびマッピングすることを実質的に同時に実行する操作を実行することが可能である較正システムを含むか、または関連付けられてよい。このようなシステムに関連付けられる追加の詳細は、2017年8月11日に出願された米国特許出願第15/675,487号に記載されており、これは、2017年8月11日に出願された米国特許出願第15/675,853号に関連し、これらの両方のすべての内容が参照により本明細書に組み込まれる。上記のように、位置決めシステム320は、センサーシステム306によって受信されるセンサーデータに基づいて、道路ネットワークデータおよび/または道路メッシュを出力することが可能である。
【0031】
少なくとも1つの例示において、知覚システム322は、センサーシステム306から受信されるセンサーデータに少なくとも部分的に基づいて、オブジェクトの検出、セグメンテーション、および/または分類を実行することが可能である。少なくとも1つの例示において、知覚システム322は、(例えば、センサーシステム306から)生のセンサーデータを受信することが可能である。他の例示において、知覚システム322は、(例えば、センサーシステム306から)処理されたセンサーデータを受信することが可能である。例えば、少なくとも1つの例示において、知覚システム322は、カメラデータ(例えば、画像)を受信および処理する視覚システムからデータを受信することが可能である。少なくとも1つの例示において、視覚システムは、1つまたは複数の画像処理アルゴリズムを利用し、画像内で識別されるオブジェクトに対してオブジェクトの検出、セグメンテーション、および/または分類を実行することを可能とする。ある例示において、視覚システムは、境界ボックス(またはインスタンスセグメンテーションのような他の意味情報)を識別されるオブジェクトに関連付けてよく、識別されるオブジェクトの分類に関連付けられる信頼スコアを関連付けてよい。ある例示において、オブジェクトは、ディスプレイを介してレンダリングされた場合に、知覚されるクラスに基づいて色がつけられてよい。少なくとも他の例示において、同様のプロセス(検出、分類、セグメンテーションなど)は、1つまたは複数の他のモダリティ(例えば、LIDAR、RADAR、ToFセンサーなど)のための知覚システム322によって実行されてよい。
【0032】
予測システム324は、センサーシステム306からのセンサーデータ、(例えば、ストレージ230内に存在し得るマップの)マップに関連付けられるマップデータ、および/または知覚システム322から出力される知覚データ(例えば、処理されたセンサデータ)にアクセスしてよく、車両302の環境内の1つまたは複数のオブジェクトに関連付けられる予測を出力してよい。少なくとも1つの例示において、プラニングシステム326は、センサーシステム306から受信されるセンサーデータおよび/または知覚システム322によって実行される任意の決定に少なくとも部分的に基づいて、車両302を制御することに用いるルートおよび/または軌道を決定することが可能である。位置決めシステム、知覚システム、予測システム、および/またはプラニングシステムの追加の詳細は、2017年4月4日に発行された米国特許第9,612,123号、および2017年6月23日に出願された米国特許出願第15/632,208号において使用できることが認められてよく、これらの両方のすべての内容は、参照により本明細書に組み込まれる。ある例示において(例えば、車両302が自律走行車ではない場合)、前述のシステムおよび/またはコンポーネントの1つまたは複数を車両302から除いてよい。上記のシステムは、車両302に「搭載された」ものとして説明されているが、他の実装形態おいて、システムは、遠隔に配置され、および/または車両302にアクセス可能であってよい。
【0033】
少なくとも1つの例示において、位置決めシステム320、知覚システム322、予測システム324、および/またはプラニングシステム326は、上記のようにセンサーデータを処理することが可能であり、ネットワーク332を介してそれぞれの出力をコンピューティングデバイス334に送信することが可能である。少なくとも1つの例示において、位置決めシステム320、知覚システム322、予測システム324、および/またはプラニングシステム326は、ほぼリアルタイムなどの所定の期間が経過した後で、特定の周波数でそれぞれの出力をコンピューティングデバイス334に送信することが可能である。
【0034】
少なくとも1つの例示において、車両コンピューティングデバイス304は、1つまたは複数のシステムコントローラ328を含んでよく、これは、車両302のステアリング、推進、ブレーキ、安全性、エミッター、通信、および他のシステムを制御するよう構成されてよい。これらのシステムコントローラ328は、ドライブシステム314および/または車両302の他のコンポーネントに対応するシステムと通信および/または制御することが可能である。
【0035】
少なくとも1つの例示において、センサーシステム306は、センサーシステム104に対応してよく、LIDARセンサー、RADARセンサー、ToFセンサー、超音波トランスデューサー、SONARセンサー、位置センサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度など)、マイクロフォン、ホイールエンコーダー、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)などを含む。センサーシステム306は、これらのそれぞれの多様なインスタンスまたは他のタイプのセンサーを含んでよい。例えば、LIDARセンサーは、車両302の角部、前部、後部、側部、および/または上部に位置する個々のLIDARセンサーを含んでよい。別の例示として、カメラセンサーは、車両302の外部および/または内部のさまざまな位置に配置される多様なカメラを含んでよい。センサーシステム306は、車両コンピューティングデバイス304に入力を提供してよい。ある例示において、センサーシステム306は、センサーデータを車両コンピューティングデバイス304に送信する前に、センサーデータの少なくとも一部を前処理することが可能である。少なくとも1つの例示において、センサーシステム306は、ネットワーク332を介して、ほぼリアルタイムなどの所定の期間が経過した後で、特定の周波数でセンサーデータをコンピューティングデバイス334に送信することが可能である。
【0036】
また、車両302は、上記のように、光および/または音を発する1つまたは複数のエミッター308を含んでよい。本例示におけるエミッター308は、内部音声および視覚エミッターを含み、車両302の乗員と通信する。例示の目的であり、限定ではなく、内部エミッターは、スピーカー、光、記号、ディスプレイ画面、タッチ画面、触覚エミッター(例えば、振動および/または力フィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含んでよい。本例示におけるエミッター308は、外部エミッターも含む。例示の目的であり、限定ではなく、本例示における外部エミッターは、歩行者、他の運転者、他の近くの車両などと視覚的に通信する光エミッター(例えば、インジケーターライト、標識、ライトアレイなど)歩行者、他のドライバー、他の近くの車両などと音声で通信する1つまたは複数の音声エミッター(例えば、スピーカー、スピーカーアレイ、ホーンなど)などを含む。少なくとも1つの例示において、エミッター308は、車両302の外部および/または内部のさまざまな位置に配置されてよい。
【0037】
また、車両302は、車両302と他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能とする通信接続310を含んでよい。例えば、通信接続310は、車両302および/またはドライブシステム314上の他のローカルコンピューティングデバイスとの通信を容易にすることが可能である。また、通信接続310は、車両が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通信号など)と通信することを可能とすることが可能である。また、通信接続310は、車両302が遠隔操作のコンピューティングデバイスと、または他の遠隔サービスと通信することを可能とする。
【0038】
通信接続310は、車両コンピューティングデバイス304を別のコンピューティングデバイスまたはネットワーク332などのネットワークに接続する物理的および/または論理インターフェースを含んでよい。例えば、通信接続310は、IEEE802.11規格によって定義される周波数などを介するWi-Fiベースの通信を可能とすることができ、ブルートゥース(登録商標)などの短距離無線周波数、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能とする任意の適切な有線または無線通信プロトコルを可能とすることができる。
【0039】
直接接続312は、ドライブシステム314および車両302の他のコンポーネントを直接接続してよい。
【0040】
少なくとも1つの例示において、車両302は、ドライブシステム314を含んでよい。ある例示において、車両302は、単一のドライブシステム314を有してよい。少なくとも1つの例示において、車両302が多様なドライブシステム314を有する場合、個々のドライブシステム314は、車両302の両端に(例えば、前部および後部など)に配置されてよい。少なくとも1つの例示において、ドライブシステム314は、ドライブシステム314の状態および/または車両302の周囲の状態を検出するセンサーシステムを含んでよい。例示の目的であり、限定ではなく、センサーシステムは、ドライブモジュールのホイールの回転を感知するホイールエンコーダー(例えば、ロータリーエンコーダー)、ドライブモジュールの位置および加速度を測定する慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたはその他の画像センサー、ドライブモジュールの周囲におけるオブジェクトを音声的に検出する超音波センサー、LIDARセンサー、RADARセンサーなどを含んでよい。ホイールエンコーダーのようなあるセンサーは、ドライブシステム314に固有であってよい。ある場合において、ドライブシステム314にあるセンサーシステムは、車両302の対応するシステム(例えば、センサーシステム306)と重複または補完してよい。
【0041】
ドライブシステム314は、高電圧バッテリー、車両302を推進するモーター、バッテリーからの直流電流を他の車両システムによって利用される交流電流へと変換するインバーター、ステアリングモーターおよびステアリングラック(これは、電動であってよい)を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し、且つ制御を維持するために制動力の分散をするスタビリティー制御システム、HVACシステム、照明(例えば、車両の外部周囲を照らすヘッド/テールライトなどの照明)、および1つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのようなその他の電装コンポーネント)を含む多くの車両システムを含んでよい。さらに、ドライブシステム314は、ドライブモジュールコントローラを含んでよく、これは、センサーシステムからデータを受信し、且つ前処理をし、さまざまな車両システムの動作を制御することが可能である。ある例示において、ドライブモジュールコントローラは、プロセッサおよびプロセッサと通信可能に結合されたメモリを含んでよい。メモリは、1つまたは複数のモジュールを格納してよく、ドライブモジュール314のさまざまな機能を実行する。さらに、ドライブモジュール314は、また、それぞれのドライブモジュールと他のローカルと、または遠隔のコンピューティングデバイスとによって、通信を可能とする通信接続を含む。
【0042】
ある例示において、車両コンピューティングデバイス304、センサーシステム306、エミッター308、および通信接続310は、例えば、模擬環境を「トラバースすること」に利用する模擬車両または模擬システムとして実際の車両の外部に実装されてよい。つまり、車両コンピューティングデバイス304、センサーシステム306、エミッター308、および通信接続310は、上記のような模擬の目的のために模擬自律走行車として用いられてよい。
【0043】
上記のように、車両302は、ネットワーク332を介して、センサーデータをコンピューティングデバイス334に送信することが可能である。つまり、ある例示において、車両302は、
図1を参照して上記で説明されるようにデータ収集デバイス102であってよい。本考察の目的のために、
図1を参照して上記で説明されるコンピューティングデバイスは、車両コンピューティングデバイス304および/またはコンピューティングデバイス334を参照してよい。ある例示において、車両302は、生センサーデータをコンピューティングデバイス334に送信することが可能である。他の例示において、車両302は、処理されたセンサーデータおよび/またはセンサーデータの表現(例えば、位置決めシステム320、知覚システム322、予測システム324、および/またはプラニングシステム326から出力されるデータ)をコンピューティングデバイス334に送信することが可能である。ある例示において、車両302は、リアルタイムに近い時間などにおいて、所定の期間が経過した後で、センサーデータを特定の周波数でコンピューティングデバイス334に送信することが可能である。
【0044】
コンピューティングデバイス334は、車両302および/または1つまたは複数のデータ収集デバイス336(これは、車両302のような他の車両を含んでよい)から(生または処理された)センサーデータを受信することが可能であり、同様に、1つまたは複数の第三者のソースおよび/またはシステム338からデータを受信することが可能である。少なくとも1つの例示において、コンピューティングデバイス334は、プロセッサ340およびプロセッサ340と通信可能に結合されたメモリ342を含んでよい。説明された例示において、コンピューティングデバイス334のメモリ342は、模擬システム344、訓練システム346、評価システム348、マップストレージ350(例えば、1つまたは複数のマップ、道路ネットワークデータ、道路メッシュなど)、訓練データストレージ352(例えば、訓練システム346にアクセス可能な訓練データを格納する)、モデルストレージ354(例えば、訓練システム346によって出力されるモデル)、格納されたオブジェクトのフットプリントデータストレージ356、および表面の詳細データストレージ358を格納する。ある例示において、1つまたは複数のシステムおよび/またはストレージリポジトリは、コンピューティングデバイス334のメモリ342に関連付けられることの代わりに、またはそれに加えて、車両302に関連付けられてよい。
【0045】
模擬システム344は、模擬環境を生成することが可能である。少なくとも1つの例示において、模擬システム344は、
図1~
図2Gを参照して上記で説明されるように、手続き的な生成(例えば、アルゴリズム的なデータの作成)を介して模擬環境を生成することが可能である。また、追加の詳細は、以下で説明される。少なくとも1つの例示において、模擬システム344は、格納されたオブジェクトのフットプリントデータストレージ356および/または表面の詳細データストレージ358にアクセスし、模擬環境を手続き的にレンダリングすることが可能である。1つの例示において、格納されたオブジェクトのフットプリントデータストレージ356は、
図1を参照して上記で説明されるオブジェクトのフットプリントデータストレージ118に対応してよく、
図1を参照し、上記で説明されるように、表面の詳細データストレージ358は、表面の詳細データストレージ130に対応してよい。ある例示において、格納されたオブジェクトのフットプリントデータストレージ356および/または表面の詳細データストレージ358は、
図3に図示されるように、メモリ342の中に格納されてよい。追加または代替の例示において、格納されたオブジェクトのフットプリントデータストレージ356および/または表面の詳細データストレージ358は、遠隔に格納され、且つコンピューティングデバイス334にアクセス可能であってよく、および/またはそこに格納されたデータは、第三者のソースおよび/またはシステム338からコンピューティングデバイス334に提供されてよい。ある例示において、格納されたオブジェクトデータおよび/または表面のテクスチャデータは、ほぼリアルタイムで生成されることが可能である。
【0046】
少なくとも1つの例示において、以下で説明されるように、模擬システム344は、模擬環境内でオブジェクトを手続き的にレンダリングすることが可能である。つまり、ある例示において、上記のデータ(例えば、3Dタイル、道路ネットワークデータ、補完データなど)は、対応する実際の環境と比較した場合にまだ欠陥を有する。このような例示において、模擬システム344は、さまざまな経験則を利用し、模擬環境内でオブジェクトをレンダリングすることが可能である。このようなオブジェクトの非限定的な例示において、街灯柱および/または街灯柱を信号機に接続する柱、駐車標識(例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である)、駐車メーター(例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である)、一時停止標識(例えば、これは、道路ネットワークデータから決定された停止線に基づいてレンダリングされることが可能である)などを含む。追加の詳細は、
図6を参照して以下で説明される。
【0047】
少なくとも1つの例示において、評価システム348は、知覚システム322(または知覚システム322へとデータを入力する別のシステム(例えば、視覚システム、LIDARシステムなど))を用いて、対応する実際の環境に対して模擬環境、またはその一部がどれだけ現実的であるかを評価することが可能である。ある例示において、2つの環境(例えば、実際の環境対模擬環境)では、人間にとっては異なって見える場合があるが、例えば、本明細書で定義されているようなロボットシステム(例えば、自律走行車)にとっては(例えば、ニューラルネットワークのアクティブ化に基づいて)同じように知覚される場合がある。少なくとも1つの例示において、評価システム348は、機械で訓練されたモデルを用いてデータを分析し、模擬環境の本物らしさを評価することが可能である。例えば、少なくとも1つの例示において、評価システム348は、システム(例えば、視覚システム、LIDARシステムなど)に関連付けられる(例えば、模擬環境に基づく)ニューラルネットワークの第1の中間出力を(例えば、対応する実際の環境に基づく)ニューラルネットワークの第2の中間出力と分析することが可能であり、模擬環境に関連付けられるニューラルネットワークのアクティブ化が、対応する実際の環境に関連付けられるニューラルネットワークのアクティブ化と比較された場合に、どれだけ類似しているか表現し得る類似性測定基準(例えば、差)を決定することが可能である。
【0048】
少なくともある例示において、このようなアクティブ化は、入力空間の領域を対応するグリッドへと離散化し、且つ入力データおよび比較データに対して関連するグリッドにおけるアクティブ化のヒストグラムを構築することによって比較することが可能である。一度決定されると、ヒストグラムは、例えば、サポートベクターマシン(SVM)によって分析されてよく、ここで、距離(例えば、統計的な距離)は、2つのデータセットがどれだけ類似しているかを判断することに用いられる。ある例示において、異なるセンサーのデータタイプは、異なる関心のあるパラメーター(例えば、模擬環境の本物らしさを改善するために調整される異なるパラメーター)に関連付けることができる。例えば、視覚システムでは、関心のあるパラメーターは、明るさ、露出などであってよく、LIDARシステムでは、関心のあるパラメーターは、角度、距離、強度、センサーモダリティーなどであってよい。
【0049】
少なくとも1つの例示において、訓練システム346は、どのパラメーターが知覚システム322にとって重要であるか(例えば、知覚システム322が実際の環境を知覚しているかのように模擬環境を知覚し得るためには、どのパラメーターが重要であるか)を学習するデータモデルを訓練することが可能である。つまり、少なくとも1つの例示において、訓練システム346は、データモデルを訓練し、1つまたは複数の識別されるパラメーターに基づいて本物らしさを評価することが可能である。訓練および/またはこのようなモデルの使用に関連する追加の詳細は、2018年10月17日に本明細書と同時にこのようにして出願された米国特許出願第16/163,435号に記載されており、そのすべての内容は参照により本明細書に組み込まれる。
【0050】
上記のように、少なくとも1つの例示において、評価システム348は、(例えば、上記のように)機械で訓練されたモデルを用いてデータを分析し、模擬環境の本物らしさを評価することが可能である。つまり、評価システム348は、模擬環境を分析し、対応する実際の環境がニューラルネットワークをどのようにアクティブ化するのかと同様に、このような模擬環境がニューラルネットワークをアクティブ化するかを判断することが可能である。少なくとも1つの例示において、評価システム348は、機械で訓練されたモデルを利用し、実際の環境に関連付けられる第1の中間出力と対応する模擬環境に関連付けられる第2の中間出力とを比較して、第1の中間出力と第2の中間出力との間の類似性の表現である類似性測定基準(例えば、差、距離など)を決定することが可能である。ある例示において、第1の中間出力および第2の中間出力は、画像、データの一部(例えば、データに関連付けられる個々のオブジェクトに対応するもの)などから導出されてよい。例えば、少なくとも1つの例示において、第1の中間出力は、実際の環境に関連付けられる画像における第1の知覚オブジェクトに関連付けられてよく、第2の中間出力は、模擬環境に関連付けられる画像における第2の知覚オブジェクトに関連付けられてよい。類似性測定基準(例えば、差、距離など)が閾値を満たさない場合(例えば、第1の中間出力および第2の中間出力は、類似している)、評価システム348は、模擬環境が実際の環境を現実的に表現している(例えば、ニューラルネットワークのアクティブ化は、類似している)と判断することが可能である。しかしながら、類似性測定基準(例えば、差、距離など)が閾値を満たすか、または超える場合、評価システム348は、1つまたは複数のパラメーターを調整し、1つまたは複数の測定基準への変化を観察することが可能である。例えば、評価システム348は、写実性を改善するために、明るさ、露出などのパラメーターを調整することが可能である。
【0051】
上記のように、模擬環境は、訓練、テスト、および/または車両302のような自律走行車に搭載された認証システム(例えば、AIスタックの1つまたは複数のコンポーネント)を強化することに有用であってよい。少なくとも1つの例示において、模擬環境は、実際の環境からの訓練データが不十分である(例えば、まれなオブジェクト、まれな状況などであることだが)訓練データモデルのために有用であってよい。このような例示において、結果として生じるデータモデルは、車両302によってプロビジョニングされるか、またはアクセス可能であってよく、車両302は、リアルタイム(例えば、実際の環境内で運転している間、またはそうでなければ動作している間)で、オブジェクトを分類するデータモデルを利用することが可能である。つまり、知覚システム322は、(模擬環境に関連付けられる模擬データに基づいて訓練された)搭載されたデータモデルを利用し、ほぼリアルタイムでオブジェクトを分類することが可能である。
【0052】
非限定的な例示として、実際の環境からの訓練データは、車両302を訓練するためには不十分であり、まれなイベント/オブジェクト(例えば、頻繁に見られない信号機のタイプ)を認識する。少なくとも1つの例示において、模擬環境を実際の環境と比較することによって、データモデルは、特定のパラメーターが交通信号分類器の訓練にとって重要であることを学習することができる。例えば、このようなパラメーターは、電球の変色、陰影、レンズの歪み、信号機の汚れ、フィラメントの焼き切れ、明るさの変化、電球の回転、電球の強度などを含んでよい。パラメーターの識別に基づいて訓練システム346は、交通信号に関連付けられる模擬環境を調整することが可能であり、調整された模擬環境に基づいて交通信号分類器を訓練することが可能である。このような分類器は、車両302によってプロビジョニングされるか、またはアクセス可能であってよく、車両302は、リアルタイムで信号機を分類するデータモデルを利用することが可能である。例えば、知覚システム322は、(模擬環境を生成することに用いられる模擬データに基づいて訓練された)搭載された分類器をほぼリアルタイムで利用し、交通信号を分類することが可能である。つまり、上記のように、少なくとも1つの例示において、分類器は、模擬データで訓練されてよく、実際のデータを評価することに用いられてよい。ある例示において、分類器は実際のデータで訓練されてよく、模擬データを用いて認証されてよい。このような例示において、識別される相違は、分類器を改善することに用いられてよい。少なくともある例示において、このようなまれな例示は、例えば、模擬画像データに基づく交通信号検出器、実際のデータで実行している検出器、および検出が見落とされた場所を決定することを訓練することによって識別されてよい。同様に、模擬パラメーターが正しくないと判断することは、実際のデータでアルゴリズム(例えば、上記と同一の検出器)を訓練すること、模擬データでこのような検出器を実行させること、および見落とされたオブジェクトを検出することを含んでよい。
【0053】
さらに、模擬環境は、位置決めシステム320によって用いられる位置決めアルゴリズムを認証および/または更新することに有用であってよい。例えば、実際の環境内で、GPSセンサーは、位置のずれを経験し、結果として誤差を蓄積する場合がある。したがって、車両302を位置決めすることに用いられる位置決めアルゴリズムを認証するために、評価システム348は、模擬環境を用いてよく、ここで、車両302の姿勢がさまざまな時間(すべての時間を含む)で周知であり、(例えば、位置および/または方向のグラウンドトゥルースとして、模擬姿勢に依存することによって)対応する実際の環境に関連付けられるセンサーデータを評価して、位置決めアルゴリズムを認証する。このような例示において、センサーシステム306は、模擬環境に関連付けられるセンサーデータを生成してよく、センサーデータは、知覚システム322によって分析されてよい。知覚システム322(例えば、実際の環境内の位置に関連付けられている)の出力は、模擬環境内で対応する位置に関連付けられているセンサーデータを考慮して認証されてよい。つまり、模擬環境内の位置に関連付けられるセンサーデータは、実際の環境内で対応する位置のグラウンドトゥルースとして機能してよい。一例示として、模擬環境(例えば、車両302の姿勢が周知である場合)に関連して記録されるLIDARデータは、実際の環境内で対応する位置に関連して記録されるLIDARデータと比較されてよく、位置決定アルゴリズムは、適宜更新されてよい。さらに、模擬環境は、センサーシステム306のRADARまたは他のセンサーを認証することに有用であってよい。ある例示において、模擬環境は、(例えば、センサーシステム106の)センサーを較正するグラウンドトゥルースデータを提供することが可能である。他の例示は、模擬におけるロールシャッターの認証、さまざまなセンサーの(例えば、1つまたは複数の内因性または外因性の)較正などを含むが、これらに限定されない。理解されるように、本明細書で説明される技術は、他のさまざまなシステム、サブシステムなどの認証、較正、訓練などに用いられてよい。
【0054】
車両302のプロセッサ316およびコンピューティングデバイス334のプロセッサ340は、本明細書で説明されるようにデータを処理し、且つ操作を実行する命令を実行することが可能である任意の適切なプロセッサであってよい。限定ではなく例示として、プロセッサ316および340は、1つまたは複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、または電子データを処理して、その電子データをレジスタおよび/またはメモリに格納し得る他の電子データへと変換する任意の他のデバイスまたはデバイスの一部を含んでよい。ある例示において、関連回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスは、また、それらが符号化された命令を実装するよう構成される限り、プロセッサとみなしてよい。
【0055】
メモリ318および342は、非一時的なコンピュータ可読媒体の例示である。メモリ318およびメモリ342は、オペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納してよく、本明細書で説明される方法およびさまざまなシステムに起因する機能を実装する。さまざまな実装において、メモリは、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を格納し得る他の任意のタイプのメモリのような任意の適切なメモリ技術を用いて実装されてよい。本明細書で説明されるアーキテクチャ、システム、および個々の要素は、他の多くの論理的、プログラム的、および物理的なコンポーネントを含んでよく、それらが添付図面において図示されるものは、単に本明細書での説明に関連する例示にすぎない。
【0056】
図3は、分散システムとして図示されている一方で、代替の例示において、車両302のコンポーネントは、コンピューティングデバイス334に関連付けられてよく、および/またはコンピューティングデバイス334のコンポーネントは、車両302に関連付けられてよいということに注意されたい。つまり、車両302は、コンピューティングデバイス334に関連付けられる機能の1つまたは複数を実行してよく、逆もまた同様である。
【0057】
図4~
図6は、本明細書で説明される技術を含む例示的な方法を図示するフローチャートである。
図4~
図6に図示される方法は、利便性および理解の容易さのために
図3に図示されるシステム300を参照して説明される。しかしながら、
図4~
図6に図示される方法は、システム300を用いて実行されることに限定されない。さらに、本明細書で説明されるシステム300は、
図4~
図6に図示される方法を実行することに限定されない。
【0058】
方法400~600は、論理フローグラフにおけるブロックの集合として図示されており、ここで、ハードウェア、ソフトウェア、またはそれらの組み合わせで実施され得る一連の操作を表現する。ソフトウェアのコンテキストにおいて、ブロックは、プロセッサによって実行された場合に、列挙された操作を実行する1つまたは複数のコンピュータ可読媒体に格納されたコンピュータ実行可能命令を表現する。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象的なデータタイプを実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。操作が記載された順序は、制限として解釈されることを意図するものではなく、任意の数の記載されたブロックは、任意の順序および/または並行して組み合わされてよく、プロセスを実装する。操作が記載された順序は、制限として解釈されることを意図するものではなく、任意の数の記載されたブロックは、任意の順序および/または並行して組み合わされてプロセスを実装してよい。ある例示において、プロセス1つまたは複数のブロックは、完全に除かれてよい。さらに、方法400~600は、全体的もしくは部分的に互いに、または他の方法で組み合わされてよい。
【0059】
図4は、模擬環境を生成する、および/または訓練、テスト、認証などのために模擬環境を用いるために例示的なプロセス400を図示する。
【0060】
ブロック402は、道路ネットワークデータにアクセスすることを示している。車両コンピューティングデバイス304は、道路ネットワークデータを受信、生成、および/またはそうでなければアクセスすることが可能である。ある例示において、道路ネットワークデータは、少なくとも部分的にセンサーデータに基づいてよい。少なくとも1つの例示において、道路ネットワークデータは、例えば、運転レーン要素、自転車レーン要素、駐車レーン要素、横断歩道要素、交差点要素、レーン分割要素、信号機要素、一時停止標識要素、停止線要素、譲れ標識要素、譲れ線要素、ドライブウェイ要素、スピードバンプ要素、ジェイウォーキング領域(例えば、仮想横断歩道)、軌道通過点(例えば、周知の軌道)、乗員ピックアップポイント、標識位置要素、ジオフェンス要素などの1つまたは複数を示す2D表現または3D表現であってよい。上記のように、ある例示において、道路ネットワークデータは、道路ネットワークデータの特定の部分の属性を示す情報で符号化されてよい。少なくとも1つの例示において、模擬システム344は、道路ネットワークデータにアクセスしてよい。上記のように、ある例示において、道路ネットワークデータは、マップデータストレージ350に格納されてよい。
【0061】
ブロック404は、道路メッシュにアクセスすることを示している。少なくとも1つの例示において、車両コンピューティングデバイス304は、道路メッシュ110を生成してよい。少なくとも1つの例示において、車両コンピューティングデバイス304は、LIDARデータを受信してよく、これは、実際の環境の表現である3D点群を生成することに用いられてよい。少なくとも1つの例示において、車両コンピューティングデバイス304は、3Dの点群に基づいて道路メッシュ110を生成することが可能である。上記のように、道路メッシュ110は、3Dタイルを含んでよい。模擬システム344は、3Dタイルにアクセスしてよく、これは、ある例示において、マップストレージ350に格納されてよい。
【0062】
ブロック406は、道路ネットワークデータと道路メッシュとを結合させることで模擬環境を生成することを示している。模擬システム344は、道路ネットワークデータを道路メッシュに関連付け、模擬環境を生成することが可能である。このような関連は、少なくともあるインスタンスにおいて、道路ネットワークデータを(2Dデータまたは3Dデータとして)道路メッシュへと投影することを含んでよい。これは、道路セグメントの中央を決定させ、投影にあたり道路メッシュからの対応する領域にセグメントを実質的に整列させることによって行うことができる。任意の外れ値(例えば、投影の後に道路メッシュと整列しない表面(例えば、整列またはマップの生成における誤差のために樹木へと投影された歩道))は、必要に応じて決定され、平滑化されてよい。結果として生じる模擬環境は、(例えば、対応する実際の環境を考慮して)正確な高さおよび表面の詳細を含んでよい。
【0063】
ブロック408は、代替データソースからの補完データにアクセスすることを示している。ある例示において、例えば、道路メッシュを構築している場合に、オクルージョン(例えば、駐車している車、狭い路地など)に起因して、模擬環境内に欠損(例えば、不完全なデータ)があってよい。少なくとも1つの例示において、模擬システム344は、既存の模擬環境を補完する第2の代替データソースにアクセスする(例えば、且つ欠損を埋める)ことが可能である。例えば、少なくとも1つの例示において、模擬システム344は、第三者のソースおよび/またはシステム338からのデータにアクセスすることが可能であり、ブロック410に示されるように、補完データを模擬環境へと結合させることによって、このようなデータを活用し、既存の模擬環境を補完することが可能である。少なくとも1つの例示において、上記で説明されるように、補完データは、実際の環境に関連付けられるUSGS DEMデータ、実際の環境に関連付けられるツリーマップデータ、実際の環境に関連付けられるカラー画像データ、環境に関連付けられるマップデータなどを含んでよい。ある例示において、補完データは、模擬環境の生成に用いられる3Dタイルと自然に整列しない。道路メッシュおよび補完データの整列に関連する詳細は、
図5を参照して以下で説明される。
【0064】
ブロック412は、模擬環境内でオブジェクトのレンダリングを示している。模擬システム344は、環境内でオブジェクトの特性に関連付けられるデータを活用し、模擬環境をさらに補完することが可能である。少なくとも1つの例示において、模擬システム344は、建物または他の静止オブジェクトのフットプリントを表現するデータにアクセスしてよく、これは、格納されたオブジェクトのフットプリントデータストレージ356に格納してよい。ある例示において、このようなフットプリントは、高さ、分類(例えば、住宅、商業など)ルールセット(例えば、テクスチャリング)などに関するアノテーションに関連付けられてよい。模擬システム344は、ファサード部分を生成するガイドメッシュとしてフットプリントおよび関連するアノテーションを利用してよい。少なくとも1つの例示において、建物のフットプリント、高さ、テクスチャリング、および分類は、ランダムに定義されてよい。ある例示において、テクスチャ、高さ、またはフットプリントの事前に定義されたセットが定義されてよい。テクスチャ、高さ、フットプリントなどの1つまたは複数のランダム配列の結果として生じるセットは、順番に模擬環境に追加する建物のセットとして用いられる。これらのフットプリントに関連付けられるデータがマップ内での位置の指示を有さない例示(例えば、フットプリントがランダムに決定された場合、マップに依存しないフットプリントのデータストレージから取得された場合など)において、このようなフットプリントは、整列されるか、またはそうではない場合配置にされてよく、そうすることによって、少なくとも1つのファサードが道路ネットワークにおける車道と整列するように配置され、1つまたは複数のルール(例えば、車道から特定の距離に配置され、分類に基づいて、他の建物から最小または最大の距離、特定の方向に向けられているなど)などに従って間隔が空けられる。このようなルールセットが適用された場合に、もっともらしい外観の建物が自動的に(例えば、人間のモデリングなしで)生成され、建物を含む模擬環境を生成することが可能である。
【0065】
ブロック414は、模擬環境内でオブジェクトに関連付けられるレンダリング表面の詳細を示している。ある例示において、模擬システム344は、テクスチャリングデータを利用し、例えば、リアルタイムのレンダリングの間に、模擬環境に表面の詳細を追加することが可能である。このようなテクスチャリングは、詳細(欠陥、パッチ、マーキングなど)を模擬環境内でオブジェクトに追加し、このようなオブジェクトを固有に(技術者の作業負荷を大幅に増加させることなく)見せる。少なくとも1つの例示において、模擬システム344は、まばらな仮想テクスチャを利用してよく、1回の描画で模擬環境をレンダリングし、これは、性能を向上させ、且つ計算リソースを低減させる。このような例示において、それぞれのサーフェルは、(識別のような)固有のデータに関連付けられてよく、これによって、個々のサーフェルが割り当てられ、アドレスが指定され、さらにアサインされてよい。さらに、ある例示において、模擬システム344は、模擬環境でレンダリングされるオブジェクトのそれぞれの表面に複数のブラシストローク状のデカールを追加することができる。少なくともある例示において、さまざまなデカールは、(例えば、写実的な汚れや煤、落書き、ゴミなどは、例えば、路地における建物のファサードに適用されてよい)さまざまな領域および構造の分類に適用されてよく、そうするために、任意の手続きベースのテクスチャリングを変更(例えば、関連する分類が与えられた表面の上にテクスチャのパターンを適用)する。
【0066】
少なくとも1つの例示において、模擬システム344は、模擬環境の表面をパラメーター化し、固有のテクスチャ座標空間を作成することが可能である。このような例示において、それぞれのサーフェルは、テクスチャを個別に参照するピクセルのセットに関連付けてよく、これは、表面の詳細データストレージ358に格納されてよい。したがって、実行時に、模擬システム344は、模擬コンピューティングデバイスのビューポートを介して見られ得る模擬環境の部分に関連付けられる詳細(例えば、テクスチャ)をレンダリングする(例えば、シェーディングシステムへの)単一のドローコールを利用してよい。ある例示において、模擬環境は、複数のテクスチャに関連付けられ(例えば、材料の異なる特性に関連付けられ)てよく、それぞれのテクスチャは、実行時に、個別のドローコールを介してレンダリングされてよい。このような技術は、プロセッサ340の作業負荷を低減し、これによって、実行時の計算効率を提供する。少なくとも1つの例示において、テクスチャの特性が変更された場合、このような変更は、テクスチャに関連して表面の詳細データストレージ358に格納されてよく、実行時に、変更は、レンダリングされるテクスチャに反映されてよい。つまり、スクリプトは、表面の詳細データストレージ358において、テクスチャに関連付けられるテクスチャデータを更新することが可能であり、これによって、すべての技術を再検討することが必要なく、実行時に模擬環境でレンダリングされるテクスチャの更新に影響を与える。
【0067】
ブロック416は、模擬環境を出力することを示している。少なくとも1つの例示において、模擬システム344は、模擬環境を出力することが可能である。上記のように、模擬環境は、訓練、テスト、および/または車両302のような自律走行車に搭載された認証システム(例えば、AIスタックの1つまたは複数のコンポーネント)を強化するために有用であってよい。少なくとも1つの例示において、模擬環境は、実際の環境からの訓練データが不十分である(例えば、まれなオブジェクト、まれな状況などであることだが)訓練データモデルのために有用であってよい。このような例示において、結果として生じるデータモデルは、車両302にプロビジョニングされるか、または車両302によってアクセス可能であってよく、車両302は、リアルタイム(例えば、実際の環境内で運転している間、またはそうでなければ動作している間)で、オブジェクトを分類するデータモデルを利用することが可能である。つまり、知覚システム322は、(模擬環境に関連付けられる模擬データに基づいて訓練された)搭載されたデータモデルを利用し、ほぼリアルタイムでオブジェクトを分類することが可能である。少なくともいくつかの例示において、模擬環境に関連付けられるデータを用いて訓練されたこのようなデータモデルは、実際のセンサーデータに基づく実際の環境内で、オブジェクトを出力することができる。軌道(および対応する制御)は、次に、模擬データで訓練されたこのようなデータモデルの出力に少なくとも部分的に基づいて、自律走行車が実際の環境を安全にナビゲーションするために決定されることができる。
【0068】
上記のように、少なくとも1つの例示において、評価システム348は、(例えば、上記のように)機械で訓練されたモデルを用いて知覚データを分析し、模擬環境の本物らしさを評価することが可能である。少なくとも1つの例示において、評価システム348は、機械で訓練されたモデルを利用し、実際の環境に関連付けられる(例えば、ニューラルネットワークのレイヤーに関連付けられる)第1の中間出力と対応する模擬環境に関連付けられる(例えば、ニューラルネットワークの同一のレイヤーに関連付けられる)第2の中間出力とを比較して、第1の中間出力と第2の中間出力との間の類似性の表現である類似性測定基準(例えば、差、距離など)を決定することが可能である。ある例示において、第1の中間出力および第2の中間出力は、画像、データの一部(例えば、データに関連付けられる個々のオブジェクトに対応するもの)などに対応することが可能である。類似性測定基準(例えば、差、距離など)が閾値を満たさない場合(例えば、第1の中間出力および第2の中間出力が類似している)、上記のように、評価システム348は、模擬環境が現実的に実際の環境を表現することを判断してよく、模擬環境を出力してよい。しかしながら、類似性測定基準(例えば、差、距離など)が閾値を満たすか、または超える場合、評価システム348は、1つまたは複数のパラメーターを調整し、1つまたは複数の測定基準への変化を観察することが可能である。例えば、評価システム348は、写実性を改善するために、明るさ、露出などのパラメーターを調整することが可能である。類似性測定基準(例えば、差、距離など)が閾値より低い場合(例えば、第1の中間出力および第2の中間出力が類似している)に、評価システム348は、模擬環境が現実的に実際の環境を表現することを判断してよい。
【0069】
図5は、補完データを模擬環境に結合させる例示的なプロセス500を図示している。
【0070】
ブロック502は、補完データと模擬環境に関連付けられる道路メッシュとの整列を示している。上記のように、ある例示において、模擬システム344は、補完データで道路メッシュ(例えば、3Dタイル)を補完することが可能である。最初に、模擬システム344は、補完データと道路メッシュとを大まかに整列させることが可能である。補完データは、模擬環境の生成に用いられる道路メッシュの3Dタイルと自然に整列しない場合がある。
【0071】
ブロック504は、補完データと模擬環境に関連付けられる道路メッシュとの間の誤差を判断することを示している。少なくとも1つの例示において、模擬システム344は、補完データと道路メッシュとの間の誤差を定期的に測定することが可能である。少なくとも1つの例示において、このような測定は、例えば、大きな平坦な空間(例えば、駐車場、大きな交差点など)など、補完データが正確であると予測される領域で行われてよい。このような空間は、閾値領域を満たすか、または超える(例えば、「大きい」)、および/または閾値(例えば、「平坦」)より低い領域にわたって標高の最大変化に関連付けられる実際の環境の領域に対応してよい。少なくとも1つの例示において、このような測定は、道路メッシュおよび補完データにおいて見える領域、ならびに/または遮るものがない、および/もしくはそうでなければ樹木、建物などのオブジェクトがない(例えば、USGSからの空中スキャンなど)領域で行われてよい。少なくとも1つの例示において、誤差は、道路メッシュ内の指定された位置から測定されてよい。ある例示において、指定された位置は、中心線であってよく、これは、道路ネットワークデータおよび/または道路メッシュから導出されてよい。例えば、道路メッシュに示されているように、運転線の中心は、誤差が測定され得る中心線として指定されてよい。少なくともある例示において、誤差は、このような領域の決定された中心点から測定されてよい。つまり、道路メッシュが根拠であると判断してよく、誤差は、根拠から測定されてよい。非限定的な例示として、誤差は、道路メッシュと補完データとの間の差(例えば、ユークリッド距離)に関連付けられていてよい。ある例示において、誤差は、高さ誤差である場合があり、道路メッシュと補完データとの間の垂直距離を測定する。誤差は、単一の測定値、複数の測定値の平均、領域にわたる最大値、領域にわたる最小値、総合誤差、または補完データと道路メッシュと間の差および/または距離を表現する別の統計的に有意な測定である場合がある。
【0072】
ブロック506は、誤差が閾値を満たしているか、または超えているかを判断することを示している。少なくとも1つの例示において、ブロック508に示されるように、模擬システム344は、誤差を閾値と比較することが可能であり、誤差が閾値を満たさないか、または超えないという判断に基づいて、模擬システム344は、全体的な融合技術、局所的な融合技術、線形融合技術、滑らかな曲線(特定の半径を有する)の融合技術などの融合技術などに限定されないが、これらを実行することが可能であり、補完データを道路メッシュと融合する。少なくとも1つの例示において、このような融合技術は、減衰を伴ってよく、これによって、模擬システム344が選択された領域から離れるにつれて誤差が次第に重要ではなくなっていく。つまり、道路メッシュの中心線では、以下で説明されるように、誤差は、修正または軽減されてよいが、中心線から連続的にさらに離れている模擬環境の他の部分は、融合されてよく、誤差を修正またはそうでなければ軽減する。
【0073】
誤差が閾値を満たすか、または超えるという判断に基づいて、模擬システム344は、融合する前に、ブロック510に示されるように、変形格子を適用して、補完データを道路メッシュと実質的に整列させることが可能である。第三者のソースのデータまたはマッピングシステムからのマップのいずれかへの調整は、誤差を決定するために用いられる領域(例えば、大きくて平坦な領域)において、このような誤差を駆動させられてよく、模擬環境の残りの領域全体に伝播させられてよい。少なくとも1つの例示において、模擬環境システム344は、補完データに調整を施し、補完データを道路メッシュと局所的に整列させることが可能である。追加または代替の例示において、模擬システム344は、道路メッシュに調整を施し、道路メッシュを補完データと局所的に整列させることが可能である。例えば、少なくとも1つの例示において、模擬システム344は、重心重み付けを適用し、誤差(またはデータにおける他の補間)を低減させることが可能である。結果として、模擬システム344は、補完データに基づいて、道路ネットワークデータと道路メッシュとを統合させることで結果として生じる模擬環境より完全である洗練された模擬環境を出力することが可能である。つまり、模擬環境内の欠損は、埋められることが可能であり、これによって、補完データで模擬環境を強化する。
【0074】
ある例示において、フローは、最初にブロック506からブロック508に進んでよい。ブロック508では、変形は、交差点のような大きくて平坦な領域での誤差に基づいて局所的に適用されてよい。補間は、最初の交差点(または領域など)からすべての隣接する交差点への誤差の間に適用されてよい。少なくとも1つの例示において、このような補間は、線形であってよいが、他のすべての補間(例えば、多項式、バイキュービックなど)が考慮される。このような選択された領域の中心点から離れている道路メッシュのこれらの領域に対して、重心座標(または他のバイキュービックなどの補間)が適用され、道路メッシュを補完データに調整する。
【0075】
フローが最初にブロック508に進むこれらの例示において、フローは、次にブロック510に進むことができる。このような例示において、道路メッシュを補完データに調整しているにもかかわらず、メッシュと補完データとの間に追加の誤差が見つかる場合がある。このような例示において、ブロック510は、さらなる変形(またはそうでなければメッシュまたは補完データの1つまたは複数を調整すること)を含んでよい。このような変形は、局所的な変形(例えば、道路メッシュデータが、選択した領域の中心での高さ情報のソースの100%、および中心からある半径を超えた高さ情報の0%、S曲線に続いている場合か、またはそうでない場合)に従って実行されることができる。データ(メッシュまたは補完のいずれか)を局所的に変形させることによって、メッシュデータと補完データとの境界の間をスムーズに遷移させることが可能である。
【0076】
図6は、本明細書で説明されるように、模擬環境内で交通信号の柱のようなオブジェクトを手続き的にレンダリングする例示的なプロセス600を図示している。少なくとも1つの例示において、模擬システム344は、模擬環境内でオブジェクトを手続き的にレンダリングすることが可能である。つまり、ある例示において、上記のデータ(例えば、3Dタイル、道路ネットワークデータ、補完データなど)は、対応する実際の環境と比較した場合にまだ欠陥を有する。このような例示において、模擬システム344は、さまざまな経験則を利用し、模擬環境内でオブジェクトをレンダリングすることが可能である。プロセス600は、このようなプロセスの例示を示している。
【0077】
ブロック602は、模擬環境内で交通信号の位置を決定することを示している。少なくともいくつかの例示において、例えば、道路ネットワークデータおよび/または道路メッシュに関連付けられて、交通信号の位置についてのデータが提供されるか、またはそうでなければ決定されてよい。少なくとも1つの例示において、模擬システム344は、このようなデータに基づいて交通信号の位置を決定することが可能である。しかしながら、このようなデータは、交通情報がない場合がある。
【0078】
ブロック604は、交通信号を通過する少なくとも1つの平面を生成することを示している。少なくとも1つの例示において、模擬システム344は、交通信号を通過する1つまたは複数の平面(例えば、光源の照明の方向を指す表面法線を有する少なくとも1つの平面)を生成することが可能である。ある例示において、模擬システム344は、2つまたはそれより多くの平面(例えば、交通信号の下で道路に平行である第1の平面、および交通信号の下で道路に直角である第2の平面)を生成することが可能である。
【0079】
ブロック606は、道路ネットワークデータから交通信号に近接する歩道を決定することを示している。少なくとも1つの例示において、模擬システム344は、例えば、上記の道路ネットワークデータに基づいて、交通信号に近接する歩道を識別することが可能である。
【0080】
ブロック608は、歩道に最も近い点を決定することを示している。少なくとも1つの例示において、模擬システム344は、周囲の歩道に最も近い点を決定することが可能である。このようなシステムは、さまざまな経路プラニングアルゴリズム(例えば、A*、D*など、マンハッタン制約(90度の制約を強制)を組み込み、および/または街灯の柱のカーブの数を最小限に抑えたりする)を交通信号の位置から最も近い歩道ポイントまでの最短経路を見つけるべく組み込むことができる。
【0081】
ブロック610は、模擬環境内で街灯の柱を交通信号に接続する街灯の柱および柱のレンダリングを示す。模擬システム344は、このような決定された経路を利用してよく、街灯の柱をレンダリングし、これは、街灯の柱を交通信号に接続する柱に関連付けられてよい。少なくとも1つの例示において、模擬システム344は、第三者のソースおよび/またはシステム338からのデータにアクセスすることが可能であり、これは、街灯の柱および柱の位置、向き、様式などのルールを示す。例えば、非限定的な例示として、このようなデータは、街灯の柱が交通信号の右約20フィートに配置されるべきであることを示してよい。
【0082】
プロセス600は、街灯の柱を交通信号に接続する街灯の柱および柱をレンダリングすることに向けられているが、追加または代替の例示において、プロセス600は、模擬環境へと他のオブジェクトを追加することに向けられてよい。非限定的な例示は、駐車標識(例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である)、駐車メーター(例えば、これは、道路ネットワークデータから決定された駐車レーンに基づいてレンダリングされることが可能である)、一時停止標識(例えば、これは、道路ネットワークデータから決定された停止線に基づいてレンダリングされることが可能である)などを含む。このような例示において、模擬システム344は、第三者のソースおよび/またはシステム338からのデータにアクセスすることが可能であり、これは、オブジェクトの位置、向き、様式などのルールを示す。少なくとも1つの例示において、模擬環境内でのこのようなオブジェクトのレンダリングは、パラメーター化されてよく、模擬システム344は、第三者のソースおよび/またはシステム338によって示されるようにルールを順守してよい。
【0083】
(例示的な条項)
A.コンピュータ実装方法は、実際の環境内で複数のデータ収集デバイスからセンサーデータを受信することと、実際の環境に関連付けられる道路ネットワークデータを実際の環境に関連付けられる道路ネットワークデータにアクセスすることと、少なくとも部分的にセンサーデータに基づいて実際の環境に関連付けられる道路メッシュを生成することと、道路ネットワークデータを道路メッシュと統合させて、模擬環境を生成することと、格納されたオブジェクトのフットプリントのデータストレージにアクセスすることと、格納されたオブジェクトのフットプリントのデータストレージから格納されたオブジェクトのフットプリントを選択することと、格納されたオブジェクトのフットプリントに対応する少なくとも1つのオブジェクトを模擬環境へとレンダリングすることと、少なくとも1つのオブジェクトに関連付けられる表面の詳細をレンダリングすることと、模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、ナビゲーション、プラニング、または意思決定のうちの少なくとも1つに対して出力することとを備える。
【0084】
B.段落Aに記載のコンピュータ実装方法では、道路ネットワークデータは、実際の環境の2次元表現を含み、且つ運転レーン要素、自転車レーン要素、駐車レーン要素、または横断歩道の要素のうちの少なくとも1つの表示を含む。
【0085】
C.段落A~Bのいずれかに記載のコンピュータ実装方法では、道路メッシュは、マッピングシステムから出力される複数の3次元タイルを含む。
【0086】
D.段落A~Cのいずれかに記載のコンピュータ実装方法では、道路ネットワークデータと道路メッシュとを統合させることは、道路ネットワークデータにおける道路セグメントを道路メッシュの対応する領域に整列させることと、道路セグメントの少なくとも一部を道路メッシュへと投影することとを含む。
【0087】
E.段落A~Dのいずれかに記載のコンピュータ実装方法では、格納されたオブジェクトのフットプリントは、高さ、分類を表示するアノテーション、またはオブジェクトに関連付けられるテクスチャを示すルールセットのうちの少なくとも1つに関連付けられ、コンピュータ実装方法は、少なくとも部分的にアノテーションに基づいて格納されたオブジェクトのフットプリントに対応する少なくとも1つのオブジェクトを模擬環境へとレンダリングすることをさらに備える。
【0088】
F.段落A~Eのいずれかに記載のコンピュータ実装方法では、表面の詳細は、欠陥テクスチャ、パッチテクスチャ、またはマーキングテクスチャのうちの少なくとも1つを含む。
【0089】
G.段落A~Fのいずれかに記載のコンピュータ実装方法では、表面の詳細は、1回の描画でまばらな仮想テクスチャを用いて追加される。
【0090】
H.システムは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行された場合に、少なくとも1つのプロセッサに、実際の環境に関連付けられる道路ネットワークデータにアクセスすることと、実際の環境に関連付けられる道路メッシュを生成することと、道路ネットワークデータを道路メッシュに関連付けて、模擬環境を生成することと、少なくとも部分的に少なくとも1つのルールに基づいて、少なくとも1つのオブジェクトを模擬環境へと手続き的にレンダリングすることと、模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、自律ロボットコンピューティングデバイスを制御することに対して出力することとを含む動作を実行させるコンピュータ可読命令とを備える。
【0091】
I.段落Hに記載のシステムでは、動作は、少なくとも1つの格納されたオブジェクトフットプリントを含むデータストレージにアクセスすることと、データストレージから格納されたオブジェクトのフットプリントを選択することと、少なくとも部分的に少なくとも1つのルールに基づいて、格納されたオブジェクトのフットプリントに対応する少なくとも1つのオブジェクトを模擬環境へとレンダリングすることとをさらに含む。
【0092】
J.段落Iに記載のシステムでは、ルールは、道路ネットワークデータにおける個々のオブジェクトと車道との間の距離の表示、複数のオブジェクトの個々のオブジェクト間の距離の表示、または複数のオブジェクトの個々のオブジェクトの方向を含む。
【0093】
K.段落Iに記載のシステムでは、少なくとも1つの格納されたオブジェクトのフットプリントは、オブジェクトの特性を示すアノテーションに関連付けられ、特性が高さまたは分類を含む。
【0094】
L.段落Kに記載のシステムでは、少なくとも1つの格納されたオブジェクトのフットプリントは、オブジェクトをテクスチャリングするルールセットに関連付けられ、ルールセットが特性に基づいて少なくとも1つの格納されたオブジェクトのフットプリントに関連付けられる。
【0095】
M.段落H~Lのいずれかに記載のシステムでは、動作は、まばらな仮想テクスチャを用いて、少なくとも1つのオブジェクトに関連付けられる表面の詳細をレンダリングすることをさらに含む。
【0096】
N.段落H~Mのいずれかに記載のシステムでは、動作は、少なくとも部分的に道路ネットワークデータに基づいて、交通信号の位置を決定することと、交通信号を通過する少なくとも1つの平面を生成することと、道路ネットワークデータから交通信号に近接する歩道を決定することと、プラニングアルゴリズムを用いて、歩道に最も近いポイントを決定することと、街灯の柱および柱を模擬環境内で街灯の柱を交通信号に接続するためにレンダリングすることとをさらに含む。
【0097】
O.非一時的なコンピュータ可読命令は、実行された場合に、1つのまたは複数のプロセッサに、実際の環境に関連付けられる道路ネットワークデータにアクセスすることと、実際の環境に関連付けられる道路メッシュを生成することと、道路ネットワークデータを道路メッシュと統合させて、模擬環境を生成することと、少なくとも1つのオブジェクトを少なくとも部分的に少なくとも1つのルールに基づいて、模擬環境へと手続き的にレンダリングすることと、模擬環境をコンピューティングデバイスを介して出力することとを含む動作を実行させる。
【0098】
P.段落Oに記載の非一時的なコンピュータ可読媒体では、模擬環境を出力することは、模擬コンピューティングデバイスを介して、模擬環境を自律走行車によって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、自律走行車を制御することに対して出力することを含む。
【0099】
Q.段落O~Pのいずれかに記載の非一時的なコンピュータ可読媒体では、動作は、少なくとも1つの格納されたオブジェクトのフットプリントを含むデータストレージにアクセスして、少なくとも1つの格納されたオブジェクトのフットプリントは、対応するオブジェクトの高さまたは分類を示す少なくとも1つのアノテーションに関連付けられることと、格納されたオブジェクトのフットプリントをデータストレージから選択することと、格納されたオブジェクトのフットプリントに対応する少なくとも1つのオブジェクトを道路ネットワークデータにおける個々のオブジェクトと車道との間の距離の表示、複数のオブジェクトの個々のオブジェクト間の距離の表示、または複数のオブジェクトの個々のオブジェクトの向きの表示に少なくとも部分的に基づいて、模擬環境へとレンダリングすることとをさらに含む。
【0100】
R.段落Qに記載の非一時的なコンピュータ可読媒体では、動作は、ルールセットを少なくとも部分的に少なくとも1つのアノテーションに基づいて、格納されたオブジェクトのフットプリントに関連付けることと、オブジェクトに関連付けられるテクスチャを少なくとも部分的にルールセットに基づいてレンダリングすることとをさらに含む。
【0101】
S.段落O~Rのいずれかに記載の非一時的なコンピュータ可読媒体では、動作は、複数の格納されたオブジェクトのフットプリントを含むデータストレージにアクセスすることであって、個々の格納されたオブジェクトのフットプリントは、それぞれのアノテーションに関連付けられることと、複数の格納されたオブジェクトのフットプリントのうちの1つまたは複数の格納されたオブジェクトに対応する1つまたは複数のオブジェクトを組み合わせてレンダリングすることとをさらに含む。
【0102】
T.段落O~Sのいずれかに記載のシステムでは、動作は、少なくとも部分的に道路ネットワークデータに基づいて、交通信号の位置を決定することと、交通信号を通過する少なくとも1つの平面を生成することと、道路ネットワークデータから交通信号に近接する歩道を決定することと、プラニングアルゴリズムを用いて、歩道に最も近いポイントを決定することと、街灯の柱および柱を模擬環境内で街灯の柱を交通信号に接続するためにレンダリングすることとをさらに含む。
【0103】
U.コンピュータ実装方法は、実際の環境内で複数のデータ収集デバイスからセンサーデータを受信するステップと、実際の環境に関連付けられる道路ネットワークデータであって、少なくとも部分的に前記環境に基づいて道路ネットワークデータにアクセスするステップと、少なくとも部分的にセンサーデータに基づいて実際の環境に関連付けられる道路メッシュを決定するステップと、道路ネットワークデータをメッシュに関連付けて、模擬環境を生成するステップであって、模擬環境は、実際の環境に対して不完全であるステップと、実際の環境に関連付けられる補完データにアクセスするステップであって、補完データは、複数のデータ収集デバイスに利用不可能である実際の環境に関連付けられる情報を提供するステップと、補完データを模擬環境に関連付けて、模擬環境を変更された模擬環境として補完するステップと、変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、ナビゲーション、プラニング、または意思決定のうちの少なくとも1つに対して出力するステップとを備える。
【0104】
V.段落Uに記載のコンピュータ実装方法では、補完データは、ラスターベースの数値標高モデルを格納する地理空間ファイルフォーマットを含む。
【0105】
W.段落Vに記載のコンピュータ実装方法では、地理空間ファイルフォーマットは、米国地質調査所(USGS)のデータ評価モデル(DEM)基準に関連付けられている。
【0106】
X.段落U~Wのいずれかに記載のコンピュータ実装方法では、模擬環境は、駐車中の車または路地に関連付けられるセンサーデータにおけるオクルージョンに起因して不完全である。
【0107】
Y.段落U~Xのいずれかに記載のコンピュータ実装方法は、補完データの第1の部分と道路メッシュの第2の部分との間の誤差を決定するステップであって、第1の部分および第2の部分は、実際の環境の同一の領域に関連付けられているステップと、誤差が誤差量の閾値を満たしているか、または超えているかを判断するステップと、補完データまたは道路メッシュのうちの少なくとも1つを調整するステップとをさらに含む。
【0108】
Z.段落Yに記載のコンピュータ実装方法では、誤差は、実際の環境の同一の領域に関連付けられる平均の誤差のうちの少なくとも1つを含む。
【0109】
AA.段落Yに記載のコンピュータ実装方法では、変形格子を補完データの少なくとも一部または道路メッシュの対応する部分の1つまたは複数に適用するステップであって、補完データと道路メッシュとを実質的に整列させ、誤差を低減させるステップをさらに含む。
【0110】
AB.システムは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行された場合に、少なくとも1つのプロセッサに、実際の環境内で少なくとも1つのデータ収集デバイスからセンサーデータを受信することと、実際の環境に関連付けられる道路ネットワークデータまたは実際の環境に関連付けられる道路メッシュのうちの少なくとも1つをセンサーデータに関連付けられる道路メッシュにアクセスすることと、模擬環境を道路ネットワークデータまたは道路メッシュのうちの少なくとも1つに基づいて生成することと、補完データを模擬環境に関連付けて、変更された模擬環境を生成することと、変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、自律ロボットコンピューティングデバイスを制御する少なくとも1つに対して出力することとを含む動作を実行させる1つまたは複数のコンピュータ可読命令とを備えるシステム。
【0111】
AC.段落ABに記載のシステムでは、模擬環境は、実際の環境内で少なくとも1つのオクルージョンに起因して不完全である。
【0112】
AD.段落AB~ACのいずれかに記載のシステムでは、少なくとも1つのオクルージョンに起因して少なくとも1つのデータ収集デバイスがそうでなければ利用不可能である実際の環境に関連付けられる情報を提供する。
【0113】
AE.段落AB~ADのいずれかに記載のシステムでは、道路ネットワークデータは、実際の環境の2次元表現を含み、且つ運転レーン要素、自転車レーン要素、駐車レーン要素、または横断歩道要素のうちの少なくとも1つの表示を含む。
【0114】
AF.段落AB~AEのいずれかに記載のシステムでは、道路メッシュは、マッピングシステムから出力される複数の3次元タイルを含む。
【0115】
AG.段落AB~AFのいずれかに記載のシステムでは、動作は、道路ネットワークデータおよび道路メッシュにアクセスすることと、少なくとも部分的に道路ネットワークデータを道路メッシュへと投影することに基づいて、道路ネットワークデータと道路メッシュとを関連させることとをさらに含む。
【0116】
AH.段落AB~AGのいずれかに記載のシステムでは、補完データは、第三者のソースまたはシステムによって収集される標高データを含む。
【0117】
AI.段落AB~AHのいずれかに記載のシステムでは、動作は、補完データの第1の部分と道路メッシュの第2の部分との間の高さ誤差を測定することと、高さ誤差が誤差量の閾値を満たすか、または超えるかを判断することと、変形格子を第1の部分または第2の部分の1つまたは複数に適用して、高さ誤差を低減させることとをさらに含む。
【0118】
AJ.命令を格納する非一時的なコンピュータ可読媒体は、実行された場合に、1つまたは複数のプロセッサに、実際の環境に関連付けられる道路ネットワークデータまたは実際の環境に関連付けられる道路メッシュのうちの少なくとも1つにアクセスすることと、模擬環境を道路ネットワークデータまたは道路メッシュのうちの少なくとも1つに基づいて生成することと、補完データを模擬環境に関連付けて、変更された模擬環境を生成することと、変更された模擬環境を自律ロボットコンピューティングデバイスによって用いられるアルゴリズムのテスト、認証、または訓練のうちの少なくとも1つのために、自律ロボットコンピューティングデバイスを制御する少なくとも1つに対して出力することとを含む動作を実行させる。
【0119】
AK.段落AJに記載の非一時的なコンピュータ可読媒体では、補完データは、第三者のソースまたはシステムによって収集される標高データを含む。
【0120】
AL.段落AJ~AKのいずれかに記載の非一時的なコンピュータ可読媒体では、補完データは、米国地質調査所(USGS)データ評価モデル(DEM)基準に関連付けられる地理空間ファイル形式を含む。
【0121】
AM.段落AJ~ALのいずれかに記載の非一時的なコンピュータ可読媒体では、補完データの第1の部分と道路メッシュの第2の部分との間の高さの差を測定して、第1の部分および第2の部分は、オブジェクトのない実際の環境の同一の領域に関連付けられていることと、差が差の閾値を満たすか、または超えるかを判断することと、変形格子を第1の部分または第2の部分の1つまたは複数に適用して、誤差を低減させることとをさらに含む。
【0122】
AN.段落AJ~AMのいずれかに記載の非一時的なコンピュータ可読媒体では、少なくとも1つのオクルージョンに起因して少なくとも1つのデータ収集デバイスがそうでなければ利用不可能である実際の環境に関連付けられる情報を提供する。
【0123】
上記のような例示的な条項が特定の実装に対して説明される一方で、本書類の文脈において、本例示的な内容は、また、方法、デバイス、システム、コンピュータ可読媒体、および/または別の実装を介して、実装されることが可能であることを理解されたい。
【0124】
(結論)
本明細書で説明される技術の1つまたは複数の例示が記載されているが、さまざまな変更、追加、置換、およびそれらの均等物が本明細書で説明される技術の範囲内に含まれる。
【0125】
例示の説明において、本明細書の一部を形成する添付の図面を参照し、これは説明の方法として請求される発明の主題の詳細な具体的な例示を示す。他の例示は、用いられてよく、構造的変更のような変更または代替がされてよいことを理解されたい。このような例示、変更または代替は、意図される発明の請求される主題に対する範囲から必ずしも逸脱するものではない。本明細書におけるステップは、特定の順序で提供されてよいが、ある場合においては、順序は、変更され得ることによって、説明されるシステムおよび方法の機能を変更させることなく、特定の入力が異なる時間または異なる順序で提供される。開示された手順は、また、異なる順序で実行されてよい。さらに、本明細書におけるさまざまな計算は、開示された順序で実行される必要はなく、計算の代替順序を用いる他の例示は、容易に実装されてよい。並べ替えに加えて、計算は、また、サブ計算へと分解され、同一の結果が得られることが可能である。