random spawn+T
This commit is contained in:
parent
708341dd06
commit
b55e7bf91d
4
Car.py
4
Car.py
@ -1,6 +1,6 @@
|
|||||||
import sumolib
|
import sumolib
|
||||||
from math import dist, ceil, sqrt, log, cos, sin, atan2
|
from math import dist, ceil, sqrt, log, cos, sin, atan2
|
||||||
from random import randint
|
from random import randint, uniform
|
||||||
from PySide6.QtGui import QPainter
|
from PySide6.QtGui import QPainter
|
||||||
from PySide6.QtCore import QPointF, Signal, QObject
|
from PySide6.QtCore import QPointF, Signal, QObject
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ class Car():
|
|||||||
|
|
||||||
self.gamma = 5
|
self.gamma = 5
|
||||||
self.delta = 0
|
self.delta = 0
|
||||||
self.T = 1.3
|
self.T = uniform(0.9,1.6)
|
||||||
self.size = 3
|
self.size = 3
|
||||||
|
|
||||||
self.vroom = 0
|
self.vroom = 0
|
||||||
|
@ -131,7 +131,11 @@ class CarController:
|
|||||||
else:
|
else:
|
||||||
self.cars.append(Car(vehicle.id,route,vehicle.depart,self.map,self,None))
|
self.cars.append(Car(vehicle.id,route,vehicle.depart,self.map,self,None))
|
||||||
elif vehicle.name == "flow":
|
elif vehicle.name == "flow":
|
||||||
self.flows.append(Flow(vehicle.id, route, vehicle.begin, vehicle.vehsPerHour, self.map, self))
|
randomFlow = 0
|
||||||
|
if(vehicle.hasChild("param")):
|
||||||
|
params = vehicle.getChild("param")[0]
|
||||||
|
randomFlow = params.getAttributeSecure("value")
|
||||||
|
self.flows.append(Flow(vehicle.id, route, vehicle.begin, vehicle.vehsPerHour, randomFlow,self.map, self))
|
||||||
|
|
||||||
def prepareRoute(self):
|
def prepareRoute(self):
|
||||||
for car in self.cars:
|
for car in self.cars:
|
||||||
|
8
Flow.py
8
Flow.py
@ -1,13 +1,16 @@
|
|||||||
from Car import Car
|
from Car import Car
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
|
from random import randint
|
||||||
|
|
||||||
class Flow:
|
class Flow:
|
||||||
def __init__(self,ID,route,start,vph,parentMap,parentController):
|
def __init__(self,ID,route,start,vph,randomVal,parentMap,parentController):
|
||||||
self.route = route
|
self.route = route
|
||||||
self.id = ID
|
self.id = ID
|
||||||
self.startTime = start
|
self.startTime = start
|
||||||
self.vph = float(vph)
|
self.vph = float(vph)
|
||||||
|
self.randomVal = int(randomVal)
|
||||||
|
self.adjVPH = self.vph + randint(0,self.randomVal)
|
||||||
self.carModel = Car("model",self.route,start,parentMap,parentController,None)
|
self.carModel = Car("model",self.route,start,parentMap,parentController,None)
|
||||||
self.carsSpawned = 0
|
self.carsSpawned = 0
|
||||||
|
|
||||||
@ -16,10 +19,11 @@ class Flow:
|
|||||||
|
|
||||||
def shouldSpawn(self, t):
|
def shouldSpawn(self, t):
|
||||||
f = self.carsSpawned / (t/3600)
|
f = self.carsSpawned / (t/3600)
|
||||||
return f < self.vph
|
return f < self.adjVPH
|
||||||
|
|
||||||
def spawnCar(self):
|
def spawnCar(self):
|
||||||
newCar = copy.copy(self.carModel)
|
newCar = copy.copy(self.carModel)
|
||||||
newCar.id = self.id + str(self.carsSpawned)
|
newCar.id = self.id + str(self.carsSpawned)
|
||||||
self.carsSpawned += 1
|
self.carsSpawned += 1
|
||||||
|
self.adjVPH = self.vph + randint(0,self.randomVal)
|
||||||
return newCar
|
return newCar
|
||||||
|
53
test11_rand.rou.xml
Normal file
53
test11_rand.rou.xml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- generated on 2022-03-29 17:19:57 by Eclipse SUMO netedit Version 1.12.0
|
||||||
|
-->
|
||||||
|
|
||||||
|
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd">
|
||||||
|
<flow id="f_0" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="E3 E7 -E40"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_1" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="E3 E7 E6 E50"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_10" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<route edges="-E6 E8 E7 -E40"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_11" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="-E6 E8 E7 E6 E50"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_2" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="E3 E7 E6 E9 E60"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_3" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="E4 E6 E50"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_4" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="E4 E6 E9 E60"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_5" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="E4 E6 E9 E8 -E30"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_6" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="-E5 E9 E60"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_7" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="-E5 E9 E8 -E30"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_8" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="1000"/>
|
||||||
|
<route edges="-E5 E9 E8 E7 -E40"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_9" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<route edges="-E6 E8 -E30"/>
|
||||||
|
</flow>
|
||||||
|
</routes>
|
20
test16.rou.xml
Normal file
20
test16.rou.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- generated on 2022-03-29 16:45:17 by Eclipse SUMO netedit Version 1.12.0
|
||||||
|
-->
|
||||||
|
|
||||||
|
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd">
|
||||||
|
<flow id="f_0" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<param key="random" value="500"/>
|
||||||
|
<route edges="E1 E9 E8 E7 E40"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_1" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<route edges="-E4 E10 E9 E8 E20"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_2" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<route edges="E3 E8 E7 E10 -E10"/>
|
||||||
|
</flow>
|
||||||
|
<flow id="f_3" begin="0.00" end="3600.00" vehsPerHour="1800.00">
|
||||||
|
<route edges="-E2 E7 E10 E9 -E30"/>
|
||||||
|
</flow>
|
||||||
|
</routes>
|
Loading…
x
Reference in New Issue
Block a user