1 Introduction

Spacecraft trajectory optimization is concerned with the determination of the optimal direction and magnitude of the propulsive thrust that drive a space vehicle toward some specified conditions, while minimizing either propellant consumption or time of flight. Optimal space trajectories have been extensively investigated from both the analytical and the numerical perspective, using a variety of approaches. The impulsive thrust assumption [45] represents an excellent approximation for spacecraft that employ chemical propulsion for short durations. In this context, orbit transfer optimization, aimed at minimizing propellant consumption, reduces to a nonlinear programming problem. However, in the presence of moderate or low thrust levels, the impulsive approximation loses accuracy, and the general properties of optimal finite-thrust trajectories can no longer be inferred from an impulsive solution [34, 49]. In these cases, the optimal path of interest must be found as the solution of a continuous-time optimal control problem.

As a valuable alternative to chemical propulsion, in recent years low-thrust electric propulsion [48] attracted an increasing interest by the scientific community, and already found application in a variety of mission scenarios, e.g. the NASA Deep Space 1 and the ESA Smart-1 missions [43, 44]. Thanks to high values of the specific impulse, low-thrust propulsion allows substantial propellant savings, at the price of increasing—even considerably—the time of flight. Pioneering studies on low-thrust trajectories are due to Edelbaum [13], who apparently was the first scientist to point out the advantages of using low-thrust in space missions. Most recently, extensive research on the same subject was carried out by Petropoulos [35, 36], Betts [5,6,7], Ross [46], and Kechichian [23,24,25,26,27], to name a few. Low-thrust trajectory optimization problems are solved through the use of direct, indirect, or heuristic approaches sometimes combined in hybrid forms [37]. With this regard, Betts [8], Rao [42], and Conway [11] offer excellent overviews of the available methods in spacecraft trajectory optimization. A major drawback of low-thrust electric propulsion resides in the demanding requirement of electrical power to operate. As a result, in operational scenarios low-thrust propulsion is switched off when the satellite is eclipsed. It is quite obvious that this circumstance implies a complete reconsideration of the underlying optimization problem. In general, this is formulated as a minimum-time problem, for which the available control depends on the state. A limited number of studies are devoted to low-thrust trajectory optimization with eclipsing. The cylindrical shadow model is assumed in several works as a very accurate approximation, due to the distance that separates the Sun from the Earth [15, 17]. Under some simplifying assumption, Kechichian [26, 27] derived analytical expressions for the variation of the orbit elements due to low thrust, with the inclusion of the eclipse effect on the availability of electrical power. Some researchers employed orbital averaging, in conjunction with either direct techniques [16, 28], or the sequential gradient-restoration algorithm [2], or a shooting method [15]. Recently, Kluever [29] provided an algorithm, based on Edelbaum’s analytic solution, devoted to computing the transfer time for low-thrust maneuvers with eclipsing, while Betts [7] proposed a direct optimization method that includes a multiple-phase formulation of the problem. A similar approach is due to Graham and Rao [19], who employed adaptive Gaussian quadrature orthogonal collocation, without any use of averaging. Their method finds an initial guess by identifying the optimal path while neglecting eclipsing. Then, a sequence of optimal control problems is defined and solved, by adding a single eclipse period at a time. Alternative (indirect) approaches are based on regularization, applied to the transitions from light to shadow (and vice versa). Ferrier and Epenoy [15] used a smoothing function when the spacecraft travels the region between two cylinders that enclose the eclipse cylinder. They proposed an effective methodology for circumventing the theoretical difficulties inherent to the state-dependent control. Most recently, Mazzini [33] utilized a smooth eclipse function, to restore the regularity conditions, for the purpose of applying the Pontryagin minimum principle, whereas Taheri and Junkins [50] proposed the hyperbolic tangent as a smoothing function. Similarly, Aziz et al. [1] smoothed the eclipse transition with a logistic function and computed the optimal paths through differential dynamic programming, a second-order gradient-based method.

The challenges related to the inclusion of multiple coast arcs, associated with eclipse intervals, are thus apparent from the preceding considerations. However, another class of optimal space trajectories exists that may include multiple coast arcs. In fact, minimum-fuel paths using finite thrust are associated with a set of necessary conditions that admit coast arcs and powered phases [40]. This consolidated property was proven in the 60 s [30] and since then a vast amount of literature was dedicated to investigating minimum-fuel space trajectories. A very interesting recent contribution is due to Taheri and Junkins [49], who analyzed the relations between impulsive transfers and finite-thrust paths using optimal control theory. They point out the existence of optimal trajectories with a variety of structures (i.e. different numbers and timing of powered phases and thrust arcs). In this context, the switching function, which depends on the state and the costate variables, plays a major role. In fact, the time evolution of this function determines the sequence of powered phases and coast arcs along the optimal path. For a space vehicle that orbits a single celestial body, orbital motion along thrust intervals must be obtained through numerical integration, whereas its trajectory is Keplerian along coast arcs (under the assumption of neglecting orbit perturbations). This means that the dynamical state is integrable. In the 60 s, Lawden [30] derived the first two-dimensional closed-form also for the costate along optimal coast arcs. Alternative closed-form solutions in the plane of the Keplerian arc are due to Hempel [20], Eckenwiler [14], and Lion and Handlesman [31]. Later, Glandorf [18] derived the general three-dimensional closed-form costate using Cartesian coordinates. More recently, Pan et al. [34] provided the closed-form costate along optimal coast arcs employing spherical coordinates and emphasized its utility for accurate determination of the switching times from coast to thrust.

The analytical study that follows is concerned with both types of trajectory optimization problems that admit multiple coast arcs: (a) minimum-time low-thrust paths with eclipse intervals and (b) minimum-fuel trajectories that employ finite thrust. Modified equinoctial elements are selected as the variables that describe the orbital motion of the space vehicle of interest, subject to the gravitational attraction of a single celestial body. This choice is related to three remarkable properties. First, virtually all types of trajectories can be described using modified equinoctial elements, unlike what occurs if the classical orbit elements are employed. Second, 5 out of 6 equinoctial elements remain constant (while the sixth is integrable) along coast arcs, in the presence of a single attracting body. In more complex mission scenarios, the space vehicle may be subject to perturbing accelerations, other than the action of the dominating attracting body, and in this case these 5 elements exhibit slow time variations. Third, in the numerical solution of low-thrust path optimization problems (with no eclipse intervals), the use of equinoctial elements was proven to mitigate the hypersensitivity issues encountered with spherical coordinates [38, 47]. In fact, for multi-revolution orbit transfers, they exhibit superior convergence properties if compared to spherical coordinates, and are also amenable to homotopy methods [48]. With reference to problem (a), the present study has the primary objectives of (1) formulating the problem as a multiple-arc optimization problem, (2) deriving the complete set of necessary conditions for optimality, (3) proving that all the multipoint conditions referred to intermediate times can be solved sequentially in the numerical integration process, and (4) employing the latter conditions in a numerical example, for illustrative purposes. No averaging or regularization is introduced to make the problem tractable. Then, this research revisits problem (b) using equinoctial elements, with the objective of deriving the necessary conditions associated with minimum-fuel paths, while emphasizing the substantial analytical differences from problem (a). As a further contribution, the optimal adjoint equations along coast arcs are analyzed, with the intent of ascertaining the existence of closed forms for the costate variables associated with modified equinoctial elements.

2 Orbit Dynamics

This research considers a space vehicle that orbits a single celestial body, in the dynamical framework of the restricted problem of two bodies. The spacecraft of interest is modeled as a point mass.

In general, orbital motion can be described using either Cartesian coordinates, spherical variables, or osculating orbit elements, i.e. semimajor axis a, eccentricity e, inclination i, right ascension of the ascending node (RAAN) \(\Omega\), argument of periapse \(\omega\), and true anomaly f [41]. However, the Gauss equations [41], which govern the time evolution of the orbit elements, become singular in the presence of a circular or equatorial orbit (and also when an elliptic orbit transitions to a hyperbola). For these reasons, the modified equinoctial elements [9] were introduced, and are selected in this work as the variables that identify the dynamical state of the space vehicle. These elements are defined as [3, 9]

$$ \begin{gathered} x_{1} = a\left( {1 - e^{2} } \right) \quad x_{2} = e\cos \left( {\Omega + \omega } \right) \quad x_{3} = e\sin \left( {\Omega + \omega } \right) \quad \hfill \\ x_{4} = \tan \frac{i}{2}\cos \Omega \quad x_{5} = \tan \frac{i}{2}\sin \Omega \quad x_{6} = \Omega + \omega + f \hfill \\ \end{gathered} $$
(1)

It is straightforward to recognize that \(x_{1}\) represents the orbit semilatus rectum. Unlike the classical orbit elements, the modified equinoctial elements are never singular, with the only exception of \(i = \pi\) (condition that is unlikely to encounter, because equatorial retrograde orbits are rather impractical). If \(\vartheta : = 1 + x_{2} \cos x_{6} + x_{3} \sin x_{6}\), the instantaneous radius is \(r = {{x_{1} } \mathord{\left/ {\vphantom {{x_{1} } \vartheta }} \right. \kern-\nulldelimiterspace} \vartheta }\). The classical orbit elements can be retrieved by inverting Eq. (1). The spacecraft position can be written in terms of a, e, i, \(\Omega\), \(\omega\), and f [41] or can be computed directly from the equinoctial elements [19].

2.1 Equations of Motion

The dynamical evolution of the modified equinoctial elements is governed by the respective Gauss equations [3],

$$ \dot{x}_{1} = \frac{2}{\vartheta }\sqrt {\frac{{x_{1}^{3} }}{\mu }} a_{\theta } $$
(2)
$$ \dot{x}_{2} = \sqrt {\frac{{x_{1} }}{\mu }} \left[ {a_{r} {\text{sin }}x_{6} + a_{\theta } \frac{{\left( {\vartheta + 1} \right){\text{cos }}x_{6} + x_{2} }}{\vartheta } - a_{h} \frac{{x_{4} \sin x_{6} - x_{5} \cos x_{6} }}{\vartheta }x_{3} } \right] $$
(3)
$$ \dot{x}_{3} = \sqrt {\frac{{x_{1} }}{\mu }} \left[ { - a_{r} {\text{cos }}x_{6} + a_{\theta } \frac{{\left( {\vartheta + 1} \right){\text{sin }}x_{6} + x_{3} }}{\vartheta } + a_{h} \frac{{x_{4} \sin x_{6} - x_{5} \cos x_{6} }}{\vartheta }x_{2} } \right] $$
(4)
$$ \dot{x}_{4} = a_{h} \sqrt {\frac{{x_{1} }}{\mu }} \frac{{1 + x_{4}^{3} + x_{5}^{2} }}{2\vartheta }{\text{cos }}x_{6} $$
(5)
$$ \dot{x}_{5} = a_{h} \sqrt {\frac{{x_{1} }}{\mu }} \frac{{1 + x_{4}^{3} + x_{5}^{2} }}{2\vartheta }{\text{sin }}x_{6} $$
(6)
$$ \dot{x}_{6} = \sqrt {\frac{\mu }{{x_{1}^{3} }}} \vartheta^{2} + a_{h} \sqrt {\frac{{x_{1} }}{\mu }} \frac{{x_{4} \sin x_{6} - x_{5} \cos x_{6} }}{\vartheta } $$
(7)

where \(\mu\) is the gravitational parameter of the attracting body. The terms \(\left\{ {a_{r} ,a_{\theta } ,a_{h} } \right\}\) are the components of the non-Keplerian acceleration a in the local vertical local horizontal (LVLH) frame aligned with \(\left( {\hat{r},\hat{\theta },\hat{h}} \right)\), where unit vector \(\hat{r}\) is directed toward the instantaneous position vector r (taken from the center of the attracting body), whereas \(\hat{h}\) is aligned with the spacecraft angular momentum.

The modified equinoctial elements allow identifying the instantaneous position and velocity of the spacecraft. This is controlled using the thrust supplied by the propulsion system. Let \(T_{max}\) and \(m_{0}\) represent the maximum available thrust magnitude and the initial mass of the space vehicle. If \(x_{7}\) denotes the mass ratio and T the thrust magnitude, for \(x_{7}\) the following equation can be obtained:

$$ \dot{x}_{7} : = \frac{{\dot{m}}}{{m_{0} }} = - \frac{{u_{T} }}{c}{\text{ with }}0 \le u_{T} \le u_{T}^{{\left( {max} \right)}} \, \left( {u_{T} : = \frac{T}{{m_{0} }}{\text{ and }}u_{T}^{{\left( {max} \right)}} : = \frac{{T_{max} }}{{m_{0} }}} \right) $$
(8)

where c represents the (constant) effective exhaust velocity of the propulsion system, whereas m is the instantaneous mass. The magnitude of the instantaneous thrust acceleration is \({{a_{T} = u_{T} m_{0} } \mathord{\left/ {\vphantom {{a_{T} = u_{T} m_{0} } m}} \right. \kern-\nulldelimiterspace} m} = {{u_{T} } \mathord{\left/ {\vphantom {{u_{T} } {x_{7} }}} \right. \kern-\nulldelimiterspace} {x_{7} }}\) and is constrained to the interval \(0 \le a_{T} \le a_{T}^{{\left( {max} \right)}}\), where \(a_{T}^{{\left( {max} \right)}} = {{u_{T}^{{\left( {max} \right)}} } \mathord{\left/ {\vphantom {{u_{T}^{{\left( {max} \right)}} } {x_{7} }}} \right. \kern-\nulldelimiterspace} {x_{7} }}\). The thrust acceleration \(\left( {{{\mathbf{T}} \mathord{\left/ {\vphantom {{\mathbf{T}} m}} \right. \kern-\nulldelimiterspace} m}} \right)\) is assumed to be the only non-Keplerian contribution in Eqs. (2)-(7), thus \({\mathbf{a}} = {{\mathbf{T}} \mathord{\left/ {\vphantom {{\mathbf{T}} m}} \right. \kern-\nulldelimiterspace} m} = {{\mathbf{T}} \mathord{\left/ {\vphantom {{\mathbf{T}} {\left( {m_{0} x_{7} } \right)}}} \right. \kern-\nulldelimiterspace} {\left( {m_{0} x_{7} } \right)}} = {{{\mathbf{u}}_{T} } \mathord{\left/ {\vphantom {{{\mathbf{u}}_{T} } {x_{7} }}} \right. \kern-\nulldelimiterspace} {x_{7} }}\), where \({\mathbf{u}}_{T}\) \(\left( { = {{\mathbf{T}} \mathord{\left/ {\vphantom {{\mathbf{T}} {m_{0} }}} \right. \kern-\nulldelimiterspace} {m_{0} }}} \right)\) has magnitude constrained to the interval \(\left[ {0,u_{T}^{{\left( {max} \right)}} } \right]\). The thrust direction is identified by means of the two thrust angles \(\alpha\) \(\left( { - \pi \le \alpha < \pi } \right)\) and \(\beta\) \(\left( { - {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2} \le \beta \le {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}} \right)\),

$$ a_{r} = \frac{{u_{T} }}{{x_{7} }}\cos \beta \sin \alpha \quad a_{\theta } = \frac{{u_{T} }}{{x_{7} }}\cos \beta \cos\alpha \quad a_{h} = \frac{{u_{T} }}{{x_{7} }}\sin\beta $$
(9)

In the end, the spacecraft dynamics is described using the state vector x and the control vector u defined as

$$ {\mathbf{x}}: = \left[ {\begin{array}{*{20}c} {x_{1} } & {x_{2} } & {x_{3} } & {x_{4} } & {x_{5} } & {x_{6} } & {x_{7} } \\ \end{array} } \right]^{T} {\text{ and }}{\mathbf{u}}: = \left[ {\begin{array}{*{20}c} \alpha & \beta & {u_{T} } \\ \end{array} } \right]^{T} $$
(10)

In light of Eq. (10), the state Eqs. (2)–(8) can be written in compact form as

$$ {\dot{\mathbf{x}}} = {\mathbf{f}}\left( {{\mathbf{x}},{\mathbf{u}},t} \right) $$
(11)

2.2 Spacecraft Eclipse Condition

Some types of low-thrust propulsion systems [48] require onboard electrical power in order to operate. In most cases, this can be provided only when the space vehicle is illuminated. This implies that propulsion must be considered unavailable when the spacecraft is eclipsed. This subsection focuses on the eclipse condition for space vehicles that orbit the Earth.

As a preliminary step, the spacecraft position in a proper inertial frame is derived. The Earth-centered inertial frame (ECI) has origin at the Earth center and axes aligned with the right-hand sequence of unit vectors \(\left( {\hat{c}_{1} ,\hat{c}_{2} ,\hat{c}_{3} } \right)\). Vector \(\hat{c}_{1}\) identifies the vernal axis, which corresponds to the intersection of the Earth equatorial plane with the ecliptic plane, whereas \(\hat{c}_{3}\) points toward the Earth rotation axis. In the ECI-frame, the spacecraft Cartesian coordinates can be written in terms of the classical orbit elements as shown in Ref. 41. Then, relatively long trigonometric steps (omitted for the sake of brevity), based on the definitions (1), lead to the following expressions for the three coordinates X, Y, Z:

$$ X = \frac{{x_{1} }}{\vartheta }\frac{{\left( {x_{4}^{2} - x_{5}^{2} + 1} \right){\text{c}}_{{x_{6} }} + 2x_{4} x_{5} s_{{x_{6} }} }}{{x_{4}^{2} + x_{5}^{2} + 1}}{, }Y = \frac{{x_{1} }}{\vartheta }\frac{{\left( {x_{5}^{2} - x_{4}^{2} + 1} \right)s_{{x_{6} }} + 2x_{4} x_{5} {\text{c}}_{{x_{6} }} }}{{x_{4}^{2} + x_{5}^{2} + 1}}, \, Z = \frac{{2x_{1} }}{\vartheta }\frac{{x_{4} s_{{x_{6} }} - x_{5} {\text{c}}_{{x_{6} }} }}{{x_{4}^{2} + x_{5}^{2} + 1}} $$
(12)

where \({\text{c}}_{\eta } : = \cos \eta\) and \({\text{s}}_{\eta } : = \sin \eta\) (\(\eta\) denotes a generic angle).

Under the very reasonable (approximating) assumption that the Earth describes a circular orbit about the Sun, the position of the latter in the ECI-frame is identified by the three coordinates \(X_{S}\), \(Y_{S}\), and \(Z_{S}\),

$$ \mathop {{\mathbf{r}}_{S} }\limits_{ \to } : = \left[ {\begin{array}{*{20}c} {X_{S} } & {Y_{S} } & {Z_{S} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\hat{c}_{1} } & {\hat{c}_{2} } & {\hat{c}_{3} } \\ \end{array} } \right]^{T} = r_{S} \left[ {\begin{array}{*{20}c} {{\text{cos}}\theta_{S} } & {\sin \theta_{S} \cos \varepsilon } & {\sin \theta_{S} \sin \varepsilon } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\hat{c}_{1} } & {\hat{c}_{2} } & {\hat{c}_{3} } \\ \end{array} } \right]^{T} $$
(13)

where \(r_{S}\) equals 1 AU, \(\varepsilon \, \left( { = 23.4{\text{ deg}}} \right)\) is the ecliptic obliquity, whereas \(\theta_{S}\) identifies the instantaneous position of the Sun. If \(\theta_{S0}\) denotes the value of \(\theta_{S}\) at the initial time \(t_{0}\) (set to 0) and \(\omega_{S} \, \left( { = {{2\pi } \mathord{\left/ {\vphantom {{2\pi } {T_{S} }}} \right. \kern-\nulldelimiterspace} {T_{S} }}; \, T_{S} = {\text{1 year}}} \right)\) is the (constant) angular rate of the Sun in its motion relative to Earth, then \(\theta_{S} = \omega_{S} t + \theta_{S0}\).

Once the spacecraft and Sun positions are specified in the ECI-frame, the condition for eclipsing is [12]

$$ \phi_{1} + \phi_{2} \le \xi ,{\text{ with }}\xi = \arccos \left( {\frac{{\mathop {{\mathbf{r}} }\limits_{ \to } \cdot \mathop {{\mathbf{r}}_{S} }\limits_{ \to } }}{{r_{S} r}}} \right), \, \phi_{1} = \arccos \left( {{{R_{E} } \mathord{\left/ {\vphantom {{R_{E} } r}} \right. \kern-\nulldelimiterspace} r}} \right), \, \phi_{2} = \arccos \left( {{{R_{E} } \mathord{\left/ {\vphantom {{R_{E} } {r_{S} }}} \right. \kern-\nulldelimiterspace} {r_{S} }}} \right) $$
(14)

where \(R_{E}\) is the Earth radius. Because \(r_{S} \gg R_{E}\), \(\phi_{2} \simeq {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}\), and the eclipse condition (14) becomes

$$ \cos \xi + \sin \phi_{1} \le 0 \, \Rightarrow \, \frac{{\mathop \mathbf{r}\limits_{ \to } \cdot\mathop {\mathbf{r}_{S} }\limits_{ \to } }}{{r_{S} r}} + \sqrt {1 - \frac{{R_{E}^{2} }}{{r^{2} }}} \le 0 $$
(15)

Insertion of Eqs. (12) and (13) into (15) yields

$$ \begin{gathered} x_{1} \left\{ {\left[ {\left( {x_{4}^{2} - x_{5}^{2} + 1} \right){\text{c}}_{{x_{6} }} + 2x_{4} x_{5} s_{{x_{6} }} } \right]{\text{c}}_{{\theta_{S} }} + \left[ {\left( {x_{5}^{2} - x_{4}^{2} + 1} \right)s_{{x_{6} }} + 2x_{4} x_{5} {\text{c}}_{{x_{6} }} } \right]{\text{s}}_{{\theta_{S} }} {\text{c}}_{\varepsilon } + 2\left( {x_{4} s_{{x_{6} }} - x_{5} {\text{c}}_{{x_{6} }} } \right){\text{s}}_{{\theta_{S} }} {\text{s}}_{\varepsilon } } \right\} \hfill \\ + \left( {x_{4}^{2} + x_{5}^{2} + 1} \right)\sqrt {x_{1}^{2} - R_{E}^{2} \left( {1 + x_{2} {\text{c}}_{{x_{6} }} + x_{3} {\text{s}}_{{x_{6} }} } \right)^{2} } \le 0 \hfill \\ \end{gathered} $$
(16)

Usefulness of the previous relation will be apparent in the next section.

It is worth remarking that some trajectory arcs can be traveled in penumbral or antumbral conditions, related to the relative positions of Earth, Moon, and Sun. However, in the great majority of the mission scenarios these arcs are so short that propulsion can remain ignited. For this reason, penumbral and antumbral conditions are neglected in this study.

3 Minimum-Time Trajectories with Eclipse Intervals

Low-thrust propulsion systems usually require considerable electrical power to operate. For this reason, they are ignited only when the satellite is illuminated.

This section is devoted to investigating the minimum-time transfer paths from an initial to a final Earth orbit, assuming availability of the thrust only in the intervals when the space vehicle is illuminated.

3.1 Statement of the Problem

The spacecraft of interest is governed by the state equations (11) and is subject to some (problem-dependent) boundary conditions of the form

$$ {{\varvec{\upzeta}}}\left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} } \right) = {\varvec{0}} $$
(17)

where \({{\varvec{\upzeta}}}\) denotes a generic column vector, which depends on the final time \(t_{f}\) and on the initial and final state \({\mathbf{x}}_{0}\) and \({\mathbf{x}}_{f}\). These conditions usually include the relations that define the initial and final orbits. As an example, the two terminal orbits can be defined by the respective values of the first five equinoctial elements, and in this case \({{\varvec{\upzeta}}}\) includes 10 components of the form \(\left\{ {x_{j,0} - \overline{x}_{j,0} } \right\}_{j = 1, \ldots ,5}\) and \(\left\{ {x_{j,f} - \overline{x}_{j,f} } \right\}_{j = 1, \ldots ,5}\), where the symbols with bar denote specified values, whereas subscripts 0 and f respectively refer to the initial and final value of the corresponding variable. The initial time is assumed specified and is set to 0. The objective function J to minimize is the time of flight, therefore

$$ J = t_{f} $$
(18)

For the orbit transfer problem at hand, the thrust is available only when the spacecraft is illuminated, i.e. when inequality (16) is violated. It is quite obvious that the entire trajectory is composed of an unspecified number N of eclipse arcs and light arcs. Therefore, this becomes a multiple-arc trajectory optimization problem. In each arc j, the state equations are

$$ {\dot{\mathbf{x}}}^{\left( j \right)} = {\mathbf{f}}^{\left( j \right)} \left( {{\mathbf{x}}^{\left( j \right)} ,{\mathbf{u}}^{\left( j \right)} ,t} \right) $$
(19)

Thrust is switched off along the eclipse arcs (\(u_{T}^{\left( j \right)} \equiv 0\)), where inequality (16) is fulfilled. This means that the optimal control law must be determined only in the light arcs. Unlike the control vector u, the state x is continuous across two adjacent arcs, i.e.

$$ {\mathbf{x}}_{ini}^{{\left( {j + 1} \right)}} = {\mathbf{x}}_{fin}^{\left( j \right)} \, \left( {j = 1, \ldots ,N - 1} \right) $$
(20)

For each variable the subscripts ini and fin denote the initial and final value in the arc with index reported in the superscript. Furthermore, the transition between two adjacent arcs (either an eclipse arc followed by a light arc or a light arc followed by an eclipse arc) corresponds to fulfillment of the equality associated with Eq. (16), rewritten in compact form as

$$ \psi^{\left( j \right)} \left( {{\mathbf{x}}_{fin}^{\left( j \right)} ,t_{j} } \right) = 0 \, \left( {j = 1, \ldots ,N - 1} \right) $$
(21)

The symbol \({\mathbf{x}}_{fin}^{\left( j \right)}\) collects all the state components that appear in the left-hand side of Eq. (16), evaluated at the end of arc j, which occurs at time \(t_{j}\). It is worth noticing that \(\psi^{\left( j \right)}\) depends explicitly on \(t_{j}\) through the variable \(\theta_{S}\), evaluated at \(t_{j}\) \(\left( {{\text{i}}{\text{.e}}{. }\theta_{S,j} = \omega_{S} t_{j} + \theta_{S0} } \right)\).

In the end, the multiple-arc problem consists in finding the optimal control u that minimizes the objective function (18), while holding the state equations (19) and the multipoint conditions (17), (20), and (21). Multiple-arc optimal control problems were also investigated by the author in Ref. [39].

3.2 Necessary Conditions for Optimality

In order to derive the necessary conditions for optimality, the extended objective function \(\overline{J}\) is defined,

$$ \overline{J} = t_{f} + {{\varvec{\upsigma}}}^{T} {{\varvec{\upzeta}}}\left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} } \right) + \sum\limits_{j = 1}^{N - 1} {\left[ {{{\varvec{\upupsilon}}}_{j}^{T} \left( {{\mathbf{x}}_{ini}^{{\left( {j + 1} \right)}} - {\mathbf{x}}_{fin}^{\left( j \right)} } \right) + \xi_{j} \psi^{\left( j \right)} \left( {{\mathbf{x}}_{fin}^{\left( j \right)} ,t_{j} } \right)} \right]} + \sum\limits_{j = 1}^{N} {\int\limits_{{t_{j - 1} }}^{{t_{j} }} {{{\varvec{\uplambda}}}^{\left( j \right)T} \left[ {{\mathbf{f}}^{\left( j \right)} \left( {{\mathbf{x}}^{\left( j \right)} ,{\mathbf{u}}^{\left( j \right)} ,t} \right) - {\dot{\mathbf{x}}}^{\left( j \right)} } \right]dt} } $$
(22)

where \({{\varvec{\upsigma}}}\), \({{\varvec{\upupsilon}}}_{j}\), and \(\xi_{j}\) are time-independent adjoint variables conjugate to the multipoint conditions (17), (20), and (21), whereas \({{\varvec{\uplambda}}}^{\left( j \right)}\) is the time-varying costate vector associated with the state equations (19) and \(t_{N} \equiv t_{f}\). N Hamiltonian functions \(H^{\left( j \right)} \, \left( {j = 1, \ldots ,N} \right)\) and a function \(\Phi\) are introduced,

$$ H^{\left( j \right)} = {{\varvec{\uplambda}}}^{\left( j \right)T} {\mathbf{f}}^{\left( j \right)} \left( {{\mathbf{x}}^{\left( j \right)} ,{\mathbf{u}}^{\left( j \right)} ,t} \right) $$
(23)
$$ \Phi : = t_{f} + {{\varvec{\upsigma}}}^{T} {{\varvec{\upzeta}}}\left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} } \right) + \sum\limits_{j = 1}^{N - 1} {\left[ {{{\varvec{\upupsilon}}}_{j}^{T} \left( {{\mathbf{x}}_{ini}^{{\left( {j + 1} \right)}} - {\mathbf{x}}_{fin}^{\left( j \right)} } \right) + \xi_{j} \psi^{\left( j \right)} \left( {{\mathbf{x}}_{fin}^{\left( j \right)} ,t_{j} } \right)} \right]} $$
(24)

and the extended objective function \(\overline{J}\) is rewritten as

$$ \begin{aligned} \overline{J} =& \Phi \left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} ,{\mathbf{x}}_{ini}^{\left( 2 \right)} , \ldots ,{\mathbf{x}}_{ini}^{\left( N \right)} ,{\mathbf{x}}_{fin}^{\left( 1 \right)} , \ldots ,{\mathbf{x}}_{fin}^{{\left( {N - 1} \right)}} ,t_{1} , \ldots ,t_{N - 1} ,{{\varvec{\upsigma}}},{{\varvec{\upupsilon}}}_{1} , \ldots ,{{\varvec{\upupsilon}}}_{N - 1} ,\xi_{1} , \ldots ,\xi_{N - 1} } \right) \hfill \\ &\quad + \sum\limits_{j = 1}^{N} {\int\limits_{{t_{j - 1} }}^{{t_{j} }} {\left[ {H^{\left( j \right)} \left( {{\mathbf{x}}^{\left( j \right)} ,{\mathbf{u}}^{\left( j \right)} ,{{\varvec{\uplambda}}}^{\left( j \right)} ,t} \right) - {{\varvec{\uplambda}}}^{\left( j \right)T} {\dot{\mathbf{x}}}^{\left( j \right)} } \right]dt} } \hfill \\ \end{aligned} $$
(25)

The first differential \(d\overline{J}\) can be obtained by using the steps illustrated in Appendix, and is

$$ \begin{gathered} d\overline{J} = \sum\limits_{j = 1}^{N - 1} {\left[ {\left( {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{ini}^{{\left( {j + 1} \right)}} }} + {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)T}} } \right)d{\mathbf{x}}_{ini}^{{\left( {j + 1} \right)}} + \left( {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }} - {{\varvec{\uplambda}}}_{fin}^{\left( j \right)T} } \right)d{\mathbf{x}}_{fin}^{\left( j \right)} + \left( {\frac{\partial \Phi }{{\partial t_{j} }} + H_{fin}^{\left( j \right)} - H_{ini}^{{\left( {j + 1} \right)}} } \right)dt_{j} } \right]} \hfill \\ \quad + \left( {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{0} }} + {{\varvec{\uplambda}}}_{0}^{T} } \right)d{\mathbf{x}}_{0} + \left( {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{f} }} - {{\varvec{\uplambda}}}_{f}^{T} } \right)d{\mathbf{x}}_{f} + \left( {H_{f} + \frac{\partial \Phi }{{\partial t_{f} }}} \right)dt_{f} { + }\sum\limits_{j = 1}^{N} {\int\limits_{{t_{j - 1} }}^{{t_{j} }} {\left[ {\left( {{\dot{\mathbf{\lambda }}}^{\left( j \right)T} + \frac{{\partial H^{\left( j \right)} }}{{\partial {\mathbf{x}}^{\left( j \right)} }}} \right)\delta {\mathbf{x}}^{\left( j \right)} + \frac{{\partial H^{\left( j \right)} }}{{\partial {\mathbf{u}}^{\left( j \right)} }}\delta {\mathbf{u}}^{\left( j \right)} } \right]dt} } \hfill \\ \end{gathered} $$
(26)

where subscripts 0 and f refer to the initial and final time, respectively, whereas the symbol \(\delta\) denotes the variation, i.e. the time-fixed differential, using the notation of Ref. 22 (cf. also Appendix). The first differential must vanish at an extremal [22], for arbitrary values of \(\left\{ {d{\mathbf{x}}_{ini}^{{\left( {j + 1} \right)}} ,{\mathbf{x}}_{fin}^{\left( j \right)} ,dt_{j} } \right\}_{j = 1, \ldots ,N - 1}\), \(d{\mathbf{x}}_{0}\), \(d{\mathbf{x}}_{f}\), \(dt_{f}\), \(\left\{ {\delta {\mathbf{x}}^{\left( j \right)} ,\delta {\mathbf{u}}^{\left( j \right)} } \right\}_{j = 1, \ldots ,N}\), and this implies that the following necessary conditions for optimality must hold:

$$ {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} + \left[ {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{ini}^{{\left( {j + 1} \right)}} }}} \right]^{T} = {\varvec{0}} \, \Rightarrow \, {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} = - {{\varvec{\upupsilon}}}_{j} \, \left( {j = 1, \ldots ,N - 1} \right) $$
(27)
$$ {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} - \left[ {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }}} \right]^{T} = {\varvec{0}} \, \Rightarrow \, {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} = - {{\varvec{\upupsilon}}}_{j} { + }\xi_{j} \left[ {\frac{{\partial \psi^{\left( j \right)} }}{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }}} \right]^{T} \, \left( {j = 1, \ldots ,N - 1} \right) $$
(28)
$$ \frac{\partial \Phi }{{\partial t_{j} }} + H_{fin}^{\left( j \right)} - H_{ini}^{{\left( {j + 1} \right)}} = 0 \, \Rightarrow \, H_{ini}^{{\left( {j + 1} \right)}} = H_{fin}^{\left( j \right)} + \xi_{j} \frac{{\partial \psi^{\left( j \right)} }}{{\partial t_{j} }} \, \left( {j = 1, \ldots ,N - 1} \right) $$
(29)
$$ {{\varvec{\uplambda}}}_{0}^{{}} + \left[ {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{0} }}} \right]^{T} = {\varvec{0}} \, \Rightarrow \, {{\varvec{\uplambda}}}_{0}^{{}} = - \left[ {\frac{{\partial {{\varvec{\upzeta}}}}}{{\partial {\mathbf{x}}_{0} }}} \right]^{T} {{\varvec{\upsigma}}} $$
(30)
$$ {{\varvec{\uplambda}}}_{f}^{{}} - \left[ {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{f} }}} \right]^{T} = {\varvec{0}} \, \Rightarrow \, {{\varvec{\uplambda}}}_{f}^{{}} = \left[ {\frac{{\partial {{\varvec{\upzeta}}}}}{{\partial {\mathbf{x}}_{f} }}} \right]^{T} {{\varvec{\upsigma}}} $$
(31)
$$ H_{f} + \frac{\partial \Phi }{{\partial t_{f} }} = 0 \, \Rightarrow \, H_{f} = - 1 - \left[ {\frac{{\partial {{\varvec{\upzeta}}}}}{{\partial t_{f} }}} \right]^{T} {{\varvec{\upsigma}}} $$
(32)
$$ {\dot{\mathbf{\lambda }}}^{\left( j \right)} = - \left[ {\frac{{\partial H^{\left( j \right)} }}{{\partial {\mathbf{x}}^{\left( j \right)} }}} \right]^{T} $$
(33)
$$ \left[ {\frac{{\partial H^{\left( j \right)} }}{{\partial {\mathbf{u}}^{\left( j \right)} }}} \right]^{T} = {\varvec{0}} $$
(34)

The last condition, which implies stationarity of \(H^{\left( j \right)}\) with respect to \({\mathbf{u}}^{\left( j \right)}\), can be replaced by the more general Pontryagin minimum principle [32],

$$ {\mathbf{u}}_{*}^{\left( j \right)} = \arg \mathop {\min }\limits_{{{\mathbf{u}}^{\left( j \right)} }} H^{\left( j \right)} $$
(35)

where \(H^{\left( j \right)}\) is defined in Eq. (23), whereas the subscript * denotes the optimal value of the corresponding variable. Equation (33) is the adjoint equation for the costate variables, accompanied by the related boundary conditions (30) and (31) and by the multipoint conditions (27) and (28). Because \({{\varvec{\upzeta}}}\) appears in Eqs. (30) and (31), their explicit form is problem-dependent, unlike what occurs for the adjoint equations (33). Moreover, Eqs. (29) and (32) hold for the Hamiltonian functions, evaluated at times \(\left\{ {t_{1} , \ldots ,t_{N - 1} ,t_{N} \equiv t_{f} } \right\}\). While Eqs. (30)–(35) are formally identical to the necessary conditions that hold for ordinary (single-arc) optimization problems, Eqs. (27)–(29) represent additional relations, termed multipoint necessary conditions henceforth.

Using Eqs. (2)–(9) and (23), H can be rewritten as

$$ H^{\left( j \right)} = \frac{{u_{T}^{\left( j \right)} }}{{x_{7}^{\left( j \right)} }}\left[ {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \cos \beta^{\left( j \right)} \cos \alpha^{\left( j \right)} + {{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \cos \beta^{\left( j \right)} \sin \alpha^{\left( j \right)} + {{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \sin\beta^{\left( j \right)} - \lambda_{7}^{\left( j \right)} \frac{{x_{7}^{\left( j \right)} }}{c}} \right] + {{\varvec{\upchi}}}_{{}}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} $$
(36)

where \({{\varvec{\upchi}}}_{r}\), \({{\varvec{\upchi}}}_{\theta }\), \({{\varvec{\upchi}}}_{h}\), and \({{\varvec{\upchi}}}\) (whose expressions are not reported for the sake of brevity) depend on \({\mathbf{z}}^{\left( j \right)} : = \left[ {\begin{array}{*{20}c} {x_{1}^{\left( j \right)} } & {x_{2}^{\left( j \right)} } & {x_{3}^{\left( j \right)} } & {x_{4}^{\left( j \right)} } & {x_{5}^{\left( j \right)} } & {x_{6}^{\left( j \right)} } \\ \end{array} } \right]^{T}\). The adjoint variable \(\lambda_{7}^{\left( j \right)}\), which is the seventh component of \({{\varvec{\uplambda}}}^{\left( j \right)}\), deserves special attention. Due to Eqs. (33) and (36), the costate equation for \(\lambda_{7}^{\left( j \right)}\) is

$$ \dot{\lambda }_{7}^{\left( j \right)} = - \frac{{\partial H^{\left( j \right)} }}{{\partial x_{7}^{\left( j \right)} }} = \frac{{u_{T}^{\left( j \right)} }}{{x_{7}^{2} }}\left[ {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \cos \beta^{\left( j \right)} \cos \alpha^{\left( j \right)} + {{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \cos \beta^{\left( j \right)} \sin \alpha^{\left( j \right)} + {{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \sin\beta^{\left( j \right)} } \right] $$
(37)

Moreover, because \(\psi^{\left( j \right)}\) is independent of \(x_{7}^{\left( j \right)}\) (cf. Eq. (16)), combination of Eqs. (27) and (28) yields

$$ \lambda_{7,ini}^{{\left( {j + 1} \right)}} = \lambda_{7,fin}^{\left( j \right)} \, \left( {j = 1, \ldots ,N - 1} \right) $$
(38)

Because the final mass is unspecified, the boundary conditions (17) are independent of \(x_{7,f}\). As a result, Eq. (31) yields

$$ \lambda_{7,f} = 0 $$
(39)

While in the eclipse arc the spacecraft is subject to no control due to unavailability of low-thrust, in light arcs the minimum principle (35) allows expressing the optimal control in terms of the state and costate variables. With reference to Eq. (36), the first three terms in square parentheses can be regarded as a dot product. Thus, since \({{u_{T} } \mathord{\left/ {\vphantom {{u_{T} } {x_{7} }}} \right. \kern-\nulldelimiterspace} {x_{7} }} \ge 0\), the thrust angles that minimize \(H^{\left( j \right)}\) are given by

$$ \sin \beta^{\left( j \right)} = - {{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \left\{ {\left[ {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right]^{2} + \left[ {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right]^{2} + \left[ {{{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right]^{2} } \right\}^{{ - {1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} $$
(40)
$$ \sin \alpha^{\left( j \right)} = - {{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \left\{ {\left[ {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right]^{2} + \left[ {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right]^{2} } \right\}^{{ - {1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} {\text{ and }}\cos \alpha^{\left( j \right)} = - {{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} \left\{ {\left[ {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right]^{2} + \left[ {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right]^{2} } \right\}^{{ - {1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} $$
(41)

Using these expressions for \(\alpha^{\left( j \right)}\) and \(\beta^{\left( j \right)}\), Eqs. (36) and (37) become

$$ H^{\left( j \right)} = - \frac{{u_{T}^{\left( j \right)} }}{{x_{7}^{\left( j \right)} }}\left[ {\sqrt {\left( {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right)^{2} } + \frac{{x_{7}^{\left( j \right)} \lambda_{7}^{\left( j \right)} }}{c}} \right] + {{\varvec{\upchi}}}_{{}}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} $$
(42)
$$ \dot{\lambda }_{7}^{\left( j \right)} = - \frac{{\partial H^{\left( j \right)} }}{{\partial x_{7}^{\left( j \right)} }} = - \frac{{u_{T}^{\left( j \right)} }}{{\left( {x_{7}^{\left( j \right)} } \right)^{2} }}\sqrt {\left( {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}^{\left( j \right)} } \right)^{2} } \le 0 $$
(43)

The latter relation, in conjunction with the final condition (39) and the continuity condition (38), implies that \(\lambda_{7}^{\left( j \right)}\) is nonnegative at all times. Moreover, because \(\lambda_{7}^{\left( j \right)} \ge 0\), applying the Pontryagin minimum principle to Eq. (42) allows obtaining the optimal value of \(u_{T}\),

$$ u_{T} = u_{T}^{{\left( {max} \right)}} $$
(44)

It is worth remarking that Eqs. (40), (41), and (44) are meaningful only for light arcs, where the optimal thrust magnitude corresponds to the maximum value \(u_{T}^{{\left( {max} \right)}} \, \left( { = {{T_{max} } \mathord{\left/ {\vphantom {{T_{max} } {m_{0} }}} \right. \kern-\nulldelimiterspace} {m_{0} }}} \right)\), as prescribed by Eq. (44).

In the end, the necessary conditions for optimality (27)-(33) and (35), in conjunction with the state equations (19) and the multipoint conditions (20)-(21), allow converting the original optimal control problem into a two-point boundary value problem (TPBVP), where the unknowns are the state \({\mathbf{x}}^{\left( j \right)} \, \left( {j = 1, \ldots ,N} \right)\), the control \({\mathbf{u}}^{\left( j \right)} \, \left( {j = 1, \ldots ,N} \right)\), the intermediate and final times \(\left\{ {t_{1} , \ldots ,t_{N - 1} ,t_{N} \equiv t_{f} } \right\}\), and the adjoint variables \({{\varvec{\uplambda}}}^{\left( j \right)} \, \left( {j = 1, \ldots ,N} \right)\), \({{\varvec{\upsigma}}}\), \({{\varvec{\upupsilon}}}_{k}\), and \(\xi_{k}\) \(\left( {k = 1, \ldots ,N - 1} \right)\).

3.3 Sequential Solution of the Multipoint Necessary Conditions for Optimality

The formulation of the orbit transfer with eclipse intervals as a multiple-arc optimization problem leads to establishing an extended set of necessary conditions for optimality. In particular, the multipoint necessary conditions for optimality (27)-(29), together with the multipoint conditions (20) and (21), represent a considerable number of additional relations to satisfy in the numerical solution process. However, Eqs. (27)-(29) can be combined, for the purpose of developing an advantageous methodology to enforce them.

As a first step, insertion of Eq. (27) into (28) yields

$$ {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} = {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} { + }\xi_{j} \left[ {\frac{{\partial \psi^{\left( j \right)} }}{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }}} \right]^{T} \, \left( {j = 1, \ldots ,N - 1} \right) $$
(45)

Moreover, Eq. (29) can be solved for \(\xi_{j}\), using also Eq. (42) to express the Hamiltonian functions \(H_{ini}^{{\left( {j + 1} \right)}} {\text{ and }}H_{fin}^{\left( j \right)}\),

$$ \begin{aligned} \xi_{j} = - \left( {\frac{{\partial \psi^{\left( j \right)} }}{{\partial t_{j} }}} \right)^{ - 1} \left\{ { - \frac{{u_{T,j}^{{\left( {max} \right)}} }}{{x_{7,fin}^{\left( j \right)} }}\left[ {\sqrt {\left( {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right)^{2} } + \frac{{x_{7,fin}^{\left( j \right)} \lambda_{7,fin}^{\left( j \right)} }}{c}} \right] + {{\varvec{\upchi}}}_{{}}^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right\} \hfill \\ { + }\left( {\frac{{\partial \psi^{\left( j \right)} }}{{\partial t_{j} }}} \right)^{ - 1} \left\{ { - \frac{{u_{T,j + 1}^{{\left( {max} \right)}} }}{{x_{7,ini}^{{\left( {j + 1} \right)}} }}\left[ {\sqrt {\left( {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right)^{2} } + \frac{{x_{7,ini}^{{\left( {j + 1} \right)}} \lambda_{7,ini}^{{\left( {j + 1} \right)}} }}{c}} \right] + {{\varvec{\upchi}}}_{{}}^{T} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right\} \hfill \\ \end{aligned} $$
(46)

where \({{\varvec{\upchi}}}_{r}^{{}} : = {{\varvec{\upchi}}}_{r,ini}^{{\left( {j + 1} \right)}} \equiv {{\varvec{\upchi}}}_{r,fin}^{\left( j \right)}\), \({{\varvec{\upchi}}}_{\theta }^{{}} : = {{\varvec{\upchi}}}_{\theta ,ini}^{{\left( {j + 1} \right)}} \equiv {{\varvec{\upchi}}}_{\theta ,fin}^{\left( j \right)}\), \({{\varvec{\upchi}}}_{h}^{{}} : = {{\varvec{\upchi}}}_{h,ini}^{{\left( {j + 1} \right)}} \equiv {{\varvec{\upchi}}}_{h,fin}^{\left( j \right)}\), and \({{\varvec{\upchi}}}: = {{\varvec{\upchi}}}_{ini}^{{\left( {j + 1} \right)}} \equiv {{\varvec{\upchi}}}_{fin}^{\left( j \right)}\), because the state is continuous across adjacent arcs. Two cases can occur, with regard to Eq. (46): (a) transition from a light arc to an eclipse arc, which means that \(u_{T,j}^{{\left( {max} \right)}} = u_{T}^{{\left( {max} \right)}}\) and \(u_{T,j + 1}^{{\left( {max} \right)}} = 0\), and (b) transition from an eclipse arc to a light arc, implying \(u_{T,j}^{{\left( {max} \right)}} = 0\) and \(u_{T,j + 1}^{{\left( {max} \right)}} = u_{T}^{{\left( {max} \right)}}\).

Case (a). Transition from a light arc to an eclipse arc. Insertion of Eq. (46) (with \(u_{T,j}^{{\left( {max} \right)}} = u_{T}^{{\left( {max} \right)}}\) and \(u_{T,j + 1}^{{\left( {max} \right)}} = 0\)) into Eq. (45) leads to obtaining the following relation:

$$ \begin{gathered} \left\{ {\user2{I + }\left( {\frac{{\partial \psi^{\left( j \right)} }}{{\partial t_{j} }}} \right)^{ - 1} \left[ {\frac{{\partial \psi^{\left( j \right)} }}{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }}} \right]^{T} {{\varvec{\upchi}}}_{{}}^{T} } \right\}{{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} = {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} + \left[ {\frac{{\partial \psi^{\left( j \right)} }}{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }}} \right]^{T} \left( {\frac{{\partial \psi^{\left( j \right)} }}{{\partial t_{j} }}} \right)^{ - 1} \hfill \\ \cdot \left\{ { - \frac{{u_{T}^{{\left( {max} \right)}} }}{{x_{7,fin}^{\left( j \right)} }}\left[ {\sqrt {\left( {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right)^{2} } + \frac{{x_{7,fin}^{\left( j \right)} \lambda_{7,fin}^{\left( j \right)} }}{c}} \right] + {{\varvec{\upchi}}}_{{}}^{T} {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right\} \hfill \\ \end{gathered} $$
(47)

where I denotes the identity matrix, with dimension appropriate to the context. Equation (47) can be regarded as a linear system with \({{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}}\) as the unknown. Therefore, \({{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}}\) can be obtained using Eq. (47), if all the other quantities (including \({{\varvec{\uplambda}}}_{fin}^{\left( j \right)}\)) are known.

Case (b). Transition from an eclipse arc to a light arc. Insertion of Eq. (46) (with \(u_{T,j}^{{\left( {max} \right)}} = 0\) and \(u_{T,j + 1}^{{\left( {max} \right)}} = u_{T}^{{\left( {max} \right)}}\)) into Eq. (45) leads to obtaining the following vector equation:

$$ \begin{gathered} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} - {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} - \left[ {\frac{{\partial \psi^{\left( j \right)} }}{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }}} \right]^{T} \left( {\frac{{\partial \psi^{\left( j \right)} }}{{\partial t_{j} }}} \right)^{ - 1} \left[ {{{\varvec{\upchi}}}_{{}}^{T} \left( {{{\varvec{\uplambda}}}_{fin}^{\left( j \right)} - {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right) + \frac{{u_{T}^{{\left( {max} \right)}} \lambda_{7,ini}^{{\left( {j + 1} \right)}} }}{c}} \right] \hfill \\ = \left[ {\frac{{\partial \psi^{\left( j \right)} }}{{\partial {\mathbf{x}}_{fin}^{\left( j \right)} }}} \right]^{T} \left( {\frac{{\partial \psi^{\left( j \right)} }}{{\partial t_{j} }}} \right)^{ - 1} \frac{{u_{T}^{{\left( {max} \right)}} }}{{x_{7,ini}^{{\left( {j + 1} \right)}} }}\sqrt {\left( {{{\varvec{\upchi}}}_{r}^{T} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{\theta }^{T} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right)^{2} + \left( {{{\varvec{\upchi}}}_{h}^{T} {{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} } \right)^{2} } \hfill \\ \end{gathered} $$
(48)

Squaring both sides of Eq. (48) leads to obtaining a system of quadratic equations with the components of \({{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}}\) as the unknowns. The entire set of solutions of this system can be obtained numerically (e.g., in MATLAB using the embedded function vpasolve). Then, among the real solutions, only those that preserve the sign consistency of Eq. (48) are acceptable. If more than a single acceptable solution for \({{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}}\) exists, then the one that minimizes \(\left| {{{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} - {{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right|\) is selected. This choice is consistent with a straightforward property that regards \(\left\{ {{{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}} ,{{\varvec{\uplambda}}}_{fin}^{\left( j \right)} } \right\}\). In fact, as the eclipse arc duration reduces or as \(u_{T}^{{\left( {max} \right)}}\) tends to zero, \({{\varvec{\uplambda}}}_{ini}^{{\left( {j + 1} \right)}}\) must tend to \({{\varvec{\uplambda}}}_{fin}^{\left( j \right)}\), to retrieve continuity of the adjoint variables, which holds for single-arc problems with no discontinuity in the available thrust magnitude.

It is apparent that Eqs. (47)–(48) represent the matching conditions for the adjoint vector \({{\varvec{\uplambda}}}\) at times \(t_{j} \, \left( {j = 1, \ldots ,N - 1} \right)\). In the scientific literature, Cerf [10] provided the relations that identify the jump conditions for the adjoint variables associated with Cartesian coordinates, by employing the Weierstrass–Erdmann corner conditions. Equations (47)–(48) represent the jump relations for the adjoint variables associated with equinoctial elements. They are derived making reference to a transition condition that has the general form reported in Eq. (21), and using the general principles of variational calculus (cf. also Sect. 3.2 and Appendix), in conjunction with the Pontryagin minimum principle. It is straightforward to recognize that Eq. (38) is the seventh scalar equation associated with either Eq. (47) or Eq. (48). Based on these relations and the remaining necessary conditions for optimality, the numerical solution process can include the following steps:

  • Step 1. Identify the known initial values of the state and costate variables using Eqs. (17) and (30).

  • Step 2. Derive the (possible) relations between the initial values of the state and costate variables (i.e., the components of \({{\varvec{\uplambda}}}\)) by eliminating some components of \({{\varvec{\upsigma}}}\) from Eq. (30); this leads to identifying the minimal set of unknown initial values for the components of \({\mathbf{x}}_{0}\) and \({{\varvec{\uplambda}}}_{0}\).

  • Step 3. Select the unknown initial values for the state and costate components belonging to the minimal set identified at Step 2; calculate the remaining initial values of the state and costate components using the relations found at Step 2.

  • Step 4. Select the final time \(t_{f}\).

  • Step 5. Until the current time \(t \le t_{f}\), iterate the following sub-steps:

    • identify the type of arc (either a light arc or an eclipse arc);

    • integrate numerically the state and costate equations (19) and (33), setting \(u_{T}^{\left( j \right)} \equiv 0\) (in an eclipse arc) or using Eqs. (40), (41), and (44) to express the control in terms of state and costate components (along a light arc), until condition (21) is met or \(t = t_{f}\);

    • if \(t = t_{f}\), then stop the numerical integration, otherwise use the appropriate matching condition (either (47) or (48)) to find the initial value of the adjoint vector for the subsequent arc and repeat steps 5(a) and 5(b);

    • Step 6. Evaluate the violations of the boundary conditions (17) and the necessary conditions (31)-(32). If these violations do not exceed a prescribed threshold, then convergence is declared, otherwise Steps 3 through 6 are repeated.

It is worth remarking that when an eclipse arc is entered, at Step 5(b) all the state and costate components are available in closed form, and numerical integration can be avoided. Details on the costate along coast arcs are provided in Sect. 5. Moreover, the transition time from an eclipse arc to a light arc can be detected in a straightforward and very accurate way. Omitting superscript (j), along coast arcs Eq. (21) can be rewritten as

$$ \psi \left( {x_{6,fin} ,t_{j} } \right) = 0 $$
(49)

In fact, only \(x_{6,fin}\) and \(\theta_{S}\) are time-varying along eclipse arcs. The numerical solution of the preceding equation, in conjunction with the definition of \(x_{6}\), the Kepler’s equation, and the relation between true anomaly and eccentric anomaly, allows identifying the transition time \(t_{j}\) from a light arc to an eclipse arc, without any need of detecting it during the numerical integration process.

The preceding algorithmic steps point out that the optimization process is reduced to identifying the values of some unknown quantities, which form the parameter set, such that all the necessary conditions are fulfilled. This general approach characterizes most indirect optimization algorithms. Using the two relations (47) and (48) and the multipoint conditions (20) and (21), the multiple-arc trajectory optimization problem of interest can be solved through sequential integration of the state and costate equations, while using Eqs. (40), (41), and (44) for the optimal control (in light arcs). Enforcement of Eqs. (27)–(29), (20), and (21) is guaranteed during the integration process. Although in general the parameter set is problem-dependent, for the multiple-arc problem at hand it includes at most the time of flight \(t_{f}\) and the initial values of some state components and some (or all the) components of \({{\varvec{\uplambda}}}_{0}\). No intermediate value of any variable belongs to the parameter set. The iterated selection mentioned at Steps 3 and 4 is a delicate operation, which strictly depends on the specific indirect algorithm and regards the parameter set. As an example, the indirect heuristic method [37] employs a heuristic technique (e.g. the particle swarm method) to select the unknown parameters, with the final aim of enforcing all the necessary conditions for optimality, while satisfying the boundary conditions of the problem of interest.

In conclusion, the sequential solution of the multipoint conditions (20) and (21) and the multipoint necessary conditions for optimality (27)–(29) allows identifying a reduced parameter set, which essentially includes the same quantities needed for the solution of a single-arc trajectory optimization problem.

3.4 Numerical Example

The methodology and the algorithmic steps described in the previous section are applied to an illustrative numerical example. A low-thrust Earth orbit transfer problem is considered. The initial and final orbits are equatorial and circular, with radii equal to 6778 km and 20,000 km, respectively. Therefore, the boundary condition vector is (cf. Eq.(17))

$$ {{\varvec{\upzeta}}}\left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} } \right) = \left[ {\begin{array}{*{20}c} {x_{1,0} - p_{0} } \quad {x_{2,0} } \quad {x_{3,0} } \quad {x_{7,0} - 1} \quad {x_{1,f} - p_{f} } \quad {x_{2,f} } \quad {x_{3,f} } \\ \end{array} } \right]^{T} $$
(50)

where \(p_{0} = 7000{\text{ km}}\) and \(p_{f} = 20000{\text{ km}}\). Because the two terminal orbits and the transfer path are coplanar, only the state components \(x_{1}\), \(x_{2}\), \(x_{3}\), \(x_{6}\), and \(x_{7}\) (together with the corresponding adjoint variables \(\lambda_{1}\), \(\lambda_{2}\), \(\lambda_{3}\), \(\lambda_{6}\), and \(\lambda_{7}\)) are needed in the numerical solution process. This means that the remaining state and costate components are identically zero. The following parameters are assumed for the low-thrust propulsion system:

$$ u_{T}^{{\left( {max} \right)}} = 10^{ - 3} {\text{g}}_{0} {\text{ and }}c = 30{\text{ km sec}}^{ - 1} \, \left( {{\text{g}}_{0} = 9.8{\text{ m sec}}^{ - 2} } \right) $$
(51)

It is worth remarking that the value assumed for \(u_{T}^{{\left( {max} \right)}}\) is beyond the current technological capabilities (although it might become feasible in one or two decades), and was chosen for illustrative purposes.

The boundary condition (30) yields

$$ \lambda_{1,0} = - \sigma_{1} \quad \lambda_{2,0} = - \sigma_{2} \quad \lambda_{3,0} = - \sigma_{3} \quad \lambda_{6,0} = 0 \quad \lambda_{7,0} = - \sigma_{4} $$
(52)
$$ \lambda_{1,f} = \sigma_{5} \quad \lambda_{2,f} = \sigma_{6} \quad \lambda_{3,f} = \sigma_{7} \quad \lambda_{6,f} = 0 \quad \lambda_{7,f} = 0 $$
(53)

where \(\left\{ {\sigma_{j} } \right\}_{j = 1, \ldots ,7}\) represent the components of \({{\varvec{\upsigma}}}\). Therefore, the initial values of the adjoint variables are unknown, with the only exception of \(\lambda_{6}\). No relation can be identified among the initial values because each of them is expressed in terms of a different component of \({{\varvec{\upsigma}}}\). Hence, with reference to Step 2 of the numerical solution process described in Sect. 3.3, the minimal set of unknown initial values of the state and costate components is \(\left\{ {x_{6,0} ,\lambda_{1,0} ,\lambda_{2,0} ,\lambda_{3,0} ,\lambda_{7,0} } \right\}\).

In the numerical solution process, canonical units are used: the distance unit (DU) equals 100,000 km, whereas the time unit is such that \(\mu = 1 \, {{{\text{DU}}^{{3}} } \mathord{\left/ {\vphantom {{{\text{DU}}^{{3}} } {{\text{TU}}^{{2}} }}} \right. \kern-\nulldelimiterspace} {{\text{TU}}^{{2}} }}\). The indirect heuristic method (IHM) [37], used to solve the problem at hand, assumes the preceding unknown initial values and the time of flight as the parameter set. A thorough description of IHM can be found in Ref. 37. Further details on the numerical solution process are omitted for the sake of brevity. The value of \(\theta_{S0}\) (cf. Sect. 2.2) is set to 10 deg. The minimum time of flight equals 5.1 days, whereas the boundary conditions do not exceed \(10^{ - 3}\). The magnitude of \({{\varvec{\upzeta}}}\) (cf. Eq. (50)) is \(7.4 \cdot 10^{ - 4}\). Figures 1 and 2 depict the time histories of the semilatus rectum (component \(x_{1}\)) and the orbit eccentricity (retrieved from \(x_{2}\) and \(x_{3}\)). The horizontal segments correspond to the eclipse arcs, where no thrust is employed and the orbit elements remain constant as a result. Figures 3 and 4 portray the time histories of the adjoint variables \(\lambda_{2}\) and \(\lambda_{3}\). Inspection of these figures reveals that at the transition points \(\lambda_{2}\) and \(\lambda_{3}\) are subject to discontinuities, shown with greater detail in the insets. Similar time behaviors characterize the time histories of \(\lambda_{1}\) and \(\lambda_{6}\) (while \(\lambda_{7}\) is continuous, cf. Eq. (38)). The numerical results found for this illustrative example definitely corroborate the effectiveness of the solution methodology described in Sect. 3.3.

Fig. 1
figure 1

Time history of the semilatus rectum (with zoom in the inset)

Fig. 2
figure 2

Time history of the eccentricity (with zoom in the inset)

Fig. 3
figure 3

Time history of the adjoint variable \(\lambda_{2}\) (with zoom in the inset)

Fig. 4
figure 4

Time history of the adjoint variable \(\lambda_{3}\) (with zoom in the inset)

4 Minimum-Fuel Trajectories

In most mission scenarios of practical interest, spacecraft are equipped with a finite-thrust propulsion system. In these dynamical contexts, the crucial objective consists in minimizing propellant consumption. Previous (and rather extensive) researches proved that minimum-fuel trajectories include relatively short finite-thrust arcs and long-duration coast intervals [30, 40].

This section considers the problem of minimizing the propellant consumption for performing an orbit transfer between two specified (initial and final) orbits, while using the modified equinoctial elements to describe the spacecraft dynamics.

4.1 Statement of the Problem

The spacecraft of interest is governed by the state equations (11) and is subject to some (problem-dependent) boundary conditions of the form (17). These conditions usually include the relations that define the initial and final orbits. The initial time \(t_{0}\) is assumed specified and is set to 0. The objective function J to minimize is the propellant mass, and this is equivalent to maximizing the final mass ratio \(x_{7,f}\). Thus, for the problem at hand the objective is

$$ J = - x_{7,f} $$
(54)

Therefore, the problem consists in finding the optimal control u that minimizes the objective function (54), while holding the state equations (11) and the boundary conditions (17).

4.2 Necessary Conditions for Optimality

In order to derive the necessary conditions for optimality, a Hamiltonian function \(H\) and a function \(\Phi\) are defined as

$$ H: = {{\varvec{\uplambda}}}^{T} {\mathbf{f}}\left( {{\mathbf{x}},{\mathbf{u}},t} \right){\text{ and }}\Phi : = - x_{7,f} + {{\varvec{\upsigma}}}^{T} {{\varvec{\upzeta}}}\left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} } \right) $$
(55)

and the extended objective function \(\overline{J}\) is introduced,

$$ \begin{aligned} \bar{J} = - x_{{7,f}} + {\mathbf{\sigma }}^{T} {\mathbf{\zeta }}\left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} } \right) + \int\limits_{{t_{0} }}^{{t_{f} }} {{\mathbf{\lambda }}^{T} \left[ {{\mathbf{f}}\left( {{\mathbf{x}},{\mathbf{u}},t} \right) - {\mathbf{\dot{x}}}} \right]dt} \hfill \\ = \Phi \left( {{\mathbf{x}}_{0} ,{\mathbf{x}}_{f} ,t_{f} ,{\mathbf{\sigma }}} \right) + \int\limits_{{t_{0} }}^{{t_{f} }} {\left[ {H\left( {{\mathbf{x}},{\mathbf{u}},{\mathbf{\lambda }},t} \right) - {\mathbf{\lambda }}^{T} {\mathbf{\dot{x}}}} \right]dt} \hfill \\ \end{aligned} $$
(56)

Then, the first differential \(d\overline{J}\) can be obtained by using the analytical steps described in Ref. 22 (similar to those illustrated in Appendix for the more complicated problem of Sect. 3), and is

$ \begin{aligned} d\bar{J} = \left( {\frac{{\partial \Phi }}{{\partial {\mathbf{x}}_{0} }} + {\mathbf{\lambda }}_{0}^{T} } \right)d{\mathbf{x}}_{0} + \left( {\frac{{\partial \Phi }}{{\partial {\mathbf{x}}_{f} }} - {\mathbf{\lambda }}_{f}^{T} } \right)d{\mathbf{x}}_{f} + \left( {H_{f} + \frac{{\partial \Phi }}{{\partial t_{f} }}} \right)dt_{f} \hfill \\ {\text{ + }}\int\limits_{{t_{0} }}^{{t_{f} }} {\left[ {\left( {{\mathbf{\dot{\lambda }}}^{T} + \frac{{\partial H}}{{\partial {\mathbf{x}}}}} \right)\delta {\mathbf{x}} + \frac{{\partial H}}{{\partial {\mathbf{u}}}}\delta {\mathbf{u}}} \right]dt} \hfill \\ \end{aligned} $
(57)

The first differential must vanish at an extremal [22], for arbitrary values of \(d{\mathbf{x}}_{0}\), \(d{\mathbf{x}}_{f}\), \(dt_{f}\), \(\delta {\mathbf{x}},{\text{ and }}\delta {\mathbf{u}}\), and this implies that the following necessary conditions must hold at an optimal solution:

$$ {{\varvec{\uplambda}}}_{0}^{{}} + \left[ {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{0} }}} \right]^{T} = {\varvec{0}} \, \Rightarrow \, {{\varvec{\uplambda}}}_{0}^{{}} = - \left[ {\frac{{\partial {{\varvec{\upzeta}}}}}{{\partial {\mathbf{x}}_{0} }}} \right]^{T} {{\varvec{\upsigma}}} $$
(58)
$$ {{\varvec{\uplambda}}}_{f}^{{}} - \left[ {\frac{\partial \Phi }{{\partial {\mathbf{x}}_{f} }}} \right]^{T} = {\varvec{0}} $$
(59)
$$ H_{f} + \frac{\partial \Phi }{{\partial t_{f} }} = 0 \, \Rightarrow \, H_{f} = - \left[ {\frac{{\partial {{\varvec{\upzeta}}}}}{{\partial t_{f} }}} \right]^{T} {{\varvec{\upsigma}}} $$
(60)
$$ {\dot{\mathbf{\lambda }}} = - \left[ {\frac{\partial H}{{\partial {\mathbf{x}}}}} \right]^{T} $$
(61)
$$ \left[ {\frac{\partial H}{{\partial {\mathbf{u}}}}} \right]^{T} = {\varvec{0}} $$
(62)

The last condition, which implies stationarity of \(H\) with respect to \({\mathbf{u}}\), can be replaced again by the more general Pontryagin minimum principle [32],

$$ {\mathbf{u}}_{*} = \arg \mathop {\min }\limits_{{\mathbf{u}}} H $$
(63)

where the subscript * denotes the optimal value of the corresponding variable. Equation (61) is the adjoint equation for the costate vector, accompanied by the related boundary conditions (58) and (59). Because \({{\varvec{\upzeta}}}\) appears in Eqs. (58) and (59), their explicit form is problem-dependent, unlike what occurs for the adjoint equations (61). Furthermore, Eq. (60) holds for the final value of the Hamiltonian function.

Using Eqs. (2)–(9) and (63), H can be rewritten as

$$ H = \frac{{u_{T} }}{{x_{7} }}\left[ {H_{r} \left( {{\mathbf{z}},{{\varvec{\uplambda}}}} \right)\cos \beta \cos \alpha + H_{\theta } \left( {{\mathbf{z}},{{\varvec{\uplambda}}}} \right)\cos \beta \sin \alpha + H_{h} \left( {{\mathbf{z}},{{\varvec{\uplambda}}}} \right)\sin\beta - \lambda_{7} \frac{{x_{7} }}{c}} \right] + H_{0} \left( {{\mathbf{z}},{{\varvec{\uplambda}}}} \right) $$
(64)

where z collects components \(x_{1}\) through \(x_{6}\) of the state, i.e. \({\mathbf{z}}: = \left[ {\begin{array}{*{20}c} {x_{1} } & {x_{2} } & {x_{3} } & {x_{4} } & {x_{5} } & {x_{6} } \\ \end{array} } \right]^{T}\); the terms \(H_{r}\), \(H_{\theta }\), \(H_{h}\), and \(H_{0}\), whose expressions are not reported for the sake of brevity, depend on both z and \({{\varvec{\uplambda}}}\). Due to Eq. (64), the adjoint equation for \(\lambda_{7}\) is

$$ \dot{\lambda }_{7} = - \frac{\partial H}{{\partial x_{7} }} = \frac{{H_{r} \left( {{\mathbf{z}},{{\varvec{\uplambda}}}} \right)\cos \beta \cos \alpha + H_{\theta } \left( {{\mathbf{z}},{{\varvec{\uplambda}}}} \right)\cos \beta \sin \alpha + H_{h} \left( {{\mathbf{z}},{{\varvec{\uplambda}}}} \right)\sin\beta }}{{x_{7}^{2} }} $$
(65)

Moreover, because the final mass is unspecified (and in fact is to be minimized), the boundary conditions (17) are independent of \(x_{7,f}\). As a result, Eq. (59) yields

$$ \lambda_{7,f} = - 1 $$
(66)

The minimum principle (63) allows expressing the optimal control in terms of the state and costate variables. With reference to Eq. (64), the first three terms in square parentheses can be regarded as a dot product. Thus, since \({{u_{T} } \mathord{\left/ {\vphantom {{u_{T} } {x_{7} }}} \right. \kern-\nulldelimiterspace} {x_{7} }} \ge 0\), the thrust angles that minimize H are given by

$$ \sin \beta = - H_{h} \left( {H_{r}^{2} + H_{\theta }^{2} + H_{h}^{2} } \right)^{{ - {1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} $$
(67)
$$ \sin \alpha = - H_{r} \left( {H_{r}^{2} + H_{\theta }^{2} } \right)^{{ - {1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} {\text{ and }}\cos \alpha = - H_{\theta } \left( {H_{r}^{2} + H_{\theta }^{2} } \right)^{{ - {1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} $$
(68)

Using these expressions for \(\alpha\) and \(\beta\), Eqs. (64) and (65) become

$$ H = - u_{T} \left[ {\frac{{\sqrt {H_{r}^{2} + H_{\theta }^{2} + H_{h}^{2} } }}{{x_{7} }} + \frac{{\lambda_{7} }}{c}} \right] + H_{0} $$
(69)
$$ \dot{\lambda }_{7} = - \frac{\partial H}{{\partial x_{7} }} = - \frac{{u_{T} }}{{x_{7}^{2} }}\sqrt {H_{r}^{2} + H_{\theta }^{2} + H_{h}^{2} } \le 0 $$
(70)

The latter relation, in conjunction with the final condition (66), implies that \(\lambda_{7}\) cannot be positive at all times. Moreover, using the Pontryagin minimum principle and Eq. (69), the optimal value of \(u_{T}\) is

$$ u_{T} = \left\{ \begin{gathered} u_{T}^{{\left( {max} \right)}} {\text{ if }}S > 0 \hfill \\ 0{\text{ if }}S < 0 \hfill \\ \end{gathered} \right.{\text{ with }}S: = \frac{{\sqrt {H_{r}^{2} + H_{\theta }^{2} + H_{h}^{2} } }}{{x_{7} }} + \frac{{\lambda_{7} }}{c} $$
(71)

This means that a minimum-fuel path includes powered phases (where the maximum available thrust is used) and coast arcs. In the previous relation, S is referred to as the switching function, because it determines the switching times between the two types of arcs that compose the optimal trajectory. Equation (71) is deduced under the assumption of neglecting singular arcs, associated with the condition \(S \equiv 0\) over a time interval of finite duration. The existence of similar arcs can be investigated using singular optimal control theory [4]. Unlike the preceding problem, where minimum-time paths including eclipse arcs were sought, minimum-fuel space trajectories do not require formulating a multiple-arc optimization problem. The adjoint vector \({{\varvec{\uplambda}}}\) is continuous for the entire time of flight, and in fact no matching condition for \({{\varvec{\uplambda}}}\) is derived from the necessary conditions for optimality. It is worth stressing that the existence of coast arcs and powered phases along minimum-fuel space trajectories was already proven using different representations for the dynamical state (e.g., Cartesian or spherical coordinates [14, 18, 20, 30, 32, 34, 40]). Therefore, the previous analytical developments represent an alternative derivation leading to an expected result.

In the end, the necessary conditions for optimality (58)–(61) and (63), in conjunction with the state equations (11) and the boundary conditions (17), allow converting the original optimal control problem into a TPBVP, where the unknowns are the state \({\mathbf{x}}\), the control \({\mathbf{u}}\), the final time \(t_{f}\), and the adjoint variables \({{\varvec{\uplambda}}}\) and \({{\varvec{\upsigma}}}\).

An indirect algorithm applied to the problem at hand can proceed using Steps 1–4 and 6 of Sect. 3.2 (with the necessary conditions of the present problem in place of the respective ones found for problem (a)). Instead, Step 5 simplifies in the following fashion:

Step 5. Until the current time \(t \le t_{f}\), integrate numerically the state and costate equations (11) and (61), while using Eqs.(67), (68), and (71) to express the control in terms of state and costate components.

5 Closed Form of the Costate Along Optimal Coast Arcs

The preceding two sections address two different trajectory optimization problems that involve multiple coast arcs, where no propulsion is used. Under the assumption of neglecting orbit perturbations, along a coast arc the space vehicle travels a Keplerian trajectory, either an elliptic or a parabolic or a hyperbolic arc. This is apparent also from inspection of Eqs. (2)–(6). In fact, if \(a_{r} = a_{\theta } = a_{h} = 0\), then \(\dot{x}_{1} = \dot{x}_{2} = \dot{x}_{3} = \dot{x}_{4} = \dot{x}_{5} = 0\). Only \(x_{6}\) varies along a Keplerian arc (cf. Eq. (7)), due to the true anomaly f (whereas \(\Omega\) and \(\omega\) remain constant). For all the three types of Keplerian paths, f can be found in terms of the current time by solving a transcendental equation (e.g., the Kepler’s equation for ellipses and the Barker’s equation for parabolas) [12, 41]. The time variation of \(x_{6}\) can be obtained as a result.

This section is concerned with the derivation of the closed-form expressions for the adjoint variables \(\lambda_{j} \, \left( {j = 1, \ldots ,7} \right)\) along coast arcs. Availability of analytical relations allows precise evaluation of the time histories for all the costate components, and leads to writing the switching function S (cf. Eq. (71)) along coast arcs of minimum-fuel paths as a closed-form expression. As a favorable consequence, the accurate detection of the switching times from coast to thrust arcs, which was recognized as a challenging task in the scientific literature [34], can be facilitated (e.g., using Newton or even higher-order root-finding methods [21], applied to the switching function S).

The Hamiltonian H and the adjoint (or costate) equations (33) and (61) are identical for the two problems addressed in Sects. 3 and 4. The only difference resides in the introduction of multiple arcs for minimum-time problems that include eclipse arcs. However, this has no effect on H and the form of the costate equations. Therefore, for both problems, along coast arcs the Hamiltonian function is

$$ H = \lambda_{6} \sqrt {\frac{\mu }{{x_{1}^{3} }}} \left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right)^{2} $$
(72)

Equations (61) and (72) yield the following scalar adjoint equations:

$$ \dot{\lambda }_{1} = \frac{3}{2}\lambda_{6} \sqrt {\frac{\mu }{{x_{1}^{5} }}} \left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right)^{2} $$
(73)
$$ \dot{\lambda }_{2} = - 2\lambda_{6} \sqrt {\frac{\mu }{{x_{1}^{3} }}} \cos x_{6} \left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right) $$
(74)
$$ \dot{\lambda }_{3} = - 2\lambda_{6} \sqrt {\frac{\mu }{{x_{1}^{3} }}} \sin x_{6} \left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right) $$
(75)
$$ \dot{\lambda }_{4} = \dot{\lambda }_{5} = \dot{\lambda }_{7} = 0 $$
(76)
$$ \dot{\lambda }_{6} = - 2\lambda_{6} \sqrt {\frac{\mu }{{x_{1}^{3} }}} \left( {x_{3} \cos x_{6} - x_{2} \sin x_{6} } \right)\left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right) $$
(77)

As a first result, Eq. (76) proves that the adjoint variables \(\lambda_{4}\), \(\lambda_{5}\), and \(\lambda_{7}\) are constant along coast arcs. Therefore, only the remaining components must be integrated. The use of equinoctial elements has thus the remarkable advantage of reducing to 5 the number of state and costate variables that are time-varying along coast arcs, i.e. \(x_{6} , \, \lambda_{1} , \, \lambda_{2} , \, \lambda_{3} ,{\text{ and }}\lambda_{6}\). This desirable circumstance is not encountered when alternative representations for the state are employed [18, 34].

For the purpose of obtaining a closed-form solution to the equation system (73)–(75) and (77), these relations are rewritten with the use of \(x_{6}\) as the independent variable, in place of the time t. This is possible because \(x_{6}\) is a strictly monotonic variable for coast arcs of elliptic, parabolic, or hyperbolic type, with positive time derivative \(\dot{x}_{6}\) (cf. Eq. (7) with \(a_{h} = 0\)). Hence, using Eq. (7) (with \(a_{h} = 0\)), one obtains

$$ \lambda_{1}^{\prime } = \frac{{\dot{\lambda }_{1} }}{{\dot{x}_{6} }} = \frac{{3\lambda_{6} }}{{2x_{1} }} $$
(78)
$$ \lambda_{2}^{\prime } = \frac{{\dot{\lambda }_{2} }}{{\dot{x}_{6} }} = \frac{{ - 2\lambda_{6} \cos x_{6} }}{{1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} }} $$
(79)
$$ \lambda_{3}^{\prime } = \frac{{\dot{\lambda }_{3} }}{{\dot{x}_{6} }} = \frac{{ - 2\lambda_{6} \sin x_{6} }}{{1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} }} $$
(80)
$$ \lambda_{6}^{\prime } = \frac{{\dot{\lambda }_{6} }}{{\dot{x}_{6} }} = \frac{{ - 2\lambda_{6} \left( {x_{3} \cos x_{6} - x_{2} \sin x_{6} } \right)}}{{1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} }} $$
(81)

where the symbol \(^{\prime }\) denotes the derivative with respect to \(x_{6}\). Equation (81) can be solved by separation of variables. In fact, Eq. (81) can be rewritten as

$$ \frac{{d\lambda_{6} }}{{\lambda_{6} }} = \frac{{ - 2\left( {x_{3} \cos x_{6} - x_{2} \sin x_{6} } \right)}}{{1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} }}dx_{6} $$
(82)

Because \(x_{2}\) and \(x_{3}\) are constant along coast arcs, both sides of Eq. (82) are integrable. After a few straightforward steps, the following closed-form solution is obtained:

$$ \lambda_{6} = \lambda_{6,in} \left( {\frac{{1 + x_{2} \cos x_{6,in} + x_{3} \sin x_{6,in} }}{{1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} }}} \right)^{2} $$
(83)

where subscript in denotes the value of the respective variable when the coast arc begins. Insertion of Eq. (83) into Eqs. (78) through (80) yields the following relations:

$$ \lambda_{1}^{\prime } = \frac{{3\lambda_{6,in} }}{{2x_{1} }}\left( {\frac{{1 + x_{2} \cos x_{6,in} + x_{3} \sin x_{6,in} }}{{1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} }}} \right)^{2} $$
(84)
$$ \lambda_{2}^{\prime } = - 2\lambda_{6,in} \cos x_{6} \frac{{\left( {1 + x_{2} \cos x_{6,in} + x_{3} \sin x_{6,in} } \right)^{2} }}{{\left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right)^{3} }} $$
(85)
$$ \lambda_{3}^{\prime } = - 2\lambda_{6,in} \sin x_{6} \frac{{\left( {1 + x_{2} \cos x_{6,in} + x_{3} \sin x_{6,in} } \right)^{2} }}{{\left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right)^{3} }} $$
(86)

It is worth remarking that Eqs. (83)–(86) hold for Keplerian (coast) arcs of elliptic, parabolic, and hyperbolic type. In the subsections that follow these three types of conics are distinguished, with the intent of obtaining closed-form solutions for \(\lambda_{1}\), \(\lambda_{2}\), and \(\lambda_{3}\).

5.1 Elliptic Arcs

In most orbit transfer problems of practical interest, intermediate coast arcs are of elliptic type. This means that \(x_{2}^{2} + x_{3}^{2} < 1\) (cf. the definitions (1)). In this case, letting \(c_{0} : = \lambda_{6,in} \left( {1 + x_{2} \cos x_{6,in} + x_{3} \sin x_{6,in} } \right)^{2}\) and using the definition of \(\vartheta\) (cf. Section 2), Eqs. (84)-(86) admit the following closed-form solutions, obtained with the use of the software Mathematica:

$$ \lambda_{1} = c_{1} + \frac{{3c_{0} }}{{2x_{1} }}\left\{ {\frac{2}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{{{3 \mathord{\left/ {\vphantom {3 2}} \right. \kern-\nulldelimiterspace} 2}}} }}\arctan \left[ {\frac{{x_{3} + \left( {1 - x_{2} } \right)\tan \left( {{{x_{6} } \mathord{\left/ {\vphantom {{x_{6} } 2}} \right. \kern-\nulldelimiterspace} 2}} \right)}}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{{{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} }}} \right] - \frac{{x_{3} + \left( {x_{2}^{2} + x_{3}^{2} } \right)\sin x_{6} }}{{x_{2} \left( {1 - x_{2}^{2} - x_{3}^{2} } \right)\vartheta }}} \right\} $$
(87)
$$ \begin{aligned} \lambda_{2} = &c_{2} + \frac{{6c_{0} x_{2} }}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{{{5 \mathord{\left/ {\vphantom {5 2}} \right. \kern-\nulldelimiterspace} 2}}} }}\arctan \left[ {\frac{{x_{3} + \left( {1 - x_{2} } \right)\tan \left( {{{x_{6} } \mathord{\left/ {\vphantom {{x_{6} } 2}} \right. \kern-\nulldelimiterspace} 2}} \right)}}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{{{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} }}} \right] - c_{0} \frac{{x_{3} + \sin x_{6} }}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)\vartheta^{2} }} \hfill \\ \,& - c_{0} \frac{{3x_{3} + \left( {1 + 2x_{2}^{2} + 2x_{3}^{2} } \right)\sin x_{6} }}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{2} \vartheta }} \hfill \\ \end{aligned} $$
(88)
$$ \begin{aligned} \lambda_{3} = &c_{3} + \frac{{6c_{0} x_{3} }}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{{{5 \mathord{\left/ {\vphantom {5 2}} \right. \kern-\nulldelimiterspace} 2}}} }}\arctan \left[ {\frac{{x_{3} + \left( {1 - x_{2} } \right)\tan \left( {{{x_{6} } \mathord{\left/ {\vphantom {{x_{6} } 2}} \right. \kern-\nulldelimiterspace} 2}} \right)}}{{\left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{{{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} }}} \right] - c_{0} \frac{{1 - x_{2}^{2} + x_{3} \sin x_{6} }}{{x_{2} \left( {1 - x_{2}^{2} - x_{3}^{2} } \right)\vartheta^{2} }} \hfill \\ \,& - c_{0} \frac{{x_{3} \left[ {3x_{3} + \left( {1 + 2x_{2}^{2} + 2x_{3}^{2} } \right)\sin x_{6} } \right]}}{{x_{2} \left( {1 - x_{2}^{2} - x_{3}^{2} } \right)^{2} \vartheta }} \hfill \\ \end{aligned} $$
(89)

The symbols \(c_{1}\) \(c_{2}\), and \(c_{3}\) denote the three integration constants. Their values can be obtained by evaluating Eqs. (87)–(89) at the initial time of the coast arc.

5.2 Parabolic Arcs

Parabolic arcs are rather infrequent to encounter in space trajectory optimization. However, for the sake of completeness, this subsection addresses the derivation of the closed-form solution of Eqs. (84)–(86) along parabolic arcs, for which \(x_{2}^{2} + x_{3}^{2} = 1\).

As a preliminary step, because \(x_{2}^{2} + x_{3}^{2} = 1\), the terms \(\left( {1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} } \right)\) in Eqs. (84)–(86) are rewritten as

$$ 1 + x_{2} \cos x_{6} + x_{3} \sin x_{6} = 1 + \sin \left( {x_{6} + \varphi } \right){\text{, with sin}}\varphi = x_{2} {\text{ and cos}}\varphi = x_{3} $$
(90)

The preceding definitions of \(c_{0}\) and \(\vartheta\) are used again. After insertion of Eq. (90) into Eqs. (84)–(86), the following closed-form solutions are obtained with the use of the software Mathematica:

$$ \lambda_{1} = c_{1} + \frac{{c_{0} }}{{2x_{1} }}\frac{{ - 3 + 4\cos \left( {x_{6} + \varphi } \right) + \cos \left[ {2\left( {x_{6} + \varphi } \right)} \right] - 4\sin \left( {x_{6} + \varphi } \right) + \sin \left[ {2\left( {x_{6} + \varphi } \right)} \right]}}{{\cos \left[ {2\left( {x_{6} + \varphi } \right)} \right] - 4\sin \left( {x_{6} + \varphi } \right) - 3}} $$
(91)
$$ \begin{aligned} \lambda_{2} =& c_{2} + \frac{{c_{0} }}{10}\left[ {\cos \left( {\frac{{x_{6} + \varphi }}{2}} \right) + \sin \left( {\frac{{x_{6} + \varphi }}{2}} \right)} \right]^{ - 5} \left[ {\cos \left( {\frac{\varphi }{2}} \right) + \sin \left( {\frac{\varphi }{2}} \right)} \right]^{ - 1} \left\{ {10\cos \left( {\frac{{x_{6} }}{2} + \varphi } \right)} \right. \hfill \\ &\, \left. { + \cos \left( {\frac{{5x_{6} }}{2} + \varphi } \right) - \cos \left( {\frac{{5x_{6} }}{2} + 3\varphi } \right) + 10\sin \left( {\frac{{x_{6} }}{2}} \right) - 5\sin \left( {\frac{{3x_{6} }}{2}} \right) + 5\sin \left( {\frac{{3x_{6} }}{2} + 2\varphi } \right)} \right\} \hfill \\ \end{aligned} $$
(92)
$$ \begin{aligned} \lambda_{3} = &c_{3} + \frac{{c_{0} }}{10}\left[ {\cos \left( {\frac{{x_{6} + \varphi }}{2}} \right) + \sin \left( {\frac{{x_{6} + \varphi }}{2}} \right)} \right]^{ - 5} \left\{ { - 10\cos \left( {\frac{{x_{6} + \varphi }}{2}} \right) + 5\cos \left[ {\frac{{3\left( {x_{6} + \varphi } \right)}}{2}} \right] + \cos \left[ {\frac{{5\left( {x_{6} + \varphi } \right)}}{2}} \right]} \right. \hfill \\& \, + 5\cos \left( {\frac{{3x_{6} + \varphi }}{2}} \right) - \cos \left( {\frac{{5x_{6} + 3\varphi }}{2}} \right) - 10\sin \left( {\frac{{x_{6} + \varphi }}{2}} \right) - 5\sin \left[ {\frac{{3\left( {x_{6} + \varphi } \right)}}{2}} \right] + \sin \left[ {\frac{{5\left( {x_{6} + \varphi } \right)}}{2}} \right] \hfill \\ \, \left. { + 5\sin \left( {\frac{{3x_{6} + \varphi }}{2}} \right) + \sin \left( {\frac{{5x_{6} + 3\varphi }}{2}} \right)} \right\} \hfill \\ \end{aligned} $$
(93)

Again, the symbols \(c_{1}\) \(c_{2}\), and \(c_{3}\) denote the three integration constants. Their values can be obtained by evaluating Eqs. (91)–(93) at the initial time of the coast arc.

5.3 Hyperbolic Arcs

Closed-form expressions for the adjoint variables \(\lambda_{1}\), \(\lambda_{2}\), and \(\lambda_{3}\) can be obtained also when the space vehicle travels an optimal hyperbolic coast arc, in which \(x_{2}^{2} + x_{3}^{2} > 1\). In fact, using the identity \(\arctan \left( {i\eta } \right) = i{\text{arctanh}} \eta\) (where \(\eta\) is a generic variable and i denotes the imaginary unit), Eqs. (87)–(89) can be rewritten for hyperbolic coast arcs as

$$ \lambda_{1} = c_{1} + \frac{{3c_{0} }}{{2x_{1} }}\left\{ {\frac{2}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{{{3 \mathord{\left/ {\vphantom {3 2}} \right. \kern-\nulldelimiterspace} 2}}} }}{\text{arctanh}} \left[ {\frac{{x_{3} + \left( {1 - x_{2} } \right)\tan \left( {{{x_{6} } \mathord{\left/ {\vphantom {{x_{6} } 2}} \right. \kern-\nulldelimiterspace} 2}} \right)}}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{{{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} }}} \right] + \frac{{x_{3} + \left( {x_{2}^{2} + x_{3}^{2} } \right)\sin x_{6} }}{{x_{2} \left( {x_{2}^{2} + x_{3}^{2} - 1} \right)\vartheta }}} \right\} $$
(94)
$$ \begin{gathered} \lambda_{2} = c_{2} - \frac{{6c_{0} x_{2} }}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{{{5 \mathord{\left/ {\vphantom {5 2}} \right. \kern-\nulldelimiterspace} 2}}} }}{\text{arctanh}} \left[ {\frac{{x_{3} + \left( {1 - x_{2} } \right)\tan \left( {{{x_{6} } \mathord{\left/ {\vphantom {{x_{6} } 2}} \right. \kern-\nulldelimiterspace} 2}} \right)}}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{{{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} }}} \right] + c_{0} \frac{{x_{3} + \sin x_{6} }}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)\vartheta^{2} }} \hfill \\ \qquad - c_{0} \frac{{3x_{3} + \left( {1 + 2x_{2}^{2} + 2x_{3}^{2} } \right)\sin x_{6} }}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{2} \vartheta }} \hfill \\ \end{gathered} $$
(95)
$$ \begin{aligned} \lambda_{3} =& c_{3} - \frac{{6c_{4} x_{3} }}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{{{5 \mathord{\left/ {\vphantom {5 2}} \right. \kern-\nulldelimiterspace} 2}}} }}{\text{arctanh}} \left[ {\frac{{x_{3} + \left( {1 - x_{2} } \right)\tan \left( {{{x_{6} } \mathord{\left/ {\vphantom {{x_{6} } 2}} \right. \kern-\nulldelimiterspace} 2}} \right)}}{{\left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{{{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}}} }}} \right] + c_{0} \frac{{1 - x_{2}^{2} + x_{3} \sin x_{6} }}{{x_{2} \left( {x_{2}^{2} + x_{3}^{2} - 1} \right)\vartheta^{2} }} \hfill \\ \, &- c_{0} \frac{{x_{3} \left[ {3x_{3} + \left( {1 + 2x_{2}^{2} + 2x_{3}^{2} } \right)\sin x_{6} } \right]}}{{x_{2} \left( {x_{2}^{2} + x_{3}^{2} - 1} \right)^{2} \vartheta }} \hfill \\ \end{aligned} $$
(96)

Once more, the symbols \(c_{1}\) \(c_{2}\), and \(c_{3}\) denote the three integration constants. Their values can be obtained by evaluating Eqs. (94)–(96) at the initial time of the coast arc.

6 Concluding Remarks

This paper presents the analytical study of two types of optimal space trajectories that include multiple coast arcs: (a) minimum-time low-thrust paths with eclipse intervals and (b) minimum-fuel trajectories that employ finite thrust. Modified equinoctial elements are used to describe the orbit dynamics.

Problem (a) is formulated as a multiple-arc optimization problem, and all the related necessary conditions for optimality are derived. These form an extended set of conditions, which includes the Pontryagin minimum principle (in the light arcs), the adjoint equations for the costate variables, the related boundary conditions, the transversality relation on the final value of the Hamiltonian, and the multipoint necessary conditions, at the junction times between two arcs. The latter relations are combined, to yield the matching (jump) conditions for the costate variables between two consecutive arcs. This research demonstrates that all the multipoint conditions can be solved sequentially in the numerical solution process. As a result, the parameter set for an indirect algorithm retains the size of the typical set associated with a single-arc optimization problem. No regularization or averaging is required to make tractable and solve the problem. In fact, based on this new multiple-arc formulation and the related analysis, indirect algorithms can easily incorporate the discontinuities of the costate variables, located at the times when the spacecraft transitions from light to shadow (and vice versa). Moreover, the use of equinoctial elements can mitigate the hypersensitivity of the solution on the initial values of the adjoints, which is a common issue when indirect approaches are used. As a result, an indirect method is capable of yielding very accurate numerical results, while avoiding several difficulties of a theoretical or numerical nature, inherent to alternative formulations. An illustrative numerical example demonstrates the effectiveness of the approach proposed in this work.

This research also revisits problem (b) with the use of equinoctial elements, and derives the necessary conditions associated with minimum-fuel trajectories. Unlike minimum-time paths with eclipse intervals, problem (b) is formulated as a single-arc optimization problem. The switching function is introduced, and plays the role of determining the optimal sequence of powered phases and thrust arcs, whose number and timing is unknown a priori. The well-consolidated properties of minimum-fuel trajectories are retrieved in terms of equinoctial elements and related adjoint variables, and the substantial analytical differences between problems (a) and (b) are emphasized.

As a further contribution, this study focuses on the costate along optimal coast arcs. Closed-form expressions, written in terms of elementary functions, are derived for the adjoint variables associated with modified equinoctial elements, along the three major types of Keplerian trajectories. Overall, 9 out of 14 components of the state and the costate turn out to be constant along optimal coast arcs, whereas for the remaining 5 variables closed-form expressions exist. This allows fast and accurate evaluation of the state and costate time histories along coast arcs, and leads to writing the switching function for problem (b) in closed form. This finding can be beneficial for the accurate determination of the switching times from coast to thrust arcs.

These circumstances definitely represent further, unequivocal advantages of using modified equinoctial elements in spacecraft trajectory optimization.