-
 

Package Summary

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

Repository Summary

Checkout URI https://github.com/ros-perception/point_cloud_transport_plugins.git
VCS Type git
VCS Version humble
Last Updated 2024-12-10
Dev Status MAINTAINED
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

draco_point_cloud_transport provides a plugin to point_cloud_transport for sending point clouds encoded with KD tree compression.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

DRACO POINT CLOUD TRANSPORT

Plugin for ROS package point_cloud_transport, which uses Google Draco compression library for low-bandwidth lossy transportation of PointCloud2 messages.

Publisher

The plugin provides dynamic reconfiguration parameters, which can be used to change the compression during runtime.

Draco cannot encode invalid values, so all pointclouds with invalid values are turned into unstructured dense clouds (no NaNs, height = 1).

publisher_settings

Encode and Decode Speed

By adjusting the encode_speed and dedode_speed parameters, one can adjust the speed at which the plugin encodes the point cloud. The higher the number, the higher the speed of encoding/decoding, but the worse the compression. For more detailed information, see documentation of Draco.

Encode Method

Auto method decides on the encoding method based on other parameter and should be used as the default method.

KD-tree method forces the encoder to use KD-tree encoding. If an attribute in the point cloud is of type float32, kd-tree encoding requires the attribute to be quantized.

Sequential method forces the encoder to use sequential encoding. Quantization can not be used with sequential encoding. Sequential encoding provides much worse compression than KD-tree, but is faster and keeps the arrangement of points in the point cloud intact. Therefore sequential encoding can be used to encode 2D point clouds such as from Kinect.

Deduplicate

Deduplicate option tells the encoder whether or not to delete duplicate points in the point cloud, allowing for transport of smaller point clouds.

Force Quantization

Force_quantization option forces the use of quantization and hence the KD-tree encoding method.

Quantization of Attribute Types

Quantization_POSITION, Quantization_NORMAL, Quantization_COLOR etc. tells the encoder how many bits should be used for quantization of given attribute type. Attribute type of point cloud attribute is recognized based on a list of known names:

  • “x” - POSITION
  • “y” - POSITION
  • “z” - POSITION
  • “pos” - POSITION
  • “position” - POSITION
  • “rgb” - COLOR
  • “rgba” - COLOR
  • “r” - COLOR
  • “g” - COLOR
  • “b” - COLOR
  • “a” - COLOR
  • “nx” - NORMAL
  • “ny” - NORMAL
  • “nz” - NORMAL
  • all others are encoded as GENERIC

To specify custom quantization, one can either edit the list of recognized names or use expert_quantization and expert_attribute_type options.

Expert Quantization

Expert_quantization option tell the encoder to use custom quantization values for point cloud attributes. Multiple POSITION attribute can therefore be encoded with varying quantization levels.

To set a quantization for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/quantization_bits/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/quantization_bits/x 16

When using expert_quantization, user must specify the quantization bits for all PointField entries of point cloud.

Expert Attribute Types

Expert_attribute_types option tell the encoder to use custom attribute types for encoding of point cloud attributes.

To set a type for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/attribute_type/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/attribute_type/x "'POSITION'"

When using expert_attribute_types, user must specify the type for all PointField entries of point cloud. Accepted types are:

  • POSITION
  • NORMAL
  • COLOR
  • TEX_COORD
  • GENERIC

When encoding rgb/rgba COLOR, user can specify to use the common rgba tweak of ROS (encoding rgba as 4 instances of 1 Byte instead of 1 instance of float32). To inform the encoder, that PointField entry “rgb” should be handled with the tweak, set parameter:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/rgba_tweak/rgb true

Subscriber

subscriber_settings

Set Skip Dequantization of Attribute Types

SkipDequantizationPOSITION, SkipDequantizationNORMAL, SkipDequantizationCOLOR etc. options tell the decoder to skip dequantization of given attribute types.

CHANGELOG

Changelog for package draco_point_cloud_transport

1.0.11 (2024-05-24)

  • Get user specified parameters at startup (#46) (#50) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>> (cherry picked from commit 46f3d22f3d5660529f4372aeed3fbcb41852a911) Co-authored-by: john-maidbot <<78750993+john-maidbot@users.noreply.github.com>>
  • Contributors: mergify[bot]

1.0.10 (2024-02-19)

  • Use tl_expected from rcpputils (#42) (#44)
  • Contributors: Alejandro Hernández Cordero

1.0.9 (2023-12-12)

  • Fixed draco subscriber param names (#38) (#39) (cherry picked from commit 7d3294d9a3630c989e53b88b16436d6147c88242) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
  • Contributors: mergify[bot]

1.0.8 (2023-10-05)

  • Fixed parameter names (#28) (#29) (cherry picked from commit 45c42b086cadb54ae88a102c6d3802589e267690) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
  • Contributors: mergify[bot]

1.0.7 (2023-09-21)

  • use the right key for draco (#21) (#23) (cherry picked from commit c7b46c442317db84a876cfcafa2dd4b91696d236) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
  • feat: use tl_expected of ros package (#22) (#25) (cherry picked from commit ad4b632d977a8a06d641bd3fe1b21fc4ba8da0dd) Co-authored-by: Daisuke Nishimatsu <<42202095+wep21@users.noreply.github.com>>
  • Contributors: mergify[bot]

1.0.6 (2023-09-20)

  • ROS 2 port.
  • Contributors: Alejandro Hernandez Cordero, john-maidbot

1.0.5 (2023-06-16)

  • Fixed formatting.
  • Contributors: Martin Pecka

1.0.4 (2023-06-16)

  • Fixed handling of clouds with invalid points.
  • Contributors: Martin Pecka

1.0.3 (2023-05-13)

  • Compatibility with GCC 7.
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Report log messages from the transport via the log helper.
  • Hide draco library symbols from include files so that it does not have to be exported.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

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

Plugins

No plugins found.

Recent questions tagged draco_point_cloud_transport at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 4.0.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-perception/point_cloud_transport_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2024-12-10
Dev Status MAINTAINED
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

draco_point_cloud_transport provides a plugin to point_cloud_transport for sending point clouds encoded with KD tree compression.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

DRACO POINT CLOUD TRANSPORT

Plugin for ROS package point_cloud_transport, which uses Google Draco compression library for low-bandwidth lossy transportation of PointCloud2 messages.

Publisher

The plugin provides dynamic reconfiguration parameters, which can be used to change the compression during runtime.

Draco cannot encode invalid values, so all pointclouds with invalid values are turned into unstructured dense clouds (no NaNs, height = 1).

publisher_settings

Encode and Decode Speed

By adjusting the encode_speed and dedode_speed parameters, one can adjust the speed at which the plugin encodes the point cloud. The higher the number, the higher the speed of encoding/decoding, but the worse the compression. For more detailed information, see documentation of Draco.

Encode Method

Auto method decides on the encoding method based on other parameter and should be used as the default method.

KD-tree method forces the encoder to use KD-tree encoding. If an attribute in the point cloud is of type float32, kd-tree encoding requires the attribute to be quantized.

Sequential method forces the encoder to use sequential encoding. Quantization can not be used with sequential encoding. Sequential encoding provides much worse compression than KD-tree, but is faster and keeps the arrangement of points in the point cloud intact. Therefore sequential encoding can be used to encode 2D point clouds such as from Kinect.

Deduplicate

Deduplicate option tells the encoder whether or not to delete duplicate points in the point cloud, allowing for transport of smaller point clouds.

Force Quantization

Force_quantization option forces the use of quantization and hence the KD-tree encoding method.

Quantization of Attribute Types

Quantization_POSITION, Quantization_NORMAL, Quantization_COLOR etc. tells the encoder how many bits should be used for quantization of given attribute type. Attribute type of point cloud attribute is recognized based on a list of known names:

  • “x” - POSITION
  • “y” - POSITION
  • “z” - POSITION
  • “pos” - POSITION
  • “position” - POSITION
  • “rgb” - COLOR
  • “rgba” - COLOR
  • “r” - COLOR
  • “g” - COLOR
  • “b” - COLOR
  • “a” - COLOR
  • “nx” - NORMAL
  • “ny” - NORMAL
  • “nz” - NORMAL
  • all others are encoded as GENERIC

To specify custom quantization, one can either edit the list of recognized names or use expert_quantization and expert_attribute_type options.

Expert Quantization

Expert_quantization option tell the encoder to use custom quantization values for point cloud attributes. Multiple POSITION attribute can therefore be encoded with varying quantization levels.

To set a quantization for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/quantization_bits/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/quantization_bits/x 16

When using expert_quantization, user must specify the quantization bits for all PointField entries of point cloud.

Expert Attribute Types

Expert_attribute_types option tell the encoder to use custom attribute types for encoding of point cloud attributes.

To set a type for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/attribute_type/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/attribute_type/x "'POSITION'"

When using expert_attribute_types, user must specify the type for all PointField entries of point cloud. Accepted types are:

  • POSITION
  • NORMAL
  • COLOR
  • TEX_COORD
  • GENERIC

When encoding rgb/rgba COLOR, user can specify to use the common rgba tweak of ROS (encoding rgba as 4 instances of 1 Byte instead of 1 instance of float32). To inform the encoder, that PointField entry “rgb” should be handled with the tweak, set parameter:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/rgba_tweak/rgb true

Subscriber

subscriber_settings

Set Skip Dequantization of Attribute Types

SkipDequantizationPOSITION, SkipDequantizationNORMAL, SkipDequantizationCOLOR etc. options tell the decoder to skip dequantization of given attribute types.

CHANGELOG

Changelog for package draco_point_cloud_transport

4.0.1 (2024-09-03)

  • Change Linking to DRACO_LIBRARIES as it was changes in draco (backport #57) (#58) Co-authored-by: Bo Chen <<bo@enway.ai>>
  • Contributors: mergify[bot]

4.0.0 (2024-05-24)

3.0.4 (2024-05-24)

  • Get user specified parameters at startup (#46) (#49) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>> (cherry picked from commit 46f3d22f3d5660529f4372aeed3fbcb41852a911) Co-authored-by: john-maidbot <<78750993+john-maidbot@users.noreply.github.com>>
  • Update CI (#47)
  • Contributors: Alejandro Hernández Cordero, mergify[bot]

3.0.3 (2023-02-19)

  • Use tl_expected from rcpputils (#42)
  • Contributors: Alejandro Hernández Cordero

3.0.2 (2023-12-12)

  • Fixed draco subscriber param names (#38)
  • Contributors: Alejandro Hernández Cordero

3.0.1 (2023-10-05)

  • Fixed parameter names (#28)
  • Contributors: Alejandro Hernández Cordero

3.0.0 (2023-09-20)

  • feat: use tl_expected of ros package (#22)
  • Contributors: Daisuke Nishimatsu

2.0.0 (2023-09-18)

  • Port to ROS 2
  • Contributors: Alejandro Hernandez Cordero, john-maidbot

1.0.5 (2023-06-16)

  • Fixed formatting.
  • Contributors: Martin Pecka

1.0.4 (2023-06-16)

  • Fixed handling of clouds with invalid points.
  • Contributors: Martin Pecka

1.0.3 (2023-05-13)

  • Compatibility with GCC 7.
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Report log messages from the transport via the log helper.
  • Hide draco library symbols from include files so that it does not have to be exported.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

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

Plugins

No plugins found.

Recent questions tagged draco_point_cloud_transport at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 5.0.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-perception/point_cloud_transport_plugins.git
VCS Type git
VCS Version rolling
Last Updated 2024-12-10
Dev Status MAINTAINED
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

draco_point_cloud_transport provides a plugin to point_cloud_transport for sending point clouds encoded with KD tree compression.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

DRACO POINT CLOUD TRANSPORT

Plugin for ROS package point_cloud_transport, which uses Google Draco compression library for low-bandwidth lossy transportation of PointCloud2 messages.

Publisher

The plugin provides dynamic reconfiguration parameters, which can be used to change the compression during runtime.

Draco cannot encode invalid values, so all pointclouds with invalid values are turned into unstructured dense clouds (no NaNs, height = 1).

publisher_settings

Encode and Decode Speed

By adjusting the encode_speed and dedode_speed parameters, one can adjust the speed at which the plugin encodes the point cloud. The higher the number, the higher the speed of encoding/decoding, but the worse the compression. For more detailed information, see documentation of Draco.

Encode Method

Auto method decides on the encoding method based on other parameter and should be used as the default method.

KD-tree method forces the encoder to use KD-tree encoding. If an attribute in the point cloud is of type float32, kd-tree encoding requires the attribute to be quantized.

Sequential method forces the encoder to use sequential encoding. Quantization can not be used with sequential encoding. Sequential encoding provides much worse compression than KD-tree, but is faster and keeps the arrangement of points in the point cloud intact. Therefore sequential encoding can be used to encode 2D point clouds such as from Kinect.

Deduplicate

Deduplicate option tells the encoder whether or not to delete duplicate points in the point cloud, allowing for transport of smaller point clouds.

Force Quantization

Force_quantization option forces the use of quantization and hence the KD-tree encoding method.

Quantization of Attribute Types

Quantization_POSITION, Quantization_NORMAL, Quantization_COLOR etc. tells the encoder how many bits should be used for quantization of given attribute type. Attribute type of point cloud attribute is recognized based on a list of known names:

  • “x” - POSITION
  • “y” - POSITION
  • “z” - POSITION
  • “pos” - POSITION
  • “position” - POSITION
  • “rgb” - COLOR
  • “rgba” - COLOR
  • “r” - COLOR
  • “g” - COLOR
  • “b” - COLOR
  • “a” - COLOR
  • “nx” - NORMAL
  • “ny” - NORMAL
  • “nz” - NORMAL
  • all others are encoded as GENERIC

To specify custom quantization, one can either edit the list of recognized names or use expert_quantization and expert_attribute_type options.

Expert Quantization

Expert_quantization option tell the encoder to use custom quantization values for point cloud attributes. Multiple POSITION attribute can therefore be encoded with varying quantization levels.

To set a quantization for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/quantization_bits/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/quantization_bits/x 16

When using expert_quantization, user must specify the quantization bits for all PointField entries of point cloud.

Expert Attribute Types

Expert_attribute_types option tell the encoder to use custom attribute types for encoding of point cloud attributes.

To set a type for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/attribute_type/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/attribute_type/x "'POSITION'"

When using expert_attribute_types, user must specify the type for all PointField entries of point cloud. Accepted types are:

  • POSITION
  • NORMAL
  • COLOR
  • TEX_COORD
  • GENERIC

When encoding rgb/rgba COLOR, user can specify to use the common rgba tweak of ROS (encoding rgba as 4 instances of 1 Byte instead of 1 instance of float32). To inform the encoder, that PointField entry “rgb” should be handled with the tweak, set parameter:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/rgba_tweak/rgb true

Subscriber

subscriber_settings

Set Skip Dequantization of Attribute Types

SkipDequantizationPOSITION, SkipDequantizationNORMAL, SkipDequantizationCOLOR etc. options tell the decoder to skip dequantization of given attribute types.

CHANGELOG

Changelog for package draco_point_cloud_transport

5.0.1 (2024-09-03)

  • Change Linking to DRACO_LIBRARIES as it was changes in draco (#57)
  • Use target_link_libraries everywhere (#52)
  • Contributors: Alejandro Hernández Cordero, Bo Chen

5.0.0 (2024-05-24)

  • Get user specified parameters at startup (#46) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
  • Update CI (#47)
  • Contributors: Alejandro Hernández Cordero, john-maidbot

3.0.3 (2023-02-19)

  • Use tl_expected from rcpputils (#42)
  • Contributors: Alejandro Hernández Cordero

3.0.2 (2023-12-12)

  • Fixed draco subscriber param names (#38)
  • Contributors: Alejandro Hernández Cordero

3.0.1 (2023-10-05)

  • Fixed parameter names (#28)
  • Contributors: Alejandro Hernández Cordero

3.0.0 (2023-09-20)

  • feat: use tl_expected of ros package (#22)
  • Contributors: Daisuke Nishimatsu

2.0.0 (2023-09-18)

  • Port to ROS 2
  • Contributors: Alejandro Hernandez Cordero, john-maidbot

1.0.5 (2023-06-16)

  • Fixed formatting.
  • Contributors: Martin Pecka

1.0.4 (2023-06-16)

  • Fixed handling of clouds with invalid points.
  • Contributors: Martin Pecka

1.0.3 (2023-05-13)

  • Compatibility with GCC 7.
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Report log messages from the transport via the log helper.
  • Hide draco library symbols from include files so that it does not have to be exported.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

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

Plugins

No plugins found.

Recent questions tagged draco_point_cloud_transport at Robotics Stack Exchange

Package Summary

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

Repository Summary

Checkout URI https://github.com/ctu-vras/point_cloud_transport_plugins.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

draco_point_cloud_transport provides a plugin to point_cloud_transport for sending point clouds encoded with KD tree compression.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

DRACO POINT CLOUD TRANSPORT

Plugin for ROS package point_cloud_transport, which uses Google Draco compression library for low-bandwidth lossy transportation of PointCloud2 messages.

Publisher

The plugin provides dynamic reconfiguration parameters, which can be used to change the compression during runtime.

Draco cannot encode invalid values, so all pointclouds with invalid values are turned into unstructured dense clouds (no NaNs, height = 1).

publisher_settings

Encode and Decode Speed

By adjusting the encode_speed and dedode_speed parameters, one can adjust the speed at which the plugin encodes the point cloud. The higher the number, the higher the speed of encoding/decoding, but the worse the compression. For more detailed information, see documentation of Draco.

Encode Method

Auto method decides on the encoding method based on other parameter and should be used as the default method.

KD-tree method forces the encoder to use KD-tree encoding. If an attribute in the point cloud is of type float32, kd-tree encoding requires the attribute to be quantized.

Sequential method forces the encoder to use sequential encoding. Quantization can not be used with sequential encoding. Sequential encoding provides much worse compression than KD-tree, but is faster and keeps the arrangement of points in the point cloud intact. Therefore sequential encoding can be used to encode 2D point clouds such as from Kinect.

Deduplicate

Deduplicate option tells the encoder whether or not to delete duplicate points in the point cloud, allowing for transport of smaller point clouds.

Force Quantization

Force_quantization option forces the use of quantization and hence the KD-tree encoding method.

Quantization of Attribute Types

Quantization_POSITION, Quantization_NORMAL, Quantization_COLOR etc. tells the encoder how many bits should be used for quantization of given attribute type. Attribute type of point cloud attribute is recognized based on a list of known names:

  • “x” - POSITION
  • “y” - POSITION
  • “z” - POSITION
  • “pos” - POSITION
  • “position” - POSITION
  • “rgb” - COLOR
  • “rgba” - COLOR
  • “r” - COLOR
  • “g” - COLOR
  • “b” - COLOR
  • “a” - COLOR
  • “nx” - NORMAL
  • “ny” - NORMAL
  • “nz” - NORMAL
  • all others are encoded as GENERIC

To specify custom quantization, one can either edit the list of recognized names or use expert_quantization and expert_attribute_type options.

Expert Quantization

Expert_quantization option tell the encoder to use custom quantization values for point cloud attributes. Multiple POSITION attribute can therefore be encoded with varying quantization levels.

To set a quantization for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/quantization_bits/x.

Example:

$ rosparam set /base_topic/draco/attribute_mapping/quantization_bits/x 16

When using expert_quantization, user must specify the quantization bits for all PointField entries of point cloud.

Expert Attribute Types

Expert_attribute_types option tell the encoder to use custom attribute types for encoding of point cloud attributes.

To set a type for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/attribute_type/x.

Example:

$ rosparam set /base_topic/draco/attribute_mapping/attribute_type/x "'POSITION'"

When using expert_attribute_types, user must specify the type for all PointField entries of point cloud. Accepted types are:

  • POSITION
  • NORMAL
  • COLOR
  • TEX_COORD
  • GENERIC

When encoding rgb/rgba COLOR, user can specify to use the common rgba tweak of ROS (encoding rgba as 4 instances of 1 Byte instead of 1 instance of float32). To inform the encoder, that PointField entry “rgb” should be handled with the tweak, set parameter:

$ rosparam set /base_topic/draco/attribute_mapping/rgba_tweak/rgb true

Subscriber

subscriber_settings

Set Skip Dequantization of Attribute Types

SkipDequantizationPOSITION, SkipDequantizationNORMAL, SkipDequantizationCOLOR etc. options tell the decoder to skip dequantization of given attribute types.

CHANGELOG

Changelog for package draco_point_cloud_transport

1.0.5 (2023-06-16)

  • Fixed formatting.
  • Contributors: Martin Pecka

1.0.4 (2023-06-16)

  • Fixed handling of clouds with invalid points.
  • Contributors: Martin Pecka

1.0.3 (2023-05-13)

  • Compatibility with GCC 7.
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Report log messages from the transport via the log helper.
  • Hide draco library symbols from include files so that it does not have to be exported.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

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

Services

No service files found

Recent questions tagged draco_point_cloud_transport at Robotics Stack Exchange

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.5
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-perception/point_cloud_transport_plugins.git
VCS Type git
VCS Version iron
Last Updated 2024-07-01
Dev Status MAINTAINED
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

draco_point_cloud_transport provides a plugin to point_cloud_transport for sending point clouds encoded with KD tree compression.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

DRACO POINT CLOUD TRANSPORT

Plugin for ROS package point_cloud_transport, which uses Google Draco compression library for low-bandwidth lossy transportation of PointCloud2 messages.

Publisher

The plugin provides dynamic reconfiguration parameters, which can be used to change the compression during runtime.

Draco cannot encode invalid values, so all pointclouds with invalid values are turned into unstructured dense clouds (no NaNs, height = 1).

publisher_settings

Encode and Decode Speed

By adjusting the encode_speed and dedode_speed parameters, one can adjust the speed at which the plugin encodes the point cloud. The higher the number, the higher the speed of encoding/decoding, but the worse the compression. For more detailed information, see documentation of Draco.

Encode Method

Auto method decides on the encoding method based on other parameter and should be used as the default method.

KD-tree method forces the encoder to use KD-tree encoding. If an attribute in the point cloud is of type float32, kd-tree encoding requires the attribute to be quantized.

Sequential method forces the encoder to use sequential encoding. Quantization can not be used with sequential encoding. Sequential encoding provides much worse compression than KD-tree, but is faster and keeps the arrangement of points in the point cloud intact. Therefore sequential encoding can be used to encode 2D point clouds such as from Kinect.

Deduplicate

Deduplicate option tells the encoder whether or not to delete duplicate points in the point cloud, allowing for transport of smaller point clouds.

Force Quantization

Force_quantization option forces the use of quantization and hence the KD-tree encoding method.

Quantization of Attribute Types

Quantization_POSITION, Quantization_NORMAL, Quantization_COLOR etc. tells the encoder how many bits should be used for quantization of given attribute type. Attribute type of point cloud attribute is recognized based on a list of known names:

  • “x” - POSITION
  • “y” - POSITION
  • “z” - POSITION
  • “pos” - POSITION
  • “position” - POSITION
  • “rgb” - COLOR
  • “rgba” - COLOR
  • “r” - COLOR
  • “g” - COLOR
  • “b” - COLOR
  • “a” - COLOR
  • “nx” - NORMAL
  • “ny” - NORMAL
  • “nz” - NORMAL
  • all others are encoded as GENERIC

To specify custom quantization, one can either edit the list of recognized names or use expert_quantization and expert_attribute_type options.

Expert Quantization

Expert_quantization option tell the encoder to use custom quantization values for point cloud attributes. Multiple POSITION attribute can therefore be encoded with varying quantization levels.

To set a quantization for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/quantization_bits/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/quantization_bits/x 16

When using expert_quantization, user must specify the quantization bits for all PointField entries of point cloud.

Expert Attribute Types

Expert_attribute_types option tell the encoder to use custom attribute types for encoding of point cloud attributes.

To set a type for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/attribute_type/x.

Example:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/attribute_type/x "'POSITION'"

When using expert_attribute_types, user must specify the type for all PointField entries of point cloud. Accepted types are:

  • POSITION
  • NORMAL
  • COLOR
  • TEX_COORD
  • GENERIC

When encoding rgb/rgba COLOR, user can specify to use the common rgba tweak of ROS (encoding rgba as 4 instances of 1 Byte instead of 1 instance of float32). To inform the encoder, that PointField entry “rgb” should be handled with the tweak, set parameter:

ros2 param set <node name> /<base_topic>/draco/attribute_mapping/rgba_tweak/rgb true

Subscriber

subscriber_settings

Set Skip Dequantization of Attribute Types

SkipDequantizationPOSITION, SkipDequantizationNORMAL, SkipDequantizationCOLOR etc. options tell the decoder to skip dequantization of given attribute types.

CHANGELOG

Changelog for package draco_point_cloud_transport

2.0.5 (2024-05-20)

  • Get user specified parameters at startup (#46) (#51) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>> (cherry picked from commit 46f3d22f3d5660529f4372aeed3fbcb41852a911) Co-authored-by: john-maidbot <<78750993+john-maidbot@users.noreply.github.com>>
  • Contributors: mergify[bot]

2.0.4 (2023-02-19)

  • Use tl_expected from rcpputils (#42) (#43)
  • Contributors: Alejandro Hernández Cordero

2.0.3 (2023-12-12)

  • Fixed draco subscriber param names (#38) (#40) (cherry picked from commit 7d3294d9a3630c989e53b88b16436d6147c88242) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
  • Contributors: mergify[bot]

2.0.2 (2023-10-05)

  • Fixed parameter names (#28) (#30) (cherry picked from commit 45c42b086cadb54ae88a102c6d3802589e267690) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
  • Contributors: mergify[bot]

2.0.1 (2023-09-21)

  • feat: use tl_expected of ros package (#22) (#26) (cherry picked from commit ad4b632d977a8a06d641bd3fe1b21fc4ba8da0dd) Co-authored-by: Daisuke Nishimatsu <<42202095+wep21@users.noreply.github.com>>
  • Contributors: mergify[bot]

2.0.0 (2023-09-18)

  • Port to ROS 2
  • Contributors: Alejandro Hernandez Cordero, john-maidbot

1.0.5 (2023-06-16)

  • Fixed formatting.
  • Contributors: Martin Pecka

1.0.4 (2023-06-16)

  • Fixed handling of clouds with invalid points.
  • Contributors: Martin Pecka

1.0.3 (2023-05-13)

  • Compatibility with GCC 7.
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Report log messages from the transport via the log helper.
  • Hide draco library symbols from include files so that it does not have to be exported.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

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

Plugins

No plugins found.

Recent questions tagged draco_point_cloud_transport at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/ctu-vras/point_cloud_transport_plugins.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

draco_point_cloud_transport provides a plugin to point_cloud_transport for sending point clouds encoded with KD tree compression.

Additional Links

Maintainers

  • Martin Pecka

Authors

  • Jakub Paplham

DRACO POINT CLOUD TRANSPORT

Plugin for ROS package point_cloud_transport, which uses Google Draco compression library for low-bandwidth lossy transportation of PointCloud2 messages.

Publisher

The plugin provides dynamic reconfiguration parameters, which can be used to change the compression during runtime.

Draco cannot encode invalid values, so all pointclouds with invalid values are turned into unstructured dense clouds (no NaNs, height = 1).

publisher_settings

Encode and Decode Speed

By adjusting the encode_speed and dedode_speed parameters, one can adjust the speed at which the plugin encodes the point cloud. The higher the number, the higher the speed of encoding/decoding, but the worse the compression. For more detailed information, see documentation of Draco.

Encode Method

Auto method decides on the encoding method based on other parameter and should be used as the default method.

KD-tree method forces the encoder to use KD-tree encoding. If an attribute in the point cloud is of type float32, kd-tree encoding requires the attribute to be quantized.

Sequential method forces the encoder to use sequential encoding. Quantization can not be used with sequential encoding. Sequential encoding provides much worse compression than KD-tree, but is faster and keeps the arrangement of points in the point cloud intact. Therefore sequential encoding can be used to encode 2D point clouds such as from Kinect.

Deduplicate

Deduplicate option tells the encoder whether or not to delete duplicate points in the point cloud, allowing for transport of smaller point clouds.

Force Quantization

Force_quantization option forces the use of quantization and hence the KD-tree encoding method.

Quantization of Attribute Types

Quantization_POSITION, Quantization_NORMAL, Quantization_COLOR etc. tells the encoder how many bits should be used for quantization of given attribute type. Attribute type of point cloud attribute is recognized based on a list of known names:

  • “x” - POSITION
  • “y” - POSITION
  • “z” - POSITION
  • “pos” - POSITION
  • “position” - POSITION
  • “rgb” - COLOR
  • “rgba” - COLOR
  • “r” - COLOR
  • “g” - COLOR
  • “b” - COLOR
  • “a” - COLOR
  • “nx” - NORMAL
  • “ny” - NORMAL
  • “nz” - NORMAL
  • all others are encoded as GENERIC

To specify custom quantization, one can either edit the list of recognized names or use expert_quantization and expert_attribute_type options.

Expert Quantization

Expert_quantization option tell the encoder to use custom quantization values for point cloud attributes. Multiple POSITION attribute can therefore be encoded with varying quantization levels.

To set a quantization for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/quantization_bits/x.

Example:

$ rosparam set /base_topic/draco/attribute_mapping/quantization_bits/x 16

When using expert_quantization, user must specify the quantization bits for all PointField entries of point cloud.

Expert Attribute Types

Expert_attribute_types option tell the encoder to use custom attribute types for encoding of point cloud attributes.

To set a type for a PointField entry “x” of point cloud which will be advertised on base topic base_topic, one must set the parameter: /base_topic/draco/attribute_mapping/attribute_type/x.

Example:

$ rosparam set /base_topic/draco/attribute_mapping/attribute_type/x "'POSITION'"

When using expert_attribute_types, user must specify the type for all PointField entries of point cloud. Accepted types are:

  • POSITION
  • NORMAL
  • COLOR
  • TEX_COORD
  • GENERIC

When encoding rgb/rgba COLOR, user can specify to use the common rgba tweak of ROS (encoding rgba as 4 instances of 1 Byte instead of 1 instance of float32). To inform the encoder, that PointField entry “rgb” should be handled with the tweak, set parameter:

$ rosparam set /base_topic/draco/attribute_mapping/rgba_tweak/rgb true

Subscriber

subscriber_settings

Set Skip Dequantization of Attribute Types

SkipDequantizationPOSITION, SkipDequantizationNORMAL, SkipDequantizationCOLOR etc. options tell the decoder to skip dequantization of given attribute types.

CHANGELOG

Changelog for package draco_point_cloud_transport

1.0.5 (2023-06-16)

  • Fixed formatting.
  • Contributors: Martin Pecka

1.0.4 (2023-06-16)

  • Fixed handling of clouds with invalid points.
  • Contributors: Martin Pecka

1.0.3 (2023-05-13)

  • Compatibility with GCC 7.
  • Contributors: Martin Pecka

1.0.2 (2023-05-11)

  • Report log messages from the transport via the log helper.
  • Hide draco library symbols from include files so that it does not have to be exported.
  • Contributors: Martin Pecka

1.0.1 (2023-05-11)

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

Services

No service files found

Recent questions tagged draco_point_cloud_transport at Robotics Stack Exchange