Extension of the Rigid-Constraint Method for the Heuristic Suboptimal Parameter Tuning to Ten Sensor Fusion Algorithms Using Inertial and Magnetic Sensing
Abstract
:1. Introduction
2. Materials and Methods
2.1. Optimal vs Suboptimal Working Conditions
RCM Description
2.2. Selected SFAs
- Mahony et al., 2008 [14] (MAH), with 2 parameters;
- Madgwick et al., 2011 [12] (MAD), with 1 parameter;
- Valenti et al., 2015 [15] (VAC), with 9 parameters;
- Seel et al., 2017 [16] (SEL), with 4 parameters;
- MATLAB complementary filter R2020a (MCF), the implementation of VAC by the MathWorks with only two parameters.
- Sabatini 2011 [17] (SAB), with 6 parameters;
- Ligorio and Sabatini 2015 [18] (LIG), with 6 parameters;
- Valenti et al., 2016 [19] (VAK), with 3 parameters;
- Guo et al., 2017 [20] (GUO), with 3 parameters;
- MATLAB Kalman filter R2020a (MKF), the implementation by MathWorks of the filter by Roetenberg et al., 2005 [21], with 8 parameters.
2.3. Experimental Setup and Protocol
2.4. Data Processing
Orientation Estimation and Error Computation under Optimal and Suboptimal Conditions
- is the ground-truth orientation expressed in the quaternion form. It describes the orientation of the LCS of SP referred to its initial orientation and it was obtained by using the SVD technique [22]. From trigonometry considerations, as described in Section 2.5.1. of [10], the errors which affect the ground-truth orientation are lower than 0.5 deg;
- and are the two vectors which contain, for each SFA, the values of the two parameters ranging from to and from 0 to , respectively. In general, the two upper limits were chosen large enough to ensure that all the relevant search space was explored. The values of and can be observed in the figures of Appendix A. The lower limit for all the SFAs was set to zero but for ath2 of VAC which was set to the value of the first threshold for the accelerometer measurements (a lower value would be meaningless since for the constraint is ath2 ≥ ath1). The average number of combinations explored was not the same for all the SFAs since it was a trade-off between computational costs and the search space size (on average it amounts to 360 combinations).
2.5. Data Analysis
2.5.1. Identification of the Optimal Region for Each Scenario and the Corresponding Optimal Absolute Error
- Optimal absolute orientation error: . In other words, is the lowest error achievable when both parameter values are optimally tuned.
- The optimal region correspond to the range of the parameter values whose combinations provide errors within [, + 0.5 deg], where 0.5 is the uncertainty related to the ground-truth errors: .
2.5.2. Identification of the Suboptimal Parameter Values for Each Scenario and the Corresponding Suboptimal Absolute Error
- Minimum relative orientation difference: .
- The suboptimal region is defined by the values of and corresponding to : When the region, was formed by two or more separated sub-regions, only the largest was considered.
- The suboptimal parameter values ( and ) are the values of and corresponding to the centroid of the suboptimal region: .
- The suboptimal absolute orientation error is the absolute orientation error corresponding to and : .
2.5.3. RCM Validation Metric
3. Results
3.1. Optimal and Suboptimal Errors
3.2. Optimal and Suboptimal Regions
4. Discussion
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
CF | Complementary Filter |
GCS | Global Coordinate System |
KF | Kalman Filter |
LCS | Local Coordinate System |
MIMU | Magneto-Inertial Measurement Unit |
RCM | Rigid Constraint Method |
rms | Root Mean Square |
SFA | Sensor Fusion Algorithm |
SP | Stereophotogrammetric System |
STD | Standard Deviation |
Absolute orientation | the orientation of the LCS of a system with respect to its GCS |
Absolute orientation error | the difference between the orientation of the LCS of a MIMU computed by a SFA and its actual orientation computed by the optical reference (SP) and expressed by the angle given by the axis-angle convention |
minimum absolute orientation error which corresponds to the selection of the optimal parameter values | |
absolute orientation error which corresponds to the selection of the suboptimal parameter values | |
Optimal parameter region | the range of parameter values for which the orientation errors are equal to plus 0.5 deg |
Relative orientation difference | the difference between the LCSs of two MIMUs both computed by a SFA and expressed by the angle given by the axis-angle convention |
Suboptimal parameter region | the range of parameter values corresponding to the minimum of the relative orientation difference |
Suboptimal parameter values | Parameter values corresponding to the centroid of the suboptimal parameter region |
Appendix A
References
- Cavallo, A.; Cirillo, A.; Cirillo, P.; De Maria, G.; Falco, P.; Natale, C.; Pirozzi, S. Experimental Comparison of Sensor Fusion Algorithms for Attitude Estimation; IFAC: New York, NY, USA, 2014; Volume 47, ISBN 9783902823625. [Google Scholar]
- Ricci, L.; Taffoni, F.; Formica, D. On the orientation error of IMU: Investigating static and dynamic accuracy targeting human motion. PLoS ONE 2016, 11, 1–15. [Google Scholar] [CrossRef] [Green Version]
- Justa, J.; Šmídl, V.; Hamáček, A. Fast AHRS filter for accelerometer, magnetometer, and gyroscope combination with separated sensor corrections. Sensors 2020, 20, 3824. [Google Scholar] [CrossRef]
- Weber, D.; Gühmann, C.; Seel, T. Neural Networks Versus Conventional Filters for Inertial-Sensor-based Attitude Estimation. In Proceedings of the 2020 IEEE 23rd International Conference on Information Fusion (FUSION), Virtual Conference, 6–9 July 2020. [Google Scholar]
- Cuadrado, J.; Michaud, F.; Lugrís, U.; Pérez Soto, M. Using accelerometer data to tune the parameters of an extended kalman filter for optical motion capture: Preliminary application to gait analysis. Sensors 2021, 21, 427. [Google Scholar] [CrossRef] [PubMed]
- Nazarahari, M.; Rouhani, H. 40 Years of Sensor Fusion for Orientation Tracking via Magnetic and Inertial Measurement Units: Methods, Lessons Learned, and Future Challenges. Inf. Fusion 2020, 68, 67–84. [Google Scholar] [CrossRef]
- Nazarahari, M.; Rouhani, H. Sensor fusion algorithms for orientation tracking via magnetic and inertial measurement units: An experimental comparison survey. Inf. Fusion 2021, 76, 8–23. [Google Scholar] [CrossRef]
- Caruso, M.; Sabatini, A.M.; Knaflitz, M.; Gazzoni, M.; Croce, U.D.; Cereatti, A. Accuracy of the Orientation Estimate Obtained Using Four Sensor Fusion Filters Applied to Recordings of Magneto-Inertial Sensors Moving at Three Rotation Rates. In Proceedings of the 2019 41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), Berlin, Germany, 23–27 July 2019; pp. 2053–2058. [Google Scholar] [CrossRef]
- Caruso, M.; Sabatini, A.M.; Knaflitz, M.; Gazzoni, M.; Croce, U.D.; Cereatti, A. Orientation Estimation through Magneto-Inertial Sensor Fusion: A Heuristic Approach for Suboptimal Parameters Tuning. IEEE Sens. J. 2021, 21, 3408–3419. [Google Scholar] [CrossRef]
- Caruso, M.; Sabatini, A.M.; Laidig, D.; Seel, T.; Knaflitz, M.; Della Croce, U.; Cereatti, A. Analysis of the Accuracy of Ten Algorithms for Orientation Estimation Using Inertial and Magnetic Sensing under Optimal Conditions: One Size Does Not Fit All. Sensors 2021, 21, 2543. [Google Scholar] [CrossRef] [PubMed]
- Laidig, D.; Caruso, M.; Cereatti, A.; Seel, T. BROAD—A Benchmark for Robust Inertial Orientation Estimation. Data 2021, 6, 72. [Google Scholar] [CrossRef]
- Madgwick, S.O.H.; Harrison, A.J.L.; Vaidyanathan, R. Estimation of IMU and MARG orientation using a gradient descent algorithm. In Proceedings of the 2011 IEEE International Conference on Rehabilitation Robotics, Zurich, Switzerland, 27 June –1 July 2011. [Google Scholar] [CrossRef]
- Chang, H.; Xue, L.; Qin, W.; Yuan, G.; Yuan, W. An Integrated MEMS Gyroscope Array with Higher Accuracy Output. Sensors 2008, 8, 2886–2899. [Google Scholar] [CrossRef] [Green Version]
- Mahony, R.; Hamel, T.; Pflimlin, J.M. Nonlinear complementary filters on the special orthogonal group. IEEE Trans. Automat. Contr. 2008, 53, 1203–1218. [Google Scholar] [CrossRef] [Green Version]
- Valenti, R.G.; Dryanovski, I.; Xiao, J. Keeping a good attitude: A quaternion-based orientation filter for IMUs and MARGs. Sensors 2015, 15, 19302–19330. [Google Scholar] [CrossRef] [Green Version]
- Seel, T.; Ruppin, S. Eliminating the Effect of Magnetic Disturbances on the Inclination Estimates of Inertial Sensors. IFAC-PapersOnLine 2017, 50, 8798–8803. [Google Scholar] [CrossRef]
- Sabatini, A.M. Estimating three-dimensional orientation of human body parts by inertial/magnetic sensing. Sensors 2011, 11, 1489–1525. [Google Scholar] [CrossRef] [Green Version]
- Ligorio, G.; Sabatini, A.M. A novel kalman filter for human motion tracking with an inertial-based dynamic inclinometer. IEEE Trans. Biomed. Eng. 2015, 62, 2033–2043. [Google Scholar] [CrossRef]
- Valenti, R.G.; Dryanovski, I.; Xiao, J. A linear Kalman filter for MARG orientation estimation using the algebraic quaternion algorithm. IEEE Trans. Instrum. Meas. 2016, 65, 467–481. [Google Scholar] [CrossRef]
- Guo, S.; Wu, J.; Wang, Z.; Qian, J. Novel MARG-Sensor Orientation Estimation Algorithm Using Fast Kalman Filter. J. Sensors 2017, 2017. [Google Scholar] [CrossRef] [Green Version]
- Roetenberg, D.; Baten, C.T.M.M.; Veltink, P.H. Estimating body segment orientation by applying inertial and magnetic sensing near ferromagnetic materials. IEEE Trans. Neural Syst. Rehabil. Eng. 2007, 15, 469–471. [Google Scholar] [CrossRef] [Green Version]
- Cappozzo, A.; Cappello, A.; Croce, U.D.; Pensalfini, F. Surface-marker cluster design criteria for 3-d bone movement reconstruction. IEEE Trans. Biomed. Eng. 1997, 44, 1165–1174. [Google Scholar] [CrossRef] [PubMed]
- Caruso, M.; Cereatti, A.; Della Croce, U. Mimu_Optical_Sassari_Dataset; IEEE: Piscataway, NJ, USA, 2020. [Google Scholar]
- Olivares, A.; Górriz, J.M.; Ramírez, J.; Olivares, G. Using frequency analysis to improve the precision of human body posture algorithms based on Kalman filters. Comput. Biol. Med. 2016, 72, 229–238. [Google Scholar] [CrossRef] [PubMed]
- Ludwig, S.A.; Jiménez, A.R. Optimization of gyroscope and accelerometer/magnetometer portion of basic attitude and heading reference system. In Proceedings of the 2018 5th IEEE International Symposium on Inertial Sensors and Systems (INERTIAL), Lake Como, Italy, 26–29 March 2018; pp. 1–4. [Google Scholar] [CrossRef]
- Lebel, K.; Boissy, P.; Hamel, M.; Duval, C. Inertial measures of motion for clinical biomechanics: Comparative assessment of accuracy under controlled conditions—Effect of velocity. PLoS ONE 2013, 8, e79945. [Google Scholar] [CrossRef] [PubMed]
- Lebel, K.; Boissy, P.; Hamel, M.; Duval, C. Inertial measures of motion for clinical biomechanics: Comparative assessment of accuracy under controlled conditions—Changes in accuracy over time. PLoS ONE 2015, 10, e0118361. [Google Scholar] [CrossRef]
- Bertuletti, S.; Cereatti, A.; Comotti, D.; Caldara, M.; Della Croce, U. Static and dynamic accuracy of an innovative miniaturized wearable platform for short range distance measurements for human movement applications. Sensors 2017, 17, 1492. [Google Scholar] [CrossRef] [PubMed] [Green Version]
CF | # Params | Default | Default | ||||
---|---|---|---|---|---|---|---|
MAH | 2 | kp—inverse gyroscope weight | 1 | rad/s | ki—weight for online bias estimation | 0.3 | rad/s |
MAD | 1 | β—inverse gyroscope weight | 0.1 | rad/s | / | / | |
VAC | 9 | gmag—magnetometer weight | 0.01 | a.u. | ath2—threshold for accelerometer vector selection | 0.2 | a.u. |
SEL | 4 | τacc—accelerometer time constant | 1 | s | τmag—magnetometer time constant | 3 | s |
MCF | 2 | gmag—magnetometer weight | 0.01 | a.u. | / | / | |
KF | # Params | Default | Default | ||||
SAB | 6 | σgyr—inverse gyroscope weight | 0.007 | rad/s | ath—threshold for accelerometer vector selection | 40 | mg |
LIG | 6 | σgyr—inverse gyroscope weight | 1 | rad/s | cb—Gauss-Markov parameter of the prediction model to set the variance of external acceleration and ferromagnetic disturbances | 1 | a.u. |
VAK | 3 | σgyr—inverse gyroscope weight | 0.004 | rad/s | σacc—inverse accelerometer weight | 0.014 | m/s2 |
GUO | 3 | σgyr—inverse gyroscope weight | 0.001 | rad/s | / | / | |
MKF | 8 | σ2gyr—inverse gyroscope weight | 9.14 × 10−5 | (rad/s)2 | / | / |
System | Software | Sampling Frequency |
---|---|---|
Xsens—MTx | MT Manager Version 1.7 | 100 Hz |
APDM—Opal | Motion Studio Version 1.0.0.201712300 | 128 Hz (resampled at 100 Hz) |
Shimmer—Shimmer3 | Consensys v.1.5.0 | 100 Hz |
Vicon—T20 | Nexus v2.7 | 100 Hz |
STD | Accelerometer (mg) | Gyroscope (deg/s) | Magnetometer (µT) | ||||||
---|---|---|---|---|---|---|---|---|---|
x | y | z | x | y | z | x | y | z | |
Xsens-MTx #1 | 0.86 | 0.80 | 0.85 | 0.38 | 0.39 | 0.37 | 0.06 | 0.04 | 0.04 |
Xsens-MTX #2 | 0.82 | 0.86 | 0.80 | 0.44 | 0.40 | 0.40 | 0.05 | 0.06 | 0.06 |
APDM-OPAL #1 | 0.38 | 0.33 | 0.38 | 0.16 | 0.23 | 0.11 | 0.26 | 0.23 | 0.20 |
APDM-OPAL #2 | 0.34 | 0.32 | 0.35 | 0.16 | 0.27 | 0.19 | 0.26 | 0.25 | 0.20 |
Shimmer-Shimmer 3 #1 | 1.06 | 0.97 | 1.26 | 0.09 | 0.08 | 0.09 | 0.84 | 0.84 | 0.69 |
Shimmer-Shimmer 3 #2 | 1.12 | 1.09 | 1.29 | 0.06 | 0.06 | 0.06 | 0.97 | 0.97 | 0.58 |
CF | KF | ||||||||
---|---|---|---|---|---|---|---|---|---|
Xsens | Slow | MAH | 2.5 | 2.5 | 0 | SAB | 2.2 | 2.2 | 0 |
Intermediate | 2.4 | 3.8 | 1.4 | 2.1 | 2.1 | 0 | |||
Fast | 4.0 | 4.2 | 0.2 | 2.4 | 2.4 | 0 | |||
APDM | Slow | 3.8 | 5.6 | 1.8 | 5.0 | 5.1 | 0.1 | ||
Intermediate | 4.8 | 4.9 | 0.1 | 5.7 | 5.8 | 0.1 | |||
Fast | 8.2 | 9.2 | 1 | 8.3 | 10.0 | 1.7 | |||
Shimmer | Slow | 3.4 | 3.7 | 0.3 | 4.5 | 4.5 | 0 | ||
Intermediate | 4.6 | 5.3 | 0.7 | 4.9 | 4.9 | 0 | |||
Fast | 7.6 | 10.6 | 3 | 8.5 | 9.6 | 1.1 | |||
Xsens | Slow | MAD | 2.7 | 2.7 | 0 | LIG | 1.9 | 2.4 | 0.5 |
Intermediate | 2.5 | 4.0 | 1.5 | 2.0 | 3.8 | 1.8 | |||
Fast | 4.0 | 4.0 | 0 | 2.9 | 3.4 | 0.5 | |||
APDM | Slow | 3.8 | 3.8 | 0 | 3.6 | 3.9 | 0.3 | ||
Intermediate | 4.6 | 4.8 | 0.2 | 4.9 | 5.1 | 0.2 | |||
Fast | 8.1 | 8.2 | 0.1 | 4.6 | 4.9 | 0.3 | |||
Shimmer | Slow | 3.9 | 4.1 | 0.2 | 4.4 | 4.6 | 0.2 | ||
Intermediate | 4.9 | 5.1 | 0.2 | 4.0 | 4.2 | 0.2 | |||
Fast | 8.8 | 10.8 | 2 | 6.3 | 6.5 | 0.2 | |||
Xsens | Slow | VAC | 4.0 | 4.0 | 0 | VAK | 1.2 | 1.5 | 0.3 |
Intermediate | 5.0 | 5.1 | 0.1 | 1.6 | 1.7 | 0.1 | |||
Fast | 7.2 | 7.2 | 0 | 2.5 | 2.5 | 0 | |||
APDM | Slow | 3.5 | 4.4 | 0.9 | 3.6 | 4.1 | 0.5 | ||
Intermediate | 6.1 | 6.4 | 0.3 | 6.0 | 6.9 | 0.9 | |||
Fast | 8.3 | 11.3 | 3 | 9.2 | 10.4 | 1.2 | |||
Shimmer | Slow | 3.8 | 3.8 | 0 | 4.0 | 4.6 | 0.6 | ||
Intermediate | 10.2 | 10.8 | 0.6 | 4.4 | 5.7 | 1.3 | |||
Fast | 11.5 | 15.2 | 3.7 | 8.2 | 10.6 | 2.4 | |||
Xsens | Slow | SEL | 3.1 | 3.5 | 0.4 | GUO | 2.3 | 2.3 | 0 |
Intermediate | 2.5 | 3.9 | 1.4 | 2.3 | 2.3 | 0 | |||
Fast | 5.1 | 5.1 | 0 | 5.7 | 5.7 | 0 | |||
APDM | Slow | 3.7 | 3.8 | 0.1 | 4.2 | 4.5 | 0.3 | ||
Intermediate | 7.1 | 7.1 | 0 | 5.1 | 5.7 | 0.6 | |||
Fast | 8.0 | 10.0 | 2 | 9.4 | 9.4 | 0 | |||
Shimmer | Slow | 3.4 | 3.5 | 0.1 | 4.0 | 4.2 | 0.2 | ||
Intermediate | 5.0 | 6.3 | 1.3 | 5.1 | 5.1 | 0 | |||
Fast | 9.4 | 10.8 | 1.4 | 13.7 | 14.4 | 0.7 | |||
Xsens | Slow | MCF | 3.3 | 3.4 | 0.1 | MKF | 4.2 | 4.3 | 0.1 |
Intermediate | 6.1 | 6.1 | 0 | 4.8 | 4.8 | 0 | |||
Fast | 6.6 | 7.5 | 0.9 | 6.7 | 6.9 | 0.2 | |||
APDM | Slow | 3.8 | 4.8 | 1 | 3.6 | 3.8 | 0.2 | ||
Intermediate | 12.3 | 12.5 | 0.2 | 5.3 | 5.3 | 0 | |||
Fast | 7.9 | 9.6 | 1.7 | 7.2 | 7.2 | 0 | |||
Shimmer | Slow | 5.0 | 5.2 | 0.2 | 3.9 | 4.2 | 0.3 | ||
Intermediate | 10.0 | 13.3 | 3.3 | 8.4 | 9.8 | 1.4 | |||
Fast | 8.6 | 8.8 | 0.2 | 9.9 | 10.0 | 0.1 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Caruso, M.; Sabatini, A.M.; Knaflitz, M.; Della Croce, U.; Cereatti, A. Extension of the Rigid-Constraint Method for the Heuristic Suboptimal Parameter Tuning to Ten Sensor Fusion Algorithms Using Inertial and Magnetic Sensing. Sensors 2021, 21, 6307. https://doi.org/10.3390/s21186307
Caruso M, Sabatini AM, Knaflitz M, Della Croce U, Cereatti A. Extension of the Rigid-Constraint Method for the Heuristic Suboptimal Parameter Tuning to Ten Sensor Fusion Algorithms Using Inertial and Magnetic Sensing. Sensors. 2021; 21(18):6307. https://doi.org/10.3390/s21186307
Chicago/Turabian StyleCaruso, Marco, Angelo Maria Sabatini, Marco Knaflitz, Ugo Della Croce, and Andrea Cereatti. 2021. "Extension of the Rigid-Constraint Method for the Heuristic Suboptimal Parameter Tuning to Ten Sensor Fusion Algorithms Using Inertial and Magnetic Sensing" Sensors 21, no. 18: 6307. https://doi.org/10.3390/s21186307
APA StyleCaruso, M., Sabatini, A. M., Knaflitz, M., Della Croce, U., & Cereatti, A. (2021). Extension of the Rigid-Constraint Method for the Heuristic Suboptimal Parameter Tuning to Ten Sensor Fusion Algorithms Using Inertial and Magnetic Sensing. Sensors, 21(18), 6307. https://doi.org/10.3390/s21186307