daohu527 / daohu527/apollo_map

Traffic Lights missing boundary

Open
#1 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Shell
Stars
24
Forks
6
PR merge metrics
No merged PRs in 30d

Description

I noticed the Traffic Lights in your Apollo Maps do not have the boundary. For example, town01 at https://github.com/Flycars/apollo_map/blob/main/apollo/town01/base_map.txt

Looking at the Proto Message from Apollo:

https://github.com/ApolloAuto/apollo/blob/master/modules/common_msgs/map_msgs/map_signal.proto
```
message Signal {
enum Type {
UNKNOWN = 1;
MIX_2_HORIZONTAL = 2;
MIX_2_VERTICAL = 3;
MIX_3_HORIZONTAL = 4;
MIX_3_VERTICAL = 5;
SINGLE = 6;
};

optional Id id = 1;
optional Polygon boundary = 2; //HERE
repeated Subsignal subsignal = 3;
// TODO: add orientation. now no data support.
repeated Id overlap_id = 4;
optional Type type = 5;
// stop line
repeated Curve stop_line = 6;

repeated SignInfo sign_info = 7;
}
```

In the Traffic Light Detection Module, Apollo will use this boundary to project the Light Module 3D location to the Camera frame and create a region of interest. If the points are not available, it will throw an Error and interrupt the detection pipeline.

https://github.com/ApolloAuto/apollo/blob/master/modules/perception/camera/lib/traffic_light/preprocessor/multi_camera_projection.cc

```
bool MultiCamerasProjection::BoundaryBasedProject(
(...)
int bound_size = static_cast(points.size());
if (bound_size < 4) {
AERROR << "invalid bound_size " << bound_size;
return false;
}
```
Based on the code, this will always fail if the Signal objects in the HDMap do not have the boundary points. Have you tested the maps with the Traffic Light Detection?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.