一、前言
其实去年就已经跑通代码了,因为懒惰,没有整理,所以现在补作业了。今年给自己定下目标,做过的算法都要从底层原理推导一遍,并记录下来。
MPC(全称Model Predictive Control)模型预测控制。
一句话通俗易懂的解释:根据状态转移模型(已知当前状态的情况下,给定一个控制,可以准确推导未来的状态),推导出未来一段时间的状态表达式(工程上实现一般用误差表示,即未来状态和目标状态的差值),求解未来一段时间的控制量,做到尽量接近目标状态、尽量的小的控制变化,同时满足控制输出的阈值范围约束。
二、算法流程
MPC一般用于车辆的控制,特别是在智能驾驶领域,路径的跟踪控制大都离不开此算法,正好也是我熟悉的方向,那我们就以车辆控制来说明MPC的主要步骤:
1、建立车辆的运动学模型(准确说是误差模型,有问题可以看我之前LQR理论中的推导);
2、模型的线性及离散化;
3、预测模型推导(建立关于未来一段时间车辆的状态矩阵);
4、目标函数设计(设计未来车辆状态好坏的评价函数);
5、约束设计(速度、加速度等限制);
6、优化求解。
总的来