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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]
Messages
Services
Plugins
Recent questions tagged autoware_control_evaluator 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-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Daniel SANCHEZ
- takayuki MUROOKA
- kosuke TAKEUCHI
- Temkei Kem
Authors
- Daniel SANCHEZ
- takayuki MUROOKA
Control Evaluator
Purpose
This package provides nodes that generate metrics to evaluate the quality of control.
It publishes metric information about control modules’ outputs as well as the ego vehicle’s current kinematics and position.
Evaluated metrics
The control evaluator uses the metrics defined in include/autoware/control_evaluator/metrics/metric.hppto calculate deviations in yaw and lateral distance from the ego’s set-point. The control_evaluator can also be customized to offer metrics/evaluation about other control modules. Currently, the control_evaluator offers a simple metric output based on the autonomous_emergency_braking node’s output, but this functionality can be extended to evaluate other control modules’ performance.
Kinematics output
The control evaluator module also constantly publishes information regarding the ego vehicle’s kinematics and position. It publishes the current ego lane id with the longitudinal s and lateral t arc coordinates. It also publishes the current ego speed, acceleration and jerk in its metric messages.
This information can be used by other nodes to establish automated evaluation using rosbags: by crosschecking the ego position and kinematics with the evaluated control module’s output, it is possible to judge if the evaluated control modules reacted in a satisfactory way at certain interesting points of the rosbag reproduction.
Changelog for package autoware_control_evaluator
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the evaluator node designs with the packages they describe (#13341) The fixed-name ports of the evaluation adapters, the online perception evaluator and the metric converter are pinned with global:, which keeps them out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same topic and service names while letting the ports take part in the graph. /diagnostics stays global:. ControlEvaluator names a plugin class in the wrong namespace, publishes tier4_metric_msgs/MetricArray rather than the non-existent autoware_control_msgs/ControlEvaluation, and subscribes to eleven planning factor topics under /planning/planning_factors, two of which were missing. PlanningEvaluator publishes the same metric type. The evaluation adapter nodes are components with no executable of their own.
-
fix(evaluator): declare the dependencies these packages use (#13218) Six packages use headers or symbols of packages that they never declare. Add the 26 missing entries: 25 <depend> and 1 <test_depend>. A per-package sweep of the first commit found four more missing entries. autoware_kinematic_evaluator and autoware_localization_evaluator call find_package(ament_cmake_ros REQUIRED) under BUILD_TESTING and declare it nowhere. Both get <test_depend>ament_cmake_ros</test_depend>. autoware_planning_evaluator uses lanelet::ConstLanelet in the library code, and the header arrives only through autoware_lanelet2_utils. It gets <depend>lanelet2_core</depend>. Its test loads two parameter files from the share directory of autoware_test_utils, so it gets <test_depend>autoware_test_utils</test_depend>.
-
refactor(evaluator): move node design files into each package (#13099) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
refactor(autoware_control_evaluator): migrate to polling:: API (#13033)
-
feat(control_evaluator): apply [agnocast_wrapper::Node]{.title-ref} to [control_evaluator]{.title-ref} (#12963)
- apply agnocast_wrapper::Node
- refactor(autoware_control_evaluator): use Newest polling policy for route/map subscribers
- refactor(autoware_control_evaluator): minimize diff from origin/main
- Move polling subscriber creation back into header default member initializers (as in origin/main) instead of the constructor body
- Drop explicit QoS on subscribers that had no explicit QoS in origin/main
- Use plain publish(const &) for metrics/processing_time instead of the ALLOCATE_OUTPUT_MESSAGE_UNIQUE zero-copy path
- Remove now-unnecessary <utility> include
- style(pre-commit): autofix
- test: skip when agnocast enable
* chore: trigger CI ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: kobayu858 <<yutaro.kobayashi.2@tier4.jp>>
-
Contributors: Koichi Imai, Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_control_evaluator): add object_metrics.excluded_labels fpr ignoring unknown objects (#12659)
- add object_metrics.excluded_labels, ignoring unknown objects by default
- remove unused update
* Update evaluator/autoware_control_evaluator/src/control_evaluator_node.cpp Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> ---------Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
-
fix(control_evaluator): boundary_distance was 0 on both the left and right sides
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_control_launch |
Launch files
- launch/control_evaluator.launch.xml
-
- output_metrics [default: false]
- input/odometry [default: /localization/kinematic_state]
- input/acceleration [default: /localization/acceleration]
- input/trajectory [default: /planning/trajectory]
- input/vector_map [default: /map/vector_map]
- input/route [default: /planning/mission_planning/route]
- input/behavior_path [default: /planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id]
- input/steering_status [default: /vehicle/status/steering_status]
- input/objects [default: /perception/object_recognition/objects]