Main Content

极点配置

闭环极点位置会直接影响上升时间、稳定时间和瞬变振荡等时间响应特性。根轨迹使用补偿器增益来移动闭环极点,以实现 SISO 系统的设计设定。不过,您可以使用状态空间方法来分配闭环极点。这种设计方法称为极点配置,它与根轨迹方法的不同之处在于:

  • 使用极点配置方法,您可以设计动态补偿器。

  • 极点配置方法适用于 MIMO 系统。

极点配置需要系统的状态空间模型(使用 ss 将其他模型形式转换为状态空间)。在连续时间中,这样的模型具有以下形式

x˙=Ax+Buy=Cx+Du

其中 u 是控制输入向量,x 是状态向量,y 是测量向量。

状态反馈增益选择

在状态反馈 u=Kx 下,闭环动态特性由下式给出

x˙=(ABK)x

而闭环极点是 A-BK 的特征值。使用 place 函数,可以计算增益矩阵 K,该矩阵将这些极点分配到复平面中的任何期望位置(前提是 (A,B) 是可控的)。

例如,对于状态矩阵 AB 以及包含闭环极点的期望位置的向量 p

K = place(A,B,p);

计算相应的增益矩阵 K

状态估计器设计

除非测量了完整状态 x,否则无法实现状态反馈律 u=Kx。但是,您可以构造状态估计 ξ,使得定律 u=Kξ 保留类似的极点分配和闭环属性。您可以通过设计以下形式的状态估计器(或观测器)来实现这一点:

ξ˙=Aξ+Bu+L(yCξDu)

估计器极点是 A-LC 的特征值,可以通过适当选择估计器增益矩阵 L 来任意分配,前提是 (C, A) 是可观测的。一般情况下,估计器动态特性应比控制器动态特性(A-BK 的特征值)更快。

使用 place 函数计算 L 矩阵

L = place(A',C',q).'

其中 AC 是状态和输出矩阵,q 是包含观测器的所需闭环极点的向量。

将 x 替换为 u=Kx 中的估计值 ξ 会得到动态输出反馈补偿器

ξ˙=[ALC(BLD)K]ξ+Lyu=Kξ

请注意,由此产生的闭环动态特性为

[x˙e˙]=[ABKBK0ALC][xe],e=xξ

因此,您实际上是通过独立放置 A-BK 和 A-LC 的特征值来分配所有闭环极点。

示例

假设有一个连续时间状态空间模型

sys_pp = ss(A,B,C,D) 

它具有七个输出和四个输入;假设您设计了

  • 一个状态反馈控制器增益 K,它使用被控对象的输入 1、2 和 4 作为控制输入

  • 一个具有增益 L 的状态估计器,它使用被控对象的输出 4、7 和 1 作为传感器

  • 被控对象的输入 3 作为附加的已知输入

然后,您可以使用以下代码连接控制器和估计器并构建动态补偿器:

controls = [1,2,4];
sensors = [4,7,1];
known = [3];
regulator = reg(sys_pp,K,L,sensors,known,controls)

极点配置工具

您可以使用函数来

  • 计算实现期望的闭环极点位置的增益矩阵 K 和 L。

  • 使用这些增益构建状态估计器和动态补偿器。

下表总结了用于极点配置的函数。

函数

描述

estim

基于给定估计器增益构建状态估计器

place

极点配置设计

reg

基于给定状态反馈和估计器增益构建输出反馈补偿器

注意

如果选择不切实际的极点配置,则极点配置可能呈现出病态。尤其应当避免:

  • 在同一位置放置多个极点。

  • 移动可控性或可观测性不强的极点。这通常需要高增益,从而使整个闭环特征结构对扰动非常敏感。

另请参阅

| |