KRAUSSSSSSSSSSSSSSSSS

This commit is contained in:
leo 2022-04-05 17:42:38 +02:00
parent b55e7bf91d
commit db8e72ef0b
Signed by: leo
GPG Key ID: 0DD993BFB2B307DB
7 changed files with 243 additions and 22 deletions

37
Car.py
View File

@ -55,9 +55,12 @@ class Car():
self.vmax=0
self.gamma = 5
self.alpha = 0.1
self.beta = 0.1
self.nu = 0.1
self.gamma = 10
self.delta = 0
self.T = uniform(0.9,1.6)
self.T = 1.3#uniform(0.9,1.6)
self.size = 3
self.vroom = 0
@ -170,6 +173,8 @@ class Car():
return cDist
def getLeaderAtIntersection(self, prevInd, edgeInd):
if(self.getCurrentEdge().isSpecial()):
return
while(self.route[edgeInd].isSpecial()):
edgeInd = edgeInd + 1
if edgeInd >= len(self.route):
@ -254,7 +259,7 @@ class Car():
if(self.leaderBefore):
if(vleader == 0):
return
if(self.distToInter > (self.T * self.vmax) or ((self.distToInter / self.vmax) < (self.leaderDist / vleader) - 2*self.T)):
if(self.distToInter > (self.T * self.vmax) or ((self.distToInter / self.vmax) < (self.leaderDist / vleader) - 2 * self.T)):
self.v=self.vmax
else:
self.v = 0
@ -283,7 +288,31 @@ class Car():
self.v=max(0,vd)
self.updateGraph(self.v, vmax, vsec)
def conduiteGipps(self, dt): #Nope
Va = self.v + 2.5 * self.a * dt * (1 - self.v/self.vmax) * sqrt(0.025 + self.v/self.vmax)
#Vb = self.b * dt + sqrt(self.b**2 * dt**2 - self.b * )
def conduiteKrauss(self, vmax, leader, dt):
if self.id == "f_00" and self.controller.t%10>5:
self.v = 0
return
if leader is None:
vd = min(self.v + self.a * dt, vmax)
self.v = max(0, vd-self.nu)
return
vleader = leader.v
bleader = leader.b
vb = (vleader + self.v) / 2
bb = (bleader + self.b) / 2
#S = self.alpha * vleader**2 + self.beta * self.v**2 + self.gamma * self.v + self.delta
vsec = vleader + (self.leaderDist - vleader * self.T)/((vb/bb) + self.T)
vd = min(self.v + self.a * dt, vsec, vmax)
self.v = max(0, vd-self.nu)
self.updateGraph(self.v, vmax, vsec)
def updateGraph(self, v, vmax, vsec):
if self.infoWidg is None:
return
@ -299,7 +328,7 @@ class Car():
self.leader=self.getLeader(100)
self.conduite(self.vmax,self.leader,dt)
self.conduiteKrauss(self.vmax,self.leader,dt)
lgt=self.v*dt

View File

@ -4,40 +4,40 @@
-->
<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">
<flow id="f_0" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="E3 E7 -E40"/>
</flow>
<flow id="f_1" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_1" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="E3 E7 E6 E50"/>
</flow>
<flow id="f_10" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_10" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="-E6 E8 E7 -E40"/>
</flow>
<flow id="f_11" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_11" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="-E6 E8 E7 E6 E50"/>
</flow>
<flow id="f_2" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_2" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="E3 E7 E6 E9 E60"/>
</flow>
<flow id="f_3" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_3" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="E4 E6 E50"/>
</flow>
<flow id="f_4" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_4" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="E4 E6 E9 E60"/>
</flow>
<flow id="f_5" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_5" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="E4 E6 E9 E8 -E30"/>
</flow>
<flow id="f_6" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_6" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="-E5 E9 E60"/>
</flow>
<flow id="f_7" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_7" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="-E5 E9 E8 -E30"/>
</flow>
<flow id="f_8" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_8" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="-E5 E9 E8 E7 -E40"/>
</flow>
<flow id="f_9" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_9" begin="0.00" end="3600.00" vehsPerHour="500.00">
<route edges="-E6 E8 -E30"/>
</flow>
</routes>

View File

@ -7,7 +7,25 @@
<vehicle id="v_0" depart="0.00">
<route edges="E3 E7 E6 E9 E60"/>
</vehicle>
<vehicle id="v_2" depart="1.00">
<route edges="E3 E7 E6 E9 E60"/>
</vehicle>
<vehicle id="v_3" depart="2.00">
<route edges="E3 E7 E6 E9 E60"/>
</vehicle>
<vehicle id="v_4" depart="3.00">
<route edges="E3 E7 E6 E9 E60"/>
</vehicle>
<vehicle id="v_1" depart="0.00">
<route edges="-E6 E8 E7 E6 E50"/>
</vehicle>
<vehicle id="v_5" depart="1.00">
<route edges="-E6 E8 E7 E6 E50"/>
</vehicle>
<vehicle id="v_6" depart="6.00">
<route edges="-E6 E8 E7 E6 E50"/>
</vehicle>
</routes>

View File

@ -7,10 +7,10 @@
<vehicle id="v_0" depart="0.00">
<route edges="E1 E9 E8 E7 E40"/>
</vehicle>
<vehicle id="v_1" depart="0.00">
<vehicle id="v_1" depart="1.00">
<route edges="-E4 E10 E9 E8 E7 E40"/>
</vehicle>
<vehicle id="v_2" depart="0.50">
<vehicle id="v_2" depart="10.50">
<route edges="-E4 E10 E9 E8 E7 E40"/>
</vehicle>
</routes>

View File

@ -4,17 +4,17 @@
-->
<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">
<flow id="f_0" begin="0.00" end="3600.00" vehsPerHour="100.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">
<flow id="f_1" begin="0.00" end="3600.00" vehsPerHour="100.00">
<route edges="-E4 E10 E9 E8 E20"/>
</flow>
<flow id="f_2" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_2" begin="0.00" end="3600.00" vehsPerHour="100.00">
<route edges="E3 E8 E7 E10 -E10"/>
</flow>
<flow id="f_3" begin="0.00" end="3600.00" vehsPerHour="1800.00">
<flow id="f_3" begin="0.00" end="3600.00" vehsPerHour="100.00">
<route edges="-E2 E7 E10 E9 -E30"/>
</flow>
</routes>

View File

@ -30,4 +30,8 @@
<vehicle id="vehicle_0" depart="0.00">
<route edges="gneE0 gneE1" color="cyan"/>
</vehicle>
<vehicle id="vehicle_1" depart="0.00">
<route edges="gneE0 gneE1" color="cyan"/>
</vehicle>
</routes>

170
test9.net.xml Normal file
View File

@ -0,0 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated on 2022-04-05 15:16:18 by Eclipse SUMO netedit Version 1.12.0
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/netconvertConfiguration.xsd">
<input>
<sumo-net-file value="/home/leo/Sketchbook/python/Traffic/test8.net.xml"/>
</input>
<output>
<output-file value="/home/leo/Sketchbook/python/Traffic/test9.net.xml"/>
</output>
<processing>
<geometry.min-radius.fix.railways value="false"/>
<geometry.max-grade.fix value="false"/>
<offset.disable-normalization value="true"/>
<lefthand value="false"/>
</processing>
<junctions>
<no-turnarounds value="true"/>
<junctions.corner-detail value="5"/>
<junctions.limit-turn-speed value="5.5"/>
<rectangular-lane-cut value="false"/>
</junctions>
<pedestrian>
<walkingareas value="false"/>
</pedestrian>
<report>
<aggregate-warnings value="5"/>
</report>
</configuration>
-->
<net version="1.9" junctionCornerDetail="5" limitTurnSpeed="5.50" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/net_file.xsd">
<location netOffset="0.00,0.00" convBoundary="-32.74,6.62,118.09,97.16" origBoundary="-10000000000.00,-10000000000.00,10000000000.00,10000000000.00" projParameter="!"/>
<edge id=":J10_0" function="internal">
<lane id=":J10_0_0" index="0" speed="7.24" length="7.98" shape="37.37,81.28 37.06,79.51 36.15,77.96 34.65,76.63 32.54,75.52"/>
</edge>
<edge id=":J10_1" function="internal">
<lane id=":J10_1_0" index="0" speed="7.24" length="7.99" shape="45.36,75.48 43.26,76.60 41.76,77.94 40.86,79.49 40.57,81.27"/>
</edge>
<edge id=":J10_2" function="internal">
<lane id=":J10_2_0" index="0" speed="8.33" length="13.16" shape="45.36,75.48 42.15,76.49 38.95,76.84 35.74,76.52 32.54,75.52"/>
</edge>
<edge id=":J11_0" function="internal">
<lane id=":J11_0_0" index="0" speed="7.23" length="7.97" shape="65.21,56.28 63.44,56.60 61.90,57.52 60.58,59.03 59.50,61.15"/>
</edge>
<edge id=":J11_1" function="internal">
<lane id=":J11_1_0" index="0" speed="7.28" length="7.94" shape="59.38,48.34 60.55,50.43 61.90,51.92 63.44,52.80 65.18,53.09"/>
</edge>
<edge id=":J11_2" function="internal">
<lane id=":J11_2_0" index="0" speed="8.33" length="13.16" shape="59.38,48.34 60.43,51.47 60.80,54.64 60.49,57.87 59.50,61.15"/>
</edge>
<edge id=":J12_0" function="internal">
<lane id=":J12_0_0" index="0" speed="7.25" length="7.90" shape="38.62,28.64 39.04,30.34 40.05,31.80 41.63,33.02 43.80,34.00"/>
</edge>
<edge id=":J12_1" function="internal">
<lane id=":J12_1_0" index="0" speed="7.36" length="7.80" shape="31.04,34.83 33.05,33.46 34.45,32.02 35.24,30.48 35.43,28.86"/>
</edge>
<edge id=":J12_2" function="internal">
<lane id=":J12_2_0" index="0" speed="8.33" length="13.19" shape="31.04,34.83 33.99,33.54 37.11,32.98 40.38,33.13 43.80,34.00"/>
</edge>
<edge id=":J13_0" function="internal">
<lane id=":J13_0_0" index="0" speed="7.24" length="7.98" shape="18.30,61.24 17.20,59.13 15.88,57.61 14.33,56.70 12.56,56.39"/>
</edge>
<edge id=":J13_1" function="internal">
<lane id=":J13_1_0" index="0" speed="8.33" length="13.23" shape="18.30,61.24 17.23,57.81 16.87,54.53 17.22,51.39 18.30,48.40"/>
</edge>
<edge id=":J13_2" function="internal">
<lane id=":J13_2_0" index="0" speed="7.39" length="7.85" shape="12.59,53.19 14.20,52.90 15.69,52.00 17.06,50.50 18.30,48.40"/>
</edge>
<edge id="-E10" from="J13" to="J2" priority="-1">
<lane id="-E10_0" index="0" speed="13.89" length="45.32" shape="12.56,56.39 -32.75,56.09"/>
</edge>
<edge id="-E2" from="J4" to="J11" priority="-1">
<lane id="-E2_0" index="0" speed="13.89" length="52.90" shape="118.11,55.74 65.21,56.28"/>
</edge>
<edge id="-E30" from="J12" to="J5" priority="-1">
<lane id="-E30_0" index="0" speed="13.89" length="22.19" shape="35.43,28.86 33.86,6.73"/>
</edge>
<edge id="-E4" from="J6" to="J10" priority="-1">
<lane id="-E4_0" index="0" speed="13.89" length="15.88" shape="37.41,97.16 37.37,81.28"/>
</edge>
<edge id="E1" from="J2" to="J13" priority="-1">
<lane id="E1_0" index="0" speed="13.89" length="45.32" shape="-32.73,52.89 12.59,53.19"/>
</edge>
<edge id="E10" from="J10" to="J13" priority="-1" shape="38.95,74.96 33.74,74.29 28.88,72.28 24.72,69.08 21.53,64.90 19.54,60.04 18.89,54.83">
<lane id="E10_0" index="0" speed="8.33" length="21.01" shape="32.54,75.52 28.07,73.68 23.58,70.22 20.13,65.70 18.30,61.24"/>
</edge>
<edge id="E20" from="J11" to="J4" priority="-1">
<lane id="E20_0" index="0" speed="13.89" length="52.90" shape="65.18,53.09 118.07,52.54"/>
</edge>
<edge id="E3" from="J5" to="J12" priority="-1">
<lane id="E3_0" index="0" speed="13.89" length="22.19" shape="37.06,6.51 38.62,28.64"/>
</edge>
<edge id="E40" from="J10" to="J6" priority="-1">
<lane id="E40_0" index="0" speed="13.89" length="15.88" shape="40.57,81.27 40.61,97.16"/>
</edge>
<edge id="E7" from="J11" to="J10" priority="-1" shape="58.89,54.75 58.25,59.96 56.29,64.83 53.13,69.01 48.98,72.23 44.14,74.26 38.95,74.96">
<lane id="E7_0" index="0" speed="8.33" length="20.97" shape="59.50,61.15 57.69,65.62 54.28,70.14 49.79,73.62 45.36,75.48"/>
</edge>
<edge id="E8" from="J12" to="J11" priority="-1" shape="37.47,35.01 42.88,35.37 48.00,37.16 52.44,40.26 55.89,44.44 58.10,49.39 58.89,54.75">
<lane id="E8_0" index="0" speed="8.33" length="22.14" shape="43.80,34.00 48.74,35.72 53.53,39.07 57.26,43.59 59.38,48.34"/>
</edge>
<edge id="E9" from="J13" to="J12" priority="-1" shape="18.89,54.83 19.81,48.95 22.43,43.60 26.50,39.26 31.67,36.31 37.47,35.01">
<lane id="E9_0" index="0" speed="8.33" length="19.19" shape="18.30,48.40 21.10,42.68 25.50,37.99 31.04,34.83"/>
</edge>
<junction id="J10" type="priority" x="38.95" y="74.96" incLanes="-E4_0 E7_0" intLanes=":J10_0_0 :J10_1_0 :J10_2_0" shape="35.77,81.28 42.17,81.27 42.54,79.60 43.02,78.88 43.69,78.22 44.54,77.64 45.59,77.12 45.13,73.84 43.07,74.57 41.01,75.00 38.94,75.15 36.88,75.02 34.82,74.59 32.76,73.88 32.32,77.17 34.23,78.26 34.90,78.91 35.38,79.63 35.67,80.42">
<request index="0" response="100" foes="100" cont="0"/>
<request index="1" response="000" foes="000" cont="0"/>
<request index="2" response="000" foes="001" cont="0"/>
</junction>
<junction id="J11" type="priority" x="58.89" y="54.75" incLanes="-E2_0 E8_0" intLanes=":J11_0_0 :J11_1_0 :J11_2_0" shape="65.23,57.88 65.16,51.49 63.54,51.12 62.82,50.65 62.16,49.99 61.56,49.13 61.02,48.09 57.74,48.59 58.49,50.60 58.94,52.62 59.11,54.67 58.98,56.74 58.56,58.83 57.86,60.94 61.14,61.36 62.21,59.44 62.85,58.77 63.57,58.28 64.36,57.99">
<request index="0" response="100" foes="100" cont="0"/>
<request index="1" response="000" foes="000" cont="0"/>
<request index="2" response="000" foes="001" cont="0"/>
</junction>
<junction id="J12" type="priority" x="37.47" y="35.01" incLanes="E3_0 E9_0" intLanes=":J12_0_0 :J12_1_0 :J12_2_0" shape="43.68,35.65 43.92,32.34 41.95,31.37 41.24,30.77 40.71,30.10 40.37,29.35 40.22,28.52 33.83,28.98 33.60,31.01 33.17,31.80 32.54,32.44 31.71,32.92 30.68,33.25 31.41,36.46 33.29,35.56 35.24,34.96 37.25,34.68 39.33,34.69 41.47,35.02">
<request index="0" response="100" foes="100" cont="0"/>
<request index="1" response="000" foes="000" cont="0"/>
<request index="2" response="000" foes="001" cont="0"/>
</junction>
<junction id="J13" type="priority" x="18.89" y="54.83" incLanes="E10_0 E1_0" intLanes=":J13_0_0 :J13_1_0 :J13_2_0" shape="16.66,61.45 19.94,61.03 19.18,58.81 18.72,56.66 18.57,54.57 18.72,52.54 19.18,50.58 19.95,48.67 16.70,48.15 16.00,50.07 15.40,50.74 14.63,51.22 13.70,51.50 12.60,51.59 12.55,57.99 14.21,58.38 14.93,58.86 15.58,59.53 16.15,60.40">
<request index="0" response="000" foes="000" cont="0"/>
<request index="1" response="000" foes="100" cont="0"/>
<request index="2" response="010" foes="010" cont="0"/>
</junction>
<junction id="J2" type="dead_end" x="-32.74" y="54.49" incLanes="-E10_0" intLanes="" shape="-32.74,54.49 -32.76,57.69 -32.74,54.49"/>
<junction id="J4" type="dead_end" x="118.09" y="54.14" incLanes="E20_0" intLanes="" shape="118.09,54.14 118.06,50.94 118.09,54.14"/>
<junction id="J5" type="dead_end" x="35.46" y="6.62" incLanes="-E30_0" intLanes="" shape="35.46,6.62 32.27,6.85 35.46,6.62"/>
<junction id="J6" type="dead_end" x="39.01" y="97.16" incLanes="E40_0" intLanes="" shape="39.01,97.16 42.21,97.15 39.01,97.16"/>
<connection from="-E2" to="E7" fromLane="0" toLane="0" via=":J11_0_0" dir="r" state="m" visibility="9.00"/>
<connection from="-E4" to="E10" fromLane="0" toLane="0" via=":J10_0_0" dir="r" state="m" visibility="9.00"/>
<connection from="E1" to="E9" fromLane="0" toLane="0" via=":J13_2_0" dir="r" state="m" visibility="9.00"/>
<connection from="E10" to="-E10" fromLane="0" toLane="0" via=":J13_0_0" dir="r" state="M"/>
<connection from="E10" to="E9" fromLane="0" toLane="0" via=":J13_1_0" dir="s" state="M"/>
<connection from="E3" to="E8" fromLane="0" toLane="0" via=":J12_0_0" dir="r" state="m" visibility="9.00"/>
<connection from="E7" to="E40" fromLane="0" toLane="0" via=":J10_1_0" dir="r" state="M"/>
<connection from="E7" to="E10" fromLane="0" toLane="0" via=":J10_2_0" dir="s" state="M"/>
<connection from="E8" to="E20" fromLane="0" toLane="0" via=":J11_1_0" dir="r" state="M"/>
<connection from="E8" to="E7" fromLane="0" toLane="0" via=":J11_2_0" dir="s" state="M"/>
<connection from="E9" to="-E30" fromLane="0" toLane="0" via=":J12_1_0" dir="r" state="M"/>
<connection from="E9" to="E8" fromLane="0" toLane="0" via=":J12_2_0" dir="s" state="M"/>
<connection from=":J10_0" to="E10" fromLane="0" toLane="0" dir="r" state="M"/>
<connection from=":J10_1" to="E40" fromLane="0" toLane="0" dir="r" state="M"/>
<connection from=":J10_2" to="E10" fromLane="0" toLane="0" dir="s" state="M"/>
<connection from=":J11_0" to="E7" fromLane="0" toLane="0" dir="r" state="M"/>
<connection from=":J11_1" to="E20" fromLane="0" toLane="0" dir="r" state="M"/>
<connection from=":J11_2" to="E7" fromLane="0" toLane="0" dir="s" state="M"/>
<connection from=":J12_0" to="E8" fromLane="0" toLane="0" dir="r" state="M"/>
<connection from=":J12_1" to="-E30" fromLane="0" toLane="0" dir="r" state="M"/>
<connection from=":J12_2" to="E8" fromLane="0" toLane="0" dir="s" state="M"/>
<connection from=":J13_0" to="-E10" fromLane="0" toLane="0" dir="r" state="M"/>
<connection from=":J13_1" to="E9" fromLane="0" toLane="0" dir="s" state="M"/>
<connection from=":J13_2" to="E9" fromLane="0" toLane="0" dir="r" state="M"/>
<roundabout nodes="J10 J11 J12 J13" edges="E10 E7 E8 E9"/>
</net>