MPC优化问题求解的推导
2022/3/18 23:33:02
本文主要是介绍MPC优化问题求解的推导,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
参考论文为《A Predictive Controller for Autonomous Vehicle Path Tracking》。假设我们要求解的代价函数\(J\)为:
\[J=X'QX+U'RU\:(1) \]其中,\(X\)为未来\(N_p\)次的状态预测序列,\(U\)为未来\(N_u\)次的控制序列,亦即表示如下:
\[X=\left[\begin{matrix}x(k+1|k)\\x(k+1|k)\\\vdots&\\x(k+N_p|k)\end{matrix}\right] \]\[U=\left[\begin{matrix}u(k|k)\\u(k+1|k)\\\vdots&\\u(k+N_u-1|k)\end{matrix}\right] \]依据状态方程\(x(k+1)=Ax(k)+Bu(k)\),依次待入解得\(x(k+1),x(k+1),\cdots\)我们可以得到:
\[X=P_xx(k|k)+H_xU\:(2) \]其中\(P_x\)如下:
\[P_x=\left[\begin{matrix}A\\A^2\\\vdots&\\A^{N_p}\end{matrix}\right] \]而\(H_x\)如下:
\[H_x=\left[\begin{matrix}B&0&\cdots&0\\AB&B&\cdots&0\\\vdots&\vdots&\ddots&\vdots\\A^{N_p-1}B&\cdots&\cdots&B\end{matrix}\right] \]我们将\((2)\)待入\((1)\)可以得到:
\[J=C+U'(H_x'QH_x+R)U+x(k|k)'P'QH_xU+U'H_x'QPx(k|k)\:(3) \]通常\(Q\)为对角阵,因此\((3)\)可以化简为:
\[J=C+U'(H_x'QH_x+R)U+2x(k|k)'P'QH_xU\:(4) \]其中\(C\)为常数项,可以忽略,这样便有了标准二次规划\(Y=X'HX+fX\)的形式,可以直接进行求解了。
这篇关于MPC优化问题求解的推导的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升