Introduction

As the development of the low-thrust technologies, the use of low-thrust propulsion becomes more realistic and frequent, such as in the missions Deep Space 1 [1], Hayabusa [2], SMART-1 [3], and the recent BepiColombo [4]. It allows a substantial reduction of propellant consumption owing to the higher specific impulse compared with that of the traditional chemical propulsion [5, 6]. However, the design of optimal low-thrust trajectories remains a challenging task, especially in the restricted three body problem, where multi-body dynamics is important and trajectories are highly sensitive to the initial values during the long-duration of the orbital transfer with many revolutions [7].

In the past decades, many methods have been proposed to solve low-thrust trajectory optimization problems in the Earth-Moon system, which can be categorized as direct methods and indirect methods. Direct methods convert the optimal control problem into a parameter optimization problem by appropriate discretization, and then a nonlinear programming problem solver is used to find the optimal solution. Various direct methods have been developed to solve such problems since 1990s, such as sequential quadratic programming based methods [8, 9], collocation or pseudo-spectral based methods [10,11,12,13], etc. Direct methods are straightforward and robust to accommodate complex conditions. However, the optimality of the obtained solutions is not guaranteed.

Unlike direct methods, indirect methods convert the optimal problem into a two-point boundary-value problem (TPBVP) according to the optimal control theory [14, 15], the solutions of which are guaranteed to be at least local extremals. The main disadvantages associated with TPBVP are that the convergence domain of the solution method is narrow and the solution is extremely sensitive to the initial unknowns [16, 17], especially for the low-thrust trajectory optimization problem in the Earth-Moon three-body problem. In the 1990s, Kluever proposed a hybrid direct/indirect approach, which utilizes the benefits of a direct method and an indirect method, to reduce the convergence sensitivity associated with the indirect method in the context of the classical restricted three-body problem [18, 19]. Gao also utilized the hybrid direct/indirect approach to design low-thrust Earth-Moon transfer trajectories, taking into consideration the shadow effects, the oblateness and the gravitational forces perturbations [20]. Russell developed a modified adjoint control transformation to estimate physical control variables instead of the initial costates in order to reduce problem sensitivity and provide more physical meaning[21]. Later, Howell also utilized the adjoint control transformation approach to construct preliminary designs for low-thrust transfers to the libration point orbits [22]. In 2012, a new initial costate estimation method was proposed to solve the specific energy-targeting problem defined in the Earth-Moon rotating system by [23], which can efficiently produce accurate initial guess sets. Recently, 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 [24,25,26], have also been utilized to overcome the above sensitivity problem. One of the most significant contributions to the homotopy method in trajectory optimization is that Bertrand built a regular controls by using different perturbed terms to increase the convergence radius, and developed the smoothing techniques for solving bang-bang control fuel-optimal problems [27]. Caillau proposed a homotopy method to solve minimum-time low thrust trajectory optimization problem in the circular restricted three-body problem (CRTBP), in which two homotopic parameters are introduced into the ratio of the primaries masses (or the position angle) and the thrust magnitude, respectively [28, 29]. Later, Caillau also studied the minimum-fuel problem in the CRTBP, in which the homotopic parameter is embedded into the performance index [30]. In 2015, Zhang revisited the minimum-time and minimum-fuel low thrust orbital transfer problems by homotopy methods in the CRTBP, following similar approaches as in [28, 29] with additional analytical derivatives and switching detection techniques [31]. Then the homotopy method was applied in the study of near Earth-objects capture mission incorporating low-thrust propulsion and invariant manifolds [32]. P\(\grave {\text {e}}\)rez-Palau designed minimum-fuel low-thrust transfers between a low Earth orbit and a Lunar orbit in the Sun-Earth-Moon Bicircular Restricted Four-Body Problem by combining the homotopy method and massive exploration [33]. Most of homotopy paths in these works are tracked using parameter continuation method, where the homotopic parameter was initiated at zero and monotonically increased to unity. This procedure is simple and straightforward, but only discontinuous homotopy paths can be obtained, and it might even fails around turning points. Although the pseudo-arclength method is used in other works, it is not guaranteed that the optimal solution of the original problem can be obtained along the continuous homotopy path from a single starting point, since it may fail midway or turn back to another starting point. It has been observed that the above homotopy methods only succeed when the solutions of the initial problem and the original problem share the same number of orbital revolutions, and it possibly fails if the revolution number of the initial problem differs from the one of the original problem [26, 29]. Thus, constructing homotopy methods with continuous homotopy path to solve the minimum-time low-thrust orbital transfer problem in the CRTBP still remains challenging.

In this paper, the parameter bounding homotopy method is utilized to design minimum-time low-thrust orbital transfer trajectories, by which the continuous homotopy path can be constructed and the solutions of the original problem are guaranteed to be found from a single starting point. As the general homotopy method mentioned above, the homotopic parameter is embedded into the thrust magnitude, which is designed to provide the starting solution of the initialized problem that can be easily solved. However, in the case of starting point multiplicity of the general homotopy method, there exist many separate homotopy path branches that run through the different starting points, and some of them fail to approach the solutions of the original problem. By taking the advantages of the parameter-bounding homotopy approach, which was proposed by Ref. [34] to force the homotopy path to stay inside the predefined homotopic parameter space, multiple separate homotopy path branches can be connected. Thus a continuous homotopy path can be constructed following the connected homotopy branches, which will eventually reach the solutions of the original problem. The solution multiplicity of the minimum-time problem in the CRTBP is studied since multiple solutions lie on different branches are obtained by tracking the homotopy path from a single starting point, and then the best solution with the least performance index is determined. It is more efficient than the complicated two-phase homotopy proposed in Ref. [35], in which a similar parameter bounding fixed-point homotopy is utilized to seek multiple solutions of the initialized problem in the first phase, and then another homotopy is required to track multiple homotopy paths starting from these initial solutions in the second phase.

This paper is organized as follows. In Section “Problem Formulation”, minimum-time orbital transfer problem in the CRTBP is formulated. In Section “?? ??”, details of the proposed bounding homotopy method are presented. The numerical demonstrations are provided in Section “?? ??”, in which the minimum-time transfer trajectories with a thrust-to-weight ratio in the order of 10− 5N/kg are obtained by the proposed homotopy method from a single starting point.

