IMU compas et gite

Bonjour,

J'ai le projet de réaliser un compas pour voilier. J'utilise une imu witmotion wt901c.

Pour le moment je fais des tests en python. J'ai calibré correctement l'imu. mais quand je fais giter l'IMU le cap Z varie en moyenne de 1° pour 10° de gite sur l'axe Y ou X.
Le calcule avec Quaternion ou par l'IMU donne la même chose ...

Y a t'il des librairies ou formules qui permettent de compenser l'effet de gite sur le cap ?

mon code python pour test :

import math
import time
from witmotion import IMU


Offset_z = 0


def callback(msg):
    q = imu.get_quaternion()
    if q is not None:
        yaw = math.atan2(2 * (q[1] * q[2] + q[0] * q[3]), q[0] * q[0] + q[1] * q[1] - q[2] * q[2] - q[3] * q[3])
        yaw *= 180 / math.pi
        if  yaw < 0 :
            yaw = -yaw
        yaw += Offset_z
        print('quaterion z : ', round(yaw))
        print(imu.get_angle())


imu = IMU('/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0',9600)
imu.subscribe(callback)

Il faudrait étudier des filtres de fusion tels que un filtre de Kalman ou un filtre de Mahony. Ces filtres peuvent aider à combiner les données provenant des capteurs de l'IMU de manière à réduire les erreurs, y compris celles induites par le mouvement du bateau.

Il existe des bibliothèques Python telles que pykalman ou pour Mahony dans la bibliothèque MadgwickAHRS.

Si vous cherchez IMU et Kalman sur le forum vous verrez des références

Merci pour le retour.
l'IMU est sensé avoir un filtre kalman : https://www.wit-motion.com/proztsz/43.html
Je vais regarder Mahony.

Ok vous êtes peut être victime de

In some vibration environments, there will be cumulative errors. The specific errors cannot be estimated and will be subject to actual testing.

Heu, je fais des tests bien à l'abri dans mon bureau ...

Vous le faites gîter comment ?

en faisant pivotant l'IMU l'angle contre une boite pour pour ne pas modifier le cap.

Je ne connais pas ce composant, peut être n’est il pas de si bonne qualité que la pub semble indiquer… (si vous avez bien calibré et pas introduit une boîte métallique ensuite comme pivot)

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.