Suivre une ligne
Thymio doit suivre une ligne noire. Il s'agit ici de ne pas décrire le chemin à parcourir, mais d'utiliser les capteurs au sol.
L'algorithme simple
Mais que se passe-t-il si les deux capteurs au sol détectent du blanc ? Apport d'une correction de l'algorithme pour éviter le bug.
Si le capteur au sol gauche détecte du blanc alors le robot tourne à droite.Si le capteur au sol droite détecte du blanc alors le robot tourne à gauche.Si les capteurs au sol droite et gauche détectent du blanc alors les moteurs du robot s'arrêtent.Sinon, il avance.
En simulation
La simulation réagit comme la réalité. Les deux points vert et bleu représentent les capteurs au sol.
En pilotage
Voici le script le plus simple réalisé avec le VPL Blockly pour Thymio d'Aseba.
|
||||
Explications: |
||||
|
Le bouton central appuyé les instructions suivantes s'exécutent : | |||
Jusqu'à ce que le bouton avant soit touché, les instructions suivantes s'exécutent en boucle : | ||||
SI le capteur au sol droit détecte du blanc* | alors tourner rapidement à gauche** |
|||
Sinon si le capteur au sol gauche détecte du blanc* | alors tourner rapidement à droite** | |||
Sinon | aller tout droit | |||
Sinon | arrêter moteur | |||
* Trouver les bonnes valeurs pour les capteurs au sol...
**La vitesse sur la roue droite ou gauche pour amorcer un virage (500) doit être nettement plus rapide que la vitesse pour se déplacer en ligne (300).
Le problème du script, ci dessus, c'est que si les deux capteurs captent du blanc, le robot avance tout droit, ce qui peut poser problème. Je décide de traiter ce bug en arrêtant le robot. J'ajoute donc une condition au script.
Explications:
|
Le bouton central appuyé, les instructions suivantes s'exécutent : | |||
Jusqu'à ce que le bouton avant soit touché, les instructions suivantes s'exécutent en boucle : | ||||
SI les capteurs au sol droit et gauche détectent du blanc* | alors on arrête les moteurs | |||
SI le capteur au sol droit détecte du blanc* | alors on tourne rapidement à gauche** |
|||
Sinon si le capteur au sol gauche détecte du blanc* | alors on tourne rapidement à droite** |
|||
Sinon | on va tout droit | |||
Sinon | on arrête les moteurs | |||
* Trouver les bonnes valeurs pour les capteurs au sol...
**La vitesse sur la roue droite ou gauche pour amorcer un virage (500) doit être nettement plus rapide que la vitesse pour se déplacer en ligne (300).