This page describes the architecture of Autoware.
The current Autoware is defined to be a layered architecture that clarifies each module's role and simplifies the interface between them. By doing so:
- Autoware's internal processing becomes more transparent.
- Collaborative development is made easier because of the reduced interdependency between modules.
- Users can easily replace an existing module (e.g. localization) with their own software component by simply wrapping their software to fit in with Autoware's interface.
Note that the initial focus of this architecture design was solely on driving capability, and so the following features were left as future work:
- Fail safe
- Human Machine Interface
- Real-time processing
- Redundant system
- State monitoring system
High-level architecture design#
Autoware's architecture consists of the following six stacks. Each linked page contains a more detailed set of requirements and use cases specific to that stack:
- Sensing design
- Map design
- Localization design
- Perception design
- Planning design
- Control design
- Vehicle Interface design
Note that Autoware configurations are scalable / selectable and will vary depending on the environment and required use cases.