Model predictive control of swarms of spacecraft using sequential convex programming

Daniel Morgan, Soon Jo Chung, Fred Y. Hadaegh

Research output: Contribution to journalArticlepeer-review

Abstract

This paper presents a decentralized, model predictive control algorithm for the optimal guidance and reconfiguration of swarms of spacecraft composed of hundreds to thousands of agents with limited capabilities. In previous work, J2-invariant orbits have been found to provide collision-free motion for hundreds of orbits in a low Earth orbit. This paper develops real-time optimal control algorithms for the swarm reconfiguration that involve transferring from one J2-invariant orbit to another while avoiding collisions and minimizing fuel. The proposed model predictive control-sequential convex programming algorithm uses sequential convex programming to solve a series of approximate path planning problems until the solution converges. By updating the optimal trajectories during the reconfiguration, the model predictive control algorithm results in decentralized computations and communication between neighboring spacecraft only. Additionally, model predictive control reduces the horizon of the convex optimizations, which reduces the run time of the algorithm. Multiple time steps, time-varying collision constraints, and communication requirements are developed to guarantee stability, feasibility, and robustness of the model predictive control-sequential convex programming algorithm.

Original languageEnglish (US)
Pages (from-to)1725-1740
Number of pages16
JournalJournal of Guidance, Control, and Dynamics
Volume37
Issue number6
DOIs
StatePublished - Nov 1 2014

ASJC Scopus subject areas

  • Control and Systems Engineering
  • Aerospace Engineering
  • Space and Planetary Science
  • Electrical and Electronic Engineering
  • Applied Mathematics

Fingerprint

Dive into the research topics of 'Model predictive control of swarms of spacecraft using sequential convex programming'. Together they form a unique fingerprint.

Cite this