Skip to content

Commit 9e0047f

Browse files
authored
feat: update roadmap with timelines (#767)
Signed-off-by: Mete Fatih Cırıt <[email protected]>
1 parent aec897c commit 9e0047f

File tree

6 files changed

+129
-1
lines changed

6 files changed

+129
-1
lines changed

docs/home/roadmap/.pages

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
nav:
2-
- index.md
2+
- timelines
3+
- multi-year-roadmap.md
File renamed without changes.

docs/home/roadmap/timelines/.pages

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
nav:
2+
- Humble to Jazzy: humble-jazzy.md
3+
- point-types.md
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Carla simulator support
2+
3+
!!! warning
4+
5+
Under construction.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# ROS 2 Humble to Jazzy transition
2+
3+
Tracked in [Support ROS 2 Jazzy Jalisco #6695](https://github.com/autowarefoundation/autoware/issues/6695).
4+
5+
- ROS 2 Humble will reach the end of life on May 2027.
6+
- ROS 2 Jazzy has been released in May 2024 and will be supported until May 2029.
7+
8+
This timeline is for Autoware's transition:
9+
10+
- **From:** Ubuntu 22.04 | ROS 2 **Humble**
11+
- **To:** Ubuntu 24.04 | ROS 2 **Jazzy**
12+
13+
```mermaid
14+
timeline
15+
title ROS 2 Humble to Jazzy Transition
16+
2026 Feb : Jazzy Docker Beta
17+
: Optional CI Checks
18+
2026 Apr : Jazzy Full Support
19+
: Dual CI Coverage
20+
2027 Jan : Humble Soft-Freeze
21+
: Standard Support Ends
22+
2027 May : Jazzy Exclusive Mode
23+
: Humble End of Support
24+
```
25+
26+
```mermaid
27+
gantt
28+
title ROS 2 Transition: Humble to Jazzy
29+
dateFormat YYYY-MM-DD
30+
axisFormat %b '%y
31+
tickInterval 1month
32+
33+
%% Define Milestones (Vertical markers for key dates)
34+
section Key Events
35+
Jazzy Docker Beta :milestone, m1, 2026-02-01, 0d
36+
Jazzy Full Support :milestone, m2, 2026-04-01, 0d
37+
Humble Soft-Freeze :milestone, m3, 2027-01-01, 0d
38+
Jazzy Exclusive :milestone, m4, 2027-05-01, 0d
39+
40+
%% Section 1: The Outgoing Platform
41+
section ROS 2 Humble
42+
Standard Support :active, h_std, 2026-01-01, 2027-01-01
43+
Low Maintenance (Crit Fixes) :crit, h_low, after h_std, 2027-05-01
44+
End of Support :done, h_end, after h_low, 1d
45+
46+
%% Section 2: The Incoming Platform
47+
section ROS 2 Jazzy
48+
Docker Base Preview : j_beta, 2026-02-01, 2026-04-01
49+
Full Support (Ubuntu 24.04) :active, j_std, after j_beta, 2027-06-01
50+
51+
%% Section 3: Developer Action Items
52+
section CI Policy
53+
Optional Checks: ci_opt, 2026-02-01, 2026-04-01
54+
Mandatory Dual Coverage :crit, ci_man, 2026-04-01, 2027-05-01
55+
Jazzy Only :active, ci_jaz, after ci_man, 2027-06-01
56+
```
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Point cloud type transition
2+
3+
Tracked under [this issue](https://github.com/autowarefoundation/autoware/issues/6708).
4+
5+
Autoware transitions from using raw memcpy operations and using [PointCloud2Iterator<>](https://github.com/ros2/common_interfaces/blob/jazzy/sensor_msgs/include/sensor_msgs/point_cloud2_iterator.hpp) to using [Point Cloud Message Wrapper](https://gitlab.com/ApexAI/point_cloud_msg_wrapper).
6+
7+
This way the point cloud messages can be edited in-place with a `std::vector<>`-like wrapper.
8+
9+
The only downside is that this requires strong type definitions for the point cloud message fields.
10+
11+
We have already made the compatibility requirements for `PointXYZIRC` and `PointXYZIRCAEDT` types with [this PR](https://github.com/autowarefoundation/autoware_universe/pull/6996).
12+
13+
Now we need to start using this wrapper in the rest of the codebase.
14+
15+
We also need to provide a tool to convert point cloud messages from outside types to the Autoware expected types.
16+
17+
Reference implementation of [Point Type Adapter Node can be found here](https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto/-/blob/master/src/tools/point_type_adapter/src/point_type_adapter_node.cpp).
18+
19+
## Transition
20+
21+
1. **2026 May:** Switch all memcpy usages to `PointCloud2Iterator<>`.
22+
2. **2026 June:** Add two paths for the codebase: check the full compatibility of the point type with the expected point type.
23+
- If compatible, use the wrapper.
24+
- If not compatible, use `PointCloud2Iterator<>` and print warnings.
25+
3. **2026 June:** Add a node that converts point cloud messages from outside types to the Autoware expected types.
26+
4. **2026 December:** Drop the `PointCloud2Iterator<>` usage.
27+
28+
```mermaid
29+
timeline
30+
title Autoware Point Cloud Type Transition
31+
section Standardization
32+
2026 May : Stop raw memcpy operations
33+
: Migrate all access to PointCloud2Iterator
34+
section Adoption & Tooling
35+
2026 June : Implement Dual Path Logic
36+
: Use Wrapper if compatible
37+
: Fallback to Iterator (with warnings) if incompatible
38+
: Release Point Type Adapter Node
39+
section Finalization
40+
2026 December : Drop PointCloud2Iterator fallback
41+
: Full Point Cloud Msg Wrapper enforcement
42+
```
43+
44+
```mermaid
45+
gantt
46+
title Autoware Point Cloud Type Transition Plan
47+
dateFormat YYYY-MM-DD
48+
axisFormat %b %Y
49+
50+
section Phase 1: Standardization
51+
Migrate memcpy to PointCloud2Iterator :done, p1, 2026-05-01, 2026-06-01
52+
53+
section Phase 2: Dual Implementation
54+
Implement Dual Path (Wrapper or Fallback) :active, p2, 2026-06-01, 2026-12-01
55+
Develop Point Type Adapter Node :p3, 2026-06-01, 30d
56+
57+
section Phase 3: Finalization
58+
Drop Iterator Support (Enforce Wrapper) :crit, p4, 2026-12-01, 2026-12-31
59+
```
60+
61+
!!! warning
62+
63+
Under construction.

0 commit comments

Comments
 (0)