Dr.Varodom Toochinda
Dept. of Mechanical Engineering, Kasetsart University
The contents in this repository are converted from my Scilab.ninja website. They are mostly Jupyter notebooks with Python code, using Scipy and Python Control Systems libraries. The emphasis is on control system analysis and design, and robotics. The materials could serve as classroom teaching aids in engineering schools where the subjects are offered.
Julia version is also available.
Requirement : Python 3 with Scipy & Python control systems
The notebooks can be executed on Google colab or on your local computer.
Execute the commands below to install Python control systems library in Colab
!pip install control
I use Anaconda to setup a Jupyter notebook environment. The process is quite detailed. Please consult some online information.
Suppose the environment name is controlenv. Python Control System can be installed by issuing the following commands in terminal window.
conda activate controlenv pip install control
- Module 1: Transfer Functions and Frequency Responses
- Module 2: Feedback Properties
- Module 3: Classical Loopshaping Design
- Module 4: PID Control
- Module 5: State Feedback
- Module 6: Discrete-time Control Systems
- Module 7: Continuous to Discrete Conversion Methods
- Supplementary
Some syntax changes in Python control library 0.10.0 that needs to be corrected by you.
- specify methods named control.zeros() and control.poles(). Some code in the notebook used control.zero(), for example.
- control.bode_plot() returns a single data object instead of 3 in previous version. So change
_,_,_ = ctl.bode_plot(S)
to
_ = ctl.bode_plot(S)