Add further temporary examples
This commit is contained in:
29
examples/BlockedManual.osn
Normal file
29
examples/BlockedManual.osn
Normal 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
27
examples/BlockedTOR.osn
Normal 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")
|
||||
30
examples/QueueSwitcher.osn
Normal file
30
examples/QueueSwitcher.osn
Normal 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")
|
||||
@ -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))
|
||||
|
||||
Reference in New Issue
Block a user