[MATLAB] Probleme changement de repère, étude de données inertielles
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[MATLAB] Probleme changement de repère, étude de données inertielles



  1. #1
    Peyo.A

    [MATLAB] Probleme changement de repère, étude de données inertielles


    ------

    Bonjour a tous,
    J'étudie une centrale inertielle (BNO055) et depuis les données extraite de cette dernière j'effectue des traitements sur matlab ayant pour but de déduire de ces données les déplacement effectués dans l'espace.

    Afin d'évaluer la qualité des données de la centrales et les problème de dérive en orientation, j'étudie le mouvement d'un petit train effectuant une trajectoire circulaire.

    Afin d'éviter les problèmes de dérive en position dues a la double intégration des données de l'acceleromètre, j'impose une vitesse constante et j'étudie le mouvement en fonction de l'orientation fournie par la centrale (Quaternions).

    J'impose donc une vitesse constante selon Y. Cette vitesse est exprimé dans le repère propre à la centrale et il faut donc effectuer un changement de repère pour obtenir la vitesse dans le repère terrestre. (vitesse qui est ensuite intégrée pour en déduire la position).

    J'utilise donc la libraire Quaternions fournie par matlab pour déduire des quaternions une matrice de rotation, que j'applique sur ma vitesse pour exprimer ses coordonnées dans le repère terrestre avant intégration.

    Code:
    q = quaternion(quat);
    R = q.RotationMatrix;
    
    vel = zeros(size(acc));           %Initialisation de la matrice des vitesses au cours du temps
    vel(:,2) = 2;           % On impose Vy = 2
    
    for i = 1:length(vel)
        vel(i,:) =  R(:,:,:,i) * acc(i,:)';
    end
    Le résultat obtenu est celui attendu :

    train.jpg

    Mais dans un cas plus général, ou je ne "triche pas" en imposant une vitesse, cette vitesse est déduite de l'accéleration.

    Or quand j'effectue le changement de repère sur l’accélération avant la double intégration j'obtiens des résultats étranges...

    Par exemple si j'impose une accélération constante sur Y et nulle sur les autres axes je n'obtiens pas du tout le bon résultat..(avec les mêmes quaternions).

    train 2.jpg

    D'ou peut venir le problème ? Ya t'il un problème de méthodologie ?

    N'hésitez pas a me demander plus d'information ( affiche de courbe, exemple de code etc...)

    Merci pour votre aide,

    Cordialement
    Pierre-Marie

    PS : si je suis dans la mauvaise cathégorie merci de me l'indiquer. (Devrais poster dans informatique ?)

    -----
    Dernière modification par Peyo.A ; 04/05/2016 à 12h27.

  2. #2
    Peyo.A

    Re : [MATLAB] Probleme changement de repère, étude de données inertielles

    Apres avoir imposé Ax=0 Ay=2 Az=0, j'ai tracé Ay =f(Ax) après avoir appliqué ma matrice de rotation

    Voici ce que j'obtiens :

    Nom : acc.jpg
Affichages : 273
Taille : 40,8 Ko

    Je ne comprends donc pas pourquoi apres intégration je n'obtiens pas un mouvement circulaire...

Discussions similaires

  1. Problème de changement de repere
    Par invite9ad374c7 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 12/10/2013, 14h16
  2. Changement de repére
    Par invited6d2f678 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 03/11/2010, 15h17
  3. Matlab : Problème de lecture de données
    Par inviteb7f520a5 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 26/11/2009, 05h41
  4. Changement de repère
    Par inviteaf224873 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 12/02/2009, 19h33
  5. Changement de repère en 3D
    Par invite58ca56b8 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 11/03/2006, 11h47