Mercurial Hosting > traffic-intelligence
diff python/events.py @ 558:a80ef6931fd8
updated safety-analysis to test multiprocessing
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Mon, 14 Jul 2014 17:44:09 -0400 |
parents | 21bdeb29f855 |
children | 806df5f61c03 |
line wrap: on
line diff
--- a/python/events.py Mon Jul 14 17:33:43 2014 -0400 +++ b/python/events.py Mon Jul 14 17:44:09 2014 -0400 @@ -117,7 +117,7 @@ minDistance[instant] = moving.MovingObject.minDistance(self.roadUser1, self.roadUser2, instant) self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[3], minDistance)) - def computeCrossingsCollisions(self, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None): + def computeCrossingsCollisions(self, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None, nProcesses = 1): '''Computes all crossing and collision points at each common instant for two road users. ''' self.collisionPoints={} self.crossingZones={} @@ -127,10 +127,12 @@ commonTimeInterval = timeInterval else: commonTimeInterval = self.timeInterval - for i in list(commonTimeInterval)[:-1]: # do not look at the 1 last position/velocities, often with errors - self.collisionPoints[i], self.crossingZones[i] = predictionParameters.computeCrossingsCollisionsAtInstant(i, self.roadUser1, self.roadUser2, collisionDistanceThreshold, timeHorizon, computeCZ, debug) - if len(self.collisionPoints[i]) > 0: - TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(self.collisionPoints[i]) + self.collisionPoints, self.crossingZones = prediction.computeCrossingsCollisions(normalAdaptationPredictionParameters, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug, nProcesses) + # for i in list(commonTimeInterval)[:-1]: # do not look at the 1 last position/velocities, often with errors + # i, self.collisionPoints[i], self.crossingZones[i] = predictionParameters.computeCrossingsCollisionsAtInstant(i, self.roadUser1, self.roadUser2, collisionDistanceThreshold, timeHorizon, computeCZ, debug) + # if len(self.collisionPoints[i]) > 0: + for i, cp in self.collisionPoints.iteritems(): + TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cp) # add probability of collision, and probability of successful evasive action self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[7], TTCs))