2. Materials and Methods
The main concern of the vision impaired navigation system was the financial cost which drove us to find less computationally expensive techniques for pedestrian tracking. Further, the positioning of the sensors has to be convenient for vision impaired people as they may have difficulty with accurate placement of said devices.
It was observed that the trouser pocket and shirt pocket are common carrying positions of mobile phones for males whereas the trouser pocket and the hand bag are common carrying positions for females. Based on the experimental results discussed in [
7], it was observed that the trouser pocket is a better position to keep the tracking device so that the thigh movement, which directly relates to human gait, can easily be tracked. It was also observed that the gyroscope signal alone provides sufficient information to track the flexion and extension movement of the thigh during the stride cycle. Further, it was empirically proven in [
8] that a gyroscope-based thigh-mounted pedometer gives close to 100% accuracies and that Kwon et al. have used that algorithm in their cross-platform pedometer system and reported errors less than 1% in most cases [
9].
A sample of the flexion–extension movement of the thigh (thigh angle) when the subject is walking on a level surface is shown in
Figure 1a. This thigh angle was obtained from an experiment conducted in a Motion Analysis Lab (MAL) containing a Vicon [
6] optical motion capture system, which is discussed later. To enable identifying key points of stride cycle in the thigh angle waveform, the foot movement was also recorded.
Figure 2 shows a time synchronized plot of the thigh angle with the vertical and forward movements of the foot. By observing the foot movement waveforms, it can be seen that the local minimum (point ‘a’ of
Figure 2) of the thigh angle waveform next to the maximum refers to the Initial Contact point of the stride cycle. Further, it can be seen that the minimum (point ‘b’ of
Figure 2) of the thigh angle waveform is the toe-off point of the stride cycle, which can be detected by minima detection. Toe-off may also be identified by detecting the positive zero crossing of the gyro signal, which refers to the minimum of the thigh angle waveform. Gait phase detection based on thigh-mounted IMU data is discussed in the discussion of this paper that may be considered in future work. The stride cycle and its two main phases—stance and swing—are also marked in the
Figure 2.
The synchronization of the movement of the two thighs was also measured and depicted in
Figure 3. It can be seen that the toe-off of one leg is closely synchronized to the initial contact of the other leg. These observations indicate that proper estimation of the thigh angle of one leg is sufficient to identify key points of the stride cycle of both legs of subjects without gait impairment. However, these observations were made with the Vicon optical motion capture system and it is necessary to compare the thigh angle computed with GIOF for the purpose of validation.
The validation experiment was conducted with the participation of 9 female and 10 male volunteer participants. All participants are non-vision impaired and known to have no other impairment or disability. The experimental setup, the procedures followed in the experiment and the analysis techniques are discussed in this sections. Data collected from the Vicon system in the motion analysis lab (MAL) and IMU data were recorded in two independent systems. How they were synchronized in the analysis is also discussed in this section.
The experiment was conducted in the motion analysis lab of the School of Physiotherapy and Exercise Science of Curtin University, so that the results of the new orientation estimation algorithm (GIOF) can be compared with the angles estimated by the optical motion capture system. The MAL has a Vicon optical motion capture system with 14 semi-infrared cameras. Retro-reflective spherical markers were used to capture the motion of the thighs and the feet of the subjects.
Figure 4 shows the marker positioning on the subject’s legs. A custom-made IMU built using MPU-9150, as discussed in [
10], was attached to the right thigh of the subject and two markers were placed on that as shown in
Figure 4c to capture the tilt of the IMU. A marker cluster was attached to the subject’s left thigh to capture the thigh angle of the left leg. A marker was attached to the heel of each shoe to capture the movement of the heel (or the foot), so that the Initial Contact and the toe-off points can be identified.
The Vicon system was calibrated before collecting data of each batch of test subjects, so that the reading is accurate enough as a reference [
11]. The IMU data were recorded in a laptop that operates independent of the Vicon system. Both data were sampled at 100 samples per second. IMU and Vicon data logging were manually triggered separately before the subject started their trial. The subjects were asked to walk in a straight line with their natural walking style with normal gait of ~2 steps per second. Both MAL and IMU data were recorded for 20 walking trials (10 trials in each direction of the MAL capture area) per each subject.
As MAL and IMU data were recorded in independent systems, they were preprocessed separately. Vicon Nexus software was used to preprocess MAL data and export coordinates of each marker into comma separated value (CSV) format. These coordinates were then used to compute the thigh angles. MATLAB was used to perform these calculations and all other calculations discussed in this paper.
The algorithm discussed below was used to compute the thigh angle using IMU data. Both angle data were then resampled (linearly interpolated) at 1000 samples per second and sent through an extrema detection algorithm to pick all maxima and minima of the two waveforms. Both waveforms were then trimmed at identical points of the two waveforms starting from a minimum and ending at a minimum. The identical points were identified manually by comparing the two waveforms. These trimmed waveforms were then used to compute the correlation coefficients and the error characteristics between the two methods.
The thigh angle is estimated by fusing accelerometer and gyroscope data. The gyroscopic signal is low-pass-filtered using a moving average filter with a 10-sample window size to remove the high frequency noise. Further, another moving average low-pass filter was used to compute the static error of the gyroscope and remove it from the gyroscopic signal. When compared with the thigh angle computed from MAL data, it was observed that the gyro integration does not drift when the window size is 150 samples. One-hundred-and-fifty samples are approximately two strides long. The sample being considered was placed at the center of the window of the moving average filter in both cases.
The reference axis of the IMU is shown in
Figure 5 and it is clear that only gyroscopic
axis data is needed to measure the angular velocity of forward and backward movements of the thigh.
The thigh angle estimation algorithm discussed in this paper is an improved version of the algorithm discussed in [
12]. Similar technique to the algorithm discussed in [
12] is used in [
13] by Diaz et al., and both contained an incorrect assumption. They perform the zero acceleration update when the total acceleration measured by the accelerometer sensor is less than a certain threshold (typically gravitational acceleration + noise margin). However, it was noted that the total acceleration can be less than gravity when the IMU is in acceleration against gravity. Hence, one condition for zero acceleration update was taken as
where
(
is the acceleration of
axis measured at time stamp
k. The parameters
and
are selected to accommodate the noise embedded in the accelerometer reading.
and
were selected such that
and
where
is gravitational acceleration and
is the noise margin allowed.
The second condition for taking zero acceleration updates is the angular velocity to be close to zero, which implies that the thigh is not in movement. It was observed that this condition improves the smoothness and the accuracy of the thigh angle. The condition is given as
where
is the angular velocity of
axis measured at time stamp
k and
is selected to accommodate error in gyro data.
When the conditions in (1) and (2) are satisfied, thigh angle update is taken from the accelerometer reading and otherwise integrates the gyroscope to get the thigh angle update. Trapezoidal rule was used in the integration of the gyro reading instead of using rectangle method, which is commonly used in literature. Trapezoidal rule was used because that gives a better estimation than the rectangle method. The GIOF is shown as pseudocode in
Figure 6. Note that the square root calculation of (1) is not performed in the algorithm and
and
are squared instead, to reduce the computational demand.
The research presented in this paper was conducted in accordance with the National Health and Medical Research Council National Statement on Ethical Conduct in Human Research (2007)–updated March 2014. The presented research study received human research ethics approval from the Curtin University Human Research Ethics Committee (EC00262), Approval Number SMEC-105-11 and PT263/2013.
4. Discussion
It was shown that the GIOF consumes one half of the computation time consumed by the complementary filter. The main reason for this is that the GIOF does not perform in each computation. Instead, it performs only when the accelerometer reading is stable. On the other hand, the complementary filter performs in each iteration, hence consumes more processor time. Further, the complementary filter produces low drift when is lower, but the output becomes less smooth. However, because the GIOF corrects the angle using the accelerometer, the drift in the output is avoided to a great extent.
It was observed that the GIOF performs comparably with both non-vision impaired and vision impaired subjects. This implies that GIOF can be used to estimate flexion and extension of vision impaired and non-vision impaired subjects during level walking. Compared with the RMSE of 3° reported in [
4] for the forearm with Kalman filters, the RMSE of less than 2.5° reported by GIOF is accurate enough for thigh angle estimation for gait analysis. The GIOF has achieved better processing speed without compromising the accuracy.
Although memory-expensive, the moving average filter has shown better performance in removing the offset of the gyro reading. With properly selected window size, the drift in the estimated angle may be almost avoided with the moving average filter. However, the delay occurred in the filter becomes larger when the window width increases. For the window width selected in the analysis (150 samples), the delay occurred in the filter becomes 750 ms; this delay is not preferable for real-time implementations.
Although the GIOF was implemented to estimate pitch of the IMU, it can easily be extended to 2D and estimate both pitch and roll. Further, it may be extended to fuse magnetometer and gyroscope to estimate the yaw as well.
The experiment was conducted using a custom-made IMU with a specially designed 3D printed enclosure to make sure that the reflective markers of the Vicon system can be attached on top of the IMU to make the comparison easy. It should be noted that the GIOF can be implemented in a smartphone embedded with an accelerometer and a gyroscope. Hence, GIOF may be used for gait recognition in navigation applications with a smartphone placed in the front trouser pocket as explained in [
7,
8].
Using a Single Thigh-Mounted IMU for Gait Phase Detection
It was observed that a single thigh-mounted IMU can be used to identify most of the phases of a stride cycle. The thigh angle estimated using GIOF, the gyro signal and the 1st derivative of the gyro signal is used in combination for this.
Figure 11 shows the thigh angle, gyro signal and time derivative of gyro signal, all normalized to their peak value and drawn on the same time axis. The letters
a–g represent the key points of the stride cycle identifiable in the thigh angle waveform. Although it is the positive peak of the thigh angle waveform, point
a is not the initial contact as shown in
Figure 2. Point
a is the end of the swing of the leg. The initial contact point is point
b of the diagram. Description of all phases identifiable in the thigh angle waveform is given in
Table 2. It can be seen that except point
c, all other points can be detected by detecting zero crossings of the gyro signal or its time derivative.
Table 3 shows which signal can be used to detect each point of the stride cycle. It should be noted that point
g is as same as point
b. Further, the end of the loading response (point
c) may be approximately detected by the relative maxima of the time derivative of gyro signal.
It was observed that the three subphases of Swing phase (initial swing, mid swing, and terminal swing) cannot be distinguished in the thigh angle waveform. However, all five subphases of stance phase can be identified in the thigh angle waveform and four of these can be detected using zero crossing detectors on gyro signal and derivative of gyro signal. Although some gait phase detection techniques are discussed in literature (e.g., [
15]), they involve force sensors to detect the foot contact on the floor. The above technique can be a significant achievement as it uses a single thigh-mounted IMU only.