C3 基于状态空间方法的系统控制 Commande des systèmes par approche d’état

PLAN


  • 校正器的作用
  • 基于极点配置的状态反馈控制(尤其是SISO情形)
  • 线性二次型控制(LQ)
  • 积分作用控制
  • 结论

C3.1 校正器的作用 Rôle du correcteur


C3.1.1 对于受控系统的要求 demandées à un système asservi


  • 稳定性 stabilité:稳定一个本质上不稳定的系统,并确保系统具有正确的阻尼。
  • 快速性 rapidité:保证系统的动态行为,提供令人满意的响应时间。
  • 精确性 précision(静态或动态):减少或消除相对于所需参考值的误差。
    一个控制系统确保稳定性、快速性和精确性之间的折中。

稳定性

稳定性取决于演化矩阵的谱,我们在上一章已经讨论。


快速性

对于二阶系统,使用超调量$D$,第一最大值时间$t_m$,响应时间$t_r$等参数衡量快速性。

  • 超调量 overshoot

  • 欠调量 undershoot

  • 响应时间 Temps de réponse

  • 上升时间 Temps de montée

  • 第一个最大值时间 Temps du 1ermaximum


精确性

在稳态下输出和设定值 la consigne 之间没有偏差écart(即使存在扰动perturbation)。

C3.1.2 闭环控制系统的状态


考虑一个线性时不变系统:

假设其系统如下:

其中,$K$称为状态反馈矩阵retour d’état。那么有:$u(t)=-K x(t)+e(t)$,因此系统可以写作:

通过这种控制,我们将矩阵 $A$ 修改为 $A - BK$。状态反馈控制因此影响了系统的动态行为,系统现在依赖于 $A - BK$ 的特征值。状态反馈矩阵 $K$ 可以让我们选择期望的特征值,而新的输入 $e$ 则可以用来控制系统的稳态行为。


一些定义

对于一个闭环控制系统:

开环传递函数Fonction de transfert en boucle ouverte为:

闭环控制函数Fonction de transfert en boucle fermée为:

截止频率Pulsation de coupure 为开环传递函数为$1$是对应的频率:

所有开环传递函数值大于$1$的频率的集合$\left{\omega:\left|T_{B O}(j \omega)\right|>1\right}$称为导带bande passante

C3.2 基于极点配置的状态反馈控制(尤其是SISO情形)Commande retour d’état par placement de pôles (notamment cas SISO)


C3.2.1 极点配置 placement de pôles


继续考虑状态方程:

极点配置法希望通过选择闭环系统矩阵$\mathbf{A}-\mathbf{B K}$的特征值来计算矩阵$\mathbf{ K }$。根据前一章的研究结果,有:

因此,可以通过选择合适的特征值来塑造系统相应特征。

C3.2.2 Wonham定理


Wonham定理:对于任意选择的特征值集合 $\left{\lambda_1, \ldots, \lambda_n\right}$ ,其中每个 $\lambda_i$ 要么是实数,要么是另一个特征值 $\lambda_j$的共轭复数,存在一个矩阵 $\mathbf{K} \in \mathbb{R}$ ,使得矩阵 $\mathbf{A}-\mathbf{B K}$ 的特征值为 $\left{\lambda_1, \ldots, \lambda_n\right}$ ,当且仅当系统完全可控。

如果系统不是完全可控的,可以通过基变换,将其转换为如下形式(连续时间情况下):·

此时,演化矩阵的特征值一定包括$\hat{A}_c$的特征值。

C3.2.3 特征值的选择和状态反馈矩阵K的计算


特征值的选择

闭环系统的特征值选择十分复杂,因为极点位置无法直接得出系统在参数变化时的鲁棒性。这种选择通常依赖于设计者的经验。一般遵循以下规则和经验:

  • 闭环稳定性stabilité en boucle fermée 要求所有特征值的实部为负。
  • 一个负实特征值 $\lambda_i=-\sigma_i\left(\sigma_i>0\right)$ 会在闭环系统的响应中引入一个暂态分量 $e^{-\sigma_i t}$ ,其收敛速度与 $\sigma_i$ 成正比, $\sigma_i$ 越大,收敛越快。

  • 一个复数特征值及其共轭复数 $\lambda_i=-\sigma_i \pm j \omega_i$ 会导致系统出现振荡衰减响应,形式为 $e^{-\sigma_i t} \sin \left(\omega_i t\right)$ 。 $\sigma_i$ 越大,衰减越快, $\omega_i$ 越大,振荡频率越高。阻尼系数由以下关系式给出:
  • 可以定义一个类似于梯形的区域(见图3.4),该区域用于确定合理的特征值位置,确保系统快速性和阻尼:
    • $-\sigma_{\min }$ 确定了最小快速性;
    • $-\sigma_{\max }$ 确定了最大快速性(以限制执行器的工作强度);
    • 一个角度 $\varphi$ 使得 $\cos (\varphi)=\xi$ ,定义了最小的阻尼比。


计算状态反馈矩阵

在选择特征之后,可以通过特征多项式来计算状态反馈矩阵:


使用Matlab计算

最简单的方法是直接通过Matlab的placeacker命令计算。

  • place 命令用于计算状态反馈矩阵 $K$,使得闭环系统的极点位于指定的位置。它通过求解控制系统的极点分配问题,提供精确的极点配置。

语法:

1
K = place(A, B, p)
  • 其中
    • p: 指定的期望闭环极点向量。
    • K: 状态反馈矩阵。

acker 命令基于 Ackermann’s formula(阿克曼公式)来计算状态反馈增益矩阵 K,使系统的闭环极点位于给定的期望值。它用于线性系统的极点配置。

语法:

1
K = acker(A, B, p)

单变量系统

考虑一个单变量系统:$\dot{x}(t)=A x(t)+B u(t)$,其中:

设$u(t)=-K x(t)+e(t)$。$(A,B)$是可控的,所以控制矩阵是满秩的。

伴随矩阵
$A$这种满足主对角线上方的第一条对角线上的元素全为 1,其他元素则为 0,矩阵的最后一行包含了其特征多项式的系数 $p(x)=x^n+a_{n-1} x^{n-1}+\ldots+a_1 x+a_0$ 的矩阵称之为伴随矩阵。

矩阵$A$的特征多项式:

状态反馈矩阵(因为输入是一维的):

因此,有:

其特征多项式为:

在选择特征值之后,有特征多项式

因此有:


Bass-Gura公式

对于多变量系统,首先定义$x=T \tilde{x} \text { , } T=\mathcal{C} \tilde{\mathcal{C}}^{-1}$,将状态方程转化为伴随形式:

有:$\tilde{A}=T^{-1} A T \text { , } \tilde{B}=T^{-1} B$。通过与上述方法相同的思路,伴随形式的反馈矩阵:

原本的反馈矩阵为:


Ackermann公式

对于一个单变量且完全可控的系统,给定系统的控制矩阵,有:

其中:

$\alphai$是特征值多项式$\left(\lambda-\lambda_1\right) \cdots\left(\lambda-\lambda_n\right)=\lambda^n+\alpha_1 \lambda^{n-1}+\cdots+\alpha{n-1} \lambda+\alpha_n$的系数。

CE3.1 直流电机

直流电机


有:

因此有:

即为:

因此,系统状态方程为:


希望设计控制器,使得电机的角位置 $y$ 能够在没有稳态误差的情况下跟踪阶跃指令 $y_c(t)=Y_0 \Gamma(t)$ ,并且具有瞬态响应特性,超调量 $D=20 \%$ ,最大时间 $t_m= 10 ms$ 。

考虑反馈控制:

有系统状态方程变为:

为了使闭环系统的行为与二阶系统一致,特征方程为:

根据要求,使用超调量求得$\xi=0.45$,使用最大响应时间和$\xi=0.45$,求得$\omega_0=350 \mathrm{rad} \cdot \mathrm{~s}^{-1}$。因此可得:

值得注意的是,我们并没有准确的求出极值点,而是利用了二阶系统的一些性质。


接下来,由于$y_c(t)=Y_0$时,系统应该平稳,即:

从而得出:

即可求得$M=k_1$。

CE3.2 倒立摆问题

回忆上一章中多次讨论的倒立摆问题,其状态方程为:

我们已经证明过,经过线性化之后的该系统可控,其控制矩阵满秩。设:


我们曾经讨论过其开环系统特征值:

  • 保持负特征值不变为 $-\sqrt{\frac{(m+M) g}{M l}}$ ;
  • 将正特征值变为其相反数 $-\sqrt{\frac{(m+M) g}{M l}}$;
  • 将另外两个特征值选为模为 $\frac{1}{2} \sqrt{\frac{(m+M) g}{M l}}$ 的一对复数,并使其阻尼系数为 $\xi=0.7$ ,即特征值为 $\frac{1}{2} \sqrt{\frac{(m+M) g}{M l}}(-1 \pm j)$ 。

考虑$A-BK$:

其特征值多项式:

同时,根据我们选择的特征值计算特征多项式:

可解得:


C3.2.4 在输入端添加增益以保证稳态


增加增益$k_c$后,系统变为:

在稳态时,应有$y(t)=y_c(t)$,$\dot{\mathbf{x}}(t) = 0$。因此有:

C3.2.5 增加与扰动有关的增益以保证稳态


此时控制律:

闭环状态:

此时,两个增益满足:

3.2.6 部分可控系统的闭环控制


当系统部分可控时,也可以控制系统的可控模态。基于卡尔曼标准形式,演化矩阵和输入矩阵分别为:

考虑但输入系统,此时系统的闭环控制形式 la commande par retour d'état 为:

其中,$K_1 \in \mathbb{R}^q \text { ,} K_2 \in \mathbb{R}^{n-q}$。演化方程可以写作:

此时,闭环系统的特征值可由一下公式计算:

这一表达式表明,只有 $q$ 个特征值可以通过设计反馈矩阵 $K_1$ 任意调整,而状态向量的 $x_2$ 部分 (维度为 $n-q$ ) 的特征值则保持不变,闭环控制对其无影响。

3.2.7 总结


  • 状态反馈与极点配置控制律Loi par retour d’état et par placement de pôles:
  • 设计步骤 (SISO 系统情况下) :
    1. 假设:
      • 系统是可控的(或至少是可稳定化的)。
      • 所有状态都是可测量的。
      • 假设扰动 $d(t)$ 是可测量的。
    2. 选择闭环系统的期望特征值:
      • 根据系统性能要求,选择合适的闭环特征值。
    3. 计算状态反馈增益 $K$ :
      • 通过极点配置,计算状态反馈增益矩阵 $K$ 以获得期望的闭环特征值。
    4. 确定增益 $k_c$ 和 $k_d$ :
      • 计算增益 $k_c$ 和 $k_d$ 以消除稳态埕差,从而在恒定指令下跟踪输出,并抵消恒定扰动的影响。

CE3.3 电磁悬浮系统

电磁悬浮系统的目标是使用电磁力 $F_m$ 平衡重力 $P$ ,并保持物体在某个平衡位置 $z_e$ 。该系统可通过控制输入电压 $U(t)$ 作用于电感 $L$ 、电阻 $R$ 和电流 $I(t)$ ,从而调节系统的动态行为。



首先对系统进行建模:

  • 电路方程:基尔霍夫定律

  • 力学方程:牛顿第二定律

其中, $z(t)$ 是物体的位置, $I(t)$ 是电流, $x_0$ 是固定距离, $g$ 是重力加速度, $c$ 是电磁力的比例常数。


在平衡点$\bar{z}=0$周围线性化

有$\bar{z}=0$时,系统平衡:

可得平衡点的电压电流:

在平衡点附近,电压和电流可以表示为:

进而带入状态方程,同时认为$z(t)\rightarrow \bar{z} = 0$,得到”

设系统的状态向量:

带入数值:

即可得到线性化之后的系统状态方程:


分析开环系统,首先计算开环系统的特征值,得到:

可见系统并不稳定。

然后研究系统可控性,其控制矩阵:

满秩,所以可控。


闭环控制方程:

从而得到闭环状态方程:


我们希望实现:

  • $D<10 \% \rightarrow \xi=0,6$
  • $t_m \approx 0,03 \mathrm{~s} \rightarrow \omega_0=130$

因此,我们保留$-1000$这个特征值,并根据$\left{\begin{array}{l}\xi=0,6 \\omega_0=130\end{array}\right.$写出特征多项式:

从而计算得到$k_1=1,560 \quad k_2=9,375.10^3 \quad k_3=87,25$。


最后,计算$k_c$:

C3.3 线性二次型控制 Commande Linéaire Quadratique


C3.3.1 连续时间系统的一般结果


对于一个连续时间系统:

并且具有初始条件 $x(0)$ 。我们寻找一个控制 $u(t)$ ,使得状态 $x$ 回到 $0$,同时最小化准则:

其中 $Q=Q^{\top} \geq 0$ 和 $R=R^{\top}>0$ 是对称半正定和正定矩阵semi-dé nie et dé nie positives,预先给定。这个表达式可以定性地解释为,将项 $x^{\top} Q x$ 归因于状态能量 l'énergie de l'état,而将项 $u^{\top} R u$ 归因于控制能量 l'énergie de la commande

这种问题被称为线性二次型调节器综合问题problème de la synthèse d'un régulateur LQ 。我们使用李雅普诺夫方程 équations de Lyapunov来解决。


矩阵 $Q$$R$ 是 LQ 控制的调节参数。
考虑对角矩阵 $Q$$R$:

  • 如果增加 $q_i$ ,闭环系统会变得更快,控制量会增大。
  • 如果增加 $r_i$ ,闭环系统会变得更慢,控制量会减小。
  • 注意,关键是 $\lceil Q / R\rfloor$ 的比率。如果同时将 $\mathbf{Q}$ 和 $\mathbf{R}$ 乘以相同的系数,最优控制不变。

这一点可以在之后的例子中看到。


首先假设$Q=H^{\top} H$,$H$是一个满秩矩阵。

正定矩阵

  • 一个对称矩阵 $\mathbf{P}=\mathbf{P}^T$ 是正定矩阵,当且仅当对任意非零向量 $\mathbf{x} \in \mathbb{R}^n \backslash{0}$ ,都有 $\mathbf{x}^T \mathbf{P} \mathbf{x}>$ 0 。
  • 当且仅当矩阵的所有特征值严格为正时,矩阵是正定的。
  • 不通过计算特征值,也可以通过判定矩阵的所有顺序主子式$\left(\mathbf{P}_{i, j}\right), 1 \leq i, j \leq p \text {, pour } p \in{1, . . n}$的行列式为正,来证明矩阵是正定的。
  • 半正定矩阵允许特征值为0。

对于正定矩阵,存在唯一的下三角矩阵 $L$ ,其主对角线上的元素全是正的,使得 $M=L L^$ 。其中 $L^$ 是 $L$ 的共轭转置(或转置,在实数域内)。这一分解被称为科列斯基分解Cholesky decomposition


定理

如果满足条件 $(A, B)$ 可稳定和 $(A, H)$ 可检测,则线性二次型调节器问题在无限时间下的解为:

其中 $P=P^{\top} \geq 0$ 是黎卡提Riccati方程的唯一半正定解:

最优准则的值为:

闭环系统是渐近稳定的。如果进一步 $(A, H)$ 是可观的,则 $P$ 是正定的。


Matlab
[K, S, E] = lqr(A, B, Q, R) ,用于设计线性二次型调节器的函数,其中:

  • A: 演化矩阵
  • B: 控制矩阵
  • Q: 状态加权矩阵
  • R: 控制输入加权矩阵
  • K: 最优反馈增益矩阵
  • S: Riccati方程的解
  • E: 闭环系统的极点

X = icare(A, B, Q, R) ,用于求解连续时间代数Riccati方程,其中:

  • A: 演化矩阵
  • B: 控制矩阵
  • Q: 状态加权矩阵
  • R: 控制输入加权矩阵
  • X: Riccati方程的正定对称解

CE3.4 简单的开环系统的例子


简单的开环系统的例子

对于开环系统:

设最小化准则:

黎卡提方程:

其解为:

只取正解,从而得:

原微分方程转化为:

从而求得解:

C3.3.2 有噪音的情况的结果


在有噪音的情况,系统可以写作:

其中$v(t)$代表白噪音:

此时,我们希望以下方程能够最小化:

满足这些准则的最优控制条件与无噪声的确定性情况下相同,解也是一样的。


定理

对于如上描述的系统和最小化准则,其解等同于无限时间域线性二次调节器问题的解,最优准则的值为:

C3.3.3 基于输出的准则


对于系统:

最小化准则也可以写作:

其中,$Q=C^T \tilde{Q} C$。

CE3.5 两个积分器的例子


两个积分器的例子

系统的状态:

最小化准则为:

由于状态是一个二维的量,不太方便计算,使用基于输出的准则。

如此进一步的解法与前一个例子完全相同。

CE3.6 飞机横向运动的伺服控制


现在我们将综合考虑一个飞机的横向运动的伺服控制问题。

飞机的横向运动通过 4 个状态变量描述 : 侧滑角angle de dérage $\beta$ 、滚转速度vitesse de roulis $p$ 、偏航速度angle de lacet$r$ 和滚转角angle de roulis $\phi$ 。状态向量为:

控制量是副翼偏转角l'angle de braquage des ailerons $\delta_a$ 和方向舵偏转角l'angle de braquage de la dérive $\delta_r$ ,即:

我们假设关注的输出是侧滑角和滚转角:

对于战斗机,横向飞行线性化模型在特定飞行状态下的状态表示为:

该模型是一个具有两个输入、两个输出和 4 个状态变量的MIMO系统。系统的开环特征值为:

  • $-0.7655:$ 一个真实模式,称为纯滚模式,具有较快且稳定的动态;
  • $-0.0062$ : 一个真实模式,称为螺旋模式,动态缓慢且稳定(此模式可能在某些飞行状态下不稳定) ;
  • $-0.4472 \pm i 2.0735$ :称为荷兰滚模式的复数模式,表现为稳定的振荡动态,阻尼系数为 $\xi=0.21$ 。

进行Kalman矩阵分析:

其控制矩阵:

其观测矩阵:

两个矩阵的秩都为$4$,因此系统完全可控,完全可观。


现在,我们希望通过控制副翼和方向舵的偏转角,使角度 $\beta$ 和 $\phi$ 达到设定值,并在初始条件下实现约$3$秒的响应时间,且控制量的幅度不超过初始条件的 $2$ 倍。

注意,角度变量 $\beta$ 和 $\phi$ 以及控制量 $\delta_a$ 和 $\delta_r$ 的单位相同,且大小相当。

为了简化合成问题,我们可以使用对角权重矩阵 $Q=\operatorname{diag}\left(q_1, q_2, q_3, q_4\right)$ 和 $R=\operatorname{diag}\left(r_1, r_2\right)$ 。准则为:

由于我们调节的变量是 $\beta$ 和 $\phi$ ,为了简化合成,首先可以设 $q_2=q_3=0$ 。经过第一次迭代,我们选择了以下两个调节方案:

在初始条件$\beta=0 , \phi=1$与$\beta=0 , \phi=1$两种情况下,两个调节方案的响应结果如图所示。

可以清楚地看到,第二种调节方案的响应速度更快,但代价是控制量略微增大。对于这两种调节方案,响应时间和控制量的最大幅度都满足设计规范的要求。

C3.3.4 使x趋近于x_c而不是0,以及可测量扰动及其抑制的情况的进一步讨论 Cas des perturbations mesurables et leurs rejet


$x → x_c$的情况

首先讨论如何将状态$x$带回到某一状态$x_c$,而不是在此之前我们讨论的带回$0$。

系统:

在稳态时,我们希望$x\rightarrow x_c$,因此有:

令两组方程相减,得到:

再定义:$\tilde{x}(t)=x(t)-x_c, \tilde{u}(t)=u(t)-u_c, \tilde{y}(t)=y(t)-y_c$,有新的状态方程:

显然将 $\tilde{x}$ 带回零等同于将 $x$ 带到 $x_c$ 。因此,将 $x$ 带回 $x_c$ 的控制问题就是将 $\tilde{x}$ 带回零的问题。可以如前所述,通过二次型优化问题来处理该问题,最小化为:

状态反馈矩阵 $K$ 由Riccati方程给出,进行变量替换,得到:

为了实现这种闭环控制,需要确定$y_{\infty}=y_c$时的$\left(u_c, x_c\right)$。为了显式呈现设定值,将上述结果改写为:

其中$e$显然是个常数。写出闭环方程:

与之前的步骤相同,在稳态时应有:

解出:


恒定扰动的情况

在得到上述控制结构之后,可以将其应用在恒定扰动情况。考虑恒定扰动的系统:

基于完全相同的思路,可以得到:

解得:

将其简化为:

C3.3.5 引入积分作用的LQ控制 Commande LQ avec action intégrale


另一种在稳态下消除扰动影响的解决方案是在控制律的综合中引入积分作用。

继续考虑状态:

这里我们不再假设噪音恒定。预定义附加变量$q(t)$,表示控制误差的积分:

定义增广状态向量$x_a(t)=\left(x^T(t) \quad q^T(t)\right)^T$,原本的状态可以表示为:

引入偏差变量:

增广方程转换为:

问题重新转变为调节偏差变量$y^{\prime}$到$0$,这可以通过闭环控制实现:


可控性

在应用LQ控制之前,需要验证增广后的状态是否依然可控,即控制矩阵的秩是否为$n+p$,控制矩阵:

为了使$C$的秩为$n+p$,需要满足后两个矩阵的秩大于等于$n+p$。为此,需要满足:

  • 秩 $\left(\begin{array}{ll}A & B \ C & 0\end{array}\right)=n+p$
  • $(A, B)$ 是可控的(这可确保出现在第二个矩阵的第一行上的矩阵构成的第二个矩阵的子矩阵的秩为$n$)
  • $m\ge p$,这与前一个条件相结合,可确保第二个矩阵的秩为 $n + m ≥ n + p$。

注意,$m$是$u(t)$的维度,$p$是$y(t)$的维度,$n$是状态空间的维度。


假设状态可控,则可以应用LQ控制方法:


可检测性

为了应用LQ控制方法,需要保证$(A_a,B_a)$可稳定且$(A_a,H_a)$可检测,其中$Q_a=H_a^{\top} H_a$,这在前一章已经讨论过。考虑模型:

其中$H_1^T H_1=Q_1 , H_2^T H_2=Q_2$,为了保证可检测,要求:

  • $(H_1,A)$可检测
  • $rang(H_2) = p$

满足可检测性和可控性之后,回到原始变量,闭环控制方程写做:

应用到原始系统得到:

由于$e$和$d$都是常数,状态向量最终趋于常数,因此$\dot q(t)\rightarrow 0$,对比后两个方程,又有:

无论$e$和$d$的取值。

CE3.7 小车上的倒立摆


考虑倒立摆问题受到一定的噪音干扰,建立如下系统:

其中:

观察LQ控制的条件:

  • $rang\left(\begin{array}{ll}
    A & 0 \
    C & 0
    \end{array}\right) = n+p = 5$
  • $(A,B)$可控
  • $m = 1 = p$
  • $\left(H_a, A_a\right)$可检测

考虑权重矩阵:

得到: