diff --git a/docs/design/autoware-interfaces/ad-api/features/manual-control.md b/docs/design/autoware-interfaces/ad-api/features/manual-control.md new file mode 100644 index 00000000000..e59f522d05e --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/features/manual-control.md @@ -0,0 +1,63 @@ +# Manual control + +## Related API + +- {{ link_ad_api('/api/remote/control_mode/list') }} +- {{ link_ad_api('/api/remote/control_mode/select') }} +- {{ link_ad_api('/api/remote/control_mode/status') }} +- {{ link_ad_api('/api/remote/operator/status') }} +- {{ link_ad_api('/api/remote/command/pedals') }} +- {{ link_ad_api('/api/remote/command/acceleration') }} +- {{ link_ad_api('/api/remote/command/velocity') }} +- {{ link_ad_api('/api/remote/command/steering') }} +- {{ link_ad_api('/api/remote/command/gear') }} +- {{ link_ad_api('/api/remote/command/turn_indicators') }} +- {{ link_ad_api('/api/remote/command/hazard_lights') }} +- {{ link_ad_api('/api/local/control_mode/list') }} +- {{ link_ad_api('/api/local/control_mode/select') }} +- {{ link_ad_api('/api/local/control_mode/status') }} +- {{ link_ad_api('/api/local/operator/status') }} +- {{ link_ad_api('/api/local/command/pedals') }} +- {{ link_ad_api('/api/local/command/acceleration') }} +- {{ link_ad_api('/api/local/command/velocity') }} +- {{ link_ad_api('/api/local/command/steering') }} +- {{ link_ad_api('/api/local/command/gear') }} +- {{ link_ad_api('/api/local/command/turn_indicators') }} +- {{ link_ad_api('/api/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](./operation_mode.md) 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 status API. +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. + +## 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. | + +## Commands + +The commands available in each mode are as follows. + +| Command | disabled | pedals | acceleration | velocity | +| --------------- | :------: | :------: | :----------: | :------: | +| pedals | - | ✓ | - | - | +| acceleration | - | - | ✓ | - | +| velocity | - | - | - | ✓ | +| steering | - | ✓ | ✓ | ✓ | +| gear | - | ✓ | ✓ | ✓ | +| turn_indicators | - | ✓ | ✓ | ✓ | +| hazard_lights | - | ✓ | ✓ | ✓ | diff --git a/docs/design/autoware-interfaces/ad-api/index.md b/docs/design/autoware-interfaces/ad-api/index.md index 5baa16035ec..28721326d70 100644 --- a/docs/design/autoware-interfaces/ad-api/index.md +++ b/docs/design/autoware-interfaces/ad-api/index.md @@ -27,6 +27,7 @@ Service providers can combine these use cases to define user stories and check i - [Vehicle monitoring](./use-cases/vehicle-monitoring.md) - [Vehicle operation](./use-cases/vehicle-operation.md) - [System monitoring](./use-cases/system-monitoring.md) +- [Manual control](./use-cases/manual-control/index.md) ## Features @@ -43,3 +44,4 @@ Service providers can combine these use cases to define user stories and check i - [Cooperation](./features/cooperation.md) - [Heartbeat](./features/heartbeat.md) - [Diagnostics](./features/diagnostics.md) +- [Manual control](./features/manual-control.md) diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/command/acceleration.md b/docs/design/autoware-interfaces/ad-api/list/api/local/command/acceleration.md new file mode 100644 index 00000000000..f4d59c82a48 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/command/acceleration.md @@ -0,0 +1,18 @@ +--- +title: /api/local/command/acceleration +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/AccelerationCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: acceleration + text: Target acceleration [m/s^2]. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends acceleration command used in local operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/command/gear.md b/docs/design/autoware-interfaces/ad-api/list/api/local/command/gear.md new file mode 100644 index 00000000000..2f1f80762e2 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/command/gear.md @@ -0,0 +1,18 @@ +--- +title: /api/local/command/gear +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/GearCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: command + text: Target gear status. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends gear command used in local operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/command/hazard_lights.md b/docs/design/autoware-interfaces/ad-api/list/api/local/command/hazard_lights.md new file mode 100644 index 00000000000..2679b581bbf --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/command/hazard_lights.md @@ -0,0 +1,18 @@ +--- +title: /api/local/command/hazard_lights +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/HazardLightsCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: command + text: Target hazard lights status. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends hazard lights command used in local operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/command/pedals.md b/docs/design/autoware-interfaces/ad-api/list/api/local/command/pedals.md new file mode 100644 index 00000000000..4409d3f2bda --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/command/pedals.md @@ -0,0 +1,20 @@ +--- +title: /api/local/command/pedals +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/PedalsCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: accelerator + text: Target accelerator pedal ratio. + - name: brake + text: Target brake pedal ratio. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends pedals command used in local operation mode. The pedal value is the ratio with the maximum pedal depression being 1.0. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/command/steering.md b/docs/design/autoware-interfaces/ad-api/list/api/local/command/steering.md new file mode 100644 index 00000000000..37fc91b3ff6 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/command/steering.md @@ -0,0 +1,18 @@ +--- +title: /api/local/command/steering +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/SteeringCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: steering_tire_angle + text: Target steering tire angle [rad]. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Send steering command to this API. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/command/turn_indicators.md b/docs/design/autoware-interfaces/ad-api/list/api/local/command/turn_indicators.md new file mode 100644 index 00000000000..67926c7a4b0 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/command/turn_indicators.md @@ -0,0 +1,18 @@ +--- +title: /api/local/command/turn_indicators +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: command + text: Target turn indicators status. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends turn indicators command used in local operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/command/velocity.md b/docs/design/autoware-interfaces/ad-api/list/api/local/command/velocity.md new file mode 100644 index 00000000000..4bc8792f760 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/command/velocity.md @@ -0,0 +1,18 @@ +--- +title: /api/local/command/velocity +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/VelocityCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: velocity + text: Target velocity [m/s]. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends velocity command used in local operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/list.md b/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/list.md new file mode 100644 index 00000000000..eec07bba9fb --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/list.md @@ -0,0 +1,18 @@ +--- +title: /api/local/control_mode/list +status: not released +method: function call +type: + name: autoware_adapi_v1_msgs/srv/ListManualControlMode + res: + - name: status + text: response status + - name: modes + text: List of available modes. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +List the available manual control modes as described in [manual control](../../../../features/manual-control.md). +The disabled mode is not included in the available modes. +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/select.md b/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/select.md new file mode 100644 index 00000000000..6cad2e17fba --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/select.md @@ -0,0 +1,19 @@ +--- +title: /api/local/control_mode/select +status: not released +method: function call +type: + name: autoware_adapi_v1_msgs/srv/SelectManualControlMode + req: + - name: mode + text: The manual control mode to be used. + res: + - name: status + text: response status +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Selects the manual control mode as described in [manual control](../../../../features/manual-control.md). +This API fails while [operation mode](../../../../features/operation_mode.md) is local. +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/status.md b/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/status.md new file mode 100644 index 00000000000..1a186975208 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/control_mode/status.md @@ -0,0 +1,15 @@ +--- +title: /api/local/control_mode/status +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/ManualControlModeStatus + msg: + - name: stamp + text: Timestamp when this message was sent. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Get the current manual operation mode. +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/local/operator/status.md b/docs/design/autoware-interfaces/ad-api/list/api/local/operator/status.md new file mode 100644 index 00000000000..fcce8835bda --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/local/operator/status.md @@ -0,0 +1,18 @@ +--- +title: /api/local/operator/status +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/ManualOperatorStatus + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: ready + text: Whether the operator is able to continue driving. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +The application needs to determine whether the operator is able to drive and send that information via this API. +For details, see the [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/command/acceleration.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/acceleration.md new file mode 100644 index 00000000000..9947181ce6e --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/acceleration.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/command/acceleration +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/AccelerationCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: acceleration + text: Target acceleration [m/s^2]. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends acceleration command used in remote operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/command/gear.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/gear.md new file mode 100644 index 00000000000..690daf92283 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/gear.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/command/gear +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/GearCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: command + text: Target gear status. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends gear command used in remote operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/command/hazard_lights.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/hazard_lights.md new file mode 100644 index 00000000000..18a628aff34 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/hazard_lights.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/command/hazard_lights +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/HazardLightsCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: command + text: Target hazard lights status. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends hazard lights command used in remote operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/command/pedals.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/pedals.md new file mode 100644 index 00000000000..05fd3c25afb --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/pedals.md @@ -0,0 +1,20 @@ +--- +title: /api/remote/command/pedals +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/PedalsCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: accelerator + text: Target accelerator pedal ratio. + - name: brake + text: Target brake pedal ratio. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends pedals command used in remote operation mode. The pedal value is the ratio with the maximum pedal depression being 1.0. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/command/steering.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/steering.md new file mode 100644 index 00000000000..10e476777ab --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/steering.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/command/steering +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/SteeringCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: steering_tire_angle + text: Target steering tire angle [rad]. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Send steering command to this API. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/command/turn_indicators.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/turn_indicators.md new file mode 100644 index 00000000000..02133772cd4 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/turn_indicators.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/command/turn_indicators +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: command + text: Target turn indicators status. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends turn indicators command used in remote operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/command/velocity.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/velocity.md new file mode 100644 index 00000000000..cbeaee9a73b --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/command/velocity.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/command/velocity +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/VelocityCommand + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: velocity + text: Target velocity [m/s]. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Sends velocity command used in remote operation mode. +To use this API, select the corresponding mode as described in [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/list.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/list.md new file mode 100644 index 00000000000..955c8a1abbd --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/list.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/control_mode/list +status: not released +method: function call +type: + name: autoware_adapi_v1_msgs/srv/ListManualControlMode + res: + - name: status + text: response status + - name: modes + text: List of available modes. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +List the available manual control modes as described in [manual control](../../../../features/manual-control.md). +The disabled mode is not included in the available modes. +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/select.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/select.md new file mode 100644 index 00000000000..3c4c8889639 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/select.md @@ -0,0 +1,19 @@ +--- +title: /api/remote/control_mode/select +status: not released +method: function call +type: + name: autoware_adapi_v1_msgs/srv/SelectManualControlMode + req: + - name: mode + text: The manual control mode to be used. + res: + - name: status + text: response status +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Selects the manual control mode as described in [manual control](../../../../features/manual-control.md). +This API fails while [operation mode](../../../../features/operation_mode.md) is remote. +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/status.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/status.md new file mode 100644 index 00000000000..df348cbf817 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/control_mode/status.md @@ -0,0 +1,15 @@ +--- +title: /api/remote/control_mode/status +status: not released +method: notification +type: + name: autoware_adapi_v1_msgs/msg/ManualControlModeStatus + msg: + - name: stamp + text: Timestamp when this message was sent. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +Get the current manual operation mode. +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/api/remote/operator/status.md b/docs/design/autoware-interfaces/ad-api/list/api/remote/operator/status.md new file mode 100644 index 00000000000..73e1c86c752 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/list/api/remote/operator/status.md @@ -0,0 +1,18 @@ +--- +title: /api/remote/operator/status +status: not released +method: realtime stream +type: + name: autoware_adapi_v1_msgs/msg/ManualOperatorStatus + msg: + - name: stamp + text: Timestamp when this message was sent. + - name: ready + text: Whether the operator is able to continue driving. +--- + +{% extends 'design/autoware-interfaces/templates/autoware-interface.jinja2' %} +{% block description %} +The application needs to determine whether the operator is able to drive and send that information via this API. +For details, see the [manual control](../../../../features/manual-control.md). +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/list/index.md b/docs/design/autoware-interfaces/ad-api/list/index.md index f932bda738e..6c29570341e 100644 --- a/docs/design/autoware-interfaces/ad-api/list/index.md +++ b/docs/design/autoware-interfaces/ad-api/list/index.md @@ -5,6 +5,17 @@ | [/api/fail_safe/mrm_state](./api/fail_safe/mrm_state.md) | v1.1.0 | notification | | [/api/fail_safe/rti_state](./api/fail_safe/rti_state.md) | not released | notification | | [/api/interface/version](./api/interface/version.md) | v1.0.0 | function call | +| [/api/local/command/acceleration](./api/local/command/acceleration.md) | not released | realtime stream | +| [/api/local/command/gear](./api/local/command/gear.md) | not released | notification | +| [/api/local/command/hazard_lights](./api/local/command/hazard_lights.md) | not released | notification | +| [/api/local/command/pedals](./api/local/command/pedals.md) | not released | realtime stream | +| [/api/local/command/steering](./api/local/command/steering.md) | not released | realtime stream | +| [/api/local/command/turn_indicators](./api/local/command/turn_indicators.md) | not released | notification | +| [/api/local/command/velocity](./api/local/command/velocity.md) | not released | realtime stream | +| [/api/local/control_mode/list](./api/local/control_mode/list.md) | not released | function call | +| [/api/local/control_mode/select](./api/local/control_mode/select.md) | not released | function call | +| [/api/local/control_mode/status](./api/local/control_mode/status.md) | not released | notification | +| [/api/local/operator/status](./api/local/operator/status.md) | not released | realtime stream | | [/api/localization/initialization_state](./api/localization/initialization_state.md) | v1.0.0 | notification | | [/api/localization/initialize](./api/localization/initialize.md) | v1.0.0 | function call | | [/api/motion/accept_start](./api/motion/accept_start.md) | not released | function call | @@ -22,6 +33,17 @@ | [/api/planning/cooperation/set_policies](./api/planning/cooperation/set_policies.md) | not released | function call | | [/api/planning/steering_factors](./api/planning/steering_factors.md) | not released | realtime stream | | [/api/planning/velocity_factors](./api/planning/velocity_factors.md) | not released | realtime stream | +| [/api/remote/command/acceleration](./api/remote/command/acceleration.md) | not released | realtime stream | +| [/api/remote/command/gear](./api/remote/command/gear.md) | not released | notification | +| [/api/remote/command/hazard_lights](./api/remote/command/hazard_lights.md) | not released | notification | +| [/api/remote/command/pedals](./api/remote/command/pedals.md) | not released | realtime stream | +| [/api/remote/command/steering](./api/remote/command/steering.md) | not released | realtime stream | +| [/api/remote/command/turn_indicators](./api/remote/command/turn_indicators.md) | not released | notification | +| [/api/remote/command/velocity](./api/remote/command/velocity.md) | not released | realtime stream | +| [/api/remote/control_mode/list](./api/remote/control_mode/list.md) | not released | function call | +| [/api/remote/control_mode/select](./api/remote/control_mode/select.md) | not released | function call | +| [/api/remote/control_mode/status](./api/remote/control_mode/status.md) | not released | notification | +| [/api/remote/operator/status](./api/remote/operator/status.md) | not released | realtime stream | | [/api/routing/change_route](./api/routing/change_route.md) | v1.5.0 | function call | | [/api/routing/change_route_points](./api/routing/change_route_points.md) | v1.5.0 | function call | | [/api/routing/clear_route](./api/routing/clear_route.md) | v1.0.0 | function call | diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/AccelerationCommand.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/AccelerationCommand.md new file mode 100644 index 00000000000..5db8bd9c6f8 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/AccelerationCommand.md @@ -0,0 +1,14 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/AccelerationCommand +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +float32 acceleration +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear.md index 6c79186e63c..c125b5854e2 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/Gear.md @@ -2,6 +2,7 @@ # This file is generated by tools/autoware-interfaces/generate.py title: autoware_adapi_v1_msgs/msg/Gear used: + - autoware_adapi_v1_msgs/msg/GearCommand - autoware_adapi_v1_msgs/msg/VehicleStatus --- diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/GearCommand.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/GearCommand.md new file mode 100644 index 00000000000..f20ad9ce3ed --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/GearCommand.md @@ -0,0 +1,16 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/GearCommand +uses: + - autoware_adapi_v1_msgs/msg/Gear +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +autoware_adapi_v1_msgs/Gear command +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights.md index b7d3846de04..91601820168 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLights.md @@ -2,6 +2,7 @@ # This file is generated by tools/autoware-interfaces/generate.py title: autoware_adapi_v1_msgs/msg/HazardLights used: + - autoware_adapi_v1_msgs/msg/HazardLightsCommand - autoware_adapi_v1_msgs/msg/VehicleStatus --- diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLightsCommand.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLightsCommand.md new file mode 100644 index 00000000000..226977010e4 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/HazardLightsCommand.md @@ -0,0 +1,16 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/HazardLightsCommand +uses: + - autoware_adapi_v1_msgs/msg/HazardLights +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +autoware_adapi_v1_msgs/HazardLights command +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualControlMode.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualControlMode.md new file mode 100644 index 00000000000..04a66fc322a --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualControlMode.md @@ -0,0 +1,22 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/ManualControlMode +used: + - autoware_adapi_v1_msgs/msg/ManualControlModeStatus + - autoware_adapi_v1_msgs/srv/ListManualControlMode + - autoware_adapi_v1_msgs/srv/SelectManualControlMode +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +uint8 DISABLED = 1 +uint8 PEDALS = 2 +uint8 ACCELERATION = 3 +uint8 VELOCITY = 4 + +uint8 mode +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualControlModeStatus.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualControlModeStatus.md new file mode 100644 index 00000000000..51fb1785aab --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualControlModeStatus.md @@ -0,0 +1,16 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/ManualControlModeStatus +uses: + - autoware_adapi_v1_msgs/msg/ManualControlMode +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +autoware_adapi_v1_msgs/ManualControlMode mode +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualOperatorStatus.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualOperatorStatus.md new file mode 100644 index 00000000000..ff5bf59990f --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ManualOperatorStatus.md @@ -0,0 +1,14 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/ManualOperatorStatus +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +bool ready +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/PedalsCommand.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/PedalsCommand.md new file mode 100644 index 00000000000..80243be6f2c --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/PedalsCommand.md @@ -0,0 +1,15 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/PedalsCommand +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +float32 accelerator +float32 brake +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md index 7a2b8f31505..7bf5cc4c221 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/ResponseStatus.md @@ -9,6 +9,8 @@ used: - autoware_adapi_v1_msgs/srv/GetDoorLayout - autoware_adapi_v1_msgs/srv/GetVehicleDimensions - autoware_adapi_v1_msgs/srv/InitializeLocalization + - autoware_adapi_v1_msgs/srv/ListManualControlMode + - autoware_adapi_v1_msgs/srv/SelectManualControlMode - autoware_adapi_v1_msgs/srv/SetCooperationCommands - autoware_adapi_v1_msgs/srv/SetCooperationPolicies - autoware_adapi_v1_msgs/srv/SetDoorCommand diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringCommand.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringCommand.md new file mode 100644 index 00000000000..6a038b917a1 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/SteeringCommand.md @@ -0,0 +1,14 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/SteeringCommand +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +float32 steering_tire_angle +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators.md index f27fb2c2f0f..7df9657c812 100644 --- a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators.md +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicators.md @@ -2,6 +2,7 @@ # This file is generated by tools/autoware-interfaces/generate.py title: autoware_adapi_v1_msgs/msg/TurnIndicators used: + - autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand - autoware_adapi_v1_msgs/msg/VehicleStatus --- diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand.md new file mode 100644 index 00000000000..c957237b0e6 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand.md @@ -0,0 +1,16 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand +uses: + - autoware_adapi_v1_msgs/msg/TurnIndicators +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +autoware_adapi_v1_msgs/TurnIndicators command +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityCommand.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityCommand.md new file mode 100644 index 00000000000..d3ae21a4813 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityCommand.md @@ -0,0 +1,14 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/msg/VelocityCommand +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +builtin_interfaces/Time stamp +float32 velocity +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ListManualControlMode.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ListManualControlMode.md new file mode 100644 index 00000000000..6fe74ce50c4 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/ListManualControlMode.md @@ -0,0 +1,18 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/srv/ListManualControlMode +uses: + - autoware_adapi_v1_msgs/msg/ManualControlMode + - autoware_adapi_v1_msgs/msg/ResponseStatus +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +--- +autoware_adapi_v1_msgs/ResponseStatus status +autoware_adapi_v1_msgs/ManualControlMode[] modes +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SelectManualControlMode.md b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SelectManualControlMode.md new file mode 100644 index 00000000000..9b369fe1a67 --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/srv/SelectManualControlMode.md @@ -0,0 +1,18 @@ +--- +# This file is generated by tools/autoware-interfaces/generate.py +title: autoware_adapi_v1_msgs/srv/SelectManualControlMode +uses: + - autoware_adapi_v1_msgs/msg/ManualControlMode + - autoware_adapi_v1_msgs/msg/ResponseStatus +--- + +{% extends 'design/autoware-interfaces/templates/autoware-data-type.jinja2' %} +{% block definition %} + +```txt +autoware_adapi_v1_msgs/ManualControlMode mode +--- +autoware_adapi_v1_msgs/ResponseStatus status +``` + +{% endblock %} diff --git a/docs/design/autoware-interfaces/ad-api/types/index.md b/docs/design/autoware-interfaces/ad-api/types/index.md index e68eb24d3a3..9735185bd01 100644 --- a/docs/design/autoware-interfaces/ad-api/types/index.md +++ b/docs/design/autoware-interfaces/ad-api/types/index.md @@ -1,5 +1,6 @@ # Types of Autoware AD API +- [autoware_adapi_v1_msgs/msg/AccelerationCommand](./autoware_adapi_v1_msgs/msg/AccelerationCommand.md) - [autoware_adapi_v1_msgs/msg/CooperationCommand](./autoware_adapi_v1_msgs/msg/CooperationCommand.md) - [autoware_adapi_v1_msgs/msg/CooperationDecision](./autoware_adapi_v1_msgs/msg/CooperationDecision.md) - [autoware_adapi_v1_msgs/msg/CooperationPolicy](./autoware_adapi_v1_msgs/msg/CooperationPolicy.md) @@ -18,13 +19,19 @@ - [autoware_adapi_v1_msgs/msg/DynamicObjectKinematics](./autoware_adapi_v1_msgs/msg/DynamicObjectKinematics.md) - [autoware_adapi_v1_msgs/msg/DynamicObjectPath](./autoware_adapi_v1_msgs/msg/DynamicObjectPath.md) - [autoware_adapi_v1_msgs/msg/Gear](./autoware_adapi_v1_msgs/msg/Gear.md) +- [autoware_adapi_v1_msgs/msg/GearCommand](./autoware_adapi_v1_msgs/msg/GearCommand.md) - [autoware_adapi_v1_msgs/msg/HazardLights](./autoware_adapi_v1_msgs/msg/HazardLights.md) +- [autoware_adapi_v1_msgs/msg/HazardLightsCommand](./autoware_adapi_v1_msgs/msg/HazardLightsCommand.md) - [autoware_adapi_v1_msgs/msg/Heartbeat](./autoware_adapi_v1_msgs/msg/Heartbeat.md) - [autoware_adapi_v1_msgs/msg/LocalizationInitializationState](./autoware_adapi_v1_msgs/msg/LocalizationInitializationState.md) +- [autoware_adapi_v1_msgs/msg/ManualControlMode](./autoware_adapi_v1_msgs/msg/ManualControlMode.md) +- [autoware_adapi_v1_msgs/msg/ManualControlModeStatus](./autoware_adapi_v1_msgs/msg/ManualControlModeStatus.md) +- [autoware_adapi_v1_msgs/msg/ManualOperatorStatus](./autoware_adapi_v1_msgs/msg/ManualOperatorStatus.md) - [autoware_adapi_v1_msgs/msg/MotionState](./autoware_adapi_v1_msgs/msg/MotionState.md) - [autoware_adapi_v1_msgs/msg/MrmState](./autoware_adapi_v1_msgs/msg/MrmState.md) - [autoware_adapi_v1_msgs/msg/ObjectClassification](./autoware_adapi_v1_msgs/msg/ObjectClassification.md) - [autoware_adapi_v1_msgs/msg/OperationModeState](./autoware_adapi_v1_msgs/msg/OperationModeState.md) +- [autoware_adapi_v1_msgs/msg/PedalsCommand](./autoware_adapi_v1_msgs/msg/PedalsCommand.md) - [autoware_adapi_v1_msgs/msg/ResponseStatus](./autoware_adapi_v1_msgs/msg/ResponseStatus.md) - [autoware_adapi_v1_msgs/msg/Route](./autoware_adapi_v1_msgs/msg/Route.md) - [autoware_adapi_v1_msgs/msg/RouteData](./autoware_adapi_v1_msgs/msg/RouteData.md) @@ -33,12 +40,15 @@ - [autoware_adapi_v1_msgs/msg/RouteSegment](./autoware_adapi_v1_msgs/msg/RouteSegment.md) - [autoware_adapi_v1_msgs/msg/RouteState](./autoware_adapi_v1_msgs/msg/RouteState.md) - [autoware_adapi_v1_msgs/msg/RtiState](./autoware_adapi_v1_msgs/msg/RtiState.md) +- [autoware_adapi_v1_msgs/msg/SteeringCommand](./autoware_adapi_v1_msgs/msg/SteeringCommand.md) - [autoware_adapi_v1_msgs/msg/SteeringFactor](./autoware_adapi_v1_msgs/msg/SteeringFactor.md) - [autoware_adapi_v1_msgs/msg/SteeringFactorArray](./autoware_adapi_v1_msgs/msg/SteeringFactorArray.md) - [autoware_adapi_v1_msgs/msg/TurnIndicators](./autoware_adapi_v1_msgs/msg/TurnIndicators.md) +- [autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand](./autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand.md) - [autoware_adapi_v1_msgs/msg/VehicleDimensions](./autoware_adapi_v1_msgs/msg/VehicleDimensions.md) - [autoware_adapi_v1_msgs/msg/VehicleKinematics](./autoware_adapi_v1_msgs/msg/VehicleKinematics.md) - [autoware_adapi_v1_msgs/msg/VehicleStatus](./autoware_adapi_v1_msgs/msg/VehicleStatus.md) +- [autoware_adapi_v1_msgs/msg/VelocityCommand](./autoware_adapi_v1_msgs/msg/VelocityCommand.md) - [autoware_adapi_v1_msgs/msg/VelocityFactor](./autoware_adapi_v1_msgs/msg/VelocityFactor.md) - [autoware_adapi_v1_msgs/msg/VelocityFactorArray](./autoware_adapi_v1_msgs/msg/VelocityFactorArray.md) - [autoware_adapi_v1_msgs/srv/AcceptStart](./autoware_adapi_v1_msgs/srv/AcceptStart.md) @@ -48,6 +58,8 @@ - [autoware_adapi_v1_msgs/srv/GetDoorLayout](./autoware_adapi_v1_msgs/srv/GetDoorLayout.md) - [autoware_adapi_v1_msgs/srv/GetVehicleDimensions](./autoware_adapi_v1_msgs/srv/GetVehicleDimensions.md) - [autoware_adapi_v1_msgs/srv/InitializeLocalization](./autoware_adapi_v1_msgs/srv/InitializeLocalization.md) +- [autoware_adapi_v1_msgs/srv/ListManualControlMode](./autoware_adapi_v1_msgs/srv/ListManualControlMode.md) +- [autoware_adapi_v1_msgs/srv/SelectManualControlMode](./autoware_adapi_v1_msgs/srv/SelectManualControlMode.md) - [autoware_adapi_v1_msgs/srv/SetCooperationCommands](./autoware_adapi_v1_msgs/srv/SetCooperationCommands.md) - [autoware_adapi_v1_msgs/srv/SetCooperationPolicies](./autoware_adapi_v1_msgs/srv/SetCooperationPolicies.md) - [autoware_adapi_v1_msgs/srv/SetDoorCommand](./autoware_adapi_v1_msgs/srv/SetDoorCommand.md) diff --git a/docs/design/autoware-interfaces/ad-api/use-cases/manual-control/index.md b/docs/design/autoware-interfaces/ad-api/use-cases/manual-control/index.md new file mode 100644 index 00000000000..10fcb70f0fd --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/use-cases/manual-control/index.md @@ -0,0 +1,31 @@ +# Manual control + +## Description + +To operate a vehicle without a steering wheel or steering wheel, or to develop a remote operation system, an interface to manually drive a vehicle using Autoware is required. + +## Requirements + +- The vehicle can transition to a safe state when a communication problem occurs. +- Supports the following commands and statuses. + - Pedal, acceleration or velocity as longitudinal control + - Steering tire angle as lateral control + - Gear + - Turn indicators + - Hazard lights +- The following are under consideration. + - Headlights + - Wipers + - Parking brake + - Horn + +## Sequence + +```plantuml +{% include 'design/autoware-interfaces/ad-api/use-cases/manual-control/sequence.plantuml' %} +``` + +## Related features + +- [Manual control](../../features/manual-control.md) +- [Vehicle status](../../features/vehicle-status.md) diff --git a/docs/design/autoware-interfaces/ad-api/use-cases/manual-control/sequence.plantuml b/docs/design/autoware-interfaces/ad-api/use-cases/manual-control/sequence.plantuml new file mode 100644 index 00000000000..cb8e81955ba --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/use-cases/manual-control/sequence.plantuml @@ -0,0 +1,17 @@ +@startuml + +skinparam SequenceMessageAlign center +participant "Application" as app +participant "AD API" as adapi + +app -> adapi ++: /api/remote/control_mode/select +return +adapi -> app: /api/remote/control_mode/status + +par + app -> adapi: /api/remote/command/** +else + adapi -> app: /api/vehicle/status +end + +@enduml diff --git a/docs/installation/autoware/docker-installation.md b/docs/installation/autoware/docker-installation.md index 16a5aa0546f..099529297d1 100644 --- a/docs/installation/autoware/docker-installation.md +++ b/docs/installation/autoware/docker-installation.md @@ -34,6 +34,12 @@ Open AD Kit offers two types of Docker image to let you get started with Autowar ./setup-dev-env.sh -y --no-nvidia docker ``` + To download only the artifacts: + + ```bash + ./setup-dev-env.sh -y download_artifacts + ``` + !!! info GPU acceleration is required for some features such as object detection and traffic light detection/classification. For details of how to enable these features without a GPU, refer to the [Running Autoware without CUDA](../../how-to-guides/others/running-autoware-without-cuda.md). @@ -45,7 +51,7 @@ Open AD Kit offers two types of Docker image to let you get started with Autowar You can use `run.sh` to run the Autoware runtime container with the map data: ```bash -./docker/run.sh --map-path path_to_map_data +./docker/run.sh --map-path path_to_map --data-path path_to_data ``` For more launch options, you can append a custom launch command instead of using the default launch command which is `ros2 launch autoware_launch autoware.launch.xml`. @@ -53,8 +59,7 @@ For more launch options, you can append a custom launch command instead of using Here is an example of running the runtime container with a custom launch command: ```bash -./docker/run.sh --map-path ~/autoware_map/sample-map-rosbag ros2 launch autoware_launch planning_simulator.launch.xml map_path:=/autoware_map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit - +./docker/run.sh --map-path ~/autoware_map/sample-map-rosbag --data-path ~/autoware_data ros2 launch autoware_launch planning_simulator.launch.xml map_path:=/autoware_map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit ``` !!! info diff --git a/yaml/autoware-interfaces.yaml b/yaml/autoware-interfaces.yaml index ffe7f4a4f6a..152ea982174 100644 --- a/yaml/autoware-interfaces.yaml +++ b/yaml/autoware-interfaces.yaml @@ -1,4 +1,8 @@ types: + autoware_adapi_v1_msgs/msg/AccelerationCommand: + msg: + acceleration: float32 + stamp: builtin_interfaces/msg/Time autoware_adapi_v1_msgs/msg/CooperationCommand: msg: cooperator: autoware_adapi_v1_msgs/msg/CooperationDecision @@ -78,9 +82,17 @@ types: autoware_adapi_v1_msgs/msg/Gear: msg: status: uint8 + autoware_adapi_v1_msgs/msg/GearCommand: + msg: + command: autoware_adapi_v1_msgs/msg/Gear + stamp: builtin_interfaces/msg/Time autoware_adapi_v1_msgs/msg/HazardLights: msg: status: uint8 + autoware_adapi_v1_msgs/msg/HazardLightsCommand: + msg: + command: autoware_adapi_v1_msgs/msg/HazardLights + stamp: builtin_interfaces/msg/Time autoware_adapi_v1_msgs/msg/Heartbeat: msg: seq: uint16 @@ -89,6 +101,17 @@ types: msg: stamp: builtin_interfaces/msg/Time state: uint16 + autoware_adapi_v1_msgs/msg/ManualControlMode: + msg: + mode: uint8 + autoware_adapi_v1_msgs/msg/ManualControlModeStatus: + msg: + mode: autoware_adapi_v1_msgs/msg/ManualControlMode + stamp: builtin_interfaces/msg/Time + autoware_adapi_v1_msgs/msg/ManualOperatorStatus: + msg: + ready: bool + stamp: builtin_interfaces/msg/Time autoware_adapi_v1_msgs/msg/MotionState: msg: stamp: builtin_interfaces/msg/Time @@ -112,6 +135,11 @@ types: is_stop_mode_available: bool mode: uint8 stamp: builtin_interfaces/msg/Time + autoware_adapi_v1_msgs/msg/PedalsCommand: + msg: + accelerator: float32 + brake: float32 + stamp: builtin_interfaces/msg/Time autoware_adapi_v1_msgs/msg/ResponseStatus: msg: code: uint16 @@ -146,6 +174,10 @@ types: message: string request: bool stamp: builtin_interfaces/msg/Time + autoware_adapi_v1_msgs/msg/SteeringCommand: + msg: + stamp: builtin_interfaces/msg/Time + steering_tire_angle: float32 autoware_adapi_v1_msgs/msg/SteeringFactor: msg: behavior: string @@ -163,6 +195,10 @@ types: autoware_adapi_v1_msgs/msg/TurnIndicators: msg: status: uint8 + autoware_adapi_v1_msgs/msg/TurnIndicatorsCommand: + msg: + command: autoware_adapi_v1_msgs/msg/TurnIndicators + stamp: builtin_interfaces/msg/Time autoware_adapi_v1_msgs/msg/VehicleDimensions: msg: footprint: geometry_msgs/msg/Polygon @@ -188,6 +224,10 @@ types: stamp: builtin_interfaces/msg/Time steering_tire_angle: float64 turn_indicators: autoware_adapi_v1_msgs/msg/TurnIndicators + autoware_adapi_v1_msgs/msg/VelocityCommand: + msg: + stamp: builtin_interfaces/msg/Time + velocity: float32 autoware_adapi_v1_msgs/msg/VelocityFactor: msg: behavior: string @@ -227,6 +267,15 @@ types: pose: geometry_msgs/msg/PoseWithCovarianceStamped[<=1] res: status: autoware_adapi_v1_msgs/msg/ResponseStatus + autoware_adapi_v1_msgs/srv/ListManualControlMode: + res: + modes: autoware_adapi_v1_msgs/msg/ManualControlMode[] + status: autoware_adapi_v1_msgs/msg/ResponseStatus + autoware_adapi_v1_msgs/srv/SelectManualControlMode: + req: + mode: autoware_adapi_v1_msgs/msg/ManualControlMode + res: + status: autoware_adapi_v1_msgs/msg/ResponseStatus autoware_adapi_v1_msgs/srv/SetCooperationCommands: req: commands: autoware_adapi_v1_msgs/msg/CooperationCommand[]