【本文最后更新时间:2025.5.6】
0、为啥要学现代控制理论
在对中心点供电拓扑进行学习的时候,老师提出来一个思路,我觉得很有意思了——原本我们的控制方法是对电机和升压部分分别进行控制,即对电机使用PI控制,对升压部分使用小信号模型的控制。这样的控制好处是电机控制部分可以沿用之前的控制参数,然而我们在中性点供电拓扑的文章里也说到过,小信号模型是针对特定工作点进行控制的,工作点变化必然导致控制效果下降。可以说,电机部分的控制和升压部分的控制实质上是产生了一定的耦合情况的。
为了解决电机和升压部分的耦合问题,老师提出可以运用现代控制理论:利用状态空间表达式的方式,将两个部分视作一个整体,只用一个状态空间方程对系统进行表达。
本篇的所有学习参考哔哩哔哩up主@DR_CAN,真的非常喜欢这位博主,用最通俗易懂的方式讲解复杂的知识点,感觉基本没有比他讲解控制理论还要清晰透彻的博主了。(所有控制学科的同学都去看他!)
1、状态空间方程及其解
①状态空间表达式的建立
系统的状态空间的表达形式一般写成:(表示系统状态随时间的变化)

其中,z表示系统状态量(可以视作中间量);u表示系统输入量;y表示系统输出量。
状态空间表达式和传递函数可以相互转化,其公式为:

因此,我们可以说,得到了系统的状态空间表达式实际上就可以得到系统的传递函数了。
根据上面的式子,我们可以发现|sI-A|=0这里的s其实就是A的特征值,这个s在经典控制理论中,也是传递函数的极点。因此A的特征值也将决定系统的稳定性(这是后话)。
这样理解有点过于抽象了,这里就用DR_CAN老师在课上举的例子来详细解释如何建立系统的状态空间表达式:
对于如图所示的系统,U为输入,y为输出,将U1和U2作为状态变量,建立状态空间表达式:

根据基尔霍夫电流定律,并经过化简后,可以得到以下的两个方程:

因此系统的状态空间表达式写成矩阵形式,就可以得到:

输出方程是比较容易得到的:

这样,系统的状态空间表达式就表示完全了。本质上,就是将系统的输入输出和状态变量用一阶微分方程进行表达。
②状态空间方程的相图表达
根据前面的介绍,通俗的说,状态空间表达式其实就是变量的导数和变量之间的关系。因此,我们先对单变量的系统进行分析——
令状态空间表达式为:
,当其中的f(x)为二次函数时,进行系统的分析:

在上图中,可以发现,当x=x1或x2时,x的导数就等于0,导数等于零实际上就是说x是个常数,因此,系统在x=x1或x2时是个常数,常数代表着系统在这个点时是稳定的;
当x=x3时,x的导数是大于零的,导数大于零实际上就是说x在此处是单调递增的。因此x会逐渐向数轴的右侧移动(单调递增)。直到移动到x=x1的点时,系统再次达到了稳定;
当x=x4时,x的导数是小于零的,导数小于零实际上就是说x在此处是单调递减的。因此x会逐渐向数轴的左侧移动(单调递减)。直到移动到x=x1的点时,系统再次达到了稳定;
当x=x5时,x的导数是大于零的,导数大于零实际上就是说x在此处是单调递增的。因此x会逐渐向数轴的右侧移动(单调递增)。由于是二次函数,因此系统右侧x的导数始终大于零,系统永远无法达到稳定。
因此,综上所述可以得到——在上图中,x1、x2、x3和x4是系统的稳定点。单变量一阶的系统就可以分析出系统在何处能稳定了。
由上述的一些思路,就可以对相图的思路有了一个大概的了解了。
接下来来讨论一下二阶系统的情况。
对系统的状态空间方程
,先讨论当输入u等于0的情况——

当b=c=0时,得到:
。不难得出该系统的稳定点是在:x10=0;x20=0的点上。接下来直接引用老师在课上的图片来说明:

第一种情况下,在空间平面取任一点,都可以得出x1和x1导数;x2和x2导数之间的关系;很明显在a=d>0的情况下,平面上的任一点都是对外发散的,且发散的速度是相同的。当a>d>0时,同样的还是发散,不过不同的是由于a比d更大,所以趋近于x1的速度会更大一些。
第二种情况下,可以得到当a>0,d<0时,在空间平面取任一点,在x1轴方向还是向无穷发散的,但是在x2轴方向逐渐收敛,收敛到x2等于0。
第三种情况下,可以得到当a<0,d<0时,在空间平面取任一点,在x1轴方向和x2轴方向都是逐渐收敛的,因此,在这种情况下,系统是稳定的。(这种情况DR_CAN老师形容为像是把浴缸上塞打开,水都集中到出水口中,我觉得很形象!)
接下来讨论一般的情况——
举个例子:
对其进行特征值和特征向量的求解,得到特征值为1时对应的特征向量为v1=[1 1];特征值为-1时对应的特征向量为v2=[2 1]。这样就能得到过渡矩阵P为P=[v1 v2]。
由

本质上,这还是一个不稳定的saddle相图,因此可以看出,x和y两个系统仅仅进行了线性变化,并没有改变其稳定性。再深挖一下,就可以发现,两个系统的特征值,特征向量是一样的。而特征值出现了大于0的值,这就导致了出现发散的情况。因此可以说,特征值的正负是影响了系统的稳定性的。
回到传递函数的表达式中

在这里的(sI-a)的行列式等于0时,就可以得到传递函数的极点,而传递函数的极点又能影响系统的稳定性。这样,这两个方法就被联系在了一起了。
再举个例子——

为什么x1和x2可以这么取值呢?因为对于线性微分方程来说,如果它的解是由两个项相加而成的话,那把每一个项单独的拿出来,都可以作为该微分方程的解。因此对于这个问题,我们只需要分析它的实部部分就可以了,这是线性系统的一个特性。
由此,又可以得到一个结论——对系统的特征值是复数的情况,且当特征值只有虚部时,则它的相图是一个圆。再根据圆和轴的交点,可以判断出相图的方向。可以看出,这种相图下,x1和x2是在循环往复的。
放一张老师再课上的总结——

最后DR_CAN老师用相轨迹的原理讲了爱情中的数学,真是非常的深入浅出,学习到了控制理论的知识,同时也收获了人生哲理——Advanced控制理论_4_爱情中的数学_Phase Portrait 动态系统分析_哔哩哔哩_bilibili




