From 7f0598856c3262aa914033a80064dcf47aa222c4 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Thu, 5 Dec 2024 15:39:01 +0900 Subject: [PATCH] add velocity command Signed-off-by: Takagi, Isamu --- .../ad-api/features/manual-control.md | 20 +++++++++++-------- .../ad-api/list/api/local/command/velocity.md | 18 +++++++++++++++++ .../list/api/remote/command/velocity.md | 18 +++++++++++++++++ .../autoware-interfaces/ad-api/list/index.md | 2 ++ .../msg/ManualControlMode.md | 1 + .../msg/VelocityCommand.md | 14 +++++++++++++ .../autoware-interfaces/ad-api/types/index.md | 1 + .../ad-api/use-cases/manual-control/index.md | 2 +- yaml/autoware-interfaces.yaml | 4 ++++ 9 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 docs/design/autoware-interfaces/ad-api/list/api/local/command/velocity.md create mode 100644 docs/design/autoware-interfaces/ad-api/list/api/remote/command/velocity.md create mode 100644 docs/design/autoware-interfaces/ad-api/types/autoware_adapi_v1_msgs/msg/VelocityCommand.md diff --git a/docs/design/autoware-interfaces/ad-api/features/manual-control.md b/docs/design/autoware-interfaces/ad-api/features/manual-control.md index 304cbd6aaa3..d58f9480a6e 100644 --- a/docs/design/autoware-interfaces/ad-api/features/manual-control.md +++ b/docs/design/autoware-interfaces/ad-api/features/manual-control.md @@ -8,6 +8,7 @@ - {{ link_ad_api('/api/remote/operator/status') }} - {{ link_ad_api('/api/remote/command/pedal') }} - {{ 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') }} @@ -18,6 +19,7 @@ - {{ link_ad_api('/api/local/operator/status') }} - {{ link_ad_api('/api/local/command/pedal') }} - {{ 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') }} @@ -44,16 +46,18 @@ Since there are multiple ways to control a vehicle, such as pedals or accelerati | disabled | This is the initial mode. When selected, all command APIs are unavailable. | | pedal | 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 | pedal | acceleration | -| --------------- | :------: | :---: | :----------: | -| pedal | - | ✓ | - | -| acceleration | - | - | ✓ | -| steering | - | ✓ | ✓ | -| gear | - | ✓ | ✓ | -| turn_indicators | - | ✓ | ✓ | -| hazard_lights | - | ✓ | ✓ | +| Command | disabled | pedal | acceleration | velocity | +| --------------- | :------: | :---: | :----------: | :------: | +| pedal | - | X | - | - | +| acceleration | - | - | X | - | +| velocity | - | - | - | X | +| steering | - | X | X | X | +| gear | - | X | X | X | +| turn_indicators | - | X | X | X | +| hazard_lights | - | X | X | X | 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/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/index.md b/docs/design/autoware-interfaces/ad-api/list/index.md index 7f43d398a40..aab044c826b 100644 --- a/docs/design/autoware-interfaces/ad-api/list/index.md +++ b/docs/design/autoware-interfaces/ad-api/list/index.md @@ -10,6 +10,7 @@ | [/api/local/command/pedal](./api/local/command/pedal.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 | @@ -37,6 +38,7 @@ | [/api/remote/command/pedal](./api/remote/command/pedal.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 | 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 index 76d9c13f75f..23ed048f589 100644 --- 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 @@ -14,6 +14,7 @@ used: uint8 DISABLED = 1 uint8 PEDAL = 2 uint8 ACCELERATION = 3 +uint8 VELOCITY = 4 uint8 mode ``` 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/index.md b/docs/design/autoware-interfaces/ad-api/types/index.md index d09d61317f0..65460a72705 100644 --- a/docs/design/autoware-interfaces/ad-api/types/index.md +++ b/docs/design/autoware-interfaces/ad-api/types/index.md @@ -47,6 +47,7 @@ - [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) 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 index 4debc00c9ca..10fcb70f0fd 100644 --- 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 @@ -8,7 +8,7 @@ To operate a vehicle without a steering wheel or steering wheel, or to develop a - The vehicle can transition to a safe state when a communication problem occurs. - Supports the following commands and statuses. - - Pedal or acceleration as longitudinal control + - Pedal, acceleration or velocity as longitudinal control - Steering tire angle as lateral control - Gear - Turn indicators diff --git a/yaml/autoware-interfaces.yaml b/yaml/autoware-interfaces.yaml index b1430317592..675d50a1cba 100644 --- a/yaml/autoware-interfaces.yaml +++ b/yaml/autoware-interfaces.yaml @@ -220,6 +220,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