链接:https://www.zhihu.com/question/56964498/answer/218815544

J.B.Rawlings and D.Q.Mayne.    Model predictive control : Theory and Design

推荐意大利的Bemporad,他的主页上有一门PhD Courses on MPC,每一节有对应的PPT,讲解的还是很清楚的,不过还是有一些纰漏(如果你去仿真他的例子就会发现)。
另外一点我个人觉得很重要的就是Benporad参与了MPC Toolbox和Hybrid Toolbox的开发,如果你去下载Hybrid Toolbox,很多source code都是他自己亲自写的。Bemporad也有自己的公司ODSYS提供一些工业界可用的MPC算法。以上两点说明,Bemporad教授是有一定的实际工程经验的,所以其教材在实际运用MPC方面也更有心得

MPC real-time application 

Bemporad 在PPT的第三讲 embedded MPC

思路 linear MPC 最后就是求解一个二次优化的问题--》matlab: x= quadprog(H, f, A, b, etc...)

想要embedded MPC,需要一个 fast and roubst enough and online qp 求解器

PPT 第三讲中 gradient projection, fast gradient projection, ADMM 都可以用来在线求解

工业级产品级MPC code 一定要简单,不仅速度快更要方便维护, 同时给出了不同算法的收敛速度以及最糟糕情况下的迭代次数

如果不用一个 qp solver , 先离线把implicit MPC 算好, MPC 的solution 可以看成是状态x的函数(x不仅时系统的状态),通过把x的空间拆成一个个region, 使得MPC的solution 在某个region变成x 的线性函数。

在线使用时,只要存储region 的分布,参数以及线性函数的参数,就可以不用求qp问题, 而得到explict 的MPC解

Bemporad 的hybrid MPC Toolbox提供了这一工具

 

自己在整理出C code 或者直接用toolbox 带的codegen工具都可以方便导出C代码,设计的计算也很简单,就是基本的举证运算和查表。

 Explicit  MPC 实际是求解一个多参数二次规划问题,得到一个u和x在对应可行域上的关系,通过这个表在每个周期直接点搜索,找到对应关系进行运算,求解速度是挺快的

 posted on 2022-06-29 12:46  Real_Yuan  阅读(443)  评论(0)    收藏  举报