Ignorer la navigation

Circuler

L 'algorithme

Milieu de cycle

Le robot 1 décrit le parcours et lorsqu'il arrive sur un obstacle, il s'arrête.

Le robot 2  détecte le robot 1 qui arrive par derrière , et démarre. Lorsqu'il arrive sur un obstacle il s'arrête.

distinction robots

En simulation

Il suffit de reprendre le script précédent et de dupliquer le lutin. Deux scripts sont ainsi créés facilement.

Il suffit de modifier le script 2 en ajoutant des capteurs à l'arrière  (attention à la longueur des traits qui permettront la détection du premier robot)

En pilotage

Il suffit d'avoir deux scripts quasiment identiques pour le robot 1 et le robot 2. La différence se fera sur la condition  qui va lancer le script...

Robot 1 :

Il  s'agit du script "s'arrêter devant un obstacle", mais conçu différemment avec deux boucles imbriquées.

Script robot 1
Explication :
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 :
Répéter les instructions suivantes en boucle tant que le capteur de proximité avant central ne détecte rien
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 si le capteur de proximité avant détecte quelque chose*
alors  on arrête les moteurs
Sinon on va tout droit
Sinon on arrête les  moteurs
Sinon on arrête les  moteurs

Robot 2 :

C'est le script précédent en ajoutant des conditions sur la boucle Répéter tant que

Script robot 2

Explication :
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 :
Répéter les instructions suivantes en boucle tant que

le capteur de proximité avant central ne détecte rien

et

le capteur arrière gauche ou droite détecte quelques chose

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 si le capteur de proximité avant détecte quelque chose*
alors  on arrête les moteurs
Sinon on va tout droit
Sinon on arrête les  moteurs
Sinon on arrête les  moteurs

* Trouver les bonnes valeurs pour les capteurs au sol...


Mais nous pouvons simplifier ce problème, en utilisant le même programme pour le robot 1 et 2.

J'utilise le script de "s'arrêter devant un obstacle " que je transforme en sous-routine.

Les évènements bouton central touché, capteur arrière droit et gauche détectent quelque chose déclenchent  une sous-routine .

Script robot 1&2