Skip to main content
Log in

A two-level perturbation method for connecting unstable periodic orbits with low fuel cost and short time of flight: application to a lunar observation mission

  • Original Article
  • Published:
Celestial Mechanics and Dynamical Astronomy Aims and scope Submit manuscript

Abstract

The proposed method connects two unstable periodic orbits by employing trajectories of their associated invariant manifolds that are perturbed in two levels. A first level of velocity perturbations is applied on the trajectories of the discretized manifolds at the points where they approach the nominal unstable periodic orbit in order to accelerate them. A second level of structured velocity perturbations is applied to trajectories that have already been subjected to first level perturbations in order to approximately meet the necessary conditions for a low \(\varDelta \text {V}\) transfer. Due to this two-level perturbation approach, the number of the trajectories obtained is significantly larger compared with approaches that employ traditional invariant manifolds. For this reason, the problem of connecting two unstable periodic orbits through perturbed trajectories of their manifolds is transformed into an equivalent discrete optimization problem that is solved with a very low computational complexity algorithm that is proposed in this paper. Finally, the method is applied to a lunar observation mission of practical interest and is found to perform considerably better in terms of \(\varDelta \text {V}\) cost and time of flight when compared with previous techniques applied to the same project.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. [Points or smaller regions inside the region –.] denotes a list.

References

  • Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press, NY (2009)

    MATH  Google Scholar 

  • Davis, K.E.: Locally optimal transfer trajectories between libration point orbits using invariant manifolds. PhD Thesis, University of Colorado, Boulder, Colorado (2009)

  • Davis, K.E., Anderson, R.L., Scheeres, D.J., Born, G.H.: The use of invariant manifolds for transfers between unstable periodic orbits of different energies. Celest. Mech. Dyn. Astron. 107, 471–485 (2010)

    Article  ADS  MathSciNet  MATH  Google Scholar 

  • Davis, K.E., Anderson, R.L., Scheeres, D.J., Born, G.H.: Optimal transfers between unstable periodic orbits using invariant manifolds. Celest. Mech. Dyn. Astron. 109, 241–264 (2011)

    Article  ADS  MathSciNet  MATH  Google Scholar 

  • Davis, K., Born, G., Deilami, M., Larsen, A., Butcher, E.: Transfers to Earth–Moon L3 halo orbits. In: AIAA/AAS Astrodynamics Specialist Conference, Minneapolis, Minnesota, August (2012)

  • Davis, K., Born, G., Butcher, E.: Transfers to Earth–Moon \(\text{ L }_3\) halo orbits. Acta Astronaut. 88, 116–118 (2013)

    Article  ADS  Google Scholar 

  • Davis, K., Parker, J., Butcher, E.: Transfers from Earth to EarthMoon \(\text{ L }_3\) halo orbits using accelerated manifolds. Adv. Space Res. 55, 868–1877 (2015)

    Article  Google Scholar 

  • Gómez, G., Jorba, A., Masdemont, J., Simó, C.: Study of the transfer from the Earth to a halo orbit around the equilibrium point \(\text{ L }_1\). Celest. Mech. Dyn. Astron. 56, 541–562 (1993)

    Article  ADS  MATH  Google Scholar 

  • Gómez, G., Jorba, A., Masdemont, J., Simó, C.: Study of the transfer between halo orbits. Acta Astronaut. 43, 493–520 (1998)

    Article  ADS  Google Scholar 

  • Gómez, G., Masdemont, J.: Some zero cost transfers between libration point orbits. AAS/AIAA Spaceflight Mechanics Meeting, Clearwater, Florida, January (2000)

  • Gómez, G., Koon, W.S., Marsden, J.E., Masdemont, J., Ross, S.D.: Connecting orbits and invariant manifolds in the spatial restricted three-body problem. Nonlinearity 17, 1571–1606 (2004)

    Article  ADS  MathSciNet  MATH  Google Scholar 

  • Grebow, D.: Generating periodic orbits in the circular restricted three-body problem with applications to lunar south pole coverage. M.S. Thesis, Purdue University, West Lafayette, Indiana (2006)

  • Grebow, D.: Trajectory design in the Earth–Moon system and lunar south pole coverage. PhD Thesis, Purdue University, West Lafayette, Indiana (2010)

  • Hamera, K., Mosher, T., Gefreh, M., Paul, R., Slavkin, L., Trojan, J.: An evolvable lunar communication and navigation constellation concept. In: IEEE Aerospace Conference, Big Sky, Montana, May (2008)

  • Hiday-Johnston, L.A., Howell, K.C.: Transfers between libration point orbits in the elliptic restricted problem. Celest. Mech. Dyn. Astron. 58, 317–337 (1994)

    Article  ADS  Google Scholar 

  • Hill, K., Parker, J.S., Born, G.H., Demandante, N.: A lunar \(\text{ L }_2\) navigation, communication, and gravity mission. In: AIAA/AAS Astrodynamics Specialist Conference, Keystone, Colorado, August (2006)

  • Howell, K.C.: Three dimensional, periodic, ’halo’, orbits. Celest. Mech. 32, 53–71 (1984)

    Article  ADS  MathSciNet  MATH  Google Scholar 

  • Koon, W.S., Lo, M.W., Marsden, J.E., Ross, S.D.: Heteroclinic connections between periodic orbits and resonance transitions in celestial mechanics. Chaos 10, 427–469 (2000)

    Article  ADS  MathSciNet  MATH  Google Scholar 

  • Koon, W.S., Lo, M.W., Marsden, J.E., Ross, S.D.: Dynamical Systems, the Three-Body Problem and Space Mission Design. Springer-Verlag, New York (2007)

    MATH  Google Scholar 

  • Mingotti, G., Topputo, F., Bernelli-Zazzera, F.: Low-energy, low-thrust transfers to the Moon. Celest. Mech. Dyn. Astron. 105, 61–74 (2009)

    Article  ADS  MathSciNet  MATH  Google Scholar 

  • Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, New York (2005)

    Book  MATH  Google Scholar 

  • Parker, J.S., Born, G.H.: Modeling a low-energy ballistic lunar transfer using dynamical systems theory. J. Spacecr. Rockets 45, 1269–1281 (2008)

    Article  ADS  Google Scholar 

  • Shampine, L.F., Gordon, M.K.: Computer Solution of Ordinary Differential Equations: The Initial Value Problem. W.H. Freeman, San Francisco (1975)

    MATH  Google Scholar 

  • Strange, N., Landau, D., McElrath, T., Lantoine, G., Lam, T., McGuire, M., Burke, L., Martini, M. and Dankanich, J.: Overview of mission design for NASA asteroid redirect robotic mission concept. In: Proceedings of the 33rd International Electric Propulsion Conference, Washington, DC, October (2013)

  • Surovik, D.A., Scheeres, D.J.: Adaptive reachability analysis to achieve mission objectives in strongly non-Keplerian systems. J. Guid. Control Dyn. 38, 468–477 (2015)

    Article  ADS  Google Scholar 

  • Surovik, D.A., Scheeres, D.J.: Abstraction predictive control for chaotic spacecraft orbit design. In: 5th IFAC Conference on Nonlinear Model Predictive Control, Seville, Spain, September (2015)

  • Sweetser, T.H.: Estimate of the global minimum \(DV\) needed for Earth–Moon transfer. In: AAS/AIAA Spaceflight Mechanics Meeting, Houston, Texas, February (1991)

  • Szebehely, V.: Theory of Orbits. Academic Press, New York (1967)

    Google Scholar 

  • Trumbauer, E., Villac, B.: Heuristic search-based framework for onboard trajectory redesign. J. Guid. Control Dyn. 37, 164–175 (2014)

    Article  ADS  Google Scholar 

  • Tsirogiannis, G.A.: A graph based methodology for mission design. Celest. Mech. Dyn. Astron. 114, 353–363 (2012)

    Article  ADS  MathSciNet  Google Scholar 

  • Tsirogiannis, G.A., Markellos, V.V.: A greedy global search algorithm for connecting unstable periodic orbits with low energy cost. Celest. Mech. Dyn. Astron. 117, 201–213 (2013)

    Article  ADS  MathSciNet  Google Scholar 

  • Welch, C.M., Parker, J.S., Buxton, C.: Mission considerations for transfers to a distant retrograde orbit. J. Astronaut. Sci. 62, 101–124 (2015)

    Article  ADS  Google Scholar 

  • Wilson, R.: Derivation of differential correctors used in GENESIS mission design. Technical Report JPL IOM 312.I–03–002, Jet Propulsion Laboratory, Pasadena, California (2003)

Download references

Acknowledgments

The authors would like to thank an anonymous reviewer for constructive comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to George A. Tsirogiannis.

Appendices

Appendix 1: Numerical details of the proposed lunar observation mission

The following parameters for the Earth–Moon system have been used; mass parameter \(\mu =0.01215\), distance between the centers of primaries \(=3.85 \times 10^5\) km, orbital velocity of Earth \(=1.025\) km/s and orbital period of the primaries \(=2.361 \times 10^6\) s (Koon et al. 2007). All maneuvers are applied at nearly exact position intersection (less than 1 cm). For the numerical integration, an Adams–Bashforth–Moulton method (Shampine and Gordon 1975) has been used with relative error tolerance \(2.5\times 10^{-13}\) and absolute error tolerance \(10^{-22}\). For the discretization of \(\text {O}_1\) and \(\text {O}_2\), 300 and 400 initial trajectories have been used, respectively. Numerical data of the computed transfers is provided in the tables below. Values are given in non-dimensional units.

The maximum magnitude of the first-level velocity perturbations has been set to 10 m/s and the total time of flight has been limited to 110 days for avoiding additional high station keeping costs. For practical reasons, maneuvers are not allowed within a distance less than 1000 km from lunar surface in order to reduce the accidental collision risk. The number of perturbations that have been performed to each trajectory of first and second level has been set to 50. Finally, 100 km is used for the grid pitch.

[

\((x,\, y,\, z):\)

1.0029482498105304, 

0.0593381998822188, 

\( -0.0758323036832274\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

0.0937635183833283, 

0.0427278579670992, 

\( -0.3912339018000458\)

 
 

\(\varDelta \text {V}_1:\)

0.0012154964908286, 

\( -0.0001503983298222,\)

0.0047219581775258

 
 

\(\downarrow \) coasting time \(\text {T}_1\):

6.4009752300000002

  

]

[

\((x,\, y,\, z):\)

1.0271067937690825, 

\(-0.0302622855843949,\)

\(-0.1721606776129934\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

\(-0.0596052590332626,\)

\(-0.1252821525370665,\)

0.1334643842916853

 
 

\(\varDelta \delta \text {V}:\)

\(-0.0008519403644000,\)

0.0001066837448000, 

\(-0.0002304200192000\)

 
 

\(\downarrow \) coasting time \(\text {T}_2\):

0.4999891077800000

  

]

[

\((x,\, y,\, z):\)

0.9815587758462946, 

\(-0.0395176413498747,\)

\(-0.0195533798067150\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

\(-0.0598028479224199,\)

0.3021906010434887, 

0.6105954469487526

 
 

\(\varDelta \text {V}_2:\)

\(-0.0018584772484110,\)

0.0022379770702066, 

\(-0.0041914166668316\)

 
 

\(\downarrow \) coasting time \(\text {T}_3\):

8.6058908704477624

  

]

[

\((x,\, y,\, z):\)

0.9849208811396810, 

\(-0.0017101703117928,\)

0.0065398177115503

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

0.1592966028034104, 

1.7043898893908813, 

0.5357184991035920

 
 

\(\varDelta \text {V}_3:\)

\(-0.0001977566676899,\)

\(-0.0076322129789561,\)

\(-0.0031139608973222\)

 
 

\(\downarrow \) coasting time \(\text {T}_4\):

3.2835820895522390

  

]

[

\((x,\, y,\, z):\)

1.1188894591963121, 

0.1010596948401684, 

\(-0.1247830647687096\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

0.0851386463988011, 

\(-0.1483198661567018,\)

\(-0.1324956883943692\)

 
 

\(\varDelta \text {V}_4:\)

\(-0.0002363719876138,\)

\(-0.0040745689013784,\)

\(-0.0042323534506358\)

]

Appendix 2: Numerical details of the first-level perturbation transfer

[

\((x,\, y,\, z):\)

1.0045055121263318, 

\(-0.0599161382191328,\)

\(-0.0823874596024708\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

\(-0.0926845246763576,\)

0.0273033353634259, 

0.3737200090643828

 
 

\(\varDelta \text {V}_\text {I}:\)

0.0019767738510668, 

0.0008308210573649, 

\(-0.0016667354185791\)

 
 

\(\downarrow \) coasting time \(\text {T}_1\):

8.0596485100000006

  

]

[

\((x,\, y,\, z):\)

1.0079133069903501, 

0.0404539917710677, 

\(-0.0090235709354865\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

0.3715549527045271, 

0.2562777993321027, 

\(-0.4956142277779865\)

 
 

\(\varDelta \text {V}_\text {II}:\)

\(-0.0110529630935324,\)

0.0003639739400669, 

0.0221038480625804

 
 

\(\downarrow \) coasting time \(\text {T}_2\):

0.8000173180000000

  

]

[

\((x,\, y,\, z):\)

1.0756281724144445, 

\(-0.0680744190806753,\)

\(-0.1441033129248492\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

\(-0.0690449995726536,\)

\(-0.1608917776424809,\)

0.0275441482350788

 
 

\(\delta \text {V}:\)

\(-0.0001906351919000,\)

\(-0.0011874146780000,\)

\(-0.0000701438833200\)

 
 

\(\downarrow \) coasting time \(\text {T}_3\):

9.4922248799999984

  

]

[

\((x,\, y,\, z):\)

1.0633928402127983, 

0.1266085446070671, 

\(-0.0107567051072176\)

 
 

\((\dot{x},\, \dot{y},\, \dot{z}):\)

0.0875921256631643, 

0.0927487860706572, 

\(-0.2415600279677839\)

 
 

\(\varDelta \text {V}_\text {III}:\)

0.0026851198808377, 

\(-0.0027099253466977,\)

0.0022408109417431

]

Appendix 3: Sampling technique of perturbed trajectories of invariant manifolds

Each trajectory is numerically integrated using a high accuracy method (e.g., Shampine and Gordon 1975) so a set of time ordered state vectors \(\displaystyle [ x,y,z,\dot{x},\dot{y}, \dot{z}]^\top \) is obtained. For brevity, the position components of the vector are denoted by R, while the velocity components by V subscripts. Auxiliary data, such as time of flight (TOF), a unique trajectory number, and the velocity perturbations applied so far on the current trajectory are also stored. Unique trajectory numbers are used to retrieve the initial conditions of the trajectory from an auxiliary array that stores the relevant information for each perturbed trajectory. The notation \({ DP}^{W^{\{u|s\}}_i}_{\{R|V\}}\) is used for the data set of the i-th perturbed trajectory of the unstable/stable manifold, where \(\{\alpha |\beta \}\) means \(\alpha \vee \beta \).

A data set of a single trajectory contains many thousands of data points. This number should multiplied by the total number of the perturbed trajectories. The results are data sets of enormous size which makes evident that a sampling step is necessary. The sampling technique which is introduced here has two characteristics; it produces a set of samples with reasonable size (i.e., can be stored and processed efficiently), and it facilitates a low complexity search algorithm for connecting the perturbed trajectories manifolds. To this end, a regular mesh \(\text {MSH}\) in the configuration space \(\langle x, y, z\rangle \), is formulated. This regular mesh is the Cartesian product of three vectors \(\text {MSH}_{\overline{X}}\), \(\text {MSH}_{\overline{Y}}\) and \(\text {MSH}_{\overline{Z}}\). The elements of each of these vectors are equally distanced with limits \(\text {MSH}_{{\{x|y|z\}}_{\{\text {min}|\text {max}}\}}\) and step \(\text {MSH}_{{\{x|y|z\}}_{\text {step}}}\) (or picth), respectively. \(\text {MSH}_{\underline{i},\underline{j},\underline{k}}\) denotes a mesh node with coordinates \([\text {MSH}_{x_{\text {min}}}+\underline{i} \cdot \text {MSH}_{x_{\text {step}}}, \text {MSH}_{y_{\text {min}}}+\underline{j} \cdot \text {MSH}_{y_{\text {step}}}, \text {MSH}_{z_{\text {min}}}+\underline{k} \cdot \text {MSH}_{z_{\text {step}}} ]\) in the configuration space, where \(\underline{i},\underline{j}\) and \(\underline{k}\) are the indices of the generating vectors \(\text {MSH}_{\overline{X}}\), \(\text {MSH}_{\overline{Y}}\) and \(\text {MSH}_{\overline{Z}}\), respectively.

Every mesh node is considered as a potential connection point (meeting point) of the perturbed trajectories. Each of \({ DP}^{W^{u}_{i}}_{R}\), \({ DP}^{W^{s}_{j}}_R\) data sets is sampled so as to keep only those data points that are close to a mesh node. The term “close” means that a data point is inside a sphere/elipsoid that has a mesh node as center and radius a small fraction of the mesh step. Because the circumscribed cube/rectangular parallelepiped of this sphere is a good approximation of the corresponding sphere/elipsoid and is much easier to be computed, it will be used instead. Due to the regularity of the mesh, it is computationally easy to locate the closest mesh node for a data point. The problem is decoupled to three independent sub-problems in the x, y and z directions. The computation of \(\underline{i}\)-th index of the mesh node that is closest to the k-th data point \({ DP}^{W^{u}_{i}}_{R}\) is straightforward i.e., \(\underline{i} = \lfloor ({ DP}^{W^{u}_{i}}_{R_k}[x]-\text {MSH}_{x_\text {min}}) / \text {MSH}_{x_{\text {step}}} \rfloor \), if \(|{ DP}^{W^{u}_{i,j}}_{R_k}[x]-\underline{i} \cdot \text {MSH}_{x_{\text {step}}}|> \text {MSH}_{x_{\text {step}}}/2 \) then increase \(\underline{i}\) by one ([x] shortly after \({ DP}^{W^{u}_{i}}_{R_k}\) denotes x direction). Analogous computations provide \(\underline{j},\underline{k}\), too. If the Euclidean distance of the two points (data point and mesh point) is smaller than a threshold distance, it is chosen as a sample point.

Since the mesh is regular, the three-dimensional index \(\text {MSH}_{\underline{i},\underline{j},\underline{k}}\) can be replaced by a single and unique positive integer. The formula is the following one

$$\begin{aligned} \text {MSH}_{id} = (|\text {MSH}_{\overline{X}}| \cdot |\text {MSH}_{\overline{Y}}| ) \cdot (\underline{k} - 1) + (|\text {MSH}_{\overline{X}}| \cdot (\underline{j} - 1)) + \underline{i}, \end{aligned}$$
(12)

where \(|\alpha |\) denotes the cardinality of set \(\alpha \). This projection of the three-dimensional positions space to a one-dimensional space facilitates a low complexity search algorithm for connecting perturbed trajectories of invariant manifolds. The result of the sampling algorithm is a set of vectors with the following format

$$\begin{aligned} \overline{{ SP}}^{W^{{\{u|s\}}}_{i}} = [\text {MSH}_{id}, [\text {TOF}], \dot{x},\dot{y}, \dot{z}, i, [\varDelta \text {V}_p] ]^\top , \end{aligned}$$
(13)

where i is an unique identifier of a perturbed trajectory and \([\varDelta \text {V}]\) is a listFootnote 1 of velocity perturbation applied so far. \({ SP}^{u}\) and \({ SP}^{s}\) are the matrices that store the sample perturbed trajectories of the unstable and stable manifold, respectively. The computational complexity of the sampling algorithm is linear. Finally, the presented sampling algorithm can be extended so as to form multiple resolution sampling schemes, where some specific areas of the configuration space can be sampled using a finer mesh e.g., areas near the primaries.

Appendix 4: Discrete search and optimization algorithm

The unsorted form of \({ SP}^{u}\) is not suitable for a low complexity search algorithm. Since this data set is static (i.e., does not allow insertions or deletions of samples), a preprocessing sorting algorithm solves that problem. The \({ SP}^{u}\) matrix is sorted along the row that stores \(\text {MSH}_{id}\) values, so the elements to be arranged in ascending order. Quicksort, which follows the divide-and-conquer paradigm of algorithm design, is a suitable choice (see e.g., Cormen et al. 2009).

A single linear scan reveals the different segments of meeting points and their limits. A lookup table \(LU^{u}\), which is a compact representation of \({ SP}^{u}\) matrix, is obtained. The role of this lookup table is to store the minimum information that is needed for a fast search algorithm. Its first row stores the unique \(\text {MSH}_{id}\) number of each segment, the second row stores the lower index where the segment begins while the third row stores the upper index where the segment ends in the \({ SP}^{u}\) matrix.

A search algorithm should be employed for every sample point of \({ SP}^{s}\) so as to locate those points of \({ SP}^{u}\) that satisfy the “same \(\text {MSH}_{id}\)” condition. Since the position coordinates of every sample point have been uniquely projected into a one-dimensional space through transformation (Eq. 12), it is computationally equivalent to the problem of searching the lookup table for the corresponding \(\text {MSH}_{id}\). This core search of the lookup table is performed for all the data points of \({ SP}^{s}\), and thus should be computed with low complexity cost (i.e., binary search).

A Bloom filter is employed for an optimized version of the connection algorithm. It performs a rapid rejection of those sample points that have zero probability of being connecting points for the perturbed trajectories. The universe U is the full set of mesh nodes of the sampling algorithm, while the set S consists of the elements of the lookup table \(LU^{u}\). In particular, the membership of each sample point of \({ SP}^{s}\) is checked through the Bloom filter. The Bloom filter gives a few false positives results which are not harmful for the correctness of the transfers; they only “consume” some computational complexity. The algorithm is summarized on the following steps:

figure a

By skipping the last step (i.e., 19), Pareto analysis based choices can be made.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tsirogiannis, G.A., Davis, K.E. A two-level perturbation method for connecting unstable periodic orbits with low fuel cost and short time of flight: application to a lunar observation mission. Celest Mech Dyn Astr 125, 287–307 (2016). https://doi.org/10.1007/s10569-016-9680-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10569-016-9680-5

Keywords

Navigation