/PyAdvancedControl

Python codes for advanced control

Primary LanguagePythonMIT LicenseMIT

PyAdvancedControl

Build Status

Python Codes for Advanced Control

Dependencies

  • Python 3.5.5

  • cvxpy 0.4.x

  • ecos 2.0.7

  • cvxopt 1.2.-

  • scipy 1.1.0

  • numpy 1.15.0

  • matplotlib 2.2.2

lqr_sample

This is a sample code of Linear-Quadratic Regulator

This is LQR regulator simulation.

1

This is LQR tracking simulation.

1

finite_horizon_optimal_control

This is a finite horizon optimal control sample code

1

mpc_sample

This is a sample code of a simple Model Predictive Control (MPC) regulator simulation

1

mpc_tracking

This is a sample code of a Model Predictive Control (MPC) traget tracking simulation

1

mpc_modeling

This is a sample code for model predictive control optimization modeling without any modeling tool (e.g cvxpy)

This means it only use a solver (cvxopt) for MPC optimization.

It includes two MPC optimization functions:

1 opt_mpc_with_input_const()

It can be applied input constraints (not state constraints).

2 opt_mpc_with_state_const()

It can be applied state constraints and input constraints.

This figure is a comparison of MPC results with and without modeling tool.

1

inverted_pendulum_mpc_control

1

This is a inverted pendulum mpc control simulation.

tools

c2d

This is a API compatible function of MATLAB c2d function.

Convert model from continuous to discrete time MATLAB c2d