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
© Copyright 2024 Paperzz