Skip to content

Autoware Universe ➑️ autoware_universe_awf βž• autoware_universe_communityΒ #6849

@xmfcx

Description

@xmfcx
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
Loading

Autoware Universe ➑️ autoware_universe_awf βž• autoware_universe_community

Current issues

  • We have a repo called autoware_universe but there are other "Universe" packages outside awf github org.
  • Not all packages in autoware_universe are 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_universe to autoware_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.repos file.

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

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
Loading
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
Loading

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions