KISS-ICP is a LiDAR Odometry pipeline that just works on most of the cases without tunning any parameter. This project captures local maps at poses of interest and uses these maps along with a query scan to estimate odometry.
Before you begin, ensure you have met the following requirements:
- You have a
Linux 22.04
machine withROS2 Humble
installed. - You have installed
git
.
Download the kitti dataset form : https://www.cvlibs.net/datasets/kitti/eval_odometry.php
cd <workspace>/
git clone https://github.com/PRBonn/kiss-icp
Install pykitti
pip install pykitti
Workspace Configuration
cd <workspace>/
git clone https://github.com/siddharthumakarthikeyan/KISS-ICP
colcon build
source install/setup.bash
Add path to the dataset directory in task_1.py file in the following lines: base_dir = "" date = "" drive = ""
cd <workspace>/
./task_1.sh
You can open RVIZ2 to visualize the 3D Point Cloud data getting streamed under the topic /raw_point. Click here to watch the video
cd <workspace>/
./task_2.sh
A local map is generated and published under the topic /local_map and upon reaching the pose of interest the map saver is triggered and the map is been saved in the maps subfolder. Click here to watch the video
cd <workspace>/
./task_3.sh
A local map is published under the topic /local_map and query scan is given input for the node. Upon reaching the pose of interest the odom logger is triggered and the odometry estimated by the KISS-ICP algorithm is captured. Click here to watch the video
The code is designed to easily change the deisred point of interest.
To capture a specific point 3D scan data during streaming.
ros2 topic pub /target_reached std_msgs/msg/Int32 "data: 1"