UPJV, Département EEA M1 EEAII
Parcours ViRob
Fabio MORBIDI
Laboratoire MIS
Équipe Perception et Robotique E-mail: fabio.morbidi@u-picardie.fr
Année Universitaire 2015/2016
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• Rotation et représentations de la rotation
• Attitude et matrices homogènes
Plan du cours
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
Modèle cinématique
:il 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 Analyser 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 à l'effecteur et les forces résultantes au niveau des articulations
o Dériver les équations dynamiques du mouvement d’un robot o Concevoir des stratégies de contrôle 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 n articulations. Nous pouvons écrire le modèle géométrique direct:
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 en fonction des vitesses des articulations p ˙
eω
eq ˙
Jacobien d’un manipulateur
Rappel: Les trois composantes de représentent les composantes
de la vitesse angulaire de l’effectuer par rapport au repère de la base ω
eLes 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
Jacobien d’un manipulateur
ω e = J O (q) ˙ q
p ˙ e = J P (q) ˙ q
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, partie 2
J =
J
PJ
O∈ R
6×nJacobien d’un manipulateur
q
Vitesse des segments d’un robot
Soient:
: positions des origines des repères
i
– 1 eti
: position de l’origine du repère
i
par rapport au repèrei
– 1 exprimée dans le repère i – 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
n
sont les repères de la base et de l’effecteur du robot.On va omettre l’index “0” du repère de la base
On trouve que:
Vitesse des segments d’un robot
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, partie 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 du i−1 repère i – 1 par rapport au repère 0Pour la vitesse angulaire du segment
i
, on part de la formule de composition de deux rotations:Vitesse des segments d’un robot
Si on calcule la dérivée par rapport au temps de cette équation, et on utilise les formules vues dans le Chapitre 2, partie 2:
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 à droit 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é générale: ):
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
3Donc 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:
ω
i= ω
i−1+ R
i−1ω
i−1i−1,i= ω
i−1+ ω
i−1,iRemarque: 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 qu’on obtient des expressions différentes pour:
en fonction du type d’articulation
i
(prismatique ou rotoïde)Articulation 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−1Articulation prismatique:
Vitesse des segments d’un robot
Donc on a trouvé les équations suivantes:
Segment
i
Art.
i
Art.
i
+ 1 Repèrei
– 1Repère
i
d
iω
i= ω
i−1p ˙
i= ˙ p
i−1+ ˙ d
iz
i−1+ ω
i× r
i−1,iz
i−1Articulation rotoïde:
Vitesse des segments d’un robot
Pour la vitesse angulaire, on a:
Segment
i
Art.
i
Art.
i
+ 1 Repèrei
– 1Repère
i
θ
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
Articulation rotoïde:
Vitesse des segments d’un robot
Segment
i
Art.
i
Art.
i
+ 1 Repèrei
– 1Repère
i
θ
iDonc on a trouvé les équations suivantes:
ω
i= ω
i−1+ ˙ θ
iz
i−1p ˙
i= ˙ p
i−1+ ω
i× r
i−1,ioù on a utilisé (pour la 2e équation):
ω
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,i Segment 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 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)
Articulation 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ù
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
Calcul du jacobien
• est donné par la troisième 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 quatrième colonne de la matrice de transformation
p
eT
0e• est donné par les trois premiers éléments de la quatrième colonne de la matrice de transformation
p
i−1T
0i−1• Si on veut répresenter le jacobien dans un repère différent “
u
”, il suffit de connaître la matrice de rotation relativeR
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. “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
⎤
⎥ ⎦
Les vecteurs unitaires des axes des articulations sont (les axes sont tous parallèles à l’axe z0):
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 x0 et y0, et à la composante de la vitesse angulaire autour de l’axe z0
• 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. ai
α
id
i θi1 0 π/2 0 θ1 2 0 π/2
d
2* θ2 3 0 0d
3 04 0 _ π/2 0 θ4 5 0 π/2 0 θ5 6 0 0
d
6* θ6Cinq articulations rotoïdes et une articulation prismatique:
Combinaison d’un manipulateur sphérique et d’un poignet de type rotule
q = [θ
1, θ
2, d
3, θ
4, θ
5, θ
6]
TManipulateur Stanford
Enfin, 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⎤
⎥ ⎦
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’a pas rang plein sont appelées singularités cinématiques du robot
Trouver le singularities d’un manipulateur est important parce que:
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 à 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]
TSingularités cinématiques
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
Remarque: les configurations d’un robot qui sont singulières pour le modèle géométrique inverse 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
Exemple [Manipulateur planaire à deux segments]
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
12• Pour analyser le rang du jacobien, on peut calculer son déterminant
˙
p
x, p ˙
ya
2˙
p
x, p ˙
yRappel que:
det
a b c d
= a d − c b
Singularités cinématiques
Exemple [Manipulateur planaire à deux 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
a
1a
2Singularités cinématiques
Exemple [Manipulateur planaire à deux segments]
θ
1θ
2= 0
• 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]
Ta
1a
2Modèle cinématique inverse
Objectif : déterminer les vitesses des articulations du manipulateur afin d’atteindre une vitesse de l’effecteur donnée
1. Cas régulier: Si le jacobien est carré (
) et il a rang plein, on trouve que:
q ˙ = J
−1v
e• On 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)
n × n
q(0)
Ceci permet ainsi de trouver une solution du problème géométrique inverse
Modèle cinématique inverse
Plusieurs méthodes de résolution sont envisageables:
a) Ajouter
n – r
relations supplémentaires pour queJ
devienne carrée (blocage d’articulation, contrainte d’optimisation)b) Trouver une solution particulière en ne considérant que
r
articulations(au lieu de
n
), puis calculer les valeurs de toutes les articulations en prenant en compte un critère d’optimisationc) Utiliser la méthode de résolution basée sur la notion de pseudo-inverse 2. Cas redondant: si le robot est redondant,
r
<n
oùn
est le nombre de DDL du robot etr
le nombre de variables dans l’espace operationnel nécessaires àspécifier une tâche assignée, le jacobien a plus colonnes que lignes et a un nombre infini de solutions.
n – r
représente le degré de redondance du robotve = J(q) ˙q
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 (droite) de Moore-Penrose de :
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 premier terme, , donne une solution minimisant (localement) la norme du vecteur des vitesses articulaires
• Le deuxième terme, , s’appelle terme d’optimisation.
Le vecteur n’est pas unique. Il peut être utilisé pour satisfaire des contraintes d’optimisation supplémentaires
q ˙
0J
†v
e(I
n− J
†J) ˙ q
0Modè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
i
et est la valeur moyenne. Ici, grâce à la redondance, on s’assure que la distance de chaque articulation à sa position moyenne est minimaleq
iw(q) = − 1 2n
n i=1q
i− q
iq
iM− q
im 2q
iM, q
im3. Distance d’un obstacle. La redondance est utilisée pour eviter les collisions entre le manipulateur et 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
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 a rang plein
• 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
J
∗= J
T(JJ
T+ k
2I
m)
−1où
k
est un factuer d’amortissement qui rend l’inversion mieux conditionnée du point de vue numérique (m
est le nombre de variables dans l’espaceoperationnel)
v
e= J q ˙
• En pratique, pour avoir des algorithmes d’inversion plus robustes, on préfére travailler avec le jacobien analytique :
où
: origine du repère de l’effecteur par rapport à la base
• Le jacobien analytique est différent du jacobien géométrique parce que 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. angles de Euler) dans l’espace opérationnelω
eφ˙e
J
J
APour plus de détails sur les algorithmes pour le calcul du modèle cinématique inverse basés sur le jacobien analytique (la littérature sur ce sujet est très vaste), voir la Séct. 3.7 du livre de Siciliano, Sciavicco, Villani et Oriolo
J
AModèle cinématique inverse
Statique
Objectif de la statique: déterminer la rélation entre les forces généralisées appliquées à l’effecteur et les forces généralisées appliquées aux 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 couples exercés par les
actionneurs sur les articulations du robot
: vecteur des forces agissant sur l’effecteur, où
r
est la dimension de l’espace opérationnel d’intêretConclusion: la transposée du jacobien géométrique d’un manipulateur met en relation les forces sur l’effecteur avec les couples sur les articulations L’application du “Principe des Travaux Virtuels”, nous permet d’écrire l’équation:
τ = J
T(q) γ
eτ1 τ2
τ3
γe