专题 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)
- 写出连续时间 LQR 的 Riccati 方程和最优增益 \(K\) 的表达式。\(P\) 矩阵的物理意义是什么?
- LQG 分离原理的含义是什么?为什么 Doyle 1978 的反例说明 LQG 鲁棒性可以任意差?
- 什么是传递函数的 \(H_\infty\) 范数?它的频域几何含义是什么?
- 写出离散 LTI 状态空间 \((A,B,C,D)\) 的传递函数 \(G(z)\) 表达式。什么条件保证系统 BIBO 稳定?
- SVD 分解 \(A=U\Sigma V^\top\) 中,\(U\)、\(\Sigma\)、\(V\) 分别代表什么几何操作?
本章目标¶
学完本章后,你将能够:
- 从数据到模型:掌握 ARX/ARMAX/OE/BJ 四大模型族的完整辨识方法,能独立完成从实验设计到模型验证的全流程。
- 鲁棒分析与综合:理解小增益定理、结构奇异值 \(\mu\)、IQC 框架,能为带不确定性的机器人系统设计 \(H_\infty\) 控制器。
- 频域多变量诊断:用奇异值 Bode 图、Nyquist 稳定性判据、灵敏度函数分析 MIMO 闭环性能。
- 连接理论与实践:理解 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"五步法是业界标准工作流:
- 实验设计:选择激励信号使数据"信息充分"(后面 §3.6.4 的持续激励条件)
- 数据采集:采样率、抗混叠滤波、传感器校准
- 模型结构选择:ARX? OE? 几阶?灰箱还是黑箱?
- 参数估计:最小二乘、极大似然、PEM
- 模型验证:残差分析、交叉验证、频率响应对比
值得强调的是 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)\) 由过去的输出、过去的输入、以及当前的噪声 \(e(t)\) 共同决定。我们的目标是从 \(\{u(t), y(t)\}_{t=1}^N\) 的数据中估计未知参数 \((a_1, \ldots, a_n, b_1, \ldots, b_m)\)。
Step 1:定义回归向量和参数向量。
将模型改写为线性回归形式。定义:
则模型变为:\(y(t) = \varphi(t)^\top \theta + e(t)\)。
为什么这一步重要? 它把一个动态系统辨识问题转化为了静态的线性回归问题——前提是 \(\varphi(t)\) 中只包含已知量(过去的 \(y\) 和 \(u\) 都已观测到)。这是 ARX 模型的核心优势:回归向量完全由已知数据组成。
Step 2:堆叠数据形成矩阵方程。
将 \(N\) 个数据点堆叠:
得到:\(Y = \Phi \theta + E\)。
这是一个经典的**超定线性方程组**(\(N \gg n+m\)),一般无精确解。
Step 3:定义并最小化损失函数。
展开并对 \(\theta\) 求导:
解出:
等价形式(以样本平均表示):
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\) 时刻,我们有:
这是一个秩-1 更新。应用 Sherman-Morrison-Woodbury 公式(矩阵求逆引理):
令 \(A = P(t-1)^{-1}\),\(u = v = \varphi(t)\),得到 \(P(t)\) 的增量更新:
参数估计的更新:
经过代数化简(利用 \(P(t)P(t-1)^{-1} = I - K(t)\varphi(t)^\top\) 其中 \(K(t) = P(t)\varphi(t)\)):
其中 **Kalman 增益**为:
物理解释:
- \(\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}}\) 移动,但可能永远无法到达,因为旧数据的"投票权"太大了。
加权损失函数:
其中 \(\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)\) 更新中分母由 \(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):
其中 \(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\) 为移位算子),一步最优预测为:
推导:由模型,\(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\))。
损失函数与估计:
通常取 \(\ell(\varepsilon) = \frac{1}{2}\varepsilon^2\)(等价于高斯 MLE)。估计:
这是**非线性优化**问题(除了 ARX)——需要 Gauss-Newton 或 BFGS 等迭代算法。
渐近性质(Ljung 定理):在平稳遍历与正则条件下:
其中 \(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\)),选 OE 或 BJ——因为它们的动态模型 \(B/F\) 不受噪声模型选择的影响
- 如果你还关心**预测**(需要精确的 \(H\)),选 ARMAX 或 BJ
- 如果你要**快速原型**,选 ARX——唯一有闭式解的,用来确定阶数后再换更灵活的结构
- 闭环辨识**必须用 **BJ 或精确噪声模型的 ARMAX——因为输入 \(u\) 与噪声相关
本质洞察:ARX 线性回归便利的代价是把噪声耦合进被控对象——用 ARX 做鲁棒控制时需格外小心。ARX 的 \(G = B/A\) 中,\(A\) 的极点既是系统极点也是噪声极点。如果噪声有不在系统中的动态(比如 60Hz 电源干扰),ARX 会把它当作系统极点——导致辨识出的传递函数有"虚假极点"。
练习题¶
-
(手推) 对 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\) 不可逆?给出一个使其奇异的输入序列的具体例子。
-
(编程) 用 Python 实现带遗忘因子的 RLS 算法。对一个突变系统(\(t<500\) 时参数为 \([1, 0.5]\),\(t \ge 500\) 时跳变为 \([0.8, 1.2]\)),比较 \(\lambda = 0.95, 0.99, 1.0\) 三种情况的跟踪曲线。画出 \(P(t)\) 的迹(trace)随时间的变化。
-
(概念) 解释为什么"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 矩阵(过去/未来分块):
Step 2:斜投影得到扩展可观性矩阵。
做斜投影 \(\mathcal{O} = Y_f /_{U_f} Z_p\)(\(Z_p\) 是过去信息的组合),截断 SVD:
Step 3:提取系统矩阵。
扩展可观性矩阵 \(\Gamma_i = U_n \Sigma_n^{1/2}\),状态序列 \(\hat{X} = \Sigma_n^{1/2} V_n^\top\)。再做最小二乘:
三大变体仅在**加权矩阵**上不同:
| 方法 | 作者/年份 | 特点 |
|---|---|---|
| N4SID | Van Overschee-De Moor 1994 | 斜投影,最通用 |
| MOESP | Verhaegen-Dewilde 1992 | LQ/RQ 分解 + 工具变量 |
| CVA | Larimore 1990 | 典型相关分析加权,高斯下渐近有效 |
为什么机器人工程师偏爱子空间方法:
- 非迭代:只做 SVD 和 LS,数值稳健,无局部最优
- 天然 MIMO:直接给出多输入多输出的状态空间模型
- 自动阶数估计:看 \(\Sigma_n\) 的奇异值间隙——大的间隙指示系统阶数
- 与 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 矩阵:
将其按行分为过去块和未来块:
输出 \(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}\) 越大,阶数越确定
如果没有清晰间隙(所有奇异值缓慢衰减),说明系统可能是高阶的、数据不够丰富、或噪声太大。
练习题¶
-
(概念) 解释为什么 N4SID 的窗口参数 \(i\) 必须满足 \(i \ge n\)(系统阶数)。如果 \(i < n\) 会发生什么?
-
(编程) 使用 MATLAB
n4sid或 Python SIPPY 对一个已知 4 阶系统做辨识。分别尝试 \(i = 3, 5, 10, 20\),观察辨识精度和计算时间的变化。 -
(对比) 对同一组数据,分别用 ARX + LS、PEM(OE 模型)、N4SID 辨识。比较三者在预测精度、计算时间、对初始猜测的敏感性上的差异。
§3.6.5 持续激励条件(Persistent Excitation)⭐⭐¶
动机¶
辨识能成功的前提是什么?如果你给机器人一个恒定的力矩指令 \(u(t) = 1\),你能辨识出它的传递函数吗?不能——因为你只激励了零频率分量。要辨识一个 \(n\) 阶系统,你的输入必须在足够多的频率上有能量。这就是持续激励(PE)条件的直觉。
形式化定义¶
Ljung 定义:信号 \(u\) 是 \(n\) 阶 PE 当且仅当自相关 Toeplitz 矩阵正定:
其中 \(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 适合线性系统但对柔性关节可能激励过高频率的共振。
练习题¶
-
(手推) 证明:\(K\) 个不同频率的正弦信号之和 \(u(t) = \sum_{k=1}^K A_k\sin(\omega_k t + \phi_k)\) 是 \(2K\) 阶 PE。提示:计算自相关函数 \(r_u(\tau)\),利用 Toeplitz 矩阵正定条件。
-
(概念) 如果你在辨识一个 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 矩阵的列张成空间:
其中 \(\mathfrak{B}_L\) 是系统行为集的长度-\(L\) 截段。
核心含义:无需辨识 \((A,B,C,D)\)——数据本身就是模型。任何合法的未来轨迹 \((u, y)\) 可以表示为数据 Hankel 矩阵各列的线性组合。
DeePC(Data-Enabled Predictive Control)¶
DeePC(Coulson-Lygeros-Dorfer, ECC 2019)把基本引理嵌入 MPC。将 Hankel 矩阵切为过去/未来块:
确定性 LTI 下 DeePC 与 MPC 等价。对随机/非线性情形,加松弛和正则化:
其中 \(\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 下成立——噪声和非线性都会打破等价性,此时正则化是必需的。
练习题¶
-
(证明) 对 SISO 一阶系统 \(y(t) = ay(t-1) + bu(t-1) + e(t)\),手动构造 Hankel 矩阵并验证 Willems 引理。
-
(编程) 用 PyDeePC 实现对倒立摆的数据驱动 MPC。比较有无正则化的效果。
-
(对比) 收集不同长度的数据(\(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\),闭环满足:
其中 \(\Phi_x = (zI - A - BK)^{-1}\),\(\Phi_u = K(zI - A - BK)^{-1}\)。
实现性约束(凸!仿射!):
这参数化了**所有内稳定闭环响应**。控制器由 \(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 的优势:
- Youla 需要知道一个初始稳定控制器——SLS 不需要(直接从 \(A, B\) 出发)
- Youla 的约束在 \(Q\) 空间中可能非凸——SLS 的仿射实现约束始终是凸的
- SLS 天然支持系统级约束——例如"控制器必须是 FIR"(\(\Phi_x, \Phi_u\) 只保留有限个时间步),"控制器必须是稀疏的"(\(\Phi_u\) 的某些元素为 0)
FIR 截断的工程价值:如果约束 \(\Phi_x, \Phi_u\) 为 FIR(有限脉冲响应),则闭环响应在有限时间内衰减到零。这对实时系统特别有用——控制器的记忆是有限的,不需要无穷长的状态历史。
SLS 在机器人中的两大作用¶
- 样本复杂度分析(Dean-Mania-Matni-Recht-Tu 2020):
- 从 \(N\) 个样本辨识 \((\hat{A}, \hat{B})\),误差集为 \(\{(A,B): \|A-\hat{A}\| + \|B-\hat{B}\| \le \varepsilon(N)\}\)
- SLS 允许在此不确定集上做鲁棒综合——给出"\(N\) 个样本足够让 LQR 成本不超过最优值的 \((1+\delta)\) 倍"的有限样本保证
-
结论:\(N = O(n^2/\varepsilon^2)\) 个样本就够——这是首个 end-to-end learning-to-control 的理论保证
-
分布式多机器人控制:
- 4 条腿的四足机器人:每条腿的控制器只能看到本腿的传感器
- 全局最优需要集中式控制器——但通信延迟使之不可能
- SLS 允许施加"稀疏/带状"约束于 \(\Phi\)——对应"每条腿只影响邻近腿"
- 在约束下做凸优化得到最优的分布式控制器
练习题¶
-
(概念) 解释 SLS 实现约束 \([zI-A, -B][\Phi_x; \Phi_u] = I\) 的物理含义。提示:把它与闭环动力学 \(x_{k+1} = (A+BK)x_k + w_k\) 联系。
-
(进阶) 如果约束 \(\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\) 最优控制求:
博弈解释(Basar-Bernhard 1991):\(\|T_{zw}\|_\infty < \gamma\) 等价于零和微分博弈:
有鞍点策略。物理意义:
- 控制器(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\) 下:
其中 \(P_\infty\) 满足**博弈 Riccati 方程**:
与 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\) 用二分法:
- 选一个 \(\gamma\) 的区间 \([\gamma_{\min}, \gamma_{\max}]\)
- 对 \(\gamma_{\text{mid}} = (\gamma_{\min} + \gamma_{\max})/2\),尝试解博弈 Riccati
- 若有正定稳定化解 → \(\gamma_{\text{mid}}\) 可行,缩小为 \([\gamma_{\min}, \gamma_{\text{mid}}]\)
- 若无解 → \(\gamma_{\text{mid}}\) 不可行,缩小为 \([\gamma_{\text{mid}}, \gamma_{\max}]\)
- 迭代至精度满足
与 Domain Randomization 的深刻联系:
在 sim-to-real 中: - 参数不确定性(摩擦、质量、延迟)= 结构化 \(\Delta\) - Randomization 范围 = 不确定集半径 = \(1/\gamma\) - 训练出的策略 = 鲁棒控制器 \(K\)
因此 domain randomization 的"玄学调参"在 \(H_\infty\) 框架下有严格解释:randomization 范围就是你对 \(\gamma\) 的隐式选择。范围太大(\(\gamma\) 太小)→ 策略过于保守甚至不收敛(Riccati 无解);范围太小(\(\gamma\) 太大)→ 策略不够鲁棒。
H∞ 控制器的实际计算流程¶
完整工程流程(以机器人关节为例):
- 建立广义被控对象 \(P\):
- 确定输入:控制信号 \(u\)、外部扰动 \(w\)(力扰动 + 模型不确定性)
- 确定输出:性能输出 \(z\)(跟踪误差 + 加权控制努力)、测量 \(y\)
-
写出状态空间:\(\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\)
-
选择性能权重:
- \(W_1(s)\):对跟踪误差的频率加权(低频大 → 要求低频跟踪好)
- \(W_2(s)\):对控制信号的加权(防止控制器增益过大)
-
\(W_3(s)\):反映模型不确定性的频率分布
-
求解 \(\gamma\)-迭代:
- 用二分法搜索最小可行 \(\gamma\)
- 对每个 \(\gamma\),解两个 Riccati 方程检查可行性
-
MATLAB 命令:
[K, CL, gamma] = hinfsyn(P, nmeas, ncont) -
验证与调整:
- 画闭环 Bode 图检查带宽和裕度
- 仿真验证阶跃响应和扰动抑制
- 如果性能不满意,调整权重回到 Step 2
如果不做 H∞ 直接用 LQR 会怎样(真实案例):
某机械臂关节控制器用 LQR 设计,名义性能极好(超调 < 1%,带宽 50Hz)。但部署时发现: - 负载从 0kg 变到 2kg 后,系统震荡 - 原因:LQR 没有考虑惯量变化的鲁棒性 - 改用 H∞ 后:名义超调变为 3%(略差),但 0-5kg 负载变化范围内都稳定 - 教训:名义最优 ≠ 实际最优。工程中的最优是"在所有工况下都可接受"。
练习题¶
-
(概念) 解释为什么 \(\gamma \to \infty\) 时 H∞ 退化为 H2 (LQR)。从博弈 Riccati 方程出发推导这个极限。
-
(计算) 对一阶不稳定系统 \(\dot{x} = x + u + w\), \(z = [x; 0.1u]\), \(y = x\):手动求解 H∞ 博弈 Riccati 方程。\(\gamma\) 的最小可行值是多少?
-
(编程) 用 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):
若无这样的 \(\Delta\) 存在,则 \(\mu(M) = 0\)。
物理含义:\(\mu(M)\) 是使闭环失稳所需的"最小"结构化不确定性的大小的倒数。\(\mu\) 越大,系统越脆弱。
鲁棒稳定性判据:
计算困难与实用方法:
\(\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\)-综合的标准算法:
- K-step:固定 \(D(\omega)\),运行 \(H_\infty\) 综合得 \(K\)
- 求解:\(\min_K \|D F_l(P,K) D^{-1}\|_\infty\)
- D-step:固定 \(K\),在频率网格上逐频率求最优 \(D(j\omega)\)
- 求解:\(\min_D \bar{\sigma}(D M D^{-1})\)(凸优化)
- 拟合:用稳定最小相位有理函数 \(D(s)\) 拟合频率数据
- 迭代:回到 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\)(虚拟满块)加入结构:
练习题¶
-
(概念) 为什么小增益定理对 \(\Delta = \text{diag}(\delta, \delta)\) 保守?用具体数值例子说明 \(\mu < \bar{\sigma}\)。
-
(编程) 用 MATLAB
musyn对上述机械臂做 mu-synthesis。比较不同初始 \(D\) 的影响。
§3.6.10 IQC 框架 ⭐⭐⭐⭐¶
动机¶
小增益定理和 \(\mu\) 分析都限于线性系统/线性不确定性。真实机器人中有大量**非线性**不确定性:执行器饱和、死区、时变延迟、神经网络控制器。如何统一分析这些情况?IQC(Integral Quadratic Constraints)提供了最一般的框架。
IQC 的数学定义¶
定义:算子 \(\Delta\) 满足由 \(\Pi\) 定义的 IQC,如果对所有可行的输入-输出对 \((v, w = \Delta v)\):
其中 \(\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 约束。然后:
- 把 "线性动力学 + 神经网络控制器" 写成 "\(G\) + 非线性 \(\Delta\)" 的反馈结构
- 用 IQC 主定理判断闭环稳定性
- 最终归结为一个 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):
关键性质:在 (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\),传递函数为:
频率响应:令 \(s = j\omega\)(虚轴上的值):
- \(|G(j\omega)|\):频率 \(\omega\) 处的**增益**——输入正弦振幅乘以多少
- \(\angle G(j\omega)\):频率 \(\omega\) 处的**相移**——输入正弦延迟多少度
Bode 图的几何意义¶
Bode 图由两幅子图组成:
- 幅度图:\(20\log_{10}|G(j\omega)|\) vs \(\log_{10}\omega\)(dB 尺度)
- 相位图:\(\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 分析。
练习题¶
-
(手推) 对 PID 控制器 \(K(s) = K_p(1 + 1/(T_i s) + T_d s)\) 与被控对象 \(G(s) = 1/(s(s+1))\):画开环 \(L = GK\) 的 Bode 图渐近线,确定使 PM = 60° 的参数。
-
(概念) 为什么增加积分器(PID 中的 I)会降低相位裕度?从 Bode 图的相位贡献解释。
§3.6.13 Nyquist 稳定性判据完整推导 ⭐⭐¶
动机¶
Bode 图能给出增益裕度和相位裕度,但对不稳定开环系统、非最小相位系统,这些简单裕度不够用。Nyquist 判据提供了**充要**的稳定性条件——它能处理 Bode 图处理不了的所有情况。
数学基础:辐角原理¶
辐角原理(复分析):设 \(f(s)\) 是区域 \(D\) 内的亚纯函数(有有限多个极点和零点),\(\Gamma\) 是 \(D\) 边界上的简单闭曲线(不过零点和极点)。则:
其中 \(Z\) = \(f\) 在 \(\Gamma\) 内部的零点数(计重数),\(P\) = \(f\) 在 \(\Gamma\) 内部的极点数。
几何等价形式:\(f(s)\) 将曲线 \(\Gamma\) 映射为复平面上的曲线 \(f(\Gamma)\)。上式等价于:
其中 \(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:应用辐角原理。
其中: - \(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 判据最终形式。
其中: - \(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 比根轨迹法更实用?
- 频率响应可以实验测量:不需要知道传递函数的解析表达式——只要能做频率扫描实验
- 直接显示鲁棒裕度:增益裕度和相位裕度在图上一目了然
- 对时延友好:时延 \(e^{-\tau s}\) 在根轨迹法中是超越方程,但在 Nyquist 图中只是相位额外旋转
- 天然推广到 MIMO:广义 Nyquist 处理多变量系统
练习题¶
-
(手推) 对 \(L(s) = 10/(s+1)(s+5)\):(a) 画 Nyquist 图的大致形状;(b) 确定 \(P\);(c) 计数 \(N\);(d) 判断闭环稳定性。
-
(概念) 一个系统的 Nyquist 曲线恰好通过 \(-1\) 点。这意味着什么?闭环系统处于什么状态?
-
(进阶) 对带时延的系统 \(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:
- 最大奇异值 \(\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 定义为:
其中 \(\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 远偏离单位阵——必须用耦合控制器。
练习题¶
-
(计算) 对 \(G(0) = \begin{bmatrix} 1 & 0.5 \\ 0.3 & 1 \end{bmatrix}\),计算 RGA。判断最佳配对方式。条件数是多少?
-
(概念) 如果 RGA 的某个对角元素接近 0,这意味着什么?对控制器结构选择有什么影响?
-
(机器人) 一个 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}\):参考 → 输出的传递(同时也是测量噪声 → 输出)
核心恒等式:
含义:在任何频率上,\(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\),则:
其中 \(p_i\) 为 \(L(s)\) 的 RHP 极点。
直觉理解:\(\ln|S|\) 的积分是一个**守恒量**——就像按压水床一样,在一处压下去(\(|S| < 1\),抑制扰动),另一处必然鼓起来(\(|S| > 1\),放大扰动)。
三种基本情形:
| 开环类型 | 积分值 | 工程含义 |
|---|---|---|
| 稳定(无 RHP 极点) | \(= 0\) | 压低一处必然在另一处鼓起(零和博弈) |
| 不稳定(有 RHP 极点) | \(> 0\) | 放大面积严格大于抑制面积(稳定化有代价) |
| 非最小相位(RHP 零点) | 额外 Poisson 约束 | 特定频段必须放大 |
RHP 零点 \(z\) 的额外限制(Poisson 加权积分):
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 积分:
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。
水床效应的工程设计指南¶
知道水床效应后,控制设计者应该怎么做?
- 明确"牺牲频段":通常选择牺牲高频(\(\omega > 10\omega_c\)),因为此处信号主要是噪声,\(|S|\) 大一些对性能影响小
- RHP 极点系统更难设计:积分值 \(> 0\) 意味着"鼓起"的总面积大于"压低"的面积——设计空间被压缩
- 避免同时存在 RHP 极点和零点:如果 \(z \approx p\)(靠近),水床效应会集中在很窄的频带,要求控制器在该频带有极精确的相位补偿——实际上几乎不可能实现
- 多用前馈:前馈不改变 \(S\)(它绕过反馈回路),所以可以在不触发水床的情况下改善跟踪性能
反事实推理:如果一个新手不知道水床效应,他可能会反复调 PID 参数试图在**所有频段**都让 \(|S| < 1\)——这在数学上不可能(积分守恒),优化器会给出极高阶控制器或数值病态的解。正确做法是先问自己"我愿意在哪个频段牺牲性能"。
练习题¶
-
(手推) 对稳定开环 \(L(s) = K/(s+1)(s+2)\),计算 \(\int_0^\infty \ln|S(j\omega)| d\omega\)。验证积分值为 0。
-
(概念) 如果开环有一个 RHP 极点 \(p = 2\),Bode 积分等于 \(2\pi\)。画出一个满足此约束的 \(|S(j\omega)|\) 曲线示意图,标出哪些频段 \(|S| < 1\)(性能好),哪些频段 \(|S| > 1\)(性能差)。
-
(工程) 一个双足机器人的线性化模型有 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\) 使:
权函数的设计指导:
| 权函数 | 典型形状 | 作用 |
|---|---|---|
| \(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\) 当且仅当:
- 存在 \(X_\infty \ge 0\) 满足控制 Riccati 方程且 \(A + (\gamma^{-2}B_1B_1^\top - B_2B_2^\top)X_\infty\) 稳定
- 存在 \(Y_\infty \ge 0\) 满足滤波 Riccati 方程且 \(A + (\gamma^{-2}B_1B_1^\top - C_2^\top C_2)Y_\infty^\top\) 稳定
- 谱半径条件 \(\rho(X_\infty Y_\infty) < \gamma^2\)
中心控制器具有 LQG 分离结构——一个状态估计器(类似 Kalman)加一个状态反馈(类似 LQR),但两者都被 \(\gamma\) "扭曲"以提供鲁棒性保证。
Glover-McFarlane 回路成形(简化工作流):
对归一化互质因子 \(G = M^{-1}N\),闭式最大鲁棒稳定余度:
(\(\|\cdot\|_H\) 为 Hankel 范数)。不需 \(\gamma\)-迭代,直接给出最鲁棒的控制器。
Glover-McFarlane 回路成形的完整工作流¶
这是工业界最常用的 H-infinity 设计流程——因为它结合了工程师的 loop-shaping 直觉和 H-infinity 的理论保证。
三步流程:
- 预整形:选择权重 \(W_1, W_2\) 使得 \(G_s = W_2 G W_1\) 的开环 Bode 图"长得像你想要的"
- \(W_1\) 加在输入端(典型:PI 型低通,提升低频增益)
-
\(W_2\) 加在输出端(典型:roll-off 高通,衰减高频)
-
NCF 鲁棒稳定:对整形后的 \(G_s\),用
ncfsyn求最大鲁棒余度控制器 \(K_\infty\) - 不需要选 \(\gamma\)——直接给出最鲁棒的结果
-
控制器阶数 = 被控对象阶数(不增加!与混合灵敏度不��)
-
拼回最终控制器:\(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 方程也能用好。
练习题¶
-
(设计) 对 \(G(s) = 1/(s(s+1)(0.1s+1))\):(a) 设计 \(W_1\) 使低频增益提高 20dB;(b) 设计 \(W_2\) 使高频衰减 40dB/dec;(c) 计算 \(\varepsilon_{\max}\)。
-
(对比) 对同一被控对象,分别用混合灵敏度(\(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\) = 电机侧惯量,\(J_l\) = 负载侧惯量,\(k_s\) = 柔性刚度,\(\theta_m, \theta_l\) = 两侧角度。
传递函数(从电机力矩 \(\tau_m\) 到负载角度 \(\theta_l\)):
关键特征: - 反共振频率 \(\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\) 处增益突升(共振)。
辨识方法¶
频域辨识流程:
- 激励设计:多正弦(multisine)信号,覆盖感兴趣频段
- \(u(t) = \sum_{k=1}^K A_k \sin(\omega_k t + \phi_k)\)
- 频率选取:对数间隔,重点加密共振附近
-
相位 \(\phi_k\):随机化以降低峰值因子
-
数据采集:高采样率(至少 10 倍于最高激励频率)
-
频率响应估计:
- ETFE(Empirical Transfer Function Estimate):\(\hat{G}(j\omega_k) = Y(\omega_k) / U(\omega_k)\)
- 问题:方差不随数据长度降低
-
改进:Welch 方法(分段平均)
-
参数拟合:用辨识出的频率响应拟合物理模型参数 \((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\),系统会发生共振震荡。
多模态情况:真实谐波减速器往往不只一个共振频率——存在基频及其谐波成分。完整辨识需要识别多对共振/反共振:
非线性效应:
在大振幅下,谐波减速器的刚度是**非线性**的——小角度柔性大(低刚度),大角度刚度增加。这意味着共振频率随振幅变化!辨识时必须在工作点附近用小振幅激励,保证线性近似有效。
跨领域类比:关节柔性辨识之于机器人控制,就像桥梁固有频率测量之于结构工程。都是"先知道结构在哪些频率会共振,然后设计不激励这些频率的控制/结构"。区别在于桥梁的共振频率固定(除非老化),而机器人的共振频率随位形变化(惯量矩阵变化→有效刚度变化→\(\omega_r\) 变化)。
练习题¶
-
(计算) 对 \(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 控制器的增益交叉频率至多为多少?
-
(编程) 用 Python scipy.signal 画上述系统的 Bode 图,标注共振和反共振的位置与峰值。
§3.6.19 共振频率测量与 Notch 滤波 ⭐⭐¶
动机¶
一旦辨识出共振频率 \(\omega_r\),控制设计的标准做法是在控制器中加入 notch 滤波器(陷波器)——在共振频率处"挖掉"一个窄带增益,防止控制器在该频率激励共振。
Notch 滤波器设计¶
标准 notch 滤波器传递函数:
- \(\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 滤波器**。两种方案:
- 查表法:预先辨识不同位形下的 \(\omega_r\),运行时根据当前位形查表切换 notch 参数
- 在线辨识法:用窄带 RLS 持续估计当前 \(\omega_r\),实时调整 notch 中心频率
反事实推理:如果 notch 的中心频率与实际共振频率偏了 10% 会怎样?窄 notch(\(\zeta_p\) 小):notch 的增益衰减区完全错过共振频率——等于没加 notch,共振照样发生。宽 notch(\(\zeta_p\) 大):虽然能覆盖偏移后的共振,但附近的相位损失大——可能降低稳定裕度。这就是 notch 设计中**带宽-鲁棒性权衡**的本质。
完整的柔性关节控制设计流程¶
将辨识和控制设计串联:
- 辨识阶段:多正弦激励 → ETFE → 峰值检测 → 参数拟合得 \((\omega_r, \omega_a, \zeta)\)
- Notch 设计:\(\omega_n = \omega_r\),\(\zeta_z = 0.01\)(深 notch),\(\zeta_p = 0.3\)(宽 notch,鲁棒)
- PD + Notch 控制器:\(K(s) = (K_p + K_d s) \cdot N(s)\)
- 验证:画 Bode 图确认增益交叉频率 \(\omega_c < \omega_a\)(反共振之下)
- H∞ 精细化(可选):如果 PD+Notch 裕度不够,用 H∞ 混合灵敏度重新设计
练习题¶
-
(设计) 对 \(\omega_r = 200\) rad/s、\(\zeta = 0.02\) 的系统,设计 notch 滤波器。要求:(a) 在 \(\omega_r\) 处衰减 > 40dB;(b) 对 \(\omega_r\) 有 ±10% 偏移的鲁棒性。确定 \(\zeta_z\) 和 \(\zeta_p\)。
-
(编程) 用 Python 设计 PD + Notch 控制器,画出开环 Bode 图。验证相位裕度 > 45 度、增益裕度 > 6dB。
-
(综合) 如果共振频率在 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 引理的现代推广 ⭐⭐⭐⭐¶
- Regularized / robust DeePC:处理噪声数据(Coulson-Lygeros-Dorfer CDC 2019)
- Stochastic / distributionally robust DeePC:期望意义的 Hankel 约束
- Nonlinear 推广:kernel Hankel、Koopman-lifted Hankel、Taylor 多项式版本
- 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}\) 的不等式:
使 ν-gap 与 \(H_\infty\) 回路成形结合优雅:模型不确定度 + 控制器鲁棒裕度 = 实际性能。
§3.6.H 非线性辨识与 Koopman 线性化 ⭐⭐⭐¶
Koopman 算子**把非线性系统在**观测函数空间**上线性化为无穷维线性算子。**DMD 和 EDMD 给出有限维近似。
在 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 个)¶
- PEM 渐近正态性:\(\sqrt{N}(\hat{\theta}_N - \theta_0) \xrightarrow{d} \mathcal{N}(0, P_\theta)\),高斯下达 CRLB
- 子空间一致性:PE 充分下 N4SID/MOESP/CVA 一致估计 \((A,B,C,D)\)
- Willems 基本引理:PE 数据的 Hankel 列空间 = LTI 轨迹空间
- 小增益定理:\(\|M\|_\infty\|\Delta\|_\infty < 1 \Rightarrow\) 闭环内稳定
- 结构奇异值稳定性:\(\sup_\omega \mu(M(j\omega)) < 1 \Leftrightarrow\) 鲁棒稳定
- IQC 主定理:同伦 + 频率不等式 \(\Rightarrow\) 闭环稳定
- KYP 引理:频域 FDI \(\Leftrightarrow\) LMI \(\Leftrightarrow\) 存贮函数三元等价
- DGKF:H∞ 次优解存在 \(\Leftrightarrow\) 两 Riccati 有解且 \(\rho(X_\infty Y_\infty) < \gamma^2\)
- Glover-McFarlane NCF:\(\varepsilon_{\max} = (1-\|[N,M]\|_H^2)^{1/2}\) 闭式鲁棒余度
- Bode 灵敏度积分:\(\int_0^\infty \ln|S| d\omega = \pi\sum_i \mathrm{Re}(p_i)\)(水床)
- 广义 Nyquist:\(\det(I+L)\) 绕原点圈数 \(= -P\) 则闭环稳定
- 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 "控制科学前沿" 系列讲座
九、自测题(含跨章综合题)¶
-
(辨识基础) 给定 SISO 二阶系统 \(m\ddot{q} + c\dot{q} + kq = u\)。(a) 写出 ARX(2,1,1) 回归向量;(b) 若输入为 3-频正弦,PE 阶最多为多少?(c) 闭环加 PD 后直接法为什么需要精确噪声模型?
-
(Willems / DeePC) 证明:可控 LTI 系统,若 \(u^d\) 为 \((n+L)\) 阶 PE,则 \(\mathcal{H}_L(u^d)\) 行满秩。
-
(鲁棒) 名义 \(G(s) = 1/(s-1)\),乘性不确定性 \(W_m(s) = 0.1(s+10)/(s+1)\)。(a) 画 \(|W_m(j\omega)|\);(b) 鲁棒稳定充要条件(用 \(T\));(c) 设计满足条件的 \(K\)。
-
(频域 MIMO) 对 2x2 系统 \(G(s)\):(a) 在 \(\omega=1\) 求奇异值和条件数;(b) 计算 \(G(0)\) 的 RGA;(c) 对角控制器如何用广义 Nyquist 判稳。
-
(跨章综合: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 | 柔性机器人 |
累积项目:本章新增模块¶
数据驱动控制演示项目(延续前几章的控制系统项目):
本章新增模块:
- 模块 A:系统辨识完整流程
- 目标系统:弹簧-质量-阻尼(一阶降为离散 ARX)
- 实验设计:生成 PRBS 和多正弦激励信号
- 辨识对比:ARX vs OE vs N4SID(使用 SIPPY 库)
- 模型验证:交叉验证 + 残差白噪声检验
-
RLS 在线跟踪:实现带遗忘因子的 RLS,模拟参数突变
-
模块 B:DeePC 数据驱动 MPC
- 收集离线数据(构造 Hankel 矩阵)
- 实现 DeePC 核心优化(CVXPY + OSQP)
- 对比实验:DeePC vs 基于模型的 MPC vs 无模型 PID
- 正则化调参:\(\lambda_g\) 和 \(\lambda_y\) 对性能的影响
-
鲁棒性测试:参数突变后三种方法的恢复能力
-
模块 C:H∞ 控制器设计与频域验证
- 对不稳定系统(倒立摆线性化)设计 H∞ 混合灵敏度控制器
- 画闭环 Bode 图:验证 \(|W_1 S| < 1\) 和 \(|W_3 T| < 1\)
- 画 Nyquist 图:验证稳定性判据
- 鲁棒性仿真:模型参数变化 ±30% 后闭环是否仍稳定
-
对比 LQR 和 H∞:名义性能 vs 鲁棒性的 trade-off
-
模块 D:关节柔性辨识与 Notch 滤波
- 对仿真的柔性关节系统做频率扫描
- 提取共振/反共振频率
- 设计 Notch 滤波器并验证震荡消除
- 画 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 最优在哪里?