IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement du signal Discussion :

Traitement des données issues d'une unité de mesure inertielle


Sujet :

Traitement du signal

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut Traitement des données issues d'une unité de mesure inertielle
    Bonjour à tous,

    Est-ce que certains d'entre vous ont de l'expérience dans le traitement de données issues d'unités de mesure inertielle (IMU) ?

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 776
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 776
    Par défaut


    Sûrement, mais cette expérience est-elle utile pour toi ? (J'en ai un peu, mais ça s'arrête là .) Quelle est ta question ? Tu ne pourras qu'augmenter le nombre de gens qui s'intéressent à cette discussion.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Bonjour

    Alors j'aimerais déduire des données brutes de mon IMU (accéléromètres, gyroscopes, quaternions) la position de celui-ci en fonction du temps. Mais je ne sais pas du tout comment m'y prendre...
    Je sais qu'il faut déjà "nettoyer" les données pour éliminer les bruits de mesure, puis qu'il faut réaliser un algorithme de fusion de données (type filtre de Kalman) pour pouvoir obtenir l'orientation du capteur et ensuite la position.

    Au plaisir d'échanger sur le sujet

  4. #4
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 693
    Par défaut Intégration d'erreurs
    Bonjour,

    Obtenir une position à partir d'une dérivée seconde (accélération) est possible mais la moindre erreur sera intégrée 2 fois (accélération -> vitesse -> position). Non seulement cela donne de la surface aux erreurs, mais les erreurs restent car aucun mécanisme de correction automatique n'est possible.

    Il faudrait coupler le dispositif avec un autre qui de temps en temps donne une référence de position. Si cet ajout peut donner la position en permanence, l'intérêt d'accéléromètre est nul.

    Il y a quand même un point qui peut être très intéressant : il donne l'orientation (si gyro) dans les trois axes, c'est un super joystick mais il est sensible à la position du support (même si cela peut être réglé en retirant une moyenne sur un temps long pour identifier la position de repos).

    Salutations

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Oui c'est ça le problème, la gestion des erreurs de mesure et de la dérive. Une calibration et des filtres devraient pouvoir éliminer ces bruits.

    Le capteur donne l'accélération et la vitesse angulaire selon les 3 axes, il faut construire un algorithme de fusion de données pour en sortir la vitesse, l'orientation et au final la position.

  6. #6
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 693
    Par défaut Difficile de remettre en cause une idée séduisante
    Bonjour,

    Il y aura toujours une dérive. Un bon calibrage et un bon filtrage la limitera mais ne le fera pas disparaître.

    Il suffit d'imaginer sur une accélération a constante un petit bruit u suivi, à l'échantillon suivant, de -u. La vitesse passe V+(a+u)dT puis à V+(a+u)dT+(a-u)dT = V + 2.a.dT. Tout semble être revenu dans la norme.
    Mais la position est passée à P + (V+(a+u)dT)dT puis à P + (V+(a+u)dT)dT + (V+2.a.dT)dT soit P + (2V+3a.dT)dT + u.dT² au lieu de P + (V+a.dT)dT puis P + (2V+3a.dT)dT. La moindre erreur reste.

    Il y a un autre problème : la vitesse et la position ne dépendent pas nécessairement de l'accélération. Surprenant ? En fait non. Un objet qui ne bouge pas (relativement à la terre, on ne va complexifier avec les mouvement dans l'univers) subit une accélération (la gravitation) compensée par la force opposée du sol mais parfaitement perçue par l'accéléromètre (par exemple, c'est comme cela qu'un smartphone peut servir de niveau).

    Ainsi un objet qui tombe en chute libre ne semblera, pour l'accéléromètre, soumis à aucune force (d'où la sensation de voler). Il ne sait même pas dans quel sens il tombe. Bien sûr, l'air finit par exercer une résistance qui rendra l'objet à nouveau sensible à une part de la pesanteur.

    On pourrait se dire qu'un véhicule qui roule sur une route n'a pas ce problème. Oui, si la route est plate mais la moindre montée ou descente verra se combiner l'accélération moteur avec la pesanteur dans un joyeux mélange. Et je ne parle pas des virages relevés.

    Je suis désolé de jouer les Cassandres mais cela fait parti des fausses bonnes idées.

    C'est comme vouloir se déplacer en fermant les yeux en connaissant bien les lieux et en ayant soigneusement repéré position et orientation de départ. Combien de temps avant un choc ?

    Salutations

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Merci pour votre avis détaillé et honnête.

    Avant d'enterrer complètement mon projet, j'ai trouvé ce code Python sur GitHub (https://github.com/daehwa/Gait-Track...h-x-IMU-Python) qui fait ce que je cherche à obtenir.
    Il est fait pour un autre IMU que le mien mais je voulais apprendre Python de tout façon donc je vais essayer de l'adapter à mes données

  8. #8
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 693
    Par défaut
    Bonjour;

    Sauf erreur de ma part, le lien renvoie sur un odomètre. L'accéléromètre ne mesure pas l'accélération de déplacement mais simplement les impacts des pieds sur le sol. Après un filtrage le programme récupère les foulées. Si on connaît la foulées moyenne du coureur on peut en déduire une approximation de la distance parcourue. Il ne me semble pas que ce soit l'idée initiale du post, me trompé je ?

    Comme les accéléromètres ne coûtent plus grand chose, même si les utiliser en lieu et place d'une bille dans un tube paraît disproportionné, économiquement cela peut se défendre.

    Ceci étant, peut être faut il aller jusqu'au bout de l'idée. Edison, assez peu recommandable par ailleurs, donnait au dernier stagiaire embauché le problème que tout ses ingénieurs considéraient comme sans solution. Son argument était : "Lui, il ne sait pas que c'est impossible ! " . L'histoire ne dit pas si certains ont trouvé des solutions mais, en terme de management, Edison obtenait mécaniquement une certaine humilité de l'impétrant.

    Salutations

Discussions similaires

  1. [PHP 5.3] Récupérer des données issues d'une requête http GET
    Par Pierrea4564 dans le forum Langage
    Réponses: 2
    Dernier message: 24/09/2013, 09h15
  2. utf8 pour des données issues d'une bdd
    Par laurentSc dans le forum Langage
    Réponses: 12
    Dernier message: 25/08/2013, 22h46
  3. Trier des données issues d'une formule
    Par jarault dans le forum Excel
    Réponses: 5
    Dernier message: 09/04/2008, 22h53
  4. [FPDF] Mettre des données issues d'une requête dans l'entête
    Par zoom61 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/03/2007, 11h10
  5. [MySQL] Remplir un array() avec des données issues d'une bdd
    Par fichtre! dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/12/2006, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo