Rosanswers logo

Hey everyone,

is there already a node that takes/collects subsequent PointCloud2 messages and combines/aggregates them in the fixed frame?

Some background info:

I have set up a system which generates point clouds from stereo images using elas_ros. The pose of the stereo camera is well known and assumed to be precise. It is published through tf. The generated single point cloud looks pretty good so far. But as soon as I generate a new point cloud from a different perspective, the old point cloud is discarded. I would like to keep it and merge it with the new point cloud from the new perspective.

I'm using some pcl filter (passthrough and voxel grid) nodelets to make the generated point clouds a little more managable. The nodelets transform the current point cloud to the /map frame, cut away parts outside of the range of the camera, reduce density by means of the mentioned voxel grid and publish the resulting point could to /passthrough/output (PointCloud2 message).

Thank you very much!

Originally posted by Hendrik Wiese on ROS Answers with karma: 1145 on 2016-12-04

Post score: 0


1 Answer 1


Rosanswers logo

Look at laser_assembler.

The name of the package seems to imply otherwise, but it can actually do what you are looking from with a node called point_cloud_assembler.

Originally posted by gvdhoorn with karma: 86574 on 2016-12-05

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by Hendrik Wiese on 2016-12-05:
Thanks. Though... that would be perfect if it was working with PointCloud2 messages. It seems it can only handle the older PointCloud messages.

Comment by gvdhoorn on 2016-12-05:
The wiki gives that impression, yes, but the package contains a point_cloud2_assembler node as well.

Comment by Hendrik Wiese on 2016-12-06:
Works like a charm. Now I have to figure out how I stop my node chain to publish point clouds while I reposition the camera. Otherwise I'll see old point cloud parts as if they were taken from the new camera position... Wll, that's a different question, though. Thanks a lot!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.