nyx-space / nyx

Nyx is a high fidelity, fast, reliable and validated astrodynamics toolkit library written in Rust and available in Python
https://nyxspace.com
GNU Affero General Public License v3.0
198 stars 20 forks source link

Support estimation of spacecraft coefficient of reflectivity and drag #350

Closed ChristopherRabotin closed 3 months ago

ChristopherRabotin commented 3 months ago

Summary

This change enables the estimation of Cr and Cd in the orbit determination of Nyx. This change has long been coming.

The SRP estimation model is finicky. You will NEED to enable some level of state noise compensation. The ODTK MathSpec (page 179) recommends modeling the SRP as a first order Gauss Markov process, which accounts for the time between measurements to even out the partial of the Cr. Instead, Nyx estimates Cr directly, assuming that it is a fixed value. This means that the filter is very (too?) responsive to changes in Cr. Too much SNC, and the Cr estimation does not happen because the changes are absorbed by the SNC, and too little, and you'll end up with a very slow estimation, and a Cr value that fluctuates a lot.

Architectural Changes

Implementations of ForceModel now return a rectangular Matrix where the extra data corresponds to the partial of that parameter (expected in the estimated state) wrt the velocity components.

New Features

No change

Improvements

No change

Bug Fixes

No change

Testing and validation

Add the od_val_sc_srp_estimation test case. In this test case, tracking data is simulated for a GTO with a Cr of 1.123, over 5 orbital periods (or 2 d 5 h). The initial estimation state is the same as the original one, but the Cr value is 1.5. The purpose of this test is to ensure that the estimated Cr converges onto the one from the tracking data.

newplot(1) newplot(2)

Documentation

This PR does not primarily deal with documentation changes.

github-actions[bot] commented 3 months ago

Visit the preview URL for this PR (updated for commit f188f59):

https://nyx-rustdoc--pr350-94-support-estimatio-hf90c91v.web.app

(expires Sat, 17 Aug 2024 15:33:34 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: d8e2a55934352d850c15d11866c39eb2d2e029be