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
, à 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.