CN113632033B - 车辆控制方法及装置 - Google Patents
车辆控制方法及装置 Download PDFInfo
- Publication number
- CN113632033B CN113632033B CN202080002617.0A CN202080002617A CN113632033B CN 113632033 B CN113632033 B CN 113632033B CN 202080002617 A CN202080002617 A CN 202080002617A CN 113632033 B CN113632033 B CN 113632033B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- value
- change rate
- determining
- front wheel
- 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 abstract description 132
- 230000008859 change Effects 0.000 claims abstract description 348
- 230000033001 locomotion Effects 0.000 claims abstract description 292
- 230000006870 function Effects 0.000 claims description 225
- 230000015654 memory Effects 0.000 claims description 57
- 238000004891 communication Methods 0.000 claims description 41
- 230000006399 behavior Effects 0.000 claims description 28
- 230000001133 acceleration Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 24
- 230000004927 fusion Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 13
- 238000013500 data storage Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 230000008447 perception Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 241001465754 Metazoa Species 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 241000282414 Homo sapiens Species 0.000 description 1
- 101001093748 Homo sapiens Phosphatidylinositol N-acetylglucosaminyltransferase subunit P Proteins 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000000779 depleting effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 230000000979 retarding effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/0098—Details of control systems ensuring comfort, safety or stability not otherwise provided for
-
- 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
- B60W30/02—Control of vehicle driving stability
-
- 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/06—Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
-
- 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/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0013—Optimal controllers
-
- 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/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
- B60W2050/0031—Mathematical model of the 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
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
- B60W2050/0031—Mathematical model of the vehicle
- B60W2050/0033—Single-track, 2D vehicle model, i.e. two-wheel bicycle model
-
- 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/30—Road curve radius
-
- 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/80—Spatial relation or speed relative to objects
- B60W2554/802—Longitudinal distance
-
- 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
- B60W2710/00—Output or target parameters relating to a particular sub-units
- B60W2710/20—Steering 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
- B60W2710/00—Output or target parameters relating to a particular sub-units
- B60W2710/20—Steering systems
- B60W2710/205—Steering 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/30—Wheel torque
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
本申请公开了一种车辆控制方法及装置,涉及自动驾驶技术领域,用于根据车辆的动力学模型、道路的运动学模型、轮胎摩擦力模型和车辆的状态信息,来确定前轮转角变化率和车轮力矩的取值,从而避免规划路径不合适的问题。该方法包括:根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围。根据车辆的前轮转角变化率的取值范围及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值。根据车辆的车轮力矩的取值范围及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值。根据车辆的前轮转角变化率的取值和车轮力矩的取值,控制车辆运动。
Description
技术领域
本申请涉及自动驾驶技术领域,尤其涉及一种车辆控制方法及装置。
背景技术
自动驾驶车辆又称无人驾驶车辆,是一种通过电脑系统实现无人驾驶的智能车辆。自动驾驶车辆依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同合作,让电脑可以在没有任何人类主动的操作下,自动安全地操作机动车辆。由于道路路况复杂,自动驾驶车辆行驶在道路中,需要躲避车辆、行人等非固定障碍物,还需要躲避静止行人等固定障碍物,为了保证自动驾驶车辆的安全,现有技术中通常采用路径规划的方式对车辆的行驶路径进行规划,以使得车辆避开障碍物行驶。路径规划是指,在具有障碍物的环境中,按照一定的评价标准,寻找一条从起始状态到目标状态的无碰撞路径。
在现有技术中,路径规划的方法主要有两种,一种是基于人工势场法的路径规划方法,将车辆在周围环境中的运动抽象为引力场中的运动,障碍物和道路边界处为斥力场,目标点为引力场,按照斥力场和引力场叠加后得到的梯度下降方向生成规划路径。随后,车辆根据该规划路径、车辆的运动学模型以及车辆当前状态,对其行驶过程中的车轮转角等进行调整,使得车辆按照规划路径行驶。另一种是基于快速搜索随机树(rapidly random-exploring tree,RRT)的路径规划方法,对空间中的随机采样点进行搜索,根据随机采样点以及随机采样点间的连线是否与障碍物区域产生碰撞,来确定起始点与目标点之间的规划路径。随后,车辆根据“预瞄-跟随”的驾驶员模型对车辆行驶中的车轮转角等进行控制,以使得车辆按照规划路径行驶。
但是,在上述两种路径规划方法中,可能会出现规划路径不合适的情况,例如根据规划路径所确定的车辆行驶过程中的前轮转角过大,违背车辆的运动规律,以使得车辆不能按照该前轮转角进行行驶,或者前轮转角的变化率不稳定,以使得车辆的行驶轨迹曲折。
发明内容
本申请提供一种车辆控制方法及装置,根据车辆的动力学模型、道路的运动学模型、轮胎摩擦力和滑移率模型以及车辆的状态信息,来确定车辆的控制信息的取值范围,从而得到符合动力学规律的车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,解决规划路径不合理的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种车辆控制方法,应用于自动驾驶技术领域中,该方法包括:根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围。其中,车辆的动力学模型用于表示车辆的运动状态的变化规律,车辆所在道路的运动学模型表示车辆和车辆所在道路的道路边沿的相对位置的变化规律,车辆的轮胎摩擦力模型用于表示车辆的轮胎摩擦力的变化规律。随后,根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值。其中,车辆的横向运动目标函数为关于车辆的前轮转角变化率的函数,该横向运动目标函数表示车辆的横向运动与理想横向运动之间的偏差。根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值。其中,车辆的纵向运动目标函数为关于车辆的车轮力矩的函数,车辆的纵向运动目标函数表示车辆的纵向运动与理想纵向运动之间的偏差。最后,根据车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,来控制车辆的运动。
在本申请实施例所描述的车辆控制方法中,通过上述过程,车辆的前轮转角变化率的取值范围和车辆的车轮力矩的取值范围,是根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型和车辆的状态信息来确定的。因此,根据该取值范围确定的车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,符合车辆的运动学和动力学规律,可以在车辆的行驶能力范围内,控制车辆运动,很好的解决现有技术中存在的规划路径不合适的问题。
在一种可能的实现方式中,若车辆的状态信息包括车辆在起始点的状态信息,和车辆在终止点的状态信息。其中,起始点为车辆在初始时刻所处的位置,终止点为车辆在运动结束后所处的位置。则根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围,包括:根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型。其中,车辆-道路动力学模型表示车辆的动力学模型和车辆所在道路的运动学模型之间的关联关系。然后,根据车辆在起始点的状态信息、车辆在终止点的状态信息,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第一取值范围以及车辆的车轮力矩的第二取值范围。最后,确定第一取值范围为前轮转角变化率的取值范围,确定第二取值范围为车辆的车轮力矩的取值范围。
在本申请实施例所描述的车辆控制方法中,通过上述过程,前轮转角变化率的第一取值范围和车轮力矩的第二取值范围,是根据车辆的动力学模型、车辆所在道路的运动学模型、轮胎摩擦力模型和车辆在起始点和终止点的状态信息来确定的。因此,根据该第一取值范围和第二取值范围确定的车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,符合车辆的运动学和动力学规律,可以在车辆的行驶能力范围内,控制车辆运动,更好的解决现有技术中存在的规划路径不合适的问题。
在一种可能的实现方式中,若车辆的状态信息包括车辆与障碍物的距离、预设安全距离(即车辆与障碍物之间的预设距离)、障碍物与道路边沿的距离、车辆的宽度以及车辆所在道路的宽度。则根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围,包括:首先,根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型,车辆-道路动力学模型表示车辆的动力学模型和车辆所在道路的运动学模型之间的关联关系。然后,根据第一约束条件,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第三取值范围,以及车辆的车轮力矩的第四取值范围。其中,第一约束条件为道路边沿与车辆的距离的取值范围,第一约束条件根据所述车辆的状态信息得到。最后,确定第三取值范围为车辆的前轮转角变化率的取值范围,确定第四取值范围为车辆的车轮力矩的取值范围。
在本申请实施例所描述的车辆控制方法中,通过上述过程,车辆的前轮转角变化率的第三取值范围和车辆的车轮力矩的第四取值范围,是根据车辆的动力学模型、车辆所在道路的运动学模型、轮胎摩擦力模型和第一约束条件来确定的。第一约束条件为道路边沿与车辆的距离的取值范围,因此,根据该第三取值范围和第四取值范围确定的车辆的前轮转角变化率和车辆的车轮力矩,符合车辆的运动学和动力学规律,可以在车辆的行驶能力范围内,控制车辆运动,还可以避免车辆与道路边沿之间的碰撞,从而更好的解决现有技术中存在的规划路径不合适的问题。
在一种可能的实现方式中,若车辆的状态信息包括车辆的最大纵向速度、车辆的最大前轮转角、最大前轮转角变化率、车辆的最大横摆角以及车辆的最大横摆角加速度。那么,根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围,包括:首先,根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型,其中,车辆-道路动力学模型表示车辆的动力学模型和车辆所在道路的运动学模型之间的关联关系。然后,根据第二约束条件,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第五取值范围,以及车辆的车轮力矩的第六取值范围。其中,第二约束条件包括车辆的最大纵向速度、车辆的最大前轮转角,以及车辆的最大前轮转角变化率,第二约束条件根据所述车辆的状态信息得到。最后,确定第五取值范围为车辆的前轮转角变化率的取值范围,确定第六取值范围为车辆的车轮力矩的取值范围。
在本申请实施例所描述的车辆控制方法中,通过上述过程,前轮转角变化率的第五取值范围和车轮力矩的第六取值范围,是根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型和第二约束条件来确定的。第二约束条件为车辆的最大纵向速度、车辆的最大前轮转角,以及车辆的最大前轮转角变化率,因此,根据该第五取值范围和第六取值范围确定的车辆的前轮转角变化率和车辆的车轮力矩,符合车辆的运动学和动力学规律,可以在车辆的行驶能力范围内控制车辆运动,从而更好的解决现有技术中存在的规划路径不合适的问题,还可以保证车辆在运动过程中不失稳,提高车辆自动驾驶的安全性和舒适性。
在一种可能的实现方式中,第二约束条件还包括车辆的最大横摆角和/或车辆的最大横摆角加速度。
需要说明的是,通过上述过程,当第二约束条件中所包含的参数项越多,则根据该第二约束条件所确定的车辆控制信息(包括车辆的前轮转角变化率和车辆的车轮力矩)的取值范围越符合车辆的运动规律,可以更好的解决规划路径不合适的问题,车辆在运动过程中的稳定性越高,即车辆自动驾驶的安全性和舒适性越好。
在一种可能的实现方式中,根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、所述车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围,包括:对第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到车辆的前轮转角变化率的取值范围。对第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到车辆的车轮力矩的取值范围。
需要说明的是,相对于根据起始点的状态信息和终止点的状态信息、第一约束条件或者第二约束条件,来确定车辆的前轮转角变化率和车辆的车轮力矩的取值范围,根据车辆的状态信息(包括车辆在起始点的状态信息和车辆在终止点的状态信息)、第一约束条件以及第二约束条件中的至少两项来确定车辆控制信息的取值范围,可以使车辆控制量的取值范围越符合车辆的运动规律,即在车辆的行驶能力范围内,从而更好的解决规划路径不合适的问题。
在一种可能的实现方式中,若车辆与障碍物的距离小于或等于预设安全距离,则根据障碍物与道路边沿的距离、车辆的宽度以及车辆所在道路的宽度,确定第一约束条件。若车辆与障碍物的距离大于预设安全距离,则车辆的宽度以及车辆所在道路的宽度,确定第一约束条件。
通过上述过程,利用车辆与障碍物的距离的取值范围,来确定车辆控制信息的取值范围,在使车辆控制信息符合车辆的运动规律的同时,保证车辆与障碍物之间保持一定的距离,以避免碰撞,解决现有技术中规划路径不合适的问题。
在一种可能的实现方式中,根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值,包括:根据车辆的前轮转角变化率的取值范围,确定车辆的横向运动目标函数的最小取值。然后,确定车辆的横向运动目标函数的最小取值对应的车辆的前轮转角变化率的取值为前轮转角变化率。
在一种可能的实现方式中,根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值,包括:根据车辆的车轮力矩的取值范围,确定车辆的纵向运动目标函数的最小取值。然后,确定车辆的纵向运动目标函数的最小取值对应的车辆的车轮力矩的取值为车辆的车轮力矩。
在一种可能的实现方式中,根据车辆的前轮转角变化率的取值范围,确定车辆的横向运动目标函数的最小取值,包括:首先,在车辆的前轮转角变化率的取值范围内,针对车辆的前轮转角变化率的每个取值,确定车辆的前轮转角变化率的取值对应的车辆的纵向速度、车辆的航向角、道路边沿的航向角、车辆轨迹的曲率、道路边沿的曲率,以及车辆与障碍物的距离。然后,根据车辆的航向角与道路边沿的航向角的差值、车辆轨迹的曲率与道路边沿的曲率的差值、车辆的前轮转角变化率的取值以及车辆与障碍物的距离与障碍物影响半径的差值,分别确定车辆的前轮转角变化率的每个取值对应的车辆的横向运动目标函数的取值。最后,确定车辆的横向运动目标函数的最小取值。
通过上述过程,利用车辆的横向目标函数的最小取值来确定车辆的前轮转角变化率的取值,可以使得车辆在横向运动可以避开障碍物的同时,尽可能的使车辆的运动轨迹与道路边沿平行。另,在车辆运动的其他条件均满足时,车辆的前轮转角变化率的取值越小,则车辆的运动状态越稳定,即车辆运动过程中的舒适性和安全性会更高。
在一种可能的实现方式中,根据车辆的车轮力矩的取值范围,确定车辆的纵向运动目标函数的最小取值,包括:在车辆的车轮力矩的取值范围内,针对车辆的车轮力矩的每个取值,确定车辆的车轮力矩的取值对应的车辆的纵向速度以及目标纵向速度。根据车辆的车轮力矩的取值,以及车辆的纵向速度与目标纵向速度的差值,分别确定车辆的车轮力矩的每个取值对应的车辆的纵向目标函数的取值。最后,确定车辆的纵向目标函数的最小取值。
通过上述过程,在车辆运动的其他条件均满足时,车辆的车轮力矩的取值越小,则车辆的运动状态越稳定,即车辆运动过程中的舒适性和安全性会更高。
第二方面,本申请实施例提供一种车辆控制装置,应用于自动驾驶技术领域中,该装置包括确定单元和控制单元。
在一种可能的实现方式中,确定单元,用于根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围。其中,车辆的动力学模型用于表示车辆的运动状态的变化规律,车辆所在道路的运动学模型表示车辆和车辆所在道路的道路边沿相对位置的变化规律,车辆的轮胎摩擦力模型用于表示车辆的轮胎摩擦力的变化规律。确定单元,还用于根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值。其中,车辆的横向运动目标函数为关于车辆的前轮转角变化率的函数,车辆的横向运动目标函数表示车辆的横向运动与理想横向运动之间的偏差。确定单元,还用于根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值。其中,车辆的纵向运动目标函数为关于车辆的车轮力矩的函数,车辆的纵向运动目标函数表示车辆的纵向运动与理想纵向运动之间的偏差。控制单元,用于根据车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,控制车辆运动。
在一种可能的实现方式中,若车辆的状态信息包括车辆在起始点的状态信息,和车辆在终止点的状态信息。其中,起始点为车辆在初始时刻所处的位置,终止点为车辆在运动结束后所处的位置。则确定单元,用于根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围,包括:根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型。其中,车辆-道路动力学模型表示车辆的动力学模型和道路的运动学模型之间的关联关系。然后,根据车辆在起始点的状态信息、车辆在终止点的状态信息,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第一取值范围以及车辆的车轮力矩的第二取值范围。最后,确定第一取值范围为车辆的前轮转角变化率的取值范围,确定第二取值范围为车辆的车轮力矩的取值范围。
在一种可能的实现方式中,若车辆的状态信息包括车辆与障碍物的距离、预设安全距离、障碍物与道路边沿的距离、车辆的宽度以及车辆所在道路的宽度,其中,预设安全距离为车辆与障碍物之间的预设距离。则确定单元,用于根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围,包括:首先,根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型,车辆-道路动力学模型表示车辆的动力学模型和道路的运动学模型之间的关联关系。然后,根据第一约束条件,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第三取值范围,以及车辆的车轮力矩的第四取值范围。其中,第一约束条件为道路边沿与车辆的距离的取值范围,第一约束条件根据所述车辆的状态信息得到。最后,确定第三取值范围为车辆的前轮转角变化率的取值范围,确定第四取值范围为车辆的车轮力矩的取值范围。
在一种可能的实现方式中,若车辆的状态信息包括车辆的最大纵向速度、车辆的最大前轮转角、车辆的最大前轮转角变化率、车辆的最大横摆角以及车辆的最大横摆角加速度。那么,确定单元,用于根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围,包括:首先,根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型,车辆-道路动力学模型表示车辆的动力学模型和道路的运动学模型之间的关联关系。然后,根据第二约束条件,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第五取值范围,以及车辆的车轮力矩的第六取值范围。其中,第二约束条件包括车辆的最大纵向速度、车辆的最大前轮转角,以及车辆的最大前轮转角变化率,第二约束条件根据所述车辆的状态信息得到。最后,确定第五取值范围为车辆的前轮转角变化率的取值范围,确定第六取值范围为车辆的车轮力矩的取值范围。
在一种可能的实现方式中,第二约束条件还包括车辆的最大横摆角和/或车辆的最大横摆角加速度。
在一种可能的实现方式中,确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、所述车辆的状态信息,确定前轮转角变化率的取值范围以及车轮力矩的取值范围,包括:对第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到车辆的前轮转角变化率的取值范围。对第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到车辆的车轮力矩的取值范围。
在一种可能的实现方式中,确定单元,还用于若车辆与障碍物的距离小于或等于预设安全距离,则根据障碍物与道路边沿的距离、车辆的宽度以及车辆所在道路的宽度,确定第一约束条件。若车辆与障碍物的距离大于预设安全距离,则车辆的宽度以及车辆所在道路的宽度,确定第一约束条件。
在一种可能的实现方式中,确定单元,还用于根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率,包括:根据车辆的前轮转角变化率的取值范围,确定车辆的横向运动目标函数的最小取值。然后,确定车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为前轮转角变化率。
在一种可能的实现方式中,确定单元,还用于根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值,包括:根据车辆的车轮力矩的取值范围,确定车辆的纵向运动目标函数的最小取值。然后,确定车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为车辆的车轮力矩。
在一种可能的实现方式中,确定单元,还用于根据车辆的前轮转角变化率的取值范围,确定车辆的横向运动目标函数的最小取值,包括:首先,在车辆的前轮转角变化率的取值范围内,针对车辆的前轮转角变化率的每个取值,确定车辆的前轮转角变化率的取值对应的车辆的纵向速度、车辆的航向角、道路边沿的航向角、车辆轨迹的曲率、道路边沿的曲率,以及车辆与障碍物的距离。然后,根据车辆的航向角与道路边沿的航向角的差值、车辆轨迹的曲率与道路边沿的曲率的差值、前轮转角变化率的取值以及车辆与障碍物的距离与障碍物影响半径的差值,分别确定车辆的前轮转角变化率的每个取值对应的车辆的横向运动目标函数的取值。最后,确定车辆的横向运动目标函数的最小取值。
在一种可能的实现方式中,确定单元,还用于根据车辆的车轮力矩的取值范围,确定车辆的纵向运动目标函数的最小取值,包括:在车辆的车轮力矩的取值范围内,针对车辆的车轮力矩的每个取值,确定车辆的车轮力矩的每个取值对应的车辆的纵向速度以及目标纵向速度。根据车辆的车轮力矩的取值,以及车辆的纵向速度与目标纵向速度的差值,分别确定车辆的车轮力矩的每个取值对应的车辆的纵向目标函数的取值。最后,确定车辆的纵向目标函数的最小取值。
第三方面,本申请提供一种车辆控制装置,其特征在于,包括:处理器、存储器和通信接口。其中,通信接口用于与其他设备或通信网络通信,存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当该装置运行时,处理器执行存储器存储的所述计算机执行指令以使该装置执行第一方面及其各种可选的实现方式中任意之一所述的车辆控制方法。
第四方面,本申请提供一种存储一个或多个程序的计算机可读存储介质,计算机可读存储介质中存储有指令,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行第一方面及其各种可选的实现方式中任意之一所述的车辆控制方法。
第五方面,本申请提供一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得所述计算机执行第一方面及其各种可选的实现方式中任意之一所述的车辆控制方法。
附图说明
图1为本申请实施例提供的一种自动驾驶车辆的结构示意图一;
图2为现有技术中的一种自动驾驶车辆的结构示意图;
图3为现有技术中的一种基于人工势场法的路径规划方法示意图;
图4为现有技术中的一种基于快速搜索随机树的路径规划方法示意图;
图5为本申请实施例提供的一种自动驾驶车辆的结构示意图二;
图6为本申请实施例提供的一种计算机系统的结构示意图;
图7为本申请实施例提供的一种芯片系统的结构示意图;
图8为本申请实施例提供的一种云侧指令自动驾驶车辆的应用示意图一;
图9为本申请实施例提供的一种云侧指令自动驾驶车辆的应用示意图二;
图10为本申请实施例提供的一种计算机程序产品的结构示意图;
图11为本申请实施例提供的车辆控制方法流程示意图;
图12为本申请实施例提供的车辆的状态信息示意图一;
图13为本申请实施例提供的车辆的状态信息示意图二;
图14为本申请实施例提供的第一约束条件的示意图;
图15的(a)为本申请实施例提供的车辆的状态信息示意图三;
图15的(b)为本申请实施例提供的车辆的状态信息示意图四;
图16为本申请实施例提供的道路坐标系的示意图;
图17为本申请实施例得到的车辆行驶轨迹的示意图;
图18为现有技术中得到的车辆行驶轨迹的示意图一;
图19为现有技术中得到的车辆行驶轨迹的示意图二;
图20为本申请实施例提供的车辆控制装置的结构示意图一;
图21为本申请实施例提供的车辆控制装置的结构示意图二。
具体实施方式
为了解决现有技术中所存在的上述技术问题,本申请提出了一种车辆控制方法,下面结合附图对本申请的实施方式进行详细描述。
本申请实施例提供的车辆控制方法应用在具有自动驾驶功能的车辆上,或者应用于具有控制自动驾驶功能的其他设备(比如云端服务器)中。车辆可通过其包含的组件(包括硬件和软件)实施本申请实施例提供的车辆控制方法,根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型,以及车辆的状态信息,来确定车辆控制信息的取值范围,例如车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围。然后,根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值,并根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值。最后,根据车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,控制车辆运动。或者,其他设备(比如服务器)用于实施本申请实施例的车辆控制方法,确定车辆控制信息,即前轮转角变化率和车轮力矩,并根据该车辆控制信息,控制车辆运动。该其他设备还可以将得到的用于控制车辆运动的前轮转角变化率和车轮力矩发给车辆。其中,车辆的动力学模型用于表示车辆运动状态的变化规律,车辆所在道路的运动学模型表示车辆和道路边沿相对位置的变化规律,轮胎摩擦力模型用于表示车辆的轮胎摩擦力的变化规律。
图1是本申请实施例提供的一种自动驾驶车辆的结构示意图。在一个实施例中,将车辆100配置为自动驾驶模式。例如,车辆100可以在处于自动驾驶模式时,基于车辆控制信息控制车辆完成跟车、车道保持、自动泊车、避障等动作,其中,车辆控制信息根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型及车辆的状态信息确定。
车辆100可包括各种子系统,例如行进系统110、传感器系统120、控制系统130、一个或多个外围设备140、电源150、计算机系统160以及用户接口170。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
行进系统110可包括为车辆100提供动力运动的组件。在一个实施例中,行进系统110可包括引擎111、传动装置112、能量源113和车轮114。引擎111可以是内燃引擎、电动机、空气压缩引擎或与其他类型的引擎的组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111可以将能量源113转换成机械能量。
能量源113的类型有很多种,例如汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源等,能量源113也可以为车辆100的其他子系统提供能量。
传动装置112可以将来自引擎111的机械动力传送到车轮114,以改变车轮114的转速等。传动装置112可包括变速箱、差速器和驱动轴等器件中的至少一项,其中,驱动轴可以耦合到一个或多个车轮114的一个或多个轴。在一个实施例中,传动装置112还可以包括其他器件,比如离合器。
传感器系统120可包括感测车辆100周边环境信息的若干个传感器。例如,传感器系统120包括定位系统121(例如GPS系统、北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)122、激光雷达123、测距仪124以及相机125等传感器中的至少一项。传感器系统120还包括车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。这些传感器收集到的一个或多个传感器数据均可用于检测对象及其相应特性(位置、形状、方向、速度等),这种检测和识别是实现车辆100的安全操作的关键。
定位系统121可用于估计车辆100的地理位置。IMU122用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU122可以是加速度计和陀螺仪的组合。
激光雷达123可利用激光来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,激光雷达123还可用于感测物体的位置、速度和/或前进方向。
测距仪124可用于感测车辆100的周边环境中的物体与车辆100的距离。
相机125可用于捕捉车辆100的周边环境的多个图像。相机125可以是静态相机或视频相机。
控制系统130可控制车辆100及其组件的操作。控制系统130可包括各种元件,例如转向系统131、油门132、制动单元133、计算机视觉系统134、路线控制系统135以及障碍规避系统136中的至少一个。
转向系统131用于根据前轮转角变化率调整车辆100的前进方向。例如转向系统131可以为方向盘系统。
油门132通过控制引擎111的操作速度来进一步控制车辆100的速度。
制动单元133用于控制车辆100减速,制动单元133可利用摩擦力来减小车轮114的转速。可选的,制动单元133可以通过将车轮114的动能转换为电流,来减小车轮114的转速,制动单元133也可采取其他形式来减小车轮114的转速,进而控制车辆100的速度。
计算机视觉系统134可以对相机125捕捉到的图像进行处理和分析,以识别车辆100周边环境中的物体和/或物体的特征。其中,车辆100周围环境中的物体和/或物体特征包括交通信号、道路边界和障碍物等。在一些实施例中,计算机视觉系统134可使用物体识别算法、运动中恢复结构(structure from motion,SFM)算法、视频跟踪或其他计算机视觉技术中的至少一种,完成绘制环境地图、跟踪物体、估计物体速度等等操作。
路线控制系统135用于确定控制车辆100运动的车辆控制信息。在一些实施例中,路线控制系统135可结合来自传感器系统120中的传感器数据以及一个或多个预定地图数据,为车辆100确定车辆控制信息,从而根据车辆控制信息控制车辆运动。
障碍规避系统136用于识别和评估障碍物,并规划越过车辆100的周围环境中的潜在障碍物的方式,例如躲避绕行、跟随、减速等。
当然,可选的,控制系统130可以增加除了上述组件之外的其他组件,也可以减少上述组件中的一部分,或者利用其他组件替换上述组件。
车辆100通过用户接口170与外部传感器、其他车辆、其他计算机系统等外围设备140进行交互。外围设备140可包括无线通信系统141、车载电脑142、麦克风143、扬声器144和/或其他外围设备中的至少一个。示例性的,车载电脑142可通过用户接口170向车辆100或车辆100的用户提供信息,并接收来自车辆100或车辆100的用户的信息。在一些实施例中,车载电脑142可以通过触摸屏进行操作。在其他情况中,用户接口170还可以提供车辆100与位于车辆100内的其它设备通信的手段。例如,麦克风143可通过用户接口170从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可通过用户接口170向车辆100的用户输出音频。
无线通信系统141可以用于经由通信网络或者直接与一个或多个设备进行无线通信。例如,无线通信系统141可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE,或者5G蜂窝通信,无线通信系统141还可利用WiFi或者其他无线协议与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统141可利用红外链路、蓝牙或ZigBee与设备,例如各种车辆通信系统,直接通信。可选的,无线通信系统141可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备。
电源150可向车辆100的各种组件提供电力。在一个实施例中,电源150可以为可再充电锂离子或铅酸电池,将这种电池的一个或多个电池组配置为电源,为车辆100的各种组件提供电力。在一些实施例中,例如一些全电动车,电源150和能量源113可一起实现。
车辆100的部分或全部功能受计算机系统160控制。计算机系统160可包括至少一个处理器161,处理器161执行存储在例如数据存储装置162这样的非暂态计算机可读介质中的指令1621。计算机系统160还可以采用分布式方式来控制车辆100的个体组件或子系统中的多个计算机设备。其中,处理器161可以是任何常规的处理器,诸如商业可获得的中央处理单元(central processing unit,CPU)。可选地,该处理器可以是诸如专用集成电路(application specific integrated circuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同物理外壳中的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机系统、或存储器实际上可以包括可以存储在相同的物理外壳内的多个处理器、计算机系统、或存储器,或者包括可以不存储在相同的物理外壳内的多个处理器、计算机系统、或存储器。例如,存储器可以是硬盘驱动器,或位于不同于物理外壳内的其它存储介质。因此,对处理器或计算机系统的引用将被理解为包括对可以并行操作的处理器或计算机系统或存储器的集合的引用,或者可以不并行操作的处理器或计算机系统或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,只执行与特定组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些由布置在车辆内的处理器上执行,而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,数据存储装置162可包含指令1621(例如,程序逻辑),指令1621可被处理器161执行来执行车辆100的各种功能,包括以上描述的那些功能。数据存储装置162也可包含额外的指令,包括向行进系统110、传感器系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令1621以外,数据存储装置162还可存储数据,例如道路地图、路线信息、车辆100的位置和/或方向和/或速度、其它车辆的数据以及其他信息等,车辆100在自主、半自主和/或手动驾驶模式中时,上述数据和相关信息可被车辆100和计算机系统160使用。
比如,在一种可能的实施例中,数据存储装置162可以获取车辆基于激光雷达123的测速、测距功能,得到的其他车辆与自身之间的距离、其他车辆的形状信息以及其他车辆的速度等信息。数据存储装置162还可以从传感器系统120或车辆100的其他组件获取环境信息,环境信息例如可以为车辆当前所处环境附近是否有绿化带、车道、行人等,或者车辆通过机器学习算法计算当前所处环境附近是否存在绿化带、行人等。除上述内容外,数据存储装置162还可以存储该车辆自身的状态信息,以及与该车辆有交互的其他车辆的状态信息,其中,车辆的状态信息包括但不限于车辆的速度、加速度、航向角等。如此,处理器161可从数据存储装置162获取这些信息,并基于车辆所处环境的环境信息,例如车辆所在道路的信息、车辆自身的状态信息、其他车辆的状态信息,以及车辆的动力学模型、车辆所在道路的运动学模型、轮胎摩擦力模型,得到车辆控制信息,包括前轮转角变化率以及车轮力矩等,并根据该前轮转角变化率和车轮力矩控制车辆100自动驾驶。
用户接口170,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可与外围设备140的集合内的一个或多个输入/输出设备进行交互,例如无线通信系统141、车载电脑142、麦克风143和扬声器144中的一个或多个。
计算机系统160可基于从各种子系统(例如,行进系统110、传感器系统120和控制系统130)获取的信息以及从用户接口170接收的信息来控制车辆100。例如,计算机系统160可根据来自控制系统130的信息,例如前轮转角变化率,控制转向系统131更改车辆前进方向,从而规避由传感器系统120和障碍规避系统136检测到的障碍物。在一些实施例中,计算机系统160可对车辆100及其子系统的许多方面进行控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置162可以部分或完全地与车辆100分开存在。上述组件可以通过有线和/或无线的方式耦合在一起进行通信。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
在道路行进的自动驾驶汽车,如上面的车辆100,可以根据其周围环境内的其他车辆以确定对当前速度、前轮转角、车轮力矩的调整指令。其中,车辆100周围环境内的物体可以是交通控制设备、或者绿化带等其它类型的物体。在一些示例中,可以独立地考虑周围环境内的每个物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,来确定车辆100的速度、前轮转角、车轮力矩的调整指令,或者说是车辆行驶控制量。
可选地,作为自动驾驶汽车的车辆100或者与其相关联的计算机设备(如图1的计算机系统160、计算机视觉系统134、数据存储装置162)可以基于所识别的物体的形状信息和周围环境的状态(例如,交通、雨、道路上的冰、等等)来控制车辆的运动。可选地,每一个所识别的物体都依赖于彼此的行为,因此,还可以对所识别的所有物体进行整体考虑,来预测单个所识别的物体的行为。车辆100能够基于预测的所识别的物体的行为来调整它的车辆控制信息。换句话说,自动驾驶汽车能够基于障碍物、道路信息以及车辆的状态信息等来确定车辆需要调整到什么稳定状态(例如,加速、减速、或者停止)。在这个过程中,也可以考虑其它因素来确定车辆100的速度、前轮转角、前路力矩的调整指令,诸如,车辆100在行驶的道路中的位置、道路的曲率、静态和障碍物与车辆的距离等等。
计算机设备可以通过提供修改车辆100的前轮转角变化率、车轮力矩、速度的指令,使得自动驾驶汽车维持自动驾驶汽车与附近的物体(例如相邻车道中的轿车)的安全横向和纵向距离。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
在本申请的另一些实施例中,自动驾驶车辆还可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
参见图2,现有技术中,示例性的,车辆中可以包括以下模块:
感知融合模块201,用于通过路侧传感器与车载传感器获取道路环境中的车辆、行人、路面物体的信息。车辆在自动驾驶过程中,需要充分感知周边环境,尤其是车辆周边的其他车辆目标。路侧传感器与车载传感器可以是摄像头、激光雷达、毫米波雷达等,感知融合模块201获取到的数据可以是原始采集的视频流、雷达的点云数据。对于原始的视频流数据、雷达的点云数据,感知融合模块201可以将这些数据处理成可识别的结构化的人、车、物的位置、速度、转向角度、尺寸大小等数据,并将这些数据传递给行为决策模块202,为自动驾驶车辆的决策规划提供更为精细且准确的信息,以便于生成行为决策(例如变道、超车、跟随、减速或者停车等)。
行为决策模块202:该模块是自动驾驶车辆所具备的传统控制模块,其作用是根据从感知融合模块201接收的道路信息、车辆状态信息(包括车辆位置信息),以及障碍物信息(包括障碍物位置)等数据生成行为决策(例如变道、超车、跟随、减速或者停车等),并向轨迹规划模块发送该行为决策。
轨迹规划模块203:用于根据从行为决策模块202中获取到的行为决策,结合相关的环境信息,包括车辆的状态信息、道路信息、以及障碍物信息等,进行路径规划,确定一条免碰撞的路径,并将该路径发送给车辆控制模块204。
车辆控制模块204:用于根据从轨迹规划模块203接收到的路径,进行轨迹跟踪,从而确定具体的操控指令。该操控指令用于控制车辆根据该路径进行行驶,以保证车辆安全,实现车辆的自动驾驶。可选的,车辆控制模块204,还用于在确定操控指令后,根据车辆的运动学模型或者动力学模型等,确定在根据该路径行驶后的状态信息,并将该状态信息发送给感知融合模块201。其中,车辆的状态信息中包括车辆的位置、车辆的横摆角、车辆的横摆角速度、前轮转角、车辆的质心侧偏角等等。
示例性的,如图3所示,以基于人工势场法的路径规划方法为例,轨迹规划模块203获取道路环境信息(包括障碍物信息),然后根据获取到的信息,在车辆周围构建虚拟的势场,包括障碍物势场、边界势场,以及目标点势场。其中,障碍物势场和边界势场为斥力场,目标点势场为引力场。随后,按照斥力场和引力场叠加后得到的梯度下降方向生成规划路径,即利用最快下降梯度求解方法,将车辆在周围环境中的运动抽象为引力场中的运动,确定规划路径,并将该规划路径发送给车辆控制模块204。车辆控制模块204从轨迹规划模块203接收规划路径后,根据车辆的当前状态信息、当前的车辆控制信息、非线性车辆模型(例如车辆的运动学模型),进行平衡点线性化处理和预测控制量求解,以反复求解得到车辆控制信息,即车辆控制信息,使得车辆根据该车辆控制信息控制车辆运动,使车辆按照规划路径运动。最后,车辆控制模块204确定车辆按照该规划路径运动结束后的状态信息,并将该状态信息发送给感知融合模块201。
示例性的,如图4所示,以基于快速搜索随机树(rapidly random-exploringtree,RRT)的路径规划方法为例,轨迹规划模块203获取道路环境信息(包括障碍物信息),然后根据获取到的信息,在初始化随机树的基础上,对车辆周围空间中的节点进行采样,确定随机采样点。再从随机采样点中与起始点最近的采样点开始查找,来对随机树的节点进行扩展。然后进行碰撞检测,即根据起始点/其他节点以及节点间的连线是否与障碍物区域产生碰撞,若不发生碰撞,则将该节点和该节点与起始点/其他节点的连线添加到RRT中。在遍历所有的随机采样点后,根据RRT确定起始点与目标点之间的规划路径,并将该规划路径发送给车辆控制模块204。可选的,车辆控制模块204根据“预瞄-跟随”的驾驶员模型,考虑驾驶员的前视,通过计算驾驶员的前视点与规划路径中的期望目标点之间的偏差,确定车辆控制信息,例如方向盘转角等。车辆控制模块204根据该车辆控制信息控制车辆运动,以使得车辆按照规划路径行驶,并确定车辆按照该规划路径运动结束后的状态信息,将该状态信息发送给感知融合模块201。
可选的,感知融合模块201,还用于接收车辆控制模块204发送的车辆按照规划路径行驶后的车辆的状态信息,并将该状态信息以及其他传感器收集到的信息进行融合后,发送给行为决策模块202。
车载通信模块(图2中并未示出):用于自车和其他车之间的信息交互。
存储组件(图2中并未示出),用于存储上述各个模块的可执行代码。运行这些可执行代码可实现本申请实施例的部分或全部方法流程。
在现有技术中,通常会利用快速搜索随机树,或者人工势场法来确定规划路径,在这两种路径规划方法中可能会出现规划路径不合适的情况。例如根据规划路径所确定的车辆行驶过程中的前轮转角过大,违背车辆的运动规律,以使得车辆不能按照该前轮转角进行行驶,或者前轮转角的变化率不稳定,以使得车辆的行驶轨迹曲折。
为了解决上述问题,本申请实施例提供了一种自动驾驶车辆的结构示意图,如图5所示,在该实施例中,车辆中可以包括以下模块:感知融合模块301、行为决策模块302、车辆控制模块303、车载通信模块以及存储组件等。其中,感知融合模块301和行为决策模块302的介绍,可以参见上述关于感知融合模块201和行为决策模块202的介绍,在此不再赘述。
车辆控制模块303,用于接收行为决策模块302做出的行为决策,并根据该行为决策,确定车辆的状态信息。随后,车辆控制模块303,还用于根据车辆的状态信息、车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型以及车辆的状态信息,确定车辆控制信息的取值范围,即车辆的车轮转角变化率的取值范围和车辆的车轮力矩的取值范围。车辆控制模块303,还用于根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值,根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值。车辆控制模块303,还用于根据车辆的前轮转交变化率的取值和车辆的车轮力矩的取值,控制车辆运动,并确定车辆运动结束后的状态信息,将该状态信息发送给感知融合模块301。
可选的,车辆控制模块303可以划分为车辆横向控制模块3031和车辆纵向控制模块3032。车辆横向控制模块3031,用于根据车辆的横向动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型,以及车辆的状态信息,确定车辆的前轮转角变化率的取值范围。车辆横向控制模块3031,还用于根据车辆的横向运动目标函数和车辆的前轮转角变化率的取值范围,确定车辆的前轮转角变化率的取值。车辆横向控制模块3031,还用于根据车辆的前轮转角变化率的取值控制车辆运动。车辆纵向控制模块3032,用于根据车辆的纵向动力学模型、车辆的轮胎摩擦力模型,以及车辆的状态信息,确定车辆的车轮力矩的取值范围。车辆纵向控制模块3032,还用于根据车辆的车轮力矩的取值范围,确定车辆的车轮力矩的取值。车辆纵向控制模块3032,还用于根据车辆的车轮力矩的取值,控制车辆运动。车辆横向控制模块3031和车辆纵向控制模块3032,还用于在车辆运动结束后,确定车辆的状态信息,并将该状态信息发送给感知融合模块301。
需要说明的是,在上述过程中,确定车辆控制信息的取值范围时,考虑到了车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型,从而使得最终确定的车辆控制信息更加符合车辆的运动规律,解决现有技术中存在的规划路径不合适的问题。
在本申请实施例的一种可能的实现方式中,如图6所示,图1所示的计算机系统160包括处理器401,处理器401和系统总线402耦合,处理器401可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)403可以驱动显示器424,显示器424和系统总线402耦合。系统总线402通过总线桥404和输入输出(I/O)总线(BUS)405耦合,I/O接口406和I/O总线405耦合,I/O接口406和多种I/O设备进行通信,比如输入设备407(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)408,(例如,CD-ROM,多媒体接口等)。收发器409(可以发送和/或接收无线电通信信号),摄像头410(可以捕捉静态和动态数字视频图像)和外部通用串行总线(Universal Serial Bus,USB)端口411。其中,可选地,和I/O接口406相连接的接口可以是USB接口。
其中,处理器401可以是任何传统处理器,包括精简指令集计算(ReducedInstruction Set Computer,RISC)处理器、复杂指令集计算(Complex Instruction SetComputer,CISC)处理器或上述的组合。可选地,处理器401还可以是诸如专用集成电路(ASIC)的专用装置。可选地,处理器401还可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
可选地,在本申请所述的各种实施例中,计算机系统160可位于远离自动驾驶车辆的地方,且与自动驾驶车辆100无线通信。在其它方面,本申请所述的一些过程可设置在自动驾驶车辆内的处理器上执行,其它一些过程由远程处理器执行,包括采取执行单个操纵所需的动作。
计算机系统160可以通过网络接口412和软件部署服务器(deploying server)413通信。可选的,网络接口412可以是硬件网络接口,比如网卡。网络(network)414可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(VPN),可选地,network414还可以为无线网络,比如WiFi网络、蜂窝网络等。
硬盘驱动器接口415和系统总线402耦合。硬盘驱动器接口415和硬盘驱动器416相连接。系统内存417和系统总线402耦合。运行在系统内存417的数据可以包括计算机系统160的操作系统(OS)418和应用程序419。
操作系统(OS)418包括但不限于Shell 420和内核(kernel)421。Shell 420是介于使用者和操作系统418的kernel 421间的一个接口。Shell 420是操作系统418最外面的一层。shell管理使用者与操作系统418之间的交互:等待使用者的输入,向操作系统418解释使用者的输入,并且处理各种各样的操作系统418的输出结果。
内核421由操作系统418中用于管理存储器、文件、外设和系统资源的部分组成,直接与硬件交互。操作系统418的内核421通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等功能。
应用程序419包括自动驾驶相关的程序423,比如,管理自动驾驶汽车和路上障碍物交互的程序,控制自动驾驶汽车的车辆控制信息或者速度的程序,控制自动驾驶汽车和路上其他汽车/自动驾驶汽车交互的程序等。应用程序419也存在于deploying server 413的系统上。在一个实施例中,在需要执行应用程序419时,计算机系统160可以从deployingserver 413下载应用程序419。
又比如,应用程序419可以是控制车辆根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的运动状态、车辆的横向运动目标函数、车辆的纵向运动目标函数以及车辆控制模块确定车辆控制信息的应用程序。计算机系统160的处理器401调用该应用程序419,得到车辆控制信息。
传感器422和计算机系统160关联。传感器422用于探测计算机系统160周围的环境。举例来说,传感器422可以探测动物,汽车,障碍物和/或人行横道等。进一步传感器422还可以探测上述动物,汽车,障碍物和/或人行横道等物体周围的环境。比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,动物周围环境的光亮度等。可选地,如果计算机系统160位于自动驾驶的汽车上,传感器422可以是摄像头,红外线感应器,化学检测器,麦克风等器件中的至少一项。
在本申请的另一些实施例中,本申请实施例的车辆控制方法还可以由芯片系统执行。参见图7,是本申请实施例提供的一种芯片系统的结构图。
神经网络处理器(neural-network processing unit,NPU)50作为协处理器挂载到主CPU(host CPU)上,由host CPU为NPU 50分配任务。NPU 50的核心部分为运算电路503。示例性的,通过控制器504控制运算电路503,使得运算电路503利用从存储器中提取的矩阵数据进行乘法运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。可选的,运算电路503还可以是一维脉动阵列,或者是能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路503从权重存储器502中获取权重矩阵B相应的数据,并缓存在运算电路503中的每一个PE上。运算电路503还从输入存储器501中获取输入矩阵A相应的数据,进而根据输入矩阵A和权重矩阵B进行矩阵运算,将矩阵运算的部分结果或最终结果保存在累加器(accumulator)508中。
又比如,运算电路503可用于实现特征提取模型(如卷积神经网络模型),并将图像数据输入卷积神经网络模型,通过该模型的运算,得到图像的特征。进而,将图像特征输出到分类器,由分类器输出图像中物体的分类概率。
统一存储器506用于存放输入数据以及输出数据。外部存储器中的权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)505被送往到权重存储器502中。外部存储器中的输入数据可通过DMAC被搬运到统一存储器506中,或者被搬运到输入存储器501中。
总线接口单元(bus interface unit,BIU)510,用于高级扩展接口(advancedextensible interface,AXI)总线与DMAC和取指存储器(instruction fetch buffer)509的交互。还用于取指存储器509从外部存储器获取指令,还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器(DDR)中的输入数据搬运到统一存储器506,或将权重数据搬运到权重存储器502中,或将输入数据搬运到输入存储器501中。
示例性的,在本申请实施例中,若使用DQN模型计算目标对应的目标类别、目标形状信息以及目标跟踪信息等数据时,输入数据可以是DQN模型的输入数据,即车辆周边环境中的目标对象(比如与车辆有交互的其他车辆)的激光雷达点云数据等信息。输出数据为DQN模型的输出数据,即车辆周边环境中目标的目标类别、目标形状信息以及目标跟踪信息等数据。
向量计算单元507可包括多个运算处理单元。用于在需要的情况下,可以对运算电路503的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如池化(Pooling),批归一化(BatchNormalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元507将经处理的输出向量存储到统一存储器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出向量还能够用作运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器504连接取指存储器(instruction fetch buffer)509,控制器504使用的指令可存储在取指存储器509中。
作为一种可能的实现方式,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为On-Chip存储器。外部存储器私有于该NPU 50硬件架构。
结合图1、图5至图6,主CPU和NPU 50共同配合,可实现图1中车辆100所需功能的相应算法,也可实现图5所示车辆所需功能的相应算法,也可以实现图6所示计算机系统160所需功能的相应算法。
在本申请的另一些实施例中,计算机系统160还可以从其它计算机系统接收信息或转移信息到其它计算机系统。或者,从车辆100的传感器系统120收集的传感器数据可以被转移到另一个计算机,由另一计算机对此数据进行处理。如图8所示,来自计算机系统160的数据可以经由网络被传送到云侧的计算机系统610用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备执行,诸如调制解调器和无线接口。
在一个示例中,计算机系统610可以包括具有多个计算机的服务器,例如负载均衡服务器群。为了从计算机系统160接收、处理并传送数据,服务器620与网络的不同节点交换信息。该计算机系统610可以具有类似于计算机系统160的配置,并具有处理器630、存储器640、指令650和数据660。
在一个示例中,服务器620的数据660可以包括提供道路环境、车辆等相关的信息。例如,服务器620可以接收、监视、存储、更新、以及传送与周边环境中障碍物、车辆、道路环境相关的各种信息。该信息可以包括例如以报告形式、雷达信息形式、预报形式等的障碍物信息、车辆的状态信息以及道路信息。
参见图9,为自主驾驶车辆和云服务中心(云服务器)交互的示例。云服务中心可以经诸如无线通信网络的网络711,从其操作环境700内的自动驾驶车辆713、712接收信息(诸如车辆传感器收集到数据或者其它信息)。
云服务中心720根据接收到的数据,运行其存储的控制汽车自动驾驶相关的程序对自动驾驶车辆713、712进行控制。控制汽车自动驾驶相关的程序可以为:管理自动驾驶汽车和路上障碍物交互的程序,或者控制自动驾驶汽车运动或者速度的程序,或者控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。
示例性的,云服务中心720通过网络711可将地图的部分提供给车辆713、712。在其它示例中,可以在不同位置之间划分操作。例如,多个云服务中心可以接收、证实、组合和/或发送信息报告。在一些示例中还可以在车辆之间发送信息报告和/传感器数据。其它配置也是可能的。
在一些示例中,云服务中心720向自动驾驶车辆发送关于环境内可能的驾驶情况所建议的解决方案(如,告知前方障碍物,并告知如何绕开它)。例如,云服务中心720可以辅助车辆确定当面对环境内的特定障碍时如何行进。云服务中心720向自动驾驶车辆发送指示该车辆应当在给定场景中如何行进的响应。例如,云服务中心720基于收集到的传感器数据,可以确认道路前方具有临时停车标志的存在,又比如,基于“车道封闭”标志和施工车辆的传感器数据,确定该车道由于施工而被封闭。相应地,云服务中心720发送用于车辆通过障碍的建议操作模式(例如:指示车辆变道另一条道路上)。云服务中心720观察其操作环境700内的视频流,并且已确认自动驾驶车辆能安全并成功地穿过障碍时,对该自动驾驶车辆所使用的操作步骤可以被添加到驾驶信息地图中。相应地,这一信息可以发送到该区域内可能遇到相同障碍的其它车辆,以便辅助其它车辆不仅识别出封闭的车道还知道如何通过。
在一些实施例中,所公开的方法可以实施为以机器可读格式,被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图10示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品800是使用信号承载介质801来提供的。信号承载介质801可以包括一个或多个程序指令802,其当被一个或多个处理器运行时可以提供以上针对图1、图5至图9描述的全部功能或者部分功能,或者可以提供后续实施例中描述的全部或部分功能。例如,参考图11中所示的实施例,S1101至S1104中的一个或多个特征可以由与信号承载介质801相关联的一个或多个指令来承担。此外,图10中的程序指令802也描述示例指令。
在一些示例中,信号承载介质801可以包含计算机可读介质803,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等等。在一些实施方式中,信号承载介质801可以包含计算机可记录介质804,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质801可以包含通信介质805,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质801可以由无线形式的通信介质805(例如,遵守IEEE 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令802可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,诸如针对图1、图5至图9描述的计算设备可以被配置为,响应于通过计算机可读介质803、和/或计算机可记录介质804、和/或通信介质805中的一个或多个传达到计算设备的程序指令802,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
为了解决现有技术中存在的规划路径不合适的问题,本申请实施例提供一种车辆控制方法,执行主体可以为上述图示中的处理器161、处理器401、处理器630等等,如图11所示,该方法包括步骤S1101-S1104:
S1101、根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围。
其中,车辆的动力学模型用于表示车辆运动状态的变化规律,即车辆受力与车辆运动状态变化之间的关系。车辆所在道路的运动学模型表示车辆和车辆所在道路的道路边沿相对位置的变化规律,即道路信息变化与车辆运动状态变化之间的关系。车辆的轮胎摩擦力模型用于表示车辆的轮胎摩擦力的变化规律,即车辆的轮胎所受摩擦力与滑移率之间的关系。车辆的车轮力矩中包括车辆前轮的车轮力矩以及车辆后轮的车轮力矩,也就是说车轮力矩的取值范围中包括车辆前轮的车轮力矩的取值范围,以及车辆后轮的车轮力矩的取值范围。
可选的,首先,根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型,建立车辆-道路动力学模型。其中,车辆-道路运动学模型用于表示车辆的动力学模型和道路的运动学模型之间的关联关系。然后,根据车辆的状态信息以及车辆-道路运动学模型,确定车辆控制信息的取值范围,即前轮转角变化率的取值范围和车轮力矩的取值范围。
可选的,车辆的动力学模型可以划分为横向动力学模型和纵向动力学模型。横向动力学模型用于表示车辆所受横向力与车辆横向运动状态变化之间的关系,纵向动力学模型用于表示车辆所受纵向力与车辆纵向运动状态变化之间的关系。
在一种可能的实现方式中,车辆的横向动力学模型和车辆的纵向动力学模型之间存在耦合关系。建立车辆的横向动力学模型与车辆所在道路的运动学模型之间的关联关系,该关联关系可以通过模型中涉及到的参数来体现。根据车辆的横向动力学模型、车辆的纵向动力学模型、轮胎摩擦力模型、车辆所在道路的运动学模型,以及上述关联关系和耦合关系,建立车辆-道路运动学模型。
在一种可能的实现方式中,车辆的横向动力学模型为关于车辆的位置(即车辆质心的位置)的变化率、车辆的质心侧偏角的变化率、车辆的横摆角的变化率、车辆的横摆角速度的变化率、前轮转角的变化率以及各个变化率之间的关联关系的函数。车辆所在道路的运动学模型为关于车辆与道路边沿的距离的变化率、道路边沿的航向角的变化率、道路边沿的长度的变化率以及各个变化率之间的关联关系的函数。车辆的纵向动力学模型为关于车辆的纵向速度的变化率、前轮角速度的变化率、后轮角速度(即驱动轮的角速度)的变化率以及各个变化率之间的关联关系的函数。车辆的轮胎摩擦力模型为关于道路附着系数、纵向滑移率、轮胎侧偏角,即轮胎相对于竖直方向偏离的角度、轮胎垂直载荷的函数。
可选的,在确定车辆-道路运动学模型后,根据该模型以及车辆的状态信息,可以确定车辆的前轮转角变化率的第一取值范围和车辆的车轮力矩的第二取值范围,并确定该第一取值范围为所求的车辆的前轮转角变化率的取值范围,确定该第二取值范围为所求的车辆的车轮力矩的取值范围。
其中,车辆的状态信息中包括车辆在起始点的状态信息,和车辆在终止点的状态信息。其中,起始点是车辆在初始时刻所处的位置,终止点是车辆在运动结束后所处的位置。
在一种可能的实现方式中,利用传感器以及计算等获取车辆在初始时刻的状态信息,包括起始点的位置、车辆在初始时刻的速度、车辆在初始时刻的质心侧偏角、车辆在初始时刻的横摆角、车辆在初始时刻的横摆角速度、车辆在初始时刻的前轮转角、车辆在初始时刻的纵向角速度、车辆在初始时刻的前轮角速度以及车辆在初始时刻的后轮角速度、障碍物在初始时刻的位置、障碍物的形状、障碍物在初始时刻的速度等信息,行为决策模块302会根据这些信息来做出行为决策,来确定车辆运动为变道、超车、跟随减速或者停车等,以及该运动的持续时间等。然后根据该行为决策,来确定车辆运动结束后的状态信息,包括终止点的位置。
在一种可能的实现方式中,在确定车辆-道路运动学模型后,根据该模型以及车辆在初始时刻的状态信息,可以确定车辆在初始时刻的一段时间后的状态信息的变化率,进而根据该变化率和车辆在初始时刻的状态信息,预测车辆在初始时刻后一段时间内的状态信息。然后,根据预测得到的车辆在初始时刻后一段时间内的状态信息,以及车辆在运动结束之后的状态信息,确定车辆的前轮转角变化率的第一取值范围和车辆的车轮力矩的第二取值范围,并确定该第一取值范围为所求的车辆的前轮转角变化率的取值范围,确定该第二取值范围为所求的车辆的车轮力矩的取值范围。
示例性的,车辆在起始点的状态信息为[X(t0),Y(t0),β(t0),r(t0),δ(t0),dr(t0),θr(t0),sr(t0),Vx(t0),wf(t0),wr(t0)]T=[Xini,Yini,βini,rini,δini,dr,ini,θr,ini,sr,ini,Vx,ini,wf,ini,wr,ini]T,其中,t0表示初始时刻。X和Y表示车辆的位置,β为车辆的质心侧偏角,θ为车辆的航向角,r为车辆的横摆角速度,δ为车辆的前轮转角,θr为道路边沿即道路边沿的航向角,dr为车辆与道路边沿的距离,sr为道路边沿的长度,Vx表示车辆的纵向速度,Wf表示车辆前轮的角速度,wr表示车辆后轮的角速度。根据车辆-道路运动学模型,得到各个参数项在t0时刻的变化率,进而预测车辆在t1时刻,即初始时刻的下一时刻的状态信息。从而可以确定一组前轮转角变化率的取值,以及一组车轮力矩的取值,即前轮转角变化率的第一取值范围以及车轮力矩的第二取值范围。然后,根据车辆在t1时刻的状态信息,重新确定各个参数项在t1时刻的变化率,进而预测车辆在t2时刻,即t1时刻的下一时刻的状态信息。然后循环进行上述过程,直到车辆状态迭代至在终止时刻的状态信息。根据行为决策模块302做出的行为决策,确定车辆在终止点的状态信息为[X(tf),Y(tf),β(tf),r(tf),δ(tf),dr(tf),θr(tf),sr(tf),Vx(tf),wf(tf),wr(tf)]T=[Xtarg,Ytarg,βtarg,rtarg,δtarg,dr,targ,θr,targ,sr,targ,Vx,targ,wf,targ,wr,targ]T,其中,tf表示终止时刻。
需要说明的是,车辆在起始点的状态信息可以作为车辆-道路运动学模型迭代更新的起点,其迭代更新所用的状态信息为预测得到的状态信息,其迭代更新的方法可以是龙格-库塔法,包括低阶龙格-库塔法、高阶龙格-库塔法、中阶龙格-库塔法。当然,也可以利用其它方法来对该车辆-道路运动学模型进行迭代更新。另,对车辆在终止点的状态信息进行约束来确定车辆控制信息的取值范围,以确保车辆在其运动终止时刻的安全性。
可选的,在确定车辆-道路运动学模型后,根据第一约束条件,以及该车辆-道路动力学模型,确定车辆的前轮转角变化率的第三取值范围以及车辆的车轮力矩的第四取值范围,并确定第三取值范围为所求车辆的前轮转角变化率的取值范围,确定第四取值范围为所求车辆的车轮力矩的取值范围。
其中,第一约束条件为道路边沿与车辆的距离的取值范围,该第一约束条件根据车辆的状态信息得到。
在一种可能的实现方式中,车辆的状态信息中包括车辆与障碍物的距离、预设安全距离、障碍物与道路边沿的距离、车辆的宽度以及道路的宽度。其中,预设安全距离为车辆与障碍物之间的预设距离。该预设安全距离可以是用户预先设定的,也可以是车辆根据当前场景来确定的。例如,在车辆行驶速度较快时,可以设定预设安全距离为较大的值;在车辆行驶速度较慢或者静止时,可以设定预设安全距离为较小的值。
示例性的,如图12所示,以障碍物为其他车辆B为例,第一约束条件为dmin≤dr≤dmax(dmin=d/2,ifΔs>ssafe;dmin=dobst+d,ifΔs≤ssafe),dmin表示车辆A与道路边沿的最小距离,dr表示车辆A与道路边沿的距离,dmax表示车辆A与道路边沿的最大距离,d为车辆A的宽度,Δs为车辆A与障碍物的距离,即车辆A上一点与车辆B上一点之间的最小距离,ssafe为车辆A与障碍物之间的预设安全距离,dobst表示障碍物与道路边沿的距离。若车辆与障碍物的距离小于或等于预设安全距离,则根据车辆的宽度,确定车辆与道路边沿的最小距离为车辆宽度的二分之一,车辆与道路边沿的最大距离为道路宽度与二分之一车辆宽度的差值,从而确定车辆与道路边沿的距离的取值范围,即第一约束条件。若车辆与障碍物的距离大于预设安全距离,则根据车辆的宽度、道路的宽度以及障碍物与道路边沿的距离,确定车辆与道路边沿的最小距离为障碍物与道路边沿的距离和车辆宽度的和,测量与道路边沿的最大距离为道路宽度与二分之一的车辆宽度的差值,从而确定车辆与道路边沿的距离的取值范围,即第一约束条件。
在一种可能的实现方式中,将第一约束条件中,车辆与道路边沿的可能取值输入车辆-道路运动学模型中,根据模型中各个参数项之间的关联关系,可以确定一组车辆的前轮转角变化率的取值以及一组车辆的车轮力矩的取值,即车辆的前轮转角变化率的第三取值范围以及车辆的车轮力矩的第四取值范围。
通过上述过程,利用车辆与障碍物的距离的取值范围,来确定车辆控制信息的取值范围,在使车辆控制信息符合车辆的运动规律的同时,保证车辆与障碍物之间保持一定的距离,以避免碰撞,解决现有技术中规划路径不合适的问题。
为了保证车辆在运动过程中不失稳,提高车辆自动驾驶的安全性和舒适性,可以对车辆的状态信息中的参数以及车辆控制信息中的控制量的取值进行限制。可选的,在确定车辆-道路运动学模型后,可以根据第二约束条件,以及该车辆-道路动力学模型,确定车辆的前轮转角变化率的第五取值范围以及车辆的车轮力矩的第六取值范围,并确定第五取值范围为所求车辆的前轮转角变化率的取值范围,确定第六取值范围为所求车辆的车轮力矩的取值范围。
其中,第二约束条件根据车辆的状态信息得到,该第二约束条件中包括车辆的最大纵向速度、车辆的最大前轮转角,以及车辆的最大前轮转角变化率。
在一种可能的实现方式中,车辆的状态信息中包括车辆的最大纵向速度Vxmax、车辆的最大前轮转角δmax、车辆的最大前轮转角变化率umax、车辆的最大横摆角以及车辆的最大横摆角加速度等等。
示例性的,第二约束条件包括|Vx(ti)|≤Vx,max,|δ(ti)|≤δmax,|u(ti)|≤umax。
在一种可能的实现方式中,第二约束条件中还包括车辆的最大横摆角和/或车辆的最大横摆角加速度rmax等。
示例性的,第二约束条件中还包括和/或|r(ti)|≤rmax。
在一种可能的实现方式中,将第二约束条件中的各个参数项的可能取值输入车辆-道路运动学模型中,根据模型中各个参数项之间的关联关系,可以确定都多组车辆的前轮转角变化率的取值以及多组车辆的车轮力矩的取值。对这多组车辆的前轮转角变化率的取值取交集,可以得到车辆的前轮转角变化率的第三取值范围,对这多组车辆的车轮力矩的取值取交集,可以得到车辆的车轮力矩的第四取值范围。
需要说明的是,当第二约束条件中所包含的参数项越多,则根据该第二约束条件所确定的车辆控制信息的取值范围越符合车辆的运动规律,可以更好的解决规划路径不合适的问题。
可选的,对第一取值范围、第三取值范围以及第五取值范围取交集,得到所求车辆的前轮转角变化率的取值范围,对第二取值范围、第四取值范围以及第六取值范围求交集,得到车辆的车轮力矩的取值范围。
可选的,在一种可能的实现方式中,对第一取值范围以及第三取值范围取交集,得到所求车辆的前轮转角变化率的取值范围,对第二取值范围以及第四取值范围取交集,得到车辆的车轮力矩的取值范围。或者,对第一取值范围以及第五取值范围取交集,得到所求前轮转角变化率的取值范围,对第二取值范围以及第六取值范围取交集,得到车辆的车轮力矩的取值范围。或者,对第三取值范围以及第五取值范围取交集,得到所求车辆的前轮转角变化率的取值范围,对第四取值范围以及第六取值范围取交集,得到车辆的车轮力矩的取值范围。或者,对第三取值范围、第三取值范围以及第五取值范围取交集,得到所求车辆的前轮转角变化率的取值范围,对第二取值范围、第四取值范围以及第六取值范围取交集,得到车辆的车轮力矩的取值范围。
需要说明的是,相对于根据起始点的状态信息和终止点的状态信息、第一约束条件或者第二约束条件中的一项或两项,来确定车辆的前轮转角变化率的取值范围和车辆的车轮力矩的取值范围,根据车辆的状态信息(包括车辆在起始点的状态信息和车辆在终止点的状态信息)、第一约束条件以及第二约束条件来确定车辆控制信息的取值范围,可以使车辆控制量的取值范围更加符合车辆的运动规律,即在车辆的行驶能力范围内,从而更好的解决规划路径不合适的问题。
另,根据车辆的前轮转角变化率和车辆的车轮力矩,即可以控制车辆运动,因此在本申请中,确定这两项作为车辆的控制信息,当然,用户可以确定其他可以控制车辆运动的控制项,作为车辆的控制信息。
S1102、根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值。
其中,车辆的横向运动目标函数为关于前轮转角变化率的函数,用于表示车辆的横向运动与其理想横向运动之间的偏差。
可选的,车辆的横向运动目标函数为J1(x,u1)=Jmov(x,u1)+Jobst(x)。其中,J1(x,u1)表示车辆的横向运动与其理想横向运动之间的偏差。Jmov(x,u1)表示车辆横向运动中车辆航向角与车辆所在道路的道路边沿的航向角的偏差,以及车辆轨迹曲率与车辆所在道路的道路边沿曲率的偏差。Jobst(x)为车辆与障碍物的距离的函数,车辆与障碍物的距离越小,则该函数的取值越大,用于表示车辆的避障行为与理想避障行为的偏差。其中,Jmov(x,u1)和Jobst(x)之间通过车辆的状态信息相关联。
示例性的,车辆的横向运动目标函数为其中,x表示车辆的状态信息,包括θ(τ)和κ(τ)等,u1表示车辆的前轮转角变化率,θ(τ)为车辆航向角,θr为车辆所在道路的道路边沿的航向角,κ(τ)为车辆轨迹曲率,κr为车辆所在道路的道路边沿的曲率,(θ(τ)-θr)表示车辆航向角与道路边沿的航向角的偏差,kθ为车辆航向角与道路边沿的航向角的偏差的权重,(κ(τ)-κr)表示车辆轨迹曲率与道路边沿的曲率的偏差,kκ为车辆轨迹曲率与道路边沿的曲率的偏差的权重。一般而言,车辆的横向运动目标函数的各项的权重越大,代表其重要度越高。kθ和kκ远大于前轮转角变化率的权重1/2,且kθ和kκ可以设置为有关于车辆纵向速度Vx的函数,车辆纵向速度越大时,kθ和kκ这两个权重的值越大。另,车辆的纵向速度乘以质心侧偏角就得到该车辆的横向速度,但是横向速度一般很小,对车辆运动的影响不大,因此,在此处未考虑车辆的横向速度。当然,用户也可以根据实际需求,将车辆的横向速度纳入考虑范围,来确定车辆的横向运动与理想横向运动之间的偏差。
示例性的,Jobst(x)=kobst[min((d-dinfl),0)]2。其中,x表示车辆的状态信息,包括车辆与障碍物的距离d。dinfl为障碍物影响半径,(d-dinfl)表示车辆与障碍物的距离和障碍物影响半径的差值,kobst表示该差值的权重。一般的,该权重kobst的取值为10000。如图13所示,若d大于或等于dinfl,则Jobst(x)的取值为0,若d小于dinfl,则Jobst(x)的取值为(d-dinfl)2。可选的,d的最小取值,即d1是大于等于0的,d1为车辆与障碍物之间的安全距离,该安全距离可以是预先设定的,也可以是根据当前场景自行确定的。
可选的,若J1(x,u1)的取值越小,则表示车辆的横向运动与理想横向运动之间的偏差越小。因此,根据前轮转角变化率的取值范围,确定横向目标函数的最小取值。然后,将该横向运动目标函数的最小取值对应的前轮转角变化率的取值,确定为所求的车辆的前轮转角变化率的取值。
在一种可能的实现方式中,在步骤S1101之后,可以利用“多点打靶法”等方式,来确定车辆的横向运动目标函数的可能取值,再确定车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值即为所求车辆的前轮转角变化率的取值。
首先,在车辆的前轮转角变化率的取值范围内,针对车辆的前轮转角变化率的每个取值,结合车辆-道路运动学模型,可以确定每个前轮转角变化率的取值对应的车辆的纵向速度、车辆的航向角、车辆所在道路的道路边沿的航向角、车辆轨迹的曲率、车辆所在道路的道路边沿的曲率,以及车辆与障碍物的距离。随后,根据车辆的航向角与道路边沿的航向角的差值、车辆轨迹的曲率与道路边沿的曲率的差值、前轮转角变化率的取值以及车辆与障碍物的距离与障碍物影响半径的差值,分别确定前轮转角变化率的每个取值对应的横向运动目标函数的取值。最后,确定车辆的横向运动目标函数的最小取值。
在一种可能的实现方式中,若车辆的横向运动目标函数的最小取值对应多个前轮转角变化率的取值,则确定这多个前轮转角变化率的取值中的最小值为所求车辆的前轮转角变化率的取值。
需要说明的是,车辆的横向运动会使得车辆远离道路边沿,而通过横向目标函数的最小取值来确定车辆控制信息的取值,可以使得车辆在横向运动可以避开障碍物的同时,尽可能的使车辆的运动轨迹与道路边沿平行。另,在车辆运动的其他条件均满足时,前轮转角变化率的取值越小,则车辆的运动状态越稳定,即车辆运动过程中的舒适性和安全性会更高。
S1103、根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值。
其中,车辆的纵向运动目标函数为关于车轮力矩的函数,用于表示车辆的纵向运动与其理想纵向运动之间的偏差。
可选的,车辆的纵向运动目标函数为J2(x,u2),表示车辆的纵向运动与其理想纵向运动之间的偏差。
示例性的,车辆的纵向运动目标函数为其中,J2(x,u2)表示车辆的纵向运动与理想纵向运动之间的偏差,x表示车辆的车辆刻的状态信息,包括车辆纵向速度Vx(τ),u2表示车辆的车轮力矩。Vr表示车辆的目标纵向速度,Vx(τ)-Vr表示车辆纵向速度与目标纵向速度的偏差,kv为该偏差的权重。kv远大于车辆的车轮力矩的权重1/2,该权重kv可以设置为有关于车辆纵向速度Vx的函数,车辆纵向速度越大时,kv的值越大。
可选的,若J2(x,u2)的取值越小,也就是说在车辆的车轮力矩尽可能小的情况下,保证车辆的纵向速度尽可能接近其目标纵向速度,则表示车辆的纵向运动与理想纵向运动之间的偏差越小。此时,车辆的运动状态也越稳定。因此,根据车辆的车轮力矩的取值范围,确定车辆的纵向运动目标函数的最小取值。然后,根据车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所求车辆的车轮力矩的取值。
在一种可能的实现方式中,在步骤S1101之后,可以利用“多点打靶法”等方式,确定车辆的纵向运动目标函数的取值,再确定车辆的纵向运动目标函数的最小取值对应的车辆的车轮力矩的取值即为所求车辆的车轮力矩的取值。
首先,在车辆的车轮力矩的取值范围内,针对车辆的车轮力矩的每个取值,确定车轮力矩的取值对应的车辆的纵向速度以及目标纵向速度。随后,根据车辆的车轮力矩的取值,以及车辆的纵向速度与目标纵向速度的差值,分别确定车辆的车轮力矩的每个取值对应的车辆的纵向目标函数的取值。最后,确定车辆的纵向目标函数的最小取值。
在一种可能的实现方式中,若车辆的纵向运动目标函数的最小取值对应多个车轮力矩,则确定这多个车轮力矩中的最小取值为所求车辆的车轮力矩的取值。
需要说明的是,在车辆运动的其他条件均满足时,车辆的车轮力矩的取值越小,则车辆的运动状态越稳定,即车辆运动过程中的舒适性和安全性会更高。
另,如图11所示,步骤S1102和步骤S1103均在步骤S1101之后执行即可,不需区分先后顺序。
S1104、根据车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,控制车辆运动。
在确定车辆的前轮转角变化率的取值和车辆的车轮力矩的取值后,控制车辆运动,然后获取车辆根据该前轮转角变化率和车轮力矩运动后的状态信息,并利用该状态信息重复进行上述步骤S1101-S1104,重新确定车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,并根据该重新确定的车辆的前轮转角变化率的取值和车辆的车轮力矩的取值控制车辆运动。通过重复上述步骤,可以得到车辆在初始时刻到终止时刻的运动中各个时刻的车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,从而控制车辆完成从初始时刻到终止时刻的运动。
通过上述过程,车辆控制信息,即车辆的前轮转角变化率的取值和车轮力矩的取值,是根据车辆的动力学模型、车辆所在道路的运动学模型、轮胎摩擦力模型和车辆的状态信息来确定的。因此,该取值车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,符合车辆的运动学和动力学规律,可以在车辆的行驶能力范围内控制车辆运动,很好的解决现有技术中存在的规划路径不合适的问题。
下面以示例结合图示等方式对本申请中涉及到的车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型以及上述模型中的各项参数进行详细介绍:
在一种可能的实现方式中,以直角坐标系为基础,可以更好的描述上述模型中的各项参数。在建立直角坐标系后,车辆的位置可以用其所处位置在直角坐标系中的坐标来表示。车辆的质心侧偏角为车辆质心的速度方向与车头指向的夹角。车辆的横摆角为车辆航向角与车辆质心侧偏角的差值,车辆的航向角为车辆的质心速度的方向与直角坐标系横轴正方向的夹角。车辆的横摆角速度为车辆的横摆角的变化率。前轮转角为车辆前轮的方向与车头指向的夹角(视为两个前轮的前轮转角相同)。车辆与道路边沿的距离为车辆与道路边沿上某一点的连线与该点的切线垂直时,车辆与该点的距离。道路边沿的航向角为上述道路边沿上某一点与直角坐标系横轴正方向的夹角。道路边沿的长度为车辆从起始点到其当前位置的路径对应的道路边沿的长度。根据传感器收集到的数据,车辆、道路、轮胎的固有属性,例如车辆的质量、道路附着系数等等,并进行计算等处理,可以确定上述模型中涉及到的变化率,进而确定车辆的动力学模型、车辆所在道路的运动学模型,以及轮胎摩擦力模型。
示例性的,如图14所示,O为车辆运动的起始点,A为当前时刻车辆所处的位置,即车辆质心的位置,以O为原点建立直角坐标系。其中,向量AC的指向为车辆质心的速度方向,向量AB的指向为车辆前轮的方向,向量AD为车头指向的方向,曲线OA为车辆从起始点到当前位置A的运动路径,图中虚线表示横轴,即x轴。那么,β为车辆的质心侧偏角,θ为车辆的航向角,即|θ-β|为车辆的横摆角(图中未示出),δ为车辆的前轮转角,dr即线段AE为车辆与道路边沿的距离,θr为道路边沿的航向角,sr即曲线GE为道路边沿的长度。
示例性的,车辆的横向动力学模型包括 其中,(X,Y)表示车辆所处的位置,/>和/>表示车辆的位置的变化率,/>表示车辆的质心侧偏角的变化率,/>表示车辆的横摆角速度的变化率,Vx表示车辆的纵向速度,Vy表示车辆的横向速度,/>表示车辆的横摆角,β为车辆的质心侧偏角,Fyf表示车辆前轮受到的纵向力,Fyr表示车辆后轮受到的纵向力,r即/>表示车辆的横摆角速度,m表示车辆的质量,lf表示车辆前轴到质心的距离,lr表示车辆后轴到质心的距离,Iz表示车辆绕质心转动的转动惯量,u即/>表示前轮转角变化率,κr表示道路边沿的曲率。其中,车辆前轴为车辆的两个前轮的圆心的连线,车辆后轴为车辆的两个后轮的圆心的连线。
示例性的,车辆的横向动力学模型也可以表示为其中,Fy表示车辆受到的横向力(也可以称为侧向力),Fx表示车辆受到的纵向力,Mz表示车轮力矩。/>表示对其下方“()”内的参数求一阶导数,该一阶导数可以是关于时间的。
示例性的,如图15的(a)所示,Fywr表示车辆后轮受到的横向力,Fxwr表示车辆后轮受到的纵向力,lr表示车辆后轴与车辆质心的距离,lf表示车辆前轴与车辆质心的距离,Fywf表示车辆前轮受到的横向力,Fxwf表示车辆前轮受到的纵向力,表示车辆绕质心转动的角度,即车辆的横摆角。
示例性的,车辆的纵向动力学模型包括 其中,Vx表示车辆的纵向速度,Fxr表示车辆前轮受到的纵向力,Fxf表示车辆后轮受到的纵向力,Faero表示空气阻力,Tf表示车辆前轮的车轮力矩,Tr表示车辆后轮的车轮力矩,reff表示车轮的滚动半径,Wf表示车辆前轮的角速度,wr表示车辆后轮的角速度,Jwf表示车辆前轮的转动惯量,Jwr表示车辆后轮的转动惯量。/>ρ表示空气密度,Cx表示空气升力系数,Ax表示车辆横截面积。
示例性的,如图15的(b)所示,车辆的纵向动力学模型也可以表示为 其中,Jw表示车轮的转动惯量,T表示车轮力矩,ww表示车轮转动角速度。
示例性的,轮胎摩擦力模型包括Fx=fx(μ,σx,α,Fz),以及Fy=fy(μ,α,Fz)。其中,Fx为轮胎受到的纵向力,Fy表示轮胎受到的横向力,μ为道路附着系数、σx为纵向滑移率、α为轮胎侧偏角、Fz为轮胎垂直载荷。其中,若车辆处于加速状态,则若车辆处于减速(制动)状态,则/>轮胎受到的纵向力/>轮胎受到的横向力横向滑移率/>前轮侧偏角/>后轮侧偏角总滑移率/>完全滑移时的滑移率,lf表示车辆前轴到质心的距离,lr表示车辆后轴到质心的距离,k为车辆前后轮的纵向刚度。若σ≥σm,则合力F=μFz,若总滑移率σ<σm,则合力/>当然,轮胎摩擦力模型并不局限于本示例中给出的函数,还可以用其他的函数表示。
需要说明的是,相比于其他的线性轮胎模型来说,该轮胎摩擦力可以更好的反应轮胎的非线性特性,从而根据该轮胎摩擦力模型,可以得到更加准确的轮胎受力。
示例性的,车辆所在道路的运动学模型包括 其中,Vx表示车辆的纵向速度,β为车辆的质心侧偏角,/>表示车辆的横摆角,θr为道路边沿的航向角,dr为车辆与道路边沿的距离,κr表示道路边沿的曲率。
示例性的,车辆所在道路的运动学模型包括 其中,θv在上述关于模型中所包括的函数的示例中,车辆的质量m、车辆前轴到质心的距离lf、车辆后轴到质心的距离lr、车辆前轮的转动惯量Jwf、车辆后轮的转动惯量Jwr、空气升力系数Cx、车辆横截面积Ax、道路附着系数μ、道路边沿的曲率κr为直接获取的数据,车辆的状态信息,包括车辆的位置、车辆的质心侧偏角、车辆的横摆角、车辆的横摆角速度、前轮转角的变化率、车辆与道路边沿的距离、道路边沿的航向角、道路边沿的长度、车辆的纵向速度、前轮角速度以及后轮角速度(即驱动轮的角速度)为传感器测量得到的数据,其他数据为通过计算得到。
针对本申请的技术方案,下面给出一具体的实施例,即实施例一,以更加清晰的体现本申请的技术方案相对于现有技术的改进:
实施例一:
在该实施例一中,以O为原点建立直角坐标系,可得到道路坐标系如图16所示。在该道路坐标系中,道路边沿(即道路的右边界,图16中处于下方的黑色实曲线)对应的曲线可以用表示。根据如图16所示的道路,已知车辆的行驶路径(例如图示的s)以及车辆与道路边沿的距离(例如图示的dr),则可以确定车辆A在该道路坐标系中的坐标为(X,Y),以及车辆处于该位置时所对应的道路边沿的航向角θr。另外,如图16所示,该道路的车道宽度为4m,道路的宽度为8m,且该道路为单向双车道。
通过车辆上的传感器等装置获取数据,这些数据中包含车辆的动力学参数,如下表一所示,车辆的动力学参数包括车辆质量、车辆绕质心转动的转动惯量、前后轮等效转动惯量、车辆前轴与车辆质心的距离、车辆后轴与车辆质心的距离、车辆前后轮横向刚度、车辆前后轮纵向刚度、车轮的滚动半径、车辆的横截面积、空气密度、空气升力系数、每单位面积的轮胎横向刚度、前轮轮胎接触印迹长度的一半、前轮轮胎接触印迹宽度的一半、后轮轮胎接触印迹长度的一半、后轮轮胎接触印迹宽度的一半。
表一
参数 | 数值(单位) |
车辆质量m | 1650kg |
车辆绕质心转动的转动惯量Iz | 3200kg·m2 |
前后轮等效转动惯量Jwf,Jwr | 6.75kg·m2 |
车辆前轴与车辆质心的距离lf | 1.4m |
车辆后轴与车辆质心的距离lr | 1.65m |
车辆前后轮横向刚度Cαf,Cαr | 114794N/rad |
车辆前后轮纵向刚度Ksf,Ksr | 100711N/rad |
车轮的滚动半径reff | 0.26m |
车辆的横截面积Ad | 2.2m2 |
空气密度ρ | 1.2306kg/m3 |
空气升力系数Cx | 0.3[-] |
每单位面积的轮胎横向刚度k | 371250N/m3 |
前轮轮胎接触印迹长度的一半af | 0.121m |
前轮轮胎接触印迹宽度的一半bf | 0.0814m |
后轮轮胎接触印迹长度的一半ar | 0.1129m |
后轮轮胎接触印迹宽度的一半br | 0.0805m |
将上述表格中的各项参数输入到车辆的动力学模型、车辆所在道路的运动学模型、轮胎摩擦力模型中,确定车辆-道路运动学模型。根据传感器等获取到的数据,确定车辆在初始时刻的状态信息。示例性的,车辆在初始时刻的状态信息包括车辆的已行驶路径s=0,车辆与道路边沿的距离dr,ini=2m,车辆在初始时刻的位置坐标为(Xini,Yini),该位置对应的车辆航向角θr,ini=0,道路边沿的长度sr,ini=0,车辆质心侧偏角βini=0,横摆角横摆角加速度rini=0,前轮转角δini=0。
另外,根据传感器获取到的数据中,车辆在初始时刻的状态信息以及障碍物信息,可以确定车辆的运动状态为减速、加速、变道等。示例性的,在本实施例一中,障碍物为静止车辆,车辆需要在3s内匀速(指车辆的纵向速度)避开该静止车辆,并变道至左边车道的中心位置。因此,可以确定车辆在终止时刻的状态信息。示例性的,车辆在终止时刻的状态信息包括道路边沿的长度sr,targ=60m,车辆与道路边沿的距离dr,targ=6m,车辆的位置坐标为(Xtarg,Ytarg),道路边沿的航向角为θr,targ,车辆到达目标位置后,车轮需要回正,因此前轮转角δtarg=0,车辆沿左边车道的中心线行驶,则车辆的横摆角车辆的质心侧偏角βtarg=0,横摆角速度rtarg=0。
根据dmin≤dr≤dmax(dmin=d/2,ifΔs>ssafe;dmin=dobst+d,ifΔs≤ssafe)以及车辆与障碍物之间的距离、车辆宽度d=1.98m,以及道路宽度8m,可以确定第一约束条件,即车辆与道路边沿的距离的取值范围。车辆与障碍物之间的预设安全距离ssafe=1m,障碍物与道路边沿之间的距离dobst=2m,车辆与障碍物之间的距离为Δs。若Δs>1m,则车辆与道路边沿的距离的取值范围为0.94m<=dr<=7.06m;若Δs<=1m,则车辆与道路边沿的距离的取值范围为3.98m<=dr<=7.06m。
根据车辆在初始时刻的状态信息,最主要的是根据车辆的纵向速度,确定车辆的横向运动目标函数中的kobst=10000,dinfl=6m,以及车辆的纵向运动目标函数中的kv=100,Vr=20m/s。
为了保证车辆运动状态的稳定性,确定第二约束条件,第二约束条件中包括车辆的最大纵向速度、车辆的最大前轮转角、车辆的最大前轮转角变化率、车辆的最大横摆角以及车辆的最大横摆角加速度等等。
在matlab环境下,根据第一约束条件、第二约束条件、车辆在起始点的状态信息,以及车辆在终止点的状态信息,结合车辆-道路运动学模型以及fmincon函数进行非线性问题求解,得到车辆的横向运动目标函数的最小取值和车辆的纵向运动目标函数的最小取值,从而确定最小值对应的车辆的前轮转角变化率的取值和车辆的车轮力矩的取值。最后,根据该车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,控制车辆进行运动,得到车辆的运动轨迹如图17所示。
在相同的应用场景下,利用现有技术中的基于人工势场法的路径规划方法,和基于快速搜索随机树的路径规划方法确定的车辆的行驶路径分别如图18和图19所示。与图18和图19所示的车辆行驶路径相比,图17所示的车辆的行驶路径比较平稳,波动较少,路径形状也更加自然。
本申请实施例可以根据上述方法示例对车辆控制装置进行功能模块的划分,在采用对应各个功能划分各个功能模块的情况下,图20示出上述实施例中所涉及的车辆控制的一种可能的结构示意图。如图20所示,车辆控制装置包括确定单元2001、控制单元2002。当然,车辆控制装置还可以包括其他模块,或者车辆控制装置可以包括更少的模块。
确定单元2001,用于根据车辆的动力学模型、车辆所在道路的运动学模型、车辆的轮胎摩擦力模型、车辆的状态信息,确定车辆的前轮转角变化率的取值范围以及车辆的车轮力矩的取值范围。
其中,车辆的动力学模型用于表示车辆运动状态的变化规律,车辆所在道路的运动学模型表示车辆和道路边沿相对位置的变化规律,车辆的轮胎摩擦力模型用于表示车辆的轮胎摩擦力的变化规律。
可选的,车辆的状态信息包括车辆在起始点的状态信息,和车辆在终止点的状态信息。其中,起始点为车辆在初始时刻所处的位置,终止点为车辆在运动结束后所处的位置。
在一种可能的实现方式中,确定单元2001,用于根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型。其中,车辆-道路动力学模型表示车辆的动力学模型和车辆所在道路的运动学模型之间的关联关系。确定单元2001,用于根据车辆在起始点的状态信息、车辆在终止点的状态信息,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第一取值范围以及车辆的车轮力矩的第二取值范围。确定单元2001,用于确定第一取值范围为车辆的前轮转角变化率的取值范围,以及确定第二取值范围为车辆的车轮力矩的取值范围。
可选的,车辆的状态信息包括所述车辆与障碍物的距离、预设安全距离、障碍物与道路边沿的距离、车辆的宽度以及车辆所在道路的宽度。其中,预设安全距离为车辆与障碍物之间的预设距离。
在一种可能的实现方式中,确定单元2001,用于根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型。其中,车辆-道路动力学模型表示车辆的动力学模型和道路的运动学模型之间的关联关系。确定单元2001,用于根据第一约束条件,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第三取值范围,以及车辆的车轮力矩的第四取值范围。其中,第一约束条件为道路边沿与车辆的距离的取值范围,第一约束条件根据车辆的状态信息得到。确定单元1801,用于确定第三取值范围为车辆的前轮转角变化率的取值范围,以及确定第四取值范围为车辆的车轮力矩的取值范围。
在一种可能的实现方式中,确定单元2001,还用于若车辆与障碍物的距离小于或等于预设安全距离,则根据障碍物与车辆所在道路的道路边沿的距离、车辆的宽度、道路的宽度,确定第一约束条件。确定单元2001,还用于若车辆与障碍物的距离大于预设安全距离,则根据车辆的宽度以及车辆所在道路的宽度,确定第一约束条件。
可选的,车辆的状态信息包括车辆的最大纵向速度、车辆的最大前轮转角、车辆的前轮转角变化率、车辆的最大横摆角以及车辆的最大横摆角加速度。
在一种可能的实现方式中,确定单元2001,用于根据车辆的轮胎摩擦力模型、车辆的动力学模型,以及车辆所在道路的运动学模型,建立车辆-道路动力学模型。其中,车辆-道路动力学模型表示车辆的动力学模型和车辆所在道路的运动学模型之间的关联关系。确定单元2001,用于根据第二约束条件,以及车辆-道路动力学模型,确定车辆的前轮转角变化率的第五取值范围,以及车辆的车轮力矩的第六取值范围。其中,第二约束条件包括车辆的最大纵向速度、车辆的最大前轮转角,以及车辆的最大前轮转角变化率,第二约束条件根据车辆的状态信息得到。确定单元2001,用于确定第五取值范围为车辆的前轮转角变化率的取值范围,并确定第六取值范围为车辆的车轮力矩的取值范围。
在一种可能的实现方式中,第二约束条件还包括车辆的最大横摆角和/或车辆的最大横摆角加速度。
在一种可能的实现方式中,确定单元2001,用于对第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到车辆的前轮转角变化率的取值范围。确定单元2001,用于对第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到车辆的车轮力矩的取值范围。
确定单元2001,还用于根据车辆的前轮转角变化率的取值范围以及车辆的横向运动目标函数,确定车辆的前轮转角变化率的取值。其中,车辆的横向运动目标函数为关于车辆的前轮转角变化率的函数,车辆的横向运动目标函数表示车辆的横向运动与其理想横向运动之间的偏差。
可选的,确定单元2001,还用于根据车辆的前轮转角变化率的取值范围,确定车辆的横向运动目标函数的最小取值。确定单元2001,还用于确定车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为车辆的前轮转角变化率的取值。
在一种可能的实现方式中,确定单元2001,还用于在车辆的前轮转角变化率的取值范围内,针对车辆的前轮转角变化率的每个取值,确定车辆的前轮转角变化率的取值对应的车辆的纵向速度、车辆的航向角、道路边沿的航向角、车辆轨迹的曲率、道路边沿的曲率,以及车辆与障碍物的距离。然后,确定单元2001,还用于根据车辆的航向角与车辆所在道路的道路边沿的航向角的差值、车辆轨迹的曲率与车辆所在道路的道路边沿的曲率的差值、车辆的前轮转角变化率的取值以及车辆与障碍物的距离与障碍物影响半径的差值,分别确定车辆的前轮转角变化率的每个取值对应的车辆的横向运动目标函数的取值。确定单元2001,还用于确定车辆的横向运动目标函数的最小取值。
确定单元2001,还用于根据车辆的车轮力矩的取值范围以及车辆的纵向运动目标函数,确定车辆的车轮力矩的取值。其中,车辆的纵向运动目标函数为关于车辆的车轮力矩的函数,车辆的纵向运动目标函数表示车辆的纵向运动与其理想纵向运动之间的偏差。
可选的,确定单元2001,还用于根据车辆的车轮力矩的取值范围,确定车辆的纵向运动目标函数的最小取值。确定单元2001,还用于确定车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为车辆的车轮力矩的取值。
在一种可能的实现方式中,确定单元2001,还用于在车辆的车轮力矩的取值范围内,针对车轮力矩的每个取值,确定车辆的车轮力矩的取值对应的车辆的纵向速度以及目标纵向速度。确定单元2001,还用于根据车辆的车轮力矩的取值,以及车辆的纵向速度与目标纵向速度的差值,分别确定车辆的车轮力矩的每个取值对应的纵向运动目标函数的取值。确定单元2001,还用于确定车辆的纵向目标函数的最小取值。
控制单元2002,用于根据车辆的前轮转角变化率的取值和车辆的车轮力矩的取值,控制车辆运动。
参照图21所示,本申请还提供了一种车辆控制装置,该装置包括存储器2101,处理器2102,通信接口2103和总线2104。处理器2102用于对装置的动作进行管理控制,和/或用于执行文本所描述的技术的其他过程。通信接口2103用于支持装置与其他网络实体的通信。存储器2101用于存储装置的程序代码和数据。
其中,上述处理器2102(或者描述为控制器)可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元模块和电路。该处理器或控制器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元模块和电路。所述处理器2102也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
通信接口2103可以是收发电路。
存储器2101可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线2104可以是扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线2104可以分为地址总线、数据总线、控制总线等。为便于表示,图21中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述描述的服务器和装置的具体工作过程,可以参考下述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被计算机执行时使计算机执行上述实施例的步骤S1101-S1104所述的车辆控制方法。
本申请实施例还提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述实施例步骤S1101-S1104中车辆控制装置执行的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述实施例可以全部或部分通过软件,硬件,固件或者其任意组合实现。当使用软件程序实现时,上述实施例可以全部或部分地以计算机程序产品的形式出现,计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。
其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是物理上分开的,或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。在应用过程中,可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是个人计算机,服务器,网络设备,单片机或者芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。
Claims (50)
1.一种车辆控制方法,其特征在于,所述方法包括:
根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,其中,所述车辆的动力学模型用于表示所述车辆的运动状态的变化规律,所述车辆所在道路的运动学模型表示所述车辆和所述车辆所在道路的道路边沿的相对位置的变化规律,所述车辆的轮胎摩擦力模型用于表示所述车辆的轮胎摩擦力的变化规律;
根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,所述车辆的横向运动目标函数为关于所述车辆的前轮转角变化率的函数,所述车辆的横向运动目标函数表示所述车辆的横向运动与理想横向运动之间的偏差;
根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,所述车辆的纵向运动目标函数为关于所述车辆的车轮力矩的函数;所述车辆的纵向运动目标函数表示所述车辆的纵向运动与理想纵向运动之间的偏差;
根据所述车辆的前轮转角变化率的取值和所述车辆的车轮力矩的取值,控制所述车辆运动;
车辆的横向运动目标函数为;
其中,表示车辆的横向运动与理想横向运动之间的偏差,/>表示车辆横向运动中车辆航向角与车辆所在道路的道路边沿的航向角的偏差,以及车辆轨迹曲率与车辆所在道路的道路边沿曲率的偏差,/>为车辆与障碍物的距离的函数,用于表示车辆的避障行为与理想避障行为的偏差。
2.根据权利要求1所述的车辆控制方法,其特征在于,所述车辆的状态信息包括所述车辆在起始点的状态信息,和所述车辆在终止点的状态信息,所述起始点为所述车辆在初始时刻所处的位置,所述终止点为所述车辆在运动结束后所处的位置;
所述根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据所述车辆在起始点的状态信息、所述车辆在终止点的状态信息,以及所述车辆-道路动力学模型,确定所述车辆的前轮转角变化率的第一取值范围以及所述车辆的车轮力矩的第二取值范围;
确定所述第一取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第二取值范围为所述车辆的车轮力矩的取值范围。
3.根据权利要求1或2所述的车辆控制方法,其特征在于,所述车辆的状态信息包括所述车辆与障碍物的距离、预设安全距离、障碍物与道路边沿的距离、所述车辆的宽度以及所述车辆所在道路的宽度;所述预设安全距离为所述车辆与障碍物之间的预设距离;
根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据第一约束条件以及所述车辆-道路动力学模型,确定所处车辆的前轮转角变化率的第三取值范围,以及所述车辆的车轮力矩的第四取值范围;其中,所述第一约束条件为道路边沿与所述车辆的距离的取值范围,所述第一约束条件根据所述车辆的状态信息得到;
确定所述第三取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第四取值范围为所述车辆的车轮力矩的取值范围。
4.根据权利要求1-2任一项所述的车辆控制方法,其特征在于,所述车辆的状态信息包括所述车辆的最大纵向速度、所述车辆的最大前轮转角、所述车辆的最大前轮转角变化率、所述车辆的最大横摆角以及所述车辆的最大横摆角加速度;
所述根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据第二约束条件,以及所述车辆-道路动力学模型,确定所述车辆的前轮转角变化率的第五取值范围,以及所述车辆的车轮力矩的第六取值范围;其中,所述第二约束条件包括所述车辆的最大纵向速度、所述车辆的最大前轮转角,以及车辆的最大前轮转角变化率,所述第二约束条件根据所述车辆的状态信息得到;
确定所述第五取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第六取值范围为所述车辆的车轮力矩的取值范围。
5.根据权利要求3所述的车辆控制方法,其特征在于,所述车辆的状态信息包括所述车辆的最大纵向速度、所述车辆的最大前轮转角、所述车辆的最大前轮转角变化率、所述车辆的最大横摆角以及所述车辆的最大横摆角加速度;
所述根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据第二约束条件,以及所述车辆-道路动力学模型,确定所述车辆的前轮转角变化率的第五取值范围,以及所述车辆的车轮力矩的第六取值范围;其中,所述第二约束条件包括所述车辆的最大纵向速度、所述车辆的最大前轮转角,以及车辆的最大前轮转角变化率,所述第二约束条件根据所述车辆的状态信息得到;
确定所述第五取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第六取值范围为所述车辆的车轮力矩的取值范围。
6.根据权利要求4所述的车辆控制方法,其特征在于,所述第二约束条件还包括所述车辆的最大横摆角和/或所述车辆的最大横摆角加速度。
7.根据权利要求5所述的车辆控制方法,其特征在于,所述第二约束条件还包括所述车辆的最大横摆角和/或所述车辆的最大横摆角加速度。
8.根据权利要求2、5、6或7所述的车辆控制方法,其特征在于,所述根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,还包括:
对车辆的前轮转角变化率的第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到所述车辆的前轮转角变化率的取值范围;
对车辆的车轮力矩的第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到所述车辆的车轮力矩的取值范围。
9.根据权利要求3所述的车辆控制方法,其特征在于,所述根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,还包括:
对车辆的前轮转角变化率的第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到所述车辆的前轮转角变化率的取值范围;
对车辆的车轮力矩的第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到所述车辆的车轮力矩的取值范围。
10.根据权利要求4所述的车辆控制方法,其特征在于,所述根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,还包括:
对车辆的前轮转角变化率的第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到所述车辆的前轮转角变化率的取值范围;
对车辆的车轮力矩的第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到所述车辆的车轮力矩的取值范围。
11.根据权利要求3所述的车辆控制方法,其特征在于,所述方法还包括:
若所述车辆与障碍物的距离小于或等于预设安全距离,则根据障碍物与所述道路边沿的距离、所述车辆的宽度以及所述车辆所在道路的宽度,确定所述第一约束条件;
若所述车辆与障碍物的距离大于预设安全距离,则根据所述车辆的宽度以及所述车辆所在道路的宽度,确定所述第一约束条件。
12.根据权利要求1、2、5、6、7、9、10或11所述的车辆控制方法,其特征在于,所述根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
13.根据权利要求3所述的车辆控制方法,其特征在于,所述根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
14.根据权利要求4所述的车辆控制方法,其特征在于,所述根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
15.根据权利要求8所述的车辆控制方法,其特征在于,所述根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
16.根据权利要求1、2、5、6、7、9、10、11、13、14或15所述的车辆控制方法,其特征在于,所述根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
17.根据权利要求3所述的车辆控制方法,其特征在于,所述根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
18.根据权利要求4所述的车辆控制方法,其特征在于,所述根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
19.根据权利要求8所述的车辆控制方法,其特征在于,所述根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
20.根据权利要求12所述的车辆控制方法,其特征在于,所述根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
21.根据权利要求12所述的车辆控制方法,其特征在于,所述根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值,包括:
在所述车辆的前轮转角变化率的取值范围内,针对所述车辆的前轮转角变化率的每个取值,确定所述车辆的前轮转角变化率的每个取值对应的车辆的纵向速度、所述车辆的航向角、所述道路边沿的航向角、车辆轨迹的曲率、所述道路边沿的曲率,以及所述车辆与障碍物的距离;
根据所述车辆的航向角与所述道路边沿的航向角的差值、所述车辆轨迹的曲率与所述道路边沿的曲率的差值、所述前轮转角变化率的取值以及所述车辆与障碍物的距离与障碍物影响半径的差值,分别确定所述车辆的前轮转角变化率的每个取值对应的所述车辆的横向运动目标函数的取值;
确定所述车辆的横向运动目标函数的最小取值。
22.根据权利要求13、14或15所述的车辆控制方法,其特征在于,所述根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值,包括:
在所述车辆的前轮转角变化率的取值范围内,针对所述车辆的前轮转角变化率的每个取值,确定所述车辆的前轮转角变化率的每个取值对应的车辆的纵向速度、所述车辆的航向角、所述道路边沿的航向角、车辆轨迹的曲率、所述道路边沿的曲率,以及所述车辆与障碍物的距离;
根据所述车辆的航向角与所述道路边沿的航向角的差值、所述车辆轨迹的曲率与所述道路边沿的曲率的差值、所述前轮转角变化率的取值以及所述车辆与障碍物的距离与障碍物影响半径的差值,分别确定所述车辆的前轮转角变化率的每个取值对应的所述车辆的横向运动目标函数的取值;
确定所述车辆的横向运动目标函数的最小取值。
23.根据权利要求16所述的车辆控制方法,其特征在于,所述根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值,包括:
在所述车辆的车轮力矩的取值范围内,针对所述车辆的车轮力矩的每个取值,确定所述车辆的车轮力矩的每个取值对应的车辆的纵向速度以及目标纵向速度;
根据所述车辆的车轮力矩的取值,以及所述车辆的纵向速度与所述目标纵向速度的差值,分别确定所述车辆的车轮力矩的每个取值对应的所述车辆的纵向目标函数的取值;
确定所述车辆的纵向目标函数的最小取值。
24.根据权利要求17、18、19或20所述的车辆控制方法,其特征在于,所述根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值,包括:
在所述车辆的车轮力矩的取值范围内,针对所述车辆的车轮力矩的每个取值,确定所述车辆的车轮力矩的每个取值对应的车辆的纵向速度以及目标纵向速度;
根据所述车辆的车轮力矩的取值,以及所述车辆的纵向速度与所述目标纵向速度的差值,分别确定所述车辆的车轮力矩的每个取值对应的所述车辆的纵向目标函数的取值;
确定所述车辆的纵向目标函数的最小取值。
25.一种车辆控制装置,其特征在于,所述装置包括:
确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围;所述车辆的动力学模型用于表示所述车辆的运动状态的变化规律,所述车辆所在道路的运动学模型表示所述车辆和所述车辆所在道路的道路边沿的相对位置的变化规律,所述车辆的轮胎摩擦力模型用于表示所述车辆的轮胎摩擦力的变化规律;
所述确定单元,还用于根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,所述车辆的横向运动目标函数为关于所述车辆的前轮转角变化率的函数,所述车辆的横向运动目标函数表示所述车辆的横向运动与理想横向运动之间的偏差;
所述确定单元,还用于根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,所述车辆的纵向运动目标函数为关于所述车辆的车轮力矩的函数;所述车辆的纵向运动目标函数表示所述车辆的纵向运动与理想纵向运动之间的偏差;
控制单元,用于根据所述车辆的前轮转角变化率的取值和所述车辆的车轮力矩的取值,控制所述车辆运动;
车辆的横向运动目标函数为;
其中,表示车辆的横向运动与理想横向运动之间的偏差,/>表示车辆横向运动中车辆航向角与车辆所在道路的道路边沿的航向角的偏差,以及车辆轨迹曲率与车辆所在道路的道路边沿曲率的偏差,/>为车辆与障碍物的距离的函数,用于表示车辆的避障行为与理想避障行为的偏差。
26.根据权利要求25所述的车辆控制装置,其特征在于,所述车辆的状态信息包括所述车辆在起始点的状态信息,和所述车辆在终止点的状态信息,所述起始点为所述车辆在初始时刻所处的位置,所述终止点为所述车辆在运动结束后所处的位置;
所述确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据所述车辆在起始点的状态信息、所述车辆在终止点的状态信息,以及所述车辆-道路动力学模型,确定所述车辆的前轮转角变化率的第一取值范围以及所述车辆的车轮力矩的第二取值范围;
确定所述第一取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第二取值范围为所述车辆的车轮力矩的取值范围。
27.根据权利要求25或26所述的车辆控制装置,其特征在于,所述车辆的状态信息包括所述车辆与障碍物的距离、预设安全距离、障碍物与道路边沿的距离、所述车辆的宽度以及所述车辆所在道路的宽度;所述预设安全距离为所述车辆与障碍物之间的预设距离;
所述确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据第一约束条件以及所述车辆-道路动力学模型,确定所述车辆的前轮转角变化率的第三取值范围,以及所述车辆的车轮力矩的第四取值范围;其中,所述第一约束条件为道路边沿与所述车辆的距离的取值范围,所述第一约束条件根据所述车辆的状态信息得到;
确定所述第三取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第四取值范围为所述车辆的车轮力矩的取值范围。
28.根据权利要求25或26所述的车辆控制装置,其特征在于,所述车辆的状态信息包括所述车辆的最大纵向速度、所述车辆的最大前轮转角、所述车辆的最大前轮转角变化率、所述车辆的最大横摆角以及所述车辆的最大横摆角加速度;
所述确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据第二约束条件,以及所述车辆-道路动力学模型,确定所述车辆的前轮转角变化率的第五取值范围,以及所述车辆的车轮力矩的第六取值范围;其中,所述第二约束条件包括所述车辆的最大纵向速度、所述车辆的最大前轮转角,以及最大前轮转角变化率,所述第二约束条件根据所述车辆的状态信息得到;
确定所述第五取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第六取值范围为所述车辆的车轮力矩的取值范围。
29.根据权利要求27所述的车辆控制装置,其特征在于,所述车辆的状态信息包括所述车辆的最大纵向速度、所述车辆的最大前轮转角、所述车辆的最大前轮转角变化率、所述车辆的最大横摆角以及所述车辆的最大横摆角加速度;
所述确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,包括:
根据所述车辆的轮胎摩擦力模型、所述车辆的动力学模型,以及所述车辆所在道路的运动学模型,建立车辆-道路动力学模型;其中,所述车辆-道路动力学模型表示所述车辆的动力学模型和所述车辆所在道路的运动学模型之间的关联关系;
根据第二约束条件,以及所述车辆-道路动力学模型,确定所述车辆的前轮转角变化率的第五取值范围,以及所述车辆的车轮力矩的第六取值范围;其中,所述第二约束条件包括所述车辆的最大纵向速度、所述车辆的最大前轮转角,以及最大前轮转角变化率,所述第二约束条件根据所述车辆的状态信息得到;
确定所述第五取值范围为所述车辆的前轮转角变化率的取值范围;
确定所述第六取值范围为所述车辆的车轮力矩的取值范围。
30.根据权利要求28所述的车辆控制装置,其特征在于,所述第二约束条件还包括所述车辆的最大横摆角和/或所述车辆的最大横摆角加速度。
31.根据权利要求29所述的车辆控制装置,其特征在于,所述第二约束条件还包括所述车辆的最大横摆角和/或所述车辆的最大横摆角加速度。
32.根据权利要求26、29、30或31所述的车辆控制装置,其特征在于,所述确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,还包括:
对车辆的前轮转角变化率的第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到所述车辆的前轮转角变化率的取值范围;
对车辆的前轮转角变化率的第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到所述车辆的车轮力矩的取值范围。
33.根据权利要求27所述的车辆控制装置,其特征在于,所述确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,还包括:
对车辆的前轮转角变化率的第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到所述车辆的前轮转角变化率的取值范围;
对车辆的前轮转角变化率的第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到所述车辆的车轮力矩的取值范围。
34.根据权利要求28所述的车辆控制装置,其特征在于,所述确定单元,用于根据所述车辆的动力学模型、所述车辆所在道路的运动学模型、所述车辆的轮胎摩擦力模型、所述车辆的状态信息,确定所述车辆的前轮转角变化率的取值范围以及所述车辆的车轮力矩的取值范围,还包括:
对车辆的前轮转角变化率的第一取值范围、第三取值范围以及第五取值范围中的至少两项取交集,得到所述车辆的前轮转角变化率的取值范围;
对车辆的前轮转角变化率的第二取值范围、第四取值范围以及第六取值范围中的至少两项取交集,得到所述车辆的车轮力矩的取值范围。
35.根据权利要求27所述的车辆控制装置,其特征在于,所述装置还包括:
所述确定单元,用于若所述车辆与障碍物的距离小于或等于预设安全距离,则根据障碍物与所述道路边沿的距离、所述车辆的宽度、所述车辆所在道路的宽度,确定所述第一约束条件;
所述确定单元,还用于若所述车辆与障碍物的距离大于预设安全距离,则根据所述车辆的宽度以及所述车辆所在道路的宽度,确定所述第一约束条件。
36.根据权利要求25、26、29、30、31、33、34或35所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
37.根据权利要求27所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
38.根据权利要求28所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
39.根据权利要求32所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的前轮转角变化率的取值范围以及所述车辆的横向运动目标函数,确定所述车辆的前轮转角变化率的取值,包括:
根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值;
确定所述车辆的横向运动目标函数的最小取值对应的前轮转角变化率的取值为所述车辆的前轮转角变化率。
40.根据权利要求25、26、29、30、31、33、34、35、37、38或39所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
41.根据权利要求27所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
42.根据权利要求28所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
43.根据权利要求32所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
44.根据权利要求36所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的车轮力矩的取值范围以及所述车辆的纵向运动目标函数,确定所述车辆的车轮力矩的取值,包括:
根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值;
确定所述车辆的纵向运动目标函数的最小取值对应的车轮力矩的取值为所述车辆的车轮力矩。
45.根据权利要求36所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值,包括:
在所述车辆的前轮转角变化率的取值范围内,针对所述车辆的前轮转角变化率的每个取值,确定所述车辆的前轮转角变化率的每个取值对应的车辆的纵向速度、所述车辆的航向角、所述道路边沿的航向角、车辆轨迹的曲率、所述道路边沿的曲率,以及所述车辆与障碍物的距离;
根据所述车辆的航向角与所述道路边沿的航向角的差值、所述车辆轨迹的曲率与所述道路边沿的曲率的差值、所述前轮转角变化率的取值以及所述车辆与障碍物的距离与障碍物影响半径的差值,分别确定所述车辆的前轮转角变化率的每个取值对应的所述车辆的横向运动目标函数的取值;
确定所述车辆的横向运动目标函数的最小取值。
46.根据权利要求37、38或39所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的前轮转角变化率的取值范围,确定所述车辆的横向运动目标函数的最小取值,包括:
在所述车辆的前轮转角变化率的取值范围内,针对所述车辆的前轮转角变化率的每个取值,确定所述车辆的前轮转角变化率的每个取值对应的车辆的纵向速度、所述车辆的航向角、所述道路边沿的航向角、车辆轨迹的曲率、所述道路边沿的曲率,以及所述车辆与障碍物的距离;
根据所述车辆的航向角与所述道路边沿的航向角的差值、所述车辆轨迹的曲率与所述道路边沿的曲率的差值、所述前轮转角变化率的取值以及所述车辆与障碍物的距离与障碍物影响半径的差值,分别确定所述车辆的前轮转角变化率的每个取值对应的所述车辆的横向运动目标函数的取值;
确定所述车辆的横向运动目标函数的最小取值。
47.根据权利要求40所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值,包括:
在所述车辆的车轮力矩的取值范围内,针对所述车辆的车轮力矩的每个取值,确定所述车辆的车轮力矩的每个取值对应的车辆的纵向速度以及目标纵向速度;
根据所述车辆的车轮力矩的取值,以及所述车辆的纵向速度与所述目标纵向速度的差值,分别确定所述车辆的车轮力矩的每个取值对应的所述车辆的纵向目标函数的取值;
确定所述车辆的纵向目标函数的最小取值。
48.根据权利要求41、42、43或44所述的车辆控制装置,其特征在于,所述确定单元,还用于根据所述车辆的车轮力矩的取值范围,确定所述车辆的纵向运动目标函数的最小取值,包括:
在所述车辆的车轮力矩的取值范围内,针对所述车辆的车轮力矩的每个取值,确定所述车辆的车轮力矩的每个取值对应的车辆的纵向速度以及目标纵向速度;
根据所述车辆的车轮力矩的取值,以及所述车辆的纵向速度与所述目标纵向速度的差值,分别确定所述车辆的车轮力矩的每个取值对应的所述车辆的纵向目标函数的取值;
确定所述车辆的纵向目标函数的最小取值。
49.一种车辆控制装置,其特征在于,包括:处理器、存储器和通信接口;其中,通信接口用于与其他设备或通信网络通信,存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当该装置运行时,处理器执行存储器存储的所述计算机执行指令以使该装置执行如权利要求1-24任一项所述的车辆控制方法。
50.一种计算机可读存储介质,其特征在于,包括程序和指令,当所述程序或指令在计算机上运行时,如权利要求1-24任一项所述的车辆控制方法被实现。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/076678 WO2021168669A1 (zh) | 2020-02-25 | 2020-02-25 | 车辆控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113632033A CN113632033A (zh) | 2021-11-09 |
CN113632033B true CN113632033B (zh) | 2023-10-20 |
Family
ID=77489817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080002617.0A Active CN113632033B (zh) | 2020-02-25 | 2020-02-25 | 车辆控制方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4099118A4 (zh) |
CN (1) | CN113632033B (zh) |
WO (1) | WO2021168669A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515038B (zh) * | 2021-09-07 | 2021-11-26 | 西南交通大学 | 一种车辆换道方法、装置、设备及可读存储介质 |
CN114003030B (zh) * | 2021-10-09 | 2023-08-08 | 北京科技大学 | 考虑质心变化的两轮差动移动机器人路径跟踪控制方法 |
CN114148318B (zh) * | 2021-12-22 | 2023-10-27 | 吉林大学 | 冰雪环境下基于反馈线性化与lqr的车辆路径跟踪方法 |
CN115092156A (zh) * | 2022-06-27 | 2022-09-23 | 中国第一汽车股份有限公司 | 车辆的操纵稳定区域的确定方法与车辆 |
CN115071699B (zh) * | 2022-07-11 | 2024-09-24 | 湖南大学 | 一种智能汽车换道避撞控制方法 |
DE102022212523A1 (de) | 2022-11-23 | 2024-05-23 | Volkswagen Aktiengesellschaft | Verfahren zum Planen eines menschenähnlichen Einparkvorgangs eines Kraftfahrzeugs, elektronische Recheneinrichtung für ein Kraftfahrzeug sowie Kraftfahrzeug |
CN116202550B (zh) * | 2023-05-06 | 2023-07-11 | 华东交通大学 | 融合改进势场与动态窗口的汽车路径规划方法 |
CN117593904B (zh) * | 2023-11-06 | 2024-08-02 | 广东省电信规划设计院有限公司 | 基于云原生的辅助驾驶控制方法及装置 |
CN118205551B (zh) * | 2024-05-22 | 2024-08-16 | 中国第一汽车股份有限公司 | 自适应巡航车速控制方法、装置、车辆、介质及产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007112179A (ja) * | 2005-10-18 | 2007-05-10 | Fuji Heavy Ind Ltd | 車両運動制御装置 |
CN104977933A (zh) * | 2015-07-01 | 2015-10-14 | 吉林大学 | 一种自主驾驶车辆的区域型路径跟踪控制方法 |
CN107521496A (zh) * | 2017-09-08 | 2017-12-29 | 吉林大学 | 一种无人车辆的横纵向协调控制轨迹跟随控制方法 |
CN108710294A (zh) * | 2018-04-13 | 2018-10-26 | 四川木牛流马智能科技有限公司 | 一种无人车路径跟踪前馈控制方法 |
WO2022237392A1 (zh) * | 2021-05-11 | 2022-11-17 | 奇瑞汽车股份有限公司 | 车辆的横向控制方法、装置及车辆 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10407035B1 (en) * | 2016-08-03 | 2019-09-10 | Apple Inc. | Integrated chassis control |
CN107797534B (zh) * | 2017-09-30 | 2019-05-28 | 安徽江淮汽车集团股份有限公司 | 一种纯电动自动驾驶系统 |
CN108454623B (zh) * | 2018-01-22 | 2019-10-29 | 大连理工大学 | 一种四轮独立驱动无人驾驶电动车辆轨迹跟踪控制方法 |
CN110271608B (zh) * | 2018-03-16 | 2021-02-09 | 华为技术有限公司 | 车辆转向控制方法、装置、系统以及车辆 |
CN108427417B (zh) * | 2018-03-30 | 2020-11-24 | 北京图森智途科技有限公司 | 自动驾驶控制系统及方法、计算机服务器和自动驾驶车辆 |
US10860023B2 (en) * | 2018-06-25 | 2020-12-08 | Mitsubishi Electric Research Laboratories, Inc. | Systems and methods for safe decision making of autonomous vehicles |
-
2020
- 2020-02-25 EP EP20921027.7A patent/EP4099118A4/en active Pending
- 2020-02-25 WO PCT/CN2020/076678 patent/WO2021168669A1/zh unknown
- 2020-02-25 CN CN202080002617.0A patent/CN113632033B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007112179A (ja) * | 2005-10-18 | 2007-05-10 | Fuji Heavy Ind Ltd | 車両運動制御装置 |
CN104977933A (zh) * | 2015-07-01 | 2015-10-14 | 吉林大学 | 一种自主驾驶车辆的区域型路径跟踪控制方法 |
CN107521496A (zh) * | 2017-09-08 | 2017-12-29 | 吉林大学 | 一种无人车辆的横纵向协调控制轨迹跟随控制方法 |
CN108710294A (zh) * | 2018-04-13 | 2018-10-26 | 四川木牛流马智能科技有限公司 | 一种无人车路径跟踪前馈控制方法 |
WO2022237392A1 (zh) * | 2021-05-11 | 2022-11-17 | 奇瑞汽车股份有限公司 | 车辆的横向控制方法、装置及车辆 |
Non-Patent Citations (3)
Title |
---|
基于模型预测控制的汽车紧急换道控制研究;张凤娇等;《现代制造工程》;20170318(第03期);全文 * |
面向车道变换的路径规划及模型预测轨迹跟踪;冀杰等;《中国公路学报》;20180415(第04期);全文 * |
高速无人驾驶车辆最优运动规划与控制的动力学建模分析;刘凯等;《机械工程学报》;20180604(第14期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021168669A1 (zh) | 2021-09-02 |
EP4099118A1 (en) | 2022-12-07 |
EP4099118A4 (en) | 2023-01-25 |
CN113632033A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113632033B (zh) | 车辆控制方法及装置 | |
US12061088B2 (en) | Obstacle avoidance method and apparatus | |
CN111123952B (zh) | 一种轨迹规划方法及装置 | |
CN109901574B (zh) | 自动驾驶方法及装置 | |
CN113879295B (zh) | 轨迹预测方法及装置 | |
CN112230642B (zh) | 道路可行驶区域推理方法及装置 | |
CN112703506B (zh) | 车道线检测方法及装置 | |
CN110532846B (zh) | 自动换道方法、装置及存储介质 | |
CN113835421B (zh) | 训练驾驶行为决策模型的方法及装置 | |
CN112512887B (zh) | 一种行驶决策选择方法以及装置 | |
US20230048680A1 (en) | Method and apparatus for passing through barrier gate crossbar by vehicle | |
US20230249660A1 (en) | Electronic Mechanical Braking Method and Electronic Mechanical Braking Apparatus | |
CN113968242B (zh) | 自动驾驶场景生成方法、装置及系统 | |
CN114261404A (zh) | 一种自动驾驶方法及相关装置 | |
CN113022573A (zh) | 道路结构检测方法及装置 | |
CN113799794B (zh) | 车辆纵向运动参数的规划方法和装置 | |
CN114103950B (zh) | 换道轨迹的规划方法及装置 |
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 |