This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\PaperNumber

23-358

Cislunar Satellite Constellation Design via Integer Linear Programming

Malav Patel Graduate Student, Aerospace Engineering, Georgia Tech    Yuri Shimane PhD Candidate, Aerospace Engineering, Georgia Tech    Hang Woon Lee Assistant Professor, Mechanical and Aerospace Engineering, West Virginia University     and Koki Ho Professor, Aerospace Engineering, Georgia Tech
Abstract

Cislunar space awareness is of increasing interest to the international community as Earth-Moon traffic is projected to increase. This raises the problem of placing satellites optimally in a constellation to provide satisfactory coverage for said traffic. The Circular Restricted 3 Body Problem (CR3BP) provides promising periodic orbits in the Earth-Moon rotating frame for traffic monitoring. This work converts a spatially and temporally varying traffic coverage requirement into an integer linear programming problem, attempting to minimize the number of satellites required for the requested coverage.

1 Introduction

The Earth-Moon system and related orbital trajectories have been of interest since the early Apollo missions in the 1960s and 1970s. This trend carried into the early part of the 21st century with research efforts aiming to find better trajectories for tours in the Earth-Moon system and operations near the Moon.[1],[2]

The Artemis program has renewed this interest as Earth-Moon traffic is projected to increase through crewed and uncrewed missions in the coming decade. This makes the region of space between the Earth and the Moon, coined cislunar space, an attractive region to monitor. Ground based measurement is unable to provide sufficient observational power for such a vast region. This insufficiency motivates space-based monitoring schemes, realized as satellite constellations with optical payloads on favorable orbits for surveillance. Technological advancements over the last several decades have equipped satellites with stronger optical payloads, shrinking the performance gap between space-based and ground based observation technology. Several works[3],[4] have begun to investigate optimal architectures for surveillance. Intuitively, the cost of launching and maintaining a patrol constellation scales with the number of satellites in the constellation.

Following this demand for surveillance capability, Wilmer et al.[5] and Dahlke et al.[6] investigated using periodic orbits to monitor activity near the Lagrange points (L1-L5) in the Earth-Moon system. Zimovan et al.[7] investigated near-rectilinear halo orbits (NRHOs) around the Moon because of attractive stability, transfer prospectives, and eclipsing properties. Because of this, NRHOs are promising orbits for lunar space stations that serve as outposts for cislunar activity. Klonowski et al.[8] formulated space situational awareness (SSA) architecture design as a Markov Decision Process and employed the popular Monte Carlo Tree Search to optimize a constellation of up to 5 observers to maintain custody of a space object traveling on a specific orbit between the Earth and Moon. Vendl et al.[9] explored a more general region of cislunar space, specifically a 20 degree cone emanating from the Earth towards the Moon. The region consisted of 1071 target points, which were used to choose an optimal phase of an observer on an L1 (and separately, L2) Lyapunov orbit to maximize observation capability. However, the number of satellites was not a design variable in this formulation. In contrast, Visonneau et al. [10] presented a genetic algorithm for finding optimally sized constellations for monitoring regions of cislunar space, with no restriction on number of observers.

Monitoring capability depends on favorable SSA architectures, namely an attractive choice of orbits to place observers in. Frueh et al. [11] introduces the 2:1 resonant orbit as an attractive candidate for monitoring cislunar space because of its close approaches to the Earth and Moon and because it covers the entire cislunar region in under 20 revolutions. Gupta et al. [12] investigated how phasing an observer and a data relay satellite on separate orbits can impact the length of the window in which communication is possible. This phasing, however, is for the tail of the observation process, where already collected data needs to be relayed back to Earth.

This work aims to optimize the phasing and number of satellites to track and observe a specific target moving in the cislunar region.

2 Problem Overview

To motivate the solution procedure, we present the results of past work in a similar domain. Lee et al. [13] presented spatio-temporally varying Earth observation as an integer linear programming problem (ILP). The formulation sought to minimize the number of satellites required to satisfy a given regional coverage requirement on Earth’s surface. This work’s main contribution is to show that we can extend the formulation presented by Lee et al. [13] to the cislunar regime.

2.1 Accessibility Profile

Suppose there is target point in space between the Earth and Moon, denoted by 𝒑\boldsymbol{p} and an observer at position 𝒓\boldsymbol{r}. The target point’s observability can be quantified by an accessibility measure, gg. A simple measure could be the distance between observer and target, g(𝒑,𝒓)=𝒑𝒓g(\boldsymbol{p},\boldsymbol{r})=\|\boldsymbol{p}-\boldsymbol{r}\|. A more sophisticated measure is the apparent magnitude of the object, which is a function of the position of the sun as well, g=g(𝒑,𝒓,𝒔)g=g(\boldsymbol{p},\boldsymbol{r},\boldsymbol{s}) [14].

Suppose the observer is on an orbit with period TT, time is discretized for computational ease, and 𝒑\boldsymbol{p} is a static target point in space. At time step nn, 𝒓n\boldsymbol{r}_{n} is the observer’s position, 𝒔n\boldsymbol{s}_{n} the sun’s position, and a[n]=g(𝒑,𝒓n,𝒔n)a[n]=g(\boldsymbol{p},\boldsymbol{r}_{n},\boldsymbol{s}_{n}) is the accessibility measure. If the orbit is discretized into LL equal time steps, then aa is a L×1L\times 1 vector containing the accessibility measures along the observer’s orbit. In practice, the target point will be in one of two states, [observable] or [not observable]. In other words, the continuous accessibility measure must be transformed into a binary one. To achieve this, we introduce the accessibility profile, vv, distinct from the accessibility measure vector, aa. Define a threshold value, MM, for the accessibility measure. Then,

v[n]={1,if a[n]M0,otherwise}v[n]=\left\{\begin{array}[]{lr}1,&\text{if }a[n]\leq M\\ 0,&\text{otherwise}\end{array}\right\}

At time step nn, v[n]v[n] indicates whether the observer can view the target point.

2.2 Constellation Pattern Vector

Instead of a single observer, suppose we have a set (called a constellation) of observers on the same orbit of period TT again discretized into L time steps. The constellation pattern vector xx captures the phasing of the observers in the constellation relative to a seed satellite. At time step n=0n=0, if the seed satellite is at position 𝒓\boldsymbol{r}, then after nkn_{k} time steps, the kk-th observer will be at position 𝒓\boldsymbol{r}. The continuous-time time delay for the kk-th observer is Δtk=nkTL\Delta t_{k}=n_{k}*\frac{T}{L}. This is illustrated below in Figure 1.

Refer to caption
Figure 1: Correspondence between constellation pattern vector and constellation setup[13]

2.3 Coverage Timeline and Coverage Requirement

The accessibility profile is a vector of binary variables describing when the target is in view of the observer as the observer travels along its orbit. The coverage timeline, denoted by bb, is a L×1L\times 1 vector that extends the accessibility profile concept to multiple observers. At time step nn, b[n]b[n] describes the number of satellites with view access to the target point. Instead of a vector of binary variables, the coverage timeline is a vector of non-negative integers.

It turns out that a circular convolution between the constellation pattern vector xx and the accessibility profile vv returns the coverage timeline bb. The circular nature of the convolution is a direct consequence of the periodicity of the observers’ orbit. As such, bb can be computed from xx and vv:

b[n]\displaystyle b[n] =m=0L1v[m]x[(nm)modL]\displaystyle=\sum_{m=0}^{L-1}v[m]*x[(n-m)\bmod L]
=m=0L1x[m]v[(nm)modL]\displaystyle=\sum_{m=0}^{L-1}x[m]*v[(n-m)\bmod L]

Alternatively, the circular convolution can be conveniently expressed as a matrix multiplication between an L×LL\times L circulant matrix, VV, and the constellation pattern vector, xx. Here, the ii-th column of VV is produced by circularly shifting vv by ii elements.

Vx=bVx=b

Expanded in matrix form and using 1-based indexing,

[v[1]v[L]v[3]v[2]v[2]v[1]v[L]v[3]v[2]v[1]v[L1]v[L]v[L]v[L1]v[2]v[1]][x[1]x[2]x[L]]=[b[1]b[2][¯L]]\displaystyle{\begin{bmatrix}v[1]&v[L]&\cdots&v[3]&v[2]\\ v[2]&v[1]&v[L]&&v[3]\\ \vdots&v[2]&v[1]&\ddots&\vdots\\ v[L-1]&&\ddots&\ddots&v[L]\\ v[L]&v[L-1]&\cdots&v[2]&v[1]\\ \end{bmatrix}}{\begin{bmatrix}x[1]\\ x[2]\\ \vdots\\ \\ x[{L}]\end{bmatrix}}={\begin{bmatrix}b[1]\\ b[2]\\ \vdots\\ \\ \b{[}{L}]\end{bmatrix}}

Often times, we are interested in satisfying a coverage requirement, ff, which demands a different number of observers at different time steps. The goal, then, is to place a set of observers on the orbit (i.e. find a constellation pattern xx) such that the resulting coverage timeline bb meets or exceeds the coverage requirement ff. Stated mathematically,

Find x\displaystyle x
such that b[n]f[n]\displaystyle b[n]\geq f[n] forn={1,2,,L}\displaystyle\text{for}\ n=\{1,2,\cdots,L\}
where Vx=b\displaystyle Vx=b

2.4 Integer Linear Program Formulation

In general, there can be many constellation pattern vectors that satisfy the coverage requirement. However, it is often beneficial to minimize the total number of observers in the constellation while still satisfying the coverage requirement, since fewer observers reduce launch and maintenance costs.

The problem above of finding a constellation pattern xx is now a problem of finding the optimal constellation pattern xx^{*} that minimizes the number of observers in the constellation. The following integer linear program presents this mathematically.

minimize𝑥\displaystyle\underset{x}{\text{minimize}} 𝟏Tx\displaystyle\boldsymbol{1}^{T}x
subject to Vxf,\displaystyle Vx\geq f,
x{0,1}L\displaystyle x\in\{0,1\}^{L}

The objective is to minimize the total number of satellites, hence the objective 𝟏Tx\boldsymbol{1}^{T}x, which sums all the entries in xx.

2.5 Extension to Multiple Orbits & Target Points

The above formulation is linear, and thus allows extensions to multiple target points and multiple constellations.

2.5.1 Multiple Target Points

Suppose we have a set 𝒥\mathcal{J} of target points and we seek to find an optimal constellation of observers on a single orbit to monitor these target points according to a set of coverage requirements ={f1,f2,,f|𝒥|}\mathcal{F}=\{f_{1},f_{2},\cdots,f_{\lvert\mathcal{J}\rvert}\}. Each target point in 𝒥\mathcal{J} will have its own accessibility profile, and thus its own circulant matrix. Denote the circulant matrix for each target point by Vj,1V_{j,1}, where jj indexes the elements in 𝒥\mathcal{J}. Then we have

minimize𝑥\displaystyle\underset{x}{\text{minimize}} 𝟏Tx\displaystyle\boldsymbol{1}^{T}x
subject to V1,1xf1,\displaystyle V_{1,1}\ x\geq f_{1},
V2,1xf2,\displaystyle V_{2,1}\ x\geq f_{2},
\displaystyle\vdots
V|𝒥|,1xf|𝒥|\displaystyle V_{\lvert\mathcal{J}\rvert,1}\ x\geq f_{\lvert\mathcal{J}\rvert}
x{0,1}L\displaystyle x\in\{0,1\}^{L}

The linear constraint can be condensed into a single matrix equation by vertically concatenating the circulant matrices Vj,1V_{j,1} and coverage requirements fjf_{j}

minimize𝑥\displaystyle\underset{x}{\text{minimize}} 𝟏Tx\displaystyle\boldsymbol{1}^{T}x
subject to [V1,1V2,1V|𝒥|,1]x[f1f2f|𝒥|]\displaystyle{\begin{bmatrix}V_{1,1}\\ V_{2,1}\\ \vdots\\ V_{\lvert\mathcal{J}\rvert,1}\end{bmatrix}}x\geq{\begin{bmatrix}f_{1}\\ f_{2}\\ \vdots\\ f_{\lvert\mathcal{J}\rvert}\end{bmatrix}}
x{0,1}L\displaystyle x\in\{0,1\}^{L}

2.5.2 Multiple Orbits

Suppose we have a set 𝒵\mathcal{Z} of orbits and we seek to an optimal constellation of observers on each orbit to monitor a single target point. Each orbit in 𝒵\mathcal{Z} will have its own accessibility profile, and thus its own circulant matrix. Denote the circulant matrix for each orbit by V1,zV_{1,z} where zz indexes the elements in 𝒵\mathcal{Z}. Furthermore, each orbit will have its own constellation pattern vector, xzx_{z}. Then we have

minimize𝑥\displaystyle\underset{x}{\text{minimize}} z=1|𝒵|𝟏Txz\displaystyle\sum_{z=1}^{\lvert\mathcal{Z}\rvert}\boldsymbol{1}^{T}x_{z}
subject to V1,1x1f,V1,2x2f,,V1,|𝒵|x|𝒵|f\displaystyle V_{1,1}\ x_{1}\geq f,\ V_{1,2}\ x_{2}\geq f,\ \cdots,V_{1,\lvert\mathcal{Z}\rvert}\ x_{\lvert\mathcal{Z}\rvert}\geq f
x{0,1}L\displaystyle x\in\{0,1\}^{L}

The linear constraint can be condensed into a single matrix equation by horizontally concatenating the circulant matrices V1,zV_{1,z} and vertically concatenating the constellation pattern vectors xzx_{z}.

minimize𝒙\displaystyle\underset{\boldsymbol{x}}{\text{minimize}} z=1|𝒵|𝟏Txz\displaystyle\sum_{z=1}^{\lvert\mathcal{Z}\rvert}\boldsymbol{1}^{T}x_{z}
subject to [V1,1V1,2V1,|𝒵|][x1x2x|𝒵|]f\displaystyle{\begin{bmatrix}V_{1,1}&V_{1,2}&\cdots&V_{1,\lvert\mathcal{Z}\rvert}\end{bmatrix}}{\begin{bmatrix}x_{1}\\ x_{2}\\ \vdots\\ x_{\lvert\mathcal{Z}\rvert}\end{bmatrix}}\geq f
xz{0,1}L\displaystyle x_{z}\in\{0,1\}^{L}

We can combine the linearities above to provide a single comprehensive integer linear program. Let 𝒙\boldsymbol{x} be the augmented constellation pattern vector obtained by vertically concatenating the constellation pattern vectors xzx_{z}, where zz indexes the elements in 𝒵\mathcal{Z}. Let 𝒇\boldsymbol{f} be the augmented coverage requirement obtained by vertically concatenating the coverage requirements fjf_{j} for each target point, where jj indexes the elements in 𝒥\mathcal{J}. Let 𝑽\boldsymbol{V} be the augmented circulant matrix obtained by vertically concatenating the circulant matrices for each target point and horizontally concatenating the circulant matrices for each orbit. For clarity, 𝑽\boldsymbol{V}, 𝒙\boldsymbol{x}, and 𝒇\boldsymbol{f} are shown in matrix form,

𝑽=[V1,1V1,2V1,|𝒵|V2,1V2,2V2,|𝒵|V|𝒥|,1V|𝒥|,2V|𝒥|,|𝒵|]𝒙=[x1x2x|𝒵|]𝒇=[f1f2f|𝒥|]\displaystyle\boldsymbol{V}={\begin{bmatrix}V_{1,1}&V_{1,2}&\cdots&\cdots&V_{1,\lvert\mathcal{Z}\rvert}\\ V_{2,1}&V_{2,2}&\cdots&\cdots&V_{2,\lvert\mathcal{Z}\rvert}\\ \vdots&\vdots&\ddots&\ddots&\vdots\\ \vdots&\vdots&\ddots&\ddots&\vdots\\ V_{\lvert\mathcal{J}\rvert,1}&V_{\lvert\mathcal{J}\rvert,2}&\cdots&\cdots&V_{\lvert\mathcal{J}\rvert,\lvert\mathcal{Z}\rvert}\\ \end{bmatrix}}\boldsymbol{x}={\begin{bmatrix}x_{1}\\ x_{2}\\ \vdots\\ x_{\lvert\mathcal{Z}\rvert}\end{bmatrix}}\boldsymbol{f}={\begin{bmatrix}f_{1}\\ f_{2}\\ \vdots\\ f_{\lvert\mathcal{J}\rvert}\end{bmatrix}}

Thus, our full integer linear program is written as

minimize𝑥\displaystyle\underset{x}{\text{minimize}} 𝟏T𝒙\displaystyle\boldsymbol{1}^{T}\boldsymbol{x}
subject to 𝑽𝒙𝒇,\displaystyle\boldsymbol{Vx}\geq\boldsymbol{f},
𝒙{0,1}|𝒵|L\displaystyle\boldsymbol{x}\in\{0,1\}^{\lvert\mathcal{Z}\rvert L}

3 Circular Restricted 3 Body Problem

To leverage this formulation in cislunar space, a gravitational model of the region is needed. The circular restricted three body problem (CR3BP) offers an accurate model for the dynamics of a small satellite as it moves under the influence of two much larger bodies (in our case, the Earth and Moon). The equations are given by,

x¨2y˙\displaystyle\ddot{x}-2\dot{y} =dUdx\displaystyle=\frac{dU}{dx}
y¨+2x˙\displaystyle\ddot{y}+2\dot{x} =dUdy\displaystyle=\frac{dU}{dy}
z¨\displaystyle\ddot{z} =dUdz\displaystyle=\frac{dU}{dz}

where U is an effective potential of the rotating system, given by

U=x2+y22+1μr1+μr2U=\frac{x^{2}+y^{2}}{2}+\frac{1-\mu}{r_{1}}+\frac{\mu}{r_{2}}

Here, μ=m2m1+m2\mu=\frac{m_{2}}{m_{1}+m_{2}} is the mass ratio of the primaries and r1r_{1} and r2r_{2} are the distances of the object to each primary.

r1\displaystyle r_{1} =(x+μ)2+y2+z2\displaystyle=\sqrt{(x+\mu)^{2}+y^{2}+z^{2}}
r2\displaystyle r_{2} =(x(1μ))2+y2+z2\displaystyle=\sqrt{(x-(1-\mu))^{2}+y^{2}+z^{2}}

This formulation of the CR3BP uses normalized mass, distance, and time units which are aggregated in Table 1 below. It is important to note that the CR3BP admits periodic orbits as solutions, which is convenient for the integer linear program developed. Furthermore, the CR3BP admits 5 stationary points, called Lagrange points, where the acceleration and velocity of a satellite is zero. They are commonly referrred to as L1 through L5.

For certain accessibility measures such as the apparent magnitude of the object, the position of the sun is required in addition to that of the observer and target. In the rotating frame of the CR3BP, the sun’s motion is clockwise with period equal to the synodic period of the Earth-Moon system. A simplified model of the sun’s motion is a coplanar clockwise circular orbit of radius 1 AU around the Earth-Moon barycenter. Note that the sun is only used as an illumination source in this model. We do not consider the sun’s gravitational perturbation on the system. Parameters for the dynamics of this system are gathered in Table 1 in the appendix.

4 Utilizing the Formulation in Cislunar Space

A flow graph of the proposed formulation is shown in Figure 2 below. The first stage consists of precomputation, where we determine the accessibility for each (target point, observer location) pair in the entire constellation for the simulation period. Second, we construct the augmented circulant matrix 𝑽\boldsymbol{V} by phasing the accessibility measures. This primarily consists of a simple circular shift operation. Lastly, we provide the necessary variables to an optimizer in the form of an integer linear program. The algorithm is outlined in pseudocode in the appendix. All orbits are discretized such that successive position states are 0.015 TU \approx 93 minutes apart.

Refer to caption
Figure 2: Optimizer Illustration

4.1 Target Point Set 𝒥\mathcal{J}

As traffic between the Earth and the Moon is anticipated to increase, an attractive choice is a transfer orbit from L1 to geosynchronous Earth orbit (GEO). Figure 3 illustrates this transfer. It consists of a manifold insertion from L1 followed by a high impulse manuever into a connecting orbit to GEO. The transfer takes \approx 23.12 days. The discretized position history (i.e. the blue circles in Figure 3) are target points comprising the set 𝒥\mathcal{J}. Note that although we define 𝒥\mathcal{J} as a set of points, it is actually a sequence. Target point 1 is followed by target point 2 and so on, tracking the position of a hypothetical target on this path from L1 to GEO.

Refer to caption
Figure 3: L1 to GEO transfer

4.2 Observer Orbit Set 𝒵\mathcal{Z}

There are a variety of periodic orbits in the CR3BP. Of these, the most attractive options offer close approaches to L1 and GEO while moving through the majority of cislunar space. Furthermore, as per an AFRL objective to monitor a 30 degree cone emanating from the Earth, orbits in this region are also attractive. We choose a set of 6 orbits inspired by Gupta et al.[12], which are plotted in Figure 4 below. The initial conditions are shown in Table 3 in the appendix. All orbits were generated via a single-shooting differential correction algorithm with initial guesses sampled from data provided by NASA JPL[15] and Broucke. [16]. All orbits have period TT = 6.45 TU \approx 28.008 days. It should be noted that the L1 Lyapunov and L2 Halo have a fundamental period of T2\frac{T}{2} = 3.225 TU which means they are also TT-periodic. The circular restricted problem does not admit many orbits with period equal to the synodic period of the Earth-Moon system (approximately 29.05 days). As a consequence, while the orbits themselves repeat, the illumination conditions will not. As such, the results of the formalism apply on a case-by-case basis depending on the sun’s initial phase (in radians) relative to the Earth-Moon axis, denoted as ϕ0\phi_{0}. We stress that the candidate orbits are chosen to have periods as close as possible to the synodic period and are still resonant in the CR3BP sense. This ensures the difference in illumination conditions is small after t=6.45t=6.45 TU compared to a randomly chosen constellation period. We aimed to approximately minimize this difference while preserving candidate orbit diversity. In this work we choose ϕ0\phi_{0} = 0 for optimization (Earth-Moon-Sun are collinear at simulation start). However, we investigate the robustness of the constellation to different initial phase angles later in the Results section.

Refer to caption
Figure 4: Candidate Orbits

4.3 Accessibility Metric and Threshold

To quantify the the observability of a target from an observer’s position, we utilize the target point’s apparent magnitude.[14],[9]Consider an observer at position 𝒓\boldsymbol{r}, a spherical target with diameter dd at position 𝒑\boldsymbol{p}, and the sun at position 𝒔\boldsymbol{s}. Define the solar phase angle ψ\psi,

ψ=(𝒑𝒓)(𝒑𝒔)𝒑𝒓𝒑𝒔\psi=\frac{(\boldsymbol{p}-\boldsymbol{r})\cdot(\boldsymbol{p}-\boldsymbol{s})}{\|\boldsymbol{p}-\boldsymbol{r}\|\|\boldsymbol{p}-\boldsymbol{s}\|}

It should be noted that ψ\psi is the familiar angle used in the dot product formula between two vectors, taking on values between 0 and π\pi. The diffuse phase angle function can be written as a function of ψ\psi,

pdiff(ψ)=23π(sinψ+(πψ)cosψ)p_{\text{diff}}(\psi)=\frac{2}{3\pi}(\sin{\psi}+(\pi-\psi)\cos{\psi})

On the interval (0, π\pi), pdiffp_{\text{diff}} is a strictly decreasing function. The apparent magnitude of a target is given by,

g(𝒑,𝒓,𝒔)msun2.5log10[d2ζ2(aspec4+adiffpdiff(ψ))]g(\boldsymbol{p},\boldsymbol{r},\boldsymbol{s})\triangleq m_{\text{sun}}-2.5*\log_{10}\Big{[}\frac{d^{2}}{\zeta^{2}}*(\frac{a_{\text{spec}}}{4}+a_{\text{diff}}*p_{\text{diff}}(\psi))\Big{]}

Where ζ=𝒑𝒓\zeta=\|\boldsymbol{p}-\boldsymbol{r}\| is the distance between the oberver and target, and aspec,adiffa_{\text{spec}},a_{\text{diff}} are the specular and diffuse reflection coefficients of said target, respectively. Values can be found in Table 2 in the appendix. It should be noted that the solar phase angle ψ\psi is distinct from the initial phase angle ϕ0\phi_{0} described in the Observer Orbits section above. ϕ0\phi_{0} descibes the initial orientation of the Sun relative to the Earth-Moon axis. ψ\psi describes the orientation of an observer, a target point, and the Sun. The value of gg increases with ψ\psi, meaning solar phase angles closer to π\pi result in an unfavorably dim target. Every unit increase in apparent magnitude corresponds to a 2.5 times dimmer target. In addition to this, we consider the possibility that the Earth and Moon may occlude the target. If this is the case, the accessibility measure is set to \infty, indicating an invisible target point. In practice, the measure will be set to the largest floating point number (often denoted REALMAX) available on the machine. We choose a threshold value of M=17M=17 as our access measure cutoff. Together, gg and MM define our accessibility metric and threshold, respectively.

4.4 Coverage Requirement 𝒇\boldsymbol{f}

We seek a set ={f1,f2,,f|𝒥|}\mathcal{F}=\{f_{1},f_{2},\cdots,f_{\lvert\mathcal{J}\rvert}\} of coverage requirements, one for each target point in the set 𝒥\mathcal{J}. As our object of interest travels along the transfer, it travels through each target point in order. Thus, the coverage requirement for target point j+1j+1 should be that of target point jj, but shifted (in fact, circularly shifted due to the periodicity of observer orbits) forward by one index. Mathematically,

fj+1[i]=fj[(i1)modL]f_{j+1}[i]=f_{j}[(i-1)\bmod L] (1)

Where [][\ ] symbolizes 0-based indexing into the coverage requirement array fjf_{j}. This recursive relation is convenient because we are only required to define the coverage requirement f1f_{1}, with subsequent fjf_{j} defined by Eqn. 1. An example set ={f1,f2,f3}\mathcal{F}=\{f_{1},f_{2},f_{3}\} is illustrated below in Figure 5.

Refer to caption
Figure 5: Illustration of Equation 1

5 Results

In the above image, there are two departure windows (shown as two impulses) in each coverage requirement. We choose to investigate how this number of departure windows affects the satellite constellation size. The number of requested departure windows reflects the amount of uncertainty in launch time. With more departure windows, the constellation is optimized for robustness against target departure delays. However, this will come at the cost of increasing constellation size. We specifically investigate N{1,2,4,8,16}N\in\{1,2,4,8,16\}, where the departure windows are uniformly separated amongst the LL time steps. The powers of two ensure that the indices where fj=1f_{j}=1 for kk departure windows are a subset of the indices where fj=1f_{j}=1 for 2k2k departure windows, all while keeping the windows uniformly distributed in the interval [0,L][0,L]. Figure 7 illustrates the result of the optimizer for N=16N=16 departure windows. The constellation consists of 9 satellites distributed on 3:1 and 2:1 resonant orbits. These orbits were likely chosen by the optimizer because of their close approaches to the moon, where a significant portion of the spatio-temporal coverage requirement is located. Figure 14 in the appendix illustrates the results of the optimizer for every element N{1,2,4,8,16}N\in\{1,2,4,8,16\}. Figure 7 illustrates the optimal number of satellites versus the requested number of departure windows. The constellation size grows with the coverage demand. This is intuitive, since coverage potential grows with the number of observers in the constellation. We see linear growth does not hold as the coverage requirement grows. At some finite constellation size, it is expected that coverage ability saturates. Significantly stronger compute is necessary to analyze >> 16 departure windows . A continuous coverage requirement, i.e. 𝒇=𝟏\boldsymbol{f}=\boldsymbol{1}, would require parallel computation for reasonable evaluation time.

Refer to caption
Figure 6: Optimal Constellation for 16 Departure Windows
Refer to caption
Figure 7: Constellation Size vs. Number of Departure Windows

5.1 Robustness to Delays

The constellation shows impressive robustness to delays in departure. Figures 9 and 9 show binary indicator maps for constellations optimized for N=1N=1 and N=16N=16 departure windows. Figure 15 in the appendix shows the maps for each N{1,2,4,8,16}N\in\{1,2,4,8,16\} requested departure windows. Areas shaded in green indicate a pair (Time Step, Target Point) which is observable by at least one satellite in the constellation. Areas shaded in black are not observable. The red lines (shown as diagonal streaks across Figures 9 and 9) illustrate the spatio-temporal coverage requirement sent to the optimizer. These regions are always covered, as required by the formulation. We see that the majority of the optimizer’s work attempts to cover the target points closer to GEO (target point No. 300 and onwards). As seen in Figure 3, these points are spaced further apart (the target is moving quickly in this region), naturally making it more difficult to observe. With increasing NN, we make progress in closing the gap, with most of the binary map displaying green for N=16N=16.

Refer to caption
Figure 8: Coverage Robustness for 1 Departure Window
Refer to caption
Figure 9: Coverage Robustness for 16 Departure Windows

5.2 Robustness to Initial Sun Phase Angle, ϕ0\phi_{0}

We acknowledged earlier that because our candidate orbits are not resonant with the Earth-Moon synodic period, after one simulation period, the illumination conditions will differ slightly at the start of the second epoch (t=6.45t=6.45 TU). The orbits repeat but now with a slightly different initial sun phase angle, ϕ0\phi_{0}. As discussed above, we chose an initial sun phase angle of 0 rad, meaning that at the start of the simulation, the Sun is on the positive x-axis at distance 1 AU. The constellations are optimized for this phase angle, but they show impressive robustness against various initial sun phase angles. We investigated numerous ϕ0\phi_{0} between 0 and 2π\pi, given a constellation already optimized for N=2N=2 departure windows (see Figure 15 in the appendix for an illustration of the constellation). Figure 11 shows that despite changes in ϕ0\phi_{0}, the constellation still satisfies a majority of the coverage requirement. As such, the constellation’s effectiveness extends beyond just one simulation period. For example, if mission requirements mandate a 70%\% coverage requirement satisfaction, then our constellation meets the mandate.

Refer to caption
Figure 10: Coverage Requirement Satisfaction vs. ϕ0\phi_{0} for 2 Departure Windows
Refer to caption
Figure 11: Coverage Robustness for 2 Departure Windows with ϕ0=162\phi_{0}=162^{\circ}

Furthermore, Figure 11 shows that there exist several values of ϕ0\phi_{0} still satisfying >> 90%\% of the coverage requirement. Figure 11 shows the coverage map for one such angle, ϕ0=162\phi_{0}=162^{\circ}. Not only is 97%\% of the coverage requirement satisfied, the impressive ratio of green to black shows that robustness to delay is still present.

Of all the investigated ϕ0\phi_{0} in the range [0, 2π\pi], ϕ0=250\phi_{0}=250^{\circ} was the worst performing constellation. However, it still satisfied 71.48 %\% of the coverage requirement. Figure 13 shows the coverage map for this choice of ϕ0\phi_{0}, illustrating that despite only satisfying 71.48 %\% of the coverage requirement, the constellation still boasts impressive robustness to delays (shown via the ratio of green to black). There is a band of invisibility (appearing as an hourglass figure in black) in the approximate time step range 70 to 130. This is due to unfavorable solar phase angles ψ\psi that are incurred in this region. Figure 13 shows the position of the observers as well as the direction of the Sun’s rays at time step 100. We see that the positions of the Sun, target points, and observer on the Lyapunov orbit result in solar phase angle >π2>\frac{\pi}{2}. In this scenario the Sun’s rays are too direct, resulting a poorly illuminated target, making it difficult for optical sensors to monitor.

Refer to caption
Figure 12: Coverage Robustness for 2 Departure Windows with ϕ0=250\phi_{0}=250^{\circ}
Refer to caption
Figure 13: Satellite Positions at Time Step 100

6 Conclusions and Future Work

In this work we show the extension of the formulation provided by Lee et al. [13] to the cislunar regime. We show that the extension is viable in this regime due to periodic orbits present in the CR3BP. Monitoring specific transfers (such as L1 to GEO presented in this work) is possible with small constellation sizes. With more satellites, we get increasing coverage and thus, robustness to delays. This formulation can be used with any set of target points, not a trajectory specifically. This method is also fast, as illustrated by its implementation on personal computers. Significant compute is not required until the coverage requirement becomes close to continuous.

Rerunning the simulation with higher fidelity models is left to future work. Instead of the Sun on a coplanar orbit, we may incline it by 5\approx 5^{\circ} to reflect the Earth-Moon system’s tilt with respect to the ecliptic. Furthermore, the Sun’s gravitational perturbation can be incorporated to determine its effect on the stability and periodicity of candidate orbits in the CR3BP. Lastly, the objective of optimization can incorporate more complex costs. We can penalize constellations that place satellites on separate orbits and include a weighting term to reflect the degree of its importance.

7 Acknowledgement

The authors gratefully acknowledge support for this research from the Air Force Office of Scientific Research (AFOSR), as part of the Space University Research Initiative (SURI), grant FA9550-22-1-0092 (grant principal investigator: J. Crassidisfrom University at Buffalo, The State University of New York).

References

  • [1] D. C. Folta, T. A. Pavlak, A. F. Haapala, and K. C. Howell, “Preliminary design considerations for access and operations in Earth-Moon L1/L2 orbits,” AAS/AIAA Spaceflight Mechanics Meeting, No. GSFC-500-13-D-0037, 2013.
  • [2] A. Haapala, M. Vaquero, T. Pavlak, K. C. Howell, and D. C. Folta, “Trajectory selection strategy for tours in the earth-moon system,” AAS/AIAA Astrodynamics Specialist Conference, Hilton Head, South Carolina, 2013.
  • [3] P. M. Cunio, M. J. Bever, and B. R. Flewelling, “Payload and Constellation Design for a Solar Exclusion-Avoiding Cislunar SSA Fleet,” Advanced Maui Optical and Space Surveillance Technologies Conference (AMOS), 2020.
  • [4] M. R. Thompson, N. P. Ré, C. Meek, and B. Cheetham, “Cislunar Orbit Determination and Tracking via Simulated Space-Based Measurements,” Advanced Maui Optical and Space Surveillance Technologies Conference, Maui, HI, 2021.
  • [5] A. P. Wilmer, R. A. Bettinger, and B. D. Little, “Cislunar Periodic Orbits for Earth–Moon L1 and L2 Lagrange Point Surveillance,” Journal of Spacecraft and Rockets, Vol. 59, No. 6, 2022, pp. 1809–1820, 10.2514/1.A35337.
  • [6] J. A. Dahlke, A. P. Wilmer, and R. A. Bettinger, “Preliminary comparative assessment of l2 and l3 surveillance using select cislunar periodic orbits,” AAS/AIAA Astrodynamics Specialist Conference, 2022, pp. 1–19.
  • [7] E. M. Zimovan, K. C. Howell, and D. C. Davis, “Near rectilinear halo orbits and their application in cis-lunar space,” 3rd IAA Conference on Dynamics and Control of Space Systems, Moscow, Russia, Vol. 20, 2017, p. 40.
  • [8] M. Klonowski, M. Holzinger, and N. Owens Fahrner, “Optimal Cislunar Architecture Design Using Monte Carlo Tree Search Methods,” 11 2022.
  • [9] J. K. Vendl and M. J. Holzinger, “Cislunar periodic orbit analysis for persistent space object detection capability,” Journal of Spacecraft and Rockets, Vol. 58, No. 4, 2021, pp. 1174–1185.
  • [10] L. Visonneau, Y. Shimane, and K. Ho, “Optimizing Multi-Spacecraft Cislunar Space Domain Awareness Systems via Hidden-Genes Genetic Algorithm,” The Journal of the Astronautical Sciences, Vol. 70, No. 22, 2023.
  • [11] C. Frueh, K. Howell, K. DeMars, S. Bhadauria, and M. Gupta, “Cislunar space traffic management: Surveillance through earth-moon resonance orbits,” 8th European Conference on Space Debris, 2021.
  • [12] M. Gupta, K. C. Howell, and C. Frueh, “CONSTELLATION DESIGN TO SUPPORT CISLUNAR SURVEILLANCE LEVERAGING SIDEREAL RESONANT ORBITS,”
  • [13] H. W. Lee, S. Shimizu, S. Yoshikawa, and K. Ho, “Satellite Constellation Pattern Optimization for Complex Regional Coverage,” Journal of Spacecraft and Rockets, Vol. 57, Nov. 2020, pp. 1309–1327, 10.2514/1.A34657.
  • [14] W. E. Krag, “Visible magnitude of typical satellites in synchronous orbits,” Sept. 1974.
  • [15] M. Vaquero and J. Senent, “Poincare: A Multi-Body, Multi-System Trajectory Design Tool,” 2018, 2014/48975.
  • [16] R. A. Broucke, Periodic orbits in the restricted three-body problem with earth-moon masses. 1968.
  • [17] C. Rackauckas and Q. Nie, “DifferentialEquations.jl–a performant and feature-rich ecosystem for solving differential equations in Julia,” Journal of Open Research Software, Vol. 5, No. 1, 2017.

Appendix A Appendix

A.1 CR3BP System Parameters and Candidate Orbit Initial Conditions

System parameters for the Earth-Moon CR3BP with the Sun as illumination source are presented in Table 1. Initial conditions for candidate orbits are shown below in Table 3. Orbits were generated via a single shooting differential corrections algorithm written in Julia. We use the Vern7 ODE propagator (available in the Julia DifferentialEquations[17] module) in this algorithm.

Table 1: CR3BP Parameters
Parameter Value
Mass parameter, μ\mu 1.215058560962404e-02
Length scale, DU (km) 384400.0
Time scale, TU (s) 3.751902619517228e+05
Relative distance of Sun (DU) 389.17794
Angular velocity of Sun (rad/TU) -0.9253018261815922
Earth Radius, (km) 6371
Moon Radius, (km) 1737.4
Table 2: Illumination Parameters
Parameter Value
Sun apparent magnitude, msunm_{\text{sun}} -26.74
Target specular reflection coef., aspeca_{\text{spec}} 0.0
Target diffuse reflection coef., adiffa_{\text{diff}} 0.2
Target Diameter, dd (km) 0.001
Table 3: Candidate Orbit Initial Conditions
3:1 Resonant 2:1 Resonant 1:1 L1 Lyapunov
x0x_{0} 0.13603399956670137 0.9519486347314083 0.65457084231188
y0y_{0} 0 0 0
z0z_{0} 0 0 0
x˙0\dot{x}_{0} 1.9130717669166003e-12 0 3.887957091335523e-13
y˙0\dot{y}_{0} 3.202418276067991 -0.952445273435512 0.7413347560791179
z˙0\dot{z}_{0} 0 0 0
T 6.45 6.45 6.45
1:1 L2 Lyapunov L1 Lyapunov L2 Halo
x0x_{0} 0.9982702689023665 0.8027692908754149 1.1540242813087864
y0y_{0} 0 0 0
z0z_{0} 0 0 -0.1384196144071876
x˙0\dot{x}_{0} -2.5322340091977996e-14 -1.1309830924549648e-14 4.06530060663289e-15
y˙0\dot{y}_{0} 1.5325475708886613 0.33765564334938736 -0.21493019200956867
z˙0\dot{z}_{0} 0 0 8.48098638414804e-15
T 6.45 3.225 3.225

A.2 Optimizing the Constellation Pattern Vector

Algorithm 1 presents pseudocode for the formulation. In this work, we utilize Gurobi MATLAB for computation. Computation is done with an M1 Pro CPU using 8 high-performance cores. Algorithm run time is << 300 seconds for each N{1,2,4,8,16}N\in\{1,2,4,8,16\}.

Algorithm 1
𝒵\mathcal{Z}, 𝒥\mathcal{J}, 𝒇\boldsymbol{f}, gg, MM, TT, tstep
tspan \leftarrow 0:tstep:T
L \leftarrow length(tspan)
𝒮\mathcal{S}\leftarrow suntrajectory(tspan)
V \leftarrow zeros(L, |𝒵|\lvert\mathcal{Z}\rvert, |𝒥|\lvert\mathcal{J}\rvert) \triangleright Precompute
for each zj𝒵z_{j}\in\mathcal{Z} do
     [,𝒱][\mathcal{R},\mathcal{V}]\leftarrow cr3bp(zj,tspanz_{j},\text{tspan})
     for each (ri,si){(rm,sn)×𝒮|n=m}(r_{i},s_{i})\in\{(r_{m},s_{n})\in\mathcal{R}\times\mathcal{S}\ \lvert\ n=m\} do
         for each pk𝒥p_{k}\in\mathcal{J} do
              m g(pk,ri,si)\leftarrow g(p_{k},r_{i},s_{i})
              V[i, j, k] \leftarrow m M\leq M\ ? 1 : 0
         end for
     end for
end for
𝕍\mathbb{V} \leftarrow [ ] \triangleright Phase Orbits
for k=1k=1 to |𝒥|\lvert\mathcal{J}\rvert do
     C \leftarrow [ ]
     for j=1j=1 to |𝒵|\lvert\mathcal{Z}\rvert do
         A \leftarrow V[: , j , k]
         B \leftarrow zeros(L, L)
         for i=1i=1 to L do
              B[: , ii] \leftarrow circshift(A, i1i-1)
         end for
         C \leftarrow horzcat(C, B)
     end for
     𝕍\mathbb{V} \leftarrow vertcat(𝕍\mathbb{V}, C)
end for
c \leftarrow ones(|𝒵|\lvert\mathcal{Z}\rvert * L) \triangleright Optimize
result \leftarrow integer-linear-program(𝕍\mathbb{V}, 𝒇\boldsymbol{f}, c)

A.3 Extended Results

Figures 14 and 15 show the constellations and indicator maps of all the optimization runs for each N{1,2,4,8,16}N\in\{1,2,4,8,16\}.

Refer to caption Refer to caption
Refer to caption Refer to caption
Refer to caption Refer to caption
Figure 14: Optimized Constellations for Given Number of Departure Windows
Refer to caption Refer to caption
Refer to caption Refer to caption
Refer to caption
Figure 15: Constellation Robustness Binary Maps