Last Updated:

Euler Parameters

Andrea Del Bravo
Andrea Del Bravo

1) Preface

In geometry, Euler's rotation theorem states that, in three-dimensional space, any displacement of a rigid body such that a point on the rigid body remains fixed, is equivalent to a single rotation about some axis that runs through the fixed point. It also means that the composition of two rotations is also a rotation. The axis of rotation is known as an Euler axis (source Wikipedia)

So, according to the above mentioned Euler's rotation theorem, any 3D rotation (or sequence of rotations) can be specified using two parameters: a unit vector that defines an axis of rotation; and an angle μ describing the magnitude of the rotation about that axis, rotation to be considered positive according to the right hand rule.

Let’s assume now to have a fixed reference system XYZ, and consider a versor V (our rotation axis) forming with the three axis, the three angles α β and γ.

Suppose to have an additional reference system (X’Y’Z’) in origin coincident with XYZ.

We want to apply a rotation of an angle μ to X’Y’Z’ around the vector V, and to calculate the relative transformation matrix. The scope is very simple: have an instrument to calculate the attitude (the angular position) of an object (an aircraft) once the rotation is applied. In fact we will learn that knowing this transformation matrix, allow us to know the asset of the aircraft.

The problem could seem very complex, but we can reduce the difficulties with some smart ideas.

If we assume to be able to rotate the X’Y’Z’ reference system (by means of the transformation matrix A) in such e way that the X’ axis is coincident with the vector V, we would be in a good position. From now on it would be sufficient to make a rotation around the X’ axis (by means of the transformation matrix R) to have the rotation around V: note that this transformation would be very simple. In order to obtain the our final result would be now sufficient to apply the inverse transformation by means of the matrix A-1

2) The transformation matrix

Now let’s discover the matrix A but firstly let’s choose the way to superimpose X’ to V:

  1. first rotate X’Y’Z’ reference system around the Z≡Z’ axis until the plane formed by V and X’ becomes perpendicular the XY≡X’Y’ plane
  2. second rotate the X’Y’Z’ reference system around the Y’ axis until X’ is coincident with V.

It’s to be noted that in this way the Y’ axis is restricted on the XY plane, and being the X’ axis superimposed to V, the Z’ axis is perpendicular to V.

The generic orthogonal transformation matrix have the form:

A=(a11a12a13a21a22a23a31a32a33)

but from matrix theory we know that:

  • the rows represent the unit vector of each axis of the new reference system respect to the old one
  • each row represents a unit vector perpendicular to the unit vectors represented by the other rows and their components are the director cosines of the unit vector
  • each column represents a unit vector perpendicular to the unit vector represented by the other columns

As consequence of the above properties we have:

a11=cos(α)    a12=cos(β)    a13=cos(γ)

The fact that Y’ lies on the XY plane implies that a23=0 (the third component of its unit vector is null)

Considering the last column we can write:   a132+a232+a332=1 and

a332+cos2(γ)=1  which leads to   a33=±sin(γ)

The resulting matrix becomes

A=(cosαcosβcosγa21a220a31a32±sinγ)

Let’s now multiply first the column by the last column

cos(α)cos(γ)±a31sin(γ)=0 which leads to a31=cosαcotγ

redoing the same operation between the second and last columns

cosβcosγ±a32sinγ=0   which leads to   a32=cosβcotgγ

The matrix A now becomes

A=(cosαcosβcosγa21a220cosαcotgγcosβcotgγ±sinγ)

We need now to compute the last two members, a21 and a22 .

One simple relation comes considering that the second row is a vector unit, that is:

a212+a222=1

considering the first and second rows they represent two perpendicular unity vector and thus

a21cos(α)+a22cos(β)=0  extracting a21 from this relation and substituting it in the above

a222+cos2(β)cos2(α)a222=1    a222(1+cos2(β)cos2(α))=1

a222(cos2β+cos2α)cos2α=1   consider that from row 1 of matrix A

cos2β+cos2α=1cos2γ=sin2γ and thus a222sin2γcos2α=1

Finally   a22=±cosαcscγ

similar considerations lead to

a21=cosβcscγ

The sign ambiguities can be solved adding the requirements that for α = 0 the matrix reduces to an identity matrix

The matrix A takes now the final form

A=(cosαcosβcosγcosβcscγcosαcscγ0cosαcotgγcosβcotgγsinγ)

Let’s now consider, as stated at the beginning, the rotation of an angle μ around the X’ axis:

the corresponding matrix R takes the very easy form:

R = (1000cosμsinμ0sinμcosμ)

The matrix A-1 to remove the effect of matrix A, is very simple too.

Considering Matrix theory, being matrix A unitary and orthogonal, the inverse of A-1 is simply the transposed of A, that means that the rows of A-1 are the columns of A, i.e.:

A-1 = (cosαcosβcscγcosαcotgγcosβcosαcscγcosβcotgγcosγ0sinγ)

Now we have all the components to find the matrix T = A-1 R A describing the rotation of an angle μ around the vector V of the reference system X’Y’Z’ (we omit the tedious math transformations):

T = (12sin2μ2sin2α2(sin2μ2cosαcosβ+sinμ2cosμ2cosγ)2(sin2μ2cosαcosγsinμ2cosμ2cosβ)2(sin2μ2cosαcosβsinμ2cosμ2cosγ)12sin2μ2sin2β2(sin2μ2cosβcosγ+sinμ2cosμ2cosα)2(sin2μ2cosαcosγ+sinμ2cosμ2cosβ)2(sin2μ2cosβcosγsinμ2cosμ2cosα)12sin2μ2sin2γ) (1)

The matrix (1) is extremely important and even if could seem strange or too complicated, has its logic. Let’s try to discover the logic by making the following substitution:

a1=cosμ2

a2=cosαsinμ2

a3=cosβsinμ2

a4=cosγsinμ2

These four parameters are called the Euler parameters. It may be seen from their definition that they obey the relationship:

a12+a22+a32+a42=1

We can say that Euler in the 18th century anticipated what Hamilton formulated precisely in the 19th century: the quaternions. We will introduce quaternions in another post, showing later how to find their components, and from the components how to derive the attitude angles.

Matrix T takes now the form:

T = (a12+a22a32a422(a1a4+a2a3)2(a2a4a1a3)2(a2a3a1a4)a12a22+a32a422(a3a4+a1a2)2(a2a4+a1a3)2(a3a4a1a2)a12a22a32+a42) (2)

This means that if I have a vector A¯ whose coordinates on the reference system X, Y, Z are (xa,ya,za) , the same vector in the reference system X’, Y’, Z’ will have the coordinates

(x'ay'az'a)=T(xayaza)    3)

This result is very important and will be used in the following findings

0 Comments
Andrea Del Bravo

Andrea Del Bravo

Aerospace industry, working in many international programs and international teams. Major programs: Project Manager for the development of Aircrew Synthetic Trainig Aids for the EF 2000 (Eurofighter Typhoon) Scientific responsible for the TCTUE (Time Critical Targeting in Urban Environment) project. A collaboration among German MoD, USA Air Force and Italina MoD to develop and evaluate algos and assets for detecting and suppressing terrorist un-armored vehicle using a swarm of UCAV in urban environment reducing collateral damages to a maximum extent. This project won the LEONARDO Innovation award in 2016. AMX aircraft: Flight Simulator development for testing FCS, Avionics: development of attack modes, navigation modes. EF 2000 (Eurofighter Typhoon). Flight Simulator development for fine tuning and testing of avionics system. C27J Spartan: Flight Simulator development for fine tuning and testing of avionics system and engine integration. ISR systems Detect and Avoid (ACAS) Menber of NATO RTO-TR-SAS-013 Aircrew Mission Training via Distributed Simulation Member of NATO Industry Advisory Group (NIAG) SG 128 Study on Airborne C-IED

Related posts

Euler Angles

Comments