# HG changeset patch # User Nicolas Saunier # Date 1500409299 14400 # Node ID c5191acb025fe8c693ed83cc67d949c079283648 # Parent d8ab183a7351dc2579c1e4a904894e25f9fba48d added test for motion prediction at constant speed with prototype diff -r d8ab183a7351 -r c5191acb025f python/tests/prediction.txt --- a/python/tests/prediction.txt Tue Jul 18 13:46:17 2017 -0400 +++ b/python/tests/prediction.txt Tue Jul 18 16:21:39 2017 -0400 @@ -1,5 +1,6 @@ >>> from prediction import * ->>> import moving +>>> import moving, storage +>>> from numpy import absolute, array >>> et = PredictedTrajectoryConstant(moving.Point(0,0), moving.Point(1,0)) >>> et.predictPosition(4) # doctest:+ELLIPSIS @@ -44,3 +45,15 @@ >>> collision, t, cp1, cp2 = computeCollisionTime(et1, et2, 0.1, 4) >>> collision False + +>>> proto = storage.loadTrajectoriesFromSqlite('../samples/laurier.sqlite', 'feature', [1204])[0] +>>> proto.getPositions().computeCumulativeDistances() +>>> et = PredictedTrajectoryPrototype(proto.getPositionAt(10)+moving.Point(0.5, 0.5), proto.getVelocityAt(10)*0.9, proto, True) +>>> absolute(et.initialSpeed - proto.getVelocityAt(10).norm2()*0.9) < 1e-5 +True +>>> for t in xrange(int(proto.length())): x=et.predictPosition(t) +>>> traj = et.getPredictedTrajectory() +>>> traj.computeCumulativeDistances() +>>> (absolute(array(traj.distances) - et.initialSpeed) < 1e-5).all() +True +