Mercurial Hosting > traffic-intelligence
comparison trafficintelligence/tests/prediction.txt @ 1028:cc5cb04b04b0
major update using the trafficintelligence package name and install through pip
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 15 Jun 2018 11:19:10 -0400 |
parents | python/tests/prediction.txt@933670761a57 |
children | aafbc0bab925 |
comparison
equal
deleted
inserted
replaced
1027:6129296848d3 | 1028:cc5cb04b04b0 |
---|---|
1 >>> from prediction import * | |
2 >>> import moving, storage, utils | |
3 >>> from numpy import absolute, array | |
4 | |
5 >>> et = PredictedTrajectoryConstant(moving.Point(0,0), moving.Point(1,0)) | |
6 >>> et.predictPosition(4) # doctest:+ELLIPSIS | |
7 (4.0...,0.0...) | |
8 >>> et.predictPosition(1) # doctest:+ELLIPSIS | |
9 (1.0...,0.0...) | |
10 | |
11 >>> et = PredictedTrajectoryConstant(moving.Point(0,0), moving.Point(1,0), moving.NormAngle(0.1,0), maxSpeed = 2) | |
12 >>> et.predictPosition(10) # doctest:+ELLIPSIS | |
13 (15.5...,0.0...) | |
14 >>> et.predictPosition(11) # doctest:+ELLIPSIS | |
15 (17.5...,0.0...) | |
16 >>> et.predictPosition(12) # doctest:+ELLIPSIS | |
17 (19.5...,0.0...) | |
18 | |
19 >>> import random | |
20 >>> acceleration = lambda: random.uniform(-0.5,0.5) | |
21 >>> steering = lambda: random.uniform(-0.1,0.1) | |
22 >>> et = PredictedTrajectoryRandomControl(moving.Point(0,0),moving.Point(1,1), acceleration, steering, maxSpeed = 2) | |
23 >>> p = et.predictPosition(500) | |
24 >>> from numpy import max | |
25 >>> max(et.getPredictedSpeeds()) <= 2. | |
26 True | |
27 | |
28 >>> p = moving.Point(3,4) | |
29 >>> sp = SafetyPoint(p, 0.1, 0) | |
30 >>> print(sp) | |
31 3 4 0.1 0 | |
32 | |
33 >>> et1 = PredictedTrajectoryConstant(moving.Point(-5.,0.), moving.Point(1.,0.)) | |
34 >>> et2 = PredictedTrajectoryConstant(moving.Point(0.,-5.), moving.Point(0.,1.)) | |
35 >>> collision, t, cp1, cp2 = computeCollisionTime(et1, et2, 0.1, 10) | |
36 >>> collision | |
37 True | |
38 >>> t | |
39 5 | |
40 >>> collision, t, cp1, cp2 = computeCollisionTime(et1, et2, 0.1, 5) | |
41 >>> collision | |
42 True | |
43 >>> t | |
44 5 | |
45 >>> collision, t, cp1, cp2 = computeCollisionTime(et1, et2, 0.1, 4) | |
46 >>> collision | |
47 False | |
48 | |
49 >>> proto = storage.loadTrajectoriesFromSqlite('../samples/laurier.sqlite', 'feature', [1204])[0] | |
50 >>> proto.getPositions().computeCumulativeDistances() | |
51 >>> et = PredictedTrajectoryPrototype(proto.getPositionAt(10)+moving.Point(0.5, 0.5), proto.getVelocityAt(10)*0.9, proto, True) | |
52 >>> absolute(et.initialSpeed - proto.getVelocityAt(10).norm2()*0.9) < 1e-5 | |
53 True | |
54 >>> for t in range(int(proto.length())): x=et.predictPosition(t) | |
55 >>> traj = et.getPredictedTrajectory() | |
56 >>> traj.computeCumulativeDistances() | |
57 >>> absolute(array(traj.distances).mean() - et.initialSpeed < 1e-3) | |
58 True | |
59 | |
60 >>> et = PredictedTrajectoryPrototype(proto.getPositionAt(10)+moving.Point(0.6, 0.6), proto.getVelocityAt(10)*0.7, proto, False) | |
61 >>> absolute(et.initialSpeed - proto.getVelocityAt(10).norm2()*0.7) < 1e-5 | |
62 True | |
63 >>> proto = moving.MovingObject.generate(1, moving.Point(-5.,0.), moving.Point(1.,0.), moving.TimeInterval(0,10)) | |
64 >>> et = PredictedTrajectoryPrototype(proto.getPositionAt(0)+moving.Point(0., 1.), proto.getVelocityAt(0)*0.5, proto, False) | |
65 >>> for t in range(int(proto.length()/0.5)): x=et.predictPosition(t) | |
66 >>> et.predictPosition(10) # doctest:+ELLIPSIS | |
67 (0.0...,1.0...) | |
68 >>> et.predictPosition(12) # doctest:+ELLIPSIS | |
69 (1.0...,1.0...) | |
70 | |
71 |