Veuillez consulter l'aide pour connaitre le fonctionnement de ce wiki. Bonne visite !

Tables interactives

Introduction aux tables interactives

Cette partie du wiki traitera de la création d'une table interactive multi doigts.

Mais nous répondrons tout d'abord à quelques questions :

Une table interactive multi doigts, qu'est ce que c'est ?

Et bien c'est une table constitué sur sa partie supérieure d'un affichage tactile permettant de manipuler les informations affichés en utilisant plusieurs doigts. Dans le cas de la table qui sera présenté dans ce blog, elle permettra également des interactions tangibles, c'est à dire de manipuler les informations affichées avec des objets physiques.

C'est bien, mais comment ça marche ?

Pour ce faire nous allons utiliser une technologie appelé DI pour Direct Illumination. Cette technologie est expliqué plus en détail sur ce très bon site web qu'est le NUI Group Community Forums, à la différence près qu'à la place d'un vidéo-projecteur, j'utiliserai un écran LCD.

En résumé, je vais appliquer le principe exposé sur ce schéma :

Comme montré sur ce schéma de principe, en dessous de la dalle LCD se trouvera des illuminateurs infrarouges, une source lumineuse Blanche et une ou plusieurs caméras infrarouges.

Le principe de fonctionnement est alors très simple : quand on approche ses mains de la dalle LCD, les rayonnements infrarouges provenant du fond de la table se reflètent sur les doigts (la paume, ou tout autre objet clair), et ils sont captés par la caméra infrarouge. On obtient une image de ce genre :

De cette façon, avec du traitement de l'image on peut détecter la présence et la position des doigts (des “blob” ) et les utiliser comme points d'entrées pour des applications multi doigts. Il existe plusieurs logiciels permettant de faire ces traitements de l'image, tel que touchlib, ou tbeta.

Une variante de ce modèle, est l'utilisation d'un vidéo projecteur pour projeter une image sur le plexiglas (cf le schéma du haut) à la place du LCD + éclairage blanc. (c'est exactement la méthode utilisé par Microsoft Surface)

Donc tu vas utiliser quoi comme matériel ?

Pour mettre en œuvre ce schéma de principe, il faut dans un premier temps :

  • Une dalle LCD qui proviendra d'un écran Digimate DGM L2442W, munis d'une dalle LCD de 24 pouces et de technologie MVA présentant l'avantage de ne pas avoir d'angle mort contrairement aux dalles TN classiques.
  • Des LEDs blanches et infrarouges de type Luxéon, et utilisant une plaque de Plexiglas EndLighten pour diffuser la lumière de façon plus homogène.
  • Deux caméras PlaystationEye, qui ont la particularité d'avoir un très bon débit d'image et une résolution acceptable (jusqu'à 640×480 pixels à 75 images par secondes) pour un prix assez faible, en utilisant le driver d'AlexP. Ces deux caméras seront également équipés d'objectifs grand angle et d'un filtre NIR (laissant passer uniquement les infrarouges).

Le reste du matériel sera explicité plus en détails dans la suite de ce blog.

Et niveau logiciel, tu vas faire comment ?

Niveau logiciel comme je l'ai mentionné précédemment, il existe déjà des applications permettant de récupérer la position des doigts, tel que touchlib et tbeta. Mais j'ai envie de m'aventurer également sur ce terrain là et fabriquer mon propre tracker de doigts, en utilisant la technologie CUDA.

Cette technologie de nVidia permet de décentraliser les calculs massivement parallélisables sur la carte graphique (ou GPU) afin de laisser le processeur (ou CPU) libre d'exécuter d'autres choses, comme une application.

De plus, comme cette table utilisera probablement Microsoft Windows Seven qui est conçu pour être utilisé en multi doigts, j'essayerai de lier mon tracker à l'API de Windows en développant un driver.

Ensuite, il me faudra également développer les applications qui fonctionneront derrière, mais je compte bien pouvoir réutiliser celles qui sont déjà existantes et disponibles sur la toile ! J'espère que pour ce point Microsoft .NET 4.0 qui sortira d'ici peu fournira un certain nombre d'outils permettant de développer des applications multi doigts aussi aisément qu'avec le SDK de Microsoft Surface.

Ok ! Mais au final ça servira à quoi tout ça ?

Et bien l'avantage de ces tables c'est qu'elles peuvent servirent à plein de choses différentes. Elle pourra par exemple servir à la visualisation de photos (et plus généralement de documents), de télécommande évolué pour un média-center ou de la domotique, etc. Je n'ai pas encore réfléchi à tout ce qui me sera possible de faire avec, car je pense qu'au final je prends autant de plaisir à la construire que j'en aurai plus tard à l'utiliser.

Tu voles en solo, ou tu as des copilotes pour ton aventure ?

J'ai avec moi une grande équipe de R&D, qui met également les mains dans le cambouis à l'occasion. Cette équipe est composé d'ancien collègues et amis avec lesquels j'étais en cours pendant mes trois dernières années d'études et qui sont des geeks / technophiles de premier ordre, j'ai nommé Xentor et Philou.

Donc voilà ça sera tout pour ce qui est de l'introduction. Je continuerai sur des points plus précis de la construction de la table par la suite.

Pages liées