(57)【要約】      （修正有）【課題】環境内の交通制御装置の変化をより迅速かつ効率的に検出できる方法を提供する。【解決手段】自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップ８０５と、交通制御装置の第１セットと環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップ８１０と、交通制御装置の第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップ８２０と、更新された地図データを自動運転車両のセットまで送信するステップ８２５と、を備える。【選択図】図８
2020095250.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車両に対して地図データを生成するためのコンピュータ実施方法であって、
自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、
交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、
交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、
更新された地図データを前記自動運転車両のセットまで送信するステップと、を備えるコンピュータ実施方法。
【請求項２】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在することを判定するステップは、
前記自動運転車両のセットに閾値台数の自動運転車両が含まれているかどうかを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項３】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記レポートメッセージのセットに閾値通数のレポートメッセージが含まれているかどうかを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項４】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信した回数のセットを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項５】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信したときの前記環境内の気象条件のセットを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項６】
更新された地図データは、第１交通制御装置が前記環境に追加されたことを示す請求項１に記載のコンピュータ実施方法。
【請求項７】
更新された地図データは、前記第１交通制御装置が一時的なものであることを示す請求項６に記載のコンピュータ実施方法。
【請求項８】
更新された地図データは、前記環境から第１交通制御装置が除去されたことを示す請求項１に記載のコンピュータ実施方法。
【請求項９】
更新された地図データは、前記環境における第１交通制御装置が異なる位置まで移動されたことを示す請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記自動運転車両のセットは、以前に前記環境にあったか、または現在前記環境にある請求項１に記載のコンピュータ実施方法。
【請求項１１】
前記レポートメッセージのセットにはさらにセンサデータが含まれる請求項１に記載のコンピュータ実施方法。
【請求項１２】
前記センサデータには前記自動運転車両のセットのカメラのセットにより生成されたビデオデータが含まれる請求項１１に記載のコンピュータ実施方法。
【請求項１３】
前記センサデータには前記自動運転車両のセットのレーダユニットのセットにより生成されたレーダデータが含まれる請求項１１に記載のコンピュータ実施方法。
【請求項１４】
前記センサデータには前記自動運転車両のセットの光検出・測距（ＬＩＤＡＲ）ユニットのセットにより生成されたＬＩＤＡＲデータが含まれる請求項１１に記載のコンピュータ実施方法。
【請求項１５】
命令が格納されている非一時的機械可読媒体であって、前記命令はプロセッサによって実行されると、前記プロセッサに操作を実行させ、前記操作は、
自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、
交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、
交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、
更新された地図データを前記自動運転車両のセットまで送信するステップと、を備える非一時的機械可読媒体。
【請求項１６】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在することを判定するステップは、
前記自動運転車両のセットに閾値台数の自動運転車両が含まれているかどうかを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項１７】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記レポートメッセージのセットに閾値通数のレポートメッセージが含まれているかどうかを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項１８】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信した回数のセットを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項１９】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信したときの前記環境内の気象条件のセットを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項２０】
プロセッサと前記プロセッサに接続して命令を格納するメモリとを備えるデータ処理システムであって、
前記命令は前記プロセッサによって実行される際に前記プロセッサに操作を実行させ、前記操作は、
自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、
交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、
交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、
更新された地図データを前記自動運転車両のセットまで送信するステップと、を備えるデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は主に自動運転車両の動作に関し、更に詳しくは、自動運転車両（ＡＤＶ）の地図データの更新に関する。
【背景技術】
【０００２】
自律走行モード（例えば、無人運転）で走行する車両は、乗員、特に運転手を運転関連の作業から解放することができる。自律走行モードで運行している場合、車両は車両センサを使用して、任意の場所までナビゲートされることが可能である。そのため、車両は、ヒューマンインタラクションが最も少ない場合、又は乗員がいない場合などに車両を走行させることが可能となる。
【０００３】
動作の計画と制御は、自律走行における重要な操作である。特に、軌跡計画は自律走行システムにおける重要な要素である。従来の軌跡計画技術は、安定した軌跡を生成するために、自動運転車両の案内経路（例えば、道路の中心線）である高品質の基準線に大きく依存している。そのような情報は、地図から取得できる。
【０００４】
自律走行システムのカメラベースの検知スキームは、車線、信号機、交通標識などのいくつかのリアルタイムの地図情報を検出する。これらのリアルタイムの地図情報は、高解像度（ＨＤ）地図と比較して、最新の地図情報を反映できる。例えば、ＨＤ地図に存在しない、新設された横断歩道を、感知によって検出することができる。ただし、このような地図情報はリアルタイムで計算されたものであるため、精度が高解像度地図に及ばない。
【図面の簡単な説明】
【０００５】
本開示の実施形態は実施例で示されるが、添付される図面に限定されない。なお、図面中、同一要素には同一符号を付すこととする。
【図１】いくつかの実施形態によるネットワークシステムを示すブロック図である。
【図２】いくつかの実施形態による自動運転車両の一例を示すブロック図である。
【図３Ａ】いくつかの実施形態による自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図３Ｂ】いくつかの実施形態による自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図４Ａ】いくつかの実施形態による感知モジュールの一例を示すブロック図である。
【図４Ｂ】いくつかの実施形態による計画モジュールの一例を示すブロック図である。
【図５】自動運転車両（ＡＤＶ）が現在位置している、および／または以前に位置していた可能性がある環境の例示的な地図を示す図である。
【図６】いくつかの実施形態による例示的なシステムアーキテクチャを示す図である。
【図７】いくつかの実施形態による例示的な地図部材を示す図である。
【図８】いくつかの実施形態による地図データを生成するプロセスの一例を示すフローチャートである。
【図９】いくつかの実施形態によるデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００６】
以下に説明される詳細を参照しながら本開示の様々な実施形態及び態様を説明し、添付図面には上記の各実施形態が示される。以下の説明および図面は、本開示を例示するものであり、本開示を限定するものとして解釈されてはならない。本開示の様々な実施形態への完全な理解に供するために複数の特定の詳細が記載されているが、本開示の実施形態をめぐる簡潔な説明に供するために周知または従来技術の詳細が記載されない場合もある。
【０００７】
本明細書における「一実施形態」または「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が本開示の少なくとも一つの実施形態に含まれ得ることを意味する。本明細書の様々な場所における「一実施形態では」という表現は、必ずしもすべてが同じ実施形態を指すとは限らない。
【０００８】
いくつかの実施形態によれば、環境内の交通制御装置の変化を検出するための新しい方法が利用され得る。ＡＤＶおよび/または他の車両は、環境内の一つまたは複数の交通制御装置が変化したことを示すレポートメッセージおよび/またはセンサデータ（例えば、クラウドソーシングレポートスキーム）を送信することができる。サーバは、レポートメッセージおよび/またはセンサデータを受信および/または処理することができる。別の実施形態によれば、環境の更新された地図データを生成するための新しい方法が利用され得る。サーバは、レポートメッセージおよび/またはセンサデータの一つまたは複数の基準、パラメータ、条件などが満たされているかどうかを判断することができる。一つまたは複数の基準、パラメータ、条件などが満たされた場合、サーバは更新された地図データを生成し、交通制御装置の変化（交通制御装置の新設、除去、別の場所への移動など）を表すことができる。本明細書で説明される実施形態、実施方式、例示などは、サーバが環境内の交通制御装置の変化をより迅速かつ効率的に検出できるようにする。本明細書で説明される実施形態、実施方式、例示などはさらに、サーバが環境内の交通制御装置の変化を反映するために更新された地図データを生成し、更新された地図データをＡＤＶに送信できるようにする。
【０００９】
図１は、本開示のいくつかの実施形態による自動運転車両のネットワーク構成を示すブロック図である。図１を参照すると、ネットワーク構成１００には、ネットワーク１０２を介して一つまたは複数のサーバ１０３〜１０４に通信可能に接続され得る自動運転車両１０１が含まれる。一台の自動運転車両しか示されていないが、複数の自動運転車両はネットワーク１０２を介して互いに接続および/または１０３〜１０４に接続されることができる。ネットワーク１０２は、有線または無線のローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク、またはそれらの組み合わせなど、任意のタイプのネットワークであり得る。サーバ１０３〜１０４は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組み合わせなど、任意のタイプのサーバまたはサーバクラスターであり得る。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図および関心地点（ＭＰＯＩ）サーバ、またはロケーションサーバなどであり得る。
【００１０】
自動運転車両とは、運転者からの入力がほとんどまたはまったくない状態で車両がナビゲートされて環境を通過する自律走行モードになるように構成できる車両を指す。そのような自動運転車両は、車両の走行環境に関連する情報を検出するように構成された一つまたは複数のセンサを有するセンサシステムを含み得る。前記車両とそれに関連するコントローラは、検出された情報によりナビゲートされて前記環境を通過する。自動運転車両１０１は、手動モード、全自律走行モード、または部分自律走行モードで走行することができる。
【００１１】
一実施形態では、自動運転車両１０１は、感知・計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインターフェースシステム１１３、インフォティメントシステム１１４およびセンサシステム１１５を含むが、これらに限定されない。自動運転車両１０１１は、エンジン、車輪、ステアリングホイール、変速機などのような、一般車両に含まれる特定の共通構成要素も含み得る。車両制御システム１１１および/または感知・計画システム１１０は、加速信号またはコマンド、減速信号またはコマンド、ステアリング信号またはコマンド、ブレーキ信号またはコマンドなどのような様々な通信信号および/またはコマンドを通じて、前記構成要素を制御することができる。
【００１２】
構成要素１１０〜１１５は、インターコネクタ、バス、ネットワーク、またはそれらの組み合わせを介して互いに通信可能に接続されることができる。例えば、構成要素１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続されることができる。ＣＡＮバスは、マイクロコントローラーとデバイスがホストなしでアプリケーションにおいて互いに通信できるように設計された車両バス規格である。もともとは車内の多重化された電気配線用に設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用されている。
【００１３】
ここで図２を参照すると、一実施形態では、センサシステム１１５は、一つまたは複数のカメラ２１１、全地球測位システム（ＧＰＳ）ユニット２１２、慣性測定ユニット（ＩＭＵ）２１３、レーダユニット２１４、および光検出・測距（ＬＩＤＡＲ）ユニット２１５を含むが、これらに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含み得る。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置および向きの変化を感知することができる。レーダユニット２１４は、自動運転車両のローカル環境内のオブジェクトを検知するために無線信号を利用するシステムを表すことができる。一部の実施形態では、オブジェクトの検知に加えて、レーダユニット２１４は、オブジェクトの速度および／または進行方向をさらに検知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して、自動運転車両が位置する環境内のオブジェクトを感知することができる。他のシステム構成要素に加えて、ＬＩＤＡＲユニット２１５は、一つまたは複数のレーザー源、レーザースキャナー、および一つまたは複数の検出器も含み得る。カメラ２１１は、自動運転車両を取り巻く環境の画像を取得するための一つまたは複数の装置を含み得る。カメラ２１１は、スチルカメラおよび／またはビデオカメラであり得る。カメラは、例えば、回転および/または傾斜プラットフォームに取り付けられることにより、機械的に移動可能となり得る。
【００１４】
センサシステム１１５はさらに、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、および音声センサ（例えば、マイク）などの他のセンサも含み得る。音声センサは、自動運転車両を取り巻く環境から音を収集するように構成されることができる。ステアリングセンサは、ステアリングホイールの操舵角、車両の車輪の変向角度、またはそれらの組み合わせを感知するように構成されることができる。スロットルセンサとブレーキセンサは、それぞれ車両のスロットル位置とブレーキ位置を検出する。場合によっては、スロットルセンサとブレーキセンサを統合スロットル/ブレーキセンサとして統合することができる。
【００１５】
一実施形態では、車両制御システム１１１は、ステアリングユニット２０１、スロットルユニット２０２（「加速ユニット」とも呼ばれる）、およびブレーキユニット２０３を含むが、これらに限定されない。ステアリングユニット２０１は、車両の向きまたは進行方向を調整するために使用される。スロットルユニット２０２は、電気モータまたはエンジンの速度を制御するために使用され、これにより、車両の速度および加速度が制御される。ブレーキユニット２０３は、車両の車輪またはタイヤを減速させる摩擦を提供することにより車両を減速させる。図２に示される構成要素は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実施できることに留意されたい。
【００１６】
図１に戻ると、無線通信システム１１２は、自動運転車両１０１と、デバイス、センサ、他の車両などの外部システムとの間の通信を可能にする。例えば、無線通信システム１１２は、一つまたは複数の装置と直接無線通信することができ、またはネットワーク１０２を介して無線通信することができる。例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワークまたは無線ローカルエリアネットワーク（ＷＬＡＮ）（例えば、ＷｉＦｉ）を使用して別の構成要素またはシステムと通信することができる。無線通信システム１１２は、例えば、赤外線リンク、ブルートゥースなどを使用して、装置（例えば、乗員のモバイルデバイス、表示装置、車両１０１内のスピーカ）と直接通信することができる。ユーザインターフェースシステム１１３は、例えば、キーボード、タッチスクリーンディスプレイデバイス、マイクロホン、およびスピーカを含む、車両１０１内において実施された周辺機器の一部であり得る。
【００１７】
自動運転車両１０１の機能の一部または全部は、特に自律走行モードで動作している場合、感知・計画システム１１０によって制御または管理され得る。感知・計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）およびソフトウェア（例えば、オペレーティングシステム、計画およびルーティングプログラム）を含むことにより、センサシステム１１５、制御システム１１１、無線通信システム１１２、および／またはユーザインターフェースシステム１１３から情報を受信し、受信した情報を処理し、出発地から目的地までの経路またはルートを計画し、そして計画および制御情報に基づいて車両１０１を運転することができる。あるいは、感知・計画システム１１０と車両制御システム１１１を統合することもできる。
【００１８】
例えば、乗員としてのユーザは、例えばユーザインターフェイスを介して、旅程の出発地と目的地を指定することができる。感知・計画システム１１０は、旅程関連データを取得する。例えば、感知・計画システム１１０は、サーバ１０３〜１０４の一部であり得るＭＰＯＩサーバから位置およびルート情報を取得することができる。ロケーションサーバはロケーションサービスを提供し、ＭＰＯＩサーバは地図サービスと特定のロケーションのＰＯＩを提供する。あるいは、そのような位置およびＭＰＯＩ情報は、感知・計画システム１１０の永続性記憶装置にローカルキャッシュされることができる。
【００１９】
感知・計画システム１１０はまた、自動運転車両１０１がルートに沿って移動するときに、交通情報システムまたはサーバ（ＴＩＳ）からリアルタイムの交通情報を取得することもできる。サーバ１０３〜１０４は第三者機関によって操作され得ることに留意されたい。あるいは、サーバ１０３〜１０４の機能を感知・計画システム１１０に統合することができる。リアルタイムの交通情報、ＭＰＯＩ情報と位置情報、およびセンサシステム１１５によって検出または検知されたリアルタイムのローカル環境データ（障害物、オブジェクト、近くの車両など）に基づいて、感知・計画システム１１０は最適なルートを計画し、かつ計画された経路に従って、例えば制御システム１１１を介して車両１０１を運転して、指定された目的地に安全かつ効率的に到着することができる。
【００２０】
サーバ１０３は、様々なクライアントのためのデータ解析サービスを実行するデータ解析システムであり得る。一実施形態では、データ解析システム１０３は、データコレクタ１２１と機械学習エンジン１２２を含む。データコレクタ１２１は、様々な車両（自動運転車両または人間の運転手によって運転される一般車両）から運転統計データ１２３を収集する。運転統計データ１２３は、異なる時点で発行された運転コマンド（例えば、スロットルコマンド、ブレーキコマンド、制御コマンド）情報と、車両のセンサにより捕捉された車両の応答（例えば、速度、加速、減速、方向）情報を含む。運転統計データ１２３はさらに、例えば、ルート（出発地および目的地を含む）、ＭＰＯＩ、道路状態、気象状態などの異なる時点での運転環境を記述する情報も含み得る。
【００２１】
運転統計１２３に基づいて、機械学習エンジン１２２は、さまざまな目的のために、ルール、アルゴリズムおよび／またはモデル１２４のセットを生成または訓練する。例えば、運転統計データ１２３から取得できるハードウェアの特徴（センサ仕様や特定の車両設計など）に基づいて、制約のセットを定義することもできる。
【００２２】
図３Ａおよび３Ｂは、いくつかの実施形態による自動運転車両と共に使用するための感知・計画システムの一例を示すブロック図である。システム３００は、感知・計画システム１１０、制御システム１１１、およびセンサシステム１１５を含むがこれらに限定されない、図１の自動運転車両１０１の一部として実施することができる。図３Ａおよび図３Ｂを参照すると、感知・計画システム１１０は、測位モジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６、およびルーティングモジュール３０７を含むが、これらに限定されない。
【００２３】
モジュール３０１から３０７の一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施され得る。例えば、これらのモジュールは、永続性記憶装置３５２にインストールされ、メモリ３５１にロードされ、かつ一つまたは複数のプロセッサ（図示せず）によって実行され得る。これらのモジュールの一部または全部が、図２の車両制御システム１１１のモジュールの一部または全部に通信可能に接続または統合され得ることに留意されたい。モジュール３０１から３０７のいくつかは、統合モジュールとして一体に統合されることができる。
【００２４】
測位モジュール３０１は、（例えば、ＧＰＳユニット２１２を利用して）自動運転車両３００の現在の位置を確定し、ユーザの旅程またはルートに関連するすべてのデータを管理する。測位モジュール３０１（「地図およびルートモジュール」とも呼ばれる）は、ユーザの旅程またはルートに関連するすべてのデータを管理する。ユーザは、例えば、ユーザインターフェイスを介してログインし、旅程の出発地と目的地を指定することができる。測位モジュール３０１は、地図およびルート情報３１１などの自動運転車両３００の他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール３０１は、ロケーションサーバや地図およびＰＯＩ（ＭＰＯＩ）サーバからロケーションおよびルート情報を取得することができる。ロケーションサーバはロケーションサービスを提供し、ＭＰＯＩサーバは地図サービスと特定のロケーションのＰＯＩを提供するため、地図およびルート情報３１１の一部としてキャッシュされることができる。自動運転車両３００がルートに沿って移動するとき、測位モジュール３０１は、交通情報システムまたはサーバからリアルタイムの交通情報を取得することもできる。一実施形態では、地図およびルート情報３１１はあらかじめ永続性記憶装置３５２に格納されることができる。例えば、地図・ルート情報３１１はあらかじめ永続性記憶装置３５２にダウンロードまたはコピーされることができる。
【００２５】
センサシステム１１５によって提供されたセンサデータと、測位モジュール３０１によって取得された測位情報に基づいて、感知モジュール３０２は、周囲環境への感知を確定する。感知情報は、一般運転手ならば運転手が運転している車両の周りで何を感知するかを表すことができる。感知には、例えば、オブジェクトの形態の車線構成（例：直進車線または曲線車線）、信号機の信号、他の車両の相対位置、歩行者、建物、横断歩道、またはその他の交通関連標識（例えば、止まれ標識、ゆずれ標識）などが含まれ得る。
【００２６】
感知モジュール３０２は、一つまたは複数のカメラによって取得された画像を処理および分析して、自動運転車両の環境内のオブジェクトおよび／または特徴を識別するコンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含み得る。オブジェクトには、交通信号、道路境界、他の車両、歩行者および/または障害物などが含まれ得る。コンピュータビジョンシステムでは、オブジェクト認識アルゴリズム、ビデオトラッキング、その他のコンピュータビジョン技術を使用できる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図の作成、オブジェクトの追跡、オブジェクトの速度推定などをすることができる。感知モジュール３０２は、レーダおよび／またはＬＩＤＡＲなどの他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【００２７】
各オブジェクトについて、予測モジュール３０３は、このオブジェクトがこの状況下でどのように挙動するかを予測する。この時点で運転環境を感知した感知データに基づき、地図・ルート情報３１１と交通ルール３１２のセットを考慮して予測が実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境に交差点が含まれる場合、予測モジュール３０３は、該車両が直進するか曲がるかを予測する。感知データは交差点に信号機がないことを示した場合、予測モジュール３０３は、車両が交差点に入る前に完全に停止する必要があるかもしれないと予測することができる。感知データは、車両が現在左折専用車線または右折専用車線にあることを示した場合、予測モジュール３０３は、車両がそれぞれ左折または右折する可能性が高いと予測することができる。いくつかの実施形態では、以下でより詳しく説明されるように、自動運転車両が環境または地理的領域／場所を移動するときに、走行中において環境または地理的領域／場所の地図・ルート情報３１１を生成することができる。
【００２８】
各オブジェクトについて、決定モジュール３０４は、オブジェクトをどのように処理するかに関して決定を下す。例えば、特定のオブジェクト（例えば、交差ルートにおける他の車両）およびオブジェクトを説明するメタデータ（例えば、速度、方向、曲がり角）について、決定モジュール３０４は、オブジェクトに会う方法（例えば、追い越し、譲り、停止、超過）を決定する。決定モジュール３０４は、永続性記憶装置３５２に格納され得る交通ルールまたは運転ルール３１２のルールセットに基づいてそのような決定を行うことができる。
【００２９】
ルーティングモジュール３０７は、出発地から目的地までの一つまたは複数のルートまたは経路を提供するように構成されている。例えば、ユーザから受信した出発地ロケーションから目的地ロケーションまでの所定の旅程について、ルーティングモジュール３０７は、地図・ルート情報３１１を取得し、出発地ロケーションから目的地ロケーションまでのすべての可能なルートまたは経路を確定する。いくつかの実施形態では、地図・ルート情報３１１は、以下でより詳しく説明されるように、感知モジュール３０２によって生成され得る。決定された出発地ロケーションから目的地ロケーションまでの各ルートについて、ルーティングモジュール３０７は、地形図の形で基準線を生成することができる。基準線とは、他の車両、障害物、または交通状況に干渉されない理想的なルートまたは経路を指す。言い換えると、道路に他の車両、歩行者、障害物がない場合、ＡＤＶは基準線に完全にまたは厳密に従わなければならない。次いで、地形図は決定モジュール３０４および／または計画モジュール３０５に提供される。決定モジュール３０４および/または計画モジュール３０５は、すべての可能なルートを調べることにより、他のモジュールによって提供された他のデータ（例えば、測位モジュール３０１からの交通状況、感知モジュール３０２によって感知された運転環境、および予測モジュール３０３によって予測された交通状況）に基づいて、最適なルートの一つを選択して修正する。その時点での特定の運転環境によっては、ＡＤＶを制御するために使用される実際の経路またはルートは、ルーティングモジュール３０７によって提供された基準線に近いか、または異なる場合がある。
【００３０】
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供された基準線を基準として、自動運転車両のために経路またはルートおよび運転パラメータ（例えば、距離、速度、および/または曲がり角）を計画する。言い換えると、指定されたオブジェクトについて、決定モジュール３０４はこのオブジェクトに対して何をするかを決定し、計画モジュール３０５はどのようにするかを決定する。例えば、指定されたオブジェクトについて、決定モジュール３０４はこのオブジェクトを追い越すことを決定することができ、計画モジュール３０５はこのオブジェクトを左側から追い越すか、それとも右側から追い越すかを決定することができる。計画および制御データは、計画モジュール３０５によって生成され、車両３００が次の移動サイクル（例えば、次のルート／経路区間）でどのように移動するかを記述する情報を含む。例えば、計画および制御データは、３０マイル/時（ｍｐｈ）で１０メートルを移動し、次に２５ｍｐｈで右車線に移動するように車両３００に命令することができる。
【００３１】
計画および制御データに基づいて、制御モジュール３０６は、計画および制御データによって定義されたルートまたは経路に従って、適切なコマンドまたは信号を車両制御システム１１１に送信することにより、自動運転車両を制御および運転する。かかる計画および制御データには、ルートまたは経路に沿って異なる時点で適切な車両設定または運転パラメータ（例えば、スロットル、ブレーキ、ターニングコマンド）を使用してルートまたは経路の第１箇所から第２箇所まで車両を運転するための十分な情報が含まれる。
【００３２】
一実施形態では、計画段階は、複数の計画サイクル（「コマンドサイクル」とも呼ばれる。例えば、１００ミリ秒（ｍｓ）間隔）で実行される。計画サイクルまたはコマンドサイクルごとに、計画および制御データに基づいて、一つまたは複数の制御コマンドが発行される。言い換えると、１００ｍｓごとに、計画モジュール３０５は、例えば、目標位置およびＡＤＶが目標位置に到達するために必要な時間を含む次のルートセグメントまたは経路区間を計画する。あるいは、計画モジュール３０５は、特定の速度、方向、および／または操舵角などをさらに指定することができる。一実施形態では、計画モジュール３０５は、次の所定の期間（例えば、５秒）のルートセグメントまたは経路区間を計画する。各計画サイクルについて、計画モジュール３０５は、前のサイクルで計画された目標位置に基づいて、現在の期間（例えば、次の５秒）の目標位置を計画する。次いで、制御モジュール３０６は、現在のサイクルの計画および制御データに基づいて、一つまたは複数の制御コマンド（例えば、スロットル制御コマンド、ブレーキ制御コマンド、ステアリング制御コマンド）を生成する。
【００３３】
決定モジュール３０４および計画モジュール３０５は、統合モジュールとして統合できることに留意されたい。決定モジュール３０４／計画モジュール３０５は、自動運転車両の走行経路を確定するナビゲーションシステムまたはナビゲーションシステムの機能を含み得る。例えば、ナビゲーションシステムは、自動運転車両を次のような経路に沿って移動させるための一連の速度および進行方向を決定することができる。かかる経路は、自動運転車両が最終目的地までの道路ベースの経路を前進しながら、感知された障害物をほとんど回避することを可能にする。目的地は、ユーザインターフェースシステム１１３を介したユーザ入力によって設定されることができる。ナビゲーションシステムは、自動運転車両の走行中において走行経路を動的に更新できる。ナビゲーションシステムは、自動運転車両の走行経路を決定するために、ＧＰＳシステムと一つまたは複数の地図からのデータ（感知モジュール３０２によって生成されたか、またはあらかじめ格納／ダウンロードされたもの）を統合することができる。
【００３４】
決定モジュール３０４／計画モジュール３０５はさらに、自動運転車両の環境内の潜在的な障害物を識別、評価、回避するか、またはその他の形で追い越すための衝突防止システムまたは衝突防止システムの機能も含み得る。例えば、衝突防止システムは、制御システム１１１内の一つまたは複数のサブシステムを操作して急ハンドル操作、曲がり操作、ブレーキ操作などを行うことにより、自動運転車両のナビゲーション中の変化を実現することができる。衝突防止システムは、周囲の交通パターン、道路状況などに基づいて、実行可能な障害物回避操作を自動的に決定することができる。衝突防止システムは、自動運転車両が急ハンドルして進入しようとする隣接エリアにある車両、建物障害物などを他のセンサシステムが検出したときに急ハンドル操作が行われないように構成されることができる。衝突防止システムは、実行可能でかつ自動運転車両の乗員の安全性を最優先する操作を自動的に選択することができる。衝突防止システムは、自動運転車両の車室内において最小限の加速の発生が見込まれる回避操作を選択することができる。
【００３５】
ルーティングモジュール３０７は、地図情報（例えば、道路セグメントの情報、道路セグメントの車両車線、車線から縁石までの距離）に基づいて、基準線を生成することができる。例えば、道路を、三つの道路セグメントを表すセクションまたはセグメント{Ａ、Ｂ、Ｃ}に分割することができる。道路セグメントＡの三つの車線{Ａ１、Ａ２、Ａ３}を例示することができる。基準線は、基準線に沿って基準点を生成することにより生成される。例えば、車両車線の場合、ルーティングモジュール３０７は、地図データ（感知モジュール３０２によって生成されたか、またはあらかじめ格納/ダウンロードされたもの）によって提供された二つの対向する縁石またはエンドポイントの中間点を結ぶことができる。該中間点と、収集された異なる時点でこの車両車線で以前に運転された車両のデータポイントを表す機械学習データに基づいて、ルーティングモジュール３０７は、車両車線の所定の近接範囲内で収集されたデータポイントのサブセットを選択し、収集されたデータポイントのサブセットを考慮して該中間点に平滑化関数を適用することにより、基準点を計算することができる。
【００３６】
基準点または車線基準点に基づいて、ルーティングモジュール３０７は、生成された基準線が車両車線上のＡＤＶを制御するための基準線として使用されるように基準点を補間することにより基準線を生成することができる。いくつかの実施形態では、基準線を表す基準点テーブルおよび道路セグメントテーブルは、ＡＤＶがＡＤＶの地理的位置および運転方向に基づいて基準線を生成できるように、リアルタイムでＡＤＶにダウンロードされる。例えば、一実施形態では、ＡＤＶは、前方の次の道路セグメントを表す経路セグメント識別子によって経路セグメントのルーティングサービスを要求することにより、および／またはＡＤＶのＧＰＳ位置に基づいて、基準線を生成することができる。経路セグメント識別子に基づいて、ルーティングサービスは、対象の道路セグメントのすべての車線の基準点を含むＡＤＶ基準点テーブルに戻ることができる。ＡＤＶは、経路セグメントの車線の基準点を検索して、車両車線におけるＡＤＶを制御するための基準線を生成することができる。
【００３７】
図４Ａは、いくつかの実施形態による感知モジュール３０２の一例を示すブロック図である。図４Ａを参照すると、感知モジュール３０２は、センサ部材４１１および履歴部材４１３を含むが、これらに限定されない。モジュール４１１〜４１３は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施することができる。センサ部材４１１は、ＡＤＶの一つまたは複数のセンサからセンサデータを取得することができる。例えば、センサ部材４１１は、一つまたは複数のセンサからセンサデータを定期的に要求または問い合わせることができる（例えば、数秒ごと、毎秒、または他の適切な期間ごとにセンサからセンサデータを要求することができる）。別の例では、センサ部材４１１は、一つまたは複数のセンサから受信するセンサデータを聞きまたは待つことができる。例えば、センサ部材４１１はバス、通信チャネル（有線または無線）、配線、ワイヤ、ピン、トラックなどを継続的に監視するように構成できるため、一つまたは複数のセンサがセンサデータを生成したとたん、センサ部材４１１はセンサデータを受信することができる。
【００３８】
一実施形態では、センサは、カメラ（例えば、デジタルカメラ、ビデオカメラ、ビデオレコーダなど）または画像をキャプチャまたは記録することができる他の装置であり得る。カメラによって生成され、センサ部材４１１によって受信されるセンサデータは、「ビデオデータ」と呼ばれる。ビデオデータの例は、デジタル画像（例：Ｊｏｉｎｔ Ｐｈｏｔｏｇｒａｐｈｉｃ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ（ＪＰＥＧ）画像）、ビデオフレーム、Ｍｏｔｉｏｎ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ（ＭＰＥＧ）データ、またはカメラでキャプチャされた光学画像を表すのに適したその他のデータを含むが、これらに限定されない。別の実施形態では、センサは、レーダユニット（例えば、図２に示されるレーダユニット２１４）または電波（例えば、高周波または信号）を使用してＡＤＶを囲むオブジェクトの位置、範囲、角度、および/または速度を特定できる他の装置であり得る。レーダユニットによって生成されたセンサデータは、「レーダデータ」と呼ばれる。レーダデータは、レーダユニットによって検出されたオブジェクトの位置、範囲、角度、および/または速度を示すデータであり得る。さらに別の実施形態では、センサは、ＬＩＤＡＲユニット（例えば、図２に示されるＬＩＤＡＲユニット２１５）であってもよく、または光（例えば、レーザー）を使用してＡＤＶを囲むオブジェクトの位置、範囲、角度、および/または速度を特定できるその他の装置であってもよい。ＬＩＤＡＲユニットによって生成されたセンサデータは、ＬＩＤＡＲユニットによって検出されたオブジェクトの位置、範囲、角度、および/または速度を示すデータであり得る。別の実施形態では、他のタイプのセンサは、センサ部材１１１に提供され得る他のタイプのセンサデータを生成し得る。環境または地理的位置/エリア内のオブジェクト（歩行者、車両、バリケード、障害物、障壁、道路区画線、標識、信号機など）の位置、範囲、角度、および/または速度を検出するために使用できる任意のタイプのセンサは、本明細書で説明される実施形態、実施方式、および／または例で使用することができる。別の実施形態では、センサは、ＧＰＳ受信機またはユニット（例えば、図２に示されるＧＰＳユニット２１２）またはＡＤＶの位置（例えば、物理的位置または地理的位置）を確定できる他の装置であり得る。ＧＰＳ受信機によって生成されるセンサデータは、ＧＰＳデータ（「ＧＰＳ座標」と呼ばれることもある）であり得る。
【００３９】
一実施形態では、センサデータは、ＡＤＶが現在位置しているまたは走行している環境または地理的エリア／場所に関する情報を示すことができる。例えば、センサデータは、オブジェクト（例えば、歩行者、車両、バリケード、障害物、障壁、道路区画線、標識、信号機など）の位置および/またはレイアウトを示すことができる。別の例では、センサデータは、環境または地理的領域の道路状況（例えば、道路が乾燥した道路、湿った道路、滑らかな道路、でこぼこした道路であるかどうかなど）を示すことができる。さらに別の例では、センサデータは、環境または地理的地域の気象条件（例えば、気温や、雨、風、雪、雹の有無など）を示すことができる。
【００４０】
図４Ｂは、いくつかの実施形態による計画モジュール３０５の一例を示すブロック図である。図４Ｂを参照すると、計画モジュール３０５は、セグメンター４０１、５次関数ジェネレーター４０２、サンプルポイントジェネレーター４０３、経路ジェネレーター４０４、および基準線ジェネレーター４０５を含むが、これらに限定されない。これらのモジュール４０１から４０５は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施することができる。基準線ジェネレーター４０５は、ＡＤＶの基準線を生成するように構成される。上述のように、基準線は、安定した軌跡を生成するためのＡＤＶの案内経路（例えば、道路の中心線）であり得る。基準線ジェネレーター４０５は、地図・ルート情報３１１（図３Ａおよび３Ｂに示される）に基づいて基準線を生成することができる。上述のように、地図・ルート情報３１１は、既存の地図データ（例えば、あらかじめダウンロードまたは格納された地図データ）および/または走行中に生成された地図データ（例えば、ＡＤＶが地域/場所を移動するときに生成されたこのエリア/場所の地図データ）であり得る。セグメンター４０１は、基準線をいくつかの基準線セグメントに分割するように構成される。基準線を基準線セグメントに分割して、基準線の個別のセグメントまたは部分を生成することができる。基準線セグメントのそれぞれについて、多項式関数ジェネレーター４０２は、多項式関数を定義または生成して、対応する基準線セグメントを表すか、または対応する基準線セグメントをモデル化するように構成されることができる。サンプルポイントジェネレーター４０３は、基準線に基づいてサンプルポイントを生成することができる。例えば、サンプルポイントジェネレーター４０３は、以下でより詳しく説明されるように、一般に基準線に従うことができるサンプルポイントの一つまたは複数のセット（例えば、一つまたは複数のサンプルポイントのグループ）を生成することができる。サンプルポイントの各セットは、以下でより詳しく説明されるように、サンプルポイントの第１サブセットおよびサンプルポイントの第２サブセットを含み得る。
【００４１】
多項式関数ジェネレーター４０２は、サンプルポイントの複数のセットを互いに接続することができる。例えば、多項式関数ジェネレーター４０２は、以下でより詳しく説明されるように、サンプルポイントのセット内の各サンプルポイントと次の隣接するサンプルポイントのセット内の各サンプルポイントとの間の一つまたは複数のセグメント（例えば、接続）を生成することができる。多項式関数ジェネレーター４０２はまた、サンプルポイント間のセグメントを表すために使用され得る一つまたは複数の多項式を生成、計算、確定などすることができる。例えば、多項式関数ジェネレーター４０２は、二つのサンプルポイント間の各セグメントについて多項式関数を生成、確定、および計算することができる。さらに、さまざまな境界または制約に基づいて、セグメントを表す多項式関数を生成、確定、および計算することもできる。この境界または制約は、図３Ａに示される制約３１３の一部として、あらかじめ構成および／または格納されることができる。計画モジュール３０５によって使用される（例えば、多項式関数ジェネレーター４０２によって使用される）多項式関数は、図３Ａに示される多項式関数３１４の一部として、あらかじめ構成および／または格納されることができる。
【００４２】
以下でより詳しく説明されるように、経路ジェネレーター４０４は、サンプルポイント間のセグメントに基づいてＡＤＶの経路を決定することができる。例えば、経路ジェネレーター４０４は、各セグメントのコストを確定することができる。このコストは、さまざまな要因またはパラメータ（基準線からセグメントまでの距離、基準線からセグメント内のサンプルポイントまでの距離、セグメントの曲率の変化率またはセグメント内のサンプルポイントの曲率の変化率、セグメントの曲率、サンプルポイントに位置する可能性のある障害物（車両、歩行者、障害物など）を含むが、これらに限定されない）によるものであってもよい。このコストは「ウェイト」とも呼ばれる。経路ジェネレーター４０４は、最低の総コスト（最低の総ウェイト）を有する経路を形成するセグメントを識別または選択することができる。
【００４３】
図５は、自動運転車両（ＡＤＶ）１０１が現在位置している、および／または以前に位置していた環境５０５の例示的な地図５００を示す図である。環境５０５は、地理的エリアおよび／または場所であり得る。環境５０５は、街路、道路、車道、国道、自動車道路、高速道路、快速道路、ルート、坂道、出口、および交通制御装置を含み得る。ＡＤＶ１０１、街路、道路、車道、国道、自動車道路、高速道路、快速道路、ルート、坂道、出口、および交通制御装置などの位置は、図５のＸ軸とＹ軸に示されるようなデカルト座標系を使用して表されることができる。例えば、ＡＤＶ１０１の位置および／または交通制御装置の位置は、Ｘ-Ｙ座標を使用して表されることができる。
【００４４】
上述のように、ＡＤＶ１０１は、一つまたは複数のセンサ（例えば、カメラ、レーダユニット、ＬＩＤＡＲユニットなど）からセンサデータを取得することができる。センサデータは、環境５０５内におけるＡＤＶ１０１を囲むオブジェクトの位置、範囲、角度、および/または速度を示すことができる。例えば、センサデータは、道路および交通制御装置５１０〜５１３の位置および/またはレイアウトを示すことができる。
【００４５】
環境５０５は、複数の交通制御装置を含み得る。交通制御装置は、環境５０５に位置し、および／または環境５０５を移動できるＡＤＶ１０１、歩行者、サイクリスト、モーターサイクリストなどの動きへの管理、制御、調整、案内、命令、支配、誘導などに使用されることができる。一実施形態では、交通制御装置は、環境５０５内の交通流（例えば、ＡＤＶ１０１、他の車両、モーターサイクリスト、サイクリスト、歩行者などの動き）を制御するために使用できる任意のアイテム、装置、オブジェクト、マーク、標識などであり得る。交通制御装置の例には、ライト、発光/照明標識、駐車灯、横断歩道ライト、横断歩道、標識（例えば、止れ標識、速度制限標識、重量制限標識、一方通行標識、学区標識など）、車線/道路標識（例えば、道路、街路、高速道路などのペイント車線など）、矢印（例えば、一方通行の矢印など）が含まれる。
【００４６】
図５に示されるように、地理的領域５０５はさらに、複数の交通制御装置５１０、５１１、５１２、および５１３も含む。例えば、交通制御装置５１０は、ＡＤＶ１０１が道路に沿って前進または走行できる場合にＡＤＶ１０１を命令および／または誘導するために使用できる信号機（例えば、ストップライト、赤色灯など）であり得る。別の例では、交通制御装置５１１は、道路／交差点でさらに前進するかまたは進行するまで道路／交差点上の点で停止するようにＡＤＶ１０１を命令および／または誘導できる止れ標識であり得る。また別の例では、交通制御装置５１２は、この道路に沿った交通の方向（例えば、他の車両の方向）が単なる一方通行標識によって示された方向であることをＡＤＶ１０１に示すことができる一方通行標識であり得る。さらに別の例では、交通制御装置５１３は、交差点で反対の交通（例えば、対向車）を優先させるようにＡＤＶ１０１を命令および／または誘導することができる譲れ標識であり得る。
【００４７】
いくつかの実施形態では、ＡＤＶ１０１は、環境５０５内の一つまたは複数の交通制御装置の一つまたは複数の変化を検出することができる。例えば、ＡＤＶ１０１は、ＡＤＶ１０１の現在の位置の近くに止れ標識（例えば、交通制御装置５１１）があることを示す地図データ（例えば、道路、街路、高速道路などの地理的位置、ＧＰＳ座標、位置、道路、街路、高速道路などの距離、交通制御装置などの位置および／またはタイプを示すデータ）を有し得る。しかしながら、ＡＤＶ１０１の一つまたは複数のセンサ（例えば、カメラ）は、ＡＤＶ１０１の現在の位置の近くにおいて止れ標識の代わりに譲れ標識（例えば、交通制御装置５１３）を検出し得る。ＡＤＶ１０１は、地図データがＡＤＶ１０１の現在の位置において譲れ標識があることを示していないと判断し得る（例えば、ＡＤＶ１０１は、交通制御装置がとある位置／エリアに新設されたと判断し得る）。ＡＤＶ１０１はまた、地図データが、ＡＤＶ１０１の現在の位置の近くに止れ標識があることを示していると判断し得るが、ＡＤＶ１０１は、止れ標識を検出しなかった場合がある（例えば、ＡＤＶ１０１は、交通制御装置がある場所/エリアから削除されたことを確定し得る）。
【００４８】
環境５０５内の交通制御装置が変化（例えば、新設、除去、異なる場所へ移動）した場合、環境５０５の地図データが更新されるまでは、時間がかかる場合がある。例えば、サーバは環境５０５の地図データをＡＤＶ１０１に提供することができる。しかし、環境５０５の交通制御装置が変化した場合、サーバは、これらの変化が運転手によって報告されるまで、これらの変化がＡＤＶ１０１に対して更新された地図データを生成していないことを把握していない可能性がある。これにより、ＡＤＶ１０１は、古くなった地図データを長期間に亘って使用することになりがちである。古い地図データを使用すると、ＡＤＶ１０１において安全問題が発生する恐れがある。
【００４９】
いくつかの実施形態では、ＡＤＶ１０１（および／または他の車両）がレポートメッセージ（例えば、メッセージ、レポート、アラートなど）を一つまたは複数のサーバ（例えば、一つまたは複数のサーバコンピュータ、コンピューティングデバイスなど）に送信することにより、環境５０５（例えば、場所/エリア）における交通制御装置の一つまたは複数の変化をＡＤＶ１０１が検出したことを示すのは、有用であり得る。ＡＤＶ１０１および／または他の車両は以前に環境５０５を移動しており、および／または現在環境５０５に位置している可能性があるため、ＡＤＶ１０１および／または他の車両は、環境５０５における交通制御装置の変化に関するより最近の情報を有する可能性がある。一つまたは複数のレポートメッセージを一つまたは複数のサーバに送信することにより、サーバは、環境内の交通制御装置の変化をより迅速に検出することができる。これにより、サーバは環境５０５の交通制御装置が変化したかどうか（例えば、新しい交通制御装置が新設されたか、既存の交通制御装置が除去されたか、既存の交通制御装置が新しい場所まで移動されたかなど）を確定することができる。
【００５０】
サーバは、一つまたは複数の基準、パラメータ、条件などを使用して、環境５０５内の交通制御装置が変化したかどうかを判断することもできる。これにより、サーバは環境内の交通制御装置が変化したことをより正確に検出することができる。サーバは、ＡＤＶ１０１および／または他の車両から受信したレポートメッセージに基づいて、更新された地図データを生成することができる。サーバは、更新された地図データをＡＤＶ１０１および/または他の車両に送信して、更新された地図データをより迅速および/または効率的にＡＤＶ１０１に提供することができる。これにより、サーバは地図データをより迅速かつ効率的に更新して、交通制御装置の変化を反映することができる。
【００５１】
図６は、いくつかの実施形態による例示的なシステムアーキテクチャ６００を示す図である。システムアーキテクチャ６００は、ＡＤＶ１０１、ネットワーク１０２、およびサーバ１０４を含む。ネットワーク１０２は、パブリックネットワーク（例えば、インターネット）、プライベートネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ））、またはそれらの組み合わせであり得る。一実施形態では、ネットワーク１０２は、一つまたは複数の無線通信システム（例えば、ネットワーク１０２に接続された無線忠実度（ＷｉＦｉ）ホットスポットおよび／またはさまざまなデータ処理機器、通信塔（セルラー塔など）を使用して実施できるワイヤレスキャリアシステム）によって提供され得る有線または無線のインフラストラクチャを含み得る。ＡＤＶ１０１およびサーバ１０４は、ネットワーク１０２を介して互いに通信可能に接続され得る。ネットワーク１０２は、ＡＤＶ１０１とサーバ１０４の間の通信（例えば、データ、メッセージ、データパケット、フレームなど）を実現することができる。
【００５２】
上述のように、ＡＤＶ１０１は、一つまたは複数の地理的位置/地域を移動するか、または一つまたは複数の地理的位置/地域を移動する自動運転車両であり得る。各ＡＤＶ１０１は、地図データ６１２の一部または全部を含み得る。各ＡＤＶ１０１は、地図データ６１２を使用して、ＡＤＶ１０１の経路を確定することができる。例えば、上述のように、ＡＤＶ１０１は、地図データ６１２を使用して、出発地から目的地まで移動するためにどの道路、高速道路などを利用すべきかを決定することができる。
【００５３】
各ＡＤＶ１０１は、センサシステム１１５とセンサ部材４１１を含む。センサシステム１１５は、一つまたは複数のセンサを含み得る。一実施形態では、センサは、カメラまたは画像をキャプチャもしくは記録することができる他の装置であり得る。カメラによって生成され、センサ部材４１１によって受信されたセンサデータは、「ビデオデータおよび／または画像データ」と呼ばれることができる。別の実施形態では、センサはレーダユニット、または電波を使用してＡＤＶ１０１を囲むオブジェクトの位置、範囲、角度および／または速度を特定できる他のいくつかの装置であり得る。レーダユニットによって生成されたセンサデータは、「レーダデータ」と呼ばれることができる。別の実施形態では、センサはＬＩＤＡＲユニット、または光を使用してＡＤＶ１０１を囲むオブジェクトの位置、範囲、角度および／または速度を特定できる他のいくつかの装置であり得る。ＬＩＤＡＲユニットによって生成されたセンサデータは、「ＬＩＤＡＲデータ」と呼ばれることができる。別の実施形態では、センサは、ＧＰＳ受信機またはユニット、またはＡＤＶ１０１の位置を特定できる他のいくつかの装置であり得る。ＧＰＳ受信機によって生成されたセンサデータは、「ＧＰＳデータ」と呼ばれることができる。別の実施形態では、他のタイプのセンサは、センサ部材４１１に提供され得る他のタイプのセンサデータを生成することができる。
【００５４】
一実施形態では、センサデータは、ＡＤＶが現在位置しているまたは走行している環境または地理的エリア／場所に関する情報を示すことができる。例えば、センサデータは、交通制御装置の位置および/またはレイアウト、環境または地理的領域の道路状況、環境または地理的領域の気象条件などを示すことができる。
【００５５】
サーバ１０４は、コンピューティングデバイス、および／または複数のコンピューティングデバイスのグループであり得る。例えば、サーバ１０４はサーバクラスターであってもよく、一つまたは複数の仮想マシン、一つまたは複数のコンテナであってもよい。サーバ１０６は、地図データ６１２および地図部材６１０を含む。地図データ６１２は、ＡＤＶが位置／走行する可能性のある異なる環境（例えば、地理的位置および／または地域）に関する情報を示すことができる。例えば、地図データ６１２は、道路、車線、標識（例えば、止れ標識、譲れ標識など）、信号機、障害物、建物、歩道、通路、人道、障壁などの場所、位置、向き、長さ、幅、距離、レイアウトなどを示すことができる。
【００５６】
一実施形態では、地図部材６１０は、ＡＤＶ１０１のセット（例えば、一つまたは複数のＡＤＶ１０１）からレポートメッセージのセット（例えば、一つまたは複数のメッセージ）を受信することができる。レポートメッセージのセットは、ＡＤＶ１０１が環境において検出した交通制御装置の第１のセットを示したり、識別したりすることができる。例えば、レポートメッセージのセットは、ＡＤＶ１０１のセットが検出した交通制御装置のタイプ（例えば、道路上の標識、照明、ペイントマーキングなど）および/または位置を示すことができる。
【００５７】
一実施形態では、ＡＤＶ１０１から受信した（例えば、センサ部材４１１から受信した）レポートメッセージのセットはさらに、センサデータも含み得る。例えば、レポートメッセージのセットは、カメラによって取得および/または生成された画像データおよび/またはビデオデータを含み得る。別の例では、レポートメッセージのセットは、レーダユニットによって取得および/または生成されたレーダデータを含み得る。別の例では、レポートメッセージのセットは、ＬＩＤＡＲユニットによって生成されたＬＩＤＡＲデータを含み得る。さらに別の例では、レポートメッセージのセットは、ＧＰＳユニットによって生成されたＧＰＳデータを含み得る。
【００５８】
一実施形態では、レポートメッセージのセットは、ＡＤＶ１０１が環境（例えば、図５に示される環境５０５）において検出したすべての交通制御装置を示すことができる。例えば、センサ部材４１１は、ＡＤＶ１０１のセンサシステム１１５によって検出された標識、車線マーキング、ライトなどのすべてを示せるレポートメッセージのセットを送信することができる。別の実施形態では、レポートメッセージのセットは、ＡＤＶ１０１の地図データで示される交通制御装置と一致しない一つまたは複数の交通制御装置（環境内でＡＤＶ１０１によって検出される）を示すことができる。例えば、ＡＤＶ１０１は、環境（例えば、地理的エリア／場所）における交通制御装置のタイプおよび／または位置を示すことができる地図データ（例えば、既存の地図データ、ダウンロードされた地図データなど）を有し得る。ＡＤＶ１０１のセンサシステム１１５（例えば、一つまたは複数のセンサ）は、環境内の第１交通制御装置を検出することができる。ＡＤＶ１０１のセンサ部材４１１は、地図データに示されていない第１交通制御装置が検出されたと判断することができる。センサ部材４１１はネットワーク１０２を介して、第１交通制御装置のタイプおよび／または位置を示す一つまたは複数のレポートメッセージをサーバ１０４に送信することができる。
【００５９】
一実施形態では、（サーバ１０４の）地図部材６１０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判断することができる。例えば、地図部材６１０は、レポートメッセージによって示された交通制御装置のタイプおよび／または位置を特定することができる。地図部材６１０は、レポートメッセージによって示された交通制御装置のタイプおよび／または位置を、地図データ６１２によって示された交通制御装置のタイプおよび／または位置と比較して、相違があるかどうかを判断することができる。別の例では、レポートメッセージは、地図データ６１２と一致しない一つまたは複数の交通制御装置を示すことができる。
【００６０】
一実施形態では、地図部材６１０は、一つまたは複数の基準、パラメータ、条件に基づいて、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうかを判断することができる。一つの基準、条件、パラメータなどは、閾値台数のＡＤＶ１０１および/または車両が環境に関するレポートメッセージを送信したかどうかであり得る。例えば、地図部材６１０は、少なくとも５、少なくとも１０、または他の適切な台数のＡＤＶ１０１および／または車両が環境内の交通制御装置の変化を示すレポートメッセージを送信したかどうかを判断することができる。少なくとも閾値台数のＡＤＶ１０１および/または車両が環境内の交通制御装置の変化を示すレポートメッセージを送信した場合、地図部材６１０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違が存在すると判断することができる。
【００６１】
一実施形態では、別の基準、条件、パラメータなどは、閾値通数の環境に関するレポートメッセージが受信されたかどうかであり得る。例えば、地図部材６１０は、環境内の交通制御装置の変化を示す少なくとも５、少なくとも１０、または他の適切な通数のレポートメッセージが受信されたかどうかを判断することができる。少なくとも閾値通数のレポートメッセージが受信された場合、地図部材６１０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違が存在すると判断することができる。
【００６２】
一実施形態では、別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および／または生成した時間であり得る。例えば、ＡＤＶのセンサシステム１１５は、夜間または環境内の日光が少ない他の時間帯は信頼できない場合がある。例えば、カメラは夜間に鮮明な画像やビデオをキャプチャできない場合がある。地図部材６１０は、レポートメッセージ（例えば、一つまたは複数のレポートメッセージ）のセットが受信される時間のセット（例えば、一つまたは複数の時間）を判断することができる。地図部材６１０は、夜間に受信したメッセージに対して低いウェイト（例えば、ウェイト値、スケール因子など）を割り当てて、日中（または環境に日光がより多い他の時間）に受信したレポートメッセージに対して高いウェイトを割り当てることができる。
【００６３】
一実施形態では、別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および／または生成したときの環境内の気象条件であり得る。例えば、環境内の気象条件によっては、ＡＤＶのセンサシステム１１５は信頼できない場合がある。例えば、濃い霧がある場合、ＡＤＶ１０１のカメラは鮮明な画像やビデオをキャプチャできない場合がある。別の例では、ＬＩＤＡＲユニットは雨の中で効果的に動作できない場合がある。レポートメッセージのセット（例えば、一つまたは複数のレポートメッセージ）が受信されたときに、地図部材６１０は環境内の気象条件を判断することができる。地図部材６１０は、特定の気象条件（例えば、雨、霧、雲などの悪天候）で受信したメッセージに対して低いウェイト（例えば、ウェイト値、スケール因子など）を割り当てて、良い気象条件（日光など）で受信したレポートメッセージに対して高いウェイトを割り当てることができる。
【００６４】
一実施形態では、別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および／または生成したときの環境内の交通条件であり得る。例えば、環境内において多くのトラフィックがある場合（例えば、環境内に多くのＡＤＶ１０１および／または他の車両がある場合）、ＡＤＶのセンサシステム１１５は信頼できない場合がある。例えば、環境には大量のトラフィックがあり、他のＡＤＶおよび/または車両は、カメラが画像および/またはビデオを適切にキャプチャするのを妨げる可能性がある（例えば、交通制御装置が他の車両によって遮られる可能性がある）。レポートメッセージのセット（例えば、一つまたは複数のレポートメッセージ）が受信されたときに、地図部材６１０は、環境内の交通状況を判断することができる。地図部材６１０は混雑した交通状況（例えば、トラフィックが多い場合）の間で受信したメッセージに対して低いウェイト（例えば、ウェイト値、スケール因子など）を割り当てて、それほど混雑していないまたは良好な交通状況（例えば、トラフィックが少ない場合）の間で受信したレポートメッセージに対して高いウェイトを割り当てることができる。
【００６５】
一実施形態では、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データ６１２によって示された交通制御装置の第２セットとの間に一つまたは複数の相違があるという判断に対応して、地図部材６１０は、更新された地図データを生成することができる。例えば、地図部材６１０は、地図データ６１２を更新して、一つまたは複数の交通制御装置を地図データ６１２に追加することができる。更新された地図データ６１２は、環境に新設された一つまたは複数の交通制御装置（例えば、以前にその地理的領域／場所に位置していなかった一つまたは複数の交通制御装置）のタイプ（例えば、標識のタイプ、車線表示のタイプ、ライトのタイプなど）および/または位置（例えば、ＧＰＳ座標など）を示すことができる。別の例では、地図部材６１０は、地図データ６１２を更新して、地図データ６１２から一つまたは複数の交通制御装置を削除することができる。更新された地図データ６１２は、環境から除去された一つまたは複数の交通制御装置（例えば、地理的エリア／場所から除去された一つまたは複数の交通制御装置）の表示を削除または除去することができる。別の例では、地図部材６１０は、地図データ６１２を更新して、一つまたは複数の交通制御装置の一つまたは複数の新しい位置を示すことができる。例えば、標識（例えば、交通制御装置）は、道路の片側から反対側に移動した可能性がある。別の例では、地面に描かれた矢印（例えば、左折矢印）は特定の距離だけ移動し、以前よりも交差点寄りになった可能性がある。
【００６６】
一実施形態では、地図部材６１０によって生成された更新された地図データ６１２は、一つまたは複数の交通制御装置が一時的なものであることを示すことができる。例えば、道路は、工事、保守などのために一定期間閉鎖される場合がある。工事/保守作業では、一時的な道路標識（例えば、一時的な交通制御装置など）を設置して、道路の一部または全部が一時的に閉鎖され得ることを示す場合がある。一時的な道路標識はさらに、使用され得る一つまたは複数の迂回路（例えば、代替道路など）を示す場合もある。更新された地図データ６１２は、一時的な道路標識の位置を示すことができる。更新された地図データ６１２はまた、一時的な道路標識が環境（例えば、地理的エリア／場所）に存在し得る期間を示すことができる。例えば、更新された地図データ６１２は、一つまたは複数の一時的な交通制御装置が２日間、１週間、または他の何らかの適切な期間に亘って環境に配備または設置され得ることを示すことができる。
【００６７】
一実施形態では、更新された地図データ６１２は、環境（例えば、地理的エリア／場所）における一つまたは複数の交通制御装置が変化し得ることを示すことができる。例えば、更新された地図データ６１２は、ＡＤＶ１０１および／または他の車両が環境内の一つまたは複数の交通制御装置の可能な変化を検出したことを示すことができる。しかしながら、地図部材６１０は、一つまたは複数の交通制御装置の可能な変化を判断することができない場合がある。例えば、地図部材６１０は、環境内の交通制御装置が変化したことを示したＡＤＶ１０１および／または車両の台数が十分でないと判断する場合がある。別の例では、地図部材６１０は、センサデータに基づいて、一つまたは複数の交通制御装置がどのように変化したかを判断できない場合がある。
【００６８】
一実施形態では、地図部材６１０は、異なる期間ごとに更新された地図データ６１２を生成することができる。例えば、地図部材６１０は、地図データ６１２を更新する必要があるかどうかを定期的に判定し、更新された地図データを生成することができる（例えば、５分ごと、２時間ごと、毎日、または他の適切な期間ごとに更新するかどうかおよび/または更新された地図データを生成するかどうかを判定することができる）。別の例では、地図部材６１０は、環境内の交通制御装置が変化したと地図部材６１０が判断したときに、更新された地図データ６１２を生成することができる。
【００６９】
一実施形態では、地図部材６１０は、センサデータに基づいて様々な技術、方法、アルゴリズム、操作などにより、更新された地図データを生成することができる。例えば、地図部材６１０は、ビデオ／画像データに基づいて、画像またはビデオ処理／分析技術またはアルゴリズムを使用して、環境内の一つまたは複数の交通制御装置を識別することができる。別の例では、地図部材６１０は、レーダおよび／またはＬＩＤＡＲデータに基づいて、様々なオブジェクト検出技術またはアルゴリズムを使用して、環境内の一つまたは複数の交通制御装置を識別することができる。別の例では、地図部材６１０は、ＧＰＳデータ（例えば、ＧＰＳ座標）を使用して、環境内の一つまたは複数の交通制御装置の位置を識別することができる。説明した例、実現方式、および/または実施形態は、さまざまなタイプのセンサデータおよび/またはさまざまな機能、技術、方法、アルゴリズム、操作などにより、地図データを生成することができる。例えば、地図部材６１０は、機械学習、人工知能、統計モデル、ニューラルネットワーク、クラスタリング技術などを使用することができる。
【００７０】
別の実施形態では、地図部材６１０は、ユーザ入力を受信し、かつユーザ入力に基づいて更新された地図データを生成することができる。例えば、地図部材６１０は、レポートメッセージおよび／またはセンサデータをユーザ（例えば、管理者）に提供することができる。ユーザはレポートメッセージやセンサデータを確認し、環境内の交通制御装置が変化したかどうか、変化した場合どのように変化したかを示す入力を行うことができる。例えば、ユーザ入力は、交通制御装置がとある場所に新設されたことを示すことができる。別の例では、ユーザ入力は、交通制御装置がとある場所から除去されたことを示すことができる。地図部材６１０は、ユーザ入力に基づいて地図データを更新することができる。
【００７１】
一実施形態では、地図部材６１０は、更新された地図データをＡＤＶ１０１に送信することができる。例えば、一つまたは複数の交通制御装置が環境内で変化した（例えば、一つまたは複数の交通制御装置が新設、除去、移動などされた）と判断した後、地図部材６１０は、更新された地図データ６１２を生成し、かつ更新された地図データ６１２をＡＤＶ１０１に送信することができる。
【００７２】
一実施形態では、地図部材６１０は、レポートメッセージおよび／またはセンサデータに基づいて、ＡＤＶ１０１のセンサ部材４１１に問題、エラー、トラブルなどがあるかどうかを判断することができる。例えば、特定のＡＤＶ１０１は環境内の場所で新しい交通制御装置が検出されたと報告している場合、地図部材６１０は、他のＡＤＶ１０１も新しい交通制御装置を報告しているかどうかを判断することができる。閾値未満のＡＤＶ１０１が新しい交通制御装置を報告している場合、地図部材６１０は、センサ部材４１１にエラーがあると判断することができる。例えば、地図部材６１０は、センサ部材４１１のニューラルネットワーク、機械学習システム、画像処理システムなどを更新すべきであると判断することができる。例えば、地図部材６１０は、ＡＤＶ１０１がニューラルネットワークのより新しいバージョンをインストールし、更新されたニューラルネットワークを使用して画像を処理すべきであることをＡＤＶ１０１に示すことができる。
【００７３】
説明されたように、ＡＤＶ１０１（および/または他の車両）は、ＡＤＶ１０１が環境（例えば、場所/エリア）内の交通制御装置の一つまたは複数の変化を検出したことを示すために、レポートメッセージ（例えば、メッセージ、レポート、アラートなど）および/またはセンサデータをサーバ１０４に送信することは、有用かもしれない。ＡＤＶ１０１および／または他の車両は以前に環境を移動したことがあり、および／または現在その環境にある可能性があるため、ＡＤＶ１０１および／または他の車両は環境内の交通制御装置の変化に関するより最近の情報を有し得る。これにより、サーバ１０４は、環境内の交通制御装置が変化したかどうかをより迅速かつ効率的に判断できるようになる。これにより、サーバ１０４は、（環境内の交通制御装置の変化を反映する）更新された地図データをより迅速かつ効率的に生成し、かつ更新された地図データをＡＤＶ１０１に送信することができる。
【００７４】
図７は、いくつかの実施形態による例示的な地図部材６１０を示す図である。地図部材６１０は、ハードウェア（例えば、処理装置、ＡＳＩＣ、ＦＰＧＡ、回路など）、ソフトウェア（例えば、アプリケーション、ニューラルネットワーク、機械学習アプリケーションなど）、ファームウェア、またはそれらの組み合わせであり得る。地図部材６１０は、センサデータ部材７２０、検出部材７３０、および更新部材７４０を含む。センサデータ部材７２０、検出部材７３０、および更新部材７４０のそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせを含み得る。
【００７５】
一実施形態では、センサデータ部材７２０は、ＡＤＶのセットからレポートメッセージのセットを受信することができる。レポートメッセージのセットは、ＡＤＶのセットによって環境内で検出された交通制御装置の第１セットを示したり、識別したりすることができる。ＡＤＶから受信したレポートメッセージのセットはさらに、センサデータ（例えば、ビデオデータ、画像データ、レーダデータ、ＬＩＤＡＲデータなど）を含み得る。
【００７６】
一実施形態では、検出部材７３０は、環境内の一つまたは複数の交通制御装置が変化したかどうかを検出することができる。例えば、検出部材７３０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データ（例えば、図６に示される地図データ６１２）によって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうかを判断することができる。
【００７７】
一実施形態では、検出部材７３０は、一つまたは複数の基準、パラメータ、条件に基づいて、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データによって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうかを判定することができる。一つの基準、条件、パラメータなどは、閾値台数のＡＤＶおよび/または車両が環境に関するレポートメッセージを送信したかどうかであり得る。別の基準、条件、パラメータなどは、閾値通数の環境に関するレポートメッセージを受信したかどうかであり得る。もう一つの別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成した時間であり得る。さらなる別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成したときの環境内の気象条件であり得る。更に別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および/または生成したときの環境内の交通条件であり得る。
【００７８】
一実施形態では、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データによって示された交通制御装置の第２セットとの間に一つまたは複数の相違が存在するという判断に応じて、更新部材７４０は、更新された地図データを生成することができる。例えば、更新部材７４０は、地図データを更新して、地図に示される一つまたは複数の交通制御装置の位置を追加、削除、および／または変更することができる。一実施形態では、更新部材７４０によって生成された更新された地図データは、一つまたは複数の交通制御装置が一時的なものであり得ることを示すことができる。別の実施形態では、更新部材７４０は、異なる期間ごとに更新された地図データ６１２を生成することができる。一実施形態では、更新部材７４０は、センサデータに基づいて、様々な技術、方法、アルゴリズム、操作などにより、更新された地図データを生成することができる。例えば、更新部材７４０は、画像またはビデオ処理／分析技術またはアルゴリズム、オブジェクト検出技術またはアルゴリズム、機械学習、人工知能、統計モデル、ニューラルネットワーク、クラスタリング技術などを使用することができる。
【００７９】
図８は、いくつかの実施形態による自動運転車両の経路を確定するためのプロセスの一例を示すフローチャートである。プロセス８００は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行されることができる。また、プロセス８００は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、プロセッサ、処理装置、中央処理装置（ＣＰＵ）、システムオンチップ（ＳｏＣ）など）、ソフトウェア（例えば、処理装置で稼動/実行される命令）、ファームウェア（例えば、マイクロコード）、またはそれらの組み合わせを含み得る処理ロジックによって実行されることができる。いくつかの実施形態では、プロセス８００は、図１、図６、および図７に示されるサーバコンピュータ１０４、地図部材６１０、センサ部材７２０、検出部材７３０、および更新部材のうちの一つまたは複数によって実行されることができる。
【００８０】
プロセス８００はブロック８０５から始まる。ブロック８０５において、プロセス８００は、ＡＤＶのセットからレポートメッセージのセットを受信することができる。上記のように、レポートメッセージのセットは、ＡＤＶのセットによって環境内で検出された交通制御装置の第１セットを示したり、識別したりすることができる。ＡＤＶから受信したレポートメッセージのセットはさらに、センサデータ（ビデオデータ、画像データ、レーダデータ、ＬＩＤＡＲデータなど）を含み得る。別の実施形態では、センサデータは、レポートメッセージとは別に受信されることができる。
【００８１】
ブロック８１０において、プロセス８００は、環境内の一つまたは複数の交通制御装置が変化したかどうかを判断することができる。例えば、プロセス８００は、レポートメッセージが、地図データに示されていない交通制御装置の存在を示しているかどうかを判断することができる。別の例では、プロセス８００は、センサデータを分析して、地図データに示されていない交通制御装置を識別することができる。プロセス８００は、一つまたは複数の基準、パラメータ、条件に基づいて、環境内の一つまたは複数の交通制御装置が変化したかどうか（例えば、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データによって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうか）を判断することができる。一つの基準、条件、パラメータなどは、閾値台数のＡＤＶおよび/または車両が環境に関するレポートメッセージを送信したかどうかであり得る。別の基準、条件、パラメータなどは、閾値通数の環境に関するレポートメッセージを受信したかどうかであり得る。また別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成した時間であり得る。さらに別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成したときの環境内の気象条件であり得る。さらなる別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成したときの環境内の交通条件であり得る。
【００８２】
環境（例えば、地理的エリア/場所）の一つまたは複数の交通制御装置が変化していない場合、プロセス８００は終了する。環境内の一つまたは複数の交通制御装置が変化した場合、プロセス８００は、ブロック８１５において、センサデータを処理することができる。例えば、プロセス８００は、画像データ、レーダデータ、ＬＩＤＡＲデータ、ＧＰＳデータなどを分析して、新設、除去、または異なる場所に移動された交通制御装置を識別することができる。ブロック８２０において、プロセス８００は、センサデータに基づいて、更新された地図データを生成する。例えば、プロセス８００は、センサデータに基づいて交通制御装置とその位置（例えばＧＰＳ座標）を識別することができる。ブロック８２５において、プロセス８００は、更新された地図データを一つまたは複数のＡＤＶに送信することができる。
【００８３】
上記に示され説明された構成要素の一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施できることに留意されたい。例えば、かかる構成要素は、永続性記憶装置にインストールおよび格納されたソフトウェアとして実施することができる。このソフトウェアは、プロセッサ（図示せず）によってメモリにロードされ、メモリによって実行されることにより、本願に記載するプロセスや操作全体を実施することができる。あるいは、そのような構成要素は、集積回路（例えば、特定用途向け集積回路またはＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの専用ハードウェアにプログラミングされまたは埋め込まれる実行可能コードとして実施することができる。この実行可能コードは、アプリケーションによるそれ相応のドライバーおよび／またはオペレーティングシステムを介してアクセスすることができる。さらに、そのような構成要素は、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして、一つまたは複数の特定の命令を介してソフトウェア部材からアクセスできる命令セットの一部となり得る。
【００８４】
図９は、本開示の一実施形態とともに使用できるデータ処理システムの例を示すブロック図である。例えば、システム１５００は、上述のプロセスまたは方法のいずれかを実行する上述のデータ処理システムのいずれか（例えば、地図部材６１０または図１のサーバ１０３〜１０４のいずれか）を表すことができる。システム１５００は、さまざまな構成要素を含み得る。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、ディスクリート電子デバイス、または回路基板（例えば、コンピュータシステムのマザーボードやアドインカード）での使用に適した他のモジュール、またはコンピュータシステムのシャーシ内に組み込まれている構成要素として実施することができる。
【００８５】
システム１５００は、コンピュータシステムの多くの構成要素の高レベルビューを示すことを意図していることにも留意されたい。ただし、特定の実施例は、追加の構成要素を有してもよく、さらに、他の実施例は、示された構成要素の異なるレイアウトを有してもよいことを理解されたい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲーミングデバイス、ネットワークルーターもしくはハブ、ワイヤレスアクセスポイント（ＡＰ）もしくはリピーター、セットトップボックス、またはそれらの組み合わせを表すことができる。さらに、単一の機械またはシステムのみが示されているが、「機械」または「システム」という用語は、単独でまたは共同して一つ（または複数）の命令セットを実行して、ここで説明される一つまたは複数の方法を実行する機械またはシステムの任意の組み合わせも含まれると解釈されるべきである。
【００８６】
一実施形態では、システム１５００は、バスまたはインターコネクト１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３、およびデバイス１５０５〜１５０８を含む。プロセッサ１５０１は、単一のプロセッサコアまたは複数のプロセッサコアを含む単一のプロセッサまたは複数のプロセッサを表し得る。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）など、一つまたは複数の汎用プロセッサを表し得る。より詳しくは、プロセッサ１５０１は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、または他の命令セットを実施するプロセッサ、または命令セットの組み合わせを実施するプロセッサであり得る。プロセッサ１５０１は、特定用途向け集積回路（ＡＳＩＣ）、セルラーもしくはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組み込みプロセッサ、または命令を処理できる他のタイプのロジックなど、一つまたは複数の専用プロセッサであり得る。
【００８７】
プロセッサ１５０１（超低電圧プロセッサなど、低電力マルチコアプロセッサソケットであり得る）は、システムのさまざまな構成要素と通信するための主処理ユニットおよび中央ハブとして機能し得る。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実施することができる。プロセッサ１５０１は、本明細書で説明される動作およびステップを実行するための命令を実行するように構成される。システム１５００は、表示コントローラ、グラフィックプロセッサ、および／または表示装置を含み得るオプションのグラフィックサブシステム１５０４と通信するグラフィカルインターフェースをさらに含み得る。
【００８８】
プロセッサ１５０１は、メモリ１５０３と通信することができる。一実施形態では、メモリ１５０３は、所定の量のシステムメモリを提供するために複数のメモリ装置を介して実施することができる。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、または他のタイプの記憶装置など、一つまたは複数の揮発性記憶（またはメモリ）装置を含み得る。メモリ１５０３は、プロセッサ１５０１または任意の他の装置によって実行される一連の命令を含む情報を格納することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、基本入出力システムまたはＢＩＯＳ）、および／またはアプリケーションの実行可能コードおよび／またはデータは、メモリ１５０３にロードされ、プロセッサ１５０１によって実行され得る。オペレーティングシステムは、ロボットオペレーティングシステム（ＲОＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭａｃＯＳ（登録商標）/ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ、ＵＮＩＸ、またはその他のリアルタイムまたは組み込みオペレーティングシステムなど、任意のタイプのオペレーティングシステムであり得る。
【００８９】
システム１５００はさらに、ネットワークインターフェースデバイス１５０５、オプションの入力デバイス１５０６、および他のオプションのＩ／Ｏデバイス１５０７を含むデバイス１５０５〜１５０８などのＩ／Ｏデバイスを含み得る。ネットワークインターフェースデバイス１５０５は、無線送受信機および／またはネットワークインターフェースカード（ＮＩＣ）を含み得る。この無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線携帯電話送受信機、衛星送受信機（全地球測位システム（ＧＰＳ）送受信機）、もしくはその他の無線周波数（ＲＦ）送受信機またはそれらの組み合わせであり得る。ＮＩＣはイーサネットカードであり得る。
【００９０】
入力デバイス１５０６は、マウス、タッチパッド、タッチスクリーン（表示装置１５０４と統合することができる）、ポインターデバイス（例えば、スタイラス）、および／またはキーボード（例えば、物理キーボードまたはタッチスクリーンの一部として表示される仮想キーボード）を含み得る。例えば、入力デバイス１５０６は、タッチスクリーンに接続されたタッチスクリーンコントローラを含み得る。タッチスクリーンおよびタッチスクリーンコントローラは、例えば、さまざまなタッチセンシティブテクノロジー（コンデンサ、抵抗、赤外線および表面弾性波技術を含むがこれらに限定されない）のいずれか、並びに、その他の近接センサアレイまたはタッチスクリーンと接触する一つまたは複数の点を判断するための他の素子を使用して、それらの接触、移動または中断を検出することができる。
【００９１】
Ｉ／Ｏデバイス１５０７は、音声装置を含み得る。音声装置は、音声認識、音声複製、デジタル録音、および/または電話機能などの音声対応機能を容易にするために、スピーカおよび/またはマイクロホンを含み得る。他のＩ／Ｏデバイス１５０７はさらに、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなどのモーションセンサ）、またはそれらの組み合わせを含み得る。デバイス１５０７はさらに、結像処理サブシステム（例えば、カメラ）を含み得る。この結像処理サブシステムは、電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光学センサなど、カメラ機能（例えば、写真およびビデオセグメントの記録）を促進するための光学センサを含み得る。一部のセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されることができるが、キーボードやサーマルセンサなどの他のデバイスは、システム１５００の特定の構成または設計に応じて、組み込みコントローラー（図示せず）によって制御されることができる。
【００９２】
データ、アプリケーション、一つまたは複数のオペレーティングシステムなどの情報の永続性記憶を実現するために、大容量記憶装置（図示せず）もプロセッサ１５０１に接続され得る。様々な実施形態においては、より薄くてより軽量なシステム設計を実現しながら、システムの応答性を改善するために、かかる大容量記憶装置はソリッドステートデバイス（ＳＳＤ）を介して実施することができる。ただし、別の実施形態では、大容量記憶装置は主にハードディスクドライブ（ＨＤＤ）を使用して実施できる。ここでは、より小さい容量のＳＳＤ記憶装置がＳＳＤのキャッシュとして機能し、停電イベント期間中のコンテキスト状態および他のかかる情報の不揮発性記憶を実現する。これにより、システムアクティビティが再開するときに通電を速く実現することができる。加えて、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続され得る。かかるフラッシュデバイスは、システムのＢＩＯＳや他のファームウェアを含むシステムソフトウェアの不揮発性記憶を実現することができる。
【００９３】
記憶デバイス１５０８は、本明細書で説明される方法または機能のいずれか一つまたは複数を具現化する一つまたは複数の命令セットまたはソフトウェア（例えば、モジュール、ユニット、および／またはロジック１５２８）が格納されるコンピュータアクセス可能記憶媒体１５０９（「機械可読記憶媒体」または「コンピュータ可読媒体」とも呼ばれる）を含み得る。処理モジュール/ユニット/ロジック１５２８は、上記構成要素（例えば、地図部材６１０、センサ部材４１１など）のいずれかを表し得る。処理モジュール/ユニット/ロジック１５２８はさらに、データ処理システム１５００、メモリ１５０３およびプロセッサ１５０１によって実行される期間中に、完全にまたは少なくとも部分的にメモリ１５０３内および/またはプロセッサ１５０１内に存在し得る。データ処理システム１５００、メモリ１５０３およびプロセッサ１５０１はまた、機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック１５２８はさらに、ネットワークを通じて、ネットワークインターフェースデバイス１５０５を介して送信または受信することができる。
【００９４】
コンピュータ可読記憶媒体１５０９を使用して、上記のソフトウェア機能の一部を永続的に保存することもできる。例示的な実施形態では、コンピュータ可読記憶媒体１５０９は単一の媒体として示されているが、「コンピュータ可読記憶媒体」という用語は、一つまたは複数の命令セットを格納する単一の媒体または複数の媒体（例えば、集中型または分散型データベースおよび/または関連するキャッシュとサーバ）を含むものとする。「コンピュータ可読記憶媒体」という用語はまた、機械によって実行され、この機械に本開示の方法のいずれか一つまたは複数を実行させる命令セットを格納または符号化することができる任意の媒体を含むものとする。したがって、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学および磁気媒体、またはその他の非一時的機械可読媒体を含むが、これらに限定されないものとする。
【００９５】
本明細書で説明された処理モジュール/ユニット/ロジック１５２８、構成要素、および他の特徴は、ディスクリートハードウェア構成要素として実施するか、またはＡＳＩＣ、ＦＰＧＡ、ＤＳＰ、もしくは同様のデバイスなどのハードウェア部材の機能に統合することができる。また、処理モジュール/ユニット/ロジック１５２８は、ハードウェアデバイス内のファームウェアまたは機能性回路として実施することができる。さらに、処理モジュール/ユニット/ロジック１５２８は、ハードウェアデバイスとソフトウェア部材の任意の組み合わせで実施することができる。
【００９６】
システム１５００は、データ処理システムの様々な構成要素を有するように示されているが、構成要素を相互接続する任意の特定のアーキテクチャまたは方法を表すことを意図していないことに留意されたい。というのは、そのような詳細は、本開示の実施形態とは密接な関係がないからである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、および/または他のデータ処理システムは、本開示の実施形態とともに使用できることを理解されたい。
【００９７】
前述の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現の観点から提示されている。これらのアルゴリズムの説明と表現は、データ処理の分野の当業者がそれらの作業実質を所属分野の他の当業者に最も効果的に伝達するために使用する方法である。ここでは、アルゴリズムは、一般的に、望ましい結果を導く一貫した操作のシーケンスであると考えられる。これらの操作とは、物理量の物理的処置が必要とされるものである。
【００９８】
ただし、これらの用語および類似の用語はすべて適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎないことに留意されたい。上記の説明において他の形で明記しない限り、本明細書全体において、用語（例えば、添付の特許請求の範囲に記載されている用語）による説明とは、コンピュータシステムまたは類似の電子式計算装置の動作および処理を指し、かかるコンピュータシステムまたは電子式計算装置は、コンピュータシステムのレジスタおよびメモリ内の物理（電子）量として表されるデータを制御するとともに前記データをコンピュータシステムメモリもしくはレジスタまたは他のこのような情報記憶装置、伝送もしくは表示装置内の同様に物理量として表される他のデータに変換する。
【００９９】
本開示の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に保存される。機械可読媒体は、機械（例えば、コンピュータ）によって読み取り可能な形式で情報を保存するための任意のメカニズムを含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス）を含み得る。
【０１００】
前の図に示されているプロセスまたは方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的コンピュータ可読媒体で具体化されるもの）、またはそれらの組み合わせを含む処理ロジックによって実行されることができる。プロセスまたは方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行できることを理解されたい。さらに、一部の動作は、順番ではなく並行して実行されることができる。
【０１０１】
本開示の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。本明細書で説明される本開示の実施形態の教示を実施するために、様々なプログラミング言語を使用できることを理解されたい。
【０１０２】
上記の明細書において、本開示の実施形態は、その特定の例示的な実施形態を参照しながら説明されてきた。添付の特許請求の範囲に記載された本開示のより広い精神および範囲から逸脱することなく、それに様々な変更を加えることができることは明らかであろう。したがって、本明細書と図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
【図１】
2020095250.tif 000003
【図２】
2020095250.tif 000004
【図３Ａ】
2020095250.tif 000005
【図３Ｂ】
2020095250.tif 000006
【図４Ａ】
2020095250.tif 000007
【図４Ｂ】
2020095250.tif 000008
【図５】
2020095250.tif 000009
【図６】
2020095250.tif 000010
【図７】
2020095250.tif 000011
【図８】
2020095250.tif 000012
【図９】
2020095250.tif 000013
【手続補正書】
【提出日】令和1年12月18日(2019.12.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は主に自動運転車両の動作に関し、更に詳しくは、自動運転車両（ＡＤＶ）の地図データの更新に関する。
【背景技術】
【０００２】
自律走行モード（例えば、無人運転）で走行する車両は、乗員、特に運転手を運転関連の作業から解放することができる。自律走行モードで運行している場合、車両は車両センサを使用して、任意の場所までナビゲートされることが可能である。そのため、車両は、ヒューマンインタラクションが最も少ない場合、又は乗員がいない場合などに車両を走行させることが可能となる。
【０００３】
動作の計画と制御は、自律走行における重要な操作である。特に、軌跡計画は自律走行システムにおける重要な要素である。従来の軌跡計画技術は、安定した軌跡を生成するために、自動運転車両の案内経路（例えば、道路の中心線）である高品質の基準線に大きく依存している。そのような情報は、地図から取得できる。
【０００４】
自律走行システムのカメラベースの検知スキームは、車線、信号機、交通標識などのいくつかのリアルタイムの地図情報を検出する。これらのリアルタイムの地図情報は、高解像度（ＨＤ）地図と比較して、最新の地図情報を反映できる。例えば、ＨＤ地図に存在しない、新設された横断歩道を、感知によって検出することができる。ただし、このような地図情報はリアルタイムで計算されたものであるため、精度が高解像度地図に及ばない。
【発明の概要】
【０００５】
本開示の一態様によれば、自動運転車両に対して地図データを生成するためのコンピュータ実施方法であって、自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、更新された地図データを前記自動運転車両のセットまで送信するステップと、を備えるコンピュータ実施方法が提供される。
【０００６】
本開示のもう一つの態様によれば、命令が格納されている非一時的機械可読媒体であって、前記命令はプロセッサによって実行されると、前記プロセッサに操作を実行させ、前記操作は、自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、更新された地図データを前記自動運転車両のセットまで送信するステップと、を備える非一時的機械可読媒体が提供される。
【０００７】
本開示の更なる一態様によれば、プロセッサと前記プロセッサに接続して命令を格納するメモリとを備えるデータ処理システムであって、前記命令は前記プロセッサによって実行される際に前記プロセッサに操作を実行させ、前記操作は、自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、更新された地図データを前記自動運転車両のセットまで送信するステップと、を備えるデータ処理システムが提供される。
【図面の簡単な説明】
【０００８】
本開示の実施形態は実施例で示されるが、添付される図面に限定されない。なお、図面中、同一要素には同一符号を付すこととする。
【図１】いくつかの実施形態によるネットワークシステムを示すブロック図である。
【図２】いくつかの実施形態による自動運転車両の一例を示すブロック図である。
【図３Ａ】いくつかの実施形態による自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図３Ｂ】いくつかの実施形態による自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図４Ａ】いくつかの実施形態による感知モジュールの一例を示すブロック図である。
【図４Ｂ】いくつかの実施形態による計画モジュールの一例を示すブロック図である。
【図５】自動運転車両（ＡＤＶ）が現在位置している、および／または以前に位置していた可能性がある環境の例示的な地図を示す図である。
【図６】いくつかの実施形態による例示的なシステムアーキテクチャを示す図である。
【図７】いくつかの実施形態による例示的な地図部材を示す図である。
【図８】いくつかの実施形態による地図データを生成するプロセスの一例を示すフローチャートである。
【図９】いくつかの実施形態によるデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下に説明される詳細を参照しながら本開示の様々な実施形態及び態様を説明し、添付図面には上記の各実施形態が示される。以下の説明および図面は、本開示を例示するものであり、本開示を限定するものとして解釈されてはならない。本開示の様々な実施形態への完全な理解に供するために複数の特定の詳細が記載されているが、本開示の実施形態をめぐる簡潔な説明に供するために周知または従来技術の詳細が記載されない場合もある。
【００１０】
本明細書における「一実施形態」または「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が本開示の少なくとも一つの実施形態に含まれ得ることを意味する。本明細書の様々な場所における「一実施形態では」という表現は、必ずしもすべてが同じ実施形態を指すとは限らない。
【００１１】
いくつかの実施形態によれば、環境内の交通制御装置の変化を検出するための新しい方法が利用され得る。ＡＤＶおよび/または他の車両は、環境内の一つまたは複数の交通制御装置が変化したことを示すレポートメッセージおよび/またはセンサデータ（例えば、クラウドソーシングレポートスキーム）を送信することができる。サーバは、レポートメッセージおよび/またはセンサデータを受信および/または処理することができる。別の実施形態によれば、環境の更新された地図データを生成するための新しい方法が利用され得る。サーバは、レポートメッセージおよび/またはセンサデータの一つまたは複数の基準、パラメータ、条件などが満たされているかどうかを判断することができる。一つまたは複数の基準、パラメータ、条件などが満たされた場合、サーバは更新された地図データを生成し、交通制御装置の変化（交通制御装置の新設、除去、別の場所への移動など）を表すことができる。本明細書で説明される実施形態、実施方式、例示などは、サーバが環境内の交通制御装置の変化をより迅速かつ効率的に検出できるようにする。本明細書で説明される実施形態、実施方式、例示などはさらに、サーバが環境内の交通制御装置の変化を反映するために更新された地図データを生成し、更新された地図データをＡＤＶに送信できるようにする。
【００１２】
図１は、本開示のいくつかの実施形態による自動運転車両のネットワーク構成を示すブロック図である。図１を参照すると、ネットワーク構成１００には、ネットワーク１０２を介して一つまたは複数のサーバ１０３〜１０４に通信可能に接続され得る自動運転車両１０１が含まれる。一台の自動運転車両しか示されていないが、複数の自動運転車両はネットワーク１０２を介して互いに接続および/または１０３〜１０４に接続されることができる。ネットワーク１０２は、有線または無線のローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク、またはそれらの組み合わせなど、任意のタイプのネットワークであり得る。サーバ１０３〜１０４は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組み合わせなど、任意のタイプのサーバまたはサーバクラスターであり得る。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図および関心地点（ＭＰＯＩ）サーバ、またはロケーションサーバなどであり得る。
【００１３】
自動運転車両とは、運転者からの入力がほとんどまたはまったくない状態で車両がナビゲートされて環境を通過する自律走行モードになるように構成できる車両を指す。そのような自動運転車両は、車両の走行環境に関連する情報を検出するように構成された一つまたは複数のセンサを有するセンサシステムを含み得る。前記車両とそれに関連するコントローラは、検出された情報によりナビゲートされて前記環境を通過する。自動運転車両１０１は、手動モード、全自律走行モード、または部分自律走行モードで走行することができる。
【００１４】
一実施形態では、自動運転車両１０１は、感知・計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインターフェースシステム１１３およびセンサシステム１１５を含むが、これらに限定されない。自動運転車両１０１１は、エンジン、車輪、ステアリングホイール、変速機などのような、一般車両に含まれる特定の共通構成要素も含み得る。車両制御システム１１１および/または感知・計画システム１１０は、加速信号またはコマンド、減速信号またはコマンド、ステアリング信号またはコマンド、ブレーキ信号またはコマンドなどのような様々な通信信号および/またはコマンドを通じて、前記構成要素を制御することができる。
【００１５】
構成要素１１０〜１１５は、インターコネクタ、バス、ネットワーク、またはそれらの組み合わせを介して互いに通信可能に接続されることができる。例えば、構成要素１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続されることができる。ＣＡＮバスは、マイクロコントローラーとデバイスがホストなしでアプリケーションにおいて互いに通信できるように設計された車両バス規格である。もともとは車内の多重化された電気配線用に設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用されている。
【００１６】
ここで図２を参照すると、一実施形態では、センサシステム１１５は、一つまたは複数のカメラ２１１、全地球測位システム（ＧＰＳ）ユニット２１２、慣性測定ユニット（ＩＭＵ）２１３、レーダユニット２１４、および光検出・測距（ＬＩＤＡＲ）ユニット２１５を含むが、これらに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含み得る。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置および向きの変化を感知することができる。レーダユニット２１４は、自動運転車両のローカル環境内のオブジェクトを検知するために無線信号を利用するシステムを表すことができる。一部の実施形態では、オブジェクトの検知に加えて、レーダユニット２１４は、オブジェクトの速度および／または進行方向をさらに検知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して、自動運転車両が位置する環境内のオブジェクトを感知することができる。他のシステム構成要素に加えて、ＬＩＤＡＲユニット２１５は、一つまたは複数のレーザー源、レーザースキャナー、および一つまたは複数の検出器も含み得る。カメラ２１１は、自動運転車両を取り巻く環境の画像を取得するための一つまたは複数の装置を含み得る。カメラ２１１は、スチルカメラおよび／またはビデオカメラであり得る。カメラは、例えば、回転および/または傾斜プラットフォームに取り付けられることにより、機械的に移動可能となり得る。
【００１７】
センサシステム１１５はさらに、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、および音声センサ（例えば、マイク）などの他のセンサも含み得る。音声センサは、自動運転車両を取り巻く環境から音を収集するように構成されることができる。ステアリングセンサは、ステアリングホイールの操舵角、車両の車輪の変向角度、またはそれらの組み合わせを感知するように構成されることができる。スロットルセンサとブレーキセンサは、それぞれ車両のスロットル位置とブレーキ位置を検出する。場合によっては、スロットルセンサとブレーキセンサを統合スロットル/ブレーキセンサとして統合することができる。
【００１８】
一実施形態では、車両制御システム１１１は、ステアリングユニット２０１、スロットルユニット２０２（「加速ユニット」とも呼ばれる）、およびブレーキユニット２０３を含むが、これらに限定されない。ステアリングユニット２０１は、車両の向きまたは進行方向を調整するために使用される。スロットルユニット２０２は、電気モータまたはエンジンの速度を制御するために使用され、これにより、車両の速度および加速度が制御される。ブレーキユニット２０３は、車両の車輪またはタイヤを減速させる摩擦を提供することにより車両を減速させる。図２に示される構成要素は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実施できることに留意されたい。
【００１９】
図１に戻ると、無線通信システム１１２は、自動運転車両１０１と、デバイス、センサ、他の車両などの外部システムとの間の通信を可能にする。例えば、無線通信システム１１２は、一つまたは複数の装置と直接無線通信することができ、またはネットワーク１０２を介して無線通信することができる。例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワークまたは無線ローカルエリアネットワーク（ＷＬＡＮ）（例えば、ＷｉＦｉ）を使用して別の構成要素またはシステムと通信することができる。無線通信システム１１２は、例えば、赤外線リンク、ブルートゥースなどを使用して、装置（例えば、乗員のモバイルデバイス、表示装置、車両１０１内のスピーカ）と直接通信することができる。ユーザインターフェースシステム１１３は、例えば、キーボード、タッチスクリーンディスプレイデバイス、マイクロホン、およびスピーカを含む、車両１０１内において実施された周辺機器の一部であり得る。
【００２０】
自動運転車両１０１の機能の一部または全部は、特に自律走行モードで動作している場合、感知・計画システム１１０によって制御または管理され得る。感知・計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）およびソフトウェア（例えば、オペレーティングシステム、計画およびルーティングプログラム）を含むことにより、センサシステム１１５、制御システム１１１、無線通信システム１１２、および／またはユーザインターフェースシステム１１３から情報を受信し、受信した情報を処理し、出発地から目的地までの経路またはルートを計画し、そして計画および制御情報に基づいて車両１０１を運転することができる。あるいは、感知・計画システム１１０と車両制御システム１１１を統合することもできる。
【００２１】
例えば、乗員としてのユーザは、例えばユーザインターフェイスを介して、旅程の出発地と目的地を指定することができる。感知・計画システム１１０は、旅程関連データを取得する。例えば、感知・計画システム１１０は、サーバ１０３〜１０４の一部であり得るＭＰＯＩサーバから位置およびルート情報を取得することができる。ロケーションサーバはロケーションサービスを提供し、ＭＰＯＩサーバは地図サービスと特定のロケーションのＰＯＩを提供する。あるいは、そのような位置およびＭＰＯＩ情報は、感知・計画システム１１０の永続性記憶装置にローカルキャッシュされることができる。
【００２２】
感知・計画システム１１０はまた、自動運転車両１０１がルートに沿って移動するときに、交通情報システムまたはサーバ（ＴＩＳ）からリアルタイムの交通情報を取得することもできる。サーバ１０３〜１０４は第三者機関によって操作され得ることに留意されたい。あるいは、サーバ１０３〜１０４の機能を感知・計画システム１１０に統合することができる。リアルタイムの交通情報、ＭＰＯＩ情報と位置情報、およびセンサシステム１１５によって検出または検知されたリアルタイムのローカル環境データ（障害物、オブジェクト、近くの車両など）に基づいて、感知・計画システム１１０は最適なルートを計画し、かつ計画された経路に従って、例えば制御システム１１１を介して車両１０１を運転して、指定された目的地に安全かつ効率的に到着することができる。
【００２３】
サーバ１０３は、様々なクライアントのためのデータ解析サービスを実行するデータ解析システムであり得る。一実施形態では、データ解析システム１０３は、データコレクタ１２１と機械学習エンジン１２２を含む。データコレクタ１２１は、様々な車両（自動運転車両または人間の運転手によって運転される一般車両）から運転統計データ１２３を収集する。運転統計データ１２３は、異なる時点で発行された運転コマンド（例えば、スロットルコマンド、ブレーキコマンド、制御コマンド）情報と、車両のセンサにより捕捉された車両の応答（例えば、速度、加速、減速、方向）情報を含む。運転統計データ１２３はさらに、例えば、ルート（出発地および目的地を含む）、ＭＰＯＩ、道路状態、気象状態などの異なる時点での運転環境を記述する情報も含み得る。
【００２４】
運転統計１２３に基づいて、機械学習エンジン１２２は、さまざまな目的のために、ルール、アルゴリズムおよび／またはモデル１２４のセットを生成または訓練する。例えば、運転統計データ１２３から取得できるハードウェアの特徴（センサ仕様や特定の車両設計など）に基づいて、制約のセットを定義することもできる。
【００２５】
図３Ａおよび３Ｂは、いくつかの実施形態による自動運転車両と共に使用するための感知・計画システムの一例を示すブロック図である。システム３００は、感知・計画システム１１０、制御システム１１１、およびセンサシステム１１５を含むがこれらに限定されない、図１の自動運転車両１０１の一部として実施することができる。図３Ａおよび図３Ｂを参照すると、感知・計画システム１１０は、測位モジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６、およびルーティングモジュール３０７を含むが、これらに限定されない。
【００２６】
モジュール３０１から３０７の一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施され得る。例えば、これらのモジュールは、永続性記憶装置３５２にインストールされ、メモリ３５１にロードされ、かつ一つまたは複数のプロセッサ（図示せず）によって実行され得る。これらのモジュールの一部または全部が、図２の車両制御システム１１１のモジュールの一部または全部に通信可能に接続または統合され得ることに留意されたい。モジュール３０１から３０７のいくつかは、統合モジュールとして一体に統合されることができる。
【００２７】
測位モジュール３０１は、（例えば、ＧＰＳユニット２１２を利用して）自動運転車両３００の現在の位置を確定し、ユーザの旅程またはルートに関連するすべてのデータを管理する。測位モジュール３０１（「地図およびルートモジュール」とも呼ばれる）は、ユーザの旅程またはルートに関連するすべてのデータを管理する。ユーザは、例えば、ユーザインターフェイスを介してログインし、旅程の出発地と目的地を指定することができる。測位モジュール３０１は、地図およびルート情報３１１などの自動運転車両３００の他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール３０１は、ロケーションサーバや地図およびＰＯＩ（ＭＰＯＩ）サーバからロケーションおよびルート情報を取得することができる。ロケーションサーバはロケーションサービスを提供し、ＭＰＯＩサーバは地図サービスと特定のロケーションのＰＯＩを提供するため、地図およびルート情報３１１の一部としてキャッシュされることができる。自動運転車両３００がルートに沿って移動するとき、測位モジュール３０１は、交通情報システムまたはサーバからリアルタイムの交通情報を取得することもできる。一実施形態では、地図およびルート情報３１１はあらかじめ永続性記憶装置３５２に格納されることができる。例えば、地図・ルート情報３１１はあらかじめ永続性記憶装置３５２にダウンロードまたはコピーされることができる。
【００２８】
センサシステム１１５によって提供されたセンサデータと、測位モジュール３０１によって取得された測位情報に基づいて、感知モジュール３０２は、周囲環境への感知を確定する。感知情報は、一般運転手ならば運転手が運転している車両の周りで何を感知するかを表すことができる。感知には、例えば、オブジェクトの形態の車線構成（例：直進車線または曲線車線）、信号機の信号、他の車両の相対位置、歩行者、建物、横断歩道、またはその他の交通関連標識（例えば、止まれ標識、ゆずれ標識）などが含まれ得る。
【００２９】
感知モジュール３０２は、一つまたは複数のカメラによって取得された画像を処理および分析して、自動運転車両の環境内のオブジェクトおよび／または特徴を識別するコンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含み得る。オブジェクトには、交通信号、道路境界、他の車両、歩行者および/または障害物などが含まれ得る。コンピュータビジョンシステムでは、オブジェクト認識アルゴリズム、ビデオトラッキング、その他のコンピュータビジョン技術を使用できる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図の作成、オブジェクトの追跡、オブジェクトの速度推定などをすることができる。感知モジュール３０２は、レーダおよび／またはＬＩＤＡＲなどの他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【００３０】
各オブジェクトについて、予測モジュール３０３は、このオブジェクトがこの状況下でどのように挙動するかを予測する。この時点で運転環境を感知した感知データに基づき、地図・ルート情報３１１と交通ルール３１２のセットを考慮して予測が実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境に交差点が含まれる場合、予測モジュール３０３は、該車両が直進するか曲がるかを予測する。感知データは交差点に信号機がないことを示した場合、予測モジュール３０３は、車両が交差点に入る前に完全に停止する必要があるかもしれないと予測することができる。感知データは、車両が現在左折専用車線または右折専用車線にあることを示した場合、予測モジュール３０３は、車両がそれぞれ左折または右折する可能性が高いと予測することができる。いくつかの実施形態では、以下でより詳しく説明されるように、自動運転車両が環境または地理的領域／場所を移動するときに、走行中において環境または地理的領域／場所の地図・ルート情報３１１を生成することができる。
【００３１】
各オブジェクトについて、決定モジュール３０４は、オブジェクトをどのように処理するかに関して決定を下す。例えば、特定のオブジェクト（例えば、交差ルートにおける他の車両）およびオブジェクトを説明するメタデータ（例えば、速度、方向、曲がり角）について、決定モジュール３０４は、オブジェクトに会う方法（例えば、追い越し、譲り、停止、超過）を決定する。決定モジュール３０４は、永続性記憶装置３５２に格納され得る交通ルールまたは運転ルール３１２のルールセットに基づいてそのような決定を行うことができる。
【００３２】
ルーティングモジュール３０７は、出発地から目的地までの一つまたは複数のルートまたは経路を提供するように構成されている。例えば、ユーザから受信した出発地ロケーションから目的地ロケーションまでの所定の旅程について、ルーティングモジュール３０７は、地図・ルート情報３１１を取得し、出発地ロケーションから目的地ロケーションまでのすべての可能なルートまたは経路を確定する。いくつかの実施形態では、地図・ルート情報３１１は、以下でより詳しく説明されるように、感知モジュール３０２によって生成され得る。決定された出発地ロケーションから目的地ロケーションまでの各ルートについて、ルーティングモジュール３０７は、地形図の形で基準線を生成することができる。基準線とは、他の車両、障害物、または交通状況に干渉されない理想的なルートまたは経路を指す。言い換えると、道路に他の車両、歩行者、障害物がない場合、ＡＤＶは基準線に完全にまたは厳密に従わなければならない。次いで、地形図は決定モジュール３０４および／または計画モジュール３０５に提供される。決定モジュール３０４および/または計画モジュール３０５は、すべての可能なルートを調べることにより、他のモジュールによって提供された他のデータ（例えば、測位モジュール３０１からの交通状況、感知モジュール３０２によって感知された運転環境、および予測モジュール３０３によって予測された交通状況）に基づいて、最適なルートの一つを選択して修正する。その時点での特定の運転環境によっては、ＡＤＶを制御するために使用される実際の経路またはルートは、ルーティングモジュール３０７によって提供された基準線に近いか、または異なる場合がある。
【００３３】
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供された基準線を基準として、自動運転車両のために経路またはルートおよび運転パラメータ（例えば、距離、速度、および/または曲がり角）を計画する。言い換えると、指定されたオブジェクトについて、決定モジュール３０４はこのオブジェクトに対して何をするかを決定し、計画モジュール３０５はどのようにするかを決定する。例えば、指定されたオブジェクトについて、決定モジュール３０４はこのオブジェクトを追い越すことを決定することができ、計画モジュール３０５はこのオブジェクトを左側から追い越すか、それとも右側から追い越すかを決定することができる。計画および制御データは、計画モジュール３０５によって生成され、車両３００が次の移動サイクル（例えば、次のルート／経路区間）でどのように移動するかを記述する情報を含む。例えば、計画および制御データは、３０マイル/時（ｍｐｈ）で１０メートルを移動し、次に２５ｍｐｈで右車線に移動するように車両３００に命令することができる。
【００３４】
計画および制御データに基づいて、制御モジュール３０６は、計画および制御データによって定義されたルートまたは経路に従って、適切なコマンドまたは信号を車両制御システム１１１に送信することにより、自動運転車両を制御および運転する。かかる計画および制御データには、ルートまたは経路に沿って異なる時点で適切な車両設定または運転パラメータ（例えば、スロットル、ブレーキ、ターニングコマンド）を使用してルートまたは経路の第１箇所から第２箇所まで車両を運転するための十分な情報が含まれる。
【００３５】
一実施形態では、計画段階は、複数の計画サイクル（「コマンドサイクル」とも呼ばれる。例えば、１００ミリ秒（ｍｓ）間隔）で実行される。計画サイクルまたはコマンドサイクルごとに、計画および制御データに基づいて、一つまたは複数の制御コマンドが発行される。言い換えると、１００ｍｓごとに、計画モジュール３０５は、例えば、目標位置およびＡＤＶが目標位置に到達するために必要な時間を含む次のルートセグメントまたは経路区間を計画する。あるいは、計画モジュール３０５は、特定の速度、方向、および／または操舵角などをさらに指定することができる。一実施形態では、計画モジュール３０５は、次の所定の期間（例えば、５秒）のルートセグメントまたは経路区間を計画する。各計画サイクルについて、計画モジュール３０５は、前のサイクルで計画された目標位置に基づいて、現在の期間（例えば、次の５秒）の目標位置を計画する。次いで、制御モジュール３０６は、現在のサイクルの計画および制御データに基づいて、一つまたは複数の制御コマンド（例えば、スロットル制御コマンド、ブレーキ制御コマンド、ステアリング制御コマンド）を生成する。
【００３６】
決定モジュール３０４および計画モジュール３０５は、統合モジュールとして統合できることに留意されたい。決定モジュール３０４／計画モジュール３０５は、自動運転車両の走行経路を確定するナビゲーションシステムまたはナビゲーションシステムの機能を含み得る。例えば、ナビゲーションシステムは、自動運転車両を次のような経路に沿って移動させるための一連の速度および進行方向を決定することができる。かかる経路は、自動運転車両が最終目的地までの道路ベースの経路を前進しながら、感知された障害物をほとんど回避することを可能にする。目的地は、ユーザインターフェースシステム１１３を介したユーザ入力によって設定されることができる。ナビゲーションシステムは、自動運転車両の走行中において走行経路を動的に更新できる。ナビゲーションシステムは、自動運転車両の走行経路を決定するために、ＧＰＳシステムと一つまたは複数の地図からのデータ（感知モジュール３０２によって生成されたか、またはあらかじめ格納／ダウンロードされたもの）を統合することができる。
【００３７】
決定モジュール３０４／計画モジュール３０５はさらに、自動運転車両の環境内の潜在的な障害物を識別、評価、回避するか、またはその他の形で追い越すための衝突防止システムまたは衝突防止システムの機能も含み得る。例えば、衝突防止システムは、制御システム１１１内の一つまたは複数のサブシステムを操作して急ハンドル操作、曲がり操作、ブレーキ操作などを行うことにより、自動運転車両のナビゲーション中の変化を実現することができる。衝突防止システムは、周囲の交通パターン、道路状況などに基づいて、実行可能な障害物回避操作を自動的に決定することができる。衝突防止システムは、自動運転車両が急ハンドルして進入しようとする隣接エリアにある車両、建物障害物などを他のセンサシステムが検出したときに急ハンドル操作が行われないように構成されることができる。衝突防止システムは、実行可能でかつ自動運転車両の乗員の安全性を最優先する操作を自動的に選択することができる。衝突防止システムは、自動運転車両の車室内において最小限の加速の発生が見込まれる回避操作を選択することができる。
【００３８】
ルーティングモジュール３０７は、地図情報（例えば、道路セグメントの情報、道路セグメントの車両車線、車線から縁石までの距離）に基づいて、基準線を生成することができる。例えば、道路を、三つの道路セグメントを表すセクションまたはセグメント{Ａ、Ｂ、Ｃ}に分割することができる。道路セグメントＡの三つの車線{Ａ１、Ａ２、Ａ３}を例示することができる。基準線は、基準線に沿って基準点を生成することにより生成される。例えば、車両車線の場合、ルーティングモジュール３０７は、地図データ（感知モジュール３０２によって生成されたか、またはあらかじめ格納/ダウンロードされたもの）によって提供された二つの対向する縁石またはエンドポイントの中間点を結ぶことができる。該中間点と、収集された異なる時点でこの車両車線で以前に運転された車両のデータポイントを表す機械学習データに基づいて、ルーティングモジュール３０７は、車両車線の所定の近接範囲内で収集されたデータポイントのサブセットを選択し、収集されたデータポイントのサブセットを考慮して該中間点に平滑化関数を適用することにより、基準点を計算することができる。
【００３９】
基準点または車線基準点に基づいて、ルーティングモジュール３０７は、生成された基準線が車両車線上のＡＤＶを制御するための基準線として使用されるように基準点を補間することにより基準線を生成することができる。いくつかの実施形態では、基準線を表す基準点テーブルおよび道路セグメントテーブルは、ＡＤＶがＡＤＶの地理的位置および運転方向に基づいて基準線を生成できるように、リアルタイムでＡＤＶにダウンロードされる。例えば、一実施形態では、ＡＤＶは、前方の次の道路セグメントを表す経路セグメント識別子によって経路セグメントのルーティングサービスを要求することにより、および／またはＡＤＶのＧＰＳ位置に基づいて、基準線を生成することができる。経路セグメント識別子に基づいて、ルーティングサービスは、対象の道路セグメントのすべての車線の基準点を含むＡＤＶ基準点テーブルに戻ることができる。ＡＤＶは、経路セグメントの車線の基準点を検索して、車両車線におけるＡＤＶを制御するための基準線を生成することができる。
【００４０】
図４Ａは、いくつかの実施形態による感知モジュール３０２の一例を示すブロック図である。図４Ａを参照すると、感知モジュール３０２は、センサ部材４１１を含むが、これに限定されない。モジュール４１１は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施することができる。センサ部材４１１は、ＡＤＶの一つまたは複数のセンサからセンサデータを取得することができる。例えば、センサ部材４１１は、一つまたは複数のセンサからセンサデータを定期的に要求または問い合わせることができる（例えば、数秒ごと、毎秒、または他の適切な期間ごとにセンサからセンサデータを要求することができる）。別の例では、センサ部材４１１は、一つまたは複数のセンサから受信するセンサデータを聞きまたは待つことができる。例えば、センサ部材４１１はバス、通信チャネル（有線または無線）、配線、ワイヤ、ピン、トラックなどを継続的に監視するように構成できるため、一つまたは複数のセンサがセンサデータを生成したとたん、センサ部材４１１はセンサデータを受信することができる。
【００４１】
一実施形態では、センサは、カメラ（例えば、デジタルカメラ、ビデオカメラ、ビデオレコーダなど）または画像をキャプチャまたは記録することができる他の装置であり得る。カメラによって生成され、センサ部材４１１によって受信されるセンサデータは、「ビデオデータ」と呼ばれる。ビデオデータの例は、デジタル画像（例：Ｊｏｉｎｔ Ｐｈｏｔｏｇｒａｐｈｉｃ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ（ＪＰＥＧ）画像）、ビデオフレーム、Ｍｏｔｉｏｎ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ（ＭＰＥＧ）データ、またはカメラでキャプチャされた光学画像を表すのに適したその他のデータを含むが、これらに限定されない。別の実施形態では、センサは、レーダユニット（例えば、図２に示されるレーダユニット２１４）または電波（例えば、高周波または信号）を使用してＡＤＶを囲むオブジェクトの位置、範囲、角度、および/または速度を特定できる他の装置であり得る。レーダユニットによって生成されたセンサデータは、「レーダデータ」と呼ばれる。レーダデータは、レーダユニットによって検出されたオブジェクトの位置、範囲、角度、および/または速度を示すデータであり得る。さらに別の実施形態では、センサは、ＬＩＤＡＲユニット（例えば、図２に示されるＬＩＤＡＲユニット２１５）であってもよく、または光（例えば、レーザー）を使用してＡＤＶを囲むオブジェクトの位置、範囲、角度、および/または速度を特定できるその他の装置であってもよい。ＬＩＤＡＲユニットによって生成されたセンサデータは、ＬＩＤＡＲユニットによって検出されたオブジェクトの位置、範囲、角度、および/または速度を示すデータであり得る。別の実施形態では、他のタイプのセンサは、センサ部材４１１に提供され得る他のタイプのセンサデータを生成し得る。環境または地理的位置/エリア内のオブジェクト（歩行者、車両、バリケード、障害物、障壁、道路区画線、標識、信号機など）の位置、範囲、角度、および/または速度を検出するために使用できる任意のタイプのセンサは、本明細書で説明される実施形態、実施方式、および／または例で使用することができる。別の実施形態では、センサは、ＧＰＳ受信機またはユニット（例えば、図２に示されるＧＰＳユニット２１２）またはＡＤＶの位置（例えば、物理的位置または地理的位置）を確定できる他の装置であり得る。ＧＰＳ受信機によって生成されるセンサデータは、ＧＰＳデータ（「ＧＰＳ座標」と呼ばれることもある）であり得る。
【００４２】
一実施形態では、センサデータは、ＡＤＶが現在位置しているまたは走行している環境または地理的エリア／場所に関する情報を示すことができる。例えば、センサデータは、オブジェクト（例えば、歩行者、車両、バリケード、障害物、障壁、道路区画線、標識、信号機など）の位置および/またはレイアウトを示すことができる。別の例では、センサデータは、環境または地理的領域の道路状況（例えば、道路が乾燥した道路、湿った道路、滑らかな道路、でこぼこした道路であるかどうかなど）を示すことができる。さらに別の例では、センサデータは、環境または地理的地域の気象条件（例えば、気温や、雨、風、雪、雹の有無など）を示すことができる。
【００４３】
図４Ｂは、いくつかの実施形態による計画モジュール３０５の一例を示すブロック図である。図４Ｂを参照すると、計画モジュール３０５は、セグメンター４０１、多項式関数ジェネレーター４０２、サンプルポイントジェネレーター４０３、経路ジェネレーター４０４、および基準線ジェネレーター４０５を含むが、これらに限定されない。これらのモジュール４０１から４０５は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施することができる。基準線ジェネレーター４０５は、ＡＤＶの基準線を生成するように構成される。上述のように、基準線は、安定した軌跡を生成するためのＡＤＶの案内経路（例えば、道路の中心線）であり得る。基準線ジェネレーター４０５は、地図・ルート情報３１１（図３Ａおよび３Ｂに示される）に基づいて基準線を生成することができる。上述のように、地図・ルート情報３１１は、既存の地図データ（例えば、あらかじめダウンロードまたは格納された地図データ）および/または走行中に生成された地図データ（例えば、ＡＤＶが地域/場所を移動するときに生成されたこのエリア/場所の地図データ）であり得る。セグメンター４０１は、基準線をいくつかの基準線セグメントに分割するように構成される。基準線を基準線セグメントに分割して、基準線の個別のセグメントまたは部分を生成することができる。基準線セグメントのそれぞれについて、多項式関数ジェネレーター４０２は、多項式関数を定義または生成して、対応する基準線セグメントを表すか、または対応する基準線セグメントをモデル化するように構成されることができる。サンプルポイントジェネレーター４０３は、基準線に基づいてサンプルポイントを生成することができる。例えば、サンプルポイントジェネレーター４０３は、以下でより詳しく説明されるように、一般に基準線に従うことができるサンプルポイントの一つまたは複数のセット（例えば、一つまたは複数のサンプルポイントのグループ）を生成することができる。サンプルポイントの各セットは、以下でより詳しく説明されるように、サンプルポイントの第１サブセットおよびサンプルポイントの第２サブセットを含み得る。
【００４４】
多項式関数ジェネレーター４０２は、サンプルポイントの複数のセットを互いに接続することができる。例えば、多項式関数ジェネレーター４０２は、以下でより詳しく説明されるように、サンプルポイントのセット内の各サンプルポイントと次の隣接するサンプルポイントのセット内の各サンプルポイントとの間の一つまたは複数のセグメント（例えば、接続）を生成することができる。多項式関数ジェネレーター４０２はまた、サンプルポイント間のセグメントを表すために使用され得る一つまたは複数の多項式を生成、計算、確定などすることができる。例えば、多項式関数ジェネレーター４０２は、二つのサンプルポイント間の各セグメントについて多項式関数を生成、確定、および計算することができる。さらに、さまざまな境界または制約に基づいて、セグメントを表す多項式関数を生成、確定、および計算することもできる。この境界または制約は、図３Ａに示される制約３１３の一部として、あらかじめ構成および／または格納されることができる。計画モジュール３０５によって使用される（例えば、多項式関数ジェネレーター４０２によって使用される）多項式関数は、図３Ａに示される多項式関数３１４の一部として、あらかじめ構成および／または格納されることができる。
【００４５】
以下でより詳しく説明されるように、経路ジェネレーター４０４は、サンプルポイント間のセグメントに基づいてＡＤＶの経路を決定することができる。例えば、経路ジェネレーター４０４は、各セグメントのコストを確定することができる。このコストは、さまざまな要因またはパラメータ（基準線からセグメントまでの距離、基準線からセグメント内のサンプルポイントまでの距離、セグメントの曲率の変化率またはセグメント内のサンプルポイントの曲率の変化率、セグメントの曲率、サンプルポイントに位置する可能性のある障害物（車両、歩行者、障害物など）を含むが、これらに限定されない）によるものであってもよい。このコストは「ウェイト」とも呼ばれる。経路ジェネレーター４０４は、最低の総コスト（最低の総ウェイト）を有する経路を形成するセグメントを識別または選択することができる。
【００４６】
図５は、自動運転車両（ＡＤＶ）１０１が現在位置している、および／または以前に位置していた環境５０５の例示的な地図５００を示す図である。環境５０５は、地理的エリアおよび／または場所であり得る。環境５０５は、街路、道路、車道、国道、自動車道路、高速道路、快速道路、ルート、坂道、出口、および交通制御装置を含み得る。ＡＤＶ１０１、街路、道路、車道、国道、自動車道路、高速道路、快速道路、ルート、坂道、出口、および交通制御装置などの位置は、図５のＸ軸とＹ軸に示されるようなデカルト座標系を使用して表されることができる。例えば、ＡＤＶ１０１の位置および／または交通制御装置の位置は、Ｘ-Ｙ座標を使用して表されることができる。
【００４７】
上述のように、ＡＤＶ１０１は、一つまたは複数のセンサ（例えば、カメラ、レーダユニット、ＬＩＤＡＲユニットなど）からセンサデータを取得することができる。センサデータは、環境５０５内におけるＡＤＶ１０１を囲むオブジェクトの位置、範囲、角度、および/または速度を示すことができる。例えば、センサデータは、道路および交通制御装置５１０〜５１３の位置および/またはレイアウトを示すことができる。
【００４８】
環境５０５は、複数の交通制御装置を含み得る。交通制御装置は、環境５０５に位置し、および／または環境５０５を移動できるＡＤＶ１０１、歩行者、サイクリスト、モーターサイクリストなどの動きへの管理、制御、調整、案内、命令、支配、誘導などに使用されることができる。一実施形態では、交通制御装置は、環境５０５内の交通流（例えば、ＡＤＶ１０１、他の車両、モーターサイクリスト、サイクリスト、歩行者などの動き）を制御するために使用できる任意のアイテム、装置、オブジェクト、マーク、標識などであり得る。交通制御装置の例には、ライト、発光/照明標識、駐車灯、横断歩道ライト、横断歩道、標識（例えば、止れ標識、速度制限標識、重量制限標識、一方通行標識、学区標識など）、車線/道路標識（例えば、道路、街路、高速道路などのペイント車線など）、矢印（例えば、一方通行の矢印など）が含まれる。
【００４９】
図５に示されるように、地理的領域５０５はさらに、複数の交通制御装置５１０、５１１、５１２、および５１３も含む。例えば、交通制御装置５１０は、ＡＤＶ１０１が道路に沿って前進または走行できる場合にＡＤＶ１０１を命令および／または誘導するために使用できる信号機（例えば、ストップライト、赤色灯など）であり得る。別の例では、交通制御装置５１１は、道路／交差点でさらに前進するかまたは進行するまで道路／交差点上の点で停止するようにＡＤＶ１０１を命令および／または誘導できる止れ標識であり得る。また別の例では、交通制御装置５１２は、この道路に沿った交通の方向（例えば、他の車両の方向）が単なる一方通行標識によって示された方向であることをＡＤＶ１０１に示すことができる一方通行標識であり得る。さらに別の例では、交通制御装置５１３は、交差点で反対の交通（例えば、対向車）を優先させるようにＡＤＶ１０１を命令および／または誘導することができる譲れ標識であり得る。
【００５０】
いくつかの実施形態では、ＡＤＶ１０１は、環境５０５内の一つまたは複数の交通制御装置の一つまたは複数の変化を検出することができる。例えば、ＡＤＶ１０１は、ＡＤＶ１０１の現在の位置の近くに止れ標識（例えば、交通制御装置５１１）があることを示す地図データ（例えば、道路、街路、高速道路などの地理的位置、ＧＰＳ座標、位置、道路、街路、高速道路などの距離、交通制御装置などの位置および／またはタイプを示すデータ）を有し得る。しかしながら、ＡＤＶ１０１の一つまたは複数のセンサ（例えば、カメラ）は、ＡＤＶ１０１の現在の位置の近くにおいて止れ標識の代わりに譲れ標識（例えば、交通制御装置５１３）を検出し得る。ＡＤＶ１０１は、地図データがＡＤＶ１０１の現在の位置において譲れ標識があることを示していないと判断し得る（例えば、ＡＤＶ１０１は、交通制御装置がとある位置／エリアに新設されたと判断し得る）。ＡＤＶ１０１はまた、地図データが、ＡＤＶ１０１の現在の位置の近くに止れ標識があることを示していると判断し得るが、ＡＤＶ１０１は、止れ標識を検出しなかった場合がある（例えば、ＡＤＶ１０１は、交通制御装置がある場所/エリアから削除されたことを確定し得る）。
【００５１】
環境５０５内の交通制御装置が変化（例えば、新設、除去、異なる場所へ移動）した場合、環境５０５の地図データが更新されるまでは、時間がかかる場合がある。例えば、サーバは環境５０５の地図データをＡＤＶ１０１に提供することができる。しかし、環境５０５の交通制御装置が変化した場合、サーバは、これらの変化が運転手によって報告されるまで、これらの変化がＡＤＶ１０１に対して更新された地図データを生成していないことを把握していない可能性がある。これにより、ＡＤＶ１０１は、古くなった地図データを長期間に亘って使用することになりがちである。古い地図データを使用すると、ＡＤＶ１０１において安全問題が発生する恐れがある。
【００５２】
いくつかの実施形態では、ＡＤＶ１０１（および／または他の車両）がレポートメッセージ（例えば、メッセージ、レポート、アラートなど）を一つまたは複数のサーバ（例えば、一つまたは複数のサーバコンピュータ、コンピューティングデバイスなど）に送信することにより、環境５０５（例えば、場所/エリア）における交通制御装置の一つまたは複数の変化をＡＤＶ１０１が検出したことを示すのは、有用であり得る。ＡＤＶ１０１および／または他の車両は以前に環境５０５を移動しており、および／または現在環境５０５に位置している可能性があるため、ＡＤＶ１０１および／または他の車両は、環境５０５における交通制御装置の変化に関するより最近の情報を有する可能性がある。一つまたは複数のレポートメッセージを一つまたは複数のサーバに送信することにより、サーバは、環境内の交通制御装置の変化をより迅速に検出することができる。これにより、サーバは環境５０５の交通制御装置が変化したかどうか（例えば、新しい交通制御装置が新設されたか、既存の交通制御装置が除去されたか、既存の交通制御装置が新しい場所まで移動されたかなど）を確定することができる。
【００５３】
サーバは、一つまたは複数の基準、パラメータ、条件などを使用して、環境５０５内の交通制御装置が変化したかどうかを判断することもできる。これにより、サーバは環境内の交通制御装置が変化したことをより正確に検出することができる。サーバは、ＡＤＶ１０１および／または他の車両から受信したレポートメッセージに基づいて、更新された地図データを生成することができる。サーバは、更新された地図データをＡＤＶ１０１および/または他の車両に送信して、更新された地図データをより迅速および/または効率的にＡＤＶ１０１に提供することができる。これにより、サーバは地図データをより迅速かつ効率的に更新して、交通制御装置の変化を反映することができる。
【００５４】
図６は、いくつかの実施形態による例示的なシステムアーキテクチャ６００を示す図である。システムアーキテクチャ６００は、ＡＤＶ１０１、ネットワーク１０２、およびサーバ１０４を含む。ネットワーク１０２は、パブリックネットワーク（例えば、インターネット）、プライベートネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ））、またはそれらの組み合わせであり得る。一実施形態では、ネットワーク１０２は、一つまたは複数の無線通信システム（例えば、ネットワーク１０２に接続された無線忠実度（ＷｉＦｉ）ホットスポットおよび／またはさまざまなデータ処理機器、通信塔（セルラー塔など）を使用して実施できるワイヤレスキャリアシステム）によって提供され得る有線または無線のインフラストラクチャを含み得る。ＡＤＶ１０１およびサーバ１０４は、ネットワーク１０２を介して互いに通信可能に接続され得る。ネットワーク１０２は、ＡＤＶ１０１とサーバ１０４の間の通信（例えば、データ、メッセージ、データパケット、フレームなど）を実現することができる。
【００５５】
上述のように、ＡＤＶ１０１は、一つまたは複数の地理的位置/地域を移動するか、または一つまたは複数の地理的位置/地域を移動する自動運転車両であり得る。各ＡＤＶ１０１は、地図データ６１２の一部または全部を含み得る。各ＡＤＶ１０１は、地図データ６１２を使用して、ＡＤＶ１０１の経路を確定することができる。例えば、上述のように、ＡＤＶ１０１は、地図データ６１２を使用して、出発地から目的地まで移動するためにどの道路、高速道路などを利用すべきかを決定することができる。
【００５６】
各ＡＤＶ１０１は、センサシステム１１５とセンサ部材４１１を含む。センサシステム１１５は、一つまたは複数のセンサを含み得る。一実施形態では、センサは、カメラまたは画像をキャプチャもしくは記録することができる他の装置であり得る。カメラによって生成され、センサ部材４１１によって受信されたセンサデータは、「ビデオデータおよび／または画像データ」と呼ばれることができる。別の実施形態では、センサはレーダユニット、または電波を使用してＡＤＶ１０１を囲むオブジェクトの位置、範囲、角度および／または速度を特定できる他のいくつかの装置であり得る。レーダユニットによって生成されたセンサデータは、「レーダデータ」と呼ばれることができる。別の実施形態では、センサはＬＩＤＡＲユニット、または光を使用してＡＤＶ１０１を囲むオブジェクトの位置、範囲、角度および／または速度を特定できる他のいくつかの装置であり得る。ＬＩＤＡＲユニットによって生成されたセンサデータは、「ＬＩＤＡＲデータ」と呼ばれることができる。別の実施形態では、センサは、ＧＰＳ受信機またはユニット、またはＡＤＶ１０１の位置を特定できる他のいくつかの装置であり得る。ＧＰＳ受信機によって生成されたセンサデータは、「ＧＰＳデータ」と呼ばれることができる。別の実施形態では、他のタイプのセンサは、センサ部材４１１に提供され得る他のタイプのセンサデータを生成することができる。
【００５７】
一実施形態では、センサデータは、ＡＤＶが現在位置しているまたは走行している環境または地理的エリア／場所に関する情報を示すことができる。例えば、センサデータは、交通制御装置の位置および/またはレイアウト、環境または地理的領域の道路状況、環境または地理的領域の気象条件などを示すことができる。
【００５８】
サーバ１０４は、コンピューティングデバイス、および／または複数のコンピューティングデバイスのグループであり得る。例えば、サーバ１０４はサーバクラスターであってもよく、一つまたは複数の仮想マシン、一つまたは複数のコンテナであってもよい。サーバ１０６は、地図データ６１２および地図部材６１０を含む。地図データ６１２は、ＡＤＶが位置／走行する可能性のある異なる環境（例えば、地理的位置および／または地域）に関する情報を示すことができる。例えば、地図データ６１２は、道路、車線、標識（例えば、止れ標識、譲れ標識など）、信号機、障害物、建物、歩道、通路、人道、障壁などの場所、位置、向き、長さ、幅、距離、レイアウトなどを示すことができる。
【００５９】
一実施形態では、地図部材６１０は、ＡＤＶ１０１のセット（例えば、一つまたは複数のＡＤＶ１０１）からレポートメッセージのセット（例えば、一つまたは複数のメッセージ）を受信することができる。レポートメッセージのセットは、ＡＤＶ１０１が環境において検出した交通制御装置の第１のセットを示したり、識別したりすることができる。例えば、レポートメッセージのセットは、ＡＤＶ１０１のセットが検出した交通制御装置のタイプ（例えば、道路上の標識、照明、ペイントマーキングなど）および/または位置を示すことができる。
【００６０】
一実施形態では、ＡＤＶ１０１から受信した（例えば、センサ部材４１１から受信した）レポートメッセージのセットはさらに、センサデータも含み得る。例えば、レポートメッセージのセットは、カメラによって取得および/または生成された画像データおよび/またはビデオデータを含み得る。別の例では、レポートメッセージのセットは、レーダユニットによって取得および/または生成されたレーダデータを含み得る。別の例では、レポートメッセージのセットは、ＬＩＤＡＲユニットによって生成されたＬＩＤＡＲデータを含み得る。さらに別の例では、レポートメッセージのセットは、ＧＰＳユニットによって生成されたＧＰＳデータを含み得る。
【００６１】
一実施形態では、レポートメッセージのセットは、ＡＤＶ１０１が環境（例えば、図５に示される環境５０５）において検出したすべての交通制御装置を示すことができる。例えば、センサ部材４１１は、ＡＤＶ１０１のセンサシステム１１５によって検出された標識、車線マーキング、ライトなどのすべてを示せるレポートメッセージのセットを送信することができる。別の実施形態では、レポートメッセージのセットは、ＡＤＶ１０１の地図データで示される交通制御装置と一致しない一つまたは複数の交通制御装置（環境内でＡＤＶ１０１によって検出される）を示すことができる。例えば、ＡＤＶ１０１は、環境（例えば、地理的エリア／場所）における交通制御装置のタイプおよび／または位置を示すことができる地図データ（例えば、既存の地図データ、ダウンロードされた地図データなど）を有し得る。ＡＤＶ１０１のセンサシステム１１５（例えば、一つまたは複数のセンサ）は、環境内の第１交通制御装置を検出することができる。ＡＤＶ１０１のセンサ部材４１１は、地図データに示されていない第１交通制御装置が検出されたと判断することができる。センサ部材４１１はネットワーク１０２を介して、第１交通制御装置のタイプおよび／または位置を示す一つまたは複数のレポートメッセージをサーバ１０４に送信することができる。
【００６２】
一実施形態では、（サーバ１０４の）地図部材６１０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判断することができる。例えば、地図部材６１０は、レポートメッセージによって示された交通制御装置のタイプおよび／または位置を特定することができる。地図部材６１０は、レポートメッセージによって示された交通制御装置のタイプおよび／または位置を、地図データ６１２によって示された交通制御装置のタイプおよび／または位置と比較して、相違があるかどうかを判断することができる。別の例では、レポートメッセージは、地図データ６１２と一致しない一つまたは複数の交通制御装置を示すことができる。
【００６３】
一実施形態では、地図部材６１０は、一つまたは複数の基準、パラメータ、条件に基づいて、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうかを判断することができる。一つの基準、条件、パラメータなどは、閾値台数のＡＤＶ１０１および/または車両が環境に関するレポートメッセージを送信したかどうかであり得る。例えば、地図部材６１０は、少なくとも５、少なくとも１０、または他の適切な台数のＡＤＶ１０１および／または車両が環境内の交通制御装置の変化を示すレポートメッセージを送信したかどうかを判断することができる。少なくとも閾値台数のＡＤＶ１０１および/または車両が環境内の交通制御装置の変化を示すレポートメッセージを送信した場合、地図部材６１０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違が存在すると判断することができる。
【００６４】
一実施形態では、別の基準、条件、パラメータなどは、閾値通数の環境に関するレポートメッセージが受信されたかどうかであり得る。例えば、地図部材６１０は、環境内の交通制御装置の変化を示す少なくとも５、少なくとも１０、または他の適切な通数のレポートメッセージが受信されたかどうかを判断することができる。少なくとも閾値通数のレポートメッセージが受信された場合、地図部材６１０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと地図データ６１２によって示された交通制御装置の第２セットの間に一つまたは複数の相違が存在すると判断することができる。
【００６５】
一実施形態では、別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および／または生成した時間であり得る。例えば、ＡＤＶのセンサシステム１１５は、夜間または環境内の日光が少ない他の時間帯は信頼できない場合がある。例えば、カメラは夜間に鮮明な画像やビデオをキャプチャできない場合がある。地図部材６１０は、レポートメッセージ（例えば、一つまたは複数のレポートメッセージ）のセットが受信される時間のセット（例えば、一つまたは複数の時間）を判断することができる。地図部材６１０は、夜間に受信したメッセージに対して低いウェイト（例えば、ウェイト値、スケール因子など）を割り当てて、日中（または環境に日光がより多い他の時間）に受信したレポートメッセージに対して高いウェイトを割り当てることができる。
【００６６】
一実施形態では、別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および／または生成したときの環境内の気象条件であり得る。例えば、環境内の気象条件によっては、ＡＤＶのセンサシステム１１５は信頼できない場合がある。例えば、濃い霧がある場合、ＡＤＶ１０１のカメラは鮮明な画像やビデオをキャプチャできない場合がある。別の例では、ＬＩＤＡＲユニットは雨の中で効果的に動作できない場合がある。レポートメッセージのセット（例えば、一つまたは複数のレポートメッセージ）が受信されたときに、地図部材６１０は環境内の気象条件を判断することができる。地図部材６１０は、特定の気象条件（例えば、雨、霧、雲などの悪天候）で受信したメッセージに対して低いウェイト（例えば、ウェイト値、スケール因子など）を割り当てて、良い気象条件（日光など）で受信したレポートメッセージに対して高いウェイトを割り当てることができる。
【００６７】
一実施形態では、別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および／または生成したときの環境内の交通条件であり得る。例えば、環境内において多くのトラフィックがある場合（例えば、環境内に多くのＡＤＶ１０１および／または他の車両がある場合）、ＡＤＶのセンサシステム１１５は信頼できない場合がある。例えば、環境には大量のトラフィックがあり、他のＡＤＶおよび/または車両は、カメラが画像および/またはビデオを適切にキャプチャするのを妨げる可能性がある（例えば、交通制御装置が他の車両によって遮られる可能性がある）。レポートメッセージのセット（例えば、一つまたは複数のレポートメッセージ）が受信されたときに、地図部材６１０は、環境内の交通状況を判断することができる。地図部材６１０は混雑した交通状況（例えば、トラフィックが多い場合）の間で受信したメッセージに対して低いウェイト（例えば、ウェイト値、スケール因子など）を割り当てて、それほど混雑していないまたは良好な交通状況（例えば、トラフィックが少ない場合）の間で受信したレポートメッセージに対して高いウェイトを割り当てることができる。
【００６８】
一実施形態では、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データ６１２によって示された交通制御装置の第２セットとの間に一つまたは複数の相違があるという判断に対応して、地図部材６１０は、更新された地図データを生成することができる。例えば、地図部材６１０は、地図データ６１２を更新して、一つまたは複数の交通制御装置を地図データ６１２に追加することができる。更新された地図データ６１２は、環境に新設された一つまたは複数の交通制御装置（例えば、以前にその地理的領域／場所に位置していなかった一つまたは複数の交通制御装置）のタイプ（例えば、標識のタイプ、車線表示のタイプ、ライトのタイプなど）および/または位置（例えば、ＧＰＳ座標など）を示すことができる。別の例では、地図部材６１０は、地図データ６１２を更新して、地図データ６１２から一つまたは複数の交通制御装置を削除することができる。更新された地図データ６１２は、環境から除去された一つまたは複数の交通制御装置（例えば、地理的エリア／場所から除去された一つまたは複数の交通制御装置）の表示を削除または除去することができる。別の例では、地図部材６１０は、地図データ６１２を更新して、一つまたは複数の交通制御装置の一つまたは複数の新しい位置を示すことができる。例えば、標識（例えば、交通制御装置）は、道路の片側から反対側に移動した可能性がある。別の例では、地面に描かれた矢印（例えば、左折矢印）は特定の距離だけ移動し、以前よりも交差点寄りになった可能性がある。
【００６９】
一実施形態では、地図部材６１０によって生成された更新された地図データ６１２は、一つまたは複数の交通制御装置が一時的なものであることを示すことができる。例えば、道路は、工事、保守などのために一定期間閉鎖される場合がある。工事/保守作業では、一時的な道路標識（例えば、一時的な交通制御装置など）を設置して、道路の一部または全部が一時的に閉鎖され得ることを示す場合がある。一時的な道路標識はさらに、使用され得る一つまたは複数の迂回路（例えば、代替道路など）を示す場合もある。更新された地図データ６１２は、一時的な道路標識の位置を示すことができる。更新された地図データ６１２はまた、一時的な道路標識が環境（例えば、地理的エリア／場所）に存在し得る期間を示すことができる。例えば、更新された地図データ６１２は、一つまたは複数の一時的な交通制御装置が２日間、１週間、または他の何らかの適切な期間に亘って環境に配備または設置され得ることを示すことができる。
【００７０】
一実施形態では、更新された地図データ６１２は、環境（例えば、地理的エリア／場所）における一つまたは複数の交通制御装置が変化し得ることを示すことができる。例えば、更新された地図データ６１２は、ＡＤＶ１０１および／または他の車両が環境内の一つまたは複数の交通制御装置の可能な変化を検出したことを示すことができる。しかしながら、地図部材６１０は、一つまたは複数の交通制御装置の可能な変化を判断することができない場合がある。例えば、地図部材６１０は、環境内の交通制御装置が変化したことを示したＡＤＶ１０１および／または車両の台数が十分でないと判断する場合がある。別の例では、地図部材６１０は、センサデータに基づいて、一つまたは複数の交通制御装置がどのように変化したかを判断できない場合がある。
【００７１】
一実施形態では、地図部材６１０は、異なる期間ごとに更新された地図データ６１２を生成することができる。例えば、地図部材６１０は、地図データ６１２を更新する必要があるかどうかを定期的に判定し、更新された地図データを生成することができる（例えば、５分ごと、２時間ごと、毎日、または他の適切な期間ごとに更新するかどうかおよび/または更新された地図データを生成するかどうかを判定することができる）。別の例では、地図部材６１０は、環境内の交通制御装置が変化したと地図部材６１０が判断したときに、更新された地図データ６１２を生成することができる。
【００７２】
一実施形態では、地図部材６１０は、センサデータに基づいて様々な技術、方法、アルゴリズム、操作などにより、更新された地図データを生成することができる。例えば、地図部材６１０は、ビデオ／画像データに基づいて、画像またはビデオ処理／分析技術またはアルゴリズムを使用して、環境内の一つまたは複数の交通制御装置を識別することができる。別の例では、地図部材６１０は、レーダおよび／またはＬＩＤＡＲデータに基づいて、様々なオブジェクト検出技術またはアルゴリズムを使用して、環境内の一つまたは複数の交通制御装置を識別することができる。別の例では、地図部材６１０は、ＧＰＳデータ（例えば、ＧＰＳ座標）を使用して、環境内の一つまたは複数の交通制御装置の位置を識別することができる。説明した例、実現方式、および/または実施形態は、さまざまなタイプのセンサデータおよび/またはさまざまな機能、技術、方法、アルゴリズム、操作などにより、地図データを生成することができる。例えば、地図部材６１０は、機械学習、人工知能、統計モデル、ニューラルネットワーク、クラスタリング技術などを使用することができる。
【００７３】
別の実施形態では、地図部材６１０は、ユーザ入力を受信し、かつユーザ入力に基づいて更新された地図データを生成することができる。例えば、地図部材６１０は、レポートメッセージおよび／またはセンサデータをユーザ（例えば、管理者）に提供することができる。ユーザはレポートメッセージやセンサデータを確認し、環境内の交通制御装置が変化したかどうか、変化した場合どのように変化したかを示す入力を行うことができる。例えば、ユーザ入力は、交通制御装置がとある場所に新設されたことを示すことができる。別の例では、ユーザ入力は、交通制御装置がとある場所から除去されたことを示すことができる。地図部材６１０は、ユーザ入力に基づいて地図データを更新することができる。
【００７４】
一実施形態では、地図部材６１０は、更新された地図データをＡＤＶ１０１に送信することができる。例えば、一つまたは複数の交通制御装置が環境内で変化した（例えば、一つまたは複数の交通制御装置が新設、除去、移動などされた）と判断した後、地図部材６１０は、更新された地図データ６１２を生成し、かつ更新された地図データ６１２をＡＤＶ１０１に送信することができる。
【００７５】
一実施形態では、地図部材６１０は、レポートメッセージおよび／またはセンサデータに基づいて、ＡＤＶ１０１のセンサ部材４１１に問題、エラー、トラブルなどがあるかどうかを判断することができる。例えば、特定のＡＤＶ１０１は環境内の場所で新しい交通制御装置が検出されたと報告している場合、地図部材６１０は、他のＡＤＶ１０１も新しい交通制御装置を報告しているかどうかを判断することができる。閾値未満のＡＤＶ１０１が新しい交通制御装置を報告している場合、地図部材６１０は、センサ部材４１１にエラーがあると判断することができる。例えば、地図部材６１０は、センサ部材４１１のニューラルネットワーク、機械学習システム、画像処理システムなどを更新すべきであると判断することができる。例えば、地図部材６１０は、ＡＤＶ１０１がニューラルネットワークのより新しいバージョンをインストールし、更新されたニューラルネットワークを使用して画像を処理すべきであることをＡＤＶ１０１に示すことができる。
【００７６】
説明されたように、ＡＤＶ１０１（および/または他の車両）は、ＡＤＶ１０１が環境（例えば、場所/エリア）内の交通制御装置の一つまたは複数の変化を検出したことを示すために、レポートメッセージ（例えば、メッセージ、レポート、アラートなど）および/またはセンサデータをサーバ１０４に送信することは、有用かもしれない。ＡＤＶ１０１および／または他の車両は以前に環境を移動したことがあり、および／または現在その環境にある可能性があるため、ＡＤＶ１０１および／または他の車両は環境内の交通制御装置の変化に関するより最近の情報を有し得る。これにより、サーバ１０４は、環境内の交通制御装置が変化したかどうかをより迅速かつ効率的に判断できるようになる。これにより、サーバ１０４は、（環境内の交通制御装置の変化を反映する）更新された地図データをより迅速かつ効率的に生成し、かつ更新された地図データをＡＤＶ１０１に送信することができる。
【００７７】
図７は、いくつかの実施形態による例示的な地図部材６１０を示す図である。地図部材６１０は、ハードウェア（例えば、処理装置、ＡＳＩＣ、ＦＰＧＡ、回路など）、ソフトウェア（例えば、アプリケーション、ニューラルネットワーク、機械学習アプリケーションなど）、ファームウェア、またはそれらの組み合わせであり得る。地図部材６１０は、センサデータ部材７２０、検出部材７３０、および更新部材７４０を含む。センサデータ部材７２０、検出部材７３０、および更新部材７４０のそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせを含み得る。
【００７８】
一実施形態では、センサデータ部材７２０は、ＡＤＶのセットからレポートメッセージのセットを受信することができる。レポートメッセージのセットは、ＡＤＶのセットによって環境内で検出された交通制御装置の第１セットを示したり、識別したりすることができる。ＡＤＶから受信したレポートメッセージのセットはさらに、センサデータ（例えば、ビデオデータ、画像データ、レーダデータ、ＬＩＤＡＲデータなど）を含み得る。
【００７９】
一実施形態では、検出部材７３０は、環境内の一つまたは複数の交通制御装置が変化したかどうかを検出することができる。例えば、検出部材７３０は、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データ（例えば、図６に示される地図データ６１２）によって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうかを判断することができる。
【００８０】
一実施形態では、検出部材７３０は、一つまたは複数の基準、パラメータ、条件に基づいて、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データによって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうかを判定することができる。一つの基準、条件、パラメータなどは、閾値台数のＡＤＶおよび/または車両が環境に関するレポートメッセージを送信したかどうかであり得る。別の基準、条件、パラメータなどは、閾値通数の環境に関するレポートメッセージを受信したかどうかであり得る。もう一つの別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成した時間であり得る。さらなる別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成したときの環境内の気象条件であり得る。更に別の基準、条件、パラメータなどは、センサ部材４１１がレポートメッセージを受信および/または生成したときの環境内の交通条件であり得る。
【００８１】
一実施形態では、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データによって示された交通制御装置の第２セットとの間に一つまたは複数の相違が存在するという判断に応じて、更新部材７４０は、更新された地図データを生成することができる。例えば、更新部材７４０は、地図データを更新して、地図に示される一つまたは複数の交通制御装置の位置を追加、削除、および／または変更することができる。一実施形態では、更新部材７４０によって生成された更新された地図データは、一つまたは複数の交通制御装置が一時的なものであり得ることを示すことができる。別の実施形態では、更新部材７４０は、異なる期間ごとに更新された地図データ６１２を生成することができる。一実施形態では、更新部材７４０は、センサデータに基づいて、様々な技術、方法、アルゴリズム、操作などにより、更新された地図データを生成することができる。例えば、更新部材７４０は、画像またはビデオ処理／分析技術またはアルゴリズム、オブジェクト検出技術またはアルゴリズム、機械学習、人工知能、統計モデル、ニューラルネットワーク、クラスタリング技術などを使用することができる。
【００８２】
図８は、いくつかの実施形態による自動運転車両の経路を確定するためのプロセスの一例を示すフローチャートである。プロセス８００は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行されることができる。また、プロセス８００は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、プロセッサ、処理装置、中央処理装置（ＣＰＵ）、システムオンチップ（ＳｏＣ）など）、ソフトウェア（例えば、処理装置で稼動/実行される命令）、ファームウェア（例えば、マイクロコード）、またはそれらの組み合わせを含み得る処理ロジックによって実行されることができる。いくつかの実施形態では、プロセス８００は、図１、図６、および図７に示されるサーバコンピュータ１０４、地図部材６１０、センサデータ部材７２０、検出部材７３０、および更新部材７４０のうちの一つまたは複数によって実行されることができる。
【００８３】
プロセス８００はブロック８０５から始まる。ブロック８０５において、プロセス８００は、ＡＤＶのセットからレポートメッセージのセットを受信することができる。上記のように、レポートメッセージのセットは、ＡＤＶのセットによって環境内で検出された交通制御装置の第１セットを示したり、識別したりすることができる。ＡＤＶから受信したレポートメッセージのセットはさらに、センサデータ（ビデオデータ、画像データ、レーダデータ、ＬＩＤＡＲデータなど）を含み得る。別の実施形態では、センサデータは、レポートメッセージとは別に受信されることができる。
【００８４】
ブロック８１０において、プロセス８００は、環境内の一つまたは複数の交通制御装置が変化したかどうかを判断することができる。例えば、プロセス８００は、レポートメッセージが、地図データに示されていない交通制御装置の存在を示しているかどうかを判断することができる。別の例では、プロセス８００は、センサデータを分析して、地図データに示されていない交通制御装置を識別することができる。プロセス８００は、一つまたは複数の基準、パラメータ、条件に基づいて、環境内の一つまたは複数の交通制御装置が変化したかどうか（例えば、一つまたは複数のレポートメッセージによって示された交通制御装置の第１セットと、地図データによって示された交通制御装置の第２セットの間に一つまたは複数の相違があるかどうか）を判断することができる。一つの基準、条件、パラメータなどは、閾値台数のＡＤＶおよび/または車両が環境に関するレポートメッセージを送信したかどうかであり得る。別の基準、条件、パラメータなどは、閾値通数の環境に関するレポートメッセージを受信したかどうかであり得る。また別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成した時間であり得る。さらに別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成したときの環境内の気象条件であり得る。さらなる別の基準、条件、パラメータなどは、センサ部材がレポートメッセージを受信および/または生成したときの環境内の交通条件であり得る。
【００８５】
環境（例えば、地理的エリア/場所）の一つまたは複数の交通制御装置が変化していない場合、プロセス８００は終了する。環境内の一つまたは複数の交通制御装置が変化した場合、プロセス８００は、ブロック８１５において、センサデータを処理することができる。例えば、プロセス８００は、画像データ、レーダデータ、ＬＩＤＡＲデータ、ＧＰＳデータなどを分析して、新設、除去、または異なる場所に移動された交通制御装置を識別することができる。ブロック８２０において、プロセス８００は、センサデータに基づいて、更新された地図データを生成する。例えば、プロセス８００は、センサデータに基づいて交通制御装置とその位置（例えばＧＰＳ座標）を識別することができる。ブロック８２５において、プロセス８００は、更新された地図データを一つまたは複数のＡＤＶに送信することができる。
【００８６】
上記に示され説明された構成要素の一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施できることに留意されたい。例えば、かかる構成要素は、永続性記憶装置にインストールおよび格納されたソフトウェアとして実施することができる。このソフトウェアは、プロセッサ（図示せず）によってメモリにロードされ、メモリによって実行されることにより、本願に記載するプロセスや操作全体を実施することができる。あるいは、そのような構成要素は、集積回路（例えば、特定用途向け集積回路またはＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの専用ハードウェアにプログラミングされまたは埋め込まれる実行可能コードとして実施することができる。この実行可能コードは、アプリケーションによるそれ相応のドライバーおよび／またはオペレーティングシステムを介してアクセスすることができる。さらに、そのような構成要素は、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして、一つまたは複数の特定の命令を介してソフトウェア部材からアクセスできる命令セットの一部となり得る。
【００８７】
図９は、本開示の一実施形態とともに使用できるデータ処理システムの例を示すブロック図である。例えば、システム１５００は、上述のプロセスまたは方法のいずれかを実行する上述のデータ処理システムのいずれか（例えば、地図部材６１０または図１のサーバ１０３〜１０４のいずれか）を表すことができる。システム１５００は、さまざまな構成要素を含み得る。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、ディスクリート電子デバイス、または回路基板（例えば、コンピュータシステムのマザーボードやアドインカード）での使用に適した他のモジュール、またはコンピュータシステムのシャーシ内に組み込まれている構成要素として実施することができる。
【００８８】
システム１５００は、コンピュータシステムの多くの構成要素の高レベルビューを示すことを意図していることにも留意されたい。ただし、特定の実施例は、追加の構成要素を有してもよく、さらに、他の実施例は、示された構成要素の異なるレイアウトを有してもよいことを理解されたい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲーミングデバイス、ネットワークルーターもしくはハブ、ワイヤレスアクセスポイント（ＡＰ）もしくはリピーター、セットトップボックス、またはそれらの組み合わせを表すことができる。さらに、単一の機械またはシステムのみが示されているが、「機械」または「システム」という用語は、単独でまたは共同して一つ（または複数）の命令セットを実行して、ここで説明される一つまたは複数の方法を実行する機械またはシステムの任意の組み合わせも含まれると解釈されるべきである。
【００８９】
一実施形態では、システム１５００は、バスまたはインターコネクト１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３、およびデバイス１５０５〜１５０８を含む。プロセッサ１５０１は、単一のプロセッサコアまたは複数のプロセッサコアを含む単一のプロセッサまたは複数のプロセッサを表し得る。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）など、一つまたは複数の汎用プロセッサを表し得る。より詳しくは、プロセッサ１５０１は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、または他の命令セットを実施するプロセッサ、または命令セットの組み合わせを実施するプロセッサであり得る。プロセッサ１５０１は、特定用途向け集積回路（ＡＳＩＣ）、セルラーもしくはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組み込みプロセッサ、または命令を処理できる他のタイプのロジックなど、一つまたは複数の専用プロセッサであり得る。
【００９０】
プロセッサ１５０１（超低電圧プロセッサなど、低電力マルチコアプロセッサソケットであり得る）は、システムのさまざまな構成要素と通信するための主処理ユニットおよび中央ハブとして機能し得る。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実施することができる。プロセッサ１５０１は、本明細書で説明される動作およびステップを実行するための命令を実行するように構成される。システム１５００は、表示コントローラ、グラフィックプロセッサ、および／または表示装置を含み得るオプションのグラフィックサブシステム１５０４と通信するグラフィカルインターフェースをさらに含み得る。
【００９１】
プロセッサ１５０１は、メモリ１５０３と通信することができる。一実施形態では、メモリ１５０３は、所定の量のシステムメモリを提供するために複数のメモリ装置を介して実施することができる。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、または他のタイプの記憶装置など、一つまたは複数の揮発性記憶（またはメモリ）装置を含み得る。メモリ１５０３は、プロセッサ１５０１または任意の他の装置によって実行される一連の命令を含む情報を格納することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、基本入出力システムまたはＢＩＯＳ）、および／またはアプリケーションの実行可能コードおよび／またはデータは、メモリ１５０３にロードされ、プロセッサ１５０１によって実行され得る。オペレーティングシステムは、ロボットオペレーティングシステム（ＲОＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭａｃＯＳ（登録商標）/ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ、ＵＮＩＸ、またはその他のリアルタイムまたは組み込みオペレーティングシステムなど、任意のタイプのオペレーティングシステムであり得る。
【００９２】
システム１５００はさらに、ネットワークインターフェースデバイス１５０５、オプションの入力デバイス１５０６、および他のオプションのＩ／Ｏデバイス１５０７を含むデバイス１５０５〜１５０８などのＩ／Ｏデバイスを含み得る。ネットワークインターフェースデバイス１５０５は、無線送受信機および／またはネットワークインターフェースカード（ＮＩＣ）を含み得る。この無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線携帯電話送受信機、衛星送受信機（全地球測位システム（ＧＰＳ）送受信機）、もしくはその他の無線周波数（ＲＦ）送受信機またはそれらの組み合わせであり得る。ＮＩＣはイーサネットカードであり得る。
【００９３】
入力デバイス１５０６は、マウス、タッチパッド、タッチスクリーン（表示装置１５０４と統合することができる）、ポインターデバイス（例えば、スタイラス）、および／またはキーボード（例えば、物理キーボードまたはタッチスクリーンの一部として表示される仮想キーボード）を含み得る。例えば、入力デバイス１５０６は、タッチスクリーンに接続されたタッチスクリーンコントローラを含み得る。タッチスクリーンおよびタッチスクリーンコントローラは、例えば、さまざまなタッチセンシティブテクノロジー（コンデンサ、抵抗、赤外線および表面弾性波技術を含むがこれらに限定されない）のいずれか、並びに、その他の近接センサアレイまたはタッチスクリーンと接触する一つまたは複数の点を判断するための他の素子を使用して、それらの接触、移動または中断を検出することができる。
【００９４】
Ｉ／Ｏデバイス１５０７は、音声装置を含み得る。音声装置は、音声認識、音声複製、デジタル録音、および/または電話機能などの音声対応機能を容易にするために、スピーカおよび/またはマイクロホンを含み得る。他のＩ／Ｏデバイス１５０７はさらに、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなどのモーションセンサ）、またはそれらの組み合わせを含み得る。デバイス１５０７はさらに、結像処理サブシステム（例えば、カメラ）を含み得る。この結像処理サブシステムは、電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光学センサなど、カメラ機能（例えば、写真およびビデオセグメントの記録）を促進するための光学センサを含み得る。一部のセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されることができるが、キーボードやサーマルセンサなどの他のデバイスは、システム１５００の特定の構成または設計に応じて、組み込みコントローラー（図示せず）によって制御されることができる。
【００９５】
データ、アプリケーション、一つまたは複数のオペレーティングシステムなどの情報の永続性記憶を実現するために、大容量記憶装置（図示せず）もプロセッサ１５０１に接続され得る。様々な実施形態においては、より薄くてより軽量なシステム設計を実現しながら、システムの応答性を改善するために、かかる大容量記憶装置はソリッドステートデバイス（ＳＳＤ）を介して実施することができる。ただし、別の実施形態では、大容量記憶装置は主にハードディスクドライブ（ＨＤＤ）を使用して実施できる。ここでは、より小さい容量のＳＳＤ記憶装置がＳＳＤのキャッシュとして機能し、停電イベント期間中のコンテキスト状態および他のかかる情報の不揮発性記憶を実現する。これにより、システムアクティビティが再開するときに通電を速く実現することができる。加えて、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続され得る。かかるフラッシュデバイスは、システムのＢＩＯＳや他のファームウェアを含むシステムソフトウェアの不揮発性記憶を実現することができる。
【００９６】
記憶デバイス１５０８は、本明細書で説明される方法または機能のいずれか一つまたは複数を具現化する一つまたは複数の命令セットまたはソフトウェア（例えば、モジュール、ユニット、および／またはロジック１５２８）が格納されるコンピュータアクセス可能記憶媒体１５０９（「機械可読記憶媒体」または「コンピュータ可読媒体」とも呼ばれる）を含み得る。処理モジュール/ユニット/ロジック１５２８は、上記構成要素（例えば、地図部材６１０、センサ部材４１１など）のいずれかを表し得る。処理モジュール/ユニット/ロジック１５２８はさらに、データ処理システム１５００、メモリ１５０３およびプロセッサ１５０１によって実行される期間中に、完全にまたは少なくとも部分的にメモリ１５０３内および/またはプロセッサ１５０１内に存在し得る。データ処理システム１５００、メモリ１５０３およびプロセッサ１５０１はまた、機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック１５２８はさらに、ネットワークを通じて、ネットワークインターフェースデバイス１５０５を介して送信または受信することができる。
【００９７】
コンピュータ可読記憶媒体１５０９を使用して、上記のソフトウェア機能の一部を永続的に保存することもできる。例示的な実施形態では、コンピュータ可読記憶媒体１５０９は単一の媒体として示されているが、「コンピュータ可読記憶媒体」という用語は、一つまたは複数の命令セットを格納する単一の媒体または複数の媒体（例えば、集中型または分散型データベースおよび/または関連するキャッシュとサーバ）を含むものとする。「コンピュータ可読記憶媒体」という用語はまた、機械によって実行され、この機械に本開示の方法のいずれか一つまたは複数を実行させる命令セットを格納または符号化することができる任意の媒体を含むものとする。したがって、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学および磁気媒体、またはその他の非一時的機械可読媒体を含むが、これらに限定されないものとする。
【００９８】
本明細書で説明された処理モジュール/ユニット/ロジック１５２８、構成要素、および他の特徴は、ディスクリートハードウェア構成要素として実施するか、またはＡＳＩＣ、ＦＰＧＡ、ＤＳＰ、もしくは同様のデバイスなどのハードウェア部材の機能に統合することができる。また、処理モジュール/ユニット/ロジック１５２８は、ハードウェアデバイス内のファームウェアまたは機能性回路として実施することができる。さらに、処理モジュール/ユニット/ロジック１５２８は、ハードウェアデバイスとソフトウェア部材の任意の組み合わせで実施することができる。
【００９９】
システム１５００は、データ処理システムの様々な構成要素を有するように示されているが、構成要素を相互接続する任意の特定のアーキテクチャまたは方法を表すことを意図していないことに留意されたい。というのは、そのような詳細は、本開示の実施形態とは密接な関係がないからである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、および/または他のデータ処理システムは、本開示の実施形態とともに使用できることを理解されたい。
【０１００】
前述の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現の観点から提示されている。これらのアルゴリズムの説明と表現は、データ処理の分野の当業者がそれらの作業実質を所属分野の他の当業者に最も効果的に伝達するために使用する方法である。ここでは、アルゴリズムは、一般的に、望ましい結果を導く一貫した操作のシーケンスであると考えられる。これらの操作とは、物理量の物理的処置が必要とされるものである。
【０１０１】
ただし、これらの用語および類似の用語はすべて適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎないことに留意されたい。上記の説明において他の形で明記しない限り、本明細書全体において、用語（例えば、添付の特許請求の範囲に記載されている用語）による説明とは、コンピュータシステムまたは類似の電子式計算装置の動作および処理を指し、かかるコンピュータシステムまたは電子式計算装置は、コンピュータシステムのレジスタおよびメモリ内の物理（電子）量として表されるデータを制御するとともに前記データをコンピュータシステムメモリもしくはレジスタまたは他のこのような情報記憶装置、伝送もしくは表示装置内の同様に物理量として表される他のデータに変換する。
【０１０２】
本開示の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に保存される。機械可読媒体は、機械（例えば、コンピュータ）によって読み取り可能な形式で情報を保存するための任意のメカニズムを含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス）を含み得る。
【０１０３】
前の図に示されているプロセスまたは方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的コンピュータ可読媒体で具体化されるもの）、またはそれらの組み合わせを含む処理ロジックによって実行されることができる。プロセスまたは方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行できることを理解されたい。さらに、一部の動作は、順番ではなく並行して実行されることができる。
【０１０４】
本開示の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。本明細書で説明される本開示の実施形態の教示を実施するために、様々なプログラミング言語を使用できることを理解されたい。
【０１０５】
上記の明細書において、本開示の実施形態は、その特定の例示的な実施形態を参照しながら説明されてきた。添付の特許請求の範囲に記載された本開示のより広い精神および範囲から逸脱することなく、それに様々な変更を加えることができることは明らかであろう。したがって、本明細書と図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車両に対して地図データを生成するためのコンピュータ実施方法であって、
自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、
交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、
交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、
更新された地図データを前記自動運転車両のセットまで送信するステップと、を備えるコンピュータ実施方法。
【請求項２】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットに閾値台数の自動運転車両が含まれているかどうかを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項３】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記レポートメッセージのセットに閾値通数のレポートメッセージが含まれているかどうかを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項４】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信した回数のセットを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項５】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信したときの前記環境内の気象条件のセットを確定することを含む請求項１に記載のコンピュータ実施方法。
【請求項６】
更新された地図データは、第１交通制御装置が前記環境に追加されたことを示す請求項１に記載のコンピュータ実施方法。
【請求項７】
更新された地図データは、前記第１交通制御装置が一時的なものであることを示す請求項６に記載のコンピュータ実施方法。
【請求項８】
更新された地図データは、前記環境から第１交通制御装置が除去されたことを示す請求項１に記載のコンピュータ実施方法。
【請求項９】
更新された地図データは、前記環境における第１交通制御装置が異なる位置まで移動されたことを示す請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記自動運転車両のセットは、以前に前記環境にあったか、または現在前記環境にある請求項１に記載のコンピュータ実施方法。
【請求項１１】
前記レポートメッセージのセットにはさらにセンサデータが含まれる請求項１に記載のコンピュータ実施方法。
【請求項１２】
前記センサデータには前記自動運転車両のセットのカメラのセットにより生成されたビデオデータが含まれる請求項１１に記載のコンピュータ実施方法。
【請求項１３】
前記センサデータには前記自動運転車両のセットのレーダユニットのセットにより生成されたレーダデータが含まれる請求項１１に記載のコンピュータ実施方法。
【請求項１４】
前記センサデータには前記自動運転車両のセットの光検出・測距ユニットのセットにより生成された光検出・測距データが含まれる請求項１１に記載のコンピュータ実施方法。
【請求項１５】
命令が格納されている非一時的機械可読媒体であって、前記命令はプロセッサによって実行されると、前記プロセッサに操作を実行させ、前記操作は、
自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、
交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、
交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、
更新された地図データを前記自動運転車両のセットまで送信するステップと、を備える非一時的機械可読媒体。
【請求項１６】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットに閾値台数の自動運転車両が含まれているかどうかを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項１７】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記レポートメッセージのセットに閾値通数のレポートメッセージが含まれているかどうかを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項１８】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信した回数のセットを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項１９】
交通制御装置の前記第１セットと交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップは、
前記自動運転車両のセットから前記レポートメッセージのセットを受信したときの前記環境内の気象条件のセットを確定することを含む請求項１５に記載の非一時的機械可読媒体。
【請求項２０】
プロセッサと前記プロセッサに接続して命令を格納するメモリとを備えるデータ処理システムであって、
前記命令は前記プロセッサによって実行される際に前記プロセッサに操作を実行させ、前記操作は、
自動運転車両のセットから、前記自動運転車両のセットによって環境中に検出された交通制御装置の第１セットを示すレポートメッセージのセットを受信するステップと、
交通制御装置の前記第１セットと前記環境の地図データが示した交通制御装置の第２セットの間に一つまたは複数の相違が存在するかどうかを判定するステップと、
交通制御装置の前記第１セットと交通制御装置の前記第２セットの間に一つまたは複数の相違が存在するという判定に応じて、更新された地図データを生成するステップと、
更新された地図データを前記自動運転車両のセットまで送信するステップと、を備えるデータ処理システム。
【請求項２１】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜１４のいずれか一項に記載の方法を実現する、コンピュータプログラム。
【外国語明細書】
2020095250000001.pdf