-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Open
Description
flowchart TB
subgraph core["ποΈ Core Autoware"]
direction TB
AC(["autoware_core"])
AM(["autoware_msgs"])
AIM(["autoware_internal_msgs"])
AAM(["autoware_adapi_msgs"])
AU(["autoware_utils"])
end
subgraph awf["π AWF Universe"]
direction TB
AUA(["autoware_universe_awf"])
T4M(["tier4_autoware_msgs"])
LLH(["llh_converter"])
NEB(["nebula"])
AT(["autoware_tools"])
end
subgraph community["π’ Community Universe"]
direction TB
AUC(["autoware_universe_community"])
subgraph pkgs["π¦ Community Packages"]
direction LR
CP1(["autoware_livox_tag_filter"])
CP2(["community_pkg_2"])
CP3(["community_pkg_n..."])
end
end
subgraph index_infra["π Autoware Universe Index"]
direction TB
subgraph index_repos["Index Repositories"]
AIR(["autoware_index_repositories<br><i>distribution YAML</i>"])
AI(["autoware_index<br><i>website</i>"])
end
subgraph ci["βοΈ CI / GitHub Actions"]
direction LR
CIACT(["autoware-index-github-actions"])
BV["Build Validation"]
COMPAT["Compatibility Checks"]
META["Metadata Generation"]
end
subgraph metadata["π Index Metadata"]
direction LR
VER["Latest Working Version"]
TESTS["Test Links"]
TAGS["Package Tags"]
DEPS["Dependencies"]
DISTROS["Supported ROS 2 Distros"]
end
end
subgraph user_tools["π§° User Tools"]
direction LR
RM(["Repo-Maker Tool"])
REPOS(["universe-community.repos"])
end
subgraph tags["π·οΈ Package Tag Categories"]
direction TB
subgraph auto["Autonomy Pipeline"]
direction LR
T_SENS["sensing"]
T_PERC["perception"]
T_MAP["map"]
T_LOC["localization"]
T_PLAN["planning"]
T_CTRL["control"]
T_VEH["vehicle"]
end
subgraph infra["Infrastructure & Support"]
direction LR
T_LIB["common-library"]
T_API["api"]
T_INT["interface"]
T_LAUNCH["launcher"]
T_DRV["driver"]
end
subgraph devops["Development & Operations"]
direction LR
T_TEST["testing"]
T_VIS["visualization"]
T_TOOL["tool"]
T_SIM["simulator"]
end
end
%% Core relationships
AM --> AC
AIM --> AC
AAM --> AC
AU --> AC
AC -- depends on --> AUA
T4M --> AUA
LLH --> AUA
NEB --> AUA
%% AWF to community
AUA --> AUC
AUA --> AT
AC --> AUC
%% Community packages
AUC --> CP1 & CP2 & CP3
CP1 -. "β
" .-> CP2
%% CI pipeline
CIACT --> BV & COMPAT & META
CP1 & CP2 & CP3 -. "tested by" .-> CIACT
META -. "generates" .-> VER & TESTS & TAGS & DEPS & DISTROS
%% Index scraping
VER & TESTS & TAGS & DEPS & DISTROS -. "scraped by" .-> AI
AIR -. "registry for" .-> AUC
AI -. "displays" .-> AIR
%% User tools
AI -- "browse & select" --> RM
RM -- "generates" --> REPOS
%% Tags feed into index
TAGS -. "categorized by" .-> tags
%% Styles
AC:::Rose
AM:::Rose
AIM:::Rose
AAM:::Rose
AU:::Rose
AUA:::Peach
T4M:::Peach
LLH:::Peach
NEB:::Peach
AT:::Peach
AUC:::Aqua
CP1:::Aqua
CP2:::Aqua
CP3:::Aqua
CIACT:::Violet
BV:::Violet
COMPAT:::Violet
META:::Violet
AI:::Blue
AIR:::Blue
VER:::Blue
TESTS:::Blue
TAGS:::Blue
DEPS:::Blue
DISTROS:::Blue
RM:::Amber
REPOS:::Amber
classDef Rose stroke-width:1px, stroke-dasharray:none, stroke:#FF5978, fill:#FFDFE5, color:#8E2236
classDef Peach stroke-width:1px, stroke-dasharray:none, stroke:#FBB35A, fill:#FFEFDB, color:#8F632D
classDef Aqua stroke-width:1px, stroke-dasharray:none, stroke:#46EDC8, fill:#DEFFF8, color:#378E7A
classDef Violet stroke-width:1px, stroke-dasharray:none, stroke:#A855F7, fill:#F3E8FF, color:#6B21A8
classDef Blue stroke-width:1px, stroke-dasharray:none, stroke:#3B82F6, fill:#DBEAFE, color:#1E3A8A
classDef Amber stroke-width:1px, stroke-dasharray:none, stroke:#F59E0B, fill:#FEF3C7, color:#92400E
style core fill:#FFF5F5,stroke:#FF5978,stroke-width:2px,rx:12
style awf fill:#FFF8F0,stroke:#FBB35A,stroke-width:2px,rx:12
style community fill:#F0FFF8,stroke:#46EDC8,stroke-width:2px,rx:12
style pkgs fill:#E6FFF5,stroke:#46EDC8,stroke-width:1px,stroke-dasharray:5 5,rx:8
style index_infra fill:#EFF6FF,stroke:#3B82F6,stroke-width:2px,rx:12
style index_repos fill:#DBEAFE,stroke:#3B82F6,stroke-width:1px,stroke-dasharray:5 5,rx:8
style ci fill:#F3E8FF,stroke:#A855F7,stroke-width:1px,stroke-dasharray:5 5,rx:8
style metadata fill:#DBEAFE,stroke:#3B82F6,stroke-width:1px,stroke-dasharray:5 5,rx:8
style user_tools fill:#FFFBEB,stroke:#F59E0B,stroke-width:2px,rx:12
style tags fill:#F9FAFB,stroke:#9CA3AF,stroke-width:2px,rx:12
style auto fill:#F0FFF4,stroke:#10B981,stroke-width:1px,rx:8
style infra fill:#FFF7ED,stroke:#F97316,stroke-width:1px,rx:8
style devops fill:#EEF2FF,stroke:#6366F1,stroke-width:1px,rx:8
Autoware Universe β‘οΈ autoware_universe_awf β autoware_universe_community
Current issues
- We have a repo called
autoware_universebut there are other "Universe" packages outside awf github org. - Not all packages in
autoware_universeare needed by many configurations. Certain use cases need certain packages from it.- Yet users pull and build all of them even if they don't need them.
- Too many leaf packages in
autoware_universe. - We don't have visibility (and tests, build checks) for packages outside awf github org.
- Previous discussion: Pipeline to support individual packages as part of Autoware ecosystemΒ #6621
Proposed solution
- Introducing Autoware Universe Community Packages!
- Rename
autoware_universetoautoware_universe_awf. - Allow placing new Autoware Universe Community Packages into
autoware_universe_community.
Autoware Universe Index
- We'll have an index similar to https://index.ros.org/?search_packages=true
- We provide a GitHub actions workflow suite for these repositories.
- Users register their repositories to the Autoware Universe Index.
- This suite periodically runs and tests these repositories against latest Autoware release and creates metadata.
- This metadata is periodically scraped by the Autoware Universe Index.
- Index columns
- Latest working autoware version
- Latest test links
- Package tags
- Dependencies
- Supported ROS 2 distributions
- We also create a Autoware Universe Index repo-maker tool in the site?
- Users check multiple Autoware Universe Index repositories, download
universe-community.reposfile.
- Users check multiple Autoware Universe Index repositories, download
Autoware Universe Community Package Tags
Nothing here is mutually exclusive.
Autonomy pipeline
- sensing
- perception
- map
- localization
- planning
- control
- vehicle
Infrastructure & support
- common-library (middleware, shared libs, utils, math, helpers)
- api (external integration, RPC, REST, DDS bridges, etc.)
- interface (message definitions, schemas, contracts)
- launcher (launch files, configs, parameters)
- driver (hardware, vendor SDKs, sensors, actuators)
Development & operations
- testing
- visualization
- tool
- simulator
Definition of done
- Extract a package from autoware_universe out as the first community package.
- sensing/livox/autoware_livox_tag_filter is the package. It is a small C++ package with minimal dependencies. Good fit.
- Experimenting here: https://github.com/autowarefoundation/autoware_livox_tag_filter
- Add CI workflows to validate build and autoware compatibility
- Simplify the docker images Simplify the docker images and workflowsΒ #6852
- Add CI workflows to generate metadata for the autoware_index to scrap.
- Put these workflows to https://github.com/autowarefoundation/autoware-index-github-actions and refer from there.
- Create the autoware_index repository. (Needs its own issue)
- Probably need 2 repositories:
autoware_index_repositoriessimilar to: https://github.com/ros/rosdistro/blob/master/humble/distribution.yamlautoware_indexwhich will host the website similar to: https://github.com/ros-infrastructure/rosindex
- Probably need 2 repositories:
Timeline
gantt
title Autoware Universe Community β Project Timeline
dateFormat YYYY-MM-DD
axisFormat %b %d
section Phase 1: Foundation
Rename autoware_universe β autoware_universe_awf :a1, 2026-03-01, 7d
Extract autoware_livox_tag_filter as first community pkg :a2, after a1, 14d
Draft CI workflow requirements :a3, after a2, 10d
section Phase 2: CI & Tooling
Build CI β build validation & compatibility checks :b1, 2026-04-01, 14d
Build CI β metadata generation for index scraping :b2, after b1, 11d
Package workflows into autoware-index-github-actions :b3, after b2, 5d
section Phase 3: Index Infrastructure
Create autoware_index_repositories repo :c1, 2026-05-01, 14d
Create autoware_index repo & deploy website :c2, after c1, 17d
section Phase 4: Community Launch
Beta testing with early community packages :d1, 2026-06-01, 14d
Build repo-maker tool :d2, after d1, 7d
Public announcement & open registration :d3, after d2, 9d
section Phase 5: Stabilization
Onboard additional community packages :e1, 2026-07-01, 31d
Refine testing cadence & iterate on index :e2, 2026-07-01, 31d
timeline
title Autoware Universe Community β Milestone Timeline
section March 2026 β Foundation
Week 1 : Rename autoware_universe to autoware_universe_awf
Week 2β3 : Extract autoware_livox_tag_filter as first community package
: Finalize repo structure and conventions
Week 4 : Draft CI workflow requirements and begin implementation
section April 2026 β CI & Tooling
Week 1β2 : Build CI workflows for build validation
: Autoware compatibility checks
Week 3β4 : CI workflows for metadata generation
: Package into autoware-index-github-actions
: Document usage for contributors
section May 2026 β Index Infrastructure
Week 1β2 : Create autoware_index_repositories repo
: Define registration process and distribution YAML
Week 3β4 : Create autoware_index website
: Index columns: version, tests, tags, deps, distros
section June 2026 β Community Launch
Week 1β2 : Beta testing with early community packages
: Iterate on CI and index from feedback
Week 3 : Build repo-maker tool for universe-community.repos
Week 4 : Public announcement and open registration
section July 2026+ β Stabilization & Growth
Ongoing : Onboard additional community packages
: Refine periodic testing and scraping cadence
: Gather feedback and iterate on index UI and tags
Phase 1: Foundation (March 2026)
| Dates | Milestone | Details |
|---|---|---|
| Mar 1β7 | Rename repository | Rename autoware_universe β autoware_universe_awf |
| Mar 8β21 | First community package | Extract autoware_livox_tag_filter as the first community package; finalize repo structure and conventions |
| Mar 22β31 | CI planning | Draft CI workflow requirements and begin implementation |
Phase 2: CI & Tooling (April 2026)
| Dates | Milestone | Details |
|---|---|---|
| Apr 1β14 | Build validation CI | Build and test CI workflows for build validation and Autoware compatibility checks |
| Apr 15β25 | Metadata CI | Build CI workflows for metadata generation (for index scraping) |
| Apr 26β30 | Package & document | Package workflows into autoware-index-github-actions; document usage for community contributors |
Phase 3: Index Infrastructure (May 2026)
| Dates | Milestone | Details |
|---|---|---|
| May 1β14 | Index repositories | Create autoware_index_repositories repo (distribution YAML, registration process) |
| May 15β31 | Index website | Create autoware_index repo and deploy initial website with index columns (working version, test links, tags, dependencies, supported distros) |
Phase 4: Community Launch (June 2026)
| Dates | Milestone | Details |
|---|---|---|
| Jun 1β14 | Beta testing | Beta testing with early community packages; iterate on CI and index based on feedback |
| Jun 15β21 | Repo-maker tool | Build the repo-maker tool (users select packages β download universe-community.repos) |
| Jun 22β30 | Public launch | Public announcement and open registration for community packages |
Phase 5: Stabilization & Growth (July 2026+)
| Dates | Milestone | Details |
|---|---|---|
| Jul 1+ | Onboarding | Onboard additional community packages |
| Jul 1+ | Refinement | Refine periodic testing and metadata scraping cadence |
| Jul 1+ | Iteration | Gather feedback and iterate on the index UI and tagging system |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels