comparison python/events.py @ 943:b1e8453c207c

work on motion prediction using motion patterns
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 19 Jul 2017 18:02:38 -0400
parents b67a784beb69
children d6c1c05d11f5
comparison
equal deleted inserted replaced
942:ab13aaf41432 943:b1e8453c207c
214 minDistances={} 214 minDistances={}
215 for instant in self.timeInterval: 215 for instant in self.timeInterval:
216 minDistances[instant] = moving.MovingObject.minDistance(self.roadUser1, self.roadUser2, instant) 216 minDistances[instant] = moving.MovingObject.minDistance(self.roadUser1, self.roadUser2, instant)
217 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[3], minDistances, mostSevereIsMax = False)) 217 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[3], minDistances, mostSevereIsMax = False))
218 218
219 def computeCrossingsCollisions(self, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None, nProcesses = 1, usePrototypes=False, route1= (-1,-1), route2=(-1,-1), prototypes={}, secondStepPrototypes={}, nMatching={}, objects=[], noiseEntryNums=[], noiseExitNums=[], minSimilarity=0.1, mostMatched=None, useDestination=True, useSpeedPrototype=True, acceptPartialLength=30, step=1): 219 def computeCrossingsCollisions(self, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None, nProcesses = 1):#, usePrototypes=False, route1= (-1,-1), route2=(-1,-1), prototypes={}, secondStepPrototypes={}, nMatching={}, objects=[], noiseEntryNums=[], noiseExitNums=[], minSimilarity=0.1, mostMatched=None, useDestination=True, useSpeedPrototype=True, acceptPartialLength=30, step=1):
220 '''Computes all crossing and collision points at each common instant for two road users. ''' 220 '''Computes all crossing and collision points at each common instant for two road users. '''
221 TTCs = {} 221 TTCs = {}
222 collisionProbabilities = {} 222 collisionProbabilities = {}
223 if usePrototypes: 223 # if usePrototypes:
224 route1= getRoute(self.roadUser1,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination) 224 # route1= getRoute(self.roadUser1,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination)
225 route2= getRoute(self.roadUser2,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination) 225 # route2= getRoute(self.roadUser2,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination)
226 226
227 if timeInterval is not None: 227 if timeInterval is not None:
228 commonTimeInterval = timeInterval 228 commonTimeInterval = timeInterval
229 else: 229 else:
230 commonTimeInterval = self.timeInterval 230 commonTimeInterval = self.timeInterval
231 self.collisionPoints, crossingZones = predictionParameters.computeCrossingsCollisions(self.roadUser1, self.roadUser2, collisionDistanceThreshold, timeHorizon, computeCZ, debug, commonTimeInterval, nProcesses,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype,acceptPartialLength, step) 231 self.collisionPoints, crossingZones = predictionParameters.computeCrossingsCollisions(self.roadUser1, self.roadUser2, collisionDistanceThreshold, timeHorizon, computeCZ, debug, commonTimeInterval, nProcesses)#,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype,acceptPartialLength, step)
232 for i, cps in self.collisionPoints.iteritems(): 232 for i, cps in self.collisionPoints.iteritems():
233 TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cps) 233 TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cps)
234 collisionProbabilities[i] = sum([p.probability for p in cps]) 234 collisionProbabilities[i] = sum([p.probability for p in cps])
235 if len(TTCs) > 0: 235 if len(TTCs) > 0:
236 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[7], TTCs, mostSevereIsMax=False)) 236 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[7], TTCs, mostSevereIsMax=False))