【基础推导】MPC控制器及其车辆模型详细推导 (附代码链接及详细推导说明)

来源 参考3.a
PID,pure pursuit方法,Stanley方法都只是利用当前的系统误差来设计控制器。
人们对这些控制器的设计过程中都利用了构建模型对无人车未来状态的估计(或者说利用模型估计未来的运动趋势)。每个控制周期只选择一个目标路点作为跟踪对象,因此,我们也可以说以上控制器 只利用了模型进行向前一步预测
那么如果在更远的未来,参考轨迹变化不是那么平缓,并且有很多弯度小(急)的部分,那么只利用一步预测很难对整条轨迹进行有效的跟踪。为了让无人车的控制器更有前瞻性,设计控制器必须得利用 模型对未来状态进行多步预测
假设向前预测步长为 T ,那么 T步的时空模型要比原始的空间模型要大很多。MPC在每个控制周期都需要 重新利用未来T步的模型计算得到当前执行的控制指令。MPC利用了一个比原始空间模型大很多的模型(更高的计算成本)仅仅只得到当前一步的最优控制器(跟PID,pure pursuit, stanley做了同样的事)
————————————————
版权声明:本文为CSDN博主「windSeS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013468614/article/details/103519721

以下为公式车辆状态和线性化等求解过程: 大部分参考于3.b文档,添加了更详细的为什么是这样的公式的碎碎念;主要是感觉用latex打太累了,感觉总是想画一些线之类的,所以就手写了 再也不用担心公式乱码了 hhh;其中@阿信同学参与了常微分方程的推导和一些解释(给我解释了好久 hhh 😄)

至此我们已经有了 所有我们需要的部分,接下来对应到代码,以python为例:

C++代码 则是基于ROS和CARLA实验的跟随,整体是高斯过程的路径规划问题求解等,但是因为jg实现了mpc在里面,所以也可以参考直接用:

接下来则是 python下的CARLA实现,因为CARLA全部都是PID跟随器,想来写一个MPC的试一试,不过上面给出的已经能 让大家自己心里有数 整个过程步骤是怎样的了,下面仅实验实现

TODO

赠人点赞 手有余香 😆;正向回馈 才能更好开放记录 hhh

Original: https://blog.csdn.net/qq_39537898/article/details/125169061
Author: Kin__Zhang
Title: 【基础推导】MPC控制器及其车辆模型详细推导 (附代码链接及详细推导说明)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/651866/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球