控制系统/可控性和可观测性
在控制工程领域,有大量的系统需要控制。控制工程师的任务是设计控制器和补偿器单元,以与这些现有的系统交互。然而,有些系统根本无法控制(或者更常见的是,无法以特定方式控制)。可控性的概念是指控制器随意改变系统被控对象功能的能力。
系统的状态变量 *x* 代表系统的内部运作,可以独立于系统的常规输入-输出关系。这还需要测量或 *观察*。可观测性一词描述了系统内部状态变量是否可以从外部测量。
完全状态可控性(如果没有任何其他上下文,则简称为可控性)描述了外部输入将系统的内部状态从任何初始状态移动到任何其他最终状态的能力,时间间隔有限。
我们将从可控性一词的定义以及相关的术语可达性和可稳定性开始。
- 可控性
- 具有内部状态向量 *x* 的系统被称为可控的当且仅当系统状态可以通过改变系统输入来改变时。
- 可达性
- 一个特定状态 x1 被称为可达的,如果存在一个输入可以在某个有限时间间隔 [t0, t) 内将系统的状态从初始状态 x0 传输到 x1。
- 可稳定性
- 一个系统是可稳定的,如果所有无法达到的状态都渐近衰减到零。
我们也可以更精确地写出可达性的定义
一个状态 x1 被称为在时间 t1可达的,如果对于某个有限的初始时间 t0,存在一个输入 u(t) 将状态 x(t) 从 t0 时刻的原点转移到 x1。
一个系统在时间 t1可达的,如果状态空间中的每个状态 x1 都可以在时间 t1 达成。
类似地,我们可以更精确地定义可控性的概念
一个状态 x0 被称为在时间 t0可控的,如果对于某个有限时间 t1,存在一个输入 u(t) 将状态 x(t) 从 x0 转移到时间 t1 的原点。
如果状态空间中的每个状态 x0 都是可控的,则该系统被称为在时间 t0可控的。
对于 LTI(线性时不变)系统,一个系统是可达的当且仅当它的可控性矩阵 ζ 的满秩为 *p*,其中 *p* 是矩阵 A 的维度,*p* × *q* 是矩阵 B 的维度。
[可控性矩阵]
当任何状态 x1 都可以在有限步内驱动到零状态 *x = 0* 时,该系统是可控的或“可控到原点”。
当系统矩阵 A 的秩为 *p* 且可控性矩阵的秩等于时,该系统是可控的。
如果不满足第二个方程,则该系统不可控。
MATLAB 允许使用ctrb 命令轻松创建可控性矩阵。要创建可控性矩阵 ,只需输入
其中 A 和 B 如上所述。然后为了确定系统是否可控,可以使用 rank 命令来确定它是否具有满秩。
如果
那么可控性并不意味着可达性。
- 可达性总是意味着可控性。
- 只有当状态转移矩阵非奇异时,可控性才意味着可达性。
有四种方法可以用来确定一个系统是否可达。
- 如果 的 *p* 行在复数域上线性无关。也就是说,如果这两个矩阵的乘积的秩对于所有 *t* 和 *τ* 的值都等于 *p*。
- 如果可控性矩阵的秩与系统矩阵 A 的秩相同。
- 如果矩阵 A 的所有特征值 λ 满足 。
- 如果可达性格拉姆矩阵(如下所述)的秩等于系统矩阵 A 的秩。
这些条件中的每一个都是充要条件。如果任何一个测试失败,所有测试都会失败,系统不可达。如果任何一个测试通过,那么所有测试都会通过,系统可达。
格拉姆矩阵
[edit | edit source]格拉姆矩阵是复杂的数学函数,可用于确定系统的特定特性。例如,我们可以使用格拉姆矩阵来确定系统是否可控或可达。由于格拉姆矩阵比其他方法更复杂,因此通常仅在其他分析系统的方法失败(或过于困难)时使用它们。
此页面上介绍的所有格拉姆矩阵都是维数为p × p 的矩阵(与系统矩阵 A 的大小相同)。
这里介绍的所有格拉姆矩阵将使用线性时变系统的通用情况进行描述。要将这些转换为 LTI(时不变方程),可以使用以下替换
其中我们使用符号 X' 表示矩阵 X 的转置(而不是传统的符号 XT)。
可达性格拉姆矩阵
[edit | edit source]我们可以将可达性格拉姆矩阵定义为以下积分
[可达性格拉姆矩阵]
如果可达性格拉姆矩阵的秩与系统矩阵的秩相同,则系统可达
<chemistry>/control{range}
可控性格拉姆矩阵
[edit | edit source]我们可以将系统 (A, B) 的可控性格拉姆矩阵定义为
[可控性格拉姆矩阵]
如果可控性格拉姆矩阵的秩与系统矩阵的秩相同,则系统可控
如果系统是时不变的,需要注意两点。首先,可达性格拉姆矩阵和可控性格拉姆矩阵简化为同一个方程。因此,对于 LTI 系统,如果我们找到了一个格拉姆矩阵,那么我们自动知道两个格拉姆矩阵。其次,可控性格拉姆矩阵也可以作为以下李雅普诺夫方程的解求得
许多软件包,特别是 MATLAB,都有用于求解李雅普诺夫方程的函数。通过使用最后一个关系,我们也可以使用这些现有函数来求解可控性格拉姆矩阵。
可观测性
[edit | edit source]由于以下原因,系统的状态变量可能无法被测量
- 特定状态变量的位置可能在物理上无法访问(例如电容器或弹簧)。
- 没有合适的仪器可以测量状态变量,或者状态变量可能是以没有测量设备的单位测量的。
- 状态变量是一个派生的“虚拟”变量,没有物理意义。
如果由于上述任何原因无法直接观察事物,则可能需要仅使用系统的输入/输出关系以及从起始时间开始的系统输出历史来计算或**估计**内部状态变量的值。换句话说,我们必须问,仅仅通过观察系统的外部性能(输入和输出),是否可以确定系统内部(内部系统状态)的情况?我们可以对数学可观测性给出以下正式定义
- 可观测性
- 具有初始状态的系统,是**可观测的**,当且仅当可以通过观察时间间隔内的系统输出y(t)来确定初始状态的值。如果无法确定初始状态,则系统为**不可观测的**。
- 完全可观测性
- 如果可以观察到系统的所有可能的初始状态,则称该系统是**完全可观测的**。未能满足此标准的系统被称为**不可观测的**。
- 可检测性
- 如果所有不可观察的状态都渐近衰减到零,则称该系统是**可检测的**。
- 可构造性
- 如果可以根据系统当前和过去的输出和输入来确定系统的当前状态,则称该系统是**可构造的**。如果一个系统是可观测的,那么它也是可构造的。这种关系不具有反向性。
如果系统的零输入响应在所有时间t都为零,则系统状态xi在给定时间ti时是不可观测的。如果一个系统是可观测的,那么唯一产生所有时间都为零输出的状态是零状态。我们可以使用这个概念来定义**状态可观测性**这一术语。
- 状态可观测性
- 如果唯一在t0时不可观测的状态是零状态x=0,则该系统在时间t0时是完全**状态可观测的**,或者说 (A, C) 在t0时是可观测的。
可构造性
[edit | edit source]如果对于每个有限时间t<t1,系统的零输入响应在所有时间t都为零,则状态x在时间t1时是**不可构造的**。
如果唯一在t0时不可构造的状态是x=0,则该系统在时间t1时是完全**状态可构造的**。
如果一个系统在初始时间t0时是可观测的,那么如果它在t1时是可构造的,那么它在某个时间t>t0时也是可构造的。
可观测性矩阵
[edit | edit source]系统的可观测性仅取决于系统状态和系统输出,因此我们可以简化状态方程以消除输入项
矩阵维数
A: p × p
B: p × q
C: r × p
D: r × q
因此,我们可以证明系统的可观测性仅取决于系数矩阵A和C。我们可以精确地说明如何仅使用这两个矩阵来确定一个系统是否可观测。如果我们有**可观测性矩阵**Q
[可观测性矩阵]
我们可以证明,当且仅当Q矩阵的秩为p时,系统是可观测的。请注意,Q矩阵的维数为pr × p。
MATLAB允许使用obsv命令轻松创建可观测性矩阵。要创建可观测性矩阵,只需键入
- Q=obsv(A,C)
其中A和C如上所述。然后,为了确定系统是否可观测,可以使用rank命令来确定它是否具有满秩。
可观测性格拉姆矩阵
[edit | edit source]我们可以将**可观测性格拉姆矩阵**定义为
[可观测性格拉姆矩阵]
当且仅当可观测性格拉姆矩阵的秩等于系统矩阵A的大小p时,系统在时间t0<t<t1时是完全状态可观测的。
如果系统 (A, B, C, D) 是时不变的,我们可以将可观测性格拉姆矩阵构造为Lyapunov方程的解
可构造性格拉姆矩阵
[edit | edit source]我们可以将可控性文法定义为
[可控性文法]
一个系统在初始时间 t0 完全可观测,当且仅当存在有限的 t1 使得
请注意,可控性和可观测性文法非常相似,通常它们可以同时计算,只需在状态转移矩阵中代入不同的值即可。
对偶原理
[edit | edit source]可控性和可观测性概念非常相似。事实上,两者之间存在一个具体的关系。我们可以说一个系统 (A, B) 是可控的,当且仅当系统 (A', C, B', D) 是可观测的。这个事实可以通过将 A' 代入 A,将 B' 代入 C 到可观测性文法中来证明。得到的方程将完全镜像可控性文法的公式,这意味着这两个结果相同。