CN 11-5904/U J Automotive Safety and Energy, Vol. 11 No. 4, 2020
503—510搭载改进滑模控制自动驾驶汽车轨迹跟踪控制
李 磊1,2,李 军1,2*,张世义3
(1. 重庆交通大学机电与车辆工程学院,重庆,400074,中国;
2. 重庆市轨道交通车辆系统集成与控制重点实验室(重庆交通大学),重庆,400074,中国;
3. 重庆交通大学航运与船舶工程学院,重庆,400074,中国)
摘要:为了提高自动驾驶汽车在各种干扰因素下轨迹跟踪控制的鲁棒性,提出了一种改进滑模控制
的鲁棒控制器。通过采用时变误差模型来设计滑模面, 而不是恒定滑模面,进而缩短滑模控制器到
达滑动阶段的时间。利用了MATLAB对改进后的滑模控制器,进行了滑模面仿真、变道工况仿真
以及超车工况仿真,并与未改进的滑模控制器进行了对比。结果表明:改进后的滑模控制器到达滑动
阶段的时间减少了33.10%;在变道仿真工况中鲁棒性提高了7.44%;在超车仿真工况中鲁棒性提高了
10.45%。因而,在自动驾驶汽车轨迹跟踪控制研究中,该控制器可以提升控制鲁棒性。
关键词:自动驾驶汽车;轨迹跟踪;鲁棒性控制;滑模控制
中图分类号: TP 273  文献标识码: A  DOI: 10.3969/j.issn.1674-8484.2020.04.010 Trajectory tracking control of autonomous vehicles with
optimized sliding mode control
LI Lei1,2, LI Jun1,2*, ZHANG Shiyi3
(1. School of Mechatronics and Vehicle Engineering, Chongqing Jiaotong University, Chongqing 400074, China;
2. Chongqing Key Laboratory of Rail Vehicle System Integration and Control (Chongqing Jiaotong University),
Chongqing 400074, China;
3. School of Shipping and Naval Engineering, Chongqing Jiaotong University, Chongqing 400074, China)
Abstract: A robust controller was proposed with an improved sliding-mode-controller to improve the
robustness of autonomous-vehicle trajectory-tracking under various disturbance factors. Designed a sliding-
mode-surface instead of a constant sliding-mode- surface by adopting the time-varying error model to
shorten the time for the sliding-mode- controller to reach the sliding phase. Simulated an optimized sliding-
mode-controller for the driving condition with sliding-mode-surface, the lane change, and the overtaking by
using a MATLAB software. The simulation results were compared with that by the unoptimized sliding-mode-
controller. The results show that the time is reduced by 33.10% for the optimized sliding-mode-controller to
reach the sliding phase; the robustness is increased by 7.44% in the lane change simulation conditions; and the
robustness is increased by 10.45% in the overtaking simulation conditions. Therefore, the controller improves
收稿日期 / Received :2020-09-09。
基金项目 / Supported by :国家自然科学基金资助项目(51305472)。
第一作者 / First author :李磊(1995-),男(汉),重庆,硕士研究生。E-mail:****************。
*通讯作者 / Corresponding author :李军(1964-),男(汉),重庆,教授。E-mail:****************。
the control robustness in the trajectory-tracking control research.
Key words:a utonomous vehicles; trajectory tracking; robust control; sliding mode control
自动驾驶汽车可以粗略的分为环境感知模块,轨迹规划模块以及轨迹跟踪模块。轨迹跟踪模块将控制汽车按照轨迹规划模块生成(或地图导入路径)的参考路径行驶。作为自动驾驶汽车的底层控制模块,其控制的性能直接决定自动驾驶汽车的行驶性能[1-2]。但由于数学建模不能准确反映自动驾驶汽车的动力学特征,以及自动汽车的各种内部、外部干扰因素,使得鲁棒性控制在自动驾驶汽车上的应用变得尤为重要[3]。
滑模控制算法是一种广泛应用的鲁棒性控制算法之一,可以有效抵抗自动驾驶汽车行驶过程中的各种干扰,并且可以很快地收敛到预期的轨迹[4]。文献[5-6]通过利用模糊滑模控制器来实现对路面附着条件的自适应控制,提高了系统鲁棒性的同时也改善了滑模控制器的抖动问题(chattering)。由于滑模控制器优良的鲁棒性,使得滑模控制器也广泛的应用在自动驾驶汽车的控制上。文献[7]利用滑模控制器来实现对自动驾驶汽车的横向控制,该滑模控制器的相关变量是基于指数收敛的观测器得来的,进一步提高了自动驾驶汽车的鲁棒性,同时改善了滑模控制器的抖动问题。文献[8]通过利用RBF神经网络在线拟合以及优化的粒子算法来改进网络结构,使得该滑模控制器可以快速到达滑模面,改善了抖动现象。文献[9]为了提高自动驾驶汽车的鲁棒性以及跟踪的精度,提出了一种基于趋近律的滑模控制器。
虽然滑模控制器在自动驾驶汽车中得到了广泛的应用,但上述文献都没有考虑到自动驾驶汽车的初始误差。由于自动驾驶汽车的初始状态并没有在预期的轨迹上(初始误差),因此首先需要控制汽车到达预期的参考轨迹上,这一过程称为到达阶段(reaching phase) ,这一阶段的滑模控制器对系统的参数误差十分敏感。当自动驾驶汽车到达预期的轨迹之后就进入了滑动阶段(sliding phase),这一阶段的滑模控制器对系统的参数并不敏感[10]。因此,可以通过减少(或者消除)自动驾驶汽车停留在到达阶段的时间来提高滑模控制器的鲁棒性。
通常滑模控制器的滑模面设计都是常数表达式[11]。为了使自动驾驶汽车能够更加快速地到达滑动阶段,本文将采用时变误差模型来对滑模面进行改进设计。并利用Lyapunov函数对设计好的滑模面进行了
稳定性验证。仿真结果表明:采用时变误差模型的滑模面设计可以显著的提高自动驾驶汽车滑模控制器的鲁棒性。
中国汽车模型网
1 轨迹跟踪控制建模
常用的自动驾驶汽车轨迹跟踪控制有几何控制方法、运动学方法和动力学方法3种方式。其中每种控制方式的建模各有不同。运动学方法和动力学方法又可以称为基于模型的控制方法[12],几何控制方法一般运用在几何控制器上,而滑模控制是一种典型的非线性控制方法,可以采用基于模型的控制方法。运动学方法和动力学方法都能很好地描述自动驾驶汽车的内部动态,但动力学方法相比较于运动学方法加入了自动驾驶汽车的内力和动量守恒原理,增加了计算的复杂程度,并且运动学方法对参数的依赖程度较低[13-14]。考虑到本文主要研究滑模控制器的跟踪性能和鲁棒性,故本文将采用自动驾驶汽车的运动学模型进行研究。
为了更好地验证改进后的滑模控制器性能,本文采用简化的三自由度自行车运动学模型来对自动驾驶汽车进行建模。在对自动驾驶汽车建模之前,需要对自动驾驶汽车做出如下的假设[15]:
1)忽略车辆的垂向运动;
2)忽略悬架运动及其耦合关系的影响;
3)忽略轮胎力的纵横向耦合关系;
4)采用单轨模型来描述车辆的运动,不考虑载荷的左右转移;
5)忽略前后轴的载荷转移;
6)忽略横纵向的空气动力学。
本文采用的三自由度自行车运动学模型如图1所示。其中:θ为车辆的航向角,δ为前轮偏角,L为轴距,v为车辆质心速度。
图1
三自由度自行车运动学模型
由图1可得三自由度自行车运动学模型的数学表
505李磊,等:搭载改进滑模控制的自动驾驶汽车轨迹跟踪控制
达式:
(1)
在得出车辆的运动学模型之后,还需要结合车辆模型和参考路径模型得出轨迹跟踪控制的误差模型,如图2所示。其中:x d、y d、θd表示车辆目标位置信息,由轨迹规划模块生成;x e、y e、θe分别表示车辆纵、横向跟踪误差和航向角误差;c为参考路径关于其长度的函数;θd (c)为c处的参考路径切线与全局坐标x轴的角度。
图2 轨迹跟踪控制的误差模型
从图2中可以得出该误差模型的数学表达式:
(2)
对各个误差求导可得:
; (3)
; (4)
(5)
其中:v d为目标车速,δd为目标前轮偏角。并且设定,意味着车辆的方向不应该与参考轨迹垂直。
2 自动驾驶汽车滑模控制器设计
根据实际驾驶情况可知,车辆在启动时一般不会在参考轨迹的起点,即存在初始误差。从初始状态到达参考轨迹的过程中,滑模控制器对控制系统的参数误差十分敏感。一旦到达参考轨迹滑模控制器就不再对控制系统的参数误差敏感。因此本节将对滑模控制器的滑模面进行改进设计,以此来实现车辆快速到达参考轨迹。通过将改进后的滑模面设计方法运用到自动驾驶汽车的滑模面设计上,可以显著提高自动驾驶汽车控制的鲁棒性。2.1 改进滑模控制器设计
本文的改进的方法是基于轨迹跟踪的误差模型来设计的,通过将轨迹跟踪的误差模型设计为时变模型,可以很好地减少滑模控制器到达滑动阶段的时间。
将上节得出的误差状态方程看作如下方程的形式:
(6)其中:为控制输入,表示了该系统的动态方程。假定为估计的动态方程(假定可观测),那么该系统的估计误差可表示为:
(7)
由文献[16]提出的设计准则可以得出该控制系统的滑模面以及控制信号:
(8)
(9)
其中:为已知的输入参考信号,
为时变的滑模面坡度函数,q为正标量。将控制信号输
+
入到主系统中,可得动态误差方程为
(10)
式(10)可以表示为图3所示的滑模控制结构。图3说明:改进后的滑模控制器的滑模面是由系统的时变误差函数决定的。在此期间还需要对进行设计,才能实现预期的改进设计。
为对进行设计,先从滑模面开始,理论上可得
(11)再对下式进行最优求解:
(12)其中:T为到达滑模面的时间。
求解该式可得:
(13)其中:α是由系统的初值确定(即αλ1= αλ(0)),λ1为
图3 改进后的滑模控制器
汽车安全与节能学报506第11卷 第4期 2020年
器的设计,然后结合自动驾驶汽车的状态误差公式(3)-(5)以及公式(8),可以得出改进后的滑模面:  (21)
(22)
因为航向角误差( θc )和横向误差( y c )在收敛到滑模面的过程中两者存在着内在的联系,所以将这2个状态量设计在同一个滑模面当中。
在得出滑模面之后,还需要对滑模面的到达条件进行设置。车辆状态能到达滑模面的条件称为到达条件,一种常用的到达条件可以设置为[18]
(23)
其中:sat(·)为饱和函数,并且Q 、P 为:
(24)
通过引入比例增益系数Q 使得即使滑模面s 很大时,系统状态也可以很快地改变结构。通过选择不同的Q 、
P 系数,可以改变两个滑模面s 所占的比率,进而在到达滑模面的过程中产生了不同的结构,实现变结构控制。
因此可以利用式(23)对式(21),(22)进行改写:  (25)
(26)
联合式(3)、(4)、(5)、(25)和(26),可得系统的控制输入:
(27)
,则:
(28)
其中: ωd 为目标横摆角速度。
为了验证该控制系统的稳定性,这里采用Lyapunov 稳定性方程进行验证[19]。选取Lyapunov 方,则其一阶导数为
.
的初始值,此外 v 还有一个终值λf 。
将式(13)带入式(12)可以得到一个新的求解关于连续函数λ(t )的最优问题,其中λ(t )具有给定的边界值:  (14)
其中:
分析式(14)可知:随着时间的推移1+λ2(t )和exp  会朝着相反的方向增加。为了简化这个问题, 引进了如下的变量:
(15)
其中: c 为任意常数,因此公式(14)可以表示为:  (16)
令g ,并利用Euler 公式进行优
化[17]
可得
(17)
结合式(15)—(17)可以得到:  (18)即:
通过给出初始值和终值就可以确定α和到达时间T :
假设λ1 = 2,λf = 20,可得λ(t )关于时间的变化,如图4所示。并且可以得出α = 3,
T = 0.5s 。因此,可以通过对λ1、λf 进行设计就可以得出随时间变化的λ控制器。
2.2 自动驾驶汽车滑模控制器设计
在得出时变滑模面的设计方法之后,就可以对自动驾驶汽车的滑模控制器进行设计。本文采用的汽车模型为三自由度自行车运动学模型,拥有3个状态变量(
x d ,y d ,θd )。通过选取合理的λ1、λf 可以实现对λ控制0
10
20
0                      0.2                    0.4                    0.6
(t )
t / s
图4 λ(t ) 随时间变化图
507
李 磊,等:搭载改进滑模控制的自动驾驶汽车轨迹跟踪控制图5 未改进的时间变化图
图7 仿真框图
图6 改进后的时间变化图
因为V (0) = 0
,并且:
所以,可以通过选择合适的 的值,
使得
,即该Lyapunov 方程为半负定方程,从而证
明了该控制系统具有稳定性。
为验证改进后的滑模面表现,本文利用MATLAB 对改进和未改进的滑模面的表现进行了仿真验证。选取了滑模面s 1进行了仿真验证(s 2同理),仿真结果如图5、6所示。
000[s t =x t −x r (t )]104
s t =[x t −x r (t )]10
-8-48
40000
-8-48
40
[s t =x t −x r (t )]10
4
s t =[x t −x r (t )]1
; (29)
(30)
图7中前轮偏角的计算采用了如下的计算公式:
并且对控制量采取了如下的传递函数:
; (32)
其中 D  = 0.6,w n  = 2π·5 Hz 。并且选取作为控制器的设计参数。
为了更好地验证自动驾驶汽车在实际行驶中的表现,本文设置了两种仿真工况:变道仿真和超车仿真。每种工况都设置了相应的干扰因素以此来验证改进后的滑模控制器的鲁棒性。由于本文主要研究轨迹跟踪的鲁棒性,因此在变道和超车仿真工况中皆采用了危险变道和危险超车仿真工况。可以通过对干扰函数进行设计来模拟车辆在危险变道和危险超车仿真工况中的干扰因素。
此次仿真选择了MATLAB 平台,仿真用到的速度参数来自轨迹规划模块,仿真用到的自动驾驶汽车参数选自Carsim ,如表1所示。为了分析改进后的滑模控制器的表现,2种工况中都添加了未改进的滑模控制器进行比较。
H δ
H v
+
由仿真结果可以发现:改进后的滑模控制器在到达滑模阶段的时间比未改进到达滑动阶段的时间减少了约33.10%。说明利用该改进控制策略可以使自动驾驶汽车更快的到达滑动阶段。
3 仿真验证
本节将对改进后的滑模控制器在自动驾驶汽车轨迹跟踪的性能进行仿真验证。图7为本次仿真的系统框图。其中干扰是作用于车辆前轮转角和车速的干扰信号,定义为关于车辆前轮转角和车速的干扰函数f (δc ,vc ,t ),以此来模拟自动驾驶汽车行驶过程中的干扰。因此,加入干扰之后的控制输入为: