状态空间方程 - 极点配置1
状态空间方程 - 极点配置1
本期介绍一种用状态空间方程表示的模型设计反馈控制器的方法-极点配置/全状态反馈。在工业场景中,极点配置的应用并不多;反之,LQR或H infinity等方法则应用较为广泛。不过,极点配置能让你更好地理解使用状态空间方程进行反馈控制的一般方法。
什么是极点配置
极点配置(Pole Placement)是控制理论中的一种设计方法,用于通过适当选择控制器增益,使得闭环系统的极点(也即系统特征方程的根)位于预定的位置,从而达到所需的动态性能和稳定性要求。极点的位置直接影响系统的响应特性,如稳定性、速度、阻尼等。
首先,我们有一个输入为 u、输出为 y 的plant,目标是开发一个反馈控制系统,将输出达到某个期望值。比较常用的一种方法是将输出y与参考信号u进行比较,以得到控制误差。然后开发一个控制器,根据该误差项生成plant的输入信号,目的是将误差降至零。这是在开发 PID 控制器时会看到的反馈系统结构。
但极点配置是以不同的方式来解决控制跟随问题。我们来看另一种控制框图:Plant不反馈输出y,而是反馈状态向量 x 中每个状态变量的值。然后,将状态向量乘以一个由不同增益值组成的矩阵。然后将结果减去缩放的参考信号,并将此结果作为输入直接输入Plant。
在这个反馈结构中,由Kr和K组成的部分就是控制器。我们可以通过极点配置的方法来计算出适当的增益矩阵,以保证系统的稳定性,而参考值的缩放则用于确保稳态误差性能是可接受的。
状态方程可表述为
其中线性系统的动态变化是通过Ax 来体现的,Bu表示如何对输入做出响应。而系统中的能量是如何存储和移动的,则由 Ax 项来捕捉。因此,在控制器设计中,A 矩阵可能会有一些特殊之处。确实如此:任何反馈控制器都必须修改 A 矩阵才能改变系统的动态。这在涉及稳定性时尤其如此。
A 矩阵的特征值就是系统的极点,而极点的位置决定了线性系统的稳定性。这就是极点位置的关键所在:通过移动极点或闭环 A 矩阵的特征值,产生所需的闭环稳定性。
极点、特征值与稳定性
接下来我们再举例看一下极点、特征值和稳定性之间的关系。有如下系统:
该系统可以重新表述为:
这样就更容易理解状态导数与状态之间的关系。一般来说,每个状态都可以作为其他状态的函数发生变化。这里就是这种情况; 根据而变化, 根据 和 而变化。这种表述很难直观地看出特征值对整体动态的影响。因此,我们可以将 A 矩阵转换为使用不同状态变量集来描述系统的矩阵。
这种变换是通过变换矩阵完成的,变换矩阵的列是 A 矩阵的特征向量。变换后,我们得到的是一个修正的 A 矩阵。这两个模型代表同一个系统。它们具有相同的特征值和相同的动力学特性,只是第二个模型使用一组相互独立变化的状态变量来描述。
将 A 矩阵写成对角线形式后,我们不难发现,剩下的是一组一阶微分方程,其中每个状态的导数只受该状态的影响,不受其他影响。
该微分方程的解形式为
其中 λ 是给定状态变量的特征值。
让我们再深入研究一下这个方程。如果你以某种能量来初始化状态,这个等式显示了能量随着时间的推移会发生什么变化。通过改变 λ,你可以影响能量的耗散方式,或者在不稳定系统中,能量的增长方式。
让我们通过几个不同的λ值,直观地了解能量是如何根据特征值在复平面内的位置发生变化的。
如果λ是负实数,那么这种模式是稳定的,任何初始能量都会随着时间的推移而消散。如果是正数,则不稳定,因为能量会随时间增长。如果存在一对虚特征值,那么模式中的能量就会振荡,因为 e 的虚数次方会产生正弦和余弦。特征值中实数和虚数的任何组合都会产生振荡和指数能量耗散的组合。
如果我们的系统的特征值位于复平面中的不理想位置,那么我们可以使用极点配置将它们移到其他位置。显然,如果它们在右半平面是不可取的,因为它们会不稳定,但不可取的情况也可能意味着你想消除振荡,或者只是加快或减慢特定模式中能量的耗散。
如何进行极点配置
现在我们来看一下如何通过极点配置移动特征值。再回顾一下前面提到的控制器结构,其输入 u=rKr−kx,其中 rKr 是缩放参考信号,kx 是我们反馈的状态向量乘以增益矩阵。
神奇之处就在这里。如果我们将这个控制输入u带入到状态方程中,我们就完成了闭环,得到了下面的状态方程:
此时可以将A 和 -Bk组合起来,得到修改后的 A 矩阵。这就是闭环 Acl 矩阵,我们可以通过选择适当的 K 来移动特征值。
让我们以一个单输入的二阶系统为例。
我们可以通过将A-λI 的行列式设为零,然后求解λ来找到特征值。它们分别是-2 和+1。由于存在正实数特征值,因此系统是不稳定的。我们可以利用极点位置设计一个反馈控制器,通过将不稳定极点移至左半平面来稳定该系统。
我们的闭环 Acl 矩阵为 A - BK,增益矩阵 k 为 1x2,因为有一个输出和两个状态。由此得出Acl的值。我们可以像之前那样求解 Acl 的特征值,从而得到这个特征方程,它是两个增益值的函数。
假设我们希望闭环极点位于-1 和-2,那么特征方程就是
我们只需设置系数相等并求解即可,结果是 K1 = 2,K2 = 1。如果我们将这两个增益置于该系统的状态反馈路径中,它就会稳定下来,特征值分别为-1和-2。
本期极点配置就讲解到这里,下次会用MATLAB具体举例以进一步加深理解。