MPC学习笔记1:基于状态空间模型的预测控制(2)
基于估计的无约束预测控制
1.引言
基本上这两个部分都是在线性理论的框架下,利用状态空间法来建模、求解控制律。状态空间模型在理论分析上具有很强的优越性,但实际应用中能直接准确且经济地获取系统状态并不容易。有些状态,尤其是温度(如火箭喷口温度等)只能间接估计,因此我们可以使用状态观测器来重构一个易于实现的系统来模拟原系统的状态。
具体的做法是,先利用原系统可以测量的变量,如系统可测输入输出,使得在一定条件下满足估计的状态与原状态渐进等价,随后利用观测器重构的系统设计控制律。

观测器收敛条件
在设计观测器的时候,首先要判断是否存在观测器。这里以全维观测器为例,观测器重构系统与原系统维度相同。设系统可测量输出为:

设计如下估计器:

若估计器的矩阵对(A,Cm)可测,即全部不能观阵型稳定,则状态观测器存在,可以通过设计L矩阵使(A-LCm)渐进稳定来达到观测器收敛条件。进一步,若(A,Cm)能观,即全部模态在输出端可测,还可以通过设计L任意配置(A-LCm)的极点来控制估计误差的衰减速度,道理和任意配置系统极点设计状态反馈控制器是一样的,两个问题是对偶关系。
2.算法设计
基于估计的算法和原算法基本相同,只是能利用的只有测量值ym和估计值。在预测过程中,用估计值作为预测系统未来状态的起点:

得到的预测方程、控制律均与之前相同:



Ep用到的是估计值,估计值是由测量值代入估计器公式得到。而估计的状态又带入Yp与参考R做平方差形成MSE误差当作待优化值,因此一定要保证L的设计良好才可以实现算法。

3.闭环系统分析
仅对稳定性进行分析,其余包括抗干扰性能和无静差跟踪性能与无约束预测控制相同。
考虑可测和不可测误差,被控系统如下:

这里已经将Δu(k)带入,注意这里是原系统,我们用由估计器设计出来的控制律作用到了原系统上(估计器只是为了模拟原系统行为来获得原来很难获得的状态)。而且,在引入了估计器之后,系统变得更加复杂了,基于估计设计的控制律能否控制原系统,新的系统能否稳定都是需要分析的。

将ym(k)=Cmx(k)和控制律带入估计器:


现在重新定义带状态观测器系统的状态向量:

则:

新的系统矩阵为:

为了满足控制系统设计的基本要求,即名义渐进稳定。我们必须设计控制器让一个标称系统在控制输入的作用下渐进稳定。标称系统(也叫名义系统)是没有任何外部扰动和模型失配的理想系统,与名义稳定相对的是鲁棒稳定。要达到名义稳定需要让这个新的系统矩阵的所有特征根的模长小于一。我们需要验证这个无约束MPC闭环系统是否满足分离原理。
我们希望能将系统满足分离原理,这样意味着闭环系统的极点由原系统在控制律作用下的极点和估计器的极点组成,状态观测器(估计器)的引入对原系统在控制律作用下的极点不影响,这样就可以分别独立设计两个系统的极点。只要两个子系统的极点都达到稳定要求,整合起来的新系统也满足稳定要求。
按道理来讲,基于观测器反馈控制的线性系统是满足分离原理的。之前我们得到的MPC控制律也可以看作一种状态反馈控制律,现在来验证一下是否真的满足分离原理。为此,我们希望找到一个代数等价的系统,这个系统的系统矩阵是个广义上三角矩阵,且对角线上的元素正好分别是原系统在控制律作用下的系统矩阵(参考上一篇结果)和观测器的系统矩阵(A-LCm)。
我们知道,系统的状态变量是人为选择的,一个系统可以定义不同状态。同一个系统可以有很多基于状态空间描述的数学模型。但对于一个系统,不同的状态之间有着明确的数学变换关系,即非奇异线性变换关系:
存在一个可逆矩阵P,满足x1 = Px2。
因为状态需要完全表征系统动力学行为,所以不同的状态却包含相同的系统信息,自然满足线性变换的关系。反过来利用这个性质,我们可以将已知状态变换成其他状态,从而得到系统新的数学描述,即新的状态空间方程。我们称这样新旧两种系统(其实是系统描述)是代数等价的。两个代数等价系统的系统参数矩阵满足这样的变换关系:
A2 = PA1P-1 B2 = PB1 C2=C1P-1 D2 = D1 , P为适当阶的可逆矩阵。
两个代数等价的系统具有很多共有属性,除了能控、能观性之外,我们需要用到的就是代数等价系统具有相同的特征多项式和极点。为此,我们定义这样的P矩阵,对由基于估计的MPC算法得到的系统矩阵进行代数等价变形:

对原系统做相似变换:

