viswanani commited on
Commit
fcb72fc
·
verified ·
1 Parent(s): 8293298

Create tracking/ball_tracker.py

Browse files
Files changed (1) hide show
  1. tracking/ball_tracker.py +20 -0
tracking/ball_tracker.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ from filterpy.kalman import KalmanFilter
3
+
4
+ class BallTracker:
5
+ def __init__(self):
6
+ self.kf = KalmanFilter(dim_x=4, dim_z=2)
7
+ self.kf.F = np.array([[1,0,1,0], [0,1,0,1], [0,0,1,0], [0,0,0,1]])
8
+ self.kf.H = np.array([[1,0,0,0], [0,1,0,0]])
9
+ self.kf.P *= 10.
10
+ self.kf.R *= 0.5
11
+ self.kf.Q *= 0.01
12
+ self.initialized = False
13
+
14
+ def update(self, measurement):
15
+ if not self.initialized:
16
+ self.kf.x[:2] = np.array([[measurement[0]], [measurement[1]]])
17
+ self.initialized = True
18
+ self.kf.predict()
19
+ self.kf.update(measurement)
20
+ return self.kf.x[:2].flatten()