Code Generation and Conic Constraints for Model-Predictive Control on Microcontrollers with Conic-TinyMPC

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Mahajan, Ishaan, Nguyen, Khai, Schoedel, Sam, Nedumaran, Elakhya, Mata, Moises, Plancher, Brian, Manchester, Zachary
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866917472487079936
author Mahajan, Ishaan
Nguyen, Khai
Schoedel, Sam
Nedumaran, Elakhya
Mata, Moises
Plancher, Brian
Manchester, Zachary
author_facet Mahajan, Ishaan
Nguyen, Khai
Schoedel, Sam
Nedumaran, Elakhya
Mata, Moises
Plancher, Brian
Manchester, Zachary
contents Model-predictive control (MPC) is a state-of-the-art control method for constrained robotic systems, yet deployment on resource-limited hardware remains difficult. This challenge is magnified by expressive conic constraints, which offer greater modeling power but require significantly more computation than linear alternatives. To address this challenge, we extend recent work developing fast, structure-exploiting, cached solvers for embedded applications based on the Alternating Direction Method of Multipliers (ADMM) to provide support for second-order cones, as well as C++ code generation from Python, MATLAB, and Julia. Microcontroller benchmarks show that our solver provides up to a two-order-of-magnitude speedup, ranging from 10.6x to 142.7x, over state-of-the-art embedded solvers on QP and SOCP problems, and enables us to fit order-of-magnitude larger problems in memory. We validate our solver's deployed performance through simulation and hardware experiments, including trajectory tracking with conic constraints on a 27g Crazyflie quadrotor. Our open-source code is available at https://tinympc.org.
format Preprint
id arxiv_https___arxiv_org_abs_2403_18149
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Code Generation and Conic Constraints for Model-Predictive Control on Microcontrollers with Conic-TinyMPC
Mahajan, Ishaan
Nguyen, Khai
Schoedel, Sam
Nedumaran, Elakhya
Mata, Moises
Plancher, Brian
Manchester, Zachary
Robotics
Systems and Control
Optimization and Control
Model-predictive control (MPC) is a state-of-the-art control method for constrained robotic systems, yet deployment on resource-limited hardware remains difficult. This challenge is magnified by expressive conic constraints, which offer greater modeling power but require significantly more computation than linear alternatives. To address this challenge, we extend recent work developing fast, structure-exploiting, cached solvers for embedded applications based on the Alternating Direction Method of Multipliers (ADMM) to provide support for second-order cones, as well as C++ code generation from Python, MATLAB, and Julia. Microcontroller benchmarks show that our solver provides up to a two-order-of-magnitude speedup, ranging from 10.6x to 142.7x, over state-of-the-art embedded solvers on QP and SOCP problems, and enables us to fit order-of-magnitude larger problems in memory. We validate our solver's deployed performance through simulation and hardware experiments, including trajectory tracking with conic constraints on a 27g Crazyflie quadrotor. Our open-source code is available at https://tinympc.org.
title Code Generation and Conic Constraints for Model-Predictive Control on Microcontrollers with Conic-TinyMPC
topic Robotics
Systems and Control
Optimization and Control
url https://arxiv.org/abs/2403.18149