现代控制理论与经典控制的交汇点

状态空间方程与传递函数

在现代控制理论中,我们用状态空间方程作为我们表述MIMO系统的数学模型,而在经典控制中我们曾用传递函数描述系统,两者之间有什么关系呢?

典型系统的状态空间方程:

x˙=Ax+Buy=Cx+Du\dot{x} = Ax + Bu \\ y=Cx + Du

为了将其转化为传递函数,我们对上式进行拉普拉斯变换得:

SX(s)=AX(s)+BU(s)Y(s)=CX(s)+DU(s)SX(s) = AX(s) + BU(s) \\ Y(s) = CX(s) + DU(s)

整理得:

X(s)=(SIA)1BU(s)X(s) = (SI-A)^{-1}BU(s)

代入得:

Y(s)=[C(SIA)1B+D]U(s)Y(s)=[C(SI-A)^{-1}B+D]U(s)

传递函数:

G(s)=Y(s)U(s)=C(SIA)1B+D G(s)= \frac{Y(s)}{U(s)} = C(SI-A)^{-1}B+D

开环系统(open-loop)

开环系统是无输入系统:

x˙=Ax\dot{x}=Ax

其中A阵的特征值为λ\lambda,其在时域的的表现为:

x=cieλitx=\sum{c_ie^{\lambda_i t}}

当A矩阵的特征值实部小于零时,系统最终收敛,趋于稳定。

Re(λi)<0Re(\lambda_i)<0时,t趋向于\infty时,系统状态趋向于0,系统收敛稳定

Re(λi)>0Re(\lambda_i)>0时,t趋向于\infty时,系统状态趋向于\infty,系统发散不稳定

当特征值的虚部不等于0时,系统会引入震荡:
由欧拉公式可知:

eit=cost+isinte^{it} = cost + isint

此时的时域表现为:

x=cie(a+bi)tx=\sum{c_ie^{(a+bi)t}}

eit=cost+isinte^{it}=cost+isint,由此引入震荡环节。

Im(λi)0Im(\lambda_i)\neq 0时,系统引入震荡环节

闭环系统(close-loop)

闭环系统相比于开环系统引入了带控制器的输入项:

u=Kxu=-Kx

此时的系统状态表达式为:

x˙=AxBKx\dot{x}=Ax-BKx

即:

x˙=(ABK)x\dot{x}=(A-BK)x

根据上述开环系统的经验可知,当闭环系统的系数矩阵Acl=ABKA_{cl}=A-BK特征值实部都小于零时,系统稳定。
这种方式称为极点配置,我们通过设计希望的系统极点反求K的取值,使加入控制器后的系统能够达到我们期望的控制效果(稳、准、快)。
除此之外,我们还可以利用最优控制的思想,使用**LQR(线性二次调节器)**构建最小化代价函数,通过求解代数 Riccati 方程得到最优的控制增益K。

观测器(Observer)

然而当系统存在某些或不可测量的状态变量时,我们便需要构建观测器来观测这些状态以便我们对其进行更好的控制,下面介绍龙伯格观测器(Luenberger Observer)
龙伯格观测器的状态估计方程如下:

x^˙=Ax^+Bu+L(yy^)y^=Cx^+Du\dot{\hat{x}}=A\hat{x} + Bu +L(y-\hat{y}) \\ \hat{y} = C\hat{x} + Du

  • x^\hat{x}:状态估计值
  • y^\hat{y}:输出估计值
  • LL:观测器增益
    我们假设,观测器误差为ee:

e˙=x^˙x˙e=x^x\dot{e} = \dot{\hat{x}}-\dot{x} \\ e=\hat{x}-x

带入求解得:

e˙=(ALC)e\dot{e}=(A-LC)e

我们看到了熟悉的东西,同理,我们可以采用极点配置或最优控制的方式将ALCA-LC的特征值全都小于零,便能够在tt\to\infty时,让e0e\to 0,便能让我们的观测器收敛,达到对系统不可测状态的相对准确观测。
其中最精妙的设计在于在模型预测的基础上加入了闭环反馈,使观测器误差快速收敛:

x^˙=Ax^+Bu+L(yy^)\dot{\hat{x}}=A\hat{x} + Bu +L(y-\hat{y})

于是,即使在某些系统变量不可测量的状态下,我们依然能够构建有效的控制器进行控制:

x˙=(ABK)x^\dot{x}=(A-BK)\hat{x}

特征值与系统极点

在经典控制中,我们通过求极点、观察极点位置的方式判断系统的稳定性,而在现代控制中我们由李雅普诺夫第一法,即求系数矩阵A的特征值λ\lambda,并判断其大小的方式判断系统稳定性,但两者是否存在某种联系呢?
在求特征值的过程中,我们先假设A阵的特征向量vv:

Av=λv(λIA)v=0Av=\lambda v \\ (\lambda I-A)v = 0

即:

det(λIA)=0\det{(\lambda I-A)}=0

此时,系统的传递函数为:

G(s)=C(SIA)1B+DG(s)= C(SI-A)^{-1}B+D

在求解逆矩阵时,是矩阵的伴随矩阵除以矩阵行列式的值:

(SIA)1=(SIA)det(SIA)(SI-A)^{-1}=\frac{(SI-A)^*}{\det{(SI-A)}}

我们回头看系统的传递函数:

G(s)=C(SIA)Bdet(SIA)+DG(s)= \frac{C(SI-A)^*B}{\det{(SI-A)}}+D

令传递函数的分母等于0,与求解A阵特征值时令行列式等于0:

det(λIA)=0\det{(\lambda I-A)}=0

所以,状态空间中的特征值λi\lambda_i与传递函数极点SiS_i是等价的!

本文主要梳理于DR_CAN老师的视频,另外上学期刚学了自动控制原理,这学期又在学现代控制理论,看完瞬间感觉通透了,特此记录一下