Nouveauté pour le Yocto-3D-V2

Nouveauté pour le Yocto-3D-V2

Nous avons illustré dans un précédent article les effets des perturbations magnétiques et gyroscopiques sur le capteur inertiel du Yocto-3D-V2. La méthode standard de fusion des données du capteur pouvait dans certains cas se trouver mise à mal, au point de rendre les mesures inutilisables. C'est pourquoi nous avons récemment ajouté dans le firmware du Yocto-3D-V2 la possibilité de choisir parmi plusieurs méthodes de fusion, afin d'élargir le spectre des applications où il pouvait être utilisé.


L'algorithme de fusion idéal

Le capteur BNO055 du Yocto-3D-V2 comporte en réalité 3 senseurs distincts:

  • Un accéléromètre 3D
  • Un magnétomètre 3D
  • Un gyroscope 3D

Pour pouvoir en déduire en temps réel une orientation, il faut combiner ces trois mesures:

  • L'accéléromètre permet de mesurer l'inclinaison absolue
  • La combinaison de l'accéléromètre et du magnétomètre permet d'obtenir une boussole 3D absolue (compensée en inclinaison)
  • Le gyroscope permet de mesurer en temps réel les changements d'orientations, plus rapidement que ne le permettent les deux précédentes méthodes, et sans être perturbé par les variations passagères de l'accélération et du champ magnétique.

C'est cette méthode complète que le BNO055 appelle NDOF (nine degrees of freedom, neuf degrés de liberté).

Situations non-idéales

L'algorithme idéal fonctionne bien lorsque tous les senseurs du BNO055 sont opérationnels. Par contre, les choses se gâtent parfois dans la vraie vie...

Perturbations magnétiques

Dans le cas où des éléments externes altèrent les lignes de champ magnétique, l'algorithme de fusion va essayer de corriger la valeur d'orientation de manière erratique, alors même que l'orientation gyroscopique pouvait être correcte. Dans ce cas là, on préférerait une estimation de la position basée uniquement sur les gyroscope, qui serait meilleure, quitte à recaler l'orientation périodiquement en logiciel.

Dérive gyroscopique

Les gyroscopes sont très performants lorsqu'ils sont bien calibrés, et ils s'auto-calibrent très facilement en gardant simplement le capteur immobile (ou en simple translation à vitesse constante). Mais si le capteur est utilisé durant une période prolongée sans jamais être immobile, par exemple sur un bateau, le gyroscope va dériver petit à petit et imaginer des mouvements qui n'existent pas, et qui seront intégrés par l'algorithme de fusion. Si la réactivité n'est pas critique, on préfèrera donc dans ce cas une estimation de position n'utilisant pas le gyroscope mais uniquement la boussole.

Les modes de fusion du BNO055

Vous trouverez donc désormais dans la configuration du Yocto-3D-V2 (en mettant à jour votre firmware et votre VirtualHub) un nouveau réglage permettant de choisir parmi plusieurs modes de fusion:

Interface de configuration du Yocto-3D-V2
Interface de configuration du Yocto-3D-V2



Voici en quelques mots les caractéristiques de chaque mode:

  • NDOF: C'est l'algorithme de fusion idéal pour les conditions idéales: tous les capteurs sont utilisés pour se corriger les uns les autres. C'est aussi la seule méthode qui était disponible sur le Yocto-3D-V2 jusqu'à présent.
  • NDOF_FMC_OFF: Variante du premier algorithme, mais en (re)calibrant moins rapidement la boussole (FMC_OFF signifie fast magnetic calibration OFF).
  • IMU: Algorithme de fusion n'utilisant pas la boussole, basé uniquement sur les mesure inertielles (accéléromètre et gyroscope). La position est mise à jour très rapidement, mais comme il n'y a pas de référence absolue pour l'orientation, l'indication d'orientation n'est pas une valeur absolue mais relative à la position de départ. C'est l'algorithme à utiliser si la boussole est perturbée.
  • COMPASS: Algorithme de fusion sans gyroscope, destiné à un fonctionnement de boussole 3D. C'est un algorithme à utiliser si vous avez des problèmes de dérive gyroscopique, et que vous avez besoin d'une orientation absolue correcte. Dans ce mode, le gyroscope retourne toujours une vitesse angulaire nulle.
  • M4G: Variante de l'algorithme précédent où l'orientation est détectée uniquement par le magnétomètre, mais qui émule en plus les mesures de gyroscopiques par des mesures différentielles de champ magnétique (M4G signifie magnetometer for gyroscope). Dans ce mode, aucune auto-calibration de la boussole n'est appliquée, les valeurs du magnétomètre sont utilisées telles quelles.


Si vous avez un doute entre deux modes pour votre application, rien ne vaut une expérience: essayez-les et regarder celui qui vous donne les meilleurs résultats.

Commenter aucun commentaire
Retour au blog












Yoctopuce, get your stuff connected.