上式中的A - BuKmpc(Sx + ICc ) 是状态全部可以测量时预测控制闭环系统的稳定性判定矩阵而A - LCm 是状态估计器的稳定性判定矩阵.因此, 基于估计的预测控制闭环系统的极点由状态全部可测时的控制器极点和状态估计器的极点组成.也就是说, 对无约束MPC 闭环系统来说, 分离原理成立, 状态反馈和估计器可以独设计.因此, 我们可以得到结论:基于估计的无约束MPC 闭环系统名义渐近稳定, 当且仅当状态反馈MPC 稳定和状态估计器稳定。
MPC学习笔记1:基于状态空间模型的预测控制(2)的更多相关文章
- MPC学习笔记1:基于状态空间模型的预测控制(1)
MPC调节器 1.给定一个由状态空间法描述的离散系统: MPC控制器与其他线性二次调节器(LQR)的区别就在于其可以很好的将系统动态约束纳入考虑. 采样周期Ts控制了算法的效率,太大会错过很多系统运行 ...
- ArcGIS案例学习笔记-批量裁剪地理模型
ArcGIS案例学习笔记-批量裁剪地理模型 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:空间数据的批量裁剪 优点:1.批量裁剪:任意多个目标数据,去裁剪任意 ...
- Java学习笔记之---单例模型
Java学习笔记之---单例模型 单例模型分为:饿汉式,懒汉式 (一)要点 1.某个类只能有一个实例 2.必须自行创建实例 3.必须自行向整个系统提供这个实例 (二)实现 1.只提供私有的构造方法 2 ...
- WebGL three.js学习笔记 加载外部模型以及Tween.js动画
WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...
- PowerDesigner 15学习笔记:十大模型及五大分类
个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...
- ARMV8 datasheet学习笔记5:异常模型
1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架 ...
- Javascript MVC 学习笔记(一) 模型和数据
写在前面 近期在看<MVC的Javascript富应用开发>一书.本来是抱着一口气读完的想法去看的.结果才看了一点就傻眼了:太多不懂的地方了. 仅仅好看一点查一点,一点一点往下看吧,进度虽 ...
- 大数据学习笔记3 - 并行编程模型MapReduce
分布式并行编程用于解决大规模数据的高效处理问题.分布式程序运行在大规模计算机集群上,集群中计算机并行执行大规模数据处理任务,从而获得海量计算能力. MapReduce是一种并行编程模型,用于大规模数据 ...
- Django学习笔记(2)——模型,后台管理和视图的学习
一:Web投票示例 本节我们首先从全局范围再复习一下Django的概念,让自己对Django的设计理念, 功能模块,体系架构,基本用法有初步的印象. Django初始的详细博客内容:请点击我 该应用包 ...
随机推荐
- Cygwin,一个提供linux命令行体验的Windows命令行工具
安装 从官网下载,选择合适节点(带edu结尾的优先),安装 使用 未完待续...
- WinForm关于更新程序的设计思路
开发WINDOWS应用程序一般都会有一个自动更新的功能,这就需要提供一个单独的更新程序来更新主程序,那么主程序怎么检测是否有更新,以及更新程序怎么去更新主程序呢?下面将分开研究分析. 用VS发布向导发 ...
- tomcat 常用命令 网上找的资料
打开终端 cd /java/tomcat #执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat tail -f logs/catalina.ou ...
- 18.14 构建Linux根文件系统
18.14.1 Busybox1.7.0之init程序分析 1.读取配置文件 2.解析配置文件 3.执行用户程序(根据配置文件中指定的内容) 配置文件: 1.指定应用程序 2.何时执行 busybox ...
- ActiveMQ (三)—持久化消息
ActiveMQ的另一个问题就是只要是软件就有可能挂掉,挂掉不可怕,怕的是挂掉之后把信息给丢了,所以本节分析一下几种持久化方式: 一.持久化为文件 ActiveMQ默认就支持这种方式,只要在发消息时设 ...
- 精读《C++ primer》学习笔记(第四至六章)
第四章: 重要知识点: 4.1 基础 函数调用是一种特殊的运算符,它对运算对象的数量没有限制. 重载运算符时可以定义运算对象的类型,返回值类型,但运算对象的个数,运算符的优先级,结合律无法改变. 当一 ...
- 通用唯一识别码UUID
UUID 概念:UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则 ...
- html5/h5课件如何制作?
随着flash逐渐被html5取代,很多教育机构都在面临着如何将自己的flash交互课件产品转换到html5版本的问题,最近遇到非常多的客户一上来就问我,flash课件能直接转成Html5课件么?答案 ...
- Win7下,nginx默认80端口被System占用,造成nginx启动报错
在win7 32位旗舰版下,启动1.0.8版本nginx,显示如下错误: 2012/04/02 13:55:59 [emerg] 7864#2376: bind() to 0.0.0.0:80 fai ...
- C++ 重定义、重载、覆盖
想要用好C++继承和类自身函数实现就必须了解C++得三个概念重定义(redefine).重载(overload).重写(override). 一 基本感念 1 重定义(redefine) 派生类对基类 ...