P33 Réalisations en faveur de l'accessibilité de jeux vidéos

De Wiki de Projets IMA
Révision datée du 2 février 2016 à 22:59 par Jbailet (discussion | contributions) (Semaine 16 (du 25/01/2016 au 31/01/2016))


Cahier des charges

Présentation générale du projet

Contexte

La Gerlotte de l'association La vie,autrement ...

Les jeux vidéos se sont largement répandus dans le monde aujourd'hui et sont présents sur toutes les plates-formes : téléphones portables, consoles, ordinateur, tablettes. Ils offrent une expérience ludique et divertissante aux utilisateurs au nombre grandissant. Cependant jouer à un jeux vidéos demande de la pratique : il faut manipuler la souris ou le joystick avec brio tandis que la seconde main parcourt le clavier, les manettes de jeux de plus en plus complexes où nos doigts virevoltent en même temps sur les milliers de boutons. Tout cela requiert une grande concentration et des heures d'apprentissage non négligeables.

le sujet est d'autant plus difficile pour les personnes handicapées qui souhaitent s’amuser sur un jeu vidéo actuel. Quels sont les moyens qu’un accidenté lourd ou un individu handicapé depuis sa naissance, pourrait utiliser pour se détendre sur un jeu ? En fonction de la nature du handicap, des solutions diverses et variées existent.

La Gerlotte, est une maison d’accueil spécialisée de l'association La vie, autrement ..., qui accueille des adultes polyhandicapés dépendants dans tous les actes de la vie quotidienne, à l’exclusion des personnes présentant un gros trouble du comportement ou de la personne.

Nous avons pour projet de permettre l'accessibilité de jeux vidéos aux personnes handicapées de l'établissement et de leur apporter ainsi ce moyen de divertissement.

Objectif du projet

Permettre à des personnes handicapées l'accès aux jeux vidéos.

Description du projet

Afin de rendre accessible des activités ludiques deux approches sont possibles, une adaptation ou une création des périphériques de jeux (manettes, ...) ou une modification de système existants en les rendant plus interactifs. Les enfants et adultes en situation de polyhandicap sont dans l'incapacité physique de manipuler les télécommandes et joysticks prévus avec les consoles de jeux vidéos classiques (wii, nintendo,..). Le projet est de pouvoir leur rendre accessibles ces moyens de se divertir en trouvant des adaptations (type contacteur) correspondant à leurs capacités. Quelques pistes envisagées (non exclusives) : une commande simple BCI (Brain Computer Interface) compatible avec les logiciels existants fonctionnant en mode défilement, ou encore un contacteur au clignement intentionnel de paupière enregistré par webcam... Ce projet sera effectué à destination des habitants de la maison d'accueil spécialisée de La Gerlotte de Marcq-en-Barœul. Cette résidence accueille des personnes adultes polyhandicapées dépendantes.

Étapes du projet

  • Rencontre avec le personnel de la Gerlotte et établissement du cahier des charges et des attentes
  • "Clôture" du cahier des charges et début de l'élaboration des adaptations convenues
  • Tests des adaptations établies avec les résidents de la Gerlotte, et prise en compte des retours

Choix techniques : matériel et logiciel

  • Arduino Leonardo [fourni le 13/10/2015]
  • Sparkfun Analog Joystick [fourni le 21/10/2015]
  • 2 boutons poussoirs [fourni le 21/10/2015]

Avancement du Projet

Semaine 1 (du 28/09/2015 au 04/10/2015)

Rendez-vous à la Gerlotte du mercredi 30/09/2015 :

  • Rencontre avec l'animateur Xavier Hantson et visite de l'établissement la Gerlotte
  • Rencontre avec les résidents, présentation des infrastructures en place (adaptations, appareillages), et aperçu des différents handicaps pris en charge
  • Réunion avec le directeur David Desmulier, l'ergothérapeute Thierry Danigo et M. Hantson. Brainstorming sur les différents moyens pour l'accessibilité aux jeux vidéos : adaptation, modification de manettes, OneSwitch, support handsfree, reconnaissance oculaire (Eye Tracking Tobii avec le SDK, tools et hardware pour 99 euros), le choix de l'eye track inclurait la création d'un jeux vidéo adapté.
  • Accord pour le prochain rendez-vous au 14/10/2015, où un premier choix d'adaptation devra être fait afin de commencer les premiers travaux

Après discussions avec M. Vantroys et M. Grisoni, la reconnaissance oculaire n'est pas un choix que nous conseillent nos professeurs et la création de jeux vidéos serait un travail beaucoup trop laborieux. À ce jour, nous restons dans l'idée de modification de manettes, périphériques pour pouvoir jouer à des jeux déjà existant. Nous poursuivons nos recherches pour approfondir le sujet ou pour trouver d'autres possibilités.

Semaine 2 (du 05/10/2015 au 11/10/2015)

Recherche bibliographique sur les solutions et logiciels existants permettant l’accessibilité aux jeux vidéos pour les personnes handicapées (cf CapGame) :

  • GlovePie : commande des jeux par la voix
  • AltController : des boites virtuels simulent des touches du clavier lors du passage ou clic de la souris
  • Kinesic Mouse : contrôle des jeux par mouvements de la tête, sourcils, lèvres, etc
  • UnoJoy : librairie Arduino permettant à partir d'une manette existante ou crée, de la rendre compatible sur Windows/Mac/PS3
  • Emulation d'un clavier/souris sur Windows à l'aide d'une plate-forme de développement SMT32F4 ou d'un Arduino Leonardo. Création d'une manette de jeux avec des boutons/joysticks de bornes d'arcades.

Semaine 3 (du 12/10/2015 au 18/10/2015)

Réunion à la Gerlotte du mercredi 14/10/2015 en présence de M. Xavier Hantson, Thierry Danigo, Martin Nicolas, Laurent Grisoni.

Proposition et Brainstorming sur les différentes solutions envisagés :

  • adaptation d'une manette Wii à partir d'un projet déjà commencé l'an dernier (lien), solution orientée pour la console Nintendo Wii
  • création d'une manette adaptable à partir d'un microcontrôleur de type Arduino par exemple, orientée plutôt pour les jeux PC.
  • intégration de jeux vidéos devenus libres, jeux rétros de l'époque Atari, sur les systèmes Rapsberry Pi ou Banana Pi

Prochaine réunion fixée au mercredi 4/11/2015 à 14h30 à La Gerlotte. Pour cette date, il a été convenu de créer un Google Docs ouvert à tous les encadrants du projet permettant de répertorier tous les liens des pistes de recherches abordées et des solutions déjà existantes en France ou à l'étranger. Lors de ce rendez-vous il est prévu d'observer l'utilisation d'un PC par certains résidents.

Semaine 4 (du 19/10/2015 au 25/10/2015)

Durant cette semaine, nous avons discuté avec M. Vantroys sur la manière dont nous pourrions présenter un prototype du système imaginé. Il se présenterait sous la forme d'une simple manette constituée d'un joystick et de quelques boutons poussoirs, le tout contrôlé par un Arduino Leonardo. Ainsi, on pourrait présenter au personnel de la Gerlotte une simple manette permettant de jouer à des jeux émulés simples, manette qui serait algorithmiquement facile à paramétrer, et donc faire une démonstration de son fonctionnement.

L'objectif pour les prochains jours sera de mettre en place et de tester cette manette.

Semaine 5 Vacances de la Toussaint (du 26/10/2015 au 01/11/2015)

Création d'une manette de jeux simple à l'aide d'un Arduino Leonardo.

Le Leonardo a l'avantage d'être reconnu directement sur l'ordinateur comme un clavier/souris. Les classes Keyboard et Mouse permettent d'émuler ces périphériques d'entrées.

Cependant pour pouvoir être reconnu en tant que manette de jeux il faut modifier la librairie standard USB et le descripteur HID.

Plus d'informations sur notre dépôt Github pour l'Arduino Leonardo reconnu en tant que manette de jeux : JoystickLeonardo

Ce prototype dispose d'un joystick analogique 2 axes et de 6 boutons poussoirs (1 bouton est inclus avec le joystick). Il est optimisé pour jouer à des jeux de GameBoy Advance ou rétros (SuperNES, Master System, Gameboy ...) dont les manettes ne disposent pas énormément de touches.

Test de Kirby Nightmare in Dreamland sur GBA fonctionnel
Arduino Leonardo comme manette de jeux

Semaine 6 (du 02/11/2015 au 08/11/2015)

Réunion à la Gerlotte du mercredi 04/11/2015 en présence de M. Martin Nicolas:

  • découverte de divers logiciels et matériels à disposition des résidents de La Gerlotte : émulateur de souris avec contacteurs (Mouse Mover), système joystick/clic gauche, logiciel de gestion de la souris à partir des mouvements du visage par webcam.
  • observation de l'utilisation d'un ordinateur par un résident (Bertrand), notamment sur un jeu de fléchettes à partir d'un joystick et d'un bouton-clic. Bertrand comprend et agit normalement sur le jeu cependant il lui est difficile de coordonner plusieurs paramètres en même temps tels que la gestion de force et la précision du tir.
  • présentation du premier prototype développé : la manette de jeux Arduino Leonardo. Démonstration sur un jeux de Game Boy Advance (Super Mario World) à partir du système d'émulation RomStation.
  • discussion sur les diverses améliorations que l'on pourrait apporter sur le prototype : création d'une interface graphique permettant la gestion des fonctions implémentées dans la carte Arduino (gestion des touches et des options), automatisation des touches de manière physique ou algorithmique, éclatement des directions du joystick sur plusieurs contacteurs, adaptation jack-pin arduino afin d'utiliser les boutons switch de type Orby.

Prochaine réunion fixée pour le mercredi 25/11/2015 à 14h30 à La Gerlotte. Pour cette date, nous poursuivrons nos recherches afin d'apporter des améliorations du prototype.

Semaine 7 (du 09/11/2015 au 15/11/2015)

Rendez-vous au centre au centre CRNT de l'association APF (Association des Paralysés de France) avec M. Danigo. Nous avons récupéré quelques contacteurs, le standard de la connectique dans le domaine du handicap est le jack (principalement 3.5mm mono). Pour pouvoir les utiliser sur notre dispositif il faut utiliser des jacks femelles 3.5mm mono. Après présentation du prototype nous avons discuté de l'ergonomie du système. Il serait judicieux de construire un boitier où l'on brancherait les contacteurs dans les jacks femelles. Réaliser un PCB et ajouter des mousses à l'intérieur pour que le système soit plus solide.

Contacteur Jelly Bean Twist

Semaine 8 (du 16/11/2015 au 22/11/2015)

Amélioration du prototype par les jacks femelles 3.5mm mono pour pouvoir utiliser les contacteurs, et ajout d'interrupteurs à levier pour automatiser une touche.

Semaine 9 (du 22/11/2015 au 29/11/2015)

Réunion à la Gerlotte du mercredi 25/11/2015 en présence de M. Martin Nicolas, M.Xavier Hantson et M.Thierry Danigo:

  • Présentation du prototype et des améliorations qui ont été apportées
  • Discussion sur les prochaines modifications:
    • Éclater le joystick sur plusieurs contacteurs tout en conservant le joystick (dans le but de rendre le système le plus accessible possible). Si le joystick est éclaté sous la forme de 4 boutons directionnels, il faudra penser à annuler la commande lorsque 2 directions contraires sont pressées (haut-bas et droite-gauche).
    • Gérer l'automatisation d'une touche de façon périodique et non tout-ou-rien, fréquence qui devra être ajustable par potentiomètre par exemple.

La prochaine réunion est fixée au mercredi 06/01/2016 à 14h30. Pour cette date, nous travaillerons et progresserons sur les axes d'amélioration qui nous ont été proposés, et nous ferons le point sur la soutenance de mi-parcours.

Réunion à l'IRCICA du jeudi 26/11/2015 en présence de M. Laurent Grisoni, M.Samuel Desgrande et Mme.Patricia Plenacoste:

  • Présentation du projet à l'Institut Médico-Éducatif Les Papillons Blancs. Nous avons observé une séquence vidéo dans laquelle un enfant handicapé mental et moteur joue à un jeu vidéo de tir sur une cible à partir d'une Kinect. La Kinect va détecter une accélération dans une zone globale et la difficulté consiste à séparer les mouvements parasites involontaires de l'enfant au geste décisif et intentionnel du lancer.
  • Présentation de notre projet à La Gerlotte et du prototype de manette de jeux. L'idée d'une interface graphique permettant un mapping des commandes de la manette Arduino est envisageable. L'on pourrait configurer les touches afin qu'elles émulent l'appui de 2 touches successives (ex: saut + avancé).
  • Le but de cette réunion serait d'envisager la fusion des 2 projets (Papillons Blancs et Gerlotte) ou l'échange des systèmes afin que dans chaque établissement puisse profiter des réalisations.
  • Proposer à La Gerlotte de tester et s'approprier le prototype pendant 2-3 semaines afin d'avoir un feedback utilisateur.

Semaine 10 (du 30/11/2015 au 06/12/2015)

Test du joystick HKD-FW22 pour fauteuil roulant switch 4 axes à connectique serre-fils (screw terminal). Un des interrupteurs est usé et réagit d'une mauvaise façon.

Joystick 4 Axis Screw Terminal

Amélioration du prototype: automatisation de touches et réglage de la fréquence par des potentiomètres. Chaque potentiomètre est relié à un port analogique et va délivrer une tension. En fonction de la valeur de cette dernière, la période entre 2 appuis successifs sera défini. Par simplicité la fonction de calcul de la période est f(x) = 2 * x. La période maximale est de 2s, et la période minimale de 0s ce qui correspond à un appui constant.

Semaine 11 (du 07/12/2015 au 13/12/2015)

Étude des logiciels JoyMouse et JoyToKey avec une manette de jeux. JoyMouse se concentre sur l'émulation d'une souris avec une manette. L'accélération, la sensibilité, la vitesse ainsi que les clics sont interfaçables facilement. JoyToKey permet égalemment d'émuler les fonctions de la souris à partir d'une manette mais également simuler des touches claviers. L'interface est beaucoup plus complexes, avec des profils utilisateurs et il est possible d'automatiser une action.

Implémentation Joystick-pad avec boutons. Fonctionne en parallèle du joystick analogique.

Avancement du rapport.

Semaine 12 (du 14/12/2015 au 20/12/2015)

Finalisation du rapport et préparation de la soutenance mi-parcours.

Semaine 13 (du 04/01/2016 au 10/01/2016)

Réunion à la Gerlotte du mercredi 06/01/2016 en présence de M. Martin Nicolas, Maxime (jeune en situation de handicap suivi par le SAVS Liévin) et M. Benoît Barbet:

  • Maxime nous a fait part de son vécu et de ses attentes concernant son utilisation des jeux-vidéo. Nous avons ainsi pu lui présenter le fonctionnement de notre projet.
  • Pour l'utilisation de son ordinateur, Maxime utilise un trackball qu'il commande au pied. Nous allons donc réfléchir à la possibilité d'intégrer un trackball à notre système par USB. Notre prototype va intégrer un port USB qui permettra d'utiliser tout types de périphériques de commandes tels qu'un trackball, une souris, un joystick USB, une clé Bluetooth.
  • Nous avons aussi discuté de l'interface graphique qui permettrait de gérer les différentes combinaisons de commandes possibles. Nous travaillerons sur ce point dans les jours à venir et nous analyserons si une interface fonctionnelle est envisageable.

La prochaine réunion est fixée au mercredi 20/01/2016 à 14h30. Pour cette date, nous poursuivrons les recherches sur les points évoqués ci-dessus, et nous rendrons notre prototype utilisable afin qu'il puisse être testé par quelques résidents et par Maxime.

Finalisation des fonctionnalités du prototype et de son boitier. Le prototype sera mis à disposition de La Gerlotte le 20/01/2016.

Semaine 14 (du 11/01/2016 au 17/01/2016)

Dans le but d'intégrer un port USB à notre prototype, nous utilisons un Raspbery Pi 2. Elle comprend 4 port USB, la distribution Linux que l'on utilise est Raspbian et nous connectons la Raspberry à l'Arduino Leonardo au travers du port série. L'on branche une souris sur l'un des ports USB et un script C va récupérer les événements de la souris (les coordonnées x et y) dans le dossier /dev/input/mice. Les données sont alors envoyés via le port série vers le Leonardo qui va les traduire en coordonnées du joystick. À l'aide de ce système il est alors possible de contrôler les déplacements de son personnage dans un jeux vidéos avec une souris ou un trackball.

Semaine 15 (du 18/01/2016 au 24/01/2016)

Sixième réunion à La Gerlotte le mercredi 20/01/2016 en présence de MM. Martin Nicolas, Thierry Danigo.

Nous avons présenté notre prototype prêt à être testé. Il a notamment été essayé par deux résidents de la Gerlotte, et par Maxime du SAVS Liévin, que nous avions rencontré lors de la réunion précédente.

Nous avons connecté 4 contacteurs sur le prototype (2 touches de direction droite/gauche et 2 touches d'action), et les testeurs ont essayé le prototype sur un jeu simple : Tetris. Le test a été plutôt concluant, les utilisateurs arrivaient à utiliser les différents contacteurs avec plus ou moins de facilité. Aussi, nous avons essayé d'intégrer le trackball de Maxime dans notre système, et en retouchant la sensibilité du trackball, nous nous sommes aperçu que le trackball était parfaitement intégrable dans la manette.

Nous avons laissé le prototype à La Gerlotte, afin qu'il puisse être testé "dans le quotidien" des résidents, et avoir un retour sur une telle utilisation.

La prochaine réunion est fixée au 03/02/2016 à 14h30. Pour cette date, nous poursuivrons notre travail sur l'interface graphique de gestion de commandes, et nous réfléchirons sur le design final du système (style du coffret), et sur la conception de plaques électroniques pour le système final.

Semaine 16 (du 25/01/2016 au 31/01/2016)

Cette semaine nous avons continué l'interface graphique de gestion de commandes. Nous utilisons Processing qui est un environnement de développement libre, multi-plateforme, il permet de programmer en Java et de faire du prototypage rapide.

L'interface graphique réalisé à l'aide de la librairie G4P, est un interface basique qui va permettre d'automatiser chaque bouton du joystick à l'aide de potentiomètres virtuels, mais également de pouvoir effectuer des combinaisons de touches. Des voyants indiquent l'appuie des boutons du joystick sur l'interface.

Concernant la communication de Processing à Arduino nous restons sur le classique envoie-réception série de mots-clés qui vont permettent de modifier le comportement de l'Arduino et ainsi pouvoir remapper les commandes ou les automatiser.

Semaine 17

Fichiers Rendus

Dépôt Github du projet : JoystickLeonardo

Rapport intermédiaire du projet : Fichier:PFE IMA5 Rapport intermediaire Bailet Zeggai.pdf