§01现代控制论研究控制系统的视角
关于控制系统,我们在经典控制论中已经研究了很多,主要采用传递函数和频率分析的方式。这样的方式天然研究输入和输出之间的关系,在不加特殊分析的条件下往往不会涉及系统内部各个中间量的变化。
不过如果我们需要分析系统内部各个量之间的变化,仅使用经典控制论的方法未免有些乏力了,于是我们引入现代控制论——一门以系统内部各个状态量为切入点的理论。
故名思意,系统的状态变量就是描述系统内部状态的一组独立变量的集合,通常是一个矢量,选取它作为分析的切入点是因为系统中非状态的量一般能够由状态量推导或分析出来。
与之相关的几个概念:状态空间—状态变量(向量)张成的多维空间;状态方程—由状态变量构成的一阶线性微分方程组;输出方程—系统输出与状态变量之间的函数关系。
§02状态空间表达式及其模拟结构图
状态空间表达式是系统的状态方程与输出方程构成的方程组,一般形式如下:
x˙=Ax+Buy=Cx+Du
其中x表示状态变量,x˙表示状态变量导数,A表示系统矩阵,一般而言是方阵,B表示输入矩阵,C表示输出矩阵,D表示直接传递矩阵。在这门课的学习中,我们一般认为D=0。
显而易见的是,上述方程组描述的是多输入多输出系统,对于单输入单输出系统而言,方程组中的B、C、y将分别变成列向量、行向量以及单个元素,如下。
x˙=Ax+buy=cx
以单输入单输出为例,我们可以绘制与经典控制论类似的模拟结构图如下。

这张图是状态空间表达式转化为模拟结构图的基本单元,它是如何绘制出来的呢?
核心是引入的积分器,描述了变量和导数之间的关系,其余的绘制方式其实与经典控制论别无二致。
这是从时域微分方程直接推导出模拟结构图,用经典控制论中复数域的模拟结构图一样可以推导出这样的模拟结构图,以一阶惯性环节作为简单示例。

想要由复数域的公式或结构图得出上面的图片,不熟练时可以按照如下步骤:
Step1-将复数域公式或结构图变化为时域输入输出方程,这需要利用积分变换的积分或微分公式
Step2-由得出的时域方程绘图
§03求解状态空间表达式
求解给定系统的状态空间表达式一般有三种方法:由模拟结构图求解、由系统机理求解、由传递函数求解。其中前两者的本质都是由某些信息写出系统的时域微分方程组,再将其写成矩阵形式,而后者则有单独的公式和解法。
时域微分方程组求解
我们先看由模拟结构图求状态空间表达式的方法。

当我们拿到上图的模拟结构图后,就可以按照量传递的关系写出如下方程组。
x˙1x˙2x˙3y=T3K3x2=−T21x2+T2K2x3=−T11x3−T1K1K4x1+T1K1u=x1
这样的方程组可以写为标准的状态空间表达式如下。
x˙y=00−T1K1K4T3K3−T2100T2K2−T11x+00T1K1u=(100)x
关于由系统机理求状态空间表达式,思想基本是一致的,只是需要一些实际元件的微分描述公式,例如电感电容上电压电流之间的关系,或者动力学上的一些内容,这里不再赘述。
传递函数求解
由传递函数求出对应的状态空间表达式的问题,我们称之为实现问题,这显然是有多解的,所以我们这里只给出一种一般的形式。其推导过程是先将传递函数画成某种模拟结构图,再由模拟结构图推导状态空间表达式。
W(s)=U(s)Y(s)=sn+an−1sn−1+⋯+a1s+a0bmsm+bm−1sm−1+⋯+b1s+b0,m≤n
当传递函数没有零点时,即分子中只有b0时,状态空间表达式如下,其中矩阵A这一特殊形式称为友矩阵。
x˙x˙1x˙2⋮x˙n−1x˙n=A00⋮0−a010⋮0−a101⋮0−a2⋯⋯⋱⋯⋯00⋮1−an−1xx1x2⋮xn−1xn+b00⋮01u
y=c(b000⋯0)x
当传递函数有零点时,即分子中含有s的非零次幂时,有两种实现,第一种如下。
x˙1x˙2⋮x˙n−1x˙n=00⋮0−a010⋮0−a101⋮0−a2⋯⋯⋱⋯⋯00⋮1−an−1x1x2⋮xn−1xn+00⋮01u
y=(b0−a0bnb1−a1bn⋯bn−1−an−1bn)x1x2⋮xn−1xn+bnu
一个明显的事情就是系统的状态方程和无零点时相同,有零点的另一种实现也是这样,这是因为无论是否有零点,传递函数决定的特征方程没有变化。
有零点的第二种实现如下。
x˙1x˙2⋮x˙n−1x˙n=00⋮0−a010⋮0−a101⋮0−a2⋯⋯⋱⋯⋯00⋮1−an−1x1x2⋮xn−1xn+βn−1βn−2⋮β1β0u
y=(10⋯00)x1x2⋮xn−1xn+βnu
βnβn−1βn−2β0=bn=bn−1−an−1βn=bn−2−an−2βn−an−1βn−1⋮=b0−a0βn−a1βn−1−⋯−an−1β1=b0−i=0∑n−1aiβn−i
对于这种实现方式,实际上一般比较难算,个人认为了解即可。
§04状态空间下的变换
线性变换
在一个状态空间中,给定选取的一组状态变量,我们总可以通过平移使得这个状态变量构成的向量从空间的原点出发,指向空间中的某一点。所以为了简化讨论,我们以原点为起点进行说明。这个状态向量指向的那一点,可以表征在当前环境下系统中状态变量的值,而当环境连续变化时,其指向的那一点就会在空间中划出一道轨迹。

通过线性代数我们可以知道,从原点起始的向量转移到另一个位置的操作,可以用一个矩阵乘以一个向量表示,这也被称为线性变换。这个线性变换操作描述的是对于一个给定的定常系统,我们可以选择多种不同的状态变量来组成描述系统的状态空间表达式,而这个线性变换用到的矩阵就是不同状态空间表达式之间的联系。
从数学上我们要求这个矩阵是非奇异的,也就是矩阵满秩或方阵行列式不为0。记为T,于是有如下变换关系。
xz˙y=Tz=T−1ATz+T−1Bu=CTz+Du
特征值与特征矢量
在经典控制论中我们学过系统的特征方程,以及特征方程的解特征值。通过数学关系,我们可以给出现代控制论中特征方程的另一种表达形式。
∣λI−A∣=0
通过数学推导我们还知道,经过T线性变换后系统的特征值不变。
下面给出特征矢量的定义,对于单特征根而言,定义如下。
Api=λipi
对于多特征根而言,定义如下。
λ1P1−AP1λ1P2−AP2λ1Pq−APq=0=−P1⋮=−Pq−1
将系统矩阵变为标准型
通过上述内容我们知道,可以用线性变换改变系统状态空间表达式的形式,使得分析更加简单,下面给出一些常见的转换结果与对应的T。
对于一般的A,特征值无重根时有:
JT=λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λn=(P1P2⋯Pn)
特征值有重根时有:
JT=λ10⋮01λ1⋱⋯0⋯⋱⋱00⋮1λ1λq+100⋱0λn=(P1P2⋯PqPq+1⋯Pn)
对于A为友矩阵,特征值无重根时有:
AT=00⋮0−a010⋮0−a101⋮0−a2⋯⋯⋱⋯⋯00⋮1−an−1=1λ1λ12⋮λ1n−11λ2λ22⋮λ2n−1⋯⋯⋯⋯1λnλn2⋮λnn−1,λi=λj(i=j)
特征值有重根时有:
T=1λ1λ12⋮λ1n−1012λ1⋮dλ1d(λ1n−1)001⋮21dλ12d2(λ1n−1)⋯⋯⋯⋯1λ4λ42⋮λ4n−1⋯⋯⋯⋯1λnλn2⋮λnn−1
其中重根部分是将重根作为自变量,以一定规则求导。本课程不涉及三阶以上的计算,故没有给出通式。
特征值有共轭复根时有:
TT−1AT=1σσ2−ω2σ3−3σω20ω2σω3σ2ω−ω31λ3λ32λ331λ4λ42λ43=σ−ω00ωσ0000λ30000λ4
§05由状态空间表达式求传递函数
对于一般单输入单输出状态空间表达式而言,其输入与状态、输入与输出之间的传递函数表达式可以写为如下形式:
Wux(s)W(s)=U(s)X(s)=(sI−A)−1b=U(s)Y(s)=c(sI−A)−1b+d
其中前者为一个向量,后者为一个元素。
对于多输入多输出系统而言则可写为如下形式:
Wux(s)W(s)=(sI−A)−1B=C(sI−A)−1B+D
其中后者为一个矩阵函数
W(s)=W11(s)W21(s)⋮Wm1(s)W12(s)W22(s)⋮Wm2(s)⋯⋯⋱⋯W1r(s)W2r(s)⋮Wmr(s)
下面给出多系统在不同链接方式下总传递函数和单个传递函数之间的关系:
并联连接时总传递函数为各个传递函数之和
串联连接时总传递函数为各个传递函数之积,由于矩阵乘法的顺序固定,此处先乘离输出近的传递函数,再乘远的传递函数。
输出反馈时总传递函数的公式如下,同串联连接,矩阵乘法顺序固定。
W(s)=[I+W1(s)W2(s)]−1W1(s)
§06总结
这一章的内容属于现代控制论的基础,且多为数学公式,其中不少公式的推导也不是由纯数学模型而来,而是结合了模拟结构图的构建,需要较多经验才能构造或推导。
从实用的角度来看,只要发现公式形式上的规律并能实际运用即可,如果想真的深度理解现代控制和数学之间的紧密关系,还需要等待全部内容学完并统一分析才行,故此处不进行赘述。