JP2020083306A - 自動運転車両を動作させるための所定のキャリブレーションテーブルに基づく車両制御システム - Google Patents

自動運転車両を動作させるための所定のキャリブレーションテーブルに基づく車両制御システム Download PDF

Info

Publication number
JP2020083306A
JP2020083306A JP2019189323A JP2019189323A JP2020083306A JP 2020083306 A JP2020083306 A JP 2020083306A JP 2019189323 A JP2019189323 A JP 2019189323A JP 2019189323 A JP2019189323 A JP 2019189323A JP 2020083306 A JP2020083306 A JP 2020083306A
Authority
JP
Japan
Prior art keywords
command
calibration table
driving
command calibration
adv
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
JP2019189323A
Other languages
English (en)
Other versions
JP6908674B2 (ja
Inventor
ファン・ジュ
Fan Zhu
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 JP2020083306A publication Critical patent/JP2020083306A/ja
Application granted granted Critical
Publication of JP6908674B2 publication Critical patent/JP6908674B2/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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • B60W30/143Speed control
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/188Controlling power parameters of the driveline, e.g. determining the required power
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/064Degree of grip
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/12Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to parameters of the vehicle itself, e.g. tyre models
    • B60W40/13Load or weight
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0026Lookup tables or parameter maps
    • 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
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating 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
    • 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
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • 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
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • B60W2050/0088Adaptive recalibration
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • 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
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/16Driving resistance
    • 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
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/20Tyre data
    • 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
    • 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/40Coefficient of friction
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/10Historical data
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • B60W2710/0666Engine torque
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/08Electric propulsion units
    • B60W2710/083Torque
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/20Steering systems
    • B60W2710/207Steering angle of wheels
    • 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • B60W2720/106Longitudinal acceleration
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/188Controlling power parameters of the driveline, e.g. determining the required power
    • B60W30/1882Controlling power parameters of the driveline, e.g. determining the required power characterised by the working point of the engine, e.g. by using engine output chart

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Regulating Braking Force (AREA)
  • Traffic Control Systems (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)

Abstract

【課題】自動運転車両(ADV)を動作させるための方法を提供する。【解決手段】ADVを現在速度から目標加速度になるように駆動するための要求に応答し、目標加速度とADVの現在速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作を実行する。ルックアップ操作を実行し、現在速度及び目標加速度にマッチングされたエントリを特定する。各々のコマンドキャリブレーションテーブルには複数のエントリが含まれ、うち、各々のエントリは特定の速度及び発信された特定の制御コマンドを、制御コマンドに応答して車両から取得した特定の加速度にマッピングする。選択されたコマンドキャリブレーションテーブルのマッチングされたエントリから制御コマンドを取得し、ADVに送信してADVを制御する。【選択図】図8

Description

本開示の実施形態は全体として自動運転車両の操作に関するものである。より具体的には、本開示の実施形態は所定のキャリブレーションテーブルを用いて自動運転車両を動作させることに関する。
自動運転モード(例えば、無人運転)で走行する車両は、乗員、特に運転手を一部の運転に関する責任から解放することができる。自動運転モードで操作する場合、車両は車載センサを用いて様々な位置までナビゲートされ、ヒューマンマシンインタラクションが最も少ない場合、又は乗員がいない場合などに車両を走行させることが可能となる。
移動計画及び制御は自動運転の重要な操作である。しかしながら、従来の移動計画動作は異なるタイプの車両の特徴の相違を考慮せず、主にその曲率および速度から特定の経路を完成する難しさを推定した。同じ移動計画および制御がすべてのタイプの車両に使用され、すべての道路条件を同じように扱うことで、特定の場合には間違ったりスムーズではなかったりする。
本開示の実施形態は添付図面の各図において限定的ではなく例示的な形態で示されており、添付図面における同じ参考符号は類似要素を示す。
一実施形態に係るネットワーク化システムを示すブロック図である。 一実施形態に係る自動運転車両の一例を示すブロック図である。 一実施形態に係る自動運転車両に併用される感知・計画システムの一例を示すブロック図である。 一実施形態に係る自動運転車両に併用される感知・計画システムの一例を示すブロック図である。 一実施形態に係る運転環境と一つまたは複数のキャリブレーションテーブルのセットとの間の関係を示すブロック図である。 一実施形態に係る運転環境カテゴリのセットを示すブロック図である。 一実施形態に係るキャリブレーションテーブルの一例を示すブロック図である。 一実施形態に係るキャリブレーションテーブルの選択プロセスを示すフローチャートである。 一実施形態に係るコマンドキャリブレーションテーブルを用いて制御コマンドを決定するプロセスを示すフローチャートである。 一実施形態に係るキャリブレーションテーブルを作成するプロセスを示すフローチャートである。 一実施形態に係るデータ処理システムを示すブロック図である。
本開示の様々な実施形態と態様は、以下で論述される詳細を参照しながら記載され、添付図面が様々な実施形態を説明する。以下の記載及び添付図面は本開示を説明するためのものであり、本開示を制限するためのものではない。多くの具体的な詳細は、本開示の様々な実施形態に対する全面的な理解を提供するために記載される。しかしながら、特定の場合において、本開示の実施形態に対する簡潔な論述を提供するために、公知又は従来技術の詳細は記載されないことがある。
本明細書において「一実施形態」又は「実施形態」の記載は、当該実施形態に記載されている特定の特徴、構成又は特性を組み合わせて本開示の少なくとも一つの実施形態に含むことができることを意味する。「一実施形態において」は、本明細書において複数のところに出現しており、全て同一の実施形態を意味するものではない。
いくつかの実施形態によれば、1セットの所定のキャリブレーションテーブルは、異なる特定運転環境に用いられる制御コマンドを調整または較正するのに役立つ。キャリブレーションテーブルは、異なる運転環境(例えば、異なる車両負荷、天気状況および路面状況など)で走行するさまざまな車両から収集された運転統計データに基づいてオフラインで作成されてもよい。所定の運転環境カテゴリごとに少なくとも1つのコマンドキャリブレーションテーブルが作成される。リアルタイムで、自動運転車両(ADV)がある期間走行して1セットの運転統計データを収集した後、運転統計データから取得した運転環境とコマンドキャリブレーションテーブルに対応する所定運転環境カテゴリとをマッチングすることによって、コマンドキャリブレーションテーブルのうちの1つが選択される。そして、選択されたコマンドキャリブレーションテーブルを使用して後続の走行周期においてルックアップ操作によってADVを運転するための制御コマンドが生成され、該コマンドをリアルタイムで算出する必要がない。
一実施形態によれば、ADVをADVの現在速度から目標加速度になるように駆動する要求に応答して、ADVの目標加速度と現在速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作が実行される。コマンドキャリブレーションテーブルにおいてルックアップ操作を実行することにより現在速度及び目標加速度にマッチングされるエントリが特定される。選択されたコマンドキャリブレーションテーブルは、予め構成されたコマンドキャリブレーションテーブルのうちの1つである。各々のコマンドキャリブレーションテーブルには複数のエントリが含まれ、各々のエントリでは、特定速度及び発信した特定制御コマンドが、該制御コマンドに応答して車両から取得した特定加速度にマッピングされている。制御コマンドは選択されたコマンドキャリブレーションテーブルのマッチングされたエントリから取得される。取得した制御コマンドはADVを制御するためにADVに送信されて、同じコマンドをリアルタイムで算出する必要がなく、該リアルタイム算出はリソースを消耗し且つ時間を無駄にする可能性がある。
一実施形態では、コマンドキャリブレーションテーブルのうちの各々は、例えば、天気状況(例えば、乾燥又は湿潤)、路面状況(例えば、平坦又は粗い)、及び車両の負荷状況(タイヤ空気圧で表示可能)などの特定の運転環境又は運転状況に関連付けられる。すなわち、コマンドキャリブレーションテーブルの各々は天気状況、路面状況及び負荷状況の特定の組み合わせに対応する。例えば、第1の運転状況は乾燥道路、平坦な路面及び零負荷状況(例えば、運転者一人のみで他に負荷がない)を含むことができ、第2の運転状況は、濡れた道路、平坦な路面及び50kgの負荷状況等であってもよい。各コマンドキャリブレーションテーブルは、コマンドキャリブレーションテーブルに関連付けられる特定の運転環境を走行している一つまたは複数の車両から収集された運転統計データに基づいて作成される。これは、発信された様々な制御コマンドを収集すること、及び車両からのフィードバックまたは応答、例えば、様々な時点における速度および加速度を測定することを含む。
一実施形態では、選択されたコマンドキャリブレーションは、動的時点における運転状況に基づいて、コマンドキャリブレーションテーブルプールから周期的に選択される。運転状況が変化する場合、後続の制御コマンドを決定するために、異なるコマンドキャリブレーションテーブルが選択され得る。一実施形態によれば、プールからコマンドキャリブレーションテーブルが選択されるとき、第1運転統計データセットは、ADVが特定の運転環境を走行しているときのある期間内にADVから収集されたものである。現在の運転環境に関連付けられるコマンドキャリブレーションテーブルプールから、1セットのコマンドキャリブレーションテーブル候補が識別される。第1運転統計データセット(例えば、速度、制御コマンド、加速度)は、コマンドキャリブレーション候補の各々から取得された第2運転統計データセットと比較される。比較結果に基づいて、各コマンドキャリブレーション候補の類似度スコアが算出される。類似度スコアは、リアルタイムに収集された運転統計データと、キャリブレーションテーブルに予め確定されて格納された運転統計データとの類似度を表す。そして、コマンドキャリブレーションテーブル候補のうち、類似度スコアが最も高いものが選択される。
一実施形態では、選択されたコマンドキャリブレーションのルックアップ動作を実行するプロセスと、コマンドキャリブレーションテーブルを選択するプロセスは、異なる実行スレッドを使用して達成することができ、異なる実行スレッドは、異なるプロセッサによって実行されてもよく、又は同じプロセッサの異なるプロセッサコアによって実行されてもよい。
図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は、一つ以上のカメラ211、全地球測位システム(GPS)ユニット212、慣性計測ユニット(IMU)213、レーダユニット214並びに光検出・測距(LIDAR)ユニット215を含むが、これらに限定されない。GPSシステム212は、自動運転車両の位置に関する情報を提供するように操作可能な送受信機を含んでもよい。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置及び方位変化を感知することができる。レーダユニット214は、無線信号を用いて自動運転車両のローカル環境におけるオブジェクトを感知するシステムを表してもよい。いくつかの実施形態において、オブジェクトを感知することに加えて、レーダユニット214は、更にオブジェクトの速度及び/又は進行方向を感知することもできる。LIDARユニット215は、自動運転車両が位置する環境におけるオブジェクトをレーザで感知することができる。他のシステム構成要素に加えて、LIDARユニット215は、更に一つ以上のレーザ光源、レーザスキャナ及び一つ以上の検出器を含んでもよい。カメラ211は、自動運転車両の周囲環境における画像を取り込むための一つ以上の装置を含んでもよい。カメラ211は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動可能なものであってもよい。
センサシステム115は更に他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ及びオーディオセンサ(例えば、マイクロホン)を含んでもよい。オーディオセンサは、自動運転車両の周囲の環境から音声を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイールの操舵角、車両の車輪の転舵角又はこれらの組み合わせを感知するように構成されてもよい。スロットルセンサ及びブレーキセンサはそれぞれ車両のスロットル位置及びブレーキ位置を感知する。ある場合に、スロットルセンサ及びブレーキセンサは集積型スロットル/ブレーキセンサとして統合されてもよい。
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットともいう)及びブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット203は、摩擦を提供することによって車両の車輪又はタイヤを減速させることで、車両を減速させる。注意すべきことは、図2に示された構成要素は、ハードウェア、ソフトウェア又はこれらの組み合わせで実施することができる。
再び図1を参照し、無線通信システム112は、自動運転車両101と、装置、センサ、他の車両などのような外部システムとの通信を可能にする。例えば、無線通信システム112は、直接又は通信ネットワークを介して一つ以上の装置と無線通信することができ、例えば、ネットワーク102を介してサーバ103〜104と通信することができる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)を使用して、例えばWi−Fi(登録商標)を使用して他の構成要素又はシステムと通信することができる。無線通信システム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に基づいて、様々な目的に応じてルールセット、アルゴリズム及び/又は予測モデル124を生成するか又は訓練する。一実施形態では、アルゴリズム124は、感知、計画、および制御プロセスのためのアルゴリズムを含むことができ、これらは後でさらに詳細に説明される。次に、アルゴリズム124は、自動運転期間中にリアルタイムで使用するために、ADVにアップロードすることができる。
また、一実施形態によれば、サーバ103は、同じ又は類似の運転環境下で収集された特定の運転統計データ123に基づいて、異なる運転環境又は運転状況での複数のキャリブレーションテーブルを生成するように構成されたキャリブレーションテーブル生成器125を維持することができる。例えば、1台以上の車両は、特定の運転環境カテゴリ(例えば、乾燥道路、粗い路面、50kgの負荷)で走行することができる。走行期間中に異なる時点における運転統計データ(例えば、コマンドに応答した車両の速度、発信したコマンド、及び加速度)を測定及び収集することができる。その後、同じまたは類似の運転状況下で収集された運転統計データはキャリブレーションテーブルに取り込まれ、この例では、同じまたは類似の運転環境下でコマンドを較正するように構成されたコマンドキャリブレーションテーブルに取り込まれる。
複数の所定の運転環境カテゴリが存在し、これは(例えば、天気状況、路面状況、及び負荷状況など)特定の運転パラメータを使用して予め限定されたものである。運転環境(運転状況とも呼ばれる)は、他のパラメータを使用して限定されてもよい。図4に示すように、各々の所定の運転環境に対して、少なくとも1つのコマンドキャリブレーションテーブルが作成される。
図4を参照すると、1セットの所定の運転環境400に対し、コマンドキャリブレーションテーブルは、同じまたは類似の運転環境を走行する一つまたは複数の車両から収集された運転統計データに基づいて作成される。この例では、運転環境401〜403はそれぞれコマンドキャリブレーションテーブル411〜413に関連付けられている。残りの運転環境と比較して、所定の運転環境401〜403のそれぞれは一意的なものである。
ここで図5を参照すると、一実施形態では、運転環境は天気状況501、路面状況502、タイヤ空気圧状況503、及び/又は負荷状況504の少なくとも3つのパラメータによって限定される。これらは運転環境を限定するパラメータの例の一部に過ぎておらず、他の要因も使用および考慮され得る。天気状況501は、1)乾燥道路状態、及び2)湿潤道路状態を含むことができる。路面状況502は、1)平坦な表面、2)粗い表面、及び3)混合表面を含むことができる。タイヤ空気圧状況503は、1)高圧力、2)正常圧力、および3)低圧力を含むことができる。タイヤ空気圧は直接的または間接的に現在の車両負荷を表すことができる。代替的に、タイヤ空気圧状況は単に(人間の運転者を除く)負荷のない場合のタイヤの空気圧を指す。この構成では、運転環境は負荷状況パラメータ(例えば、50、100、150、…、1000kg)をさらに含むことができる。代替的に、天気状況、路面状況及びタイヤ空気圧状況によって限定される各運転環境に対して、1セットのコマンドキャリブレーションテーブルが存在する。該セット内の各キャリブレーションテーブルは特定の負荷に関連付けられる。
これらのパラメータは、カメラや圧力センサなどの適切なセンサを用いて測定及び確定することができる。したがって、上記環境パラメータの特定の組み合わせによって表される複数の運転環境インスタンスが存在することになる。例えば、第1運転環境は、乾燥道路、平坦路面、および高タイヤ空気圧の組み合わせであってもよく、第2運転環境は、乾燥道路、粗い路面、および高タイヤ空気圧など(場合によって、負荷を有する状況)の組み合わせに基づいて限定されてもよい。図6に示すように、各々の所定の運転環境に対して、少なくとも1つのコマンドキャリブレーションテーブルが存在する。
図6を参照すると、コマンドキャリブレーションテーブル600は、図4に示されているキャリブレーションテーブル411〜413のいずれかを表すことができる。キャリブレーションテーブル600は複数のエントリを含む。各エントリは、制御コマンド601の種類によって特定の制御コマンド601および速度602を加速度603または操舵角604にマッピングする。これらのデータは上述した同じまたは類似の対応する運転環境で走行している1台または複数の車両から捕捉及び収集されたものである。制御コマンド601は、現在の速度602で発信されたスロットルコマンド又はブレーキコマンドであってもよい。車両からの応答は加速度603であってもよく、ここで、正の値は加速度を表し、負の値は減速度を表す。制御コマンド601はステアリングコマンドであってもよく、車両の応答は現在の操舵角からの操舵角604であってもよい。場合によって、別個のキャリブレーションテーブルはスロットル/ブレーキコマンドおよびステアリングコマンドに使用されてもよい。その後、キャリブレーションテーブルは、自動運転期間中にリアルタイムで制御コマンドを較正するために、自動運転車両(例えば、図3A〜図3Bのキャリブレーションテーブル314)にアップロードされてもよい。
図3A〜図3Bは一実施形態に係る自動運転車両に併用される感知・計画システムの一例を示すブロック図である。システム300は、図1の自動運転車両101の一部として実現されてもよく、感知・計画システム110、制御システム111及びセンサシステム115を含むが、これらに限定されない。図3A〜図3Bを参照すると、感知・計画システム110は、測位モジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、ルーティングモジュール307及びコマンドキャリブレーションモジュール308を含むが、これらに限定されない。
モジュール301〜308のうちの一部又は全部は、ソフトウェア、ハードウェア又はこれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、且つ一つ以上のプロセッサ(図示せず)により実行されてもよい。注意すべきことは、これらのモジュールのうちの一部又は全部は、図2の車両制御システム111の一部又は全部のモジュールに通信可能に接続されるか、又はそれらと一体に統合されてもよい。モジュール301〜308のうちの一部は集積モジュールとして一体に統合されてもよい。例えば、コマンドキャリブレーションモジュール308は、計画モジュール305及び/又は制御モジュール306の一部として統合されてもよい。
測位モジュール301は、(例えば、GPSユニット212を利用して)自動運転車両300の現在の位置を確定するとともに、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール301(地図及びルーティングモジュールともいう)は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして旅程の出発地及び目的地を指定することができる。測位モジュール301は、自動運転車両300における地図・ルート情報311のような他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール301は、位置サーバ並びに地図・POI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及び特定位置のPOIを提供し、これらは地図及びルート情報311の一部としてキャッシュされ得る。自動運転車両300がルートに沿って移動するとき、測位モジュール301も交通情報システム又はサーバからリアルタイム交通情報を取得することもできる。
感知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得された測位情報とに基づいて、周囲環境への感知を決定する。感知情報は、一般の運転手が運転手により運転されている車両の周囲において感知すべきものを示すことができる。感知は、例えば、オブジェクト形式を採用した車線構成、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含むことができる。車線構成は、例えば、車線の形状(例えば、直線または湾曲)、車線の幅、道路内の車線数、一方向または二方向車線、合流または分岐車線、退出車線などのような、1つまたは複数の車線を記述する情報を含む。
感知モジュール302は、一つ以上のカメラにより収集された画像を処理、解析して、自動運転車両の環境におけるオブジェクト及び/又は特徴を認識するために、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描画し、オブジェクトを追跡し、及びオブジェクトの速度を推定することなどができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサにより提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
各オブジェクトについて、予測モジュール303は、該オブジェクトがこの状況で何を表現するかを予測する。予測は、地図/ルート情報311と交通ルール312のセットに応じて、該時点における運転環境が感知された感知データに基づいて実行される。例えば、オブジェクトが反対方向における車両で、且つ現在の運転環境に交差点が含まれている場合に、予測モジュール303は車両が前方に直進するか又はカーブ走行するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があり得ることを予測することができる。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール303は、車両が左折又は右折しようとする可能性がより高いことをそれぞれ予測することができる。
各オブジェクトに対して、決定モジュール304はオブジェクトをどのように対応するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、曲がり角)について、決定モジュール304は前記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のルールセットに基づいてこのような決定を下すことができ、前記ルールセットは永続性記憶装置352に格納されてもよい。
ルーティングモジュール307は、出発地点から目的地点までの一つ以上のルート又は経路を提供するように構成される。例えば、ユーザから受け取った出発位置から目的地位置までの所定の旅程に対して、ルーティングモジュール307は地図・ルート情報311を取得して、出発位置から目的地位置に到着する全ての可能なルート又は経路を決定する。ルーティングモジュール307は、決定された出発位置から目的地位置に到達するまでの経路の各々に使用される基準線を地形図の形態で生成することができる。基準線は、他の車両、障害物又は交通状況などのような他の物事によって何ら干渉されることのない、理想的なルート又は経路を指す。即ち、路面に他の車両、歩行者又は障害物が存在しなければ、ADVは基準線に完全に又は緊密に従うべきである。そして、地形図が決定モジュール304及び/又は計画モジュール305に提供される。他のモジュールから提供された他のデータ(例えば、測位モジュール301からの交通状況、感知モジュール302により感知された運転環境及び予測モジュール303により予測された交通状況)に基づいて、決定モジュール304及び/又は計画モジュール305は、全ての可能なルートを検査して最適ルートのうちの一つを選択して補正する。ADVを制御するための実際のルート又は経路は、ルーティングモジュール307から提供された基準線に近接するか又は異なっていてもよく、これはその時点における特定運転環境によって決定される。
計画モジュール305は、感知されたオブジェクトのそれぞれに対する決定に基づいて、ルーティングモジュール307により提供された基準線を基準にして、自動運転車両のために経路又はルート並びに運転パラメータ(例えば、距離、速度及び/又は曲がり角)を計画する。すなわち、所定のオブジェクトについて、決定モジュール304は当該オブジェクトに対して何をするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、所定のオブジェクトについて、決定モジュール304は前記オブジェクトを追い抜くかを決定することができ、計画モジュール305は前記オブジェクトを左側から追い抜くかそれとも右側から追い抜くかを決定することができる。計画及び制御データは計画モジュール305により生成され、車両300が次の移動周期(例えば、次のルート/経路区間)にはどのように移動するかを記述する情報を含む。例えば、計画及び制御データは、車両300が30マイル/時間(mph)の速度で10メートル移動し、その後25mphの速度で右側車線に変更するように指示することができる。
制御モジュール306は、計画及び制御データに基づいて、計画及び制御データにより限定されたルート又は経路に応じて適当なコマンド又は信号を車両制御システム111に送信することにより自動運転車両を制御しながら運転する。前記計画及び制御データは、経路又はルートに沿って異なる時点で適切な車両構成又は運転パラメータ(例えば、スロットル、ブレーキ、及びステアリングコマンド)を使用して、車両をルート又は経路の第1の点から第2の点まで運転するのに十分な情報を含む。
一実施形態では、計画段階は、例えば、時間間隔が100ミリ秒(ms)の周期など、複数の計画周期(運転周期とも言われる)で実行される。計画周期又は運転周期のそれぞれについて、計画データ及び制御データに基づいて一つ以上の制御コマンドが発信される。すなわち、100msごとに、計画モジュール305は、例えば、目標位置及びADVが目標位置に到着するのに必要な時間を含む次のルート区間又は経路区間を計画する。あるいは、計画モジュール305は更に具体的な速度、方向及び/又は操舵角などを指定することもできる。一実施形態では、計画モジュール305は、(例えば、5秒など)次の所定期間のためにルート区間又は経路区間を計画する。各計画周期について、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)の目標位置を計画する。次に、制御モジュール306は、現在の周期の計画データ及び制御データに基づいて、一つ以上の制御コマンド(例えば、スロットルコマンド、ブレーキコマンド、ステアリング制御コマンド)を生成する。
注意すべきことは、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車両の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線に基づく経路に沿って進行するとともに、感知された障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を経由して行われたユーザ入力に応じて設定されることができる。ナビゲーションシステムは、自動運転車両が走行していると同時に運転経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を決定するために、GPSシステム及び一つ以上の地図からのデータをマージすることができる。
一実施形態によれば、データコレクタ(図示せず)は、ADV300が道路を通って走行している間、様々なセンサ及びモジュールから様々なデータを収集するとともに、運転統計データ313の一部としてデータを格納するように構成される。上述したように、運転統計データは、速度、操舵角(例えば、進行方向)、発信された制御コマンド及び異なる時点における車両の応答を含む。所定の期間以降、収集された運転統計データ313は、コマンドキャリブレーションテーブル314の対応する統計データとマッチングするために使用され、その後の制御コマンドの較正のために、指定されたコマンドキャリブレーションテーブルとしてキャリブレーションテーブルの1つを選択する。
一実施形態では、ルックアップ操作は、統計データ(例えば、速度、コマンド、および該コマンドに応答する車両応答)の各サブセットについて、各コマンドキャリブレーションテーブル内で実行される。リアルタイムに収集されたデータとキャリブレーションテーブルに格納されたデータとの差に基づいて、各キャリブレーションテーブルの類似度スコアが算出される。最も高い類似度スコアを有するキャリブレーションテーブルが、後続のコマンド較正のために選択される。
一実施形態では、所定のコマンドキャリブレーションテーブルについて、検索が実行されることで、コマンドキャリブレーションテーブルにおける、サブセットのリアルタイムで測定された速度および発信されたコマンドにマッチングされるエントリが特定される。リアルタイムで測定された車両応答(例えば、加速度、操舵角)を、マッチングされたエントリから取得された以前収集された応答と比較して、サブセットとマッチングされたエントリとの間の差を確定する。統計データのすべてのサブセットについて、すべてのサブセットの実際のデータとキャリブレーションテーブルに格納されたデータとの間の平均差が算出される。平均差が最も小さいキャリブレーションテーブルが選択され、該キャリブレーションテーブルは最も高い類似度スコアを有する。
例えば、キャリブレーションテーブル選択プロセスは、車両を所定の時間、例えば1分間走行させる。この間、車両の運転統計データを収集し運転統計データ313の一部として記録する。一実施形態では、運転周期ごとに、すなわち、100msごとに統計データのサブセットを収集し、該サブセットは、少なくとも現在速度/操舵角、発信された制御コマンドおよび該時点で発信された制御コマンドに応答する車両応答(例えば、加速度または操舵角)を含む。全時間帯(この例では1分間)には、600のデータのサブセットが存在することになる。これらのデータのサブセットは、上述の少なくともいくつかの技術を使用してリアルタイムに収集された統計データのサブセットに最も類似するコマンドキャリブレーションテーブルのうちの1つを識別するように、各々の事前構成されたコマンドキャリブレーションテーブルのマッチングに使用される。目標は、選択されたキャリブレーションテーブルから導出されたコマンドが現在の運転環境に最適であるように、現在の運転環境に関連するか、または現在の運転環境に近いキャリブレーションテーブルを見つけることである。
具体的には、与えられたコマンドキャリブレーションテーブルのうちの1つについて、600のデータのサブセットの各々は、例えば、速度/操舵角と、発信された制御コマンドとを比較することによって、コマンドキャリブレーションテーブルの各エントリに格納されたデータとの比較に使用される。リアルタイムで収集された応答(例えば、加速度、操舵角)をマッチングされたエントリからの対応する応答と比較して差を確定する。同じコマンドキャリブレーションテーブルについて600の統計データのサブセットを全て処理した後、対応するコマンドキャリブレーションテーブルについて、リアルタイムで測定された応答とマッチングされたエントリからの予め記録された応答との間の平均差を算出する。その後、平均差に基づいて類似度スコアを算出し、例えば、より低い平均差はより高い類似度スコアを生成する。
一実施形態では、上記のキャリブレーションテーブル選択プロセスは、該時点で確定された運転環境に対する最適なコマンドキャリブレーションテーブルを識別するために、周期的に実行される。運転環境の変化に伴って、異なるコマンドキャリブレーションテーブルが選択され得る。
一旦、その時点での特定の運転環境についてのコマンドキャリブレーションテーブルが選択されると、その後の(例えば、次の運転周期から始まる)制御コマンドは、選択されたコマンドキャリブレーションテーブルを使用して、ルックアップ操作によって決定され得る。したがって、リソースを消費して時間を浪費する可能性のある特定のコマンドの計算をその時点で行う必要がなく、ルックアップ操作によって適切なコマンドを迅速に確定することができる。
一実施形態では、図6に戻って参照すると、ADVを現在の速度から目標加速度(または、操舵角)になるように駆動するための要求が受信されると、速度および目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいて、ルックアップ操作が実行され、現在の速度および目標加速度にそれぞれ相対的にマッチングされる速度602および加速度603を有するエントリが特定される。マッチングされたエントリのフィールド601から制御コマンド(例えば、スロットルコマンド又はブレーキコマンド)が取得される。その後、ADVを制御するための制御コマンドを発信し、リアルタイムで該制御コマンドを算出する必要がない。同様のプロセスをステアリング操作にも利用でき、現在の操舵角602および目標操舵角604をそれぞれマッチングして、現在の速度と目標操舵角とに基づいてステアリングコマンドを確定することができる。ルックアップ操作を比較的高速に行うことができるため、制御コマンドの確定に要する時間やリソースを大幅に削減することができる。なお、フィールド603及び604を1つのフィールドに統合して、フィールド601のコマンドの種類(例えば、スロットルコマンド、ステアリングコマンド)に応じて目標加速度又は目標操舵角を格納してもよい。
なお、コマンドキャリブレーションテーブルを選択するプロセスと、選択されたコマンドキャリブレーションテーブルを用いて制御コマンドを確定するプロセスとは、異なる実行スレッドで実行されてもよい。
図7は、一実施形態に係る、現在の運転環境に基づいてコマンドキャリブレーションテーブルを確定および選択するプロセスを示すフローチャートである。プロセス700は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。例えば、プロセス700は、コマンドキャリブレーションモジュール308によって実行され得る。図7を参照すると、動作701において、処理ロジックは、ADVの所定時間帯(例えば、1分間)の運転統計データ(例えば、速度、加速度)を測定及び収集する。動作702では、処理ロジックは、該時点でのADVに関連する運転環境(例えば、天気状況、路面状況など)を選択的に確定する。
動作703において、予め構成された各コマンドキャリブレーションテーブル(選択的に該時点で確定された運転環境に関連付けられている)について、処理ロジックは、その時点で測定された運転統計データを、コマンドキャリブレーションテーブルに格納された対応する運転統計データと比較する。動作704において、処理ロジックは、動的測定データと事前に格納されたデータとの間の比較結果に基づいて、コマンドキャリブレーションテーブルの類似度スコアを算出する。類似度スコアは、その時点で収集されたデータと、予め収集されてテーブルに格納されているデータとの間の類似度を表す。
一実施形態では、動的に収集されたデータは、ある期間にわたって収集されてもよく、例えば、1分間以内に100msごとに1つのデータサブセットが記録される。データサブセットの各々について、データサブセットと、コマンドキャリブレーションテーブルに格納された対応するデータサブセットの各々との間の差が比較される。データサブセットのすべての差に基づいて平均差が算出され、該平均差はその特定のコマンドキャリブレーションテーブルの類似度スコアの確定に使用される。例えば、サブセットの所与の速度および発信された所与のスロットルコマンドについて、車両の実際の加速度は、速度およびスロットルコマンドに相対的にマッチングされるキャリブレーションテーブルのエントリに記録された加速度と比較される。実際の加速度と事前記録された加速度との差を算出する。
動作705では、処理ロジックは、最も高い類似度スコアを有するコマンドキャリブレーションテーブルの1つを選択して、その後の自動運転中における制御コマンドの確定に使用する。プロセス700は、運転環境の変化に応じて異なるコマンドキャリブレーションテーブルを選択するべきか否かを判定するために、周期的に実行され得る。
図8は、一実施形態に係る自動運転車両を操作するための制御コマンドを確定するプロセスを示すフローチャートである。プロセス800は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。例えば、プロセス800は、コマンドキャリブレーションモジュール308によって実行され得る。図8を参照すると、動作801において、処理ロジックは、ADVを現在速度から目標加速度になるように、または現在速度からある時間内に目標速度になるように駆動するための要求を受信する。該要求は計画モジュール305から受信され得る。該要求に応答して、動作802において、現在速度及び目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作を実行することにより、速度及び目標加速度に相対的にマッチングされるエントリが特定される。選択されたコマンドキャリブレーションテーブルは複数のエントリを含む。各エントリにはいずれも速度、制御コマンド、および加速度データのセットが格納される。図7のプロセス700は、選択されたコマンドキャリブレーションテーブルを選択するために使用され得る。動作803において、マッチングされたエントリから制御コマンドが取得され、その後、動作804において、ADVが目標加速度になるようにADVに制御コマンドが発信される。
図9は、一実施形態に係るキャリブレーションテーブルを作成するプロセスを示すフローチャートである。プロセス900は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。プロセス900は、図1のキャリブレーションテーブル生成器125によって実行され得る。図9を参照すると、処理ロジックは、複数の運転環境カテゴリ(例えば、天気状況、路面状況、タイヤ空気圧状況、負荷状況)を定義する。運転環境カテゴリのそれぞれについては、動作902において、1台または複数の車両の運転統計データが収集され、該運転統計データは、車両が同じまたは類似の運転環境を走行しているときに収集され得る。動作903において、運転環境カテゴリに対しキャリブレーションテーブルが作成される。キャリブレーションテーブルは複数のエントリを含む。各エントリには、車両の速度、発信された制御コマンド、および発信された制御コマンドに応答する車両応答データ(たとえば、加速度、操舵角)のセットが格納される。キャリブレーションテーブルは、車両の自動運転中にリアルタイムで制御コマンドを確定するために使用され得る。
なお、上記の構成要素の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合わせにより実現できることを理解されたい。例えば、このような構成要素は、永続性記憶装置にインストールされ且つ格納されたソフトウェアとして実現でき、前記ソフトウェアは、プロセッサ(図示せず)でメモリにロードされ且つ実行されることにより、本出願の全体にわたって説明されるプロセスまたは動作を実行する。あるいは、このような構成要素は専用ハードウェア(例えば、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)またはフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされまたは埋め込まれた実行可能なコードとして実現されてもよく、前記実行可能なコードは対応するドライバーおよび/またはオペレーティングシステムによってアプリケーションからアクセスできる。また、このような構成要素は、プロセッサまたはプロセッサコアにおける特定ハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が1つまたは複数の特定命令によってアクセスされる命令セットの一部となる。
図10は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記プロセスまたは方法のいずれかを実行する上記任意のデータ処理システム、例えば、図1の感知・計画システム110またはサーバ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(登録商標)オペレーティングシステム、アップル社のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、Linux(登録商標)、Unix(登録商標)または他のリアルタイムまたは組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、更に、ネットワークインターフェースデバイス1505、任意選択入力デバイス1506、及びその他の任意選択I/Oデバイス1507を含むデバイス1505〜1508のようなI/Oデバイスを含むことができる。ネットワークインターフェースデバイス1505は、無線送受信機および/またはネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、Wi−Fi(登録商標)送受信機、赤外線送受信機、ブルートゥース(登録商標)送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)または他の無線周波数(RF)送受信機またはそれらの組合せであってもよい。NICはイーサネット(登録商標)カードであってもよい。
入力デバイス1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と一体化されてもよい)、ポインタデバイス(例えばスタイラス)および/またはキーボード(例えば、物理キーボードまたはタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力デバイス1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーンおよびタッチスクリーンコントローラは、例えば、複数種のタッチ感応技術(コンデンサ、抵抗、赤外線および表面弾性波の技術を含むが、それらに限定されない)のいずれか、および他の近接センサアレイまたはタッチスクリーンとの1つまたは複数の接触点を確定するための他の素子を用いてその接触、移動または中断を検出できる。
I/Oデバイス1507は音声装置を備えてもよい。音声装置は、スピーカおよび/またはマイクロホンを含んでもよく、それにより音声認識、音声複製、デジタル記録および/または電話機能のような音声サポートの機能を促進する。他のI/Oデバイス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、制御モジュール306及びキャリブレーションテーブル生成器125のような上記構成要素のいずれかを示してもよい。処理ジュール/ユニット/ロジック1528は、さらにデータ処理システム1500、メモリ1503、及びプロセッサ1501により実行される期間にメモリ1503内および/またはプロセッサ1501内に完全または少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503およびプロセッサ1501も、機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェースデバイス1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に格納してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記1つまたは複数の命令セットが格納される単一の媒体または複数の媒体(例えば、集中型または分散型データベース、および/または関連するキャッシュおよびサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを格納または符号化できる任意の媒体を備えることを理解すべきであり、前記命令セットは、機械により実行され且つ前記機械に本出願の任意の1種または複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ、光学媒体および磁気媒体または任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素および他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、またはハードウェアコンポーネント(例えば、ASICS、FPGA、DSPまたは類似のデバイス)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイス内のファームウェアまたは機能性回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイスおよびソフトウェアコンポーネントの任意の組み合わせで実現されてもよい。
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素を相互接続させる任意の特定のアーキテクチャ又は方法を表すことは意図されていないことに留意されたい。それは、このような詳細が本出願の実施形態とは密接な関係がないためである。また、より少ない構成要素またはより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバおよび/または他のデータ処理システムは、本出願の実施形態と共に使用されてもよい。
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムおよび記号表現で示される。これらのアルゴリズムの説明および表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書において、アルゴリズムは、通常、所望の結果につながる首尾一貫した操作列と考えられる。これらの操作とは、物理量に対して物理的操作を行う必要となるステップを指す。
ただし、これらの用語および類似の用語の全ては、いずれも適切な物理量に関連付けられ、これらの量を標識しやすくするためのものに過ぎない。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステムまたは類似の電子式計算装置の動作および処理であり、前記コンピュータシステムまたは電子式計算装置は、コンピュータシステムのレジスタおよびメモリに物理(例えば、電子)量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリまたはレジスタまたは他のこのような情報記憶装置、伝送または表示装置内において類似に物理量として示される他のデータに変換する。
本開示の実施形態は、さらに本明細書における操作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に格納される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形態で情報を格納する任意のメカニズムを備える。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス)を備える。
上記図面に示されるプロセスまたは方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非一時的コンピュータ可読媒体に具現化される)、または両方の組み合わせを含む処理ロジックにより実行されてもよい。前記プロセスまたは方法は、本明細書において特定の順序に応じて説明されたが、前記操作の一部は、異なる順序に応じて実行されてもよいことを理解されたい。また、一部の操作は、順番ではなく並行に実行されてもよい。
本開示の実施形態は、いずれかの特定のプログラミング言語を参照することなく記載されている。複数種のプログラミング言語で本明細書に記載の本出願の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本開示の具体的な例示的な実施形態を参照しながら説明した。明らかなように、添付している特許請求の範囲に記載の本出願のより広い趣旨および範囲を逸脱しない限り、本開示に対し様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書および図面を理解すべきである。
本開示の実施形態は全体として自動運転車両の操作に関するものである。より具体的には、本開示の実施形態は所定のキャリブレーションテーブルを用いて自動運転車両を動作させることに関する。
自動運転モード(例えば、無人運転)で走行する車両は、乗員、特に運転手を一部の運転に関する責任から解放することができる。自動運転モードで操作する場合、車両は車載センサを用いて様々な位置までナビゲートされ、ヒューマンマシンインタラクションが最も少ない場合、又は乗員がいない場合などに車両を走行させることが可能となる。
移動計画及び制御は自動運転の重要な操作である。しかしながら、従来の移動計画動作は異なるタイプの車両の特徴の相違を考慮せず、主にその曲率および速度から特定の経路を完成する難しさを推定した。同じ移動計画および制御がすべてのタイプの車両に使用され、すべての道路条件を同じように扱うことで、特定の場合には間違ったりスムーズではなかったりする。
本開示は一態様として、自動運転車両(ADV)を動作させるためのコンピュータ実施方法が提供され、該方法は、ADVをADVの現在速度から目標加速度になるように駆動するための要求を受信するステップと、現在速度及び目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作を実行し、現在速度及び目標加速度にマッチングされたエントリを特定するステップであって、選択されたコマンドキャリブレーションテーブルは予め構成された複数のコマンドキャリブレーションテーブルの一つであるステップと、選択されたコマンドキャリブレーションテーブルのマッチングされたエントリから制御コマンドを取得するステップと、ADVに制御コマンドを発信して、ADVを目標加速度になるように制御するステップとを含む。
本開示は別の一態様として、命令が格納されている非一時的機械可読媒体を提供し、命令はプロセッサにより実行されるときにプロセッサに動作を実行させ、該動作は、自動運転車両(ADV)をADVの現在速度から目標加速度になるように駆動するための要求を受信するステップと、現在速度及び目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作を実行し、現在速度及び目標加速度にマッチングされたエントリを特定するステップであって、選択されたコマンドキャリブレーションテーブルは予め構成された複数のコマンドキャリブレーションテーブルの一つであるステップと、選択されたコマンドキャリブレーションテーブルのマッチングされたエントリから制御コマンドを取得するステップと、ADVに制御コマンドを発信して、ADVを目標加速度になるように制御するステップとを含む。
本開示のもう一つの態様として、自動運転車両を動作させるためのコンピュータ実施方法を提供し、該方法は、自動運転車両(ADV)に関連付けられる運転環境を周期的に確認するステップと、ADVが決定された運転環境を走行しているとき、所定の期間内に第1運転統計データセットを収集するステップと、決定された運転環境に関連付けられる複数のコマンドキャリブレーションテーブルから1セットのコマンドキャリブレーションテーブル候補を認識し、コマンドキャリブレーションテーブルのうちの各々が複数の運転環境設定のうちの1つに対応するステップと、第1運転統計データセットとコマンドキャリブレーションテーブル候補の各々から取得した第2運転統計データセットとを比較するステップと、比較結果に基づいて、コマンドキャリブレーションテーブル候補の各々の類似度スコアを算出するステップと、コマンドキャリブレーションテーブル候補のうち類似度スコアが最も高いものを選択するステップであって、選択されたコマンドキャリブレーションテーブルは、ADVを制御するために後続の制御コマンドを生成するために使用されるステップとを含む。
本開示の実施形態は添付図面の各図において限定的ではなく例示的な形態で示されており、添付図面における同じ参考符号は類似要素を示す。
一実施形態に係るネットワーク化システムを示すブロック図である。 一実施形態に係る自動運転車両の一例を示すブロック図である。 一実施形態に係る自動運転車両に併用される感知・計画システムの一例を示すブロック図である。 一実施形態に係る自動運転車両に併用される感知・計画システムの一例を示すブロック図である。 一実施形態に係る運転環境と一つまたは複数のキャリブレーションテーブルのセットとの間の関係を示すブロック図である。 一実施形態に係る運転環境カテゴリのセットを示すブロック図である。 一実施形態に係るキャリブレーションテーブルの一例を示すブロック図である。 一実施形態に係るキャリブレーションテーブルの選択プロセスを示すフローチャートである。 一実施形態に係るコマンドキャリブレーションテーブルを用いて制御コマンドを決定するプロセスを示すフローチャートである。 一実施形態に係るキャリブレーションテーブルを作成するプロセスを示すフローチャートである。 一実施形態に係るデータ処理システムを示すブロック図である。
本開示の様々な実施形態と態様は、以下で論述される詳細を参照しながら記載され、添付図面が様々な実施形態を説明する。以下の記載及び添付図面は本開示を説明するためのものであり、本開示を制限するためのものではない。多くの具体的な詳細は、本開示の様々な実施形態に対する全面的な理解を提供するために記載される。しかしながら、特定の場合において、本開示の実施形態に対する簡潔な論述を提供するために、公知又は従来技術の詳細は記載されないことがある。
本明細書において「一実施形態」又は「実施形態」の記載は、当該実施形態に記載されている特定の特徴、構成又は特性を組み合わせて本開示の少なくとも一つの実施形態に含むことができることを意味する。「一実施形態において」は、本明細書において複数のところに出現しており、全て同一の実施形態を意味するものではない。
いくつかの実施形態によれば、1セットの所定のキャリブレーションテーブルは、異なる特定運転環境に用いられる制御コマンドを調整または較正するのに役立つ。キャリブレーションテーブルは、異なる運転環境(例えば、異なる車両負荷、天気状況および路面状況など)で走行するさまざまな車両から収集された運転統計データに基づいてオフラインで作成されてもよい。所定の運転環境カテゴリごとに少なくとも1つのコマンドキャリブレーションテーブルが作成される。リアルタイムで、自動運転車両(ADV)がある期間走行して1セットの運転統計データを収集した後、運転統計データから取得した運転環境とコマンドキャリブレーションテーブルに対応する所定運転環境カテゴリとをマッチングすることによって、コマンドキャリブレーションテーブルのうちの1つが選択される。そして、選択されたコマンドキャリブレーションテーブルを使用して後続の走行周期においてルックアップ操作によってADVを運転するための制御コマンドが生成され、該コマンドをリアルタイムで算出する必要がない。
一実施形態によれば、ADVをADVの現在速度から目標加速度になるように駆動する要求に応答して、ADVの目標加速度と現在速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作が実行される。コマンドキャリブレーションテーブルにおいてルックアップ操作を実行することにより現在速度及び目標加速度にマッチングされるエントリが特定される。選択されたコマンドキャリブレーションテーブルは、予め構成されたコマンドキャリブレーションテーブルのうちの1つである。各々のコマンドキャリブレーションテーブルには複数のエントリが含まれ、各々のエントリでは、特定速度及び発信した特定制御コマンドが、該制御コマンドに応答して車両から取得した特定加速度にマッピングされている。制御コマンドは選択されたコマンドキャリブレーションテーブルのマッチングされたエントリから取得される。取得した制御コマンドはADVを制御するためにADVに送信されて、同じコマンドをリアルタイムで算出する必要がなく、該リアルタイム算出はリソースを消耗し且つ時間を無駄にする可能性がある。
一実施形態では、コマンドキャリブレーションテーブルのうちの各々は、例えば、天気状況(例えば、乾燥又は湿潤)、路面状況(例えば、平坦又は粗い)、及び車両の負荷状況(タイヤ空気圧で表示可能)などの特定の運転環境又は運転状況に関連付けられる。すなわち、コマンドキャリブレーションテーブルの各々は天気状況、路面状況及び負荷状況の特定の組み合わせに対応する。例えば、第1の運転状況は乾燥道路、平坦な路面及び零負荷状況(例えば、運転者一人のみで他に負荷がない)を含むことができ、第2の運転状況は、濡れた道路、平坦な路面及び50kgの負荷状況等であってもよい。各コマンドキャリブレーションテーブルは、コマンドキャリブレーションテーブルに関連付けられる特定の運転環境を走行している一つまたは複数の車両から収集された運転統計データに基づいて作成される。これは、発信された様々な制御コマンドを収集すること、及び車両からのフィードバックまたは応答、例えば、様々な時点における速度および加速度を測定することを含む。
一実施形態では、選択されたコマンドキャリブレーションテーブルは、動的時点における運転状況に基づいて、コマンドキャリブレーションテーブルプールから周期的に選択される。運転状況が変化する場合、後続の制御コマンドを決定するために、異なるコマンドキャリブレーションテーブルが選択され得る。一実施形態によれば、プールからコマンドキャリブレーションテーブルが選択されるとき、第1運転統計データセットは、ADVが特定の運転環境を走行しているときのある期間内にADVから収集されたものである。現在の運転環境に関連付けられるコマンドキャリブレーションテーブルプールから、1セットのコマンドキャリブレーションテーブル候補が識別される。第1運転統計データセット(例えば、速度、制御コマンド、加速度)は、コマンドキャリブレーションテーブル候補の各々から取得された第2運転統計データセットと比較される。比較結果に基づいて、各コマンドキャリブレーションテーブル候補の類似度スコアが算出される。類似度スコアは、リアルタイムに収集された運転統計データと、キャリブレーションテーブルに予め確定されて格納された運転統計データとの類似度を表す。そして、コマンドキャリブレーションテーブル候補のうち、類似度スコアが最も高いものが選択される。
一実施形態では、選択されたコマンドキャリブレーションテーブルのルックアップ動作を実行するプロセスと、コマンドキャリブレーションテーブルを選択するプロセスは、異なる実行スレッドを使用して達成することができ、異なる実行スレッドは、異なるプロセッサによって実行されてもよく、又は同じプロセッサの異なるプロセッサコアによって実行されてもよい。
図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は、一つ以上のカメラ211、全地球測位システム(GPS)ユニット212、慣性計測ユニット(IMU)213、レーダユニット214並びに光検出・測距(LIDAR)ユニット215を含むが、これらに限定されない。GPSシステム212は、自動運転車両の位置に関する情報を提供するように操作可能な送受信機を含んでもよい。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置及び方位変化を感知することができる。レーダユニット214は、無線信号を用いて自動運転車両のローカル環境におけるオブジェクトを感知するシステムを表してもよい。いくつかの実施形態において、オブジェクトを感知することに加えて、レーダユニット214は、更にオブジェクトの速度及び/又は進行方向を感知することもできる。LIDARユニット215は、自動運転車両が位置する環境におけるオブジェクトをレーザで感知することができる。他のシステム構成要素に加えて、LIDARユニット215は、更に一つ以上のレーザ光源、レーザスキャナ及び一つ以上の検出器を含んでもよい。カメラ211は、自動運転車両の周囲環境における画像を取り込むための一つ以上の装置を含んでもよい。カメラ211は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動可能なものであってもよい。
センサシステム115は更に他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ及びオーディオセンサ(例えば、マイクロホン)を含んでもよい。オーディオセンサは、自動運転車両の周囲の環境から音声を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイールの操舵角、車両の車輪の転舵角又はこれらの組み合わせを感知するように構成されてもよい。スロットルセンサ及びブレーキセンサはそれぞれ車両のスロットル位置及びブレーキ位置を感知する。ある場合に、スロットルセンサ及びブレーキセンサは集積型スロットル/ブレーキセンサとして統合されてもよい。
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットともいう)及びブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット203は、摩擦を提供することによって車両の車輪又はタイヤを減速させることで、車両を減速させる。注意すべきことは、図2に示された構成要素は、ハードウェア、ソフトウェア又はこれらの組み合わせで実施することができる。
再び図1を参照し、無線通信システム112は、自動運転車両101と、装置、センサ、他の車両などのような外部システムとの通信を可能にする。例えば、無線通信システム112は、直接又は通信ネットワークを介して一つ以上の装置と無線通信することができ、例えば、ネットワーク102を介してサーバ103〜104と通信することができる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)を使用して、例えばWi−Fi(登録商標)を使用して他の構成要素又はシステムと通信することができる。無線通信システム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に基づいて、様々な目的に応じてルールセット、アルゴリズム及び/又は予測モデル124を生成するか又は訓練する。一実施形態では、アルゴリズム124は、感知、計画、および制御プロセスのためのアルゴリズムを含むことができ、これらは後でさらに詳細に説明される。次に、アルゴリズム124は、自動運転期間中にリアルタイムで使用するために、ADVにアップロードすることができる。
また、一実施形態によれば、サーバ103は、同じ又は類似の運転環境下で収集された特定の運転統計データ123に基づいて、異なる運転環境又は運転状況での複数のキャリブレーションテーブルを生成するように構成されたキャリブレーションテーブル生成器125を維持することができる。例えば、1台以上の車両は、特定の運転環境カテゴリ(例えば、乾燥道路、粗い路面、50kgの負荷)で走行することができる。走行期間中に異なる時点における運転統計データ(例えば、コマンドに応答した車両の速度、発信したコマンド、及び加速度)を測定及び収集することができる。その後、同じまたは類似の運転状況下で収集された運転統計データはキャリブレーションテーブルに取り込まれ、この例では、同じまたは類似の運転環境下でコマンドを較正するように構成されたコマンドキャリブレーションテーブルに取り込まれる。
複数の所定の運転環境カテゴリが存在し、これは(例えば、天気状況、路面状況、及び負荷状況など)特定の運転パラメータを使用して予め限定されたものである。運転環境(運転状況とも呼ばれる)は、他のパラメータを使用して限定されてもよい。図4に示すように、各々の所定の運転環境に対して、少なくとも1つのコマンドキャリブレーションテーブルが作成される。
図4を参照すると、1セットの所定の運転環境400に対し、コマンドキャリブレーションテーブルは、同じまたは類似の運転環境を走行する一つまたは複数の車両から収集された運転統計データに基づいて作成される。この例では、運転環境401〜403はそれぞれコマンドキャリブレーションテーブル411〜413に関連付けられている。残りの運転環境と比較して、所定の運転環境401〜403のそれぞれは一意的なものである。
ここで図5を参照すると、一実施形態では、運転環境は天気状況501、路面状況502、タイヤ空気圧状況503、及び/又は負荷状況504の少なくとも3つのパラメータによって限定される。これらは運転環境を限定するパラメータの例の一部に過ぎておらず、他の要因も使用および考慮され得る。天気状況501は、1)乾燥道路状態、及び2)湿潤道路状態を含むことができる。路面状況502は、1)平坦な表面、2)粗い表面、及び3)混合表面を含むことができる。タイヤ空気圧状況503は、1)高圧力、2)正常圧力、および3)低圧力を含むことができる。タイヤ空気圧は直接的または間接的に現在の車両負荷を表すことができる。代替的に、タイヤ空気圧状況は単に(人間の運転者を除く)負荷のない場合のタイヤの空気圧を指す。この構成では、運転環境は負荷状況パラメータ(例えば、50、100、150、…、1000kg)をさらに含むことができる。代替的に、天気状況、路面状況及びタイヤ空気圧状況によって限定される各運転環境に対して、1セットのコマンドキャリブレーションテーブルが存在する。該セット内の各キャリブレーションテーブルは特定の負荷に関連付けられる。
これらのパラメータは、カメラや圧力センサなどの適切なセンサを用いて測定及び確定することができる。したがって、上記環境パラメータの特定の組み合わせによって表される複数の運転環境インスタンスが存在することになる。例えば、第1運転環境は、乾燥道路、平坦路面、および高タイヤ空気圧の組み合わせであってもよく、第2運転環境は、乾燥道路、粗い路面、および高タイヤ空気圧など(場合によって、負荷を有する状況)の組み合わせに基づいて限定されてもよい。図6に示すように、各々の所定の運転環境に対して、少なくとも1つのコマンドキャリブレーションテーブルが存在する。
図6を参照すると、コマンドキャリブレーションテーブル600は、図4に示されているキャリブレーションテーブル411〜413のいずれかを表すことができる。キャリブレーションテーブル600は複数のエントリを含む。各エントリは、制御コマンド601の種類によって特定の制御コマンド601および速度602を加速度603または操舵角604にマッピングする。これらのデータは上述した同じまたは類似の対応する運転環境で走行している1台または複数の車両から捕捉及び収集されたものである。制御コマンド601は、現在の速度602で発信されたスロットルコマンド又はブレーキコマンドであってもよい。車両からの応答は加速度603であってもよく、ここで、正の値は加速度を表し、負の値は減速度を表す。制御コマンド601はステアリングコマンドであってもよく、車両の応答は現在の操舵角からの操舵角604であってもよい。場合によって、別個のキャリブレーションテーブルはスロットル/ブレーキコマンドおよびステアリングコマンドに使用されてもよい。その後、キャリブレーションテーブルは、自動運転期間中にリアルタイムで制御コマンドを較正するために、自動運転車両(例えば、図3A〜図3Bのキャリブレーションテーブル314)にアップロードされてもよい。
図3A〜図3Bは一実施形態に係る自動運転車両に併用される感知・計画システムの一例を示すブロック図である。システム300は、図1の自動運転車両101の一部として実現されてもよく、感知・計画システム110、制御システム111及びセンサシステム115を含むが、これらに限定されない。図3A〜図3Bを参照すると、感知・計画システム110は、測位モジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、ルーティングモジュール307及びコマンドキャリブレーター308を含むが、これらに限定されない。
モジュール301〜308のうちの一部又は全部は、ソフトウェア、ハードウェア又はこれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、且つ一つ以上のプロセッサ(図示せず)により実行されてもよい。注意すべきことは、これらのモジュールのうちの一部又は全部は、図2の車両制御システム111の一部又は全部のモジュールに通信可能に接続されるか、又はそれらと一体に統合されてもよい。モジュール301〜308のうちの一部は集積モジュールとして一体に統合されてもよい。例えば、コマンドキャリブレーター308は、計画モジュール305及び/又は制御モジュール306の一部として統合されてもよい。
測位モジュール301は、(例えば、GPSユニット212を利用して)自動運転車両300の現在の位置を確定するとともに、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール301(地図及びルーティングモジュールともいう)は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして旅程の出発地及び目的地を指定することができる。測位モジュール301は、自動運転車両300における地図・ルート情報311のような他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール301は、位置サーバ並びに地図・POI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及び特定位置のPOIを提供し、これらは地図及びルート情報311の一部としてキャッシュされ得る。自動運転車両300がルートに沿って移動するとき、測位モジュール301も交通情報システム又はサーバからリアルタイム交通情報を取得することもできる。
感知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得された測位情報とに基づいて、周囲環境への感知を決定する。感知情報は、一般の運転手が運転手により運転されている車両の周囲において感知すべきものを示すことができる。感知は、例えば、オブジェクト形式を採用した車線構成、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含むことができる。車線構成は、例えば、車線の形状(例えば、直線または湾曲)、車線の幅、道路内の車線数、一方向または二方向車線、合流または分岐車線、退出車線などのような、1つまたは複数の車線を記述する情報を含む。
感知モジュール302は、一つ以上のカメラにより収集された画像を処理、解析して、自動運転車両の環境におけるオブジェクト及び/又は特徴を認識するために、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描画し、オブジェクトを追跡し、及びオブジェクトの速度を推定することなどができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサにより提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
各オブジェクトについて、予測モジュール303は、該オブジェクトがこの状況で何を表現するかを予測する。予測は、地図/ルート情報311と交通ルール312のセットに応じて、該時点における運転環境が感知された感知データに基づいて実行される。例えば、オブジェクトが反対方向における車両で、且つ現在の運転環境に交差点が含まれている場合に、予測モジュール303は車両が前方に直進するか又はカーブ走行するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があり得ることを予測することができる。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール303は、車両が左折又は右折しようとする可能性がより高いことをそれぞれ予測することができる。
各オブジェクトに対して、決定モジュール304はオブジェクトをどのように対応するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、曲がり角)について、決定モジュール304は前記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のルールセットに基づいてこのような決定を下すことができ、前記ルールセットは永続性記憶装置352に格納されてもよい。
ルーティングモジュール307は、出発地点から目的地点までの一つ以上のルート又は経路を提供するように構成される。例えば、ユーザから受け取った出発位置から目的地位置までの所定の旅程に対して、ルーティングモジュール307は地図・ルート情報311を取得して、出発位置から目的地位置に到着する全ての可能なルート又は経路を決定する。ルーティングモジュール307は、決定された出発位置から目的地位置に到達するまでの経路の各々に使用される基準線を地形図の形態で生成することができる。基準線は、他の車両、障害物又は交通状況などのような他の物事によって何ら干渉されることのない、理想的なルート又は経路を指す。即ち、路面に他の車両、歩行者又は障害物が存在しなければ、ADVは基準線に完全に又は緊密に従うべきである。そして、地形図が決定モジュール304及び/又は計画モジュール305に提供される。他のモジュールから提供された他のデータ(例えば、測位モジュール301からの交通状況、感知モジュール302により感知された運転環境及び予測モジュール303により予測された交通状況)に基づいて、決定モジュール304及び/又は計画モジュール305は、全ての可能なルートを検査して最適ルートのうちの一つを選択して補正する。ADVを制御するための実際のルート又は経路は、ルーティングモジュール307から提供された基準線に近接するか又は異なっていてもよく、これはその時点における特定運転環境によって決定される。
計画モジュール305は、感知されたオブジェクトのそれぞれに対する決定に基づいて、ルーティングモジュール307により提供された基準線を基準にして、自動運転車両のために経路又はルート並びに運転パラメータ(例えば、距離、速度及び/又は曲がり角)を計画する。すなわち、所定のオブジェクトについて、決定モジュール304は当該オブジェクトに対して何をするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、所定のオブジェクトについて、決定モジュール304は前記オブジェクトを追い抜くかを決定することができ、計画モジュール305は前記オブジェクトを左側から追い抜くかそれとも右側から追い抜くかを決定することができる。計画及び制御データは計画モジュール305により生成され、車両300が次の移動周期(例えば、次のルート/経路区間)にはどのように移動するかを記述する情報を含む。例えば、計画及び制御データは、車両300が30マイル/時間(mph)の速度で10メートル移動し、その後25mphの速度で右側車線に変更するように指示することができる。
制御モジュール306は、計画及び制御データに基づいて、計画及び制御データにより限定されたルート又は経路に応じて適当なコマンド又は信号を車両制御システム111に送信することにより自動運転車両を制御しながら運転する。前記計画及び制御データは、経路又はルートに沿って異なる時点で適切な車両構成又は運転パラメータ(例えば、スロットル、ブレーキ、及びステアリングコマンド)を使用して、車両をルート又は経路の第1の点から第2の点まで運転するのに十分な情報を含む。
一実施形態では、計画段階は、例えば、時間間隔が100ミリ秒(ms)の周期など、複数の計画周期(運転周期とも言われる)で実行される。計画周期又は運転周期のそれぞれについて、計画データ及び制御データに基づいて一つ以上の制御コマンドが発信される。すなわち、100msごとに、計画モジュール305は、例えば、目標位置及びADVが目標位置に到着するのに必要な時間を含む次のルート区間又は経路区間を計画する。あるいは、計画モジュール305は更に具体的な速度、方向及び/又は操舵角などを指定することもできる。一実施形態では、計画モジュール305は、(例えば、5秒など)次の所定期間のためにルート区間又は経路区間を計画する。各計画周期について、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)の目標位置を計画する。次に、制御モジュール306は、現在の周期の計画データ及び制御データに基づいて、一つ以上の制御コマンド(例えば、スロットルコマンド、ブレーキコマンド、ステアリング制御コマンド)を生成する。
注意すべきことは、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車両の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線に基づく経路に沿って進行するとともに、感知された障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を経由して行われたユーザ入力に応じて設定されることができる。ナビゲーションシステムは、自動運転車両が走行していると同時に運転経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を決定するために、GPSシステム及び一つ以上の地図からのデータをマージすることができる。
一実施形態によれば、データコレクタ(図示せず)は、ADV300が道路を通って走行している間、様々なセンサ及びモジュールから様々なデータを収集するとともに、運転統計データ313の一部としてデータを格納するように構成される。上述したように、運転統計データは、速度、操舵角(例えば、進行方向)、発信された制御コマンド及び異なる時点における車両の応答を含む。所定の期間以降、収集された運転統計データ313は、コマンドキャリブレーションテーブル314の対応する統計データとマッチングするために使用され、その後の制御コマンドの較正のために、指定されたコマンドキャリブレーションテーブルとしてキャリブレーションテーブルの1つを選択する。
一実施形態では、ルックアップ操作は、統計データ(例えば、速度、コマンド、および該コマンドに応答する車両応答)の各サブセットについて、各コマンドキャリブレーションテーブル内で実行される。リアルタイムに収集されたデータとキャリブレーションテーブルに格納されたデータとの差に基づいて、各キャリブレーションテーブルの類似度スコアが算出される。最も高い類似度スコアを有するキャリブレーションテーブルが、後続のコマンド較正のために選択される。
一実施形態では、所定のコマンドキャリブレーションテーブルについて、検索が実行されることで、コマンドキャリブレーションテーブルにおける、サブセットのリアルタイムで測定された速度および発信されたコマンドにマッチングされるエントリが特定される。リアルタイムで測定された車両応答(例えば、加速度、操舵角)を、マッチングされたエントリから取得された以前収集された応答と比較して、サブセットとマッチングされたエントリとの間の差を確定する。統計データのすべてのサブセットについて、すべてのサブセットの実際のデータとキャリブレーションテーブルに格納されたデータとの間の平均差が算出される。平均差が最も小さいキャリブレーションテーブルが選択され、該キャリブレーションテーブルは最も高い類似度スコアを有する。
例えば、キャリブレーションテーブル選択プロセスは、車両を所定の時間、例えば1分間走行させる。この間、車両の運転統計データを収集し運転統計データ313の一部として記録する。一実施形態では、運転周期ごとに、すなわち、100msごとに統計データのサブセットを収集し、該サブセットは、少なくとも現在速度/操舵角、発信された制御コマンドおよび該時点で発信された制御コマンドに応答する車両応答(例えば、加速度または操舵角)を含む。全時間帯(この例では1分間)には、600のデータのサブセットが存在することになる。これらのデータのサブセットは、上述の少なくともいくつかの技術を使用してリアルタイムに収集された統計データのサブセットに最も類似するコマンドキャリブレーションテーブルのうちの1つを識別するように、各々の事前構成されたコマンドキャリブレーションテーブルのマッチングに使用される。目標は、選択されたキャリブレーションテーブルから導出されたコマンドが現在の運転環境に最適であるように、現在の運転環境に関連するか、または現在の運転環境に近いキャリブレーションテーブルを見つけることである。
具体的には、与えられたコマンドキャリブレーションテーブルのうちの1つについて、600のデータのサブセットの各々は、例えば、速度/操舵角と、発信された制御コマンドとを比較することによって、コマンドキャリブレーションテーブルの各エントリに格納されたデータとの比較に使用される。リアルタイムで収集された応答(例えば、加速度、操舵角)をマッチングされたエントリからの対応する応答と比較して差を確定する。同じコマンドキャリブレーションテーブルについて600の統計データのサブセットを全て処理した後、対応するコマンドキャリブレーションテーブルについて、リアルタイムで測定された応答とマッチングされたエントリからの予め記録された応答との間の平均差を算出する。その後、平均差に基づいて類似度スコアを算出し、例えば、より低い平均差はより高い類似度スコアを生成する。
一実施形態では、上記のキャリブレーションテーブル選択プロセスは、該時点で確定された運転環境に対する最適なコマンドキャリブレーションテーブルを識別するために、周期的に実行される。運転環境の変化に伴って、異なるコマンドキャリブレーションテーブルが選択され得る。
一旦、その時点での特定の運転環境についてのコマンドキャリブレーションテーブルが選択されると、その後の(例えば、次の運転周期から始まる)制御コマンドは、選択されたコマンドキャリブレーションテーブルを使用して、ルックアップ操作によって決定され得る。したがって、リソースを消費して時間を浪費する可能性のある特定のコマンドの計算をその時点で行う必要がなく、ルックアップ操作によって適切なコマンドを迅速に確定することができる。
一実施形態では、図6に戻って参照すると、ADVを現在の速度から目標加速度(または、操舵角)になるように駆動するための要求が受信されると、速度および目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいて、ルックアップ操作が実行され、現在の速度および目標加速度にそれぞれ相対的にマッチングされる速度602および加速度603を有するエントリが特定される。マッチングされたエントリのフィールド601から制御コマンド(例えば、スロットルコマンド又はブレーキコマンド)が取得される。その後、ADVを制御するための制御コマンドを発信し、リアルタイムで該制御コマンドを算出する必要がない。同様のプロセスをステアリング操作にも利用でき、現在の操舵角602および目標操舵角604をそれぞれマッチングして、現在の速度と目標操舵角とに基づいてステアリングコマンドを確定することができる。ルックアップ操作を比較的高速に行うことができるため、制御コマンドの確定に要する時間やリソースを大幅に削減することができる。なお、フィールド603及び604を1つのフィールドに統合して、フィールド601のコマンドの種類(例えば、スロットルコマンド、ステアリングコマンド)に応じて目標加速度又は目標操舵角を格納してもよい。
なお、コマンドキャリブレーションテーブルを選択するプロセスと、選択されたコマンドキャリブレーションテーブルを用いて制御コマンドを確定するプロセスとは、異なる実行スレッドで実行されてもよい。
図7は、一実施形態に係る、現在の運転環境に基づいてコマンドキャリブレーションテーブルを確定および選択するプロセスを示すフローチャートである。プロセス700は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。例えば、プロセス700は、コマンドキャリブレーター308によって実行され得る。図7を参照すると、動作701において、処理ロジックは、ADVの所定時間帯(例えば、1分間)の運転統計データ(例えば、速度、加速度)を測定及び収集する。動作702では、処理ロジックは、該時点でのADVに関連する運転環境(例えば、天気状況、路面状況など)を選択的に確定する。
動作703において、予め構成された各コマンドキャリブレーションテーブル(選択的に該時点で確定された運転環境に関連付けられている)について、処理ロジックは、その時点で測定された運転統計データを、コマンドキャリブレーションテーブルに格納された対応する運転統計データと比較する。動作704において、処理ロジックは、動的測定データと事前に格納されたデータとの間の比較結果に基づいて、コマンドキャリブレーションテーブルの類似度スコアを算出する。類似度スコアは、その時点で収集されたデータと、予め収集されてテーブルに格納されているデータとの間の類似度を表す。
一実施形態では、動的に収集されたデータは、ある期間にわたって収集されてもよく、例えば、1分間以内に100msごとに1つのデータサブセットが記録される。データサブセットの各々について、データサブセットと、コマンドキャリブレーションテーブルに格納された対応するデータサブセットの各々との間の差が比較される。データサブセットのすべての差に基づいて平均差が算出され、該平均差はその特定のコマンドキャリブレーションテーブルの類似度スコアの確定に使用される。例えば、サブセットの所与の速度および発信された所与のスロットルコマンドについて、車両の実際の加速度は、速度およびスロットルコマンドに相対的にマッチングされるキャリブレーションテーブルのエントリに記録された加速度と比較される。実際の加速度と事前記録された加速度との差を算出する。
動作705では、処理ロジックは、最も高い類似度スコアを有するコマンドキャリブレーションテーブルの1つを選択して、その後の自動運転中における制御コマンドの確定に使用する。プロセス700は、運転環境の変化に応じて異なるコマンドキャリブレーションテーブルを選択するべきか否かを判定するために、周期的に実行され得る。
図8は、一実施形態に係る自動運転車両を操作するための制御コマンドを確定するプロセスを示すフローチャートである。プロセス800は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。例えば、プロセス800は、コマンドキャリブレーター308によって実行され得る。図8を参照すると、動作801において、処理ロジックは、ADVを現在速度から目標加速度になるように、または現在速度からある時間内に目標速度になるように駆動するための要求を受信する。該要求は計画モジュール305から受信され得る。該要求に応答して、動作802において、現在速度及び目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作を実行することにより、速度及び目標加速度に相対的にマッチングされるエントリが特定される。選択されたコマンドキャリブレーションテーブルは複数のエントリを含む。各エントリにはいずれも速度、制御コマンド、および加速度データのセットが格納される。図7のプロセス700は、選択されたコマンドキャリブレーションテーブルを選択するために使用され得る。動作803において、マッチングされたエントリから制御コマンドが取得され、その後、動作804において、ADVが目標加速度になるようにADVに制御コマンドが発信される。
図9は、一実施形態に係るキャリブレーションテーブルを作成するプロセスを示すフローチャートである。プロセス900は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。プロセス900は、図1のキャリブレーションテーブル生成器125によって実行され得る。図9を参照すると、動作901において、処理ロジックは、複数の運転環境カテゴリ(例えば、天気状況、路面状況、タイヤ空気圧状況、負荷状況)を定義する。運転環境カテゴリのそれぞれについては、動作902において、1台または複数の車両の運転統計データが収集され、該運転統計データは、車両が同じまたは類似の運転環境を走行しているときに収集され得る。動作903において、運転環境カテゴリに対しキャリブレーションテーブルが作成される。キャリブレーションテーブルは複数のエントリを含む。各エントリには、車両の速度、発信された制御コマンド、および発信された制御コマンドに応答する車両応答データ(たとえば、加速度、操舵角)のセットが格納される。キャリブレーションテーブルは、車両の自動運転中にリアルタイムで制御コマンドを確定するために使用され得る。
なお、上記の構成要素の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合わせにより実現できることを理解されたい。例えば、このような構成要素は、永続性記憶装置にインストールされ且つ格納されたソフトウェアとして実現でき、前記ソフトウェアは、プロセッサ(図示せず)でメモリにロードされ且つ実行されることにより、本出願の全体にわたって説明されるプロセスまたは動作を実行する。あるいは、このような構成要素は専用ハードウェア(例えば、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)またはフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされまたは埋め込まれた実行可能なコードとして実現されてもよく、前記実行可能なコードは対応するドライバーおよび/またはオペレーティングシステムによってアプリケーションからアクセスできる。また、このような構成要素は、プロセッサまたはプロセッサコアにおける特定ハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が1つまたは複数の特定命令によってアクセスされる命令セットの一部となる。
図10は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記プロセスまたは方法のいずれかを実行する上記任意のデータ処理システム、例えば、図1の感知・計画システム110またはサーバ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(登録商標)オペレーティングシステム、アップル社のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、Linux(登録商標)、Unix(登録商標)または他のリアルタイムまたは組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、更に、ネットワークインターフェースデバイス1505、任意選択入力デバイス1506、及びその他の任意選択I/Oデバイス1507を含むデバイス1505〜1508のようなI/Oデバイスを含むことができる。ネットワークインターフェースデバイス1505は、無線送受信機および/またはネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、Wi−Fi(登録商標)送受信機、赤外線送受信機、ブルートゥース(登録商標)送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)または他の無線周波数(RF)送受信機またはそれらの組合せであってもよい。NICはイーサネット(登録商標)カードであってもよい。
入力デバイス1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と一体化されてもよい)、ポインタデバイス(例えばスタイラス)および/またはキーボード(例えば、物理キーボードまたはタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力デバイス1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーンおよびタッチスクリーンコントローラは、例えば、複数種のタッチ感応技術(コンデンサ、抵抗、赤外線および表面弾性波の技術を含むが、それらに限定されない)のいずれか、および他の近接センサアレイまたはタッチスクリーンとの1つまたは複数の接触点を確定するための他の素子を用いてその接触、移動または中断を検出できる。
I/Oデバイス1507は音声装置を備えてもよい。音声装置は、スピーカおよび/またはマイクロホンを含んでもよく、それにより音声認識、音声複製、デジタル記録および/または電話機能のような音声サポートの機能を促進する。他のI/Oデバイス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、制御モジュール306及びキャリブレーションテーブル生成器125のような上記構成要素のいずれかを示してもよい。処理ジュール/ユニット/ロジック1528は、さらにデータ処理システム1500、メモリ1503、及びプロセッサ1501により実行される期間にメモリ1503内および/またはプロセッサ1501内に完全または少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503およびプロセッサ1501も、機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェースデバイス1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に格納してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記1つまたは複数の命令セットが格納される単一の媒体または複数の媒体(例えば、集中型または分散型データベース、および/または関連するキャッシュおよびサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを格納または符号化できる任意の媒体を備えることを理解すべきであり、前記命令セットは、機械により実行され且つ前記機械に本出願の任意の1種または複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ、光学媒体および磁気媒体または任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素および他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、またはハードウェアコンポーネント(例えば、ASICS、FPGA、DSPまたは類似のデバイス)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイス内のファームウェアまたは機能性回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイスおよびソフトウェアコンポーネントの任意の組み合わせで実現されてもよい。
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素を相互接続させる任意の特定のアーキテクチャ又は方法を表すことは意図されていないことに留意されたい。それは、このような詳細が本出願の実施形態とは密接な関係がないためである。また、より少ない構成要素またはより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバおよび/または他のデータ処理システムは、本出願の実施形態と共に使用されてもよい。
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムおよび記号表現で示される。これらのアルゴリズムの説明および表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書において、アルゴリズムは、通常、所望の結果につながる首尾一貫した操作列と考えられる。これらの操作とは、物理量に対して物理的操作を行う必要となるステップを指す。
ただし、これらの用語および類似の用語の全ては、いずれも適切な物理量に関連付けられ、これらの量を標識しやすくするためのものに過ぎない。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステムまたは類似の電子式計算装置の動作および処理であり、前記コンピュータシステムまたは電子式計算装置は、コンピュータシステムのレジスタおよびメモリに物理(例えば、電子)量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリまたはレジスタまたは他のこのような情報記憶装置、伝送または表示装置内において類似に物理量として示される他のデータに変換する。
本開示の実施形態は、さらに本明細書における操作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に格納される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形態で情報を格納する任意のメカニズムを備える。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス)を備える。
上記図面に示されるプロセスまたは方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非一時的コンピュータ可読媒体に具現化される)、または両方の組み合わせを含む処理ロジックにより実行されてもよい。前記プロセスまたは方法は、本明細書において特定の順序に応じて説明されたが、前記操作の一部は、異なる順序に応じて実行されてもよいことを理解されたい。また、一部の操作は、順番ではなく並行に実行されてもよい。
本開示の実施形態は、いずれかの特定のプログラミング言語を参照することなく記載されている。複数種のプログラミング言語で本明細書に記載の本出願の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本開示の具体的な例示的な実施形態を参照しながら説明した。明らかなように、添付している特許請求の範囲に記載の本出願のより広い趣旨および範囲を逸脱しない限り、本開示に対し様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書および図面を理解すべきである。

Claims (21)

  1. 自動運転車両(ADV)を動作させるためのコンピュータ実施方法であって、前記方法は、
    前記ADVを前記ADVの現在速度から目標加速度になるように駆動するための要求を受信するステップと、
    前記現在速度及び前記目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作を実行し、前記現在速度及び前記目標加速度にマッチングされたエントリを特定するステップであって、選択されたコマンドキャリブレーションテーブルは予め構成された複数のコマンドキャリブレーションテーブルの一つであるステップと、
    選択されたコマンドキャリブレーションテーブルのマッチングされたエントリから制御コマンドを取得するステップと、
    前記ADVに前記制御コマンドを発信して、前記ADVを前記目標加速度になるように制御するステップとを含む
    自動運転車両(ADV)を動作させるためのコンピュータ実施方法。
  2. 前記コマンドキャリブレーションテーブルの各々は、前記ADVが走行している道路が濡れているか乾燥しているかを示す天気状況、前記道路の路面状況、及び前記ADVの現在負荷状況を示すタイヤ空気圧を含む所定の運転環境に関連付けられる、
    請求項1に記載の方法。
  3. 前記複数のコマンドキャリブレーションテーブルの各々は、前記天気状況、前記路面の粗さおよび前記タイヤ空気圧の特定の組み合わせに対応する、
    請求項2に記載の方法。
  4. 前記コマンドキャリブレーションテーブルに関連付けられる特定の運転環境で走行している車両から収集された運転統計データに基づいて、前記複数のコマンドキャリブレーションテーブルの各々が作成され、発信された異なる制御コマンドの取得、並びに前記車両の異なる時点での速度及び加速度の測定が含まれる、
    請求項1に記載の方法。
  5. 前記ADVに関連付けられる運転環境を周期的に確認するステップと、
    前記運転環境に基づいて、複数のコマンドキャリブレーションテーブルから1つを選択されたコマンドキャリブレーションテーブルとして選択するステップであって、前記コマンドキャリブレーションテーブルの各々が複数の運転環境設定のうちの1つに対応するステップとをさらに含む、
    請求項1に記載の方法。
  6. ルックアップ操作を実行して制御コマンドを発信するステップは、第1実行スレッドによって実行され、
    運転環境を周期的に確認して複数のコマンドキャリブレーションテーブルから1つを選択されたコマンドキャリブレーションテーブルとして選択するステップは、第2実行スレッドによって実行される、
    請求項5に記載の方法。
  7. 前記運転環境に基づいて、複数のコマンドキャリブレーションテーブルから1つを選択されたコマンドキャリブレーションテーブルとして選択するステップは、
    前記ADVが決定された運転環境で走行するときに、所定の時間内に第1運転統計データセットを収集するステップと、
    決定された運転環境に関連付けられる複数のコマンドキャリブレーションテーブルから、1セットのコマンドキャリブレーションテーブル候補を識別するステップと、
    前記第1運転統計データセットと前記コマンドキャリブレーションテーブル候補の各々から取得した第2運転統計データセットとを比較するステップと、
    比較結果に基づいて、前記コマンドキャリブレーションテーブル候補の各々の類似度スコアを算出するステップと、
    前記コマンドキャリブレーションテーブル候補のうち類似度スコアが最も高いものを、選択されたコマンドキャリブレーションテーブルとして選択するステップとを含む、
    請求項5に記載の方法。
  8. 前記第1運転統計データセットと第2運転統計データセットとを比較して類似度スコアを算出するステップは、
    特定の時点で測定された前記第1運転統計データセットの各サブセットについて、
    第1速度、発信された第1制御コマンドおよび測定された車両からの第1応答を取得するステップと、
    コマンドキャリブレーション候補においてルックアップ操作を実行して前記第1速度および前記第1制御コマンドに相対的にマッチングされる第2速度および第2制御コマンドを有するエントリを特定するステップと、
    前記第1応答と、マッチングされたエントリから取得した第2応答との間の差を算出するステップと、
    リアルタイムで測定された応答と、前記コマンドキャリブレーションテーブル候補からの予め記録された応答との間の平均差に基づいて、前記コマンドキャリブレーションテーブル候補の類似度スコアを算出するステップとを含む、
    請求項7に記載の方法。
  9. 命令が格納されている非一時的機械可読媒体であって、前記命令はプロセッサにより実行されるときに前記プロセッサに動作を実行させ、前記動作は、
    自動運転車両(ADV)を前記ADVの現在速度から目標加速度になるように駆動するための要求を受信するステップと、
    前記現在速度及び前記目標加速度に基づいて、選択されたコマンドキャリブレーションテーブルにおいてルックアップ操作を実行し、前記現在速度及び前記目標加速度にマッチングされたエントリを特定するステップであって、選択されたコマンドキャリブレーションテーブルは予め構成された複数のコマンドキャリブレーションテーブルの一つであるステップと、
    選択されたコマンドキャリブレーションテーブルのマッチングされたエントリから制御コマンドを取得するステップと、
    前記ADVに前記制御コマンドを発信して、前記ADVを前記目標加速度になるように制御するステップとを含む、
    非一時的機械可読媒体。
  10. 前記コマンドキャリブレーションテーブルの各々は、前記ADVが走行している道路が濡れているか乾燥しているかを示す天気状況、前記道路の路面状況、及び前記ADVの現在負荷状況を示すタイヤ空気圧を含む所定の運転環境に関連付けられる、
    請求項9に記載の機械可読媒体。
  11. 前記複数のコマンドキャリブレーションテーブルの各々は、前記天気状況、前記路面の粗さおよび前記タイヤ空気圧の特定の組み合わせに対応する、
    請求項10に記載の機械可読媒体。
  12. 前記コマンドキャリブレーションテーブルに関連付けられる特定の運転環境で走行している車両から収集された運転統計データに基づいて、前記複数のコマンドキャリブレーションテーブルの各々が作成され、発信された異なる制御コマンドの取得、並びに前記車両の異なる時点での速度及び加速度の測定が含まれる、
    請求項9に記載の機械可読媒体。
  13. 前記動作は、
    前記ADVに関連付けられる運転環境を周期的に確認するステップと、
    前記運転環境に基づいて、複数のコマンドキャリブレーションテーブルから1つを選択されたコマンドキャリブレーションテーブルとして選択するステップであって、前記コマンドキャリブレーションテーブルの各々が複数の運転環境設定のうちの1つに対応するステップとをさらに含む、
    請求項9に記載の機械可読媒体。
  14. ルックアップ操作を実行して制御コマンドを発信するステップは、第1実行スレッドによって実行され、
    運転環境を周期的に確認して複数のコマンドキャリブレーションテーブルから1つを選択されたコマンドキャリブレーションテーブルとして選択するステップは、第2実行スレッドによって実行される、
    請求項13に記載の機械可読媒体。
  15. 前記運転環境に基づいて、複数のコマンドキャリブレーションテーブルから1つを選択されたコマンドキャリブレーションテーブルとして選択するステップは、
    前記ADVが決定された運転環境で走行しているときに、所定の時間内に第1運転統計データセットを収集するステップと、
    決定された運転環境に関連付けられる複数のコマンドキャリブレーションテーブルから、1セットのコマンドキャリブレーションテーブル候補を識別するステップと、
    前記第1運転統計データセットと前記コマンドキャリブレーションテーブル候補の各々から取得した第2運転統計データセットとを比較するステップと、
    比較結果に基づいて、前記コマンドキャリブレーションテーブル候補の各々の類似度スコアを算出するステップと、
    前記コマンドキャリブレーションテーブル候補のうち類似度スコアが最も高いものを、選択されたコマンドキャリブレーションテーブルとして選択するステップとを含む、
    請求項13に記載の機械可読媒体。
  16. 前記第1運転統計データセットと第2運転統計データセットとを比較し、類似度スコアを算出するステップは、
    特定の時点で測定された前記第1運転統計データセットの各サブセットについて、
    第1速度、発信された第1制御コマンドおよび測定された車両からの第1応答を取得するステップと、
    コマンドキャリブレーション候補においてルックアップ操作を実行して前記第1速度および前記第1制御コマンドに相対的にマッチングされる第2速度および第2制御コマンドを有するエントリを特定するステップと、
    前記第1応答と、マッチングされたエントリから取得した第2応答との間の差を算出するステップと、
    リアルタイムで測定された応答と、前記コマンドキャリブレーションテーブル候補からの予め記録された応答との間の平均差に基づいて、前記コマンドキャリブレーションテーブル候補の類似度スコアを算出するステップとを含む、
    請求項15に記載の機械可読媒体。
  17. 自動運転車両を動作させるためのコンピュータ実施方法であって、前記方法は、
    自動運転車両(ADV)に関連付けられる運転環境を周期的に確認するステップと、
    前記ADVが決定された運転環境を走行しているとき、所定の期間内に第1運転統計データセットを収集するステップと、
    決定された運転環境に関連付けられる複数のコマンドキャリブレーションテーブルから1セットのコマンドキャリブレーションテーブル候補を識別するステップであって、前記コマンドキャリブレーションテーブルの各々が複数の運転環境設定のうちの1つに対応するステップと、
    前記第1運転統計データセットと前記コマンドキャリブレーションテーブル候補の各々から取得した第2運転統計データセットとを比較するステップと、
    比較結果に基づいて、前記コマンドキャリブレーションテーブル候補の各々の類似度スコアを算出するステップと、
    前記コマンドキャリブレーションテーブル候補のうち類似度スコアが最も高いものを選択するステップであって、選択されたコマンドキャリブレーションテーブルは、前記ADVを制御するための後続の制御コマンドを生成するために使用されるステップとを含む、
    自動運転車両を動作させるためのコンピュータ実施方法。
  18. 前記第1運転統計データセットと第2運転統計データセットとを比較して類似度スコアを算出するステップは、
    特定の時点で測定された前記第1運転統計データセットの各サブセットについて、
    第1速度、発信された第1制御コマンドおよび測定された車両からの第1応答を取得するステップと、
    コマンドキャリブレーション候補においてルックアップ操作を実行して前記第1速度および前記第1制御コマンドに相対的にマッチングされる第2速度および第2制御コマンドを有するエントリを特定するステップと、
    前記第1応答と、マッチングされたエントリから取得した第2応答との間の差を算出するステップと、
    リアルタイムで測定された応答と、前記コマンドキャリブレーションテーブル候補からの予め記録された応答との間の平均差に基づいて、前記コマンドキャリブレーションテーブル候補の類似度スコアを算出するステップとを含む、
    請求項17に記載の方法。
  19. 前記コマンドキャリブレーションテーブルの各々は、前記ADVが走行している道路が濡れているか乾燥しているかを示す天気状況、前記道路の路面状況、及び前記ADVの現在負荷状況を示すタイヤ空気圧を含む所定の運転環境に関連付けられる、
    請求項17に記載の方法。
  20. 前記複数のコマンドキャリブレーションテーブルの各々は、前記天気状況、前記路面の粗さおよび前記タイヤ空気圧の特定の組み合わせに対応する、
    請求項19に記載の方法。
  21. 前記コマンドキャリブレーションテーブルに関連付けられる特定の運転環境で走行している車両から収集された運転統計データに基づいて、前記複数のコマンドキャリブレーションテーブルの各々が作成され、発信された異なる制御コマンドの取得、並びに前記車両の異なる時点での速度及び加速度の測定が含まれる、
    請求項17に記載の方法。
JP2019189323A 2018-11-29 2019-10-16 自動運転車両を動作させるための所定のキャリブレーションテーブルに基づく車両制御システム Active JP6908674B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/205,187 US11180145B2 (en) 2018-11-29 2018-11-29 Predetermined calibration table-based vehicle control system for operating an autonomous driving vehicle
US16/205,187 2018-11-29

Publications (2)

Publication Number Publication Date
JP2020083306A true JP2020083306A (ja) 2020-06-04
JP6908674B2 JP6908674B2 (ja) 2021-07-28

Family

ID=67851024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019189323A Active JP6908674B2 (ja) 2018-11-29 2019-10-16 自動運転車両を動作させるための所定のキャリブレーションテーブルに基づく車両制御システム

Country Status (4)

Country Link
US (1) US11180145B2 (ja)
EP (1) EP3659884B1 (ja)
JP (1) JP6908674B2 (ja)
CN (1) CN111240313B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230071356A (ko) * 2021-11-16 2023-05-23 주식회사 베이리스 차량 제동 거리를 이용한 자율 주행 제어 시스템 및 그 제어 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2594456A (en) * 2020-04-27 2021-11-03 Caterpillar Inc System and method for autonomous steering calibration
CN114572240B (zh) * 2020-11-30 2023-11-14 北京百度网讯科技有限公司 车辆行驶控制方法、装置、车辆、电子设备及存储介质
CN113074955B (zh) * 2021-03-26 2023-03-10 北京百度网讯科技有限公司 控制数据采集的方法、装置、电子设备和介质
CN118618372A (zh) * 2024-08-12 2024-09-10 常州星宇车灯股份有限公司 一种车辆自适应巡航纵向加速度控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324138A (ja) * 1993-03-17 1994-11-25 Nippondenso Co Ltd 車両制御装置
JP2008110620A (ja) * 2006-10-27 2008-05-15 Toyota Motor Corp 車両走行制御装置
JP2017041070A (ja) * 2015-08-19 2017-02-23 ソニー株式会社 車両制御装置と車両制御方法と情報処理装置および交通情報提供システム
JP2017138952A (ja) * 2015-04-21 2017-08-10 パナソニックIpマネジメント株式会社 情報処理システム、情報処理方法、およびプログラム
WO2017213064A1 (ja) * 2016-06-09 2017-12-14 日本電気株式会社 車両制御システム、車両制御方法およびプログラム記録媒体
US20180188727A1 (en) * 2016-12-30 2018-07-05 Baidu Usa Llc Method and system for operating autonomous driving vehicles based on motion plans

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5815734A (ja) 1981-07-20 1983-01-29 Mikuni Kogyo Co Ltd 内燃機関の燃料供給装置
JPH08318765A (ja) * 1995-05-25 1996-12-03 Hitachi Ltd 情報化自動車制御装置及び方法
US6442472B1 (en) * 2001-02-28 2002-08-27 General Motors Corporation Modification of pedal progression with acceleration feedback using electronic throttle control
JP3997787B2 (ja) * 2002-01-30 2007-10-24 株式会社デンソー 車両統合制御システム
US7109850B2 (en) 2004-03-29 2006-09-19 Nissan Technical Center North America, Inc. Rumble strip responsive systems
US8275528B2 (en) * 2008-02-21 2012-09-25 Allison Transmission, Inc. Transmission turbine acceleration control for managing vehicle acceleration
DE102009047373A1 (de) 2009-12-02 2011-06-09 Robert Bosch Gmbh Verfahren zur Aktivierung und/oder Ansteuerung von mindestens einer reversiblen Rückhalteeinrichtung
FR2999511B1 (fr) * 2012-12-19 2015-12-04 Peugeot Citroen Automobiles Sa Procede de modulation de la reponse en couple a un enfoncement de la pedale d'accelerateur d'un vehicule comportant des systemes de detection des conditions meteorologiques
US8948972B2 (en) 2013-03-01 2015-02-03 Nissan North America, Inc. Vehicle controlling system and method
GB201315617D0 (en) * 2013-09-03 2013-10-16 Jaguar Land Rover Ltd Cruise control system for a vehicle
JP5929871B2 (ja) * 2013-10-17 2016-06-08 トヨタ自動車株式会社 熱可塑性樹脂材料の成形方法
GB2519533B (en) * 2013-10-23 2018-04-04 Jaguar Land Rover Ltd Vehicle speed control system
DE102013226195A1 (de) * 2013-12-17 2015-06-18 Volkswagen Aktiengesellschaft Verfahren und System zur Bestimmung von Parametern eines Modells zur Längsführung und zur Bestimmung einer Längsführung für ein Fahrzeug
GB2523177B (en) * 2014-02-18 2017-05-10 Jaguar Land Rover Ltd Vehicle movement on an inclined surface
US10121371B2 (en) * 2014-04-15 2018-11-06 Mitsubishi Electric Corporation Driving assistance device, and driving assistance method
GB2526346B (en) * 2014-05-22 2018-01-03 Jaguar Land Rover Ltd Vehicle speed control system and method
GB2537952B (en) * 2015-04-29 2019-07-03 Jaguar Land Rover Ltd Vehicle speed control for low speed progress
JP6347233B2 (ja) * 2015-07-22 2018-06-27 トヨタ自動車株式会社 車両の運転支援装置
US20170122244A1 (en) * 2015-10-28 2017-05-04 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicles and methods for controlling internal combustion engine rotational speeds
JP2017204208A (ja) * 2016-05-13 2017-11-16 富士ゼロックス株式会社 操作モデル構築システム及び操作モデル構築プログラム
US10112611B2 (en) * 2016-07-25 2018-10-30 Toyota Motor Engineering & Manufacturing North America, Inc. Adaptive vehicle control systems and methods of altering a condition of a vehicle using the same
US10435015B2 (en) * 2016-09-28 2019-10-08 Baidu Usa Llc System delay corrected control method for autonomous vehicles
US10272778B2 (en) * 2017-01-18 2019-04-30 Baidu Usa Llc Method and system for determining unit gain of speed control for autonomous driving vehicles
US10409280B2 (en) * 2017-03-21 2019-09-10 Baidu Usa Llc Control dominated planning and control system for autonomous driving vehicles
US10549752B2 (en) 2017-03-30 2020-02-04 Baidu Usa Llc Deceleration curb-based direction checking and lane keeping system for autonomous driving vehicles
US10507813B2 (en) * 2017-05-10 2019-12-17 Baidu Usa Llc Method and system for automated vehicle emergency light control of an autonomous driving vehicle
US10569651B2 (en) * 2017-05-15 2020-02-25 Baidu Usa Llc Speed control and steering control assistant based on pitch status and roll status of autonomous driving vehicle
JP6653381B2 (ja) * 2017-05-22 2020-02-26 バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッドBaidu.com Times Technology (Beijing) Co., Ltd. 自律走行車の制御フィードバックに基づくマップ更新方法およびシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324138A (ja) * 1993-03-17 1994-11-25 Nippondenso Co Ltd 車両制御装置
JP2008110620A (ja) * 2006-10-27 2008-05-15 Toyota Motor Corp 車両走行制御装置
JP2017138952A (ja) * 2015-04-21 2017-08-10 パナソニックIpマネジメント株式会社 情報処理システム、情報処理方法、およびプログラム
JP2017041070A (ja) * 2015-08-19 2017-02-23 ソニー株式会社 車両制御装置と車両制御方法と情報処理装置および交通情報提供システム
WO2017213064A1 (ja) * 2016-06-09 2017-12-14 日本電気株式会社 車両制御システム、車両制御方法およびプログラム記録媒体
US20180188727A1 (en) * 2016-12-30 2018-07-05 Baidu Usa Llc Method and system for operating autonomous driving vehicles based on motion plans

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230071356A (ko) * 2021-11-16 2023-05-23 주식회사 베이리스 차량 제동 거리를 이용한 자율 주행 제어 시스템 및 그 제어 방법
KR102606714B1 (ko) * 2021-11-16 2023-11-29 주식회사 베이리스 차량 제동 거리를 이용한 자율 주행 제어 시스템 및 그 제어 방법

Also Published As

Publication number Publication date
CN111240313B (zh) 2023-08-11
JP6908674B2 (ja) 2021-07-28
US11180145B2 (en) 2021-11-23
US20200172115A1 (en) 2020-06-04
EP3659884B1 (en) 2021-11-24
CN111240313A (zh) 2020-06-05
EP3659884A3 (en) 2020-09-16
EP3659884A2 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
JP6722312B2 (ja) 自動運転に用いられる感知と計画のコラボレーションフレームワーク
KR102062608B1 (ko) 자율 주행 차량의 제어 피드백에 기초한 맵 업데이트 방법 및 시스템
KR101975728B1 (ko) 자율 주행 차량을 위한 사이드슬립 보상 제어 방법
JP6578331B2 (ja) 自律走行車のコマンド遅延を決定するための方法
US10569651B2 (en) Speed control and steering control assistant based on pitch status and roll status of autonomous driving vehicle
JP2019182411A (ja) オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)]
JP2020523552A (ja) 自動運転車両の経路計画のための運転シナリオに基づく車線ガイドライン
JP6543373B2 (ja) 自動運転車両に用いられる制御型の計画と制御システム
JP2020015490A (ja) 冗長超音波レーダを備える自律走行車{ autonomous driving vehicles with redundant ultrasonic radar }
JP2019189214A (ja) 自動運転車の経路計画用のドリフト補正の方法
JP2018108800A (ja) 自律走行車の速度制御率の動的調整方法
JP6908674B2 (ja) 自動運転車両を動作させるための所定のキャリブレーションテーブルに基づく車両制御システム
JP2019131177A (ja) 複数のスレッドを使用して自動運転車両に用いられる基準線を生成するための方法及びシステム
JP6908675B2 (ja) L2自動運転用の所定のキャリブレーションテーブルに基づく車両アクセル/ブレーキアシストシステム
JP2019137391A (ja) 自動運転車両のための自己位置推定方法、システム及び機械可読媒体
JP2020083310A (ja) 車両挙動予測のための圧縮環境特徴の表示
KR20200037123A (ko) 에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획
JP2021511999A (ja) 自動運転車両の3ポイントターンの最適プランナー切り替え方法
JP7005571B2 (ja) 所定の負荷較正テーブルによる自動運転車両の車両負荷の確定方法
CN111655561B (zh) 无需地图和定位的自动驾驶车辆的拐角协商方法
CN111629947B (zh) 自动驾驶车辆的用于生成参考线的方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210701

R150 Certificate of patent or registration of utility model

Ref document number: 6908674

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150