Skip to content

Add support for Autoware compatible point types XYZIRCAEDT and XYZIRC#538

Open
marioney wants to merge 5 commits intoouster-lidar:ros2from
tudelft-iv:ros2
Open

Add support for Autoware compatible point types XYZIRCAEDT and XYZIRC#538
marioney wants to merge 5 commits intoouster-lidar:ros2from
tudelft-iv:ros2

Conversation

@marioney
Copy link
Copy Markdown

This PR adds native support for PointXYZIRC and PointXYZIRCAEDT point types.

These point types are strictly required by Autoware across its entire perception and localization pipeline. By supporting these natively, we eliminate the need for an external, CPU-intensive point-cloud adaptation node which I've been using so far.

I cherry-picked some initial changes from jkk-research/ouster-ros@672b960 for the XYZIRC implementation and expanded upon them to build full native support for the extended XYZIRCAEDT format.

Related Issues & PRs

This issue has been requested by the community before in:

It has also been actively discussed within the Autoware foundation:

Summary of Changes

  • Point Type Definitions: Added PointXYZIRC and PointXYZIRCAEDT custom PCL structs to common_point_types.h.
  • Factory Registration: Registered the xyzirc and xyzircaedt profiles in point_cloud_processor_factory.h for use in parameter configurations.
  • Transformation Logic (point_transform.h):
    • channel: Mapped to native ring but inverted the ordering (top-to-bottom) to retain Velodyne compatibility as expected by Autoware.
    • intensity: Included Autoware-specific scaling (reflectivity / 64).
    • return_type: Mapped native return IDs (e.g., 1 for strongest, 2 for last).
    • azimuth, elevation, distance: Integrated calculations natively within the driver's point-filling loop to save external compute.
    • time_stamp: Mapped the native per-point nanosecond timestamp offset.
  • Documentation: Updated README.md and configuration files (driver_params.yaml, os_sensor_cloud_image_params.yaml) to describe the new point type parameters.

Validation

  • Compilation & Tests: The package builds cleanly and all internal ouster_ros unit tests pass successfully (16/16).
  • **Execution **: Launched the driver specifying point_type: xyzircaedt and confirmed that the output sensor_msgs/PointCloud2 correctly encodes all 10 fields, matching the Autoware binary format specification.
  • Autoware Compatibility: Integrated it directly into an active Autoware deployment. The point clouds were successfully ingested by Autoware's sensing, preprocessing, and localization pipelines without any compatibility warnings.

@Samahu Samahu self-requested a review April 21, 2026 14: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

Development

Successfully merging this pull request may close these issues.

2 participants