
2. Copier votre code pr´ec´edent sous Exo4.c et remplacer le code d’´evitement d’obstacles de la
tˆache principale par la commande en vitesse op´erationnelle du lego :
(a) D´efinir une variable pour la vitesse lin´eaire v(en m.s−1) et une variable w= 0 rad.s−1.
(b) Avec votre matrice M−1, impl´ementer le calcul de Uret Ulpour ces vitesses.
(c) Une consigne de vitesse lin´eaire/angulaire trop grande peut conduire par le calcul pr´ec´edent
`a des consignes U{r,l}sup´erieures `a 100% ou inf´erieures `a -100% de la charge de la batte-
rie. Le syst`eme ne comprendra pas ces valeurs. Donc saturer les commandes U{r,l}apr`es
calcul entre −100 et 100 pour rester dans la plage de fonctionnement normal du moteur
(on fait au mieux) : Si Ur<−100 alors ...
3. Valider votre commande en vitesse du Lego Tribot. Pour cela, tester d’abord avec une vitesse
lin´eaire seule de 6 cm/s, puis avec une vitesse angulaire seule, puis une combinaison des 2.
Point de validation 6
1.3 Parcours de la piste
v
+ω
v
−ω
ω: vitesse angulaire
κ: gain
=(%Réfléchie−%Réfléchie_Gris)*k*vω
vCapteur lumière réfléchie
v: vitesse linéaire (v=0.15 m/s constant)
loi de commande:
Figure 2 – Principe du suivi de la piste.
Le parcours est constitu´e d’une piste pr´esentant un d´egrad´e de gris : du blanc vers le noir. La
trajectoire `a suivre est le gris m´edian situ´e en milieu de piste.
Le capteur photosensible est utilis´e pour mesurer le niveau de gris et donc la distance d(en % de
luminosit´e) par rapport au gris m´edian (figure 2). On peut d´eterminer en fonction du niveau de
gris si on est `a droite ou `a gauche de la trajectoire. La suivi consiste `a avancer `a vitesse lin´eaire
constante et adapter la vitesse angulaire en fonction de la distance par rapport `a la trajectoire.
1. Calibrage du capteur photosensible
(a) Positionner le capteur `a l’avant du Lego (au milieu si possible), tel que le capteur soit
situ´e `a environ 7-8mm au dessus du sol.
(b) Utiliser l’utilitaire Port View pour mesurer la valeur renvoy´ee par le capteur en % pour
le gris m´edian qui sera notre consigne constante (voir aussi le noir et le blanc). 1
2. Impl´ementation de la loi de commande proportionnelle de la figure 2.
(a) Modifier la tˆache principale pour r´ealiser l’asservissement.
(b) D´efinir v, une consigne de vitesse constante et calculer alors wen fonction de v(toujours
exprim´e en m.s−1), de ket de d, la distance alg´ebrique par rapport `a la trajectoire
exprim´ee en % de luminosit´e. On souhaite parcourir la piste dans le sens horaire !
3. Exp´erimentation
(a) Tester l’asservissement avec une consigne de vitesse lin´eaire raisonnable. Adapter le gain
kpour r´eussir le parcours de la piste.
(b) Essayer d’augmenter la consigne vpour acc´el´erer le robot (et faire la course). Point de validation 7
1. on pourra aussi choisir la consigne comme le niveau de gris mesur´e au d´emarrage du programme pour plus de
flexibilit´e.
L.Cuvillon 2