Skip to content

Drive to the designated position#

The application sets a route to the goal and starts autonomous driving. Autoware drives to the goal and stops there.

Sequence#

The application sets a route. When the autonomous mode is available, the user requests a start and the application changes to the autonomous mode. At the goal, Autoware changes to the stop mode and the application clears the route.UserApplicationAD API (operation mode)AD API (routing)/api/operation_mode/stateis_autonomous_mode_available: falsenot ready to start/api/routing/set_route_points (or set_route)response status/api/routing/state: SETAutoware checks the route, the localization, the planning, and more/api/operation_mode/stateis_autonomous_mode_available: trueready to startrequest to start/api/operation_mode/change_to_autonomousresponse status/api/operation_mode/state: AUTONOMOUSDriving/api/routing/state: ARRIVEDchange to the stop mode/api/operation_mode/state: STOParrived/api/routing/clear_routeresponse status/api/routing/state: UNSET
Set a route, start autonomous driving, and clear the route at the goal.
  1. Set the route. When the route state is UNSET, call /api/routing/set_route_points with the goal pose and the waypoints, or /api/routing/set_route with lanelet segments. The route state changes to SET.
  2. Wait until the autonomous mode is available. Autoware checks its components, for example the route, the localization, and the planning output. When all checks pass, is_autonomous_mode_available of /api/operation_mode/state becomes true.
  3. Start. Call /api/operation_mode/change_to_autonomous. Autoware starts to drive along the route.
  4. Arrive. At the goal, the route state changes to ARRIVED. In the default implementation, the routing node of AD API then changes the operation mode to stop.
  5. Clear the route. Call /api/routing/clear_route. The route state changes to UNSET, and the application can set the next route.

To change the goal while the vehicle drives, use /api/routing/change_route_points or /api/routing/change_route. See routing for the route states.