我们从一个常见的例子说起
在这里插入图片描述
一个质量为m的物体,受到一个弹簧和阻尼的共同作用,弹簧的弹力系数为k,阻尼的阻尼系数是B,这样的系统称为质量-弹簧-阻尼系统(mass-spring-damping)。这个系统的输入是




u


(


t


)


=


f


(


t


)



u(t) = f(t)


u(t)=f(t)
,输出是弹簧块向右的位移




x



x


x
,也就是我们可以通过控制




f


(


t


)



f(t)


f(t)
的大小,来控制物体右移的距离。汽车的悬挂系统,以及任何与振动相关的系统都是这种形式。
我们可以通过受力来建立起这个系统的数学模型。物体m受到的向左的力包括弹簧的弹力和阻尼力。












f


k



=


k


x


,


 



f


B



=


B



x


˙







(1)





f_k = kx, \ f_B = B\dot{x} \tag{1}


fk=kx, fB=Bx˙(1)


根据牛顿第二定律,可以得到如下的方程











m



x


¨



=


f


(


t


)






f


k







f


B






m



x


¨



+



f


k



+



f


B



=


f


(


t


)






(2)





m\ddot{x} = f(t) - f_k-f_B \Rightarrow m\ddot{x} + f_k + f_B = f(t) \tag{2}


mx¨=f(t)fkfBmx¨+fk+fB=f(t)(2)


我们可以通过Laplace Transform来找到这个系统的传递函数,对两边同时进行拉普拉斯变换,可以得到











m



s


2



X


(


s


)


+


B


s


X


(


s


)


+


k


X


(


s


)


=


F


(


s


)






(3)





ms^2X(s) + BsX(s) + kX(s) = F(s) \tag{3}


ms2X(s)+BsX(s)+kX(s)=F(s)(3)


这样的系统的传递函数就是系统的输出比输入











G


(


s


)


=




X


(


x


)




F


(


s


)




=



1



m



s


2



+


B


s


+


k








(4)





G(s) = \frac{X(x)}{F(s)} = \frac{1}{ms^2+Bs+k}\tag{4}


G(s)=F(s)X(x)=ms2+Bs+k1(4)


状态空间


在现代控制理论中,我们常会用state-space(状态空间)去表达系统的输入,输出和状态变量,而且通常是用一阶微分方程的形式去表达。现在上边的系统是用二阶微分方程去表达的,我们可以选取合适的状态变量去把二阶项消除掉,我们选取这样两个状态

















z


1



=


x











z


2



=



x


˙


















z


1



˙



=



x


˙



=



z


2













z


2



˙



=



x


¨



=




f


(


t


)





B



x


˙






k


x



m



=



1


m



u


(


t


)






B


m




z


2







k


m




z


1












(5)





z1=xz2=x˙
\Rightarrow
z1˙=x˙=z2z2˙=x¨=f(t)Bx˙kxm=1mu(t)Bmz2kmz1
\tag{5}


z1=xz2=x˙z1˙=x˙=z2z2˙=x¨=mf(t)Bx˙kx=m1u(t)mBz2mkz1(5)


我们就可以把上边的微分方程写成状态空间表达式的形式,





z


1



,



z


2




z_1,z_2


z1,z2
就是系统状态随时间的变化












[








z


1



˙











z


2



˙







]



=



[






0






1













k


m













B


m








]




[







z


1










z


2







]



+



[






0









1


m







]



u


(


t


)






(6)





\left[

z1˙z2˙
\right] = \left[
01kmBm
\right] \left[
z1z2
\right] +\left[
01m
\right]u(t) \tag{6}


[z1˙z2˙]=[0mk1mB][z1z2]+[0m1]u(t)(6)
系统的输出




y



y


y
可以用下面这种形式表达











y


=


[


1


 


0


]



[







z


1










z


2







]



+


[


0


]


[


u


(


t


)


]






(7)





y = [1 \ 0]\left[

z1z2
\right] + [0][u(t)] \tag{7}


y=[1 0][z1z2]+[0][u(t)](7)


上边的两个式子可以用更一般的通用形式表示












z


˙



=


A


z


+


B


u






(8)





\dot{z} = Az+Bu\tag{8}


z˙=Az+Bu(8)











y


=


C


z


+


D


u






(9)





y = Cz+Du \tag{9}


y=Cz+Du(9)


这就是系统的状态方程的表达形式。


现在来看一下系统的状态方程与传递函数之间的关系。我们对(8)式做拉普拉斯变换











s



Z



(


s


)




=


A



Z



(


s


)




+


B



U



(


s


)








(10)





sZ_{(s)} = AZ_{(s)}+BU_{(s)} \tag{10}


sZ(s)=AZ(s)+BU(s)(10)


可以得到下面的等式












Z



(


s


)




=


(


s


I





A



)






1




B



U



(


s


)




,


I





















(11)





Z_{(s)} = (sI-A)^{-1}BU_{(s)},I是单位矩阵 \tag{11}


Z(s)=(sIA)1BU(s),I(11)


我们再对(9)式做拉普拉斯变换












Y



(


s


)




=


C



Z



(


s


)




+


D



U



(


s


)








(12)





Y_{(s)} = CZ_{(s)}+DU_{(s)} \tag{12}


Y(s)=CZ(s)+DU(s)(12)


将(11)式带入到(12)式中,可以得到












Y



(


s


)




=


C


(


s


I





A



)






1




B



U



(


s


)




+


D



U



(


s


)








(13)





Y_{(s)} = C(sI-A)^{-1}BU_{(s)}+DU_{(s)} \tag{13}


Y(s)=C(sIA)1BU(s)+DU(s)(13)


然后这个系统的传递函数就是












G



(


s


)




=




Y



(


s


)





U



(


s


)





=


C


(


s


I





A



)






1




B


+


D






(14)





G_{(s)} = \frac{Y_{(s)}}{U_{(s)}} = C(sI-A)^{-1}B+D \tag{14}


G(s)=U(s)Y(s)=C(sIA)1B+D(14)


如果我们上边那个系统的系数带入到(14)中,我们会得到




G


(


s


)


=


C


(


s


I





A



)






1




B


+


D


=



1



m



s


2



+


B


s


+


k





G(s) = C(sI-A)^{-1}B+D = \frac{1}{ms^2+Bs+k}


G(s)=C(sIA)1B+D=ms2+Bs+k1


我们看一下上式中的分母部分,如果令分母




m



s


2



+


B


s


+


k


=


0



ms^2+Bs+k=0


ms2+Bs+k=0
,则此时的




s



s


s
为极点,极点将会决定系统的稳定性,我们可以猜测




A



A


A
矩阵的特征值也会决定系统的稳定性,是因为在求解上述传递函数的过程中,要求




(


s


I





A



)






1





(sI-A)^{-1}


(sIA)1
,这时候会用到




(


s


I





A



)






1




=




(


s


I





A



)











s


I





A








(sI-A)^{-1} = \frac{(sI-A)^*}{|sI-A|}


(sIA)1=sIA(sIA)
,如果令







s


I





A





=


0



|sI-A| = 0


sIA=0
,这时候




s



s


s
就是




A



A


A
的特征值,也就是




A



A


A
矩阵的特征值同样决定系统的稳定性。如果系统不稳定怎么办?我们就要想办法改造




A



A


A
矩阵,这会在后边提起。