Le robot suiveur de ligne

Dans un entrepôt, un robot doit emmener des objets d’un point à un autre en suivant un marquage au sol. Pour remplir cette fonction, il intègre un module suiveur de ligne, composé de 2 capteurs optiques placés au ras du sol. Vous êtes le technicien en charge de la maintenance du robot.

Tableau situation /comportement du robot suiveur


Situation 1

Si les 2 capteurs détectent la ligne noire, l’état du module suiveur de ligne passe à 0

Situation 2

Si le capteur droit ne détecte plus la ligne noire, l’état du module suiveur de ligne passe à 1

Situation 3

Si le capteur gauche ne détecte plus la ligne noire, l’état du module suiveur de ligne passe à 2

Situation 4

Si aucun capteur ne détecte la ligne noire, le robot recule


Comportement 1

Le robot avance

Comportement 2

Le robot tourne à gauche

Comportement 3

Le robot tourne à droite

Comportement 4

Le robot recule



Algorithme du robot suiveur de lignes

Répéter indéfiniment

       Mettre la variable « capteur » à l’état du suiveur de lignes

       Si l’état du module suiveur de ligne =0

       Alors

              Faire avancer le robot

       Sinon

              Si l’état du module suiveur de ligne=1

              Alors

                      faire tourner à gauche le robot

              Sinon

                      Si l’état du module suiveur de ligne=2

                      Alors

                              Faire tourner à droite le robot

                      Sinon

                              Faire reculer le robot

                              ...

 

Programme à compléter



  1. Vous réaliserez le programme avec mblock et le téléverserez sur le robot.
  2. Vous devrez améliorer le programme, pour que le technicien en charge de la maintenance puisse arrêter le robot quand il le souhaite.
  3. Un robot a été endommagé car une caisse est tombée sur la ligne, modifier votre programme pour que cet accident ne se reproduise pas.
  4. Un ouvrier n’a pas entendu le robot qui reculait, et a été percuté par celui ci, modifier votre programme pour corriger ce défaut.