Want to extract left conflictling maneuvers

“”"
TITLE: Intersection 03
AUTHOR:
DESCRIPTION: Ego vehicle either goes straight or makes a left turn at
4-way intersection and must suddenly stop to avoid collision when
adversary vehicle from lateral lane continues straight.
SOURCE: NHSTA, #28 #29

To run this file using the Carla simulator:
scenic examples/carla/NHTSA_Scenarios/intersection/intersection_copy3.scenic --2d --model scenic.simulators.carla.model --simulate
“”"

#################################

MAP AND MODEL

#################################

param map = localPath(‘../../../../assets/maps/CARLA/Town05.xodr’)
param carla_map = ‘Town05’
model scenic.simulators.carla.model

#Environment
param time = 22 # 10 PM
param weather = ‘ClearNight’

#################################

CONSTANTS

#################################

MODEL = ‘vehicle.lincoln.mkz_2017’
ADV_MODEL = “vehicle.nissan.patrol”

EGO_INIT_DIST = [20, 25]
param EGO_SPEED = VerifaiRange(7, 10)

ADV_INIT_DIST = [15, 20]
param ADV_SPEED = VerifaiRange(7, 10)

CRASH_DIST = 5
TERM_DIST = 70

#################################

AGENT BEHAVIORS

#################################

behavior EgoBehavior(trajectory):
do FollowTrajectoryBehavior(target_speed=globalParameters.EGO_SPEED, trajectory=trajectory)

#################################

SPATIAL RELATIONS

#################################

#intersection = filter(lambda i: i.is4Way, network.intersections)[0]
intersection = Uniform(*filter(lambda i: i.is4Way and not i.isSignalized, network.intersections))
egoInitLane = intersection.incomingLanes[0]
egoManeuver = Uniform(*filter(lambda m:
m.type is ManeuverType.STRAIGHT,
egoInitLane.maneuvers))
egoTrajectory = [egoInitLane, egoManeuver.connectingLane, egoManeuver.endLane]
egoSpawnPt = new OrientedPoint in egoInitLane.centerline

advInitLane = Uniform(*filter(lambda m:
m.type is ManeuverType.STRAIGHT,
Uniform(*filter(lambda m:
m.type is ManeuverType.STRAIGHT,
egoInitLane.maneuvers)
).conflictingManeuvers)
).startLane

advManeuver = Uniform(*filter(lambda m: m.type is ManeuverType.STRAIGHT, advInitLane.maneuvers))
advTrajectory = [advInitLane, advManeuver.connectingLane, advManeuver.endLane]
advSpawnPt = new OrientedPoint in advInitLane.centerline

#################################

SCENARIO SPECIFICATION

#################################

ego = new Car at egoSpawnPt,
with blueprint MODEL,
with behavior EgoBehavior(egoTrajectory)

adversary = new Car at advSpawnPt,
with blueprint ADV_MODEL,
with behavior FollowTrajectoryBehavior(target_speed=globalParameters.ADV_SPEED, trajectory=advTrajectory)

require EGO_INIT_DIST[0] <= (distance to intersection) <= EGO_INIT_DIST[1]
require ADV_INIT_DIST[0] <= (distance from adversary to intersection) <= ADV_INIT_DIST[1]
require eventually ego.distanceTo(adversary) <= CRASH_DIST # ← ensures collision

terminate when (distance to egoSpawnPt) > TERM_DIST. I have changed the code now in the conflicting maneuver.the adv vehicle comes from the left of the ego vehicle and from the right of ego vehicle. I was wondering if I can control and get just the left side. I am adding two pictures as well