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: