7
votes

Conversion de la vitesse angulaire en quaternion dans OpenCV

J'ai besoin de la vitesse angulaire exprimée en quaternion pour mettre à jour le quaternion chaque image avec l'expression suivante dans OpenCV: xxx

ma vitesse angulaire est xxx

Je voudrais obtenir une forme de quaternion des angles xxx

Je n'ai pas pu trouver des informations à ce sujet, aucune idée?


5 commentaires

Un quaternion représente une rotation ou une orientation. La vélocité angulaire est la dérivée de celle-ci. On ne sait pas ce que vous essayez de faire.


Je suppose qu'il veut exprimer la vitesse angulaire en tant que Qaternion pour mettre à jour la valeur du quaternion comme ce produit: q (k) = q (k-1) * qwt


Être qwt la vitesse angulaire exprimée comme un quaternion


Oui c'est ça! Je veux mettre à jour la valeur du quaternion chaque image à l'aide de la vitesse angulaire.


D'accord, alors si vous utilisez une vitesse angulaire, chaque image soit prudente car w doit être multiplié par temps entre les cadres.


3 Réponses :


6
votes

Si je comprends correctement, vous voulez passer à partir de ce Axe Formulaire d'angle à un quaternion .

Comme indiqué dans la liaison, vous devez d'abord calculer le module de la vitesse angulaire (multiplié par Delta (T) entre les trames), puis appliquer les formules.

une fonction d'échantillon pour cela serait xxx


1 commentaires

Pourrait-il être que vous avez commis une erreur dans la ligne suivante? qwt.at (0) = qwt.at (0) = qwt.at (0) = 0.0f; Vous définissez le même composant encore et encore.



4
votes

Presque toutes les transformations concernant les quaternions, l'espace 3D, etc. sont rassemblés sur ce Site Web .

Vous trouverez également des dérivés de temps pour quaternions également.

Je trouve cela utile l'explication de la signification physique d'un quaternion, qui peut être considérée comme un angle d'axe où xxx

puis la conversion utilise: xxx

ici est expliqué à fond.

J'espère que cela a permis de le rendre plus clair.


0 commentaires

1
votes

Un petit tour pour aller avec cela et se débarrasser de ces fonctions COS et SIN. Le dérivé de temps d'un quaternion q (t) est:

DQ (T) / DT = 0,5 * x (t) * q (t)

Où, si la vitesse angulaire est {w0, w1, w2}, alors x (t) est un quaternion de {0, w0, w1, w2}. Voir la section du livre de David H Eberly 10.5 pour la preuve


1 commentaires

Votre quaternion {x, y, z, w} ou {w, x, y, z}?