武金龙, 谢 凡, 尤丽刚, 邹晓楠
(三一汽车制造有限公司, 长沙 410100)
近年来,自动驾驶汽车已成为社会广泛关注的对象,热度经久不衰。但由于汽车动力学复杂,运行工况千差万别,如何实时精确地跟踪轨迹成为学术界研究的重难点[1]。众所周知,自动驾驶汽车由4大关键技术模块组成:感知、定位、决策规划和控制。控制模块是自动驾驶汽车底层的软件算法模块,其中包括横向控制和纵向控制两部分。横向控制主要用于车辆方向盘的控制,纵向控制则主要负责车辆刹车与油门的控制,两者协同工作才能实现自动驾驶。其中横向控制根据决策规划输出的路径、曲率等信息实时修正进行跟踪控制,以减少横向跟踪误差,保证自动驾驶汽车行驶的稳定性和舒适性[2]。目前采用的算法主要包括无模型的横向控制算法和基于模型的横向控制算法[2-4]。
表1列举了几种典型横向控制算法。由此可见,不同的横向控制算法在鲁棒性、路径要求、稳态误差、适用场景等方面存在明显差异[3-4]。因此,需综合考虑搅拌车动力学模型及搅拌车的常用工况,选取适合搅拌车运行场景的控制方法。
表1 典型的横向控制算法
408搅拌车是双前桥转向四轴工程车辆。要分析搅拌车横向控制系统,必先分析其动力学模型。动力学主要研究对象是作用于物体的力与运动的关系,车辆动力学模型一般用于分析车辆的平顺性和车辆的操纵稳定性,而车辆动力学主要研究轮胎及其相关部件的受力情况。正常情况下,408搅拌车的作用力沿着X、Y、Z轴分布,如图1所示。
图1 搅拌车作用力示意图
X轴:包括三四轴驱动力和制动力,绕X轴作滚摆运动;
Y轴:包括双前桥转向力、离心力和侧风力,绕Y轴作俯仰运动;
Z轴:包括搅拌车四轴上下振荡施加的力,绕Z轴作横摆运动。
为了更好地分析408搅拌车,现对其动力学模型作如下简化:
(1)忽略轮胎力的纵横向耦合关系,只考虑纯侧偏轮胎特性;
(2)不考虑重量转移,用单车模型来描述车辆的运动[5-6]。
简化后的408搅拌车为二自由度模型,如图2所示。控制系统轨迹跟踪如图3所示,二自由度模型用车辆侧向位置y和航向角表示。
图3 控制系统轨迹跟踪图
图2中,FY11、FY12、FY21、FY22分别为第一、二、三、四轴轮胎侧向力;a1、a2、b1、b2分别为质心到第一、二、三、四轴距离;u11、u12、u21、u22分别为第一、二、三、四轴轮胎车速方向;α11、α12、α21、α22分别为第一、二、三、四轴轮胎侧偏角;δ1、δ2分别为第一、二轴转角;v为质心速度。
(1)
(2)
(3)
(4)
本文研究的横向控制,使用相对路面位置及航向误差这类状态变量来表示误差。假设车辆在半径R的路面、路面斜坡为上,以Vx匀速行驶,横摆动力学不受路面斜坡影响,则对应的搅拌车状态微分方程为:
(5)
式中:
由于408搅拌车是双前桥转向,根据转向几何关系可知:
(6)
因此:
(7)
最终微分方程为:
(8)
由于搅拌车主要应用场景是从搅拌站装混凝土运输至城市周边的建筑工地,运行道路大都为道路曲率连续的城市环线。综合考虑搅拌车的运行场景和搅拌车动力学模型,本文选取适合搅拌车的控制算法LQR(Linear Quadratic Regulator)调节器。LQR调节器求解的核心是设计一个代价函数,最优的控制轨迹应使该能量函数最小[7]。能量函数的一般形式为:
(9)
式中,Q是半正定矩阵,代表状态x的权重;R为正定矩阵,代表控制量u的权重;xTQx表示跟踪的误差;uTRu表示控制量(即所消耗能量)。其核心思想是尽可能消耗最小能量使得跟踪误差最小,通过求解代价函数最小值得到最优解。
根据现代控制理论可知,求解的最小值可转化为求解黎卡提方程的解K,δsb=-Kx,通过Matlab函数LQR可求解K。
K=[k1、k2、k3、k4]=LQR(A,B,Q,R)
(10)
式中,Q=diag[q1、q2、q3、q4];R=[r];q1、q3、r为固定值。
q1=
(11)
q3=
(12)
考虑道路曲率前馈补偿量,根据规划提供的轨迹曲率,计算得到道路曲率补偿量δff:
(13)
考虑路面坡度的前馈补偿量,根据规划提供的斜倾角,计算得到路面坡度的前馈补偿量δsw:
(14)
在控制算法中加入位置误差积分补偿量δi:
δi=δi+kie1
(15)
由此可计算前轮转角δ1:
δ1=δsb+δff+δsw+δi
(16)
最终,LQR系统的控制结构如图4所示。
图4 LQR控制框图
408搅拌车的整车参数见表2。
表2 408搅拌车参数表
根据前面章节介绍的误差微分方程及LQR控制算法,在Matlab中建立搅拌车动力学模型如图5所示。进行仿真分析其动态响应特性,仿真过程中,首先设置初始误差,给出不同车速,分析搅拌车模型的横向位置误差及误差变化率、航向角误差及误差变化率等状态的响应曲线。
图5 搅拌车横向控制系统仿真图
Matlab仿真的状态误差响应曲线图、控制增益变化曲线、控制系统响应性能指标如图6-8所示。仿真结果表明:10~90 km/h全速度范围内的误差上升时间<2 s,调节时间<3 s;超调量随车速的增加虽有增加的趋势,但超调量<10%,且振荡次数≤1次,整体表现良好,满足控制系统的性能要求。
图6 误差及航向角响应图
进一步将经过仿真分析的算法写入408电动搅拌车中(此车辆配备了毫米波雷达、单目摄像头等支持自动驾驶的硬件),按照表3的测试工况展开实车测试。试验过程中视频如图9所示。实车测试结果:408搅拌车横向位置误差控制在-0.26~0.3 m,过程中车辆无明显超调,较好地兼顾搅拌车的行驶稳定性和乘坐舒适性。
图7 控制增益图
图8 上升时间及超调量统计图
图9 搅拌车测试图
表3 自适应巡航测试工况表
以车辆动力学模型的横向控制算法(LQR),综合考虑了路面曲率和道路坡度的前馈补偿,经仿真分析和搅拌车实车验证,其横向误差较小且无明显超调,适应于搅拌车的工作场景,能够较好地兼顾搅拌车的行驶稳定性和乘坐舒适性。但该算法仍存在一些不足,需进一步提高算法的鲁棒性;同时算法需经过进一步的路试来验证算法的兼容性。