Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zlib point cloud tranport plugin #5

Merged
merged 4 commits into from
Jul 21, 2023
Merged

Zlib point cloud tranport plugin #5

merged 4 commits into from
Jul 21, 2023

Conversation

ahcorde
Copy link
Collaborator

@ahcorde ahcorde commented Jul 11, 2023

No description provided.

Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
@ahcorde ahcorde self-assigned this Jul 11, 2023
Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Copy link
Collaborator

@john-maidbot john-maidbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! I had been brainstorming adding a general purpose compression algo like this. I have a few non-blocking comments.

Also do you have any stats on zlib's performance (comp/decomp speed and compression ratio?) on unorganized point cloud data?

zlib_point_cloud_transport/src/zlib_publisher.cpp Outdated Show resolved Hide resolved

#include <memory>
#include <string>
#include <unordered_map>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused

// Incoming data is invalid.
return std::move(out_data_list);
case Z_DATA_ERROR:
case Z_MEM_ERROR:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the node be informed of errors like this? Right now is it just going to fail silently?

zlib_point_cloud_transport/src/gzip_cpp.cpp Outdated Show resolved Hide resolved
ZlibPublisher::TypedEncodeResult ZlibPublisher::encodeTyped(
const sensor_msgs::msg::PointCloud2 & raw) const
{
gzip::Comp comp(gzip::Comp::Level::Level_7, true);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compression level seems like a good candidate for dynamic configuration. But we could leave that as a future todo

zlib_point_cloud_transport/src/zlib_subscriber.cpp Outdated Show resolved Hide resolved
zlib_point_cloud_transport/src/gzip_cpp.hpp Outdated Show resolved Hide resolved
Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
@ahcorde ahcorde merged commit 545f40a into ros2 Jul 21, 2023
@ahcorde ahcorde deleted the ahcorde/plugin/zlib branch July 21, 2023 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants