Skip to content

This repo contains a ROS2 package that implements NDT & ICP registration of PCL for multiple LiDAR extrinsics calibration.

License

Notifications You must be signed in to change notification settings

knorrrr/multi_lidar_calibration_ros2

 
 

Repository files navigation

multi lidar calibration icp

overview

parameters

multi_llidar_calibration_ndt

parameter description default value
initial_pose initial pose guess [x, y, z, roll, pitch, yaw] in radians [0.0, 0.0, 0.0, 0.0, 1.57, 0.0]
max_iteration max iteration for optimization 100
transform_epsilon transform epsilon 1e-9
leaf_size voxel leaf size of approximate voxel grip filter 0.2
step_size step size of ndt registration 0.05
resolution resolution of ndt registration 0.5
input/source_pointcloud source pointcloud topic /rs16/points
input/target_pointcloud target pointcloud topic /rsbp/points

multi_lidar_calibration_icp

parameter description default value
initial_pose initial pose guess [x, y, z, roll, pitch, yaw] in radians [0.0, 0.0, 0.0, 0.0, 1.57, 0.0]
max_iteration max iteration for optimization 100
transform_epsilon transform epsilon 1e-9
max_coorespondence_distance max coorespondence distance 0.05
euclidean_fitness_epsilon euclidean fitness epsilon 0.5
ransac_outlier_rejection_threshold RANSAC outlier rejection threshold 1.1
input/source_pointcloud source pointcloud topic /rs16/points
input/target_pointcloud target pointcloud topic /rsbp/points

How To Use

There are 2 options for the multi-LiDAR extrinsics calibration, you can choose either ICP or NDT method. We are highly recommend you to use NDT method.

Prerequisites

if you have already installed Autoware.core/universe in your machine, you do not have to install these libraries below.

Clone The Repository

mkdir calibration_ws
mkdir -p calibration_ws/src
cd calibration_ws/src
git clone https://github.com/pixmoving-moveit/multi_lidar_calibration_ros2.git

Compile The Package

cd calibration_ws
colcon build

Calibrate Multiple LiDARs

  1. launch the ROS2 driver of multiple LiDARs
  2. replace the source_pointcloud and target_pointcloud with you pointcloud topics parameters in the launch file.
  3. launch calibrating program by executing the command below
ros2 launch multi_lidar_calibration multi_lidar_calbiration_ndt.launch.xml
  1. you can see the calibration result in rviz2 as well as in the terminal.

lidar2lidar

Reference

About

This repo contains a ROS2 package that implements NDT & ICP registration of PCL for multiple LiDAR extrinsics calibration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.3%
  • CMake 6.7%