IMU et mesure de capteur
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

IMU et mesure de capteur



  1. #1
    inviteedd8e948

    IMU et mesure de capteur


    ------

    Bonjour,

    Je suis en train d'étudier les centrale inertielle. Une IMU est donc composée de 3 accelero /3 gyro/1 magénto. J'ai vu quelques application sur systèmes embarqués du programme pour estimer l'attitude du capteur. Je comprends pas à quoi correspond la messure de l'accéléromètre. C'est l'accéleration sur un des axes? Si c'est le cas normalement, une translation sur un des axes devrait agir sur la pose du capteur?
    J'ai trouvé sur wiki des info sur la mesure de l'accélérometre:
    trois accéléromètres mesurant les trois composantes du vecteur force spécifique (en). La force spécifique est la somme des forces extérieures autres que gravitationnelles divisée par la masse. Cette quantité a donc la dimension d'une accélération mais, contrairement à ce que suggère le nom de l'instrument de mesure, il ne s'agit pas exactement d'une accélération.
    Ca veut dire quoi "il ne s'agit pas exactement d'une accélération.".

    Si quelqu'un pouvait m'aider.

    D'avance merci.

    -----

  2. #2
    gcortex

    Re : IMU et mesure de capteur

    l'accélération tangentielle fait augmenter ou diminuer la vitesse.
    l'accélération normale vient une force centrifuge qui agit sur la direction.

  3. #3
    inviteedd8e948

    Re : IMU et mesure de capteur

    Comment fait-on dans une mesure de capteur d'accélération, d'isoler l'accélération tangentielle de l'accélération normale?

  4. #4
    inviteedd8e948

    Re : IMU et mesure de capteur

    Je viens de voir sur certains codes que pour chacun des accéléromètres on avait ce que l'on appel le zérogravity. C'est cette mesure que serait utilisé pour soustraire l'accélération normal et de ne conserver que l'accélération tangentielle ??

  5. A voir en vidéo sur Futura
  6. #5
    gcortex

    Re : IMU et mesure de capteur

    à mon avis ils sont insensibles à leur poids

  7. #6
    inviteedd8e948

    Re : IMU et mesure de capteur

    Je viens de trouver un liens qui explique comment faire pour intégrer des données capteurs (accéléro/gyro) pour obtenir une position.
    http://www.instructables.com/id/Acce...Gyro-Tutorial/

    Je comprends pas concept mathématique qui est issue de ce qu'il explique. Pour moi le Rx,Ry,Rz qu'ils obtiennent n'est pas isolé de la translation dans chacune des directions ...

  8. #7
    invitef433700c

    Re : IMU et mesure de capteur

    black_hole78:

    Pour reprendre depuis le début:

    -Une IMU peut être composée de plein de choses. Dans ton cas, je crois que tu fais référence à une IMU dite à 9 degrés de liberté (9 DOF). Tu as donc bien 3 composantes pour l'accélération données par l'accéléromètre, 3 composantes pour la vitesse angulaire données par le gyroscope, et 3 (et non 1!) composantes pour le champ magnétique données par le capteur magnétique (qui a ici essentiellement rôle de boussole!).

    -On dit accéléromètre, mais ce qu'il donne est plus complexe qu'un simple dv/dt. L'accéléromètre ne fait aucune différence entre dv/dt et la gravité! On ne va pas rentrer dans le détail. Imagine-toi une masse attachée à un ressort. C'est exactement ça! Si tu tiens le tout à la verticale, même sans bouger, la masse tire sur le ressort vers le bas.

    -Je ne sais pas où tu as trouvé la référence "zerogravity". Mais il est possible que le code associé soit un détecteur de chute libre: en chute libre, l’accélération mesurée par l'accéléromètre est nulle! (tu accélères vers le bas, mais rappelle-toi qu'au repos, tu vois déjà une accélération vers le haut, donc les deux s'annulent!). Dans certains accéléromètres, il y a un interrupteur pour ça, c'est-à-dire qu'en plus de toutes les sorties classiques du composant, il y en a une qui ne fait que dire "on est en chute libre!". C'est très utile pour les ordis portables, par exemple, où on se fout un peu de l'accélération en général, mais en cas de chute libre, il faut rentrer la tête de lecture du disque dur au plus vite.

    Pour la question sur le modèle, je n'ai pas tout lu. Mais ce serait certainement plus simple si tu indiquais quelle partie te semble obscure.
    Je vais juste dire:
    Un accéléromètre ne mesure jamais les translations. Si tu effectues une translation, on peut supposer que tu auras une accélération initiale, une vitesse de croisière, et une accélération inverse finale. Seules les 2 accélérations initiales et finales seront vues par l'accéléro. Pour avoir le reste, il faut intégrer! (et c'est là qu'on commence à ramasser les erreurs...).

  9. #8
    inviteedd8e948

    Re : IMU et mesure de capteur

    Merci pour la réponse.
    Je me suis renseigné dernièrement sur les codes disponibles pour les IMU. Il existe une IMU, la chr6dm dont on peut avoir le code source.
    Je comprends pas une partie dans le code:
    Code:
    // Compute expected angle rates based on gyro outputs.  Note that to do this, the measured rotations
    // must be transformed into the inertial frame (we can't just integrate the gyro outputs).
    phi_dot = p + sin_phi*tan_theta*q + cos_phi*tan_theta*r;
    theta_dot = cos_phi*q - sin_phi*r;
    psi_dot = (sin_phi/cos_theta)*q + (cos_phi/cos_theta)*r;
    Les angles phi,theta,psi correspondent aux angles de tangage de roulis et de lacet. p,q et r sont les valeurs en sortie des gyro.
    Je ne comprend pas pourquoi ils doivent faire cette opération pour obtenir phi_dot,theta_dot et psi_dot qui sont les taux de rotation sur les axes.

  10. #9
    invitef433700c

    Re : IMU et mesure de capteur

    La réponse est sur le site du constructeur de la carte:
    http://www.chrobotics.com/library/un...g-euler-angles

    Tout est question de référentiel. Si p, q et r sont les sorties du capteur, ce sont surtout des sorties prises dans le référentiel du capteur. Quand on utilise un référentiel "fixe" sur Terre, il faut inclure les rotations précédentes.

    Dit autrement: au lieu de parler de tangage, roulis, etc., reprends les bases: rotation autour de l'axe X, rotation autour de l'axe Y, rotation autour de l'axe Z. Comment définis-tu ces axes? Il y aura 3 axes dans le référentiel du système mobile, et 3 autres pour le référentiel terrestre. p, q et r sont valables pour le référentiel du système, les formules ci-dessus sont une conversion sur le référentiel terrestre. Le reste n'est que convention sur l'ordre des rotations et géométrie.

  11. #10
    inviteedd8e948

    Re : IMU et mesure de capteur

    Merci pour la réponse. J'avais effectivement vu cette article disponible avec le capteur, mais je n'arrive pas a retrouver la formule à partir des équations de base de rotation...

    Pour le reste, j'ai continué à dépouiller le code fourni et je me heurte à un soucis.
    - Donc la première étape est compréhensive, les gyros sont utilisés pour avoir un état prédit du système sur les 3 axes.
    - Dans l'étape suivante, les accéléros sont utilisés pour apporter une correction. Je vous met en dessous le code source dont je parle:
    Code:
    // Now subtract the reference vector
                      acc_vect.data[0] = acc_vect.data[0] - acc_hat.data[0];
                      acc_vect.data[1] = acc_vect.data[1] - acc_hat.data[1];
                      acc_vect.data[2] = acc_vect.data[2] - acc_hat.data[2];
                      
                      // Multiply by Kalman gain
                      MatVectMult3( &L, &acc_vect, &correction );
                      
                      // Apply correction
                      estimated_states->phi = estimated_states->phi + correction.data[0];
                      estimated_states->theta = estimated_states->theta + correction.data[1];
                      estimated_states->psi = estimated_states->psi + correction.data[2];
    Les données brutes des capteurs accéléros sont extraits (acc_vect.data[x]) et sont soustraits à l'estimation de l'accélération (acc_hat.data[x]). Cette accélération estimé est le vecteur de référence ([0,0,g] dans le repére terrestre) rotaté de la triple rotation R= Rphi*Rtheta*Rpsi. Par contre je ne comprends pas le dernière partie:

    Code:
                      // Apply correction
                      estimated_states->phi = estimated_states->phi + correction.data[0];
                      estimated_states->theta = estimated_states->theta + correction.data[1];
                      estimated_states->psi = estimated_states->psi + correction.data[2];
    Comment peut-on appliqué à chacun des angles, une correction qui est une différence entre un vecteur d'accélération et sa référence? Il y a pas un problème d'unité

Discussions similaires

  1. 16f877 + Xbee + Razor (capteur IMU)
    Par invite0c1863e7 dans le forum Électronique
    Réponses: 6
    Dernier message: 17/10/2012, 14h32
  2. mesure d'un capteur capacitif
    Par invite78a9a5d7 dans le forum Physique
    Réponses: 5
    Dernier message: 13/03/2012, 16h12
  3. Capteur de mesure du flux solaire
    Par invitefc5642a4 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 4
    Dernier message: 15/10/2010, 20h46
  4. Capteur de mesure de déplacment
    Par invitefc5e676f dans le forum Électronique
    Réponses: 3
    Dernier message: 31/12/2008, 11h00
  5. Capteur de présence/Mesure de pression
    Par invitee1b3d7d1 dans le forum Électronique
    Réponses: 8
    Dernier message: 19/11/2008, 14h16
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...