CN108834425B - 用于控制自动驾驶车辆进入自动驾驶模式的方法及系统 - Google Patents
用于控制自动驾驶车辆进入自动驾驶模式的方法及系统 Download PDFInfo
- Publication number
- CN108834425B CN108834425B CN201780002536.9A CN201780002536A CN108834425B CN 108834425 B CN108834425 B CN 108834425B CN 201780002536 A CN201780002536 A CN 201780002536A CN 108834425 B CN108834425 B CN 108834425B
- Authority
- CN
- China
- Prior art keywords
- speed
- autonomous vehicle
- current
- reference value
- speed reference
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 48
- 230000007704 transition Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 28
- 230000001133 acceleration Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000000994 depressogenic effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 230000008447 perception Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 11
- 238000007405 data analysis Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 229910000078 germane Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/005—Handover processes
- B60W60/0051—Handover processes from occupants to vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/14—Adaptive cruise control
- B60W30/143—Speed control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/10—Estimation 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 vehicle motion
- B60W40/105—Speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/082—Selecting or switching between different modes of propelling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0278—Control 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/0062—Adapting control system settings
- B60W2050/007—Switching between manual and automatic parameter input, and vice versa
- B60W2050/0074—Driver shifts control to the controller, e.g. by pressing a button
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
- B60W2050/0095—Automatic control mode change
- B60W2050/0096—Control during transition between modes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo or light sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B60W2420/408—
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/54—Audio sensitive means, e.g. ultrasound
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2510/00—Input parameters relating to a particular sub-units
- B60W2510/06—Combustion engines, Gas turbines
- B60W2510/0657—Engine torque
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/10—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/10—Longitudinal speed
- B60W2520/105—Longitudinal acceleration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2540/00—Input parameters relating to occupants
- B60W2540/10—Accelerator pedal position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2540/00—Input parameters relating to occupants
- B60W2540/12—Brake pedal position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2540/00—Input parameters relating to occupants
- B60W2540/18—Steering angle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to infrastructure
- B60W2552/53—Road markings, e.g. lane marker or crosswalk
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/20—Static objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
- B60W2554/4029—Pedestrians
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
- B60W2556/50—External transmission of data to or from the vehicle for navigation systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/10—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/10—Longitudinal speed
- B60W2720/106—Longitudinal acceleration
Abstract
根据一个实施方式,当ADV从手动驾驶模式转换到自动驾驶模式时,基于ADV的当前位置确定第一速度参考值。响应于在前一命令周期中发出的速度控制命令而动态地测量ADV的当前位置。基于当前命令周期的当前目标位置确定第二速度参考值。随后基于第一速度参考值、第二速度参考值和当前命令周期ADV的目标速度来生成用于控制处于自动驾驶模式的ADV的速度的速度控制命令,使得ADV在从手动驾驶模式转换到自动驾驶模式之后以与转换到自动驾驶模式之前相似的加速率操作或者相似的减速率操作。
Description
技术领域
本发明的实施方式大体上涉及操作自动驾驶车辆。更具体地,本发明的实施方式涉及在从手动驾驶模式重新进入自动驾驶模式时控制自动驾驶车辆。
背景技术
以自动驾驶模式(例如,无人驾驶)操作的车辆可以使乘员,尤其是驾驶员免于某些驾驶相关的职责。当以自动驾驶模式操作时,车辆可以使用车载传感器来导航到各个位置,从而允许车辆在最少的人机交互的情况下或者在没有任何乘客的一些情况下行驶。
通常,自动驾驶车辆(ADV)可以以手动驾驶模式或自动驾驶模式操作。在手动驾驶模式下,人类驾驶员控制车辆。存在当ADV切换出自动驾驶模式同时车辆正在运行并且需要重新进入自动驾驶模式时的情境。当车辆从手动驾驶模式重新进入自动驾驶模式时,在驾驶模式转换期间,乘客可能经历突然的加速或减速。这是由于在驾驶模式转换过程中突然跳跃的速率或加速/减速参考值。这将最终导致控制器输出的不连续性,并且因此在驾驶模式转换期间引起突然的加速或减速变化。在此重新进入阶段期间中可能发生诸如速度突然变化的颠簸,这可能引起乘客不适。
发明内容
本公开的实施方式提供用于操作自动驾驶车辆的计算机实施方法、非暂时性机器可读介质以及数据处理系统。
在本公开的一个方面中,用于操作自动驾驶车辆的计算机实施方法包括:检测自动驾驶车辆(ADV)从手动驾驶模式转换到自动驾驶模式;基于当前命令周期的目标速度以及响应于在前一命令周期发出的速度控制命令而测量的ADV的当前位置确定第一速度参考值;基于当前命令周期的当前目标位置确定第二速度参考值;以及基于第一速度参考值、第二速度参考值和当前命令周期的目标速度生成用于控制ADV的速度的速度控制命令,使得ADV在从手动驾驶模式转换到自动驾驶模式之后以与转换到自动驾驶模式之前相似的加速率操作或者相似的减速率操作。
在本公开的另一方面中,非暂时性机器可读介质具有存储在其中的指令,所述指令在由处理器执行时致使处理器执行操作,所述操作包括:检测自动驾驶车辆(ADV)从手动驾驶模式转换到自动驾驶模式;基于当前命令周期的目标速度以及响应于在前一命令周期发出的速度控制命令而测量的ADV的当前位置确定第一速度参考值;基于当前命令周期的当前目标位置确定第二速度参考值;以及基于第一速度参考值、第二速度参考值和当前命令周期的目标速度来生成用于控制ADV的速度的速度控制命令,使得ADV在从手动驾驶模式转换到自动驾驶模式之后以与转换到自动驾驶模式之前相似的加速率操作或者相似的减速率操作。
在本公开的另一方面中,数据处理系统包括处理器和存储器,其中:存储器联接到处理器以存储指令,所述指令在由处理器执行时致使处理器执行操作,所述操作包括:检测自动驾驶车辆(ADV)从手动驾驶模式转换到自动驾驶模式;基于当前命令周期的目标速度以及响应于在前一命令周期发出的速度控制命令而测量的ADV的当前位置确定第一速度参考值;基于当前命令周期的当前目标位置确定第二速度参考值;以及基于第一速度参考值、第二速度参考值和当前命令周期的目标速度来生成用于控制ADV的速度的速度控制命令,使得ADV在从手动驾驶模式转换到自动驾驶模式之后以与转换到自动驾驶模式之前相似的加速率操作或者相似的减速率操作。
附图说明
本发明的实施方式在附图的各图中以示例而非限制的方式示出,附图中的相同参考标记表示相似的元件。
图1是示出根据本发明的一个实施方式的网络化系统的框图。
图2是示出根据本发明的一个实施方式的自动驾驶车辆的示例的框图。
图3是示出根据本发明的一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。
图4是示出根据本发明的一个实施方式的自动驾驶车辆的驾驶模式转换的图。
图5A是示出根据本发明的一个实施方式的控制模块的示例的框图。
图5B是示出根据本发明的一个实施方式的速度控制模块的示例的框图。
图5C是示出根据本发明的一个实施方式的站点控制模块的示例的框图。
图6A是示出根据本发明的一个实施方式的速度控制模块的处理的处理流程图。
图6B是示出根据本发明的一个实施方式的站点控制模块的处理的处理流程图。
图6C是示出根据本发明的一个实施方式的速度控制模块和站点控制模块的处理的处理流程图。
图7A是示出根据本发明的一个实施方式的速率闭环控制器的示例的框图。
图7B是示出根据本发明的一个实施方式的位置闭环控制器的示例的框图。
图8是示出根据本发明的一个实施方式的操作自动驾驶车辆的过程的流程图。
图9是示出根据本发明的另一实施方式的操作自动驾驶车辆的过程的流程图。
图10是示出根据本发明的另一实施方式的操作自动驾驶车辆的过程的流程图。
图11是示出根据一个实施方式的数据处理系统的框图。
具体实施方式
将参照以下讨论的细节来描述本发明的各种实施方式和方面,并且附图将示出各种实施方式。以下描述和附图是对本发明的说明,而不应被解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施方式的透彻理解。然而,在某些情况下,未描述公知的或常规的细节以提供对本发明的实施方式的简明讨论。
本说明书中对“一个实施方式”或“实施方式”的提及意指结合该实施方式所描述的特定特征、结构或特性可以包括在本发明的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各个地方的出现不必全部指同一实施方式。
根据一些实施方式,考虑到ADV开始从手动驾驶模式转换为自动驾驶时的现有速度,利用控制器预设系统来计算和预设串联或以级联模式联接的多个控制器(诸如,自动驾驶车辆的站点或位置控制器以及速率或速度控制器)以确保控制器的输出(例如,来自站点控制器的速度控制命令和/或来自速率控制器的踏板百分比)将仅逐渐改变。因此,在驾驶模式转换期间的速度的突然变化可以最小化。
根据一个实施方式,当ADV从手动驾驶模式转换到自动驾驶模式时,基于ADV的当前位置和ADV的目标速度确定第一速度参考值。当ADV在手动驾驶模式下行驶时,ADV的当前位置响应于在前一命令周期中发出的速度控制命令而被动态地测量。目标速度是指ADV的响应于在当前命令周期中发出的速度控制命令的期望速度。当ADV将以自动驾驶模式操作时,基于当前命令周期的当前目标位置确定第二速度参考值。目标位置是指ADV的响应于在当前命令周期中发出的速度控制命令的期望位置或方位(例如,经度和纬度坐标)。随后基于第一速度参考值、第二速度参考值以及当前命令周期ADV的目标速度来生成速度控制命令以用于来控制自动驾驶模式下ADV的速度。
根据另一实施方式,基于全球定位系统(GPS)数据测量ADV的当前位置。考虑到ADV的先前位置,使用预定算法将ADV的当前位置转换成第一速度参考值。ADV的实际速度表示是基于第一速度参考值和从ADV测量的第二速度(例如,ADV的实际速度)而确定的。基于ADV当前命令周期的目标位置确定第三速度参考值。基于实际速度表示、第三速度参考值以及当前命令周期的目标速度计算预设速度值。预设速度值被用作速度反馈。
根据另一实施方式,基于目标速度参考值来确定第一踏板值。踏板值表示油门踏板的最大油门值或制动踏板的最大制动值的踏板百分比。第二踏板值基于从ADV的车辆平台测量的扭矩而确定。基于第一踏板值和第二踏板值计算第三踏板值。基于第一踏板值和第三踏板值确定最终踏板值,其中最终踏板值用于生成用于控制ADV的速度的速度控制命令。
图1是示出根据本发明的一个实施方式的自动驾驶车辆网络配置的框图。参考图1,网络配置100包括可以通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆101。尽管示出一个自动驾驶车辆,但是多个自动驾驶车辆可以通过网络102彼此联接和/或联接到服务器103至104。网络102可以是任何类型的网络,例如,有线或无线的局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103至104可以是任何种类的服务器或服务器集群,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。
自动驾驶车辆是指可以被配置为处于自动驾驶模式下的车辆,在自动驾驶模式下车辆在极少或没有来自驾驶员的输入的情况下在环境中进行导航。这种自动驾驶车辆可以包括具有一个或多个传感器的传感器系统,该一个或多个传感器被配置成检测关于车辆操作环境的信息。车辆及其相关联的控制器使用检测到的信息在环境中进行导航。自动驾驶车辆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还可以包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以被配置成采集来自自动驾驶车辆周围环境的声音。转向传感器可以被配置成感测方向盘、车辆的车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以被集成为集成的油门/制动传感器。传感器系统115还可以包括可以测量车辆的踏板百分比、扭矩和速度的传感器。
在一个实施方式中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201将调整车辆的方向或前进方向。油门单元202用于控制电动机或发动机的转速,继而控制车辆的速度和加速度。制动单元203通过提供摩擦使车辆的车轮或轮胎变慢来使车辆减速。需注意,图2所示的部件可以以硬件、软件或其组合来实现。
回到图1,无线通信系统112将允许自动驾驶车辆101与外部系统(诸如装置、传感器、其它车辆等)之间进行通信。例如,无线通信系统112可以与一个或多个装置直接无线通信或者通过通信网络(诸如通过网络102的服务器103至104)无线通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如使用WiFi来与另一部件或系统进行通信。无线通信系统112可以例如使用红外链路、蓝牙等直接与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)进行通信。用户接口系统113可以是在车辆101内实现的外围装置的部分,包括例如键盘、触摸屏显示装置、麦克风和扬声器等。
自动驾驶车辆101的一些或全部功能可以由感知与规划系统110来控制或管理,特别是当以自动驾驶模式操作时。感知与规划系统110包括必要的硬件(例如,处理器、存储器、存储设备)和软件(例如,操作系统、规划和路线安排程序)以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理所接收的信息,规划从起始点到目的地点的路线或路径,随后基于规划和控制信息来驾驶车辆101。可替代地,感知与规划系统110可以与车辆控制系统111集成。
例如,作为乘客的用户可例如通过用户接口来指定行程的起始位置和目的地。感知与规划系统110获取行程相关数据。例如,感知与规划系统110可以从MPOI服务器获取位置和路线信息,MPOI服务器可以是服务器103-104的部分。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI。可替代地,可以将这种位置和MPOI信息本地缓存在感知与规划系统110的永久性存储装置中。
当自动驾驶车辆101沿着路线移动时,感知与规划系统110还可以从交通信息系统或服务器(TIS)获取实时交通信息。需注意,服务器103至104可以由第三方实体操作。可替代地,服务器103至104的功能可以与感知与规划系统110集成。基于实时交通信息、MPOI信息和位置信息以及由传感器系统115检测或感测的实时本地环境数据(例如障碍物、对象、附近车辆),感知与规划系统110可以例如通过控制系统111规划最优路线并且根据所规划的路线来驾驶车辆101以安全且高校地到达指定目的地。
服务器103可以是数据分析系统以为各种客户端执行数据分析服务。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121收集来自各种车辆(自动驾驶车辆或由人类驾驶员驾驶的常规车辆)的驾驶统计数据123。驾驶统计数据123包括指示发出的驾驶命令(例如,油门命令、制动命令、转向命令)以及由车辆的传感器在不同时间点采集的车辆响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计数据123还可例如包括描述不同时间点的驾驶环境的信息,例如路线(包括起点和目的地)、MPOI、道路状况、天气状况等。
基于驾驶统计数据123,机器学习引擎122出于各种目的执行或训练一套规则、算法和/或预测模型124。在一个实施方式中,规则124可以包括用于基于目标位置确定速度参考值的规则或算法,其可以由位置开环(POL)控制器使用。规则124还可以包括用于基于在时间点测量的车辆的实际位置来确定速度参考值的规则。规则124还可以包括用于基于速度参考值来计算预设值以配置位置闭环(PCL)控制器的算法。
在另一个实施方式中,规则124可以包括用于基于目标速度来确定踏板值的规则,其可以由速率开环(VOL)控制器使用。规则124可以包括用于基于从车辆平台测量的扭矩来确定踏板值的规则。算法124可以包括用于基于踏板值来计算预设值以配置速率闭环(VCL)控制器的算法。规则和算法124可以随后上传到自动驾驶车辆上以用于实时操作车辆。具体地,当车辆从手动驾驶模式转换到自动驾驶模式时,可以使用规则或算法124,使得驾驶模式转换可以尽可能地平稳。
图3是根据本发明的一个实施方式的示出与自动驾驶车辆一起使用的感知与规划系统的示例的框图。系统300可以被实现为图1的自动驾驶车辆101的部分,包括但不限于感知与规划系统110、控制系统111和传感器系统115。参考图3,感知与规划系统110包括但不限于定位模块301、感知模块302、决策模块303、规划模块304、控制模块305和驾驶模式检测器306。
模块301至306中的一些或全部可以以软件、硬件或其组合来实现。例如,这些模块可以安装在永久性存储装置352中、加载到存储器351中,并且由一个或多个处理器(未示出)执行。需注意,这些模块中的一些或全部可以与图2的车辆控制系统111的一些或全部模块通信地联接或者集成在一起。模块301至306中的一些可以作为集成模块集成在一起。
定位模块301确定自动驾驶车辆300的当前位置(例如,利用GPS单元212)并且管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的旅行或路线有关的任何数据。用户可以例如经由用户接口登录并且指定行程的起始位置和目的地。定位模块301与自动驾驶车辆300的其它部件(诸如地图和路线信息311)通信以获取行程相关数据。例如,定位模块301可以从位置服务器以及地图与POI(MPOI)服务器获取位置和路线信息。位置服务器提供位置服务,以及MPOI服务器提供地图服务和某些位置的POI,其可以作为地图和路线信息311的部分来缓存。当自动驾驶车辆300沿着路线移动时,定位模块301还可以从交通信息系统或服务器获取实时交通信息。
基于由传感器系统115提供的传感器数据以及由定位模块301获取的定位信息,由感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员将在驾驶员所驾驶的车辆周围感知到的东西。感知可以包括例如以对象的形式的车道配置(例如,直线或弯曲车道)、交通灯信号、另一车辆、行人、建筑物、人行横道或其它交通相关标志(例如停车标志、让行标志)的相对位置等。
感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机采集的图像,以便标识自动驾驶车辆的环境中的对象和/或特征。对象可以包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频跟踪以及其它计算机视觉技术。在一些实施方式中,计算机视觉系统可以映射环境、跟踪对象以及估计对象的速度等。感知模块302还可以基于由诸如雷达和/或LIDAR的其它传感器提供的其它传感器数据来检测对象。
针对每个对象,决策模块303作出关于如何处理对象的决策。例如,针对特定对象(例如,交叉路线中的另一车辆)以及其描述该对象的元数据(例如,速度、方向、转弯角度),决策模块303决定如何应对该对象(例如,超车、让行、停止、经过)。决策模块303可以根据可以存储在永久性存储装置352中的一套规则(诸如交通规则或驾驶规则312)来作出这类决策。
基于对感知的每个对象的决策,规划模块304为自动驾驶车辆规划路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。换言之,针对给定对象,决策模块303决定如何处理对象,而规划模块304确定如何去做。例如,针对给定对象,决策模块303可以决定经过该对象,而规划模块304可以确定是在对象的左侧还是右侧经过。规划和控制数据由规划模块304产生,其包括描述车辆300将如何在下一个移动周期(例如,下一个路线/路径段)中移动的信息。例如,规划和控制数据可以指示车辆300以每小时30英里(mph)的速度移动10米,随后以25mph的速度改变到右车道。
基于规划和控制数据,控制模块305根据由规划和控制数据限定的路线或路径,通过向车辆控制系统111发送适当的命令或信号来控制和驾驶自动驾驶车辆。规划和控制数据包括足够的信息以沿着路径或路线在不同的时间点使用适当的车辆设置或驾驶参数(例如,油门、制动和转向命令)将车辆从路线或路径的第一点驾驶到第二点。
需注意,决策模块303和规划模块304可以集成为集成模块。决策模块303/规划模块304可以包括导航系统或导航系统的功能,以确定自动驾驶车辆的驾驶路径。例如,导航系统可以确定一系列速度和前进方向,以实现大体上使自动驾驶车辆沿着通向最终目的地的基于道路的路径前进的同时使自动驾驶车辆沿着基本上避免了感知到的障碍物移动。目的地可以根据经由用户接口系统113的用户输入来设置。导航系统可以在自动驾驶车辆运行时动态地更新驾驶路径。导航系统可以结合来自GPS系统和一个或多个地图的数据,以便确定自动驾驶车辆的驾驶路线。
决策模块303/规划模块304还可以包括防撞系统或防撞系统的功能,以标识、评估和避免或以其它方式越过自动驾驶车辆的环境中潜在的障碍物。例如,防撞系统可以通过操作控制系统111中的一个或多个子系统来实现自动驾驶车辆的导航的改变,以进行变向操纵、转弯操纵、制动操纵等。防撞系统可以基于周围的交通型式、道路状况等来自动确定可行的障碍物避免操纵。防撞系统可以被配置成使得当其它传感器系统检测到位于自动驾驶车辆将变向进入的相邻区域中的车辆、建筑障碍物等时不采取变向操纵。防撞系统可以自动地选择可用的并且使自动驾驶车辆的乘客的安全性最大化的操纵。防撞系统可以选择预测的使自动驾驶车辆的乘客车厢中加速度量最小的回避操纵。
在一个实施方式中,控制模块305包括站点控制模块308(也称为位置控制模块)和速度控制模块310以控制车辆的位置和速度。站点控制模块308从规划的轨迹得到站点参考值之间的差异,并且试图校正站点参考值与车辆的实际位置之间的差异。速度控制模块310被配置成基于当前命令周期的目标速度或位置以及来自前一命令周期的速度或位置反馈来生成速度控制命令。命令周期是指控制命令将发送给车辆的时间段。命令周期表示将发出控制命令的频率。例如,如果每0.1秒发出一次控制命令,则命令周期称为0.1秒。
如上所述,ADV可以以手动驾驶模式或自动驾驶模式操作,其可以由驾驶模式检测器306检测或感测。通常,可以在人类驾驶员可到达的范围内设置开关或按钮来打开或关闭手动驾驶模式或自动驾驶模式。这种切换操作可以由驾驶模式检测器306来检测。在手动驾驶模式期间,人类驾驶员可以接管车辆的控制,包括车辆的加速、减速、转向和后备等。车辆的速度由人类驾驶员按压在或踩在油门踏板或制动踏板上多远来控制,其可以由踏板距离或踏板压力来表示。在自动驾驶模式期间,车辆的大部分操作由感知与规划系统110自动控制,而不需明显的用户干预。车辆的速度由通过速度控制模块310结合站点控制模块308产生的速度控制命令来控制。
通常,在自动驾驶模式期间,速度控制模块310基于车辆的当前速度和由规划模块304请求的当前命令周期的目标速度来确定速度控制命令。响应于在前一命令周期中发出的速度控制命令,可以测量车辆的速度并且从车辆的车辆平台反馈车辆的速度。目标速度可以由规划模块304考虑到先前的规划和控制数据基于对驾驶环境的感知来规划和确定。当ADV以手动驾驶模式操作并且从手动驾驶模式转换到自动驾驶模式时,规划模块304请求目标速度或目标位置,该目标速度或目标位置由于车辆在手动模式下操作而可能无法基于先前的驾驶统计数据来确定。因此,如图4所示,当车辆从手动驾驶模式转换到自动驾驶模式时,当前命令周期的目标速度或位置与对应于前一命令周期的实际速度或位置之间可能存在显著差异。
现在参考图4,假定车辆在手动驾驶模式期间以速度401行进,速度401也称为Vm(手动模式速率)。当车辆从手动驾驶模式转换到自动驾驶模式时,规划模块304规划并确定即将到来的命令周期(即当前的命令周期)的车辆的目标速度。假设规划模块304确定当前命令周期的自动驾驶的目标速度(在本文称为Va)作为用于自动驾驶的速率。如图4所示,在从手动驾驶模式和自动驾驶模式的转换期间,Vm与Va之间存在差异。这种差异可能导致车辆速度无论是以加速的形式还是以减速的形式而突然变化。这种速度的突然变化可能引起乘客的不适。
规划模块304可以基于先前的规划和控制数据(诸如作为历史驾驶数据的部分的一个或多个先前命令周期中车辆的目标速度和/或目标位置)来确定目标速度。由于车辆是以手动驾驶模式驾驶的,因此这种过去的规划和控制数据不可用或者不准确(例如,不是最新的)。因此,由规划模块304产生的目标速度可能与车辆在驾驶模式转换时刻的实际速度明显不同。因此,在此示例中的转换时间t1处,目标速度402明显低于车辆401在该时间点的实际速度。如果根据规划的目标速度402来配置车辆,则车辆在进入自动驾驶模式时将经历突然减速。类似地,如果目标速度402明显高于实际速度401,则车辆在进入自动驾驶模式时将经历突然加速。这种突然的减速或者突然的加速可能导致乘客不适。因此,本发明的实施方式将通过基于实时测量的实际反馈配置控制器来将目标速度402调整为更接近实际速度401。在此示例中,将要作为目标的实际速度将是速度403。因此,可以减少突然加速或突然减速。
图5A是示出根据本发明的一个实施方式的控制模块的框图。参考图5A,控制模块305包括站点控制模块308和速度控制模块310。在此配置中,站点控制模块308被串联或以级联模式联接到速度控制模块310。在操作中,规划模块304将目标速度参考值411提供给速度控制模块310并且将目标位置参考值412提供给站点控制模块308。站点控制模块308还接收直接从车辆平台510测量的ADV的实际位置和速度反馈415。可以从ADV的CAN总线测量ADV的实际位置和速度415。基于ADV的目标位置412以及实际位置和速度415,站点控制模块308产生速度反馈参考值413。
类似地,速度控制模块310接收直接从车辆平台或CAN总线510测量的ADV的实际扭矩和速度反馈414。基于目标速度参考值411、速度反馈参考值413以及测量的扭矩和速度414,速度控制模块310确定表示踏板百分比的踏板值416。随后基于踏板值416产生速度控制命令以控制ADV的速度。
扭矩是指力使对象围绕轴线、支点或枢轴转动的趋势。如力是推力或拉力,扭矩可以认为是对象的扭曲。大致地说,扭矩是衡量诸如螺栓或惯性轮的对象上的转力的度量。扭矩的大小取决于三个量:所施加的力、连接轴线与力施加点的杠杆臂的长度以及力矢量与杠杆臂之间的角度。
图5B是示出根据本发明的一个实施方式的速度控制模块的示例的框图。参考图5B,速度控制模块310包括速率开环(VOL)控制器501、速率闭环(VCL)控制器502、速率调节器预设(VRP)模块503以及扭矩到踏板(扭矩/踏板)转换器504。部件501至504可以以软件、硬件或其组合来实现。在一个实施方式中,VOL控制器501被配置成基于目标速度来确定表示踏板百分比的踏板值。VCL控制器502被配置成基于车辆的目标速度(例如,将实现的下一速度)与实际速度(例如,当前速度)之间的误差或差异来确定踏板值。扭矩/踏板转换器504被配置成将从车辆平台测量的扭矩转换为表示踏板百分比(即,为了产生测量的扭矩的踏板百分比)的踏板值。VRP模块503基于来自扭矩/踏板转换器504的踏板值和来自VOL控制器501的踏板参考值来计算预设踏板值。预设踏板值可以用于配置或预设VCL控制器502。
图5C是示出根据本发明的一个实施方式的站点控制模块的示例的框图。参考图5C,站点控制模块308包括位置开环(POL)控制器511、位置闭环(PCL)控制器512、位置调节器预设(PRP)模块513以及位置到速率(位置/速率)转换器514。部件511至514可以以软件、硬件或其组合来实现。在一个实施方式中,POL控制器511被配置成基于当前命令周期的目标位置来确定速度参考值。PCL控制器512被配置成基于ADV的目标位置与ADV的当前实际位置之间的误差或差异来确定作为速度反馈参考值的速度参考值。位置/速率转换器514被配置成将从车辆平台测量的实际位置转换为可以用于配置或预设PCL控制器512的速率或速度参考值。由POL控制器511和PCL控制器512提供的速度参考值由速度控制模块310用来确定用于控制ADV的速度的最终踏板值。
图6A是示出根据本发明的一个实施方式的速度控制模块的处理的处理流程图。参考图6A,响应于由规划模块304确定的目标速度601,VOL控制器501基于目标速度601和由站点控制模块308提供的一个或多个速度参考值610来确定踏板值602。在一个实施方式中,VOL控制器501可以基于一段时间(例如,Δ时间或Δt)内的速率差异来确定踏板值602。例如,VOL控制器501确定在不同的命令周期所规划的两个目标速度之间的差异。基于该差异来确定表示踏板百分比的踏板值。换言之,VOL控制器501确定油门踏板或制动踏板必须按压多远才能实现目标速度的变化,其可以是加速或减速。在一个实施方式中,例如使用预定算法或查找表,VOL控制器501将速率差转换为实现目标速度改变所需的扭矩。从该扭矩,VOL控制器501例如使用预定算法或查找表将扭矩转换为表示踏板百分比的踏板值。
此外,VCL控制器502基于从规划模块304接收的目标速度601与从车辆平台510测量的当前实际速度604之间的差异来生成表示踏板百分比的踏板值603。实际速度604表示响应于在前一命令周期中发出的速度控制命令的车辆的实际速度。踏板值603表示反馈踏板值。踏板值602和踏板值603随后用于控制车辆的速度。在一个实施方式中,基于踏板值602和踏板值603计算最终踏板值605,在此示例中,最终踏板值605是踏板值602和踏板值603之和。在一个实施方式中,基于踏板值602和踏板值603的加权和确定最终踏板值605。踏板值602和踏板值603中的每一个与特定的加权因子或加权系数相关联,该特定的加权因子或加权系数可以基于先前的驾驶统计数据由诸如数据分析103的数据分析系统离线地确定。
在一个实施方式中,VCL控制器502包括比例积分微分(PID)控制器(未示出)。PID控制器可以通过比例系数、积分系数和微分系数来建模。这些系数可以最初由例如数据分析系统基于大量驾驶统计数据(例如,数据分析系统或服务器103)离线地配置,如下:
其中Kp、Ki和Kd是PID控制器的比例系数、积分系数和微分系数。
PID是工业控制系统中常用的控制回路反馈机制(控制器)。PID控制器连续地计算作为期望的设置点与测量的过程变量之间的差异的误差值{\displaystyle e(t)},并且基于比例(Kp)项、积分(Ki)项和微分(Kd)项来应用校正。PID控制器连续地计算作为期望的设置点与测量的过程变量之间的差异的误差值{\displaystyle e(t)},并且基于比例项、积分项和微分项来应用校正。控制器试图通过将控制变量{\displaystyle u(t)}调整为由加权和确定的新值来使随时间变化的误差最小化。回到图6A,作为PID控制器的输入的误差e(t)表示由规划模块304提供的目标速度601、由站点控制模块308提供的速度参考值610与从车辆平台510测量的实际速度604之间的差异。
当车辆以手动驾驶模式操作时,由于人类驾驶员正在控制车辆,所以VOL控制器501、VCL控制器502不用于控制车辆的速度。当车辆从手动驾驶模式转换到自动驾驶模式时,规划模块304开始规划并产生车辆的目标速度,在此示例中,为目标速度601。由于不存在先前可用的驾驶数据作为参考值,因此规划的目标速度601可能不准确或者偏离目标。类似地,站点控制模块308可能不提供正确的速度参考值。因此,此时间处的车辆的目标速度601、速度参考值610和实际速度604之间的差异可能显著不同。由于VCL控制器502基于目标速度601、速度参考值610和实际速度604之间的差异通过在速度到踏板(速度/踏板)转换表中执行查找操作产生踏板值反馈603,因此VCL控制器502的输出603可能由于由规划模块304提供的偏离目标速度601而是错误的。
在一个实施方式中,VRP模块503被配置成基于从VOL控制器501产生的踏板值602和由扭矩/踏板转换器504产生的踏板值607来产生用于VCL控制器502的反馈踏板值606。踏板值607表示应用于车辆平台510的实际踏板百分比,以维持在该时间点处的实际速度。在一个实施方式中,扭矩/踏板转换器504将例如通过车辆的CAN总线从车辆平台510测量的扭矩608转换成踏板值607。在一个实施方式中,扭矩/踏板转换器504基于测量的扭矩608在扭矩/踏板映射表中执行查找操作以导出踏板值607。在一个实施方式中,扭矩/踏板映射表包括多个映射条目。每个映射条目将特定的扭矩值或扭矩值范围映射到踏板值。VRP模块503基于由VOL控制器501提供的踏板值602和由扭矩/踏板转换器504提供的踏板值607来计算预设踏板值606以配置VCL控制器502的输出603。
出于说明的目的,如果当前时间或命令周期称为时间t,前一时间或前一命令周期称为时间(t-Δt)。时间t的踏板值称为p(t),而时间(t-Δt)的踏板值称为p(t-Δt)。目标是生成尽可能地接近p(t-Δt)的p(t)605以应用于车辆平台510。扭矩/踏板转换器504将从车辆平台510测量的扭矩608转换成表示p(t-Δt)的踏板值607。基于由VOL控制器501提供的p(t)602和由扭矩/踏板转换器504提供的p(t-Δt)607,VRP模块503计算预设踏板值606。
在一个实施方式中,基于由扭矩/踏板转换器504提供的p(t-Δt)607与由VOL控制器501提供的p(t)602之间的差异(例如,约p(t-Δt)-p(t))来确定表示踏板值的预设踏板值606或反馈踏板值603。在一个实施方式中,可以基于踏板值603与踏板值607之间的加权差来确定预设踏板值606。踏板值603和踏板值607中的每一个可以与特定加权因子或权重系数相关联。计算的预设踏板值606将用作VCL控制器502的表示踏板值反馈的输出603的、绕过VCL控制器502的一些或全部内部操作的重要或主要部分。将要施加到车辆平台510的最终踏板值605将是例如踏板值p(t)602与踏板值603(例如,p(t-Δt)-p(t))的总和,其中最终踏板值605将接近p(t-Δt)。换言之,对于当前时间(t),最终踏板值p(t)605接近前一命令周期的p(t-Δt)。因此,可以减少由于最终踏板值p(t)与前一最终踏板值p(t-Δt)之间的差异而引起的突然加速或减速。此后,速率参考值p(t)将逐渐偏离速率反馈值p(t-Δt)。
图6B是示出根据本发明的一个实施方式的站点控制模块的处理的处理流程图。参考图6B,响应于由规划模块304确定的目标位置611,POL控制器511基于目标位置611确定速度参考值610A。在一个实施方式中,POL控制器511可以基于一段时间(例如,Δ时间或Δt)内位置之间的差异来确定速度参考值610A。例如,POL控制器511确定在不同的命令周期规划的两个目标位置之间的差异。基于位置的差异来确定速度参考值。换言之,POL控制器511确定从前一目标位置到达目标位置所需的速度,其可以是加速或减速,这取决于该时间点处的当前速度。
此外,可包括PID控制器的PCL控制器512基于从规划模块304接收的目标位置611与从车辆平台510测量的当前实际位置609之间的差异来生成速度参考值610B。所测量的位置609表示车辆的响应于在前一命令周期中发出的速度控制命令的实际位置。速度参考值610B表示速度反馈。随后速度控制模块310利用速度参考值610A至610B和目标速度601(统称为目标速度表示或目标速度参考值)来控制车辆的速度。
在一个实施方式中,基于目标速度601和速度参考值610A至610B(共同表示图6A的速度参考值610)来计算提供给速度控制模块310的最终速度参考值614(例如,目标速度参考值),在此示例中,为速度参考值601与速度参考值610A至610B的总和。在一个实施方式中,最终速度参考值614基于目标速度601与速度参考值610A至610B的加权和来确定。目标速度601和速度参考值610A至610B中的每一个与特定的加权因子或加权系数相关联,该特定的加权因子或加权系数可以基于先前的驾驶统计数据由诸如数据分析103的数据分析系统离线地确定。
当车辆以手动驾驶模式操作时,由于人类驾驶员正在控制车辆,因此POL控制器511、PCL控制器512不用于控制车辆的速度。当车辆从手动驾驶模式转换到自动驾驶模式时,规划模块304开始规划并产生车辆的目标位置和目标速度,在此示例中,为目标速度601和目标位置611。如上所述,由于不存在可用的先前驾驶数据作为参考值,因此规划的目标速度601和目标位置611可能不准确或者偏离目标。因此,车辆在此时间的目标速度601、速度参考值610A至610B和实际速度604之间的差异可能显著不同。由于PCL控制器512基于目标位置611与实际位置609之间的差异产生速度参考值610B,因此PCL控制器512的输出610B可能由于由规划模块304提供的偏离目标位置611而是错误的。
在一个实施方式中,PRP模块513被配置成基于从车辆平台510测量的实际速度604和由位置/速率转换器514提供的速度参考值612来产生用于PCL控制器512的速度参考值613。在一个实施方式中,位置/速率转换器514将例如经由车辆的CAN总线从车辆平台510测量的车辆的当前位置609转换成速度参考值612。在一个实施方式中,位置/速率转换器514基于在当前命令周期中测量的当前位置609与在前一命令周期中测量的先前位置之间的差异来确定速度参考值612(例如,速度参考值=(位置(t)-位置(t-Δt))/Δt)。诸如硬盘的永久性存储装置可以用于存储和维持随时间测量的先前位置。PRP模块513基于目标速度601、从车辆平台510测量的当前速度604、由位置/速率转换器514提供的速度参考值612以及由POL控制器511提供的速度参考值610A来计算用于配置PCL控制器512的输出610B的预设速度值613。
出于说明的目的,如果当前时间或命令周期称为时间t,前一时间或前一命令周期称为时间(t-Δt)。时间t的速度称为v(t),而时间(t-Δt)的速度称为v(t-Δt)。目标是生成尽可能地接近v(t-Δt)的v(t)614以提供给速度控制模块310。位置/速率转换器514将从车辆平台510测量的实际位置609转换成速度参考值612。基于基于测量速度604(称为V测量)和基于当前位置609转换的速度612而确定的v(t-Δt),PRP模块513计算代表测量的实际速度604和转换速度612(也称为额定(nominal)速度或V额定)的实际速度表示。实际速度表示可以是V测量和V额定的加权和。在一个实施方式中,实际速度表示可以定义为V测量和V额定的平均值,如下:
V实际=(V测量+V额定)/2
此后,PRP模块513基于目标速度601(V目标)、速度参考值610A(也称为开环速度或V开环)和实际速度表示V实际来计算预设速度值613。该预设可以表示V实际、V开环和V目标之间的差异。
在一个实施方式中,预设速度值613可以定义为:
预设=V实际–(V开环+V目标)
预设速度值613将用作PCL控制器512的表示速度反馈的输出610B的、绕过PCL控制器512的一些或全部内部操作的重要或主要部分。将要提供给速度控制模块310的最终速度参考值614将是例如目标速度601与速度参考值610A至610B之和,其中最终速度参考值614将接近v(t-Δt)。换言之,对于当前时间(t),最终速度参考值v(t)接近前一命令周期的v(t-Δt),如上所述,最终速度参考值v(t)可以由速度控制模块310用来确定踏板值以生成速度控制命令。
因此,在此实施方式中,考虑到响应于前一命令周期中发出的速度控制命令而测量的实际速度、实际位置和实际扭矩,基于当前命令周期的目标速度和目标位置来确定当前命令周期的速度控制命令。图6C是示出如图6A至图6B所示的速度控制模块和站点控制模块的组合的框图。
图7A是示出根据本发明的一个实施方式的速率闭环控制器的示例的框图。参考图7A,VCL控制器502包括PID控制器701和选择器逻辑702。选择器702被配置成选择来自PID控制器701的输出或来自VRP模块503的输出606。在一个实施方式中,VRP模块503以及如上所述涉及的其它部件在车辆正在以手动驾驶模式或自动驾驶模式操作时持续地或周期性地计算预设踏板值606A。在正常的自动驾驶模式期间,选择器702将选择PID控制器701的输出以成为VCL控制器502的输出。
响应于检测到驾驶模式从手动驾驶模式改变成自动驾驶模式(该检测可以由驾驶模式检测器306检测),触发信号606B被发送到选择器702以指示选择器702选择VRP模块503的输出(即,预设踏板值606A)以成为VCL控制器502的输出603。触发信号606B可以是逻辑低电平、逻辑高电平、上升沿或下降沿中的选择信号。逻辑电平或逻辑沿中的一个可以用于指示选择器702选择PID控制器701或VRP模块503的输出。在另一实施方式中,驾驶模式检测器306可以直接联接到选择器702以提供选择信号(例如,信号606B),而VRP模块503仅提供预设踏板值606A。在一个实施方式中,预设值606A可例如用于修改PID控制器701的一个或多个系数或参数,例如PID控制器701的Ki系数。这实际上预设了某些项,诸如PID控制器701的积分项。
图7B是示出根据本发明的一个实施方式的位置闭环控制器的示例的框图。参考图7B,PCL控制器512包括PID控制器711和选择器逻辑712。选择器712被配置成选择来自PID控制器711的输出或来自PRP模块513的输出613。在一个实施方式中,PRP模块513以及如上所述涉及的其它部件在车辆正在以手动驾驶模式或自动驾驶模式操作时持续地或周期性地计算预设速率值613A。在正常的自动驾驶模式期间,选择器712将选择PID控制器711的输出以成为PCL控制器512的输出。
响应于检测到驾驶模式从手动驾驶模式改变成自动驾驶模式(该检测可以由驾驶模式检测器306检测),触发信号613B被发送到选择器712以指示选择器712选择PRP模块513的输出(即,预设速率值613A)以成为PCL控制器512的输出610B。触发信号613B可以是逻辑低电平、逻辑高电平、上升沿或下降沿中的选择信号。逻辑电平或逻辑沿中的一个可以用于指示选择器712选择PID控制器711的输出或PRP模块513的输出。在另一实施方式中,驾驶模式检测器306可以直接联接到选择器712以提供选择信号(例如,信号613B),而PRP模块503仅提供预设踏板值606A。在一个实施方式中,预设值613A可例如用于修改PID控制器711的一个或多个系数或参数,例如PID控制器711的Ki系数。这实际上预设了某些项,诸如PID控制器711的积分项。
图8是示出根据本发明的一个实施方式的操作自动驾驶车辆的过程的流程图。过程800可以由处理逻辑来执行,该处理逻辑可以包括软件、硬件或其组合。例如,过程800可以由图3的控制模块305执行。参考图8,在操作801中,处理逻辑检测到ADV从手动驾驶模式转换到自动驾驶模式。响应于该检测,在操作802中,处理逻辑基于响应于前一命令周期中发出的速度控制命令而测量的ADV的位置(即,ADV的当前位置)来确定第一速度参考值(例如,速度参考值613或610B)。在操作803中,处理逻辑基于当前命令周期的ADV的目标位置来确定第二速度参考值(例如,速度参考值610A)。在操作804中,处理逻辑可选地基于第一速度参考值、第二速度参考值和当前命令周期的目标速度来确定表示踏板百分比的踏板值。在操作805中,处理逻辑基于踏板值或者可替代地基于第一速度参考值、第二速度参考值和目标速度来生成当前命令周期的速度控制命令。因此,在从手动驾驶模式转换到自动驾驶模式之前和之后,ADV以相似的加速度或减速度进行操作。
图9是示出根据本发明的另一实施方式的操作自动驾驶车辆的过程的流程图。过程900可以被执行图8的操作802的一部分。参考图9,在操作901中,处理逻辑基于GPS数据(例如,位置609)确定ADV的当前位置。在操作902中,处理逻辑测量ADV的当前速度(例如速度604),并且将ADV的当前位置转换为第一速度参考值(例如,速度参考值612)。在操作903中,处理逻辑基于该第一速度和从ADV测量的第二速度(例如,速度604)来确定ADV的实际速度表示。在操作904中,处理逻辑基于当前命令周期的ADV的目标位置来确定第三速度(例如,速度610A)。在操作905中,基于当前命令周期的实际速度表示、第三速度和目标速度(例如,速度601)来计算预设速度值(例如,预设613)。
图10是示出根据本发明的另一实施方式的操作自动驾驶车辆的过程的流程图。过程1000可以被执行图8的操作804的一部分。参考图10,在操作1001中,处理逻辑基于目标速度参考值(例如,速度参考值601和610)确定第一踏板值(例如,踏板值602)。在操作1002中,处理逻辑基于从车辆平台测量的扭矩确定第二踏板值(例如,踏板值607)。在操作1003中,处理逻辑基于第一踏板值和第二踏板值计算第三踏板值(例如,踏板值或预设606或踏板值603)。在操作1004中,处理逻辑基于第一踏板值和第三踏板值来确定最终踏板值(例如,踏板值605)。最终踏板值用来产生当前命令周期的速度控制命令。
需注意,如上所示和所述的一些或全部部件可以以软件、硬件或其组合来实现。例如,这类部件可以被实现为安装和存储在永久性存储装置中的软件,该软件可以加载在存储器中并且由处理器(未示出)执行,以执行本申请全文描述的过程或操作。可替代地,这类部件可以被实现为可编程或嵌入诸如集成电路的专用硬件(例如,专用IC或ASIC)、数字信号处理器(DSP)或者现场可编程门阵列(FPGA)中的可执行代码,其可以通过对应的驱动器和/或操作系统从应用程序来访问。此外,这类部件可以被实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件经由一个或多个特定指令访问的指令集的一部分。
图11是示出可以与本发明的一个实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可例如表示执行上述任何过程或方法的上述任何数据处理系统,例如图1的服务器103至104中的任何一个或感知与规划系统110。系统1500可以包括许多不同的部件。这些部件可以被实施为集成电路(IC)、集成电路的一部分、离散电子装置或者适用于电路板(诸如,计算机系统的主板或插入卡)的其它模块,或者实施为以其它方式并入计算机系统的机架内的部件。
还应注意,系统1500旨在示出计算机系统的许多部件的高阶视图。然而,应当理解的是,某些实施例中可以具有附加的部件,此外,其它实施例中可以具有所示部件的不同布置。系统1500可以表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏装置、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出了单个机器或系统,但是术语“机器”或“系统”还应当被理解为包括单独地或共同地执行一个(或多个)指令集以执行本文所讨论的任何一种或多种方法的机器或系统的任何集合。
在一个实施方式中,系统1500包括通过总线或互连件1510连接的处理器1501、存储器1503以及装置1505至1508。处理器1501可以表示其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器1501可以表示一个或多个通用处理器,诸如,微处理器、中央处理单元(CPU)等。更具体地,处理器1501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其它指令集的处理器、或实施指令集组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如,专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、通信处理器、加密处理器、协处理器、嵌入式处理器、或者能够处理指令的任何其它类型的逻辑。
处理器1501(其可以是低功率多核处理器套接口,诸如超低电压处理器)可以充当用于与所述系统的各种部件通信的主处理单元和中央集线器。这种处理器可以实施为片上系统(SoC)。处理器1501被配置成执行用于执行本文所讨论的操作和步骤的指令。系统1500还可以包括与可选的图形子系统1504通信的图形接口,图形子系统1504可以包括显示控制器、图形处理器和/或显示装置。
处理器1501可以与存储器1503通信,存储器1503在一个实施方式中可以经由多个存储器装置实施以提供给定量的系统存储。存储器1503可以包括一个或多个易失性存储(或存储器)装置,诸如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或者其它类型的存储装置。存储器1503可以存储包括由处理器1501或任何其它装置执行的指令序列的信息。例如,各种操作系统、装置驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用的可执行代码和/或数据可以加载到存储器1503中并由处理器1501执行。操作系统可以是任何类型的操作系统,例如,机器人操作系统(ROS)、来自公司的操作系统、来自苹果公司的Mac来自公司的LINUX、UNIX,或者其它实时或嵌入式操作系统。
系统1500还可以包括IO装置,诸如装置1505至1508,包括网络接口装置1505、可选的输入装置1506,以及其它可选的IO装置1507。网络接口装置1505可以包括无线收发器和/或网络接口卡(NIC)。所述无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其它射频(RF)收发器或者它们的组合。NIC可以是以太网卡。
输入装置1506可以包括鼠标、触摸板、触敏屏幕(其可以与显示装置1504集成在一起)、指针装置(诸如,手写笔)和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入装置1506可以包括联接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器例如可以使用多种触敏技术(包括但不限于电容、电阻、红外和表面声波技术)中的任一种,以及其它接近传感器阵列或用于确定与触摸屏接触的一个或多个点的其它元件来检测其接触和移动或间断。
IO装置1507可以包括音频装置。音频装置可以包括扬声器和/或麦克风,以促进支持语音的功能,诸如语音识别、语音复制、数字记录和/或电话功能。其它IO装置1507还可以包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,诸如加速度计运动传感器、陀螺仪、磁强计、光传感器、罗盘、接近传感器等)或者它们的组合。装置1507还可以包括成像处理子系统(例如,相机),所述成像处理子系统可以包括用于促进相机功能(诸如,记录照片和视频片段)的光学传感器,诸如电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)光学传感器。某些传感器可以经由传感器集线器(未示出)联接到互连件1510,而诸如键盘或热传感器的其它装置可以根据系统1500的具体配置或设计由嵌入式控制器(未示出)控制。
为了提供对诸如数据、应用、一个或多个操作系统等信息的永久性存储,大容量存储设备(未示出)也可以联接到处理器1501。在各种实施方式中,为了实现更薄且更轻的系统设计并且改进系统响应性,这种大容量存储设备可以经由固态装置(SSD)来实施。然而,在其它实施方式中,大容量存储设备可以主要使用硬盘驱动器(HDD)来实施,其中较小量的SSD存储设备充当SSD高速缓存以在断电事件期间实现上下文状态以及其它此类信息的非易失性存储,从而使得在系统活动重新启动时能够实现快速通电。另外,闪存装置可以例如经由串行外围接口(SPI)联接到处理器1501。这种闪存装置可以提供系统软件的非易失性存储,所述系统软件包括所述系统的BIOS以及其它固件。
存储装置1508可以包括计算机可访问的存储介质1509(也被称为机器可读存储介质或计算机可读介质),其上存储有体现本文所述的任何一种或多种方法或功能的一个或多个指令集或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可以表示上述部件中的任一个,例如规划模块304和/或控制模块305。处理模块/单元/逻辑1528还可以在其由数据处理系统1500、存储器1503和处理器1501执行期间完全地或至少部分地驻留在存储器1503内和/或处理器1501内,数据处理系统1500、存储器1503和处理器1501也构成机器可访问的存储介质。处理模块/单元/逻辑1528还可以通过网络经由网络接口装置1505进行传输或接收。
计算机可读存储介质1509也可以用来永久性地存储以上描述的一些软件功能。虽然计算机可读存储介质1509在示例性实施方式中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储所述一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被认为包括能够存储或编码指令集的任何介质,所述指令集用于由机器执行并且使得所述机器执行本发明的任何一种或多种方法。因此,术语“计算机可读存储介质”应当被认为包括但不限于固态存储器以及光学介质和磁性介质,或者任何其它非暂时性机器可读介质。
本文所述的处理模块/单元/逻辑1528、部件以及其它特征可以实施为分立硬件部件或集成在硬件部件(诸如,ASICS、FPGA、DSP或类似装置)的功能中。此外,处理模块/单元/逻辑1528可以实施为硬件装置内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件装置和软件部件的任何组合来实施。
应注意,虽然系统1500被示出为具有数据处理系统的各种部件,但是并不旨在表示使部件互连的任何特定架构或方式;因为此类细节和本发明的实施方式没有密切关系。还应当认识到,具有更少部件或可能具有更多部件的网络计算机、手持计算机、移动电话、服务器和/或其它数据处理系统也可以与本发明的实施方式一起使用。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其它技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和相似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储设备、传输或显示装置内类似地表示为物理量的其它数据。
本发明的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可以由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可以按不同的顺序执行。此外,一些操作可以并行地执行而不是顺序地执行。
本发明的实施方式并未参考任何特定的编程语言进行描述。应认识到,可以使用多种编程语言来实施如本文描述的本发明的实施方式的教导。
在以上的说明书中,已经参考本发明的具体示例性实施方式对本发明的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本发明的更宽泛精神和范围的情况下,可以对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。
Claims (22)
1.用于操作自动驾驶车辆的计算机实施方法,所述方法包括:
检测所述自动驾驶车辆从手动驾驶模式转换到自动驾驶模式;
基于当前命令周期的目标速度以及响应于在前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前位置,确定第一速度参考值;
基于所述当前命令周期的当前目标位置确定第二速度参考值;以及
基于所述第一速度参考值、所述第二速度参考值和所述当前命令周期的目标速度来生成用于控制所述自动驾驶车辆的速度的速度控制命令,使得所述自动驾驶车辆在从所述手动驾驶模式转换到所述自动驾驶模式之后以与转换到所述自动驾驶模式之前相似的加速率操作或者相似的减速率操作。
2.如权利要求1所述的方法,其中,确定第一速度参考值包括:
基于全球定位系统数据测量所述自动驾驶车辆的当前位置;以及
使用预定算法将所述自动驾驶车辆的当前位置转换为所述第一速度参考值。
3.如权利要求2所述的方法,其中,使用预定算法将所述自动驾驶车辆的当前位置转换为所述第一速度参考值包括:
使用所述预定算法基于所测量的所述自动驾驶车辆的当前位置确定第三速度参考值;以及
基于所述第三速度参考值和响应于在所述前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前速度,生成所述第一速度参考值。
4.如权利要求3所述的方法,其中,基于所述自动驾驶车辆的当前位置确定第三速度参考值包括:
确定在所述前一命令周期测量的所述自动驾驶车辆的前一位置;以及
基于所述自动驾驶车辆的当前位置与前一位置之间的差异计算所述第三速度参考值。
5.如权利要求1所述的方法,其中,基于当前命令周期的当前目标位置确定第二速度参考值包括:
确定所述自动驾驶车辆在所述前一命令周期的前一目标位置;以及
基于所述当前目标位置与所述前一目标位置之间的差异计算所述第二速度参考值。
6.如权利要求1所述的方法,还包括:
基于所述第一速度参考值、所述第二速度参考值以及所述当前命令周期的当前目标速度确定第一踏板值;以及
基于响应于在所述前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前速度确定第二踏板值,其中所述速度控制命令是基于所述第一踏板值和所述第二踏板值而生成的。
7.如权利要求6所述的方法,其中,确定第一踏板值包括:
响应于在所述前一命令周期发出的速度控制命令,基于来自所述自动驾驶车辆的传感器数据测量扭矩值,所述扭矩值表示所述自动驾驶车辆的扭矩;以及
使用预定算法将所述扭矩值转换为所述第一踏板值。
8.如权利要求7所述的方法,其中,将所述扭矩值转换成所述第一踏板值包括:基于所述扭矩值在扭矩/踏板映射表中执行查找操作,以及其中所述扭矩/踏板映射表包括多个映射条目,每个映射条目将给定的扭矩值映射到踏板值。
9.如权利要求6所述的方法,其中,基于所述自动驾驶车辆的当前速度确定第二踏板值包括:基于所述自动驾驶车辆的当前速度在速度到踏板转换表中执行查找操作。
10.如权利要求6所述的方法,其中,踏板值表示能够按压在所述自动驾驶车辆的油门踏板或制动踏板上的最大踏板距离的百分比。
11.非暂时性机器可读介质,所述非暂时性机器可读介质中存储有指令,所述指令在由处理器执行时致使所述处理器执行操作,所述操作包括:
检测自动驾驶车辆从手动驾驶模式转换到自动驾驶模式;
基于当前命令周期的目标速度以及响应于在前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前位置,确定第一速度参考值;
基于所述当前命令周期的当前目标位置确定第二速度参考值;以及
基于所述第一速度参考值、所述第二速度参考值和所述当前命令周期的目标速度来生成用于控制所述自动驾驶车辆的速度的速度控制命令,使得所述自动驾驶车辆在从所述手动驾驶模式转换到所述自动驾驶模式之后以与转换到所述自动驾驶模式之前相似的加速率操作或者相似的减速率操作。
12.如权利要求11所述的机器可读介质,其中,确定第一速度参考值包括:
基于全球定位系统数据测量所述自动驾驶车辆的当前位置;以及
使用预定算法将所述自动驾驶车辆的当前位置转换为所述第一速度参考值。
13.如权利要求12所述的机器可读介质,其中,使用预定算法将所述自动驾驶车辆的当前位置转换为所述第一速度参考值包括:
使用所述预定算法基于所测量的所述自动驾驶车辆的当前位置确定第三速度参考值;以及
基于所述第三速度参考值和响应于在所述前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前速度,生成所述第一速度参考值。
14.如权利要求13所述的机器可读介质,其中,基于所述自动驾驶车辆的当前位置确定第三速度参考值包括:
确定在所述前一命令周期测量的所述自动驾驶车辆的前一位置;以及
基于所述自动驾驶车辆的当前位置与前一位置之间的差异计算所述第三速度参考值。
15.如权利要求11所述的机器可读介质,其中,基于当前命令周期的当前目标位置确定第二速度参考值包括:
确定所述自动驾驶车辆在所述前一命令周期的前一目标位置;以及
基于所述当前目标位置与所述前一目标位置之间的差异计算所述第二速度参考值。
16.如权利要求11所述的机器可读介质,其中,所述操作还包括:
基于所述第一速度参考值、所述第二速度参考值以及所述当前命令周期的当前目标速度确定第一踏板值;以及
基于响应于在所述前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前速度确定第二踏板值,其中所述速度控制命令是基于所述第一踏板值和所述第二踏板值而生成的。
17.数据处理系统,包括:
处理器;以及
存储器,联接到所述处理器以存储指令,所述指令在由所述处理器执行时致使所述处理器执行操作,所述操作包括:
检测自动驾驶车辆从手动驾驶模式转换到自动驾驶模式,
基于当前命令周期的目标速度以及响应于在前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前位置,确定第一速度参考值,
基于所述当前命令周期的当前目标位置确定第二速度参考值,以及
基于所述第一速度参考值、所述第二速度参考值和所述当前命令周期的目标速度来生成用于控制所述自动驾驶车辆的速度的速度控制命令,使得所述自动驾驶车辆在从所述手动驾驶模式转换到所述自动驾驶模式之后以与转换到所述自动驾驶模式之前相似的加速率操作或者相似的减速率操作。
18.如权利要求17所述的系统,其中,确定第一速度参考值包括:
基于全球定位系统数据测量所述自动驾驶车辆的当前位置;以及
使用预定算法将所述自动驾驶车辆的当前位置转换为所述第一速度参考值。
19.如权利要求18所述的系统,其中,使用预定算法将所述自动驾驶车辆的当前位置转换为所述第一速度参考值包括:
使用所述预定算法基于所测量的所述自动驾驶车辆的当前位置确定第三速度参考值;以及
基于所述第三速度参考值和响应于在所述前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前速度,生成所述第一速度参考值。
20.如权利要求19所述的系统,其中,基于所述自动驾驶车辆的当前位置确定第三速度参考值包括:
确定在所述前一命令周期测量的所述自动驾驶车辆的前一位置;以及
基于所述自动驾驶车辆的当前位置与前一位置之间的差异计算所述第三速度参考值。
21.如权利要求17所述的系统,其中,基于当前命令周期的当前目标位置确定第二速度参考值包括:
确定所述自动驾驶车辆在所述前一命令周期的前一目标位置;以及
基于所述当前目标位置与所述前一目标位置之间的差异计算所述第二速度参考值。
22.如权利要求17所述的系统,其中,所述操作还包括:
基于所述第一速度参考值、所述第二速度参考值以及所述当前命令周期的当前目标速度确定第一踏板值;以及
基于响应于在所述前一命令周期发出的速度控制命令而测量的所述自动驾驶车辆的当前速度确定第二踏板值,其中所述速度控制命令是基于所述第一踏板值和所述第二踏板值而生成的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/075584 WO2018157386A1 (en) | 2017-03-03 | 2017-03-03 | Longitude cascaded controller preset for controlling autonomous driving vehicle reentering autonomous driving mode |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108834425A CN108834425A (zh) | 2018-11-16 |
CN108834425B true CN108834425B (zh) | 2021-07-20 |
Family
ID=63357612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780002536.9A Active CN108834425B (zh) | 2017-03-03 | 2017-03-03 | 用于控制自动驾驶车辆进入自动驾驶模式的方法及系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180251135A1 (zh) |
EP (1) | EP3386827A1 (zh) |
JP (1) | JP6606603B2 (zh) |
KR (1) | KR102047945B1 (zh) |
CN (1) | CN108834425B (zh) |
WO (1) | WO2018157386A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6380489B2 (ja) * | 2016-09-07 | 2018-08-29 | トヨタ自動車株式会社 | 車両の走行制御装置 |
DE102017208762A1 (de) * | 2017-05-23 | 2018-11-29 | Bayerische Motoren Werke Aktiengesellschaft | Fahrsystem zum automatisierten Fahren mit Mitteln zum Markieren von Bereichen am Lenkrad und entsprechendes Verfahren |
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 |
US11460842B2 (en) | 2017-08-28 | 2022-10-04 | Motional Ad Llc | Mixed-mode driving of a vehicle having autonomous driving capabilities |
US11112793B2 (en) * | 2017-08-28 | 2021-09-07 | Motional Ad Llc | Mixed-mode driving of a vehicle having autonomous driving capabilities |
US10513273B1 (en) * | 2017-09-28 | 2019-12-24 | Waymo Llc | Driver transition assistance for transitioning to manual control for vehicles with autonomous driving modes |
US11042159B2 (en) * | 2018-12-20 | 2021-06-22 | Toyota Motor North America, Inc. | Systems and methods for prioritizing data processing |
CN109765888B (zh) * | 2018-12-27 | 2021-12-31 | 东软睿驰汽车技术(沈阳)有限公司 | 一种车辆控制方法、装置及系统 |
CN109747652B (zh) * | 2018-12-27 | 2021-02-19 | 东软睿驰汽车技术(沈阳)有限公司 | 一种车辆控制方法、装置及系统 |
CN109795506B (zh) * | 2019-02-26 | 2021-04-02 | 百度在线网络技术(北京)有限公司 | 一种驾驶控制方法、装置及车辆 |
US11958183B2 (en) | 2019-09-19 | 2024-04-16 | The Research Foundation For The State University Of New York | Negotiation-based human-robot collaboration via augmented reality |
CN110745139B (zh) * | 2019-10-17 | 2021-06-01 | 北京百度网讯科技有限公司 | 车辆速度确定方法、装置及存储介质 |
CN113044037A (zh) * | 2019-12-28 | 2021-06-29 | 华为技术有限公司 | 智能汽车的控制方法、装置和控制系统 |
CN113911118A (zh) * | 2020-07-09 | 2022-01-11 | 奥迪股份公司 | 驾驶辅助方法和系统、车辆及计算机可读存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1989006196A1 (en) * | 1987-12-25 | 1989-07-13 | Mitsubishi Jidosha Kogyo Kabushiki Kaisha | Vehicle engine control unit |
DE19547716B4 (de) * | 1995-12-20 | 2008-12-24 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Regeln bzw. Begrenzen der Geschwindigkeit eines Fahrzeugs |
US6442472B1 (en) * | 2001-02-28 | 2002-08-27 | General Motors Corporation | Modification of pedal progression with acceleration feedback using electronic throttle control |
US7706976B1 (en) * | 2006-07-26 | 2010-04-27 | Trimble Navigation, Ltd. | Position based velocity estimator |
US8255103B2 (en) * | 2007-03-27 | 2012-08-28 | GM Global Technology Operations LLC | Electronic brake system pedal release transition control apparatus and method |
US8260482B1 (en) * | 2010-04-28 | 2012-09-04 | Google Inc. | User interface for displaying internal state of autonomous driving system |
JP5126320B2 (ja) * | 2010-08-30 | 2013-01-23 | トヨタ自動車株式会社 | 車両の制御装置 |
DE102012002318B4 (de) * | 2012-02-06 | 2023-02-23 | Audi Ag | Verfahren zum Betreiben eines Kraftwagens und Kraftwagen mit einem Fahrerassistenzsystem |
US8834317B2 (en) * | 2012-07-02 | 2014-09-16 | Ford Global Technologies, Llc | Hybrid vehicle and associated control method |
KR20140043536A (ko) * | 2012-09-24 | 2014-04-10 | 현대자동차주식회사 | 자율주행 차량의 차량 제어권 전환 방법 |
FR2996513B1 (fr) * | 2012-10-09 | 2014-11-28 | Peugeot Citroen Automobiles Sa | Procede et dispositif de controle de l’acceleration a imposer a un vehicule en cas de reactivation d’une fonction de regulation de vitesse |
EP2902864B1 (en) * | 2014-01-30 | 2017-05-31 | Volvo Car Corporation | Control arrangement for autonomously driven vehicle |
EP2930081B1 (en) * | 2014-04-08 | 2019-03-27 | Volvo Car Corporation | Method for transition between driving modes |
US9919717B2 (en) * | 2014-04-14 | 2018-03-20 | Mitsubishi Electric Corporation | Driving assistance device and driving assistance method |
KR20160076262A (ko) * | 2014-12-22 | 2016-06-30 | 엘지전자 주식회사 | 차량의 주행 모드 전환 장치 및 그 방법 |
JP2017001597A (ja) * | 2015-06-15 | 2017-01-05 | トヨタ自動車株式会社 | 自動運転装置 |
US10137872B2 (en) * | 2015-06-30 | 2018-11-27 | Hitachi Automotive Systems, Ltd. | Acceleration/deceleration control apparatus |
JP6376059B2 (ja) * | 2015-07-06 | 2018-08-22 | トヨタ自動車株式会社 | 自動運転車両の制御装置 |
CN105955099A (zh) * | 2016-04-26 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆的驾驶模式切换方法和装置 |
CN106218639B (zh) * | 2016-07-20 | 2019-01-11 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆、用于控制无人驾驶车辆的方法和装置 |
-
2017
- 2017-03-03 EP EP17844632.4A patent/EP3386827A1/en active Pending
- 2017-03-03 US US15/509,181 patent/US20180251135A1/en not_active Abandoned
- 2017-03-03 CN CN201780002536.9A patent/CN108834425B/zh active Active
- 2017-03-03 JP JP2018515297A patent/JP6606603B2/ja active Active
- 2017-03-03 KR KR1020187006438A patent/KR102047945B1/ko active IP Right Grant
- 2017-03-03 WO PCT/CN2017/075584 patent/WO2018157386A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP6606603B2 (ja) | 2019-11-13 |
CN108834425A (zh) | 2018-11-16 |
WO2018157386A1 (en) | 2018-09-07 |
US20180251135A1 (en) | 2018-09-06 |
EP3386827A4 (en) | 2018-10-17 |
EP3386827A1 (en) | 2018-10-17 |
JP2019509922A (ja) | 2019-04-11 |
KR20180111760A (ko) | 2018-10-11 |
KR102047945B1 (ko) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109070744B (zh) | 控制自动驾驶车辆重新进入自动驾驶模式的方法和系统 | |
CN108834425B (zh) | 用于控制自动驾驶车辆进入自动驾驶模式的方法及系统 | |
CN110533943B (zh) | 确定自动驾驶车辆的车道改变轨迹的方法 | |
CN109196432B (zh) | 用于自动驾驶车辆的速度控制参数估计方法、介质和系统 | |
CN108604095B (zh) | 确定操作自动驾驶车辆的转向率的方法、介质及处理系统 | |
CN109195841B (zh) | 用于自动驾驶车辆的完全停止的速度控制 | |
CN108255170B (zh) | 动态地调整自动驾驶车辆的速度控制率的方法 | |
CN108891417B (zh) | 用于操作自动驾驶车辆的方法及数据处理系统 | |
US10908608B2 (en) | Method and system for stitching planning trajectories from consecutive planning cycles for smooth control execution of autonomous driving vehicles | |
CN108391429B (zh) | 用于自主车辆速度跟随的方法和系统 | |
CN108628298B (zh) | 用于自动驾驶车辆的控制型规划和控制系统 | |
CN111615618B (zh) | 用于自动驾驶车辆的高速规划的基于多项式拟合的参考线平滑方法 | |
CN111240313A (zh) | 用于操作自动驾驶车辆的基于预定校准表的车辆控制系统 | |
WO2020010489A1 (en) | A speed control command auto-calibration system for autonomous vehicles | |
WO2020191711A1 (en) | A camera-based low-cost lateral position calibration method for level-3 autonomous vehicles | |
EP3659886B1 (en) | Method to determine vehicle load of autonomous driving vehicle using predetermined load calibration tables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |