No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

pcl_compression package from pointcloud_compression repo

pcl_compression

Package Summary

Tags No category tags.
Version 0.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/pointcloud_compression.git
VCS Type git
VCS Version main
Last Updated 2024-05-16
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • davide

Authors

No additional authors.

Experimental software to benchmark PCL compression

Lossy compression for pointclouds generated by LIDARs. It preserves the number of points and their order.

It does not use voxelization.

Vanilla lossless ZSTD and LZ4 compression are added for reference.

Work in progress. Nevertheless, YOU can help.

Run this app on an existing rosbag containing a sensors_msgs/PointCloud2 message generated by a LIDAR.

In Releases, you should find an AppImage that can run directly in Ubuntu 22.04.

Motivation

PointCloud messages in ROS are usually very large.

This means that rosbags containing point clouds tend to be very large and streaming these messages over wireless network can be slow or prohibitive.

Our friend (or foe?) DDS doesn’t make things any easier (on the contrary).

Google Draco provides an effective way to compress point clouds, but its KD-tree based algorithm will change the order and number of points in the cloud.

Unfortunately, some algorithms, being LOAM (Lidar odometry) a notable example, use hard-coded assumptions about the order of the points, for instance, to calculate corners or flat surfaces.

My codec tries to preserve the original point cloud order and keep compression time as short as possible.

How to run

The first command line argument is the path to the rosbag.

Expected output (example):

Topic: /pandar_xt_32_0_lidar
  Count: 100
  [LZ4]          ratio: 0.529 time (usec): 2533
  [ZSTD]         ratio: 0.474 time (usec): 5412
  [Lossy only ]  ratio: 0.393 time (usec): 1716
  [Lossy + LZ4]  ratio: 0.234 time (usec): 2869
  [Lossy + ZSTD] ratio: 0.200 time (usec): 4006

About the Lossy compression

A quantization of 1mm is applied to the X, Y, Z channels. All the other channels have no loss in accuracy.

CHANGELOG
No CHANGELOG found.

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pcl_compression at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
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.
No version for distro iron. Known supported distros are highlighted in the buttons above.
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.
No version for distro melodic. Known supported distros are highlighted in the buttons above.