Davenport chained rotations

In physics and engineering, Davenport chained rotations are three chained intrinsic rotations about body-fixed specific axes. Euler rotations and Tait–Bryan rotations are particular cases of the Davenport general rotation decomposition. The angles of rotation are called Davenport angles because the general problem of decomposing a rotation in a sequence of three was studied first by Paul B. Davenport.
The non-orthogonal rotating coordinate system may be imagined to be rigidly attached to a rigid body. In this case, it is sometimes called a "local" coordinate system. Being rotation axes are solidary with the moving body, the generalized rotations can be divided into two groups (here "x", "y" and "z" refer to the non-orthogonal moving frame):
Most of the cases belong to the second group, being the generalized Euler rotations are a degenerated case in which first and third axes are overlapping.
Davenport rotation theorem.
The general problem of decomposing a rotation into three composed movements about intrinsic axes was studied by P. Davenport, under the name "generalized Euler angles", but later these angles were named "Davenport angles" by M. Shuster and L. Markley.
The general problem consists of obtaining the matrix decomposition of a rotation given the three known axes. In some cases one of the axes is repeated. This problem is equivalent to a decomposition problem of matrices.
Davenport proved that any orientation can be achieved by composing three elemental rotations using non-orthogonal axes. The elemental rotations can either occur about the axes of the fixed coordinate system (extrinsic rotations) or about the axes of a rotating coordinate system, which is initially aligned with the fixed one and modifies its orientation after each elemental rotation (intrinsic rotations).
According to the Davenport theorem, a unique decomposition is possible if and only if the second axis is perpendicular to the other two axes. Therefore, axes 1 and 3 must be in the plane orthogonal to axis 2.
Therefore, decompositions in Euler chained rotations and Tait–Bryan chained rotations are particular cases of this. The Tait–Bryan case appears when axes 1 and 3 are perpendicular, and the Euler case appears when they are overlapping.
Complete system of rotations.
A set of Davenport rotations is said to be complete if it is enough to generate any rotation of the space by composition. Speaking in matrix terms, it is complete if it can generate any orthonormal matrix of the space, whose determinant is +1. Due to the non-commutativity of the matrix product, the rotation system must be ordered.
Sometimes the order is imposed by the geometry of the underlying problem. For example, when used for vehicles, which have a special axis pointing to the "forward" direction, only one of the six possible combinations of rotations is useful. The interesting composition is the one able to control the heading and the elevation of the aircraft with one independent rotation each.
In the adjacent drawing, the yaw, pitch and roll (YPR) composition allows adjustment of the direction of an aircraft with the two first angles. A different composition like YRP would allow establishing the direction of the wings axis, which is obviously not useful in most cases.
Tait–Bryan chained rotations.
Tait–Bryan rotations are a special case in which the first and third axes are perpendicular among them. Assuming a reference frame <"x", "y", "z"> with a convention as in image 2, and a plane with <yaw, pitch, roll> axes like in the image 1, lying horizontal on the plane <x, y> in the beginning, after performing intrinsic rotations Y, P and R in the yaw, pitch and roll axes (in this order) we obtain something similar to image 3.
In the beginning :
The rotations are applied in order yaw, pitch and roll. In these conditions, the Heading (angle on the horizontal plane) will be equal to the yaw applied, and the Elevation will be equal to the pitch.
Matrix expressions for the three Tait–Bryan rotations in 3 dimensions are:
The matrix of the composed rotations is
Of the six possible combinations of yaw, pitch and roll, this combination is the only one in which the heading (direction of the roll axis) is equal to one of the rotations (the yaw), and the elevation (angle of the roll axis with the horizontal plane) is equal to other of the rotations (to the pitch).
Euler chained rotations.
Euler rotations appear as the special case in which the first and third axes of rotations are overlapping. These Euler rotations are related to the proper Euler angles, which were thought to study the movement of a rigid body such as a planet. The angle to define the direction of the roll axis is normally named "longitude of the revolution axis" or "longitude of the line of nodes" instead of "heading", which makes no sense for a planet.
Anyway, Euler rotations can still be used when speaking about a vehicle, though they will have a weird behavior. As the vertical axis is the origin for the angles, it is named "inclination" instead of "elevation". As before, describing the attitude of a vehicle, there is an axis considered pointing forward, and therefore only one out of the possible combinations of rotations will be useful.
The combination depends on how the axis are taken and what the initial position of the plane is. Using the one in the drawing, and combining rotations in such a way that an axis is repeated, only roll–pitch–roll will allow controlling the longitude and the inclination with one rotation each.
The three matrices to multiply are:
In this convention Roll1 imposes the "heading", Pitch is the "inclination" (complementary of the elevation), and Roll2 imposes the "tilt".
Conversion to extrinsic rotations.
Davenport rotations are usually studied as an intrinsic rotation composition, because of the importance of the axes fixed to a moving body, but they can be converted to an extrinsic rotation composition, in case it could be more intuitive.
Any extrinsic rotation is equivalent to an intrinsic rotation by the same angles but with inverted order of elemental rotations, and vice versa. For instance, the intrinsic rotations "x-y’-z″" by angles "α", "β", "γ" are equivalent to the extrinsic rotations "z-y-x" by angles "γ", "β", "α". Both are represented by a matrix
if "R" is used to pre-multiply column vectors, and by a matrix
if "R" is used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.
Relationship with physical motions.
Intrinsic rotations.
Intrinsic rotations are elemental rotations that occur about the axes of the rotating coordinate system "XYZ", which changes its orientation after each elemental rotation. The "XYZ" system rotates, while "xyz" is fixed. Starting with "XYZ" overlapping "xyz", a composition of three intrinsic rotations can be used to reach any target orientation for "XYZ". The Euler or Tait-Bryan angles ("α", "β", "γ") are the amplitudes of these elemental rotations. For instance, the target orientation can be reached as follows:
The above-mentioned notation allows us to summarize this as follows: the three elemental rotations of the XYZ-system occur about "z", "x"’ and "z"″. Indeed, this sequence is often denoted "z-x’-z″". Sets of rotation axes associated with both proper Euler angles and Tait-Bryan angles are commonly named using this notation (see above for details). Sometimes, the same sequence is simply called "z-x-z", "Z-X-Z", or "3-1-3", but this notation may be ambiguous as it may be identical to that used for extrinsic rotations. In this case, it becomes necessary to separately specify whether the rotations are intrinsic or extrinsic.
Rotation matrices can be used to represent a sequence of intrinsic rotations. For instance, 
represents a composition of intrinsic rotations about axes "x-y’-z″", if used to pre-multiply column vectors, while
represents exactly the same composition when used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.
Extrinsic rotations.
Extrinsic rotations are elemental rotations that occur about the axes of the fixed coordinate system "xyz". The "XYZ" system rotates, while "xyz" is fixed. Starting with "XYZ" overlapping "xyz", a composition of three extrinsic rotations can be used to reach any target orientation for "XYZ". The Euler or Tait-Bryan angles ("α", "β", "γ") are the amplitudes of these elemental rotations. For instance, the target orientation can be reached as follows:
In sum, the three elemental rotations occur about "z", "x" and "z". Indeed, this sequence is often denoted "z-x-z" (or 3-1-3). Sets of rotation axes associated with both proper Euler angles and Tait–Bryan angles are commonly named using this notation (see above for details).
Rotation matrices can be used to represent a sequence of extrinsic rotations. For instance, 
represents a composition of extrinsic rotations about axes "x-y-z", if used to pre-multiply column vectors, while
represents exactly the same composition when used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.
Conversion between intrinsic and extrinsic rotations.
Any extrinsic rotation is equivalent to an intrinsic rotation by the same angles but with inverted order of elemental rotations, and vice versa. For instance, the intrinsic rotations "x-y’-z″" by angles "α", "β", "γ" are equivalent to the extrinsic rotations "z-y-x" by angles "γ", "β", "α". Both are represented by a matrix
if "R" is used to pre-multiply column vectors, and by a matrix
if "R" is used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.
The proof of the conversion in the pre-multiply case.
The rotation matrix of the intrinsic rotation sequence "x-y’-z″" can be obtained by the sequential intrinsic element rotations from the right to the left:
In this process there are three frames related in the intrinsic rotation sequence. Let's denote the frame 0 as the initial frame, the frame 1 after the first rotation around the "x axis", the frame 2 after the second rotation around the "y’" axis, and the frame 3 as the third rotation around "z″" axis.
Since a rotation matrix can be represented among these three frames, let's use the left shoulder index to denote the representation frame. The following notation means the rotation matrix that transforms the frame "a" to the frame "b" and that is represented in the frame "c" :
An intrinsic element rotation matrix represented in that frame where the rotation happens has the same value as that of the corresponding extrinsic element rotation matrix:
The intrinsic element rotation matrix "Y’" and "Z″" represented in the frame 0 can be expressed as other forms:
The two equations above are substituted to the first equation:
Therefore, the rotation matrix of an intrinsic element rotation sequence is the same as that of the inverse extrinsic element rotation sequence: