Re: [ros-users] [PCL-users] PCL 0.7 Released!

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Radu Bogdan Rusu
Date:  
To: Patrick Bouffard
CC: Point Cloud Library \(PCL\) mailing list, ros-users
Subject: Re: [ros-users] [PCL-users] PCL 0.7 Released!
Patrick,

Sorry for the late reply. We've been busy finishing and testing the PointCloud<T> (de)serialization routines so that
they work well with all PCL_ROS nodelets.

In the process, we also removed all the unnecessary (de)serialization in the nodelets. No more to/fromROSMsg inside each
nodelet. This should lead to significant speed and computational improvements, but we haven't done any proper testing
and number crunching yet.

Here's the patch that I just committed to pcl_ros a few minutes ago:

* replaced subscribers/publishers in surface, segmentation, and feature nodelets from sensor_msgs::PointCloud2 to
pcl::PointCloud<T>, thus reducing complexity and getting rid of all the intermediate from/toROSMsg (de)serializations
* moved away from storing state in the nodelets. The right way to do it is: callback -> PointCloud -> process ->
publish, without storing the PointCloud as a member into the base class
* introduced a mandatory emptyPublish which nodelets should use to send an empty result with the header frame_id and
stamp equal with the input's.

Next on the todo list is to actually finish up the `latched_indices` option, and integrate a new great generalized field
value filter from Louis (thanks!) into both pcl and pcl_ros.

On 12/30/2010 07:28 PM, Patrick Bouffard wrote:
> On Tue, Dec 21, 2010 at 12:51 AM, Radu Bogdan Rusu
> <> wrote:
>> One of the first things that we need to deprecate is the pcl_ros::Publisher/Subscriber. Thanks to Patrick's amazing
>> work, we now have the possibility to reuse the ros::Publisher/Subscriber for pcl::PointCloud<T> datasets. This means:
>> * within the same process, we will just copy the pcl::PointCloud<T>::ConstPtr
>> * between different processes, we will send the pcl::PointCloud<T>::ConstPtr, but with the same MD5 sum as
>> sensor_msgs::PointCloud2 + extra logic, which means all sensor_msgs/PointCloud2 consumers will be able to consume
>> pcl::PointCloud<T> directly
>
> Should I be able to then use pcl::PointCloud<T> as a message type for
> a message_filters::Subscriber as well? If so is there code anywhere
> where this is used with an ExactTime synchronizer that I could look at
> as an example? I see that, e.g., pcl::fromROSMsg is still used in
> sac_segmentation.cpp in pcl_ros.


Cheers,
Radu.
--
http://pointclouds.org