# /control/control\_mode\_request

## Specifications

| Item | Value |
| --- | --- |
| Last Updated | 2026-01-21 |
| Interface Type | service |
| Interface Name | /control/control\_mode\_request |
| Data Type | [autoware\_vehicle\_msgs/srv/ControlModeCommand](<https://github.com/autowarefoundation/autoware_msgs/blob/main/autoware_vehicle_msgs/srv/ControlModeCommand.srv>) |
| Timeout \[s\] | \--- |

## Description

Send a change request of the control mode to the vehicle. The control mode manages whether the vehicle accepts commands from Autoware.

The following table shows which commands are accepted in each mode.

- velocity group

  - /control/command/control\_cmd (longitudinal field)
  - /control/command/gear\_cmd
- steering group

  - /control/command/control\_cmd (lateral field)
  - /control/command/turn\_indicators\_cmd
- others group

  - /control/command/hazard\_lights\_cmd
  - /vehicle/doors/command

| control mode | velocity group | steering group | others group |
| --- | --- | --- | --- |
| AUTONOMOUS | accept | accept | accept |
| AUTONOMOUS\_STEER\_ONLY | ignore | accept | accept |
| AUTONOMOUS\_VELOCITY\_ONLY | accept | ignore | accept |
| MANUAL | ignore | ignore | ignore |

## Service

The `stamp` field is the request sent time. For the `mode` field, use the valid values listed above.

## Errors

Invalid Mode: If an unknown or unsupported mode is specified, the request is rejected and the service returns a response with `success=false`.

Unsafe Transition: If the mode cannot be changed safely, the request is rejected and the service returns a response with `success=false`. For example, in the case of a hardware fault, emergency stop, or large command deviation.

## Support

This interface is required. If the mode change is not possible through this interface, for example, only a hardware switch is supported, always return a failure response.

## Limitations

The mode change without using this interface may result in sudden changes in vehicle behavior. In this case, switch when the command difference is small, such as when the vehicle is stopped.

## Use cases

- Switch to manual driving.
- Switch to Autoware control when the vehicle is stopped.
- Switch to Autoware control during manual driving.

## Requirement

- If the vehicle supports mode switching via Autoware, accept MANUAL and AUTONOMOUS at least.
- If the vehicle does not support mode switching via Autoware, always return a failure response.
- If an unknown or unsupported command is requested, return a failure response.
- If the mode cannot be changed safely, return a failure response.

## Design

- Simply change the mode as requested.

## History

| Date | Description |
| --- | --- |
| 2026-01-21 | First release in the new format. |
