《无人驾驶车辆模型预测控制》之基于动力学的MPC设计
目录
写之前的话:
前面我写到一些列的文章:
《无人驾驶车辆模型预测控制》之车辆运动学模型
本篇将介绍基于车辆动力学的MPC设计:主要从动力学模型的建立、预测模型的建立、目标 函数的建立、约束的建立来分别介绍。关于模型预测理论公式的推导细节可见
0 仿真模型的搭建与结果
按照原书代码中仿真时总报超出数组索引的数目,不在可行域的问题。我猜测:原书代码中仿真是采用有效集(active set)来计算,2011版MATLAB是可以才有有效集算法,但是新版MATLAB的quadprog函数删除了有效集法,我用新版MATLAB采用内点法计算可能导致报错的问题,所以我猜测可能是计算算法的问题(即采用有效集可能不会出错)。暂时问题还未解决,等解决再上图。如果有哪些仁兄解决了,在评论区/私信指点一波啊。小弟感激不尽!
下面先自己手动推导了一通,具体如下:
1. 车辆模型的建立
经过整理、简化轮胎力为线性区,得到:
2. 车辆模型的线性化
3. 车辆模型离散化
4. 预测模型的建立
5.目标函数及约束
至此完成理论公式的建立。
这篇文章也不错,介绍Apollo的MPC设计,链接如下,方便大家参考: