这里借助一篇综述文献讲一下鲁棒预测控制(Robust MPC)的相关概念,主要包括Min-max RMPC和Tube-based MPC。

谢澜涛, 谢磊, 苏宏业. 不确定系统的鲁棒与随机模型预测控制算法比较研究[J]. 自动化学报, 2017(6).


1. 鲁棒控制

鲁棒控制理论便是为研究不确定性对系统带来的影响而发展起来的。

鲁棒性:指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。由于工作状况变动、外部干扰以及建模误差的缘故,实际工业过程的精确模型很难得到,而系统的各种故障也将导致模型的不确定性,因此模型的不确定性在控制系统中广泛存在。

鲁棒控制:当系统存在一定模型不确定性时,设计一种控制器使得闭环系统仍能保持稳定并保持一定的动态性能指标的控制。

鲁棒控制的相关课程推荐周克敏老师的书以及课程视频,B站上有他的“爱趣无穷”视频:

哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili​space.bilibili.com

2. 鲁棒预测控制

一般的预测控制综合方法都是针对系统模型准确且无扰动的情况,但实际系统存在着模型不精确或者时变、未知扰动等各种不确定性。在MPC中,系统性能依赖于一个足够准确的系统模型,虽然滚动时域的方式使得MPC具有一定的鲁棒性,但是仍不足以处理系统扰动和模型不确定性,为了解决这个问题,鲁棒模型预测控制(RMPC)理论的研究逐步形成。

鲁棒预测控制(RMPC)处理的是一类有界噪声问题,带外部噪声的线性不确定系统可表示为

其中系统状态

,系统输入
,外部噪声为
。其中外部噪声可能来自于周围环境噪声, 也可能来自于对模型失配部分的重构,值未知但是一般假定有界,可以表示为:
。同时系统输入和状态满足约束条件:

RMPC主要思路分为两类,一种是Min-max方法,一类是基于Tube的方法。Min-max RMPC考虑了由不确定性引起的“最坏”的情况, 如果系统能在这种“最坏”的情况下稳定运行, 则对于未来发生的任何一种不确定性, 系统仍然可以稳定运行,但这种方法却是十分保守的, 甚至会导致控制问题不可解。而基于Tube的方法通过分离控制策略,将名义系统从实际系统中分离出来,把对实际系统的控制转化为对名义系统的控制,把系统状态控制在一个状态约束的子集当中,这个子集就是Tube。

2.1 Min-max RMPC

Min-max RMPC的优化控制问题(OCP)可以表示成如下一般形式:

s.t.

其中,

为终端约束,
为终端代价函数,N为预测时域,Q,R分别为相关权重。为了处理这种形式的优化问题,通常需要将Min-max优化问题转化成标准的优化问题,这其中存在两个难点,一是如何处理Min-max形式目标函数,二是如何让约束摆脱噪声干扰。

对于目标函数的处理: 一般作如下变换:

其中c是原max函数的上界,为了求解这个式子,可以通过枚举法得到

所有的顶点,因为闭合凸集的最大值将在极点处取得,所以c的值必会在顶点处取得;也有文章利用Schur补性质将约束转为不确定的线性矩阵不等式(LMI),然后通过半松弛过程处理。

对于约束的处理: 枚举法列出所有顶点所要满足的约束以保证“最坏”情况下约束满足,但是约束数量会急剧增加;局部最优方法将原约束分离为确定和不确定两部分,然后局部求解不确定部分的最大值来保证“最坏”情况下约束满足。参考下面两篇文献:

Campo P J, Morari M. Robust model predictive control. In: Proceedings of the 1987 American Control Conference. Minneapolis, MN, USA: IEEE, 1987. 1021−1026

Kothare M V, Balakrishnan V, Morari M. Robust con- strained model predictive control using linear matrix inequalities. Automatica, 1996, 32(10): 1361−1379

Min-max RMPC算法根据控制律是否与系统状态有关,分为开环与闭环两大类,具体的还可以分为开环Min-max RMPC、定常反馈Min-max RMPC、动态反馈Min-max RMPC和双模式枚举Min-max RMPC四种。这里补充下,在经典控制论中使用闭环回路往往可以实现更好的控制效果,模型预测中采用反馈校正的方法能实现闭环回路。反馈的关键是利用可测量的系统状态信息,对原预测系统进行矫正。另一种利用系统状态信息的方法是在输入中直接引入状态信息。

开环Min-max RMPC:

是一种最简单的控制结构,OCP问题中决策变量为

。通过上述代价函数和约束条件的转化,该OCP问题可以转化为一个标准的LP问题或者SDP问题。

定常反馈Min-max RMPC:

采用反馈校正来实现闭环回路,控制律

是系统状态的线性函数,通过这种定常反馈的方式使得约束放宽,降低保守性。

动态反馈Min-max RMPC:

在动态反馈Min-max RMPC中将K也视为决策变量,控制律为

,K的选择会影响控制效果。

双模式枚举Min-max RMPC:

双模式枚举Min-max RMPC算法本质上也是开环算法,不同的干扰对应不同的决策变量,同时利用双模策略保证算法可行性和稳定性。在双模控制中,鲁棒控制不变集(RCI)是指在控制律

和初始状态
下,满足
的集合,因此双模控制算法可以概括为:

(a)若

,则求解相应的优化控制问题,将x引入S集合中;

(b)若

,则直接采用控制律
,由RCI集合定义可知系统状态始终属于集合S并将最终趋于稳定。

这里提及一下可行性与稳定性问题,具体的条件证明可以看相关论文。

可行性:算法可行性是指对应OCP有可行解的特性,对于RMPC来说,算法可行性往往与系统的约束以及噪声的取值范围有关。

稳定性:稳定性是以算法的可行性为前提的,系统稳定性可通过终值约束和终值惩罚项满足一定条件来实现,或者使用无穷预测时域,但通过无穷预测时域实现的稳定性往往要求系统为渐进稳定系统或者系统矩阵(A,B)可控。

2.2 Tube-based RMPC

基于Tube的MPC的核心思想是:通过某种控制率将系统的状态

控制在一个叫Tube的集合
中,这个集合是系统约束X的子集,然后整个Tube集合被引导到一个期望的位置。

基于Tube的MPC算法的一大优势是可以分离系统确定部分和不确定部分,使得控制器可以将很多工作离线计算完成,这个特点使基于Tube的算法得到广泛发展和应用。基于Tube的RMPC最经典的算法有基于Rigid tube(RT)的RMPC,基于Homethetic tube(HT)的RMPC和基于Parameterized tube(PT)的RMPC。

对于基于Tube的RMPC的优化控制问题一般形式为:

s.t.

其中

表示对集合
形状的惩罚,
表示对决策变量v的惩罚,
为终端惩罚,一般采用递归法
来保证系统状态待在对应的Tube中。

上述各种算法对于Tube的控制各不相同,在RT RMPC中,只通过控制Tube的中心来控制Tube的位置,如图(a)所示;在HT RMPC中,Tube的位置和大小同时都可被控制,如图(b)所示;而PT RMPC提供了更多的自由度,通过控制Tube的顶点,不仅可以控制Tube的位置和大小,还可以控制其形状,如图(c)所示。

这里只需通过了解Righid tube (RT) RMPC的相关方法,对Tube-based MPC就有了直观的了解。所以可以通过下面这篇文献来看看怎么实现的,其他的方法感兴趣的话可以去查阅下相关论文。

D. Q. Mayne, M. M. Seron, and S. V. Raković, “Robust model predictive control of constrained linear systems with bounded disturbances,” Automatica, vol. 41, no. 2, pp. 219–224, 2005.

Rigid tube(RT) RMPC

采用分离控制律

,将系统的确定部分和不确定部分分离开来,得到确定的名义系统部分和不确定部分:

其中第二个式子是名义系统模型,第三个是不确定部分,只需要控制确定的名义系统状态。

这篇文章中使用的Tube形式为

,其中,
为正鲁棒不变(RPI)集。

正鲁棒不变集概念:如果当

时,对于
成立,则集合
叫做系统的正鲁棒不变集。

在控制律的作用下,有

成立,所以上面的递归式成立。由于
需要分别为X和U的子集,所以需要集合
尽可能小。该系统的最小RPI可以通过
求得。因此,RT RMPC的控制优化问题为

相关仿真实验

在GitHub上有作者提供了Robust Model Predictive Control Using Tube的代码,有需要的可以查看下相关代码作做进一步工作。

https://github.com/HiroIshida/robust-tube-mpc​github.com

2020.11.13

梯形公式预测校正matlab_鲁棒预测控制(Robust MPC)相关推荐

  1. 干货!鲁棒彩票现象:藏在随机初始化神经网络中的鲁棒子网络

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 深度神经网络已被发现容易受到对抗性样本的影响,即一个人眼不可见的扰动会让神经网络做出错误的预测,对抗训练也因此被提出,通过在原始训练图片 ...

  2. matlab 鲁棒优化,yalmip求解鲁棒优化

    使用yalmip求解鲁棒优化 前言 鲁棒优化简介 yalmip 实操求解 优化问题 示例代码 结果 总结 前言 记录一下早期夭折的研究想法,想使用鲁棒优化(robust optimization,RO ...

  3. 计算机视觉入门-最小二乘法、随机取样法、鲁棒估计、霍夫变换

    第三章 拟合(Fitting) 就是为了给定数学公式生成线来描述图像 首先我们对图片处理可能会受到三个方面的影响: 1.噪声 偏离正确位置 2.无关数据 就是不属于检测物体的轮廓线 3.遗漏数据 因为 ...

  4. ICCV:Robust Multi-Modality Multi-Object Tracking鲁棒多模态多目标跟踪

    Robust Multi-Modality Multi-Object Tracking鲁棒多模态多目标跟踪 !!原文信息,侵删!! 摘要 1.介绍 2.相关工作 多目标跟踪框架 点云的深度表示 目标检 ...

  5. OpenCV中的SURF(Speeded-Up Robust Features 加速鲁棒特征)

    OpenCV中的SURF(加速健壮功能) 1. 效果图 2. 原理 2.1 为什么SURF比SIFT快? 2.3 怎样获取SIFT与SURF? 3. 源码 参考 上一篇博客介绍了用于关键点检测和描述的 ...

  6. R语言广义线性模型函数GLM、R中有几种泊松回归扩展和变异、变时段泊松回归、零膨胀泊松回归、鲁棒泊松回归、pscl包的zeroinfl拟合零膨胀泊松回归、robust包中的glmRob函数拟合鲁棒模型

    R语言广义线性模型函数GLM.glm函数构建泊松回归模型.R中有几种泊松回归扩展和变异.变时段泊松回归.零膨胀泊松回归.鲁棒泊松回归.pscl包的zeroinfl拟合零膨胀泊松回归.robust包中的 ...

  7. R语言广义线性模型函数GLM、R中有几种logistic回归扩展和变异、robust包中的glmRob函数鲁棒logistic回归、ms包中的lrm函数拟合序数逻辑回归

    R语言广义线性模型函数GLM.glm函数构建逻辑回归模型(Logistic regression).R中有几种logistic回归扩展和变异.robust包中的glmRob函数鲁棒logistic回归 ...

  8. Python+OpenCV:图像二进制鲁棒独立基本特征(BRIEF, Binary Robust Independent Elementary Features)

    Python+OpenCV:图像二进制鲁棒独立基本特征(BRIEF, Binary Robust Independent Elementary Features) 理论 We know SIFT us ...

  9. VehicleNet: Learning Robust Visual Representation for Vehicle Re-identification(车辆网络:学习用于车辆再识别的鲁棒视觉)

    摘要:车辆再识别(re-id)的一个基本挑战是学习鲁棒的和有区别的视觉表示,考虑到不同相机视图的显著的类内车辆变化.由于现有的车辆数据集在训练图像和视点等方面的局限性,我们建议利用四个公共车辆数据集构 ...

  10. Robust Consistent Video Depth Estimation_具有鲁棒一致性的视频深度估计

    论文 Code 核心:利用卷积神经网络训练 单张图像深度估计 优化深度图的对齐 连续优化 共同优化相机位姿参数的内外参 估计的深度图3D对齐 解决Naive alignment:提出一种更灵活变形的模 ...

最新文章

  1. python爬虫音乐数据加入mysql_Python爬虫数据并存入MySQL数据库,实现可视化。
  2. C# 默认接口方法更新完成,很多细节问题尚待解决
  3. Redis数据类型--字符串类型
  4. linux电脑合盖后卡住了,解决ubuntu合盖后无法唤醒
  5. 4.3Python数据处理篇之Matplotlib系列(三)---plt.plot()折线图
  6. Atitit 知识与数据 信息 加工方法总结 目录 1.1. 信息加工是指通过判别、筛选、分类、排序、分析和研究等一系列过程 1 1.2. 多种聚合方法 1 2. 首先通过聚类信息 专题化 分组聚
  7. 华为认证hcia证书实力 华为认证hcia考试题库
  8. SQL入门经典-思维导图
  9. RegExp(正则表达式)
  10. A certificate chain processed, but terminated in a root certificate which is not trusted...
  11. 基础知识之存活探针(Liveness Probe)
  12. 即时通讯软件:(c++实现)
  13. OllyDBG V1.10聆风听雨汉化版
  14. bp神经网络及ROC曲线绘制
  15. 一次百度网盘的悲惨经历
  16. flutter打包安卓问题
  17. Linux执行命令常见的英语语句
  18. linux重装出现cannot load file 5555h,技术员教你解决win7系统重装开机提示cannot load file code:5555h的操作方案...
  19. RA layer request failed
  20. 全栈项目【尚医通】预约挂号系统项目介绍

热门文章

  1. ROBOTSTUDIO学习
  2. 处理System.IO.Ports未能找到类型或命名空间名
  3. 转:一个基于互联网医疗的创业公司,三年是一个收获
  4. 社会新现象:“蜗婚”离婚不分家
  5. HDLCPPP原理与配置
  6. 数据结构与算法 入门 与 排序
  7. 初学Mean Shift 聚类算法
  8. 在绩效评估中使用 360 反馈
  9. matlab 花体字母,小论文格式模板.doc
  10. iPhone开发Swift基础08 加密与安全