Next Article in Journal
Towards Efficient Data Collection in Space-Based Internet of Things
Next Article in Special Issue
Overcoming Bandwidth Limitations in Wireless Sensor Networks by Exploitation of Cyclic Signal Patterns: An Event-triggered Learning Approach
Previous Article in Journal
Six-Axis Force Torque Sensor Model-Based In Situ Calibration Method and Its Impact in Floating-Based Robot Dynamic Performance
Previous Article in Special Issue
Incremental Learning to Personalize Human Activity Recognition Models: The Importance of Human AI Collaboration
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Magnetic Condition-Independent 3D Joint Angle Estimation Using Inertial Sensors and Kinematic Constraints

Inertial Motion Capture Lab, Department of Mechanical Engineering, Hankyong National University, Anseong 17579, Korea
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(24), 5522; https://doi.org/10.3390/s19245522
Submission received: 28 October 2019 / Revised: 2 December 2019 / Accepted: 12 December 2019 / Published: 13 December 2019
(This article belongs to the Special Issue Inertial Sensors)

Abstract

:
In biomechanics, joint angle estimation using wearable inertial measurement units (IMUs) has been getting great popularity. However, magnetic disturbance issue is considered problematic as the disturbance can seriously degrade the accuracy of the estimated joint angles. This study proposes a magnetic condition-independent three-dimensional (3D) joint angle estimation method based on IMU signals. The proposed method is implemented in a sequential direction cosine matrix-based orientation Kalman filter (KF), which is composed of an attitude estimation KF followed by a heading estimation KF. In the heading estimation KF, an acceleration-level kinematic constraint from a spherical joint replaces the magnetometer signals for the correction procedure. Because the proposed method does not rely on the magnetometer, it is completely magnetic condition-independent and is not affected by the magnetic disturbance. For the averaged root mean squared errors of the three tests performed using a rigid two-link system, the proposed method produced 1.58°, while the conventional method with the magnetic disturbance compensation mechanism produced 5.38°, showing a higher accuracy of the proposed method in the magnetically disturbed conditions. Due to the independence of the proposed method from the magnetic condition, the proposed approach could be reliably applied in various fields that require robust 3D joint angle estimation through IMU signals in an unspecified arbitrary magnetic environment.

1. Introduction

Recent advances in wearable sensors and ubiquitous computing make it possible to respond to tremendous demand on health informatics related to telecare and home-monitoring for aging society. In biomechanics and rehabilitation, estimating a three-dimensional (3D) joint angle is an important requirement [1,2,3]. Marker-based optical motion capture systems have been successfully used to quantify joint kinematics by tracking the position of the surface markers during dynamic activities. However, these systems are expensive in general and suffer from occlusion. More importantly, these systems are restricted to controlled laboratory settings. It is obvious that numerous applications can tremendously benefit by continuous monitoring of joint angles in an unconstrained daily environment (e.g., outdoors) [4,5,6]. Therefore, wearable inertial sensing is an emerging technology with a growing number of potential applications in human movement analysis, as this wearable technology can overcome the in-the-lab limitation and allows the user to perform daily life activities during the measurement.
An inertial measurement unit (IMU) typically consists of a triaxis gyroscope and a triaxis accelerometer and is often combined with a triaxis magnetometer to obtain a constant heading reference, forming an inertial and magnetic measurement unit (IMMU). Last two decades, much progress has been made in joint angle estimation using IMUs or IMMUs [1,2,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25].
Seel et al. [7] estimated the flexion/extension angles of the knee and ankle during walking based on IMUs because the flexion/extension is the rotation around one dominant axis of the joint. El-Gohary and McNames [8] presented an unscented Kalman filter (UKF) incorporated with a kinematic arm model to track the shoulder and elbow joint angles using IMUs. Later, the UKF in [8] was improved in [5] and [9] by imposing physical constraints on the range of motion for each joint and using zero-velocity updates to mitigate the effect of the sensor drift. In [10], Vikas and Crane presented an approach to estimate the revolute and universal joint angles independent of the integration errors/drift using strategically placed accelerometers and gyroscopes. In addition, joint angle estimation using IMU signals was discussed in [13,14,15] and [20]. However, all of these studies dealt with one-dimensional or two-dimensional joint angles using IMUs, instead of 3D joint angles using IMMUs.
While magnetometers in IMMUs are required to obtain the 3D joint angles, utilization of magnetometers brings a well-known magnetic disturbance issue in angle estimation [26,27,28,29]. The magnetometer can provide a constant heading reference vector, which is the geomagnetic field vector surrounding the sensor, only when the magnetometer stays in the magnetically homogeneous environment. In recent years, researchers have developed approaches to mitigate the negative effects of the magnetic disturbance. The approaches can be placed into the two following categories: (i) the threshold-based switching approach [30,31] and (ii) disturbance model-based approach [32,33,34]. These approaches successfully presented their performances by compensating for the disturbance effects for a short time period. Nonetheless, when we deal with the joint angle estimation using wearable sensors, particularly for human motion tracking, the magnetometer can be exposed to any magnetically inhomogeneous environment. While one can stay in this environment for an extended period, none of the above methods can work for this scenario. Therefore, the magnetic disturbance is the main limitation of a magnetic-based sensing system.
This study proposes a magnetic condition-independent 3D joint angle estimation method based on IMU signals. While the proposed method estimates a 3D joint angle, it does not use a magnetometer and, instead, uses a kinematic constraint. Accordingly, it is natural that the proposed method is completely free from the magnetic disturbance issue.
The use of constraints has been proposed in previous studies [2,7,11,12,16,17,18,35,36,37,38]. Hu and Sun [35] proposed a state-constrained Kalman filter (KF) for compensation of the hard iron effect for the magnetometer based on prior knowledge, e.g., the norm of the gravity vector is 9.8 m/s2. Luinge et al. [16] used anatomical constraints in the elbow (i.e., abduction/adduction of the elbow is restricted to small angles) to measure the orientation of the lower arm with respect to the upper arm. They demonstrated that the constraint application could improve the accuracy of relative orientation of the upper arm and forearm. In [12], for two segments connected by a hinge joint, the heading error owing to magnetic disturbances was obtained from the projections of the joint axes into the global transverse plane. In [2,36,37], position-level constraints were used to ensure the segments remained connected at the joints. Miezal et al. [36] investigated segment orientation estimation accuracies from different methods in the presence of model calibration errors with and without using magnetometer information, for tracking a motion from a three-link chain with two spherical joints. Only minor degradation was observed when omitting the magnetometers. Furthermore, in [2], validity, test-retest reliability, and long-term stability of the 3D joint angle algorithm without magnetometer data based on the method presented in [2] were evaluated for 6 min walk tests. The results showed no systematic drift in the joint angle estimation. In [17], a velocity-level constraint of the elbow joint relative to the upper arm and forearm was imposed into the UKF to improve the estimation of the forearm and upper arm rotations. In [39], an acceleration-level constraint of a spherical joint was used to identify the joint position coordinates, i.e., the constant vectors from the joint center to the origin of the sensor frames that are attached to the segments connected by the joint. In [38], by using a similar acceleration-level kinematic constraint, a constraint-augmented KF was presented to eliminate the acceleration-induced uncertainty for a robust IMU-based attitude determination.
The approaches proposed in [11] and [18] are of our particular interest. In [18], Fasel et al. proposed a joint drift correction method for computing 3D joint angles of the knee, hip, and trunk for highly dynamic movements, e.g., in alpine skiing. The 3D accelerations measured on two adjacent segments were mapped to the connecting joint. Then, based on the two mapped acceleration vectors with respect to the global frame, the joint drift in the form of a quaternion was determined to match the two vectors. This correction method in [18] was improved in [11] by adding a second step to separately reduce the heading drift. Note that, while the constraints used in [11] and [39] are the same, the purposes of using the constraints was different, i.e., [39] to determine the constant segment-fixed vectors and [11] to estimate the drift. Because the estimated drift can be used to determine the 3D joint angle, the method in [11], [18] could be categorized into the 3D joint angle estimation. They successfully demonstrated the feasibility of the proposed methods based on the reduction of the drift caused by the strapdown integration. However, their approaches are not real-time algorithms but post-processed, which can be a critical limitation in various applications. Furthermore, while the acceleration vectors are noisy, the constraint is applied in their approaches without properly handling the noise in the vectors.
This study proposes a real-time IMU-based 3D joint angle estimation KF, where a magnetometer is replaced by a kinematic constraint. The same acceleration-level kinematic constraint in [11] derived by a spherical joint is used to provide a measurement equation for the KF. This study shows that a driftless heading estimation could be achieved in real-time by using the constraint, while the conventional approaches that rely on magnetometers are vulnerable to magnetic disturbance.

