Vous êtes sur la page 1sur 19

Modelisation et commande dun robot mobile

Probl`eme


Etape de conception

Modelisation

Etude du cahier de charges
Strategie de commande
Test par simulation
Implantation numerique, generation de code (cours suivant)

Enonc
e et cahier de charges
Faire suivre au robot une ligne noire sur le sol
Deux capteurs de lumi`ere, positionnes sur le devant et qui pointent vers le sol afin de
detecter la ligne noire.

Contrainte : le robot peut seulement, a` partir des informations venant des capteurs,
estimer sa deviation par rapport a` la ligne.

Etapes a` suivre
Trouver le mod`ele du syst`eme (etats, entrees et sorties)
Proposer une loi de commande
Commande de direction (orientation) du robot
Commande de vitesse du robot
Tester par simulation
Implantation, validation, deboggage
Mod`ele du robot

v g + vd
x = cos() (1)
2
vg + vd
y = sin() (2)
2
vd vg
= (3)
l
l : distance entre deux roues, vg et vd sont les vitesses des deux roues gauche et droite.
= wt.
Capteurs : 2 capteurs de lumi`ere.
Actionneurs : 2 servomoteurs.
Consigne : La ligne noire.
Mod`ele des capteurs
Hypoth`ese : Supposons que les capteurs soient calibres sur une e chelle de 0 (noir) a`
100 (blanc). Il faut verier cette hypoth`ese et ajuster le calibrage si besoin !
La zone est compl`etement noire, le capteur retourne 0.
La zone est compl`etement blanche, le capteur retourne 100.
Si un capteur retourne une valeur c < 100, le robot nest plus aligne avec la ligne
Idee pour la loi de commande : Faire tourner le robot dun angle proportionnel a` la
difference (Cd Cg ).
Commande de trajectoire
Commande par retour detats
Decoupler la dynamique du syst`eme
Syst`eme dorientation ().
u
=
l
Syst`eme de translation (x, y)

x = u cos()
y = u sin()

avec
vd + vg
u =
2
u = vd vg
Exercise : Commande de lorientation du robot
1. Trouver la fonction de transfert entre et u (en Laplace).
2. Boucler le syst`eme avec un correcteur (type PI) et calculer la fonction de transfert en
boucle fermee.
3. Reglage du correcteur : trouver les param`etres de correcteur pour avoir un
comportement desire (stable, rapide, sans depassement, avec une erreur statique
nulle..).
4. Tester en simulation (en utilisant Matlab).
Exercise : Commande de lorientation du robot
Question 1 :
De lequation (3) nous avons
u
= ,
l
ce qui donne en transformee de Laplace
u (s)
s(s) =
l
(en supposant que les conditions initiales sont 0). La fonction de transfert de par
rapport a` lentree u est alors :
(s) 1
H (s) = =
u (s) ls
Exercise : Commande de lorientation du robot
Question 2 : Le schema de commande
La sortie u du correcteur C (s) est connectee a` l entree du bloc H (s) (correspondant a`
la dynamique de lorientation du robot). Lentree du correcteur C (s) est lecart entre
la sortie de H (s) et lorientation desiree .

C H

u
+

kp
Pour un correcteur de type PI nous avons : C (s) = kp + s
La fonction de transfert en boucle fermee
kp ki
C (s)H (s) s+
H(s) = = l l
1 + C (s)H (s) 2
kp ki
s + s+
l l
Exercise : Commande de lorientation du robot
Question 3 : Reglage du correcteur de lorientation du robot

Notons = 1/l.
Si lon choisit ki = 2 / et kp = 2/ (avec > 0, > 0), le syst`eme en boucle
fermee est du deuxi`eme ordre avec un gain statique de 1, une pulsation et un
amortissement .

Notons que les poles du syst`eme en boucle fermee sont


p
p1,2 = i 2 (1 2 )

avec les parties reelles Re(p1,2 ) < 0, ce qui garantit la stabilite de .

Il nous reste la liberte de choisir des valeurs de et de afin dobtenir des


performances desirees (temps de reponse, depassement, etc).
Exercise : Commande de lorientation du robot
Question 3 : Reglage du correcteur de lorientation du robot (suite)
Rappel : la reponse dun syst`eme du deuxi`eme ordre ayant le polynome caracteristique
2 2
p
(s) = s + 2s + avec les racines p1,2 = i 2 (1 2 )
Temps de montee (rise time) 10 90% :
1 + 1.1 + 1.4 2
tr =

Temps de stabilisation (settling time)
3
ts =

Temps de pic (time to peak amplitude)

tp = p
1 2
Depassement (peak overshoot) :

Mp = etp
Commande de la vitesse du robot
En ligne droite : Vitesse du robot constante. Donc un e cart de vitesse constant a`
lentree du correcteur Idee : utiliser un correcteur de type P et de garder lentree
proportionelle a` la somme (Cd + Cg ).
Au virage : Vitesse reduite pour e viter des depassements a` la courbure. Reduire
lerreur a` lentree du correcteur de vitesse.
Detecter un virage : cest quand la commande u a une grande valeur absolue. Idee :
soutraire de la sortie u (du correcteur de vitesse) une quantite proportionnelle a` la
valeur absolue |u |
Mod`ele Simulink pour le calcul decarts
Determination des vitesses de deux roues
` partir de
A
vd + v g
u =
2
u = vd vg

on obtient les vitesses des deux roues en fonction des valeurs de u et u


u + u
vd =
2
u u
vg =
2
Mod`ele Simulink des correcteurs
Mod`ele du robot et lenvironnement

Le bloc Environment a pour lobjectif demuler les comportements des capteurs de


lumi`ere dun robot sur une ligne donnee.
Mod`ele de lenvironnement
Exercise : Modelisation et simulation avec Simulink
1. Telecharger le mod`ele SIMULINK (robot + controleur + environnement)
(ExRobotAndEnvironmentControllerCont.mdl). Larchive contient
e galement :
InitRobotAndEnvironment.m : Ce fichier Matlab sert a` initialiser les
param`etres du mod`ele (tels que la distance entre deux roue, les param`etres du
controleur, la position et lorientation initiales du robot, le nom de limage de circuit
a` tester)
quelques fichiers dimage de circuits
robot_anim.m et sensors.m : fonctions Matlab pour lemulation de
lenvironnment
Exercise : Modelisation et simulation avec Simulink
2. Lancer Matlab/Simulink et ouvrir le mod`ele.
3. Executer le script InitRobotandEnvironment.m (taper simplement
InitRobotandEnvironment dans la Command Window de Matlab)
4.Utiliser le menu Simulation pour simuler le mod`ele
5. Regler les correcteurs pour ameliorer la performance

Vous aimerez peut-être aussi