Euler Angles - Gimbal lock, why non-orthogonal axes?

1.8k Views Asked by At

Asked this question on SO by mistake so asking it here.

I really can't understand how and why gimbal lock occurs using euler angles. First of all let me clear this "I know that gimbal lock occurs when 2 gimbals/axes coincide thus losing 1 degree of freedom"

However what I'm interested in why the axes are coinciding in the first place when they are supposed to remain perpendicular when we move anyone.

According to wikipedia here :

The general problem of decomposing a rotation into three composed movements about intrinsic axes was studied by P. Davenport, under the name "generalized Euler angles", but later these angles were named "Davenport angles" by M. Shuster and L. Markley.

Davenport proved that any orientation can be achieved by composing three elemental rotations using non-orthogonal axes.

That's what I want to hear about more. Why "non-orthogonal" ? I can't see any problems with making the axes orthogonal? What does making the axes non-orthogonal give us?

2) After the above one has been answered. How is this all tied up to rotational matrices? How can we achieve gimbal lock through the matrices when they only rotate a given point/vector around global axis. For example If i multiply a column vector with a Rotation matrix around X-axis Rx and then with Ry It will rotate around the global X-axis first, then global Y-axis second. So how can I achieve the lock situation using matrices?

EDIT:- To make it more clear I've also heard about rotation orders like in the order Y-Z-X when Y axis rotates then Z and X rotate with it but when Z rotates only X rotates with it. thus making the axes non-orthogonal. I am assuming that's what it means by non-orthogonal mentioned in the wiki article. Here is a picture.

enter image description here

As you can see in the Y-Z-X order, the Y axis remains there as in 3rd picture causing the axes to coincide...

2

There are 2 best solutions below

5
On

Is the wikipedia article perhaps talking about non-orthogonal axes of rotation? Because that's what happens with Euler Angles. In the yaw,pitch, roll case, the first axis of rotation is about the inertial z axis. The next one is about an axis that is in the x-y plane (roll). So you can imagine that the last axis of rotation will be non orthogonal to the first two axis.

Anyway, when it comes to Gimbal lock, I look at it in the context of the following question: "Given the rotation matrix, can I parametrize it uniquely in terms of Euler angles yaw, pitch, and roll?"

Take the rotation matrix formed by the Euler angle rotations of (0,90,0) angles for (yaw,pitch,roll). Now assume for a second that I did not tell you the (yaw,pitch,roll) combination I used to come up with the rotation matrix and I ask you the question "what is my (yaw,pitch,roll)". You will not be able to come up with a unique solution. In fact there are infinitely many of them. This singularity or loss of a dimension is a gimbal lock situation and it tends to cause havoc in control/estimation algorithms if Euler angles are used.

0
On

So I finally figured out what was confusing me. Although I still didn't understand what they mean by non-orthogonal axes but I got all that coinciding thing. I asked this question on Computergraphics exchange so posting the link to the answer which I posted there.

https://computergraphics.stackexchange.com/questions/6233/euler-angles-gimbal-lock-why-non-orthogonal-axes