Вы находитесь на странице: 1из 9

Simulation des systmes continus

MATLAB Sance 2

INSA de Lyon 3GI 2005-2006 Lounis ADOUANE

INSA de Lyon 3 GI

TP MATLAB

ETUDE DE SYSTEMES DYNAMIQUES


La trajectoire d'un outil, l'volution de la temprature d'un four, le cours d'une action, le nombre de pices produites sont autant dexemples de systmes dynamiques traits par le Gnie Industriel (GI). partir de conditions initiales particulires on a souvent besoin de dterminer lvolution du systme en fonction du temps, par exemple : le nombre de pices produites va-t-il augmenter ? L'outil va-t-il suivre la trajectoire prvue, etc. Les systmes tudis en GI peuvent donc tre autant discrets que continus, linaires que non linaires. Lobjectif premier de cette deuxime sance de TP est de vous faire explorer davantage les possibilits et les mthodes quoffre MATLAB pour simuler des systmes dynamiques continus. Les bras manipulateurs font partie de ces systmes dynamiques continus et fortement non linaires quun ingnieur en GI aura ventuellement loccasion de manipuler lors de ses investigations acadmiques ou industrielles. Pour cela, ce TP se propose dtudier le cas dun systme robotique avec un espace de travail1 planaire. Points qui seront traits : Programmation MATLAB avec des m-file (des scripts et des fonctions), Modlisation et contrle des systmes sous Simulink, Interfaage entre des programmes m-file et les schmasblocs Simulink, Utilisation des GUIs (Graphical User Interface), Notions dautomatique, Notions de robotique, Animation graphique des mouvements du robot.

MODELISATION ET COMMANDE DUN BRAS MANIPULATEUR PLANAIRE

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)

Domaine atteignable par leffecteur du robot. 3

Anne 2005-2006 - Lounis ADOUANE

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

0 sin (1 + 2 ) cos (1 + 2 ) L1 cos (1 ) + L2 cos (1 + 2 ) p 0 cos (1 + 2 ) sin (1 + 2 ) L1 sin (1 ) + L2 sin (1 + 2 ) = 0 0 0 1 1 0 0 1 0


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

Anne 2005-2006 - Lounis ADOUANE

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

rj du systme mcanique afin de ne pas le dstabiliser.

Pour plus de dtails sur la mthode dobtention des actions du PID pour un robot manipulateur reportez-vous lAnnexe 2.

Anne 2005-2006 - Lounis ADOUANE

INSA de Lyon 3 GI

TP MATLAB

II PROJET DE ROBOTIQUE SOUS MATLAB


Lobjectif de ce TP est lutilisation de MATLAB pour modliser et commander un robot de type SCARA deux degrs de libert. A ces fins, un ensemble de programmes vous sont pralablement fournis3, et vous permettront de disposer des principaux lments pour mener bien votre TP. Dautre part, avant d'effectuer le moindre travail, rcuprez et copiez sur votre poste de travail le rpertoire contenant l'ensemble des programmes sur lesquels vous devez travailler. Les fichiers et leur contenu sont les suivants : SimulationRobotSCARA.m C'est le programme principal, il permet en lexcutant douvrir une interface utilisateur (Figure. 2) qui vous permettra de simuler le systme robotique soit en statique4 soit en dynamique. Une reprsentation graphique du robot SCARA 2ddl ainsi que la possibilit de lanimer sont accessible via cette interface. Cette interface est aussi dispose pour rcuprer les vnements manant de la souris. En loccurrence, la souris va vous permettre dans le cadre de votre projet de TP de donner des consignes de position (x, y) atteindre par lorgane terminal du robot. ModeleGeometriqueDirect.m Dfinit les positions (xi, yi) des diffrentes articulations du SCARA en fonction de ses coordonnes articulaires ModeleGeometriqueInverse.m Dfinit les coordonnes articulaires du SCARA en fonction de la position de son effecteur ModeleDynamiqueDirect.m Dfinit l'acclration des articulations du SCARA en fonction des couples appliqus par ses actionneurs Donne dans le domaine oprationnel la trajectoire consigne faire suivre par l'effecteur du SCARA Gre tous les vnements (clic de souris, bouton enfonc, etc.) affectant la fentre GUI (Graphical User Interface) Permet de remettre jour la reprsentation graphique du robot SCARA ainsi que l'affichage des informations articulaires et la position de l'effecteur (Figure. 2) Modle Simulink (Figure. 3) qui permet en linterfaant avec les programmes dcrits ci-dessus de commander le mouvement du SCARA afin de suivre une trajectoire consigne.

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

Anne 2005-2006 - Lounis ADOUANE

INSA de Lyon 3 GI

TP MATLAB

Figure. 3

II.1 Le travail faire


Tester et explorer attentivement les programmes fournis ainsi que le modle Simulink afin de comprendre les mthodes adoptes pour raliser les lments pralablement accessibles pour la simulation. Vous devez ajouter ces programmes des parties de codes (pour les cas des m-files) ou des schmas-blocs (pour le cas des modles Simulink) qui vont permettre soit damliorer les fonctionnalits du mini-logiciel fourni, soit dajouter de fonctionnalits compltement nouvelles. Il est noter que, pour une meilleur lisibilit de vos programmes, il est fortement conseill des les commenter.

Comprhension des programmes :


1. 2. 3. 4. 5. 6. Quel est le rle de la variable T ? Donnez la partie de code et les lments de la simulation affects par cette variable. Dans le cas de la simulation du modle dynamique du robot, quelle est la trajectoire consigne impose leffecteur du robot pour relier sa position initiale la position finale dsire ? Donnez la partie de code reprsentant cela. Quelle est la condition pour que les vnements de la souris soient pris en compte dans les programmes MATLAB ? Reproduisez et expliquez les lignes de programme responsables de cela. Donnez et expliquez la partie de programme ralisant linversion de la matrice dinertie du robot SCARA. Expliquez le fonctionnement de la fonction SetAffichage.m. Rpertoriez les diffrents types de blocs (leurs noms et quelle liste ils appartiennent) utiliss dans le modle Simulink fourni. Expliquez pour chaque bloc le rle quil occupe pour raliser la commande du robot.

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.

Anne 2005-2006 - Lounis ADOUANE

INSA de Lyon 3 GI 9.

TP MATLAB

10. 11. 12. 13. 14.

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 :

= A(q ).q + H (q, q )

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.

Anne 2005-2006 - Lounis ADOUANE

INSA de Lyon 3 GI

TP MATLAB

Annexe 2
La loi de commande dun PID est donn par :
t

= K p (qd q ) + K d (qd q ) + K I (qd q )dt


t0

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

j la fonction de transfert du systme en boucle ferme est donn par :

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

et lquation caractristique scrit donc :

( 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

rj du systme mcanique pour ne pas le dstabiliser.

K pj = 3a j 2 j On en dduit finalement les gains : K dj = 3a j j . 3 K Ij = a j j

Anne 2005-2006 - Lounis ADOUANE

Оценить