Vous êtes sur la page 1sur 20

ELE6207 Commande des systmes robotiques Hiver 2007

Devoir 1: Asservissement en vitesse et position d'une


articulation robotique par placement des ples
Stefan Bracher

Rsum
Un rsum de la thorie de l'asservissement en vitesse et position pour des articulations robotiques et prsent.
Dans une premire tape, le contrle avec un contrleur PID est prsent et illustr avec des exemples. Ensuite
la thorie de contrle par observateur/contrleur d'tat est discute et deux exemples sont fournis.

Objectives
Rviser les lments de base de l'asservissement

Savoir dterminer les coefficients des contrleurs

Faire des simulations des systmes en Matlab/Simulink

A. Introduction
Pour un contrle simple des articulations robotiques deux types de rgulateur sont possibles, le contrleur PID
et l'observateur/contrleur d'tat. Le principe de ces contrleurs est prsent dans des cas avec une ou deux
articulations srielles, mais s'applique aussi pour des chanes plus longues. Pour assurer que le systme est
stable et suit les exigences demand, les coefficients pour les contrleurs sont choisit par la mthode du
placement des ples, qui produise des rsultats acceptables pour les systmes tudis.

B. Le contrle avec le contrleur PID

1. Le contrleur PID
Un contrleur PID est un contrleur de boucle ferm qui prend la diffrence entre un tat voulu et l'tat rel et
multiple cette diffrence, l'intgrale et la driv avec les facteurs P, I et D pour produire la commande pour le
systme. Ainsi un direct feed through de l'tat voulu, multipli par F peut tre ajout.

Figure 1: Le boucle ferm incluant le contrleur et l'articulation robotique

1
ELE6207 Commande des systmes robotiques Hiver 2007

Figure 2: L'intrieur du PID

La commande U qui sort du PID se calcule comme suit:

R sY s
U s= K 1 R sY s K 2 sY s K 3 K 4R s
s
Eq. 1.1

2. Asservissement en position

La fonction d'une articulation robotique (moteur lectrique) peut tre reprsent par

Y s Km
G s= =
U s s1 s
Eq. 2.1
ou
Y s A
G s= = (Sans frottement)
U s s 2
Eq. 2.2

Comme les fonctions de transfert (Eq. 2 et Eq. 3) ne possdent pas de frquence critique ( G jw cr =0 ),
les rgles selon Ziegler/Nichols ne peuvent pas tre appliques. Un autre approche, celui du positionnement
des ples de la fonction du transfert doit tre utilis.

Avec la fonction du transfert de l'articulation (Eq. 2) et la fonction du contrleur PID (Eq. 1) on calcule que:
Km Km R sY s
Y s= U s= [K 1 R sY s K 2 sY s K 3 K 4R s ]
s1s s1 s s
Eq. 2.3

2
ELE6207 Commande des systmes robotiques Hiver 2007

Y s= K m K 1 R s K mK 1 Y s K m K 2 sY s K m K 3 R s K mK 3 Y s K mK 4 R s
s1s s1 s s1 s s1s 2 s1 s 2 s1 s
Y s[ 1 K mK 1 K m K 2 K mK 3 ]= K mK 1 R s K mK 3 R s K mK 4 R s
s1 s s1 s1 s 2 s1 s s1 s2 s1 s

Alors la fonction de transfert de la chane ouvert devient:


K mK 1 K K 3 K K 4
m m
Y s s1 s s1 s s1 s
2
G 0 s= =
R s K mK 1 K mK 2 K mK 3
1
s1 s s1 s1 s 2

G s= K mK 1 K mK4 sK mK 3 K mK 1 K mK4 sK mK 3
0 =
s1 s K mK 1sK mK 2s K mK 3 s K mK 21s 2 K mK 1sK mK 3
2 2 3

Eq. 2.3

Cette quation peut tre crit dans la forme:


p1 p 2 p3s
p 1 p 2 p 3
p1 p2 p 3 s z0 z0
G 0 s= =
z 0s p1 s p 2 s p 3 s 3 p1 p2 p3s 2 p1 p2 p3 p2 p1 s p1 p2 p 3
Eq. 2.4

En comparaison les coefficients on obtient les coefficients du PID en fonction des ples:

p 1 p 2 p3 p 2 p1 p3
K 1K m
= p 1 p2 p3 p2 p1 p3 K 1=
Km

Eq. 2.5.1
p1 p2 p3 1
K mK 21 K 2=
= p 1 p2 p3 Km Km

Eq. 2.5.2

