Site ELEC344/ELEC381

Partie interactive du site pédagogique ELEC344/ELEC381 de Télécom ParisTech (occurrence 2010).

Catégories

Kalman farçi, Kalman à l'américaine ...

Aujourd’hui, j’ai fait beaucoup de recherches sur le filtrage de Kalman, afin que ce soit bien clair dans ma tête et pour enfin voir concrètement ce qu’on va faire.

C’est un peu frustrant (surtout à ce stade du projet) de passer une journée où on ne produit rien de concret mais je pense que ça aidera quand même .

J’ai eu de gros moment de doutes dans la journée (notamment sur le calcul d’erreur et la manière dont on l’utilisait pour mettre à jour la variable d’état) qui se sont dissipés au fur et à mesure des lectures. Ca ne fera surement pas de mal non plus de confronter ce que j’en ai compris avec Miguel demain et d’en parler aussi avec Alexis.

Tout d’abord, le mot clé  AHRS (pour Attitude and Heading Reference Systems) m’a ouvert pas mal de portes pour trouver d’autres articles que ceux d’Alexis, certains plus théoriques et aussi des exemples de code. J’ai aussi découvert le projet OpenPilot (dont les sources sont normalement libres, mais je n’ai pu trouver les sources de leur AHRS (!) dans leur dépôt SVN ) et Rotomotion, asez présent sur le net.

Deux liens ici vers des exemples de code que je ne trouve pas parfait non plus (notations peu claires, syntaxe hésitante, utilisation de flottants) mais qui permettent de se donner une idée de ce qu’on devra faire.

Et un article, qui reprend l’idée de considérer le gyroscope comme commande et les accéléromètre comme mesure. Ils utilisent également les quaternions  et donnent les matrices utilisées dans le filtre de Kalman à part les matrices de covariance.

Voilà, j’espère qu’on pourra demain décider finalement ce qu’on met dans notre filtre, éclaircir les dernières zones d’ombre avec Alexis et commencer à le coder !

Quant au code de Mikrokopter, il m’a l’air très artisanal, avec des tests sur les écarts entre gyros et accélérometres et autres. Bref, pas de filtre de Kalman de ce côté là.

1 comment to Kalman farçi, Kalman à l’américaine …

  • Etienne

    Attend ! dans OpenPilot/AHRS/ahrs.c y a quand même la fonction de folie :
    **
    * AHRS Main function
    */
    int main()
    {
    /* Brings up System using CMSIS functions, enables the LEDs. */
    PIOS_SYS_Init();

    /* Delay system */
    PIOS_DELAY_Init();

    /* Toggle LED’s forever */
    PIOS_LED_On(LED1);
    PIOS_LED_On(LED2);
    for(;;)
    {
    PIOS_LED_Toggle(LED2);
    PIOS_DELAY_WaitmS(100);
    }

    return 0;
    }

    qui fait clignoter une led !

    En fait pareil pour la régulation/asservissement j’ai été voir dans le code rien du tout et un peu sur les forums du projets, et ils ont pas encore décidé ce qu’ils voulaient implémenter, ils veulent faire éventuellement du PID en cascade ( ce qu’on fait nous bogoss ) . Je crois que leur projet en est encore au début…

    Le projet autopilot.sourceforge.net est lui plus mature et a du Kalman (http://autopilot.sourceforge.net/faq.html#3) mais par contre j’arrive pas à récupérer leurs sources … faudrait voir pour contacter l’owner