In http://blog.donews.com/wanderpoet/archive/2005/07/04/453608.aspx
The following is a clear explanation of gimbal lock:
Gimbal lock
...
Maybe it's a bit difficult to understand. OK, let me show you a real sence.
It may be hard to understand. Let's look at a real scenario.
say that we have a telephony and a tripod to put the telephon. the tripod is put on the ground. the top of the tripod holding the telephony is leveled with the horizon (reference plane) so that a Vertical Rotation Axis (we call it X axis) is perfectly vertical to the ground plane. the telephony can then be rotated around und 360 degrees in X axis so that it can scan the horizon in all the directions of the compass. zero degrees azimuth is usually set toward a heading of true north. A second horizontal axis parallel to the ground plane (we call it Y axis), enables the telephony to be rotated in elevation upward or downward from the horizon. the horizon is usually set at zero degrees and the telephcan be rotated + 90 degrees upward in elevation so that it is looking straight up toward the zenith or rotated-90 degrees downward so that it is looking vertically at the ground plane.
Suppose we have a telescope and a tripod used to hold the telescope. (We put the tripod on the ground so that the top of the tripod supporting the telescope is parallel to the ground plane (reference plane, so that the vertical axis of rotation (recorded as the X axis) is completely perpendicular to the ground plane. Now, we can rotate the X axis of the telescope 360 degrees to observe all the directions of the horizontal circle (centered on the telescope. The normal North orientation and azimuth angles are usually recorded as 0 degrees azimuth. The Second coordinate axis, that is, the horizontal coordinate axis parallel to the ground plane (recorded as the Y axis), allows the telescope to rotate up and down, and usually marks the elevation angle of the ground plane orientation as 0 degrees, the telescope can be raised to + 90 degrees to the top of the day, or down to 90 degrees to the foot.
OK, that's all we needed. every point in the sky (and the ground) can be referenced by only one unique pair of X and Y readings. for example an X of 90 degrees and Y of 45 degrees specifies a point exactly due east of the telephony and in a skyward direction half way up toward the zenith.
All right, everything is ready. Now, each point in the sky (including the ground) only needs a unique pair of X and Y degrees. For example, the points x = 90 degrees and Y = 45 degrees point to are located in the middle sky in the east direction.
Now let me show you how the gimal lock occurred. we detect a high flying aircraft, near the horizon, due east from the telocation (x = 90 degrees, y = 10 degrees) and we follow it (track it) as it comes directly toward us. the X angle stays at 90 degrees and the Y angle slowly increases. as the aircraft comes closer the y angle increases more rapidly and just as the aircraft reaches an y of 90 DEGRE ES (exactly overhead), it makes a sharp turn due south. we find that we cannot quickly move the telephtoward the south because the y angle is exactly + 90 degrees so we loose sight (loose track) of the aircraft. we have gimbal lock!
Now, let's take a look at how a universal joint deadlock occurs. Once, we detected a ground-mounted aircraft flying in the east direction of the telescope (x = 90 degrees, y = 10 degrees). We flew directly to us and followed it. The flight direction of an aircraft is to keep the X axis angle 90 degrees unchanged, while the y direction is gradually increasing. As the aircraft approaches, the y-axis angle increases faster and faster. When the y-axis angle reaches 90 degrees (about to surpass), it suddenly turns south and flies. At this time, we found that we could not direct the telescope to the south, because at this time, the y direction is 90 degrees, causing us to lose the tracking target. This is the deadlock of the universal node!
) to (x = 90 degrees, y = 90 degrees), there is no problem with this process. The telescope slowly rotates to track the aircraft. When the aircraft reaches (x = 90 degrees, y = 90 degrees), the coordinates suddenly change to (x = 180 degrees, y = 90 degrees) (because it faces south ), x changes from 90 to 180 degrees, so the telescope needs to rotate the vertical axial X axis 180-90 = 90 degrees to catch up with the aircraft, but now the telescope is already parallel to the X axis, we know that Rao's rotation on its central axis does not change orientation, just like a screw, the orientation of the screw head remains unchanged. So the telescope points to the top of the sky. Then, as the plane is flying far and the coordinates change to (x = 180 degrees, Y <90 degrees), the y direction angle is reduced, and the telescope can only switch back to the east direction and look at the device to sigh. This means that using X and Y rotation angles (also known as orah angles) to target objects sometimes does not work as you think, as in the above example from (x = 90 degrees, y = 10 degrees) to (x = 90 degrees, y = 90 degrees). The coordinate value changes one by one correspond to the location changes of the aircraft space, but from (x = 90 degrees, y = 90 degrees) to (x = 180 degrees, y = 90 degrees), then to (x = 180 degrees, Y <90 degrees) in this change, the positions of the aircraft are consecutive, but the changes in the coordinate values are not consecutive (from 90 to 180), because (x = 90 degrees, y = 90 degrees) and (x = 180 degrees, y = 90 degrees) and even (x = arbitrary, y = 90 degrees) these different coordinate values correspond to the same location of the space. The inconsistency between these coordinate values corresponds to the same location, which is the root cause of the deadlock. [thanks to the deep explanations of zeroyear, fatfatson, and so on. The original explanations were not clear enough, so I modified them as above. Original article: The orientation can be correct based on the rotation of the ouarla corner, but from (x = 90 degrees, y = 90 degrees) to (x = 180 degrees, y = 90 degrees ), again (x = 180 degrees, Y <90 degrees), the orientation after rotation according to the ouarla corner is not correct]
It's a example of 2D coordinate frame. it's very similar in 3D frame. we say that you have a vector which is parellel to the X axis. and we rotate it around und Y axis so that the vector is parellel to the Z axis. then we find that any rotations around Z axis will have no effect on the vector. we say that we have a gimbal lock
The above is an example of a two-dimensional coordinate system. Likewise, it is true for a three-dimensional coordinate system. For example, if there is a vector parallel to the X axis, we first rotate it until it is parallel to the Z axis, then we will find that any rotation of Rao Z cannot change the vector direction, that is, the universal joint deadlock.
3-dimensional deadlock Analysis of Universal Joint see: http://www.cnblogs.com/soroman/archive/2008/03/24/1118996.html)