比PID更丝滑的控制算法&卡内基梅隆大学

作者 | 鹿屿二向箔  编辑 | 自动驾驶之心

原文链接:https://zhuanlan.zhihu.com/p/695537677

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心BEV感知技术交流群

本文只做学术分享,如有侵权,联系删文

bd1d7961cfca27166d8c4a3f3fb37560.png

MPC控制算法,全称Model Predictive Control(模型预测控制),是一种基于系统动态模型的控制技术。它的工作原理是通过数学模型预测系统的未来行为,并基于这些预测结果来优化系统的控制输入,从而实现期望的输出。

MPC控制算法的核心在于其预测模型,这个模型可以根据系统的当前状态信息预测未来的系统状态。预测模型的形式并不固定,可以是状态空间方程、传递函数、阶跃响应模型、脉冲响应模型、模糊模型等,具体形式取决于被控对象和需要预测的状态。

TinyMPC 是一款专为凸模型预测控制量身定制的开源求解器,可以较小的内存占用提供高速计算。TinyMPC 在 C++ 中实现,具有最小的依赖性,特别适用于资源受限平台上的嵌入式控制和机器人应用程序。TinyMPC 可以处理状态和输入边界以及二阶锥约束。Python、Julia 和 MATLAB 接口可用于帮助为嵌入式系统生成代码。

机器人演示

TinyMPC 有助于弥合计算密集型凸模型预测控制与资源受限的处理平台之间的差距。将 TinyMPC 集成到计算能力不足的机器人中,使它们能够执行敏捷操作并表现出安全行为。

动态避障

TinyMPC 的运行速度足够快,可以在每个时间步长重新线性化约束,从而使其能够对移动的障碍物进行推理。在左边,在摇杆末端为中心的虚拟球体在每个时间步长被线性化为一组新的超平面约束。该算法还可以处理任意数量的任意线性约束。例如,在右侧,它在停留在 yz 平面时避开了摇杆的末端。

5d402e17ffdb83750503f0e29ea3eef2.png

极致姿态恢复

TinyMPC 可以从极端的初始条件下恢复。在此示例中,将其与 Crazyflie 2.1's stock controllers进行了比较。只有 TinyMPC 能够推断出控制极限,从而实现干净利落的恢复操作。

3f9fea2ec9971b387731bb7540f88323.png

图 8 跟踪

我们比较了相同的库存控制器,以完成不可行的快速 8 字形跟踪任务(只有在无人机更强大的情况下才能完成单个 8 字形的时间)。TinyMPC 和 PID 能够保持直立,但 TinyMPC 的轨迹更接近 8 字形。

902bfc68c42938e69afa7e64c03d122a.png

微控制器基准测试

在微控制器基准测试中,TinyMPC 在速度和内存占用方面优于最先进的求解器。我们求解随机生成的基于 QP 的 MPC 问题,并将迭代时间和内存占用与 OSQP 进行比较。TinyMPC 在 OSQP 上的最大加速是 OSQP 的 8 倍,内存要少得多。

c1957df8959cf7c6fc940f817175f5c2.png

TinyMPC 现在也能够处理圆锥约束!在(b)中,我们将TinyMPC与两个现有的具有嵌入式支持的圆锥求解器(SCS和ECOS)对火箭软着陆问题进行了基准测试。TinyMPC 在 SCS 上实现了 13 倍的平均速度提升,在 ECOS 上实现了 137 倍的平均速度提升。

5412865155d2a3f5dde5e0614d87559d.png

实时控制要求求解器在严格的时间窗口内返回解决方案。在火箭软着陆问题上比较了TinyMPC与SCS和ECOS的轨迹跟踪性能,同时人为地改变了每个求解的可用时间量。在所有控制持续时间内,TinyMPC 的违反约束更少,跟踪误差也低于 SCS 和 ECOS。

f56755d379c9e5577a616beb81c9f508.png

算法贡献者:

5829babedbc871bad1120c055dae00e2.png

代码获取地址:

GitHub - TinyMPC/TinyMPC: Model-predictive control for microcontrollers

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

83ba8bb80850b2dbc9abb47e63bd8947.png

网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

94cf0d470528bd16f550712fb2c7feb9.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

ec95d594b649e00f0ca9c10e0d3c6acf.jpeg

④【自动驾驶之心】全平台矩阵

7639312e887186d64256cdea5ddbfad3.png

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值