Skip to content

Commit

Permalink
Docs: add 3rd party LO wrapper modules
Browse files Browse the repository at this point in the history
  • Loading branch information
jlblancoc committed Sep 2, 2024
1 parent 5cba48f commit 8ccb1ea
Show file tree
Hide file tree
Showing 3 changed files with 243 additions and 2 deletions.
3 changes: 2 additions & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ MOLA
mola_lidar_odometry
mola_lo_apps
mola_lo_pipelines
wrappers_3rd_party

.. toctree::
:maxdepth: 2
Expand Down Expand Up @@ -241,7 +242,7 @@ How to install all MOLA modules:
.. code-block:: bash
cd ~/ros2_mola_ws/
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo
Next, activate the new environment and check if all new modules are visible:
Expand Down
21 changes: 20 additions & 1 deletion docs/source/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ @article{blanco2018olae
bibsource = {dblp computer science bibliography, https://dblp.org}
}


@article{geiger2013vision,
title={Vision meets robotics: The kitti dataset},
author={Geiger, Andreas and Lenz, Philip and Stiller, Christoph and Urtasun, Raquel},
Expand All @@ -84,3 +83,23 @@ @article{geiger2013vision
year={2013},
publisher={Sage Publications Sage UK: London, England}
}

@article{vizzo2023kiss,
title={Kiss-icp: In defense of point-to-point icp--simple, accurate, and robust registration if done the right way},
author={Vizzo, Ignacio and Guadagnino, Tiziano and Mersch, Benedikt and Wiesmann, Louis and Behley, Jens and Stachniss, Cyrill},
journal={IEEE Robotics and Automation Letters},
volume={8},
number={2},
pages={1029--1036},
year={2023},
publisher={IEEE}
}

@article{bhandari2024minimal,
title={Minimal configuration point cloud odometry and mapping},
author={Bhandari, Vedant and Phillips, Tyson Govan and McAree, Peter Ross},
journal={The International Journal of Robotics Research},
pages={02783649241235325},
year={2024},
publisher={SAGE Publications Sage UK: London, England}
}
221 changes: 221 additions & 0 deletions docs/source/wrappers_3rd_party.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
.. _wrappers_3rd_party:

======================
3rd-party wrappers
======================
For the sake of scientific comparison between different methods, we provide wrappers of
other LiDAR odometry methods that mimic the interface of :ref:`mola-lidar-odometry-cli <mola_lidar_odometry_cli>`,
so exactly the same input datasets can be processed by different methods.

____________________________________________

|
KISS-ICP
--------------------------------------
Wrapper for the work :cite:`vizzo2023kiss`.

Repository: https://github.com/MOLAorg/mola_kiss_icp_wrapper

.. dropdown:: Compile instructions
:icon: code-square

Clone in your ROS 2 workspace:

.. code-block:: bash
mkdir -p ~/ros2_mola_ws/src/
cd ~/ros2_mola_ws/src/
git clone https://github.com/MOLAorg/mola_kiss_icp_wrapper.git --recursive
Install dependencies:

.. code-block:: bash
cd ~/ros2_mola_ws/
rosdep install --from-paths src --ignore-src -r -y
Compile:

.. code-block:: bash
cd ~/ros2_mola_ws/
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo
.. dropdown:: CLI reference
:icon: checklist

.. code-block:: bash
USAGE:
mola-lidar-odometry-cli-kiss [--input-mulran-seq <KAIST01>]
[--kitti-correction-angle-deg <0.205
[degrees]>] [--input-kitti-seq <00>]
[--lidar-sensor-label <>] [--input-rosbag2
<dataset.mcap>] [--input-rawlog
<dataset.rawlog>] [--only-first-n <Number
of dataset entries to run>] [--no-deskew]
[--output-tum-path
<output-trajectory.txt>] [--max-range
<max-range>] [--min-range <min-range>]
[--] [--version] [-h]
Where:
--input-mulran-seq <KAIST01>
INPUT DATASET: Use Mulran dataset sequence KAIST01|KAIST01|...
--kitti-correction-angle-deg <0.205 [degrees]>
Correction vertical angle offset (see Deschaud,2018)
--input-kitti-seq <00>
INPUT DATASET: Use KITTI dataset sequence number 00|01|...
--lidar-sensor-label <>
If provided, this supersedes the values in the 'lidar_sensor_labels'
entry of the odometry pipeline, defining the sensorLabel/topic name to
read LIDAR data from. It can be a regular expression (std::regex)
--input-rosbag2 <dataset.mcap>
INPUT DATASET: rosbag2. Input dataset in rosbag2 format (*.mcap)
--input-rawlog <dataset.rawlog>
INPUT DATASET: rawlog. Input dataset in rawlog format (*.rawlog)
--only-first-n <Number of dataset entries to run>
Run for the first N steps only (0=default, not used)
--no-deskew
Skip scan de-skew
--output-tum-path <output-trajectory.txt>
Save the estimated path as a TXT file using the TUM file format (see
evo docs)
--max-range <max-range>
max-range parameter
--min-range <min-range>
min-range parameter
--, --ignore_rest
Ignores the rest of the labeled arguments following this flag.
--version
Displays version information and exits.
-h, --help
Displays usage information and exits.
mola-lidar-odometry-cli-kiss
|

SiMpLE
--------------------------------------
Wrapper for the work :cite:`bhandari2024minimal`.

Repository: https://github.com/MOLAorg/mola_simple_wrapper

.. dropdown:: Compile instructions
:icon: code-square

Clone in your ROS 2 workspace:

.. code-block:: bash
mkdir -p ~/ros2_mola_ws/src/
cd ~/ros2_mola_ws/src/
git clone https://github.com/MOLAorg/mola_simple_wrapper.git --recursive
Install dependencies:

.. code-block:: bash
cd ~/ros2_mola_ws/
rosdep install --from-paths src --ignore-src -r -y
Compile:

.. code-block:: bash
cd ~/ros2_mola_ws/
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo
.. dropdown:: CLI reference
:icon: checklist

.. code-block:: bash
USAGE:
mola-lidar-odometry-cli-simple [--input-paris-luco] [--input-mulran-seq
<KAIST01>] [--input-kitti360-seq <00>]
[--kitti-correction-angle-deg <0.205
[degrees]>] [--input-kitti-seq <00>]
[--lidar-sensor-label <lidar1>]
[--input-rosbag2 <dataset.mcap>]
[--input-rawlog <dataset.rawlog>]
[--only-first-n <Number of dataset
entries to run>] [--output-tum-path
<output-trajectory.txt>] -c
<config.yaml> [--] [--version] [-h]
Where:
--input-paris-luco
INPUT DATASET: Use Paris Luco dataset (unique sequence=00)
--input-mulran-seq <KAIST01>
INPUT DATASET: Use Mulran dataset sequence KAIST01|KAIST01|...
--input-kitti360-seq <00>
INPUT DATASET: Use KITTI360 dataset sequence number 00|01|...
--kitti-correction-angle-deg <0.205 [degrees]>
Correction vertical angle offset (see Deschaud,2018)
--input-kitti-seq <00>
INPUT DATASET: Use KITTI dataset sequence number 00|01|...
--lidar-sensor-label <lidar1>
If provided, this supersedes the values in the 'lidar_sensor_labels'
entry of the odometry pipeline, defining the sensorLabel/topic name to
read LIDAR data from. It can be a regular expression (std::regex)
--input-rosbag2 <dataset.mcap>
INPUT DATASET: rosbag2. Input dataset in rosbag2 format (*.mcap)
--input-rawlog <dataset.rawlog>
INPUT DATASET: rawlog. Input dataset in rawlog format (*.rawlog)
--only-first-n <Number of dataset entries to run>
Run for the first N steps only (0=default, not used)
--output-tum-path <output-trajectory.txt>
Save the estimated path as a TXT file using the TUM file format (see
evo docs)
-c <config.yaml>, --config-file <config.yaml>
(required) Simple config file
--, --ignore_rest
Ignores the rest of the labeled arguments following this flag.
--version
Displays version information and exits.
-h, --help
Displays usage information and exits.
mola-lidar-odometry-cli-simple

0 comments on commit 8ccb1ea

Please sign in to comment.