Robot Scooba
Dans l'idéal, le robot doit pouvoir se déplacer de manière aléatoire dans son espace de travail de telle sorte qu'au bout d'un certain temps, toute la surface ait été nettoyée.
Cependant, différents aléas peuvent conduire à une réduction importante de la surface nettoyée. Il convient donc de contrôler la rotation des moteurs. Pour cela, le constructeur a placé un codeur à l'arrière de chaque moteur.
Question
Q1 : En utilisant les informations fournies à la figure 1 , calculer le nombre d'impulsions Ntour reçu par la carte électronique du robot Scooba pour un tour de roue.
Indice
Il faut utiliser la résolution du codeur (7 impulsions/tour) et le rapport de réduction du réducteur (1/57).
Solution
1 tour de roue => 57 tours du moteur => Ntour = 57 x 7 = 399 impulsions
Question
Un programme, utilisant les informations issues des codeurs (droit et gauche), a été écrit pour corriger le comportement du robot Scooba. On s'intéressera uniquement au déplacement en ligne droite.
On se place dans le cas :
d'une consigne de déplacement en ligne droite de 50 cm ;
d'un écart d'avance toléré entre les deux roues motrices Δroue = ± 5 mm.
Le programme permet de contrôler les deux roues motrices. Dans le principe, il contrôle l'écart d'avance entre les deux roues motrices et corrige cet écart en réduisant la vitesse de la roue trop rapide. Pour simplifier l'étude, la roue trop rapide sera stoppée. Ci-dessous, le tableau des actions sur les roues :
Question
Q3 : Convertir l'écart toléré entre les deux roues motrices Δroue en nombre d'impulsions NΔroue.
Solution
NΔroue = Δroue / Précision = 5 / 0,338 = 14,79 => 14 ou 15 (nombre entier)
Dans l'algorithme à compléter, il a été choisi de prendre NΔroue = 15