The algorithms proposed in this article that constitute the drift compensation algorithm, i.e., the landmark detector, the landmark associator and the drift computation algorithm, will be evaluated in this section. First, we will introduce known gyroscopes’ biases in order to have a controlled drift error. To do that, we will use quasi-error-free turn rate measurements recorded with the IMU DSP-1750 from KVH [
22], which embeds fiber optic gyroscopes (FOG) and MEMS accelerometers. Second, to test the proposed drift compensation algorithm with MEMS gyroscopes with unknown biases and drift error, we will use the measurements recorded with the medium-cost MEMS IMU MTw from Xsens [
23].
A 2D walk, that has been recorded by a 1.52
height woman at the Theresienhöhe in Munich, will be used to experimentally study the relationship between drift and bias of the z-axis gyroscope. This is of high importance because the proposed algorithm is strongly based on the fact that the drift is mainly composed of the z-axis gyroscope’s bias (see Equation (
9)). A 3D walk recorded by a 1.82
height man at the Earth Observation Center building of the German Aerospace Center (DLR) will be used to test the stair detection, the corner detection for large curvature radius and the association of landmarks at different heights, i.e., associations between landmarks situated on different floors are discarded. In order to test the proposed drift compensation algorithm with measurements recorded by MEMS inertial sensors, we will use a 3D walk recorded by a 1.70
height woman in the Deutsches Museum of the city of Munich. This walk includes stairs and corner of different angles of aperture.
3.1. Relationship Between Drift and z-Axis Gyroscope’s Bias
This analysis has been conducted in order to experimentally evaluate how the z-axis gyroscope’s bias influences the drift error. In order to accurately know the z-axis gyroscope’s bias value, we have used the IMU DSP-1750, which contains FOGs as aforementioned. The turn rate measurements of the FOGs will be considered as quasi-error-free in this work. Readers are referred to [
2] for the complete justification of treating the FOG turn rate measurements as quasi-error-free. The IMU DSP-1750 has been used to record the measurements and these have been post-processed in order to obtain MEMS-quality turn rate measurements with known bias values as indicated in
Figure 7 and Equation (
11):
being
the quasi-error-free turn rate,
white Gaussian noise,
the biases and
the resulting MEMS-quality turn rate. The noise values are based on the MEMS MTw gyroscopes and are 0.1
s
for the noise and
s
for the biases of the x-, y- and z-axes gyroscopes, respectively.
The IMU DSP-1750 has been mounted externally on the upper part of the leg of the pedestrian with the help of a solid wood base, as indicated in
Figure 8a. The experiment, whose trajectory is represented in
Figure 8b with a blue line, has a duration of 22
, consists of a path of approximately 1.1
long and has been performed covering an area of approximately 46,000 m
at the Theresienhöhe in Munich.
Once the experiment has been recorded, the post-processing stage indicated in
Figure 7 leads to the results shown in
Figure 9. The yaw angles shown in
Figure 9a have been computed integrating the turn rate measurements without subtracting the biases estimation or applying corrections. The blue curve shows the yaw angle using the quasi-error-free turn rate measurements and the green line has been computed using the MEMS-quality turn rate measurements. To obtain the trajectories of
Figure 9b, the displacement estimation algorithms for the step detection and step length estimation presented in [
18,
19] have been used. The blue curve shows the yaw angle using the quasi-error-free turn rate measurements and the green line has been computed using the MEMS-quality turn rate measurements.
In order to find the drift value, we use the method proposed in this work. The walk contains 12 corners that have been labeled in
Figure 9b. We choose for computing the drift the corners L4 and L9, highlighted in red, which are the case of no overlap shown in
Figure 4 (right). First, we take from
Figure 9a the
Yaw and
Time values of corners L4 and L9, highlighted with red rectangles.
Table 2 summarizes this information:
The deviation angles,
and
are 22.7
and 22.1
, respectively (see Equation (
5)). Thus,
is equal to 22.4
. This value represents the error that has been accumulated over
, thus
is equal to 437.8
. Therefore the drift value
extracted from the method proposed in this work is equal to 0.051
s
. Taking into account that the artificially introduced z-axis gyroscope’s bias
is equal to 0.05
s
, it can be concluded that the drift is mainly composed of z-axis gyroscope’s bias under constant conditions, e.g., temperature.
In order to discard the possibility that biases of the x- and y-axes gyroscopes also affect the yaw angle estimation, and as a consequence, also the computed drift value after an association, we have computed the error of the yaw angle estimation caused by a x- and y-axes gyroscopes’ biases of 0.05
s
. The error has been computed by subtracting the resulting yaw angle estimation to the quasi-error-free yaw angle shown in blue in
Figure 9a. In the case of a biases set of
s
the error caused on the yaw angle estimation is growing with time, reaching 5.5
after 22
. In the case of a biases set of
s
the error caused on the yaw angle estimation grows until 1
after 22
. The two aforementioned experiments yield however to severe errors in the roll and pitch angle estimations, respectively. Nevertheless, the x- and y-axes gyroscopes’ biases can be correctly estimated trough the gravity field (see [
2]) and this estimation is used to correct the errors in roll and pitch angles. In this case, the remaining error transferred to the yaw angle is negligible. Therefore, we conclude that only the z-axis gyroscope’s bias affect substantially the underlying drift error.
3.2. Landmark Detector
The landmark detector will be tested for the corners using the drifted green trajectory depicted in
Figure 9b. The 12 corners should be detected even in the presence of drift.
Table 3 summarizes the automatically generated data base, where the uncertainty values have been omitted for conciseness.
For this experiment the walking speed was on average 3 kmh and all corners are successfully detected. For higher walking speeds, the initially set values for the parameters w and q are also appropriate, because the yaw angle transition before and after the corner is steeper. Nevertheless, both parameters can be adapted based on the known walking speed. Additionally, the curvature radius of the corner plays an important role in the detection. For a large curvature radius, the detection might not be successful due to the smooth yaw angle transition before and after the corner. For these cases, the parameter w should be larger. However, there is no information available to adapt this parameter in the case of large curvature radii, since the trajectory is not previously known. Therefore, these corners are not detected and, consequently, not used for the drift computation.
Next, we show a second experiment recorded with the IMU DSP-1750 with the set up previously described and shown in
Figure 8a. The trajectory has been computed integrating the quasi-error-free turn rate measurements without subtracting the biases or applying updates, and the step detector, step length estimator and vertical displacement estimator proposed in [
18,
19]. The trajectory might contain errors due to these aforementioned algorithms e.g., errors in the step length or vertical displacement estimation. Nevertheless, the algorithms proposed in this work should work in the presence of these errors and in the presence of drift. The trajectory depicted in
Figure 10 includes corners of small and large curvature radii and also stairs out- and inside the Earth Observation Center building of DLR.
The start and end point of the walk is located outdoors as the red colored pin of
Figure 10a indicates.
Table 4 shows the first 9 landmarks automatically detected during the walk described in the following: The pedestrian starts walking leaving the front garden of the building at his left hand. The first described corner is not detected due to its large curvature radius. Therefore, it is not taken into account for the drift computation, as well as the two following curves, since they do not describe a 90
turn. The first detected corner lies on the back garden and is highlighted with a yellow pin in
Figure 10a. Then three outdoor stairs to access the basement are detected with a very similar yaw angle (see
Table 4), because they are aligned. Their location has been represented with pink placemarks on the back garden. Then, two more corners are detected outdoors until the pedestrian walks into the building. All described indoor corners are detected and also the indoor stairs. In total, 36 landmarks have been detected for the trajectory shown in
Figure 10. The first landmark described indoors corresponds to the stairs, which is twice detected due to the landing zone, unlike the case of the outdoors upstairs which also have a landing zone as shown in
Figure 11.
The double detection may happen depending on the length of the landing zone of the stairs, being harmless to the drift computation. As
Table 4 shows, the yaw angle detected for both sections of the indoor stairs, L7 and L8, is very similar and approximately 180
shifted to the detected direction in which the outdoor stairs, L2, L3 and L4, were described, as expected.
3.3. Landmark Associator
Once a landmark has been detected, the association process starts. The first step is to identify whether the current landmark has been previously detected or it is new to the data base. The association is based on the Mahalanobis distance
(Equation (
4)) between the current landmark and those stored in the data base, and the threshold
.
First, we analyze the experiment shown in
Figure 8b. The red pin represents the start and the end point of the trajectory and the rest of the pins highlight the described corners. Among these corners, the green pins represent the possible associations. We will test the landmark associator with the drifted trajectory, which is represented in
Figure 12. As aforementioned, three associations are correct: (L7, L1), (L9, L4) and (L12, L1) or (L12, L7). The information of the detected landmarks was shown in
Table 3. The threshold
is 4.48.
The Mahalanobis distances computed for the landmark L7 are summarized in
Table 5. As the table shows, the landmarks (L7, L1) are correctly associated.
The Mahalanobis distances computed for the landmark L9 are summarized in
Table 6. As the table shows, the association (L9, L4) is selected as it provides a very small Mahalanobis distance. Indeed, the association is correct.
The Mahalanobis distances computed for the landmark L12 are summarized in
Table 7.
The uncertainty of the position and the uncertainty of the yaw angle are ever growing. This leads to multiple association hypotheses. In this case, L12 can also be associated with L8, L9 and L10. The landmark L11 lies under the threshold
, but the time between detections is not significant for computing the drift, thus it is not taken into account. The correct associations are (L12, L7) or (L12, L1). The drift has been computed using the landmark L7, because it has the smallest Mahalanobis distance. Apart from the correct associations detailed in
Table 5,
Table 6 and
Table 7, the landmarks L8, L10 and L11 generate associations which are not correct. If the position uncertainty of the pedestrian covers a significant part of the trajectory, many hypotheses should be taken into account. The position uncertainty is formed by the yaw uncertainty and the displacement uncertainty, being the first one the main source of positioning error.
Last, the 3D walk recorded in the Earth Observation Center of DLR shown in
Figure 10, has also been evaluated. The associations are correctly made taking into account that: first, only the corners corresponding to the same floor are eligible for the potential associations; second, if the stairs are detected in two sections due to the landing zone, both sections are correctly associated when the landmark is re-visited, because the Mahalanobis distance is smaller between both upper parts and both lower parts.
3.4. Drift Computation
Next, the drift is computed following Equation (
8) taking into account all associations made during the walk. The drift values computed in all associations should be similar, and particularly for the case of the walk shown in
Figure 12, it should be constant over time and equal to 0.05
s
.
Table 8 summarizes the automatically computed drift values, measured in
s
, for all detected associations.
The main difficulty of computing the drift is to detect a correct yaw angle for the landmarks. Since the sensor is located on the pedestrian’s upper part of the leg, the resulting yaw angle reflects oscillations due to the movement of the hip while walking, which have an amplitude of up to 20
. Additionally, the natural walk does not describe exactly the same angle when re-visiting an area, even if the walkable areas are restricted in manmade scenarios. As
Table 8 shows, all detected associations yield to similar drift values. The fact that the correct associations, marked in bold, and the wrong associations yield to similar drift values is due to the architecture of the manmade area visited for the walk (see
Figure 8), because the allowed walkable directions are restricted to North-South and East-West.
3.5. Drift Compensation
Finally, once the landmarks have been detected, associated and their corresponding drift errors have been computed,
is derived following Equation (
10). This value is assigned to the z-axis gyroscope’s bias in the post-processing stage. In order to test the proposed drift compensation algorithm with real measurements from medium-cost MEMS IMUs with unknown biases and drift error, we will use the MTw inertial sensors from Xsens. We have recorded a 3D walk at the Deutsches Museum of the city of Munich. The trajectory is shown in
Figure 13.
The Deutsches Museum scenario presents a highly perturbed magnetic field, since the visitor walks between metallic pieces of the exhibited ships and airplanes. In such a scenario, the successful estimation of the z-axis gyroscope’s bias based on the magnetic field needs longer than the duration of this 10
walk (see [
2]). For this reason, it is imperative to find alternative methods to compensate the accumulated drift over time, such as the algorithm proposed in this work. It has been decided to dismiss magnetic measurements and only use acceleration and turn rate measurements to compute the 3D trajectory shown in
Figure 13 in order to prove the effectiveness of the proposed landmark-based drift compensation algorithm. Therefore, the orientation has been computed with the orientation estimation filter detailed in [
2], applying only corrections based on the gravity field. The horizontal and vertical displacement estimation have been computed using the algorithms proposed in [
18,
19].
The trajectory shown in
Figure 13 has been already drift compensated. We have computed
following the procedure shown in
Section 3.1, resulting in a drift error equal to −0.065
s
. We do not count with ground truth position within the museum building, thus we start and end the walk at the same point to have a visual indication when the drift has been corrected. The volunteer starts at (0, 0, 0) and walks into the museum until the point (90, −20, 0). Then she takes the stairs to reach the first floor when she describes a trajectory with a "P" shape and then she walks again to the stairs in order to reach the second floor. On the second floor she walks over the rear part of the museum and then she describes twice a rectangular shape corridor. Finally, the volunteer takes the stairs to go back to the starting point in the ground floor.
Figure 14 shows the 2D and 3D view of the walk computed as aforementioned, but without compensating the drift with the algorithm proposed in this work. The effect of the drift is clearly visible, gradually twisting the trajectory in a way that the initial and ending points are almost 54
away. The associations made by the algorithm we propose in this work have been marked in the figure as A1, A2 and A3.
The stairs connecting the first floor and the second floor, A1, and the stairs connecting the ground floor and the first floor, A2, highlighted in red in
Figure 14b have been successfully associated, even though the stairs are in some cases detected in two sections due to the landing zone. Last, one corner on the ground floor at the beginning of the stairs, A3, highlighted in red in
Figure 14a has also been associated. The loops described on the third floor lead to two possible corner associations, however, these are automatically disregarded because the time between landmarks is not significant to accumulate drift.
Table 9 summarizes the deviation angles
, the time between associated landmarks
and the drift
values computed by the proposed algorithm.
Using Equation (
10) the value
is computed being the result equal to −0.068
s
, which is very similar to the correct drift value −0.065
s
.
Figure 15 shows the resulting trajectory in 3D if the drift error is compensated using the value of −0.068
s
computed by the proposed algorithm. We conclude that, thanks to the algorithm proposed in this work, the underlying drift error accumulated over a determined trajectory can be automatically computed and successfully compensated in a post-processing stage. We assume, however, a constant drift error during the whole trajectory. This assumption does not hold for long periods, thus based on the proof of concept demonstrated in this work, the drift should be compensated while the landmarks are detected in order to adapt to drift variations.