Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP 2013 - Interfaces Multimodales



Documents pareils
µrv : Realité Virtuelle

Documentation utilisateur. [EIP] TransLSF

Système de vidéoconférence avec périphériques

Sommaire. Leap motion Technologie Fonctionnement Langages utilisés Possibilités d utilisation... 4


Pour les futurs développeurs Sommaire

Création de jeu vidéo

Working with Kinect. Intelligence Ambiante. Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI

ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28

Riddle Blocks. Jeu sous Android. - Yann Bertrand. Membres de l'équipe : - Clément Guihéneuf TS5. - Guillaume Renotton TS4

EIP 2012 Projet Livepad. Documentation technique 1.5

Projet Robot Centaure

L environnement de travail de Windows 8

Un ordinateur, c est quoi?

La visio-conférence holographique : Pourquoi? Comment?

EPIJEUX-WIN POUR MATERNELLE ET ELEMENTAIRE AUTEUR : JEAN-FRANÇOIS LUCAS. Documentation. «Labypro»

Fabriquer son TBI avec une manette de jeu WII

Interface Homme-Machine 1

ANNEXE - INNOVATIONS. processus, nom masculin

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

L'émulateur multi-système

FICHE PEDAGOGIQUE. Questions à poser. - Avant de démarrer l ordinateur,

MASTER 2 INFORMATIQUE - UNIVERSITE DE FRANCHE-COMTE. Projet Kinect. Détection de mouvements intempestifs dans un bloc opératoire

Le programme détaillé. Salle A07 Salle A06 Salle A04. Initiation à DirectX. Création de Mods Minecraft

The Grid 2: Manuel d utilisation

geek Soyez le de l été! PHP :HIKONB=^UZ^Z]:?k@b@g@p@a"; Découvrez Chrome, Firefox, IE, Safari Enquête écoles Diplômes : quel prix

Chapitre 4 Pierre, papier, ciseaux

Windows 8 Installation et configuration

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

MANUEL INTÉGRÉ EA SPORTS GRAND CHELEM TENNIS 2

BARDIAU Romain CRĂCIUN Anamaria DANILUC Dora SAVU Alexandra SOUTI Bilal [DÉVELOPPEMENT D'UNE API DE RECONNAISSANCE DE GESTES POUR LE CAPTEUR KINECT]

L écran du marais : Comment configurer le viewer OpensSim

Dossier 03 Périphériques d acquisition

F7495. Guide Windows 8 pour ordinateurs portables ASUS

Composition d un ordinateur :

Jeux vidéo - Médiathèque Départementale Septembre 2014 pierresvives.herault.fr

Comment configurer X-Lite 4 pour se connecter au serveur Voip de Kavkom?

MANUEL TBI - INTERWRITE

Développement d un moteur de jeu vidéo pour la console Nintendo Wii U et portage d un jeu

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

La programmation orientée objet et le langage C++

13) Calibrage du tableau Interwrite Dualboard

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Assistance à distance sous Windows

Environnement logiciel open source pour la création d œuvres artistiques interactives

Guide de démarrage rapide. (pour la version 5.0.)

Getting started with Logitech HD Pro Webcam C910

VidZone, qu est-ce que c est? INSTALLATION DE VidZone

Rapport du projet de recherche

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Découvrez Windows NetMeeting

DE LA NUMÉRISATION DES ACTIONS PHYSIQUES DES UTILISATEURS VERS LA CONCEPTION D INTERFACE AVEC LA KINECT

Utilisation du visualiseur Avermedia

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Comment configurer IPhone App Zoiper,pour se connecter au serveur VOIP de Kavkom?

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

Cours / Formation pour débutant en informatique, bureautique, Internet etc... (pour débutants)

TSP7000 CONSOLE VIDÉO TACTILE MANUEL INSTALLATEUR

Asset Management Software Client Module. Manuel d utilisation

Choisir entre le détourage plume et le détourage par les couches.

Visio Kit. Mode d'emploi

Voir le monde à travers un capteur de profondeur

Installation et configuration de base de l active Directory

RE BL. C o n v e r t i s s e u r I n f r a r o u g e B l u e t o o t h. Manuel utilisateur

Disney Wizards of Waverly Place (Nintendo DS MC )

LOGICIEL KIPICAM : Manuel d installation et d utilisation

Java 7 Les fondamentaux du langage Java

Conférence de presse du 24 janvier 2013

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Ophcrack - Windows XP/Vista

D. Déploiement par le réseau

Mode d emploi de la salle JERSEY

BIRT (Business Intelligence and Reporting Tools)

Microsoft Application Center Test

Utiliser le Notebook GIGABYTE pour la première fois

Séquence de découverte de SparkAngels Logiciel d entraide numérique

Contrôler plusieurs ordinateurs avec un clavier et une souris

Découverte de l ordinateur. Partie matérielle

Tutorial et Guide TeamViewer

Oracle WebLogic Server (WLS) 11gR1 ( et ) Installation sur Oracle Linux 5 et 6 Hypothèses Installation Oracle Linux 5 (OL5)

Les tablettes et l'extranet Intermixt Mode d'emploi

WINDOWS 8. Windows 8 se distingue par la présence de 2 interfaces complémentaires :

LE PLAN. A l aide de la molette de la souris vous pouvez diminuer/augmenter la taille du plan.

Simulation EIS. Changement et Innovation. Les Défis du Management

Protéger les données et le poste informatique

1/6. L icône Ordinateur

[NF28 - RAPPORT FINAL] Rapport du projet LeapBand

Virtualisation de Windows dans Ubuntu Linux

PUBLICATION CPA R1 - Avril 2011 L UTILISATION DES TABLETTES ÉLECTRONIQUES EN AUTOMATISATION INDUSTRIELLE

Guide de configuration de SQL Server pour BusinessObjects Planning

DELEGATION ACADEMIQUE AU NUMERIQUE FORMATION ADMINISTRATEUR SCRIBE 2.3 ET CARTABLE EN LIGNE (CEL)

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.0

Ordinateur portable Latitude E5410

GUIDE Excel (version débutante) Version 2013

Manuel BlueFolder ADMINISTRATION

YOGA TABLET 8. Manuel d utilisation V1.0

STAGE CONVENTIONNE AFDAS, SOUTENU PAR LA REGION BRETAGNE

La Gestion de fichiers Supports réalisés avec OpenOffice.org 2.3 Writer. La Gestion de fichiers. Niveau : Débutant Auteur : Antonio da Silva

FICHE PRODUIT 360 SPEECHMAGIC SDK

Transcription:

Rapport projet MMI 2013 Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3 Page 1

Table des matières Luis Domingues, Tiago De Deus, Naomi Favre Introduction... 4 Contexte... 4 Description du projet... 4 Analyse... 5 Spécifications... 5 Modalités... 8 Geste... 8 Voix... 8 Matériel... 10 Wiimote... 10 Kinect... 10 Librairies... 11 Lightweight Java Game Library... 11 Slick... 11 Wiiuse... 11 Modèle CASE/CARE... 12 Case... 12 Care... 12 Graphisme... 12 Conception... 13 Déroulement de l application... 13 Lancement... 13 Jeu... 13 Fin... 13 Actions possibles... 13 Implémentation... 14 Création de labyrinthe... 14 Grille... 14 Case... 14 Factory... 14 Fonctionnement du jeu... 14 Intégration de la partie multimodale... 14 Page 2

Geste... 14 Voix... 15 Conclusion... 16 Références... 17 Page 3

Introduction Contexte Luis Domingues, Tiago De Deus, Naomi Favre Interfaces Multimodales est un chapitre spécialisé de 3 ème année bachelor. Pour ce cours nous devons réaliser un mini projet intégrant les thèmes observés. Le but est de créer une application qui utilise au moins deux modalités de deux manières différentes et les situer par rapport aux modèles CASE et CARE. Cette application peut être pensée pour des jeux, pour des appareils mobiles ou des technologies d assistance. Description du projet Pour ce projet nous avons décidé de réaliser un jeu de labyrinthe. Il s agit très simplement de trouver la sortie en déplaçant son personnage. On ne voit qu une partie du labyrinthe à la fois, sous forme de cases qui présentent des croisements vues depuis le haut. Il faut tester les différents chemins pour sortir du labyrinthe. Ces différents chemins peuvent aller vers le haut, la gauche, la droite et le bas. On peut revenir sur ses pas si on le désire. Pendant la partie, l utilisateur a la possibilité de changer le thème de la musique grâce à des mots clés. Page 4

Analyse Spécifications Voici les différentes caractéristiques spécifiques à notre application : Luis Domingues, Tiago De Deus, Naomi Favre Caractéristiques Représentation Au lancement de l application, on peut appuyer sur le bouton «A» de la Wiimote pour jouer ou sur «B» pour quitter Le personnage peut se déplacer vers la droite, la gauche, le haut ou le bas On ne peut pas traverser les arbres car ils représentent les murs Page 5

On peut passer sur tout objet qui n est pas un arbre Il n y a qu une seule sortie Les labyrinthes sont définis (non générés dynamiquement) On ne voit qu une case du labyrinthe à la fois - - Le jeu se termine lorsqu on passe par la sortie Page 6

Lorsque le jeu se termine on peut soit rejouer en appuyant sur «A», soit quitter avec «B» On utilise la Wiimote pour se déplacer Figure 1 wiimote On utilise la Kinect pour capturer la voix Figure 2 kinect Le thème de la musique peut être modifié à tout moment durant le jeu Page 7

Modalités Luis Domingues, Tiago De Deus, Naomi Favre Geste Les gestes vont être utilisés pour déplacer notre personnage dans la direction désirée. Nous allons utiliser la Wiimote pour cette partie (précisions sur la Wiimote dans le chapitre «Matériel»). On tient la manette «droite», comme un joystick. Pour réaliser les déplacements avec la Wiimote il faudra : Pencher la manette vers l avant ou l arrière Pencher la manette vers la gauche ou la droite Les paramètres de design sont les suivants : Dynamic gesture : nous détectons des mouvements et non simplement des positions ; un geste commence lorsqu on penche la Wiimote et se termine lorsqu on remet la manette droite ou qu on la penche dans un autre sens pour commencer un autre geste. 3D gesture : les gestes sont réalisés dans un espace 3D ; pencher vers avant/arrière utilise la profondeur et la hauteur, pencher vers droite/gauche utilise la largeur et la hauteur. Voix La voix va servir à gérer les thèmes de musique du jeu. Des mots-clés sont définis pour choisir le thème directement (en donnant le nom du thème) ou indirectement (en choississant le thème précédent ou suivant). Page 8

Pour capter cette modalité, nous utiliseront les microphones de la Kinect (précisions dans le chapitre «Matériel»). Les paramètres de design sont les suivants : speaker independent : la reconnaissance de la voix ne doit pas dépendre de l utilisateur, nimporte qui doit pouvoir faire fonctionner cette partie en donnant les mots-clés Keyword spotting : on n utilise pas de dialogue, simplement des mots-clés seuls. Chaque action ne correspond qu à un seul mot Vocabulaire : le vocabulaire est très simple et la taille dépend du nombre de thème de musique. La langue du vocabulaire est l anglais. Mots-clés du vocabulaire : Zelda Sonic Mario Kirby Previous Next Page 9

Matériel Luis Domingues, Tiago De Deus, Naomi Favre Wiimote La Wiimote est le contrôleur de la console Wii de Nintendo. Elle se tient généralement dans une main et possède un accessoire qu on peut lui raccorder ou non qui s appelle le Nunchuk (deuxième partie de la manette pour la seconde main). Un capteur avec des leds infrarouge peut être placé devant la télé pour déterminer la position de la Wiimote. Il y a aussi des accéléromètres au sein de la Wiimote qui permettent de reconnaître l inclinaison du contrôleur. Kinect La Kinect est un périphérique comportant un émetteur et un capteur infrarouge, un caméra RGB et des microphones. Elle est initialement destinée à la console Xbox 360, mais une version a été spécialement créée pour le développement avec Windows. Le principe de la Kinect est de remplacé la manette et de contrôler les applications avec les mouvements et la voix. Dans notre projet nous n utilisons que la fonctionnalité de reconnaissance vocale. Page 10

Librairies Lightweight Java Game Library Cette librairie a été conçue pour permettre d'offrir à une personne désirant coder des jeux vidéo en java les outils nécessaires. Elle offre notamment OpenGL, OpenAl et OpenCL ainsi qu'une API pour récupérer très facilement les inputs clavier/souris/manette. Cette librairie dans notre projet nous a surtout été utile pour l'opengl, que nous utilisons pour dessiner le jeu et l'api des inputs pour les premières versions du programme ou la wiimote n'était pas utilisée et les inputs se faisaient au clavier. Petite trivia intéressante concernant cette librairie : le jeu extrêmement célère Minecraft a été développé en Java en utilisant notamment cette librairie. http://www.lwjgl.org/ Slick Slick est une simple librairie complémentaire à lwjgl qui permet de transformer des images en objets de type Textures. Ces textures sont alors utilise pour dessiner des sprites avec OpenGL. Cette librairie est donc utilisée pour les jeux en 2D. http://www.slick2d.org/ Wiiuse WiiUseJ est une librairie pour java s appuyant sur la librairie C WiiUse. Celle-ci est construite de manière évènementielle. C est-à-dire que nous avons une interface à implémenter. Puis, de manière régulière, la librairie va appeler certaines méthodes de l interface que nous avons implémentée, et à partir de celle-ci nous pourront récupérer les informations relatives à la WiiMote. https://code.google.com/p/wiiusej/ Page 11

Modèle CASE/CARE Case D'après le CASE model notre application est Concurrente. Elle possède 2 modalités, la voix et le mouvement (avec la wiimote). On peut réaliser les 2 en même temps mais chaque modalité permet de faire une action séparée, à savoir déplacer le héro pour le mouvement et changer de musique pour la voix. Care La seule propriété du modèle CARE que notre application possède est l'assignement car en effet les 2 actions possibles dans notre application, déplacer le héro et changer de musique, son chacune réalisée par une seule modalité. Graphisme Les graphismes du jeu sont récupérés des différents jeux Zelda (Nintendo) qui sont sortis sur Game boy. Ce sont des images types 8 bits (des sprites) qui ont été assemblées pour les besoins de notre application. Voici les liens des ressources utilisées: http://capturepokemon.over-blog.com/article-sprites-zelda-110422588.html http://www.spriters-resource.com/gameboy_advance/lozminish/index.html Page 12

Conception Déroulement de l application Luis Domingues, Tiago De Deus, Naomi Favre Lancement Au lancement du jeu, un écran affiche les commandes pour déplacer le personnage. Si l'utilisateur appuie sur B, l'application quitte. Si l'utilisateur appuie sur A, l'écran d'aide pour les musiques apparaît et la musique démarre. Si l'utilisateur appuie une fois encore sur A, le jeu à proprement parlé démarre. A tout moment dès que l'application se lance, l'utilisateur peut utiliser les commandes vocales. Jeu Le jeu commence réellement avec une des cases du labyrinthe affiché et Link au milieu de l'écran. L'utilisateur déplace Link pour se déplacer de cases en cases, le but étant de trouver la sortie. Pour déplacer Link il doit incliner la wiimote dans la direction dans laquelle il désire déplacer Link. Fin Une fois que l'utilisateur a atteint la sortie du labyrinthe, un écran de fin sera présenté. L'utilisateur peut alors appuyer sur A pour rejouer ou appuyer sur B pour fermer l'application. Actions possibles Pendant écran de démarrage et de fin : Press A Press B Say Theme name or «next or «previous» Démarrer ou redémarrer une partie Quitter le programme Change le theme de la musique Pendant le jeu : Move the wiimote Say Theme name or «next or «previous» Permet de déplacer le personnage Change le theme de la musique Page 13

Implémentation Création de labyrinthe Luis Domingues, Tiago De Deus, Naomi Favre Grille Vu que le labyrinthe est une succession de cases, celles-ci seront stockées dans un objet Grille. Avec cet objet on peut avoir la taille du labyrinthe, récupérer les objets Cases, savoir la case de départ et la case où se trouve la sortie. Case Chaque objet de type Case, elles ont les méthodes qui gèrent les actions des utilisateurs et mettent à jour la position de Link. Elles contiennent aussi des objets représentant les arbres qui permettent d'empêcher Link de passer au travers. Factory La factory se chargera de créer les labyrinthes et de les donner ensuite au contrôleur principal. Idéalement elle génèrerait aléatoirement les labyrinthes mais dans notre application cette classe génère 3 labyrinthes prédéfinis. Fonctionnement du jeu Le thread principal de l'application possède plusieurs objets de types Screen. Il les utilise comme un pattern d'état où chaque Screen correspond à un état. Il y a 4 Screens en tout : Le screen de départ, le screen d'aide, le screen correspondant à une case et le screen de victoire. La loop principale du thread réalise plusieurs actions : - Elle clear l'écran - Elle demande au screen courant de se dessiner - Elle demande au screen courant de gérer les éventuelles actions de l'utilisateur. Quand le screen gère les actions de l'utilisateur, il modifie l'état du jeu en conséquence. En parallèle à ce thread, un autre thread attend les messages de la kinect et change la musique en conséquence. Intégration de la partie multimodale Geste La partie gestuelle est inspirée du Joystick d une borne arcade. Elle permet ainsi que diriger le personnage dans 4 directions. Haut, bas, droite et gauche. Pour ce faire, nous avons utilisé la WiiMote et sa capacité à connaitre sa position dans l espace grâce aux accéléromètres. Elle nous retourne directement les valeurs Roll ainsi que Pitch. Grâce à cela nous pouvons calculer la position approximative de la WiiMote et ainsi savoir dans quelle direction le personnage Page 14

Voix La voix est utilisée afin de changer de musique pendant une partie. Cette modalité, contrairement au reste de l application, est faite en C# à l aide du SDK Kinect. Une petite application tourne en arrière-plan de Java. Celui-ci, grâce à un dictionnaire, reconnais les mots clés et les envoient via UDP au jeu, qui lui est en premier plan. Page 15

Conclusion "Comme dirait Luis, ce n'est pas le joystick qui s'adapte à la personne, c'est la personne qui s'adapte à l'implémentation bancale du joystick." Tiago "Je n'ai jamais dit ça." Luis "Hahaha ^^ " - Naomi Ce projet c est axé sur 2 aspects qui nous tiennent à cœur. Même si nous ne sommes pas tous de grands joueurs aujourd hui, nous sommes tous les 3 nostalgiques de la période 8bits des jeux vidéo. Cela explique pourquoi nous nous somment tourner sur un mini jeu tout droit venu du début des années 90, mais également pourquoi nous nous somment inspiré d un Joystick de borne arcade pour le déplacement de notre personnage. La deuxième modalité utilisée ici, est la voix, afin de changer de thème musical en cours de partie. Ceci est né d une frustration que nous avons eue, pendant les parties, de devoir mettre le jeu en pause afin de pouvoir changer le morceau en cours. Page 16

Références 1. www.nin-nin-game.com 2. commons.wikimedia.org 3. www.target.com 4. hyphytek.net 5. mafichetechnique.com/xbox360-kinect-illumiroom Luis Domingues, Tiago De Deus, Naomi Favre Page 17