Skip to content
/ mpc Public

A pure Python module for simulating discrete-time linear time-invariant dynamic systems controlled with a model predictive controller.

License

Notifications You must be signed in to change notification settings

gasagna/mpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

General information
===================
mpc is a pure Python module for the simulation of discrete-time linear time-invariant dynamic systems which can be controlled by a model predictive controller (MPC) or an infinite horizon linear-quadratic controller (LQ). Simulation of non-linear system can also be performed. 

The project was started from code initially written "to scratch an itch", obviously withouth the aim of being a valid alternative to available control software (Matlab). Infact, mpc was primarily created to be a research tool and can be used in reserach and teaching. So, don't expect too much!

NOTICE
======
A model predictive controller is not yet available as this is alpha software. However, some nice things can be done.

Installation and requirements
=============================
mpc is built on top of high quality software such as:
* `python <https://python.org/>`_
* `scipy <https://numpy.scipy.org/>`_
* `numpy <https://www.scipy.org/>`_

I am not aware of which versions of the above is at least required to make mpc work, but you should probably get good results with `python => 2.6`, `scipy => 0.8`, `numpy => 1.5`.

Furthermore an additional dependency is required:

* `pydare <https://code.google.com/p/pydare/>`_

As of now mpc is under development but the master branch on `GitHub <https://github.com/gasagna/mpc/>`_ should be working. Soon, a stable release will be made available.

Examples of usage
=================
There are some examples in the mpc/examples folder which may be helpful to get started.

Bug reporting and support
=========================
The code is hosted at `GitHub <https://github.com/gasagna/mpc/>`_ where you can open a new issue
if you find a bug.


Copyright
=========

Copyright (C) 2011 Davide Lasagna <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

A full version of the license terms is available in LICENSE.

About

A pure Python module for simulating discrete-time linear time-invariant dynamic systems controlled with a model predictive controller.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages