Travaux Pratiques de Robotique Master 2

1
TP Robotique
Travaux Pratiques de Robotique
Master 2 - IPST
Robot plan `a 3 degr´es de libert´e
Introduction
On dispose du robot plan d´ecrit par la figure 1. Ce robot poss`ede 3 axes roto¨ıdes parall`eles.
C’est un robot `
a 3 degr´es de libert´e : 2 pour le positionnement x, y et un pour l’orientation θ de
la pince. Les dimensions utiles sont ´egalement indiqu´ees sur la figure.
Ce cas est tr`
es similaire `
a l’exemple trait´
e en cours du robot PRR `
a 3 degr´
es de
libert´
e, en particulier pour le calcul du mod`
ele g´
eom´
etrique inverse.
Ce robot a ´et´e simul´e sous matlab. T´el´echarger les sources `a l’adresse suivante :
http://eavr.u-strasbg.fr/wiki/index.php/Robotique\_de\_manipulation. Ouvrir le fichier
simulink tp.mdl. En lan¸cant la simulation avec start dans le menu simulation, vous obtenez la
figure 2.
Fig. 1 – Sch´ema filaire du robot.
Inversion du mod`
ele g´
eom´
etrique
On d´esire saisir un objet plac´e dans l’espace de travail du robot. Soit q = [q1 q2 q3 ]T le vecteur des
coordonn´ees articulaires et X = [x1 x2 x3 ]T = [x y θ]T le vecteur des coordonn´ees op´erationnelles
avec (x, y) les coordonn´ees du centre de la pince dans le rep`ere de base et θ l’angle d’orientation
de l’organe terminal dans le rep`ere de r´ef´erence. Pour saisir l’objet, il faut d´eplacer la pince `a la
position X0 = [0.7 0.5 0]T .
Q1 : Calculer le mod`ele g´eom´etrique direct (MGD) du robot en utilisant la convention de DH
modifi´ee pour le param´etrer (mˆeme si ce cas simple peut se r´esoudre directement). Privil´egier l’orientation “avant, droit et haut” des axes.
Compl´eter ainsi le fichier mgd.m avec votre mod`ele.
Q2 : Inverser le mod`ele g´eom´etrique pour obtenir le mod`ele g´eom´etrique inverse (MGI) et
d´eterminer les coordonn´ees articulaires q0 pour d´eplacer la pince en X0 . Pour l’inverser, on pourra
calculer la position px et py du point O3 en fonction de x(1), x(2) et q(3). On r´esout ensuite le
syst`eme px = f (q1 , q2 ) et py = f (q1 , q2 ) de mani`ere similaire `a celle vue en cours pour le robot
PRR.
2
TP Robotique
Fig. 2 – Simulateur du robot sous simulink.
Compl´eter alors le fichier mgi.m avec votre mod`ele.
V´erifier vos r´esultats `
a l’aide du simulateur, en initialisant les 3 blocs constants avec les valeurs
des coordonn´ees articulaires. Si votre r´esultat est exact, l’objet doit disparaˆıtre.
Inversion du mod`
ele cin´
ematique
Sous simulink, ouvrir le fichier tp2.mdl. Il contient le mod`ele d´ecrit par la figure 3. Un bloc
int´egrateur est rajout´e dans le but de pouvoir contrˆoler les vitesses articulaires du robot. La position
initiale du robot peut ˆetre d´efinie en imposant des conditions initiales pour cet int´egrateur (par
ex. [0 0 0] dans le champ Initial condition).
Le bloc Jacobien inverse simule le Jacobien inverse du robot (MCI). Ce bloc fait appel `a la
fonction jacob.m qui se trouve dans le r´epertoire courant.
Robot
Robot commandé en vitesse en vitesse operationnelle
Fig. 3 – Simulateur d’un robot command´e en vitesse op´erationnelle (cart´esienne) : q˙ = M CI(q).X˙
ou q˙ = J −1 (q).X˙
Q3 : Calculer le Jacobien direct de ce robot (MCD) en utilisant la m´ethode syst´ematique du
cours (que l’on pourra v´erifier en d´erivant par rapport au temps le MGD).
3
TP Robotique
Compl´etez le calcul du Jacobien direct laiss´e blanc dans le fichier jacob.m . Analyser le reste du
fichier et commentez.
Pour que les modifications apport´
ees `
a jacob.m soient prises en compte par matlab,
il est n´
ecessaire d’ex´
ecuter la commande help jacob avant de lancer la simulation ou
de r´
eouvrir la simulation.
V´erifiez votre Jacobien en simulant un d´eplacement vertical `a la vitesse de -0,01 m/s en partant
du point q0 d´etermin´e au paragraphe 1.
Q4 : Configurez la valeur de Stop time `a 100 dans les param`etres de simulation. Initialisez
la position initiale `
a [0 0 0] et la vitesse de d´eplacement `a [−0.01 0 0] (vitesse de 1 cm/s vers la
gauche). Lancez la simulation. Commentez. Initialisez la position initiale `a [0.001 − 0.001 0] et la
vitesse de d´eplacement `
a [−0.01 0 0]. Simulez. Commentez.
Note : On pourra ´evaluer le d´eterminant du Jacobien pour q = [0 0 0].
Q4(bis) : Calculer de mani`ere analytique le d´eterminant du Jacobien direct avec les instructions
suivantes (syms q1 q2 q3;det(J)). Pour quelles valeurs de q, celui-ci est nul ? En d´eduire les
cons´equences sur les vitesses op´erationnelles du robot, X˙ = J(q)q˙ ? Visualisez ce ph´enom`ene en
dessinant le robot ainsi que les vecteurs vitesses instantan´ees pour 2 valeurs particuli`eres de q.
Mettre en place une strat´egie basique d’´evitement de la singularit´e du Jacobien : exemple, si q est
singulier en 0, on modifiera q dans le calcul du jacobien pour passer `a une distance minimale (ǫ)
de la valeur singuli`ere (if abs(q) < 0 , q → q + ǫ).
Inversion num´
erique du mod`
ele g´
eom´
etrique
Parfois il n’est pas possible de calculer de mani`ere analytique le mod`ele g´eom´etrique inverse
d’un robot. On peut alors utiliser le mod`ele g´eom´etrique direct et le jacobien inverse pour r´ealiser
une boucle d’optimisation afin d’obtenir une solution particuli`ere (la plus proche). Cet boucle
d’optimisation est illustr´ee sur la figure 4.
Xd´esir´e
+
∆X
−
K
X˙
Robot commandé
en vitesse opérationnelle
J −1
MGD
X
q
Fig. 4 – Principe d’inversion num´erique du mod`ele g´eom´etrique
Le principe consiste `
a calculer au cours du temps le vecteur d’erreur ∆X entre la position
actuelle de l’effecteur et la position d´esir´ee (celle de l’objet). Ce vecteur d’erreur est assimil´e `a une
direction de d´eplacement avec une vitesse de norme K ∗ ∆X. Grˆ
ace au MCI (jacobien inverse),
on actionne les axes pour d´eplacer le robot dans cette direction. On arrˆete l’algorithme lorsque
l’erreur de position ∆X est inf´erieure `
a un certain seuil. On peut alors relever la valeur finale du
vecteur q solution.
Q5 : Simuler un algorithme d’inversion num´erique du mod`ele g´eom´etrique en cr´eant un nouveau
mod`ele simulink `
a partir de tp2.mdl . La position initiale est q = [0 0 0]T et la position finale est
T
X0 = [0.7 0.5 0] . L’algorithme a converg´e lorsque la pi`ece disparaˆıt.
Q6 : Quels inconv´enients voyez vous `
a cette r´esolution num´erique du mod`ele g´eom´etrique inverse ?
Q7 : D´efinir une trajectoire, fonction du temps, telle que la pince d´ecrive un cercle de centre
(0, 0) et de rayon 0.5m et pointe en permanence vers le centre du cercle. On utilisera le sch´ema de
commande pr´ec´edent et une fonction trajectoire.m avec un bloc horloge en entr´ee.
TP Robotique
4
Examen
– Documents autoris´es : notes de cours, TD et TP
– Examen sur le th`eme d’un robot 3 axes
– Conseils :
– Travailler les transparents d´elivr´es
– Maitriser un minimum la composition de rotations et matrices homog`enes de pasage :
R0,n = R0,x Rx,n et T0,n = T0,x Tx,n
– Travailler le mod`ele g´eom`etrique et cin´etique direct (revoir le TD (mˆeme si il ne respecte
l’orientation avant-droite-haut), le TP et le TD annexe A)
– Apprendre `
a visualiser ou dessiner la position ou la vitesse instantann´ee de l’OT pour des
valeurs sp´ecifiques de q pour valider vos mod`eles directs.
– Se tester avec le TD annexe A