Étape 3: L’accéléromètre
Explication détaillée
Objectif de l’accéléromètre devait reconnaître une poignée de main qui activerait le GPS à l’étape suivante.
Toutefois, reconnaissant qu'une poignée de main n’est pas aussi simple que de reconnaître un mouvement linéaire simple comme elle devait impliquer l’utilisation de tous les 3 axes. Nous avons fait quelques recherches et s’est rendu compte qu’il y avait très peu de ressources disponibles pour les bibliothèques de geste actuel. Nous avons trouvé seulement 2 être bien poli, appelées Wiigee et micro-ondes.
Wiigee était problématique, car il a été conçu pour reconnaître les gestes d’un WiiRemote et aurait été trop difficile au port dans le capteur accéléromètre sur la Edison étant donné le délai extrêmement limité pendant la compétition.
en revanche, micro-ondes semble être la solution idéale car il est une bibliothèque écrite par Zhen Wang, un Googler actuel pour sa thèse de premier cycle ou études supérieure et pourrait être utilisé sur n’importe quel accéléromètre en général. Une courte explication de comment cela fonctionne :
-Il y a deux modes, que l’utilisateur peut utiliser dans la bibliothèque :
1. les premiers enregistrements un geste prédéfini par l’utilisateur dans un journal de déposer en utilisant les valeurs d’accélération brute
2. le second va essayer de voir si n’importe quel geste que l’utilisateur effectue correspond au dossier un. La deuxième étape est finalement celui plus complexe comme il le fait une série de sous-étapes :
r. ce l’étape 1, mais au lieu d’écrire dans un fichier, il enregistre seulement dans un tableau
b. utilisation de quantification, il convertit les valeurs brutes accélération analogiques en numériques
c. il compare ces valeurs au mouvement prédéfini original en utilisant un algorithme appelé temps dynamique gauchissement (DTW).
d. d’après les comparaisons, il reconnaîtra le geste soit assez exact pour ressembler à l’original enregistré ou non.
En fin de compte, nous avons essayé d’importer des micro-ondes dans notre capteur mais il y avait quelques erreurs inconnues, probablement à cause de la bibliothèque c de micro-ondes incorrectement transformer notre programme C++ qui avait de la bibliothèque de nos capteurs. Nous avons fini par essayer de simplifier le code dans le micro-ondes pour importer dans notre code, mais nous avons manqué de temps/quantification et DTW sont des algorithmes assez complexes. J’ai fourni le code problématique, nous avons eu en deux versions, la première tentait d’importer la bibliothèque de micro-ondes et de la 2e version essayé d’écrire une version simplifiée de celui-ci (ainsi que pour des fins de débogage en utilisant un bouton capteur ou l’écran lcd).
Voici le site Web de Wang avec la bibliothèque de micro-ondes pour toute personne intéressée aussi bien et la page de wikipedia sur l’algorithme DTW en particulier :
Micro-ondes, bibliothèque : http://zhen-wang.appspot.com/rice/projects_uWave...