Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(autoware_traffic_light_multi_camera_fusion): modify docs #9821

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions perception/autoware_traffic_light_multi_camera_fusion/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,36 @@
# The `traffic_light_multi_camera_fusion` Package
# autoware_traffic_light_multi_camera_fusion

## Overview

`traffic_light_multi_camera_fusion` performs traffic light signal fusion which can be summarized as the following two tasks:
`autoware_traffic_light_multi_camera_fusion` performs traffic light signal fusion which can be summarized as the following two tasks:

1. Multi-Camera-Fusion: performed on single traffic light signal detected by different cameras.
2. Group-Fusion: performed on traffic light signals within the same group, which means traffic lights sharing the same regulatory element id defined in lanelet2 map.
1. Multi-Camera-Fusion: fusion each traffic light signal detected by different cameras.
2. Group-Fusion: Fusion each traffic light signal within the same group, which means traffic lights share the same regulatory element ID defined in lanelet2 map.

The fusion method is below.

1. Use the results of the new timestamp if the results are from the same sensor
2. Use the results that are not `elements.size() == 1 && color == UNKNOWN && shape == UNKNOWN`
3. Use the results that each vertex of ROI is not at the edge of the image
4. Use the results of high confidence

## Input topics

For every camera, the following three topics are subscribed:

| Name | Type | Description |
| -------------------------------------- | ---------------------------------------------- | --------------------------------------------------- |
| `~/<camera_namespace>/camera_info` | sensor_msgs::CameraInfo | camera info from traffic_light_map_based_detector |
| `~/<camera_namespace>/rois` | tier4_perception_msgs::TrafficLightRoiArray | detection roi from traffic_light_fine_detector |
| `~/<camera_namespace>/traffic_signals` | tier4_perception_msgs::TrafficLightSignalArray | classification result from traffic_light_classifier |
| Name | Type | Description |
| ----------------------------------------------------- | ------------------------------------------------ | ------------------------------------- |
| `~/<camera_namespace>/camera_info` | sensor_msgs::msg::CameraInfo | camera info from map_based_detector |
| `~/<camera_namespace>/detection/rois` | tier4_perception_msgs::msg::TrafficLightRoiArray | detection roi from fine_detector |
| `~/<camera_namespace>/classification/traffic_signals` | tier4_perception_msgs::msg::TrafficLightArray | classification result from classifier |

You don't need to configure these topics manually. Just provide the `camera_namespaces` parameter and the node will automatically extract the `<camera_namespace>` and create the subscribers.

## Output topics

| Name | Type | Description |
| -------------------------- | ------------------------------------------------- | ---------------------------------- |
| `~/output/traffic_signals` | autoware_perception_msgs::TrafficLightSignalArray | traffic light signal fusion result |
| Name | Type | Description |
| -------------------------- | ----------------------------------------------------- | ---------------------------------- |
| `~/output/traffic_signals` | autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light signal fusion result |

## Node parameters

Expand Down
Loading