Coordinate-Consistent Localization via Continuous-Time Calibration and Fusion of UWB and SLAM Observations
Tien-Dat Nguyen, Thien-Minh Nguyen, Vinh-Hao Nguyen
TL;DR
This paper tackles the problem of coordinate inconsistency in SLAM across multiple sessions by leveraging UWB anchors to define a stable global frame. It introduces a two-stage approach: (i) a continuous-time batch optimization in the first run to jointly estimate 3D anchor positions and per-link biases from SLAM and UWB data, including anchor priors and robustness to outliers, and (ii) a sliding-window Loosely-Coupled Range-SLAM Fusion in subsequent runs to align trajectories within the calibrated anchor frame. The key contributions are the continuous-time anchor calibration with bias compensation, a multi-run loosely-coupled fusion framework that reuses calibrated anchors, and public release of code and data; the method achieves close-to-SLAM accuracy with ATE often below 15 cm and runs in real time on typical hardware. Practically, this enables consistent, cross-session localization for indoor or GNSS-denied environments without repeated anchor surveys, enhancing long-term autonomy for aerial robots and mobile platforms. The results on the NTU VIRAL dataset demonstrate robustness to multipath and NLoS, validating the approach for real-world deployment and benchmarking.
Abstract
Onboard simultaneous localization and mapping (SLAM) methods are commonly used to provide accurate localization information for autonomous robots. However, the coordinate origin of SLAM estimate often resets for each run. On the other hand, UWB-based localization with fixed anchors can ensure a consistent coordinate reference across sessions; however, it requires an accurate assignment of the anchor nodes' coordinates. To this end, we propose a two-stage approach that calibrates and fuses UWB data and SLAM data to achieve coordinate-wise consistent and accurate localization in the same environment. In the first stage, we solve a continuous-time batch optimization problem by using the range and odometry data from one full run, incorporating height priors and anchor-to-anchor distance factors to recover the anchors' 3D positions. For the subsequent runs in the second stage, a sliding-window optimization scheme fuses the UWB and SLAM data, which facilitates accurate localization in the same coordinate system. Experiments are carried out on the NTU VIRAL dataset with six scenarios of UAV flight, and we show that calibration using data in one run is sufficient to enable accurate localization in the remaining runs. We release our source code to benefit the community at https://github.com/ntdathp/slam-uwb-calibration.
