c++ 多重背包状态转移方程_串讲:控制理论:全状态反馈控制(FSFB)

d4df6c06b566342c624274c781634410.png

全状态反馈控制也可以被称作状态反馈控制,它是现代控制理论的一种控制方法,私信中部分小伙伴问道极点配置还有状态反馈是怎么回事,这里就写一篇文章来解决上述问题。介绍全状态反馈控制(FSFB)之前,根据自己的理解并结合参考文献来介绍一下科学家们为什么要设计FSFB来构造闭环控制,如有不对的地方欢迎纠正!


全状态反馈控制(FSFB)构造的意义

首先,线性系统的被控对象状态方程如下所示:

(1)

给一个结论:在第一个式子中,第一项

代表线性系统的动态特性,系统中的能量如何被存储及被转移取决于矩阵
,第二项
表示系统如何根据输入量进行响应。

因此当有了输入量后,学者们更关心的问题是如何提高系统的动态特性(也就是说如何快速的转移系统中的能量)。

那么证明一下结论中第一项

为什么可以代表系统的动态特性?

证明如下:

利用Laplace对Eq. (1)进行变换:

(2)

假设矩阵

为零矩阵,传递函数如下:

(3)

当满足下式时,系统的极点(Pole)可以被求出。

(4)

然而矩阵

特征根(Eigenvalues)求得方法如下:

(5)

对比Eqs.(4-5),不难发现,原来矩阵A特征根就是系统的极点!如果知道了系统的极点,就可以判断系统的稳定性,和收敛趋近状态及速度。

当系统的极点在s域中的位置如下所示,系统的状态变量变化形态可以从图中看出。

7120554f737144d3a182d9ebb5ce81a1.png
图参考油管中的视频,链接如下所示:

因此可以看出系统状态方程中的第一项

代表系统的动态特性,且矩阵
特征根为系统的极点,极点的位置可以反映出系统的稳定性,如果极点足够远,可以快速使系统收敛,但是能量也越大,且抗干扰能量下降。

全状态反馈控制(FSFB)

因此合理的配置极点可以使系统达到我们想要的结果,这里就需要引入FSFB,有了这个控制器,问题就迎刃而解了,我们可以通过FSFB这种方法来任意改变系统的极点位置。

FSFB有几种结构,三种结构如下所示:

a03b6578787a7ebf2c9463a051c26537.png
图参考油管中的视频

三种方法都含有参考量

和参数
,为了便于理解,这里介绍一种比例参考型的FSFB:

b040f3d9752c811bb1a2ec85921940d8.png

根据上图中的结构,可以看出这种控制方式非常的简单,FSFB系统的控制率可以表示为如下所示:

(6)

通过代入Eq.(1)于Eq. (6),系统状态方程可以表示为如下:

(7)

因此可以看出系统的极点发生了改变,从A的特征根变为了矩阵

的特征根,而矩阵
可以通过人为的设计参数进行调整,因此可以达到理想的系统控制需求。

问题:那么如何调整系统的极点来满足系统的需求,或者是使系统达到最优的性能呢?

答:可以采用以下两种方法,即利用极点配置(Pole placement,本文重点介绍)的方法来获取参数K,或者可以利用线性二次型LQR(这里的LQR结合FSFB也是LQR最优控制的一种,在专栏中另一篇文章中讲述)来获取参数

极点配置:本质是放置这些极点到系统中想要的(理想的)位置来提高系统动态响应性能。

特别注意是的极点配置优于根轨迹方法,根轨迹是改变参数来改变极点沿着根轨迹的位置,不能够任意摆放极点位置;然而极点配置可以通过改变矩阵的参数来任意的改变改变极点的位置,因此配置起来更加地灵活。

这里我列举一个极点配置的例子来获取参数

极点配置的例子及Matlab仿真分析:

系统状态和输出方程如下所示:

(8)

(9)

Eqs. (8-9)的矩阵对应于Eq. (1)中的矩阵ABCD,因次根据Eq. (5),矩阵A的特征根为-2,1,其中1为正实数,因此系统不稳定。

利用极点配置,令矩阵

的参数为[k1,k2],则矩阵
可以表示如下:

(10)

根据Eq. (5),可以得到如下所示:

(11)

假设我们期望的极点分别为-2,-1,通过上述公式,可以获取矩阵

的参数为[2,1]。

Matlab源代码如下所示:

clc

A=[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);%极点配置获取参考K

Ac=A-B*K;%FSFB矩阵
Ec=eig(Ac);%FSFB系统的特征根
kr=2;%参数kr
sysc=ss(Ac,B*kr,C,D);%新状态方程
step(sysc);%给定输入信号为阶跃信号

当输入为阶跃信号,观察系统的响应为:

f0a1dbbd2b547ba654690e0e992385ca.png

改变系统的带宽可以根据调节系统的极点来提高。

FSFB的缺陷

在上述形式的FSFB中,改变参数

可以提高系统的幅值使系统的输出和系统参考值保持一致,然而参数
会影响系统的稳态误差,详细推导如下:

根据比例参考型的FSFB结构,定义误差

(12)

假设矩阵

为零矩阵,根据传递函数Eq. (3)和Eq. (6),可以获得误差方程如下:

(13)

利用终值定理,可以得到:

(14)

因此比例参考型的FSFB的稳态误差为:

(15)

当输入信号为阶跃信号时(

),Eq.(15)可以变换为:

(16)

代入Eq.(3)于传递函数Eq. (16)中,得:

(17)

从式中可以看出,基于这种方法的FSFB系统算法简单且动态响应特性可控,但存在稳态误差,提高参数

会导致稳态误差进一步增大,为了解决这一问题,可以采用积分形式的FSFB(推导与上述推导类似,这里不做推导)。

参考资料包括以下内容,欢迎交流讨论:

https://en.wikipedia.org/wiki/Final_value_theorem​en.wikipedia.org https://www.youtube.com/watch?v=wEevt2a4SKI​www.youtube.com https://www.youtube.com/watch?v=wEevt2a4SKI​www.youtube.com https://www.youtube.com/watch?v=FXSpHy8LvmY​www.youtube.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值