US 12,187,462 B2
Using genetic algorithms for safe swarm trajectory optimization
David Barnhart, Los Angeles, CA (US); Rahul Rughani, Los Angeles, CA (US); and Tyler Presser, Los Angeles, CA (US)
Assigned to University of Southern California, Los Angeles, CA (US)
Filed by UNIVERSITY OF SOUTHERN CALIFORNIA, Los Angeles, CA (US)
Filed on Jan. 4, 2022, as Appl. No. 17/568,462.
Claims priority of provisional application 63/133,602, filed on Jan. 4, 2021.
Prior Publication US 2022/0227503 A1, Jul. 21, 2022
Int. Cl. B64G 1/24 (2006.01); B64G 1/10 (2006.01); B64G 1/36 (2006.01); G06N 3/126 (2023.01)
CPC B64G 1/242 (2013.01) [B64G 1/1085 (2013.01); B64G 1/36 (2013.01); G06N 3/126 (2013.01)] 12 Claims
OG exemplary drawing
 
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).