Abstract
Ultra-wideband (UWB) time-difference-of-arrival (TDOA)-based localization has emerged as a promising, low-cost, and scalable indoor localization solution, which is especially suited for multi-robot applications. However, there is a lack of public datasets to study and benchmark UWB TDOA positioning technology in cluttered indoor environments. We fill in this gap by presenting a comprehensive dataset using Decawave’s DWM1000 UWB modules. To characterize the UWB TDOA measurement performance under various line-of-sight (LOS) and non-line-of-sight (NLOS) conditions, we collected signal-to-noise ratio (SNR), power difference values, and raw UWB TDOA measurements during the identification experiments. We also conducted a cumulative total of around 150 min of real-world flight experiments on a customized quadrotor platform to benchmark the UWB TDOA localization performance for mobile robots. The quadrotor was commanded to fly with an average speed of 0.45 m/s in both obstacle-free and cluttered environments using four different UWB anchor constellations. Raw sensor data including UWB TDOA, inertial measurement unit (IMU), optical flow, time-of-flight (ToF) laser altitude, and millimeter-accurate ground truth robot poses were collected during the flights. The dataset and development kit are available at https://utiasdsl.github.io/util-uwb-dataset/.
1. Introduction
Accurate and reliable indoor localization is a crucial enabling technology for many robotics applications, ranging from warehouse management to monitoring tasks. Over the last decade, ultra-wideband (UWB) radio technology has been shown to provide high-accuracy and obstacle-penetrating time-of-arrival (TOA) measurements that are robust to radio-frequency interference (Zafari et al., 2019). UWB chips have been integrated in the latest generations of consumer electronics including smartphones and smartwatches to support spatially aware interactions (Apple, 2022; Qorvo, 2022; Robert Triggs, 2022). During the FIFA World Cup 2022, UWB localization technology was used, for the first time, in an official football tournament to enhance the Video Assistant Referee (VAR) system by providing reliable, low-latency, and decimeter-level accurate ball tracking information (Adidas, 2022; Dowsett, 2022; KINEXON, 2022).
Similar to the Global Positioning System (GPS) (Enge, 1994), an UWB-based positioning system requires UWB radios (also called anchors) to be pre-installed in the environment as a constellation with known positions, which in turn serve as landmarks for positioning. In robotics (Nguyen et al., 2021a; Pfeiffer et al., 2021), the two common ranging schemes used for UWB localization are (i) two-way ranging (TWR) and (ii) time-difference-of-arrival (TDOA). In TWR, the UWB module mounted on the robot (also called tag) communicates with an anchor and acquires range measurements through two-way communication. In TDOA, UWB tags compute the difference between the arrival times of the radio packets from two anchors as TDOA measurements. Compared with TWR, TDOA does not require active two-way communication between an anchor and a tag, thus enabling localization of a theoretically unlimited number of devices (Hamer and D’Andrea, 2018). However, UWB TDOA-based localization systems still encounter difficulties in cluttered indoor environments (see Figure 1). Delayed and degraded radio signals caused by non-line-of-sight (NLOS) and multi-path radio propagation can greatly deteriorate positioning accuracy. In order to achieve reliable UWB TDOA-based positioning in complex indoor environments, novel estimation algorithms are required to improve localization accuracy and robustness. An UWB TDOA localization system in an indoor environment cluttered with wooden (blue boxes) and metal (the gray box) obstacles. UWB anchors are pre-installed with known positions in the space. The quadrotor, equipped with an UWB tag, receives TDOA measurements from the anchors for localization.
To foster research in this domain, this paper presents a comprehensive UWB TDOA dataset collected in a variety of cluttered indoor environments, including different types of static and dynamic obstacles. Low-cost DWM1000 UWB modules (Decaware, 2016) were used to construct cost-efficient indoor positioning systems for data collection. The dataset includes two parts: (i) an UWB TDOA identification dataset and (ii) a flight dataset. The goal of the identification dataset is to characterize the UWB TDOA measurement performance in line-of-sight (LOS) and non-line-of-sight (NLOS) conditions. It includes low-level UWB signal information such as signal-to-noise ratio (SNR) and power difference values. To create the NLOS scenarios, obstacles made of different materials commonly found in indoor settings were used, including cardboard, metal, wood, plastic, and foam. In the flight dataset, we conducted a cumulative total of roughly 150 min of real-world flights with a customized quadrotor and collected a comprehensive multimodal dataset to benchmark UWB TDOA localization performance for three-dimensional robot pose estimation. The quadrotor was commanded to fly with an average speed of 0.45 m/s in both obstacle-free and cluttered indoor environments with static and dynamic obstacles using four different anchor constellations. Raw sensor data including UWB TDOA, inertial measurement unit (IMU), optical flow, time-of-flight (ToF) laser altitude, and millimeter-accurate ground truth robot pose data from a motion capture system were collected during the flights.
The intended users of this dataset are researchers who are interested in UWB TDOA-based localization technology. The dataset can be used to model UWB TDOA measurement errors under various LOS and NLOS conditions. Also, users can study the UWB TDOA-based positioning performance (i) under different UWB anchor constellations, (ii) with and without obstacles, and (iii) using the centralized and decentralized TDOA mode (introduced in Section 3). Further, the users of this dataset are encouraged to design novel and practical estimation algorithms to enhance the accuracy and robustness of UWB TDOA-based positioning in cluttered indoor environments.
The main contributions of this dataset are as follows: • An identification dataset for UWB TDOA measurements in a variety of LOS and NLOS scenarios involving obstacles of different materials, including cardboard, metal, wood, plastic, and foam. • A comprehensive multimodal dataset from roughly 150 min of real-world flights in both obstacle-free and cluttered indoor environments, featuring both static and dynamic obstacles. We collected centralized and decentralized UWB TDOA measurements using four different anchor constellations.
2. Related work
Public UWB dataset for mobile robot localization. The LOS/NLOS testing refers to experiments to identify and model UWB measurements under LOS/NLOS scenarios. Time Domain UWB modules are high-performance UWB radio sensors originally developed by Time Domain Corporation (TDSR, 2022). Time Domain UWB modules can provide more accurate two-way ranging measurements at a higher price compared to low-cost Decawave’s DWM1000 modules.
From Table 1, we can observe that many of the public UWB datasets focus on UWB TWR-based localization (Arjmandi et al., 2020; Barral et al., 2019b; Bregar and Mohorčič, 2018; Li et al., 2018; Morón et al., 2023; Nguyen et al., 2021b). For UWB TDOA-based positioning, Raza et al. (Raza et al., 2019) provided a dataset to compare the performance of UWB TDOA and narrowband Bluetooth-based localization technologies. However, the dataset only contains UWB and Bluetooth radio measurements, lacking other sensing modalities. Additionally, the data collection occurred in a simple 2D setup without any obstacles. Pfeiffer et al. (Pfeiffer et al., 2021) released their dataset along with their research work including both UWB TWR and TDOA measurements collected from a Crazyflie 2.1 nano-quadrotor. However, the dataset was also created in an obstacle-free environment.
Realistic indoor environments often contain different types of obstacles that might interfere with UWB radio signals. In order to achieve accurate and reliable UWB TDOA-based indoor positioning, UWB measurements need to be tested in such scenarios. Currently, there exists an absence of UWB TDOA measurement identification and data collection in a cluttered environment. Furthermore, most of these datasets do not provide data collected in the presence of dynamic obstacles. We present an Ultra-wideband Time-difference-of-arrival Indoor Localization (UTIL) dataset to fill in this gap. In this dataset, we conducted extensive UWB TDOA identification experiments under LOS and NLOS scenarios and collected multimodal sensor data from a quadrotor platform in the presence of static and dynamic obstacles. During the flight experiments, we collected raw UWB TDOA measurements with additional onboard sensor data (IMU, optical flow, and ToF laser) in four anchor constellations. Both centralized and decentralized TDOA measurements were collected under the same conditions for comparison. The combination of multimodal onboard sensors, different anchor constellations, two TDOA modalities, and diverse cluttered scenarios contained in this dataset facilitates in-depth comparisons of UWB TDOA-based quadrotor localization capabilities, a level of analysis not achievable with existing datasets. To the best of our knowledge, a comprehensive UWB TDOA dataset with (i) identification experiments and (ii) data taken in a variety of indoor environments with static and dynamic obstacles does not exist in literature.
3. UWB TDOA-based localization system
Our UWB TDOA-based localization system is sketched in Figure 1. Eight UWB anchors were pre-installed in the space with known positions. The robot equipped with an UWB tag computes the difference of the distances between the robot and the two transmitting anchors using the UWB signal arrival times. To better explain the content of our dataset, we introduce the UWB radio hardware used for data collection and provide a brief explanation of the TDOA principles.
3.1. UWB sensor
The Decawave’s DWM1000 (Decaware, 2016) UWB radio sensors were used to create this dataset. The DWM1000 module is a low-cost UWB radio often used to develop cost-efficient localization solutions. The UWB TDOA measurements were collected using the Loco Positioning System (LPS) from Bitcraze, which is based on DWM1000 UWB modules (see Figure 2). The Loco Positioning System anchor and tag from Bitcraze, based on Decawave’s DWM1000 UWB modules, are used for the data collection.
Both centralized TDOA and decentralized TDOA (Meng et al., 2016) are implemented in LPS, which are referred to as TDOA 2 and TDOA 3 by Bitcraze, respectively. In centralized TDOA systems, all the anchors are synchronized w.r.t. one master anchor and the TDOA measurements are expressed in the same clock. However, centralized TDOA systems are limited by communication constraints and suffer from single point failure (Ennasr et al., 2016). In decentralized TDOA systems, anchor pairs synchronize the timescales between each other and not with a single master anchor, which leads to scalability.
3.2. Time-difference-of-arrival principles
In this subsection, we briefly explain the TDOA principles implemented in LPS. Without loss of generality, we denote a pair of UWB anchors as anchor 1 and anchor 2. The TDOA measurement d12 is the difference of distances of the tag to anchors 1 and 2. The sequence of the UWB radio packets among the anchor pair and one tag is visualized in Figure 3. UWB radios, including both anchors and the tag, operate independently with their own individual clocks. These clocks are depicted as solid lines, each distinguished by a unique color. A clock synchronization process is essential for an accurate computation of TDOA measurements. The sequence of UWB radio packets between the tag and anchor 1 and anchor 2. The clocks of anchor 1, anchor 2, and the tag are indicated as solid lines with different colors. The radio packets between the tag and anchors are denoted as solid arrow lines.
We denote the clock of anchor 1, anchor 2, and the tag as cl1, cl2, and cl
T
in the superscripts. The transmission and the reception of a radio signal from anchor 1 are denoted as tx1 and rx1 in the subscripts. As an example,
4. Data collection
4.1. Ground truth
The UTIL dataset was created at the University of Toronto Institute for Aerospace Studies (UTIAS). We collected the data in the indoor flight arena equipped with a motion capture system of 10 Vicon Vantage + cameras (Vicon, 2022). The millimeter-level accurate Vicon pose measurements were collected during UWB identification experiments and flight experiments as the ground truth measurements.
4.2. UWB identification dataset
In order to identify the UWB TDOA measurement performance in LOS and NLOS scenarios, we conducted a variety of LOS and NLOS experiments using two anchors and one tag. Figure 4 demonstrates the experimental setup for the identification dataset. Two UWB anchors referred to as anchor 1 and anchor 2, and one Crazyflie nano-quadrotor equipped with an UWB tag were placed on wooden structures. The ground truth pose data was provided by the motion capture system. Since only two anchors were used for the data collection, we ignored the difference between the centralized and decentralized TDOA modes and set the anchors into decentralized mode (TDOA 3). We collected the data through the Robot Operating System (ROS). Each sub-dataset was collected during a one-minute static experiment. UWB anchors and tag setup for UWB identification experiments.
To assess the quality of received UWB signals, we collected the signal-to-noise ratio (SNR) and power difference (P
d
) values provided in the Decawave user manual (Decawave, 2017) as the performance metrics. The computation of SNR and power difference P
d
are as follows
4.2.1. Line-of-sight tests
We collected UWB TDOA measurements from two LOS identification tests: (i) the LOS distance test and (ii) the LOS angle test. The data collection procedures are sketched in Figure 5(a)–(b). The positions of the tag and anchor 2 were fixed throughout the LOS data collection process. In LOS distance test, we increased the distance between anchor 1 and the tag from 0.5 m to 6.5 m in intervals of 0.5 m. In LOS angle test, we changed the angle between two anchors from 180° to 15° in intervals of 15°. The LOS TDOA measurement errors are summarized in Figure 6. We indicate the distance test and angle tests as dT# and aT#, where # is the test number. A diagram of the UWB identification experiments. The experiment process of LOS distance tests and LOS angle tests are illustrated in (a) and (b). The NLOS identification tests between an anchor and a tag and between two anchors are shown in (c) and (d). Measurement errors in (a) LOS distance tests (top) and (b) LOS angle tests (bottom). We indicated the distance test and angle tests as dT# and aT#, where # is the test number.

4.2.2. Non-line-of-sight tests
In the NLOS identification tests, we fixed the positions of the tag and two anchors and placed different types of obstacles to create NLOS scenarios. Four reflective markers were placed on the top surface of the obstacle to capture both its position and dimensions during the experiments. To reflect the comprehensive performance of UWB NLOS measurements, we selected six obstacles of different types of materials commonly used in indoor settings, including cardboard, metal, wood, plastic, and foam. Figure 7 shows the obstacles we used during the experiments. Obstacles used in the NLOS tests. The materials of the obstacle from left to right are cardboard, metal, wood, plastic, wood, and foam.
As explained in Section 3.2, the UWB tag listens to the radio packets transmitting between anchors to compute TDOA measurements. Both NLOS conditions between one anchor and the tag and between two anchors will affect TDOA measurements. Therefore, we conducted NLOS experiments under (i) NLOS conditions between anchor 1 and the tag and (ii) NLOS conditions between anchor 1 and anchor 2 (see Figure 5(c)–(d)). Considering the different radio reflection and diffraction effects with one obstacle under different orientations, we collected six sub-datasets for each NLOS condition with different orientations of the obstacle. One LOS dataset was collected for comparison. We present one NLOS identification experiment and summarize the measurement errors induced by metal occlusions in Figure 8 as an example. One example of NLOS identification experiments is shown in (a). A histogram of measurement errors induced by placing the metal obstacle between one anchor and the tag is summarized in (b).
4.3. Flight dataset
The flight dataset is a comprehensive multimodal collection from a customized quadrotor platform in a range of cluttered indoor environments, featuring both static and dynamic obstacles.
4.3.1. Indoor flight arena
We collected the UWB TDOA flight dataset in the indoor flight arena measuring approximately 7.0 m × 8.0 m × 3.5 m. Printed AprilTags (Olson, 2011) were attached to the soft mattresses to provide visual features for optical flow. Figure 9 is a photograph of our flight arena during data collection. A photo of the flight arena. The UWB anchors are enclosed with green circles. The inertial frame and UWB anchor frame are indicated as 
To ensure the accuracy of our dataset, we performed anchor surveying for each of our data collection sessions, leading to four different anchor constellations. In each anchor constellation, eight UWB anchors were pre-installed in the flight arena. We refer to the Vicon frame as the inertial frame
4.3.2. Quadrotor platform
We built a customized quadrotor based on the Crazyflie Bolt flight controller (Bitcraze, 2022) with an inertial measurement unit (IMU) and attached commercially available extension boards (so-called decks) from Bitcraze for data collection (see Figure 10). The LPS UWB tag was mounted vertically on the top since the DWM1000 antenna radiation pattern is uniform in its azimuth plane (Decaware, 2016). A flow deck attached at the bottom provides optical flow measurements, and a laser-based time-of-flight (ToF) sensor provides the local altitude information. The accelerometer and gyroscope data were obtained from the onboard IMU. A micro SD card deck was used to log the raw sensor data received by the flight control board with high-precision microsecond timestamps. The customized quadrotor communicates with a ground station computer over a 2.4 GHz USB radio dongle (Crazyradio PA) for high-level interaction. In terms of software, we used the Crazyswarm package (Preiss et al., 2017) to send high-level commands, such as takeoff/landing and start/stop of data logging, and pre-defined waypoints. The pose of the quadrotor measured by the motion capture system was also sent to the quadrotor as an external measurement for the onboard state estimation. The customized quadrotor platform based on the Crazyflie Bolt flight controller.
4.3.3. Calibration and latency
We refer to the offset between the center of a sensor and the center of vehicle frame
Similarly, the translation vector from the vehicle to the flow-deck extension board was measured to be r fv = [0.000, 0.000, −0.012] T m. Since we covered the ground of the flight arena with 2-inch thick (0.0508 m) mattresses for protection during data collection, the thickness of the mattress needs to be taken into account while using the ToF measurements. We refer to Section 6.5 of Greiff (2017) for detailed information on the flow-deck extension board.
Given our adoption of the same software and hardware configuration as the Crazyswarm project (Preiss et al., 2017) for our flight experiments, we direct readers to Section XI-A of Preiss et al. (2017) for a comprehensive explanation of the latency measurement process, in which the reported latency for a single vehicle is approximately 11 ms.
4.3.4. Data collection process
We operated the motion capture system at a fixed sample frequency of 200 Hz and sent the measured quadrotor pose to the onboard error-state Kalman filter with a small standard deviation, 0.001 m for position and 0.05 rad for orientation, for state estimation. Onboard the quadrotor, the raw UWB TDOA measurements, gyroscope, accelerometer, optical flow, ToF laser-ranging, barometer, and the Vicon pose measurements (sent from the ground station) were recorded as event streams. We treat the Vicon pose measurements logged onboard as the ground truth data. Each datapoint was timestamped with the onboard microsecond timer, and the resulting time series were written to the micro SD card as a binary file. Python scripts are provided to parse and analyze the binary data.
During the data collection process, we commanded the quadrotor to fly six different trajectories in constellation #1, #2, and #3 under LOS conditions. The six flight trajectories are summarized in Figure 11(a)–(f). In constellation #4, we created three cluttered environments with static obstacles (see Figure 11(g)–(i)) and two cluttered environments with one dynamic metal obstacle. During the dynamic obstacle experiment, we moved the metal cabinet manually and intentionally blocked two anchors temporarily during the flights. Note that the human body also acted as a dynamic obstacle in these cases. The onboard sensor data was collected over three different trajectories. In each experiment, we commanded the quadrotor to fly the same trajectories with both centralized and decentralized TDOA modes for comparison. For the flight experiments with dynamic obstacles, we created animations in Flight trajectories and static NLOS conditions in the flight dataset. The six flight trajectories in constellation #1, #2, and #3 are shown in (a)–(f). Note that the trajectories in constellation #1 have a smaller separation in the x and y axes due to the smaller constellation coverage. The three static NLOS conditions and the anchor positions in constellation #4 together with the three flight trajectories are shown in (g)–(i).
5. Data format
5.1. UWB identification data format
Format of the
5.2. Flight experiment data format
Summary of the CSV flight dataset format.

The file structure and naming convention of the UTIL dataset. In the flight dataset, we summarized the binary, CSV, and rosbag data according to different anchor constellations. In the identification dataset, we separate the LOS and NLOS testing data with each NLOS dataset containing the material of the obstacle in the filename.
6. Development kit and benchmark
As part of this dataset, we provide a development kit with both Python and MATLAB scripts for the users to parse the data. For the UWB identification dataset, we provide scripts to visualize the distribution of the collected data. For the flight dataset, we provide a range of different ways to visualize the sensor data and the data collection process. We also provide the STL files for the 3D printed quadrotor frame and the UWB tag support in the
Root-mean-square errors in meters obtained from benchmark on all sequences of the UTIL dataset using IMU and UWB TDOA measurements. This evaluation is conducted using an error-state Kalman filter and a batch estimation algorithm, with lower error values highlighted in bold format. We indicate the constellation as
7. Dataset usage
In this section, we provide two potential usages of this dataset for users followed by a discussion of potential research directions.
7.1. UWB TDOA measurement modeling
For UWB TDOA localization, modeling the measurement errors under LOS and NLOS scenarios is important for the design of localization algorithms (Prorok et al., 2012; Ruiz and Granja, 2017). The stationary UWB TDOA signal testing data can be used to model the distribution of the UWB TDOA measurement errors under various LOS and NLOS conditions. One example of using the identification dataset to model UWB TDOA measurement error modeling can be found in Zhao et al. (2022).
7.2. Accurate UWB TDOA-based localization
The flight dataset can be used to develop UWB TDOA-based localization algorithms. We provide the UWB measurements under centralized TDOA mode (TDOA2) and decentralized TDOA mode (TDOA3). The flight dataset collected in constellations 1 and 2 can be used to compare the localization performance between different UWB modes using low-cost DWM1000 UWB modules.
It is reported in the literature that the low-cost DW1000 UWB chips suffer from systematic measurement biases (Zhao et al., 2021; Ledergerber and D’Andrea, 2017). Also, the UWB radio measurements are often corrupted with multi-path and NLOS signal propagation in real-world scenarios. In cluttered indoor environments, multi-path and NLOS radio propagation cannot be avoided in general. We summarized the UWB TDOA measurement d23 in constellation #4 in different LOS/NLOS scenarios in Figure 13. The quadrotor was commanded to execute the same and repeated circle trajectory. We can observe in Figure 13(b)–(d) that static obstacles consistently influence the UWB measurements. Also, UWB measurements can be completely blocked due to severe NLOS conditions. However, in dynamic NLOS scenarios (see Figure 13(e) and (f)), the induced measurement errors do not remain consistent. Hence, the flight dataset collected in constellation #4 can be used to design new algorithms to cope with UWB measurement errors and noise so as to achieve robust and accurate UWB-based positioning performance in such challenging and highly dynamic environments. The UWB TDOA measurement d23 collected from the same circle trajectory in constellation #4 under different LOS/NLOS conditions. The measurements under clear LOS conditions are shown in (a). In static NLOS conditions induced by (b) one wooden obstacle, (c) one metal obstacle, and (d) one metal and three wooden obstacles, we can observe consistent measurement biases over repeated trajectories. In dynamic NLOS conditions caused by (e) one metal obstacle and (f) one metal obstacle and three wooden obstacles, the induced measurement errors are less predictable.
In the past decade, researchers have dedicated efforts to enhance UWB TDOA localization performance while keeping costs low through the use of economical hardware. Despite these efforts, non-line-of-sight (NLOS) and multi-path radio propagation remain the major factors hindering the localization performance of UWB-based systems. Identifying the measurement outliers and systematically handling the biased and non-Gaussian noise distributions (Huang et al., 2022; Zhao et al., 2023) in cluttered environments remains to be promising research directions. Additionally, the exploration of continuous-time estimation techniques (Goudar et al., 2023; Li et al., 2023) emerges as another promising research direction for asynchronous UWB-inertial localization systems. Furthermore, it is necessary to conduct observability analysis (Goudar and Schoellig, 2021) on system states and properly address the unobserved states to achieve consistent estimation (Lisus et al., 2023).
8. Conclusion
In this paper, we present the UTIL dataset, a comprehensive UWB TDOA dataset based on the low-cost DWM1000 UWB modules. Our dataset consists of (i) an UWB identification dataset under various LOS and NLOS conditions and (ii) a multimodal flight dataset collected with a cumulative total of around 150 min of real-world flights in cluttered indoor environments with four anchor constellations. Obstacles of different types of materials commonly used in indoor settings, including cardboard, metal, wood, plastic, and foam, were used to create NLOS scenarios. During the flights, we collected raw UWB TDOA measurements with additional onboard sensor data (IMU, optical flow, and ToF laser) and millimeter-accurate ground truth data from a motion capture system onboard a quadrotor platform. The combination of multimodal onboard sensors, different anchor constellations, two TDOA modalities, and diverse cluttered scenarios contained in this dataset facilitates in-depth comparisons of UWB TDOA-based quadrotor localization capabilities. We hope this dataset can foster research in improving the UWB TDOA-based positioning performance in cluttered indoor environments.
Footnotes
Acknowledgements
We would like to thank Kristoffer Richardsson and Tobias Antonsson (Bitcraze) for their guidance on the software and hardware development of the customized quadrotor platform. This work was supported in part by the Natural Sciences and Engineering Research Council of Canada (NSERC) and in part by the Canada CIFAR AI Chairs Program.
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
