29
RAPPORT DE PROJET DE FIN DÉTUDES Aleksander Przybylo Département de Génie mécanique , Section fabrication École Polytechnique de Montréal Avril 2003 MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ENVIRONNEMENT DE RÉALITÉ VIRTUELLE

MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

RAPPORT DE PROJET DE FIN D’ÉTUDES

Aleksander Przybylo

Département de Génie mécanique , Section fabrication

École Polytechnique de Montréal

Avril 2003

MODÉLISATION D’UN ROBOT PARALLÈLE

SPHÉRIQUE DANS UN ENVIRONNEMENT

DE RÉALITÉ VIRTUELLE

Page 2: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

RÉSUMÉ

Le sujet du rapport est la présentation d’un projet consistant en la réalisation d’un

simulateur d’un robot parallèle sphérique dans un environnement de réalité virtuelle.

Premièrement, on présente une revue de l’état des recherches dans le domaine des robots

parallèles en général et le cadre théorique dans lequel s’est déroulé le projet. Ensuite, on

expose la méthodologie de travail et les détails de la programmation du simulateur dans

l’environnement Windows et dans l’environnement de la voûte d’immersion CAVE.

ABSTRACT

The subject of this report is the presentation of a project consisting in the creation

of a spherical parallel robot simulator in a virtual reality environment. First, we present a

review of the present research advances in the domain of parallel robots in general and

the theoretical framework in which the project takes place. Then, we expose the

methodology and the details of the simulator programming in the Windows environment

as well as in the virtual reality CAVE environment.

Page 3: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

TABLE DES MATIÈRES

Liste des figures ........................................................................................................i

Liste des symboles et des abréviations .................................................................... ii

Principaux symboles ........................................................................................... ii

Abréviations ........................................................................................................ ii

Introduction............................................................................................................. 1

Revue de la bibliographie........................................................................................ 2

Cadre théorique et hypothèses................................................................................. 4

État de la recherche ............................................................................................. 4

Définitions ........................................................................................................... 4

Simplifications .................................................................................................... 6

Méthodologie de travail .......................................................................................... 8

Modèle 3D........................................................................................................... 8

Position initiale.................................................................................................... 8

Modèle cinématique direct................................................................................ 11

Algorithme et programmation........................................................................... 11

Implantation dans la Voute ............................................................................... 12

Programmation...................................................................................................... 13

Fonctions algébriques........................................................................................ 13

Affichage ........................................................................................................... 15

Discussion des résultats......................................................................................... 19

Conclusion............................................................................................................. 20

Recommandations ................................................................................................. 21

Références ............................................................................................................. 22

Page 4: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

REMERCIEMENTS

Je tiens à remercier les personnes suivantes qui m’ont grandement soutenu dans la

réalisation de mon projet. Je remercie tout d’abord Luc Baron de m’avoir donné

l’opportunité de travailler sur le projet en question et de m’avoir aidé dans sa réalisation.

Ensuite je voudrais remercier Atmane Laras, Lévis Thériault et Benoît Ozell pour leur

soutien technique. Aussi je tiens à remercier Stéphane Brunet de m’avoir fourni le code

de son logiciel qui m’a permis de démarrer mon projet beaucoup plus vite, ainsi que

Mahmoud Sabsaby et Sofiane Achiche de m’avoir fourni les travaux de M. Daniali et

d’autres documents qui m’ont grandement éclairé tout au long de mon projet. Finalement,

je remercie Stéphanie Lizotte d’avoir toujours été là.

Page 5: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

i

LISTE DES FIGURES

Figure 1 - Différentes parties d’un robot parallèle.............................................................. 5

Figure 2 - Angles β et α .................................................................................................... 10

Figure 3 - Vecteurs →

iP , →

iQ et →

iR ..................................................................................... 10

Figure 4 - Système de référence pour la base ................................................................... 16

Figure 5 - Système de référence pour l’effecteur .............................................................. 16

Figure 6 - Système de référence pour les distaux ............................................................. 16

Figure 7 - Système de référence pour les proximaux........................................................ 17

Page 6: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

ii

LISTE DES SYMBOLES ET DES ABRÉVIATIONS

Principaux symboles

iP – vecteurs unitaires qui pointent dans la direction des sommets de la base

iQ – vecteurs unitaires qui pointent dans la direction des sommets de l’effecteur

iR – vecteurs unitaires qui pointent dans la direction des distaux et proximaux

β − angle positionnant l’actionneur sur la base

α − angle positionnant l’actionneur sur l’effecteur

θr& − vecteur contenant les taux de rotation des trois actionneurs

ωr

− vecteur contenant les angles de rotation de l’effecteur

Abréviations

DT – double-triangulaire

INRIA – Institut National de Recherche en Informatique et en Automatique (France)

MGD – modèle géométrique direct

MGI – modèle géométrique inverse

MCD – modèle cinématique direct

MCI – modèle cinématique inverse

CAO – conception assistée par ordinateur

VRML – Virtual Reality Modelling Language

STEP – Standard for the Exchange of Product

STL – Standard Template Library

Page 7: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

1

INTRODUCTION

Le monde de la cybernétique fonctionne depuis déjà plus d’un siècle avec des

robots sériels de toutes sortes, qui se sont largement développés depuis leur création. Il y

a une cinquantaine d’années sont apparus les robots parallèles qui jusqu’à maintenant

font objet de recherches intensives et sont encore considérés par une bonne partie de la

communauté scientifique comme de la science fiction. La complexité du fonctionnement

des robots parallèles est à des années lumière de leurs frères sériels, ce pourquoi leur

utilisation est réservée à des tâches très spécifiques.

Une des principales difficultés de ce type de robots est leur imprévisibilité. En

effet, il est très difficile de prévoir comment l’effecteur se comportera si on déplace tel

actionneur. Plusieurs ont essayé de créer des simulateurs de ces robots, ce qui certes

permet de mieux visualiser leur fonctionnement que simplement en regardant une

équation avec des matrices et des vecteurs. Toutefois, ces simulateurs manquent souvent

de réalisme et le problème n’est pas plus résolu, surtout lorsqu’on a affaire à des

structures complexes.

Le présent projet consiste à créer un simulateur dans un environnement de réalité

virtuelle. L’utilisateur pourra, en se plaçant au milieu d’une voûte d’immersion, voir le

robot comme s’il était devant lui. De plus, il lui sera possible d’interagir avec lui par

l’intermédiaire d’une manette.

Après une brève revue de la bibliographie et de l’état actuel des recherches dans le

domaine, je présenterai d’abord le cadre théorique dans lequel se place le projet et ensuite

la méthodologie de travail employée dans sa réalisation. Finalement, je consacrerai une

section à part aux différentes étapes de la programmation du simulateur.

Page 8: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

2

REVUE DE LA BIBLIOGRAPHIE

Le nombre de chercheurs qui s'intéressent aux robots parallèles croît de jour en

jour, ce pourquoi le nombre de publications y dédiées est plus qu'exhaustive. Rien que

dans la province du Québec, presque chaque grande école d'ingénieurs possède ses

propres spécialistes dans le domaine, que ce soit Jorge Angeles à l'Université McGill,

Clément Gosselin à l'Université Laval ou Luc Baron à l'École Polytechnique de Montréal.

Chacun de ces professeurs a publié une multitude d'articles concernant toutes les sortes

possibles des robots parallèles. Dans le cadre de ce rapport, on ne s'attardera cependant

que sur un type particulier : le robot DT sphérique à trois degrés de liberté (le DT veut

dire « double-triangular » ou double-triangulaire en français).

Le modèle théorique du robot étudié dans ce rapport a été mis au point par

Mohammadi Daniali dans sa thèse de doctorat « Contributions to the kinematic synthesis

of parallel manipulators » [4] à l'Université McGill sous la supervision de Jorge Angeles.

La thèse en question contient entre autres les modèles cinématiques directs et inverses

(ces modèles seront expliqués plus en profondeur dans la suite du rapport), les analyses

de singularité ainsi que les designs isotropes de tous les différents manipulateurs

proposés.

Pour ce qui est des modèles cinématiques et géométriques directs et inverses,

ceux-ci font objet d'études très poussées depuis déjà plusieurs dizaines d'années. C'est

surtout l'aide de la communauté mathématique qui a contribué grandement à l'élaboration

de solution aux modèles géométriques directs. Celles-ci sont cependant, en général,

extrêmement complexes et fastidieuses.

Quant aux simulateurs eux-mêmes, plusieurs efforts ont été faits de ce côté-ci.

Entre autres, Ilian Bonev de ParallelMIC a conçu plusieurs simulateurs sous forme de

scripts Matlab [2]. D’autre part, Stéphane Brunet de l’École Polytechnique de Montréal a

aussi conçu un simulateur codé en C++ dont je me suis légèrement inspiré dans la

conception de mon propre simulateur.

Page 9: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

3

Finalement, Jean-Pierre Merlet de l'INRIA en France, qui a contribué grandement

à démystifier les mécanismes parallèles, a publié plusieurs articles et ouvrages et donné

un grand nombre de conférences concernant ses recherches dans le domaine. Ses travaux

intitulés « Parallel robots : open problems » [6] et « Still a long way to go on the road for

parallel mechanisms » [7] en particulier présentent les dernières avances et les principales

lacunes des connaissances actuelles. Ils ont aussi constitué pour moi un point de départ

idéal dans la découverte du monde des robots parallèles.

Page 10: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

4

CADRE THÉORIQUE ET HYPOTHÈSES

État de la recherche

Il existe de nos jours plusieurs solutions qui offrent des simulateurs informatiques

des robots parallèles de toutes sortes. La majorité de ceux-ci, sont toutefois réalisés pour

des interfaces traditionnelles et très peu offrent un niveau de réalisme comparable à celui

des environnements de réalité virtuelle. Un exemple classique est celui des scripts Matlab

qui permettent d'implanter le code nécessaire à la visualisation du mouvement du robot, à

l'intérieur d'une fenêtre. La majorité de ces logicie ls n'offrent qu'un affichage en deux

dimensions, ce qui est totalement insuffisant. Même les logiciels plus complexes qui nous

présentent le robot en trois dimensions sont souvent insuffisants, et ne réussissent guère à

nous faire visualiser le fonctionnement du robot.

Avec l'aide de la réalité virtuelle, nous sommes en mesure de voir le robot presque

comme s'il était en avant de nous et d'interagir avec lui à l'aide d'une manette. Nous

pouvons donc le voir de tous les côtés et examiner son fonctionnement sous une

multitude d'angles, ce qu'aucun écran ne peut faire avec autant de réalisme.

Définitions

Avant d’entrer dans les détails, il serait utile de présenter quelques fondements

des robots parallèles. Premièrement, le terme parallèle désigne « un robot dont l'organe

terminal effecteur est relié à la base par au moins deux chaînes cinématiques

indépendantes, » [7] par opposition à un robot sériel où le nombre de chaînes

cinématiques indépendantes est au nombre d’une seule. Ensuite, les termes distal,

proximal, effecteur et base, désignent les différentes parties du robot, tel qu’illustré sur la

figure 1.

Page 11: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

5

Figure 1 - Différentes parties d’un robot parallèle

Ainsi, la base (jaune) est la partie immobile du robot, l’effecteur (rouge) est

l’organe terminal et les proximaux (verts) et distaux (bleus), qui sont aussi des

actionneurs, sont des liaisons entre la base et l’effecteur.

Ensuite, il est utile d’éclaircir ce que sont les modèles géométriques et

cinématiques directs et inverses. Un modèle géométrique direct (MGD) est une

correspondance directe entre les positions des actionneurs et la position de l’effecteur.

MGD : Positions des actionneurs → Position de l’effecteur

Un modèle géométrique inverse (MGI) est une correspondance directe entre la

position de l’effecteur et les positions des actionneurs. Ainsi, en connaissant la position

de l’effecteur, on déduit celles des membres distaux et proximaux.

MGI : Position de l’effecteur → Positions des actionneurs

Un modèle cinématique direct (MCD) est une correspondance directe entre les

déplacements des actionneurs et le déplacement de l’effecteur.

MCD : Déplacements des actionneurs → Déplacement de l’effecteur

Page 12: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

6

Finalement, un modèle cinématique inverse (MCI) est une correspondance

directe entre le déplacement de l’effecteur et les déplacements des actionneurs.

MCI : Déplacement de l’effecteur → Déplacements des actionneurs

Pour ce qui est des singularités, il s’agît de configurations très particulières où peu

importe les mouvements des actionneurs, il n’est plus possible de bouger le membre

effecteur. Cela arrive par exemple lorsque le déterminant d’une des matrices jacobiennes

du modèle cinématique devient nul.

Simplifications

Lors de l’élaboration du modèle cinématique, deux éléments ont été

négligés. Premièrement, aucun algorithme de détection de collision n’a été implanté. Des

limites ont été simplement placées sur l’étendue des positions possibles des actionneurs

de façon à ce que ces derniers n’entrent pas en interférence avec la base. Il est toutefois

possible qu’une interférence se produise entre les actionneurs et l’effecteur. Un

algorithme de détection de collision peut être extrêmement fastidieux à implanter même

pour des structures relativement simples et il peut grandement réduire la performance du

simulateur dû à des calculs très complexes. Or, étant donné que le but de ce simulateur

n’était que de visualiser le fonctionnement global du robot, ce détail peut être omis.

Deuxièmement, on n’a pas tenu compte de la présence potentielle de singularités.

En fait, les singularités et la détection de collisions sont deux voies de recherches

extrêmement intenses en ce moment. Jusqu’à maintenant, aucun algorithme n’a été

développé qui permettrait de définir un chemin reliant deux points que lconques, libre

d’interférences et de singularités.

Une autre simplification a aussi été faite quant au mouvement de l’effecteur.

Celui-ci est commandé par des matrices jacobiennes qui ne sont précises que lorsque les

déplacements sont infinitésimaux, or ce n’est bien évidemment pas le cas.

Finalement, pour ce qui est de la version du logiciel dans la voûte, il n’est possible

de déplacer qu’un seul actionneur à la fois, ceci dû à une limite au niveau des boutons

disponibles sur la manette. Ainsi, avec un bouton on change d’actionneur et avec deux

Page 13: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

7

autres on les fait tourner. En pratique, on n’agît presque jamais sur un seul actionneur à la

fois. Toutefois, afin d’améliorer l’ergonomie au niveau de l’interaction cette limite a été

posée. Grâce au clavier, cette limite n’existe pas dans la version pour les postes de travail

(UNIX et Windows) et on peut agir sur autant d’actionneurs à la fois que l’on veut.

Page 14: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

8

MÉTHODOLOGIE DE TRAVAIL

Modèle 3D

Avant de commencer à programmer le fonctionnement du robot, il a d’abord fallu

modéliser le robot dans un logiciel de CAO. Le point de départ a donc été la conception

du robot dans CATIA V5R8 et l’exportation dans un format facilement lisible. À ce

moment précis plusieurs formats se présentent à nous : VRML, STEP, STL... Parmi

ceux-ci, c’est le format STL qui est le plus facile à récupérer. Ce format est un maillage

triangulaire de la surface du solide. Le fichier est donc structuré par facettes définies par

quatre vecteurs : un vecteur normal est trois pour définir les trois sommets du triangle.

Ceux-ci peuvent être récupérés directement et stockés dans des éléments GLTriangles où

les vecteurs normaux servent à calculer la réflectivité de l’élément.

Position initiale

Afin de positionner les structures récupérées, il faut résoudre plusieurs systèmes

d’équation à l’aide de l’algèbre linéaire. Avant de fournir toutes les équations, définissons

d’abord une série de vecteurs unitaires. Les vecteurs →

iP définissent les positions des

membrures de la base, les vecteurs →

iQ définissent les positions des membrures de

l’effecteur et, finalement, les vecteurs →

iR définissent les positions des actionneurs.

Toutes les coordonnées sont données dans un référentiel où le plan xz définit le

« plancher » et y est l’axe vertical (le vecteur →→

et( ) T841.25 0 TD 0 Tc ( ) Tj 5.25 0 Tf -047607 Tc 047607 Tw (l’axt ) Tj867.5 0 TD /F4 12 Tf -0.078 Tc 0 Twx56

rs − −

ii i ii i ii

Page 15: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

9

Ensuite, nous supposons, que les vecteurs de l’effecteur →

iQ sont le résultat d’une

rotation de π/3 par rapport au vecteur

01

0

. On obtient alors :

−−=

−=

=→→→

8164965809.05773502692.0

0

4082482904.05773502692.0

7071067812.0

4082482904.05773502692.0

7071067812.0

321 QQQ [2]

Finalement, le vrai défi est de trouver les positions des effecteurs qui

correspondent à cette position de l’effecteur. Afin de trouver les vecteurs →

iR , nous allons

résoudre le système d’équations suivant, en supposant que les trois actionneurs sont à la

même position sur les trois rampes :

[ ]( ) ( )( ) ( )( ) ( )

[ ]( )

( ) ( )( ) ( )

[ ] [ ]

=

++−

−=

+−−

−−−=

baselasurPositioneffecteurlsurPosition

effecteurlsurPosition

baselasurPosition

'cos8164965811.0sin4082482905.0sin5773502694.0cos5773502693.0

sin7071067812.0'

cos4082582905.0sin4082482905.0cos5773502692.0sin5773502692.0

sin70710678120cos7071067812.0

αααα

αββ

ββββ

[3]

où β est l’angle qui définit la position de l’actionneur sur la base et α est l’angle

qui définit la position de l’actionneur sur l’effecteur tel qu’illustré à la figure 2 (voir

détails à l’annexe A).

Page 16: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

10

Figure 2 - Angles β et α

La solution de ce système donne α = 0.4636476093, ce qui nous permet d’obtenir

les vecteurs →

iR .

−=

=

−−=

→→→

5477225574.07745966694.0

3162277663.0

07745966694.0

6324555326.0

5477225579.07745966694.0

3162277659.0

321 RRR [3]

La figure 3 illustre les neuf vecteurs discutés ci-haut.

Figure 3 - Vecteurs →

iP , →

iQ et →

iR

Quant aux rotations des membres proximaux, elle est simplement obtenue

approximativement en calculant les angles entre les vecteurs →

iP et

→→

+ ii RQ 1 .

Ainsi, nous obtenons tout ce qui est nécessaire au positionnement initial de tous

les membres. La prochaine étape consistera à déterminer les déplacements de l’effecteur

en fonction des déplacements des actionneurs.

Page 17: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

11

Modèle cinématique direct

Le modèle cinématique direct avait déjà été élaboré pour ce type de robot par

Daniali [4]. Celui ci est une équation linéaire qui met en relation les déplacements des

trois actionneurs et les trois rotations de l’effecteur.

0=+ ωθrr

& KJ [4]

où les matrices J et K sont des matrices Jacobiennes définies comme suit :

×

×

×

=

→→→

→→→

→→→

333

222

111

00

00

00

PQR

PQR

PQR

J [5]

et

×−

×−

×−

=→→

→→

→→

T

T

T

QR

QR

QR

K

)(

)(

)(

33

22

11

[6]

et les vecteurs ωr

et θr& sont définis respectivement comme le vecteur des vitesses

angulaires de l’effecteur et le vecteur des taux de rotation des trois actionneurs.

Algorithme et programmation

Une fois toute la théorie élaborée, on peut se lancer dans la mise en place d’un

algorithme pertinent. Ainsi, on commencera par implanter toutes les fonctions nécessaires

aux calculs algébriques. Ensuite, il faudra implanter la fonction d’affichage, qui balaiera

toutes les membrures et les positionnera aux endroits voulus. Finalement des fonctions

spéciales seront requises pour l’interface usager. Lors de l’exécution, le logiciel devra

tout d’abord initialiser tous les vecteurs, afficher le robot et ensuite appeler les fonctions

algébriques et redessiner la scène à chaque fois qu’une commande est interceptée. Voici

Page 18: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

12

une liste abrégée de toutes les étapes de la programmation en environnement Visual C++

avec les librairies OpenGL :

• Mise en place de l’interface graphique OpenGL

• Création des fonctions algébriques

o implantation des opérations algébriques : vecteur × vecteur,

vecteur · vecteur, matrice × vecteur, matrice × matrice,

matrice + matrice etc.

o création de matrices de rotation autour d’un vecteur quelconque

o détermination des angles de rotation de l’effecteur en fonction des

rotations des actionneurs

o calcul de l’angle entre deux vecteurs

o normalisation d’un vecteur

• Fonction d’affichage des membrures du robot aux positions voulues

• Interaction avec l’usager (actionneurs)

Le résultat de cette étape est un programme totalement fonctionnel et indépendant

permettant de visualiser le robot en 3D et d’interagir avec lui, à l’aide du clavier par

exemple.

Toutes ces fonctions seront décrites plus en détail dans la partie Programmation.

Implantation dans la Voute

Une fois le programme créé en OpenGL, on n’a plus qu’à rajouter les fonctions

d’initialisation de la Voute, à réimplanter les fonctions responsables de l’interaction et à

modifier les noms de quelques fonctions pour qu’il soit fonctionnel dans l’environnement

de réalité virtuelle. En gros, il s’agît de remplacer toutes les fonctions de la librairie

GLUT par celles de la librairie CAVE_OGL.

Page 19: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

13

PROGRAMMATION

Fonctions algébriques

Opérations élémentaires

Premièrement, il faut implanter toutes les fonctions de l’algèbre linéaire

suivantes :

−−−

==×

1221

1331

2332

321

321

vuvuvuvuvuvu

vvvuuukji

vu

rrr

rr [7]

332211 vuvuvuvu ++=⋅rr

[8]

++++

++

=

333232131

323222121

313212111

umumumumumum

umumum

uAr

[9]

++++++++++++

++++++

=

333323321331323322321231313321321131

332323221321322322221221312321221121

331323121311321322121211311321121111

babababababababababababababababababa

bababababababababa

AB [10]

++++++

+++

=+

333332323131

232322222121

131312121111

babababababa

bababa

BA [11]

où A et B sont des matrices est ur

et vr

sont des vecteurs unitaires.

Matrice de rotation

Une fonction spéciale a été implantée qui permet de créer une matrice de rotation

autour d’un axe quelconque :

Page 20: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

14

où α est l’angle de rotation en radians et ur

est le vecteur unitaire définissant l’axe

de rotation.

Angles do rotation des l’effecteur en fonction des taux de rotation des actionneurs

Une fonction a été créée qui prend comme paramètre les vecteurs de position →

iP ,

iQ et →

iR , ainsi que le vecteur θr& et la matrice de rotation de l’effecteur précédente

(lorsque cette fonction est appelée pour la première fois, la matrice de rotation de

l’effecteur est une matrice identité) et détermine le vecteur ωr

correspondant et la

nouvelle matrice de rotation. Voici la procédure qui décrit les différentes étapes des

calculs :

1. Création des matrices jacobiennes J et K, tel que décrit par les équations 5 et 6

2. Multiplication de la matrice jacobienne J par le vecteur θr&

θr&J

3. Calcul du déterminant de la matrice jacobienne K

K

4. Si le déterminant est non nul, on continue, sinon, on arrête

5. Inversion de la matrice jacobienne K

1−K

6. Multiplication de l’opposé du résultat de 5. par le résultat de 2., ce qui donne

le vecteur ωr

ωθrr

& =− − JK 1

( )( ) ( ) ( )( ) ( ) ( )( ) ( )( )( ) ( ) ( )( ) ( ) ( )( ) ( )( )( ) ( ) ( )( ) ( ) ( )( ) ( )

[ ]12coscos1sincos1sincos1sincos1coscos1sincos1

sincos1sincos1coscos1

23132231

1322

2321

2313212

1

+−+−−−−−+−+−

+−−−+−=

αααααααααααα

αααααα

uuuuuuuuuuuuuu

uuuuuuuM rot

Page 21: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

15

7. Création de trois matrices de rotation, tel que décrit par l’équation 12, à partir

des trois angles obtenus

8. Multiplication des trois matrices dans un ordre quelconque, ce qui donne la

matrice de rotation globale

9. Il faut ensuite multiplier cette matrice par la matrice précédente afin d’obtenir

un résultat cumulatif

10. C’est la matrice cumulative qui servira à mettre à jour l’affichage alors que la

matrice non cumulative servira à mettre à jour les vecteurs de position →

iP , →

iQ

et →

iR .

Angles de rotation des proximaux

Les angles de rotation des proximaux sont simplement obtenus en calculant les

angles entre les vecteurs →

iP et

→→

+ ii RQ 1 . Premièrement, on effectue un produit

vectoriel entre les deux vecteurs, ensuite on calcule la norme du résultat. L’angle entre les

deux vecteurs est égal au arc cosinus de la norme (étant donné que les vecteurs sont

unitaires).

Affichage

Voici une description détaillée de la procédure servant à affiche r les différents

membres du robot. Il est important de noter que chacune des membrures est définie par

une série de facettes de trois sommets dans les référentiels illustrés aux figures ci-

dessous. La figure 4 illustre le référentiel de la base, la figure 5 celui de l’effecteur, la

figure 6 celui des distaux et la figure 7 celui des proximaux.

Page 22: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

16

Figure 4 - Système de référence pour la base

Figure 5 - Système de référence pour l’effecteur

Figure 6 - Système de référence pour les distaux

Page 23: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

17

Figure 7 - Système de référence pour les proximaux

Ainsi, il suffit de se positionner au bon endroit avec la bonne orientation et

d’appeler la fonction d’affichage du solide approprié. Cette dernière dessine tout

simplement des triangles sans se soucier de l’emplacement réel; c’est la matrice courante

qui s’occupe des transformations des coordonnées nécessaires.

1. Nettoyage de l’écran

2. (Ré)Initialisation de la matrice

3. Application du matériau pour la base

4.

Page 24: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

18

8.3. Appel de la fonction d’affichage avec l’effecteur comme paramètre

8.4. Retour à la matrice enregistrée

9. Enregistrement de la matrice

9.1. Rotation autour du vecteur (0.0, 0.0, 1.0) pour placer le distal et le

proximal

9.2. Enregistrement de la matrice

9.2.1. Rotation autour du vecteur (1.0, 1.0, 0.0) pour tourner le

proximal autour de son axe

9.2.2. Application du matériau pour le proximal

9.2.3. Appel de la fonction d’affichage avec le proximal comme

paramètre

9.2.4. Retour à la matrice enregistrée

9.3. Application du matériau pour le distal

9.4. Appel de la fonction d’affichage avec le distal comme paramètre

9.5. Retour à la matrice enregistrée

10. Rotation de 120 degrés autour du vecteur (1.0, 1.0, 1.0)

Les étapes 9. et 10. sont ensuite répétées 2 fois afin de dessiner les deux autres

proximaux et distaux.

Page 25: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

19

DISCUSSION DES RÉSULTATS

Les résultats obtenus sont plus que satisfaisants. En effet, le fait de voir le robot

comme s’il était devant nous aide énormément dans la compréhension du mécanisme.

Cependant deux problèmes se font sentir à l’exécution.

Pour les raisons explicités auparavant, le fait d’utiliser un modèle cinématique et

non géométrique fait en sorte que les déplacements du membre effecteur accumulent, tel

que prévu, des imprécisions de plus en plus importantes. Ainsi, après un certain temps

l’effecteur peut même sortir des jointures qui sont censés le retenir et le guider. Le seul

moyen de palier complètement à ce problème serait d’implanter un modèle géométrique

direct, ce qui est pratiquement infaisable dû au nombre élevé de solutions possibles et à la

complexité des équations. Une solution plus réaliste serait de considérer des rotation des

actionneurs plus petites, de façon à ce que les déviations engendrées soient, elles aussi,

plus petites. Ceci est cependant coûteux en temps machine, surtout lorsque les taux de

rotation deviennent très petits. Le simulateur ne doit donc être utilisé que durant un temps

limité et, lorsque les imprécisions deviennent significatives, il doit être réinitialisé.

Finalement, un dernier problème mineur se fait sentir au niveau de la résolution de

l’image projetée. Le fait d’avoir choisi un format de type STL fait en sorte que le robot

soit composé d’une multitude de petits triangles obtenus par maillage de la surface

extérieure de celui-ci. Afin de palier à ce problème on pourrait soit changer de format

pour par exemple STEP ou VRML qui sont des formats de type plus topologique ou

d’augmenter la taille du robot par un certain facteur avant de l’exporter et ensuite diviser

toutes les coordonnées par ce même facteur. Les triangles obtenus seraient plus petits,

mais leur quantité croîtrait. De cette manière, le logiciel occuperait une place beaucoup

plus importante en mémoire et s’exécuterait plus lentement.

Page 26: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

20

CONCLUSION

La réalisation du présent projet s’est déroulée en plusieurs étapes, chacune

desquelles ayant exigé la familiarisation avec un univers complexe et vaste. Le domaine

des robots parallèles en est encore un qui se développe de jour en jour et où d’importantes

recherches se déroulent partout à travers le monde. La recherche bibliographique sur ce

sujet n’a donc pas été un obstacle.

Mis à part les robots parallèles et tout ce qui les entoure, le projet consistait aussi

en la programmation du simulateur en C++/OpenGL et en l’implantation du code dans

l’environnement de réalité virtuelle CAVE. Pour ce qui est de la programmation en C++

et en OpenGL, la documentation est bien évidemment abondante sur ces sujets. Les

choses se compliquent légèrement lorsque l’on parle de l’environnement CAVE. En effet

la documentation sur le sujet est très rare et souvent même ne s’applique qu’à des cas

particuliers de configurations spécifiques.

Les résultats du projet sont plus qu’encourageants à poursuivre les efforts mis

dans l’implantation de simulateurs de phénomènes difficiles à visualiser dans

l’environnement de réalité virtuelle. Ceci permet d’avoir une compréhension beaucoup

plus précise du phénomène et surtout d’épargner de l’argent investi dans la réalisation de

prototypes.

Page 27: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

21

RECOMMANDATIONS

Une prochaine étape qui pourrait poursuivre les efforts mis dans le présent projet

pourrait être l’élaboration d’un moteur graphique permettant une implantation facile de

tout autre type de robot. Étant donné que le but de ce projet n’était que la visualisation

d’un seul type de robot, le code développé est très statique et s’adapte très difficilement à

l’implantation d’un quelconque autre type. De la même sorte il est impossible de changer

les dimensions des membrures, ce qui pourrait pourtant être intéressant afin de pouvoir

optimiser la géométrie.

D’autre part, le code développé dans ce projet n’exploite qu’une infime partie des

capacités de l’environnement virtuel offert par la CAVE. Il serait intéressant de le

développer afin qu’il exploite mieux ses fonctionnalités, en particulier celles de

l’interaction avec l’usager.

Page 28: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

22

RÉFÉRENCES

[1] BAKER, P., http://archive.ncsa.uiuc.edu/Vis/ImmersaVis/Notes/course.html,

National Center for Supercomputing Applications, University of Illinois, 1997.

[2] BONEV, I., Simulation of 3–RRR Planar Parallel Manipulators, 2000.

[3] COMPANY, O. http://www.lirmm.fr/~company/fr/robot_fr/robot_fr_2.htm,

Laboratoire d'Informatique, de Robotique et de Micro-électronique de

Montpellier.

[4] DANIALI, M., “Contributions to the kinematic synthesis of parallel

manipulators”, Department of Mechanical Engineering, McGill University, mars

1995.

[5] DANIALI, M., ZSOMBOR-MURRAY, P.J., ANGELES, J., Direct kinematics of

double-triangular parallel manipulators, McGill Centre for Intelligent Machines

and Department of Mechanical Engineering, McGill University, 1995.

[6] MERLET, J.P., “Parallel Robots: Open Problems” INRIA, BP 93, 06902 Sophia-

Antipolis.

[7] MERLET, J.P., “Still a long way to go on the road for parallel mechanisms”,

INRIA Sophia-Antipolis, ASME 2002 DETC Conference, Montréal.

[8] PAPE, D., CRUZ-NEIRA, C., CZERNUSZENKO, M.,

http://www.cours.polymtl.ca/inf6802/notes/CAVEUserGuide/index.html,

Electronic Visualization Laboratory, University of Illinois at Chicago , 1997.

[9] SABSABY, M., “Synthèse d’un manipulateur parallèle sphérique à trois degrés de

liberté », École Polytechnique de Montréal, janvier 2002.

[10] WANG, J., GOSSELIN, C., “Representation of the singularity loci of a special

class of spherical 3-DOF Parallel manipulator with revolute actuators,

Département de génie mécanique, Université Laval, Québec.

Page 29: MODÉLISATION D UN ROBOT PARALLÈLE SPHÉRIQUE DANS UN ... · DE RÉALITÉ VIRTUELLE. RÉSUMÉ Le sujet du rapport est la présentation d’un projet consistant en la réalisation

23

[11] ZHANG, D., XI, F., MECHEFSKE, C., “Kinematic Analysis of a Spatial 3-DOF

Parallel Manipulator”, Integrated Manufacturing Technologies Institute, National

Research Council of Canada, London, ON.

[12] Grand dictionnaire terminologique, http://www.granddictionnaire.com, Office

national de la langue française, 1999