p 1 p 2 p 3
K mK 3 K 3=
= p 1 p 2 p 3 Km

Eq. 2.5.3

K mK 1 K m K 4 p 1 p2 p3 K 3
= K4= K1
z0 z0

Eq. 2.5.4

Y s A
Pour la fonction de transfert G s= = , la relation entre les coefficients du PID et les ples de la fonction
U s s 2
de chane ouvert peut tre calcul de la mme faon. Le rsultat est:

p1 p2 p3 p 2 p1 p 3
K 1=
A
Eq. 2.6.1

3
ELE6207 Commande des systmes robotiques Hiver 2007

p1 p2 p3
K 2=
A
Eq. 2.6.2
p 1 p 2 p 3
K 3=
A
Eq. 2.6.3
K 3
K4= K1
z0
Eq. 2.6.4

Selon les notes du cours ELE3201 [1], les ples sont choisit partir du temps de rponse ( 5%) T r et du
facteur d'amortissement dsir avec:

n=3/T r
Eq. 2.7.1
p1,2=n j n 1
2

Eq. 2.7.2
p 3= nombre positive arbitraire
Eq. 2.7.3
z 0= p 3
Eq. 2.7.4

Exemple

Y s Km rad
G s= = avec K m=12 , =0.15 sec
U s s1 s V sec

Temps de rponse (5%) en mode suiveur dsir: T r 0.5 sec

Dpassement infrieur 5% en mode suiveur

Erreur rgime infrieure 0.1 rad en mode suiveur

Temps de stabilisation infrieur 2 sec en mode suiveur

Minimiser l'influence de perturbation

Commande maximale 4 V

tats de l'articulation possibles-3.14 +3.14 rad

4
ELE6207 Commande des systmes robotiques Hiver 2007

La simulation de ce systme en SIMULINK:

Figure 3: 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 limit une amplitude maximale
de 4V. ce signal s'ajoute au temps t=3 sec une perturbation de -1 V. L'tat de l'articulation est, lui aussi, limit
pour ne pas dpasser une amplitude de 3.14 rad.
Les gains du PID sont calculs en utilisant les quations 2.5 et 2.7 avec T r =0.2 sec , =0.95 et p3=10 . Les
gains rsultants sont:

K1 = 6.3750, K2 = 0.3979, K3 = 28.1250 et K4 =-3.5625

Le rsultat de la simulation est le suivant:

Figure 4: Le rsultat e la simulation. Jaune: Position command, Bleu: Position relle, Violet: Signal de commande

Il est bien visible comme la sortie de la fonction de transfert (en bleue) suit l'tat dsir (en jaune) avec les
spcifications requis, en mode suiveur (t=1) ainsi que en mode rgulateur (t=3).

Le seul problme qui arrive est que t=1, le PID aimerait envoyer une commande (en violet) plus grande que 4
Volts vers le moteur, mais il n'est 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.2 sec envisags mais encore bien
plus petit que les 0.5 sec demandes.

5
ELE6207 Commande des systmes robotiques Hiver 2007

3. Asservissement en vitesse
Km
Pour l'asservissement en vitesse d'une articulation robotique, la fonction du transfert est: v s=
s1
Eq. 3.1

Comme la partie drivative du PID produit un boucle de calcul, seulement les parties P, I et F sont utilises.
[ vD sv s]
La fonction du transfert du contrleur PI: us=K 1 [ v D sv s] K 3 K 4v Ds
s
Eq. 3.2
Alors:
Km K [ v sv s]
v s= us= m K 1 [ vD sv s]K 3 D K 4v Ds
s1 s 1 s
K mK 1 K K K K K K K K 4
v s= v Ds m 1 v s m 3 v D s m 3 v s m v D s
s 1 s 1 s s 1 ss 1 s 1
K m K 1 K mK 3 K K K K K K 4
[1 ]v s=[ m 1 m 3 m ]v D s
s 1 s s 1 s1 ss 1 s 1
K mK 1 K mK 3 K mK 4

s 1 ss 1 s 1
v s= v D s
K K K K 3
1 m 1 m
s 1 ss 1
s[ K mK 1K mK 4 ]K mK 3
v s= v D s
ss 1 sK mK 1K mK 3
s[ K mK 1K mK 4 ]K mK 3
v s= v D s
s 2ssK mK 1K mK 3
K mK 1K mK 4 K K
s m 3

v s= vD s
2 1K mK 1 K mK 3
s s

K mK 1K mK 4 K K
s m 3
v s
La fonction de la chane ouvert: F s= =
v D s 1K mK 1 K K
s 2 s m 3

Eq. 3.3
p1p2
s p1p2
Ce qui est rendre la forme: p1p2 sz0 z0
F s= =
z 0 s p1sp 2 s2p1 p2sp 1p2

Eq. 3.4
En comparaissant Eq. 3.3 et 3.4 on trouve la relation entre les gains du PI et les ples:

1K mK1 [p1 p 21 ]
p 1p 2= K 1=
Km

6
ELE6207 Commande des systmes robotiques Hiver 2007

Eq. 3.4.1
K m K 3 p 1p 2
= p1p2 K 3=
Km

Eq. 3.4.2
K m K 1K mK 4 p1p2 K 3
= K 4= K 1
z0 z0

Eq. 3.4.3
Selon les notes du cours ELE6207 [1], les ples sont choisit partir du temps de rponse ( 5%) T r de faon
suivante:
z 0= p 2
Eq. 3.5.1
p2=nombre positive arbitraire
Eq. 3.5.2
p 1=3/T r
Eq. 3.5.3

Exemple

Au lieu de contrler la position, on veut faire un asservissement du systme discut avant.


Km rad
La fonction de transfert est alors: v s= avec K m=12 , =0.15 sec
s1 V sec

Temps de rponse (5%) en mode suiveur dsir: T r 0.5 sec

Dpassement infrieur 5% en mode suiveur

Erreur rgime infrieure 0.1 rad en mode suiveur

Temps de stabilisation infrieur 2 sec en mode suiveur

Minimiser l'influence de perturbation

Commande maximale 4 V

La simulation de ce systme en SIMULINK:

7
ELE6207 Commande des systmes robotiques Hiver 2007

Figure 5: Simulation de l'asservissement en vitesse avec contrleur PI

Les gains du PI sont calculs utilisant les quations 3.4 et 3.5 avec T r =0.2 sec et p2=20 . Les gains
rsultants sont:

K1 = 0.3542, K3 = 3.7500 et K4 = -0.1667

Encore une fois, t=3s une perturbation constante est ajout pour vrifier le mode rgulateur du PI.

Figure 6: Rsultat de la simulation. Jaune: Vitesse command, Bleu: Vitesse relle, Violet: Signal de commande

8
ELE6207 Commande des systmes robotiques Hiver 2007

C. Le contrle avec observateur/contrleur d'tat

1. L' observateur/contrleur d'tat

Dans la section prcdente il n'y avait que une variable d'tat du systme contrler, soit la position ou la
vitesse de l'articulation. Mais assez souvent l'tat du systme est constitu de plusieurs variables. Par exemple
si il y a une connexion lastique entre le moteur et la roue on a la position et la vitesse du moteur ainsi que la
position et vitesse de la roue.

Ces systmes sont souvent reprsent par le modle suivante:

x = A x Bu
y=C x Du
Eq. 1.1

Avec l'tat du systme x, la commande u et l'observation y. A, B, C et D sont des matrices dpendant du


systme.

Le contrleur d'tat

Le contrleur d'tat peut tre vue comme plusieurs contrleurs simples, un pour chaque variable, en parallle.
En cas de deux variables, cela peut avoir l'air suivant:

Figure 7: Contrleur d'tat PD avec x1=position moteur, x2=vitesse moteur, x3=position roue, x4=vitesse
roue.

9
ELE6207 Commande des systmes robotiques Hiver 2007

Les constantes d'amplification du rgulateur sont calculs eux aussi par placement de ples. Selon les notes du
cours ELE6207 [2], la fonction place de Matlab Control Systems Toolbox peut tre utilis pour le calcul
des constantes partir de l'quation caractristique du systme.

L'quation caractristique d'un systme de forme X = A X Bu :


det I 1 ABK ctr =s p 1 s p 2 s p3 s p4
Eq. 1.2

La commande Matlab pour le calcul des gains K=(K1, K2, K3, K4)' du contrleur type PD est:

K ctr = place A , B , p1 , p2 , p3 , p4'

En plaant les ples de plus en plus vers le ngative, le contrle ragit de plus en plus rapide.

L'observateur d'tat

Si tous les variables du systme peuvent tre observ, un observateur d'tat n'est pas ncessaire. Mais quand,
au lieu de l'tat du systme, une valeur dpendant de ce systme, par exemple un potentiel lectrique venant
d'un capteur, est observ, il faut introduire un observateur qui essaye de deviner l'tat du systme partir de ce
signal.

Pour le faire, la modlisation du systme est utilis, en ajoutant une correction d'erreur entre le signal de retour
, B
attendu y et le signal rel y , du l'identification imparfait des matrices du systme A , C et D
.

x = A
x Bu
K obs y y

y= C x Du

Eq. 1.3

10
ELE6207 Commande des systmes robotiques Hiver 2007

Figure 8: Implmentation d'un observateur d'tat

Le gain de pondration de cette erreur, K obs , peut lui aussi tre calcul par placement de ples partir de
l'quation caractristique.

L'quation caractristique de l'observateur selon les notes de cours ELE6207 [2]:


K obsC =s p1 s p 2 s p3 s p4
det I 1 A
Eq. 1.4

Alors:

, C , p1 , p2 , p3 , p4'
K obs = place A'

Il est important que l'observateur soit plus rapide que le contrleur utilis dans le mme boucle
d'asservissement. Dont les ples utiliss pour le calcul de K obs doivent tre plus ngative que celles utiliss
pour le contrleur.

p obs =k pctr
Eq. 1.5

11
ELE6207 Commande des systmes robotiques Hiver 2007

2. Asservissement en position

Pour l'asservissement en position, le systme de simulation complet l'air suivante:

Figure 9: Systme boucle ferm incluant l'observateur et le rgulateur PD

12
ELE6207 Commande des systmes robotiques Hiver 2007

Exemple
Modle du systme (selon [2]):

x = A x Bu
y=C x Du

[ ] []
0 1 0 0
K r Kr 0
1
0 Km
I1 t1 I1
A= , B= t 1 ,
0 0 0 1
Figure 10: Le systme tudi Kr Kr 0
1
0 0
Une articulation isol avec un lien lastique est tudi. I2 I2 t1

[]
Un moteur avec angle de rotation est connect 0
avec un lien lastique une roue, dont on veut C= 0 , D=0
contrleur l'angle de rotation . 1
0

Conditions: x =[ x1, x2, x3, x 4]' , x1 = , x 2= , x 3= , x4=

est la seule valeur qui peut tre mesure. K r =0.2 : Constante d'lasticit du lien

La voltage u maximale est de +-4V. Gain statique de l'actionneur


K m=10.5 :
L'angle maximale est de +-pi pour .
t 1=0.12 : Constante de temps de l'actionneur
t=0 =t=0 =0

des t1= 2 t 2=0.75 : Constante de temps du segment


Perturbation partir de t=5 I 1=0.002 : Inertie de l'actionneur

I 2 =0.0015 : Inertie du segment

Le modle Simulink du systme est celui prsent au fin de la page prcdente.

Vu que en ralit on ne cannait jamais les constantes exactes du systme (En fait, mme le modle qu'on utilise
est probablement une approximation), pour le calcul de K obs et K ctr selon les quations 1.2 et 1.4, les
constantes estimes suivantes ont t utilises:

K r =0.21 : Constante d'lasticit du lien estim

K m=11.5 : Gain statique de l'actionneur estim

t 1=0.114 : Constante de temps de l'actionneur estim

13
ELE6207 Commande des systmes robotiques Hiver 2007

t 2=0.9 : Constante de temps du segment estim

I 1=0.0019 : Inertie de l'actionneur estim

I 2 =0.0021 : Inertie du segment estim

Avec les ples du contrleur choisit P_ctr=[-20+0.1*i; -20-0.1*i; -30+0.3*i; -30-0.3*i] et celles de l'observateur
P_obs=5*P_ctr, ont obtient (fonction place de Matlab selon les quations 2 et 4):

K_ctr=[38.1167; 1.0324; -7.2557; 3.6230]


Kobs=[6.6736e+004;1.5676e+006;490.1170;8.7438e+004]

Figure 11: Rsultat de la simulation

Le rsultat de la simulation montre un bon comportement en mode suiveur. La perturbation par contre produise
un erreur rgime qui ne peut pas tre compens par le contrleur PD. On va revenir cela plus tard.

Dans la figure prcdente on ne voit pas de diffrence entre y estim par l'observateur et le y rel.
L'observateur est capable de corriger l'inexactitude dans les paramtres du systme estimes avec la partie
K obs y y de l'quation 3. Par contre, si on choisit K obs=[0 0 0 0 ] ' , l'observateur produise un x fautive,
rsultant un erreur rgime parce que le contrler corrige un tat ( x ) qui ne correspond pas au frai tat du
systme.

14
ELE6207 Commande des systmes robotiques Hiver 2007

Figure 12: Rsultat de la simulation avec K_obs=0

Revenons au problme d'erreur rgime. Celui-ci peut tre enlev en ajoutant une partie intgrante au
contrleur et le rendant un contrleur PID.

Figure 13: Le contrleur PID pour deux articulations

15
ELE6207 Commande des systmes robotiques Hiver 2007

Figure 14: Rsultat de simulation avec contrleur PID. Kint=[2, 2]'

3. Asservissement en vitesse

Un asservissement en vitesse peut tre ralis avec un asservissement en position. L'ide et de calculer la
position demande dpendant de la vitesse et du temps en intgrant la vitesse demande. Ensuite on envoie
ces signaux au mme systme de contrleur/observateur que pour l'asservissement en position.

Figure 15: Conversion des signaux demands.

16
ELE6207 Commande des systmes robotiques Hiver 2007

Exemple

Asservissement en vitesse du systme prsent sous point deux.

Figure 16: Le systme de simulation pour l'asservissement en vitesse


Comme le mme systme boucle ferm, sauf la command, que pour l'asservissement en position est utilis,
les mmes coefficients sont choisit pour le contrleur et l'observateur.

La seul chose qui doit tre chang au systme, est d'enlever les limites de l'articulation pour tre capable de
tourner plus long temps.

Le rsultat de simulation est:

17
ELE6207 Commande des systmes robotiques Hiver 2007

Figure 17: L'tat dsir (violet) et l'tat rel du systme simul

L'asservissement en vitesse marche trs bien, en mode suiveur (0>t>5) ainsi que en mode rgulateur (t>5) en
compensant la perturbation introduit.

Mais si on regarde bien les angles et , on voit quelque chose qui semble bizarre au premier moment:
est toujours un petit peu plus grande que , bien qu'on les commande avoir la mme valeur chaque
instant. La valeur de la diffrence en rgime permanent est de 0.02 rad.

18
ELE6207 Commande des systmes robotiques Hiver 2007

Figure 18: Diffrence entre Thta et Phi

L'explication se trouve dans le systme tudi. Il inclus la friction au support de la roue, qui produise un moment
qui, en rgime permanent sans changements de vitesse, doit tre compens par le lien lastique.

Selon le loi des liens lastiques, un telle moment rsulte en une diffrence en position.

M = K r
Eq. 3.1
Alors on a demand un tat qui n'est pas ralisable, soit
que t =t .

Pour l'asservissement en vitesse present, cela n'a pas


pos un grand problme. Mais si la friction est grande et le
contrleur instable, une telle ngligence pourrait peut tre
rsulter dans une oscillation.

Une solution possible serait de calculer, l'aide de


l'quation 6, la diffrence ncessaire entre et en
fonction de la vitesse (Le moment de friction est
dpendant de la vitesse). Figure 19: Le systme tudi

19
ELE6207 Commande des systmes robotiques Hiver 2007

D. Conclusion
Il a t montr comment un asservissement en position et en vitesse peuvent tre atteint avec un contrleur PID
simple et avec on systme d'observateur/rgulateur d'tat. Avec la mthode de placement de ples, les gains du
contrleur peuvent tre choisit telle que le temps le rponse demand peut tre atteint pendant que le
dpassement est minimis.
Quand mme il est important de ne pas se confier aveuglement aux gains obtenu, car le calcul ne prend compte
ni des signaux de commande qui peuvent tre envoys au systme, ni des limites d'articulation d'un robot. Il faut
alors vrifier ces valeurs et si ncessaire les corriger. Pour viter des dommages au robot cause des limites
articulaire frapp accidentellement, il peut mme tre intressant d'installer des mesures de scurit
additionnels.
Ce qui concerne l'asservissement en vitesse avec observateur/rgulateur d'tat utilisant le contrleur de position
en calculant les positions ncessaire, on a vu que pour l'exemple donn la mthode fonctionne.

Finalement, le dernier exemple montr qu'ils existent des commandes physiquement irralisables. Ce
phnomne n'est pas restreint l'asservissement en vitesse, mais dois exister pour tous les systmes avec
moins de variables de contrle que variables contrler (underactuated systems). Ce que serait intressant
dterminer, est comment un contrleur ragit en cas d'une telle commande impossible pour qu'on puisse
assurer que le systme reste stable.

Rfrences
[1] Notes de cours ELE3201, Asservissement, cole Polytechnique de Montral
[2] Romano de Santis, Notes de cours ELE6207, Commande des systmes robotiques, cole Polytechnique
de Montral

20

Vous aimerez peut-être aussi