2. Method and Validation

2.1. Joint Angle Estimation Kalman Filter

The sensor signals from the accelerometer (A) and gyroscope (G) are modeled, respectively, as follows:
y A = g S + a S + n A   and
y G = ω S + n G
where g is the gravity vector; ω is the angular velocity; a is the external acceleration; and n ’s are the measurement noises, which are assumed to be uncorrelated and zero-mean white Gaussian [31]. The vectors in the sensor signals are observed in the sensor-fixed frame coordinates, as indicated by the left superscript, S.
In the proposed method, in order to estimate the joint angles of two links connected by a spherical joint, the 3D orientations of the two links are estimated assuming that the coordinate system of the sensor coincides with that of the link to which the sensor is attached. The coordinate system of each link is {i} and {j}, i.e., i and j S. An IMU having a sensor frame S rotates with respect to a fixed inertial reference frame, I. The direction cosine matrix (DCM) R S I of {S} with respect to {I} (hereafter denoted as R S ) can be interpreted as a set of three unit axis column vectors of {I} written in {S}, i.e., X S , Y S , and Z S :
R S = [ X S Y S Z S ] T .
When the Z-axis of the inertial frame points vertically upward (which is the most common setup), the last column Z S represents the attitude and can be used to calculate the roll and pitch, while the first column X S represents the heading and can be used to calculate the yaw, with regards to the attitude and heading reference system (AHRS). Hereafter, Z S and X S are referred to as attitude vector and heading vector, respectively. A sequential DCM-based orientation KF is considered in this study, i.e., the attitude estimation KF followed by heading estimation KF. For the attitude estimation KF for Z S (i.e., Z i and Z j ), a state-of-the-art attitude estimation algorithm having an external acceleration compensation mechanism [40] has been applied. This section discusses the heading estimation KF. For most of the orientation estimation KFs, the prediction step of the heading estimation KF for X S (i.e., X i and X j ) is based on the strapdown integration using gyroscope signals. Accordingly, the process model that updates X S with respect to a discrete time t is as follows:
X S , t = ( I Δ t y ˜ G S , t 1 ) X S , t 1 + Δ t ( X ˜ S , t 1 ) n G ,
where I is the 3 × 3 identity matrix, Δ t is the step size, and the overhead tilde is used to represent the standard vector cross product (i.e., a ˜ = [ a × ] which is a 3 × 3 skew symmetric matrix) [41]. For the KF structure, (4) can be rewritten as
x S , t = Φ S , t 1 x S , t 1 + w S , t 1 ,
where the state vector (lowercase) x S is the heading vector (uppercase) X S . The state transition matrix Φ S , t 1 is ( I Δ t y ˜ G S , t 1 ) , and the white Gaussian process noise vector w S , t 1 is Δ t ( X ˜ S , t 1 ) n G . The process noise covariance matrix Q t 1 , which is defined as E ( w t 1   w t 1 T ) (where E is the expectation operator), is Δ t σ G 2 X ˜ S , t 1 X ˜ S , t 1 T S , t 1 , where σ G 2 is the gyro noise variance.
At this stage, the a posteriori (or corrected) attitude vectors Z i , t + and Z j , t + from the attitude estimation KFs and the a priori (or predicted) heading vectors X i , t and X j , t from the prediction steps of the heading estimation KFs are available. Unlike most of the orientation estimation KFs, the correction step of the proposed heading estimation KF does not use magnetometer signals. It should be noted that, when the proposed method uses a kinematic constraint instead of magnetometer signals, the correction step based on the kinematic constraint is applied to only one link. In the proposed joint angle estimation method, the heading estimation KF for one link (e.g., link i) has only the prediction step, while that for the other link (e.g., link j) contains the prediction and correction steps, where the kinematic constraint is utilized. The purpose of the proposed method is to estimate the joint angle between the links and not to estimate the orientation of each link. Therefore, the following to be described is the correction step to obtain X j + which satisfies the joint constraint, relative to the given Z i , t + , Z j , t + , and X i , t .
For a spherical joint allowing only relative rotation without translation, the acceleration vector at the joint center should be identical in the inertial reference frame, regardless of which IMU (attached to the preceding or following link) is used for the calculation [2]. The joint center acceleration can be thought of as the sum of the acceleration of each sensor and the acceleration owing to the rotation of that sensor around the joint center. Accordingly, the kinematic constraint can be expressed as
R i ( a i i + ( ω ˙ ˜ i i + ω ˜ i i ω ˜ i i ) p i i ) = R j ( a j j + ( ω ˙ ˜ j j + ω ˜ j j ω ˜ j j ) p j j ) ,
where, for example, a i i is the acceleration of the IMU attached to link i with respect to the sensor frame {i}, and p i i is the constant position vector from the origin of the sensor frame {i} to the joint center with respect to {i}; thus, p i i is pre-determined before the measurement.
By applying (1) and (2) to (6), (6) becomes
R i ( C i ε i ) = R j ( C j ε j ) ,
where the measurable vector C S and the error term ε S are as follows.
C S = y A S + ( y ˙ ˜ G S + y ˜ G S y ˜ G S ) p S S
ε S = n A + λ 1 , S n G + λ 2 , S n ˙ G
Here, y ˙ G S in (8) is obtained from the numerical differentiation; and λ 1 , S = p ˜ S S y ˜ G S 2 y ˜ G S p ˜ S S and λ 2 , S = p ˜ s s in (9). From (3), the first and second columns of R S T are X S and Y S , respectively, and Y S can be rewritten as Z ˜ S X S . Therefore, by transposing both sides of (7), two scalar equations can be extracted from (7) to determine unique X j as follows.
( C i ε i ) T X i = ( C j ε j ) T X j
( C i ε i ) T Z ˜ i X i = ( C j ε j ) T Z ˜ j X j
In the proposed method, X i is given as X i from the prediction step. In addition, by defining a posteriori attitude error vector Z ε , S + , Z S can be expressed as Z S + Z ε , S + . By applying these, (10) and (11) can be rewritten respectively as follows.
C i T   X i ε i T   X i = C j T   X j ε j T   X j
C i T   Z ˜ i + X i C i T   Z ˜ ε , i +   X i ε i T   Z ˜ i +   X i = C j T   Z ˜ j +   X j C j T   Z ˜ ε , j +   X j ε j T   Z ˜ j +   X j
For (13), the products of errors, ε i T   Z ˜ ε , i +   X i and ε j T   Z ˜ ε , j +   X j , on the left-hand-side and right-hand-side of (13), respectively, have been neglected. The error terms, ε j T   X j in (12) and C j T   Z ˜ ε , j +   X j and ε j T   Z ˜ j +   X j in (13) include the unknown state X j . By applying X j = X j X ε , j to the error terms, where X ε , j is the a priori heading error vector, (12) and (13) become
C i T   X i ε i T   X i = C j T   X j ε j T   X j
C i T   Z ˜ i +   X i C i T   Z ˜ ε , i +   X i ε i T   Z ˜ i +   X i = C j T   Z ˜ j +   X j C j T   Z ˜ ε , j +   X j ε j T   Z ˜ j +   X j
where the products of errors ε j T   X ε , j for (14) and C j T   Z ˜ ε , j +   X ε , j and ε j T   Z ˜ j +   X ε , j for (15) have been neglected.
From (14) and (15), the constraint model is obtained as follows:
z t = H t x t + v t ,
where the state vector x , measurement vector z , observation matrix H , and white Gaussian measurement noise vector v are as follows, respectively.
x t = X j
z t = [ C i T   X i C i T   Z ˜ i +   X i ]
H t = [ C j T C j T   Z ˜ j + ]
v t = [ v 11 + v 12 v 21 + v 22 + v 23 + v 24 ] = [   ε i T   X i ε j T   X j C i T   Z ˜ ε , i +   X i + ε i T   Z ˜ i +   X i C j T   Z ˜ ε , j +   X j ε j T   Z ˜ j +   X j ]
It is assumed that ε i , ε j , Z ε , i + , and Z ε , j + are uncorrelated each other; therefore, the measurement noise covariance matrix M t ( = E ( v t   v t T ) ) is
M t =     [ E ( v 11   v 11 T ) + E ( v 12   v 12 T ) E ( v 11   v 22 T ) + E ( v 12   v 24 T ) E ( v 11   v 22 T ) + E ( v 12   v 24 T ) E ( v 21   v 21 T ) + . + E ( v 24   v 24 T ) ]
where
E ( v 11   v 11 T ) = ( X i ) T E ( ε i T   ε i ) ( X i )
E ( v 11   v 22 T ) = ( X i ) T E ( ε i T   ε i ) ( Z ˜ i +   X i )
E ( v 21   v 21 T ) = E { C i T   X ˜ i ( Z ε , i + ) ( Z ε , i + ) T   ( X ˜ i ) T   C i } = C i T   X ˜ i   E { ( Z ε , i + ) ( Z ε , i + ) T }   X ˜ i   C i
For (22) and (23), a T b = b T a is applied; and E ( ε i T   ε i ) = σ A , i 2 I + σ G , i 2   λ 1 , i   λ 1 , i T + σ G d o t , i 2   λ 1 , i   λ 1 , i T , where σ A , i 2 and σ G d o t , i 2 are the noise variances of y A i and y ˙ G i , respectively. For (24), a ˜ T = a ˜ is applied; and E { ( Z ε , i + ) ( Z ε , i + ) T } is the covariance of the a posteriori attitude estimate, available from the attitude estimation KF. In addition, E ( v 22   v 22 T ) can be obtained by replacing X i with Z ˜ i +   X i in the counterpart of E ( v 11   v 11 T ) ; and E ( v 12   v 12 T ) , E ( v 12   v 24 T ) , E ( v 23   v 23 T ) , and E ( v 24   v 24 T ) can be obtained by replacing i with j in the counterpart of E ( v 11   v 11 T ) , E ( v 11   v 22 T ) , E ( v 21   v 21 T ) , and E ( v 22   v 22 T ) , respectively.
After the two DCMs, R i (from Z i + and X i ) and R j (from Z j + and X j + ), are estimated, the joint angle can be extracted using the relative DCM R i j ( = R i T   R j ) by applying the Z-Y-X Euler angle convention, i.e., R i j = R Z ( α )   R Y ( β )   R X ( γ ) , where α, β, and γ are the yaw, pitch, and roll, respectively. The overall structure of the proposed algorithm is shown in Figure 1.

2.2. Validation

For verification of the proposed KF, a rigid two-link system connected by a spherical joint or a ball-and-socket joint was used. Two monopods (FX-3460A from Horusbennu Inc., Korea) with a spherical joint end were utilized for the two-link system. Note that, in order to exclude any error factor related to human joints, this mechanical joint system was intentionally chosen. One MTw IMMU (from Xsens Technologies B.V., Netherlands) that includes a triaxial gyroscope, accelerometer, and magnetometer was used for each link to provide the input to the proposed algorithm operating at a 100-Hz sampling rate. To obtain the truth reference of the orientation, an OptiTrack Flex13 camera motion capture system (from NaturalPoint, Inc. USA) was used with the same sampling rate. The MTw sensor was mounted on top of a plastic right triangle ruler (with a 16.7-cm hypotenuse), and three reflective markers from the Flex13 system were attached to the vertices of the ruler using double-sided adhesive tape. These three markers formed a plane that defined a unique orientation. Then, the ruler, where the MTw and three markers were attached, was firmly fixed to each link. The constant vectors from the origin of the sensor frame to the joint center observed from the sensor frame were as follows: p i i = [ 49.8 0.1 3.1 ] T cm and p j j = [ 51.2 0.1 2.7 ] T cm . These vectors were determined from the least squared method proposed in [7], see Figure 2.
Three tests were performed under kinematically dynamic and magnetically disturbed conditions, as listed in Table 1. The magnitude of the external acceleration (in m/s2) increased in the following order: Test 1, Test 2, and Test 3, while the magnitude of the magnetic disturbance (in arbitrary unit, a.u.) was similar for all the tests. All tests involved randomly rotating the two links manually for 180 s. The magnetic disturbance was repeatedly applied for approximately 10 s and released for approximately 30 s, to only one of the two links (i.e., link j) using a screwdriver with a magnetic tip.
For each of the three tests, the joint angle was estimated using four different methods. Method 1 is the conventional KF proposed by Ligorio and Sabatini [34] (estimating the attitude Z and the heading X ), which is an extension of their previous work [40] (estimating Z only). Use of the same attitude estimation KF can help comparison of the performances of the different heading estimation approaches more effectively. The KF in [34] adopts a magnetic disturbance compensation mechanism based on a Gauss–Markov (GM) model for the estimation of X , in addition to an external acceleration compensation mechanism based on another GM model for the estimation of Z of the KF in [40]. Method 2 is based on the prediction of X j without a constraint-utilizing correction, i.e., R i from Z i + and X i and R j from Z j + and X j . Method 2 is to see how the drift occurs when no correction is made either by the magnetometer (which is the case of Method 1) or by the kinematic constraint (which is the case of Method 3). Method 3 is the proposed method as described in the previous section. Method 4 utilizes the attitudes from the optical motion capture system (i.e., Z i , o p t and Z j , o p t that are used as the truth references), while headings X i and X j are estimated through the proposed method described in the previous section. Method 4 is to see the effect of the accuracy of Z on the accuracy of the joint angle. The estimation accuracy was evaluated in terms of the root mean squared error (RMSE) of the Euler angles from R i j (i.e., α, β, and γ). With regard to the noise covariance matrices, standard deviations of the accelerometer and gyroscope noises for Methods 1–3 are 14.8 mm/s2 and 1.5 mrad/s, respectively. Moreover, that of the magnetometer noise for Method 1 is 0.0025 a.u. and that of the derivative of the gyroscope noise for Method 3 is 25.3 mrad/s2.
The dimensionless model parameters used in the GM external acceleration model for Methods 1–3 were selected as ca1 = 0.1 and ca2 = 0.05, and those used in the GM magnetic disturbance model for Method 1 were selected as cm1 = 0.1 and cm2 = 0.01 (see [34] and [40] for the details of the parameters).

3. Results and Discussion

Table 2 lists the total average and individual Euler angle RMSE values estimated from the four different methods for the three tests. Figure 3 and Figure 4 show (a) the exposed magnetic disturbance magnitudes and (b) the yaw estimation errors (solid lines) with respect to the reference yaw (dashed lines), for Tests 2 and 3, respectively.
In Test 1, the averaged RMSE from Method 1 (the conventional method) was bigger than that from Method 2 (the method where the heading estimation relied on only the prediction), while Tests 2 and 3 showed the opposite results. Because the estimation accuracy from Method 2 was dependent on the test duration and the amount of gyroscope bias, the accuracy comparison between Method 1 and Method 2 was not significantly meaningful. In all tests, Method 3 (the proposed method) outperformed Method 1 and Method 2.
As shown in Figure 3 and Figure 4, for Method 1, the estimation errors increased when the magnetic disturbances were applied, and those gradually decreased when the disturbances disappeared from the sensor. Although Method 1 had a magnetic disturbance compensation mechanism, the mechanism could not properly operate for the severely excited periods in our tests. For Method 2, the estimation errors unpredictably increased without bound, e.g., the drift error in Figure 3 developed linearly in large, while that in Figure 4 developed nonlinearly. For Method 3, the estimation errors remained small owing to the constraint. Method 3 was not affected by the magnetic disturbances at all as it did not exploit the magnetometer signals. If lower magnetic disturbance is applied, the estimation accuracy of Method 1 must be improved. It is simply natural that the estimation accuracy of Method 1 can vary considerably depending on the conditions of the magnetic disturbance. In this regard, the most important feature of the proposed method is that it is magnetic condition-independent.
It should be noted that the focus of the proposed method is accurate joint angle estimation (i.e., R i j ), not the accurate estimation of individual segment orientation (i.e., R i or R j ). Table 3 lists the heading (yaw) estimation RMSEs of links i and j and the joint from Method 3, i.e., αi from R i , αj from R j , and αij from R i j , respectively. As an example, Figure 5 shows the result of Test 2 corresponding to the results in Table 3. As listed in Table 3, the RMSEs of αi and αj are large, while the RMSEs of αij are small. Figure 5 shows that αi and αj drifted with time, while αij did not. As described in Section 2.1, R i is determined by Z i + and X i , while R j is determined by Z j + and X j + . Here, the heading vector of link i, X i , is estimated only based on the gyroscope signals without the magnetometer signals or constraint equation and thus is drift-affected. Because the heading vector of link j, X j + , is estimated to satisfy the constraint at a given condition with X i , the vector X j + is also drift-affected. However, the relative orientation R i j , which represents the joint angle, is free from drift. Although accurately obtaining X i is not required, estimating X i by strapdown integration using the gyroscope signals plays an important role in achieving an accurate joint angle estimation. If X i was fixed or arbitrarily designated based on the idea that it is not necessary to accurately obtain X i , the results were not successful. This is because, in the heading estimation KF for X j + , the correction process based on the constraint equation has a lower burden when the predicted X i is applied rather than when the fixed or arbitrary X i is applied.
The RMSEs listed in Table 2 come from both the attitude and heading estimation errors, except for Method 4. The attitude estimation KF that was presented in [40] and used in Methods 1–3 is kinematic condition-dependent owing to the uncertainty induced by the external acceleration, despite the excellent performance of its GM-based external acceleration compensation mechanism. This could be why Test 1 had a smaller RMSE than that of Tests 2 or 3, in Method 3. For Method 4, because the reference attitude was assigned, the RMSEs represented only the heading estimation errors. When Method 3 and Method 4 were compared in terms of the averaged RMSEs, Method 4 showed a better performance than Method 3 as 0.54°, 0.47°, and 1.11° for Tests 1, 2, and 3, representing the attitude estimation errors. This result was in agreement with the acceleration magnitudes considering that Test 3 had the higher acceleration magnitude than Tests 1 and 2. The attitude estimation contained uncertainty related to the Markov chain model, while the heading estimation did not have such an uncertainty. Therefore, the measurement model derived by the acceleration-level constraint in the heading estimation was more deterministic than that based on the Gauss–Markov model in the attitude estimation, when the joint is in a dynamic condition. Even for this case, the result from Method 4 showed an error of over 1° in Test 3. The link bending resulted in a variation of the sensor-to-joint center position vector, and the noisiness of the measured joint acceleration could be one plausible explanation for this result. Note that the proposed method was validated using a mechanical two-link system, not on human bodies, on purpose. This was mainly to exclude any influence due to soft tissue artefacts and dynamic joint center variation, as a proof-of-concept.
Fasel et al. [11] stated that higher accelerations are expected to allow a more reliable estimation of joint drift because the relative impact of the small errors (e.g., originating from the sensor noise) is lower. We agree with their expectation. However, in our limited tests, this tendency was not observed. Unlike their approach, the constraint in our method was inserted into a KF platform, where the noise of the measured constraint could be optimally treated to minimize the side effects of the noise. Furthermore, in the proposed method, the constraint was inserted into the measurement system of the heading estimation KF out of the sequentially combined attitude-heading estimation KF and was not involved with the attitude estimation KF.
Although drift-free 3D joint angle estimation based on IMUs without magnetometer data was successfully achieved in [2], we believe that, unless an alternative correction process to the magnetometer-based correction is applied, the heading-related variables may be highly sensitive to the individual configuration and thus leads to unpredictable estimation, as similarly discussed in [36]. For real-time 3D joint angle estimation, this study demonstrates the replacement of a magnetometer with an acceleration-level kinematic constraint for an alternative correction process.
While this paper describes two links connected by one joint, the proposed method can be extended to finding multiple joint angles of a multi-body system. The proposed method can propagate in a sequentially recursive manner along a chain of the multi-body system. In case of a three-link system (having links i, j, and k where the link i is the floating base link), X i is obtained by the strapdown integration, and X j is determined using the kinematic constraint of the joint between the links i and j. Once X j is determined, X k is determined using the constraint of the joint between the links j and k. In this way, multiple joint angles can be accurately estimated.
A limitation of the current study could be the limited operating condition. As the proposed method uses an acceleration-level constraint of the joint, the method is only applicable when the joint is in a dynamic condition. This is also the case for the method in [11]. For static conditions, other techniques, such as zero velocity update [42,43], should be applied to prevent drift in the heading estimation.

4. Conclusions

This study proposes a 3D joint angle estimation method using IMUs without a magnetometer. The proposed method is implemented in a sequential DCM-based orientation KF that is composed of an attitude estimation KF followed by a heading estimation KF. In the heading estimation KF, an acceleration-level kinematic constraint from a spherical joint replaces the magnetometer signals for the correction procedure. Because the proposed method does not rely on the magnetometer, it is completely magnetic condition-independent and free from the magnetic disturbance issue.
For the averaged RMSEs for the three tests presented in this study, the proposed method produced 1.58°, while the conventional method with the magnetic disturbance compensation mechanism did 5.38°, showing a higher accuracy of the proposed method in magnetically disturbed conditions. If the attitude estimation error can be removed, the accuracy is further improved to the averaged RMSE of 0.87°, which is the case for Method 4. While the proposed method performed well in the mechanical two-link system, it needs to be validated in a real scenario, i.e., human joint angle estimation using IMUs mounted on human segments. As our future work, the proposed method will be applied to the whole body model including upper and lower limbs. Under these test setups, the influences of human joints and segments which are different from mechanical joints and links on estimation accuracy will be examined. Furthermore, computation costs of methods will be investigated.
This study demonstrated the feasibility of the proposed method, which is completely free from the magnetic disturbance issue and could provide robust joint angle estimation independent of the magnetic condition. Due to the independence of the proposed method from the magnetic condition, the proposed approach can be reliably applied in various fields that require robust 3D joint angle estimation through IMU signals in an unspecified arbitrary magnetic environment.

Author Contributions

J.K.L. and T.H.J. designed the study; T.H.J. performed the experiments; T.H.J. and J.K.L. analyzed the data; J.K.L. drafted and edited the manuscript. Both authors approved the final manuscript.

Funding

This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (grant number: 2018R1D1A1B07042791).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Favre, J.; Jolles, B.M.; Aissaoui, R.; Aminian, K. Ambulatory measurement of 3D knee joint angle. J. Biomech. 2008, 41, 1029–1035. [Google Scholar] [CrossRef] [PubMed]
  2. Teufl, W.; Miezal, M.; Taetz, B.; Fröhlich, M.; Bleser, G. Validity, test-retest reliability and long-term stability of magnetometer free inertial sensor based 3D joint kinematics. Sensors 2018, 18, 1980. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. Faisal, A.I.; Majumder, S.; Mondal, T.; Cowan, D.; Naseh, S.; Deen, M.J. Monitoring methods of human body joints: State-of-the-art and research challenges. Sensors 2019, 19, 2629. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  4. Wolfgang, T.; Michael, L.; Markus, M.; Bertram, T.; Michael, F.; Gabriele, B. Towards Inertial Sensor Based Mobile Gait Analysis: Event-Detection and Spatio-Temporal Parameter. Sensors 2019, 19, 38. [Google Scholar]
  5. Kirking, B.; El-Gohary, M.; Kwon, Y. The feasibility of shoulder motion tracking during activities of daily living using inertial measurement units. Gait Posture 2016, 49, 47–53. [Google Scholar] [CrossRef] [PubMed]
  6. Bonato, P. Wearable sensors/systems and their impact on biomedical engineering. IEEE Eng. Med. Biol. Mag. 2003, 22, 18–20. [Google Scholar] [CrossRef]
  7. Seel, T.; Raisch, J.; Schauer, T. IMU-based joint angle measurement for gait analysis. Sensors 2014, 14, 6891–6909. [Google Scholar] [CrossRef] [Green Version]
  8. El-Gohary, M.; McNames, J. Shoulder and elbow joint angle tracking with inertial sensors. IEEE Trans. Biomed. Eng. 2012, 59, 2635–2641. [Google Scholar] [CrossRef]
  9. El-Gohary, M.; McNames, J. Human joint angle estimation with inertial sensors and validation with a robot arm. IEEE Trans. Biomed. Eng. 2015, 62, 1759–1767. [Google Scholar] [CrossRef]
  10. Vikas, V.; Crane, C.D. Joint angle measurement using strategically placed accelerometers and gyroscope. J. Mech. Robot. 2015, 8, 1–7. [Google Scholar] [CrossRef]
  11. Fasel, B.; Spörri, J.; Schütz, P.; Lorenzetti, S.; Aminian, K. Validation of functional calibration and strap-down joint drift correction for computing 3D joint angles of knee, hip, and trunk in alpine skiing. PLoS ONE 2017, 12, e0181446. [Google Scholar] [CrossRef] [PubMed]
  12. Laidig, D.; Schauer, T.; Seel, T. Exploiting Kinematic Constraints to Compensate Magnetic Disturbances When Calculating Joint Angles of Approximate Hinge Joints from Orientation Estimates of Inertial Sensors. In Proceedings of the 2017 IEEE International Conference on Rehabilitation Robotics (ICORR), London, UK, 17–20 July 2017; pp. 971–976. [Google Scholar]
  13. Muller, P.; Begin, M.; Schauer, T.; Seel, T. Alignment-free, self-calibrating elbow angles measurement using inertial sensors. IEEE J. Biomed. Health Inform. 2017, 21, 312–319. [Google Scholar] [CrossRef] [PubMed]
  14. O’Donovan, K.J.; Kamnik, R.; O’Keeffe, D.T.; Lyons, G.M. An inertial and magnetic sensor based technique for joint angle measurement. J. Biomech. 2007, 40, 2604–2611. [Google Scholar] [CrossRef] [PubMed]
  15. Picerno, P.; Cereatti, A.; Cappozzo, A. Joint kinematics estimate using wearable inertial and magnetic sensing modules. Gait Posture 2008, 28, 588–595. [Google Scholar] [CrossRef]
  16. Luinge, H.J.; Veltink, P.H.; Baten, C.T.M. Ambulatory measurement of arm orientation. J. Biomech. 2007, 40, 78–85. [Google Scholar] [CrossRef]
  17. Atrsaei, A.; Salarieh, H.; Alasty, A.; Abediny, M. Human arm motion tracking by inertial/magnetic sensors using unscented Kalman filter and relative motion constraint. J. Intell. Robot. Syst. 2017, 90, 161–170. [Google Scholar] [CrossRef]
  18. Fasel, B.; Sporri, J.; Chardonnens, J.; Kroll, J.; Muller, E.; Aminian, K. Joint inertial sensor orientation drift reduction for highly dynamic movements. IEEE J. Biomed. Health Inform. 2018, 22, 77–86. [Google Scholar] [CrossRef]
  19. Alonge, F.; Cucco, E.; D’Ippolito, F.; Pulizzotto, A. The use of accelerometers and gyroscopes to estimate hip and knee angles on gait analysis. Sensors 2014, 14, 8430–8446. [Google Scholar] [CrossRef] [Green Version]
  20. Saito, H.; Watanabe, T. Kalman-filtering-based joint angle measurement with wireless wearable sensor system for simplified gait analysis. IEICE Trans. Inf. Syst. 2011, 94, 1716–1720. [Google Scholar] [CrossRef] [Green Version]
  21. Brennan, A.; Zhang, J.; Deluzio, K.; Li, Q. Quantification of inertial sensor-based 3D joint angle measurement accuracy using an instrumented gimbal. Gait Posture 2011, 34, 320–323. [Google Scholar] [CrossRef]
  22. Nowka, D.; Kok, M.; Seel, T. On Motions that Allow for Identification of Hinge Joint Axes from Kinematic Constraints and 6D IMU Data. In Proceedings of the European Control Conference (ECC), Nice, France, 25–28 June 2019; p. 7. [Google Scholar]
  23. Filippeschi, A.; Schmitz, N.; Miezal, M.; Bleser, G.; Ruffaldi, E.; Stricker, D. Survey of motion tracking methods based on inertial sensors: A focus on upper limb human motion. Sensors 2017, 17, 1257. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  24. Cheng, P.; Oelmann, B. Joint-angle measurement using accelerometers and gyroscopes—A survey. IEEE Trans. Instrum. Meas. 2010, 59, 404–414. [Google Scholar] [CrossRef]
  25. Cordillet, S.; Bideau, N.; Bideau, B.; Nicolas, G. Estimation of 3D knee joint angles during cycling using inertial sensors: Accuracy of a novel sensor-to-segment calibration procedure based on pedaling motion. Sensors 2019, 19, 2474. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  26. Bachmann, E.R.; Yun, X.; Brumfield, A. Limitations of attitude estimation algorithms for inertial/magnetic sensor modules. IEEE Robot. Autom. Mag. 2007, 14, 76–87. [Google Scholar] [CrossRef]
  27. Slajpah, S.; Kamnik, R.; Munih, M. Compensation for magnetic disturbances in motion estimation to provide feedback to wearable robotic systems. IEEE Trans. Neural Syst. Rehabil. Eng. 2017, 25, 2398–2406. [Google Scholar] [CrossRef] [PubMed]
  28. Fan, B.; Li, Q.; Liu, T. How magnetic disturbance influences the attitude and heading in magnetic and inertial sensor-based orientation estimation. Sensors 2017, 18, 76. [Google Scholar] [CrossRef] [Green Version]
  29. Ligorio, G.; Sabatini, A. Dealing with magnetic disturbances in human motion capture: A survey of techniques. Micromachines 2016, 7, 43. [Google Scholar] [CrossRef] [Green Version]
  30. Sabatini, A.M. Quaternion-based extended Kalman filter for determining orientation by inertial and magnetic sensing. IEEE Trans. Biomed. Eng. 2006, 53, 1346–1356. [Google Scholar] [CrossRef]
  31. Lee, J.K.; Park, E.J. Minimum-order Kalman filter with vector selector for accurate estimation of human body orientation. IEEE Trans. Robot. 2009, 25, 1196–1201. [Google Scholar]
  32. Roetenberg, D.; Luinge, H.J.; Baten, C.T.M.; Veltink, P.H. Compensation of magnetic disturbances improves inertial and magnetic sensing of human body segment orientation. IEEE Trans. Neural Syst. Rehabil. Eng. 2005, 13, 395–405. [Google Scholar] [CrossRef] [Green Version]
  33. Sabatini, A.M. Variable-state-dimension Kalman-based filter for orientation determination using inertial and magnetic sensors. Sensors 2012, 12, 8491–8506. [Google Scholar] [CrossRef] [PubMed]
  34. Ligorio, G.; Sabatini, A.M. A Linear Kalman Filtering-Based Approach for 3D Orientation Estimation from Magnetic/Inertial Sensors. In Proceedings of the 2015 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI), San Diego, CA, USA, 14–16 September 2015; pp. 77–82. [Google Scholar]
  35. Hu, J.S.; Sun, K.C. A robust orientation estimation algorithm using MARG sensors. IEEE Trans. Instrum. Meas. 2015, 64, 815–822. [Google Scholar]
  36. Miezal, M.; Taetz, B.; Bleser, G. On inertial body tracking in the presence of model calibration errors. Sensors 2016, 16, 1132. [Google Scholar] [CrossRef] [PubMed]
  37. Kok, M.; Hol, J.D.; Schoen, T.B. An Optimization-Based Approach to Human Body Motion Capture Using Inertial Sensors. In Proceedings of the 19th International Federation of Automatic Control World Congress, Cape Town, South Africa, 24–29 August 2014; pp. 79–85. [Google Scholar]
  38. Lee, J.K.; Choi, M.J. Robust inertial measurement unit-based attitude determination Kalman filter for kinematically constrained links. Sensors 2019, 19, 768. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  39. Seel, T.; Schauer, T.; Raisch, J. Joint Axis and Position Estimation from Inertial Measurement Data by Exploiting Kinematic Constraints. In Proceedings of the 2012 IEEE International Conference on Control Applications, Dubrovnik, Croatia, 3–5 October 2012; pp. 45–49. [Google Scholar]
  40. 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] [PubMed]
  41. Lee, J.K.; Park, E.J.; Robinovitch, S.N. Estimation of attitude and external acceleration using inertial sensor measurement during various dynamic conditions. IEEE Trans. Instrum. Meas. 2012, 61, 2262–2273. [Google Scholar] [CrossRef] [Green Version]
  42. Park, S.K.; Suh, Y.S. A zero velocity detection algorithm using inertial sensors for pedestrian navigation systems. Sensors 2010, 10, 9163–9178. [Google Scholar] [CrossRef] [Green Version]
  43. Xu, Z.; Wei, J.; Zhang, B.; Yang, W. A robust method to detect zero velocity for improved 3D personal navigation using inertial sensors. Sensors 2015, 15, 7708–7727. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Flowchart of the proposed Kalman filter.
Figure 1. Flowchart of the proposed Kalman filter.
Sensors 19 05522 g001
Figure 2. Experimental setup: (left) one MTw and three optical markers were attached to each link connected by a spherical joint, and (right) the magnetic disturbance was applied using a screwdriver.
Figure 2. Experimental setup: (left) one MTw and three optical markers were attached to each link connected by a spherical joint, and (right) the magnetic disturbance was applied using a screwdriver.
Sensors 19 05522 g002
Figure 3. Results of the yaw estimation of the joint in Test 2: (a) magnitude of the applied magnetic disturbance and (b) estimation errors from Method 1 (triangle), Method 2 (square), and Method 3 (circle) with respect to the reference yaw (dashed).
Figure 3. Results of the yaw estimation of the joint in Test 2: (a) magnitude of the applied magnetic disturbance and (b) estimation errors from Method 1 (triangle), Method 2 (square), and Method 3 (circle) with respect to the reference yaw (dashed).
Sensors 19 05522 g003
Figure 4. Results of the yaw estimation of the joint in Test 3: (a) magnitude of the applied magnetic disturbance and (b) estimation errors from Method 1 (triangle), Method 2 (square), and Method 3 (circle) with respect to the reference yaw (dashed).
Figure 4. Results of the yaw estimation of the joint in Test 3: (a) magnitude of the applied magnetic disturbance and (b) estimation errors from Method 1 (triangle), Method 2 (square), and Method 3 (circle) with respect to the reference yaw (dashed).
Sensors 19 05522 g004
Figure 5. Results of heading (yaw) estimation (dashed) of (a) link i, (b) link j, and (c) the joint from Method 3 with respect to the reference heading (solid) in Test 2.
Figure 5. Results of heading (yaw) estimation (dashed) of (a) link i, (b) link j, and (c) the joint from Method 3 with respect to the reference heading (solid) in Test 2.
Sensors 19 05522 g005
Table 1. Magnitudes of the external accelerations and magnetic disturbances during the tests.
Table 1. Magnitudes of the external accelerations and magnetic disturbances during the tests.
Acceleration of the Link i (m/s2)Acceleration of the Link j (m/s2)Disturbance of the Link j (a.u.)
MeanMaxMeanMaxMeanMax
Test 11.288.221.306.110.232.60
Test 22.1414.051.8711.500.272.41
Test 35.5637.094.6918.540.252.65
Table 2. Root mean squared errors (RMSEs) of the 3D joint angle estimation in Tests 1–3 (unit: °).
Table 2. Root mean squared errors (RMSEs) of the 3D joint angle estimation in Tests 1–3 (unit: °).
RollPitchYawAverage
Test 1Method 11.522.237.873.87
Method 20.930.691.861.16
Method 31.160.561.100.94
Method 40.140.210.840.40
Test 2Method 11.483.819.164.82
Method 26.199.7631.5615.84
Method 31.530.861.991.46
Method 40.350.751.870.99
Test 3Method 13.516.0612.777.45
Method 214.6819.8358.0330.84
Method 32.651.492.862.33
Method 40.470.962.231.22
Table 3. RMSEs of the heading estimation of each link and joint from method 3 (unit: °).
Table 3. RMSEs of the heading estimation of each link and joint from method 3 (unit: °).
Link iLink jJoint Angle
Test 10.591.531.10
Test 226.0125.091.99
Test 365.5464.292.86

Share and Cite

MDPI and ACS Style

Lee, J.K.; Jeon, T.H. Magnetic Condition-Independent 3D Joint Angle Estimation Using Inertial Sensors and Kinematic Constraints. Sensors 2019, 19, 5522. https://doi.org/10.3390/s19245522

AMA Style

Lee JK, Jeon TH. Magnetic Condition-Independent 3D Joint Angle Estimation Using Inertial Sensors and Kinematic Constraints. Sensors. 2019; 19(24):5522. https://doi.org/10.3390/s19245522

Chicago/Turabian Style

Lee, Jung Keun, and Tae Hyeong Jeon. 2019. "Magnetic Condition-Independent 3D Joint Angle Estimation Using Inertial Sensors and Kinematic Constraints" Sensors 19, no. 24: 5522. https://doi.org/10.3390/s19245522

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