Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2019 Dec 13;19(24):5522. doi: 10.3390/s19245522

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

Jung Keun Lee 1,*, Tae Hyeong Jeon 1
PMCID: PMC6960945  PMID: 31847254

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.

Keywords: inertial measurement unit, joint angle, kinematic constraint, magnetic disturbance

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:

yA=gS+aS+nA and (1)
yG=ωS+nG (2)

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) RSI of {S} with respect to {I} (hereafter denoted as RS) can be interpreted as a set of three unit axis column vectors of {I} written in {S}, i.e., XS, YS, and ZS:

RS=[XSYSZS]T. (3)

When the Z-axis of the inertial frame points vertically upward (which is the most common setup), the last column ZS represents the attitude and can be used to calculate the roll and pitch, while the first column XS represents the heading and can be used to calculate the yaw, with regards to the attitude and heading reference system (AHRS). Hereafter, ZS and XS 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 ZS (i.e., Zi and Zj), 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 XS (i.e., Xi and Xj) is based on the strapdown integration using gyroscope signals. Accordingly, the process model that updates XS with respect to a discrete time t is as follows:

XS,t=(IΔty˜GS,t1)XS,t1+Δt(X˜S,t1)nG, (4)

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

xS,t=ΦS,t1xS,t1+wS,t1, (5)

where the state vector (lowercase) xS is the heading vector (uppercase) XS. The state transition matrix ΦS,t1 is (IΔty˜GS,t1), and the white Gaussian process noise vector wS,t1 is Δt(X˜S,t1)nG. The process noise covariance matrix Qt1, which is defined as E(wt1 wt1T) (where E is the expectation operator), is ΔtσG2X˜S,t1X˜S,t1TS,t1, where σG2 is the gyro noise variance.

At this stage, the a posteriori (or corrected) attitude vectors Zi,t+ and Zj,t+ from the attitude estimation KFs and the a priori (or predicted) heading vectors Xi,t and Xj,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 Xj+ which satisfies the joint constraint, relative to the given Zi,t+, Zj,t+, and Xi,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

Ri(aii+(ω˙˜ii+ω˜iiω˜ii)pii)=Rj(ajj+(ω˙˜jj+ω˜jjω˜jj)pjj), (6)

where, for example, aii is the acceleration of the IMU attached to link i with respect to the sensor frame {i}, and pii is the constant position vector from the origin of the sensor frame {i} to the joint center with respect to {i}; thus, pii is pre-determined before the measurement.

By applying (1) and (2) to (6), (6) becomes

Ri(Ciεi)=Rj(Cjεj), (7)

where the measurable vector CS and the error term εS are as follows.

CS=yAS+(y˙˜GS+y˜GSy˜GS)pSS (8)
εS=nA+λ1,SnG+λ2,Sn˙G (9)

Here, y˙GS in (8) is obtained from the numerical differentiation; and λ1,S=p˜SSy˜GS2y˜GSp˜SS and λ2,S=p˜ss in (9). From (3), the first and second columns of RST are XS and YS, respectively, and YS can be rewritten as Z˜SXS. Therefore, by transposing both sides of (7), two scalar equations can be extracted from (7) to determine unique Xj as follows.

(Ciεi)TXi=(Cjεj)TXj (10)
(Ciεi)TZ˜iXi=(Cjεj)TZ˜jXj (11)

In the proposed method, Xi is given as Xi from the prediction step. In addition, by defining a posteriori attitude error vector Zε,S+, ZS can be expressed as ZS+Zε,S+. By applying these, (10) and (11) can be rewritten respectively as follows.

CiT XiεiT Xi=CjT XjεjT Xj (12)
CiT Z˜i+XiCiT Z˜ε,i+ XiεiT Z˜i+ Xi=CjT Z˜j+ XjCjT Z˜ε,j+ XjεjT Z˜j+ Xj (13)

For (13), the products of errors, εiT Z˜ε,i+ Xi and εjT Z˜ε,j+ Xj, on the left-hand-side and right-hand-side of (13), respectively, have been neglected. The error terms, εjT Xj in (12) and CjT Z˜ε,j+ Xj and εjT Z˜j+ Xj in (13) include the unknown state Xj. By applying Xj=XjXε,j to the error terms, where Xε,j is the a priori heading error vector, (12) and (13) become

CiT XiεiT Xi=CjT XjεjT Xj (14)
CiT Z˜i+ XiCiT Z˜ε,i+ XiεiT Z˜i+ Xi=CjT Z˜j+ XjCjT Z˜ε,j+ XjεjT Z˜j+ Xj (15)

where the products of errors εjT Xε,j for (14) and CjT Z˜ε,j+ Xε,j and εjT Z˜j+ Xε,j for (15) have been neglected.

From (14) and (15), the constraint model is obtained as follows:

zt=Htxt+vt, (16)

where the state vector x, measurement vector z, observation matrix H, and white Gaussian measurement noise vector v are as follows, respectively.

xt=Xj (17)
zt=[CiT XiCiT Z˜i+ Xi] (18)
Ht=[CjTCjT Z˜j+] (19)
vt=[v11+v12v21+v22+v23+v24]=[ εiT XiεjT XjCiT Z˜ε,i+ Xi+εiT Z˜i+ XiCjT Z˜ε,j+ XjεjT Z˜j+ Xj] (20)

It is assumed that εi, εj, Zε,i+, and Zε,j+ are uncorrelated each other; therefore, the measurement noise covariance matrix Mt(=E(vt vtT)) is

Mt=  [E(v11 v11T)+E(v12 v12T)E(v11 v22T)+E(v12 v24T)E(v11 v22T)+E(v12 v24T)E(v21 v21T)+.+E(v24 v24T)] (21)

where

E(v11 v11T)=(Xi)TE(εiT εi)(Xi) (22)
E(v11 v22T)=(Xi)TE(εiT εi)(Z˜i+ Xi) (23)
E(v21 v21T)=E{CiT X˜i(Zε,i+)(Zε,i+)T (X˜i)T Ci}=CiT X˜i E{(Zε,i+)(Zε,i+)T} X˜i Ci (24)

For (22) and (23), aTb=bTa is applied; and E(εiT εi)=σA,i2I+σG,i2 λ1,i λ1,iT+σGdot,i2 λ1,i λ1,iT, where σA,i2 and σGdot,i2 are the noise variances of yAi and y˙Gi, 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(v22 v22T) can be obtained by replacing Xi with Z˜i+ Xi in the counterpart of E(v11 v11T); and E(v12 v12T), E(v12 v24T), E(v23 v23T), and E(v24 v24T) can be obtained by replacing i with j in the counterpart of E(v11 v11T), E(v11 v22T), E(v21 v21T), and E(v22 v22T), respectively.

After the two DCMs, Ri (from Zi+ and Xi) and Rj (from Zj+ and Xj+), are estimated, the joint angle can be extracted using the relative DCM Rij(=RiT Rj) by applying the Z-Y-X Euler angle convention, i.e., Rij=RZ(α) RY(β) RX(γ), where α, β, and γ are the yaw, pitch, and roll, respectively. The overall structure of the proposed algorithm is shown in Figure 1.

Figure 1.

Figure 1

Flowchart of the proposed Kalman filter.

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: pii=[49.80.13.1]Tcm and pjj=[51.20.12.7]Tcm. These vectors were determined from the least squared method proposed in [7], see Figure 2.

Figure 2.

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.

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.

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.)
Mean Max Mean Max Mean Max
Test 1 1.28 8.22 1.30 6.11 0.23 2.60
Test 2 2.14 14.05 1.87 11.50 0.27 2.41
Test 3 5.56 37.09 4.69 18.54 0.25 2.65

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 Xj without a constraint-utilizing correction, i.e., Ri from Zi+ and Xi and Rj from Zj+ and Xj. 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., Zi,opt and Zj,opt that are used as the truth references), while headings Xi and Xj 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 Rij (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.

Table 2.

Root mean squared errors (RMSEs) of the 3D joint angle estimation in Tests 1–3 (unit: °).

Roll Pitch Yaw Average
Test 1 Method 1 1.52 2.23 7.87 3.87
Method 2 0.93 0.69 1.86 1.16
Method 3 1.16 0.56 1.10 0.94
Method 4 0.14 0.21 0.84 0.40
Test 2 Method 1 1.48 3.81 9.16 4.82
Method 2 6.19 9.76 31.56 15.84
Method 3 1.53 0.86 1.99 1.46
Method 4 0.35 0.75 1.87 0.99
Test 3 Method 1 3.51 6.06 12.77 7.45
Method 2 14.68 19.83 58.03 30.84
Method 3 2.65 1.49 2.86 2.33
Method 4 0.47 0.96 2.23 1.22

Figure 3.

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 4.

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).

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., Rij), not the accurate estimation of individual segment orientation (i.e., Ri or Rj). Table 3 lists the heading (yaw) estimation RMSEs of links i and j and the joint from Method 3, i.e., αi from Ri, αj from Rj, and αij from Rij, 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, Ri is determined by Zi+ and Xi, while Rj is determined by Zj+ and Xj+. Here, the heading vector of link i, Xi, 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, Xj+, is estimated to satisfy the constraint at a given condition with Xi, the vector Xj+ is also drift-affected. However, the relative orientation Rij, which represents the joint angle, is free from drift. Although accurately obtaining Xi is not required, estimating Xi by strapdown integration using the gyroscope signals plays an important role in achieving an accurate joint angle estimation. If Xi was fixed or arbitrarily designated based on the idea that it is not necessary to accurately obtain Xi, the results were not successful. This is because, in the heading estimation KF for Xj+, the correction process based on the constraint equation has a lower burden when the predicted Xi is applied rather than when the fixed or arbitrary Xi is applied.

Table 3.

RMSEs of the heading estimation of each link and joint from method 3 (unit: °).

Link i Link j Joint Angle
Test 1 0.59 1.53 1.10
Test 2 26.01 25.09 1.99
Test 3 65.54 64.29 2.86

Figure 5.

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.

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), Xi is obtained by the strapdown integration, and Xj is determined using the kinematic constraint of the joint between the links i and j. Once Xj is determined, Xk 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. doi: 10.1016/j.jbiomech.2007.12.003. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s18071980. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s19112629. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s19010038. [DOI] [PMC free article] [PubMed] [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. doi: 10.1016/j.gaitpost.2016.06.008. [DOI] [PubMed] [Google Scholar]
  • 6.Bonato P. Wearable sensors/systems and their impact on biomedical engineering. IEEE Eng. Med. Biol. Mag. 2003;22:18–20. doi: 10.1109/MEMB.2003.1213622. [DOI] [PubMed] [Google Scholar]
  • 7.Seel T., Raisch J., Schauer T. IMU-based joint angle measurement for gait analysis. Sensors. 2014;14:6891–6909. doi: 10.3390/s140406891. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8.El-Gohary M., McNames J. Shoulder and elbow joint angle tracking with inertial sensors. IEEE Trans. Biomed. Eng. 2012;59:2635–2641. doi: 10.1109/TBME.2012.2208750. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/TBME.2015.2403368. [DOI] [PubMed] [Google Scholar]
  • 10.Vikas V., Crane C.D. Joint angle measurement using strategically placed accelerometers and gyroscope. J. Mech. Robot. 2015;8:1–7. doi: 10.1115/1.4031299. [DOI] [Google Scholar]
  • 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. doi: 10.1371/journal.pone.0181446. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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; Proceedings of the 2017 IEEE International Conference on Rehabilitation Robotics (ICORR); London, UK. 17–20 July 2017; pp. 971–976. [DOI] [PubMed] [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. doi: 10.1109/JBHI.2016.2639537. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1016/j.jbiomech.2006.12.010. [DOI] [PubMed] [Google Scholar]
  • 15.Picerno P., Cereatti A., Cappozzo A. Joint kinematics estimate using wearable inertial and magnetic sensing modules. Gait Posture. 2008;28:588–595. doi: 10.1016/j.gaitpost.2008.04.003. [DOI] [PubMed] [Google Scholar]
  • 16.Luinge H.J., Veltink P.H., Baten C.T.M. Ambulatory measurement of arm orientation. J. Biomech. 2007;40:78–85. doi: 10.1016/j.jbiomech.2005.11.011. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1007/s10846-017-0645-z. [DOI] [Google Scholar]
  • 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. doi: 10.1109/JBHI.2017.2659758. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s140508430. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1587/transinf.E94.D.1716. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.gaitpost.2011.05.018. [DOI] [PubMed] [Google Scholar]
  • 22.Nowka D., Kok M., Seel T. On Motions that Allow for Identification of Hinge Joint Axes from Kinematic Constraints and 6D IMU Data; 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. doi: 10.3390/s17061257. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 24.Cheng P., Oelmann B. Joint-angle measurement using accelerometers and gyroscopes—A survey. IEEE Trans. Instrum. Meas. 2010;59:404–414. doi: 10.1109/TIM.2009.2024367. [DOI] [Google Scholar]
  • 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. doi: 10.3390/s19112474. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/MRA.2007.901320. [DOI] [Google Scholar]
  • 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. doi: 10.1109/TNSRE.2017.2760356. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s18010076. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 29.Ligorio G., Sabatini A. Dealing with magnetic disturbances in human motion capture: A survey of techniques. Micromachines. 2016;7:43. doi: 10.3390/mi7030043. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/TBME.2006.875664. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/TNSRE.2005.847353. [DOI] [PubMed] [Google Scholar]
  • 33.Sabatini A.M. Variable-state-dimension Kalman-based filter for orientation determination using inertial and magnetic sensors. Sensors. 2012;12:8491–8506. doi: 10.3390/s120708491. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 34.Ligorio G., Sabatini A.M. A Linear Kalman Filtering-Based Approach for 3D Orientation Estimation from Magnetic/Inertial Sensors; 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. doi: 10.3390/s16071132. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 37.Kok M., Hol J.D., Schoen T.B. An Optimization-Based Approach to Human Body Motion Capture Using Inertial Sensors; 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. doi: 10.3390/s19040768. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 39.Seel T., Schauer T., Raisch J. Joint Axis and Position Estimation from Inertial Measurement Data by Exploiting Kinematic Constraints; 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. doi: 10.1109/TBME.2015.2411431. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/TIM.2012.2187245. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 42.Park S.K., Suh Y.S. A zero velocity detection algorithm using inertial sensors for pedestrian navigation systems. Sensors. 2010;10:9163–9178. doi: 10.3390/s101009163. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s150407708. [DOI] [PMC free article] [PubMed] [Google Scholar]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES