模型预测控制c语言程序_自动驾驶模型预测控制器MPC算法
要在自动驾驶控制算法中运用模型预测控制,门槛还是比较高的,首先要选择合适的运行学模型,然后进行线性化和离散化。1, 运动学模型Linear Bicycle Model + 运行学约束:自行车沿着杆的速度是一样的, 考虑的是低速环境。Ackerman steering geometry: 前后轮的转角不一样,但是转向中心只有一个。2, 模型线性化在参考点reference[X, Y, S]泰勒一阶展
要在自动驾驶控制算法中运用模型预测控制,门槛还是比较高的,首先要选择合适的运行学模型,然后进行线性化和离散化。
1, 运动学模型
Linear Bicycle Model + 运行学约束:自行车沿着杆的速度是一样的, 考虑的是低速环境。
Ackerman steering geometry: 前后轮的转角不一样,但是转向中心只有一个。
2, 模型线性化
在参考点reference[X, Y, S]泰勒一阶展开,求偏导数,求出家可比矩阵。泰勒一阶展开后还是线性的,不然多阶展开又变成非线性的了, 把位置误差用状态空间表示出来。
3, 模型离散化
把倒数模型转化成差商模型,差是一个个时间上离散的转态,商就是除以采样时间差,导数的另外一种形式。位置误差闭环系统,参考点是路径规划给我们的。
4, 预测
就是用初始状态和输入来预测和迭代未来的状态。
5, 控制优化二次规划
优化目标是让状态尽快收敛到参考点,还有就是输入量尽可能的小。就是让这些偏差最小。用平方和来解决,用加权平方和可以考察每一项的作用。
参考状态不需要输入,u=0, 提取出只跟输入u有关的函数,构造二次型。
6, 反馈控制
把求出的U(k)矩阵:后轮速度和前轮转角。作用到车上。
Reference: 【控制】模型预测控制 MPC 01 运动学模型_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)