Polka - Your everything pointcloud node Release v0.2

Polka was intended to be a low latency pointcloud merger which also publishes laser scans, provides you with granular control over filtering, even deskewing, here are some features and bug fixes that have been implemented in the latest release.

pipeline_demo (1)

New Features

  • Per-source IMU topic override: each LiDAR source can specify its own imu_topic for robots with multiple IMUs on different body segments. Falls back to global motion_compensation.imu_topic when unset.

  • Gravity subtraction in deskew: linear acceleration corrected by removing gravity using IMU orientation, improving motion compensation accuracy.

  • Configurable output QoS: full QoS control (reliability, durability, history depth, liveliness, deadline, lifespan) via outputs.cloud.qos / outputs.scan.qos parameters.

  • Multi-LiDAR deskew example config in config/example_params.yaml.

Bug Fixes

  • Fix IMU-to-sensor frame rotation in deskew: angular velocity and acceleration now rotated from IMU frame into each sensor’s frame via TF. Previously only sensors aligned with the IMU got correct deskewing. (fixes #3)

  • Fix degenerate quaternion fallthrough: zeroes acceleration instead of passing raw gravity through when IMU orientation is degenerate.

  • Fix thread safety in SourceAdapter: mutex protection for frame_id/timestamp during concurrent deskewing.

  • Fix stale IMU timestamps: removed dead average_imu(), simplified to atomic snapshot pattern.

  • Fix duplicate missing-intensity warning.

  • Add CUDA error checking in merge engine kernels.

Improvements

1 Like

Nice work! In your screenshot, am I correct in seeing that you are using Foxglove? Is there anything we can do to make your workflows more convenient?

Not sure if this would be of interest, but we support Draco point cloud compression natively and Cloudini via an extension (thanks, Davide!)

Hi,

Thank you! foxglove has been the tool of choice :smiley:
I did not now about the draco compression, seems interesting, going to check this out, thank you for mentioning this :slight_smile:

And yeah, cloudini :pinched_fingers: I’ve been using for a while, no complaints!