@@ -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