# Find the jump condition of the mass costate of a Launch Vehicle ascent problem solved via an indirect method (Pontryagin Minimum Principle)

I'm trying to solve a trajectory optimization problem for a class of problems like the old Altas-Centaur SLV3 Centaur launch vehicles. Those are a stage and a half design where the 2 LR-87 engines are dropped at an optimized time and the rocket continues on the LR-105 sustainer. Since this is an optimized staging time which has two different burn phases on either side of it rather than a burn-coast transition -- with a mass/thrust/isp discontinuities -- none of the typical mathematical tricks to eliminate the integration of the mass costate applies. I believe the way to solve this (?) is that the mass costate should be integrated and the Weierstrauss-Erdmann corner condition applied to the continuity of the Hamiltonian across the staging time. However without accounting for the discontinuity in the mass costate there is a discontinuity in the Hamiltonian and so this constraint cannot be applied. The question is how to calculate the discontinuity so to be able to apply this condition to solve the optimization problem?

I have solved this via wrapping a fixed time optimization problem with a line search for the optimized time and validated that my problem has a reasonable optimum value. I've also validated that other than the discontinuities the calculation of the full Hamiltonian is stepwise-constant given my integration of the mass costate. For varying fixed staging time trajectories around the optimum solution the discontinuity in the Hamiltonian value changes.

The approach I'm taking is similar to that in e.g. Lu, et al 2008 although I'm only solving the vacuum problem and using an ODE integrator instead of using the analytic solutions of the linearized gravity problem. The same numerical conditioning is applied so that $$g_0 = \mu / R_0^2$$ and the distances are scaled by $$R_0$$ the velocities by $$\sqrt{R_0 g_0}$$ and time by $$\sqrt{R_0 / g_0}$$. So I am minimizing the integrated thrust:

$$J = - \int_{t_0}^{t_f} \frac{T}{c} dt$$

With the Hamiltonian:

\begin{align} H &= P_r^T V - p_V^T \frac{r}{r^3} + p_V^T 1_T A_T - p_m \frac{T}{c} - \frac{T}{c} \\ &= P_r^T V - p_V^T \frac{r}{r^3} + T \left( \frac{p_V^T 1_T}{m g_0} - \frac{p_m}{c} - \frac{1}{c} \right) := H_0 + T S \end{align}

Note this is different from equation 10 in the reference above due to not making the linearized gravity approximation (which should not matter). For most typical burn-coast problems we can write $$H_0^{-} + T^{-} S^{-} = H_0^+ + T^+ S^+$$ and we can use the constancy of $$H_0$$ across a coast and that one of $$T^{-}$$ or $$T^{+}$$ are zero to simplify the constraints. In this case neither side is a coast so $$H_0$$ is not constant anywhere and T is also not zero on either side of the corner.

The integration of the mass costate and the terminal constraint for the free final time problem are:

\begin{align} p_m^{'} &= \frac{T \left| p_V \right|}{m^2 g_0} \\ p_m(t_f) &= 0 \end{align}

The rest of the problem of the integration of the state and other costates I'll omit, but examples are in the above paper.

If the times $$t_0, t_1, t_2, t_f$$ correspond to launch, jettison of the engines, jettison of the atlas stage and terminal (free) insertion into the orbital conditions. Then I am trying to use the constraint:

$$H(t_1)^- = H(t_1)^+ + \Delta H$$

I can solve that via substitution, but that does not constrain the problem, it is just a tautology. I need to find that $$\Delta H$$ via other means. Note there's also a discontinuity at $$t_2$$ due to mass jettison as well, but that time is not optimized, and is fixed by the choice of $$t_1$$ and the constraint of running out of fuel for the sustainer stage.

Think I've solved this, although there's some gaps that I don't perfectly understand.

The first issue is that this is not a problem which can be solved by minimizing the integrated thrust acceleration. Solving that problem results in burning the boosters with the sustainer until the tank runs dry, which results in less final mass delivered. To solve a stage and a half problem the metric must be to maximize the final mass $$J = - m_f$$.

The Hamiltonian then loses the $$-T/c$$ term, the transversality condition on the mass costate becomes $$P_m(t_f) = 1$$, and now this requires integrating the mass costate. This produces all the numerical issues mentioned in the paper that I cited above, which can be aided by normalizing the mass by the $$m_0$$ of the vessel (and normalizing forces, etc).

Once we do this, we can use Bryson and Ho, section 3.7, "Discontinuities in the State Variables at Interior Points" (page 106). Calling booster jettison $$t_1$$ and sustainer cutoff $$t_2$$ we have a completely free point at $$t_1$$ so in equation 3.7.13 we will have $$\frac{\partial \phi}{\partial t_1} = 0$$ which leads to the continuity of the Hamiltonian across $$t_1$$, so $$H^+(t_1) - H^-(t_1) = 0$$.

We have $$\Phi = -m_f + \nu ( m^-(t_1) - m^+(t_f) - \Delta m_1$$ and applying 3.7.11 and 3.7.12 and trivially eliminating $$\nu$$ leads to continuity of the mass costate at t_1, so: $$P_m^-(t_1) - P_m^+(t_1) = 0$$. This gives us one condition for the mass costate continuity and one condition for the free time parameter, combined with the rest of the continuity (or discontinuity in the case of the mass) conditions that completes the necessary equations at $$t_1$$. I would have expected a discontinuity in the mass costate and/or Hamiltonian here, but other reading I've done indicates that at this kind of optimized interior points the discontinuities are "removable".

For $$t_2$$ I become somewhat confused because it appears that the time should be fixed by the selection of $$t_1$$ and the dynamics, so I would expect a jump condition in the Hamiltonian, and would have expected the mass costate to be continuous. After simply beating on the problem a bit that is backwards and I get the correct answers from setting $$H^+(t_2) - H^-(t_2) = 0$$ and allowing a discontinuity in the mass costate (that equation is omitted from the problem since $$t_2$$ is not a free parameter). For the terminal burn time I then use $$H(t_f) = 0$$ and have to use that and cannot use any of the tricks commonly used with the Lagrange problem of integrated thrust acceleration minimization. I also find the result that the Hamiltonian needs to be continuous and the costate jumps to contrast with results from doing simple multistage vehicles with mass costate integration where at the fixed interior points the Hamiltonian jumps due to mass jettison and the mass costate needs to be continuous.

The resulting problem is sensitive to initial conditions, and more sensitive than a typical rocket problem. It seems to be best to apply some "vehicular homotopy" and solve the problem with not dropping the boosters until sustainer burnout (fixed $$t_1 = t_2$$) and applying infinite ISP to the upper stage (using the typical Lagrange formulation and omitting integration of the mass costate), then using the costate and values from that solved problem as an initial guess to the real problem with proper upper stage and allowing the $$t_1$$ to float. The mass costate initial guess can be determined by integrating the rest of the initial guess forwards using the real vehicle, then backintegrating the mass costate from the $$P_m(t_f) = 1$$ terminal condition.

In summary:

1. Convert to maximum final mass Mayer problem
2. Calculate the mass costate
3. Apply normalization to the mass
4. Solve the normal thrust acceleration Lagrange problem first with a similar idealized vehicle to seed the guess

The additional conditions corresponding to the times and the mass costate become:

\begin{align} H^+(t_1) - H^-(t_1) = 0 \\ P_m^-(t_1) - P_m^+(t_1) = 0 \\ H^+(t_2) - H^-(t_2) = 0 \\ H(t_f) = 0 \\ P_m(t_f) - 1 = 0 \end{align}

There is no sixth condition because $$t_2$$ is not free and is determined by $$t_1$$ and the sustainer dynamics and terminal mass.

• So there's still a question here about why dropping the sustainer after it runs out of fuel results in a jump in the mass costate while dropping a burned out stage in a normal rocket results in a jump in the Hamiltonian. I can kind of squint and see that it must be because the time isn't perfectly fixed and it depends on the prior time and the dynamics, but I don't know how to express that formally. Aug 23 '20 at 3:45