• 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!
29
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 2017/2018

Mardi 9h30-12h00, Mercredi 13h30-16h00, 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 autres 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)

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

d 3

Modèle géométrique direct (MGD): Etant 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): Etant 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 , d 3 , θ 4 , . . .] T R n

Robot générique à articulations

vecteur des variables articulaires

nnn e

aaa e

sss e

p b e

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

d 3

q R n : vecteur des variables articulaires

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

p b e

nnn b e , sss b e , aaa b e

T b e (q) =

nnn b e (q) sss b e (q) aaa b e (q) p b e (q)

0 0 0 1

nnn e

aaa e

sss e

p b e

Modèle géométrique direct

O b -x b y b z b

(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

Hypothèse:

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:

A i−1 i (q i ), i ∈ {1, . . . , n}

T 0 n (q) = A 0 1 (q 1 ) A 1 2 (q 2 ) · · · A n−1 n (q n )

T 0 n (q)

n A i−1 i (q i )

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

T b e (q) = T b 0 T 0 n (q) T n e

T 0 n (q)

n A i−1 i (q i )

T b 0 T n e

Modèle géométrique direct

(11)

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

•  Origin O e : au centre de la pince

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

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

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

Choix du repère de la pince

O e pince

z e y e

objet

(12)

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

•  Origin O e : au centre de la pince

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

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

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

Choix du repère de la pince

O e

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

×

pince

z e y e

objet

x

y

z

(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

d 3

Solution: Convention de Denavit-Hartenberg (DH)

Modèle géométrique direct

n + 1

nnn e

aaa e

sss e

p b e

(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

Notation:

L’axe i dénote l’axe de l’articulation qui rélie le segment i – 1 au segment i

segm.

articul. i – 1

segm.

articul. i articul. i + 1

θ i

axe i

a i

a i−1

d i

(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

Notation:

L’axe i dénote l’axe de l’articulation qui rélie le segment i – 1 au segment i

segm.

articul. i – 1

segm.

articul. i articul. i + 1

θ i

axe i

a i

a i−1

d i

(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

Notation:

L’axe i dénote l’axe de l’articulation qui rélie le segment i – 1 au segment i

segm.

articul. i – 1

segm.

articul. i articul. i + 1

θ i

axe i

a i

a i−1

d i

(17)

Convention de Denavit-Hartenberg

Notation:

L’axe i dénote l’axe de l’articulation qui rélie le segment i – 1 au segment i

segm.

articul. i – 1

segm.

articul. i articul. i + 1

θ i

axe i

a i

a i−1

d i

Objectif: 1) déterminer les repères associés à deux segments consecutifs,

2) calculer la transformation de coordonnées entre les deux repères

(18)

Convention de Denavit-Hartenberg

Notation:

L’axe i dénote l’axe de l’articulation qui rélie le segment i – 1 au segment i

segm.

articul. i – 1

segm.

articul. i articul. i + 1

θ i

axe i

a i

a i−1

d i

Objectif: 1) déterminer les repères associés à deux segments consecutifs,

2) calculer la transformation de coordonnées entre les deux repères

(19)

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

Convention de Denavit-Hartenberg

1.  Choisir l’axe z i le long de l’axe de l’articulation i + 1

2.  Placer l’origine O i à l'intersection de l'axe z i avec la normale commune*

aux axes z i -1 et z i . Placer aussi O i à l’intersection de la normale commune avec l’axe z i -1

3.  Choisir l’axe x i le long de la normal commune aux axes z i -1 et z i

avec sens de l’articulation i à l’articulation i + 1

4.  Choisir l’axe y i 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

90

o

90

o

(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 z 0 est specifiée.

Par consequent, O 0 et x 0 peuvent être choisis arbitrairement

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

•  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 O i tel

que

•  Si deux axes consécutifs se coupent ( ), le sens de x i est arbitraire.

On place O i à l’intersection des axes z i – 1 et z i

•  Si l’articulation i est prismatique, la direction de z i – 1 est arbitraire

Remarque [Cas particuliers]:

α i = 0 d i = 0

a i = 0

Convention de Denavit-Hartenberg

n + 1 n

n

(21)

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

quatre paramètres suivants:

•  : distance entre O i

et O i

•  : coordonnée de O i le long de l’axe z i – 1

•  : angle entre les axes z i – 1 et z i autour de l’axe x i .

si la rotation est faite dans le sens antihoraire ( si les axes son parallèles)

•  : angle entre les axes x i – 1 et x i

autour de l’axe z i – 1 . si la rotation est faite dans le sens antihoraire

Paramètres de Denavit-Hartenberg

articul. i – 1

segm. segm.

articul. i

articul. i + 1

α i > 0 α i = 0

θ i > 0

θ i d i

θ i

d i

a i

α i

α i

a i

(22)

•  Deux des quatre paramètres ( and ) sont toujours constants et ils ne dépendent que de la géométrie de connection des articulations

consecutives définie par le segment i

•  Des paramètres restants, seulement un est variable et dépend du type d’articulation qui rélie le segment i – 1 avec le segment i . En particulier:

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

•  Si l’articulation i est prismatique, la variable est

a i

d i α i

θ i

segm. segm.

articul. i

articul. i + 1

θ i

d i

a i articul. i – 1

Paramètres de Denavit-Hartenberg

α i

(23)

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

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

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

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

Transformation homogène de DH

d i θ i

A i−1 i

=

⎢ ⎢

⎢ ⎣

cos θ i sin θ i 0 0 sin θ i cos θ i 0 0

0 0 1 d i

0 0 0 1

⎥ ⎥

⎥ ⎦

(24)

segm.

articul. i – 1

segm.

articul. i articul. i + 1

θ i

axe i

a i

a i−1

Transformation homogène de DH

étape 2

étape 3

(25)

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

a i

α i

A i i

=

⎢ ⎢

⎢ ⎣

1 0 0 a i

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:

A i−1 i (q i ) = A i−1 i

A i i

=

⎢ ⎢

⎢ ⎣

c θ

i

−s θ

i

c α

i

s θ

i

s α

i

a i c θ

i

s θ

i

c θ

i

c α

i

−c θ

i

s α

i

a i s θ

i

0 s α

i

c α

i

d i

0 0 0 1

⎥ ⎥

⎥ ⎦

Fonction seulement de q i

q i = θ i

q i = d i

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

(26)

Modèle géométrique direct de manipulateurs industriels

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 x i le long de la direction des segments

correspondants (la direction de x 0 est arbitraire) et tous situés dans le plan ( x 0 , y 0 )

(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 a i α i d i θ i

1 a 1 0 0 θ 1 2 a 2 0 0 θ 2 3 a 3 0 0 θ 3

Manipulateur planaire à 3 segments

Paramètres de DH

A i−1 ii ) =

⎢ ⎢

⎢ ⎣

cos θ i sin θ i 0 a i cos θ i

sin θ i cos θ i 0 a i 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

T 0 3 (q) = A 0 1 A 1 2 A 2 3 =

⎢ ⎢

⎢ ⎣

c 123 −s 123 0 a 1 c 1 + a 2 c 12 + a 3 c 123

s 123 c 123 0 a 1 s 1 + a 2 s 12 + a 3 s 123

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

x 0 3 z 0 3

c 12 = cos(θ 1 + θ 2 ), s 123 = sin(θ 1 + θ 2 + θ 3 )

Remarque:

T 3 e =

R y (π/2) 0 3×1

0 1×3 1

=

⎢ ⎢

⎢ ⎣

0 0 1 0 0 1 0 0

−1 0 0 0 0 0 0 1

⎥ ⎥

⎥ ⎦

T 0 3 (q)

Références

Documents relatifs

•  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

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