1.3 KiB
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-getsous GNU/Linux Debian ou Ubuntu,pacmansous Arch Linux,brewsous macOS, etc.), -
avoir la bibliothèque Python
matplotlib, à installerpip 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.