• Aucun résultat trouvé

Plan du cours

N/A
N/A
Protected

Academic year: 2022

Partager "Plan du cours "

Copied!
24
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)

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)

base

effecteur

θ

1

θ

2

θ

4

d

3

Modèle géométrique direct (MGD): étant données les positions articulaires (distance resp. angle pour une articulation prismatique resp. rotoïde) trouver la pose de l’effecteur par rapport à la base

Modèle géométrique inverse (MGI): étant donnée une pose de l’effecteur par rapport à la base, trouver, si elles existent, l’ensemble des positions articulaires qui permettent de générer cette pose

Robot générique

à

articulations

nnn

e

sss

e

aaa

e

q = [q

1

, q

2

, . . . , q

n

]

T

?

pbe

?

n

Modèle géométrique inverse

(5)

Problème direct

Si les variables des articulations sont connues, la pose de l’effectuer par rapport à la base peut être calculée d’une manière unique en utilisant la matrice de transformation homogène:

Problème inverse

Il s'agit de déterminer les coordonnées articulaires permettant d'obtenir une situation désirée pour l’effecteur.

Problème beaucoup plus difficile pour les raisons suivantes:

1.  Les équations à résoudre sont, en général, non linéaires.

Par conséquent, il n’est pas toujours possible de trouver une solution de forme fermée (c’est-à-dire, une solution explicite) 2.  Le problème peut avoir des solutions multiples

3.  Le problème peut avoir un nombre infini de solutions (par ex. pour des robots cinématiquement redondants)

4.  Le problème peut n'avoir aucune solution admissible à cause de la structure cinématique du manipulateur

T

0n

(q) = A

01

(q

1

) A

12

(q

2

) · · · A

n−1n

(q

n

)

Modèle géométrique inverse

(6)

Solutions multiples

•  Ça depend du nombre de DDL du robot mais aussi du nombre de paramètres de DH qui sont différents de zéro

•  En général, plus le nombre de paramètres de DH différents de zéro est grand, plus le nombre des solutions admissibles est grand

•  Pour un manipulateur à 6 DDL sans des butées mécaniques sur les articulations, il y a, en général, 16 solutions admissibles.

On a donc besoin de trouver des critères pour choisir parmi ces solutions admissibles

•  La presence de butées mécaniques sur les articulations des robots réels peut, éventuellement, reduire le nombre de solutions multiples admissibles

Modèle géométrique inverse

(7)

Modèle géométrique inverse

Solutions de forme fermée

Pour trouver des solutions de forme fermée est nécessaire de:

•  L’intuition algébrique pour trouver les équations significatives qui contiennent les inconnues

ou

•  L’intuition géométrique pour trouver des points significatifs sur le robot que peuvent être utilisés pour exprimer la position et/ou orientation en fonction du nombre d’inconnues

Solutions numériques

Lorsque il n’y a pas des solutions de forme fermée ou elles sont difficiles à déterminer, on peut calculer une solution particulière du problème inverse par des procédures numériques (méthodes itératives d'optimisation non linéaire ou l'algorithme de Levenberg-Marquardt)

•  Avantage: on peut appliquer les méthodes numeriques à tous les robots

•  Inconvénients: les méthodes numériques ne trouvent pas, en général, toutes les solutions admissibles. Ils trouvent une solution locale au sens où elle dépend des conditions initiales. Ces méthodes sont pénalisantes du point de vue du

temps de calcul

(8)

Exemple 1: robot planaire à 2 segments (RP)

On a le modèle géométrique direct suivant (avec les deux segments alignés):

P

p

x

p

y

θ

1

d

2

p

x

= d

2

cos θ

1

p

y

= d

2

sin θ

1

Une démarche analytique simple permet de déterminer le modèle géométrique inverse. En effet, nous avons que:

d

2

=

p

2x

+ p

2y

θ

1

= arctan(p

y

/p

x

),

q = [θ

1

, d

2

]

T

? [p

x

, p

y

]

T donné.

Problème:

(9)

Problème: étant données la position et l’orientation de l’effecteur, déterminer les variables des trois articulations rotoïdes

θ

1

θ

2

θ

3

Exemple 2: manipulateur planaire à 3 segments

φ

W

q = [θ

1

, θ

2

, θ

3

]

T

?

θ1, θ2, θ3

(10)

•  On a déjà vu que la matrice de transformation homogène entre le repère 3 et 0 pour ce manipulateur est (cf. la première partie du Ch. 3.1):

T03(q) = A01 A12A23 =

⎢⎢

⎢⎣

c123 −s123 0 a1c1 + a2c12 +a3c123

s123 c123 0 a1s1 + a2s12 + a3s123

0 0 1 0

0 0 0 1

⎥⎥

⎥⎦

où et

q = [θ

1

, θ

2

, θ

3

]

T

•  Il convient de spécifier la position et orientation de l’effecteur en utilisant un nombre minimal de paramètres

•  On peut utiliser les coordonnées

et l’angle entre l’effecteur et l’axe

φ x

0:

⎢ ⎣ p

x

p

y

φ

⎥ ⎦ = f (q) =

⎢ ⎣

a

1

c

1

+ a

2

c

12

+ a

3

c

123

a

1

s

1

+ a

2

s

12

+ a

3

s

123

θ

1

+ θ

2

+ θ

3

⎥ ⎦

T

03

Élément (1,4) de

T

03

Élément (2,4) de Somme des variables articulaires

c

12

= cos(θ

1

+ θ

2

), s

123

= sin(θ

1

+ θ

2

+ θ

3

) c

1

= cos θ

1

,

Exemple 2: manipulateur planaire à 3 segments

p

x

, p

y

(11)

1 - Solution algébrique

Si est spécifié, la 1ère équation du système à resoudre est:

•  À partir du modèle direct, on trouve que:

Coordonnées du point

W

(origine du repère 2)

φ

En revanche si n’est pas spécifié, le manipulateur est redondant et il y a un nombre infini de solutions au problème inverse

φ

φ = θ

1

+ θ

2

+ θ

3

p

Wx

= p

x

a

3

c

φ

= a

1

c

1

+ a

2

c

12

p

Wy

= p

y

a

3

s

φ

= a

1

s

1

+ a

2

s

12

•  On calcule le carré des deux expressions précédentes et on les additionne:

Donc

p

2Wx

+ p

2Wy

= a

21

+ a

22

+ 2a

1

a

2

c

2

c

2

= p

2Wx

+ p

2Wy

a

21

a

22

2a

1

a

2

Exemple 2: manipulateur planaire à 3 segments

(12)

1 - Solution algébrique

•  Pour avoir une solution admissible, il faut que:

•  Maintenant, il faut déterminer . Si on substitue l’expression de trouvée dans les equations de on obtient un système de deux équations à deux inconnues, , avec solution:

où le signe est “+” correspond à la posture “coude en bas” et le signe “_” à la posture “coude en haut” du robot

•  Donc, on impose

•  Par conséquent:

−1 c

2

1 s

2

= ±

1 c

22

θ

2

= Atan2(s

2

, c

2

)

θ

1

θ

2

p

Wx

, p

Wy

s

1

=

(a1+a2cp22)pWy−a2s2pWx

Wx+p2Wy

c

1

=

(a1+a2cp22)pWx+p+a2 2s2pWy

= θ

1

= Atan2(s

1

, c

1

)

Par conséquent:

Exemple 2: manipulateur planaire à 3 segments

s

1

, c

1

(13)

Remarque:

•  Enfin, pour trouver l’angle on peut utiliser l’équation:

Si on a que : dans cette posture le manipulateur est dans une singularité cinématique. On peut déterminer encore d’une manière unique sauf si et on requiert que

s

2

= 0

θ2 ∈ {0, π}

θ

1

p

Wx

= p

Wy

= 0 θ

3

θ

3

= φ θ

1

θ

2

2 - Solution géométrique

•  On utilise encore les trois équations vues précédemment:

φ = θ

1

+ θ

2

+ θ

3

p

Wx

= p

x

a

3

c

φ

= a

1

c

1

+ a

2

c

12

p

Wy

= p

y

a

3

s

φ

= a

1

s

1

+ a

2

s

12

a

1

= a

2

Exemple 2: manipulateur planaire à 3 segments

(14)

Remarque

Théorème d’Al-Kashi (ou loi des cosinus):

Exemple 2: manipulateur planaire à 3 segments

a 1 γ a 2

a 3

a

23

= a

21

+ a

22

2 a

1

a

2

cos γ

Soit un triangle dans lequel on utilise les notations exposées sur la figure ci-dessus,

Le théorème d’Al-Kashi généralise le théorème de Pythagore aux triangles non rectangles (en effet, pour on retrouve le théorème de Pythagore)

γ = π/2

(15)

2 - Solution géométrique

•  Si on applique le théorème d’Al-Kashi au triangle rouge en figure, on obtient:

φ

p

2Wx

+ p

2Wy

= a

21

+ a

22

2 a

1

a

2

cos(π θ

2

)

•  En effet, on a deux configurations possibles du triangle (voir le trait pointillé noir en figure)

•  Car , nous avons:

cos(π θ

2

) = cos θ

2

c

2

= p

2Wx

+ p

2Wy

a

21

a

22

2a

1

a

2

•  Pour l’existence d’un triangle, il faut que:

p

2Wx

+ p

2Wy

a

1

+ a

2

•  Sous cette condition:

θ

2

= ± arccos(c

2

)

“coude en bas”

“coude en haut”

W θ

2

Exemple 2: manipulateur planaire à 3 segments

(16)

2 - Solution géométrique

•  La posture “coude en haut”

est obtenue avec

φ

•  Pour déterminer , il faut considérer les angles

α

et

β

en figure

•  La valeur de

α

depend du signe de . Il faut donc

calculer

α

comme:

“coude en bas”

“coude en haut”

θ2 (−π, 0)

θ

2

(0, π)

•  La posture “coude en bas”

est obtenue avec

θ

1

p

Wx

, p

Wy

α = Atan2(p

Wy

, p

Wx

)

θ

2

θ

1

•  Pour trouver

β

, nous appliquons encore le théorème d’Al-Kashi au triangle vert, ce qui nous donne l’équation:

c

β

p

2Wx

+ p

2Wy

= a

1

+ a

2

c

2

W

a22 = p2Wx + p2Wy +a21 2a1

p2Wx + p2Wy cosβ =

Exemple 2: manipulateur planaire à 3 segments

(17)

•  Si on utilise l’expression de trouvée auparavant, on obtient:

c

2

β = arccos

p

2Wx

+ p

2Wy

+ a

21

a

22

2a

1

p

2Wx

+ p

2Wy

avec pour garantir, à nouveau, l’existence du triangle

β (0, π )

•  Donc, où le signe est

“+” pour et “

θ

1

= α ± β

_” pour

θ

2

< 0 θ

2

> 0

•  Enfin pour trouver , on utilise l’équation:

θ

3

φ = θ

1

+ θ

2

+ θ

3

φ

θ

2

θ

1

W

Exemple 2: manipulateur planaire à 3 segments

2 - Solution géométrique

(18)

Solutions de forme fermée: généralités

•  La plupart des manipulateurs existant sont cinématiquement simples

•  En effet ils sont typiquement composés d’un porteur et d’un poignet de type rotule (avec un poignet de type rotule, le point

est choisi à l’intersection des trois axes des articulations rotoïdes)

•  Ce choix est motivé par la difficulté à déterminer des solutions du problème inverse dans le cas général

•  En particulier, un manipulateur à 6 DDL a des solutions de forme fermée du problème géométrique inverse si une des conditions suivantes est satisfaite:

  Les axes de trois articulations rotoïdes consecutives se croisent en un seul point (trois axes concourants), comme dans le cas du poignet de type rotule

  Les axes de trois articulations rotoïdes consecutives sont parallèles

W

(19)

Méthode de Paul

•  Le MGI est obtenu en résolvant l'équation matricielle suivante :

où décrit la situation du repère

par rapport au repère de la base

•  La méthode de Paul permet la détermination de

, puis de

et ainsi de suite jusqu'à

•  Il s'agit de déplacer l'une après l'autre chacune des variables articulaires dans le membre de gauche de l'équation

•  Pour cela, on multiplie par (en prenant successivement ) de part et d'autre dans l'équation précédente

U

0

= A

01

(q

1

) A

12

(q

2

) · · · A

n−1n

(q

n

)

j ∈ {1, . . . , n}

•  Dans le cas de robots à géométrie simple (pour lesquels la plupart des

distances

a

i et

d

i sont nulles et θi et

α

i sont égaux à 0 ou ±π/2), le MGI peut être obtenu de façon systématique avec la méthode de Paul

n

q

1

q

2

q

n

A

jj−1

(q

i

)

q

1

, . . . , q

n

U

0

= T

n0

(20)

Exemple: considérons un robot à 6 DDL (

) et appliquons la méthode.

1) Pré-multiplier l'équation précédente par , soit :

Les éléments situés dans le membre de gauche sont soient indépendants, soient fonctions de

. Les éléments situés dans le membre de droite sont soient

constants, soient fonctions de 2) Déduire de l'équation (*)

3) Pré-multiplier l'équation (*) par , soit :

4) En déduire

5) Continuer cette procédure pour en déduire A10(q1)

A

10

(q

1

) U

0

= A

12

(q

2

) · · · A

56

(q

6

)

A

21

(q

2

)

Méthode de Paul

n = 6

q

1

q

2

, . . . , q

6

q

1

(*)

A

21

(q

2

) A

10

(q

1

) U

0

= A

23

(q

3

) · · · A

56

(q

6

) q

2

q

3

, . . . , q

6

(21)

En résumé, on utilise les équations suivantes pour calculer les variables articulaires :

La résolution de ces équations est intuitive, mais fait intervenir (en principe) quelques types d'équations dont la solution analytique est connue.

U

0

= A

01

(q

1

) A

12

(q

2

) A

23

(q

3

) A

34

(q

4

) A

45

(q

5

) A

56

(q

6

) A

10

(q

1

)U

0

= A

12

(q

2

) A

23

(q

3

) A

34

(q

4

) A

45

(q

5

) A

56

(q

6

)

A

21

(q

2

)U

1

= A

23

(q

3

) A

34

(q

4

) A

45

(q

5

) A

56

(q

6

) A

32

(q

3

)U

2

= A

34

(q

4

) A

45

(q

5

) A

56

(q

6

)

A

43

(q

4

)U

3

= A

45

(q

5

) A

56

(q

6

) A

54

(q

5

)U

4

= A

56

(q

6

)

avec

U

j

= A

j6

= A

jj−1

U

j−1

, j ∈ {1, 2, 3, 4}.

Méthode de Paul

q

1

, . . . , q

6

(22)

•  Si on applique la méthode de Paul au robot Stäubli TX60 (un robot à 6 DDL

avec porteur anthropomorphe et poignet de type rotule), on trouve qu’il existe 8 solutions du problème inverse dans le cas général (avec 1 butée mécanique)

•  Certaines positions dites singulières du robot occasionnent un nombre infini de solutions. C'est par exemple le cas de la configuration initiale “sans offset”

du robot (

θ

1 = … =

θ

6 = 0) où les arguments de la fonction arc tangente utilisés pour déterminer le paramètre

θ

4 sont nuls, ce qui rend ce paramètre indéterminé

•  Le choix de la valeur de ce paramètre étant libre, on assigne typiquement la valeur

courante

θ

4 du robot. Ce choix fixe alors la valeur du paramètre θ6

Robot Stäubli TX60

Méthode de Paul: exemple de robot à 6 DDL

(23)

Les quatre postures compatibles avec une pose donnée du poignet d’un manipulateur anthropomorphe:

1) Bras à gauche et en haut

2) Bras à droite et en haut

3) Bras à gauche et en bas

4) Bras à droite et en bas Poignet

(24)

•  On a vu précédemment que le modèle géométrique direct d'un robot peut se représenter aussi à l'aide de l'application:

Cette application est définie de l'espace articulaire (EA) vers l'espace opérationnel (EO), tous deux de dimension

, en général.

•  Cette application n'est pas biunivoque, c’est-à-dire, à un élément de l’EA correspond une seule image dans l’EO, par contre un élément de l’EO pourra être l'image de plusieurs éléments de l’EA

x

e

= f (q) Remarque

n 6

•  Dans le cas du robot Staübli TX60 avec 1 butée mécanique, il existe (au maximum) 8 solutions possibles pour attendre un point de l’EO

•  Dans la pratique, cette “non propriété” peut poser des problèmes, par exemple, dans le cas où des obstacles sont à proximité du robot

•  En effet, la réalisation d'une trajectoire rectiligne peut s'avérer irréalisable physiquement, ou le bras du robot peut être amené à se reconfigurer ce qui peut induire des comportements “intempestifs”

du manipulateur

Références

Documents relatifs

Le bénéfice étant la différence entre la recette et le coût total, déterminer par le calcul le bénéfice réalisé avec la production et la vente de 40 lots de mobilier

[r]

Lorsque il n’y a pas des solutions de forme fermée ou elles sont difficiles à déterminer, on peut calculer une solution particulière du problème inverse par

L'objet de ce problème est de montrer que lorsque les faces d'un tétraèdre ont la même aire alors elles sont isométriques (théorème de Bang)1. On se place dans un espace

Il faut soigner la rédaction et la présentation : souligner vos résultats. Documents et

Enzymes qui coupent les acides nucléiques Enzymes qui changent les contraintes des AN Enzymes qui travaillent sur les phosphates Enzymes qui recopient les acides nucléiques.. C:

réduira: évidemment à trouver un nombre de n chiffres dont les chiffres soient respectivement les n derniers chlores de la droite de son

Comme le procédé que je vais développer , pour la solution de chacun des deux problèmes est exactement le même , quel que soit le nombre des cotés ( plus grand