standalone pcl dependencies on ROS fundamentals

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

standalone pcl dependencies on ROS fundamentals

Nico Blodow
Hi all,

what is the status of pcl depending on std_msgs for
pcl::PointCloud<>::header?

If it will be gone at some point, will there be another mechanism for
having time stamps in point clouds?

Also, what will happen to from/toROSMessage, filters etc that need
sensor_msgs::PointCloud2 or PointField?

Cheers,
 -- Nico


Reply | Threaded
Open this post in threaded view
|

Re: standalone pcl dependencies on ROS fundamentals

Geoffrey Biggs
On 09/03/11 10:06, Nico Blodow wrote:
> Hi all,
>
> what is the status of pcl depending on std_msgs for
> pcl::PointCloud<>::header?
>
> If it will be gone at some point, will there be another mechanism for
> having time stamps in point clouds?

It will be gone at some point, but I can't comment on what will replace it.

> Also, what will happen to from/toROSMessage, filters etc that need
> sensor_msgs::PointCloud2 or PointField?

I assume that from/to ROS messages would go into the ros_pcl stuff. That
seems the logical place for it. Not sure about filters that use
sensor_msgs stuff. Probably, if it uses something from ROS, it should go
into ros_pcl.

Geoff

Reply | Threaded
Open this post in threaded view
|

Re: standalone pcl dependencies on ROS fundamentals

Radu B. Rusu
Administrator

On 03/08/2011 05:28 PM, Geoffrey Biggs wrote:

> On 09/03/11 10:06, Nico Blodow wrote:
>> Hi all,
>>
>> what is the status of pcl depending on std_msgs for
>> pcl::PointCloud<>::header?
>>
>> If it will be gone at some point, will there be another mechanism for
>> having time stamps in point clouds?
>
> It will be gone at some point, but I can't comment on what will replace it.

Should we add a simple uint64_t or something?

>> Also, what will happen to from/toROSMessage, filters etc that need
>> sensor_msgs::PointCloud2 or PointField?
>
> I assume that from/to ROS messages would go into the ros_pcl stuff. That
> seems the logical place for it. Not sure about filters that use
> sensor_msgs stuff. Probably, if it uses something from ROS, it should go
> into ros_pcl.

This is a bummer. The sensor_msgs/PointCloud2 datatype is in fact a binary blob, and PCL standalone should be compatible
to it (still the best way to pass blobs around modules). We can definitely revise this decision for 2.x if it proves to
be wrong imho :)

from/to ROS Messages has two parts:
  * ROS independent part in PCL
  * ROS dependent part in PCL ROS

If we could figure out what the ROS independent part in PCL needs to function, that would be great. Last time I checked,
it only needed boost. Patrick is the original author of that code so maybe he can help.


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

Reply | Threaded
Open this post in threaded view
|

Re: standalone pcl dependencies on ROS fundamentals

Geoffrey Biggs
On 09/03/11 10:37, Radu Bogdan Rusu wrote:

>>> Also, what will happen to from/toROSMessage, filters etc that need
>>> sensor_msgs::PointCloud2 or PointField?
>>
>> I assume that from/to ROS messages would go into the ros_pcl stuff. That
>> seems the logical place for it. Not sure about filters that use
>> sensor_msgs stuff. Probably, if it uses something from ROS, it should go
>> into ros_pcl.
>
> This is a bummer. The sensor_msgs/PointCloud2 datatype is in fact a
> binary blob, and PCL standalone should be compatible to it (still the
> best way to pass blobs around modules). We can definitely revise this
> decision for 2.x if it proves to be wrong imho :)
>
> from/to ROS Messages has two parts:
>  * ROS independent part in PCL
>  * ROS dependent part in PCL ROS
>
> If we could figure out what the ROS independent part in PCL needs to
> function, that would be great. Last time I checked, it only needed
> boost. Patrick is the original author of that code so maybe he can help.

Perhaps we can add the binary blob compatibility bit to PCL, and the
remainder (pulling the binary blob and co out of a ROS msg, etc) to the
ros_pcl stuff? That would give us compatibility with binary blobs used
in other transports or without transports, without dragging in ROS stuff.

Geoff