c++ 多重背包状态转移方程_串讲:控制理论:全状态反馈控制(FSFB)
全状态反馈控制也可以被称作状态反馈控制,它是现代控制理论的一种控制方法,私信中部分小伙伴问道极点配置还有状态反馈是怎么回事,这里就写一篇文章来解决上述问题。介绍全状态反馈控制(FSFB)之前,根据自己的理解并结合参考文献来介绍一下科学家们为什么要设计FSFB来构造闭环控制,如有不对的地方欢迎纠正!
全状态反馈控制(FSFB)构造的意义
首先,线性系统的被控对象状态方程如下所示:
给一个结论:在第一个式子中,第一项
,第二项
因此当有了输入量后,学者们更关心的问题是如何提高系统的动态特性(也就是说如何快速的转移系统中的能量)。
那么证明一下结论中第一项
证明如下:
利用Laplace对Eq. (1)进行变换:
假设矩阵
当满足下式时,系统的极点(Pole)可以被求出。
然而矩阵
对比Eqs.(4-5),不难发现,原来矩阵A特征根就是系统的极点!如果知道了系统的极点,就可以判断系统的稳定性,和收敛趋近状态及速度。
当系统的极点在s域中的位置如下所示,系统的状态变量变化形态可以从图中看出。
因此可以看出系统状态方程中的第一项
全状态反馈控制(FSFB)
因此合理的配置极点可以使系统达到我们想要的结果,这里就需要引入FSFB,有了这个控制器,问题就迎刃而解了,我们可以通过FSFB这种方法来任意改变系统的极点位置。
FSFB有几种结构,三种结构如下所示:
三种方法都含有参考量
根据上图中的结构,可以看出这种控制方式非常的简单,FSFB系统的控制率可以表示为如下所示:
通过代入Eq.(1)于Eq. (6),系统状态方程可以表示为如下:
因此可以看出系统的极点发生了改变,从A的特征根变为了矩阵
问题:那么如何调整系统的极点来满足系统的需求,或者是使系统达到最优的性能呢?
答:可以采用以下两种方法,即利用极点配置(Pole placement,本文重点介绍)的方法来获取参数K,或者可以利用线性二次型LQR(这里的LQR结合FSFB也是LQR最优控制的一种,在专栏中另一篇文章中讲述)来获取参数
极点配置:本质是放置这些极点到系统中想要的(理想的)位置来提高系统动态响应性能。
特别注意是的极点配置优于根轨迹方法,根轨迹是改变参数来改变极点沿着根轨迹的位置,不能够任意摆放极点位置;然而极点配置可以通过改变矩阵的参数来任意的改变改变极点的位置,因此配置起来更加地灵活。
这里我列举一个极点配置的例子来获取参数
极点配置的例子及Matlab仿真分析:
系统状态和输出方程如下所示:
Eqs. (8-9)的矩阵对应于Eq. (1)中的矩阵ABCD,因次根据Eq. (5),矩阵A的特征根为-2,1,其中1为正实数,因此系统不稳定。
利用极点配置,令矩阵
根据Eq. (5),可以得到如下所示:
假设我们期望的极点分别为-2,-1,通过上述公式,可以获取矩阵
Matlab源代码如下所示:
clcA=[0 1;2 -1];
B=[1;0];
C=[1 0];
D=0;sys=ss(A,B,C,D);%原状态方程
E=eig(A);%原系统的特征根
P=[-2 -1]; %理想的特征根
K=place(A,B,P);%极点配置获取参考KAc=A-B*K;%FSFB矩阵
Ec=eig(Ac);%FSFB系统的特征根
kr=2;%参数kr
sysc=ss(Ac,B*kr,C,D);%新状态方程
step(sysc);%给定输入信号为阶跃信号
当输入为阶跃信号,观察系统的响应为:
改变系统的带宽可以根据调节系统的极点来提高。
FSFB的缺陷
在上述形式的FSFB中,改变参数
根据比例参考型的FSFB结构,定义误差
假设矩阵
利用终值定理,可以得到:
因此比例参考型的FSFB的稳态误差为:
当输入信号为阶跃信号时(
代入Eq.(3)于传递函数Eq. (16)中,得:
从式中可以看出,基于这种方法的FSFB系统算法简单且动态响应特性可控,但存在稳态误差,提高参数
参考资料包括以下内容,欢迎交流讨论:
https://en.wikipedia.org/wiki/Final_value_theoremen.wikipedia.orghttps://www.youtube.com/watch?v=wEevt2a4SKIwww.youtube.comhttps://www.youtube.com/watch?v=wEevt2a4SKIwww.youtube.comhttps://www.youtube.com/watch?v=FXSpHy8LvmYwww.youtube.com
c++ 多重背包状态转移方程_串讲:控制理论:全状态反馈控制(FSFB)相关推荐
- c++ 多重背包状态转移方程_动态规划入门——详解经典问题零一背包
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是周三算法与数据结构专题的第12篇文章,动态规划之零一背包问题. 在之前的文章当中,我们一起探讨了二分.贪心.排序和搜索算法,今天我们来 ...
- 计算机excel表格相关考试视频,1189.5天通过职称计算机考试:Excel 2003中文电子表格(考点视频串讲+全真模拟).pdf...
<<5天通过职称计算机考试:Excel 2003中文电子表格(考点视频 串讲+全真模拟)>> 猛点这里下载全部内容 目录: 第1章 Excel应用基础 考点1 Excel的启动 ...
- Python高级全栈开发实战 老男孩课程S16+路飞学城项目+女神串讲 Python全栈直通车课程
python高级全栈开发实战 老男孩课程S16+路飞学城项目+女神串讲 Python全栈直通车课程 Python高级全栈开发实战老男孩课程,是可以帮助同学们从零基础开始到项目开发实战的全栈课程,内容非 ...
- c++ 多重背包状态转移方程_背包问题之零钱兑换
读完本文,你可以去力扣拿下如下题目: 518.零钱兑换II ----------- 零钱兑换 2 是另一种典型背包问题的变体,我们前文已经讲了 经典动态规划:0-1 背包问题 和 背包问题变体:相等子 ...
- c++ 多重背包状态转移方程_【模板】各种背包问题amp;讲解
[模板]各种背包问题&讲解 背包问题集合 一般来说,动态规划(DP)都是初学者最难闯过的一关,而在这里详细解说动态规划的一种经典题型:背包问题. 这里介绍的背包分为以下几种:01背包,完全背 ...
- 柴天佑pdf 自适应控制_串讲:控制理论:自适应控制(APC)
自适应控制 (APC) 说道自适应控制(APC),也要追溯到5年前第一次接触,当时还只会应用下面的自适应律公式来求解,这里结合自己的一些想法来对自适应控制进行深入剖析,希望可以帮助到大家. APC的历 ...
- c++ 多重背包状态转移方程_【考前再叮嘱】陌生方程式书写
点击上方蓝字 关注"爱学化学"今日分享 陌生方程式书写 作者|何佳欢 它来了,它真的来了,万众瞩目的期中考试正在 ...
- http状态码_一些常见的HTTP状态码
点击上方"Java专栏",选择"置顶或者星标" 第一时间阅读精彩文章! ☞ 程序员进阶必备资源免费送「21种技术方向!」 点击查看☜ 来源:Linux公社 链接 ...
- 服务器状态监控php源码,服务器状态监控_监控Linux服务器网站状态的SHELL脚本
摘要 腾兴网为您分享:监控Linux服务器网站状态的SHELL脚本,蜗牛集市,同花顺,探客宝,手柄助手等软件知识,以及日期倒计时插件,云南省教育资源公共,rui手机桌面,小屁孩桌面便签,合金装备崛起复 ...
最新文章
- LabVIEW图像灰度测量(基础篇—7)
- 【直播】陈安东,但扬:CNN模型搭建、训练以及LSTM模型思路详解
- java aio复制文件_java复制文件的4种方式及拷贝文件到另一个目录下的实例代码...
- JAVA环境指定xms512_【JAVA学习】java虚拟机内存配置,-Xss256m -Xms512m -Xmx800m -XX:MaxPermSize=512m...
- 最全元素水平垂直居中方法
- Quadtrees UVA - 297
- linux 使用apidoc 生成Restful web Api文档
- MATLAB r2016a 配置 VLFeat 库教程(超详细,一看必会)
- GoBatch简介 —— 一款基于go语言的企业级批处理框架(Golang下的SpringBatch)
- 2000W条数据的Oralce数据库SQL查询优化经验 - 机会总会留给有准备的人
- rectangle()函数与rect类详解
- switch游戏服务器设置
- 蒟蒻の算法题(~~完全不会~~的期望)01
- 加菲猫经典语录(中英文对照)
- 蓝牙笔记《蓝牙技术基础》
- 红木整装——成为现代装修行业中的新宠
- 学习笔记:Bulletproofs Frozen Heart
- 南京邮电大学操作系统实验五:Windows平台多进程共享内存通信
- 【Web编程实践课第二次作业】体育新闻世界
- 用jquery实现md5加密