## Abstract

In mechatronic-related applications, estimating orientation from a magnetic, angular rate, and gravity (MARG) sensor array is a significant topic. Representing attitude orientation is a well-known topic in the aerospace industry, where it plays a critical role in airplanes and unmanned aerial vehicles (UAVs), but it has also gained relevance in other sectors. However, most of the sensors utilized are quite expensive, heavy, and large, making them unsuitable for modest applications. This paper examines the performance of several sensors in low-cost hardware and high-acceleration environments. A theorical method was adopted to estimate Euler angles by using accelerometer, gyroscope and magnetometer, and a robust and easy to implement method calibration was proposed to calibrate the MARG sensor without any external equipment. An experimental verification of the proposed calibration method was completed. The experimental results are then interpreted to provide an insight to advantages and disadvantages for using each sensor separately.

## 1 Introduction

In recent years technology has been introduced to all the dynamic fields. Consequently, the technological advancement was naturally involved in attitude estimation techniques, which are responsible for determining the orientation of the body in three-dimensional space. Knowing that these techniques utilize data obtainable by electronical systems such as GPS (global positioning system) [1, 2], IMU (Inertial Measurement Unit) sensors [3, 4], and MARG sensors [5, 6], researchers work on optimizing these systems to provide more precise position and attitude estimations, according to the environment and the nature of the application. While GPS data present a considerable challenge in determining indoor localizations, IMU sensors and MARG sensors offer higher position accuracy. An IMU which comprises gyroscopes and accelerometers, is able to track rotational and translational movements leading to measuring only the attitude relative to the direction of gravity. A MARG (Magnetic, Angular Rate, and Gravity) sensor is considered to be a hybrid IMU sensor array doted by the recent advances in MEMS (Micro-electromechanical Systems) which consist of 3-axis accelerometer, a 3-axis gyroscope, and a tri-axis magnetometer. This sensor is capable to perform a complete measurement of orientation relative to both the direction of gravity and the earth's magnetic field. The accelerometer detects the gravity and particular accelerations of the stiff body to which the sensors are mounted in the reference linked to the sensor. The magnetometer detects magnetic disturbances as well as the earth's magnetic field, while the gyroscope measures the rigid body's rotation speed.

Because of its characteristics and most importantly its low-cost compared to other position estimation systems, MARG sensors are becoming essential in most of applications. In aerospace, these sensors were first used in aviation for the purpose of flight control [7]. Afterword, MARG sensors were introduced in controlling Unmanned Aerial Vehicle (UAV) and capturing its motion through providing precise attitude information to the control system [8]. In sports, attitude information can be utilized for instance in estimating the performance and the characteristics of skiers [9]. In addition, MARG sensors can be used in measuring countermovement jump performance metrics in elite basketballers [10]. Moreover, these sensors have been used in sport medicine [11]. In smartphones, attitude information provided by the aforementioned sensors is used in navigation, and position estimation [12–14]. In robotics, MARG sensors could be found in medical and rehabilitation robots [15] as well as industrial production robots that include human-machine interface [16]. In virtual reality, MARG sensors are used in developing mechanisms which help in the interaction of the user with the virtual environment by using physical movements [17]. For instance, creating virtual reality (VR) simulation system which can capture soldiers body movements during military training [18].

Due to various causes related to MEMS fabrication technologies and environmental conditions of use, MEMS sensors suffer from bias instability, noisy readings due to mechanical stresses of the printed circuits, and sensitivity drifts, which, consequently, affect their measurement accuracy. Measurements values are time-integrated, thus, the error cumulation would eventually lead to an unreliable estimation of orientation. In order to overcome the accuracy issues in attitude estimation measurement and compensate for drift and noisy readings, calibration of MARG array sensors should be completed according to the specific application. Several procedures were proposed by researchers to estimate MARG sensors calibration parameters.

The accelerometer traditional calibration procedures can be extremely expensive through using specific setup to rotate the MARG in desired directions which requires high precision laboratory equipment. These laboratory instruments are used to obtain three main error parameters, that is, the sensor output in case of no input allocated to the sensor called the bias, the scale factor error calculated as the deviation on the ratio between the change in sensor output to input in addition to the non-orthogonality factors, which is the deviation from the orthogonal axis calculated between two sensors axes. The following papers present some techniques used in laboratory set up, such as the method proposed by Jianye Pan et al. [19] which consists of six rotation sequences, allowing to calculate scale factor errors throughout estimating the rates of velocity errors change. Qingjiang Wang et al. [20] used thermal calibration equipment to investigate the thermal characteristics of inertial sensors under different temperature changing conditions. Furthermore, other techniques can be defined as traditional methods such as Six-position Static Acceleration Test, where each sensitive axis of the inertial system is pointing up and down alternately (six positions) on a level surface table [21]. In addition to the angle rate tests where the inertial sensor system can be rotated through very precisely specified angles, using a precision rate table [22]. However, to reduce the dependence on these expensive pieces of equipment and avoid taking the sensor to the laboratory, in-field inertial sensor autocalibration gravity-based methods have been developed in recent years [23–26]. The theory of autocalibration is based on the notion that in the static condition, the vector sum of triaxial readings should theoretically equal local gravity. These calibration methods simply take repositioning the sensor to get a decent enough approximation of the error parameters to approximate motion, though not to a high degree of accuracy. The accelerometer calibration method proposed in this paper is gravity based autocalibration approach.

The gyroscope can detect the angular velocity of the vehicle and determine the change in attitude. However, the precision of MEMS gyroscopes is typically low, therefore attitude error can quickly build. MEMS gyroscopes must therefore be calibrated before use. Some calibration techniques are not often ideal for cost-effective gyros due to the requirement of specialized equipment, which is frequently quite expensive. In addition, there exist optical tracking systems [27] and systems that estimate the SEM parameters [28] either by themselves or in combination with the referential data [29], using a single-axis rate table with the Kalman filter (KF). The main drawbacks of these approaches are their challenging and time-consuming implementations. Gyroscope calibration procedures can also be supplement by using external data. Calibration using the Global Navigation Satellite System (GNSS) is one of the most common ways [30], [31]. However, in a static situation, good performance is impossible to obtain due to occlusions such as buildings, viaducts, tunnels, and dense forests, where GNSS signals are not always available. In order to remedy this issue, calibration methods which use the magnetometer to calibrate the gyroscope have been developed, in order to increase the navigation solution's dependability and precision [32, 33]. In our proposed technique, the gyroscope was calibrated under steady conditions by calculating the mean offset from a measurement sample array, without using any special and costly rotating tables. The developed algorithm below is convenient for a wide range of applications including drone orientation estimation.

The magnetometer detects a constant local magnetic field vector when there are no magnetic disturbances. This vector points to the local magnetic north; hence it can be used to calculate heading estimation. However, because they are susceptible to electromagnetic disturbance, they must be calibrated before use. Many calibration methods can be found in literature. John L. Crassidis et al. [34] developed a real-time attitude-independent three-axis magnetometer calibration method, where the calibration parameters are estimated by alternative real-time algorithms based on the extended Kalman filter and the Unscented filter. Other models based on attitude independent classical calibration method have been used also in references [35–37]. These methods were proposed to overcome the necessity of external attitude information, particularly heading information, required by traditional magnetometers calibration methods which could lead to mistaken calibration findings as a result of inaccurate attitude information. Ellipse/Ellipsoid fitting [38, 39] is another method for compass calibration that does not require an external heading source. This method involves calibrating the compass in the magnetic field domain, based on the fact that the error-free locus produced by the compass is a circle when rotated fully in 2D or a sphere when rotated fully in 3D, spanning all possible orientations. In this work, we developed a simplified calibration method based on Ellipsoid model.

The main contribution of this work is a simplified practical calibration procedure of MARG sensors in case of UAV (Unmanned Aerial Vehicles) drones, which aim to improve the accuracy of orientation estimation. The proposed approaches do not need any laboratory equipment and can be executed by any user. An algorithm for orientation estimation was developed based on Euler angles sensor models. A simplified in-field procedure was proposed to simplify inertial sensors and magnetometer calibration. An experimental verification was conducted to validate the proposed method. Experimental tests for estimating the drone orientation have been conducted for each individual sensor and their limits have been discussed.

