
Highly Accurate Accelerometer- and Magnetometer-based Elevation and Azimuth Estimation Procedure Under Stationary Conditions
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(https://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract
A nine-axis inertial measurement unit (IMU) consisting of a three-axis gyroscope, three-axis accelerometer, and three-axis magnetometer is used to estimate the 3D orientation of a moving object, including the elevation and azimuth. Under stationary conditions, where dynamic or magnetic disturbances are negligible, orientation estimation is a determined problem in which the accuracy of the elevation and azimuth depends only on sensor errors. Conventionally, sensor calibration using the 3D rotation of the sensor has been performed to improve the elevation/azimuth error by compensating for sensor errors. However, for a one-axis rotation system, such as a servo motor that permits only single-axis rotation, conventional 3D sensor calibration cannot be applied. Additionally, when rotating the elevation/azimuth with a motor, a difference may occur between the target axis of the reference coordinate system and the motor rotation axis, which may cause inaccuracies in the elevation/azimuth. In this paper, we propose a procedure for highly accurately estimating elevation and azimuth based on accelerometer and magnetometer signals under stationary conditions for a single-axis rotation system. The proposed procedure was verified through simulations and experimental tests, and the results showed that both the elevation and azimuth accuracies could be achieved within 0.01° in terms of the mean absolute error.
Keywords:
Accelerometer, Magnetometer, Elevation, Azimuth, Single-axis rotation system1. INTRODUCTION
A nine-axis inertial measurement unit (IMU), composed of a three-axis gyroscope, three-axis accelerometer, and three-axis magnetometer, is a sensor module used to estimate the 3D orientation of a moving object. By leveraging microelectromechanical system (MEMS) technologies, IMUs have been developed in low-cost, compact, and lightweight forms. They have been extensively applied in various fields, including unmanned vehicles [1-3], weapon systems [4,5], and human motion capture [6,7].
As part of 3D orientation estimation, estimating the elevation and azimuth using a nine-axis IMU is considered a critical process [8-11]. However, the elevation/azimuth estimation based on a nine-axis IMU is a fundamentally underdetermined problem [12,13]. This is because (i) the gravitational acceleration signal from the accelerometer is used for elevation estimation, but under accelerated conditions, a dynamic disturbance component (i.e., sensor acceleration) is added to the accelerometer signal, and (ii) the Earth’s magnetic field signal from the magnetometer is used for azimuth estimation. However, in magnetically distorted environments, a magnetic disturbance component is added to the magnetometer signal. Consequently, under dynamically and magnetically disturbed conditions, uncertainties from sensor acceleration and magnetic disturbances are inevitable, and numerous studies have focused on minimizing these uncertainties [14-18].
However, in static conditions where dynamic/magnetic disturbances are negligible, elevation and azimuth estimation are no longer underdetermined problems because the gravitational acceleration and Earth’s magnetic field signals are clearly obtained. Therefore, a deterministic estimation of the 3D orientation relying on a three-axis accelerometer and three-axis magnetometer is possible under stationary conditions, and this has been treated as an initial alignment problem in some studies [19-22]. In these undisturbed conditions, the elevation/azimuth errors are due only to the sensor error factor; therefore, a higher accuracy estimation can be expected compared with the disturbed condition. However, even in these cases, precise operational procedures and estimation methods are required to obtain highprecision elevation and azimuth results.
Many studies have performed sensor calibration procedures to enhance the precision of elevation/azimuth estimation and compensate for sensor errors. Existing methods for calibrating accelerometers and magnetometers typically involve the 3D rotation of the sensor to determine and correct error parameters using techniques such as ellipsoid fitting [23,24]. However, for a system with a single rotational degree of freedom, such as a servo motor that enables only one-axis rotation, existing calibration methods based on the 3D rotation of the sensor cannot be applied. In addition, the rotation axis of the motor and the reference axis may differ when calculating the elevation/azimuth. These constraints cause inaccuracies in the elevation/azimuth estimation.
To address these challenges, this paper proposes a highly accurate procedure for estimating the elevation and azimuth under stationary conditions using accelerometer and magnetometer signals for systems with a single rotational degree of freedom. The accuracy of the proposed procedure was validated through simulations and experiments conducted using a servo motor system.
2. METHOD
2.1 Elevation Estimation Procedure
In this paper, we aim to derive the rotation angle of single-axis servo motors for elevation/azimuth rotation from accelerometer and magnetometer signals. This section explains the elevation estimation procedure.
In the elevation estimation, the inertial frame {I}, motor-fixed frame {M}, motor-rotation frame {M’}, and sensor frame {S} are used (Fig. 1). The inertial frame is a fixed reference frame in which the Z-axis is in the gravitational direction and the X-axis is in the magnetic north direction, the motor-fixed frame is a fixed reference frame in which the Y-axis is in the direction of the motor rotation axis and the Z-axis is in the direction of the gravity vector projected on the motor rotation axial plane, and the motor rotation frame corresponds to the motor-fixed frame after rotating by θ about the Y-axis.
Under undisturbed conditions, where the dynamic/magnetic disturbances are negligible, the accelerometer (A) and magnetometer (M) provide the gravitational acceleration and Earth’s magnetic field signals observed in the sensor frame, respectively. These include the vertical and horizontal axis vectors of the inertial frame observed in the sensor frame, respectively. The accelerometer and magnetometer signals are modeled as follows, respectively:
(1.a) |
(1.b) |
where g is the gravitational acceleration vector, m is Earth’s magnetic field vector, g and m are the magnitudes of vectors g and m, respectively, and SZI and SX’I are the Z-axis-and X-axis vectors tilted by the magnetic dip angle of the inertial frame observed in the sensor frame, respectively. Based on the accelerometer and magnetometer signals, the directional cosine matrix representing the 3D orientation of the sensor frame with respect to the inertial frame can be determined as follows:
(2) |
Here, the three axis vectors are determined as follows:
(3.a) |
(3.b) |
(3.c) |
However, when calculating the elevation from the matrix in Eq. (2), a difference may occur between the calculated elevation angle and the motor rotation angle because the reference and motor rotation axes are different. Accordingly, rotation axis alignment is performed to align the reference frame from the inertial frame to the motor-fixed frame and the object frame from the sensor frame to the motor rotation frame, as follows:
(4) |
where is an alignment matrix from the inertial frame to the motor-fixed frame, is an alignment matrix from the sensor frame to the motor rotation frame, and these matrices are determined as follows:
(5.a) |
(5.b) |
Here, is the initial orientation of the sensor frame with respect to the inertial frame, which is determined from the initial sensor signals through Eq. (2); is the initial orientation matrix of the sensor frame with respect to the motor-fixed frame, which is determined as follows:
(6) |
Here, the three axis vectors are determined as follows:
(7.a) |
(7.b) |
(7.c) |
where yG is the gyroscope signal measured during the alignment experiment, and SYM corresponds to the rotation axis vector observed in the sensor frame. Finally, the elevation angle θ corresponding to the pitch of the ZYX Euler angles is calculated as follows from the direction cosine matrix of Eq. (4):
(8) |
where rij is the element of the i-th row and j-th column of the direction cosine matrix.
The elevation calculation process described above does not consider inaccuracies owing to sensor errors. In addition, because the servo motor system permits only single-axis rotation, the existing 3D rotation-based sensor calibration is not applicable.
Therefore, this paper proposes a high-precision procedure for estimating the elevation of a system with only one rotational degree of freedom. The proposed procedure is as follows (Fig. 2): (1) accelerometer and magnetometer bias calibration, (2) rotation axis alignment, (3) rotation error calibration of the sensor signals, and (4) pivoting of the rotational axial component of the sensor signals. In the proposed procedure, the alignment data for determining the rotation axis alignment parameters, calibration data for determining the bias and rotation error calibration parameters, and validation data for evaluating the elevation accuracy are used. The experimental procedure for collecting each dataset is described in Section 3.1. The sensor signal from the calibration data is denoted as ycal and the sensor signal from the validation data is denoted as yval.
The first step is to estimate and calibrate the biases of the accelerometer and magnetometer using the calibration data. When the motor rotates, the accelerometer and magnetometer signals form an unbiased circle; however, in practice, they appear as biased circles owing to sensor bias errors (Fig. 3). To calibrate the bias errors, the biases of the accelerometer (bA,xz) and magnetometer (bM,xz) on the XZ plane of the sensor frame are determined through the following optimization problem:
(9.a) |
(9.b) |
where gxz and mxz correspond to the magnitudes of the gravitational acceleration and the Earth’s magnetic field vectors projected onto the XZ plane of the sensor frame, respectively.
The second step is the rotation axis alignment, which converts to using Eq. (4). The alignment matrices and are determined based on alignment data. The SYM in Eq. (7.a) is calculated using the average of the gyroscope signals during 10 rotations at 200 rpm in the alignment data, and in Eq. (5.a) is calculated using the averages of the accelerometer and magnetometer signals during an initial static period of 10 s.
The third step is to calibrate the rotation error of the sensor signal with respect to the elevation rotation axis. This approach generates a lookup table by calculating the rotation error angle of the sensor signals for each elevation from the calibration data and then estimates and calibrates the rotation error in the validation data. The lookup table consists of the elevation angles calculated from the sensor signals as input variables and the rotation error angles of the accelerometer and magnetometer signals as output variables. The error angle is defined as the angle between the ideal and actual signals with respect to the rotational axis. The ideal signals of the accelerometer and magnetometer are determined as follows:
(10.a) |
(10.b) |
where Ig and Im are the gravitational acceleration and Earth’s magnetic field vectors observed in the inertial frame, respectively, which are determined as follows under the assumption that the initial sensor signals are the truth values:
(11.a) |
(11.b) |
is the ideal orientation matrix of the sensor frame with respect to the inertial frame and is determined as follows:
(12) |
Here, is the ideal orientation matrix of the motorrotation frame with respect to the motor-fixed frame and is determined as follows:
(13) |
Based on the ideal signals yideal produced using Eq. (10) and the sensor signals ycal from the calibration data, the error angle with respect to the rotation axis can be calculated as follows:
(14) |
Here, is a signal projected onto the XZ plane of the motor rotation frame, where the Y-axis component is zero. After a lookup table is generated, the rotation error angles of the accelerometer signal (δθA) and magnetometer signal (δθM) are estimated using the calculated elevation angle as the input through linear interpolation, and then the sensor signals are calibrated as follows:
(15.a) |
(15.b) |
Here, the magnitude of the signals on the rotation axis plane
(XZ) should be constant even if the motor rotates; however, the magnitude may vary depending on the rotation of the motor.
Therefore, after the rotation errors are calibrated, the magnitude of the XZ-axis signal is normalized to that of the initial XZ-axis signal. The rotation error calibration process, including normalization, is expressed as follows.
(16) |
Here, matrix K is a matrix of the magnitude factors for each axis, expressed as follows:
(17) |
where kx and ky are expressed as
(18) |
The fourth step is to fix the Y-axis component of to the initial Y-axis component, based on the assumption that the rotation axial component of the sensor signal should be constant even when the motor rotates. Hence, the Y-axis magnitude factor in the matrix K of Eq. (17) is applied as follows:
(19) |
After the sensor signals are calibrated through the above process, the orientation matrix is determined using Eqs. (2)–(4) based on the corrected signals and , and the elevation angle is calculated using Eq. (8).
2.2 Azimuth Estimation Procedure
This section describes the procedure to estimate the azimuth. Four frames are used for this, similar to the elevation estimation (Fig. 4). Here, the motor-fixed frame is a fixed reference frame in which the Z-axis is the rotation axial direction and the X-axis is the direction of the Earth’s magnetic field vector projected onto the rotation axis plane, and the motor rotation frame corresponds to the motor-fixed frame after rotating by ψ about the Z-axis.
The processes for determining the orientation matrix of the sensor frame with respect to the inertial frame based on the accelerometer and magnetometer signals and converting to are the same as those in Eqs. (2)–(5) in estimating the elevation. In azimuth estimation, because the rotational axial direction corresponds to the Z-axis of the motor-fixed frame, the initial orientation matrix of the sensor frame with respect to the motor-fixed frame, which is required to calculate and of Eq. (5), is determined as follows:
(20) |
Here, the three axis vectors are determined as follows:
(21.a) |
(21.b) |
(21.c) |
The azimuth angle ψ corresponding to the yaw of the ZYX Euler angles is calculated as follows from the direction cosine matrix of Eq. (4).
(22) |
However, as in the case of estimating the elevation angle, the azimuth estimation is inaccurate because of sensor errors. Therefore, the following procedure is performed for highprecision azimuth calculation (Fig. 2): (1) magnetometer bias calibration, (2) rotation axis alignment, (3) rotation error calibration of the sensor signal, and (4) pivoting the rotation axial component of the sensor signal.
The first step is to calibrate the magnetometer bias. The magnetometer bias bM,xy was determined from the calibration data to minimize the following cost function (Fig. 5):
(23) |
where mxy corresponds to the magnitude of the Earth’s magnetic field vector projected onto the XY plane of the sensor frame.
The second step is the rotation axis alignment, which converts to (Eq. (4)). The alignment matrices and are determined based on the alignment data. SZM in Eq. (21.a) is calculated using the average of the gyroscope signals during 10 rotations at 200 rpm in the alignment data and in Eq. (5.a) is calculated using the average of the accelerometer and magnetometer signals during an initial static period of 10 s.
The third step is to calibrate the rotation error angle of the sensor signal with respect to the azimuthal rotation axis. As with estimating the elevation, after a lookup table containing the rotation error angles of the accelerometer and magnetometer signals is generated from the calibration data, the error angles are estimated and calibrated using the validation data. The error angle of the sensor signal is the angle between the ideal and actual signals on the plane of the rotation axis. The ideal signals of the accelerometer and magnetometer are determined using Eq. (10). The ideal orientation matrix is determined as follows:
(24) |
Using the ideal signal yideal and actual signal ycal from the calibration data, we calculate the rotation error angle of the sensor signal as follows:
(25) |
Here, is a signal projected onto the XY plane, where the Z-axis component is zero. After a lookup table is generated, the error angles of the accelerometer signal (δθA) and magnetometer signal
(δθM) are estimated using the calculated azimuth angle as the input through linear interpolation, and then the sensor signals are calibrated as follows:
(26.a) |
(26.b) |
Here, the magnitude of the signal on the rotation axis plane (XY) is normalized to the initial magnitude. Rotation error calibration, including normalization, is expressed as follows:
(27) |
The magnitude factors for the X and Y axes in matrix K are as follows:
(28) |
The fourth step is to fix the Z-axis component, which is the direction of the rotation axis, to the Z-axis component of the initial signal. The magnitude factor for the Z-axis in matrix K is applied as follows:
(29) |
After the sensor signal is calibrated through the above process, the orientation matrix is determined using Eqs. (2)–(4) based on the corrected signal, and the azimuth is then calculated using Eq. (22).
3. RESULTS AND DISCUSSIONS
3.1 Simulation and Experiment
In this study, the accuracies of the azimuth and elevation estimation procedures were verified through simulations and experiments. For the experiment, a nine-axis IMU (MTw, Xsens Technologies B.V., Netherlands) was attached to a servo motor system (HF-SP202, Mitsubishi Electric Corp., Japan), and the IMU data were collected at a sampling rate of 100 Hz. The servo motor system was installed separately for elevation and azimuth rotations (Fig. 6) and MR-J3-200A driver (Mitsubishi Electric Corp., Japan) was used to operate the servo motor. The IMU was fixed to the servo motor using a jig. Table 1 lists the specifications of the MTw accelerometer and magnetometer.
In the simulation test, the calibration and validation data for the elevation/azimuth estimation were generated using the following operating sequence: (1) rotating clockwise in 15° increments up to 90° (maintaining a static state for 15 s at each step), (2) returning to the original position, (3) rotating counterclockwise in 15° increments up to 90° (maintaining a static state for 15 s at each step), and (4) returning to the original position. The signals of the three-axis accelerometer and threeaxis magnetometer were generated based on the MTw specifications, and the rotation axis alignment parameters were determined from the experimental data. White Gaussian noise, misalignment error, non-orthogonality, and constant bias error were applied as the sensor error factors (Table 1). The constant bias was set to 1 mg for the accelerometer and 1 mG for the magnetometer.
For experimental validation, experiments were conducted to collect data for the rotation axis alignment and calibration/validation. The data for the rotation axis alignment were collected by maintaining the servo motor in a static state for 10 s and then rotating it to a total of 3600° at 200 rpm. The data for calibration/validation were collected with ten repetitions of the same motor operation sequence as in the simulation test. The elevation/ azimuth accuracies were evaluated sequentially using the i-th datum for calibration and the i+1-th datum for validation of ten data, yielding results for a total of nine validation data. In the simulation and experimental results, the elevation/azimuth accuracies were compared in four cases according to the steps of the proposed procedure: (Case 1) up to bias calibration, (Case 2) up to rotation axis alignment, (Case 3) up to rotation error calibration (including magnitude normalization of the sensor signal on the rotation axis plane), and (Case 4) up to pivoting of the rotation axial component. From the experimental results, the average and standard deviation of the elevation/azimuth errors of the nine validation datasets for each case were calculated and analyzed.
3.2 Results
The simulation results for elevation estimation are described first. Fig. 7 shows the elevation error results for each motor rotation during the simulation. Case 1 had absolute errors greater than 1.2° except when the elevation was ±180°, which was a very large level of error compared to Cases 2−4. In Case 2, the error increased significantly when the elevation was ±90°, but decreased as it approached 0° and ±180°. For example, errors were 0.387° and 0.508° at −90° and 90° elevations, respectively, whereas at ±180°, the error was within 0.02°. Cases 3 and 4 exhibited absolute errors within 0.04° for most rotation angles. However, In Case 3, the error increased significantly when the elevation was ±90°, similar to the results in Case 2. For example, the errors at −90° and 90° elevations were 0.370° and −0.602°, respectively. In contrast, Case 4 maintained errors within 0.04° for all the rotation angles.
Next, the simulation results for the azimuth estimation are described. Fig. 8 shows the azimuthal error results from the simulation. In Case 1, the error varied significantly with the azimuth angle. For instance, the error was 0.109° at an elevation of −165°, while it was −0.083° at −60°, showing a variation of approximately 0.19°. Case 2 exhibits results similar to those of Case 1, and the difference between the two cases is within 0.002°. Cases 3 and 4 had absolute errors within 0.04°, and the difference between the two cases was within 0.001°, indicating that the improvement in accuracy owing to the transition from Cases 3 to 4 was insignificant.
The following describes the experimental results of elevation estimation. Fig. 9 shows the average and standard deviation results for the elevation errors of the nine validation datasets. Case 1 exhibited a significant average error exceeding 1.5°, which is similar to the simulation results, with a standard deviation of 0.02° for the nine data points. In Case 2, the error varied depending on the motor rotation angle. Case 3 exhibited a similar error pattern to Case 2 for all elevation angles and had larger errors than Case 2 in counterclockwise rotation. Case 4 had absolute errors within 0.02°, which were very low compared to those of Cases 2 and 3, and the variation in error according to the elevation angle was insignificant.

Average (with standard deviation) of elevation errors from Cases 1−4 according to the elevation in the experimental tests
The following describes the experimental results of azimuth estimation. Fig. 10 shows the average and standard deviation results for the azimuthal errors of the nine validation datasets. In the results of Cases 1 and 2, the errors were larger than those in Cases 3 and 4, and they varied significantly depending on the azimuthal angle. In addition, the difference between the errors in Cases 1 and 2 was insignificant (within 0.001°). In contrast, Cases 3 and 4 had low errors and low variability depending on the azimuth angle.
3.3 Discussion
The comparison results of Cases 1–4 from the simulation and experiment described above show the step-by-step effects of the elevation and azimuth estimation procedures, i.e., rotation axis alignment, rotation error correction, and pivoting of the rotation axis direction component. The effect of the rotation axis alignment was more significant in elevation estimation than in azimuth estimation. For example, in the elevation estimation results, Case 2 exhibited accuracies higher than those of Case 1 by more than 1°, whereas in the azimuth estimation results, the difference between Cases 1 and 2 was within 0.002°. To investigate the cause of these results, we applied the misalignment angles of roll 1°, pitch 1°, and yaw 0°, and the aligned/misaligned rotation frames were compared when the elevation/azimuth angles were 0° and 60° (Fig. 11). Here, the 3D frame results and projected frame results on the rotation axis plane (XZ axis for elevation, XY axis for azimuth) were analyzed. The results showed that the differences between the aligned and misaligned frames on the rotation axis plane were large for the elevation but small for the azimuth. This appears to be because the rotation about the Z-axis (yaw angle) was not considered in the misalignment. This is because the misalignment in azimuth estimation is due to the difference between the motor rotation axis and the gravity axis, which only causes tilt rotation (roll, pitch) without yaw rotation. This result indicates that the rotation axis alignment does not affect the azimuth accuracy but affects the elevation accuracy. Additionally, in the elevation estimation, Case 1 had minimal errors at the elevation angles of ±180°. For elevation estimation, the initial accelerometer signal (at an elevation angle of 0°) was considered as the true value, and at an elevation angle of 180°, the accelerometer signal was measured as the opposite vector of the initial signal. Accordingly, we assumed that the accelerometer signals on the rotation axis plane were not distorted by misalignment at elevation angles of 0° and ±180°.

Comparison of 3D and projection (on the plane of the rotation axis) results of aligned and misaligned coordinate systems for elevation ((a) aligned, (b) misaligned) and azimuth ((c) aligned, (d) misaligned) rotations
The accuracies of Cases 2 and 3 differed in the elevation and azimuth results, whereas Case 4, which applied all steps of the procedure, exhibited the highest level of accuracy in most results. In particular, the accuracy improvement in Case 4 was greater in the experimental results than in the simulation results. In the simulation, the sensor signals were generated considering only four error factors, whereas the actual sensor signals exhibited more uncertainty. In addition, even if the experimental conditions were set to exclude dynamic/magnetic disturbances, unintended disturbances owing to motor operation or the environment could occur, which would cause errors in the elevation and azimuth. Case 4 was also affected by the reproducibility of the sensor signals; however, the experimental results were meaningful in that they showed that a high elevation/azimuth accuracy can be achieved despite such inaccuracy factors.
Compared with Case 3, Case 4 had a higher accuracy in most results, which indicates that fixing the rotation axis direction component is effective for precise elevation/azimuth estimation. To analyze this result, we compared the magnetometer signals corrected in Cases 2–4 for 24 azimuth rotations with the ideal magnetometer signal (Fig. 12). Fig. 12 shows the sensor signals projected onto the XY and XZ planes of the motor rotation frame {M’}. In the XY-plane results, Case 2 exhibited differences from the ideal signal, whereas Cases 3 and 4 showed that the signals were corrected in the same direction as the ideal signal. However, in the XZ plane, only the corrected signal in Case 4 matched the ideal signal. This is because the rotation axial component of the sensor signal should be constant even when the motor rotates in an ideal situation. Case 4 applied the rotation axis direction component as a fixed constant. Accordingly, we can conclude that Case 4 enabled a more precise elevation/azimuth estimation than Case 3.
4. CONCLUSIONS
In this paper, we propose a procedure for high-precision elevation/azimuth estimation under stationary conditions for a servo motor system that permits only single-axis rotation. Existing sensor calibration relies on 3D sensor rotation; however, it cannot be applied to a system with a single rotation degree of freedom. In addition, inaccuracy in elevation/azimuth estimation may occur because of the difference between the motor rotation axis and reference axis. Considering these constraints of the motor system, the proposed procedure applies the rotation axis alignment and rotation error calibration of the sensor signal.
The elevation/azimuth accuracy of the proposed procedure was compared and analyzed according to the correction step using simulation and experimental results. In the experimental results for the elevation estimation, Case 1 produced an error of 1.53°, Cases 2 and 3 produced errors of approximately 0.11°, and Case 4 produced an error of 0.01° in terms of the average absolute error. In the experimental results for the azimuth estimation, Cases 1 and 2 produced an error of approximately 0.59°, Case 3 produced an error of 0.02°, and Case 4 produced an error of 0.01°. Accordingly, it was confirmed that the proposed procedure for Case 4 achieved an average accuracy of 0.01° for the elevation and azimuth estimation. In Case 4, the rotation error calibration uses a lookup table that contains the rotation error angle of the sensor signal calculated in advance from the calibration data, and is therefore based on the reproducibility of the sensor signal. From this perspective, the magnetometer has greater variability or deterioration of the reproducibility of the sensor signal owing to environmental changes or time progress than the accelerometer, which is a significant cause of azimuth estimation error.
With regard to IMU-based elevation and azimuth estimations, existing studies have primarily focused on improving the estimation accuracy by minimizing the influence of disturbance factors in dynamic conditions or magnetically disturbed environments. However, this study examines the extent to which estimation accuracy can be achieved in a controlled environment that minimizes disturbance factors, and introduces a testing procedure to achieve this. This aspect may be considered as the originality that distinguishes this study from previous research. In future research, we will compare the performance of the proposed procedure with that of existing elevation/azimuth estimation methods to improve the credibility of the findings.
Acknowledgments
This work was supported by Korea Research Institute for defense Technology planning and advancement (KRIT) grant funded by the Korea government (DAPA(Defense Acquisition Program Administration)) (No.20-302-H00-002(KRIT-CT-22-070), Development of Next-Generation Non-Laser-Based MILES, 2022)
References
-
H. G. De Marina, F. J. Pereda, J. M. Giron-Sierra, and F. Espinosa, “UAV attitude estimation using unscented Kal-man filter and TRIAD”, IEEE Trans. Ind. Electron., Vol. 59, No. 11, pp. 4465-4474, 2011.
[https://doi.org/10.1109/TIE.2011.2163913]
-
R. Alkadi, S. Al-Ameri, A. Shoufan, and E. Damiani, “Identifying drone operator by deep learning and ensemble learning of IMU and control data”, IEEE Trans. Hum. Mach. Syst., Vol. 51, No. 5, pp. 451-462, 2021.
[https://doi.org/10.1109/THMS.2021.3102508]
-
S. Choi, Y. Choi, and J. Jung, “Improved localization of unmanned underwater vehicle via cooperative navigation of unmanned surface vehicle equipped with ultrashort base-line”, J. Sens. Sci. Technol., Vo1. 33, No. 5, pp. 391-398, 2024.
[https://doi.org/10.46670/JSST.2024.33.5.391]
-
K. Li, L. Wang, Y. Lv, P. Gao, and T. Song, “Research on the rapid and accurate positioning and orientation approach for land missile-launching vehicle”, Sens., Vol. 15, No. 10, pp. 26606-26620, 2015.
[https://doi.org/10.3390/s151026606]
-
S. K. Jain, T. K. Jain, S. Shanker, and S. Srivastava, “Rapid and accurate INS transfer alignment for air launched tactical missile using Kalman filter”, Def. Sci. J., Vol. 73, No. 4, pp. 496-502, 2023.
[https://doi.org/10.14429/dsj.73.18435]
-
T. Khurelbaatar, K. Kim, S. Lee, and Y. H. Kim, “Con-sistent accuracy in whole-body joint kinetics during gait using wearable inertial motion sensors and in-shoe pressure sensors”, Gait Posture, Vol. 42, No. 1, pp. 65-69, 2015.
[https://doi.org/10.1016/j.gaitpost.2015.04.007]
-
M. P. Mavor, G. B. Ross, A. L. Clouthier, T. Karakolis, and R. B. Graham, “Validation of an IMU suit for military-based tasks”, Sens., Vol. 20, No. 15, p. 4280, 2020.
[https://doi.org/10.3390/s20154280]
-
Á. Odry, R. Fullér, I. J. Rudas, and P. Odry, “Kalman filter for mobile-robot attitude estimation: Novel optimized and adaptive solutions”, Mech. Syst. Signal Process., Vol. 110, pp. 569-589, 2018.
[https://doi.org/10.1016/j.ymssp.2018.03.053]
-
Y. Lu, L. Wang, T. Song, and W. Wang, “A high-precision motor control method for tracking wandering azimuth coor-dinate system based on tri-axis rotational inertial navigation system (RINS)”, IEEE Sens. J., Vol. 21, No. 24, pp. 27993-28000, 2021.
[https://doi.org/10.1109/JSEN.2021.3126310]
-
L. P. Sánchez-Fernández, L. A. Sánchez-Pérez, J. J. Car-bajal-Hernández, M. A. Hernández-Guerrero, and L. Pérez-Echazabal, “Buildings’ biaxial tilt assessment using inertial wireless sensors and a parallel training model”, Sens., Vol. 23, No. 11, p. 5352, 2023.
[https://doi.org/10.3390/s23115352]
-
C. Yang, Q. Zeng, Z. Xiong, and J. Yang, “IMU/Mag-netometer-based azimuth estimation with norm constraint filtering”, Sens., Vol. 24, No. 10, p. 2982, 2024.
[https://doi.org/10.3390/s24102982]
-
J. K. Lee, E. J. Park, and S. N. Robinovitch, “Estimation of attitude and external acceleration using inertial sensor mea-surement during various dynamic conditions”, IEEE Trans. Instrum. Meas., Vol. 61, No. 8, pp. 2262-2273, 2012.
[https://doi.org/10.1109/TIM.2012.2187245]
-
C. J. Lee and J. K. Lee, “A review of orientation estimation algorithms for AHRS using rule-based filtering and machine learning”, J. Inst. Control. Robot. Syst., Vol. 30, No. 5, pp. 511-523, 2024.
[https://doi.org/10.5302/J.ICROS.2024.24.0007]
-
J. Lee, J. Lim, and J. Lee, “Compensated heading angles for outdoor mobile robots in magnetically disturbed environment”, IEEE Trans. Ind. Electron., Vol. 65, No. 2, pp. 1408-1419, 2017.
[https://doi.org/10.1109/TIE.2017.2726958]
-
G. Ligorio and A. M. Sabatini, “A linear Kalman filtering-based approach for 3D orientation estimation from mag-netic/inertial sensors”, Proc. of 2015 IEEE Int. Conf. Multisens. Fusion Integr. Intell. Syst., pp. 77-82, San Diego, USA, 2015.
[https://doi.org/10.1109/MFI.2015.7295749]
-
J. K. Lee, “A parallel attitude-heading Kalman filter without state-augmentation of model-based disturbance components”, IEEE Trans. Instrum. Meas., Vol. 68, No. 7, pp. 2668-2670, 2019.
[https://doi.org/10.1109/TIM.2019.2906417]
-
S. B. Farahan, J. J. Machado, F. G. de Almeida, and J. M. R. Tavares, “9-DOF IMU-based attitude and heading estimation using an extended Kalman filter with bias consideration”, Sens., Vol. 22, No. 9, p. 3416, 2022.
[https://doi.org/10.3390/s22093416]
-
D. Weber, C. Gühmann, and T. Seel, “RIANN—A robust neural network outperforms attitude estimation filters”, AI, Vol. 2, No. 3, pp. 444-463, 2021.
[https://doi.org/10.3390/ai2030028]
-
X. Yun, E. R. Bachmann, and R. B. McGhee, “A simplified quaternion-based algorithm for orientation estimation from earth gravity and magnetic field measurements”, IEEE Trans. Instrum. and Meas., Vol. 57, No. 3, pp. 638-650, 2008.
[https://doi.org/10.1109/TIM.2007.911646]
-
H. K. Kuga and V. Carrara, “Attitude determination with magnetometers and accelerometers to use in satellite simulator”, Math. Probl. Eng., Vol. 2013, No. 1, p. 401282, 2013.
[https://doi.org/10.1155/2013/401282]
-
J. Wu, Z. Zhou, H. Fourati, and Y. Cheng, “A super fast attitude determination algorithm for consumer-level accelerometer and magnetometer”, IEEE Trans. Consum. Electron., Vol. 64, No. 3, pp. 375-381, 2018.
[https://doi.org/10.1109/TCE.2018.2859625]
-
F. O. Silva, R. P. Menezes Filho, L. A. Vieira, H. K. Kuga, and E. A. de Barros, “Three-axis attitude determination with pseudo-bias estimation from gravity/magnetic vector observations”, J. Guid. Control Dyn., Vol. 43, No. 12, pp. 2237-2257, 2020.
[https://doi.org/10.2514/1.G005253]
- M. Kok, J. D. Hol, T. B. Schön, F. Gustafsson, and H. Luinge, “Calibration of a magnetometer in combination with inertial sensors”, Proc. of 15th Int. Conf. Inf. Fusion, pp. 787-793, Singapore, 2012.
-
M. Gaitan and J. Geist, “Calibration of triaxial accelerometers by constant rotation rate in the gravitational field”, Meas., Vol. 189, p. 110528, 2022.
[https://doi.org/10.1016/j.measurement.2021.110528]