Re: [ros-users] PCL nodelet PointCloudConcatenateFieldsSynch…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Radu Bogdan Rusu
Date:  
To: Felix Ruess
CC: Point Cloud Library \(PCL\) mailing list, User discussions
Subject: Re: [ros-users] PCL nodelet PointCloudConcatenateFieldsSynchronizer
Dear Felix,

On 09/29/2010 11:39 AM, Felix Ruess wrote:
> Hi,
>
> I'm using the pcl::concatenateFields(cloud_a, cloud_b, cloud_out)
> function to concatenate
>    pcl::PointCloud<pcl::PointXYZ>  cloud_a;
>    pcl::PointCloud<pcl::Normal>  cloud_b;
> to
>    pcl::PointCloud<pcl::PointNormal>  cloud_out;
> and it works great!


Thanks! We're happy to hear that.


> Is there any possibility to specify the output cloud type for the
> nodelet pcl/PointCloudConcatenateFieldsSynchronizer somehow as well?
> (This is used in the normal estimation launch file for example).


By output cloud type you mean you want to copy only certain fields, and not all? That is, if you have

PointCloud<PointXYZ> a;
PointCloud<Normal> b;

you want
PointCloud<PointXYNormal> c
instead of
PointCloud<PointXYZNormal> c

?

> The problem I have with the nodelet is that I'm trying to convert the
> output pointcloud2 message to
>      struct PointNormal;
>      // Members: float x, y, z; uint32_t w; float normal[3], curvature;
> to read the data.
> Now of course this does not work as the padding w is missing from the
> output pointcloud2 message I get from the nodelet since it "only"
> concatenates the existing fields of the input clouds.

>
> So, is there some way to adapt the nodelet to output a pointcloud2
> message that corresponds to a specific pcl PointCloud<specified point
> type>?


In general yes, we've been working on making that possible by publishing pcl::PointCloud<T> types instead of
sensor_msgs::PointCloud2 types. However, that's not fully finished yet (CC-ing Patrick who is the mastermind behind all
that magic).

>
> P.S. I did not sent this to pcl-users because the nodelet lives in pcl_ros


You can definitely send it there as pcl-users@ deals both with PCL _and_ PCL_ROS. :)

Cheers,
Radu.