ISN - Robotique

Avancer-Reculer entre deux obstacles

Question

Le robot doit avancer jusqu'à détecter un obstacle devant lui, puis reculer jusqu'à rencontrer un obstacle derrière lui.

Aller-retour entre deux obstacles
Indice

Il est nécessaire pour réaliser cette tâche d'utiliser des capteurs de types sonar ultrasons ou infrarouge. On se fixera un seuil de détection minimum correspondant à quelques centimètres avant l'obstacle.

Question

On pourra ensuite calculer la loi de vitesse à imposer aux roues pour ralentir avant l'obstacle, s'arrêter et repartir en marche arrière.

Ralentir ou accélérer en arrivant ou en s'éloignant d'un obstacle.
Solution

function azolla.main(azolla)

  while true do

    front = azolla:readsensor(0)

    back = azolla:readsensor(3)

    -- Définir le sens

    if(front<12) then

      sens=-1

    end

    if(back<12) then

      sens=1

    end

    -- Vitesse constante

    if(front>20 and back>20) then

      vitesse=20;

    end

    -- Accéléré ou ralentir

    if(front<20) then

      vitesse=2*front-20;

    end

    if(back<20) then

      vitesse=2*back-20;

    end

    azolla:setspeed(sens*vitesse+1,sens*vitesse+1)

    azolla:stepforward()

  end

end

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)