基于MPC的轨迹跟踪控制联合仿真:Simulink与Carsim参数设置详解及效果展示
基于MPC的模型预测轨迹跟踪控制联合仿真simulink模型carsim参数设置 效果如图 可选模型说明文件和操作说明半杯冰美式还冒着水珠的凌晨三点我终于在第八次联合仿真崩溃后看到了理想的绿色轨迹线。搞车辆控制的同行都知道模型预测控制MPC和CarSim的联调就像在走钢丝——参数抖一抖车辆轨迹能给你画个中国结。今天就带大家实操这个让人又爱又恨的轨迹跟踪控制方案。CarSim参数设置要抓住三个命门车辆模型、轮胎模型、仿真步长。在VS Browser里双击Vehicle Model把轴距调到2.7m别照搬教科书参数实测这个值在B级车工况最稳。轮胎模型建议用PAC2002调参时特别注意C值别超过1.5否则转向时会看到车辆像跳华尔滋一样划出诡异弧线。![CarSim参数配置截图示意]此处可插入CarSim界面截图基于MPC的模型预测轨迹跟踪控制联合仿真simulink模型carsim参数设置 效果如图 可选模型说明文件和操作说明Simulink模型搭建有个隐藏技巧——在MPC控制器和CarSim接口之间必须加个零阶保持器。去年在长春做冬季试验时就是因为这个细节没处理好实车控制周期和仿真周期差了0.02秒车辆直接冲出跑道。核心代码段长这样function mpc_controller(u) persistent controller; if isempty(controller) Ts 0.1; % 千万别用默认0.01秒 model create_vehicle_model(); controller mpc(model, Ts); controller.Weights.OutputVariables [1 0.5]; % 横向误差权重要翻倍 end y get_sensor_data(); % 从CarSim获取实时数据 u controller(y); % 滚动的优化窗口 send_to_carsim(u); % UDP协议传输 end调试时发现个魔性现象当纵向速度超过80km/hMPC预测时域必须压缩到20步以内。有次不信邪设了30步结果求解器直接超时车辆在弯道表演了标准的画龙轨迹。建议在Simulink里加个速度自适应模块动态调整预测时域。联合仿真最头疼的是数据对齐。推荐在Simulink Solver设置里勾选Fixed-step并选ode3这和CarSim的默认求解器最配。遇到过仿真中途卡死的八成是两边步长没对齐——CarSim设20msSimulink就必须是20ms的整数倍。效果展示阶段别光看XY平面轨迹重点盯着横摆角速度曲线。理想的波形应该像用梳子梳过一样平滑要是出现锯齿状抖动赶紧检查轮胎松弛长度参数。有个邪门规律下午三点后调的参数特别容易发散别问我是怎么知道的...需要完整模型文件的老铁可以去Github搜MPC-CarSim-Example记得把S-Function里的IP地址改成自己机器的。操作说明书第7页藏着个彩蛋——连续点击版本号三次能解锁秋名山五连发夹弯测试场景。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2433131.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!