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])