UPJV, Département EEA M1 EEAII
Parcours ViRob
Fabio MORBIDI
Laboratoire MIS
Équipe Perception Robotique E-mail: [email protected]
Année Universitaire 2016/2017
Mardi 9h00-12h00, Mercredi 13h30-16h30, Salle 8
Plan du cours
Chapitre 1 : Introduction
1.1 Définitions
1.2 Constituants d’un robot 1.3 Classification des robots 1.4 Caractéristiques d’un robot 1.5 Générations de robots
1.6 Programmation des robots 1.7 Utilisation des robots
Chapitre 2 : Fondements Théoriques
2.1 Positionnement
• Matrices de rotation et représentations de l’orientation
• Matrices homogènes
Chapitre 3 : Modélisation d’un Robot
2.2 Cinématique
• Vitesse d’un solide
• Vecteur vitesse de rotation
• Mouvement rigide
• Torseur cinématique
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
• Modèle cinématique direct
• Modèle cinématique inverse 3.3 Modèle dynamique
• Formulation de Lagrange
Plan du cours
Le modèle cinématique nous donne la relation entre les vitesses des articulations et la vitesse linéaire et angulaire de l’effecteur du robot (par rapport au repère de la base)
L’application est décrite par une matrice, le jacobien géométrique, qui dépend de la configuration du manipulateur
effecteur
Modèle cinématique
θ ˙
1θ ˙
2θ ˙
4d ˙
3p ˙
eω
ep ˙
eω
eq ˙
q ˙ −→ ( ˙ p
e, ω
e)
q
q ˙ = [ ˙ θ
1, θ ˙
2, d ˙
3, θ ˙
4, . . .]
TJacobien d’un manipulateur
• Le jacobien est l'un des outils les plus importants pour la caractérisation d’un manipulateur
En effet, le jacobien est utile pour:
o Trouver les singularités d’un robot o Étudier la redondance d’un robot
o Développer des algorithmes pour le calcul du MGI
o Décrire la relation entre les forces appliquées sur l'effecteur et les forces résultantes sur les articulations
o Dériver les équations dynamiques du mouvement d’un robot o Concevoir des lois de commande dans l’espace opérationnel Rappel:
Soit . Le jacobien de est une matrice
définie par:
F(x) : R
n−→ R
mJ = ∂ F
∂ x =
⎡
⎢ ⎣
∂ F1
∂ x1
· · ·
∂ F∂ xn1.. . . .. .. .
∂ Fm
∂ x1
· · ·
∂ F∂ xmn⎤
⎥ ⎦
F = [F
1, . . . , F
m]
Tm × n
Considérons un manipulateur avec articulations. Nous pouvons écrire le modèle géométrique direct comme:
T
e(q) =
R
e(q) p
e(q)
0
1×31
où q = [q
1, . . . , q
n]
Test le vecteur des variables articulaires La position et orientation de l’effecteur change avec q
Objectif: exprimer la vitesse linéaire et la vitesse angulaire de l’effectuer du robot en fonction des vitesses des articulations p ˙
eω
eq ˙
Rappel: Les trois composantes de et le trois composantes de représentent les composantes de la vitesse linéaire et angulaire de l’effectuer du robot par rapport au repère de la base ω
en
Jacobien d’un manipulateur
ω
x, ω
y, ω
zp ˙
ev
x, v
y, v
zLes relations cherchées sont toutes les deux linéaires par rapport aux vitesses des articulations :
où
: matrice qui relie la contribution des vitesses des articulations à la vitesse linéaire de l’effecteur p ˙
eω
eq ˙ q ˙
J
P(q) ∈ R
3×nJ
O(q) ∈ R
3×n: matrice qui relie la contribution des vitesses des articulations à la vitesse angulaire de l’effecteur q ˙
Sous une forme compacte:
v
e=
p ˙
eω
e= J(q) ˙ q Equation de la cinématique d’un manipulateur
ω e = J O (q) ˙ q
p ˙ e = J P (q) ˙ q
Jacobien d’un manipulateur
La matrice:
est le jacobien géométrique d’un manipulateur (une fonction du vecteur des variables articulaires , en général)
Pour calculer explicitement le jacobien géométrique, nous utiliserons les propriétés des matrices de rotation et la cinématique du corps rigide vues dans le Chapitre 2.2
q
Jacobien d’un manipulateur
J(q) =
J
P(q)
J
O(q) ∈ R
6×nVitesse des segments d’un robot
Soient:
: positions des origines des repères
i
– 1 eti
exprimées dans le repère 0: position de l’origine du repère
i
par rapport au repèrei
– 1 exprimée dans le repèrei
– 1Segment i
Art. i
Art. i + 1
Caractérisation d’un segment générique
i
d’un manipulateur (comme d’habitude
on utilise la
convention de DH)
Repère
i
- 1p
i−1, p
iRepère
i
Repère 0
r
i−1i−1,iAssumptions: Les repères 0 et
sont les repères de la base et de l’effecteur du robot.
On omettra l’exposant “0” pour les quantités exprimées dans le repère 0
n p
ip
i−1r
i−1,iOn trouve que:
p
i= p
i−1+ R
i−1r
i−1i−1,iSi on calcule la dérivée par rapport au temps de cette équation, et si on utilise les formules vues dans le Chapitre 2.2, nous trouvons que:
p ˙
i= ˙ p
i−1+ R
i−1r ˙
i−1i−1,i+ ω
i−1× R
i−1r
i−1i−1,i= ˙ p
i−1+ v
i−1,i+ ω
i−1× r
i−1,ioù
v
i−1,i:
vitesse de l’origine du repèrei
par rapport à l’origine du repèrei
– 1 Remarque: nous avons ainsi trouvé l’expression de la vitesse linéaire du segmenti
en fonction de la vitesse linéaire et angulaire du segmenti
– 1p ˙
i= p ˙
i−1+ v
i−1,i+ ω
i−1× r
i−1,iR
: rotation i−1 du repère i – 1 par rapport au repère 0Vitesse des segments d’un robot
Pour la vitesse angulaire du segment
i
, on part de la formule de composition de deux rotations:Si on calcule la dérivée par rapport au temps de cette équation, et on utilise les formules vues dans le Chapitre 2.2, nous avons que:
où
:
vitesse angulaire du repèrei
par rapport au repèrei
– 1 exprimée dans le repèrei
– 1On peut réécrire le 2e terme à droite de l’équation ci-dessus comme
R
i= R
i−1R
i−1iR ˙
i= S(ω
i) R
i= S(ω
i−1) R
i+ R
i−1S(ω
i−1i−1,i) R
i−1iS(ω
i) ω
i−1i−1,i:
matrice antisymétrique associée au vecteurω
i(rappel la propriété: ):
R S(ω) R
T= S(R ω)
R
i−1S(ω
i−1i−1,i)R
i−1i= R
i−1S(ω
i−1i−1,i)R
Ti−1R
i−1R
i−1i= S(R
i−1ω
i−1i−1,i)R
iI
3Vitesse des segments d’un robot
Donc on a trouvé que:
Vitesse des segments d’un robot
S(ω
i) R
i= S(ω
i−1) R
i+ S(R
i−1ω
i−1i−1,i) R
ià partir de la quelle nous déduisons que:
Remarque: nous avons ainsi trouvé l’expression de la vitesse angulaire du segment
i
en fonction de la vitesse angulaire du segmenti
– 1 et dela vitesse angulaire du repère
i
par rapport au repèrei
– 1p ˙
i= ˙ p
i−1+ v
i−1,i+ ω
i−1× r
i−1,iω
i= ω
i−1+ ω
i−1,iNous remarquons que des expressions différentes pour
sont obtenues en fonction du type d’articulation
i
(prismatique ou rotoïde)ω
i= ω
i−1+ R
i−1ω
i−1i−1,i= ω
i−1+ ω
i−1,iArticulation prismatique:
Vitesse des segments d’un robot
L’orientation du repère
i
par rapport au repèrei
– 1 ne change pas en déplaçant le segmenti
, donc:Segment
i
Art.
i
Art.
i
+ 1 Repèrei
– 1Repère
i
d
iω
i−1,i= 0
En outre, la vitesse linéaire est:
v
i−1,i= ˙ d
iz
i−1où est le vecteur unitaire de l’axe de l’articulation
z
i−1i z
i−1p
ip
i−1r
i−1,iVitesse des segments d’un robot
Donc on a trouvé les équations suivantes pour une articulation prismatique:
Repère
i
– 1 Repèrei
d
iω
i= ω
i−1p ˙
i= ˙ p
i−1+ ˙ d
iz
i−1+ ω
i× r
i−1,iz
i−1Segment
i
Art.
i
Art.
i
+ 1p
ip
i−1r
i−1,iArticulation rotoïde:
Vitesse des segments d’un robot
Pour la vitesse angulaire, on a que:
Repère
i
– 1 Repèrei
θ
itandis que pour la vitesse linéaire:
ω
i−1,i= ˙ θ
iz
i−1v
i−1,i= ω
i−1,i× r
i−1,ien raison de la rotation du repère
i
par rapport au repère i – 1 induite par le mouvement du segmenti
Segment i
Segment
i
Art.
i
Art.
i
+ 1p
ip
i−1r
i−1,iDonc on a trouvé les équations suivantes pour une articulation rotoïde:
ω
i= ω
i−1+ ˙ θ
iz
i−1p ˙
i= ˙ p
i−1+ ω
i× r
i−1,iNoter que pour la 2e équation, nous avons utilisé:
ω
i−1,i× r
i−1,i+ ω
i−1× r
i−1,i= (ω
i−1,i+ ω
i−1) × r
i−1,i= ω
i× r
i−1,iVitesse des segments d’un robot
Segment
i
Art.
i
Art.
i
+ 1 Repèrei
– 1Repère
i
θ
i Segment ip
ip
i−1r
i−1,iArticulation prismatique:
Calcul du jacobien
Pour calculer le jacobien géométrique, il convient de procéder séparément pour les vitesses linéaires et angulaires
• Pour la contribution à la vitesse linéaire, on peut écrire la dérivée de
par rapport au temps comme:
p
e(q)
p ˙
e=
n i=1∂ p
e∂ q
iq ˙
i=
n i=1j
Piq ˙
ij
Piq ˙
i : contribution de la vitesse de l’articulationi
à la vitesse linéaire de l’effecteur lorsque toutes les autres articulations sont immobilesSi l’articulation
i
est prismatique ( ):q
i= d
ij
Piq ˙
i= ˙ d
iz
i−1et donc:
j
Pi= z
i−1Articulation rotoïde:
Si l’articulation
i
est rotoïde ( ), en observant que la contribution à la vitesse linéaire doit être calculée par rapport à l’origine du repère “e
” de l’effecteur, nous avons:et donc:
Calcul du jacobien
q
i= θ
ij
Piq ˙
i= ω
i−1,i× r
i−1,e= ˙ θ
iz
i−1× (p
e− p
i−1) j
Pi= z
i−1× (p
e− p
i−1)
p
i−1p
er
i−1,eArticulation prismatique:
Si l’articulation
i
est rotoïde:et donc:
Calcul du jacobien
• Pour la contribution à la vitesse angulaire, on a:
ω
e= ω
n=
n i=1ω
i−1,i=
n i=1j
Oiq ˙
ij
Oiq ˙
iOn peut encore caractériser les termes séparément.
Si l’articulation
i
est prismatique:j
Oiq ˙
i= 0
et donc:
j
Oi= 0
Articulation rotoïde:
j
Oiq ˙
i= ˙ θ
iz
i−1j
Oi= z
i−1Calcul du jacobien
Conclusion:
Le jacobien peut être partitionné en vecteurs colonnes , de la manière suivante:
J j
Pi, j
Oi∈ R
3×1J =
j
P1j
P2· · · j
Pnj
O1j
O2· · · j
On∈ R
6×noù, pour :
j
Pij
Oi=
⎧ ⎪
⎪ ⎪
⎪ ⎪
⎪ ⎨
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎩
z
i−10 si l’articulation est prismatique z
i−1× (p
e− p
i−1)
z
i−1si l’articulation est roto¨ıde
Cette expression permet de calculer le jacobien d’un manipulateur d’une façon simple et systématique à partir du modèle géométrique direct En effet, sont des fonctions des variables articulaires
z
i−1, p
e, p
i−1J =
J
PJ
Osi l’articulation est prismatique
si l’articulation est rotoïde
i ∈ {1, . . . , n}
• est donné par la 3e colonne de la matrice de rotation
Remarque: les équations précédentes permettent de calculer le jacobien géométrique par rapport au repère de la base (le repère “0”)
z
i−1R
0i−1• est donné par les trois premiers éléments de la 4e colonne de la matrice de transformation
p
eT
0e• est donné par les trois premiers éléments de la 4e colonne de la matrice de transformation
p
i−1T
0i−1• Si on veut répresenter le jacobien dans un repère différent “
”, il suffit de connaître la matrice de rotation relative
R
u• La relation entre les vitesses dans les deux repères est donc:
p ˙
ueω
ue=
R
u0 0 R
up ˙
eω
e=
R
u0
0 R
uJ q ˙
J
u : jacobien géométrique dans le repère “ ”Calcul du jacobien
u
u
Calcul du jacobien d’un manipulateur
Exemples
1 - Manipulateur planaire à 3 segments
θ
1θ
2θ
3Manipulateur planaire à 3 segments
Trois articulations rotoïdes. Le jacobien est donc:
J(q) =
z
0× (p
3− p
0) z
1× (p
3− p
1) z
2× (p
3− p
2)
z
0z
1z
2Les vecteurs de position des segments du robot sont:
p
0=
⎡
⎢ ⎣ 0 0 0
⎤
⎥ ⎦ , p
1=
⎡
⎢ ⎣
a
1cos θ
1a
1sin θ
10
⎤
⎥ ⎦ , p
2=
⎡
⎢ ⎣
a
1cos θ
1+ a
2cos(θ
1+ θ
2) a
1sin θ
1+ a
2sin(θ
1+ θ
2)
0
⎤
⎥ ⎦
p
3=
⎡
⎢ ⎣
a
1cos θ
1+ a
2cos(θ
1+ θ
2) + a
3cos(θ
1+ θ
2+ θ
3) a
1sin θ
1+ a
2sin(θ
1+ θ
2) + a
3sin(θ
1+ θ
2+ θ
3)
0
⎤
⎥ ⎦
D’autre part, les vecteurs unitaires des axes des articulations sont (les axes sont tous parallèles à l’axe
z
0):z
0= z
1= z
2=
0 0 1
T∈ R
6×3Manipulateur planaire à 3 segments
Conclusion:
Remarque:
• Seulement les trois lignes du jacobien différentes de zéro sont importantes.
Elles sont relatives aux composantes de la vitesse linéaire le long des axes
x
0 ety
0, et à la composante de la vitesse angulaire autour de l’axez
0• En effet, 3 DDL permettent de spécifier au maximum 3 variables de l’effecteur: sont toujours zéro pour ce manipulateur
J =
⎡
⎢ ⎢
⎢ ⎢
⎢ ⎢
⎢ ⎢
⎣
−a
1s
1− a
2s
12− a
3s
123−a
2s
12− a
3s
123−a
3s
123a
1c
1+ a
2c
12+ a
3c
123a
2c
12+ a
3c
123a
3c
1230 0 0
0 0 0
0 0 0
1 1 1
⎤
⎥ ⎥
⎥ ⎥
⎥ ⎥
⎥ ⎥
⎦
v
z, ω
x, ω
y2 - Manipulateur anthropomorphe
θ
1θ
2θ
3a
3Manipulateur anthropomorphe
Trois articulations rotoïdes. Le jacobien est donc encore:
J(q) =
z
0× (p
3− p
0) z
1× (p
3− p
1) z
2× (p
3− p
2)
z
0z
1z
2Cette fois-ci les vecteurs de position des segments du robot sont:
et les vecteurs unitaires des axes des articulations rotoïdes sont:
p
0= p
1=
⎡
⎢ ⎣ 0 0 0
⎤
⎥ ⎦ , p
2=
⎡
⎢ ⎣
a
2cos θ
1cos θ
2a
1sin θ
1cos θ
2a
2sin θ
2⎤
⎥ ⎦ , p
3=
⎡
⎢ ⎣
cos θ
1(a
2cos θ
2+ a
3cos(θ
2+ θ
3)) sin θ
1(a
2cos θ
2+ a
3cos(θ
2+ θ
3))
a
2sin θ
2+ a
3sin(θ
2+ θ
3)
⎤
⎥ ⎦
z
0=
⎡
⎢ ⎣ 0 0 1
⎤
⎥ ⎦ , z
1= z
2=
⎡
⎢ ⎣
sin θ
1− cos θ
10
⎤
⎥ ⎦
Manipulateur anthropomorphe
Conclusion:
Remarque:
• Seulement 3 des 6 lignes du jacobien sont linéairement indépendantes
• La matrice
J =
⎡
⎢ ⎢
⎢ ⎢
⎢ ⎢
⎣
−s
1(a
2c
2+ a
3c
23) −c
1(a
2s
2+ a
3s
23) −a
3c
1s
23c
1(a
2c
2+ a
3c
23) −s
1(a
2s
2+ a
3s
23) −a
3s
1s
230 a
2c
2+ a
3c
23a
3c
230 s
1s
10 −c
1−c
11 0 0
⎤
⎥ ⎥
⎥ ⎥
⎥ ⎥
⎦
J
P=
⎡
⎣ −s
1(a
2c
2+ a
3c
23) −c
1(a
2s
2+ a
3s
23) −a
3c
1s
23c
1(a
2c
2+ a
3c
23) −s
1(a
2s
2+ a
3s
23) −a
3s
1s
230 a
2c
2+ a
3c
23a
3c
23⎤
⎦
décrit la rélation entre les vitesses des articulations et la vitesse linéaire de l’effecteur
• Ce manipulateur ne permit pas une vitesse angulaire arbitraire. En effet, les deux composantes ne sont pas indépendantes:
ω
x, ω
yω
ys
1= −ω
xc
1p ˙
eq ˙
3 - Manipulateur Stanford
θ
1θ
2θ
4θ
5θ
6Manipulateur Stanford
Le jacobien est donc:
J =
z0 ×(p6 −p0) z1 ×(p6 −p1) z2 z3 ×(p6 −p3) z4 ×(p6 −p4) z5 ×(p6 −p5)
z0 z1 0 z3 z4 z5
Les vecteurs de position des segments du robot sont:
p
0= p
1=
⎡
⎢ ⎣ 0 0 0
⎤
⎥ ⎦ , p
3= p
4= p
5=
⎡
⎢ ⎣
c
1s
2d
3− s
1d
2s
1s
2d
3+ c
1d
2c
2d
3⎤
⎥ ⎦
Segm.
a
iα
id
i θi1 0 π/2 0 θ1 2 0 π/2
d
2* θ23 0 0
d
3 04 0 π/2 0 θ4 5 0 π/2 0 θ5 6 0 0
d
6* θ6Cinq articulations rotoïdes et une articulation prismatique (la 3e):
Il est la combinaison d’un manipulateur sphérique et d’un poignet de type rotule
q = [θ
1, θ
2, d
3, θ
4, θ
5, θ
6]
TEnfin, les vecteurs unitaires des axes des articulations sont:
z
0=
⎡
⎢ ⎣ 0 0 1
⎤
⎥ ⎦ , z
1=
⎡
⎢ ⎣
−s
1c
10
⎤
⎥ ⎦ , z
2= z
3=
⎡
⎢ ⎣
c
1s
2s
1s
2c
2⎤
⎥ ⎦
z
4=
⎡
⎢ ⎣
−c
1c
2s
4− s
1c
4−s
1c
2s
4+ c
1c
4s
2s
4⎤
⎥ ⎦ , z
5=
⎡
⎢ ⎣
c
1(c
2c
4s
5+ s
2c
5) − s
1s
4s
5s
1(c
2c
4s
5+ s
2c
5) + c
1s
4s
5−s
2c
4s
5+ c
2c
5⎤
⎥ ⎦
et
p
6=
⎡
⎢ ⎣
c
1s
2d
3− s
1d
2+
c
1(c
2c
4s
5+ s
2c
5) − s
1s
4s
5d
6s
1s
2d
3+ c
1d
2+
s
1(c
2c
4s
5+ s
2c
5) + c
1s
4s
5d
6c
2d
3+ (−s
2c
4s
5+ c
2c
5)d
6⎤
⎥ ⎦
Manipulateur Stanford
et
Singularités cinématiques
• Le jacobien définit une application linéaire
v
e= J(q) ˙ q
entre le vecteur des vitesses des articulations et le vecteur des
vitesses de l’effecteur
q ˙
Les configurations où le jacobien n’est pas de plein rang sont appelées singularités cinématiques du robot
Trouver le singularities d’un manipulateur est important, car:
1. Les singularités sont des configurations où la mobilité du robot est réduite, c’est-à-dire il n’est pas possible d'imposer un mouvement
arbitraire à l'effecteur. Au voisinage des positions singulières, le robot perd des degrés de liberté
2. Si le robot est sur une singularité, on peut avoir une infinité de solutions au problème géométrique inverse
3. Au voisinage d'une singularité, des petites vitesses dans l’espace
opérationnel peuvent produire des grandes vitesses dans l'espace articulaire
v
e= [ ˙ p
Te, ω
Te]
Tq J(q)
Il y a deux types de singularités:
1) Les singularités aux limites du volume de travail qui apparaissent lorsque le bras est complètement étendu (ou rétracté)
• Elles peuvent être évitées: elles ne constituent pas un véritable problème en pratique
Remarque:
Les configurations d’un robot qui sont singulières pour le MGI les sont aussi pour le jacobien
2) Les singularités à l’intérieur du volume de travail qui apparaissent lors de l’alignement de deux ou plus axes du robot, ou pour des
configurations particulières de l’effecteur
• Elles sont critiques car on peut les rencontrer partout dans le volume de travail
Singularités cinématiques
On consider seulement les composantes de la vitesse linéaire de l’effectuer dans le plan
Le jacobien est donc la matrice 2 × 2:
J =
−a
1s
1− a
2s
12−a
2s
12a
1c
1+ a
2c
12a
2c
12Pour étudier le rang du jacobien, on peut calculer son déterminant
˙
p
x, p ˙
y˙
p
x, p ˙
yRappel que pour une matrice :
det
a b c d
= a d − c b
Singularités cinématiques
a b c d
∈ R2×2
a
2a
1 Exemple [Manipulateur planaire à 2 segments]Exemple [Manipulateur planaire à 2 segments]
θ
1θ
2= 0
• On trouve que:
det(J) = a
1a
2sin θ
2• Si le determinant est zéro lorsque:
a
1, a
2= 0
θ
2= 0, θ
2= π
et la valeur de est irrevelante pour étudier les configurations singulières
θ
1(bras complètement étendu ou rétracté)
• On a trouvé des singularités de type 1 (à la limite du volume de travail)
a
1a
2Singularités cinématiques
Exemple [Manipulateur planaire à 2 segments]
• Si on analyse le mouvement différentiel pour , on observe que les deux colonnes du jacobien:
• Cela veut dire que les composantes de la vitesse de l’effecteur ne sont pas indépendantes
deviennent parallèles et le rang du jacobien devient 1
θ
2= 0
˙
p
x, p ˙
y[−(a
1+ a
2)s
1(a
1+ a
2)c
1]
T, [−a
2s
1a
2c
1]
TSingularités cinématiques
θ
1θ
2= 0
a
1a
2Chapitre 3 : Modélisation d’un Robot
2.2 Cinématique
• Vitesse d’un solide
• Vecteur vitesse de rotation
• Mouvement rigide
• Torseur cinématique
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
• Modèle cinématique direct
• Modèle cinématique inverse 3.3 Modèle dynamique
• Formulation de Lagrange
Plan du cours
Modèle cinématique inverse
Modèle cinématique inverse: déterminer les vitesses des articulations d’un robot afin d’atteindre une vitesse (linéaire et angulaire) de l’effecteur donnée
1. Cas régulier: Si le jacobien est carré et de plein rang, on a que:
q ˙ = J
−1v
eOn peut intégrer cette équation différentielle en temps discret en utilisant, par exemple la méthode d’intégration d’Euler. Si le pas d’intégration et les positions et vitesses au temps sont connues, les positions des articulations au temps peuvent être calculées via:
Δ t t
kt
k+1= t
k+ Δ t
q(t
k+1) = q(t
k) + J
−1(q(t
k))v
e(t
k)Δ t
• Note que si
est connu, la position des articulations peut être obtenue par integration des vitesses articulaires dans le temps:
q(t) =
t0
q(τ ˙ ) dτ + q(0)
q(0)
Ceci permet ainsi de trouver une solution du problème géométrique inverse
Plusieurs méthodes de résolution sont envisageables:
a) Ajouter
relations supplémentaires pour que
devienne carrée (par ex. blocage d’articulation, contrainte d’optimisation)
b) Trouver une solution particulière en ne considérant que
articulations
(au lieu de
), puis calculer les valeurs de toutes les articulations en prenant en compte un critère d’optimisation
c) Utiliser la méthode de résolution basée sur la notion de pseudo-inverse 2. Cas redondant: si le robot est cinématiquement redondant,
où
est le nombre de DDL du robot et
le nombre de variables de l’espace operationnel nécessaires à spécifier une tâche donnée, le jacobien a plus de colonnes que de lignes et a un nombre infini de solutions.
représente le degré de redondance du robot
ve = J(q) ˙q
Modèle cinématique inverse
n
J
n
r r < n
r n − r
n − r
c) Résolution basée sur la notion de pseudo-inverse. On reformule le problème comme un problème d’optimisation linéaire sous constraintes
Modèle cinématique inverse
c) Résolution basée sur la notion de pseudo-inverse. On reformule le problème comme un problème d’optimisation linéaire sous constraintes
où est la pseudo-inverse de Moore-Penrose (à droite) de , à savoir:
J
†J J
†= J
T(J J
T)
−1• Les solutions du problème d’inversion sont:
q ˙ = J
†v
e+ (I
n− J
†J) ˙ q
0Modèle cinématique inverse
c) Résolution basée sur la notion de pseudo-inverse. On reformule le problème comme un problème d’optimisation linéaire sous constraintes
où est la pseudo-inverse de Moore-Penrose (à droite) de , à savoir:
J
†J J
†= J
T(J J
T)
−1• Les solutions du problème d’inversion sont:
q ˙ = J
†v
e+ (I
n− J
†J) ˙ q
0• Le 1e terme, , donne une solution minimisant (localement) la norme du vecteur des vitesses articulaires, à savoir
• Le 2e terme, , s’appelle solution homogène. Le vecteur de vitesses articulaires n’est pas unique: il peut être utilisé pour satisfaire des contraintes supplémentaires (avec une priorité secondaire par rapport à la contrainte cinématique primaire)
J
†v
e(I
n− J
†J) ˙ q
0Modèle cinématique inverse
q ˙
0I
n− J
†J
permet de projeter sur le pour ne pas violerq ˙
0ker(J) v
e= J(q) ˙ q
En fait, le noyau de , , est le sous-espace des vitesses articulaires qui n’engendrent aucune vitesse sur l’effecteur, pour une posture donnée du robot
J ker(J)
q ˙
Modèle cinématique inverse
Problème: comment spécifier pour une utilisation convenable des DDL redondants du robot ?
• Choix typique: vecteur gradient d’une fonction scalaire dépendant de :
où
q ˙
0q ˙
0= k
0∂ ω(q)
∂ q
Tω(q) k
0> 0
: fonction potentiel (ou de coût)
Fonctions possibles:
ω(q)
1. Mesure de manipulabilité:
w (q) =
det
J(q) J
T(q)
Elle est zéro à une singularité. Ainsi, si on maximize cette mesure la redondance du robot est utilisée pour s’écarter des singularités
q
: paramètre
Modèle cinématique inverse
2. Distance des butées mécaniques:
où sont les valeurs maximales et minimales de l’articulation
et est sa valeur moyenne. Ici, grâce à la redondance, on s’assure que la distance de chaque articulation à sa position moyenne est minimale
q
iw(q) = − 1 2n
n i=1q
i− q
iq
iM− q
im 2q
iM, q
im3. Distance d’un obstacle:
w(q) = min
p,o
p(q) − o
2où
: position d’un point sur l’obstacle (le centre pour des obstacles sphériques)
: position d’un point générique sur la structure du robot
p o
i
La redondance peut être utilisée pour eviter les collisions entre le manipulateur et un obstacle:
Modèle cinématique inverse
• Pour résoudre le problème d’inversion du modèle cinématique au voisinage d'une singularité, on peut recourir à une inversion par moindres carrés amortis:
3. Cas singulier:
• Les solutions précéndentes (cas régulier et cas redondant) peuvent être calculées seulement si le jacobien est de plein rang
• Ces solutions perdent toute signification lorsque le manipulateur se trouve dans une configuration singulaire. Dans ce cas, le système:
contient des équations linéairement dépendantes
où
est un factuer d’amortissement qui rend l’inversion mieux conditionnée du point de vue numérique. Noter que si
v
e= J q ˙
k ≥ 0
k = 0
J
= J
T(JJ
T+ k
2I)
−1J
= J
†Statique
Objectif de la statique: déterminer la rélation
entre les forces généralisées appliquées sur l’effecteur et les forces généralisées appliquées sur les
articulations (forces pour les art. prismatiques et couples pour les art. rotoïdes) avec les manipulateur dans une configuration d’équilibre statique
Soit:
: vecteur des forces généralisées exercées par les actionneurs sur les articulations du robot
: vecteur des forces généralisées agissant sur l’effecteur, où
est la dimension de l’espace opérationnel d’intêret
Conclusion: la transposée du jacobien géométrique d’un manipulateur met en relation les forces sur l’effecteur avec les forces sur les articulations
L’application du “Principe des Travaux Virtuels”, nous permet d’écrire l’équation:
τ = J
T(q) γ
eτ1 τ2
τ3
γ
eτ ∈ R
nr
γ
e∈ R
r• Si la pose de l’effecteur du robot est spécifiée avec un nombre minimal de paramètres dans l’espace opérationnel, nous pouvons obtenir analytiquement l’équation de la cinématique en dérivant le MGD par rapport au temps:
où
: origine du repère de l’effecteur par rapport à la base
• Le jacobien analytique est différent du jacobien géométrique car la vitesse angulaire de l’effecteur par rapport à la base, , ne coïncide pas avec , en général
x ˙
e=
p ˙
eφ ˙
e=
J
P(q)
J
φ(q) q ˙ = J
A(q) ˙ q p
eφ
e : représentation minimale de l’orientation de l’effecteur (3 variables, par ex. les angles de Euler) dans l’espace opérationnelω
eφ˙e
J
AJ
Pour les algorithmes qui permettent de calculer le modèle cinématique inverse basés sur le jacobien analytique, voir la Séct. 3.7 du livre de Siciliano, Sciavicco, Villani et Oriolo.