Skip to content

Commit a05f540

Browse files
check err cov ahrs
1 parent db4593a commit a05f540

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

tests/test_smoothing.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def test_benchmark_ahrs(self):
153153

154154
smoother = sf.FixedIntervalSmoother(ains, cov_smoothing=True)
155155

156-
euler_ains = []
156+
euler_ains, err_ains = [], []
157157
for f_i, w_i, h_i in zip(acc_imu, gyro_imu, head_aid):
158158
smoother.update(
159159
f_i,
@@ -165,12 +165,15 @@ def test_benchmark_ahrs(self):
165165
)
166166

167167
euler_ains.append(smoother.ains.euler(degrees=True))
168+
err_ains.append(smoother.ains.P.diagonal())
168169

169170
# Forward filter state estimates
170171
euler_ains = np.array(euler_ains)
172+
err_ains = np.array(err_ains)
171173

172174
# Smoothed state estimates
173175
euler_smth = smoother.euler(degrees=True)
176+
err_smth = np.array([P_i.diagonal() for P_i in smoother.P])
174177

175178
# Half-sample shift
176179
# # (compensates for the delay introduced by Euler integration)
@@ -184,13 +187,15 @@ def test_benchmark_ahrs(self):
184187
euler_err_ains = np.std((euler_ains - euler)[warmup:], axis=0)
185188
np.testing.assert_array_less(euler_err_smth, euler_err_ains)
186189

190+
smoother.P.shape == (len(acc_imu), 12, 12)
191+
np.testing.assert_array_less(err_smth[warmup:], err_ains[warmup:] + 1e-12)
192+
187193
def test_benchmark_vru(self):
188194
# Reference signal
189195
fs = 10.24 # sampling rate in Hz
190196
_, pos, vel, euler, acc, gyro = benchmark_full_pva_beat_202311A(fs)
191197
euler = np.degrees(euler)
192198
gyro = np.degrees(gyro)
193-
head = euler[:, 2]
194199

195200
# IMU measurements
196201
err_acc = sf.constants.ERR_ACC_MOTION2 # m/s^2

0 commit comments

Comments
 (0)