31 lines
1.3 KiB
Plaintext
31 lines
1.3 KiB
Plaintext
// Blocked Take Over Request Scenario
|
|
|
|
Scenario QueueSwitcher:
|
|
|
|
Act QueueSwitcher(rightcount=30,rightspeed=10km/h,latpos=0.3,latpostime=1s,blinktime=-2s):
|
|
|
|
@init:
|
|
CreateVehicle(Ego,EgoProto,xyz=0m|0m|0m,speed=30km/h)
|
|
CreateVehicle(Front,FrontProto,xyz=0m|Ego.y+100m|0m,speed=30km/h)
|
|
repeat n in [1:$rightcount] by 1:
|
|
CreateVehicle(RightQueue$n,RightQueueProto,xyz=5m|Ego.y+$n*15m|0m,speed=$rightspeed)
|
|
|
|
@Headway(Ego,Front) >= 2s % OnceOnly:
|
|
select next_queue in RightQueue* with DistanceBeforePassing(next_queue,Ego)>15m minimize Distance(next_queue,Ego):
|
|
@Distance($next_queue,Ego) < 10m:
|
|
LateralChange($next_queue,x=-$latpos,t=$latpostime)
|
|
Delay(2s)
|
|
SetLight($next_queue,LeftTurnIndicator)
|
|
Delay($blinktime)
|
|
LangeChange($next_queue,lane=+1,model=...)
|
|
LaneChange(Blocker,lane=+1,model=Sinusoidal(time=5s))
|
|
SpeedChange(Blocker,SpeedToReach(Blocker,Ego,Accident.y-180m))
|
|
|
|
Prototypes:
|
|
EgoProto: Vehicle(geometry="mycar.obj",color="blue")
|
|
FrontProto: Vehicle(geometry="traffic.obj",color="yellow",maxaccel=10km/h/10s,maxbrake=10m/s/s)
|
|
RightQueueProto: Vehicle(geometry="traffic.obj",color="green")
|
|
|
|
Resources:
|
|
Map: OpenDrive("OpenDriveMap.xodr")
|