Skip to content

lijianbetter/PyAdvancedControl

 
 

Repository files navigation

PyAdvancedControl

Build Status

Python Codes for Advanced Control

Dependencies

  • Python 3.7.x

  • cvxpy 1.0.x

  • ecos 2.0.7

  • cvxopt 1.2.x

  • 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

About

Python codes for advanced control

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 50.0%
  • Jupyter Notebook 50.0%