跳转至

专题 3.6:辨识、鲁棒与频域——最优控制的三块拼图

系统辨识、鲁棒控制与频域多变量分析(三合一大专题) 博士前数学路线图 · 第三批「最优控制与 MPC」子专题六 核心档位 3(博士入学)+ 进阶档位 4(博士毕业+),建议时长 15–20 h(档3)+ 12–18 h(档4) 前置:3.1–3.5(特别是 3.5 LQR/LQG/Riccati/\(H_\infty\) 概览),第零批线代/实分析/测度/泛函


前置自测

📋 前置自测(答不出 ≥ 2 题 → 先回 3.5 复习 LQR/LQG)

  1. 写出连续时间 LQR 的 Riccati 方程和最优增益 \(K\) 的表达式。\(P\) 矩阵的物理意义是什么?
  2. LQG 分离原理的含义是什么?为什么 Doyle 1978 的反例说明 LQG 鲁棒性可以任意差?
  3. 什么是传递函数的 \(H_\infty\) 范数?它的频域几何含义是什么?
  4. 写出离散 LTI 状态空间 \((A,B,C,D)\) 的传递函数 \(G(z)\) 表达式。什么条件保证系统 BIBO 稳定?
  5. SVD 分解 \(A=U\Sigma V^\top\) 中,\(U\)\(\Sigma\)\(V\) 分别代表什么几何操作?

本章目标

学完本章后,你将能够:

  1. 从数据到模型:掌握 ARX/ARMAX/OE/BJ 四大模型族的完整辨识方法,能独立完成从实验设计到模型验证的全流程。
  2. 鲁棒分析与综合:理解小增益定理、结构奇异值 \(\mu\)、IQC 框架,能为带不确定性的机器人系统设计 \(H_\infty\) 控制器。
  3. 频域多变量诊断:用奇异值 Bode 图、Nyquist 稳定性判据、灵敏度函数分析 MIMO 闭环性能。
  4. 连接理论与实践:理解 domain randomization 的鲁棒控制本质、DeePC 的数据驱动 MPC 机制、水床效应对机器人带宽的硬限制。

知识树

辨识 + 鲁棒 + 频域
├─ Part A:系统辨识
│   ├─ §1 基本范式(五步法、四轴分类)⭐⭐
│   ├─ §2 最小二乘完整推导链 ⭐⭐
│   │   ├─ 批量 LS(ARX 回归)
│   │   ├─ 递推 LS(Sherman-Morrison-Woodbury)
│   │   ├─ 遗忘因子(时变系统跟踪)
│   │   └─ 指数加权与变遗忘因子
│   ├─ §3 PEM 与四大模型族 ⭐⭐
│   ├─ §4 子空间辨识(N4SID/MOESP/CVA)⭐⭐⭐
│   ├─ §5 持续激励条件 ⭐⭐
│   ├─ §6 Willems 基本引理与 DeePC ⭐⭐⭐
│   └─ §7 System Level Synthesis ⭐⭐⭐⭐
├─ Part B:鲁棒控制
│   ├─ §8 H∞ 博弈解释与 Riccati 求解 ⭐⭐⭐
│   ├─ §9 小增益定理 ⭐⭐
│   ├─ §10 结构奇异值 μ 与 D-K 迭代 ⭐⭐⭐
│   ├─ §11 IQC 框架 ⭐⭐⭐⭐
│   └─ §12 鲁棒 MDP 与 domain randomization ⭐⭐⭐
├─ Part C:频域多变量分析
│   ├─ §13 传递函数与 Bode 图(SISO 基础)⭐⭐
│   ├─ §14 Nyquist 稳定性判据完整推导 ⭐⭐
│   ├─ §15 MIMO 奇异值与方向性 ⭐⭐⭐
│   ├─ §16 灵敏度、水床效应与基本限制 ⭐⭐⭐
│   ├─ §17 H∞ 混合灵敏度与 DGKF ⭐⭐⭐
│   └─ §18 广义 Nyquist 与 Nichols 图 ⭐⭐⭐
└─ Part D:机器人频域辨识应用
    ├─ §19 关节柔性辨识 ⭐⭐
    └─ §20 共振频率测量与 notch 滤波 ⭐⭐

0. 为什么"辨识 + 鲁棒 + 频域"是最优控制理论的三块必要拼图 ⭐⭐

在 3.5 中我们以 LQR/LQG/Riccati 为中心建立了**模型已知、噪声已知**的最优控制闭环。这条路径足够漂亮,但在真实机器人上有**三个致命缺口**:

缺口一:模型从哪来? 真实机器人从不给你 \((A,B,C,D)\)——必须**从数据辨识出来**,而辨识的偏差会直接破坏 LQR 的最优性。一个典型的四足机器人有 18 个关节,每个关节的摩擦模型、减速比效率、绕组电阻都是未知的。即使你用 CAD 模型得到了惯性参数,实际装配误差也可以达到 10-20%。

缺口二:LQG 的鲁棒性裕度可以任意小。 Doyle 1978 的著名反例证明:即使 LQG 控制器在名义模型上是最优的,一个任意小的建模误差就足以让闭环不稳定。这不是 LQG 的 bug,而是它的**结构性缺陷**——\(H_2\) 最优性不蕴含鲁棒性。回顾 3.5:LQR 状态反馈有无穷增益裕度和 60 度相位裕度(Kalman 1964),但一旦加上观测器变成 LQG,这些保证**全部丧失**。

缺口三:SISO 工具在 MIMO 下完全失效。 现代机器人是多输入多输出耦合系统(四足 12 DOF、机械臂 7 DOF),SISO 的 Bode/Nyquist 图无法捕捉方向性——一个在 pitch 方向稳定性极好的系统,可能在 roll 方向几乎失稳。必须用**频域多变量工具**度量耦合、病态方向、灵敏度。

本质洞察:真正可部署的最优控制,必须是**辨识 → 鲁棒综合 → 频域验证**的完整闭环。本专题把这三块拼图按统一数学语言(Hankel 矩阵、\(H_\infty\) 范数、结构奇异值 \(\mu\)、闭环响应 \(\{\Phi_x,\Phi_u\}\))熔接在一起,揭示它们实际上是同一枚硬币的三面。

跨领域类比:想象你要训练一个机器人厨师。辨识 = 品尝食材(了解原材料特性);鲁棒综合 = 即使食材质量波动也能做出合格菜品(对不确定性的免疫力);频域分析 = 用味觉分析菜品在酸甜苦辣各维度上的平衡(多通道诊断工具)。三者缺一不可:只品尝不烹饪没有意义,只烹饪不品尝等于盲做,只诊断不改进等于纸上谈兵。


一、核心章节(档位 3)

Part A · 系统辨识

§3.6.1 系统辨识的基本范式 ⭐⭐

动机

你面前是一台新的机械臂。你知道它有 7 个关节,每个关节有电机、减速器、编码器。你想设计一个高性能的力矩控制器。问题来了:电机的转矩常数 \(k_t\) 是多少?减速器的摩擦模型是 Coulomb 还是 Stribeck?关节柔性的弹簧刚度 \(k_s\) 是多少?这些参数 CAD 图纸上没有,数据手册上的值和实际值差 20%——你必须**从实验数据中辨识出来**。

如果不做辨识会怎样

直接用 CAD 参数设计控制器: - 控制器在仿真中完美工作(因为仿真用的就是 CAD 参数) - 部署到真实机器人:关节震荡、跟踪误差大、甚至不稳定 - 根本原因:名义模型与真实系统之间的**参数偏差**超过了控制器的鲁棒裕度

这正是 sim-to-real gap 的一个核心来源。辨识不是可选步骤,是**必要步骤**。

方法论框架

系统辨识把真实装置的"输入—输出数据"翻译为**可用于控制的数学模型**,其方法论沿四个正交轴划分:

分类轴 选项 A 选项 B 选择依据
参数化 参数化模型 \(\mathcal{M}(\theta)\) 非参数化(脉冲/频率响应) 是否有先验物理结构
时域(拟合 \(y(t)\) 频域(拟合 \(G(j\omega)\) 数据形式和噪声特性
回路 开环(\(u\) 独立于 \(y\) 闭环(\(u\) 由控制器产生) 系统是否在运行中
知识 黑箱(纯数据驱动) 灰箱(保留已知物理结构) 物理先验的可靠程度

Ljung 的"experiment design → data collection → model structure selection → parameter estimation → model validation"五步法是业界标准工作流:

  1. 实验设计:选择激励信号使数据"信息充分"(后面 §3.6.4 的持续激励条件)
  2. 数据采集:采样率、抗混叠滤波、传感器校准
  3. 模型结构选择:ARX? OE? 几阶?灰箱还是黑箱?
  4. 参数估计:最小二乘、极大似然、PEM
  5. 模型验证:残差分析、交叉验证、频率响应对比

值得强调的是 Ljung 在书中反复指出的**"模型是为目的服务"原则:**仿真、预测与控制三种目的要求不同的辨识准则。最小化一步预测误差的模型未必是最好的控制设计模型——这正是 Gevers 的"identification for control"思想的出发点。

反事实推理:如果我们用"一步预测最优"的模型去做 MPC 控制设计,会怎样?一步预测最优意味着模型擅长 \(\hat{y}(t+1|t)\),但 MPC 需要的是多步预测 \(\hat{y}(t+N|t)\)——而多步预测的误差会累积。一个在 one-step 上方差极小但在 multi-step 上偏差大的模型,不如一个 one-step 方差略大但 multi-step 偏差小的模型适合 MPC。这就是 Gevers 思想的核心:辨识准则应该与控制目标对齐


§3.6.2 最小二乘辨识:从批量到递推到遗忘因子 ⭐⭐

动机

最小二乘是系统辨识的**基石**——几乎所有高级辨识方法都是它的某种推广。在深入 PEM 之前,我们必须完整理解最基本的辨识方法,以及它的关键改进。这不仅是辨识理论的需要,更是理解 Kalman 滤波(3.4)与自适应控制之间深刻联系的必经之路。

批量最小二乘(Batch LS)完整推导

考虑 ARX 模型:

\[y(t) + a_1 y(t-1) + \cdots + a_n y(t-n) = b_1 u(t-1) + \cdots + b_m u(t-m) + e(t)\]

这个方程的含义是:当前输出 \(y(t)\) 由过去的输出、过去的输入、以及当前的噪声 \(e(t)\) 共同决定。我们的目标是从 \(\{u(t), y(t)\}_{t=1}^N\) 的数据中估计未知参数 \((a_1, \ldots, a_n, b_1, \ldots, b_m)\)

Step 1:定义回归向量和参数向量。

将模型改写为线性回归形式。定义:

\[\varphi(t) = \begin{bmatrix} -y(t-1) \\ \vdots \\ -y(t-n) \\ u(t-1) \\ \vdots \\ u(t-m) \end{bmatrix} \in \mathbb{R}^{n+m}, \quad \theta = \begin{bmatrix} a_1 \\ \vdots \\ a_n \\ b_1 \\ \vdots \\ b_m \end{bmatrix} \in \mathbb{R}^{n+m}\]

则模型变为:\(y(t) = \varphi(t)^\top \theta + e(t)\)

为什么这一步重要? 它把一个动态系统辨识问题转化为了静态的线性回归问题——前提是 \(\varphi(t)\) 中只包含已知量(过去的 \(y\)\(u\) 都已观测到)。这是 ARX 模型的核心优势:回归向量完全由已知数据组成

Step 2:堆叠数据形成矩阵方程。

\(N\) 个数据点堆叠:

\[Y = \begin{bmatrix} y(1) \\ y(2) \\ \vdots \\ y(N) \end{bmatrix}, \quad \Phi = \begin{bmatrix} \varphi(1)^\top \\ \varphi(2)^\top \\ \vdots \\ \varphi(N)^\top \end{bmatrix}, \quad E = \begin{bmatrix} e(1) \\ \vdots \\ e(N) \end{bmatrix}\]

得到:\(Y = \Phi \theta + E\)

这是一个经典的**超定线性方程组**(\(N \gg n+m\)),一般无精确解。

Step 3:定义并最小化损失函数。

\[V(\theta) = \frac{1}{N} \|Y - \Phi\theta\|^2 = \frac{1}{N} (Y - \Phi\theta)^\top (Y - \Phi\theta)\]

展开并对 \(\theta\) 求导:

\[\frac{\partial V}{\partial \theta} = \frac{2}{N} \Phi^\top (\Phi\theta - Y) = 0\]

解出:

\[\boxed{\hat{\theta}_N = (\Phi^\top \Phi)^{-1} \Phi^\top Y}\]

等价形式(以样本平均表示):

\[\hat{\theta}_N = \left[\frac{1}{N}\sum_{t=1}^N \varphi(t)\varphi(t)^\top\right]^{-1} \left[\frac{1}{N}\sum_{t=1}^N \varphi(t)y(t)\right]\]

Step 4:存在唯一解的条件。

\(\hat{\theta}_N\) 存在且唯一当且仅当 \(\Phi^\top\Phi\) 非奇异,即回归矩阵 \(\Phi\) 列满秩。物理含义:输入信号必须"足够丰富"——如果只用恒定输入,则所有 \(\varphi(t)\) 方向相同,\(\Phi\) 的秩为 1,无法分辨 \(n+m\) 个参数。这正是后面 §3.6.5 **持续激励条件**的矩阵表述。

跨领域类比\(\Phi^\top\Phi\) 的可逆性类比于拍 CT 需要从多个角度照射。如果只从正面拍一张 X 光片,你无法重建三维结构(秩为 1)。从足够多不同角度照射(满秩),才能唯一重建——这就是"持续激励"的几何本质。

统计性质(假设 \(e(t)\) 是零均值、方差 \(\sigma^2\) 的 i.i.d. 白噪声):

  • 无偏性\(\mathbb{E}[\hat{\theta}_N] = \theta_0\)(真值),因为 \(\hat{\theta}_N = \theta_0 + (\Phi^\top\Phi)^{-1}\Phi^\top E\),而 \(\mathbb{E}[E]=0\)
  • 协方差\(\mathrm{Cov}(\hat{\theta}_N) = \sigma^2 (\Phi^\top\Phi)^{-1}\)
  • 一致性:当 \(N\to\infty\) 且 PE 条件成立时,\(\hat{\theta}_N \to \theta_0\) a.s.
  • 渐近正态性\(\sqrt{N}(\hat{\theta}_N - \theta_0) \xrightarrow{d} \mathcal{N}(0, \sigma^2 R_\varphi^{-1})\)\(R_\varphi = \lim_{N\to\infty} \frac{1}{N}\Phi^\top\Phi\)

本质洞察:批量最小二乘的解 \(\hat{\theta}_N = (\Phi^\top\Phi)^{-1}\Phi^\top Y\) 本质上就是将 \(Y\) 正交投影到 \(\Phi\) 的列空间。估计误差 \(\hat{\theta}_N - \theta_0 = (\Phi^\top\Phi)^{-1}\Phi^\top E\) 完全由噪声 \(E\) 在列空间方向上的分量决定。数据越"丰富"(\(\Phi^\top\Phi\) 的最小特征值越大),投影越"稳定",估计越精确。

递推最小二乘(RLS)完整推导

动机:在线辨识中,数据逐点到达。每来一个新数据点就重新计算 \((\Phi^\top\Phi)^{-1}\) 的计算复杂度为 \(O(n^3)\)——对于实时机器人控制(1kHz 控制循环),这是不可接受的。我们需要一种**增量更新**算法,每步只需 \(O(n^2)\)

推导过程

定义 \(P(t) = \left[\sum_{\tau=1}^t \varphi(\tau)\varphi(\tau)^\top\right]^{-1}\),即"逆相关矩阵"。

\(t\) 时刻,我们有:

\[P(t)^{-1} = P(t-1)^{-1} + \varphi(t)\varphi(t)^\top\]

这是一个秩-1 更新。应用 Sherman-Morrison-Woodbury 公式(矩阵求逆引理):

\[(A + uv^\top)^{-1} = A^{-1} - \frac{A^{-1}uv^\top A^{-1}}{1 + v^\top A^{-1}u}\]

\(A = P(t-1)^{-1}\)\(u = v = \varphi(t)\),得到 \(P(t)\) 的增量更新:

\[\boxed{P(t) = P(t-1) - \frac{P(t-1)\varphi(t)\varphi(t)^\top P(t-1)}{1 + \varphi(t)^\top P(t-1)\varphi(t)}}\]

参数估计的更新:

\[\hat{\theta}(t) = P(t)\left[\sum_{\tau=1}^t \varphi(\tau)y(\tau)\right] = P(t)\left[P(t-1)^{-1}\hat{\theta}(t-1) + \varphi(t)y(t)\right]\]

经过代数化简(利用 \(P(t)P(t-1)^{-1} = I - K(t)\varphi(t)^\top\) 其中 \(K(t) = P(t)\varphi(t)\)):

\[\boxed{\hat{\theta}(t) = \hat{\theta}(t-1) + K(t)\left[y(t) - \varphi(t)^\top\hat{\theta}(t-1)\right]}\]

其中 **Kalman 增益**为:

\[K(t) = \frac{P(t-1)\varphi(t)}{1 + \varphi(t)^\top P(t-1)\varphi(t)}\]

物理解释

  • \(\varepsilon(t) = y(t) - \varphi(t)^\top\hat{\theta}(t-1)\) 是**预测误差**(新数据与旧模型的偏差)
  • \(K(t)\) 是**修正方向和幅度**——它决定"新数据对估计的影响有多大"
  • \(P(t)\) 是**参数估计的协方差矩阵**(在白噪声假设下)——它衡量"我们对参数还有多不确定"

RLS 与 Kalman 滤波的深刻等价

将参数估计问题写为状态空间形式: - 状态方程:\(\theta(t+1) = \theta(t)\)(参数不变 = 零过程噪声) - 观测方程:\(y(t) = \varphi(t)^\top\theta(t) + e(t)\)

这正是一个线性观测系统,状态是 \(\theta\)。对此系统应用 Kalman 滤波,得到的就是 RLS!这揭示了一个深刻联系:

本质洞察:RLS 不是一种"与 Kalman 滤波无关的辨识算法"——它**就是** Kalman 滤波器应用于参数估计问题的特例。LQR 和 Kalman 的对偶性在辨识中的体现就是:最优控制(LQR)对偶于最优估计(Kalman)对偶于最优辨识(RLS)

遗忘因子(Forgetting Factor)完整推导

动机:对时变系统,旧数据应逐渐被"遗忘"。为什么?

考虑一个四足机器人在行走过程中拾起了一个重物。在 \(t_0\) 时刻之前,关节的等效惯性参数是 \(\theta_{\text{old}}\);之后变为 \(\theta_{\text{new}}\)。如果 RLS 不遗忘旧数据,那么 \(t_0\) 之前积累的大量数据会"压制"新数据的贡献——估计值会缓慢地从 \(\theta_{\text{old}}\)\(\theta_{\text{new}}\) 移动,但可能永远无法到达,因为旧数据的"投票权"太大了。

加权损失函数

\[V(\theta) = \sum_{t=1}^N \lambda^{N-t} \|y(t) - \varphi(t)^\top\theta\|^2\]

其中 \(\lambda \in (0,1)\) 为遗忘因子。注意 \(\lambda^{N-t}\)\(t=N\)(最新数据)权重为 \(\lambda^0=1\)\(t=N-k\)\(k\) 步前的数据)权重为 \(\lambda^k\)

遗忘因子的物理含义

  • \(\lambda = 0.99\):100 步前的数据权重衰减到 \(0.99^{100} \approx 0.37\)(约 \(1/e\)),等效"记忆窗口"约 \(1/(1-\lambda) = 100\)
  • \(\lambda = 0.95\):等效窗口约 20 步——跟踪快但噪声大
  • \(\lambda = 0.999\):等效窗口约 1000 步——平滑但跟踪慢
  • \(\lambda = 1\):退化为标准 RLS(永不遗忘)

带遗忘因子的 RLS 更新

\[P(t) = \frac{1}{\lambda}\left[P(t-1) - \frac{P(t-1)\varphi(t)\varphi(t)^\top P(t-1)}{\lambda + \varphi(t)^\top P(t-1)\varphi(t)}\right]\]
\[\hat{\theta}(t) = \hat{\theta}(t-1) + K(t)\left[y(t) - \varphi(t)^\top\hat{\theta}(t-1)\right]\]
\[K(t) = \frac{P(t-1)\varphi(t)}{\lambda + \varphi(t)^\top P(t-1)\varphi(t)}\]

关键区别:\(P(t)\) 更新中分母由 \(1\) 变为 \(\lambda\),前面乘以 \(1/\lambda > 1\)——这使得 \(P(t)\) 不会单调递减到零,而是保持一定大小,从而**保持对新数据的敏感性**。

反事实推理:如果不用遗忘因子会怎样?当系统参数突然变化(如机器人拾起重物),无遗忘的 RLS 中 \(P(t) \to 0\)("已学够了"),增益 \(K(t) \approx P(t)\varphi(t) \to 0\),新数据几乎无法修正旧估计——系统"僵化"了。遗忘因子通过让 \(P(t)\) 保持一定大小来防止这一情况,代价是持续的估计方差。这是**偏差-方差权衡**在辨识中的直接体现。

指数加权与变遗忘因子 ⭐⭐⭐

固定遗忘因子的局限\(\lambda\) 太小 → 参数变化时跟踪快但稳态方差大;\(\lambda\) 太大 → 稳态方差小但跟踪慢。有没有办法在"参数变化时加快遗忘,参数稳定时减缓遗忘"?

变遗忘因子(Variable Forgetting Factor, VFF)

核心思想:用预测误差的大小来调节 \(\lambda(t)\)。当 \(|\varepsilon(t)|\) 大时(暗示参数可能在变化),让 \(\lambda(t)\) 小(加速遗忘);当 \(|\varepsilon(t)|\) 小时,让 \(\lambda(t)\) 接近 1(减缓遗忘)。

一种经典实现(Fortescue-Kershenbaum-Ydstie 1981):

\[\lambda(t) = 1 - \frac{\varepsilon(t)^2 \cdot \varphi(t)^\top P(t-1)\varphi(t)}{c + \varphi(t)^\top P(t-1)\varphi(t)}\]

其中 \(c > 0\) 是设计参数,控制遗忘因子的下界。

方向性遗忘因子:当参数向量中的不同分量以不同速率变化时(例如摩擦参数变快但惯性参数不变),各向同性的遗忘因子效率低下。Kulhavy-Karny 1984 提出的方向性遗忘(directional forgetting)只在有新信息的方向上遗忘,在无新信息的方向上保持不变——这避免了 \(P(t)\) 在缺乏激励的方向上无限增长("协方差 blow-up"问题)。

在机器人中的应用

场景 方法 关键细节
自适应关节控制 RLS + 遗忘因子估计惯性参数 配合 computed torque,\(\lambda = 0.98\)\(0.995\)
在线负载估计 变遗忘因子 RLS 搬运任务中检测负载突变
IMU-Camera 外参在线标定 方向性遗忘 RLS 慢变外参(温漂)vs 快变偏置
地面摩擦估计 RLS + 多模型切换 在冰面/地毯间切换辨识模型

§3.6.3 预测误差法(PEM)与四大模型族 ⭐⭐

动机

ARX 模型虽然简单(线性回归,闭式解),但它有一个严重缺陷:噪声模型与被控对象耦合。ARX 假设 \(Ay = Bu + e\),即噪声直接加在输出上且通过 \(A\) 的逆来滤波——这意味着如果你把 ARX 的 \(B/A\) 当作被控对象传递函数,噪声特性会"污染"你对系统动态的估计。在控制设计中,我们需要把**"系统在做什么"(确定性动态)和"噪声长什么样"**(随机部分)清晰分开。PEM 和更灵活的模型族正是为此而生。

PEM 的核心框架

PEM 的核心是**一步预测器**。对于一般模型 \(y(t) = G(q,\theta)u(t) + H(q,\theta)e(t)\)\(q\) 为移位算子),一步最优预测为:

\[\hat{y}(t|\theta) = H^{-1}(q,\theta)G(q,\theta)u(t) + [1 - H^{-1}(q,\theta)]y(t)\]

推导:由模型,\(e(t) = H^{-1}[y(t) - Gu(t)]\),而最优预测 \(\hat{y}(t|\theta)\) 是使得预测误差 \(\varepsilon(t,\theta) = y(t) - \hat{y}(t|\theta)\) 等于白噪声的那个预测。将 \(y(t) = Gu + He\) 代入,\(\hat{y} = y - He = Gu + H(e - e_{\text{future}}) = Gu + (H-1)e_{\text{past}}\)... 最终得到上式。关键在于 \(H^{-1}\) 必须稳定(最小相位 \(H\))。

损失函数与估计

\[V_N(\theta) = \frac{1}{N}\sum_{t=1}^N \ell(\varepsilon(t,\theta)), \quad \varepsilon(t,\theta) = y(t) - \hat{y}(t|\theta)\]

通常取 \(\ell(\varepsilon) = \frac{1}{2}\varepsilon^2\)(等价于高斯 MLE)。估计:

\[\hat{\theta}_N = \arg\min_\theta V_N(\theta)\]

这是**非线性优化**问题(除了 ARX)——需要 Gauss-Newton 或 BFGS 等迭代算法。

渐近性质(Ljung 定理):在平稳遍历与正则条件下:

\[\sqrt{N}(\hat{\theta}_N - \theta_0) \xrightarrow{d} \mathcal{N}(0, P_\theta)\]

其中 \(P_\theta = \sigma^2[\mathbb{E}\psi\psi^\top]^{-1}\)\(\psi(t,\theta) = -\partial\varepsilon/\partial\theta\) 是灵敏度函数。在高斯白噪声下,\(P_\theta\) 达到 Cramer-Rao 下界——PEM 是渐近高效的(等价于 MLE)。

四大模型族

在统一的多项式框架 \(A(q)y = \frac{B(q)}{F(q)}u + \frac{C(q)}{D(q)}e\) 下,四大模型族依次对应特定多项式取 1:

模型族 方程 动态 \(G\) 噪声 \(H\) 特点
ARX \(Ay = Bu + e\) \(B/A\) \(1/A\) 线性回归,闭式解;但 \(G\)\(H\) 共享 \(A\)
ARMAX \(Ay = Bu + Ce\) \(B/A\) \(C/A\) 噪声滤波器可调;PEM 非线性迭代
OE \(y = (B/F)u + e\) \(B/F\) \(1\) 动态与噪声完全解耦;控制设计首选
BJ \(y = (B/F)u + (C/D)e\) \(B/F\) \(C/D\) 最一般;动态与噪声完全独立参数化

选择指南

  • 如果你只关心**控制设计**(需要精确的 \(G\)),选 OEBJ——因为它们的动态模型 \(B/F\) 不受噪声模型选择的影响
  • 如果你还关心**预测**(需要精确的 \(H\)),选 ARMAXBJ
  • 如果你要**快速原型**,选 ARX——唯一有闭式解的,用来确定阶数后再换更灵活的结构
  • 闭环辨识**必须用 **BJ 或精确噪声模型的 ARMAX——因为输入 \(u\) 与噪声相关

本质洞察:ARX 线性回归便利的代价是把噪声耦合进被控对象——用 ARX 做鲁棒控制时需格外小心。ARX 的 \(G = B/A\) 中,\(A\) 的极点既是系统极点也是噪声极点。如果噪声有不在系统中的动态(比如 60Hz 电源干扰),ARX 会把它当作系统极点——导致辨识出的传递函数有"虚假极点"。

练习题
  1. (手推) 对 ARX(2,2,1) 模型 \(y(t) + a_1 y(t-1) + a_2 y(t-2) = b_1 u(t-1) + b_2 u(t-2) + e(t)\),写出回归向量 \(\varphi(t)\),并手动构造 \(N=5\) 个数据点的 \(\Phi\) 矩阵。什么条件下 \(\Phi^\top\Phi\) 不可逆?给出一个使其奇异的输入序列的具体例子。

  2. (编程) 用 Python 实现带遗忘因子的 RLS 算法。对一个突变系统(\(t<500\) 时参数为 \([1, 0.5]\)\(t \ge 500\) 时跳变为 \([0.8, 1.2]\)),比较 \(\lambda = 0.95, 0.99, 1.0\) 三种情况的跟踪曲线。画出 \(P(t)\) 的迹(trace)随时间的变化。

  3. (概念) 解释为什么"RLS = Kalman 滤波应用于参数估计"。写出两者对应的状态空间模型。如果参数是慢时变的(\(\theta(t+1) = \theta(t) + q(t)\)\(q\) 是过程噪声),对应的 Kalman 滤波器与标准 RLS 有什么区别?


§3.6.4 子空间辨识(N4SID / MOESP / CVA)⭐⭐⭐

动机

PEM 的迭代优化有两个实际困难:(1) 非凸——可能陷入局部最小值,初始化敏感;(2) 对 MIMO 系统(如 7-DOF 机械臂),参数数量暴增,优化维度极高。子空间辨识方法**绕开了非凸迭代**,直接从数据的 Hankel 矩阵做 SVD 一次性得到 \((A,B,C,D)\)

核心思想

Step 1:构造 Hankel 矩阵。

将输入输出数据排列为块 Hankel 矩阵(过去/未来分块):

\[U_p = \begin{bmatrix} u(0) & u(1) & \cdots \\ u(1) & u(2) & \cdots \\ \vdots & & \ddots \end{bmatrix}, \quad U_f, Y_p, Y_f \text{ 类似}\]

Step 2:斜投影得到扩展可观性矩阵。

做斜投影 \(\mathcal{O} = Y_f /_{U_f} Z_p\)\(Z_p\) 是过去信息的组合),截断 SVD:

\[\mathcal{O} \approx U_n \Sigma_n V_n^\top\]

Step 3:提取系统矩阵。

扩展可观性矩阵 \(\Gamma_i = U_n \Sigma_n^{1/2}\),状态序列 \(\hat{X} = \Sigma_n^{1/2} V_n^\top\)。再做最小二乘:

\[\begin{bmatrix} \hat{X}_{k+1} \\ Y_k \end{bmatrix} = \begin{bmatrix} A & B \\ C & D \end{bmatrix} \begin{bmatrix} \hat{X}_k \\ U_k \end{bmatrix} + \text{残差}\]

三大变体仅在**加权矩阵**上不同:

方法 作者/年份 特点
N4SID Van Overschee-De Moor 1994 斜投影,最通用
MOESP Verhaegen-Dewilde 1992 LQ/RQ 分解 + 工具变量
CVA Larimore 1990 典型相关分析加权,高斯下渐近有效

为什么机器人工程师偏爱子空间方法

  1. 非迭代:只做 SVD 和 LS,数值稳健,无局部最优
  2. 天然 MIMO:直接给出多输入多输出的状态空间模型
  3. 自动阶数估计:看 \(\Sigma_n\) 的奇异值间隙——大的间隙指示系统阶数
  4. 与 DMD/Koopman 共用骨架:可无缝迁移到数据驱动线性化

跨领域类比:子空间辨识之于 PEM,就像 SVD 之于 Gauss-Newton。PEM 是"猜一个参数向量然后迭代修正"(梯度下降思维);子空间法是"一次性看数据的全局结构然后切一刀"(矩阵分解思维)。后者不需要初始猜测,但可能对噪声更敏感。

Hankel 矩阵的构造细节

为使上述过程更具体,我们展开 Hankel 矩阵的精确构造。设系统有 \(m\) 个输入、\(p\) 个输出,收集了 \(T\) 个时间步的数据 \(\{u(k), y(k)\}_{k=0}^{T-1}\)。选择过去窗口长度 \(i\) 和未来窗口长度也为 \(i\)(对称选取),列数 \(j = T - 2i + 1\)

输入 Hankel 矩阵

\[\mathcal{H}_{2i}(u) = \begin{bmatrix} u(0) & u(1) & \cdots & u(j-1) \\ u(1) & u(2) & \cdots & u(j) \\ \vdots & & & \vdots \\ u(2i-1) & u(2i) & \cdots & u(2i+j-2) \end{bmatrix} \in \mathbb{R}^{2mi \times j}\]

将其按行分为过去块和未来块:

\[\mathcal{H}_{2i}(u) = \begin{bmatrix} U_p \\ U_f \end{bmatrix}, \quad U_p \in \mathbb{R}^{mi \times j}, \quad U_f \in \mathbb{R}^{mi \times j}\]

输出 \(Y_p, Y_f\) 类似构造。

斜投影的几何含义\(\mathcal{O} = Y_f /_{U_f} Z_p\) 的意思是"把 \(Y_f\) 投影到 \(Z_p\) 的行空间上,但先从 \(Y_f\) 中去除 \(U_f\) 的影响"。为什么要去除 \(U_f\)?因为未来输出 \(Y_f\) 同时受初始状态(包含在 \(Z_p\) 中)和未来输入 \(U_f\) 的影响,我们只想提取初始状态的贡献。

阶数选择的实用准则:看 \(\Sigma_n\) 的奇异值。典型模式:

  • \(n\) 个奇异值"大"(对应系统的 \(n\) 个模态)
  • \(n+1\) 个开始突然"小"(对应噪声)
  • "间隙比"\(\sigma_n / \sigma_{n+1}\) 越大,阶数越确定

如果没有清晰间隙(所有奇异值缓慢衰减),说明系统可能是高阶的、数据不够丰富、或噪声太大。

练习题
  1. (概念) 解释为什么 N4SID 的窗口参数 \(i\) 必须满足 \(i \ge n\)(系统阶数)。如果 \(i < n\) 会发生什么?

  2. (编程) 使用 MATLAB n4sid 或 Python SIPPY 对一个已知 4 阶系统做辨识。分别尝试 \(i = 3, 5, 10, 20\),观察辨识精度和计算时间的变化。

  3. (对比) 对同一组数据,分别用 ARX + LS、PEM(OE 模型)、N4SID 辨识。比较三者在预测精度、计算时间、对初始猜测的敏感性上的差异。


§3.6.5 持续激励条件(Persistent Excitation)⭐⭐

动机

辨识能成功的前提是什么?如果你给机器人一个恒定的力矩指令 \(u(t) = 1\),你能辨识出它的传递函数吗?不能——因为你只激励了零频率分量。要辨识一个 \(n\) 阶系统,你的输入必须在足够多的频率上有能量。这就是持续激励(PE)条件的直觉。

形式化定义

Ljung 定义:信号 \(u\)\(n\) 阶 PE 当且仅当自相关 Toeplitz 矩阵正定:

\[R_u^{(n)} = \begin{bmatrix} r_u(0) & r_u(1) & \cdots & r_u(n-1) \\ r_u(1) & r_u(0) & \cdots & r_u(n-2) \\ \vdots & & \ddots & \vdots \\ r_u(n-1) & & \cdots & r_u(0) \end{bmatrix} \succ 0\]

其中 \(r_u(k) = \lim_{N\to\infty} \frac{1}{N}\sum_{t=1}^N u(t)u(t-k)\)

频域等价条件:功率谱 \(\Phi_u(\omega)\)\((-\pi, \pi)\) 至少在 \(n\) 个不同频点非零。

一致性定理:辨识 \(n\) 阶线性模型需要 \(u\) 的 PE 阶至少为 \(2n\)

Willems 定义(behavioral 视角):长度 \(T\) 的输入 \(u^d\)\(L\) 阶 PE 当且仅当 Hankel 矩阵 \(\mathcal{H}_L(u^d)\) 行满秩(要求 \(T \ge (m+1)L - 1\))。

与 RL exploration 的深刻对应:PE 条件在 RL 中的等价物就是 exploration(\(\varepsilon\)-greedy / 熵正则 / 好奇心驱动)——都要求输入分布具有足够"覆盖"以保证参数/价值函数可一致估计。缺少 PE 的 RL 会陷入 policy collapse(只激励部分模态),与辨识中 \(R_u\) 奇异、参数不可识别是**同一数学现象**。

常见 PE 信号及其阶数
信号类型 PE 阶 优点 缺点
白噪声 \(\infty\) 最高 PE,覆盖所有频率 峰值因子大,可能激励非线性
PRBS(伪随机二进制) \(\ge\) 序列长度 有界幅度,工业标准 频谱不完全平坦
多正弦 \(\sum A_k\sin(\omega_k t)\) \(2K\)\(K\) 个频率) 频率可控,重复性好 PE 阶有限,需选好频率
啁啾(chirp)\(\sin(\omega(t) \cdot t)\) 近似 \(\infty\) 扫频平滑 非周期,频谱分析不便
常数 \(u(t) = c\) 1 完全不可用于辨识动态
单频正弦 \(A\sin(\omega_0 t)\) 2 只激励一个频率,几乎不可用

工程选择指南:对机器人关节辨识,首选多正弦或啁啾。白噪声虽然 PE 阶无穷,但可能激励关节保护限位——不安全。PRBS 适合线性系统但对柔性关节可能激励过高频率的共振。

练习题
  1. (手推) 证明:\(K\) 个不同频率的正弦信号之和 \(u(t) = \sum_{k=1}^K A_k\sin(\omega_k t + \phi_k)\)\(2K\) 阶 PE。提示:计算自相关函数 \(r_u(\tau)\),利用 Toeplitz 矩阵正定条件。

  2. (概念) 如果你在辨识一个 5 阶系统(10 个参数),PE 条件要求至少多少阶?你需要多正弦信号至少包含多少个频率?


§3.6.6 Willems 基本引理与 DeePC ⭐⭐⭐

动机

传统范式是"先辨识模型 \((A,B,C,D)\),再设计控制器"。但辨识本身有误差——有没有办法**直接从数据做控制**,跳过辨识步骤?Willems 基本引理提供了答案:一段足够丰富的数据本身就是系统的非参数化表示

Willems 基本引理

定理(Willems-Rapisarda-Markovsky-De Moor, Systems & Control Letters 54(4):325-329, 2005):

设可控 LTI 系统阶为 \(n\),输入维度 \(m\)。若离线数据中的输入 \(u^d \in \mathbb{R}^{mT}\)\((L+n)\) 阶 PE,则系统**所有长度 \(L\) 的输入-输出轨迹**恰为 Hankel 矩阵的列张成空间:

\[\mathrm{colspan}\begin{bmatrix} \mathcal{H}_L(u^d) \\ \mathcal{H}_L(y^d) \end{bmatrix} = \mathfrak{B}_L\]

其中 \(\mathfrak{B}_L\) 是系统行为集的长度-\(L\) 截段。

核心含义:无需辨识 \((A,B,C,D)\)——数据本身就是模型。任何合法的未来轨迹 \((u, y)\) 可以表示为数据 Hankel 矩阵各列的线性组合。

DeePC(Data-Enabled Predictive Control)

DeePC(Coulson-Lygeros-Dorfer, ECC 2019)把基本引理嵌入 MPC。将 Hankel 矩阵切为过去/未来块:

\[\min_{g, u, y} \sum_k \|y_k - r_k\|_Q^2 + \|u_k\|_R^2$$ $$\text{s.t.} \quad \begin{bmatrix} U_p \\ Y_p \\ U_f \\ Y_f \end{bmatrix} g = \begin{bmatrix} u_{\text{ini}} \\ y_{\text{ini}} \\ u \\ y \end{bmatrix}, \quad u \in \mathcal{U}, \quad y \in \mathcal{Y}\]

确定性 LTI 下 DeePC 与 MPC 等价。对随机/非线性情形,加松弛和正则化:

\[+ \lambda_g \|g\|^2 + \lambda_y \|\sigma_y\|^2\]

其中 \(\sigma_y\) 是过去数据约束的松弛变量。

反事实推理:如果不加正则化直接在噪声数据上用 DeePC 会怎样?Hankel 约束 \(\begin{bmatrix}U_p\\Y_p\end{bmatrix}g = \begin{bmatrix}u_{\text{ini}}\\y_{\text{ini}}\end{bmatrix}\) 是精确等式——但噪声使得真实初始条件不在数据 Hankel 的列空间中,优化问题**无可行解**。加松弛 \(\sigma_y\) 后变为近似匹配,正则化 \(\lambda_g\|g\|^2\) 防止过拟合——这在 Wasserstein 分布鲁棒优化(DRO)视角下等价于对不确定性的最坏情况保护。

DeePC 的实现要点

数据需求量:对 \(m\) 输入、阶数 \(n\) 的系统,PE 条件要求数据长度 \(T \ge (m+1)(T_{\text{ini}} + N + n) - 1\)。典型设置:\(T_{\text{ini}} = n\)(或稍大以确保初始状态可辨识),\(N = 10\)-\(30\)(预测步长),数据点通常需要 500-5000 个。

计算成本对比

方法 离线成本 在线成本 适用场景
传统 MPC 辨识模型(高) QP 求解(中) 模型已知或可辨识
DeePC 收集数据(低) 更大的 QP(高) 模型未知/快速原型
Regularized DeePC 收集数据 + 调正则 同上 带噪声的实际系统

正则化参数调节指南

  • \(\lambda_g\) 太大 → DeePC 退化为"选最近的数据",忽略优化目标
  • \(\lambda_g\) 太小 → 过拟合噪声,\(g\) 可能有大分量(数值不稳定)
  • \(\lambda_y\) 太大 → 过去数据约束被彻底松弛,初始条件信息丢失
  • \(\lambda_y\) 太小 → 约束仍然过紧,接近无正则化的情况

经验法则\(\lambda_g \sim \sigma_e^2\)(噪声方差的量级),\(\lambda_y \sim 10\sigma_e^2\)

DeePC 与传统 MPC 的等价性证明概要

定理:对确定性 LTI 系统,设 \(T_{\text{ini}} \ge n\)(系统阶数),数据满足 PE 条件。则 DeePC 与基于真实模型 \((A,B,C,D)\) 的 MPC 给出**相同的最优控制序列**。

证明思路: 1. Willems 引理保证任何合法轨迹 \((u,y)\) 可表示为 \(\begin{bmatrix}U\\Y\end{bmatrix}g\) 2. 初始条件约束 \(\begin{bmatrix}U_p\\Y_p\end{bmatrix}g = \begin{bmatrix}u_{\text{ini}}\\y_{\text{ini}}\end{bmatrix}\) 与给定初始状态 \(x_0\) 等价(\(T_{\text{ini}} \ge n\) 保证 \(x_0\) 可从过去 I/O 确定) 3. 未来轨迹约束等价于沿 \((A,B,C,D)\)\(x_0\) 出发的演化 4. 因此两个优化问题的可行集相同,目标函数相同,解必相同

这个等价性非常强大——它说明**不辨识模型也能做到与完美模型 MPC 一样好**。但仅在确定性 LTI 下成立——噪声和非线性都会打破等价性,此时正则化是必需的。

练习题
  1. (证明) 对 SISO 一阶系统 \(y(t) = ay(t-1) + bu(t-1) + e(t)\),手动构造 Hankel 矩阵并验证 Willems 引理。

  2. (编程) 用 PyDeePC 实现对倒立摆的数据驱动 MPC。比较有无正则化的效果。

  3. (对比) 收集不同长度的数据(\(T = 100, 500, 2000\)),观察 DeePC 性能如何随数据量变化。与辨识 + MPC 方案比较数据效率。


§3.6.7 System Level Synthesis(SLS)⭐⭐⭐⭐

动机

传统控制设计的自由度是控制器 \(K\)。但 \(K\) 通过反馈回路以非线性方式影响闭环传递函数——导致很多有用的约束(如稀疏性、局部性、有限脉冲响应)无法以凸方式施加。SLS 把设计自由度从 \(K\) 换成**闭环响应**本身,从而把一大类控制设计问题变为凸优化。

SLS 框架

定义闭环响应:对 \(x_{k+1} = Ax_k + Bu_k + w_k\),闭环满足:

\[\begin{bmatrix} x \\ u \end{bmatrix} = \begin{bmatrix} \Phi_x \\ \Phi_u \end{bmatrix} w\]

其中 \(\Phi_x = (zI - A - BK)^{-1}\)\(\Phi_u = K(zI - A - BK)^{-1}\)

实现性约束(凸!仿射!):

\[[zI - A, \ -B] \begin{bmatrix} \Phi_x \\ \Phi_u \end{bmatrix} = I, \qquad \Phi_x, \Phi_u \in \frac{1}{z}\mathcal{RH}_\infty\]

这参数化了**所有内稳定闭环响应**。控制器由 \(K = \Phi_u \Phi_x^{-1}\) 恢复。

SLS 的���命性意义:它推广了 Youla 参数化,允许叠加稀疏/局部/FIR 等**系统级约束**(SLC��,突破了 quadratic invariance 限制。对分布式机器人协调尤其关键。

SLS 与 Youla 参数化的关系

经典 Youla 参数化:所有内稳定控制器可以表示为 \(K = (Y - MQ)(X - NQ)^{-1}\),其中 \((X, Y, M, N)\) 是互质因子分解的一组基,\(Q \in \mathcal{RH}_\infty\) 是自由参数。

SLS 的优势

  1. Youla 需要知道一个初始稳定控制器——SLS 不需要(直接从 \(A, B\) 出发)
  2. Youla 的约束在 \(Q\) 空间中可能非凸——SLS 的仿射实现约束始终是凸的
  3. SLS 天然支持系统级约束——例如"控制器必须是 FIR"(\(\Phi_x, \Phi_u\) 只保留有限个时间步),"控制器必须是稀疏的"(\(\Phi_u\) 的某些元素为 0)

FIR 截断的工程价值:如果约束 \(\Phi_x, \Phi_u\) 为 FIR(有限脉冲响应),则闭环响应在有限时间内衰减到零。这对实时系统特别有用——控制器的记忆是有限的,不需要无穷长的状态历史。

SLS 在机器人中的两大作用
  1. 样本复杂度分析(Dean-Mania-Matni-Recht-Tu 2020):
  2. \(N\) 个样本辨识 \((\hat{A}, \hat{B})\),误差集为 \(\{(A,B): \|A-\hat{A}\| + \|B-\hat{B}\| \le \varepsilon(N)\}\)
  3. SLS 允许在此不确定集上做鲁棒综合——给出"\(N\) 个样本足够让 LQR 成本不超过最优值的 \((1+\delta)\) 倍"的有限样本保证
  4. 结论\(N = O(n^2/\varepsilon^2)\) 个样本就够——这是首个 end-to-end learning-to-control 的理论保证

  5. 分布式多机器人控制

  6. 4 条腿的四足机器人:每条腿的控制器只能看到本腿的传感器
  7. 全局最优需要集中式控制器——但通信延迟使之不可能
  8. SLS 允许施加"稀疏/带状"约束于 \(\Phi\)——对应"每条腿只影响邻近腿"
  9. 在约束下做凸优化得到最优的分布式控制器
练习题
  1. (概念) 解释 SLS 实现约束 \([zI-A, -B][\Phi_x; \Phi_u] = I\) 的物理含义。提示:把它与闭环动力学 \(x_{k+1} = (A+BK)x_k + w_k\) 联系。

  2. (进阶) 如果约束 \(\Phi_x\) 为 5 步 FIR(即 \(\Phi_x(k) = 0\) for \(k > 5\)),这对闭环系统意味着什么?与不加 FIR 约束相比性能会损��多少?


Part B · 鲁棒控制完整理论

§3.6.8 \(H_\infty\) 问题的完整博弈解释 ⭐⭐⭐

动机

回顾专题 3.5(§3.5.A):LQR 等价于 \(H_2\) 最优控制——在能量/均方意义下最好的线性反馈,代价函数期望 \(\mathbb{E}\int(\|z\|^2)dt\) 被最小化。\(H_2\) 假设"扰动是白噪声"——它在**平均意义**下最优。但真实世界的扰动往往不是白噪声——它可能是有智能的对手(如地面突然塌陷)、也可能是有结构的不确定性(如负载突变)。\(H_\infty\) 控制不做噪声统计假设,而是**对最坏情况**进行优化。在 3.5 §3.5.A 中我们已看到 \(H_\infty\) 的博弈型 Riccati 方程 \(A^\top P+PA+Q-PBR^{-1}B^\top P+\gamma^{-2}PDD^\top P=0\),其中 \(\gamma^{-2}PDD^\top P\) 项代表"对手的破坏力"。本节将从系统辨识和频域视角深化这一框架,特别是当模型不确定性具有结构时(块对角 \(\Delta\)),需要从标量 \(H_\infty\) 范数升级到结构奇异值 \(\mu\)

零和博弈结构

考虑广义被控对象 \(P\),控制器 \(K\) 构成闭环 \(T_{zw} = F_l(P,K)\)(下 LFT)。\(H_\infty\) 最优控制求:

\[\gamma^\star = \inf_K \|F_l(P,K)\|_\infty = \inf_K \sup_\omega \bar{\sigma}(T_{zw}(j\omega))\]

博弈解释(Basar-Bernhard 1991):\(\|T_{zw}\|_\infty < \gamma\) 等价于零和微分博弈:

\[\min_u \max_w \int_0^\infty (\|z\|^2 - \gamma^2\|w\|^2) dt < 0\]

有鞍点策略。物理意义:

  • 控制器(minimizer)选择 \(u\) 使性能输出 \(z\) 的能量最小——它要"做好工作"
  • 自然界(maximizer)选择扰动 \(w\) 使 \(z\) 的能量最大——它是"最坏的对手"
  • \(\gamma\) 是**扰动衰减保证**——控制器承诺"无论对手怎么干,\(\|z\|/\|w\| < \gamma\)"

跨领域类比\(H_\infty\) 控制就像下围棋——你必须假设对手(扰动)总是走最优的一步(最坏情况),然后找你的最优应对。\(H_2\)(LQR)则像和随机 AI 下棋——对手的走法是随机的,你只需要**平均**表现好。真实世界更接近前者:地面突然塌陷不是"随机噪声",而是"恶意攻击"。

Nash 均衡策略的 Riccati 方程

在 LTI 状态空间 \(\dot{x} = Ax + B_1 w + B_2 u\)\(z = C_1 x + D_{12} u\) 下:

\[u^\star = -R^{-1}B_2^\top P_\infty x, \qquad w^\star = \gamma^{-2}B_1^\top P_\infty x\]

其中 \(P_\infty\) 满足**博弈 Riccati 方程**:

\[A^\top P + PA + P(\gamma^{-2}B_1B_1^\top - B_2R^{-1}B_2^\top)P + C_1^\top C_1 = 0\]

与 LQR Riccati 的精确对比

特征 LQR (\(H_2\)) \(H_\infty\)
哲学 平均最优 最坏情况最优
对手 无(\(w\) 是白噪声) 有(\(w\) 是智能对手)
Riccati 中 \(w\) 不出现 \(+\gamma^{-2}B_1B_1^\top P\)(正项!)
闭环增益 \(\|T_{zw}\|_2\) 最小 \(\|T_{zw}\|_\infty < \gamma\)
极限关系 \(\gamma\to\infty\)\(H_\infty \to H_2\) \(\gamma\to\gamma^\star\) 时 Riccati 爆破

注意 Riccati 中 \(\gamma^{-2}B_1B_1^\top P\) 是**正项**——它使得 \(H_\infty\) Riccati 的解**大于** LQR Riccati 的解(\(P_{H_\infty} > P_{LQR}\)),意味着 \(H_\infty\) 控制器的增益更高(更积极对抗扰动)。

\(\gamma\) 迭代与二分搜索:实际计算 \(\gamma^\star\) 用二分法:

  1. 选一个 \(\gamma\) 的区间 \([\gamma_{\min}, \gamma_{\max}]\)
  2. \(\gamma_{\text{mid}} = (\gamma_{\min} + \gamma_{\max})/2\),尝试解博弈 Riccati
  3. 若有正定稳定化解 → \(\gamma_{\text{mid}}\) 可行,缩小为 \([\gamma_{\min}, \gamma_{\text{mid}}]\)
  4. 若无解 → \(\gamma_{\text{mid}}\) 不可行,缩小为 \([\gamma_{\text{mid}}, \gamma_{\max}]\)
  5. 迭代至精度满足

与 Domain Randomization 的深刻联系

在 sim-to-real 中: - 参数不确定性(摩擦、质量、延迟)= 结构化 \(\Delta\) - Randomization 范围 = 不确定集半径 = \(1/\gamma\) - 训练出的策略 = 鲁棒控制器 \(K\)

因此 domain randomization 的"玄学调参"在 \(H_\infty\) 框架下有严格解释:randomization 范围就是你对 \(\gamma\) 的隐式选择。范围太大(\(\gamma\) 太小)→ 策略过于保守甚至不收敛(Riccati 无解);范围太小(\(\gamma\) 太大)→ 策略不够鲁棒。

H∞ 控制器的实际计算流程

完整工程流程(以机器人关节为例):

  1. 建立广义被控对象 \(P\)
  2. 确定输入:控制信号 \(u\)、外部扰动 \(w\)(力扰动 + 模型不确定性)
  3. 确定输出:性能输出 \(z\)(跟踪误差 + 加权控制努力)、测量 \(y\)
  4. 写出状态空间:\(\dot{x} = Ax + B_1 w + B_2 u\), \(z = C_1 x + D_{11}w + D_{12}u\), \(y = C_2 x + D_{21}w\)

  5. 选择性能权重

  6. \(W_1(s)\):对跟踪误差的频率加权(低频大 → 要求低频跟踪好)
  7. \(W_2(s)\):对控制信号的加权(防止控制器增益过大)
  8. \(W_3(s)\):反映模型不确定性的频率分布

  9. 求解 \(\gamma\)-迭代

  10. 用二分法搜索最小可行 \(\gamma\)
  11. 对每个 \(\gamma\),解两个 Riccati 方程检查可行性
  12. MATLAB 命令:[K, CL, gamma] = hinfsyn(P, nmeas, ncont)

  13. 验证与调整

  14. 画闭环 Bode 图检查带宽和裕度
  15. 仿真验证阶跃响应和扰动抑制
  16. 如果性能不满意,调整权重回到 Step 2

如果不做 H∞ 直接用 LQR 会怎样(真实案例):

某机械臂关节控制器用 LQR 设计,名义性能极好(超调 < 1%,带宽 50Hz)。但部署时发现: - 负载从 0kg 变到 2kg 后,系统震荡 - 原因:LQR 没有考虑惯量变化的鲁棒性 - 改用 H∞ 后:名义超调变为 3%(略差),但 0-5kg 负载变化范围内都稳定 - 教训:名义最优 ≠ 实际最优。工程中的最优是"在所有工况下都可接受"。

练习题
  1. (概念) 解释为什么 \(\gamma \to \infty\) 时 H∞ 退化为 H2 (LQR)。从博弈 Riccati 方程出发推导这个极限。

  2. (计算) 对一阶不稳定系统 \(\dot{x} = x + u + w\), \(z = [x; 0.1u]\), \(y = x\):手动求解 H∞ 博弈 Riccati 方程。\(\gamma\) 的最小可行值是多少?

  3. (编程) 用 MATLAB hinfsyn 或 python-control 对二阶振荡系统设计 H∞ 控制器。比较不同 \(W_1\) 权重下的闭环带宽和相位裕度。


§3.6.9 小增益定理与结构奇异值 \(\mu\) ⭐⭐⭐

小增益定理

定理(Zames 1966, Desoer-Vidyasagar 1975):

\(M, \Delta \in \mathcal{RH}_\infty\)(稳定真有理传递函数)且 \(\|M\|_\infty \cdot \|\Delta\|_\infty < 1\),则反馈回路 \((I - M\Delta)^{-1}\) 内稳定。

几何含义\(\|M\|_\infty\)\(M\) 能放大信号的最大倍数,\(\|\Delta\|_\infty\) 是不确定性能放大信号的最大倍数。两者乘积小于 1 意味着"信号绕一圈回来会变小"——回路增益小于 1,因此稳定。

**鲁棒稳定裕度**为 \(1/\|M\|_\infty\)——允许的不确定性大小上界。

跨领域类比:小增益定理就像音响系统的反馈啸叫判据。麦克风拾取扬声器的声音(增益 \(M\)),经过不确定的房间反射(增益 \(\Delta\))后回到麦克风。如果 \(M \cdot \Delta < 1\),声音每循环一次都会衰减——不会啸叫。如果 \(M \cdot \Delta \ge 1\)——啸叫(不稳定)!

\(\Delta\) 有结构时

如果 \(\Delta\) 是满块复不确定性,小增益条件是充要的。但实际中 \(\Delta\) 往往有结构——例如对角块 \(\Delta = \text{diag}(\delta_1 I, \delta_2 I, \Delta_3)\),此时小增益条件**过于保守**(它把结构化 \(\Delta\) 当作满块处理,忽略了结构信息)。这正是引入 \(\mu\) 的动机。

结构奇异值 \(\mu\)

定义(Doyle, IEE Proceedings-D 129(6):242-250, 1982):

\[\mu_{\boldsymbol{\Delta}}(M) = \frac{1}{\min\{\bar{\sigma}(\Delta) : \det(I - M\Delta) = 0, \ \Delta \in \boldsymbol{\Delta}\}}\]

若无这样的 \(\Delta\) 存在,则 \(\mu(M) = 0\)

物理含义\(\mu(M)\) 是使闭环失稳所需的"最小"结构化不确定性的大小的倒数。\(\mu\) 越大,系统越脆弱。

鲁棒稳定性判据

\[\text{闭环对结构化 } \Delta \text{ 鲁棒稳定} \quad \Leftrightarrow \quad \sup_\omega \mu_{\boldsymbol{\Delta}}(M(j\omega)) < 1\]

计算困难与实用方法

\(\mu\) 的精确计算是 NP-hard。实用方法:

  • 上界(D-scaling)\(\mu(M) \le \inf_{D \in \mathcal{D}} \bar{\sigma}(DMD^{-1})\),其中 \(D\)\(\Delta\) 结构对易。对 \(\le 3\) 个块**精确**,更多块可能存在 gap。
  • 下界:用功率算法(power iteration)。
  • 实用判断:如果上界和下界很接近,可以信任上界;如果 gap 大,需要更细致的分析。
D-K 迭代与 \(\mu\)-synthesis

**D-K 迭代**是 \(\mu\)-综合的标准算法:

  1. K-step:固定 \(D(\omega)\),运行 \(H_\infty\) 综合得 \(K\)
  2. 求解:\(\min_K \|D F_l(P,K) D^{-1}\|_\infty\)
  3. D-step:固定 \(K\),在频率网格上逐频率求最优 \(D(j\omega)\)
  4. 求解:\(\min_D \bar{\sigma}(D M D^{-1})\)(凸优化)
  5. 拟合:用稳定最小相位有理函数 \(D(s)\) 拟合频率数据
  6. 迭代:回到 Step 1,直到收敛

注意:D-K 迭代**不保证全局最优**——它是一种交替优化,可能收敛到局部最优。实践中从不同初始 \(D\) 出发多次运行。

mu-synthesis 工程案例:机械臂 payload 不确定性

考虑 2-DOF 机械臂,末端负载质量不确定:\(m_{\text{load}} \in [0, 5]\) kg。

建模:名义质量 \(m_0 = 2.5\) kg,乘性不确定性 \(m = m_0(1 + W_m \delta_m)\)\(|\delta_m| \le 1\)。结构化不确定性 \(\Delta = \text{diag}(\delta_m I_2)\)

D-K 迭代结果对比

方法 名义性能 鲁棒性(\(m_{\text{load}} = 5\) kg)
PID 不稳定
LQR 很好 大超调 (60%)
H-infinity(忽略结构) 稳定,超调 25%
mu-synthesis(利用结构) 稳定,超调 15%

mu-synthesis 利用了不确定性的结构信息,所以比直接 H-infinity 更少保守。

鲁棒性能(Robust Performance)

鲁棒稳定性只保证闭环不崩——但性能可能任意差。**鲁棒性能**同时要求稳定和性能。

主定理:鲁棒性能等价于将性能不确定性 \(\Delta_P\)(虚拟满块)加入结构:

\[\text{Robust Performance} \quad \Leftrightarrow \quad \sup_\omega \mu_{\boldsymbol{\Delta} \cup \Delta_P}(M(j\omega)) < 1\]
练习题
  1. (概念) 为什么小增益定理对 \(\Delta = \text{diag}(\delta, \delta)\) 保守?用具体数值例子说明 \(\mu < \bar{\sigma}\)

  2. (编程) 用 MATLAB musyn 对上述机械臂做 mu-synthesis。比较不同初始 \(D\) 的影响。


§3.6.10 IQC 框架 ⭐⭐⭐⭐

动机

小增益定理和 \(\mu\) 分析都限于线性系统/线性不确定性。真实机器人中有大量**非线性**不确定性:执行器饱和、死区、时变延迟、神经网络控制器。如何统一分析这些情况?IQC(Integral Quadratic Constraints)提供了最一般的框架。

IQC 的数学定义

定义:算子 \(\Delta\) 满足由 \(\Pi\) 定义的 IQC,如果对所有可行的输入-输出对 \((v, w = \Delta v)\)

\[\int_{-\infty}^{\infty} \begin{bmatrix} \hat{v}(j\omega) \\ \hat{w}(j\omega) \end{bmatrix}^* \Pi(j\omega) \begin{bmatrix} \hat{v}(j\omega) \\ \hat{w}(j\omega) \end{bmatrix} d\omega \ge 0\]

其中 \(\hat{\cdot}\) 表示 Fourier 变换。

IQC 主定理(Megretski-Rantzer, IEEE TAC 42(6):819-830, 1997):

如果反馈回路 \((G, \Delta)\) 满足: 1. 对所有 \(\tau \in [0,1]\)\(\tau\Delta\) 的回路是良定的(同伦条件) 2. 存在 \(\Pi\) 使得 \(\Delta\) 满足 \(\Pi\) 定义的 IQC 3. 频域不等式严格成立:\(\begin{bmatrix} G(j\omega) \\ I \end{bmatrix}^* \Pi(j\omega) \begin{bmatrix} G(j\omega) \\ I \end{bmatrix} \prec 0 \ \forall\omega\)

则闭环内稳定。

IQC 的力量在于模块化——各种经典稳定性判据都是 \(\Pi\) 的特例:

特殊情况 对应的 \(\Pi\) 经典名称
\(\Delta\) 有界增益 \(\Pi = \text{diag}(I, -\gamma^2 I)\) 小增益定理
\(\Delta\) 无源 \(\Pi = \begin{bmatrix} 0 & I \\ I & 0 \end{bmatrix}\) Passivity 定理
\(\Delta\) 扇形有界 相应的 \(\Pi\) Circle criterion
\(\Delta\) 单调递增 Zames-Falb multiplier Popov/圆判据推广
IQC 在神经网络控制验证中的应用

近年来 IQC 在**验证神经网络控制器的鲁棒性**中获得了重要应用(Fazlyab-Morari-Pappas 2019, IEEE TAC; Revay-Wang-Manchester 2021)。

核心思想:把 ReLU 神经网络看作一个非线性算子 \(\phi(x) = \max(0, x)\)(逐元素)。ReLU 满足:

  • 扇形条件:\(0 \le \phi(x) \le x\)(对 \(x > 0\)
  • 斜率限制:\(\phi'(x) \in [0, 1]\)
  • 重复非线性的对偶性

这些性质可以编码为 IQC 约束。然后:

  1. 把 "线性动力学 + 神经网络控制器" 写成 "\(G\) + 非线性 \(\Delta\)" 的反馈结构
  2. 用 IQC 主定理判断闭环稳定性
  3. 最终归结为一个 SDP(半定规划)可行性问题

工程意义:这为 RL 训练的策略提供了**部署前的安全证书**——如果 SDP 可行,则策略在指定不确定性范围内保证闭环稳定。这是 sim-to-real 中"safety guarantee"的数学基础。

IQC 与 \(\mu\)-analysis 的关系
  • \(\mu\)-analysis 处理**线性**结构化不确定性,用 D-scaling 上界
  • IQC 处理**非线性/时变/任意**不确定性,用频域 \(\Pi\) 矩阵
  • \(\Delta\) 是线性时变时,IQC 退化为 \(\mu\) 的上界
  • IQC 严格推广了 \(\mu\)——对同一问题 IQC 给出不比 \(\mu\) 差的结果

实践建议:对纯线性不确定性用 \(\mu\)(工具更成熟);对非线性元素(饱和、神经网络)用 IQC。


§3.6.11 鲁棒 MDP 与 Domain Randomization ⭐⭐⭐

核心思想

RMDP(Robust Markov Decision Process)把 \(H_\infty\) 的 minimax 结构移植到强化学习。核心假设:转移概率不是精确已知的 \(P\),而是落在某个**不确定集** \(\mathcal{P}\) 中。

Robust Bellman 方程(Iyengar 2005, Nilim-El Ghaoui 2005):

\[V(s) = \max_a \left\{ r(s,a) + \gamma \inf_{P \in \mathcal{P}_{s,a}} \mathbb{E}_P[V(s')] \right\}\]

关键性质:在 (s,a)-rectangular 不确定集假设下: - Robust Bellman 算子是 \(\gamma\)-压缩 - 确定性最优策略存在 - Value/Policy iteration 收敛

数学本质:domain randomization 是 robust MDP 的**采样近似**。在 \(\mathcal{P}\) 上对 \(P\) 采样(而非取 worst-case)相当于 **soft-robust / 期望鲁棒**松弛。

不确定集几何即调参空间

RL 中的调参选择 鲁棒控制中的等价物
质量随机范围 [0.8, 1.2] \(\Delta_{\text{mass}} \in [-0.2, 0.2]\)
摩擦随机范围 [0.3, 0.8] \(\delta_\mu \in\) ball
所有参数同时随机 \(\Delta = \text{diag}(\delta_1, \ldots, \delta_k)\)\(\|\Delta\| \le r\)
Randomization 过大 → 不收敛 \(\gamma < \gamma^\star\) → Riccati 无解

本质洞察:domain randomization 的"玄学调参"在 RMDP 与 \(H_\infty\) 的统一视角下有严格数学解释——不确定集几何即调参空间。如果你把 randomization 范围看作不确定集半径 \(r\),那么增大 \(r\) 等价于降低 \(\gamma\)(要求更强的鲁棒性)。但 \(\gamma\) 有下界 \(\gamma^\star\)——超过这个极限,没有控制器能满足性能要求。这就是为什么 randomization 范围太大时策略不收敛的根本原因。


Part C · 频域多变量分析

§3.6.12 传递函数与 Bode 图基础 ⭐⭐

动机

时域分析(状态空间、微分方程)告诉你系统的瞬态响应,但对于控制设计,我们更需要知道:系统对**不同频率**的信号如何响应?哪些频率的扰动被放大?哪些被衰减?这就是频域分析的价值——它把"时间上的因果演化"转化为"频率上的增益和相移"。

SISO 传递函数

对 LTI 系统 \(\dot{x} = Ax + Bu\), \(y = Cx + Du\),传递函数为:

\[G(s) = C(sI - A)^{-1}B + D\]

频率响应:令 \(s = j\omega\)(虚轴上的值):

\[G(j\omega) = |G(j\omega)| e^{j\angle G(j\omega)}\]
  • \(|G(j\omega)|\):频率 \(\omega\) 处的**增益**——输入正弦振幅乘以多少
  • \(\angle G(j\omega)\):频率 \(\omega\) 处的**相移**——输入正弦延迟多少度
Bode 图的几何意义

Bode 图由两幅子图组成:

  1. 幅度图\(20\log_{10}|G(j\omega)|\) vs \(\log_{10}\omega\)(dB 尺度)
  2. 相位图\(\angle G(j\omega)\) vs \(\log_{10}\omega\)(度数尺度)

为什么用对数坐标? 因为串联系统 \(G = G_1 \cdot G_2\) 的增益在 dB 尺度下是**相加**的:\(|G|_{\text{dB}} = |G_1|_{\text{dB}} + |G_2|_{\text{dB}}\)。这使得复杂系统的 Bode 图可以通过**逐项叠加**简单因子的 Bode 图得到。

典型因子的 Bode 图特征

因子 低频渐近线 高频渐近线 转折频率
积分器 \(1/s\) \(-20\) dB/dec 斜线 继续 -
一阶惯性 \(1/(1+s/\omega_c)\) 0 dB \(-20\) dB/dec \(\omega_c\)
二阶振荡 \(\omega_n^2/(s^2+2\zeta\omega_n s+\omega_n^2)\) 0 dB \(-40\) dB/dec \(\omega_n\),峰值 \(\approx 1/(2\zeta)\)
时延 \(e^{-\tau s}\) 0 dB (不变) 相位持续下降 \(-\omega\tau\) -

反事实推理:如果不看 Bode 图直接调 PID 参数会怎样?你可能把积分增益调得很大以消除稳态误差——但看 Bode 图就知道,大积分增益意味着低频开环增益高(好),但同时使得相位交叉频率附近的相位裕度减小(危险)。Bode 图让你**同时看到性能和稳定性的权衡**,这是时域步响应无法提供的全局视角。

从 Bode 图读取关键控制参数

增益交叉频率 \(\omega_c\)\(|L(j\omega_c)| = 0\) dB):

\(\omega_c\) 近似等于闭环系统的带宽。带宽决定了: - 系统能跟踪多快的参考信号 - 能抑制多高频率的扰动 - 测量噪声被放大的程度

相位裕度(PM)= \(180° + \angle L(j\omega_c)\)

PM 影响闭环阻尼。经验对应关系:

PM 闭环阻尼 阶跃超调 工程判断
30° \(\zeta \approx 0.3\) ~35% 勉强可用
45° \(\zeta \approx 0.45\) ~20% 一般应用
60° \(\zeta \approx 0.6\) ~10% 推荐值
75° \(\zeta \approx 0.8\) ~3% 高精度应用
90° \(\zeta \approx 1.0\) 0% 过阻尼

增益裕度(GM)= \(-|L(j\omega_\phi)|\) dB(\(\omega_\phi\) 为相位穿越频率 \(\angle L = -180°\)):

GM 衡量系统能容忍多大的增益变化。工程要求通常 \(> 6\) dB(增益可翻倍)。

为什么 PM 和 GM 不够用? 对简单的开环稳定系统,PM 和 GM 足够判断稳定性。但对条件稳定系统(Bode 图穿越 -180° 两次)、MIMO 系统、带时延系统,需要完整的 Nyquist 分析。

练习题
  1. (手推) 对 PID 控制器 \(K(s) = K_p(1 + 1/(T_i s) + T_d s)\) 与被控对象 \(G(s) = 1/(s(s+1))\):画开环 \(L = GK\) 的 Bode 图渐近线,确定使 PM = 60° 的参数。

  2. (概念) 为什么增加积分器(PID 中的 I)会降低相位裕度?从 Bode 图的相位贡献解释。


§3.6.13 Nyquist 稳定性判据完整推导 ⭐⭐

动机

Bode 图能给出增益裕度和相位裕度,但对不稳定开环系统、非最小相位系统,这些简单裕度不够用。Nyquist 判据提供了**充要**的稳定性条件——它能处理 Bode 图处理不了的所有情况。

数学基础:辐角原理

辐角原理(复分析):设 \(f(s)\) 是区域 \(D\) 内的亚纯函数(有有限多个极点和零点),\(\Gamma\)\(D\) 边界上的简单闭曲线(不过零点和极点)。则:

\[\frac{1}{2\pi j} \oint_\Gamma \frac{f'(s)}{f(s)} ds = Z - P\]

其中 \(Z\) = \(f\)\(\Gamma\) 内部的零点数(计重数),\(P\) = \(f\)\(\Gamma\) 内部的极点数。

几何等价形式\(f(s)\) 将曲线 \(\Gamma\) 映射为复平面上的曲线 \(f(\Gamma)\)。上式等价于:

\[N(f(\Gamma), 0) = Z - P\]

其中 \(N(f(\Gamma), 0)\)\(f(\Gamma)\) 绕**原点**的圈数(逆时针为正)。

Nyquist 判据的推导

Step 1:选择函数和围道。

设开环传递函数为 \(L(s) = G(s)K(s)\)。闭环特征多项式为 \(1 + L(s)\)。闭环稳定 \(\Leftrightarrow\) \(1 + L(s) = 0\) 的所有根在左半平面 \(\Leftrightarrow\) \(1 + L(s)\) 在右半平面(RHP)无零点。

\(f(s) = 1 + L(s)\)\(\Gamma\) = Nyquist D-围道(右半平面的边界:虚轴 \(-jR\)\(jR\) + 半径 \(R\to\infty\) 的右半圆)。

Step 2:应用辐角原理。

\[N(1 + L(\Gamma), 0) = Z - P\]

其中: - \(Z\) = \(1 + L(s)\) 在 RHP 内的零点数 = 闭环 RHP 极点数(我们要它为 0) - \(P\) = \(1 + L(s)\) 在 RHP 内的极点数 = 开环 RHP 极点数(已知)

Step 3:坐标变换。

\(1 + L(\Gamma)\) 绕原点的圈数 = \(L(\Gamma)\)\(\mathbf{-1}\) 点的圈数(平移坐标)。

Step 4:Nyquist 判据最终形式。

\[\boxed{Z = N + P}\]

其中: - \(Z\) = 闭环不稳定极点数(要求 \(Z = 0\)) - \(N\) = \(L(j\omega)\) 的 Nyquist 曲线绕 \(-1\) 点的**顺时针**圈数 - \(P\) = 开环 \(L(s)\) 的 RHP 极点数

闭环稳定的充要条件\(N = -P\)(即 \(L(j\omega)\)\(-1\) 点**逆时针** \(P\) 圈)。

三种典型情形
情形 \(P\) 稳定条件 含义
开环稳定 0 \(N = 0\)(不围绕 \(-1\) Nyquist 曲线不能包围 \(-1\)
开环 1 个 RHP 极点 1 \(N = -1\)(逆时针 1 圈) 曲线必须逆时针围绕 \(-1\) 一次
开环 2 个 RHP 极点 2 \(N = -2\)(逆时针 2 圈) 曲线必须逆时针围绕 \(-1\) 两次

增益裕度和相位裕度的 Nyquist 图解读

  • 增益裕度 = Nyquist 曲线穿过负实轴时到 \(-1\) 点的距离(可以增大多少增益才到 \(-1\)
  • 相位裕度 = 从 \(-1\) 点看,单位圆与 Nyquist 曲线交点对应的角度

本质洞察:Nyquist 判据的本质是辐角原理的直接应用——它把"右半平面有没有闭环极点"这个代数问题,转化为"频率响应曲线是否围绕一个特定点"这个几何问题。几何可视化使得工程师能直观判断稳定性裕度,而无需求解特征方程。

典型例题:不稳定系统的 Nyquist 分析

例题:考虑开环传递函数 \(L(s) = \frac{K}{s(s-1)(s+2)}\)

分析: - \(L(s)\) 有一个 RHP 极点 \(s = 1\),所以 \(P = 1\) - 还有一个极点在原点 \(s = 0\)——需要用绕半圆处理 - 闭环稳定要求 \(N = -P = -1\)(Nyquist 曲线逆时针围绕 \(-1\) 恰好 1 次)

Step 1:计算关键频率点。

\(\omega = 0^+\)\(L(j0^+) \to \infty e^{-j90^\circ}\)(积分器的贡献)

\(\omega \to \infty\)\(|L| \to 0\)\(\angle L \to -90° - 90° - 0° = -270°\)(相对阶为 3)

\(\omega\) 穿过负实轴:令 \(\mathrm{Im}(L(j\omega)) = 0\) 求解 \(\omega_{\text{cross}}\)

Step 2:画 Nyquist 图并计数圈数。

如果 \(K\) 选择恰当使得曲线在 \(-1\) 左侧逆时针绕过一次,则 \(N = -1 = -P\),闭环稳定。如果 \(K\) 太大或太小导致围绕数错误,闭环不稳定。

这个例题揭示了一个反直觉的事实:对不稳定开环系统,并非增益越大越危险——可能存在一个增益窗口 \((K_{\min}, K_{\max})\) 内才稳定。这在 Bode 图上表现为"条件稳定"——超过一定增益反而不稳定。

Nyquist 判据的工程价值

为什么 Nyquist 比根轨迹法更实用?

  1. 频率响应可以实验测量:不需要知道传递函数的解析表达式——只要能做频率扫描实验
  2. 直接显示鲁棒裕度:增益裕度和相位裕度在图上一目了然
  3. 对时延友好:时延 \(e^{-\tau s}\) 在根轨迹法中是超越方程,但在 Nyquist 图中只是相位额外旋转
  4. 天然推广到 MIMO:广义 Nyquist 处理多变量系统
练习题
  1. (手推)\(L(s) = 10/(s+1)(s+5)\):(a) 画 Nyquist 图的大致形状;(b) 确定 \(P\);(c) 计数 \(N\);(d) 判断闭环稳定性。

  2. (概念) 一个系统的 Nyquist 曲线恰好通过 \(-1\) 点。这意味着什么?闭环系统处于什么状态?

  3. (进阶) 对带时延的系统 \(L(s) = e^{-0.5s}/(s+1)\):(a) 时延如何影响 Nyquist 曲线?(b) 求最大稳定增益。


§3.6.14 MIMO 奇异值分解与方向性 ⭐⭐⭐

从 SISO 到 MIMO 的本质困难

对 SISO 系统,\(|G(j\omega)|\) 唯一确定了频率 \(\omega\) 处的增益。但对 MIMO 系统 \(G(j\omega) \in \mathbb{C}^{p \times m}\)——增益取决于**输入方向**!

考虑 2 输入 2 输出系统。输入 \(u = [1, 0]^\top\) 时输出增益可能为 10;输入 \(u = [0, 1]^\top\) 时增益可能为 0.1。这 100 倍的差异就是 MIMO 系统的**方向性**——SISO 不存在这个问题。

频率处的 SVD 分析

在每个频率 \(\omega\),对矩阵 \(G(j\omega)\) 做 SVD:

\[G(j\omega) = U(\omega) \Sigma(\omega) V(\omega)^*\]
  • 最大奇异值 \(\bar{\sigma}(G(j\omega)) = \sigma_1 = \max_{\|u\|=1}\|Gu\|\)最坏方向增益(系统能放大信号的最大倍数)
  • 最小奇异值 \(\underline{\sigma}(G(j\omega)) = \sigma_{\min}\):**最好方向增益**的下界
  • 条件数 \(\gamma(G) = \bar{\sigma}/\underline{\sigma}\):度量方向性病态

条件数的工程含义:大条件数意味着某些输入方向的控制非常"容易",另一些方向非常"困难"。例如,机械臂在接近奇异位形时,雅可比矩阵的条件数趋于无穷——沿某些方向几乎无法运动。

奇异值 Bode 图

绘制 \(20\log_{10}\sigma_i(\omega)\) vs \(\omega\)(所有奇异值随频率的变化)。

回路整形准则\(L = GK\) 为开环传递函数):

  • 低频:要求 \(\underline{\sigma}(L)\) 大——保证**所有方向**都有足够增益来跟踪参考和抑制扰动
  • 高频:要求 \(\bar{\sigma}(L)\) 小——保证**最坏方向**不会放大高频噪声
  • 中频过渡:两个要求在此冲突——这是控制设计的核心挑战

反事实推理:如果只看 \(\bar{\sigma}\) 不看 \(\underline{\sigma}\) 会怎样?你可能设计出一个在某些方向增益很高(\(\bar{\sigma}\) 大),但在另一些方向几乎没有增益(\(\underline{\sigma} \approx 0\))的控制器——结果是:一个方向跟踪完美,另一个方向完全失控。这就是为什么 MIMO 回路整形必须同时约束两端奇异值。

相对增益阵列(RGA)与输入输出配对

对方阵 \(G(0) \in \mathbb{R}^{n \times n}\)(稳态增益矩阵),RGA 定义为:

\[\Lambda = G(0) \circ (G(0)^{-1})^\top\]

其中 \(\circ\) 是 Hadamard(逐元素)乘积。

物理含义\(\lambda_{ij}\) 衡量"输入 \(j\) 对输出 \(i\) 的相对影响"——考虑了其他回路对它的交互影响。

  • \(\lambda_{ij} = 1\):无交互(单回路控制即可)
  • \(\lambda_{ij} \gg 1\):正交互且对其他回路状态敏感
  • \(\lambda_{ij} < 0\):负交互(其他回路打开时增益反向)
  • \(\lambda_{ij} \approx 0\):几乎无直接通路

配对规则(Bristol 1966):选择 \(\lambda_{ij}\) 接近 1 的输入-输出对进行配对。避免 \(\lambda_{ij}\) 为负或远大于 1 的配对。

机器人应用示例:双关节机械臂末端 \((x, y)\) 控制。如果关节 1 主要影响 \(x\)、关节 2 主要影响 \(y\),则 RGA 接近单位阵——对角控制器有效。如果两关节对 \(x, y\) 影响差不多(如接近奇异位形),RGA 远偏离单位阵——必须用耦合控制器。

练习题
  1. (计算)\(G(0) = \begin{bmatrix} 1 & 0.5 \\ 0.3 & 1 \end{bmatrix}\),计算 RGA。判断最佳配对方式。条件数是多少?

  2. (概念) 如果 RGA 的某个对角元素接近 0,这意味着什么?对控制器结构选择有什么影响?

  3. (机器人) 一个 2-DOF 平面机械臂在特定位形下的雅可比为 \(J = \begin{bmatrix} -0.5 & -0.3 \\ 0.8 & 0.1 \end{bmatrix}\)。计算 \(J\) 的 RGA 和条件数,判断在这个位形下 Cartesian 控制的难度。


§3.6.15 灵敏度函数、水床效应与基本限制 ⭐⭐⭐

灵敏度与补灵敏度

定义(\(L = GK\) 为开环传递函数):

  • 灵敏度函数 \(S = (I + L)^{-1}\):参考/扰动 → 跟踪误差的传递
  • 补灵敏度函数 \(T = L(I + L)^{-1}\):参考 → 输出的传递(同时也是测量噪声 → 输出)

核心恒等式

\[\boxed{S + T = I}\]

含义:在任何频率上,\(S\)\(T\) 此消彼长。低频大 \(T\)(好跟踪)必然意味着低频小 \(S\)(好抑制扰动)——两者一致。但高频小 \(T\)(好鲁棒性/噪声抑制)必然意味着高频大 \(S\)(扰动不被抑制)——你不能在所有频率上"两全其美"。

控制设计的频域规格

规格 数学表达 含义
性能(低频) \(\|W_1 S\|_\infty < 1\) 加权灵敏度在所有频率上有界
控制努力 \(\|W_2 KS\|_\infty < 1\) 控制信号不能太大
鲁棒性(高频) \(\|W_3 T\|_\infty < 1\) 不确定性不会破坏稳定性
Bode 灵敏度积分(水床效应)

这是频域控制设计中最深刻的基本限制定理——它揭示了灵敏度函数的"总面积"是守恒的。

定理(Freudenberg-Looze, IEEE TAC 30(6):555-565, 1985):

对 SISO 稳定闭环系统,若开环 \(L(s)\) 的相对阶 \(\ge 2\),则:

\[\boxed{\int_0^\infty \ln|S(j\omega)| \, d\omega = \pi \sum_i \mathrm{Re}(p_i)}\]

其中 \(p_i\)\(L(s)\)RHP 极点

直觉理解\(\ln|S|\) 的积分是一个**守恒量**——就像按压水床一样,在一处压下去(\(|S| < 1\),抑制扰动),另一处必然鼓起来(\(|S| > 1\),放大扰动)。

三种基本情形

开环类型 积分值 工程含义
稳定(无 RHP 极点) \(= 0\) 压低一处必然在另一处鼓起(零和博弈)
不稳定(有 RHP 极点) \(> 0\) 放大面积严格大于抑制面积(稳定化有代价)
非最小相位(RHP 零点) 额外 Poisson 约束 特定频段必须放大

RHP 零点 \(z\) 的额外限制(Poisson 加权积分):

\[\int_0^\infty \ln|S(j\omega)| \cdot \frac{2\mathrm{Re}(z)}{|j\omega - z|^2} d\omega = \pi \ln\left|\frac{\bar{z} + p}{z - p}\right|\]

Poisson 核在 \(\omega = \mathrm{Im}(z)\) 附近集中——意味着在 RHP 零点对应的频率附近,\(|S|\) **必须**大于 1(即扰动被放大,性能变差)。

工程硬限制(机器人设计的物理边界)

  • RHP 零点 \(z\) → 闭环带宽上限约 \(\omega_c \le z/2\)(带宽不能太高)
  • RHP 极点 \(p\) → 闭环带宽下限约 \(\omega_c \ge 2p\)(带宽不能太低)
  • 同时有 \(z\)\(p\):若 \(z < 4p\),可能**无法同时满足**——系统在结构上不可稳定化到满意性能

机器人实例

倒立摆的 RHP 极点 \(p \approx \sqrt{g/l}\)。对 \(l = 1\) m 的腿,\(p \approx 3.1\) rad/s。闭环带宽至少需 \(2p \approx 6.3\) rad/s,对应控制频率至少约 1 Hz。实际为了裕度需要 10 倍以上 → MPC 更新率至少 10 Hz。这不是工程选择,是**物理必然**。

本质洞察:水床效应说明控制设计是"能量再分配"而非"能量消灭"——你无法在所有频段同时"赢"。好的控制设计不是消除水床,而是把鼓起(\(|S| > 1\))放在不重要的频段(通常是高频噪声区)。这与信息论中 rate-distortion 的权衡、热力学中不可能机的限制同构。

水床效应的完整证明概要

证明思路(Freudenberg-Looze 1985 的简化版本):

Step 1:利用灵敏度函数的性质。

\(S(s) = 1/(1 + L(s))\)。如果闭环稳定,\(S(s)\) 在 RHP 内解析。

Step 2:对 \(\ln S(s)\) 应用 Cauchy 积分定理。

由于 \(S\) 在 RHP 解析且非零(闭环稳定),\(\ln S(s)\) 也在 RHP 解析。对 Nyquist D-围道应用 Cauchy 积分:

\[\oint_D \frac{\ln S(s)}{s - p} ds = 0 \quad (\text{if } p \text{ is inside } D)\]

Step 3:分解围道积分。

虚轴部分贡献 \(\int_{-\infty}^\infty \frac{\ln S(j\omega)}{j\omega - p} d\omega\);大半圆部分在 \(|s| \to \infty\) 时利用 \(S(s) \to 1\)(因相对阶 \(\ge 2\))得贡献为零。

Step 4:取实部。

对右半平面的开环极点 \(p_i\)\(\ln S(p_i)\) 的实部贡献出 \(\pi \sum_i \mathrm{Re}(p_i)\)(因为 \(S(p_i) = 1/(1+L(p_i))\),而 \(1+L(p_i) = 0\) 的根就是开环 RHP 极点变为 \(S\) 的零点,需要用留数处理)。

最终得到积分等式。完整细节参见 Skogestad-Postlethwaite 2005 Ch.5.3 或 Doyle-Francis-Tannenbaum 1990 Ch.6。

水床效应的工程设计指南

知道水床效应后,控制设计者应该怎么做?

  1. 明确"牺牲频段":通常选择牺牲高频(\(\omega > 10\omega_c\)),因为此处信号主要是噪声,\(|S|\) 大一些对性能影响小
  2. RHP 极点系统更难设计:积分值 \(> 0\) 意味着"鼓起"的总面积大于"压低"的面积——设计空间被压缩
  3. 避免同时存在 RHP 极点和零点:如果 \(z \approx p\)(靠近),水床效应会集中在很窄的频带,要求控制器在该频带有极精确的相位补偿——实际上几乎不可能实现
  4. 多用前馈:前馈不改变 \(S\)(它绕过反馈回路),所以可以在不触发水床的情况下改善跟踪性能

反事实推理:如果一个新手不知道水床效应,他可能会反复调 PID 参数试图在**所有频段**都让 \(|S| < 1\)——这在数学上不可能(积分守恒),优化器会给出极高阶控制器或数值病态的解。正确做法是先问自己"我愿意在哪个频段牺牲性能"。

练习题
  1. (手推) 对稳定开环 \(L(s) = K/(s+1)(s+2)\),计算 \(\int_0^\infty \ln|S(j\omega)| d\omega\)。验证积分值为 0。

  2. (概念) 如果开环有一个 RHP 极点 \(p = 2\),Bode 积分等于 \(2\pi\)。画出一个满足此约束的 \(|S(j\omega)|\) 曲线示意图,标出哪些频段 \(|S| < 1\)(性能好),哪些频段 \(|S| > 1\)(性能差)。

  3. (工程) 一个双足机器人的线性化模型有 RHP 极点 \(p = 4\) rad/s 和 RHP 零点 \(z = 20\) rad/s。(a) 闭环带宽的允许范围是什么?(b) 如果 \(z = 6\) rad/s(很接近 \(p\)),情况会怎样?


§3.6.16 \(H_\infty\) 混合灵敏度与 DGKF 解 ⭐⭐⭐

混合灵敏度问题

给定权函数 \(W_1, W_2, W_3\),求控制器 \(K\) 使:

\[\left\| \begin{bmatrix} W_1 S \\ W_2 KS \\ W_3 T \end{bmatrix} \right\|_\infty < \gamma\]

权函数的设计指导

权函数 典型形状 作用
\(W_1\) 低通(低频大、高频小) 约束性能(低频跟踪精度)
\(W_2\) 高通或常数 约束控制信号(防止执行器饱和)
\(W_3 \approx W_m\) 高通(匹配不确定性权重) 约束鲁棒性
DGKF 定理

定理(Doyle-Glover-Khargonekar-Francis, IEEE TAC 34(8):831-847, 1989):

存在控制器 \(K\) 使 \(\|T_{zw}\|_\infty < \gamma\) 当且仅当

  1. 存在 \(X_\infty \ge 0\) 满足控制 Riccati 方程且 \(A + (\gamma^{-2}B_1B_1^\top - B_2B_2^\top)X_\infty\) 稳定
  2. 存在 \(Y_\infty \ge 0\) 满足滤波 Riccati 方程且 \(A + (\gamma^{-2}B_1B_1^\top - C_2^\top C_2)Y_\infty^\top\) 稳定
  3. 谱半径条件 \(\rho(X_\infty Y_\infty) < \gamma^2\)

中心控制器具有 LQG 分离结构——一个状态估计器(类似 Kalman)加一个状态反馈(类似 LQR),但两者都被 \(\gamma\) "扭曲"以提供鲁棒性保证。

Glover-McFarlane 回路成形(简化工作流):

对归一化互质因子 \(G = M^{-1}N\),闭式最大鲁棒稳定余度:

\[\varepsilon_{\max} = (1 - \|[N, M]\|_H^2)^{1/2}\]

\(\|\cdot\|_H\) 为 Hankel 范数)。不需 \(\gamma\)-迭代,直接给出最鲁棒的控制器。

Glover-McFarlane 回路成形的完整工作流

这是工业界最常用的 H-infinity 设计流程——因为它结合了工程师的 loop-shaping 直觉和 H-infinity 的理论保证。

三步流程

  1. 预整形:选择权重 \(W_1, W_2\) 使得 \(G_s = W_2 G W_1\) 的开环 Bode 图"长得像你想要的"
  2. \(W_1\) 加在输入端(典型:PI 型低通,提升低频增益)
  3. \(W_2\) 加在输出端(典型:roll-off 高通,衰减高频)

  4. NCF 鲁棒稳定:对整形后的 \(G_s\),用 ncfsyn 求最大鲁棒余度控制器 \(K_\infty\)

  5. 不需要选 \(\gamma\)——直接给出最鲁棒的结果
  6. 控制器阶数 = 被控对象阶数(不增加!与混合灵敏度不��)

  7. 拼回最终控制器\(K = W_1 K_\infty W_2\)

与混合灵敏度的对比

特征 混合灵敏度 Glover-McFarlane
设计自由度 3 个权函数 \(W_1, W_2, W_3\) 2 个整形权 \(W_1, W_2\)
控制器阶数 对象 + 权函数之和(高!) 对象阶数(低!)
鲁棒性保证 加权性能 互质因子不确定性
适用场景 精确性能要求 快速鲁棒设计
工程直觉 需理解 \(W_i\) 含义 直接整形 Bode 图

为什么 Glover-McFarlane 在工业界受欢迎:工程师本来就擅长看 Bode 图整形——他们知道"低频增益要大、高频要衰减、过渡带斜率不能太陡"。这个方法让他们保持这种直觉,同时获得 H-infinity 的理论鲁棒性保证。不需要理解 Riccati 方程也能用好

练习题
  1. (设计)\(G(s) = 1/(s(s+1)(0.1s+1))\):(a) 设计 \(W_1\) 使低频增益提高 20dB;(b) 设计 \(W_2\) 使高频衰减 40dB/dec;(c) 计算 \(\varepsilon_{\max}\)

  2. (对比) 对同一被控对象,分别用混合灵敏度(\(W_1 S + W_3 T\) 整形)和 Glover-McFarlane 设计控制器。比较:(a) 控制器阶数;(b) 名义性能;(c) 鲁棒余度。


§3.6.17 广义 Nyquist 判据与 Nichols 图 ⭐⭐⭐

MIMO 的 Nyquist 推广

SISO Nyquist 判据看 \(L(j\omega)\)\(-1\) 的圈数。MIMO 怎么办?

广义 Nyquist 定理:MIMO 闭环稳定 \(\Leftrightarrow\) \(\det(I + L(s))\) 沿 Nyquist D-围道绕**原点**的圈数 \(N = -P\),其中 \(P\) = 开环 \(L(s)\) 的 RHP 极点数。

特征轨迹方法(MacFarlane-Postlethwaite 1977):

计算 \(L(j\omega)\) 的特征值 \(\lambda_i(L(j\omega))\) 作为 \(\omega\) 的函数,绘出 \(n\) 条"characteristic loci"。所有轨迹绕 \(-1\) 点的逆时针总圈数 \(= P\) 则闭环稳定。

方向 Nyquist:在选定方向 \(v \in \mathbb{C}^m\) 上考察 \(v^* L(j\omega) v\) 的 Nyquist 图,揭示特定控制方向上的稳定裕度——对机器人中的 pitch/roll 解耦分析特别有用。

Nichols 图

Nichols 图的坐标为: - 横轴:\(\angle L(j\omega)\)(相位,度) - 纵轴:\(|L(j\omega)|\)(幅度,dB)

优势:在 Nichols 图上,恒定 \(|S|\) 和恒定 \(|T|\) 的等值线(M 圆和 N 圆)变为一组标准曲线。控制器设计就是"让 Nichols 曲线避开 \(|S| > S_{\max}\) 的区域"——这种可视化在 QFT 设计方法中是核心工具。

与 Bode 图的互补关系

特征 Bode 图 Nyquist 图 Nichols 图
坐标 幅度/相位 vs \(\omega\) Im vs Re 幅度 vs 相位
频率信息 直接可读 参数化隐含 参数化隐含
稳定性判断 裕度(近似) 圈数(精确) M 圆距离
最佳用途 初步设计/直觉 严格判稳 QFT 鲁棒整形

Part D · 机器人频域辨识应用

§3.6.18 关节柔性辨识 ⭐⭐

动机

高性能机器人关节不是刚性的——减速器(尤其是谐波减速器)引入了**柔性**(flexibility),表现为关节输出侧与电机侧之间存在弹性耦合。这种柔性导致关节的传递函数从简单的积分器 \(1/Js^2\) 变为含**共振-反共振**对的复杂传递函数。如果控制器不知道柔性存在,在共振频率附近会发生剧烈震荡。

柔性关节模型

双惯量模型(最简化):

\[J_m \ddot{\theta}_m + k_s(\theta_m - \theta_l) = \tau_m$$ $$J_l \ddot{\theta}_l - k_s(\theta_m - \theta_l) = -\tau_{\text{ext}}\]

其中 \(J_m\) = 电机侧惯量,\(J_l\) = 负载侧惯量,\(k_s\) = 柔性刚度,\(\theta_m, \theta_l\) = 两侧角度。

传递函数(从电机力矩 \(\tau_m\) 到负载角度 \(\theta_l\)):

\[G(s) = \frac{\theta_l}{\tau_m} = \frac{k_s}{J_m J_l s^4 + k_s(J_m + J_l)s^2}\]

关键特征: - 反共振频率 \(\omega_a = \sqrt{k_s / J_l}\)(负载侧看到的) - 共振频率 \(\omega_r = \sqrt{k_s(J_m + J_l)/(J_m J_l)}\)

在 Bode 图上表现为:\(\omega_a\) 处增益突降(反共振),\(\omega_r\) 处增益突升(共振)。

辨识方法

频域辨识流程

  1. 激励设计:多正弦(multisine)信号,覆盖感兴趣频段
  2. \(u(t) = \sum_{k=1}^K A_k \sin(\omega_k t + \phi_k)\)
  3. 频率选取:对数间隔,重点加密共振附近
  4. 相位 \(\phi_k\):随机化以降低峰值因子

  5. 数据采集:高采样率(至少 10 倍于最高激励频率)

  6. 频率响应估计

  7. ETFE(Empirical Transfer Function Estimate):\(\hat{G}(j\omega_k) = Y(\omega_k) / U(\omega_k)\)
  8. 问题:方差不随数据长度降低
  9. 改进:Welch 方法(分段平均)

  10. 参数拟合:用辨识出的频率响应拟合物理模型参数 \((J_m, J_l, k_s)\)

工程要点

步骤 关键细节 常见错误
激励 幅度不能太大(线性假设) 进入非线性区导致谐波失真
采样 需要抗混叠滤波器 高频共振被混叠到低频
ETFE 单次 DFT 方差无穷 把噪声当作系统特征
拟合 需要约束 \(J_m, J_l, k_s > 0\) 拟合出非物理的负参数

实际辨识案例:谐波减速器柔性

以 HD(Harmonic Drive)谐波减速器为例,其柔性远大于行星减速器。典型参数:

参数 HD CSD-20 行星减速器(对比)
刚度 \(k_s\) \(\sim 10^4\) Nm/rad \(\sim 10^6\) Nm/rad
共振频率 \(\omega_r\) 30-100 Hz 500+ Hz
阻尼比 \(\zeta\) 0.01-0.05 0.05-0.1

低阻尼 + 中等共振频率 = 控制器带宽受到严重限制。如果 PD 控制器的增益交叉频率接近 \(\omega_r\),系统会发生共振震荡。

多模态情况:真实谐波减速器往往不只一个共振频率——存在基频及其谐波成分。完整辨识需要识别多对共振/反共振:

\[G(s) = \frac{\prod_{k=1}^K (s^2 + 2\zeta_{z,k}\omega_{z,k}s + \omega_{z,k}^2)}{\prod_{k=1}^K (s^2 + 2\zeta_{p,k}\omega_{p,k}s + \omega_{p,k}^2)} \cdot G_{\text{rigid}}(s)\]

非线性效应

在大振幅下,谐波减速器的刚度是**非线性**的——小角度柔性大(低刚度),大角度刚度增加。这意味着共振频率随振幅变化!辨识时必须在工作点附近用小振幅激励,保证线性近似有效。

跨领域类比:关节柔性辨识之于机器人控制,就像桥梁固有频率测量之于结构工程。都是"先知道结构在哪些频率会共振,然后设计不激励这些频率的控制/结构"。区别在于桥梁的共振频率固定(除非老化),而机器人的共振频率随位形变化(惯量矩阵变化→有效刚度变化→\(\omega_r\) 变化)。

练习题
  1. (计算)\(J_m = 0.01\) kg\(\cdot\)m\(^2\)\(J_l = 0.1\) kg\(\cdot\)m\(^2\)\(k_s = 1000\) Nm/rad:(a) 计算反共振频率 \(\omega_a\) 和共振频率 \(\omega_r\);(b) PD 控制器的增益交叉频率至多为多少?

  2. (编程) 用 Python scipy.signal 画上述系统的 Bode 图,标注共振和反共振的位置与峰值。


§3.6.19 共振频率测量与 Notch 滤波 ⭐⭐

动机

一旦辨识出共振频率 \(\omega_r\),控制设计的标准做法是在控制器中加入 notch 滤波器(陷波器)——在共振频率处"挖掉"一个窄带增益,防止控制器在该频率激励共振。

Notch 滤波器设计

标准 notch 滤波器传递函数:

\[N(s) = \frac{s^2 + 2\zeta_z \omega_n s + \omega_n^2}{s^2 + 2\zeta_p \omega_n s + \omega_n^2}\]
  • \(\omega_n\) = 中心频率(设为辨识出的 \(\omega_r\)
  • \(\zeta_z\) = 零点阻尼(小 → 深 notch)
  • \(\zeta_p\) = 极点阻尼(大 → 宽 notch)

设计权衡

  • Notch 太窄(\(\zeta_z\) 很小、\(\zeta_p\) 接近 \(\zeta_z\)):对频率偏移敏感——如果 \(\omega_r\) 辨识有误差或温漂导致变化,notch 可能"错过"共振
  • Notch 太宽:虽然鲁棒,但在 notch 频段附近相位损失大,可能降低稳定裕度

\(H_\infty\) 混合灵敏度替代方案

更系统化的方法是把柔性当作**不确定性**,用 \(H_\infty\) 混合灵敏度设计控制器,让优化器自动"学会"避开共振。权重 \(W_3(s)\) 在共振频率附近设为大值——告诉优化器"这个频段的不确定性大,不要在这里用高增益"。

Notch 滤波器的实现细节

离散化注意事项

Notch 滤波器的窄带特性使它对离散化方法极其敏感:

离散化方法 效果 适用性
双线性变换(Tustin) 频率畸变但可补偿 推荐,加预畸变
零阶保持(ZOH) 低频准确,高频偏移 采样率 >> \(\omega_n\) 时可用
前向欧拉 可能引入不稳定 不推荐
脉冲不变 混叠严重 不推荐

预畸变 Tustin:为确保 notch 中心频率在离散化后不偏移,使用预畸变:\(\omega_d = (2/T_s)\tan(\omega_n T_s/2)\),以 \(\omega_d\) 替代 \(\omega_n\) 做设计。

自适应 Notch

如果共振频率随工况变化(如机器人位形改变导致等效惯量变),需要**自适应 notch 滤波器**。两种方案:

  1. 查表法:预先辨识不同位形下的 \(\omega_r\),运行时根据当前位形查表切换 notch 参数
  2. 在线辨识法:用窄带 RLS 持续估计当前 \(\omega_r\),实时调整 notch 中心频率

反事实推理:如果 notch 的中心频率与实际共振频率偏了 10% 会怎样?窄 notch(\(\zeta_p\) 小):notch 的增益衰减区完全错过共振频率——等于没加 notch,共振照样发生。宽 notch(\(\zeta_p\) 大):虽然能覆盖偏移后的共振,但附近的相位损失大——可能降低稳定裕度。这就是 notch 设计中**带宽-鲁棒性权衡**的本质。

完整的柔性关节控制设计流程

将辨识和控制设计串联:

  1. 辨识阶段:多正弦激励 → ETFE → 峰值检测 → 参数拟合得 \((\omega_r, \omega_a, \zeta)\)
  2. Notch 设计\(\omega_n = \omega_r\)\(\zeta_z = 0.01\)(深 notch),\(\zeta_p = 0.3\)(宽 notch,鲁棒)
  3. PD + Notch 控制器\(K(s) = (K_p + K_d s) \cdot N(s)\)
  4. 验证:画 Bode 图确认增益交叉频率 \(\omega_c < \omega_a\)(反共振之下)
  5. H∞ 精细化(可选):如果 PD+Notch 裕度不够,用 H∞ 混合灵敏度重新设计
练习题
  1. (设计)\(\omega_r = 200\) rad/s、\(\zeta = 0.02\) 的系统,设计 notch 滤波器。要求:(a) 在 \(\omega_r\) 处衰减 > 40dB;(b) 对 \(\omega_r\) 有 ±10% 偏移的鲁棒性。确定 \(\zeta_z\)\(\zeta_p\)

  2. (编程) 用 Python 设计 PD + Notch 控制器,画出开环 Bode 图。验证相位裕度 > 45 度、增益裕度 > 6dB。

  3. (综合) 如果共振频率在 180-220 rad/s 范围内变化,比较两种方案:(a) 单个宽 notch;(b) 把共振频率变化建模为乘性不确定性,用 H∞ 设计。哪种性能更好?


⚠️ 常见陷阱与误区

编程陷阱

⚠️ 编程陷阱:MATLAB n4sid 不设阶数范围
   错误做法:n4sid(data) 不指定阶数
   现象:自动选阶给出 20 阶模型,实际系统只有 4 阶
   根本原因:自动选阶用 AIC/MDL 准则,对噪声敏感
   正确做法:
     先看 Hankel 奇异值间隙:compare(data, n4sid(data, 1:20))
     选择间隙最大的阶数
   自检方法:交叉验证——用一半数据辨识,另一半验证
⚠️ 编程陷阱:DeePC 中 Hankel 矩阵维度设置错误
   错误做法:T_ini 和 N(预测步长)设置不匹配
   现象:优化器报"infeasible"或给出异常结果
   根本原因:T_ini 应 >= 系统阶数 n(否则初始状态不可确定)
   正确做法:
     T_ini = max(n, lag)  # lag 为系统的有效滞后
     确保离线数据长度 T >= (m+1)(T_ini + N + n) - 1

概念误区

💡 概念误区:"增大 domain randomization 范围总是更好"
   新手想法:"鲁棒性嘛,不确定性越大训练越好"
   实际上:这等价于要求 γ < γ*——超过极限没有可行的控制器
   结果:策略不收敛或变得极度保守(站着不动最"安全")
   正确思维:randomization 范围应该 ≈ 真实不确定性的 1.5-2 倍
            不是越大越好,是"刚好覆盖"最好
💡 概念误区:"ARX 辨识出的传递函数就是系统传递函数"
   新手想法:"y = (B/A)u + (1/A)e,所以系统传递函数是 B/A"
   实际上:如果噪声不是白噪声而是有色噪声(如 60Hz 干扰),
          ARX 会为了匹配噪声谱而扭曲 A——导致 B/A 有虚假极点
   正确做法:用 OE 或 BJ 模型(动态与噪声解耦);
           或至少验证 ARX 的残差是否为白噪声

思维陷阱

🧠 思维陷阱:"频域分析和时域分析是两种独立工具"
   新手想法:"要么用时域(状态空间),要么用频域(传递函数),选一个"
   实际上:两者是同一系统的不同视图,互相补充:
          - 时域揭示瞬态行为、稳定性证明、非线性处理
          - 频域揭示稳态增益分布、鲁棒裕度、带宽限制
          好的控制工程师会在两个域之间自如切换
   正确思维:用时域做精确分析和实现,用频域做设计直觉和验证
🧠 思维陷阱:"H∞控制器总是比PID好"
   新手想法:"H∞是最优的,PID是老古董,直接用H∞"
   实际上:H∞控制器阶数通常等于被控对象+权函数的阶数之和
          → 可能是20阶以上的控制器
          → 实现复杂、调试困难、对参数敏感
          PID只有3个参数,物理含义清晰,容易调试
   正确思维:PID能满足性能要求时就用PID(KISS原则);
          只有当性能要求严格且不确定性大到PID裕度不够时才上H∞
   实际工业比例:90%的控制回路用PID就够了
🧠 思维陷阱:"辨识出的模型越精确越好"
   新手想法:"我要辨识一个超高精度的模型来做控制设计"
   实际上:过度精确的高阶模型可能:
          1. 过拟合噪声(把随机波动当系统动态)
          2. 导致高阶控制器(因为控制器阶数≈模型阶数)
          3. 对模型不确定性更敏感(高阶极点对参数微扰敏感)
   正确思维:辨识的目标是"控制有用的准确度",不是"逼近真实的准确度"
          Gevers 的 identification for control 原则:
          模型在闭环带宽内准确即可,带宽外的误差无关紧要
💡 概念误区:"Nyquist图绕-1点的圈数就是不稳定极点数"
   新手想法:"N就是不稳定极点数Z"
   实际上:N = Z - P,其中P是开环RHP极点数
          对于开环稳定系统(P=0),N=Z确实如此
          但对于开环不稳定系统(P>0),需要逆时针P圈才能稳定!
   正确记忆:Z = N + P
          闭环稳定要求Z=0,即N=-P(逆时针P圈)
⚠️ 编程陷阱:python-control 和 MATLAB 的H∞求解器符号约定不同
   错误做法:直接把MATLAB代码的P矩阵传给python-control
   现象:得到的控制器不稳定化系统
   根本原因:两个库对广义被控对象P的(D11,D12,D21,D22)布局可能不同
   正确做法:
     仔细阅读两个库的文档,确认输入输出通道的排列
     用简单例子验证结果一致后再做复杂问题
   自检方法:验证闭环传递函数的H∞范数在两个工具中一致

二、进阶章节(档位 4)

§3.6.A 闭环辨识与 Dual Control ⭐⭐⭐

闭环下 \(u\) 与噪声 \(e\) 相关(因为 \(u\) 由控制器根据 \(y\) 计算,而 \(y\) 包含 \(e\)),直接最小二乘**系统性有偏**。三条路线:

方法 原理 要求 适用场景
直接法 忽略反馈,要求噪声模型灵活 BJ 模型族 工业在线辨识
间接法 先辨识闭环 \(T\),由已知 \(C\) 反推 \(G\) \(C\) 精确已知 实验室环境
联合 I/O 法 \([u;y]\) 视作外源 \(r\) 驱动的联合过程 有参考信号 \(r\) 过程控制

Dual control(Feldbaum 1960s)是探索-利用最优折中的连续时间版本——控制器同时要"做好控制"(利用当前模型)和"激励系统"(获取新信息改善模型)。信息态的 HJB 方程一般不可解析求解,这也是为什么 RL 中的 exploration-exploitation tradeoff 如此困难。

§3.6.B 频域辨识与 ETFE ⭐⭐⭐

ETFE \(\hat{G}_N(e^{j\omega}) = Y_N(\omega)/U_N(\omega)\)(DFT 商)方差不随 \(N\) 降低——因为每个频率点的"有效样本"只有 1 个。

Welch 方法改进:重叠分段 + 加窗 FFT + 平均周期图,得到一致的谱估计。窗长控制 bias-variance 折衷:

  • 长窗:频率分辨率高但方差大
  • 短窗:方差小但频率分辨率低(相邻频率被平滑在一起)

频域子空间方法(McKelvey, de Callafon)对振动控制/机器人柔性模态辨识是首选——直接在频域数据上做 N4SID 类操作。

§3.6.C Willems 引理的现代推广 ⭐⭐⭐⭐

  1. Regularized / robust DeePC:处理噪声数据(Coulson-Lygeros-Dorfer CDC 2019)
  2. Stochastic / distributionally robust DeePC:期望意义的 Hankel 约束
  3. Nonlinear 推广:kernel Hankel、Koopman-lifted Hankel、Taylor 多项式版本
  4. Informativity framework(van Waarde-Eising-Trentelman-Camlibel 2020):弱于 PE 的"数据信息充分"条件

§3.6.D LFT 建模框架 ⭐⭐⭐

下 LFT \(F_l(M,K) = M_{11} + M_{12}K(I - M_{22}K)^{-1}M_{21}\)\(K\) 接下通道) 上 LFT \(F_u(M,\Delta) = M_{22} + M_{21}\Delta(I - M_{11}\Delta)^{-1}M_{12}\)\(\Delta\) 接上通道)

所有鲁棒问题可写为"\(\Delta\)-\(M\)-\(K\)"结构:外回路 \(\Delta\) 不确定性、内回路 \(K\) 控制,名义被控对象 \(M\) 居中。任何有理参数不确定性可写为 LFT

§3.6.E Passivity 与 Port-Hamiltonian ⭐⭐⭐

**KYP 引理**建立三元等价:频域不等式 \(\Leftrightarrow\) LMI 中存在 \(P\) \(\Leftrightarrow\) 存贮函数时域耗散不等式。

Port-Hamiltonian 系统: $\(\dot{x} = [J(x) - R(x)]\nabla H(x) + g(x)u, \quad y = g(x)^\top\nabla H(x)\)$

\(J = -J^\top\) 互联、\(R = R^\top \ge 0\) 耗散、\(H\) 能量存贮。天然 passive。设计范式 IDA-PBC:通过能量塑形 + 阻尼注入构造稳定控制。

在腿足机器人中,能量成型是 ZMP 外的另一主流范式——通过 port-Hamiltonian 视角,双足 walking 被看作能量注入(push-off)+ 耗散(heel-strike)的混合系统。

§3.6.F 数据驱动鲁棒控制前沿 ⭐⭐⭐⭐

De Persis-Tesi 2020:用 Willems 引理把状态反馈稳定化化为**仅依赖数据的 LMI**——无需辨识 \((A,B)\)

Berberich et al. 2021:首个 DD-MPC 闭环稳定性证明——带终端约束的名义 DD-MPC 指数稳定。

Dean-Mania-Matni-Recht-Tu 2020:LQR 样本复杂度——端到端"辨识 + SLS 鲁棒综合"给出有限样本次优界。

§3.6.G Gap Metric 与 ν-Gap ⭐⭐⭐

Georgiou-Smith gap metric**度量"两个系统在反馈意义下有多相似"。**Vinnicombe ν-gap 是更紧的改进版本,与广义稳定裕度 \(b_{P,K}\) 的不等式:

\[b_{P_2,K} \ge b_{P_1,K} - \delta_\nu(P_1, P_2)\]

使 ν-gap 与 \(H_\infty\) 回路成形结合优雅:模型不确定度 + 控制器鲁棒裕度 = 实际性能。

§3.6.H 非线性辨识与 Koopman 线性化 ⭐⭐⭐

Koopman 算子**把非线性系统在**观测函数空间**上线性化为无穷维线性算子。**DMDEDMD 给出有限维近似。

在 RL model-learning 中用 Koopman:学出 lifted 线性模型后直接套用 LQR/MPC/SLS——把非线性控制降维为线性控制。

§3.6.I 量化反馈理论(QFT)⭐⭐⭐

Horowitz 1963 创立的频域鲁棒设计方法。核心:在 Nichols 图上对名义开环 \(L_0\) 整形,满足由被控对象不确定集产生的 Horowitz bounds。

QFT vs \(\mu\)-synthesis:QFT 是工程文化(直观、手动);\(\mu\) 是数学文化(自动、数值)。前者对 SISO 参数不确定性高效,后者对 MIMO 必备。


三、核心教材深度对照(10 本)

书目 定位 侧重
Ljung《System Identification》2ed (1999) 辨识圣经 PEM + 四大模型族 + 渐近理论
Soderstrom-Stoica《System Identification》 (1989) 数学互补 IV、谱分析、完整证明
Pintelon-Schoukens《Freq. Domain System ID》2ed (2012) 频域辨识 Multisine、BLA
Zhou-Doyle-Glover《Robust and Optimal Control》 (1996) μ/H∞ 圣经 DGKF、Hankel、LFT
Skogestad-Postlethwaite《Multivariable Feedback Control》2ed (2005) 工程频域圣经 RGA、S/KS/T、case studies
Doyle-Francis-Tannenbaum《Feedback Control Theory》 (1990) H∞ SISO 入门 Nevanlinna-Pick
Dullerud-Paganini《Robust Control Theory: Convex》 (2000) LMI 视角 凸方法、IQC
Markovsky《Low-Rank Approximation》2ed (2019) 数据驱动底层 结构化 SLRA
Van der Schaft《L2-Gain and Passivity》3ed (2017) 无源性 KYP、port-Hamiltonian
Brunton-Kutz《Data-Driven Science》2ed (2022) Koopman/DMD SVD, DMD, SINDy

四、关键论文清单

  • Willems et al. 2005 "Persistency of excitation," Syst. Control Lett. 54(4):325-329
  • Van Overschee-De Moor 1994 N4SID, Automatica 30(1):75-93
  • Coulson-Lygeros-Dorfer 2019 DeePC, ECC arXiv:1811.05890
  • Anderson-Doyle-Low-Matni 2019 SLS, Annu. Rev. Control 47:364-393
  • Megretski-Rantzer 1997 IQC, IEEE TAC 42(6):819-830
  • Doyle 1982 μ analysis, IEE Proc.-D 129(6):242-250
  • Doyle-Glover-Khargonekar-Francis 1989 DGKF, IEEE TAC 34(8):831-847
  • Glover-McFarlane 1989 NCF, IEEE TAC 34(8):821-830
  • Freudenberg-Looze 1985 Bode integrals, IEEE TAC 30(6):555-565
  • Iyengar 2005 Robust DP, Math. OR 30(2):257-280
  • Dean-Mania-Matni-Recht-Tu 2020 Sample complexity LQR, FoCM 20:633-679
  • De Persis-Tesi 2020 Data-driven formulas, IEEE TAC 65(3):909-924
  • Berberich et al. 2021 DD-MPC, IEEE TAC 66(4):1702-1717
  • Brunton-Budisic-Kaiser-Kutz 2022 Koopman, SIAM Review 64(2):229-340

五、C++/Python/Julia/MATLAB 库映射

Python 辨识:SIPPY(FIR/ARX/ARMAX/OE/BJ/N4SID/MOESP/CVA);python-control;harold。

Python 数据驱动:PyDeePC(CVXPY 实现);slspy;PyKoopman;PySINDy。

Python 鲁棒/IQC:cvxpy + SCS/MOSEK 后端求解 LMI。

MATLAB:System Identification Toolbox(ssest, n4sid, arx);Robust Control Toolbox(musyn, hinfsyn, loopsyn)。

Julia:ControlSystems.jl;ControlSystemIdentification.jl(含 N4SID/PEM)。


六、机器人工程应用

应用领域 本专题对应 具体方法
四足 sim-to-real §3.6.11 RMDP Dynamics randomization = robust MDP 采样近似
机械臂柔性控制 §3.6.18-19 频域辨识共振 + notch + H∞ 混合灵敏度
DeePC 机器人 MPC §3.6.6 Willems 数据直接做约束优化,跳过辨识
在线外参标定 §3.6.2 RLS RLS 遗忘因子在线估计 IMU-Camera 外参
无人机鲁棒飞控 §3.6.16 H∞ Skogestad loop-shaping 对抗风扰
车辆动力学 §3.6.9 μ LFT 建模 tire 不确定性 + μ-synthesis

七、关键定理清单(12 个)

  1. PEM 渐近正态性\(\sqrt{N}(\hat{\theta}_N - \theta_0) \xrightarrow{d} \mathcal{N}(0, P_\theta)\),高斯下达 CRLB
  2. 子空间一致性:PE 充分下 N4SID/MOESP/CVA 一致估计 \((A,B,C,D)\)
  3. Willems 基本引理:PE 数据的 Hankel 列空间 = LTI 轨迹空间
  4. 小增益定理\(\|M\|_\infty\|\Delta\|_\infty < 1 \Rightarrow\) 闭环内稳定
  5. 结构奇异值稳定性\(\sup_\omega \mu(M(j\omega)) < 1 \Leftrightarrow\) 鲁棒稳定
  6. IQC 主定理:同伦 + 频率不等式 \(\Rightarrow\) 闭环稳定
  7. KYP 引理:频域 FDI \(\Leftrightarrow\) LMI \(\Leftrightarrow\) 存贮函数三元等价
  8. DGKF:H∞ 次优解存在 \(\Leftrightarrow\) 两 Riccati 有解且 \(\rho(X_\infty Y_\infty) < \gamma^2\)
  9. Glover-McFarlane NCF\(\varepsilon_{\max} = (1-\|[N,M]\|_H^2)^{1/2}\) 闭式鲁棒余度
  10. Bode 灵敏度积分\(\int_0^\infty \ln|S| d\omega = \pi\sum_i \mathrm{Re}(p_i)\)(水床)
  11. 广义 Nyquist\(\det(I+L)\) 绕原点圈数 \(= -P\) 则闭环稳定
  12. Robust Bellman:(s,a)-rectangular 下 robust Bellman 算子 \(\gamma\)-压缩

八、学习资源

英文免费课程: - Steve Brunton YouTube "Data-Driven Control" 系列 - Caltech CDS 212 (Murray) - Stanford EE363 (Boyd) - MIT 6.243J (Megretski) - Matni @ Penn "Learning & Control" - Dorfer ETH "Advanced Topics in Control"

中文资源: - B站 DR_CAN "Advanced 控制理论" 含鲁棒控制/Sliding Mode(推荐入门) - B站 周克敏《鲁棒控制 2021 版》——覆盖 §3.6.7-§3.6.13(中文最系统的鲁棒控制公开课) - 知乎专栏 "鲁棒控制基本概念"——基于周克敏课的学习笔记,适合快速入门 - 知乎 "DeePC 论文阅读"——数据驱动控制的中文详细解读 - 中文教材:吴敏《鲁棒控制理论》(高等教育出版社)、俞立《鲁棒控制:LMI 方法》(清华大学出版社) - 侯媛彬等《系统辨识》(清华大学出版社)——辨识方向的中文参考 - 集智俱乐部 2024 "控制科学前沿" 系列讲座


九、自测题(含跨章综合题)

  1. (辨识基础) 给定 SISO 二阶系统 \(m\ddot{q} + c\dot{q} + kq = u\)。(a) 写出 ARX(2,1,1) 回归向量;(b) 若输入为 3-频正弦,PE 阶最多为多少?(c) 闭环加 PD 后直接法为什么需要精确噪声模型?

  2. (Willems / DeePC) 证明:可控 LTI 系统,若 \(u^d\)\((n+L)\) 阶 PE,则 \(\mathcal{H}_L(u^d)\) 行满秩。

  3. (鲁棒) 名义 \(G(s) = 1/(s-1)\),乘性不确定性 \(W_m(s) = 0.1(s+10)/(s+1)\)。(a) 画 \(|W_m(j\omega)|\);(b) 鲁棒稳定充要条件(用 \(T\));(c) 设计满足条件的 \(K\)

  4. (频域 MIMO) 对 2x2 系统 \(G(s)\):(a) 在 \(\omega=1\) 求奇异值和条件数;(b) 计算 \(G(0)\) 的 RGA;(c) 对角控制器如何用广义 Nyquist 判稳。

  5. (跨章综合:3.5 LQR + 本章 H∞) 对给定系统,分别设计 LQR 和 H∞ 控制器,比较:(a) 名义性能(步响应);(b) 参数扰动 20% 下的性能退化;(c) 用 Bode 图解释差异的频域原因。解释为什么 LQR 性能更好但 H∞ 鲁棒性更强。


本章常见误解汇总

误解 正确理解
\(H_\infty\) 控制器性能总比 LQR 差 \(H_\infty\) 在名义性能上确实不如 LQR(因为它为最坏情况留余量),但在参数不确定时性能退化远小于 LQR;两者是性能-鲁棒性权衡的两端
增益裕度和相位裕度足以判断多变量系统鲁棒性 经典裕度只适用于 SISO;MIMO 系统需用奇异值裕度(\(\sigma_{\min}(I+L)\))或结构化奇异值 \(\mu\) 来度量
系统辨识只需要足够多的数据就能成功 数据量是必要条件,但激励信号的频率覆盖(持续激励条件)才是关键;即使数据量大,若激励不足则参数不可辨识
PEM(预测误差法)总优于子空间辨识 PEM 在正确模型结构下渐近统计最优,但需要初值且可能陷入局部极小;子空间辨识无需初值且对模型阶次鲁棒,适合 MIMO 黑箱辨识
小增益定理过于保守,工程中不实用 小增益定理给出的是充分条件,确实保守,但它提供了系统性的鲁棒性分析框架;工程中常用 \(\mu\)-分析减少保守性
遗忘因子 \(\lambda\) 越小跟踪越快 \(\lambda\) 过小会导致协方差矩阵爆炸和参数估计方差剧增(偏差-方差权衡),工程中通常 \(\lambda \in [0.95, 0.999]\)
频域分析只适用于线性系统 非线性系统可通过描述函数法、谐波平衡或在工作点线性化后做频域分析;现代系统辨识中频域方法对非线性系统的局部分析仍然有效

本章小结

主题 核心思想 关键工具 应用场景
批量 LS 正交投影到列空间 \((\Phi^\top\Phi)^{-1}\Phi^\top Y\) 离线辨识
RLS Kalman 滤波 applied to 参数估计 Sherman-Morrison 更新 在线自适应
遗忘因子 偏差-方差权衡,时变跟踪 \(\lambda \in (0,1)\) 指数加权 参数突变检测
PEM 最大似然 = 最小预测误差 Gauss-Newton 迭代 高精度模型
子空间法 SVD 一次性提取系统矩阵 Hankel SVD + LS MIMO 辨识
Willems 引理 数据即模型 Hankel 列空间 DeePC
SLS 闭环响应为设计变量 仿射实现约束 分布式/稀疏控制
H∞ 博弈 minimax = 最坏情况最优 博弈 Riccati 鲁棒控制
小增益 回路增益 < 1 → 稳定 \(\|M\|\|\Delta\| < 1\) 鲁棒稳定判据
μ 分析 结构化不确定性的精确度量 D-scaling 上界 μ-synthesis
IQC 统一非线性/时变不确定性 频域 LMI 神经网络验证
Nyquist 辐角原理 → 圈数 → 稳定性 \(N = Z - P\) 精确判稳
水床效应 灵敏度面积守恒 Bode 积分 带宽硬限制
奇异值 Bode MIMO 方向性增益 \(\bar{\sigma}, \underline{\sigma}\) 多变量整形
关节辨识 共振/反共振频率提取 频域子空间 + notch 柔性机器人

累积项目:本章新增模块

数据驱动控制演示项目(延续前几章的控制系统项目):

本章新增模块:

  1. 模块 A:系统辨识完整流程
  2. 目标系统:弹簧-质量-阻尼(一阶降为离散 ARX)
  3. 实验设计:生成 PRBS 和多正弦激励信号
  4. 辨识对比:ARX vs OE vs N4SID(使用 SIPPY 库)
  5. 模型验证:交叉验证 + 残差白噪声检验
  6. RLS 在线跟踪:实现带遗忘因子的 RLS,模拟参数突变

  7. 模块 B:DeePC 数据驱动 MPC

  8. 收集离线数据(构造 Hankel 矩阵)
  9. 实现 DeePC 核心优化(CVXPY + OSQP)
  10. 对比实验:DeePC vs 基于模型的 MPC vs 无模型 PID
  11. 正则化调参:\(\lambda_g\)\(\lambda_y\) 对性能的影响
  12. 鲁棒性测试:参数突变后三种方法的恢复能力

  13. 模块 C:H∞ 控制器设计与频域验证

  14. 对不稳定系统(倒立摆线性化)设计 H∞ 混合灵敏度控制器
  15. 画闭环 Bode 图:验证 \(|W_1 S| < 1\)\(|W_3 T| < 1\)
  16. 画 Nyquist 图:验证稳定性判据
  17. 鲁棒性仿真:模型参数变化 ±30% 后闭环是否仍稳定
  18. 对比 LQR 和 H∞:名义性能 vs 鲁棒性的 trade-off

  19. 模块 D:关节柔性辨识与 Notch 滤波

  20. 对仿真的柔性关节系统做频率扫描
  21. 提取共振/反共振频率
  22. 设计 Notch 滤波器并验证震荡消除
  23. 画 Bode 图对比:有/无 Notch 的开环频率响应

代码结构(保存于 projects/data_driven_control/):

ch3.6_identification_robust_freq/
├── module_A_identification/
│   ├── system_sim.py          # 被辨识系统仿真
│   ├── excitation_design.py   # 激励信号生成
│   ├── arx_oe_n4sid.py       # 三种辨识方法对比
│   ├── rls_forgetting.py     # 带遗忘因子的 RLS
│   └── validation.py         # 模型验证工具
├── module_B_deepc/
│   ├── hankel_builder.py     # Hankel 矩阵构造
│   ├── deepc_solver.py       # DeePC 优化器
│   ├── mpc_baseline.py       # 基于模型的 MPC 对比
│   └── regularization_sweep.py
├── module_C_hinf/
│   ├── plant_setup.py        # 广义被控对象构造
│   ├── hinf_design.py        # H∞ 综合
│   ├── bode_nyquist_plot.py  # 频域验证
│   └── robustness_test.py    # 参数扰动仿真
└── module_D_flexibility/
    ├── flex_joint_sim.py     # 柔性关节仿真
    ├── freq_sweep.py         # 频率扫描辨识
    ├── notch_design.py       # Notch 滤波器设计
    └── closed_loop_verify.py # 闭环验证

里程碑检查点: - [ ] 模块 A:能独立完成从激励设计到模型验证的全流程 - [ ] 模块 B:DeePC 在正弦跟踪任务上性能接近完美 MPC - [ ] 模块 C:H∞ 控制器在 ±30% 参数变化下保持稳定 - [ ] 模块 D:Notch 滤波器消除柔性关节共振震荡


延伸阅读

资源 难度 适合阶段 免费获取
Astrom-Murray《Feedback Systems》2ed ⭐ 入门 频域基础 fbsbook.org 全书 PDF
Skogestad-Postlethwaite Ch.3,6,9 ⭐⭐ 核心 MIMO 频域 作者官网全书 PDF
Zhou-Doyle-Glover Ch.11-16 ⭐⭐⭐ 进阶 μ/H∞ 理论 勘误页有部分章节
Doyle-Francis-Tannenbaum ⭐⭐ 入门/核心 H∞ SISO Francis 主页 PDF
Dean et al. 2020 arXiv:1710.01688 ⭐⭐⭐ 进阶 样本复杂度 arXiv 免费
Martin-Schon-Allgower 2023 综述 ⭐⭐⭐⭐ 前沿 数据驱动非线性 arXiv 免费
Brunton-Kutz 2022 databookuw.com ⭐⭐ 核心 Koopman/DMD 作者网站全书 PDF
Coulson et al. 2019 DeePC arXiv:1811.05890 ⭐⭐⭐ 进阶 数据驱动 MPC arXiv 免费
Megretski-Rantzer 1997 IQC ⭐⭐⭐��� 研究级 统一鲁棒框架 IEEE 付费
Ljung《System Identification》Ch.1,7,9 ⭐⭐ 核心 辨识理论 无免费版

推荐学习路径: 1. 先读 Astrom-Murray 建立频域直觉(1 周) 2. 读 Skogestad-Postlethwaite Ch.3(S/T/KS)+ Ch.6(MIMO)建立多变量视角(1 周) 3. 读 Dean et al. 2020 理解学习-控制统一(3 天精读) 4. 做累积项目模块 A-D 巩固(2 周) 5. 根据研究方向深入:RL → Robust MDP 文献;MPC → DeePC/SLS;硬件 → 柔性辨识


🔧 故障排查手册

症状 可能原因 排查步骤 相关节
ARX 残差有周期性 噪声模型不够灵活 1.画残差自相关 2.换 ARMAX/BJ 3.增加阶数 §3.6.3
RLS 估计"僵化" \(P(t)\to 0\),无遗忘 1.打印 \(P(t)\) trace 2.加遗忘因子 3.检查 PE §3.6.2
N4SID 阶数选不定 奇异值无清晰间隙 1.增加数据量 2.改变激励信号 3.尝试 CVA §3.6.4
DeePC 报 infeasible \(T_{\text{ini}}\) 太小或数据不够 PE 1.增大 \(T_{\text{ini}}\) 2.加松弛 \(\sigma_y\) 3.检查数据 PE 阶 §3.6.6
H∞ Riccati 无解 \(\gamma\) 选得太小 1.放大 \(\gamma\) 2.检查 \((A,B_2)\) 可镇定 3.检查 \((C_1,A)\) 可检测 §3.6.8
μ 上下界 gap 大 块数多(>3) 或结构复杂 1.简化不确定性结构 2.用 DG-K 3.接受上界保守性 §3.6.9
Bode 图相位不匹配 系统有时延未建模 1.检查 ETFE 相位 2.加 \(e^{-\tau s}\) 3.用 Pade 近似 §3.6.12
Notch 加了但仍震荡 Notch 中心偏移或带宽不够 1.重新辨识共振频率 2.加宽 Notch 带宽 3.检查温漂 §3.6.19
控制器阶数过高无法实时��行 权函数阶数太高 1.降低 W1/W2/W3 阶数 2.改用 Glover-McFarlane 3.做模型降阶 §3.6.16
RGA 显示强耦合但对角控制器似乎工作 低频 RGA 大不代表所有频率 1.画频率依赖的 RGA 2.检查闭环带宽附近的条件数 §3.6.14

十一、与后续专题的桥梁

向前回看 3.5(LQR/LQG/Riccati):本专题的 H∞ DGKF 解复用了 3.5 的 Riccati 机器;SLS 把 LQR 从 \(K\) 参数化升级为 \(\{\Phi_x, \Phi_u\}\);IQC 涵盖了 LQG 无法处理的非线性/参数不确定性。

接入 3.7(自适应控制与学习控制):辨识 + 鲁棒综合是"固定数据-固定控制器";自适应控制是"在线辨识-在线重综合",其稳定性证明用 KYP 引理(§3.6.E)、持续激励条件(§3.6.5)。

接入第四批 RL:Willems 引理为 model-free RL 提供非参数系统模型;DeePC 是 MPC-RL 混合的原生平台;Robust MDP 给 domain randomization 严格语义。

接入第六批具身智能与 sim-to-real:§3.6.11 给 domain randomization 明确数学语义;Koopman 为 foundation model-based 机器人学习提供线性化层。IQC 为验证神经网络策略的鲁棒性提供数学框架。

接入机器人硬件实践:频域辨识(§3.6.18-19)是机器人关节调试的日常工具;Notch 滤波 + H∞ 是工业机械臂柔性控制的标准方案。


十二、时间预算

核心档位 3 (15-20h): - §3.6.1-2 辨识基础 + LS/RLS:3h - §3.6.3 PEM + 四大模型族:2h - §3.6.4-6 子空间 + PE + Willems + DeePC:4h - §3.6.7-8 SLS + H∞ 博弈:2.5h - §3.6.9-11 μ + IQC + RMDP:2.5h - §3.6.12-17 频域完整体系:3-5h

进阶档位 4 (12-18h): - §3.6.A-B 闭环/频域辨识:3h - §3.6.C-F Willems 推广 + 数据驱动鲁棒:3h - §3.6.D-E LFT + Passivity/Port-Hamiltonian:3h - §3.6.G-I ν-gap + Koopman + QFT:3h - 综合里程碑:复现 Dean et al. 2020 端到端实验(辨识→SLS→LQR 有限样本保证):4-6h(强烈推荐作为博士资格考试前的综合检验)


十三、总结

本专题把系统辨识、鲁棒控制、频域多变量分析合在一处,并非凑数——三者构成可部署最优控制的不可分割闭环:辨识决定了不确定集的几何,鲁棒综合决定了在该几何下可达的最好性能,频域多变量工具则是验证与调试两者的共同语言。

更深的 insight 是:三者在数学对象上已经统一。Willems Hankel 矩阵同时是辨识的核心结构、数据驱动控制的非参数模型、以及 DeePC/SLS 的凸优化变量;\(H_\infty\) 范数同时度量辨识误差、鲁棒稳定性、博弈值、ν-gap 不确定度;LMI/SDP 同时求解 IQC、\(\mu\)-synthesis 上界、KYP 条件、SLS。

掌握这一枚多面硬币,是博士级控制理论的分水岭

对机器人交叉博士生的实战意义: - sim-to-real 不再是玄学——randomization 范围 = robust MDP 不确定集 = \(H_\infty\)\(\gamma\) 的倒数 - RL 样本复杂度有了控制论下界——Dean et al. 2020 把学习-控制-鲁棒性串起来 - MPC 可以学——DeePC 把模型未知下的约束优化写成 Hankel QP

真正新的研究机会在**三者的交叉**:数据驱动 \(\mu\)-synthesis、IQC-based RL certificate、Koopman-SLS、Port-Hamiltonian RL、ν-gap sim-to-real 保证——这些方向在 2023-2026 才刚起步,正是博士论文题目的富矿。

三块拼图的统一数学视角

最后,让我们用一张表回顾三块拼图如何在**同一批数学对象**上统一:

数学对象 在辨识中 在鲁棒控制中 在频域分析中
Hankel 矩阵 子空间辨识的核心 DeePC 的约束矩阵 系统阶数的表征
\(H_\infty\) 范数 辨识误差的度量 鲁棒稳定裕度 最坏方向增益
Riccati 方程 Kalman 滤波/RLS H-infinity 综合 谱分解
SVD 子空间提取 \(\mu\) 上界 (D-scaling) 方向增益分析
LMI/SDP 约束辨识问题 IQC 稳定性验证 KYP 引理
Youla/SLS 参数 闭环辨识中的 Q 鲁棒综合的自由度 闭环传递函数参数化

这种统一性不是巧合——它反映了**线性系统理论的内在一致性**。掌握了一个方向的数学工具(如 SVD/Riccati/LMI),就能自然迁移到其他两个方向。这正是"博士级理解"与"工程师级使用"的分水岭:工程师知道每个工具怎么用,博士知道它们**为什么是同一个工具**。

路线图走到这里,你已经从"用控制工具"过渡到"创造控制理论"。下一步,进入第四批 RL 与具身智能,把这三块拼图真正拼到机器人身上。


综合练习题

练习 6.1 ⭐(Bode 图与稳定裕度):对 cart-pole 在倒立平衡点的线性化系统,设计 LQR 反馈后画出开环传递函数的 Bode 图。读出增益裕度(GM)和相位裕度(PM)。验证 Anderson-Moore 定理的下界 \(\text{PM} \ge 60°\) 是否成立。

练习 6.2 ⭐⭐(子空间辨识实践):对一个 2-input 2-output 系统,生成随机激励数据(白噪声输入,\(T=500\) 步)。用 N4SID 子空间辨识提取系统阶数(奇异值衰减截断)和状态空间实现 \((A,B,C,D)\)。与真实系统矩阵比较——由于状态空间实现不唯一(相似变换等价类),应比较传递函数的 \(H_\infty\) 范数误差 \(\|G_{\text{true}} - G_{\text{id}}\|_\infty\)

练习 6.3 ⭐⭐(\(H_\infty\) 综合入门):对标量系统 \(G(s) = 1/(s-1)\)(不稳定),设计 \(H_\infty\) 控制器使闭环稳定且 \(\|T_{w \to z}\|_\infty < \gamma\)。(a) 写出广义被控对象 \(P(s)\)(选择适当的加权函数 \(W_1, W_2\));(b) 用 MATLAB hinfsyn 或 Python control.hinfsyn 求解;(c) 比较与 LQR 设计的闭环带宽和鲁棒性。

练习 6.4 ⭐⭐⭐(数据驱动控制 — DeePC 最小实现):对一个 LTI 系统(自选或使用双积分器),采集 \(T=200\) 步持续激励数据。(a) 构建 Hankel 矩阵并验证 PE 条件(rank 检查);(b) 实现 DeePC 控制器(无正则化 \(\lambda_g = 0\),纯确定性);(c) 验证在无噪声下 DeePC 与 MPC(已知模型)给出相同的控制序列;(d) 加入观测噪声 \(\sigma = 0.1\),对比 DeePC(加 \(\lambda_g > 0\) 正则化)与 MPC 的性能退化。

练习 6.5 ⭐⭐⭐(跨章综合 — 辨识误差到鲁棒控制的完整链路):回顾 §3.13(Tube MPC)和本专题的误差界。设系统真实模型为 \(G_{\text{true}}\),辨识模型为 \(\hat{G}\),辨识误差 \(\Delta = G_{\text{true}} - \hat{G}\) 满足 \(\|\Delta\|_\infty < \delta\)。(a) 用小增益定理推导:基于 \(\hat{G}\) 设计的控制器 \(K\) 稳定真实系统的条件是什么?(b) 这个条件如何转化为 Tube MPC 的扰动集 \(\mathcal{W}\) 的大小?(c) 讨论:辨识精度提升(减小 \(\delta\))和鲁棒设计(增大 Tube)之间的 Pareto 最优在哪里?