Sensors and datasets
This page lists the ways to feed sensory data into a MOLA system, offline from a recording or online from a live sensor.
Every option below implements the same RawDataSourceBase interface, so the
choice of input is independent of the choice of odometry, SLAM or localization
algorithm: the same pipeline runs unchanged on a rosbag, on a rawlog, or on a
live LiDAR.
1. Offline: from a recording
Generic formats
Format |
Reader module |
Run LiDAR odometry on it with |
|---|---|---|
ROS 2 bag ( |
|
|
ROS 1 bag ( |
mola_input_rosbag1, which needs no ROS 1 installation |
|
MRPT rawlog ( |
|
|
KITTI-style ``.bin`` directories |
No odometry launcher yet; to replay one, use
|
Note
The mola-lo-* launchers are installed by mola_lidar_odometry. Each is
a thin wrapper that picks the right mola-cli launch file (GUI) or supplies
the right flags to mola-lidar-odometry-cli (offline), so you do not have to
pass -c <pipeline.yaml> and --state-estimator-param-file yourself.
Run any of them with no arguments to see its usage, and see
Launching MOLA-LO for the underlying commands.
Note
Several bags can be replayed jointly as one merged stream, which is what datasets publishing one bag per topic require. See the LO launchers.
To convert between these formats, see dataset conversions.
Public benchmark datasets
MOLA ships a ready-to-run launcher per dataset, so you do not have to work
out its topic names, frame ids, extrinsics or per-dataset tuning yourself. Each
comes in two flavors: mola-lo-gui-<name> for interactive replay with the
3D GUI, and mola-lo-cli-<name> for offline batch processing at full speed.
The table below is the overview. For one dataset in particular, see its own page: where to put the data, the exact commands, and every tuned default with the reasoning behind it.
Dataset |
What it is |
Launcher suffix |
|---|---|---|
The odometry benchmark; a car with a Velodyne HDL-64. |
|
|
Panoramic successor to KITTI. |
|
|
A car with an Ouster OS1-64 around Daejeon and Sejong. |
|
|
Handheld rig walked around New College, Oxford; ships a survey-grade prior map. |
|
|
Hand-held / backpack VILENS payload around Oxford colleges. |
|
|
Hand-held survey pole through construction sites and the Sheldonian Theatre. |
|
|
ANYbotics ANYmal-D quadruped carrying the “Boxi” payload; one bag per topic. |
|
|
Ground robot driven through a botanical garden. |
|
|
Clearpath Jackal through citrus orchard rows. |
|
|
Hand-held scanner in construction sites (ROS 1 or ROS 2 bags). |
|
|
Built around degenerate geometry: flat surfaces, stairwells, metro tunnels, off-road, inland waterways. |
|
|
Five LiDARs recording simultaneously, hence one launcher per sensor. |
|
|
The ParisLuco128 sequence used by CT-ICP and others. |
|
So, for example:
# Interactive replay with the GUI:
mola-lo-gui-mulran KAIST01
# The same sequence, offline and as fast as the machine allows:
mola-lo-cli-mulran KAIST01 --output-tum-path mulran-kaist01.tum
Every launcher prints its own usage, including the dataset-specific environment variables it honors, when run with no arguments.
See also
Launching MOLA-LO for the full reference, and LO/LIO pipelines for the parameters these launchers set.
2. Online: from a live sensor
Path |
When to use it |
|---|---|
ROS 2 topics, via mola_bridge_ros2 |
The usual choice: your sensor already has a ROS 2 driver publishing
|
Ouster native SDK, via mola_input_ouster |
Direct connection to an Ouster sensor (or replay of a PCAP/OSF
recording) with no ROS middleware in the loop. Launcher:
|
mrpt-hwdrivers |
Direct connection to sensors supported by MRPT without ROS: 2D lidars (Hokuyo, SICK, RP-Lidar, Ibeo), Velodyne 3D lidars, cameras (OpenCV / ffmpeg / Bumblebee2), depth sensors (Kinect, OpenNI2), IMUs (xSens, KVH DSP3000), and NMEA or Novatel GNSS receivers. |
3. What if my sensor or dataset is not listed?
Nothing above is a special case in the odometry code. If your data is in a ROS 1 or ROS 2 bag, or in a rawlog, MOLA can already read it: what the per-dataset launchers add is only the knowledge of which topic is which. Point the generic launcher at your recording and name the topics:
MOLA_LIDAR_TOPIC=/ouster/points \
MOLA_IMU_TOPIC=/ouster/imu \
mola-lo-gui-rosbag2 /path/to/your/dataset.mcap
See the rosbag2 launcher for the full list of
options, including what to do when your bag has no /tf.