Ungar -- A C++ Framework for Real-Time Optimal Control Using Template Metaprogramming
Flavio De Vincenti, Stelian Coros

TL;DR
Ungar is a C++ library leveraging template metaprogramming to efficiently solve high-dimensional optimal control problems, demonstrated in robotics applications like quadruped locomotion and loco-manipulation.
Contribution
It introduces a flexible, high-performance C++ framework for modeling and solving complex optimal control problems using compile-time techniques.
Findings
Achieves high runtime efficiency for complex OCPs
Supports expressive formulations of structured dynamical systems
Successfully applied to robotics control tasks
Abstract
We present Ungar, an open-source library to aid the implementation of high-dimensional optimal control problems (OCPs). We adopt modern template metaprogramming techniques to enable the compile-time modeling of complex systems while retaining maximum runtime efficiency. Our framework provides syntactic sugar to allow for expressive formulations of a rich set of structured dynamical systems. While the core modules depend only on the header-only Eigen and Boost.Hana libraries, we bundle our codebase with optional packages and custom wrappers for automatic differentiation, code generation, and nonlinear programming. Finally, we demonstrate the versatility of Ungar in various model predictive control applications, namely, four-legged locomotion and collaborative loco-manipulation with multiple one-armed quadruped robots. Ungar is available under the Apache License 2.0 at…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Real-time simulation and control systems · Fuel Cells and Related Materials
MethodsLib
