Skip to content

autoware_pointcloud_merger#

This is a tool for processing pcd files, and it can perform the following functions:

  • Merging multiple PCD files to a single PCD file
  • Downsampling point clouds

Supported Data Format#

Currently, only pcl::PointXYZ and pcl::PointXYZI are supported. Any PCD will be loaded as those two types .

This tool can be used with files that have data fields other than XYZI (e.g., XYZRGB) and files that only contain XYZ.

  • Data fields other than XYZI are ignored during loading.
  • When loading XYZ-only data, the intensity field is assigned 0.

Installation#

cd <PATH_TO_pilot-auto.*> # OR <PATH_TO_autoware>
cd src/
git clone git@github.com:autowarefoundation/autoware_tools.git
cd ..
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --catkin-skip-building-tests --symlink-install --packages-up-to autoware_pointcloud_merger

Usage#

  • Merger all PCD files from the input directory into a single output PCD

    ros2 launch autoware_pointcloud_merger pointcloud_merger.launch.xml input_pcd_dir:=<INPUT_DIR> output_pcd:=<OUTPUT_PCD>
    
    Name Description
    INPUT_DIR Directory that contains all input PCD files
    OUTPUT_PCD Name of the output PCD file

INPUT_DIR and OUTPUT_PCD should be specified as absolute paths.

Parameter#

Name Type Description Default Range
leaf_size float Resolution in meter for downsampling the output PCD. Setting to negative to get the raw output PCD. -0.1 N/A
input_pcd_dir string The path to the folder containing the input PCD files N/A
output_pcd string The path to the merged PCD file N/A
point_type string Type of the point when processing PCD files. Could be point_xyz or point_xyzi point_xyzi N/A

LICENSE#

Parts of files pcd_merger.hpp, and pcd_merger.cpp are copied from MapIV's pointcloud_divider and are under BSD-3-Clauses license. The remaining code are under Apache License 2.0