Next Article in Journal
Calibration-Free Single-Anchor Indoor Localization Using an ESPAR Antenna
Next Article in Special Issue
A Systematic Design Optimization Approach for Multiphysics MEMS Devices Based on Combined Computer Experiments and Gaussian Process Modelling
Previous Article in Journal
Novel Conformal Skin Patch with Embedded Thin-Film Electrodes for Early Detection of Extravasation
Previous Article in Special Issue
Error Analysis of Accelerometer- and Magnetometer-Based Stationary Alignment
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Communication

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

Department of Electrical Engineering, Electronic and Computer Engineering, University of Ulsan, Ulsan 44610, Korea
*
Author to whom correspondence should be addressed.
Submission received: 22 March 2021 / Revised: 29 April 2021 / Accepted: 11 May 2021 / Published: 14 May 2021
(This article belongs to the Collection Inertial Sensors and Applications)

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.

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/s 2 ) 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:
r b = C w b r w ,
where the right subscripts b and w imply the corresponding vectors are expressed in the body and world coordinate frames, and C w b S O ( 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 ) = 2 q 0 2 + 2 q 1 2 1 2 q 1 q 2 + 2 q 0 q 3 2 q 1 q 3 2 q 0 q 2 2 q 1 q 2 2 q 0 q 3 2 q 0 2 + 2 q 2 2 1 2 q 2 q 3 + 2 q 0 q 1 2 q 1 q 3 + 2 q 0 q 2 2 q 2 q 3 2 q 0 q 1 2 q 0 2 + 2 q 3 2 1 .
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 ˙ = 1 2 q 0 ω = 1 2 Ω ( ω ) q ,
where ω R 3 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 y a R 3 and y g R 3 are modeled as follows:
y a = C ( q ) g ˜ + a b + n a , y g = ω + b g + n g .
where a b R 3 is unknown external acceleration and b g R 3 is gyroscope bias. The local gravitation vector g ˜ R 3 is given by
g ˜ 0 0 g ,
where g R is the magnitude of the gravitation and n a R 3 , n g R 3 are sensor noises. It is assumed that the sensor noises are zero-mean white Gaussian and their covariances are given by
E { n a ( t ) n a ( s ) } = r a I 3 δ ( t s ) , E { n g ( t ) n g ( s ) } = r g I 3 δ ( t s ) ,
where r a R and r g R are positive scalars.
Let b ^ g R 3 be an estimate of the gyroscope bias b g with an error b g , e
b g = b ^ g + b g , e .
The gyroscope bias b g can be modeled as nearly constant
b ˙ g = n b g ,
where a small zero-mean Gaussian process noise n b g is added with covariance Q b g δ ( t s ) = E { n b g ( t ) n b g ( s ) } so that the bias estimation is not stopped soon.
Let q ^ R 4 be an estimate of q computed from bias-corrected gyroscope output by
q ^ ˙ = 1 2 q ^ 0 y g b ^ g .
Since y g b ^ 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 ¯ e R 4 can be represented in the multiplicative form
q = q ¯ e q ^ ,
or in the rotation matrix expression
C ( q ) = C ( q ^ ) C ( q ¯ e ) .
Assuming that attitude error is small, we can approximate q ¯ e R 4 by 3 × 1 vector q e as follows:
q ¯ e 1 q e R R 3 ,
and we can approximate C ( q ¯ e ) as follows [12]:
C ( q ¯ e ) 1 2 q e , 3 2 q e , 2 2 q e , 3 1 2 q e , 1 2 q e , 2 2 q e , 1 1 = I 2 [ q e × ] .
The state of an indirect Kalman filter is defined by
x q e b g , e R 6 .
We have the following state equation for an indirect Kalman filter:
x ˙ ( t ) = q ˙ e b ˙ g , e = A x ( t ) + 1 2 C ( q ^ ) n g n b g ,
where
A = 0 3 × 3 1 2 C ( q ^ ) 0 3 × 3 0 3 × 3 .
Covariance of the process noise is as follows:
E 1 2 C ( q ^ ) n g ( t ) n b g ( t ) 1 2 C ( q ^ ) n g ( s ) n b g ( s ) = δ ( t s ) 1 4 C ( q ^ ) r g I 3 C ( q ^ ) 0 0 Q b g .
The measurement equation for an indirect Kalman filter is derived from the sensor output equations. Inserting (7) and (9) into (2), we have
y a C ( q ^ ) g ˜ = 2 C ( q ^ ) [ g ˜ × ] q e + a b + n a .
y g b ^ g = b g , e + ω + n g .
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
y a C ( q ^ ) g ˜ = 2 C ( q ^ ) [ g ˜ × ] q e + n a .
Thus, the corresponding measurement equation in the prediction step is given as follows:
K a , k = P k H a , k H a , k P k H a , k + R a 1 P k = ( I K a , k H a , k ) P k ( I K a , k H a , k )
x ^ k = x ^ k + K a , k ( z a , k H a , k x ^ k ) ,
where
H a , k = 2 C ( q ^ k ) g ˜ × 0 3 × 3 z a , k = y a , k C ( q ^ k ) g ˜ .
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
y g b ^ g = b g , e + n g .
The measurement equation in the prediction step is given as follows:
K g , k = P k H g , k H g , k P k H g , k + R g 1 P k = ( I K g , k H g , k ) P k ( I K g , k H g , k )
x ^ k = x ^ k + K g , k ( z g , k H g , k x ^ k ) ,
where
H g , k = 0 3 × 3 I 3 × 3 z g , k = y g , k b ^ g .

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 t k represents one peak time index, which corresponds to a double stance (DS) instant and [ t k 1 , t k ] interval defines one walking step.
Velocities in the world coordinate system at t 1 and t 2 are related by the following equation:
v t 2 = v t 1 + t 1 t 2 C b w ( t ) a b d t .
Rewriting the velocity equation in the quaternion form including measurement noise term, we obtain
v t 2 = v t 1 + t 1 t 2 C ( q ) a b d t = v t 1 + t 1 t 2 C ( q ) ( y a C ( q ) g ˜ n a ) d t = v t 1 g ˜ ( k 2 k 1 ) T + t 1 t 2 C ( q ) y a d t t 1 t 2 C ( q ) n a d t .
where
t 1 t 2 C ( q ) y a d t = t 1 t 2 ( I 2 [ q e × ] ) C ( q ^ ) y a d t = t 1 t 2 C ( q ^ ) y a d t + 2 [ q e × ] t 1 t 2 C ( q ^ ) y a d t = t 1 t 2 C ( q ^ ) y a d t 2 t 1 t 2 C ( q ^ ) y a d t × q e .
Rearranging (23), we obtain the following:
g ˜ ( k 2 k 1 ) T t 1 t 2 C ( q ^ ) y a d t = 2 t 1 t 2 C ( q ^ ) y a d t × q e n ¯ v , d i f f t 1 t 2 C ( q ) n a d t .
where n ¯ v , d i f f is defined by
n ¯ v , d i f f = v t 2 v t 1 .
If we know n ¯ v , d i f f , (24) can be considered as an attitude measurement equation estimating q e .
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 , d i f f 0 and (24) can be used as a measurement equation even if we do not know the walking speed v t 1 and v t 2 . The velocity-aided measurement equation can be formed as follows:
K v , k = P k H v , k H v , k P k H v , k + R v 1 x ^ k = x ^ k + K v , k ( z v , k H v , k x ^ k ) P k = ( I K v , k H v , k ) P k ( I K v , k H v , k )
where
H v , k = 2 i = k 1 k C ( q ^ i ) y a , i × 0 3 × 3 z v , k = g ˜ ( t k t k 1 ) i = k 1 k C ( q ^ i ) y a , i .
Since n a is assumed to be white Gaussian noise, the term n ¯ v = t 1 t 2 C ( q ) n a d t can also be treated as white Gaussian noise
R v = E { n ¯ v n ¯ v } = t 1 t 2 t 1 t 2 C ( q ) E { n a n a } C ( q ) d t = ( t 2 t 1 ) r a I 3 = ( k 2 k 1 ) T r a I 3 .
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 , d i f f is small enough.
Inserting (2) into (22), we obtain (noise terms are ignored)
v t 2 v t 1 + t 1 t 2 ( C b w ( t ) y a g ˜ ) d t .
Noting that g ˜ is a constant, we obtain
v t 2 v t 1 g ˜ ( t 2 t 1 ) + t 1 t 2 C b w ( t ) y a d t .
Now we factorize C b w ( t ) into two rotation matrices
C b w ( t ) = C b t 1 w C b b t 1 ( t ) .
The rotation matrix C b t 1 w denotes the attitude of the body frame at the time t 1 with respect to the world coordinate frame, whereas C b b t 1 ( t ) is calculated using the current attitude estimation at the time t relative to the last pose t 1 . The later only requires the integration of rotation rate from time t 1 to time t with the initial condition for the rotation matrix C b b t 1 at the start of the integration period is C b t 1 b t 1 , which is the identity matrix. Thus it can be pre-integrated in the body frame of pose t 1 without the actual attitude of the target at the time t 1 . 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 , d i f f = v t 2 v t 1 g ˜ ( t 2 t 1 ) + C b t 1 w Δ v t 2 t 1 ,
where Δ v t 2 t 1 = t 1 t 2 C b b t 1 ( t ) y a d t .
The right hand side of (27) cannot be computed since the rotation matrix C b t 1 w is unknown without initial attitude. However, we can derive a necessary condition that n ¯ v , d i f f = 0 using the fact C b t 1 w is a rotation matrix. If n ¯ v , d i f f = 0 , norms of g ˜ ( t 2 t 1 ) and Δ v t 2 t 1 should be the same.
Based on this observation, we define a function representing the difference between norms of g ˜ ( t 2 t 1 ) and Δ v t 2 t 1 as follows:
f ( t 1 , t 2 ) = || Δ v t 2 t 1 || g ( t 2 t 1 ) .
We introduce a condition to test whether n ¯ v , d i f f 0 .
Condition 1.
Given acceleration and rotation rate signals between two poses t 1 and t 2 , when the velocity difference signal is small, the following condition is satisfied:
| f ( t 1 , t 2 ) | < ϵ ,
where ϵ R is a small threshold.
In the proposed algorithm, (24) is used as a measurement equation for estimating q e 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:
|| y a , i y a , i 1 || δ a , k N a 2 i k + N a 2
where δ a is threshold value and N a 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:
|| y g , i || δ g , k N g 2 i k + N g 2
where δ g is threshold value and N g 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 B t h , window length N s .
    Output: Double stance indices P H at high peak of acceleration norm.
1:
Compute the number of samples N of y ˜ a
2:
for discrete time k from k = N s + 1 to N N s  do
3:
if y ˜ a , k > B t h and y ˜ a , k max ( y ˜ a , k N s : y ˜ a , k 1 ) and y ˜ a , k max ( y ˜ a , k + 1 : y ˜ a , k + N s )  then
4:
   P H = [ P H , 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 x k .
5:
Compute Prior error covariance.
6:
Integrate quaternion q k .
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 x k .
14:
 Update quaternion q k with (6).
15:
end if
16:
if k P H (Step is detected) then
17:
if (29) is satisfied ( n ¯ v , d i f f 0 ) then
18:
  Calculate the residual (24).
19:
  Calculate Kalman gain, Update Error covariance.
20:
  Calculate state x k .
21:
  Update quaternion q k with (6).
22:
end if
23:
end if
24:
Goto 3.

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

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

References

  1. Barbour, N.; Schmidt, G. Inertial sensor technology trends. IEEE Sens. J. 2001, 1, 332–339. [Google Scholar] [CrossRef]
  2. Hellmers, H.; Norrdine, A.; Blankenbach, J.; Eichhorn, A. An IMU/magnetometer-based Indoor positioning system using Kalman filtering. In 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. [Google Scholar] [CrossRef] [Green Version]
  4. Kinsey, J.C.; Eustice, R.M.; Whitcomb, L.L. Survey of underwater vehicle navigation: Recent advances and new challenges. In 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. In 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. [Google Scholar] [CrossRef] [PubMed]
  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. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef]
  17. Seel, T.; Raisch, J.; Schauer, T. IMU-Based Joint Angle Measurement for Gait Analysis. Sensors 2014, 14, 6891–6909. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar] [CrossRef]
  19. Suh, Y.S. Inertial sensor-based smoother for gait analysis. Sensors 2014, 14, 24338–24357. [Google Scholar] [CrossRef]
  20. Rehbinder, H.; Hu, X. Drift-free attitude estimation for accelerated rigid bodies. In Proceedings of the 2001 ICRA. IEEE International Conference on Robotics and Automation, Seoul, Korea, 21–26 May 2001; Volume 4, 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. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  22. Tao, W.; Liu, T.; Zheng, R.; Feng, H. Gait analysis using wearable sensors. Sensors 2012, 12, 2255–2283. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef] [PubMed]
  24. Rab, G.; Petuskey, K.; Bagley, A. A method for determination of upper extremity kinematics. Gait Posture 2002, 15, 113–119. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef] [PubMed]
  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. [Google Scholar] [CrossRef] [PubMed]
  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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef]
Figure 1. Acceleration norm signal and detected high peaks of a waist-mounted IMU during walking.
Figure 1. Acceleration norm signal and detected high peaks of a waist-mounted IMU during walking.
Sensors 21 03428 g001
Figure 2. Proposed Kalman filter based attitude estimation algorithm.
Figure 2. Proposed Kalman filter based attitude estimation algorithm.
Sensors 21 03428 g002
Figure 3. Implementation system with registered coordinate system.
Figure 3. Implementation system with registered coordinate system.
Sensors 21 03428 g003
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.
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.
Sensors 21 03428 g004
Figure 5. Estimated pitch and roll from smoother and proposed method in comparison with ground truth from motion tracker system.
Figure 5. Estimated pitch and roll from smoother and proposed method in comparison with ground truth from motion tracker system.
Sensors 21 03428 g005
Figure 6. Accumulated error of roll and pitch angle from smoother and proposed method.
Figure 6. Accumulated error of roll and pitch angle from smoother and proposed method.
Sensors 21 03428 g006
Figure 7. Waist-mounted roll and pitch angles estimation and errors on 15 m walking trial.
Figure 7. Waist-mounted roll and pitch angles estimation and errors on 15 m walking trial.
Sensors 21 03428 g007
Figure 8. Neck-mounted roll and pitchangles estimation and errors on 15 m walking trial.
Figure 8. Neck-mounted roll and pitchangles estimation and errors on 15 m walking trial.
Sensors 21 03428 g008
Figure 9. Wrist-mounted roll and pitch angles estimation and errors on 15 m walking trial.
Figure 9. Wrist-mounted roll and pitch angles estimation and errors on 15 m walking trial.
Sensors 21 03428 g009
Figure 10. Last 10 steps of waist-mounted roll and pitch angles estimation and errors on 75 m walking trial.
Figure 10. Last 10 steps of waist-mounted roll and pitch angles estimation and errors on 75 m walking trial.
Sensors 21 03428 g010
Figure 11. Last 10 steps of neck-mounted roll and pitch angles estimation and errors on 75 m walking trial.
Figure 11. Last 10 steps of neck-mounted roll and pitch angles estimation and errors on 75 m walking trial.
Sensors 21 03428 g011
Figure 12. Last 10 steps of wrist-mounted roll and pitch angles estimation and errors on 75 m walking trial.
Figure 12. Last 10 steps of wrist-mounted roll and pitch angles estimation and errors on 75 m walking trial.
Sensors 21 03428 g012
Table 1. Xsens MTi-1 sensor parameters.
Table 1. Xsens MTi-1 sensor parameters.
IMUAccelerometerGyroscope
Axes33
Std. Full range±16 [g]±2000 [ /s]
Noise density200 [g/Hz]0.01 [ /s/Hz]
Sampling Freq.100 Hz100 Hz
Table 2. The five subjects’ information.
Table 2. The five subjects’ information.
VolunteerAgeWeight (kg)Height (cm)
Range25–3353–72160–182
Mean28.666.7169.6
Standard deviation3.056.925.24
Table 3. Algorithm descriptions.
Table 3. Algorithm descriptions.
AlgorithmUsageMethod
KF1Experiment 2,3Kalman filter with ZUPT
KF2Experiment 2,3Kalman filter with GM and ZARU
ProposedExperiment 1,2,3Kalman filter with GM, ZARU, and
velocity observation measurement update
SmootherExperiment 1,2,3Kalman based smoothing algorithm
with quadratic optimization
Table 4. Second experiment: last 10 steps of 15 m walking trials estimation RMSE.
Table 4. Second experiment: last 10 steps of 15 m walking trials estimation RMSE.
Mounted SensorMaximum ErrorRMSEStandard Deviation
WaistRollKF15.794.770.07
KF213.456.093.45
Proposed3.111.690.60
PitchKF11.020.360.11
KF215.488.782.38
Proposed0.590.200.09
NeckRollKF14.253.650.16
KF29.635.421.52
Proposed2.201.150.42
PitchKF12.111.490.22
KF25.252.181.32
Proposed1.460.900.22
WristRollKF15.705.120.16
KF221.549.905.61
Proposed3.031.770.58
PitchKF12.491.210.70
KF230.9720.946.59
Proposed1.580.570.37
Table 5. Third experiment: last 10 steps of 75 m walking trials estimation RMSE.
Table 5. Third experiment: last 10 steps of 75 m walking trials estimation RMSE.
Mounted SensorMaximum ErrorRMSEStandard Deviation
WaistRollKF120.8920.050.08
KF27.813.302.33
Proposed2.991.910.68
PitchKF12.341.050.71
KF210.788.511.38
Proposed0.600.260.16
NeckRollKF115.6214.880.24
KF26.634.981.27
Proposed2.211.320.34
PitchKF12.841.350.67
KF24.522.271.57
Proposed0.940.480.31
WristRollKF120.0618.080.74
KF215.868.315.02
Proposed1.840.970.54
PitchKF18.503.903.21
KF226.9021.352.98
Proposed1.210.480.37
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Dang, D.C.; Suh, Y.S. Improved Single Inertial-Sensor-Based Attitude Estimation during Walking Using Velocity-Aided Observation. Sensors 2021, 21, 3428. https://0-doi-org.brum.beds.ac.uk/10.3390/s21103428

AMA Style

Dang DC, Suh YS. Improved Single Inertial-Sensor-Based Attitude Estimation during Walking Using Velocity-Aided Observation. Sensors. 2021; 21(10):3428. https://0-doi-org.brum.beds.ac.uk/10.3390/s21103428

Chicago/Turabian Style

Dang, Duc Cong, and Young Soo Suh. 2021. "Improved Single Inertial-Sensor-Based Attitude Estimation during Walking Using Velocity-Aided Observation" Sensors 21, no. 10: 3428. https://0-doi-org.brum.beds.ac.uk/10.3390/s21103428

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