1 Introduction

The success of the NASA Solar Electric Propulsion Technology Applications Readiness (NSTAR) program’s ion propulsion system on the Deep-Space 1 spacecraft shows that the application of solar electric propulsion (SEP) with variable specific impulse is very promising for future space missions (Polk et al. 2000). The reason that variable-specific-impulse thrusters are more practical in missions is as follows. The power provided by SEP thrusters is inversely proportional to the distance from the Sun (Casalino and Colasurdo 2004). In order to guarantee the required large thrust level, the specific impulse \(I_{sp}\) should be reduced when the spacecraft is distant to the Sun (Casalino and Colasurdo 2004). In recent years, the low-thrust trajectory optimization with variable \(I_{sp}\) has got great attention of many scholars. Kechichian (1995) firstly studied the problem of variable-\(I_{sp}\) low-thrust trajectory optimization based on a set of non-singular orbit elements. Other contributions and extensions can be found by Soulas et al. (2003), Casalino and Colasurdo (2004), Mengali and Quarta (2005), Seywald et al. (2005), Genta and Maffione (2016), and the references therein.

The methods for solving low-thrust trajectory optimization can be classified as two categories: direct methods and indirect methods. The primary advantages of indirect methods are their high accuracy in the solution and the assurance that the solution satisfies the first-order optimality conditions (Zhang et al. 2014). And the low dimensionality of the search space of indirect method enables the random search of initial guesses (Russell 2007; Oshima et al. 2017). In the published papers for variable-\(I_{sp}\) problems, indirect methods, which are based on the Pontryagin’s maximum principle, have been widely used (Casalino and Colasurdo 2004; Kechichian 1995; Mengali and Quarta 2005; Seywald et al. 2005; Senent et al. 2005). In indirect methods, the optimal control problem is transformed to a boundary value problem. After that, numerical methods, such as Newton’s or Powel’s, are employed to solve the corresponding shooting equation. However, it is difficult to converge to the optimal solution because of the sensitivity of initial guesses and discontinuous bang-bang control for the fuel-optimal control (Bertrand and Epenoy 2002; Jiang et al. 2012). To overcome the difficulties in convergence caused by bang-bang control, the homotopy method with different homotopy functions has been proposed to find the optimal solutions (Bertrand and Epenoy 2002). Because of the effectiveness of the homotopy method, extensive studies have been published on this method for trajectory optimization, leading to many new developments of this method. Bai et al. (2009) proposed a novel homotopy method combined with a pseudospectral method in solving the bang-bang control problem. Jiang et al. (2012, 2017) proposed techniques of the initial costates’ normalization, the switching detection, as well as the linearization of motion equation around shape-based path to develop a fast homotopy method. Zhang et al. (2014) developed the homotopy method (Jiang et al. 2012) for the variable-power problems. Yang and Baoyin (2015) investigated the trajectory problems with irregular gravity and also developed the method of Jiang et al. (2012). Taheri et al. (2016) analyzed the extended logarithmic-smoothing technique with equations of motion in terms of the following three different coordinates: Cartesian, spherical and modified equinoctial. Moreover, Pan et al. (2016) pointed out the main reasons why traditional homotopy fails and proposed a novel double-homotopy method for solving optimal trajectories.

Among the numerous works of trajectory optimization by the homotopy method (Bertrand and Epenoy 2002; Jiang et al. 2012; Zhang et al. 2014; Yang and Baoyin 2015; Tang and Jiang 2016; Yang et al. 2015; Tang et al. 2015; Caillau et al. 2012), two homotopy functions, including the quadratic homotopy function and the logarithmic homotopy function, have been commonly used. These two homotopy functions are firstly proposed for regular problems of trajectory optimization by Bertrand and Epenoy (2002). The quadratic homotopy function connects the fuel-optimal problem to the energy-optimal problem while the logarithmic homotopy function shows better performance in convergence (Bertrand and Epenoy 2002). The homotopy method with these two homotopy functions can be directly applied to constant-\(I_{sp}\) problem (Jiang et al. 2012; Zhang et al. 2014; Yang and Baoyin 2015; Tang and Jiang 2016; Yang et al. 2015; Tang et al. 2015). However, little research has been conducted about the application of the homotopy method to the variable-\(I_{sp}\) trajectory optimization problem. Moreover, difficulties arise when the above-mentioned two homotopy functions are used for variable-\(I _{sp}\) trajectory optimization (see details in Sect. 3): the expressions of the optimal power throttle level and the optimal exhaust velocity are no longer analytical. In order to resolve the two control variables, we need to calculate the simultaneous nonlinear equations with numerical methods.

In this paper, the homotopy method is developed to apply for the low-thrust variable-\(I _{sp}\) trajectory optimization problem. A modified logarithmic homotopy function is proposed to overcome the difficulties caused by the application of the commonly-used homotopy functions for the variable-\(I _{sp}\) problem. With this modified logarithmic homotopy function, the optimal power throttle level and the optimal specific impulse are no more coupled. Moreover, the technique of normalization (Jiang et al. 2012) is employed for the robustness of guessing the initial costates. Finally, an efficient homotopy method based on the modified logarithmic homotopy function is formulated.

2 Problem formulation for the fuel-optimal trajectory

2.1 Mathematical model

We consider the interplanetary transfer problem of a low-thrust propelled spacecraft in the gravity of the Sun. The equations of motion for the spacecraft in a heliocentric inertial frame are (Yang et al. 2015)

$$\begin{aligned} &{\dot{\boldsymbol{r}} = \boldsymbol{v}} \end{aligned}$$
(1)
$$\begin{aligned} &{\dot{\boldsymbol{v}} = - \frac{\mu}{r^{3}}\boldsymbol{r} + \frac{T}{m}\boldsymbol{\alpha}} \end{aligned}$$
(2)
$$\begin{aligned} &{\dot{m} = - \frac{T}{I_{sp}g_{0}}} \end{aligned}$$
(3)

where \(\boldsymbol{r} \) and \(\boldsymbol{v} \) are the position and velocity vectors, respectively, \(m\) denotes the instantaneous mass of the spacecraft, \(\mu \) is the solar gravitational constant, which equals to \(1.32712440018\times10^{11}~\mbox{km}^{3}\mbox{/s}^{2}\), \(T\) represents the thrust magnitude and \(\boldsymbol{\alpha} \) is the unit vector of the thrust direction.

The specific impulse \(I _{sp}\) is considered to be variable. Its range is denoted as \(I_{sp\min} \leq I _{sp} \leq I_{sp\max}\). The exhaust velocity \(c\) is in proportion to the specific impulse, i.e.

$$ c = I_{sp}g_{0} $$
(4)

where \(g _{0} = 9.8~\mbox{m/s}^{2}\) is the standard value of gravitational acceleration. Correspondingly, the exhaust velocity has a bounded range which is \(c_{\min} \leq c \leq c_{\max}\).

As for variable-\(I _{sp}\) problems, \(T\) can be expressed as a function of variable power and exhaust velocity:

$$ T = \frac{2\eta P_{\max} u}{c} $$
(5)

where \(\eta\) is the variable thruster efficiency, \(P_{\max}\) is the maximum thruster input power, and \(u\) (\(0 \leq u \leq 1\)) denotes the power throttle level.

Substituting Eqs. (4) and (5) into Eqs. (1)–(3), we obtain the following equations of motion:

$$\begin{aligned} &{\dot{\boldsymbol{r}} = \boldsymbol{v}} \end{aligned}$$
(6)
$$\begin{aligned} &{\dot{\boldsymbol{v}} = - \frac{\mu}{r^{3}}\boldsymbol{r} + \frac{2\eta P_{\max} u}{mc}\boldsymbol{\alpha}} \end{aligned}$$
(7)
$$\begin{aligned} &{\dot{m} = - \frac{2\eta P_{\max} u}{c^{2}}} \end{aligned}$$
(8)

The power supplied to the thruster is calculated through the following relationship (Mengali and Quarta 2005):

$$ P_{\max} = \left \{ \textstyle\begin{array}{l@{\quad}l} \eta_{P}P_{P}^{\max},& \mbox{if } P_{SA}- P_{L} \ge P_{P}^{\max} \\ \eta_{P}(P_{SA} - P_{L}),& \mbox{if } P_{SA} - P_{L} < P_{P}^{\max} \end{array}\displaystyle \right . $$
(9)

where \(\eta _{P}\) is the efficiency of the power processor, \(P^{\max}_{P}\) represents the maximum input power to the power processor, \(P _{SA}\) is the solar array power and \(P _{L}\) is the power for the spacecraft systems. \(P _{SA}\) is in an inverse-square relation with the distance from the Sun (Mengali and Quarta 2005):

$$ P_{SA} = \frac{P_{ \odot}}{r^{2}} \biggl( \frac{d_{1} + d_{2}r^{ - 1} + d_{3}r^{ - 2}}{1 + d_{4}r + d_{5}r^{2}} \biggr) $$
(10)

where the term in brackets, which consists of the empirical coefficients \(d _{1},\dots,d _{5}\), represents the relative array efficiency, and \(P_{ \odot}\) denotes the solar array power at 1 astronomical unit (AU).

2.2 Fuel-optimal control problem

Our purpose is to minimize the fuel consumption. Therefore, the following performance index is used

$$ J = \lambda_{0} \int_{t_{0}}^{t_{f}} \frac{2\eta P_{\max} u}{c^{2}}dt $$
(11)

where \(\lambda _{0}\) is a positive parameter which is necessary for the normalization of the costate variables (Yang et al. 2015).

Regarding rendezvous problems, the state variables of the spacecraft satisfy the following boundary conditions:

$$\begin{aligned} &{\boldsymbol{r}(t_{0}) = \boldsymbol{r}_{0},\qquad \boldsymbol{v}(t_{0}) = \boldsymbol{v}_{0},\qquad m(t_{0}) = 1} \end{aligned}$$
(12)
$$\begin{aligned} &{\boldsymbol{r}(t_{f}) = \boldsymbol{r}_{f},\qquad \boldsymbol{v}(t_{f}) = \boldsymbol{v}_{f}} \end{aligned}$$
(13)

To apply the Pontryagin’s Minimum Principle (PMP) for the optimal control (Geering 2007; Yang et al. 2017a, 2017b), the Hamiltonian is formulated as

$$\begin{aligned} \begin{aligned}[b]H &= \boldsymbol{\lambda}_{\boldsymbol{r}} \cdot \boldsymbol{v} + \boldsymbol{ \lambda}_{\boldsymbol{v}} \cdot \biggl( - \frac{\mu}{r^{3}}\boldsymbol{r} + \frac{2\eta P_{\max} u}{mc}\boldsymbol{\alpha} \biggr) \\ &\quad{}- \lambda_{m} \frac{2\eta P_{\max} u}{c^{2}} + \lambda_{0}\frac{2\eta P_{\max} u}{c^{2}} \end{aligned} \end{aligned}$$
(14)

where \(\boldsymbol{\lambda} _{\boldsymbol{r}}\), \(\boldsymbol{\lambda} _{\boldsymbol{v}}\) and \(\lambda _{m}\) are costate variables adjoint to the position, the velocity and the mass, respectively. According to Pontryagin’s maximum principle, the optimal control minimizes the Hamiltonian (Yang et al. 2017a, 2017b). Therefore, the direction of the optimal thrust is opposite to the primer vector \(\boldsymbol{\lambda} _{\boldsymbol{v}}\), i.e.

$$ \boldsymbol{\alpha}^{*} = - \frac{\boldsymbol{\lambda}_{\boldsymbol{v}}}{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert } $$
(15)

And the optimal power throttle level is a bang-bang control (Jiang et al. 2012) as follows:

$$ \left \{ \textstyle\begin{array}{l@{\quad}l} u^{*} = 0, &\mbox{if } \rho > 0 \\ u^{*} = 1, &\mbox{if } \rho < 0 \\ u^{*} \in [0,1], &\mbox{if } \rho = 0 \end{array}\displaystyle \right . $$
(16)

where the expression of the so-called switching function \(\rho \) is

$$ \rho = 1 - \frac{c \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert }{\lambda_{0}m} - \frac{\lambda_{m}}{\lambda_{0}} $$
(17)

The Euler-Lagrange equations (Jiang et al. 2012; Yang et al. 2017a, 2017b) for the costate variables are necessary for the optimality, which are

$$\begin{aligned} &{\dot{\boldsymbol{\lambda}}_{\boldsymbol{r}} = - \frac{\partial H}{\partial \boldsymbol{r}} = \frac{\mu}{r^{3}}\boldsymbol{\lambda}_{\boldsymbol{v}} - \frac{3\mu \boldsymbol{\lambda}_{\boldsymbol{v}} \cdot \boldsymbol{r}}{r^{5}} \boldsymbol{r} } \\ &{\phantom{\dot{\boldsymbol{\lambda}}_{\boldsymbol{r}} =}{}- 2\eta u \biggl( \frac{\lambda_{0}}{c^{2}} - \frac{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert }{mc} - \frac{\lambda_{m}}{c^{2}} \biggr)\frac{\partial P_{\max}}{\partial \boldsymbol{r}}} \end{aligned}$$
(18)
$$\begin{aligned} &{\dot{\boldsymbol{\lambda}}_{\boldsymbol{v}} = - \frac{\partial H}{\partial \boldsymbol{v}} = - \boldsymbol{\lambda}_{\boldsymbol{r}}} \end{aligned}$$
(19)
$$\begin{aligned} &{\dot{\lambda}_{m} = - \frac{\partial H}{\partial m} = - \frac{2\eta P_{\max} \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert u}{m^{2}c}} \end{aligned}$$
(20)

The right item of Eq. (18) contains the derivative of \(P_{\max}\) with respect to \(\boldsymbol{r} \). Its expression is (Mengali and Quarta 2005)

$$ \frac{\partial P_{\max}}{\partial \boldsymbol{r}} = \left \{ \textstyle\begin{array}{l@{\quad}l} 0,&\mbox{if } P_{SA} - P_{L} \ge P_{P}^{\max} \\ - \boldsymbol{r}P_{ \odot} \eta_{P}N ( r )/D ( r ),&\mbox{if } P_{SA} - P_{L} < P_{P}^{\max} \end{array}\displaystyle \right . $$
(21)

where

$$ \begin{aligned} {}&N ( r ) \triangleq 4d_{1}d_{5}r^{2} + (5d_{2}d_{5} + 3d_{1}d_{4})r + 6d_{3}d_{5} + 4d_{2}d_{4}\\ &\phantom{N ( r ) \triangleq}{}+ 2d_{1} + ( 5d_{3}d_{4} + 3d_{2} )/r + 4d_{3}/r^{2} \\ &D ( r ) \triangleq r^{4} ( 1 + d_{4}r + d_{5}r^{2} )^{2} \end{aligned} $$
(22)

Additionally, the transversality condition indicates that the boundary costate variable is zero if the corresponding boundary state variable is free (Jiang et al. 2012). Because of the free final mass, the mass costate at the final time is zero, i.e.

$$ \lambda_{m}(t_{f}) = 0 $$
(23)

Thus far, we have derived the optimal control law and all first-order necessary condition for the optimal control problem. Therefore, we can formulate the equivalent two-point boundary value problem (TPBVP). The ordinary differential equations of the TPBVP are Eqs. (6)–(8) and (18)–(20). Besides, the boundary conditions of the TPBVP have Eqs. (12), (13), (23) and the following normalization condition (Jiang et al. 2012):

$$ \bigl\Vert \boldsymbol{\lambda} (t_{0}) \bigr\Vert = 1 $$
(24)

where \(\boldsymbol{\lambda} = [\boldsymbol{\lambda} _{\boldsymbol{r}},\boldsymbol{\lambda} _{\boldsymbol{v}}, \lambda _{m}, \lambda _{0}]\) is the expanded costate vector. According to the normalization condition, the 8 initial costate variables are restricted on a unit 8-D hypersphere, which greatly shrinks the ranges of the initial costate variables. Moreover, Eq. (20) indicates that the derivative of \(\lambda _{m}\) with respect to the time is always non-positive. Combining Eqs. (20) and (23), we obtain that \(\lambda_{m} (t _{0}) \geq 0\). Therefore, the range of the initial mass costate is reduced from \(-1 < \lambda _{m} (t _{0}) < 1\) to \(0 \leq \lambda _{m} (t _{0}) < 1\).

The shooting equation for the TPBVP is formulated as

$$ \boldsymbol{\varPhi} = \bigl[ \boldsymbol{r}(t_{f}) - \boldsymbol{r}_{f}, \boldsymbol{v}(t_{f}) - \boldsymbol{v}_{f}, \lambda_{m}(t_{f}), \bigl\Vert \boldsymbol{\lambda} (t_{0}) \bigr\Vert - 1 \bigr]^{T} = 0 $$
(25)

However, the discontinuous bang-bang control leads to the difficulty in convergence of solving Eq. (25). To overcome the difficulty caused by the bang-bang control, the homotopy method will be developed for the current problem.

3 Difficulties of using homotopy method with commonly-used homotopy functions

The aim of the homotopy method is to solve the bang-bang control problem and reduce the sensitivity of the shooting function (Tang and Jiang 2016). The corresponding homotopy function should consist of homotopy parameter, which decreases gradually and tends to convert continuous controls into bang-bang controls. To use the homotopy method, the form of the homotopy function should be defined. In this section, the two commonly-used homotopy functions proposed by Bertrand and Epenoy (2002), including a quadratic homotopy function and a homotopy logarithmic function, are employed directly in the homotopy method. Thereafter, difficulties to solve out the control variables caused by these two homotopy functions are analyzed.

3.1 Difficulty with the quadratic homotopy function

With the quadratic homotopy function (Bertrand and Epenoy 2002), the performance index (11) is modified to

$$ J = \int_{t_{0}}^{t_{f}} \lambda_{0} \frac{2\eta P_{\max}}{c^{2}} \bigl[ u + \varepsilon u(u - 1) \bigr]dt $$
(26)

where homotopy parameter \(\varepsilon \) varies from 1 to 0. The performance index refers to energy-optimal control when \(\varepsilon = 1\), and refers to fuel-optimal control when \(\varepsilon = 0\) (Jiang et al. 2012). With this modified performance index, the Hamiltonian is modified to

$$\begin{aligned} H &= \boldsymbol{\lambda}_{\boldsymbol{r}} \cdot \boldsymbol{v} + \boldsymbol{ \lambda}_{\boldsymbol{v}} \cdot \biggl( - \frac{\mu}{r^{3}}\boldsymbol{r} + \frac{2\eta P_{\max} u}{mc}\hat{\boldsymbol{\alpha}} \biggr) - \lambda_{m} \frac{2\eta P_{\max} u}{c^{2}} \\ &\quad{}+ \lambda_{0}\frac{2\eta P_{\max} u}{c^{2}} + \lambda_{0}\frac{2\eta P_{\max}}{c^{2}}\varepsilon u(u - 1) \end{aligned}$$
(27)

According to the modified Hamiltonian, the Euler-Lagrange equations for the costate variables become

$$\begin{aligned} &{\dot{\boldsymbol{\lambda}}_{\boldsymbol{r}} = - \frac{\partial H}{\partial \boldsymbol{r}} = \frac{\mu}{r^{3}}\boldsymbol{\lambda}_{\boldsymbol{v}} - \frac{3\mu \boldsymbol{\lambda}_{\boldsymbol{v}} \cdot \boldsymbol{r}}{r^{5}} \boldsymbol{r} } \\ &{\phantom{\dot{\boldsymbol{\lambda}}_{\boldsymbol{r}} =}{}- 2\eta u \biggl[ \frac{\lambda_{0}}{c^{2}} - \frac{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert }{mc} - \frac{\lambda_{m}}{c^{2}} - \frac{\lambda_{0}\varepsilon (u - 1)}{c^{2}} \biggr]\frac{\partial P_{\max}}{\partial \boldsymbol{r}}} \end{aligned}$$
(28)
$$\begin{aligned} &{\dot{\boldsymbol{\lambda}}_{\boldsymbol{v}} = - \frac{\partial H}{\partial \boldsymbol{v}} = - \boldsymbol{\lambda}_{\boldsymbol{r}}} \end{aligned}$$
(29)
$$\begin{aligned} &{\dot{\lambda}_{m} = - \frac{\partial H}{\partial m} = - \frac{2\eta P_{\max} \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert u}{m^{2}c}} \end{aligned}$$
(30)

To minimize the Hamiltonian in Eq. (27), the optimal thrust direction still takes the form in Eq. (15). Substituting Eq. (15) into Eq. (27), the part of the Hamiltonian which contains the control is as follows:

$$\begin{aligned} \bar{H} &= \frac{2\eta P_{\max} u [ \lambda_{0} - \lambda_{m} + \lambda_{0}\varepsilon (u - 1) ]}{c^{2}} \\ &\quad{}- \frac{2\eta P_{\max} \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert u}{mc} \end{aligned}$$
(31)

Next, we analyze the optimal \(c\) and \(u\) for minimizing \(\bar{H}\).

With the variable substitution that \(t = 1/c\), Eq. (31) is rewritten as

$$\begin{aligned} \bar{H} &= 2\eta P_{\max} u \bigl[ \lambda_{0} - \lambda_{m} + \lambda_{0}\varepsilon (u - 1) \bigr]t^{2} \\ &\quad{}- \frac{2\eta P_{\max} \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert u}{m}t \end{aligned}$$
(32)

where the range of \(t\) is \(1/c_{\max} \leq t \leq 1/c_{\min}\) because the exhaust velocity is bounded as \(c_{\min} \leq c \leq c_{\max}\).

A parameter \(\sigma \) is defined as \(\sigma = \lambda _{0}- \lambda _{m} + \lambda _{0} \varepsilon (u-1)\). Then, we analyze the optimal \(c\) based on three cases of the sign of \(\sigma \).

  1. (1)

    \(\sigma > 0\)

    For this case, \(\bar{H}\) is a concave quadratic function and its axis of symmetry is

    $$ \bar{t} = \frac{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert }{2m\sigma} $$
    (33)

    Obviously, \(\bar{t}\) is larger than zero for the current case. To minimize the Hamiltonian, the expression for the optimal \(t\) is

    $$ t_{\mathit{opt}} = \left \{ \textstyle\begin{array}{l@{\quad}l} 1/c_{\max}, &\mbox{if } \bar{t} \le 1/c_{\max} \\ 1/c_{\min}, &\mbox{if } \bar{t} \le 1/c_{\min} \\ \bar{t}, &\mbox{if } 1/c_{\max} < \bar{t} < 1/c_{\min} \end{array}\displaystyle \right . $$
    (34)

    Replacing back \(c_{\mathit{opt}} = 1/t_{\mathit{opt}}\), we obtain the expression of the optimal exhaust velocity \(c_{\mathit{opt}}\):

    $$ c_{\mathit{opt}} = \left \{ \textstyle\begin{array}{l@{\quad}l} c_{\max}, &\mbox{if } \bar{c} \ge c_{\max} \\ c_{\min}, &\mbox{if } \bar{c} \le c_{\min} \\ \bar{c},& \mbox{if } c_{\min} < \bar{c} < c_{\max} \end{array}\displaystyle \right . $$
    (35)

    where \(\bar{c}\) is expressed by

    $$ \bar{c} = \frac{1}{\bar{t}} = \frac{2m\sigma}{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert } $$
    (36)
  2. (2)

    \(\sigma < 0\)

    \(\bar{H}\) is a convex quadratic function for the current case. Its symmetry axis can be calculated by Eq. (33). Because the symmetry axis \(\bar{t}\) is less than zero, the optimal \(t\) takes the value of \(1/c_{\min}\) to minimize \(\bar{H}\). As a result, \(c_{\mathit{opt}} = c_{\min}\) when \(\bar{c} \leq c_{\min}\), which also satisfies Eq. (35).

  3. (3)

    \(\sigma = 0\)

    In this case, \(\bar{H}\) is reduced to a linear function which is monotonically decreasing. Thus, \(t_{\mathit{opt}}\) should be \(1/c_{\min}\) to minimize \(\bar{H}\). Moreover, \(\bar{c}\) is zero, which means \(\bar{c} \leq c_{\min}\), according to Eq. (36). Therefore, Eq. (35) holds true for this case.

Based on the analyses in the previous three cases, the optimal exhaust velocity can be calculated through Eqs. (35) and (36).

According to PMP, the optimal power throttle level \(u\) should be

$$ u_{\mathit{opt}} = \left \{ \textstyle\begin{array}{l@{\quad}l} 0, &\mbox{if } \rho > \varepsilon \\ 1, &\mbox{if } \rho < - \varepsilon \\ 1/2 - \rho /2\varepsilon, &\mbox{if } \Vert \rho \Vert \le \varepsilon \end{array}\displaystyle \right . $$
(37)

where \(\rho \) is the same as that in Eq. (17).

Because \(u\) and \(c\) are coupled in Eqs. (35) and (37), we need to calculate the simultaneous equations (35) and (37) to obtain \(u_{\mathit{opt}}\) and \(c_{\mathit{opt}}\). Moreover, the judgement conditions in Eq. (35) include the optimal power throttle level \(u_{\mathit{opt}}\). The optimal exhaust velocity \(c_{\mathit{opt}}\) is also involved in the judgement conditions of Eq. (37). Due to the multiple conditions analysis, it is extremely complicated to obtain \(u_{\mathit{opt}}\) and \(c_{\mathit{opt}}\).

3.2 Difficulty with the logarithmic homotopy function

By using logarithmic homotopy function the equation of \(u\) is no longer piecewise function. So the logarithmic homotopy function is more suitable for solving the many control variables problem. The commonly-used logarithmic performance index is expressed as follows:

$$ J = \lambda_{0}\frac{2\eta P_{\max}}{c^{2}} \int_{t_{0}}^{t_{f}} \bigl[ u - \varepsilon \ln \bigl( u - u^{2} \bigr) \bigr]dt $$
(38)

With this performance index, the Hamiltonian becomes

$$\begin{aligned} H &= \boldsymbol{\lambda}_{\boldsymbol{r}} \cdot \boldsymbol{v} + \boldsymbol{ \lambda}_{\boldsymbol{v}} \cdot \biggl( - \frac{\mu}{r^{3}}\boldsymbol{r} + \frac{2\eta P_{\max} u}{mc}\hat{\boldsymbol{\alpha}} \biggr) - \lambda_{m} \frac{2\eta P_{\max} u}{c^{2}} \\ &\quad{} + \lambda_{0}\frac{2\eta P_{\max} u}{c^{2}} - \lambda_{0}\frac{2\eta P_{\max}}{c^{2}}\varepsilon \ln \bigl( u - u^{2} \bigr) \end{aligned}$$
(39)

The Euler-Lagrange equation for the adjoint variable with respect to \(\boldsymbol{r} \) takes a new form:

$$\begin{aligned} \dot{\boldsymbol{\lambda}}_{\boldsymbol{r}} &= - \frac{\partial H}{\partial \boldsymbol{r}} = \frac{\mu}{r^{3}}\boldsymbol{\lambda}_{\boldsymbol{v}} - \frac{3\mu \boldsymbol{\lambda}_{\boldsymbol{v}} \cdot \boldsymbol{r}}{r^{5}} \boldsymbol{r} \\ &\quad{}- 2\eta \biggl[ \frac{\lambda_{0}u}{c^{2}} - \frac{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert u}{mc} - \frac{\lambda_{m}u}{c^{2}} - \frac{\lambda_{0}\varepsilon \ln ( u - u^{2} )}{c^{2}} \biggr] \\ &\quad{}\times\frac{\partial P_{\max}}{ \partial \boldsymbol{r}} \end{aligned}$$
(40)

The other Euler-Lagrange equations with respect to \(\boldsymbol{v} \) and \(m\) are unchanged, as the same as Eqs. (29) and (30). The portion of the Hamiltonian, which contains \(u\) and \(c\), is also a quadratic function of \(c\). Thus, the solution procedure for \(c_{\mathit{opt}}\) is the same as that in Sect. 3.1, but only the judgement parameter is changed to \(\sigma = \lambda _{0} u- \lambda _{m} u- \lambda _{0} \varepsilon \ln(u-u^{2})\). The optimal exhaust velocity holds the same form as Eq. (35). The parameter \(\bar{c}\) is rewritten as

$$ \bar{c} = \frac{2m [ \lambda_{0}u - \lambda_{m}u - \lambda_{0}\varepsilon \ln (u - u^{2}) ]}{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert u} $$
(41)

And the result of the optimal power throttle level is changed to

$$ u_{\mathit{opt}} = \frac{2\rho_{1}\varepsilon}{\rho_{2} + 2\rho_{1}\varepsilon + \sqrt{\rho_{2}^{2} + (2\rho_{1}\varepsilon )^{2}}} $$
(42)

where \(\rho _{1} = 2 \eta P_{\max} \lambda _{0}/c ^{2}\) and \(\rho _{2} =2\eta P_{\max} \lambda _{0} \rho/c ^{2}\).

From Eqs. (41) and (42), we observe that the optimal power throttle level \(u_{\mathit{opt}}\) and the optimal exhaust velocity \(c_{\mathit{opt}}\) are coupled. In order to resolve \(u_{\mathit{opt}}\) and \(c_{\mathit{opt}}\), we have to calculate the simultaneous nonlinear equations with numerical methods. It will greatly increase the complexity of solving the corresponding TPBVP. Therefore, a modified homotopy function will be proposed in the next section to get decoupled \(u_{\mathit{opt}}\) and \(c_{\mathit{opt}}\).

For the special case—constant \(I _{sp}\), the exhaust velocity \(c\) is constant. Both of the two commonly-used homotopy functions can be applied to solve the fuel-optimal problem. The equations of motion and the Euler-Lagrange equations are as the same as those in the variable-\(I_{sp}\) case. The optimal power throttle level \(u\) is calculated by Eqs. (37) and (42), respectively.

4 Homotopy method with a modified logarithmic homotopy function

In this section, a modified logarithmic homotopy function is proposed to overcome the difficulties to solve the TPBVP caused by the above-mentioned two commonly-used homotopy functions. The expressions of the optimal power throttle level and the optimal specific impulse become decoupled by using the modified form of the homotopy function. Finally, the solution procedure of the homotopy method is summarized.

4.1 Trajectory optimization with a modified logarithmic homotopy function

The modified logarithmic homotopy function stems from altering the structure of Eq. (38). The fundamental idea is to eliminate the scaling of the logarithm term with the inverse square of the exhaust velocity. The resulting expression for the modified logarithmic homotopy function is in Eq. (43). Note that the two control variables become decoupled in the following calculations. In addition, the homotopy parameter \(\varepsilon \) is also added to the logarithmic term to make sure when \(\varepsilon = 0\), the performance index refers to fuel-optimal control.

With the modified logarithmic homotopy function, the performance index is formulated as

$$ J = \int_{t_{0}}^{t_{f}} \biggl[ \lambda_{0}2\eta P_{\max} \frac{u}{c^{2}} - \lambda_{0}\varepsilon \ln \bigl( u - u^{2} \bigr) \biggr]dt $$
(43)

where \(\varepsilon \) also decreases from 1 to 0. The Hamiltonian changes to

$$\begin{aligned} H &= \boldsymbol{\lambda}_{\boldsymbol{r}} \cdot \boldsymbol{v} + \boldsymbol{ \lambda}_{\boldsymbol{v}} \cdot \biggl( - \frac{\mu}{r^{3}}\boldsymbol{r} + \frac{2\eta P_{\max} u}{mc}\boldsymbol{\alpha} \biggr) - \lambda_{m} \frac{2\eta P_{\max} u}{c^{2}} \\ &\quad{} + \lambda_{0}\frac{2\eta P_{\max} u}{c^{2}} - \lambda_{0}\varepsilon \ln \bigl( u - u^{2} \bigr) \end{aligned}$$
(44)

where the last term no longer contains the exhaust velocity \(c\).

The Euler-Lagrange equations for the adjoint variables are as the same as Eqs. (18)–(20). The optimal thrust direction takes the same form as Eq. (15).

The parameter \(\bar{c}\), which is used to solve the optimal exhaust velocity, is changed to a simplified form

$$ \bar{c} = \frac{2m ( \lambda_{0} - \lambda_{m} )}{ \Vert \boldsymbol{\lambda}_{\boldsymbol{v}} \Vert } $$
(45)

which does not contain the optimal power throttle level \(u\). The optimal exhaust velocity is still calculated by Eq. (35). Moreover, the optimal power throttle level becomes

$$ u_{\mathit{opt}} = \frac{2\lambda_{0}\varepsilon}{\rho_{2} + 2\lambda_{0}\varepsilon + \sqrt{\rho_{2}^{2} + (2\lambda_{0}\varepsilon )^{2}}} $$
(46)

Thus far, the decoupled \(c_{\mathit{opt}}\) and \(u_{\mathit{opt}}\) (Eqs. (35), (45) and (46)) have been obtained by the modified logarithmic homotopy method for the variable-\(I_{sp}\) case.

4.2 Summary of the homotopy method

In summary, the solution procedure for fuel-optimal trajectories by the homotopy method contains 4 steps:

  1. Step 1:

    Set the homotopy parameter \(\varepsilon = 1\) and randomly guess the initial values of the normalized multipliers [\(\boldsymbol{\lambda}_{\boldsymbol{r}}(t_{0}); \boldsymbol{\lambda}_{\boldsymbol{v}}(t_{0}); \lambda _{m} (t_{0}); \lambda _{0}\)].

  2. Step 2:

    Use the nonlinear solver MinPack-1 (Powell 1970) to solve the shooting Eq. (25) to get the optimal initial values of the normalized multipliers for \(\varepsilon = 1\). In MinPack-1, a modification of Powell’s hybrid algorithm that is a combination of Newton’s method and the method of the gradient is implemented to solve nonlinear equations (Jiang et al. 2012). Another numerical method, where the analytic state transition matrix (Zhang et al. 2015) is computed, can also be employed to solve the shooting equation. If the shooting equation can be solved, then continue next steps. Otherwise, go back to Step 1 and conduct randomly guess again.

  3. Step 3:

    Decrease \(\varepsilon \) from 1 to 0 step by step. In each step, the resolved initial values in the previous step are taken as the guessed initial values for the current step and then MinPack-1 (Powell 1970) is used to solve the optimal initial values.

  4. Step 4:

    Return the optimal initial values when \(\varepsilon \) is almost zero and then output the fuel-optimal trajectory.

5 Numerical examples and results

In this section, Earth-Mars transfer missions are simulated to substantiate the feasibility and benefit of the proposed homotopy method. With the purpose of reducing the numerical sensitivity, a set of canonical units (AU, 1.49597870.66 km; yr, \(365.25\times86400~\mbox{s}\)) (Seidelmann 2005) is used for solving the shooting equation. The tolerance of MinPack-1 is set to \(1\times10^{-7}\). The heliocentric position and velocity of Earth and Mars are computed online by the Jet Propulsion Laboratory Horizons system.Footnote 1 The parameters of the boundary conditions are listed in Table 1.

Table 1 Parameters of boundary conditions for Earth-Mars transfer missions

The experimental data of NASA’s Evolutionary Xenon Thruster (NEXT) is employed in this paper. Mars missions with NEXT thruster have been investigated (Soulas et al. 2003). The basic parameters of NEXT thruster are as follows. The thruster efficiency is \(\eta = 0.68\). The maximum input power to the power processor is \(P^{\max}_{P} = 6.9~\mbox{kW}\). The solar array output power at 1 AU is \(P_{ \odot} = 10~\mbox{kW}\). The power allocated to operate the spacecraft systems is \(P _{L} = 400~\mbox{W}\). And the efficiency of the power processor is \(\eta _{P} = 0.94\). Empirical coefficients \(d _{1} \dots d _{5}\) in Eq. (10) are chosen as (Williams and Coverstone-Carroll 1997): \(d _{1} = 1.1063\), \(d _{2} = 0.1495\), \(d _{3} =-0.299\), \(d _{4} =-0.0432\) and \(d _{5} = 0\).

5.1 Application to the constant-\(I_{sp}\) trajectory optimization

In order to validate the correctness of our modified logarithmic homotopy function, we apply it to the constant-\(I _{sp}\) trajectory optimization problem since the commonly-used logarithmic homotopy function can be used for comparison. In this example, the value of the constant specific impulse is set to \(I _{sp} = 2500~\mbox{s}\). The homotopy coefficient \(\varepsilon \) decreases during the homotopy method and its history is [\(1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.02, 0.001, 0.0001, 0.0\)]. The homotopy processes by the commonly-used logarithmic homotopy function and the modified logarithmic homotopy function are depicted in Figs. 1 and 2.

Fig. 1
figure 1

Homotopy process by the commonly-used logarithmic homotopy function

Fig. 2
figure 2

Homotopy process by the modified logarithmic homotopy function

The two figures indicate that the homotopy method with the modified logarithmic homotopy function can be applied for the constant-\(I _{sp}\) case. Moreover, the homotopy processes by these two homotopy functions are almost the same. When \(\varepsilon \) is reduced to \(\varepsilon = 0.0\), the two figures show that they are exactly bang-bang control.

In addition, the fuel consumption is 362.495 kg by the commonly-used logarithmic homotopy function and it is 362.508 kg by the modified logarithmic homotopy function. The difference in the fuel consumption is only 0.013 kg. The computational time is 2.21 s and 2.05 s respectively by the commonly-used and modified logarithmic homotopy functions. The iteration numbers of both methods are the same. Therefore, the performance of these two homotopy functions is almost the same.

5.2 Application to the variable-\(I_{sp}\) trajectory optimization

Example 1

Mengali and Quarta (2005) have investigated 500-days Mars mission with a NEXT thruster. In their simulation example, the practical specific impulse of the NEXT thruster varies between \(I_{sp\min} = 2210~\mbox{s}\) and \(I_{sp\max}= 4100~\mbox{s}\) (Mengali and Quarta 2005; Soulas et al. 2003). On the basis of their study, we apply the proposed homotopy method to validate the feasibility and efficiency for the variable-\(I_{sp}\) case. The decreasing route of \(\varepsilon\) is [\(1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.02, 0.005, 0.001, 1.0\times10^{-4}, 1.0\times10^{-5}, 5.0\times10^{-6}, 1.0\times10^{-6}, 0.0\)].

The optimal transfer trajectory from Earth to Mars is shown in Fig. 3. The dash-dot lines denote Earth orbit and Mars orbit, the solid line represents the trajectory of spacecraft. The departure and rendezvous points are marked on the trajectory. Comparing with the optimal result of the specific impulse of Mengali and Quarta (2005), we get almost the same \(I _{sp}\)-profile as shown in Fig. 4. There are two burn phases and one coast arc. The corresponding thrust profile is sketched in Fig. 5. Figure 6 describes the remaining mass profile during the flight. The final mass \(m _{f}\) on the 500th day is approximately equal to 975 kg, which is close to the final mass of Mengali and Quarta (2005). The homotopy process by the modified logarithmic homotopy function is shown in Fig. 7. When \(\varepsilon \) is equal to 0.0, the result shows the optimal control becomes bang-bang control. The latter 100-times simulations prove the efficiency of our method with homotopy function. These results validate the feasibility of the proposed homotopy method.

Fig. 3
figure 3

The optimal trajectory from Earth to Mars for 500 days

Fig. 4
figure 4

The history of the optimal specific impulse for 500 days

Fig. 5
figure 5

The history of the optimal thrust for 500 days

Fig. 6
figure 6

The history of the remaining mass for 500 days

Fig. 7
figure 7

Homotopy process by the modified logarithmic homotopy function for 500 days

To validate the efficiency and robustness of our method, the example is simulated 100 times. In each simulation, the initial values of the 8 costate variables, which are restricted on a unit 8-D hypersphere under the normalization condition, are randomly guessed. The above-mentioned conditions such as \(\lambda _{0} > 0\) and \(\lambda _{m} (t _{0}) \geq 0\) are also considered. If the first initial guess does not lead to the convergent optimal solution, repeat the randomly guess until we obtain the convergent optimal one.

The result indicates that the initial values are converged to the same optimal solution for all simulations. The statistical result of the number of initial guesses in each simulation is shown in Fig. 8. From the statistical result, we find that the number of initial guesses of each simulation is no more than 6 times. About 70% of the simulations converge with the first guessed initial values. Approximately 99% of the simulations converge with the first five guessed initial values.

Fig. 8
figure 8

The efficiency in convergence by the modified logarithmic homotopy function

The results above demonstrate the proposed homotopy method is efficient and robust.

Example 2

In order to further verify the correctness of our method, many revolutions problem should be considered. The flight time in example 1 is changed to 1000 days. Other conditions are unaltered. Several steps are added into the decreasing route: [\(1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.02, 0.008, 0.005, 0.003, 0.001, 8.0\times10^{-4}, 5.0\times10^{-4}, 2.0\times10^{-4}, 5.0\times10^{- 5}, 1.0\times10^{-5},5.0\times10^{-6}, 1.0\times10^{-6}, 0.0\)].

Figure 9 presents the optimal transfer trajectory from Earth to Mars, which shows the 2-revolution transfer problem. The optimal control law for the specific impulse and the corresponding thrust profile are shown in Figs. 10 and 11, respectively. The value of the specific impulse is all the time constant and takes the maximum of the range because of the increment of the flight time. The number of the burn phases and the coast arcs increases as the thruster is turned on and off more frequently. The change of the remaining mass is described in Fig. 12. The total fuel consumption for 1000 days is 171 kg, which is about a half of the fuel consumption for the 500-day mission. The convergence process of the optimal control is depicted in Fig. 13. The optimal bang-bang control is shown when \(\varepsilon \) is equal to 0.0.

Fig. 9
figure 9

The optimal trajectory from Earth to Mars for 1000 days

Fig. 10
figure 10

The history the optimal specific impulse for 1000 days

Fig. 11
figure 11

The history of the optimal thrust for 1000 days

Fig. 12
figure 12

The history of the remaining mass for 1000 days

Fig. 13
figure 13

Homotopy process by the modified logarithmic homotopy function for 1000 days

6 Conclusion

In this paper, the homotopy method is adopted to solve the fuel-optimal problem for practical solar electric power-limited interplanetary transfers with variable-\(I _{sp}\) thruster. A modified logarithmic homotopy function has been proposed to overcome the difficulties caused by the two commonly-used homotopy functions. Decoupled expressions of both the optimal power throttle level and the optimal specific impulse have been derived by this homotopy function. The homotopy method based on this homotopy function and the normalization technique of the costate variables is proposed.

Numerical simulations of the Earth-Mars transfer examples have been conducted to validate the proposed homotopy method.

As for the special case where \(I _{sp}\) is constant, the results show that the modified logarithmic homotopy function has close performance in fuel consumption compared with the commonly-used logarithmic homotopy function. Moreover, the fuel optimal control profile and the homotopic process by both homotopy functions are similar. Therefore, the proposed logarithmic homotopy function can also be applied for the constant-\(I _{sp}\) case.

As for the variable-\(I _{sp}\) case, the fuel-optimal bang-bang control is successfully solved by the proposed homotopy method with the modified logarithmic homotopy function. The optimal specific impulse and the fuel consumption are close to those of Mengali and Quarta (2005). The more complicated example with 2 revolutions can also be solved with our method. These results demonstrate the feasibility and correctness of the proposed method. Moreover, 100 repetitive simulations are conducted to validate the efficiency and robustness. The results show that it converges to the same optimal solution in all simulations. For all simulations, the number of the randomly initial guess is no more than six. For about 70% of the simulations, only one randomly initial guess is required.