Nothing Special   »   [go: up one dir, main page]

Next Article in Journal
Combining Supervised and Unsupervised Learning Algorithms for Human Activity Recognition
Next Article in Special Issue
Heart and Lung Sound Measurement Using an Esophageal Stethoscope with Adaptive Noise Cancellation
Previous Article in Journal
Automatic Separation of Respiratory Flow from Motion in Thermal Videos for Infant Apnea Detection
You seem to have javascript disabled. Please note that many of the page functionalities won't work as expected without javascript enabled.
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Extension of the Rigid-Constraint Method for the Heuristic Suboptimal Parameter Tuning to Ten Sensor Fusion Algorithms Using Inertial and Magnetic Sensing

1
PolitoBIOMed Lab—Biomedical Engineering Lab, Politecnico di Torino, 10129 Torino, Italy
2
Department of Electronics and Telecommunications, Politecnico di Torino, 10129 Torino, Italy
3
Department of Excellence in Robotics & AI, The BioRobotics Institute, Scuola Superiore Sant’Anna, 56127 Pisa, Italy
4
Department of Biomedical Sciences, University of Sassari, 07100 Sassari, Italy
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(18), 6307; https://doi.org/10.3390/s21186307
Submission received: 29 July 2021 / Revised: 10 September 2021 / Accepted: 17 September 2021 / Published: 21 September 2021
(This article belongs to the Special Issue Sensors and IoT in Modern Healthcare Delivery and Applications)
Figure 1
<p>The experimental setup employed. Three pairs of MIMUs were aligned (from the bottom: Xsens—MTx, APDM—Opal and Shimmer—Shimmer3). The LCSs of the MIMUs are represented in blue. The three central markers define the LCS of the SP (in green). The MIMUs and SP systems were arranged so that their axes were aligned with the axes of the board (dashed red arrows). Figure adapted from [<a href="#B9-sensors-21-06307" class="html-bibr">9</a>].</p> ">
Figure 2
<p>Exemplificative description of the movements of the board in terms of Euler angles for the intermediate trial. As evident, from the graph, the first three rotations were performed around one axis at a time, while the last part of the movement is a combination of the movement around the three axes.</p> ">
Figure 3
<p>The grid-search approach followed to compute the absolute orientation error and the relative orientation difference for a given combination of the two parameter values. This process has been applied to each SFA for each of the nine experimental scenarios. Red and green arrows are related to the computation of the absolute error and relative difference, respectively.</p> ">
Figure 4
<p>Boxplot of the distribution of the 90 residuals (∆<span class="html-italic">e</span>). Outliers are also reported(red cross). The limit of 0.5 deg chosen to consider the suboptimal errors equivalent to the optimal error is also highlighted.</p> ">
Figure 5
<p>On the left: the optimal regions (one for each experimental scenario) obtained for LIG. On the right: the suboptimal regions (one for each experimental scenario) and their centroids obtained for LIG.</p> ">
Figure A1
<p>This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).</p> ">
Figure A1 Cont.
<p>This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).</p> ">
Figure A1 Cont.
<p>This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).</p> ">
Figure A1 Cont.
<p>This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).</p> ">
Figure A1 Cont.
<p>This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).</p> ">
Figure A1 Cont.
<p>This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).</p> ">
Review Reports Versions Notes

Abstract

:
The orientation of a magneto-inertial measurement unit can be estimated using a sensor fusion algorithm (SFA). However, orientation accuracy is greatly affected by the choice of the SFA parameter values which represents one of the most critical steps. A commonly adopted approach is to fine-tune parameter values to minimize the difference between estimated and true orientation. However, this can only be implemented within the laboratory setting by requiring the use of a concurrent gold-standard technology. To overcome this limitation, a Rigid-Constraint Method (RCM) was proposed to estimate suboptimal parameter values without relying on any orientation reference. The RCM method effectiveness was successfully tested on a single-parameter SFA, with an average error increase with respect to the optimal of 1.5 deg. In this work, the applicability of the RCM was evaluated on 10 popular SFAs with multiple parameters under different experimental scenarios. The average residual between the optimal and suboptimal errors amounted to 0.6 deg with a maximum of 3.7 deg. These encouraging results suggest the possibility to properly tune a generic SFA on different scenarios without using any reference. The synchronized dataset also including the optical data and the SFA codes are available online.

1. Introduction

The estimation of the orientation in space of a body using a sensor fusion algorithm (SFA) applied to the recordings of a wearable Magnetic and Inertial Measurement Unit (MIMU) requires the proper setting of the values of its parameters. [1,2,3,4,5,6,7]. A common method to set the parameter values consists in exploiting the ground-truth information to minimize the overall difference between the estimated and the true orientation for a given recording (optimal working condition).
However, the latter approach may be unfeasible since gold standard such as stereophotogrammetric system (SP) are rarely available out of specialized human movement laboratories. Recent works have confirmed the crucial role played by the criteria used to select appropriate parameter values [8,9,10,11]. It has also been shown that several intrinsic and extrinsic factors should be considered when performing this selection. Among them, the most critical ones are sensor noise characteristics, amplitude of motion, intensity of ferromagnetic disturbances and time required for the algorithm to converge. In light of these considerations, alternative strategies for selecting parameter values without orientation references are needed. To address this problem, we have recently presented in [9] a rigid-constraint method (RCM) for a sub-optimal estimation of the values of the single parameter (β) of the sensor fusion algorithm by Madgwick et al., [12] using a heuristic procedure which does not rely on an orientation reference. The assumption on which the method relies, is that two MIMUs aligned on a rigid body must have a null orientation difference during the movement. The orientation of the two MIMUs was computed for several values of β, separately. The main finding was that the value of β which minimizes the relative orientation difference between the MIMUs also guarantees small absolute orientation errors: the difference between the obtained and the optimal error (i.e., minimum) was 1.5 deg on average and 2.5 deg at most. This can be justified by considering that the error and disturbance characteristics affecting the sensors embedded in the two MIMUs are, in general, independent, as discussed more in detail in Section 2.1 “RCM description”. To the best of our knowledge, the RCM is the only method in the literature that specifically addressed the problem of estimating the most suitable parameter values (suboptimal) without relying on the use of a gold standard.
In this framework, this paper aims at verifying the generalizability of the RCM presented in [9] to different sensor fusion algorithms including five complementary filters (CFs) and five Kalman filters (KFs). To this end, nine experimental scenarios were considered including six MIMUs from three different manufacturers and three rotation rate magnitudes. The motions consisted in a mix of 2D and 3D rotations. For each scenario, the absolute errors corresponding to the selected suboptimal values were compared with those obtained under optimal working conditions. When this difference was lower or equal than 0.5 deg, the RCM was considered completely successful in estimating the suboptimal parameter values corresponding to the optimal orientation error for that specific SFA and experimental scenario.

2. Materials and Methods

2.1. Optimal vs Suboptimal Working Conditions

Optimal working conditions can be considered the “best case scenario” in which the parameter values of each SFA are set to provide the lowest absolute orientation error (i.e., the best performance achievable) with respect to the orientation reference provided by a gold standard system [10]. However, this can be achieved only when the experiments are conducted inside the laboratory, thus precluding the use of MIMUs for an unconstrained monitoring of patients in their free-living environment, where the orientation reference is not available.
On the other hand, suboptimal working conditions refer to the case in which suitable parameter values for each experimental scenario are selected without using any orientation reference. Under reasonable assumptions, ad-hoc methods are developed with the purpose of obtaining errors close to those obtained using optimal values. In this favorable but realistic situation, the orientation errors of each SFA are in general not coincident with the minimum achievable, as expected. In this work, the RCM is used for the selection of the suboptimal values of each of the 10 SFAs.

RCM Description

The target of the RCM proposed in [9] is the estimation of the most suitable parameter values (i.e., suboptimal) for a given filter and experimental scenario without relying on any orientation reference. The RCM assumption is that the combination of parameter values that provide the minimum relative orientation difference also provide an acceptable absolute orientation error (see the Glossary for the rigorous definitions of absolute orientation error and relative orientation difference). The hypothesis under analysis holds when the source of errors affecting gyroscope, accelerometer and magnetometer are different between the MIMUs. In fact, the biases affecting two different gyroscopes are uncorrelated, being them mounted on different chips, with different sensing elements and different read-out and conditioning circuits [13]. In addition, when the rotation component may not be neglected and ferromagnetic disturbances are present, for accelerometer and magnetometer, difference between the corresponding signals of the MIMUs are expected to grow as the relative distance increases (see Figures 2 and 3. of [9]). This work aims at demonstrating that the same method may be generalized to estimate the suboptimal parameter values for a generic SFA with a given number of parameters.

2.2. Selected SFAs

The same SFAs implemented in [10] are considered to test the validity of the RCM. The MATLAB (R2020a, The MathWorks Inc., Natick, MA, USA) implementations for each SFA were made available on GitHub (at https://github.com/marcocaruso/sensor_fusion_algorithm_codes, accessed on 21 June 2021) and also on MATLAB Exchange (at https://it.mathworks.com/matlabcentral/fileexchange/90351-orientation_estimation_sensor_fusion_algorithm_codes, accessed on 4 May 2021). In summary, five complementary filters and five Kalman filters are considered, chosen among the most popular:
Complementary filters:
  • 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.
Kalman filters:
  • 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.
For each SFA the two most influencing parameters (selected from those that caused the greatest variation in orientation as their values changed) were tuned following a grid-search approach. The choice of limiting the tuning to at most two parameters was a compromise between the dimension of the search-space and the computational time. The parameter related to the weight given to the gyroscope was always tuned, when exposed by the SFA, since the angular velocity is the most important information in a sensor fusion framework [17]. The additional parameter tuned, when relevant, was selected to weight differently the accelerometer or magnetometer readings, depending on the SFA. As a general consideration, it is not advisable to set the accelerometer and magnetometer related parameters based on the sensor electrical noise only. In fact, the latter is usually negligible compared to errors due to linear accelerations and the additional magnetic fields. The remaining parameters have been set to the default values reported in the original articles.
Table 1 reports the details of the parameters tuned for each SFA together with the default values provided by the SFA authors.

2.3. Experimental Setup and Protocol

Three pairs of commercially available MIMUs, each from a different manufacturer (from here on referred to as device model), were moved at three rotation rates. A detailed description of the experimental setup and the protocol used can be found in [9,10]. Briefly, three pair of MIMUs from Xsens—MTx (Xsens, Enschede, The Netherlands), APDM—Opal (APDM INC., Portland OR, USA.) and Shimmer—Shimmer3 (Shimmer Sensing, Dublin, Ireland) were aligned on a wooden board (Figure 1). The board was also equipped with eight reflective passive markers, three were used to define the Local Coordinate System (LCS) of SP while the remaining five were employed to enforce the ground-truth orientation by means of Singular Value Decomposition-based technique (SVD) [22]. The highly accurate alignment was ensured by using a T-square. The SP system consisted of 12 infrared cameras (Vicon T20, VICON, Yarnton, England). All the data were acquired using the proprietary software listed in Table 2. The synchronized dataset containing all the MIMU signals, the ground-truth orientation, and the videos of the performed movement (described in the following) can be found both on IEEE DataPort at http://dx.doi.org/10.21227/b23b-rx94 (accessed on 28 April 2021) [23], on GitHub (https://github.com/marcocaruso/mimu_optical_dataset_caruso_sassari, accessed on 4 May 2021), and also on MATLAB Exchange (https://it.mathworks.com/matlabcentral/fileexchange/91200-mimu_optical_dataset_caruso_sassari, accessed on 4 May 2021). Additional details about the synchronization process can be found in [10], Section 2.5.1. The noise level of the six MIMUs are reported in Table 3.
Before the acquisition of data, the MIMUs were turned on and warmed-up for 10 min to limit the influence of the temperature variation on the gyroscope measurements. Each recording started with a static period of 60 s (useful to compute the gyroscope biases), then the board was manually moved to span the three degrees of freedom of the space. The protocol was repeated at three rotation rates (rms 120 deg/s for a “slow” acquisition of 70 s, 260 deg/s for a “intermediate” acquisition of 45 s and 380 deg/s for a “fast” acquisition of 30 s). As an example, the Euler angles from the gold standard orientation were extracted for the intermediate trial to provide a visualization of the performed movements (Figure 2). In addition, it is possible to observe the entire experimental protocol by means of the videoclips uploaded with the dataset. The experiments were conducted under controlled conditions: the temperature was kept constant at 20 °C, while the ferromagnetic disturbances were limited, since the acquisitions took place one meter above the ground and within a 1 m3 of volume; the maximum variation of the magnetic norm was limited to 1 µT.

2.4. Data Processing

Orientation Estimation and Error Computation under Optimal and Suboptimal Conditions

The data processing described in this section has been performed entirely in MATLAB R2020a. The purpose of this section is to describe the grid-search procedure employed to obtain, for each SFA and for each of the nine experimental scenarios (i.e., 3 rotation rates × 3 device models), the absolute orientation error and the relative orientation difference for each combination of the two parameters being tuned. Bold quantities are intended to be matrices or vectors.
The following quantities are given:
  • q S P 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;
  • p 1 v e c and p 2 v e c are the two vectors which contain, for each SFA, the values of the two parameters ranging from 0 to u p p e r 1 and from 0 to u p p e r 2 , respectively. In general, the two upper limits were chosen large enough to ensure that all the relevant search space was explored. The values of u p p e r 1 and u p p e r 2 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).
