Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Quaternions - Matrices de rotation - coordonnées polaires

  1. #1
    Broma Fllax

    Quaternions - Matrices de rotation - coordonnées polaires

    Bonjour,

    Le sujet mixe la physique et les maths, mais j'ai nettement plus de difficultés avec les maths, d'où ce message.

    Je cherche à créer un programme arduino qui utiliserait une centrale inertielle pour définir les valeurs d'accélération dans un repère donné. En gros, j'aimerais être capable de connaître la valeur du vecteur d'accélération dans un espace déterminé, alors que la centrale inertielle va naturellement changer d'attitude en même temps que les translations s'opèrent.

    Pour faire plus simple, je veux, en posant la centrale inertielle sur ma main, obtenir la même valeur d'accélération dans le plan z lorsque je lève ma main vers le haut, même si l'orientation de ma main change pendant le mouvement.

    En me balladant sur le net, j'ai cru comprendre qu'il fallait faire intervenir la notion de quaternion et de matrice de rotation, mais mon niveau en maths est trop faible pour cela.

    Le programme sur arduino me permet déjà de déterminer l'attitude (yaw, pitch et roll) de la centrale, et l'accélération de celle-ci moins l'accélération de la pesanteur. Quels calculs dois-je faire pour obtenir les valeurs de vecteurs selon un référentiel fixe?

    Merci d'avance

    -----


  2. #2
    theguitarist

    Re : Quaternions - Matrices de rotation - coordonnées polaires

    Salut,

    A titre de remarque, l'attitude de ton objet fournie par le programme Arduino (yaw, pitch et roll) importe bien peu pour calculer la valeur de l'accélération. D'un côté, tu as ce qui a trait aux forces linéaires (position, vitesse, accélération) et d'un autre ce qui a trait aux couples (orientation du repère, i.e. angles d'Euler).

    Manifestement l'objectif de ton programme est juste d'avoir les coordonnées du vecteur accélération qui t'est fourni dans un repère intertiel quelconque, dans un système de coordonées que tu définis toi. L'idée est donc de calculer la matrice ou le quaternion de passage du repère initial vers celui que tu veux (un peu de doc pour acquérir les bases à ce sujet: http://www.llibre.fr/copie_cert/DCSD...OT-003-1.1.pdf)

    Commence par définir complètement dans quel repère tu veux avoir ton vecteur (pas seulement Z). Pour le coup, le fait de s'imposer l'axe Z vers le haut induit deux possibilités:
    - Soi tu travailles à petite échelle (par exemple pour faire voler un drone autour de chez soi) et donc tu peux travailler avec repère que tu considères comme fixe également (avec par exemple sa maison comme origine, l'axe X vers la maison du voisin et on complète avec Y).
    - Soi tu travailles à grande échelle (par exemple pour faire voler un avion ou un satellite) et là, l'axe Z va tourner avec la position de l'avion autour de la Terre, et il vaut mieux définir ton repère de manière locale (avec la position du satellite comme origine, dans le spatial on parle de repère orbital local).

    Selon le cas il sera plus ou moins facile d'approfondir les réponses (puisque d'un côté le repère d'arrivée est fixe par rapport à celui d'origine (matrice de passage constante), tandis que dans l'autre il faudra calculer à chaque instant la matrice de passage en passant notamment par le calcul de la position de ton objet (intégrale double de l'accélération)).

    A+

  3. #3
    Broma Fllax

    Re : Quaternions - Matrices de rotation - coordonnées polaires

    Merci pour ces premiers éléments de réponse et pour le lien, je vais pouvoir étudier ça à tête reposée.

    Je vais revenir sur l'énoncé de mon problème pour que les choses soient plus claires.

    Je construis un dispositif pour la scène, des centrales inertielles seront attachées aux membres de danseurs, reliés à une carte arduino, qui devra interpréter les signaux de la centrale pour les convertir ensuite en signaux lumineux.
    Soit un repère orthonormé dont le centre est le danseur, l'axe des X pointant vers jardin (la droite de la scène donc), l'axe des Y vers le public, l'axe des Z aux cintres (le haut). Je veux pouvoir allumer un ruban à Led dont l'intensité sera proportionnelle au vecteur vitesse, et la couleur rouge, bleue ou verte en fonction de la direction du vecteur.
    Exemple avec un capteur fixé sur le dos de la main du danseur, si celui-ci avance (ou recule, j'utiliserai les valeurs absolues des normes des vecteurs) la main dans l'axe Y, on allume en rouge, vers Y on allume en vert, vers Z on allume en bleu.
    Je veux que l'éclairage soit le même quelle que soit la position de la main du danseur, même si la position de la main varie pendant le mouvement.

    C'est donc pour cette raison que je veux exprimer mon vecteur accélération en fonction d'un référentiel absolu.

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/11/2015, 22h16
  2. Quaternions et rotation
    Par raph357 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 05/09/2014, 18h53
  3. Quaternions et rotation
    Par Spirine dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 14/08/2014, 10h23
  4. coordonnées cartésienne en coordonnées polaires
    Par Hayt's dans le forum Physique
    Réponses: 3
    Dernier message: 07/10/2008, 17h55
  5. Choix d'un centre de rotation en coordonnées polaires
    Par citron_21 dans le forum Physique
    Réponses: 13
    Dernier message: 26/07/2008, 14h41