基于模型预测控制的无人驾驶汽车的轨迹跟踪*
2017-08-17李金良郝亮曹植
李金良 郝亮 曹植
(辽宁工业大学)
随着计算机信息处理技术、传感器技术和汽车控制技术的进步,基于高效环境感知的辅助驾驶技术或全自动驾驶技术迅速发展,以主动控制为核心的先进汽车安全技术必将是现代交通系统和未来高度智能化交通系统的核心技术之一[1-2]。实现对全自主无人驾驶汽车在高速和冰雪等复杂路面安全稳定的轨迹跟踪控制具有十分重要的意义。由于线性时变模型预测控制算法相比于非线性模型预测控制算法具有计算简单和实时性好等优点[3],因此,文章通过MATLAB/Simulink软件搭建基于运动学模型的线性时变模型预测控制算法,研究在给定工况下的轨迹跟踪特性。
1 线性时变模型预测控制原理
以线性状态控制模型为基础,依次推导模型预测控制的预测方程、优化求解及反馈机制[4]。
1.1 预测方程
首先考虑离散线性化模型:
式中:x(k)——n维状态变量;
u(k)——m维控制输入变量;
Ak,t——状态变量系数矩阵;
Bk,t——控制变量系数矩阵。
为了使整个离散化模型的关系更加明确,将系统未来时刻的输出以矩阵的形式表达:
式中:η(t)——预测时域Np内的变形后系统输出变量;
ξ(t)——预测时域Np内的变形后系统状态变量;
Ct——输出系数矩阵;
ΔU(t)——控制时域Nc内的系统输入增量;
ψt——变形后的系统输入变量状态矩阵;
θt——变形后的系统输入增量状态矩阵。
通过观察式(2),可以看到,在预测时域内的状态量和输出量都可以通过系统当前的状态量(ξ(t|t))和控制时域内的控制增量(ΔU(t))计算得到。这也就是模型预测控制算法中“预测”功能的实现。
1.2 QP(二次规划)问题的转化
系统控制时域(Nc)内的 ΔU(t)是未知的,通过设定合理的优化目标函数并使其最小化,可求得在Nc内满足约束条件的最优控制序列。
考虑目标函数如下:
式中:η(t+i|t)——参考输出量,i=1,…,Np;
ηref(t+i|t)——理想参考输出量,i=1,…,Np;
Δu(t+i|t)——输入增量,i=1,…,Nc-1;
Q,R——权重矩阵。
其中,第1项(Q的2范数)用于惩罚系统在Np内,输出量与参考输出量之间的偏差,即反映了系统对参考轨迹的快速跟踪能力;第2项(R的2范数)用于惩罚系统在Nc内的控制增量大小,即反映了系统对控制量平稳变化的要求;同时,在实际的控制系统中,往往需要满足系统状态量及控制量的一些约束条件,一般如下:
控制量约束:
控制增量约束:
输出约束:
1.3 反馈控制
在每个控制周期内完成对式(5)求解后,得到了控制时域内的一系列控制输入增量:
根据模型预测控制的基本原理,将该控制序列中第1个元素作为实际的控制输入增量作用于系统,即:
式中:u(t)——系统的实际控制量。
系统执行这一控制量直到下一时刻。在新的时刻,系统根据状态信息重新预测下一阶段时域的输出,通过优化过程得到一个新的控制增量序列。如此循环往复,直至系统完成控制过程。
2 线性时变模型预测控制仿真
2.1MATLAB仿真条件
无人驾驶汽车从坐标原点出发,以期望纵向速度(v=1m/s)跟踪一条直线轨迹(y=3m),采样时间为50ms,仿真总时间设定为20 s。
2.2 低速运动学模型线性化处理
由于控制目标是无人驾驶汽车在低速情况下的跟踪控制,因此考虑以汽车运动学方程作为预测模型,低速情况下的汽车运动学方程形式如下[5]:
式中:xr,yr——汽车后轴轴心处的横纵坐标;
φ——汽车航向角,(°);
δf——前轮转角,(°);
l——汽车轴距,m;
vr——汽车后轴中心的速度,m/s。
对其进行线性化,得到线性时变模型为:
式中:T——采样时间,s;
δf,r——汽车在r点的前轮转角,(°)。
2.3 汽车运动学模型的验证
为验证所建立的汽车运动学模型,在MATLAB/Simulink环境中搭建该运动学模型,对无人驾驶汽车的直线轨迹跟踪过程进行仿真验证,其仿真结果,如图1~图4所示。
图1 跟踪理想轨迹的实际运行结果
图2 系统状态量随时间的变化曲线
图3 状态量偏差随时间的变化曲线
图4 控制量随时间的变化曲线
由图1可以看出,实际轨迹从原点出发能够跟踪上真实直线轨迹(y=3 m);由图2和图3可知,汽车的横向、纵向位移和前轮转角均能很好地跟踪理想轨迹,最终达到稳定状态;由图4可知,无人驾驶的控制量纵向速度和角加速度均能最终达到稳定的状态。
3 结论
文章通过线性时变模型预测控制仿真得出,无人驾驶的状态量和控制量均能很好地反映出汽车在跟踪过程中,实际状态量均能实时跟踪理想的状态量实时状态变化,最终达到稳定状态,控制量也经过一定变化达到最终的稳定状态,这说明在低速跟踪过程中,线性时变模型预测控制算法能够实时跟踪汽车的行驶轨迹,并且保证汽车行驶过程中的实时性和稳定性。