Skip to content

PointCloud Registration with Generalized Itertive Closest Point and Normal Distribution Transform on ROS2

Notifications You must be signed in to change notification settings

yvzksgl/PCD_Registration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PCD_Registration

This is a ros package that register 2 pointclouds with using either Generalized Iterative Closest Point, which is I recommend, or Normal Distrubiton Transform algorithms.

Requirements

Build

cd ${workspace}/src
git clone https://github.com/yvzksgl/PCD_Registration.git
cd ${workspace}
colcon build
source install/setup.bash

Launch

You may want to change algorithm that will be applied. To do that you need to alter launch file in '${workspace}/src/PCD_Registration/launch'.

parameters=[{"input_pcd1_path":"data/capture0001.pcd"},
                        {"input_pcd2_path":"data/capture0002.pcd"},
                        {"out_pcd_path":"data/transformed.pcd"},
                        {"algorithm": "gicp"}]

Only "gicp" and "ndt" allowed for the algorithm parameter. To launch program as pre-configured:

ros2 launch pcd_reg pcd_reg.launch.py

Results

Both of the results, green illustrates source pointcloud, red illustrates target pointclud and blue illustrates output pointcloud. GICP works pretty good but NDT failed at my implementation. It can be enhanced by parameter tuning but it makes NDT very slow in my case. solution may be find in the future.

  • GICP gicp rviz2 output
  • NDT without Tuning ndt rviz2 output
  • NDT with Tuning ndt rviz2 output

About

PointCloud Registration with Generalized Itertive Closest Point and Normal Distribution Transform on ROS2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published