Files
progsync/cours/inverted-pendulum/README.md
Adrien Guatto 70fc7019dc Cours 7
2025-11-10 18:12:19 +01:00

44 lines
1.3 KiB
Markdown

# Pendule inversé et contrôleur PID
## Présentation
Ce dossier contient un exemple classique de système physique qu'on peut chercher
à contrôler, le pendule inversé.
## Dépendances
Le projet utilise du code Python 3, et le générateur d'interfaces SWIG pour
exposer le code C généré par Heptagon à Python. Pour le lancer, vous devez :
- avoir Heptagon, à installer via OPAM,
- avoir SWIG, à installer via le gestionnaire de paquet de votre système
d'exploitation (`apt-get` sous GNU/Linux Debian ou Ubuntu, `pacman` sous Arch
Linux, `brew` sous macOS, etc.),
- avoir la bibliothèque Python `matplotlib`, à installer `pip install --user
matplotlib`.
## Utilisation
Vous pouvez lancer le programme en exécutant `make run`.
Pour lancer le programme avec l'affichage des courbes, exécutez `make runplot`.
Attention : afficher les courbes engendre un ralentissement assez conséquent.
L'interface utilisateur fonctione de la façon suivante :
- **Q** permet de quitter,
- **P** permet de mettre en pause,
- **R** permet de réinitialiser la simulation,
- **M** permet de changer de mode (manuel, contrôleur PID, contrôleur BangBang),
- **←** et **→** permettent de déplacer le mobile,
- **clic gauche** permet de déplacer le mobile à la souris.
Les deux dernières commandes ne fonctionnent qu'en mode manuel.