Accueil

DEPLACEMENTS du ROBOT

Contrairement a ce qu'on peut penser , il est assez difficile de faire aller un robot d'un point précis a un autre (pour le voir faites suivre plusieures fois a votre robot un parcours en boucle alternant sections droites et virages droite et gauche: normalement a la fin de chaque boucle le robot devrait retrouver sa position de départ. Hélas vous risquez d'être très déçus !) en effet différentes difficultés apparaissent vite.

Un robot fait constamment de petites erreurs de déplacement : sur les distances parcourues et surtout l' angle des virages a droite ou a gauche. Ces erreurs s' additionnent: au bout d'une dizaine de virages il y aura un décalage notable entre les directions théorique et réelle. Il faut donc : limiter au maximum ces erreurs , évaluer les décalages, calculer les corrections nécessaires .

De plus le robot doit avoir une stratégie pour aller d'un point A a un point B et si il y a des obstacles sur son trajet une stratégie de contournement sera nécessaire.

Robot suiveur de ligne

Le cas le plus simple est le robot suiveur de ligne tracée au sol : avec un bon contraste entre la couleur du plancher et celle de la ligne , des détecteurs de lumière réfléchie protégés de la lumière ambiante suffiront. Encore faut il qu'il n'y ait pas d'obstacle sur le trajet.

Limiter les erreurs de déplacement

D'abord on doit tester très précisément la distance parcourue par chaque roue en réponse a une commande donnée car une même commande ne fait pas avancer exactement les roues droite et gauche de la même distance. De plus il faut garder en tête qu 'un robot ne se déplacera pas de la même façon sur parquet, ciment, moquette ou tapis épais !

Pour évaluer le nombre de tours de roue réellement effectués on peut coller sur la roue un disque dit encodeur , avec une alternance de secteurs blancs et noirs : un détecteur IR compte les secteurs qui passent devant lui. Cette méthode dite l'odométrie ne marche pas si la roue dérape ou tourne sur place quand le robot est bloqué contre un mur : pour éviter cela on peut ajouter au robot une roue non motrice avec encodeur. Les déplacements fondés sur ce genre de mesures "internes au robot" est appelée "dead reckoning" par les anglophones.

Savoir ou on est exactement

Un robot amateur se déplace généralement sur de petites distances et en intérieur de sorte que les systèmes GPS actuels ne donnent pas la précision nécessaire en indoors .

On peut utiliser des balises émettrices fixes autour de l'espace de déplacement (il en faut en principe 3 pour se repérer et il faut qu'elles soient visibles depuis le robot et qu'il n'y ait pas de parasites dus a d'autres balises ou a l'éclairage local: quoiqu 'on puisse filtrer ou repérer les codes des bons signaux ) . Ces balise peuvent émettre des signaux visibles, IR , ultrasons, lasers, ou radio.

On peut aussi quadriller le sol avec des balises RFID , mais leur portée est limitée et la consommation d' électricité du détecteur sur le robot élevée.

Si on a un plan de la salle et des détecteurs IR et/ou sonars bien étalonnés et protégés des sources d' interférences on peut se recaler par rapport aux obstacles (murs, meubles) a condition qui 'ils ne soient pas déplacés. Même chose si le robot se déplace dans un labyrinthe dont le robot connaît le plan .

A condition d'avoir un bon programme d'analyse d'images , une caméra embarquée permet de repérer différents objets de couleur , taille et forme connus . Tout repose alors sur la qualité et l'adaptation du programme aux conditions rencontrées.

Les compas proposés en robotique amateur (on en trouve chez Devantech) sont d'une précision limitée et des parasites divers peuvent leur faire perdre le nord .

Evaluer l'ampleur des erreurs

Par rapport a des repéres fixes (marques au sol, murs) ou des balises on calcule les erreurs de distance et d'angle.

Corriger les erreurs par touches successives

Comme il ne faut pas osciller trop vite entre une erreur dans un sens et une erreur en sens opposé due a une correction excessive, on essaye d'adapter la correction en tenant compte de l'ampleur de l'erreur et de sa vitesse de croissance. IL vaut mieux 5 petites corrections très rapprochées qu 'une grosse correction de temps en temps ! C'est la que j'ai apprécié un microcontroleur exécutant plusieures tâches en parallèle comme le Propeller: les déplacements du robot sont bien plus fluides.

Pour les ajustements on utilise souvent une méthode générale dite PID (Proportional Integral Derived) : on corrige en proportion de l'écart (terme proportional) , en fonction de l'écart cumulé pendant une durée précise (terme integral) et de la vitesse de variation (terme derivate)