Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_category_merger at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yoshi Ri
- Masato Saeki
- Dai Nguyen
- Taekjin Lee
- Masaki Baba
Authors
- Dai Nguyen
autoware_traffic_light_category_merger
Overview
autoware_traffic_light_category_merger receives the Traffic Light (TL) classification result from Car/Pedestrian classifiers to merge into single classification result. The expect ROIs TL without classification result will be filled as Unknown.
Input topics
| Name | Type | Description |
|---|---|---|
input/car_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car TLs classification |
input/pedestrian_signals |
tier4_perception_msgs::msg::TrafficLightArray | Pedestrian TLs classification |
Output topics
| Name | Type | Description |
|---|---|---|
output/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | Car and Pedestrian TLs classification |
Node parameters
N/A
Changelog for package autoware_traffic_light_category_merger
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
build(traffic_light_perception): split core/node CMake targets and expose public core headers (#13325)
* refactor(autoware_traffic_light_category_merger): expose core header, split core/node CMake targets Move traffic_light_category_merger.hpp into include/autoware/traffic_light_category_merger/, and split the CMake target into ${PROJECT_NAME} (core) and ${PROJECT_NAME}_node (Node adapter linking the core). The Node header stays in src/. No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_selector): expose core header, split core/node CMake targets Move traffic_light_selector.hpp into include/autoware/traffic_light_selector/, keeping traffic_light_selector_utils.hpp private in src/ (not part of the public API). Split the CMake target into ${PROJECT_NAME} (core: selector + utils) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_traffic_light_map_based_detector): expose core header, split core/node CMake targets Move traffic_light_map_based_detector.hpp into include/autoware/traffic_light_map_based_detector/, keeping traffic_light_map_based_detector_process.hpp private in src/ (not part of the public API). Since the public header declares functions taking image_geometry::PinholeCameraModel, add that include directly to the header instead of pulling it in transitively via the private process header. Split the CMake target into ${PROJECT_NAME} (core: detector + process) and ${PROJECT_NAME}_node (Node adapter linking the core). No behavior change; colcon build + colcon test pass (7 tests, 0 failures).
* refactor(autoware_tensorrt_yolox): build TrtYoloXDetector as part of the core library tensorrt_yolox_detector.cpp implements core detection logic and was being compiled into ${PROJECT_NAME}_node (the Node adapter target) instead of ${PROJECT_NAME} (the core library). Move it to the core target so the core library does not depend on the node target for its own logic.
- refactor(autoware_traffic_light_classifier): expose TrafficLightClassifier as the sole public header
- Move traffic_light_classifier.hpp to include/autoware/traffic_light_classifier/ and forward-declare ClassifierInterface instead of including classifier/classifier_interface.hpp, so the classifier/*.hpp backends and classifier_params.hpp / traffic_light_classifier_node.hpp stay private under src/.
- Split the CMake library target into ${PROJECT_NAME} (ROS-free classification core) and ${PROJECT_NAME}_node (rclcpp::Node adapter layer), mirroring the core/node separation already present in src/.
- single_image_debug_inference_node and the node-level integration test now link against both libraries instead of recompiling every source file.
- refactor(autoware_traffic_light_multi_camera_fusion): move headers under include/, split core/node CMake targets
- refactor(autoware_traffic_light_arbiter): split core/node CMake targets
- refactor(autoware_image_transport_decompressor): move core logic header to include, node header to src
* refactor(autoware_crosswalk_traffic_light_estimator): move core logic header to include, node header to src, split core/node CMake targets ---------
-
Contributors: Ryohsuke Mitsudome, Takahisa Ishikawa
0.52.0 (2026-06-30)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- test(autoware_traffic_light_category_merger): decouple merge core
from node and add tests
(#12885)
- Extract the merge logic from TrafficLightCategoryMergerNode into a ROS-free TrafficLightCategoryMerger core (now a static function); the node only handles the ROS interface (sync, publish), with behavior unchanged.
- Add node-level integration tests driving the real node over its ROS topics to pin the observable behavior before the extraction.
- Add ROS-free unit tests for the merge core, covering ordering, header source, and the empty-car / empty-pedestrian / both-empty edge cases.
- Contributors: Takayuki AKAMINE, github-actions
0.51.0 (2026-05-01)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| autoware_cmake | |
| ament_cmake_auto | |
| ament_cmake_gtest | |
| ament_cmake_ros | |
| autoware_test_utils | |
| autoware_utils | |
| message_filters | |
| rclcpp | |
| rclcpp_components | |
| tier4_perception_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/traffic_light_category_merger.launch.xml
-
- input/car_signals [default: classified/car/traffic_signals]
- input/pedestrian_signals [default: classified/pedestrian/traffic_signals]
- output/traffic_signals [default: classification/traffic_signals]