pdf

Learning-based Model Predictive Control for Autonomous Racing

这篇来自ETH的论文讲述了一个data-driven MPC for racing的算法系统构建。核心思路是使用GP(高斯过程)补偿动力学模型的不确定性与建模误差,然后用根据此不确定性构建非线性优化问题作为MPC的框架进行求解。文章第二章介绍了GP模型以及稀疏GP回归算法。从第三节开始按顺序说明了名义动力学模型、GP补偿问题表述、MPC损失函数表述、带有预测不确定性的MPC约束函数表述、解耦MPC与GP并简化MPC计算的方法、简化GP迭代计算的方法。

名字动力学模型

对于Racing Car,这里选择的动力学建模是较为精确的动力学模型,并且轮胎模型选择的是Pacejka模型(具体看公式)

积分使用的是RK4,

GP模型回归问题描述

GP模型的输入为 名义运动学的预测结果与实际测量结果的差值就是GP的目标输出。 其中说明只有一部分值需要补偿(其实只有xy方向加速度还有角加速度需要补偿),为伪逆.

均值与方差的传递

损失函数

这里不誊抄其公式,原因是由于Racing的性质使得它只需要绕圈,损失函数与基础的非线性MPC没有本质区别。

带有不确定性的约束

距离轨迹点的偏离概率大于对应的距离偏差值为 其中表达位移分量的covariance矩阵。为取特征值操作,为表达卡方分布。根号里面的意思是,先取最大特征值,也就是偏差矩阵中取出主方向的方差值,然后卡方分布表达的是正态分布平方值的概率分布。

最后约束可以表达为 实际运算时只对前几步有效。

其他关于力、输入、输入变化率的固定约束这里不再誊写。

计算考虑

由于约束中带有方差,所以会和实际采取的控制结果耦合,这里采取了一个实时运算的简化。由于上一时刻的优化结果会保存到这一时刻,因而可以近似认为优化前后的控制输入差不会太大,进而方差的传递只以本时刻第一次的结果为准,本时刻后续迭代优化不再改变方差。

在线学习GP补偿参数

作者开发了一套在线选择数据添加、选择数据替换、去除outlier的算法,这里不复述。