random spawn+T

This commit is contained in:
leo 2022-03-29 17:26:44 +02:00
parent 708341dd06
commit b55e7bf91d
Signed by: leo
GPG Key ID: 0DD993BFB2B307DB
5 changed files with 86 additions and 5 deletions

4
Car.py
View File

@ -1,6 +1,6 @@
import sumolib
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.QtCore import QPointF, Signal, QObject
@ -57,7 +57,7 @@ class Car():
self.gamma = 5
self.delta = 0
self.T = 1.3
self.T = uniform(0.9,1.6)
self.size = 3
self.vroom = 0

View File

@ -131,7 +131,11 @@ class CarController:
else:
self.cars.append(Car(vehicle.id,route,vehicle.depart,self.map,self,None))
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):
for car in self.cars:

View File

@ -1,13 +1,16 @@
from Car import Car
import copy
from random import randint
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.id = ID
self.startTime = start
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.carsSpawned = 0
@ -16,10 +19,11 @@ class Flow:
def shouldSpawn(self, t):
f = self.carsSpawned / (t/3600)
return f < self.vph
return f < self.adjVPH
def spawnCar(self):
newCar = copy.copy(self.carModel)
newCar.id = self.id + str(self.carsSpawned)
self.carsSpawned += 1
self.adjVPH = self.vph + randint(0,self.randomVal)
return newCar

53
test11_rand.rou.xml Normal file
View 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
View 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>