自抗扰算法在无人车路径跟踪控制中的应用

2021-04-12 06:48闫振争庄继晖程晓鸣甘海云
关键词:角速度控制算法控制器

闫振争,庄继晖,程晓鸣,严 英,甘海云

(1.海南大学,海口 570228;2.天津职业技术师范大学,天津 300222)

1 研究现状

无人驾驶车辆(autonomous vehicle)是一个集合定位、感知、决策规划及智能控制技术等多学科交叉,具有高度自主化和复杂化的综合系统[1]。无人车的出现,不仅满足人们对驾驶安全性和便利性的迫切需求,而且能够有效缓解交通拥堵、车辆排放等问题[2-3]。在智能驾驶各项技术中,车辆的路径跟踪问题是目前研究的热点之一。从控制的角度来看,车辆在行驶过程中具有较强的非线性和不确定性,其影响因素主要来源于车辆的“内扰”(车辆系统内部结构参数的不确定和系统各个结构间存在的耦合关系)及“外扰”(包括风力、路面附着力等)[4]。因此,为了使车辆能够实现精确的路径跟踪,设计一种对车辆不确定性和外部干扰具有较强鲁棒性的控制算法尤为重要。

针对车辆的路径跟踪问题,研究人员提出了不同的控制方法。目前,在车辆控制中应用较为成熟和广泛的是PID控制[5-7],其原理是基于目标值与实际值之间的误差来消除误差,进而实现车辆的路径跟踪。这种控制算法设计简单,但存在参数调节过程较为繁琐,不易得到最优解等问题。为了解决参数难以调节的问题,Ding等[8]将BP神经网络与PID进行联合控制,通过BP神经网络训练优化P、I、D参数,有效提高控制精度,在一定程度上解决了PID参数调节的问题,但是该算法需要大量精确数据进行训练,成本较高。Fitri Yakub等[9]提出了一种由模型预测控制器(MPC)和前馈控制器(FC)组成的转向控制器,仿真结果证明所用方法能够准确、稳定地控制车辆行驶,Liu等[10]设计出一种线性二次型调节器(LQR),并将其用于汽车横摆力矩分配控制,使车辆有效跟随期望质心侧偏角和横摆角速度,提高了车辆极限工况下行驶的稳定性和制动安全性,虽然这2个控制器性能良好,但是算法每一步都需要求解一个有限时域内的最优解,因此在线计算量大,难以满足跟踪控制实时性的要求,降低了控制器的可靠 性。除 此 之 外,Jiang等[11],Gao等[12],Lu等[13]分别结合趋近律控制、自适应模糊控制以及自适应神经网络控制来优化滑膜控制率,进一步提高路径跟踪的精度,但是滑膜变结构自身的特点导致控制系统仍存在明显的抖振现象。

自抗扰控制器(ADRC)[14-17]是一种非线性鲁棒控制方法,是在经典PID控制的基础上引入了现代控制理论中状态观测器的思想。自抗扰的优势在于设计简单,可以实时估计并补偿系统运行过程中的“内扰”和“外扰”[18]。目前,一些研究人员已经论证了自抗扰控制器的稳定性和收敛性[19-22],并成功应用于MEMS陀螺仪[23]、船舶航向系 统 (ship course system)[24]、轮 式 机 器 人(wheeled mobile robots)[25]等领域。因此,为了获得较好的跟踪性能,将自抗扰控制算法应用于车辆的路径跟踪控制,并通过粒子群优化算法对控制器的参数进行优化,进而实现稳定、精确的路径跟踪效果。

2 智能车辆动力学模型

车辆的动力学模型研究车辆轮胎及相关部分在各种力的作用下的动态响应特性。然而,在实际应用过程中,如果对车辆所有受力部位进行分析,将会大大增加模型的复杂度,进而增加算法的运行负担,无法保证控制的实时性。因此,需要在保证其动力学特性的前提下,尽可能简化车辆模型得复杂程度。

在简化的车辆模型中,将2个前轮和2个后轮组合成单个前轮和后轮,简化成2自由度车辆模型,如图1所示,并做如下假设:忽略转向系统和悬架的影响;保持车辆的纵向速度恒定,只需考虑车辆沿y轴的横向运动及绕z轴的横摆运动;忽略横向和纵向的空气动力学带来的影响;在分析轮胎受力情况时,仅考虑轮胎的侧偏特性。

图1 车辆动力学模型示意图

图中XOY坐标系为固定的大地坐标系。xoy为车身坐标系,该坐标系随着车身的运动而改变。对上述模型沿y轴和绕z轴进行受力分析:

其中:M为车身质量;ay为基于车身坐标系下车辆沿y轴方向的加速度,主要由沿y轴的运动以及向心加速度Vxw(w为车辆的横摆角速度)两部分组成,表达式如下所示:

式中:Fcf、Fcr分别表示车辆前轮和后轮所受的横向轮胎力,由定义的动力学模型可知,在分析轮胎受力时仅考虑轮胎的侧偏特性,假定前轮转角δf和侧偏角β较小情况下,轮胎侧偏特性处于线性范围,即:

其中:Cf、Cr分别表示前、后轮胎的侧偏刚度,由于前轮和后轮各有2个,所以作用力为单个轮胎所受力的2倍。αf、αr为轮胎侧滑角,为轮胎速度矢量方向与x轴的夹角,在小角度下,2个角的大小可近似表示为:

根据坐标系关系可知,质心侧偏角β≈tanβ=Vy/Vx,故结合式(1)~(5)可得车辆动力学模型的微分方程为:

车辆各参数如表1所示。

表1 车辆参数

3 控制器设计

3.1 ADRC理论

ADRC主要由3部分组成:跟踪微分器(tracking differentiator,TD),非线性状态误差反馈(non-linear state error feedback,NLSEF),扩张状态观测器(extended state observer,ESO)。其中,TD的作用是对控制器的参考输入信号进行处理,根据系统响应安排参考输入的过渡过程,能够有效解决由于参考输入变化过于剧烈而引起的超调现象。ESO模块能够根据系统输入和输出信号,实时给出系统状态变量的估计值以及系统内扰和外扰总和作用的估计值,并对扰动估计值进行补偿。NLSEF通过设计非线性组合控制量来消除TD与ESO估计值之间的状态误差,结合ESO模块中生成的扰动补偿量,形成最终的控制量,以2阶系统为例,其原理如图2所示。

图2 自抗扰控制原理框图

3.2 ADRC控制器设计

在车辆实际运动过程中,车辆的横摆角速度是衡量车辆横向稳定性的重要参数,因此,本研究将车辆的横摆角速度作为控制器的参考输入,根据车辆的动力学特性,设计自抗扰控制器,通过控制车辆的前轮转角进行横摆角速度的跟踪控制,最终实现车辆的路径跟踪控制。车辆控制系统如图3所示。

图3 控制系统框图

图3中的理想横摆角速度wdes是根据期望道路曲率计算得到[26]:

式中:vdes为期望车速;kdes为期望道路曲率。两者的数值均可从上层规划模块中获取得到。曲率的计算方法采用的是正交回归法,若期望路径曲线为y=f(x),则曲率kdes可表示为:

如图3所示,被控车的控制输入和输出变量分别为前轮转角δf和横摆角速度w,根据车辆动力学模型(6),推导出被控系统输出w和输入δf之间的关系为:

则车辆控制系统可以描述为如下2阶系统:

根据自抗扰算法原理,对上述2阶车辆系统进行路径跟踪控制器设计。首先,通过设计ESO模块,估计车辆“总扰动”和车辆横摆角速度及其微分信号;然后根据TD模块获取预处理后的期望横摆角速度及其微分信号;最后设计状态误差反馈控制率,消除横摆角速度及其微分信号的误差,通过误差控制量和ESO模块的扰动估计值,对扰动进行补偿,决定最终的控制量δf。

算法具体过程:

步骤1通过式(11)设计控制器的扩张状态观测器(ESO),估计系统状态变量及总扰动F(*):

其中:χ01、χ02、χ03为观测增益;z1、z2分别为车辆底盘反馈的横摆角速度及其微分信号的估计值,z3为总和扰动F(*)的估计值;b0为控制量的补偿因子,可以通过调节该参数补偿并抑制系统扰动,进而增强算法的适应性。同时,为消除跟踪过程中的高频振荡的现象,观测器中引入fal函数[18],其定义如下:

其中α的范围在0~1。式(10)中,取 α1=0.5,α2=0.25,h为系统采样时间的倍数。

步骤2以期望横摆角速度v0为参考输入,设计跟踪微分器(TD)安排过渡过程:

其中:v1和v2为横摆角速度v0的跟踪信号及其微分信号;r为速度因子,其大小反映v1跟踪v0信号的快慢;h0表示积分步长;fhan函数为最速综合函数,其作用是消除跟踪过程中的高频振荡的现象[18],定义如下:

其中:sign(*)为符号函数,当*为0时函数值为零,当*大于零时函数值为1,当*小于零时,函数值为-1。

步骤3设计状态误差反馈控制率(NLSEF)来消除跟踪误差:

其中:e1、e2为横摆角速度偏差和横摆角加速度偏差;k1、k2为控制器增益。

步骤4通过误差控制量u0和扰动估计值z3进行扰动补偿,决定最终的控制量δf:

将式(16)(17)代入式(10),可得:

通过调节ESO参数可以使估计值z3更加接近实际总扰动F(*),使-z3结果趋于零,从而将系统转化纯PD的非线性组合控制,最终的构建的控制器模型如图4所示。

图4 所设计的ADRC模型框图

3.3 ADRC参数整定

由ADRC控制器设计过程可知,整个控制器需整定的参数较多,为了降低整定工作量,采用基于粒子群优化算法对自抗扰控制中的关键参数进行优化整定。

粒子群优化(particle swarm optimization,PSO)算法是由Kennedy和Eberhart依据鸟群觅食过程中的群体性行为提出的一种智能搜索算法,是粒子按照自身经历过的最优位置和群体共享的最优位置来调整速度和位置,使其趋向于全局最优解[27]。

综合考虑控制器的控制精度、响应的快速性、稳定性的同时,兼顾控制器的控制能耗,将上述指标加权构成粒子群优化算法的适应度函数,用于评判待整定参数的适应度,函数为:

其中:t为仿真时间;e(t)为偏差;u(t)为控制量;Mp为超调量;tr为上升时间;μ1、μ2、μ3、μ4为权重系数,分别为设定为0.6、0.1、0.15、0.15。

基于粒子群优化算法的控制器参数整定流程如下:

步骤1确定控制器待整定的关键参数:为减少参数整定的计算量,首先采用经验设定法[28]设定h、hi、rj、b0,如下所示:h=0.01,hi=0.1(i=0,1,2,…,7),r=100,r1=r2=r3=180,b0=15;仅将扩张状态观测器中的 χ01、χ02、χ03和状态误差反馈控制率中的k1、k2这5个参数作为本次优化对象,并对其初始化;

步骤2初始化粒子群优化算法,将粒子群规模设置为50,迭代次数为100,更新粒子的速度v[]和位置p[]:

其中:rand()和Rand()为[0,1]内变化的随机数,γ1和γ2的值为1.2;λ为惯性权重,λ越小,算法的局部搜索能力越强,反之则全局搜索能力越强[29]。权重定义如下:

令 λmax、λmin为1.5和0;t为当前迭代次数;tmax表示算法的最大迭代次数。

步骤3将粒子群优化算法与设计的自抗扰控制器相结合,编写程序计算各粒子的适应度值Ji,将其与粒子自身经历过的最好位置(pbest[])和群体共享的最好位置(gbest[])的适应度值进行比较:若Ji>pbest[],则pbest[]=Ji,否则pbest[]保持不变;同理可确定的gbest[]值;

步骤4判断粒子群是否满足迭代终止条件或达到最大迭代次数,如满足,则直接输出 χ01、χ02、χ03、k1、k2的最优解,如不满足,则转到步骤2。

基于粒子群优化(PSO)算法来整定自抗扰控制器的流程如图5所示。

图5 基于PSO的ADRC控制参数整定流程框图

4 真实验与分析

4.1 Carsim/Simulink仿真平台搭建

为了验证自抗扰控制器在车辆路径跟踪控制中的应用,与传统PID控制器进行对比分析。通过在Matlab的Simulink环境中搭建出2种控制算法的模型,然后与CarSim仿真软件进行联合仿真。被控车在CarSim中现有整车模型的基础上进行修改,修改的部分主要为车身长宽高、轴/轮距、车辆质心高度等尺寸参数,还包括车身质量、转动惯量等信息。Carsim中车身参数设置界面如图6所示,仿真验证所需车辆参数值见表1。

Carsim整车模型输入为前轮转角,输出为车辆的速度、方向盘转角和底盘反馈的实际横摆角速度。控制器则接收通过2自由度车辆模型得到的理想横摆角速度与底盘反馈的实际横摆角速度,输出前轮转角(如图4所示),并下发给整车模型,最终形成一个完整的车辆闭环控制系统,在Simulink中搭建的系统框图如图7所示。

图6 CarSim车身参数设置界面

图7 CarSim/Simlink联合仿真框图

在无人驾驶车辆路径跟踪研究中,双移线工况常用来模拟车辆前方出现障碍物后,车辆对其进行避障,避障结束后再次逐渐回到本车道的行驶行为,是车辆行驶的典型行为之一,因此采用双移线工况作为算法的测试工况。

双移线工况的方程如下[30]:

车辆期望行驶轨迹如图8所示,设车辆的初始位置为(0,0),路面的摩擦因数值选择为0.8。

图8 “双移线”轨迹

4.2 仿真结果对比分析

为了验证所提出控制算法的效果,分别在15 km/h和30 km/h的速度工况下与PID算法进行比较,对比分析车辆的轨迹跟踪、横向加速度、横摆角速度等特征参数。通过粒子群优化算法最终迭代求解出2种速度工况下的自抗扰控制器整定参数的最优解,如表2所示,并在图9、10中给出2种车速工况下的仿真结果。

表2 ADRC整定参数的最优解

图9 15 km/h双移线工况仿真结果

图10 30 km/h双移线工况仿真结果

由图8(a)和图9(a)可知:在车速为15 km/h与车速为30 km/h的工况下,PID和ADRC控制算法均能够通过控制车辆按照期望轨迹的趋势变化。但是当路径曲率增大时,实际轨迹与理想轨迹之间出现较大的偏移误差。通过对比2种速度下的局部放大图可知:在车速相同时,ADRC控制控制器控制效果较好,被控车行驶的轨迹更接近期望轨迹,而且随着车速的增加,PID控制效果变差,在曲率较大的地方轨迹偏离误差增大,相比之下,所设计的ADRC控制器则保持较好的控制效果,轨迹偏差较小。

图8、9中的(b)为2种算法在不同速度工况下车辆横摆角速度变化情况,它是衡量车辆稳定性的重要参数。从图中可以看到:车速较低时,2种算法均表现出较好的控制效果,但随着车速增加,PID控制算法下车辆的横摆角速度的幅值抖动幅度较大,而ADRC控制策略下,车辆横摆角速度的幅值更加接近理想值,具有较好的鲁棒性。

图8、9中的(c)表示车辆横向加速度随时间变化的图像,由图可知,2种算法下车辆的横向加速度都远小于0.4g,车辆在路径跟踪过程中具有良好的侧向稳定性。与PID算法相比,ADRC控制算法能够明显削减横向加速度的幅值变化,有效提高车辆侧向稳定性。

为了进一步验证所设计算法的优越性,对车辆的横向偏移量进行定量对比分析,结果如表3所示。由表3可知,车速为15 km/h的工况下,与PID控制器相比,所设计的控制器控制车辆的最大横向偏移误差和平均横向偏移误差分别降低了48.2%和43.7%。而且,相比于车速为15 km/h的工况,PID在车速30 km/h工况下的横向偏移误差和平均横向偏移误差波动较大,最大横向误差和平均横向偏移误差分别增加了46.7%和35.6%,而ADRC横向偏差则稳定在一个相对较小的范围内,由此可以验证所设计的控制算法在车速变化时具有较强的鲁棒性。

表3 2种算法测得的参数

综上所述,与PID算法相比,所提出的ADRC控制算法具有较强的鲁棒性,能够有效改善由道路曲率变化而导致车辆抖动的问题。

5 结论

为了使无人驾驶车辆实现精确的路径跟踪,构建车辆动力学模型,设计一种具有主动补偿扰动的ADRC控制算法。利用粒子群优化算法对ADRC关键参数进行整定,进一步优化了控制器性能。在车速为15 km/h和30 km/h的双移线工况下,与PID算法进行仿真对比验证。仿真结果表明:所提出的控制算法可有效削弱车辆在曲率变化过程中抖动现象,在保证车辆稳定性的前提下,进一步提高无人驾驶车辆路径跟踪的精度。本次研究是在仿真层次验证算法的控制效果,未进行实车验证,因此,下一步研究重点是将该算法应用到实际车辆的控制中。

猜你喜欢
角速度控制算法控制器
工商业IC卡控制器改造为物联网控制器实践
纺织机械手专利瞄准控制算法
基于ARM+FPGA的模块化同步控制算法研究
圆周运动角速度测量方法赏析
半捷联雷达导引头视线角速度提取
基于构架点头角速度的轨道垂向长波不平顺在线检测
滑模控制算法在在线式大功率UPS高频整流器中的应用
模糊PID控制器设计及MATLAB仿真
一种非圆旋转工件支撑装置控制算法
MOXA RTU控制器ioPAC 5542系列