Mercurial Hosting > traffic-intelligence
comparison trafficintelligence/prediction.py @ 1210:1bad5f9b60de
work in progress
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 28 Apr 2023 17:03:39 -0400 |
parents | 2064e52019db |
children | a095d4fbb2ea |
comparison
equal
deleted
inserted
replaced
1209:2064e52019db | 1210:1bad5f9b60de |
---|---|
166 while t < timeHorizon and not collision: | 166 while t < timeHorizon and not collision: |
167 t += 1 | 167 t += 1 |
168 p1 = predictedTrajectory1.predictPosition(t) | 168 p1 = predictedTrajectory1.predictPosition(t) |
169 p2 = predictedTrajectory2.predictPosition(t) | 169 p2 = predictedTrajectory2.predictPosition(t) |
170 collision = (p1-p2).norm2() <= collisionDistanceThreshold | 170 collision = (p1-p2).norm2() <= collisionDistanceThreshold |
171 return collision, t, p1, p2 | |
172 | |
173 def computeCollisionTimePolygon(predictedTrajectories1, predictedTrajectories2, timeHorizon): | |
174 '''Computes the first instant | |
175 at which two objects represented by a series of points (eg box) | |
176 Computes all the times including timeHorizon | |
177 | |
178 User has to check the first variable collision to know about a collision''' | |
179 t = 1 | |
180 poly1 = moving.pointsToShapely([t1.predictPosition(t) for t1 in predictedTrajectories1]) | |
181 poly2 = moving.pointsToShapely([t2.predictPosition(t) for t2 in predictedTrajectories2]) | |
182 collision = poly1.overlaps(poly2) | |
183 while t < timeHorizon and not collision: | |
184 t += 1 | |
185 poly1 = moving.pointsToShapely([t1.predictPosition(t) for t1 in predictedTrajectories1]) | |
186 poly2 = moving.pointsToShapely([t2.predictPosition(t) for t2 in predictedTrajectories2]) | |
187 collision = poly1.overlaps(poly2) | |
171 return collision, t, p1, p2 | 188 return collision, t, p1, p2 |
172 | 189 |
173 def savePredictedTrajectoriesFigure(currentInstant, obj1, obj2, predictedTrajectories1, predictedTrajectories2, timeHorizon, printFigure = True): | 190 def savePredictedTrajectoriesFigure(currentInstant, obj1, obj2, predictedTrajectories1, predictedTrajectories2, timeHorizon, printFigure = True): |
174 from matplotlib.pyplot import figure, axis, title, clf, savefig | 191 from matplotlib.pyplot import figure, axis, title, clf, savefig |
175 if printFigure: | 192 if printFigure: |