ros-perception / perception_pcl

PCL (Point Cloud Library) ROS interface stack
http://wiki.ros.org/perception_pcl
423 stars 332 forks source link

PointCloud2 should have compressed transport option #152

Open rconnorlawson opened 7 years ago

rconnorlawson commented 7 years ago

Similar to image_transport and compressed_image_transport, there should be support for compressed transmission of pointclouds in ROS. PCL has built-in support for real-time compression of pointcloud streams (paper, tutorial, and documentation), so adding this feature should be straightforward.

Even for moderately sized RGB pointclouds (such as those generated by an Intel RealSense or Kinect), the bandwidth required to transfer the clouds at 30 Hz exceeds 1Gbps. Neglecting overhead, 640 480 pixels 32 bpp 8 bits 30 Hz = 2.19 Gbps. Almost no one has a 10Gbps connection available on their robot; compression is required to achieve distributed use of pointclouds at camera rate on most networks.

Along with improvements in transmission rate, a plugin structure like that provided by image_transport would also support further research into pointcloud compression techniques.

peci1 commented 5 years ago

https://answers.ros.org/question/298352/new-message-format-for-compressed-pointcloud2/

paplhjak commented 5 years ago

I have implemented a point_cloud_transport package for transport of PointCloud2 messages, which uses plugin interface ala image_transport. In the README, you can also find links to other repositories, which contain but are not limited to:

  1. plugin for compression using Google Draco
  2. template for implementing your custom plugins
  3. tutorial on how to use the package

Any help in further development of the project is welcome and appreciated.

Hope that this helps.