03 - Interaction

Transcription

03 - Interaction
Interaction
Présentation: Stéphane Lavirotte
Auteurs: … et al*
(*) Cours réalisé grâce aux documents de :
Edouard Auvinet, Stéphane Lavirotte,
Frédéric Precioso, Jean-Yves Tigli
Mail: [email protected]
Web: http://stephane.lavirotte.com/
Université de Nice - Sophia Antipolis
Introduction
L’ordinateur d’hier, d’aujourd’hui
et de demain
22/11/2013
Stéphane Lavirotte
2
Une évolution …
Taille
Nombre
Mais pas seulement …
22/11/2013
Stéphane Lavirotte
3
… Des nouvelles IHM
22/11/2013
Stéphane Lavirotte
4
La Vision du Chercheur (1991)
« Ubiquituous Computing »
 Informatique
Pervasive,
Ubiquitaire,
Omniprésente,
Evanescente,
Ambiante …
 « Silicon-based
information
technology, is far from
having become part of
the environment »
– [Weiser 1991]
[Weiser 91] Weiser Mark, « The computer for the twenty-first century », Scientific American, 1 :94–10, 1991.
22/11/2013
Stéphane Lavirotte
5
Une Vision qui devient Réalité…
http://www.engadget.com/
22/11/2013
Stéphane Lavirotte
6
… et les dispositifs de demain
http://aurelien.cassotti.perso.esil.univmed.fr/dotclear/
http://julien.eyraud.perso.esil.univmed.fr/blog/
22/11/2013
Stéphane Lavirotte
7
Classification des Dispositifs
Comment s’y retrouver parmi tous ces
dispositifs
22/11/2013
Stéphane Lavirotte
8
Classification des Dispositifs
 Changer de dispositif n’est pas innocent
 Comment classifier les dispositifs pour faciliter
l’adaptation
– Aux fonctionnalités souhaitées
– Aux contraintes ergonomiques
 Taxonomie pour les dispositifs
– Approche intuitive
– En fonction des tâches de l’utilisateur
 [Foley and Wallace, 1974] [Enderle et al., 1984] [Foley et al., 1984]
– En fonction des caractéristiques des dispositifs
 [Buxton, 1983] [Mackinlay et al., 1990]
22/11/2013
Stéphane Lavirotte
9
Taxonomie
Approche Intuitive
22/11/2013
Stéphane Lavirotte
10
Taxonomie
Fonction de la tâche
22/11/2013
Stéphane Lavirotte
11
Taxonomie
Fonction des Propriétés Physiques
22/11/2013
Stéphane Lavirotte
12
Equivalence entre Dispositifs ?
1/2
 Non équivalence des dispositifs due au fait que:
– Deux dispositifs différents ne vont pas mobiliser mes mêmes
« canaux de l’utilisateur »
22/11/2013
Stéphane Lavirotte
13
Equivalence entre Dispositifs ?
2/2
 Non équivalence due au processus mental de
l’utilisateur
– Même si on utilise le même dispositif mais dans des conditions
différente, il n’y a pas équivalence au niveau cognitif
22/11/2013
Stéphane Lavirotte
14
Et dans le domaine des Jeux
De grandes nouveautés dans les
interactions
22/11/2013
Stéphane Lavirotte
15
Interaction
 Un des points les plus importants
– Point important pour le « game play »
 Aucun progrès durant des années
– Sur console
 Manettes avec de plus en plus de boutons
 Quelques innovations: vibration, volant, …
– Sur PC
 Classique: clavier, souris, joystick, volant/pédalier
 Des (r)évolutions dans l’interaction …
22/11/2013
Stéphane Lavirotte
16
La Nintendo DS
 Des évolutions
– Ecran tactile remplaçant la souris
– Deux écrans pour une meilleure immersion
 Une « révolution »
– Le micro est utilisé comme une composante d’interaction dans
le jeu. Ex: « Astérix aux jeux Olympiques »
22/11/2013
Stéphane Lavirotte
17
Interfaces Avancées 1/2
 Evite d’avoir recours à un dispositif supplémentaire
– Mesure du potentiel électrostatique de l’utilisateur
Sony Sensing GamePad 2005
22/11/2013
Stéphane Lavirotte
18
Interfaces Avancées 2/2
 Rendre l’interaction plus naturelle
– Répartir les interactions sur le corps
22/11/2013
Stéphane Lavirotte
19
Une Interaction sans
Dispositif Porté
 LM3Labs
– Plus de dispositif portés, mais des caméras qui filment vos
gestes
– Interaction sans support, avec des gestes des mains
– Réalité commerciale et industrielle
22/11/2013
Stéphane Lavirotte
20
Interaction et Rendu
Mixer Virtuel et Réel
22/11/2013
Stéphane Lavirotte
21
La Réalité Augmentée
 Réalité Augmentée
– Mélange monde physique / monde virtuel
Ping Pong Plus ,MIT, 2000
The Eye of Judgement
22/11/2013
Stéphane Lavirotte
22
La Réalité Mixte
 Réalité Mixte
– Interaction monde physique / monde virtuel
Aqua Gauntlet, 2000
22/11/2013
Stéphane Lavirotte
23
La Wii
Une console qui a révolutionné
la manière de jouer
22/11/2013
Stéphane Lavirotte
24
La Wiimote
Caractéristiques Techniques
 Contrôleur de la
console Wii
– Une télécommande à
tout faire
 Un concentré de
technologies
–
–
–
–
–
–
–
22/11/2013
12 boutons
4 LEDs
Accéléromètre 3 axes
Vibration
Haut parleur
Caméra Infrarouge
Bluetooth
Stéphane Lavirotte
25
Les Extensions pour
Interagir avec la Wii 1/3
 Une Wiimote c’est bien…
– Plusieurs formes pour la Wiimote c’est mieux !
 De nombreuses extensions pour
– Une meilleure immersion
– Une meilleure interactivité
– … Donc plus de réalisme et un meilleur gameplay !
22/11/2013
Stéphane Lavirotte
26
Les Extensions pour
Interagir avec la Wii 2/3
 Trois types de dispositifs
– Coques sans nouvelles fonctionnalités mais pour un meilleur
réalisme





Wii Zapper
Wii Light Gun
Wii Wheel
Wii Racket
Wii Helmet
– Des extensions avec de nouvelles fonctionnalités
 Wii Guitare
 Wii MotionPlus
– Des nouveaux dispositifs
 WiiPad
 Nunchuk
 Wii Balance Board
22/11/2013
Stéphane Lavirotte
27
Les Extensions pour
Interagir avec la Wii 3/3
 Et plus encore, avec un peu d’imagination
– Johnny Chung Lee
 Human-Computer Interaction Institute
 Carmegie Mellon University
Suivi de Doigts
Tableau Blanc Interactif
Multi-points
Suivi de la Tête pour
la réalité virtuelle
– http://johnnylee.net/projects/wii/
22/11/2013
Stéphane Lavirotte
28
Comparaison d’Interactions
Souris, Centrale Inertielle, Wiimote
Merci à Jean-Olivier Laurendeau, Sophie Sivignon
pour leur travail sur ce sujet en SI4 à Polytech’Nice
22/11/2013
Stéphane Lavirotte
29
Dispositifs d’entrée 1/2 :
Souris, Centrale Inertielle
 Souris = dispositif de pointage de référence
 Facile à utiliser
 Utilisée à travers sa représentation à l’écran (curseur)
 Centrale inertielle = dispositif de pointage ?
 Autorise le pointage en 3D
 Accès direct au matériel
 Transformer des angles en pixels
22/11/2013
Stéphane Lavirotte
30
Dispositif d’entrée 2/2 :
la Wiimote
 Nouvelle mannette de la console Wii de Nintendo
 12 boutons
 Un accéléromètre 3 axes
 Connectable à un PC en Bluetooth
 Utilisation à travers GlovePIE sous Windows
 Mappé sur le clavier ou la souris
 Calibrage difficile
 Wiimote UDP  Wiimote UPnP
22/11/2013
Stéphane Lavirotte
31
Validation du modèle 1/3
Loi de Fitts, Sensibilité
 Mise en place d’un framework de validation réutilisable
 Différents types d’utilisateurs debout face à l’écran
Test de la loi de Fitts
 Évalue le mouvement
humain pour la pointage
22/11/2013
Test de la sensibilité
 Évalue la sensibilité /
précision d’un dispositif
Stéphane Lavirotte
32
Validation du modèle 2/3
Résultats
Comparatif Loi de Fitt
4
3,5
Temps (en s)
3
2,5
Souris
Souris UPnP
WiimoteUPnP
CI UPnP
2
1,5
1
0,5
0
0
100
200
300
400
500
600
700
800
900
Distance (en pixel)
22/11/2013
Stéphane Lavirotte
33
Validation du modèle 3/3
Résultats
Comparatif Sensibilité
600
500
Y (en pixel)
400
Souris
Souris UPnP
Wiimote UPnP
CI UPnP
X0 Y0
300
200
100
0
0
100
200
300
400
500
600
X (en pixel)
22/11/2013
Stéphane Lavirotte
34
La Kinect
Votre corps tout entier
devient la manette
11/22/2013
Stéphane Lavirotte
35
Kinect: Présentation en Vidéo
 Kinect pour Xbox 360 ou Windows
– Sortie en novembre 2010
 connu avant sous le nom projet « Natal »
– Vendu à 8 millions d’unités 2 mois après sa sortie
22/11/2013
Stéphane Lavirotte
36
Autorise l’Interaction sans
Dispositif Porté ou Touché
 Pratique pour les jeux (quoi que)
 Certains cas d’utilisation où l’interaction physique est
interdite: champs d’application potentiel
11/22/2013
Stéphane Lavirotte
37
Kinect Inside
1/2
11/22/2013
Stéphane Lavirotte
38
Kinect Inside
2/2
 1 Caméra couleur
– CMOS 1280x1024 à 15 img/s ou 30 img/s en 640x480
 1 Caméra infrarouge
– CMOS 1280x1024 pixels à 30 img/s
 1 Projecteur infrarouge
– Pattern de points lumineux fixe dans le temps
 2 microphones + 4 sources audio digitales externes
 1 accéléromètre
 1 moteur d’élévation
11/22/2013
Stéphane Lavirotte
39
Kinect : Principe Général
 Faire une cartographie de la scène pour isoler le joueur
–
–
–
–
–
11/22/2013
Cartographie des profondeurs dans l’image
Identification des parties du corps
Identification des jointures
Application sur les jointures du squelette
Animation du squelette en fonction des mouvements
Stéphane Lavirotte
40
Mire Infrarouge
 Objectif: faire une carte des profondeurs
 Moyen
– Projection d’une mire infrarouge
– Capture de la mire grâce à la caméra infrarouge
 Une idée pas si nouvelle…
11/22/2013
Stéphane Lavirotte
41
Carte de Profondeur
 Calcul de la carte de profondeur
– Géométrie épipolaire (cas général, voir Wikipedia)
– Cas particulier de la Kinect: translation latérale
Mesure de l’image
11/22/2013
Stéphane Lavirotte
Carte de Profondeur
42
D’une Carte de Profondeur à
l’Analyse du Squelette Humain…
 Carte de profondeur
– Permet l’identification des parties du corps
– Classification finale de chaque pixel
 Forêts d’arbres décisionnels
– Utilisation du Mean Shit
 Obtention de la position surfacique
 Labellisation des 31 parties du corps
 Association au squelette
Depth image
11/22/2013
Depth image features
Body parts
Stéphane Lavirotte
3D joint proposals
43
Classification et Apprentissage
 Apprentissage sur plusieurs classes de personnes:
 Exécution de l'apprentissage sur cluster:
– 3 arbres de profondeur 20 sur une base de 1 million d'images
prend 1 jour sur 1000 cœurs
11/22/2013
Stéphane Lavirotte
44
Expériences et Résultats
 Brevet et Publication
– Us Patent : 2010 0118123, Depth Mapping using projected
patterns
– “Real-Time Human Pose Recognition in Parts from Single Depth
Images”, J. Shotton, Andrew Fitzgibbon, M. Cook, T. Sharp, M.
Finocchio, R. Moore, A. Kipman, A. Blake, Microsoft Research
Cambridge & Xbox Incubation, CVPR 2011.
11/22/2013
Stéphane Lavirotte
45
Mise en œuvre de la Kinect
XBox
 Novembre 2010
 ~130 €
 Licence utilisation
 SDK 1.0
 Pas de Near Mode
Windows
 Février 2012
 ~200 €
 Licence commerciale
 SDK 1.5
 Near Mode
 Connectable sur PC
 Pas connectable sur XBox
– Avec adaptateur
11/22/2013
Stéphane Lavirotte
46
Mise en œuvre
de la Wiimote
Interagir avec la Wiimote sur un PC
22/11/2013
Stéphane Lavirotte
47
Une Communication Bluetooth
 Assurer la communication Bluetooth
– Un périphérique Bluetooth sur la machine de développement
 Inclus dans un portable
 Via une clé USB Bluetooth si pas en standard dans la machine
 Bluetooth
– Créé par le constructeur Ericsson (1994)
– Spécification 1.0 (1999) après avoir rallié IBM, Microsoft,
Motorola, Nokia, Intel, Toshiba, …
– Technologie radio courte distance (une dizaine de mètres)
destinée à simplifier les communications entre appareils
électroniques
– Compatibilité entre marque assez bonne mais pas parfaite
– Problèmes spécifiques avec les Wiimotes
 Dispositifs compatibles
22/11/2013
Stéphane Lavirotte
48
Utilisation avec BlueSoleil
 Une couche logicielle Bluetooth
– Le logiciel fourni avec la clé USB risque de s’avérer
incompatible
– Vérifier la compatibilité avec BlueSoleil
 HardwareCheck.exe
 Installer la pile BlueSoleil
– S’il y a compatibilité
– Voir les logiciels sur le sujet de TD
 Connecter la Wiimote au PC
– Mode de synchronisation (touche 1 et 2)
– Recherche de périphérique
– Connexion Wiimote (Nintendo RVL-CNT-01)
22/11/2013
Stéphane Lavirotte
49
Utilisation avec WIDCOMM
 Une couche logicielle Bluetooth
– Pile logicielle pour les puces fournies par Broadcom
– Les versions les plus récentes sont compatibles avec Wiimote
 Installer
– Voir les logiciels sur le sujet de TD
– Dernier driver disponible
 Sur le site de Broadcom
 Connexion de la Wiimote au PC
–
–
–
–
22/11/2013
Mode de synchronisation (touche 1 et 2)
Recherche de périphérique
Connexion Wiimote (Nintendo RVL-CNT-01)
Passer la saisie du code d’appariement (Alt+C)
Stéphane Lavirotte
50
En dernier recours…
 Si aucune des deux procédures précédentes ne marche
 Utiliser l’émulateur de Wii: Dolphin Emulator
– http://dolphin-emulator.com/
– A l’aide de l’émulateur, il est possible de faire l’appariement de
votre wiimote avec votre PC.
– Procédure à suivre:







11/22/2013
Lancer Dolphin
Aller dans le menu Wiimote (Options / Paramètres Wiimote)
Choisir « Wiimote physique »
Cliquer sur jumeler
Cliquer sur 1 & 2 sur la wiimote
Cliquer sur Rafraîchir
Si votre wiimote s’arrête de clignoter vous avez fait l’appariement
Stéphane Lavirotte
51
Tester l’Interaction Wiimote - PC
 GlovePIE
– Permet de lancer des scripts
– Chaque script permet de configurer la Wiimote de façon
individualisée
– Il existe de nombreux scripts sur Internet déjà fait pour des
jeux et des logiciels
 De nombreux script existants
– http://www.wiili.org/index.php/GlovePIE:GlovePIE_Scripts
 Réalisez les vôtres suivant vos besoins
22/11/2013
Stéphane Lavirotte
52
Nom des « Boutons »
wiimote.Up
?
wiimote.Down
wiimote.Right
wiimote.Nunchuk.JoyY
< 0 = Up
> 0 = Down
wiimote.B
wiimote.Left
wiimote.A
wiimote.Plus
wiimote.Nunchuk.JoyX
< 0 = Left
> 0 = Right
wiimote.Minus
wiimote.Home
wiimote.One
wiimote.Two
wiimote.Led1
wiimote.Led4
wiimote.Led2 wiimote.Led3
wiimote.Leds (code allant de 0 à 15)
22/11/2013
Stéphane Lavirotte
wiimote.PointerVisible
wiimote.PointerX
wiimote.PointerY
53
Assigner les Boutons
PC - Wiimote
 Assigner une touche du clavier à la Wiimote
Key.Right = Wiimote.Right
Key.Enter = Wiimote.A
 Assigner une combinaison de touches
Key.CTRL+Key.C = Wiimote.A
Key.ALT+Key.CTRL+Key.C = Wiimote.A
 Assigner une touche du clavier à une combinaison de
bouton Wiimote
If (Wiimote.B) and (Wiimote.A) then
Key.C = TRUE
Key.C = FALSE
Endif
 Voir codes:
– http://www.homemedia.fr/i/WiimoteClavier.pdf
22/11/2013
Stéphane Lavirotte
54
Fonctions « Giroscopiques »
de la Wiimote
 Exemple:
– Simuler l’appui de la touche D si on
penche la manette vers la droite de
plus de 80°
var.xOffset = -1
var.xRot = Wiimote.RawForceX +
var.xOffset
if (var.xRot > 22) then
Key.D = TRUE
Key.D = FALSE
endif
22/11/2013
Stéphane Lavirotte
55
Autres Solutions Wiimote sur PC
 Windows
–
–
–
–
–
Wiim: classes C++ pour connecter la wiimote au travers l’interface HID
Wiiuse: librairie C pour utiliser les fonctionnalités de la Wiimote
wiimote-api: librairie C pour exploiter les possibilités de la Wiimote
WiinRemote: Application pour utiliser la Wiimote sous Windows
WiimoteLib: librairie C# et VB.NET pour exploiter la Wiimote
 Linux
–
–
–
–
–
–
Cwiid: collection d’outils en C pour exploiter la Wiimote sous Linux
WMD: pilote Linux pour la Wiimote
Libwiimote: librairie C pour la communication avec la Wiimote sous Linux
Perlwiimote: interfaçage Perl de la Libwiilmote
lg3d-wii: driver (user space mode) pour Wiimote
Python HTDP Driver: interface Python pour la Wiimote
 Mac:
–
–
–
–
22/11/2013
DarwiinRemote: Programme de communication (OSX 10.4 et 10.5)
Remote Buddy: Permet le contrôle des applications à l’aide de la Wiimote
The Wiinstrument: Permet de jouer de la musique avec le Wiimote
Wiiji: Application utiliser la Wiimote sur Mac OSX
Stéphane Lavirotte
56
PyWiiUse
 Une librairie Python disponible pour les Wiimote
 Importer les bonnes librairies
import
import
import
import
import
pygame
pygame_wiimote
os
sys
time
 Détecter le nombre de Wiimote connectées
# Initialize the wiimote
if os.name != 'nt':
print 'press 1&2'
pygame_wiimote.init(1, 5) # look for 1, wait 5 seconds
n = pygame_wiimote.get_count() # how many did we get?
if n == 0:
print 'no wiimotes found'
11/22/2013
Stéphane Lavirotte
57
Glossaire
 Récupération d’un objet Wiimote
wm = pygame_wiimote.Wiimote(0)
 Glossaire des principales fonction de l’objet Wiimote
– enable_leds(m)
 Control leds. The lower 4 bits map to the 4 leds
– enable_rumble(self, on):
 Control rumble
– enable_accels(on)
 Control reporting of accelerometer data
– enable_ir(on, vres=None, position=None, aspect=None)
 Control reporting IR data
– set_flags(smoothing=None, continuous=None, threshold=None)
 Set flags SMOOTHING, CONTINUOUS, ORIENT_THRESH
– set_orient_thresh(thresh)
 Set orientation threshold
– status()
 Trigger a status callback
– disconnect():
 Disconnect this Wiimote
 Voir le fichier d’exemple pygame_wiitest.py
11/22/2013
Stéphane Lavirotte
58

Documents pareils

Fiche technique : Wiimote

Fiche technique : Wiimote La « télécommande » est munie d'un D-pad, d'un bouton « A », d'une gâchette « B », de boutons « + » et « - », d'un autre bouton marqué d'une maison (bouton Home) et qui sert à rejoindre le menu Hom...

Plus en détail