1 Introduction

The use of low-thrust propulsion in a variety of space missions (Rayman et al. 2000; Kawaguchi et al. 2004; Kugelberg et al. 2004) has gained great attention in the space community, which allows a substantial reduction of propellant consumption in virtue of its high specific impulse compared to traditional chemical propulsion. However, solving low-thrust trajectory optimization problems is known to be highly challenging, the solution methods of which are usually categorized as direct methods and indirect methods (Betts 1998). Direct methods convert the optimal control problems into nonlinear programming problems by appropriate discretization (Hargraves and Paris 1987; Armellin and Topputo 2006), which are straightforward and robust to accommodate complex conditions. However, the optimality of the obtained solutions is not guaranteed. Indirect methods convert the original problems to two-point boundary-value problems (TPBVPs) according to the optimal control theory, the solutions of which are guaranteed to be at least local extremals (Kechichian 1997; Zeng et al. 2014; Zhang et al. 2015; Jiang and Tang 2016). The main disadvantages associated with TPBVP are that its convergence domain is narrow and its solution is extremely sensitive to the initial unknowns if a single-shooting method is utilized, especially for the low-thrust trajectory optimization problems with long flight duration and many revolutions. Although multiple-shooting techniques exist that can efficiently enhance the robustness of the indirect methods, however, the number of the unknown variables may increase significantly (Betts 1998; Taheri et al. 2017).

Homotopy methods, the principle of which is that a given problem is embedded into a family of problems parameterized by a homotopic parameter, and the optimal solution to the original problem is obtained by tracing the optimal solutions of the embedded problems (Watson 2002), have been widely applied to circumvent the above disadvantages of solving low-thrust trajectory optimization problems by single shooting indirect methods. Bertrand and Epenoy (2002), Haberkorn et al. (2004), Gergaud and Haberkorn (2006), Guo et al. (2012), Jiang et al. (2012), Zhang et al. (2015), Chen (2016), Taheri et al. (2016), Chi et al. (2017), Zhao et al. (2017), Pan et al. (2018b) have successfully utilized homotopy methods to solve minimum-fuel low-thrust orbital transfer problems, the optimal thrusts of which are discontinuous bang-bang controls. In these methods, the homotopic parameter is embedded into the performance index to provide continuous transition of optimal controls from the initial problem to the original one. It has been widely observed that the original fuel-optimal low-thrust trajectory optimization problems can be easily solved with probability one once the initial solutions are achieved (Guo et al. 2012; Jiang et al. 2012; Zhang et al. 2015; Chen 2016; Chi et al. 2017; Pan et al. 2018b). In contrast, homotopy methods for solving minimum-time low-thrust orbital transfer problems, whose optimal thrusts keep constant during the whole optimal trajectory, are still not satisfactorily developed. In Caillau et al. (2003), Yue et al. (2010), Caillau and Daoud (2012), the homotopy parameter is embedded into the thrust magnitude, and the minimum-time problem with sufficiently large thrust magnitude is taken as the initial problem for the homotopic approach. However, it is also not guaranteed that the optimal solution to the original problem can be obtained. Pan et al. (2016) presented a new double-homotopy method to construct discontinuous homotopy path which connects the initial and the original problem. However, the construction of discontinuous homotopy path is only valid under an assumption that multiple branches of homotopy path always exist at specific homotopic parameter, which may not be ensured for different occasions. Hence, the convergence to the optimal solution of the original problem by the double-homotopy method is still not guaranteed. Thus, homotopy methods, which construct continuous homotopy path to solve minimum-time low-thrust orbital transfer problems with probability one, are still unsettled.

In this paper, a new probability-one homotopy method is presented to solve minimum-time low-thrust orbital transfer problems. Parametrized Sard’s theorem (Chow et al. 1978) and Watson’s sufficient conditions (Watson 2002) are first revisited, which ensure the probability-one convergence of the homotopy methods. Generalized sufficient conditions are then derived, and a new probability-one homotopy formulation is custom-designed to satisfy all the prerequisites of the generalized sufficient conditions for the minimum-time low-thrust orbital transfer problems. Numerical solutions of a minimum-time low-thrust orbital transfer problem are provided to demonstrate the effectiveness of the proposed method, the initial ratio of thrust-to-weight of which is as small as \(6.8 \times {10^{ - 5}}\).

2 Minimum-time low-thrust orbital transfer problem formulation

Consider the three-dimensional point-mass equations of motion formulated by the modified equinoctial orbit elements (MEOE), which are singularity free for all trajectories with inclinations not equal to 180 deg and defined as follows (Walker et al. 1985; Broucke and Cefola 1972)

$$\begin{aligned} &P = a \bigl(1-e^{2}\bigr) \end{aligned}$$
(1)
$$\begin{aligned} &e_{x} = e \cos (\varOmega + \omega ) \end{aligned}$$
(2)
$$\begin{aligned} &e_{y} = e \sin (\varOmega + \omega ) \end{aligned}$$
(3)
$$\begin{aligned} &h_{x} = \tan \biggl(\frac{i}{2}\biggr) \cos (\varOmega ) \end{aligned}$$
(4)
$$\begin{aligned} &h_{y} = \tan \biggl(\frac{i}{2}\biggr) \sin (\varOmega ) \end{aligned}$$
(5)
$$\begin{aligned} &L = \varOmega + \omega + f \end{aligned}$$
(6)

In Eqs. (1)–(6), \([P, e_{x}, e_{y}, h_{x}, h _{y}, L]\) are the six modified equinoctial orbit elements where \(P\) is the semi-latus rectum, \(e_{x}\) and \(e_{y}\) are elements that describe the eccentricity, \(h_{x}\) and \(h_{y}\) are elements that describe the inclination, and \(L\) is the true longitude (Graham and Rao 2016). Besides, \([a,e,i,\varOmega ,\omega ,f] \) are the six classic orbit elements where \(a\) is the semi-major axis, \(e\) is the eccentricity, \(i\) is the inclination of the orbital plane, \(\varOmega \) is the right ascension of the ascending node, \(\omega \) is the argument of periapsis, and \(f\) is the true anomaly.

For better numerical conditioning, the semi-latus rectum \(P\), the time \(t\) and the mass \(m\) are normalized by the \(R_{0}\), \(\sqrt{R_{0}/g _{0}}\) and \(m_{0}\) respectively, where \(R_{0}=6371.004~\mbox{km}\) is the radius of the Earth at the equator, \(g_{0}=9.8~\text{m}/\text{s}^{2}\) is the standard acceleration of gravity at sea level, and \(m_{0}\) is the initial mass of spacecraft. With some abuse of notation in this note, \(P\), \(t\) and \(m\) are still used to denote the dimensionless semi-latus rectum, time and mass. Thus, the dimensionless three-dimensional point-mass equations of motion in terms of MEOE can be expressed as (Gergaud and Haberkorn 2007)

$$\begin{aligned} &\boldsymbol{x}^{\prime } = \boldsymbol{b}+ \frac{u T_{\max}}{m m_{0} g _{0}} \boldsymbol{M} \boldsymbol{1}_{T} \end{aligned}$$
(7)
$$\begin{aligned} &m^{\prime } = -\frac{u T_{\max}}{m_{0} \zeta } \end{aligned}$$
(8)

where \(\boldsymbol{x}= [P, e_{x}, e_{y}, h_{x}, h_{y},L]^{T}\), \(T_{\max}\) is the maximal thrust magnitude, and \(\zeta \) is a constant determined by

$$ \zeta = \frac{I_{\mathit{sp}}}{ \sqrt{R_{0} / g^{3}_{0}}} $$
(9)

where \(I_{\mathit{sp}}\) is the specific impulse of the engine. The engine thrust magnitude \(T=u T_{\max}\) (\(0 \leq u\leq 1\)) and the unit vector of the thrust direction \(\boldsymbol{1}_{T}\) are the controls to be determined. The vector \(\boldsymbol{b}\) gives the time rate of change of the states due to gravity, which is expressed as follows

$$ \boldsymbol{b}= \biggl[ 0,\quad 0,\quad 0,\quad 0,\quad 0,\quad \frac{W^{2}}{ P^{3/2} } \biggr] ^{T} $$
(10)

and the matrix \(\boldsymbol{M}\) determines how the states change due to the thrust acceleration vector, which is defined by

$$ \renewcommand{\arraystretch}{1.2} \boldsymbol{M}=\sqrt{ P} \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} 0 & \frac{2 P }{W} & 0 \\ \sin (L) & \cos (L) + \frac{e_{x} + \cos (L)}{W}& -\frac{Z e_{y}}{W} \\ -\cos (L) & \sin (L) + \frac{e_{y} + \sin (L)}{W}& \frac{Z e_{x}}{W} \\ 0 & 0& \frac{C \cos (L)}{2 W} \\ 0 & 0& \frac{C \sin (L)}{2 W} \\ 0 & 0& \frac{Z}{ W} \\ \end{array}\displaystyle \right ] $$
(11)

where \(W\), \(Z\) and \(C\) are scalars defined to be

$$\begin{aligned} &W = 1+ e_{x} \cos (L) + e_{y} \sin (L) \end{aligned}$$
(12)
$$\begin{aligned} &Z = h_{x} \sin (L) - h_{y} \cos (L) \end{aligned}$$
(13)
$$\begin{aligned} &C = 1+ h_{x}^{2} + h_{y} ^{2} \end{aligned}$$
(14)

For the minimum-time orbital transfer problem considered in this paper, the performance index is defined as follows

$$ J = \int _{t_{0}}^{t_{f}} 1\, dt $$
(15)

where \(t_{0}\) is the initial time with given value, and \(t_{f}\) is the terminal time to be determined. The initial conditions are given, which are \(\boldsymbol{x}_{0} = [P_{0}, e_{x0}, e_{y0}, h_{x0}, h_{y0},L _{0}]^{T}\), and the terminal conditions are specified as

$$\begin{aligned} \boldsymbol{\psi }\bigl(\boldsymbol{x}(t_{f}),t_{f} \bigr)&= \bigl[P(t_{f}) - P^{ \ast }_{f},e_{x}(t_{f}) - e^{\ast }_{xf},e_{y}(t_{f}) \\ &\quad {}- e^{\ast }_{yf},h _{x}(t_{f}) - h^{\ast }_{xf},h_{y}(t_{f}) - h^{\ast }_{yf} \bigr]^{T} = 0 \end{aligned}$$
(16)

where \(P^{\ast }_{f}\), \(e^{\ast }_{xf}\), \(e^{\ast }_{yf}\), \(h^{\ast } _{xf}\) and \(h^{\ast }_{yf}\) are the predefined target orbit elements. The true longitude at the terminal time \(L_{f}\) is free.

According to the optimal control theory (Bryson and Ho 1975), the Hamiltonian is constructed as

$$\begin{aligned} H =& -1 + \boldsymbol{\lambda }_{x}^{T} \biggl( \boldsymbol{b}+ \frac{u T_{\max}}{m m_{0} g_{0}} \boldsymbol{M}\boldsymbol{1}_{T} \biggr) - \lambda _{m} \frac{u T_{\max}}{m_{0} \zeta } \end{aligned}$$
(17)

where \(\boldsymbol{\lambda }_{x} = [\lambda _{P},\lambda _{e_{x}}, \lambda _{e_{y}},\lambda _{h_{x}},\lambda _{h_{y}},\lambda _{L}]^{T} \) and \(\lambda _{m}\) are the costates associated with \(\boldsymbol{x}\) and \(m\), respectively. The corresponding governing differential equations of costates are expressed as

$$\begin{aligned} &\boldsymbol{\lambda }_{x}^{\prime } = -{ \biggl( \frac{ \partial {H}}{\partial {\boldsymbol{x}}} \biggr) ^{T}} = - \biggl( \frac{ \partial \boldsymbol{b}}{\partial \boldsymbol{x}} \biggr) ^{T} \boldsymbol{\lambda }_{x} - \frac{u T_{\max}}{m m_{0} g_{0}} \frac{ \partial (\boldsymbol{\lambda }_{x}^{T}\boldsymbol{M}\boldsymbol{1} _{T}) }{\partial \boldsymbol{x}} \end{aligned}$$
(18)
$$\begin{aligned} &\lambda _{m}^{\prime } = -\frac{\partial {H}}{\partial {m}} = \frac{u T_{\max}}{m^{2} m_{0} g_{0}} \boldsymbol{\lambda }_{x}^{T} \boldsymbol{M}\boldsymbol{1}_{T} \end{aligned}$$
(19)

To maximize the Hamiltonian defined in Eq. (17), the optimal thrust direction should be along the direction of \(\boldsymbol{M}^{T}\boldsymbol{\lambda }\), which is known as primer vector theory (Lawden 1963) and expressed as follows

$$ \boldsymbol{1}_{T}^{\ast } = \frac{\boldsymbol{M}^{T} \boldsymbol{\lambda }_{x}}{\parallel \boldsymbol{M}^{T} \boldsymbol{\lambda }_{x}\| } $$
(20)

Substituting Eq. (20) into Eq. (17) yields

$$\begin{aligned} H =& -1 + \boldsymbol{\lambda }_{x}^{T} \boldsymbol{b}+ u T_{\max} \biggl( \frac{\parallel \boldsymbol{\lambda }_{x}^{T} \boldsymbol{M} \|}{m m_{0} g_{0}} - \frac{\lambda _{m}}{m_{0} \zeta } \biggr) \\ :=& H _{0} + S u \end{aligned}$$
(21)

where \(H_{0}\) is independent of the thrust \(T\), and \(S\) is the switching function, which is expressed as

$$ S =T_{\max}\biggl( \frac{\parallel \boldsymbol{\lambda }_{x}^{T} \boldsymbol{M}\|}{m m_{0} g_{0}} - \frac{\lambda _{m}}{m_{0} \zeta } \biggr) $$
(22)

The optimal thrust magnitude is given by

$$ u^{\ast } = \textstyle\begin{cases} 1, & S>0 \\ 0, & S< 0 \\ 0\leq u\leq 1, & S\equiv 0 \end{cases} $$
(23)

Substituting \(\boldsymbol{1}_{T}^{\ast }\) in Eq. (20) into Eq. (19) yields

$$ \lambda _{m}^{\prime }= u T_{\max} \frac{\parallel \boldsymbol{M}^{T} \boldsymbol{\lambda }_{x}\|}{ m^{2} m_{0} g_{0}} $$
(24)

which reveals that \(\lambda _{m}^{\prime }>0\). Since \(m(t_{f})\) is free for the minimum-time orbital transfer problem, the corresponding transversality condition is \(\lambda _{m}(t_{f})=0\). It follows that \(\lambda _{m}(t)<0\) for \(t\in [0, t_{f})\). Therefore \(S>0\) by its definition in Eq. (22). Hence the optimal thrust is always at the upper bound, which is expressed as follows

$$ u^{\ast } = 1 $$
(25)

The corresponding transversality condition associated with the free final true longitude \(\L(t_{f})\) is given as

$$ \lambda _{L}(t_{f}) = 0 $$
(26)

For this terminal time free orbital transfer problem, the corresponding transversality condition is given as

$$ H(t_{f}) = H_{0}(t_{f}) + S(t_{f}) = 0 $$
(27)

In Lu et al. (2008) concluded that

$$ H_{0}(t_{f}) = -1 + \boldsymbol{\lambda }(t_{f})^{T} \boldsymbol{b} _{f} = 0 $$
(28)

is always automatically satisfied, thus the transversality condition defined in Eq. (27) can be further simplified as

$$ S(t_{f}) = T_{\max}\biggl( \frac{\parallel \boldsymbol{\lambda }(t_{f})^{T} \boldsymbol{M}(t_{f}) \|}{m(t_{f}) m_{0} g_{0}} - \frac{\lambda _{m}(t _{f})}{m_{0} \zeta }\biggr) = 0 $$
(29)

Lu et al. (2008) also presented an easier replacement to the above transversality condition, which is given as

$$ \parallel \boldsymbol{\lambda }(t_{f}) \parallel =1 $$
(30)

Thus, the mass costate \(\lambda _{m}\) needs not be explicitly computed in this problem. It should be emphasized that both Eq. (28) and Eq. (30) are directly taken from Lu et al. (2008), the detailed derivations of which are omitted in this paper for brevity.

The 5 terminal conditions in Eq. (16) and the 2 transversality conditions in Eq. (26) and Eq. (30) constitute the 7 necessary conditions for the 6 unknowns \(\boldsymbol{\lambda }(t_{0})\) and the terminal flight time \(t_{f}\), which are expressed as

$$ \boldsymbol{f}(\boldsymbol{y}) = \boldsymbol{0} $$
(31)

where \(\boldsymbol{y}=[\boldsymbol{\lambda }(t_{0}), t_{f} ]\).

3 Fundamentals of probability-one homotopy methods

Probability is the measure of the likelihood that an event will occur, which is quantified as a number between zero and one. If an event happens with probability one, it indicates that this event can happen almost surely. Although homotopy methods have been widely utilized to solve low-thrust orbital transfer problems, the probability-one convergence of which has not been well discussed. Thus in this section, fundamentals of the probability-one homotopy methods are provided as the basis for later discussion.

3.1 Topology and homotopy

In mathematics, topology is concerned with the properties of space that are preserved under continuous deformations, such as stretching, crumpling and bending, but not tearing or gluing (Bourbaki 1995). Intuitively, two spaces are homeomorphic if one can be deformed into the other without cutting or gluing. As illustrated in Fig. 1, a square and a circle are homeomorphic to each other, but a Fig. 8 is not homeomorphic to a circle as the connection in the middle of a Fig. 8 has to be cut off.

Fig. 1
figure 1

Illustrations of topology homeomorphic properties

In topology, two continuous functions from one topological space to another are called homotopic if one can be continuously deformed into the other, such a deformation being called a homotopy between the two functions (Bourbaki 1995). As illustrated in Fig. 2(a), a function \(f(t)\) and a function \(g(t)\) are homeomorphic to each other, but they are not if \(y=a\) is not defined in the domain, as illustrated in Fig. 2(b).

Fig. 2
figure 2

Illustrations of homotopic properties

3.2 Basic homotopy methods

Consider the zero-finding problem of a system of nonlinear equations

$$ \boldsymbol{f}(\boldsymbol{y}) = \boldsymbol{0} $$
(32)

where \(\boldsymbol{y}\in R^{n}\), and \(\boldsymbol{f}: R^{n} \rightarrow R^{n}\) is a smooth mapping, and a homotopy function is usually defined as an arbitrary smooth function, which is

$$ \boldsymbol{\rho }(\kappa ,\boldsymbol{y}), \quad \kappa \in [0, \ 1] $$
(33)

where \(\boldsymbol{\rho }: R^{n} \times R \rightarrow R^{n}\), and \(\kappa \) is the homotopic parameter. This function continuously deforms a generally simpler function \(\boldsymbol{g}(\boldsymbol{y})\), which is chosen so as to ensure that its roots are known or easy to find at \(\kappa =0\), into the original function \(\boldsymbol{f}( \boldsymbol{y})\) at \(\kappa =1\). In this case, \(\boldsymbol{f}\) and \(\boldsymbol{g}\) are said to be homotopic. Typically, there are two types of homotopy methods, referred to as linear and nonlinear homotopy methods, respectively (Pan et al. 2016). In the linear homotopy methods, the homotopy function is a linear function of the homotopic parameter, which is defined as follows (Watson 2002)

$$ \boldsymbol{\rho }(\kappa , \boldsymbol{y}) = \kappa \boldsymbol{f}( \boldsymbol{y}) + (1-\kappa ) \boldsymbol{g}(\boldsymbol{y})= \boldsymbol{0}, \quad \kappa \in [0, \ 1] $$
(34)

where \(\boldsymbol{g}: R^{n} \rightarrow R^{n}\) is a smooth function having known solutions \(\boldsymbol{y}_{0}\in R^{n}\) at \(\kappa =0\). When the homotopic parameter \(\kappa =0\), the homotopy function \(\boldsymbol{\rho }(0,\boldsymbol{y}_{0})= \boldsymbol{g}( \boldsymbol{y}_{0})\), and when \(\kappa \) is equal to 1, the homotopy function \(\boldsymbol{\rho }\) coincides with the original function \(\boldsymbol{f}\). Please note that the solutions to \(\boldsymbol{\rho }(\kappa ,\boldsymbol{y})=\boldsymbol{0}\) usually have no physical interpretation for \(\kappa <1\), and \(\kappa =1\) is the value of interest. Typically, there are two most commonly used choices for \(\boldsymbol{g}\), which can be identified by:

  1. (1)

    It is called fixed-point homotopy method if \(\boldsymbol{g}( \boldsymbol{y}) = \boldsymbol{y}- \boldsymbol{y}_{0}\), which gradually deforms the function \(\boldsymbol{\rho }(\kappa ,\boldsymbol{y}) \) from \(\boldsymbol{y}=\boldsymbol{y}_{0}\) into \(\boldsymbol{f}( \boldsymbol{y})=\boldsymbol{0}\), and \(\boldsymbol{y}_{0}\) is the unique solution of \(\boldsymbol{\rho }(0, \boldsymbol{y}) = \boldsymbol{0}\), regardless of the structure of \(\boldsymbol{f}(\boldsymbol{y})\);

  2. (2)

    It is called Newton homotopy method if \(\boldsymbol{g}( \boldsymbol{y}) = \boldsymbol{f}(\boldsymbol{y}) - \boldsymbol{f}( \boldsymbol{y}_{0})\), which gradually deforms the function \(\boldsymbol{\rho }(\kappa ,\boldsymbol{y})\) from \(\boldsymbol{f}( \boldsymbol{y}) - \boldsymbol{f}(\boldsymbol{y}_{0})=0\) into \(\boldsymbol{f}(\boldsymbol{y})=\boldsymbol{0}\), and may have multiple roots for \(\boldsymbol{f}(\boldsymbol{y}) = \boldsymbol{f}( \boldsymbol{y}_{0})=\boldsymbol{0}\) at \(\kappa = 0\).

In nonlinear homotopy methods, the homotopy function is a nonlinear function of the homotopic parameter \(\kappa \), which is defined as follows (Pan et al. 2016)

$$ \boldsymbol{\rho }(\kappa ,\boldsymbol{y}) = \boldsymbol{F}\bigl(\kappa , \boldsymbol{f}(\boldsymbol{y}) \bigr) = \boldsymbol{0}, \quad \kappa \in [0, \ 1] $$
(35)

where \(\boldsymbol{F}: R^{n} \times R \rightarrow R^{n}\) is a nonlinear function of the homotopy parameter \(\kappa \), which is carefully chosen such that \(\boldsymbol{\rho }(1,\boldsymbol{y}) = \boldsymbol{F}(1, \boldsymbol{f}(\boldsymbol{y}) ) = \boldsymbol{f}(\boldsymbol{y})\) and \(\boldsymbol{\rho }(0,\boldsymbol{y}) =\boldsymbol{F}(0, \boldsymbol{f}(\boldsymbol{y}))=\boldsymbol{g}(\boldsymbol{y}_{0})\).

3.3 Probability-one homotopy methods

In Chow et al. (1978) first proposed a probability-one homotopy method to solve nonlinear equations (Chow et al. 1978). The supporting theory is provided here for completeness and also as the basis for later discussion.

Definition 1

(Chow et al. (1978), Sielemann (2012))

Let \(\boldsymbol{U} \subset R^{n}\) be open sets and \(\boldsymbol{\rho }: \boldsymbol{U} \rightarrow R^{p}\) be smooth. We say \(\boldsymbol{\rho }\) is transversal to zero if \(\boldsymbol{0} \in R^{p}\) is a regular value for \(\boldsymbol{\rho }\).

Theorem 1

(Parametrized Sard’s Theorem (Chow et al. 1978))

Let \(\boldsymbol{U}\subset R^{m}\) and \(\boldsymbol{V}\subset R^{n}\) be open sets, and let \(\boldsymbol{\rho }: \boldsymbol{U}\times [0,1) \times \boldsymbol{V}\rightarrow R^{n}\) be a \(C^{2}\) map. If \(\boldsymbol{\rho }\) is transversal to zero, then for almost every \(\boldsymbol{c}\in \boldsymbol{U}\) the map \(\boldsymbol{\rho }_{ \boldsymbol{c}}(\kappa ,\cdot )= \boldsymbol{\rho }(\boldsymbol{c}, \kappa ,\cdot )\) is also transversal to zero.

In the above theorem, an additional parameter dependency on a random vector \(\boldsymbol{c}\in R^{m}\) is introduced, and the \(n\times ( m+ n+1)\) dimensional Jacobian matrix \(\boldsymbol{D}\boldsymbol{\rho }( \boldsymbol{c},\kappa ,\boldsymbol{y})\) can be written as follows

$$ \boldsymbol{D}\boldsymbol{\rho }(\boldsymbol{c},\kappa , \boldsymbol{y}) = \biggl[ \frac{\partial \boldsymbol{\rho }}{\partial \boldsymbol{c}} \quad \frac{\partial \boldsymbol{\rho }}{\partial \kappa } \quad \frac{\partial \boldsymbol{\rho }}{\partial \boldsymbol{y}} \biggr] $$
(36)

Based on the Parametrized Sard’s Theorem, the zero set of \(\boldsymbol{\rho }_{\boldsymbol{c}}\) consists of several typical smooth, non-intersecting curves (Watson 2002), which are illustrated in \(R^{2}\) as Fig. 3:

  1. (1)

    Type I: a closed loop entirely in \(R^{n} \times (0,1) \);

  2. (2)

    Type II: a curve with both endpoints in \(R^{n} \times (0)\) or \({R^{n} \times (1)}\);

  3. (3)

    Type III: an unbounded curve with one endpoint in either \(R^{n} \times (0) \) or \(R^{n} \times (1) \);

  4. (4)

    Type IV: a curve with one endpoint in \(R^{n}\times (0) \) and the other in \(R^{n} \times (1)\), which is called a zero curve.

Fig. 3
figure 3

Possible curves of \(\boldsymbol{y}(\kappa )\)

Furthermore, for almost every \(\boldsymbol{c}\in R^{m} \), the \(n\times ( m+ {n+1})\) dimensional Jacobian matrix \(\boldsymbol{D} \boldsymbol{\rho }(\boldsymbol{c},\kappa ,\boldsymbol{y})\) has full rank at every point in \(\boldsymbol{\rho }^{-1}_{\boldsymbol{c}}(0)=\{ \boldsymbol{y}|\boldsymbol{\rho }(\boldsymbol{c},\kappa , \boldsymbol{y})=0\}\). Obviously, the goal of a homotopy method is to construct a zero curve with one endpoint in \(R^{n}\times (0) \) and the other in \(R^{n} \times (1)\). If a zero curve can be construct for almost every \(\boldsymbol{c}\in R^{m}\), the corresponding homotopy methods are called probability-one homotopy methods (Chow et al. 1978). In other words, the probability-one homotopy methods can fail only for starting points in a set of Lebesgue measure zero.

According to the parametrized Sard’s theorem given in Theorem 1, Watson et al. (1987) presented several sufficient conditions for probability-one homotopy methods with fixed-point homotopy type, which are summarized as follows:

Theorem 2

(Watson’s sufficient conditions (Watson 2002))

Let \(\boldsymbol{f}: R^{n} \rightarrow R^{n}\) be a \(C^{2}\) map, \(\boldsymbol{\rho }: \boldsymbol{U}\times [0,1) \times \boldsymbol{V} \rightarrow R^{n}\) a \(C^{2}\) map, and \(\boldsymbol{\rho }_{ \boldsymbol{c}}(\kappa ,\boldsymbol{y})= \boldsymbol{\rho }( \boldsymbol{c},\kappa ,\boldsymbol{y})\). Suppose that

  1. (1)

    \(\boldsymbol{\rho }\) is transversal to zero, and, for each fixed \(\boldsymbol{c}\in R^{m}\),

  2. (2)

    \(\boldsymbol{\rho }_{\boldsymbol{c}}(0,\boldsymbol{y}) = \boldsymbol{0}\) has a unique solution \(\boldsymbol{y}_{0}\),

  3. (3)

    \(\boldsymbol{\rho }_{\boldsymbol{c}}(1,\boldsymbol{y}) = \boldsymbol{f}(\boldsymbol{y})\) \((\boldsymbol{y}\in R^{n})\). Then, for almost all \(\boldsymbol{c}\in R^{m}\), there exists a zero curve \(\gamma \) of \(\boldsymbol{\rho }_{\boldsymbol{c}}\) emanating from \((0,\boldsymbol{y}_{0})\), along which the Jacobian matrix \(\boldsymbol{D}\boldsymbol{\rho }_{\boldsymbol{c}}\) has full rank. If, in addition,

  4. (4)

    \(\boldsymbol{\rho }^{-1}_{\boldsymbol{c}}(\boldsymbol{0})\) is bounded, then \(\gamma \) reaches a point \((1,\bar{\boldsymbol{y}} )\), where \(\boldsymbol{f}(\bar{\boldsymbol{y}} ) =\boldsymbol{0}\). Furthermore, if \(D \boldsymbol{f}(\bar{\boldsymbol{y}})\) is invertible, then \(\gamma \) has finite arc length.

As mentioned previously, the prerequisites (1)–(4) of Theorem 2 are sufficient conditions, but not necessary. In order to apply this theorem, all the four prerequisites should be proved one by one. Homotopy maps can be easily constructed to meet prerequisites (2) and (3) by design. Prerequisite (1) may be trivial to verify for some homotopy maps and harder for others, in which \(\kappa \) and \(\boldsymbol{a}\) are involved nonlinearly. Prerequisite (4) is typically very hard to verify, and often is a deep result as (1)-(4) holding implies the existence of a solution to \(\boldsymbol{f}(\boldsymbol{y})=0\) (Sielemann 2012). That is why it has not been reported that Theorem 2 is utilized to construct a probability-one homotopy method for minimum-time low-thrust trajectory optimization problems.

4 Probability-one homotopy method for minimum-time low-thrust trajectory optimization problems

In this section, a new probability-one homotopy method is presented to solve minimum-time low-thrust orbital transfer problems. A generalized parametrized Sard’s theorem is first provided as supporting theory, which are:

Theorem 3

(Generalized Parametrized Sard’s Theorem)

