Rapport Projet Virtual Robots

  • View
    623

  • Download
    4

Embed Size (px)

DESCRIPTION

Les robots sont de plus en plus prsents: ils sont dj utiliss pour les tches domestiques, dans les entreprises, et pour aider les personnes ges et/ou handicapes dans leur travail ou activits de la vie quotidienne. La collaboration humain-robot a jusquici t tudie dans le contexte dapplications industrielles avec un focus sur les aspects lis lacceptabilit et la scurit. Au Japon les nouveaux robots industriels ont des caractristiques anatomiques humaines dont lobjectif est de modifier les relations affectives avec les humains qui travaillent leur ct. Les techniques de ralit virtuelle permettent dimmerger un humain dans un environnement 3D dans lequel il peut interagir et collaborer de manire naturelle avec des entits virtuelles ayant des formes diverses (humains, humanodes, robots, etc.). Par consquent, cela permet de tester les ractions dun humain face des interactions avec diffrents robots sans avoir besoin de les acheter et de les installer. Ce projet donc pour but de crer diffrentes activits entre un humain et un robot virtuel, pour ensuite analyser le comportement et le ressenti de lutilisateur.

Transcript

  • 1. Projet Virtual Robots Julien GOETHAL et Adrien LIOTARD 2013-2014

2. Table des mati`eres 1 Introduction 2 1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Cahier des charges : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Les outils utilises : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3.1 Unity3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3.2 Blender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3.3 Equipements dinterface homme-machine : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Lenvironnement virtuel 6 2.1 Le niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Un premier robot : le bras mecanique Staubli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Nao, le robot humanode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Jeux et taches collaboratives 10 3.1 Utilisation du Leap Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Utilisation du Razer Hydra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 Utilisation de lOculus Rift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4 Le ressenti de lutilisateur 14 4.1 Param`etres `a prendre en compte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.1 Donnees objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.2 Donnees subjectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Interpretation des donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5 Conclusion 15 5.1 Apports personnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.2 Axes damelioration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.3 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6 Annexes 17 6.1 Scripts pour le Leap Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2 Scripts pour le Razer Hydra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1 3. Chapitre 1 Introduction 1.1 Contexte Les robots sont de plus en plus presents : ils sont dej`a utilises pour les taches domestiques, dans les entreprises, et pour aider les personnes agees et/ou handicapees dans leur travail ou activites de la vie quotidienne. La collaboration humain-robot a jusquici ete etudiee dans le contexte dapplications industrielles avec un focus sur les aspects lies `a lacceptabilite et la securite. Au Japon les nouveaux robots industriels ont des caracteristiques anatomiques humaines dont lobjectif est de modier les relations aectives avec les humains qui travaillent `a leur cote. Les techniques de realite virtuelle permettent dimmerger un humain dans un environnement 3D dans lequel il peut interagir et collaborer de mani`ere naturelle avec des entites virtuelles ayant des formes diverses (humains, humanodes, robots, etc.). Par consequent, cela permet de tester les reactions dun humain face `a des interactions avec dierents robots sans avoir besoin de les acheter et de les installer. Ce projet a donc pour but de creer dierentes activites entre un humain et un robot virtuel, pour ensuite analyser le comportement et le ressenti de lutilisateur. 1.2 Cahier des charges : Phase 1 : Developper un environnement virtuel et y integrer dierents types de robots modelisation de lenvironnement modelisation des robots (apparence visuelle et squelette animable) integration de lenvironnement et des robots dans la plateforme logicielle Livrable 1 : Description et rendu 3D de chaque robot et de lenvironnement, et visualisation de lenvironnement de travail dans Unity3D. Phase 2 : Denir et simuler des taches collaboratives entre lutilisateur humain et le robot virtuel (manipulation dobjets par exemple) denition precise de la tache (reactions correspondantes aux actions de lutilisateur) developpement des scripts logiciels adaptes tests utilisateur Livrable 2 : Description de lenchanement des actions, scripts developpes et description detaillee des tests utilisateur. Phase 3 : Integrer des interfaces de realite virtuelle pour augmenter le realisme et limmersion (capteurs de mouve- ment LEAP Motion et Kinect, casque de visualisation Oculus Rift, dispositif de controle Razer Hydra). Livrable 3 : Verication du bon fonctionnement des interfaces de realite virtuelle lors de lexecution des taches crees lors de la phase 2. Phase 4 :Realiser des tests utilisateurs : Evaluer linuence de larchitecture et le comportement du robot sur le comportement et letat emotionnel de lhumain Recueil de donnees subjectives (questionnaires) et objectives (mouvements de lhumain, signaux physiolo- giques, etc.) Livrable 4 : Compilation et interpretation des donnees recueillies 2 4. 1.3 Les outils utilises : 1.3.1 Unity3D Unity3D est un moteur de jeux video, cest `a dire un logiciel permettant de concevoir un environnement virtuel compose de mod`eles 3D (appeles assets) controles par des scripts. Par exemple pour un jeu de course automobile, un ensemble dassets statiques servira `a representer le circuit (routes, barri`eres, panneaux, arbres, etc), tandis que les assets correspondants aux voitures seront commandes par des scripts. Ainsi la voiture pilotee par le joueur sera associee `a un script reagissant aux entrees du clavier pour gerer la direction et la vitesse du vehicule, tandis que les adversaires seraient controles par une intelligence articielle. Dans le cadre de notre projet, il ny a pas dadversaires mais des robots avec lesquels le joueur va pouvoir interagir. Mais contrairement `a un jeu video traditionnel, o`u lon controle son avatar au moyen du clavier et de la souris (ou dune manette) et o`u on voit le monde virtuel `a travers un ecran, ici lobjectif est de rendre lexperience beaucoup plus immersive. En eet, lutilisateur va eectuer ses actions au moyen de peripheriques innovants (decrits plus bas), qui reagissent aux mouvements des mains ou de la tete et qui permettent une interaction plus naturelle avec les objets virtuels. 1.3.2 Blender Blender est un programme de modelisation 3D. Il permet de creer des mod`eles en 3 dimensions `a partir dobjets simples (cube, cylindre, sph`ere, etc) qui peuvent ensuite etre modies au moyens de fonctions volumiques telles que lextrusion, la rotation, la mise `a lechelle, ou directement en deplacant les points du maillage correspondant au mod`ele. Grace `a Blender, il est donc possible de creer toutes sortes dobjets en 3D, qui pourront ensuite etre importes dans Unity en tant quassets. 1.3.3 Equipements dinterface homme-machine : Les peripheriques utilises Leap Motion Le Leap Motion est un dispositif permettant de detecter les mouvements des mains. De la taille dune grosse cle USB, il detecte tr`es precisement la position et lorientation des mains ainsi que celle des doigts, 3 5. au moyen de trois LED et deux cameras infrarouges (bien visibles sur le kit de developpement ci-dessous). Les informations en provenance des cameras sont ensuite traitees selon un algorithme complexe (tenu secret par ses concepteurs), ce qui permet `a lordinateur de voir les gestes eectues par lutilisateur et ainsi de piloter divers programmes de facon plus naturelle et intuitive quavec une souris ou une manette. Leap Motion Structure interne Razer Hydra Le Razer Hydra est un controleur de jeu compose de deux manettes `a detections de mouvements reliees `a une base munie dune bobine electromagnetique. Le maniement des manettes est tr`es similaire `a celui du Nunchuk equipant la console Nintendo Wii, et permet donc de nombreuses interactions avec un jeu video : maniement dune raquette ou dune epee, reproduction des mouvements des mains, etc. Razer Hydra Oculus Rift LOculus Rift est un peripherique de realite virtuelle se presentant sous la forme dun masque recouvrant les yeux de lutilisateur. Equipe dun ecran LCD ainsi que de deux lentilles, Il permet `a lutilisateur de voir en 3D un monde virtuel avec un grand champ de vision, ce qui permet davoir la sensation detre present dans le monde du jeu. Dautres part, divers capteurs detectant lorientation de la tete renforcent encore ce sentiment dimmersion en adaptant dynamiquement limage par rapport au regard du joueur. 4 6. Oculus Rift 5 7. Chapitre 2 Lenvironnement virtuel 2.1 Le niveau D`es le debut, nous avons choisi de placer lutilisateur dans un environnement futuriste, qui justierait la presence des robots. Diverses pistes ont ete explorees, en sinspirant de certains lms et jeux videos `a larchitecture particuli`ere (Oblivion, Portal,...). Finalement notre choix sest porte sur le niveau Robots Lab, present sur lAsset store dUnity, ce qui a facilite son integration dans le projet. 2.2 Un premier robot : le bras mecanique Staubli Ce bras robotique industriel est pourvu de plusieurs servomoteurs qui lui conf`erent 6 degres de liberte et donc une grande mobilite. Notre choix sest porte sur ce mod`ele car lISTIA en poss`ede un exemplaire dans la salle de travaux pratiques dautomatique, et il serait donc envisageable de creer des interactions entre le mod`ele virtuel et reel. Le bras robot Staubli Le script ci-dessous a ete lun des premiers a etre ecrit lors du projet, il permet de controler les dierentes articulations du bras avec les touches du clavier et les mouvements de la souris, ou encore en