许设 卢炽华
摘 要:随着高级驾驶辅助系统(ADAS)成本的下降,ADAS系统逐渐被下放到普通家用车上。自适应巡航系统(ACC)作为ADAS的重要组成部分,深受广大消费者的关注。文章设计了基于遗传算法和PID算法的上位控制器和基于模糊控制的下位控制器。使用Carsim和Simulink仿真后结果显示,基于遗传PID算法的自适应巡航控制具有更好的控制精度和控制效率。关键词:ACC控制;遗传PID控制;模糊控制;Carsim/Simulink仿真中图分类号:U471.15 文献标识码:A 文章编号:1671-7988(2020)08-45-06
Abstract: With the decrease of the cost of Advanced Driving Assistance System,the ADAS system has been gradually transferred to the ordinary family car. As an important part of ADAS, adaptive cruise system has attracted the attention of consumers. In order to improve the control accuracy of ACC system, the upper controller based on genetic algorithm and PID algorithm and the lower controller based on fuzzy control are designed in this paper. The simulation results using Carsim and Simulink show that the adaptive cruise control based on genetic PID algorithm has better control accuracy and efficiency.Keywords: ACC control; Genetic PID control; Fuzzy control; Carsim/Simulink simulationCLC NO.: U471.15 document Code: A Article ID: 1671-7988(2020)08-45-06
引言
高级驾驶辅助系统(简称ADAS),不断利用车载传感器(包括单双目摄像头、GPS、激光雷达等)进行环境感知,收集侦测到的动静态物体信息,结合地图数据,由控制系统进行分析和运算,然后对车辆进行控制。该系统可在一定程度上减轻驾驶者的驾驶负担,提升驾乘的舒适性和安全性。该系统主要包括车道保持系统,自适应巡航系统,前向碰撞预警系统,车道偏离预警系统,换道辅助系统等若干个子系统。自动驾驶是未来汽车发展的方向之一,由于各方面因素的影响,自动驾驶并不能一步到位。国际汽车工程师协会SAE将自动驾驶分为L0~L5共六个等级。在L1和L2阶段,ADAS系统发挥着主要作用。ACC系统是ADAS的重要组成部分,ACC的控制对于车辆的乘坐舒适性和安全性至关重要,在跟车和巡航过程中可以很大程度上减小驾乘者的驾驶负担。
目前ACC的控制算法多种多样。南加州大学Ioannou P A等人[1]使用了PID算法对ACC系统进行控制。伯克利大学Kim S G等[2]提出了一种线性二次型算法进行控制,该算法使用了变相加权系数。管欣等[3]在最优预瞄加速度决策方法的基础上建立了控制模型。Fritz等[4]运用滑膜控制器,将车辆行驶状态进行线性化之后使用最优跟踪方法得出控制器的参数。初亮等[5]设计了一种自适应巡航控制策略,该策略基于模型预测控制,可以提升制动事能量回收效率。刘道旭东[6]提出了改进的四层神经网络PID算法,将神经网络和传统PID结合进行ACC系统的控制。国外一些公司已经将ACC系统的研究应用到硬件系统的开发上。2001年美国通用公司就已经将ACC系统应用到了旗下的产品上。Eaton公司、Delphi公司、Bosch公司等供应商也相继开发出了ACC的软硬件系统。
本文将遗传算法和PID控制相结合设计一个上位控制器,根据模糊控制规则设计一个下位控制器,进行ACC系统的控制。遗传算法[7]是从生物进化论中提炼出的一种算法,它选择最优解的方法和自然界的选择和淘汰机理十分相似。
1 车辆纵向运动学模型
ACC控制主要是纵向运动的控制,因此不考虑汽车行驶过程中发生的侧倾、横摆,侧滑以及悬架的运动对车辆运动造成的影响。在创建模型时本文对该系统进行适当的简化和合理假设:车辆在平直良好路面上行驶,路面有足够的附着力,不考虑车辆的横向和垂向运动。
2 ACC系统控制策略的搭建
本文要完成ACC定速巡航和跟车两种功能的控制策略。
在定速巡航阶段,需要使用传感器检测本车车速大小,与预设的巡航车速进行比较,然后由基于遺传PID算法[8-10]设计的控制系统计算出合适的加速度,完成上位控制系统的设计。然后根据驾驶经验设计模糊控制器,将求解好的加速度输入以及相对位移输入模糊控制器,求解出合适的节气门开度和制动压力,完成下位控制器的设计。
跟车阶段的控制大体和巡航阶段类似。需要遗传算法和PID控制根据传感器检测到的前后车相对位移和相对速度以及本车速度进行决策,计算出合适的加速度,完成上位控制器的设计。然后根据驾驶经验设计模糊控制器,将求解好的加速度输入模糊控制器,求解出合适的节气门开度和制动压力,完成下位控制器的设计,根据上下位控制器实现对ACC系统的控制。
在决策的时候需要预先对车辆之间的相对位移进行判断,将相对车距和安全距离进行比较。安全车距和两车车速相关,不是固定值。关于车辆的纵向安全距离L0有很多种表示方法,本文采用文献[5]中的公式,如下:
3 上位控制器和下位控制器设计
3.1 上位控制器
本文中上位控制器是基于遗传算法[11]和PID控制设计的,下面主要研究在上位控制器中如何使用遗传算法对PID控制进行优化。遗传算法对PID[9]控制优化的流程如图3所示。
遗传算法的流程主要包括参数编码、适应度函数的构建、选择、交叉、变异等几个步骤。
首先对控制参数进行编码,PID的三个参数是十进制数值,在遗传算法中需要使用二进制对控制参数进行编码。本文中每个参数使用长度为10的二进制编码表示,如图4所示,因此对应的基因长度为30位。解码过程是编码的逆过程,需要将二进制编码重新转换成十进制。
其次需要确定适应度函数,适应度函数用来确定PID参数合适的程度,从而对各个参数组合进行筛选。设误差为e,适应度为f,如果e非负则:
在选择之初需要随机生成目标群体,为了使目标群体含有较优质的解并且减小计算压力,目标群体数量要适中,一般在100~300范围内。
选择的主要目的是从已有的种群中选择出合适的个体,在本文中合适的个体是使适应度函数取值较小的个体。在选择过后将优质个体进行复制,保持种群大小不变。交叉、变异的目的是通过染色体交叉和基因变异的方式在新的种群中以一定的概率产生新的个体,增加群体的多样性,这样可以产生比原来更合适的个体进行选择。当达到预先设置的迭代次数或者满足最优解的要求后整个求解过程终止。
期望加速度的计算参考文献[7],在定速巡航阶段主要考虑速度的控制,将设定的巡航速度与本车速度之差?v作为变量进行控制,计算出合适的加速度。在跟车阶段,合理的跟车距离也是控制目标。
在巡航阶段,不考虑前车。参考文献[7]采用公式11计算期望加速度:
3.2 下位控制器
本文的下位控制器采用模糊规则进行控制。模糊逻辑控制[12]目的是使用语言分析的数学模式代替传统的数学公式对复杂系统进行建模,将人类的自然语言转换为计算机语言。模糊控制的主要特点是可以利用人们在生产活动中积累的经验、知识并且和控制系统相关知识相结合,这样控制的优势是不需要建立精确的数学模型,降低了控制的复杂程度。模糊控制主要包括(1)确定输入输出变量(2)变量模糊化(3)设置模糊规则(4)模糊推理(5)去模糊化等几个步骤。
在公式7中,车轮的扭矩和发动机扭矩以及制动扭矩相关,而发动机扭矩和制动扭矩又分别和节气门开度以及制动压力相关。所以本文中选择控制节气门开度和制动压力来控制车辆实际加速度。
根据参考文献[5],人体乘坐汽车时比较舒适的加速度≤5m?s2,所以本文为了保证跟车过程中乘客的舒适性,将上位控制器输出的加速度限制在-5~5m?s2。节气门的开度范围是0~1,制动压力的范围0~3MPA。将加速度α的模糊子集设置为{NB,NM,NS,ZO,PS,MS,PM,MB},即{负大,负中,负小,零,正小,中小,正中,中大}。节气门开度throttle opening(简写成?t)的模糊子集设置为{ZO,PS,MS,PM,MB,PB},即{零,小,中小,中,中大,大}。制动压力p的模糊子集设置为{ZO,PS,PM,PB},即{零,小,中,大}。建立模糊规则如下:
计算结果需要一个精确量,必须对结果进行解模糊。解模糊的方法有重心法、高度法、面积法,本文采用重心法进行解模糊。
4 Carsim/Simulink仿真
Carsim是MSC公司开发的软件,常用于车辆动力学仿真。在Carim里建立的模型运行速度比实时快3~6倍。在该软件中预存有多种车辆模型,可以节省很多建模过程。本文使用Carsim自带的C-Class,Hatchback2012,该车型示意图如下:
该车型的基本参数如下:
发动机功率 125kw
制动扭矩 300Nm/Mpa(平均值)
轮胎 215/55R17
车辆长宽高 4850mm,1916mm,1935mm
车重 1720kg
轮距 1675mm
轴距 2910mm
前轮到质心的距离 1015mm
前轮到质心的距离 1895mm
发动机扭矩特性如下图:
道路建模如图:
在Carsim里建好车辆模型和道路模型后,需要将Carsim模型导入到Matlab/Simulink里面进行控制。Matlab是美国Mathworks公司开发的主要用于矩阵计算的数学软件,在控制、信号处理等领域应用广泛。Simulink是Matlab里专门用于仿真的模块,适用于多种类型的仿真。本文搭建的仿真模型如下:
4.1 巡航仿真
本文设置续航速度分别为40km/h和80km/h以分别对应低速和高速工况。两种工况下本车都以20km/h的车速起步。
仿真结果如下:
由圖可知,车辆无论是以40km/h还是80km/h速度巡航,采用遗传PID算法控制的本车都能以较快的速度达到预设的巡航速度,在达到巡航速度之后,能稳定的保持在巡航速度。并且车辆的加速度的绝对值都不大于5m?s2,保证了在车辆变速的过程中乘坐的舒适性。而普通的PID算法会在速度控制的过程中产生较大的超调量,控制效率较低。
4.2 跟车仿真
在跟车仿真中,前车和本车的初始距离设置为60m,仿真过程中使用雷达检测前车状态,雷达的检测范围设置为300m,检测角度为正负5deg。本车20km/h的车速起步。前车的速度设置如下:
由图16,本车在启动后能以较快的速度跟上前车。本车车速在30s左右接近80km/h,但是这时图18中曲线值已经小于0,此时两车车距已经小于安全距离。于是本车进行了制動。等到本车减速后,前车和本车距离再次大于安全距离后,本车车速又和前车趋于一致。在整个跟车过程中以遗传PID算法控制的本车能够紧跟前车,而普通PID算法的控制会有较大误差。在跟车的过程中,车辆的加速度集中在-2~2 m?s2。保障了跟车过程的舒适性。两车之间的相对车速集中在-1~3 m?s的范围内,说明跟车车速控制精度能够满足需求。
5 结论
本文介绍了国内外ACC系统控制研究的相关成果。在对车辆进行纵向动力学建模的基础上,构建了基于遗传PID的上位控制器和基于模糊控制的下位控制器。控制策略完成后,基于Carsim/Simulink进行了仿真,得到了理想的仿真结果,验证了控制策略的有效性和时效性。
参考文献
[1] Zhang J, Ioannou P A. Longitudinal control of heavy trucks in mixed traffic: environme-ntal and fuel econoy considerations.2006, 7(1): 92-104.
[2] Kim S G, Tomizuka M,Cheng K H.Smooth motion control of the adaptive cruise control system by a virtual lead vehicle. Internatio- nal Journal of Automotive Technology,2012,13(1):77.
[3] 管欣,王景武,高振海.基于最优预瞄加速度决策的汽车自适应巡 航控制系统.吉林大学学报(工),2004, 34(2):189-193.
[4] A.Fritz,W.Schiehlen. Nonlinear ACC in simulation and measurement. Vehicle Syst. Dyn. 36:159-177. Sep 2001.
[5] 初亮,李天骄,孙成伟.面向再生制动优化的电动车自适应巡航控制策略[J].浙江大学学报(工学版),2017,51(08):1596-1602.
[6] 刘道旭东.基于神经网络PID控制器的汽车自适应巡航控制系统研究[D].吉林大学,2017.
[7] 段苏涛.基于多源信息的电动汽车自适应巡航控制算法研究[D].吉林大学,2018.
[8] 刘文瑞,赵磊,颜子荔.基于归一化遗传算法的PID控制器自适应整定[J].科学技术创新,2019(19):61-62.
[9] 高成,庞家腾.基于遗传算法对PID控制器参数的整定[J].现代信息科技,2019,3(02):171-172.
[10] 王文庆,杨楠.基于改进遗传算法的PID参数整定研究[J].计算机与数字工程,2018,46(12):2603-2606+2610.
[11] 李岩,袁弘宇,于佳乔,张更伟,刘克平.遗传算法在优化问题中的应用综述[J].山东工业技术,2019(12):242-243+180.
[12] 邵毅明,陈亚伟.自动驾驶汽车横向模糊控制器设计[J].重庆交通大学学报(自然科学版),2019,38(07):7-13.



