要在自动驾驶控制算法中运用模型预测控制,门槛还是比较高的,首先要选择合适的运行学模型,然后进行线性化和离散化。

1, 运动学模型

Linear Bicycle Model + 运行学约束:自行车沿着杆的速度是一样的, 考虑的是低速环境。

Ackerman steering geometry: 前后轮的转角不一样,但是转向中心只有一个。

54ac518cddbc4ba3b4aedefa0add74a1.png

2, 模型线性化

在参考点reference[X, Y, S]泰勒一阶展开,求偏导数,求出家可比矩阵。泰勒一阶展开后还是线性的,不然多阶展开又变成非线性的了, 把位置误差用状态空间表示出来。

cf79df897e5ad5bfe4e91987dd3b4142.png

3, 模型离散化

把倒数模型转化成差商模型,差是一个个时间上离散的转态,商就是除以采样时间差,导数的另外一种形式。位置误差闭环系统,参考点是路径规划给我们的。

8ba20006b7b9cf2ba3724ccbfce554e2.png

4, 预测

就是用初始状态和输入来预测和迭代未来的状态。

a56e2ce98ce21d12700e525ed3160fcf.png

2d90541ac66f75504142d82caf13cdbe.png

9fa77fe5c1a8833523720eb66c19d70a.png

5, 控制优化二次规划

优化目标是让状态尽快收敛到参考点,还有就是输入量尽可能的小。就是让这些偏差最小。用平方和来解决,用加权平方和可以考察每一项的作用。

参考状态不需要输入,u=0, 提取出只跟输入u有关的函数,构造二次型。

068ef77e67d5ed391431fff89815a61e.png

1c2758f3ffdbdde7ea0bf8a5ce13b8c9.png

6, 反馈控制

把求出的U(k)矩阵:后轮速度和前轮转角。作用到车上。

f2126c15b8f2e116b87f618fc24a8895.png

Reference: 【控制】模型预测控制 MPC 01 运动学模型_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