MPC模型预测控制:从基本概念到数学推导(基于 DR_CAN 课堂笔记整理)
目录
前言
1️⃣ 什么是 MPC
MPC 四要素
2️⃣ MPC 为什么需要“预测”
3️⃣ MPC 中的三个重要“区间”
4️⃣ 最优控制(Optimal Control)概念
1)SISO 系统(单输入单输出)
2)MIMO系统(多输入多输出系统)
5️⃣ MPC 基本概念
6️⃣ 最优化建模数学推导
1)前言
2)二次规划
3)推导过程
7️⃣ 实际单输入二阶系统举例
8️⃣ 全文总结
前言
模型预测控制在实际的应用中十分广泛,其本质是一种基于模型的优化控制器,对未来 N 步进行预测,求出未来的最优控制量序列,然后只执行第一个,再滚动优化。
因此在后续的学习中想要多花一些时间去学习这个算法,在实际学习,找资料的过程中,重点学习了DR_CAN老师的视频,强烈推荐下:
https://www.bilibili.com/video/BV1cL411n7KV/?spm_id_from=333.934.top_right_bar_window_history.content.click
https://www.bilibili.com/video/BV1cL411n7KV/?spm_id_from=333.934.top_right_bar_window_history.content.click
另外,在我的另一篇文章中,详细手推了MPC模型预测控制 - U控制向量矩阵是如何得来的
1)从离散状态方程展开未来 N 步状态预测
2)构造大向量 X 和控制量 U
3)将所有预测写成矩阵形式 X=Fxk+GU
4)把这个预测关系代入 MPC 的代价函数,展开并整理成标准的二次规划形式,得到 QP 的 H、f 矩阵;
5)用 QP 求解器得到最优控制序列 U*,执行其中第一个控制量
6)并利用滚动优化继续重复上述预测与求解过程。
MPC模型预测控制原理全解析:从状态预测、矩阵推导到QP求解与滚动优化(含完整手推过程)-CSDN博客
https://blog.csdn.net/m0_58954356/article/details/154781300?spm=1001.2014.3001.5502
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 求解器
-
实时性需求(在自动驾驶/无人机尤为重要)
