Mercurial Hosting > traffic-intelligence
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)