Master SIAME | Université Toulouse 3

Internet of things and System on Chip

Master SIAME | Université Toulouse 3

Internet of things and System on Chip

User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

embedded:intro:stabilisation [2015/08/26 20:37]
embedded:intro:stabilisation [2015/08/26 20:37] (current)
Line 1: Line 1:
 +====== Stabilisation ======
 +
 +===== IMU =====
 +
 +L'IMU (Inertial Measurement Unit) ou Centrale Inertielle en français est un périphérique permettant de se diriger dans l'​espace. On distingue les IMU à la quantité de capteur qu'​elles fournissent (ou degrés de mouvement). La notre est composée de 3 accéléromètres (mesure de l'​accélération) ou de 3 gyromètres (mesure de la vitesse angulaire) disposés bien sûr en angle-droit.
 +
 +Le principal objectif de l'IMU dans notre quadcopteur est de mesurer l'​inclinaison de l'​appareil afin de la stabiliser (et éviter une chute).
 +
 +Comme ces mécanismes sont sujets à de nombreuses erreurs de mesure, il est intéressant de posséder plusieurs capteurs afin de les combiner et ques les erreurs des uns soient compensés par le travail des autres.
 +
 +**NB** : les fameuses WiiMotes de la console du même noms sont principalement équipés d'IMU.
 +
 +===== Stabilisation =====
 +
 +Contrairement aux aéroplanes,​ les quadcopter doivent à tout moment gérer leur stabilité pour éviter un décrochage. Gérer la stabilité veut dire mesurer la position de l'​appareil dans l'​espace selon 3 angles (en prenant comme référentiel celui de l'​appareil) :
 +
 +{{ http://​upload.wikimedia.org/​wikipedia/​commons/​thumb/​1/​1b/​A%C3%A9ronef_%28Beech_bimoteur%29_et_ses_axes.png/​200px-A%C3%A9ronef_%28Beech_bimoteur%29_et_ses_axes.png }} {{ http://​upload.wikimedia.org/​wikipedia/​commons/​thumb/​5/​54/​Flight_dynamics_with_text.png/​200px-Flight_dynamics_with_text.png }}
 +
 +  * le roulis est la rotation au tour de l'axe des x (roll en anglais),
 +  * le tangage autour de l'axe des y (pitch en anglais),
 +  * le lacet autour de l'axe des z (yaw en anglais).
 +
 +Seulement le roulis et le tangage sont intéressants pour la stabilisation et ce sont ces deux angles que nous allons calculer pour stabilier l'​appareil.
 +
 +===== La méthode complémentaire =====
 +
 +==== Gyromètre ====
 +
 +Le gyromètre donne pour chaque la vitesse de rotation en ° par s. Si on maintient l'​angle courant le long des axes, x, y et z, respectivement Ax, Ay et Az et, qu'à chaque intervalle de temps, on mesure la vitesse angulaire gx, gy, et gz, on peut déduire le nouvel angle par les formules :
 +
 +  * Ax = Ax + gx dt
 +  * Ay = Ay + gy dt
 +  * Az = Az + gz dt
 +
 +==== Accéléromètre ====
 +
 +L'​accéléromètre fournit l'​accélération courante en g par s<​sup>​-2</​sup>​. Mais plus intéressant,​ il fournit un vecteur relatif donnant la différence d'​angle entre la pesanteu g et sa propre accélération g On peut donc s'en servir également pour déterminer les angles Ax et Ay. Soit les accélérations ax, ay et az le long des axes x et y :
 +
 +  * Ax = atan2(Ax, sqrt(Ay² + Az²))
 +  * Ay = atan2(Ay, sqrt(Ax² + Az²))
 +
 +On ne peut bien sûr pas faire de même pour Az car les accélérations mesurées sont seulement relatives à g.
 +
 +**NOTE 1** On utilise ''​atan2''​ pour ne pas avoir de souci avec une tangente verticale. ​
 +
 +**NOTE 2** Le résultat de ''​atan2''​ est en radian.
 + 
 +
 +==== Fusion de mesure ====
 +
 +Le problème des deux méthodes précédentes est qu'​elles sont sujettes à des erreurs de mesures ou des perturbations soit du gyromètre, soit de l'​accéléromètre. La bonne nouvelle est que ces deux capteurs ne sont pas perturbés de la même manière. Par conséquent,​ l'un devrait permettre de corriger l'​autre.
 +
 +On peut donc désormais exhiber une nouvelle formule pour calculer Ax et Ay bénéficiant des ces constatations :
 +
 +  * Ax = K (Ax + gx dt) + (1 - K) atan2(ay, az)
 +  * Ay = K (Ay + gy dt) + (1 - K) Ka atan2(ax, az)
 +
 +tel que : 0 <= K <= 1. On choisit un filtre simple qui prend une partie du résultat au gyromètre et l'​autre à l'​accéléromètre.
 +
 +Reste encore à déterminer le coefficient K. Expérimentalement,​ certains ont pu constater que ce système marchait bien avec A dans l'​intervalle [0.90, 0.99].
 + 
 +**NOTE** Il faut bien sûr faire un choix pour savoir si on exprime Ax et Ay en degré ou en radian.
 +
 +==== Référence ====