Robot Scooba

Le robot domestique nettoyeur de sol Scooba doit remplir les fonctions de service :

FS1 : nettoyer le sol de façon autonome ;

FS2 : éliminer les saletés et les tâches ;

FS3 : laver avec une solution nettoyante ;

FS4 : être autonome en énergie ;

FS5 : se déplacer en tenant compte des obstacles.

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.

Le codeur possède sept ailettes qui coupent une barrière infrarouge. La carte électronique reçoit sept impulsions par tour de 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

Q2 : En déduire la précision du contrôle qui est la distance parcourue pour une impulsion du codeur.

Indice

Il faut utiliser le rayon de la roue afin de calculer son périmètre P.

Solution

Périmètre de la roue : P = 2 x π x R = 2 x π x 2,15 = 13,5 cm = 135 mm

Précision = P / Ntour = 135 / 399 = 0,338 mm

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

Question

Q4 : Compléter l'algorithme ci-contre, qui illustre le principe de contrôle de la trajectoire rectiligne du robot Scooba (pour la consigne : avancer en ligne droite sur 50 cm). Les phrases suivant # en italiques sont des commentaires.