Skip to content

meco-group/impact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

pipeline status license: LGPL v3 pypi version html docs

Description

Impact is a flexible toolchain for nonlinear model predictive control (NMPC) specification with automatic code generation capabilities.

The toolchain reduces the engineering complexity of NMPC implementations by providing the user with an easy-to-use application programming interface, and with the flexibility of using multiple state-of-the-art tools and numerical optimization solvers for rapid prototyping of NMPC solutions.

Impact is written in Python, users can call it from Python and MATLAB, and the generated NMPC solvers can be directly executed from C, Python, MATLAB and Simulink.

License: Impact is released under the GNU LGPLv3 license.

Installation

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. You just need to (i) clone the repository, (ii) move into Impact's root directory, and (iii) run the setup.py script with the install option. It will install your application into the virtualenv site-packages folder and also download and install all dependencies:

git clone https://gitlab.kuleuven.be/meco-software/impact.git
cd impact
python setup.py install

You could also use the develop option, instead of install, during the execution of setup.py as python setup.py develop. This has the advantage of just installing a link to the site-packages folder instead of copying the data over. You can then modify/update the source code without having to run python setup.py install again after every change.

Submitting an issue

Please submit an issue if you want to report a bug or propose new features.