吴施鹏,刘冉冉,颜海彬,臧传涛
(江苏理工学院 汽车与交通工程学院,江苏 常州 213000)
路径跟随是实现汽车自动驾驶的关键技术,其目的是控制汽车准确地跟随目标路径[1]。目前已有多种路径跟踪算法用于智能车辆的转向控制[2]。应用较多的有纯点追踪算法[3]、线性二次型调节器跟踪控制器[4]、嵌套式PID控制算法[5]以及预瞄跟踪最优控制等[6]。然而,在现实控制中这些算法存在忽略行驶时车辆动力学约束的问题,而模型预测控制以准确的动力学模型作为预测模型,在控制时加入约束条件,具有提高控制器对车辆未来行为的预测能力的优势[7]。所以,本文中选用模型预测控制方法。
模型预测控制在实现过程中有模型预测、滚动优化和反馈校正3个关键步骤[8]。模型预测控制最明显的优点是能在控制过程中增加多种约束。无人车辆在低速时,车辆平台运动学约束影响较大,而随着速度的增加,动力学特性对运动规划与控制的影响就越明显,带来多种模式的约束,这正是模型预测控制在无人车辆运动规划控制方面的应用优势[9]。国外的Falcone等[10]在线性车辆模型基础上设计了MPC控制器并将其用于路径跟踪系统,实车上对控制算法进行了验证。Abbas等[11]在非线性车辆模型的基础上设计MPC控制器,综合考虑了路径跟踪过程中轮胎的侧偏角约束,但是存在实时性较差的问题,且对系统的硬件设备要求较高。Sara Mata等[12]提出了一种基于预测模型和保证稳定性的MPC路径跟踪控制器。该方法优化了横向位移和偏航角,提供了更精确的路径跟踪。J Ji等[13]在MPC方法中,以约束条件下的成本最小化为优化问题,输入侧向位置、横摆角速度、侧滑角和方向盘转角等约束来提高高速下的车辆稳定性。Garcia O等[14]提出了一种利用MPC设计和仿真路径跟踪控制的方法,控制器的设计模型基于车辆的单一跟踪模型和由卡尔曼滤波器观测状态变量的转向模型。Arun等[15]提出了一种基于MPC的自动驾驶控制系统,该系统采用图形处理单元,提高了计算速度和系统的实时性。武汉理工大学的张严等[16]建立了纵向、横向和横摆的3自由度汽车动力学模型,确定目标函数并加入约束条件,利用遗传算法对模型预测控制器的预测时域、控制时域进行优化。但在较高车速和较大道路弯曲曲率的路径下仍然有较大的偏差量。北京工业大学的段建民等[17]通过改进目标函数、增加轮胎侧偏角动力学约束,以车辆动力学模型作为模型预测控制的预测模型,提出了一种改进的智能汽车目标路径跟踪方法,但其在高速情况下仍然会出现较大的侧滑,导致跟踪出现偏差。辽宁工业大学的李金良等[18]验证了线性时变模型预测控制算法在低速下的路径跟踪效果,说明这个方法在低速下轨迹跟踪有较好的实时性以及行驶稳定性,但是没有验证这种控制算法在高速下的路径跟踪效果。虽然现在模型预测控制有着比较成熟的理论,但是其在低路面附着系数和高速工况下的轨迹跟踪效果并不理想。
为了解决上述问题,提高模型预测控制器在各种工况下的跟踪性能和行驶稳定性。通过建立2自由度汽车动力学模型,设置模型预测控制的目标函数,进而对建立的目标函数进行求解,利用遗传算法优化控制器参数来提高车辆的跟踪精度,最后在控制器中加入前轮侧偏角软约束,既保证了车辆在高速工况下的跟踪精度,又保证了车辆的行驶稳定性。
本文中建立整车动力学模型,研究路径跟踪的鲁棒性和实时性,重点考虑车辆纵向、横向以及车辆横摆动力学特性[19]。为了简化模型的复杂程度,以减小计算量,假设汽车在平坦的路面上行驶,忽略车辆垂向运动和悬架运动,不考虑车辆载荷左右转移[20]。据此建立的2自由度车辆动力学单轨模型如图1所示。
根据图1可以得到以下的关系:
建立车辆的受力平衡方程:
式中:X、Y为质心横纵坐标值;x、y为质心纵横向位移;a、b为前后轴至质心的距离;m为整车质量;Fyf、Fyr、Fxf、Fxr分别为前后轮所受的横纵向力;φ为车辆航向角;Iz为车辆绕z轴的转动惯量。
车辆的轮胎在x、y方向所受到的力为:
式中:Fxf、Fxr为轮胎在x方向所受到的力;Fyf、Fyr为轮胎在y方向所受到的力;Flf、Flr为轮胎所受纵向力;Fcf、Fcr为轮胎所受横向力;δf、δr分别为前后轮转角。
车辆在侧偏角和侧向滑移率较小的情况下轮胎力可以用线性函数来表示[21]。轮胎的纵侧向力通过下式来计算:
式中:F1为轮胎纵向力;Fc为轮胎侧向力;C1为轮胎纵向刚度;Cc为轮胎侧偏刚度;s为轮胎滑移率;α为轮胎侧偏角。
轮胎前后侧偏角为:
可以得到车辆的前后侧向力和纵向力:
式中:Ccf、Ccr为前、后轮侧偏刚度;C1f、C1r为前后轮胎纵向刚度;Sf、Sr分别为前后轮胎纵向滑移率。
可以得到车辆在前轮偏角很小的状态下的动力学模型:
式(7)为建立的非线性动力学模型,但其不能直接用于线性时变模型预测控制,因此需要对非线性系统进行线性化处理。
参考系统在任意时刻的状态量与其在某一时刻的状态量及控制量有关,在此将其表示为:
泰勒公式的形式为:
此处忽略泰勒公式的高阶项,只保留其一阶项,可以得到:
将式(10)和式(8)相减得到:
简化其线性时变方程为:
上述所建立的线性化模型为:
设模型预测控制中的2个时域参数为Np,Nc,则控制器能够预测到系统的状态量为:
在车辆高速行驶时易产生控制量突变的情况,使跟踪轨迹完全偏离目标轨迹,因此,在目标函数中加入松弛系数来解决此问题,故采用如下形式设计模型预测控制器的目标函数[22]:
式中:η(t+i|t)为系统的实际输出轨迹;ηr(t+i|t)为系统的参考输出轨迹;Δu(t+i|t)为控制量的变化;Q、R为权重矩阵;Np为预测步长;Nc为控制步长;ρ为权重系数;ε为松弛因子,当跟踪误差较小时取较大值,跟踪误差较大时取较小值。
式(16)中的第1项表明设置参考路径后的车辆跟踪效果,第2项表明控制量的变化平稳性,第3项加入松弛系数,来对约束范围进行调节,防止该方程无法在硬性约束下求得最优解。
因此,模型预测控制器需要求解目标函数的最小值,以得到最优解,即:
在每个控制步长中,需要对系统的控制量进行约束。
控制量约束:
式中,k=0,1,…,Nc-1。
控制增量约束:
式中,k=0,1,…,Nc-1。
综合考虑目标函数和约束条件后,需要在每个周期内解决以下优化问题:
式中:ΔUmax、ΔUmin为控制增量最大值和最小值。αmax、αmin为软约束输出最大值和最小值。
对上述问题进行求解可获得每个时域内的控制增量。将每个时域内的控制增量表示为:
因此,系统实际接收到的输入量为:
不断地循环进行这样一个过程,就可以让控制器实时地跟踪到目标轨迹。其控制原理如图2所示。
由于模型预测控制器中时域参数Np和Nc的取值能够大大影响无人驾驶车辆的路径跟踪性能,为了能够获得最优的时域参数,本文中通过遗传算法对时域参数进行优化。遗传算法是一种成熟的优化算法,其利用适应度函数来判断解的好坏。
采用如下的遗传算法步骤对时域参数Np和Nc进行优化:① 初始化种群,生成N个个体的初始基因;②选用适应度函数来评估种群个体适应度,计算出个体的适应度值;③选出适应力强的个体进行遗传和交叉,生成新的个体。遗传算法会随机地选择少数个体进行变异操作,以避免优化结果陷入局部最优[23]。本文中根据文献[24],设置遗传算法的种群大小为50,终止进化次数为20,交叉概率为0.6,变异概率为0.1。设置优化变量为系统的时域参数Np、Nc。时域参数的优化原理如图3所示。
因为系统的横纵向偏差属于不同数量级,因此将其量纲为一化处理:
将横纵向偏差进行加权组合:
式中:σ为权重系数,取值范围为(0,1),本文中取σ=0.7。
时间乘以误差绝对值积分(ITAE)性能指标是一种具有很好的工程实用性和选择性的控制系统性能评价指标[25]。因此本文中的适应度函数选用ITAE指标:
由于考虑到模型预测控制器中的预测时域和控制时域必须为整数,因此在遗传算法中随机初始化种群时加入round函数让种群变为整数,避免遗传算法无法寻找到最优解的情况,再输入到模型预测控制器中。在Simulink下建立模型,如图4所示。
需要将前轮侧偏角控制在合适的范围内,来保证轮胎的侧偏角和侧偏力呈线性关系。本文中研究在低附着系数和较高行驶车速工况下的路径跟踪,侧偏角对路径跟踪性能有较大的影响,所以将前轮侧偏角软约束的范围设置为-2.82°≤α≤2.82°。
本文中设置的系统控制量为前轮转角,其变化范围对路径的跟踪效果有较大影响,因此需要约束前轮转角及其变化范围,设置其范围为:
选用文献[9]中传统模型预测控制的无人驾驶车辆基本参数,在Carsim车辆动力学仿真软件中车辆的基本参数见表1。控制器部分仿真参数见表2。
表1 动力学模型基本参数
表2 控制器部分仿真参数
采用Carsim和Matlab/Simulink进行联合仿真,设定的参考轨迹为双移线路径,在附着系数为0.4和0.85的路面进行仿真,分别对比50 km/h和100 km/h车速下传统MPC、经遗传算法优化后的MPC以及加入前轮侧偏角软约束后的路径跟踪效果。
无人驾驶车辆在 μ=0.85、v=50 km/h下的仿真结果如图5所示。
由图5可知,在附着系数为0.85、车速为50 km/h下的3种控制器均具有较高的控制精度。经过遗传算法优化后的控制器路径跟踪误差略微低于传统MPC,其路径跟踪精度稍微好于传统MPC。相比于文献[16]中仅通过遗传算法优化的方法,本文中加入前轮侧偏角约束,其路径跟踪误差和横摆角更大一点但差别很小,这说明3种控制器的横摆角相差不大,在高附着中速情况下3种控制模式的行驶稳定性很接近,路径跟踪性能变化不大。
无人驾驶车辆在 μ=0.4、v=50 km/h下的仿真结果如图6所示。
由图6可知,在附着系数为0.4、车速为50 km/h的情况下,经过遗传算法优化后的路径跟踪精度更高一些,但其在行驶到90 m处车辆出现短暂的波动,随后可以调整过来继续跟踪到路径。相比于文献[16]中仅通过遗传算法优化的方法,本文中加入前轮侧偏角约束,其路径跟踪误差与文献[16]方法下的路径跟踪误差差别不大,但其横摆角并未产生波动。这也说明后2个控制器的路径跟踪误差要好于传统的MPC,而加入了前轮侧偏角约束后的车辆的行驶稳定性要高于传统MPC和加入遗传算法后的MPC。
无人驾驶车辆在 μ=0.85、v=100 km/h下的仿真结果如图7所示。由图7可以看出,在μ=0.85、v=100 km/h的工况下,传统MPC控制最开始能跟踪到参考轨迹,但在90 m之后出现了远离参考轨迹的情况,并在100 m之后出现波动,控制器轻微失稳,可以知道传统的MPC在高附着高速的路面状况下的轨迹跟踪效果并不好。而遗传算法优化后在一定程度上轨迹跟踪的误差减小,在前100 m处能够较好地跟踪到轨迹,但在125 m之后出现了控制器失控的现象,无法很好地跟踪到轨迹。再加入前轮侧偏角约束之后可以看出,无人驾驶车辆在前90 m处的运行很平稳,而且对参考轨迹具有一定的跟踪能力,尤其是在90 m之后,无人驾驶车辆对参考轨迹的跟踪误差越来越小,最终可以完全跟踪到参考轨迹。并且加入了前轮侧偏角约束控制下的车辆横摆角波动要远远小于前2个控制器下的车辆横摆角。相比于文献[16]中仅通过遗传算法优化的方法,本文中加入前轮侧偏角约束后的路径跟踪误差和横摆角都要远远小于文献[16]方法下的路径跟踪误差和横摆角,这说明在高附着系数高速下加入前轮侧偏角约束控制器的行驶稳定性要远远优于传统MPC和加入遗传算法优化后的控制器。
无人驾驶车辆在 μ=0.4、v=100 km/h下的仿真结果如图8所示。
可以看出,μ=0.4、v=100 km/h的工况下,传统MPC无法跟踪到路径,控制器完全失控,传统MPC在低附着和较高速度下对参考轨迹没有跟踪能力。经过遗传算法优化后的无人驾驶车辆在前60 m处对轨迹具备一定的跟踪性能,但在80 m处出现了无人驾驶车辆无限偏向一方的情况,控制器在前期对参考轨迹还具有一定的跟踪能力,但在后期已经无法跟踪到参考轨迹。相比于文献[16]中仅通过遗传算法优化的方法,本文中加入前轮侧偏角约束,无人驾驶车辆可以较好地跟踪到轨迹,控制器并没有出现失稳的情况,横摆角的变化较为平稳,也说明附着系数较低的路面高速行驶时加入前轮侧偏角优化后控制的车辆的行驶稳定性明显优于传统MPC算法和加入遗传算法优化后的车辆。
为了解决无人驾驶车辆在低附着系数和高速工况下路径跟踪效果和行驶稳定性差的问题,本文中提出了一种基于模型预测的无人车路径跟踪优化控制方法。在高附着系数和中速的工况下利用遗传算法寻找出控制器的最优时域参数来减小无人驾驶车辆的路径跟踪误差,再在低附着系数和高速的工况下利用遗传算法和加入前轮侧偏角软约束来提升无人驾驶车辆的跟踪性能,通过Carsim和Matlab/Simulink进行联合仿真。仿真结果表明:在高路面附着系数和中速的工况下,利用遗传算法可以减小路径跟踪误差,提高车辆的行驶稳定性。在低路面附着系数或者高速的工况下,联合应用遗传算法和前轮侧偏角约束能够大大减小无人驾驶车辆的路径跟踪误差,提高行驶稳定性,控制器具有较高的路径跟踪精度。车辆在低附着系数下高速行驶时能够保持一定的跟踪精度,并同样可以保证一定的行驶稳定性。本文中方法可以拓展应用到对无人驾驶系统权重矩阵优化和对后轮转角控制算法设计方面。但对于实际的车辆系统,其参数是非线性变化的,并且变量信息不一定能够实时获取,可以在后续研究中采用非线性模型预测控制系统,并且考虑系统的时滞对跟踪效果的影响。