I am working on a project of simulating orbit maneuvering. I have interfaced SGP4 with my current simulation code, however I realized that the orbit maneuvering cannot be done using SGP4. I am aware of the methods where all the perturbations are integrated and the state propagates. However, I haven't been able to find resources for doing the same. What are some good resources/modules which can do so. In GMAT I cannot add custom orientations as thrust that I am giving is dependent on the orientation of the Satellite. I also want to know the actual process which is followed while simulating orbit maneuvering of Satellites. (From the state vectors to the propagate step to the error convergence)

  • $\begingroup$ Orekit could be a good option. $\endgroup$ – Daniel Ferrochio Nov 16 '17 at 15:18

It's difficult to do with SGP4, since it's a mean element theory - here's a pretty good post on what that means: Nuances of the terms (mean / osculating / Keplerian / orbital) elements

So if you take the state vector given by SGP4, apply a delta-V to it, and try to stuff the elements back into a TLE, you're not going to get exactly what you expect. It really depends on what level of accuracy you need and how far out you're interested in propagating.

It's an ugly hack, but I have seen people simulate low, continuous thrust maneuvers by manipulating the drag parameter of the TLE.

  • 1
    $\begingroup$ Thanks for the answer. I do understand that using SGP4 is not an option so I actually want to know the method that I should follow. How to propagators of GMAT or STK do it? I haven't been able to find any theory on the same. Or if there is any other solution to it then my problem is solved. I have already tried it using SGP4 and it didn't work. $\endgroup$ – Deep Machchhar Feb 1 '17 at 6:53

If you want to use GMAT, I would recommend writing your own GMAT script to interface with Python. The good thing here is that GMAT is high fidelity, so you can leverage that without having to recode it. Moreover, if your thrust is to be applied based on the orientation of the spacecraft, you can define a spacecraft body reference frame and define your thrust vector on each thrust arc in that frame.

If you want to code it up from scratch, which can be a fun challenge, maybe will my code be handy. It has locally optimal control laws for continuous thrust propulsion and finite burns, all in the RNC frame.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.