Site ELEC344/ELEC381

Partie interactive du site pédagogique ELEC344/ELEC381 de Télécom ParisTech (occurrence 2010).

Catégories

Gyroscope et filtre anti dérive d'ordre 2

Aujourd’hui j’ai continué à travailler sur le gyroscope. J’ai commencé par chercher le mystérieux bug d’hier et j’ai découvert à mes dépend que l’opérateur % en C (modulo) ne renvoit pas le modulo n canonique (le nombre compris entre 0 et n-1) mais le reste de la division euclidienne. Ce qui signifie que -1%3 = -1.

D’où des underflow dans mes buffers… D’où des résultats bien étrange. Mais ce temps est révolu !

J’ai donc ensuite testé le filtre MATLAB de Fabien, après l’avoir implémenté en C. Les résultats sont cohérents avec les simulations MATLAB de Fabien, comme vous pouvez le voir dans les diagrammes ci-dessous, que j’ai tracé avec l’excellent freeware Mac qu’est Plot, découvert pour l’occasion.

X et Y intégrés (représentent l'angle de rotation de la carte) sans filtrage. La carte est immobile. La partie agitée correspond à une agitation de la carte qui ne fait qu'accentuer gravement la dérive.

X et Y intégrés (représentent l'angle de rotation de la carte) avec filtrage. Cette fois ci, une agitation de la carte qui ne déclenche toujours pas de dérive significative ! C'est un peu normal vu le filtre, mais ça devrait produire des résultats intéressants une fois combiné à l'accéléromètre.

Commentaires fermés.