UPJV, Département EEA M1 3EA, Parcours RoVA, EC15

Preview:

Citation preview

UPJV, Département EEA

M1 3EA, Parcours RoVA, EC15

Fabio MORBIDI

Laboratoire MIS Équipe Perception Robotique

E-mail: fabio.morbidi@u-picardie.fr

Année Universitaire 2018/2019

Lundi 14h00-16h30 (CM ou TD, salle CURI 305) Lundi 14h00-17h00 (TP, salle TP204)

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 autres représentations de l’orientation •  Transformations 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

Plan du cours

4

Introduction : nécessité d’un modèle

La conception et la commande d’un robot nécessitent le calcul de certains modèles mathématiques, tels que:

•  Les modèles géométriques direct et inverse qui expriment la pose de l’effecteur en fonction de la configuration du mécanisme et inversement

•  Les modèles cinématiques direct et inverse qui expriment la vitesse de l’effecteur en fonction des vitesses articulaires et inversement

•  Les modèles dynamiques définissant les équations du mouvement du robot, qui permettent d'établir les relations entre les couples ou forces exercées par les actionneurs, et les positions, vitesses et accélérations des articulations

effecteur

articulation k

5

Définir les différentes tâches d'un robot réclame de pouvoir positionner l’effecteur par rapport à un repère de référence

Mais ...

•  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 est souvent définie dans un repère lié à la base du robot

•  L'objet à saisir peut être défini dans un repère mobile indépendant du robot (par ex. des pièces à prendre sur un convoyeur)

•  Les informations extéroceptives (issues de l'environnement autour du robot) sont définies dans divers repères (repère caméra, laser, etc.)

Il faut donc un référentiel commun afin de ramener les diverses informations dans un même repère et pouvoir concevoir les consignes des actionneurs du robot

Introduction : nécessité d’un modèle

6

base

effecteur

θ1

θ2

θ4

d3

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 d’un robot

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

q = [θ1, θ2, d3, θ4, . . .]T ∈ R

n

Robot générique à articulations

vecteur des variables articulaires

nnne

aaae

ssse

pbe

n

7

Par rapport au repère de la base , le modèle géométrique direct est exprimé par la matrice de transformation homogène suivante:

base

effecteur

θ1

θ2

θ4

d3

q ∈ Rn : vecteur des variables articulaires

: vecteurs unitaires du repère de l’effecteur exprimés par rapport à la base

: vecteur qui décrit l’origine du repère de l’effecteur par rapport à la base pbe

nnnbe, sssbe, aaa

be

Tbe(q) =

[nnnbe(q) sssbe(q) aaabe(q) pb

e(q)

0 0 0 1

]

nnne

aaaessse

pbe

Modèle géométrique direct

Ob-xbybzb

8

Manipulateur à chaîne ouverte simple avec segments liés par articulations (rotoïdes ou prismatiques):

•  Par convention, le segment 0 est fixé au sol •  Chaque articulation fournit au manipulateur 1 DDL qui correspond à la variable de l’articulation ( ou )

n+ 1

Nos hypothèses:

Segm. 1 Segm. 2 Segm. Segm.

Articul. 1 Articul. 2 Articul. 3 Articul. Articul.

....... Segm. 0

(bâti)

n

Organe terminal

n

n

n− 1

n− 1

θ d

Modèle géométrique direct

9

1.  Définir les repères associés à chacun des segments 2.  Determiner la transformation de coordonnées entre deux segments consecutifs 3. Déterminer, de façon recursive, la transformation totale entre le repère

et le repère 0, c’est-à-dire:

Procédure pour déterminer le modèle géométrique direct:

Ai−1i (qi), i ∈ {1, . . . , n}

T0n(q) = A0

1(q1)A12(q2) · · · An−1

n (qn)

T0n(q)

n

Ai−1i (qi)

n+ 1

Modèle géométrique direct

10

Attention: la transformation de coordonnées effective qui décrit la pose de l’effecteur par rapport à la base est donnée par:

Matrice de transformation (constante) qui décrit la pose du repère 0 par rapport au repère de la base

Matrice de transformation (constante) qui décrit la pose du repère de l’effecteur par rapport au repère

base

effecteur

Tbe(q) = Tb

0 T0n(q)T

ne

T0n(q)

n

Ai−1i (qi)

Tb0 Tn

e

Modèle géométrique direct

11

Si l’effecteur est une pince, comment positionner le repère ?

•  Origin : au centre de la pince

•  Axe : direction de rapprochement de l’objet à saisir

•  Axe : orthogonal à dans le plan de glissement des becs de la pince

•  Axe : orthogonal aux autres axes pour avoir un repère direct (règle de la main droite)

Choix du repère de la pince

pince

objet

Oe

xe

ye

ze

Oe

ze

zeye

12

Si l’effecteur est une pince, comment positionner le repère ?

Choix du repère de la pince

Rappelez les symboles: la flêche sort de la page

la flêche entre dans la page ×

x

y

z

•  Origin : au centre de la pince

•  Axe : direction de rapprochement de l’objet à saisir

•  Axe : orthogonal à dans le plan de glissement des becs de la pince

•  Axe : orthogonal aux autres axes pour avoir un repère direct (règle de la main droite)

pince

objet

Oe

xe

ye

ze

Oe

ze

zeye

13

Mais ...

Comment définir les repères pour des manipulateurs complexes, avec un grand nombre d’articulations ?

•  Il faut trouver une procédure systématique et générale

1.  Définir les repères associés à chacun des segments

Procédure à suivre pour déterminer le modèle géométrique direct:

θ1

θ2

θ4

d3

Solution: Convention de Denavit-Hartenberg (DH)

Modèle géométrique direct

n+ 1

nnne

aaaessse

pbe

14

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 de Denavit-Hartenberg

segm. segm.

θi

ai

ai−1

di

Notation: L’axe dénote l’axe de l’articulation qui rélie le segment au segment

axe

articul. articul. articul. i− 1 i i+ 1

i

i ii− 1

15

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 de Denavit-Hartenberg

segm. segm.

θi

ai

ai−1

di

Notation: L’axe dénote l’axe de l’articulation qui rélie le segment au segment

axe

articul. articul. articul. i− 1 i i+ 1

i

i ii− 1

16

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 de Denavit-Hartenberg

segm. segm.

θi

ai

ai−1

di

Notation: L’axe dénote l’axe de l’articulation qui rélie le segment au segment

axe

articul. articul. articul. i− 1 i i+ 1

i

i ii− 1

17

Convention de Denavit-Hartenberg

Notation: L’axe dénote l’axe de l’articulation qui rélie le segment au segment

segm. segm.

θi

axe

ai

ai−1

di

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

articul. articul. articul. i− 1 i i+ 1

i

i ii− 1

18

Convention de Denavit-Hartenberg

segm. segm.

θi

ai

ai−1

di

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

Notation: L’axe dénote l’axe de l’articulation qui rélie le segment au segment

axe

articul. articul. articul. i− 1 i i+ 1

i

i ii− 1

19

La convention de Denavit Hartenberg (DH) est adoptée pour définir le repère du segment :

Convention de Denavit-Hartenberg

1.  Choisir l’axe le long de l’axe de l’articulation

2.  Placer l’origine à l'intersection de l'axe avec la normale commune* aux axes et . Placer aussi à l’intersection de la normale commune avec l’axe

3.  Choisir l’axe le long de la normal commune aux axes et avec sens de l’articulation à l’articulation

4.  Choisir l’axe pour completer le triplet d’un repère direct (on utilise la règle de la main droite)

*Remarque La normale commune entre deux droites est la droite qui contient le segment à distance minimale entre les deux droites

droite 1 droite 2

Normale commune

90o 90o

zi i+ 1

Oi zizizi−1

zi−1

Oi′

zizi−1

i+ 1i

yi

xi

i

20

La convention de DH ne donne pas une définition unique de repère d’un segment dans les cas suivants:

•  Pour le repère 0 : seulement la direction de l’axe est specifiée. Par consequent, et peuvent être choisis arbitrairement

•  Pour le repère : puisqu'il n'y a pas l’articulation , n’est pas défini de manière unique, tandis que doit être orthogonal à l’axe . Typiquement, l’articulation est rotoïde, et donc doit être aligné avec la direction de

•  Si deux axes consécutifs sont parallèles ( ), la normale commune entre les deux n’est pas définie de manière unique. On place tel que

•  Si deux axes consécutifs se coupent ( ), le sens de est arbitraire. On place à l’intersection des axes et

•  Si l’articulation est prismatique, la direction de est arbitraire

Remarque [Cas particuliers]:

αi = 0

di = 0

ai = 0

Convention de Denavit-Hartenberg

n+ 1n

n zn

zn

zn−1

zn−1xn

x0

z0O0

xi

Oi

Oi zizi−1

zi−1i

21

Une fois que les repères des segments ont été fixés, la position et l’orientation du repère par rapport au repère est complètement spécifiée par les quatre paramètres suivants:

•  : distance entre et

•  : coordonnée de le long de l’axe •  : angle entre les axes et autour de l’axe . si la rotation est faite dans le sens antihoraire ( si les axes son parallèles)

•  : angle entre les axes et autour de l’axe . si la rotation est faite dans le sens antihoraire

Paramètres de Denavit-Hartenberg

segm. segm.

αi > 0αi = 0

θi > 0θi

di

ai

αi

αi

ai

i i− 1

Oi Oi′

Oi′ zi−1

zi−1 zi xi

xixi−1 zi−1

articul.

articul.

articul.

i

i− 1

i+ 1

θidi

22

•  Deux des quatre paramètres ( and ) sont toujours constants: ils ne dépendent que de la géométrie de connection des articulations consecutives définie par le segment •  Des paramètres restants, seulement un est variable et dépend du type d’articulation qui rélie le segment avec le segment . En particulier:

•  Si l’articulation est rotoïde, la variable est

•  Si l’articulation est prismatique, la variable est

ai

di

αi

θi

segm. segm.

articul.

articul.

articul.

Paramètres de Denavit-Hartenberg

αi

i

ii− 1

i

i

i

i− 1

i+ 1

di

θi

ai

23

En conclusion, nous pouvons exprimer la transformation de coordonnées entre les repères et selon les étapes suivantes:

1.  Choisir un repère aligné avec le repère

2.  Faire un translation de du repère choisi le long de l’axe et faire un rotation de autour de l’axe

Cette séquence aligne le repère courant avec le repère et elle est décrite par la matrice homogène:

Transformation homogène de DH

diθi

Ai−1i′ =

⎡⎢⎢⎢⎣cos θi − sin θi 0 0

sin θi cos θi 0 0

0 0 1 di

0 0 0 1

⎤⎥⎥⎥⎦

i i− 1

i− 1

zi−1

zi−1

i′

24

segm.

articul.

segm.

articul. articul.

axe

Transformation homogène de DH

étape 2

étape 3

θi

i

i− 1 i i+ 1

di

αi

ai−1

ai

25

3.  Faire un translation du repère aligné avec le repère de le long de l’axe et faire un rotation de autour de l’axe . Cette séquence aligne le repère courant avec le repère et elle est décrite par la matrice homogène:

aiαi

Ai′i =

⎡⎢⎢⎢⎣1 0 0 ai

0 cosαi − sinαi 0

0 sinαi cosαi 0

0 0 0 1

⎤⎥⎥⎥⎦

4.  La transformation finale est obtenue en multipliant à droite les deux transformations précédentes:

Ai−1i (qi) = Ai−1

i′ Ai′i =

⎡⎢⎢⎢⎣cθi −sθicαi

sθisαiai cθi

sθi cθicαi−cθisαi

ai sθi0 sαi

cαidi

0 0 0 1

⎤⎥⎥⎥⎦

Fonction seulement de qiqi = θi

qi = di

si l’articulation est rotoïde

si l’articulation est prismatique cθi = cos θi, sθi = sin θi

Comme d’habitude:

Transformation homogène de DH i′

ixi′ xi′

26

Modèle géométrique direct d’un manipulateur

Exemples

27

1 – Manipulateur planaire à 3 segments

θ1

θ2

θ3

•  Les axes des articulations rotoïdes sont tous parallèles

•  Choix le plus simple des repères: axes le long de la direction des segments correspondants (la direction de est arbitraire) et tous situés dans le plan

xi

x0 (x0, y0)

a1

a2

a3

28

Toutes les articulations sont rotoïdes, donc la matrice de transformation homogène a la même structure pour chaqu’une des trois articulations:

Segment ai αi di θi

1 a1 0 0 θ1

2 a2 0 0 θ2

3 a3 0 0 θ3

Manipulateur planaire à 3 segments

Paramètres de DH

Ai−1i (θi) =

⎡⎢⎢⎢⎣cos θi − sin θi 0 ai cos θi

sin θi cos θi 0 ai sin θi

0 0 1 0

0 0 0 1

⎤⎥⎥⎥⎦ , i ∈ {1, 2, 3}

29

La matrice de transformation totale (le modèle géometrique) est donc:

Manipulateur planaire à 3 segments

T03(q) = A0

1 A12 A

23 =

⎡⎢⎢⎢⎣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

Le repère 3 ne coïncide pas avec le repère de l’effecteur: en fait, la direction de rapprochement de l’object à saisir par la pince est alignée avec le vecteur unitaire et pas avec (cf. le diaporama “Choix du repère de la pince”)

Si les deux repères ont la même origine, il faut donc multiplier à droite par la transformation constante (une rotation pure):

x03 z03

c12 = cos(θ1 + θ2), s123 = sin(θ1 + θ2 + θ3)

Remarque:

T3e =

[Ry(π/2) 03×1

01×3 1

]=

⎡⎢⎢⎢⎣

0 0 1 0

0 1 0 0

−1 0 0 0

0 0 0 1

⎤⎥⎥⎥⎦

T03(q)

Recommended