36321939 Asservissement de Position Et de Vitesse d Une Articulation Robotique

download 36321939 Asservissement de Position Et de Vitesse d Une Articulation Robotique

of 23

Transcript of 36321939 Asservissement de Position Et de Vitesse d Une Articulation Robotique

Rpublique algrienne dmocratique et populaire Ministre de lenseignement suprieur & de la recherche scientifique Universit Abderrahmane Mira Bejaia Facult de la Technologie Dpartement dElectronique

Mini Projet Master 1

Asservissement de position et de vitesse d'une articulation robotique

Ralis par : Zaouche Faika

Encadr par : Bellahcene Nora

2009 - 2010

Sommaire

Introduction gnraleChapitre 1 : Gnralits sur lasservissement Introduction 1.1 Notion de systme, boucle ouverte et boucle ferme 1.2 Ncessit de boucle ferme 1.3 Equation dun systme linaire 1.4 Fonction de transfert dun systme linaire 1.5 Fonction de transfert en boucle ferme 1.6 Prcision dun systme asservi 1.6.1 Prcision dynamique 1.6.2 Prcision statique 1.6.3 Prcision par rapport aux perturbations 1.7 Compensation des systmes asservis Conclusion Chapitre 2 : Correcteur PID Introduction 2.1 Placement de ples 2.2 Principe gnral dun correcteur 2.3 Rglage dun PID 2.3.1 Asservissement P 2.3.2 Asservissement PI 2.3.3 Asservissement PID Conclusion Chapitre 3: Applications et rsultats Introduction 3.1 Le contrleur PID

1 2 2 2 2 2 3 3 4 4 5 5 5 6 7 7 7 7 8 9 10 11 11 12 12 12

Sommaire3.1.1 Prsentation du modle PID utilis 3.2 Asservissement en position 3.3 Simulation du systme en SIMULINK 3.4 Asservissement en vitesse 3.5 Simulation du systme Conclusion Conclusion gnrale 12 13 14 15 17 18 19

Liste des abrviations Bibliographie

20 20

Introduction

Automatique est une science et une technique qui permet de maitriser le comportement d'un systme (traduit par ses grandeurs de sortie), en agissant de manire adquate sur ses grandeurs d'entre.

Cette discipline traite de la modlisation, de l'analyse, de la commande et, de la rgulation des systmes dynamiques. Elle a pour fondements thoriques les mathmatiques, la thorie du signal et linformatique thorique. L'automatique permet l'automatisation de tches par des machines fonctionnant sans intervention humaine. On parle alors de systme asservi ou rgul. Dans les systmes vnements discrets. On parle dautomatisme (Squence d'actions dans le temps). Par exemples : les distributeurs automatique, les ascenseurs, le montage automatique dans le milieu industriel, les feux de croisement, les passages niveaux. Dans les systmes continus, lautomatique est synonyme dasservir et/ou commander des grandeurs physiques de faon prcise et sans aide extrieure. Par exemples : l'angle d'une fuse, la vitesse de rotation d'un lecteur CD, la position du bras dun robot, le pilotage automatique d'un avion. Dans le travail que nous prsentons, nous nous intressons ltude dun asservissement de position et de vitesse appliqu une articulation robotique. Nous avons dgag trois chapitres dont les deux premiers sont consacrs donner juste une ide sur lasservissement en gnral et sur le contrleur PID en particulier. Le dernier chapitre prsente la partie simulation avec les rsultats et interprtations.

Chapitre 1

Gnralits sur lasservissement

Principes de baseIntroduction (ref1) Dans ce chapitre sera prsent les principes de base de lasservissement en gnral afin davoir un aperus global sur les lments essentiels des systmes asservis. 1.1 Notion de systme, boucle ouverte(BO), et boucle ferme (BF) L'objet d'application de l'automatique est appel systme. Un systme se caractrise par ses grandeurs d'entre, et de sortie. Les grandeurs d'entre sont les grandeurs qui agissent sur le systme. Il en existe deux types : Commandes : Ce sont les entres du systme qui dpendent de lapplication. Perturbations : Ces entres sont alatoires et difficiles analyser. Elles sont difficiles maitriser. Un systme est en boucle ouverte (BO) lorsque la commande est labore sans l'aide de la connaissance des grandeurs de sortie. Dans le cas contraire, le systme est dit en boucle ferme (BF). La commande est alors fonction de la sortie et de la consigne (la valeur souhaite en sortie). Pour observer les grandeurs de sortie, on utilise des capteurs. C'est l'information de ces capteurs qui va permettre d'laborer la commande. 1.2 Ncessit de la boucle ferme

Un systme de commande peut oprer en boucle ouverte partir du seul signal de consigne. Mais la boucle ferme (contre raction) est capable de stabiliser un systme instable en BO. Une (BF) permet de : Compenser les perturbations externes. Compenser les incertitudes internes au processus lui-mme. Pour cela, un systme de commande peut raliser deux fonctions distinctes : Lasservissement, c'est dire la poursuite par la sortie d'une consigne variable dans le temps La rgulation, savoir la compensation de l'effet de perturbations variables sur la sortie (la consigne restant fixe) Lutilisation du feedback (retour) est le principe fondamental en automatique. La commande (applique au systme) est labore en fonction de la consigne (sortie dsire) et de la sortie. La figure suivante reprsente le principe du feedback :Entre=consigne Elaboration de la commande Commande

Systme

Sortie

Figure 1.1: Principe du feedback

1.3 Equation dun systme linaire Un systme est dit linaire si l'quation liant la sortie l'entre est une quation diffrentielle linaire coefficients constants. La forme gnrale de cette quation est :2

Chapitre 1

Gnralits sur lasservissement

b0s(t) + b1

+ +bn

= a0e(t) + a1

+ +am

(1)

Lindice n reprsente l'ordre du systme linaire. Seuls les systmes pour lesquels m n sont ralisables pratiquement. 1.4 Fonction de transfert d'un systme linaire On appelle fonction de transfert ou transmittance d'un systme linaire le rapport entre la transforme de Laplace de la sortie sur celle de l'entre : T (p) = =

C'est une fonction rationnelle. L'ordre du systme (qui est l'ordre de l'quation diffrentielle) est le degr du dnominateur de T(p). 1.5 Fonction de transfert en boucle ferm Le schma fonctionnel dun systme asservi peut se reprsenter globalement par la figure suivante :

Figure1.2 Transfert en BF

La fonction de transfert en boucle ouverte est T(p) = H(p) R(p). La fonction de transfert en boucle ferme est alors Dans le cas o, on a un retour unitaire R(p)=1. Pour faire apparatre plus compltement les proprits du systme, en prsence de perturbations, on le reprsente par : .

Figure1.3 Transfert avec perturbations

b(p) reprsente les perturbations qui interviennent sur systme. Contrairement c(p) qui reprsente la consigne atteindre et que lon connat et matrise, b(p) est3

Chapitre 1

Gnralits sur lasservissement

subie et pas toujours bien connue et on cherche rendre son influence ngligeable sur S(p). K(p) est la fonction de transfert du correcteur que lon ajoute sur la chane directe afin damliorer la rponse du systme. Dans le cas dun systme sans correcteur, la fonction de transfert en boucle ouverte N ( p) N ( p) T(p) peut scrire sous la forme. T ( p) D( p) p D' ( p) N(p) et D(p) sont des polynmes en p de degr respectivement m et n (m n dans un systme rel). D(p) est un polynme dduit de D(p) tel que le terme de plus bas degr est une constante (a0 + a1p1 + a2p2 +). Ordre dun SA : degr n du dnominateur (comme pour les filtres 1er, 2me ordre) Type dun SA : coefficient (nombre dintgrateurs dans la boucle) ; 0 pour un asservissement de vitesse, 1 pour un asservissement de position Ples de la FT : racines du dnominateur Zros de la FT : racines du numrateur

