目录
[1️⃣ 什么是 MPC](#1️⃣ 什么是 MPC)
[MPC 四要素](#MPC 四要素)
[2️⃣ MPC 为什么需要"预测"](#2️⃣ MPC 为什么需要“预测”)
[3️⃣ MPC 中的三个重要"区间"](#3️⃣ MPC 中的三个重要“区间”)
[4️⃣ 最优控制(Optimal Control)概念](#4️⃣ 最优控制(Optimal Control)概念)
[1)SISO 系统(单输入单输出)](#1)SISO 系统(单输入单输出))
[5️⃣ MPC 基本概念](#5️⃣ MPC 基本概念)
[6️⃣ 最优化建模数学推导](#6️⃣ 最优化建模数学推导)
[7️⃣ 实际单输入二阶系统举例](#7️⃣ 实际单输入二阶系统举例)
[8️⃣ 全文总结](#8️⃣ 全文总结)
前言
模型预测控制在实际的应用中十分广泛,其本质是一种**基于模型的优化控制器,**对未来 N 步进行预测,求出未来的最优控制量序列,然后只执行第一个,再滚动优化。
因此在后续的学习中想要多花一些时间去学习这个算法,在实际学习,找资料的过程中,重点学习了DR_CAN老师的视频,强烈推荐下:
另外,在我的另一篇文章中,详细手推了MPC模型预测控制 - U控制向量矩阵是如何得来的
1)从离散状态方程展开未来 N 步状态预测
2)构造大向量 X 和控制量 U
3)将所有预测写成矩阵形式 X=Fxk+GU
4)把这个预测关系代入 MPC 的代价函数,展开并整理成标准的二次规划形式,得到 QP 的 H、f 矩阵;
5)用 QP 求解器得到最优控制序列 U*,执行其中第一个控制量
6)并利用滚动优化继续重复上述预测与求解过程。
1️⃣ 什么是 MPC
MPC 全名 Model Predictive Control ------ 模型预测控制。
MPC 四要素
① 模型 (Model)
② 预测 (Prediction)
③ 滚动优化 (Receding Horizon Optimization)
④ 误差补偿 / 反馈校正(Feedback Correction)
这四点决定了 MPC 的本质是:
利用未来的预测来决定现在的控制,而不是只看当前误差。

2️⃣ MPC 为什么需要"预测"
控制量 u 不同 → 未来输出轨迹完全不同。
例如:
-
u 大 → 系统上升快
-
u 小 → 系统上升慢
MPC 的思想就是:
把还没发生的未来轨迹提前算出来,再找最优控制序列。

3️⃣ MPC 中的三个重要"区间"
你记录了:
-
k:当前时刻
-
P:预测时域(Predictive Horizon)
-
M:控制时域(Control Horizon)
表示:
-
未来 P 步的系统输出:

-
未来 M 步的控制增量:

预测区间大 → 看得更远
控制区间大 → 优化更稳定

4️⃣ 最优控制(Optimal Control)概念
最优控制的核心目标是:
在约束下,让系统性能最优。
代价函数(cost function)是关键:
1)SISO 系统(单输入单输出)

-
e= y - r:误差
-
q:误差权重
-
r:输入权重
2)MIMO系统(多输入多输出系统)

这里的矩阵 Q、R 分别起到:
-
Q:希望状态更快收敛
-
R:希望控制动作更小、更平滑
5️⃣MPC 基本概念

6️⃣最优化建模数学推导
1)前言

2)二次规划

3)推导过程


7️⃣实际单输入二阶系统举例


8️⃣ 全文总结
MPC 的核心思想:
用模型预测未来,用优化选择最佳控制,用反馈保证鲁棒性。
核心数学:
-
离散模型:

-
预测矩阵:

-
二次规划问题:

优势:
-
能处理输入/状态约束
-
平滑控制输入
-
预测未来性能
-
稳定性强
难点:
-
数学推导
-
QP 求解器
-
实时性需求(在自动驾驶/无人机尤为重要)