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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]
Messages
Services
Plugins
Recent questions tagged autoware_traffic_light_visualization 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
- Yukihiro Saito
- Tao Zhong
- Masato Saeki
- Taekjin Lee
- Masaki Baba
Authors
autoware_traffic_light_visualization
Purpose
The autoware_traffic_light_visualization is a package that includes two visualizing nodes:
traffic_light_map_visualizer
The node shows traffic light’s color and position on rviz as markers.

- The estimated traffic light color is visualized using map information like the traffic light at the center of the image.
- May not be possible to visualize without information on each of the lights (light_bulbs) at the traffic lights.
traffic_light_roi_visualizer
The node draws the result of traffic light recognition on the input image as shown in the following figure and publishes it.

- The colors
~/input/roisand~/input/rough/roisare the same ascolorwhoseshapeis CIRCLE in~/input/traffic_signals:#E67373for RED,#F2BF24for AMBER,#99FFB2for GREEN. Anything else — an unrecognized color, a signal with no circle in it, or a ROI no signal was reported for — is drawn in#FAFAFA. - The labels in the upper left of
~/input/roisshowsshapeandconfidencein~/input/traffic_signals. - The type of
shapeshould be referred to images directory. There are only 3 types of arrows in the image, but they can represent 8 directions.
Inner-workings / Algorithms
Inputs / Outputs
traffic_light_map_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/tl_state |
autoware_perception_msgs::msg::TrafficLightGroupArray | status of traffic lights |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
Output
| Name | Type | Description |
|---|---|---|
~/output/traffic_light |
visualization_msgs::msg::MarkerArray | marker array that indicates status of traffic lights |
traffic_light_roi_visualizer
Input
| Name | Type | Description |
|---|---|---|
~/input/traffic_signals |
tier4_perception_msgs::msg::TrafficLightArray | status of traffic lights |
~/input/image |
sensor_msgs::msg::Image | the image captured by perception cameras |
~/input/rois |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the last detection stage of the chain: autoware_traffic_light_map_based_detector when it runs alone, otherwise autoware_traffic_light_fine_detector or autoware_traffic_light_selector
|
~/input/rough/rois (option) |
tier4_perception_msgs::msg::TrafficLightRoiArray | the ROIs from the stage before that, always autoware_traffic_light_map_based_detector. Only connected when such a stage exists, which is also when use_high_accuracy_detection is true |
Output
| Name | Type | Description |
|---|---|---|
~/output/image |
sensor_msgs::msg::Image | output image with ROIs |
Parameters
traffic_light_map_visualizer
None
traffic_light_roi_visualizer
Node Parameters
{{json_to_markdown(“perception/autoware_traffic_light_visualization/schema/traffic_light_roi_visualizer.schema.json”)}}
Assumptions / Known limits
(Optional) Error detection and handling
(Optional) Performance characterization
(Optional) References/External links
(Optional) Future extensions / Unimplemented parts
Changelog for package autoware_traffic_light_visualization
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode (#13392)
* test(autoware_traffic_light_visualization): add characterization test for TrafficLightRoiVisualizerNode Pin the observable behavior of TrafficLightRoiVisualizerNode before its logic is separated from rclcpp::Node. The node is driven through its real topics and the drawing is checked by reading pixels out of the published image, so a regression that stops the drawing from running is caught. No production code is touched: the change adds a test file and its own test target next to the existing ones. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): cover the remaining branches of the visualizer Two paths were left untested by the characterization suite:
- the image_transport publish inside imageRoughRoiCallback, because the image transport case ran the other callback
- strToColor()'s red and yellow, because only green and the fallback were pinned, although the README documents all three Line coverage of node.cpp goes 93.7% -> 94.4% and of node.hpp 92.6% -> 100%. What is left in node.cpp is the two cv_bridge catch blocks, which cannot be tested without taking the test binary down. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>>
* test(autoware_traffic_light_visualization): make the pixel checks say what they check Review feedback: the assertions did not make it clear what each test was looking for. Every pixel read now goes through a named variable, and the read sits next to the assertion it belongs to, under a line saying what the two of them establish. Where a test makes several claims, each claim is its own group. The coordinates behind the label box are explained once, on the two helpers that return them, instead of in each test. The tests for a ROI with and without a signal now read the same two points, so the label box is the only difference between them. The three known signal colors get a case each instead of a loop, which also drops the SCOPED_TRACE and the output_ reset the loop needed. Co-Authored-By: Claude Opus 5 <<noreply@anthropic.com>> ---------Co-authored-by: Claude Opus 5 <<noreply@anthropic.com>>
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
feat(traffic_light_visualization): apply [agnocast_wrapper::Node]{.title-ref} to [traffic_light_visualization]{.title-ref} (#12930)
- apply agnocast_wrapper::Node
- fix cpplint
* disable tests when agnocast enabled ---------
-
Contributors: Kentaro Nagatomo, Koichi Imai, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_traffic_light_visualization): retire characterization test and rename core unit test (#12612)
* test(autoware_traffic_light_visualization): retire characterization test for TrafficLightMapVisualizerNode The characterization test introduced in #12487 has served its purpose as the safety net during the refactor series (#12511 / #12553 / #12591 / #12596). Its scope is now fully covered by the finer-grained layers:
- extract_bulbs unit tests: lanelet -> Bulb conversion
- TrafficLightVisualizer core unit tests: bulb -> marker generation
- Node smoke tests: pub/sub plumbing and map-not-received guard Remove the characterization test and its CMakeLists.txt entry. The remaining test executables run an order of magnitude faster, with no loss of behavioural coverage.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/traffic_light_map_visualizer.launch.xml
-
- input/tl_state [default: traffic_signals]
- input/vector_map [default: /map/vector_map]
- output/traffic_light [default: traffic_signals/markers]
- launch/traffic_light_roi_visualizer.launch.xml
-
- input/image [default: /camera/image_raw]
- input/rois [default: ~/input/rois]
- input/rough/rois [default: ~/rough/rois]
- input/traffic_signals [default: ~/input/traffic_signals]
- output/image [default: ~/debug/rois]
- use_high_accuracy_detection [default: true]
- use_image_transport [default: true]