robotique -ele4203- cours #6: jacobienne, dynamique des robots et commande enseignant: jean-philippe...
TRANSCRIPT
ROBOTIQUE-ELE4203-
Cours #6: Jacobienne, dynamique des robots et commande
Enseignant: Jean-Philippe Roberge
Jean-Philippe Roberge - Octobre 2012
Cours #6
Bref retour sur le cours #5:
Mouvements différentiels et opérateurs différentiels
Matrice Jacobienne ou tout simplement « la Jacobienne »: Interprétation et utilité Comment la calculer efficacement
Concepts faisant intervenir la Jacobienne: Vitesse d’un point lié à un certain repère du robot Vitesses dans l’espace cartésien et vitesses dans l’espace articulaire
Possibilité d’inversion de la matrice Jacobienne. Relation liant les forces appliquées à l’outil (espace cartésien) et le
couple transmis par les articulations (espace articulaire)
2 Jean-Philippe Roberge - Octobre 2012
Cours #6
Notions du cours #6:
Dynamique des robots manipulateurs à l’aide d’Euler-Lagrange
Rappels de base sur le Lagrangien à l’aide d’exemples
Exemple de calcul des équations dynamiques:
Système simple à 1 D.D.L. en translation (joint prismatique)
Système simple à 1 D.D.L. en rotation (joint rotoïde)
Système à 2 D.D.L. en rotation (joints rotoïdes)
Généralisation pour des robots à n degrés de liberté
Propriétés des équations dynamiques des robots manipulateurs
3 Jean-Philippe Roberge - Octobre 2012
Cours #6
Notions du cours #6 (suite):
Stratégies de commande des robots manipulateurs:
PID axe par axe
PD avec compensation de gravité
Commande par couple pré-calculé (precomputed torque)
D’autres types de commande sont possibles malgré que ces
stratégies ne soient pas à l’ordre du cours:
Nous discuterons brièvement de la commande adaptative
Nous discuterons aussi brièvement du contrôle de force
4 Jean-Philippe Roberge - Octobre 2012
5
Bref rappel du cours #5 (1)Mouvement différentiel et opérateur différentiel
Soit une matrice de rotation roulis-tangage-lacet:
Cette matrice permet de représenter n’importe quel orientation d’un repère par rapport à un autre repère. Considérons maintenant des variations infinitésimales de l’angle de roulis, tangage et lacet:
Alors:
Jean-Philippe Roberge - Octobre 2012
6
Bref rappel du cours #5 (2)Mouvement différentiel et opérateur différentiel
Donc, la matrice de transformation reliée à un mouvement différentiel:
Donc, un mouvement différentiel peut se représenter par le déplacement différentiel:
Ainsi que par l’opérateur différentiel:
Jean-Philippe Roberge - Octobre 2012
7
Bref rappel du cours #5 (3)Mouvement différentiel et opérateur différentiel
L’opérateur différentiel est donné par:
Considérons un repère T qui subit un mouvement différentiel pour devenir T+dT:
On a donc:
Cette dernière équation permet souvent d’identifier les déplacements différentiels, comme nous le verrons dans le prochain exemple…
Jean-Philippe Roberge - Octobre 2012
8
Mouvement différentiel et opérateur différentielExemple du robot planaire (1)
Soit le robot planaire RRR pour lequel nous avions réalisé la cinématique directe:
Calculons le changement qui affecte cette matrice lorsqu’elle subie un déplacement différentiel de δθ1:
Et puisque :
Alors:
Jean-Philippe Roberge - Octobre 2012
T
123 123 3 123 2 12 1 1
123 123 3 123 2 12 1 1
1
0
0
0 0 0 0
0 0 0 0
S C a S a S S a
C S a C a C C adT
1
123 123 3 123 2 12 1 1 123 123 3 123 2 12 1 1 3 123 2 12 1 1
123 123 3 123 2 12 1 1 123 123 3 123 2 12 1 1 3 123 2 12 1 11
0 0 0 1 0
0 0 1 0 0
0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
S C a S a S S a C S a C a C C a a S a S S a
C S a C a C C a S C a S a S S a a C a C C a
10 0 0
0 0 0 0
9
Mouvement différentiel et opérateur différentielExemple du robot planaire (2)
Nous pouvons alors identifier le déplacement différentiel (D) lorsque le robot est affecté d’un déplacement infinitésimal au niveau de son joint 1 (θ1):
Ce dernier résultat implique donc que le déplacement différentiel est donc donnée par:
Jean-Philippe Roberge - Octobre 2012
3 123 2 12 1 1
3 123 2 12 1 11 1
0 1 0 0
1 0 0 0
0 0 0 0 0
0 0 0 0 0 0 0 0
z y
z x
y x
a S a S S a dx
a C a C C a dy
dz
1
3 123 2 12 1 1
3 123 2 12 1 1
1
0
0
0
1
x
y
z
dx a S a S S a
dy a C a C C a
dzD
10
Mouvement différentiel et opérateur différentielExemple du robot planaire (3)
Nous pouvons refaire la même démarche pour un mouvement infinitésimal au niveau des joints 2 et 3, les résultats que nous obtiendrions sont:
Donc, le mouvement différentiel total (c’est-à-dire le mouvement différentiel obtenu étant donnée une variation infinitésimale affectant tous les joints) est:
Jean-Philippe Roberge - Octobre 2012
1
3 123 2 12 1 1
3 123 2 12 1 1
1
0
0
0
1
x
y
z
dx a S a S S a
dy a C a C C a
dzD
Ceci se nomme la matrice Jacobienne: 0 J
11
Matrice Jacobienne et son interprétation (1)
La matrice Jacobienne est extrêmement puissante…
Comme nous l’avons vu, la matrice Jacobienne permet de lier les déplacements infinitésimaux dans l’espace articulaires au mouvement différentiel dans l’espace cartésien.
La matrice Jacobienne permet aussi de lier les vitesses articulaires aux vitesses dans l’espace cartésien:
Jean-Philippe Roberge - Octobre 2012
Ceci se nomme la matrice Jacobienne : 0 J
12
Matrice Jacobienne et son interprétation (2)
Supposons à l’inverse que, étant données des vitesses dans le repère de base, nous désirons connaître les vitesses pour chacune des articulations:
Pensez-vous qu’en général, la matrice Jacobienne est inversible?
Jean-Philippe Roberge - Octobre 2012
Pas toujours! Rien n’assure que la matrice Jacobienne sera carrée. En fait, elle ne sera pas carrée lorsque le nombre de degrés de liberté du robot est différent
du nombre de degrés de liberté du robot dans l’espace cartésien.
Dans le cas où vous cherchez à inverser une Jacobienne qui n’est pas carrée, vous devez vous référez au pseudo-inverse (dans les notes: inverse généralisé), voir l’annexe à cet effet.
13
Matrice Jacobienne et son interprétation (3)
Lorsque la matrice Jacobienne carrée n’est pas inversible, cela signifie que le robot se trouve dans une configuration de singularité. Par exemple:
Également:
Donc, la matrice Jacobienne intervient dans une foule de contexte
Calcul de vitesse, planification de trajectoires lisses, détermination des singularités, intervient dans les équations de la dynamique des manipulateurs et dans la relation entre les forces transmis par l’effecteur et les couples articulaires (moteurs).
Jean-Philippe Roberge - Octobre 2012
14
Matrice JacobienneAlgorithme de calcul (1)
La matrice Jacobienne 0J est exprimé dans le repère de base, il est toutefois simple d’exprimer la Jacobienne dans un repère arbitraire i:
Nous venons d’étudier la matrice Jacobienne, nous avons vu comment l’exprimer par rapport à un repère i, nous avons constater sa puissance et nous avons aussi vu comment la calculer.
Il existe toutefois une manière plus méthodique de calculer la Jacobienne…
Jean-Philippe Roberge - Octobre 2012
15
Matrice JacobienneAlgorithme de calcul (2)
L’algorithme de calcul de la matrice Jacobienne:
Cet algorithme fonctionne si les repères ont été apposés selon la méthode de Denavit-Hartenberg
Jean-Philippe Roberge - Octobre 2012
16
Matrice JacobienneAlgorithme de calcul (3) - Exemple
On peut recommencer le calcul de la Jacobienne du robot planaire à l’aide de cet algorithme:
Jean-Philippe Roberge - Octobre 2012
17
Matrice JacobienneAlgorithme de calcul (4) - Exemple
Jean-Philippe Roberge - Octobre 2012
18
Matrice JacobienneAlgorithme de calcul (5) - Exemple
Jean-Philippe Roberge - Octobre 2012
19
Matrice JacobienneAlgorithme de calcul (6) - Exemple
Jean-Philippe Roberge - Octobre 2012
20
Dynamique (1)Rappel des notions de base
La dynamique d’un robot manipulateur peut être développé à partir de la méthode d’Euler-Lagrange:
Jean-Philippe Roberge - Octobre 2012
21
Dynamique (2)Rappel des notions de base
Soit une particule de masse m qui peut seulement se déplacer verticalement:
Son énergie cinétique est:
Son énergie potentielle est :
Le Lagrangien est:
La dynamique de ce système, obtenue par Euler-Lagrange:
Jean-Philippe Roberge - Octobre 2012
21
2T my
U mgy
21
2L T U my mgy
d L Lf
dt y y
my f mg
22
Dynamique (3)Rappel des notions de base
Soit un moteur couplé à une tige de masse M:
Son énergie cinétique est:
Son énergie potentielle est :
Le Lagrangien est:
La dynamique de ce système, obtenue par Euler-Lagrange:
Jean-Philippe Roberge - Octobre 2012
2 2 21 1 1
2 2 2m m l l m l lT J J J J
1 cos lU mgl
211 cos avec:
2 l l m lL T U J Mgl J J J
d L L
dt y y
sinl l lJ Mgl
23
Dynamique (4)
Soit un robot RR à deux degrés de liberté:
Jean-Philippe Roberge - Octobre 2012
24
Dynamique (5)
Jean-Philippe Roberge - Octobre 2012
25
Dynamique (6)
Jean-Philippe Roberge - Octobre 2012
26
Dynamique (7)
Jean-Philippe Roberge - Octobre 2012
Jean-Philippe Roberge - Octobre 2012
27
On peut alors obtenir la dynamique par la méthode d’Euler-Lagrange pour chacun des liens:
Dynamique (8)
Jean-Philippe Roberge - Octobre 2012
28
Sous forme matricielle:
Dynamique (9)
Jean-Philippe Roberge - Octobre 2012
29
Sous forme matricielle (autre forme):
Dynamique (10)
Jean-Philippe Roberge - Octobre 2012
30
Nous savons désormais que la dynamique d’un robot manipulateur peut être obtenue à l’aide de la méthode d’Euler-Lagrange. Celle-ci peut s’exprimer sous la forme matricielle:
Quel genre de loi de commande pouvons-nous utiliser afin de régler le couple τ à appliquer à chacune des articulations?
Il y a plusieurs stratégies possibles, dépendament du contexte, dans le cadre du cours, nous verrons en particulier: PID axe par axe (joint par joint) PD avec compensation de la gravité Couple pré-calculé
On pourra discuter aussi des stratégies suivante, bien que ce ne soit pas matière à l’examen: Contrôle hybride force position et commande en impédance Commande adaptative
Commande des robots manipulateurs (1)
Jean-Philippe Roberge - Octobre 2012
31
Commande des robots manipulateurs (2)PID axe par axe
Jean-Philippe Roberge - Octobre 2012
32
Commande des robots manipulateurs (3)PID axe par axe
Jean-Philippe Roberge - Octobre 2012
33
Commande des robots manipulateurs (4)PD avec compensation de gravité
Jean-Philippe Roberge - Octobre 2012
34
Commande des robots manipulateurs (5)Commande par couple pré-calculé (precomputed torque)
,D q q h q q g q
Loi de commande
Dynamique du robot
Commande non-linéaire d’un robot industriel à 6 DDL œuvrant sur une surface flexible
-Motivations
-Objectifs
-Étapes préliminaires (non présentées) et hypothèses simplificatrices
-Définition de la problématique
-Une étude basée sur la simulation...
École Polytechnique de MontréalELE6204 – Commande des systèmes non-linéairesJean-Philippe Roberge3 décembre 2009
1ère solution: Commande en impédance active [Anderson & Spong]
- Principe: Commander la relation entre la position de l’effecteur et l’effort transmis.
c dc c dc c dcW M B K
Où:dc d c
-Simulation de la commande par MATLAB / Simulink:
Simulation
2e solution: Commande hybride force-position [Khalil W.]- Principe: Asservir simultanément l’effort et la position.
- Note: Nb DDL robot nb DDL suivi traj. + nb DDL force désiré
1
2
( , ) Suivi de trajectoire
( , ) ( ) ( ) Suivi de traj. forceT
M F SW
M F J h I S W
- S est la matrice des axes contraints. Chaque joint qi travaille pour le suivi de trajectoire et le suivi de force.
Commande basée sur Lyapunov [Bolandi et al.]
( , ) ( , ) ( )m f gM q q V q q q F q q F q - Rappel: dynamique du robot non contraint:
- Forme de la commande basée sur Lyapunov: ( , ) ( , ) ( )r m r f gM q q V q q q F q q F q dK s
- Où:( )r d p d d p p rq q K q q q K q et s q K q q q ���
- Donc: ( , ) 0m dM q s V q q s K s
- Considérons le candidat de Lyapunov: 1( ) ( ) 0 0
2TV s s M q s s
1 1
0; 2 ( , ) Antisymétrique
1 1, ( )
2 21
2 ,2
T T T Td
T Td
M q V q q
dVV s M q s s M q s s M q M q V q q M q K s s M q s
dt
s K s s M q V q q s
Td-s K s < 0 s 0
- En vertu du 1er théorème de Lyapunov: s→0. Comme:
p ps x K x e K e ��
- Donc, puisque s→0, alors les erreurs de position et de vitesse tendent elles aussi vers 0.
Commande adaptative basée sur Lyapunov [Spong, Slotine]- Algorithme de Slotine et Li: Jumeler une commande basée sur
Lyapunov à une loi d’adaptation des paramètres dynamiques.
- Loi de commande (basée sur Lyapunov):
ˆ, , ,
ˆ ˆ ˆ( , ) ( ) ( , )
dr r
r m r g f r
K sq q q q p
M q q V q q q F q F q q
dK q - q
- Soit l’erreur sur l’estimation des paramètres dynamiques. Alors:
ˆp p p �
, , , , , , ( , ) ( , ) ( , ) ( )r r r r f d m f gq q q q p q q q q p F q q K s M q q V q q q F q q F q �
- Note: , , , ( , ) ( )r r r m r gq q q q p M q q V q q q F q
( ) ( , ) , , ,m d r rM q s V q q s K s q q q q p �- Alors la dynamique de s:
- Stabilité:1 1
Problématique
1( ) ( ( ) ) ( ) ( )
2T T T T T
dV s s M q s p p V s s K s p s ��� �p
- On peut éliminer le deuxième terme en choisissant une loi d’adaptation adéquate: Tp s �
- De sorte que: ( ) 0 0Td
tV s s K s s
Principe: 1) Identification des paramètres dynamiques du robot lors de la dynamique non contrainte.2) Conserver les paramètres dynamiques constants lors d’un contact.
Applications: - Robot dont la dynamique est en alternance non-contrainte / contrainte.- Robot dont la dynamique non-contrainte est dominante et précédente.
Simulation:
Commande hybride & commande adaptative basée sur Lyapunov
Résultats de la simulation
Références (utilisées lors de la présentation)[1] H. Bolandi, and S. M. Esmaeilzadeh, "Lyapunov-Based Nonlinear
Output Feedback Control of a Flexible Link.", 2009, pp. 397-404.
[2] École de technologie supérieure, "Systèmes robotiques en contact," 2009; http://www.gpa.etsmtl.ca/cours/sys827/index.html.
[3] B. Siciliano, and L. Villani, Robot Force Control, Boston: Kluwer Academic, 1999.
[4] W. Khalil, and É. Dombre, Modélisation, identification et commande des robots, 2 ed., Paris: Hermès Science, 1999.
[5] J.-J. E. Slotine, Applied Nonlinear Control, Englewood Cliffs, New Jersey Prentice Hall, 1991.
[6] M. W. Spong, and M. Vidyasagar, Robot Dynamics and Control, New York; Toronto: Wiley and Sons, 1989.
[7] R. J. Anderson, and M. W. Spong, “Hybrid impedance control of robotic manipulators,” Robotics and Automation, IEEE Journal of, vol. 4, no. 5, pp. 549-556, 1988.
44
Au prochain cours…
C’est l’examen!
Je suis disponible pour vous rencontrer en personne si vous me donnez un 24h de pré-avis (au moins)
Disponible en tout temps par courriel, particulièrement dans les dernières heures avec l’examen.
Jean-Philippe Roberge - Octobre 2012
Références
[1] Absolute Beginner’s Guide to Building Robots, Gareth Branwyn, 2003
[2] http://spectrum.ieee.org/automaton/robotics/robotics-software/10_stats_you_should_know_about_robots Notes de cours (ELE3202) – Richard Gourdeau & John Thistle
[3] http://www.geekologie.com/2008/12/thats-it-im-moving-robotic-sta.php
[4] Robot Modeling and Control, Mark W. Spong et al.,2006.
[5] Notes de cours (Manipulateurs) - ELE4203, Richard Gourdeau, juillet 2012.
45 Jean-Philippe Roberge - Octobre 2012