M1 EEAII
Parcours ViRob
Fabio MORBIDI
Laboratoire MIS
Équipe Perception Robotique
E-mail: fabio.morbidi@u-picardie.fr
1.1 Définitions
2.1 Positionnement
• Matrices de rotation et représentations de l’orientation
• Matrices homogènes
2
Plan du cours
2.2 Cinématique
• Vitesse d’un solide
• Vecteur vitesse de rotation
• Mouvement rigide
• Torseur cinématique
Robot générique
ne effecteur
à n articulations θ4
se
d3 ae
θ2 pbe
q = [q1 , q2 , . . . , qn ]T ??
θ1
base
Solutions multiples
6
Modèle géométrique inverse
Solutions de forme fermée
Pour trouver des solutions de forme fermée est nécessaire de:
Solutions numériques
Lorsque il n’y a pas des solutions de forme fermée ou elles sont difficiles
à déterminer, on peut calculer une solution particulière du problème inverse
par des procédures numériques (méthodes itératives d'optimisation non linéaire
ou l'algorithme de Levenberg-Marquardt)
d2
py P
Problème:
[px , py ]T donné.
q = [θ1 , d2 ]T ?
θ1
px
px = d2 cos θ1
py = d2 sin θ1
Une démarche analytique simple permet de déterminer le modèle géométrique
inverse. En effet, nous avons que:
θ1 = arctan(py /px ), d2 = p2x + p2y
8
Exemple 2: manipulateur planaire à 3 segments
θ3
θ2
q = [θ1 , θ2 , θ3 ]T ?
φ
θ1
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
pWx = px − a3 cφ = a1 c1 + a2 c12
Coordonnées du point W
pWy = py − a3 sφ = a1 s1 + a2 s12 (origine du repère 2)
1 - Solution algébrique
• Pour avoir une solution admissible, il faut que:
−1 ≤ c2 ≤ 1
• Donc, on impose
s2 = ± 1 − c22
• Par conséquent:
θ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 , c1 , avec solution:
(a1 +a2 c2 )pWy −a2 s2 pWx
s1 = p2Wx +p2Wy
=⇒ θ1 = Atan2(s1 , c1 )
Par conséquent:
(a1 +a2 c2 )pWx +a2 s2 pWy
c1 = p2Wx +p2Wy
12
Exemple 2: manipulateur planaire à 3 segments
θ3 = φ − θ1 − θ2
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 on requiert que pWx = pWy = 0
2 - Solution géométrique
φ = θ1 + θ2 + θ3
pWx = px − a3 cφ = a1 c1 + a2 c12
pWy = py − a3 sφ = a1 s1 + a2 s12
13
Exemple 2: manipulateur planaire à 3 segments
Remarque
a1 γ a2
a3
Soit un triangle dans lequel on utilise les notations exposées sur la figure
ci-dessus,
a23 = a21 + a22 − 2 a1 a2 cos γ
14
Exemple 2: manipulateur planaire à 3 segments
2 - Solution géométrique
“coude φ
• Si on applique le théorème d’Al-Kashi
en haut”
au triangle rouge en figure, on obtient:
W
p2Wx + p2Wy = a21 + a22 − 2 a1 a2 cos(π − θ2 )
θ2
• En effet, on a deux configurations
possibles du triangle (voir le trait “coude
pointillé noir en figure) en bas”
2 - Solution géométrique
α = Atan2(pWy , pWx )
2 - Solution géométrique
• Si on utilise l’expression de c2 φ
trouvée auparavant, on obtient:
⎛ ⎞
p2Wx + p2Wy + a21 − a22 W
β = arccos ⎝ ⎠
2a1 p2Wx + p2Wy
θ2
avec β ∈ (0, π) pour garantir,
à nouveau, l’existence du triangle
θ1
• Donc, θ1 = α ± β où le signe est
“+” pour θ2 < 0 et “_” pour θ2 > 0
φ = θ1 + θ2 + θ3
17
Solutions de forme fermée: généralités
18
Méthode de Paul
• Dans le cas de robots à géométrie simple (pour lesquels la plupart des
distances ai et di sont nulles et θi et αi sont égaux à 0 ou ±π/2), le MGI
peut être obtenu de façon systématique avec la méthode de Paul
19
Méthode de Paul
Les éléments situés dans le membre de gauche sont soient indépendants, soient
fonctions de q1 . Les éléments situés dans le membre de droite sont soient
constants, soient fonctions de q2 , . . . , q6
20
Méthode de Paul
U0 = A01 (q1 ) A12 (q2 ) A23 (q3 ) A34 (q4 ) A45 (q5 ) A56 (q6 )
A10 (q1 )U0 = A12 (q2 ) A23 (q3 ) A34 (q4 ) A45 (q5 ) A56 (q6 )
A21 (q2 )U1 = A23 (q3 ) A34 (q4 ) A45 (q5 ) A56 (q6 )
A32 (q3 )U2 = A34 (q4 ) A45 (q5 ) A56 (q6 )
A43 (q4 )U3 = A45 (q5 ) A56 (q6 )
A54 (q5 )U4 = A56 (q6 )
j j
avec Uj = A6 = Aj−1 Uj−1 , j ∈ {1, 2, 3, 4}.
La résolution de ces équations est intuitive, mais fait intervenir (en principe)
quelques types d'équations dont la solution analytique est connue.
21
Méthode de Paul: exemple de robot à 6 DDL
• Si on applique la méthode de Paul au robot Stäubli TX60 (un robot à 6 DDL
avec porteur anthropomorphe et poignet de type rotule), on trouve qu’il existe
8 solutions du problème inverse dans le cas général (avec 1 butée mécanique)
Robot
Stäubli TX60
22
Les quatre postures compatibles avec une pose donnée du poignet
d’un manipulateur anthropomorphe:
Poignet
23
Remarque
• On a vu précédemment que le modèle géométrique direct d'un robot
peut se représenter aussi à l'aide de l'application:
xe = f (q)
Cette application est définie de l'espace articulaire (EA) vers l'espace
opérationnel (EO), tous deux de dimension n ≤ 6 , en général.