diff python/prediction.py @ 350:7e9ad2d9d79c

added new parameters in safety analysis script
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 27 Jun 2013 00:18:39 -0400
parents 124f85c6cfae
children 72aa44072093
line wrap: on
line diff
--- a/python/prediction.py	Thu Jun 27 00:07:44 2013 -0400
+++ b/python/prediction.py	Thu Jun 27 00:18:39 2013 -0400
@@ -80,7 +80,7 @@
                                                maxSpeed = self.maxSpeed)]
 
 class NormalAdaptationPredictionParameters(PredictionParameters):
-    def __init__(self, maxSpeed, nPredictedTrajectories, maxAcceleration, maxSteering):
+    def __init__(self, maxSpeed, nPredictedTrajectories, maxAcceleration, maxSteering):#, useFeatures = False
         PredictionParameters.__init__(self, 'normal adaptation', maxSpeed)
         self.nPredictedTrajectories = nPredictedTrajectories
         self.maxAcceleration = maxAcceleration
@@ -107,17 +107,19 @@
 
 class PointSetPredictionParameters(PredictionParameters):
     # todo generate several trajectories with normal adaptatoins from each position (feature)
-    def __init__(self, maxSpeed):
+    def __init__(self, nPredictedTrajectories, maxSpeed):
         PredictionParameters.__init__(self, 'point set', maxSpeed)
+        self.nPredictedTrajectories = nPredictedTrajectories
     
     def generatePredictedTrajectories(self, obj, instant):
         predictedTrajectories = []        
         features = [f for f in obj.features if f.existsAtInstant(instant)]
         positions = [f.getPositionAtInstant(instant) for f in features]
         velocities = [f.getVelocityAtInstant(instant) for f in features]
-        for initialPosition,initialVelocity in zip(positions, velocities):
-            predictedTrajectories.append(PredictedTrajectoryConstant(initialPosition, initialVelocity, 
-                                                                           maxSpeed = self.maxSpeed))
+        for i in xrange(self.nPredictedTrajectories):
+            for initialPosition,initialVelocity in zip(positions, velocities):
+                predictedTrajectories.append(PredictedTrajectoryConstant(initialPosition, initialVelocity, 
+                                                                         maxSpeed = self.maxSpeed))
         return predictedTrajectories
 
 class EvasiveActionPredictionParameters(PredictionParameters):
@@ -152,10 +154,10 @@
         for i in xrange(self.nPredictedTrajectories):
             for initialPosition,initialVelocity in zip(positions, velocities):
                 predictedTrajectories.append(PredictedTrajectoryConstant(initialPosition, 
-                                                                               initialVelocity, 
-                                                                               moving.NormAngle(self.accelerationDistribution(), 
-                                                                                                self.steeringDistribution()), 
-                                                                               maxSpeed = self.maxSpeed))
+                                                                         initialVelocity, 
+                                                                         moving.NormAngle(self.accelerationDistribution(), 
+                                                                                          self.steeringDistribution()), 
+                                                                         maxSpeed = self.maxSpeed))
         return predictedTrajectories
 
 class SafetyPoint(moving.Point):