Fatrop
Fatrop is a nonlinear optimal control problem solver that aims to be fast, support a broad class of optimal control problems and achieve a high numerical robustness.
Install / Use
/learn @meco-group/FatropREADME
FATROP
Fatrop is a constrained nonlinear optimal control problem solver that is fast and achieves a high numerical robustness.
$$ \begin{align} \underset{\mathbf{x}_k, \mathbf{u}k}{\min} \quad & \sum{k=0}^{K-1} l_k(\mathbf{u}_k, \mathbf{x}k) \ \text{subject to} \quad & \mathbf{x}{k+1} = \mathbf{f}_k(\mathbf{u}_k, \mathbf{x}_k), \quad k = 0, \dots, K-2 \ & \mathbf{L}_k \leq \mathbf{g}_k(\mathbf{u}_k, \mathbf{x}_k) \leq \mathbf{U}_k \ & \mathbf{h}_k(\mathbf{u}_k, \mathbf{x}_k) = \mathbf{0}, \quad k = 0, \dots, K-1 \end{align} $$
The main features of the solver are:
- high numerical robustness thanks to advanced numerical optimization techniques, inspired by Ipopt
- fast by exploiting the optimal control problem structure through a specialized linear solver, based on a generalized Riccati recursion
- high performance linear algebra through integration of BLASFEO
- effective handling of path equality and inequality constraints, without relying on penalty methods
- ability to incorporate exact Lagrangian Hessian information
- ability to be initialized from any, possibly infeasible, solution estimate
Getting Started
Refer to the Fatrop GitHub Pages as a reference to help getting started.
Usage
- Fatrop can be used using the "low-level" interface by implementing an OcpAbstract class. See include/fatrop/ocp/ocp_abstract.hpp
- Fatrop is also interfaced with CasADi. A usage example can be found here
- usage examples of both interfaces can be found in the examples folder
Getting Started
Refer to github pages as a reference to help getting started.
Citing
To cite Fatrop in your academic work, please use the following reference of the fatrop paper:
@inproceedings{vanroye2023fatrop,
title={Fatrop: A fast constrained optimal control problem solver for robot trajectory optimization and control},
author={Vanroye, Lander and Sathya, Ajay and De Schutter, Joris and Decr{\'e}, Wilm},
booktitle={2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
pages={10036--10043},
year={2023},
organization={IEEE}
}
Related Skills
openhue
339.3kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
339.3kElevenLabs text-to-speech with mac-style say UX.
weather
339.3kGet current weather and forecasts via wttr.in or Open-Meteo
tweakcc
1.5kCustomize Claude Code's system prompts, create custom toolsets, input pattern highlighters, themes/thinking verbs/spinners, customize input box & user message styling, support AGENTS.md, unlock private/unreleased features, and much more. Supports both native/npm installs on all platforms.
