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.
30 lines
638 B
30 lines
638 B
2 months ago
|
from openpilot.common.simple_kalman import KF1D
|
||
|
|
||
|
|
||
|
class TestSimpleKalman:
|
||
|
def setup_method(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]])
|
||
|
assert self.kf.x == [[1.0], [1.0]]
|
||
|
|
||
|
def update_returns_state(self):
|
||
|
x = self.kf.update(100)
|
||
|
assert x == self.kf.x
|