Mercurial Hosting > traffic-intelligence
diff scripts/safety-analysis.py @ 881:8ba82b371eea
work on storing PET
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 14 Mar 2017 17:48:40 -0400 |
parents | 6d89520e269f |
children | e2452abba0e7 |
line wrap: on
line diff
--- a/scripts/safety-analysis.py Tue Mar 14 17:10:35 2017 -0400 +++ b/scripts/safety-analysis.py Tue Mar 14 17:48:40 2017 -0400 @@ -14,7 +14,8 @@ parser.add_argument('--cfg', dest = 'configFilename', help = 'name of the configuration file', required = True) parser.add_argument('-n', dest = 'nObjects', help = 'number of objects to analyse', type = int) # TODO analyze only -parser.add_argument('--prediction-method', dest = 'predictionMethod', help = 'prediction method (constant velocity (vector computation), constant velocity, normal adaptation, point set prediction)', choices = ['cvd', 'cv', 'na', 'ps']) +parser.add_argument('--prediction-method', dest = 'predictionMethod', help = 'prediction method (constant velocity (cvd: vector computation (approximate); cve: equation solving; cv: discrete time (approximate)), normal adaptation, point set prediction)', choices = ['cvd', 'cve', 'cv', 'na', 'ps']) +parser.add_argument('--pet', dest = 'computePET', help = 'computes PET', action = 'store_true') parser.add_argument('--display-cp', dest = 'displayCollisionPoints', help = 'display collision points', action = 'store_true') parser.add_argument('--nthreads', dest = 'nProcesses', help = 'number of processes to run in parallel', type = int, default = 1) args = parser.parse_args() @@ -32,8 +33,10 @@ def steeringDistribution(): return random.triangular(-params.maxNormalSteering, params.maxNormalSteering, 0.) -if predictionMethod == 'cvd': # TODO add cve: constant velocity exact (Sohail's) +if predictionMethod == 'cvd': predictionParameters = prediction.CVDirectPredictionParameters() +if predictionMethod == 'cve': + predictionParameters = prediction.CVExactPredictionParameters() elif predictionMethod == 'cv': predictionParameters = prediction.ConstantPredictionParameters(params.maxPredictedSpeed) elif predictionMethod == 'na': @@ -64,6 +67,10 @@ inter.computeIndicators() inter.computeCrossingsCollisions(predictionParameters, params.collisionDistance, params.predictionTimeHorizon, params.crossingZones, nProcesses = args.nProcesses) +if args.computePET: + for inter in Interactions: + inter.computePET() + storage.saveIndicators(params.databaseFilename, interactions) if args.displayCollisionPoints: