-
 

Package Summary

Tags No category tags.
Version 1.0.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ctu-vras/point_cloud_transport.git
VCS Type git
VCS Version master
Last Updated 2023-06-16
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Support for transporting PointCloud2 messages in compressed format and plugin interface for implementing additional PointCloud2 transports.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

point_cloud_transport

Description

point_cloud_transport is a ROS package for subscribing to and publishing PointCloud2 messages via different transport layers. E.g. it can provide support for transporting point clouds in low-bandwidth environment using Draco compression library.

point_cloud_transport is released as C++ source code and binary packages via ROS buildfarm.

Usage

point_cloud_transport can be used to publish and subscribe to PointCloud2 messages. At this level of usage, it is similar to using ROS Publishers and Subscribers. Using point_cloud_transport instead of the ROS primitives, however, gives the user much greater flexibility in how point clouds are communicated between nodes.

For complete examples of publishing and subscribing to point clouds using point_cloud_transport , see Tutorial.

C++

Communicating PointCloud2 messages using point_cloud_transport:

#include <ros/ros.h>
#include <point_cloud_transport/point_cloud_transport.h>

void Callback(const sensor_msgs::PointCloud2ConstPtr& msg)
{
  // ... process the message
}

ros::NodeHandle nh;
point_cloud_transport::PointCloudTransport pct(nh);
point_cloud_transport::Subscriber sub = pct.subscribe("in_point_cloud_base_topic", 1, Callback);
point_cloud_transport::Publisher pub = pct.advertise("out_point_cloud_base_topic", 1);

Republish node(let)

Similar to image_transport, this package provides a node(let) called republish that can convert between different transports. It can be used in a launch file in the following way:

<node name="republish" pkg="point_cloud_transport" type="republish" args="draco raw in:=input_topic out:=output_topic" />

Known transports

  • draco_point_cloud_transport: Lossy compression via Google Draco library.
  • Did you write one? Don’t hesitate and send a pull request adding it to this list!

Authors

  • Jakub Paplhám - Initial work - paplhjak
  • Ing. Tomáš Petříček, Ph.D. - Supervisor - tpet
  • Martin Pecka - Maintainer - peci1

License

This project is licensed under the BSD License - see the LICENSE file for details.

Acknowledgments

  • image_transport - Provided template of plugin interface
  • Draco - Provided compression functionality

Support

For questions/comments please email the maintainer mentioned in package.xml.

If you have found an error in this package, please file an issue at: https://github.com/ctu-vras/point_cloud_transport/issues

Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub. Any help is further development of the project is much appreciated.

CHANGELOG

Changelog for package point_cloud_transport

1.0.11 (2023-06-16)

  • Fixed bad_expected_access error when pointcloud encoding fails.
  • Added known transports to readme.
  • Update README.md
  • Contributors: Martin Pecka

1.0.10 (2023-05-24)

  • Fixed wrong dependency version.
  • Contributors: Martin Pecka

1.0.9 (2023-05-23)

  • Fixed bad_expected_access bug in simple_subscriber_plugin.
  • Contributors: Martin Pecka

1.0.8 (2023-05-15)

  • Upstreamed NumberAllocator to cras_py_common.
  • Contributors: Martin Pecka

1.0.7 (2023-05-15)

  • Upstreamed Python support functions to cras_py_common v 2.2.1.
  • Contributors: Martin Pecka

1.0.6 (2023-05-15)

  • Split Python API into several files.
  • Improved Python API to allow the pub/sub-like usage.
  • Contributors: Martin Pecka

1.0.5 (2023-05-12)

  • Fixed bug in republish. Plugin blacklist was acting exactly the opposite way.
  • Contributors: Martin Pecka

1.0.4 (2023-05-12)

  • Turned republish into a nodelet (but kept its node version).
  • Contributors: Martin Pecka

1.0.3 (2023-05-11)

  • Added Python API for encode()/decode().
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Added possibility to report log messages.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

  • Reworked the idea to include direct encoders/decoders and not only publishers/subscribers.
  • Initial cleanup before releasing. No substantial changes made.
  • Forked from https://github.com/paplhjak/point_cloud_transport
  • Contributors: Jakub Paplham, Martin Pecka, Tomas Petricek

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Recent questions tagged point_cloud_transport at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.0.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ctu-vras/point_cloud_transport.git
VCS Type git
VCS Version master
Last Updated 2023-06-16
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Support for transporting PointCloud2 messages in compressed format and plugin interface for implementing additional PointCloud2 transports.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

point_cloud_transport

Description

point_cloud_transport is a ROS package for subscribing to and publishing PointCloud2 messages via different transport layers. E.g. it can provide support for transporting point clouds in low-bandwidth environment using Draco compression library.

point_cloud_transport is released as C++ source code and binary packages via ROS buildfarm.

Usage

point_cloud_transport can be used to publish and subscribe to PointCloud2 messages. At this level of usage, it is similar to using ROS Publishers and Subscribers. Using point_cloud_transport instead of the ROS primitives, however, gives the user much greater flexibility in how point clouds are communicated between nodes.

For complete examples of publishing and subscribing to point clouds using point_cloud_transport , see Tutorial.

C++

Communicating PointCloud2 messages using point_cloud_transport:

#include <ros/ros.h>
#include <point_cloud_transport/point_cloud_transport.h>

void Callback(const sensor_msgs::PointCloud2ConstPtr& msg)
{
  // ... process the message
}

ros::NodeHandle nh;
point_cloud_transport::PointCloudTransport pct(nh);
point_cloud_transport::Subscriber sub = pct.subscribe("in_point_cloud_base_topic", 1, Callback);
point_cloud_transport::Publisher pub = pct.advertise("out_point_cloud_base_topic", 1);

Republish node(let)

Similar to image_transport, this package provides a node(let) called republish that can convert between different transports. It can be used in a launch file in the following way:

<node name="republish" pkg="point_cloud_transport" type="republish" args="draco raw in:=input_topic out:=output_topic" />

Known transports

  • draco_point_cloud_transport: Lossy compression via Google Draco library.
  • Did you write one? Don’t hesitate and send a pull request adding it to this list!

Authors

  • Jakub Paplhám - Initial work - paplhjak
  • Ing. Tomáš Petříček, Ph.D. - Supervisor - tpet
  • Martin Pecka - Maintainer - peci1

License

This project is licensed under the BSD License - see the LICENSE file for details.

Acknowledgments

  • image_transport - Provided template of plugin interface
  • Draco - Provided compression functionality

Support

For questions/comments please email the maintainer mentioned in package.xml.

If you have found an error in this package, please file an issue at: https://github.com/ctu-vras/point_cloud_transport/issues

Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub. Any help is further development of the project is much appreciated.

CHANGELOG

Changelog for package point_cloud_transport

1.0.11 (2023-06-16)

  • Fixed bad_expected_access error when pointcloud encoding fails.
  • Added known transports to readme.
  • Update README.md
  • Contributors: Martin Pecka

1.0.10 (2023-05-24)

  • Fixed wrong dependency version.
  • Contributors: Martin Pecka

1.0.9 (2023-05-23)

  • Fixed bad_expected_access bug in simple_subscriber_plugin.
  • Contributors: Martin Pecka

1.0.8 (2023-05-15)

  • Upstreamed NumberAllocator to cras_py_common.
  • Contributors: Martin Pecka

1.0.7 (2023-05-15)

  • Upstreamed Python support functions to cras_py_common v 2.2.1.
  • Contributors: Martin Pecka

1.0.6 (2023-05-15)

  • Split Python API into several files.
  • Improved Python API to allow the pub/sub-like usage.
  • Contributors: Martin Pecka

1.0.5 (2023-05-12)

  • Fixed bug in republish. Plugin blacklist was acting exactly the opposite way.
  • Contributors: Martin Pecka

1.0.4 (2023-05-12)

  • Turned republish into a nodelet (but kept its node version).
  • Contributors: Martin Pecka

1.0.3 (2023-05-11)

  • Added Python API for encode()/decode().
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Added possibility to report log messages.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

  • Reworked the idea to include direct encoders/decoders and not only publishers/subscribers.
  • Initial cleanup before releasing. No substantial changes made.
  • Forked from https://github.com/paplhjak/point_cloud_transport
  • Contributors: Jakub Paplham, Martin Pecka, Tomas Petricek

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Recent questions tagged point_cloud_transport at Robotics Stack Exchange