@@ -403,9 +403,9 @@ fn od_val_sc_srp_estimation(
403
403
let initial_estimate = sc. to_estimate ( ) . unwrap ( ) ;
404
404
405
405
// let ckf = KF::no_snc(initial_estimate);
406
- let ckf = KF :: no_snc (
406
+ let ckf = KF :: new (
407
407
initial_estimate,
408
- // SNC3::from_diagonal(2 * Unit::Minute, &[1e-14 , 1e-14 , 1e-14 ]),
408
+ SNC3 :: from_diagonal ( 2 * Unit :: Minute , & [ 1e-15 , 1e-15 , 1e-15 ] ) ,
409
409
) ;
410
410
411
411
let mut odp = ODProcess :: ekf (
@@ -443,8 +443,12 @@ fn od_val_sc_srp_estimation(
443
443
delta. vmag_km_s( ) * 1e6
444
444
) ;
445
445
446
- assert ! ( delta. rmag_km( ) < 1e-9 , "More than 1 micrometer error" ) ;
447
- assert ! ( delta. vmag_km_s( ) < 1e-9 , "More than 1 micrometer/s error" ) ;
446
+ assert ! ( delta. rmag_km( ) < 1e-3 , "More than 1 meter error" ) ;
447
+ assert ! ( delta. vmag_km_s( ) < 1e-6 , "More than 1 millimeter/s error" ) ;
448
+ assert ! (
449
+ ( est. state( ) . srp. cr - truth_cr) . abs( ) < 0.377 ,
450
+ "Cr estimation did not decrease"
451
+ ) ;
448
452
449
453
for ( no, est) in odp. estimates . iter ( ) . enumerate ( ) {
450
454
if no == 0 {
@@ -460,14 +464,4 @@ fn od_val_sc_srp_estimation(
460
464
) ;
461
465
}
462
466
}
463
-
464
- let est = odp. estimates . last ( ) . unwrap ( ) ;
465
- println ! ( "estimate error {:.2e}" , est. state_deviation( ) . norm( ) ) ;
466
- println ! ( "estimate covariance {:.2e}" , est. covar. diagonal( ) . norm( ) ) ;
467
-
468
- assert ! (
469
- est. covar. diagonal( ) . norm( ) < 1e-4 ,
470
- "estimate covariance norm should be small (perfect dynamics) ({:e})" ,
471
- est. covar. diagonal( ) . norm( )
472
- ) ;
473
467
}
0 commit comments