ch.3, part. 3

UFR des Sciences, Département EEA
M1 EEAII
Parcours ViRob
Fabio MORBIDI
E-mail: [email protected]!
http://home.mis.u-picardie.fr/~fabio/Teaching.html
Année Universitaire 2014/2015
Plan du cours
Chapitre 1 : Généralités
1.1 Définitions
1.2 Constituants d’un robot
1.3 Classification des robots
1.4 Caractéristiques d’un robot
1.5 Les générations de robot
1.6 Programmation des robots
1.7 Utilisation des robots
Chapitre 2 : Degrés de liberté - Architecture
2.1 Positionnement
• Rotation et représentation de la rotation
• Attitude et matrices homogènes
2
Plan du cours
2.2 Cinématique
• Vitesse d’un solide
• Vecteur vitesse de rotation
• Mouvement rigide
• Torseur cinématique
Chapitre 3 : Modélisation d’un robot
3.1 Modèle géométrique
• Convention de Denavit-Hartenberg
• Modèle géométrique direct
• Modèle géométrique inverse
3.2 Modèle cinématique
• Jacobien direct d’un robot
• Jacobien inverse d’un robot
3.3 Modèle dynamique
• Equation d’Euler-Lagrange
3
Modèle géométrique inverse
θ4
effecteur
d3
θ2
θ1
base
Modèle géométrique direct: etant données les positions articulaires
(distance resp. angle pour une articulation prismatique resp. rotoïde)
trouver la pose de l’effecteur par rapport à la base
Modèle géométrique inverse: etant donnée une pose de l’effecteur
par rapport à la base, trouver, si elles existent, l’ensembles de positions
articulaires qui permettent de générer cette pose
4
Modèle géométrique inverse
Problème direct
Si les variables des articulations sont connues, la pose de l’effectuer peut
être calculée d’une manière unique en utilisant la matrice de transformation
homogène:
T0n (q) = A01 (q1 ) A12 (q2 ) · · · An−1
(qn )
n
Problème inverse
Beaucoup plus compliqué pour les raisons suivantes:
1. Les équations à résoudre sont, en général, non linéaires.
En conséquence, il n’est pas toujours possible de trouver
une solution à forme fermée
2. Le problème peut avoir des solutions multiples
3. Le problème peut avoir un nombre infini de solutions
(par ex. pour des robots redondants cinématiquement)
4. Le problème peut n'avoir aucune solution admissible, à cause
de la structure cinématique du manipulateur
5
Modèle géométrique inverse
2. Solutions multiples
• Ça depend du nombre de DDL du robot mais aussi du nombre de
paramètres de DH qui sont différents de zéro
• En général, plus le nombre de paramètres de DH différents de zéro
est grand, plus le nombre des solutions admissibles est grand
• Pour un manipulateur à 6 DDL sans limitations mécaniques sur les
articulations, il y a, en général, 16 solutions admissibles: on a
donc besoin de trouver des critères pour choisir parmi ces solutions
admissibles
• La presence de limitations mécaniques sur les articulations des
robots réels peut, éventuellement, reduire le nombre de solutions
multiples admissibles
6
Modèle géométrique inverse
Solutions à forme fermée
Pour trouver des solutions à forme fermée est nécessaire de la:
• Intuition algébrique pour trouver les équations significatives
qui contiennent les inconnues
ou
• Intuition géométrique pour trouver des points significatifs sur
le robot que peuvent être utilisés pour exprimer la position et/ou
orientation en fonction du nombre des inconnues
Solutions numériques
• On peut recourir à solutions numériques, s’il n’y a pas des solutions à forme
fermée ou ils sont difficiles à déterminer
• Avantage: on peut appliquer les méthodes numeriques à tous les robots
• Inconvénient: les méthodes numériques ne trouvent pas, en général, toutes
les solutions admissibles
7
Modèle inverse: manipulateur planaire à 3 segments
θ3
W
θ2
φ
θ1
Problème: etant donnée la position et orientation de l’effecteur, déterminer
les variables θ1, θ2, θ3 des trois articulations rotoïdes
8
Modèle inverse: manipulateur planaire à 3 segments
• On a déjà vu que la matrice de transformation totale pour ce
manipulateur est (modèle géométrique direct):

c123
s
 123
0
0
1
2
T3 (q) = A1 A2 A3 = 
 0
0
−s123
c123
0
0

0 a1 c1 + a2 c12 + a3 c123
0 a1 s1 + a2 s12 + a3 s123 



1
0
0
1
T
où q = [θ1 , θ2 , θ3 ] et c1 = cos θ1 , c12 = cos(θ1 + θ2 ), s123 = sin(θ1 + θ2 + θ3 )
• Il est utile de spécifier la position et orientation de l’effecteur en utilisant
un nombre minimal de paramètres
• On peut utiliser les coordonnés px , py et l’angle



φ entre l’effecteur et l’axe x0:

a1 c1 + a2 c12 + a3 c123
px




 py  = f (q) =  a1 s1 + a2 s12 + a3 s123 
φ
θ1 + θ2 + θ3
Élément (1,4) de
T03
Élément (2,4) de
T03
Somme des variables
des articulations
9
Modèle inverse: manipulateur planaire à 3 segments
1 - Solution algébrique
• Si
φ est spécifié, la 1ère équation du système à resoudre est:
φ = θ1 + θ2 + θ3
En revanche si φ n’est pas spécifié, le manipulateur est redondant
et il y a un nombre infini de solutions au problème inverse
• À partir du modèle direct, on trouve que:
pWx = px − a3 cφ = a1 c1 + a2 c12
pWy = py − a3 sφ = a1 s1 + a2 s12
Position du point W
(origine du repère 2)
• On calcule le carré des deux expressions précédents et on les additionne:
p2Wx + p2Wy = a21 + a22 + 2a1 a2 c2
Donc
c2 =
p2Wx + p2Wy − a21 − a22
2a1 a2
10
Modèle inverse: manipulateur planaire à 3 segments
1 - Solution algébrique
• Pour avoir une solution admissible, il faut que:
• On peut donc mettre
−1 ≤ c2 ≤ 1
s2 = ±
�
1 − c22
où le signe est “+” corresponde à la posture “coude en bas” et le signe
“_” à la posture “coude en haut”
• En conséquence:
θ2 = Atan2(s2 , c2 )
• Maintenant, il faut déterminer θ1 . Si on substitue l’expression de θ2 trouvée,
dans les equations de pWx , pWy , on obtient un système de deux équations à
deux inconnues, s1 , s2 , avec solution:
s1 =
c1 =
(a1 +a2 c2 )pWy −a2 s2 pWx
p2Wx +p2Wy
(a1 +a2 c2 )pWx +a2 s2 pWy
p2Wx +p2Wy
En consequence
=⇒
θ1 = Atan2(s1 , c1 )
11
Modèle inverse: manipulateur planaire à 3 segments
1 - Solution algébrique
Remarque:
Si s2 = 0 on a que θ2 ∈ {0, π} : dans cette posture le manipulateur est dans
une singularité cinématique. On peut déterminer encore θ1 d’une manière
unique sauf si a1 = a2 et il est requis que pWx = pWy = 0
• Enfin, pour trouver l’angle
θ3 on peut utiliser l’équation
θ3 = φ − θ1 − θ2
2 - Solution géométrique
• On utilise encore les trois équations:
φ = θ1 + θ2 + θ3
pWx = px − a3 cφ = a1 c1 + a2 c12
pWy = py − a3 sφ = a1 s1 + a2 s12
12
Modèle inverse: manipulateur planaire à 3 segments
2 - Solution géométrique
• Si on applique le théorème d’Al-Kashi
(loi des cosinus) au triangle rouge en
figure, on obtient:
p2Wx + p2Wy = a21 + a22 − 2 a1 a2 cos(π − θ2 )
• En effet, on a deux configurations
possibles du triangle (voir la ligne
noire pointillée en figure)
φ
“coude
en haut”
W
θ2
“coude
en bas”
• Puisque cos(π − θ2 ) = − cos θ2 ,
nous avons:
c2 =
p2Wx + p2Wy − a21 − a22
2a1 a2
• Pour l’existence d’un triangle, il faut que:
�
• Sous cette condition:
θ2 = ± arccos(c2 )
p2Wx + p2Wy ≤ a1 + a2
13
Modèle inverse: manipulateur planaire à 3 segments
2 - Solution géométrique
• La posture “coude en bas”
est obtenue avec θ2 ∈ (0, π)
φ
“coude
en haut”
• La posture “coude en haut”
est obtenue avec θ2 ∈ (−π, 0)
W
θ2
• Pour déterminer θ1 , il faut considérer
les angles α et β en figure
• La valeur de α depend du signe
de pWx , pWy . Il faut donc
calculer α comme:
θ1
“coude
en bas”
α = Atan2(pWy , pWx )
• Pour trouver β, nous appliquons encore la loi des cosinus (triangle vert),
ce qui nous donne l’équation:
a22
=
p2Wx
+
p2Wy
+
a21
− 2a1
�
p2Wx
+
p2Wy
�
cos β =⇒ cβ p2Wx + p2Wy = a1 + a2 c2
14
Modèle inverse: manipulateur planaire à 3 segments
2 - Solution géométrique
φ
• Si on utilise l’expression de c2
trouvée auparavant, on trouve

W

p2Wx + p2Wy + a21 − a22

�
β = arccos 
2a1 p2Wx + p2Wy
avec β ∈ (0, π) pour garantir encore
l’existence des triangles
θ2
θ1
• Donc, θ1 = α ± β où le signe est “+”
pour θ2 < 0 et “_” pour θ2 > 0
• Enfin pour trouver θ3 , on utilise
l’équation:
φ = θ1 + θ2 + θ3
Remarque: même pour un
manipulator très simple le calcul
du modèle inverse n’est pas banale
15
Modèle inverse: considérations générales
• La plupart des manipulateurs existants sont cinématiquement simples:
en effet ils sont typiquement composés d’un bras et d’un poignet sphérique
(dans le cas d’un bras avec poignet sphérique, le point W est choisi à
l’intersection des trois axes des articulations rotoïdes)
• Ce choix est motivé par la difficulté à déterminer des solutions du problème
inverse dans le cas général
• En particulier, un manipulateur à 6 DDL a des solutions à forme fermée du
problème inverse si une des conditions suivantes est satisfaite:
• Les axes de trois articulations rotoïdes consecutives se croisent en un
seul point (trois axes concourants), comme dans le cas du poignet sphérique
• Les axes de trois articulations rotoïdes consecutives sont parallèles
• Les solutions à forme fermée pour le manipulateur anthropomorphe, le
manipulateur sphérique, et le poignet sphérique sont présentés dans le
livre de Siciliano, Sciavicco, Villani, Oriolo aux pages 94-100
16
Modèle inverse: considérations générales
• Example: manipulateur anthropomorphe
Poignet
Bras à gauche
et en haut
Bras à droite
et en haut
Bras à gauche
et en bas
Bras à droit
et en bas
Les quatre postures compatibles avec une position donnée du poignet
17