Impact: A Toolchain for Optimal Control and Model Predictive Control Specification, Prototyping, and Deployment
Description
Impact is a flexible toolchain for the specification, prototyping, and deployment of optimal control problems (OCP) and model predictive control (MPC) strategies, with automatic generation of deployable artifacts.
The toolchain reduces the engineering complexity of MPC implementations by providing an intuitive application programming interface and flexible integration with state-of-the-art numerical optimization solvers for rapid prototyping.
Impact is written in Python, with bindings for MATLAB. The generated artifacts can be executed from C, Python, MATLAB, Simulink, and ROS 2 environments.
License: Impact is released under the GNU LGPLv3 license.
Installation
We recommend installing Impact in a Python virtual environment to avoid dependency conflicts and to keep the installation isolated from system-wide packages.
Option 1: Installing with pip
You can install Impact (ideally into a virtual environment) via pip using the following command:
pip install impact-meco
Option 2: Installing from cloned repository
Alternatively, you can clone this repository and install Impact from source:
git clone https://gitlab.kuleuven.be/meco-software/impact.git
cd impact
pip install .
For development, we recommend an editable installation:
pip install -e .
This installs Impact in editable mode, so changes to the source code take effect immediately without reinstalling.
Submitting an issue
Please submit an issue if you want to report a bug or propose new features of the toolchain.
Citing
When using this Impact toolchain in research or publications, please cite the following article: the following paper:
A. Florez, A. Astudillo, W. Decré, J. Swevers, and J. Gillis, "IMPACT: A Toolchain for Nonlinear Model Predictive Control Specification, Prototyping, and Deployment", IFAC-PapersOnLine, vol. 56, no. 2, pp. 3164–3169, 2023, doi: 10.1016/j.ifacol.2023.10.1451
@article{Florez2023,
title = {IMPACT: A Toolchain for Nonlinear Model Predictive Control Specification, Prototyping, and Deployment},
author = {Alvaro Florez and Alejandro Astudillo and Wilm Decré and Jan Swevers and Joris Gillis},
journal = {IFAC-PapersOnLine},
volume = {56},
number = {2},
pages = {3164-3169},
year = {2023},
note = {22nd {IFAC} World Congress},
issn = {2405-8963},
doi = {10.1016/j.ifacol.2023.10.1451},
url = {https://www.sciencedirect.com/science/article/pii/S2405896323018591}
}
When using the ROS 2 package generator of Impact in research or publications, please cite the following article: the following paper:
A. Astudillo, A. Florez, W. Decré, and J. Swevers, "Rapid Deployment of Model Predictive Control for Robotic Systems: From IMPACT to ROS 2 Through Code Generation", in Proceedings of the 2024 IEEE 18th International Conference on Advanced Motion Control (AMC), 2024, doi: 10.1109/amc58169.2024.10505632
@inproceedings{AstudilloAMC2024,
title = {Rapid Deployment of Model Predictive Control for Robotic Systems: From IMPACT to ROS 2 Through Code Generation},
author = {Alejandro Astudillo and Alvaro Florez and Wilm Decré and Jan Swevers},
url = {http://dx.doi.org/10.1109/AMC58169.2024.10505632},
doi = {10.1109/amc58169.2024.10505632},
booktitle = {2024 {IEEE} 18th International Conference on Advanced Motion Control (AMC)},
publisher = {IEEE},
year = {2024},
month = feb
}
Metadata
Release files for impact-meco 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| impact_meco-0.6.1.tar.gz | 73.7 kB | Details |
Release files / impact_meco-0.6.1.tar.gz
| Download URL | impact_meco-0.6.1.tar.gz |
|---|---|
| Size | 73.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8d07ccd1f08f3b543c1a10d45b3c3bdc0f7ee2e58e4faf91bbf1bc7087860038
|
|
BLAKE2b-256 checksum How to use checksums |
6b5d520d5746e7dca55c335a4e48fb3944f9ca7f39764f33bd58d27c64dd19b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|