Vous êtes sur la page 1sur 5

I.

BUT DE L’ETUDE
L’objectif de cette manipulation consiste élaborer des lois de commandes par PID et par
découplage non linéaire pour un robot plan à trois axes permettant :
- La stabilisation du robot dans l’espace articulaire autour de tout point de fonctionnement.
- La poursuite d’une trajectoire servant de référence pour l’organe terminal : commande dans
l’espace opérationnel.
II. DESCRIPTION
Soit le bras du robot rigide a trois degrés de liberté suivant :

Figure 1: robot plan

On notera :

X =[ Px Py θ]T : Vecteur des coordonnées opérationnelles.

Ẋ =[ Ṗ x Ṗ y θ̇ ]T  : Vecteur des vitesses opérationnelles.

q=[θ 1 θ 2θ 3]T : Vecteur des coordonnées articulaires.

q̇=[ θ̇ 1 θ̇ 2 θ̇ 3]T : Vecteur des vitesses articulaires.

u=[u 1u 2 u 3]T : Vecteur des commandes délivrées par les moteurs électriques
L1, L2, L3 : longueurs des segments
m1, m2, m3 : masses suspendues aux extrémités des segments.

III. Etudes théorique :


1. Modélisation géométrique et dynamique
1.1. Modelé géométrique direct (MGD) du robot : X =f (q)

1
σi αj dj θj rj
1 0 0 0 θ1 0
2 0 0 L1 θ2 0
3 0 0 L2 θ3 0  Matrice élémentaire j −1T avec j=1,2,3 , m3
❑ j

voir

cos θ1 −sin θ1 0 0 cos θ2 −sin θ2 0 L1


0
❑T 1=
[
sinθ 1 cos θ1
0
0
0
0
0
1
0
0 ;
0
1
] [ 1
❑T 2=
sinθ 2 cos θ2
0
0
0
0
0 0
1 0
0 1
]
cos θ3 −sin θ 3 0 L2 1 0 0 L3
2
❑T 3=
[
sinθ 3 cos θ 3
0
0
0
0
0 0
1 0
0 1
 ;
] [ 3
❑T m 3=
0
0
0
1
0
0
0
1
0
0
0
1
]
Uo=❑0T m 3=❑0T 1 × ❑1T 2 × ❑2T 3 × ❑3T m3 Avec

sx nx ax Px
U 0=
[
sy ny ay Py
sz nz az Pz
0 0 0 1
]
On obtient la matrice en multipliant le terme de la droite vers la gauche:

U 3=❑3T m 3 ;

U 2=❑2T 3 × U 3 ;

U 1=❑1T 2 ×U 2

U 0=❑0T 1 × U 1 Une fois cette matrice déterminée il suffit de faire par identification.

 On pourra directement déterminer cette matrice sur le plan du robot (voir figure) :
On aura alors

cos ( θ1 +θ2 +θ3 ) 0 0 Px

U 0=❑3T m 3=
[ 0
0
0
cos ( θ 1+θ 2+θ 3 )
0
0
0 Py
cos ( θ1 +θ2 +θ3 ) 0
0 1
Avec :
]
Px L 1cos ( θ1 ) + L2 cos ( θ 1+θ 2 ) + L3 cos ( θ1+ θ2+ θ3 )

[ ][
Py = L1 sin ( θ1 ) + L 2sin ( θ 1+θ 2) + L3 sin ( θ1 +θ2 +θ3 )
θ θ +θ + θ
1 2 3
]
2
Ainsi avec les coordonnées articulaires q=[θ 1 θ 2θ 3]T ; on pourra determiner les
coordonnées operationnelles X =[ Px Py θ]T

1.2. Le modèle géométrique Inverse : q=f −1 ( x )  

Ce modèle consiste à trouver les coordonnées articulaires pour des coordonnées


opérationnelles imposés ; donc la matrice U0 est donnée.
 Application de la méthode de Khalil86 :
Sois le MGD :

Px L 1cos ( θ1 ) + L2 cos ( θ 1+θ 2 ) + L3 cos ( θ1+ θ2+ θ3 )

[ ][Py = L1 sin ( θ1 ) + L 2sin ( θ 1+θ 2) + L3 sin ( θ1 +θ2 +θ3 )


θ θ1+ θ2+ θ3=θ ]
Elle correspond à l’équation de khalil86 de type 8 pour la détermination de θ1 , θ2 , θ3  :

L1 cos ( θ1 ) + L 2 cos ( θ1 +θ2 ) =Px−L3 cos θ X cos θi +Y cos ( θi +θ j )=Z 1


[ L 1sin ( θ 1) + L2 sin ( θ1 +θ2 )=Py−L 3 sin θ
=
][
X sin θi +Y sin ( θi+ θ j ) =Z 2 ]
Avec : X =L1 ; Y =L 2 ; θi=θ1 ; θ j =θ2 ; Z 1=Px−L3 cos θ ; Z 2=Py−L 3 sin θ d’autre part :
B1=X +Y cos θ j ; B 2=Y sin θ j

−1 Z 12 + Z 22 −X 2−Y ² −1 B 1× Z 1+ B 2 ×Z 2
θ j=θ2=cos et θi =θ1=cos et θ3=θ−θ2−θ 1
2 XY B12 + B 2²
On fera la simulation de ces modelés sur Matlab.

2. Modélisation dynamique
2.1. Matrice de l’équation de mouvement
Sois l’équation du mouvement : gamma(q) q̈=gamma 1¿
Gamma(q) : matrice d’inertie symétrique définie positive.
Gamma1 (q,q̈) est une vecteur qyu regroupe les non linéarité du système.
1 2 1 2 1
On a d’après LaGrange : L=T −U avec T = m1.‖v 1‖ + m 2.‖v 2‖ + m3.‖v 3‖² et
2 2 2
U =m1. g . L 1.sin θ1 +m 2. g . L2. sin θ2 +m3. g . L 3. sin θ3

Apres calcul des vitesses on aura :


1 1 1
T = m123. L12 . θ˙1 ²+ m23. L22 . θ 12˙ ²+ m3. L 32 . θ123
˙ ²+m23. L1. L 2. θ˙1 . θ˙12 . cos θ2 +m 3. L 1. L 3. θ˙1 . θ123 cos θ 23+˙m3 . L
2 2 2

a11 a12 a13


1 2T

(
On a: T = 2 ×q . gamma ( q ) . q̇ avec gamma ( q )= a 21 a22 a23
a 31 a32 a33 )
3
a 11 a12 a13 θ̇1
1
[ ][ ]
T devient : T = × [ θ1 ² θ2 ² θ3 ² ] . a 21 a22 a23 . θ̇2 par identification on déterminera la
2
a 31 a32 a33 θ̇3
matrice d’inertie gamma (voir les coefficients de la matrice dans la programmation Matlab).

gamma 1 ( q , q̇ )=[b 1b 2 b 3]T


L’équation du mouvement sous forme matricielle devient :

a11 a12 a13 u1

[ a31 a32 a33 ] T


a21 a 22 a23 . [ θ̈ 1 θ̈2 θ̈3 ]=[ b 1b 2 b 3 ] + u 2
u2 []
On définira par la suite le paramètre U qui n’est rien d’autre que la commande linéaire PID

2.2. Représentation d’état du système compte tenu de θ1 θ2 θ 3:

x1 q
( ) () T
Sois  x= x 2 = q̇ =[θ1 θ2 θ 3 θ̇1 θ̇2 θ̇ 3 θ̈1 θ̈2 θ̈3 ] =[ x 1 x 2 x 3 x 4 x 6 x 7 x 8 x 9 ] est≤vecteur d ' etat
x3 q̈

x2 0 3.3
{ ẋ=f ( x ) + g ( x ) .u
y =cx
Qui devient :
{ (
ẋ= −1 +
)(
gamma ( x 1 ) × gamma 1( x 1 , x 2) gamma−1 ( x 1)
y=x 1
.u
)
2.3. Représentation d’état du système compte tenu de Px Py θ:

Sois ξ= ( XẊ )=[Px Py θ Px˙ Py˙ θ̇] =[ ξ 1 ξ 2 ξ 3 ξ 4 ξ 6 ] est≤vecteur d ' etat


T

ξ2 03.3
{ ξ̇=f ( ξ ) + g ( ξ ) . u
y =cξ
Qui devient :
{
ξ̇=
( gamma −1
)( +
)
( ξ 1 ) × gamma 1(ξ 1 ,ξ 2) gamma−1 (ξ 1)
y =ξ 1
.u

3. Commande en linéaire de type PID


Sois la figure suivante illustrant le schéma d’une commande par PID d’un robot
manipulateur :

4
3.1. Loi de commande du robot plan :
t
u=Kp ( qc −q ) + Kd ( q̇ c −q̇ ) + KI ∫ ( q c −q ) dt
t0

Avec :
[q ¿ ¿ c q̇ c ]=[ x 1c x2 c x3 c x 4 c x 5 c x 6 c ] qui sont les consignes des positions et vitesse dans l ' espace articulaire ¿
t

On a: uj=Kpj ( qc −q ) + Kdj ( q̇c −q̇ ) + KIj ∫ ( qc −q ) dt avec j=1,2,3


t0

Pour le calcul des gains proportionnels Kpj, dérivés Kdj et intégraux KIj, il s’agit de considérer le
modèle de l’articulation j régit par le système linéaire du second ordre à coefficient
constant :

u j=a j q̈ j avec aj= A jjmax la vale ur maximal de la matrice d ' inertiedurobot

Kpj=3.a j . w2j

{
On en déduit alors : kdj=3. a j . w j
KIj=a j . w2j

CONCLUSION
Ce TP a pour but la visualisation de toutes les configurations du robot sur l’écran graphique
de la poursuite de trajectoire de l’organe terminal d’un robot par la loi de la commande
élaborée dans l‘espace opérationnel.
En effet on observe le domaine total de travail du robot prédéfini, le robot suivra la
trajectoire de référence Py=a∗sin ( w∗Px )+ b

Vous aimerez peut-être aussi