Let \(\boldsymbol{U}\subset R^{m}\) and \(\boldsymbol{V}\subset R^{n}\) be open sets, and let \(\boldsymbol{\rho }: \boldsymbol{U}\times [\alpha ,\beta ) \times \boldsymbol{V}\rightarrow R^{n}\) be a \(C^{2}\) map \((\alpha \leq 0, \beta \geq 1)\). If \(\boldsymbol{\rho }\) is transversal to zero, then for almost every \(\boldsymbol{c}\in \boldsymbol{U}\) the map \(\boldsymbol{\rho }_{\boldsymbol{c}}(\kappa ,\cdot )= \boldsymbol{\rho }(\boldsymbol{c},\kappa ,\cdot )\) is also transversal to zero.

The difference between Theorem 3 and Theorem 1 only lies in the range of the homotopic parameter, which is \([0,1)\) in Theorem 1 and \([\alpha ,\beta )\) \((\alpha \leq 0,\beta \geq 1)\) in Theorem 3. According to Chow et al. (1978), the parametrized Sard’s theorem is actually valid for \(\kappa \in (- \infty ,+\infty )\). Thus Theorem 3 is directly proposed according to Chow et al. (1978), which is actually a generalized version of Theorem 1. Based on the above generalized parametrized Sard’s theorem, Watson’s sufficient conditions defined in Theorem 2 can be extended as follows:

Theorem 4

(Generalized Watson’s sufficient conditions)

Let \(\boldsymbol{f}: R ^{n} \rightarrow R^{n}\) be a \(C^{2}\) map, \(\boldsymbol{\rho }: \boldsymbol{U}\times [\alpha ,\beta ) \times \boldsymbol{V}\rightarrow R^{n}\) a \(C^{2}\) map \((\alpha \leq 0,\beta \geq 1)\), and \(\boldsymbol{\rho }_{\boldsymbol{c}}(\kappa ,\boldsymbol{y})= \boldsymbol{\rho }(\boldsymbol{c},\kappa ,\boldsymbol{y})\). Suppose that

  1. (1)

    \(\boldsymbol{\rho }\) is transversal to zero, and, for each fixed \(\boldsymbol{c}\in R^{m}\),

  2. (2)

    \(\boldsymbol{\rho }_{\boldsymbol{c}}(0,\boldsymbol{y}) = \boldsymbol{0}\) may have several solutions,

  3. (3)

    \(\boldsymbol{\rho }_{\boldsymbol{c}}(1,\boldsymbol{y}) = \boldsymbol{f}(\boldsymbol{y})\) \((\boldsymbol{y}\in R^{n})\). Then, for almost all \(\boldsymbol{c}\in R^{m}\), there exists a zero curve \(\gamma \) of \(\boldsymbol{\rho }_{\boldsymbol{c}}\) emanating from a starting point \((0,y_{0})\), along which the Jacobian matrix \(\boldsymbol{D}\boldsymbol{\rho }_{\boldsymbol{c}}\) has full rank. If, in addition,

  4. (4)

    \(\boldsymbol{\rho }^{-1}_{\boldsymbol{c}}(\boldsymbol{0})\) is bounded, then \(\gamma \) reaches a point \((1,\bar{\boldsymbol{y}} )\), where \(\boldsymbol{f}(\bar{\boldsymbol{y}} ) =0\). Furthermore, if \(D \boldsymbol{f}(\bar{\boldsymbol{y}})\) is invertible, then \(\gamma \) has finite arc length.

Theorem 2 provides several sufficient conditions of probability-one homotopy methods, which is only valid for fixed-point homotopy. Thus in this paper, Theorem 4 is presented, which can be extended to include nonlinear homotopy methods. In Theorem 4, the interval of homotopic parameter \(\kappa \) is extended because of the situation that \(\kappa \) beyond \([0,1)\) is also utilized in this new probability-one homotopy method. Besides, prerequisite (2) in Theorem 2 that \(\boldsymbol{\rho }_{a}(0,\boldsymbol{y})=\boldsymbol{0} \) has a unique solution is also relaxed to permit multiple solutions, the characteristic of which is also fully utilized in this proposed method. Thus it can be claimed that Theorem 4 is an extension of Theorem 2. Similar with Theorem 2, homotopy maps can be easily constructed to meet prerequisites (1)–(3) in Theorem 4, however, prerequisite (4) is still very hard to be verified.

In this paper, a new probability-one homotopy method is presented for solving minimum-time low-thrust orbital transfer problems, which satisfies all the 4 prerequisites in Theorem 4. This homotopy method is constructed by embedding the homotopic parameter \(\kappa \) into the right-hand side of the equations of motion in Eq. (8), which is expressed as follows

$$\begin{aligned} &\boldsymbol{x}^{\prime } = \boldsymbol{b}+ \bigl[\kappa T_{\max} + (1- \kappa ) T_{L} \bigr] \frac{1}{m m_{0} g_{0} } \boldsymbol{M}\boldsymbol{1} _{T} \end{aligned}$$
(37)
$$\begin{aligned} &m^{\prime } = -\frac{\kappa ^{2} T_{\max} + 2 \kappa (1-\kappa ) c + (1- \kappa )^{2} T_{\max}}{\zeta m_{0}} \end{aligned}$$
(38)

where the homotopic parameter \(\kappa \in [\alpha ,\beta )\) \((\alpha \leq 0,\beta \geq 1)\), \(T_{L}\gg T_{\max}\) is a sufficiently large thrust which makes it much easier to solve the low-thrust orbital transfer problems, and \(c > T_{\max}\) is a constant parameter. With the above equations of motion and the performance index as in Eq. (15), the Hamiltonian \(H\) is rewritten as

$$\begin{aligned} H&= -1 + \boldsymbol{\lambda }_{x}^{T} \boldsymbol{b}+ \bigl[\kappa T_{\max} + (1-\kappa ) T_{L} \bigr] \frac{\boldsymbol{\lambda }_{x}^{T} \boldsymbol{M}\boldsymbol{1}_{T}}{m m_{0} g_{0}} \\ &\quad {}- \lambda _{m} \frac{ \kappa ^{2} T_{\max} + 2 \kappa (1-\kappa ) c + (1-\kappa )^{2} T_{\max}}{ \zeta m_{0}} \end{aligned}$$
(39)

and the corresponding governing differential equations for \(\boldsymbol{\lambda }_{x}\) are given as

$$\begin{aligned} \boldsymbol{\lambda }_{x}^{\prime } &= -{ \biggl( \frac{ \partial {H}}{\partial {\boldsymbol{x}}} \biggr) ^{T}} \\ &= - \biggl( \frac{ \partial \boldsymbol{b}}{\partial \boldsymbol{x}} \biggr) ^{T} \boldsymbol{\lambda }_{x} - \biggl[ \frac{\kappa T_{\max} + (1-\kappa ) T_{L} }{ m m_{0} g_{0} } \biggr] \frac{\partial ( \boldsymbol{\lambda }_{x}^{T}\boldsymbol{M}\boldsymbol{1}_{T})}{ \partial \boldsymbol{x}} \end{aligned}$$
(40)

The optimal \(\boldsymbol{1}_{T}\), \(u\) and the necessary conditions remain the same as in Eqs. (20), (25), and (31).

In order to apply Theorem 4, all the four prerequisites should be proved one by one:

(I) Prerequisite (1) in Theorem 4 indicates that at least one optimal solution exist at any homotopic parameter \(\kappa \). For the minimum-time low-thrust orbital transfer problems, this phenomenon has been extensively observed in Caillau et al. (2003), Yue et al. (2010), Caillau and Daoud (2012), Pan et al. (2016).

(II) Prerequisite (2) in Theorem 4 indicates that there may be multiple optimal solutions for the initial problem of the homotopy method, and prerequisite (3) in Theorem 4 requests that the embedding problem coincides with the original problem at \(\kappa =1\), which are both satisfied naturally in this proposed method.

(III) Prerequisite (4) in Theorem 4 requests that the homotopic map of the embedding problems are bounded, which is guaranteed in this probability-one homotopy method by introducing a quadratic function of the homotopic parameter in Eq. (38). A phenomenon has been observed in the literatures (Caillau and Daoud 2012; Pan et al. 2016, 2018a), that the singular point occurs when no solution exists with the specific revolution number, and then the homotopy curve turns backwards. Thus in this paper, the probability-one homotopy method with bounded homotopy curve is constructed by forcing the homotopy curve to turn backwards before it moves to the negative infinity. The principle of the proposed method is simple and straightforward, a singular point is introduced into the negative homotopy branch by fictitiously increasing the spacecraft’s mass along with the flight trajectory. As illustrated in Fig. 4, the mass rate turns to be positive when the homotopic parameter is beyond a specific boundary, which is determined by solving following equation

$$ \kappa ^{2} T_{\max} + 2 \kappa (1-\kappa ) c + (1-\kappa )^{2} T_{\max} = 0 $$
(41)

the solutions of which are

$$\begin{aligned} &\kappa _{1} = \frac{c - T_{\max} - \sqrt{c^{2} -T_{\max}^{2} }}{2 (c - T_{\max})} \end{aligned}$$
(42)
$$\begin{aligned} &\kappa _{2} = \frac{c - T_{\max} + \sqrt{c^{2} -T_{\max}^{2} }}{2 (c - T_{\max})} \end{aligned}$$
(43)

Once \(\kappa < \kappa _{1}\) or \(\kappa > \kappa _{2}\), the mass of the spacecraft grows rapidly along with flight time. Thus as long as the mass is sufficiently large, the homotopy path is forced to move backwards, which indicates that the homotopy path is bounded and prerequisite (4) in Theorem 4 is satisfied.

Fig. 4
figure 4

Geometric illustrations of various mass rate functions with respect to the homotopic parameter

It should be noted that the difference between this probability-one homotopy method and the ones utilized in Caillau et al. (2003), Yue et al. (2010), Caillau and Daoud (2012), Pan et al. (2016) lies in the right-hand side of the differential equation of mass. In Caillau et al. (2003), Yue et al. (2010), the differential equation of mass is defined by

$$ m^{\prime }= - \frac{\kappa T_{\max} + (1-\kappa ) T_{L} }{I_{\mathit{sp}} g_{0}} $$
(44)

and in Pan et al. (2016), the differential equation of mass is given as

$$ m^{\prime }= -\frac{T_{\max}}{I_{\mathit{sp}} g_{0}} $$
(45)

As illustrated in Fig. 4, the mass rate remains negative for both cases when \(\kappa < 0\), thus it can be concluded that both homotopy paths are not bounded and the homotopy methods developed in Caillau et al. (2003), Yue et al. (2010), Pan et al. (2016) are not probability-one methods. The simulation results provided in Caillau et al. (2003), Yue et al. (2010), Pan et al. (2016) also validate the above conclusion.

5 Numerical demonstrations

In this section, numerical results for a three-dimensional minimum-time low-thrust transfer problem are provided to demonstrate the effectiveness of the proposed probability-one homotopy method. The initial orbit is a geostationary transfer orbit (GTO), and the final orbit is a geostationary Earth orbit (GEO), the detailed conditions of which are summarized in Table 1. The initial mass of the spacecraft is 1500 kg, and the specific impulse is 2000 s. The maximum thrust magnitude is 1.0 N, which means that the initial thrust-to-weight ratio is only \(6.8\times 10^{-5}\). Such a low thrust magnitude makes the problem very difficult to be solved. In this paper, all computations are executed on a desktop personal computer and all of the codes are implemented under Matlab. The absolute and relative error tolerances of the numerical integration algorithm are set as \(10^{-14}\). The required accuracy in satisfying the final conditions of the TPBVP is set as \(10^{-12}\).

Table 1 Initial and final conditions in the low-thrust orbital transfer problem

A much larger maximum thrust magnitude, \(T_{L} = 30\) N, is used in the initial problem as defined in Eq. (37), which is much easier to be solved. According to Eq. (38), the value of the constant parameter \(c\) can be easily chosen as long as it is larger than \(T_{\max}\), which is set to 20 in this paper.

The initial problem with \(\kappa = 0 \) can be easily solved by a simple single shooting method with the initial guesses of the costates \(\boldsymbol{\lambda }_{0}\) and the terminal time \({t}_{f}\) chosen as

$$\begin{aligned} \begin{aligned} &\widetilde{\boldsymbol{\lambda }}_{x}(t_{0}) = [1,\quad 1,\quad 1,\quad 0,\quad 0,\quad 0]^{T} \\ &\widetilde{t}_{f} = 100 \end{aligned} \end{aligned}$$
(46)

Please note that these variables are all nondimensional quantities, among which the dimensional value of \(t_{f}\) is 29.1858 hours. Thus the values of the converged costates and the terminal time are found to be:

$$\begin{aligned} & \begin{aligned}[b] \boldsymbol{\lambda }_{x}(t_{0}) &= [0.4076615,\quad 0.0103237,\quad -0.0456599, \\ &\quad {}-0.9049513,\quad 0.1091981,\quad 0.0275621]^{T} \end{aligned} \end{aligned}$$
(47)
$$\begin{aligned} &t_{f} = 130.3115 \end{aligned}$$
(48)

Initialized by this optimal solution of the initial problem at \(\kappa =0.0\) as the starting point, the probability-one homotopy method is utilized to find the optimal solution of the original problem at \(\kappa =1.0\). The pseudo-arclength continuation method (Keller 1977) is used as path tracking algorithm to circumvent singular points in this paper, the initial correction step size of which is set to \(\parallel \boldsymbol{y}\parallel /100\) in this paper. The details of the pseudo-arclength continuation method can be found in Keller (1977), Pan et al. (2016). As illustrated in Figs. 5, 6, 7 and 8, the continuous zero curve is obtained by the proposed probability-one homotopy method, which finally reaches \(\kappa =1\) after passing though multiple turning points. The algorithm is implemented on a desktop computer with a 2.20 GHz CPU, 4G RAM and Win10 operating system, which takes about 41 hours to obtain this solution in MATLAB. It should be noted that multiple solutions of the original problem at \(\kappa = 0\) have been obtained, which are denoted by the pink circles in Figs. 58. In Figs. 58, a nonlinear homotopy method, which is taken from Pan et al. (2016) is also applied for comparison. As illustrated in Figs. 57, the homotopic parameter \(\kappa \) first increases and the homotopy curve encounters a singular point at \(\kappa =0.2018\), and then \(\kappa \) decreases monotonically and approaches negative infinity, which fails to reach \(\kappa =1\).

Fig. 5
figure 5

Homotopy curves of \(t_{f}\) by two different homotopy methods

Fig. 6
figure 6

Homotopy curves of \(\lambda _{P}(t_{0})\) by two different homotopy methods

Fig. 7
figure 7

Homotopy curves of \(\lambda _{L}(t_{0})\) by two different homotopy methods

Fig. 8
figure 8

Homotopy curves of \(m_{f}\) by two different homotopy methods

It should be emphasized that as illustrated in Fig. 8, the final mass of the spacecraft \(m_{f}\) rises up to about 115000 kg at around \(\kappa = -7.3735\), which is 1500 kg at \(\kappa = -0.0256\). As described in Sect. 4, as long as the mass is sufficiently large, the homotopy path will be forced to move backwards, which guarantees the success of the probability-one homotopy method.

By the probability-one homotopy method, the continuous zero curve has a total of 85 intersections with \(\kappa =0\), the 1st and 85th solution of which, sorted by the obtained terminal time, are provided in Fig. 9. The three-dimensional minimum-time low-thrust transfer trajectory of the original problem is illustrated in Fig. 10, the transfer time of which is about 853 hours. The variations of the modified equinoctial orbit elements along the minimum-time transfer trajectory are illustrated in Fig. 11.

Fig. 9
figure 9

Three-dimensional minimum-time orbital transfer trajectories for the 1st and 85th solution of the initial problem with \(\kappa =0\)

Fig. 10
figure 10

Three-dimensional minimum-time orbital transfer trajectory of the original problem with \(\kappa =1\)

Fig. 11
figure 11

Variations of orbit elements along the minimum-time transfer trajectory of the original problem with \(\kappa =1\)

For each value of \(\kappa \), define a parameter \(N_{r}\) by

$$ N_{r} = n + \frac{L(t_{f})-L_{0}}{2\pi } $$
(49)

where \(n\) is the number of the orbital revolutions, \(L(t_{f})\) is the terminal true longitude, and \(L_{0}\) is the initial true longitude given in Table 1. If two trajectories have the same integer part in \(N_{r}\), they have the same number of revolutions along the trajectories. For instance \(N_{r} = 1.1 \) and \(N_{r} = 1.5\) indicate the same orbital revolutions of 1. Figure 12 shows the variations of \(N_{r}\) versus \(\kappa \) along the zero curve. It should be noted that the revolution numbers of the starting solution and the optimal solution of the original problem are 1 and 43 respectively, as depicted in Fig. 12. In Caillau et al. (2003), Yue et al. (2010), Pan et al. (2016), it is observed that zero curve exists only when the optimal solutions of the initial and the original problem share the same revolution number by their homotopy methods. However, it is demonstrated in this paper that zero curve actually exists even without the same revolution number requirement by the proposed probability-one homotopy.

Fig. 12
figure 12

Zero curve of \(N_{r}\) by the probability-one homotopy method

6 Conclusions

This paper presents a new probability-one homotopy method specifically for solving minimum-time low-thrust orbital transfer problems. The generalized sufficient conditions derived in this paper, reasonably explain the failure of the existing homotopy methods, in which the 4th prerequisite of the sufficient conditions is not satisfied, and also ensures the success of the proposed method. The optimal solution of the original problem can be easily found with probability one by tracing the continuous zero curve constructed by the proposed homotopy method. A new discovery is that the continuous zero curve exists even when the initial and the original problem have different number of orbital revolutions, which is not previously known in the literatures. Besides, in the literatures, it was concluded that the homotopy methods are only valid when the initial and the original problem share the same revolution number, which is also incorrect as pointed out in this paper. As illustrated in the numerical demonstrations, the optimal solution of the original problem with 43 revolutions, can be solved by starting from an initial problem with 1 revolution by the proposed method. Thus, the proposed homotopy method provides an efficient approach to find the optimal solution for the minimum-time low-thrust trajectory optimization problems, the convergence of which is probability one.