^{*}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

A 3D gyroscope provides measurements of angular velocities around its three intrinsic orthogonal axes, enabling angular orientation estimation. Because the measured angular velocities represent simultaneous rotations, it is not appropriate to consider them sequentially. Rotations in general are not commutative, and each possible rotation sequence has a different resulting angular orientation. None of these angular orientations is the correct simultaneous rotation result. However, every angular orientation can be represented by a single rotation. This paper presents an analytic derivation of the axis and angle of the single rotation equivalent to three simultaneous rotations around orthogonal axes when the measured angular velocities or their proportions are approximately constant. Based on the resulting expressions, a vector called the simultaneous orthogonal rotations angle (SORA) is defined, with components equal to the angles of three simultaneous rotations around coordinate system axes. The orientation and magnitude of this vector are equal to the equivalent single rotation axis and angle, respectively. As long as the orientation of the actual rotation axis is constant, given the SORA, the angular orientation of a rigid body can be calculated in a single step, thus making it possible to avoid computing the iterative infinitesimal rotation approximation. The performed test measurements confirm the validity of the SORA concept. SORA is simple and well-suited for use in the real-time calculation of angular orientation based on angular velocity measurements derived using a gyroscope. Moreover, because of its demonstrated simplicity, SORA can also be used in general angular orientation notation.

Gyroscopes provide angular velocity measurements with respect to inertial space. With recent developments in gyroscope technology, their usage in various fields is observably increasing. For example, highly accurate fibre optic gyroscopes [

In combination with accelerometers, gyroscopes are used in position, velocity, and attitude computation in a variety of navigation and motion tracking applications for aircraft, land and underwater vehicles, and robots (e.g., [

By providing angular velocity measurements, gyroscopes can also be used in angular orientation estimation. In general, angular orientation is the position of a rigid body intrinsic coordinate system relative to a reference coordinate system with the same origin. It can be indicated with a rotation needed to move the first system, initially aligned with the second, to its new position. The reference and intrinsic coordinate systems are considered Cartesian, with axes denoted with _{r}, _{r}, _{r} and

In gyroscope measurement, the gyroscope is considered the rigid body and inertial space the reference system; the measured angular velocities indicate the rotation needed to move the sensor to its new position. To fully specify angular orientation in inertial space, the gyroscope must be suitable for measuring angular velocities around all three intrinsic coordinate system axes (

Because rotations in general are not commutative, one cannot treat the three simultaneous angular velocities measured with a 3D gyroscope as sequential rotations. There are six possible sequences of three orthogonal rotations and, thus, six different angular orientations. None of them are correct. Infinitesimally small rotations have been shown to be commutative [

Therefore, the effect of the three simultaneous rotations can be approximated by a sequence of sufficiently small sequential rotations around orthogonal axes. Which of the six possible sequences is used for individual rotations is of no importance. The smaller the angles of the individual rotations, the smaller the estimated angular orientation error. However, more processing power and time are required.

The three simultaneous orthogonal rotations measured with a 3D gyroscope represent a single rotation around a certain axis for a certain angle

Based on SORA, the angular orientation of a rigid body can be calculated from the measured angular velocities when they or their proportions are approximately constant. This process requires just one step and thus avoids computing the infinitesimal rotation approximation.

SORA indicates a unique angular orientation of an object of interest in inertial space. Because of its simplicity, not only is it suitable for the real-time calculation of angular orientation based on angular velocity measurements obtained using a gyroscope, but it is also useful for general angular orientation notation.

This paper is organised as follows. In Section 2, we present the derivation of the axis and angle of the single rotation equivalent to the three simultaneous rotations around orthogonal axes. On this basis, we define SORA and emphasise its applicability. For clarity of presentation, all longer derivations are presented in the

Let us consider a 3D gyroscope providing measurements of angular velocities _{x}, _{y} and _{z} around its three intrinsic orthogonal axes,

Any angular orientation can be represented using a single rotation around a certain axis that rotates the object from its initial position to its new position. For this reason, the angular orientation of the gyroscope at the end of interval

If we observe the rotating gyroscope in the reference coordinate system, we will see that the orientations of the rotation axes constantly change, which makes further analysis more difficult. Thus, it is much more convenient to examine the rotation of the reference frame in the gyroscope intrinsic coordinate system. In this case, the orientations of the rotation axes do not change. The reference frame rotates around them with the same angular velocities in the opposite direction, _{x}_{y}_{z}

We have shown that simultaneous rotations of the reference coordinate system with angular velocities −_{x}_{y}_{z}_{x}_{y}_{z}

Suppose now that the reference coordinate system is rotating simultaneously around sensor intrinsic axes _{x}_{y}_{z}

Due to rotation non-commutativity, _{x}_{y}_{z}_{x}_{y}_{z}

If _{x}_{y}_{z}_{app}(_{app}(_{x}_{y}_{z}

Let us now increase _{app}(_{app}(

This step completes the equivalent rotation axis and angle derivation. From

Because we derived this vector from simultaneous rotations around orthogonal axes, we named it the simultaneous orthogonal rotations angle (SORA). The components of SORA are the angles of three simultaneous rotations around coordinate system axes. The orientation and magnitude of this vector are equal to the equivalent single rotation axis and angle, respectively. As long as our initial condition that angular velocities must be constant is met, SORA will represent the resulting angular orientation of three simultaneous rotations around orthogonal axes.

In fact, the previously stated holds as long as the orientation of the rotation axis is constant. This is true even if the measured angular velocities change, as long as their proportions are the same. Then, in each of the _{x}_{y}_{z}

SORA indicates a unique angular orientation of an object of interest relative to some reference frame. Because of its simplicity, it is both suitable for the real-time calculation of angular orientation based on angular velocity measurements obtained using a gyroscope and useful for general angular orientation notation.

Using gyroscope measurements that provide rotation angle estimation, it is also reasonable to combine angular velocities around three orthogonal axes in vector form:

Such notation is appropriate for a 3D gyroscope sensor because the components of the angular velocity vector Ω in

To confirm the validity of the SORA concept, we performed test measurements using a stable rotation speed gramophone and a 3D gyroscope and accelerometer sensor mounted on the gramophone rotation disk. The test measurement scheme and the intrinsic _{r} _{r} _{r} coordinate systems are illustrated in

We used a Sanyo turntable gramophone and set the turntable rotation speed to 45 r.p.m. The 3D sensor was comprised of one dual-axis ST LPR530AL gyroscope, one single-axis ST LPY530AL gyroscope and one three-axis ST LIS331HH linear accelerometer. The sensor was constructed in such a way that its sensitive axes were mutually orthogonal. Both of the MEMS gyroscopes use a sensing principle based on the measurement of the Coriolis forces. The gyroscopes convert angular velocity information into an analogue DC voltage at its output. The MEMS accelerometer output corresponding to each axis was an analogue voltage proportional to the projection of the total acceleration of the sensor along its direction. The analogue output of both gyroscopes and the accelerometer was sent to an analogue-to-digital converter. A wireless module was used to capture sensor digital outputs, which were stored on a laptop. The sampling rate was 1,024 Hz. The gyroscope and accelerometer outputs were obtained in units of [°/s] and [mg], respectively. According to the device specifications, the maximum measurable angular velocity is ±300°/s, whereas the accelerometer measurement range is ±6/±12/±24 g. Zero-level measurements were performed when there were no angular velocities or external forces present. Mean values obtained were subtracted from all further measurements.

We also performed sensor calibration. The following procedure was repeated for each sensor intrinsic axis. The sensor was oriented so that its sensitive axis was aligned with the gravity force. The ratio between the known gravity constant and the mean measurement output value when the sensor was at rest was used as the accelerometer scaling factor. To obtain the gyroscope scaling factor, the sensor was rotated at the centre of the gramophone rotation disk around that axis. The ratio between the known gramophone rotation disk speed and the mean measurement output value was used as the gyroscope scaling factor.

To validate the SORA concept, we performed rotation measurements for several arbitrary orientations of the sensor relative to the rotating disk at the disk centre. One such measurement output set is presented in

Gyroscope measurement outputs _{x}_{y}_{z}_{rot} = 1 s, we obtained _{rot} = 1,024 samples, which we averaged:

Based on _{rot} = 1 s rotation following

We then matched the results obtained to the actual sensor rotation axis and angle. For specific sensor orientation during the rest period, we used gravity projections on sensor intrinsic axes that were determined based on accelerometer measurement outputs _{x}_{y}_{z}_{rest} = 1 s, we obtained _{rest} = 1,024 samples, which we averaged:

The actual rotation angle was obtained based on the gramophone rotation disk angular velocity of 45 r.p.m.:

Using

The relative norm error of the rotation axis of

We performed 10 measurement instances. According to the Kolmogorov-Smirnov test at significance level α = 0.05, the null-hypothesis that random errors _{v}_{φ}

The concept of a vector simultaneous orthogonal rotations angle (SORA), as presented in this paper, is well suited for calculating angular orientation based on 3D gyroscope measurement outputs that are approximately constant or in constant proportion. When this condition is met, the orientation of the rotation axis does not change and the components of SORA are equal to the angles of three simultaneous rotations measured with a gyroscope. The three simultaneous rotations resulting from angular orientation can be represented with one single rotation. A derivation of this equivalent single rotation axis and angle is provided here. The axis of the equivalent single rotation is aligned with SORA, whereas the rotation angle is equal to its magnitude. Therefore, SORA is actually a rotation vector.

According to the newly proposed vector SORA, as long as angular velocities or their proportions are approximately constant, angular orientation calculation only requires a single step. This fact makes it possible to avoid computing the iterative infinitesimal rotation approximation. Test measurements performed show that SORA is suitable for angular orientation estimation when average values of approximately constant angular velocities are considered.

SORA is appropriate for use for a number of applications that require angular orientation information, including navigation and motion tracking. As has been confirmed using test measurements, SORA is simple and suitable for the real-time calculation of angular orientation based on gyroscope angular velocity measurements.

Not only is SORA well suited for representing angular orientation based on actual gyroscope measurements, but it can also be used in generalised angular orientation notation. In representing angular orientation with simultaneous rotations, we can avoid the problem of rotation non-commutativity. The three simultaneous rotation angles, as included in SORA, represent a unique angular orientation, while considering only right-hand rotations around three orthogonal axes yields six different rotation sequences. Each of these rotation sequences specifies a different angular orientation. Because of this, SORA is much more suitable for rotation presentation purpose than widely used Euler angles. Moreover, SORA helps interpret the meaning of the rotation vector with measurable quantities.

The research presented in this paper was performed as part of the research program “Algorithms and Optimisation Procedures in Telecommunications”, financed by the Slovenian Research Agency.

Let us consider simultaneous rotations around three orthogonal axes _{x}_{y}_{z}_{x}_{y}_{z}

If _{x}_{y}_{z}_{app}(_{app}(n) denote approximations of _{x}_{y}_{z}_{x}_{x}_{y}_{y}_{z}_{z}

Rotating a vector _{app}(_{app}(

Based on _{app}(_{app}(n), _{app}(

To obtain the rotation angle Δ_{app}(n) from _{app}(n), _{app}(_{app}(n), _{app}(

Rotation angle determination.

Increasing n beyond all limits, we find that the small rotations become infinitesimally small and thus commutative [_{app}(_{app}(n) then approach the exact values for

Given

Inserting

From

Using the l’Hospital rule for limits, the above equation can be expressed as:

A vector orthogonal to _{app}(_{y}_{z}

Inserting normalised vectors

Using Mathematica [

Reference and 3D gyroscope intrinsic coordinate systems, denoted by _{r}, _{r}, _{r} and

Vector SORA proof-of-concept measurement scheme. The reference coordinate system axes _{r} _{r}, and _{r} are initially aligned with the intrinsic axes

Sensor angular velocity and acceleration outputs during rotation around an arbitrary axis.