diff scripts/safety-analysis.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 c64a4f889b97
children 891858351bcb
line wrap: on
line diff
--- a/scripts/safety-analysis.py	Thu Jun 27 00:07:44 2013 -0400
+++ b/scripts/safety-analysis.py	Thu Jun 27 00:18:39 2013 -0400
@@ -8,7 +8,7 @@
 import numpy as np
 
 parser = argparse.ArgumentParser(description='The program processes indicators for all pairs of road users in the scene')
-parser.add_argument('configFilename', help = 'name of the configuration file')
+parser.add_argument('--cfg', dest = 'configFilename', help = 'name of the configuration file')
 #parser.add_argument('--maxspeed', dest = 'maxSpeed', help = 'maximum speed when predicting future motion (km/h)', default = 50, type = int)
 #parser.add_argument('--time-horizon', dest = 'maxSpeed', help = 'maximum speed when predicting future motion (km/h)', default = 50, type = int)
 args = parser.parse_args()
@@ -19,30 +19,28 @@
 params = utils.TrackingParameters()
 params.loadConfigFile(args.configFilename)
 
-# configuration parameters # TODO from command line
-maxSpeed = args.maxSpeed/3.6/params.videoFrameRate # speed limit 50 km/h for urban envt, 90km/hr = 25 m/sec for highways
-timeHorizon= params.videoFrameRate*5 # prediction time Horizon = 1.5 s (reaction time) (5 second)
-collisionDistanceThreshold= 1.8 # m
-computeCZ = False
+# parameters for prediction methods
+constantVelocityPredictionParameters = prediction.ConstantPredictionParameters(params.maxPredictedSpeed)
 
-# display = False
+normalAdaptationPredictionParameters = prediction.NormalAdaptationPredictionParameters(params.maxPredictedSpeed, 
+                                                                                       params.nPredictedTrajectories, 
+                                                                                       params.maxAcceleration,
+                                                                                       params.maxSteering)
 
-# parameters for prediction methods
-constantVelocityPredictionParameters = prediction.ConstantPredictionParameters(maxSpeed)
-
-normalAdaptationPredictionParameters = prediction.NormalAdaptationPredictionParameters(maxSpeed, 100, 2./frameRate**2, # m/s2
-                                                                                       0.2/frameRate) # rad/s
+featurePredictionParameters = prediction.PointSetPredictionParameters(params.maxPredictedSpeed, params.nPredictedTrajectories)
 
-featurePredictionParameters = prediction.PointSetPredictionParameters(maxSpeed)
-
-evasiveActionPredictionParameters = prediction.EvasiveActionPredictionParameters(maxSpeed, 100, -9.1/frameRate**2, # m/s2
-                                                                                 4.3/frameRate**2, # m/s2
-                                                                                 0.5/frameRate, # rad/s
+evasiveActionPredictionParameters = prediction.EvasiveActionPredictionParameters(params.maxPredictedSpeed, 
+                                                                                 params.nPredictedTrajectories, 
+                                                                                 params.minAcceleration,
+                                                                                 params.maxAcceleration,
+                                                                                 params.maxSteering,
                                                                                  False)
 
-featureEvasiveActionPredictionParameters = prediction.EvasiveActionPredictionParameters(maxSpeed, 10, -9.1/frameRate**2, # m/s2
-                                                                                        4.3/frameRate**2, # m/s2
-                                                                                        0.5/frameRate, # rad/s
+featureEvasiveActionPredictionParameters = prediction.EvasiveActionPredictionParameters(params.maxPredictedSpeed, 
+                                                                                        params.nPredictedTrajectories, 
+                                                                                        params.minAcceleration,
+                                                                                        params.maxAcceleration,
+                                                                                        params.maxSteering,
                                                                                         True)
 
 
@@ -53,7 +51,7 @@
 interactions = events.createInteractions(objects)
 for inter in interactions:
     inter.computeIndicators()
-    inter.computeCrossingsCollisions(constantVelocityPredictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ)
+    inter.computeCrossingsCollisions(constantVelocityPredictionParameters, params.collisionDistance, params.predictionTimeHorizon, params.crossingZones)
 
 storage.saveIndicators(params.databaseFilename, interactions)