• Document: Cours ISC - 2A TD et Correction - Commande d un robot suiveur de ligne
  • Size: 89.7 KB
  • Uploaded: 2019-01-13 21:20:05
  • Status: Successfully converted


Some snippets from your converted document:

Cours ISC - 2A TD et Correction - Commande d’un robot suiveur de ligne Thao Dang cnrs-verimag, 2, av. de Vignate, 38610 Gieres, France 1 Atteindre un point cible Dans le TD précédent, nous avons calculé deux contrôleurs qui réalisent les trajectoires du robot en fonction de la différence entre les coor- données courantes du robot et celles du point cible (xf inal , yf inal ). Questions 1. – Tester le contrôleur du modèle fourni. Justifier les valeurs des pa- ramètres de ce contrôleur. Pourrait-on les améliorer ? Réponse : Ces valeurs des paramètres garantissent la stabilité. On pourrait les améliorer pour d’autres critères de performance. – Pour implanter le contrôleur du modèle fourni, il faut le discrétiser. Si on choisit une période d’échantillonnage T et une approximation du premier ordre, on a z−1 s≈ . zT Trouver une période d’éechantillonnage T appropriée et la valider en utilisant par simulation. Réponse : En plus du critère de Shannon, il est important de ga- rantir que la boucle fermée discrétisée soit stable. Pour ceci, par exemple, quand on considère le contrôleur d’angle, il faut discrétiser la dynamique de l’orientation θ et puis calculer la fonction de transfert en Z de la boucle fermée. 2 Suivre une ligne noire Nous allons maintenant considérer le problème de faire suivre au robot une ligne en utilisant des capteurs de lumière. Le robot possède deux capteurs de lumière G (gauche) et D (droite) positionnés sur le devant et qui pointent vers le sol afin de détecter une ligne noire. Le robot possède deux moteurs connectés à ses deux roues. On doit connaı̂tre les valeurs que les capteurs retournent quand ils voient une « couleur » entre le le noir et le blanc. Autour de chaque capteur, il y a une petite zone qu’il peut voir. Hypothèse : Supposons que les capteurs soient calibrés sur une échelle de 0 (noir) à 100 (blanc) (il faut vérifier cette hypothèse et ajuster le calibrage si besoin). Si la zone est complètement noire, le capteur retourne 0. Si la zone est complètement blanche, le capteur retourne 100. Si un capteur retourne une valeur c < 100, on sait que le robot n’est plus aligné avec la ligne et il faut le faire tourner vers ce capteur d’un angle proportionel à cette valeur c. On peut utiliser les informations fournies par les capteurs comme suit (on suppose que le robot est initialement aligné sur la ligne) : – Si les deux capteurs voient le blanc, le robot va tout droit (sauf dans des cas particuliers tels que dans une manœuvre de demi- tour). – Si un seul capteur voit le blanc, le robot tourne vers le capteur qui voit le noir. – Si les deux capteurs voient le noir, le robot s’arrête et attend l’intervention de l’utilisateur pour le remettre sur la ligne. Pour réaliser cette stratégie, notons que l’orientation θ du robot est contrôlée par la différence entre les vitesses des deux roues vG et vD , ce qui est réalisé par le contrôleur d’angle. La vitesse du robot est contrôlée par la moyenne de vG et vD , ce qui est réalisé par le contrôleur de distance. Dans le TD précédent, nous avons calculé deux contrôleurs qui réalisent les trajectoires du robot en fonction de la différence entre les coor- données courantes du robot et celles du point cible (xf inal , yf inal ). Nous allons maintenant combiner ces contrôleurs avec un planifica- teur de trajectoire qui change le point cible « implicitement » en fonction des informations venant des capteurs. Le problème est maintenant de suivre une ligne que le robot ne peut pas connaı̂tre. Il peut seulement, à partir des informations venant des capteurs, estimer sa déviation par rapport à la ligne. Nous allons d’abord contrôler l’orientation du robot, c’est-à-dire déterminer la commande qui agit sur la différence vG − vD . Pour corriger l’angle du robot, on définit l’erreur d’angle (la différence entre l’angle courant et l’angle désiré) que l’on veut ramener à 0. Notons que dans le contexte du suiveur de ligne, on peut estimer cette différence sans connaı̂tre l’angle désiré. Ensuite, cette erreur est donnée en entrée du PID du contrôleur d’angle. On doit encore contrôler la vitesse du robot, car le contrôleur d’angle détermine seulement la différence entre vG et vD . – Quand le robot ne doit pas tourner, on peut laisser la vitesse du robot constante, par exemple en créant à l’entrée du contrôleur de distance une « erreur »de distance constante. Dans ce cas, une solution plus simple est de désactiver la partie intégrale du PID et de garder l’entrée constante. – Quand le robot doit tourner, si la

Recently converted files (publicly available):