Attitude Representation - Euler Angles

Attitude Representation

Euler Angles Representation

A vector of three angles that represent the attitude of the coordinate frame $ i $ with respect to the coordinate frame $ j $ is called Euler angles. Euler angles are the most commonly used attitude representation because it’s easy to use and understand. One of Euler angles’ obvious advantages is their intuitive representation.

$$ \text{Euler angles} = \begin{bmatrix} \phi \\ \theta \\ \psi \end{bmatrix} $$

where $\phi$, $\theta$, and $\psi$ are the rotation angles about the $x$, $y$, and $z$ axes, respectively. The Euler angles are defined as follows:

$$ \phi = \arctan\left(\frac{R_{32}}{R_{33}}\right) \\ \theta = \arcsin\left(-R_{31}\right) \\ \psi = \arctan\left(\frac{R_{21}}{R_{11}}\right) $$
where $R_{ij}$ is the element of the rotation matrix $R$.
  • Roll: Rotation around the x-axis with angle $ \phi $
$$ C_{\phi} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & cos(\phi) & sin(\phi) \\ 0 & -sin(\phi) & cos(\phi) \end{bmatrix} $$
* **Pitch**: Rotation around the y-axis with angle $ \theta $
$$ C_{\theta} = \begin{bmatrix} cos(\theta) & 0 & -sin(\theta) \\ 0 & 1 & 0 \\ sin(\theta) & 0 & cos(\theta) \end{bmatrix} $$
* **Yaw**: Rotation around the z-axis with angle $ \psi $
$$ C_{\psi} = \begin{bmatrix} cos(\psi) & sin(\psi) & 0 \\ -sin(\psi) & cos(\psi) & 0 \\ 0 & 0 & 1 \end{bmatrix} $$
Euler angles represent three consecutive rotations, and they could be defined in twelve different orders. The most common order is the yaw-pitch-roll (YPR) order, which is also called the z-y-x order. The rotation matrix can be written as:
$$ C_{\psi\theta\phi} = C_{\psi}C_{\theta}C_{\phi} $$
$$ C_{\psi\theta\phi} = \begin{bmatrix} cos(psi)cos(\theta) & cos(psi)sin(\theta)sin(\phi)-sin(psi)cos(\phi) & cos(psi)sin(\theta)cos(\phi)+sin(psi)sin(\phi) \\ sin(psi)cos(\theta) & sin(psi)sin(\theta)sin(\phi)+cos(psi)cos(\phi) & sin(psi)sin(\theta)cos(\phi)-cos(psi)sin(\phi) \\ -sin(\theta) & cos(\theta)sin(\phi) & cos(\theta)cos(\phi) \end{bmatrix} $$
The Euler angles of the rotation matrix $C_{\phi\theta\psi}$ can be written as:
$$ \phi = \arctan\left(\frac{C_{32}}{C_{33}}\right) $$
$$ \theta = \arctan\left(\frac{C_{32}}{\sqrt{1-C_{32}^2}}\right) $$
$$ \psi = \arctan\left(\frac{C_{31}}{C_{33}}\right) $$
The Euler angles are not unique. For example, the Euler angles $ (0,0,0) $ and $ (2\pi,2\pi,2\pi) $ represent the same rotation. The Euler angles are also not invariant to the order of the rotations. For example, the Euler angles $ R_{x,y,z}(0,0,0) $ and $ R_{z,y,x}(0,0,0) $ represent the same rotation, but the rotation matrix is different.

Three rotation angles $\phi$, $\theta$, and $\psi$ are about the sequential displaced body-fixed axes, and twelve different sequences are possible that can be used for the same rotation. The location of each sequential rotation depends on the preceding rotation, and there are divided into two main categories:

  1. Symmetric sequences: The first and third rotations are performed around the same axis, second rotation is performed around one of the two others:
  2. $$ R_{i,j,i}(\alpha, \beta, \gamma) = R_i(\alpha)R_j(\beta)R_i(\gamma) $$
    Symmetric sequence $ (i,j,i)$, $ i \ne j$, $ \alpha, \beta, \gamma \in \mathbb{R}$
  3. Asymmetric sequences: All rotations performed around three different axes:
  4. $$ R_{i,j,k}(\alpha, \beta, \gamma) = R_i(\alpha)R_j(\beta)R_k(\gamma) $$
    Asymmetric sequence $ (i,j,k)$, $ i \ne j \ne k \ne i$, $ \alpha, \beta, \gamma \in \mathbb{R}$

These angles are not unique, and the mirror angles will result in the same rotations.

  1. For Symmetric sequences: $ R(\alpha, \beta, \gamma) = R(\alpha + \pi, -\beta,\gamma - \pi) $
  2. For Asymmetric sequences: $ R(\alpha, \beta, \gamma) = R(\alpha + \pi, \pi -\beta,\gamma - \pi) $

The main disadvantages of Euler angles are:

  1. Singularity
  2. Non-uniqueness
  3. Non-invariance
  4. Less accuracy for integration of attitude incremental changes over time

At $ \theta = \left(\pm\frac{\pi}{2}\right) $ the singularities will occur and usually known as mathematical gimble lock where to axes are parallel to each other.

Quaternion

References:

[1] Markley, F. Landis, and John L. Crassidis. Fundamentals of spacecraft attitude determination and control. Vol. 1286. New York, NY, USA:: Springer New York, 2014.
[2] Junkins, John L., and Hanspeter Schaub. Analytical mechanics of space systems. American Institute of Aeronautics and Astronautics, 2009.
[3] De Ruiter, Anton H., Christopher Damaren, and James R. Forbes. Spacecraft dynamics and control: an introduction. John Wiley & Sons, 2012.
[4] Wertz, James R., ed. Spacecraft attitude determination and control. Vol. 73. Springer Science & Business Media, 2012.
[5] Vepa, Ranjan. Dynamics and Control of Autonomous Space Vehicles and Robotics. Cambridge University Press, 2019.
[6] Shuster, Malcolm D. “A survey of attitude representations.” Navigation 8.9 (1993): 439-517.
[7] Markley, F. Landis. “Attitude error representations for Kalman filtering.” Journal of guidance, control, and dynamics 26.2 (2003): 311-317.
[8] Markley, F. Landis, and Frank H. Bauer. Attitude representations for Kalman filtering. No. AAS-01-309. 2001.

Arman Asgharpoor Golroudbari
Arman Asgharpoor Golroudbari
Space-AI Researcher

My research interests revolve around planetary rovers and spacecraft vision-based navigation.