Traffic light
The drawings on this page use left-hand traffic, as in Japan: vehicles drive on the left side of the road, and a right turn crosses the opposing lane. For right-hand traffic, swap left and right. In the map drawings, a colored area is a Lanelet, and a line with dots is a Linestring and its points.
Requirements#
vm-04-01 Traffic light basics#
Detail of requirements #
When you create traffic lights in a vector map, meet the following requirements:
- Road Lanelet (subtype:road). Quantity: one.
- Traffic Light. Multiple instances possible.
- Traffic light Linestring (type:traffic_light).
- Traffic light bulbs Linestring (type:light_bulbs).
- Stop line Linestring (type:stop_line).
- Regulatory element for traffic lights (subtype:traffic_light). The road Lanelet refers to it. It refers to the traffic light (traffic_light with the role refers, light_bulbs with the role light_bulbs) and to the stop line (stop_line with the role ref_line). Quantity: one.
Refer to Web.Auto Documentation - Creation of a traffic light and a stop line for the method of creation in Vector Map Builder.
Refer to vm-04-02 and vm-04-03 for the specifications of traffic light and traffic light bulb objects.
Preferred vector map #
If there is a crosswalk at the intersection, make the road Lanelet and the crosswalk Lanelet intersect and overlap.
Related Autoware module#
- Traffic Light design - Autoware Universe Documentation
- autoware_traffic_light_map_based_detector - Autoware Universe Documentation
vm-04-02 Traffic light position and size#
Detail of requirements #
Create traffic lights with Linestring.
- type:traffic_light
- subtype:red_yellow_green
Make the Linestring (from the start point to the end point) match the bottom edge of the traffic light. The start point is the left end, and the end point is the right end. Make sure that the 3D coordinates of the Linestring give the correct height of the traffic light above the ground.
Use tag:height for the size of the traffic light. For example, for 50 cm, write tag:height=0.5. This height is the size of the traffic light, not its position.
Supplemental information #
The map-based detector of the traffic light recognition skips traffic light Linestrings that have no subtype or that have subtype:solid. The camera then does not detect these lights. Autoware does not read other subtype values, such as red_yellow_green.
Preferred vector map #
Incorrect vector map #
None in particular.
Related Autoware module#
- Traffic Light design - Autoware Universe Documentation
- autoware_traffic_light_map_based_detector - Autoware Universe Documentation
vm-04-03 Traffic light lamps#
Detail of requirements #
To let the system detect the color of traffic lights, create the color scheme and the arrangement of the lamps accurately as objects. Show the position of each lamp with a Point. For colored lamps, use the color tag for the color. For arrow lamps, use the arrow tag for the direction.
- tag: color = red, yellow, green
- tag: arrow = up, right, left, up_right, up_left
Create a Linestring from the Points of the lamps.
- type: light_bulbs
- tag: traffic_light_id = the ID of the traffic light Linestring (type:traffic_light)
Preferred vector map #
The order of the Points of the lamps can be 1→2→3→4 or 4→3→2→1. Both are acceptable.
Supplemental information #
The map-based signal filter of autoware_traffic_light_multi_camera_fusion reads these tags. It also accepts the color white and the arrows down, down_left, down_right, and cross. It ignores a Point without a color tag.
Incorrect vector map #
None in particular.