1 Introduction

Near rectilinear halo orbits (NRHOs) are a subset of the halo families of periodic orbits around the collinear equilibrium points of the circular restricted three body problem (RTBP), and correspond to the first interval of linear stability along the halo families (see Gómez and Mondelo (2001)). For the \(L_1\) and \(L_2\) points, these orbits have a close passage to the small primary, as well as a large out-of-plane amplitude relative to the orbital plane of the primaries. These geometric characteristics make them potentially useful in the Earth–Moon system, since they provide the possibility to examine the Moon polar region and, due to their nearly stable character, they have also been considered for long-term missions and activities in the cislunar space. In particular, NRHOs have been widely regarded as the candidate orbits for the Lunar Orbital Platform-Gateway (LOP-G) mission (Laurini et al. 2015).

NRHOs have already been studied by several authors, including (Williams et al. 2017), Guzetti et al. (2017), and Zimovan-Spreen et al. (2020), that have analyzed their dynamical properties, such as stability, resonances and eclipse avoidance, as well as the characteristics of the trajectories in their neighborhood, which has been shown to be useful in the design of their transfer trajectories. These studies have been done using the RTBP as dynamical model, in some cases enhanced with the gravitational perturbations of other Solar System bodies. The station-keeping along these trajectories has also been studied using impulsive strategies. For instance, Guzetti et al. (2017) examined the x-axis control strategy considering navigation errors, spacecraft noise and orbital perturbations. Muralidharan and Howell (2020) analyzed the effects of several factors, including maneuvers location and duration, and target horizon time, on the performance of the x-axis control strategy. In fact, the geometrical behavior analyses by Farrés et al. (2022) have shown that the x-axis control strategy stabilizes the motion by canceling the unstable mode. Moreover, some other impulsive station-keeping strategies include the target point method (Gómez et al. 1998), the Floquet mode approach (Simó et al. 1987) and the discrete-time sliding mode control strategy (Lian et al. 2014). As for low-thrust station-keeping strategies, they can be divided into two categories: the first one is based on control theory techniques, while the second one makes use of the dynamical characteristics of the RTBP (Shirobokov et al. 2017). Most of the low-thrust station-keeping strategies belong to the first category, which include, for instance, backstepping technique (Gao et al. 2019), optimal periodic control techniques (Gao et al. 2019), model predictive control (Misra et al. 2018), and active disturbance rejection control (Lou et al. 2016). Comparatively, the literature on strategies in the second category is scarce. In fact, the second strategies are more insightful and fuel-efficient, because they exploit the geometry of the phase space around the nominal orbit and eliminate the unstable modes which cause the divergence from the desired trajectory. In this context, Scheeres et al. (2003) designed a continuous Hamiltonian structure-preserving (HSP) framework which cancels the hyperbolic modes using the feedback of the instantaneous unstable and stable manifolds.

The purpose of the present paper is the study and implementation of a low-thrust station-keeping of NRHOs in the higher-fidelity Earth–Moon quasi-bicircular dynamical model, that includes the gravitational effect of the Sun. In this model, which is more realistic than the RTBP, NRHOs become unstable and, by this reason, sensitive to non-modeled perturbations and orbit determination errors. The current investigation examines and extends a dynamical reshaping station-keeping scheme that effectively overcomes non-modeled errors as well as position and velocity uncertainty in orbit determination. This scheme is to reshape the unstable and/or central Floquet modes into stable ones using low-thrust propulsion. Compared to the HSP framework in Scheeres et al. (2003), the dynamical reshaping framework is more dynamically intuitive, and adaptable to particular adjustments and performance by selecting the parameters of the algorithm.

The paper is organized as follows: Sect. 2 is a summary that includes the equations of motion, some properties about NRHOs and resonant periodic orbits, and fixes the notation used for the Jet Transport technique to be used in the station-keeping procedure. Based on the geometric structures around the resonant NRHOs, Sect. 3 explains the station-keeping strategy and its implementation. Section 4 gives and discusses the results obtained in the numerical simulations, including some properties about the geometric behavior of the methodology, as well as its stability properties, robustness and cost. Finally, the paper ends with some conclusions in Sect. 5.

2 Mathematical preliminaries

2.1 Equations of motion

The quasi-bicircular problem (QBCP) was first introduced by Andreu in Andreu (1998) to account for the effect of Sun’s gravity on the motion of spacecraft in the Earth–Moon system. Mathematically, this model is a time-periodic restricted four body problem (RFBP) which can be considered as a periodic perturbation of the restricted three body problem (RTBP). Different to the classical bicircular problem (BCP) (Simó et al. 1995), the QBCP is dynamically coherent which means that the motion of the primaries (Sun, Earth and Moon in our case) is a solution of the general three body problem. The model is determined by means of a collocation method for its Fourier coefficients (Andreu 1998) or a continuation scheme starting from a solution of two body problem (Gabern 2003). Both the QBCP and the BCP consider a coplanar motion for the primaries but the QBCP has been proved much more realistic for orbits close to libration points.

For the motion of the spacecraft in the QBCP we consider a pulsating rotating frame. The origin is at the Earth–Moon barycenter and the Earth and Moon are fixed on the \(x-\)axis. Moreover, the unit of distance is scaled such that the Earth–Moon distance is always equal to one, the time is scaled such that the period of the pulsating rotating frame is equal to \(2\pi \), and the mass is scaled such that the sum of the masses of the Earth and Moon is equal to one. With these normalizations and similar to the RTBP, the Earth is located at \([\mu , 0, 0]^\text {T}\) and the Moon at \([\mu -1, 0, 0]^\text {T}\).

In this pulsating rotating frame, when the low-thrust acceleration \(\varvec{a} = [a_x, a_y, a_z]^\text {T}\) is included into the QBCP, the equations of motion are:

$$\begin{aligned} \left\{ \begin{aligned}&\ddot{x} - \frac{\dot{\alpha }_1}{\alpha _1} {\dot{x}} - 2\alpha _3 {\dot{y}} = \left( \dot{\alpha }_2 + \alpha _2^2 + \alpha _3^2 -\frac{\dot{\alpha }_1\alpha _2}{\alpha _1}\right) x + \left( \dot{\alpha _3} - \frac{\dot{\alpha }_1\alpha _3}{\alpha _1}\right) y - \alpha _1\alpha _4 \\&\qquad \qquad \qquad \qquad \qquad \, -\alpha _1\alpha _6 \left( \frac{1-\mu }{r_{PE}^3}(x-\mu ) + \frac{\mu }{r_{PM}^3}(x-\mu +1) + \frac{m_S}{r_{PS}^3}(x-\alpha _7) \right) + a_x, \\&\ddot{y} - \frac{\dot{\alpha }_1}{\alpha _1} {\dot{y}} + 2\alpha _3 {\dot{x}} = \left( \dot{\alpha }_2 + \alpha _2^2 + \alpha _3^2 -\frac{\dot{\alpha }_1\alpha _2}{\alpha _1}\right) y - \left( \dot{\alpha _3} - \frac{\dot{\alpha }_1\alpha _3}{\alpha _1}\right) x - \alpha _1 \alpha _5 \\&\qquad \qquad \qquad \qquad \qquad \,-\alpha _1\alpha _6 \left( \frac{1-\mu }{r_{PE}^3} y + \frac{\mu }{r_{PM}^3} y + \frac{m_S}{r_{PS}^3}(y-\alpha _8) \right) + a_y, \\&\ddot{z} - \frac{\dot{\alpha }_1}{\alpha _1} {\dot{z}} = \left( \dot{\alpha }_2 + \alpha _2^2 - \frac{\dot{\alpha }_1\alpha _2}{\alpha _1} \right) z - \alpha _1 \alpha _6 \left( \frac{1-\mu }{r_{PE}^3} z + \frac{\mu }{r_{PM}^3} z + \frac{m_S}{r_{PS}^3} z \right) + a_z, \quad \end{aligned}\right. \end{aligned}$$
(1)

where \(\varvec{x} = [x, y, z, {\dot{x}}, {\dot{y}}, {\dot{z}}]^\text {T}\) is the state of spacecraft, \(r_{PE} = \sqrt{(x-\mu )^2 + y^2 + z^2}\), \(r_{PM} = \sqrt{(x-\mu +1)^2 + y^2 + z^2}\), \(m_S\) is the mass of Sun and \(r_{PS} \!=\! \sqrt{(x-\alpha _7)^2 \!+\! (y-\alpha _8)^2 \!+\! z^2}\). Denoting by \(T_S\) the period of the system, the coefficients \(\alpha _1, \ldots ,\alpha _8\) are \(T_S\)-periodic real functions whose Fourier expansions are given by:

$$\begin{aligned} \alpha _i( \theta ) = a_0^i + \sum _{k \ge 0}{a_k^i \cos (k \theta ) +\sum _{k \ge 0} b_k^i \sin (k \theta ), \quad i=1,\ldots ,8,} \end{aligned}$$

where \(\theta = \omega _S t\) and \(\omega _S=2\pi /T_S\) is the frequency of the motion of the Sun. Moreover, \(\alpha _i\) are even functions (i.e. cosine series) for \(i=1,3,4,6,7\) and odd (i.e. sine series) for \(i=2,5,8\). In particular, \([\alpha _7, \alpha _8, 0]^T\) is the position of the Sun inside the plane of motion of the primaries. The numerical values of the Fourier coefficients for the \(\alpha _i\) functions can be found in Andreu (1998) while other constant values of the model are given in Table 1.

Table 1 Main constant parameters of the QBCP which are from the JPL ephemeris data DE405 (see Andreu (1998))

2.2 Near rectilinear halo orbits and resonant periodic orbits

Near rectilinear halo orbits (NRHOs) are members of the \(L_1\) and \(L_2\) halo orbit families in the Earth-Moon RTBP. The NRHOs offer advantages such as stability, cheap transfer options from the Earth and feasible transfer options to the lunar surface (Williams et al. 2017). In particular, some Sun-resonant NRHOs have advantageous non-eclipsing properties for \(L_2\) Earth-Moon libration point orbits. Therefore, these Sun-resonant NRHOs have been identified as potential long-term locations for the LOP-G in the cislunar region (Zimovan-Spreen et al. 2020).

Since the Earth–Moon QBCP is a \(T_S\)-periodic system, when the halo orbits in the RTBP are continued into the QBCP, they include the frequency of the Sun and almost all them become two-dimensional invariant tori. Nevertheless, the Sun-resonant orbits remain periodic because their period is a (rational) multiple of the period of the Sun. It is worth to note that, during the numerical continuation of these resonant periodic orbits from the RTBP to the QBCP, several bifurcations to two or more periodic orbits of the QBCP appear. Moreover, several new resonant periodic orbits have been identified through a bifurcation analysis when adding the solar radiation pressure into the QBCP (Jorba-Cuscó 2018; Gao et al. 2022). According to Andreu (1998), Table 2 summarizes the resonance, label, and linear normal behavior associated to the resonant halo-type orbits around the \(L_1\) and \(L_2\). Each line corresponds to different periodic orbits of the QBCP bifurcated from the same orbit of the RTBP. Besides, the first character of each label is a number that corresponds to the equilibrium point (1 or 2), and is followed by an enumeration index for halo-type orbits. The stability properties (linear normal behavior) of the periodic orbits are characterized by the eigenvalues of the associated monodromy matrix, which can be gathered by pairs. Each pair of complex conjugate eigenvalues (\(\lambda , \, {\overline{\lambda }} \in {\mathbb C}\) with \(\Vert \lambda \Vert =1\)) corresponds to a central behavior, and each pair of real eigenvalues (\(\lambda , \, \lambda ^{-1} \in {\mathbb R}\)) to a saddle one. There exist also complex saddle cases involving two pairs of inverse and complex conjugate eigenvalues with non zero real part. For instance, the label \((C \times C \times C)\) stands for Center \(\times \) Center \(\times \) Center, \((S \times C \times C)\) for Saddle \(\times \) Center \(\times \) Center, \((CS \times C)\) for Complex Saddle \(\times \) Center, etc. We should note that \(\varvec{01C}\), \(\varvec{02E}\) and \(\varvec{02G}\) are the Sun-resonant NRHOs in the Earth–Moon RTBP, and their resonances and QBCP equivalences are given in Table 2. In particular, Figs. 1 and 2 display orbits (\(\varvec{01C}\), \(\varvec{1C}\), \(\varvec{1D}\)) and (\(\varvec{02E}\), \(\varvec{2E}\), \(\varvec{2F}\)), respectively, which will be taken as the nominal orbits for our station-keeping investigation. The symbol “\(\times \)” denotes the position of the spacecraft when \(t=0\), and at this moment, the Sun is on the positive \(x-\)axis and the spacecraft is located in the \(x-z\) plane.

Table 2 Low order halo-type resonant periodic orbits around the \(L_1\) and \(L_2\) points
Fig. 1
figure 1

3D representation and coordinate projections of orbits \(\varvec{1C}\) and \(\varvec{1D}\) of the QBCP and \(\varvec{01C}\) of the RTBP. The cross “\(\times \)” denotes the position of the spacecraft (red “\(\times \)” for \(\varvec{1C}\) and blue “\(\times \)” for \(\varvec{1D}\)) when \(t=0\). At this epoch the Sun is on the positive \(x-\)axis (Moon–Earth–Sun alignment), and the spacecraft is in the \(x-z\) plane. Note that the normal behavior of the orbit can depend on this fact (see Table 2)

Fig. 2
figure 2

3D representation and coordinate projections of orbits \(\varvec{2E}\) and \(\varvec{2F}\) of the QBCP and \(\varvec{02E}\) of the RTBP. The symbol “\(\times \)” denotes the position of the spacecraft (red “\(\times \)” for \(\varvec{2E}\) and blue “\(\times \)” for \(\varvec{2F}\)) when \(t=0\). Same comments as in Fig. 1

2.3 Jet Transport technique

Jet Transport is an automatic differentiation technique suitable to computer implementations to calculate high-order Taylor derivatives of nonlinear functions. By means of an algebra of truncated Taylor polynomials the JT procedure is able to provide the Taylor expansion of a nonlinear function to an arbitrary selected order (Pérez-Palau et al. 2015; Pérez-Palau 2016). In this paper, the JT technique facilitates the tasks of developing semi-analytical station-keeping control laws, and obtaining the monodromy matrix of the controlled system for the stability analysis. In fact, the monodromy matrix is directly obtained from the first order terms of the JT propagation of the trajectory, because these terms correspond to the differential of the Taylor expansion.

For any considered nonlinear function f, let us denote by \(\varvec{x}\in {{\mathbb {R}}}^n\) the central base point of evaluation and \(\delta \varvec{x}\) the symbolic variation with respect to it, so the initial jet can be parameterized as \([\varvec{x}] = \varvec{x} + \delta \varvec{x}\). Starting from \([\varvec{x}] = \varvec{x} + \delta \varvec{x}\) and implementing the polynomial algebra of the JT technique, we can obtain the Taylor expansion of the function f around the central base point \( \varvec{x}\). This is:

$$\begin{aligned}{}[f([\varvec{x}])] = [f(\varvec{x} + \delta \varvec{x})] = f( \varvec{x}) + {\mathcal {P}}_f (\delta \varvec{x}) = f( \varvec{x}) + \sum \limits _{1 \le k_1+\cdots +k_n \le k}{c_{k_1 \cdots k_n}\delta x_{1}^{k_1} \cdots \delta x_{n}^{k_n}}, \end{aligned}$$

where \(c_{k_1 \ldots k_n}\) are the coefficients of the expansion provided by the procedure, \(\delta \varvec{x}={[\delta x_1, \ldots , \delta x_n]}^{\text {T}}\), k is the expansion order, and \([k_1, \ldots , k_n]\) is the multi-index exponent of the monomial. Note that the symbol \([\cdot ]\) is going to denote a JT expansion variable throughout this paper.

In particular, for an ordinary differential equation \(\dot{\varvec{x}} = \varvec{f} (\varvec{x}, t)\), the JT enables automatically calculate the high-order Taylor expansions of its associating flow map \(\varvec{\Phi } (t; \varvec{x}_0, t_0)\). Let us denote by \(\varvec{x} (t_0) = \varvec{x}_0 \in {\mathbb {R}}^n\) the initial condition of the dynamical system, then the initial jet is again expressed in terms of a symbolic variation \(\delta \varvec{x}_0\) as \([\varvec{x}_0] = \varvec{x}_0 + \delta \varvec{x}_0\) and represents the neighborhood of the initial state. For the propagation we can consider any numerical integration method (Runge–Kutta, Taylor, symplectic, etc) with its related computations implemented in terms of the polynomial algebras. When the initial jet \([\varvec{x}_0] = \varvec{x}_0 + \delta \varvec{x}_0\) is propagated from \(t_0\) up to any final time \(t_f\), the procedure automatically delivers the final jet \([\varvec{x}_f]\) in the form of a Taylor expansion around the nominal final state, \(\varvec{x}_f = \varvec{\Phi } (t_f; \varvec{x}_0, t_0)\). This is:

$$\begin{aligned} {[\varvec{x}_f]} = \varvec{x}_f + \varvec{{\mathcal {P}}}_{\varvec{x}_f} (\delta \varvec{x}_0) = \varvec{x}_f + \begin{bmatrix} \sum \limits _{1 \le k_1+\ldots +k_n \le k}{c^1_{k_1 \ldots k_n}\delta x_{0,1}^{k_1} \ldots \delta x_{0,n}^{k_n}} \\ \vdots \\ \sum \limits _{1 \le k_1+\ldots +k_n \le k}{c^n_{k_1 \ldots k_n}\delta x_{0,1}^{k_1} \ldots \delta x_{0,n}^{k_n}} \end{bmatrix}, \end{aligned}$$
(2)

where \(c^j_{k_1 \ldots k_n}\) are the coefficients of the expansion in the j-th component of the state, and \(\delta \varvec{x}_0={[\delta x_{0,1}, \ldots , \delta x_{0,n}]}^{\text {T}}\). In general, in this paper we are going to use the symbol \(\varvec{{\mathcal {P}}}_{\varvec{y}} (\varvec{z})\) to denote the polynomial expansion of \(\varvec{y}\) in the variables \(\varvec{z}=(z_1,\ldots ,z_q)\).

3 Dynamical reshaping station-keeping strategies

3.1 Geometric structure around the resonant NRHOs

Due to the Hamiltonian structure of the dynamical system, the eigenvalues of the monodromy matrix associated with a periodic resonant NRHO can be divided into saddle pairs and/or central pairs with different geometrical implications:

  • A saddle pair \((\lambda _i, \lambda _j)\) of real values and \(\lambda _i \cdot \lambda _j = 1\) is associated with the normal hyperbolic behavior of the orbit. The unstable eigenvalue \(\lambda _i\) is greater than 1 and the eigenvector \(\varvec{e}_i(0)\) provides an expanding direction. This means that \(\lambda _i\) and \(\varvec{e}_i(0)\) are related to the unstable manifold. In the same way, the stable eigenvalue \(\lambda _j\) is less than 1 and the eigenvalue \(\varvec{e}_j(0)\) are related to the stable manifold.

  • A central pair \((\lambda _m, \lambda _n)\) is formed by complex conjugated eigenvalues of modulus one, i.e \(\lambda _m = {\bar{\lambda }}_n\) and \(\Vert \lambda _m \Vert = \Vert \lambda _n \Vert = 1\). They are associated with a central behavior, i.e central manifold, around the periodic orbit, giving rise to quasi-periodic orbits nearby. We are going to use \(\varvec{e}_m(0)\) and \(\varvec{e}_n(0)\) to refer to the real and imaginary parts of the complex eigenvectors associated to this pair of eigenvalues.

To analyze the behavior of the motion in the neighborhood of the nominal orbit, it is convenient to introduce the Floquet modes which provide a basis with geometric meaning at any time. Following (Gómez et al. 1998), the Floquet modes for a saddle pair are defined as:

$$\begin{aligned} \tilde{\varvec{e}}_i(\tau ) = \varvec{e}_i(\tau ) \exp \left( -\frac{\tau }{T_S}\ln \lambda _i\right) , \qquad \tilde{\varvec{e}}_j(\tau ) = \varvec{e}_j(\tau ) \exp \left( -\frac{\tau }{T_S}\ln \lambda _j\right) , \end{aligned}$$

while for a central pair the definition is:

$$\begin{aligned} \tilde{\varvec{e}}_m(\tau )= & {} \cos \left( -\frac{\Gamma _m \tau }{T_S}\right) \varvec{e}_m(\tau ) - \sin \left( -\frac{\Gamma _m \tau }{T_S}\right) \varvec{e}_n(\tau ), \\ \tilde{\varvec{e}}_n(\tau )= & {} \sin \left( -\frac{\Gamma _m \tau }{T_S}\right) \varvec{e}_m(\tau ) + \cos \left( -\frac{\Gamma _m \tau }{T_S}\right) \varvec{e}_n(\tau ), \end{aligned}$$

where \(\tau \) is a parameter used to parameterize the resonant orbit, \(\varvec{e}_k(\tau )=A(\tau )\varvec{e}_k(0)\) being \(A(\tau )\) the state transition matrix and \(\varvec{e}_k(0)\) the eigenvector corresponding to the eigenvalue \(\lambda _k\). For the central modes, \(\Gamma _m\) is the angle of \(\lambda _m\), and \(\varvec{e}_m(0)\) and \(\varvec{e}_n(0)\) are the real and imaginary parts of the complex eigenvectors.

For a faster computation of a given state deviation in terms of the Floquet basis, we introduce the so-called projection factors. Assume that at a given epoch t, the spacecraft is close to the nominal orbit such that we associate it to a certain nominal state in the orbit. In station-keeping missions, different types of nominal points can be defined according to different criteria and several particular ones will be introduced in Sect. 3.2. For now, to characterize the nominal point we consider \(\tau \) as the time parameter. To this end, the state deviation \(\delta \varvec{x}(t) = {[\delta x(t), \delta y(t), \delta z(t), \delta {\dot{x}}(t), \delta {\dot{y}}(t), \delta {\dot{z}}(t)]}^{\text {T}}\), defined as the difference between the state of spacecraft and its nominal state at epoch t, can be written in Floquet frame as:

$$\begin{aligned} \delta \varvec{x}(t) = \sum _{i=1}^{6}c_i(t) \tilde{\varvec{e}}_i(\tau ), \end{aligned}$$

where \(c_i(t)\) denote the components of \(\delta \varvec{x}(t)\) in the Floquet basis at epoch t. Then, by means of elementary linear algebra, we have

$$\begin{aligned} c_i(t) = \pi _i^1 (\tau )\delta x(t) + \pi _i^2(\tau ) \delta y(t) + \pi _i^3(\tau ) \delta z(t) + \pi _i^4(\tau ) \delta {\dot{x}}(t) + \pi _i^5(\tau ) \delta {\dot{y}}(t) + \pi _i^6(\tau ) \delta {\dot{z}}(t), \end{aligned}$$

where \(\varvec{\pi }_i(\tau ) = [\pi _i^1(\tau ),\ldots \pi _i^6(\tau )]^\text {T}\) is the i-th projection factor. In general, given the Floquet matrix \([\tilde{\varvec{e}}_1(\tau ), \ldots , \tilde{\varvec{e}}_6(\tau )]\), the value of \(\pi _i^j(\tau )\) is equal to the adjoint of the j-th element of the i-th column divided by the determinant of the matrix. For simplification, unless necessary, the time dependence will be omitted for clarity.

So we note that \(c_i\) can be computed just doing the dot product of the state deviation \(\delta \varvec{x}\) and the i-th projection factor \(\varvec{\pi }_i\). In practice, it is convenient to compute the projection factors \(\varvec{\pi }_i \, (i=1, \cdots , 6)\) only once and, together with the nominal resonant periodic orbit and associated Floquet modes, to store all them in terms of their Fourier coefficients. In this way we have fast on-board evaluations when required.

3.2 Station-keeping controller

The dynamical reshaping methodology, introduced in Gao et al. (2022), is based on the characteristics of the dynamical system and provides a low-thrust station-keeping control framework. Making use of the geometric structures around periodic orbits discussed in Sect. 3.1, the idea is to reshape the dynamical structures, and to stabilize the motion by turning the unstable and/or central Floquet modes into the stable modes using a continuous control.

For the implementation of a station-keeping strategy, one usually needs to associate to the current state of the spacecraft a state in the nominal orbit. According to different criteria, the nominal point on the nominal orbit can be defined in several ways, such as the point isochronous with the spacecraft, or the point at the minimum distance to the spacecraft in the state space, or in a subset of the state space, for instance, in the configurations space. In the simulations done, that are discussed in the next section, we show that the nominal point selection influences the performance of the controller.

In Algorithm 1 we present the main steps and ideas for the implementation of the dynamical reshaping procedures. For a given deviation of the spacecraft with respect to the nominal state, to obtain the control acceleration the procedure requires computing some Floquet components \(c_i\) and their first derivatives \({\dot{c}}_i\), and then solving some specific reshaping equations, which involve these quantities, in order. As we are going to see, this procedure can be point-wise implemented but, by means of the JT technique, the first derivatives of the Floquet components can be obtained semi-analytically, and the control laws can be expressed explicitly in a higher-order polynomial formalism. Moreover, the JT framework enables the station-keeping approaches to be dealt in a unified and elegant manner, independently on the way the nominal point is defined.

figure a

The statement 1 of Algorithm 1 is straightforward when implemented in point-wise form. Within the framework of JT technique, as was discussed in Sect. 3.1, we need to expand about a central base state, as explained below. For convenience, the isochronous point \(\varvec{x}_{{\text {iso}}}\) is chosen as the central base point at epoch t (the subscript \({\text {iso}}\) denotes the isochronous point). Denoting by \(\delta \varvec{x}_{{\text {iso}}}\) a symbolic state variation with respect to the central base point, the state of spacecraft at epoch t can be written as \([\varvec{x}_s] = \varvec{x}_{{\text {iso}}} + \delta \varvec{x}_{{\text {iso}}}\). Note that \(\delta \varvec{x}_{{\text {iso}}}\) is a symbol including the six state components, and the actual state of the spacecraft is determined from \([\varvec{x}_s] \) for a particular value of \(\delta \varvec{x}_{{\text {iso}}}\). We will abuse this type of notation in what follows. The JT expansions must be considered symbolically computed, but evaluated at a particular value when implemented. Denoting by \(\delta t\) a symbolic time variation, introducing the low-thrust acceleration \(\varvec{a}\) as three additional JT variables and considering Eqs. (1), the Taylor expansion of the state of spacecraft at epoch \([t^+] = t + \delta t\) is

$$\begin{aligned} {}[\varvec{x}_s^+] = \varvec{x}_{{\text {iso}}} + {\mathcal {P}}_{\varvec{x}_s^+}(\delta \varvec{x}_{\text {iso}}, \delta t, \varvec{a}). \end{aligned}$$
(3)

For a given state of spacecraft \([\varvec{x}_s^+]\) at epoch \([t^+] = t + \delta t\), symbolically expressed as in Eq. (3), denote by \([\varvec{x}_n^+]\) the associated nominal point, and by \([\tau _n^+]\) the corresponding time parameter. Implementing the nominal point computation using the JT algebra, we obtain the corresponding nominal point and time parameter in terms of the JT symbolic variables \(\delta \varvec{x}_{{\text {iso}}}\), \(\delta t\) and \(\varvec{a}\) as

$$\begin{aligned} {}[\varvec{x}_n^+] = \varvec{x}_{{\text {iso}}} + {\mathcal {P}}_{\varvec{x}_n^+}(\delta \varvec{x}_{{\text {iso}}}, \delta t, \varvec{a}), \quad [\tau _n^+] = t + {\mathcal {P}}_{\tau _n^+}(\delta \varvec{x}_{{\text {iso}}}, \delta t, \varvec{a}). \end{aligned}$$
(4)

At this point, we have completed the first statement of Algorithm 1. Note that the computations obtaining \(\varvec{x}_n\) and \(\tau _n\) from \(\varvec{x}_s\) in a point-wise implementation, are the same ones that obtain \([\varvec{x}_n^+]\) and \([\tau _n^+]\) from \([\varvec{x}_s^+]\) using the JT algebra. But, in contrast to the point-wise computation, Eq. (4) are simple polynomials that provide the nominal state information for any state of spacecraft just measuring the deviation with respect to the isochronous (central base) point. Moreover, expressions like Eq. (4) can be obtained for a convenient sampled set of central base points on the nominal orbit, and then one can perform interpolation or Fourier analysis of the polynomial coefficients. The result will be short closed expressions to obtain, in an efficient way, the nominal point associated to any state of spacecraft, and with a final form that does not depend on the particular definition of the nominal point used (of course, the values of the coefficients depend on the choice of the nominal point, but the formal form of the final expression does not).

We also remark that, when the isochronous point is taken as the nominal point then \([\tau _n^+] = t + \delta t\), i.e. the time parameter does not depend on \(\delta \varvec{x}_{{\text {iso}}}\) and \(\varvec{a}\). In this case \([\varvec{x}_n^+]\) is the Taylor expansion of the nominal point following the natural motion of the system (i.e. Equations 1 with \(a_x=a_y=a_z=0\)) with central base point \(\varvec{x}_{{\text {iso}}}\) and time variation \(\delta t\), i.e. \([\varvec{x}_n^+] = \varvec{x}_{{\text {iso}}} + {\mathcal {P}}_{\varvec{x}_n^+}(\delta t)\). See Fig. 3 for a schematic representation of the central point, nominal point, and spacecraft using the JT approach.

Fig. 3
figure 3

Relationships among central point, nominal point, and spacecraft. \([\varvec{x}_n]\) is the nominal point for \([\varvec{x}_s]\), \(\varvec{x}_{{\text {iso}}}^+\) is the isochronous (central base) point for \([\varvec{x}_s^+]\), while \([\delta \varvec{x}_n] = [\varvec{x}_s] - [\varvec{x}_n]\), and \([\delta \varvec{x}_{{\text {iso}}}^+] = [\varvec{x}_s^+] - [\varvec{x}_{{\text {iso}}}^+]\). Note that \([\varvec{x}_n]\), \(\varvec{x}_{{\text {iso}}}^+\), \([\delta \varvec{x}_n]\), and \([\delta \varvec{x}_{{\text {iso}}}^+]\) are not used in the implementation, and they are shown here just to make the explanations clearer

The statements 2 and 3 of Algorithm 1 are straightforward in a point-wise implementation. Analogously, doing the JT-based evaluation of the Fourier series at time parameter \([\tau _n^+]\), we can obtain the i-th projection factor associated with the nominal point as

$$\begin{aligned} {}[\varvec{\pi }_{i \_ n}^+] = \varvec{\pi }_{i \_ {{\text {iso}}}} + {\mathcal {P}}_{\varvec{\pi }_{i \_ n}^+}(\delta \varvec{x}_{{\text {iso}}}, \delta t, \varvec{a}), \end{aligned}$$
(5)

where \(\varvec{\pi }_{i \_ {{\text {iso}}}}\) is the i-th projection factor associated with the central base state \(\varvec{x}_{{\text {iso}}}\) at epoch t. Moreover, Eqs. (3) and (4) provide the state deviation between the spacecraft and its nominal point at epoch \([t^+]\) as

$$\begin{aligned} {}[\delta \varvec{x}_n^+] = [\varvec{x}_s^+] - [\varvec{x}_n^+] = {\mathcal {P}}_{\delta \varvec{x}_n^+}(\delta \varvec{x}_{{\text {iso}}}, \delta t, \varvec{a}), \end{aligned}$$

and with Eq. (5) we obtain the i-th component in the Floquet basis as

$$\begin{aligned} {}[c_i^+] = \langle [\varvec{\pi }_{i \_ n}^+], [\delta \varvec{x}_n^+] \rangle = {\mathcal {P}}_{c_i^+}(\delta \varvec{x}_{{\text {iso}}}, \delta t, \varvec{a}). \end{aligned}$$
(6)

As we see, thanks to the JT approach, the Floquet components can also be obtained as a polynomial expansion suitable for a full neighborhood of the central base point.

Is in the statement 4 of Algorithm 1 where we find the major difference between the point-wise and JT implementations. Thanks to the introduction of the symbolic variable \(\delta t\) in Eq. (3), in the JT implementation the first derivative of \([c_i^+]\) with respect to time is trivially computed as

$$\begin{aligned} {}[{\dot{c}}_i^+] = \frac{\textrm{d} [c_i^+]}{\textrm{d} \delta t} = {\mathcal {P}}_{{\dot{c}}_i^+}(\delta \varvec{x}_{{\text {iso}}}, \delta t, \varvec{a}). \end{aligned}$$
(7)

And finally, using Eqs. (6) and (7) with \(\delta t = 0\), we obtain \([c_i]\) and \([{\dot{c}}_i]\) at epoch t as

$$\begin{aligned} {}[c_i] = {\mathcal {P}}_{c_i}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}), \quad [{\dot{c}}_i] = {\mathcal {P}}_{{\dot{c}}_i}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}). \end{aligned}$$
(8)

In the point-wise implementation, we can take a small time step \(\Delta t\) for numerical differentiation. Denote by \(\varvec{{\dot{x}}}=\varvec{f}(\varvec{x},t,\varvec{a})\) the the differential equations (1), and the low-thrust acceleration \(\varvec{a}\) at time t is to be determined at the end of the control procedure. Note that, for the measured state \(\varvec{x}_s\) of spacecraft at time t, and a given acceleration \(\varvec{a}\), one can approximate the state \(\varvec{x}_s^+\) at time \(t+\Delta t\) using Euler’s method

$$\begin{aligned} \varvec{x}_s^+(\varvec{a})\simeq \varvec{x}_s + \varvec{f}(\varvec{x}_s,t,\varvec{0}) \Delta t +[0,0,0,\varvec{a}^\text {T}]^\text {T}\Delta t, \end{aligned}$$
(9)

and for the obtained result, \(\varvec{x}_s^+(\varvec{a})\), one can compute the associated nominal state \(\varvec{x}_n^+(\varvec{a})\), the corresponding time parameter \(\tau _n^+(\varvec{a})\), and, finally, any Floquet component \(c_i^+(\varvec{a})\) associated to the deviation \(\delta \varvec{x}_n^+(\varvec{a})=\varvec{x}_s^+(\varvec{a})-\varvec{x}_n^+(\varvec{a})\), following the usual procedure. On the other hand, as the components of \(\varvec{a}\) are small, a first order Taylor expansion gives

$$\begin{aligned} c_i^+(\varvec{a})\simeq c_i^+(\varvec{0})+\dfrac{\partial c_i^+}{\partial a_x}a_x+\dfrac{\partial c_i^+}{\partial a_y}a_y+\dfrac{\partial c_i^+}{\partial a_z}a_z, \end{aligned}$$

where the values of the partial derivatives of \(c_i^+(\varvec{a})\) can be approximated by usual numerical differentiation evaluating the previously described function \(c_i^+(\varvec{a})\) with suitable steps in \(\varvec{a}\). Finally, we have

$$\begin{aligned} {\dot{c}}_i(\varvec{a})\simeq \frac{c_i^+(\varvec{a})-c_i}{\Delta t}= \frac{1}{\Delta t}\left( c_i^+(\varvec{0})-c_i+\dfrac{\partial c_i^+}{\partial a_x}a_x+\dfrac{\partial c_i^+}{\partial a_y}a_y+\dfrac{\partial c_i^+}{\partial a_z}a_z\right) , \end{aligned}$$

which is an expression of the form \({\dot{c}}_i=A_i+B_i\varvec{a}\), where the value \(A_i\), and the \(1\times 3\) matrix \(B_i\) are known.

Note that Eq. (9) is suitable for a faster implementation. However, similar expressions \(A_i+B_i\varvec{a}\) could be obtained considering any other integration method for the propagation of \(\varvec{x}_s(\varvec{a})\) by the flow associated to Eqs. (1) for the time step \(\Delta t\), and then considering a higher order numerical differentiation formula for the time derivative. Nevertheless, the procedure presented is specially simple when considering the isochronous point as the nominal one.

Another option for the computation of \({\dot{c}}_i\) is to take the time derivative of the dot product \(c_i = \langle \varvec{\pi }_{i\_n}, \delta \varvec{x}_n \rangle \), this is,

$$\begin{aligned} {\dot{c}}_i(\varvec{a}) = \langle \varvec{\pi }_{i \_ n}, \delta \dot{\varvec{x}}_n(\varvec{a}) \rangle + \langle \dot{\varvec{\pi }}_{i \_ n}(\varvec{a}), \delta \varvec{x}_n \rangle = \langle \varvec{\pi }_{i \_ n}, \dot{\varvec{x}}_s(\varvec{a})-\dot{\varvec{x}}_n(\varvec{a}) \rangle + \left\langle \frac{\textrm{d}\varvec{\pi }_{i \_ n}}{\textrm{d}\tau _n}\frac{\textrm{d}\tau _n(\varvec{a})}{\textrm{d}t}, \delta \varvec{x}_n \right\rangle . \end{aligned}$$

In this case, denoting by \(\varvec{I}\) the \(6\times 6\) identity matrix, and taking into account the dependency \(\varvec{x}_n(\varvec{x_s},t)\) we have,

$$\begin{aligned} \delta \dot{\varvec{x}}_n(\varvec{a})= & {} \dot{\varvec{x}}_s(\varvec{a})-\dot{\varvec{x}}_n(\varvec{a}) =\varvec{f}(\varvec{x}_s,t,\varvec{a}) - \frac{\partial \varvec{x}_n}{\partial \varvec{x}_s}\varvec{f}(\varvec{x}_s,t,\varvec{a}) -\frac{\partial \varvec{x}_n}{\partial t}\\= & {} \left( \varvec{I} - \frac{\partial \varvec{x}_n}{\partial \varvec{x}_s} \right) \left( \varvec{f}(\varvec{x}_s, t, \varvec{0}) + [0,0,0,\varvec{a}^\text {T}]^\text {T}\right) -\frac{\partial \varvec{x}_n}{\partial t}. \end{aligned}$$

where \(\partial \varvec{x}_n/\partial \varvec{x}_s\) and \(\partial \varvec{x}_n/\partial t\) can be obtained by numerical differentiation (note that \(\partial \varvec{x}_n/\partial \varvec{x}_s\)=\(\varvec{0}\) and \(\partial \varvec{x}_n/\partial t=\varvec{f}(\varvec{x}_n,t, \varvec{0})\) when considering the isochronous nominal point and \(\partial \varvec{x}_n/\partial t=\varvec{0}\) when considering the nominal point at minimum distance). Moreover, \(\textrm{d}\tau _n(\varvec{a})/\textrm{d}t\) can be either obtained by numerical differentiation considering \(\tau _n^+(\varvec{a})\), similar to the previous discussion, or by means of

$$\begin{aligned} \frac{\textrm{d}\tau _n(\varvec{a})}{\textrm{d}t}=\frac{\partial \tau _n}{\partial \varvec{x}_s}\varvec{f}(\varvec{x}_s, t, \varvec{a}) +\frac{\partial \tau _n}{\partial t} =\frac{\partial \tau _n}{\partial \varvec{x}_s}\left( \varvec{f}(\varvec{x}_s, t, \varvec{0}) + [0,0,0,\varvec{a}^\text {T}]^\text {T}\right) +\frac{\partial \tau _n}{\partial t}, \end{aligned}$$

where \(\partial \tau _n/\partial \varvec{x}_s\) and \(\partial \tau _n/\partial t\) are computed at the same time as \(\partial \varvec{x}_n/\partial \varvec{x}_s\) and \(\partial \varvec{x}_n/\partial t\) (note that \(\partial \tau _n/\partial \varvec{x}_s=\varvec{0}\) and \(\partial \tau _n/\partial t=1\) for the case of isochronous nominal point and \(\partial \tau _n/\partial t=0\) for the nominal point at minimum distance). As we see, following this alternative procedure for the computation of \({\dot{c}}_i\), we again obtain an expression of the form \({\dot{c}}_i=A_i+B_i\varvec{a}\).

Steps 5 and 6 of Algorithm 1 are formally similar using either the point-wise implementation or the JT one. Within the dynamical reshaping methodology, the unstable modes should be canceled using the low-thrust acceleration to stabilize the system. In addition, the stable modes can be left alone, since they are already associated with an exponential decay. Following with the notation of the JT discussion, one way is to reshape the i-th unstable Floquet mode component in order to decay exponentially as

$$\begin{aligned} {}[f_i] := [{\dot{c}}_i] + G_i [c_i] = {\mathcal {P}}_{f_i}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0. \end{aligned}$$
(10)

where \(G_i > 0\) is a constant gain factor selected in order to modulate the decaying rate versus the cost (the modulus of \(\varvec{a}\)). This approach turns out in solving the parametric-implicit Eq. (10) to obtain the required \(\varvec{a}\) in terms of \(\delta \varvec{x}_{{\text {iso}}}\), this is

$$\begin{aligned} {}[\varvec{a}] = {\mathcal {P}}_{\varvec{a}}(\delta \varvec{x}_{{\text {iso}}}). \end{aligned}$$

In case that there are more than one unstable Floquet modes, for instance \(c_1\) and \(c_3\), the reshaping formulation will require to fulfill these two equations

$$\begin{aligned} \begin{aligned} {} [f_1]&= {\mathcal {P}}_{f_1}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ [f_3]&= {\mathcal {P}}_{f_3}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0. \end{aligned} \end{aligned}$$
(11)

Because there are three components in the low-thrust acceleration \(\varvec{a}\), at most three unstable modes can be reshaped simultaneously. When the nominal orbit has only one or two unstable modes, then the reshaping formalism of Eqs. (10) or (11) is under-determined. So a minimum norm constraint for \(\varvec{a}\) can be considered such that the low-thrust acceleration is the optimal one. Considering a nominal orbit of the type \((S \times S \times C)\), where \(\{c_1, c_3\}\) are unstable, \(\{c_2, c_4\}\) are stable, and \(\{c_5, c_6\}\) are central components, one can also incorporate the central components into the reshaping algorithms. For instance, the reshaping formulation could fulfill these 3 requirements:

$$\begin{aligned} \begin{aligned} {} [f_1]&= {\mathcal {P}}_{f_1}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ {}[f_3]&= {\mathcal {P}}_{f_3}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ {}[f_{56}]&= {\mathcal {P}}_{f_{56}}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ \end{aligned} \end{aligned}$$
(12)

where now \([f_{56}]:=[\dot{c}_{56}] + G_{56}[c_{56}]=0\), being \(c_{56} = w_5 c_5 + w_6 c_6\) a weighted sum of the \(c_5\) and \(c_6\) components with \(w_5+w_6=1\). However, depending on the way we choose the equations, incompatibly issues may appear for some epochs, and the acceleration \(\varvec{a}\) may not be determined for all values of \(t\in [0,T_S]\) (mod \(T_S\)). In the neighborhood of these time values, the low-thrust propulsion should be stopped or prescribed in another way. As there exist many options for the design of controllers within the reshaping methodology, all the ones considered in this work are free of incompatibility issues. For instance, instead of considering Eqs. (12) which have an incompatibility issue for orbit \(\varvec{1D}\), one can consider this other form which is free of it:

$$\begin{aligned} \begin{aligned} {} [f_{15}]&= {\mathcal {P}}_{f_{15}}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ {}[f_{36}]&= {\mathcal {P}}_{f_{36}}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ \end{aligned} \end{aligned}$$
(13)

where, similar to the definition of \([f_{56}]\), now \([f_{15}]\) and \([f_{36}]\) involve \(c_{15} = w_1 c_1 + w_5 c_5\) and \(c_{36} = w_3 c_3 + w_6 c_6\), again with \(w_1+w_5=w_3+w_6=1\). Since the unstable components are the main concern in the reshaping procedure, it is reasonable to set \(w_1 \ge w_5\) and \(w_3 \ge w_6\), i.e. \(w_1 \ge 0.5\) and \(w_3 \ge 0.5\).

We can also apply reshaping strategies to orbits of type \((C \times C \times C)\), like \(\varvec{2E}\), where \(\{c_1, c_2\}\), \(\{c_3, c_4\}\), and \(\{c_5, c_6\}\) are central pairs. Avoiding incompatibility issues, we can consider the reshaping formalism,

$$\begin{aligned} \begin{aligned} {} [f_{135}]&= {\mathcal {P}}_{f_{135}}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ {}[f_{246}]&= {\mathcal {P}}_{f_{246}}(\delta \varvec{x}_{{\text {iso}}}, \varvec{a}) = 0, \\ \end{aligned} \end{aligned}$$
(14)

where \([f_{135}]\) and \([f_{246}]\) include \(c_{135} = w_1 c_1 + w_3 c_3 + w_5 c_5\) and \(c_{246} = w_2 c_2 + w_4 c_4 + w_6 c_6\) with \(w_1+w_3+w_5=w_2+w_4+w_6=1\).

In a point-wise implementation, the steps 5 and 6 of Algorithm 1 just use similar equations of the form \({\dot{c}}_*(\varvec{a})+G_*c_*=0\) where now \(c_*\) and \({\dot{c}}_*\) are the values and expressions computed for the particular state of spacecraft at time t, as we have seen during the procedure. Then, in the point-wise implementation, the low-thrust acceleration \(\varvec{a}\), after solving a linear system of equations, is only obtained for the particular time and the particular deviation measured. It needs to be updated, redoing all the computations in Steps 1–6, after a certain time step. In the JT implementation we obtained a control law of the form \([\varvec{a}] = {\mathcal {P}}_{\varvec{a}}(\delta \varvec{x}_{{\text {iso}}})\) which is valid for any deviation from the nominal point at time t. Moreover, the polynomial coefficients of the developed control laws are periodic with the same period as the nominal orbit, therefore, sampling a set of epochs along the period, they can be computed just once per sample, and stored by means of their Fourier coefficients obtaining also a continuous expression in time. In this way, the control acceleration can be trivially obtained by evaluation of closed polynomial formulae. Therefore, compared to the point-wise framework, the JT technique allows a much faster computation of the control acceleration.

4 Numerical simulations and discussions

4.1 Stability of the reshaping control laws

To ensure the good performance of the selected control law we have to evaluate the linear stability of the controller. This is going to be done in the following analyzing the eigenvalues of monodromy matrix associated with controlled systems. In addition, the JT expansion orders have been set to 3, giving us more than enough accuracy at a low computational cost. For convenience, the monodromy matrix associated with a given control law is denoted by means of a subscript. In this way, the \(M_{c_1}\), \(M_{c_{1,3}}\), \(M_{c_{15,36}}\), and \(M_{c_{135,246}}\) denote the monodromy matrices respectively associated with the \(\{c_1\}\), \(\{c_1, c_3\}\), \(\{c_{15}, c_{36}\}\), and \(\{c_{135}, c_{246}\}\) reshaping control laws of the previous section. In addition, the monodromy matrix for the natural system, i.e. the one obtained when no control law is applied, is denoted by \(M_0\).

Table 3 Eigenvalues of the monodromy matrix \(M_0\), associated with orbits \(\varvec{1C}\), \(\varvec{1D}\), \(\varvec{2E}\), and \(\varvec{2F}\). \(\Vert \lambda \Vert _{\max }\) is the norm value of the largest eigenvalue of the associated monodromy matrix
Table 4 Eigenvalues of \(M_{c_1}\), \(M_{c_{1,3}}\), \(M_{c_{135,246}}\), and \(M_{c_1}\) (associated to the orbits \(\varvec{1C}\), \(\varvec{1D}\), \(\varvec{2E}\), and \(\varvec{2F}\), respectively) for different gain factors when considering the isochronous nominal point. In particular, the reshaped components are \(c_{135}=c_1/3+c_3/6+c_5/2\), and \(c_{246}=c_2/3+c_4/6+c_6/2\) for \(\varvec{2E}\). \(\Vert \lambda \Vert _{\max }\) is the norm value of the largest eigenvalue of the associated monodromy matrix
Table 5 Eigenvalues of \(M_{c_{15,36}}\) associated with \(\varvec{1D}\) for \(G_{15} = G_{26} = 1\) when considering the isochronous nominal point
Table 6 Eigenvalues of \(M_{c_{1,3}}\) associated with orbit \(\varvec{1D}\) with \(G_1 = G_3 = 1\) when considering several different minimum distance nominal points

Table 3 shows the eigenvalues of \(M_0\) associated with resonant NRHOs \(\varvec{1C}\), \(\varvec{1D}\), \(\varvec{2E}\), and \(\varvec{2F}\). In particular, the norm value of the largest eigenvalue \(\Vert \lambda \Vert _{\max }\) gives the stability properties of the orbits. It is clear that \(\varvec{1C}\), \(\varvec{1D}\) and \(\varvec{2F}\) are mildly unstable whereas \(\varvec{2E}\) is linearly stable. However, according to Figs. 1 and 2, these four orbits are close the Moon which makes dynamics highly sensitive to non-modeled perturbations and orbit determination (OD) errors. Reshaping only the unstable mode components and selecting the isochronous point as the nominal one, Tables 4 gives the eigenvalues of the matrices \(M_{c_1}\), \(M_{c_{1,3}}\) and \(M_{c_1}\) associated with orbits \(\varvec{1C}\), \(\varvec{1D}\) and \(\varvec{2F}\), for different values of the gain factors. For convenience, we consider always \(G_1=G_3\) when reshaping the \(\{c_1, c_3\}\) components of orbit \(\varvec{1D}\). As a result of the control with positive gain factors, the unstable eigenvalues are reduced to a small value, which is less than one and about \(e^{-G_i T_S}\), and their values decrease as the gain factor increases. In addition, all the other stable and central eigenvalues remain the same, indicating that these controllers do not produce asymptotic stability. Incorporating the central modes together with the unstable ones into the reshaping algorithm, Table 5 analyses the eigenvalues of \(M_{c_{15,36}}\) for orbit \(\varvec{1D}\), where the components \(c_{15}=w_1c_1 + w_5c_5\) and \(c_{36}=w_3c_6 + w_6 c_6\) are reshaped, for different weight values. In particular, \(G_{15}=G_{36}=1\), \(w_1+w_5=w_3+w_6=1\), and \(w_1\) is set equally to \(w_3\) for convenience. According to the table, all the eigenvalues are less than one which means that in these cases the asymptotic stability has been achieved. Moreover, Table 4 also gives the results of \(\{c_{135}, c_{246}\}\) reshaping control laws for \(\varvec{2E}\) for different gain factors \(G_{135}\) and \(G_{246}\) where \(c_{135}=c_1/3+c_3/6+c_5/2\) and \(c_{246}=c_2/3+c_4/6+c_6/2\). According to the table the asymptotic stability can also been achieved. Therefore, from Table 4 of \(\varvec{2E}\) and Table 5 of \(\varvec{1D}\) we can conclude that asymptotic stability can be achieved by means of properly incorporating the central Floquet modes into the reshaping algorithm.

As it has been mentioned before, the choice of the nominal point can have effect on the performance of the controller. Let us consider the \(\{c_1, c_3\}\) components reshaping control law for the orbit \(\varvec{1D}\) as an example. Table 6 analyses the results for several different nominal points which are at minimum distance to the spacecraft in the sense that \(d_n = w_p\sqrt{\delta x_n^2 + \delta y_n^2 + \delta z_n^2} + w_v\sqrt{\delta {\dot{x}}_n^2 + \delta {\dot{y}}_n^2 + \delta {\dot{z}}_n^2}\) is minimum where \(w_p+w_v=1\) and \(\delta \varvec{x}_n = [\delta x_n, \delta y_n, \delta z_n, \delta {\dot{x}}_n, \delta {\dot{y}}_n, \delta {\dot{z}}_n]^\text {T}\) is the state deviation between spacecraft and the nominal point. In particular, the nominal point is named as minimum position deviation point for \(w_p=1\) and \(w_v=0\), and as minimum speed deviation point for \(w_p=0\) and \(w_v=1.0\). According to the table, the controlled system is slightly unstable for points with \(w_p > 0.9 (w_v<0.1)\) since the modulus of the complex eigenvalues \(\{\lambda _5, \, \lambda _6\}\) is slightly larger than 1, and asymptotically stable for points with \(w_p < 0.9 (w_v > 0.1)\). Similar analyses on the effects of nominal points can be done for other cases.

Fig. 4
figure 4

Time evolution of the Floquet coefficients for orbit \(\varvec{1D}\). Reshaping control laws of components \(\{c_1, c_3\}\) with \(G_1=G_3=1\) for a 3 years simulation

4.2 Geometric behavior of the reshaping control laws

Following (Muralidharan and Howell 2020), we consider three levels of OD errors for the missions about the Earth–Moon NRHOs. Error level 1: mean 0 and standard deviation (\(3\sigma \)) of \(1 \,\textrm{km}\) in each position component and \(1 \,\mathrm {cm/s}\) in each velocity component; error level 2: mean 0 and standard deviation (\(3\sigma \)) of \(3 \,\textrm{km}\) in each position component and \(3 \,\mathrm {cm/s}\) in each velocity component; and error level 3: mean 0 and standard deviation (\(3\sigma \)) of \(5 \,\textrm{km}\) in each position component and \(5 \,\mathrm {cm/s}\) in each velocity component. Moreover, the initial injection error \(\varvec{x}_0\) will be set to \([5 \,\textrm{km}, 5 \,\textrm{km}, 5 \,\textrm{km}, 5 \,\mathrm {cm/s}, 5 \,\mathrm {cm/s}, 5 \,\mathrm {cm/s}]^\text {T}\) which is large enough for Earth–Moon libration point missions.

Considering orbit \(\varvec{1D}\) as an example, in Fig. 4 we show the time evolution of the Floquet coefficients of the controlled trajectory along 3 years and for the \(\{c_1, c_3\}\) reshaping controller for both isochronous point and minimum speed deviation point. According to its design, there is an exponential decay of \(c_1\) and \(c_3\) for both nominal points. Since \(c_2\) and \(c_4\) are associated with the stable modes, they tends to zero along the control process. For the isochronous point control, \(c_5\) and \(c_6\) oscillate because the modulus of the corresponding complex eigenvalues is equal to 1. However, \(c_5\) and \(c_6\) decay slowly for the minimum velocity distance point control due to the asymptotic stability of the controlled system. Incorporating the central modes into the reshaping algorithm by considering the \(\{c_{15}, c_{36}\}\) components, we give the results of the evolution of the Floquet coefficients in Fig. 5. According to this figure, the reshaped components \(c_{15}\) and \(c_{36}\) decay exponentially as well as all the components \(c_i (i=1,2,3,4,5,6)\), showing that asymptotic stability has been achieved for the \(\{c_{15}, c_{36}\}\) components control law.

Fig. 5
figure 5

Time evolution of the Floquet coefficients for orbit \(\varvec{1D}\). Reshaping control laws of components \(\{c_{15}, c_{36}\}\) with \(G_{15}=G_{36}=1\) for a 3 years simulation and isochronous nominal point

We should note that similar results are obtained for the orbit \(\varvec{2E}\). However, for the orbits \(\varvec{2F}\) and \(\varvec{1C}\), the controlled trajectories diverge although the eigenvalue analyses in Table 4 show that the controlled systems are stable. This is because the dynamics is very sensitive at the initial time due to the proximity to the Moon according to Figs. 1 and 2. The initial injection errors make the spacecraft to move quickly away from the nominal orbit and loosing the controllability.

Fig. 6
figure 6

Relative distance between the spacecraft and the nominal orbit along 10 years for \(\varvec{1D}\) \(\{c_1, c_3\}\) components reshaping control laws with \(G_1=G_3=1\). Left column: with respect to the nominal point; Right column: with respect to the minimum position deviation point

Fig. 7
figure 7

History of the control acceleration corresponding to the station-keeping controller in Fig. 6 Left column: error level 1; Middle column: error level 2; Right column: error level 3

4.3 Robustness of reshaping control laws to OD errors and cost estimations

OD accuracy is important in station-keeping missions because the measurement of the state of spacecraft is indispensable to obtain the control acceleration. However, OD errors are unavoidable in space missions. Therefore, it is necessary to test the robustness of the proposed controllers in front of OD errors where the three aforementioned levels are considered. Taking the orbit \(\varvec{1D}\) with \(\{c_1, c_3\}\) components reshaping control law as example, Fig. 6 presents the relative distance between the spacecraft and the nominal orbit considering both isochronous and minimum speed deviation nominal points. In particular, to assess the relative distance between the controlled trajectory and the nominal orbit in a reasonable way, the relative distance between the spacecraft and the minimum position distance point is also given. The observation frequency is set to 1 h. According to the first row, when the isochronous point is considered as nominal point, the relative distance between the spacecraft and the nominal point is quite large, even for the smallest OD error level 1 where the maximum distance reaches almost \(100 \,\textrm{km}\). For the larges OD error level 3, this maximum distance even reaches \(350 \,\textrm{km}\). However, the spacecraft is still close the nominal orbit according to the distance measured with respect to the minimum position distance point. Comparing the results for the two nominal points, the accuracy of station keeping seems higher for the minimum velocity distance point in terms of relative distance between the spacecraft and nominal point. However, under the isochronous point controller, the spacecraft is closer to the nominal orbit. Moreover, according to the figure, both control laws are able to maintain the spacecraft in a neighborhood of the nominal orbit for the 10 years simulations, although the controlled trajectory tends to diverge under the error level 3. In addition, we can see that a higher OD accuracy means a higher accuracy of the station keeping.

Let us finally provide some estimations on the magnitude of thrust and propellant consumption needed to apply the control strategies. Figure 7 shows the time histories of the control accelerations corresponding to the controlled trajectories displayed in Fig. 6. It can be seen that the magnitude of the control is close to \(1.0 \times 10^{-8} \,\mathrm {m/s^2}\) for OD error level 1, and \(1.0 \times 10^{-7} \,\mathrm {m/s^2}\) OD error level 3. And the choice of the nominal point has negligible impact on the magnitude of the control acceleration. Considering OD error level 3, for a \(200,000 \,\textrm{kg}\) space station, this translates into a thrust of \(2.0 \times 10^{-2} \,\textrm{N}\) and a total \(\Delta V\) of about \(31.54 \,\mathrm {m/s}\) for a 10-year mission.

5 Conclusions

The near rectilinear halo orbits (NRHOs) have been recognized as nominal orbits for the Gateway mission, however, their equivalences in the Quasi-Bicircular Problem (QBCP) are unstable and sensitive to non-modeled perturbations and orbit determination (OD) errors. Therefore, this paper investigates the low-thrust station keeping of the NRHOs where the dynamical reshaping approaches are evaluated. In particular, several reshaping strategies are proposed according to the geometrical structures of the nominal orbits and different nominal points are considered. Moreover, Jet Transport (JT) technique is used to formulate the control laws in a semi-analytic way making them explicitly expressed in a high-order polynomial formalism, where the variables are the state deviations between spacecraft and associated isochronous point. The JT technique not only unifies the control procedures independently of the nominal point considered, but also provides a straightforward way to obtain the monodromy matrix 1of the controlled system for its stability analysis.

The eigenvalues analysis of monodromy matrices show that the dynamical reshaping station-keeping control laws can stabilize the motion in the neighborhood of the nominal orbit by canceling the unstable Floquet modes. Asymptotic stability can be further achieved by incorporating the central Floquet modes into the reshaping algorithms. According to analysis on the geometric behaviors, the reshaped motion components decay exponentially as deigned showing the controllers have intuitive dynamical behaviors. In addition, three different levels of OD errors have been considered in the station keeping proving the robustness of the proposed reshaping controllers to the OD errors, and the level of OD errors determines the station keeping accuracy. We should note that when the isochronous nominal point is considered, the spacecraft seems to be far away from the nominal point, but the controlled trajectory is actually close the nominal one. Additionally, it is shown that the fuel needs of the controllers are reasonable and suitable to be implemented using a low-thrust propulsion device.