模型预测控制(Model Predictive Control,MPC)是在满足特定限制条件的前提下,控制过程的一种控制方式。

若是针对简单系统的控制,多半不需要用到复杂的MPC算法,使用PID控制器即可,如下图所示;当系统有较大的响应延迟或是高阶系统时,其控制特性会复杂到超过PID控制器可控制的程度,而MPC的模型恰恰是用来呈现复杂系统的特性。

PID控制器

PID控制介绍:比例、积分、微分

为避免在刚开始学习MPC时,就陷入复杂的理论中,这里用一个骑行的小例子对MPC的基本思想进行解释。

假设我们要求骑行100公里,10小时完成。

那么有两种方案:

方案一:1小时骑行10公里,10小时完成100公里。

这个方案简单明了,但过于理想化,在具体执行过程中会遇到一些问题,比如中途需要吃饭、休息、上厕所,或有段路一直是上坡,1小时完成不了10公里;而若中途有段路一直是下坡,那1小时就可以完成20公里等等。

为解决这些突发问题,提高整个方案的可行性,提出第二种方案。

方案二:只规划未来一段时间内(比如3小时)每小时要骑行的里程,然后执行第一小时要骑行的里程,期间可能会遇到各种突发状况,每个小时过去后,要根据已经骑行的里程和剩余的里程,重新对未来3小时进行规划,同样只执行第一小时要骑行的里程。根据这样的规律,依次在新的时刻规划未来3小时要骑行的里程,并及时更正计划,最终完成骑行100公里。

可以看出,方案二在实际骑行过程中,更具有可行性,可以总结为以下三个关键步骤:

  1. 根据当前的体力和经验,预计未来3小时骑行的里程;
  2. 只规划未来3小时骑行的里程,反复进行,而非一次性规划整个骑行时间;
  3. 每小时结束后,根据当前状态,重新对未来3小时进行规划。

上述三个步骤,对应到MPC的实现步骤,依次为:模型预测、滚动优化和反馈校正。

  1. 模型预测:模型预测是MPC的基础,即根据控制系统的当前状态和预测模型,预测控制系统未来的输出。预测模型通常以状态方程的形式来表示;
  2. 滚动优化:MPC通过使某一性能指标的最优来求解控制量,但这个优化不是只进行一次,而是反复进行的;
  3. 反馈校正:为防止模型线性化或内、外部环境干扰造成控制状态的偏差,在每一新的时刻都要检测系统当前的实际状态,以此对模型预测的结果进行校正,并进行新的优化求解。

以路径跟踪为例,MPC的基本原理如下图所示。

MPC路径跟踪

在路径跟踪过程中,有一条参考轨迹(reference trajectory);以时刻k作为当前时刻,控制器结合当前的状态和预测模型,预测系统未来一段时间内[k,k+p]系统的输出(predicted output);通过求解目标函数和满足约束条件的优化问题,得到一系列的控制序列(predicted control input),并将控制序列的第一个元素作为实际的控制量下发到执行器。当来到下一时刻,重复上述过程,如此滚动地完成一个个带约束的优化为题,从而实现路径的跟踪控制。

这里通过一个小例子介绍了MPC的核心内容,若要深入研究MPC,需要有相关数学基础和控制理论的知识,在实际应用中,MPC还存在着计算复杂性、控制实时性和稳定性、模型线性化、代价函数和约束设定等问题,需要我们去探索和解决。

相关阅读

自动驾驶系统的决策技术介绍

无人驾驶系统的路径规划模块介绍

无人车的避障系统介绍:障碍物的检测、轨迹预测和避障路径生成

推荐一本关于MPC的英文书《model predictive control》,上传到了百度云,私信“模型预测控制”获得下载链接。

