Exwayz point cloud fusion allows to fuse the points from 2 to 8 LiDAR feeds into a single point cloud, using calibrations to have them all in the same reference frame.
Below is the example pc_fusion.yaml configuration file with all parameters open to the user. The comments are the main documentation of each parameters.
pc_fusion:
# [optional, default=false] (rtmaps only) Use the software timestamps
# instead of the hardware timestamps
sw_timestamps: false
# [required] Input point cloud settings
inputs:
# [required] Topic name
- topic: <topic-name-0>
# [optional, default=true] (rtm only) if true and this input is not
# present, the component will not output a point cloud.
required: true
# [optional] Calibration applied to the input topic
calib:
# [optional] Path to the calibration file
path: <path-to-calib-0.txt>
- topic: <topic-name-1>
calib:
path: <path-to-calib-1.txt>
# [optional] (ros only) ROS parameters
ros:
# [optional, default=20.0(Hz)] Expected sensor rate. Used for tuning
# synchronization parameters
sensor_rate: 20.0
# [optional, default=/exwayz/pc_fusion] Output namespace, prepends all
# outputs.
namespace: /exwayz/pc_fusion
# [optional] Output PointCloud2 settings
output_pointcloud2:
# [optional, default=/pointcloud2] Output topic
topic: /pointcloud2
# [optional, default=""] Output frame id. If empty, the frame is of
# the first input PointCloud2 is used
frame_id: pc_fusion
# [optional] (rtmaps only) RTMaps parameters
rtmaps:
# [optional, default=5000(Ko)] Point cloud output buffer size
pc_buffer_size: 5000
# [optional, default=25(ms)] Synchronization tolerance between the
# multiple inputs
sync_tolerance_ms: 25
# [optional, default=100(ms)] Timeout on inputs callback. Component will
# output a point cloud only if, during the timeout duration:
# * it received at least one input point cloud.
# * and all inputs flagged as "required: true" have been received.
# Otherwise the component only outputs "status_o".
timeout_ms: 100
sw_timestamps (rtmaps only)inputsrosrtmaps