QUICK REVIEW
[论文解读] Model Predictive Control using MATLAB
Midhun T. Augustine|arXiv (Cornell University)|Sep 1, 2023
一句话总结
本教程通过MATLAB数值实现,全面介绍了模型预测控制(MPC)的基础知识,涵盖线性MPC(LMPC)与非线性MPC(NMPC)。教程详细阐述了优化问题的构建、约束处理、可行性分析、基于李雅普诺夫分析的稳定性以及最优性,同时提供了适用于各类系统类型的MATLAB实际代码,用于实现与验证。
ABSTRACT
This tutorial consists of a brief introduction to the modern control approach called model predictive control (MPC) and its numerical implementation using MATLAB. We discuss the basic concepts and numerical implementation of the two major classes of MPC: Linear MPC (LMPC) and Nonlinear MPC (NMPC). This includes the various aspects of MPC such as formulating the optimization problem, constraints handling, feasibility, stability, and optimality.
研究动机与目标
- 为研究人员和从业者提供基于MATLAB的模型预测控制(MPC)结构化教程。
- 弥合理论MPC概念与实际数值实现之间的差距,重点关注线性和非线性MPC。
- 使用户能够正确处理约束、可行性、稳定性和最优性,实现MPC算法。
- 提供LMPC与NMPC的可访问MATLAB代码示例,以支持学习与实验。
- 指导用户完成优化问题的构建,包括预测时域、控制时域、终端约束及权重矩阵。
提出的方法
- 通过系统模型和当前状态,将MPC表述为一个移动时域优化问题,以在有限时域内预测未来行为。
- 采用依赖于预测状态和控制输入的代价函数,并使用MATLAB中的数值求解器进行优化。
- 通过求解凸优化问题(QP、LP)与非凸优化问题(NLP),实现线性MPC(LMPC)与非线性MPC(NMPC)。
- 通过可行控制序列集合 $\mathbb{U}_{fk}$ 确保可行性,保证在预测时域内满足状态与控制约束。
- 通过李雅普诺夫稳定性分析,确保最优代价函数 $J_k^*$ 作为李雅普诺夫函数,从而保证 $\Delta V < 0$。
- 引入终端约束与权重矩阵 $\mathbf{Q}_N$、$\mathbf{F}_{\mathbf{x}_N}$ 与 $\mathbf{g}_{\mathbf{x}_N}$,以增强稳定性和收敛性。

实验结果
研究问题
- RQ1如何在MATLAB中对线性和非线性系统实现MPC的数值计算?
- RQ2MPC构建的关键组成部分有哪些,包括预测时域、控制时域及约束处理?
- RQ3MPC如何通过李雅普诺夫分析确保递归可行性与稳定性?
- RQ4终端约束与权重矩阵在提升MPC性能与收敛性方面发挥什么作用?
- RQ5预测时域 $N$ 的选择如何影响MPC控制律的次优性与性能表现?
主要发现
- 当初始状态位于可行集 $\mathbb{X}_{f0}$ 内时,MPC控制律具有持续可行性,确保在系统动力学下所有未来时间步均保持可行性。
- 当最优代价函数 $J_k^*$ 作为李雅普诺夫函数时,可实现稳定性,满足 $\Delta V = J_{k+1}^*(\mathbf{x}_{k+1}) - J_k^*(\mathbf{x}_k) < 0$。
- 对于LTI系统,合理选择终端权重矩阵 $\mathbf{Q}_N$ 与终端约束,可确保值函数为有效的李雅普诺夫函数。
- 随着预测时域 $N$ 增大至总时域 $N_T$,MPC控制律的次优性逐渐降低,趋近于全局最优解。
- 使用终端约束 $\mathbf{F}_{\mathbf{x}_N}$ 与终端代价 $\mathbf{Q}_N$ 显著提升了LMPC与NMPC的稳定性和收敛性。
- 基于MATLAB的实现能够高效求解MPC问题,且提供了适用于各类系统模型的LMPC与NMPC代码示例。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。