基于mpc模型预测轨迹跟踪控制,总共包含两套仿真,一套是不加入四轮侧偏角软约束,一套是加入四轮...
基于mpc模型预测轨迹跟踪控制总共包含两套仿真一套是不加入四轮侧偏角软约束一套是加入四轮侧偏角的软约束控制通过carsim与simulink联合仿真发现加入侧偏角软约束在进行轨迹跟踪时能够通过控制四轮侧偏角的变化较好的实现轨迹跟踪而不加入侧偏角软约束的发现车辆由于失去稳定性, 轨迹跟踪失败 该仿真是学习mpc模型预测算法控制和基于车辆动力学轨迹跟踪控制非常好的学习资料。 文件中论文和文件说明。轨迹跟踪这事儿吧就像教一个喝高了的兄弟走直线——既要他踩准节奏又得防止他摔个狗啃泥。咱们玩过SimulinkCarsim联合仿真的老铁都知道不加四轮侧偏角约束的MPC控制分分钟给你表演什么叫画龙。先看段核心代码这是MPC预测模型里的状态方程部分function dx mpcStateEquation(~,x,u) beta x(1); % 质心侧偏角 r x(2); % 横摆角速度 delta u; % 前轮转角 % 车辆参数 m 1723; % 质量 Iz 3400; % 转动惯量 lf 1.232; % 前轴距 lr 1.368; % 后轴距 Cf 66900; % 前轮总侧偏刚度 Cr 62700; % 后轮总侧偏刚度 % 动力学方程 dx zeros(2,1); dx(1) ( (Cr*lr - Cf*lf)/(m*Ux^2) -1 ) * r ... ( (Cf Cr)/(m*Ux) ) * beta - Cf/(m*Ux)*delta; dx(2) ( (Cr*lr^2 Cf*lf^2)/(Iz*Ux) ) * r ... ( (Cf*lf - Cr*lr)/Iz ) * beta - Cf*lf/Iz*delta; end这段代码藏着玄机——它只考虑了横摆力矩和侧向力的基础平衡就像新手司机只会死握方向盘。当侧向加速度超过2m/s²时轮胎开始进入非线性区这时候不约束侧偏角就像让轮胎在冰面上跳华尔兹。对比下加入软约束后的优化问题设置% MPC优化目标 function [cost,constraints] mpcObjective(z,refTraj) alpha_max 3*pi/180; % 最大允许侧偏角 Q diag([10, 5, 2]); % 状态权重 R 0.1; % 控制权重 % 提取预测时域内的状态 states reshape(z(1:end-1),3,[]); control z(end); % 主代价函数 cost 0; for k 1:predictionHorizon cost cost (states(:,k)-refTraj(:,k))*Q*(states(:,k)-refTraj(:,k)); end cost cost R*control^2; % 软约束——侧偏角门限 soft_constraint 1000*(max(abs(states(3,:)) - alpha_max))^2; cost cost soft_constraint; % 其他动力学约束... end注意那个1000的惩罚系数这相当于给控制器装了防呆机制。当某个轮胎的侧偏角快突破物理极限时优化算法会自动调整前轮转角和制动力分配——就像老司机遇到侧滑时那套行云流水的救车操作。基于mpc模型预测轨迹跟踪控制总共包含两套仿真一套是不加入四轮侧偏角软约束一套是加入四轮侧偏角的软约束控制通过carsim与simulink联合仿真发现加入侧偏角软约束在进行轨迹跟踪时能够通过控制四轮侧偏角的变化较好的实现轨迹跟踪而不加入侧偏角软约束的发现车辆由于失去稳定性, 轨迹跟踪失败 该仿真是学习mpc模型预测算法控制和基于车辆动力学轨迹跟踪控制非常好的学习资料。 文件中论文和文件说明。联合仿真的结果对比相当打脸没加约束的控制器在弯道入口就像踩了香蕉皮虽然横摆角速度勉强跟住参考值但实际轨迹直接冲出赛道。而带约束的版本会主动牺牲一点跟踪精度通过提前修正转向角把侧偏角控制在安全范围内轨迹偏差始终控制在0.5米以内。看这段轮胎力的计算代码就知道问题在哪% 未考虑侧偏约束时的轮胎力计算 Fyf -Cf * alpha_f; % 前轮侧向力 Fyr -Cr * alpha_r; % 后轮侧向力 % 加入约束后的计算 alpha_f_sat saturate(alpha_f, -alpha_max, alpha_max); alpha_r_sat saturate(alpha_r, -alpha_max, alpha_max); Fyf -Cf * alpha_f_sat 500*(alpha_f - alpha_f_sat); % 带边界柔化 Fyr -Cr * alpha_r_sat 500*(alpha_r - alpha_r_sat);这个500的柔化系数可不是随便拍脑袋来的它实际上在轮胎特性曲线的线性区和非线性区之间做了平滑过渡。就像改装车加装限滑差速器既保留操控乐趣又防止动力浪费。这套仿真资料最牛逼的地方在于它用实际数据证明了MPC不是调参游戏——动力学约束的本质是让控制器理解车辆的物理极限。那些轨迹跟踪效果不好的MPC应用多半是没把车辆当成有血有肉的机械而是当作理想质点来折腾。仿真数据及完整模型见附带文件包包含Carsim模型文件、Simulink控制架构、参数标定脚本及对比视频。建议配合《Model Predictive Control of Vehicle Dynamics》这篇论文食用效果更佳
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2430598.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!