首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MPC控制算法总结(2)——MPC的基本原理与基本特点

1、模型预测控制的基本原理

设 当前时刻为 k

预测模型为:

其中,

  通过求解上述问题可以得到一组最优控制 U*,但这组最优解并不能全部应用在未来p步。

1)由于外部干扰和模型失配的影响,系统的预测输出和实际输出存在某种偏差,所以如果将U全部作用于系统,k+1时刻之后的测量值将不能影响控制动作,测量值中所包括的外部于扰或模型误差信息就得不到有效的利用。

2)一般情况下我们无法得到解析解的表达式,因此预测时域p一般是有限的。也就是说,即使将全部的U作用于系统,也只有p内的控制量,不能作为全局解。

  因此,MPC策略是将k时刻优化解U*的第一个分量u*(k|k)作用于系统,并且在k+1时刻,以新得到的测量值 y(k+1)为初始条件重新预测系统未来输出并求解优化问题,如上图所示。

  所以k+1时刻的预测时域仍为p。随着时间的前移,预测时域也向前滚动,这就是滚动时域控制(Moving Horizon Control,MHC)的由来。

  因此,预测控制的基本原理可以概括为:

  在每个采样时刻用最新得到的测量值刷新优化问题并求解,将得到的优化解的第一个分量u*(k|k)作用于系统,如此循环。预测控制算法包括三个步骤:

(1) 预测系统未来动态

(2) 求解优化问题

(3) 将优化解的第一个元素作用于系统

根据上述预测控制的基本原理,需要在每个采样时刻在线求解优化问题。因此数值解的快速性一直是MPC应用的一个关键问题。

为了降低优化问题的独立变量数,提高算法的快速性,一个简单的方法是引入控制时域的概念。

可见,预测控制是在线求解相对简单的开环优化问题,通过滚动优化的机制得到最优控制的一个闭环解。也许这个解不是最优的,但应该有次优的特点。

2、模型预测控制的基本特点

虽然不同的模型预测算法在模型和求解方法上存在差异,但基本特点都是:基于模型预测、滚动优化、前馈-反馈的控制结构。

1)模型

模型的作用是预测系统未来的动态,因此称为预测模型。也就是说,能够根据系统的当前的测量信息和未来的控制输入来预测系统未来的输出值。而未来的控制输入正是用来改变系统的预测输出使之最大限度地接近期望输出r的优化独立变量。

2)滚动

因为采用有限时域的预测,所以不能将求解优化问题得到的最佳控制序列全部作用于系统,而是将每个采样时刻的优化解的第一个分量作用于系统,即:

k时刻:预测时间区域为[k+1,k+p]的系统动态

k+1时刻:预测时间区域为[k+2,k+p+1]的系统动态

k+2时刻:预测时间区域为[k+3,k+p+2]的系统动态

在每一采样时刻,预测控制需要通过求解优化问题得到控制量,因此,预测控制是一种优化控制算法。

但与通常的离散最优控制算法不同,预测控制不是采用一个不变的全局优化目标,而是采用时间向前滚动式的有限时域优化策略。这种有限优化目标的局限性,使其在理想情况下只能得到全局的次优解,但其滚动实施的特性却能弥补由于模型失配、时变、干扰等引起的不确定性,反而得到了实际上的最优解。

3)前馈-反馈

预测控制在每个采样时刻在线求解优化问题,并将解的第一个分量作用于系统,即k时刻的控制量定义为:

∵    优化问题中的初始条件是当前时刻的测量值 y(k)

∴    当前时刻获得的下一步控制量 u(k) 是当前测量值 y(k) 的函数,即

如果预测模型或目标函数是非线性的,或者在控制中考虑了各种约束,那么可能无法得到u(k)的解析解,只能得到每个时刻的数值解。

如果预测模型是线性的、目标函数是二次型的、且不考虑各种约束,则可以得到问题的解析解,然后取中的第一个分量,即可得到无约束线性预测控制律u(k)的解析解表达式:

I. 单位阶跃响应模型作为预测模型

II. 脉冲响应模型作为预测模型

III. 状态空间模型作为预测模型

参数的具体表达式将在后面章节详细介绍。

从上述三个无约束预测控制律的表达式,我们可以分析得出:

(1) R(k+1)是在预测时域内的参考输入,因此预测控制中有基于未来参考输入的前馈补偿;

(2) d(k)是可测干扰,因此预测控制中有基于可测干扰的前馈补偿;

(3) x(k)、Yhat(k)是由测量值或由测量值计算得到的系统状态值,因此预测控制中有基于测量值的反馈补偿。

综上,预测控制具有前馈-反馈控制结构,这正是预测控制能获得好的控制性能的原因。

本阶段全套笔记:

【模型预测控制】(Model Predictive Control)

公众号内还有:

【经典控制理论】全套笔记

【现代控制理论】全套笔记

【非线性控制理论】全套笔记

【车辆动力学】全套笔记

【最优控制理论与仿真】全套笔记

后续全套笔记:

【反步控制】(Back-Stepping Control)

【滑模控制】(Sliding Mode Control)

【自适应控制】(Adaptive Control)

【鲁棒控制】(Robust Control)

【自抗扰控制】(ADRControl)

以及各类车辆数学模型、基于底盘的控制算法实例等内容

期待您的关注、留言、讨论!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OcmjkzD2ZgRHxMAGeTQpAXtg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券