Add further temporary examples

This commit is contained in:
2018-11-06 14:03:14 +01:00
parent a3953d267d
commit 5cd8c15f94
4 changed files with 87 additions and 1 deletions

View File

@ -0,0 +1,29 @@
// Blocked Take Over Request Scenario
Scenario BlockedTOR:
Act AccidentTOR:
@init:
CreateVehicle(Ego,EgoProto,xyz=0m|0m|0m,speed=130km/h)
CreateVehicle(Blocker,BlockerProto,xyz=0m|Ego.y-1000m|0m,speed=180km/h,model=ASAMStupidDriver(...))
CreateVehicle(BlockerRear,BlockerRearProto,xyz=0m|Blocker.y-50m|0m,speed=150km/h)
CreateVehicle(Accident,AccidentProto,xyz=0m|Ego.y+2000m|0m,speed=0km/h,model=ADACAccidentDriver(...))
@Distance(Ego,Accident) <= 1000m % OnceOnly:
LaneChange(Blocker,lane=+1,model=Sinusoidal(time=5s))
SpeedChange(Blocker,SpeedToReach(Blocker,Ego,Accident.y-180m))
@Distance(Blocker,Ego) <= 10m % OnceOnly:
SpeedChange(Blocker,Ego.velocity.y + 10km/h)
Prototypes:
EgoProto: Vehicle(geometry="mycar.obj",color="blue")
BlockerProto: Vehicle(geometry="traffic.obj",color="yellow",maxaccel=10km/h/10s,maxbrake=10m/s/s)
BlockerRearProto: Vehicle(geometry="traffic.obj",color="green")
AccidentProto: Vehicle(geometry="traffic.obj",color="red")
Resources:
Map: OpenDrive("OpenDriveMap.xodr")
ADACAccidentDriver: ExternalModel("")

27
examples/BlockedTOR.osn Normal file
View File

@ -0,0 +1,27 @@
// Blocked Take Over Request Scenario
Scenario BlockedTOR:
Act AccidentTOR:
@init:
CreateVehicle(Ego,EgoProto,xyz=0m|0m|0m,speed=130km/h)
CreateVehicle(Blocker,BlockerProto,xyz=0m|Ego.y-1000m|0m,speed=180km/h)
CreateVehicle(BlockerRear,BlockerRearProto,xyz=0m|Blocker.y-50m|0m,speed=150km/h)
CreateVehicle(Accident,AccidentProto,xyz=0m|Ego.y+2000m|0m,speed=0km/h)
@Distance(Ego,Accident) <= 1000m % OnceOnly:
LaneChange(Blocker,lane=+1,model=Sinusoidal(time=5s))
SpeedChange(Blocker,SpeedToReach(Blocker,Ego,Accident.y-180m))
@Distance(Blocker,Ego) <= 10m % OnceOnly:
SpeedChange(Blocker,Ego.velocity.y + 10km/h)
Prototypes:
EgoProto: Vehicle(geometry="mycar.obj",color="blue")
BlockerProto: Vehicle(geometry="traffic.obj",color="yellow",maxaccel=10km/h/10s,maxbrake=10m/s/s)
BlockerRearProto: Vehicle(geometry="traffic.obj",color="green")
AccidentProto: Vehicle(geometry="traffic.obj",color="red")
Resources:
Map: OpenDrive("OpenDriveMap.xodr")

View File

@ -0,0 +1,30 @@
// 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")

View File

@ -6,7 +6,7 @@ Scenario SimpleOvertaker:
@init:
CreateVehicle(Ego,EgoProto,xyz=0m|0m|0m,speed=80km/h)
CreateVehicle(Overtaker,OvertakerProto,xyz=0m|Ego.y-30m|0m,speed=100km/h)
CreateVehicle(Overtaker,OvertakerProto,xyz=0m|Ego.y-100m|0m,speed=100km/h)
@Distance(Ego,Overtaker) <= 30m % OnceOnly:
LaneChange(Overtaker,lane=-1,model=Sinusoidal(time=5s))