模型预测控制的缺点_模型预测控制MPC的通俗解释相关推荐

  1. 模型预测控制的缺点_基于数据驱动的模型预测控制

    最近有小伙伴来询问 Data-driven MPC,之前也有了解过一些,因此写篇文章给大家科普科普. 其实所谓的数据驱动并没有那么"高大上"或者难懂,无非是从数据中来获取一些有用信 ...

  2. 保存模型后无法训练_模型构建到部署实践

    导读 在工业界一般会采用了tensorflow-serving进行模型的部署,而在模型构建时会因人而异会使用不同的深度学习框架,这就需要在使用指定深度学习框架训练出模型后,统一将模型转为pb格式,便于 ...

  3. 模型预测控制的缺点_【电子技术】【2018.01】模型预测控制FPGA实现的协同设计...

    本文为英国伦敦帝国理工学院(作者:Bulat Khusainov)的博士论文,共142页. 模型预测控制(MPC)是一种先进的控制方法,具有明确的性能优化.系统的约束处理和自然处理非线性的能力.在每个 ...

  4. 模型预测控制的缺点_三电平整流器的延时补偿模型预测控制

    本文针对电压型三电平中性点钳位整流器,设计了一种基于状态方程的模型预测电流控制(modelpredictive current control, MPCC)策略,该算法以电压型整流器数学模型为基础,构 ...

  5. 模型预测控制的缺点_华北电力大学 刘英培等:适用于风电并网的VSCHVDC系统模型预测控制...

    点击上方<电力自动化设备>可一键关注! 本文受国家自然科学基金项目(51607069)和中央高校基本科研业务费专项资金项目(2016MS88,2017MS091)资助. (以下为本文主干内 ...

  6. python验证中心极限定理_中心极限定理的最最通俗解释

    一.什么是中心极限定理 在适当的条件下,大量相互独立随机变量的均值经适当标准化后依分布收敛于正态分布.每次从这些总体中随机抽取 n 个抽样,一共抽 m 次. 然后把这 m 组抽样分别求出平均值, 这些 ...

  7. 模型预测控制_模型预测控制(MPC)算法之一MAC算法

    引言 随着自动驾驶技术以及机器人控制技术的不断发展及逐渐火热,模型预测控制(MPC)算法作为一种先进的控制算法,其应用范围与领域得到了进一步拓展与延伸.目前提出的模型预测控制算法主要有基于非参数模型的 ...

  8. MPC控制器设计,模型预测控制,线性时变模型预测控制,LTV MPC,提供理论讲解与应用实现

    MPC控制器设计,模型预测控制,线性时变模型预测控制,LTV MPC,提供理论讲解与应用实现. 提供MPC算法.LTV MPC 算法在直升机和四旋翼中的应用实例. 提供模型预测控制资料. 提供matl ...

  9. 《无人驾驶车辆模型预测控制》之基于动力学的MPC设计

    目录 写之前的话: 1. 车辆模型的建立 2. 车辆模型的线性化 ​ 3. 车辆模型离散化 4. 预测模型的建立 5.目标函数及约束 写之前的话: 前面我写到一些列的文章: <无人驾驶车辆模型预 ...

  10. 综合评价模型的缺点_浅谈交通影响评价中不同交通预测方法的特性

    目前,据小编经验觉得,我国交通影响评价的工作中仍有很多问题未得到很好的解决,主要表现在:交通需求预测模型有待进一步精细.交通的影响程度评价内容与指标不够明确.报告中提出的交通改善措施很难落实到位等方面 ...

最新文章

  1. Python3:ImportError: No module named 'compiler.ast'
  2. 宏基因组文章目录(9月1日更新)
  3. android 图片横竖判断_Android横竖屏切换及其对应布局加载问题详解
  4. IOS日历显示12个月
  5. python好用-Python里三个好用的调试神器
  6. vue.js几行实现的简单的todo list
  7. 20210907 Engine and SDK in development
  8. Java后端:10w行级别数据的Excel导入优化记录
  9. Eclipse程序员要掌握的常用快捷键
  10. 施一公:让科技工作成为富有吸引力的工作
  11. 车牌识别EasyPR(5)——文字定位
  12. Monotone Chain Convex Hull(单调链凸包)
  13. java 时间类型添加_java date类型 怎么 插入 时间 到 数据库
  14. 虚拟终端网络工程实施纪要
  15. NVM:切换node版本后无法使用npm全局包
  16. MATLAB中uigetfile函数使用方法
  17. 南京大学计算机系2019复试离散题目-逻辑与推理
  18. 今天手把手教你做一个Python版的迷宫小游戏
  19. mysql dump 1449_关于mysqldump的ERROR 1449 问题
  20. android emulator 安装 google play

热门文章

  1. np学习——OSPF的典型配置案例
  2. 前端js获取屏幕高度
  3. 终极免费云盘同步攻略
  4. 简单的音频转文字的转换方法
  5. QTTabBar 安装记录(Win10 enable .NET)
  6. QTTabBar 「资源管理器」让你的文件夹拥有浏览器标签页般的体验
  7. 如何恢复删除的文件?wps文件恢复,4种方法教你找回来
  8. 企业信息化规划与设计
  9. alize blue_泽野弘之 | 明明可以靠才华,却非要用脸滚键盘的神曲缔造者
  10. 二进制数的算术运算和逻辑运算