1.5.3. Rotation parametrization: Euler’s angles#
A generic rotation tensor can be written as a combination of 3 successive rotations. Euler’s angle parametrizations are built with three successive rotations around 1 axis of the intermediate reference frames. Two families of angles exist:
proper Euler’s angles, with the first and the last rotation around axes with the same labels (e.g. \(zxz\), \(xyx\), \(yzy\), \(zyz\), \(xzx\), \(yxy\))
Tait-Bryan (or Cardan) angles, with three rotations around three axes with different labels (e.g. \(xyz\), \(yzx\), \(zxy\), \(xzy\), \(yxz\), \(zyx\))
Here, the expressions of rotation tensor and angular velocity are explicitly treated for the set of angles \((\psi, \theta, \phi)\) around axes \(zyx\).
Euler’s angle parametrization is not regular: gimbal lock
Euler’s angles can represent any rotation, but there this parametrization is not one-to-one: some rotations may be represented by many (infinite) set of parameters, as shown below. Thus, for some rotations it’s not possible to recover a unique set of Euler’s angles.
todo
add link
add picture?
1.5.3.1. Rotation tensor#
Three successive rotations are
Rotation of vector \(\vec{v}^0 = v_x \hat{x}_0 + v_y \hat{y}_0 + v_z \hat{z}_0\) into vector \(\vec{v} = v_x \hat{x}_3 + v_y \hat{y}_3 + v_z \hat{z}_3\)
Vectors of basis \(3\) w.r.t. basis \(0\).
The components \(R_{ij}^{0 \rightarrow 3} := \hat{e}^0 \cdot \hat{e}^3_j\) of the rotation tensor, transforming the basis \(0\) into the basis \(3\), referred either to basis \(0\) or basis \(3\),
can be collected in an array \(\mathbf{R}^{0 \rightarrow 3}\), \([\mathbf{R}^{0 \rightarrow 3}]_{ij} = R^{0 \rightarrow 3}_{ij} = \hat{e}^0_i \cdot \hat{e}^3_j\),
This is the matrix of change of basis discussed in Math:Vector and Tensor Algebra:…
Gimbal lock
For \(\theta = \mp \frac{\pi}{2}\), the components of the rotation tensor are
i.e. orientations with \(\theta = - \frac{\pi}{2}\) are determined by the sum \(\psi + \phi\), while with \(\theta = \frac{\pi}{2}\) by the difference \(\psi - \phi\). In both situations, for a given orientation it’s not possible to retrieve a unique pair of values \((\psi, \phi)\), but only their sum or difference.
1.5.3.2. Angular velocity#
Angular velocity of simple rotation around a vector of the basis
Let \(\mathbb{R}^{0\rightarrow 1}\) the rotation tensor representing a rotation of an angle \(\psi\) around the unit vector \(\hat{z}^0 = \hat{z}^1\),
Its time derivative at constant \(0\) reads
and thus the angular velocity reads
and thus
If the rotation occurs around the vector of the original basis, the components of the angular velocity don’t change when referred to either bases, as \(\hat{z}^1 = \mathbb{R} \cdot \hat{z}^0 = \hat{z}^0\), and thus
This is not true for generic rotations!
Relative angular velocities of intermediate Euler’s rotations
As shown for the “yaw” angle \(\psi\) before, it’s easy to prove that
Angular velocity as the sum of relative angular velocity of intermediate rotations
Using addition of relative angular velocity of intermediate rotations,
and it can be expressed w.r.t. vectors of reference frame \(0\)
or w.r.t. vectors of reference frame \(3\)
Relation between components of angular velocity and rotation parameters and their time derivative
Let \(3\) a body reference frame, and \(0\) a global reference frame; let \(p\), \(q\), \(r\) the components of the angular velocity \(\vec{\omega}\) w.r.t. the body reference frame
Exploiting matrix formalism, the relation between the components of the angular velocity in the body reference frame, Euler’s angles and thier time derivative is
The inverse relation exists for \(\cos \theta \ne 0\) (gimbal lock),
Thus, collecting the body components of the angular velocity in \(\boldsymbol{\omega} = (p,q,r)^T\), calling \(\mathbf{S}(\mathbf{q})\) the matrix collecing the coefficients depending on the rotation parameters \(\mathbf{q} = (\phi, \theta, \psi)\), and \(\dot{\mathbf{q}}\) their time derivatives, it remains proved that using Euler’s angles the relation
always exists, but the inverse relation exists only for \(\theta \ne \mp \frac{\pi}{2}\).
1.5.3.3. Linearization#
…