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计算需求高,在小型资源受限的机器人平台上往往难以实现。我们提出TinyMPC——一种面向小型机器人常用微控制器、具有低内存占用的高速MPC求解器。该方法基于交替方向乘子法(ADMM),并利用MPC问题的结构特性提升效率。通过与最先进求解器OSQP的基准测试,TinyMPC实现了近一个数量级的速度提升;同时在27克四旋翼飞行器上的硬件实验验证了其高速轨迹跟踪与动态避障能力。TinyMPC已开源至https://tinympc.org。