You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Simulink中不使用MPC自定义模块实现参考跟踪MPC

无自定义MPC模块的Simulink参考跟踪MPC实现方案

你之前已经搭成的调节器MPC可以直接小幅修改适配跟踪场景,核心改动仅在代价函数的偏差项:把原来对标零点的偏差,替换为对标对应时刻参考值的偏差即可,整体逻辑和你现有MATLAB跟踪代码完全对齐。

最简实现步骤

  • 第一步:直接复用你现有倒立摆MPC调节器的Simulink框架,只需要新增参考轨迹生成逻辑,替换代价函数计算的部分模块
  • 第二步:搭建参考轨迹生成链路:用Simulink自带的Step/Repeating Sequence模块输出目标参考值,加一个Buffer模块设置缓存长度等于预测时域Np,每次输出Np长度的未来时刻参考序列向量,采样时间和MPC控制周期保持一致
  • 第三步:修改QP问题的f向量计算:你之前调节器场景的H矩阵可以完全不用改,只需要把你MATLAB跟踪代码里的f向量计算逻辑封装成Simulink的MATLAB Function模块即可,输入为当前状态量、Buffer输出的参考序列,输出为QP求解需要的f向量
  • 第四步:约束逻辑完全复用你之前调节器的设置即可,求解QP后取控制序列第一个时刻的控制量输出给被控对象

调试注意事项

  • 先把参考值设为0,运行验证效果和你之前的调节器MPC完全一致,确认代码移植没有错误
  • 跟踪阶跃参考时调整权重参数:状态权重Q越大跟踪响应越快、超调风险越高,控制权重R越大控制动作越平缓、跟踪响应速度越慢
  • 若需要跟踪时变参考,只需要修改参考生成模块的输出即可,MPC侧不需要额外改动

内容的提问来源于stack exchange,提问作者Unanimously

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:36:03