Point cloud type transition#
Tracked under this issue.
Autoware transitions from using raw memcpy operations and using PointCloud2Iterator<> to using Point Cloud Message Wrapper.
This way the point cloud messages can be edited in-place with a std::vector<>-like wrapper.
The only downside is that this requires strong type definitions for the point cloud message fields.
We have already made the compatibility requirements for PointXYZIRC and PointXYZIRCAEDT types with this PR.
Now we need to start using this wrapper in the rest of the codebase.
We also need to provide a tool to convert point cloud messages from outside types to the Autoware expected types.
Reference implementation of Point Type Adapter Node can be found here.
Transition#
- 2026 May: Switch all memcpy usages to
PointCloud2Iterator<>. - 2026 June: Add two paths for the codebase: check the full compatibility of the point type with the expected point type.
- If compatible, use the wrapper.
- If not compatible, use
PointCloud2Iterator<>and print warnings.
- 2026 June: Add a node that converts point cloud messages from outside types to the Autoware expected types.
- 2026 December: Drop the
PointCloud2Iterator<>usage.
timeline
title Autoware Point Cloud Type Transition
section Standardization
2026 May : Stop raw memcpy operations
: Migrate all access to PointCloud2Iterator
section Adoption & Tooling
2026 June : Implement Dual Path Logic
: Use Wrapper if compatible
: Fallback to Iterator (with warnings) if incompatible
: Release Point Type Adapter Node
section Finalization
2026 December : Drop PointCloud2Iterator fallback
: Full Point Cloud Msg Wrapper enforcement
gantt
title Autoware Point Cloud Type Transition Plan
dateFormat YYYY-MM-DD
axisFormat %b %Y
section Phase 1: Standardization
Migrate memcpy to PointCloud2Iterator :done, p1, 2026-05-01, 2026-06-01
section Phase 2: Dual Implementation
Implement Dual Path (Wrapper or Fallback) :active, p2, 2026-06-01, 2026-12-01
Develop Point Type Adapter Node :p3, 2026-06-01, 30d
section Phase 3: Finalization
Drop Iterator Support (Enforce Wrapper) :crit, p4, 2026-12-01, 2026-12-31
Warning
Under construction.