middleware/doc/readme.txt
author bastiena
Mon, 19 Mar 2012 10:21:56 +0100
changeset 5 d40f84d77db4
child 7 8a21bec5d45f
permissions -rw-r--r--
Documentations (readme) Installer Deletion of useless comments and code lines
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     1
TraKERS (Tracking using Kinect and Extracting Robust Skeletons) est une interface basée sur la détection de gestures / positions du squelette envoyé par le SDK Microsoft (1.0) de Kinect.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     2
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     3
Auteur : Alexandre BASTIEN.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     4
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     5
I) TraKERS - Eléments requis :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     6
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     7
Les spécifications de Microsoft font état des éléments matériels et logiciels requis afin de pouvoir utiliser le SDK :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     8
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
     9
Besoins matériels :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    10
	Capteur Kinect.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    11
	Processeur32-bit (x86) ou 64-bit (x64).
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    12
	Dual-core 2.66-GHz ou plus rapide.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    13
	Bus USB 2.0 dédié.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    14
	2 GB RAM.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    15
Besoins logiciels :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    16
	Microsoft® Visual Studio® 2010 Express ou une autre édition de Visual Studio 2010 (si vous souhaitez développer).
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    17
	Windows 7.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    18
	NET Framework 4.0.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    19
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    20
Vous les trouverez ici si vous le souhaitez : http://www.microsoft.com/en-us/kinectforwindows/develop/release-notes.aspx
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    21
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    22
La version 4.0 du Framework est présente dans l'installation de TraKERS.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    23
Néanmoins, par soucis de taille de l'installeur, il vous sera nécessaire d'installer le SDK 1.0 de Microsoft ici :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    24
http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    25
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    26
II) TraKERS - Structure :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    27
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    28
TraKERS v1.0 est composé de deux modules, le Middleware (utilisant la Kinect afin de détecter des gestes et de suivre la position des mains et le Front (développé en Processing), permettant de récupérer les messages OSC du Middleware. Pour plus d'informations sur le Front, veuillez consulter la documentation située dans le dossier Front Processing.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    29
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    30
Afin de permettre au Middleware d'envoyer des messages au Front, un client TUIO a été installé dans le Front et un serveur TUIO dans le Middleware.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    31
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    32
Le middleware dispose d'une interface de debug permettant de connaître en temps réel la position de l'utilisateur à la Kinect. Ces fonctionnalités seront vues plus avant dans la partie Utilisation.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    33
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    34
Les sources des modules sont fournies lors de l'installation, n'hésitez pas à les consulter si besoin est.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    35
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    36
III) TraKERS - Utilisation :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    37
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    38
Vous pouvez démarrer le Middleware ou bien le Front dans l'ordre que vous voulez.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    39
Lorsque le Middleware est démarré, la Kinect ne s'allume pas encore. Il faut pour cela appuyer sur le bouton ON en bas de la fenêtre de debug. Le capteur (situé le plus à gauche sur la Kinect) va alors s'allumer en rouge, signe que vous serez détecté si vous entrez dans son champ.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    40
Lorsque le bouton a été appuyé, il devient un bouton OFF, et permet d'éteindre la Kinect. Il est à noter que le fait de fermer la fenêtre ou de quitter via le menu éteignent également le capteur de la Kinect, avant de quitter.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    41
(Plus de détails sur la Kinect : http://fr.wikipedia.org/wiki/Kinect).
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    42
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    43
Lorsque vous êtes détectés, le squelette de la personne la plus proche s'affiche. Les rectangles sur la droite indiquent la proximité de l'utilisateur par rapport à la Kinect, lorsque l'utilisateur est à moins de 1m, le rectangle du haut est rouge ; entre 1m et 2m, le second est orange ; entre 2m et 3m, le troisième est jaune et au delà de 3m, le dernier rectangle est blanc.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    44
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    45
Il existe une zone de détection des mains, située par défaut entre 1m et 1,5m de la Kinect mais configurable. En dehors de cette zone, les mains sont toujours détectées, mais aucun signal n'est envoyé via le serveur TUIO. Il y a deux rectangles en haut de cette fenêtre, permettant d'indiquer si une main est entrée dans ce champ (main gauche/droite dans le champ se traduit par la coloration du rectangle gauche/droit en bleu, et par l'affichage en pixels des coordonnées de la main (sauf pour la profondeur, qui est en mètres).
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    46
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    47
Il est possible de paramétrer des éléments du Middleware, comme la délimitation du champ pour les mains, le host et le port pour le serveur et l'intervalle de temps minimum qui sépare deux détections de gestes.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    48
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    49
Si des erreurs surviennent durant le fonctionnement du Middleware, ceux-ci seront affichés en bas de la fenêtre. Lorsqu'un geste est détecté, une couleur est affichée en bas de la fenêtre, au niveau des exceptions. Pour des raisons de lisibilité au niveau de la détection, la couleur restera affichée tant que la main gauche sera dans le champ. Autrement, la couleur apparaîtra, puis disparaîtra.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    50
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    51
A) Position des mains :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    52
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    53
Lorsqu'au moins une main entre dans le champ, ses/leurs coordonnées sont envoyées par le serveur au front. Si le front n'est pas lancé, il n'y aura pas d'erreur.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    54
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    55
B) Détection de gestes :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    56
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    57
Pour l'instant, plusieurs gestes peuvent être détectés :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    58
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    59
	SWIPE - Désigne un mouvement de claque horizontal, partant de la droite vers la gauche avec la main droite (et inversement pour la gauche). Durant le geste, la main ne doit pas descendre sous la hanche ni aller au dessus de la tête. Il lui faut une certaine longueur de parcours et elle ne doit aller que vers la gauche pour la main droite et vers la droite pour la main gauche. Le swipe peut donc être pour l'instant gauche ou droit.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    60
	Lorsque ce geste est détecté, le bas de la fenêtre se colore en rouge si le swipe est vers la gauche.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    61
	Lorsque ce geste est détecté, le bas de la fenêtre se colore en violet si le swipe est vers la droite.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    62
	
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    63
	PUSH/PULL - Mouvement de poussée/traction rectiligne dirigé vers la kinect à partir de l'emplacement actuel de la main effectuant le geste.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    64
	Lorsque ce geste est détecté, le bas de la fenêtre se colore en blanc s'il s'agit d'un push.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    65
	Lorsque ce geste est détecté, le bas de la fenêtre se colore en noir s'il s'agit d'un pull.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    66
	
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    67
	En développement :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    68
		JUMP - Action de sauter à pieds vers le haut.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    69
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    70
IV) Mentions importantes pour le debug :
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    71
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    72
Il demeure quelques problèmes dans cette version de TraKERS, qui seront réglés à l'occasion d'une autre phase de développement.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    73
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    74
1) Instabilité du logiciel lorsqu'un utilisateur se trouve trop proche de la Kinect durant un certain laps de temps (moins d'un mètre).
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    75
2) Le premier client Processing à se connecter au Middleware est le seul à recevoir des messages. Je ne pense pas que cela soit problématique dans la mesure où l'on peut implémenter différentes fonctions de dessins sous processing qui seront appelées suivant les messages reçus par le client.
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    76
d40f84d77db4 Documentations (readme)
bastiena
parents:
diff changeset
    77
Si vous expérimentez des difficultés ou souhaitez me soumettre une requête, voici mon adresse : alexandre.bastien@iri.centrepompidou.fr