leap-c provides tools for learning optimal control policies using Imitation learning (IL) and Reinforcement Learning (RL) to enhance Model Predictive Control (MPC) algorithms. It is built on top of CasADi, acados and PyTorch.
leap-c can be set up by following the installation guide.
Please see the Getting started section.
Open a new thread or browse the existing ones on the GitHub discussions page.
If you are using code from this repository in your work, please use the following citation:
@misc{fichtner_leapc_2025,
title = {Leap-c/Leap-c: V0.1.0-Alpha},
author = {Fichtner, Leonard and Reinhardt, Dirk and Hoffmann, Jasper and Airaldi, Filippo and Frey, Jonathan and Kir Hromatko, Josip and Baumgaertner, Katrin and Amria, Mazen and Reiter, Rudolf and Sawant, Shambhuraj},
year = 2025,
month = oct,
howpublished = {Zenodo}
}
The following projects follow similar ideas and might be interesting:
- mpc.pytorch: Early work on embedding MPC in PyTorch for end-to-end learning, with a more restricted class of MPC problems
- mpcrl: A simpler codebase for using RL with MPC as function approximator
- Neuromancer: A differentiable programming library that allows to include parametric optimization layers (including MPC) in PyTorch computational graphs
- ntnu-itk-autonomous-ship-lab/rlmpc: A codebase tailored for marine vessel control using RL and MPC