【第4期-智能驾驶汽车系列术语概念解析】第8节:基于车辆动力学模型的LQR路径跟踪算法

本文介绍了车辆的二自由度动力学模型,探讨了线性二次型(LQR)控制器在实现跟踪偏差快速稳定及控制输入最小化中的应用。通过求解黎卡提方程得到矩阵增益系数,提出了三种求解方法,包括迭代法、查表法和MATLAB内置函数。并通过MATLAB程序展示了轨迹跟踪控制的仿真过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、车辆二自由度动力学模型

车辆二自由度动力学模型
车辆二自由度动力学模式示意图如上所示,根据《汽车理论》教材,正侧偏力产生负的侧偏角。代入符号运算,对第一期课程的二自由度动力学模型连续状态空间方程复写如下式1:
式1-车辆二自由度动力学公式
将上式改写为连续状态空间方程,即为:
式2

二、线性二次型

	期望的系统响应特性有以下两点:1)跟踪偏差能够快速、稳定地趋近于零,并保持平衡;2)前轮转角控制输入尽可能小。
	这是一个典型的多目标优化最优控制问题,目标函数可以表示为跟踪过程累计的跟踪偏差与累计的控制输入的加权,如下式3:

式3
可利用线性二次型调节器(Linear-Quadratic Regulator)求解。其中,Q为半正定的状态加权矩阵, R为正定的控制加权矩阵,且 两者通常取为对角阵;Q矩阵元素变大意味着希望跟踪偏差能够快速趋近于零;R矩阵元素变大意味着希望控制输入能够尽可能小。

	因此,前一项优化目标表示跟踪过程路径偏差的累积大小,第二项优化目标表示跟踪过程控制能量的损耗,这样就将轨迹跟踪控制问题转化为一个最优控制问题。
	对于式(3)目标函数的优化求解,解出的最优控制规律u是关于状态变量X的线性函数: 

式4
其中,P是式(4)黎卡提方程的解:
式5

三、关于矩阵增益系数K的三种求解方法

方法1

针对黎卡提方程,进行循环迭代,不断缩小等式左右的差距,当差值小于某个阈值时,认为等式左右两边相等,从而求得P矩阵,最后代入式(4)得到K;

方法2

	同样用方法1,不同点在于在线查表。由于矩阵K是由A,B,Q,R四个矩阵计算而来,可以首先在离线状态下计算四个矩阵的常见范围,并代入方法(1)进行计算,最终做成一个四维查表。

方法3

	采用MATLAB的lqr函数直接求解,如下图:

matlab的lqr函数

四、Matlab程序

主程序如下

clc
clear
close all
load  refPath.mat

%% 相关参数定义
dt = 0.1;
L = 2.9;
Q = 1*eye(4);
R = 1*eye(1);

%% 轨迹处理
% 定义参考轨迹
refPos = refPath_line;
refSpeed = 10;    % 参考速度

% 计算航向角
diff_x = diff(refPos(:,1)) ;
diff_y = diff(refPos(:,2)) ;
cumLength = cumsum(sqrt(diff_x.^2 + diff_y.^2));
refHeading = atan2(diff_y , diff_x);                   % 航向角
refHeading(end+1) = refHeading(end);

% 曲率
for i = 1:size(refPos,1)-2
    x = refPos(i:i+2,1);
    y = refPos(i:i+2,2);
    refCur(i) = abs(getCur(x,y));
end
refCur(i+1) = refCur(i);
refCur(i+2) = refCur(i);

% 根据阿克曼转向原理,计算参考前轮转角
refDelta = atan(L*refCur);

% 车辆初始状态定义
iniPos = refPos(1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黎的Ally

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值