I'm having a problem getting my head around Euler Angles.

Specifically if I wish to obtain a rotation matrix for a system where pitch, roll and yaw have all changed at once by various values... how does one go about this?

From the following link:


It looks like one can express this as:

R = roll[] * pitch[] * yaw[]

But I also read a post where someone said it depends on the order in which they are rotated... which kind of makes sense given that the order of multiplication of matrices affects the output. But this leaves me at a dead end!

Thank you for any help.

Edit: This specifically is being applied to an accelerometer problem to find a_linear:

a_measured = a_linear + g*R[]

I'm assuming that I want roll/pitch/yaw but not entirely sure if I've got my frame of references mixed up :s

  • $\begingroup$ As you say, the Euler angles are noncommutative: this means that saying roll, pitch and yaw all change at once doesn't make sense. You have to pick an order. Can you provide more details about what you're trying to do? $\endgroup$ – Frederick Mar 15 '14 at 19:07
  • $\begingroup$ Just updated things but basically... I need to find the linear vertical acceleration of 3 axis accelerometer. I would be taking the yaw (or equivilant?) as close to 0 given the gestures being investigated. $\endgroup$ – user3394391 Mar 15 '14 at 19:12

If you know the sequence of roll, pitch and yaw that you want to do in succession, you can find their matrices and multiply them together in the right order, and the three operations are performed "simultaneously."

The order is important because the group of rotations is nonabelian. If you can produce a matrix for each of these operations, then you can produce a single matrix combining all of them.

  • $\begingroup$ Thank you! I think I just need to be sure now of what sequence I want. Not entirely sure what frame of reference I want? I'm finding the vertical linear acceleration of a three axis accelerometer and taking yaw to be 0 due to the nature of the movements used. $\endgroup$ – user3394391 Mar 15 '14 at 19:13
  • $\begingroup$ If the angles of the incremental rotation are small, then the order does not matter much. While the matrices are not commutative, their first-order terms commute and the higher-order terms are small. $\endgroup$ – LutzL Mar 17 '14 at 23:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.