2010-06-28 29 views
0

utilisant:coverting de RawValues ​​aux valeurs pour gyroscope à WiiMotion plus - Wiimotelib 1.8 beta

Wiimote.WiimoteState.MotionPlusState.RawValues; 

je peux retrive les valeurs brutes du gyromètre de la WiiMotion plus, cependant, ces valeurs d'accélération de rotation sont complètement arbitraires et sont de peu d'utilité à moi comme ils se tiennent.

Je crois que:

Wiimote.WiimoteState.MotionPlusState.Values; 

me donnera les données en g comme cela est le cas avec les données de l'accéléromètre de la wiimote dans la bibliothèque Wiimote. Malheureusement, quand j'utilise ceci, je ne reçois aucune donnée, x, y et z sont tous nuls. Est-ce que quelqu'un peut soit expliquer comment convertir les valeurs brutes en g significatifs ou faire la lumière sur pourquoi je ne peux pas récupérer l'information normalement.

Répondre

0

si vous utilisez WiimoteLib, c'est parce que c'est une version bêta; la conversion de RawValues ​​en Values ​​sont toujours des méthodes stub. J'ai utilisé cette technique de normalisation: 1. Calibrer le MotionPlus (ie Trouver la valeur brute qui correspond à zéro, je le fais en le maintenant immobile pendant un certain temps) 2. Pour chaque valeur brute suivante, je soustrais le zéro valeur de lui pour obtenir la valeur brute "relative". 3. Ensuite, je redimensionne cette valeur en utilisant http://wiibrew.org/wiki/Wiimote/Extension_Controllers (en vérifiant yaw_fast, pitch_fast etc.), où les valeurs numériques sont calculées en utilisant la mesure (valeur brute de 8192 correspond à 595 deg/s) 4. Je résume tous ces valeurs au cours du temps (intégration discrète) pour obtenir l'angle de la wiimote par rapport à l'orientation initiale. Quand j'ai testé cela en tournant le wiimote dans la direction du lacet de 90 degrés et vice versa, j'ai obtenu un joli graphique correspondant. Mais, mes valeurs ne sont pas à l'échelle et je n'ai aucune idée comment le convertir sans connaître le maximum valeur (c'est-à-dire la valeur qui correspond à 360 degrés) Peut-être que je devrais faire d'autres tests sur cela,

mais si quelqu'un a d'autres idées, j'attends aussi ...