Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/boisgera/control-engineering-with-python
Control Engineering with Python
https://github.com/boisgera/control-engineering-with-python
control-theory dynamical-systems engineering matplotlib numpy odes python scipy
Last synced: about 1 month ago
JSON representation
Control Engineering with Python
- Host: GitHub
- URL: https://github.com/boisgera/control-engineering-with-python
- Owner: boisgera
- License: cc-by-4.0
- Created: 2018-11-11T17:23:31.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-14T09:16:34.000Z (7 months ago)
- Last Synced: 2024-10-30T21:03:39.940Z (about 2 months ago)
- Topics: control-theory, dynamical-systems, engineering, matplotlib, numpy, odes, python, scipy
- Language: JavaScript
- Homepage:
- Size: 26.6 MB
- Stars: 65
- Watchers: 5
- Forks: 33
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Control Engineering with Python
[![Build Status](https://github.com/boisgera/control-engineering-with-python/workflows/build/badge.svg)](https://github.com/boisgera/control-engineering-with-python/actions) [![Join the chat at https://gitter.im/control-engineering-with-python/community](https://badges.gitter.im/control-engineering-with-python/community.svg)](https://gitter.im/control-engineering-with-python/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
### Notations
| Symbol | Meaning | Symbol | Meaning |
| ------ | ----------- | ------ | ---------------------- |
| ๐ | Code | ๐ | Worked Example |
| ๐ | Graph | ๐งฉ | Exercise |
| ๐ท๏ธ | Definition | ๐ป | Numerical Method |
| ๐ | Theorem | ๐งฎ | Analytical Method |
| ๐ | Remark | ๐ง | Theory |
| โน๏ธ | Information | ๐๏ธ | Hint |
| โ ๏ธ | Warning | ๐ | Solution |### :books: Program & Slides
0. **Introduction to Control Engineering**
([HTML](https://boisgera.github.io/control-engineering-with-python/intro.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/intro.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=intro.ipynb))1. **Introduction to Dynamical Systems**
- Models ([HTML](https://boisgera.github.io/control-engineering-with-python/models.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/models.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=models.ipynb))- Simulation ([HTML](https://boisgera.github.io/control-engineering-with-python/simulation.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/simulation.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=simulation.ipynb))- Well-posedness ([HTML](https://boisgera.github.io/control-engineering-with-python/well-posedness.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/well-posedness.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=well-posedness.ipynb))- Asymptotic Behavior ([HTML](https://boisgera.github.io/control-engineering-with-python/asymptotic.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/asymptotic.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=asymptotic.ipynb))2. **Linear-Time Invariant Systems**
- LTI Models ([HTML](https://boisgera.github.io/control-engineering-with-python/LTI-models.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/LTI-models.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=LTI-models.ipynb))- Internal dynamics ([HTML](https://boisgera.github.io/control-engineering-with-python/internal-dynamics.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/internal-dynamics.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=IO-dynamics.ipynb))- I/O behavior ([HTML](https://boisgera.github.io/control-engineering-with-python/IO-dynamics.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/IO-dynamics.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=IO-dynamics.ipynb))3. **Controller Design**
- Controllability ([HTML](https://boisgera.github.io/control-engineering-with-python/controllability.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/controllability.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=controllability.ipynb))- Asymptotic Stabilization ([HTML](https://boisgera.github.io/control-engineering-with-python/asymptotic-stabilization.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/asymptotic-stabilization.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=asymptotic-stabilization.ipynb))- Optimal Control ([HTML](https://boisgera.github.io/control-engineering-with-python/optimal-control.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/optimal-control.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=optimal-control.ipynb))4. **Observers**
([HTML](https://boisgera.github.io/control-engineering-with-python/observers.html),
[PDF](https://boisgera.github.io/control-engineering-with-python/observers.pdf),
[IPYNB](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=observers.ipynb))- Observability
- Observer design: pole assignment & optimal filtering
5. **Application to mobile robotics**
- Lagrangian mechanics
- Kinematic models of mobile robots
- Control of mobile robots
### :notebook: Notebooks
The course contents are also available as Jupyter notebooks.
Open, edit and run these notebooks either- :cloud: in the cloud: [open project with Binder][ceip-binder] or
- :computer: on your computer: [follow the instructions](install.md).
[ceip-binder]: https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages
### :rocket: Project
- :octocat: Fork [this project](https://github.com/boisgera/control-engineering-with-python-project-2023-2024) as a starting point;
when needed, "fetch upstream" to get the project updates.### :tada: Extra resources
#### :computer: Animation of dynamical systems
Example notebook: double pendulum
- [view in GitHub](https://github.com/boisgera/control-engineering-with-python/blob/master/examples/animation.ipynb),
- [open in binder](https://mybinder.org/v2/gh/boisgera/control-engineering-with-python/gh-pages?filepath=examples/animation.ipynb).
#### :books: Free External Resources
- :book: [Nicolas Rougier โ Scientific Visualization: Python + Matplotlib](https://hal.inria.fr/hal-03427242/document)
- :book: [Eduardo Sontag โ Mathematical Control Theory](http://www.sontaglab.org/FTPDIR/sontag_mathematical_control_theory_springer98.pdf)- :book: [Vladimรญr Kuฤera โ Riccati Equations and their Solution](http://library.utia.cas.cz/separaty/2011/TR/kucera-0436431.pdf)
- :book: [The Zodiac โ Theory of Robot Control](http://www.gipsa-lab.grenoble-inp.fr/~carlos.canudas-de-wit/publications/Theory_of_robot_control.pdf)
---
This work is licensed under a Creative Commons Attribution 4.0 International License.