Examples
The source code for the examples below are available in the examples/ subdirectory of the source code distribution. They can also be accessed online via the python-control GitHub repository.
Python scripts
The following Python scripts document the use of a variety of methods in the Python Control Toolbox on examples drawn from standard control textbooks and other sources.
- Secord order system (MATLAB module example)
- Inner/outer control design for vertical takeoff and landing aircraft
- LQR control design for vertical takeoff and landing aircraft
- Balanced model reduction examples
- Phase plot examples
- SISO robust control example (SP96, Example 2.1)
- MIMO robust control example (SP96, Example 3.8)
- H2 synthesis, based on Scherer et al. 1997 example 7
- Hinf synthesis, based on Scherer et al. 1997 example 7
- Cruise control design example (as a nonlinear I/O system)
- Gain scheduled control for vehicle steeering (I/O system)
- Optimal control for vehicle steering (lane change)
- Differentially flat system - kinematic car
- Model-Reference Adaptive Control (MRAC) SISO, direct MIT rule
- Model-Reference Adaptive Control (MRAC) SISO, direct Lyapunov rule
- Estimation of Makrov parameters
- ERA example, mass spring damper system
Jupyter notebooks
The examples below use python-control in a Jupyter notebook environment. These notebooks demonstrate the use of modeling, analysis, and design tools using examples from textbooks (FBS, OBC), courses, and other online sources.
- Cruise control
- Describing function analysis
- Interconnect Tutorial
- Discrete Time Sensor Fusion
- Moving Horizon Estimation
- Model Predictive Control: Aircraft Model
- Vertical takeoff and landing aircraft
- Output feedback control using LQR and extended Kalman filtering
- Simulating interconnections of systems
- Vehicle steering
- Stochastic Response
Google Colab Notebooks
A collection of Jupyter notebooks are available on Google Colab, where they can be executed through a web browser:
Caltech CDS 110 Google Colab notebooks: Jupyter notebooks created by Richard Murray for CDS 110 (Analysis and Design of Feedback Systems) at Caltech.
Note: in order to execute the Jupyter notebooks in this collection, you will need a Google account that has access to the Google Colaboratory application.