上一章传送门:

善道:线性系统控制入门(八)最优控制——LQR控制器​zhuanlan.zhihu.com

到目前为止,对于状态反馈控制器设计方法都是基于状态变量全是已知的。然而在很多情况下,这是不可能抑或是技术上有很大难度。那么对于那些未知的状态变量,如何才能借助仅有的可测的输出变量以及已知的输入变量来求得?这就是状态观测器的思想的由来。现在依然基于线性时不变的MIMO系统来设计状态观测器。

(9.1)

其中状态变量

,输入变量
,被测得的输入变量
,动态矩阵
,控制矩阵
,测量矩阵

9.1平凡观测器

使用受控对象本来的模型模拟受控对象(Simulation des Streckenmodells)是估计状态变量的最简单的方式。用于模拟的模型是

(9.2)

是对实际状态变量的估计变量,直接这样设计一个观测器,称为平凡观测器(trivialer Beobachter),或者被称为模拟器(Simulator)。而模拟器究竟能模拟到什么程度,可以用观测误差
来衡量。它能展示实际状态值和模拟器估计值之间的误差。

自然估计误差

也会满足微分方程

(9.3)

估计误差的动态显然是由原本系统决定的,如果原本系统渐近稳定,那么误差动态也是渐近稳定的。此外,如果估计误差的衰减行为或者说是误差动态在稳定的系统里也不受影响。也就是说,如果直接使用平凡观测器并不能消去估计误差,主要的原因就是平凡观测器并没有使用输出变量

的测量值,所以没法被影响。

9.2 完全Luenberger观测器

在平凡观测器的基础上,有改良过的所谓的Luenberger观测器。

它包含模拟器和修正器两部分。

(9.4)

图9.1 Luenberger观测器框图

Luenberger观测器有一个用输出向量误差

来权衡以及修正观测器估计值,而观测器增益矩阵
就是这个修正权重。继续考察新的误差微分方程

(9.5)

这是一个和前面设计状态反馈控制器类似的齐次微分方程,为了让估计误差在

时收敛于零,只需要选择合适的观测器增益矩阵
,使得合成误差动态矩阵
的特征值都处在左半平面,即合成的误差动态是渐近稳定的。

而这个新的Luenberger增益

就似乎和之前的Kalman增益
类似。观察它们

(9.6)

显然,

就对应了原系统的对偶系统使用了状态反馈控制器设计后的
。对偶系统为

(9.7)

对偶系统的反馈控制律为

(9.8)

之后可以如法炮制,类比反馈控制器来设计MIMO系统的Luenberger观测器的反馈增益。

由于MIMO系统复杂且耦合度高,这里只先讨论使用Ackermann公式来设计SISO的观测器的增益的情况。即这样的SISO系统

(9.9)

待设计的观测器模型为

(9.10)

它的误差动态方程为

(9.11)

因为对偶系统具有以下性质

(9.12)

于是仿照原来Ackermann公式,会有

(9.13)

其中

自变量为
特征多项式

所以转置之后,观测器增益为

(9.14)

定理9.1 对SISO系统的状态观测器使用的Ackermann公式
当系统完全能观时,估计误差动态矩阵

的特征值可以通过Luenberger增益任意自由配置。反馈增益向量为

(9.15)

其中

是能观矩阵逆矩阵的最后一行,而系数
为期望特征多项式
的系数。

设计观测器的特征值时,为了尽快让模拟器的状态估计值逼近实际值,而不再有观测估计误差,应该尽可能让观测器的特征值的实部绝对值设计的大一点,至少误差衰减速度要比系统动态矩阵的主导特征值要更快。

测量噪声的影响

理论上来说,观测器误差动态的特征值可以设置得任意远,因为没有像设计状态反馈控制器一样得输入阈值限制。但是实际中却总会出现很多测量噪声

直接影响到测量值。

(9.16)

如果把测量噪声再考虑进来,那么估计误差的动态为

(9.17)

所以如果让观测器增益的特征值设计过大,导致增益矩阵

过大,由于非齐次方程动态无法收敛到零,增益矩阵
对测量误差
反而有放大作用。

9.3 分离原理

到目前为止,控制器和观测器的设计都是分开单独设计的。当两者同时设计时,会怎么样呢?

考察线性时不变系统

(9.18)

以及对应的状态观测器

(9.19)

以及基于状态估计值

的状态反馈控制律

(9.20)

因为之前的反馈控制增益

以及观测增益
都是分开设计,现在合并在一起设计的话,就要考虑它们组合在一起后的闭环系统动态矩阵的稳定性。

于是需要考察扩展状态

以及扩展状态方程

(9.21)

扩展状态方程同时考虑了系统状态变量以及估计误差变量的动态,而参考输入信号

可以实现对闭环系统的导引。
图9.2 状态控制器和观测器的组合

最后合成的总系统扩展动态矩阵

的特征值为

(9.22)

所以系统的合成动态矩阵的特征值分别为独立的反馈控制增益

以及观测增益
两部分各自的特征值多项式乘积。这就是所谓的分离原理(Separationsprinzip),也就是说系统的状态反馈控制器和状态观测器可以分别独立设计再最后合成。

定理 9.2 分离原理
式(9.1)系统如果完全能观能控。那么合成后的闭环系统的合成的特征值多项式

为状态控制器的特征多项式
和观测器的特征多项式
的乘积

(9.23)

当联合设计观测器和反馈控制器时,观测器增益后新动态特征值不是

比较,而是和
的特征值比较。总的设计可以遵循以下流程:

1) 检验受控系统的能观性和能控性

2) 设计状态反馈控制律

3) 借助

的特征值来确定观测器极点

4) 计算检验观测器增益

。比如借助对偶系统设计控制器时,如果选择LQR设计观测器,那应该之后借助观测器特征值来检验从3)中的预给值是否满足设计要求。

9.4 干扰信号的处理(扰动观测器)

在前文提到过对外界干扰信号的处理手段,一种是建立扰动变量串接补偿项,另一种是使用PI控制器。这两种手段都是基于扰动项是满足这样的线性形式

(9.24)

来对系统作用的,其中扰动

,扰动输入矩阵
。然而很多情况下可能不是恒定的扰动,但是如果能够知道干扰信号的信息对于设计扰动变量串联补偿项是很有用。有几种比较常见的扰动信号类型:恒定扰动信号,周期扰动信号以及衰减扰动信号。

恒定扰动信号

比如库仑摩擦力,扰动模型为

(9.25)

图9.3 恒定扰动信号

周期扰动信号

比如恒定频率的扰动,扰动模型为

(9.26)

图9.4 周期扰动信号

衰减扰动信号

比如反应器里的化学反应动态,扰动模型为

(9.27)

图9.5 衰减扰动信号

而当扰动信号是不可测的时候,就无法直接设计扰动变量串联补偿项,而这时候就可以使用扰动变量观测器来估计输入的干扰信号。不过这样就必须先知道扰动的类型。这样才能建立起扰动变量模型

(9.28)

从而能够联合原系统动态方程得到增广的模型

(9.29)

可以仿照之前联合设计观测器控制器时,也对这样的联合系统使用Luenberger观测器。这样估计扰动变量

就可以得到补偿后的控制律

(9.30)

图9.6 增广的误差模型

9.5 降维观测器

完整的Luenberger观测器会估计全部的状态变量,不过会有一些状态变量,它们本身是能通过对输出变量的测量以及一些状态变量之间线性组合的关系,知晓部分的状态变量信息。比如只有一维的标量系统

(9.31)

显然可以直接从输出方程知道唯一的状态变量

的全部信息,对于高维数的状态方程,也可以通过输出方程来获得状态变量的信息,对于一个MIMO的系统

(9.32)

其中状态变量

,输入变量
,系统动态矩阵
,控制输入矩阵
,而测量矩阵
,但是
。接下来我们可以把状态变量分割成通过
能观测到的状态变量,以及不能的部分,通过可逆变换矩阵
坐标变换,得到的新的状态变量坐标

(9.33)

其中

对应了不能观测部分的状态变量的变换关系。所以有变换

(9.34)

其中

其中有矩阵块

,
,
,
。这种表示方法下的系统坐标被称为传感器坐标(Sensorkoordinaten),因为实际用到的传感器能测量的值就是其新状态变量的值。因为
,现在再使用一个观测器增益
来构造新的状态变量

(9.35)

对其求导,得到新的状态方程

(9.36)

因为

都一直已知,可以把这两者一同视作输入,而未知的状态变量
可以设计一个平凡观测器来模拟并观测

(9.37)

所以新坐标的观测误差

可以用下面的误差动态来描述

(9.38)

而我们也能直接获得不可直接观测的状态变量

(9.39)

定理9.3 降维Luenberger观测器
当系统的测量矩阵

满足
,其完全能观。那么就可以在传感器坐标下,使用减少维数的降维观测器,式(9.37)以及式(9.39)来观测并重构剩下未知的状态变量
。其中会用到降维的观测器增益
来任意配置观测误差的动态特性。

借助估计状态变量

以及测量输出值
可以在可逆坐标变换矩阵帮助下,求得原坐标下所有状态变量。

(9.40)

类比MIMO系统的控制器设计观测器增益也可以通过对测量误差预给的特征多项式,来不唯一地确定观测器误差动态。在SISO系统中

观测器增益
就能通过特征多项式系数比较,唯一确定了。

降维观测器最大的意义体现在,可以用更少的传感器去读取一些状态变量或者输出测量变量的实时信息,节省了开销,提高了观测器的效率。

例9 降维观测器的设计

考虑之前的线性化以后的倒立摆模型,小车位置

以及摆动角
。原来的状态方程为

(9.41)

原有的状态变量为

。为了降低观测维度,重新排列坐标顺序,假设小车的位置以及倒立摆的摆角两个状态量都能测量,则新的传感器坐标下有
,
, 有新的状态方程

(9.42)

省去一些直接可读变量以后,所需的观测器是只有二阶的降维观测器。观测器增益

需要选择

(9.43)

比如期望的特征值只需满足

,即

(9.44)

所以最终的降维观测器为

(9.45)

本章粗略讨论了一下在控制器设计过程中出现的观测器的作用以及设计方法,下一章要讨论输出信号如何跟踪输入信号。

下一章传送门:

善道:线性系统控制入门(十)轨迹追踪反馈控制​zhuanlan.zhihu.com

参考文献:

[1]Regelungstechnik B (Zustandsraummethoden) (WS 2019), Prof. Dr.-Ing. Knut Graichen

Lehrstuhl für Regelungstechnik, Friedrich-Alexander-Universität Erlangen-Nürnberg

simulink降维观测器设计_现代控制理论线性系统入门(九)设计状态观测器相关推荐

  1. c++矩阵作为函数输入变量_现代控制理论线性系统入门(七)输入输出解耦的控制器设计...

    上一章传送门: 善道:线性系统控制入门(六)用能控标准型设计控制器​zhuanlan.zhihu.com 在利用状态方程设计MIMO的能控标准型时,闭环系统的动态是完全不考虑输出变量 而直接预给的,M ...

  2. 信号与线性系统管致中第六版pdf_现代控制理论线性系统入门(十)轨迹追踪反馈控制...

    上一章传送门: 善道:线性系统控制入门(九)设计状态观测器​zhuanlan.zhihu.com 上一章我们讨论了状态观测器的设计,实际上这是在实际操作中很必要的一个设计.因为实际上如果各个状态变量未 ...

  3. figma设计_如何在Figma中构建设计入门套件(第1部分)

    figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...

  4. 学习ui设计_如果您想学习UI设计,该怎么办

    学习ui设计 There is a question that is always asked when we want to learn something new. 当我们想学习新东西时,总会问一 ...

  5. figma设计_如何在Figma中构建设计入门套件(第二部分)

    figma设计 Figma教程 (Figma Tutorial) With this short, but informative Tutorial Series I aim to show you ...

  6. 小型蘑菇定向切片机设计_鲜枣去核机的设计_玉米脱粒机的设计_振动式马铃薯收获机的设计_谷物干燥机的设计_锤片式饲料粉碎机的设计_山楂去核机的设计_萝卜切丝机设计_板栗去皮机设计_锤式破碎机设计……

    棉花打包机的设计[说明书(论文)+CAD+solidworks] 毕业设计_气动四自由度机械手结构设计(设计说明书+CAD图纸)    套类零件自动上下料机构 玉米脱粒机的设计(说明书+cad图纸+p ...

  7. led显示屏背景墙设计_全彩LED显示屏比例设计因素都有哪些?

    从以往至今的例子来看,全彩LED屏是目前市场主流显示器材元件,很多LED显示屏制造商在前期设计时对全彩LED显示屏尺寸设计一直是个无概念的设计状态. 全彩LED屏幕尺寸正常来说都是根据三个因素构成来进 ...

  8. 软件架构设计_给非专业人士介绍——软件架构设计工作

    软件架构设计 架构设计是高层设计,是设计决策之上的决策.它为决策引入的额外的约束,这种约束不产生立即可见的效果. 用一个例子来辅助我们的表述.比如你买了一间新房子,有5个房间,你的床放哪里?书柜放哪里 ...

  9. python用电度数设计_无所不能的Python之配电设计自动化系统

    诚如题目所言,本人结合Python程序设计与配电设计的互补性打算开发一个配电设计自动化系统,用来提高配电设计的工作效率.本人目前处在配电设计行业,已深耕多年,期间一直有学习Python,后来发现Pyt ...

最新文章

  1. java 面向对象 — 继承
  2. k8s 为何成为大厂标配?
  3. 哈希扩展长度攻击_哈希长度扩展攻击
  4. mysql备份还原(视图、存储过程)
  5. redis 图片2进制保存_Redis数据结构底层的SDS了解吗
  6. Maven 项目中配置私服
  7. lLinux编程大全
  8. 获取Resources文件下图片的精灵格式
  9. 力扣题目系列:1299. 将每个元素替换为右侧最大元素 -- 一道算法优化入门题
  10. python csv 格式文件导出 中文乱码问题解决方法
  11. udp洪水攻击java_Linux网络编程--洪水攻击详解
  12. 理解shallow heap 和 retained heap
  13. Centos7机器配置Google Authenticator动态密钥进行ssh二次验证图文详解
  14. 13-新手小白如何选购笔记本电脑?
  15. 使用python Mayavi 绘制矢量场图
  16. 【编程题】中国象棋路灯
  17. 123 白沙 李恒福 今見도(才+壽)人而成逆賊
  18. ABS210-ASEMI高品质贴片整流桥堆
  19. Python学习-爬虫入门知识点整理
  20. 甜度超标,程序员的尿竟是甜的,但更可怕的却是...

热门文章

  1. 深度发现:数据智能之路
  2. php繁殖静态黑页程序,原创黑页
  3. Python提取word指定内容和图片,分类图片
  4. C语言-关于rand()函数的使用
  5. 支付宝小程序获取 user_id(openid) ThinkPHP版
  6. 听说你想手机玩扫雷?原生JS扫雷游戏
  7. Note8对比iPhone X,锐意进取的三星何以成为榜样?
  8. android标题栏渐变动画,Android 顶部标题栏随滑动时的渐变隐藏和渐变显示效果
  9. POI导出Excel样式
  10. 【报告分享】2021中国互联网医疗内容行业研究报告-亿欧智库(附下载)