I'm writing some software which uses Optimal Control Theory / Calculus of Variations / Pontrayagin's Minimum Principle / Primer Vector Theory to do closed-loop execution of finite burns (in KSP).

From the modelled impulsive burn, I can solve the initial problem as a coast-burn-coast problem (allowing negative coasts) to find the time of ignition and the time / point of attachment to the target orbit. This uses 6 constraint equations to fully match the target orbit, including the true anomaly in order to achieve a rendezvous with the target orbit. I also have a 5 constraint terminal condition with the anomaly free which can be used to match the keplerian orbit but not rendezvous.

The rendezvous problem, though is important for e.g. ejection burns to interplanetary trajectories.

The technique I'm using is very similar to this paper, although I'm using numerical integration rather than analytical approximations (the 5-constraint terminal conditions comes from other papers):


The difficulty comes in executing the finite burn in a closed-loop fashion. Ideally I would like to continue to use the 6 constraint terminal conditions in order to adjust small errors to get back onto the exact trajectory, but I think I'm seeing terminal guidance problems where the primer rate vector becomes very large and the rocket "wiggles" all over the place towards the end of the burn (or for very small burns).

Should I simply plan the burn with 6-constraint and execute the burn using the 5-constraint equations? That would give me some error in the eventual true anomaly.

Should I do something similar to what PEG does with relaxing the position constraint in thermal guidance and with less than 40 seconds to go switch to the 5-constraint equations? This would give lower amounts of error.

Since the rockets tend to wiggle a lot that suggests to me that they're getting mostly 'ahead' of the target true anomaly and that some throttle down could be used instead. This seems like the best solution but I'm unsure of how to implement it (I know PEG has some support for throttle control for rendezvous, but I have not looked into it). Of course the engines would need to support throttling and in some cases I'll need to support engines that do not.

Are there papers on real-life examples of this (other than PEG) or papers that touch on this subject? I'm guessing that the 40 second terminal guidance length is tuned to PEG and its thrust integrals and mathematical properties, but this is likely the road I'll go down first.

Or are there papers on optimizing throttle control (to meet terminal conditions not throttle control subject to external constraints) in the indirect / calculus-of-variations method that I'm using?

  • 1
    $\begingroup$ This reference seems to be the answer to my question: arc.aiaa.org/doi/abs/10.2514/3.50575 (free upvotes if anyone wants to study that and beat me to writing something up). The "Missions requiring a full set of 6 or even 5 terminal constraints gradually become singular problems as $t \rightarrow t_f$" bit (page 1266) is very relevant along with "the state constraints in Eq. (12) are inappropriate for orbit transfer missions" (page 1269). $\endgroup$
    – lamont
    Jan 13, 2019 at 3:54


Your Answer

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

Browse other questions tagged or ask your own question.