Calculer l'orientation dans l'axe z a partir des deux autres

Dans le cadre d'un projet Arduino

a marqué ce sujet comme résolu.

Bonjour a tous!

Dans un repère orthonormé, si on connaît l'orientation d'un objet dans l'axe X et Y, est-il possible d'en déduire son orientation dans l'axe Z?

Je m'expliques: Je travailles actuellement sur un projet Arduino. Notre but est de créer un jeu permettant de tirer sur des objets a l'écran. Le pistolet serait équipé d'un appareil, un accéléromètre : un petit appareil qui mesure la gravité à certains endroits sur lui et qui permet ainsi d'en déduire son orientation dans l'axe X et Y par rapport au sol Donc, si on tourne l'appareil le long d'un certain axe dans l'espace, comme l'axe X, la valeur de X augmente ou diminue. Le problème, c'est que si la detection de l'orientation de l'appareil dans l'axe X et Y marche, ce n'est pas le cas de l'axe Z. L'angle fournit pour l'axe Z reste toujours le même qu'importe la façon dont on tourne l'appareil. D’où ma question : est-il possible de calculer l'orientation de l'appareil dans l'axe Z si on connait celles des axes X et Y?

La video: https://youtu.be/3jHvggPBmGs

Merci!

+0 -0

Salut,

ton problème est incompréhensible. Je ne comprends pas du tout ce que tu veux dire par l'orientation d'un objet dans un axe.

Essaye d'expliquer quelles sont les données que tu as et quel résultat tu veux obtenir, comment est défini ton repère X Y Z, ce qui marche pour les axes X et Y et enfin ce que tu as essayé mais qui ne marche pas pour l'axe Z. Ça devrait nous permettre d'y voir plus clair.

+0 -0

J'ai essaye d'exprimer mon problème de manière plus mathématique : Mon problème n'est pas tellement de trouver une solution a mon problème, simplement de savoir s'il est possible de determiner l'angle que forme un vecteur dans l'espace avec l'axe Z en connaissant l'angle qu'il forme avec les axes Y et X. Le report est ortonorme. Je vais poster une video de l'appareil et des valeurs qu'il donne.

+0 -0

simplement de savoir s'il est possible de determiner l'angle que forme un vecteur dans l'espace avec l'axe Z en connaissant l'angle qu'il forme avec les axes Y et X.

Tout dépend de comment sont mesurés les angles en question…

+0 -0

Pas possible. Tu peux pas extrapoler un truc en $n$ dimensions à partir de $n-1$ paramètres indépendants.

Grimur

Sauf que pour avoir les trois angles il suffit de se placer sur une sphère… qui est un objet à 2 dimensions. Tant que l'on ne sait pas comment sont mesurés les angles (autrement dit, le repère utilisé), on ne peut pas répondre avec certitude.

+0 -0

Ah oui, si on a deux angles et qu'on a une sphère ça marche.

Non, il suffit de deux angles mesurés dans des plans différents. La sphère que l'on utiliserait pour trouver le dernier angle peut être de rayon quelconque (comme si par exemple on a la longitude et la latitude d'un point dans un repère sphérique, on n'a pas besoin de connaitre le rayon pour connaitre tous les angles avec les axes d'un repère cartésien).

Avec la nouvelle version de l'énoncé que donne le PO je vois pas d'où sortirait la contrainte qui permet de calculer l'angle par rapport à l'axe Z par contre.

Perso je comprends toujours rien de toute façon, alors… :-°

+0 -0

Alors déjà un accelerometre ne va pas te donner des angles. Il va te donner les composantes de l'accélération qu'il subit suivant les trois axes de sont repère à lui (c'est indiqué sur le circuit). Au repos tu auras uniquement l'accélération de la pesanteur projetée suivant les axes de l'appareil. Tu pourras donc reconstituer l'inclinaison par rapport à la verticale de ton appareil. Mais pour viser sur un écran, il te manquera des informations pour situer l'écran par rapport à ton pistolet. En effet, si tu pivotes le pistolet suivant la verticale, l'accelero te donnera les mêmes résultats. Si tu rajoutes des gyroscopes, tu pourras mesurer la vitesse de rotation suivant les trois axes et compléter tes mesures pour connaître précisement les mouvements de ton pistolet.

Tu devras faire une étalonnage pour initialiser tes variables au début de chaque partie en visant un point sur l'écran par exemple.

Oui, malheureusement, il semble qu'il soit impossible de déterminer si le pistolet est orienté vers la droite ou la gauche avec un accéléromètre. Par contre, Guigz12, il peut donner des angles: j'ai vu sur un site un code qui se sert des accélérations renvoyées par l'accéléromètre pour calculer l'orientation de l'accéléromètre autour ses axes x, y et z. Les angles x, y sont correctes et consistants, mais la valeur de z n'a aucun sens. Merci pour le conseil du gyroscope. On m'a aussi conseillé un magnétomètre pour mesurer l'orientation autour de l'axe z.

C'est normal que tu ne trouves pas d'angle suivant z vu que l'accélération au repos est suivant z. Autrement dit, ton système est invariant par rotation suivant l'axe z.

Avec un magnétomète tu rajouteras une information et tu pourras déduire l'angle suivant z.

Attention, si tu fais une translation accélérée de ton pistolet, ça va fausser tes angles car tu vas mesurer une autre accélération que celle de la pesanteur : Combien de degrés de liberté aura-t-il ?

Je te conseille de faire un schéma afin de te rendre compte des accélérations que va subir l'accéléro en fonction des mouvements du pistolet.

Je pense que tu pourras t'en sortir mais il faut que tu poses les calculs pour être sûr. Mais dans tous les cas, il faudra étalonner tout ça par rapport à l'écran.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte