Euler angles provide a more interpretable/intuitive way to describe rotation; using three primal axes to decompose a rotation into three rotations around different axes. Euler angles have different definitions, based on the order of rotation (, , , etc).

is used frequently because it’s equivalent to yaw-pitch-roll:

Note that rotation around the and the is after the previous rotations. A 3D vector can be used to describe the rotation.

Gimbal Lock

Euler angles suffer from the Gimbal lock problem. For example, in the case of when the pitch angle is , first rotation and the third rotation will use the same axis, causing the system to lose a degree of freedom (from 3 rotations to 2 rotations).

In fact, as long as we want to use 3 real numbers to express 3D rotation, we will face some sort of singularity problem like this. Thus, Euler angles are only commonly used for human-computer interaction, not to express poses directly in a SLAM, filtering, or optimization.

Why is Gimbal lock a problem? The loss of a degree of freedom means that it’s impossible to control rotation around one axis without affecting the others. This can lead to complex and unintuitive control requirements.