JP2019182399A - 自動運転に用いられる感知と計画のコラボレーションフレームワーク - Google Patents

自動運転に用いられる感知と計画のコラボレーションフレームワーク Download PDF

Info

Publication number
JP2019182399A
JP2019182399A JP2019017849A JP2019017849A JP2019182399A JP 2019182399 A JP2019182399 A JP 2019182399A JP 2019017849 A JP2019017849 A JP 2019017849A JP 2019017849 A JP2019017849 A JP 2019017849A JP 2019182399 A JP2019182399 A JP 2019182399A
Authority
JP
Japan
Prior art keywords
sensing
module
driving
critical
planning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019017849A
Other languages
English (en)
Other versions
JP6722312B2 (ja
Inventor
リャンリャン チャン
Liangliang Zhang
リャンリャン チャン
トン リー
Dong Li
トン リー
ヂャンタオ フー
Jiangtao Hu
ヂャンタオ フー
ヂァミン タオ
Jiaming Tao
ヂァミン タオ
イーフェイ ヂャン
Yifei Jiang
イーフェイ ヂャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu USA LLC
Original Assignee
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu USA LLC filed Critical Baidu USA LLC
Publication of JP2019182399A publication Critical patent/JP2019182399A/ja
Application granted granted Critical
Publication of JP6722312B2 publication Critical patent/JP6722312B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/10Number of lanes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type

Abstract

【課題】自動運転車(ADV)を動作させるために、高精細地図、位置決め、感知、予測、計画、制御などの各モジュールが情報を効率的に交換してモジュール間でコラボレーションの欠如がないようにする。【解決手段】感知モジュールは、センサデータに基づいて感知情報を生成する。感知情報は、感知した運転環境を記述する。計画モジュールは、感知情報に基づいて、現在の計画周期のルート又は経路を表す軌跡を計画する。そして、当該軌跡に基づいてADVを制御し駆動する。さらに、計画モジュールは、ADVの現在の位置決め又は位置に応じて、軌跡に基づいてADVの周囲のクリティカル領域を決定する。感知モジュールがクリティカル領域に応じて次の計画周期に用いられる感知情報を生成することを可能にするように、クリティカル領域を記述するメタデータは、アプリケーションプログラミングインタフェース(API)を介して感知モジュールに送信される。【選択図】図7

Description

本願は、主に自動運転車を動作させることに関する。より具体的に、本願は自動運転の感知と計画に関する。
自動運転モード(例えば、ドライバーレス)で走行している車両は、乗員、特に運転手を運転関連職務から解放することができる。自動運転モードで走行するとき、車両は搭載されたセンサを使用して様々な場所にナビゲートすることができるので、ヒューマンコンピュータインタラクションが最小限に抑えられた場合、又は乗客がいない状況などで車両を走行させることが可能となっている。
自動運転は、高精細地図、位置決め、感知、予測、計画、制御などのモジュールを含む複数のモジュールに関わる複雑な技術である。従来の技術では、各モジュールに対してインターフェースが定義され、各モジュールがその自身の動作を実行する。モジュール間の情報は一方的なもの又は一方向のものである。しかしながら、複雑な環境及び計算の制限により、単一モジュールは運転又は計画周期内で全てのコンテンツを計算することができなくなる。その結果、モジュールは情報を効率的に交換するとともに、計算資源を使用する必要がある。自動運転モジュール間でコラボレーションの欠如がある。
本願の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号は類似する素子を示す。
図1は、一実施形態に係るネットワークシステムを示すブロック図である。 図2は、一実施形態に係る自動運転車の例を示すブロック図である。 図3A〜図3Bは、一実施形態に係る自動運転車と共に使用される感知及び計画システムの例を示すブロック図である。 図4は、一実施形態に係る計画モジュールの例を示すブロック図である。 図5A〜図5Cは、特定の実施形態に係る異なる運転シナリオ(driving scenario)に用いられるクリティカル領域を示す。 図6は、一実施形態に係るクリティカル領域の情報を記憶するためのデータ構造の例を示す。 図7は、一実施形態に係る自動運転車を動作させるプロセスを示すフローチャートである。 図8は、一実施形態に係るデータ処理システムを示すブロック図である。
以下、説明の詳細を参照しながら本願の様々な実施形態及び態様を説明し、図面には、上記様々な実施形態が示される。以下の説明及び図面は、本願を例示するためのものであり、限定するものとして解釈されるべきではない。本願の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。ところが、いくつかの場合には、本願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に組み合わせて説明された特定の特徴、構造又は特性が本願の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書全体において同一の実施形態を指すとは限らない。
いくつかの実施形態によれば、感知及び計画コラボレーションフレームワークは、感知にそれらの計算資源をより効率的に使用するのを助けるために利用される。感知モジュールは、様々なセンサから得られたセンサデータに基づいて自動運転車(ADV)の周囲の運転環境を感知し、様々な感知モデル又は方法により感知情報を生成するように構成される。感知情報は、感知した運転環境を記述する。計画モジュールは、感知情報に基づいて、現在の計画周期(運転周期ともいう)に用いられるルート又は経路を表す軌跡を計画するように構成される。そして、当該軌跡に基づいてADVを制御し駆動する。さらに、計画モジュールは、ADVの現在の位置決め又は位置に応じて、軌跡に基づいてADVの周囲のクリティカル領域(クリティカル・エリアともいう)を決定する。感知モジュールがクリティカル領域に基づいて次の計画周期に用いられる感知情報を生成することを可能にするように、クリティカル領域を記述するメタデータは、アプリケーションプログラミングインタフェース(API)を介して感知モジュールに送信される。
一実施形態では、クリティカル領域は、次の計画周期の期間中にADVが他の交通を潜在的に干渉する可能性があり、又は他の交通がADVを潜在的に干渉する可能性がある1つ以上の領域を含んでもよい。次の周期に用いられる感知情報を生成するとき、感知モジュールは、第1感知モデル又は方法によりクリティカル領域を感知した第1感知情報を生成する。感知モジュールは、第2感知モデル又は方法により、クリティカル領域以外の残りの領域に対して第2感知情報を生成する。第1感知モデルは、3Dセンサデータに基づいてより高い精度又は解像度を有する感知情報を生成するために使用されることができ、それを達成するためにより多くの処理資源及び/又はより長い時間を必要とする。第2感知モデルは、2Dセンサデータに基づいてより低い精度又は解像度を有する感知情報を生成するために使用されることができ、それを達成するためにより少ない処理資源及び/又はより短い時間を必要とする。
一実施形態では、クリティカル領域を決定するとき、計画モジュールは、ADVの軌跡及び現在の位置決めに基づいてADVの運転シナリオを決定する。運転シナリオに基づいてデータベース内で検索操作を実行して、運転シナリオに対応するクリティカル領域を記述又は特定するためのメタデータ又は定義を取得する。例えば、メタデータは、クリティカル領域を特定、決定、又は計算するための方法又はルールを具体的に説明する情報を含んでもよい。データベースは、いくつかのマッピングエントリを有する、クリティカル領域と運転シナリオ(運転シナリオ/クリティカル領域)のマッピングテーブルであってもよい。各マッピングエントリは、特定の運転シナリオを、特定のクリティカル領域を定義するメタデータにマッピングする。一実施形態によれば、メタデータに基づいて、クリティカル領域を表すためにポリゴンが決定される。ポリゴンの形状は、メタデータに基づいて決定されることができ、ポリゴンの寸法は、軌跡(例えば、ADVの現在の位置決め、速度、進行方向)、ADVの物理的特性(例えば、ADVの物理的寸法又は次元)及び/又は感知モジュールによって提供された現在の感知情報(例えば、車線構成)に基づいて決定されることができる。次に、ポリゴンの頂点の座標を決定する。ポリゴンの頂点の座標は、クリティカル領域を表すために使用される。次に、ポリゴンの頂点を感知モジュールにフィードバックして、感知モジュールが異なる感知方法を使用して次の計画周期に用いられる感知情報を生成することを可能にする。
図1は、本願の一実施形態に係る自動運転車のネットワーク構成を示すブロック図である。図1に示すように、ネットワーク構成100は、ネットワーク102を介して1つ以上のサーバ103〜104に通信可能に接続される自動運転車101を含む。1つの自動運転車が示されているが、複数の自動運転車が、ネットワーク102を介して、互いに接続され、及び/又はサーバ103〜104に接続されてもよい。ネットワーク102は、任意のタイプのネットワークであってもよく、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、又はこれらの組み合わせが挙げられる。サーバ103〜104は、任意のタイプのサーバ又はサーバクラスタであってもよく、例えば、ネットワーク又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、又はこれらの組み合わせが挙げられる。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心地点(MPOI)サーバ、又は位置サーバなどであってもよい。
自動運転車とは、自動運転モードになるように構成可能な車両を示し、上記自動運転モードにおいて、車両が運転手からの入力がほとんど又は全くない場合に環境を通過するようにナビゲートされる。このような自動運転車は、車両動作環境に関連する情報を検出するように構成された1つ以上のセンサを有するセンサシステムを含んでもよい。上記車両及びその関連コントローラは、検出された情報を使用して上記環境を通過するようにナビゲートする。自動運転車101は、手動モード、全自動運転モード、又は部分自動運転モードで動作することができる。
一実施形態では、自動運転車101は、感知及び計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、インフォテインメントシステム114、及びセンサシステム115を含むが、これらに限定されない。自動運転車101は更に、エンジン、車輪、ステアリングホイール、変速機などの従来の車両に含まれるいくつかの共通構成要素を含んでもよい。上記構成要素は、車両制御システム111及び/又は感知及び計画システム110によって様々な通信信号及び/又はコマンドで制御されることができ、これらの様々な通信信号及び/又はコマンドは、例えば加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンドなどを含む。
構成要素110〜115は、インターコネクト、バス、ネットワーク、又はこれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
ここで、図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は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
センサシステム115は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えば、マイクロフォン)などの他のセンサを更に含むことができる。オーディオセンサは、自動運転車の周囲の環境から音を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪、又はそれらの組み合わせの操舵角を検知するように構成されてもよい。スロットルセンサ及びブレーキセンサそれぞれは、車両のスロットル位置及びブレーキ位置を検出する。場合によっては、スロットルセンサとブレーキセンサを統合型スロットル/ブレーキセンサとして一体化することができる。
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットともいう)、及びブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット203は、摩擦を提供することによって車両の車輪又はタイヤを減速させることで、車両を減速させる。なお、図2に示す構成要素は、ハードウェア、ソフトウェア、又はこれらの組み合わせで実現されることができる。
図1を再び参照して、無線通信システム112は、自動運転車101と、装置、センサ、他の車両などの外部システムとの間の通信を可能にするものである。例えば、無線通信システム112は、1つ以上の装置と無線で直接通信し、又は通信ネットワークを介して無線で通信することができ、例えば、ネットワーク102を介してサーバ103〜104と通信することができる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)を使用することができ、例えば、WiFiを使用して別の構成要素又はシステムと通信することができる。無線通信システム112は、例えば、赤外線リンク、ブルートゥースなどを使用して、装置(例えば、乗客のモバイルデバイス、表示装置、車両101内のスピーカ)と直接通信することができる。ユーザインターフェースシステム113は、例えば、キーワード、タッチスクリーン表示装置、マイクロフォン、及びスピーカなどを含む、車両101内に実現された周辺装置の部分であってもよい。
特に自動運転モードで動作するときに、自動運転車101の機能の一部又は全部は、感知及び計画システム110によって制御又は管理することができる。感知及び計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を備え、センサシステム115、制御システム111、無線通信システム112、及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルート又は経路を計画し、その後、計画及び制御情報に基づいて車両101を運転するようにする。あるいは、感知及び計画システム110を車両制御システム111と統合することができる。
例えば、乗客としてのユーザは、例えば、ユーザインターフェースを介して、行程の出発地及び目的地を指定することができる。感知及び計画システム110は、行程関連データを取得する。例えば、感知及び計画システム110は、MPOIサーバから位置及びルート情報を取得することができ、上記MPOIサーバはサーバ103〜104の一部であってもよい。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及び特定の位置のPOIを提供する。あるいは、そのような位置及びMPOI情報は、感知及び計画システム110の永続性記憶装置にローカルキャッシュされることができる。
自動運転車101がルートに沿って移動するとき、感知及び計画システム110は交通情報システム又はサーバ(TIS)からリアルタイム交通情報を得ることもできる。なお、サーバ103〜104は第三者エンティティによって動作されてもよい。あるいは、サーバ103〜104の機能は、感知及び計画システム110と統合することができる。リアルタイム交通情報、MPOI情報、及び位置情報、並びにセンサシステム115によって検出又は検知されたリアルタイムローカル環境データ(例えば、障害物、オブジェクト、周辺車両)に基づいて、感知及び計画システム110は、指定された目的地までに安全かつ効率的に到着するように、最適なルートを計画し、計画されたルートに従って、例えば、制御システム111によって車両101を運転するようにする。
サーバ103は、様々なクライアントに対してデータ解析サービスを行うためのデータ解析システムであってもよい。一実施形態では、データ解析システム103は、データコレクタ121と、機器学習エンジン122とを含む。データコレクタ121は、様々な車両(自動運転車又は人間の運転手によって運転される一般車両)から運転統計データ123を収集する。運転統計データ123は、発行された運転コマンド(例えば、スロットル、ブレーキ、ステアリングコマンド)及び車両のセンサによって異なるタイミングで取得された車両の応答(例えば、速度、加速度、減速度、方向)を示す情報を含む。運転統計データ123は、異なるタイミングにおける運転環境を記述する情報、例えば、ルート(出発地位置及び目的地位置を含む)、MPOI、道路状況、天気状況などを更に含んでもよい。
機器学習エンジン122は、運転統計データ123に基づいて、様々な目的に応じて1セットのルール、アルゴリズム及び/又は予測モデル124を生成し又は訓練する。例えば、データ124は、様々な運転シナリオを特定する情報を含んでもよい。各運転シナリオについて、データ124は、ADVの現在の位置決め又は位置が与えられた場合にADVのクリティカル領域を決定するためのメタデータ又はアルゴリズムをさらに含んでもよい。一実施形態では、運転シナリオ/クリティカル領域のマッピングテーブルを生成することができる。次いで、運転シナリオ/クリティカル領域のマッピングテーブルをADVにアップロードして、リアルタイム運転に用いられるクリティカル領域を決定することができる。
図3A及び図3Bは、一実施形態に係る自動運転車と共に使用される感知及び計画システムの例を示すブロック図である。システム300は、図1の自動運転車101の一部として実現することができ、感知及び計画システム110、制御システム111、及びセンサシステム115を含むが、これらに限定されない。図3A〜図3Bに示すように、感知及び計画システム110は、位置決めモジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306及びルーティングモジュール307を含むが、これらに限定されない。
モジュール301〜307のうちの一部又は全部は、ソフトウェア、ハードウェア又はこれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、1つ以上のプロセッサ(図示せず)によって実行されることができる。なお、これらのモジュールの一部又は全部は、図2の車両制御システム111のモジュールの一部又は全部と通信可能に接続され、又は一体化されてもよい。モジュール301〜307の一部は、集積モジュールとして一体化されることができる。
位置決めモジュール301は、自動運転車300の現在の位置決めを(例えば、GPSユニット212により)決定し、ユーザの行程又はルートに関連する如何なるデータも管理する。位置決めモジュール301(地図及びルートモジュールともいう)は、ユーザの行程又はルートに関連する如何なるデータも管理する。ユーザは、例えば、ユーザインターフェースを介して、行程の出発地位置及び目的地を登録し指定することができる。位置決めモジュール301は、自動運転車300の地図及びルート情報311のような他の構成要素と通信して、行程関連データを取得する。例えば、位置決めモジュール301は、位置サーバ並びに地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは、地図サービス及び特定の位置のPOIを提供し、地図及びルート情報311の一部としてキャッシュすることができる。自動運転車300がルートに沿って移動するとき、位置決めモジュール301は交通情報システム又はサーバからリアルタイム交通情報を得ることもできる。
感知モジュール302は、センサシステム115により提供されたセンサデータと、位置決めモジュール301により取得された位置決め情報とに基づいて、周囲環境に対する感知を決定する。感知情報は、一般的な運転手が運転手により運転されている車両の周囲で感知すべきものを示すことができる。感知は、例えばオブジェクトの形態を採用する車線構成(例えば、直線車線又は曲線車線)、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含むことができる。
感知モジュール302は、1つ以上のカメラによって取得された画像を処理及び解析して、自動運転車の環境内のオブジェクト及び/又は特徴を認識するコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。上記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
各オブジェクトについて、予測モジュール303は、この場合にオブジェクトがどのように挙動するかを予測する。この予測は、地図及びルート情報311と交通ルール312のセットを考慮したタイミングで運転環境を感知する感知データに応じて実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境が交差点を含む場合、予測モジュール303は、車両が直進するか、又はカーブ走行するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があると予測する可能性がある。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折又は右折する可能性がより高いと予測することができる。
オブジェクトごとに対して、決定モジュール304は、オブジェクトをどのように対応するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、操舵角)について、決定モジュール304は上記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のようなルールセットに基づいてそのような決定を行うことができ、上記ルールセットは永続性記憶装置352に記憶されることができる。
ルーティングモジュール307は、出発地から目的地までの1つ以上のルート又は経路を提供するように構成される。ルーティングモジュール307は、出発地位置から目的地位置までの所定の行程(例えば、ユーザから受信された所定の行程)について、ルート及び地図情報311を取得し、出発地位置から目的地位置までのすべての可能なルート又は経路を決定する。ルーティングモジュール307は、出発地位置から目的地位置までの各ルートを決定する地形図形態の基準線を生成することができる。基準線とは、他の車両、障害物、又は交通状況などからの如何なる干渉も受けない理想的なルート又は経路を示す。つまり、道路に他の車両、歩行者又は障害物がない場合、ADVは基準線に精確的に又は密接的に従うべきである。そして、地形図を決定モジュール304及び/又は計画モジュール305に提供する。決定モジュール304及び/又は計画モジュール305は、他のモジュールにより提供された他のデータ(例えば、位置決めモジュール301からの交通状况、感知モジュール302により感知された運転環境及び予測モジュール303により予測された交通状况)を考慮し、全ての走行可能なルートを検査して最適ルート中の一つを選択及び補正する。タイミングにおける特定の運転環境に応じて、ADVを制御するための実際の経路又はルートは、ルーティングモジュール307によって提供された基準線に近いか又は異なっていてもよい。
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供された基準線をベースとし、自動運転車に対して経路又はルート並びに運転パラメータ(例えば、距離、速度及び/又は操舵角)を計画する。言い換えれば、特定のオブジェクトについて、決定モジュール304は当該オブジェクトに対して何をするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、特定のオブジェクトについて、決定モジュール304は上記オブジェクトを追い抜くかを決定することができ、計画モジュール305は上記オブジェクトを左側又は右側から追い抜くかを決定することができる。計画及び制御データは、計画モジュール305により生成され、車両300が次の移動周期(例えば、次のルート/経路区間)でどのように移動するかを記述する情報を含む。例えば、計画及び制御データは、車両300に時速30マイル(mph)で10m移動し、次に25マイル(mph)で右車線に変更するように指示することができる。
計画及び制御データに基づいて、制御モジュール306は、計画及び制御データにより限定されたルート又は経路に基づいて、適当なコマンド又は信号を車両制御システム111に送信することにより、自動運転車を制御及び運転するようにする。上記計画及び制御データは、経路又はルートに沿って異なるタイミングで適当な車両配置又は運転パラメータ(例えば、スロットル、ブレーキ及びステアリングコマンド)を使用することにより車両をルート又は経路の第1点から第2点まで運転するのに十分な情報を含む。
一実施形態では、計画段階は、複数の計画周期(コマンドサイクルともいう)で実行され、例えば、時間間隔が100ミリ秒(ms)である周期ごとに実行される。計画周期又はコマンドサイクルのそれぞれについて、計画及び制御データに基づいて1つ以上の制御コマンドを発出する。すなわち、100msごとに、計画モジュール305は、次のルート区間又は経路区間(例えば、目標位置及びADVが目標位置に到着するのに必要な時間を含む)を計画する。あるいは、計画モジュール305は、具体的な速度、方向、及び/又は操舵角などをさらに指定することができる。一実施形態では、計画モジュール305は、次の所定期間(例えば、5秒)のルート区間又は経路区間を計画する。各計画周期又は運転周期について、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)に用いられる目標位置を計画する。そして、制御モジュール306は、現在の周期における計画及び制御データに基づいて一つ以上の制御コマンド(例えば、スロットル、ブレーキ、ステアリング制御コマンド)を生成する。
なお、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車の走行経路を決定するためのナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車の経路に沿う移動を達成するための一連の速度及び進行方向を決定することができ、上記経路では、最終的な目的地につながる走行車線ベースの経路に沿って自動運転車を前進させる間に、感知された障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を介したユーザ入力に従って設定することができる。ナビゲーションシステムは、自動運転車が走行している間に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車に用いられる走行経路を決定するために、GPSシステム及び1つ以上の地図からのデータをマージすることができる。
決定モジュール304/計画モジュール305は、さらに、自動運転車の環境における潜在的な障害物を認識、評価、回避又は他の方法で通過するための衝突防止システム又は衝突防止システムの機能を含むことができる。例えば、衝突防止システムは、制御システム111の1つ以上のサブシステムを動作させて、方向変更動作、カーブ走行動作、ブレーキ動作などを行うことによって、自動運転車のナビゲーション中の変更を実現することができる。衝突防止システムは、周囲の交通パターンや道路状況などに基づいて、実行可能な障害物回避動作を自動的に決定することができる。衝突防止システムは、自動運転車が方向変更して進入しようとする隣接領域における車両、建築障害物などを他のセンサシステムにより検出されたときに、方向変更動作を行わないように構成されることができる。衝突防止システムは、自動運転車の乗員の安全性を最大限にするとともに、利用可能な動作を自動的に選択することができる。衝突防止システムは、自動運転車の客室内で最も少ない加速度を発生させると予測される回避動作を選択することができる。
一実施形態によれば、感知モジュール302は、センサデータに基づいて運転環境を感知し、様々な感知方法又はモデル313を使用して感知情報を生成する。センサデータを処理するための感知方法又はモデルの一部は、高い精度及び解像度の感知情報を生成するために3D LIDARデータを処理するなどのような、多くの処理資源及び長い時間を含んでもよい。他の感知方法又はモデルは、低い精度及び解像度の感知情報を生成するために少ない処理資源及び短い時間を含んでもよい。特定の計画/運転周期の限られた時間(例えば、100ms〜200ms)を考慮すると、ほとんどの従来の自動運転システムは、限られた計画時間を満たすために低解像度の感知方法を使用することを選択する。しかしながら、高解像度の感知データは、衝突の可能性を回避するようにいっそう好適なルート又は経路を計画するために、計画モジュール305に対して優れた運転環境可視性を提供できるが、それは比較的多くの処理資源及び時間を必要とする。
一実施形態では、図3A及び図3Bに示すように、軌跡を計画するとき、計画モジュール305は、現在の計画周期においてADVを制御するための軌跡を生成するだけでなく、ADVの周囲のクリティカル領域を決定するように構成される。その後、クリティカル領域に関する情報320を感知モジュール302にフィードバックする。クリティカル領域に基づいて、感知モジュール302は、次の計画周期のために、クリティカル領域及びクリティカル領域以外の領域(非クリティカルエリアともいう)を処理するための異なる感知方法又はモデル313を選択することができる。具体的には、例えば、感知モジュール302は、比較的高い感知及び解像度の感知方法又はモデルを利用してクリティカル領域の感知情報を生成するとともに、比較的低い感知及び解像度の感知方法又はモデルを利用して他の領域の感知情報を生成する。
クリティカル領域に対して比較的高い精度及び解像度の感知を生成すると、多くの処理資源及び長い時間がかかる可能性があるが、安全目的のためにクリティカル領域に対してこのような方法を適用することができる。ほとんどの場合、クリティカル領域以外の領域(例えば、より遠い領域)については、計画モジュール305は高解像度の感知情報を必要としない。クリティカル領域は他の領域に比べて比較的小さいので、追加の処理資源及び時間は、計画周期時間要件を依然として満たす管理可能な量に規制することができる。例えば、感知モジュール302は、3D LIDARデータを利用してクリティカル領域に対する感知情報を生成するとともに、2D LIDARデータを用いて非クリティカル領域に対する感知情報を生成することができる。通常、3D LIDARデータを処理するための資源及び時間は、2D LIDARデータを処理するためのものよりも多い。クリティカル領域情報を感知モジュール302に戻すことによって、感知モジュール302は、計画周期の限られた時間要件を依然として満たしながら、異なる領域を処理するように、異なる感知方法/モデル313の組み合わせを使用してハイブリッドモードで動作することができる。
図4は、一実施形態に係る計画モジュールの例を示すブロック図である。図4に示すように、計画モジュール305は、特に、シナリオ決定モジュール401及びクリティカル領域再決定モジュール402を含む。一実施形態によれば、クリティカル領域を決定する際に、シナリオ決定モジュール401は、ADVの軌跡及び現在の位置決めに基づいてその時点における運転シナリオを決定するように構成される。運転シナリオは、直進、左折又は右折、Uターン、又は車線変更などのシナリオであってもよい。運転シナリオは、計画モジュール305によって生成された軌跡の情報に基づいて決定されることができ、例えば、軌跡上の異なる時点におけるADVの軌跡の曲線、速度及び進行方向などが挙げられる。
運転シナリオに基づいて、クリティカル領域決定モジュール402は、上述した特定の運転シナリオのクリティカル領域を決定するように構成される。異なる運転シナリオは、クリティカル領域の異なる形状又は寸法に関連付けられてもよい。一実施形態では、計画モジュール305は、様々な運転シナリオに対するクリティカル領域定義情報を記憶するデータベースを維持する。特定の運転シナリオに基づいて、所定の運転シナリオのクリティカル領域を特定する情報を検索するために、データベースに対して検索することができる。一実施形態では、このようなデータベースは、運転シナリオ/クリティカル領域のマッピングテーブル314の一部として実現することができる。
図4に示すように、運転シナリオ/クリティカル領域のマッピングテーブル314は、複数のマッピングエントリを含む。各マッピングエントリは、運転シナリオ411を、運転シナリオに対応するクリティカル領域を記述又は特定するメタデータ又は定義にマッピングする。一実施形態では、クリティカル領域のメタデータは、その時点の運転環境に基づいてクリティカル領域を決定又は計算するための1セットのルールまたはアルゴリズムを含むことができる。各運転環境(例えば、車線配置及び寸法、車両の物理的寸法及び規制など)が異なるので、少なくともクリティカル領域の寸法は、例えば軌跡に基づいて、動的に決定されなければならない。一実施形態では、運転シナリオに基づいて、クリティカル領域決定モジュール402は、運転シナリオ/クリティカル領域のマッピングテーブル314において検索動作を実行して、運転シナリオに一致するマッピングエントリを見つける。次に、一致したエントリから412のメタデータを取得する。次に、メタデータから取得されたクリティカル領域アルゴリズム又は方法により、クリティカル領域を計算する。
図5Aは、直進運転の運転シナリオに用いられるクリティカル領域の例を示す。この例では、ADVは車線を直進している。したがって、このシナリオのクリティカル領域には、ADVの前方の領域及び隣接する車線の左右の隣接領域が含まれ、これらの領域における交通はADVの運転に潜在的に影響を与える可能性があるためであり、逆もまた同様である。図5Bは、交差点での右折運転シナリオに用いられるクリティカル領域の例を示す。この例では、ADVが右折しようとしているため、クリティカル領域は、反対方向の反対交通及び左から右への交差方向の領域を含む。図5Cは、交差点での左折またはUターンの運転シナリオに対するクリティカル領域の例を示す。この例では、クリティカル領域は図5Bの同様の領域を含む。さらに、クリティカル領域は、右から左へのクロストラフィックに影響を与える領域を含む。
次に、感知モジュール302がクリティカル領域及び非クリティカル領域について異なる感知方法又はモデルによりセンサデータを処理することを可能にするために、クリティカル領域を記述する情報を感知モジュール302に返送する。一実施形態によれば、クリティカル領域に関する情報を送信するときに、特定のデータ構造が定義されてクリティカル領域の情報の記憶に利用される。
図6は、一実施形態に係る感知用のフィードバック情報を記憶するためのデータ構造の例を示すブロック図である。図6に示すように、データ構造600は、いくつかのデータメンバ601〜605を含む。ヘッダ601は、対応する軌跡及びクリティカル領域が決定された時間を示すタイムスタンプを記憶する。経路長602は、軌跡又は経路の長さ(例えば、メートルを単位とする)を記憶する。経路時間603は、ADVが軌跡を完成するのにかかる時間(例えば、秒を単位とする)を記憶する。軌跡点配列604は、軌跡を構成する各軌跡点の情報を記憶するためのデータエントリの配列を含む。各軌跡点の軌跡点情報は、少なくとも軌跡点の座標(x、y、z)、軌跡点の進行方向(θ)、及びADVが現在の位置決めから当該軌跡点に到達するまでの時間(t)を含む。クリティカル点配列605は、クリティカル領域を定義する頂点の形でポリゴンの点の座標(x、y)を記憶するためのデータエントリの配列を含む。クリティカル点は、図5A〜図5Bに示すようなポリゴンの転換点を示す(転換角の小さな円として示される)。
感知モジュール302は、データ構造が受信されると、データ構造を解析して、軌跡点604及びクリティカル領域点605に基づいてクリティカル領域及び非クリティカル領域を決定することができる。次に、感知モジュールは、異なるセンサデータ(例えば、3D LIDARデータ及び3D LIDARデータ)に対して異なる感知方法又はモデルを適用して、次の計画周期に用いられるクリティカル領域及び非クリティカル領域の感知情報を生成することができる。結果として、感知情報の品質、並びに感知情報を生成するのに必要な処理時間及び資源が最適化される。
図7は、本発明の一実施形態に係る自動運転車を動作させるためのプロセスの例を示すフローチャートである。プロセス700は、処理ロジックにより実行可能であり、上記処理ロジックは、ソフトウェア、ハードウェア、又はこれらの組み合わせを含んでもよい。例えば、プロセス700は、感知モジュール302及び/又は計画モジュール305により実行可能である。図7に示すように、動作701において、感知モジュールは、様々なセンサ(例えば、LIDAR、RADAR、カメラ)から取得されたセンサデータに基づいて、ADVの周囲の運転環境を感知し、様々な感知方法及びモデルにより感知情報を生成する。動作702において、計画モジュールは、感知モジュールから受信された感知情報に基づいて現在の計画周期に用いられる経路又はルートを表す軌跡を計画する。動作703において、ADVの現在の位置決めに応じて、軌跡に基づいてADVの周囲のクリティカル領域を決定する。動作704において、軌跡に基づいてADVを制御して運転するようにする。また、動作705において、感知領域がクリティカル領域及び非クリティカル領域に基づいて、異なる感知方法又はモデルにより、次の計画周期に用いられる感知情報を生成することを可能にするように、クリティカル領域に関する情報を感知モジュールに送信する。
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はこれらの組み合わせで実現されることができる。例えば、このような構成要素は、永続性記憶装置にインストールされ記憶されたソフトウェアとして実現されてもよく、上記ソフトウェアは、本願にわたって記載されたプロセス又は動作を実現するように、プロセッサ(図示せず)でメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタルシグナルプロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実現されてもよく、上記実行可能なコードはアプリケーションからの対応するドライバー及び/又はオペレーティングシステムを介してアクセスすることができる。さらに、このような構成要素は、ソフトウェア構成要素が一つ以上の特定のコマンドによってアクセス可能なコマンドセットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
図8は、本願の一実施形態と共に使用可能なデータ処理システムの例を示すブロック図である。例えば、システム1500は、上記プロセス又は方法のいずれかを実行する上記データ処理システムのいずれか(例えば、図1の感知及び計画システム110、又はサーバ103〜104のいずれか)を表すことができる。システム1500は、複数の異なる構成要素を含むことができる。これらの構成要素は、集積回路(IC)、集積回路の一部、ディスクリート型電子デバイス、又は回路基板(例えば、コンピュータシステムのマザーボード若しくはアドインカード)に適するその他のモジュールとして実現されることができ、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実現されることができる。
なお、システム1500は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを意図している。しかしながら、理解すべきは、特定の実施例において付加的構成要素が存在してもよく、また、その他の実施例において示された構成要素を異なる配置にすることが可能であることである。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント(AP)又はリピーター、セット・トップボックス、又はこれらの組み合わせを表すことができる。さらに、単一の機器又はシステムのみが示されたが、「機器」又は「システム」という用語は、本明細書で説明されるいずれか一種以上の方法を実現するための、単独で又は共同で1つ(又は複数)のコマンドセットを実行する機器又はシステムのいずれかの組み合わせも含まれると解釈されるものとする。
一実施形態では、システム1500は、バス又はインターコネクト1510を介して接続される、プロセッサ1501と、メモリ1503と、装置1505〜1508とを含む。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)などのような、一つ以上の汎用プロセッサを表すことができる。より具体的には、プロセッサ1501は、複雑コマンドセットコンピューティング(CISC)マイクロプロセッサ、縮小コマンドセットコンピューティング(RISC)マイクロプロセッサ、超長コマンド語(VLIW)マイクロプロセッサ、又はその他のコマンドセットを実行するプロセッサ、又はコマンドセットの組み合わせを実行するプロセッサであってもよい。プロセッサ1501は更に、例えば、特定用途向け集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込みプロセッサ、又はコマンドを処理可能な任意の他のタイプのロジックのような、一つ以上の専用プロセッサであってもよい。
プロセッサ1501は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、上記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、本明細書で説明される動作及びステップを実行するためのコマンドを実行するように構成される。システム1500は、さらに所望によるグラフィックサブシステム1504と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ、及び/又は表示装置を含むことができる。
プロセッサ1501は、メモリ1503と通信することができ、メモリ1503は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリ装置によって実現されることができる。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又はその他のタイプの記憶装置のような、一つ以上の揮発性記憶(又はメモリ)装置を含むことができる。メモリ1503は、プロセッサ1501又はその他の任意の装置により実行されるコマンドシーケンスを含む情報を記憶することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、ベーシックインプット/アウトプットシステム又はBIOS)、及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされ、プロセッサ1501により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)社のWindows(登録商標)オペレーティングシステム、アップル社のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、LINUX、UNIX、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
システム1500は、さらに、ネットワークインターフェース装置1505、所望による入力装置1506、及びその他の所望によるIO装置1507を含む装置1505〜1508のようなIO装置を含むことができる。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を含むことができる。上記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース送受信機、WiMax送受信機、無線携帯電話送受信機、衛星送受信機(例えば、全地球位置決めシステム(GPS)送受信機)、又はその他の無線周波数(RF)送受信機、又はこれらの組み合わせであってもよい。NICは、イーサネットカード(Ethernetcard)であってもよい。
入力装置1506は、マウス、タッチパネル、タッチスクリーン(表示装置1504と統合されてもよい)、ポインター装置(例えば、スタイラス)、及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を含むことができる。例えば、入力装置1506は、タッチスクリーンと接続するタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術(コンデンサ、抵抗、赤外線、及び表面音波の技術を含むが、これらに限定されない)のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する一つ以上の点を決定するためのその他の素子を用いて、それらの接触及び移動又は間欠を検出することができる。
IO装置1507は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び/又は電話機能のような音声サポート機能を促進するために、スピーカ及び/又はマイクロフォンを含んでもよい。その他のIO装置1507は、さらに、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCIーPCIブリッジ)、センサ(例えば、加速度計のようなモーションセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなど)、又はこれらの組み合わせを含むことができる。装置1507は、さらに結像処理サブシステム(例えば、カメラ)を含むことができ、上記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ(図示せず)を介してインターコネクト1510に接続されることができ、キーボード又はサーマルセンサのようなその他の装置はシステム1500の具体的な配置又は設計により、組込みコントローラ(図示せず)により制御されることができる。
データ、アプリケーション、一つ以上のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ1501には、大容量記憶装置(図示せず)が接続されることができる。様々な実施形態において、より薄くて軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステート装置(SSD)によって実現されることができる。しかしながら、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実現することができ、より小さい容量のSSD記憶装置をSSDキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されることができる。このようなフラッシュデバイスは、上記システムのBIOS及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
記憶装置1508は、コンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体ともいう)を含むことができ、上記コンピュータアクセス可能な記憶媒体1509には、本明細書で記載されたいずれか一種以上の方法又は機能を具体化する一つ以上のコマンドセット又はソフトウェア(例えば、モジュール、ユニット、及び/又はロジック1528)が記憶されている。処理モジュール/ユニット/ロジック1528は、計画モジュール305、制御モジュール306などの上記構成要素のいずれかを表すことができる。処理モジュール/ユニット/ロジック1528は、さらに、データ処理システム1500、メモリ1503、及びプロセッサ1501による実行中に、メモリ1503内及び/又はプロセッサ1501内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503、及びプロセッサ1501も機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらに、ネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶するために用いることができる。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、上記一つ以上のコマンドセットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュとサーバ)を含むと解釈されるものとする。また、「コンピュータ可読記憶媒体」という用語は、コマンドセットを記憶又は符号化できる任意の媒体を含むと解釈されるものであり、上記コマンドセットは機械により実行され、本願のいずれか一種以上の方法を上記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的な機械可読媒体を含むが、これらに限定されないと解釈されるものとする。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えば、ASICS、FPGA、DSP又は類似の装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェア又は機能性回路として実現されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
なお、システム1500は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本願の実施形態と密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び/又はその他のデータ処理システムも、本願の実施形態と共に使用することができることを理解されたい。
上記具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
しかしながら、念頭に置くべきは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎないということである。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきは、用語(例えば、添付された特許請求の範囲に記載のもの)による説明とは、コンピュータシステム、又は類似の電子計算装置の動作又はプロセスを指し、上記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理(電子)量として示されたデータを制御するとともに、上記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示された別のデータに変換するということである。
本願の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置)を含む。
上述した図面において説明されたプロセス又は方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体に具現化されるもの)、又は両方の組み合わせを含む処理ロジックにより実行されることができる。上記プロセス又は方法は、以上で特定の順序に応じて説明されたが、上記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
本願の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきは、本明細書に記載の本願の実施形態の教示を実現するために、様々なプログラミング言語を使用することができるということである。
上記明細書において、本願の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本願のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
本願は、主に自動運転車を動作させることに関する。より具体的に、本願は自動運転の感知と計画に関する。
自動運転モード(例えば、ドライバーレス)で走行している車両は、乗員、特に運転手を運転関連職務から解放することができる。自動運転モードで走行するとき、車両は搭載されたセンサを使用して様々な場所にナビゲートすることができるので、ヒューマンコンピュータインタラクションが最小限に抑えられた場合、又は乗客がいない状況などで車両を走行させることが可能となっている。
自動運転は、高精細地図、位置決め、感知、予測、計画、制御などのモジュールを含む複数のモジュールに関わる複雑な技術である。従来の技術では、各モジュールに対してインターフェースが定義され、各モジュールがその自身の動作を実行する。モジュール間の情報は一方的なもの又は一方向のものである。しかしながら、複雑な環境及び計算の制限により、単一モジュールは運転又は計画周期内で全てのコンテンツを計算することができなくなる。その結果、モジュールは情報を効率的に交換するとともに、計算資源を使用する必要がある。自動運転モジュール間でコラボレーションの欠如がある。
本願は、自動運転車を動作させるためのコンピュータ実施方法を提供する。前記方法は、複数のセンサから得られたセンサデータに基づいて、感知モジュールにより自動運転車の周囲の運転環境を感知し、複数の感知モデルを使用して感知情報を生成するステップと、前記感知モジュールから受信された前記感知情報に基づいて、計画モジュールにより現在の運転周期に用いられる軌跡を計画するステップと、前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップと、前記自動運転車を前記軌跡に従って走行するように制御するステップと、前記感知モジュールが前記自動運転車の前記クリティカル領域に基づいて次の運転周期に用いられる感知情報を生成することを可能にするように、前記クリティカル領域を記述するメタデータを、アプリケーションプログラミングインタフェースを介して前記感知モジュールに送信するステップと、を含む。
本願は、コマンドが記憶されている非一時的な機械可読媒体を更に提供する。前記コマンドがプロセッサによって実行されるとき、前記プロセッサに処理を実行させ、前記処理は、複数のセンサから得られたセンサデータに基づいて、感知モジュールにより自動運転車の周囲の運転環境を感知し、複数の感知モデルを使用して感知情報を生成するステップと、前記感知モジュールから受信された前記感知情報に基づいて、計画モジュールにより現在の運転周期に用いられる軌跡を計画するステップと、前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップと、前記自動運転車を前記軌跡に従って走行するように制御するステップと、前記感知モジュールが前記自動運転車の前記クリティカル領域に基づいて次の運転周期に用いられる感知情報を生成することを可能にするように、前記クリティカル領域を記述するメタデータを、アプリケーションプログラミングインタフェースを介して前記感知モジュールに送信するステップと、を含む。
本願は、データ処理システムを更に提供する。当該データ処理システムは、プロセッサと、前記プロセッサに接続されているメモリと、処理を実行するように前記メモリにロードされるとともに、前記プロセッサによって実行される感知モジュール及び計画モジュールであって、前記処理は、複数のセンサから得られたセンサデータに基づいて、感知モジュールにより自動運転車の周囲の運転環境を感知し、複数の感知モデルを使用して感知情報を生成するステップと、前記感知モジュールから受信された前記感知情報に基づいて、計画モジュールにより現在の運転周期に用いられる軌跡を計画するステップと、前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップと、前記自動運転車を前記軌跡に従って走行するように制御するステップと、前記感知モジュールが前記自動運転車の前記クリティカル領域に基づいて次の運転周期に用いられる感知情報を生成することを可能にするように、前記クリティカル領域を記述するメタデータを、アプリケーションプログラミングインタフェースを介して前記感知モジュールに送信するステップと、を含む、感知モジュール及び計画モジュールと、を備える。
本願の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号は類似する素子を示す。
図1は、一実施形態に係るネットワークシステムを示すブロック図である。 図2は、一実施形態に係る自動運転車の例を示すブロック図である。 図3A〜図3Bは、一実施形態に係る自動運転車と共に使用される感知及び計画システムの例を示すブロック図である。 図4は、一実施形態に係る計画モジュールの例を示すブロック図である。 図5Aは、特定の実施形態に係る異なる運転シナリオ(driving scenario)に用いられるクリティカル領域を示す。 図5Bは、特定の実施形態に係る異なる運転シナリオ(driving scenario)に用いられるクリティカル領域を示す。 図5Cは、特定の実施形態に係る異なる運転シナリオ(driving scenario)に用いられるクリティカル領域を示す。 図6は、一実施形態に係るクリティカル領域の情報を記憶するためのデータ構造の例を示す。 図7は、一実施形態に係る自動運転車を動作させるプロセスを示すフローチャートである。 図8は、一実施形態に係るデータ処理システムを示すブロック図である。
以下、説明の詳細を参照しながら本願の様々な実施形態及び態様を説明し、図面には、上記様々な実施形態が示される。以下の説明及び図面は、本願を例示するためのものであり、限定するものとして解釈されるべきではない。本願の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。ところが、いくつかの場合には、本願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に組み合わせて説明された特定の特徴、構造又は特性が本願の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書全体において同一の実施形態を指すとは限らない。
いくつかの実施形態によれば、感知及び計画コラボレーションフレームワークは、感知にそれらの計算資源をより効率的に使用するのを助けるために利用される。感知モジュールは、様々なセンサから得られたセンサデータに基づいて自動運転車(ADV)の周囲の運転環境を感知し、様々な感知モデル又は方法により感知情報を生成するように構成される。感知情報は、感知した運転環境を記述する。計画モジュールは、感知情報に基づいて、現在の計画周期(運転周期ともいう)に用いられるルート又は経路を表す軌跡を計画するように構成される。そして、当該軌跡に基づいてADVを制御し駆動する。さらに、計画モジュールは、ADVの現在の位置決め又は位置に応じて、軌跡に基づいてADVの周囲のクリティカル領域(クリティカル・エリアともいう)を決定する。感知モジュールがクリティカル領域に基づいて次の計画周期に用いられる感知情報を生成することを可能にするように、クリティカル領域を記述するメタデータは、アプリケーションプログラミングインタフェース(API)を介して感知モジュールに送信される。
一実施形態では、クリティカル領域は、次の計画周期の期間中にADVが他の交通を潜在的に干渉する可能性があり、又は他の交通がADVを潜在的に干渉する可能性がある1つ以上の領域を含んでもよい。次の周期に用いられる感知情報を生成するとき、感知モジュールは、第1感知モデル又は方法によりクリティカル領域を感知した第1感知情報を生成する。感知モジュールは、第2感知モデル又は方法により、クリティカル領域以外の残りの領域に対して第2感知情報を生成する。第1感知モデルは、3Dセンサデータに基づいてより高い精度又は解像度を有する感知情報を生成するために使用されることができ、それを達成するためにより多くの処理資源及び/又はより長い時間を必要とする。第2感知モデルは、2Dセンサデータに基づいてより低い精度又は解像度を有する感知情報を生成するために使用されることができ、それを達成するためにより少ない処理資源及び/又はより短い時間を必要とする。
一実施形態では、クリティカル領域を決定するとき、計画モジュールは、ADVの軌跡及び現在の位置決めに基づいてADVの運転シナリオを決定する。運転シナリオに基づいてデータベース内で検索操作を実行して、運転シナリオに対応するクリティカル領域を記述又は特定するためのメタデータ又は定義を取得する。例えば、メタデータは、クリティカル領域を特定、決定、又は計算するための方法又はルールを具体的に説明する情報を含んでもよい。データベースは、いくつかのマッピングエントリを有する、クリティカル領域と運転シナリオ(運転シナリオ/クリティカル領域)のマッピングテーブルであってもよい。各マッピングエントリは、特定の運転シナリオを、特定のクリティカル領域を定義するメタデータにマッピングする。一実施形態によれば、メタデータに基づいて、クリティカル領域を表すためにポリゴンが決定される。ポリゴンの形状は、メタデータに基づいて決定されることができ、ポリゴンの寸法は、軌跡(例えば、ADVの現在の位置決め、速度、進行方向)、ADVの物理的特性(例えば、ADVの物理的寸法又は次元)及び/又は感知モジュールによって提供された現在の感知情報(例えば、車線構成)に基づいて決定されることができる。次に、ポリゴンの頂点の座標を決定する。ポリゴンの頂点の座標は、クリティカル領域を表すために使用される。次に、ポリゴンの頂点を感知モジュールにフィードバックして、感知モジュールが異なる感知方法を使用して次の計画周期に用いられる感知情報を生成することを可能にする。
図1は、本願の一実施形態に係る自動運転車のネットワーク構成を示すブロック図である。図1に示すように、ネットワーク構成100は、ネットワーク102を介して1つ以上のサーバ103〜104に通信可能に接続される自動運転車101を含む。1つの自動運転車が示されているが、複数の自動運転車が、ネットワーク102を介して、互いに接続され、及び/又はサーバ103〜104に接続されてもよい。ネットワーク102は、任意のタイプのネットワークであってもよく、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、又はこれらの組み合わせが挙げられる。サーバ103〜104は、任意のタイプのサーバ又はサーバクラスタであってもよく、例えば、ネットワーク又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、又はこれらの組み合わせが挙げられる。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心地点(MPOI)サーバ、又は位置サーバなどであってもよい。
自動運転車とは、自動運転モードになるように構成可能な車両を示し、上記自動運転モードにおいて、車両が運転手からの入力がほとんど又は全くない場合に環境を通過するようにナビゲートされる。このような自動運転車は、車両動作環境に関連する情報を検出するように構成された1つ以上のセンサを有するセンサシステムを含んでもよい。上記車両及びその関連コントローラは、検出された情報を使用して上記環境を通過するようにナビゲートする。自動運転車101は、手動モード、全自動運転モード、又は部分自動運転モードで動作することができる。
一実施形態では、自動運転車101は、感知及び計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、及びセンサシステム115を含むが、これらに限定されない。自動運転車101は更に、エンジン、車輪、ステアリングホイール、変速機などの従来の車両に含まれるいくつかの共通構成要素を含んでもよい。上記構成要素は、車両制御システム111及び/又は感知及び計画システム110によって様々な通信信号及び/又はコマンドで制御されることができ、これらの様々な通信信号及び/又はコマンドは、例えば加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンドなどを含む。
構成要素110〜115は、インターコネクト、バス、ネットワーク、又はこれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
ここで、図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は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
センサシステム115は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えば、マイクロフォン)などの他のセンサを更に含むことができる。オーディオセンサは、自動運転車の周囲の環境から音を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪、又はそれらの組み合わせの操舵角を検知するように構成されてもよい。スロットルセンサ及びブレーキセンサそれぞれは、車両のスロットル位置及びブレーキ位置を検出する。場合によっては、スロットルセンサとブレーキセンサを統合型スロットル/ブレーキセンサとして一体化することができる。
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットともいう)、及びブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット203は、摩擦を提供することによって車両の車輪又はタイヤを減速させることで、車両を減速させる。なお、図2に示す構成要素は、ハードウェア、ソフトウェア、又はこれらの組み合わせで実現されることができる。
図1を再び参照して、無線通信システム112は、自動運転車101と、装置、センサ、他の車両などの外部システムとの間の通信を可能にするものである。例えば、無線通信システム112は、1つ以上の装置と無線で直接通信し、又は通信ネットワークを介して無線で通信することができ、例えば、ネットワーク102を介してサーバ103〜104と通信することができる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)を使用することができ、例えば、WiFiを使用して別の構成要素又はシステムと通信することができる。無線通信システム112は、例えば、赤外線リンク、ブルートゥース(登録商標)などを使用して、装置(例えば、乗客のモバイルデバイス、表示装置、車両101内のスピーカ)と直接通信することができる。ユーザインターフェースシステム113は、例えば、キーボード、タッチスクリーン表示装置、マイクロフォン、及びスピーカなどを含む、車両101内に実現された周辺装置の部分であってもよい。
特に自動運転モードで動作するときに、自動運転車101の機能の一部又は全部は、感知及び計画システム110によって制御又は管理することができる。感知及び計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を備え、センサシステム115、制御システム111、無線通信システム112、及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルート又は経路を計画し、その後、計画及び制御情報に基づいて車両101を運転するようにする。あるいは、感知及び計画システム110を車両制御システム111と統合することができる。
例えば、乗客としてのユーザは、例えば、ユーザインターフェースを介して、行程の出発地及び目的地を指定することができる。感知及び計画システム110は、行程関連データを取得する。例えば、感知及び計画システム110は、MPOIサーバから位置及びルート情報を取得することができ、上記MPOIサーバはサーバ103〜104の一部であってもよい。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及び特定の位置のPOIを提供する。あるいは、そのような位置及びMPOI情報は、感知及び計画システム110の永続性記憶装置にローカルキャッシュされることができる。
自動運転車101がルートに沿って移動するとき、感知及び計画システム110は交通情報システム又はサーバ(TIS)からリアルタイム交通情報を得ることもできる。なお、サーバ103〜104は第三者エンティティによって動作されてもよい。あるいは、サーバ103〜104の機能は、感知及び計画システム110と統合することができる。リアルタイム交通情報、MPOI情報、及び位置情報、並びにセンサシステム115によって検出又は検知されたリアルタイムローカル環境データ(例えば、障害物、オブジェクト、周辺車両)に基づいて、感知及び計画システム110は、指定された目的地までに安全かつ効率的に到着するように、最適なルートを計画し、計画されたルートに従って、例えば、制御システム111によって車両101を運転するようにする。
サーバ103は、様々なクライアントに対してデータ解析サービスを行うためのデータ解析システムであってもよい。一実施形態では、データ解析システム103は、データコレクタ121と、機器学習エンジン122とを含む。データコレクタ121は、様々な車両(自動運転車又は人間の運転手によって運転される一般車両)から運転統計データ123を収集する。運転統計データ123は、発行された運転コマンド(例えば、スロットル、ブレーキ、ステアリングコマンド)及び車両のセンサによって異なるタイミングで取得された車両の応答(例えば、速度、加速度、減速度、方向)を示す情報を含む。運転統計データ123は、異なるタイミングにおける運転環境を記述する情報、例えば、ルート(出発地位置及び目的地位置を含む)、MPOI、道路状況、天気状況などを更に含んでもよい。
機器学習エンジン122は、運転統計データ123に基づいて、様々な目的に応じて1セットのルール、アルゴリズム及び/又は予測モデル124を生成し又は訓練する。例えば、データ123は、様々な運転シナリオを特定する情報を含んでもよい。各運転シナリオについて、データ123は、ADVの現在の位置決め又は位置が与えられた場合にADVのクリティカル領域を決定するためのメタデータ又はアルゴリズムをさらに含んでもよい。一実施形態では、運転シナリオ/クリティカル領域のマッピングテーブルを生成することができる。次いで、運転シナリオ/クリティカル領域のマッピングテーブルをADVにアップロードして、リアルタイム運転に用いられるクリティカル領域を決定することができる。
図3A及び図3Bは、一実施形態に係る自動運転車と共に使用される感知及び計画システムの例を示すブロック図である。システム300は、図1の自動運転車101の一部として実現することができ、感知及び計画システム110、制御システム111、及びセンサシステム115を含むが、これらに限定されない。図3A〜図3Bに示すように、感知及び計画システム110は、位置決めモジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306及びルーティングモジュール307を含むが、これらに限定されない。
モジュール301〜307のうちの一部又は全部は、ソフトウェア、ハードウェア又はこれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、1つ以上のプロセッサ(図示せず)によって実行されることができる。なお、これらのモジュールの一部又は全部は、図2の車両制御システム111のモジュールの一部又は全部と通信可能に接続され、又は一体化されてもよい。モジュール301〜307の一部は、集積モジュールとして一体化されることができる。
位置決めモジュール301は、自動運転車300の現在の位置決めを(例えば、GPSユニット212により)決定し、ユーザの行程又はルートに関連する如何なるデータも管理する。位置決めモジュール301(地図及びルートモジュールともいう)は、ユーザの行程又はルートに関連する如何なるデータも管理する。ユーザは、例えば、ユーザインターフェースを介して、行程の出発地位置及び目的地を登録し指定することができる。位置決めモジュール301は、自動運転車300の地図及びルート情報311のような他の構成要素と通信して、行程関連データを取得する。例えば、位置決めモジュール301は、位置サーバ並びに地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは、地図サービス及び特定の位置のPOIを提供し、地図及びルート情報311の一部としてキャッシュすることができる。自動運転車300がルートに沿って移動するとき、位置決めモジュール301は交通情報システム又はサーバからリアルタイム交通情報を得ることもできる。
感知モジュール302は、センサシステム115により提供されたセンサデータと、位置決めモジュール301により取得された位置決め情報とに基づいて、周囲環境に対する感知を決定する。感知情報は、一般的な運転手が運転手により運転されている車両の周囲で感知すべきものを示すことができる。感知は、例えばオブジェクトの形態を採用する車線構成(例えば、直線車線又は曲線車線)、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含むことができる。
感知モジュール302は、1つ以上のカメラによって取得された画像を処理及び解析して、自動運転車の環境内のオブジェクト及び/又は特徴を認識するコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。上記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
各オブジェクトについて、予測モジュール303は、この場合にオブジェクトがどのように挙動するかを予測する。この予測は、地図及びルート情報311と交通ルール312のセットを考慮したタイミングで運転環境を感知する感知データに応じて実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境が交差点を含む場合、予測モジュール303は、車両が直進するか、又はカーブ走行するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があると予測する可能性がある。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折又は右折する可能性がより高いと予測することができる。
オブジェクトごとに対して、決定モジュール304は、オブジェクトをどのように対応するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、操舵角)について、決定モジュール304は上記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のようなルールセットに基づいてそのような決定を行うことができ、上記ルールセットは永続性記憶装置352に記憶されることができる。
ルーティングモジュール307は、出発地から目的地までの1つ以上のルート又は経路を提供するように構成される。ルーティングモジュール307は、出発地位置から目的地位置までの所定の行程(例えば、ユーザから受信された所定の行程)について、ルート及び地図情報311を取得し、出発地位置から目的地位置までのすべての可能なルート又は経路を決定する。ルーティングモジュール307は、出発地位置から目的地位置までの各ルートを決定する地形図形態の基準線を生成することができる。基準線とは、他の車両、障害物、又は交通状況などからの如何なる干渉も受けない理想的なルート又は経路を示す。つまり、道路に他の車両、歩行者又は障害物がない場合、ADVは基準線に精確的に又は密接的に従うべきである。そして、地形図を決定モジュール304及び/又は計画モジュール305に提供する。決定モジュール304及び/又は計画モジュール305は、他のモジュールにより提供された他のデータ(例えば、位置決めモジュール301からの交通状况、感知モジュール302により感知された運転環境及び予測モジュール303により予測された交通状况)を考慮し、全ての走行可能なルートを検査して最適ルート中の一つを選択及び補正する。タイミングにおける特定の運転環境に応じて、ADVを制御するための実際の経路又はルートは、ルーティングモジュール307によって提供された基準線に近いか又は異なっていてもよい。
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供された基準線をベースとし、自動運転車に対して経路又はルート並びに運転パラメータ(例えば、距離、速度及び/又は操舵角)を計画する。言い換えれば、特定のオブジェクトについて、決定モジュール304は当該オブジェクトに対して何をするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、特定のオブジェクトについて、決定モジュール304は上記オブジェクトを追い抜くかを決定することができ、計画モジュール305は上記オブジェクトを左側又は右側から追い抜くかを決定することができる。計画及び制御データは、計画モジュール305により生成され、車両300が次の移動周期(例えば、次のルート/経路区間)でどのように移動するかを記述する情報を含む。例えば、計画及び制御データは、車両300に時速30マイル(mph)で10m移動し、次に25マイル(mph)で右車線に変更するように指示することができる。
計画及び制御データに基づいて、制御モジュール306は、計画及び制御データにより限定されたルート又は経路に基づいて、適当なコマンド又は信号を車両制御システム111に送信することにより、自動運転車を制御及び運転するようにする。上記計画及び制御データは、経路又はルートに沿って異なるタイミングで適当な車両配置又は運転パラメータ(例えば、スロットル、ブレーキ及びステアリングコマンド)を使用することにより車両をルート又は経路の第1点から第2点まで運転するのに十分な情報を含む。
一実施形態では、計画段階は、複数の計画周期(コマンドサイクルともいう)で実行され、例えば、時間間隔が100ミリ秒(ms)である周期ごとに実行される。計画周期又はコマンドサイクルのそれぞれについて、計画及び制御データに基づいて1つ以上の制御コマンドを発出する。すなわち、100msごとに、計画モジュール305は、次のルート区間又は経路区間(例えば、目標位置及びADVが目標位置に到着するのに必要な時間を含む)を計画する。あるいは、計画モジュール305は、具体的な速度、方向、及び/又は操舵角などをさらに指定することができる。一実施形態では、計画モジュール305は、次の所定期間(例えば、5秒)のルート区間又は経路区間を計画する。各計画周期又は運転周期について、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)に用いられる目標位置を計画する。そして、制御モジュール306は、現在の周期における計画及び制御データに基づいて一つ以上の制御コマンド(例えば、スロットル、ブレーキ、ステアリング制御コマンド)を生成する。
なお、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車の走行経路を決定するためのナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車の経路に沿う移動を達成するための一連の速度及び進行方向を決定することができ、上記経路では、最終的な目的地につながる走行車線ベースの経路に沿って自動運転車を前進させる間に、感知された障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を介したユーザ入力に従って設定することができる。ナビゲーションシステムは、自動運転車が走行している間に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車に用いられる走行経路を決定するために、GPSシステム及び1つ以上の地図からのデータをマージすることができる。
決定モジュール304/計画モジュール305は、さらに、自動運転車の環境における潜在的な障害物を認識、評価、回避又は他の方法で通過するための衝突防止システム又は衝突防止システムの機能を含むことができる。例えば、衝突防止システムは、制御システム111の1つ以上のサブシステムを動作させて、方向変更動作、カーブ走行動作、ブレーキ動作などを行うことによって、自動運転車のナビゲーション中の変更を実現することができる。衝突防止システムは、周囲の交通パターンや道路状況などに基づいて、実行可能な障害物回避動作を自動的に決定することができる。衝突防止システムは、自動運転車が方向変更して進入しようとする隣接領域における車両、建築障害物などを他のセンサシステムにより検出されたときに、方向変更動作を行わないように構成されることができる。衝突防止システムは、自動運転車の乗員の安全性を最大限にするとともに、利用可能な動作を自動的に選択することができる。衝突防止システムは、自動運転車の客室内で最も少ない加速度を発生させると予測される回避動作を選択することができる。
一実施形態によれば、感知モジュール302は、センサデータに基づいて運転環境を感知し、様々な感知方法又はモデル313を使用して感知情報を生成する。センサデータを処理するための感知方法又はモデルの一部は、高い精度及び解像度の感知情報を生成するために3D LIDARデータを処理するなどのような、多くの処理資源及び長い時間を含んでもよい。他の感知方法又はモデルは、低い精度及び解像度の感知情報を生成するために少ない処理資源及び短い時間を含んでもよい。特定の計画/運転周期の限られた時間(例えば、100ms〜200ms)を考慮すると、ほとんどの従来の自動運転システムは、限られた計画時間を満たすために低解像度の感知方法を使用することを選択する。しかしながら、高解像度の感知データは、衝突の可能性を回避するようにいっそう好適なルート又は経路を計画するために、計画モジュール305に対して優れた運転環境可視性を提供できるが、それは比較的多くの処理資源及び時間を必要とする。
一実施形態では、図3A及び図3Bに示すように、軌跡を計画するとき、計画モジュール305は、現在の計画周期においてADVを制御するための軌跡を生成するだけでなく、ADVの周囲のクリティカル領域を決定するように構成される。その後、クリティカル領域に関する情報320を感知モジュール302にフィードバックする。クリティカル領域に基づいて、感知モジュール302は、次の計画周期のために、クリティカル領域及びクリティカル領域以外の領域(非クリティカルエリアともいう)を処理するための異なる感知方法又はモデル313を選択することができる。具体的には、例えば、感知モジュール302は、比較的高い感知及び解像度の感知方法又はモデルを利用してクリティカル領域の感知情報を生成するとともに、比較的低い精度及び解像度の感知方法又はモデルを利用して他の領域の感知情報を生成する。
クリティカル領域に対して比較的高い精度及び解像度の感知情報を生成すると、多くの処理資源及び長い時間がかかる可能性があるが、安全目的のためにクリティカル領域に対してこのような方法を適用することができる。ほとんどの場合、クリティカル領域以外の領域(例えば、より遠い領域)については、計画モジュール305は高解像度の感知情報を必要としない。クリティカル領域は他の領域に比べて比較的小さいので、追加の処理資源及び時間は、計画周期時間要件を依然として満たす管理可能な量に規制することができる。例えば、感知モジュール302は、3D LIDARデータを利用してクリティカル領域に対する感知情報を生成するとともに、2D LIDARデータを用いて非クリティカル領域に対する感知情報を生成することができる。通常、3D LIDARデータを処理するための資源及び時間は、2D LIDARデータを処理するためのものよりも多い。クリティカル領域情報を感知モジュール302に戻すことによって、感知モジュール302は、計画周期の限られた時間要件を依然として満たしながら、異なる領域を処理するように、異なる感知方法/モデル313の組み合わせを使用してハイブリッドモードで動作することができる。
図4は、一実施形態に係る計画モジュールの例を示すブロック図である。図4に示すように、計画モジュール305は、特に、シナリオ決定モジュール401及びクリティカル領域決定モジュール402を含む。一実施形態によれば、クリティカル領域を決定する際に、シナリオ決定モジュール401は、ADVの軌跡及び現在の位置決めに基づいてその時点における運転シナリオを決定するように構成される。運転シナリオは、直進、左折又は右折、Uターン、又は車線変更などのシナリオであってもよい。運転シナリオは、計画モジュール305によって生成された軌跡の情報に基づいて決定されることができ、例えば、軌跡上の異なる時点におけるADVの軌跡の曲線、速度及び進行方向などが挙げられる。
運転シナリオに基づいて、クリティカル領域決定モジュール402は、上述した特定の運転シナリオのクリティカル領域を決定するように構成される。異なる運転シナリオは、クリティカル領域の異なる形状又は寸法に関連付けられてもよい。一実施形態では、計画モジュール305は、様々な運転シナリオに対するクリティカル領域定義情報を記憶するデータベースを維持する。特定の運転シナリオに基づいて、所定の運転シナリオのクリティカル領域を特定する情報を検索するために、データベースに対して検索することができる。一実施形態では、このようなデータベースは、運転シナリオ/クリティカル領域のマッピングテーブル314の一部として実現することができる。
図4に示すように、運転シナリオ/クリティカル領域のマッピングテーブル314は、複数のマッピングエントリを含む。各マッピングエントリは、運転シナリオ411を、運転シナリオに対応するクリティカル領域を記述又は特定するメタデータ又は定義にマッピングする。一実施形態では、クリティカル領域のメタデータは、その時点の運転環境に基づいてクリティカル領域を決定又は計算するための1セットのルールまたはアルゴリズムを含むことができる。各運転環境(例えば、車線配置及び寸法、車両の物理的寸法及び規制など)が異なるので、少なくともクリティカル領域の寸法は、例えば軌跡に基づいて、動的に決定されなければならない。一実施形態では、運転シナリオに基づいて、クリティカル領域決定モジュール402は、運転シナリオ/クリティカル領域のマッピングテーブル314において検索動作を実行して、運転シナリオに一致するマッピングエントリを見つける。次に、一致したエントリからクリティカル領域定義412のメタデータを取得する。次に、メタデータから取得されたクリティカル領域アルゴリズム又は方法により、クリティカル領域を計算する。
図5Aは、直進運転の運転シナリオに用いられるクリティカル領域の例を示す。この例では、ADVは車線を直進している。したがって、このシナリオのクリティカル領域には、ADVの前方の領域及び隣接する車線の左右の隣接領域が含まれ、これらの領域における交通はADVの運転に潜在的に影響を与える可能性があるためであり、逆もまた同様である。図5Bは、交差点での右折運転シナリオに用いられるクリティカル領域の例を示す。この例では、ADVが右折しようとしているため、クリティカル領域は、反対方向の反対交通及び左から右への交差方向の領域を含む。図5Cは、交差点での左折またはUターンの運転シナリオに対するクリティカル領域の例を示す。この例では、クリティカル領域は図5Bの同様の領域を含む。さらに、クリティカル領域は、右から左へのクロストラフィックに影響を与える領域を含む。
次に、感知モジュール302がクリティカル領域及び非クリティカル領域について異なる感知方法又はモデルによりセンサデータを処理することを可能にするために、クリティカル領域を記述する情報を感知モジュール302に返送する。一実施形態によれば、クリティカル領域に関する情報を送信するときに、特定のデータ構造が定義されてクリティカル領域の情報の記憶に利用される。
図6は、一実施形態に係る感知用のフィードバック情報を記憶するためのデータ構造の例を示すブロック図である。図6に示すように、データ構造600は、いくつかのデータメンバ601〜605を含む。ヘッダ601は、対応する軌跡及びクリティカル領域が決定された時間を示すタイムスタンプを記憶する。経路長602は、軌跡又は経路の長さ(例えば、メートルを単位とする)を記憶する。経路時間603は、ADVが軌跡を完成するのにかかる時間(例えば、秒を単位とする)を記憶する。軌跡点配列604は、軌跡を構成する各軌跡点の情報を記憶するためのデータエントリの配列を含む。各軌跡点の軌跡点情報は、少なくとも軌跡点の座標(x、y、z)、軌跡点の進行方向(θ)、及びADVが現在の位置決めから当該軌跡点に到達するまでの時間(t)を含む。クリティカル領域点配列605は、クリティカル領域を定義する頂点の形でポリゴンの点の座標(x、y)を記憶するためのデータエントリの配列を含む。クリティカル点は、図5A〜図5Bに示すようなポリゴンの転換点を示す(転換角の小さな円として示される)。
感知モジュール302は、データ構造が受信されると、データ構造を解析して、軌跡点配列604及びクリティカル領域点配列605に基づいてクリティカル領域及び非クリティカル領域を決定することができる。次に、感知モジュールは、異なるセンサデータ(例えば、D LIDARデータ及び3D LIDARデータ)に対して異なる感知方法又はモデルを適用して、次の計画周期に用いられるクリティカル領域及び非クリティカル領域の感知情報を生成することができる。結果として、感知情報の品質、並びに感知情報を生成するのに必要な処理時間及び資源が最適化される。
図7は、本発明の一実施形態に係る自動運転車を動作させるためのプロセスの例を示すフローチャートである。プロセス700は、処理ロジックにより実行可能であり、上記処理ロジックは、ソフトウェア、ハードウェア、又はこれらの組み合わせを含んでもよい。例えば、プロセス700は、感知モジュール302及び/又は計画モジュール305により実行可能である。図7に示すように、動作701において、感知モジュールは、様々なセンサ(例えば、LIDAR、RADAR、カメラ)から取得されたセンサデータに基づいて、ADVの周囲の運転環境を感知し、様々な感知方法及びモデルにより感知情報を生成する。動作702において、計画モジュールは、感知モジュールから受信された感知情報に基づいて現在の計画周期に用いられる経路又はルートを表す軌跡を計画する。動作703において、ADVの現在の位置決めに応じて、軌跡に基づいてADVの周囲のクリティカル領域を決定する。動作704において、軌跡に基づいてADVを制御して運転するようにする。また、動作705において、感知モジュールがクリティカル領域及び非クリティカル領域に基づいて、異なる感知方法又はモデルにより、次の計画周期に用いられる感知情報を生成することを可能にするように、クリティカル領域に関する情報を感知モジュールに送信する。
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はこれらの組み合わせで実現されることができる。例えば、このような構成要素は、永続性記憶装置にインストールされ記憶されたソフトウェアとして実現されてもよく、上記ソフトウェアは、本願にわたって記載されたプロセス又は動作を実現するように、プロセッサ(図示せず)でメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタルシグナルプロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実現されてもよく、上記実行可能なコードはアプリケーションからの対応するドライバー及び/又はオペレーティングシステムを介してアクセスすることができる。さらに、このような構成要素は、ソフトウェア構成要素が一つ以上の特定のコマンドによってアクセス可能なコマンドセットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
図8は、本願の一実施形態と共に使用可能なデータ処理システムの例を示すブロック図である。例えば、システム1500は、上記プロセス又は方法のいずれかを実行する上記データ処理システムのいずれか(例えば、図1の感知及び計画システム110、又はサーバ103〜104のいずれか)を表すことができる。システム1500は、複数の異なる構成要素を含むことができる。これらの構成要素は、集積回路(IC)、集積回路の一部、ディスクリート型電子デバイス、又は回路基板(例えば、コンピュータシステムのマザーボード若しくはアドインカード)に適するその他のモジュールとして実現されることができ、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実現されることができる。
なお、システム1500は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを意図している。しかしながら、理解すべきは、特定の実施例において付加的構成要素が存在してもよく、また、その他の実施例において示された構成要素を異なる配置にすることが可能であることである。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント(AP)又はリピーター、セット・トップボックス、又はこれらの組み合わせを表すことができる。さらに、単一の機器又はシステムのみが示されたが、「機器」又は「システム」という用語は、本明細書で説明されるいずれか一種以上の方法を実現するための、単独で又は共同で1つ(又は複数)のコマンドセットを実行する機器又はシステムのいずれかの組み合わせも含まれると解釈されるものとする。
一実施形態では、システム1500は、バス又はインターコネクト1510を介して接続される、プロセッサ1501と、メモリ1503と、装置1505〜1508とを含む。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)などのような、一つ以上の汎用プロセッサを表すことができる。より具体的には、プロセッサ1501は、複雑コマンドセットコンピューティング(CISC)マイクロプロセッサ、縮小コマンドセットコンピューティング(RISC)マイクロプロセッサ、超長コマンド語(VLIW)マイクロプロセッサ、又はその他のコマンドセットを実行するプロセッサ、又はコマンドセットの組み合わせを実行するプロセッサであってもよい。プロセッサ1501は更に、例えば、特定用途向け集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込みプロセッサ、又はコマンドを処理可能な任意の他のタイプのロジックのような、一つ以上の専用プロセッサであってもよい。
プロセッサ1501は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、上記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、本明細書で説明される動作及びステップを実行するためのコマンドを実行するように構成される。システム1500は、さらに所望によるグラフィックサブシステム1504と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ、及び/又は表示装置を含むことができる。
プロセッサ1501は、メモリ1503と通信することができ、メモリ1503は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリ装置によって実現されることができる。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又はその他のタイプの記憶装置のような、一つ以上の揮発性記憶(又はメモリ)装置を含むことができる。メモリ1503は、プロセッサ1501又はその他の任意の装置により実行されるコマンドシーケンスを含む情報を記憶することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、ベーシックインプット/アウトプットシステム又はBIOS)、及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされ、プロセッサ1501により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)社のWindows(登録商標)オペレーティングシステム、アップル社のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、LINUX(登録商標)、UNIX(登録商標)、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
システム1500は、さらに、ネットワークインターフェース装置1505、所望による入力装置1506、及びその他の所望によるIO装置1507を含む装置1505〜1508のようなIO装置を含むことができる。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を含むことができる。上記無線送受信機は、WiFi(登録商標)送受信機、赤外線送受信機、ブルートゥース(登録商標)送受信機、WiMax送受信機、無線携帯電話送受信機、衛星送受信機(例えば、全地球位置決めシステム(GPS)送受信機)、又はその他の無線周波数(RF)送受信機、又はこれらの組み合わせであってもよい。NICは、イーサネット(登録商標)カード(Ethernetcard)であってもよい。
入力装置1506は、マウス、タッチパネル、タッチスクリーン(表示装置1504と統合されてもよい)、ポインター装置(例えば、スタイラス)、及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を含むことができる。例えば、入力装置1506は、タッチスクリーンと接続するタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術(コンデンサ、抵抗、赤外線、及び表面音波の技術を含むが、これらに限定されない)のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する一つ以上の点を決定するためのその他の素子を用いて、それらの接触及び移動又は間欠を検出することができる。
IO装置1507は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び/又は電話機能のような音声サポート機能を促進するために、スピーカ及び/又はマイクロフォンを含んでもよい。その他のIO装置1507は、さらに、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCIーPCIブリッジ)、センサ(例えば、加速度計のようなモーションセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなど)、又はこれらの組み合わせを含むことができる。装置1507は、さらに結像処理サブシステム(例えば、カメラ)を含むことができ、上記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ(図示せず)を介してインターコネクト1510に接続されることができ、キーボード又はサーマルセンサのようなその他の装置はシステム1500の具体的な配置又は設計により、組込みコントローラ(図示せず)により制御されることができる。
データ、アプリケーション、一つ以上のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ1501には、大容量記憶装置(図示せず)が接続されることができる。様々な実施形態において、より薄くて軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステート装置(SSD)によって実現されることができる。しかしながら、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実現することができ、より小さい容量のSSD記憶装置をSSDキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されることができる。このようなフラッシュデバイスは、上記システムのBIOS及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
記憶装置1508は、コンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体ともいう)を含むことができ、上記コンピュータアクセス可能な記憶媒体1509には、本明細書で記載されたいずれか一種以上の方法又は機能を具体化する一つ以上のコマンドセット又はソフトウェア(例えば、モジュール、ユニット、及び/又はロジック1528)が記憶されている。処理モジュール/ユニット/ロジック1528は、計画モジュール305、制御モジュール306などの上記構成要素のいずれかを表すことができる。処理モジュール/ユニット/ロジック1528は、さらに、データ処理システム1500、メモリ1503、及びプロセッサ1501による実行中に、メモリ1503内及び/又はプロセッサ1501内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503、及びプロセッサ1501も機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらに、ネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶するために用いることができる。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、上記一つ以上のコマンドセットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュとサーバ)を含むと解釈されるものとする。また、「コンピュータ可読記憶媒体」という用語は、コマンドセットを記憶又は符号化できる任意の媒体を含むと解釈されるものであり、上記コマンドセットは機械により実行され、本願のいずれか一種以上の方法を上記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的な機械可読媒体を含むが、これらに限定されないと解釈されるものとする。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えば、ASICS、FPGA、DSP又は類似の装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェア又は機能性回路として実現されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
なお、システム1500は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本願の実施形態と密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び/又はその他のデータ処理システムも、本願の実施形態と共に使用することができることを理解されたい。
上記具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
しかしながら、念頭に置くべきは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎないということである。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきは、用語(例えば、添付された特許請求の範囲に記載のもの)による説明とは、コンピュータシステム、又は類似の電子計算装置の動作又はプロセスを指し、上記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理(電子)量として示されたデータを制御するとともに、上記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示された別のデータに変換するということである。
本願の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置)を含む。
上述した図面において説明されたプロセス又は方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体に具現化されるもの)、又は両方の組み合わせを含む処理ロジックにより実行されることができる。上記プロセス又は方法は、以上で特定の順序に応じて説明されたが、上記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
本願の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきは、本明細書に記載の本願の実施形態の教示を実現するために、様々なプログラミング言語を使用することができるということである。
上記明細書において、本願の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本願のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。

Claims (20)

  1. 自動運転車(ADV)を動作させるためのコンピュータ実施方法であって、
    複数のセンサから得られたセンサデータに基づいて、感知モジュールにより自動運転車の周囲の運転環境を感知し、複数の感知モデルを使用して感知情報を生成するステップと、
    前記感知モジュールから受信された前記感知情報に基づいて、計画モジュールにより現在の運転周期に用いられる軌跡を計画するステップと、
    前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップと、
    前記自動運転車を前記軌跡に従って走行するように制御するステップと、
    前記感知モジュールが前記自動運転車の前記クリティカル領域に基づいて次の運転周期に用いられる感知情報を生成することを可能にするように、前記クリティカル領域を記述するメタデータを、アプリケーションプログラミングインタフェースを介して前記感知モジュールに送信するステップと、を含む、
    コンピュータ実施方法。
  2. 前記自動運転車の周囲の前記クリティカル領域は、前記自動運転車が前記次の運転周期で他の交通に潜在的に干渉する可能性のある1つ以上の領域を含む、
    請求項1に記載の方法。
  3. 前記次の運転周期に用いられる前記感知情報を生成する際に、前記方法は、
    前記感知モデルのうちの第1感知モデルを使用して、前記クリティカル領域を感知した第1感知情報を生成するステップと、
    前記感知モデルのうちの第2感知モデルを使用して、前記クリティカル領域以外の残りの領域を感知した第2感知情報を生成するステップと、を含む、
    請求項1に記載の方法。
  4. 前記第1感知情報は、前記第2感知情報よりも高い解像度で運転環境を記述し、
    前記感知モジュールは、前記第1感知情報を生成するために前記第2感知情報よりも多くの処理資源を消費する、
    請求項3に記載の方法。
  5. 前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップは、
    前記自動運転車の現在の位置決め及び前記軌跡に基づいて、前記自動運転車に関連する運転シナリオを決定するステップと、
    前記運転シナリオに対応するクリティカル領域を記述するメタデータを取得するように、前記運転シナリオに基づいてデータベース内で検索処理を実行するステップと、を含む、
    請求項1に記載の方法。
  6. 前記運転シナリオの前記クリティカル領域を記述する前記メタデータに基づいて、前記自動運転車の現在の位置決めに応じて前記クリティカル領域を確立するステップを更に含む、
    請求項5に記載の方法。
  7. 前記クリティカル領域を記述する前記メタデータに基づいて、前記自動運転車の周囲の前記クリティカル領域を画定するポリゴンを決定するステップと、
    前記ポリゴンの形状に基づいて前記ポリゴンの頂点を計算するステップであって、前記ポリゴンの頂点は、前記クリティカル領域の寸法及び位置を決定するためのものである、ステップと、を更に含む、
    請求項5に記載の方法。
  8. 前記データベースは複数のデータベースエントリを含み、各データベースエントリは、特定の運転シナリオを1セットのメタデータにマッピングし、前記1セットのメタデータは、クリティカル領域を表すポリゴンを画定するための1つ以上のルールを記述するためのものである、
    請求項5に記載の方法。
  9. コマンドが記憶されている非一時的な機械可読媒体であって、前記コマンドがプロセッサにより実行されるとき、前記プロセッサに処理を実行させ、前記処理は、
    複数のセンサから得られたセンサデータに基づいて、感知モジュールにより自動運転車の周囲の運転環境を感知し、複数の感知モデルを使用して感知情報を生成するステップと、
    前記感知モジュールから受信された前記感知情報に基づいて、計画モジュールにより現在の運転周期に用いられる軌跡を計画するステップと、
    前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップと、
    前記自動運転車を前記軌跡に従って走行するように制御するステップと、
    前記感知モジュールが前記自動運転車の前記クリティカル領域に基づいて次の運転周期に用いられる感知情報を生成することを可能にするように、前記クリティカル領域を記述するメタデータを、アプリケーションプログラミングインタフェースを介して前記感知モジュールに送信するステップと、
    を含む、
    非一時的な機械可読媒体。
  10. 前記自動運転車の周囲の前記クリティカル領域は、前記自動運転車が次の運転周期で他の交通に潜在的に干渉する可能性のある1つ以上の領域を含む、
    請求項9に記載の機械可読媒体。
  11. 前記次の運転周期に用いられる前記感知情報を生成する際に、前記方法は、
    前記感知モデルのうちの第1感知モデルを使用して、前記クリティカル領域を感知した第1感知情報を生成するステップと、
    前記感知モデルのうちの第2感知モデルを使用して、前記クリティカル領域以外の残りの領域を感知した第2感知情報を生成するステップと、を含む、
    請求項9に記載の機械可読媒体。
  12. 前記第1感知情報は、前記第2感知情報よりも高い解像度で運転環境を記述し、
    前記感知モジュールは、前記第1感知情報を生成するために前記第2感知情報よりも多くの処理資源を消費する、
    請求項11に記載の機械可読媒体。
  13. 前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップは、
    前記自動運転車の現在の位置決め及び前記軌跡に基づいて、前記自動運転車に関連する運転シナリオを決定するステップと、
    前記運転シナリオに対応するクリティカル領域を記述するメタデータを取得するように、前記運転シナリオに基づいてデータベース内で検索処理を実行するステップと、を含む、
    請求項9に記載の機械可読媒体。
  14. 前記処理は、
    前記運転シナリオの前記クリティカル領域を記述する前記メタデータに基づいて、前記自動運転車の現在の位置決めに応じて前記クリティカル領域を確立するステップを更に含む、
    請求項13に記載の機械可読媒体。
  15. 前記処理は、
    前記クリティカル領域を記述する前記メタデータに基づいて、前記自動運転車の周囲の前記クリティカル領域を画定するポリゴンを決定するステップと、
    前記ポリゴンの形状に基づいて前記ポリゴンの頂点を計算するステップであって、前記ポリゴンの頂点は、前記クリティカル領域の寸法及び位置を決定するためのものである、ステップと、を更に含む、
    請求項13に記載の機械可読媒体。
  16. 前記データベースは複数のデータベースエントリを含み、各データベースエントリは、特定の運転シナリオを1セットのメタデータにマッピングし、前記1セットのメタデータは、クリティカル領域を表すポリゴンを画定するための1つ以上のルールを記述するためのものである、
    請求項13に記載の機械可読媒体。
  17. データ処理システムであって、
    プロセッサと、
    前記プロセッサに接続されているメモリと、
    処理を実行するように前記メモリにロードされるとともに、前記プロセッサによって実行される感知モジュール及び計画モジュールであって、前記処理は、
    複数のセンサから得られたセンサデータに基づいて、感知モジュールにより自動運転車の周囲の運転環境を感知し、複数の感知モデルを使用して感知情報を生成するステップと、
    前記感知モジュールから受信された前記感知情報に基づいて、計画モジュールにより現在の運転周期に用いられる軌跡を計画するステップと、
    前記自動運転車の現在の位置決めに応じて、前記軌跡に基づいて前記自動運転車の周囲のクリティカル領域を決定するステップと、
    前記自動運転車を前記軌跡に従って走行するように制御するステップと、
    前記感知モジュールが前記自動運転車の前記クリティカル領域に基づいて次の運転周期に用いられる感知情報を生成することを可能にするように、前記クリティカル領域を記述するメタデータを、アプリケーションプログラミングインタフェースを介して前記感知モジュールに送信するステップと、を含む、感知モジュール及び計画モジュールと、を備える、
    データ処理システム。
  18. 前記自動運転車の周囲の前記クリティカル領域は、前記自動運転車が次の運転周期で他の交通に潜在的に干渉する可能性のある1つ以上の領域を含む、
    請求項17に記載のシステム。
  19. 前記次の運転周期に用いられる前記感知情報を生成する際に、前記方法は、
    前記感知モデルのうちの第1感知モデルを使用して、前記クリティカル領域を感知した第1感知情報を生成するステップと、
    前記感知モデルのうちの第2感知モデルを使用して、前記クリティカル領域以外の残りの領域を感知した第2感知情報を生成するステップと、を含む、
    請求項17に記載のシステム。
  20. 前記第1感知情報は、前記第2感知情報よりも高い解像度で運転環境を記述し、
    前記感知モジュールは、前記第1感知情報を生成するために前記第2感知情報よりも多くの処理資源を消費する、
    請求項19に記載のシステム。
