The original code gets traffic lights info like this:
green_lane_connectors = [
str(data.lane_connector_id) for data in traffic_light_data if data.status == TrafficLightStatusType.GREEN
]
red_lane_connectors = [
str(data.lane_connector_id) for data in traffic_light_data if data.status == TrafficLightStatusType.RED
]
However, the 'traffic_light_data' is a generator, so that when you get 'green_lane_connectors', the red_lane_connectors will always be '[]'. The right code should be:
green_lane_connectors = []
red_lane_connectors = []
for data in traffic_light_data:
if data.status == TrafficLightStatusType.GREEN:
green_lane_connectors.append(str(data.lane_connector_id))
elif data.status == TrafficLightStatusType.RED:
red_lane_connectors.append(str(data.lane_connector_id))
Hi @jkewang, thanks for catching this. Yes, this was a bug we didn't catch when extracting traffic light info from the scenario was changed from a list to a generator -- it should be fixed in the upcoming release.
The original code gets traffic lights info like this:
However, the 'traffic_light_data' is a generator, so that when you get 'green_lane_connectors', the red_lane_connectors will always be '[]'. The right code should be: