Hubbry Logo
Davenport chained rotationsDavenport chained rotationsMain
Open search
Davenport chained rotations
Community hub
Davenport chained rotations
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Davenport chained rotations
Davenport chained rotations
from Wikipedia

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.[1]

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. Given that 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):

Generalized Euler rotations
(z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y)
Generalized Tait–Bryan rotations
(x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z).

Most of the cases belong to the second group, given that the generalized Euler rotations are a degenerated case in which first and third axes are overlapping.

Davenport rotation theorem

[edit]
Davenport possible axes for steps 1 and 3 given Z as the step 2

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.[2]

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.[3]

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.[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

[edit]
Figure 1. Airplane resting on a plane

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

[edit]
Figure 2. The principal axes of an aircraft

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 figure 1, and a plane with ⟨yaw, pitch, roll⟩ axes like in the figure 2, 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 figure 3.

Figure 3. Heading, elevation and bank angles after yaw, pitch and roll rotations (Z-Y’-X’’)

In the beginning :

  • the plane roll axis is on axis x of the reference frame
  • the plane pitch axis is on axis y of the reference frame
  • the plane yaw axis is on axis z of the reference frame

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

[edit]
Starting position of an aircraft to apply proper Euler angles

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

[edit]
A rotation represented by Euler angles (α, β, γ) = (−60°, 30°, 45°), using z-x’-z″ intrinsic rotations
The same rotation represented by (γ, β, α) = (45°, 30°, −60°), using z-x-z 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

Where , , and are the elementary rotation matrices of the corresponding angles. The product of these matrices, , should then be pre-multiplied against a column vector. Take note of the ambiguities in the definition of rotation matrices, since some definitions may use row vectors instead.

Relationship with physical motions

[edit]

Intrinsic rotations

[edit]

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 XYZ system rotates by α about the Z axis (which coincides with the z axis). The X axis now lies on the line of nodes.
  • The XYZ system rotates about the now rotated X axis by β. The Z axis is now in its final orientation, and the X axis remains on the line of nodes.
  • The XYZ system rotates a third time about the new Z axis by γ.

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. This is standard practice, but take note of the ambiguities in the definition of rotation matrices.

Extrinsic rotations

[edit]

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:

  • The XYZ system rotates about the z axis by α. The X axis is now at angle α with respect to the x axis.
  • The XYZ system rotates again about the x axis by β. The Z axis is now at angle β with respect to the z axis.
  • The XYZ system rotates a third time about the z axis by γ.

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. This is standard practice, but take note of the ambiguities in the definition of rotation matrices.

Conversion between intrinsic and extrinsic rotations

[edit]
A rotation represented by Euler angles (α, β, γ) = (−60°, 30°, 45°), using z-x’-z″ intrinsic rotations
The same rotation represented by (γ, β, α) = (45°, 30°, −60°), using z-x-z 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 is used to pre-multiply column vectors. This is standard practice, but take note of the ambiguities in the definition of rotation matrices.

The proof of the conversion in the pre-multiply case

[edit]

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:

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Davenport chained rotations, also referred to as Davenport angles, are a generalization of Euler angles for parameterizing three-dimensional rotations using three successive intrinsic rotations about body-fixed axes, where consecutive axes are required to be orthogonal but the first and third axes bear no such restriction relative to each other. This approach, first introduced by Paul B. Davenport in 1973, allows for the representation of any orientation in the special orthogonal group SO(3) through angles ϕ, θ, and ψ corresponding to rotations about unit vectors n₁, n₂, and n₃, respectively, such that the overall rotation matrix is given by R = R(n₃, ψ) R(n₂, θ) R(n₁, ϕ). Unlike classical Euler angles, which confine the axes to specific orthogonal triads aligned with coordinate frames, Davenport chained rotations permit arbitrary orientations for the axis set, provided the orthogonality condition holds between successive pairs, thereby offering greater flexibility in applications requiring customized rotation decompositions. The parameterization avoids some singularities inherent in , such as , by allowing the choice of axes to mitigate representational ambiguities, though it retains of freedom and is subject to its own singularity conditions when the middle angle θ approaches 0 or π. Davenport's original work framed this within a vector algebra for rotations, emphasizing computational efficiency and applications in least-squares attitude determination for . Subsequent developments, including explicit kinematic equations and conversions from attitude matrices, have been detailed in analyses by Shuster and Markley, highlighting the method's utility in deriving differential equations for attitude dynamics. In modern contexts, Davenport chained rotations find prominent use in and , where they decompose complex 3D manipulation tasks—such as in-hand object reorientation—into hierarchical subtasks of simpler one-dimensional rotations, reducing the complexity of policy learning in high-dimensional spaces. This decomposition leverages the chained structure to enable modular skill acquisition, as demonstrated in frameworks for dexterous robotic hands. The approach also appears in software libraries like for numerical computations involving rotations, underscoring its practical relevance in and scientific simulations.

Overview and Fundamentals

Definition and Key Concepts

Davenport chained rotations provide a method to parameterize orientations in using a sequence of three intrinsic rotations about non-collinear axes fixed to the rotating body. These rotations compose an overall transformation belonging to the special orthogonal group SO(3), which consists of all real orthogonal matrices with 1, representing proper rotations without reflections or improper transformations. Rotation matrices in SO(3) describe the attitude of rigid bodies, such as , by mapping vectors from a body-fixed frame to a reference frame, preserving lengths and angles. The core definition involves parameterizing the overall RR as the product of three elementary matrices: R=R3(ψ)R2(θ)R1(ϕ),R = R_3(\psi) R_2(\theta) R_1(\phi), where R1(ϕ)R_1(\phi), R2(θ)R_2(\theta), and R3(ψ)R_3(\psi) are the individual rotations by angles ϕ\phi, θ\theta, and ψ\psi (known as Davenport angles) about the first, second, and third body-fixed axes, respectively. These axes must be non-collinear to ensure the sequence can represent any orientation in SO(3), with the condition that the first two axes and the last two axes are mutually perpendicular for a complete and unique parameterization. Intrinsic rotations mean each subsequent axis is defined in the frame after the previous , allowing for flexible axis choices beyond the orthogonal constraints of traditional . This parameterization generalizes classical rotation representations, with Euler angles and Tait-Bryan angles emerging as special cases when the axes align with the body's principal directions. The approach originated from Paul B. Davenport's work in 1973 at NASA's Goddard Space Flight Center, initially developed for spacecraft attitude determination and formalized in his analysis of rotations about nonorthogonal axes.

Davenport Rotation Theorem

The Davenport rotation theorem establishes that any arbitrary rotation RSO(3)R \in \mathrm{SO}(3) can be uniquely decomposed into the product of three successive intrinsic rotations about fixed body axes r1\mathbf{r}_1, r2\mathbf{r}_2, and r3\mathbf{r}_3, expressed as R=exp(θ1r^1×)exp(θ2r^2×)exp(θ3r^3×)R = \exp(\theta_1 \hat{\mathbf{r}}_1^\times) \exp(\theta_2 \hat{\mathbf{r}}_2^\times) \exp(\theta_3 \hat{\mathbf{r}}_3^\times), where r^i×\hat{\mathbf{r}}_i^\times denotes the for axis ri\mathbf{r}_i, provided the axes are non-collinear and the second axis r2\mathbf{r}_2 lies perpendicular to the plane spanned by r1\mathbf{r}_1 and r3\mathbf{r}_3. This parameterization generalizes to non-orthogonal axes while preserving the ability to represent all possible 3D orientations. The perpendicularity condition r2r1=0\mathbf{r}_2 \cdot \mathbf{r}_1 = 0 and r2r3=0\mathbf{r}_2 \cdot \mathbf{r}_3 = 0 ensures the completeness of the representation, meaning the map from angles (θ1,θ2,θ3)(\theta_1, \theta_2, \theta_3) to SO(3)\mathrm{SO}(3) is surjective, with non-collinear axes r1\mathbf{r}_1 and r3\mathbf{r}_3 guaranteeing generic avoidance of singularities akin to in . Uniqueness holds except in degenerate cases where Rr3=±r1R \mathbf{r}_3 = \pm \mathbf{r}_1, in which the sum or difference of θ1\theta_1 and θ3\theta_3 is fixed but individual values are not. The proof outlines a decomposition of the RR by isolating the intermediate rotation about r2\mathbf{r}_2 through projections and axis-angle relations, demonstrating solvability for the angles under the axis conditions. Specifically, the intermediate angle θ2\theta_2 is solved from r1Texp(θ2r^2×)r3=r1TRr3\mathbf{r}_1^T \exp(\theta_2 \hat{\mathbf{r}}_2^\times) \mathbf{r}_3 = \mathbf{r}_1^T R \mathbf{r}_3, which reduces to a in θ2\theta_2 resolvable via two-argument arctangent functions. Once θ2\theta_2 is obtained, θ1\theta_1 and θ3\theta_3 follow from planar rotations in the subspaces orthogonal to r2\mathbf{r}_2. Mathematical details for angle extraction include, for the general case, defining coefficients a=r1Tr^2×2r3a = -\mathbf{r}_1^T \hat{\mathbf{r}}_2^{\times 2} \mathbf{r}_3, b=r1Tr^2×r3b = \mathbf{r}_1^T \hat{\mathbf{r}}_2^\times \mathbf{r}_3, and c=r1T(RIr^2×2)r3c = \mathbf{r}_1^T (R - I - \hat{\mathbf{r}}_2^{\times 2}) \mathbf{r}_3, yielding solutions θ2=\atantwo(b,a)±\atantwo(a2+b2c2,c),\theta_2 = \atantwo(b, a) \pm \atantwo\left( \sqrt{a^2 + b^2 - c^2}, c \right),
Add your contribution
Related Hubs
User Avatar
No comments yet.