fix?
This commit is contained in:
parent
426bcc8139
commit
708341dd06
24
Car.py
24
Car.py
@ -50,6 +50,8 @@ class Car():
|
||||
self.v=0
|
||||
self.a=10
|
||||
self.b=20
|
||||
self.leaderBefore=False
|
||||
self.distToInter=0
|
||||
|
||||
self.vmax=0
|
||||
|
||||
@ -125,7 +127,9 @@ class Car():
|
||||
edgeInd+=1
|
||||
carComing = self.getLeaderAtIntersection(prevInd,edgeInd)
|
||||
if(carComing is not None):
|
||||
self.leaderDist = l + 0.3*carComing[0]
|
||||
self.distToInter = l
|
||||
self.leaderDist = carComing[0]
|
||||
self.leaderBefore = True
|
||||
return carComing[1]
|
||||
if(not self.route[edgeInd].isSpecial()):
|
||||
prevInd = edgeInd
|
||||
@ -143,6 +147,7 @@ class Car():
|
||||
l+=dist(laneShape[shapeInd], closest.pos)
|
||||
if l <= maxDist:
|
||||
self.leaderDist = l
|
||||
self.leaderBefore = False
|
||||
return closest
|
||||
else:
|
||||
return
|
||||
@ -227,14 +232,15 @@ class Car():
|
||||
painter.drawText(QPointF(0,0),"vroom")
|
||||
self.vroom -= 1
|
||||
painter.restore()
|
||||
#painter.drawEllipse(pt,100,100)
|
||||
elSize = self.v * self.T
|
||||
painter.drawEllipse(pt,elSize, elSize)
|
||||
|
||||
def conduite(self,vmax,leader,dt):
|
||||
if self.id == "f_00" and self.controller.t%10>5:
|
||||
"""if self.id == "f_00" and self.controller.t%10>5:
|
||||
|
||||
self.v = 0
|
||||
return
|
||||
|
||||
"""
|
||||
if(leader is None):
|
||||
self.v = self.vmax
|
||||
self.updateGraph(self.v, vmax, 0)
|
||||
@ -245,6 +251,16 @@ class Car():
|
||||
vleader=leader.v # vitesse de la voiture leader
|
||||
bleader=leader.b
|
||||
|
||||
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)):
|
||||
self.v=self.vmax
|
||||
else:
|
||||
self.v = 0
|
||||
self.updateGraph(self.v, vmax, 0)
|
||||
return
|
||||
|
||||
vbar=(self.v+vleader)/2
|
||||
bbar=(bleader+self.b)/2
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user