Advanced Mapping Robot and High-Resolution Dataset

07/23/2020 ∙ by Hongyu Chen, et al. ∙ 0

This paper presents a fully hardware synchronized mapping robot with support for a hardware synchronized external tracking system, for super-precise timing and localization. Nine high-resolution cameras and two 32-beam 3D Lidars were used along with a professional, static 3D scanner for ground truth map collection. With all the sensors calibrated on the mapping robot, three datasets are collected to evaluate the performance of mapping algorithms within a room and between rooms. Based on these datasets we generate maps and trajectory data, which is then fed into evaluation algorithms. We provide the datasets for download and the mapping and evaluation procedures are made in a very easily reproducible manner for maximum comparability. We have also conducted a survey on available robotics-related datasets and compiled a big table with those datasets and a number of properties of them.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 7

page 9

page 10

page 13

page 14

page 15

page 16

page 18

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Localization and mapping are essential robotic tasks and are often solved together in a Simultaneous Localization and Mapping (SLAM) system [1]. SLAM is very much depending on the sensor data. Robotics is profiting from quickly developing sensor technology, for Lidars thanks to industry engagement in autonomous driving and for cameras thanks to digital consumer products. Research on SLAM requires the comparison of the results of the algorithms, the localization (path) and the map, with other SLAM algorithms, in order to show the capabilities of the proposed method.

In order to evaluate the precision and accuracy of the robot’s trajectory and map, ground truth information is critically important, however, sometimes it is not a trivial task to get ground truth information.

Many approaches have been employed to measure the quality of SLAM systems. Generally, this can be divided into three categories. The first category is consisting of algorithms which utilize the ground truth robots paths. It is often assumed that good localization results are equivalent to good maps. In [2] and [3]

the ground truth paths are compared with the paths estimated by the SLAM algorithms. In

[4], it is proposed to use the relative pose error and absolute trajectory error to evaluate the performance of SLAM systems. A metric for measuring the error of the manually corrected trajectory of datasets is also available to the public in [5]. Recently, [6] has provided a tutorial and software for quantitative trajectory evaluation.

Another category of evaluation algorithms is not using ground truth paths but the maps created by the mapping system for evaluation. Image similarity methods

[7] and pixel-level feature detectors [8], [9] can be adopted to evaluate the quality of maps created by their algorithms. However, these methods have their own limitations because maps often have errors like structures appearing more than once due to localization errors. In [10, 11], high-level features like barrels for evaluation of maps both in 2D and 3D maps are applied [12]. The third group is to utilize the topology of the maps and use the matches for comparison, such as [13]. There are also evaluation methods that don’t rely on ground truth data. In [14] suspicious and plausible arrangements of planes in 3D scans are detected and the map is evaluated accordingly.

Fig. 1: The MARS Mapper robot with sensors, that is used in this paper.

However the evaluation is done, for comparing different SLAM algorithms it is essential that they use the same data. If the algorithms themselves use different data (e.g. Lidar vs. camera data), at least this data should have been collected at the same time with the same robot. Thus collecting mapping datasets and then using those for the evaluation of the SLAM algorithms is an excellent way to characterize the capabilities of the different mapping systems. In the next section of this paper a survey on publicly available mapping datasets is presented. The key finding there is, that there is a lack of high-resolution, heterogeneous mapping datasets that make use of the latest sensor technology. But those are essential to develop and compare now the SLAM systems that may be used in future robotic systems, which may well provide such rich data for a much lower cost compared to todays systems.

Therefore, in this paper, we present an advanced mapping system with high-resolution sensors that are hardware-synchronized to an external tracking system to collect data for benchmarking datasets: the Mars Mapper robot (MARS is the acronym of our Mobile Autonomous Robotic Systems Lab). Preliminary results of this work have been previously presented in the ICRA 2019 Workshop on Dataset Generation and Benchmarking of SLAM Algorithms for Robotics and VR/AR [15]. We believe this approach is a valuable supplement to SLAM evaluation using simulations, because it ensures real sensor noise and real locomotion, vibrations and other factors that are difficult to accurately simulate. Using the tracking system we gather ground truth localization information. But we believe that it is also important to evaluate the mapping performance, especially for visual SLAM. So we also collect ground truth map information using a professional, static 3D scanner (Faro Focus 3D). From the 3D ground truth map we also extract a 2D ground truth map.

Fig. 2: Total Mega pixels in SLAM Datasets which contain RGB cameras

We provide three indoor datasets. One purely within the tracking system, especially also for evaluating mapping performance. Additionally, we have two longer, very similar datasets, that start and end in the tracking system. One can do loop closing at the end, the other cannot (no overlapping sensor data). Those datasets allow a thorough comparison of SLAM algorithms with different settings, sensor combinations, resolutions and framerates. We show some example SLAM evaluations using our datasets, evaluating their loop-closing and scan-matching performance.

We provide ROS launch files to automatically generate the maps from the datasets and to evaluate them by comparison to ground truth. Our results are thus fully reproducible.

The key contributions of this paper are thus:

  • A comprehensive survey on mapping datasets, which is condensed to a big table comparing select parameters of the datasets.

  • Presentation of a hardware-synchronized advanced mapping robot with external tracking.

  • Generation of three datasets for mapping and SLAM evaluation.

  • Providing reproducible evaluations of standard mapping software based on the datasets.

The remainder of the paper is organized as follows:

Section II presents the survey on mapping datasets. Then Section III provides a short survey on mapping robots and describes our mapping robot hardware. Sections IV and V detail the sensor synchronization and calibration approaches for the MARS mapping robot. In Section VI we describe the three datasets we provide. In Section VII we run a selection of SLAM algorithms with our datasets and evaluate their performance. The conclusions then follow in Section VIII.

Fig. 3: Number of cameras in SLAM Datasets

Ii Datasets Survey

Mapping datasets have a long tradition in the robotics community and there is a big number of datasets for localization and mapping. The datasets can be classified by the environment in which they have been collected:

  1. Indoor: [16],[17],[4], provide indoor datasets with annotations.

  2. Outdoor: [18], [19],[20],[21], [22] provide outdoor datasets of outdoor environments.

  3. Simulation: [23] provides a simulation indoor scene dataset.

The ICL-NUIM dataset [23] mainly focuses on RGB-D cameras with hand-held perspective within simulated indoor environments. The ground truth of this dataset comes from the model of the room. The Robot@Home dataset [16] consists of the data stream coming from 4 RGB-D cameras and 2 2D Lidar, but there is no pose ground truth. The TUM-RGBD dataset [4], as another indoor dataset, is captured by a synchronized Microsoft Kinect RGB-D camera both hand-held and onboard of a ground robot. It has pose ground truth coming from a motion capture system at 100Hz. The images have a resolution of Hz.

The EuRoC dataset [17] is from a micro aerial vehicle (MAV). It is equipped with synchronized stereo monochrome cameras at 20 fps, inertia measurement unit (IMU) and has pose ground truth from laser tracking system. The KITTI dataset [18], as one of the most famous dataset regarding on autonomous driving, is equipped with a HDL-64E 3D Lidar, gray-scale and RGB stereo cameras. All Lidars and the cameras are synchronized and generate data at 10Hz. Global positioning system (GPS) and IMU data are also included in this dataset with 100Hz. The synchronization between GPS and IMU is not hardware-level synchronized with the camera or the Lidar. They use the time stamp to synchronize among them. The Zürich Urban MAV dataset [21] is also based on MAVs. Different from EuRoC, it is recorded in outdoor environments. This capture system has barometer, gyrometer, accelerometer and GPS receiver synchronized with autopilot board and the cameras. Unlike EuRoC, its ground truth comes from algorithms instead of directly from the capture system. GPS location is only used for initial position in its ground truth pose calculation algorithm.

The CoRBS dataset [24] is the first to have the ground truth of the camera trajectory and the 3D model of the scenes. The camera is also upgraded to Microsoft Kinect v2 compared to the TUM-RGBD dataset launched in 2012. The RGB resolution is 30Hz and the depth cloud is also collected at 30Hz and havs pixels in each frame. The tracking system generates 3D pose ground truth at 120Hz with error of 0.39mm.

The Oxford RobotCar dataset [25]

is a dataset with four types of heterogeneous sensors mounted on a ground vehicle. Its video stream consists of a stereo camera with three lenses, three monocular RGB cameras. It obtains depth data through two 2D Lidars and a four-beam 3D Lidar. The platform is also equipped with a 6 degrees of freedom (DOF) IMU and GPS/GLONASS system reports its position at 50Hz. The three monocular cameras are synchronized at 11.1Hz frame rate, as the stereo camera produces 16Hz. The Lidar scans at 12.5Hz. All these sensors have their clock calibrated using TICSync.

[22] provides 3D pointcloud dataset which is recorded in a disater city at 2008 NIST response robot evaluation exercise. Another group of SLAM datasets are simulation datasets. The noise of the sensors will also affect performance. For simulation datasets it is thus essential to accurately simulate the noise and errors. The ICL-NUIM dataset [23] mainly focuses on RGB-D cameras with hand-held perspective within simulated indoor environments. The ground truth of this dataset comes from the model of the room. Datasets of 3D sensor measurements and ground truth poses for benchmarking the performance of SLAM algorithms are provided in [4] and [23]. The ground truth information has been obtained using a tracking system and by creating the data in a simulation, respectively.

Figure 2 shows a histogram of the total Megapixels in the SLAM datasets of this survey. We can see that most of the datasets provide less than Megapixels while we provide in total Megapixels. Figure 3 shows the number of cameras in each SLAM dataset. From it we can see that our dataset contains the biggest number of cameras. In Appendix A we provide a big table listing all mapping datasets we are aware of and a number of their properties, such as number and resolution of cameras, number of laser beams, types of sensors and ground truth information, etc. Attached to this publication is also a file with more details about the datasets.

In Appendix A we have studied mobile ground mapping robot datasets among all the available datasets, including some recent and named datasets such as Rosario Dataset [26], Robot@Home [16], and Cheliean Underground [27]. One of the most recent datasets is Rosario Dataset[26]. It is an outdoor mobile ground robot dataset, including dGPS, IMU, stereo cameras, synchronized and has pose ground truth via GPS. Robot@Home [16] is an indoor robot dataset, which has a synchronized 2D Lidar stream and relatively low-resolution RGB-D data. Chilean Underground dataset [27] is a slightly different mobile robot dataset. The scenario in it is under the ground. This dataset includes a synchronized stereo camera (two monocular cameras) running at 16Hz with a resolution of 1280*960 and a 3D Lidar. The ground truth pose is from algorithms. The only environmental perception sensor in NCLT dataset [28] is a 32-ring 3D Lidar. As an outdoor dataset, it has GPS, IMU in addition to the Lidar. This dataset is also synchronized and its pose ground truth is obtained through algorithms.

The survey reviled that so far no comprehensive SLAM dataset is available. The requirements are:

  • High-resolution stereo visual data, preferably in many directions

  • High-resolution 3D Lidar data

  • Fully hardware-synchronized and calibrated

  • Path ground truth information

  • Map ground truth information

  • Diverse environments

Thus we created an advanced mapping robot to collect such data. Compared with the aforementioned datasets and referring to Appendix A, our dataset provides the highest RGB resolution (5 Megapixels for each camera). On the left, front and right side and to the top, we have four pairs of stereo cameras, and a monocular camera looking back. We are also the only dataset to simultaneously have data from stereo cameras, 3D Lidars (one horizontal and one vertical), tracking system (for absolute ground truth poses) as well as 3D ground truth maps (collected from FARO). Our dataset makes it possible to evaluate both the Lidar and visual odometry against ground truth poses and ground truth maps as well as research on visual odometry and sensor fusion.

Iii Mapping System

Fig. 4: CAD model of MARS Mapper robot

Firstly, a small survey on mapping robots is presented, revealing that our system is one of the most performant mapping dataset collection robots world-wide. Afterwards our robot is described in detail.

Iii-a Mapping Robot Survey

From the very beginning, mobile robots featured mapping capabilities. As early as 1985 sonar sensors were employed for mapping [29] and soon vision and stereo vision [30] systems were used for mapping as well.

[31], [32] and [33] utilize a horizontal 2D Lidar for SLAM and a vertically mounted 2D Lidar for 3D mapping, an approach which is also used in the mapping system presented here, except that we use 3D Lidars with 32 beams each with hardware time-stamping. Another approach is using tilting 2D Lidar sensors for collecting datasets [34]. This has the advantage that it is possible to collect pointclouds with a variable resolution (by tilting slower), but the big disadvantage is, that the robot has to be static while scanning. Continuously rotating 2D lasers are another option for 3D Lidar mapping [35]. [36] uses a 2D Lidar on a gimbal with a color camera to colorize the 3D pointclouds with no hardware synchronization between the Lidar and the camera. That robot features three wide angle cameras facing forward and backward and one on the gimbal. A mobile mapping robot for underground mines that uses a 64-beam Velodyne which is actively tilted is presented in [37]. In [38] different strategies for 3D mapping with 2D Lidars are systematically compared.

For localization and mapping the fusion of Lidar and camera data can improve the results [39], [40]. Front and back-facing stereo cameras are also used for visual odometry [41] and are also combined with a 3D and two 2D Lidars for localization and mapping in [42]. Using up-looking cameras for SLAM on the ceiling is also common [43]. Using non-overlapping cameras we can do visual odometry [44] and mapping [45].

The Oxford RobotCar Dataset [25] was collected using the Oxford RobotCar platform. The RobotCar uses a drive-by-write-capable Nissan LEAF with one Point Grey Bumblebee XB3 trinocular stereo camera and three Point Grey Grasshopper2 monocular cameras. Additionally, it equips two 2D Lidars and a four-beam 3D Lidar to obtain depth data, a 6 degrees of freedom inertial measurement unit (IMU) and a global positioning system (GPS) navigation system.

The Chilean underground mine dataset [27] built a platform based on Clearpath Robotics Husky A200 for collecting the dataset. The built robot is equipped with a stereo camera, a survey-grade 3D Lidar, and a millimeter-wave radar on the upper sensor deck.

The TUM VI benchmark [46], which is a novel dataset with a diverse set of sequences in different scenes for evaluating Visual Inertial (VI) odometry, designed system for data collection that contains two cameras in a stereo setup, a microcontroller board with integrated IMU, a luminance sensor between the cameras and infrared (IR) reflective markers.

The New College Vision and Laser Dataset [47] designed a vehicle for collecting data. It consists of two lasers scanners in the body-vertical plane on the sides of the vehicle, a LadyBug Panoramic camera for collecting five-view omnidirectional imagery and a BumbleBee stereo camera pair.

The KAIST Multi-Spectral Day/Night Data Set [19] developed a multi-sensor platform gathering data for autonomous and assisted driving. The capturing system is mounted on top of a vehicle, which equipped with two PointGrey Flea3 RGB cameras, a FLIR A655Sc thermal camera, a Velodyne HDL-32E 3D LiDAR and a GPS navigation system.

In addition to the mapping robots whose working environment is ground, there are plenty of mapping robots working in the air or water.

The EuRoC MAV Datasets [17] was collected by a Micro Aerial Vehicle (MAV). It is an AscTec Firefly MAV2 equipped with visual-inertial sensor unit in a front-down looking position, two global-shutter and monochrome cameras as well as a time-synchronized IMU.

The Visual–Inertial Canoe Dataset [48] gathered data by using a canoe. The canoe was equipped with a stereo camera, an IMU, and a GPS device, which provide visual data suitable for stereo or monocular applications, inertial measurements, and position data for ground truth.

None of the mapping robots we presented here or found in literature offers as high-resolution image data as our robot, and we are on par with the best robot w.r.t. the Lidar sensors and IMU. In so far we see our claim justified to have build one of the most performant mapping robots worldwide.

Iii-B Mapping Robot Description

We are presenting a fully hardware synchronized mapping robot with support for a hardware synchronized external tracking system, for super-precise timing and localization. The vehicle is equipped with nine high-resolution cameras and two 32-beam 3D Lidars based on Jackal Robot. A professional, static 3D scanner is used for ground truth map collection.

The advanced mapping robot used to collect the datasets for this paper is designed to collect as much data as possible for indoor mapping scenarios. We collect data from vertical and horizontal Lidars, stereo cameras, an IMU and the robot odometry. The MARS mapping robot’s base is a Clearpath Jackal differential drive robot with an upgraded power supply and computer (Intel Core i7-6770k CPU, Raid 0: 3x Samsung 850 EVO 500G). The mainboard supports eight independent USB 3.1 ports, which are mainly used for the cameras. The robot is collecting data from the following sensors:

  • Nine 5MP wide-angle color cameras (FLIR Grasshopper3 GS3-U3-51S5C-C) with wide-angle lenses (82 x 61), 10Hz (4 stereo pairs: front, left, right, up; one back-looking camera)

  • Two Velodyne HDL-32E 3D Laser scanners, 10Hz (one horizontal, one vertical; both in dual-return mode)

  • IMU (Inertial Measurement Unit): Xsense MTi-300, 200Hz

  • Robot odometry

  • Optitrack tracking system (21 Prime 13 cameras, 30Hz)

A CAD model of our robot showing the sensors is depicted in Figure 4. We compress the camera images with JPEG quality 90. Due to CPU speed limitations, we can not store much more than 10Hz for the 9 cameras, so we chose to collect the images with the same frequency as the Velodynes. This results in a total storage bandwidth of about 170 MB/s.

Iv Sensor Synchronization

Almost all famous datasets are collected with platforms that contain several types of sensors. Most of the datasets contain cameras, Lidars, and IMU/GPS information. Data synchronization is quite important for many robot tasks such as localization and navigation. To achieve precise localization and safe navigation, several types of sensor data are usually needed. These sensors can be divided into two groups, the first group is sensors can be triggered externally or can provide an individual counter by each measurement. The second category are sensors that can not be externally triggered, such as Lidars. [49] proposes a software time synchronization framework to synchronize all sensors. They use ROS to synchronize all sensors, but their method is limited by the minimum frequency of the sensor.

[50] propose a low cost method to synchronize multi-cameras. One camera is used as master to trigger other slaves cameras. [51] provide a passive synchronization solution to eliminate the data translation error. [52] present a software time synchronization method for multi-cameras. The client-server method is utilized for real-time synchronization of multi-cameras. Two computers are connected by Ethernet and the time of them are synchronized by NTP[53]. Finally, an LED array system is used to verify the effectiveness of this approach. Similar to [52], we use an extra SoC (System on a Chip) as an independent clock source to generate phase-aligned square waves as clock pulses to trigger sensors.

Fig. 5: Trigger & Timestamp Spread Topology
Fig. 6: PCB schematic diagram of our synchronization board

We are interested in collecting data with very high accuracy for very precise mapping, so it is essential to synchronize all the sensor data by hardware. We use an Asus Tinker Board with a quad-core 1.8 GHz ARM Cortex-A17 processor to provide hardware synchronization. The Tinker Board serves as our reference time. It is triggering the cameras and the tracking system with 10 Hz and the Xsens IMU with 200Hz. But hardware triggering of sensors is only half of the job: Afterwards the data from the cameras arrives on PC in the Jackal robot at different times, due to USB and CPU scheduling issues. We thus need to be able to associate the hardware triggers with the actual data and make use of this info in the software. Thus, for every trigger it generates, the Tinker board also sends a ROS timestamp to the PC, which is collected in the bagfile. In a post-processing step, we then match the sensor data with this time-stamp and then correct the time-stamps of the data. Afterward, all data (e.g. all images and the tracking data and the IMU information) that was triggered together will have exactly the same time-stamp.

The tracking system is also triggered by the Tinker board, but it is then increasing the frequency from 10Hz to 30Hz. For that, the robot is physically connected to the tracking system via an Ethernet cable when inside the systems camera view. Before leaving or entering the tracking system we manually (un)plugged this cable, briefly stopping the data-collection for this. To avoid having a second Ethernet cable from the tracking system to the robot, we collect the tracking system’s (which is running on Windows) data on a separate Ubuntu PC. Before each run, the time of the PC, the Jackal PC and the Tinker Board are updated via NTP from the router of our lab.

Since the Velodyne is a rotating sensor, it cannot be triggered. Instead, its time-stamps are messages using GPS (Global Positioning System) pps (pulse per second) and NMEA (National Marine Electronics Association) data which is encoding the time. The Tinker Board is providing fake GPS data with its own time to the Velodynes, such that their data arrives at the Jackal PC already with the correct time stamp.

To achieve synchronization among several heterogeneous sensors and the host for the data frames, we require extra circuits and timing topology for hardware-level synchronization and some auxiliary algorithms for software-level synchronization. The hardware-level synchronization is shown in Figure 5.

Iv-a Hardware Timing Topology

We classified the devices to be synchronized into two classes: triggered devices and GPS-stamp devices. For the triggered devices (e.g. cameras and IMUs), we generate square waves (whose initial phases are aligned to second borders) and deliver the waves to the devices as triggering signal. For the GPS-stamp devices (e.g. Velodyne Lidars), we use a 1Hz square waves with their duty cycle adapted to specified targeting devices as PPS via GPIO (General Purpose Input Output) and timestamps encoded to GPRMC (a NMEA 2.0 sentence) format via UART (Universal Asynchronous Receiver/ Transmitter). The delays in all of these signal transmissions are measured to be less than 20us.

We designed a simple configurable voltage conversion circuit which can convert 3.5V to 5V as shown in Figure 6. It is able to hardware synchronize multiple cameras and multiple Lidars, which requires different signal patterns simultaneously at low cost and affordable complexity without extra facilities. The whole voltage conversion circuit is assembled on a printed circuit board (PCB).

Iv-B Tests and Verifications

Table I shows the time delay between the different channels of signal. For example, 10Hz 30Hz

means the time delay between 10Hz signal and 30Hz signal. 20 groups were tested for each set of signals, and the mean and variance were calculated. Limited by the measuring instrument, the measurement accuracy is 400ns.

10Hz & 30Hz 10Hz & PPS 30Hz & PPS
average(ns) 15120 0 3720
variance 1.36E+09 0 2.77E+08
TABLE I: Time delay between different signals

From the data in Table I we can see that the error is controlled within 20 microseconds, which is far smaller than 30 milliseconds for 30Hz. So, this satisfies our need for hardware sensor synchronization.

V Sensor Calibration

Fig. 7: A 3D Lidar scan colored by all the horizontal cameras. The transformations between each camera and 3D Lidar are acquired from global optimization result. All the green points represent areas where no camera is overlapping with the pointcloud.
Fig. 8: Images acquired from two cameras. The left image is acquired from one of the left side cameras while the right image is acquired from one of the front cameras.

As outlined above, mapping robots are typically equipped with different kinds of sensors. Some complex tasks need to fuse the data from the different sensors. For instance, cameras can provide rich RGB information, while odometry provides the trajectory of the robot. In order to fuse these data, the extrinsic parameters of each sensor must be calibrated. Calibration of sensors has been studied for a long time. Generally, calibration methods can be divided into two groups.

The first group is single pair sensor calibration. Single pair calibration means to compute the transformation between two sensors. [54] proposes an approach to compute the relative pose of one camera with 3D Lidar by using 3D-3D correspondence. [55] compute extrinsic parameters of one camera and robot arm by using dual quaternions. Our group presented work on simultaneous hand-eye calibration and reconstruction in [56]. [57] proposes a method to calibrate one 2D Lidar and one camera. [58] provides an easy way to calibrate cameras.

Fig. 9: Node and node are different types of sensors such as camera and Velodyne. An edge between two nodes represents a direct sensor-to-sensor calibration between these two devices.

Another group is multi-sensor calibration. As the number of sensors on the robot increases, the importance of multi-sensor calibration becomes higher and higher. [59] propose a method to calibrate the extrinsic parameters of multi-cameras by using a bundle adjustment approach. [60] uses a closed loop constraint to calibrate multi-sensors. [61] uses a graph-based method to calibrate the relative pose of each sensor. First, extrinsic parameters between each sensor pair are calculated, after that, a graph-based method is used to reduce the global error. We adopt their approach to calibrate all the sensors mounted on our robot.

An essential assumption for most calibration approaches is, that all sensors are rigidly mounted on the robot platform. Extrinsic calibration then means the estimation of the relative poses of sensor pairs, such that all the data collected from the different sensors can be fused into one single frame. Due to sensor noise, it is impossible to align the data without error. Also, when using real sensors, there is typically no way to accurately measure the transform (translation and rotation) of the physical sensor to another frame. This is because the sensor frame is usually somewhere inside the sensor, and because there are no tools available to measure arbitrary translations and rotations of physical objects with sufficient accuracy.

Our MARS Mapper robot is fully calibrated. For sensor calibration, we use the algorithm which is proposed in [61]. Intrinsic calibrations are acquired using known methods. The extrinsic calibration of the sensors (i.e. their poses) are gathered by pair-wise calibration of various, also heterogeneous sensor pairs (4x stereo cameras, 32x non-overlapping cameras, 13x Lidar to the camera, 1x Lidar to Lidar, 9x tracking system to camera) and then minimizing the error using G2O [62]. Once relative poses between each sensor are known, by using [61]’s algorithm, a hypergraph is build to minimize the global calibration error. Figure 9 shows the relationship between different sensors. As the algorithm describes in [61], a global error function is defined in Eq. 1.

(1)
(2)

where is the initial constraint of node and . represents the information matrix of the constraint.

With an initial guess , the solution of Eq. 2 can be found by incrementally by solving a linear system with the system matrix

and the vector

, such that

(3)
(4)

. Here, is the Jacobian of the error function, with an initial guess . To effectively solve the non-linear function we use G2O [62].

Fig. 10: Top-view of the ground-truth faro pointcloud (480mill points; ceiling points were removed to provide view inside the rooms) with the MARS-8 path (green), the MARS-Loop and MARS-NoLoop paths (red) as well as the location of the curtain (blue) added.
Fig. 11: The robot and the FARO scanner in the MARS lab on the left. On the right: the same area with the curtain (made with tarp) for map MARS-NoLoop.

An application of sensor fusion that requires accurate multi-sensor calibration is the colorization of Lidar point clouds using the cameras. Figure

7 shows a Velodyne scan from our robot, where the points that are within the field of view of one of the 7 horizontal cameras are colored, while Figure 8 shows two of the images used for the colorization. The according code can be found on the dataset webpage in the BLAM package. In Figure 16 this data is used to build 3D maps of colored points.

Vi Datasets

Name Duration(s) Size(GB)
MARS-8 99 16.4
MARS-Loop 290 50.7
MARS-NoLoop 315 54.8
MARS-8-Sample 3 0.49
3D FARO raw ground truth 2.3
3D FARO subsampled 0.2
2D ground truth map 0.001
ground truth trajectories 0.001
TABLE II: Dataset Details
Fig. 12: The data format of our dataset
                Topic Name                 Number of Messages       Topic Type
    /camera_back/camera_info                     996 msgs    : sensor_msgs/CameraInfo
    /camera_back/image_raw/compressed            996 msgs    : sensor_msgs/CompressedImage
    /camera_front_l/camera_info                  995 msgs    : sensor_msgs/CameraInfo
    /camera_front_l/image_raw/compressed         995 msgs    : sensor_msgs/CompressedImage
    /camera_front_r/camera_info                  995 msgs    : sensor_msgs/CameraInfo
    /camera_front_r/image_raw/compressed         995 msgs    : sensor_msgs/CompressedImage
    /camera_left_back/camera_info                995 msgs    : sensor_msgs/CameraInfo
    /camera_left_back/image_raw/compressed       995 msgs    : sensor_msgs/CompressedImage
    /camera_left_front/camera_info               995 msgs    : sensor_msgs/CameraInfo
    /camera_left_front/image_raw/compressed      995 msgs    : sensor_msgs/CompressedImage
    /camera_right_back/camera_info               995 msgs    : sensor_msgs/CameraInfo
    /camera_right_back/image_raw/compressed      995 msgs    : sensor_msgs/CompressedImage
    /camera_right_front/camera_info              995 msgs    : sensor_msgs/CameraInfo
    /camera_right_front/image_raw/compressed     995 msgs    : sensor_msgs/CompressedImage
    /camera_sync                                 996 msgs    : std_msgs/Time
    /camera_up_l/camera_info                     995 msgs    : sensor_msgs/CameraInfo
    /camera_up_l/image_raw/compressed            995 msgs    : sensor_msgs/CompressedImage
    /camera_up_r/camera_info                     995 msgs    : sensor_msgs/CameraInfo
    /camera_up_r/image_raw/compressed            995 msgs    : sensor_msgs/CompressedImage
    /horizontal_velodyne/velodyne_packets        995 msgs    : velodyne_msgs/VelodyneScan
    /horizontal_velodyne/velodyne_points         994 msgs    : sensor_msgs/PointCloud2
    /imu/data                                   7289 msgs    : sensor_msgs/Imu
    /imu/data_raw                               7289 msgs    : sensor_msgs/Imu
    /imu/mag                                    7289 msgs    : geometry_msgs/Vector3Stamped
    /imu_sync                                  19913 msgs    : std_msgs/Time
    /jackal_velocity_controller/odom            4978 msgs    : nav_msgs/Odometry
    /odometry/filtered                          4978 msgs    : nav_msgs/Odometry
    /tf                                         8154 msgs    : tf2_msgs/TFMessage
    /tf_static                                     1 msg     : tf2_msgs/TFMessage
    /vertical_velodyne/velodyne_packets          995 msgs    : velodyne_msgs/VelodyneScan
    /vertical_velodyne/velodyne_points           994 msgs    : sensor_msgs/PointCloud2
    /xsens_imu/data                            19912 msgs    : sensor_msgs/Imu
    /xsens_imu/velocity                        19912 msgs    : geometry_msgs/TwistStamped
             
Fig. 13: Data contained in the rosbag of the MARS-8 dataset.
                    # timestamp tx ty tz qx qy qz qw
                    1552558895.519010066986 -0.043429993093 0.065021090209 0.327500402927 -0.001032393775 -0.001503689447 -0.129771366715 0.991542279720
                    1552558895.586153984070 -0.043425511569 0.065015487373 0.327505290508 -0.001031934284 -0.001496045152 -0.129786849022 0.991540312767
                    1552558895.586299657822 -0.043406683952 0.065024986863 0.327479898930 -0.000972410548 -0.001309979358 -0.129725992680 0.991548538208
                    1552558895.618683338165 -0.043386425823 0.065008759499 0.327457219362 -0.000923991203 -0.001135770348 -0.129697501659 0.991552591324
     
Fig. 14: The ASCII ground truth trajectory data format.

Using the synchronized and calibrated MARS mapping robot we collected three datasets in the Mobile Autonomous Robotic Systems Lab (MARS Lab) of ShanghaiTech University:

  • MARS-8: A short (23m) figure eight driven by the mapping robot with continuous tracking information. For basic SLAM evaluation and evaluation of mapping performance.

  • MARS-Loop: A medium length (77m) mapping run, starting in the tracking system in the MARS lab, leaving the lab and re-entering it through a different door, finally entering the tracking system again and finishing at the start pose. For evaluation of basic loop closing performance.

  • MARS-NoLoop: The MARS lab is divided into two parts by two curtains (10cm apart; along the center of the tracking system). The robot follows the same path as MARS-Loop, except that it stops a little earlier (because the curtains are in the way). The robot starts and ends in the same tracking system. No loop closing is possible between the start and end of the dataset, because there is almost no overlap between the areas.

The datasets were collected by driving the robots teleoperated, using WiFi to transmit the front camera and joystick data via ROS messages.

Figure 10 shows the paths of the robot in the different datasets: green for MARS-8 and red for MARS-Loop and MARS-NoLoop. The approximate paths we followed are also marked on the ground and are thus visible in some of the collected camera images (black for MARS-8 (and MARS-Loop where they overlap) and white for MARS-Loop). MARS-NoLoop is following MARS-Loop, except stopping earlier. Almost nothing in the environment was changed between the robot data collections nor for the Faro scans.

Figure 10 is actually the complete pointcloud (480 million points) from the 18 FARO scans we collected (each about 27 million points). The points from the ceiling were removed in order to provide the view inside the rooms. We used the FARO Scene software to register the scans. It reported an average error of the scan points of 1.2mm. This is an excellent value and much smaller than the expected sensor noise. The FARO data can thus serve as ground truth for map comparison. The approximate positions of the Faro scans are marked with red crosses on the ground. Most of the scans were taken at a hight similar to the horizontal Velodyne (61 cm). Figure 11 shows the MARS Lab with the markings on the floor, the Faro scanner and the robot. It also shows the curtain for MARS-NoLoop.

We also placed several checkerboards in the lab. Additionally, we have many April tags distributed on the ceiling and, in the MARS Lab, also on the walls. In the future, we plan to evaluate how well those can be used for localization evaluation of SLAM algorithms. For good measure we also placed other cool robots of the MARS Lab as well as a small living-room arrangement with sofa, plants and TV in the scene. The truss and cameras of the tracking system can also be seen in Figure 11. Table II shows details about our datasets.

Vi-a High-resolution Data

From Table II we observe that the size of the dataset is very big - in total over 120GB. This amount of data is a challenge to store, transmit and process. In so far, we are now justifying working with such big data:

  • Future robots will be able to afford high-resolution sensors and support very high computation capabilities, we thus want to provide already now the data that future robots might work with, in order to already develop the according algorithms.

  • One aim of this dataset is to answer scientifically if using high resolution data (e.g. 5MP videos) is overkill, and if, how much so. Specifically, the data should enable researchers to answer the question: What are the benefits of high resolution sensors, compared to their cost (computation and memory). We can only do this by having that high resolution data and doing and evaluating the according experiments.

  • In order to answer the above question, if high resolution data is useful, comparison with lower resolution data is needed. We argue that the best way of obtaining the lower resolution data is by sub-sampling the high resolution data (w.r.t. image size, Lidar point number, frame rate), for several reasons:

    • The difference between sub-sampled high-resolution data and low-resolution data from low-resolution sensors (or high-resolution sensors with a low-resolution setting) is quite small.

    • In contrast, collecting another dataset during a different mapping run may result in slightly different trajectories, different exposure, focus or white-balancing settings or even changes in the environment. Those could potentially have big impact on the result of the mapping run. So we very much prefer sub-sampling over taking another, dedicated low-resolution dataset.

    • Sub-sampling allows to test many different resolutions, while restricting the experiments to the resolution they were actually taken in, only offers those very few resolutions.

    • It is much cheaper to collect the dataset just once.

Vi-B Dataset Format

The three datasets are collected with our mapping robot, using the Robot Operation System (ROS). All datasets are provided as ROS bag files. Figure 12 shows the format of our MARS dataset in terms of ROS topics and message types, on the example of MARS-8. For each dataset, the file groundtruth.txt contains the ground truth trajectory information. All message types (data types) in the bag files are standard ROS message. Figure 14 shows the data format of the ground truth trajectories, which is an ASCII text file with a time stamp, a 3D position and an orientation represented as a unit quaternion. The ground truth 3D point cloud is provided as full resolution FARO raw data and subsampled in the Polygon File Format (binary PLY).

The 2D ground truth map is extracted from the FARO data is a png with free space in white and occupied cells in black. The occupied points from the FARO data are sampled at a height of 61cm 10cm above the ground, which is the height of the horizontal Velodyne (and the height of the FARO scans), and thus the height producing 2D ground truth maps most similar to the ones from the horizontal Velodyne Lidar.

The datasets are available online 111https://robotics.shanghaitech.edu.cn/datasets/MARS-Dataset. We also provide a very short and small sample dataset from within MARS-8.

Vii Evaluation

The datasets collected allow a multitude of experimentation. One can test different SLAM algorithms, each with different parameter settings. The input to those algorithms can be varied in many different ways: selection of sensors (the 9 cameras alone allow 73 different permutations), downsampling of the sensor resolution to simulate lower-quality sensors, reduction of the frame rate, for lasers also reduction of the maximum range, etc. It is easily possible to make tens of thousands different mapping runs with the dataset (e.g. 10 algorithms, each with 5 configurations, 20 sensor combinations, 4 resolutions, 4 frame rates, 3 datasets = 48,000 maps). This is out of the scope of this paper and our future work. Instead, here we showcase a few examples using 2D laser, 3D laser (also sub-sampled), monocular and stereo SLAM, to demonstrate the principal opportunities this dataset offers.

Scientific results should be reproducible. Since we provide the dataset, we also want to give the reader the possibility to re-create the exact same maps (barring differences caused by randomized SLAM algorithms). We are thus providing ROS launch files (start scripts) that generate the maps and other needed information (e.g. the path estimated by the SLAM algorithm). We also provide the ROS package to subsample the Velodyne data as well as the ROS description package of the mapping robot, including the urdf file containing the calibration results. Together with the also provided ground truth path data it is then very easy to reproduce our evaluations, using the code from [6].

We apply several mapping methods to our dataset, using Lidars and monocular and stereo cameras as input:

  • 2D Grid Mapping (converting the horizontal Velodyne scan in a 2D LRF message; 5cm resolution maps):

    • Hector Mapping [63]

    • Cartographer [64]

  • 3D Pointcloud Mapping (with horizontal Velodyne 32 beams, also subsampled to 16 and 8 beams):

    • BLAM 222To support colored point clouds minor changes in the code were needed. The code is thus available on the dataset webpage. Original: https://github.com/erik-nelson/blam

  • visual SLAM:

    • ORB2 [65]

    • ORB2-stereo [66]

The ground truth sources for evaluation are:

  • Robot pose data from the tracking system (partial coverage for MARS-Loop and MARS-NoLoop).

  • 3D pointcloud from FARO (one map, no wall for NoLoop)

  • 2D grid map from FARO (one map, no wall for NoLoop)

The trajectory estimated by the SLAM algorithms is then compared to the trajectory of the tracking system. MARS-8 is completely covered in the tracking system, but MARS-Loop and MARS-NoLoop are only partially covered. Only the parts of the trajectories that have according ground truth poses from the tracking system are used for evaluation. The matching of those trajectories is based on the hardware-synchronized time stamps. The tracking system reported an average pose error of less than 1.5mm, which is about two orders of magnitude smaller than the SLAM estimates (see Figures 17, 18 and 19). We are thus confident that the use of the tracking system allowed a proper evaluation of the trajectories estimated by the SLAM algorithms.

Fig. 15: Faro ground truth pointcloud overlaid with BLAM MARS-Loop in cloudcompare. In order to show the details of our datasets, we cut the ceiling.
Fig. 16: 3D colored maps created by BLAM using the horizontal 3D Lidar and the horizontal cameras.

To quantify the quality of trajectories we get, the mean square error (RMSE) is used to evaluate the absolute error after aligning every trajectory to its corresponding ground-truth path. The absolute translation errors are calculated to compare the performance of different algorithms. For all the above SLAM algorithms we used, all the estimated trajectories are saved. Once we get these trajectories, we estimate the performance of SLAM algorithms by using [6]’s approach for the evaluation.

Fig. 17: The translation error in all three axes for the part of the trajectories covered by the tracking system. On the top Hector Mapping with MARS-8 (left), MARS-Loop (middle) and MARS-NoLoop (right). Below cartographer, BLAM, ORB2 and ORB2-Stereo is at the bottom.
Fig. 18: The translation error in all three axes for the part of the trajectories covered by the tracking system. On the top Mapping with MARS-8 (left), MARS-Loop (middle) and MARS-NoLoop (right). BLAM-8 means we select every 4th beam, BLAM-16 means we select every 2nd beam, BLAM-32 means we select all 32 beams for mapping.

From Figure18, we can see that for the MARS-8 dataset, by selecting every 4th, 2nd and full beams from Velodyne beams, the translation error does not have a significant difference. But for MARS-LOOP and MARS-NoLoop dataset, the error of the x-axis for BLAM-8 is a bit larger than BLAM-16 and BLAM-32. The error of the x-axis in BLAM-8 and BLAM-16 has no significant difference.

Fig. 19: The translation errors of BLAM. BLAM-8 means we select every 4th beam, BLAM-16 means we select every 2nd beam, BLAM-32 means we select all 32 beams for mapping. On the top mapping with MARS-8 (left), MARS-Loop (middle) and MARS-NoLoop (right).

Figure 19 shows the box plot results of BLAM by using different numbers of Velodyne beams. We can see that there aren’t many differences when using 8 beams, 16 beams or a full scan of Velodyne beams. For the BLAM mapping algorithm and our dataset, we found that fewer beams could have almost the same performance for mapping. For future work it will be interesting if we can collect datasets that result in different performances for the subsampled BLAM versions.

Figure 21 shows the 2D grid maps from Hector Mapping, Cartographer, Ground Truth FARO 2D and 3D point clouds from BLAM. We see that cartographer has problems when coming back into the MARS lab (on the left) and no loop closing is possible. It also has a broken map in MARS-Loop. Figure 17 shows the error in the trajectories in all three axes by Hector (top), Cartographer, BLAM, ORB2 and ORB2-Stereo. For MARS-Loop and MARS-NoLoop note the jump in the data in the middle: This is where the robot left the tracking system and later re-entered it. This jump can also be seen in Figure 22.

Fig. 20: The feature clouds and trajectories created by ORB2 and ORB2-stereo for MARS-8, MARS-Loop and MARS-NoLoop, respectively. For the MARS-NoLoop dataset ORB2 and ORB2-stereo fail to create whole trajectories.

We can see that the shown error correlates nicely with the perceived map quality of Figure 21. Figure 17 quantifies the error in a diagram. It shows absolute errors of 10cm for Hector MARS-8, MARS-Loop and MARS-NoLoop. The results of Hector are quite good. For BLAM among all our datasets we can see that absolute errors of axis and axis are about 20cm. We can make use of the trajectory evaluation shown in Figure 17. We see that the error is low, but looking at Figure 17 we see that it is double the value of the good Hector maps. The BLAM pointclouds in Figure 21 are good and nicely show the double curtain in MARS-NoLoop.

The ORB2 algorithm is using just one camera (forward-looking on the left side), while the ORB2-Stereo SLAM algorithm is using both front cameras for stereo. The feature clouds and trajectories are shown in Figure 20. Both visual SLAM approaches have problems when coming back into the MARS lab and no loop closing is possible. Both of them fail to create a complete trajectory on MARS-NoLoop dataset. On the one hand this is caused by the sudden change in appearance when driving through the door. But on the other hand, the fact that no loop closing is possible is of course making it impossible to correct the localization, as it most likely happened in MARS-Loop.

In the bottom of Figure 21 the 3D maps generated with BLAM by using the horizontal Velodyne and vertical Velodyne are shown. First the SLAM result of BLAM with the horizontally scanning sensor are shown. For comparison, the last row of Figure 21 is generated using the localization estimate from the horizontal BLAM while taking the point clouds from the vertical scanner for mapping. It can be seen that those maps show more details on the ceiling (e.g. the truss for the tracking system) while providing a similar level of detail on the walls. The map from the vertical scanner is lacking the points along the robot path for MARS-Loop and MARS-NoLoop, because the robot is not driving big turns within the same room and thus not scanning the previous robot positions.

We have also employed cloudcompare333http://cloudcompare.org/ for quality measurement. We register the Faro pointcloud with the robot pointcloud from BLAM-Loop and then calculate the RMS. The result is an RMS of 0.084 with a theoretical overlap of 90%. Figure 15 shows the two pointclouds overlaid. We didn’t collect a Faro pointcloud for BLAM-NoLoop.

For the last row of 16 we use the colored pointcloud to build 3D maps with color. After calibrating all sensors mounted on our mapping robot, the relative poses of cameras and 3D Lidar are known, so we can color the pointcloud by RGB images by using ray-tracing. We use all cameras except the two upward facing cameras to color the pointcloud of the horizontally scanning Velodyne. BLAM is then using the colored pointclouds to build the 3D colored maps.


Fig. 21: The top three rows are 2D grid maps created by Hector Mapping on top, cartographer middle and Ground Truth FARO 2D on maps MARS-8, MARS-Loop and MARS-NoLoop, respectively. In the bottom two rows are 3D maps created by BLAM using our horizontal and vertical 3D Lidar on MARS-8, MARS-Loop and MARS-NoLoop, respectively.
Fig. 22: Plots of the paths estimated by the SLAM algorithms matched against the ground truth paths.

Viii Conclusions

Mapping datasets are essential for comparing SLAM algorithms and, as our survey revealed, up to now there is no publicly available dataset satisfying the requirements of high-resolution, multi-sensor, hardware-synchronized data with ground-truth path and map information. To the best of our knowledge, we have created one of the most performant mapping dataset collection robots world-wide, featuring 5 megapixel stereo-camera pairs to the front, left, right and top and a monocular camera to the back, as well as two 32-beam Lidar scanners and an IMU. The sensors are all hardware-synchronized and calibrated to the robot base frame.

This data enables the comparison of various mapping approaches (e.g. front and back stereo, ceiling mapping, fused Lidar and monocular, etc.) with different SLAM software. We could also compare visual SLAM with different resolutions by down-scaling the images or 2D SLAM by extracting 2D Lidar scans from the 3D Lidar sensors. The ground truth path and map information allows for the proper evaluation of the SLAM runs. We believe that this data is very valuable for SLAM researchers. The amount of data and resolution of the images might seem excessive, but future robotic systems quite likely will feature such rich data, since sensor quality and processing power are growing exponentially while the costs are steadily decreasing. Granted, with about 170 MB/s our datasets are pretty big, but this is unavoidable with the presented requirements.

The three indoor datasets we collected cover a relatively small area. MARS-8 is covered in the tracking system, while MARS-Loop and MARS-NoLoop leave and later re-enter the room and the tracking system. Even though they are not long, the MARS-Loop and MARS-NoLoop datasets already prove to be challenging for some very well known mapping algorithms evaluated in this paper. We were running 2D Lidar SLAM software, 3D Lidar SLAM, and a monocular and a stereo visual SLAM approach. The results confirm the intuition that, using loop closures, the error of maps can be reduced. Furthermore, we showed that, at least for our dataset and the algorithms selected, the 3D Lidar approach gives the most accurate results. The details of SLAM datasets we surveyed int Section II are available online 444https://robotics.shanghaitech.edu.cn/datasets/MARS-Dataset. We also provide a video to show the details of our MARS Mapper Robot. It can also be found in the same website.

In the future we plan to upgrade the mapping hardware. We want to collect the images with 60Hz, include a back-stereo setup, use more and higher resolution Lidars and add other types of sensor information (e.g. sonar; event-, infrared- and panoramic- cameras; dGPS for outdoors). This will require a bigger robot with much more processing power and unfortunately also generate much bigger datasets, but at the same time we will be able to test SLAM algorithms we even more diverse setups. For example will we be able to explore visual SLAM with different resolutions, frame-rates and camera-configurations. We then also plan to collect bigger (area covered) and more diverse datasets. This will then enable us to evaluate SLAM algorithms in hundreds of different configurations.

