Autoware AD API#
Overview#
Autoware AD API is the interface for operating the vehicle from outside the autonomous driving system, for example from a fleet management system (FMS) or a human machine interface (HMI). See the overall interface design of Autoware for the concepts and the communication methods.
- The list of APIs shows every API with its release version and communication method.
- The types page shows the message and service types, which the
autoware_adapi_msgsrepository defines. - The release notes show the changes of each interface version. Autoware 2.0.0 provides the interface version 1.9.1.
Default implementation#
Autoware provides a default implementation of AD API. It starts with Autoware when the launch_api argument of autoware.launch.xml is true, which is the default.
| Package | Repository | Provides |
|---|---|---|
autoware_adapi_specs | Autoware Core | The name, type, and QoS of each API, as C++ headers. |
autoware_default_adapi | Autoware Core | The interface, localization, and routing APIs. |
autoware_default_adapi_universe | Autoware Universe | The other APIs, and the launch file that starts all API nodes in the /adapi/node/* namespace. |
autoware_adapi_adaptors | Autoware Core | Adaptors that convert the RViz initial pose and goal topics to AD API calls. |
User stories#
The user stories are service scenarios that AD API assumes. AD API is designed based on these scenarios. Each scenario is realized by a combination of use cases described later. If there are scenarios that cannot be covered, please discuss adding a user story.
-
A bus goes around the designated stops.
-
A taxi picks up passengers and drives them to their destination.
Use cases#
Use cases are partial scenarios derived from the user story and generically designed. Service providers can combine these use cases to define user stories and check if AD API can be applied to their own scenarios.
-
Start and stop Autoware with the AD API.
-
Give the initial pose for localization.
-
Switch between stop, autonomous, and manual modes.
Drive to the designated position
Set a route and drive to the goal.
-
Open and close the doors for passengers.
-
Watch the vehicle status, plans, and objects.
-
Support the decisions of Autoware.
-
Check the communication and the diagnostics.
-
Drive the vehicle manually through Autoware.
Features#
| Feature | Description |
|---|---|
| Interface | The interface version of AD API. |
| Operation mode | The operation mode (stop, autonomous, local, remote) and Autoware control. |
| Routing | The route to the goal. |
| Localization | The initialization of localization. |
| Motion | The stop and start of the vehicle. |
| Planning factors | The reasons why the vehicle stops, slows down, or steers. |
| Perception | The objects that Autoware detects. |
| Fail-safe | The minimal risk maneuver (MRM) and its requests. |
| Vehicle status | The kinematics, status, metrics, and dimensions of the vehicle. |
| Vehicle doors | The layout, status, and commands of the doors. |
| Control | The commands that Autoware sends to the vehicle. |
| Cooperation | Operator decisions for the planning scenes. |
| Heartbeat | The heartbeat of Autoware. |
| Diagnostics | The diagnostic graph of Autoware. |
| Manual control | Manual driving commands from a local or remote operator. |