During the orbit refinement process, the variation in the orbital inclination is too large

In the process of using Orekit, I employed the LevenbergMarquardtOptimizer optimizer, the KeplerianPropagatorBuilder propagator, and the BatchLSEstimator estimator for orbit determination. I input the initial orbit’s six classical orbital elements, where the true anomaly was set to 360° and the inclination to 55°. I also provided existing observation data (time T, range R, azimuth A, elevation E). However, the resulting refined orbit showed an inclination of 66°. Under normal circumstances, without any maneuvers, the inclination should not change significantly.

However, when using the same observation data, I adjusted the initial true anomaly to any angle between 20° and 60°, and the final refined orbit’s inclination varied only slightly around 55°. Why is this happening?

Hello @lebronjames,

Could you specify what initial step bound factor did you use for the LevenbergMarquardtOptimizer ?

Cheers,
Vincent

Hi,

FYI there is a known bug with batch least squares and analytical Keplerian motion:

To make sure that’s not your problem, convert your initial guess to CartesianOrbit beforehand.

Cheers,
Romain

1 Like

Hi Vincent,
I directly created the optimizer with LevenbergMarquardtOptimizer optimizer = new LevenbergMarquardtOptimizer(); and didn’t specify the initial step bound factor. I only configured the maximum number of iterations and maximum number of evaluations for the estimator.
Cheers,
James

In that case, try setting it to 1e8 and see if it works.