Documentation Utilisateur - Epitech Innovative Project

Transcription

Documentation Utilisateur - Epitech Innovative Project
Documentation
Utilisateur
Documentation utilisateur
Référence
Auteurs :
Matthieu Kermagoret
Céline Baraban
Dorian Guillois
Stéphane Lapie
Thomas Lecomte
Yoann Moizan
Monirath Pontiac
Alexis Rolland
Vincent Schoener
Table des mises à jour :
Version
V1.0
V1.1
Date
01/04/10
17/06/10
Chapitres modifiés
/
/
V1.2
06/07/10
3.5
Changements
Création
Modification
ergonomiques
Ajout de la
procédure
d’installation
Objet du document :
Dans le cadre de l'Epitech Innovative Project, il faut imaginer, développer et
proposer un projet fini et novateur. C'est le projet qui concrétise 5 années
d'études. Il se déroule en 2 ans.
Nysa est un projet innovant, qui a pour but de créer une solution complète de
simulation interactive et immersive (réalité virtuelle).
Nysa se propose donc de créer un ensemble complet matériel et logiciel
permettant aux utilisateurs d'apprécier la simplicité d'utilisation et le réalisme de
la réalité virtuelle tout en permettant aux éditeurs tiers de créer simplement des
applications compatibles avec le système de réalité virtuelle.
Ce document se destine à expliquer comment fonctionne notre projet pour les
développeurs qui voudraient l'utiliser..
-2-
Documentation utilisateur
Sommaire
REFERENCE ...................................................................................................... - 2 SOMMAIRE ....................................................................................................... - 3 1. PRESENTATION DU PROJET ............................................................................. - 4 1.1 PERIMETRE DU PROJET ....................................................................................... - 4 1.1.1 DOMAINE ............................................................................................ - 4 1.1.2 L’EXISTANT DU LE MARCHE ........................................................................ - 4 1.1.3 PRINCIPES DE BASE DU SYSTEME ................................................................. - 6 1.1.4 DESTINATAIRES DU PROJET ....................................................................... - 6 1.2 LES DIAGRAMMES .............................................................................................. - 7 1.2.1 ARCHITECTURE TECHNIQUE........................................................................ - 7 1.2.2 CONFIGURATION MATERIELLE ..................................................................... - 7 -
2. LE MATERIEL ................................................................................................. - 8 3. INSTALLATION ET DESINSTALLATION .............................................................. - 9 3.1 COMPOSANTS ................................................................................................... - 9 3.2 DEPENDANCES.................................................................................................. - 9 3.3 CONFIGURATION ............................................................................................. - 10 3.4 COMPILATION ................................................................................................ - 11 3.5 INSTALLATION ............................................................................................... - 11 3.5.1 PRE-REQUIS LUNETTES ........................................................................... - 11 3.5.2 PRE-REQUIS GANTS ............................................................................... - 13 3.5.3 LE PROJET .......................................................................................... - 14 3.6 DESINSTALLATION .......................................................................................... - 16 -
4. HOW TO ..................................................................................................... - 16 5. FAQ ........................................................................................................... - 17 GLOSSAIRE .................................................................................................... - 19 -
-3-
Documentation utilisateur
1. Présentation du projet
1.1 Périmètre du projet
1.1.1 Domaine
Nysa se rapproche avant tout des frameworks de développement de jeuxvidéo. Le projet rajoute cependant la gestion d'une interface homme-machine
innovante qui est le couple gants-lunettes.
Cependant afin de pouvoir gérer ce matériel il faudra au préalable faire de
la gestion bas niveau tel que le développement de drivers pour différentes
plateformes. Ceci est appelé la programmation système.
1.1.2 L’existant du le marché
Les solutions existantes sont peu nombreuses et représentent souvent
uniquement une solution d'une partie du problème qui permettrait d'avoir accès
à une immersion compatible avec la majorité des logiciels existants.
Lorsque des solutions complètes existent, elles sont bien souvent très
onéreuses et difficiles d'accès.
Parmi les fonctionnalités que l'on peut retrouver indépendamment :
les gants : constructeurs indépendants de chaque marque
 5DT
 Virtual Technologies
 Essential Reality
 ...
les lunettes : constructeurs indépendants de chaque marque



Vuzix
Emagin
…
Le problème principalement rencontré avec des solutions séparées est que
pour fournir leur valeur ajoutée, ces solutions ont bien souvent besoin que les
logiciels existants et déclarés compatibles soient mis à jour, c'est à dire modifiés
-4-
Documentation utilisateur
de manière souvent non officielles. Dans le cas contraire, la valeur ajoutée reste
minimale.
Parmi les fonctionnalités que l'on peut retrouver groupées :
3DVIA Virtools - Dassault Systèmes
Dont la solution n'est pas destinée au grand public
Nvidia 3D vision
Le problème de Nvidia est le fait qu'ils vendent une solution avec lunettes
+ Ecran + PC + Carte graphique qui vont ensemble ce qui devient vite onéreux
et contraignant
Microsoft Natal
Pour la Xbox360, rajouter un système dont le corps servira de contrôleur
de jeux.
Au niveau framework de développement, il existe énormément de
solutions pour créer des applications graphiques.
On pourra citer des exemples en logiciels libres :
-
Ogre3D
Irrlicht
...
Et en logiciel propriétaire :
-
Source Engine
Cry Engine
Unreal Engine
...
Toutes ces solutions ont l'avantage de gérer toutes les créations de scènes
et problématiques générales du jeux-vidéo, mais aucune d'entre elles ne gèrent
les rendus stéréoscopiques ou les entrées des gants de données.
Pour le rendu graphique les bibliothèques principales qui gèrent l'OpenGL
sont :
-
Mesa 3D (Open-source et software)
ATI Catalyst (Propriétaire et hardware)
drivers Nvidia (Propriétaire et hardware)
-5-
Documentation utilisateur
Le problème ici est que les solutions qui pourraient permettre des rendus
stéréoscopiques sont principalement propriétaires (drivers ATI et Nvidia).
Mesa3D fournit certes une implémentation software d'OpenGL, mais les
performances en rendu stéréoscopique restent à démontrer.
1.1.3 Principes de base du système
Le but du projet est de mettre à la portée du plus grand nombre la réalité
virtuelle.
En effet, les jeux vidéos fournissent pour le moment tous les mêmes
interfaces homme-machine : clavier/souris ou manette toujours couplé à un
écran. De part sa nature l'écran est limité à 2 dimensions qui sont elles-mêmes
comprises dans des limites fixes.
Il y a bien quelques essais pour contourner ces limitations intrinsèques :
les rendus polarisés donnant une fausse impression de 3D en sont un exemple.
Malheureusement personne dans l'industrie ne semble vouloir mettre cette
révolution technologique que représente la réalité virtuelle à la portée de tous.
Nous nous proposons donc de fournir aux développeurs à l'imagination
débordante un moyen d'exprimer toute leur créativité.
Ils ne seront donc ainsi plus limités par des périphériques d'entrées/sorties
datant des années 60. Ils pourront tirer partie de ce qui est à l'heure actuelle à la
pointe de la technologie en matière de rendu intégral.
Bien sûr notre solution ne sera pas limitée aux seuls jeux-vidéos. Il sera
bien entendu possible, par exemple, de créer une interface de bureau totalement
novatrice ou encore des logiciels de visite d'appartement sur plan, les limites de
notre SDK ne seront posées que par les limites du génie humain.
1.1.4 Destinataires du projet
Ce projet est destiné aux:
-
développeurs souhaitant créer des applications innovantes pour le grand
public
développeurs de jeux
entreprises désirant faire de la réalité virtuelle
-6-
Documentation utilisateur
1.2 Les diagrammes
1.2.1 Architecture technique
L'architecture technique de Nysa se décompose en deux parties. La partie rendu
graphique et la partie interface homme-machine.
Partie Rendu graphique
La machine s'occupe des calculs relatifs au rendu visuel en utilisant
éventuellement une accélération matérielle.
Partie interface homme-machine
Les capteurs situés dans nos périphériques d'entrées/sorties, nous
permettent de déterminer avec précisions et à chaque instant, la position dans
l'espace des mains et de la tête.
1.2.2 Configuration matérielle
Rendu graphique
La machine de rendu ne nécessite pas de matériel particulier, il faut
néanmoins faire attention à la puissance du processeur afin que le rendu
graphique puisse être fait dans les temps, une machine datant de moins d'un an
devrait amplement suffire.
Interface homme-machine
De part la nature même de notre projet, nous aurons besoin de gants de
données à 6 degrés de liberté et capables de fournir des informations
indépendantes pour chaque doigt et de lunettes stéréoscopiques.
-7-
Documentation utilisateur
2. Le matériel
Gants de données
La plupart des gants de données disponibles sur le marché sont
relativement chers et/ou fermés, c'est pourquoi notre choix s'est porté sur des
gants datant des années 90 : AcceleGlove. Malgré leur ancienneté, ces gants
disposent de toutes les caractéristiques techniques nécessaires dans le cadre de
notre projet. De plus ces gants ont été documentés depuis longtemps par la
communauté open-source.
79$ US et 25$ US de frais de port (~75€)
http://www.cwonline.com
Lunettes stéréoscopiques
Jusqu'à il y a très peu de temps, toutes les lunettes stéréoscopiques
étaient hors de prix. Heureusement Vuzix a récemment sorti un modèle grand
public : les VR920. Ses caractéristiques les situent dans le moyen/haut de
gamme : 3 degrés de liberté et écrans de 640x480.
350$ CA (~250€)
http://www.ebay.ca
-8-
Documentation utilisateur
3. Installation et
désinstallation
3.1 Composants
Le projet Nysa est composé de multiples sous-projets:
Pilotes Les pilotes Linux et Windows pour les lunettes iWear VR920 et les
gants de données Acceleglove.
- SDK
Fonctionnalités de base proposées par les lunettes et les gants qui
seront abstraite pour être multi-plateforme. Le SDK est construit au-dessus des
drivers.
- Framework
Fournit un kit de composants et de fonctionnalités complet
pour développer de nouveaux logiciels orientés réalité virtuelle. Framework basé
sur la célèbre bibliothèque Ogre3D et Nysa: SDK.
3.2 Dépendances
Si vous voulez compiler une partie ou l'ensemble des composantes de
Nysa vous aurez besoin pour chacune des parties d'installer les dépendances.
Sous-projets
Drivers
Framework
SDK
Plate-forme
Linux
Windows
Dépendances
Linux Kernel Tree
Aucun.
Identique à Ogre (voir
http://www.ogre3d.org/wiki/index.php/
Building_From_Source)
Libusb
-9-
Documentation utilisateur
3.3 Configuration
La construction du projet Nysa est basé sur CMake
(http://www.cmake.org). CMake est un « moteur de production » multiplateforme (Makefiles sur Unix, Visual Studio project sur Windows). L'utilisation de
l'interface graphique et de la CLI restent relativement simples.
Par exemple, depuis un prompt, juste exécuter :
$> cmake .
et votre Makefile ou projet Visual Studio sera généré.
Pour configurer le processus de production, CMake utilises des variables
pouvant être configuré à travers une interface graphique sur Windows ou en
utilisant cette syntaxe sur une plate-forme Unix:
$> cmake -Dvariable1=value1 -Dvariable2=value2 .
Les options suivantes sont actuellement disponibles :
Option
Type
LIBUSB_INCLUDE_DIR String
Valeurs par
défaut
Répertoire par
défaut
LIBUSB_LIBRARIES
String
NO_DRIVERS
Boolean
0
NO_FRAMEWORK
Boolean
0
NO_SDK
Boolean
0
NO_UT
Boolean
0
Description
Où trouver le
fichier à inclure
de libusb
La bibliothèque
Libusb
Ne pas construire
les drivers
Ne pas construire
le framework
Ne pas construire
le SDK
Ne pas construire
les tests unitaires
Ces options sont spécifiques à Nysa, mais d'autres options plus générales
sont directement disponibles sur CMake.
Référez vous à
http://www.ogre3d.org/wiki/index.php/Building_From_Source pour une
documentation plus exhaustive.
- 10 -
Documentation utilisateur
3.4 Compilation
Pour compiler Nysa sur Windows, il vous suffit simplement d'utiliser le
projet généré sur Visual Studio et le compiler.
Sur Unix, une simple commande "make" devrait être suffisant pour lancer
le processus entier de compilation.
3.5 Installation
3.5.1 Pré-requis lunettes
Configuration système requise :
-
Ordinateur PC standard ou portable avec port VGA ou DVI
Système d'exploitation Windows XP ou Vista (32 bits) ou UNIX
Port USB 2.0
Sous Windows :
Ne pas connecter les lunettes avant l'installation du logiciel.
Insérer le CD du logiciel iWear pour lancer le programme d'installation.
L'application d'installation doit se lancer automatiquement. Dans le cas contraire
double cliquez sur le lecteur CD/DVD dans le poste de travail.
Cliquez sur « Install VR920 Software »
- 11 -
Documentation utilisateur
Une fois que l'installation est lancée suivez les instructions à l'écran.
Quand l'installateur vous indique que l'installation est terminée, appuyez
sur le bouton « Finish ».
Connexion des lunettes vidéo :
Connectez le connecteur VGA ou DVI sur la sortie vidéo de votre carte
graphique ainsi que l'USB sur un port USB disponible de l'ordinateur. Sous
Windows XP la détection d'un nouveau périphérique se lance automatiquement.
Sélectionnez l'option « Non pas maintenant » puis « Suivant ». Dans la seconde
fenêtre sélectionnez « Installer le logiciel automatiquement (Recommande) »
puis terminez.
Calibrage des lunettes :
La dernière étape consiste à calibrer le
« head tracking ». Les lunettes VR920 disposent
de trois capteurs magnétiques et de trois
accéléromètres.
- Ouvrez l'application iWear VR920 Calibrator
- Appuyez sur le bouton « Begin Calibration »
(commencer le calibrage)
- Tenez vos lunettes face à votre écran
- Faites tourner complètement les lunettes sur
chaque axe.
Une fois la rotation des lunettes sur les 3 axes terminée, appuyez sur le bouton
« Lock calibration ».
La dernière étape du processus consiste à
paramétrer le point central.
Placez les lunettes sur votre visage
Mettez vous face à votre moniteur de bureau et
appuyez sur le bouton « Set Zero »
Sous Linux :
C’est include dans le paquet Nysa, voir section 3.5.3
- 12 -
Documentation utilisateur
3.5.2 Pré-requis gants
Configuration système requise :
- Compatible Windows 2000/XP/Vista ou UNIX
- Java Runtime Environment (JRE)
Sous Windows :
Insérer le CD des AcceleGlove, ouvrir le dossier des drivers en
double cliquant sur le lecteur CD/DVD et sélectionner le système d'exploitation.
Ouvrir le sous dossier (Windows) et double cliquez sur le driver (CDM
2.04.06.exe).
Suivre les instructions pour compléter l'installation.
Installation du « Visualizer » :
Sous Windows, ouvrez le dossier Visualizer, sélectionnez le dossier
correspondant à votre système et double-cliquez sur « AcceleGlove
Visualizer.exe) et suivre les indications à l'écran.
Connecter le gant :
Branchez le câble USB sur le gant ainsi que sur l'ordinateur.
Pour tester le bon fonctionnement du gant vous pouvez lancer
l'AcceleGlove Visualizer qui se trouve dans le menu programme.
- 13 -
Documentation utilisateur
3.5.3 Le projet
Sur Linux :
Téléchargez le paquet sur :
http://eip.epitech.eu/2011/nysa/website/?page_id=10
Executez avec les droits administrateur la commande
o
dpkg –i nysa.deb
Sur windows :
Téléchargez l’installeur sur :
http://eip.epitech.eu/2011/nysa/website/?page_id=10
Double cliquez sur l’installeur nysa_setup.exe
Sélectionnez la langue
d’installation souhaitée
Cliquez sur ok
Cliquez sur
suivant
- 14 -
Documentation utilisateur
Cliquez sur
installer
Une fois fini,
cliquez sur fin,
l’installation de
Nysa est terminée.
- 15 -
Documentation utilisateur
3.6 Désinstallation
Sur Linux :
Dpkg –r nysa
Sur Windows :
Utilisez le désinstalleur de Nysa :
Aller dans : Demarrez - Tous les programmes - Nysa
Cliquer sur Uninstall Nysa
4. How To
Nysa est un outil permettant de se plonger dans un univers 3D et
d'aborder une nouvelle façon d'interagir avec l'ordinateur.
Ce How-To a pour but de vous montrer comment il est facile d'utiliser
rapidement les outils que propose Nysa.
Tout d'abord il vous faudra vous munir de nos gants et lunettes
disponibles dans le package livré par nos soins. Une fois les périphériques
déballé, branchez les via les ports USB disponibles de votre ordinateur. En
suivant la doc d'installation disponible pour votre système (consulter la
documentation ici), installer le SDK. Afin de profiter pleinement de cet univers
3D, Nysa vous propose une panoplie d'outils tel que le SDK (consulter la
documentation sur notre site internet). Ce SDK n'est pour le moment pas
totalement fonctionnel.
Un framework est lui aussi disponible. Utilisant Ogre comme moteur 3D,
vous n'aurez pas besoin de vous en souciez vu que tout est intégré au sein du
moteur.
- 16 -
Documentation utilisateur
5. FAQ
-Les gants AcceleGlove
Sur quels systèmes d’exploitations peut-on utiliser les gants ?
Windows XP/Vista Mac OS X (10.4 ou supérieur) Linux (2.6.9 ou supérieur)
Comment le gant est-il connecté à l’ordinateur?
Par l’intermédiaire d’un simple cable USB allant du gant au PC. De plus, aucune
alimentation externe n’est requise.
Comment les mouvements sont-ils capturés par le gant ?
Un gant AcceleGlove est composé de 6 capteurs permettant de mesurer les
mouvements et l’orientation de la main, du poignet et des doigts (soit 18 degrés
de liberté).
Les 6 capteurs sont des accéléromètres MEMS 3 axes. Un accéléromètre est
localisé sur chaque doigts, ainsi que sur le dos de la main.
Quelle est la fréquence d’échantillonnage maximum du gant ?
La fréquence d’échantillonnage maximum du gant est de 35Hz (soit 630 axes par
secondes).
Quelle est la plage de valeur pour l’orientation et l’accélération des
gants ?
La plage d’orientation est de 180 degrés pour chaque axe (x,y,z). Le range de
l’accélération est quand à lui d’environs +/- 1.5g.
Quel est le poids et la matière du gant ?
Un gant AcceleGlove est fabriqué à partir de tissus léger tel que le Nylon et le
Lycra. Le poids d’un gant de taille L est d’environs 54 grammes.
- 17 -
Documentation utilisateur
-Les lunettes Vuzix iWear VR920
Comment connecté mes lunettes à mon ordinateur ?
Si vous n’avez qu’un port sur votre carte graphique ou portable, les lunettes
iWear VR920 peuvent être connecté directement sur un cable “Y”, ce qui
permettra de connecté les lunettes en tant que second moniteur. Si votre carte
graphique est équipé d’un connecteur HDMI, vous pouvez utiliser l’adaptateur
HDMI fourni pour y connecter les lunettes. Si votre carte graphique possède 2
ports, vous pouvez utiliser les lunettes en tant qu’écran primaire, secondaire ou
cloné.
Quelle est la résolution d’écran pour chaque oeil ?
La résolution de chaque est écran est de 640×480.
Les lunettes sont-elles équipées d’un dispositif Audio ?
Un dispositif audio complet est présent sur les iWear VR920:
-
Un microphone est intégré sous l’avant-gauche des lunettes
Deux écouteurs stéréo amovibles sont placés sur les branches des lunettes
De combien de capteurs sont équipés les lunettes ?
Les lunettes sont équipées de 3 capteurs magnétiques et 3 accéléromètres
permettant de capturer les mouvements de la tête sur 3 axes.
- 18 -
Documentation utilisateur
Glossaire
API
Une API (Application Programmable Interface, traduisez « interface de
programmation » ou « interface pour l’accès programmé aux applications ») est
un ensemble de fonctions permettant d’accéder aux services d’une application,
par l’intermédiaire d’un langage de programmation.
Degré de liberté
En mécanique, un degré de liberté est une possibilité de mouvement. En 3D, il
en existe 6 : les rotations suivant les 3 axes et les translations suivant les 3
axes.
Driver
Pour pouvoir fonctionner, n'importe quel matériel nécessite une couche
logicielle qui comprend comment il marche. Cette couche logicielle est
génériquement appelée driver.
Gants de données
Gants possédant des capteurs permettant de modéliser sur machine la position
exacte dans l'espace des mains, doigts inclus.
Mailing-list
Une liste de diffusion (en anglais mailing-list) est un des services les plus
couramment utilisés sur internet, permettant à un expéditeur d'envoyer un
message à un ou plusieurs destinataires via une seule adresse. Le courrier
électronique a été inventé par Ray Tomlinson en 1972.
OpenGL
OpenGL est une API permettant de créer des images 3D (et 2D). Le but est
d'uniformiser sur toutes les plateformes l'API graphique. Les rendus OpenGL
peuvent être accélérés (hardware) ou non (software).
Stéréoscopie
La stéréoscopie est une technique mise en œuvre afin de percevoir une
sensation de relief à partir de deux images planes (une pour chaque œil). Elle se
base sur la perception du cerveau qui restitue une seule image en 3D à partir des
informations fournies par chaque œil.
- 19 -