This paper discusses the creation of a genetic algorithm to locate and optimize interplanetary trajectories using gravity assist maneuvers to improve fuel efficiency of the mission. The algorithm is implemented on two cases: (i) a Centaur-class target close to the ecliptic plane and (ii) a Centaur-class target with a high inclination to the ecliptic plane. Cases for multiple numbers of flybys (up to three) are discussed and compared. It is shown that, for the targets considered here, a single flyby of Jupiter is the most efficient trajectory to either target with the conditions and limitations discussed in this paper. In this paper, we also iterate on possible reasons for certain results seen in the analysis and show how these previously observed behaviors could be present in any trajectory found. The parameters and methods used in the algorithm are explained and justified over multiple real-life interplanetary missions to provide deeper insights into the development choices.
On satellites, or generally speaking any type of deep-space exploration spacecraft, every kilogram of mass becomes a crucial component of overall mission design. Controlling the mass of the spacecraft throughout the design process is vital to the success of the assigned task. Getting to a target in space requires fuel to be expended, and every kilogram of fuel that must be launched is a kilogram of scientific equipment that must be sacrificed in order for the mission to remain feasible. The ability to optimize the deep-space exploration trajectories in a way that minimizes the fuel requirement (i.e.,
From this perspective, this paper aims to explore the use of a class of nondeterministic optimization algorithms in finding indirect trajectories to interplanetary targets and minimize the associated fuel consumption throughout the mission. This class of algorithms, namely, genetic algorithms, have been studied before as means of improving interplanetary trajectories. In Xu et al. [
The genetic algorithm based trajectory mission design presented herein, completing the existing studies, is used to optimize increasingly difficult optimization problems starting with simple Hohmann transfer timing problems. This methodology then progresses to target rendezvous with intermediate flyby of a chosen planet, finally progressing to multiple planet flybys in which the specific planets, and their order, are determined as part of the optimization process. This constitutes one of the major novelties introduced by this methodology. In this study, we also show genetic algorithm based on methodology’s ability to find optimized trajectories to both targets whose trajectories lend themselves to easy rendezvous, such as Main Belt Asteroids or planets, as well as targets that would not be accessible to our current spacecraft technology without the aid of at least one planetary flyby, such as Trans-Neptunian Asteroids or comets, as discussed in Wen et al. [
This paper looks at the following trajectory problems with origins at Earth: (i) an optimal (min. fuel) transfer to a Centaur-class object with multiple flybys and (ii) an optimal (min. fuel) transfer to a Centaur-class object with higher inclination and eccentricity via multiple flybys.
By having the algorithm take on increasingly difficult problems in trajectory optimization, this paper aims to demonstrate the value of such methods in determining interplanetary trajectories that might be hard to find but easy to verify once the trajectory is obtained. It is also the aim of this paper to show the capabilities of such algorithm when deployed on hardware accessible to the common consumer and thus to any institution that seeks to do research at this juncture between computing science and astrodynamics.
The paper is organized as follows: in Section
In this section, for the sake of completeness, we review some of the fundamental concepts that will play a role in the development and/or use of the genetic algorithm (as further discussed in Section
Generally speaking, gravity assist maneuver is a technique by which a probe (and/or spacecraft) can change its orbital energy (and/or momentum) with respect to a primary body by flying past a large secondary body with the utilization of the gravitational force of that specific body (as depicted in Figure
An example of a gravity assist maneuver as seen in a reference frame fixed to the planet (a) and fixed inertially (b).
The close flyby of the secondary body will allow its gravity to affect the probe and affect a momentum exchange. Because the secondary body will typically be much larger than the probe, this will result in a large effect on the probe’s trajectory with respect to the primary body. In addition to the natural momentum exchange, an opportunity exists to perform a trajectory correction maneuver at the periapse of the flyby. The periapse is preferred to take advantage of the Oberth Effect, as further defined in Oberth [
By using a number of flybys, the possibility exists of being able to send instrument-laden probes to targets that might otherwise be outside the reach of our current launch vehicle capability. The key is to know what trajectory to be on in order to intercept the next planet or the target itself. This is where the solution to Lambert’s problem comes into play which is revisited next.
According to this fundamental principle, it is well known that the transfer time between two points on an orbit is independent of the eccentricity and depends on a small number of factors: the magnitudes of the two position vectors, the semimajor axis, and the length of the chord connecting the two points, where further details could be investigated in many classical references including Prussing and Conway [ Calculate the magnitudes of the two position vectors Calculate the angle Calculate Solve the following equation by iterating the value of where Use the resulting value of Finally, use the Lagrange coefficients and
This leads to the fact that, in order to calculate a trajectory between two planets in the solar system, we only need to specify the departure time and the travel time. A series of flight stages can be strung together to allow for any number of gravity assists along the way to the target. This suggests that a possible solution vector would take the following form:
This vector provides the complete set of inputs to specify a particular solution. Given
Genetic algorithms (GAs) attempt to harness the strength of natural evolution in an attempt to solve problems that do not lend themselves to finding solutions in an analytical manner, as presented in Eiben and Smith [
Genetic algorithm terminology.
Terminology | Definition |
---|---|
Gene | A single value representing a parameter of a potential solution |
Chromosome | A vector representation of the parameters of a potential solution |
Population | A collection of chromosomes |
Crossover | A process by which two or more existing chromosomes are recombined to yield two different chromosomes |
Mutation | A process by which gene values are changed yielding a new chromosome |
Selection | A process that determines which chromosomes from the population to use for the crossover process |
Fitness function | Algorithm that assigns a value or “fitness” to each chromosome This value being typically minimized or maximized |
One concept used extensively in GA is that of
The solution to this problem with crossover leads to another concept named
Embedded within the mutation concept is the idea of
The mapping of the selection value to the ranked chromosomes. When testing from bottom to top, the first chromosome to have a higher value than a randomly generated number in the range (0, 1) is selected.
If Figure
Three selection schemes for choosing parent chromosomes. A randomized value in the range (0, 1) is chosen on the
Finally if Figure
Four selection schemes for choosing parent chromosomes. A randomized value in the range (0, 1) is chosen on the
Another critical concept utilized was that of
In the following, we discuss the limits that were applied to each of the conducted studies. Section
The GA was given as inputs of the position and velocity data for the planets and the targets for dates ranging from 01 Jan 2000 to 28 Dec 2029 in five-day increments. This date range was chosen because it seemed a reasonable range over which to look for mission planning purposes. A mission that would have to occur more than 30 years from the conception time would likely not be considered in the real world. Thus the ability of the GA to find solutions even if the perfect launch time was not available would be important. The date range used was to enable the possibility of converging to known trajectories during testing of the fitness function and GA while also providing enough time range to explore future trajectories to distant targets.
A linear interpolation method was used to calculate positions and velocities in between the data points provided. Five-day increments were chosen to minimize the error in linear interpolation of planetary position and velocity data should, for an inner planet like Mercury, be chosen for evaluation of a gravity assist.
The genes had several parameters in common that were used by the GA, although the values of these parameters were altered depending on the gene that they were being applied to. All genes have a maximum value, a minimum value, and a standard deviation value used to scale the randomization of any mutation that the gene undergoes. The values for the used ones for these parameters are shown in Table
Gene specific parameters.
Parameter | Maximum | Minimum | Standard deviation |
---|---|---|---|
|
2462489.5 | 2451545 | 100 (days) |
|
8 | 1 | 1 |
|
∞ | 0 | 28512000 |
The GA utilized in this paper uses a fixed population of 300 for finding trajectories to Hylonome and Hidalgo. This specific number was the result of trying to optimize between the time needed to converge on a solution and providing sufficient density of initial test points in the search space. Increasing the population to a higher value was found to quickly increase the run time for a single simulation especially for the triple flyby algorithm.
Being run on a personal Windows computer, the operating system was known to occasionally suffer instabilities and reboot. Long runtimes risked losing work prior to convergence under these conditions. On the other hand, small population sizes were found to be at risk of converging too quickly to solutions that were not optimal based on subsequent simulations. This is because they did not have sufficient diversity to explore the search space and the variance in the final
The crossover rate was set to a 30% chance of crossover per gene in the chromosome to ensure a high probability that crossover would occur somewhere within the chromosome. This means that the chance of failing to perform a crossover at any one particular gene is 70%. Since the next gene in the chromosome is tested only after the previous one fails, the chance of
The mutation rate is specified per gene in the chromosomes to allow for certain genes to mutate more often than others if desired. Mutation is a very powerful modifier, Eiben and Smith [
In this study, the simulations conducted had two conditions under which they could be terminated. The first condition was a simple maximum generation count. If a solution was not found after 2000 generations, the simulation would terminate and complete as though it had converged. No flag was implemented to indicate that these termination criteria were the one used, but the number of generations needed to converge is in the output of the simulation and was therefore easy to verify whether or not this was the criteria used to terminate the simulation. In no simulation was this maximum generation count encountered.
The second termination criteria were reached if the simulation converged on a solution. Convergence was defined as seeing no improvement of more than 1 m/s of
With the parameters discussed above, the time (hh:mm:ss) to converge for each simulation type is shown in Tables
Convergence times for various simulation types for trajectories to Hylonome.
Hylonome | Direct | Single | Double | Triple |
---|---|---|---|---|
Minimum | 0:42:00 | 2:26:00 | 9:08:00 | 3:14:00 |
Maximum | 1:35:00 | 6:06:00 | 50:18:00 | 28:12:00 |
Average | 1:07:23 | 3:43:44 | 26:41:20 | 8:21:13 |
Median | 1:08:00 | 3:41:00 | 20:38:00 | 6:33:00 |
Standard deviation | 0:13:45 | 0:58:46 | 21:14:27 | 7:35:12 |
Total runs | 19 | 12 | 4 | 10 |
Convergence times for various simulation types for trajectories to Hidalgo.
Hidalgo | Direct | Single | Double | Triple |
---|---|---|---|---|
Minimum | 0:41:00 | 1:59:00 | 1:46:00 | 1:05:00 |
Maximum | 1:34:00 | 15:48:00 | 8:33:00 | 9:08:00 |
Average | 0:59:13 | 4:32:00 | 5:47:22 | 4:37:32 |
Median | 0:50:00 | 2:42:30 | 6:13:30 | 5:30:00 |
Standard deviation | 0:17:31 | 4:38:25 | 1:58:57 | 2:51:15 |
Total runs | 19 | 11 | 10 | 15 |
The fitness function is the workhorse of the designed GA. This algorithm is the part of the GA that evaluates the potential solutions and assigns a fitness value to each chromosome based on
The fitness function starts by determining the dates of each planetary encounter based on the launch date and the time of flight of each leg of the trajectory. It then acquires the position and velocity of Earth at the time of launch and the specified planet(s) as well as the target at the dates calculated. This provides all the information needed to use Lambert’s problem solution to determine the velocities at the endpoints of the trajectory that connects the two positions in the travel time given. In some cases, the algorithm to determine the velocities is unable to converge. Should this happen, an infinite amount of
At this point, the arrival and departure velocities at each flyby are known as well as the departure velocity from Earth and the arrival velocity at the target. The algorithm assumes that the spacecraft starts in a 300 km altitude circular orbit around Earth and includes the propellant used to depart Earth in the total mission cost. Given the departure velocity dictated by Lambert’s problem,
All that is left at this point is to calculate
To calculate the flyby maneuver, the algorithm treats the problem as the patching of two hyperbolic orbits that meet at the periapse and with
Illustration of the periapse patching of the planet-centric inbound and outbound hyperbolic orbits. Inbound is the blue (bottom) and outbound is the red (top).
Hylonome is classed as a Centaur object, having a semimajor axis that is between that of Jupiter and Neptune, Jet Propulsion Laboratory [
Orbital characteristics of Hylonome.
Element | Value | Uncertainty ( |
Units |
---|---|---|---|
|
.2482 | |
|
|
25.1017 | 0.0016667 | au |
|
18.8690 | 0.00028158 | au |
|
4.1442 |
|
deg |
Node | 178.0727 | 0.00055742 | deg |
Peri | 6.5554 | 0.0045953 | deg |
|
60.5576 | 0.0086221 | deg |
|
2449873.32 |
0.33896 | JED |
Period | 45936.0887346103 |
4.575 |
d |
|
.007836 |
|
deg/d |
|
31.3343 | 0.0020805 | au |
Hylonome’s orbit in relation to the orbits of the planets as referenced on 1 May 2016.
Hylonome was chosen as a target due to its large orbit relative to all other asteroids and small bodies that have been investigated to date. A direct launch to this target would be very difficult if not impossible with today’s rocket technology due to tremendous
Mission
Direct | Single | Double | Triple | |
---|---|---|---|---|
Total |
13.452 | 9.420 | 10.714 | 93.611 |
Orbiter |
3.823 | 2.543 | 3.799 | 89.866 |
The best result occurred with a single flyby of Jupiter and is discussed here in more detail. Table
Optimized chromosome for single planet flyby to Hylonome.
Parameter | Value |
---|---|
|
November 16, 2003 00:46:14.6 UTC |
|
Jupiter |
|
679 days, 8 hours |
|
8720 days, 7 hours |
Single planet flyby results from Earth to Hylonome.
Result | Value |
---|---|
|
[−6.706 6.666 1.961] km/s |
|
[−8.356 1.634 −0.093] km/s |
|
[−6.492 −5.393 1.129] km/s |
|
[−1.913 −1.497 0.152] km/s |
|
|
Total Flyby |
[1.864 −7.027 1.222] km/s |
Total Flyby |
|
Magnitude at |
7.372 km/s |
Maneuver |
0.000 km/s |
Gravity assist benefit | 7.372 km/s |
|
|
Maneuver |
6.856 km/s |
Maneuver |
2.434 km/s |
Total |
9.290 km/s |
Total |
2.434 km/s |
Single flyby trajectory simulation results.
Like Hylonome, Hidalgo is classed as a Centaur object, having a semimajor axis that is between that of Jupiter and Neptune. Its orbit is shown in Figure
Orbital characteristics of Hidalgo.
Element | Value | Uncertainty ( |
Units |
---|---|---|---|
|
.6611 |
|
|
|
5.7388 |
|
au |
|
1.9451 |
|
au |
|
42.5231 |
|
deg |
Node | 21.4255 |
|
deg |
Peri | 56.7263 |
|
deg |
|
301.3931 |
|
deg |
|
2458417.9712 |
0.0001236 | JED |
Period | 5021.4195 |
|
d |
|
.07169 |
|
deg/d |
|
9.5324 |
|
au |
Hidalgo’s orbit in relation to the orbits of the planets as referenced on 1 May 2016.
Hidalgo was chosen as a target due to the large inclination of its orbit to the ecliptic plane. A direct launch to this target would be very difficult if not impossible with today’s rocket technology. For this reason, a flyby of an intervening planet would be necessary to reach the target with a reasonable fuel allocation. The genetic algorithm was run as before for a direct trajectory, a single flyby, two flybys, and three flybys. Table
Mission
Direct | Single | Double | Triple | |
---|---|---|---|---|
Total |
13.889 | 8.043 | 11.187 | 29.255 |
Orbiter |
7.055 | 0.574 | 7.485 | 25.580 |
The best result occurred with a single flyby of Jupiter and is discussed here in more detail. Table
Optimized chromosome for single planet flyby to Hidalgo.
Parameter | Value |
---|---|
|
November 16, 2003 00:41:08.7 UTC |
|
Jupiter |
|
539 days, 4 hours |
|
4045 days, 16 hours |
Single planet flyby results from Earth to Hidalgo.
Result | Value |
---|---|
|
[−8.211 6.459 1.539] km/s |
|
[−12.131 1.683 0.059] km/s |
|
[−10.010 2.206 −6.700] km/s |
|
[0.211 0.105 0.522] km/s |
|
|
Total flyby |
[2.121 0.523 −6.759] km/s |
Total flyby |
7.103 km/s |
Magnitude at |
|
Maneuver |
0.001 km/s |
Gravity assist benefit | 7.101 km/s |
|
|
Maneuver |
7.469 km/s |
Maneuver |
0.573 km/s |
Total |
8.043 km/s |
Total |
0.574 km/s |
Single flyby trajectory simulation results.
Finally, we revisit analysis done previously on planning a trajectory to Ceres and provide an extension to the study of Fritz and Turkoglu [
First, the fitness function is not presently capable of handling all possible combinations of values in the chromosomes. Examples of situations that the fitness function cannot correctly calculate include (a) performing multiple flybys of a single planet in a row; (b) completing more than a single orbit prior to encountering the next target; and (c) performing deep-space maneuvers that would optimize the approach to flyby encounters. These limitations preclude a number of known trajectory optimization techniques. The first limitation in particular is a technique commonly used to reach the outer solar system by receiving a gravity assist from Earth one or more times after launch with no other encounters in between.
Second, the limited date range used means that system level synodic periods may not complete even a single cycle in the time allowed for trajectories involving more than two or three bodies. Figure
Illustration of the system misalignment from a presumed optimum at year 0.
To test the second statement, the GA was set to find trajectories to Ceres with a greatly expanded time range. Launch dates starting as early as 1904 were included with arrival dates ending in 2099. The GA had its parameters and limits modified slightly to account for the reduced travel time needed to reach Ceres over the Centaur asteroids discussed earlier. All
Mission total and orbiter
Single | Double | Triple | |
---|---|---|---|
30 years | |||
Total | 10.971 Km/s | 10.021 Km/s | 16.203 Km/s |
Orbiter | 5.277 Km/s | 6.118 Km/s | 10.101 Km/s |
200 years | |||
Total | 10.340 Km/s | 10.365 Km/s | 13.229 Km/s |
Orbiter | 5.457 Km/s | 5.934 Km/s | 8.796 Km/s |
This paper has discussed the development and application of a genetic algorithm to the optimization of interplanetary trajectories to distant and unusual targets. The algorithm is capable of converging on a physically viable solution on every simulation, and only a very small number of simulation runs are required to obtain confidence in the strength of the best solution. The algorithm proved capable of reaching targets located in the inner solar system and the outer solar system, as well as targets whose orbits are highly inclined to the ecliptic plane. This level of robustness was obtained with just the most basic of genetic algorithm capabilities and with severe limitations on the capabilities of the fitness function to assess a valuable class of trajectories.
The algorithm, though working, could use some improvements to enable better searching and refinement of results. It has been proposed that occasional repopulating of a portion of certain generations could aid in potentially avoiding local minimums while minimizing the number of low population simulations required. Improvements in the fitness function could yield much better solutions if the capability to assess resonant gravity assists could be added.
The authors declare that there are no conflicts of interest regarding the publication of this paper.