目录

一、模型预测的发展

1.1、先进控制技术及其分类

1.2、工业过程特点

1.3、预测控制的产生

1.4、模型预测控制系统大致包括四部分

1.5、模型预测控制历史

1.6、模型预测

1.7、滚动优化

1.8、反馈校正

二、动态矩阵控制(Dynamic Matrix Control, DMC)

2.1、动态矩阵控制的概念及发展

2.2、预测模型

2.3、设定参考轨迹(柔化)

2.4、滚动优化

2.5、DMC的反馈校正

2.6、DMC小结


一、模型预测的发展

1.1、先进控制技术及其分类

预测控制是一种基于模型的先进控制技术,即模型预测控制(MPC:Model Predictive Control);

基本特点:预测模型、滚动优化、反馈校正、设定值柔化;

主要优点:克服受控对象未建模误差、参数与环境等方面的不确定性、大时滞或变时滞等,具有鲁棒性。

1.2、工业过程特点

(1)多变量高维复杂系统难以建立精确的数学模型;

(2)工业过程的结构、参数以及环境具有不确定性、时变性、非线性,最优控制难以实现。

1.3、预测控制的产生

(1)建模方便,不需要深入了解过程内部机理;

(2)非最小化描述的离散卷积和模型,有利于提高系统的鲁棒性;

(3)采用滚动优化策略,以局部优化取代全局最优;

(4)利用实测信息反馈校正,增强控制的鲁棒性。

1.4、模型预测控制系统大致包括四部分

(1)预测模型:以各种不同的预测模型为基础(利用预测模型对系统输出量进行一个预测);

(2)滚动优化:采用在线滚动优化指标;

(3)反馈校正:对预测误差在线校正;

(4)参考轨迹:对设定值给出一个柔化的轨迹。

1.5、模型预测控制历史

(1)1978年,Richalet 、Mehra提出了基于脉冲响应的模型预测启发控制,后转化为模型算法控制(Model Algorithmic Control,MAC);

(2)1979年,Cutler提出了基于阶跃响应的动态矩阵控制(Dynamic Matrix Control,DMC);

(3)1987年,Clarke 提出了基于时间序列模型和在线辨识的广义预测控制(Generalized Predictive Control,GPC);

(4)1988年,袁璞提出了基于离散状态空间模型的状态反馈预测控制(State Feedback Predictive Control,SFPC)。

1.6、模型预测

(1)PID控制:根据过程当前的和过去的输出测量值和给定值的偏差来确定当前的控制输入;

(2)预测控制:不仅利用当前的和过去的偏差值,而且还利用预测模型来预测过程未来的偏差值。以滚动优化确定当前的最优控制策略,使未来一段时间内被控变量与期望值偏差最小

(3)预测模型的形式:

参数模型:如微分方程、差分方程;

非参数模型:如脉冲响应、阶跃响应;

(4)模型预测控制原理图、示意图

如上图,根据过去的输入和输出,输入未来的控制策略1和控制策略2至模型中可以分别得到对未来的预测输出3和4。

1.7、滚动优化

(1)最优控制:通过使某一性能指标最优化来确定其未来的控制作用;

(2)局部优化:不是采用一个不变的全局最优目标,而是采用滚动式的有限时域优化策略。在每一采样时刻,根据该时刻的优化性能指标,求解该时刻起有限时段的最优控制率

(3)在线滚动:计算得到的控制作用序列也只有当前一个时刻是实际执行的,在下一个采样时刻又重新求取最优控制率。(与局部优化不同,在线滚动其控制作用只在当前一个时刻起作用,下一时刻为又经过优化生成的控制作用);

(4)控制目的:通过某一性能指标的最优(使目标函数最优), 确定未来的控制作用;

优化过程:随时间推移在线优化,反复进行、每一步实现的是静态优化、全局看却是动态优化;

(5)示例:

上图中,为了跟踪参考轨迹,使跟追误差最小,进行滚动优化的方式,在时刻k,进行了k+8的输出预测,但只选用第一段作用到被控对象中,执行第一段后获得k+1时刻的输出,进行优化后k+1时刻再次预测8段,同样也只有第一段被执行。

1.8、反馈校正

(1)模型失配:实际被控过程存在非线性、时变性、不确定性等原因,使基于模型的预测不可能准确地与实际被控过程相符;

(2)反馈校正:在每个采样时刻,都要通过实际测到的输出信息基于模型的预测输出进行修正,然后再进行新的优化;

(3)闭环优化:不断根据系统的实际输出对预测输出进行修正,使滚动优化不但基于模型,而且利用反馈信息,构成闭环优化。

(4)示例:

上图中,k至下一时刻的预测中,与实际的输出之间存在误差,其误差在k+1时刻为3所示(系统模型的不确定性),利用3的误差数据进行模型校正获得4的校正后的k+1时刻预测输出。

二、动态矩阵控制(Dynamic Matrix Control, DMC)

2.1、动态矩阵控制的概念及发展

基于阶跃响应模型的预测控制

1973年,DMC应用于美国壳牌石油公司的生产装置上;

1979年,Cutler等在美国化工学会年会上首次介绍了DMC算法;

主要内容:预测模型 反馈校正 参考轨迹 滚动优化

2.2、预测模型

(1)DMC算法中的模型参数:

有限集合中的参数可以完全描述系统的动态特性

N称为建模时域

系统的渐近稳定性:保证了模型可用有限的阶跃响应描述,即,设一个系统阶跃响应的离散采样数据为 ,则有限个采样周期后,满足

系统的线性:保证了可用线性系统的迭加性.

(2)预测模型

系统的单位阶跃采样数据示意图

t=kT时刻预测未来P个时刻的系统输出量:

不考虑u(k)时的预测输出为(即未来P时刻的输出由过去的输入输出导致,不受未来的输入量):

考虑有控制作用Δu(k)时的预测输出为(即未来控制增量产生的输出变化量)(其中a为输入单位控制量,在之后第P个节拍产生的影响作用):

根据输入控制增量预测输出的示意图:

上图中,对一个预测模型在k时刻输入控制增量为Δu(k),在k+1时刻输入控制增量为Δu(k),在k+M-1时刻输入控制增量为Δu(k+M-1),根据a的定义可知,在k+P时刻各控制增量对系统输出的影响分别为:

M个连续的控制增量作用下,系统在未来P时刻的预测输出:

其中A称为DMC的动态矩阵,P是滚动优化时域长度,M是控制时域长度。

2.3、设定参考轨迹(柔化)

设定序列:

w(t)为t时刻所设定系统柔化轨迹后的参考输出。为当前设定值为一个阶跃值,若直接使系统跟踪阶跃值,会使系统带来一些干扰,其中 0 ≤α <1 为柔化因子(当α=0时,则使得w(t+j)= ,没有平滑,α越大,系统的柔性越好,鲁棒性越强,但控制的快速性变差),α产生一个过渡过程到达。可验证:

由上式可知,当P较大时接近于0,柔化轨迹过渡到

2.4、滚动优化

(1)通过优化指标,确定出未来M 个控制增量,使未来P个输出预测值尽可能地接近期望轨迹w(k+i), i=1…P;

(2)不同采样时刻, 优化性能指标不同, 但都具有同样的形式, 且优化时域随时间而不断地向前推移

目标函数定为:的Q范数的平方和加上的R范数的平方和Q和R为选定的正定矩阵;

为误差权矩阵,为控制作用权矩阵;

Q的各个元素是对第i时刻系统输出误差平方值的权系数,对时滞区段和反向区段,这些时刻 = 0;其他时刻,= 1;

R的各个元素是对第j时刻控制增量平方值的权系数,是降低控制作用的波动而引入,通常取一个小数值,许多情况 = 0;

如何求解优化问题呢,高等数学中求解函数的优化极值问题对优化变量求微分使其等于0,由于这里是向量有m个控制增量,因此,对求偏微分,令其为0,求得:

这时求到的为是一个列向量,共有M个控制增量,我们只用第一个控制增量,故使用d提取的第一个增量。但由于完全根据预测模型,故为开环解。

(3)动态矩阵控制的优化策略示意图

在k时刻根据系统模型得到接下来P个时刻的输出量,并希望我们的P个输出量能尽量与柔化轨迹匹配,即误差平方和最小化,由此,算出M个最优控制增量,但k时刻时我们只挑选第一个元素作用到被控对象。等待下一个时刻k+1重新进行优化过程。

2.5、DMC的反馈校正

(1)由以上所述,可知,利用模型,在 t=kT 时刻,u(k) 被施加到系统上,将对系统输出产生影响:

(2)当t=(k+1)T时,可测到实际输出值 y(k+1),比较y(k+1)与k时刻对k+1时刻的预测值

得到误差值:

基于e(k+1)对未来偏差的预测为(即误差值乘以放大倍数来校正输出):

上式中=1是由于计算获得的e(k+1)即为k+1时刻的误差,其k+2及以后的误差有放大倍数计算估计获得。

(3)经误差校正后的输出预测值为:

上式为在k时刻校正后的P个预测输出值。

t=(k+1)T时无未来控制增量作用的输出预测值:

引入移位矩阵S,得到下 一次预测初值

计算公式可知,计算得到为从k+1到k+P的P个值,而在k+1时刻进行预测时,k+2为第一个预测值输出,故需乘一个移位矩阵,但由于缺少第k+P+1时刻的误差,采用约等于的方法令最后的P+1时刻误差等于P的误差。

校正系数:在0~1之间选择,通常取=1,其余<1。

(4)误差校正及位移示意图

k时刻产生接下来P个时刻的预测输出通过与参考轨迹构件目标函数解得在接下来P个时刻的最优控制解;其中生成的P个时刻控制量中只有第一个时刻k+1作用产生实际输出;k+1时刻产生输出后,与原k+1时刻的预测输出产生一个差值,即为误差,其接下来的时刻误差分别为k+1时刻误差乘以一个倍数,由于k+1时刻之后误差才有意义,因此,在k+1时刻的预测为原k时刻预测的k+1时刻预测值加上误差校正乘上移位矩阵。

2.6、DMC小结

(1)动态矩阵控制算法组成:由预测、控制、校正、轨迹柔化等部分组成;

(2)在线实施流程框图:初始化程序、在线控制部分

DMC初始化程序流程图

DMC在线控制程序流程图

为单位阶跃相应模型参数值(对系统做实验,获得单位阶跃响应值),为误差校正的值,需先给定一个初始控制量。

(3)DMC的实现与工程设计

渐近稳定的系统

采样周期确定

动态矩阵确定(测试阶跃响应)

参数整定,即确定优化时域P、控制时域M、权矩阵Q和R、权系数hi

离线计算d

在线计算:设定参考轨迹,计算控制量u(k);

对时滞对象的DMC控制:设纯滞后为 l 个采样周期,将优化时域P增加到P+l, 可推导出相当于无时滞时的DMC算法。

对不稳定对象的DMC控制:先用其他控制方法(如PID)进行镇定,然后对整个广义系统采用DMC控制。

模型预测控制(MPC)——动态矩阵控制(DMC)相关推荐

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

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

  2. 基于模型预测控制(MPC)的悬架系统仿真分析

    目录 前言 1.悬架系统 2.基于MPC的悬架系统仿真分析 2.1 simulink模型 2.2仿真结果 2.2.1 随机C级路面 2.2.2 正弦路面 2.3 结论 3 总结 前言 模型预测控制是无 ...

  3. 席裕庚《预测控制》学习记录 (一)-基于阶跃响应的动态矩阵控制(DMC)包含仿真

    本文除了黑体部分均为<预测控制>一书中的知识点,感觉像之前的ADRC只放个仿真不太好,就把原理也写上了 简介 模型预测控制(Model Predictive Control,MPC),或简 ...

  4. 【控制control】机器人运动控制器----基于模型预测控制MPC方法

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.模型预测控制(MPC)的介绍及构成 1.介绍 2.构成 二.模型 ...

  5. 无人车系统(十一):轨迹跟踪模型预测控制(MPC)原理与python实现【40行代码】

    前面介绍的PID,pure pursuit方法,Stanley方法都只是利用当前的系统误差来设计控制器.人们对这些控制器的设计过程中都利用了构建模型对无人车未来状态的估计(或者说利用模型估计未来的运动 ...

  6. 【附C++源代码】模型预测控制(MPC)公式推导以及算法实现,Model Predictive control介绍

    2022年的第一篇博客,首先祝大家新年快乐! 提示:本篇博客主要集中在对MPC的理解以及应用.这篇博客可以作为你对MPC控制器深入研究的一个开始,起到抛砖引玉,带你快速了解其原理的作用. 这篇博客将介 ...

  7. Apollo代码学习(六)—模型预测控制(MPC)_follow轻尘的博客-CSDN博客_mpc代码

    Apollo代码学习(六)-模型预测控制(MPC)_follow轻尘的博客-CSDN博客_mpc代码

  8. 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第10章-基于模型预测控制的人机协同控制

    第9章 回到目录 第11章 第10章-基于模型预测控制的人机协同控制 10.1 引言 同时干预问题 10.2 问题描述 10.3 基于模型预测的人机协同控制器设计 模型预测控制 10.3.1 基于模型 ...

  9. 永磁同步电机模型预测控制,自抗扰控制,滑模控制等matlab仿真及ccs代码。

    永磁同步电机模型预测控制,自抗扰控制,滑模控制等matlab仿真及ccs代码. ID:13800650571175155简熙纯净水

最新文章

  1. 《Div+CSS 3.0网页布局案例精粹》扫描版[PDF]
  2. 中科大京东最新成果:让AI像真人一样演讲,手势打得惟妙惟肖
  3. redis集合数据过期_关于redis性能问题分析和优化
  4. 未在本地计算机上注册Microsoft.Jet.OLEDB.4.0解决方案
  5. 美团外卖骑手背后的AI技术
  6. css3 transtion and transform
  7. 360浏览器5兼容模式吗_个独模式真能将企业总体税负降低至5%吗,为何大家都热衷核定征收...
  8. 什么是CDP(连续数据保护)?
  9. c语言一年日历程序,c语言日历程序
  10. ACS与目录服务器进行用户身份控制管理
  11. android 系统字体无效,android内嵌H5页面,字体设置失效的问题
  12. c# 游戏设计:人物走动动画
  13. 百练_1004:财务管理
  14. 《小话投行》转自2011 Morgan Stanley HK IBD唯一的大陆本科生
  15. 关于计算机合成图像的应用中,数字图像合成技术综述
  16. 用Raphael在网页中画圆环进度条
  17. Python迭代器、生成器、map以及reduce
  18. 亚马逊ec2 ng 文件服务器,在亚马逊EC2云服务器上装完后访问不了
  19. 凉宫春日的忧郁第六章
  20. String简单介绍

热门文章

  1. Tp5生成带头像二维码海报(带文字描述,居中调整)
  2. java.sql.SQLException: sql injection violation, multi-statement not allow
  3. android金额大小写转换,Java/android 金额 数字转成大写汉子
  4. rz cz命令未找到
  5. 类似合俊大数据营销CRM系统软件的出路何在?
  6. python循环练习题
  7. 华为实验28-WAN接入配置
  8. 在CMD里使用命令实现CMD全屏
  9. OTG – Android USB Hos
  10. MOS管和三级管基础知识总结