Python implementation of various advanced MPC algorithms
Project description
AMPyC
GitHub | PyPI | Issues | Changelog
ampyc -- Advanced Model Predictive Control in Python
General Python package for control theory research, including some reference implementations of various advanced model predictive control (MPC) algorithms.
Features:
- Implements dynamical systems and control interfaces to allow seamless interactions
- Provides abstract base classes to allow custom implementation of any type of dynamical system and controller
- Reference implementations of many advanced MPC algorithms; for a full list of implemented algorithms see below
- Global parameter management for easy experiment setup and management
- Various utility tools for set computations, polytope manipulation, and plotting
- Lecture-style notes and notebook tutorials explaining advanced predictive control concepts
Installation
ampyc requires Python 3.10 or higher. Just use pip for Python 3 to install ampyc and its dependencies:
python3 -m pip install ampyc
Local (editable) installation
- Clone this repository using
git clone git@github.com:IntelligentControlSystems/ampyc.git
- Install all dependencies (preferably in a virtual environment) using
python3 -m pip install -r requirements.txt
- Install
ampycin editable mode for development. Navigate to this top-level folder and run
pip install -e .
Getting Started
To get started with the ampyc package, run the tutorial notebook, which provides an introduction to all parts of the package.
For specific control algorithms implemented in ampyc, run the associated notebook in the notebook folder.
Implemented Control Algorithms
Cite this Package & Developers
If you find this package/repository helpful, please cite our work:
@software{ampyc,
title = {AMPyC: Advanced Model Predictive Control in Python},
author = {Sieber, Jerome and Didier, Alexandre and Rickenbach, Rahel and Zeilinger, Melanie},
url = {https://github.com/IntelligentControlSystems/ampyc},
month = jun,
year = {2025}
}
Principal Developers
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ampyc-0.0.3.tar.gz.
File metadata
- Download URL: ampyc-0.0.3.tar.gz
- Upload date:
- Size: 67.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18bb8ec46b06b1afdd07a5341fbc8a013062fe6349163b328bc17304edb2958b
|
|
| MD5 |
9f8bf9c1f7c0b37e4d824b38f64ffca7
|
|
| BLAKE2b-256 |
93a7f0d3ff6dd20dfb665d4d8a125d1b5c5a8636e8b1192adafa67d2210f1b33
|
File details
Details for the file ampyc-0.0.3-py3-none-any.whl.
File metadata
- Download URL: ampyc-0.0.3-py3-none-any.whl
- Upload date:
- Size: 63.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e121d5581db1c97ca703ae77f19479e346add1126c70a0cdf547bc539a6a3433
|
|
| MD5 |
ebd793126981cb25c813c222e436acae
|
|
| BLAKE2b-256 |
52f807e2c2fb012def169fd327cdd0ff262e53ed1de564faec58a6b44cd338f2
|