ARVFob

De Ensiwiki
Aller à : navigation, rechercher

Principe

Le but de cette classe est de facilité l'utilisation du Flock of Birds. Elle permet la récupération des 6 degrés de liberté du capteur qui définissent sa position et son orientation pas rapport à la borne magnétique.

Arv-fob.jpg

Logiciel

le code qui sert à récupérer les valeurs définissant la position 3D du capteur se trouve dans SOURCE/LOWLEVEL/INTERFACE/FOB. Il s'agit de la classe ARVFob.

Son fonctionnement pourrait etre résumé dans cette boucle:

 //création de la stucture correspondant au FOB.
 ARVFobStruct fob = ARVFob_New(hemisphere,port);
 //avec hemisphere définissant l'hémisphère de capture par rapport à la base du FOB
 //enum ARVFobHemisphere {ARV_FORWARD,ARV_BACKWARD,ARV_UPPER,ARV_LOWER,ARV_LEFT,ARV_RIGHT};
 //et port indiquant le port série utilisé pour la connection
 //(0 pour le port 1 et 1 pour le port 2)
 //par défaut hemisphere=ARV_UPPER et port=0
 
 //initialisation du FOB.
 ARVFob_Init(fob);
 
 //démarrage de l'aquisition.
 ARVFob_Start(fob);
 
 //boucle d'aquisition.
 while(aquisition){
 
       float pos[3];
       float rot[4];
       float axis[3];
       float angle;
 
       //mise a jour de la structure de données.
       ARVFob_Update(fob);
 
       //fonctions fournissant la position et l'orientation du capteur.
       ARVFob_GetPos(fob, pos);
       ARVFob_GetRot(fob, rot);
       ARVFob_GetPosRot(fob,pos,rot);
 
       //fonction fournissant la position du capteurs ainsi que son orientation
       //selon le modèle utilisé par Open Gl
       ARVFob_GetPosAxisRot(fob, pos, angle, axis);
 
 }
 
 //arret de l'aquisition des données.
 ARVFob_Stop(fob);
 
 //fermeture totale de l'aquisition des données.
 ARVFob_Close(fob);

Exemples

Trois exemples pouvant servir de base à de futurs projets sont disponibles dans le répertoire /SOURCE/LOWLEVEL/INTERFACE/FOB:

  • ARVFobTest permet de tester la connexion du Flock of Birds et affiche les coordonnées du capteur pendant un certain temps.
  • ARVFobGLTest consiste en une application utilisant un contexte OpenGl où on peut voir une représentation du capteur se déplacer autour de la borne magnétique.
  • ARVFobDemo est une autre application OpenGl utilisant la vision stéréoscopique. Elle consiste en un "jeu" où il faut approcher la représentation du capteur au plus près d'une cible 3d.