Skip to content

Commit 489137a

Browse files
use degrees
1 parent 7e84886 commit 489137a

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

tests/test_smoothing.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -232,26 +232,27 @@ def test_benchmark_ains(self):
232232
# Reference signal
233233
fs = 10.24 # sampling rate in Hz
234234
_, pos, vel, euler, acc, gyro = benchmark_full_pva_beat_202311A(fs)
235+
euler = np.degrees(euler)
235236
head = euler[:, 2]
236237

237238
# IMU measurements
238239
err_acc = sf.constants.ERR_ACC_MOTION2 # m/s^2
239240
err_gyro = sf.constants.ERR_GYRO_MOTION2 # rad/s
240241
imu_noise = sf.noise.IMUNoise(err_acc, err_gyro)(fs, len(acc))
241242
acc_imu = acc + imu_noise[:, :3]
242-
gyro_imu = gyro + imu_noise[:, 3:]
243+
gyro_imu = gyro + np.degrees(imu_noise[:, 3:])
243244

244245
# Aiding measurements
245246
pos_noise_std = 0.1 # m
246-
head_noise_std = 0.01 # rad
247+
head_noise_std = 1.0 # deg
247248
rng = np.random.default_rng(0)
248249
pos_aid = pos + pos_noise_std * rng.standard_normal(pos.shape)
249250
head_aid = head + head_noise_std * rng.standard_normal(head.shape)
250251

251252
# AINS
252253
p0 = pos[0] # position [m]
253254
v0 = vel[0] # velocity [m/s]
254-
q0 = sf.quaternion_from_euler(euler[0], degrees=False) # unit quaternion
255+
q0 = sf.quaternion_from_euler(euler[0], degrees=True) # unit quaternion
255256
ba0 = np.zeros(3) # accelerometer bias [m/s^2]
256257
bg0 = np.zeros(3) # gyroscope bias [rad/s]
257258
x0 = np.concatenate((p0, v0, q0, ba0, bg0))
@@ -277,7 +278,7 @@ def test_benchmark_ains(self):
277278

278279
pos_ains.append(smoother.ains.position())
279280
vel_ains.append(smoother.ains.velocity())
280-
euler_ains.append(smoother.ains.euler(degrees=False))
281+
euler_ains.append(smoother.ains.euler(degrees=True))
281282

282283
# Forward filter state estimates
283284
pos_ains = np.array(pos_ains)
@@ -287,7 +288,7 @@ def test_benchmark_ains(self):
287288
# Smoothed state estimates
288289
pos_smth = smoother.position()
289290
vel_smth = smoother.velocity()
290-
euler_smth = smoother.euler(degrees=False)
291+
euler_smth = smoother.euler(degrees=True)
291292

292293
# Half-sample shift
293294
# # (compensates for the delay introduced by Euler integration)
@@ -319,26 +320,27 @@ def test_benchmark_ahrs(self):
319320
# Reference signal
320321
fs = 10.24 # sampling rate in Hz
321322
_, pos, vel, euler, acc, gyro = benchmark_full_pva_beat_202311A(fs)
323+
euler = np.degrees(euler)
322324
head = euler[:, 2]
323325

324326
# IMU measurements
325327
err_acc = sf.constants.ERR_ACC_MOTION2 # m/s^2
326328
err_gyro = sf.constants.ERR_GYRO_MOTION2 # rad/s
327329
imu_noise = sf.noise.IMUNoise(err_acc, err_gyro)(fs, len(acc))
328330
acc_imu = acc + imu_noise[:, :3]
329-
gyro_imu = gyro + imu_noise[:, 3:]
331+
gyro_imu = gyro + np.degrees(imu_noise[:, 3:])
330332

331333
# Aiding measurements
332334
pos_noise_std = 0.1 # m
333-
head_noise_std = 0.01 # rad
335+
head_noise_std = 1.0 # deg
334336
rng = np.random.default_rng(0)
335337
pos_aid = pos + pos_noise_std * rng.standard_normal(pos.shape)
336338
head_aid = head + head_noise_std * rng.standard_normal(head.shape)
337339

338340
# AINS
339341
p0 = pos[0] # position [m]
340342
v0 = vel[0] # velocity [m/s]
341-
q0 = sf.quaternion_from_euler(euler[0], degrees=False) # unit quaternion
343+
q0 = sf.quaternion_from_euler(euler[0], degrees=True) # unit quaternion
342344
ba0 = np.zeros(3) # accelerometer bias [m/s^2]
343345
bg0 = np.zeros(3) # gyroscope bias [rad/s]
344346
x0 = np.concatenate((p0, v0, q0, ba0, bg0))
@@ -360,7 +362,7 @@ def test_benchmark_ahrs(self):
360362
head_degrees=False,
361363
)
362364

363-
euler_ains.append(smoother.ains.euler(degrees=False))
365+
euler_ains.append(smoother.ains.euler(degrees=True))
364366

365367
# Forward filter state estimates
366368
euler_ains = np.array(euler_ains)

0 commit comments

Comments
 (0)