References

  • [1] C. Cadena, L. Carlone, H. Carrillo, Y. Latif, D. Scaramuzza, J. Neira, I. Reid, and J. J. Leonard, “Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age,” IEEE Transactions on robotics, vol. 32, no. 6, pp. 1309–1332, 2016.
  • [2] O. Wulf, A. Nüchter, J. Hertzberg, and B. Wagner, “Ground truth evaluation of large urban 6d slam,” oct. 2007, pp. 650 –657.
  • [3] R. Kümmerle, B. Steder, C. Dornhege, M. Ruhnke, G. Grisetti, C. Stachniss, and A. Kleiner, “On measuring the accuracy of slam algorithms,” Autonomous Robots, vol. 27, no. 4, pp. 387–407, 2009.
  • [4] J. Sturm, N. Engelhard, F. Endres, W. Burgard, and D. Cremers, “A benchmark for the evaluation of rgb-d slam systems,” pp. 573–580, 2012.
  • [5] W. Burgard, C. Stachniss, G. Grisetti, B. Steder, R. Kummerle, C. Dornhege, M. Ruhnke, A. Kleiner, and J. Tardos, “A comparison of slam algorithms based on a graph of relations,” in Intelligent Robots and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on, 2009, pp. 2089–2095.
  • [6] Z. Zhang and D. Scaramuzza, “A tutorial on quantitative trajectory evaluation for visual (-inertial) odometry,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2018, pp. 7244–7251.
  • [7] I. Varsadan, A. Birk, and M. Pfingsthorn, “Determining map quality through an image similarity metric,” in

    RoboCup 2008: Robot WorldCup XII, Lecture Notes in Artificial Intelligence (LNAI)

    , L. Iocchi, H. Matsubara, A. Weitzenfeld, and C. Zhou, Eds.   Springer, 2009, pp. 355–365.
  • [8] J. Pellenz and D. Paulus, “Mapping and Map Scoring at the RoboCupRescue Competition,” Quantitative Performance Evaluation of Navigation Solutions for Mobile Robots (RSS 2008, Workshop CD), 2008.
  • [9] R. Lakaemper and N. Adluru, “Using virtual scans for improved mapping and evaluation,” Auton. Robots, vol. 27, no. 4, pp. 431–448, 2009.
  • [10] S. Schwertfeger, A. Jacoff, C. Scrapper, J. Pellenz, and A. Kleiner, “Evaluation of maps using fixed shapes: The fiducial map metric,” in Proceedings of PerMIS, 2010.
  • [11] S. Schwertfeger, A. Jacoff, J. Pellenz, and A. Birk, “Using a fiducial map metric for assessing map quality in the context of robocup rescue,” in International Workshop on Safety, Security, and Rescue Robotics (SSRR).   IEEE Press, 2011.
  • [12] S. Schwertfeger and A. Birk, “Using fiducials in 3d map evaluation,” in IEEE International Symposium on Safety, Security, Rescue Robotics (SSRR), IEEE Press.   IEEE Press, 2015.
  • [13] ——, “Map evaluation using matched topology graphs,” Autonomous Robots, pp. 1–27, 2015. [Online]. Available: http://dx.doi.org/10.1007/s10514-015-9493-5
  • [14] M. Chandran-Ramesh and P. Newman, “Assessing map quality using conditional random fields,” in Field and Service Robotics, Springer Tracts in Advanced Robotics, C. Laugier and R. Siegwart, Eds.   Springer, 2008.
  • [15] H. Chen, X. Zhao, J. Luo, Z. Yang, Z. Zhao, H. Wan, X. Ye, G. Weng, Z. He, T. Dong, and S. Schwertfeger, “Towards generation and evaluation of comprehensive mapping robot datasets,” in Workshop on Dataset Generation and Benchmarking of SLAM Algorithms for Robotics and VR/AR, 2019 IEEE International Conference on Robotics and Automation (ICRA), IEEE Press.   IEEE Press, 2019.
  • [16] J. Ruizsarmiento, C. Galindo, and J. Gonzalezjimenez, “Robot@home, a robotic dataset for semantic mapping of home environments,” The International Journal of Robotics Research, vol. 36, no. 2, pp. 131–141, 2017.
  • [17] M. Burri, J. Nikolic, P. Gohl, T. Schneider, J. Rehder, S. Omari, M. W. Achtelik, and R. Siegwart, “The euroc micro aerial vehicle datasets,” The International Journal of Robotics Research, vol. 35, no. 10, pp. 1157–1163, 2016.
  • [18] A. Geiger, P. Lenz, C. Stiller, and R. Urtasun, “Vision meets robotics: The kitti dataset,” The International Journal of Robotics Research, vol. 32, no. 11, pp. 1231–1237, 2013.
  • [19] Y. Choi, N. Kim, S. Hwang, K. Park, J. S. Yoon, K. An, and I. S. Kweon, “Kaist multi-spectral day/night data set for autonomous and assisted driving,” IEEE Transactions on Intelligent Transportation Systems, vol. 19, no. 3, pp. 934–948, 2018.
  • [20] N. Zeller, F. Quint, and U. Stilla, “A synchronized stereo and plenoptic visual odometry dataset.”

    arXiv: Computer Vision and Pattern Recognition

    , 2018.
  • [21] A. Majdik, C. Till, and D. Scaramuzza, “The zurich urban micro aerial vehicle dataset,” The International Journal of Robotics Research, vol. 36, no. 3, pp. 269–273, 2017.
  • [22] A. Birk, S. Schwertfeger, K. Pathak, and N. Vaskevicius, “3d data collection at disaster city at the 2008 nist response robot evaluation exercise (rree),” in 2009 IEEE International Workshop on Safety, Security & Rescue Robotics (SSRR 2009).   IEEE, 2009, pp. 1–6.
  • [23] A. Handa, T. Whelan, J. W. Mcdonald, and A. J. Davison, “A benchmark for rgb-d visual odometry, 3d reconstruction and slam,” pp. 1524–1531, 2014.
  • [24] O. Wasenmuller, M. Meyer, and D. Stricker, “Corbs: Comprehensive rgb-d benchmark for slam using kinect v2,” pp. 1–7, 2016.
  • [25] W. P. Maddern, G. Pascoe, C. Linegar, and P. Newman, “1 year, 1000 km: The oxford robotcar dataset:,” The International Journal of Robotics Research, vol. 36, no. 1, pp. 3–15, 2017.
  • [26] T. Pire, M. Mujica, J. Civera, and E. Kofman, “The rosario dataset: Multisensor data for localization and mapping in agricultural environments:,” The International Journal of Robotics Research, vol. 38, no. 6, pp. 633–641, 2019.
  • [27] K. Y. K. Leung, D. Luhr, H. Houshiar, F. Inostroza, D. Borrmann, M. Adams, A. Nuchter, and J. R. D. Solar, “Chileanunderground,” The International Journal of Robotics Research, vol. 36, no. 1, pp. 16–23, 2017.
  • [28] N. Carlevarisbianco, A. K. Ushani, and R. M. Eustice, “University of michigan north campus long-term vision and lidar dataset,” The International Journal of Robotics Research, vol. 35, no. 9, pp. 1023–1035, 2016.
  • [29] H. Moravec and A. Elfes, “High resolution maps from wide angle sonar,” in Proceedings. 1985 IEEE International Conference on Robotics and Automation, vol. 2.   IEEE, 1985, pp. 116–121.
  • [30] H. Moravec, “Robot spatial perceptionby stereoscopic vision and 3d evidence grids,” Perception, 1996.
  • [31] S. Thrun, W. Burgard, and D. Fox, “A real-time algorithm for mobile robot mapping with applications to multi-robot and 3d mapping,” in ICRA, vol. 1, 2000, pp. 321–328.
  • [32] S. Thrun, D. Hahnel, D. Ferguson, M. Montemerlo, R. Triebel, W. Burgard, C. Baker, Z. Omohundro, S. Thayer, and W. Whittaker, “A system for volumetric robotic mapping of abandoned mines,” in 2003 IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422), vol. 3.   IEEE, 2003, pp. 4270–4275.
  • [33] I. Mahon and S. Williams, “Three-dimensional robotic mapping,” in Proc. Australasian Conf. Robotics Automation.   Citeseer, 2003.
  • [34] A. Birk, N. Vaskevicius, K. Pathak, S. Schwertfeger, J. Poppinga, and H. Buelow, “3-d perception and modeling,” IEEE robotics & automation magazine, vol. 16, no. 4, pp. 53–60, 2009.
  • [35] E. Digor, A. Birk, and A. Nüchter, “Exploration strategies for a robot with a continously rotating 3d scanner,” in International Conference on Simulation, Modeling, and Programming for Autonomous Robots.   Springer, 2010, pp. 374–386.
  • [36] B. A. Gebre, H. Men, and K. Pochiraju, “Remotely operated and autonomous mapping system (roams),” in 2009 IEEE International Conference on Technologies for Practical Robot Applications.   IEEE, 2009, pp. 173–178.
  • [37] T. Neumann, A. Ferrein, S. Kallweit, and I. Scholl, “Towards a mobile mapping robot for underground mines,” in Proceedings of the 2014 PRASA, RobMech and AfLaT International Joint Symposium, Cape Town, South Africa, 2014, pp. 27–28.
  • [38] A. Desai and D. Huber, “Objective evaluation of scanning ladar configurations for mobile robots,” in 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2009, pp. 2182–2189.
  • [39] L. Iocchi, S. Pellegrini, and G. D. Tipaldi, “Building multi-level planar maps integrating lrf, stereo vision and imu sensors,” in 2007 IEEE International Workshop on Safety, Security and Rescue Robotics.   IEEE, 2007, pp. 1–6.
  • [40] J. Zhang and S. Singh, “Visual-lidar odometry and mapping: Low-drift, robust, and fast,” in 2015 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2015, pp. 2174–2181.
  • [41] T. Oskiper, Z. Zhu, S. Samarasekera, and R. Kumar, “Visual odometry system using multiple stereo cameras and inertial measurement unit,” in 2007 IEEE Conference on Computer Vision and Pattern Recognition.   IEEE, 2007, pp. 1–8.
  • [42] M. Paton, F. Pomerleau, and T. D. Barfoot, “Eyes in the back of your head: Robust visual teach & repeat using multiple stereo cameras,” in 2015 12th Conference on Computer and Robot Vision.   IEEE, 2015, pp. 46–53.
  • [43] W. Jeong and K. M. Lee, “Cv-slam: a new ceiling vision-based slam technique,” in 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2005, pp. 3195–3200.
  • [44] L. Kneip, P. Furgale, and R. Siegwart, “Using multi-camera systems in robotics: Efficient solutions to the npnp problem,” in 2013 IEEE International Conference on Robotics and Automation.   IEEE, 2013, pp. 3770–3776.
  • [45] M. J. Tribou, A. Harmat, D. W. Wang, I. Sharf, and S. L. Waslander, “Multi-camera parallel tracking and mapping with non-overlapping fields of view,” The International Journal of Robotics Research, vol. 34, no. 12, pp. 1480–1500, 2015.
  • [46] D. Schubert, T. Goll, N. Demmel, V. C. Usenko, J. Stuckler, and D. Cremers, “The tum vi benchmark for evaluating visual-inertial odometry,” arXiv: Computer Vision and Pattern Recognition, 2018.
  • [47] M. Smith, I. Baldwin, W. Churchill, R. Paul, and P. Newman, “The new college vision and laser dataset,” The International Journal of Robotics Research, vol. 28, no. 5, pp. 595–599, 2009.
  • [48] M. A. Miller, S. Chung, and S. A. Hutchinson, “The visual-inertial canoe dataset,” The International Journal of Robotics Research, vol. 37, no. 1, pp. 13–20, 2018.
  • [49] J. Wu, Z. Xiong, et al., “A soft time synchronization framework for multi-sensors in autonomous localization and navigation,” in 2018 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM).   IEEE, 2018, pp. 694–699.
  • [50] S. Hwang, Y. Choi, N. Kim, K. Park, J. S. Yoon, and I. S. Kweon, “Low-cost synchronization for multispectral cameras,” in 2015 12th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI).   IEEE, 2015, pp. 435–436.
  • [51] E. Olson, “A passive solution to the sensor synchronization problem,” in 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2010, pp. 1059–1064.
  • [52] G. Litos, X. Zabulis, and G. Triantafyllidis, “Synchronous image acquisition based on network synchronization,” in 2006 Conference on Computer Vision and Pattern Recognition Workshop (CVPRW’06).   IEEE, 2006, pp. 167–167.
  • [53] D. L. Mills, “Internet time synchronization: the network time protocol,” IEEE Transactions on communications, vol. 39, no. 10, pp. 1482–1493, 1991.
  • [54] A. Dhall, K. Chelani, V. Radhakrishnan, and K. M. Krishna, “Lidar-camera calibration using 3d-3d point correspondences,” arXiv preprint arXiv:1705.09785, 2017.
  • [55] K. Daniilidis, “Hand eye calibration using dual quaternions,” The International Journal of Robotics Research, vol. 18, no. 3, pp. 286–298, 1999.
  • [56] X. Zhi and S. Schwertfeger, “Simultaneous hand-eye calibration and reconstruction,” in IEEE/RSJ International Conference on Intelligent Robots and Systems, IEEE Press.   Vancouver, Canada: IEEE Press, 2017.
  • [57] Q. Zhang and R. Pless, “Extrinsic calibration of a camera and laser range finder (improves camera calibration),” in 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)(IEEE Cat. No. 04CH37566), vol. 3.   IEEE, 2004, pp. 2301–2306.
  • [58] Z. Zhang, “A flexible new technique for camera calibration,” IEEE Transactions on pattern analysis and machine intelligence, vol. 22, 2000.
  • [59] L. Heng, B. Li, and M. Pollefeys, “Camodocal: Automatic intrinsic and extrinsic calibration of a rig with multiple generic cameras and odometry,” in 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2013, pp. 1793–1800.
  • [60] S. Sim, K. Kwak, J. Kim, and S. H. Joo, “Closed loop-based extrinsic calibration of multi-modal sensors,” in 2014 14th International Conference on Control, Automation and Systems (ICCAS 2014).   IEEE, 2014, pp. 647–651.
  • [61] H. Chen and S. Schwertfeger, “Heterogeneous multi-sensor calibration based on graph optimization,” in 2019 IEEE International Conference on Real-time Computing and Robotics (RCAR), IEEE.   IEEE, 2019.
  • [62] R. Kümmerle, G. Grisetti, H. Strasdat, K. Konolige, and W. Burgard, “g 2 o: A general framework for graph optimization,” in 2011 IEEE International Conference on Robotics and Automation.   IEEE, 2011, pp. 3607–3613.
  • [63] S. Kohlbrecher, J. Meyer, O. von Stryk, and U. Klingauf, “A flexible and scalable slam system with full 3d motion estimation,” in Proc. IEEE International Symposium on Safety, Security and Rescue Robotics (SSRR).   IEEE, November 2011.
  • [64] W. Hess, D. Kohler, H. H. Rapp, and D. Andor, “Real-time loop closure in 2d lidar slam,” pp. 1271–1278, 2016.
  • [65] M. J. M. M. Mur-Artal, Raúl and J. D. Tardós, “ORB-SLAM: a versatile and accurate monocular SLAM system,” IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147–1163, 2015.
  • [66]

    R. Mur-Artal and J. D. Tardós, “ORB-SLAM2: an open-source SLAM system for monocular, stereo and RGB-D cameras,”

    IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255–1262, 2017.
  • [67] S. Cortes, A. Solin, E. Rahtu, and J. Kannala, “Advio: An authentic dataset for visual-inertial odometry,” in The European Conference on Computer Vision (ECCV), September 2018.
  • [68] C. Chen, P. Zhao, C. X. Lu, W. Wang, A. Markham, and N. Trigoni, “Oxiod: The dataset for deep inertial odometry.” arXiv: Robotics, 2018.
  • [69] M. Ferrera, J. Moras, P. Trouvepeloux, V. Creuze, and D. Degez, “The aqualoc dataset: Towards real-time underwater localization from a visual-inertial-pressure acquisition system,” arXiv: Robotics, 2018.
  • [70] W. Li, S. Saeedi, J. Mccormac, R. Clark, D. Tzoumanikas, Q. Ye, Y. Huang, R. Tang, and S. Leutenegger, “Interiornet: Mega-scale multi-sensor photo-realistic indoor scenes dataset,” arXiv: Computer Vision and Pattern Recognition, 2018.
  • [71] J. Jeong, Y. Cho, Y. Shin, H. C. Roh, and A. Kim, “Complex urban lidar data set,” pp. 6344–6351, 2018.
  • [72] A. Z. Zhu, D. Thakur, T. Ozaslan, B. Pfrommer, V. Kumar, and K. Daniilidis, “The multivehicle stereo event camera dataset: An event camera dataset for 3d perception,” international conference on robotics and automation, vol. 3, no. 3, pp. 2032–2039, 2018.
  • [73]

    E. Mueggler, H. Rebecq, G. Gallego, T. Delbruck, and D. Scaramuzza, “The event-camera dataset and simulator: Event-based data for pose estimation, visual odometry, and slam,”

    The International Journal of Robotics Research, vol. 36, no. 2, pp. 142–149, 2017.
  • [74] A. Mallios, E. Vidal, R. Campos, and M. Carreras, “Underwater caves sonar data set,” The International Journal of Robotics Research, vol. 36, no. 12, pp. 1247–1251, 2017.
  • [75]

    J. Mccormac, A. Handa, S. Leutenegger, and A. J. Davison, “Scenenet rgb-d: Can 5m synthetic images beat generic imagenet pre-training on indoor segmentation?” pp. 2697–2706, 2017.

  • [76] S. Griffith, G. Chahine, and C. Pradalier, “Symphony lake dataset,” The International Journal of Robotics Research, vol. 36, no. 11, pp. 1151–1158, 2017.
  • [77] N. Chebrolu, P. Lottes, A. Schaefer, W. Winterhalter, W. Burgard, and C. Stachniss, “Agricultural robot dataset for plant classification, localization and mapping on sugar beet fields,” The International Journal of Robotics Research, vol. 36, no. 10, pp. 1045–1052, 2017.
  • [78] R. A. Hewitt, E. Boukas, M. Azkarate, M. Pagnamenta, J. A. Marshall, A. Gasteratos, and G. Visentin, “The katwijk beach planetary rover dataset,” The International Journal of Robotics Research, vol. 37, no. 1, pp. 3–12, 2018.
  • [79] J. Engel, V. C. Usenko, and D. Cremers, “A photometrically calibrated benchmark for monocular visual odometry.” arXiv: Computer Vision and Pattern Recognition, 2016.
  • [80]

    M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele, “The cityscapes dataset for semantic urban scene understanding,” pp. 3213–3223, 2016.

  • [81] H. Jung, Y. Oto, O. M. Mozos, Y. Iwashita, and R. Kurazume, “Multi-modal panoramic 3d outdoor datasets for place categorization,” pp. 4545–4550, 2016.
  • [82] R. Guzman, J. Hayet, and R. Klette, “Towards ubiquitous autonomous driving: The ccsad dataset,” pp. 582–593, 2015.
  • [83] D. Caruso, J. Engel, and D. Cremers, “Large-scale direct slam for omnidirectional cameras,” pp. 141–148, 2015.
  • [84] J. Blancoclaraco, F. A. Morenoduenas, and J. Gonzalezjimenez, “The málaga urban dataset: High-rate stereo and lidar in a realistic urban scenario,” The International Journal of Robotics Research, vol. 33, no. 2, pp. 207–214, 2014.
  • [85] J. Shotton, B. Glocker, C. Zach, S. Izadi, A. Criminisi, and A. W. Fitzgibbon, “Scene coordinate regression forests for camera relocalization in rgb-d images,” pp. 2930–2937, 2013.
  • [86] M. Milford and G. Wyeth, “Seqslam: Visual route-based navigation for sunny summer days and stormy winter nights,” international conference on robotics and automation, pp. 1643–1649, 2012.
  • [87] M. Warren, D. Mckinnon, H. He, A. Glover, M. Shiel, and B. Upcroft, “Large scale monocular vision-only mapping from a fixed-wing suas,” field and service robotics, pp. 495–509, 2014.
  • [88] P. T. Furgale, P. J. F. Carle, J. Enright, and T. D. Barfoot, “The devon island rover navigation dataset,” The International Journal of Robotics Research, vol. 31, no. 6, pp. 707–713, 2012.
  • [89] G. Pandey, J. R. Mcbride, and R. M. Eustice, “Ford campus vision and lidar data set,” The International Journal of Robotics Research, vol. 30, no. 13, pp. 1543–1552, 2011.
  • [90] D. M. Chen, G. Baatz, K. Koser, S. S. Tsai, R. Vedantham, T. Pylvanainen, K. Roimela, X. Chen, J. Bach, M. Pollefeys, et al., “City-scale landmark identification on mobile devices,” pp. 737–744, 2011.
  • [91] S. Yang, C. Wang, and C. E. Thorpe, “The annotated laser data set for navigation in urban areas,” The International Journal of Robotics Research, vol. 30, no. 9, pp. 1095–1099, 2011.
  • [92] A. S. Huang, M. Antone, E. Olson, L. Fletcher, D. Moore, S. J. Teller, and J. J. Leonard, “A high-rate, heterogeneous data set from the darpa urban challenge,” The International Journal of Robotics Research, vol. 29, no. 13, pp. 1595–1601, 2010.
  • [93] M. Warren, D. Mckinnon, H. He, and B. Upcroft, “Unaided stereo vision based pose estimation,” 2010.
  • [94] A. Glover, W. P. Maddern, M. Milford, and G. Wyeth, “Fab-map + ratslam: Appearance-based slam for multiple times of day,” pp. 3507–3512, 2010.
  • [95] A. Pronobis and B. Caputo, “Cold: The cosy localization database,” The International Journal of Robotics Research, vol. 28, no. 5, pp. 588–594, 2009.
  • [96] D. Ribas, P. Ridao, J. Tardós, and J. Neira, “Underwater SLAM in man made structured environments,” Journal of Field Robotics, vol. 25, no. 11-12, pp. 898–921, November - December 2008.
  • [97] S. Agarwal, A. Vora, G. Pandey, W. Williams, H. Kourous, and J. R. Mcbride, “Ford multi-av seasonal dataset,” arXiv: Robotics, 2020.

Appendix A

The following table is an extract from an excel file we created to capture various information about robotics-related datasets. The excel file is available as an attachment to this publication and additionally contains some more data and links to the according websites. Please see the index on the next page for the abbreviations used in the table.

Abbreviation Index