BNo et MMA

Bonjour,
Je ne comprends pas pourquoi on utilise un BNO055 et un MMA8452. Sauf si je me trompe, les fonctions du MMA sont également dans le BNO.
Quelqu’un peut-il me préciser ce point ?

Bonjour

il y a un accéléromètre et une boussole numérique dans ces references
donc deux fonctions differentes pour un calcul de roulis et de cap

D’accord merci

pour l’avenir il vaux mieux eviter d’en acheter

ca sera remplacé par un composant unique bno 085 ou cmps14

Le soft est déjà adapté ?

Humm? Je pense que le MMA8452 est un IMU integrant seulement la fonction Accelerometre. Le BnO a en plus le gyroscope et le magnetometre
(C’est un 9 axes 9DOF Degree Of Freedom

Salut,

MMA : accéléromètre 3 axes purs. Donc on peut mesurer une orientation par rapport à l’accélération gravitationnelle (qui est parallèle au rayon de la terre)., ce qui donne une orientation par rapport au sol en gros.
Mais un accéléromètre, va aussi mesurer toutes les vibrations auxquelles il est soumis (une vibration c’est une accélération qui oscille dans le temps en gros). Donc il faut réussir à très bien filtrer le signal pour virer toutes les perturbations qui sont liées au vibrations et n’avoir “que” le signal qui nous intéresse qui est l’accélération gravitationnelle.

Une IMU (centrale inertielle) c’est à minima accéléromètre 3 axes + gyroscopes 3 axes (en option magnétomètre 3 axes). Le gyroscope mesure des vitesses angulaires (si on bouge pas, c’est 0). En faisant l’intégrale de la vitesse de rotation, on obtiens la position (l’orientation). Mais le défaut du gyroscope c’est qu’il dérive dans le temps.
En combinant accéléromètre et gyroscope, on arrive à compenser les défauts de chacun de ces capteurs pour obtenir l’orientation dans l’espace, via des algos assez complexe de “fusion des données”.

Un petit tuto mieux vulgarisé sur le fonctionnement de ces capteurs et qui donne un exemple d’algo de fusion des données très basique ici, pour ceux qui veulent creuser:
http://starlino.com/wp-content/uploads/data/imu_guide/GUIDE_D_UTILISATION_D_UN_MODULE_DE_STABILISATION_INTEGRE.pdf

La magnétomètre sert en plus à référencer le cap du module par rapport au nord magnétique.

Pour en revenir à la question initiale : oui le BNO055 est une IMU (accéléromètre + gyroscope + magnétomètre), donc oui il donne un cap en plus du roulis et du tangage.
Mais le BNO055 a la fâcheuse tendance à se mettre à dériver, donc c’est pour ça qu’il n’est pas utilisé pour l’inclinaison.

Ces remplacent, le CMPS14 et/ou le BNO085 sont beaucoup plus performant, n’ont plus ce problème de dérive et vont donc pouvoir être utilisé pour le cap + l’inclinaison du tracteur (en replacement du MMA & BNO055 actuels).

Math

5 Likes

@Math Merci beaucoup pour ton explication très complète, c’est beaucoup plus clair pour moi

Tres clair et en accord avec mes recents apprentissages…
Reste a comprendre les angles d’Euler’ les quaternions les filtres de Kalman!!!
Alors on sera au point…
(Avec comme pseudo “Math” on pourrait compter sur une aide!?)

2 Likes

Bonsoir à tous,
Je me permet d’écrire en francais, qelques petites questions

  1. Peut être je me trompe mais le filtrage de Kalman n’est il pas approprié lorsqu’en parallèle
    on connait la loi d’évolution du signal ?
    Exemple : chute libre d’un objet, on mesure l’évolution de sa hauteur,
    en parallèle on connait la loi d’évolution et on combine les deux dans le filtre de Kalman ?
    Ici, pour l’inclinaison ou le cap ou le WAS, je prendrait plutot un filtre digital simple type RIF 1er ordre
    à une fréquence de coupure de 0.5 ou 1 Hz ?
  2. Ou trouvez vous les CMPS14 et BNO05 à prix intéressant ?
    francois

Salut,

Alors non je vais pas pouvoir t’aider, mon pseudo est plus un diminutif du prénom.

Les quaternion font parti de l’ensemble des nombres hypercomplexe, j’ai même pas vu ça en math sup/spe. Pour les filtres de Kalman, pareil jamais étudié j’ai juste lu 2/3 trucs dessus (j’ai plus travaillé avec des passe bas, passe haut, passe bande etc. du 1er ou 2nd ordre).

Maintenant, sauf par plaisir d’apprentissage etc, ça n’a pas trop d’intérêt de se plonger en détail dans la théorie de ça pour AOG. A mon avis, ce qu’il faut retenir:

  • Les quaternions sont une représentation mathématique de l’orientation spatiale qui s’affranchir de certains problèmes posés par les angles d’Euler. Et on peut facilement “convertir” des Quaternion en nombre d’Euler si on veut retrouver une orientation spatiale en terme en terme représentable pour nous.
  • Les valeurs brutes des capteurs d’une centrale inertielle (accélération, vitesse de rotation et champs magnétique) doivent être “fusionnées” par des algorithmes spécifiques pour obtenir une orientation spatiale et ces algorithmes sont basés notamment sur les filtres de Kalman.

Maintenant, pour AOG on cherche des IMU qui embarquent leur propres algos de fusion et qui sortent directement des valeur d’orientation (en quaternion ou angle d’Euler).
L’objectif n’est pas de faire nous-même les algorithmes de fusion, c’est vraiment assez complexe je penses et très spécialisé.

Oui alors tu veux te lancer dans la réalisation de tes propres centrales inertielle ? Tu peux trouver des algorithmes de fusion en open-source, notamment celui-là qui est assez connu: Open source IMU and AHRS algorithms – x-io Technologies.
J’avais essayé de l’utiliser pour une IMU qui n’avait pas ces propres algos, mais j’ai jamais réussi à obtenir quelque-chose de probant.

Math

1 Like