3.1. Experimental Method and Scenario
The experiment is performed in a hall with two load-bearing pillars as the major fixed obstacles, whose locations will be labeled in the subsequent tracking figure. The experimental devices include a UWB positioning system (four stations, namely, Beacon 0–Beacon 3, a positioning tag, and a UWB server responsible for receiving and pre-processing the UWB data), a camera, a foot-mounted IMU, a laptop, and a wireless router, which is responsible for providing a wireless network. The data transmission directions are shown in
Figure 6, where a solid line indicates a wired connection and a dotted line indicates a wireless connection. Each beacon measures its distance from the tag, and the data are transmitted to the UWB server via Beacon 0. The UWB server pre-processes the data and delivers the data to the laptop via the WiFi network. The camera is directly connected to the laptop via USB and its data are used to provide the actual track. The camera determines the location of an object through ArUCO and its accuracy reaches approximately 7 cm after back-end optimization [
27]. The foot IMU is connected to the laptop through Bluetooth to upload the 6-DOF data (acceleration and angular speed along the three axes). The laptop is responsible for data collection and time synchronization using the time stamps of the data. The camera and tag are installed at the head, as shown in
Figure 7, and the IMU is installed at the foot, as shown in
Figure 8.
The camera has a resolution of 1080 × 1920 and a frame rate of 30 FPS. Other parameters of the camera are also calibrated. The UWB chip is a DWM1000, which has an operational frequency of 3.5~6 GHz and an ideal positioning accuracy of 3 decimeters. The UWB system returns the distance measurement results at 2 Hz during the experiment. The IMU sensor is an MPU9250-based XIMU, which outputs data at a frequency of 128 Hz.
Three paths are tested in the experiment. In the first path, the object moves directly around the hall three times while trying to ensure the smoothness of the track. This path forms a rectangle. The second path is similar to the first, but involves more turns and passes through some regions that cause serious errors. The third path is characterized by small changes of angles during normal walking, changes of speed and short-term pauses in some regions. The ground truths of the first and second paths are presented in
Section 3.4, while the ground truth of the third path is presented in
Section 3.5.
Another experiment is conducted for performance evaluation in an underground parking which is a typical realistic scenario. In
Section 3.6, trajectories of each algorithm with or without enough beacons have been tested.
3.2. Relationship between Attitude Change and Transform Change
As mentioned earlier, the ZUPT algorithm usually produces significant error when the angular speed is large. That is, these grave errors occur at turns. To better understand this phenomenon, we compare the original constraint and the optimization result along the second path.
Figure 9 shows the variations in Transform after graph optimizations that correspond to angular changes, where
denotes the change of the IMU’s orientation in the xoy plane in units of rad, and the unit of the y-axis is also rad. Transform Changed denotes the difference in the relationship between two nodes after optimization, where the relative relationship is directly obtained using the ZUPT algorithm. Let
and
denote the location and posture of the two nodes, which are represented by a transform matrix, after optimization. The relative relationship between the two nodes can be represented by
. Here,
is the relative relationship, which is directly obtained using the ZUPT. The data labelled Transform Changed in this figure represent the difference. Note that to present the results more intuitively, the scale of the output results has been adjusted to guarantee that they are of the same order of magnitude as
.
According to the figure, the larger the angular variation, the larger the variation in Transform Changed. Because the optimization result is very close to the ground truth, it is inferred that Transform Changed indirectly reveals the difference between the value of which is produced by ZUPT, and the ground truth. Therefore, we conclude that the error of ZUPT at each step is large when the angular variation is large. This indicates that it is feasible to dynamically determine the confidence level of ZUPT results using the angular variation. Because a better-estimated value for the covariance matrix of the ZUPT edge is obtained, more accurate positioning can be achieved.
3.4. Comparison of Graph-Fusing with Other Methods
To evaluate the performance gain of GraphFusing, it is compared with the following methods: the IMU-based ZUPT positioning algorithm (ZUPT), the pure UWB positioning algorithm based on minimization of the error function (UWB-Optimize), the pure UWB positioning algorithm based on particle filtering (UWB-PF), the UWB/INS fusion algorithm based on particle filtering (Fusing), and the UWB/INS fusion algorithm based on EKF (EKF-Fusing) [
7].
Figure 12 shows the positioning performances of all these methods for the first path. The black rectangles denote the obstacles. The ground truth, which was obtained through visual positioning, is denoted by RealPose in the figure. The object starts in the lower-left corner and then moves clockwise along the first path for three rounds.
Figure 13 shows the positioned track of each algorithm for the second path. The second path shares the same starting point and moving direction as the first path, but an extra track is added, which has serious UWB errors. The object moves at almost constant speed during the experiment; its movement is quite smooth when it moves in a straight line and tries to turn at a right angle. The initial value for all the algorithms is determined by the ground truth, and the initial orientation of ZUPT is determined by the moving direction of the ground truth for the previous five seconds.
To optimize the performances of the two algorithms based on particle filtering, we increase the number of particles to 5000. Note that further increasing the number of particles is no longer helpful in increasing the particle filter’s positioning accuracy. The performance of the EKF-Fusing method has been optimized through the choice of parameters, such as the covariance matrix of observation measurements and system noise. The two methods that were proposed above for dynamically determining the confidence level are used to improve the positioning accuracy of GraphFusing.
According to the results, for each of the two paths, ZUPT is very accurate in positioning the straight line, but it produces serious error when estimating the turning angle. This is consistent with the discussion above. The effect of the grave error of ZUPT can be reduced by decreasing the confidence level of the results output by ZUPT. UWB-Optimize is chosen here to indirectly determine the error of each UWB measurement at each moment and the overall deviation. By incorporating speed and moving speed into the positioning process, UWB-PF tries to ensure uniform linear motion. Therefore, the track produced by UWB-PF is very smooth throughout the positioning process. UWB-PF is very accurate when the UWB error is small or of short duration. However, due to its use of UWB sensors only, UWB-PF cannot fix the position accurately when the error is large or of long duration. According to
Figure 14 and
Figure 15, EKF-Fusing, Fusing and GraphFusing are more accurate than the other methods, and GraphFusing is vastly superior to Fusing and EKF-Fusing in terms of accuracy. Hence, GraphFusing is mainly compared with Fusing in the remainder of this paper.
The analysis of the results for the first path indicates that the Fusing algorithm, which fuses the IMU data, considerably reduces the local error of the UWB signal. Even when the data anomaly persists for a relatively long time, the Fusing algorithm is highly accurate after benefiting from the IMU data. When errors occur in the UWB data, the particle filter tries to estimate the status’s maximum posterior probability using many scattered particles. Because its particles utilize only the status of the previous moment and the IMU input of the current moment, the weights of the particles close to the global minimum will be increased enormously. However, the output positioning result remains accurate because many particles are close to the real value when computing the weighted average. However, the generated track fluctuates substantially. The track generated by GraphFusing is both accurate and smooth in comparison.
The UWB signal throughout the second path is more complex than that for the first path and the second path includes more turns. A comparison between the two paths effectively reveals two shortcomings of the particle-filter-based positioning algorithm.
The first shortcoming of the Fusing algorithm can be identified by comparing the positioning results in rectangle A in
Figure 12 and
Figure 14. The UWB-Optimize algorithm produces similar errors for this region along the two paths. However, the positioning results of the Fusing algorithm vary wildly. This is because the particle filter (and other filters) incorporates the constraints of all the previous statuses into several status variables, namely, the coordinate, speed and direction in this paper. Consider the scenario in which the object has just made a turn in the second path. Although an accurate positioning result is achieved quickly due to the consistency between the UWB signal and the IMU output, the individual particles are not set to the same moving direction. Therefore, when the maximal value of the UWB observation model’s likelihood function is biased towards one of the previous moving directions, the particles whose moving directions have not converged to the true direction will have a large likelihood probability. Consequently, the results drift towards these particles. Consider the example presented in this paper. The moving direction before the turn in region A is the positive direction along the Y-axis, and the moving direction after the turn is the positive direction along the X-axis. Although the overall moving direction has been corrected to the correct X-axis positive direction after the turn, some particles still move along the Y-axis positive direction. However, before this turn in the middle of region A, the maximal value of the UWB observation model’s likelihood function is biased towards the Y-axis positive direction (as shown in the track of UWB-Optimize), and these particles have a large likelihood probability. Therefore, the Fusing algorithm produces greater errors for the second path.
The positioning results for region C in
Figure 14 provide evidence of this inference. Because the maximal value of the UWB observation model’s likelihood function is opposite to the moving direction, even when the UWB observation is highly erroneous, the positioning error of the Fusing algorithm is limited. Desirably, GraphFusing exhibits the reverse property because it constrains the current positioning result by directly using the information of previous moments, thereby eliminating the need to compress the series of previous statuses. Instead of stabilizing the positioning result through several rounds of iteration after the turn is made, GraphFusing produces a stable result based on a series of observations. This enables GraphFusing to respond to changes more quickly. Meanwhile, GraphFusing can utilize the relative displacement, which is accurately computed by the IMU, in a more direct manner to fully exploit the positioning results of the IMU, which are extremely accurate over short periods of time.
Another shortcoming of the Fusing algorithm is revealed by the results for rectangle B in the figure, where a grave error occurs with the UWB-Optimize algorithm. Due to the long-term continuous existence of errors, Fusing cannot guarantee that the previous status information, which consists of the speed and direction, effectively constrains its positioning result. However, the GraphFusing algorithm considers the information over a series of previous statuses, and the errors that occur at the turn are corrected by the accurate UWB observations. The short-distance grave errors of UWB do not lead to a deviation of the positioning results from the real track. Moreover, the subsequent errors in the opposite direction may further guarantee the correctness of the moving direction.
The two shortcomings described above arise from the simplification of the previous status in the Fusing algorithm. The previous statuses are compressed into speed and moving direction. If a high confidence level is allocated to these elements of information, the Fusing algorithm will be unable to respond quickly to changes of speed or moving direction. Even when the data output by the IMU are available as a reference, the positioning accuracy still decreases because the IMU data are highly erroneous at the turning point. If a small confidence level is allocated to these elements of information, the positioned track will deviate quickly from the ground truth after errors occur in the UWB observation. GraphFusing provides an effective approach that solves this problem by explicitly incorporating the series of previous observations into the positioning process. However, because a sub-graph that consists of UWB data and ZUPT data for 24 steps is optimized at each moment for positioning, the computational complexity of GraphFusing is higher than that of UWB-PF. In our experiments, the calculations were performed on a machine equipped with an E3-1230 v2 CPU. On this machine, UWB-PF requires only 4.1 s to calculate the data sets (that might consume up to 107 s) even when there are 5000 particles, but GraphFusing takes 53.0 s to calculate the data sets. Therefore, the proposed algorithm is difficult to run on a micro controller in real time, but has an acceptable computational complexity for calculation on a CPU that is better than E3-1230 v2 in real time. It is worth noting that in practice, the calculation of each time step is complete 3 seconds after receiving the data.
3.5. Performance Comparison of the Two Confidence-Level Methods
This subsection compares the influences of the two confidence-level methods on the positioning accuracy. To facilitate this illustration, we let A denote the ZUPT confidence-level method and let B denote the UWB confidence-level method. The GraphFusing algorithm adopts A and B at the same time; GraphFusing-AX adopts A and its UWB confidence level is fixed; GraphFusing-XB adopts B and its ZUPT confidence level is fixed; and GraphFusing-XX refers to the method in which the confidence levels are fixed for all sides.
Figure 16 compares the positioned tracks of GraphFusing and Fusing under four scenarios along the third path. The track of UWB-Optimize is mainly used to indirectly indicate the quality of the UWB signal. The aim of the experiment along the third path is to evaluate the algorithm’s performance under a more complicated setting. To this end, the path involves many irregular turns, arcs, acceleration, and deceleration, and the tracked object sometimes halts directional movement and rotates in place. As shown in the figure, a section of the track from Fusing around the point (0, −1) deviates greatly from the ground truth and is close to the result of UWB-Optimize. This is because the object stays at this point for some time, and the positioning result of Fusing begins to become biased towards the maximal value of the likelihood function. It is difficult to differentiate among the positioning accuracies of the four GraphFusing algorithms. However, GraphFusing is generally more robust.
Figure 17 shows the accumulative error distributions of the compared methods. Because the compared methods are mainly the four GraphFusing algorithms, it is not observed that the accumulative probability of Fusing reaches 1.0. The figure shows that GraphFusing is vastly superior to GraphFusing-XX in terms of accuracy. Although the accumulative probability of GraphFusing-XB for error below 0.8 m is larger than that of GraphFusing, GraphFusing maintains superiority over an error range that is smaller but more important.
To more intuitively reveal the differences in accuracy among the four GraphFusing variants,
Table 1 compares the positioning errors of the four algorithms for the three paths. GraphFusing is highly accurate and its positioning accuracy further improves by a limited margin when it adopts the two confidence-level methods.
3.6. Performance Validation in Realistic Scenario
As mentioned earlier, the GraphFusing algorithm provides a better accuracy in the previous scenario. However, the situation, simple as that, may fall short of representation of the realistic scenario. Aiming to verify the performance of the GraphFusing algorithm, we conducted a new experiment in an underground parking, which is a typical scene in real applications. As shown in
Figure 18, the red lines denote the reference path. Due to the complexity of the parking, it is difficult to provide a real position through using our vision-based positioning system. Therefore, the reference path is obtained through control points. Beacons, installed on the wall, are denoted as red circles. The black lines and rectangles denote wall and pillars, respectively. To verify the positioning accuracy of each algorithm under the conditions with or without enough beacons, we tested all algorithms in the two situations.
The result of all algorithms based on measurements of eight beacons is presented in
Figure 19. Although without a real position as we provided in previous experiments, it is apparent that the accuracy of GraphFusing is higher than that of EKF-Fusing. Benefitting from the numbers of measurements, the trajectory of UWB-optimize, except for some outliers, has nearly approximated the real position. Meanwhile, the trajectory of the EKF-Fusing algorithm is not good enough, which might be caused by information loss in the measurement stage. In other words, a significant error will be generated under NLOS conditions when using a Gaussian distribution to approximate the probability distribution of the measurements with non-Gaussian noise. The higher accuracy of the Fusing algorithm provided additional evidence for this hypothesis, because the only difference between Fusing and EKF-Fusing is whether using a Gaussian distribution approximates the real distribution.
The result of all algorithms based on measurements of 3 beacons is presented in
Figure 20. Although the total number of beacons could be very large in real applications, the number of UWB beacons in a certain sub-area is rarely more than 6, because it is unnecessary that provide more than 6 beacons. Actually, there are often only 3 beacons in a sub-area, which is enough to provide a position. In this situation, the adopted beacons can be observed in the figure. Because of the lack of measurements, the accuracy of UWB-optimize is lower than when using eight beacons. The accuracy loss of the Fusing algorithm, which can easily be found according to the paths, was caused by the loss of previous information. However, benefitting from the non-compressed information adopted in computation, the GraphFusing algorithm provides a good trajectory, especially compared to other algorithms. It is worth noticing that, the EKF-Fusing algorithm shows better accuracy than the previous situation that uses 8 beacons because the EKF-Fusing algorithm has a poor ability to process outliers. Meanwhile, there are many obstacles between the tag to the five other beacons in the whole trajectory, indicating that several anomalous measurements would be generated.