Outils pour utilisateurs

Outils du site


wiki:god:aeromax2015:definitions

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
wiki:god:aeromax2015:definitions [2015/03/05 21:28]
kberenger créée
wiki:god:aeromax2015:definitions [2016/09/11 11:14] (Version actuelle)
Ligne 8: Ligne 8:
 Nous avons donc utilisé les cours de M. Bovo, notre professeur, pour comprendre et mettre en oeuvre les débuts de notre asservissement. Nous avons donc utilisé les cours de M. Bovo, notre professeur, pour comprendre et mettre en oeuvre les débuts de notre asservissement.
  
 +A partir de la différence entre l'angle actuel (obtenu via les capteurs) et l'angle souhaité (via la commande), on définit l'erreur :
 +  * error = command - state; 
 +
 +On obtient la formule de la correction pour chaque angle (yaw/pitch/roll) est alors :
 +  * return  (PIDparameters->P * error + PIDparameters->I * PIDparameters->iTerm + PIDparameters->D * dAverage);
 +
 +Petit plus : Nous avons pu réutiliser l'idée d'un filtre passe-haut (qui filtre les variations/aberrations) du projet AQ32PlusF3 :
 +
 +  * dTermFiltered = PIDparameters->lastDterm + deltaT / (rc + deltaT) * (dTerm - PIDparameters->lastDterm);
 +
 +  * dAverage = (dTermFiltered + PIDparameters->lastDterm + PIDparameters->lastLastDterm) * 0.333333f;
 ===== Yaw, Pitch, Roll ===== ===== Yaw, Pitch, Roll =====
  
Ligne 21: Ligne 32:
 Le développement d'un filtre de Kalman, très complexe, nécessite un bagage mathématique (manipulation de matrices notamment). Le développement d'un filtre de Kalman, très complexe, nécessite un bagage mathématique (manipulation de matrices notamment).
 A la fin, ceci permet d'obtenir des valeurs de yaw, pitch et roll cohérentes avec la réalité, en s'affranchissant des aberrations ponctuelles des capteurs. A la fin, ceci permet d'obtenir des valeurs de yaw, pitch et roll cohérentes avec la réalité, en s'affranchissant des aberrations ponctuelles des capteurs.
 +
 +Nous obtenons ainsi une fonction Kalman :
 +void Kalman(t_kalman* k, float angle_m, float rate_m, float dt)
 +comportant toute une série de calculs, notamment matriciels.
 +Nous avons créé le type t_kalman, qui est utilisé pour chaque angle à "filtrer" (yaw, pitch et roll).
  
 ===== Sens de rotation des moteurs ===== ===== Sens de rotation des moteurs =====
wiki/god/aeromax2015/definitions.1425590915.txt.gz · Dernière modification: 2016/09/11 11:00 (modification externe)