figure1. UAVs used for recording the dataset
figure2. Details about the UAV and the ground vehicle
Four self-made UAVs and a ground mobile robot is utilized for data collection.
| Device | Type | Details |
|---|---|---|
| LiDAR(Sequence-UAV_1,2,3,4) | Livox MID 360 | Range:70m FOV:360°*59° Freq:10Hz |
| LiDAR(Sequence-GR_1,2,3) | Velodyne VLP-16 | Range:100m FOV:360°*40° Freq:10Hz |
| LiDAR(Sequence-Hete_1,2,3) | Simulated MID360 | Freq:10Hz |
| IMU(Sequence-UAV_1,2,3,4) | Livox MID 360 built-in ICM40609 | Freq:200Hz |
| IMU (Sequence-GR_1,2,3) | WHEELTEC N100 9-axis | Freq:100Hz |
| IMU(Sequence-Hete_1,2,3) | GAZEBO imu_plugin | Freq:50Hz |
| UWB | Nooploop LinkTrack(Tag-Tag TWR) P-BS2 | Range:200m Accuracy:±10cm Freq:50Hz |
| RTK | Beitian BG-620 GNSS Receiver (RTK mode) | Accuracy:±1.5cm Freq:1Hz |
Time synchronization across all sensors: Time synchronization is not considered in this work due to the heterogeneous nature of the dataset and compatibility limitations among the evaluated algorithms. Specifically, the proposed system follows a tightly-coupled LiDAR–IMU odometry framework, where high-rate IMU measurements are used for continuous state propagation and LiDAR motion compensation, thus reducing the dependency on strict hardware-level synchronization. Besides, Livox Mid360 provides time-synchronized imu data.
Furthermore, the UWB sensor operates at a relatively high frequency, providing dense range measurements over time. Although these measurements are not strictly synchronized with the LiDAR and IMU due to independent sensor clocks, the high update rate enables effective temporal alignment through interpolation and state propagation within the estimation framework.
Time synchronization across agents: In outdoor settings with access to Global Navigation Satellite System (GNSS) signals, we use GNSS time as the global reference to synchronize the timing across agents after the collection.
The LiDAR–IMU extrinsic parameters are treated as known constants, which are detailed in the YAML file of custom data used in our experiments. The lever-arm compensation of the UWB sensor is omitted, since ablation studies indicate that its influence on the overall estimation accuracy is negligible.
For outdoor environments with good GNSS signal reception, a dual-antenna RTK device(Beitian BG-620 GNSS Receiver) is used to achieve highly accurate localization data with centimeter-level precision.
For simulated datasets, we obtain the ground truth from gazebo topic /gazebo/model_states.
figure3. Trajectories of the ground robot when collecting sequences: Sequence-GR_1 (blue), Sequence-GR_2 (yellow), and Sequence-GR_3 (red)
Four UAVs form a multi-robot system for data collection.
For the ground robot sequence, data are collected by a single robot. Specifically, the data obtained from three different trajectories, containing IMU and LiDAR measurements, are merged into one multi-robot sequence, which is treated as data from a system of three robots as shown in the above figure. Using the ground truth obtained via GNSS, the relative distances among the robots are computed and used as UWB measurements. In this way, a multi-robot dataset containing IMU, LiDAR, and UWB information is constructed.
The heterogeneous sequences generated in the Gazebo simulation are collected using a team of four robots: two UAVs (robots 1 and 2) and two ground robots (robots 3 and 4). Sequence-Here 3 contains the longest trajectories among all sequences used in our experiments.
Analysis of our datasets
| Sequence | Time[s] | Ground Truth | Length[m] | Size | Sensors |
|---|---|---|---|---|---|
| Sequence-UAV_1 | 100 | RTK | uav0:109 uav1:109 uav4:109 uav5:96 | 1.1GB | IMU LiDAR UWB RTK |
| Sequence-UAV_2 | 107 | RTK | uav0:103 uav1:107 uav4:94 uav5:75 | 1.3GB | IMU LiDAR UWB RTK |
| Sequence-UAV_3 | 179 | RTK | uav0:109 uav1:106 uav4:115 uav5:177 | 2.0GB | IMU LiDAR UWB RTK |
| Sequence-UAV_4 | 126 | RTK | uav0:111 uav1:106 uav4:99 uav5:44 | 1.3GB | IMU LiDAR UWB RTK |
| Sequence-GR_1 | 406 | RTK | Alpha:248 Bob:229 Carol:178 | 5.1GB | IMU LiDAR RTK |
| Sequence-GR_2 | 436 | RTK | Alpha:226 Bob:199 Carol:240 | 5.3GB | IMU LiDAR RTK |
| Sequence-GR_3 | 692 | RTK | Alpha:420 Bob:424 Carol:443 | 9.7GB | IMU LiDAR RTK |
| Sequence-Hete_1 | 72 | /gazebo/model_states | iris_0:304 iris_1:252 iris_2:189 iris_3:230 | 522MB | simulated IMU LiDAR UWB |
| Sequence-Hete_2 | 79 | /gazebo/model_states | iris_0:394 iris_1:361 iris_2:188 iris_3:229 | 582MB | simulated IMU LiDAR UWB |
| Sequence-Hete_3 | 205 | /gazebo/model_states | iris_0:1616 iris_1:1174 iris_2:492 iris_3:500 | 1.5GB | simulated IMU LiDAR UWB |
Our research utilizes the ROS bag format for sensor data storage, a standard in robotics known for efficient data management and playback.Data from the same operational sequence are merged into one ROS bag file.
Data Organization: Our dataset is meticulously organized with a clear directory structure. Calibration parameters are detailed in YAML file. Each data sequence is complete with a .bag file for primary sensor measurements. Additionally, to aid in thorough performance assessments, we’ve included auxiliary files like <agent_id>.tum, which contain ground truth data.
Ground Truth Format: The ground truth data, which is essential for evaluating the accuracy of Collaborative SLAM algorithms, is provided as TXT files. These files contain timestamped poses in UTM coordinates and orientation quaternions, formatted as follows: [timestamp, tx, ty, tz, qx, qy, qz, qw].
Information of ROS topics included in our datasets.
| Sensor | Topic | Type |
|---|---|---|
| LiDAR(Sequence-UAV_1,2,3,4) | /agent_id/livox/lidar | livox_ros_driver2/CustomMsg |
| IMU(Sequence-UAV_1,2,3,4) | /agent_id/livox/imu | sensor_msgs/Imu |
| UWB(Sequence-UAV_1,2,3,4) | /agent_id/nlink_linktrack_nodeframe2 | nlink_parser/LinktrackNodeframe2 |
| RTK(Sequence-UAV_1,2,3,4) | /agent_id/global_position/raw/fix | sensor_msgs/NavSatFix |
| LiDAR(Sequence-GR_1,2,3) | /agent_id/velodyne_points | sensor_msgs/PointCloud2 |
| IMU(Sequence-GR_1,2,3) | /agent_id/imu/data | sensor_msgs/Imu |
| RTK(Sequence-GR_1,2,3) | /agent_id/fix | sensor_msgs/NavSatFix |
| simulated UWB(Sequence-GR_1,2,3) | /agent_id/nlink_linktrack_nodeframe2 | std_msgs/Float32MultiArray |
| simulated UWB(Sequence-Hete_1,2,3) | /agent_id/nlink_linktrack_nodeframe2 | std_msgs/Float64MultiArray |
| LiDAR(Sequence-Hete_1,2,3) | /agent_id/scan | livox_ros_driver/CustomMsg |
| IMU(Sequence-Hete_1,2,3) | /agent_id/mavros/imu/data /agent_id/imu/data | sensor_msgs/Imu |
Agent_id stands for (uav0,uav1,uav4,uav5) or (Alpha,Bob,Carol) or (iris_0,iris_1,iris_2,iris_3). The detailed breakdown of the individual data fields contained within the Ultra-Wideband (UWB) dataset please refer to S3E.
This project provides partial experimental data (in ROS bag format) for obtaining the experimental results in the paper.
ScanContext, a lightweight spatial feature descriptor for 3D LiDAR, is used to describe and match features.
Then, mobile robots exchange scan context features and perform scan matching. Once a potential inter-robot loop closure candidate is detected, incremental pairwise consistent measurement set maximization (PCM) is performed to remove outliers. A two-stage optimization is performed by each robot, first establishing a global-to-local coordinate transformation.
Finally, coordinate transformations are exchanged among robots to build the observation model.


