From 8ccb1eaebdc58afe08750c5ab44b581ad2944735 Mon Sep 17 00:00:00 2001 From: Jose Luis Blanco-Claraco Date: Tue, 3 Sep 2024 00:51:17 +0200 Subject: [PATCH] Docs: add 3rd party LO wrapper modules --- docs/source/index.rst | 3 +- docs/source/refs.bib | 21 ++- docs/source/wrappers_3rd_party.rst | 221 +++++++++++++++++++++++++++++ 3 files changed, 243 insertions(+), 2 deletions(-) create mode 100644 docs/source/wrappers_3rd_party.rst diff --git a/docs/source/index.rst b/docs/source/index.rst index f19d8985..6641f589 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -26,6 +26,7 @@ MOLA mola_lidar_odometry mola_lo_apps mola_lo_pipelines + wrappers_3rd_party .. toctree:: :maxdepth: 2 @@ -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: diff --git a/docs/source/refs.bib b/docs/source/refs.bib index 5bc8ffa9..3dd7165e 100644 --- a/docs/source/refs.bib +++ b/docs/source/refs.bib @@ -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}, @@ -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} +} \ No newline at end of file diff --git a/docs/source/wrappers_3rd_party.rst b/docs/source/wrappers_3rd_party.rst new file mode 100644 index 00000000..302c26ee --- /dev/null +++ b/docs/source/wrappers_3rd_party.rst @@ -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 `, +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 ] + [--kitti-correction-angle-deg <0.205 + [degrees]>] [--input-kitti-seq <00>] + [--lidar-sensor-label <>] [--input-rosbag2 + ] [--input-rawlog + ] [--only-first-n ] [--no-deskew] + [--output-tum-path + ] [--max-range + ] [--min-range ] + [--] [--version] [-h] + + + Where: + + --input-mulran-seq + 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 + INPUT DATASET: rosbag2. Input dataset in rosbag2 format (*.mcap) + + --input-rawlog + INPUT DATASET: rawlog. Input dataset in rawlog format (*.rawlog) + + --only-first-n + Run for the first N steps only (0=default, not used) + + --no-deskew + Skip scan de-skew + + --output-tum-path + Save the estimated path as a TXT file using the TUM file format (see + evo docs) + + --max-range + max-range parameter + + --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 + ] [--input-kitti360-seq <00>] + [--kitti-correction-angle-deg <0.205 + [degrees]>] [--input-kitti-seq <00>] + [--lidar-sensor-label ] + [--input-rosbag2 ] + [--input-rawlog ] + [--only-first-n ] [--output-tum-path + ] -c + [--] [--version] [-h] + + + Where: + + --input-paris-luco + INPUT DATASET: Use Paris Luco dataset (unique sequence=00) + + --input-mulran-seq + 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 + 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 + INPUT DATASET: rosbag2. Input dataset in rosbag2 format (*.mcap) + + --input-rawlog + INPUT DATASET: rawlog. Input dataset in rawlog format (*.rawlog) + + --only-first-n + Run for the first N steps only (0=default, not used) + + --output-tum-path + Save the estimated path as a TXT file using the TUM file format (see + evo docs) + + -c , --config-file + (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 +