ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Is there a laser assembler that produces PointCloud2?

asked 2011-05-06 04:25:16 -0500

raphael favier gravatar image


I am using the laser_assembler package to assemble laser scans. This implementation outputs pointCloud messages, and in parallel, point_cloud_converter has been deprecated for diamondback.

Is there any implementation of laser assembler that would already output pointCloud2 format? Or is there anything planned to implement such a node? Else, I can modify laser_assembler myself.

Thanks in advance


edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2011-05-06 18:56:00 -0500

tfoote gravatar image

I don't think anyone has worked on this yet. If you wanted to make a node which does that it would be greatly appreciated. To get it integrated, please just attach it as an enhancement ticket for the laser_assembler package.

edit flag offensive delete link more


I hacked the node by changing the service to ouput PointCloud2 format, and by converting the original pointCloud to pointCloud2 using sensor_msgs::convertPointCloudToPointCloud2. If this is fine with you, I can post it somewhere, else some more effort should be invested into dealing with pointCloud2 everywhere in the code.
raphael favier gravatar image raphael favier  ( 2011-05-19 04:47:29 -0500 )edit
BTW, is there any clear tutorial on how to access/write the data of pointCloud2? I find it quite hard has data is an integer array and you need to deal with endianess and the size of whatever is carried inside. I found myself stuck on it quite often an prefer using the pcl pointClouds as they have helper functions to access/write inside them.
raphael favier gravatar image raphael favier  ( 2011-05-19 04:51:32 -0500 )edit

answered 2020-05-28 04:11:39 -0500

moooeeeep gravatar image

A node was added to provide this functionality (although the documentation is lacking info about it).

You can run it like this:

rosrun laser_assembler point_cloud2_assembler _fixed_frame:=map cloud:=/velodyne_points

Get the pointcloud as described here. The service is called assemble_scans2, with AssembleScans2.

edit flag offensive delete link more

answered 2011-08-17 04:53:56 -0500

Zack gravatar image

although point_cloud_converter has been deprecated you can still use the package. It'll probably work just fine during the transition period till all the nodes has migrated to the new pointcloud2.

edit flag offensive delete link more

Question Tools


Asked: 2011-05-06 04:25:16 -0500

Seen: 1,855 times

Last updated: May 28 '20