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

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.