quat2eul(quat) and dcm2Angle(R) difference for ZYX sequence

6 vues (au cours des 30 derniers jours)
HN
HN le 7 Mai 2020
I've converted a quaternion to Euler angle using quat2eul(q,'ZYX') and a rotation matrix to Euler angle with function dcm2Angle(R,'ZYX'). However, the resulted graph is inverted (upside down). Example , if yaw angle from quaternion is up, yaw angle from dcm2Angle is down. How could that happen ?
Any help would be apperciated.
Thanks

Réponse acceptée

James Tursa
James Tursa le 7 Mai 2020
Modifié(e) : James Tursa le 9 Mai 2020
MATLAB uses two different quaternion conventions in their toolboxes. In particular, the quaternion convention used in the Aerospace Toolbox is essentially the conjugate of the quaternion convention used in their Robotics Toolbox. See these links for more details of that difference:
The quat2eul( ) function comes from the Robotics Toolbox.
The dcm2Angle( ) function comes from the Aerospace Toolbox.
So these functions come from toolboxes with different definitions of quaternion conventions, and how to convert between quaternions and direction cosine matrices and Euler angles will be different between them.
Bottom line is you cannot mix & match functions from these toolboxes and expect consistency. Depending on what you are doing, one can give you the opposite answer as the other. You need to determine what quaternion convention you will be using, and then use the appropriate functions from the appropriate toolbox that uses the same convention.
The Robotics Toolbox "rotation matrix" is in fact a direction cosine matrix ... just another term for the same thing. It is the conversions between it and quaternions and Euler Angles that are different from the Aerospace Toolbox.

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 7 Mai 2020
dcm2angle does not take the rotation matrix as input. It takes direction cosine matrix (DCM). to convert rotation matrix to Euler angles use rotm2eul() https://www.mathworks.com/help/robotics/ref/rotm2eul.html
  1 commentaire
Serhii Bahdasariants
Serhii Bahdasariants le 22 Fév 2022
I don't think there is a difference in numerical values of the rotation and direction cosine matrices, is there?

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by