apprendre robotique

Transcription

apprendre robotique
A. Benali
0248484081
[email protected]
64
Objectifs du cours
• Comment procéder pour donner des ordres au
robot
• Apprendre à représenter la position et l’orientation
d’une chaîne mécanique
• Être capable d’effectuer des transformation de
coordonnées.
• Utiliser différents repères et les coordonnées
homogènes
65
Pourquoi le modèle géométrique direct
• Description dans l’espace et transformation
• Introduction à la génération du mouvement
Where is my hand?
Direct Kinematics:
HERE!
66
Sommaire
1- Programmation des robots industriels
2- Matrice de transformation homogène
3- Notations de Denavit & Hartenberg
4- Modèle géométrique direct et inverse
67
Programmation des robots industriels
Niveaux d’abstraction pour la description de la tâche
Actionneur
Coordonnées articulaires q
Effecteur
Coordonnées opérationnelles x
Objet
Opérations sur les objets, insertion, alignement,..
Objectifs
Assemblage de plusieurs pièces
Niveaux
tâche
68
Programmation des robots industriels
Niveau de l’intelligence humaine
Programmation de niveau tâche
Programmation textuelle structurée
Programmation par primitives
de mouvements
Programmation par apprentissage
System d’exploitation
69
Programmation par apprentissage
•Syntaxeur (boîte à boutons ou « teach pendant»)
•Le plus courant actuellement
•Mouvements point à point (pick and place, soudure à points)
•Enregistrement : de points opérationnels ou de passage
Fanuc pendant
EAAL pendant
(pédagogique)
70
Type de mouvements en mode « teach »
• Mode articulaire
Système d’axes
de référence
• Mode world
Orientation
Position spécifiés
Système d’axes
de l’effecteur
71
Type de mouvements en mode « teach »
• Mode tool
Orientation
Position spécifiés
Système d’axes
défini par
l’orientation
de l’outil
72
Limites de la programmation par apprentissage
• inconfortable (si la complexité logique de la tâche
augmente)
• difficultés d’édition
• immobilisation du robot (programmation « on-line »)
• incompatible avec CAD/CAM, CIM, ...
73
Programmation par langage
• fonction apprentissage mémorisation des points
• langage procédural (« off-line ») séquence logique de la tâche
- 1er langage : WAVE (1973)
Standford Artificial Intelligence Laboratory
- VAL (Victor’s Assembly Langage) 1979
- VAL II 1984
autres :AML (A Manufacturing langage, IBM 1982)
RAIL (Automatix, 1981)
MCL (Manufacturing Control Langage, Mc DonnelDouglas)
...
!!! PAS DE NORMALISATION
réticence à utiliser des robots de marques différentes
74
Caractéristiques et possibilités
2ème génération (VAL II, AML, …)
• contrôle du mouvement (interpolation)
ex. : MCL (basé sur APT : automatically programmed tooling)
connaît les cercles, plans, cylindres, …
• I/O analogiques pour senseurs extéroceptifs (+ capacités de calculs)
ex. : contrôle du serrage de la pince
• intelligence programmable
tests et branchements conditionnels
procédures en cas de détection d’erreurs
• communication, transfert de données “computer link” pour
téléchargement de programmes et/ou de consignes
• extensibilité (routines, macro-instructions, paramètres variables)
75
Programmation par CAO
Moyen disponible 1980 Modélisation
• des robots
• des préhenseurs
• de l’environnement
• Modélisation des tâches
• Simulation et optimisation
• Génération des programme de commande
76
Programmation par CAO
Outils (CAO)
Base de données géométriques 3-D
- primitives solides
- primitives de surfaces
- cellules spatiales
Visualisation
- réaliste (solide)
- simplifiée (fil de fer)
77
Programmation par CAO
Calcul des efforts statiques dans CATIA
78
Sommaire
1- Programmation des robots industriels
2- Matrice de transformation homogène
3- Notations de Denavit & Hartenberg
4- Modèle géométrique direct et inverse
79
Objectifs
• Un robot manipulateur exige un mouvement dans
l’espace
• Différents systèmes de coordonnées sont nécessaires
pour décrire position/mouvement
• Objectif: descrire le mouvement d’un objet rigide
• Point de référene: Il existe un système de coordonnées
universel/ inertiel/ stationnaire, auquel se réfère
d’autres systèmes de coordonnées.
80
Liaison, articulations et repères
Liaisons
Articulations
Point
terminal
2 DDL
81
Trois problèmes à résoudre
• Étant donné deux SC’s, comment exprimer l’un en
fonction de l’autre
• Lorsqu’un point est exprimé dans un SC, comment
s’exprime-t-il dans le second
• Peut-on appliquer des opérations de transformation sur
un vecteur
82
Description d’une position
un système de
coordonnées
{A}
ZA
• point = vecteur
position
AP
YA
XA
 pox
 
A
=
P  p oy
 poz
Souvent la description du point n’est pas suffisante: besoin de
l’orientation
83
De {A} vers {B}
{A }
αZ
αX
αY
Conclusion: le vecteur
exprimé dans le repère
{A} est :
84
Matrice de rotation
• Cette matrice contient les projection des trois
vecteurs unitaires
• Chaque vecteur colonne de la matrice de rotation
est un vecteur des cosinus
?
• Comment calculer
? Quel est le
• Position + orientation = Frame
85
Description d’un repère
z0
{A}
y0
• Repère: ensemble de
quatre vecteurs donnant
position + orientation
• Description d’un repère:
position + rotation matrix
• Ex.:
y1
x1
θ
x0
z1
{B}
• position: repère avec une
rotation nulle
• orientation: repère avec
position nulle
86
Mapping: entre deux repères
Repères translatés
ZA
{A}
YA
AP
AP
BORG
ZB
BP
XB
{B}
YB
XA
• Si {A} est de même orientation que {B}, alors {B} diffère
de {A} par une translation: APBORG
AP = BP + AP
BORG
• Mapping: changement de description d’un repère à l’autre.
Le vecteur APBORG definit le mapping.
87
Généralisation du changement de coordonnées
A
ZA
XB
YA
XA
BP
AP
AP
BORG
{A}
P = BAR BP + APBORG
ZB
YB
 A P   BA R
 =
 1  0 0 0
“1” ajouté
A
PBORG   B P 
 
1  1 
Colonne ajoutée88
Coordonnées homogènes
• Les coordonnées homogènes: englobent des
vecters 3D vectors en 4D par l’ajout d’un “1”
• Plus généralement, la matrice de transformation
homogène T de la forme
89
Sommaire
1- Description par les matrices de transformations
homogènes
2- Description des rotations
3- Paramètres de Denavit & Hartenberg
4- Modèle géométrique inverse
90
Représentation des rotations
• La matrice d’orientation R est composée de 9
composantes dépendantes pour décrire l’orientation
• Nous avons besoins de trois degrés de libertés
indépendants pour décrire l’orientation
• Nous allons analyser deux représentations de
l’orientation
- Les angles d’Eulers
- Les angles roll, pitch yaw
91
Les angles d’Euler
Séquence de trois rotations autour
des axes courants dans l'ordre
suivant:
Rot(z , φ)
Rot(y’ , θ)
Rot(z’’ , ψ)
Les trois angles d’Euler
φ, θ, et ψ
Paramétrisation de la rotations
R = Rot(z, φ) × Rot(y’, θ) × Rot(z’’, ψ)
92
Les angles d’Euler
93
Les angles Roll, Pitch, Yaw
Z0
Séquence de trois rotations autour des
axes fixes d’origine dans l'ordre
suivant :
Rot(xo , ψ)
Rot(yo , θ)
Rot(zo , φ)
Roll
Pitch
Y0
X0
Yaw
Les trois angles roll, pitch et yaw
φ, θ, et ψ
Paramétrisation de la rotations
R = Rot(z, φ) × Rot(y, θ) × Rot(x, ψ)
94
Les angles Roll, Pitch, Yaw
95
Sommaire
1- Description par les matrices de transformations
homogènes
2- Description des rotations
3- Paramètres de Denavit & Hartenberg
4- Modèle géométrique inverse
96
Représentation de Denavit-Hartenberg
C’est une méthode systématique qui permet de fixer n repères associés
au robot et d’en déduire les matrices de transformations homogènes.
Z
(i - 1)
Y
X
α
Y
(i -1)
a
(i -1)
(i - 1
)
d
i
Z
i
X
i
a
i
θ
i
i
( i -
Idée: chaque articulation est dotée d’un repère. En utilisant les
notations de Denavit-Hartenberg il suffit de 4 parameters pour décrire
comment le repère (i) est relié au repère ( i -1 ).
1)
Les paramètres sont α, a , d, θ
97
Etapes de la procédure D-H pour tout manipulateur
Étape1 : localiser et nommer les axes articulaires z0 , …, zn-1
Étape2 : Fixer le repère de base. Prendre son origine n’importe où sur
l’axe z0. Les axes x0 et y0 complètent le trièdre direct.
Pour i=1,…, n-1 refaire les étapes 3 à 5
Étape3 : localiser l’origine Oi , là où la perpendiculaire commune entre
zi et zi-1 coupe zi (si zi et zi-1 se coupent, choisir Oi au point
d’intersection, si zi et zi-1 sont parallèles localiser Oi sur l’articulation i)
Étape4 : établir xi le long de la perpendiculaire commune entre zi et zi-1
(si zi et zi-1 se coupent choisir xi perpendiculaire au plan formé par zi et
zi-1 )
Étape5 : compléter par yi pour former un trièdre direct
Étape6 : établir le repère terminal On Xn Yn Zn choisir On au centre de
l’effecteur. Si la dernière articulation est rotoïde choisir Zn parallèle à
98
Zn-1
Notation de Denavit-Hartenberg
Z
(i - 1)
Y
X
α
Y
(i -1)
a(i
i
Z
i
X
- 1 )
d
i
a
i
i
(i -1)
θ
i
( i - 1)
1) a distance le long de x à partir de l’origine O jusqu’à
l’intersection avec Z
2) α
Rotation nécessaire autour de la perpendiculaire commune (x ) pour
aligner Z
avec l’axe Z . Le sens des rotation suit le sens
trigonométrique.
(i-1)
i
i
(i-1)
(i-1)
i
(i-1)
i
99
Notation de Denavit-Hartenberg
Z
(i - 1)
Y
X
α
Y
(i -1)
a(i
i
Z
i
X
d
- 1 )
i
a
i
i
(i -1)
θ
i
( i - 1)
3) d
C’est le déplacement le long de Z à partir de O nécessaire pour
obtenir l’intersection entre Z et X . Si la liaison est prismatique alors
d est la variable articulaire
4) θ Rotation autour de Z pour aligner les axes X
et X . Si la
liaison est rotoïde alors θ est la variable articulaire
(i-1)
i-1
i-1
i-1
i
(i-1)
i
i-1
i
(i-1)
i
100
Matrice de Denavit-Hartenberg
101
Sommaire
1- Description par les matrices de transformations
homogènes
2- Description des rotations
3- Paramètres de Denavit & Hartenberg
4- Modèle géométrique inverse
102
Exemple simple
Liaisons
rotoïdes et
prismatiques
combinées
chercher :
y
θ = arctan( )
x
D’où:
y
θ = arctan 2( )
x
(x , y)
Y
S
ᒕ1
X
chercher S:
S = (x 2 + y 2 )
103
Modèle géométrique inverse
• Position du problème : Etant donnée la position et
l’orientation de l’organe terminal, déterminer les variables
articulaires correspondantes.
• D’où provient la difficulté de résolution du problème
géométrique inverse ?
– Possibilité d’avoir plus d’une solution
– Difficulté de résolution ds équations non-linéaires
transcendentales.
How do I put my
hand here?
IK: Choose these angles!
104
Existence des solutions
• La solution du problème gémétrique inverse admet
une solution si la cible appartient à l’espace de
travail
• Le calcul de l‘espace de travail peut devenir
difficile, à moins de disposer d’un outils approprié
• Le problème peut admettre plusieurs solution :
comment choisir la plus appropriée ?
2 solutions!
105
L’espace de travail
Espace de travail
• Espace de travail: volume de l’espace atteignable
par l’organe terminal
• Dextrous workspace: volume de l’espace
atteignable où l’organe terminal peut être orienté
arbitrairement.
• Espace de travail atteignable: volume de
l’espace de travail que le robot peut atteindre selon
au moins une orientation.
106
Méthodes de détermination des solutions
• Le problème inverse est solvable si les variables
articulaires peuvent être déterminés par un algorithme.
L’algorithme peut déterminer toutes les solutions
possibles.
•
Solutions
Solutions analytiques
Solutions numériques
Nous allons nous occuper des solutions
analytiques
1. Méthode algébrique
2. Méthode géométrique
107
Méthodes de détermination des solutions
• Principal résultat: Tous les systèmes avec
des articulations rotoïdes et prismatique
ayant un total de six degrées de libertés
dans une architecture série est solvable
• En général, la solution est numérique
• Pour les robots admettant une solution
analytique : il existe plusieurs articulations
dont les axes font des angles α = 0, 90 .
o
i
108
1-Solution algébrique
Soit l’exemple suivant :
c123
s
123
B
0

=
=
T
T
W
3
 0

 0
− s123
c123
0
0
0 l1c1 + l2c12 
0 l1s1 + l2 s12 

1
0

0
1

L’objectif est de déterminer trois variables :
cφ
s
φ
B

T
=
W
0

0
− sφ
cφ
0
0
x
0 y 
1 0

0 1
0
109
1-Solution algébrique
Par comparison, nous obtenons quatre équations
cφ = c123
sφ = s123
x = l1c1 + l2 c12
y = l1s1 + l2 s12
En additionnant le carré des deux dernières
équations:
x 2 + y 2 = l12 + l22 + 2l1l2c2
D’où l’expression de c2
x 2 + y 2 − l12 − l22
c2 =
2l1l2
110
1-Solution algébrique
Deux solutions pour θ2 sont possibles.
En utilisant c12=c1c2-s1s2 et s12= c1s2-c2s1:
x = k1c1 − k 2 s1
y = k1s1 + k 2 c1
avec k1=l1+l2c2 et k2=l2s2. Pour résoudre nous
poserons
r=+√ k12+k22 et γ=Atan2(k2,k1).
111
1-Solution algébrique
k1
γ
l1
l2
k2
θ2
alors: k1=r cos γ , k1=r sin γ , et nous pouvons
écrire:
x/r= cos γ cos θ1 - sin γ sin θ1
y/r= cos γ cos θ1 - sin γ sin θ1
donc: cos(γ+θ1) = x/r, sin(γ+θ1) =y/r
112
1-Solution algébrique
ainsi:
et:
γ+θ1 = Atan2(y/r,x/r) = Atan2(y,x)
θ1 = Atan2(y,x) - Atan2(k2,k1)
Finallement, θ3 peut être déterminée:
θ1+ θ2+ θ3 = φ
113
2-Solution géométrique
Idée: Decomposer la géométrie spaciale en plusieurs
problèmes de géométrie planaire
Rappelons la loi des sinus
sin
B
=
sin C
b
=
2
θ2
ψ
c
sin ψ
l
y
sin( θ )
sin(180 − θ )
2 =
2
+
+
2
2
2
x y
x y2
β
x
θ1=ψ+β

y

x
β = arctan 2

114
2-Solution géométrique
En utilisant la loi des cosinus
c
2
y
= a 2 + b 2 − 2ab cos C
(x2 +
y
2
2
2
) = l1 + l2 − 2l1l2 cos(180 − θ 2 )
ψ
cos(180 − θ 2 ) = − cos(θ 2 )
cos(θ 2 ) =
x
2
2
+ y 2 − l1 − l2
2
β
2l1l2

θ 2 = arccos


x
2
2
+ y − l1 − l2
2
2l1l2
2
x




θ2 est donnée au signe près
l
θ1 = arcsin


2
sin(θ 2 ) 
x2 + y2


y

x

+ arctan 2
115
Réduction Polynomiale
• Les équations transcendentales sont difficiles à
résoudre à cause de la présence de termes en cos θ
et sinθ.
• Nous pouvons réduire en une une seule variable
u = tan θ/2
en utilisant
cos θ = (1-u2)/(1+u2)
sin θ =2u /(1+u2)
116

Documents pareils