Fpga acceleration boosts drone control speeds and cuts power use
AccelMPC: High-Rate, Low-Power FPGA-Accelerated Model Predictive Control for Tiny Drones
Robotics
Summary
Controlling tiny drones quickly and precisely is hard because the computers they carry are small and slow. The authors created a special combination of software and hardware using an FPGA chip that helps drones solve complex control problems much faster and with less energy. This lets drones react faster to changes around them, even when avoiding moving obstacles. They tested this system on a light drone and shared all their designs openly for others to use.
What this means in practice
- •For drone developers: Implement high-speed, energy-efficient onboard control for small drones navigating dynamic environments using FPGA-accelerated model predictive control.
- •For robotics engineers: Deploy resource-efficient, fast MPC solvers on embedded platforms to control robots with complex dynamics and constraints in real time.
Authors
Andrea Grillo, Brian Plancher
Abstract
Unlocking the potential of tiny aerial robots requires order of magnitude improvements in the performance of embedded edge control. In particular, although recent cached model predictive control (MPC) solvers can handle the fast system dynamics and complex constraints required for agile drone flight, their computational demands remain prohibitive for resource-constrained robots, forcing prior implementations to operate at reduced control rates. AccelMPC overcomes this challenge through an end-to-end co-design approach that jointly optimizes the solver algorithm, numerical representation, hardware mapping, and physical integration. AccelMPC pairs a co-designed FPGA-accelerated alternating direction method of multipliers (ADMM)-based MPC solver with a custom 6g PCB, providing high-bandwidth communication for deployment on a 35g Crazyflie. Hardware experiments demonstrate 1 kHz onboard constrained MPC with dynamic obstacles, up to 15.6x faster solve times and 195.4x improvement in energy-delay product over state-of-the-art embedded microcontroller-based solvers, all while scaling to optimization problems with over 20,000 optimization variables and a comparable number of constraints. We release our PCB design files, firmware, and FPGA solver code open source.