模型预测控制基础

与Python和Casadithe Post Model Predictive Control Basics的动手教程首先出现在数据科学上。

来源:走向数据科学

快速

在本文中,我们将:

1。简介

模型预测控制(MPC)是一种流行的反馈控制方法,其中有限的最佳控制问题(OCP)在每次迭代中都具有更新的测量状态,可以进行有限的摩托原子最佳控制问题(OCP)。

MPC循环。作者的图像。

使用植物的模型来找到对所考虑的有限视野的最佳开环控制。由于该模型无法捕获真正的植物的行为100%,并且由于在现实世界中,系统受到噪声和干扰的影响,因此仅应用最佳开放环控制的第一部分,并定期测量国家重新解决OCP。这关闭了循环并创建反馈。

模型 测量 反馈

它背后的数学是相对简单和直观的(尤其是与强大的控制之类的东西相比),并且很容易编码MPC控制器。其他优点是,它可以有效地处理对状态和控制的硬性和软限制(严格的约束是严格的,而软限制是通过成本函数的惩罚来执行的),并且通常可以在具有非convex限制的非线性系统上使用(根据当然这些是多么讨厌!)。唯一的骗局是您需要实时“在线”“在线”解决优化问题,如果您控制快速系统或具有有限的计算资源,这可能是一个问题。

1.2运行示例

在整篇文章中,我将考虑具有零订单保留控制(即分段常数控件)的双集成符,作为代码中的运行示例。连续的时间系统读取:

\ [\ begin {align*} \ dot x _1(t)&= x_2(t),\\\ dot x _2(t)&= u(t),\ end {align*} \]

with \(t \ in \ mathbb {r} \)表示时间。这里\(x_1(t)\ in \ mathbb {r} \)是位置,而\(x_2(t)\ in \ mathbb {r} \)是速度。您可以将此系统视为在无摩擦表上滑动的1公斤块,并使用\(u(t)\)施加的力。

位置 速度。

with \(k \ in \ mathbb {z} \),其中,

在其中,

状态 opti