Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2021 May 14;21(10):3428. doi: 10.3390/s21103428

Improved Single Inertial-Sensor-Based Attitude Estimation during Walking Using Velocity-Aided Observation

Duc Cong Dang 1, Young Soo Suh 1,*
Editor: Mario Munoz-Organero1
PMCID: PMC8156317  PMID: 34069129

Abstract

This paper presents a Kalman filter-based attitude estimation algorithm using a single body-mounted inertial sensor consisting of a triaxial accelerometer and triaxial gyroscope. The proposed algorithm has been developed for attitude estimation during dynamic conditions such as walking and running. Based on the repetitive properties of the velocity signal of human gait during walking, a novel velocity-aided observation is used as a measurement update for the filter. The performance has been evaluated in comparison to two standard Kalman filters with different measurement update methods and a smoother algorithm which is formulated in the form of a quadratic optimization problem. Whereas two standard Kalman filters give maximum 5 degrees in both pitch and roll error for short walking case, their performance gradually decrease with longer walking distance. The proposed algorithm shows the error of about 3 degrees in 15 m walking case, and indicate the robustness of the method with the same performance in 75 m trials. As far as the accuracy of the estimation is concerned, the proposed method achieves advantageous results due to its periodic error correction capability in both short and long walking cases at varying speeds. In addition, in terms of practicality and stability, with simple parameter settings and without the need of all-time data, the algorithm can achieve smoothing-algorithm-performance level with lower computational resources.

Keywords: inertial sensor, body-mounted, attitude estimation, Kalman filter, velocity observation

1. Introduction

The advent of Micro Electro Mechanical Systems (MEMS) technology has made it possible for Inertial Measurement Units (IMU) to attract significant attention due to their miniaturized, low power consumption, and low cost [1]. In particular, the use of inertial sensors has been playing a key role in a wide range of applications requiring attitude (i.e., roll and pitch) and/or heading (i.e., yaw) information such as indoor localization [2,3], unmanned underwater vehicles (UAVs) and spacecraft inertial navigation [4,5], human activity and gesture recognition [6,7,8,9], robots and drones control and stabilization [10,11].

An IMU, typically composed of a three-axis accelerometer, and a three-axis gyroscope, could observe the linear and angular motions, of the target in three-dimensional space to determine attitude in relation to the inertial system. In fact, by combining the inertial sensors with a magnetometer, forming an attitude and heading reference system (AHRS) [12,13,14], much of the current work on the inertial sensing-based orientation estimation has centered on 3-D orientations. However, only the attitude is required without the heading information for various applications such as robot and vehicle stability control [15], human balance issues [16], and gait analysis [17,18,19]. In this paper, the magnetometer is omitted and only the attitude estimation problem is considered using a six-DOF inertial sensor comprised of a triaxial accelerometer and a triaxial gyroscope.

The inertial sensing-based attitude estimation problem usually relies on the following concepts. An accelerometer determines the orientation by sensing the gravitational acceleration about its axes during static conditions. A gyroscope measures the angular rate of rotation along its axes and integrating these rates over time, results in the orientation angles. However, the integration process also accumulates any gyroscope bias or measurement error, and cause attitude drift errors. During dynamic conditions, the accelerometer measures external acceleration as well as gravitational acceleration. Thus the attitude estimation based on the corrupted acceleration is not accurate. The classic strategy to deal with this issue is to use a threshold-based switching technique, which makes use of the fact that the accelerometer should measure only gravitational acceleration (norm 9.81 m/s2) during static conditions [20]. When the norm of the accelerometer output exceeds the gravitational acceleration norm by some pre-defined threshold, it can be determined that there is external acceleration (that is, dynamic conditions). The estimation then switches the measurement signal to gyroscope only until the threshold condition is not met. This method is simple but will be affected by incorrect dynamic state detection and prolonged dynamic conditions. Therefore, a proper fusion of the accelerometer and gyroscope signals is essential in order to address the external acceleration problem and obtain high accuracy attitude estimation.

Recent gait analysis studies show the increasing use of wearable inertial sensor instead of camera-based laboratory systems for measuring attitude during gait [21,22,23]. However, most of the works focus on analysis by monitoring the angle of various joints on the lower extremities (e.g., foot, shank, calf or thigh) whereas only a small number of studies have analyzed upper limb function despite the fact that the upper limbs play an important role in balance and stability maintenance, reduction of mechanical loads on tissue, and improved gait efficiency [24,25,26]. In this article, we focus on estimating attitude of human body during locomotion, particularly upper limb during walking using single IMU.

During walking, the accelerometer outputs are constantly corrupted by linear acceleration caused by the movement of the body, which degrades the attitude estimation performance. For a short distance walking, attitude estimation can be estimated by just integrating gyroscope outputs without using corrupted accelerometer data. However, the attitude estimation becomes inaccurate for longer distance walking.

The key contribution of this paper is to provide a new measurement updating approach to the issue of attitude estimation in human walking scenarios by using some constraints obtained from the almost periodic nature of walking. Experiments are carried out to evaluate the accuracy of the proposed algorithm in attitude estimation with different sensor attachment positions. The properties of the proposed approach are discussed in comparison with two standard Kalman filters with different measurement updating methods and a smoother algorithm using quadratic optimization technique.

The remaining sections are organized as follows: In Section 2, basic definitions and equations of a quaternion-based Kalman filter is given. Measurement updating methods are illustrated in Section 3 with a typical two level measurement update and a proposed method, where a repetitive property of walking velocity signal is used. Experimental setup and results are indicated in Section 4. Discussion, limitations and future works are given in Section 5.

2. Standard Indirect Kalman Filter for Attitude Estimation

The coordinate transformation of a 3×1 position vector r between the body attached sensor coordinate frame and the fixed North-East-Down world coordinate frame is expressed as follows:

rb=Cwbrw,

where the right subscripts b and w imply the corresponding vectors are expressed in the body and world coordinate frames, and CwbSO(3), simply denoted as C, is the rotation matrix that represents the orientation of the world frame with respect to the body frame. It contains the three unit column vectors of the world coordinate expressed in body coordinate, and can either be represented by the Euler angles or the quaternion. In this paper, quaternion representation is chosen due to its efficiency in computation. The relationship between quaternion q and its corresponding rotation matrix C(q) is given by

C(q)=2q02+2q1212q1q2+2q0q32q1q32q0q22q1q22q0q32q02+2q2212q2q3+2q0q12q1q3+2q0q22q2q32q0q12q02+2q321.

In this paper, quaternion q is estimated using standard Kalman filter during walking, where the initial heading is arbitrarily chosen.

The kinematic equation of a rotation is given by [12]

q˙=12q0ω=12Ω(ω)q, (1)

where ωR3 is the body angular velocity, operation ⊗ represents quaternion multiplication and the symbol Ω(ω) is defined by

Ω(ω)=0ωω[ω×],

where [ω×] is the cross product operation on vector ω, and ω is the transpose of ω.

Accelerometer and gyroscope outputs yaR3 and ygR3 are modeled as follows:

ya=C(q)g˜+ab+na,yg=ω+bg+ng. (2)

where abR3 is unknown external acceleration and bgR3 is gyroscope bias. The local gravitation vector g˜R3 is given by

g˜00g,

where gR is the magnitude of the gravitation and naR3,ngR3 are sensor noises. It is assumed that the sensor noises are zero-mean white Gaussian and their covariances are given by

E{na(t)na(s)}=raI3δ(ts),E{ng(t)ng(s)}=rgI3δ(ts),

where raR and rgR are positive scalars.

Let b^gR3 be an estimate of the gyroscope bias bg with an error bg,e

bg=b^g+bg,e. (3)

The gyroscope bias bg can be modeled as nearly constant

b˙g=nbg, (4)

where a small zero-mean Gaussian process noise nbg is added with covariance Qbgδ(ts)=E{nbg(t)nbg(s)} so that the bias estimation is not stopped soon.

Let q^R4 be an estimate of q computed from bias-corrected gyroscope output by

q^˙=12q^0ygb^g. (5)

Since ygb^gω due to sensor noise and bias estimation error, the estimated quaternion q^ is not the same as the true value q. The estimation error q¯eR4 can be represented in the multiplicative form

q=q¯eq^, (6)

or in the rotation matrix expression

C(q)=C(q^)C(q¯e). (7)

Assuming that attitude error is small, we can approximate q¯eR4 by 3×1 vector qe as follows:

q¯e1qeRR3, (8)

and we can approximate C(q¯e) as follows [12]:

C(q¯e)12qe,32qe,22qe,312qe,12qe,22qe,11=I2[qe×]. (9)

The state of an indirect Kalman filter is defined by

xqebg,eR6. (10)

We have the following state equation for an indirect Kalman filter:

x˙(t)=q˙eb˙g,e=Ax(t)+12C(q^)ngnbg, (11)

where

A=03×312C(q^)03×303×3.

Covariance of the process noise is as follows:

E12C(q^)ng(t)nbg(t)12C(q^)ng(s)nbg(s)=δ(ts)14C(q^)rgI3C(q^)00Qbg.

The measurement equation for an indirect Kalman filter is derived from the sensor output equations. Inserting (7) and (9) into (2), we have

yaC(q^)g˜=2C(q^)[g˜×]qe+ab+na. (12)
ygb^g=bg,e+ω+ng. (13)

Equations (11)–(13) constitute a continuous standard indirect Kalman filter for attitude estimation problem.

3. Proposed Measurement Updating Methods

In this section, a typical measurement updating method using two level measurement update is given. The algorithm based on this technique together with a new velocity-aided observation is proposed in the later of this section.

3.1. Two Level Measurement Updates

When the target is being transformed, including moving and rotating, only the state update Equation (11) is used in the filter without any measurement update. The integrating process might cause accumulate error if the error and bias are not compensated.

A so-called zero-velocity update (ZUPT) technique uses the fact that the velocity must be zero whereas the object is not moving in a specific time interval to reduce the error drift in the integration part of a standard Kalman filter, including position, velocity, and orientation estimations. This technique is usually used with foot-mounted inertial navigation systems, where the foot is stationary during stance phases. However, with the sensor unit attached on human upper body rather than on the feet, it is relatively difficult since there is no periodical instance of zero-velocity during walking.

A more appropriate approach for upper body attitude estimation is to apply gravity measurement (GM) model and the zero-angular-rate update (ZARU) model at detected events. The gravity measurement model employs the acceleration measurement to compensate roll and pitch under the condition that no significant linear acceleration is present. The measured acceleration is considered to be due to gravitational acceleration only

yaC(q^)g˜=2C(q^)[g˜×]qe+na. (14)

Thus, the corresponding measurement equation in the prediction step is given as follows:

Ka,k=PkHa,kHa,kPkHa,k+Ra1Pk=(IKa,kHa,k)Pk(IKa,kHa,k) (15)
x^k=x^k+Ka,k(za,kHa,kx^k), (16)

where

Ha,k=2C(q^k)g˜×03×3za,k=ya,kC(q^k)g˜. (17)

The ZARU model relies on the condition that there is no rotational motion at the detected ZARU events, and the gyroscope measurement is due to sensor bias only

ygb^g=bg,e+ng. (18)

The measurement equation in the prediction step is given as follows:

Kg,k=PkHg,kHg,kPkHg,k+Rg1Pk=(IKg,kHg,k)Pk(IKg,kHg,k) (19)
x^k=x^k+Kg,k(zg,kHg,kx^k), (20)

where

Hg,k=03×3I3×3zg,k=yg,kb^g. (21)

3.2. Velocity-Aided Observation

A standard Kalman filter based attitude estimation solution is presented in Section 2. To overcome the external acceleration problem during walking, we derive a new measurement equation, which uses the almost periodic property of human gait during walking. The derivation of this measurement equation is the main contribution of this paper.

Figure 1 shows the acceleration norm of a waist-mounted IMU during walking, where we can observe the almost periodic pattern. In Figure 1, the denoted tk represents one peak time index, which corresponds to a double stance (DS) instant and [tk1,tk] interval defines one walking step.

Figure 1.

Figure 1

Acceleration norm signal and detected high peaks of a waist-mounted IMU during walking.

Velocities in the world coordinate system at t1 and t2 are related by the following equation:

vt2=vt1+t1t2Cbw(t)abdt. (22)

Rewriting the velocity equation in the quaternion form including measurement noise term, we obtain

vt2=vt1+t1t2C(q)abdt=vt1+t1t2C(q)(yaC(q)g˜na)dt=vt1g˜(k2k1)T+t1t2C(q)yadtt1t2C(q)nadt. (23)

where

t1t2C(q)yadt=t1t2(I2[qe×])C(q^)yadt=t1t2C(q^)yadt+2[qe×]t1t2C(q^)yadt=t1t2C(q^)yadt2t1t2C(q^)yadt×qe.

Rearranging (23), we obtain the following:

g˜(k2k1)Tt1t2C(q^)yadt=2t1t2C(q^)yadt×qen¯v,difft1t2C(q)nadt. (24)

where n¯v,diff is defined by

n¯v,diff=vt2vt1.

If we know n¯v,diff, (24) can be considered as an attitude measurement equation estimating qe.

We have done a regular straight walking experiment with normal person without any movement disorder. The participants walk along a straight corridor from standing still in their preferred speed and in a most comfortable way. We found from the experiment that people tend to maintain their walking pace at the same speed and the velocity difference at double stance (DS) instant of two consecutive strides is relatively small. In this case, n¯v,diff0 and (24) can be used as a measurement equation even if we do not know the walking speed vt1 and vt2. The velocity-aided measurement equation can be formed as follows:

Kv,k=PkHv,kHv,kPkHv,k+Rv1x^k=x^k+Kv,k(zv,kHv,kx^k)Pk=(IKv,kHv,k)Pk(IKv,kHv,k)

where

Hv,k=2i=k1kC(q^i)ya,i×03×3zv,k=g˜(tktk1)i=k1kC(q^i)ya,i.

Since na is assumed to be white Gaussian noise, the term n¯v=t1t2C(q)nadt can also be treated as white Gaussian noise

Rv=E{n¯vn¯v}=t1t2t1t2C(q)E{nana}C(q)dt=(t2t1)raI3=(k2k1)TraI3.

The remaining question is when we can apply (24) for the filter’s measurement updating. In other words, we need a condition to determine whether the term n¯v,diff is small enough.

Inserting (2) into (22), we obtain (noise terms are ignored)

vt2vt1+t1t2(Cbw(t)yag˜)dt.

Noting that g˜ is a constant, we obtain

vt2vt1g˜(t2t1)+t1t2Cbw(t)yadt. (25)

Now we factorize Cbw(t) into two rotation matrices

Cbw(t)=Cbt1wCbbt1(t). (26)

The rotation matrix Cbt1w denotes the attitude of the body frame at the time t1 with respect to the world coordinate frame, whereas Cbbt1(t) is calculated using the current attitude estimation at the time t relative to the last pose t1. The later only requires the integration of rotation rate from time t1 to time t with the initial condition for the rotation matrix Cbbt1 at the start of the integration period is Cbt1bt1, which is the identity matrix. Thus it can be pre-integrated in the body frame of pose t1 without the actual attitude of the target at the time t1. This concept had been presented in [27], where the inertial observations are calculated from pose to pose in the body coordinate frame other than in world coordinate frame.

Inserting (26) into (25), we obtain

n¯v,diff=vt2vt1g˜(t2t1)+Cbt1wΔvt2t1, (27)

where Δvt2t1=t1t2Cbbt1(t)yadt.

The right hand side of (27) cannot be computed since the rotation matrix Cbt1w is unknown without initial attitude. However, we can derive a necessary condition that n¯v,diff=0 using the fact Cbt1w is a rotation matrix. If n¯v,diff=0, norms of g˜(t2t1) and Δvt2t1 should be the same.

Based on this observation, we define a function representing the difference between norms of g˜(t2t1) and Δvt2t1 as follows:

f(t1,t2)=||Δvt2t1||g(t2t1). (28)

We introduce a condition to test whether n¯v,diff0.

Condition 1.

Given acceleration and rotation rate signals between two poses t1 and t2, when the velocity difference signal is small, the following condition is satisfied:

|f(t1,t2)|<ϵ, (29)

where ϵR is a small threshold.

In the proposed algorithm, (24) is used as a measurement equation for estimating qe when the condition (29) is satisfied.

3.3. Practical Implementation

In a standard Kalman-based inertial navigation system, measurement detectors are used to identify the sampling instances where the measurement equations are to be applied. In this section, several heuristic detectors using for the proposed algorithm are presented, which are based on accelerometer and gyroscope outputs.

3.3.1. No-Motion Detection

Gravity measurement update is utilized under the condition that no significant linear acceleration is present. An acceleration-moving-variance detector or an acceleration-magnitude detector can be used to determine when the IMU is stationary. A discrete time index k belongs to a non-moving interval if exist a moving window around k that satisfy the following conditions:

||ya,iya,i1||δa,kNa2ik+Na2 (30)

where δa is threshold value and Na is specified window length for detecting the non-moving intervals.

Zero-angular-rate update (ZARU) measurement is performed when no remarkable rotation is present. This can be determined by using a magnitude detector as follows:

||yg,i||δg,kNg2ik+Ng2 (31)

where δg is threshold value and Ng is specified window length.

A combination of above-mentioned detectors can be used to detect the zero-velocity intervals. This paper mainly focuses on the attitude estimation problem in a continuous walking scenario with inertial sensor attached on human upper body other than on one’s feet. The foot-mounted sensor attitude estimation result can be improved by applying ZUPT during each stance phase of the gait cycle. However, when a sensor is mounted on human body, zero-velocity intervals are only detected at the stand still periods just before and after the walking trial.

3.3.2. Step Detection

In order to apply velocity-aided measurement update, walking step indices are required. In this paper, a step event is detected from accelerometer output signal. Due to the walking model of a waist-mounted IMU [28], the lowest position of the waist in a gait cycle corresponds to the high peak of the acceleration norm. Therefore, two consecutive detected high peaks of the acceleration norm data can be used to determine a walking step (see Figure 1), and each high peak also corresponds to a double stance instant.

Before applying the peak detection algorithm, the acceleration norm data is filtered using a zero-phase low-pass filter with a normalized cutoff frequency of 0.2π radians/sample. The step event is then determined with the local high peaks using Algorithm 1.

Algorithm 1 Step Detection Algorithm.

    Input: Filtered acceleration norm y˜a, threshold value Bth, window length Ns.

    Output: Double stance indices PH at high peak of acceleration norm.

  • 1:

    Compute the number of samples N of y˜a

  • 2:

    for discrete time k from k=Ns+1 to NNs do

  • 3:

    if y˜a,k>Bth and y˜a,kmax(y˜a,kNs:y˜a,k1) and y˜a,kmax(y˜a,k+1:y˜a,k+Ns) then

  • 4:

      PH=[PH,k];

  • 5:

    end if

  • 6:

    end for

3.3.3. Proposed Kalman-Based Filter with Velocity Observation Measurement Update

The proposed Indirect Kalman-based filter is summarized in the following Figure 2 and Algorithm 2.

Algorithm 2 Proposed Kalman-based filter with velocity observation measurement update.
  • 1:

    System Initialization.

  • 2:

    Load Initial Values.

  • 3:

    Compute State transition matrix.

  • 4:

    Compute Prior state xk.

  • 5:

    Compute Prior error covariance.

  • 6:

    Integrate quaternion qk.

  • 7:

    if (30) is satisfied (GM available) then

  • 8:

     Calculate the residual (17).

  • 9:

    if (31) is satisfied (ZARU update available) then

  • 10:

      Update the residual (21).

  • 11:

    end if

  • 12:

     Calculate Kalman gain, Update Error covariance.

  • 13:

     Calculate state xk.

  • 14:

     Update quaternion qk with (6).

  • 15:

    end if

  • 16:

    ifkPH (Step is detected) then

  • 17:

    if (29) is satisfied (n¯v,diff0) then

  • 18:

      Calculate the residual (24).

  • 19:

      Calculate Kalman gain, Update Error covariance.

  • 20:

      Calculate state xk.

  • 21:

      Update quaternion qk with (6).

  • 22:

    end if

  • 23:

    end if

  • 24:

    Goto 3.

Figure 2.

Figure 2

Proposed Kalman filter based attitude estimation algorithm.

4. Experiment and Results

4.1. Implementation System

This paper uses a consumer-grade IMU MTi-1 sensor from Xsens Technology B.V. where the parameters are listed in Table 1.

Table 1.

Xsens MTi-1 sensor parameters.

IMU Accelerometer Gyroscope
Axes 3 3
Std. Full range ±16 [g] ±2000 [/s]
Noise density 200 [g/Hz] 0.01 [/s/Hz]
Sampling Freq. 100 Hz 100 Hz

The wearable node has a size of 4 cm × 3 cm × 1 cm (length × width × height) and consists of an Xsens MTi-1 sensor, a micro SD card slot and a Nordic nRF51822 micro-controller with Bluetooth Low Energy (BLE) supported. The node is attached to different user body locations using a velcro tape. Inertial sensor data were sampled at 100 Hz and saved to the SD card for post-processing. An implementation system is given with registered coordinate system in Figure 3.

Figure 3.

Figure 3

Implementation system with registered coordinate system.

4.2. Experiment Description

In order to verify the accuracy of the proposed algorithm, five healthy persons were recruited with information given in Table 2.

Table 2.

The five subjects’ information.

Volunteer Age Weight (kg) Height (cm)
Range 25–33 53–72 160–182
Mean 28.6 66.7 169.6
Standard deviation 3.05 6.92 5.24

Three experiments were conducted to evaluate the performance of the proposed algorithm. The first experiment was performed inside laboratory space with the help of a motion capture system consisting of six infrared cameras. A rigid frame with three infrared markers was mounted in place with the sensor module. The module was then attached to user’s waist. Participants were asked to walk five times in a 3-to-5-m straight line inside working range of the motion capture system. Position data from the tracking system were used for detecting gait cycle and generating reference value for attitude estimation. However, to install a motion capture system, a wide area and a large number of infrared cameras were required. Therefore, equipping a motion capture system for a long walking distance experiment was impractical.

The second experiment was to verify the estimated attitude accuracy during medium walking distance. Volunteers were asked to alternately attach the sensor unit on their waist, neck, and wrist. A corridor 15-m-length was used to take the sensor recording. Each volunteer walked five times along the corridor at their preferred speed.

In the last experiment, users were asked to walk freely two times in long distance (75-m-long in particular), and with varying speed during the trial. The sensor output in all experiments was sampled at frequency of 100 Hz.

4.3. Estimation Results

Position data from motion capture system in the first experiment enabled us to obtain gait parameters. Since the sensor and markers module were mounted on user waist, the vertical position of a marker represented the displacement of user’s center of mass. Therefore, double stance (DS) indices were equivalent to low peak indices of the vertical position. It can be seen from Figure 4 that double stance indices were also coincident with the high peak indices of the acceleration norm signal. The velocity signal along walking direction also supported our statement in Section 3.2 that during middle of the walking trial, the difference of the velocity at double stance instant of two consecutive strides was relatively small.

Figure 4.

Figure 4

Top: vertical position of one marker from motion capture system; second: velocity along walking direction from motion capture system; third: acceleration norm, detected high peak indices, and Gravity Measurement (GM) update enabled signal; bottom: gyroscope output norm, and Zero Angular Rate Update (ZARU) enabled signal.

In the first experiment, estimated attitude using the proposed algorithm was compared with an offline Kalman-based smoother algorithm [19], which was formulated in the form of a quadratic optimization problem. Ground truth values were calculated from position of three markers. Figure 5 and Figure 6 show a slightly better result from the proposed method in comparison with the smoother. Both results, however, were still very small with the Root Mean Square Error (RMSE) for roll and pitch being less than 2 degrees.

Figure 5.

Figure 5

Estimated pitch and roll from smoother and proposed method in comparison with ground truth from motion tracker system.

Figure 6.

Figure 6

Accumulated error of roll and pitch angle from smoother and proposed method.

In the last two experiments, ground truth from the motion tracker system was not available for long walking distance. Therefore, the smoother algorithm in experiment 1 was chosen to provide reference attitude values. The proposed algorithm was compared with two standard Kalman filters. The first filter, denoted as “KF1” was a standard Kalman filter with zero-velocity measurement update during standing still periods. The target position, velocity, and orientation are estimated. The roll and pitch angle were calculated from estimated quaternion. The second one, denoted as “KF2” was a standard Kalman filter with gravity measurement and zero angular rate update which is given in Section 3.1. Only quaternion and gyroscope bias were estimated and the roll and pitch outputs were from the estimated quaternion. Algorithm descriptions are given in Table 3.

Table 3.

Algorithm descriptions.

Algorithm Usage Method
KF1 Experiment 2,3 Kalman filter with ZUPT
KF2 Experiment 2,3 Kalman filter with GM and ZARU
Proposed Experiment 1,2,3 Kalman filter with GM, ZARU, and
velocity observation measurement update
Smoother Experiment 1,2,3 Kalman based smoothing algorithm
with quadratic optimization

Since the estimation error was caused by accumulating error from integration process, standard Kalman filter usually achieved good performance only at an early stage. Hence, we could evaluate the estimation performance by comparing the estimation result at some steps at the end of each trial in the experiment.

Figure 7, Figure 8 and Figure 9 show an example of the estimated roll and pitch angle estimation and its estimation errors on a 15 m walking trial with three different sensor attachment positions. The result illustrated the similar performance of two standard Kalman filters (KF1 and KF2). The proposed algorithm gave better results in comparison with two aforementioned filters with different measurement updating methods. In particular, maximum estimation errors for both roll and pitch angles were less than 3 degrees for all sensor positions, which was approximately 50% better than two standard Kalman filters (see Table 4).

Figure 7.

Figure 7

Waist-mounted roll and pitch angles estimation and errors on 15 m walking trial.

Figure 8.

Figure 8

Neck-mounted roll and pitchangles estimation and errors on 15 m walking trial.

Figure 9.

Figure 9

Wrist-mounted roll and pitch angles estimation and errors on 15 m walking trial.

Table 4.

Second experiment: last 10 steps of 15 m walking trials estimation RMSE.

Mounted Sensor Maximum Error RMSE Standard Deviation
Waist Roll KF1 5.79 4.77 0.07
KF2 13.45 6.09 3.45
Proposed 3.11 1.69 0.60
Pitch KF1 1.02 0.36 0.11
KF2 15.48 8.78 2.38
Proposed 0.59 0.20 0.09
Neck Roll KF1 4.25 3.65 0.16
KF2 9.63 5.42 1.52
Proposed 2.20 1.15 0.42
Pitch KF1 2.11 1.49 0.22
KF2 5.25 2.18 1.32
Proposed 1.46 0.90 0.22
Wrist Roll KF1 5.70 5.12 0.16
KF2 21.54 9.90 5.61
Proposed 3.03 1.77 0.58
Pitch KF1 2.49 1.21 0.70
KF2 30.97 20.94 6.59
Proposed 1.58 0.57 0.37

Experiment 2 was conducted for a longer walking distance and with varying walking speed. Sensors were also attached on user’s waist, neck and wrist, respectively. The roll and pitch angle estimation RMSE of the last 10 steps are presented in Figure 10, Figure 11 and Figure 12 and Table 5.

Figure 10.

Figure 10

Last 10 steps of waist-mounted roll and pitch angles estimation and errors on 75 m walking trial.

Figure 11.

Figure 11

Last 10 steps of neck-mounted roll and pitch angles estimation and errors on 75 m walking trial.

Figure 12.

Figure 12

Last 10 steps of wrist-mounted roll and pitch angles estimation and errors on 75 m walking trial.

Table 5.

Third experiment: last 10 steps of 75 m walking trials estimation RMSE.

Mounted Sensor Maximum Error RMSE Standard Deviation
Waist Roll KF1 20.89 20.05 0.08
KF2 7.81 3.30 2.33
Proposed 2.99 1.91 0.68
Pitch KF1 2.34 1.05 0.71
KF2 10.78 8.51 1.38
Proposed 0.60 0.26 0.16
Neck Roll KF1 15.62 14.88 0.24
KF2 6.63 4.98 1.27
Proposed 2.21 1.32 0.34
Pitch KF1 2.84 1.35 0.67
KF2 4.52 2.27 1.57
Proposed 0.94 0.48 0.31
Wrist Roll KF1 20.06 18.08 0.74
KF2 15.86 8.31 5.02
Proposed 1.84 0.97 0.54
Pitch KF1 8.50 3.90 3.21
KF2 26.90 21.35 2.98
Proposed 1.21 0.48 0.37

Generally, two filters KF1 and KF2 showed errors of about 15 to 20 degrees in roll angle estimation, and about 5 to 10 degrees in pitch angle error, which was 4 to 5 times worse in comparison with short walking cases. However, the proposed filter showed similar performance with the short walking distance cases, which was approximately 3 degrees maximum for both roll and pitch angles for all sensor positions.

5. Discussion

In this paper, a novel filter with a new measurement update has been presented for attitude estimation problem in usual human walking scenarios. The proposed algorithm was evaluated under various circumstances to investigate the variations in the estimation performance. Moreover, three different approaches, a standard Kalman filter with zero-velocity updating (KF1), a standard Kalman filter with two-level measurement observation (KF2) and an offline smoothing algorithm were discussed to compare the performance. The experiments show a promising result with estimation root mean square error smaller than 3 degree for both roll and pitch angles in all three sensor positions. The results for long walking distance indicate the robustness of the proposed algorithm with varying speed and walking distance. Based on a standard Kalman filter with the enhancing measurement update, the proposed algorithm can be used when real-time attitude estimation is necessary.

By introducing a new measurement updating method, the proposed algorithm has enhanced the attitude estimation performance. However, given the required conditions of the experiments, the sort of situations in which the proposed algorithm could be used are limited. That is, people with a lot of gait inconsistency or who have a movement disorder would be excluded in the proposed algorithm. This may open up new directions for our future works, where abnormal gait analysis is required. More complex scenario would be added in future works, such as changing direction and altitude while walking, as well as the presence of obstacles and unforeseen behaviors.

Author Contributions

Conceptualization and methodology, D.C.D. and Y.S.S.; data curation, D.C.D.; original draft D.C.D.; review and editing, Y.S.S. Both authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF-2019R1I1A3A01057414).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The datasets used and/or analyzed during the current study are available from the corresponding author upon reasonable request.

Conflicts of Interest

The authors declare no conflict of interest.

Footnotes

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Barbour N., Schmidt G. Inertial sensor technology trends. IEEE Sens. J. 2001;1:332–339. doi: 10.1109/7361.983473. [DOI] [Google Scholar]
  • 2.Hellmers H., Norrdine A., Blankenbach J., Eichhorn A. An IMU/magnetometer-based Indoor positioning system using Kalman filtering; Proceedings of the International Conference on Indoor Positioning and Indoor Navigation; Montbeliard, France. 28–31 October 2013; pp. 1–9. [Google Scholar]
  • 3.Jimenez Ruiz A.R., Seco Granja F., Prieto Honorato J.C., Guevara Rosas J.I. Accurate Pedestrian Indoor Navigation by Tightly Coupling Foot-Mounted IMU and RFID Measurements. IEEE Trans. Instrum. Meas. 2012;61:178–189. doi: 10.1109/TIM.2011.2159317. [DOI] [Google Scholar]
  • 4.Kinsey J.C., Eustice R.M., Whitcomb L.L. Survey of underwater vehicle navigation: Recent advances and new challenges; Proceedings of the Conference on Manoeuvring and Control of Marine Craft; Lisbon, Portugal. 20–22 September 2006; pp. 1–12. [Google Scholar]
  • 5.Godha S., Cannon M.E. Integration of DGPS with a Low Cost MEMS-Based Inertial Measurement Unit (IMU) for Land Vehicle Navigation Application; Proceedings of the 18th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2005); Long Beach, CA, USA. 16 September 2005; pp. 333–345. [Google Scholar]
  • 6.Demrozi F., Pravadelli G., Bihorac A., Rashidi P. Human Activity Recognition Using Inertial, Physiological and Environmental Sensors: A Comprehensive Survey. IEEE Access. 2020;8:210816–210836. doi: 10.1109/ACCESS.2020.3037715. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 7.Sousa Lima W., Souto E., El-Khatib K., Jalali R., Gama J. Human activity recognition using inertial sensors in a smartphone: An overview. Sensors. 2019;19:3213. doi: 10.3390/s19143213. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8.Bennett T.R., Wu J., Kehtarnavaz N., Jafari R. Inertial measurement unit-based wearable computers for assisted living applications: A signal processing perspective. IEEE Signal Process. Mag. 2016;33:28–35. doi: 10.1109/MSP.2015.2499314. [DOI] [Google Scholar]
  • 9.Yang D., Huang J., Tu X., Ding G., Shen T., Xiao X. A wearable activity recognition device using air-pressure and IMU sensors. IEEE Access. 2019;7:6611–6621. doi: 10.1109/ACCESS.2018.2890004. [DOI] [Google Scholar]
  • 10.Loianno G., Brunner C., McGrath G., Kumar V. Estimation, control, and planning for aggressive flight with a small quadrotor with a single camera and IMU. IEEE Robot. Autom. Lett. 2017;2:404–411. doi: 10.1109/LRA.2016.2633290. [DOI] [Google Scholar]
  • 11.Alatise M.B., Hancke G.P. Pose Estimation of a Mobile Robot Based on Fusion of IMU Data and Vision Data Using an Extended Kalman Filter. Sensors. 2017;17:2164. doi: 10.3390/s17102164. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 12.Suh Y.S. Orientation Estimation Using a Quaternion-Based Indirect Kalman Filter With Adaptive Estimation of External Acceleration. IEEE Trans. Instrum. Meas. 2010;59:3296–3305. doi: 10.1109/TIM.2010.2047157. [DOI] [Google Scholar]
  • 13.Kok M., Hol J.D., Schon T.B. Using Inertial Sensors for Position and Orientation Estimation. Found. Trends Signal Process. 2017;11:1–153. doi: 10.1561/2000000094. [DOI] [Google Scholar]
  • 14.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]
  • 15.Ryu J., Gerdes J.C. Integrating Inertial Sensors with Global Positioning System (GPS) for Vehicle Dynamics Control. ASME J. Dyn. Syst. Meas. Control. 2004;126:243–254. doi: 10.1115/1.1766026. [DOI] [Google Scholar]
  • 16.Weinberg M.S., Wall C., Robertsson J., O’Neil E., Sienko K., Fields R. Tilt Determination in MEMS Inertial Vestibular Prosthesis. ASME J. Biomech. Eng. 2006;128:943–956. doi: 10.1115/1.2378922. [DOI] [PubMed] [Google Scholar]
  • 17.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]
  • 18.Jarchi D., Pope J., Lee T.K.M., Tamjidi L., Mirzaei A., Sanei S. A Review on Accelerometry-Based Gait Analysis and Emerging Clinical Applications. IEEE Rev. Biomed. Eng. 2018;11:177–194. doi: 10.1109/RBME.2018.2807182. [DOI] [PubMed] [Google Scholar]
  • 19.Suh Y.S. Inertial sensor-based smoother for gait analysis. Sensors. 2014;14:24338–24357. doi: 10.3390/s141224338. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 20.Rehbinder H., Hu X. Drift-free attitude estimation for accelerated rigid bodies; Proceedings of the 2001 ICRA. IEEE International Conference on Robotics and Automation; Seoul, Korea. 21–26 May 2001; pp. 4244–4249. [Google Scholar]
  • 21.Muro-de-la-Herran A., Garcia-Zapirain B., Mendez-Zorrilla A. Gait analysis methods: An overview of wearable and non-wearable systems, highlighting clinical applications. Sensors. 2014;14:3362–3394. doi: 10.3390/s140203362. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 22.Tao W., Liu T., Zheng R., Feng H. Gait analysis using wearable sensors. Sensors. 2012;12:2255–2283. doi: 10.3390/s120202255. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 23.Glowinski S., Krzyzynski T., Bryndal A., Maciejewski I. A Kinematic Model of a Humanoid Lower Limb Exoskeleton with Hydraulic Actuators. Sensors. 2020;20:6116. doi: 10.3390/s20216116. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 24.Rab G., Petuskey K., Bagley A. A method for determination of upper extremity kinematics. Gait Posture. 2002;15:113–119. doi: 10.1016/S0966-6362(01)00155-2. [DOI] [PubMed] [Google Scholar]
  • 25.Kavanagh J.J., Barrett R.S., Morrison S. Upper body accelerations during walking in healthy young and elderly men. Gait Posture. 2004;20:291–298. doi: 10.1016/j.gaitpost.2003.10.004. [DOI] [PubMed] [Google Scholar]
  • 26.Ojeda L.V., Adamczyk P.G., Rebula J.R., Nyquist L.V., Strasburg D.M., Alexander N.B. Reconstruction of body motion during self-reported losses of balance in community-dwelling older adults. Med. Eng. Phys. 2019;64:86–92. doi: 10.1016/j.medengphy.2018.12.008. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 27.Lupton T., Sukkarieh S. Visual-Inertial-Aided Navigation for High-Dynamic Motion in Built Environments Without Initial Conditions. IEEE Trans. Robot. 2012;28:61–76. doi: 10.1109/TRO.2011.2170332. [DOI] [Google Scholar]
  • 28.Do T., Liu R., Yuen C., Zhang M., Tan U. Personal Dead Reckoning Using IMU Mounted on Upper Torso and Inverted Pendulum Model. IEEE Sens. J. 2016;16:7600–7608. doi: 10.1109/JSEN.2016.2601937. [DOI] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

The datasets used and/or analyzed during the current study are available from the corresponding author upon reasonable request.


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

RESOURCES