Mercurial Hosting > traffic-intelligence
changeset 489:000bddf84ad0
corrected bugs in safety analysis
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 11 Apr 2014 17:47:38 -0400 |
parents | e04b22ce2fcd |
children | 60735bd452fc |
files | python/events.py python/prediction.py python/run-tests.sh python/tests/events.txt scripts/safety-analysis.py |
diffstat | 5 files changed, 26 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/python/events.py Fri Apr 04 17:43:56 2014 -0400 +++ b/python/events.py Fri Apr 11 17:47:38 2014 -0400 @@ -159,9 +159,9 @@ if _others == None: others = objects[:i] for j in xrange(len(others)): - commonTimeInterval = objects[i].commonTimeInterval(objects[j]) + commonTimeInterval = objects[i].commonTimeInterval(others[j]) if not commonTimeInterval.empty(): - interactions.append(Interaction(num, commonTimeInterval, objects[i].num, objects[j].num, objects[i], objects[j])) + interactions.append(Interaction(num, commonTimeInterval, objects[i].num, others[j].num, objects[i], others[j])) num += 1 return interactions @@ -351,7 +351,7 @@ if __name__ == "__main__": import doctest import unittest - #suite = doctest.DocFileSuite('tests/moving.txt') - suite = doctest.DocTestSuite() + suite = doctest.DocFileSuite('tests/events.txt') + #suite = doctest.DocTestSuite() unittest.TextTestRunner().run(suite)
--- a/python/prediction.py Fri Apr 04 17:43:56 2014 -0400 +++ b/python/prediction.py Fri Apr 11 17:47:38 2014 -0400 @@ -282,19 +282,19 @@ class PointSetPredictionParameters(PredictionParameters): # todo generate several trajectories with normal adaptatoins from each position (feature) - def __init__(self, nPredictedTrajectories, maxSpeed): + def __init__(self, maxSpeed): PredictionParameters.__init__(self, 'point set', maxSpeed) - self.nPredictedTrajectories = nPredictedTrajectories + #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 i in xrange(self.nPredictedTrajectories): - 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):
--- a/python/run-tests.sh Fri Apr 04 17:43:56 2014 -0400 +++ b/python/run-tests.sh Fri Apr 11 17:47:38 2014 -0400 @@ -1,8 +1,7 @@ #!/bin/sh # for file in tests/*... basename -python moving.py -python storage.py +for f in ./*.py +do + python $f +done rm nonexistent -python indicators.py -python utils.py -python prediction.py \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/tests/events.txt Fri Apr 11 17:47:38 2014 -0400 @@ -0,0 +1,11 @@ +>>> from events import * +>>> from moving import MovingObject, TimeInterval + +>>> objects = [MovingObject(num = i, timeInterval = TimeInterval(0,10)) for i in range(10)] +>>> interactions = createInteractions(objects) +>>> len([i for i in interactions if len(i.roadUserNumbers) == 1]) +0 +>>> objects2 = [MovingObject(num = i, timeInterval = TimeInterval(0,10)) for i in range(100, 110)] +>>> interactions = createInteractions(objects, objects2) +>>> len([i for i in interactions if len(i.roadUserNumbers) == 1]) +0
--- a/scripts/safety-analysis.py Fri Apr 04 17:43:56 2014 -0400 +++ b/scripts/safety-analysis.py Fri Apr 11 17:47:38 2014 -0400 @@ -39,8 +39,7 @@ steeringDistribution, params.useFeaturesForPrediction) elif predictionMethod == 'ps': - predictionParameters = prediction.PointSetPredictionParameters(params.nPredictedTrajectories, - params.maxPredictedSpeed) + predictionParameters = prediction.PointSetPredictionParameters(params.maxPredictedSpeed) # no else required, since parameters is required as argument # evasiveActionPredictionParameters = prediction.EvasiveActionPredictionParameters(params.maxPredictedSpeed,