Figure 3 shows the process described in this paragraph. The absolute orientation of two MIMUs (A and B) of the same manufacturer, for each combination of the values contained in p 1 v e c and p 2 v e c   was computed independently. Two quaternions q A G and q B G were obtained to describe the orientation of the LCS of each MIMU with respect to a GCS defined to have the vertical axis aligned to the gravity direction and one horizontal axis aligned with the Earth’s magnetic north projection on the horizontal plane. For this reason, to enable a proper comparison with q S P , also q A G and q B G were referred to their initial orientation to obtain q A and q B . This was possible thanks to the same alignment of the system LCSs on the board (Figure 1).
After that, the two absolute errors ( q a b s   A and q a b s   B ) were obtained, separately for q A and q B by means of (1). The relative orientation difference ( q r e l   A , B ) was also computed using (2). Symbols * and denote the complex conjugate and the product in the quaternion algebra, respectively.
q a b s   A = q A *   q S P , q a b s   B = q B *   q S P .
q r e l   A , B = q A *   q B .
To obtain a compact and interpretable representation of q a b s   A , q a b s   B and q r e l   A , B , the scalar part of each quaternion was converted into the corresponding rotation described using the axis-angle representation. Then, the rms of the dynamic parts of the recordings were considered to obtain a single value for each of the three quantities. The two absolute errors (in degrees) were then averaged to obtain e i , j , which is the absolute average error for a given combination of the two parameter values. In the same way, the relative orientation difference corresponding to the same combination is called δ i , j . The matrices e and δ were populated for each combination of the values contained in p 1 v e c and p 2 v e c . All values were rounded to a 0.1 deg resolution.

2.5. Data Analysis

After having computed the e and δ matrices, the following steps assess the effectiveness of the RCM in providing suboptimal parameter values which lead to absolute errors close to the optimal. To this end, for a given SFA and for each experimental scenario, the first steps consisted in defining the optimal region and the corresponding optimal error starting from e . Then the suboptimal parameter values were extracted from δ . After that, the corresponding absolute error (i.e., suboptimal) was compared with the optimal one and the differences were analyzed. This process was repeated for each of the 90 cases (10 SFAs × 3 rotation rate magnitudes × 3 device models).

2.5.1. Identification of the Optimal Region for Each Scenario and the Corresponding Optimal Absolute Error

For each SFA and for each experimental scenario, the two following optimal quantities were computed:
  • Optimal absolute orientation error: e o p t = min ( e ) . In other words, e o p t 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 [ e o p t , e o p t + 0.5 deg], where 0.5 is the uncertainty related to the ground-truth errors: { p o p t 1 , p o p t 2 } = { ( p 1 v e c , p 2 v e c )   |   e   e o p t + 0.5   d e g } .

2.5.2. Identification of the Suboptimal Parameter Values for Each Scenario and the Corresponding Suboptimal Absolute Error

For each SFA and for each experimental scenario, the following suboptimal quantities were computed:
  • Minimum relative orientation difference: δ s u b = min ( δ ) .
  • The suboptimal region is defined by the values of p 1 vec and p 2 v e c corresponding to δ s u b : { p s u b 1 , p s u b 2 } = { ( p 1 v e c , p 2 v e c )   |   δ = δ s u b } . When the region, { p s u b 1 , p s u b 2 } was formed by two or more separated sub-regions, only the largest was considered.
  • The suboptimal parameter values ( p 1 c and p 2 c ) are the values of p 1 v e c and p 2 v e c corresponding to the centroid of the suboptimal region: { p 1 c , p 2 c } = centroid   ( p s u b 1 , p s u b 2 ) .
  • The suboptimal absolute orientation error is the absolute orientation error corresponding to p 1 c and p 2 c : e s u b =   e ( p 1 c , p 2 c ) .

2.5.3. RCM Validation Metric

For each of the 90 combinations, the residual between the optimal and suboptimal error was computed as follows:
e = e s u b e o p t .
The distributions of the 90 residuals were then analyzed using a boxplot representation. As previously stated, when e was not larger than 0.5 deg, the RCM was considered completely effective.

3. Results

3.1. Optimal and Suboptimal Errors

The minimum orientation error ( e o p t ), the suboptimal orientation error ( e s u b ), and their residual ( e ) are listed in Table 4 for each SFA and experimental scenario. The residual value for e exceeding 0.5 deg is reported in bold. The distribution of the 90 values of e is represented by means of a boxplot in Figure 4.

3.2. Optimal and Suboptimal Regions

The optimal and suboptimal regions corresponding to the nine experimental scenarios are reported in two figures for each SFA in Appendix A. Moreover, for each suboptimal region, the centroid is also indicated with a circular marker. For the SFA with only one parameter tuned the regions were represented as a 1D interval (instead of a bidimensional region).
Figure 5 provides an example of both optimal and suboptimal regions for the LIG filter. The regions are highlighted with a different color for each experimental scenario.

4. Discussion

One of the most important steps when using a sensor fusion algorithm is the choice of the value(s) of filter parameter(s) [2,9,24,25] since they heavily affect the orientation accuracy. As discussed in [10], a possible choice is to perform a fine-tuning of these values specifically for a given experimental scenario using the ground-truth orientation. The errors obtained this way are representative of the best performance achievable with a given SFA. Furthermore, it has been observed that there is not a common intersection among the optimal regions when varying the experimental scenario (see Appendix A “Optimal regions (intervals)”). This stresses the importance of tuning the parameter values of each SFA according to the specific scenario under analysis (device model and rotation rate).
In this work, suitable parameter values were estimated using the RCM method, which does not rely on any ground-truth orientation to reflect a more common situation during the everyday use of the MIMUs. Table 4 shows that the residuals between the optimal and suboptimal errors were lower or equal to 0.5 deg in 60 cases out of 90, between 0.5 and 1.0 deg in 10 cases, and higher than 1.0 deg in the remaining 20 cases. Thus, the RCM allowed to estimate the orientation with errors equivalent to the optimal approach in 67% of the cases. In the remaining 33%, the maximum residual amounted to 3.7 deg. Overall, the median residual was equal to 0.2 deg and the computed mean to 0.6 deg. These results corroborate the findings obtained by Caruso et al., 2020 [9] for a single SFA and suggest the possibility to properly tune a generic SFA on different scenarios without using any orientation reference.
Among the 30 cases in which e was higher than 0.5 deg, an increase of the rotation rate magnitudes led to inferior performance of RCM. In fact, 14/30 cases were at fast rotation rate vs 12/30 at intermediate and only 4/30 at slow. This is in line with the unfavorable effect of the rotation rate in the orientation estimation accuracy, as widely recognized in the literature [2,9,10,26,27]. Moreover, also the specific device model had an influence on the accuracy of the RCM. In the 30 cases in which e was higher than 0.5 deg, 14 were associated with Shimmer, 11 with APDM while 5 with Xsens. Finally, the LIG was the SFA for which the RCM performed the best. In fact, only 1 out of 9 residuals was higher than 0.5 deg while 5 out of 9 residuals were higher than 0.5 deg for MAH and VAK. The four residuals marked as outliers in Figure 4 were equal to 2.4 deg, 3 deg, 3.3 deg and 3.7 deg and were obtained with Shimmer at intermediate and fast rotation rates.
The figures shown in Appendix A “Suboptimal regions (intervals)” suggest that the suboptimal regions do not consist of a single point. This is because multiple combinations of the two parameter values provide the same minimum of the relative orientation difference. However, it should be highlighted that the absolute errors corresponding to these combinations may be different.
Some limitations must be considered when using the RCM. Since the method relies on the differences between the errors affecting the two different accelerometers and magnetometers, when their mutual distance approaches zero also the differences tend to be less evident. In this case, the relative orientation difference may be very small, but it does not guarantee low absolute errors, especially if the orientations of the two MIMUs are estimated giving a high weight to the accelerometer and magnetometer readings. The authors suggest placing the two MIMUs with a mutual distance of at least a few centimeters, compatibly with the size of the rigid body support.
Some applications can benefit from this approach. In fact, as described in [28] and detailed in [9] a miniaturized plastic case may be designed for each specific application to host two MIMUs and to rigidly attach them to the body segment of interest. If only one MIMU is necessary for the data collection, the miniaturized case may host both the MIMU to be employed and an additional MIMU and a preliminary movement acquisition which mimics the gesture under the same experimental scenarios (similar rotation rate magnitude and device model) may be performed to estimate the suboptimal parameter(s) of the selected SFA.

5. Conclusions

The RCM originally proposed in [9] was tested on various SFAs to provide the suboptimal parameter values by exploiting the hypothesis that the orientation of two MIMUs fixed to the same rigid body and aligned with each other remains constant. To the best of authors’ knowledge, the RCM is the only published method that does not rely on the knowledge of any ground-truth orientation to estimate the parameter values. The results are encouraging, since the maximum residual between the optimal error and the error obtained using the estimated suboptimal parameter values amounted to 3.7 deg and to 0.6 deg on average. Moreover, the results confirmed the absence of a unique set of parameter values suitable for all the experimental scenarios and also that a proper tuning of the parameter values is necessary for all SFAs to obtain acceptable estimates of the absolute orientation. The findings of the present study may be used to develop additional methods to estimate the parameter values with only one MIMU.

Author Contributions

Conceptualization, M.C. and A.C.; methodology, M.C. and A.C.; software, M.C. and A.M.S.; validation, M.C. and A.C.; formal analysis, M.C.; resources, U.D.C.; data curation, M.C.; writing—original draft preparation, M.C.; writing—review and editing, M.C., A.C., A.M.S., M.K. and U.D.C.; supervision, A.C. and M.K.; project administration, A.C.; funding acquisition, A.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was partially funded by DoMoMEA grant, Sardegna Ricerche POR FESR 2014/2020 and by MOBILISE-D grant, Innovative Medicines Initiative 2 Joint Undertaking under grant agreement No 820820. This Joint Undertaking receives support from the European Union’s Horizon 2020 research and innovation programme and EFPIA. www.imi.europa.eu (accessed on 18 September 2021).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The sensor fusion algorithm together with the optimization codes are available as MATLAB functions and scripts at https://github.com/marcocaruso/sensor_fusion_algorithm_codes, accessed on 4 May 2021 and also on MATLAB Exchange at https://it.mathworks.com/matlabcentral/fileexchange/90351-orientation_estimation_sensor_fusion_algorithm_codes, accessed on 4 May 2021. The complete dataset is available on both IEEE DataPort at http://dx.doi.org/10.21227/b23b-rx94 (accessed on 28 April 2021) [23], on GitHub (https://github.com/marcocaruso/mimu_optical_dataset_caruso_sassari, accessed on 4 May 2021) and also on MATLAB Exchange (https://it.mathworks.com/matlabcentral/fileexchange/91200-mimu_optical_dataset_caruso_sassari, accessed on 4 May 2021).

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses or interpretation of data; in the writing of the manuscript or in the decision to publish the results.

Abbreviations

In the following lines, the acronyms and the definitions used in the text are reported for the sake of convenience:
CFComplementary Filter
GCSGlobal Coordinate System
KFKalman Filter
LCSLocal Coordinate System
MIMUMagneto-Inertial Measurement Unit
RCMRigid Constraint Method
rmsRoot Mean Square
SFASensor Fusion Algorithm
SPStereophotogrammetric System
STDStandard Deviation
  
Absolute orientationthe orientation of the LCS of a system with respect to its GCS
Absolute orientation errorthe 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
e o p t minimum absolute orientation error which corresponds to the selection of the optimal parameter values
e s u b absolute orientation error which corresponds to the selection of the suboptimal parameter values
Optimal parameter regionthe range of parameter values for which the orientation errors are equal to e o p t plus 0.5 deg
Relative orientation differencethe 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 regionthe range of parameter values corresponding to the minimum of the relative orientation difference
Suboptimal parameter valuesParameter values corresponding to the centroid of the suboptimal parameter region

Appendix A

Figure A1. This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).
Figure A1. This appendix provides the optimal and the suboptimal regions for each SFA. Mono-dimensional intervals were represented instead of two-dimensional regions for those SFAs with only one parameter value tuned (MAD; MCF, GUO, MKF).
Sensors 21 06307 g0a1aSensors 21 06307 g0a1bSensors 21 06307 g0a1cSensors 21 06307 g0a1dSensors 21 06307 g0a1eSensors 21 06307 g0a1f

References

  1. 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]
  2. 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]
  3. 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]
  4. 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]
  5. 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]
  6. 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]
  7. 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]
  8. 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]
  9. 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]
  10. 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]
  11. Laidig, D.; Caruso, M.; Cereatti, A.; Seel, T. BROAD—A Benchmark for Robust Inertial Orientation Estimation. Data 2021, 6, 72. [Google Scholar] [CrossRef]
  12. 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]
  13. 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]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. 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]
  19. 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]
  20. 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]
  21. 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]
  22. 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]
  23. Caruso, M.; Cereatti, A.; Della Croce, U. Mimu_Optical_Sassari_Dataset; IEEE: Piscataway, NJ, USA, 2020. [Google Scholar]
  24. 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]
  25. 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]
  26. 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]
  27. 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]
  28. 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]
Figure 1. The experimental setup employed. Three pairs of MIMUs were aligned (from the bottom: Xsens—MTx, APDM—Opal and Shimmer—Shimmer3). The LCSs of the MIMUs are represented in blue. The three central markers define the LCS of the SP (in green). The MIMUs and SP systems were arranged so that their axes were aligned with the axes of the board (dashed red arrows). Figure adapted from [9].
Figure 1. The experimental setup employed. Three pairs of MIMUs were aligned (from the bottom: Xsens—MTx, APDM—Opal and Shimmer—Shimmer3). The LCSs of the MIMUs are represented in blue. The three central markers define the LCS of the SP (in green). The MIMUs and SP systems were arranged so that their axes were aligned with the axes of the board (dashed red arrows). Figure adapted from [9].
Sensors 21 06307 g001
Figure 2. Exemplificative description of the movements of the board in terms of Euler angles for the intermediate trial. As evident, from the graph, the first three rotations were performed around one axis at a time, while the last part of the movement is a combination of the movement around the three axes.
Figure 2. Exemplificative description of the movements of the board in terms of Euler angles for the intermediate trial. As evident, from the graph, the first three rotations were performed around one axis at a time, while the last part of the movement is a combination of the movement around the three axes.
Sensors 21 06307 g002
Figure 3. The grid-search approach followed to compute the absolute orientation error and the relative orientation difference for a given combination of the two parameter values. This process has been applied to each SFA for each of the nine experimental scenarios. Red and green arrows are related to the computation of the absolute error and relative difference, respectively.
Figure 3. The grid-search approach followed to compute the absolute orientation error and the relative orientation difference for a given combination of the two parameter values. This process has been applied to each SFA for each of the nine experimental scenarios. Red and green arrows are related to the computation of the absolute error and relative difference, respectively.
Sensors 21 06307 g003
Figure 4. Boxplot of the distribution of the 90 residuals (∆e). Outliers are also reported(red cross). The limit of 0.5 deg chosen to consider the suboptimal errors equivalent to the optimal error is also highlighted.
Figure 4. Boxplot of the distribution of the 90 residuals (∆e). Outliers are also reported(red cross). The limit of 0.5 deg chosen to consider the suboptimal errors equivalent to the optimal error is also highlighted.
Sensors 21 06307 g004
Figure 5. On the left: the optimal regions (one for each experimental scenario) obtained for LIG. On the right: the suboptimal regions (one for each experimental scenario) and their centroids obtained for LIG.
Figure 5. On the left: the optimal regions (one for each experimental scenario) obtained for LIG. On the right: the suboptimal regions (one for each experimental scenario) and their centroids obtained for LIG.
Sensors 21 06307 g005
Table 1. This table reports the details of the two parameters selected for optimal and suboptimal tuning along with their default values. Adapted from [10].
Table 1. This table reports the details of the two parameters selected for optimal and suboptimal tuning along with their default values. Adapted from [10].
CF# Params p 1 Default p 2 Default
MAH2kp—inverse gyroscope weight1rad/ski—weight for online bias estimation0.3rad/s
MAD1β—inverse gyroscope weight0.1rad/s//
VAC9gmag—magnetometer weight0.01a.u.ath2—threshold for accelerometer vector selection0.2a.u.
SEL4τacc—accelerometer time constant1sτmag—magnetometer time constant3s
MCF2gmag—magnetometer weight0.01a.u.//
KF# Params p 1 Default p 2 Default
SAB6σgyr—inverse gyroscope weight0.007rad/sath—threshold for accelerometer vector selection40mg
LIG6σgyr—inverse gyroscope weight1rad/scb—Gauss-Markov parameter of the prediction model to set the variance of external acceleration and ferromagnetic disturbances1a.u.
VAK3σgyr—inverse gyroscope weight0.004rad/sσacc—inverse accelerometer weight0.014m/s2
GUO3σgyr—inverse gyroscope weight0.001rad/s//
MKF8σ2gyr—inverse gyroscope weight9.14 × 10−5(rad/s)2//
Table 2. Details of data acquisition for each system used.
Table 2. Details of data acquisition for each system used.
SystemSoftwareSampling Frequency
Xsens—MTxMT Manager Version 1.7100 Hz
APDM—OpalMotion Studio Version 1.0.0.201712300128 Hz (resampled at 100 Hz)
Shimmer—Shimmer3 Consensys v.1.5.0100 Hz
Vicon—T20Nexus v2.7100 Hz
Table 3. The STD of the three sensors computed for each of the six MIMUs during one minute of static acquisition. Taken from [10].
Table 3. The STD of the three sensors computed for each of the six MIMUs during one minute of static acquisition. Taken from [10].
STDAccelerometer (mg)Gyroscope (deg/s)Magnetometer (µT)
xyzxyzxyz
Xsens-MTx #10.860.800.850.380.390.370.060.040.04
Xsens-MTX #20.820.860.800.440.400.400.050.060.06
APDM-OPAL #10.380.330.380.160.230.110.260.230.20
APDM-OPAL #20.340.320.350.160.270.190.260.250.20
Shimmer-Shimmer 3 #11.060.971.260.090.080.090.840.840.69
Shimmer-Shimmer 3 #21.121.091.290.060.060.060.970.970.58
#1 and #2 denote the two units of the same commercial product.
Table 4. The optimal and suboptimal errors are reported together with their residual for each SFA and for each experimental scenario. The residual values higher than 0.5 deg are highlighted in bold.
Table 4. The optimal and suboptimal errors are reported together with their residual for each SFA and for each experimental scenario. The residual values higher than 0.5 deg are highlighted in bold.
CF e o p t e s u b e KF e o p t e s u b e  
XsensSlowMAH2.52.50SAB2.22.20
Intermediate2.43.81.42.12.10
Fast4.04.20.22.42.40
APDMSlow3.85.61.85.05.10.1
Intermediate4.84.90.15.75.80.1
Fast8.29.218.310.01.7
ShimmerSlow3.43.70.34.54.50
Intermediate4.65.30.74.94.90
Fast7.610.638.59.61.1
XsensSlowMAD2.72.70LIG1.92.40.5
Intermediate2.54.01.52.03.81.8
Fast4.04.002.93.40.5
APDMSlow3.83.803.63.90.3
Intermediate4.64.80.24.95.10.2
Fast8.18.20.14.64.90.3
ShimmerSlow3.94.10.24.44.60.2
Intermediate4.95.10.24.04.20.2
Fast8.810.826.36.50.2
XsensSlowVAC4.04.00VAK1.21.50.3
Intermediate5.05.10.11.61.70.1
Fast7.27.202.52.50
APDMSlow3.54.40.93.64.10.5
Intermediate6.16.40.36.06.90.9
Fast8.311.339.210.41.2
ShimmerSlow3.83.804.04.60.6
Intermediate10.210.80.64.45.71.3
Fast11.515.23.78.210.62.4
XsensSlowSEL3.13.50.4GUO2.32.30
Intermediate2.53.91.42.32.30
Fast5.15.105.75.70
APDMSlow3.73.80.14.24.50.3
Intermediate7.17.105.15.70.6
Fast8.010.029.49.40
ShimmerSlow3.43.50.14.04.20.2
Intermediate5.06.31.35.15.10
Fast9.410.81.413.714.40.7
XsensSlowMCF3.33.40.1MKF4.24.30.1
Intermediate6.16.104.84.80
Fast6.67.50.96.76.90.2
APDMSlow3.84.813.63.80.2
Intermediate12.312.50.25.35.30
Fast7.99.61.77.27.20
ShimmerSlow5.05.20.23.94.20.3
Intermediate10.013.33.38.49.81.4
Fast8.68.80.29.910.00.1
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

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

AMA Style

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 Style

Caruso, 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 Style

Caruso, 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

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop