基于低通滤波器的滑模控制算法优化:LPFSMC的抖振削弱与Simulink实现

张开发
2026/4/25 1:26:35 15 分钟阅读

分享文章

基于低通滤波器的滑模控制算法优化:LPFSMC的抖振削弱与Simulink实现
基于低通滤波器的滑模控制/LPFSMC 滑模控制存在一定的抖振问题可以将低通滤波器来与滑模控制算法结合实现滑模控制算法结合有效削弱控制器输出的抖振 在simulink中以模块图形式搭建被控对象是一个很简单的关系式便于学习和理解。 附说明文档默认发送2023b版本的模型文件需要其他的备注即可刚接触滑模控制那会儿最头疼的就是输出信号抖得像得了帕金森。后来发现给滑模控制器装个电子稳定器——低通滤波器效果立竿见影。今天咱们就用Simulink手把手做个实验看看怎么把这两个技术揉在一起玩。!LPFSMC模型结构此处应有模型结构截图建议用红框标出核心模块模型主要分三块滑模控制器、低通滤波器、被控对象。被控对象特意设计成dx/dt u 0.5sin(t)的简单形式既能看到控制效果又不至于复杂到劝退新人。核心代码其实就藏在滑模控制模块里function u SMC(s) K 2.5; % 切换增益 eta 0.8; % 边界层厚度 rho 0.1; % 收敛速率 if abs(s) eta u -K * sign(s); else u -K * s / eta; end u u - rho * s; % 指数趋近项 end这个脚本实现了带边界层的滑模控制rho参数像刹车踏板——数值越大收敛越快但小心刹猛了会加重抖振。K值则像方向盘灵敏度调太高容易overshoot。基于低通滤波器的滑模控制/LPFSMC 滑模控制存在一定的抖振问题可以将低通滤波器来与滑模控制算法结合实现滑模控制算法结合有效削弱控制器输出的抖振 在simulink中以模块图形式搭建被控对象是一个很简单的关系式便于学习和理解。 附说明文档默认发送2023b版本的模型文件需要其他的备注即可低通滤波器参数设置是门艺术fc 10; % 截止频率(Hz) Ts 0.001; % 采样时间 [num, den] butter(1, fc*2*Ts, low);截止频率选10Hz是个折中方案——既能滤掉高频噪声又不至于让控制信号变得迟钝。实际调试时可以边看波形边用滑动条实时调整比直接改代码直观多了。仿真结果对比挺有意思传统滑模控制的输出像心电图般剧烈波动而加了滤波器后的波形就像被熨斗烫过一样平滑。不过要注意相位滞后问题——当被控对象动态变化较快时截止频率得适当调高否则系统响应会变得拖泥带水。!控制效果对比蓝色为原始控制量红色为滤波后效果最后分享几个调试小技巧先关掉滤波器调滑模参数等基本控制效果达标再加滤波用Spectrum Analyzer模块实时观察噪声频谱给控制量输出加个饱和限制防止执行器过载试试不同阶数的巴特沃斯滤波器二阶比一阶效果更陡峭模型文件里还藏了个彩蛋——在子系统注释区双击能调出参数调试面板这个隐藏功能对快速试错特别有用。建议先用2023b版本打开老版本可能会报模块不兼容的错误。

更多文章