• 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!
44
0
0

Texte intégral

(1)

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

(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

•  Rotation et représentations de la rotation

•  Attitude et matrices homogènes

(3)

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

(4)

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

θ ˙

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

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 n articulations. Nous pouvons écrire le modèle géométrique direct:

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 en fonction des vitesses des articulations p ˙

e

ω

e

q ˙

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 ω

e

(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

Jacobien d’un manipulateur

ω e = J O (q) ˙ q

p ˙ e = J P (q) ˙ q

(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, partie 2

J =

J

P

J

O

R

6×n

Jacobien d’un manipulateur

q

(9)

Vitesse des segments d’un robot

Soient:

: positions des origines des repères

i

– 1 et

i

: 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

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

(10)

On trouve que:

Vitesse des segments d’un robot

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, partie 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 du i−1 repère i – 1 par rapport au repère 0

(11)

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

:

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 à droit 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é générale: ):

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

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

ω

i

= ω

i−1

+ R

i−1

ω

i−1i−1,i

= ω

i−1

+ ω

i−1,i

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 qu’on obtient des expressions différentes pour:

en fonction du type d’articulation

i

(prismatique ou rotoïde)

(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

(14)

Articulation prismatique:

Vitesse des segments d’un robot

Donc on a trouvé les équations suivantes:

Segment

i

Art.

i

Art.

i

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

(15)

Articulation rotoïde:

Vitesse des segments d’un robot

Pour la vitesse angulaire, on a:

Segment

i

Art.

i

Art.

i

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

(16)

Articulation rotoïde:

Vitesse des segments d’un robot

Segment

i

Art.

i

Art.

i

+ 1 Repère

i

– 1

Repère

i

θ

i

Donc on a trouvé les équations suivantes:

ω

i

= ω

i−1

+ ˙ θ

i

z

i−1

p ˙

i

= ˙ p

i−1

+ ω

i

× r

i−1,i

où 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 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 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

)

(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

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

(21)

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

R

0i−1

•  est donné par les trois premiers éléments de la quatrième colonne de la matrice de transformation

p

e

T

0e

•  est donné par les trois premiers éléments de la quatrième 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 “

u

”, 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. “

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

⎥ ⎦

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

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. ai

α

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:

Combinaison d’un manipulateur sphérique et d’un poignet de type rotule

q = [θ

1

, θ

2

, d

3

, θ

4

, θ

5

, θ

6

]

T

(31)

Manipulateur Stanford

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

⎥ ⎦

(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’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

]

T

(33)

Singularité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

(34)

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

1

s

1

a

2

s

12

−a

2

s

12

a

1

c

1

+ a

2

c

12

a

2

c

12

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

˙

p

x

, p ˙

y

a

2

˙

p

x

, p ˙

y

Rappel que:

det

a b c d

= a d c b

(35)

Singularités cinématiques

Exemple [Manipulateur planaire à deux 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

a

1

a

2

(36)

Singularité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

2

s

1

a

2

c

1

]

T

a

1

a

2

(37)

Modè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

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

n × n

q(0)

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

(38)

Modèle cinématique inverse

Plusieurs méthodes de résolution sont envisageables:

a) Ajouter

n r

relations supplémentaires pour que

J

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’optimisation

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

n

est le nombre de DDL du robot et

r

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 robot

ve = J(q) ˙q

(39)

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 ˙

0

J

v

e

(I

n

J

J) ˙ q

0

(40)

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

(41)

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 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. La redondance est utilisée pour eviter les collisions entre le manipulateur et 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

(42)

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

2

I

m

)

−1

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’espace

operationnel)

v

e

= J q ˙

(43)

•  En pratique, pour avoir des algorithmes d’inversion plus robustes, on préfére travailler avec le jacobien analytique :

: 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

A

Pour 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

A

Modèle cinématique inverse

(44)

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êret

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

γ

e

R

r

τ R

n

Références

Documents relatifs

•  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

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

La pose d'un solide (ou corps rigide) dans l'espace 3D peut être complètement décrite par 6 paramètres indépendants:. •  3 paramètres indépendants définissent

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

•  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

3.. Objectif: 1) déterminer les repères associés à deux segments consecutifs, 2) calculer la transformation de coordonnées entre les deux repères. Convention

•  La Chine a largement étendu sa position de leader comme le plus grand marché mondial avec 27% du chiffre d'affaires total en 2015 (le fabricant de robots allemand Kuka AG

La pose d'un solide (ou corps rigide) dans l'espace 3D peut être complètement décrite par 6 paramètres indépendants:. •  3 paramètres indépendants définissent