We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Describe the bug Sometimes TLE estimation can fail due to a negative eccentricity found in an intermediate step.
Steps to reproduce
from ostk.physics import Environment from ostk.physics.environment.object.celestial import Earth from ostk.physics.coordinate import Position from ostk.physics.coordinate import Velocity from ostk.physics.coordinate import Frame from ostk.physics.time import Instant from ostk.physics.time import Interval from ostk.physics.time import Duration from ostk.physics.time import Scale from ostk.astrodynamics.trajectory import State from ostk.astrodynamics.trajectory import Propagator from ostk.astrodynamics.estimator import TLESolver from ostk.astrodynamics.solver import LeastSquaresSolver state = State( position=Position.meters([-130897.3295, 1348403.6866, -6841471.7888], Frame.GCRF()), velocity=Velocity.meters_per_second([5678.9079, -4865.1520, -1075.1813], Frame.GCRF()), instant=Instant.parse("2024-12-04 23:50:00", Scale.UTC) ) earth = Earth.spherical() environment = Environment(Instant.J2000(), [earth]) propagator = Propagator.default(environment) interval = Interval.closed(state.get_instant(), state.get_instant() + Duration.days(1.0)) instants = interval.generate_grid(Duration.minutes(1.0)) states = propagator.calculate_states_at(state, instants) tle_solver = TLESolver( solver=LeastSquaresSolver.default(), satellite_number=99999, revolution_number=1, estimate_b_star=False, ) analysis = tle_solver.estimate(states[0], states)
Expected behavior The TLE estimator converges to a solution
Potential suggestion It might be sufficient to just use std::max(0.0, aTLEState.extractCoordinate(EccentricitySubset)[0]) here:
open-space-toolkit-astrodynamics/src/OpenSpaceToolkit/Astrodynamics/Estimator/TLESolver.cpp
Line 288 in d91c39d
The text was updated successfully, but these errors were encountered:
vishwa2710
No branches or pull requests
Describe the bug
Sometimes TLE estimation can fail due to a negative eccentricity found in an intermediate step.
Steps to reproduce
Expected behavior
The TLE estimator converges to a solution
Potential suggestion
It might be sufficient to just use std::max(0.0, aTLEState.extractCoordinate(EccentricitySubset)[0]) here:
open-space-toolkit-astrodynamics/src/OpenSpaceToolkit/Astrodynamics/Estimator/TLESolver.cpp
Line 288 in d91c39d
The text was updated successfully, but these errors were encountered: