Manual control#
Related API#
- /api/manual/remote/control_mode/list
- /api/manual/remote/control_mode/select
- /api/manual/remote/control_mode/status
- /api/manual/remote/operator/heartbeat
- /api/manual/remote/command/pedals
- /api/manual/remote/command/acceleration
- /api/manual/remote/command/velocity
- /api/manual/remote/command/steering
- /api/manual/remote/command/gear
- /api/manual/remote/command/turn_indicators
- /api/manual/remote/command/hazard_lights
- /api/manual/local/control_mode/list
- /api/manual/local/control_mode/select
- /api/manual/local/control_mode/status
- /api/manual/local/operator/heartbeat
- /api/manual/local/command/pedals
- /api/manual/local/command/acceleration
- /api/manual/local/command/velocity
- /api/manual/local/command/steering
- /api/manual/local/command/gear
- /api/manual/local/command/turn_indicators
- /api/manual/local/command/hazard_lights
Description#
This API is used to manually control the vehicle, and provides the same interface for different operators: remote and local. For example, the local operator controls a vehicle without a driver's seat using a joystick, while the remote operator provides remote support when problems occur with autonomous driving. The command sent will be used when operation mode is remote or local.
Operator status#
The application needs to determine whether the operator is able to drive and send that information via the operator heartbeat API (/api/manual/*/operator/heartbeat). If the operator is unable to continue driving during manual operation, Autoware will perform MRM to bring the vehicle to a safe state. For level 3 and below, the operator status is referenced even during autonomous driving.
The default implementation reports a diagnostic warning if no heartbeat arrives for 1.0 second, and a diagnostic error after 2.0 seconds.
Control mode#
Since there are multiple ways to control a vehicle, such as pedals or acceleration, the application must first select a control mode.
| Mode | Description |
|---|---|
| disabled | This is the initial mode. When selected, all command APIs are unavailable. |
| pedals | This mode provides longitudinal control using the pedals. |
| acceleration | This mode provides longitudinal control using the target acceleration. |
| velocity | This mode provides longitudinal control using the target velocity. |
The default implementation (the manual/local and manual/remote nodes of autoware_default_adapi_universe) supports only the pedals mode. The list API returns only PEDALS, and a request to select the acceleration or velocity mode fails. A request to select a mode also fails while the operation mode is the target mode of the API, for example remote for the remote API.
Commands#
The commands available in each mode are as follows.
| Command | disabled | pedals | acceleration | velocity |
|---|---|---|---|---|
| pedals | - | ✓ | - | - |
| acceleration | - | - | ✓ | - |
| velocity | - | - | - | ✓ |
| steering | - | ✓ | ✓ | ✓ |
| gear | - | ✓ | ✓ | ✓ |
| turn_indicators | - | ✓ | ✓ | ✓ |
| hazard_lights | - | ✓ | ✓ | ✓ |