You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					36 lines
				
				732 B
			
		
		
			
		
	
	
					36 lines
				
				732 B
			| 
											2 years ago
										 | import unittest
 | ||
|  | 
 | ||
|  | from openpilot.common.simple_kalman import KF1D
 | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestSimpleKalman(unittest.TestCase):
 | ||
|  |   def setUp(self):
 | ||
|  |     dt = 0.01
 | ||
|  |     x0_0 = 0.0
 | ||
|  |     x1_0 = 0.0
 | ||
|  |     A0_0 = 1.0
 | ||
|  |     A0_1 = dt
 | ||
|  |     A1_0 = 0.0
 | ||
|  |     A1_1 = 1.0
 | ||
|  |     C0_0 = 1.0
 | ||
|  |     C0_1 = 0.0
 | ||
|  |     K0_0 = 0.12287673
 | ||
|  |     K1_0 = 0.29666309
 | ||
|  | 
 | ||
|  |     self.kf = KF1D(x0=[[x0_0], [x1_0]],
 | ||
|  |                    A=[[A0_0, A0_1], [A1_0, A1_1]],
 | ||
|  |                    C=[C0_0, C0_1],
 | ||
|  |                    K=[[K0_0], [K1_0]])
 | ||
|  | 
 | ||
|  |   def test_getter_setter(self):
 | ||
|  |     self.kf.set_x([[1.0], [1.0]])
 | ||
|  |     self.assertEqual(self.kf.x, [[1.0], [1.0]])
 | ||
|  | 
 | ||
|  |   def update_returns_state(self):
 | ||
|  |     x = self.kf.update(100)
 | ||
|  |     self.assertEqual(x, self.kf.x)
 | ||
|  | 
 | ||
|  | 
 | ||
|  | if __name__ == "__main__":
 | ||
|  |   unittest.main()
 |