Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
articles:asservissement_et_pilotage_de_robot_autonome [2017/07/19 15:10]
pfagan Page créée.
articles:asservissement_et_pilotage_de_robot_autonome [2019/10/26 21:08] (Version actuelle)
Ligne 1: Ligne 1:
 ===== Asservissement et pilotage de robot autonome ===== ===== Asservissement et pilotage de robot autonome =====
- 
-FIXME Images ajoutées bientôt... 
  
 FIXME Les liens des archives dans cet article sont cassés. FIXME Les liens des archives dans cet article sont cassés.
Ligne 87: Ligne 85:
 Notre problème d'​oscillation vient quant à lui du fait que nous n'​anticipons pas le franchissement de l'​objectif,​ et donc que la cabine, entraînée par son inertie, est emporté dans son mouvement, et dépasse considérablement le point visé au premier passage. Pour éviter le problème, on se fixe une troisième et dernière règle : "Plus on s'​approche de l'​objectif plus on ralenti"​ ce qui se traduit aussi à l'​inverse par : "Plus on s'​éloigne de l'​objectif,​ plus on accélère dans le sens inverse"​. A ce stade, si on applique chacune des règles précédentes dans les bonnes proportions,​ on devrait être capable de contrôler notre système avec précision et rapidité. Notre problème d'​oscillation vient quant à lui du fait que nous n'​anticipons pas le franchissement de l'​objectif,​ et donc que la cabine, entraînée par son inertie, est emporté dans son mouvement, et dépasse considérablement le point visé au premier passage. Pour éviter le problème, on se fixe une troisième et dernière règle : "Plus on s'​approche de l'​objectif plus on ralenti"​ ce qui se traduit aussi à l'​inverse par : "Plus on s'​éloigne de l'​objectif,​ plus on accélère dans le sens inverse"​. A ce stade, si on applique chacune des règles précédentes dans les bonnes proportions,​ on devrait être capable de contrôler notre système avec précision et rapidité.
  
-  + {{:​articles:​asservissement_pilotage_robot_autonome:​courbepid.png?​400| ​Courbe de réponse indicielle typique d'un régulateur PID}}
- +
-Courbe réponse indicielle PID +
-[Courbe de réponse indicielle typique d'un régulateur PID]+
  
 Un contrôleur PID fonctionne exactement de cette manière, à l'aide des trois règles intuitives décrites précédemment correspondant aux trois lettres P-I-D. Un contrôleur PID fonctionne exactement de cette manière, à l'aide des trois règles intuitives décrites précédemment correspondant aux trois lettres P-I-D.
Ligne 201: Ligne 196:
  
 De la même façon, il peut être utile de pouvoir commander notre moteur en vitesse pure. Le calcul est plus simple puisqu'​il suffit ici d'​effectuer uniquement les deux premières phases du mouvement précédent : accélération et vitesse constante. Par contre, contrairement à la commande en position, la commande en vitesse n'a d'​utilité que si l'on peut l'​exécuter avec une vitesse initiale non nulle. On peut de cette manière enchaîner les commandes de vitesse, et créer des trajectoires complexes. De la même façon, il peut être utile de pouvoir commander notre moteur en vitesse pure. Le calcul est plus simple puisqu'​il suffit ici d'​effectuer uniquement les deux premières phases du mouvement précédent : accélération et vitesse constante. Par contre, contrairement à la commande en position, la commande en vitesse n'a d'​utilité que si l'on peut l'​exécuter avec une vitesse initiale non nulle. On peut de cette manière enchaîner les commandes de vitesse, et créer des trajectoires complexes.
-Implémentation en C+== Implémentation en C ==
  
 Le code ressemble énormément au précédent. J'ai gardé l'​idée de la distance à parcourir, sauf qu'​elle peut correspondre ici soit à la fin de la trajectoire,​ le robot étant toujours à sa vitesse cible à ce moment, soit à une sorte de distance de sécurité par exemple dans le cas d'un téléguidage au joystick, le robot s'​arrête automatiquement si il ne reçoit plus d'​ordre et qu'il a parcouru la distance. Le code ressemble énormément au précédent. J'ai gardé l'​idée de la distance à parcourir, sauf qu'​elle peut correspondre ici soit à la fin de la trajectoire,​ le robot étant toujours à sa vitesse cible à ce moment, soit à une sorte de distance de sécurité par exemple dans le cas d'un téléguidage au joystick, le robot s'​arrête automatiquement si il ne reçoit plus d'​ordre et qu'il a parcouru la distance.
Ligne 225: Ligne 220:
  
 === Principe du calcul d'​odométrie === === Principe du calcul d'​odométrie ===
-[Calcul ​d'​odométriePour plus de clarté, le schéma n'est pas à l'​échelle,​+{{:​articles:​asservissement_pilotage_robot_autonome:​calculodometrie.png?​400| Schéma explicitant les variables pour les calculs ​d'​odométrie}} 
 + 
 +Pour plus de clarté, le schéma n'est pas à l'​échelle,​
 dL et dR doivent être très largement inférieur à l'​entraxe du robot. dL et dR doivent être très largement inférieur à l'​entraxe du robot.
-Calibration+== Calibration ​==
  
 Pour utiliser pleinement un système d'​odométrie à base de roue folle, ou d'​encodeur sur arbre moteur, il faut calibrer les paramètres suivants avec soin : Pour utiliser pleinement un système d'​odométrie à base de roue folle, ou d'​encodeur sur arbre moteur, il faut calibrer les paramètres suivants avec soin :