comparison python/prediction.py @ 296:586ead03fc00

added option to disable computation of crossing zones
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 11 Feb 2013 16:01:15 -0500
parents ba29bd82bd04
children f65b828e5521
comparison
equal deleted inserted replaced
295:ba29bd82bd04 296:586ead03fc00
237 title('instant {0}'.format(i)) 237 title('instant {0}'.format(i))
238 axis('equal') 238 axis('equal')
239 239
240 return collisionPoints, crossingZones 240 return collisionPoints, crossingZones
241 241
242 def computeCrossingsCollisions(obj1, obj2, predictionParameters, collisionDistanceThreshold, timeHorizon, debug = False, timeInterval = None): 242 def computeCrossingsCollisions(obj1, obj2, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None):
243 '''Computes all crossing and collision points at each common instant for two road users. ''' 243 '''Computes all crossing and collision points at each common instant for two road users. '''
244 collisionPoints={} 244 collisionPoints={}
245 crossingZones={} 245 crossingZones={}
246 if timeInterval: 246 if timeInterval:
247 commonTimeInterval = timeInterval 247 commonTimeInterval = timeInterval
248 else: 248 else:
249 commonTimeInterval = obj1.commonTimeInterval(obj2) 249 commonTimeInterval = obj1.commonTimeInterval(obj2)
250 for i in list(commonTimeInterval)[:-1]: # do not look at the 1 last position/velocities, often with errors 250 for i in list(commonTimeInterval)[:-1]: # do not look at the 1 last position/velocities, often with errors
251 collisionPoints[i], crossingZones[i] = computeCrossingsCollisionsAtInstant(i, obj1, obj2, predictionParameters, collisionDistanceThreshold, timeHorizon, debug) 251 collisionPoints[i], crossingZones[i] = computeCrossingsCollisionsAtInstant(i, obj1, obj2, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ, debug)
252 252
253 return collisionPoints, crossingZones 253 return collisionPoints, crossingZones
254 254
255 def computeCollisionProbability(obj1, obj2, predictionParameters, collisionDistanceThreshold, timeHorizon, debug = False, timeInterval = None): 255 def computeCollisionProbability(obj1, obj2, predictionParameters, collisionDistanceThreshold, timeHorizon, debug = False, timeInterval = None):
256 '''Computes only collision probabilities 256 '''Computes only collision probabilities