Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_external_cmd_converter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takamasa Horibe
- Eiki Nagata
Authors
- Takamasa Horibe
external_cmd_converter
external_cmd_converter is a node that converts desired mechanical input to acceleration and velocity by using accel/brake map.
Algorithm
How to calculate reference acceleration and velocity
A reference acceleration and velocity are derived from the throttle and brake values of external control commands.
Reference Acceleration
A reference acceleration is calculated from accel_brake_map based on values of a desired_pedal and a current velocity;
\[pedal_d = throttle_d - brake_d,\] \[acc_{ref} = Acc(pedal_d, v_{x,current}).\]| Parameter | Description |
|---|---|
| $throttle_d$ | throttle value of external control command (~/in/external_control_cmd.control.throttle) |
| $brake_d$ | brake value of external control command (~/in/external_control_cmd.control.brake) |
| $v_{x,current}$ | current longitudinal velocity (~/in/odometry.twist.twist.linear.x) |
| Acc | accel_brake_map |
Reference Velocity
A reference velocity is calculated based on a current velocity and a reference acceleration:
\[v_{ref} = v_{x,current} + k_{v_{ref}} \cdot \text{sign}_{gear} \cdot acc_{ref}.\]| Parameter | Description |
|---|---|
| $acc_{ref}$ | reference acceleration |
| $k_{v_{ref}}$ | reference velocity gain |
| $\text{sign}_{gear}$ | gear command (~/in/shift_cmd) (Drive/Low: 1, Reverse: -1, Other: 0) |
Input topics
| Name | Type | Description |
|---|---|---|
~/in/external_control_cmd |
tier4_external_api_msgs::msg::ControlCommand | target throttle/brake/steering_angle/steering_angle_velocity is necessary to calculate desired control command. |
~/input/shift_cmd" |
autoware_vehicle_msgs::GearCommand | current command of gear. |
~/input/emergency_stop |
tier4_external_api_msgs::msg::Heartbeat | emergency heart beat for external command. |
~/input/current_gate_mode |
tier4_control_msgs::msg::GateMode | topic for gate mode. |
~/input/odometry |
navigation_msgs::Odometry | twist topic in odometry is used. |
Output topics
| Name | Type | Description |
|---|---|---|
~/out/control_cmd |
autoware_control_msgs::msg::Control | ackermann control command converted from selected external command |
Parameters
| Parameter | Type | Description |
|---|---|---|
ref_vel_gain_ |
double | reference velocity gain |
timer_rate |
double | timer’s update rate |
wait_for_first_topic |
double | if time out check is done after receiving first topic |
control_command_timeout |
double | time out check for control command |
emergency_stop_timeout |
double | time out check for emergency stop command |
Limitation
tbd.
Changelog for package autoware_external_cmd_converter
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter (#13014)
* feat(external_cmd_converter): apply agnocast_wrapper::Node to external_cmd_converter Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>>
- fix: cppcheck
- refactor: revert comment
- refactor: revert comment
- refactor: remove qos
- refactor: migrate to polling AIP
- style(pre-commit): autofix
- fix: clang format
- refactor: subscriber
* style(pre-commit): autofix ---------Co-authored-by: Koichi Imai <<koichi.imai.2@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix(vehicle): declare the dependencies these packages use (#13208)
* fix(vehicle): declare the dependencies these packages use Four packages use headers or symbols of packages that they never declare. Add the 10 missing entries: 8 <depend> and 2 <test_depend>.
* fix(vehicle): declare the script runtime dependencies and tf2 The review of the first commit found nine more missing entries. autoware_steer_offset_estimator uses tf2::Quaternion and tf2::Vector3 in an installed header and in the library code, so it gets <depend>tf2</depend>. The installed Python scripts of autoware_accel_brake_map_calibrator import rclpy, ament_index_python, numpy, and yaml, and its launch file starts rviz2. The installed plot script of autoware_raw_vehicle_cmd_converter imports ament_index_python, matplotlib, and numpy. These get <exec_depend> entries. ---------
-
refactor(vehicle): move node design files into each package (#13098) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat: manual control (#10354)
- feat(default_adapi): add manual control
- add conversion
- update selector
- update selector depends
- update converter
- modify heartbeat name
- update launch
- update api
- fix pedal callback
- done todo
- apply message rename
- fix test
- fix message type and qos
- fix steering_tire_velocity
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |