2017-02-10 2 views
0

Je développe un Gibmbal gyrostabilisé à 2 axes. J'utilise un capteur de 10DOF:Calcul amélioré des angles d'inclinaison et de roulis pour un accéléromètre et un gyroscope

MPU6050 (gyroscope accéléromètre &) HMC5983 (magnétomètre) MS5611-01BA (altimètre)

je l'ai déjà calculeted les angles d'inclinaison et de roulis par THIS procédé

//Roll & Pitch Equations 
roll = (atan2(-fYg, fZg)*180.0)/M_PI; 
pitch = (atan2(fXg, sqrt(fYg*fYg + fZg*fZg))*180.0)/M_PI; 

Ces formules utilisent uniquement les données de l'accéléromètre. Les calculs fonctionnent bien. et les servomoteurs réagissent très bien à la commande calculée jusqu'à ce que le capteur soit poussé dans n'importe quelle direction linéaire (par linéaire, je ne veux pas par rotation), dans ce cas nous obtenons un mauvais résultat temporaire.

Normalement, lorsque nous avons obtenu seulement un mouvement linéaire ou une accélération sans aucun changement d'inclinaison & angles de roulis le résultat du calcul doit rester inchangé, ce qui n'est pas le cas.

Je me demande s'il existe un calcul amélioré pour l'inclinaison & angles de roulis? peut-être un calcul plus complexe qui utilise également le capteur de gyroscope à côté accéléromètre

Répondre