1. 研究现状
在自动驾驶技术中,轨迹跟踪控制是一个至关重要的研究领域。当道路曲率和车速较小时,自动驾驶车辆可以实现较为准确的轨迹跟踪,当道路曲率和车速变化较大时,轨迹跟踪的准确度会变差,车辆可能会发生抖动而变得不稳定。因此,为了使车辆能够实现精确的轨迹跟踪,设计一种对曲率和车速具有较强鲁棒性的控制算法尤为重要。
当前,在车辆控制领域已经有很多成熟的控制算法,包括普遍广泛应用的PID控制和基于动力学模型的线性二次型调节器(LQR)和模型预测控制(MPC)等[1]。这些算法虽然趋于成熟,但在复杂或非线性系统中可能表现出较差的性能和鲁棒性,LQR和MPC虽然处理复杂约束和动态非线性系统的能力强,但计算复杂度较高且实时性较差。因此,Chen [2]提出了一种使用主动抗扰控制(ADRC)技术的AFS控制器来解决简单的线性车辆模型对控制器的精度影响,在直线行驶扰动条件下,比例积分微分(PID)控制和ARDC相对于不受控的横向偏移显着下降,并且ADRC比PID控制表现更好。在双车道变换(DLC)测试工况下,通过路径跟踪误差、横摆角速度验证了基于ADRC的AFS控制器能够显着提高车辆的可控性和稳定性。Jin [3]提出了一种基于主动干扰抑制控制器(ADRC)的设计,以提高自主地面电动汽车(AGEV)的轨迹跟随性能,通过建立车辆动力学模型,在双移线和蛇形路线验证了ADRC的有效性。仿真结果显示,ADRC在应对复杂交通状况的系统不确定性和外部干扰方面优于线性二次调节器(LQR)和模型预测控制器(MPC),为AGEV轨迹跟踪控制器的设计提供了指导。Wang [4]通过改进基于ADRC的电动履带车转向控制策略,并设计基于PSO的参数优化算法,以ITAE准则为评价函数,优化转向控制策略中的关键参数,实现系统优化输出。利用Matlab/Simulink仿真平台验证了优化前后的转向控制策略,结果表明,优化后的策略在精度和稳定性方面显著提升。Zhang [5]等人提出一种混沌云克隆选择算法,利用混沌初始化生成初始种群,然后将混沌克隆选择算法应用于参数积分的优化。结果表明,优化后的控制系统不仅具有优良的控制性能,而且具有很强的鲁棒性和抗干扰能力。Lu [6]等设计了一种自适应自抗扰控制(ADRC),用于同时产生前轮角度和额外的偏航力矩,以同时保证车辆跟踪精度和车辆稳定性。通过BP神经网络在线调整非线性状态反馈中难以确定的四个输出参数,形成自适应ADRC,最终通过联合仿真和硬件在环实验表明,所提出的自适应ADRC在高附着力、低附着力路面和大曲率路面上都能获得良好的车辆跟踪精度和车辆稳定性。
2. 轨迹跟踪动力学模型
为了实现自动驾驶车辆的轨迹跟踪控制,在考虑车辆侧向和航向运动的单轨二自由度模型的基础上,设计了轨迹跟踪动力学模型,该模型只包含车辆在横向和航向上的两个自由度,并且假设车辆的纵向速度恒定,车身和悬架均为刚体,不考虑空气阻力,只考虑轮胎的侧偏特性,其动力学模型如图1所示。
Figure 1. Schematic diagram of the dynamic model
图1. 动力学模型示意图
图中模型基于大地坐标系
所建立。图中所代表的参数含义如下所示:
、
为车辆前后轮受到的侧偏力;
、
为车辆前后轴中心到质心的距离;v为质心速度;
、
为车辆前后轴中心的速度;
为车辆的轴距;
、
为车辆前后轮的侧偏角;
为质心侧偏角;
为航向角;
为车辆前轮转角;
为航向角,
为横摆角速度。在
坐标下对车辆进行受力分析,考虑车辆在
轴方向上的平衡关系以及在
方向上的扭矩平衡关系可得到式(1)所示:
(1)
式中,m为车身质量,
为绕z轴的转动惯量,在只考虑轮胎侧偏刚度的前提下,假设前轮转角
和质心侧偏角
很小,所以
,因此式(1)可更新为下列形式:
(2)
式中,
为车辆在车身坐标系下沿y轴方向上的加速度,由y轴方向上的惯性加速度y和绕车辆质心o点的向心加速度组成
,所以
表达式如下所示:
(3)
在进行动力学模型搭建时还需对轮胎的侧向力进行分析,因为在分析轮胎受力时只考虑轮胎的侧偏特性,当轮胎质心侧偏角较小时,轮胎的侧向力与侧偏角成正比,所以轮胎侧偏角示意图如图2所示,车辆前后轮受到的侧偏力如式(4)所示:
Figure 2. Tire slip angle
图2. 轮胎侧偏角
图中
为车辆速度与车身坐标系下车辆纵向方向之间的夹角。
(4)
式中,
、
分别代表前后轮的侧偏刚度,因为车辆前轮和后轮各有两个,所以所受侧偏力为单个轮胎的两倍,此外前后轮的侧偏角在小角度下,大小可以近似为以下式子:
(5)
(6)
由图1可知,质心侧偏角
,因此结合以上公式可得到动力学模型的状态空间表达式为(7)所示:
(7)
3. ADRC控制器设计
3.1. ADRC控制原理
ADRC主要由三部分组成[6],分别是跟踪微分器(tracking differentiator, TD),非线性状态误差反馈(nonlinear state error feedback, NLSEF)和扩张状态观测器(extended state observer, ESO)。其中,TD部分用于生成平滑的参考信号及其导数,确保系统快速响应控制目标变化,减少波动,同时抑制高频噪声干扰,提高系统稳定性和鲁棒性,从而提升控制精度和性能[7]。ESO部分是ADRC算法的核心部分,其主要作用是用于实时估计系统状态和内外扰动,通过动态补偿提高系统的抗干扰能力,确保控制精度和鲁棒性,从而提升系统的稳定性和性能[8]。NLSEF部分用于处理跟踪误差,提供非线性控制律,确保系统快速响应,减少稳态误差和超调,并增强对不确定性和扰动的鲁棒性,从而提升系统性能,其原理框图如下所示(图3)。
Figure 3. Block diagram of the self-disturbance rejection control principle
图3. 自抗扰控制原理框图
3.2. ADRC控制器设计
PID控制器通过不断减小误差来实现控制而得到广泛应用,但它在处理非线性和时变系统时效果较差,并且对系统模型依赖性高且对噪声敏感。因此,在分析PID算法的基础上针对跟踪过程中扰动和模型不精确性带来的跟踪效果不好的问题,根据车辆的动力学特性设计了ADRC控制器。将车辆的横向误差作为控制器的参考输入,通过输出车辆前轮转角作用在被控车辆上来实现车辆的轨迹跟踪控制,其控制原理图如图4所示。
Figure 4. Control schematic diagram
图4. 控制原理图
图4中的横向误差
是通过车辆当前位置与参考轨迹之间的横向距离差异得到,计算方法如下所示:
(8)
式中,
为车辆当前位置的横坐标,
为车辆当前位置的纵坐标,
为车辆当前航向角,可以通过硬件设备GPS或者IMU等传感器获得,
是参考轨迹上该点的横坐标,
是参考轨迹上该点的纵坐标,这两个量可通过上层规划模块获得。
自抗扰控制器的离散算法表达式如下所示[9] [10]:
跟踪微分器:将
作为控制输入,
为
的跟踪信号及其微分信号。
(9)
(10)
(11)
式中,
是滤波因子,h是采样步长,r是系统的响应速度因子,用来调节TD跟踪参考信号的速度,值越大,响应越快,
,
,
,
。
扩张状态观测器:根据被控系统的输出和控制输入,对作用于被控系统的系统状态
、
和未知扰动
进行了估计。
(12)
式中,
是系统的观测误差,
、
是对象状态变量的估计,
是系统总扰动的实时作用量的估计,y是系统输出,
是系统的补偿系数,
、
、
是
函数的非线性调节参数,
、
、
是增益系数,调整观测误差对状态估计的影响,可根据状态观测器带宽的概念进行设计,可表示为式(14)所示:
(13)
非线性反馈:通过对误差进行非线性变换,来实现对系统状态的快速、准确估计。
(14)
(15)
式中,
和
指横向误差和横向误差的变化率,
是理想情况下的控制输入,
、
是增益系数,用来调节误差所占权重,
是线性段的区间长度。
是自抗扰控制器的输出,被控车辆的输入,在文中指前轮转角。最终所构建的控制器模型如下图所示(图5)。
Figure 5. ADRC model block diagram
图5. ADRC模型框图
3.3. 关键参数整定
控制器的关键参数取值是判断控制器是否达到最佳控制性能的指标,传统的PID控制器有三个需要调节的参数
、
、
。与传统PID控制器相比,ADRC虽然具有更好的控制效果,但是从2.2可知,ADRC存在的参数过多,是PID的几倍,虽然ADRC的三个部分参数调节互不影响,但在同一结构中,参数之间有较强的耦合性,且没有有效的整定方法,这就造成了ADRC算法在实际应用中受限。以典型的二阶自抗扰控制器为例,TD部分有滤波因子
、采样步长
和速度因子
;ESO部分有非线性函数参数
、
、
、
和观测器带宽
、系统补偿系数
;NLSEF部分有非线性参数
、
、
和比例、微分增益系数
、
。通过大量的参考文献阅读和仿真实验分析可知,自抗扰控制器中的参数只有
、
、
、
四个需要实时调试外,其它参数的整定根据其对控制器的影响特性均可设置为固定值[11]。因此,为了获得两个控制器的最优结果的前提下还能够降低整定工作量,采用粒子群优化算法来对两个控制器的关键参数进行优化整定。
粒子群优化
通过粒子群优化算法的基本原理和实现流程[12]-[14]可知在使用粒子群算法进行参数整定时选择合适的适应度函数是获得最优参数的核心所在。在进行车辆轨迹跟踪控制时,不可避免地会产生超调现象。在经典控制理论中,超调的产生有以下几个方面:1) 当系统的闭环极点接近实轴时,系统响应趋于更平缓;当极点远离实轴(更接近虚轴)时,系统响应会更快,但也更容易出现超调;2) 当系统是欠阻尼系统时容易产生超调;3) 控制器的设计较为激进会使得系统响应过于快速,超调较大;4) 系统的极点较接近虚轴,系统容易出现超调。针对以上四点产生超调的原因而导致后续整定的参数不准确的问题,综合考虑系统的快速性、稳定性、准确性,及对误差性能优化,设计一个在累计误差平方目标函数中加入控制输入变化率的惩罚项的适应度函数来消除超调。加入惩罚项实际上是对系统的控制力度进行了一种约束。这种约束可以理解为间接地影响了系统的闭环极点位置,使其远离虚轴,靠近实轴,从而减弱系统的响应速度,但同时也降低了超调的发生概率。具体来说就是,加入惩罚项后,控制器不再追求仅仅依靠快速的控制信号变化来减少误差,而是更加注重控制信号的平滑性,这相当于给系统增加了阻尼,使得系统的响应更为平稳,从而有效减少了超调。因此最终的适应度函数表达式为:
(16)
式中,
是横向误差,
是控制输入的变化率,
是控制输入变化率的权重,T是仿真时间或者积分时间。
不加惩罚项,该适应度函数为
,通过欧拉–拉格朗日(Euler-Lagrange)方程求解得到横向误差
值为
,加入惩罚项,对其代价函数进行求解,代价函数也需要满足欧拉–拉格朗日(Euler-Lagrange)方程,其表达式为:
(17)
对于式(16)的拉格朗日量
为:
(18)
通过对
求偏导可以得到:
(19)
因此在设计适应度函数时加入惩罚项和不加惩罚项的情况下推导得到的横向误差在理想情况下都为0,但是如果不加惩罚项,即希望车辆的实际轨迹与参考轨迹完全一致,没有任何误差。这种设计意味着系统会尽一切努力去纠正任何偏差,即需要剧烈或频繁的控制操作,这显然是不符合设计要求的。如果加入惩罚项,设计的适应度函数求解得到的最优整定参数在进行轨迹跟踪控制时不仅能够减少轨迹误差,还能抑制过于剧烈的控制输入变化。惩罚项的加入使得系统在调整轨迹时更加平稳,不会进行过度激烈的操作,这可以改善系统的鲁棒性和乘坐舒适性。
4. 仿真试验与分析
4.1. Matlab/CarSim仿真平台搭建
为了验证ADRC算法在轨迹跟踪控制中的应用,通过在Simulink中搭建算法的模型,并且同在双移线工况下与Carsim进行联合仿真,其具体的Simulink模型如下所示(图6)。
Figure 6. ADRC model diagram
图6. ADRC模型图
Carsim整车模型输入为前轮转角,输出为车辆的当前横纵向位置、航向角、横纵方向上的速度和横摆角速度,控制器模块则通过预测模块和所搭建的动力学模型中的参数获得下一时刻的车辆横纵向位置、航向角、横纵方向上的速度和横摆角速度,然后通过参考轨迹所提供的位置等信息计算得到的横向误差作为输入,前轮转角作为输出,并下发给整车模型,最终形成一个完整的车辆闭环控制系统。
双移线工况是一种车辆操纵稳定性测试方法,用于评估车辆在快速变道时的操控性能和稳定性,因此采取双移线工况来进行两种算法的测试比较。双移线工况在Matlab中可以通过输入的起始和终止坐标、角度及离散点数,计算每个离散点的坐标、角度和曲率,并将这些点拼接组合直线段和弧线段生成一个双移线工况路径。
4.2. 仿真结果对比分析
为了验证所提出的ADRC控制算法的效果,分别在30 km/h和60 km/h的速度工况下与PID算法进行比较,比较分析车辆的轨迹跟踪效果,横向误差的大小,横摆角速度和横摆角加速度。通过粒子群最优算法得到在两个不同车速工况下的PID控制器和自抗扰控制器的最佳整定参数,其结果如表1和表2所示,并在图7和图8中给出仿真结果。
Table 1. The optimal solution for PID tuning parameters
表1. PID整定参数的最优解
参数 |
|
|
|
30 km/h |
2.01 |
0.02 |
0.01 |
60 km/h |
2.98 |
0.05 |
0.03 |
Table 2. The optimal solution for ADRC tuning parameters
表2. ADRC整定参数的最优解
参数 |
|
|
|
|
30 km/h |
2.01 |
0.38 |
0.33 |
1.5 |
60 km/h |
3.14 |
1.25 |
0.15 |
1.63 |
(a) 车辆行驶轨迹 (b) 车辆横摆角速度
(c) 横向误差 (d) 车辆横摆角加速度
Figure 7. Simulation results for the double lane change maneuver at 30 km/h
图7. 30 km/h双移线工况仿真结果
(a) 车辆行驶轨迹 (b) 车辆横摆角速度
(c) 横向误差 (d) 车辆横摆角加速度
Figure 8. Simulation results for a double lane change maneuver at 60 km/h
图8. 60 km/h双移线工况仿真结果
由图7(a)和图8(a)可知:两种控制算法在30 km/h和60 km/h的双移线工况下能够按照车辆期望的轨迹行驶,但是两种算法随着道路曲率和车速的增大,在曲率变化较大的地方会出现转向不足的情况,导致期望轨迹和实际轨迹之间存在一定的跟踪误差,但ADRC算法跟踪误差在同一位置处小于PID算法,因此在相同车速下,所设计的ADRC算法能够实现较好的轨迹跟踪控制。图7和图8中的(b)是两种算法在相同工况的不同车速下横摆角速度变化情况,它是衡量车辆稳定性和操控性能的重要参数,它直接影响车辆的转向响应和轨迹跟踪精度。从图中可以看到ADRC算法不管是在30 km/h还是60 km/h情况下,横摆角速度在同一位置处的幅值都小于PID算法,说明ADRC算法稳定性和平顺性都优于PID算法。图7和图8中的(c)表示的是两种算法在跟踪过程中对横向误差的控制效果,在30 km/h工况下,用ADRC算法控制的横向误差最大为0.0245 m,用PID算法控制的横向误差最大为0.0431 m,在60 km/h工况下,用ADRC算法控制的横向误差最大为0.0322 m,用PID算法控制的横向误差最大为0.0575 m,因此ADRC算法的控制精度优于PID算法,表明ADRC算法能够更好的消除误差来达到理想的控制效果,具有极强的鲁棒性。图7和图8中的(d)表示的是ADRC算法和PID算法在相同工况的不同车速下横摆角加速度变化情况,不管是在30 km/h还是60 km/h情况下,在横摆角加速度的峰值和变化速率方面,ADRC算法相比于PID算法都更平稳,在曲线的几个波动阶段中,ADRC算法也表现更加平滑。综上所述,与传统的PID算法相比,所设计的ADRC算法具有更优的轨迹跟踪精度、更小的横向误差,以及更平稳的横摆角速度和加速度控制效果,展现出更强的鲁棒性和操控稳定性,能够有效地改善因道路曲率和车速变化带来的车辆控制效果差的问题。
5. 实车试验与分析
5.1. 试验平台介绍
为验证所提算法的实际跟踪控制效果,基于某款观光车作为实车试验平台,INS570D车载组合导航定位系统提供车辆实时位置和姿态信息等,镭神CH128X1激光雷达提供车辆行驶过程中感知信息,保证车辆安全行驶,智驾域控制器和网联域控制器为车辆轨迹跟踪控制提供算力支持和底盘数据传输支持,规划代码则部署在车辆上进行路径和行为规划,控制代码则通过接收定位和规划的信息来进行车辆的轨迹跟踪控制。试验场地为某封闭园区,行驶轨迹为上层规划提供,分别为一个双移线轨迹和一个绕园区行驶的方形轨迹,在该轨迹上采用PID和ADRC算法分别进行轨迹跟踪控制。实验平台及软硬件设备基本参数如表3和图9所示。
Table 3. Test platform parameters
表3. 试验平台参数
参数 |
数值/型号 |
尺寸(mm) |
3600*1605*1995 |
轮胎规格 |
165/65 R14 |
最小转弯半径(r/mm) |
6500 |
传动比 |
15 |
方向盘转角(˚) |
540 |
激光雷达 |
CH128X1 |
车载组合导航定位系统 |
INS570D |
智驾域控制器 |
ICVHW204 |
网联域控制器 |
ICVD2001 |
Figure 9. Experimental platform diagram
图9. 试验平台图
5.2. 实车试验及结果分析
分别测试两种控制算法在不同车速下的不同工况中的轨迹跟踪效果,考虑到实验安全性及试验场地的局限性,现将行驶车速分别固定为20 km/h和30 km/h的速度行驶,并分别在双移线和方形轨迹下进行测试,并对行驶轨迹、前轮转角和横向误差的控制进行数据存储,最后在Matlab中用图像的形式对两种算法的结果进行比较分析。结果分析如图10,图11所示。
(a) 车辆行驶轨迹
(b) 车辆横摆角速度 (c) 横向误差
Figure 10. Experimental results for the double lane change maneuver at 20 km/h
图10. 20 km/h双移线工况实验结果
(a) (b)
Figure 11. Experimental results for the double lane change maneuver at 30 km/h
图11. 30 km/h双移线工况实验结果
由图10的(a)、(b)、(c)可知PID控制器和ADRC控制器都能够实现实车的轨迹跟踪控制,但是PID在需要转向的时候出现转向过大的情况,在转向过程中不能及时回正,导致跟踪效果不如ADRC,并且在进行实车实验时,会产生噪声和其他干扰,导致PID转向时会使方向盘转角发生较为剧烈的震荡,而ADRC表现出更平稳、更精确、更抗干扰和更舒适的控制效果。在对误差控制方面,PID控制器产生的误差总体来说都大于ADRC控制器产生的,而且PID控制器的误差波动较大,而ADRC控制器误差曲线更为平滑,显示出更好的稳定性。因此,从实车试验结果可以得出ADRC控制器在相同工况下相较于PID控制器,具有更小的横向误差、更高的稳定性和更好的抗干扰能力。
6. 结论
针对自动驾驶车辆实现准确的轨迹跟踪控制,本文设计一种具有主动抗干扰能力强的ADRC控制算法,通过粒子群优化算法整定关键参数。与传统PID算法相比,该方法在仿真和实车实验中表现出更强的鲁棒性和适应性,尽管研究进行了参数整定和仿真实车对比试验,未来需要通过更高级的参数整定方法和在仿真实车实验中与更复杂的控制算法和更多的驾驶场景进行对比,从而提升泛化能力和实用性,同时优化算法的实时性和计算效率。
NOTES
*通讯作者。