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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_vehicle_cmd_gate 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-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yukinari Hisaki
- Arjun Ram
- Takayuki Murooka
Authors
- Hiroki OTA
vehicle_cmd_gate
Purpose
vehicle_cmd_gate is the package to get information from emergency handler, planning module, and external controller, and send a message to the vehicle.
Role
Receive multiple control commands and select one to forward to the vehicle.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/steering |
autoware_vehicle_msgs::msg::SteeringReport |
steering status |
~/input/auto/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from planning module |
~/input/auto/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from planning module |
~/input/auto/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from planning module |
~/input/auto/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from planning module |
~/input/external/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from external |
~/input/external/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from external |
~/input/external/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from external |
~/input/external/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from external |
~/input/external_emergency_stop_heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/input/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/input/emergency/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity from emergency handler |
~/input/emergency/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command from emergency handler |
~/input/emergency/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command from emergency handler |
~/input/emergency/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command from emergency handler |
~/input/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/input/operation_mode |
autoware_adapi_v1_msgs::msg::OperationModeState |
operation mode of Autoware |
Output
| Name | Type | Description |
|---|---|---|
~/output/vehicle_cmd_emergency |
tier4_vehicle_msgs::msg::VehicleEmergencyStamped |
emergency state which was originally in vehicle command |
~/output/command/control_cmd |
autoware_control_msgs::msg::Control |
command for lateral and longitudinal velocity to vehicle |
~/output/command/turn_indicators_cmd |
autoware_vehicle_msgs::msg::TurnIndicatorsCommand |
turn indicators command to vehicle |
~/output/command/hazard_lights_cmd |
autoware_vehicle_msgs::msg::HazardLightsCommand |
hazard lights command to vehicle |
~/output/command/gear_cmd |
autoware_vehicle_msgs::msg::GearCommand |
gear command to vehicle |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (AUTO or EXTERNAL) |
~/output/engage |
autoware_vehicle_msgs::msg::Engage |
engage signal |
~/output/external_emergency |
tier4_external_api_msgs::msg::Emergency |
external emergency signal |
~/output/operation_mode |
tier4_system_msgs::msg::OperationMode |
current operation mode of the vehicle_cmd_gate |
Parameters
| Parameter | Type | Description |
|---|---|---|
update_period |
double | update period |
use_emergency_handling |
bool | true when emergency handler is used |
check_external_emergency_heartbeat |
bool | true when checking heartbeat for emergency stop |
system_emergency_heartbeat_timeout |
double | timeout for system emergency |
external_emergency_stop_heartbeat_timeout |
double | timeout for external emergency |
filter_activated_count_threshold |
int | threshold for filter activation |
filter_activated_velocity_threshold |
double | velocity threshold for filter activation |
stop_hold_acceleration |
double | longitudinal acceleration cmd when vehicle should stop |
emergency_acceleration |
double | longitudinal acceleration cmd when vehicle stop with emergency |
moderate_stop_service_acceleration |
double | longitudinal acceleration cmd when vehicle stop with moderate stop service |
nominal.vel_lim |
double | limit of longitudinal velocity (activated in AUTONOMOUS operation mode) |
nominal.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in AUTONOMOUS operation mode). The size of this array must be equivalent to the size of the limit array. | |
nominal.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in AUTONOMOUS operation mode) | |
nominal.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in AUTONOMOUS operation mode) | |
nominal.steer_cmd_lim |
array of limits for steering angle (activated in AUTONOMOUS operation mode) | |
nominal.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in AUTONOMOUS operation mode) | |
nominal.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in AUTONOMOUS operation mode) |
nominal.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in AUTONOMOUS operation mode) | |
on_transition.vel_lim |
double | limit of longitudinal velocity (activated in TRANSITION operation mode) |
on_transition.reference_speed_points |
velocity point used as a reference when calculate control command limit (activated in TRANSITION operation mode). The size of this array must be equivalent to the size of the limit array. | |
on_transition.lon_acc_lim_for_lon_vel |
array of limits for longitudinal acceleration (activated in TRANSITION operation mode) | |
on_transition.lon_jerk_lim_for_lon_acc |
array of limits for longitudinal jerk (activated in TRANSITION operation mode) | |
on_transition.lat_acc_lim_for_steer_cmd |
array of limits for lateral acceleration (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_cmd |
array of limits for lateral jerk (activated in TRANSITION operation mode) | |
on_transition.steer_cmd_lim |
array of limits for steering angle (activated in TRANSITION operation mode) | |
on_transition.steer_rate_lim_for_steer_cmd |
array of limits for command steering rate (activated in TRANSITION operation mode) | |
on_transition.lat_jerk_lim_for_steer_rate |
double | limit for lateral jerk constraint on steering rate (activated in TRANSITION operation mode) |
on_transition.steer_cmd_diff_lim_from_current_steer |
array of limits for difference between current and command steering angle (activated in TRANSITION operation mode) |
Parameter Naming Convention
The parameters follow specific naming patterns to clearly distinguish between different types of constraints and their relationships:
Pattern 1: [constraint]_lim_for_[target]
-
Format:
[physical_constraint]_lim_for_[controlled_variable] - Description: Defines limits based on physical constraints (acceleration, jerk, etc.) applied to control variables
Pattern 2: [target]_[constraint]_lim_from_[reference]
-
Format:
[controlled_variable]_[constraint_type]_lim_from_[reference_variable] - Description: Defines limits on the difference or deviation of a control variable from a reference value
Pattern 3: [target]_lim
-
Format:
[controlled_variable]_lim
File truncated at 100 lines see the full file
Changelog for package autoware_vehicle_cmd_gate
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the control node designs with the packages they describe (#13340)
* fix(design): align the control node designs with the packages they describe ControlCommandGate and the operation mode transition manager name a plugin class and pin publishers that do not match the built package: the registered component is ControlCmdGate, and the transition flags belong on the design graph rather than on global: pins that link_manager skips. TrajectoryFollower declares three debug publishers with message types the node never publishes and a stop_reason publisher it does not create at all. VehicleCmdGate keeps gate_mode and engage on their official topic names through remap_target: alone, so the two inputs are connected through the design.
* fix(autoware_operation_mode_transition_manager): declare the system and legacy interfaces as remap targets The operation mode state publisher, the two operation mode change services and the legacy engage and gate mode publishers are node-side fixed names. Declaring them as remap targets puts them on the design graph; a port pinned with global: is skipped by link_manager and the exporter emits no remap for it. ---------
-
fix(control): declare the fixed-name compatibility interfaces in the control node designs (#13281)
* fix(control): declare the fixed-name compatibility interfaces in the control node designs operation_mode_transition_manager subscribes /control/current_gate_mode and /control/external_cmd_selector/current_selector_mode and calls /control/external_cmd_selector/select_external_command by fixed name; the gate serves the ADAPI pause/stop interfaces under /control/vehicle_cmd_gate. Declaring these ports with their remap_target lets a system design connect them and keep the fixed names when the module hierarchy nests the nodes.
* fix(control): declare the multi-publisher gate_mode_cmd and engage topics as global ---------
-
refactor(control): move node design files into each package (#13100) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_vehicle_cmd_gate): apply to CIE (#12654)
- feat: apply to CIE
- chore: re-trigger CI
* chore: re-trigger CI ---------
-
Contributors: Yutaro Kobayashi, github-actions
0.51.0 (2026-05-01)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(control_command_filter, vehicle_cmd_gate): add logging
capabilities for command limits
(#12250)
- feat(control_command_filter): add logging capabilities for command limits
- feat(vehicle_cmd_filter): add logging for velocity, acceleration, jerk, and steering limits
- feat(command_filter): enhance logging by adding clock support for throttling
- Contributors: Kyoichi Sugahara, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(vehicle_cmd_gate): fix funcArgNamesDifferent (#11977) fix(vehicle_cmd_gate):
- feat: control : fix contol packages compile error when using ros2 jazzy (#11556)
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, 心刚
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/vehicle_cmd_gate.launch.xml
-
- config_file [default: $(find-pkg-share autoware_vehicle_cmd_gate)/config/vehicle_cmd_gate.param.yaml]
- check_external_emergency_heartbeat [default: true]
- vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]