Problem Formulation

The CRTBP studies the motion of a spacecraft P3, moving under the gravity of the two primary bodies P1 and P2 in the same plane. The two primaries of masses m1 and m2 move in circular orbits around their center of mass at constant angular speed, and the motion of them will not be affected by the spacecraft. The equations of motion are formulated in a rotating synodic reference, which has the origin at the center of mass of P1 and P2, the x-axis aligned along P1P2 direction, and the z-axis parallel to the angular momentum. For better numerical conditioning, the equations of motion are normalized. The nondimensionalization is such that the distance between the primaries and their angular velocity are set to unity, exactly as 1 LU = 3.84405 × 105 km, 1 TU = 3.75676967 × 105 s in the Earth-Moon system. With the nondimensionalization, the system depends only on the mass parameter, defined as μ = m2/(m1 + m2). Thus, Earth and Moon are located at (−μ,0) and (1 − μ,0), respectively. The nondimensional equations of motion of the spacecraft under the gravitational influence of the two primaries are given by

$$ \begin{array}{@{}rcl@{}} \dot{\boldsymbol{r}} &=& \boldsymbol{v} \end{array} $$
(1)
$$ \begin{array}{@{}rcl@{}} \dot{\boldsymbol{v}} &=& \boldsymbol{g}(\boldsymbol{r}) + \boldsymbol{h}(\boldsymbol{v})+\frac{u T_{max}}{m} \boldsymbol{\alpha} \end{array} $$
(2)
$$ \begin{array}{@{}rcl@{}} \dot{m} &=& -\frac{T_{max} u}{I_{sp} g_{0}} \end{array} $$
(3)

where r = [x,y,z]T and v = [vx,vy,vz]T are the spacecraft’s position and velocity vectors, respectively, m is the mass of the spacecraft, Tmax is the thrust magnitude, Isp is the thruster specific impulse, and g0 is the standard acceleration of gravity at sea level. The control variables consist of the throttle factor u ∈ [0,1] and the unit vector of thrust direction α. Besides, the functions g(r) and h(v) are defined by

$$ \begin{array}{@{}rcl@{}} \boldsymbol{g}(\boldsymbol{r}) &=& -\left[\frac{\partial{U}} {\partial{x}}, \frac{\partial{U}} {\partial{y}}, \frac{\partial{U}} {\partial{z}} \right]^{T} \end{array} $$
(4)
$$ \begin{array}{@{}rcl@{}} \boldsymbol{h}(\boldsymbol{v}) &=& \left[ 2v_{y}, -2 v_{x}, 0 \right]^{T} \end{array} $$
(5)
$$ \begin{array}{@{}rcl@{}} U(x,y,z) &=& -\frac{1}{2} (x^{2}+y^{2})-\frac{1-\mu}{r_{1}}-\frac{\mu} {r_{2}}-\frac{1}{2}(1-\mu)\mu \end{array} $$
(6)

where \(r_{1} = \sqrt {(x+\mu )^{2}+y^{2}+z^{2}}\) and \(r_{2} = \sqrt {(x-1+\mu )^{2}+y^{2}+z^{2}}\) represent the distances between spacecraft to the Earth and Moon, respectively, and U is the effective potential.

To minimize the transfer time, the corresponding performance index is expressed by

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

where t0 and tf are the initial and terminal flight time, respectively. Based on the optimal control theory [14], the Hamiltonian is given as follows:

$$ H={\boldsymbol{\lambda}_{r}^{T}} \boldsymbol{v}+{\boldsymbol{\lambda}_{v}^{T}} \left[\boldsymbol{g}(\boldsymbol{r})+\boldsymbol{h}(\boldsymbol{v})+\frac{u T_{max}}{m} \boldsymbol{\alpha} \right] - \lambda_{m} \frac{T_{max} u}{I_{sp} g_{0}} +1 $$
(8)

where \(\boldsymbol {\lambda }_{r} =[\lambda _{x}, \lambda _{y}, \lambda _{z}]^{T}\), \(\boldsymbol {\lambda }_{v} = [\lambda _{v_{x}}, \lambda _{v_{y}}, \lambda _{v_{z}}]^{T}\) and λm are the costate vectors associated with r, v and m, respectively. To minimize the Hamiltonian, the optimal thrust direction and magnitude are determined as follows [28, 31]:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{\alpha}^{\ast} &=& -\frac{\boldsymbol{\lambda}_{v}}{\left\| {\boldsymbol{\lambda}_{v}} \right\|} \end{array} $$
(9)
$$ \begin{array}{@{}rcl@{}} u^{\ast} &=& 1 \end{array} $$
(10)

Then the governing differential equations of costate are given as

$$ \begin{array}{@{}rcl@{}} \dot{\boldsymbol{\lambda}}_{r} &=& -\left( \frac{\partial{\boldsymbol{g}(\boldsymbol{r})}}{\partial{\boldsymbol{r}}} \right)^{T} \boldsymbol{\lambda}_{v} \end{array} $$
(11)
$$ \begin{array}{@{}rcl@{}} \dot{\boldsymbol{\lambda}}_{v} &=& -\boldsymbol{\lambda}_{r}-\left( \frac{\partial{\boldsymbol{h}(\boldsymbol{v})}} {\partial{\boldsymbol{v}}} \right)^{T} \boldsymbol{\lambda}_{v} \end{array} $$
(12)
$$ \begin{array}{@{}rcl@{}} \dot{\boldsymbol{\lambda}}_{m} &=& -\frac{T_{max} \left\| {\boldsymbol{\lambda}_{v}} \right\|}{m^{2}} \end{array} $$
(13)

For the trajectory optimization problem, k dimensional equality constraints that combine the boundary conditions both at initial time and terminal time must be satisfied, which are imposed in the form of

$$ \boldsymbol{\psi }(\boldsymbol{x}(t_{0}),\boldsymbol{x}(t_{f}),t_{0},t_{f}) = \boldsymbol{0} $$
(14)

Then the corresponding transversality conditions are derived as follows:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{\lambda}(t_{0}) + \frac{\boldsymbol{\chi} \cdot \partial{\boldsymbol{\psi }}}{\partial{\boldsymbol{x}(t_{0})}}&=&\boldsymbol{0} \end{array} $$
(15)
$$ \begin{array}{@{}rcl@{}} -\boldsymbol{\lambda}(t_{f}) + \frac{\boldsymbol{\chi} \cdot \partial{\boldsymbol{\psi }}}{\partial{\boldsymbol{x}(t_{f})}}&=&\boldsymbol{0} \end{array} $$
(16)
$$ \begin{array}{@{}rcl@{}} -H(t_{0}) + \frac{\boldsymbol{\chi} \cdot \partial{\boldsymbol{\psi }}}{\partial{t_{0}}}&=&0 \end{array} $$
(17)
$$ \begin{array}{@{}rcl@{}} H(t_{f}) + \frac{\boldsymbol{\chi} \cdot \partial{\boldsymbol{\psi }}}{\partial{t_{f}}}&=&0 \end{array} $$
(18)

where χ is k dimensional numerical multiplier, λ = [λr;λv;λm] and x = [r;v;m].

Thus the trajectory optimization problem is converted into a TPBVP, the solutions of which can be obtained by the shooting method. The unknown variables consist of the numerical multiplier χ, the initial time t0 and the terminal time tf, the states and costates at either the initial time or the terminal time. Meanwhile, there are equations with the same dimension, consisting of the boundary conditions in Eq. 14 and the transversality conditions in Eqs. 1518. Note that it is not necessary to solve all these variables when solving a specific problem, since some of them can be removed by appropriate transformations. For example, the initial time t0 is removed by setting t0 = 0, and the transversality condition in Eq. 17 no longer exists since t0 is fixed. Besides, the multiplier χ is usually eliminated by transforming boundary constraints and transversality conditions, which will be introduced in the numerical demonstration.

Although the TPBVP can be solved theoretically by the shooting method, it is difficult to find the solutions due to the strong nonlinearity of CRTBP. Therefore, the homotopy method is used to solve the low-thrust problem in this paper.

Parameter Bounding Homotopy Method

Homotopy methods have long served as useful tools to find extremals of low-thrust trajectory optimization problems, most of which are focused on the two-body problem [26, 36,37,38,39,40,41,42,43]. The main principle is to track the homotopy path with the aid of the homotopic parameter κ, from a known solution y0 of the initialized problem at κ = 0 to the optimal solution y of the original problem at κ = 1. The homotopy function is typically defined by

$$ \boldsymbol{\Gamma}(\boldsymbol{y},\kappa)=\kappa \boldsymbol{F}(\boldsymbol{y}) + (1-\kappa) \boldsymbol{G}(\boldsymbol{y}) $$
(19)

where yRn denotes the combination of unknown variables, \(\boldsymbol {F}:R^{n} \rightarrow R^{n}\) and \(\boldsymbol {G}:R^{n} \rightarrow R^{n}\) are shooting functions of the original problem and the initialized problem, respectively. Depending on the selection of the function G(y), different kinds of homotopy can be designed, parts of which are concluded in Ref. [26]. The difficulty in low-thrust transfer trajectory optimization is mainly on account of the narrow convergence domain since it is sensitive to the disturbance of the initial value during the long-term transfer. It is relatively easier to solve the problem with higher thrust magnitude and shorter transfer time. Therefore, the problem is usually solved by continuation of thrust magnitude, regarding the minimum-time low-thrust transfer problem as the original problem and the similar transfer problem with a high thrust magnitude as the initialized problem. Although Refs. [28, 29, 31] proposed several homotopy methods to design minimum-time low-thrust trajectories in the CRTBP, it is usually not guaranteed that the optimal solution of the original problem can be obtained along the homotopy path by these methods. In this paper, the parameter bounding homotopy approach is proposed to solve minimum-time low-thrust orbital transfer problems in the CRTBP, in which an initialized problem with much higher thrust is constructed and a parameter bounding homotopy approach is utilized to connect separated homotopy branches outside the predefined homotopic parameter. Thus by utilizing the proposed homotopy method, the optimal solution of the original problem can be guaranteed to be found from a single solution of the initialized problem.

Homotopy on thrust magnitude

The initialized problem of the proposed homotopy method is constructed by embedding the homotopic parameter into the thrust magnitude, based on the observation that it is relatively easier to solve this optimal control problem with higher thrust magnitude. By introducing the homotopic parameter κ into the thrust magnitude, the equations of motion of the spacecraft in the rotating frame becomes

$$ \begin{array}{@{}rcl@{}} \dot{\boldsymbol{r}} &=& \boldsymbol{v} \end{array} $$
(20)
$$ \begin{array}{@{}rcl@{}} \dot{\boldsymbol{v}} &=& \boldsymbol{g}(\boldsymbol{r}) + \boldsymbol{h}(\boldsymbol{v})+\left[(1-\kappa) T_{L} + \kappa T_{max}\right] \frac{u }{m} \boldsymbol{\alpha} \end{array} $$
(21)
$$ \begin{array}{@{}rcl@{}} \dot{m} &=& -\left[(1-\kappa) T_{L} + \kappa T_{max}\right] \frac{u }{I_{sp} g_{0}} \end{array} $$
(22)

where TL is a sufficiently high thrust magnitude. With the above equations of motion and the performance of minimum-time, the Hamiltonian is rewritten as

$$ H={\boldsymbol{\lambda}_{r}^{T}} \boldsymbol{v}+{\boldsymbol{\lambda}_{v}^{T}} \left[\boldsymbol{g}(\boldsymbol{r})+\boldsymbol{h}(\boldsymbol{v}) \right] + \left[(1-\kappa) T_{L} + \kappa T_{max}\right] u \left( \frac{{\boldsymbol{\lambda}_{v}^{T}} \boldsymbol{\alpha} }{m} - \frac{\lambda_{m} }{I_{sp} g_{0}} \right) +1 $$
(23)

The optimal thrust direction vector α and thrust magnitude u remain the same as in Eqs. 910. The corresponding differential equations of λr and λv are independent of the thrust magnitude and consistent with that in Eqs. 1112, and the differential equation of λm becomes

$$ \dot{\boldsymbol{\lambda}}_{m} = -\frac{\left[(1-\kappa) T_{L} + \kappa T_{max}\right] \left\| {\boldsymbol{\lambda}_{v}} \right\|}{m^{2}} $$
(24)

For the above homotopy approach, each subproblem with the homotopic parameter κ ranging from 0 to 1 is a minimum-time problem with thrust Tm = (1 − κ)TL + κTmax. The solution of the original problem with Tm = Tmax is expected to be obtained by increasing κ from 0 to 1, which usually can’t be achieved.

Homotopy methods consist not only of the homotopy function, but also the homotopy path tracking methods. The most commonly used methods for tracking the homotopy path are discrete parameter continuation method and continuous pseudo-arclength method.

As illustrated in Fig. 1, the homotopic parameter κ of the parameter continuation method is increased monotonically from 0 to 1, and the solution yi at a value of κi is used as the initial guess \(\widetilde {\boldsymbol {y}}_{i+1}\) for the iterative solution process at κi+ 1. Although it is extensively used in aerospace applications, the parameter continuation method also has drawbacks: 1). The homotopy procedure may fail around the turning points since the initial guess \(\widetilde {\boldsymbol {y}}_{i+1}\) at κi+ 1 is far from the solution yi+ 1; 2). The solution may jump from one branch to another, as illustrated in Fig. 1, the solution yi jumps from c2 branch to c1 branch; 3). At most one solution to the original problem can by obtained.

Fig. 1
figure 1

Geometric interpretation of parameter continuation method

The pseudo-arclength method is one of the continuous homotopy methods that have yielded extremely important contributions towards numerical solutions of nonlinear systems and is proved to be a robust predictor-corrector curve tracking method. This method is capable to circumvent the turning points by taking the unit direction tangent to the curve as prediction, and the convergence is guaranteed if the predictor step length is sufficiently small. Suppose a solution yi of Γ(κi,y) = 0 is already obtained, the unit tangent vector of the curve at (κi,yi) is defined as

$$ \boldsymbol{I}_i = \frac{(\dot{\boldsymbol{y}}_{i}^{T} \dot{\kappa}_{i})^{T}}{\parallel \dot{\boldsymbol{y}}_{i}^{T} \dot{\kappa}_{i} \parallel} = (\dot{\overline{\boldsymbol{y}}}_{i}^{T} \dot{\overline{\kappa}}_{i})^{T} $$
(25)

where \((\dot {\kappa }_{i}, \dot {\boldsymbol {y}}_{i})\) is the tangent vector of the curve at (κi,yi). As illustrated in Fig. 2, take a steplength Δs in the direction of Ii to form a plane that is perpendicular to Ii, and then the next solution point (κi+ 1,yi+ 1) is sought in this plane. This process amounts to solve the following nonlinear equations

$$ \begin{array}{@{}rcl@{}} \boldsymbol{\Gamma}(\kappa,\boldsymbol{y}) & = &0 \end{array} $$
(26)
$$ \begin{array}{@{}rcl@{}} (\boldsymbol{y}-\boldsymbol{y}_{i})^{T} \dot{\overline{\boldsymbol{y}}}_i + (\kappa-\kappa_{i}) \dot{\overline{\kappa}}_{i} - {\Delta} s &=& 0 \end{array} $$
(27)
Fig. 2
figure 2

Geometric interpretation of pseudo-arclength continuation method

When the continuous pseudo-arclength method is adopted, the homotopy curve can be tracked no matter how many turning points encountered. However, the solution to the original problem is not guaranteed, since that the homotopy curve may turn around at the turning point and then gradually tends to negative infinity, as shown by the curve c2 in Fig. 2. Thus in this paper, the parameter-bounding homotopy approach is introduced to tackle these difficulties by constructing connections between separate homotopy path branches.

Parameter-Bounding Homotopy

Once the initialized problem is solved, the parameter-bounding homotopy approach is utilized to bound the homotopy path inside of the predefined homotopic parameter space κ ∈ [0,1]. From a mathematical viewpoint, the homotopy is defined for all parameter \(\kappa \in (-\infty ,\infty )\). In the proposed homotopy method, the reasons to bound the homotopy parameter space κ ∈ [0,1] are: 1) the values between κ = 0 and κ = 1 are important as they are connections between the solutions of the initialized and the original problems; 2) the homotopy path may run outside the homotopy parameter space and never come back; 3) it may make long unnecessary curves outside the homotopy parameter space of interest, even though the homotopy path may come back [34, 35, 44].

A general homotopy method that includes parameter bounding can be formulated as

$$ \boldsymbol{\Gamma}_{b}(\kappa, \boldsymbol{y})=\pi(\kappa) \left[\kappa \boldsymbol{F}(\boldsymbol{y})+(1-\kappa)\boldsymbol{G}(\boldsymbol{y}) \right] +\boldsymbol{\upsilon}_{\kappa}(\kappa)-\boldsymbol{\upsilon}_{\kappa}(\kappa_{b}) $$
(28)

where π(κ) is the penalty function that annihilates the standard homotopy function Γb whenever the path runs outside the predefined space, and it is defined by

