路径规划: 模型预测控制(MPC,Model Predictive Control)mark

本文介绍了预测控制(Predictive Control)的发展历程,从20世纪70年代末期的动态矩阵控制(DMC)和模型算法控制(MAC)出发,到模型预测控制(MPC)在多个领域的广泛应用。MPC作为基于模型的闭环优化控制策略,能够处理复杂的约束条件,并展现出良好的控制效果和较强的鲁棒性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 发展历史 
    20世纪70年代后期,一类新型的计算机控制算法出现在美法等国的工业过程领域,如动态矩阵控制(DMC,Dynamic Matrix Control)、模型算法控制(MAC,Model Algorithm Control)。1987年,首次有学者阐述了该系列算法的动因、机理及其在控制工业中的控制效果。自此,预测控制(Predictive Control)开始出现在控制领域中。 
    现在我们所说的预测控制,包括工业控制、自适应控制及内模控制等多方面研究成果,统称为模型预测控制(MPC,Model Predictive Control),或基于模型的控制(Model-based Control),其应用范围也早已超出了过程控制领域,转而应用到机器人、飞行器、网络系统等更高新的领域内。[1]

  2. 特点 
    模型预测控制是一种基于模型的闭环优化控制策略。早在1978年,J.Richalet等就提出了预测控制算法的三要素:内部(预测)模型、参考轨迹、控制算法。现在一般则更清楚地表述为内部(预测)模型、滚动优化、反馈控制。 
    大量的预测控制权威性文献都无一例外地指出, 预测控制最大的吸引力在于它具有显式处理约束的能力, 这种能力来自其基于模型对系统未来动态行为的预测, 通过把约束加到未来的输入、输出或状态变量上, 可以把约束显式表示在一个在线求解的二次规划或非线性规划问题中. [2] 
    模型预测控制具有控制效果好、鲁棒性强等优点,可有效地克服过程的不确定性、非线性和并联性,并能方便的处理过程被控变量和操纵变量中的各种约束。

  3. 组成 
    经典MPC的控制流程如图1所示: 
    图1 经典模型预测控制流程 
    图中,ysp表示系统的设定输出,yr表示参考轨迹,u为输入,y为实际输出值,ym为模型输出,yc为预测输出。

Model Predictive Control:Theory, Computation, and Design,2nd Edition. James B. Rawlings, David Q. Mayne, Moritz M. Diehl. Chapter 1 is introductory. It is intended for graduate students in engineering who have not yet had a systems course. But it serves a second purpose for those who have already taken the first graduate systems course. It derives all the results of the linear quadratic regulator and optimal Kalman filter using only those arguments that extend to the nonlinear and constrained cases to be covered in the later chapters. Instructors may find that this tailored treatment of the introductory systems material serves both as a review and a preview of arguments to come in the later chapters. Chapters 2-4 are foundational and should probably be covered in any graduate level MPC course. Chapter 2 covers regulation to the origin for nonlinear and constrained systems. This material presents in a unified fashion many of the major research advances in MPC that took place during the last 20 years. It also includes more recent topics such as regulation to an unreachable setpoint that are only now appearing in the research literature. Chapter 3 addresses MPC design for robustness, with a focus on MPC using tubes or bundles of trajectories in place of the single nominal trajectory. This chapter again unifies a large body of research literature concerned with robust MPC. Chapter 4 covers state estimation with an emphasis on moving horizon estimation, but also covers extended and unscented Kalman filtering, and particle filtering. Chapters 5-7 present more specialized topics. Chapter 5 addressesthe special requirements of MPC based on output measurement instead of state measurement. Chapter 6 discusses how to design distributed MPC controllers for large-scale systems that are decomposed into many smaller, interacting subsystems. Chapter 7 covers the explicit optimal control of constrained linear systems. The choice of coverage of these three chapters may vary depending on the instructor's or student's own research interests. Three appendices are included, again, so that the reader is not sent off to search a large research literature for the fundamental arguments used in the text. Appendix A covers the required mathematical background. Appendix B summarizes the results used for stability analysis including the various types of stability and Lyapunov function theory. Since MPC is an optimization-based controller, Appendix C covers the relevant results from optimization theory.
MPC算法,即Model Predictive Control模型预测控制),是一种广泛应用于控制领域的优化控制方法。它基于现有的系统模型,通过预测系统行为,优化控制输入,从而实现对系统的高效控制。 在Python中,可以使用多种库来实现MPC算法,如CVXOPT、casadi、pyomo等。这些库提供了一些优化求解器,可以用于构建和求解MPC模型。 首先,需要定义系统模型和问题的目标函数。MPC控制的目标是通过最小化目标函数中的误差或代价函数,使得系统状态和控制输入满足约束条件,并使得控制器的性能达到预期。 然后,需要构建系统模型的离散化表示。这可以通过离散时间步和状态空间方程来实现,例如使用差分方程或迭代法来逼近连续时间系统。 接着,可以定义优化问题。通过给定初始状态和系统模型MPC可以在每个时间步上求解最优控制输入序列。这可以通过求解一个连续变量的优化问题来实现,其中控制输入是优化变量,系统状态是约束条件。 最后,使用优化库来求解优化问题,得到当前时间步的最优控制输入,并将其应用于系统中。然后,更新模型和状态,并进入下一个时间步,重复上述步骤。 总之,使用Python实现MPC算法需要定义系统模型和目标函数,离散化系统模型,构建优化问题,并使用优化库来求解问题。通过这种方式,可以编写出高效的MPC算法,用于各种控制应用,如机器人、自动驾驶、能源管理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值