(57)【要約】システムは環境を表すセンサーデータセットを受信し、そのデータセットを使用してマップを作成または更新し得る。前記マップの作成または更新において、前記システムは１つ以上の検出された物体の物体分類を決定し、少なくとも部分的に前記分類に基づいてデータを選択的にのみ前記マップに組み込み得る。前記マップは、前記物体の前記分類（または意味）情報、および前記分類に基づくウェイトに関連付けられ得る。同様に削除されたデータの選択された分類のデータセットをシステムの位置測定に使用し得る。さらに前記システムは物体の物体軌道を決定し得る。前記マップを更新するとき、ボクセル空間内のボクセルは観測の閾値数に基づいて占有ボクセルを示し得る。その後、物体軌道とクリーンマップは自律車両を制御するために使用できる。
2021514508.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
１つ以上のプロセッサと、
１つ以上の前記プロセッサに通信可能に結合された１つ以上のコンピューター可読記録媒体であって、
第１の時間に環境を表す第１のセンサーデータセットを受信し、
前記第１のセンサーデータセットの少なくとも一部を複数の分類に従って区分し、
前記センサーデータセットの少なくとも前記一部を複数のボクセルを備えるボクセル空間に関連付け、
前記ボクセルに関連付けられた１つ以上のカウンターを前記第１のセンサーデータセットの前記一部に少なくとも部分的に基づいて更新し、
追加時間に前記環境を表す追加センサーデータセットを受信し、
前記追加センサーデータセットの少なくとも一部を前記複数の分類に従って区分し、
前記追加センサーデータセットの前記一部を前記ボクセル空間に関連付け、
１つ以上の前記カウンターを前記追加センサーデータセットに少なくとも部分的に基づいて更新し、
前記ボクセル空間を備えるマップを第１の閾値を満たすまたは超える１つ以上の前記カウンターに少なくとも部分的に基づいて更新する、
ために１つ以上の前記プロセッサによって実行可能な命令を格納した１つ以上のコンピューター可読記録媒体と
を備えた、システム。
【請求項２】
前記複数の分類は車両、歩行者、または自転車の１つ以上を含み、
前記命令はさらに、
前記第１のセンサーデータセットおよび前記追加センサーデータセットから前記複数の分類のサブセットに関連付けられたデータを削除する、
ために１つ以上の前記プロセッサによって実行可能である、請求項１に記載のシステム。
【請求項３】
前記第１のセンサーデータセットおよび前記追加センサーデータセットを区分することは、
前記センサーデータセットを入力として機械学習モデルへ通過させることと、
前記機械学習モデルから区分されたセンサーデータを受信することと、
を備える、請求項１または請求項２に記載のシステム。
【請求項４】
前記命令はさらに
１つ以上の前記追加データセットを前記ボクセルへ１つ以上の光線として光線放射し、
１つ以上の前記光線が通過する１つ以上の通過ボクセルを決定し、
前記通過ボクセルに関連付けられた１つ以上の前記カウンターを更新し、
前記通過ボクセルに関連付けられた１つ以上の前記カウンターが第２の閾値に満たないまたは超えていないと決定し、
１つ以上の前記通過ボクセルを非占有ボクセルとして関連付ける、
ために１つ以上の前記プロセッサによって実行可能である、請求項１または請求項２に記載のシステム。
【請求項５】
前記命令はさらに、
第２の追加センサーデータセットを区分し、
前記第２の追加センサーデータセット内の第１の物体を決定し、
前記区分された第２のセンサーデータセットに少なくとも部分的に基づいて、前記第１の物体が静的物体であり、前記第１の物体が第１の分類に関連付けられると決定し、
前記第１の物体に関連付けられた第１のウェイトを決定し、
前記区分された第２のセンサーデータセット内の第２の物体を決定し、
前記区分された第２のセンサーデータセットに少なくとも部分的に基づいて、前記第２の物体が動的物体または潜在動的物体であり、前記第２の物体が第２の分類に関連付けられると決定し、
第２のウェイトが前記第２の物体に関連付けられ、前記第２のウェイトが前記第１のウェイトよりも小さいと決定する、
ために１つ以上の前記プロセッサによって実行可能である、請求項２に記載のシステム。
【請求項６】
前記命令はさらに、意味情報を前記マップに関連付けるために１つ以上の前記プロセッサによって実行可能である、請求項１、請求項２または請求項５のいずれか１項に記載のシステム。
【請求項７】
前記第１のセンサーデータセットを受信することは、光検出および測距（ＬＩＤＡＲ）センサー、無線検出および測距（ＲＡＤＡＲ）センサー、音響誘導および測距（ＳＯＮＡＲ）センサー、または１つ以上の撮像機器の１つ以上から前記第１のセンサーデータセットを受信することを備える、請求項１、請求項２または請求項５のいずれか１項に記載のシステム。
【請求項８】
前記命令はさらに、
１つ以上の前記追加センサーデータセットの第３のセンサーデータセットを第３の時間に受信し、
前記第３のセンサーデータセットを前記複数の分類に従って区分し、
データのサブセットを前記第３のセンサーデータセットから前記分類のサブセットに関連付けられたデータを削除することによって作成し、
前記マップおよびセンサーデータの前記サブセットに少なくとも部分的に基づいて自律車両を位置測定する、
ために１つ以上の前記プロセッサによって実行可能である、請求項１、請求項２または請求項５のいずれか１項に記載のシステム。
【請求項９】
方法であって、
環境を表す第１のセンサーデータセットを１つ以上のセンサーから受信することと、
前記第１のセンサーデータセットの少なくとも一部を複数の分類に従って区分することと、
前記第１のセンサーデータセットの少なくとも前記一部を複数のボクセルを備えるボクセル空間に関連付けることと、
前記ボクセルに関連付けられた占有状態を前記第１のセンサーデータセットの少なくとも前記一部に少なくとも部分的に基づいて更新することと、
前記環境を表す追加センサーデータセットを受信することと、
前記追加センサーデータセットの少なくとも一部を前記複数の分類に従って区分することと、
前記追加センサーデータセットの少なくとも前記一部を前記ボクセル空間に関連付けることと、
前記ボクセルに関連付けられた占有状態を前記追加センサーデータセットの少なくとも前記一部に少なくとも部分的に基づいて更新することと、
前記ボクセル空間を備えるマップを前記ボクセルに関連付けられた前記占有状態に少なくとも部分的に基づいて更新することと、
を備える、方法。
【請求項１０】
前記複数の分類は車両、歩行者、または自転車の１つ以上を含み、前記方法はさらに、
前記第１のセンサーデータセットおよび１つ以上の前記追加データセットから前記複数の分類のサブセットに関連付けられたデータを削除すること、
を備える、請求項９に記載の方法。
【請求項１１】
前記区分することは、
前記第１のセンサーデータセットおよび前記追加センサーデータセットを機械学習モデルへ伝達することと、
前記機械学習モデルから区分情報を受信することと、
を備える、請求項９に記載の方法。
【請求項１２】
前記複数の分類の前記サブセットは動的物体または潜在動的物体に関連付けられ、前記方法はさらに、
前記第１のセンサーデータセット内の感知物体を検出することと、
前記感知物体を前記複数の分類の前記サブセットの１つとして分類することと、
を備える、請求項１０に記載の方法。
【請求項１３】
第１のウェイトを前記複数の分類の前記サブセットに関連付けることと、
第２のウェイトを前記分類の残りに関連付けることと、
をさらに備え、
前記第２のウェイトが前記第１のウェイトよりも大きい、請求項１０に記載の方法。
【請求項１４】
前記第１のセンサーデータセットおよび前記追加センサーデータセットの意味情報を前記マップへ追加することをさらに備える、請求項１１に記載の方法。
【請求項１５】
１つ以上のプロセッサに実行されるとき、１つ以上の前記プロセッサに請求項９から請求項１４に記載のいずれか１項に記載のいずれかの方法を実行させる命令を格納した非一時的コンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、意味情報を含むクリーンなマップの作成に関する。
【０００２】
（優先権の主張）
このＰＣＴ国際特許出願は、２０１８年２月２０日に出願された米国特許出願第１５／９００，３１９号の出願日の利益を主張し、その開示は参照により本明細書に組み入れられる。
【背景技術】
【０００３】
デジタル２次元および３次元マップなどの仮想マップは複数の用途を有する。例えば自律車両は仮想マップを使用して車両の位置および／または方向を決定し、および／または地理的位置間を走行し得る。いくつかのそのようなマップは、例えば、道路、建物、交通標識および信号機、他の車両、駐車中の車、植生、歩行者、自転車などの環境内の物体を通過して検出するセンサーから取得したデータに少なくとも部分的に基づいて作成され得る。しかしながら、自律車両による制御に使用した場合、センサーはマップでの使用に望ましくないおよび／または大量の無関係な情報を含むデータを生成することがあり、それによりコンピューターの処理能力およびメモリの非効率な使用を引き起こし、これはまた計算を不必要に遅延させ、不正確な情報を引き起こすことがある。
【図面の簡単な説明】
【０００４】
詳細な説明は添付の図面を参照して説明される。図面において、参照番号の左端の数字は、参照番号が最初に現れる図を識別している。異なる図面における同じ参照番号は、類似または同一の項目を示す。
【０００５】
【図１】図１は、マップを更新するための例示のプロセスの図解フロー図である。
【図２】図２は、マップを更新および／または注釈を付けるための別の例示のプロセスの図解フロー図である。
【図３】図３は、本明細書に記載する例示のプロセスのうちの１つ以上を実装するための例示のアーキテクチャを示す。
【図４】図４は、例示の光線放射および例示の動的物体の識別の概略図である。
【図５】図５は、自由空間を決定するためのカウンターの増分の例、および占有空間を決定するためのカウンターの減分の例を示すグラフである。
【図６】図６は、マップを更新するための例示のプロセスのフロー図である。
【図７】図７は、マップを更新および／または注釈を付けるための別の例示のプロセスのフロー図である。
【図８】図８は、本明細書に記載する例示のプロセスを実装するための例示のコンピューターアーキテクチャのブロック図である。
【発明を実施するための形態】
【０００６】
（詳細な説明）
この開示は概して、仮想マップなどのクリーンなマップを作成する、既存マップをクリーンアップする、および／または意味情報をマップに追加するための方法、装置、およびシステムに関する。そのようなマップは、自律車両などの車両の位置および／または方向（例えば局所姿勢）を決定するために、および／または地理的位置間で車両を誘導するために、使用され得る。例えばマップはセンサーから取得したデータに少なくとも部分的に基づいて作成され得る。いくつかの例では、望ましくないアーチファクト（例えばマップの実用性に悪影響を与え得る物体）はマップの作成中に自動的に除外される。例えば、車両、歩行者、自転車などの動的物体は移動する場合があり、位置測定に影響を与え得るので、これらのタイプの物体はマップを作成しながらマップから自動的に除外され得る。いくつかの例では、既存マップが自動的にクリーンアップされ得る。例えば動的物体および／または動的物体に関連付けられたセンサーデータによって作成されたアーチファクトは、マップによって表される環境を通る１つ以上のセンサーの後続の通過中に取得したセンサーデータを使用して、既存マップから削除され得る。いくつかの例では、センサーデータを区分し、動的物体および／または動的物体に関連付けられたアーチファクトをマップから除外および／または削除することにより、クリーンなマップを自動的に作成し得る、および／または既存マップを自動的にクリーンアップし得る。いくつかの例では、マップに表される各意味分類は寄与ウェイト（例えば位置測定アルゴリズムなどの特定のアルゴリズムに寄与するその分類に関連付けられたデータの量を示す）に関連付けられ得る。非限定的な例として、例えば植生（例えば木および茂み）などの潜在動的物体は、例えばマップに基づいて局所姿勢を決定するために、それらの存在の検出が静的物体よりも小さい範囲に依存するように、ダウンウェイトし得る。上記の例の少なくともいくつかは、自律車両によってより効率的に使用され得る改善されたマップをもたらし得、それによりコンピュータープロセッサ容量要件および／またはメモリ要件を削減する。例えばマップデータに少なくとも部分的に基づいて決定がより迅速に計算され得、これはマップデータを使用する車両の制御の改善をもたらし得、それにより同様にこれはマップを使用する自律車両の操作の改善をもたらし得る。さらに、例示の目的で自律車両の誘導を支援するためのマップを作成するコンテキストで論じたが、そのようなマップはゲームでシミュレーション環境を作成すること、都市の縮尺模型を生成することなどに役立ち得る。
【０００７】
本開示は概して、環境を表す第１のセンサーデータセットを（例えば第１の時間に）受信し、複数の分類に従って第１のセンサーデータセットを区分するように構成されたシステムに関する。システムはまた、センサーデータセットを複数のボクセルを含むボクセル空間に関連付け、第１のセンサーデータセットに少なくとも部分的に基づいてボクセルに関連付けられた１つ以上のカウンターを更新（例えば増分または減分）するように構成され得る。システムはまた１つ以上の追加時間に環境を表す１つ以上の追加センサーデータセットを受信するように構成され得る。いくつかの例では、追加時間の１つ以上は互いに１秒以内であってもよい。いくつかの例では、追加時間の１つ以上は、互いに１分以内、１時間以内、または１日以内であってもよい。いくつかの例では、追加時間の１つ以上は互いに対して１日より長くなってもよい。システムはまた複数の分類に従って１つ以上の追加センサーデータセットを区分し、１つ以上の追加センサーデータセットをボクセル空間に関連付けるように構成し得る。システムはまた、１つ以上の追加センサーデータセットに少なくとも部分的に基づいて１つ以上のカウンターを更新し（例えば増分または減分）、第１の閾値を満たす、または超える１つ以上のカウンターに少なくとも部分的に基づいてボクセル空間を含むマップを更新するように構成し得る。いくつかの例では、第１の閾値は事前決定され得る、および／または例えばカウンターの増分の間の時間量に基づいて実時間で決定され得る。いくつかの例では、第１の閾値は５以上であってもよい。いくつかの例では、第１の閾値は５未満であってもよい。いくつかの例では、マップは仮想の２次元または３次元のデジタルマップであってもよい。いくつかの例では、マップは先の既存マップである場合があり、いくつかの例では、マップは少なくとも部分的にセンサーデータによって作成されている場合があり、およびマップの更新は作成されるマップへの情報の追加または作成されるマップからの情報の除外であり得る。そのようなボクセル表現はさらにボクセルハッシュを使用することによって拡張し得る。もちろん、ボクセル表現はそのようなマップの多くの可能な表現の１つであり、他の可能な表現が企図される。他の非限定的な例として、そのようなマップは、網目、符号付き距離関数などとして表し得る。
【０００８】
いくつかの例では、センサーデータセットは、光検出および測距（ＬＩＤＡＲ）センサー、無線検出および測距（ＲＡＤＡＲ）センサー、１つ以上の超音波トランスデューサー（例えば音響誘導および測距（ＳＯＮＡＲ）センサー）、または１つ以上の撮像機器（カメラ、深度カメラ、ステレオカメラ、赤外線カメラ、飛行時間カメラ、紫外線カメラなど）などの１つ以上から受信し得る。例えばセンサーデータセットは、例えば自律車両の認識システムと組み合わせて使用するためのＬＩＤＡＲシステムなどの１つ以上のＬＩＤＡＲセンサーから受信し得る。ＬＩＤＡＲシステムは発光体と光センサーを含み得、発光体は光を反射して光センサーに戻す物体または表面に高度集束光を向ける１つ以上のレーザーを含む。ＬＩＤＡＲシステムの測定値はＬＩＤＡＲシステムによって取り込んだ位置および／または距離に対応する座標（例えば、デカルト座標、極座標など）を有する３次元ＬＩＤＡＲデータとして表し得る。ＬＩＤＡＲシステムによって取り込んだデータはボクセル空間で表し得、これは３次元空間のボクセルのグリッドでデータを表すことを含み得る。
【０００９】
いくつかの例では、ＬＩＤＡＲデータはボクセル空間で未加工のセンサーデータとして（例えばデータポイントに関連付けられた個々の＜ｘ、ｙ、ｚ、範囲、時間などの＞値を用いて）表され得、および／またはデータの統計的蓄積として表され得る。例えばＬＩＤＡＲデータは、観測されたいくつかのデータポイント、リターンの平均強度、個々のボクセルに関連付けられたＬＩＤＡＲデータの平均ｘ値、個々のボクセルに関連付けられたＬＩＤＡＲデータの平均ｙ値、個々のボクセルに関連付けられたＬＩＤＡＲデータの平均ｚ値、および／またはボクセルに関連付けられたＬＩＤＡＲデータに基づく共分散行列、などの処理済みデータを含む個々のボクセルを用いてボクセル空間に蓄積され得る。
【００１０】
いくつかの例では、システムは１つ以上の追加データセットを１つ以上の光線としてボクセルに光線放射し、１つ以上の光線が通過する１つ以上の通過ボクセルを決定するように構成され得る。いくつかの例では、システムは通過ボクセルに関連付けられた１つ以上のカウンターを減分させ、第２の閾値（例えば１つ以上のカウンターが第２の閾値まで減分したように、第１の閾値よりも低い閾値）に達した通過ボクセルに関連付けられた１つ以上のカウンターを決定するように構成され得る。いくつかの例では、第２の閾値はゼロに等しくてもよい。いくつかの例では、第２の閾値はゼロより大きくてもよい（例えば、１、２、３、４、またはそれ以上）。第２の閾値は事前に決定され得る、および／または例えばカウンターの減分の間の時間量に基づく実時間で決定され得る。いくつかの例では、システムはまた、１つ以上の通過ボクセルを非占有ボクセルとして関連付けるように構成し得る。
【００１１】
システムのいくつかの例では、複数の分類は、車両、歩行者、または自転車の１つ以上を含み得、システムは第１のセンサーデータセットおよび１つ以上の追加センサーデータセットから複数の分類のサブセットに関連付けられたデータを削除するように構成し得る。いくつかの例では、第１のセンサーデータセットおよび１つ以上の追加センサーデータセットを区分することは、１つ以上のセンサーデータセットを入力としてニューラルネットワークへ通過させることと、ニューラルネットワークから区分されたセンサーデータを受信することと、を含み得る。
【００１２】
いくつかの例では、システムは１つ以上の追加データセットの第２のセンサーデータセットを区分するように構成され得る。システムはまた、第２のセンサーデータセット内の第１の物体を決定し、区分された第２のセンサーデータセットに少なくとも部分的に基づいて、第１の物体が静的物体であり、第１の分類に関連付けられることを決定するように構成され得る。そのようないくつかの例では、システムはまた第１の物体に関連付けられた第１のウェイトを決定し、区分された第２のセンサーデータセット内の第２の物体を決定し得る。システムは区分された第２のセンサーデータセットに少なくとも部分的に基づいて、第２の物体が動的物体または潜在動的物体であり、第２の分類に関連付けられることを決定するように構成され得る。そのような例のシステムは第２の物体に関連付けられた第２のウェイトを決定するように構成され得、第２のウェイトは第１のウェイトよりも低い。例えば感知物体タイプが、将来的に移動する、移動させられる、および／または構成もしくは外観を変更する可能性のある駐車中の車両または植生などの潜在動的物体と一致する場合、システムは、例えば、路面、擁壁、建物、電柱などの静的物体と、例えば一致する物体タイプに関連するマップに関する計算（例えば車両の姿勢の決定および／または車両の誘導）中の物体の影響を削減ように構成され得る。そのようなデータをより低いウェイトに関連付けることにより、より高い不確実性をそれに割り当て、および／またはより高いウェイトに関連付けられたそのようなデータに大きく依存しながら、様々なプロセス（例えば位置測定）は依然として、そのようなデータを使用でき得る。
【００１３】
いくつかの例のシステムはまた、意味情報をマップに関連付けるように構成し得る。例えばシステムは区分されたセンサーデータセットに少なくとも部分的に基づく意味情報をマップに関連付けるように構成し得る。自律車両の定位装置によって使用するために、意味情報をマップに追加することは、意味的にラベル付けされたボクセル（例えば「車両」、「歩行者」などのラベルが付けられたボクセル）をラベルに少なくとも部分的に基づいてマップから削除すること、植生を識別すること、信頼レベル（例えばソフト信頼レベルおよびハード閾値（例えば「車両」とラベル付けされたボクセルを使用しない））を確立することの１つ以上を容易にし得る。いくつかの例では、残りの区分されたデータ（例えば特定の意味分類に関連付けられたデータを削除した後に残っているセンサーデータ）を位置測定に使用し得る。
【００１４】
いくつかの例では、システムはまた、第３の時間に１つ以上の追加センサーデータセットの第３のセンサーデータセットを受信し、複数の分類に従って第３のセンサーデータセットを区分するように構成し得る。システムはさらに、第３のセンサーデータセットから分類のサブセットに関連付けられたデータを削除することによってデータのサブセットを作成し、マップおよびセンサーデータのサブセットに少なくとも部分的に基づいて、自律車両を位置測定するように構成し得る。そのようないくつかの例では、特定の分類に関連付けられた特定のデータを削除することは位置測定などの様々なプロセスを改善し得る。
【００１５】
この開示はまた概して、１つ以上のセンサーから環境を表す第１のセンサーデータセットを（例えば第１の時間に）受信することと、複数の分類に従って第１のセンサーデータセットを区分することと、を含む方法に関する。この方法はまた、例えば本明細書に記載するように、第１のセンサーデータセットを複数のボクセルを含むボクセル空間に関連付けることと、第１のセンサーデータセットに少なくとも部分的に基づいてボクセルに関連付けられた占有状態を更新することと（例えばボクセルに関連付けられた１つ以上のカウンターを更新することと（例えば増分および／または減分））、を含み得る。この方法はまた、環境を表す１つ以上の追加センサーデータセットを（例えば１つ以上の後続時に）受信することと、複数の分類に従って１つ以上の追加センサーデータセットを区分することと、を含み得る。この方法はまた、１つ以上の追加センサーデータセットをボクセル空間に関連付けることと、１つ以上の追加センサーデータセットに少なくとも部分的に基づいて、ボクセルに関連付けられた占有状態を更新することと（例えば１つ以上のカウンターを増分および／または減分すること）、を含み得る。この方法は、いくつかの例では、例えば本明細書に記載するように、ボクセルに関連付けられた占有状態に少なくとも部分的に基づいて（例えば閾値を満たしているまたは超えている１つ以上のカウンターに基づいて）ボクセル空間を含むマップを更新することをさらに含み得る。いくつかの例では、方法はまた、マップに少なくとも部分的に基づいて車両の位置または方向の１つ以上を決定することと、車両の位置または方向の１つ以上に基づいて車両を操縦するための１つ以上の軌道を生成することと、を含み得る。そのような例では、方法はまた、１つ以上の複数の軌道に少なくとも部分的に基づいて車両を操縦することを含み得る。
【００１６】
望まないまたは無関係なデータをマップから効率的に除外するためのフレームワークを提供することによって、本明細書に記載する技術はコンピューティングデバイスの機能を改善し得る。いくつかの例では、ＬＩＤＡＲデータおよび／または他のタイプのセンサーからのデータなどの複雑な多次元データはデータの効率的な評価および処理を可能にするボクセル空間で表し得る。いくつかの例では、ボクセル空間はスパースボクセル空間を表す場合があり、これは処理するデータの量を削減し得る。いくつかの例では、技術は無関係なデータを除外する、および／またはデータを区分するための堅牢なプロセスを提供し得、いくつかの例では、これは軌道生成に使用し得る。無関係なデータを削減することでマップを使用する操作に必要な処理および／またはメモリの量を削減し得る。いくつかの例では本明細書に記載する操作はオンラインおよびオフラインのコンテキストで（例えば実時間処理のために車両上で、または常に処理のために車両外で）用いられ得、それにより様々なコンテキストでマップを利用するための柔軟なフレームワークを提供する。いくつかの例では、無関係なデータのないマップが自律車両の軌道を生成する際に使用され得、これは自律車両の乗員の安全性を改善し得る。本明細書に記載するいくつかの例では、演算はボクセル化データ上で演算することにより、メモリ要件を削減するまたは処理量を削減し、データを効率的に簡素化し得る。コンピューターの機能に対するこれら、およびその他の潜在的改善について本明細書で論じる。
【００１７】
本明細書に記載する技術およびシステムはいくつかの方法で実装され得る。例示の実装は図面を参照しながら以下に説明する。
【００１８】
図１はボクセル空間などのマップ内のセンサーデータセットを表し、例えばマップを更新するなどの後続の処理のために物体を識別するための例示のプロセス１００の図解フロー図である。示された例では、例示の車両１０２は環境１０４を走行する。例えば車両１０２は米国国家高速道路交通安全局が発行するレベル５分類に従って操作するように構成された自律車両などの無人車両であり得、これはドライバー（または乗員）による車両の常時制御を要求しない、全体行程の全ての安全上重要な機能を実行の可能な車両について説明している。そのような例では、車両１０２は行程の開始から完了までの全ての機能（全ての駐車機能を含む）を制御するように構成され得るため、ドライバーおよび／または車両１０２を駆動するための制御器（ステアリングホイール、アクセルペダル、および／またはブレーキペダルなど）を含まない場合があり得る。これは単なる例であり、本明細書に記載するシステムおよび方法はドライバーが常に手動で制御する必要がある車両から、部分的または完全に自律的に制御されているものまでを含んでいる任意の地上、空中、または水上車両に組み込み得る。
【００１９】
例示の車両１０２は、例えば、バン、スポーツユーティリティ車両、クロスオーバー車両、トラック、バス、農業用車両、および建設車両などの車両の任意の構成であり得る。車両１０２は、１つ以上の内燃エンジン、１つ以上の電気モーター、水素動力、それらの任意の組み合わせ、および／または任意の他の適切な動力源によって動力を供給され得る。例示の車両１０２は４つの車輪１０６を有するが、本明細書に記載するシステムおよび方法は、より少ないまたはより多い数の車輪、タイヤ、および／または軌道を有する車両に組み込み得る。例示の車両１０２は四輪ステアリングを有し得、例えば図１に示すように、第１の方向１１０へ走行する場合、車両１０２の第１の端部１０８が車両１０２の前端部であるような、および反対側の第２の方向１１２へ走行する場合、第１の端部１０８が車両１０２の後端部になるような、全ての方向において、概して実質的に等しい性能特性で操作し得る。同様に第２の方向１１２へ走行する場合、車両１０２の第２の端部１１４は車両１０２の前端部であり、および反対の第１の方向１１０へ走行する場合、第２の端部１１４は車両１０２の後端部になる。これらの特徴の例は、例えば駐車場および市街地などの小規模空間または混雑環境における操縦性を向上させ得る。
【００２０】
例示の車両１０２などの車両は環境１０４を走行しマッピング（例えばマップの作成および／または既存マップの修正）のためにデータを収集し得る。例えば車両１０２は車両１０２が環境１０４を走行するときに、環境１０４を表すデータセットを取り込むように構成された１つ以上のセンサー１１６を含み得る。図１に示す例では、センサー１１６および関連する説明は１つ以上のＬＩＤＡＲセンサーの使用に関して説明している。ＬＩＤＡＲセンサーのコンテキストおよび／または自律車両のコンテキストで論じたが、本明細書に記載する方法、装置、およびシステムは、例えばその他のセンサー様式、ならびにそれに関連する検出、分類、区分、およびイメージセンサーで使用されるコンピュータービジョンアルゴリズムなどのマッピングアルゴリズムを利用する様々なシステムに適用し得る。さらに３次元ＬＩＤＡＲデータに関して説明しているが、本明細書に記載する、方法、装置、およびシステムは３次元データに限定されず、ＬＩＤＡＲデータに限定されない。例えば、１つ以上のセンサーは、１つ以上のＲＡＤＡＲセンサー、１つ以上の超音波トランスデューサー、１つ以上の撮像機器（例えば、立体視カメラ、深度カメラなど）、および／または環境を表すセンサーデータセットを生成するように構成された任意のセンサータイプであり得る。いくつかの例では、方法、装置、およびシステムは、他の目的、例えば製造組立ラインコンテキストまたは航空測量コンテキストで使用され得る。データセットは任意の数の層または通信路を含み得、これは任意の数の次元に対応し得る。いくつかの例では、本明細書に記載する技術は、実データ（例えばセンサーを使用して取り込んだ）、シミュレーションデータ（例えばシミュレーターによって生成された）、および／またはそれらの組み合わせとともに使用し得る。
【００２１】
図１に示すように、車両１０２は環境１０４を走行し、１つ以上のセンサー１１６は環境１０４を表すデータセットを生成する。例えば１つ以上のセンサー１１６は環境１０４内の１つ以上の物体１１８に対応するセンサーデータを含むセンサーデータセットを実質的に連続的または断続的に生成し得る。例示のプロセス１００は、ステップ１２０において、１つ以上のセンサー１１６を介して第１の時間Ｔ1１２２で環境１０４内の１つ以上の物体１１８を表すセンサーデータセットを生成することを含み得、これは、車、トラック、道路、建物、自転車、歩行者など、都市環境の様々な物体に関連付けられたＬＩＤＡＲデータ（例えばポイントクラウド）を含み得る。いくつかの例では、これは１つ以上のセンサー１１６から複数のデータセットを受信することを含み得、例えば車両１０２が自律車両である場合、これは車両１０２の認識システムに関連して操作し得る。いくつかの例では、データセットからのデータは２つ以上のセンサーから単一のセンサーデータセットに取得されたデータセットからの結合または融合データを含み得る。いくつかの例では、センサーデータセットは後続時に生成および／または処理され得る。例えば図１に示すように、プロセス１００は時間ＴN１２６でのセンサーデータセットを介して時間Ｔ2１２４でセンサーデータセットを生成することを含み得、例えばプロセス１００はある期間にわたってセンサーデータセットの少なくとも一部を抽出することを含み得る。いくつかの例では、ステップ１２０において、プロセス１００は環境１０４のより詳細な表現を取得するために、複数のセンサーからおよび／または複数のセンサータイプからデータセットを受信し、センサーデータセットを関連付けることを含み得る。
【００２２】
ステップ１２８において、プロセス１００は複数の分類に従って、第１の時間Ｔ1１２２に関連付けられた第１のセンサーデータセットを区分することを含み得る。いくつかの例では、第１のセンサーデータセットを区分することは、データを区分し得るニューラルネットワークへの入力として第１のセンサーデータセットを伝達することを含み得るが、任意の他の区分アルゴリズムが企図される。区分された第１のセンサーデータセットに少なくとも部分的に基づいて、分類は、例えば、車両、歩行者、または自転車のうちの１つ以上を含み得る。他の分類も企図される。
【００２３】
ステップ１３０において、プロセス１００は、いくつかの例では、時間Ｔ1１２２での第１のセンサーデータセットをボクセル空間１３２と関連付けることを含み得る。例示の目的で図１に示される例示のボクセル空間１３２は各次元（例えば、ｘ、ｙ、ｚ）に５つのボクセル１３４を含むが、任意の数のボクセル１３４がボクセル空間１３２（例えば、任意の次元で数十、数百、または数千のボクセルのように）に含まれ得る。いくつかの例では、ボクセル空間１３２は、センサーデータセットの大域原点、局所原点、または仮想原点の周囲の領域などの物理的な環境１０４に対応し得る。例えばボクセル空間１３２は、幅１００メートル、長さ１００メートル、高さ２０メートルの領域を表し得るが、他の寸法も企図される。ボクセル空間１３２内の各ボクセル１３４は、例えば各次元で２５センチメートルなどの物理的領域または体積を表し得るが、他の次元も企図される。ボクセル空間１３２は環境１０４の任意の領域を表し得、個々のボクセル１３４は任意の体積を表し得る。いくつかの例では、ボクセルはボクセル空間１３２全体にわたって実質的に均一なサイズ（例えば体積）を有し得、いくつかの例では、ボクセル１３４の与えられた１つの体積は、例えばセンサーデータセットの原点に関連するボクセルの場所に基づいて変化し得る。例えばセンサー１１６の１つからの距離が増加するにつれて、センサーデータセットの密度は減少し得、ボクセルとセンサーまたは例えばセンサー１１６の１つ以上を表す原点との間の距離に比例して、ボクセル空間のボクセルのサイズは増加し得る。
【００２４】
いくつかの例では、データが経時的に取り込まれるので、センサーデータセットをボクセル空間１３２に関連付けることはセンサーデータセット（例えばＬＩＤＡＲセンサーデータセット）をボクセル空間１３２に位置合わせすることを含み得る。例えばセンサーデータセットをボクセル空間１３２に関連付けることはセンサーデータセットに適用する変換を決定して、センサーデータセットをボクセル空間１３２と位置合わせすることを含み得る。例えばセンサー１１６がＬＩＤＡＲセンサーである場合、センサーデータセットをボクセル空間１３２に関連付けることは観測点から既存の取り込んだデータまたは既存マップまでの距離を決定することにより、取り込んだＬＩＤＡＲデータをボクセル空間１３２で取り込まれたデータと一致させること、またはその反対に位置測定を実行することを含み得る。
【００２５】
いくつかの例では、ボクセル空間１３２は空の空間として初期化され得、センサーデータセットは、例えば本明細書に記載されるのと同様に修正されるようにそれらが取り込まれるとボクセル空間１３２に追加され得る。いくつかの例では、ボクセル空間１３２は先に取り込んだデータの大域マップを表すデータで初期化され得る。大域マップデータを使用する例では、操作は局所取込センサーデータセットを大域データと比較して、大域マップ空間内で車両１０２（例えば自律車両）を位置測定することを含み得る。いくつかの例では、そのようなボクセル空間はボクセルハッシュを使用して参照され得る。
【００２６】
いくつかの例では、第１のセンサーデータセットをボクセル空間１３２に関連付けることは、例えばセンサーデータセットがＬＩＤＡＲセンサーから受信される場合、ポイントクラウドの個々のポイントを個々のボクセルにマッピングすることを含み得る。いくつかの例では、例えばセンサーデータセットが自律車両などの移動プラットフォームによって取り込まれた場合、これはセンサーデータセットに関連付けられた動きベクトルを差し引くことを含み得、第１のセンサーデータセットに関連付けられた動きベクトルを差し引くことは、センサーデータセットを静止基準点に転換するために使用し得る。特にいくつかの例では、センサーデータセットは、例えば移動車両に対して固定されたボクセル空間とは対照的に大域マップに対して固定されたボクセル空間に関連付けられ得る。いくつかの例では、第１のセンサーデータセットをボクセル空間１３２に関連付けることは、例えばボクセル空間１３２に対する車両１０２の位置に関連付けられた誤差を補整または調整するために、車両１０２の姿勢（例えば車両１０２の位置および／または方向）および第１のセンサーデータセットをボクセルマップに位置合わせすることを含み得る。
【００２７】
いくつかの例では、センサーデータセットをボクセル空間１３２に関連付けることは、センサーデータを統計的に取り込むことと、それが個々のボクセルに追加されるときにセンサーデータを処理することと、を含み得る。例えば個々のボクセルはセンサーから観測されたいくつかのデータポイントを表すデータ、平均強度（例えばＬＩＤＡＲセンサーデータの）、データの平均ｘ値、データの平均ｙ値、データの平均ｚ値、および／または個々のボクセルに関連付けられたセンサーデータに基づく共分散行列を含み得る。したがって、いくつかの例では個々のボクセルに関連付けられたデータは処理済みデータを表し得、これはシステムの処理性能を改善し得る。
【００２８】
センサーデータセットをボクセル空間１３２に関連付けた後、プロセス１００はステップ１３６において、第１のセンサーデータセットに少なくとも部分的に基づくボクセル１３４に関連する１つ以上のカウンターを更新する（例えば増分する）ことを含み得る。例えばカウンターはデータに関連付けられたボクセル１３４のみを増分し、および／またはセンサーの原点と関連するデータ（例えば範囲および角度）の間のボクセル１３４を減分し得る。いくつかの例では、カウンターはデータに関連付けられたボクセル１３４のみを減分し、および／またはセンサーの原点と関連するデータ（例えば範囲および角度）の間のボクセル１３４を増分し得る。
【００２９】
ステップ１３８において、プロセス１００は環境１０４を表す１つ以上の追加センサーデータセットを１つ以上の追加時間に（例えば後続時に）受信することを含み得る。例えば時間Ｔ2１２４からＴN１２６での１つ以上のセンサーデータセットを受信し得る。その後、ステップ１４０において、プロセス１００のいくつかの例は複数の分類に従って１つ以上の追加センサーデータセットを区分することと、ステップ１４２において、１つ以上の分類に関連付けられていない１つ以上の追加センサーデータセットをボクセル空間１３４に関連付けることと（すなわち、分類のサブセットのそれらのデータセットを関連づけることのみ）、を含み得る。例えば区分された追加センサーデータセットに少なくとも部分的に基づいて、分類は、例えば、車両、歩行者、または自転車のうちの１つ以上を含み得る。そのような例では、車両、歩行者、および／または自転車に関連付けられたデータはボクセル１３４に関連付けられないようにデータセットから破棄し得る。他の分類が企図される。プロセスはまた、ステップ１４４において、１つ以上の追加センサーデータセットに少なくとも部分的に基づいて、１つ以上のカウンターを更新（例えば増分）することと、ステップ１４６において、そのようなボクセル１３４が「占有されている」ことを示す第１の閾値を満たす、または超える１つ以上のカウンターに少なくとも部分的に基づいて、ボクセル空間を含むマップを更新することと、を含み得る。上記のように、これはマップが作成されている間に動的物体をマップから除外（例えば自動的に除外）する、またはいくつかの例では、動的物体を既存マップから除外（例えば自動的に除外）する結果をもたらし得る。したがっていくつかの例では、これを使用してマップの作成中にそれをクリーンアップ（例えば自動的にクリーンアップ）する、および／もしくは静的物体を組み込む、または該当する場合、動的物体を削除することにより既存マップをクリーンアップ（例えば自動的にクリーンアップ）し得る。いくつかの例では、「クリーンアップすること」は動的物体に関連付けられたセンサーデータに基づいてマップに追加された動的物体に関連付けられた動的軌跡に対応し得るマップからアーチファクトを除外（または削除）することを代替的または追加的に指し得る。いくつかの例では、この除外または削除はマップの作成中またはマップの作成後に（例えばマップを更新する場合に）自動的に実行され得る。
【００３０】
特定の状況下では、一度占有されたボクセルを既に占有されていないと決定することは困難または不可能である。例えば自律車両に続く物体（例えば車両）に関連付けられたセンサーデータを探知する場合、例えば物体の後方の領域は自律車両のセンサーでは不可視であり得るため、物体によって一度占有されていたボクセルが既に占有されていないと決定することは困難または不可能であり得る。この影響はマップ内に物体が実際には存在しない動的軌跡を作成し得る。これらの動的軌跡（またはアーチファクト）は望ましくない影響を引き起こし得る。例えば動的軌跡は、例えばマップに示されている場所に既に存在しない物体に関連付けられたマップ内の無関係なデータに起因して、位置測定（例えば自律車両などの車両による）を妨げ得る。これは、車両が環境を走行するときに、車両に接続されたセンサーから取得したセンサーデータからマップに関連付けられた背景データを差し引くことを困難にさせるという結果を引き起こし得る。背景減算は、背景（例えば、路面、建物、障壁、交通信号、縁石などの静的構造を含む背景）の一部ではない環境内の物体を識別する際に車両を支援するために使用し得る。さらに、動的軌跡を含むマップは同様の理由でシミュレーションでの使用には望ましくない場合があり得る。
【００３１】
いくつかの例では、１つ以上のセンサー１１６から取得されたセンサーデータセットは、時間Ｔ2１２４のセンサーデータセットから時間ＴN１２６のセンサーデータセットのような、時間Ｔ1１２２の例示のセンサーデータセットおよび追加時間（例えば後続時）に生成されたセンサーデータセットのように、経時的に蓄積され得る。例えばセンサーデータセットが経時的に蓄積されると、プロセス１００は時間Ｔ1１２２におけるセンサーデータセットに少なくとも部分的に基づいて第１の時間にボクセルが物体によって占有されているかどうかを決定し、その後、ボクセルが第２の時間Ｔ2から時間ＴNなどの追加時間に占有されるかどうかを決定することを含み得る。
【００３２】
いくつかの例では、プロセス１００はボクセルが本当に占有されているかどうかを決定するために、ボクセルの占有を経時的に追跡することを含み得る。例えばプロセス１００は、ボクセルに関連付けられた測定値のカウントされた実例が実例の閾値数を満たすまたは超えるかどうかを決定することを含み得、これはボクセルが占有されていることを示し得る。ボクセルの占有率の変化は関連付けられた物体が動的物体であることを示し得る。例えば物体が第１の時間には存在するが後続時に存在しないと決定された場合、ボクセル内で存在しなくなるので、それは物体が動的物体である兆候であり、物体がボクセルの場所に対応する場所を含まない位置に移動したことを示し得る。しかしながら、後続時の閾値数に対応するセンサーデータセットに物体が存在することが検出された場合は、物体が静的である兆候であり得る。いくつかの例では、カウントされた実例は連続した実例であり得る。いくつかの例では、後続時の１つ以上は、互いに対して１秒以内、１分以内、１時間以内、または互いから１日以内であってもよい。いくつかの例では、後続時の１つ以上は互いに対して１日よりも長くてもよい。実例の閾値数は事前に決定し得、ならびに／または実時間で、もしくは例えば感知物体に関連付けられた１つ以上の特性および／もしくは実例間の時間量に基づいて、動的に決定し得る。
【００３３】
いくつかの例では、プロセス１００はまた、比較に少なくとも部分的に基づいて、ボクセル空間を含むマップを更新し、物体による１つ以上のボクセルの占有を識別することを含み得る。例えば実例の数が実例の閾値数（例えば５以上）よりも多い場合、ボクセルは占有されていると決定され得る。あるいはカウントされた実例の数が閾値の実例の数よりも少ない場合、プロセス１００はボクセルに関連付けられた環境の領域が占有されていないと示すことを含み得る。いくつかの例では、これはボクセルに関連付けられた物体を作成している（または更新している）マップに追加しないこと、または既存マップから物体を削除する（例えばボクセルをクリアする）ことを含み得る。いくつかの例では、マップの作成中に物体をマップに追加しないことは自動的であり得、動的軌跡をマップに追加する可能性を防止し得る。いくつかの例では、動的物体であると決定された物体は必ずしも除外されるとは限り得ない。むしろいくつかの例では、プロセス１００は動的物体に関連付けられたデータに「動的」フラグをラベル付けすることを含み得、その結果データはそれにより選択的に読み込まれ得る（例えば物体は動的物体を含むかどうかの選択に基づいてマップに選択的に存在し得る）。いくつかの例では、マップからボクセルを除外すること（および／または占有されているという表示とそれを関連付けないと決定すること）はマップから動的軌跡の削除をもたらし得る。いくつかの例では、マップは大域マップに関してデバイスおよび／または車両を位置測定するために、第三者および／または車両によってアクセスされ得るデータベース（例えば中央データベース）に格納された大域マップであり得る。
【００３４】
図４に関してより詳細に説明するように、プロセス１００は第１の時間に占有されたボクセルが第２の時間に占有されていないかどうかを決定する光線放射操作を含み得る。例えば１つ以上のセンサー１１６は第１のベクトルによって図解で表されるＬＩＤＡＲデータセットを取り込み、物体を識別および／または区分するように構成されたＬＩＤＡＲセンサーを含み得る。その後、第２の時間にＬＩＤＡＲセンサーは第２のベクトルとして図解で表されたＬＩＤＡＲデータセットを取り込み、例えば壁または建物に対応し得る異なる第２の物体を識別および区分し得る。いくつかの例では、図４に関して論じるように、プロセス１００は第２のベクトルが通過するボクセルを決定して、ＬＩＤＡＲセンサーと第２の物体との間のボクセルが占有されていないと決定することを含み得る。
【００３５】
図２は、例えば以下で説明するように、センサーデータセットに少なくとも部分的に基づいて、マップを更新するための例示のプロセス２００の図解フロー図である。ステップ２０２において、プロセス２００は、例えば環境１０４で検出された物体１１８の１つ以上などの物体に関連付けられたセンサーデータセットを受信することを含み得る。センサーデータセットは、１つ以上のＬＩＤＡＲセンサー、１つ以上のＲＡＤＡＲセンサー、１つ以上のＳＯＮＡＲセンサー、１つ以上の超音波トランスデューサー、１つ以上の撮像機器、および／または環境内の物体を表すセンサーデータセットを生成するように構成された任意のセンサータイプの１つ以上から取得され得る。
【００３６】
いくつかの例では、プロセス２００は、ステップ２０４において、物体に関連付けられたセンサーデータセットの少なくとも一部を区分することを含み得る。例えば感知物体に関連付けられたセンサーデータセットはセンサーデータ区分モデルを実行するように構成された区分ネットワークなどの機械学習ネットワークに通信し得、これは物体に関連付けられたセンサーデータを区分する。いくつかの例では、区分ネットワークは本明細書に記載するネットワークの任意のタイプであり得る。ステップ２０６において、区分されたセンサーデータに少なくとも部分的に基づいて、感知物体は分類され得る。
【００３７】
いくつかの例では、感知物体の分類に続いて、ステップ２０８において、プロセス２００は感知物体が動的であるかどうかを決定することを含み得る。例えば動的物体には、車両、自転車、歩行者、動物などが含まれ得る。物体が動的であると決定された場合、ステップ２１０において、プロセス２００は、例えば本明細書に記載するように、マップから感知物体を除外することを含み得る。その後、ステップ２１２において、プロセス２００は、例えばプロセス２００の前述の部分の一部または全てを繰り返すために、ステップ２０２に戻ることを含み得る。一方、感知物体が動的でない場合、ステップ２１４において、プロセス２００は、例えば本明細書に記載するように、物体をマップに追加することを含み得る。
【００３８】
いくつかの例では、ステップ２１６において、プロセス２００は感知物体に関連付けられた意味をマップに追加する（例えば自動的に追加する）ことを含み得る。いくつかの例では、意味は少なくとも部分的に感知物体に関連付けられた区分されたセンサーデータに基づき得る。例えば意味は、例えば、建物、路面、歩道、障壁、植生（例えば木々および茂み）などのような、環境内の１つ以上の物体に関連付けられたラベルを含み得る。いくつかの例では、例えば、強度、ＲＧＢ、分類などのセンサーデータ特性をマップに格納し得る。
【００３９】
いくつかの例では、ステップ２１８において、プロセス２００は感知物体が例えば経時的に外観（例えば、サイズ、形状、色、密度など）および／または場所が変化し得る木または茂みなどのような、潜在動的であるかどうかを決定することを含み得る。そのような物体は外観および場所が変わり得るので、例えそれらが場所および／または方向を決定するのに、および／または誘導で使用するのに有効であり得ても、そのような決定のそれらの重要性は、例えば路面、建物などの静的物体に基づく決定より相対的に信頼性が低い場合があり得る。
【００４０】
いくつかの例では、ステップ２２０において、感知物体が潜在動的であると決定された場合、プロセス２００は車両認識システムによって使用されるとき、例えばその影響に関してダウンウェイト値を感知物体に関連付け、その姿勢を決定するおよび／または車両を誘導し得る。例えば後で車両１０２が環境１０４を横断し、環境１０４内で位置測定しようとする際、車両１０２は位置測定のためにダウンウェイト値に関連付けられた物体へ大きく依存しない。例えば物体が静的物体である場合、ウェイトは静的物体としての識別に少なくとも部分的に基づいて、物体に関連付けられ得る。しかしながら、物体が動的物体または潜在動的物体であると決定された場合、静的物体に関連付けられたウェイトと比較して異なる削減されたウェイト（例えば「ダウンウェイトされた」ウェイト）が動的または潜在動的物体と関連付けられ得る。少なくとも部分的にダウンウェイトされたウェイトに基づいて、位置測定するとき、車両１０２は静的物体と比較して動的または潜在動的物体に大きく依存し得ない。この例示の方策は位置測定プロセスの正確性および／または速度を向上させ得る。
【００４１】
その後、ステップ２２２において、プロセス２００はステップ２０２に戻り得、その結果、プロセス２００の少なくとも一部を繰り返し得る。ステップ２２０において、感知物体が潜在動的ではない（例えばそれは静的である）と決定された場合、ステップ２２２において、プロセス２００はステップ２０２に戻り得、プロセス２００の少なくとも一部は、例えば感知物体をダウンウェイトせずに繰り返され得る。
【００４２】
いくつかの例では、図１に示す例示のプロセス１００の少なくとも一部、および図２に示す例示のプロセス２００の少なくとも一部は結合し得る。例えばセンサーデータセットが受信され得、ボクセル空間が作成され得る。その後、センサーデータセットに少なくとも部分的に基づいて、いくつかの例では、地面が決定され得、ボクセル空間内の自由空間および物体が、例えば図１に関して説明された例示のプロセス１００に関して上述したように識別され得る。これらの決定に少なくとも部分的に基づいて、ボクセル空間で識別された動的物体はマップから除外され得る（例えば動的物体は作成中のマップに追加され得ず、動的物体は既存マップから削除され得る）。さらにいくつかの例では、センサーデータセットの少なくとも一部は、例えばセンサーデータを区分するように構成されたセンサーデータ区分モデルを使用するセンサーデータ区分ネットワークを含む機械学習ネットワークによって区分され得る。検出された物体に関連付けられた区分されたセンサーデータは物体を動的または静的として分類するために使用し得、動的物体はマップから除外し得る。これは図１に関して記述されたプロセス１００のみを用いるマップから削除するのが困難であり得る駐車車両のような物体のマップからの除外を可能にし得る。いくつかの例では、物体に関連付けられた区分されたセンサーデータの少なくとも一部に基づいて、物体に関連付けられた意味を、例えば図２に関する例示のプロセス２００に関して上述したようにマップに追加し得る。
【００４３】
図３は本明細書に記載するプロセスを実装するための例示のアーキテクチャ３００を示す。アーキテクチャ３００は、本明細書に記載するシステム、方法、および装置の態様を実装するための様々なハードウェアおよび／またはソフトウェアを含む１つ以上のコンピューターシステム３０２を含み得る。例えばコンピューターシステム３０２は、ＬＩＤＡＲコンポーネント３０４、撮像コンポーネント３０６、ＲＡＤＡＲコンポーネント３０８、ＳＯＮＡＲコンポーネント３１０、位置測定コンポーネント３１２、ボクセル空間コンポーネント３１４、動的物体決定コンポーネント３１６、光線放射コンポーネント３１８、追跡コンポーネント３２０、および計画コンポーネント３２２を含み得る。
【００４４】
いくつかの例では、コンピューターシステム３０２は自律車両で具体化され得る。いくつかの例では、コンピューターシステム３０２は自律車両に認識および計画機能を提供し得る。一般に、コンピューターシステム３０２は、ＬＩＤＡＲ認識、ＲＡＤＡＲ認識、ビジョン（撮像）認識、音響認識、区分および分類、追跡および融合、および予測／計画を含み得る。
【００４５】
本明細書に記載するように、ＬＩＤＡＲコンポーネント３０４はＬＩＤＡＲデータを取り込むように構成された１つ以上のＬＩＤＡＲセンサーを含み得る。ＬＩＤＡＲコンポーネント３０４は１つ以上の深度センサーを含み得る。いくつかの例では、ＬＩＤＡＲコンポーネント３０４は複数のＬＩＤＡＲセンサーからのＬＩＤＡＲデータを結合または合成して、複数のＬＩＤＡＲセンサーから取得されたＬＩＤＡＲデータを指し得るＬＩＤＡＲデータのメタスピンを生成するように構成され得る。いくつかの例では、１つ以上のＬＩＤＡＲセンサーの各々からのＬＩＤＡＲデータが仮想原点に関して表されるように、ＬＩＤＡＲコンポーネント３０４はメタスピンデータ（例えば全てのＬＩＤＡＲセンサーに共通の座標参照フレーム）の仮想原点を決定し、データ変換を実行するように構成され得る。例えばＬＩＤＡＲコンポーネント３０４はデータを取り込むように構成され得、処理のためにデータセットをコンピューターシステム３０２に通信し得る。
【００４６】
撮像コンポーネント３０６は、例えば本明細書に記載するように、画像区分および／または分類のためにビジョンデータを取り込むように構成された１つ以上の撮像機器を含み得る。撮像コンポーネント３０６は任意の数およびタイプのイメージセンサーを含み得る。例えば撮像コンポーネント３０６は、任意のカラーカメラ、モノクロカメラ、深度カメラ、ＲＧＢ−Ｄカメラ、ステレオカメラ、赤外線（ＩＲ）カメラ、紫外線（ＵＶ）カメラなどを含み得る。いくつかの例では、撮像コンポーネント３０６はデータを取り込むように構成され得、処理のためにデータセットをコンピューターシステム３０２に通信し得る。例えば撮像コンポーネント３０６からのデータはマルチ通信路画像の１つ以上の通信路として含まれ得る。
【００４７】
ＲＡＤＡＲコンポーネント３０８は、環境内の物体の範囲、角度、および／または速度を取り込むように構成された１つ以上のＲＡＤＡＲセンサーを含み得る。いくつかの例では、ＲＡＤＡＲコンポーネント３０８はデータを取り込むように構成され得、処理のためにデータセットをコンピューターシステム３０２に通信し得る。例えばＲＡＤＡＲコンポーネント３０８からのデータはマルチ通信路画像の１つ以上の通信路として含まれ得る。
【００４８】
ＳＯＮＡＲコンポーネント３１０は１つ以上のスピーカまたは発音体および環境内の物体に関連付けられた音響情報を取り込むように構成された１つ以上のマイクロフォン（例えばマイクロフォンアレイなど）を含み得る。いくつかの例では、ＳＯＮＡＲコンポーネント３１０は様々な超音波トランスデューサーを含み得る。例えばＳＯＮＡＲコンポーネント３１０は音のパルスを放出するように構成し得、反響を集音し、環境内の物体に関連付けられた位置および／または動きの情報を決定し得る。いくつかの例では、ＳＯＮＡＲコンポーネント３１０はデータを取り込むように構成し得、処理のためにデータセットをコンピューターシステム３０２に通信し得る。例えばＳＯＮＡＲコンポーネント３１０からのデータは物体をより正確に区分するために、および／または物体に関する情報を決定するために、ＬＩＤＡＲコンポーネント３０４からのデータと融合し得る。
【００４９】
コンピューティングシステム３０２は、例えば自律車両での使用に適した任意の数またはタイプの他のセンサーを含み得る。限定しないが、様々なセンサーには、超音波トランスデューサー、ホイールエンコーダー、マイクロフォン、慣性測定ユニット（ＩＭＵ）、加速度計、ジャイロスコープ、磁力計、温度センサー、湿度センサー、光センサー、全地球測位システム（ＧＰＳ）センサーなどが含まれ得る。
【００５０】
いくつかの例では、ＬＩＤＡＲコンポーネント３０４、撮像コンポーネント３０６、ＲＡＤＡＲコンポーネント３０８、および／またはＳＯＮＡＲコンポーネント３１０は、改善された区分のためのデータを結合および／または合成するために、１つ以上のデータセットをコンピューターシステム３０２へ供給し得る。
【００５１】
コンピューターシステム３０２はまた、例えば試験において使用するためのコンピューターシミュレーションアルゴリズムによって生成されたシミュレーションデータを含み得る。いくつかの例では、シミュレーションされたデータは、例えば、撮像データ、ＬＩＤＡＲデータ、ＲＡＤＡＲデータ、ＳＯＮＡＲデータ、慣性データ、ＧＰＳデータなど任意のタイプのシミュレーションされたデータを含み得る。いくつかの例では、コンピューターシステム３０２は、例えば本明細書に記載するように、操作を検証するためにおよび／または機械学習アルゴリズムを訓練するために、シミュレーションデータに対して本明細書に記載する転換操作を修正、変換および／または実行するように構成し得る。
【００５２】
いくつかの例では、位置測定コンポーネント３１２は１つ以上のセンサー１１６からデータを受信し、車両１０２の位置を決定するように構成し得る。例えば位置測定コンポーネント３１２は環境の３次元マップを含み得、マップ内の自律車両の場所を連続的または断続的に決定し得る。いくつかの例では、位置測定コンポーネント３１２はＳＬＡＭ（同時位置測定およびマッピング）またはＣＬＡＭＳ（同時に較正、位置測定およびマッピング）を使用して、画像データ、ＬＩＤＡＲデータ、ＲＡＤＡＲデータ、ＳＯＮＡＲデータ、ＩＭＵデータ、ＧＰＳデータ、および自律車両の場所を正確に決定するための他のデータを受信し得る。いくつかの例では、位置測定コンポーネント３１２はデータを車両１０２の様々なコンポーネントに供給して、例えば本明細書に記載するように、候補軌道を生成するための自律車両の初期位置を決定し得る。
【００５３】
ボクセル空間コンポーネント３１４はデータをボクセル空間に転換またはマッピングするように構成され得る。例えばボクセル空間コンポーネント３１４は、ＬＩＤＡＲデータ、撮像データ、ＲＡＤＡＲデータ、ＳＯＮＡＲデータなどのようなセンサーデータセットを受信し、データポイントを環境内の３次元空間を表すボクセル空間にマッピング、転換、および／または関連付けるように構成され得る。いくつかの例では、ボクセル空間コンポーネント３１４は、ボクセル空間の長さ、幅、および高さを含むボクセル空間の寸法を定義するように構成され得る。ボクセル空間コンポーネント３１４は、いくつかの例では個々のボクセルのサイズを決定するように構成され得る。いくつかの例では、ボクセルはボクセル空間全体にわたって均一なサイズおよび形状であり得、いくつかの例では、ボクセルのサイズおよび／または密度は例えばボクセル空間の相対的な場所に基づいて変化し得る。例えばボクセルのサイズはボクセルとボクセル空間の原点または中心との間の距離に比例して増加または減少し得る。いくつかの例では、ボクセル空間コンポーネント３１４は仮想原点とボクセル空間の原点の間の変換を実行し得る。いくつかの例では、ボクセル空間コンポーネント３１４はスパースボクセル空間を生成するように構成され得、これはデータを含まない、またはデータ最小レベル未満のデータ量を含むボクセルを破棄することを含み得る。そのようないくつかの例では、ボクセル空間コンポーネント３１４は、オクトマップ、ボクセルハッシングなどを含み得る。いくつかの例では、ボクセル空間コンポーネント３１４は、例えばデータがボクセル空間にマッピングされる際に、データをフィルター処理することによって、データ内のノイズ量を削減するように構成され得る。例えばフィルター処理はボクセルあたりの最小量のデータ（例えばボクセルに関連付けられたいくつかのＬＩＤＡＲデータポイント）よりも少ない、またはボクセルの所定数（例えばいくつかの近位ボクセルに関連付けられたいくつかのＬＩＤＡＲデータポイント）を超えるデータを削除することを含み得る。いくつかの例では、ボクセル空間コンポーネント３１４は、データが経時的に収集されるときに、および／またはボクセル空間内で自律車両が機動することに応答して、ボクセル空間を更新するように構成され得る。例えばボクセル空間コンポーネント３１４は、環境内で自律車両が機動する際に、ボクセル空間からデータを追加および／またはデータを破棄し得る。
【００５４】
いくつかの例では、ボクセル空間コンポーネント３１４はボクセル空間を空の空間として初期化し、センサーデータセット（例えばＬＩＤＡＲデータ）を経時的に取り込むにつれて物体の表現を作り上げるように構成され得る。いくつかの例では、ボクセル空間コンポーネント３１４は大域マップデータでボクセル空間を初期化するように構成され得、その結果、例えば局所取込センサーデータセット（例えばＬＩＤＡＲデータ）は大域マップ空間内の自律車両を位置測定するために使用し得、および例えば本明細書に記載するように、大域マップのボクセルをクリーンアップする（またはクリアする）ために使用し得る。いくつかの例では、ボクセル表現は例えばマーチングキューブなどを使用して網目表現に変換し得る。
【００５５】
動的物体決定コンポーネント３１６は静的物体と動的物体を区別するように構成され得る。例えば動的物体決定コンポーネント３１６は、例えば本明細書に記載するように、第１の時間のボクセルを後続時のボクセルと比較して、ボクセルの占有率が経時的に変化するかどうかを決定することにより、経時的にデータを蓄積して物体の動きを決定し得る。例えばボクセルが第１の時間に物体によって占有され、後続時に物体によって占有されなかった場合、動的物体決定コンポーネント３１６は物体が動的物体であると決定するように構成し得る。例えば動的物体決定コンポーネント３１６はボクセル空間に関連付けられたセンサーデータセットを受信し、第１の時間にボクセル空間の１つ以上のボクセル内の物体の存在を識別し、後続時に物体の存在の実例をカウントし、例えば本明細書に記載するように、実例の閾値数よりも大きい物体の存在の実例に少なくとも部分的に基づいて、物体が静的物体であると決定するように構成され得る。反対に動的物体決定コンポーネント３１６が１つ以上のボクセルにおける物体の存在の実例が閾値未満であると決定した場合、例えば本明細書に記載するように、動的物体決定コンポーネント３１６は物体が動的物体であると代わりに決定し得る。いくつかの例では、経時的に占有されるまたは占有されないボクセルに少なくとも部分的に基づいて、動的物体決定コンポーネント３１６は、例えば速度および／または方向を含む動きの速さなどの動的物体の動きを決定するように構成され得る。
【００５６】
光線放射コンポーネント３１８は、例えば静的物体と動的物体とを区別するために、動的物体決定コンポーネント３１６と協働するように構成され得る。いくつかの例では、光線放射コンポーネント３１８は、データがボクセル空間に蓄積するにつれて、ボクセル空間を経時的にクリアするように構成され得る。例えば物体がボクセル空間内で経時的に移動すると、動的物体に占有されたボクセルは経時的にデータを取り込み得る。いくつかの例では、光線放射コンポーネント３１８は、例えば光線が通過するボクセルがクリアされるべきであることを決定するために、センサーデータセット（例えばＬＩＤＡＲデータ）に関連付けられた光線の経路を分析するように構成され得る。この例示の方法では、光線放射コンポーネント３１８は第１の時間に占有されたボクセルが１つ以上の後続時には占有されないことを決定するように構成され得、様々なコンポーネントに提供され、例えば物体が動的物体であると決定し得る。いくつかの例では、ボクセルがデータに関連付けられているかどうかに基づいて、１つ以上のカウンターが増分または減分し得、例えば図５に関して説明するように、閾値を使用して非占有ボクセルを「自由空間」および占有ボクセルを「非自由空間」と特色づけ得る。いくつかの例では、ボクセル空間は疎らな方法で（例えば占有ボクセルを表し、非占有ボクセルを無視して）または密な方法で（例えばボクセルを破棄せずに）表し得る。いくつかの例では、例えばセパースボクセル表現に存在しないボクセル（例えばボクセルがセンサーデータセットに関連付けられていないので）がそのようなボクセルの光線放射情報に関連付けられるように、光線放射コンポーネント３１８は密な方法で光線放射情報を格納するように構成され得る。例えば関連付けられたセンサーデータセットのないボクセルはそれでも高密度ボクセル空間で表し、関連する光線放射情報を含み得る。このようないくつかの例では、高密度ボクセル表現は本明細書で論じる光線放射操作に少なくとも部分的に応答して、ボクセルに正の情報を関連付け得る（例えばボクセルが占有されていない）。いくつかの例では、センサーデータセットが個々のボクセルに関して蓄積されると、負の情報が、例えば静的物体に占有されていることを示す個々のボクセルに関連付けられ得る。経時的にデータが蓄積されると、情報は例えば一部を集計し、ボクセルが解放空間または静的物体を表すのかを決定し得る。いくつかの例では、光線放射コンポーネント３１８は、例えば本明細書に記載するように局所取込センサーデータセットを大域マップデータと比較することによって、大域マップのクリーンアップを容易にするように構成し得る。
【００５７】
追跡コンポーネント３２０は１つ以上の動的物体の通知を受信し、動的物体を追跡するために追加の処理を実行するように構成され得る。例えば追跡コンポーネント３２０は、その速さおよび／または軌道を含む動的物体の速度を決定し、および／または動的物体の軌道を経時的に格納するように構成され得る。いくつかの例では、追跡コンポーネント３２０は、例えば、物体の直前動作、物体の分類タイプ、特定の動作を識別するように訓練された機械学習アルゴリズムなどに基づいて追跡されている物体の経路を予測し得る予測アルゴリズムを含み得る。
【００５８】
計画コンポーネント３２２は、区分データならびに／または地面、静的物体、および／もしくは動的物体の表示を受信し、例えば自律車両の軌道を決定することにより支援するように構成され得る。例えば計画コンポーネント３２２は地面および１つ以上の物体を識別する区分情報を受信するように構成され得、自律車両が辿る軌道を生成し得る。上記のように、そのような計画モジュールは後退地平線技術に従って複数の軌道を繰り返し生成し、自律車両が横断するための最高の信頼レベルを有する１つの軌道を選択し得る。
【００５９】
人工ニューラルネットワーク（ＡＮＮ）は生物学的に着想を得たアルゴリズムであり得、これは入力データを一連の接続された層に通して出力を生成する。ニューラルネットワークの一例は重畳型ニューラルネットワークまたはＣＮＮを含み得る。ＣＮＮの各層はまた、別のＣＮＮを含み得、または任意の数の層を含み得る。本開示のコンテキストで理解され得るように、ニューラルネットワークはアルゴリズムの広範囲の分類を指し得る機械学習を使用し得、そこにおいて学習されたパラメータに基づいて出力が生成される。
【００６０】
ニューラルネットワークのコンテキストで論じたが、任意のタイプの機械学習がこの開示と一致して使用され得る。例えば限定しないが、機械学習アルゴリズムは、回帰アルゴリズム（例えば、通常の最小二乗回帰（ＯＬＳＲ）、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応回帰スプライン（ＭＡＲＳ）、局所的に推定されたスカープロット平滑化（ＬＯＥＳＳ））、インスタンスベースのアルゴリズム（例えば、リッジ回帰、最小絶対収縮および選択演算子（ＬＡＳＳＯ）、弾性ネット、最小角度回帰（ＬＡＲＳ））、決定木アルゴリズム（例えば、分類および回帰木（ＣＡＲＴ）、反復二分法３（ＩＤ３）、カイ二乗自動相互作用検出（ＣＨＡＩＤ）、決定切り株、条件付き決定木））、ベイジアンアルゴリズム（例えば、単純ベイズ、ガウス単純ベイズ、多項単純ベイズ、平均１依存推定量（ＡＯＤＥ）、ベイジアン信念ネットワーク（ＢＮＮ）、ベイジアンネットワーク）、クラスタリングアルゴリズム（例えば、ｋ平均、ｋ中央値、期待値最大化（ＥＭ）、階層的クラスタリング）、相関ルール学習アルゴリズム（例えば、パーセプトロン、バックプロパゲーション、ホップフィールドネットワーク、動径基底関数ネットワーク（ＲＢＦＮ））、ディープラーニングアルゴリズム（例えばディープボルツマンマシーン（ＤＢＭ）、ディープブリーフネットワーク（ＤＢＮ）、重畳型ニューラルネットワーク（ＣＮＮ）、スタック・オートエンコーダ）、次元数削減アルゴリズム（例えば主成分分析（ＰＣＡ）、主成分回帰（ＰＣＲ）、部分最小二乗回帰（ＰＬＳＲ）、サモンマッピング、多次元スケーリング（ＭＤＳ）、射影追跡、線形判別分析（ＬＤＡ）、混合判別分析（ＭＤＡ）、二次判別分析（ＱＤＡ）、柔軟判別分析（ＦＤＡ））、アンサンブルアルゴリズム（例えば、ブースティング、ブートストラップ集計（バギング）、アダブースト、スタック一般化（ブレンディング）、勾配ブースティングマシン（ＧＢＭ）、勾配ブースティング回帰ツリー（ＧＢＲＴ）、ランダムフォレスト）、サポートベクターマシン（ＳＶＭ）、教師あり学習、教師なし学習、半教師あり学習などの方法を含み得る。
【００６１】
いくつかの例では、複数のタイプの機械学習を使用して、使用される機械学習のタイプのそれぞれについて各自の結果を提供し得る。いくつかの例では、信頼スコアはそれぞれの結果に連関付けられ得、信頼される結果は結果に関連付けられた信頼スコアに少なくとも部分的に基づき得る。例えば最高の信頼スコアに関連付けられた結果を他の結果と比較して選択し得、または信頼性スコアに基づいて、例えば加重平均などの統計的方法に基づいて、結果を組み合わせ得る。
【００６２】
図４は、第１の概略図４０２および第１の概略図４０２のより詳細な描写を提供する第２の概略図４０４によって示される例示の光線放射プロセス４００を示す。図４に示すように、光線放射プロセス４００を使用して、第１の時間Ｔ1で物体によって占有されたボクセルが後続時の第２の時間Ｔ2で既に占有されていないかどうかを決定し得る。例えばセンサー４０６（例えばＬＩＤＡＲセンサー）は第１のベクトル４０８によって表されるセンサーデータセットを取り込み、第１の物体４１０を識別および／または区分し得る。第２の後続時の時間Ｔ2で、センサー４０６は第２のベクトル４１２として表されるセンサーデータセットを取り込み、第２の物体４１４を識別および／または区分し得、これは例えば壁または建物に対応し得る。いくつかの例では、光線放射プロセス４００は第２のベクトル４１２が通過するボクセル空間４１８のボクセル４１６を決定して、センサー４０６と第２の物体４１４との間のボクセル４１６が占有されていないと決定することを含み得る。
【００６３】
図４の分解図に示すように、第２のベクトル４１２はセンサー４０６から始まりボクセル空間４１８の複数のボクセル４１６を通過して、第２の物体４１４に関連付けられたセンサーデータセットを取り込むように示されている。第２のベクトル４１２は第２の時間Ｔ2に関連付けられ、その時間までに、図示の例では、第１の物体４１０は第１の時間Ｔ1の第１の位置４２０から物体４１０’に関連付けられた第２の時間Ｔ2の第２の位置４２０’に移動している。概略的に示すように、第２のベクトル４１２は時間Ｔ1で第１の物体４１０を表すデータによって先に占有されていたボクセル４２２、４２４、４２６、４２８、および４３０を通過する。いくつかの例では、光線放射プロセス４００はまた、第２のベクトル４１２が通過するボクセルの一部または全てを決定して、先に占有されていたボクセル４２２、４２４、４２６、４２８、および４３０が第２の時間Ｔ2では既に占有されていないと決定すること含み得る。この例示の方法では、図４に示す光線放射プロセス４００は、例えば本明細書に記載するように、第１の物体４１０および４１０’が動的物体であると決定するために使用する例示の技術を提供する。
【００６４】
いくつかの例では、光線放射プロセス４００は、本明細書に記載するように、例えば後続時にボクセル４２２、４２４、４２６、４２８、および４３０をクリアするように構成され得る。いくつかのそのような例では、本明細書に記載する技術を使用して、ボクセル空間の状態を経時的に更新し、瞬間的に維持されるデータの量を削減し、さらにボクセル空間４１８の動的物体を検出して区分する操作の改善をもし得る。これはコンピューター処理および／またはメモリ使用量の関連する削減を促進し得る。
【００６５】
いくつかの例では、光線放射プロセス４００を使用して、局所取込センサーデータセットを先に取り込まれた大域マップデータと比較し得る。例えば第１の物体４１０は大域マップデータで表される物体に対応し得る。しかしながら、第２のベクトル４１２が物体４１０を表す１つ以上のボクセルを通過する場合、第２のベクトル４１２が局所取込センサーデータセットを表す際に、例示のプロセス４００を使用して、大域マップと局所マップに相違があると決定し得る。いくつかの例では、その違いは、大域マップが不正確であること、または環境の状態が変化した（例えば外界が、例えば木または障壁の削除によって変化した）ことを示し得る。この例の方法では、大域マップと局所取得センサーデータセットの相違が決定されると、その違いは、例えば中央サーバーに通信され大域マップデータ内に組み込まれ得る（例えば違いが一致によって確かめられる場合（例えば同じもしくは類似したイベントまたはデータの度重なる観察によって）、またはセンサーデータセットと関連付けられた信頼レベルが最小量を超える場合）。更新された大域マップは第三者および／または他の車両などの他のユーザーに配信され得る。
【００６６】
図５は、「自由空間」を決定するためのカウンターの増分の例、および「非自由空間」を決定するためのカウンターの減分の例を示すグラフである。図５に示すように、カウンターを閾値と比較して、ボクセル空間のボクセルがボクセルに関連付けられた場所に物体が存在しないことと一致する「自由空間」と特色づけられ、または例えば物体によって、占有されているボクセルと一致する「非自由空間」と特色づけられるべきかどうかを決定し得る。図５は、例示のカウンター増分および／または減分方策を使用して「自由空間」または「非自由空間」を決定するための例示の実装を説明するが、他の計画が企図される。「自由空間」または「非自由空間」の決定は、例えば観測されたボクセルの経時的な集計データを観測することによって行い得、これは様々なアルゴリズムまたは機械学習モデルに組み込み得る。ボクセルに関連付けられたカウンターを増分または減分することは、「自由空間」または「非自由空間」の決定を果たすためのメカニズムの一例にすぎない。
【００６７】
図５に示すいくつかの例では、グラフ５００はボクセルに関連付けられた「非自由空間」としてボクセルを特色づけるためにカウンターを増分する例に関連付けられた第１の線５０２を含む。グラフで示すように、カウンターが５０４で（この例ではボクセルが「非自由空間」と特色づけられるポイント５で）、第１の閾値に達するまで、時間経過につれて物体の存在が検出されるたびに、ボクセルに関連付けられたカウンターは増分する。本明細書で前述したものなどの他の閾値が企図される。いくつかの例では、カウンターは必要に応じて経時的に増分し続け得る。いくつかの例では、カウンターが第１の閾値に達すると、増分が止まり得る。例示のグラフ５００はまた、ボクセルを「自由空間」と特色づけるためにカウンターを減分する例に関連付けられた第２の線５０６も含む。グラフで示すように、カウンターが５０８で（この例ではゼロで）、第２の閾値に達するまで、時間経過につれて物体の存在が検出されないたびに、ボクセルに関連付けられたカウンターは減分する。いくつかの例では、カウンターが第２の閾値に達すると、減分が止まり得る。この例示の方法では、履歴現象を使用して、ボクセルを「自由空間」または「非自由空間」と特色づけ得る。図５に示すように、そのようなプロセスはまた、データがボクセルに関連付けられる際にカウンターが減分し、光線放射がボクセルを通過する際に増分されるように、増分と減分を逆にすることによって達成され得る。
【００６８】
様々な実装において、本明細書に例示するパラメータ値および他のデータは、１つ以上のデータストアに含まれ得る、および説明されない他の情報と結合し得る、または、より多い、より少ない、もしくは異なるデータ構造と異なるように分割され得る。いくつかの実装形態では、データストアは物理的に１つのメモリに設置され得る、または２つ以上のメモリの間で分散され得る。
【００６９】
当業者は、例示のアーキテクチャ３００（図３参照）が単なる例示であり、本開示の範囲を限定することを意図していないことを理解するであろう。特に、コンピューティングシステムおよびデバイスは、コンピューター、ネットワークデバイス、インターネットアプライアンス、タブレットコンピューター、ＰＤＡ、ワイヤレス電話、ポケットベルなどを含む、示された機能を実行できるハードウェアまたはソフトウェアの任意の組み合わせを含み得る。アーキテクチャ３００はまた、例示されない他のデバイスに接続されてもよく、または代わりに独立型システムとして操作してもよい。さらに、例示されたコンポーネントによって提供される機能は、いくつかの実装では、より少ないコンポーネントに結合、または追加のコンポーネントに分散され得る。同様に、いくつかの実装形態では、例示されたコンポーネントのいくつかの機能が提供されなくてもよく、および／または他の追加の機能が利用可能であってもよい。
【００７０】
様々なアイテムが使用中にメモリまたはストレージに格納されるものとして例示されているが、これらのアイテムまたはこれらの一部はメモリ管理およびデータの整合性の目的でメモリと他のストレージデバイスとの間で転送され得ることを当業者はまた理解するであろう。あるいは、他の実装形態では、ソフトウェアコンポーネントの一部または全てが、別のデバイス上のメモリで実行され、例示されたアーキテクチャ３００と通信し得る。一部または全てのシステムコンポーネントまたはデータ構造はまた、非一時的な、コンピューターアクセス可能媒体またはポータブル製品に格納され、上述の様々な例の適切なドライブで読み取られ得る（例えば命令または構造化データとして）。いくつかの実装形態では、アーキテクチャ３００とは区別されたコンピューターアクセス可能媒体に格納された命令は、無線リンクなどの通信媒体を介して伝達される、電気、電磁気、またはデジタル信号などの伝送媒体または信号を介してアーキテクチャ３００に送信され得る。様々な実装形態はさらに、上記説明に従ってコンピューターアクセス可能媒体に実装される命令および／またはデータを受信、送信または格納することを含み得る。したがって、本明細書に記載する技術は他の制御システム構成で実践し得る。
【００７１】
図６および図７は、ハードウェア、ソフトウェアまたはその組み合わせにおいて実装することができる一連の操作を表すロジカルフローグラフにおけるブロックの集合として例示される例示のプロセスのフロー図である。ソフトウェアのコンテキストにおいては、ブロックは、１つ以上のプロセッサで実行したときに、列挙した操作を実行する１つ以上のコンピューター可読記録媒体に格納されたコンピューター実行可能命令を表す。一般に、コンピューター実行可能命令は特定の機能を実行するまたは特定の抽象的データタイプを実装するルーチン、プログラム、物体、コンポーネント、データ構造等を含む。操作が記載される順序は限定して解釈されることを意図するものではなく、任意の数の記載されるブロックを任意の順序でおよび／または並行し結合して、プロセスを実装することができる。
【００７２】
図６は、例えばマップの作成および／または既存マップの変更などのマップを更新するための例示のプロセス６００のフロー図である。ステップ６０２において、例示のプロセス６００は第１の時間に環境を表す第１のセンサーデータセットを受信することを含み得る。例えばセンサーはＬＩＤＡＲセンサーであり得、センサーデータセットはＬＩＤＡＲセンサーデータを含み得る。他のセンサータイプおよびそのようなセンサーからのデータセットは、限定しないが、ＲＡＤＡＲセンサー、ＳＯＮＡＲセンサー、超音波トランスデューサー、画像センサーなどが企図される。
【００７３】
ステップ６０４において、例示のプロセス６００はまた、複数の分類に従って第１のセンサーデータセットを区分することを含み得る。例えば複数の分類は、車両、歩行者、または自転車のうちの１つ以上を含み得、プロセス６００は第１のセンサーデータセットから複数の分類のサブセットに関連付けられたデータを削除することを含み得る。いくつかの例では、複数の分類のサブセットは動的物体または潜在動的物体に関連付けられ得、プロセス６００は第１のセンサーデータセット内の感知物体を検出し、感知物体を複数の分類のサブセットの１つとして分類することを含み得る。他の分類が企図される。いくつかの例では、区分は第１のセンサーデータセットを例えば本明細書に記載する機械学習モデルなどの機械学習モデルに伝達することと、機械学習モデルから区分情報を受信することと、を含み得るが、他の区分プロセスが企図される。ステップ６０６において、プロセス６００は、例えば本明細書に記載するように、第１のセンサーデータセットを複数のボクセルを含むボクセル空間に関連付けることを含み得る。
【００７４】
いくつかの例におけるプロセス６００は、ステップ６０８において、第１のセンサーデータセットに少なくとも部分的に基づいてボクセルに関連付けられた占有状態を更新することを含み得る。これは、例えば図５に関して本明細書に記載するように、例えば第１のセンサーデータセットに少なくとも部分的に基づいてボクセルに関連付けられた１つ以上のカウンターを更新（例えば増分および／または減分）することを含み得る。
【００７５】
プロセス６００のいくつかの例では、ステップ６１０において、１つ以上の後続時に環境を表す１つ以上の追加センサーデータセットを受信することを含み得る。ステップ６１２において、プロセス６００はまた、例えば本明細書に記載するように、複数の分類に従って１つ以上の追加センサーデータセットを区分することを含み得る。ステップ６１４において、いくつかの例によれば、プロセス６００は１つ以上の追加センサーデータセットをボクセル空間に関連付けること、およびステップ６１６において１つ以上の追加センサーデータセットに少なくとも部分的に基づいてボクセルに関連付けられた占有状態を更新することを含み得、いくつかの例では、これは１つ以上の追加センサーデータセットに少なくとも部分的に基づいて、１つ以上のカウンターを更新（例えば増分および／または減分）することを含み得る。
【００７６】
ステップ６１８において、プロセス６００は、例えば本明細書に記載するように、ボクセルが自由空間（占有）または非自由空間（非占有）であることを示すために、１つ以上の閾値を満たすまたは超える１つ以上のカウンターに少なくとも部分的に基づいて、ボクセル空間を含むマップを更新することを含み得る。プロセス６００のいくつかの例では、マップを更新することは第１のセンサーデータセットおよび１つ以上の追加センサーデータセットの意味情報をマップに追加することを含み得る。いくつかの例では、プロセス６００はさらに、マップに少なくとも部分的に基づいて車両の位置または方向の１つ以上を決定することと、車両の位置または方向の１つ以上に基づいて車両を操縦するための１つ以上の軌道を生成することと、いくつかの例では、１つ以上の軌道に少なくとも部分的に基づいて車両を操縦することと、を含み得る。
【００７７】
図７は、例えばマップの作成および／または既存マップの変更などの、マップを更新するための例示のプロセス７００のフロー図である。本明細書で述べるように、例示のプロセス６００の少なくとも一部は例示のプロセス７００の少なくとも一部と結合し得る。
【００７８】
ステップ７０２において、例示のプロセス７００は環境を表すセンサーデータセットを受信することを含み得る。例えば本明細書に記載するタイプのセンサーの１つ以上がセンサーデータセットを生成し得る。例示のプロセス７００は、ステップ７０４において、例えば本明細書に記載するように、受信されたセンサーデータセットに少なくとも部分的に基づいて感知物体を識別することを含み得る。
【００７９】
ステップ７０６において、例示のプロセス７００はセンサーデータセットを区分して、感知物体に関連付けられた区分されたセンサーデータを取得することを含み得る。例えばセンサーデータセットは、例えば機械学習を使用して本明細書に記載するプロセスによって区分され得る。ステップ７０８において、例示のプロセス７００はまた、区分されたセンサーデータに少なくとも部分的に基づいて、感知物体を動的物体または潜在動的物体のうちの１つとして分類することを含み得る。
【００８０】
物体の分類に続くステップ７１０において、例示のプロセス７００は、物体が動的物体であるかどうかを決定することを含み得る。物体が動的物体である場合、ステップ７１２において、プロセス７００は、作成されるマップまたは既存マップなどのマップに物体に関連付けられたデータを含まないと決定することを含み得る。いくつかの例では、その後、プロセス７００は上記のアクションの少なくともいくつかを繰り返すためにステップ７０２に戻ることを含み得る。一方、物体が動的でない場合、ステップ７１４において、プロセス７００は、例えば本明細書に記載するように、物体をマップに追加することを含み得る。
【００８１】
いくつかの例では、ステップ７１６において、例示のプロセス７００は、例えば本明細書に記載するように、物体に関連付けられた意味情報をマップに追加することを含み得る。非限定的な例として、物体分類は１つ以上のボクセルのそれぞれに関連付けられ得る。
【００８２】
ステップ７１８において、例示のプロセス７００は感知物体が潜在動的であるかどうかを決定することを含み得る。例えば感知物体は経時的に外観および場所が変化し得る木および茂みなどの植生であり得る。感知物体が潜在動的である場合、ステップ７２０において、プロセスはダウンウェイト値をマップ内の感知物体に関連付けることを含み得、これは、例えば自律車両がそれのセンサーとマップによって生成されたセンサーデータセットに基づいて、それの局所姿勢を決定する際に使用され得る。例えば値はマップ内のそれぞれの物体に関連付けら得、その値は自律車両の位置測定で使用するために関連するウェイトに相関し得る。例えば潜在動的物体は静的物体に関連付けられた値よりも低い値に関連付けられ得、局所姿勢（例えばより低いウェイトでそれらのデータに頼らない）を決定する際に、局所姿勢を決定するために使用されるアルゴリズムはその値を使用し得る。この例示の方法では、これらの値は局所姿勢決定の精度を向上し得る。例えばポーズの決定および／または誘導中の物体に関連付けられたダウンウェイト値の関連する影響はダウンウェイト値よりも比較的高い値を有し得る、路面、縁石、建物などの静的物体と比較して削減し得る。感知物体が潜在動的でない場合、その後いくつかの例では、プロセス７００はステップ７０２に戻って、上記のアクションの少なくともいくつかを繰り返すことを含み得る。
【００８３】
図８は本明細書に記載する例示のプロセスを実装するための例示のコンピューターアーキテクチャ８００のブロック図である。この例では、アーキテクチャ８００は、ストレージ８０４、１つ以上のプロセッサ８０６、およびオペレーティングシステム８１０を含むメモリ８０８を含み得る１つ以上のコンピューターシステム８０２を含む。ストレージ８０４、プロセッサ８０６、メモリ８０８、およびオペレーティングシステム８１０は通信インフラストラクチャ８１２を介して通信可能に結合され得る。いくつかの例では、コンピューターシステム８０２は入出力（Ｉ／Ｏ）デバイス８１４を介してユーザーまたは環境、およびそれだけではなく通信インフラストラクチャ８１２を介して１つ以上のネットワーク８１６上の１つ以上の他のコンピューティングデバイスとも相互作用し得る。オペレーティングシステム８１０は他のコンポーネントと相互作用して、メモリ８０８内の１つ以上のアプリケーション８１８を制御し得る。
【００８４】
いくつかの例では、コンピューターシステム８０２は図３のコンピューターシステム３０２に対応し得る。コンピューターシステム３０２は本明細書で論じるプロセスの１つ以上を実行するためにコンポーネント３０４から３２２を実装するための任意のハードウェアおよび／またはソフトウェアを実装し得る。
【００８５】
本明細書に記載するシステムおよび方法は、ソフトウェアまたはハードウェア、またはそれらの任意の組み合わせで実装され得る。本明細書に記載するシステムおよび方法は、物理的または論理的に互いに分離してもよくまたはしなくてもよい１つ以上のコンピューティングデバイスを使用して実装され得る。これらの方法は、オンプレミスハードウェア、オンプレミス仮想システム、またはホスト型プライベートインスタンスのいずれかとして配列されたコンポーネントによって実行し得る。さらに本明細書に記載する方法の様々な態様は他の機能に結合または併合し得る。
【００８６】
プロセッサまたはコンピューターシステムは本明細書に記載する方法の一部または全てを特に実行するように構成され得る。いくつかの例では、方法は１つ以上のコンピューターまたはプロセッサによって部分的にまたは完全に自動化され得る。本明細書に記載するシステムおよび方法（またはその任意の部分もしくは機能）は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせを使用して実装され得、１つ以上のコンピューターシステムまたは他の処理システムで実装され得る。いくつかの例では、例示するシステム要素は単一のハードウェアデバイスに結合され、または複数のハードウェアデバイスに分離され得る。複数のハードウェアデバイスが使用されている場合、ハードウェアデバイスは物理的に互いに近接または遠隔に設置し得る。説明および例示した方法の例は、例示を意図したものであり、限定を意図したものではない。例えば方法のステップの一部または全ては異なる例において、結合する、再配列する、および／または除外し得る。
【００８７】
いくつかの例では、本明細書に記載するシステムおよび方法は本明細書に記載する機能を達成可能な１つ以上のコンピューターシステムを対象とし得る。限定しないが、例示のコンピューティングデバイスは、限定しないが、ＯＳＸ（商標）、ｉＯＳ（商標）、Ｌｉｎｕｘ（商標）、Ａｎｄｒｏｉｄ（商標）、Ｍｉｃｒｏｓｏｆｔ（商標）Ｗｉｎｄｏｗｓ（商標）などの任意のオペレーティングシステムを実行するパーソナルコンピューター（ＰＣ）システムであり得る。しかしながら、本明細書に記載するシステムおよび方法はこれらのプラットフォームに限定しなくてもよい。代わりに本明細書に記載するシステムおよび方法は任意の適切なオペレーティングシステムを実行する任意の適切なコンピューターシステムに実装し得る。限定しないが、コンピューティングデバイス、通信デバイス、携帯電話、スマートフォン、テレフォニーデバイス、電話、携帯情報端末（ＰＤＡ）、パーソナルコンピューター（ＰＣ）、ハンドヘルドＰＣ、インタラクティブテレビ（ｉＴＶ）、デジタルビデオレコーダー（ＤＶＤ）、クライアントワークステーション、シンクライアント、シッククライアント、プロキシサーバー、ネットワーク通信サーバー、リモートアクセスデバイス、クライアントコンピューター、サーバーコンピューター、ルーター、ウェブサーバー、データ、メディア、オーディオ、ビデオ、テレフォニーまたはストリーミングテクノロジーサーバーなどのような本明細書に記載するシステムおよび方法の他のコンポーネントはまた、コンピューティングデバイスを使用して実装し得る。サービスは、例えば限定しないが、インタラクティブテレビ（ｉＴＶ）、ビデオオンデマンドシステム（ＶＯＤ）を使用して、およびデジタルビデオレコーダー（ＤＶＲ）または他のオンデマンド視聴システムを介してオンデマンドで提供され得る。
【００８８】
本明細書に記載するシステムは１つ以上のプロセッサを含み得る。プロセッサは、限定しないが、通信バス、クロスオーバーバー、またはネットワークなどのような通信インフラストラクチャに接続し得る。プロセスおよびプロセッサを同じ物理的場所に設置する必要はない。言い換えれば、プロセスは、例えばＬＡＮまたはＷＡＮ接続を介して、１つ以上の地理的に離れたプロセッサで実行し得る。コンピューティングデバイスはディスプレイユニット上に表示するために、通信インフラストラクチャからのグラフィック、テキスト、および他のデータを転送し得るディスプレイインターフェイスを含み得る。
【００８９】
コンピューターシステムはまた、いくつかの例では、限定しないが、メインメモリ、ランダムアクセスメモリ（ＲＡＭ）、および二次メモリなどを含み得る。二次メモリは、例えばハードディスクドライブおよび／またはコンパクトディスクドライブＣＤ−ＲＯＭなどのリムーバブルストレージドライブを含み得る。リムーバブルストレージドライブはリムーバブルストレージユニットからの読み取りおよび／または書き込みを行い得る。理解し得るように、リムーバブルストレージユニットはコンピューターソフトウェアおよび／またはデータを内部に格納しているコンピューター使用可能な記録媒体を含み得る。いくつかの例では、マシンアクセス可能媒体は、コンピューターによってアクセス可能なデータを格納するために使用される任意のストレージデバイスを指し得る。マシンアクセス可能媒体の例には、限定しないが、磁気ハードディスク、フロッピーディスク、光ディスク、コンパクトディスクの読み取り専用メモリ（ＣＤ−ＲＯＭ）またはデジタル多用途ディスク（ＤＶＤ）と少なくとも同様のもの、磁気テープ、および／またはメモリチップなどを含み得る。
【００９０】
プロセッサはまた、データを格納するための１つ以上のデータストレージデバイスを含む、またはそれと通信するように操作可能に結合され得る。そのようなデータストレージデバイスは、非限定的な例として、磁気ディスク（内部ハードディスクおよびリムーバブルディスクを含む）、光磁気ディスク、光ディスク、読み取り専用メモリ、ランダムアクセスメモリ、および／またはフラッシュストレージを含み得る。コンピュータープログラム命令および／またはデータを明白に具体化するのに適したストレージデバイスはまた、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスのような半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクのような磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含む、不揮発性メモリの全ての形式を含み得る。プロセッサおよびメモリはＡＳＩＣ（特定用途向け集積回路）によって補足される、またはＡＳＩＣ（特定用途向け集積回路）に組み込まれ得る。
【００９１】
処理システムはコンピューター化データストレージシステムと通信し得る。データストレージシステムは、ＭｙＳＱＬ（商標）または他のリレーショナルデータベースなどの非リレーショナルまたはリレーショナルデータストアを含み得る。他の物理および論理データベースタイプを使用し得る。データストアは、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ（商標）、Ｏｒａｃｌｅ（商標）、ＩＢＭ  ＤＢ２（商標）、ＳＱＬＩＴＥ（商標）などのデータベースサーバー、またはリレーショナルまたはその他の任意のデータベースソフトウェアであり得る。データストアは、構文タグを識別する情報および構文タグを操作するために必要な情報を格納し得る。いくつかの例では、処理システムは物体指向プログラミングを使用し得、データを物体に格納し得る。そのような例では、処理システムは物体リレーショナルマッパー（ＯＲＭ）を使用して、データ物体をリレーショナルデータベースに格納し得る。本明細書に記載するシステムおよび方法は任意の数の物理データモデルを使用して実装され得る。いくつかの例では、リレーショナルデータベース管理システム（ＲＤＢＭＳ）を使用し得る。そのような例において、ＲＤＢＭＳのテーブルは座標を表す列を含み得る。データはＲＤＢＭＳのテーブルに格納し得る。テーブルはそれらの間であらかじめ定義された関係があり得る。テーブルはまた、座標に関連付けられた付属物を有し得る。
【００９２】
いくつかの例では、二次メモリはコンピュータープログラムまたは他の命令がコンピューターシステムに読み込まれることを可能にするための他の同様のデバイスを含み得る。そのようなデバイスは、例えばリムーバブルストレージユニットおよびインターフェイスを含み得る。そのような例はプログラムカートリッジおよびカートリッジインターフェイス（例えば限定しないが、ビデオゲームデバイスに見られるものなど）、リムーバブルメモリチップ（例えば限定しないが、消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）、またはプログラム可能な読み取り専用メモリ（ＰＲＯＭ）および関連するソケットなど）およびその他のリムーバブルストレージユニットならびにインターフェイスを含み得、これはソフトウェアおよびデータをリムーバブルストレージユニットからコンピューターシステムに転送するのを可能にし得る。
【００９３】
コンピューティングシステムはまた、限定しないが、マイクなどの音声入力デバイス、タッチスクリーン、カメラ、その他の自然なユーザーインターフェイス、マウスなどのジェスチャー認識デバイス、またはデジタイザなどの他のポインティングデバイスおよびキーボードまたは他のデータ入力デバイスなどの入力デバイスを含み得る。コンピューターシステムはまた、限定しないが、ディスプレイおよびディスプレイインターフェイスなど出力デバイスを含み得る。コンピューティングシステムは、限定しないが、通信インターフェイス、ケーブルおよび通信経路などの入出力（Ｉ／Ｏ）デバイスを含み得る。これらのデバイスは、限定しないが、ネットワークインターフェイスカードおよびモデムを含み得る。通信インターフェイスにより、ソフトウェアとデータをコンピューターシステムと１つ以上の外部デバイス間での転送を可能にし得る。
【００９４】
いくつかの例では、コンピューターシステムは自動車システムに操作可能に結合され得る。そのような自動車システムは、手動操作、半自律、または完全自律のいずれかであり得る。そのような例では、入力および出力デバイスは、限定しないが、加速、ブレーキ、およびステアリングなど自動車機能を制御するための１つ以上の画像取込デバイス、コントローラ、マイクロコントローラ、および／または他のプロセッサを含み得る。さらに、そのような例における通信インフラストラクチャはまた、コントローラエリアネットワーク（ＣＡＮ）バスを含み得る。
【００９５】
いくつかの例では、コンピューターシステムは任意のマシンビジョンベースのシステムに操作可能に結合され得る。例えばそのようなマシンビジョンベースのシステムは、限定しないが、手動操作、半自律型、または完全自律型の産業用または農業用ロボット、家庭用ロボット、検査システム、セキュリティシステムなどを含み得る。例えば本明細書に記載する例は、１つの特定のコンテキストに限定されず、マシンビジョンを利用する任意のアプリケーションに適用可能であり得る。
【００９６】
いくつかの例は１つ以上のコンピューターネットワークの環境で実践され得る。ネットワークは、プライベートネットワークもしくはパブリックネットワーク（例えばインターネット）、または両方の組み合わせを含み得る。ネットワークは、ハードウェア、ソフトウェア、または両方の組み合わせを含み得る。
【００９７】
電気通信指向の観点から、ネットワークは各ノードで機能する１つ以上のプロセス（ハードウェア、ソフトウェア、またはそれらの組み合わせ）を備えた通信設備によって相互接続されたハードウェアノードのセットとして説明し得る。プロセスはプロセス間通信経路を使用する通信経路を介して、相互に通信し情報を交換し得る。これらの経路では適切な通信プロトコルを使用し得る。
【００９８】
例示のコンピューターおよび／または電気通信ネットワーク環境は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせを含み得るノードを含み得る。ノードは通信ネットワークを介して相互接続し得る。各ノードはノードに組み込まれたプロセッサによって実行可能な１つ以上のプロセスを含み得る。例えば単一のプロセスが複数のプロセッサによって実行され得る、または複数のプロセスが単一のプロセッサによって実行され得る。さらに、各ノードはネットワークと外界との間のインターフェイスポイントを提供し得、サブネットワークの堆積を組み込み得る。
【００９９】
いくつかの例では、プロセスは任意の通信プロトコルを通して通信をサポートするプロセス間通信経路を通して互いに通信し得る。経路は継続的または断続的に順番にまたは並行して機能し得る。経路は多くのコンピューターによって使用される標準的な並列命令セットに加えて、通信ネットワークに関して本明細書に記載する通信標準、プロトコル、または技術のいずれかを使用し得る。
【０１００】
ノードは、処理機能を実行することの可能な任意のエンティティを含み得る。本明細書の例で使用し得るそのようなノードの例は、記載するように、プロセッサの堆積に接続されている、コンピューター（パーソナルコンピューター、ワークステーション、サーバー、またはメインフレームのような）、ハンドヘルドワイヤレスデバイスおよび有線デバイス（パーソナルデジタルアシスタント（ＰＤＡ）、処理機能付きモデム携帯電話、限定しないがＢｌａｃｋＢｅｒｒｙ（商標）デバイスを含むワイヤレス電子メールデバイスのような）、ドキュメント処理デバイス（スキャナー、プリンター、ファクシミリ機、または多機能ドキュメントマシンのような）、または複雑なエンティティ（局所エリアネットワークまたは広域ネットワークのような）を含み得る。例えば、ノード自体は、ワイドエリアネットワーク（ＷＡＮ）、局所エリアネットワーク（ＬＡＮ）、プライベートネットワーク（仮想プライベートネットワーク（ＶＰＮ）のような）、またはネットワークの堆積であり得る。
【０１０１】
ノード間の通信は通信ネットワークによって可能となり得る。ノードは通信ネットワークに継続的または断続的のどちらでも接続し得る。一例として、通信ネットワークは適切な帯域幅および情報セキュリティを提供するデジタル通信インフラストラクチャであり得る。
【０１０２】
通信ネットワークは、任意のタイプの標準、プロトコル、または技術を使用する、任意の周波数で、有線通信機能、無線通信機、または両方の組み合わせを含み得る。さらに、いくつかの例では、通信ネットワークはプライベートネットワーク（例えばＶＰＮ）またはパブリックネットワーク（例えばインターネット）であり得る。
【０１０３】
通信ネットワークによって使用される例示的無線プロトコルおよび技術の非包括的リストは、Ｂｌｕｅｔｏｏｔｈ（商標）、汎用パケット無線サービス（ＧＰＲＳ）、セルラーデジタルパケットデータ（ＣＤＰＤ）、モバイルソリューションプラットフォーム（ＭＳＰ）、マルチメディアメッセージング（ＭＭＳ）、ワイヤレスアプリケーションプロトコル（ＷＡＰ）、コード分割多重アクセス（ＣＤＭＡ）、ショートメッセージサービス（ＳＭＳ）、ワイヤレスマークアップ言語（ＷＭＬ）、ハンドヘルドデバイスマークアップ言語（ＨＤＭＬ）、ワイヤレスのバイナリランタイム環境（ＢＲＥＷ）、ラジオアクセスネットワーク（ＲＡＮ）、およびパケット交換コアネットワーク（ＰＳ−ＣＮ）を含み得る。また、様々な世代のワイヤレス技術も含まれている。通信ネットワークで使用される主に有線プロトコルとテクノロジーの非包括的なリストの例は、非同期転送モード（ＡＴＭ）、拡張内部ゲートウェイルーティングプロトコル（ＥＩＧＲＰ）、フレームリレー（ＦＲ）、高レベルデータリンク制御（ＨＤＬＣ）、インターネット制御メッセージプロトコル（ＩＣＭＰ）、内部ゲートウェイルーティングプロトコル（ＩＧＲＰ）、インターネットワークパケット交換（ＩＰＸ）、ＩＳＤＮ、ポイントツーポイントプロトコル（ＰＰＰ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ルーティング情報プロトコル（ＲＩＰ）、およびユーザーデータグラムプロトコル（ＵＤＰ）を含む。他の既知もしくは予想される無線または有線のプロトコルおよび技術を使用し得る。
【０１０４】
本明細書で開示される例は、本明細書に記載する操作を実行するための装置を含み得る。装置は所望の目的のために特別に組み立てられ得る、またはデバイスに格納されたプログラムによって選択的に起動または再構成される汎用デバイスを含み得る。
【０１０５】
いくつかの例はマシン実行可能命令で具体化され得る。命令を使用して処理デバイス、例えば命令でプログラムされた汎用または専用プロセッサに本明細書に記載するプロセスのステップを実行させ得る。あるいは、本明細書に記載のステップはステップを実行するためのハードワイヤードロジックを含む具体的なハードウェアコンポーネントによって、またはプログラムされたコンピューターコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせによって、実行され得る。例えば本明細書に記載するシステムおよびプロセスは上で概説したようにコンピュータープログラム製品として提供され得る。いくつかの例は命令を格納したマシン可読媒体を含み得る。命令を使用して、本明細書に記載する例によるプロセスまたは方法を実行するように任意の１つ以上のプロセッサ（プロセッサ）（または他の電子デバイス）をプログラムし得る。さらに、いくつかの例はダウンロードされてコンピュータープログラム製品に格納され得る。そのような例は、プログラムは通信リンク（例えばモデムまたはネットワーク接続）を介して、搬送波または他の普及媒体に具体化されるデータ信号によって、リモートコンピューター（例えばサーバー）から要請しているコンピューター（例えばクライアント）へ転送され得、最終的にそのような信号は後続の実行のためにコンピューターシステムに格納され得る。
【０１０６】
プロセスはコンピューターまたは任意の命令実行システムによって、またはそれに関連して使用するためのプログラムコードを提供するコンピューター使用可能またはコンピューター可読記録媒体からアクセス可能なコンピュータープログラム製品に実装され得る。コンピューター使用可能またはコンピューター可読記録媒体は、コンピューターもしくは命令実行システム、装置、またはデバイスによって、またはそれらと関連して、使用するためのプログラムを包含または格納の可能な任意の装置であり得る。
【０１０７】
対応するプログラムコードを格納および／または実行するのに適切なデータ処理システムはメモリ素子のようなコンピューター化データストレージデバイスに直接または間接的に結合された少なくとも１つのプロセッサを含み得る。限定しないが、キーボード、ディスプレイ、ポインティングデバイスなどを含む入出力（Ｉ／Ｏ）デバイスをシステムに結合し得る。ネットワークアダプタはまた、システムに接続して、データ処理システムを、介在するプライベートネットワークまたはパブリックネットワークを通して、他のデータ処理システムまたはリモートプリンタまたはストレージデバイスへ接続するのを可能にし得る。ユーザーとの対話を提供するために、機能はユーザーに情報を表示するためのＬＣＤ（液晶ディスプレイ）または別のタイプのモニターなどのディスプレイデバイス、ならびにユーザーがコンピューターへ入力をもたらし得るキーボードおよびマウスまたはトラックボールのような入力デバイスを備えたコンピューターに実装し得る。
【０１０８】
コンピュータープログラムはコンピューターにおいて直接的または間接的に使用され得る一連の命令であり得る。本明細書に記載するシステムおよび方法は、例えば、ＣＵＤＡ、ＯｐｅｎＣＬ、Ｆｌａｓｈ（商標）、ＪＡＶＡ（商標）、Ｃ＋＋、Ｃ、Ｃ＃、Ｐｙｔｈｏｎ、Ｖｉｓｕａｌ  Ｂａｓｉｃ（商標）、ＪａｖａＳｃｒｉｐｔ（商標）ＰＨＰ、ＸＭＬ、ＨＴＭＬなどのようなプログラミング言語、またはコンパイルもしくはインタープリタ言語を含むプログラミング言語の組み合わせを使用して実装し得、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとして、任意の形式で展開し得る。ソフトウェアは、限定しないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含み得る。ＳＯＡＰ／ＨＴＴＰのようなプロトコルは、プログラミングモジュール間のインターフェイスの実装に使用し得る。本明細書に記載するコンポーネントと機能は、限定しないが、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（商標）、Ａｐｐｌｅ（商標）Ｍａｃ（商標）、ｉＯＳ（商標）、Ｕｎｉｘ（商標）／Ｘ−Ｗｉｎｄｏｗｓ（商標）、Ｌｉｎｕｘ（商標）などの異なるバージョンを含む、ソフトウェア開発に適切な任意のプログラミング言語を使用して、仮想化または非仮想化環境で実行されるデスクトップオペレーティングシステムに実装し得る。システムは、Ｒｕｂｙ  ｏｎ  ＲａｉｌｓなどのＷｅｂアプリケーションフレームワークを使用して実装し得る。
【０１０９】
命令のプログラムの実行に適切なプロセッサは、限定しないが、任意の種類のコンピューターの汎用および専用マイクロプロセッサ、および単一のプロセッサもしくは複数のプロセッサまたはコアの１つを含む。プロセッサは、読み取り専用メモリ、ランダムアクセスメモリ、その両方、または本明細書に記載するデータストレージデバイスの任意の組み合わせなどのコンピューター化データストレージデバイスから命令およびデータを受信し格納し得る。プロセッサは、電子デバイスの操作および性能を制御するための操作可能な任意の処理回路または制御回路を含み得る。
【０１１０】
本明細書に記載するシステム、コンポーネント、および方法はソフトウェアまたはハードウェア要素の任意の組み合わせを使用して実装され得る。本明細書に記載するシステム、コンポーネント、および方法は、単独または互いに組み合わせて操作する１つ以上の仮想マシンを使用して実装され得る。ハードウェアコンピューティングプラットフォームまたはホストで実行する仮想化ソフトウェアの制御下で実行される仮想マシン内に物理的なコンピューティングマシンプラットフォームをカプセル化するために、適用可能な仮想化ソリューションが使用され得る。仮想マシンは仮想システムハードウェアおよびゲストオペレーティングシステムソフトウェアの両方を有し得る。
【０１１１】
本明細書に記載するシステムおよび方法は、データサーバなどのバックエンドコンポーネントを含む、またはアプリケーションサーバもしくはインターネットサーバなどのミドルウェアコンポーネントを含む、またはグラフィカルユーザーインターフェイスもしくはインターネットブラウザーを有したクライアントコンピューターなどのフロントエンドコンポーネント、またはそれらの任意の組み合わせを含むコンピューターシステムで実装され得る。システムのコンポーネントは通信ネットワーク等のデジタルデータ通信の任意の形式または媒体によって接続され得る。通信ネットワークの例は、例えば、ＬＡＮ、ＷＡＮ、ならびにインターネットを形成するコンピューターおよびネットワークを含む。
【０１１２】
本開示の１つ以上の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューターなどを含む他のコンピューターシステム構成で実践し得る。本明細書に記載するシステムと方法はまた、ネットワークを通してリンクするリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実践し得る。
【０１１３】
本明細書に提示される主題は、コンピュータープロセス、コンピューター制御装置、コンピューティングシステム、またはコンピューター可読記録媒体などの製品として実装され得ることを理解されたい。本明細書に記載する主題は１つ以上のコンピューティングデバイス上で実行されるプログラムコンポーネントの一般的なコンテキストで提示されるが、当業者は、他の実装が他のタイプのプログラムコンポーネントと組み合わせて実行し得ることを認識するであろう。一般に、プログラムコンポーネントは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行する、または特定の抽象データ型を実装した他のタイプの構造が含まれる。
【０１１４】
当業者はまた、本明細書に記載する主題の態様が、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューター、ハンドヘルドコンピューター、携帯電話デバイス、タブレットコンピューティングデバイス、専用ハードウェアデバイス、ネットワーク機器などを含む、本明細書に記載するそれらを超える他のコンピューターシステム構成上で、実践または組み合わせ得ることを理解するであろう。
【０１１５】
前述に基づいて、システムを操作しプロセスを実装するための技術が本明細書で提示されたことが理解されるべきである。さらに本明細書に提示される主題は、コンピューターの構造的特徴、方法論的行為、およびコンピューター可読媒体に固有の言語で説明されているが、添付の特許請求の範囲で定義される本発明は必ずしも本明細書に記載する特定の特徴、行為または媒体に限定されないことを理解されたい。むしろ、特定の機能、行為、および媒体は特許請求の範囲に列挙されている主題を実装する例示の形態として開示されている。
【０１１６】
上記の主題は例証としてのみ提供され、限定するものとして解釈されるべきではない。さらに請求される主題は本開示の任意の部分に示すいずれかまたは全ての欠点を解決する実装に限定されない。例示および説明された例ならびに用途に従うことなく、および以下の特許請求の範囲に記載される本発明の精神および範囲から逸脱することなく、本明細書に記載する主題に対して様々な修正および変更を行い得る。
【０１１７】
（例示的な発明内容）
Ａ．
例示のシステムであって、
１つ以上のプロセッサと、
１つ以上の前記プロセッサに通信可能に結合された１つ以上のコンピューター可読記録媒体であって、
第１の時間に環境を表す第１のセンサーデータセットを受信し、
前記第１のセンサーデータセットを複数の分類に従って区分し、
前記センサーデータセットを複数のボクセルを備えるボクセル空間に関連付け、
前記ボクセルに関連付けられた１つ以上のカウンターを前記第１のセンサーデータセットに少なくとも部分的に基づいて更新し、
１つ以上の追加時間に前記環境を表す１つ以上の追加センサーデータセットを受信し、
１つ以上の前記追加センサーデータセットを前記複数の分類に従って区分し、
１つ以上の前記追加センサーデータセットを前記ボクセル空間に関連付け、
１つ以上の前記カウンターを１つ以上の前記追加センサーデータセットに少なくとも部分的に基づいて更新し、
前記ボクセル空間を備えるマップを第１の閾値を満たすまたは超える１つ以上の前記カウンターに少なくとも部分的に基づいて更新する、
ために１つ以上の前記プロセッサによって実行可能な命令を格納した１つ以上のコンピューター可読記録媒体と
を備えた、システム。
【０１１８】
Ｂ．
前記複数の分類は車両、歩行者、または自転車の１つ以上を含み、
前記命令はさらに、
前記第１のセンサーデータセットおよび１つ以上の前記追加センサーデータセットから前記複数の分類のサブセットに関連付けられたデータを削除する、
ために１つ以上の前記プロセッサによって実行可能である、例示Ａに記載のシステム。
【０１１９】
Ｃ．
前記第１のセンサーデータセットおよび１つ以上の前記追加センサーデータセットを区分することは、
１つ以上の前記センサーデータセットを入力として機械学習モデルへ通過させることと、
前記機械学習モデルから区分されたセンサーデータを受信することと、
を備える、例示Ａまたは例示Ｂに記載のシステム。
【０１２０】
Ｄ．
前記命令はさらに、
１つ以上の前記追加データセットを前記ボクセルへ１つ以上の光線として光線放射し、
１つ以上の前記光線が通過する１つ以上の通過ボクセルを決定し、
前記通過ボクセルに関連付けられた１つ以上の前記カウンターを更新し、
前記通過ボクセルに関連付けられた１つ以上の前記カウンターが第２の閾値に満たないまたは超えていないと決定し、
１つ以上の前記通過ボクセルを非占有ボクセルとして関連付ける、
ために１つ以上の前記プロセッサによって実行可能である、例示Ａから例示Ｃのいずれか１つに記載のシステム。
【０１２１】
Ｅ．
前記命令はさらに、
１つ以上の前記追加センサーデータセットの第２のセンサーデータセットを区分し、
前記第２のセンサーデータセット内の第１の物体を決定し、
前記区分された第２のセンサーデータセットに少なくとも部分的に基づいて、前記第１の物体が静的物体であり、前記第１の物体が第１の分類に関連付けられると決定し、
前記第１の物体に関連付けられた第１のウェイトを決定し、
前記区分された第２のセンサーデータセット内の第２の物体を決定し、
前記区分された第２のセンサーデータセットに少なくとも部分的に基づいて、前記第２の物体が動的物体または潜在動的物体であり、前記第２の物体が第２の分類に関連付けられると決定し、
第２のウェイトが前記第２の物体に関連付けられ、前記第２のウェイトが前記第１のウェイトよりも小さいと決定する、
ために１つ以上の前記プロセッサによって実行可能である、例示Ａから例示Ｄのいずれか１つに記載のシステム。
【０１２２】
Ｆ．
前記命令はさらに、意味情報を前記マップに関連付けるために１つ以上の前記プロセッサによって実行可能である、例示Ａから例示Ｅのいずれか１つに記載のシステム。
【０１２３】
Ｇ．
前記第１のセンサーデータセットを受信することは、光検出および測距（ＬＩＤＡＲ）センサー、無線検出および測距（ＲＡＤＡＲ）センサー、音響誘導および測距（ＳＯＮＡＲ）センサー、または１つ以上の撮像機器の１つ以上から前記第１のセンサーデータセットを受信することを備える、例示Ａから例示Ｆのいずれか１つに記載のシステム。
【０１２４】
Ｈ．
前記命令はさらに、
１つ以上の前記追加センサーデータセットの第３のセンサーデータセットを第３の時間に受信し、
前記第３のセンサーデータセットを前記複数の分類に従って区分し、
データのサブセットを前記第３のセンサーデータセットから前記分類のサブセットに関連付けられたデータを削除することによって作成し、
前記マップおよびセンサーデータの前記サブセットに少なくとも部分的に基づいて自律車両を位置測定する、
ために１つ以上の前記プロセッサによって実行可能である、例示Ａから例示Ｇのいずれか１つに記載のシステム。
【０１２５】
Ｉ．
例示の方法であって、
環境を表す第１のセンサーデータセットを１つ以上のセンサーから受信することと、
前記第１のセンサーデータセットを複数の分類に従って区分することと、
前記第１のセンサーデータセットを複数のボクセルを備えるボクセル空間に関連付けることと、
前記ボクセルに関連付けられた占有状態を前記第１のセンサーデータセットに少なくとも部分的に基づいて更新することと、
前記環境を表す１つ以上の追加センサーデータセットを受信することと、
１つ以上の前記追加センサーデータセットを前記複数の分類に従って区分することと、
１つ以上の前記追加センサーデータセットを前記ボクセル空間に関連付けることと、
前記ボクセルに関連付けられた占有状態を１つ以上の前記追加センサーデータセットに少なくとも部分的に基づいて更新することと、
前記ボクセル空間を備えるマップを前記ボクセルに関連付けられた前記占有状態に少なくとも部分的に基づいて更新することと、
を備える、方法。
【０１２６】
Ｊ．
前記複数の分類は車両、歩行者、または自転車の１つ以上を含み、前記方法はさらに、前記第１のセンサーデータセットおよび１つ以上の前記追加データセットから前記複数の分類のサブセットに関連付けられたデータを削除することを備える、例示Ｉに記載の方法。
【０１２７】
Ｋ．
前記区分することは、
前記第１のセンサーデータセットおよび１つ以上の前記追加センサーデータセットを機械学習モデルへ伝達することと、
前記機械学習モデルから区分情報を受信することと、
を備える、例示Ｉまたは例示Ｊに記載の方法。
【０１２８】
Ｌ．
前記複数の分類の前記サブセットは動的物体または潜在動的物体に関連付けられ、前記方法はさらに、
前記第１のセンサーデータセット内の感知物体を検出することと、
前記感知物体を前記複数の分類の前記サブセットの１つとして分類することと、
を備える、例示Ｉから例示Ｋのいずれか１つに記載の方法。
【０１２９】
Ｍ．
第１のウェイトを前記複数の分類の前記サブセットに関連付けることと、
第２のウェイトを前記分類の残りに関連付けることと、
をさらに備え、前記第２のウェイトが前記第１のウェイトよりも大きい、例示Ｉから例示Ｌのいずれか１つに記載の方法。
【０１３０】
Ｎ．
前記第１のセンサーデータセットおよび１つ以上の前記追加センサーデータセットの意味情報を前記マップへ追加することをさらに備える、例示Ｉから例示Ｍのいずれか１つに記載の方法。
【０１３１】
Ｏ．
前記マップに少なくとも部分的に基づいて車両の位置または方向の１つ以上を決定することと、
前記車両の前記位置または前記方向の前記１つ以上に基づいて前記車両を操縦するための１つ以上の軌道を生成することと、
１つ以上の前記軌道に少なくとも部分的に基づいて前記車両を操縦することと、
をさらに備える、例示Ｉから例示Ｎのいずれか１つに記載の方法。
【０１３２】
Ｐ．
コンピューターによって実行されるときに、
前記コンピューターに
１つ以上のセンサーから環境を表す第１のセンサーデータセットを受信させ、
前記第１のセンサーデータセット内の物体の存在を決定させ、
前記物体を分類に複数の分類の１つ以上として関連付けさせ、
前記第１のセンサーデータセットを複数のボクセルを備えるボクセル空間に関連付けさせ、
前記物体に少なくとも部分的に基づいて前記ボクセルに関連付けられた１つ以上のカウンターを増分させ、
閾値よりも大きいカウンターを有するボクセルに基づいて前記ボクセル空間を備えるマップを更新させ、
前記更新されたマップに少なくとも部分的に基づいて車両を操縦するための１つ以上の軌道を生成させる、
実行可能命令を格納した例示のコンピューター可読記録媒体。
【０１３３】
Ｑ．
前記命令はさらに前記コンピューターに、
１つ以上の後続時に１つ以上の前記ボクセル内の前記物体の前記存在を決定させ、
前記物体の物体軌道を決定させ、
前記物体軌道に少なくとも部分的に基づいて前記車両を操縦させる、
例示Ｐに記載の前記コンピューター可読記録媒体。
【０１３４】
Ｒ．
前記分類は静的物体に関連付けられた分類を備え、前記命令はさらに前記コンピューターに、
第２の時間に前記環境を表す第２のセンサーデータセットを受信させ、
前記第２のセンサーデータセットを前記ボクセルに関連付けさせ、
１つ以上の光線として前記第２のセンサーデータセットを前記ボクセルへ光線放射させ、
１つ以上の通過ボクセルを決定させ、前記通過ボクセルは、１つ以上の前記光線が通過する前記ボクセルを備え、
前記通過ボクセルに関連付けられた１つ以上の前記カウンターを減分させ、
前記マップから第２の閾値を満たさない、または超えないカウンターを有するボクセルに関連付けられたデータを削除させる、
例示Ｐまたは例示Ｑに記載の前記コンピューター可読記録媒体。
【０１３５】
Ｓ．
前記複数の分類は車両、歩行者、または自転車の１つ以上を備え、前記命令はさらに前記コンピューターに、
ウェイトを前記分類に関連付けさせ、
前記ウェイトを前記マップに関連付けさせ、
前記物体の前記分類を前記マップに関連付けさせ、
前記ウェイトは静的物体に対して大きく、動的物体に対して小さい、
例示Ｐから例示Ｒのいずれか１つに記載の前記コンピューター可読記録媒体。
【０１３６】
Ｔ．
１つ以上の前記センサーがＬＩＤＡＲセンサー、ＲＡＤＡＲセンサー、ＳＯＮＡＲセンサー、またはイメージセンサーの１つ以上を備える、例示Ｐから例示Ｓのいずれか１つに記載の前記コンピューター可読記録媒体。
【図１】
2021514508.tif 000003
【図２】
2021514508.tif 000004
【図３】
2021514508.tif 000005
【図４】
2021514508.tif 000006
【図５】
2021514508.tif 000007
【図６】
2021514508.tif 000008
【図７】
2021514508.tif 000009
【図８】
2021514508.tif 000010
【国際調査報告】
2021514508.tif 000011
2021514508.tif 000012