跳转到内容

控制系统/状态反馈

来自Wikibooks,开放世界中的开放书籍

状态观测

[编辑 | 编辑源代码]

系统的状态空间模型是单个工厂的模型,而不是真正的反馈系统。将x'x相关联的反馈机制表示的是工厂内部的机制,其中工厂的状态与其导数相关。因此,我们没有A“组件”,因为我们不能用另一个A“芯片”来替换一个A“芯片”。整个状态空间模型,包括ABCD,都是一个设备的一部分。通常,这些矩阵是不可变的,也就是说工程师无法改变它们,因为它们是工厂的固有组成部分。但是,如果工厂本身发生变化,例如通过热效应和射频干扰,这些矩阵可能会发生变化。

如果系统可以被视为基本上不可变的(除了工程师无法控制的影响外),那么我们需要找到一种从外部修改系统的方法。从我们在经典控制中的研究中,我们知道最适合这种修改的系统是反馈回路。我们最终想要做的是添加一个额外的反馈元件K,该元件可以用来将系统的极点移动到任何所需的位置。使用一种称为“状态反馈”的技术在一个可控系统上,我们就可以做到这一点。

状态反馈

[编辑 | 编辑源代码]

状态反馈中,状态向量的值被反馈到系统的输入。我们定义一个新的输入r,并定义以下关系

K是一个常数矩阵,它位于系统外部,因此可以修改它以调整系统极点的位置。这种技术只有在系统可控时才能起作用。

闭环系统

[编辑 | 编辑源代码]

如果我们有一个外部反馈元件K,则称该系统为闭环系统。如果没有这个反馈元件,则称该系统为开环系统。使用我们在上面概述的ru之间的关系,我们可以写出闭环系统的方程

现在,我们的闭环状态方程似乎与我们的开环状态方程具有相同的形式,只是(A + BK)的和替换了矩阵A。我们可以将闭环状态矩阵定义为

Acl是闭环状态矩阵,Aol是开环状态矩阵。通过改变K,我们可以改变该矩阵的特征值,从而改变系统极点的位置。如果系统是可控的,我们可以找到该系统的特征方程为

计算行列式不是一项简单的任务,该矩阵的行列式可能非常复杂,特别是对于较大的系统而言。但是,如果我们将系统转换为可控规范型,则计算将变得容易得多。计算K的另一种方法是使用Ackermann公式

可控规范型

[编辑 | 编辑源代码]

Ackermann公式

[编辑 | 编辑源代码]

考虑一个没有参考输入的线性反馈系统

其中K是增益元素的向量。这种形式的系统通常称为调节器。请注意,此系统是我们上面介绍的系统的简化版本,除了我们忽略了参考输入。将其代入状态方程得到

阿克曼公式(由 Jürgen Ackermann 提出)为我们提供了一种选择增益值K的方法,以控制系统极点的分布。如果系统是可控的,我们可以使用阿克曼公式为我们的调节器系统选择任意极点。

[阿克曼公式]

其中,a(z)是系统期望的特征方程,ζ是原始系统的可控性矩阵。

可以使用以下 MATLAB 命令,通过阿克曼公式计算增益K

可以使用以下 MATLAB 命令执行此操作
acker
K=acker(A, B, p);

其中,K 是状态反馈增益,p 是期望的闭环极点位置。这种调节器的目标是将状态向量驱动至零。通过使用参考输入而不是线性状态反馈,我们可以使用相同的想法将状态向量驱动至任意状态,并赋予系统任意极点。

参考输入

[编辑 | 编辑源代码]

上述系统使用线性反馈且没有参考输入,其目的是将系统状态向量驱动至零。如果我们有一个系统参考输入r,我们可以定义一个向量N作为我们状态的期望值。这个组合输入等于

其中,xr是我们希望状态x达到的参考状态。下面是一个使用这种状态参考的系统框图。

我们有增益矩阵K和参考输入rN。从数学上,我们可以证明

在这个系统中,假设系统是 1 型或更高类型,我们可以证明

随着时间趋于无穷大,状态将逼近参考状态。

参考输入在连续域中使用以下公式计算

以及


这页 控制系统 书的内容尚未完善。您可以通过扩展此页面来提供帮助,但请务必遵循 本地样式指南。如果您想提供帮助,但不确定如何操作,可以在 主要讨论页面 上提问。 (所有未完成条目)
华夏公益教科书