- Code for feature extraction (Python ROS node) has been released!
- Code for DLIOM (C++) will be released separately.
- Our paper is submitted for publication at the IEEE International Conference on Robotics and Automation (ICRA) 2025.
This repository contains the official implementation of the feature extractor network and ros2 node proposed in paper "LiDAR Inertial Odometry and Mapping Using Learned Registration-Relevant Features". It achieves robust and efficient real-time LiDAR Inertial Odometry using a light-weight neural network based feature extractor, as opposed to previous feature-based methods that relies on hand-crafted heuristics and parameters. More detailed maps are shown in the last section.
- ROS2 Humble
- Ubuntu 22.04
- Core python packages and version can be found in
requirements.txt
. - Install
octree_handler
:cd submodules/octree_handler && pip3 install -U .
Build the ROS package using Colcon
:
colcon build --packages-select FeatureLIOM
source install/setup.bash
ros2 run FeatureLIOM extract
The node listens to the specified pcd_topic
, and publishes keypoint indices on downsampled_topic
. This implementation assumes the odometry code maintains the point ordering until the dense point cloud gets compressed.
We present detailed maps of the Northeastern University Campus and Newer College Dataset in this section.
Newer College Short | Newer College Long |
Newer College Mount | Newer College Park |
Newer College Quad with Dynamics | Newer College Quad Hard |
Newer College Quad Medium | Newer College Quad Easy |
Newer College Math Easy | Newer College Math Medium |
Newer College Math Hard | Newer College Cloister |
We would also like to thank Alexander Estornell, Sahasrajit Anantharamakrishnan, and Yash Mewada for setting up the scout robot hardware, and Hanna Zhang, Yanlong Ma, Kenny Chen, and Nakul Joshi for help with data collection and comments.