Ignorer la navigation

Suivre une ligne

Milieu de cycle

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

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.
Sinon, il avance tout droit.

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).