CPC B64G 1/242 (2013.01) [B64G 1/1085 (2013.01); B64G 1/36 (2013.01); G06N 3/126 (2013.01)] | 12 Claims |
1. A swarm control system comprising:
a target space platform;
a swarm of chaser spacecraft, each chaser spacecraft controlled to follow a corresponding computed trajectory; and
at least one computing device that executes a swarm control algorithm, the swarm control algorithm including a nested genetic algorithm, the nested genetic algorithm including multiple guidance genetic algorithms and an outer genetic algorithm, wherein each chaser spacecraft having an associated guidance genetic algorithm that determines a computed trajectory for the chaser spacecraft associated therewith, the outer genetic algorithm configured to check for collisions and to alter one or more computed trajectories to avoid collisions, wherein the swarm control algorithm, when executed, includes steps of:
a) generating an initial population as an input set of position r(t0) and velocity v(t0) pairs where t0 is a start time;
b) compute trajectories from the input set of position r(t0) and velocity v(t0) pairs;
c) propagate the chaser spacecraft to a final time tr;
d) calculate a trajectory fitness function using an initial position r(t0), an initial velocity v(t0), a final position r(tr), an final velocity v(tr);
e) if the trajectory fitness function for a given trajectory is calculated to be above a predetermined threshold, the given trajectory is identified as a potential trajectory;
f) encode set of position r(t0) and velocity v(t0) pairs into pairs of position binary numbers and velocity binary number;
g) select a predetermined number of the pairs of position binary numbers and velocity binary numbers having best values for the trajectory fitness function as parents for a next generation;
h) apply crossover to the parents;
i) apply mutations to the parents;
j) identify results from the crossover and mutation as inputs for a next iteration;
k) binary decode results from the crossover and mutation to form a new set of position r(t0) and velocity v(t0) pairs; and
l) provide the new set of position r(t0) and velocity v(t0) pairs as the input set of position r(t0) and velocity v(t0) pairs in step b).
|