/vehicle/status/control_mode#
Specifications#
| Item | Value |
|---|---|
| Last Updated | 2026-01-21 |
| Interface Type | topic |
| Interface Name | /vehicle/status/control_mode |
| Data Type | autoware_vehicle_msgs/msg/ControlModeReport |
| Rate [Hz] | 10 or N/A |
| QoS Reliability | reliable |
| QoS Durability | volatile |
| QoS Depth | 1 |
Description#
Get the current control mode status of the vehicle. The status are listed in the table below.
The autoware_component_interface_specs package defines this topic with volatile durability. The vehicle interface publishes this topic. Known publishers, for example pacmod_interface and autoware_simple_planning_simulator, publish the status continuously with volatile durability, not only when the status changes. The design intent is different: use transient_local durability and publish only when the status changes. Make sure that the publishers and the subscribers in your system use compatible QoS settings.
Please note that ignoring a command does not mean stopping the vehicle. The vehicle may drive in any behavior, by manual control interfaces such as the driver's seat.
- 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 |
The design does not define which commands the vehicle accepts in the DISENGAGED, NO_COMMAND, and NOT_READY modes. In Autoware 2.0.0, no consumer of this topic treats these three modes as Autoware control. For example, the autoware_operation_mode_transition_manager node treats only AUTONOMOUS, AUTONOMOUS_STEER_ONLY, and AUTONOMOUS_VELOCITY_ONLY as Autoware control. It uses NO_COMMAND as the mode until it receives the first message.
Message#
The stamp field is the status received time or hardware time such as VCU. In the case of periodic publication, use the latest time, not the last status change. For the mode field, use the valid values listed above.
Errors#
Unknown status: If the vehicle interface cannot get the status due to connection loss, etc., the status is stopped and a diagnostic error is reported.
Invalid status: If the vehicle interface receives an undefined status, stop publishing status and report as diagnostics.
Support#
Support for MANUAL and AUTONOMOUS modes is required.
Limitations#
Latency: There is an inevitable latency between sending a mode change request and this interface updating to the new state. Autoware must handle this transition period.
Override detection: Some vehicle platforms do not explicitly report override activation. In such cases, the vehicle interface calculates this state by comparing command and feedback, which may introduce detection delay.
Use cases#
- Control the vehicle for autonomous driving.
- Display current control mode status to the operator.
Requirement#
- Support getting the current control mode status of the vehicle.
- Report the error as diagnostics if the status cannot be received or an unknown status is received.
Design#
None.
History#
| Date | Description |
|---|---|
| 2026-01-21 | First release in the new format. |