comparison python/prediction.py @ 489:000bddf84ad0

corrected bugs in safety analysis
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 11 Apr 2014 17:47:38 -0400
parents 6464e4f0cc26
children 727e3c529519
comparison
equal deleted inserted replaced
487:e04b22ce2fcd 489:000bddf84ad0
280 maxSpeed = self.maxSpeed)) 280 maxSpeed = self.maxSpeed))
281 return predictedTrajectories 281 return predictedTrajectories
282 282
283 class PointSetPredictionParameters(PredictionParameters): 283 class PointSetPredictionParameters(PredictionParameters):
284 # todo generate several trajectories with normal adaptatoins from each position (feature) 284 # todo generate several trajectories with normal adaptatoins from each position (feature)
285 def __init__(self, nPredictedTrajectories, maxSpeed): 285 def __init__(self, maxSpeed):
286 PredictionParameters.__init__(self, 'point set', maxSpeed) 286 PredictionParameters.__init__(self, 'point set', maxSpeed)
287 self.nPredictedTrajectories = nPredictedTrajectories 287 #self.nPredictedTrajectories = nPredictedTrajectories
288 288
289 def generatePredictedTrajectories(self, obj, instant): 289 def generatePredictedTrajectories(self, obj, instant):
290 predictedTrajectories = [] 290 predictedTrajectories = []
291 features = [f for f in obj.features if f.existsAtInstant(instant)] 291 features = [f for f in obj.features if f.existsAtInstant(instant)]
292 positions = [f.getPositionAtInstant(instant) for f in features] 292 positions = [f.getPositionAtInstant(instant) for f in features]
293 velocities = [f.getVelocityAtInstant(instant) for f in features] 293 velocities = [f.getVelocityAtInstant(instant) for f in features]
294 for i in xrange(self.nPredictedTrajectories): 294 #for i in xrange(self.nPredictedTrajectories):
295 for initialPosition,initialVelocity in zip(positions, velocities): 295 for initialPosition,initialVelocity in zip(positions, velocities):
296 predictedTrajectories.append(PredictedTrajectoryConstant(initialPosition, initialVelocity, 296 predictedTrajectories.append(PredictedTrajectoryConstant(initialPosition, initialVelocity,
297 maxSpeed = self.maxSpeed)) 297 maxSpeed = self.maxSpeed))
298 return predictedTrajectories 298 return predictedTrajectories
299 299
300 class EvasiveActionPredictionParameters(PredictionParameters): 300 class EvasiveActionPredictionParameters(PredictionParameters):
301 def __init__(self, maxSpeed, nPredictedTrajectories, accelerationDistribution, steeringDistribution, useFeatures = False): 301 def __init__(self, maxSpeed, nPredictedTrajectories, accelerationDistribution, steeringDistribution, useFeatures = False):
302 '''Suggested acceleration distribution may not be symmetric, eg 302 '''Suggested acceleration distribution may not be symmetric, eg