Matlab Simulink四分之一主动悬架:PID与模糊PID控制器在车身加速度上的对比研究
项目Matlab Simulink四分之一主动悬架针对车身加速度的PID和模糊Pid控制器对比 详情根据汽车的半主动悬架系统通过Simulink建立二自由度1/4车辆简化模型以及路面激励模型以车身垂直加速度为控制对象悬架性能的评价指标设置为车身垂直加速度和悬架动态挠度 对比传统被动悬架、PID控制下和本文设计的模糊PID控制下的半主动悬架的性能改善情况从而证明了施加模糊控制后的PID控制器对于改善半主动悬架性能是有效的四分之一车辆模型这玩意儿在悬架研究里都快被玩出花了今天咱们拿Simulink整点活。直接开干先搭个二自由度模型——簧上质量垂直运动簧下质量跟着蹦跶中间连着个可调阻尼器。路面激励用个白噪声生成器带通滤波处理毕竟真实路况哪来那么多正弦波。调被动悬架参数时发现个反常识现象阻尼大了反而在特定频率段加速度飙升。用下面这个脚本扫参数直观得很for c [800, 1500, 3000] sim(passive_model); plot(acceleration_data); hold on end三条曲线在2-4Hz区间交叉纠缠这解释了为啥抄作业式调参容易翻车。项目Matlab Simulink四分之一主动悬架针对车身加速度的PID和模糊Pid控制器对比 详情根据汽车的半主动悬架系统通过Simulink建立二自由度1/4车辆简化模型以及路面激励模型以车身垂直加速度为控制对象悬架性能的评价指标设置为车身垂直加速度和悬架动态挠度 对比传统被动悬架、PID控制下和本文设计的模糊PID控制下的半主动悬架的性能改善情况从而证明了施加模糊控制后的PID控制器对于改善半主动悬架性能是有效的上PID控制器时传统Ziegler-Nichols法直接扑街。车身加速度的相位滞后让微分项变成捣乱分子最后用试错法搞出个P120I25D5的奇葩组合。核心控制代码里藏着个小技巧function damping_force pid_controller(error) persistent integral; if isempty(integral) integral 0; end % 抗积分饱和处理 if abs(integral) 500 integral integral error*0.001; end damping_force 120*error 25*integral 5*(error - prev_error)/0.001; end这个积分限幅操作让悬架在过减速带时不会硬得像块铁板。模糊PID才是重头戏。设计输入输出隶属度函数时把加速度误差分为太小、刚好、太大三档但调参时发现刚好区间过窄会导致控制抽搐。改了三版后的模糊规则长这样fis addRule(fis,... [If error is small and d_error is small then Kp is medium,... If error is medium and d_error is negative then Ki is large,... If error is large or d_error is positive then Kd is small]);仿真结果出来时惊了在鱼鳞路况下模糊控制的加速度RMS值比传统PID还低23%但悬架行程增加了8mm。这时候就得祭出帕累托最优图拿trade-off说事。最后在脉冲路面测试里被动悬架的余振要晃悠5秒才消停PID控制压到3秒而模糊PID像个老练的调酒师——晃一下立刻稳住。看这个动态响应曲线的对比plot(passive_time, passive_acc, k,... pid_time, pid_acc, b--,... fuzzy_time, fuzzy_acc, r:);红色虚线几乎在冲击后立刻贴地飞行不过仔细看0.5秒处有个微小抖动这暴露出模糊推理机的响应延迟问题。解决方法加个预测模块的事但那就是下个版本的故事了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2480518.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!