MPC 学习路径
本学习路径 guides 你从基础到进阶系统地掌握模型预测控制 (MPC) 理论。
学习阶段概览
graph TD A[阶段 1: 线性系统建模] --> B[阶段 2: LQR 理论基础] B --> C[阶段 3: 有约束 MPC] C --> D[阶段 4: 稳定性与可行性] D --> E[阶段 5: 扩展理论] style A fill:#e1f5fe style B fill:#fff3e0 style C fill:#f3e5f5 style D fill:#e8f5e9 style E fill:#fce4ec
阶段 1:线性系统状态空间建模与离散化
目标:掌握 MPC 的数学模型基础
前置知识
- 线性代数(矩阵运算、特征值)
- 状态空间基本概念
学习内容
| 顺序 | 子模块 | 核心知识点 |
|---|---|---|
| 1.1 | 连续与离散状态空间模型 | LTI 系统表达、ZOH 离散化、离散化误差 |
| 1.2 | 系统基本性质与约束表示 | 能控性/能观性、凸集约束、线性化 |
| 1.3 | 预测时域与控制序列定义 | 预测/控制时域、开环序列、状态递推 |
完成后你应该能够
- 将连续系统精确离散化
- 判断系统的能控性和能观性
- 正确定义预测时域和控制序列
阶段 2:无约束最优控制与 LQR 理论基础
目标:理解 MPC 的最优控制理论基础
前置知识
- 阶段 1 完成
- 微积分基础
学习内容
| 顺序 | 子模块 | 核心知识点 |
|---|---|---|
| 2.1 | 无限时域 LQR | 代价函数、DARE 求解、闭环稳定性 |
| 2.2 | 有限时域最优控制 | 终端权重、动态规划、逆向递推 |
| 2.3 | 无约束 MPC 与 LQR 等价性 | 状态平移原理、最优值函数单调性 |
完成后你应该能够
- 求解 DARE 方程得到 LQR 增益
- 理解有限时域与无限时域的关系
- 证明无约束 MPC 的稳定性
阶段 3:有约束 MPC 问题建模与滚动机制
目标:掌握约束 MPC 的建模和求解
前置知识
- 阶段 2 完成
- 凸优化基础(二次规划)
学习内容
| 顺序 | 子模块 | 核心知识点 |
|---|---|---|
| 3.1 | 约束优化问题标准形式 | QP 建模、硬/软约束、可行域 |
| 3.2 | 终端约束与终端集设计 | 终端等式/不等式、最大控制不变集 |
| 3.3 | 滚动优化执行与可行解构造 | RHO 策略、Shift 构造、递归可行性 |
完成后你应该能够
- 将约束 MPC 转化为标准 QP 问题
- 设计合适的终端集
- 构造可行解保证递归可行性
阶段 4:MPC 闭环稳定性与可行性理论分析
目标:严格证明 MPC 的稳定性与可行性
前置知识
- 阶段 3 完成
- Lyapunov 稳定性基础
学习内容
| 顺序 | 子模块 | 核心知识点 |
|---|---|---|
| 4.1 | 递归可行性严格证明 | 归纳法证明、可行域、鲁棒性 |
| 4.2 | Lyapunov 稳定性证明 | 最优值函数作为 Lyapunov 候选、下降性 |
| 4.3 | 终端设计对稳定性的影响 | 终端等式局限、终端集配合、无终端条件 |
完成后你应该能够
- 严格证明递归可行性
- 利用 Lyapunov 方法证明渐近稳定
- 分析不同终端设计的影响
阶段 5:扩展 MPC 理论
目标:掌握进阶 MPC 理论
前置知识
- 阶段 4 完成
学习内容
| 顺序 | 子模块 | 核心知识点 |
|---|---|---|
| 5.1 | 轨迹跟踪与无静差 MPC | 增量模型、稳态目标、ISS 框架 |
| 5.2 | 鲁棒 MPC-Tube MPC | 状态管概念、约束紧缩、扰动不变集 |
| 5.3 | 非线性 MPC 基础 | 离散化误差、SQP 收敛、收缩映射 |
完成后你应该能够
- 设计无静差跟踪 MPC
- 理解 Tube MPC 的鲁棒性保证
- 分析 NMPC 的局部稳定性
学习建议
学习技巧
- 先理解直觉,再严格证明:每个定理先理解其物理意义,再深入数学证明
- 动手推导:不要只读证明,要亲手推导每一步
- 结合仿真:用 MATLAB/Python 验证理论结果
- 建立联系:注意各模块之间的逻辑关联
参考资源
| 类型 | 名称 | 说明 |
|---|---|---|
| 教材 | Model Predictive Control (Camacho & Bordons) | 经典入门教材 |
| 教材 | Predictive Control (Maciejowski) | 详尽的理论分析 |
| 教材 | Nonlinear MPC (Grüne & Panek) | 非线性 MPC 专著 |
| 工具 | MATLAB MPC Toolbox | 官方工具箱 |
| 工具 | do-mpc (Python) | 开源 Python 库 |
更新记录
| 日期 | 内容 |
|---|---|
| 2026-04-09 | 初始版本,创建学习路径 |