$$ \begin{array}{@{}rcl@{}} \pi(\kappa) \!&=&\! 1 - \rho(|\kappa-\kappa_{b}|,\delta) \end{array} $$
(29)
$$ \begin{array}{@{}rcl@{}} \rho(|\kappa-\kappa_{b}|,\delta) \!&=&\! \left\{\begin{array}{ll} a_{5} |\kappa-\kappa_{b}|^{5} \!+ a_{4} |\kappa-\kappa_{b}|^{4} \!+ a_{3} |\kappa\!-\kappa_{b}|^{3}, & |\kappa-\kappa_{b}| \!\leqslant\! \delta \\ 1, & |\kappa-\kappa_{b}| \!>\! \delta \end{array}\right. \end{array} $$
(30)

where δ is a positive constant measuring the width of the bounding zone. The function \(\boldsymbol {\upsilon }_{\kappa }: R^{n} \rightarrow R^{n}\) is the auxiliary function utilized to compensate the annihilation. When the function values of F(y) have the same order of magnitude, the auxiliary function can be formed as

$$ \boldsymbol{\upsilon}_{\kappa}(\kappa)=M\kappa \boldsymbol{e} $$
(31)

where eRn is a column vector where every element has the value of one, and the numeric value of the coefficient \(M \in (-\infty ,\infty )\) needs to be selected properly depending on the problem to be solved. Then the following expression of the parameter-bounding homotopy is achieved

$$ \boldsymbol{\Gamma}_{b}(\kappa, \boldsymbol{y})=\pi(\kappa) \left( \kappa \boldsymbol{F}(\boldsymbol{y})+(1-\kappa)\boldsymbol{G}(\boldsymbol{y}) \right) + M(\kappa - \kappa_{b}) \boldsymbol{e} $$
(32)

Since the homotopic parameter κ is an artificial parameter without physical meaning, [0,1] is selected as the domain that the homotopic parameter is forced to run inside of it. In Eq. 30, the parameters are set to a5 = 6/δ5, a4 = − 15/δ4, a3 = 10/δ3 and δ = 1. Therefore, the parameter κb is defined as that in Ref. [34]

$$ \kappa_b = \kappa-\left( 6|\kappa-\kappa_{b}^{\prime}|^5 - 15 |\kappa-\kappa_{b}^{\prime}|^4 +10 |\kappa-\kappa_{b}^{\prime}|^3 \right) \left( \kappa- \kappa_{b}^{\prime} \right) $$
(33)

where the parameter \(\kappa _{b}^{\prime }\) is defined as

$$ \kappa_{b}^{\prime} = \left\{\begin{array}{ll} 0, & \kappa<0 \\ \kappa, & 0\leq \kappa \leq 1\\ 1, & \kappa>1 \end{array}\right. $$
(34)

The penalty function π(κ) generates a scalar value, which is determined by

$$ \pi(\kappa) = 1 -\left( 6|\kappa-\kappa_{b}|^{5} - 15 |\kappa-\kappa_{b}|^{4} +10 |\kappa-\kappa_{b}|^{3} \right), \quad -1 \leqslant \kappa \leqslant 2 $$
(35)

The graph for π(κ) and (κκb) is presented in Fig. 3, which shows that both the penalty function and the auxiliary function are continuously differentiable. With these assumptions, the bounded homotopy method Γb(κ,y) coincides with standard homotopy \(\left [\kappa \boldsymbol {F}(\boldsymbol {y})+(1-\kappa )\boldsymbol {G}(\boldsymbol {y}) \right ]\) when the parameter κ ∈ [0,1]. Under the effect of the penalty function and the auxiliary function, κ is forced to move back whenever the homotopy path runs outside the predefined domain. As illustrated in Fig. 4, the connections between separated branches of the homotopy path are built by the segments in the bounding zone, which can be changed by selecting different value of the coefficient M. Therefore, the multiple solutions to the original problem at κ = 1 are obtained by tracking the homotopy path starting from a single initial point y0.

Fig. 3
figure 3

The variations of the penalty function π(κ) and the term (κκb) in the auxiliary function

Fig. 4
figure 4

Illustrations of the parameter-bounding homotopy method

In the process of homotopic prediction and correction, the convergence rate is affected by the magnitude of the unknown variables, i.e., the larger of the magnitude, the slower the convergence rate. The costates in the variables have no physical meaning, and their value can be on the order of 103 in the homotopy, which is much larger than other variables. In order to facilitate variables bounding within a narrow bounding zone while enabling accurate path tracking, Ref. [34] applied variables mapping to map the original finite variables into the infinite variables space. In this paper, variables mapping is used to make the orignal infinite variables mapped into the finite variables space to improve calculation efficiency. The mapping from the original infinite space into the finite space is carried out as follows

$$ {y_{i}^{m}} = \left\{\begin{array}{ll} \log_{10} \left[ \frac{b_{i}^{max}-b_{i}^{min}}{2 (b_{i}^{max} - y_{i}) } \right], & y_{i} \leq \frac{b_{i}^{max}-b_{i}^{min}}{2} \\ \log_{10} \left[ \frac{2 (y_{i}-b_{i}^{min})}{b_{i}^{max}-b_{i}^{min}} \right], & y_{i} > \frac{b_{i}^{max}-b_{i}^{min}}{2} \end{array}\right. $$
(36)

where yi denotes the unknown costate, \({y_{i}^{m}}\) is the mapped finite variable, the maximum \(b_{i}^{max}\) and minimum \(b_{i}^{min}\) values are the upper limit and lower limit of variable yi, respectively. The mapped variables are only used as the shooting variables, and should be converted into the original variables before integrating the equations of motion in the shooting function. The mapping from the finite space to the original space is carried out as follows

$$ y_{i} = \left\{\begin{array}{ll} b_{i}^{max}-\frac{1}{2}(b_{i}^{max}-b_{i}^{min}) \left/ 10^{{y_{i}^{m}}} \right., &{y_{i}^{m}} \leq 0 \\ b_{i}^{min}+\frac{1}{2}(b_{i}^{max}-b_{i}^{min}) \times 10^{{y_{i}^{m}}}, &{y_{i}^{m}} > 0 \end{array}\right. $$
(37)

Figure 5 shows the relation between the original variable yi and the mapped variable \({y_{i}^{m}}\) when \(b_{i}^{min} = -10\) and \(b_{i}^{max} = 10\). Even if the original variable is really large, the mapped variable remains a small value, thus the convergence efficiency in the homotopy path tracking is improved.

Fig. 5
figure 5

The relationship between the original infinite variable yi and the mapped finite variable \({y_{i}^{m}}\)

Numerical Demonstration

In this section, two numerical examples of the minimum-time problem in the CRTBP are provided to demonstrate the effectiveness of the proposed homotopy method, which are the planar transfers from a geosynchronous orbit (GEO) toward an orbit around the moon, referred to as MO, and spatial transfers from a geostationary transfer orbit (GTO) to an L1 halo orbit.

Transfers from a GEO to a MO

The moon’s gravity has a negligible effect on the spacecraft in near-Earth space, and the gravity of the Earth and the moon affects the spacecraft simultaneously mainly in the transfer segment, not in the escape segment and the capture segment. Therefore, the GEO is selected as the initial orbit rather than a low-Eath orbit. Since both the initial GEO and terminal MO are located in the xy plane, the optimal transfers are also located in the xy plane, and thus it can be regarded as a special case of CRTBP, that is, the planar CRTBP. The similar scenario is studied in Ref. [29], and the difference is that the mass variation is considered, and the transfers with lower thrust magnitude are obtained in this paper. The physical constants used in this paper are summarized in Table 1, and the parameters in this example are provided in Table 2, both of radius and velocity of GEO and MO are the same as those in Ref. [29]. The initial mass of the spacecraft is m0 = 1500 kg, and the thrust magnitude is Tmax = 0.5 N. Thus, the initial thrust-to-weight ratio is 3.3333 × 10− 4 m/s2.

Table 1 Physical constants
Table 2 Parameters for the transfers from a GEO to a MO

At the initial time t0, the spacecraft is located in a planar GEO orbit, which can be determined by

$$ \boldsymbol{x}_{0} = \left[r_{geo} \cos \theta_{0} - \mu, r_{geo} \sin \theta_{0}, 0, -v_{geo} \sin \theta_{0}, v_{geo} \cos \theta_{0}, 0 \right]^{T} $$
(38)

where the subscript 0 denotes the initial time, rgeo and vgeo are the nondimensional radius and velocity of the GEO, respectively, and 𝜃0 denotes the free position of the spacecraft on the GEO. At the terminal time tf, the state of the spacecraft is determined as follows

$$ \boldsymbol{x}_{f} = \left[r_{mo} \cos \theta_{f} + 1 - \mu, r_{mo} \sin \theta_{f}, 0, -v_{mo} \sin \theta_{f}, v_{mo} \cos \theta_{f}, 0 \right]^{T} $$
(39)

where the subscript f denotes the final time, rmo and vmo are the radius and velocity of the MO, respectively, and 𝜃f denotes the free position of the spacecraft on the MO. The positive and negative signs in Eq. 39 indicate that the spacecraft can run either anti-clockwise or clockwise in the moon orbit. Ref. [29] pointed out that the transfers can be classified into three types according to the growth in energy, as shown in Fig. 6, among which the type \({\mathscr{I}}_{2}\) requires the least transfer time. Therefore, only the type \({\mathscr{I}}_{2}\) is studied in this paper, that is the transfers arrive to the MO anti-clockwise.

Fig. 6
figure 6

Three different types of transfer trajectories from GEO to MO

Since the optimal transfers from a GEO to a MO are transfers in the xy plane, the components in z-axis are ignored, that is \(z = v_{z} = \lambda _{z} = \lambda _{v_{z}} = 0\). In the calculation, the transfer trajectories are integrated backward in time, and the states xf and costates λf at the terminal time are selected as the shooting variables. Besides, the terminal states xf are determined by the angle 𝜃f in Eq. 39, and two transversallity conditions are deduced as follows based on Eq. 16:

$$ \begin{array}{@{}rcl@{}} (x_{f}+\mu-1) \lambda_{yf}-y_{f} \lambda_{xf} + v_{xf} \lambda_{v_{y}f} - v_{yf} \lambda_{v_{x}f} &=& 0 \end{array} $$
(40)
$$ \begin{array}{@{}rcl@{}} \lambda_{mf} &=& 0 \end{array} $$
(41)

Therefore, the mutiplier χ is eliminated, leaving only 6 unknowns, which are \(\boldsymbol {y}=[\theta _{f}, \lambda _{xf}, \lambda _{yf}, \lambda _{v_{x}f}, m_{f}, t_{f}]^{T}\). Equations 4041 are not parts of shooting function, but are utilized to determine the terminal costates \(\lambda _{v_{y}f}\) and λmf. The initial state constraints in Eq. 38 are rewritten as

$$ \begin{array}{@{}rcl@{}} (x_{0}+\mu)^{2}+{y_{0}^{2}} - r_{geo}^{2} &=& 0 \end{array} $$
(42)
$$ \begin{array}{@{}rcl@{}} v_{x0}^{2}+v_{y0}^{2} - v_{geo}^{2} &=& 0 \end{array} $$
(43)
$$ \begin{array}{@{}rcl@{}} (x_{0}+\mu) v_{x0} + y_{0} v_{y0} &=& 0 \end{array} $$
(44)

Another transversality condition is obtained as

$$ (x_{0}+\mu) \lambda_{y0} - y_{0} \lambda_{x0} + v_{x0} \lambda_{v_{y}0} - v_{y0} \lambda_{v_{x}0} = 0 $$
(45)

Thus the shooting function consists of the initial state constraints Eqs. 4244, the initial transversality condition Eq. 45, the dimensionless initial mass m0 = 1 and the terminal transversality condition Hf = 0.

Following the principle of the proposed homotopy method, the initialized problem is constructed with a relatively large thrust magnitude TL = 10 N, the optimal solution of which can be easily obtained by the simple shooting method as follows:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{y}^{0} &=& [5.33485775, 3.10222581, -3.58290814, 0.30848977, 0.84617353,\\ &&1.20624302]^{T} \end{array} $$
(46)

Figure 6b shows the corresponding optimal transfer trajectory, which takes only one revolution to complete the transfer, and the transfer time is 5.2384 days.

The proposed homotopy method is implemented with the optimal solution of the initialized problem as the starting point. It is observed that the homotopic parameter κ increases along the homotopy path firstly, and then the path turns back to (κ,tf) = (0,2.3126) after several turning points encountered. Then the part of κ < 0 in the homotopy path is mainly affected by the coefficient M, and different homotopy paths can be formed by changing the value of M. Several paths starting from the point (κ,tf) = (0,2.3126) and moving in the negative direction are provided in Fig. 7, in which M is set to {− 100,− 10,0,10,100}, respectively. As illustrated in Fig. 7, for the unbounded homotopy path with M = 0, there is no turning point encountered and κ gradually tends to negative infinity along the path. Besides, the shape of the unbounded homotopy path is changed by the sign of the coefficient M. When M takes a positive value, the homotopy path turns upward and then returns to κ = 0 after encountering a turning point, while when M is negative, the homotopy path turns downward and then also returns to κ = 0. Thus the bounded paths with M = {10,100} and M = {− 100,− 10} are above and below the unbounded path, respectively. Furthermore, the absolute numerical value of M has an effect on the arclength of the bounded homotopy path, i.e., the arclengths of these curves with M = 100 and M = − 100 are shorter than that with M = 10 and M = − 10, respectively. Although Ref. [34] presented that different solutions can be approached from a selected starting point by changing the value of M, Fig. 7 shows that all of these four paths with M = {− 100,− 10,10,100} reach the same point (κ,tf) = (0,2.3103). These examples clearly demonstrate that the connections between multiple solutions to this problem can be constructed by non-zero value of M. In order to make the segments of κ < 0 in homotopy paths clearly displayed in the following figures, M = 10 is selected since this curve has the longest arclength.

Fig. 7
figure 7

The homotopy paths with different coefficient M values starting from (0, 2.41557206)

The complete homotopy curve of tf with M = 10 is provided in Fig. 8, and it clearly illustrates that the optimal solution of the original problem with Tmax = 0.5 N can be obtained. As illustrated in Fig. 8b, the first turning point occurs at (κ,tf) = (0.8207,3.9988), and many more turning points are encountered before the path turns back to another solution at κ = 0. As illustrated in Fig. 8c, once the homotopy path wanders outside of the predefined domain, the parameter-bounding approach takes effect and forces the homotopy path to return the predefined domain. Note that if the homotopy path tracking is continued after the homotopy path reaches κ = 1, more intersections with κ = 1 will be obtained. As illustrated in Fig. 8d, 4 intersections between the complete homotopy curve and κ = 1 are obtained, and then the homotopy path tracking is terminated after the fourth intersection. Each point on the homotopy curve in the domain κ ∈ [0,1] is a solution to the subproblem with Tm = κTmax + (1 − κ)TL. However, the solutions are local extremals since only the first-order necessary conditions for optimality are considered. As shown in Fig. 8, the homotopy curve self-intersects many times. By connecting the segments between adjacent intersections in the domain κ ∈ [0,1], a new curve is constructed, referred to as best curve, and each solution on this curve is the best solution with the least performance index.

Fig. 8
figure 8

Homotopy curve of the transfer time tf(κ) in the example of GEO-to-MO transfers

Figure 9 illustrates the final mass mf along the homotopy path. For the minimum-time problem, the optimal thrust magnitude reveals that the thruster must keep the maximum value, and the fuel consumption is proportional to the transfer time. These solutions on the best curve consume less fuel and remain more final mass than the other solutions. The final mass of the spacecraft varies between 1629.26 kg and 1349.80 kg along the best curve with the thrust magnitude decreases from 10 N to 0.5 N.

Fig. 9
figure 9

Homotopy curve of the final mass mf(κ) in the example of GEO-to-MO transfers

The homotopy path of the unknown variable 𝜃f is illustrated in Fig. 10. 𝜃f is a small value when TL = 10 N since the spacecraft enters the target orbit quickly, and it is a relatively larger value when Tmax = 0.5 N since it takes time to reduce the energy. The angle 𝜃0, which represents the initial position on the GEO, is obtained on the bases of the assumption that L1 is located in the direction of 𝜃0 = 0, and the initial position on the GEO is 𝜃0 < 0. The curve of 𝜃0 along the homotopy path is illustrated in Fig. 11. The revolutions of transfers near the Earth in the rotating frame Υrot can be denoted by 𝜃0 divided by 2π. Then the revolutions of transfers in the Earth-centered inertial frame Υint is obtained by adding the rotational angle of the rotating frame to Υrot, and the curve of Υint is plotted in Fig. 12.

Fig. 10
figure 10

Homotopy curve of the angle 𝜃f in the example of GEO-to-MO transfers

Fig. 11
figure 11

The variation of 𝜃0 with κ in the example of GEO-to-MO transfers

Fig. 12
figure 12

The variation of revolutions Υint with κ in the Earth-centered inertial frame

Among these 4 solutions with Tmax = 0.5 N, the 3rd one has the minimum transfer time and maximum final mass, thus it is taken as the best solution y

$$ \begin{array}{@{}rcl@{}} \boldsymbol{y}^{\ast} &=& [4.44648843, -22.66443402, -79.28502018, 5.61514028, 0.89935984,\\ &&15.78224662]^{T} \end{array} $$
(47)

Figures 13 and 14 plot the optimal transfer trajectory in the rotating frame and in the Earth-centered inertial frame, respectively, with the transfer time of 68.5380 days and the fuel consumption of 150.96 kg. In the rotating frame, the spacecraft takes about 20 revolutions around the Earth and 2 revolutions around the moon, and in the Earth-centered inertial frame, the complete transfer trajectory takes about 23 revolutions.

Fig. 13
figure 13

The minimum-time GEO-to-MO transfer trajectory with Tmax = 0.5 N: rotating frame

Fig. 14
figure 14

The minimum-time GEO-to-MO transfer trajectory with Tmax = 0.5 N: Earth-centered inertial frame

It should be noted that in the region with κ < 0, the constraints of shooting function is changed by the penalty function π(κ) and the auxiliary function υκ as defined in Eq. 32, and the initial state constraints are no longer satisfied. The initial state x0 of the spacecraft in the homotopy process is illustrated in Fig. 15. The initial position (x0,y0) with κ > 0 varies on the circular orbit, and when κ < 0, the initial position gradually deviates from the GEO at the beginning, and eventually returns back the GEO under the effect of parameter-bounding. Thus the solutions on different branches are connected.

Fig. 15
figure 15

The initial position of the spacecraft (x0,y0) during the parameter-bounding homotopy

Transfers from a GTO to L1 Halo Orbit

In the Earth-Moon system, L1 is located at a distance of 58019 km from the moon along the Earth-moon line and between the Earth and the moon, while the distance between the Earth and the moon is about 384400 km. The Libration Point Orbit (LPO) is appealing as it can be used as a parking orbit for Earth-moon transfers. In this example, the minimum-time transfers from a GTO orbit towards to a halo orbit are studied. The scenario is similar to that described in Ref. [31], the only difference is that the initial point in Ref. [31] is fixed, while the initial point in this paper is limited to the perigee of a GTO orbit in the xy plane, which can be determined by

$$ \boldsymbol{x}_{0} = \left[r_{gto} \cos \theta_{0} - \mu, r_{gto} \sin \theta_{0}, 0, -v_{gto} \sin \theta_{0}, v_{gto} \cos \theta_{0}, 0 \right]^{T} $$
(48)

where rgto is the perigee distance of a GTO orbit, and vgto is the perigee velocity. The final point is fixed on a halo orbit. These parameters used in this example are provided in Table 3.

Table 3 Parameters for the transfers from a GTO to a Halo orbit

In this example, the trajectories are also propagated backward in time, therefore the shooting variables are 8-dimensional \(\boldsymbol {y} = [\lambda _{xf}, \lambda _{yf}, \lambda _{zf}, \lambda _{v_{x}f}, \lambda _{v_{y}f},\) \( \lambda _{v_{z}f}, m_{f}, t_{f}]^{T}\), and the shooting functions consist of the following equations

$$ \begin{array}{@{}rcl@{}} (x_{0}+\mu)^{2}+{y_{0}^{2}} - r_{gto}^{2} &=& 0 \end{array} $$
(49)
$$ \begin{array}{@{}rcl@{}} v_{x0}^{2}+v_{y0}^{2} - v_{gto}^{2} &=& 0 \end{array} $$
(50)
$$ \begin{array}{@{}rcl@{}} (x_{0}+\mu) v_{x0} + y_{0} v_{y0} &=& 0 \end{array} $$
(51)
$$ \begin{array}{@{}rcl@{}} (x_{0}+\mu) \lambda_{y0} - y_{0} \lambda_{x0} + v_{x0} \lambda_{v_{y}0} - v_{y0} \lambda_{v_{x}0} &=& 0 \end{array} $$
(52)
$$ \begin{array}{@{}rcl@{}} z_{0} &=& 0 \end{array} $$
(53)
$$ \begin{array}{@{}rcl@{}} v_{z0} &=& 0 \end{array} $$
(54)
$$ \begin{array}{@{}rcl@{}} m_{0} &=& 1 \end{array} $$
(55)
$$ \begin{array}{@{}rcl@{}} H_{f} &=& 0 \end{array} $$
(56)

The minimum-time problem with TL = 10 N is constructed as the initialized problem, and the solution is obtained by shooting method. Then the homotopy path is tracked with the solution as the starting point. During the homotopy path tracking, κ varies repeatedly between adjacent turning points along the homotopy curve, and returns to predefined domain κ ∈ [0,1] under the effect of parameter bounding after entering the region with κ < 0 several times, and then reaches κ = 1 eventually. Figures 16 and 17 illustrate the complete homotopy curve of tf and mf, respectively. Along the best curve with the thrust magnitude decreases from 10 N to 0.6 N, the transfer time tf increased from 1.6300 TU to 19.4770 TU, and the final mass mf varies from 1291.86 kg to 1350.77 kg.

Fig. 16
figure 16

Homotopy curve of the transfer time tf(κ) in the example of GTO-to-Halo tranfers

Fig. 17
figure 17

Homotopy curve of the final mass mf(κ) in the example of GTO-to-Halo transfers

Many local extremals with different thrust magnitude are obtained along the homotopy path, including 131, 115, 57 and 1 solutions with thrust magnitude of 10 N, 3 N, 1 N and 0.6 N, respectively. The solutions on the best curve with the least performance indices are selected as best solutions. The results of best solutions with these four thrust magnitude are listed in Table 4, and the transfer trajectories in rotating frame and in Earth-centered inertial frame are shown in Fig.18 and Fig.19, respectively.

Table 4 The values of the shooting variables for the four minimum-time solutions with different values of Tmax
Fig. 18
figure 18

Minimum-time GTO-to-Halo transfer trajectories for different values of Tmax: rotating frame

Fig. 19
figure 19

Minimum-time GTO-to-Halo transfer trajectories for different values of Tmax: Earth-centered inertial frame

Table 5 summarizes both the best solutions obtained in this paper and the solutions in Ref. [31]. The energy remains the same whether the initial state is free or fixed, so the calculation results in these situations should be similar, and the difference between the transfer times should be less than one period, which is 0.44 days. It is clear from Table 5 that in all of these cases with thrust magnitude varying from 10 N to 0.6 N, the best solutions take less transfer time tf and remain more final mass mf than these solutions in Ref. [31]. Compared with these solutions in Ref. [31], the best solution can reduce the transfer time by up to 7.1846 days withTmax = 0.7 N, and the best solution to the original problem with Tmax = 0.6 N reduces the transfer time by 2.9792 days, which indicate that the results obtained in the papar are significantly better.

Table 5 Minimum-time solutions to GTO-to-Halo transfers with different values of Tmax

Conclusions

The minimum-time low-thrust trajectory optimization in the CRTBP is studied based on the combination of indirect method and homotopy method. Although homotopy methods have been used to overcome the difficulties of initial value sensitivity and narrow convergence radius by building the connection between the easier high-thrust problem and the original low-thrust problem, the failure of tracking continuous homotopy path may appear due to the existence of turning points. The parameter-bounding homotopy method, which forces the homotopic parameter inside the predefined domain by introducing the penalty function and auxiliary function in the homotopy function, is used to generate the continuous homotopy curve. The parameter-bounding homotopy is capable of finding not just one local extremal, but many more extremals by following the homotopy path, then the extremal with the least performance index is taken as the best solution. Numerical demonstrations of minimum-time low-thrust GEO-to-MO transfers and GTO-to-Halo transfers are provided, which reveal the multiplicity of the solutions and the reliability of the proposed method.