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) |
Packages
Name | Version |
---|---|
point_cloud_transport | 1.0.11 |
README
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.
CONTRIBUTING
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) |
Packages
Name | Version |
---|---|
point_cloud_transport | 1.0.11 |
README
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.