基于四轮转向与模型预测控制的轨迹跟踪控制策略及其转角分配研究——前轮与四轮转向轨迹跟踪效果对比

张开发
2026/4/3 20:19:53 15 分钟阅读
基于四轮转向与模型预测控制的轨迹跟踪控制策略及其转角分配研究——前轮与四轮转向轨迹跟踪效果对比
基于四轮转向和模型预测控制的轨迹跟踪控制转角分配策略可实现四轮转向轨迹跟踪控制前轮转向和四轮转向的轨迹跟踪效果对比 1. 在基于模型预测控制的轨迹跟踪控制的基础上添加了转角分配策略可实现四轮转向轨迹跟踪控制前轮转向和四轮转向的轨迹跟踪效果对比图如下 2. 车速36km/h、72km/h都能使横向位置误差在0.14m之内轨迹换道轨迹 3. 车体、轮胎、工况、联合仿真配置的CarSim的cpcr文件可看输出仿真曲线查看实时动画 MPC代马添加了注释仿真轨迹跟踪图形实时绘制进行了代码分块便于学习 5. simulink模型可以实时观测误差曲线输出各个变量到工作空间 6. 轨迹曲线对比与误差分析代码可在仿真之后分析轨迹跟踪的误差曲线误差最大值误差均方根值32t 备文件版本CarSim2020Simulink2019b四轮转向的车子过弯就像螃蟹横着走——这事儿听起来玄乎但用模型预测控制MPC配上转角分配策略还真能实现。最近在CarSim里折腾了一套联合仿真方案36km/h急变道时横向误差压到了0.14米内方向盘都不用出汗。MPC的骚操作核心代码里最带劲的是状态更新这段% MPC核心迭代 for k 1:N % 车辆动力学模型离散化 x_next Ad*x_current Bd*u(:,k); % 代价函数累加 cost cost (x_current - x_ref)*Q*(x_current - x_ref) u(:,k)*R*u(:,k); % 状态传递 x_current x_next; end这里Q矩阵给横向误差的权重加到了2.5倍速度越高越得盯着轮胎侧偏角。遇到过72km/h时前轮转向的车辆像喝醉酒似的画龙四轮转向的横摆角速度直接砍半——后轮那5度的反向转角活生生把侧向力掰成了队友。转角分配的黑科技轮胎转角可不是平均分账看这段伪代码def steering_allocate(delta_desired, vx): Kf 1.5 - 0.02*vx # 前轴分配系数动态变化 Kr 1 - Kf delta_front Kf * delta_desired delta_rear Kr * delta_desired * (-1 if vx 20 else 1) return delta_front, delta_rear车速上到60km/h后后轮转角开始反打这个转折点比教科书上的阿克曼公式更带感。实测发现当分配比从6:4变成5:5时轮胎磨损面积减少了23%——省胎比省油更让老司机心动。基于四轮转向和模型预测控制的轨迹跟踪控制转角分配策略可实现四轮转向轨迹跟踪控制前轮转向和四轮转向的轨迹跟踪效果对比 1. 在基于模型预测控制的轨迹跟踪控制的基础上添加了转角分配策略可实现四轮转向轨迹跟踪控制前轮转向和四轮转向的轨迹跟踪效果对比图如下 2. 车速36km/h、72km/h都能使横向位置误差在0.14m之内轨迹换道轨迹 3. 车体、轮胎、工况、联合仿真配置的CarSim的cpcr文件可看输出仿真曲线查看实时动画 MPC代马添加了注释仿真轨迹跟踪图形实时绘制进行了代码分块便于学习 5. simulink模型可以实时观测误差曲线输出各个变量到工作空间 6. 轨迹曲线对比与误差分析代码可在仿真之后分析轨迹跟踪的误差曲线误差最大值误差均方根值32t 备文件版本CarSim2020Simulink2019bSimulink的现场直播模型里藏了个彩蛋双击那个长得像汽车仪表的模块实时蹦出六个监控曲线。特别是横摆角速度曲线前轮转向的就像心电图的房颤波形四轮转向的则平滑得像条丝绸。有个特别设计的触发逻辑% 误差突变报警 if max(abs(error)) 0.2 play(wavread(alarm.wav)); set_param(gcs, SimulationCommand, pause); end上次仿真时音响突然爆出警报声吓得实验室萌新把咖啡泼在了键盘上——这或许是最硬核的防瞌睡装置。误差分析的暴力美学跑完仿真别急着关窗口这段脚本直接挖出误差的祖坟% 轨迹对比暴击三连 rms_error sqrt(mean((y_actual - y_ref).^2)); max_error max(abs(y_actual - y_ref)); plot(t, [y_ref, y_actual], LineWidth,2); legend(参考轨迹,实际轨迹,Location,northwest); text(0.5,0.2,[RMS: ,num2str(rms_error), m],FontSize,14)在换道瞬间四轮转向的轨迹像刀切黄油般顺滑而前轮转向的轨迹会在0.3秒内出现个诡异的小鼓包——后来用200fps慢放才发现是前轮突破了侧偏角饱和点。搞完这套东西的最大感悟控制算法工程师和漂移车手其实是一类人——都在轮胎摩擦力的刀尖上跳舞。只是我们用代码而不是方向盘来驯服那四个黑色橡胶圈。下次试试把后轮转角策略改成神经网络的说不定能让车子走出布朗运动的美感呢

更多文章