1 / 45

Réalité virtuelle et interaction avec des wiimotes

Réalité virtuelle et interaction avec des wiimotes. Projet tuteuré 2012-2013. jeudi 30 mai 2013. De Decker Claudine Faure Julie Gouit Benjamin Helbling Allan 4 ème année Informatique et Réseaux, INSA Toulouse. Tuteur : Thierry Monteil. Plan. I. Présentation du projet

hamlet
Download Presentation

Réalité virtuelle et interaction avec des wiimotes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Réalité virtuelleet interaction avec des wiimotes Projet tuteuré 2012-2013 jeudi 30 mai 2013 De Decker Claudine Faure Julie Gouit Benjamin Helbling Allan 4ème année Informatique et Réseaux, INSA Toulouse Tuteur : Thierry Monteil

  2. Plan • I. Présentation du projet • 1. Définition du sujet • 2. Conduite de projet • 3. Scénarii • II .Morse/Blender • 1. Présentation de Blender • 2. Présentation de Morse • 3. Capteurs/Actionneurs • 4. Scénario mis en œuvre • 5. Bilan sur les outils • III. Interface • 1. Communication Morse-Frameself • 2. Fonctionnement de Morse • 3. Interface côté Morse • 4. Problèmes rencontrés • 5. Sensor • 6. Collector/Dispatcher • IV. FRAMESELF • 1. Présentation • 2. Fonctionnement • 3. Règles Drools • 4. Testeur Framself • 5. Bilan • V. Wiimotes

  3. I. Présentation du projet • « Réalité virtuelle et interaction avec des Wiimotes » • Objectifs : • Contruire, représenter et interagir avec un monde virtuel • Sujet « Création de capteurs et actionneurs dans l'appartement virtuel du laas afin de mettre en oeuvre divers scenarii »

  4. I. Présentation du projet • ADREAM

  5. I. Présentation du projet • Diagramme de Gantt

  6. I. Présentation du projet • Objectif : Sécuriser un appartement • Scenarii envisagés :

  7. I. Présentation du projet OU

  8. I. Présentation du projet Capteur de pression au sol

  9. I. Présentation du projet

  10. I. Présentation du projet • Scenario retenu

  11. II. Morse / Blender • Blender : • Logiciel open source, performant, léger et multiplateforme

  12. II. Morse / Blender

  13. II. Morse / Blender • Morse : Modular OpenRobots Simulation Engine • Environnement : Blender • Intelligence : Scripts python

  14. II. Morse / Blender • Robots : • Capteurs : • Thermomètre, caméra, position • Actionneurs : • Son, lumière, mouvement

  15. II. Morse / Blender

  16. II. Morse / Blender

  17. II. Morse / Blender • Un actionneur : Son (On/Off) • Script morse appelle la fonction Sound de Blender

  18. II. Morse / Blender

  19. II. Morse / Blender

  20. II. Morse / Blender

  21. II. Morse / Blender

  22. II. Morse / Blender • Script du scenario

  23. II. Morse / Blender • Simulation du scenario (carte de l’apparte-mentdu LAAS)

  24. II. Morse / Blender • Données envoyées par le thermomètre

  25. II. Morse / Blender • Données envoyées à l’alarme

  26. II. Morse / Blender • Bilan sur les outils utilisés : • Blender : très puissant mais difficile à prendre en main • Morse : très bon outil pour simuler la robotique mais encore en développement • Python : Découverte du langage

  27. III. Interface 1. Communication Morse - FRAMESELF • Pourquoi faire communiquer Morse et FRAMESELF ? • Quel intérêt ? • Comment le faire ?

  28. IV. Interface 1. Communication Morse - FRAMESELF Morse Morse Interface Java FRAMESELF FRAMESELF

  29. III. Interface Comment fonctionne Morse • Envoi de message : port 4000 - Tout ce qui est relatif à la simulation • 60000, 60001, ... - Tout ce qui est relatif aux capteurs et aux actionneurs • Possibilité d'utiliser telnet

  30. III. Interface Interface côté Morse • Utilisation de sockets Java en entrée et sortie • Découpage du String reçu en paramètre stockage de l’id et de sa valeur dans une Hashmap

  31. III. Interface Problèmes rencontrés • Fermeture des sockets, mais non bloquant à l'instar de telnet • Format des messages : {"x": 0.3566, "pitch": -0.0001023715} • Utilisation d'expressions régulières

  32. III. Interface Sensor • Création d'une classe Sensor • Renvoie un Event interprété par Collector • Permet la traduction entre Morse et Frameself • Informations contenues : • Nom du capteur • Catégorie • Valeur • Emplacement

  33. III. Interface Collector • Transmet les Events reçus de la partie morse à FRAMESELF sur 127.0.0.1:5000 Dispatcher • Recoit les Actions de FRAMESELF sur 127.0.0.1:6000 et les transmet à la partie morse sous forme textuelle

  34. IV. FRAMESELF Présentation • Logiciel d'autonomic computing • Génère une IA pour un système • Compatible universellement : OS et software, grâce au Java

  35. IV. FRAMESELF Fonctionnement

  36. IV. FRAMESELF Règles Drools • Règles claires, i.e. non ambigües et compréhensibles par tous • Utilise le chainage avant (méthode de déduction) • Règles partant de prémisses pour en déduire de nouvelles conclusions • Pars de données disponibles pour extraire davantage de données

  37. IV. FRAMESELF Règles Drools rule "add TemperatureHigh" when Event($id: id, category == "Temperature", $value: value, Integer.parseInt(value) >= 40, $location: location) then Symptom symptom = new Symptom(); symptom.setCategory("TemperatureHigh"); symptom.setValue($value); symptom.setLocation($location); symptom.setTimestamp(new Date()); symptom.setExpiry(new Date (System.currentTimeMillis()+4000)); insert(symptom); end

  38. IV. FRAMESELF Règles Drools rule "addRingAlarmrfc" when Symptom(category == "TemperatureHigh", $locationPres: location) Symptom(category =="AlarmStateOff",location==$locationPres) then Rfcrfc = new Rfc(); rfc.setCategory("RingAlarm"); rfc.setValue("0"); rfc.setLocation($locationPres); rfc.setTimestamp(new Date()); rfc.setExpiry(new Date(System.currentTimeMillis()+4000)); insert(rfc); end

  39. IV. FRAMESELF Testeur FRAMESELF

  40. IV. FRAMESELF Bilan • Outil très puissant et très simple d'utilisation • Permet en quelques règles de créer une IA complète • Bonne découverte de l'autonomic computing

  41. V. Wiimotes • Utilisation de wiimotes • API wminput (utilisation la bibliothèque cwiid) • Possibilité d'utiliser wmgui (interface graphique, plus précis)

  42. V. Wiimotes • wminput : • mappage par défaut insuffisant • fichier de configuration • contrôle du robot avec la wiimote et le nunch • Exemple de mappage Plugin.nunchuk_stick2btn.Up = KEY_UP Plugin.nunchuk_stick2btn.Down = KEY_DOWN Plugin.nunchuk_stick2btn.Left = KEY_LEFT Plugin.nunchuk_stick2btn.Right = KEY_RIGHT

  43. Conclusion • Cadre : cahier des charges, partage des tâches • Aspects moins scolaires : Blender, Wiimotes, ... • Découverte de nouveaux langages - nouveaux logiciels • Contact avec les chercheurs

  44. Conclusion • Axes de réflexion • Approfondissement des notions • Ecriture de jmorse (Java Morse) • Création de capteurs/ actionneurs • Réécriture du script wiimote

  45. Conclusion • Remerciements • Thierry Monteil, pour nous avoir guidé et proposé un sujet réellement intéressant • Pierrick Koch, pour sa disponibilité • Mamoun Gharbi, pour ses conseils • Madhi Ben Alaya, pour sa réactivité • Sami Hamadouche, pour son ouverture

More Related