Présentation finale de Travail de Bachelor

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

Présentation finale de Travail de Bachelor Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski – 8 avril 2010

Plan de la présentation Introduction Démonstration Cahier des charges Vidéo Résumé Bilan Objectifs ciblés Satisfaction des objectifs Gestuelle Difficultés rencontrées Manipulation de BATIC3S Perspectives et améliorations Communes aux GUIs 3D Conclusion Spécifiques à BATIC3S Gestes adoptés Implémentation Approche client serveur Protocole TUIO Contraintes temps-réel Traitement des données Reconnaissance des gestes CLICK  Cahier des charges CLICK  Gestuelle CLICK  Implémentation CLICK  Scénario d’utilisation CLICK  Conclusion 08/06/2010

Cahier des charges Résumé : Points cruciaux Introduction Cahier des charges Résumé : Ajout de fonctionnalité à BATIC3S Manipulation de la GUI 3D grâce au contrôle multitouche A l’aide du logiciel gratuit et open source Wiimote Whiteboard Basé sur l’utilisation de périphériques spécifiques Points cruciaux Définir une gestuelle précise et intuitive Contrôle multitouche de la GUI 3D et navigation dans les menu CAHIER DES CHARGES !! CLICK  Manipulation GUI 3D multitouche CLICK  Thx WWB CLICK  basé sur utilisation périph spécif. CLICK  AVEC points cruciaux CLICK  gestuelle precis + intuitif CLICK  contrôle MT de la GUI 3D + navig. menu 08/06/2010

Modularité / Réutilisabilité Introduction Objectifs ciblés Cross-platform Coût Utilisabilité Rapidité Précision Simplicité Modularité / Réutilisabilité CAHIER DES CHARGES, OBJECTIFS CLICK  cross-platform :: JAVA  rester cross-platform CLICK  Coût :: minimum possible ave meilleurs rapport exigences/prix CLICK  Utilisabilité :: degré un produit peut être utilisé par des utilisateurs identifiés pour atteindre buts définis avec EFFICACITE, EFFICIENCE, SATISFACTION dans un contexte d’utilisation spécifié  Utilisabilité doit pas diminuer !! CLICK  Rapiditié :: temps de réaction CLICK  Precision :: enough précis pour remplacer souris CLICK  Simplicité :: gestuelle CLICK  Modularité / réutilisabilité :: permettre extension futur / réutilisation NEXT == GESTUELLE 08/06/2010

Manipulation de BATIC3S – Gestuelle Commune aux GUIs 3D Sélection Rotation Translation Zoom / Dé-zoom Spécifiques à BATIC3S Affichage des Informations Entrée / Sortie des objets 3D Gestes communs Utilisabilité augmentée Recherche de gestes Simplicité GESTUELLE MANIPULATION COMMUN CLICK 1-4  SELECTION ROTATION TRANSLATION ZOOM/DEZOOM CLICK  commun CLICK  utilisabilité ++ SPECIFIQUE CLICK  display infos CLICK  i/o object CLICK  recherche geste CLICK  simplicité NEXT == DESCRIPTION GESTES 08/06/2010

Gestes adoptés – Gestuelle Sélection d’un objet 3D Équivalent au « clic » de souris 1 point de contact Curseur statique Signal « court » Clignotement de l’objet 3D sélectionné Vue centrée sur l’objet 3D SELECTION Equiv click 1 pdc CLICK  diagramme CLICK  schéma CLICK  descr :: objet clignote CLICK  descr :: centrage 08/06/2010

Gestes adoptés – Gestuelle Rotation autour d’un objet 3D 1 point de contact Curseur mobile Signal « long » Rotation en gardant l’objet centré ROTATION - 1pdc CLICK  diagramme CLICK  schéma + ANIMATION CLICK  descr :: rotation + centré CLICK  effet 3D 08/06/2010

Gestes adoptés – Gestuelle Translation 2 points de contact Curseur statique Zone spéciale Signal « long » Curseur mobile Signal « long » Translation de la caméra TRANSLATION - 2pdc CLICK  diag 1 CLICK  + CLICK  diag 2 CLICK  schema + ANIMATION CLICK  descr :: translation camera CLICK  effet 3D 08/06/2010

Gestes adoptés – Gestuelle Zoom / Dé-zoom 2 points de contact Curseur mobile Signal « long » Curseur mobile Signal « long » Eloignement des points  Zoom Rapprochement des points  Dé-zoom ZOOM -2pdc CLICK  diag1 CLICK  + CLICK  diag2 CLICK  schéma CLICK  eloignement points = zoom CLICK  rapprochement point = dezoom CLICK  effet 3D 08/06/2010

Gestes adoptés – Gestuelle Affichage des informations d’un objet 3D Équivalent au « clic » prolongé de souris 1 point de contact Curseur statique Signal « long » Affichage de la fenêtre d’information de l’objet 3D Vue centrée sur l’objet 3D DISPLAY INFOS 1er geste specif equiv click long 1pdc CLICK  diagramme CLICK  schema CLICK  affiche info CLICK  centrage vue CLICK  effet 08/06/2010

Gestes adoptés – Gestuelle Entrer / Sortir d’un objet 3D 2 points de contact Nécessite un objet sélectionné Curseur statique Signal « long » Curseur statique Signal «court» Points proche  Entrée Point éloigné  Sortie I/O object 2pdc nécessite objet sélectionné CLICK  diag 1 CLICK  + CLICK  diag 2 CLICK  schéma CLICK  point proche = entrée CLICK  point loin = sortie CLICK  effet NEXT == IMPLEMENTATION 08/06/2010

Approche Client-Serveur Initialement Implémentation Approche Client-Serveur Initialement Intégration des éléments de Wiimote Whiteboard dans BATIC3S Finalement Utilisation de Wiimote Whiteboard comme serveur d’événements Réceptionne les informations des curseurs actifs Transmet les données Utilisation de BATIC3S comme client Analyse l’évolution des données des curseurs Agit sur la scène 3D IMPLEMENTATON :: CLIENT-SERVEUR Init : CLICK  integrer element WW  BATIC3S Final: CLICK  WW = serveur events pour CLICK  réceptionne infos / curseur CLICK  transmette données CLICK  BATIC3S = client CLICK  analyse évolution curseur CLICK  agit sur scène 3D NEXT == TUIO 08/06/2010

Protocole TUIO – Implémentation CLICK  SCHEMA TUIO CADRE de DVP qui définit un PROTOCOLE COOMUN + API pour les surfaces multitouche MANIPULATION points (curseurs) + objects Camera + tracker = aquisitions infos Protocole TUIO = encapsulage / formalisation des données Application + projecteur = effets NEXT == TUIO POUR PROJET 08/06/2010

Protocole TUIO – Implémentation IGNORE object, utilise que points Camera = wiimote BT protocole vers adaptateur USB API  WW WW  TUIO PROTOCOLE  BATIC3S BATIC3S + PROJO = effet NEXT == BUFFER 08/06/2010

Contraintes temps-réels – Implémentation Traitement des données Système de buffer cyclique Peu de point stockés Traitement continu de données Le pointeur d’écriture remplit le buffer Le pointeur de lecture vide le buffer ID de session des curseurs actifs Position d’attente Buffer cyclique empty  null Pointeur de lecture Pointeur d’écriture CONTRAINTE TEMPS REEL TRATEMENT DATA Buffer cyclique CLICK  ID de session CLICK  position attente CLICK  buffer CLICK  pointeur écriture CLICK  pointeur lecture CLICK  peu points stocké CLICK  écriture = remplir CLICK  lecture = vider NEXT == buffer complet 08/06/2010

Contraintes temps-réels – Implémentation Traitement des données Système de buffer cyclique Dimension : N x M (paramétrable) N = nombre de points (colonne), M = nombre de curseurs (ligne) 1  p11 p12 null p7 p8 p9 p10 empty  null 2  null p2 p3 p4 p5 CLICK  ANIMATION CLICK  système NxM, cas exemple, N = 4, M = 10 1 ligne = 1 curseur actif NEXT == ARBRE DECISION 3  p1 p2 p3 null 08/06/2010

Contraintes temps-réels – Implémentation Reconnaissance des gestes Arbre de décision Feuilles = Gestes Nœuds = Tests à solution binaire Avantages Facile à intégrer au code Evite les ambigüités Simples et rapides IMPLEMENTATION, CONTRAINTE TEMPS REELS CLICK  arbre de decision CLICK  feuille = geste CLICK  nœud = tests avec sol binaire CLICK  DIAGRAMME CLICK  avantage Facile intégrer code Simple + rapide Eviter ambigüité NEXT == DEMO 08/06/2010

Présenter un exemple d’utilisation classique Démonstration Présenter un exemple d’utilisation classique SCENARIO UTILISATION Montrer :: Exemple utilisation classique, cosmicRack Illustration fonctionnement client/serveur Manipulation multitouche NEXT == BILAN 08/06/2010

Satisfaction des objectifs Bilan Satisfaction des objectifs Objectif Commentaires Satisfaction Positifs Négatifs Cross-Platform Coût Utilisabilité Rapidité Précision Simplicité Modularité / Réutilisabilité Java eclipse API spécifiques aux OS 90% Coût des périph. (wiimote, Bluetooth, …)  100% Buffer Arbre de décision  100% Limité aux gros objets Facteurs extérieurs Opérationnel 60% Gestes intuitifs Mouvement simples Apprentissage rapide 3 CLICK  cross-platform 3 CLICK  cout 3 CLICK  utilisabilité / rapidité 3 CLICK  utilisabilité / précision 3 CLICK  utilisabilité / dimplicité 3 CLICK  modularité NEXT == DIFFICULTE RENCONTREE 1-2 points de contact 95% Protocole TUIO Arbre de décision Intégration « propre »  100% 08/06/2010

Difficulté rencontrées Logiciel Matériel et périphériques Bilan Difficulté rencontrées Logiciel Fonctionnement de BATIC3S Matériel et périphériques Instabilité au niveau infrarouge compatibilité sur tous les OS Recherche d’informations sur les techniques de contrôle multitouche CLICK  logiciel :: fonctionnement BATIC3S CLICK  matériel et périphérique Instab IR Intercompatibilité OS CLICK  recherche infos technique sur contrôle MT NEXT == AMELIORATION 08/06/2010

Perspectives et améliorations Serveur TUIO Structure de BATIC3S Bilan Perspectives et améliorations Serveur TUIO Structure de BATIC3S Gestuelle augmentée Système de buffer CLICK  serveur TUIO CLICK  structure BATIC3S CLICK  + gestes CLICK  buffer NEXT == CONLUSION 08/06/2010

Reverse engineering (merci BATIC3S) Technologies multitouches Conclusion Expérience acquise Gestion de projet Génie logiciel Reverse engineering (merci BATIC3S) Technologies multitouches Importance De suivre une méthodologie de développement De l’architecture logicielle De la documentation Penser à ceux qui pourraient reprendre le travail! XP : CLICK  gestion projet CLICK  genie log CLICK  reverse engineering CLICK  technologie MT IMPORTANT CLICK  suivre methodologie dvp CLICK  architecture logicielle CLICK  documentation CONCLUSION  PENSER AUX SUIVANTS !!! NEXT == MERCI 08/06/2010

Merci de votre attention! Conclusion Merci de votre attention! 15/04/2010