• Aucun résultat trouvé

UPJV, Département EEA M1 EEAII

N/A
N/A
Protected

Academic year: 2022

Partager "UPJV, Département EEA M1 EEAII "

Copied!
47
0
0

Texte intégral

(1)

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

(2)

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

(3)

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

(4)

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

θ ˙

4

d ˙

3

p ˙

e

ω

e

p ˙

e

ω

e

q ˙

q ˙ −→ ( ˙ p

e

, ω

e

)

q

q ˙ = [ ˙ θ

1

, θ ˙

2

, d ˙

3

, θ ˙

4

, . . .]

T

(5)

Jacobien 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

m

J = F

x =

⎢ ⎣

∂ F1

∂ x1

· · ·

∂ F∂ xn1

.. . . .. .. .

∂ Fm

∂ x1

· · ·

∂ F∂ xmn

⎥ ⎦

F = [F

1

, . . . , F

m

]

T

m × n

(6)

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×3

1

q = [q

1

, . . . , q

n

]

T

est 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

ω

e

q ˙

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 ω

e

n

Jacobien d’un manipulateur

ω

x

, ω

y

, ω

z

p ˙

e

v

x

, v

y

, v

z

(7)

Les relations cherchées sont toutes les deux linéaires par rapport aux vitesses des articulations :

: matrice qui relie la contribution des vitesses des articulations à la vitesse linéaire de l’effecteur p ˙

e

ω

e

q ˙ q ˙

J

P

(q) R

3×n

J

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

(8)

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×n

(9)

Vitesse des segments d’un robot

Soient:

: positions des origines des repères

i

– 1 et

i

exprimées dans le repère 0

: position de l’origine du repère

i

par rapport au repère

i

– 1 exprimée dans le repère

i

– 1

Segment 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

- 1

p

i−1

, p

i

Repère

i

Repère 0

r

i−1i−1,i

Assumptions: 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

i

p

i−1

r

i−1,i

(10)

On trouve que:

p

i

= p

i−1

+ R

i−1

r

i−1i−1,i

Si 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−1

r ˙

i−1i−1,i

+ ω

i−1

× R

i−1

r

i−1i−1,i

= ˙ p

i−1

+ v

i−1,i

+ ω

i−1

× r

i−1,i

v

i−1,i

:

vitesse de l’origine du repère

i

par rapport à l’origine du repère

i

– 1 Remarque: nous avons ainsi trouvé l’expression de la vitesse linéaire du segment

i

en fonction de la vitesse linéaire et angulaire du segment

i

– 1

p ˙

i

= p ˙

i−1

+ v

i−1,i

+ ω

i−1

× r

i−1,i

R

: rotation i−1 du repère i – 1 par rapport au repère 0

Vitesse des segments d’un robot

(11)

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:

:

vitesse angulaire du repère

i

par rapport au repère

i

– 1 exprimée dans le repère

i

– 1

On peut réécrire le 2e terme à droite de l’équation ci-dessus comme

R

i

= R

i−1

R

i−1i

R ˙

i

= S(ω

i

) R

i

= S(ω

i−1

) R

i

+ R

i−1

S(ω

i−1i−1,i

) R

i−1i

S(ω

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−1

S(ω

i−1i−1,i

)R

i−1i

= R

i−1

S(ω

i−1i−1,i

)R

Ti−1

R

i−1

R

i−1i

= S(R

i−1

ω

i−1i−1,i

)R

i

I

3

Vitesse des segments d’un robot

(12)

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 segment

i

– 1 et de

la vitesse angulaire du repère

i

par rapport au repère

i

– 1

p ˙

i

= ˙ p

i−1

+ v

i−1,i

+ ω

i−1

× r

i−1,i

ω

i

= ω

i−1

+ ω

i−1,i

Nous 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,i

(13)

Articulation prismatique:

Vitesse des segments d’un robot

L’orientation du repère

i

par rapport au repère

i

– 1 ne change pas en déplaçant le segment

i

, donc:

Segment

i

Art.

i

Art.

i

+ 1 Repère

i

– 1

Repère

i

d

i

ω

i−1,i

= 0

En outre, la vitesse linéaire est:

v

i−1,i

= ˙ d

i

z

i−1

où est le vecteur unitaire de l’axe de l’articulation

z

i−1

i z

i−1

p

i

p

i−1

r

i−1,i

(14)

Vitesse des segments d’un robot

Donc on a trouvé les équations suivantes pour une articulation prismatique:

Repère

i

– 1 Repère

i

d

i

ω

i

= ω

i−1

p ˙

i

= ˙ p

i−1

+ ˙ d

i

z

i−1

+ ω

i

× r

i−1,i

z

i−1

Segment

i

Art.

i

Art.

i

+ 1

p

i

p

i−1

r

i−1,i

(15)

Articulation rotoïde:

Vitesse des segments d’un robot

Pour la vitesse angulaire, on a que:

Repère

i

– 1 Repère

i

θ

i

tandis que pour la vitesse linéaire:

ω

i−1,i

= ˙ θ

i

z

i−1

v

i−1,i

= ω

i−1,i

× r

i−1,i

en raison de la rotation du repère

i

par rapport au repère i – 1 induite par le mouvement du segment

i

Segment i

Segment

i

Art.

i

Art.

i

+ 1

p

i

p

i−1

r

i−1,i

(16)

Donc on a trouvé les équations suivantes pour une articulation rotoïde:

ω

i

= ω

i−1

+ ˙ θ

i

z

i−1

p ˙

i

= ˙ p

i−1

+ ω

i

× r

i−1,i

Noter 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,i

Vitesse des segments d’un robot

Segment

i

Art.

i

Art.

i

+ 1 Repère

i

– 1

Repère

i

θ

i Segment i

p

i

p

i−1

r

i−1,i

(17)

Articulation 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

i

q ˙

i

=

n i=1

j

Pi

q ˙

i

j

Pi

q ˙

i : contribution de la vitesse de l’articulation

i

à la vitesse linéaire de l’effecteur lorsque toutes les autres articulations sont immobiles

Si l’articulation

i

est prismatique ( ):

q

i

= d

i

j

Pi

q ˙

i

= ˙ d

i

z

i−1

et donc:

j

Pi

= z

i−1

(18)

Articulation 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

= θ

i

j

Pi

q ˙

i

= ω

i−1,i

× r

i−1,e

= ˙ θ

i

z

i−1

× (p

e

p

i−1

) j

Pi

= z

i−1

× (p

e

p

i−1

)

p

i−1

p

e

r

i−1,e

(19)

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=1

j

Oi

q ˙

i

j

Oi

q ˙

i

On peut encore caractériser les termes séparément.

Si l’articulation

i

est prismatique:

j

Oi

q ˙

i

= 0

et donc:

j

Oi

= 0

Articulation rotoïde:

j

Oi

q ˙

i

= ˙ θ

i

z

i−1

j

Oi

= z

i−1

(20)

Calcul du jacobien

Conclusion:

Le jacobien peut être partitionné en vecteurs colonnes , de la manière suivante:

J j

Pi

, j

Oi

R

3×1

J =

j

P1

j

P2

· · · j

Pn

j

O1

j

O2

· · · j

On

R

6×n

où, pour :

j

Pi

j

Oi

=

⎧ ⎪

⎪ ⎪

⎪ ⎪

⎪ ⎨

⎪ ⎪

⎪ ⎪

⎪ ⎪

z

i−1

0 si l’articulation est prismatique z

i−1

× (p

e

p

i−1

)

z

i−1

si 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−1

J =

J

P

J

O

si l’articulation est prismatique

si l’articulation est rotoïde

i ∈ {1, . . . , n}

(21)

•  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−1

R

0i−1

•  est donné par les trois premiers éléments de la 4e colonne de la matrice de transformation

p

e

T

0e

•  est donné par les trois premiers éléments de la 4e colonne de la matrice de transformation

p

i−1

T

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

u

0 0 R

u

p ˙

e

ω

e

=

R

u

0

0 R

u

J q ˙

J

u : jacobien géométrique dans le repère “ ”

Calcul du jacobien

u

u

(22)

Calcul du jacobien d’un manipulateur

Exemples

(23)

1 - Manipulateur planaire à 3 segments

θ

1

θ

2

θ

3

(24)

Manipulateur 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

0

z

1

z

2

Les vecteurs de position des segments du robot sont:

p

0

=

⎢ ⎣ 0 0 0

⎥ ⎦ , p

1

=

⎢ ⎣

a

1

cos θ

1

a

1

sin θ

1

0

⎥ ⎦ , p

2

=

⎢ ⎣

a

1

cos θ

1

+ a

2

cos(θ

1

+ θ

2

) a

1

sin θ

1

+ a

2

sin(θ

1

+ θ

2

)

0

⎥ ⎦

p

3

=

⎢ ⎣

a

1

cos θ

1

+ a

2

cos(θ

1

+ θ

2

) + a

3

cos(θ

1

+ θ

2

+ θ

3

) a

1

sin θ

1

+ a

2

sin(θ

1

+ θ

2

) + a

3

sin(θ

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×3

(25)

Manipulateur 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 et

y

0, et à la composante de la vitesse angulaire autour de l’axe

z

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

1

s

1

a

2

s

12

a

3

s

123

−a

2

s

12

a

3

s

123

−a

3

s

123

a

1

c

1

+ a

2

c

12

+ a

3

c

123

a

2

c

12

+ a

3

c

123

a

3

c

123

0 0 0

0 0 0

0 0 0

1 1 1

⎥ ⎥

⎥ ⎥

⎥ ⎥

⎥ ⎥

v

z

, ω

x

, ω

y

(26)

2 - Manipulateur anthropomorphe

θ

1

θ

2

θ

3

a

3

(27)

Manipulateur 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

0

z

1

z

2

Cette 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

2

cos θ

1

cos θ

2

a

1

sin θ

1

cos θ

2

a

2

sin θ

2

⎥ ⎦ , p

3

=

⎢ ⎣

cos θ

1

(a

2

cos θ

2

+ a

3

cos(θ

2

+ θ

3

)) sin θ

1

(a

2

cos θ

2

+ a

3

cos(θ

2

+ θ

3

))

a

2

sin θ

2

+ a

3

sin(θ

2

+ θ

3

)

⎥ ⎦

z

0

=

⎢ ⎣ 0 0 1

⎥ ⎦ , z

1

= z

2

=

⎢ ⎣

sin θ

1

cos θ

1

0

⎥ ⎦

(28)

Manipulateur anthropomorphe

Conclusion:

Remarque:

•  Seulement 3 des 6 lignes du jacobien sont linéairement indépendantes

•  La matrice

J =

⎢ ⎢

⎢ ⎢

⎢ ⎢

−s

1

(a

2

c

2

+ a

3

c

23

) −c

1

(a

2

s

2

+ a

3

s

23

) −a

3

c

1

s

23

c

1

(a

2

c

2

+ a

3

c

23

) −s

1

(a

2

s

2

+ a

3

s

23

) −a

3

s

1

s

23

0 a

2

c

2

+ a

3

c

23

a

3

c

23

0 s

1

s

1

0 −c

1

−c

1

1 0 0

⎥ ⎥

⎥ ⎥

⎥ ⎥

J

P

=

−s

1

(a

2

c

2

+ a

3

c

23

) −c

1

(a

2

s

2

+ a

3

s

23

) −a

3

c

1

s

23

c

1

(a

2

c

2

+ a

3

c

23

) −s

1

(a

2

s

2

+ a

3

s

23

) −a

3

s

1

s

23

0 a

2

c

2

+ a

3

c

23

a

3

c

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

ω

y

s

1

= −ω

x

c

1

p ˙

e

q ˙

(29)

3 - Manipulateur Stanford

θ

1

θ

2

θ

4

θ

5

θ

6

(30)

Manipulateur 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

1

s

2

d

3

s

1

d

2

s

1

s

2

d

3

+ c

1

d

2

c

2

d

3

⎥ ⎦

Segm.

a

i

α

i

d

i θi

1 0 π/2 0 θ1 2 0 π/2

d

2* θ2

3 0 0

d

3 0

4 0 π/2 0 θ4 5 0 π/2 0 θ5 6 0 0

d

6* θ6

Cinq 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

]

T

(31)

Enfin, les vecteurs unitaires des axes des articulations sont:

z

0

=

⎢ ⎣ 0 0 1

⎥ ⎦ , z

1

=

⎢ ⎣

−s

1

c

1

0

⎥ ⎦ , z

2

= z

3

=

⎢ ⎣

c

1

s

2

s

1

s

2

c

2

⎥ ⎦

z

4

=

⎢ ⎣

−c

1

c

2

s

4

s

1

c

4

−s

1

c

2

s

4

+ c

1

c

4

s

2

s

4

⎥ ⎦ , z

5

=

⎢ ⎣

c

1

(c

2

c

4

s

5

+ s

2

c

5

) s

1

s

4

s

5

s

1

(c

2

c

4

s

5

+ s

2

c

5

) + c

1

s

4

s

5

−s

2

c

4

s

5

+ c

2

c

5

⎥ ⎦

et

p

6

=

⎢ ⎣

c

1

s

2

d

3

s

1

d

2

+

c

1

(c

2

c

4

s

5

+ s

2

c

5

) s

1

s

4

s

5

d

6

s

1

s

2

d

3

+ c

1

d

2

+

s

1

(c

2

c

4

s

5

+ s

2

c

5

) + c

1

s

4

s

5

d

6

c

2

d

3

+ (−s

2

c

4

s

5

+ c

2

c

5

)d

6

⎥ ⎦

Manipulateur Stanford

et

(32)

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

]

T

q J(q)

(33)

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

(34)

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

1

s

1

a

2

s

12

−a

2

s

12

a

1

c

1

+ a

2

c

12

a

2

c

12

Pour étudier le rang du jacobien, on peut calculer son déterminant

˙

p

x

, p ˙

y

˙

p

x

, p ˙

y

Rappel que pour une matrice :

det

a b c d

= a d c b

Singularités cinématiques

a b c d

R2×2

a

2

a

1 Exemple [Manipulateur planaire à 2 segments]

(35)

Exemple [Manipulateur planaire à 2 segments]

θ

1

θ

2

= 0

•  On trouve que:

det(J) = a

1

a

2

sin θ

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

1

a

2

Singularités cinématiques

(36)

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

2

s

1

a

2

c

1

]

T

Singularités cinématiques

θ

1

θ

2

= 0

a

1

a

2

(37)

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

(38)

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

−1

v

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

k

t

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) =

t

0

q(τ ˙ ) + q(0)

q(0)

Ceci permet ainsi de trouver une solution du problème géométrique inverse

(39)

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,

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

(40)

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

(41)

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

Modèle cinématique inverse

(42)

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

0

Modèle cinématique inverse

q ˙

0

I

n

J

J

permet de projeter sur le pour ne pas violer

q ˙

0

ker(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 ˙

(43)

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 :

q ˙

0

q ˙

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

(44)

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

i

w(q) = 1 2n

n i=1

q

i

q

i

q

iM

q

im

2

q

iM

, q

im

3.  Distance d’un obstacle:

w(q) = min

p,o

p(q) o

2

: 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:

(45)

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

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

2

I)

−1

J

= J

(46)

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

n

r

γ

e

R

r

(47)

•  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:

: 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

A

J

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.

Jacobien analytique

x

e

= [p

Te

, φ

Te

]

T

= f (q)

J

A

(q) = f (q)

q

: jacobien analytique

Références

Documents relatifs

•  Plus la manœuvrabilité d’un robot mobile est élevée, moins le robot est commandable aisément, ne serait-ce que pour un.

•  Chaque fois que une charge utile plus importante est demandée, la structure mécanique nécessitera d’une plus grande rigidité pour maintenir une précision de

•  Considérons les rotations qu’on peut obtenir à partir de rotations élémentaires autour des axes x , y , z. •  Ces rotations sont positives s’ils sont faites

•  [Rotation] Composants des vecteurs unitaires du repère attaché au solide avec origine O’, par rapport au repère fixe (l’attitude du solide)...

•  Les informations proprioceptives (issues du S.M.A.) sont généralement définies dans des repères liés aux différents segments du robot. •  La position à atteindre

•  Elle peut être mise en échec chaque fois que les points de la trajectoire engendrée ne sont pas dans le volume accessible du robot ou chaque fois que la trajectoire impose

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

Statistiques annuelles de l’IFR (pour les robots de service et les robots industriels).. World Robotics 2016. •  Un autre secteur à forte croissance sera le secteur