(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-28
(54)【発明の名称】自動運転車両におけるセンサ同期性データ分析に用いるシステム
(51)【国際特許分類】
G08G 1/16 20060101AFI20220920BHJP
G08G 1/00 20060101ALI20220920BHJP
B60W 40/02 20060101ALI20220920BHJP
G01S 17/86 20200101ALI20220920BHJP
G01S 17/931 20200101ALI20220920BHJP
【FI】
G08G1/16 A
G08G1/00 X
B60W40/02
G01S17/86
G01S17/931
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021538103
(86)(22)【出願日】2019-07-22
(85)【翻訳文提出日】2021-09-17
(86)【国際出願番号】 CN2019097115
(87)【国際公開番号】W WO2021012153
(87)【国際公開日】2021-01-28
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517323290
【氏名又は名称】バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド
【氏名又は名称原語表記】Baidu.com Times Technology (Beijing) Co., Ltd.
【住所又は居所原語表記】2/F A2 Zhongguancun Software Park 17th building, No.8, Dongbeiwang West Road, Haidian District, Beijing 100080, China
(71)【出願人】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(72)【発明者】
【氏名】ワン、 シュアイ
(72)【発明者】
【氏名】グオ、 シュアンチェン
(72)【発明者】
【氏名】リ、 シャンフェイ
(72)【発明者】
【氏名】リ、 チョンチョン
(72)【発明者】
【氏名】シェン、ジアン
(72)【発明者】
【氏名】フアン、 デヴィ
(72)【発明者】
【氏名】ツァン、 マンジャン
【テーマコード(参考)】
3D241
5H181
5J084
【Fターム(参考)】
3D241BA50
3D241CC01
3D241CC08
3D241CC17
3D241CE01
3D241CE02
3D241CE05
3D241DB01Z
3D241DB02Z
3D241DC41Z
5H181AA01
5H181BB04
5H181BB20
5H181CC03
5H181CC04
5H181CC14
5H181FF05
5H181LL01
5H181LL02
5H181LL04
5H181LL09
5J084AA04
5J084AA05
5J084AB01
5J084AB07
5J084AB16
5J084AC02
5J084AD01
5J084AD02
5J084AD05
5J084BA34
5J084BA40
5J084CA65
5J084CA67
5J084EA22
(57)【要約】
本開示は、センサ同期のオンラインシステムレベル検証のための様々な実施形態を記載する。自動運転車両( ADV )内のセンサ同期を分析するための例示的な方法は、 ADVに取り付けられた第1のセンサおよび第2のセンサから、 ADVの周囲の対象物体を記述する生センサデータを取得するステップと、生センサデータから抽出されたタイムスタンプに従って、生センサデータに基づいて精度マップを生成するステップとを含む。この方法はまた、生のセンサデータを使用して、対象物体を取り囲む第1のバウンディングボックスおよび第2のバウンディングボックスを生成するステップと、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを、 1つまたは複数の予め構成されたセンサ設定に従って所定のアルゴリズムを使用して分析し、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップとを含む。
【選択図】
図9
【特許請求の範囲】
【請求項1】
自動運転車両におけるセンサ同期性を分析する、コンピュータにより実施される方法であって、
前記自動運転車両に搭載された第1のセンサおよび第2のセンサから、前記自動運転車両の周囲の対象物を記述した生のセンサデータを取得するステップと、
前記生センサデータと、前記生センサデータから抽出されたタイムスタンプとに基づいて、精度マップを生成するステップと、
前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、
1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、
を含む、方法。
【請求項2】
前記第一センサはカメラであり、前記第二センサは光検出及び測距装置である、請求項1に記載の方法。
【請求項3】
前記1つ又は複数の予め配置されたセンサ配置は、前記カメラの走査方向及び前記光検出及び測距装置の走査方向を含む、請求項2に記載の方法。
【請求項4】
前記解析を実行するステップは、
それぞれの取得タイムスタンプに基づいて、カメラからの第1の生センサデータと、光検出及び測距装置からの第2の生センサデータとが、所定の同期点で互いに一致しているか否かを判定するステップ、をさらに含む、
請求項2に記載の方法。
【請求項5】
前記同期ポイントは、前記ターゲットオブジェクトのタイプに基づいて決定される、請求項4に記載の方法。
【請求項6】
前記第1のバウンディングボックスは、前記カメラからの第1のセンサデータに基づいて生成された2Dバウンディングボックスであり、前記第2のバウンディングボックスは、前記光検出及び測距装置からの第2のセンサデータに基づいて生成された3Dバウンディングボックスである、請求項2に記載の方法。
【請求項7】
前記解析を実行するステップは、
前記第1のバウンディングボックスと前記第2のバウンディングボックスとが一致するか否かを判定するステップをさらに含む、
請求項2に記載の方法。
【請求項8】
コンピュータ指令を記録した非一時的コンピュータ可読媒体であって、
前記コンピュータ指令は、プロセッサに実行されると、前記自動運転車両に搭載された第1センサおよび第2センサから、前記自動運転車両の周囲の対象物を記述した生センサデータを取得するステップと、
前記生センサデータから抽出されたタイムスタンプに基づいて、前記生センサデータに基づく精度マップを生成するステップと、
前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、
1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、
を含む動作をプロセッサに実行させる、非一時的コンピュータ可読媒体。
【請求項9】
前記第1のセンサはカメラであり、前記第2のセンサは光検出及び測距装置である、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記1つ又は複数の予め設定されたセンサ配置は前記カメラの走査方向及び前記光検出及び測距装置の走査方向を含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記解析を行うステップは、
それぞれの取得タイムスタンプに基づいて、カメラからの第1の生センサデータと、光検出及び測距装置からの第2の生センサデータとが、所定の同期点で互いに一致しているか否かを判定するステップを更に含む、
請求項9に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記同期ポイントは、前記ターゲットオブジェクトのタイプに基づいて決定される、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記第1のバウンディングボックスは、前記カメラからの第1のセンサデータに基づいて生成された2Dバウンディングボックスであり、前記第2のバウンディングボックスは、前記光検出及び測距装置からの第2のセンサデータに基づいて生成された3Dバウンディングボックスである、
請求項9に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記解析を実行するステップは、
前記第1のバウンディングボックスと前記第2のバウンディングボックスとが一致するか否かを判定することを更に含む、
請求項9に記載の非一時的なコンピュータ可読媒体。
【請求項15】
データ処理システムであって、
プロセッサと、前記プロセッサに接続され、指令を記憶するメモリとを備え、
前記指令は前記プロセッサによって実行されると、
前記自動運転車両に搭載された第1センサおよび第2センサから、前記自動運転車両の周囲の対象物を記述した生センサデータを取得するステップと、
前記生センサデータから抽出されたタイムスタンプに基づいて、前記生センサデータに基づく精度マップを生成するステップと、
前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、
1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、
を含む動作を前記プロセッサに実行させる、データ処理システム。
【請求項16】
前記第1のセンサはカメラであり、前記第2のセンサは光検出及び測距装置である、請求項15に記載のシステム。
【請求項17】
前記1つ又は複数の予め配置されたセンサ配置は前記カメラの走査方向及び前記光検出及び測距装置の走査方向を含む、請求項16に記載のシステム。
【請求項18】
前記解析を実行することは、
それぞれの取得タイムスタンプに基づいて、カメラからの第1の生センサデータと、光検出及び測距装置からの第2の生センサデータとが、所定の同期点で互いに一致しているか否かを判定するステップを更に含む、
請求項16に記載のシステム。
【請求項19】
前記同期ポイントは、前記ターゲットオブジェクトのタイプに基づいて決定される、請求項18に記載のシステム。
【請求項20】
前記第1のバウンディングボックスは、前記カメラからの第1のセンサデータに基づいて生成された2Dバウンディングボックスであり、前記第2のバウンディングボックスは、前記光検出及び測距装置からの第2のセンサデータに基づいて生成された3Dバウンディングボックスである、請求項16に記載のシステム。
【請求項21】
前記解析を実行するステップは、
前記第1のバウンディングボックスと前記第2のバウンディングボックスとが一致するか否かを判定するステップを更に含む、
請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、自動運転車両の運転に関する。より具体的には、本開示の実施形態は、センサ同期検証に関する。
【背景技術】
【0002】
自動運転モード(例えば、無人運転)で作動する車両は、乗員、特に運転者を運転に関連する職責から解放することができる。自動運転モードで動作しているとき、車両は、車載センサを使用して様々な位置にナビゲートすることができ、これにより、最小限の人間とコンピュータの相互作用で、または乗客なしで車両を走行させることができる。
【0003】
車載センサは、自動運転車両を安全かつ安定に制御するために、較正、同期および融合を行う必要がある。一般に、センサデータの同期は、センサデータ上のタイムスタンプを使用して測定することができる。しかしながら、この方法は単にソフトウェアレベルの検証を提供するだけであり、データ収集および送信を提供するセンサおよびシステムハードウェアを検証することはできない。したがって、システムレベルでセンサデータの同期性を検証し、フィードバックを提供してシステムレベルでの同期精度を向上させるために使用できる技術が望まれている。
【発明の概要】
【0004】
第1の態様において、本開示の実施形態は、自動運転車両におけるセンサ同期性を分析する、コンピュータにより実施される方法であって、前記自動運転車両に搭載された第1のセンサおよび第2のセンサから、前記自動運転車両の周囲の対象物を記述した生のセンサデータを取得するステップと、前記生センサデータと、前記生センサデータから抽出されたタイムスタンプとに基づいて、精度マップを生成するステップと、前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップとを含む方法を提供する。
【0005】
第2の態様では、本開示の実施形態は、コンピュータ指令を記録した非一時的コンピュータ可読媒体であって、前記コンピュータ指令は、プロセッサに実行されると、前記自動運転車両に搭載された第1センサおよび第2センサから、前記自動運転車両の周囲の対象物を記述した生センサデータを取得するステップと、前記生センサデータから抽出されたタイムスタンプに基づいて、前記生センサデータに基づく精度マップを生成するステップと、前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、を含む動作をプロセッサに実行させる、非一時的コンピュータ可読媒体を提供する。
【0006】
第3の態様では、本開示の実施形態は、データ処理システムであって、プロセッサと、前記プロセッサに接続され、指令を記憶するメモリとを備え、前記指令は前記プロセッサによって実行されると、前記自動運転車両に搭載された第1センサおよび第2センサから、前記自動運転車両の周囲の対象物を記述した生センサデータを取得するステップと、前記生センサデータから抽出されたタイムスタンプに基づいて、前記生センサデータに基づく精度マップを生成するステップと、前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、を含む動作を前記プロセッサに実行させる、データ処理システムを提供する。
【図面の簡単な説明】
【0007】
本開示の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同様の符号が同様の要素を示す。
【
図1】一実施形態によるネットワーク化システムを示すブロック図である。
【
図2】実施形態に係る自動運転車両の一例を示すブロック図である。
【
図3】
図3A~3Bは、一実施形態による、自動運転車両と共に使用される検知・計画システムの一例を示すブロック図である。
【
図4】一実施形態による自動運転システムのアーキテクチャを示すブロック図である。
【
図5】実施形態に係るセンサユニットの一例を示すブロック図である。
【
図6】一実施形態による、自動運転車両におけるセンサ同期を検証するための例示的なシステムを示す。
【
図7】一実施形態による自動運転車両における
図6に示す例示的なシステムをさらに示す。
【
図8】いくつかの実施形態による例示的な精度マップを示す図である。
【
図9】一実施形態による、ターゲットオブジェクトを囲む例示的なバウンディングボックスを示す。
【
図10】1つの実施形態による、自動運転車両におけるセンサ同期を検証するための例示的なプロセスを示す。
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明の実施の形態について説明する。以下の説明及び図面は本開示の説明であり、本開示を限定するものと解釈すべきではない。本開示の様々な実施形態の完全な理解を提供するために、多くの特定の詳細が記載されている。しかしながら、いくつかの場合において、本開示の実施形態の簡潔な説明を提供するために、周知の詳細または従来の詳細は記載されていない。
【0009】
本明細書における「一実施形態」または「実施形態」への言及は、実施形態に関連して説明された特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれ得ることを意味する。本明細書の様々な箇所における「一実施形態では」という語句の出現は、必ずしも同一の実施形態を意味するものではない。
【0010】
本開示は、センサ同期のオンラインシステムレベル検証のための様々な実施形態を記載する。一実施形態によれば、自動運転車両(ADV)内のセンサ同期を分析する例示的な方法は、ADVに取り付けられた第1のセンサおよび第2のセンサから、ADVの周囲の対象物体を記述する生センサデータを取得するステップと、生センサデータから抽出されたタイムスタンプに従って、生センサデータに基づいて精度マップを生成するステップとを含む。この方法はまた、生のセンサデータを使用して、対象物体を取り囲む第1のバウンディングボックスおよび第2のバウンディングボックスを生成するステップと、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを、1つまたは複数の予め構成されたセンサ設定に従って所定のアルゴリズムを使用して分析し、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップとを含む。
【0011】
一実施形態によれば、同期検証モジュールは、システムレベルで車載センサの同期性およびセンサデータ融合を検証するためにADV内に設けられてもよい。ソフトウェアモジュールは、ADV内のセンサシステムに結合され、解析のためにセンサシステムから生センサデータを取得することができる。生センサデータに基づいて、同期検証モジュールは、センサシステムによって検出されている対象物のタイプを検出し、生センサデータが互いに同期するために適切なタイムスタンプを有するかどうかを判定することができる。
【0012】
一実施形態では、同期検証モジュールは、それぞれのタイムスタンプに基づいて異なるセンサデータの整列を示すように、各ターゲットオブジェクトについて精度マップを生成し、各タイプのセンサからのセンサデータについてターゲットオブジェクトを囲むバウンディングボックスを生成する。同期検証モジュールは、ターゲットオブジェクトのタイプが与えられた場合に、異なるセンサデータが所望の点に整列され、ターゲットオブジェクトを囲むバウンディングボックスが互いに一致するかどうかを判定することができる。バウンディングボックスは、バウンディングボックス内に任意の不一致領域が存在することが望ましいかどうかを決定するために、精度マップと照合して照合することができる。
【0013】
[自動運転車両]
図1は、本開示の一実施形態による自動運転車両ネットワーク構成を示すブロック図である。
図1を参照すると、ネットワーク構成100は、ネットワーク102を介して1つまたは複数のサーバ103~104に通信可能に結合され得る自動運転車両101を含む。1つの自動運転車両が示されているが、複数の自動運転車両が、ネットワーク102を介して互いにおよび/またはサーバ103~104に接続されてもよい。ネットワーク102は、有線または無線ローカルエリアネットワーク(LAN)、インターネットなどの広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、またはそれらの組み合わせなどの任意のタイプのネットワークであってもよい。サーバ103~104は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組み合わせのような任意のタイプのサーバまたはサーバクラスタとすることができる。サーバ103~104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心点(MPOI)サーバ、位置サーバ等であってもよい。
【0014】
自動運転車両とは、車両が運転者からの入力をほとんど又は全く伴わずに環境を通って移動する自動運転モードにあるように構成することができる車両を指す。そのような自動運転車両は、車両の動作環境に関する情報を検出するように構成された1つ以上のセンサを有するセンサシステムを含むことができる。車両およびそれに関連する制御装置は、検出された情報を使用して環境をナビゲートする。自動運転車両101は、手動モード、全自動運転モード、または部分自動運転モードで運転することができる。
【0015】
一実施形態では、自動運転車両101は、検知・計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、およびセンサシステム115を含むが、これらに限定されない。自動運転車両101はまた、エンジン、車輪、ハンドル、トランスミッションなどの一般的な車両に含まれるいくつかの一般的な構成要素を含むことができ、これらの構成要素は、加速信号またはコマンド、減速信号またはコマンド、ターンシグナルまたはコマンド、制動信号またはコマンドなどのような様々な通信信号および/またはコマンドを用いて、車両制御システム111および/または検知・計画システム110によって制御されることができる。
【0016】
コンポーネント110~115は、相互接続、バス、ネットワーク、またはそれらの組み合わせを介して互いに通信可能に結合されてもよい。例えば、コンポーネント110~115は、CAN(Controller Area Network)バスを介して互いに通信可能に結合されてもよい。CANバスは、マイクロコントローラおよびデバイスがホストなしのアプリケーションにおいて互いに通信することを可能にするように設計された車両バス規格である。これは、最初は自動車内の多重化電気配線のために設計されたメッセージベースのプロトコルであったが、多くの他の環境においても使用されている。
【0017】
ここで
図2を参照すると、一実施形態において、センサシステム115は、 1つ以上のカメラ211、全地球測位システム(GPS)ユニット212、慣性測定ユニット(IMU)213、レーダユニット214、および光検出および距離測定(LIDAR)ユニット215を含むが、これらに限定されない。GPSユニット212は、自動運転車両の位置に関する情報を提供するように動作可能なトランシーバを含むことができる。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置および向きの変化を検知することができる。レーダユニット214は、無線信号を使用して車両を自動運転するローカル環境内の物体を検知するシステムを表すことができる。いくつかの実施形態では、レーダユニット214は、対象物を検知することに加えて、対象物の速度および/または進行方向を検知することができる。LIDARユニット215は、自動運転車両が置かれる環境内の物体を検知するためにレーザを使用することができる。LIDARユニット215は、他のシステム構成要素に加えて、1つ以上のレーザ光源、レーザスキャナ、および1つ以上の検出器を含むことができる。カメラ211は、自動運転車両の周囲の画像を取得するための1つ以上の手段を含むことができる。カメラ211は,スチルカメラやビデオカメラであってもよい。カメラは、例えば、カメラを回転及び/又は傾斜したプラットフォームに取り付けることによって、機械的に移動可能であってもよい。
【0018】
センサシステム115はまた、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、およびオーディオセンサ(例えば、マイクロホン)などの他のセンサを含むことができる。オーディオセンサは、自動運転車両の周囲の環境から音を収集するように構成することができる。ステアリングセンサは、ステアリングホイール、車両の車輪、又はこれらの組み合わせのステアリング角度を検出するように構成することができる。アクセルセンサ及びブレーキセンサはそれぞれ車両のアクセル位置及びブレーキ位置を検出する。場合によっては、アクセルセンサおよびブレーキセンサは、統合型アクセルセンサ/ブレーキセンサとして統合されてもよい。
【0019】
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(アクセルユニットとも呼ばれる)、およびブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は,車両の向きや進行方向を調整するためのものである。スロットルユニット202は、車両の速度および加速度を制御するために、モータまたはエンジンの速度を制御するために使用される。ブレーキユニット203は,摩擦を付与して車両の車輪やタイヤを減速させることにより,車両を減速させる。なお、
図2に示す各構成要素は、ハードウェア、ソフトウェア、またはそれらの組み合わせによって実現されてもよい。
【0020】
再び
図1を参照すると、無線通信システム112は、自動運転車両101と、装置、センサ、他の車両などの外部システムとの間の通信を可能にする。例えば、ワイヤレス通信システム112は、1つまたは複数のデバイスと直接ワイヤレス通信することができ、またはネットワーク102を介してサーバ103~104と通信するなど、通信ネットワークを介してワイヤレス通信することができる。ワイヤレス通信システム112は、他のコンポーネントまたはシステムと通信するために、任意のセルラー通信ネットワークまたはワイヤレスローカルエリアネットワーク(WLAN)、例えばWiFiを使用することができる。ワイヤレス通信システム112は、例えば、赤外線リンク、Bluetoothなどを使用して、デバイス(例えば、乗客のモバイルデバイス、ディスプレイデバイス、車両101内のスピーカ)と直接通信することができる。ユーザインターフェースシステム113は、例えば、キーボード、タッチスクリーン表示装置、マイクロホン、およびスピーカなどを含む、車両101内に実装された周辺装置の一部であってもよい。
【0021】
自動運転車両101の機能の一部または全部は、特に自動運転モードで動作しているときに、検知・計画システム110によって制御または管理されてもよい。検知・計画システム110は、センサシステム115、制御システム111、無線通信システム112、および/またはユーザインターフェースシステム113から情報を受信し、受信した情報を処理し、出発地から目的地までの経路または経路を計画し、計画および制御情報に基づいて車両101を運転するために必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)およびソフトウェア(例えば、オペレーティングシステム、計画および経路スケジューリングプログラム)を含む。あるいは、検知・計画システム110は、車両制御システム111と統合されてもよい。
【0022】
例えば、乗客であるユーザは、例えばユーザインターフェースを介して行程の開始位置及び目的地を指定することができる。検知・計画システム110は、行程関連データを取得する。例えば、検知及び計画システム110は、サーバ103~104の一部であってもよいMPOIサーバから位置及び経路情報を取得してもよい。位置サーバは、位置サービスを提供し、MPOIサーバは、地図サービスおよび特定の位置のPOIを提供する。あるいは、そのような位置およびMPOI情報は、検知・計画システム110の永続的記憶装置内にローカルにキャッシュされてもよい。
【0023】
自動運転車両101が経路に沿って移動する場合、検知及び計画システム110は交通情報システム又はサーバ(TIS)からリアルタイム交通情報を取得することもできる。なお、サーバ103~104は、第三者エンティティによって操作されてもよい。あるいは、サーバ103~104の機能は、検知・計画システム110と統合されてもよい。リアルタイム交通情報、MPOI情報および位置情報、ならびにセンサシステム115によって検出または検知されたリアルタイムのローカル環境データ(例えば、障害物、物体、周辺車両)に基づいて、検知および計画システム110は、車両101を安全かつ効率的に指定された目的地に到達させるために、計画された経路に従って、例えば制御システム111を介して最適な経路を計画し、運転することができる。
【0024】
サーバ103はデータ分析システムであってもよく、それにより様々なクライアントに対してデータ分析サービスを実行する。一実施形態では、データ分析システム103は、データ収集器121および機械学習エンジン122を含む。データ収集器121は、様々な車両(自動運転車両または人間の運転者によって運転される従来の車両)から運転統計データ123を収集する。運転統計データ123は、発行された運転指令(例えば、アクセル、ブレーキ、操舵指令)、および異なる時点で車両のセンサによって捕捉された車両の応答(例えば、速度、加速、減速、方向)を示す情報を含む。運転統計データ123は、例えば、出発地および目的地を含む経路、MPOI、道路状況、天気状況などのような、異なる時点での運転環境を記述する情報も含むことができる。
【0025】
運転統計データ123に基づいて、様々な目的のために、機械学習エンジン122は、一連の規則、アルゴリズム、および/または予測モデル124を生成または訓練する。次いで、アルゴリズム124は、自動運転中にリアルタイムで使用するためにADVにアップロードすることができる。
【0026】
図3Aおよび3Bは、一実施形態による自動運転車両と共に使用される検知・計画システムの一例を示すブロック図である。システム300は、限定ではないが、検知および計画システム110、制御システム111、およびセンサシステム115を含む、
図1の自動運転車両101の一部として実装することができる。
図3A~
図3Bを参照すると、検知および計画システム110は、測位モジュール301、検知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、およびルーティングモジュール307を含むが、これらに限定されない。
【0027】
モジュール301~307の一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装されてもよい。例えば、これらのモジュールは、永続的記憶装置352にインストールされ、メモリ351にロードされ、1つまたは複数のプロセッサ(図示せず)によって実行されてもよい。これらのモジュールの一部または全部は、
図2の車両制御システム111のモジュールの一部または全部に通信可能に結合または統合されてもよいことに留意されたい。モジュール301~307のいくつかは、一緒に集積モジュールに集積されてもよい。
【0028】
測位モジュール301は、自動運転車両300の現在位置を決定し(例えば、GPSユニット212を使用して)、ユーザの行程または経路に関連する任意のデータを管理する。測位モジュール301(地図及びルートモジュールとも呼ばれる)はユーザの旅行又はルートに関連する任意のデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインし、移動の開始位置および目的地を指定することができる。測位モジュール301は、地図・経路情報311のような自動運転車両300の他の構成要素と通信して、行程関連データを取得する。例えば、測位モジュール301は位置サーバ及び地図並びにPOI(MPOI)サーバから位置及び経路情報を取得することができる。位置サーバは、位置サービスを提供し、MPOIサーバは、地図サービスおよび特定の位置のPOIを提供して、地図・経路情報311の一部としてキャッシュすることができる。自動運転車両300が経路に沿って移動する場合、測位モジュール301は交通情報システム又はサーバからリアルタイム交通情報を取得することもできる。
【0029】
検知モジュール302は、センサシステム115によって提供されるセンサデータと、測位モジュール301によって取得される位置情報とに基づいて、周囲環境の検知を決定する。検知情報は、運転者が運転している車両の周囲で一般運転者が検知するものを示すことができる。検知は、例えば、オブジェクトの形態の車線構成、信号機、他の車両の相対位置、歩行者、建物、横断歩道、または他の交通関連標識(例えば、停止標識、許可標識)などを含むことができる。レーン構成は、例えば、レーンの形状(例えば、直線または曲線)、レーンの幅、道路内のレーン数、一方向または双方向レーン、合流または分岐レーン、退出レーンなどのような、1つまたは複数のレーンを記述する情報を含む。
【0030】
検知モジュール302は、1つまたは複数のカメラによって取得された画像を処理および分析して、自動運転車両環境内の物体および/または特徴を識別するためのコンピュータ視覚システムまたはコンピュータ視覚システムの機能を含むことができる。オブジェクトは、交通信号、道路境界、他の車両、歩行者、および/または障害物などを含むことができる。コンピュータ視覚システムは、オブジェクト認識アルゴリズム、ビデオ追跡、および他のコンピュータ視覚技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境マップを描画し、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。検知モジュール302は、レーダーおよび/またはLIDARなどの他のセンサによって提供される他のセンサデータに基づいて対象物を検出することもできる。
【0031】
各オブジェクトについて、予測モジュール303は、オブジェクトがこの場合どのように表現されるかを予測する。予測は、地図・経路情報311および交通ルール312のセットを考慮した時点で運転環境を検知する検知データに基づいて実行される。例えば、対象物が反対方向の車両であり、現在の走行環境が交差点を含む場合、予測モジュール303は、車両が直進または旋回する可能性があるかどうかを予測する。認識データが交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があると予測することができる。検知データが、車両が現在左折固有車線または右折固有車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折または右折する可能性が高いと予測することができる。
【0032】
各オブジェクトについて、決定モジュール304は、オブジェクトをどのように処理するかについての決定を行う。例えば、決定モジュール304は、特定のオブジェクト(例えば、交差経路内の他の車両)と、オブジェクトを記述するメタデータ(例えば、速度、方向、方向転換角)とに対して、オブジェクトとどのように出会うか(例えば、追い越し、行き、停止、超過)を決定する。決定モジュール304は、交通ルールまたは運転ルール312のような、永続記憶装置352に記憶され得るルールセットに基づいて、そのような決定を行うことができる。
【0033】
ルーティングモジュール307は、出発地から目的地までの1つまたは複数のルートまたは経路を提供するように構成される。出発地から目的地までの所与の行程、例えばユーザから受信した所与の行程について、ルーティングモジュール307は、地図・経路情報311を取得し、出発地から目的地までのすべての可能な経路または経路を決定する。ルーティングモジュール307は、出発地から目的地までの各ルートを決定する地形図の形態の基準線を生成することができる。基準線は、他の車両、障害物、または交通状況などの他の任意の干渉を受けない理想的な経路または経路を指す。すなわち、道路上に他の車両、歩行者、または障害物が存在しない場合、ADVは基準線に正確に追従しなければならない。地形図は、決定モジュール304および/または計画モジュール305に提供される。決定モジュール304および/または計画モジュール305は、測位モジュール301からの交通状況、検知モジュール302によって検知された運転環境、および予測モジュール303によって予測された交通状況など、他のモジュールによって提供された他のデータに基づいて最適なルートのうちの1つを選択および変更するために、全ての可能なルートを検査する。時点での特定の走行環境に依存して、ADVを制御するための実際の経路または経路は、ルーティングモジュール307によって提供される基準線に近いか、またはそれとは異なる。
【0034】
検知されたオブジェクトの各々についての決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供された基準線に基づいて、車両の自動運転のための経路または経路および運転パラメータ(例えば、距離、速度、および/または旋回角)を計画する。言い換えると、所与のオブジェクトについて、決定モジュール304は、そのオブジェクトに対して何を行うかを決定し、計画モジュール305は、どのように行うかを決定する。例えば、所与のオブジェクトについて、決定モジュール304は、オブジェクトを超えることを決定することができ、計画モジュール305は、オブジェクトの左または右に超えることを決定することができる。計画および制御データは、車両300が次の移動サイクル(例えば、次の経路/経路セグメント)でどのように移動するかを記述する情報を含む計画モジュール305によって生成される。例えば、計画及び制御データは、車両300が毎時30マイル(mph)の速度で10メートル移動し、その後、25mphの速度で右側車線に変化することを示すことができる。
【0035】
計画および制御データに基づいて、制御モジュール306は、車両制御システム111に適切なコマンドまたは信号を送信することによって、計画および制御データによって定義される経路または経路に従って車両を制御し、自動運転する。計画及び制御データは、経路又は経路に沿って異なる時点で適切な車両設定又は運転パラメータ(例えば、スロットル、ブレーキ、操舵指令)を使用して車両を経路又は経路の第1の地点から第2の地点まで運転するのに十分な情報を含む。
【0036】
一実施形態では、計画段階は、複数の計画サイクル(運転サイクルとも呼ばれる)において、例えば、各時間間隔が100ミリ秒(ms)のサイクルにおいて実行される。計画期間または運転期間のそれぞれについて、計画および制御データに基づいて1つまたは複数の制御コマンドが発行される。すなわち、計画モジュール305は、目標位置およびADVが目標位置に到達するのに必要な時間を含む次の経路セグメントまたは経路セグメントを100ms毎に計画する。あるいは、計画モジュール305は、特定の速度、方向、および/または操舵角などを指定することもできる。一実施形態では、計画モジュール305は、次の所定の期間(例えば、5秒)の経路セグメントまたは経路セグメントを計画する。計画周期毎に、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)の目標位置を計画する。次に、制御モジュール306は、現在のサイクルの計画および制御データに基づいて、1つまたは複数の制御コマンド(例えば、スロットル、ブレーキ、操舵制御コマンド)を生成する。
【0037】
決定モジュール304および計画モジュール305は、統合モジュールとして統合することができることに留意されたい。決定モジュール304/計画モジュール305は、車両を自動的に運転するための運転経路を決定するためのナビゲーションシステムまたはナビゲーションシステムの機能を含むことができる。例えば、ナビゲーションシステムは、自動運転車両が最終目的地までの車道ベースの経路に沿って進む一方で、検知される障害物を実質的に回避する経路に沿って自動運転車両が移動することに影響を与えるための一連の速度及び進行方向を決定することができる。宛先は、ユーザインターフェースシステム113を介して行われるユーザ入力に基づいて設定することができる。ナビゲーションシステムは、自動運転車両が動作している間、運転経路を動的に更新することができる。ナビゲーションシステムは、GPSシステムおよび1つまたは複数のマップからのデータを統合して、車両を自動的に運転するための運転経路を決定することができる。
【0038】
図4は、一実施形態による自動運転のためのシステムアーキテクチャを示すブロック図である。システムアーキテクチャ400は、
図3Aおよび3Bに示すような自動運転システムのシステムアーキテクチャを表すことができる。
図4を参照すると、システムアーキテクチャ400は、限定されるものではないが、アプリケーション層401、計画及び制御(PNC)層402、検知層403、ドライバ層404、ファームウェア層405、及びハードウェア層406を含む。アプリケーション層401は、例えば、ユーザインターフェースシステム113に関連する機能など、車両を自動運転するユーザまたは乗員と対話するユーザインターフェースまたは構成アプリケーションを含むことができる。PNC層402は、少なくとも計画モジュール305および制御モジュール306の機能を含むことができる。検知層403は、少なくとも検知モジュール302の機能を含むことができる。一実施形態では、予測モジュール303および/または決定モジュール304の機能を含む追加のレイヤが存在する。あるいは、そのような機能は、PNC層402および/または検知層403に含まれてもよい。システムアーキテクチャ400はまた、ドライバ層404、ファームウェア層405、およびハードウェア層406を含む。ファームウェア層405は、少なくともセンサシステム115の機能を表すことができ、フィールドプログラマブルゲートアレイ(FPGA)の形態で実現することができる。ハードウェア層406は、制御システム111のような自動運転車両のハードウェアを表すことができる。層401~403は、デバイスドライバ層404を介してファームウェア層405およびハードウェア層406と通信することができる。
【0039】
図5Aは、本発明の一実施形態によるセンサシステムの一例を示すブロック図である。
図5Aを参照すると、センサシステム115は、複数のセンサ510と、ホストシステム110に結合されたセンサユニット314とを含む。ホストシステム110は、
図3Aおよび
図3Bに示されるモジュールのうちの少なくともいくつかを含むことができる、上述の計画および制御システムを表す。センサユニット314は、FPGAデバイス又はASIC(Application Specific Integrated Circuit)デバイスの形態で実現することができる。一実施形態では、センサユニット314は、1つまたは複数のセンサ処理モジュール501(単にセンサ処理モジュールとも呼ばれる)、データ転送モジュール502、およびセンサ制御モジュールまたはロジック503を含む。モジュール501~503は、センサインターフェース504を介してセンサ510と通信することができ、ホストインターフェース505を介してホストシステム110と通信することができる。あるいは、内部または外部バッファ506を使用して、処理のためにデータをバッファリングすることができる。
【0040】
一実施形態では、受信経路または上流方向のために、センサ処理モジュール501は、センサインターフェース504を介してセンサからセンサデータを受信し、バッファ506に一時的に記憶することができるセンサデータ(例えば、フォーマット変換、エラーチェック)を処理するように構成される。データ転送モジュール502は、ホストインターフェース505に適合する通信プロトコルを使用して、処理されたデータをホストシステム110に転送するように構成される。同様に、伝送路または下流方向について、データ転送モジュール502は、ホストシステム110からデータまたはコマンドを受信するように構成される。その後、データは、センサ処理モジュール501によって、対応するセンサに対応するフォーマットに処理される。処理されたデータは次にセンサに送信される。
【0041】
一実施形態では、センサ制御モジュールまたはロジック503は、ホストインターフェース505を介してホストシステム(例えば、検知モジュール302)から受信したコマンドに応答して、例えば、センサデータを取り込むタイミングを起動するなど、センサ510の特定の動作を制御するように構成される。ホストシステム110は、センサデータが任意の時点で車両の周囲の運転環境を検知するために利用されることができるように、センサ510を協調的および/または同期的にセンサデータを捕捉するように構成することができる。
【0042】
センサインターフェース504は、イーサネット(登録商標)、USB(ユニバーサルシリアルバス)、LTE(ロングタームエボリューション)またはセルラー、WiFi、GPS、カメラ、CAN、シリアル(例えば、ユニバーサル非同期受信機送信機またはUART)、SIM(加入者識別モジュール)カード、および他のユニバーサル入出力(GPIO)インターフェースのうちの1つまたは複数を含むことができる。ホストインターフェース505は、PCIe(Peripheral Component InterconnectまたはPCI Express)インターフェースなどの任意の高速または高帯域幅インターフェースであってよい。センサ510は、例えば、カメラ、LIDAR装置、RADAR(レーダー)装置、GPS受信機、IMU、超音波センサ、GNSS(全地球航法衛星システム)受信機、LTEまたはセルラーSIMカード、車両センサ(例えば、アクセル、ブレーキ、ステアリングセンサ)、およびシステムセンサ(例えば、温度、湿度、圧力センサ)などのような、車両を自動運転するための様々なセンサを含むことができる。
【0043】
例えば、カメラは、イーサネット(登録商標)またはGPIOインターフェースを介して接続することができる。GPSセンサは、USBまたは特定のGPSインターフェースを介して結合されてもよい。車両センサは、CANインターフェースを介して接続されてもよい。RADARセンサまたは超音波センサは、 GPIOインターフェースを介して結合されてもよい。LIDARデバイスは、イーサネットインターフェースを介して接続されてもよい。外部SIMモジュールは、 LTEインターフェースを介して接続することができる。同様に、内部SIMモジュールをセンサユニット314のSIMスロットに挿入することができる。UARTのようなシリアルインターフェースは、デバッグ目的でコンソールシステムに接続することができる。
【0044】
センサ510は、任意の種類のセンサであってもよく、様々なベンダまたはプロバイダによって提供されてもよいことに留意されたい。センサ処理モジュール501は、異なるタイプのセンサ、ならびにその対応するデータフォーマットおよび通信プロトコルを処理するように構成される。一実施形態によれば、センサ510の各々は、センサデータを処理し、処理されたセンサデータをホストシステム110と対応するセンサとの間で通信するための特定のチャネルに関連付けられる。各チャネルは、
図5Bに示すように、対応するセンサデータおよびプロトコルを処理するように構成またはプログラムされた特定のセンサ処理モジュールおよび特定のデータ転送モジュールを含む。
【0045】
図5Bを参照すると、センサ処理モジュール501A~501Cは、具体的には、センサ510A~510Cからそれぞれ取得されたセンサデータを処理するように構成される。なお、センサ510A~センサ510Cは、同一のセンサであってもよいし、異なるセンサであってもよい。センサ処理モジュール501A~センサ処理モジュール501Cは、異なるタイプのセンサのための異なるセンサプロセスを処理するように構成(例えば、ソフトウェア構成)することができる。例えば、センサ510Aがカメラである場合、処理モジュール501Aは、カメラ510Aによって撮影された画像を表す特定のピクセルデータに対してピクセル処理動作を実行するように構成され得る。同様に、センサ510AがLIDARデバイスである場合、処理モジュール501Aは、LIDARデータを具体的に処理するように構成される。すなわち、一実施形態によれば、その対応する処理モジュールは、特定のセンサの特定のタイプに応じて、センサデータのタイプに対応する特定のプロセスまたは方法を使用して、対応するセンサデータを処理するように構成することができる。
【0046】
同様に、異なる種類のセンサデータは、異なる速度またはタイミング要件を必要とする異なるサイズまたは感度を有し得るので、データ転送モジュール502A~502Cは、異なるモードで動作するように構成され得る。一実施形態によれば、データ転送モジュール502A~502Cの各々は、低遅延モード、高帯域幅モード、および固定メモリモードとも呼ばれるメモリモードのうちの1つで動作するように構成することができる。
【0047】
低遅延モードで動作しているとき、一実施形態によれば、データ転送モジュール(例えば、データ転送モジュール502)は、センサから受信したセンサデータを、遅延なしに、または遅延が最小限で、できるだけ早くホストシステムに送信するように構成される。センサデータのいくつかはタイミングに非常に敏感であり、できるだけ早く処理する必要がある。このようなセンサデータとしては、例えば、車速、加速度、舵角等の車両状態が挙げられる。
【0048】
高帯域幅モードで動作するとき、一実施形態によれば、データ転送モジュール(例えば、データ転送モジュール502)は、センサから受信したセンサデータを所定量まで蓄積するが、データ転送モジュールとホストシステム110との間の接続の帯域幅内にあるように構成される。蓄積されたセンサデータは、データ転送モジュールとホストシステム110との間の接続の帯域幅が最大であるバッチをホストシステム110に転送するために転送される。一般に、大量のセンサデータを生成するセンサには、高帯域幅モードが使用される。そのようなセンサデータの例は、カメラピクセルデータを含む。
【0049】
メモリモードで動作するとき、一実施形態によれば、データ転送モジュールは、共有メモリページと同様に、センサから受信したセンサデータをホストシステム110のマッピングメモリのメモリ位置に直接書き込むように構成される。メモリモードを使用して送信されるセンサデータの例は、温度、ファン速度などのシステム状態データを含む。
【0050】
多項式最適化または多項式フィットという用語は、多項式関数(例えば、5次または4次の多項式関数)によって表される曲線の形状(この例では、軌跡)が、曲線に沿って連続的になるように(例えば、2つの隣接するセグメントの接続部の導関数が利用可能になるように)最適化されることを意味する。自動運転分野では、始点から終点までの多項式曲線を複数のセグメント(又はセグメント)に分割し、各セグメントはいずれも一つの制御点(又は基準点)に対応する。この区分多項式曲線を区分多項式と呼ぶ。セグメント化多項式を最適化する場合、初期状態制約および最終状態制約のセットに加えて、2つの隣接セグメント間の結合制約のセットおよび境界制約のセットを満たす必要がある。
【0051】
1組の結合制約は、位置(x、y)、速度、進行方向を含み、隣接セグメントの加速度は同一でなければならない。例えば、第1のセグメント(例えば、前セグメント)の終了位置と第2のセグメント(例えば、後セグメント)の開始位置とは、同一であるか、又は所定の近接範囲内になければならない。第1セグメントの終了位置の速度、進行方向及び加速度、並びに第2セグメントの開始位置のそれぞれの速度、進行方向及び加速度は、同一であるか又は所定の範囲内でなければならない。さらに、各制御点は、所定の境界(例えば、制御点の左右0.2メートル)に関連付けられている。多項式曲線は、対応する境界内の各制御点を通過しなければならない。最適化中に2組の制約が満たされる場合、軌道を表す多項式曲線は滑らかで連続的であるべきである。
センサ同期性検証
【0052】
図6は、一実施形態による、自動運転車両におけるセンサ同期を検証するための例示的なシステム600を示す。
【0053】
図6に示すように、センサ同期検証モジュール602は、ホストインターフェース505を介してセンサ510によって収集された生センサデータを受信することができる。上述したように、ホストシステム110は、センサデータが任意の時点で車両の周囲の運転環境を検知するために利用されることができるように、センサ510を協調的および/または同期的にセンサデータを捕捉するように構成することができる。センサ同期検証モジュール602によって受信されるセンサデータは、周囲の物体および環境を検出するためにホストシステム110によって使用されるセンサデータと同じであってもよい。
【0054】
センサシステム115は、ハードウェアセンサ510と、センサ510によって収集されたセンサデータを送信、処理、管理、および同期するためのソフトウェアコンポーネントおよびハードウェアコンポーネントとを含む。したがって、センサ同期検証モジュール602は、センサシステム115からのセンサデータ同期を検証する際に、システムレベルでセンサデータ同期を検証することができる。任意のセンサ510からのセンサデータが1つまたは複数の他のセンサと非同期である場合、センサ同期検証モジュールは、1つまたは複数の所定の閾値に基づいて、センサシステム115がエラーに遭遇したと判定することができる。このエラーは、センサシステムが改良を必要とすることをユーザが視覚的に判断するために、グラフィカルユーザインターフェース605上に様々なグラフ、図およびチャートとして表示されてもよい。
【0055】
図7は、1つの実施形態による、自動運転車両におけるセンサ同期を検証するための例示的なシステム600をさらに示す。
【0056】
図7に示すように、センサ同期検証モジュール602は、センサユニット314からの生センサデータ701を検証するためのアルゴリズムを実装することができる。本明細書で使用されるように、一実施形態では、同期センサデータは、センサ510からデータポイントのセットを受信することと、データポイントのセットに1つまたは複数のタイムスタンプ値を割り当てることと、データポイントのセットおよび割り当てられたタイムスタンプ値を、特定の期間にわたるデータポイントのセットを表す集約センサデータセットに集約することとを含む。
【0057】
センサユニット314からの生センサデータ701は、同期センサデータであってもよい。センサ同期検証モジュール602は、所定のアルゴリズムを用いて同期したセンサデータを分析することによって、センサが同期していると判断することができる。
【0058】
図7にさらに示すように、センサ同期検証モジュール602は、失われたセンサデータの発見、エラーデータの検出、およびこれらの2つのデータの修復を含む生センサデータ701を前処理707することができる。次に、センサ同期検証モジュール602は、複数のセンサからのセンサデータを使用して、バウンディングボックスを生成する709ことができる。例えば、センサ同期検証モジュール602は、カメラからのセンサデータを使用してターゲットオブジェクトの周囲の2Dバウンディングボックスを生成し、LiDARデバイスからのセンサデータを使用してターゲットオブジェクトの周囲の3Dバウンディングボックスを生成するために、複数の現在のスレッドのうちの1つ上で一組の命令を実行することができる。
【0059】
センサ同期検証モジュール602は、タイムスタンプ処理ユニット703を使用して生センサデータからタイムスタンプを抽出し、生センサデータから抽出されたタイムスタンプから生センサデータに基づいて705の精度マップを生成するために、複数の同時スレッドのうちの別のスレッド上で別のセットの命令を実行することができる。
【0060】
一実施形態では、精度マップは、LiDAR装置からのセンサデータおよびローリングシャッターカメラからのセンサデータを示すことができる。精度マップは、カメラによって取り込まれた画像を表すことができ、LiDAR装置の垂直走査線、ローリングシャッターカメラの水平走査線、およびLiDAR装置とカメラとの間の取り込みタイムスタンプの差異を示すことができる。
【0061】
ローリングシャッターカメラとしては、被写体の画像フレームを1ラインずつ露光するものがある。露光回数は画像フレーム内のライン数に等しい。各フレームラインは、画像フレーム内のピクセルの行を表す。フレームラインは、一定(例えば、3ミリ秒)のオフセットを有する等間隔の平行ラインとすることができる。カメラはまた、所与のトリガ信号と画像取り込みとの間の遅延を示すトリガ遅延パラメータを有してもよい。トリガ遅延は、正、ゼロ、または負であってもよい。トリガ遅延がゼロである場合、カメラは、トリガ信号の直後に測定板画像の第1のフレームラインの取り込みを開始する。トリガ遅延が負である場合、カメラは、トリガ信号の前に測定板画像の第1のフレームラインの取り込みを開始することができる。トリガ遅延が正である場合、カメラは、トリガ遅延によって指定された時間遅延の後に測定板画像の第1のフレームラインの取り込みを開始することができる。
【0062】
一実施形態では、カメラとLiDAR装置は位置合わせされ、カメラの画像中心は、LiDAR装置の視野(FOV)中心と一致する。LiDAR装置のFOVもカメラの画像中心も固定してもよい。したがって、デフォルトでは、LiDAR装置とカメラは、カメラの画像の中心で同期している。しかしながら、センサ構成702は、LiDARデバイスが検出しているターゲットオブジェクトのタイプに基づいて、LiDARデバイスとカメラとの同期が必要な位置を構成することができる。ADVがリアルタイム環境を移動している間、センサ構成702は、ホストシステム110によって動的に変更され得る。
【0063】
一実施形態では、センサ構成702は、カメラとLiDAR装置との間の同期点がセンサ構成702に指定されたターゲット領域と一致するように、LiDAR装置のターゲット領域およびカメラの対応するトリガ遅延を指定することができる。
【0064】
例えば、リアルタイム運転では、自動運転車両101が赤色信号機で待機しているとき、LiDAR装置の目標領域は、カメラの画像の中心より上にあることができる。LiDAR装置が他の車両を検出しているとき、LiDAR装置のターゲット領域は、カメラの画像の中心に位置してもよい。
【0065】
カメラのフレームライン間に所与のトリガ遅延及び/又は所与の時間オフセットがある場合、カメラは、ターゲットオブジェクトの特定の領域でLiDAR装置の走査ラインを異なる時点で捕捉することができる。カメラがLiDAR走査線を取り込む領域は、LiDAR装置とカメラが同時に対象物のデータを取り込む同期点である。
【0066】
一実施形態では、センサ同期検証モジュール602は、動的に変化するセンサ構成702に基づいてLiDAR装置とカメラとが所望の目標領域で同期しているかどうかを判定するために、精度マップの分析711を実行するために分析コンポーネントを呼び出すことができる。
【0067】
例えば、分析コンポーネントは、学習されたニューラルネットワークを使用してパターン認識および分類を行うことができる。訓練されたニューラルネットワークはまた、2Dバウンディングボックスと3Dバウンディングボックスとが互いに一致するかどうかを検証し、一致しない場合、センサ構成702に基づいて、一致しない部分が望ましいかどうかを検証することができる。さらに、ニューラルネットワークモデルは、バウンディングボックスと精度マップとを比較して、バウンディングボックス間の任意の不一致部分が精度マップ上の領域に対応するかどうかを判定することができ、LiDAR装置の走査ラインとカメラのフレームラインとの間のキャプチャタイムスタンプに差がある。要約分析の最終結果713は、グラフィカルユーザインターフェース605に表示することができる。
【0068】
図8は、いくつかの実施形態による例示的な精度マップを示す図である。
【0069】
図8Aにおいて、例示的な精度グラフは、センサAの走査線810、センサBのフレーム線802の分布、およびセンサAの走査線とセンサBのフレーム線との間のキャプチャタイムスタンプの差異を示す。センサAはLIDAR装置であってもよく、センサBはローリングシャッターカメラであってもよい。精度マップは、センサBによって取り込まれた画像であってもよい。この例では、センサAは、垂直走査線810を生成するために左から右への水平走査を実行するように構成され、センサBは、水平フレーム線802を生成するために上から下への垂直走査を実行するように構成される。2つの隣接するLiDAR走査線の間に所与の時間オフセット(例えば、5ミリ秒)が存在してもよい。同様に、2つの隣接するカメラフレームライン間には、所与の時間オフセット(例えば、6ミリ秒)が存在し得る。
【0070】
センサAとセンサBとは互いに位置合わせされており、センサAの視野中心とセンサBの画像中心とが一致している。したがって、デフォルトでは、センサAとセンサBは、センサBの画像の中心で同期している。しかし、センサBのトリガ遅延パラメータを調整することによって、センサAとセンサBとを、対象領域(すなわち、関心領域またはROI)に応じて、センサBの画像の中心より上または下の位置で同期させることができる。
【0071】
例えば、
図8Aでは、対象領域はセンサBの画像の中央にある。リアルタイム走行環境では、このような状況は、センサAが、自己ADVに搭載されたセンサAとほぼ同じ高さの対象物体(例えば、他の車両または他の物体)を走査しているときに起こり得る。したがって、センサAとセンサBとの間の同期点811は、センサBの画像の中心に位置することができる。
【0072】
図8Aにさらに示されるように、領域C805において、センサAとセンサBとの間のキャプチャタイムスタンプ差は、t0~t1ミリ秒の範囲内であり得る。一例では、同期点811において、センサAおよびセンサBは同時にターゲットオブジェクトを捕捉することができ、キャプチャタイムスタンプの差は0であり、領域C805の他の部分において、センサAとセンサBとの間のキャプチャタイムスタンプの差は、t1ミリ秒までずれることができる。
【0073】
画像の中心から離れるほど、センサAとセンサBとの間の取り込みタイムスタンプの差が大きくなる。例えば、領域A801および領域E809では、キャプチャタイムスタンプ差はt2~t3ミリ秒であり、領域B803および領域D807では、キャプチャタイムスタンプ差はt1~t2ミリ秒である。
【0074】
図8Bでは、
図8Aと同じセンサAとセンサBが、センサBの画像の中央より下の200個のカメラフレームラインである同期点823で同期している。したがって、領域I817では、キャプチャタイムスタンプ差異はt0~t1ミリ秒である。同期ポイント823からより離れた領域は、タイムスタンプ差異を捕捉することに関してより大きな差異を有することができる。例えば、領域H816及び領域J819では、キャプチャタイムスタンプ差はt1~t2ミリ秒であり、領域G815及び領域K821では、キャプチャタイムスタンプ差はt2~t3ミリ秒であり、領域F813では、キャプチャタイムスタンプ差はt3~t4ミリ秒である。
【0075】
図9は、一実施形態による、ターゲットオブジェクトを囲む例示的なバウンディングボックスを示す。
【0076】
例示的な例では、ターゲットオブジェクト824を囲む2DバウンディングボックスABCD825は、カメラからのセンサデータに基づいて生成することができ、ターゲットオブジェクト824を囲む3DバウンディングボックスEFGHIJKL826は、LiDARデバイスからのセンサデータに基づいて生成することができる。
【0077】
一実施形態では、検証モジュール602などのセンサ同期検証モジュールは、1組のセンサデータを使用して、バウンダリボックス825およびバウンダリボックス826ならびに
図8Aの精度マップを作成することができる。したがって、センサ同期検証モジュールは、バウンダリボックス825とバウンダリボックス826とを精度マップと比較して、
図8Aに示されているキャプチャタイムスタンプ差異によって不一致部分(例えば、領域M827)が解釈できるかどうかを判定することができる。不一致部分が、有意なタイムスタンプ差を有する1つまたは複数の領域に対応する場合、センサ同期検証モジュールは、LiDARデバイスとカメラとが同期していると判断することができる。
【0078】
図10は、一実施形態による、自動運転車両におけるセンサ同期を検証するための例示的なプロセス1000を示す。プロセス1000は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含むことができる処理ロジックによって実行することができる。例えば、プロセス1000は、
図6および
図7に示すセンサ同期検証モジュール602によって実行されてもよい。
【0079】
図10を参照すると、操作1001において、処理ロジックは、ADVの周囲の対象物体を記述する生センサデータを、ADV上に取り付けられた第1のセンサおよび第2のセンサから取得する。オペレーション1002において、処理ロジックは、生センサデータから抽出されたタイムスタンプに基づいて、生センサデータに基づく精度マップを生成する。オペレーション1003において、処理ロジックは、生のセンサデータを使用して、ターゲットオブジェクトを囲む第1のバウンディングボックスおよび第2のバウンディングボックスを生成する。動作1004において、処理ロジックは、第1および第2のセンサが互いに同期しているかどうかを決定するために、1つまたは複数の予め構成されたセンサ設定に従って、所定のアルゴリズムを使用して第1および第2のバウンディングボックスならびに精度マップの分析を実行する。
【0080】
上述の構成要素の一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装されてもよいことに留意されたい。例えば、そのような構成要素は、永久記憶装置にインストールされて記憶されたソフトウェアとして実装されてもよく、プロセッサ(図示せず)によってメモリにロードされて実行されて、本明細書に記載のプロセスまたは動作を実行してもよい。あるいは、そのようなコンポーネントは、アプリケーションからの対応するドライバおよび/またはオペレーティングシステムを介してアクセス可能な、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタル信号プロセッサ(DSP)、またはフィールドプログラマブルゲートアレイ(FPGA)などの特定用途向けハードウェアにプログラムされた、または組み込まれた実行可能コードとして実装されてもよい。さらに、そのようなコンポーネントは、1つまたは複数の特定の命令を介してソフトウェアコンポーネントによってアクセス可能な命令セットの一部として、プロセッサまたはプロセッサコア内の特定のハードウェアロジックとして実装することができる。
【0081】
上述の詳細な説明の一部は、コンピュータメモリ内のデータビットの演算のアルゴリズムおよび記号表現に基づいて提示されている。これらのアルゴリズム記述および表現は、データ処理分野の当業者が、それらの仕事を当業者に最も効率的に伝えるために使用される方法である。本明細書では、アルゴリズムは、一般に、所望の結果をもたらす自律的動作シーケンスであると考えられる。これらの操作は,物理量を物理的に操作する必要がある操作である。
【0082】
しかしながら、これらの用語および類似の用語はすべて、適切な物理量との関連を意図しており、これらの量に適用される便宜的な指標に過ぎないことに留意されたい。上記の説明において特に明記しない限り、添付の特許請求の範囲に記載された用語のような用語を用いて行われる説明は、コンピュータシステムのレジスタおよびメモリ内の物理的(電子的)量として表されたデータを操作し、コンピュータシステムのメモリまたはレジスタまたは他のこのような情報記憶装置、伝送または表示装置内の同様に物理的量として表された他のデータにデータを変換するコンピュータシステムまたは同様の電子計算装置の動作および処理を意味することを理解されたい。
【0083】
本開示の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは,非一時的なコンピュータ可読媒体に格納される。機械可読媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で情報を記憶するための任意の機構を含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置)を含む。
【0084】
上述の図面に示されたプロセスまたは方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体上に実装される)、またはその両方の組み合わせを含む処理ロジックによって実行されてもよい。プロセスまたは方法は、いくつかの順序の動作に基づいて上述したが、動作のいくつかは、異なる順序で実行されてもよいことを理解されたい。さらに、いくつかの動作は、連続して実行されるのではなく、並行して実行されてもよい。
【0085】
本開示の実施形態は、いかなる特定のプログラミング言語にも関連して記載されていない。本明細書に記載の本開示の実施形態の教示は、様々なプログラミング言語を使用して実施することができることを理解されたい。
【0086】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。添付の特許請求の範囲に記載された本開示のより広い趣旨および範囲から逸脱することなく、本発明に様々な変更を行うことができることは明らかである。したがって、本明細書および図面は、限定ではなく例示的な意味で理解されるべきである。
【手続補正書】
【提出日】2021-09-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自動運転車両におけるセンサ同期性を分析する、コンピュータにより実施される方法であって、
前記自動運転車両に搭載された第1のセンサおよび第2のセンサから、前記自動運転車両の周囲の対象物
体を
示す生センサデータを取得するステップと、
前記生センサデータと、前記生センサデータから抽出されたタイムスタンプとに基づいて、精度マップを生成するステップと、
前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、
1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、
を含む、方法。
【請求項2】
前記第
1のセンサはカメラであり、前記第
2のセンサは光検出及び測距装置である、請求項1に記載の方法。
【請求項3】
前記1つ又は複数の予め配置されたセンサ配置は、前記カメラの走査方向及び前記光検出及び測距装置の走査方向を含む、請求項2に記載の方法。
【請求項4】
前記
判定するステップは、
それぞれの取得タイムスタンプに基づいて、カメラからの第1の生センサデータと、光検出及び測距装置からの第2の生センサデータとが、所定の同期点で互いに一致しているか否かを判定するステップ、
を含む、
請求項2に記載の方法。
【請求項5】
前記同期ポイントは、前記ターゲットオブジェクトのタイプに基づいて決定される、請求項4に記載の方法。
【請求項6】
前記第1のバウンディングボックスは、前記カメラからの第1のセンサデータに基づいて生成された2Dバウンディングボックスであり、前記第2のバウンディングボックスは、前記光検出及び測距装置からの第2のセンサデータに基づいて生成された3Dバウンディングボックスである、請求項2に記載の方法。
【請求項7】
前記
判定するステップは、
前記第1のバウンディングボックスと前記第2のバウンディングボックスとが一致するか否かを判定するステップ
を含む、
請求項2に記載の方法。
【請求項8】
コンピュータ指令を記録した非一時的コンピュータ可読媒体であって、
前記コンピュータ指令は、プロセッサに実行されると、
自動運転車両に搭載された第1センサおよび第2センサから、前記自動運転車両の周囲の対象物
体を
示す生センサデータを取得するステップと、
前記生センサデータから抽出されたタイムスタンプに基づいて、前記生センサデータに基づく精度マップを生成するステップと、
前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、
1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、
を含む動作をプロセッサに実行させる、非一時的コンピュータ可読媒体。
【請求項9】
前記第1のセンサはカメラであり、前記第2のセンサは光検出及び測距装置である、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記1つ又は複数の予め設定されたセンサ配置は前記カメラの走査方向及び前記光検出及び測距装置の走査方向を含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記
判定するステップは、
それぞれの取得タイムスタンプに基づいて、カメラからの第1の生センサデータと、光検出及び測距装置からの第2の生センサデータとが、所定の同期点で互いに一致しているか否かを判定するステップ
を含む、
請求項9に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記同期
点は、前記
対象物体のタイプに基づいて決定される、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記第1のバウンディングボックスは、前記カメラからの第1のセンサデータに基づいて生成された2Dバウンディングボックスであり、前記第2のバウンディングボックスは、前記光検出及び測距装置からの第2のセンサデータに基づいて生成された3Dバウンディングボックスである、
請求項9に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記
判定するステップは、
前記第1のバウンディングボックスと前記第2のバウンディングボックスとが一致するか否かを判定することを更に含む、
請求項9に記載の非一時的コンピュータ可読媒体。
【請求項15】
データ処理システムであって、
プロセッサと、前記プロセッサに接続され、指令を記憶するメモリとを備え、
前記指令は前記プロセッサによって実行されると、
自動運転車両に搭載された第1センサおよび第2センサから、前記自動運転車両の周囲の対象物
体を
示す生センサデータを取得するステップと、
前記生センサデータから抽出されたタイムスタンプに基づいて、前記生センサデータに基づく精度マップを生成するステップと、
前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、
1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、
を含む動作を前記プロセッサに実行させる、データ処理システム。
【請求項16】
前記第1のセンサはカメラであり、前記第2のセンサは光検出及び測距装置である、請求項15に記載のシステム。
【請求項17】
前記1つ又は複数の予め配置されたセンサ配置は前記カメラの走査方向及び前記光検出及び測距装置の走査方向を含む、請求項16に記載のシステム。
【請求項18】
前記
判定するステップは、
それぞれの取得タイムスタンプに基づいて、カメラからの第1の生センサデータと、光検出及び測距装置からの第2の生センサデータとが、所定の同期点で互いに一致しているか否かを判定するステップ
を含む、
請求項16に記載のシステム。
【請求項19】
前記同期
点は、前記
対象物体のタイプに基づいて決定される、請求項18に記載のシステム。
【請求項20】
前記第1のバウンディングボックスは、前記カメラからの第1のセンサデータに基づいて生成された2Dバウンディングボックスであり、前記第2のバウンディングボックスは、前記光検出及び測距装置からの第2のセンサデータに基づいて生成された3Dバウンディングボックスである、請求項16に記載のシステム。
【請求項21】
前記
判定するステップは、
前記第1のバウンディングボックスと前記第2のバウンディングボックスとが一致するか否かを判定するステップを含む、
請求項16に記載のシステム。
【請求項22】
コンピュータプログラムであって、プロセッサに、請求項1~7の何れか一項に記載の方法を実行させるコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
第3の態様では、本開示の実施形態は、データ処理システムであって、プロセッサと、前記プロセッサに接続され、指令を記憶するメモリとを備え、前記指令は前記プロセッサによって実行されると、前記自動運転車両に搭載された第1センサおよび第2センサから、前記自動運転車両の周囲の対象物を記述した生センサデータを取得するステップと、前記生センサデータから抽出されたタイムスタンプに基づいて、前記生センサデータに基づく精度マップを生成するステップと、前記生センサデータを用いて前記対象物体を囲む第一バウンディングボックス及び第二バウンディングボックスを生成するステップと、1つまたは複数の予め構成されたセンサ設定に基づいて、所定のアルゴリズムを使用して、第1のバウンディングボックスおよび第2のバウンディングボックスならびに精度マップを分析して、第1のセンサおよび第2のセンサが互いに同期しているかどうかを判定するステップと、を含む動作を前記プロセッサに実行させる、データ処理システムを提供する。
第4の態様では、本開示の実施形態は、コンピュータプログラムであって、プロセッサにより実行されると、第1の態様に記載の方法を実行させるコンピュータプログラムを提供する。
【国際調査報告】