Beruflich Dokumente
Kultur Dokumente
MATLAB Sance 2
INSA de Lyon 3 GI
TP MATLAB
Le robot SCARA (Selective Compliance Assembly Robot Arm) (Figure.1(a)) est lun des robots les plus couramment utilis en industrie. La version deux degrs de libert (2ddl) du SCARA va nous servir dans ce TP comme base dtude pour le contrle dun systme robotique. Afin de vous permettre de comprendre et de traiter efficacement ce TP, des dfinitions succinctes des principales notions en robotique vont vous tre pralablement exposes. La figure 1 (b) donne une reprsentation graphique dun robot SCARA 2ddl.
yb E L2 2
(a) Figure. 1
1
L1
xb
(b)
INSA de Lyon 3 GI
TP MATLAB
La configuration du robot est dtermine par les variables articulaires 1 et 2. La position et lorientation leffecteur (E) du robot en coordonnes homognes (Khalil 99)2 sont donnes par :
b e
n (q) = 0
b e
b e
b e
Avec : se , ne , ae dsignent respectivement les vecteurs unitaires suivant les axes xe, ye et ze du repre Re exprims dans le repre Rb et o le
b pe est le vecteur exprimant lorigine du repre Re dans le repre Rb.
La conception et la commande des robots manipulateurs ncessitent le calcul de certains modles mathmatiques, parmi lesquels le : Modle gomtrique direct (MGD) : le MGD est lensemble des relations qui permettent dexprimer la situation de lorgane terminal, i.e., les coordonnes oprationnelles du robot X, en fonction de ses coordonnes articulaires (q ). Ceci sexprime par une fonction f dfinie comme suit : X = f ( q ) . Modle gomtrique inverse (MGI) : le MGI consiste calculer les coordonnes articulaires correspondant une situation donne de lorgane terminal. Lorsquelle existe, la forme explicite qui donne toutes les solutions possibles (il y a rarement unicit de solution) constitue ce que lon appelle le MGI, q = f ( X ) . Il est noter quil y a plusieurs mthodes systmatiques dobtention du MGI (Khalil 99). Dans le cas du TP, les solutions du MGI sont obtenues via une mthode gomtrique. Ceci est rendu possible vu la simplicit relative du problme trait. Modle Dynamique Inverse (MDI) : le MDI est la relation entre les couples (et/ou forces) appliqus aux actionneurs et les positions, vitesses et acclrations articulaires. Le MDI est reprsent par une relation de la forme : = f ( q, q, q, f e ) Avec : - vecteur des couples/forces des actionneurs, selon que larticulation est rotode ou prismatique, q, q, q correspondent respectivement aux positions, vitesses et acclrations articulaires, 1
f e vecteur reprsentant leffort extrieur (forces et moments) quexerce le robot sur lenvironnement.
Modle Dynamique Direct (MDD) : le MDD est celui qui exprime les acclrations articulaires en fonction des positions, vitesses et couples des articulations. Cest le modle le plus usit en simulation car il se prte bien lintgration numrique, il est alors reprsent par la relation : q = f ( q, q, , f e ) . Voir lAnnexe 1 pour plus de dtails sur les quations exprimant la dynamique dun robot manipulateur. Pour pouvoir commander convenablement le mouvement dun robot il est impratif de connatre aussi quelques dfinitions relatives la gnration de mouvement et la commande de ces mouvements. Gnration de mouvement : le problme de la gnration de mouvement est de calculer les consignes de rfrence en position, vitesse et acclration qui sont fonction du temps et qui assurent le passage du robot (son effecteur) par une trajectoire dsire, dfinie par une suite de situations de lorgane terminal ou de configuration articulaires. Parmi les diffrentes classes de mouvements existantes on peut distinguer celles-ci : 1. un mouvement entre deux points avec une trajectoire libre entre les points, 2. un mouvement entre deux points avec une trajectoire contrainte entre les points (trajectoire rectiligne par exemple),
2
Khalil 99, W. Khalil et E. Dombre, Modlisation, identification et commande des robots, Hermes 1999. 4
INSA de Lyon 3 GI
TP MATLAB
La premire classe correspond gnralement la gnration de mouvement directement dans lespace articulaire. Dans le cas de la deuxime classe, la trajectoire tant dcrite dans lespace oprationnel (en fonction de (x,y,z)), il est prfrable donc de raisonner directement dans cet espace. Nous allons nous restreindre dans ce TP la deuxime classe de mouvement. Les mthodes de passage dune configuration articulaire qi (ou oprationnel Xi) une configuration qf /Xi sont diverses, parmi elles il y a par exemple : linterpolation polynomiale ou la loi Bang-Bang (utilise pour minimiser le temps ncessaire pour atteindre la configuration finale du robot). Commande des mouvements : Le modle dynamique dun robot dcrit un systme de n quations diffrentielles du second ordre non linaires et couples (voir Annexe 1), n tant le nombre darticulations. Pourtant, dans une commande classique, qui est celle de la plupart des robots industriels, le systme robotique est considr comme un systme linaire et chacune de ses articulations est asservie par une commande dcentralise de type PID gains constants. Ses avantages sont la facilit dimplantation et le faible cot de calcul. En contrepartie, la rponse temporelle du robot variant selon sa configuration, on constate des dpassements de consigne et une mauvaise prcision de suivi dans les mouvements rapides. Dans beaucoup dapplications, ces inconvnients ne reprsentent pas un gros handicap. Dans ce type de commande les actions du PID sont les suivantes :
K pj = 3a j 2 j K dj = 3a j j 3 K Ij = a j j
Avec : - aj = A jj max dsigne la valeur maximale de llment Ajj de la matrice dinertie du robot, - j > 0 et est choisi la plus grand possible, toutefois, cette pulsation ne devra pas tre suprieure la pulsation de rsonance
Pour plus de dtails sur la mthode dobtention des actions du PID pour un robot manipulateur reportez-vous lAnnexe 2.
INSA de Lyon 3 GI
TP MATLAB
TrajectoireConsigne.m
GestionGUI.m
SetAffichage.m
SimulinkControleRobotSCARA.mdl
Figure. 2
3 4
\\gpr1serv\promo14\TP_MATLAB\ProgrammesSeance2 Sans lintroduction des paramtres inertiels, de frottements ou de perturbations affectant le robot. 6
INSA de Lyon 3 GI
TP MATLAB
Figure. 3
Programmation MATLAB/Simulink :
7. Affichez dans une mme figure les caractristiques lies la commande du robot SCARA pour suivre la trajectoire rfrence. Les lments qui doivent tre visibles sur la figure sont : - les coordonnes articulaires consignes et effectives des articulations, - les positions (x,y) consignes et effectives de lorgane terminal, - lerreur de suivi de trajectoire, - les couples articulaires. Indication : utilisez le schma-bloc To Workspace dans la liste Sinks de Simulink. Remarque : cette partie de code doit apparatre dans le programme GestionGUI.m et plus prcisment entre %% Dbut code affichage figure %% et %% Fin code affichage figure %% . Combien de solutions articulaires existe-t-il pour chaque configuration (x, y) de lorgane terminal dun robot planaire ? Illustrez cela par un graphique. Introduisez cette constatation dans votre projet pour quaucune articulation du robot ne sorte de son espace de travail ? 7
8.
INSA de Lyon 3 GI 9.
TP MATLAB
Les paramtres actuels des PID (figure.3) ont t fixs empiriquement. Synthtisez les contrleurs PID adapts au robot SCARA en vous inspirant de lAnnexe 2. Une fois les paramtres des PID obtenus par programmation, vous devez automatiquement les affecter aux blocs correspondants. Indication : inspirez-vous de la dfinition et de lutilisation de la variable globale T , Remarque : cette partie de code doit apparatre dans le programme SimulationRobotSCARA.m et plus prcisment entre %% Dbut code PID %% et %% Fin code PID %% . Etudiez linfluence des actions Proportionnelle, Drive et Intgrale pour le suivi de trajectoire de leffecteur du robot. Gnrez une trajectoire rfrence de type carr et circulaire en vous assurant que leffecteur du robot ne sort jamais de son espace de travail. Vrifiez chaque fois que les caractristiques de lasservissement sont correctes. Utilisez la commande MENU pour choisir dune manire interactive la trajectoire consigne donner au robot. Avec un schma-bloc de type Switch faites en sorte de pouvoir changer dune manire interactive la consigne suivre par le robot (ex. consigne en chelon ou en rampe, consignes programmes). Rdigez laide correspondant lensemble des fonctionnalits que vous avez programmes, cette Aide doit tre affiche lors de lappui sur le bouton poussoir Aide (Figure. 2).
ANNEXE
Annexe 1
Le formalisme de Lagrange est lun des plus utiliss pour le calcul du modle dynamique des robots. Ce formalisme dcrit les quations du mouvement en terme de travail et dnergie du systme, ce qui se traduit, lorsque leffort extrieur sur lorgane terminal est suppos nul, par lquation (cas dun robot n ddl) :
i =
d L L dt qi qi
i = 1,..n
Avec : - i : couple/force articulaire engendr par lactionneur (articulation) i, L : lagrangien du systme gale E U, E : nergie cintique totale du systme, U : nergie potentielle totale du systme.
Aprs simplification :
Avec : - A est la matrice (nn) de lnergie cintique, elle est appele aussi matrice dinertie du robot, elle est symtrique et dfinie positive et ses lments sont fonction des variables articulaires q. - H est un vecteur caractristique dpendant la fois de q et de q (Khalil 99). Les matrices A et le vecteur H sont fonction des paramtres gomtriques et inertiels du robot. Les quations dynamiques dun systme mcanique articul forment donc un systme de n quations diffrentielles du second ordre, couples et non linaires.
INSA de Lyon 3 GI
TP MATLAB
Annexe 2
La loi de commande dun PID est donn par :
t
o qd (t ) et qd (t ) dsignent les vitesses et positions dsires dans lespace articulaire et Kp, Kd et KI sont des matrices diagonales dfinies positives, de dimension (nn), dlments gnriques respectivement les gains proportionnels Kpj, drivs Kdj et intgraux KIj. Le calcul des gains Kpj, Kdj et KIj est effectu en considrant le modle de larticulation j reprsent par le systme linaire du deuxime ordre coefficients constants suivant :
j = a j q j + Fvj q j + j
quation dans laquelle aj = A jj max dsigne la valeur maximale de llment Ajj de la matrice dinertie du robot, Fvj les frottements visqueux et j reprsente un couple perturbateur. En ngligent Fvj et
q j (s) q jd ( s )
K dj s 2 + K pj s + K Ij a j s 3 + K dj s 2 + K pj s + K Ij
( s ) = a j s 3 + K dj s 2 + K pj s + K Ij
La solution la plus courante en robotique consiste choisir les gains de manire obtenir un ple triple rel et ngatif, ce qui donne la rponse la plus rapide possible sans oscillation. Par consquent, lquation caractristique se factorise de la faon suivante :
( s ) = a j ( s + j )3
avec j > 0, et est choisi la plus grand possible, toutefois, cette pulsation ne devra pas tre suprieure la pulsation de rsonance