Model-predictive control (MPC) is a powerful tool for controlling highly dynamic robotic systems subject to complex constraints. However, MPC is computationally demanding, and is often impractical to implement on small, resource-constrained robotic platforms. We present TinyMPC, a high-speed MPC solver with a low memory footprint targeting the microcontrollers common on small robots. Our approach is based on the alternating direction method of multipliers (ADMM) and leverages the structure of the MPC problem for efficiency. We demonstrate TinyMPC's effectiveness by benchmarking against the state-of-the-art solver OSQP, achieving nearly an order of magnitude speed increase, as well as through hardware experiments on a 27 gram quadrotor, demonstrating high-speed trajectory tracking and dynamic obstacle avoidance. TinyMPC is publicly available at https://tinympc.org.
翻译:模型预测控制(MPC)是约束复杂的高动态机器人系统控制的有力工具。然而,MPC计算密集,通常难以在小型资源受限的机器人平台上实现。本文提出TinyMPC——一种针对小型机器人常用微控制器设计的高速度、低内存占用的MPC求解器。我们的方法基于交替方向乘子法(ADMM),并利用MPC问题的结构以提升效率。通过与最先进的求解器OSQP进行基准测试,TinyMPC实现了近一个数量级的加速;此外,通过在27克四旋翼飞行器上的硬件实验,验证了其高速轨迹跟踪与动态避障能力。TinyMPC开源地址:https://tinympc.org。