1. 项目概述
这个项目实现了一套基于线性参变(LPV)框架的鲁棒模型预测控制(RMPC)系统,专门用于高速场景下的车辆路径跟踪(PTC)。目前实测在20-25m/s车速下能稳定完成变速单移线,在10-15m/s车速下可实现变速双移线操作。系统采用分层控制架构,上层通过LMI方法在线求解带约束的优化问题,输出前轮转角和附加横摆力矩;下层则通过凸优化算法完成四轮转矩分配。
我在实际开发中发现,这套方案特别适合处理高速变道时出现的参数时变问题。比如当车速从20m/s加速到25m/s时,车辆的动力学特性会发生显著变化,传统固定参数的控制器很难兼顾不同速度下的控制性能。而LPV框架通过实时调整模型参数,配合RMPC的鲁棒性,能够有效应对这种变化。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心算法设计
2.1 LPV模型构建
项目采用经典的二自由度自行车模型作为基础,但与传统方法不同的是,我们将关键参数处理为调度参数。核心状态方程如下:
code复制A = [0,1,0,0;
0, -(Caf+Car)/(m*vx), (Caf+Car)/m, (lr*Car - lf*Caf)/(m*vx);
0,0,0,1;
0, (lr*Car - lf*Caf)/(Iz*vx), (lf*Caf - lr*Car)/Iz, -(lf²*Caf + lr²*Car)/(Iz*vx)];
其中vx为纵向车速,Caf和Car分别是前后轮的侧偏刚度。在实际编码时,我特别将这些参数设计为实时可调的,通过外部输入更新。这样做的好处是:
- 车速变化时,模型能自动调整动力学特性
- 考虑轮胎非线性时,可以通过查表法更新侧偏刚度
- 便于后续的LMI求解器处理时变特性
注意:矩阵A中的vx出现在分母位置,这意味着低速时系统会变得非常敏感。实际实现时需要添加速度下限保护,避免除以零的情况。
2.2 鲁棒模型预测控制器设计
RMPC的核心在于通过LMI方法处理系统的不确定性。我们在S函数中实现了以下关键步骤:
matlab复制function sys=mdlDerivatives(t,x,u)
% 实时获取LPV参数
rho = [1/u(2), u(2)]; % u(2)为当前车速倒数
% 构造LM
