Skip to content

meco-group/impact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

216 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Impact: A Toolchain for Optimal Control and Model Predictive Control Specification, Prototyping, and Deployment

pipeline status license: LGPL v3 pypi version arXiv html docs

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 
}