Code Generation for Conic Model-Predictive Control on Microcontrollers with TinyMPC
<|reference_start|>Code Generation for Conic Model-Predictive Control on Microcontrollers with TinyMPC: Conic constraints appear in many important control applications like legged locomotion, robotic manipulation, and autonomous rocket landing. However, current solvers for conic optimization problems have relatively heavy computational demands in terms of both floating-point operations and memory footprint, making them impractical for use on small embedded devices. We extend TinyMPC, an open-source, high-speed solver targeting low-power embedded control applications, to handle second-order cone constraints. We also present code-generation software to enable deployment of TinyMPC on a variety of microcontrollers. We benchmark our generated code against state-of-the-art embedded QP and SOCP solvers, demonstrating a two-order-of-magnitude speed increase over ECOS while consuming less memory. Finally, we demonstrate TinyMPC's efficacy on the Crazyflie, a lightweight, resource-constrained quadrotor with fast dynamics. TinyMPC and its code-generation tools are publicly available at https://tinympc.org.<|reference_end|>
@article{schoedel2024code,
    title={Code Generation for Conic Model-Predictive Control on Microcontrollers
  with TinyMPC},
    author={Sam Schoedel, Khai Nguyen, Elakhya Nedumaran, Brian Plancher, Zachary
  Manchester},
    journal={arXiv preprint arXiv:2403.18149},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.18149},
    primaryClass={cs.RO cs.SY eess.SY math.OC}
}