AAS 20-488

MOTION PRIMITIVES SUMMARIZING PERIODIC ORBITS AND NATURAL TRANSPORT MECHANISMS IN THE EARTH-MOON SYSTEM

Thomas R. Smith∗ and Natasha Bosanac†

Rapid trajectory design in multi-body systems often leverages individual arcs along natural dynamical structures that exist in an approximate dynamical model. To reduce the complexity of analysis during this process, motion primitives are con- structed as a set of arcs that represent the ﬁnite geometry, stability, and energy characteristics exhibited by a family of trajectories. In the absence of general- izable analytical criteria for extracting these representative solutions, clustering is employed. In this paper, this clustering-based approach to constructing motion primitives is improved and applied to spatial periodic orbit families and hyperbolic invariant manifolds in the Earth-Moon circular restricted three-body problem.

1 INTRODUCTION Rapid trajectory design strategies are crucial to cislunar exploration, particularly during mission concept development and in real-time contingency scenarios. In the absence of generalizable an- alytical expressions, one current approach to rapid trajectory design in multi-body systems is to ﬁrst generate a large library of fundamental solutions, ﬁnely discretized along families of periodic and quasi-periodic orbits.1 Specialized design tools are then used to explore the library and se- lect suitable arcs to construct an initial guess for a complex trajectory.2 However, this approach currently relies heavily on a human-in-the-loop for analysis and decision-making and may be time- consuming. Inspired by solutions in Big Data, one approach to reducing the analytical workload of the trajectory designer relies on data mining techniques. Data analysis techniques such as clustering have previously been used to summarize and analyze the solutions present in nonlinear dynamical systems for which analytical expressions are unavail- able. For instance, spectral clustering has been employed by Hadjighasem, Karrasch, Teramoto, and Haller to identify coherent Lagrangian vortices from the ﬂow of Lagrangian trajectories to develop a simpliﬁed description of the vortices in the underlying dynamical system.3 In astrody- namics, the partition-based clustering algorithm k-means has been used by Nakhjiri and Villac to identify bounded motions in a speciﬁc region of a Poincare´ map and by Villac, Anderson, and Pini to group periodic orbit solutions based on the locations of apses and orbital period in the augmented Hill’s three-body problem.4,5 In addition, Bosanac has applied hierarchical density-based clustering methods to planar Poincare´ maps in the circular restricted three-body problem (CR3BP) to group trajectories with similar geometries; the result is a reduced representative dataset that reduces the

∗Graduate Research Assistant, Colorado Center for Astrodynamics Research, Smead Department of Aerospace Engineer- ing Sciences, University of Colorado Boulder, Boulder, CO 80303. †Assistant Professor, Colorado Center for Astrodynamics Research, Smead Department of Aerospace Engineering Sci- ences, University of Colorado Boulder, Boulder, CO 80303.

1 complexity of visualization and facilitates analysis in the trajectory design process.6 Bonasera and Bosanac use a similar approach to simplify the analysis of higher-dimensional Poincare´ maps in both the natural CR3BP and a low-thrust enabled CR3BP.7 Each of these clustering applications demonstrate the value of using data mining techniques to summarize the solution space of trajecto- ries in chaotic dynamical systems in an unsupervised manner. Recently, Smith and Bosanac have used clustering algorithms to construct a set of motion primi- tives that summarize a family of planar periodic orbits in the CR3BP, with the goal of reducing the analysis workload for a trajectory designer.8 A motion primitive is the most representative solution among a group of similar solutions and is a well-known concept in robotics; motion primitives offer a summary of the solution space as well as a mechanism for rapid path planning.9–11 However, there is no explicit analytical criteria for extracting a set of motion primitives to summarize the solution space within a multi-body system. In Smith and Bosanac, clustering is used to extract a set of fun- damental motion primitives that represent the ﬁnite characteristics of a family of planar periodic orbits in an unsupervised manner.8 Using this procedure, a variety of feature sets and clustering methods effectively recovered motion primitives that summarize the family of Distant Prograde Or- bits (DPOs) in the Earth-Moon system. These results motivate further application of the motion primitive construction process to more complex dynamical structures within the spatial CR3BP. The focus of this paper is to apply and extend our previous work on the motion primitive construc- tion process to families of spatial periodic orbits and hyperbolic invariant manifolds in the CR3BP. Generating a set of motion primitives to summarize families of spatial trajectories and hyperbolic invariant manifolds is critical to capturing the natural transport mechanisms that are often used in trajectory design.12–15 This paper presents an updated approach for motion primitive construction, improved to accommodate spatial trajectories and an updated feature vector deﬁnition. In addition, input parameters for each clustering algorithm are selected automatically through the use of relative validity criteria, reducing the burden on a human analyst. This updated and expanded procedure is used to construct motion primitives for the L1, L2, and L3 northern halo, axial, and vertical fami- lies as well as trajectories along the unstable manifold associated with an L1 Lyapunov orbit in the Earth-Moon CR3BP. The resulting primitives effectively summarize each family of solutions and may, potentially, be useful in exploring the solution space in a guided, efﬁcient, and rapid manner, thereby reducing the analytical workload of the trajectory designer.

2 BACKGROUND: DYNAMICAL MODEL

The CR3BP approximates the motion of a spacecraft under the gravitational inﬂuence of two primaries, assumed to travel along circular orbits. The spacecraft is assumed to possess a negligi- ble mass compared to the larger primary body, the Earth, with constant mass M1 and the smaller primary body, the Moon, with constant mass M2. Additionally, both primary bodies are modeled as point masses.16 Following application of these assumptions, a rotating reference frame xˆyˆzˆ is deﬁned: the xˆ-axis is directed from the Earth to the Moon, the zˆ-axis is aligned with the orbital angular momentum of the primary system, and the yˆ-axis completes the right-handed triad. Then, the length, mass, and time quantities describing the state of the spacecraft are nondimensionalized using the characteristic parameters l∗, m∗, and t∗, respectively. Typically, l∗ is set equal to the dis- tance between the Earth and Moon, m∗ corresponds to the total mass of the system, and t∗ is deﬁned such that the nondimensional period of the primary system is equal to 2π. The state of the space- craft is then written as a nondimensional vector ~x = [x, y, z, x,˙ y,˙ z˙]T relative to the barycenter of the system and in the rotating frame. Using these assumptions and deﬁnitions, the nondimensional

2 equations of motion for the spacecraft in the CR3BP are written in the rotating frame as

(1 − µ)(x + µ) µ(x − 1 + µ) x¨ = 2y ˙ + x − 3 − 3 r1 r2 (1 − µ)y µy y¨ = −2x ˙ + y − 3 − 3 (1) r1 r2 (1 − µ)z µz z¨ = − 3 − 3 r1 r2 where µ = M2 is the mass ratio of the system, r = p(x + µ)2 + y2 + z2 is the distance M1+M2 1 p 2 2 2 between the spacecraft and the Earth, and r2 = (x − 1 + µ) + y + z is the distance between the spacecraft and the Moon. In this dynamical system, an integral of motion, commonly labeled the Jacobi constant, is conserved along natural trajectories and is equal to

2 2 2(1 − µ) 2µ 2 2 2 CJ = (x + y ) + + − x˙ − y˙ − z˙ (2) r1 r2

At a single value of the Jacobi constant, a variety of natural dynamical structures such as periodic orbits, quasi-periodic orbits, and hyperbolic invariant manifolds exist in families throughout the phase space.16, 17 Hyperbolic invariant manifolds govern the natural ﬂow of trajectories that asymp- totically approach or depart an unstable periodic orbit: trajectories that asymptotically approach a periodic orbit lie on the stable manifold, while trajectories that asymptotically depart the periodic orbit form the unstable manifold. Each family of periodic orbits or trajectories along a hyperbolic invariant manifold corresponds to a continuous set of solutions that tend to exhibit a ﬁnite number of distinct characteristics. However, there are often no clear and generalizable analytical expressions for grouping solutions along a family according to these characteristics.

3 BACKGROUND: CLUSTERING

Clustering is an unsupervised learning process for separating the members of a dataset into groups based on a deﬁned set of features.18 Data in the same cluster possess similar properties while data in different clusters possess dissimilar properties in the prescribed feature space; therefore, a quantita- tive feature space description must be deﬁned. Each of the n objects in a dataset is described by a m- dimensional feature vector f~. A clustering algorithm is then be applied to the (n×m)−dimensional dataset to uncover the natural groupings within the set. There are many factors that may impact the resulting clusters, such as: the type of clustering method and associated algorithm used to perform the clustering, the feature space description of each object in the dataset, and the input parameters used in the algorithm. Smith and Bosanac supply a detailed overview of common partition, hi- erarchical, and density-based clustering algorithms including: k-means, spectral clustering, mean shift, agglomerative clustering, Hierarchical Density-Based Spatial Clustering of Applications with Noise (HDBSCAN), and afﬁnity propagation.8 In this paper, each of these algorithms are leveraged to apply the motion primitive construction process to spatial periodic orbit families and hyperbolic invariant manifolds in the Earth-Moon CR3BP. This section outlines the feature space descriptions used to describe spatial orbits and manifold trajectories, the deﬁnition of a motion primitive in the context of this study, and the clustering validation techniques used for input parameter selection in the clustering algorithms.

3 3.1 Feature Space Descriptions 3.1.1 Describing Orbital Geometry One approach to representing the geometry of an orbit is to discretize the orbit into a sequence of states in the conﬁguration or phase space of the dynamical system.19 Sampling the orbit at equally spaced times may capture small geometric variations along an orbit. However, it is nontrivial to generally select an appropriate time distribution that sufﬁciently describes all periodic orbits, either along a single family or multiple families, while also limiting the resulting number of parameters. Rather, this work leverages a more generalizable and curve- based approach to produce a lower-dimensional description: sampling an orbit at apses relative to a speciﬁc reference point.6, 19 This sampling method effectively captures the principal variations in the geometry of an orbit via the locations in an orbit corresponding to periapsis or apoapsis, measured relative to a primary body or an equilibrium point. The state information at each apsis along an orbit is scaled to prevent unintended feature biases during the clustering process.18 Position components of the state at each apsis are normalized between -1 and 1 using the global maximum distance of an apsis relative to the center reference point along all members of the selected family. Then, the velocity unit vector vˆ = x˜˙xˆ + y˜˙yˆ + z˜˙zˆ is used to reﬂect the direction of motion at each apsis with components possessing values between -1 and 1 where the tilde notation indicates a normalized quantity. Therefore, the geometric component of a feature vector for an orbit in the CR3BP is deﬁned in this paper as

~ fg = x˜1 y˜1 z˜1 x˜˙ 1 y˜˙1 z˜˙1 ··· x˜l y˜l z˜l x˜˙ l y˜˙l z˜˙l (3) where l is the number of apses that occur along the orbit and all features are in the range [-1,1]. This geometric component of a feature vector is deﬁned to possess the same dimension across a family of periodic orbits, governed by lmax, the maximum number of apses that occur along any member. If the number of apses is not constant along a family, placeholder vectors are included in f~g. These placeholders are set equal to the zero vector, prior to normalization, to ensure that they are distinct from the vectors describing actual apses. Using these deﬁnitions, this component of the feature vector supplies a straightforward geometric description of an orbit that is computationally-efﬁcient to construct, limits unintended feature bias, may be generalized across various families, and, for many fundamental orbit families, does not produce an excessively high-dimensional description. In addition, this geometric description may be straightforwardly modiﬁed for planar orbits and extended to nonperiodic trajectories. 3.1.2 Describing Orbital Stability Orbital stability is a valuable consideration in the trajectory design process because it offers insights into the accessibility and maintainability of a speciﬁc orbit. The stability of a periodic orbit in the CR3BP is often described using its stability indices, s1 and s2. Each index is computed as the following sum of a pair of nontrivial eigenvalues of the monodromy matrix associated with the periodic orbit:

si = λj + λk (4)

17 where λj and λk correspond to a pair of reciprocal or complex conjugate eigenvalues. For planar periodic orbits, s1 is deﬁned as the stability index associated with planar modes while s2 corre- sponds to out-of-plane modes; together, their values offer useful insights into the local neighbor- hood of the orbit. However, the stability indices of spatial periodic orbits do not provide this clear distinction between in-plane and out-of-plane stability. If a stability index possesses a value be- tween -2 and 2, then the index corresponds to an oscillatory mode and, therefore, the existence of

4 nearby bounded motions. An index possessing a magnitude greater than 2, however, indicates the existence of hyperbolic invariant manifolds that supply natural transport mechanisms into and away from the orbit.20 When the order of magnitude of the stability index associated with unstable and stable modes is low, nearby trajectories exciting these modes require long time intervals to depart or arrive into the orbit. While s1 and s2 offer a convenient description of the local stability of an orbit, they can also possess a wide variety of values along a single family.21 A function is deﬁned to incorporate the stability indices into a feature vector while reducing unin- tended feature bias when the maximum value along the family possesses a large order of magnitude, offering a continuous stability description to avoid a loss of information, and mitigating excessive compression between the critical values of -2 and 2. To appropriately characterize the stability properties along a family of orbits, it may be desirable to: capture the often complex variations of the stability indices within the oscillatory mode regime; differentiate between a pair of oscillatory or unstable and stable modes; and avoid an artiﬁcial separation between strictly oscillatory modes and the pairs of eigenvalues that possess values that are close to unity. However, it may not be as essential to distinguish between stability indices with large magnitudes. To achieve these goals, the stability component of a feature vector describing a periodic orbit in the CR3BP is deﬁned us- ing a hyperbolic tangent function, which retains continuity and produces values between -1 and 1. Mathematically, the stability component of the feature vector is written as h s s i f~ = tanh 1 tanh 2 (5) s 2 2 By dividing each stability index by two and then computing the hyperbolic tangent of each in- dex, stability indices within the range [−2, 2] produce a feature vector component within the range [−0.7616, 0.7616] to maintain signiﬁcant resolution in the stability component of the feature vector. Through continuity, there is also no artiﬁcial separation between a stability index with a magni- tude that is strictly below 2 and one that is only slightly above. In addition, the asymptotes of the hyperbolic tangent function limit the differentiation between stability indices with large magnitudes. 3.1.3 Describing Orbital Energy Orbital energy is used in the trajectory design process to pro- vide preliminary insight into accessible regions of motion and heuristics for maneuver planning. In the CR3BP, the Jacobi constant, as deﬁned in Eq.2, is inversely proportional to the energy of the system:20 an increase in the Jacobi constant corresponds to a decrease in the energy of the system, and vice versa. Therefore, the energy component of a feature vector for a periodic orbit in the CR3BP is deﬁned in this paper as the following scalar quantity:

fe = C˜J (6) where C˜J is the Jacobi constant normalized to within the range [−1, 1] using the minimum and maximum values of CJ along the computed segment of the orbit family. This component of the feature vector supplies a single parameter to describe the energetic properties of each orbit along a family and is a general description that can be applied to any natural trajectory in the CR3BP. 3.1.4 Deﬁning Feature Vectors Leveraging the geometric, stability, and energetic properties of a trajectory in the CR3BP, feature vector deﬁnitions are formulated for spatial periodic orbits ~ and trajectories along a manifold respectively. The feature vector, fPO, is constructed to describe a spatial periodic orbit and simultaneously capture a variety of considerations of interest to a trajectory designer during initial guess construction. This parametric feature vector is deﬁned as ~ ~ ~ fPO = [fg fs fe] (7)

5 ~ and possesses a length of m = 6lmax + 3. Similarly, the feature vector, fMani, is constructed to describe the geometry of a trajectory along either an unstable or stable manifold associated with an unstable periodic orbit. This feature vector is deﬁned as ~ ~ fMani = [fg ∆t˜1 ··· ∆t˜l] (8) where f~g contains the states associated with periapses along the trajectory and ∆t˜i is the nondimen- sional time between periapses, normalized by the total integration time of the trajectory. Therefore, ~ fMani possesses a length of m = 7lmax and quantitatively summarizes the geometry of a trajectory along a manifold. Both feature vector deﬁnitions supply a ﬁnite, quantitative description of spatial trajectories along a family to create an (n × m)−dimensional dataset.

3.2 Motion Primitive Deﬁnition In this work, a motion primitive is seeded using the most representative solution within a cluster. For a clustering result produced using afﬁnity propagation, the exemplar for each cluster is used as a motion primitive. For clustering results produced using k-means, spectral clustering, mean shift, agglomerative clustering, and HDBSCAN, an alternative deﬁnition is used. In this analysis, the medoid of a cluster is used to deﬁne a motion primitive because the medoid is guaranteed to be a member of the cluster; this property is particularly advantageous for arbitrarily-shaped clusters.18 Using the deﬁnition of a medoid, the motion primitive associated with the ith cluster is identiﬁed as

|Ci| ~ X ~ ~ fMotionP rimi = argmin ||f − fj|| (9) ~ f∈Ci j=1

~ th where fMotionP rimi is the feature vector of the motion primitive computed for the i cluster, Ci is th th th the i cluster, |Ci| is the number of objects in the i cluster, and f~j is the feature vector of the j member in the ith cluster.22

3.3 Cluster Validation To discover the natural groupings of a dataset via clustering and without signiﬁcant human inter- vention, input parameters for each algorithm are selected using relative validity criteria. The values of these parameters could be straightforward to select if a priori knowledge of the dataset were avail- able. However, knowledge of the internal structure of a dataset is often unavailable for applications that beneﬁt from clustering, particularly in high-dimensional datasets with no analytical separation criteria. In this scenario, relative cluster validity criteria supply a scalar index that supports the systematic selection of input parameters.23, 24 Many relative cluster validity criteria evaluate the quality of a clustering result based on the compactness and degree of separation between the gen- erated clusters. Some indices are constructed to accommodate convex clusters, while others are better suited to arbitrarily shaped clusters. In this paper, two distinct relative validity criteria are employed. First, the Silhouette Width Criterion (SWC) is used to evaluate the clustering results and select input parameters for k-means, spectral clustering, mean shift, agglomerative clustering, and afﬁnity propagation because each of these algorithms produce convex clusters.25, 26 To evaluate clustering results that consist of dense, arbitrarily shaped clusters separated by sparse regions with noise, a relative Density-Based Clustering Validation (DBCV) index is used with HDBSCAN.24 For each algorithm, the dataset is ﬁrst clustered multiple times for a range of different input parameters. Then, a relative validity index is computed for each clustering result. The result with the highest

6 index determines the selected input parameter for the given algorithm. Of course, based on their deﬁnitions, these two criteria may not provide a robust and ideal measure for segmenting a contin- uous set of data for all families of orbits. Nevertheless, these two relative cluster validity criteria supply an initial starting point for automatic input parameter selection without a priori knowledge of the expected grouping and without signiﬁcant intervention from a human analyst when clustering each new dataset. 3.3.1 Silhouette Width Criterion The SWC is a scalar measure of the average compactness and degree of separation for a clustering result. Mathematically, the value of the SWC ranges from -1 to 1 and is deﬁned as k |Ci| 1 X 1 X bj − aj S = (10) k |C | max(a , b ) i=1 i j=1 j j

th th where k is the number of clusters, aj is the mean distance between the j object in the i cluster th and all other objects in the same cluster, and bj is the mean distance between the j object in the ith cluster and all the objects in the nearest cluster.27 A set of clusters is well separated and compact when the value of S is greater than 0; a value equal to 1 indicates the best clustering result. Conversely, a set of clusters is poorly grouped when S is less than 0, with a value equal to -1 indicating the worst clustering result. Thus, the SWC supplies a metric for comparing the quality of the clustering results produced from the same set of data and feature set but for different values of the input parameters. In this paper, the clustering result with the largest value of S is considered to correspond to the most appropriate selection of the input parameters for a given algorithm. 3.3.2 Density-Based Clustering Validation Index The DBCV index is a cumulative scalar mea- sure of the density separation and sparseness of a clustering result weighted based on the size of each cluster. Mathematically, the value of the DBCV index is calculated using all k clusters as

k X |Ci| DBCV = V (C ) (11) n C i i=1

th where VC (Ci) is the validity index of the i cluster. The validity index of cluster i assesses the quality of the cluster via its density separation and sparseness and is deﬁned as

min1≤j≤k,j6=i(DSPC(Ci,Cj)) − DSC(Ci) VC (Ci) = (12) max(min1≤j≤k,j6=i(DSPC(Ci,Cj)),DSC(Ci)) where the density separation of a pair of clusters, DSPC(Ci,Cj), is the minimum mutual reacha- bility distance between clusters Ci and Cj and the density sparseness of a cluster, DSC(Ci), is the 24 maximum mutual reachability distance within cluster Ci. The DBCV index implicitly penalizes noise by assigning a weight to each VC (Ci) according to the total number of objects in each cluster relative to the total number of objects in the entire dataset. Based on its deﬁnition, the value of the DBCV index ranges from -1 to 1 with larger values indicating better clustering results.24 Therefore, the DBCV index is leveraged in this paper to compare the clustering results of HDBSCAN for a range of values for its input parameters. The clustering result with the largest DBCV index is con- sidered to correspond to the most appropriate selection of the input parameters for a given dataset and corresponding features.

7 4 SUMMARIZING SPATIAL PERIODIC ORBIT FAMILIES 4.1 Overview of Motion Primitive Construction Process

In this paper, a variety of clustering algorithms are leveraged to summarize the L1, L2, and L3 northern halo, axial, and vertical orbit families in the Earth-Moon system via motion primitives. Smith and Bosanac have previously used k-means (KM), spectral clustering (S), mean shift (MS), agglomerative clustering (A), Hierarchical Density-Based Spatial Clustering of Applications with Noise (HDBSCAN or HD), and afﬁnity propagation (AP) to construct a set of motion primitives from the planar family of DPOs in the Earth-Moon system for a variety of feature sets.8 Each clustering algorithm effectively produced a feasible summary of the orbit family for each feature set. Furthermore, the clustering results in this previous analysis are relatively consistent across all six algorithms; thus, the same clustering algorithms are used in this paper. Given the diverse approach of each clustering method, it is advantageous to leverage all six algorithms in generating a set of motion primitives for a given family. In this section, all clustering results are produced using either the Scikit-Learn v0.23.1 clustering module or the HDBSCAN clustering module available in Python, depending on the algorithm.25, 28 To construct a set of motion primitives for each family of spatial periodic orbits, the following clustering procedure is followed:

1. Compute a family of spatial periodic orbits in the Earth-Moon system.

2. For each orbit in the family, compute the full state at each apsis along the orbit with respect to a speciﬁed equilibrium point, the stability indices, and the Jacobi constant.

3. Construct an (n × m)−dimensional dataset containing the feature vector of each orbit, as deﬁned in Eq.7 to reﬂect the geometry, stability and energy.

4. Select appropriate input parameters for each clustering algorithm. Each algorithm is applied to the dataset multiple times with different input parameters, within the ranges displayed in Table1, and the associated relative cluster validity criterion (SWC or DBCV) is computed for each clustering result. The result with the largest index determines the input parameters.

5. Apply each clustering algorithm to the dataset using the input parameters selected in Step 4 and extract a set of motion primitives from each clustering result.

6. Select the clustering result with the largest number of motion primitives to summarize the periodic orbit family. If there are multiple results with the same number of primitives, select the result with the largest value of the relative validity criterion.

4.2 Summarizing the Northern Halo Orbit Families

The L1, L2, and L3 northern halo orbit families emerge from a bifurcation along the L1, L2, 29 and L3 Lyapunov orbit families, respectively. Figures1a-c display a subset of each northern halo family computed in the Earth-Moon CR3BP using a multiple shooting corrections algorithm and pseudo-arclength continuation.17 Each orbit is plotted in the rotating frame, the arrows indicate direction of motion, the equilibrium points are marked with red diamonds, and the Moon and Earth are marked with gray circles (not to scale). As displayed in Figures1a-c, the ﬁrst orbits computed along each family possess large z-extensions above the plane of the primaries and a low periapsis with respect to one of the primary bodies. The last orbits computed along each family, however,

8 Table 1. Range of values examined during input parameter selection.

Algorithm Abbreviation Input Value Range

K-means KM k ∈ [3, 15] Mean Shift MS q ∈ [0.08, 0.18] Agglomerative A k ∈ [3, 15] Afﬁnity Propagation AP λ ∈ [0.859, 0.959] Spectral S k ∈ [3, 15] HDBSCAN HD minCSize ∈ [2, 24] minP ts ∈ [1, 24]

Figure 1. Subsets of the (a) L1, (b) L2, and (c) L3 northern halo orbit families in the Earth-Moon CR3BP. are centered around the associated equilibrium point and intersect a planar Lyapunov orbit family. Several distinct variations in geometry and stability occur along the L1, L2, and L3 northern halo families as the number of apses relative to an equilibrium point or the qualitative stability character- istics change; these changes are summarized in Table2. These known, distinct changes in geometry and stability are useful for conducting a high-level veriﬁcation of some of the expected clustering results; ideally, a suitable clustering-based framework is capable of discovering additional clusters beyond those driven by the changes listed in Table2. Using the geometric, stability, and energetic properties along each northern halo orbit family, a set of motion primitives is constructed to summarize each family of orbits. To form the dataset for each family, the apses along each orbit are identiﬁed with respect to the equilibrium point associ- ated with its family. However, the normalized state at each apsis is speciﬁed relative to the Moon for the orbits associated with L1 and L2 and relative to the Earth for the orbits associated with L3. Following the procedure outlined in Section 4.1, the clustering results and motion primitives for the L1, L2, and L3 northern halo orbit families are depicted for each clustering algorithm in Figures2, 3, and4 respectively. Each cluster within the results for a given algorithm is denoted with a distinct color, each motion primitive is located by a black diamond, and the primary geometry and stability changes are indicated with black and gray dashed lines, respectively. Furthermore, the results for each family are displayed with respect to the discretized orbit number along the family; although this quantity does not possess a physical signiﬁcance, it enables a clear and unique initial visual- ization of the results. Analyzing Figure2, all six clustering algorithms successfully detect the two

9 primary changes in geometry, G1 and G2, along the L1 northern halo family. However, not all algo- rithms identiﬁed all three stability changes using the selected feature vector and input parameters; this is not necessarily a negative result, as the changes in stability are not hard boundaries due to the deﬁnition of the stability component of the feature vector. Only afﬁnity propagation produced

Table 2. Dominant geometric and stability changes along the northern halo orbit families in the Earth- Moon CR3BP. Note: peri = periapsis, apo = apoapsis. Label Description of Change

L1 Northern Halo Family

S1 s1 > 2 → −2 < s1 < 2, s2 < −2 → s2 < −2 S2 −2 < s1 < 2 → −2 < s1 < 2, s2 < −2 → −2 < s2 < 2 S3 −2 < s1 < 2 → s1 > 2, −2 < s2 < 2 → −2 < s2 < 2 G1 2 apo. wrt L1 → 1 apo. wrt L1 , 2 peri. wrt L1 → 1 peri. wrt L1 G2 1 apo. wrt L1 → 2 apo. wrt L1, 1 peri. wrt L1 → 2 peri. wrt L1

L2 Northern Halo Family

S1 −2 < s1 < 2 → s1 < −2, −2 < s2 < 2 → −2 < s2 < 2 G1 2 apo. wrt L2 → 1 apo. wrt L2, 2 peri. wrt L2 → 1 peri. wrt L2 S2 s1 < −2 → −2 < s1 < 2, −2 < s2 < 2 → −2 < s2 < 2 S3 −2 < s1 < 2 → −2 < s1 < 2, −2 < s2 < 2 → s2 > 2 G2 1 apo. wrt L2 → 2 apo. wrt L2, 1 peri. wrt L2 → 2 peri. wrt L2

L3 Northern Halo Family

S1 −2 < s1 < 2 → −2 < s1 < 2, −2 < s2 < 2 → s2 > 2 G1 1 apo. wrt L3 → 2 apo. wrt L3, 1 peri. wrt L3 → 2 peri. wrt L3

Figure 2. Clustering results and motion primitives for the family of L1 northern halo orbits for each clustering algorithm.

10 Figure 3. Clustering results and motion primitives for the family of L2 northern halo orbits for each clustering algorithm.

Figure 4. Clustering results and motion primitives for the family of L3 northern halo orbits for each clustering algorithm.

additional clusters inﬂuenced by changes along the family in stability and energy when the input parameters are selected to maximize the SWC or DBCV index. In particular, afﬁnity propagation produced a clustering result that captures all of the primary changes in both geometry and stability along the family with additional resolution uncovered in orbits that exist closer to the plane of the primaries than at G2. The clusters and motion primitives produced by afﬁnity propagation for the L1 northern halo family are displayed in Figure5a by color, with the primitives displayed in bold. Visually inspecting Figures2 and5 reveals that these primitives appear to capture the ﬁnite set of characteristics exhibited by members of the L1 northern halo orbit family.

11 Figure 5. Clusters and resulting motion primitives constructed for the (a) L1, (b) L2, and (c) L3 northern halo orbit families in the Earth-Moon CR3BP.

Similar to the results for the L1 family, all six clustering algorithms successfully identify the two primary changes in geometry along the L2 northern halo family and the single primary change in geometry along the L3 northern halo family. The identiﬁcation of additional clusters that capture the fuzzy changes in stability as well as the less distinct variations in both geometry and energy is dependent on each clustering algorithm as well as the selected input parameters. In fact, there are variations in the clustering results between algorithms as depicted in Figures3 and4. For the L2 northern halo orbit family, afﬁnity propagation produced the clustering result with the largest number of clusters, capturing each primary geometric and stability change along the family, along with an additional cluster. Therefore, the clusters and primitives produced by afﬁnity propagation are displayed in Figure5b for the L2 northern halo family. Finally, k-means, agglomerative clus- tering, and spectral clustering each produced three clusters for the L3 northern halo family. Each of these algorithms produced similar clusters and corresponding primitives, but the result produced by agglomerative clustering resulted in the largest relative validity index score. The clusters and primitives produced by agglomerative clustering are shown in Figure5c for the L3 northern halos. The resulting motion primitives constructed for each northern halo family, displayed in Figure5, supply a trajectory designer with a simpliﬁed representation of each family of periodic orbits.

4.3 Summarizing the Axial Orbit Families

The L1, L2, and L3 axial orbit families connect to the L1, L2, and L3 vertical and Lyapunov orbit families, respectively.29 Figures6a-c display a subset of each axial family computed in the Earth-Moon CR3BP; note, in this paper, only one half of the complete axial families are analyzed due to their symmetry about the plane of the primaries. The computed segments of each family begin with planar solutions at the bifurcation with the Lyapunov orbits and end at the ﬁgure eight shaped orbits that bifurcate with the vertical orbit family. These computed segments of the axial orbit families exhibit less obvious variations in geometry, stability, and energy than the northern halo orbit families. As the orbits along each axial family evolve away from the planar orbit, the Jacobi constant consistently decreases until reaching the bifurcation with the associated vertical family. There are no distinct changes in qualitative stability along the computed segments of each axial family. Rather, each family shares similar stability index proﬁles with one index possessing very large magnitudes and the other index possessing values close to the critical value of 2. Finally, all three segments of the computed axial families shown in Figure6 admit four apses with respect to their associated equilibrium point.

12 Figure 6. Subsets of the (a) L1, (b) L2, and (c) L3 axial orbit families in the Earth-Moon CR3BP.

Figure 7. Clusters and resulting motion primitives constructed for the (a) L1, (b) L2, and (c) L3 axial orbit families in the Earth-Moon CR3BP.

The clustering-based framework outlined in Section 4.1 is used to construct motion primitives that summarize each axial family of orbits. Each clustering algorithm produces relatively similar clusters and resulting motion primitives for each family of periodic orbits, except for HDBSCAN. The HDBSCAN algorithm struggles with these orbit families due to the continuous nature of the feature space and fewer obvious variations within the feature set. However, the remaining algo- rithms produce a reasonable clustering result when compared with each family of orbits, depicted in conﬁguration space in Figure6. Following application of the procedure outlined in Section 4.1, spectral clustering is used to summarize the L1 and L3 axial families, while mean shift clustering is employed to summarize the L2 axial family. The resulting primitives and their corresponding regions of existence are depicted in Figures7a-c for the computed segments of the L1, L2, and L3 axial orbit families. Given the continuous, incremental changes in geometry, stability, and en- ergy along each axial family, the resulting primitives appear to capture and summarize the primary variations in these characteristics along the families.

4.4 Summarizing the Vertical Orbit Families

The L1, L2, and L3 vertical orbit families correspond to out-of-plane periodic orbits that exist in the center manifold of the collinear equilibrium points.29 Figures8a-c display a subset of each vertical family computed in the Earth-Moon CR3BP. These orbit families each form large loops above and below the x − y plane that supply viewpoints of the Earth and Moon at a large spectrum of latitudes. At one end of the computed segment of the L1 vertical family, the orbits possess small

13 Figure 8. Subsets of the (a) L1, (b) L2, and (c) L3 vertical orbit families in the Earth-Moon CR3BP.

maximum z-amplitudes and remain close to L1. Continuing along the family, the maximum z- amplitude increases. Continuing further, the maximum z-amplitudes begin to decrease as the orbits increase in size to revolve around the primaries and approach the x−y plane. Throughout the family, all orbits have four apses with respect to L1 and the Jacobi constant monotonically decreases as the orbits evolve away from L1. Additionally, there is a change in stability where one of the stability indices passes just below the critical value of 2 as the large orbits approach the x−y plane. However, the magnitudes of the stability indices are signiﬁcantly larger than the critical value of 2 throughout most of the computed segment of the family. The L2 and L3 vertical families exhibit a similar geometric proﬁle as the L1 vertical family. Both families also share similar variations in Jacobi constant. However, the stability indices of the L3 vertical family remain close to the critical value of 2 throughout the entire computed segment of the family, exhibiting a few changes in stability near this critical value.

The clusters and resulting motion primitives calculated for the L1, L2, and L3 vertical orbit fam- ilies appear to be driven by the primary variations in geometry along each family. The motion primitives constructed to summarize the L1, L2, and L3 vertical orbit families are depicted in Fig- ures9a-c using afﬁnity propagation for the L1 vertical family and mean shift clustering for the L2 and L3 vertical families. Visual analysis of this ﬁgure reveals that each set of motion primitives effectively captures the variations in maximum z-amplitude along each family. For the L1 vertical family speciﬁcally, the transition from the loops bending towards the Moon to bending towards the Earth is captured between the blue and red primitives. This clustering approach successfully sum- marizes the families of vertical orbits in the Earth-Moon system, with the goal of simplifying the analysis of these families for eventual use in rapid and informed trajectory design strategies.

5 SUMMARIZING HYPERBOLIC INVARIANT MANIFOLDS 5.1 Overview of Motion Primitive Construction Process The k-means clustering algorithm is leveraged to summarize the trajectories along the unstable manifold associated with a L1 Lyapunov orbit. Hyperbolic invariant manifolds are often leveraged to construct natural transfers throughout a multi-body system. Thus, the various geometries ex- hibited by trajectories that lie along an unstable manifold are summarized via a set of fundamental motion primitives. In this initial investigation, k-means is used due to its scalability in terms of com- putational performance for large datasets. To construct a set of motion primitives from trajectories along a hyperbolic invariant manifold, the following clustering procedure is followed:

14 Figure 9. Clusters and resulting motion primitives constructed for the (a) L1, (b) L2, and (c) L3 vertical orbit families in the Earth-Moon CR3BP.

1. Select an unstable periodic orbit with associated hyperbolic manifold structures and discretize the orbit into NPO nodes, equally spaced in time. 2. From each node on the periodic orbit, compute a single trajectory in a desired direction along either the unstable or stable manifold.17, 20 Specify a general set of terminating events that are evaluated along each trajectory and used to stop the propagation if one of the events occurs, such as an impact event with a primary body. 3. Discretize each trajectory into multiple smaller arcs based on a periapsis window. For exam- ple, consider a single trajectory along a manifold with 10 total periapsis events relative to the Earth and a periapsis window equal to 3. The ﬁrst arc is deﬁned from the initial state of the trajectory propagated until the third periapsis event (including an initial condition that may correspond to a periapsis), the second arc is deﬁned from the second periapsis event propa- gated until the fourth periapsis event, and so forth until the last computed arc terminates at the ﬁnal recorded periapsis of the trajectory. If the periapsis window is larger than the total number of periapsis events along the trajectory, then the trajectory is considered a single arc. 4. Compute the feature vector deﬁned by Eq.8 for each arc constructed in Step 3. For the initial arc along each trajectory, ∆t˜1 is equal to the normalized time from the initial state of the trajectory to the ﬁrst periapsis event. For subsequent arcs, ∆t˜1 is equal to the normalized time between the initial periapsis along the current arc and the previous periapsis along the original trajectory. 5. Construct an (n × m)−dimensional dataset containing the feature vectors computed in Step 4. If applicable, construct a separate (n × m)−dimensional dataset for the arcs in which the total number of periapsis events is less than the periapsis window. 6. Run an input parameter analysis for k-means on each dataset using the SWC to select appro- priate input parameters, from the range listed in Table1. 7. Apply k-means to each dataset using the input parameters selected in Step 6 and extract a set of motion primitives from each clustering result.

5.2 Summarizing the L1 Lyapunov Unstable Manifold Near the Earth

Trajectories are generated along the unstable half-manifold associated with an L1 Lyapunov orbit initially directed towards the Earth and summarized via a ﬁnite set of motion primitives. These tra-

15 jectories, at a Jacobi constant of 3.1212, exhibit many close approaches and revolutions around the Earth. Figure 10a displays, in red, the initial segments of trajectories computed along the unstable manifold departing the L1 Lyapunov orbit, denoted in black, towards the vicinity of the Earth. The gray regions denoted in Figure 10 correspond to the forbidden regions and are bound by the zero- velocity curves. Figure 10b displays the perigee map for these trajectories, generated for up to 10 perigees. To summarize the geometry of trajectories along the manifold, the clustering procedure outlined for a general hyperbolic invariant manifold structure is leveraged. The L1 Lyapunov orbit is discretized into 500 nodes, equally spaced in time, and the associated trajectories are generated for up to 10 periapses or until either impact with the Earth or departure through the L1 gateway. These trajectories are sampled to produce arcs of up to three periapses. Figure 11 displays the arcs within each cluster and the associated motion primitives, produced using k-means clustering. In this ﬁgure, the corresponding trajectories for each cluster are plotted in the conﬁguration space with the motion primitives denoted in bold. The clustering approach identiﬁed multiple fundamen- tal departure geometries from the initial L1 Lyapunov orbit, as displayed in the (1,2), (2,1), and (3,3) positions in Figure 11. Additionally, the rotating structure of close approaches and revolutions around the Earth along the manifold throughout the conﬁguration space are effectively summarized via the remaining motion primitives. This set of motion primitives supply a succinct summary of the trajectories along a manifold that may be useful when designing a transfer in cislunar space.

5.3 Summarizing the L1 Lyapunov Unstable Manifold Near the Moon

Trajectories are generated along the unstable half-manifold associated with an L1 Lyapunov orbit initially directed towards the Moon and summarized via a ﬁnite set of motion primitives. These trajectories exhibit a few close approaches to the Moon before either impacting the Moon or leaving the vicinity of the Moon through the L1 or L2 gateways. Figure 12a displays the initial segments of trajectories computed along the unstable half-manifold departing the L1 Lyapunov orbit, denoted in black, and directed towards the Moon. Furthermore, Figure 12b displays the perilune map generated from the trajectories relative to the Moon for up to 5 perilunes along each trajectory. From these trajectories, a dataset of smaller arcs along each trajectory are generated and clustered using the clustering procedure outlined for a general hyperbolic invariant manifold structure. Similar to the previous case for the unstable manifold towards the Earth, the L1 Lyapunov orbit is discretized

Figure 10. (a) Trajectories along the unstable manifold directed towards the Earth for a low energy L1 Lyapunov motion primitive at CJ = 3.1212 and (b) the resulting periapsis map relative to the Earth for up to 10 returns.

16 Figure 11. Clusters of trajectories with a periapsis window equal to 3 along the unstable manifold directed towards the Earth for an L1 Lyapunov orbit at CJ = 3.1212. Bold trajectories indicate motion primitives.

Figure 12. (a) Trajectories along the unstable manifold directed towards the Moon for an L1 Lyapunov orbit at CJ = 3.1212 and (b) the resulting periapsis map relative to the Moon for up to 5 returns. into 500 ﬁxed points, equally spaced in time. A perilune window equal to 2 is selected because these trajectories contain only a few periapsis events relative to the Moon. Additional termination conditions include impacting the Moon or passing through the L1 or L2 gateways. In this case, two separate datasets are created: the ﬁrst dataset contains arcs generated from trajectories that possess at least 2 perilunes, while the second dataset contains the trajectories with only a single perilune before satisfying a termination condition. The clusters and resulting motion primitives produced using k-

17 Figure 13. Clusters of trajectories with a periapsis window equal to 2 along the unstable manifold directed towards the Moon for an L1 Lyapunov orbit at CJ = 3.1212. The motion primitives are denoted in bold. means for the ﬁrst dataset are displayed in Figure 13, with the motion primitives denoted in bold. Figure 14 displays the clusters and resulting motion primitives, denoted in bold, constructed from the second dataset where each trajectory contains less than 2 periapsis events relative to the Moon before reaching a terminal condition. Each motion primitive summarizes a fundamental arc along the manifold that captures either the departure from the L1 Lyapunov orbit or general revolutions around the Moon. The arcs revolving around the Moon resemble segments along known periodic orbits and heteroclinic connections between L1 and L2 Lyapunov orbits. Thus, this summarization strategy may potentially enable identiﬁcation of the fundamental building blocks of natural transport mechanisms throughout the Earth-Moon system.

6 CONCLUSION In this paper, motion primitives are constructed to summarize families of spatial periodic orbits and hyperbolic invariant manifolds in the Earth-Moon system. A set of motion primitives is indi- vidually constructed for the L1, L2, and L3 northern halo, axial, and vertical periodic orbit families that capture the complex fundamental variations in geometry, stability, and energy along each fam- ily. The motion primitive extraction approach leverages multiple clustering methods to consistently identify suitable motion primitives that simplify both the visualization and analysis of a continuous

18 Figure 14. Clusters of trajectories with less than 2 periapsis events along the unstable manifold directed towards the Moon for an L1 Lyapunov orbit at CJ = 3.1212. The motion primitives are denoted in bold. orbit family. In addition to the spatial periodic orbit families, a clustering approach is also outlined to summarize a set of trajectories along the hyperbolic invariant manifolds associated with an un- stable periodic orbit. Speciﬁcally, the unstable manifold structure associated with an L1 Lyapunov orbit is analyzed. Each trajectory along the manifold is discretized into a series of smaller arcs based on a periapsis window to identify the fundamental variations in geometry along the manifold. This approach effectively summarizes the departure geometries towards both the Earth and the Moon from the L1 Lyapunov orbit, motion around each primary body, and trajectories that directly impact the Moon. For both the spatial periodic orbit families and the manifold trajectories, each motion primitive is displayed with respect to its corresponding cluster in the phase space of the Earth-Moon system to demonstrate the utility of using a motion primitive to summarize and represent a cluster of solutions. In particular, the corresponding clusters deﬁne the region of existence of each motion primitive. Quantitatively deﬁning the region of existence of a primitive is a key, fundamental future step in leveraging motion primitives for rapid initial guess generation during the mission concept development process and in real-time contingency scenarios.

7 ACKNOWLEDGEMENTS This work is being completed at the University of Colorado Boulder. It is funded by the NASA Space Technology Research Fellowship from the National Aeronautics and Space Administration.

REFERENCES [1] D. Guzzetti, N. Bosanac, A. Haapala, K. C. Howell, and D. C. Folta, “Rapid Trajectory Design in the Earth-Moon Ephemeris System via an Interactive Catalog of Periodic and Quasi-Periodic Orbits,” 66th International Astronautical Congress, Jerusalem, Israel, Oct. 2015. [2] A. Cox, N. Bosanac, D. Guzzetti, K. C. Howell, D. C. Folta, and C. M. Webster, “An Interactive Trajec- tory Design Environment Leveraging Dynamical Structures in Multi-Body Regimes,” 6th International Conference on Astrodynamics Tools and Techniques, Darmstadt, Germany, Mar. 2016. [3] A. Hadjighasem, D. Karrasch, H. Teramoto, and G. Haller, “Spectral-Clustering Approach to La- grangian Vortex Detection,” Physical Review E, Vol. 93, No. 6, 2016. [4] N. Nakhjiri and B. F. Villac, “Automated Stable Region Generation, Detection, and Representation for Applications to Mission Design,” Celestial Mechanics and Dynamical Astronomy, Vol. 123, No. 1, 2015, pp. 63–83. [5] B. F. Villac, R. L. Anderson, and A. J. Pini, “Organizing Ballistic Orbit Classes Around Small Bodies,” The Journal of the Astronautical Sciences, Vol. 63, No. 3, 2016, pp. 175–205. [6] N. Bosanac, “Data-Mining Approach to Poincare´ Maps in Multi-Body Trajectory Design,” Journal of Guidance, Control, and Dynamics, Vol. 43, No. 6, 2020.

19 [7] S. Bonasera and N. Bosanac, “Applications of Clustering to Higher-Dimensional Poincare´ Maps in Multi-Body Systems,” 30th AIAA/AAS Space Flight Mechanics Meeting, Orlando, FL, Jan. 2020. [8] T. R. Smith and N. Bosanac, “Constructing a Set of Motion Primitives in the Circular Restricted Three- Body Problem via Clustering,” AAS/AIAA Astrodynamics Specialist Conference, Portland, ME, Aug. 2019. [9] A. A. Paranjape, K. C. Meier, X. Shi, S. J. Chung, and S. Hutchinson, “Motion Primitives and 3-D Path Planning for Fast Flight Through a Forest,” The International Journal of Robotics Research, Vol. 34, No. 3, 2015, pp. 357–377. [10] B. Wang, J. Gong, R. Zhang, and H. Chen, “Learning to Segment and Represent Motion Primitives from Driving Data for Motion Planning Applications,” 21st International Conference on Intelligent Transportation Systems, Maui, HI, Nov. 2018, pp. 1408–1414. [11] Z. Jiang, M. Evans, D. Oliver, and S. Shekhar, “Identifying K Primary Corridors from Urban Bicycle GPS Trajectories on a Road Network,” Information Systems, Vol. 57, 2016, pp. 142–159. [12] M. W. Lo, “The Interplanetary Superhighway and the Origins Program,” IEEE Aerospace Conference Proceedings, Big Sky, MT, Mar. 2002. [13]G.G omez,´ W. S. Koon, M. W. Lo, J. E. Marsden, J. Masdemont, and S. D. Ross, “Connecting Orbits and Invariant Manifolds in the Spatial Restricted Three-Body Problem,” Nonlinearity, Vol. 17, 2004, pp. 1571–1606. [14] K. C. Howell and M. Kakoi, “Transfers Between the Earth-Moon and Sun-Earth Systems Using Mani- folds and Transit Orbits,” Acta Astronautica, Vol. 59, 2006, pp. 367–380. [15] K. E. Davis, R. L. Anderson, D. J. Scheeres, and G. H. Born, “The Use of Invariant Manifolds for Transfers Between Unstable Periodic Orbits of Different Energies,” Celestial Mechanics and Dynamical Astronomy, Vol. 107, No. 4, 2010, pp. 471–485. [16] V. Szebehely, Theory of Orbits: The Restricted Problem of Three Bodies. London, UK: Academic Press, 1967. [17] N. Bosanac, Leveraging Natural Dynamical Structures to Explore Multi-Body Systems. PhD disserta- tion, Purdue University, West Lafayette, IN, 2016. [18] J. Han, M. Kamber, and J. Pei, Data Mining Concepts and Techniques. Waltham, MA: Morgan Kauf- mann Publishers, 3 ed., 2012. [19] Y. Zheng, “Trajectory Data Mining: An Overview,” ACM Transactions on Intelligent Systems and Tech- nology, Vol. 6, No. 3, 2015. [20] W. S. Koon, M. W. Lo, J. E. Marsden, and S. D. Ross, Dynamical Systems, The Three-Body Problem and Space Mission Design. New York, USA: Springer, 2011. [21] R. A. Broucke, “Periodic Orbits in the Restricted Three-Body Problem with Earth-Moon Masses,” NASA Technical Report 32-1168, JPL, 1968. [22] M. V. d. Laan, K. Pollard, and J. Bryan, “A New Partitioning Around Medoids Algorithm,” Journal of Statistical Computation and Simulation, Vol. 73, No. 8, 2003, pp. 575–584. [23] M. Halkidi, Y. Batistakis, and M. Vazirgiannis, “Clustering Algorithms and Validity Measures,” Pro- ceedings of the 13th International Conference on Scientiﬁc and Statistical Database Management, Feb. 2001, pp. 3–22. [24] D. Moulavi, P. A. Jaskowiak, R. J. G. B. Campello, A. Zimek, and J. Sander, “Density-Based Clustering Validation,” SIAM International Conference on Data Mining 2014, Apr. 2014. [25] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duch- esnay, “Scikit-learn: Machine Learning in Python,” Journal of Machine Learning Research, Vol. 12, 2011, pp. 2825–2830. [26] L. Vendramin, R. J. G. B. Campello, and E. R. Hruschka, “On the Comparison of Relative Clustering Validity Criteria,” Proceedings of the SIAM International Conference on Data Mining 2009, Apr. 2009, pp. 733–744. [27] P. J. Rousseeuw, “Silhouettes: A Graphical Aid to the Interpretation and Validation of Cluster Analysis,” Journal of Computational and Applied Mathematics, Vol. 20, 1987, pp. 53–65. [28] L. McInnes, J. Healy, and S. Astels, “hdbscan: Hierarchical Density Based Clustering,” The Journal of Open Source Software, Vol. 2, Mar. 2017. [29] D. J. Grebow, “Generating Periodic Orbits in the Circular Restricted Three-Body Problem with Appli- cations to Lunar South Pole Coverage,” 2006.

20