Skip to content

Commit 00ffc7c

Browse files
sasakisasakixmfcxpre-commit-ci[bot]
authored
feat(autoware_vehicle_msgs): port actuation command/status messages from tier4_vehicle_msgs (autowarefoundation#165)
* feat(`autoware_vehicle_msgs`): add actuation command/status messages Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> * rename: `[accel,brake,steer]_status` to `[accel,brake,steer]_report` * Apply the following review comment - autowarefoundation#165 (comment) Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> * rename: `ActuationStatus.msg` -> `ActuationReport.msg` * Apply the following review comment - autowarefoundation#165 (comment) Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> * docs(autoware_vehicle_msgs): add README describing actuation messages Documents ActuationCommand / ActuationCommandStamped / ActuationReport / ActuationReportStamped, including the relationship to autoware_control_msgs/Control.msg, per-field ranges and units, and the three steer_cmd modes selected by convert_steer_cmd_method. Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org> * refactor: make field name explicit (`status` => `actuation_report`) Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> Co-authored-by: Mete Fatih Cırıt <mfc@autoware.org> * refactor: make field name explicit (`actuation` => `actuation_command`) Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> Co-authored-by: Mete Fatih Cırıt <mfc@autoware.org> * bug: fix format violation (details below) * The format is defined in the following official page - https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/message-guidelines/#format Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> * fix: `README.md`, based on the information below * https://autowarefoundation.github.io/autoware_universe/main/vehicle/autoware_accel_brake_map_calibrator/ Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> * style(pre-commit): autofix * fix: by `pre-commit` Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> --------- Signed-off-by: Junya Sasaki <junya.sasaki@tier4.jp> Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org> Co-authored-by: Mete Fatih Cırıt <mfc@autoware.org> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent e7112a4 commit 00ffc7c

6 files changed

Lines changed: 106 additions & 0 deletions

File tree

autoware_vehicle_msgs/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ find_package(ament_cmake_auto REQUIRED)
99
ament_auto_find_build_dependencies()
1010

1111
rosidl_generate_interfaces(${PROJECT_NAME}
12+
"msg/ActuationCommand.msg"
13+
"msg/ActuationCommandStamped.msg"
14+
"msg/ActuationReport.msg"
15+
"msg/ActuationReportStamped.msg"
1216
"msg/ControlModeReport.msg"
1317
"msg/Engage.msg"
1418
"msg/GearCommand.msg"

autoware_vehicle_msgs/README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# autoware_vehicle_msgs
2+
3+
## ActuationCommand.msg
4+
5+
Defines an actuator-level command for the vehicle.
6+
7+
This message sits **below** `autoware_control_msgs/Control.msg` in the control stack.
8+
9+
- `Control.msg` expresses the _desired physical state_ of the vehicle (target steering tire angle, target velocity / acceleration). It is vehicle-independent.
10+
- `ActuationCommand.msg` expresses _commands to the actuators themselves_ (throttle pedal, brake pedal, steering input). Its meaning depends on how the vehicle interface is configured.
11+
12+
The typical producer is `autoware_raw_vehicle_cmd_converter`, which converts a `Control` command into actuator-level signals using the vehicle's accel / brake / steer maps. The typical consumer is the vehicle interface that forwards these signals to the vehicle CAN bus or to a simulator.
13+
14+
Fields:
15+
16+
| Field | Meaning | Range | Sign | Units |
17+
| ----------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------- | ------------------------- | ------------- |
18+
| `accel_cmd` | Throttle pedal command (vehicle-defined scale) | Vehicle-dependent (defined by actuation maps and vehicle interface) | n/a | Dimensionless |
19+
| `brake_cmd` | Brake pedal command (vehicle-defined scale) | Vehicle-dependent (defined by actuation maps and vehicle interface) | n/a | Dimensionless |
20+
| `steer_cmd` | Steering actuation signal. Semantics depend on `convert_steer_cmd_method`, see below | Vehicle-dependent (defined by actuation maps and vehicle interface) | Left positive (Ackermann) | See below |
21+
22+
Note that for `brake_cmd`, the command itself is positive while the resulting deceleration is negative.
23+
24+
`steer_cmd` modes:
25+
26+
| `convert_steer_cmd_method` | `steer_cmd` meaning | Units |
27+
| -------------------------- | ----------------------------------------------------------------------------------------- | --------------- |
28+
| Unset (vanilla) | Steering tire angle | radians |
29+
| `"vgr"` | Steering wheel angle, derived from the tire angle via a velocity-dependent gear ratio | radians |
30+
| `"steer_map"` | Vehicle-specific actuation signal (for example an EPS voltage), produced from a steer map | vehicle-defined |
31+
32+
For all three fields, the canonical contract is _whatever the vehicle's actuation maps and parameters define_. A different vehicle interface (CARLA, AWSIM, a real CAN driver) can use different ranges or scaling.
33+
34+
## ActuationCommandStamped.msg
35+
36+
Wraps `ActuationCommand` with a `std_msgs/Header`, typically containing the time at which the command was issued. The `frame_id` is not used.
37+
38+
## ActuationReport.msg
39+
40+
Defines the _actual_ actuator state reported back by the vehicle, mirroring `ActuationCommand`.
41+
42+
Producers: the vehicle interface (real or simulated). Consumers: tools that need to know what the vehicle is actually doing at the actuator level, such as `autoware_accel_brake_map_calibrator`.
43+
44+
Fields use the same units, sign conventions, and modes as `ActuationCommand`:
45+
46+
- `accel_report`: Throttle pedal command the vehicle is currently applying (vehicle-defined scale).
47+
- `brake_report`: Brake pedal command the vehicle is currently applying (vehicle-defined scale).
48+
- `steer_report`: Steering actuation signal the vehicle is currently applying. Same mode-dependent semantics as `steer_cmd`.
49+
50+
## ActuationReportStamped.msg
51+
52+
Wraps `ActuationReport` with a `std_msgs/Header` carrying the report's timestamp.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#
2+
# Actuation commands for longitudinal and lateral control.
3+
#
4+
5+
# Acceleration command (required)
6+
# e.g. 0.5
7+
float64 accel_cmd
8+
9+
# Brake command (required)
10+
# e.g. 0.1
11+
float64 brake_cmd
12+
13+
# Steering command (required)
14+
# e.g. 0.05
15+
float64 steer_cmd
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#
2+
# Stamped actuation command.
3+
#
4+
5+
# Standard message header (required)
6+
# e.g. stamp=0.0, frame_id=base_link
7+
std_msgs/Header header
8+
9+
# Actuation command (required)
10+
autoware_vehicle_msgs/ActuationCommand actuation_command
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#
2+
# Actuation report for longitudinal and lateral control.
3+
#
4+
5+
# Acceleration report (required)
6+
# e.g. 0.4
7+
float64 accel_report
8+
9+
# Brake report (required)
10+
# e.g. 0.0
11+
float64 brake_report
12+
13+
# Steering report (required)
14+
# e.g. 0.03
15+
float64 steer_report
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#
2+
# Stamped actuation report.
3+
#
4+
5+
# Standard message header (required)
6+
# e.g. stamp=0.0, frame_id=base_link
7+
std_msgs/Header header
8+
9+
# Actuation report (required)
10+
autoware_vehicle_msgs/ActuationReport actuation_report

0 commit comments

Comments
 (0)