Skip to content

Components#

Open AD Kit is a component-based project designed to run on a variety of platforms with containerized services. Each Autoware function remains independently deployable, while the published images group closely related functions together to keep the runtime layout simpler.

Architecture Overview#

Autoware uses a Core / Universe architecture. Core contains rigorously reviewed base functionality required for safe autonomous driving. Universe contains community extensions and research features that build on the Core foundation. Open AD Kit packages Universe components into focused container images that can be composed into complete AD systems.

Build Pipeline#

flowchart LR
    CORE["autoware:core-devel (build)<br/>autoware:base (runtime)"] --> UC["universe-common"]
    CUDA["autoware:base-cuda-{devel,runtime}"] --> SPC["sensing-perception-cuda"]
    UC --> SP["sensing-perception"]
    UC --> LM["localization-mapping"]
    UC --> PC["planning-control"]
    UC --> VS["vehicle-system"]
    UC --> API["api"]
    UC --> VIZ["visualizer"]
    UC --> SIM["simulator"]
    UC --> SPC
    SIM --> CARLA["carla-interface"]

universe-common is an Open AD Kit-owned thin intermediate built on top of the upstream autoware:core-devel/base images. The bake groups and build commands are documented in Build from Source.

Interface Layers#

Autoware defines three formal interface categories that govern how components communicate:

AD API External interface for fleet management and HMI. Exposed as ROS 2 services and topics for vehicle state queries and commands; external gateways (e.g. HTTP/MQTT) can be layered on top.
Component Interface Internal inter-module communication via ROS 2 topics and services. Standardized message types ensure compatibility across components.
Local Interface Intra-component communication within a single image. Implementation details that do not cross component boundaries.
flowchart LR
    subgraph AD_API["AD API (External)"]
        A1[ROS 2 Services / Topics]
    end

    subgraph Component_Interface["Component Interface"]
        C1[ROS 2 Topics]
        C2[ROS 2 Services]
    end

    subgraph Local_Interface["Local Interface"]
        L1[Intra-component Communication]
    end

    AD_API --> Component_Interface
    Component_Interface --> Local_Interface

Autoware Components#

Each Autoware function is packaged into a focused container image. Select a component from the sidebar or explore the pages below.

Sensing & Perception Sensor preprocessing plus object detection, tracking, and multi-sensor fusion.
Localization & Mapping HD map serving plus GNSS, IMU, visual odometry, and LiDAR map matching.
Planning & Control Route, behavior, motion, and goal planning with PID/MPC trajectory tracking.
Vehicle and System Vehicle interface and system-level orchestration services.
API AD API for external fleet management and HMI integration.
Simulator Closed-loop simulation for validation and local development.
Visualizer Browser-accessible RViz2 via noVNC for remote monitoring.
CARLA Interface Bridge for closed-loop simulation with the CARLA simulator.

Image Reference#

The published component images and their platforms. This table is generated from the image catalog (.github/image-inventory.json), so it always matches what CI builds. See Container Images & Versioning for the tag naming scheme.

Component Image ROS Distros Platforms
sensing-perception ghcr.io/autowarefoundation/openadkit:sensing-perception humble, jazzy amd64, arm64
sensing-perception-cuda ghcr.io/autowarefoundation/openadkit:sensing-perception-cuda humble, jazzy amd64
localization-mapping ghcr.io/autowarefoundation/openadkit:localization-mapping humble, jazzy amd64, arm64
planning-control ghcr.io/autowarefoundation/openadkit:planning-control humble, jazzy amd64, arm64
vehicle-system ghcr.io/autowarefoundation/openadkit:vehicle-system humble, jazzy amd64, arm64
api ghcr.io/autowarefoundation/openadkit:api humble, jazzy amd64, arm64
visualizer ghcr.io/autowarefoundation/openadkit:visualizer humble, jazzy amd64, arm64
simulator ghcr.io/autowarefoundation/openadkit:simulator humble, jazzy amd64, arm64
carla-interface ghcr.io/autowarefoundation/openadkit:carla-interface humble, jazzy amd64