Matlab里的自适应mpc、(线性)时变MPC、非线性MPC有什么联系和区别?

看看帮助文档里Adaptive MPC Design:

Adaptive MPC controllers adjust their prediction model at run time to compensate for nonlinear or time-varying plant characteristics. To implement adaptive MPC, first design a traditional model predictive controller for the nominal operating conditions of your control system, and then update the plant model and nominal conditions used by the MPC controller at run time. For more information, see Adaptive MPC. After updating, the plant model and nominal conditions remain constant over the prediction horizon.

If you can predict how the plant and nominal conditions vary in the future, you can use time-varying MPC to specify a model that changes over the prediction horizon. Such a linear time-varying model is useful when controlling periodic systems or nonlinear systems that are linearized around a time-varying nominal trajectory. For more information, see Time-Varying MPC.

和Adaptive MPC:

MPC control predicts future behavior using a linear-time-invariant (LTI) dynamic model. In practice, such predictions are never exact, and a key tuning objective is to make MPC insensitive to prediction errors. In many applications, this approach is sufficient for robust controller performance.

If the plant is strongly nonlinear or its characteristics vary dramatically with time, LTI prediction accuracy might degrade so much that MPC performance becomes unacceptable. Adaptive MPC can address this degradation by adapting the prediction model for changing operating conditions. As implemented in the Model Predictive Control Toolbox™ software, adaptive MPC uses a fixed model structure, but allows the models parameters to evolve with time. Ideally, whenever the controller requires a prediction (at the beginning of each control interval) it uses a model appropriate for the current conditions.

After you design an MPC controller for the average or most likely operating conditions of your control system, you can implement an adaptive MPC controller based on that design. For information about designing that initial controller, see Controller Creation.

At each control interval, the adaptive MPC controller updates the plant model and nominal conditions. Once updated, the model and conditions remain constant over the prediction horizon. If you can predict how the plant and nominal conditions vary in the future, you can use Time-Varying MPC to specify a model that changes over the prediction horizon.

An alternative option for controlling a nonlinear or time-varying plant is to use gain-scheduled MPC control. See Gain-Scheduled MPC.)

Time-Varying MPC:

To use time-varying MPC, specify arrays for the Plant and Nominal input arguments of mpcmoveAdaptive. For an example of time-varying MPC, see Time-Varying MPC Control of a Time-Varying Plant.

以及Nonlinear MPC Design:

As in traditional linear MPC, nonlinear MPC calculates control actions at each control interval, using a combination of model-based prediction and constrained optimization. The key differences are:

  • The prediction model can be nonlinear and include time-varying parameters

  • The equality and inequality constraints can be nonlinear

  • The scalar cost function to be minimized can be a nonquadratic (linear or nonlinear) function of the decision variables.

By default, nonlinear MPC controllers solve a nonlinear programming problem using the fmincon function, which requires Optimization Toolbox™ software. If you do not have Optimization Toolbox software you can specify your own custom nonlinear solver.

For more information, see Nonlinear MPC.

另外,Matlab自带一个例子,针对一个线性时变系统跟踪问题,分别使用了以上3种MPC方法并进行了对比。因此可以参考它的代码实现。

Matlab: Adaptive MPC Design, Time-Varying MPC Design, Nonlinear MPC Design相关推荐

  1. 1、MPC 算法(模型预测控制算法(MPC算法)轨迹跟踪控制)

    MPC 跟踪圆形轨迹/直线轨迹 MPC 跟踪双移线轨迹 MPC 进行局部路径规划+轨迹跟踪 MPC跟踪直线轨迹 N MPC 对直线轨迹进行跟踪 MPC 算法跟踪五次多项式曲线 以上为目录 推荐学习的软 ...

  2. 黄大叔学MPC系列之Lyapunov-based Nonlinear MPC

    黄大叔学MPC系列之Lyapunov-based Nonlinear MPC Lyapunov-based Nonlinear MPC 仿真对象 主函数 模型函数 目标函数 Lyapunov 约束函数 ...

  3. android support design library eclipse,Eclipse下使用Android Design Support Library中的控件

    我只测试了 Design效果的Login和Scrolling效果控件. 最下面奉上2个demo. 1.File\import导入sdk\extras\android\support\V7\appcom ...

  4. mpc台式计算机的功能是什么意思,mpc是什么意思_mpc怎么读_mpc翻译_用法_发音_词组_同反义词_multipurpose computer 多用途计算机-新东方在线英语词典...

    权威例句 Time-varying MPC-based energy management for HEV including engine stop & startDistributed M ...

  5. 【DR_CAN-MPC学习笔记】34.详细的MPC建模例子和matlab代码

    上一篇博客:[DR_CAN-MPC学习笔记]2.最优化数学建模推导 参照二次规划一般形式,详细推导了MPC的数学模型,即最小化代价函数的表达式,最终推导结果为: DR_CAN的视频: [MPC模型预测 ...

  6. 模型预测控制(MPC)简介及matlab实现

    模型预测控制(MPC)简介及matlab实现 基本概念 MPC算法 整体流程 数学建模 线性模型 MPC与PID的区别 Matlab实现MPC函数 基本概念 全称:Model-based Predic ...

  7. 对MPC原理和公式进行通俗解释及MATLAB代码实现

    笔者在翻阅了一天网上关于模型预测控制的讲解资料后,觉得绝大部分的讲解都没有讲解的很清楚,没有很清晰的展现模型预测这样设计的原理和目的到底是什么.于是决定自己理一理思路. 目录 一.引言 二.MPC是什 ...

  8. 使用MPC设计控制器

    这个例子展示了如何使用MPC设计器设计连续搅拌釜式反应器(CSTR)的模型预测控制器. 一. CSTR 模型 下面的微分方程表示了涉及放热反应的连续搅拌釜式反应器(CSTR)的线性化模型: 其中 输入 ...

  9. MPC模型预测控制学习笔记-2021.10.27

    MPC模型预测控制学习笔记-点击目录就可以跳转 1. 笔者介绍 2. 参考资料 3. MPC分类 4. 数据的标准化与归一化 5. MATLAB-MPC学习笔记 5.1 获取测试信号:gensig( ...

最新文章

  1. Azure编配器简化有状态无服务器工作流的创建
  2. Effective Java 之个人总结
  3. tomcat的jdbc连接池PoolExhaustedException
  4. [转载] 七龙珠第一部——第070话 五人战士大突击
  5. Gazebo添加模型并控制模型运动作为动态障碍物(Ubuntu16.04, Gazebo7.16),附录动态链接库和静态链接库区别
  6. android陀螺仪测试工具,修改安卓陀螺仪和加速度计的sensor抽象层HAL
  7. 网上整理的对于Rest和Restful api的理解 - 那啥快看 - 博客园
  8. [蓝桥杯2017初赛]算式900+dfs,next_permutation
  9. mysql维护计划任务_浅谈MySQL event 计划任务
  10. vscode 新版eslint自动修复_VSCODE 配置eslint规则和自动修复
  11. 分形之希尔伯特-皮亚诺(Hilbert-Peano)曲线
  12. 算法与数据结构简单启蒙,我当年学习算法走过的坑
  13. SDRAM控制器——仲裁模块的实现
  14. html控制变量范围,加入控制变量后结果悲催了?!
  15. 华为手机备份的通讯录是什么文件_华为手机的联系人在哪个文件夹里?
  16. 大学英语综合教程三 Unit 4 课文内容英译中 中英翻译
  17. 世预赛首发焦点解析:里皮的思路你能懂?
  18. AI读书笔记:《智能简史(谁会替代人类成为主导物种)》
  19. 关于MySQL的驱动org.gjt.mm.mysql.Driver
  20. RabbitMQ 6种应用场景

热门文章

  1. INCA 安装及使用教程
  2. 小学生计算机模型的制作,19届中小学电脑制作活动精选课件:创意环保设计
  3. 感动哭了!七夕用python送男朋友99999朵玫瑰!!!
  4. QQ能够正常聊天但是浏览器上不了网问题的解决
  5. 简介Citrix XenDesktop
  6. 运营如何助力直销业务增长?
  7. linux开机启动bond,centos 7 网卡绑定 bond0 开机无法自启
  8. 关于VS2013使用OleDbConnection.open报错的解决办法
  9. 视频去模糊论文阅读-Deep Video Deblurring for Hand-held Cameras
  10. wireshark追踪数据流