Créer un robot Segway ou GyroPode avec Arduino

Ce week-end, je suis tombé sur deux projets de type SigWay ou GyroPode à base d'Arduino. C'est toujours intéressant de savoir comment cela fonctionne.
Le type de projet que l'on retrouve facilement sur le net sous les termes "Balancing Robot".

Ces deux projets apportent des informations intéressantes:
  • Utilisation d'un système PID (Proportionnel, Intégrale, Dérivée) pour asservir le robot. Avec code disponible et matériel facilement accessible et du code.
  • Un projet utilisant également des servo-moteurs et un joystick pour faire avancer et tourner le robot.
Self-balancing robot de Roland Pelayo
Ce projet utilise un système PID sur Arduino pour asservir les moteurs et faire en sorte que le robot reste en équilibre.
Source: le projet de Roland Pelayo sur siyhacking.com
Pour maintenir le robot en équilibre, il faut faire tourner les roues du moteurs dans essayer de maintenir l'équilibre.
Source: le projet de Roland Pelayo sur siyhacking.com
  • A gauche: le robot est en équilibre et les moteurs sont à l'arrêt.
  • A droite: le robot tombe vers la droite, accélérer les moteurs permet de déplacer la base et comptant sur l'inertie de la tête du robot. Cela permet donc de redresser le robot. C'est un peu comme faire un grand pas en avant pour retrouver l'équilibre.
En équilibre ou pas en équilibre?
Les moteurs doivent contre-balancer la perte d'équilibre du robot par une action correctrice. Les moteurs sont contrôlés par l'Arduino à l'aide d'un point H L298 mais l'élément principal reste un gyroscope + accéléromètre (MPU6050, interfacé sur le bus I2C). L'accéléromètre permet de mesurer le vecteur d'accélération terrestre "g" et donc de savoir si le robot est en équilibre et appliquer une correction si nécessaire.

Paramètres du régulateur PID?
Les ingénieurs utilisent des logiciels pour modéliser le système et fixer les paramètres.
En plus du code et plan de montage, Roland présente également une méthode expérimentale permettant de fixer et affiner les valeurs du PID.

Ressources
Rien ne vaut une bonne vidéo YouTube.


Voyez également la page du tutoriel de Roland Pelayo
Liste du matériel
YABR : Your Arduino Balancing Robot
Cet autre robot Arduino équilibriste utilise des moteurs pas-à-pas, des StepStick (apparemment des DRV8825) et une commande à distance (Nunchuck). La liaison sans fil est assurée par ESP8266.
Source: YABR project sur brokking.net
Un projet completement documenté sur l'article "Your Arduino Balancing Robot (YABR)".

Un plan de montage complet et du code Arduino ouvert. Franchement TOP.
Source: YABR project sur brokking.net
Le projet dispose également d'une vidéo YouTube.


Ressources


Bonne lecture,
Dominique