This paper has been divided into four sections. The current section discusses the previous works elaborated in this field. In the following, section 2 presents sensor models for orientation estimation of drones in three-dimensional space based on Euler angles. Section 2.2 presents the proposed procedures of accelerometer, gyroscope, and magnetometer calibration. Section 3 provides the experimental verification results and discussions, and Section 4 concludes.

## 2 Methodology

### 2.1 Estimation of orientations

#### 2.1.1 Estimation of orientation by the accelerometer

In this paper, estimation of orientation is described by Euler's angles. Euler angles [40] are 3 angles called (roll, pitch and yaw) that designate the orientation of the drone in three-dimensional space. This orientation is obtained by three rotations performed successively in an arbitrary order, each around one of the three axes of the frame [41]. This is equivalent to performing a rotation in the plane formed by two axes around a third, and this three times in a row.

Orientation changes are described by roll φ, pitch θ and yaw ψ rotations around the X, *Y* and *Z* axes respectively.

It is further assumed that the accelerometer has no linear acceleration

The absence of any rotation angle dependence in yaw ψ is easily understood physically, since the first rotation is in yaw around the sensor's Z axis which is initially aligned with the gravitational field and pointing downward. Accelerometers are completely insensitive to rotations around the gravitational field vector and cannot be used to determine such rotation.

The index xyz or yxz is added to indicate that the roll φ and the pitch θ are calculated according to the rotation sequence

Equation (9) is defined mathematically for all values of

#### 2.1.2 Estimation of the orientation by the gyroscope

The required integration to calculate the angles of rotation from measured data introduces an integration constant, resulting in a deviation or offset, as well as an increase in inaccuracy between the actual and measured values.

It is clear that the two sensors are not optimal. When the system is not in motion, accelerometers are appropriate, and gyroscopes are appropriate for short periods of time, but the gyroscope does not provide an accurate estimate of orientation over prolonged periods of time.

The remaining problem is to correct the error of the yaw angle, which is not measurable by the accelerometer. To do so, a magnetometer must be used to overcome the accelerometer's weakness, knowing that the magnetometer can measure yaw by measuring the components of the earth's magnetic field.

#### 2.1.3 Estimation of the azimuth by the magnetometer

Figure 2 shows how to calculate the azimuth ψ, which is the angle between the magnetic north axis and the x-axis of the compass. Only the horizontal components of the earth's magnetic field

The tilt angles (roll and pitch) as well as the three magnetic field components

### 2.2 Calibration of sensors

At rest, the accelerometer, gyroscope, and magnetometer will have a measurement offset, which means they will not produce exact zero values, despite the fact that they should in principle. Before using these sensors, they must be calibrated.

The sensors accuracy, stability, and reproducibility are checked during calibration. Sensors that have been calibrated are required for precise, repeatable measurement findings. The calibration of the accelerometer, gyroscope, and magnetometer will be discussed in the following paragraphs.

#### 2.2.1 Accelerometer calibration

In the case of the accelerometer, it is pretty simple and can be done with only a few quick calculations. These operations must be carried out at each iteration, just after reading the values of the sensors.

The first step is to verify the accuracy of the accelerometer measurements. This can be done using the acceleration of gravity 1g as a reference. First and foremost, the accelerometer should be placed on a flat, horizontal surface. The measurement should be –1g if the sensor is properly calibrated. The measurement will be 1g if the sensor is inverted.

However, this is not always the case. There are some errors due to mechanical characteristics, humidity, pressure, and temperature. For the minimum value, the components of vector acceleration must be nearly –1g, and for the maximum value, they must be close to 1g.

_{min}and A