1.6 Prcision dun systme asservi Un systme asservi (donc en boucle ferme) sera d'autant plus prcis que sa sortie s(t) est proche de la consigne (valeur dsire) sd(t). On peut quantifier l'erreur entre la consigne et la sortie : (t) = sd(t)- s(t) Cette erreur sera significative sur la prcision de l'asservissement : pendant le rgime transitoire : on parlera de prcision dynamique. une fois le rgime permanent atteint : on parlera de prcision statique. 1.6.1 Prcision dynamique Pour valuer cette prcision dynamique, on observe la rapidit avec laquelle la sortie arrive au rgime permanent. Si c'est long, on parlera d'une mauvaise prcision dynamique. Si c'est rapide avec beaucoup d'oscillations, on parlera encore d'une mauvaise prcision dynamique. Si c'est rapide et pas/ou peu d'oscillations, on parlera d'une bonne prcision dynamique. Pour quantifier cette prcision dynamique, on cherchera valuer le temps de rponse 5%. Ce temps de rponse est le temps partir duquel la sortie reste autour de la valeur finale 5% prs. Pour le cas des rponses sans dpassement, le temps de rponse est le temps pour lequel la sortie vaut 95% de la valeur finale. Pour le cas des rponses avec dpassement, pour le second ordre par exemple, ce temps peut se mesurer en traant deux lignes horizontales (l'une 95%, l'autre 105%) puis en cherchant partir de quel moment la courbe reste entre ces deux droites.

4

Chapitre 1

Gnralits sur lasservissement

Dans le cas d'un second ordre en BF, augmenter le gain de la boucle ouverte ne permettra pas toujours de gagner en prcision dynamique puisque cela rduit l'amortissement. 1.6.2 Prcision statique On s'intresse cette fois la diffrence, en rgime permanent entre la consigne et la sortie. On s'intresse donc . Cette erreur dpend de l'entre, du type et du gain K de la fonction de transfert car laugmentation du gain permet davoir une meilleure prcision. 1.6.3 Prcision par rapport aux perturbations Une perturbation est une entre supplmentaire au systme qu'on ne peut contrler. Ces perturbations ont une influence sur l'asservissement. On veut valuer ici cette influence quantitativement. (Un bon asservissement devrait faire en sorte que cette influence soit minime). 1.7 Compensation des systmes asservis Un gain dans la chaine directe permet d'amliorer la prcision d'un asservissement (mais ce gain ne permet pas d'annuler l'erreur de position ou de vitesse). Il n'est pas possible d'augmenter ce gain de faon trop importante car il peut dgrader la stabilit du systme, voire rendre le systme instable. D'ou le dilemme classique en automatique : Un gain faible donne un systme stable mais peu prcis Un gain fort donne un systme plus prcis mais moins stable. Le gain de la boucle ouverte une action sur l'asservissement, on parle d'un correcteur proportionnel. Un correcteur est un systme qui va laborer la commande d'un systme en fonction de l'erreur mesure entre la sortie et la consigne. Un correcteur proportionnel est un systme qui donne une commande proportionnelle l'erreur mesure. Beaucoup de systmes peuvent tre commands par ces types de correcteurs simples mettre en uvre. Le rglage du gain va consister obtenir un bon compromis stabilit prcision.Consigne + Correcteur commande Systme sortie

Figure1.4 Systme avec un correcteur

Ces correcteurs ne sont pas toujours possibles ou suffisants. Des correcteurs plus sophistiqus peuvent permettre de : Rendre stable un systme qui ne l'est pas Augmenter la stabilit sans rduire le gain K donc la prcision Rduire ou annuler les erreurs statiques sans nuire la stabilit

5

Chapitre 1 Conclusion

Gnralits sur lasservissement

Ce chapitre nous as permis de connaitre les lments principaux dun asservissement et les problmes rencontrs do la ncessit de lutilisation des correcteurs. Les principes gnraux des correcteurs sont lobjet du prochain chapitre, nous prsenterons le correcteur le plus connu, et le plus utilis en industrie : le PID.

6

Chapitre 2

Correcteur PID

Introduction (ref2) L'asservissement, comme nous lavons si bien prcis dans le chapitre prcdant consiste atteindre et maintenir une valeur cible en agissant directement sur le systme en fonction de l'cart entre la consigne et la mesure. Le PID est un type d'asservissement courant en robotique, car il permet de garantir une valeur fixe (le cap) mme quand le robot est en dplacement. Comme le PID fonctionne mme avec une consigne variable, on peut ainsi avoir en mme temps un mouvement reproductible (suivre une trajectoire prcise) et une correction des petits accidents de parcours (glissements, jeu en mcanique, etc..). Lun des critres defficacit dun PID (et mme de nimporte quel asservissement) est sa robustesse face aux changements, est-il encore capable de donner de bons rsultats en cas de perturbations soudaines ?

2.1 Placement de ples Une approche mathmatique du correcteur consiste choisir la fonction de transfert "souhaitable" soit en boucle ouverte soit en boucle ferme et on en dduit mathmatiquement le correcteur ncessaire. Par exemple, avec un systme dont la fonction de transfert est G(p), le correcteur C(p) qui permet d'avoir une fonction de transfert en BO choisie de T(p) est : H(p) a pour fonction de transfert en boucle ferme : Ce qui donne C(p) telle que : Cependant, derrire cette approche mathmatique, il faut prendre en compte plusieurs contraintes bien physiques, savoir, que le correcteur ainsi calcul doit tre causal, c'est dire que sa sortie ne peut prcder son entre. Cette proprit se traduit dans le fait que la fonction de transfert de C(p) doit avoir un numrateur de degr inferieur son dnominateur et qu'il ne doit pas prsenter de "retard ngatif". Par ailleurs, le correcteur doit tre stable. Ses ples doivent donc tous tre partie relle ngative. Choisir une fonction de transfert en BO ou en BF ralisable, par exemple, en partant d'un systme trs lent, il est illusoire de penser le rendre trs rapide car les commandes ncessaires seront sans doute non ralisables. 2.2 Principe gnral dun correcteur PID L'erreur observe est la diffrence entre la consigne et la mesure. Le PID permet trois actions en fonction de cette erreur : Une action Proportionnelle : l'erreur est multiplie par un gain Kp Une action Intgrale : l'erreur est intgre sur un intervalle de temps s, puis multiplie par un gain Ki Une action Drive : lerreur est drive suivant un temps s, puis multiplie par un gain Kd7

Chapitre 2

Correcteur PID

Les actions drives et intgrales ne s'emploient jamais seules mais en combinaison avec l'action proportionnelle. Il existe plusieurs architectures possibles pour combiner les trois effets (srie, parallle ou mixte), on prsente ici une architecture parallle :

Consigne

Erreur s Correcteur PID

Commande

H(s)

Mesure

K Figure2.1 Correcteur PID

La fonction de transfert avec la transforme de Laplace du rgulateur PID parallle est la somme des trois actions:

2.3

Rglage d'un PID

Le rglage d'un PID consiste dterminer les coefficients Kp, Ki et kd afin d'obtenir une rponse adquate du procd et de la rgulation. L'objectif est d'tre robuste, rapide et prcis. Il faut pour cela limiter le/ou les ventuels dpassements (overshoots). La robustesse est sans doute le paramtre le plus important et dlicat. On dit qu'un systme est robuste si la rgulation fonctionne toujours mme si le modle change un peu. Un rgulateur doit tre capable d'assurer sa tche mme avec ces changements afin de s'adapter des usages non prvus. La rapidit du rgulateur dpend du temps de monte et du temps d'tablissement du rgime stationnaire. Le critre de prcision est bas sur l'erreur statique. La rponse type d'un procd (2nd ordre) stable est donne par la figure2.2

8

Chapitre 2

Correcteur PID

Figure2.2 Rponse dun systme 2nd ordre stable

Les paramtres du PID influencent sur la rponse du systme de la manire suivante : Kp : Lorsque Kp augmente, le temps de monte (rise time) est plus court mais il y a un dpassement plus important. Le temps d'tablissement varie peu et l'erreur statique se trouve amliore. Ki : Lorsquil augmente, le temps de monte est plus court mais il y a un dpassement plus important. Le temps d'tablissement au rgime stationnaire s'allonge mais dans ce cas on assure une erreur statique rduite. Donc plus ce paramtre est lev, moins l'erreur statique est grande, mais plus la rponse du systme est ralentie. Kd : Lorsque Kd augmente, le temps de monte change peu mais le dpassement diminue. Le temps d'tablissement au rgime stationnaire est meilleur. Pas d'influences sur l'erreur statique. Si ce paramtre est trop lev, le systme anticipe trop et la consigne n'est pas atteinte dans des dlais adquats. Pour ces trois paramtres, le rglage au-del d'un seuil trop lev a pour effet d'engendrer une oscillation du systme de plus en plus importante menant l'instabilit. 2.3.1 Asservissement P L'asservissement proportionnel est essentiel au fonctionnement du PID. Il permet essentiellement de donner de la puissance au moteur. Voici quelques rsultats exprimentaux sans les effets driv et intgral.

9

Chapitre 2

Correcteur PID

a)

b)

c)

La courbe noire reprsente la consigne que l'on dsire atteindre c'est un chelon de valeur 32. La courbe bleue reprsente la vitesse relle du systme. Comme vous pouvez le constater, plus Kp est grand, plus le systme converge vite vers sa valeur finale. Mais en contrepartie, pour des valeurs de Kp trop grandes, le systme oscille (c). Mais l n'est pas notre plus gros problme, en effet, sur ces courbes on voit nettement que la vitesse du moteur n'atteint jamais la vitesse dsire. C'est ce que l'on appelle l'erreur statique, elle correspond la diffrence entre la vitesse relle et la vitesse dsire en rgime tablie (une fois que le systme s'est stabilis). Pour compenser cette erreur statique, on rajoute le terme intgral. 2.3.2 Asservissement PI

Le correcteur intgral sert principalement supprimer l'erreur statique. L'ide principale est de "charger" ou intgrer l'erreur depuis le dbut et d'ajouter cette erreur la consigne jusqu' ce qu'elle devienne nulle. Lorsque cette erreur est nulle, le terme intgral se stabilise et il compense parfaitement l'erreur entre la consigne et la vitesse relle.

On voit cette fois-ci que le terme intgral a bien fonctionn et que l'erreur statique est nulle. On constate aussi que plus le gain Ki est grand, plus le systme converge vite. En revanche, plus Ki est grand, plus le systme oscille et plus le dpassement est10

Chapitre 2

Correcteur PID

important. Sur des asservissements en position le terme driv permet de diminuer le dpassement et les oscillations. 2.3.3 Asservissement PID

Si on rajoute donc le terme driv, nous obtenons les rsultats suivants :

. On voit que lorsque l'on ajoute le terme driv, la commande est extrmement bruite. En ralit, on ajoute la commande la drive de la vitesse relle, que l'on multiplie par un gain Kd. La drive d'une vitesse est une acclration, cela signifie que l'on amplifie tous les bruits d'acclration et en plus, on les multiplie par un gain Kd. Ce bruit est typique des asservissements en vitesse. Sur des asservissements en position, ce problme est moins frquent, car la drive de la position est la vitesse. Ici, le problme tait visible, ces courbes ont t trouves sur un systme rel (le robot Type 1).

Conclusion Ce chapitre nous a permis de comprendre les diffrentes actions dun correcteur et le rle de chaque action dans la commande dun systme. Dans le prochain chapitre, sera prsent les rsultats de simulations du systme quon a tudi.

11

Chapitre3 Introduction

Applications et rsultats

Dans ce chapitre, sera prsent lapplication et les rsultats obtenus par simulation dun modle dune articulation robotique dfinie par sa fonction de transfert. Larticulation robotique est commande par un contrleur PID, grce auquel se fera lasservissement de position et de vitesse. Les coefficients du contrleur PID sont choisit par la mthode de placement des ples, qui donne des rsultats acceptables pour les systmes tudis. Le SIMULINK, qui est un module de MATLAB destin fournir des outils graphiques de conception de systmes, sera utilis pour la ralisation du schma bloc de lasservissement et pour la simulation des rsultats partir des donnes insres dans chaque bloc selon les donnes de lexemple. 3.1 Le contrleur PID

Le contrleur PID est un contrleur de boucle ferme qui prend la diffrence entre ltat voulu et ltat rel et multiplie cette diffrence, lintgre et la drive avec les facteurs P, I et D (comme dfinit dans le chapitre prcdent) qui produisent la commande du systme. Ainsi quun direct feed through de ltat voulu, multipli par F peut tre ajout. 3.1.1 Prsentation du modle PID utilis :

Figure 3.1 Intrieur du PID

12

Chapitre3

Applications et rsultats

Selon cette structure, la commande U qui sort du PID se calcule comme suit :(Eq. 1)

3.2

Asservissement en position

La fonction de transfert dune articulation robotique peut tre reprsent par :(Eq.2)

Avec la fonction de transfert de larticulation (Eq. 2) et la fonction du contrleur PID (Eq. 1), on obtient :

Alors la fonction de transfert en boucle ouverte est:

Cette quation peut tre crite sous la forme suivante:

Par identification des deux quations on obtient les coefficients du PID en fonction des ples:

13

Chapitre3

Applications et rsultats

Application La fonction de transfert de larticulation robotique est la suivante :

G(s) =Avec Km=12 rad / (V*sec) =0.15 sec Temps de rponse (5%) en mode suiveur Tr< 0.5 sec Dpassement infrieur 5% en mode suiveur Erreur rgime infrieur 0.1 rad en mode suiveur Temps de stabilisation infrieur 2 sec en mode suiveur Minimiser linfluence de la perturbation Commande maximale 4V Etats de larticulation possible -3.14 +3.14 rad

3.3

Simulation du systme en SIMULINK

Figure3.2 : Simulation du systme de contrle de position avec PID en SIMULINK

Le signal R(s) change t=0 sec de 0 2 rad. La commande sortant du PID est limite une amplitude maximale de 4V. A ce signal sajoute au temps t=3sec une perturbation de -1V. Ltat de larticulation est, lui aussi, limit pour ne pas dpasser une amplitude de 3.14rad. Les gains du PID sont calculs par les relations prcdente avec T r=0.2 sec, =0.95, p3= -1014

Chapitre3 Les gains rsultants sont : K1=6.3750, K2=0.3979, K3=28.1250, K4=-3.5625 Le rsultat de la simulation est le suivant :

Applications et rsultats

Figure3.3 : Le rsultat de la simulation. Jaune : position commande, Bleu : position relle.

Violet : signal de commande. Il est bien visible dans cette figure que la sortie de la fonction de transfert(en bleu) qui reprsente la position relle suit ltat dsir (en jaune) qui est la position dsire avec les spcifications requises, en mode suiveur (t=1sec) ainsi quen mode rgulateur (t=3sec), car on voit une perturbation de la position t=3sec mais aussitt rtabli avec le correcteur PID utilis Le seul problme qui arrive t=1sec, le PID aimerait envoyer une commande (en violet) plus grande que 4V vers le moteur, mais il nest pas capable de le faire. Comme le calcul des gains ne prend pas compte des limites de sortie du PID, le temps de rponse rel est plus grand que les 0.2sec envisages mais encore bien plus petit que les 0.5 sec demandes. 3.4 Asservissement en vitesse

Pour lasservissement en vitesse dune articulation robotique, la fonction de transfert est : V(s)=

15

Chapitre3

Applications et rsultats

Comme la partie drivation du PID produit des perturbations dans un asservissement de vitesse (comme indiqu dans le chapitre prcdent), seulement les parties P, I et F sont utilises. La fonction du transfert du contrleur PI est la suivante: U(s) = (s) V(s)] + + (s)

Alors: V(s) = V(s) = * u(s) = *(k1[vD(s) v(s)]+ k3 * v(s) + * vD(s) + k4 * vD(s)) * v(s) + *vD(s)

* vD(s) +

[1+

] * v(s) = [

+

+

] * vD(s)

v(s) =

* vD(s)

v(s) =

* vD(s)

v(s) =

* vD(s)

La fonction de la chaine ouverte: F(s) =

=

(Eq.3)

F(s) =

=

(Eq.4)

En comparant, lquation 3 et 4 on trouve la relation entre les gains du PI et les ples : P1 P2= k1 =

16

Chapitre3

Applications et rsultats k3 = = k4 =

= P1* P2

k1

Les ples sont choisit partir du temps de rponse ( 5%) T r de la faon suivante : Z0 = P2 P2 = (nombre positive arbitraire) , P1 = Application La fonction de transfert est : V(s) = avec Km=12 rad /v*sec, = 0.15 sec

Temps de rponse (5%) en mode suiveur dsir :Tr