Mercurial Hosting > traffic-intelligence
diff trafficintelligence/events.py @ 1269:ca70a79688ae
adding a speed threshold to avoid computing TTC at very low speeds
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Wed, 05 Jun 2024 10:12:43 -0400 |
parents | ad60e5adf084 |
children | 655a1646f0d5 |
line wrap: on
line diff
--- a/trafficintelligence/events.py Fri May 31 16:52:51 2024 -0400 +++ b/trafficintelligence/events.py Wed Jun 05 10:12:43 2024 -0400 @@ -278,15 +278,17 @@ # could try to predict what happened before, but it's not observed - def computeCrossingsCollisions(self, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None): - '''Computes all crossing and collision points at each common instant for two road users. ''' + def computeCrossingsCollisions(self, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None, speedThreshold = 0.): + '''Computes all crossing and collision points at each common instant for two road users. + + speedThreshold defines when users are stationary: TTC is not computed when both users are stationary''' TTCs = {} collisionProbabilities = {} if timeInterval is not None: commonTimeInterval = timeInterval else: commonTimeInterval = self.timeInterval - self.collisionPoints, crossingZones = predictionParameters.computeCrossingsCollisions(self.roadUser1, self.roadUser2, collisionDistanceThreshold, timeHorizon, computeCZ, debug, commonTimeInterval) + self.collisionPoints, crossingZones = predictionParameters.computeCrossingsCollisions(self.roadUser1, self.roadUser2, collisionDistanceThreshold, timeHorizon, computeCZ, debug, commonTimeInterval, speedThreshold) for i, cps in self.collisionPoints.items(): TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cps) collisionProbabilities[i] = sum([p.probability for p in cps])