Traffic Lights MarkerArrays/Perception Lights ON/OFF #3153
KhalilSelyan
started this conversation in
Design
Replies: 1 comment 2 replies
-
I think proposed solution 1 or 2 is better because perception message should not be affected by visualization. In the current implementation, the visualization marker ID and lanelet ID are the same. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Traffic Lights
I'm currently working on a threejs 3D viz for autoware, while working on visualizing traffic lights. I realized that there was a bit of problem connecting traffic light spheres to the messages incoming from the perception stack to light them on.
The way the traffic lights are being published in this case, is such that each sphere (red,amber,green) is separate from eachother as such there is no direct way to figure out which 3 or 2 sphere belong with eachother in a cluster of an actual traffic light. You would have ids : 8828, 8879, 8832 etc... the only thing that builds a connection to them is their position and the 3d text object that labels which id this traffic light should have.
Green Light Set to ON for traffic light with ID 384
Searching for id 384 on the vector map markers array
The ID of 384 is linked to the 3d text object of said traffic light, but not the actual spheres themselves.
Example of what one of the traffic light sphere markers ID is like : 8828
Issues
When receiving a message from the perception stack that one of the lights is on, there isn't a way to call the sphere marker to change it's opacity as the message's linked id is to the 3d text label and not the actual sphere.
Proposed Solutions
The spheres' opacity gets automatically updated, and the /map/vector_map_marker topic republishes on change. (but this might have a performance issue as everything in the map would technically rerender)
Separate the traffic lights from the rest of the /map/vector_map_marker markerArrays as such if they get automatically updated only the traffic light get rerendered instead of all 3d environment.
Perception stack message publishers, publish sphere IDs instead of label IDs in the following shape:
By changing the ID, now the message would specify which light specifically is being turned on. Hence, removing the color attribute since the sphere id now targets a specific color.
Beta Was this translation helpful? Give feedback.
All reactions