-
-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Significant improvements in noise modeling #129
Significant improvements in noise modeling #129
Conversation
This will allow for integration times and light-time corrections.
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
The sensitivity is now computed with the EstimateFrom trait. This implies that the method to compute the sensitivity depends on what is estimated and the measurement is. This SIGNIFICANTLY unlocks flexibility! TODO: 1. Most importantly: change the measure() function of Measurement: this currently returns both the measurement and the state of the transmitter at the time of the measurement. Instead, it should return the `Self` of EstimateFrom. 2. Implement the sensitivity computation for the Spacecraft estimator 3. Invert and rename EstimateFrom trait such that there is a `SolveFor` trait instead Signed-off-by: Christopher Rabotin <[email protected]>
Also cleanup yesterday's work on EstimateFrom Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
…ault models and zero noise model
I should be using the state transition matrix (eq. 5.81) instead of the EOMs (eq. 5.78). This was only obvious after plotting a coupled GM, so I'm glad this works.
This coupled model is promising but also very complicated, and usually not needed. I can always add it later.
I would like to integrate these scripts with the package, but I can't seem to make both work yet Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
The previous EKF trigger was never triggered because there were only 996 measurements in the remaining set. Filter setupTrigger EKF after 300 measurements. Results
There are warnings during the run because the EKF is enabled even when the state deviation is not within the three sigmas. This can probably be fixed by toying with the SNC.
State deviationResidualsThese look extremely good, the noise may be too low. Covariance plots (EME2000 frame) |
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
…ovar) Add generate_orbits and generate_spacecraft to Python's nyx_space.monte_carlo module Make KfEstimate<T> Copy Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
…lity-constraints-more-noise-model-design Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
This is not a recommended API but it could be useful. Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Results from 19ace2b One way results for a MEO spacecraftInitial state deviation
Results
Trajectory error and estimated covarianceZoom on the first six hours Prefit residualsThe residuals drop after the EKF turns on (300 measurements without a gap in time). Postfit residualsTwo way results for a MEO spacecraftSame initial state deviation and noise levels. SNC is slightly different, but tuning of that may lead to better results. Results
Trajectory error and estimatedZoom on first six hours Prefit residualsPostfit residuals |
Also update the robustness tests and the github templates. Signed-off-by: Christopher Rabotin <[email protected]>
Add github links to each TODO Signed-off-by: Christopher Rabotin <[email protected]>
This does not lead to a better solution or smaller residuals, so I need to debug this again. Maybe it's because SNC not in there? Idk Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Signed-off-by: Christopher Rabotin <[email protected]>
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. Additional details and impacted files@@ Coverage Diff @@
## master #129 +/- ##
=========================================
Coverage ? 29.16%
=========================================
Files ? 126
Lines ? 33301
Branches ? 0
=========================================
Hits ? 9712
Misses ? 23589
Partials ? 0 ☔ View full report in Codecov by Sentry. |
Effects
Lots of breaking changes in this work.
If this is a new feature or a bug fix ...
issue-xyz
wherexyz
is the number of the issue.If this change adds or modifies a validation case
I have provided a GMAT script which confirms the result(s); andI have updated theVALIDATION.md
file with the new error data between nyx and GMAT.I will specify the version of GMAT used for the validation.