# Autoware concepts

The concept of Autoware revolves around providing an open and flexible platform to accelerate the development and deployment of autonomous driving systems. This page explains its two key ideas: the microautonomy architecture and the Core and Universe repository model.

## Microautonomy architecture

**Microautonomy architecture** is the way Autoware breaks down "autonomous driving" into many small, replaceable capabilities rather than one monolithic stack. Each capability (for example, object detection, behavior planning, or lane-level routing) is a module with clear inputs and outputs, so systems can be composed like building blocks for different vehicles and use cases.

> [!NOTE]
>
> **What is *microautonomy architecture*?**
>
> In short, it is a **component-based autonomy design** where driving behaviors are built by *composing many small autonomy modules* instead of relying on a single, fixed pipeline. This makes it easy to mix, match, and upgrade parts without rewriting the whole system.

Autoware's modules are connected through well-defined interfaces, which allows you to **swap or extend individual components** while keeping the rest of the system intact. For example, you can replace the default object detection with a custom neural network specialized in construction cones, and the downstream tracking, planning, and control modules still work as before.

1. **Start with the default perception pipeline.**
2. **Plug in a dedicated detector** for special targets, for example cones or forklifts.
3. **Keep the same planner and controller.** They see "objects", regardless of how they were detected.

At a high level, these interfaces come in two flavors:

- **[Internal component interfaces](<../autoware-architecture-v1/interfaces/components/index.md>)**

  Connect modules inside Autoware, for example perception to planning to control.

- **[External AD APIs](<../autoware-architecture-v1/interfaces/ad-api/index.md>)**

  Expose Autoware's capabilities to the outside world, for example fleet management, cloud services, or infotainment.

### Why this matters for developers and partners

- **Reuse**

  You can reuse core Autoware modules and only customize what is unique to your product.

- **Evolve step by step**

  You can evolve your stack incrementally and swap one module at a time.

- **Collaborate**

  Partners can collaborate around shared, stable interfaces and contribute components that plug into a common ecosystem.

## Core and Universe repository model

Autoware's software ecosystem is organized in layers: **Autoware Core**, **Autoware Universe**, and the community packages in the **Autoware Index**. Together, they balance **quality assurance** with **community-driven innovation**.

Autoware Index

Community packages in their own repositories

Autoware Universe

Community innovation, maintained by the authors

Autoware Core

Quality-assured base, maintained by the AWF

Dependencies point inward: Universe depends on Core, and Core never depends on Universe.

Quality-assured base

### Autoware Core

[Autoware Core](<https://github.com/autowarefoundation/autoware_core>) contains the foundational packages maintained by the Autoware Foundation (AWF). These packages follow strict development standards: unit tests, a coverage gate, a stricter static analysis profile, and CI on every supported ROS distribution. Core serves as the **stable platform** that users can rely on for building autonomous driving systems.

- A vetted, reliable foundation
- Consistent APIs and behavior
- Maintained, tested, and versioned releases

Community innovation

### Autoware Universe

[Autoware Universe](<https://github.com/autowarefoundation/autoware_universe>) is a broader collection of open-source packages contributed by individuals, companies, and research groups. These packages are owned and maintained by their original authors, who set their own quality and development practices.

- Rapid prototyping and experimentation
- A place for sharing specialized modules
- An entry point for contributions from the global community

Contributions can take two forms:

- Merged directly into the Universe repository hosted by the AWF.
- Hosted in their own repositories and listed in the [Autoware Index](<../../installation/autoware/autoware-index/index.md>).

Universe acts as a **sandbox for experimentation**, allowing new ideas, algorithms, and hardware adaptations to be shared quickly.

### From Universe to Core

Promising packages from Autoware Universe can be **adopted into Autoware Core** when they demonstrate sufficient maturity, stability, and usefulness. This creates a natural pipeline:

- **Innovation** in Universe
- **Standardization** to the Core requirements
- **Production** use from Core

## Learn more

- **[What belongs in Autoware Core](<core-package-inclusion-criteria/index.md>)**

  The requirements that a package must meet to move into Core.

- **[Repository structure](<../repository-structure/index.md>)**

  The repositories of Autoware and how they depend on each other.

- **[Open source philosophy](<../../contributing/open-source-philosophy/index.md>)**

  Why Autoware is developed in the open, and how.

- **[System capabilities](<../autoware-system-capabilities/index.md>)**

  What an Autoware-based system can do.
