Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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)

---

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.