# On the Interpretation of 3D Gyroscope Measurements

Authors: Sara Stančin; Sašo Tomažič
Journal: Journal of Sensors
 (2018)

---

## Abstract

We demonstrate that the common interpretation of angular velocities measured by a 3D gyroscope as being sequential Euler rotations introduces a systematic error in the sensor orientation calculated during motion tracking. For small rotation angles, this systematic error is relatively small and can be mistakenly attributed to different sources of sensor inaccuracies, including output bias drift, inaccurate sensitivities, and alignments of the sensor sensitivity axes as well as measurement noise. However, even for such small angles, due to accumulation over time, the erroneous rotation interpretation can have a significant negative impact on the accuracy of the computed angular orientation. We confirm our findings using real-case measurements in which the described systematic error just worsens the deleterious effects typically attributed to an inaccurate sensor and random measurement noise. We demonstrate that, in general, significant improvement in the angular orientation accuracy can be achieved if the measured angular velocities are correctly interpreted as simultaneous and not as sequential rotations.


---

## Body

## 1. Introduction

With the ongoing developments in gyroscope-manufacturing technology, their use in various fields is observably increasing [1–29]. 3D gyroscopes are integral components of inertial navigation units [5–8]; have been shown feasible for motion capture, classification, and analysis [9–24]; and are essential elements of the assistive, rehabilitative, and wearable health technology [21, 22]. However, the utility of 3D gyroscopes can be diminished without an associated meaningful interpretation of the measured values and computation of the angular orientation.A 3D gyroscope measures the angular velocity of its rotation in a reference frame along its three sensitivity axes. For an ideal sensor, these outputs are equal to the projections of the rotation angular velocity on the sensitivity, that is, intrinsic coordinate system axes. In the measurement context, the sensor is hence simultaneously rotating around its three coordinate system axes. Properly combined, these three rotations are equivalent to the actual rotation of the sensor in the reference frame.Misleading practices arise from interpreting the three measured angular velocities as being sequential, that is, Euler rotations. As the three angular velocities that a 3D gyroscope provides represent simultaneous rotations, in general, the use of Euler angles introduces a systematic error in the calculated angular orientation. It is only in the case of infinitesimal rotations, which are shown to be commutative, that the sequential and simultaneous rotations around orthogonal axes result in the same angular orientation [30, 31].There are a number of literature contributions [23–28] that present otherwise promising applications of 3D gyroscopes that adopt the above-emphasized misleading interpretations. For this reason, we find it necessary to emphasize in more detail the realistic effects of the gyroscope measurement interpretation. Our objective is therefore to investigate the systematic error that arises from erroneously interpreting the 3D gyroscope measurements and quantify its effect on the accuracy of the computed angular orientation.The paper is organized as follows. In Section2, we resolve the problem of the correct interpretation of 3D gyroscope measurements by invoking the expressions for the rotation that is equivalent to the three simultaneous orthogonal rotations measured by a 3D gyroscope, as derived in [30], and present proper means for computing the angular orientation.To isolate and quantify the deleterious effect of the erroneous rotation interpretation on the angular orientation accuracy, we consider, in Section3, an ideal 3D gyroscope and a simple rotation at a constant angular velocity around a fixed rotation axis. In Section 4, we present angular orientation error reduction that can be achieved when using a real, imperfect 3D gyroscope in real-case measurements in which the described systematic error obfuscates the accuracy of the computed angular orientation along with typical errors attributed to an inaccurate sensor and random measurement noise.Although the manufacturing technologies of low-cost gyroscopes is improving rapidly, these sensors have been shown to suffer from output bias drift and inaccurate sensitivities and alignments of the sensor sensitivity axes. As it is our aim to quantify the deleterious effect of the erroneous rotation interpretation, we here consider a properly calibrated sensor. Improving the accuracy of 3D gyroscopes has been the subject of a number of ongoing research works and is presented elsewhere [32–35]. Finally, in Section 5, we summarize our results and draw the conclusions.In all subsequent sections, we obey the following notation rules: bold letters denote matrices and vectors, and large and small italics denote scalars.


## 2. 3D Gyroscope Measurements Interpretation

### 2.1. Simultaneous Rotations

Let us consider an ideal 3D gyroscope that rotates at constant angular velocityω around a rotation axis v in a 3D reference frame. It provides measurements of simultaneous angular velocities ωx, ωy, and ωz around its three orthogonal sensor intrinsic coordinate system axes, x, y, and z, respectively. In [30, 36], we have derived a rotation vector Φ called Simultaneous Orthogonal Rotation Angle (SORA), which we can use to interpret the measured values correctly. The components of this vector are equal to the rotation angles of the three simultaneous rotations around the sensor axes:
(1)Φ=TωxωyωzT=φxφyφzT,where ωx, ωy, and ωz are the three measured angular velocities; φx, φy, and φz are the rotation angles; and T is the measurement interval.As long as the axisv of rotation is constant during the measurement interval T, the orientation and magnitude of vector SORA Φ (1) are respectively equal to the axis and angle of the actual rotation of the gyroscope. It holds that
(2)v=vxvyvz=1φx2+φy2+φz2φxφyφz=1ωx2+ωy2+ωz2ωxωyωz,(3)φ=Tωx2+ωy2+ωz2=φx2+φy2+φz2.From (1)–(3), we can conclude that the gyroscope measures the projections of its rotation angular velocity vector
(4)ω=ΦT=ωxωyωzT,on its sensitivity axes. Note that, in general, due to rotation noncommutativity, the rotation (1) and angular velocity vectors (4) cannot be considered as real vectors. This is possible only in the particular case of a constant rotation axis.Using the rotation axis (2) and angle (3), we can compute the angular orientation of the sensor intrinsic coordinate system axes in the reference frame. We introduce R(φ,v) to denote a 3 × 3 rotation matrix associated with the axis (2) and angle (3) of rotation:
(5)Rφ,v=c+vx21−cvxvy1−c−vzsvxvz1−c+vysvxvy1−c+vzsc+vy21−cvyvz1−c−vxsvxvz1−c−vysvzvy1−c+vxsc+vz21−c,where c and s respectively denote cos(φ) and sin(φ).We further introduce 3 × 3 matricesSinit and Sfinsim to represent the sensor initial and final orientation in the reference frame. The columns of Sinit and Sfinsim are 3 × 1 unit vectors representing the initial and final orientations, respectively, of the sensor coordinate axes. We can write
(6)Sfinsim=Sinit⋅Rφ,v.The order of matricesSinit and R(φ,v) in multiplication in (6) accounts for the fact that the rotation axis v (2) is given in the 3D gyroscope intrinsic coordinate system.


### 2.2. Sequential Rotations

As opposed to the three rotations represented with SORA (1), Euler angles represent a sequence of three elemental rotations, that is, rotations about the axes of the (intrinsic or reference) coordinate system. If only rotations around different intrinsic coordinate system axes are considered, six sequences are possible: x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, and y-x-z. Because rotations are in general not commutative, each of these six sequences brings to a different final angular orientation, none of which is correct when all three rotations are simultaneous, as is the case when the 3D gyroscope rotates around an arbitrary axis. Using any of these sequences in calculating the angular orientation of the sensor introduces a systematic error.As the three coordinate axes of the sensor are equivalent, we can use any of the aforementioned sequences to quantify the error in the calculated angular orientation. We chose the sequencez-y-x, also known as the aerospace sequence with rotation angles called yaw, pitch, and roll.Using anglesφz,φy, and φx obtained with a 3D gyroscope in place of the yaw, pitch, and roll, respectively, we can calculate the final orientation of the sensor Sfinseq according to the sequential rotation interpretation as
(7)Sfinseq=Sinit⋅REφz,φy,φx.RE(φz, φy, φx) (7) denotes a 3 × 3 Euler rotation matrix composite:
(8)REφz,φy,φx=Rφz,z⋅Rφy,y⋅Rφx,x=cyczsxsycz−cxszcxsycz+sxszcyszcxcz+sxsyszcxsysz−sxcz−sysxcycxcy,where sk and ck respectively denote sin(φk) and cos(φk), k representing one of the axes, x, y, or z.The orientation of an aircraft may indeed be represented in a convenient and intuitive way with the three Euler orientations. However, Euler angles are not equal to the angles measured with a 3D gyroscope, and obviously, their use in this context is erroneous. Comparing (5) and (8), we can conclude that rotation matrices for simultaneous (5) and sequential (8) rotation interpretations are not equal and that relying on the latter will not yield the correct result in the case of 3D gyroscope measurements.Let us look at a simple illustrative example. Suppose that the sensor rotates with an angular velocityω = 360°/s around the unit axis
(9)v=111T3,for T = 1 s. After this rotation time, the orientation of the sensor is obviously equal to its initial orientation; thus, the rotation matrix for the simultaneous interpretation (5) is actually, in this case, the identity matrix. We can write
(10)Rφ,v=I.By considering (1)–(4), we can conclude that, in this case, the angles measured with an ideal gyroscope would be
(11)φx=φy=φz=360∘3.Substituting these angles for the yaw, pitch, and roll Euler angles in (8) yields
(12)REφz,φy,φx=0.782−0.605−0.1470.4130.6800.6060.4670.4130.702.The obtained rotation matrixRE(φz, φy, φx) is not equal to the identity matrix I and would obviously bring to an incorrect angular orientation:
(13)REφz,φy,φx≠Rφ,v.In practice, much smaller angles of rotations are used in calculations of final angular orientation. As the rotation angles become ever smaller, the difference between the simultaneous and sequential rotation results becomes ever more negligible. However, even for small angles, the error in the computed angular orientation accumulates over time and can become significant, as we will present and discuss in the next sections.


## 2.1. Simultaneous Rotations

Let us consider an ideal 3D gyroscope that rotates at constant angular velocityω around a rotation axis v in a 3D reference frame. It provides measurements of simultaneous angular velocities ωx, ωy, and ωz around its three orthogonal sensor intrinsic coordinate system axes, x, y, and z, respectively. In [30, 36], we have derived a rotation vector Φ called Simultaneous Orthogonal Rotation Angle (SORA), which we can use to interpret the measured values correctly. The components of this vector are equal to the rotation angles of the three simultaneous rotations around the sensor axes:
(1)Φ=TωxωyωzT=φxφyφzT,where ωx, ωy, and ωz are the three measured angular velocities; φx, φy, and φz are the rotation angles; and T is the measurement interval.As long as the axisv of rotation is constant during the measurement interval T, the orientation and magnitude of vector SORA Φ (1) are respectively equal to the axis and angle of the actual rotation of the gyroscope. It holds that
(2)v=vxvyvz=1φx2+φy2+φz2φxφyφz=1ωx2+ωy2+ωz2ωxωyωz,(3)φ=Tωx2+ωy2+ωz2=φx2+φy2+φz2.From (1)–(3), we can conclude that the gyroscope measures the projections of its rotation angular velocity vector
(4)ω=ΦT=ωxωyωzT,on its sensitivity axes. Note that, in general, due to rotation noncommutativity, the rotation (1) and angular velocity vectors (4) cannot be considered as real vectors. This is possible only in the particular case of a constant rotation axis.Using the rotation axis (2) and angle (3), we can compute the angular orientation of the sensor intrinsic coordinate system axes in the reference frame. We introduce R(φ,v) to denote a 3 × 3 rotation matrix associated with the axis (2) and angle (3) of rotation:
(5)Rφ,v=c+vx21−cvxvy1−c−vzsvxvz1−c+vysvxvy1−c+vzsc+vy21−cvyvz1−c−vxsvxvz1−c−vysvzvy1−c+vxsc+vz21−c,where c and s respectively denote cos(φ) and sin(φ).We further introduce 3 × 3 matricesSinit and Sfinsim to represent the sensor initial and final orientation in the reference frame. The columns of Sinit and Sfinsim are 3 × 1 unit vectors representing the initial and final orientations, respectively, of the sensor coordinate axes. We can write
(6)Sfinsim=Sinit⋅Rφ,v.The order of matricesSinit and R(φ,v) in multiplication in (6) accounts for the fact that the rotation axis v (2) is given in the 3D gyroscope intrinsic coordinate system.


## 2.2. Sequential Rotations

As opposed to the three rotations represented with SORA (1), Euler angles represent a sequence of three elemental rotations, that is, rotations about the axes of the (intrinsic or reference) coordinate system. If only rotations around different intrinsic coordinate system axes are considered, six sequences are possible: x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, and y-x-z. Because rotations are in general not commutative, each of these six sequences brings to a different final angular orientation, none of which is correct when all three rotations are simultaneous, as is the case when the 3D gyroscope rotates around an arbitrary axis. Using any of these sequences in calculating the angular orientation of the sensor introduces a systematic error.As the three coordinate axes of the sensor are equivalent, we can use any of the aforementioned sequences to quantify the error in the calculated angular orientation. We chose the sequencez-y-x, also known as the aerospace sequence with rotation angles called yaw, pitch, and roll.Using anglesφz,φy, and φx obtained with a 3D gyroscope in place of the yaw, pitch, and roll, respectively, we can calculate the final orientation of the sensor Sfinseq according to the sequential rotation interpretation as
(7)Sfinseq=Sinit⋅REφz,φy,φx.RE(φz, φy, φx) (7) denotes a 3 × 3 Euler rotation matrix composite:
(8)REφz,φy,φx=Rφz,z⋅Rφy,y⋅Rφx,x=cyczsxsycz−cxszcxsycz+sxszcyszcxcz+sxsyszcxsysz−sxcz−sysxcycxcy,where sk and ck respectively denote sin(φk) and cos(φk), k representing one of the axes, x, y, or z.The orientation of an aircraft may indeed be represented in a convenient and intuitive way with the three Euler orientations. However, Euler angles are not equal to the angles measured with a 3D gyroscope, and obviously, their use in this context is erroneous. Comparing (5) and (8), we can conclude that rotation matrices for simultaneous (5) and sequential (8) rotation interpretations are not equal and that relying on the latter will not yield the correct result in the case of 3D gyroscope measurements.Let us look at a simple illustrative example. Suppose that the sensor rotates with an angular velocityω = 360°/s around the unit axis
(9)v=111T3,for T = 1 s. After this rotation time, the orientation of the sensor is obviously equal to its initial orientation; thus, the rotation matrix for the simultaneous interpretation (5) is actually, in this case, the identity matrix. We can write
(10)Rφ,v=I.By considering (1)–(4), we can conclude that, in this case, the angles measured with an ideal gyroscope would be
(11)φx=φy=φz=360∘3.Substituting these angles for the yaw, pitch, and roll Euler angles in (8) yields
(12)REφz,φy,φx=0.782−0.605−0.1470.4130.6800.6060.4670.4130.702.The obtained rotation matrixRE(φz, φy, φx) is not equal to the identity matrix I and would obviously bring to an incorrect angular orientation:
(13)REφz,φy,φx≠Rφ,v.In practice, much smaller angles of rotations are used in calculations of final angular orientation. As the rotation angles become ever smaller, the difference between the simultaneous and sequential rotation results becomes ever more negligible. However, even for small angles, the error in the computed angular orientation accumulates over time and can become significant, as we will present and discuss in the next sections.


## 3. Angular Orientation Systematic Error

### 3.1. Angular Orientation Error Measures

We express the angular orientation errorε in terms of the orientation deviation angle, that is, the angle of a rotation that would correct the calculated orientation of the sensor:
(14)ε=arccostrSfin⋅SfincalT−12,where Sfin is the 3 × 3 matrix of the actual final orientation and Sfincal is the 3 × 3 matrix of the calculated state.Due to integration, the error in the computed angular orientation accumulates over time. To make the results comparable across different simulations and measurements, we normalize the deviation angleε (14) with respect to the total time of rotation T:
(15)εnorm=εT.


### 3.2. Methodology

To isolate the effect of the erroneous rotation interpretation, we consider an ideal 3D gyroscope that provides time-discrete samples of angular velocities at sample momentsnTs, where Ts is the sampling interval:
(16)Ts=1fs,and fs is the sampling rate. We thus obtain N = T fs samples of the angular velocity vector ω (4).We further consider the sensor and reference frame coordinate axes to be initially aligned. The initial orientation of the sensor is hence given by the identity matrix:(17)Sinit=I.For this investigation, we finally consider that the sensor rotates forT = 1 s with a constant angular velocity ω = 360°/s, around the unit axis:
(18)v=1113.For this example, the initial and actual final orientations of the sensor are hence identical. We can write(19)Sfin=Sinit=I.For each of theN rotation samples, the sensor rotates for an angle Δφ = 360°/N around the constant axis v. As we are assuming the gyroscope is accurate and the rotation axis is constant throughout the rotation, we can conclude that all samples of the measured angular velocities are equal to
(20)ωx,n=ωy,n=ωz,n=360∘3s,1≤n≤N,and that all angles of rotations around the sensor axes are equal to
(21)Δφs=φx,n=φy,n=φz,n=360∘N3,1≤n≤N.We can finally conclude that for all samplesn, the angle of rotation calculated according to (3) is equal to
(22)φn=Δφ=φx,n2+φy,n2+φz,n2=360∘N,1≤n≤N.It is obvious that combining allN rotations in a single rotation matrix would yield the identity matrix I. Considering this and (19) for calculating the resulting angular orientation (6), we can hence write
(23)Sfinsim=Sinit⋅Rφ,v=Sinit⋅I=Sinit=Sfin.This implies that interpreting the rotations as simultaneous by considering SORA (1)–(4) does not produce an error in the calculated angular orientation.To calculate the final angular orientation of the sensor according to the sequential rotation interpretation (7), we multiply the Euler rotation matrix RE(Δφs, Δφs, Δφs) (8) by itself N − 1 times:
(24)Sfinseq=SinitREΔφs,Δφs,ΔφsN.By substitutingSfinseq for Sfincal in (14), we can calculate the angular orientation error for the sequential rotation interpretation. Because both the initial and actual final angular orientations of the sensor are given with the identity matrix (19), (14) simplifies to
(25)ε=arccostrSfinseq−12=arccostrREΔφs,Δφs,ΔφsN−12.Total measurement time is set toT = 1 s, so the normalized deviation angle (15) is equal to
(26)εnorm=εs.As Δφs decreases with the sampling rate and as small enough angle rotations become nearly commutative, we expect both error measures, ε (25) and εnorm (26), to decrease with the sampling rate too.


### 3.3. Results and Discussion

The normalized orientation deviation anglesεnorm obtained according to (26) for different sampling frequencies decreasing from 10,000 Hz to 4 Hz in a logarithmic scale are presented in Figure 1. Different sampling frequencies correspond to different angles of the gyroscope rotations Δφ, increasing from 0.036° to 90°.Figure 1
Angular orientation systematic error that arises from erroneously interpreting three simultaneous rotations measured using a 3D gyroscope as sequential rotations. For all examples presented, the sensor rotates for 360° in one second. The examples differ with respect to the sampling frequency. Different sampling frequencies correspond to different magnitudes of angles of the individual rotation steps. We can observe that the error increases with the magnitude of the individual rotation angles. For large angles, angular orientation becomes completely unreliable.As expected, the results obtained show that the angular orientation error that is a consequence of erroneously interpreting the three simultaneous orthogonal rotations measured using a 3D gyroscope as sequential increases with the magnitude of the angles of the considered rotation steps.We can observe that by substantially lowering the sampling frequency, that is, enlarging the angle of individual rotation Δφ, the magnitude of the error can become so significant that the results become completely unreliable, even after only one second of rotation. In the considered measurement scenario, for a sampling frequency of 4 Hz, the individual rotation angle is Δφ = 90°. For an angle of that magnitude, the normalized error in the angular orientation calculated according to the sequential rotation interpretation is εnorm = 73.16°/s.Due to accumulation over time, the absolute error in the calculated angular orientation cannot be neglected, even for small angles. For example, for a common sampling frequencyfs = 2048 Hz, the individual rotation angle is 0.176° and the systematic error in the computed angular orientation ε exceeds 6° after one minute of rotation.It is also worth noting that as the rotation axis is constant throughout the rotation, by correctly interpreting the measured angular velocities, we can compute the final angular orientation in a single step. If applied when interpreting the measured rotations as sequential, the same approach would result in even larger errors than presented here.


## 3.1. Angular Orientation Error Measures

We express the angular orientation errorε in terms of the orientation deviation angle, that is, the angle of a rotation that would correct the calculated orientation of the sensor:
(14)ε=arccostrSfin⋅SfincalT−12,where Sfin is the 3 × 3 matrix of the actual final orientation and Sfincal is the 3 × 3 matrix of the calculated state.Due to integration, the error in the computed angular orientation accumulates over time. To make the results comparable across different simulations and measurements, we normalize the deviation angleε (14) with respect to the total time of rotation T:
(15)εnorm=εT.


## 3.2. Methodology

To isolate the effect of the erroneous rotation interpretation, we consider an ideal 3D gyroscope that provides time-discrete samples of angular velocities at sample momentsnTs, where Ts is the sampling interval:
(16)Ts=1fs,and fs is the sampling rate. We thus obtain N = T fs samples of the angular velocity vector ω (4).We further consider the sensor and reference frame coordinate axes to be initially aligned. The initial orientation of the sensor is hence given by the identity matrix:(17)Sinit=I.For this investigation, we finally consider that the sensor rotates forT = 1 s with a constant angular velocity ω = 360°/s, around the unit axis:
(18)v=1113.For this example, the initial and actual final orientations of the sensor are hence identical. We can write(19)Sfin=Sinit=I.For each of theN rotation samples, the sensor rotates for an angle Δφ = 360°/N around the constant axis v. As we are assuming the gyroscope is accurate and the rotation axis is constant throughout the rotation, we can conclude that all samples of the measured angular velocities are equal to
(20)ωx,n=ωy,n=ωz,n=360∘3s,1≤n≤N,and that all angles of rotations around the sensor axes are equal to
(21)Δφs=φx,n=φy,n=φz,n=360∘N3,1≤n≤N.We can finally conclude that for all samplesn, the angle of rotation calculated according to (3) is equal to
(22)φn=Δφ=φx,n2+φy,n2+φz,n2=360∘N,1≤n≤N.It is obvious that combining allN rotations in a single rotation matrix would yield the identity matrix I. Considering this and (19) for calculating the resulting angular orientation (6), we can hence write
(23)Sfinsim=Sinit⋅Rφ,v=Sinit⋅I=Sinit=Sfin.This implies that interpreting the rotations as simultaneous by considering SORA (1)–(4) does not produce an error in the calculated angular orientation.To calculate the final angular orientation of the sensor according to the sequential rotation interpretation (7), we multiply the Euler rotation matrix RE(Δφs, Δφs, Δφs) (8) by itself N − 1 times:
(24)Sfinseq=SinitREΔφs,Δφs,ΔφsN.By substitutingSfinseq for Sfincal in (14), we can calculate the angular orientation error for the sequential rotation interpretation. Because both the initial and actual final angular orientations of the sensor are given with the identity matrix (19), (14) simplifies to
(25)ε=arccostrSfinseq−12=arccostrREΔφs,Δφs,ΔφsN−12.Total measurement time is set toT = 1 s, so the normalized deviation angle (15) is equal to
(26)εnorm=εs.As Δφs decreases with the sampling rate and as small enough angle rotations become nearly commutative, we expect both error measures, ε (25) and εnorm (26), to decrease with the sampling rate too.


## 3.3. Results and Discussion

The normalized orientation deviation anglesεnorm obtained according to (26) for different sampling frequencies decreasing from 10,000 Hz to 4 Hz in a logarithmic scale are presented in Figure 1. Different sampling frequencies correspond to different angles of the gyroscope rotations Δφ, increasing from 0.036° to 90°.Figure 1
Angular orientation systematic error that arises from erroneously interpreting three simultaneous rotations measured using a 3D gyroscope as sequential rotations. For all examples presented, the sensor rotates for 360° in one second. The examples differ with respect to the sampling frequency. Different sampling frequencies correspond to different magnitudes of angles of the individual rotation steps. We can observe that the error increases with the magnitude of the individual rotation angles. For large angles, angular orientation becomes completely unreliable.As expected, the results obtained show that the angular orientation error that is a consequence of erroneously interpreting the three simultaneous orthogonal rotations measured using a 3D gyroscope as sequential increases with the magnitude of the angles of the considered rotation steps.We can observe that by substantially lowering the sampling frequency, that is, enlarging the angle of individual rotation Δφ, the magnitude of the error can become so significant that the results become completely unreliable, even after only one second of rotation. In the considered measurement scenario, for a sampling frequency of 4 Hz, the individual rotation angle is Δφ = 90°. For an angle of that magnitude, the normalized error in the angular orientation calculated according to the sequential rotation interpretation is εnorm = 73.16°/s.Due to accumulation over time, the absolute error in the calculated angular orientation cannot be neglected, even for small angles. For example, for a common sampling frequencyfs = 2048 Hz, the individual rotation angle is 0.176° and the systematic error in the computed angular orientation ε exceeds 6° after one minute of rotation.It is also worth noting that as the rotation axis is constant throughout the rotation, by correctly interpreting the measured angular velocities, we can compute the final angular orientation in a single step. If applied when interpreting the measured rotations as sequential, the same approach would result in even larger errors than presented here.


## 4. Real-Case Measurement

### 4.1. Methodology

To observe the implications of rotation interpretation in real-case measurements, in which the described systematic error obfuscates the accuracy of the computed angular orientation along with typical errors attributed to an inaccurate sensor and random measurement noise, we rely on real motion tracking.We used the MEMS 3D gyroscope ITG3200-3, manufactured by InvenSense (Sunnyvale, CA, USA) [37], providing for 16-bit outputs in a ±2000°/s range. The sampling rate of the sensor’s analog-to-digital converter was set to 1000 Hz. However, to relate to a real-time measurement environment more realistically and to support computational efficiency, the obtained signals were downsampled to fs = 50 Hz. Prior to the measurements, we performed static calibration of the sensor according to the procedure described in [35].We performed seven measurements. In each of these, we manually rotated the sensor. At the end of each measurement, we positioned the sensor in the exact same orientation as it was initially. This procedure enabled us to estimate the angular orientation accuracy as the deviation of the sensor’s final (computed) orientation from its initial orientation and compare both interpretations’ results in a simple manner, avoiding the use of additional equipment.We rotated the sensor in such a way that for each measurement, the dynamics of the rotation was larger than that for the previous measurement. As has been elaborated in Section2, as long as the axis of the gyroscope rotation is constant during the measurement interval, the orientation and the magnitude of vector SORA (1) are respectively equal to the axis and angle of the actual rotation of the gyroscope. For a general measurement scenario, however, it is necessary to account for possible rotation axis changes during Ts. By progressively enlarging the dynamics of the measured rotations, we could quantify the effect that these (immeasurable) rotation axis changes have on the angular orientation accuracy.Otherwise than stated, the motion of the gyroscope, including its rotation, was arbitrary. The obtained angular velocities are presented in Figure2.Figure 2
Angular velocities obtained using a calibrated 3D gyroscope in a noisy environment and used for estimating the effect of the erroneous rotation interpretation on angular orientation accuracy in real-case measurements. The angular orientation of the sensor was computed and evaluated after each of the seven measurements. The dynamics of the angular velocities was progressively increasing from the first to the last measurements. The motion was otherwise arbitrary.By assuming that, on average, the change in the angular velocity between two consecutive samples reflects the change during samples, that is, the measurement intervalsn, we can use the following measure of angular velocity dynamics:
(27)Δω¯=1N−1∑n=2Nωn−ωn−1,to represent rotation axes changes during Ts.Different sources of measurement inaccuracies including imperfect sensor calibration, noise, and immeasurable rotation axis changes obviously introduce errors in the angular orientation computed according to both the simultaneous and the sequential rotation interpretations. As the initial and actual final angular orientations of the sensor in all of the seven performed measurements were identical, we could calculate the respective deviation angles (14) as
(28)εseq=arccostrSfinseq−12,(29)εsim=arccostrSfinsim−12,where ε(seq) is the orientation deviation angle when sequential and ε(sim) when simultaneous rotations are considered. We further obtained the normalized deviation angles for both respective interpretations, εnormseq and εnormsim, by inserting (28) into (15). We expect all of these errors to be affected by the angular velocity dynamics (27).To evaluate the gain of using the correct interpretation of 3D gyroscope measurements, we introduceFerr to denote the angular orientation error reduction factor:
(30)Ferr=εseq−εsimεseq.


