JP2019505423A - 比例、積分及び微分(pid)コントローラを用いた自律走行車のステアリング制御方法及びシステム - Google Patents

比例、積分及び微分(pid)コントローラを用いた自律走行車のステアリング制御方法及びシステム Download PDF

Info

Publication number
JP2019505423A
JP2019505423A JP2017549315A JP2017549315A JP2019505423A JP 2019505423 A JP2019505423 A JP 2019505423A JP 2017549315 A JP2017549315 A JP 2017549315A JP 2017549315 A JP2017549315 A JP 2017549315A JP 2019505423 A JP2019505423 A JP 2019505423A
Authority
JP
Japan
Prior art keywords
autonomous vehicle
steering angle
target
determining
pid controller
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
JP2017549315A
Other languages
English (en)
Other versions
JP6668375B2 (ja
Inventor
チュー,ファン
コン,チー
ユイ,シアン
フー,セン
ルオ,チー
チュー,チョングアン
パン,ユイチャン
ヤン,ウエンリ
ヤン,グアン
ワン,ジンガオ
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 com Times Technology Beijing Co Ltd
Baidu USA LLC
Original Assignee
Baidu com Times Technology Beijing Co Ltd
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 com Times Technology Beijing Co Ltd, Baidu USA LLC filed Critical Baidu com Times Technology Beijing Co Ltd
Publication of JP2019505423A publication Critical patent/JP2019505423A/ja
Application granted granted Critical
Publication of JP6668375B2 publication Critical patent/JP6668375B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D6/00Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits
    • B62D6/002Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits computing target steering angles for front or rear wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • B62D15/025Active steering aids, e.g. helping the driver by actively influencing the steering system after environment evaluation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • B62D15/025Active steering aids, e.g. helping the driver by actively influencing the steering system after environment evaluation
    • B62D15/0265Automatic obstacle avoidance by steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D6/00Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits
    • B62D6/02Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits responsive only to vehicle speed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42033Kind of servo controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

一実施形態では、自律走行車(ADV)のステアリング制御システムは、計画されたルートの障害物を回避するには、ステアリング制御をいつ且つどのぐらい使用するかを決定する。ステアリング制御システムはADVの目標方向角及び実際方向角に基づいて第1のステアリング角を計算し、ADVの目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、計画されたルート、オブジェクト又は障害物コースを処理する。ステアリング制御システムは第1のステアリング角及び第2のステアリング角に基づいて目標ステアリング角を決定し、且つ目標ステアリング角を利用してADVの後続のステアリング角を制御する。
【選択図】図7

Description

本発明の実施形態は、大体自律走行車を操作することに関する。より具体的には、本発明の実施形態は自律走行車のステアリング制御に関する。
自律モード(例えば、自律運転)で走行している車両は、乗員(特に運転者)を、特定の運転に関連する責任から解放することができる。自律モードで走行している場合、車両は車載センサで様々な場所にナビゲートすることができ、それにより車両がヒューマンコンピュータインタラクションの最も少ない場合又はいくつかの乗客がない場合で運行することを可能にさせる。
ステアリング制御は自律走行において重要な操作である。自律走行車は、計画されたルートに沿って自律的に障害物を操縦するように、ステアリング制御を必要とする。しかしながら、異なる時間間隔で、計画されたルートはステアリング制御の感度に影響を与える様々な要素を有する可能性があり、例えば、車両速度、車両の旋回半径、及び実行される操縦(例えば、最後のコマンド)である。また、自律車両又は自律走行車又はADVは計画されたルートから相対横方向変位又はずれが発生する可能性があり、従ってステアリング補償を必要とする。
本発明の実施形態は、図面の各図に限定されるのではなく例示的に示され、図面において、同じ参照符号が類似する要素を示す。
本発明の一実施形態に係るネットワーク化システムを示すブロック図である。 本発明の一実施形態に係る自律走行車の実例を示すブロック図である。 本発明の一実施形態に係る自律走行車と共に使用する感知及び計画システムの実例を示すブロック図である。 本発明の一実施形態に係る感知及び計画システムの制御モジュールの一例を示すブロック図である。 本発明の一実施形態に係る比例積分微分(PID)コントローラの一例を示すブロック図である。 本発明の一実施形態に係るステアリング角調整の応用を示す図である。 本発明の一実施形態に係る横方向変位ステアリング補償の応用を示す図である。 一実施形態に係るADVの後続ステアリング角を計算する手順を示すフローチャートである。 一実施形態に係る第1のステアリング角を計算する手順を示すフローチャートである。 一実施形態に係る第2のステアリング角を計算する手順を示すフローチャートである。 一実施形態に係るデータ処理システムを示すブロック図である。
以下、説明の詳細を参照しながら、本発明の様々な実施形態及び方法を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本出願を説明するためのものであり、本出願を限定するものではない。本出願の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本発明の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
本明細書では「一つの実施形態」又は「実施形態」とは、当該実施形態について組み合わせて説明された特定特徴、構造又は特性が、本出願の少なくとも一つの実施形態に含まれてもよい。語句「一つの実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
いくつかの実施形態によれば、感知及び計画システムの制御モジュールは、命令をハンドル制御に送信するコマンド遅延及びADVの方向角及び位置のデータを取得する遅延を考慮して、自律走行車(ADV)のステアリング制御のステアリング角の形態でステアリングコマンドをいつ且つどのぐらい使用するかを決定し、旋回するか、計画されたルートの障害物を迂回し及び/又は回避するように操縦する。計画されたルートはステアリング制御の感度に影響を与える様々な要素を有する可能性があり、例えば、車両速度、車両の旋回半径、又は実行している旋回又は操縦(例えば、最後のコマンド)。
実施形態では、制御モジュールは、自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算し、ADVの目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算する。制御モジュールは、命令を送信してADVをステアリングする遅延及びADVの方向角及び位置についてのデータを取得する遅延を考慮して、第1及び第2のステアリング角に基づいて目標ステアリング角を決定して、ADVの後続ステアリング角を制御する。
一実施形態では、第1の比例−積分−微分(PID)コントローラで、ADVの目標方向角及び実際方向角に基づいて第1のステアリング角を計算する。別の実施形態では、第1のPIDコントローラの比例係数はADVの現在速度に基づいて動的に調整される。別の実施形態では、第1のPIDコントローラの比例係数は、現在速度が所定閾値を超えると決定されたことに応答して減少する。別の実施形態では、ADVが動作する時、第1のPIDコントローラの微分係数はADVの現在速度に基づいて調整される。
一実施形態では、第1のPIDコントローラの比例係数はADVの旋回半径に基づいて調整される。別の実施形態では、第1のPIDコントローラの比例係数は旋回半径が所定閾値を超えると決定されたことに応答して増大する。
一実施形態では、制御モジュールはADVの目標横方向位置及びADVの実際横方向位置に基づいて第2のステアリング角を計算する。制御モジュールは第2のPIDコントローラで第2のステアリング角を計算して、ADVの横方向のずれを補償する。別の実施形態では、第2のPIDコントローラの比例係数、積分係数及び微分係数はADVの現在速度、ADVの現在旋回半径及びADVの最後のコマンドに基づいて動的に調整される。
図1は本発明に係る一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図1を参照して、ネットワーク配置100はネットワーク102によって1つ以上のサーバ103〜104に通信可能に接続することができる自律走行車101を含む。1つの自律走行車を示すが、ネットワーク102によって複数の自律走行車は互いに接続され、及び/又はサーバ103〜104に接続されることができる。ネットワーク102は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク(LAN)、例えばインターネット、セルラーネットワーク、衛星ネットワークの広域ネットワーク(WAN)又はその組み合わせであってもよい。サーバ103〜104は任意のタイプのサーバ又はサーバクラスタ、例えばWebサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ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を運転することができる。
一実施形態では、第1及び第2のPIDコントローラは、比例、積分及び微分係数のそれぞれの第1及び第2の係数によりそれぞれモデリングされる。これらの係数は、データ分析システム(例えば、データ分析システム又はサーバ103)により大量の運転統計データに基づいてオフラインで設定されてもよい。
一実施形態では、データ分析システム103はデータコレクタ121及び機器学習エンジン122を含む。データコレクタ121は、所定期間内に様々な車両から運転統計データ123を収集する。運転統計データ123はADVの目標ステアリング角及び実際ステアリング角に関する情報、時間に関するGPS位置、ADVのブランド/モデル、車両ID番号、計画されたルート、及び天気及び道路状況のような運転環境のセンサ出力を含む。機器学習エンジン122は運転統計データ123を分析して、PIDモデル124の適切な比例、積分及び微分係数を学習して決定して、迅速且つ安定的なPIDコントローラの応答を示し、それにより目標ステアリング角と実際ステアリング角のずれ及びADVの目標横方向位置と実際横方向位置のずれを補償する。続いて、PIDモデル124は自律走行車101の感知及び計画システム110にアップロードされて、ステアリング制御の決定に用いられることができる。
図3は、本発明の一実施形態に係る自律走行車と共に使用される感知及び計画システムの実例を示すブロック図である。システム300は、図1の自律走行車101の一部(感知及び計画システム110、制御システム111及びセンサシステム115を含むが、これらに制限されない)となるように実現されることができる。図3を参照し、感知及び計画システム110は、位置決めモジュール301と、感知モジュール302と、決定モジュール303と、計画モジュール304と、制御モジュール305とを含むが、これらに制限されない。
モジュール301〜305における一部又は全部は、ソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置352に取り付けられ、メモリ351にロードされ、かつ1つ以上のプロセッサ(図示せず)により実行されてもよい。注意すべきなのは、これらのモジュールにおける一部又は全部は、図2の車両制御システム111の一部又は全部のモジュールに通信可能に接続されてもよく、一体化されてもよい。モジュール301〜305における一部は、一緒に集積モジュールとして一体化されてもよい。
位置決めモジュール301(地図及びルーティングモジュールとも言われる)は、ユーザの旅程又はルートに関連する任意のデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもい。位置決めモジュール301は、旅程に関連するデータを取得するように、自律走行車300のその他の構成要素(例えば地図及びルート情報311)と通信する。例えば、位置決めモジュール301は、位置サーバと、地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、かつMPOIサーバは、地図及びルート情報311の一部としてキャッシュされてもよい地図サービスと特定な位置のPOIとを提供する。自律走行車300がルートに沿って移動する時に、位置決めモジュール301は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
センサシステム115により提供されたセンサデータ、及び位置決めモジュール301により得られた位置決め情報に基づいて、感知モジュール302は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの(状況)を示すことができる。感知は、例えば対象形式で現される車線配置(例えば、ストレート又はカーブ)、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識(例えば、停止標識、譲り標識)などを含んでもよい。
感知モジュール302は、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含んでもよく、自律走行車環境における対象及び/又は特徴を認識するように、1つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、車道の境界線、他の車両、歩行者及び/又は障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール302は、その他のセンサ(例えばレーダー及び/又はLIDAR)により提供されたその他のセンサデータに基づいて対象を検出することもできる。
それぞれの対象に対して、決定モジュール303は、如何に対象を処理する決定をする。例えば、特定な対象(例えば、交差ルートにおける他の車両)及び対象を記述するメタデータ(例えば、速度、方向、ステアリング角)に対して、決定モジュール303は、遇う対象に如何に対応する(例えば、追い越し、道譲り、停止、通過)ことを決定する。決定モジュール303は、永続的記憶装置352(図示せず)に記憶されてもよい1セットのルール(例えば交通ルール)に基づいてこのような決定をすることができる。
感知したそれぞれ対象に対する決定に基づいて、計画モジュール304は、自律走行車のためにルート又は経路及び運転パラメータ(例えば、距離、速度及び/又はステアリング角)を計画する。即ち、所定対象に対して、決定モジュール303は前記対象に対して如何に対応するかを決定し、計画モジュール304は如何に実行するかを決定する。例えば、所定対象に対して、決定モジュール303は、前記対象を追い越すことを決定することができ、計画モジュール304は、前記対象の左側に追い越すか、右側に追い越すかを決定することができる。計画モジュール304は、計画及び制御データを生成し、車両300が次の移動周期(例えば、次のルート/経路セグメント)に如何に移動するかを記述する情報を含む。例えば、計画及び制御データは車両300が毎時間30マイル(mph)の速度で10メートル移動し、次に25mphの速度で右車線まで変わることを指示することができる。
計画及び制御データに基づいて、制御モジュール305は計画及び制御データにより定義されたルート又は経路に基づいて、車両制御システム111へ適切な命令又は信号を送信することによって自律走行車を制御及び運転する。前記ルート又は経路に沿って違う場所で適時に適切な車両設置又は運転パラメータ(例えば、スロットル、ブレーキ及びステアリング命令)を使用して車両を第1点から第2点まで運転するように、計画及び制御データは十分な情報を含む。
注意すべきなのは、決定モジュール303及び計画モジュール304は、集積モジュールに一体化されてもよい。決定モジュール303/計画モジュール304は、自律走行車の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動することを実現するための一連の速度及びディレクショナ進行方向を決定することができ、前記経路は、自律走行車を総体的に最終目的位置を向けて通じる車線経路に進ませると同時に、基本的に感知された障害物を避けることができる。目的地はユーザインターフェースシステム113により実現されたユーザ入力に基づいて設置できる。ナビゲーションシステムは、自律走行車が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車用の走行経路を決定するように、GPSシステム及び1つ以上の地図からのデータを合併することができる。
決定モジュール303/計画モジュール304は、自律走行車環境における潜在障害物を、認識・評価・回避又はその他の方式で迂回するために、衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、以下の方式によって自律走行車のナビゲーションにおける変更を実現することができ、制御システム111の中の1つ以上のサブシステムを動作してターン操縦、ステアリング操縦、ブレーキ操縦等を採る。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に決定することができる。衝突回避システムは、その他のセンサシステムは、自律走行車がターンして入ろうとする隣接領域における車両、建築障害物等を検出する際にターン操縦を採らないように配置できる。衝突回避システムは、使用可能でありかつ自律走行車の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自律走行車の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
図4Aは一実施形態に係る制御モジュール305を示す。制御モジュール305は方向角調整サブモジュール401及び横方向位置調整サブモジュール402を含む。これらのサブモジュールはそれぞれ目標方向(ステアリング)角と実際方向(ステアリング)角のずれ及びADVの目標横方向位置と実際横方向位置のずれを減少させるためのものである。方向角調整サブモジュール401はADVの目標方向ステアリング角と実際方向ステアリング角のずれを減少させる。
方向角調整サブモジュール401の例は第1のPIDコントローラを含んでもよい。図4Bは一実施形態に係る比例積分微分(PID)コントローラを示すブロック図である。PIDコントローラは工業制御システムで一般的に使用される制御ループフィードバックメカニズムである。PIDコントローラはプロセスの目標値と実際値との差である誤差値を連続的に計算し、且つそれぞれP、I及びDと示される比例項、積分項及び微分項に基づいて補正する。例えば、PIDコントローラは、以下の方程式で示され、即ち、

ここで、e(t)=誤差(t)=目標_設定点(t)−測定した_出力(t)は減少する誤差項であり、K、K及びKはそれぞれPIDコントローラの比例、積分及び微分係数である。図4Bに示すように、PIDコントローラ400はアナログデバイスであってもよい。PIDコントローラ400は所望の目標値を表す入力目標設定点405を有する。目標設定点405をプロセス出力445(PIDコントローラ400の測定出力を表す)から減算して、誤差410を取得する。誤差410は比例(P)制御モード415、積分(I)制御モード420及び微分(D)制御モード425に与えられる。積分(I)制御モード420及び微分(D)制御モード425はそれぞれ積分器(例えば、ローパスフィルタ)回路及びその等価物、及び微分器(例えば、ハイパスフィルタ)回路及びその等価物によって実施されてもよい。P制御モード415、I制御モード420及びD制御モード425の出力は、合計で、PID出力430である。PID出力430はプロセス440(制御されるシステム)に接続され、それによりプロセス440は外乱(external disturbance)435を含む。プロセス440は測定出力445を生成し、測定出力445がP制御モード415、I制御モード420及びD制御モード425の入力に与えられ、それにより閉ループを形成する。
動作中、外乱435がゼロであり、又は目標設定点405とプロセス出力445とが同じである場合、誤差410がゼロに等しく且つPID出力430がゼロに等しい。ゼロ外乱435が存在する場合、ゼロPID出力430がプロセス440に与えられるため、プロセス出力445を調整しない。その後、プロセス出力445が変わらず、且つPIDコントローラ400がバランスに達する。しかしながら、非ゼロ外乱435が存在し、又は目標設定点405とプロセス出力445(例えば、前のサイクルのプロセス出力445)が異なる場合、誤差410がゼロではなく、且つP制御モード415、I制御モード420及びD制御モード425はPIDコントローラのK、K及びK係数に基づいて中間出力430を生成し、それにより誤差410を補正(又は減少)する。PIDコントローラ400はアナログデバイスに限定されるものではなく、デジタル装置又はソフトウェアプログラムとして実施されてもよい。
図4Bに示すように、PIDコントローラ400の例示的なデジタル実装は、クロックサイクル(又はサイクル)が10ミリ秒のクロック(図示せず)を含んでもよい。デジタルPIDコントローラ400は現在のサイクルの目標値を表す入力目標設定点405を有する。目標設定点405をプロセス出力445(前のサイクルのPIDコントローラ400の測定出力を表す)から減算して、現在のサイクルの誤差410を取得する。現在のサイクルの誤差410は比例(P)制御モード415、積分(I)制御モード420及び微分(D)制御モード425にフィードバックされる。積分(I)制御モード420及び微分(D)制御モード425はそれぞれ積分器回路及び微分器回路によって実施されてもよい。P制御モード415、I制御モード420及びD制御モード425の出力は合計でPID出力430である。PID出力430はプロセス440に接続され、それによりプロセス440は外乱435を含み且つプロセス遅延を含む可能性がある。プロセス440は現在のサイクルの測定出力445を生成し、測定出力445がP制御モード415、I制御モード420及びD制御モード425の入力に与えられ、それにより閉ループを形成する。例示的な実施形態では、入力及び中間信号線は8ビットであってもよく、加算、減算及び乗算演算は演算増幅器、加算器、XORゲート及びAND/ORゲートで実施されてもよい。
PIDコントローラ400はソフトウェアプログラムとして実装されてもよい。例えば、PIDコントローラ400は10ミリ秒ごとに呼び出されるサブルーチンによってpython又は任意のプログラミング言語で実装されてもよい。PIDコントローラサブルーチンは5つの入力、例えば、現在のサイクルの誤差410の入力(即ち、現在のサイクルの目標設定点405から前のサイクルの測定出力445を減算する)、前のサイクルの誤差410の入力(即ち、前のサイクルの目標設定点405から前の2つのサイクルの測定出力445を減算する)、及びそれぞれPIDコントローラのK、K及びK係数に用いられる3つの入力を有してもよい。サブルーチンの出力はPID出力430である。
P制御モード415は現在のサイクルの入力K係数及び誤差410を乗算する。I制御モード420は現在のサイクルのK係数、サイクル期間(このような場合で、10ミリ秒である)及び誤差410を乗算する。D制御モード425は現在のサイクルのK係数、誤差410を乗算してから前のサイクルの誤差410を減算し、サイクル期間で割る。P制御モード415、I制御モード420及びD制御モード425の出力を合計して、現在のサイクルのPID出力430又はサブルーチンの出力を生成する。PID出力430又はサブルーチンの出力をプロセス440に追加して、プロセス440は外乱435を含み、且つプロセス遅延を含む可能性がある。プロセス440は現在のサイクルの測定出力445を生成し、測定出力445は次のサイクルのPIDコントローラサブルーチンの入力として用いられる。例えば、PIDコントローラサブルーチンは、以下の離散化方程式で示され、即ち、

ここで、e(n)=誤差(n)=目標_設定点(n)−測定した_出力(n−1)は、減少する第n個のサイクルの誤差項であり、K、K及びKはそれぞれPIDコントローラの比例、積分及び微分係数であり、且つ
はサイクル期間である。
図5は、一実施形態に係る方向角ずれ又は誤差520で動作するADV 501を示す図である。ADV 501は計画されたルート505において方向502に沿って進行する。ADV 501は旋回角506で後続の旋回を行い、それにより後続の目標方向角510でルート上に維持される。この例では、旋回角506が目標方向角510と同じである。図5は、ADV 501が目標方向角510に基づくステアリングコマンドに応答して、次の実際方向角515、即ち、ADVの測定/検知出力角を有し、それにより方向角ずれ又は誤差520が生じる。方向角調整サブモジュール401は、ステアリング制御システムにコマンドを出す遅延及び/又はADVの現在のステアリング制御方向角のデータ取得の遅延を考慮して方向角ずれ又は誤差520を減少させ又は低下させる。
一実施形態では、方向角調整サブモジュール401は第1の比例−積分−微分(PID)コントローラによりモデリングされてもよい。例えば、PIDモデル312は、以下の方程式を含んでもよく、即ち、

ここで、e(t)=方向target−方向actualは減少する方向角の誤差又はずれであり、K、K及びKはそれぞれ第1のPIDコントローラの比例、積分及び微分係数の第1の集合であり、且つ角(t)は第1のステアリング角である。第1のステアリング角はハンドル制御の数学的モデルに基づいて、ステアリング制御コマンドに変換されて、ADVの後続ステアリング角を制御する。
最初に、K、K及びK係数を訓練又は調整することを必要とする。一実施形態では、第1のPIDコントローラの係数K、K及びKは機器学習エンジン122によってデータ分析システム103における大量の集合の運転統計データ123に基づいて、オフラインで調整又は訓練される。別の実施形態では、ADVの動作期間、感知及び計画システム110の制御モジュール305によって第1のPIDコントローラの係数を動的に調整してもよい。一実施形態では、第1のPIDコントローラはアナログ又はデジタルハードウェア装置により実施されてもよい。別の実施形態では、第1のPIDコントローラはソフトウェアプログラムにより実施されてもよい。
第1のPIDコントローラについて、一実施形態では、K係数はADVの現在速度に基づいて動的に調整される。別の実施形態では、K係数は現在速度が所定閾値を超えると決定されたことに応答して減少する。一実施形態では、K係数はADVの現在速度に基づいて動的に調整される。別の実施形態では、KはADVの旋回半径に基づいて動的に調整される。別の実施形態では、Kは旋回半径が所定閾値を超える(例えば、0.1より大きい)と決定されたことに応答して増大する。
横方向位置調整サブモジュール402はADVの目標横方向位置と実際横方向位置のずれを減少させる。図6は、一実施形態に係る横方向位置ずれ620で動作するADV601を示す図である。ADV601は計画されたルート605において方向角602で進行する。ADV601は旋回角606で後続のステアリングを行い、それにより後続の目標横方向位置610でルート上に維持される。図6に示すように、ADV601が横方向位置変位を有し、それにより現在の横方向位置(ADV601の中心)と現在の目標横方向位置615との差が横方向位置ずれ620となる。横方向位置調整サブモジュール402は、命令をステアリング制御に送信するコマンド遅延及びADVの現在の横方向位置602を取得する遅延を考慮して、横方向位置ずれ620を減少させ又は低下させる。
一実施形態では、横方向位置調整サブモジュール402は第2のPIDコントローラによりモデリングされる。例えば、PIDモデル312は以下の方程式を含んでもよく、即ち、

ここで、e(t)=横方向target−横方向actualは減少するADVの横方向位置ずれであり、L、L及びLは第2のPIDコントローラの比例、積分及び微分係数の第2の集合であり、且つ横方向(t)は第2のステアリング角である。第2のステアリング角はハンドル制御の数学的モデルに基づいて、ステアリング制御コマンドに変換され、ADVの後続ステアリング角を制御する。
最初に、L、L及びL係数を訓練又は調整することを必要とする。一実施形態では、第2のPIDコントローラの係数L、L及びLは機器学習エンジン122がデータ分析システム103における大量の集合の運転統計データ123に基づいて、オフラインで訓練又は調整される。別の実施形態では、ADVの動作期間、感知及び計画システム110の制御モジュール305によりこれらの係数を動的に調整してもよい。一実施形態では、第2のPIDコントローラはアナログ又はデジタルハードウェア装置により実施されてもよい。別の実施形態では、第2のPIDコントローラはソフトウェアプログラムにより実施されてもよい。
第2のPIDコントローラについて、一実施形態では、Lp、Li及びLdの係数は、ADVの現在速度、ADVの現在の旋回半径、及びADVの最後のコマンドのうちの少なくともいずれかに基づいて動的に調整される。別の実施形態では、第1と第2のステアリング角の和に基づいて目標ステアリング角を決定して、ADVの後続ステアリング角を制御する。なお、方向サイクル調整に用いられる第1のPIDコントローラと横方向位置調整に用いられる第2のPIDコントローラが存在するが、これらの2つのPIDコントローラは1つのPIDコントローラとして統合されてもよい。
図7は、一実施形態に係るADVの後続のステアリング角を計算する手順を示すフローチャートである。手順700は、ソフトウェア、ハードウェア又はその組み合わせを含んでもよい処理ロジックにより実行されてもよい。例えば、手順700は自律走行車の制御モジュール、例えば、感知及び計画システム110の制御モジュール305によって実行されてもよい。図7に示すように、ブロック701において、処理ロジックはADVの目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、計画されたルート又は障害物コースを自律的に処理(maneuver)する。ブロック702において、処理ロジックはADVの目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、計画されたルート又は障害物コースを自律的に処理する。ブロック703において、処理ロジックは第1及び第2のステアリング角に基づいて目標ステアリング角を決定する。ブロック704において、感知及び計画システム110の制御モジュール305は目標ステアリング角に基づいてADVの後続のステアリングを制御する。
図8は、一実施形態に係る第1のステアリング角を計算する手順を示すフローチャートである。手順800は、ソフトウェア、ハードウェア又はその組み合わせを含んでもよい処理ロジックにより実行されてもよい。例えば、手順800は自律走行車の制御モジュール、例えば、感知及び計画システム110の制御モジュール305により実行されてもよい。手順800はブロック701の操作の一部として実行されてもよい。図8に示すように、ブロック801において、処理ロジックは自律走行車の目標方向角を決定して、計画されたルート又はオブジェクト又は障害物コースを操縦する。ブロック802において、処理ロジックは移動中のADVの実際方向角を決定する。ブロック803において、コマンド遅延及びADVの実際方向角を取得する遅延を考慮して、処理ロジックは目標ステアリング角及び実際ステアリング角に基づいて、第1のPIDコントローラで第1のステアリング角を計算する。
図9は、一実施形態に係る第2のステアリング角を計算する手順を示すフローチャートである。手順900は、ソフトウェア、ハードウェア又はその組み合わせを含んでもよい処理ロジックにより実行されてもよい。例えば、手順900は、自律走行車の制御モジュール、例えば、感知及び計画システム110の制御モジュール305により実行されてもよい。手順900はブロック702の操作の一部として実行されてもよい。図9に示すように、ブロック901において、処理ロジックは自律走行車の目標横方向位置を決定し、計画されたルート又はオブジェクト又は障害物コースを操縦する。ブロック902において、処理ロジックは移動中のADVの実際横方向位置を決定する。ブロック903において、コマンド遅延及びADVの実際横方向位置を取得する遅延を考慮して、処理ロジックは目標横方向位置及び実際横方向位置に基づいて、第2のPIDコントローラで第2のステアリング角を計算する。
注意すべきなのは、前記の示されたとともに記述された一部又は全部の構成要素は、ソフトウェア、ハードウェア又はその組み合わせで実現されることができる。例えば、このような構成要素は、永続記憶装置にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、本出願にわたって記載の手順又は動作を実施するように、プロセッサ(図示せず)でメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば特定用途向けIC又はASIC)、デジタル信号プロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされ又は嵌め込みされた専用ハードウェアにおける実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバープログラム及び/又はオペレーティングシステムによってアクセスされてもよい。なお、このような構成要素は、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が1つ以上の特定命令によってアクセス可能な命令セットの一部とする。
図10は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記手順又は方法のいずれか(例えば、感知及び計画システム110、及び図1のサーバ103〜104のいずれか)を実行する上記任意のデータ処理システムを示してもよい。システム1500は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、分散型電子装置又は回路基板に適用された他のモジュール(例えばコンピュータシステムのマザーボード又はアドインカード)、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
さらに、システム1500は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント(PDA)、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント(AP)又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で1つ(又は複数)の命令セットを実行することにより本明細書に説明される任意の1種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
一実施形態において、システム1500は、バス又は相互接続部材1510によって接続されたプロセッサ1501、メモリ1503及び装置1505〜1508を備える。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサであってもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)等のような1つ又は複数の汎用プロセッサであってもよい。より具体的には、プロセッサ1501は、複雑命令セット計算(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は他の命令セットを実現するプロセッサ、又は命令セットの組合せを実現するプロセッサであってもよい。プロセッサ1501は、さらに、専用集積回路(ASIC)、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、ネットワークプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような1つ又は複数の専用プロセッサ、あるいは命令処理可能な任意の他のタイプのロジックであってもよい。
プロセッサ1501(超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい)は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、命令を実行することにより本明細書に説明される動作及びステップを実行するための命令を実行するように構成される。また、システム1500は、選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含み、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ及び/又は表示装置をさらに備えてもよい。
プロセッサ1501は、メモリ1503と通信してもよく、メモリ1503は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ1503は、ランダムアクセスメモリ(RAM)、動的RAM(DRAM)、シンクロナスDRAM(SDRAM)、静的RAM(SRAM)又は他のタイプのメモリのような1つ又は複数の揮発性記憶装置(又はメモリ)を備えてもよい。メモリ1503は、プロセッサ1501又は任意の他の装置により実行される命令列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア(例えば、基本入出力システム又はBIOS)及び/又はアプリケーションの実行可能なコード及び/又はデータはメモリ1503にロードされてもよく、プロセッサ1501により実行される。オペレーティングシステムは、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)会社からのWindows(登録商標)オペレーティングシステム、アップル会社からのMac OS(登録商標)/iOS(登録商標)、Google(登録商標)会社からのAndroid(登録商標)、Linux(登録商標)、Unix又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、IO装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェース装置1505、選択可能な入力装置1506及び他の選択可能なIO装置1507を備える。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi送受信機、赤外送受信機、ブルートゥース(登録商標)送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)又は他の無線周波数(RF)送受信機又はそれらの組合せであってもよい。NICはイーサネット(登録商標)カードであってもよい。
入力装置1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と一体化されてもよい)、ポインタデバイス(例えばスタイラス)及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術(容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない)のいずれか、及びタッチスクリーンの1つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
IO装置1507は音声装置を備えてもよい。音声装置は、スピーカ及び/又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び/又は電話機能のような音声サポートの機能を促進する。他のIO装置1507は、汎用シリアルバス(USB)ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ)又はそれらの組合せをさらに備えてもよい。装置1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能(例えば、写真及びビデオ断片の記録)を促進するための電荷カップリング装置(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ(図示せず)によって相互接続部材1510に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ(図示せず)により制御されてもよく、これはシステム1500の特定配置又は設計により決められる。
データ、アプリケーション、1つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ(図示せず)は、プロセッサ1501に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置(SSD)によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ(HDD)で実現されてもよく、少量のSSD記憶量は、SSDキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース(SPI)によってプロセッサ1501に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのBIOS及び他のファームウェアを備える。
記憶装置1508は、任意の1種又は複数種の本明細書に記載の方法又は機能を体現する1つ又は複数の命令セット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる)を備えてもよい。処理モジュール/ユニット/ロジック1528は、例えば、制御モジュール305又は機器学習エンジンのような上記構成要素のいずれかを示してもよい。処理モジュール/ユニット/ロジック1528は、さらにデータ処理システム1500により実行される期間にメモリ1503内及び/又はプロセッサ1501内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ1503及びプロセッサ1501も、機器アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記1つ又は複数の命令セットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記命令セットは、機器により実行されかつ前記機器に本発明の任意の1種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及び他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、又はハードウェアコンポーネント(例えばASICs、FPGA、DSP又は類似装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素に相互接続させる任意の具体的な構造又は方式を限定するものではないことに注意すべき、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び/又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列(sequence of operations)と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理(例えば、電子)量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報メモリ、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
本発明の実施形態は、さらに本明細書における動作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機器可読媒体は、機器(例えば、コンピュータ)可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読(例えば、コンピュータ可読)媒体は、機器(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ)を備える。
上記図面に示される手順又は方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非一時的コンピュータ可読媒体に具現化される)、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
本発明の実施形態は、大体自律走行車を操作することに関する。より具体的には、本発明の実施形態は自律走行車のステアリング制御に関する。
自律モード(例えば、自律運転)で走行している車両は、乗員(特に運転者)を、特定の運転に関連する責任から解放することができる。自律モードで走行している場合、車両は車載センサで様々な場所にナビゲートすることができ、それにより車両がヒューマンコンピュータインタラクションの最も少ない場合又はいくつかの乗客がない場合で運行することを可能にさせる。
ステアリング制御は自律走行において重要な操作である。自律走行車は、計画されたルートに沿って自律的に障害物を回避するように、ステアリング制御を必要とする。しかしながら、異なる時間間隔で、計画されたルートはステアリング制御の感度に影響を与える様々な要素を有する可能性があり、例えば、車両速度、車両の旋回半径、及び実行される操縦(例えば、最後のコマンド)である。また、自律車両又は自律走行車又はADVは計画されたルートから相対横方向変位又はずれが発生する可能性があり、従ってステアリング補償を必要とする。
本開示の実施形態は、自律走行車のステアリング制御用のコンピュータ実装方法、非一時的機械可読媒体及びデータ処理システムを提供する。
本発明の一態様によれば、コンピュータ実施方法を提供し、この方法は、
前記自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、障害物コースを処理するステップと、
前記自律走行車の目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、前記障害物コースを処理するステップと、
前記第1のステアリング角及び前記第2のステアリング角に基づいて目標ステアリング角を決定するステップと、
次の目標ステアリング角に基づいて前記自律走行車の後続のステアリング角を制御するステップと、を含む。
本発明の別の一態様によれば、命令が記憶された非一時的な機械可読媒体を提供し、
前記命令が、プロセッサにより実行される場合、前記プロセッサに自律走行車のステアリング制御操作を実行させ、前記操作は、
前記自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、障害物コースを処理するステップと、
前記自律走行車の目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、前記障害物コースを処理するステップと、
前記第1のステアリング角及び前記第2のステアリング角に基づいて目標ステアリング角を決定するステップと、
次の目標ステアリング角に基づいて前記自律走行車の後続のステアリング角を制御するステップと、を含む。
本発明の別の一態様によれば、データ処理システムを提供し、このシステムは、プロセッサと、前記プロセッサに連結されて命令を記憶するメモリと、を備え、
前記命令が、前記プロセッサにより実行される場合、前記プロセッサに自律走行車のステアリング制御操作を実行させ、前記操作は、
前記自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、障害物コースを処理するステップと、
前記自律走行車の目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、前記障害物コースを処理するステップと、
前記第1のステアリング角及び前記第2のステアリング角に基づいて目標ステアリング角を決定するステップと、
次の目標ステアリング角に基づいて前記自律走行車の後続のステアリング角を制御するステップと、を含む。
本発明の実施形態は、図面の各図に限定されるのではなく例示的に示され、図面において、同じ参照符号が類似する要素を示す。
本発明の一実施形態に係るネットワーク化システムを示すブロック図である。 本発明の一実施形態に係る自律走行車の実例を示すブロック図である。 本発明の一実施形態に係る自律走行車と共に使用する感知及び計画システムの実例を示すブロック図である。 本発明の一実施形態に係る感知及び計画システムの制御モジュールの一例を示すブロック図である。 本発明の一実施形態に係る比例積分微分(PID)コントローラの一例を示すブロック図である。 本発明の一実施形態に係るステアリング角調整の応用を示す図である。 本発明の一実施形態に係る横方向変位ステアリング補償の応用を示す図である。 一実施形態に係るADVの後続ステアリング角を計算する手順を示すフローチャートである。 一実施形態に係る第1のステアリング角を計算する手順を示すフローチャートである。 一実施形態に係る第2のステアリング角を計算する手順を示すフローチャートである。 一実施形態に係るデータ処理システムを示すブロック図である。
以下、説明の詳細を参照しながら、本発明の様々な実施形態及び方法を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本出願を説明するためのものであり、本出願を限定するものではない。本出願の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本発明の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
本明細書では「一つの実施形態」又は「実施形態」とは、当該実施形態について組み合わせて説明された特定特徴、構造又は特性が、本出願の少なくとも一つの実施形態に含まれてもよい。語句「一つの実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
いくつかの実施形態によれば、感知及び計画システムの制御モジュールは、命令をハンドル制御に送信するコマンド遅延及びADVの方向角及び位置のデータを取得する遅延を考慮して、自律走行車(ADV)のステアリング制御のステアリング角の形態でステアリングコマンドをいつ且つどのぐらい使用するかを決定し、旋回するか、計画されたルートの障害物を迂回し及び/又は回避するように操縦する。計画されたルートはステアリング制御の感度に影響を与える様々な要素を有する可能性があり、例えば、車両速度、車両の旋回半径、又は実行している旋回又は操縦(例えば、最後のコマンド)。
一実施形態では、制御モジュールは、自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算し、ADVの目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算する。制御モジュールは、命令を送信してADVをステアリングする遅延及びADVの方向角及び位置についてのデータを取得する遅延を考慮して、第1及び第2のステアリング角に基づいて目標ステアリング角を決定して、ADVの後続ステアリング角を制御する。
一実施形態では、第1の比例−積分−微分(PID)コントローラで、ADVの目標方向角及び実際方向角に基づいて第1のステアリング角を計算する。別の実施形態では、第1のPIDコントローラの比例係数はADVの現在速度に基づいて動的に調整される。別の実施形態では、第1のPIDコントローラの比例係数は、現在速度が所定閾値を超えると決定されたことに応答して減少する。別の実施形態では、ADVが動作する時、第1のPIDコントローラの微分係数はADVの現在速度に基づいて調整される。
一実施形態では、第1のPIDコントローラの比例係数はADVの旋回半径に基づいて調整される。別の実施形態では、第1のPIDコントローラの比例係数は旋回半径が所定閾値を超えると決定されたことに応答して増大する。
一実施形態では、制御モジュールはADVの目標横方向位置及びADVの実際横方向位置に基づいて第2のステアリング角を計算する。制御モジュールは第2のPIDコントローラで第2のステアリング角を計算して、ADVの横方向のずれを補償する。別の実施形態では、第2のPIDコントローラの比例係数、積分係数及び微分係数はADVの現在速度、ADVの現在旋回半径及びADVの最後のコマンドに基づいて動的に調整される。
図1は本発明に係る一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図1を参照して、ネットワーク配置100はネットワーク102によって1つ以上のサーバ103〜104に通信可能に接続することができる自律走行車101を含む。1つの自律走行車を示すが、ネットワーク102によって複数の自律走行車は互いに接続され、及び/又はサーバ103〜104に接続されることができる。ネットワーク102は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク(LAN)、例えばインターネット、セルラーネットワーク、衛星ネットワークの広域ネットワーク(WAN)又はその組み合わせであってもよい。サーバ103〜104は任意のタイプのサーバ又はサーバクラスタ、例えばWebサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ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を運転することができる。
一実施形態では、第1及び第2のPIDコントローラは、比例、積分及び微分係数のそれぞれの第1及び第2の係数によりそれぞれモデリングされる。これらの係数は、データ分析システム(例えば、データ分析システム又はサーバ103)により大量の運転統計データに基づいてオフラインで設定されてもよい。
一実施形態では、データ分析システム103はデータコレクタ121及び機器学習エンジン122を含む。データコレクタ121は、所定期間内に様々な車両から運転統計データ123を収集する。運転統計データ123はADVの目標ステアリング角及び実際ステアリング角に関する情報、時間に関するGPS位置、ADVのブランド/モデル、車両ID番号、計画されたルート、及び天気及び道路状況のような運転環境のセンサ出力を含む。機器学習エンジン122は運転統計データ123を分析して、PIDモデル124の適切な比例、積分及び微分係数を学習して決定して、迅速且つ安定的なPIDコントローラの応答を示し、それにより目標ステアリング角と実際ステアリング角のずれ及びADVの目標横方向位置と実際横方向位置のずれを補償する。続いて、PIDモデル124は自律走行車101の感知及び計画システム110にアップロードされて、ステアリング制御の決定に用いられることができる。
図3は、本発明の一実施形態に係る自律走行車と共に使用される感知及び計画システムの実例を示すブロック図である。システム300は、図1の自律走行車101の一部(感知及び計画システム110、制御システム111及びセンサシステム115を含むが、これらに制限されない)となるように実現されることができる。図3を参照し、感知及び計画システム110は、位置決めモジュール301と、感知モジュール302と、決定モジュール303と、計画モジュール304と、制御モジュール305とを含むが、これらに制限されない。
モジュール301〜305における一部又は全部は、ソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置352に取り付けられ、メモリ351にロードされ、かつ1つ以上のプロセッサ(図示せず)により実行されてもよい。注意すべきなのは、これらのモジュールにおける一部又は全部は、図2の車両制御システム111の一部又は全部のモジュールに通信可能に接続されてもよく、一体化されてもよい。モジュール301〜305における一部は、一緒に集積モジュールとして一体化されてもよい。
位置決めモジュール301(地図及びルーティングモジュールとも言われる)は、ユーザの旅程又はルートに関連する任意のデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもよい。位置決めモジュール301は、旅程に関連するデータを取得するように、自律走行車300(システム)のその他の構成要素(例えば地図及びルート情報311)と通信する。例えば、位置決めモジュール301は、位置サーバと、地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、かつMPOIサーバは、地図及びルート情報311の一部としてキャッシュされてもよい地図サービスと特定な位置のPOIとを提供する。システム300がルートに沿って移動する時に、位置決めモジュール301は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
センサシステム115により提供されたセンサデータ、及び位置決めモジュール301により得られた位置決め情報に基づいて、感知モジュール302は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの(状況)を示すことができる。感知情報は、例えば対象形式で現される車線配置(例えば、ストレート又はカーブ)、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識(例えば、停止標識、譲り標識)などを含んでもよい。
感知モジュール302は、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含んでもよく、自律走行車環境における対象及び/又は特徴を認識するように、1つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、車道の境界線、他の車両、歩行者及び/又は障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール302は、その他のセンサ(例えばレーダー及び/又はLIDAR)により提供されたその他のセンサデータに基づいて対象を検出することもできる。
それぞれの対象に対して、決定モジュール303は、如何に対象を処理する決定をする。例えば、特定な対象(例えば、交差ルートにおける他の車両)及び対象を記述するメタデータ(例えば、速度、方向、ステアリング角)に対して、決定モジュール303は、遇う対象に如何に対応する(例えば、追い越し、道譲り、停止、通過)ことを決定する。決定モジュール303は、永続的記憶装置352(図示せず)に記憶されてもよい1セットのルール(例えば交通ルール)に基づいてこのような決定をすることができる。
感知したそれぞれ対象に対する決定に基づいて、計画モジュール304は、自律走行車のためにルート又は経路及び運転パラメータ(例えば、距離、速度及び/又はステアリング角)を計画する。即ち、所定対象に対して、決定モジュール303は前記対象に対して如何に対応するかを決定し、計画モジュール304は如何に実行するかを決定する。例えば、所定対象に対して、決定モジュール303は、前記対象を追い越すことを決定することができ、計画モジュール304は、前記対象の左側に追い越すか、右側に追い越すかを決定することができる。計画モジュール304は、計画及び制御データを生成し、車両300が次の移動周期(例えば、次のルート/経路セグメント)に如何に移動するかを記述する情報を含む。例えば、計画及び制御データは車両300が毎時間30マイル(mph)の速度で10メートル移動し、次に25mphの速度で右車線まで変わることを指示することができる。
計画及び制御データに基づいて、制御モジュール305は計画及び制御データにより定義されたルート又は経路に基づいて、車両制御システム111へ適切な命令又は信号を送信することによって自律走行車を制御及び運転する。前記ルート又は経路に沿って違う場所で適時に適切な車両設置又は運転パラメータ(例えば、スロットル、ブレーキ及びステアリング命令)を使用して車両を第1点から第2点まで運転するように、計画及び制御データは十分な情報を含む。
注意すべきなのは、決定モジュール303及び計画モジュール304は、集積モジュールに一体化されてもよい。決定モジュール303/計画モジュール304は、自律走行車の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動することを実現するための一連の速度及びディレクショナ進行方向を決定することができ、前記経路は、自律走行車を総体的に最終目的位置を向けて通じる車線経路に進ませると同時に、基本的に感知された障害物を避けることができる。目的地はユーザインターフェースシステム113により実現されたユーザ入力に基づいて設置できる。ナビゲーションシステムは、自律走行車が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車用の走行経路を決定するように、GPSシステム及び1つ以上の地図からのデータを合併することができる。
決定モジュール303/計画モジュール304は、自律走行車環境における潜在障害物を、認識・評価・回避又はその他の方式で迂回するために、衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、以下の方式によって自律走行車のナビゲーションにおける変更を実現することができ、制御システム111の中の1つ以上のサブシステムを動作してターン操縦、ステアリング操縦、ブレーキ操縦等を採る。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に決定することができる。衝突回避システムは、その他のセンサシステムは、自律走行車がターンして入ろうとする隣接領域における車両、建築障害物等を検出する際にターン操縦を採らないように配置できる。衝突回避システムは、使用可能でありかつ自律走行車の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自律走行車の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
図4Aは一実施形態に係る制御モジュール305を示す。制御モジュール305は方向角調整サブモジュール401及び横方向位置調整サブモジュール402を含む。これらのサブモジュールはそれぞれ目標方向(ステアリング)角と実際方向(ステアリング)角のずれ及びADVの目標横方向位置と実際横方向位置のずれを減少させるためのものである。方向角調整サブモジュール401はADVの目標方向ステアリング角と実際方向ステアリング角のずれを減少させる。
方向角調整サブモジュール401の例は第1のPIDコントローラを含んでもよい。図4Bは一実施形態に係る比例積分微分(PID)コントローラを示すブロック図である。PIDコントローラは工業制御システムで一般的に使用される制御ループフィードバックメカニズムである。PIDコントローラはプロセスの目標値と実際値との差である誤差値を連続的に計算し、且つそれぞれP、I及びDと示される比例項、積分項及び微分項に基づいて補正する。例えば、PIDコントローラは、以下の方程式で示され、即ち、
ここで、e(t)=誤差(t)=目標_設定点(t)−測定した_出力(t)は減少する誤差項であり、K、K及びKはそれぞれPIDコントローラの比例、積分及び微分係数である。図4Bに示すように、PIDコントローラ400はアナログデバイスであってもよい。PIDコントローラ400は所望の目標値を表す入力目標設定点405を有する。目標設定点405をプロセス出力445(PIDコントローラ400の測定出力を表す)から減算して、誤差410を取得する。誤差410は比例(P)制御モード415、積分(I)制御モード420及び微分(D)制御モード425に与えられる。積分(I)制御モード420及び微分(D)制御モード425はそれぞれ積分器(例えば、ローパスフィルタ)回路及びその等価物、及び微分器(例えば、ハイパスフィルタ)回路及びその等価物によって実施されてもよい。P制御モード415、I制御モード420及びD制御モード425の出力は、合計で、PID出力430である。PID出力430はプロセス440(制御されるシステム)に接続され、それによりプロセス440は外乱(external disturbance)435を含む。プロセス440は測定出力445を生成し、測定出力445がP制御モード415、I制御モード420及びD制御モード425の入力に与えられ、それにより閉ループを形成する。
動作中、外乱435がゼロであり、又は目標設定点405とプロセス出力445とが同じである場合、誤差410がゼロに等しく且つPID出力430がゼロに等しい。ゼロ外乱435が存在する場合、ゼロPID出力430がプロセス440に与えられるため、プロセス出力445を調整しない。その後、プロセス出力445が変わらず、且つPIDコントローラ400がバランスに達する。しかしながら、非ゼロ外乱435が存在し、又は目標設定点405とプロセス出力445(例えば、前のサイクルのプロセス出力445)が異なる場合、誤差410がゼロではなく、且つP制御モード415、I制御モード420及びD制御モード425はPIDコントローラのK、K及びK係数に基づいて中間出力430を生成し、それにより誤差410を補正(又は減少)する。PIDコントローラ400はアナログデバイスに限定されるものではなく、デジタル装置又はソフトウェアプログラムとして実施されてもよい。
図4Bに示すように、PIDコントローラ400の例示的なデジタル実装は、クロックサイクル(又はサイクル)が10ミリ秒のクロック(図示せず)を含んでもよい。デジタルPIDコントローラ400は現在のサイクルの目標値を表す入力目標設定点405を有する。目標設定点405をプロセス出力445(前のサイクルのPIDコントローラ400の測定出力を表す)から減算して、現在のサイクルの誤差410を取得する。現在のサイクルの誤差410は比例(P)制御モード415、積分(I)制御モード420及び微分(D)制御モード425にフィードバックされる。積分(I)制御モード420及び微分(D)制御モード425はそれぞれ積分器回路及び微分器回路によって実施されてもよい。P制御モード415、I制御モード420及びD制御モード425の出力は合計でPID出力430である。PID出力430はプロセス440に接続され、それによりプロセス440は外乱435を含み且つプロセス遅延を含む可能性がある。プロセス440は現在のサイクルの測定出力445を生成し、測定出力445がP制御モード415、I制御モード420及びD制御モード425の入力に与えられ、それにより閉ループを形成する。例示的な実施形態では、入力及び中間信号線は8ビットであってもよく、加算、減算及び乗算演算は演算増幅器、加算器、XORゲート及びAND/ORゲートで実施されてもよい。
PIDコントローラ400はソフトウェアプログラムとして実装されてもよい。例えば、PIDコントローラ400は10ミリ秒ごとに呼び出されるサブルーチンによってpython又は任意のプログラミング言語で実装されてもよい。PIDコントローラサブルーチンは5つの入力、例えば、現在のサイクルの誤差410の入力(即ち、現在のサイクルの目標設定点405から前のサイクルの測定出力445を減算する)、前のサイクルの誤差410の入力(即ち、前のサイクルの目標設定点405から前の2つのサイクルの測定出力445を減算する)、及びそれぞれPIDコントローラのK、K及びK係数に用いられる3つの入力を有してもよい。サブルーチンの出力はPID出力430である。
P制御モード415は現在のサイクルの入力K係数及び誤差410を乗算する。I制御モード420は現在のサイクルのK係数、サイクル期間(このような場合で、10ミリ秒である)及び誤差410を乗算する。D制御モード425は現在のサイクルのK係数、誤差410を乗算してから前のサイクルの誤差410を減算し、サイクル期間で割る。P制御モード415、I制御モード420及びD制御モード425の出力を合計して、現在のサイクルのPID出力430又はサブルーチンの出力を生成する。PID出力430又はサブルーチンの出力をプロセス440に追加して、プロセス440は外乱435を含み、且つプロセス遅延を含む可能性がある。プロセス440は現在のサイクルの測定出力445を生成し、測定出力445は次のサイクルのPIDコントローラサブルーチンの入力として用いられる。例えば、PIDコントローラサブルーチンは、以下の離散化方程式で示され、即ち、
ここで、e(n)=誤差(n)=目標_設定点(n)−測定した_出力(n−1)は、減少する第n個のサイクルの誤差項であり、K、K及びKはそれぞれPIDコントローラの比例、積分及び微分係数であり、且つ
はサイクル期間である。
図5は、一実施形態に係る方向角ずれ又は誤差520で動作するADV 501を示す図である。ADV 501は計画されたルート505において方向502に沿って進行する。ADV 501は旋回角506で後続の旋回を行い、それにより後続の目標方向角510でルート上に維持される。この例では、旋回角506が目標方向角510と同じである。図5は、ADV 501が目標方向角510に基づくステアリングコマンドに応答して、次の実際方向角515、即ち、ADVの測定/検知出力角を有し、それにより方向角ずれ又は誤差520が生じる。方向角調整サブモジュール401は、ステアリング制御システムにコマンドを出す遅延及び/又はADVの現在のステアリング制御方向角のデータ取得の遅延を考慮して方向角ずれ又は誤差520を減少させ又は低下させる。
一実施形態では、方向角調整サブモジュール401は第1の比例−積分−微分(PID)コントローラによりモデリングされてもよい。例えば、PIDモデル312は、以下の方程式を含んでもよく、即ち、
ここで、e(t)=方向target−方向actualは減少する方向角の誤差又はずれであり、K、K及びKはそれぞれ第1のPIDコントローラの比例、積分及び微分係数の第1の集合であり、且つ角(t)は第1のステアリング角である。第1のステアリング角はハンドル制御の数学的モデルに基づいて、ステアリング制御コマンドに変換されて、ADVの後続ステアリング角を制御する。
最初に、K、K及びK係数を訓練又は調整することを必要とする。一実施形態では、第1のPIDコントローラの係数K、K及びKは機器学習エンジン122によってデータ分析システム103における大量の集合の運転統計データ123に基づいて、オフラインで調整又は訓練される。別の実施形態では、ADVの動作期間、感知及び計画システム110の制御モジュール305によって第1のPIDコントローラの係数を動的に調整してもよい。一実施形態では、第1のPIDコントローラはアナログ又はデジタルハードウェア装置により実施されてもよい。別の実施形態では、第1のPIDコントローラはソフトウェアプログラムにより実施されてもよい。
第1のPIDコントローラについて、一実施形態では、K係数はADVの現在速度に基づいて動的に調整される。別の実施形態では、K係数は現在速度が所定閾値を超えると決定されたことに応答して減少する。一実施形態では、K係数はADVの現在速度に基づいて動的に調整される。別の実施形態では、KはADVの旋回半径に基づいて動的に調整される。別の実施形態では、Kは旋回半径が所定閾値を超える(例えば、0.1より大きい)と決定されたことに応答して増大する。
横方向位置調整サブモジュール402はADVの目標横方向位置と実際横方向位置のずれを減少させる。図6は、一実施形態に係る横方向位置ずれ620で動作するADV601を示す図である。ADV601は計画されたルート605において方向角602で進行する。ADV601は旋回角606で後続のステアリングを行い、それにより後続の目標横方向位置610でルート上に維持される。図6に示すように、ADV601が横方向位置変位を有し、それにより現在の横方向位置(ADV601の中心)と現在の目標横方向位置615との差が横方向位置ずれ620となる。横方向位置調整サブモジュール402は、命令をステアリング制御に送信するコマンド遅延及びADVの現在の横方向位置602を取得する遅延を考慮して、横方向位置ずれ620を減少させ又は低下させる。
一実施形態では、横方向位置調整サブモジュール402は第2のPIDコントローラによりモデリングされる。例えば、PIDモデル312は以下の方程式を含んでもよく、即ち、

ここで、e(t)=横方向target−横方向actualは減少するADVの横方向位置ずれであり、L、L及びLは第2のPIDコントローラの比例、積分及び微分係数の第2の集合であり、且つ横方向(t)は第2のステアリング角である。第2のステアリング角はハンドル制御の数学的モデルに基づいて、ステアリング制御コマンドに変換され、ADVの後続ステアリング角を制御する。
最初に、L、L及びL係数を訓練又は調整することを必要とする。一実施形態では、第2のPIDコントローラの係数L、L及びLは機器学習エンジン122がデータ分析システム103における大量の集合の運転統計データ123に基づいて、オフラインで訓練又は調整される。別の実施形態では、ADVの動作期間、感知及び計画システム110の制御モジュール305によりこれらの係数を動的に調整してもよい。一実施形態では、第2のPIDコントローラはアナログ又はデジタルハードウェア装置により実施されてもよい。別の実施形態では、第2のPIDコントローラはソフトウェアプログラムにより実施されてもよい。
第2のPIDコントローラについて、一実施形態では、Lp、Li及びLdの係数は、ADVの現在速度、ADVの現在の旋回半径、及びADVの最後のコマンドのうちの少なくともいずれかに基づいて動的に調整される。別の実施形態では、第1と第2のステアリング角の和に基づいて目標ステアリング角を決定して、ADVの後続ステアリング角を制御する。なお、方向サイクル調整に用いられる第1のPIDコントローラと横方向位置調整に用いられる第2のPIDコントローラが存在するが、これらの2つのPIDコントローラは1つのPIDコントローラとして統合されてもよい。
図7は、一実施形態に係るADVの後続のステアリング角を計算する手順を示すフローチャートである。手順700は、ソフトウェア、ハードウェア又はその組み合わせを含んでもよい処理ロジックにより実行されてもよい。例えば、手順700は自律走行車の制御モジュール、例えば、感知及び計画システム110の制御モジュール305によって実行されてもよい。図7に示すように、ブロック701において、処理ロジックはADVの目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、計画されたルート又は障害物コースを自律的に処理(maneuver)する。ブロック702において、処理ロジックはADVの目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、計画されたルート又は障害物コースを自律的に処理する。ブロック703において、処理ロジックは第1及び第2のステアリング角に基づいて目標ステアリング角を決定する。ブロック704において、感知及び計画システム110の制御モジュール305は目標ステアリング角に基づいてADVの後続のステアリングを制御する。
図8は、一実施形態に係る第1のステアリング角を計算する手順を示すフローチャートである。手順800は、ソフトウェア、ハードウェア又はその組み合わせを含んでもよい処理ロジックにより実行されてもよい。例えば、手順800は自律走行車の制御モジュール、例えば、感知及び計画システム110の制御モジュール305により実行されてもよい。手順800はブロック701の操作の一部として実行されてもよい。図8に示すように、ブロック801において、処理ロジックは自律走行車の目標方向角を決定して、計画されたルート又はオブジェクト又は障害物コースを処理する。ブロック802において、処理ロジックは移動中のADVの実際方向角を決定する。ブロック803において、コマンド遅延及びADVの実際方向角を取得する遅延を考慮して、処理ロジックは目標ステアリング角及び実際ステアリング角に基づいて、第1のPIDコントローラで第1のステアリング角を計算する。
図9は、一実施形態に係る第2のステアリング角を計算する手順を示すフローチャートである。手順900は、ソフトウェア、ハードウェア又はその組み合わせを含んでもよい処理ロジックにより実行されてもよい。例えば、手順900は、自律走行車の制御モジュール、例えば、感知及び計画システム110の制御モジュール305により実行されてもよい。手順900はブロック702の操作の一部として実行されてもよい。図9に示すように、ブロック901において、処理ロジックは自律走行車の目標横方向位置を決定し、計画されたルート又はオブジェクト又は障害物コースを処理する。ブロック902において、処理ロジックは移動中のADVの実際横方向位置を決定する。ブロック903において、コマンド遅延及びADVの実際横方向位置を取得する遅延を考慮して、処理ロジックは目標横方向位置及び実際横方向位置に基づいて、第2のPIDコントローラで第2のステアリング角を計算する。
注意すべきなのは、前記の示されたとともに記述された一部又は全部の構成要素は、ソフトウェア、ハードウェア又はその組み合わせで実現されることができる。例えば、このような構成要素は、永続記憶装置にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、本出願にわたって記載の手順又は動作を実施するように、プロセッサ(図示せず)でメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば特定用途向けIC又はASIC)、デジタル信号プロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされ又は嵌め込みされた専用ハードウェアにおける実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバープログラム及び/又はオペレーティングシステムによってアクセスされてもよい。なお、このような構成要素は、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が1つ以上の特定命令によってアクセス可能な命令セットの一部とする。
図10は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記手順又は方法のいずれか(例えば、感知及び計画システム110、及び図1のサーバ103〜104のいずれか)を実行する上記任意のデータ処理システムを示してもよい。システム1500は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、分散型電子装置又は回路基板に適用された他のモジュール(例えばコンピュータシステムのマザーボード又はアドインカード)、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
さらに、システム1500は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント(PDA)、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント(AP)又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で1つ(又は複数)の命令セットを実行することにより本明細書に説明される任意の1種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
一実施形態において、システム1500は、バス又は相互接続部材1510によって接続されたプロセッサ1501、メモリ1503及び装置1505〜1508を備える。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサであってもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)等のような1つ又は複数の汎用プロセッサであってもよい。より具体的には、プロセッサ1501は、複雑命令セット計算(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は他の命令セットを実現するプロセッサ、又は命令セットの組合せを実現するプロセッサであってもよい。プロセッサ1501は、さらに、専用集積回路(ASIC)、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような1つ又は複数の専用プロセッサ、あるいは命令処理可能な任意の他のタイプのロジックであってもよい。
プロセッサ1501(超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい)は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、命令を実行することにより本明細書に説明される動作及びステップを実行するための命令を実行するように構成される。また、システム1500は、選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含み、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ及び/又は表示装置をさらに備えてもよい。
プロセッサ1501は、メモリ1503と通信してもよく、メモリ1503は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ1503は、ランダムアクセスメモリ(RAM)、動的RAM(DRAM)、シンクロナスDRAM(SDRAM)、静的RAM(SRAM)又は他のタイプのメモリのような1つ又は複数の揮発性記憶装置(又はメモリ)を備えてもよい。メモリ1503は、プロセッサ1501又は任意の他の装置により実行される命令列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア(例えば、基本入出力システム又はBIOS)及び/又はアプリケーションの実行可能なコード及び/又はデータはメモリ1503にロードされてもよく、プロセッサ1501により実行される。オペレーティングシステムは、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)会社からのWindows(登録商標)オペレーティングシステム、アップル会社からのMac OS(登録商標)/iOS(登録商標)、Google(登録商標)会社からのAndroid(登録商標)、Linux(登録商標)、Unix又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、IO装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェース装置1505、選択可能な入力装置1506及び他の選択可能なIO装置1507を備える。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi送受信機、赤外送受信機、ブルートゥース送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)又は他の無線周波数(RF)送受信機又はそれらの組合せであってもよい。NICはイーサネットカードであってもよい。
入力装置1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と一体化されてもよい)、ポインタデバイス(例えばスタイラス)及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術(容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない)のいずれか、及びタッチスクリーンの1つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
IO装置1507は音声装置を備えてもよい。音声装置は、スピーカ及び/又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び/又は電話機能のような音声サポートの機能を促進する。他のIO装置1507は、汎用シリアルバス(USB)ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ)又はそれらの組合せをさらに備えてもよい。装置1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能(例えば、写真及びビデオ断片の記録)を促進するための電荷カップリング装置(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ(図示せず)によって相互接続部材1510に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ(図示せず)により制御されてもよく、これはシステム1500の特定配置又は設計により決められる。
データ、アプリケーション、1つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ(図示せず)は、プロセッサ1501に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置(SSD)によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ(HDD)で実現されてもよく、少量のSSD記憶量は、SSDキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース(SPI)によってプロセッサ1501に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのBIOS及び他のファームウェアを備える。
記憶装置1508は、任意の1種又は複数種の本明細書に記載の方法又は機能を体現する1つ又は複数の命令セット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる)を備えてもよい。処理モジュール/ユニット/ロジック1528は、例えば、制御モジュール305又は機器学習エンジンのような上記構成要素のいずれかを示してもよい。処理モジュール/ユニット/ロジック1528は、さらにデータ処理システム1500により実行される期間にメモリ1503内及び/又はプロセッサ1501内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ1503及びプロセッサ1501も、機器アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記1つ又は複数の命令セットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記命令セットは、機器により実行されかつ前記機器に本発明の任意の1種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及び他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、又はハードウェアコンポーネント(例えばASICs、FPGA、DSP又は類似装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素に相互接続させる任意の具体的な構造又は方式を限定するものではないことに注意すべき、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び/又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列(sequence of operations)と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理(例えば、電子)量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報メモリ、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機器可読媒体は、機器(例えば、コンピュータ)可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読(例えば、コンピュータ可読)媒体は、機器(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ)を備える。
上記図面に示される手順又は方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非一時的コンピュータ可読媒体に具現化される)、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。

Claims (27)

  1. 前記自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、障害物コースを操縦するステップと、
    前記自律走行車の目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、前記障害物コースを操縦するステップと、
    前記第1のステアリング角及び前記第2のステアリング角に基づいて目標ステアリング角を決定するステップと、
    次の目標ステアリング角に基づいて前記自律走行車の後続のステアリング角を制御するステップと、を含む
    ことを特徴する自律走行車のステアリング制御用のコンピュータ実装方法。
  2. 第1のステアリング角を計算するステップには、
    前記自律走行車の前記目標方向角を決定して、前記障害物コースを操縦するステップと、
    移動中の前記自律走行車の前記実際方向角を決定するステップと、
    前記目標ステアリング角及び前記実際ステアリング角に基づいて第1の比例−積分−微分(PID)コントローラで前記第1のステアリング角を計算するステップと、を含む
    ことを特徴する請求項1に記載の方法。
  3. 前記自律走行車の現在速度を決定するステップと、
    前記自律走行車の前記現在速度に基づいて前記第1のPIDコントローラの比例係数を調整するステップと、をさらに含む
    ことを特徴する請求項2に記載の方法。
  4. 前記現在速度が所定閾値を超えると決定されたことに応答し、前記第1のPIDコントローラの前記比例係数を減少するステップをさらに含む
    ことを特徴する請求項3に記載の方法。
  5. 前記自律走行車の前記現在速度に基づいて前記第1のPIDコントローラの微分係数を調整するステップをさらに含む
    ことを特徴する請求項3に記載の方法。
  6. 前記自律走行車の旋回半径を決定するステップと、
    前記自律走行車の前記旋回半径に基づいて前記第1のPIDコントローラの比例係数を調整するステップと、をさらに含む
    ことを特徴する請求項2に記載の方法。
  7. 前記旋回半径が所定閾値を超えると決定されたことに応答し、前記第1のPIDコントローラの前記比例係数を増大するステップをさらに含む
    ことを特徴する請求項6に記載の方法。
  8. 第2のステアリング角を計算するステップには、
    前記自律走行車の前記目標横方向位置を決定して、前記障害物コースを操縦するステップと、
    移動中の前記自律走行車の前記実際横方向位置を決定するステップと、
    前記目標横方向位置及び前記実際横方向位置に基づいて、第2の比例−積分−微分(PID)コントローラで前記第2のステアリング角を計算するステップと、を含む
    ことを特徴する請求項1に記載の方法。
  9. 前記自律走行車の現在速度、車両ルートに対する前記自律走行車の現在旋回半径、及び前記自律走行車の最後のコマンドのうちの少なくとも1つに基づいて、前記第2のPIDコントローラの比例係数、積分係数及び微分係数を調整するステップをさらに含む
    ことを特徴する請求項8に記載の方法。
  10. 命令が記憶された非一時的な機械可読媒体であって、
    前記命令が、プロセッサにより実行される場合、前記プロセッサに自律走行車のステアリング制御操作を実行させ、前記操作は、
    前記自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、障害物コースを操縦するステップと、
    前記自律走行車の目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、前記障害物コースを操縦するステップと、
    前記第1のステアリング角及び前記第2のステアリング角に基づいて目標ステアリング角を決定するステップと、
    次の目標ステアリング角に基づいて前記自律走行車の後続のステアリング角を制御するステップと、を含む
    ことを特徴する機械可読媒体。
  11. 第1のステアリング角を計算するステップには、
    前記自律走行車の前記目標方向角を決定して、前記障害物コースを操縦するステップと、
    移動中の前記自律走行車の前記実際方向角を決定するステップと、
    前記目標ステアリング角及び前記実際ステアリング角に基づいて第1の比例−積分−微分(PID)コントローラで前記第1のステアリング角を計算するステップと、を含む
    ことを特徴する請求項10に記載の機械可読媒体。
  12. 前記自律走行車の現在速度を決定するステップと、
    前記自律走行車の前記現在速度に基づいて前記第1のPIDコントローラの比例係数を調整するステップと、をさらに含む
    ことを特徴する請求項11に記載の機械可読媒体。
  13. 前記現在速度が所定閾値を超えると決定されたことに応答し、前記第1のPIDコントローラの前記比例係数を減少するステップをさらに含む
    ことを特徴する請求項12に記載の機械可読媒体。
  14. 前記自律走行車の前記現在速度に基づいて前記第1のPIDコントローラの微分係数を調整するステップをさらに含む
    ことを特徴する請求項12に記載の機械可読媒体。
  15. 前記自律走行車の旋回半径を決定するステップと、
    前記自律走行車の前記旋回半径に基づいて前記第1のPIDコントローラの比例係数を調整するステップと、をさらに含む
    ことを特徴する請求項11に記載の機械可読媒体。
  16. 前記旋回半径が所定閾値を超えると決定されたことに応答し、前記第1のPIDコントローラの前記比例係数を増大するステップをさらに含む
    ことを特徴する請求項15に記載の機械可読媒体。
  17. 第2のステアリング角を計算するステップには、
    前記自律走行車の前記目標横方向位置を決定して、前記障害物コースを操縦するステップと、
    移動中の前記自律走行車の前記実際横方向位置を決定するステップと、
    前記目標横方向位置及び前記実際横方向位置に基づいて、第2の比例−積分−微分(PID)コントローラで前記第2のステアリング角を計算するステップと、を含む
    ことを特徴する請求項10に記載の機械可読媒体。
  18. 前記自律走行車の現在速度、車両ルートに対する前記自律走行車の現在旋回半径、及び前記自律走行車の最後のコマンドのうちの少なくとも1つに基づいて、前記第2のPIDコントローラの比例係数、積分係数及び微分係数を調整するステップをさらに含む
    ことを特徴する請求項17に記載の機械可読媒体。
  19. プロセッサと、
    前記プロセッサに連結されて命令を記憶するメモリと、を備え、
    前記命令が、前記プロセッサにより実行される場合、前記プロセッサに自律走行車のステアリング制御操作を実行させ、前記操作は、
    前記自律走行車の目標方向角及び実際方向角に基づいて第1のステアリング角を計算して、障害物コースを操縦するステップと、
    前記自律走行車の目標横方向位置及び実際横方向位置に基づいて第2のステアリング角を計算して、前記障害物コースを操縦するステップと、
    前記第1のステアリング角及び前記第2のステアリング角に基づいて目標ステアリング角を決定するステップと、
    次の目標ステアリング角に基づいて前記自律走行車の後続のステアリング角を制御するステップと、を含む
    ことを特徴するデータ処理システム。
  20. 第1のステアリング角を計算するステップには、
    前記自律走行車の前記目標方向角を決定して、前記障害物コースを操縦するステップと、
    移動中の前記自律走行車の前記実際方向角を決定するステップと、
    前記目標ステアリング角及び前記実際ステアリング角に基づいて第1の比例−積分−微分(PID)コントローラで前記第1のステアリング角を計算するステップと、を含む
    ことを特徴する請求項19に記載のデータ処理システム。
  21. 前記自律走行車の現在速度を決定するステップと、
    前記自律走行車の前記現在速度に基づいて前記第1のPIDコントローラの比例係数を調整するステップと、をさらに含む
    ことを特徴する請求項20に記載のデータ処理システム。
  22. 前記現在速度が所定閾値を超えると決定されたことに応答し、前記第1のPIDコントローラの前記比例係数を減少するステップをさらに含む
    ことを特徴する請求項21に記載のデータ処理システム。
  23. 前記自律走行車の前記現在速度に基づいて前記第1のPIDコントローラの微分係数を調整するステップをさらに含む
    ことを特徴する請求項21に記載のデータ処理システム。
  24. 前記自律走行車の旋回半径を決定するステップと、
    前記自律走行車の前記旋回半径に基づいて前記第1のPIDコントローラの比例係数を調整するステップとをさらに含む
    ことを特徴する請求項20に記載のデータ処理システム。
  25. 前記旋回半径が所定閾値を超えると決定されたことに応答し、前記第1のPIDコントローラの前記比例係数を増大するステップをさらに含む
    ことを特徴する請求項24に記載のデータ処理システム。
  26. 第2のステアリング角を計算するステップには、
    前記自律走行車の前記目標横方向位置を決定して、前記障害物コースを操縦するステップと、
    移動中の前記自律走行車の前記実際横方向位置を決定するステップと、
    前記目標横方向位置及び前記実際横方向位置に基づいて、第2の比例−積分−微分(PID)コントローラで前記第2のステアリング角を計算するステップと、を含む
    ことを特徴する請求項19に記載のデータ処理システム。
  27. 前記自律走行車の現在速度、車両ルートに対する前記自律走行車の現在旋回半径、及び前記自律走行車の最後のコマンドのうちの少なくとも1つに基づいて、前記第2のPIDコントローラの比例係数、積分係数及び微分係数を調整するステップをさらに含む
    ことを特徴する請求項26に記載のデータ処理システム。
JP2017549315A 2016-11-24 2016-11-24 比例、積分及び微分(pid)コントローラを用いた自律走行車のステアリング制御方法及びシステム Active JP6668375B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/107109 WO2018094647A1 (en) 2016-11-24 2016-11-24 Method and system for steering control of an autonomous vehicle using proportional, integral, and derivative (pid) controller

Publications (2)

Publication Number Publication Date
JP2019505423A true JP2019505423A (ja) 2019-02-28
JP6668375B2 JP6668375B2 (ja) 2020-03-18

Family

ID=62194710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017549315A Active JP6668375B2 (ja) 2016-11-24 2016-11-24 比例、積分及び微分(pid)コントローラを用いた自律走行車のステアリング制御方法及びシステム

Country Status (5)

Country Link
US (1) US10118639B2 (ja)
EP (1) EP3350661B1 (ja)
JP (1) JP6668375B2 (ja)
CN (1) CN109416539B (ja)
WO (1) WO2018094647A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200134971A (ko) * 2019-05-24 2020-12-02 장진만 자율주행가능한 스피드 스프레이어

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438074B2 (en) * 2017-06-14 2019-10-08 Baidu Usa Llc Method and system for controlling door locks of autonomous driving vehicles based on lane information
US11124202B1 (en) * 2017-09-27 2021-09-21 Waymo Llc Adjusting timing of actuation commands to account for fixed and variable delays in autonomous driving control of vehicles
CN109283926A (zh) * 2018-08-16 2019-01-29 郑州轻工业学院 一种基于程序方位角的车辆沿车道线自动驾驶的方法
CN110968087B (zh) * 2018-09-30 2023-05-23 百度(美国)有限责任公司 车辆控制参数的标定方法、装置、车载控制器和无人车
US20200189591A1 (en) * 2018-12-18 2020-06-18 Qualcomm Incorporated Steering Command Limiting For Safe Autonomous Automobile Operation
WO2020132943A1 (en) * 2018-12-26 2020-07-02 Baidu.Com Times Technology (Beijing) Co., Ltd. A corner negotiation method for autonomous driving vehicles without map and localization
JP7208804B2 (ja) * 2019-01-17 2023-01-19 株式会社小松製作所 無人車両の制御システム及び無人車両の制御方法
CN111942377B (zh) * 2019-05-17 2021-09-14 上汽通用汽车有限公司 车辆纵向运动控制方法及车辆纵向运动控制系统
CN110472578B (zh) * 2019-08-15 2020-09-18 宁波中车时代传感技术有限公司 基于车道弯曲度的车道线保持方法
CN110597252B (zh) * 2019-09-03 2021-01-05 安徽江淮汽车集团股份有限公司 自动驾驶汽车融合定位控制方法、装置、设备及存储介质
CN111413692B (zh) * 2020-03-18 2022-03-18 东风汽车集团有限公司 一种基于路旁静止物体的摄像头横向位置估测自标定方法
US11479265B2 (en) * 2020-03-25 2022-10-25 Baidu Usa Llc Incremental lateral control system using feedbacks for autonomous driving vehicles
US11584392B2 (en) * 2020-11-04 2023-02-21 Waymo Llc Route optimization for autonomous driving systems
CN113002620B (zh) * 2021-03-12 2023-04-25 重庆长安汽车股份有限公司 自动驾驶方向盘角度偏差修正方法、系统及车辆
US20220381579A1 (en) * 2021-05-26 2022-12-01 Robert Bosch Gmbh Turning path guidance system for vehicles
CN114852171B (zh) * 2022-04-25 2023-08-15 上海仙途智能科技有限公司 车辆及其转向控制方法及装置、存储介质、终端
CN116974286B (zh) * 2023-08-25 2024-06-21 上海木蚁机器人科技有限公司 调整无人车跟随控制点的避障方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06211064A (ja) * 1993-01-19 1994-08-02 Nissan Motor Co Ltd 車両のヨーイング運動量制御装置
JPH1120499A (ja) * 1997-06-27 1999-01-26 Mitsubishi Motors Corp 自動追従走行システム
JP2005313775A (ja) * 2004-04-28 2005-11-10 Mitsubishi Motors Corp 自動操舵駐車支援装置
JP2009534770A (ja) * 2006-04-24 2009-09-24 アドヴァンスド トランスポート システムズ リミテッド ドライバーレス車両用操舵装置
JP2015189409A (ja) * 2014-03-28 2015-11-02 富士重工業株式会社 車両の車線逸脱防止制御装置
JP2016071437A (ja) * 2014-09-26 2016-05-09 株式会社クボタ 自動走行車両
JP2016155491A (ja) * 2015-02-25 2016-09-01 株式会社クボタ 自動走行作業車両
JP2016159781A (ja) * 2015-03-02 2016-09-05 富士重工業株式会社 車両の走行制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3266747B2 (ja) * 1994-11-10 2002-03-18 株式会社小松製作所 車両の誘導走行制御装置
WO2007000502A1 (fr) * 2005-06-24 2007-01-04 Renault Trucks Procede de determination d'une consigne d'angle de braquage des roues directrices d'un vehicule
US8473171B2 (en) * 2008-10-09 2013-06-25 GM Global Technology Operations LLC Apparatus and method for optimizing a vehicle collision preparation response
DE102009024083A1 (de) * 2009-06-05 2010-12-09 Valeo Schalter Und Sensoren Gmbh Verfahren zum Durchführen eines zumindest semi-autonomen Parkvorgangs eines Fahrzeugs und Parkassistenzsystem für ein Fahrzeug
AU2010295227B2 (en) * 2009-09-15 2015-02-05 Technological Resources Pty. Limited A system and method for autonomous navigation of a tracked or skid-steer vehicle
JP5786941B2 (ja) * 2011-08-25 2015-09-30 日産自動車株式会社 車両用自律走行制御システム
SE537371C2 (sv) * 2011-11-18 2015-04-14 Atlas Copco Rock Drills Ab Förfarande och anordning vid framförande av en gruv- och/eller anläggningsmaskin
US9096267B2 (en) * 2013-01-21 2015-08-04 GM Global Technology Operations LLC Efficient data flow algorithms for autonomous lane changing, passing and overtaking behaviors
US8886410B2 (en) * 2013-02-13 2014-11-11 Honda Motor Co., Ltd. Methods of controlling four-wheel steered vehicles
JP6272347B2 (ja) * 2013-11-08 2018-01-31 株式会社日立製作所 自律走行車両、及び自律走行システム
US9244462B2 (en) * 2014-05-30 2016-01-26 Nissan North America, Inc. Vehicle trajectory planning for autonomous vehicles
US9499197B2 (en) * 2014-10-15 2016-11-22 Hua-Chuang Automobile Information Technical Center Co., Ltd. System and method for vehicle steering control
JP6361567B2 (ja) * 2015-04-27 2018-07-25 トヨタ自動車株式会社 自動運転車両システム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06211064A (ja) * 1993-01-19 1994-08-02 Nissan Motor Co Ltd 車両のヨーイング運動量制御装置
JPH1120499A (ja) * 1997-06-27 1999-01-26 Mitsubishi Motors Corp 自動追従走行システム
JP2005313775A (ja) * 2004-04-28 2005-11-10 Mitsubishi Motors Corp 自動操舵駐車支援装置
JP2009534770A (ja) * 2006-04-24 2009-09-24 アドヴァンスド トランスポート システムズ リミテッド ドライバーレス車両用操舵装置
JP2015189409A (ja) * 2014-03-28 2015-11-02 富士重工業株式会社 車両の車線逸脱防止制御装置
JP2016071437A (ja) * 2014-09-26 2016-05-09 株式会社クボタ 自動走行車両
JP2016155491A (ja) * 2015-02-25 2016-09-01 株式会社クボタ 自動走行作業車両
JP2016159781A (ja) * 2015-03-02 2016-09-05 富士重工業株式会社 車両の走行制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200134971A (ko) * 2019-05-24 2020-12-02 장진만 자율주행가능한 스피드 스프레이어
KR102259086B1 (ko) 2019-05-24 2021-06-01 장진만 자율주행가능한 스피드 스프레이어

Also Published As

Publication number Publication date
JP6668375B2 (ja) 2020-03-18
CN109416539A (zh) 2019-03-01
US20180186403A1 (en) 2018-07-05
US10118639B2 (en) 2018-11-06
CN109416539B (zh) 2021-12-21
EP3350661A4 (en) 2018-08-01
WO2018094647A1 (en) 2018-05-31
EP3350661A1 (en) 2018-07-25
EP3350661B1 (en) 2021-05-05

Similar Documents

Publication Publication Date Title
JP6668375B2 (ja) 比例、積分及び微分(pid)コントローラを用いた自律走行車のステアリング制御方法及びシステム
JP6861239B2 (ja) 自動運転車両のためのpid埋め込みlqr
JP6567617B2 (ja) 自律走行車の安定性を向上させるための方法、媒体、及びシステム
KR101975728B1 (ko) 자율 주행 차량을 위한 사이드슬립 보상 제어 방법
KR102042123B1 (ko) 자율 주행 차량을 위한 속력 제어 파라미터 추정 방법
KR102048646B1 (ko) 자율 주행 차량 이동을 시뮬레이트하기 위한 물리 모델 및 머신 러닝과 결합된 방법
US10289110B2 (en) Method to dynamically adjusting steering rates of autonomous vehicles
JP6683805B2 (ja) 自律走行モードへ再進入する自律走行車の制御のための方法及びシステム
KR102260486B1 (ko) 자율 주행 차량의 완전 정지를 위한 속력 제어
CN108391429B (zh) 用于自主车辆速度跟随的方法和系统
JP6494715B2 (ja) 自律走行車の速度制御率の動的調整方法
KR101975725B1 (ko) 학습 기반 모델 예측 제어를 이용한 자율 주행 차량의 노면 마찰 결정 방법 및 시스템
JP2019128962A (ja) 自動運転車のための経路及び速度の最適化フォールバックメカニズム[path and speed optimization fallback mechanism for autonomous vehicles]
KR20180052673A (ko) 자율 주행 차량 제어를 위한 시스템 지연 추정 방법
KR20180051571A (ko) 자율 주행 차량을 위한 차량 위치점 전달 방법
JP2018158719A (ja) 自動運転車両に用いられる制御型の計画と制御システム
JP2019137391A (ja) 自動運転車両のための自己位置推定方法、システム及び機械可読媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191120

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20191203

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: 20200204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200226

R150 Certificate of patent or registration of utility model

Ref document number: 6668375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250