Mercurial Hosting > traffic-intelligence
diff trafficintelligence/prediction.py @ 1215:1b472cddf9b1
updated reading by interpolating missing frames
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 05 May 2023 22:52:25 -0400 |
parents | 01c24c1cdb70 |
children | ca70a79688ae |
line wrap: on
line diff
--- a/trafficintelligence/prediction.py Thu May 04 22:30:32 2023 -0400 +++ b/trafficintelligence/prediction.py Fri May 05 22:52:25 2023 -0400 @@ -558,9 +558,9 @@ if collisionTimeInterval.empty(): if computeCZ: - crossingZones = [SafetyPoint(intersection, 1., timeInterval1.distance(timeInterval2))] + crossingZones.append(SafetyPoint(intersection, 1., timeInterval1.distance(timeInterval2))) else: - collisionPoints = [SafetyPoint(intersection, 1., collisionTimeInterval.center())] + collisionPoints.append(SafetyPoint(intersection, 1., collisionTimeInterval.center())) if debug and intersection is not None: from matplotlib.pyplot import plot, figure, axis, title @@ -586,7 +586,10 @@ def computeCrossingsCollisionsAtInstant(self, currentInstant, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, *kwargs): 'TODO compute pPET' collisionPoints = [] - crossingZones = [] + if computeCZ: + crossingZones = [] + else: + crossingZones = None if self.useCurvilinear: pass # Lionel @@ -600,7 +603,7 @@ if not moving.Point.parallel(v1, v2): ttc = moving.Point.timeToCollision(p1, p2, v1, v2, collisionDistanceThreshold) if ttc is not None: - collisionPoints = [SafetyPoint((p1+(v1*ttc)+p2+(v2*ttc))*0.5, 1., ttc)] + collisionPoints.append(SafetyPoint((p1+(v1*ttc)+p2+(v2*ttc))*0.5, 1., ttc)) else: pass # compute pPET return collisionPoints, crossingZones @@ -616,7 +619,10 @@ def computeCrossingsCollisionsAtInstant(self, currentInstant, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, *kwargs): 'TODO compute pPET' collisionPoints = [] - crossingZones = [] + if computeCZ: + crossingZones = [] + else: + crossingZones = None if self.useCurvilinear: pass # Lionel @@ -629,7 +635,7 @@ if not moving.Point.parallel(v1, v2): ttc = moving.Point.timeToCollisionPoly(poly1, v1, poly2, v2) if ttc is not None: - collisionPoints = [SafetyPoint((obj1.getPositionAtInstant(currentInstant)+(v1*ttc)+obj2.getPositionAtInstant(currentInstant)+(v2*ttc))*0.5, 1., ttc)] + collisionPoints.append(SafetyPoint((obj1.getPositionAtInstant(currentInstant)+(v1*ttc)+obj2.getPositionAtInstant(currentInstant)+(v2*ttc))*0.5, 1., ttc)) else: pass # compute pPET return collisionPoints, crossingZones