### 4.2. Results and Discussion

The results are presented in Figure3. For the simultaneous rotation interpretation, the error in the calculated angular orientation ranges from 0.034° to 1.250° per second of rotation and can become significant over time. However, the error that results when interpreting rotations as sequential is much larger and ranges from 0.132° to 16.152° per second of rotation. An error reduction of 74% to 98% is achievable if the gyroscope measurements are interpreted correctly.Figure 3
Angular orientation errors, expressed as normalized deviation angles, and error reduction for different angular velocity dynamics. We can observe that for both the simultaneous and sequential interpretations of 3D gyroscope measurements, in general, the error increases as the average angular velocity change becomes larger. However, for all considered measurements, significant error reduction is achieved if the measured values are correctly interpreted as simultaneous rotations.Considering the applicative value of these results, we can point out the following: even for the largest error obtained by interpreting the measured rotations as simultaneous (1.250°/s), we can rotate the sensor up to almost 13 times longer before reaching the error of the sequential rotation interpretation approach (16.152°/s).The results provided show that the error in the angular orientation obtained according to both interpretations of rotations, in general, increases with the dynamics of the angular velocities, which reflect the changes of the rotation axis during measurement intervals. This error is, in essence, a measurement error and cannot be computationally taken into account, regardless of the interpretation method employed. However, even for the most extreme conditions here considered, the error reduction factor is significant.


## 4.1. Methodology

To observe the implications of rotation interpretation in real-case measurements, in which the described systematic error obfuscates the accuracy of the computed angular orientation along with typical errors attributed to an inaccurate sensor and random measurement noise, we rely on real motion tracking.We used the MEMS 3D gyroscope ITG3200-3, manufactured by InvenSense (Sunnyvale, CA, USA) [37], providing for 16-bit outputs in a ±2000°/s range. The sampling rate of the sensor’s analog-to-digital converter was set to 1000 Hz. However, to relate to a real-time measurement environment more realistically and to support computational efficiency, the obtained signals were downsampled to fs = 50 Hz. Prior to the measurements, we performed static calibration of the sensor according to the procedure described in [35].We performed seven measurements. In each of these, we manually rotated the sensor. At the end of each measurement, we positioned the sensor in the exact same orientation as it was initially. This procedure enabled us to estimate the angular orientation accuracy as the deviation of the sensor’s final (computed) orientation from its initial orientation and compare both interpretations’ results in a simple manner, avoiding the use of additional equipment.We rotated the sensor in such a way that for each measurement, the dynamics of the rotation was larger than that for the previous measurement. As has been elaborated in Section2, as long as the axis of the gyroscope rotation is constant during the measurement interval, the orientation and the magnitude of vector SORA (1) are respectively equal to the axis and angle of the actual rotation of the gyroscope. For a general measurement scenario, however, it is necessary to account for possible rotation axis changes during Ts. By progressively enlarging the dynamics of the measured rotations, we could quantify the effect that these (immeasurable) rotation axis changes have on the angular orientation accuracy.Otherwise than stated, the motion of the gyroscope, including its rotation, was arbitrary. The obtained angular velocities are presented in Figure2.Figure 2
Angular velocities obtained using a calibrated 3D gyroscope in a noisy environment and used for estimating the effect of the erroneous rotation interpretation on angular orientation accuracy in real-case measurements. The angular orientation of the sensor was computed and evaluated after each of the seven measurements. The dynamics of the angular velocities was progressively increasing from the first to the last measurements. The motion was otherwise arbitrary.By assuming that, on average, the change in the angular velocity between two consecutive samples reflects the change during samples, that is, the measurement intervalsn, we can use the following measure of angular velocity dynamics:
(27)Δω¯=1N−1∑n=2Nωn−ωn−1,to represent rotation axes changes during Ts.Different sources of measurement inaccuracies including imperfect sensor calibration, noise, and immeasurable rotation axis changes obviously introduce errors in the angular orientation computed according to both the simultaneous and the sequential rotation interpretations. As the initial and actual final angular orientations of the sensor in all of the seven performed measurements were identical, we could calculate the respective deviation angles (14) as
(28)εseq=arccostrSfinseq−12,(29)εsim=arccostrSfinsim−12,where ε(seq) is the orientation deviation angle when sequential and ε(sim) when simultaneous rotations are considered. We further obtained the normalized deviation angles for both respective interpretations, εnormseq and εnormsim, by inserting (28) into (15). We expect all of these errors to be affected by the angular velocity dynamics (27).To evaluate the gain of using the correct interpretation of 3D gyroscope measurements, we introduceFerr to denote the angular orientation error reduction factor:
(30)Ferr=εseq−εsimεseq.


## 4.2. Results and Discussion

The results are presented in Figure3. For the simultaneous rotation interpretation, the error in the calculated angular orientation ranges from 0.034° to 1.250° per second of rotation and can become significant over time. However, the error that results when interpreting rotations as sequential is much larger and ranges from 0.132° to 16.152° per second of rotation. An error reduction of 74% to 98% is achievable if the gyroscope measurements are interpreted correctly.Figure 3
Angular orientation errors, expressed as normalized deviation angles, and error reduction for different angular velocity dynamics. We can observe that for both the simultaneous and sequential interpretations of 3D gyroscope measurements, in general, the error increases as the average angular velocity change becomes larger. However, for all considered measurements, significant error reduction is achieved if the measured values are correctly interpreted as simultaneous rotations.Considering the applicative value of these results, we can point out the following: even for the largest error obtained by interpreting the measured rotations as simultaneous (1.250°/s), we can rotate the sensor up to almost 13 times longer before reaching the error of the sequential rotation interpretation approach (16.152°/s).The results provided show that the error in the angular orientation obtained according to both interpretations of rotations, in general, increases with the dynamics of the angular velocities, which reflect the changes of the rotation axis during measurement intervals. This error is, in essence, a measurement error and cannot be computationally taken into account, regardless of the interpretation method employed. However, even for the most extreme conditions here considered, the error reduction factor is significant.


## 5. Conclusion

Due to different sources of motion sensor inaccuracies, accurate position estimation is a delicate task. Erroneous interpretation of the values measured with a 3D gyroscope only extends the deleterious effects on the estimated position of the sensor. Estimating the angular orientation by interpreting the three simultaneous rotations as sequential, that is, Euler, may seem straightforward. However, the angles measured with a gyroscope are not, in general, equal to the angles of the elemental Euler rotations. We have shown that not only is interpreting simultaneous rotations as sequential theoretically erroneous, it introduces a significant systematic error in the angular orientation when the rotation angles become large.For a rotation rate of 360°/s when sampled at 2048 Hz, the angular orientation error exceeds 6° after one minute of rotation. For the lowest sampling rate considered (4 Hz) for the same motion, the computed angular orientation is entirely unreliable as the error exceeds 73° after only one second of rotation. We have shown that significant accuracy improvements can be achieved in the real-case measurement scenario in which this systematic error only extends the deleterious effects of sensor inaccuracies in a noisy environment.It is necessary to note that the simultaneous rotation interpretation and angular orientation computation presented in this article are orientated towards eliminating the systematic error that arises from the erroneous rotation interpretation. Different interpretations cannot compensate for other sources of inaccuracies.Besides random errors attributed to an inaccurate sensor, an error that cannot be eliminated is a consequence of angular velocity changes between the sampling moments. This error is in its essence a measurement error, and rather than computationally, it can be adequately accounted for by suitably reducing the measurement interval, that is, enlarging the sampling frequency. Unfortunately, this opposes the restriction of the energy autonomy of the devices that utilize gyroscopes for frequent or continuous everyday motion tracking and will demand an ever-lower sampling frequency.However, even when the angular velocity changes during the measurement intervals, for the illustrative motion considered in this article, an error reduction of 74% to 98% is achievable if the 3D gyroscope measurements are interpreted correctly and the sensor itself is properly calibrated. For more accurate high-end gyroscopes, this factor would be even larger. Consequently, we can rotate the sensor for a significantly longer time before reaching the error of the sequential rotation computation approach.With these observations, we can confirm our primary assumption; that is, in general, significant error reduction can be achieved with correct interpretation of the 3D gyroscope measurement. We can finally conclude that by adopting the practices presented in this article, more accurate motion tracking and analysis can be performed.



---

*Source: 9684326-2018-03-22.xml*