_{max}would be the same and the offsets would be zero. The next step is to calculate the scale factors (

#### 2.2.2 Gyroscope calibration

#### 2.2.3 Magnetometer calibration

The magnetometer is significantly influenced by its environment. The results will drift and become unreliable if any metal or magnets are present near the magnetometer. However, some effects can be corrected with proper calibration.

^{X}, C

^{Y}, and C

^{Z}, it refers to the biases induced by hard iron losses.

The offset computation and correction technique for magnetometers is the most complicated. The instrument is secured in position on a flat surface for the hard iron losses, and 1,000 samples are taken. The gadget is then rotated 180° around the z-axis, and 1,000 samples are obtained again. The offset for the x- and y-axes is then calculated using these 2,000 samples. The gadget is placed at a 90-degree angle with the level surface for the z-axis, and 1,000 samples are taken. After that, the gadget is rotated 180° on the surface and 1,000 samples are obtained once more. The hard iron offset for the z-axis is determined using the same procedure as for the x- and y-axes. During typical procedures, these hard iron offsets are always subtracted from the raw data.

MagMaster is then used to calculate the soft iron losses. This program makes use of the device's particular orientations. The gadget is first placed with the x-axis facing upwards, and then it is rotated exactly 180° around the x-axis for the second measurement. The process is then repeated with the x-axis facing downward, and then with the other axes. After that, the transformation matrix is calculated using the collected data. After the hard iron offsets are subtracted, this matrix multiplication is performed to produce the corrected values during regular operations. This device can also calculate hard iron losses, which produces similar results to manual calibration.

The calibration in this case necessitates getting the transformation matrix as well as the bias. In order to obtain these data, a MagMaster application is used.

## 3 Results and discussion

### 3.1 Raw data measurement: experimental study

In this section, an experimental study was done to obtain the data of acceleration, gyroscope, magnetometer sensors before and after the calibration. The experimental set up consist of a control unit which uses a simple, low powered, low-cost microcontroller (ATMEGA328P) and a MPU9250 measurement system which includes an accelerometer, a gyroscope, and a magnetometer. Calibration algorithms based on the equations presented in section 2.2 where developed and applied in the following.

#### 3.1.1 Measurement of acceleration

Figure 4(a) represents the three acceleration components obtained when the sensor is placed horizontally at rest. We notice that the accelerations AccX and AccY are almost zero while the acceleration AccZ indicates a value close to 1g.

However, the value to be measured is close to the gravity acceleration

#### 3.1.2 Measurement of angular velocity

When the sensor is at rest, the three angular speeds are shown in Fig. 5(a). Even when the sensor is stationary, the signals recovered are noisy and shifted from zero. To solve this problem, the sensor must be calibrated using the procedure described above. Figure 5(b) is obtained after executing the algorithm used to calibrate the gyroscope.

#### 3.1.3 Measurement of magnetic field components

The MagViewer software is used here to visualize the components of the measured magnetic field. Figure 7(a) shows that the magnetometer data are uncalibrated since the form obtained is an ellipsoid rather than a sphere, and the origin of the reference is not confused with that of the ellipsoid.

The components of the transformation matrix and the coordinates of the center of the ellipsoid given in Eq. (20) are obtained using MagMaster software.

We obtain the transformation matrix and bias vector after filling out the table and clicking “Calculate Transformation Matrix and Bias.” The different values obtained are shown in Fig. 6.

MagViewer allows us to examine the sensor's calibration. In contrast to the test performed at the beginning of the calibration method, Fig. 7(b) demonstrates that the different axes pass through the center of the circles.

### 3.2 Estimation of orientation: experimental study

In this section, estimation of orientation is completed for each sensor individually to evaluate its measurement capability.

#### 3.2.1 Measurement of the roll and pitch angles with an accelerometer

As explained previously in Eqs (6) and (7), the accelerometer can be used to estimate the attitude (pitch and roll) of an object, but it cannot be used to predict heading or yaw due to the nature of gravity. Three tests are performed in order to evaluate the limits of the accelerometer in particular cases.

Test 1:

The first test aims to assess the accelerometer pitch angle measurement. In this test, the device was rotated around the y-axis of the sensor while being held in the hand. For this reason, the roll angle is constant and equal to zero. The sensor was moved slowly, so that the acceleration measured by the sensor was pure earth gravity. Figure 8 shows an example of pitch and roll estimate using the accelerometer. The test demonstrates the ability of the accelerometer to estimate the pitch angle accurately.

Test 2:

The second test objective is to evaluate the accelerometer accuracy in estimating the roll angle. For this purpose, an identical test to the first one is carried out, but this time with the sensor rotated about its x-axis, as illustrated in Fig. 9. As the roll angle reaches 90°, the pitch measurements begin to react randomly. It is also important to note that the pitch should be zero, however this is not the case. This occurs because the x and z components must be zero when the roll is 90, but they are slightly larger and have some noise, which causes this behavior.

Test 3:

The third test aims to verify the behavior of the accelerometer when movements other than rotational are introduced. In this test the sensor is moved up and back at a frequency of 5 Hz. In this case, the angles of Euler should not change because the device moves along an axis without changing orientation, however, the results are noisy and measurements make no sense. The formulas used to calculate the attitude are no longer valid when the accelerometer is distorted by external accelerations (Fig. 10).

We notice that the accelerometer's data are significantly influenced by noise, which has a significant impact on the tilt angle calculation and produces biased results.

#### 3.2.2 Measurement of euler angles by the gyroscope

The gyroscope can be used to estimate the orientation of a body based on pitch, roll, and yaw with simple integration, as shown in Eq. (12). Following the integration, each iteration adds a small inaccuracy to the angle estimate, leading it to deviate over time. Drift is the term for this phenomenon.

Two tests were performed to visualize this phenomenon. In the first, gyroscope measurements were taken in a small period of time while in the second the experiment continued during 3 min. We notice after the first test that the gyroscope gives precise results in a short amount of time and allows us to estimate the yaw angle, unlike the accelerometer. However, we remark that we have a derivation of the measurements over time due to the accumulation of measurement mistakes (Fig. 11).

Figure 12 illustrates the results of the second test. In the last, the device was left for 3 min in a static position. The expected output would be a constant value of pitch, roll and yaw, but there is a drift over time due to the impact described above.

It should be noted that the measurements given by the gyroscope are strongly influenced by noise, the latter increases considerably after integration and increases as time passes, which gives biased results.

#### 3.2.3 Measurement of the azimuth by the magnetometer

After applying the calibration and applying formula (13), we connected the compass to an OLED (Organic Light-Emitting Diodes) screen to visualize the value of the magnetic angle. This test aims to verify the accuracy of the measurements results provided by the magnetometer. For this, we utilized any phone app that can provide the correct azimuth angle as can be seen in Fig. 13.

The value displayed on the OLED screen is 302.47° while the value displayed on the app is 301.4°, see Fig. 13. As a result, we may conclude that the sensor is adequately calibrated and provides precise readings.

## 4 Conclusion

In this paper, orientation estimation was modeled in the case of low-cost MARG sensors (accelerometer, gyroscope, and magnetometer) measurements. In field MARG sensors calibration methods, which eliminate the necessity of expensive equipment was proposed for the special case of UAV (Unmanned Aerial Vehicles) drones. To verify the presented methods, an experiment was carried out. The developed calibration algorithm was found efficient in adjusting measurements errors. For the purpose of evaluating the sensor's abilities, use has been made of the calibrated sensors to estimate orientation for each sensor individually. Therefore, Euler angles (pitch, roll, and yaw) were calculated for each sensor individually to test their stability. The experimental tests results showed that accelerometers are capable of measuring the pitch and roll angles in all the sensor positions with the exception of the vertical position. In addition, the accelerometer translation movements could cause noisy readings. The performed experiments proved that gyroscopes can measure pitch, roll, and yaw angles but the measurement accuracy decrease over time. The magnetometer was found able to measure the yaw angle owing to its capability in measuring the components of the earth's magnetic field. The experimental tests reveal that combining the data from the three sensors is essential for producing efficient, consistent, and exact results. In future work a study of the MARG sensors fusion will be conducted.

## References

- [1]↑
E. Frejinger, “Route choice analysis: data, models, algorithms and applications,”, 2008. https://doi.org/10.5075/epfl-thesis-4009.

- [2]↑
A. Flores, A. Escudero, M. J. Sedo, and A. Rius, “A near real time system for tropospheric monitoring using IGS hourly data,”

, vol. 52, no. 10, pp. 681–684, 2000. https://doi.org/10.1186/BF03352263.*Earth, Planets Sp.* - [3]↑
G. Aroganam, N. Manivannan, and D. Harrison, “Review on wearable technology sensors used in consumer sport applications,”

, vol. 19, no. 9, p. 1983, 2019. https://doi.org/10.3390/s19091983.*Sensors* - [4]↑
N. Ahmad, R. A. R. Ghazilla, N. M. Khairi, and V. Kasi, “Reviews on various inertial measurement unit (IMU) sensor applications,”

, vol. 1, no. 2, pp. 256–262, 2013. https://doi.org/10.12720/ijsps.1.2.256-262.*Int. J. Signal Process. Syst.* - [5]↑
E. R. Bachmann, X. Yun, D. McKinney, R. B. McGhee, and M. J. Zyda, “Design and implementation of MARG sensors for 3-DOF orientation measurement of rigid bodies,”

, vol. 1, 2003, pp. 1171–1178. https://doi.org/10.1109/ROBOT.2003.1241751.*2003 IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422)* - [6]↑
X. Xu, X. Tian, L. Zhou, and Y. Li, “A decision-tree based multiple-model UKF for attitude estimation using low-cost MEMS MARG sensor arrays,”

, vol. 135, pp. 355–367, 2019. https://doi.org/10.1016/j.measurement.2018.11.062.*Measurement* - [7]↑
W. Gu, K. P. Valavanis, M. J. Rutherford, and A. Rizzo, “UAV model-based flight control with artificial neural networks: a survey,”

, pp. 1–23, 2020. https://doi.org/10.1007/S10846-020-01227-8.*J. Intell. Robot. Syst.* - [8]↑
P. Solanki, “Attitude Estimation of a Quadcopter with one fully damaged rotor using on-board MARG Sensors,”, 2020. https://doi.org/10.2514/6.2022-0857.

- [9]↑
M. Supej and H. C. Holmberg, “Monitoring the performance of alpine skiers with inertial motion units: practical and methodological considerations,”

, pp. 1–8, 2021. https://doi.org/10.1007/s42978-021-00108-2.*J. Sci. Sport Exerc.* - [10]↑
C. A. Staunton, J. J. Stanger, D. W. T. Wundersitz, B. A. Gordon, E. Custovic, and M. I. C. Kingsley, “Criterion validity of a MARG sensor to assess countermovement jump performance in elite basketballers,”

, vol. 35, no. 3, pp. 797–803, 2021. https://doi.org/10.1519/JSC.0000000000002784.*J. Strength Cond. Res.* - [11]↑
D. Rojas-Valverde, J. Pino-Ortega, R. Timón, R. Gutiérrez-Vargas, B. Sánchez-Ureña, and G. J. Olcina, “Agreement and reliability of magnetic, angular rate, and gravity (MARG) sensors to assess multiple body segment’s external loads during off-road running,”

, p. 1754337121996986, 2021. https://doi.org/10.1177/1754337121996986.*Proc. Inst. Mech. Eng. Part P J. Sport Eng. Technol.* - [12]↑
M. A. Hasan and M. H. Rahman, “Smart phone based sensor fusion by using Madgwick filter for 3D indoor navigation,”

, vol. 113, no. 4, pp. 2499–2517, 2020. https://doi.org/10.1007/s11277-020-07338-7.*Wirel. Pers. Commun.* - [13]
J. Geng, L. Xia, J. Xia, Q. Li, H. Zhu, and Y. Cai, “Smartphone-based pedestrian dead reckoning for 3D indoor positioning,”

, vol. 21, no. 24, p. 8180, 2021. https://doi.org/10.3390/s21248180.*Sensors* - [14]
Z. Niu, F. Guo, Q. Shuai, G. Li, and B. Zhu, “A continuous positioning algorithm based on differential GNSS techniques, MARG sensors, and barometers with smartphones,”

, 2021, pp. 2633–2645. https://doi.org/10.33012/2021.17939.*Proceedings of the 34th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2021)* - [15]↑
L. Wöhle and M. Gebhard, “SteadEye-head—improving MARG-sensor based head orientation measurements through eye tracking data,”

, vol. 20, no. 10, p. 2759, 2020. https://doi.org/10.3390/s20102759.*Sensors* - [16]↑
S. Wilson, H. Eberle, Y. Hayashi, S. O. Madgwick, A. McGregor, X. Jing, and R. Vaidyanathan, “Formulation of a new gradient descent MARG orientation algorithm: case study on robot teleoperation,”

, vol. 130, pp. 183–200, 2019. https://doi.org/10.1016/j.ymssp.2019.04.064.*Mech. Syst. Signal Process.* - [17]↑
O. Nonnarit, N. Ratchatanantakit, S. Tangnimitchok, F. Ortega, A. Barreto, and others, “Hand tracking interface for virtual reality interaction based on marg sensors,” in

, 2019, pp. 1717–1722. https://doi.org/10.1109/VR.2019.8797982.*2019 IEEE Conference on Virtual Reality and 3D User Interfaces (VR)* - [18]↑
Y.-C. Fan and C.-Y. Wen, “A virtual reality soldier simulator with body area networks for team training,”

, vol. 19, no. 3, p. 451, 2019. https://doi.org/10.3390/s19030451.*Sensors* - [19]↑
J. Pan, C. Zhang, and Q. Cai, “An accurate calibration method for accelerometer nonlinear scale factor on a low-cost three-axis turntable,”

, vol. 25, no. 2, p. 25102, 2014. https://doi.org/10.1088/0957-0233/25/2/025102.*Meas. Sci. Technol.* - [20]↑
Q. Wang, Y. Li, and X. Niu, “Thermal calibration procedure and thermal characterisation of low-cost inertial measurement units,”

, vol. 69, no. 2, pp. 373–390, 2016. https://doi.org/10.1017/S0373463315000600.*J. Navig.* - [21]↑
R. M. Rogers,

, vol. 1, Aiaa, 2003. https://doi.org/10.2514/4.861598.*Applied Mathematics in Integrated Navigation Systems* - [22]↑
J. L. Weston and D. H. Titterton, “Modern inertial navigation technology and its application,”

, vol. 12, no. 2, pp. 49–64, 2000. https://doi.org/10.1049/ecej:20000202.*Electron. Commun. Eng. J.* - [23]↑
L. Ye, Y. Guo, and S. W. Su, “An efficient autocalibration method for triaxial accelerometer,”

, vol. 66, no. 9, pp. 2380–2390, 2017. https://doi.org/10.1109/TIM.2017.2706479.*IEEE Trans. Instrum. Meas.* - [24]
S. Karnawat, E. Rufus, V. Karar, and S. Poddar, “Accelerometer to accelerometer calibration using particle swarm optimization,”

, 2017, pp. 1502–1506. https://doi.org/10.1109/RTEICT.2017.8256848.*2017 2nd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT)* - [25]
W. T. Fong, S. K. Ong, and A. Y. C. Nee, “Methods for in-field user calibration of an inertial measurement unit without external equipment,”

, vol. 19, no. 8, p. 85202, 2008. https://doi.org/10.1088/0957-0233/19/8/085202.*Meas. Sci. Technol.* - [26]
S. P. Won and F. Golnaraghi, “A triaxial accelerometer calibration method using a mathematical model,”

, vol. 59, no. 8, pp. 2144–2153, 2009. https://doi.org/10.1109/TIM.2009.2031849.*IEEE Trans. Instrum. Meas.* - [27]↑
A. Kim and M. F. Golnaraghi, “Initial calibration of an inertial measurement unit using an optical position tracking system,”

, 2004, pp. 96–101. https://doi.org/10.1109/PLANS.2004.1308980.*PLANS 2004. Position Location and Navigation Symposium (IEEE Cat. No. 04CH37556)* - [28]↑
J. K. Bekkeng, “Calibration of a novel MEMS inertial reference unit,”

, vol. 58, no. 6, pp. 1967–1974, 2008. https://doi.org/10.1109/TIM.2008.2006126.*IEEE Trans. Instrum. Meas.* - [29]↑
X. Wang, “Fast alignment and calibration algorithms for inertial navigation system,”

, vol. 13, nos 4–5, pp. 204–209, 2009. https://doi.org/10.1016/j.ast.2009.04.002.*Aerosp. Sci. Technol.* - [30]↑
F. Jiancheng and Y. Sheng, “Study on innovation adaptive EKF for in-flight alignment of airborne POS,”

, vol. 60, no. 4, pp. 1378–1388, 2011. https://doi.org/10.1109/TIM.2010.2084710.*IEEE Trans. Instrum. Meas.* - [31]↑
S. Zihajehzadeh, D. Loh, T. J. Lee, R. Hoskinson, and E. J. Park, “A cascaded Kalman filter-based GPS/MEMS-IMU integration for sports applications,”

, vol. 73, pp. 200–210, 2015. https://doi.org/10.1016/j.measurement.2015.05.023.*Measurement* - [32]↑
Y. Wu and L. Pei, “Gyroscope calibration via magnetometer,”

, vol. 17, no. 16, pp. 5269–5275, 2017. https://doi.org/10.1109/JSEN.2017.2720756.*IEEE Sens. J.* - [33]↑
Z. Wu and W. Wang, “Magnetometer and gyroscope calibration method with level rotation,”

, vol. 18, no. 3, p. 748, 2018. https://doi.org/10.3390/s18030748.*Sensors* - [34]↑
J. L. Crassidis, K.-L. Lai, and R. R. Harman, “Real-time attitude-independent three-axis magnetometer calibration,”

, vol. 28, no. 1, pp. 115–120, 2005. https://doi.org/10.2514/1.6278.*J. Guid. Control Dyn.* - [35]↑
E. Kim, H. Bang, and S.-H. Lee, “Attitude independent magnetometer calibration considering magnetic torquer coupling effect,”

, vol. 48, no. 4, pp. 691–694, 2011. https://doi.org/10.2514/1.52634.*J. Spacecr. Rockets* - [36]
J. C. Springmann and J. W. Cutler, “Attitude-independent magnetometer calibration with time-varying bias,”

, vol. 35, no. 4, pp. 1080–1088, 2012. https://doi.org/10.1109/JSEN.2021.3114347.*J. Guid. Control Dyn.* - [37]
B. Grandvallet, A. Zemouche, M. Boutayeb, and S. Changey, “Real-time attitude-independent three-axis magnetometer calibration for spinning projectiles: a sliding window approach,”

, vol. 22, no. 1, pp. 255–264, 2013. https://doi.org/10.1109/TCST.2012.2237402.*IEEE Trans. Control Syst. Technol.* - [38]↑
A. Olivares, G. Ruiz-Garcia, G. Olivares, J. M. Górriz, and J. Ramirez, “Automatic determination of validity of input data used in ellipsoid fitting MARG calibration algorithms,”

, vol. 13, no. 9, pp. 11797–11817, 2013. https://doi.org/10.3390/s130911797.*Sensors* - [39]↑
D. Liu, L. Pei, J. Qian, L. Wang, C. Liu, P. Liu, and W. Yu, “Simplified ellipsoid fitting-based magnetometer calibration for pedestrian dead reckoning,”

, 2016, pp. 473–486. https://doi.org/10.1007/978-981-10-0937-2_40.*China Satellite Navigation Conference (CSNC) 2016 Proceedings: Volume II* - [40]↑
L. Euler,

, Apud Marcum-Michaelem Bousquet & Socios, 1748. https://doi.org/10.1090/S0273-0979-07-01183-4.*Introductio in Analysin Infinitorum*, vol. 2 - [41]↑
R. Pio, “Euler angle transformations,”

, vol. 11, no. 4, pp. 707–715, 1966. https://doi.org/10.1109/TAC.1966.1098430.*IEEE Trans. Automat. Contr.* - [42]↑
B. Smeresky, A. Rizzo, and T. Sands, “Kinematics in the information age,”

, vol. 6, no. 9, p. 148, 2018. https://doi.org/10.3390/math6090148.*Mathematics* - [43]↑
M. J. Caruso, “Applications of magnetoresistive sensors in navigation systems,” 1997. SAE Technical Paper. https://doi.org/10.4271/970602.

- [44]↑
R. Zhu, Z. Zhou, S. Li, and X. Sun, “A novel miniature azimuth-level detector based on MEMS,”

, 2001, pp. 50–53. https://doi.org/10.1109/MEMSC.2001.992740.*2001 Microelectromechanical Systems Conference (Cat. No. 01EX521)* - [45]↑
V. A. S. Rodrigues, “Magnetómetro 3D em sistema de mapeamento: Caraterização, Integração e Testes,”

, 2018. http://hdl.handle.net/10400.21/8830.*Instituto Superior de Engenharia de Lisboa* - [46]↑
V. Renaudin, M. H. Afzal, and G. Lachapelle, “Complete triaxis magnetometer calibration in the magnetic domain,”

, vol. 2010, 2010. https://doi.org/10.1155/2010/967245.*J. Sensors* - [47]↑
D. Flinn, “The deformation matrix and the deformation ellipsoid,”

, vol. 1, no. 4, pp. 299–307, 1979. https://doi.org/10.1016/0191-8141(79)90004-X.*J. Struct. Geol.*