[Math] Why Euler angles cause gimbal lock

geometryrotations

And here's another one about Euler angles. I want to ensure I'm understanding it right.

I had a really hard time getting how and why gimbal lock is possible, because the most common explanation is "loosing one degree of freedom" or something like "two axes are in the same plate". Explanations like "map from Euler angles is not a covering map for rotation space" sounds good, but still doesn't reveal the reason.

Then, I've read Wikipedia once again and saw this:

"Euler rotations are never expressed in terms of the external frame, or in terms of the co-moving rotated body frame, but in a mixture.

They constitute a mixed axes of rotation system, where the first angle moves the line of nodes around the external axis z, the second rotates around the line of nodes and the third one is an intrinsic rotation around an axis fixed in the body that moves."

And then it hit me. When I was looking at all the pictures from all the articles and books, I saw something like this:

A picture from a similar question

And I thought, that Euler angles are based on co-moving frame (so did a couple of my friends I asked, for that matter). But they are not! And from that moment everything seemed obvious!

If one axes is global and two others are co-moving, then they can become aligned and we have a gimbal lock.

So, here are my questions:

  1. Am I right at all, and this is the basic reason for gimbal lock in Euler angles?

  2. Will any rotation representation based on 3 orthogonal axes from one frame be gimbal-lock-free? Not only quaternions, but rotational matrices for example?

  3. WHY OH WHY did Euler used those, let's say, strange set of axes?!

  4. WHY OH WHY isn't it written in capsbold in every article about Euler angles, why all the pictures are so confusing?! Or maybe I'm the only one who didn't know that?

P.S. I'm sorry for my bad English.

Best Answer

I don' find the sentence you quoted from wikipedia so much illuminating... It's saying that Euler angles want to decompose a rotation as a product of three rotations $RPY$. It is obvious that every rotation applies to the frame of the previous one. This is exactly the good thing about Euler angles... the bad thing is that if you have a rotation which varies with continuity, the three rotations $R,P,Y$ are not guaranteed to vary continuously.

My suggestion is to think about the real gimbal lock, which might happen to a compass in a plane. Notice that the compass in a plane gives you exactly the Yaw angle. Suppose that the plane is heading north and makes a loop. When the plane passes the vertical the yaw angle passes abruptly from north to south and might cause the compass to lock in an incorrect position.