JP2019017849A 2018-04-03 2019-02-04 自動運転に用いられる感知と計画のコラボレーションフレームワーク Active JP6722312B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/944,289 US11378956B2 (en) 2018-04-03 2018-04-03 Perception and planning collaboration framework for autonomous driving
US15/944,289 2018-04-03

Publications (2)

Publication Number Publication Date
JP2019182399A true JP2019182399A (ja) 2019-10-24
JP6722312B2 JP6722312B2 (ja) 2020-07-15

Family

ID=68054336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019017849A Active JP6722312B2 (ja) 2018-04-03 2019-02-04 自動運転に用いられる感知と計画のコラボレーションフレームワーク

Country Status (3)

Country Link
US (1) US11378956B2 (ja)
JP (1) JP6722312B2 (ja)
CN (1) CN110345955B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7464236B2 (ja) 2021-05-10 2024-04-09 江▲蘇▼大学 複雑ネットワークによる自動運転車の複雑環境モデル、認知システム及び認知方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977426B2 (en) 2012-06-04 2015-03-10 Geotab Inc. VIN based accelerometer threshold
US11130497B2 (en) 2017-12-18 2021-09-28 Plusai Limited Method and system for ensemble vehicle control prediction in autonomous driving vehicles
US20190185012A1 (en) 2017-12-18 2019-06-20 PlusAI Corp Method and system for personalized motion planning in autonomous driving vehicles
US11273836B2 (en) * 2017-12-18 2022-03-15 Plusai, Inc. Method and system for human-like driving lane planning in autonomous driving vehicles
US10782699B2 (en) * 2018-03-10 2020-09-22 Baidu Usa Llc Real-time perception adjustment and driving adaption based on surrounding vehicles' behavior for autonomous driving vehicles
US10843710B2 (en) 2018-04-11 2020-11-24 Hyundai Motor Company Apparatus and method for providing notification of control authority transition in vehicle
EP3552902A1 (en) 2018-04-11 2019-10-16 Hyundai Motor Company Apparatus and method for providing a driving path to a vehicle
US11351989B2 (en) 2018-04-11 2022-06-07 Hyundai Motor Company Vehicle driving controller, system including the same, and method thereof
US11084490B2 (en) 2018-04-11 2021-08-10 Hyundai Motor Company Apparatus and method for controlling drive of vehicle
EP3569460B1 (en) 2018-04-11 2024-03-20 Hyundai Motor Company Apparatus and method for controlling driving in vehicle
US11077854B2 (en) 2018-04-11 2021-08-03 Hyundai Motor Company Apparatus for controlling lane change of vehicle, system having the same and method thereof
ES2889930T3 (es) * 2018-04-11 2022-01-14 Hyundai Motor Co Ltd Aparato y método para el control para habilitar un sistema autónomo en un vehículo
US11597403B2 (en) 2018-04-11 2023-03-07 Hyundai Motor Company Apparatus for displaying driving state of vehicle, system including the same and method thereof
US11334067B2 (en) 2018-04-11 2022-05-17 Hyundai Motor Company Apparatus and method for providing safety strategy in vehicle
US11548509B2 (en) 2018-04-11 2023-01-10 Hyundai Motor Company Apparatus and method for controlling lane change in vehicle
US11084491B2 (en) 2018-04-11 2021-08-10 Hyundai Motor Company Apparatus and method for providing safety strategy in vehicle
EP3552901A3 (en) 2018-04-11 2020-04-29 Hyundai Motor Company Apparatus and method for providing safety strategy in vehicle
US11173910B2 (en) 2018-04-11 2021-11-16 Hyundai Motor Company Lane change controller for vehicle system including the same, and method thereof
US11602999B1 (en) * 2018-05-01 2023-03-14 Zoox, Inc. Predictive control strategies for vehicles
ES2736901A1 (es) * 2018-06-29 2020-01-08 Geotab Inc Caracterización de una colisión de vehículo
US11397089B2 (en) * 2018-07-13 2022-07-26 Uatc, Llc Autonomous vehicle routing with route extension
US11199847B2 (en) * 2018-09-26 2021-12-14 Baidu Usa Llc Curvature corrected path sampling system for autonomous driving vehicles
US11475576B2 (en) * 2018-12-07 2022-10-18 Thinkware Corporation Method for detecting vehicle and device for executing the same
US11161504B2 (en) * 2019-03-19 2021-11-02 Honda Motor Co., Ltd. Vehicle control apparatus and method
US11245909B2 (en) * 2019-04-29 2022-02-08 Baidu Usa Llc Timestamp and metadata processing for video compression in autonomous driving vehicles
US11180165B2 (en) * 2019-12-26 2021-11-23 Baidu Usa Llc Autonomous driving vehicle three-point turn
CN113551662A (zh) * 2020-04-24 2021-10-26 深圳裹动科技有限公司 应用于自动驾驶车辆的感知方法、动态感知装置、以及自动驾驶车辆
EP3907468A1 (en) * 2020-05-08 2021-11-10 Volkswagen Aktiengesellschaft Vehicle, apparatus, method, and computer program for determining a merged environmental map
US11941986B2 (en) 2021-02-03 2024-03-26 Geotab Inc. Methods for characterizing a low-impact vehicle collision using high-rate acceleration data
US11862022B2 (en) 2021-02-03 2024-01-02 Geotab Inc. Methods for characterizing a vehicle collision
US11884285B2 (en) 2021-02-03 2024-01-30 Geotab Inc. Systems for characterizing a vehicle collision
US20230065284A1 (en) * 2021-09-01 2023-03-02 Baidu Usa Llc Control and planning with localization uncertainty
US11845454B2 (en) 2021-09-14 2023-12-19 Motional Ad Llc Operational envelope detection with situational assessment
US11851091B2 (en) 2021-09-14 2023-12-26 Motional Ad Llc Immobility detection within situational context
US20230093601A1 (en) * 2021-09-14 2023-03-23 Motional Ad Llc Environmental limitation and sensor anomaly system and method
US20230303092A1 (en) * 2022-03-28 2023-09-28 Gm Cruise Holdings Llc Perception error identification
CN115056784B (zh) * 2022-07-04 2023-12-05 小米汽车科技有限公司 车辆控制方法、装置、车辆、存储介质及芯片
CN116985840A (zh) * 2022-09-27 2023-11-03 腾讯云计算(北京)有限责任公司 车辆控制方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017157A (ja) * 2007-07-04 2009-01-22 Omron Corp 画像処理装置および方法、並びに、プログラム
US20170158193A1 (en) * 2015-12-04 2017-06-08 Volkswagen Ag Method and apparatus in a motor vehicle for automated driving
JP2017111565A (ja) * 2015-12-15 2017-06-22 株式会社デンソー 通信制御装置
JP2018172052A (ja) * 2017-03-31 2018-11-08 本田技研工業株式会社 車両制御装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19536512A1 (de) * 1995-09-29 1997-04-03 Bayerische Motoren Werke Ag Gangwechselsteuerung für Automatikgetriebe in Kraftfahrzeugen mit einem elektronischen Steuergerät
WO2005017554A1 (es) * 2003-08-18 2005-02-24 Fico Mirrors, Sa Sistema y método para la supervisión de un ambiente exterior de un vehículo automóvil
JP2006258604A (ja) * 2005-03-17 2006-09-28 Sanyo Electric Co Ltd 検出装置
JP4980076B2 (ja) * 2007-01-11 2012-07-18 富士重工業株式会社 車両の運転支援装置
JP5600330B2 (ja) * 2012-02-16 2014-10-01 富士重工業株式会社 車両の運転支援装置
GB201219742D0 (en) * 2012-11-02 2012-12-12 Tom Tom Int Bv Methods and systems for generating a horizon for use in an advanced driver assistance system (adas)
DE102013013867A1 (de) * 2013-08-20 2015-03-12 Audi Ag Kraftfahrzeug und Verfahren zur Steuerung eines Kraftfahrzeugs
US10422649B2 (en) * 2014-02-24 2019-09-24 Ford Global Technologies, Llc Autonomous driving sensing system and method
CN104943684B (zh) * 2014-03-31 2017-09-29 比亚迪股份有限公司 无人驾驶汽车控制系统和具有其的汽车
CN110174903B (zh) * 2014-09-05 2023-05-09 深圳市大疆创新科技有限公司 用于在环境内控制可移动物体的系统和方法
US9493157B2 (en) * 2015-01-29 2016-11-15 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous vehicle operation in obstructed occupant view and sensor detection environments
US9779312B2 (en) * 2015-01-30 2017-10-03 Honda Motor Co., Ltd. Environment recognition system
EP3845426A1 (en) * 2015-02-10 2021-07-07 Mobileye Vision Technologies Ltd. Sparse map for autonomous vehicle navigation
DE102015205133A1 (de) * 2015-03-20 2016-09-22 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Ermitteln einer Bewegungsplanung für ein zumindest teilweise automatisiertes Fahren eines Fahrzeugs
US10152882B2 (en) * 2015-11-30 2018-12-11 Nissan North America, Inc. Host vehicle operation using remote vehicle intention prediction
US20190143972A1 (en) * 2016-03-15 2019-05-16 Honda Motor Co., Ltd. Vehicle control system, vehicle control method, and vehicle control program
CN105751230B (zh) * 2016-03-31 2018-12-21 纳恩博(北京)科技有限公司 一种路径控制方法、路径规划方法、第一设备及第二设备
US10126141B2 (en) * 2016-05-02 2018-11-13 Google Llc Systems and methods for using real-time imagery in navigation
US10317900B2 (en) * 2016-05-13 2019-06-11 GM Global Technology Operations LLC Controlling autonomous-vehicle functions and output based on occupant position and attention
DE102016213494A1 (de) * 2016-07-22 2018-01-25 Conti Temic Microelectronic Gmbh Kameravorrichtung sowie Verfahren zur Erfassung eines Umgebungsbereichs eines eigenen Fahrzeugs
DE102016213493A1 (de) * 2016-07-22 2018-01-25 Conti Temic Microelectronic Gmbh Kameravorrichtung zur Aufnahme eines Umgebungsbereichs eines eigenen Fahrzeugs sowie Verfahren zur Bereitstellung einer Fahrerassistenzfunktion
KR101851155B1 (ko) * 2016-10-12 2018-06-04 현대자동차주식회사 자율 주행 제어 장치, 그를 가지는 차량 및 그 제어 방법
DE102016223579A1 (de) * 2016-11-28 2018-05-30 Robert Bosch Gmbh Verfahren zum Ermitteln von Daten einer Verkehrssituation
TWI611280B (zh) * 2016-12-12 2018-01-11 財團法人工業技術研究院 遠端操作載具及其載具控制裝置與控制方法
US10309778B2 (en) * 2016-12-30 2019-06-04 DeepMap Inc. Visual odometry and pairwise alignment for determining a position of an autonomous vehicle
KR102254079B1 (ko) * 2017-01-04 2021-05-20 현대자동차주식회사 차량 및 그 제어 방법
US10445928B2 (en) * 2017-02-11 2019-10-15 Vayavision Ltd. Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types
US10281920B2 (en) * 2017-03-07 2019-05-07 nuTonomy Inc. Planning for unknown objects by an autonomous vehicle
US10678244B2 (en) * 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US10453351B2 (en) * 2017-07-17 2019-10-22 Aurora Flight Sciences Corporation System and method for detecting obstacles in aerial systems
JP7009834B2 (ja) * 2017-08-23 2022-01-26 株式会社デンソー 収集システム及びセンタ
US10866588B2 (en) * 2017-10-16 2020-12-15 Toyota Research Institute, Inc. System and method for leveraging end-to-end driving models for improving driving task modules
CN111492403A (zh) * 2017-10-19 2020-08-04 迪普迈普有限公司 用于生成高清晰度地图的激光雷达到相机校准
EP3477333B1 (en) * 2017-10-26 2023-08-09 Continental Autonomous Mobility Germany GmbH Method and device of determining kinematics of a target
US11163309B2 (en) * 2017-11-30 2021-11-02 Direct Current Capital LLC Method for autonomous navigation
DE112018006665T5 (de) * 2017-12-27 2020-10-01 Direct Current Capital LLC Verfahren zum zugreifen auf ergänzende wahrnehmungsdaten von anderen fahrzeugen
US20190204834A1 (en) * 2018-01-04 2019-07-04 Metawave Corporation Method and apparatus for object detection using convolutional neural network systems
US10860020B2 (en) * 2018-01-23 2020-12-08 Toyota Research Institute, Inc. System and method for adaptive perception in a vehicle
US10976745B2 (en) * 2018-02-09 2021-04-13 GM Global Technology Operations LLC Systems and methods for autonomous vehicle path follower correction
KR102420568B1 (ko) * 2018-04-27 2022-07-13 삼성전자주식회사 차량의 위치를 결정하는 방법 및 이를 위한 차량
WO2019231456A1 (en) * 2018-05-31 2019-12-05 Nissan North America, Inc. Probabilistic object tracking and prediction framework
US10699167B1 (en) * 2018-10-19 2020-06-30 Waymo Llc Perception visualization tool
US11153721B2 (en) * 2018-12-27 2021-10-19 Intel Corporation Sensor network enhancement mechanisms

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017157A (ja) * 2007-07-04 2009-01-22 Omron Corp 画像処理装置および方法、並びに、プログラム
US20170158193A1 (en) * 2015-12-04 2017-06-08 Volkswagen Ag Method and apparatus in a motor vehicle for automated driving
JP2017111565A (ja) * 2015-12-15 2017-06-22 株式会社デンソー 通信制御装置
JP2018172052A (ja) * 2017-03-31 2018-11-08 本田技研工業株式会社 車両制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7464236B2 (ja) 2021-05-10 2024-04-09 江▲蘇▼大学 複雑ネットワークによる自動運転車の複雑環境モデル、認知システム及び認知方法

Also Published As

Publication number Publication date
US11378956B2 (en) 2022-07-05
CN110345955B (zh) 2023-07-21
CN110345955A (zh) 2019-10-18
US20190302768A1 (en) 2019-10-03
JP6722312B2 (ja) 2020-07-15

Similar Documents

Publication Publication Date Title
JP6722312B2 (ja) 自動運転に用いられる感知と計画のコラボレーションフレームワーク
CN110388931B (zh) 将对象的二维边界框转换成自动驾驶车辆的三维位置的方法
KR102354615B1 (ko) 자율 주행 차량의 저속 정경을 위한 보행자 상호 작용 시스템
JP6975512B2 (ja) 自動運転車両の周辺車両の挙動に基づくリアルタイム感知調整と運転調整
JP6517897B2 (ja) 自律走行車用のバネシステムに基づく車線変更方法
JP2019206327A (ja) 自動運転車両の軌道の生成方法
JP2019182415A (ja) 自動運転車両(adv)に用いるピッチ角の補正方法
JP2020514145A (ja) シミュレーションに基づく自動運転車の感知要求の評価方法
KR102279078B1 (ko) 자율 주행 차량의 v2x 통신 기반의 차량 차로 시스템
JP2019182412A (ja) 自動運転車に用いられる自動データラベリング
JP2020015493A (ja) 自動運転車両のためのオブジェクト移動を予測するための方法およびシステム
KR102398256B1 (ko) 비전 기반 인식 시스템에 의한 대립적 샘플들 검출 방법
KR20190100856A (ko) 곡선 투영을 가속화하기 위한 시스템 및 방법
JP2019202765A (ja) 自動運転車両のためのpid埋め込みlqr
CN110621541B (zh) 用于生成轨迹以操作自动驾驶车辆的方法和系统
JP2020523552A (ja) 自動運転車両の経路計画のための運転シナリオに基づく車線ガイドライン
JP2018083610A (ja) 自律走行車の車両交通行動を予測して運転決定をするための方法及びシステム
CN111123906B (zh) 不同横向加速度约束下的最优纵向轨迹生成
CN111615476B (zh) 用于自动驾驶车辆的基于螺旋曲线的竖直停车规划系统
JP2019207677A (ja) 自動運転車(adv)に用いられる密度に基づく信号機制御システム
JP7001708B2 (ja) 自動運転車の高速計画のための多項式フィッティングベースの基準線平滑化方法
JP2019131177A (ja) 複数のスレッドを使用して自動運転車両に用いられる基準線を生成するための方法及びシステム
KR20200037737A (ko) 자율 주행 차량을 위한 보행자 확률 예측 시스템
KR20210134853A (ko) 자율 주행 차량에 사용되는 터널에 기초한 계획 시스템
JP2019137391A (ja) 自動運転車両のための自己位置推定方法、システム及び機械可読媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200619

R150 Certificate of patent or registration of utility model

Ref document number: 6722312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250