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

Radu Bogdan Rusu rusu at willowgarage.com
Thu Jan 20 04:40:28 UTC 2011


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
> <rusu at willowgarage.com>  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



More information about the ros-users mailing list