Hi,
I skimmed through several resources but wasn’t able to get a clear answer to my questions. Hence reaching out here for some clarity.
I am trying to convert a set of 6 orbit elements (COEs) to TLEs but while doing so i am running into some issues and i am not sure if my approach is right. Any advice will be much appreciated.
For the conversion to TLEs since we need mean elements, I first computed the cartesian position (R) and velocity (V) vectors from the COEs.
Now since “OsculatingToMeanElementsConverter” requires SpacecraftState, satelliteRevolution, propagator, positionScale, i have:
pv = PVCoordinates(Vector3D(float(R[0]),float(R[1]),float(R[2])), Vector3D(float(V[0]),float(V[1]),float(V[2])))
state = SpacecraftState(CartesianOrbit(pv, frame, epoch_date, mu))
minStep = 1e-3
maxStep = 1000
abs_tol = 1e-4
rel_tol = 1e-8
integrator = DormandPrince853Integrator(minStep, maxStep, abs_tol, rel_tol)
propagator = DSSTPropagator(integrator, PropagationType.MEAN)
satelliteRevolution = 2
positionScale = 0.1
osc_to_mean_converter = OsculatingToMeanElementsConverter(state, satelliteRevolution, propagator, positionScale)
mean_state = osc_to_mean_converter.convert()
Now from this mean state, to construct the TLE, I need MeanMotion, meanMotionFirstDerivative, meanMotionSecondDerivative, eccentricity, Argument of Perigee, RAAN, Mean Anomaly. BStar.
My questions are:
-
The orbit element parameters in a TLE (eccentricity, inclination, AOP, RAAN), are these the mean values or the osculating values? If these are osculating then i already have most of them from my initial COE and i can compute MeanMotion by using
mean_state.getKeplerianMeanMotion()
. However how do i compute meanMotionFirstDerivative, meanMotionSecondDerivative, and Bstar? -
This might be a silly question but from my understanding so far, the orbit elements in the TLE seem to be the classical orbit elements (osculating values). If that is the case, why do we even need to compute the mean elements at that instant to compute the TLEs?
-
If the orbit elements are mean orbit elements, how do i get the RAAN and AOP from the mean state that i ahve computed? Using
mean_state.getRightAscensionOfAscendingNode()
andmean_state.getPerigeeArgument()
give error:
'org.orekit.propagation.SpacecraftState' object has no attribute 'getRightAscensionOfAscendingNode' and 'getPerigeeArgument()'.
And how do i compute meanMotionFirstDerivative, meanMotionSecondDerivative, and Bstar?
From this i am hoping to learn about what TLEs represent and also how to best use orekit to convert from COE to TLE. Any help will be much appreciated.
Eagerly waiting to hear back.