212
Long-Duration Proximity Operations Flexibly Optimized for Efficient Inspection and Servicing Using Free-Orbit Dynamics by Zachary K. Funke B.S., United States Air Force Academy (2015) Submitted to the Department of Aeronautics and Astronautics in partial fulfillment of the requirements for the degree of Master of Science in Aeronautics and Astronautics at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2017 c Massachusetts Institute of Technology 2017. All rights reserved. Author .............................................................. Department of Aeronautics and Astronautics May 25, 2017 Certified by .......................................................... Alvar Saenz-Otero Principal Research Scientist, Aeronautics and Astronautics Director, MIT Space Systems Laboratory Thesis Supervisor Certified by .......................................................... David W. Miller Professor of Aeronautics and Astronautics Thesis Supervisor Accepted by ......................................................... Youssef M. Marzouk Associate Professor of Aeronautics and Astronautics Chair, Graduate Program Committee

Long-Duration Proximity Operations Flexibly Optimized …ssl.mit.edu/files/website/theses/SM-2017-FunkeZachary.pdf · Long-Duration Proximity Operations Flexibly Optimized for Efficient

Embed Size (px)

Citation preview

Long-Duration Proximity Operations Flexibly

Optimized for Efficient Inspection and Servicing

Using Free-Orbit Dynamics

by

Zachary K. Funke

B.S., United States Air Force Academy (2015)

Submitted to the Department of Aeronautics and Astronauticsin partial fulfillment of the requirements for the degree of

Master of Science in Aeronautics and Astronautics

at the

MASSACHUSETTS INSTITUTE OF TECHNOLOGY

June 2017

c Massachusetts Institute of Technology 2017. All rights reserved.

Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Department of Aeronautics and Astronautics

May 25, 2017

Certified by. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Alvar Saenz-Otero

Principal Research Scientist, Aeronautics and AstronauticsDirector, MIT Space Systems Laboratory

Thesis Supervisor

Certified by. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .David W. Miller

Professor of Aeronautics and AstronauticsThesis Supervisor

Accepted by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Youssef M. Marzouk

Associate Professor of Aeronautics and AstronauticsChair, Graduate Program Committee

2

Long-Duration Proximity Operations Flexibly Optimized for

Efficient Inspection and Servicing Using Free-Orbit Dynamics

byZachary K. Funke

Submitted to the Department of Aeronautics and Astronauticson May 25, 2017, in partial fulfillment of the

requirements for the degree ofMaster of Science in Aeronautics and Astronautics

Abstract

Satellites at geosynchronous orbital altitudes are highly valuable for national de-fense, but are also difficult to access and monitor. Uncrewed inspection spacecraftcould supervise various essential defense platforms and deter covert rendezvous byadversaries with malicious intent. ‘Neighborhood watch’ satellites tasked with this sit-uational awareness mission should be designed and operated in such a way as to max-imize their lifespan and efficacy. Motivated by this requirement, this thesis exploresthe prolonged medium- to close-range spacecraft proximity operations problem fromthe perspective of continuous optimal trajectory control. A numerical optimizationframework is presented for developing and analyzing fuel-, energy-, and time-optimaltrajectories with multiple phases using Gauss pseudospectral collocation software. Em-phasis is placed on energy efficiency during inspection, for which accurate dynamicalmodels play a critical role in formationkeeping fuel consumption. Various scenariosare analyzed for minimum-energy solutions, such as tactical phasing and insertion intoperiodic trajectories, avoidance of ‘no-fly’ zones, inclusion of coupling attitude dy-namics, and operations with highly-eccentric targets. This thesis focuses primarily onproximity operations carried out in geosynchronous orbital regimes and neglects orbitperturbations, instead determining the pure cost of linearizing Keplerian gravity usingthe Hill-Clohessy-Wiltshire model. Error in relative position, angular rate of circum-navigation, and fuel use to enforce linearized periodic trajectories are characterized. Itwas determined that proximity operations utilizing low-thrust high-specific-impulse so-lar electric propulsion are well-suited to minimum-energy trajectory optimization withthis method. While the contributed analysis tool is not suitable for on-board optimaltrajectory generation, it provides a framework to perform useful pre-mission analyses.

Thesis Supervisor: Dr. Alvar Saenz-OteroDirector, Space Systems Laboratory

Thesis Supervisor: Dr. David W. MillerProfessor of Aeronautics and Astronautics

3

4

Acknowledgements

This work was funded entirely by the USAF Space Command Fellowship. Anystatements made in this thesis do not reflect the official views of the Department ofDefense, United States Air Force, MIT, or any of their affiliated organizations.

I would like to thank the following people for their friendship and guidance:

• My loving wife, Katy, for her uncompromising support, proofreading, and pa-tience. Without her, this thesis wouldn’t exist.

• My entire family for all of their encouragement, especially my Mom for makingme laugh and teaching me attention to detail, and my Dad for teaching me mathand how to think critically.

• The SPHERES team of the Space Systems Lab, especially:

William Sanchez for his grounded, methodical, and persevering approach toaccomplishing the research objectives of the lab,

Antonio Teran Espinoza for his wellspring of optimism and ingenious problem-solving ability,

Chris Jewison, David Sternberg, Tim Setterfield, and Max Yates for theirexperienced mentorship in the realms of satellite engineering, control systemsengineering, and the analysis of proximity operations,

and Dr. Danilo Roascio, whose superhuman focus and work ethic is paralleledonly by his skill as an electrical and computer engineer.

• Dr. Alvar Saenz-Otero, my official thesis advisor, and Professor David Miller fortheir invaluable guidance over my graduate education.

• An extra special thanks to Patrick O’Shea for picking up his phone and callingme at 8:57 a.m. on Monday, December 19th, 2016 to inform me of our final examstarting at 9:00 a.m. that morning.

5

6

Table of Contents

1 Introduction 131.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3 Outline of Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.4.1 Approach to Literature Review . . . . . . . . . . . . . . . . . 181.4.2 Acceleration Models for Relative Motion . . . . . . . . . . . . 181.4.3 Proximity Operations with Free-Orbit Trajectories . . . . . . 211.4.4 Continuous-Thrust Trajectory Optimization for Proximity Op-

erations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.4.5 Summary of Review . . . . . . . . . . . . . . . . . . . . . . . 31

2 Long-Duration Satellite Proximity Operations 332.1 Relative Orbital Dynamics . . . . . . . . . . . . . . . . . . . . . . . . 34

2.1.1 The LVLH Coordinate Frame . . . . . . . . . . . . . . . . . . 352.1.2 The Full Keplerian Nonlinear Equations of Relative Motion . . 352.1.3 The Hill-Clohessy-Wiltshire Model . . . . . . . . . . . . . . . 38

2.2 Comparison of Classes of Nonlinear and Linearized Relative MotionTrajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.3 Constraint Specification for Design of Periodic Relative Trajectories . 542.3.1 Specifying the Clohessy-Wiltshire Free-Orbit Ellipse . . . . . . 562.3.2 Specifying Keplerian Relative Periodic Trajectories . . . . . . 61

2.4 Angular Rate of Circumnavigation . . . . . . . . . . . . . . . . . . . 732.4.1 Periodic Trajectory Linearization Error for a Near-Circular Ref-

erence Orbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742.5 Effects of Orbit Perturbations on Relative Dynamics . . . . . . . . . 782.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3 Optimal Control Problem Formulation 833.1 The Optimal Control Problem . . . . . . . . . . . . . . . . . . . . . . 84

3.1.1 The 3-DOF Formulation . . . . . . . . . . . . . . . . . . . . . 843.1.1.1 The Minimum-Energy Problem . . . . . . . . . . . . 87

7

3.1.1.2 The Minimum-Fuel Problem . . . . . . . . . . . . . . 893.1.1.3 The Minimum-Time Problem . . . . . . . . . . . . . 91

3.1.2 Determining the Existence of Singular Arcs in the Solution . . 923.1.3 Including Attitude Dynamics: The 6-DOF Formulation . . . . 95

3.2 Insights Gained from Preliminary Analysis . . . . . . . . . . . . . . . 993.2.1 Over-Actuation in the Problem Formulation . . . . . . . . . . 993.2.2 When is Attitude Coupling Required? . . . . . . . . . . . . . 99

3.3 Numerical Optimization with GPOPS-II . . . . . . . . . . . . . . . . 1033.3.1 Numerical Optimization Method . . . . . . . . . . . . . . . . 1043.3.2 Implementation Approach . . . . . . . . . . . . . . . . . . . . 106

3.3.2.1 Instantiation Shell . . . . . . . . . . . . . . . . . . . 1083.3.2.2 Main . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093.3.2.3 Continuous . . . . . . . . . . . . . . . . . . . . . . . 1103.3.2.4 Endpoint . . . . . . . . . . . . . . . . . . . . . . . . 110

3.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

4 Results 1154.1 Approach to Results Chapter . . . . . . . . . . . . . . . . . . . . . . 1164.2 Validation and Preliminary Results . . . . . . . . . . . . . . . . . . . 117

4.2.1 Linear Quadratic Regulator . . . . . . . . . . . . . . . . . . . 1184.2.2 Minimum-Fuel Rendezvous . . . . . . . . . . . . . . . . . . . . 1194.2.3 Minimum-Energy Rendezvous . . . . . . . . . . . . . . . . . . 1234.2.4 Minimum-Time Rendezvous . . . . . . . . . . . . . . . . . . . 125

4.2.4.1 Scheduling Policy . . . . . . . . . . . . . . . . . . . . 1274.2.4.2 Time-Energy Hybrid . . . . . . . . . . . . . . . . . . 1284.2.4.3 Including Coupling Attitude Dynamics . . . . . . . . 129

4.2.5 Summary of Preliminary Results . . . . . . . . . . . . . . . . 1314.3 Demonstration of Path Constraints, Phasing, and Nonlinear Dynamics 133

4.3.1 No-Fly Zone Avoidance . . . . . . . . . . . . . . . . . . . . . 1334.3.2 Optimal Period Matching . . . . . . . . . . . . . . . . . . . . 1354.3.3 Highly-Eccentric Rendezvous . . . . . . . . . . . . . . . . . . 1364.3.4 Summary of Intermediate Results . . . . . . . . . . . . . . . . 140

4.4 Long-Duration Proximity Operations . . . . . . . . . . . . . . . . . . 1404.4.1 Free-Orbit Trajectory Design . . . . . . . . . . . . . . . . . . 141

4.4.1.1 Clohessy-Wiltshire Relative Dynamics . . . . . . . . 1414.4.1.2 Keplerian Relative Dynamics . . . . . . . . . . . . . 148

4.4.2 Cost of Linearization Revisited . . . . . . . . . . . . . . . . . 1514.5 Summary of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

5 Conclusions 1615.1 Thesis Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1615.2 List of Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

8

5.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1645.4 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

5.4.1 Improvements to R/POTATO . . . . . . . . . . . . . . . . . . 1655.4.2 Graphical Model Approach for On-Orbit State Estimation . . 167

A Keplerian Orbital Mechanics 171A.1 The Classical Orbital Elements . . . . . . . . . . . . . . . . . . . . . 174A.2 Describing Angular Motion . . . . . . . . . . . . . . . . . . . . . . . . 178A.3 Orbital Perturbations . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

B Nonlinear Solver Error Analysis 183

C Quaternion Convention 191C.1 Quaternion Convention for R/POTATO . . . . . . . . . . . . . . . . 191C.2 Partial Results from Minimum-Time Period Matching . . . . . . . . . 198

D List of R/POTATO User-Specifiable Parameters 205

9

10

Nomenclature

∆V Change in velocity

J2 Second zonal harmonic (oblate-Earth effect)

(H)CW (Hill-)Clohessy-Wiltshire

3-DOF 3-Degrees-of-Freedom

6-DOF 6-Degrees-of-Freedom

COE Classical (Keplerian) Orbital Element

DCM Direction Cosine Matrix

GEO Geosynchronous orbital regime

GPOPS-II Gauss Pseudospectral Optimization Software (Patterson and Rao [30])

GPS Global Positioning System

ISS International Space Station

LEO Low Earth Orbit

LQR Linear Quadratic Regulator

LTI Linear and Time-Invariant

LVLH Local Vertical, Local Horizontal

MEO Medium Earth Orbit

MIMO Multi-Input, Multi-Output

NFU Normalized Fuel Units (total impulse divided by maximum thrust)

NLEM Nonlinear Equation of Motion

PCO Projected Circular Orbit

11

PMP Pontryagin’s Minimum Principle

R/POTATO Rendezvous / Proximity Operations Trajectory Analysis Tool

RPO Rendezvous and Proximity Operations

RSO Resident Space Object

SISO Single-Input, Single-Output

SLAM Simultaneous Localization and Mapping

STK Systems Tool Kit (AGI [36])

TPBVP Two-Point Boundary Value Problem

TS Tschauner-Hempel

12

Chapter 1

Introduction

1.1 Motivation

It is often said that space is the ultimate high ground. From intelligence gathered

by surveillance platforms in low Earth orbit, to weather sensing and prediction data,

to scientific research carried out by space-based telescopes, to terrestrial navigation

capabilities provided by GPS, the information that is obtained from satellites is in-

dispensable for national defense and has become a vital element of societal function.

However, the orbital environment is characterized by many factors which make the

use of satellites inherently difficult.

For one, it is expensive and time-consuming to build, test, and launch a satellite

into its mission orbit, as well as moderately risky (although half a century of effort on

the part of spacelift organizations have greatly helped in this last regard). Secondly,

it is at least as expensive to repair or service satellites already in orbit, and technically

challenging to do so; for this reason, on-orbit servicing has been exceedingly rare and

reserved for only the most valuable of national assets, such as the 1993 servicing of

the Hubble Space Telescope.

Thirdly, and of increasing concern for national defense strategy, is the inherent

vulnerability of space-based assets. Outside of radio-frequency ground tracking and

13

mathematical modeling, the ability to determine the whereabouts and activities of

all satellites is limited; the use of optical telescopes to directly sense objects in orbit

is restricted by the geographical location of these facilities and the weather over-

head. Whereas launches of kinetic anti-satellite ballistic missiles can be relatively

easily detected (this capability being incidentally greatly augmented by space-based

surveillance platforms), covert rendezvous operations by a rogue spacecraft could

quickly and stealthily degrade or destroy an asset. A concerted combination of acts

such as these could blind or cripple a significant portion of space-based platforms and

the services they provide to American citizens and the nation’s defense, as well as

the defense of its allies. If national defense operations could not operate effectively

in such an intelligence-degraded environment, the urgent restoration of these assets

would undoubtedly need to occur at great cost. All the while, escalation of adversarial

activities in space could litter strategically-valuable orbital regimes with debris and

unresponsive satellites. This scenario could eventually lead to a ‘Kessler Syndrome’

outcome, tragically denying all people the continued peaceful use of space. It is thus

in the best interest of all users that a robust ‘neighborhood watch’ of difficult-to-

monitor regimes, such as the GEO belt, be implemented to deter potential covert

military acts and to increase the general level of transparency.

Additionally, in order to alleviate the challenges and costs associated with satellite

operations, the ability to cheaply service and repair satellites is of great interest to

the U.S. military, space agencies, and private corporations alike. A vital capability of

on-orbit inspectors and servicers is the ability to loiter at a safe distance from objects

of interest in order to gather information about them and plan the next stages of

the proximity operations. Being able to perform this in a fuel-efficient manner would

extend the useful mission life of these inspection and servicing satellites.

It is thought that solar electric propulsion will greatly increase the fuel efficiency

14

of spacecraft. These devices use magnetic or electrostatic fields to accelerate small

amounts of propellant to exhaust velocities in the tens of kilometers per second,

resulting in a very high ratio of force per unit propellant mass (specific impulse)

relative to that of conventional chemical monopropellant space propulsion. Operating

within the practical limits of spacecraft power subsystems, these devices produce low

thrust (on the scale of micronewtons to tens of millinewtons) with a very low rate of

propellant expenditure. They can be throttled over a range of forces by modifying

the strength of the accelerating field.

The fuel efficiency made possible by electric propulsion could be beneficial for long-

duration proximity operations by medium-sized robotic spacecraft. To take fullest

advantage of this technology, principles of optimal control should leverage natural

relative orbital dynamics to minimize or avoid fuel use along trajectories while ac-

complishing mission objectives.

1.2 Objective

The objective of this thesis is to provide a framework for analyzing optimal prox-

imity operations trajectories that can extend the mission life of on-orbit inspection

and servicing spacecraft. This should be done with a technique that is well-suited

to optimizing continuous-control problems, allows realistic modeling of the satellite’s

physical properties and constraints, and is flexible enough to accommodate a variety

of goals that may be relevant to a proximity operations mission. This tool should

allow for many different analyses to be obtained pertaining to the optimal trajectory

solution; for example, the ability to quantify the cost of linearizing orbital dynamics

under a variety of circumstances. Most importantly, the framework should allow for

the analysis of trajectories that incorporate free-orbit (thrust-less) trajectories in the

15

relative space around the object of interest with sizes, locations, and orientations that

can be designed by the user. This thesis should adequately motivate the need for this

numerical optimization technique by exploring the shortcomings of linearized equa-

tions of motion, as well as the circumstances under which more complicated dynamics

are necessitated for physical consistency. It should also validate the solutions provided

by the framework and demonstrate the problem-solving process with representative

analyses.

1.3 Outline of Thesis

1. Introduction. The thesis is motivated, the thesis objective is provided, and a

review of the relevant literature is conducted.

2. Long-Duration Satellite Proximity Operations. Relative Keplerian or-

bital dynamics are developed in full nonlinear form, followed by the common

linearized form. Classes of periodic trajectories are visualized and compared

under both models, and the cost of linearization is explored. Techniques for

specifying the size, shape, and orientation of periodic trajectories are proposed

for both models.

3. Optimal Control Problem Formulation. The optimal control problem

associated with satellite proximity operations is formulated for both 3 and 6

degrees of freedom, and the state regulation problem is explored under a vari-

ety of optimization objectives to gain intuition. The optimal control solutions

obtained with Pontryagin’s Minimum Principle are analyzed for the existence of

singular arcs. Gauss pseudospectral collocation is suggested as a numerical op-

timization technique that is well-suited to the continuous-thrust problem. The

16

Rendezvous / Proximity Operations Trajectory Analysis Tool (R/POTATO) is

presented as a framework to satisfy the thesis objective.

4. Results. R/POTATO is validated with multiple independent techniques. The

simple rendezvous problem is implemented and the results are compared to the

expectation generated in the previous chapter. Capabilities of the framework

are incrementally introduced and validated. Implementation of long-duration

proximity operations, such as minimum-energy manuevers to achieve periodic-

ity or phasing between periodic trajectories, is performed for both linear and

nonlinear dynamics. A final cost of linearization analysis is performed on fuel

use to enforce a linear periodic trajectory in Keplerian gravity.

5. Conclusions. The thesis is summarized and a list of contributions is provided.

Conclusions based on the analyses performed in the thesis are made. Future

work is suggested.

6. Appendices. Background and equations for Keplerian orbital mechanics are

provided for nomenclature consistency. An error analysis of the nonlinear solver

used to produce results from the second chapter is performed, and MATLAB

code to reproduce the analyses is provided. The convention used for the quater-

nion representation of spacecraft attitude in the 6-degree-of-freedom dynamics is

provided, along with partial results from minimum-time period-matching with

these dynamics. A comprehensive list of the user-modifiable parameters in

R/POTATO is provided with their associated descriptions.

17

1.4 Literature Review

1.4.1 Approach to Literature Review

In this section, a review of the pertinent literature surrounding optimal trajec-

tory control for proximity operations is presented. It is separated into three main

subsections. The first subsection reviews publications which discuss models for the

relative accelerations between orbiting objects, beginning with the landmark paper

by Clohessy and Wiltshire to develop a linearized and simplified model for terminal

guidance. The second subsection identifies work which includes free-orbit trajecto-

ries, such as the 2-by-1 safety ellipse, as part of the proximity operations mission.

The third subsection examines research into continuous-thrust trajectory optimiza-

tion specifically applied to proximity operations, including the direct pseudospectral

collocation method implemented in this thesis.

1.4.2 Acceleration Models for Relative Motion

The landmark paper by Clohessy and Wiltshire [10] present a linearization of

the Keplerian relative motion between one satellite and another satellite in a cir-

cular orbit. The equations of motion, called the Clohessy-Wiltshire (or sometimes

Hill-Clohessy-Wiltshire) equations, are linear, time-invariant, ordinary differential

equations that were intended to provide accurate-enough guidance for rendezvous

and docking at close range and on short timescales. The mathematical simplicity of

relative motion described by the HCW model is attractive both pedagogically and

computationally, and is ubiquitous in the proximity operations literature. It should

be noted that the relative frame axis convention used in this thesis follows that of

Kaplan [23] and Vallado [38] instead of the original one from Clohessy and Wiltshire.

18

A paper by How and Tillerson [19] analyzes the suitability of the HCW model for

accurate small satellite formation flight, specifically the accumulated error and fuel use

associated with sensor measurement noise and neglecting perturbations. This thesis

assesses a similar cost, but from a different point of view: purely for the linearization

of Keplerian gravity in the absence of perturbations and with perfect state knowledge.

Ryan E. Sherrill’s 2013 doctoral dissertation [34] explored the generalization of

the HCW equations for eccentric reference orbits using Lyapunov-Floquet theory to

perform direct coordinate transformations of the relative states. This builds on the

Tschauner-Hempel approach of transforming the independent variable from time to

true anomaly. Sherrill also contributed an infinite-horizon continuous-thrust state

regulation controller using a time-varying LQR gain based on his formulated acceler-

ation model and demonstrated its performance in eccentric rendezvous scenarios.

Figure 1.1: Flowchart of relative acceleration models discussed in Sherrill’s disserta-tion [34]. Simplifying assumptions are shown in dashed arrows, while coordinate andvariable transformations are shown with solid arrows. One of Sherrill’s contributionsis the lower-right form.

Sherrill’s model is briefly contextualized in the figure above. Beginning with the

full nonlinear equations of relative motion (two-body Keplerian motion as the only

assumption), the linearized equations of relative motion (LERM) are obtained by as-

suming negligible separation between the target and chaser spacecraft. From there,

19

the Hill-Clohessy-Wiltshire (HCW) model is arrived at by assuming a circular refer-

ence orbit; alternatively, changing the independent variable to true anomaly results in

the Tschauner-Hempel model. Sherrill’s model is obtained with both the independent

variable change and a coordinate transformation using Lyapunov-Floquet techniques.

Sherrill also compared periodic motion between the Keplerian model and HCW

model, and noted that a major component of error between the trajectories is caused

by rate of motion along the trajectory, not just the difference in shape. However,

most of his analysis was limited to comparisons with his generalized model, which

still makes the simplifying assumption of negligible chaser range. His optimal con-

trol analysis was also limited to the infinite-horizon LQR rendezvous case, and did

not consider insertion to or phasing between periodic trajectories. Further research

on continuous-thrust trajectory control using higher-fidelity models was identified by

Sherrill as future work. Based in part on this recommendation, the trajectory opti-

mization carried out in this thesis explores bounded continuous-thrust optimal control

solutions with the nonlinear equation of motion.

Karlgaard’s 2001 master’s thesis [24] develops a second-order linearization of the

nonlinear Keplerian relative motion equations which is similar to the HCW model, but

truncates a Taylor series approximation (see subsection 2.1.3) following the quadratic

term instead of the linear term. He also performs a systematic fidelity comparison of

his second-order linearization to both the Keplerian and HCW models. Woffinden and

Geller [41] presented an analytical sufficient condition for the observability of range

from angles-only bearing measurements in the linear HCW model, which requires the

chaser to actively maneuver relative to the target to be ranged. Gaias, et al. [14]

concur with Woffinden and Geller on the need for calibrated maneuvers to obtain

angles-only range observability, though their analysis used differential orbital elements

as the relative motion state (but still within the HCW linearization). A doctoral

20

dissertation soon to be published by M. Yates [42] explores how passive angles-only

range observability within the resolution capabilities of current star camera technology

can be obtained by considering natural nonlinearities and perturbations within the

relative motion model. While angles-only navigation is not discussed in this thesis,

obtaining passive range observability is an example of an additional motivation for

the consideration of higher-fidelity relative motion models for on-orbit inspection and

proximity operations.

1.4.3 Proximity Operations with Free-Orbit Trajectories

Woffinden also explored the on-orbit inspection problem in his 2004 master’s thesis

[40]. His objective was to characterize the relative angles-only navigation performance

and the ∆V requirements for a theoretical small inspection satellite in a variety of

inspection trajectories, including a radial ‘teardrop’ trajectory (requiring active orbit-

periodic maintenance) and a stationary HCW ellipse.

Target

Chaser

1 km

A ltitude

Down Range

LVLH

2km

Figure 1.2: Direct, impulsive CW ellipse insertion from co-elliptic drift analyzed for∆V minimization in Woffinden’s SM thesis [40].

21

Woffinden’s analysis of HCW ellipse insertion trajectories only considers impulsive-

thrust maneuvers, as shown in Figure 1.2. He identified as future work the need for

a flight algorithm that can flexibly transfer the chaser from anywhere in the rela-

tive state space to any desired relative motion trajectory. While this thesis considers

continuous-thrust paradigms instead of impulsive transfers, it does address techniques

for parameterizing desired relative motion characteristics in terms of the relative states

to work toward this flexibility.

In a 2005 NASA Goddard report, Naasz [29] was motivated by the proposed mis-

sion of the Hubble Robotic Vehicle to conduct unmanned inspection and servicing of

the Hubble Space Telescope (which was canceled in the same year at the recommen-

dation of studies indicating that it would not have been feasible [16]). Naasz explored

proximity operations from the point of view of the ‘safety ellipse’ concept (termed by

Wigbert Fehse in his text, Automated Rendezvous and Docking of Spacecraft [12]).

This report was the first to contribute a full trigonometric parameterization of the

HCW ellipse, as well as a course optimization of sun-angle invariance during proxim-

ity operations. It was found that ellipses with equal radial and cross-track magnitudes

cause the inertial direction between the chaser and the target to vary by no more than

30° with some mean inertial direction (for example, the sun vector). This concept is

illustrated in several of his plots, shown in Figure 1.3.

22

Figure 1.3: Safety ellipse motion in the inertial frame coarsely optimized for sun anglevariation by Naasz [29], obtaining less than 30° of variation for a static CW ellipsewith equal radial and cross-track amplitudes.

Naasz also anticipated that oblate-Earth effects would result in the in-track drift

of the ellipse’s center, for which he recommended periodic impulsive maintenance or

re-initialization of the ellipse. For future work, further discussion of the effects of

other perturbations on relative motion was suggested. This thesis focuses in part on

the ‘pseudo-perturbation’ arising as the result of linearizing Keplerian gravity, which

(unlike other perturbations) could be avoided by utilizing higher-fidelity motion mod-

els in mission planning and for trajectory design and maintenance. While J2 effects

were not modeled in R/POTATO, inclusion of this effect and other deterministic

perturbations would be straightforwardly implemented in the Continuous function.

In another NASA Goddard report published in 2011 [2], Barbee and various other

authors (including Naasz) refocused the proximity operations mission design concept

on non-cooperative targets at geosynchronous orbit. They developed an RPO mission

23

framework for a hypothetical autonomous servicer to safely rendezvous with, inspect,

capture, and dispose of a malfunctioning GEO satellite into a super-synchronous

graveyard orbit. The rendezvous strategy involved repeated Hohmann raises from

lower co-elliptic orbits, as shown in Figure 1.4.

Figure 1.4: Impulsive-thrust RPO strategy developed by Barbee, et al. [2] that in-cludes periods of thrust-less co-elliptic drift with intermittent Hohmann raises, fol-lowed by an insertion into a safety ellipse using targeting techniques.

Unlike Woffinden’s CW ellipse insertion, the strategy described by Barbee, et al.

use Lambert or CW targeting techniques for final insertion from the last co-elliptic

segment. Similar to Woffinden, however, the RPO strategy is designed based on the

impulsive-thrust paradigm. Discussion of free-orbit ellipse design follows from and

builds upon Naasz’s original work, and features the sun-angle-optimized design as an

example. ‘Walking’ safety ellipses are discussed as a technique for safely approaching

24

the target along the in-track axis; these corkscrew-like trajectories are similar to

offset and inclined ellipses, but have non-zero in-track drift, and as a result are also

slightly offset radially from the in-track axis. The authors identify several avenues for

future work: development of thruster selection algorithms for proximity operations,

implementation in a high-fidelity 6-degree-of-freedom simulation, and consideration

of low-thrust solar electric propulsion paradigms for proximity operations missions.

This thesis touches on all of these items.

A 2011 master’s thesis by James Meub [27] investigates the feasibility of LEO

inspection using low-thrust cold-gas propulsion, proposing the M-SAT mission as a

platform to demonstrate inspection operations. The author specifies desired inspec-

tion trajectories in the HCW model by satisfying a linear periodicity condition, and

re-expresses the solution’s periodic motion in phase-amplitude form. A similar ap-

proach is taken in this thesis for the specification of HCW ellipse orientation.

A 2002 paper by Inalhan, Tillerson, and How [20] presents a strategy to initialize

periodic trajectories in eccentric reference orbits in the Tschauner-Hempel model for

the purpose of sparse-aperture synthesis satellite formation flight. By comparing with

the HCW model, the authors concluded that ignoring reference orbit eccentricity on

the order of e ≈ 10−3 for a 1-kilometer aperture can be a dominant source of modeling

error on par with ignoring J2 perturbations. A similar analysis was carried out in

this thesis; however, comparison was drawn between the full nonlinear relative motion

and the HCW model.

A paper by Schaub, et al. [32] contributes a spacecraft formation flight nonlinear

feedback law based on differential mean orbital elements of the spacecraft, for which

they proved Lyapunov stability. Their method makes no linearizing assumptions

about relative motion, and they attempt to control the chaser’s orbital elements to

an orbit that is J2-invariant with respect to the target’s orbit based on a set of first-

25

order necessary conditions on the orbital elements. They also introduce a nonlinear

feedback controller on Cartesian coordinates that proved to be more numerically

challenging in transformations to and from orbital elements, and mention that it

requires continuous thrust to implement. This thesis considers continuous-thrust

trajectories in the same Keplerian relative motion model using Cartesian states, but

focuses on optimal trajectory generation instead of feedback control; also, while J2-

invariance is briefly discussed, it is not implemented in the trajectory optimization

framework of this thesis. As mentioned previously, it would be straightforward to

implement both the perturbed dynamics as well as desirable endpoint constraints on

differential orbital elements for J2-invariance.

A 2005 article by Gurfil [17] delved into generalized conditions for periodic relative

motion under the Keplerian assumption, and provides an energy-matching condition

in terms of the Cartesian relative coordinates by mapping chaser and target posi-

tion and velocity vectors into the orbital frame. The author also presents a single-

impulse formationkeeping technique to periodically correct for perturbations that can

be calculated and optimized based on relative coordinates. This thesis borrows the

energy-matching and vector-mapping techniques presented by Gurfil, and extends

the method beyond the vis-viva equation to imposing additional constraints on local

eccentricity and momentum vectors.

Keplerian relative periodic trajectories were extensively analyzed by Biria, et al.

in a 2014 article. [5] The authors present a parameterization of Keplerian periodic

trajectories into seven time-varying elements by mapping relevant orbit mechanical

vectors into the Earth-centered orbital frame (an approach similar to that which is

taken in this thesis in subsection 2.3.2, as well as by Gurfil in 2005). They propose

the analysis of what they term ‘RSO tracks’ (analogous to satellite ground tracks)

as a technique to characterize a chaser’s coverage of a target from the vantages of

26

a periodic circumnavigating inspection trajectory, and assert that the most valuable

inspection trajectories have uniformly dense RSO tracks over the target’s surface area.

This implies a need to be able to adequately design relative trajectories to accomplish

surveying coverage objectives, which Chapter 2 explores. Additionally, the authors

perform an analysis of the validity of the Tschauner-Hempel equations, and note that

error accrues significantly for relative orbits with requirements on large separations,

which they identify as a common situation in the realm of space-based situational

awareness applications. This thesis reaches a similar conclusion as a result of the

various ‘cost of linearization’ analyses performed.

1.4.4 Continuous-Thrust Trajectory Optimization for Prox-

imity Operations

An article by Zhou, et al. [43] presents a 2π-periodic Lyapunov differential equa-

tion approach to linear quadratic regulation with eccentric targets. The decoupling

of in-plane and out-of-plane motion in the Tschauner-Hempel dynamical model is ex-

ploited, and it is shown that instead of solving a nonlinear Ricatti differential equation,

one need only solve a simpler linear Lyapunov differential equation to obtain a time-

varying LQR state feedback gain matrix. It was further shown that the controller

is semi-globally asymptotically stable for a bounded-control and bounded-energy for-

mulation. A periodic generator numerical technique is proposed to efficiently solve

the Lyapunov equation on-line. Although the solver used in this thesis is not suitable

for state feedback control or on-line implementation, it solves linear quadratic regu-

lation problems in several seconds with a higher-fidelity acceleration model than the

Tschauner-Hempel equations. This article also only analyzes the regulation problem,

and does not consider free-orbit motion as a desirable destination dynamics.

27

This thesis uses the same numerical optimization tool as the one chosen by Bo-

yarko, Yakimenko, and Romano in a 2011 article on optimal rendezvous trajectories

to tumbling objects [6]. The authors implement the rendezvous problem in GPOPS

with a state vector encoding the relative position of the chaser as well as the atti-

tude of both satellites, and add a docking constraint linking the terminal attitudes

and rates. However, attitude is uncoupled from the control inputs to the position

dynamics, which adhere to the HCW model. The results from GPOPS are directly

and satisfactorily validated with an independent numerical solution of the TPBVP

associated with the analytical solution forms that can be obtained with Pontraygin’s

Minimum Principle (i.e. the boundary value problem was solved for the costate given

the initial and final conditions) for the minimum-energy problem.

fi tf .

Figure 1.5: The RPO scenario considered by Boyarko, et al. [6] involves optimal tra-jectories for attitude-constrained docking using GPOPS-II. Left: depiction of satellitestates and terminal condition. Right: example of minimum-energy trajectory gener-ated by the pseudospectral solver.

However, the minimum-time results from the pseudospectral solver were observed

to be “highly oscillating,” which “suggests the presence of a singular control” (Bo-

yarko, et al. p. 1248). This possibility is duly noted in their mathematical formulation

of the minimum-time regulation control solution. The authors suggest altogether

avoiding the use of maneuver time as a performance index, and acknowledge the

shortcoming of position control inputs saturating independently in the orbital frame;

28

future work is recommended to address these areas. Much of the third chapter of

this thesis is focused on the identification of the singular control which these authors

identified, the need for coupling between attitude and position in the dynamics for

the minimum-time problem (and conversely the absence of this need for other objec-

tives under certain conditions), as well as other mitigation techniques to recapture

uniqueness in the solution.

Boyarko’s 2010 doctoral dissertation [7] considers the same 20-state rendezvous

problem, and contributes a novel trajectory generation method using inverse dynamics

in the virtual domain. Unlike the results obtained from his GPOPS implementation,

the new method is rapid enough to be run on-line. Though this technique sacrifices the

global optimality of the solution, Boyarko argues that the computation time regained

is an acceptable trade. This dissertation also notes the existence of the possibility of

singular control in the minimum-time problem, but goes on to report that it is resolved

by considering body-mounted thruster saturation instead of orbital frame saturation

(in essence, coupling the dynamics). A shortcoming of both this dissertation and

the journal paper is a small (but important) error that appears in the definition

of the forced HCW dynamics: the relative accelerations due to linearized orbital

mechanics are divided through by vehicle mass. This has the effect of artificially

‘raising’ the target orbit by uniformly downscaling orbital rate; however, this detail

had no detrimental impact on the findings in either publication.

A 2006 doctoral dissertation by Bevilacqua [4], who studied partly under the men-

torship of Romano and Yakimenko, focused on control optimization for rendezvous

and docking in the HCW model with a variety of techniques that could be imple-

mented on-line. As a secondary topic, the author used a genetic algorithm optimizer

to identify periodic or bounded projected circular orbit (PCO) relative motion tra-

jectories in the presence of J2 and drag perturbations to maximally exploit orbital

29

dynamics for efficient formation flight. The author found it necessary to extend

the first-order conditions for J2-invariance given by Schaub, et al. [32] to a set of

second-order conditions to achieve satisfactorily stationary trajectories in nonlinear

propagation. Bevilacqua’s genetic algorithm identified invariance near the critical

inclination as expected, as well as at another unexpected inclination of 49.11°. The

author recommended that future analysis be performed to determine why invariance

could be observed at this inclination, which was carried out by Vadali, et al. [37] and

Izzo, et al. [21]. It was determined that the specific combination of the target’s orbital

elements combined with the specified PCO differential elements resulted in bounded

in-track drift at the inclination of 49.11°. This type of analysis, but with scope ex-

panded from PCOs to any circumnavigating motion, is an example of a research

question that could be explored using the tool presented in this thesis, R/POTATO,

with only slight modification.

Richard Epenoy’s 2011 article [11] examines the minimum-fuel rendezvous prob-

lem for a chaser with constrained continuous thrust using the Tschauner-Hempel

motion model. The optimization problem is posed as a nonlinear program with an

added collision-avoidance inequality constraint. Epenoy designs an efficient numer-

ical technique for solving the constrained problem by instead solving a sequence of

unconstrained (i.e., without enforcing collision avoidance) problems, the solutions for

which he shows convergence to the constrained problem. Since he looked only at the

minimum-fuel problem, the optimal control was identified to be of the ‘bang-off-bang’

paradigm discussed in Chapter 3 based on Pontryagin’s Minimum Principle. Epenoy

noted that transcription techniques, like shooting and collocation methods, are ill-

suited to direct optimizaion of the control thrust in the minimum-fuel problem as a

result of the discontinuities and sizable singular interval. This thesis reaches a similar

conclusion for the analysis of the minimum-fuel problem with Gauss pseudospectral

30

collocation, and determines that the minimum-energy objective produces much more

satisfying numerical results, as well as being more applicable to the electric propulsion

paradigm.

1.4.5 Summary of Review

This literature review focused on research pertaining to three main areas: devel-

opment and analysis of relative motion models of varying fidelity and the impact on

relevant mission objectives, the characterization and implementation of free-orbit tra-

jectories for inspection and formation flight, and techniques for proximity operations

trajectory optimization. Based on insights gained from the reviewed literature as

well as an intersection of their suggested future work, this thesis sets out to develop a

framework for analyzing optimal proximity operations trajectories that can be flexibly

obtained for very general problems. For example, problems with arbitrarily nonlinear

and potentially attitude-coupled dynamics, various optimization goals ranging from

state regulation to ellipse insertion, precise specification of a range of periodic trajec-

tories, various optimization objectives, and various vehicle properties with physical

constraints. This objective is realized in the contribution of R/POTATO, which is

validated and demonstrated in the results of several analyses.

It is important to note, however, that R/POTATO is a numerical tool for under-

standing and analyzing optimal proximity operations trajectories, not for generating

them in an on-line or in a closed-loop fashion onboard an autonomous agent. At best,

the results are open-loop optimal control laws assuming perfect state knowledge, and

are certainly not robust to the range of real challenges associated with flight imple-

mentations that demand sophisticated reference-tracking control and state estimation

techniques. An in-depth review of various reference-tracking controllers across the en-

31

tire range of the proximity operations problem in the presence of both measurement

uncertainty and uncertain events can be found in the concurrently published doctoral

dissertation by C. Jewison. [22]

32

Chapter 2

Long-Duration Satellite ProximityOperations

This chapter develops the conceptual language and mathematical basis for ana-

lyzing long-duration satellite proximity operations. Throughout the chapter, a fun-

damental level of knowledge of orbital dynamics is assumed; Appendix A provides

an introduction to these concepts and equations for the reader’s convenience and for

consistency in nomenclature.

Emphasis is given on the classical development [10] of the linearized Hill-Clohessy-

Wiltshire equations of relative motion from the full, nonlinear form [17] [34] that can

be obtained from kinematics and the Two-Body Equation, with scrutiny on the cost

of making the linearizing assumptions in terms of a quantitative comparison under

a variety of circumstances. While it is straightforward to obtain solutions from the

linearized dynamics, it is necessary to use a nonlinear solver for the other set of

dynamics; MATLAB’s ode113 solver was chosen for this task. Appendix B elaborates

the reasoning behind this choice, along with a comparison to the state-of-the-art

benchmark Two-Body propagation tool furnished by Systems Tool Kit (STK) [36].

Classes of relative motion are briefly described, and the linearization error is ana-

lyzed for some simple cases. More time is spent on describing periodic circumnavigat-

33

ing trajectories in the relative space around a target RSO in terms of the cartesian

relative coordinates, treating the spatial specification of these relative trajectories

as a set of path constraints over these six variables. This is straightforward for the

Clohessy-Wiltshire dynamics, which predicts trajectories that can essentially be posed

as geometric constraints; however, the irregularly-shaped true nonlinear trajectories

warrant an approach that constrains differential Keplerian elements (expressed in the

cartesian relative frame) to specify the desired size, shape, and location of the periodic

trajectory.

Chapter 3, which details the implementation of the optimal proximity operations

problem in a general numerical optimization tool (GPOPS-II [30]), is motivated in

part by the findings of this chapter: for long-duration proximity operations, there is a

need to analyze the optimal control problem for higher-fidelity nonlinear astrodynam-

ical equations of relative motion, and a desire to control to a free-orbit (zero-thrust)

periodic trajectory instead of to a point in space. In essence, both bring more real-

ism or flexibility to the problem, yet introduce nonlinearities to the plant dynamics

or terminal conditions for which obtaining an analytical solution may be tedious or

intractable.

2.1 Relative Orbital Dynamics

Proximity operations between satellites requires an accurate representation of the

motion of one satellite with respect to another. Developing the equations of rela-

tive motion involves a vector analysis of the two satellites. This subsection begins

by describing the relative motion reference frame, proceeds with developing the full

nonlinear equations of relative motion, then makes various simplifying assumptions

to arrive at the linear and time-invariant Clohessy-Wiltshire equations of motion [10].

34

2.1.1 The LVLH Coordinate Frame

A common coordinate frame used for describing the relative motion between two

spacecraft is a target-centered ‘local vertical, local horizontal’ (LVLH) reference frame.

The convention for axis assignment used in this thesis is the same that is used by

Vallado [38] and Kaplan [23]. The x (sometimes called ‘radial’ or ‘R-bar’) coordinate is

the local vertical, and is positive along the target’s orbital radius vector pointing away

from the Earth’s center of mass. The y (also called ‘in-track’ or ‘V-bar’) coordinate

is the local horizontal, and is perpendicular to the radial direction in the plane of

the orbit in the direction of motion; for circular orbits, this direction is the same as

the velocity vector. The z or ‘cross-track’ coordinate is positive along the target-

centered vector parallel to the target’s orbital angular momentum vector (completing

the right-handed coordinate frame). Sometimes, the axes are named ‘RSW’ instead

of ‘XYZ.’ This is not the only coordinate convention used for describing relative

orbital dynamics, but it is one of the most common and easy to work with due to

the mnemonic value of having the three axes align with three important vectors from

fundamental orbital dynamics (x ‖ r, y ‖ v for circular orbits, and z ‖ h). Of course,

the center of the LVLH frame need not be on an actual target satellite; it may be any

fixed point of interest along some orbital trajectory (a ‘reference’ trajectory).

2.1.2 The Full Keplerian Nonlinear Equations of Relative

Motion

This subsection develops the laws of relative motion between two spacecraft gov-

erned by Keplerian gravitational dynamics. This development parallels the one pro-

vided by Sherrill’s dissertation [34]. The terms “chaser” and “target” are to be used

to describe the objects of interest in this problem, where the chaser is displaced by

35

Earth-Centered Inertial Frame(fixed)

r

LVLH Frame (rotating)Orbital

Trajectory

K

J

I

z

y x

Figure 2.1: Illustration of the LVLH reference frame.

some amount in the LVLH coordinate frame from the target, and the target is placed

at the center of the LVLH frame. With vector addition, the following relationship

can be written:

rch = rtgt + ρ

Where ρ is the range vector of the chaser in the target-centered LVLH frame:

ρ =

x

y

z

To obtain the chaser’s velocity in the inertial frame, its position vector is differentiated

with respect to time:

˙rch = ˙rtgt + ˙ρ+ ω × ρ

36

The Coriolis term is required due to the fact that the frame in which ρ is expressed

rotates as the target spacecraft proceeds through its orbit. Differentiating again yields

the acceleration of the chaser:

¨rch = ¨rtgt + ¨ρ+ 2ω × ˙ρ+ α× ρ+ ω × (ω × ρ)

Here, it is possible to make some substitutions. For these equations of motion, the only

simplifying assumption is that the orbiting bodies obey strictly Keplerian motion, i.e.

the only forces on each body are completely described by uniform spherical gravity

from the Earth as given by the Two-Body equation:

¨rch = − µ

r3chrch

¨rtgt = − µ

r3tgtrtgt

Also, the angular rate and angular acceleration of the LVLH frame have magnitudes

that are given by the first and second time derivatives of the target’s true anomaly,

respectively, and have direction parallel to the orbit angular momentum vector:

ω =

0

0

ν

, α =

0

0

ν

Now, substitute these values and write out the vector-valued quantities:

− µ

r3ch

rtgt + x

y

z

= − µ

r3tgt

rtgt

0

0

+

x

y

z

+2

0

0

ν

×x

y

z

+

0

0

ν

×x

y

z

+

0

0

ν

×

0

0

ν

×x

y

z

37

Evaluate the vector cross products:

− µ

r3ch

rtgt + x

y

z

= − µ

r3tgt

rtgt

0

0

+

x

y

z

+ 2ν

−y

x

0

+ ν

−y

x

0

+ ν2

−x

−y

0

Finally, re-arrange and write in scalar form to obtain the full Keplerian nonlinear

equations of relative motion [17] [34]:

x = 2νy + νy + ν2x+µ

r2tgt− µ

r3ch(rtgt + x)

y = −2νx− νx+ ν2y − µ

r3ch(y)

z = − µ

r3ch(z)

rch =√

(rtgt + x)2 + y2 + z2

Notice that these equations are nonlinear in the state variables due to the rch term,

and that rch also appears in every equation, coupling the motion of all coordinates.

No exact closed-form solution for x(t), y(t), and z(t) is known to exist, but these

dynamics are often simplified or linearized to various degrees to obtain approximate

solutions. [34]

2.1.3 The Hill-Clohessy-Wiltshire Model

This subsection carefully explains the linearizations, assumptions, and simplifica-

tions that are necessary to transform the nonlinear Keplerian equations of motion

38

into the commonly-used Clohessy-Wiltshire equations. This is done in the interest of

illustrating the causes of linearization error and why its accumulation is more serious

for long-duration proximity operations at range.

Linearization of the Keplerian equations of relative motion results in a more an-

alytically tractable motion model. Linearization propagates the assumption that the

chaser and target are relatively close to each other such that the difference between

the magnitudes of the target’s and the chaser’s orbit radius vectors is very small.

|ρ| << |rtgt| ∴ rch ≈ rtgt

This allows the expression for the magnitude of rch to be simplified:

rch =√

(rtgt + x)2 + y2 + z2

=√r2tgt + 2rtgtx+ x2 + y2 + z2

= rtgt

√√√√1 +

2x

rtgt+

*≈ 0

x2 + y2 + z2

rtgt2

≈ rtgt

√1 +

2x

rtgt

Using this new approximation of the chaser’s radius magnitude, the terms that involve

µ/r3ch can be rewritten as such:

µ

r3ch=

µ(rtgt

(1 + 2x

rtgt

) 12

)3

r3tgt

(1 +

2x

rtgt

)− 32

39

This term is still nonlinear in the x coordinate. This can be dealt with by using a

binomial series expansion of the form:

(1 + a)n = 1 + nx+n(n− 1)a2

2!+ ...

Under this series expansion, the binomial of interest can be rewritten:

(1 +

2x

rtgt

)− 32

= 1− 3x

rtgt+

15x2

2r2tgt+ ...

Because the goal is to reach an expression that is linear in the state variable, it is nec-

essary to truncate the series after the first-order term, invoking the same assumption

that x is small relative to rtgt:

(1 +

2x

rtgt

)− 32

≈ 1− 3x

rtgt

Substituting this back into the equations of motion and invoking the original assump-

tion in several places:

40

x = 2νy + νy + ν2x+µ

r2tgt− µ

r3tgt

(1− 3x

rtgt

)(rtgt + x)

= 2νy + νy + ν2x+µ

r2tgt− µ

r3tgt

rtgt + x− 3x−7≈ 0

3x2

rtgt

= 2νy + νy + ν2x+

µ

r2tgt−µ

r2tgt+ 2

µ

r3tgtx

= 2νy + νy + ν2x+ 2µ

r3tgtx

y = −2νx− νx+ ν2x− µ

r3tgt

1−7≈ 0

3x

rtgt

(y)

= −2νx− νx+ ν2x− µ

r3tgty

z = − µ

r3tgt

1−7≈ 0

3x

rtgt

(z)

= − µ

r3tgtz

At this point, the equations of motion have been linearized, but they are not time

invariant unless the target is in a perfectly circular orbit. It is still possible to obtain

a closed-form solution to the above linear ODEs without making this assumption,

but it is necessary to perform a coordinate transformation such that time is replaced

as the independent variable by true anomaly. This is called the Tschauner-Hempel

solution. [34] In the interest of restricting the scope and complexity of the upcoming

optimal control theory analysis to LTI dynamics, the assumption is made that the

target’s orbit has an eccentricity of zero:

41

ν = 0, ν = n,µ

r3tgt= ν2 = n2

The result is a relatively simple system of three linear and time-invariant second-order

ODEs, known as Hill’s equations or the Clohessy-Wiltshire equations of motion:

x = 2ny + 3n2x

y = −2nx

z = −n2z

Notice that motion in the orbital plane is coupled, but cross-plane motion is not (z

dynamics are analogous to a simple harmonic oscillator). This is due to the fact that

the target-centered reference frame is itself accelerating, but its acceleration (which

comprises both Coriolis and centripetal effects) has components only in the orbital

plane.

The Clohessy-Wiltshire equations can be solved analytically for closed-form posi-

tion and velocity solutions using a variety of techniques. Vallado [38] demonstrates

a Laplace transform approach toward solving the system of differential equations to

obtain these solutions:

42

x(t) = −(

3x0 +2

ny0

)cos (nt) +

(1

nx0

)sin (nt) +

(4x0 +

2

ny0

)y(t) =

(2

nx0

)cos (nt) +

(6x0 +

4

ny0

)sin (nt)− (6nx0 + 3y0) t+

(y0 −

2

nx0

)z(t) = (z0) cos (nt) +

(1

nz0

)sin (nt)

x(t) = (x0) cos (nt) + (3nx0 + 2y0) sin (nt)

y(t) = (6nx0 + 4y0) cos (nt)− (2x0) sin (nt)− (6nx0 + 3y0)

z(t) = (z0) cos (nt)− (nz0) sin (nt)

2.2 Comparison of Classes of Nonlinear and Lin-

earized Relative Motion Trajectories

Summarized below is the list of assumptions that were required to reach the

Clohessy-Wiltshire equations and their solutions from the starting point of the Kep-

lerian nonlinear equations of relative motion:

Chaser and target are relatively close together: |ρ| << |rtgt| ∴ rch ≈ rtgt

In the expression for rch:ρ2

r2tgt≈ 0

In the expression for x: 3x2

rtgt≈ 0

In the expression for y: 3xrtgt≈ 0

In the expression for z: 3xrtgt≈ 0

The binomial series expansion is truncated after the first-order term:(1 + 2x

rtgt

)− 32 ≈ 1− 3x

rtgt

The target’s orbit is perfectly circular.

43

To demonstrate the cost of making these assumptions, the trajectories predicted

by the Clohessy-Wiltshire equations are compared with those predicted by the full

Keplerian nonlinear equations for a set of arbitrary initial conditions. The trajectories

from the nonlinear equations were produced by numerically integrating them using

MATLAB’s high-precision ode113 solver, which performs a variable-order numerical

integration technique with accuracy specified to a relative tolerance of 2.22 × 10−14

(more information on the solver and tolerances can be found in Appendix B).

0 1 2 3 4 5 6 7 8 9

Time (sec) 105

-2

0

2

4

6

8

10

12

14

16

Dis

tanc

e (m

)

105 Position State Histories

X

YZ

C.W. XC.W. Y

C.W. Z

0 1 2 3 4 5 6 7 8 9

Time (sec) 105

-2.5

-2

-1.5

-1

-0.5

0

0.5

Dis

tanc

e (m

)

104 Position Error

X Error

Y ErrorZ Error

-2

-1

0

1

2

Rad

ial (

x)

105

051015

In-Track (y) 105

Relative Trajectory in the Orbital Plane

NLEM TrajectoryC.W. Trajectory

0 1 2 3 4 5 6 7 8 9

Time (s) 105

0

0.5

1

1.5

2

2.5

3

Abs

olu

te P

os E

rror

(m)

104 Absolute Position Error between CW and NLEM

least-squares polynomial fit:226.1642 tp2 + 281.4951 tp + 236.0043

-3

-2

-1

0

1

2104

1.41.421.441.46106

8.55 8.6 8.65105-3

-2

-1

0

1

2

104

Figure 2.2: Comparison of Clohessy-Wiltshire dynamics and nonlinear Keplerian dy-namics for an arbitrary set of initial conditions over 10 orbits near a circular GEO tar-get. Initial conditions: x0 = 10km, y0 = 20km, z0 = 1km, x0 = −1m/s, y0 = −2m/s,z0 = −1m/s. The target has e = 0.0005.

In Figure 2.2, the motion predicted by the Clohessy-Wiltshire equations diverges

in all coordinates from the actual Keplerian motion to a maximum position error of

around 25 kilometers at the end of the tenth orbit. Cross-track error is characterized

by a zero-mean sinusoid of increasing amplitude; in-track error appears to share a

44

similar sinusoidal nature but with a mean that grows approximately linearly; radial

error grows as a sinusoid with increasing amplitude and a mean that grows faster than

linearly. In the lower-left panel, the Keplerian trajectory can be observed diverging

from the linearized trajectory (it follows the orbital trajectory, which curves down

and away from the local horizontal axis).

This seems like a large amount of error, but inspection of the state histories and

the orbital plane relative trajectory seem to indicate close agreement between the

Clohessy-Wiltshire trajectories and the true Keplerian motion. This is attributable

to the large orbital radius of the target (it is at geostationary orbit, which corresponds

to a semimajor axis of 42, 164.137 km); thus, 25 kilometers corresponds to less than

a 2% error. Although the initial conditions placed the chaser tens of kilometers away

from the target, this initial offset is less than 1/1885th of the size of the target’s

orbital radius. For certain applications, this error may be small enough to justify the

assumptions that the Clohessy-Wiltshire equations make regarding the small size of

the chaser’s range with respect to the target’s radius.

In Table 2.1, various stationary initial offsets in both the x and y coordinates are

analyzed, and the position percent error between Clohessy-Wiltshire and nonlinear

Keplerian motion is computed after 1 orbit, 3 orbits, and 10 orbits. An additional

column introduces a non-zero eccentricity into the 10-orbit error computation.

45

LEO (200 km altitude)x0(km)

y0(km)

ρ0/a % Error:1 Orbit,etgt = 0

% Error:3 Orbits,etgt = 0

% Error:10 Orbits,etgt = 0

% Error:10 Orbits,etgt = 0.0005

0.1 0 1.52× 10−5 0.0299 % 0.0867% 0.2866% 0.3401%1 0 1.52× 10−4 0.3035% 0.8671% 2.866% 2.878%10 0 1.52× 10−3 3.019% 8.645% 28.72% 28.75%0 0.1 1.52× 10−5 0.0287% 0.086% 0.2874% 0.288%0 1 1.52× 10−4 0.2874% 0.8671% 2.950% 2.957%0 10 1.52× 10−3 2.950% 9.405% 40.16% 40.29%

GEOx0(km)

y0(km)

ρ0/a % Error:1 Orbit,etgt = 0

% Error:3 Orbits,etgt = 0

% Error:10 Orbits,etgt = 0

% Error:10 Orbits,etgt = 0.0005

0.1 0 2.37× 10−6 0.0047 % 0.0134% 0.0447% 0.1818%1 0 2.37× 10−5 0.0471% 0.1347% 0.4472% 0.4854%10 0 2.37× 10−4 0.4706% 1.338% 4.471% 4.483%0 0.1 2.37× 10−6 0.0045% 0.0134% 0.0447% 0.0448%0 1 2.37× 10−5 0.0447% 0.1343% 0.4491% 0.4501%0 10 2.37× 10−4 0.4491% 1.359% 4.680% 4.691%

Table 2.1: Comparison of the absolute position error of Clohessy-Wiltshire dynamicswith nonlinear Keplerian dynamics over time at various stationary initial offsets atLEO and GEO.

In Table 2.1, the effect of a non-zero relative offset causes the Clohessy-Wiltshire

dynamics to diverge with Keplerian dynamics over time and distance. Consideration

of a small amount of target eccentricity (a value typical of GEO object eccentricities in

the Celestrak library of TLE sets [9]) increases the position error slightly in every case,

most dramatically affecting the closest-range radial offset cases. The initial range-

to-semimajor axis ratio is the driving factor of the zero-eccentricity error over time,

as the percent error in Table 2.1 suggests. These results indicate that the Clohessy-

Wiltshire assumptions are fairly accurate within the kilometer range at GEO altitude,

not exceeding a half-percent error in absolute position compared to Keplerian motion

even after 10 orbits and with realistic reference orbit eccentricity. As is detailed in

46

Appendix B, the discrepancy between ode113 and the STK Two-Body propagator is

low, with absolute range errors varying from 0.02% to 0.04% at the end of 10 days at

GEO altitudes, which accounts for only a small fraction of the range errors reported in

the table. However, ten kilometer offsets show relatively large linearization error that

might be detrimental to proximity operations, especially in the unneeded use of fuel to

compensate. For rendezvous and docking applications, the linearized model becomes

more accurate as the mission proceeds, but missions with long-duration inspection

and formation flight require the chaser to dwell in this error region for much longer.

As shown in Figure 2.2, the natural unforced trajectories of objects in the relative

orbital frame have a distinct shape, which Vallado [38] describes as “elliptical-like.”

As can be seen from the time-domain solutions of the Clohessy-Wiltshire equations,

cross-track trajectory components are simple sinusoids, and orbit-plane dynamics are

coupled sinusoids with a secular component in the in-track coordinate. Although

there is no analytical time-domain solution to the full nonlinear Keplerian dynamics,

they are still clearly 2πn

-periodic with a secular aspect, which are well approximated in

the close-range zero-eccentricity case by the sinusoidal Clohessy-Wiltshire solutions.

Various unforced trajectories in the relative frame are plotted and compared between

these different models in Figures 2.3 through 2.7.

47

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Rad

ial (

m)

105

-6-4-20246

In-Track (m) 105

-6000

-4000

-2000

0

2000

4000

6000

-6000-4000-20000200040006000

+10 m/s

+5 m/s

-10 m/s

-5 m/s

Figure 2.3: Orbital plane trajectories of a GEO object executing various R-bar im-pulses. This causes in-track drift in the Keplerian model, but not under Clohessy-Wiltshire assumptions. Initial radial velocities of 1 m/s, 0.5 m/s, 0.1 m/s, −0.1 m/s,−0.5 m/s, and −1 m/s. (e = 0.0)

In Figure 2.3, it can be seen that an object at rest at the LVLH origin that ex-

ecutes an impulsive burn in the radial direction will set itself on elliptical relative

trajectory which will take a full orbital cycle to return back to the origin. In terms of

classical orbital elements, this impulsive radial burn causes a change in eccentricity

only. Notice that while this behavior is the case for the Clohessy-Wiltshire dynamics,

it is not precisely true in the case of the nonlinear dynamics. It is clear that the Kep-

lerian motion does not return to the original position, but rather ‘behind’ it, notably

for both upward and downward radial burns; this lagging effect can be attributed to

the fact that the radial impulse increased the energy of the chaser’s orbit with respect

to the reference orbit, which is tantamount to increasing semimajor axis (and thus

orbital period) - invalidating the ‘linearizing’ notion that radial burns change only

the orbit’s eccentricity. Mathematical intuition for this behavior can be obtained by

48

examining the vis-viva equation and noticing that increased radial velocity from the

reference orbit, regardless of sign, adds to the orbit’s kinetic energy.

-6

-4

-2

0

2

4

6

Rad

ial (

m)

104

-2.5-2-1.5-1-0.500.511.522.5

In-Track (m) 105

Nonlinear Keplerian MotionClohessy Wiltshire Motion

-2000

-1500

-1000

-500

0

500

2.572.582.592.62.612.62105

-1000

-500

0

500

-2.62-2.61-2.6-2.59-2.58-2.57

105

Actual Orbital Trajectory

Local Horizontal Axis

Figure 2.4: Orbital plane trajectories of a GEO object executing various V-bar im-pulses. The Clohessy-Wiltshire linearization is well-illustrated in this case; note theactual orbital trajectory, which curves away from the local horizontal. Initial in-trackvelocities are 1 m/s, 0.5 m/s, 0.1 m/s, −0.1 m/s, −0.5 m/s, and −1 m/s. (e = 0)

In Figure 2.4, the object instead performs an impulsive burn along the in-track

axis. This type of maneuver raises or lowers the orbit’s apoapsis. This changes

both the orbit’s eccentricity and its semi-major axis. If the burn is in the velocity

direction, it will raise the apoapsis and increase the semimajor axis, thus increasing

orbital period; with respect to the LVLH origin, this creates a ‘lagging’ effect, and the

object will fall behind the origin after one orbit. Conversely, if the burn is opposite

the velocity direction, this will lower apoapsis and decrease the semi-major axis,

which decreases the orbital period and creates a ‘leading’ effect with respect to the

LVLH origin. This type of maneuver, also accompanied by a final circularizing burn,

is commonly used for orbit phasing (changing true anomaly along the trajectory).

This is perhaps the most illustrative case for examining the linearizing effects of

the Clohessy-Wiltshire model; note that the linearized trajectory returns directly

to the local horizontal axis, while the Keplerian trajectory returns to a new true

49

anomaly along the orbital trajectory, as is expected. The Clohessy-Wiltshire model’s

linearization can be thought of as extending the target’s orbital trajectory into a

straight line along the local horizontal, while holding its velocity’s magnitude and

direction constant along the axis. Clearly, this assumption only holds at very close

proximity and on short time scales.

It is possible to find stationary trajectories in the relative frame. In the Keplerian

model, this occurs when the chaser and the target occupy orbits that have the same

orbital period, such that the chaser neither leads nor lags with respect to the target.

Trivially, this can be achieved by being at different points along the same orbit, in a

‘string-of-pearls’ formation. In the linearized Clohessy-Wiltshire model, this means

being stationary anywhere on the y-axis. This arrangement is illustrated in Figure

2.5 for both circular and eccentric target orbits, where the starting time is specified

as perigee for the latter case, and the ending time is the terminus of a single orbit.

-0.01

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

Rad

ial(m

)

-1500-1000-500050010001500

In-Track (m)

-1

0

1

2

3

10-5

999999.510001000.5

Nonlinear Keplerian Motion

Clohessy Wiltshire Motion

Figure 2.5: Trajectories of six objects placed at various displacements along the in-track LVLH axis of a point in a GEO orbit over one orbit (e = 0.0).

50

As would be expected by substituting zero-velocity and zero-radial-offset initial

conditions into the Clohessy-Wiltshire equations, the linear model predicts no motion.

The nonlinear model predicts a small amount of oscillatory behavior of centimeter-

scale amplitude. This can be understood by realizing that the target’s orbital tra-

jectory is not a straight line, and that the only point on the y-axis which lies on the

target’s orbit is the origin of the LVLH frame. If the initial positions are instead

placed at different true anomalies in the target’s orbit, as shown in Figure 2.6, the

nonlinear model predicts the expected stationary behavior.

-1000

-500

0

500

Rad

ial (

m)

-8-6-4-202468

In-Track (m) 104

Nonlinear Keplerian MotionClohessy Wiltshire Motion-6

-5

-4

-3

-2

-1

0

1

7340736073807400

Figure 2.6: Trajectories of six objects placed at various displacements in true anomalywith respect to a point in a circular GEO orbit over one cycle.

By looking at the closed-form solution for in-track motion from Hill’s equation, it

is easy to pick out the initial conditions that cause secular drift from the term linearly

multiplying time:

y(t) =

(2

nx0

)cos (nt) +

(6x0 +

4

ny0

)sin (nt)− (6nx0 + 3y0) t+

(y0 −

2

nx0

)

From this term, a simple relationship between radial position and in-track velocity

51

can be obtained which nulls the secular drifting of relative motion in the linear model:

y0 = −2nx0

In the previous case, where the chaser was able to remain stationary along the Y -

axis in the Clohessy-Wiltshire model, this condition was trivially met (both y0 and x0

were zero); the chaser was following the trajectory of a degenerate ellipse with semi-

major and semi-minor axis lengths of zero. In fact, all non-secular trajectories in the

Clohessy-Wiltshire model have orbital plane projections that are 2-by-1 ellipses with

major axis along the Y -axis, with sizes and centers varying with the initial conditions.

Additionally, there is no constraint on cross-track motion besides simple harmonic

motion; the closed trajectory may be inclined at any angle about any arbitrary axis

that lies in the XY -plane, so long as it still projects the 2-by-1 ellipse onto the

XY -plane.

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Rad

ial (

m)

104

-1.5-1-0.500.511.522.5

In-Track (m) 104

Nonlinear Keplerian MotionClohessy-Wiltshire Motion

-100

-50

0

50

100

2.472.482.492.52.51

104

254.8 m

-6

-4

-2

0

2

4

6

98599099510001005

13.6 m

-4

-2

0

2

4

-1.5006-1.5004-1.5002-1.5-1.4998

104

4.84 m

Figure 2.7: Various non-secular and non-stationary trajectories (free-orbit ellipses)in the orbital plane over one sidereal day, instantiated with y0 = −2nx0. The LVLHorigin is situated at GEO and has zero eccentricity. With a realistic eccentricity of0.0005, Keplerian trajectories are slightly skewed and have nonzero in-track drift.

52

This trajectory, shown in Figure 2.7, is referred to by a number of names such as

the ‘free-orbit ellipse,’ ‘safety ellipse,’ ‘inspection ellipse,’ or ‘circumnavigation ellipse.’

It is of great interest in the field of proximity operations because it is an unforced

trajectory that allows periodic motion about a fixed point in the LVLH frame under

the Clohessy-Wiltshire assumptions.

This shape of relative motion trajectory arises when the chaser’s orbit has pre-

cisely the same period as the target’s orbit, but has a lower periapsis and a higher

apoapsis than the target’s orbit. In terms of the classical elements, this means that

both orbits have the same semimajor axis a, but the chaser’s orbit has slightly more

eccentricity, δe. There may also be a difference in inclination, δi, which manifests

itself as harmonic out-of-plane motion; a difference in the argument of perigee, δω,

shifts the center of the ellipse along the in-track axis (equivalently, this can be ob-

tained by a different true anomaly on the same orbit). It is thus intuitively clear

that closed periodic relative trajectories do still exist under the nonlinear Keplerian

model (which assumes only Two-Body forces), but with shapes that are not perfect

ellipses; instead, the nonlinearity of the eccentricity differential results in distorted,

‘bean-shaped’ trajectories, which becomes more prominent with more eccentric target

orbits.

53

Target's OrbitalPlane

X

Z

RBAR

1/2

YVBAR

𝛼

𝛼

Figure 2.8: Depiction of the Clohessy-Wiltshire ‘free-orbit ellipse’ projected onto theorbital plane, which always has the same 2:1 ratio between semimajor and semiminoraxes. This ellipse happens to be target-centered, but centering anywhere on the y-axisis admissible.

2.3 Constraint Specification for Design of Periodic

Relative Trajectories

Periodic relative trajectories are desirable for long-duration proximity operations,

such as formation flight and RSO inspection, because they allow the chaser to follow

a repeating trajectory with theoretically zero fuel consumption. Although there will

always be a need to expend fuel to ensure mission safety and to combat orbit pertur-

bations and estimation error, studying the conditions which produce these relative

trajectories in the linearized or spherical-gravity models provides valuable insight into

how mission life can be maximized.

There are many ways that periodic trajectories can be oriented and positioned in

the relative space around the target. Mission designers may wish to choose relative

54

trajectories that suit their users’ needs; for example, the relative trajectory can be

designed to periodically pass within the field of view of certain sensors on the target,

or to avoid them. It may be desirable to specify a minimum range (e.g., based on

safety requirements) or maximum range (e.g., based on sensor requirements) to the

target, either in a circumnavigating trajectory or one that is offset in true anomaly.

An example of a purposefully-designed relative trajectory is described by Naasz

[29]: If the trajectory has zero in-track offset, and equal range maxima in the radial

and cross-track directions, the chaser-to-target direction in inertial space varies by no

more than about 30 degrees from some mean inertial direction in the target’s orbital

plane (e.g., the Earth-Sun vector), which is useful for power and lighting considera-

tions. As another example, a trajectory with a 60°-inclined relative trajectory about

the in-track axis maintains constant range with the target to first-order linearization,

which may be useful in some circumstances for sensor calibration or inspection.

In this section, periodic trajectory design is posed as a set of constraints on the

LVLH coordinates for both the linearized and full Keplerian models. The process is

straightforward for the linearized model due to the geometrical simplicity of the free-

orbit ellipse and the availability of closed-form sinusoidal solutions to the equations

of motion. It is more difficult for the nonlinear model; here, a differential-orbital-

element approach expressed in the LVLH variables is used. The ultimate goal is to be

able to express a set of path constraints on the relative state variables that produces

this desirable relative motion, which proves useful for eventual implementation in the

numerical trajectory optimization framework.

55

2.3.1 Specifying the Clohessy-Wiltshire Free-Orbit Ellipse

The linear free-orbit ellipse can be entirely specified by five equality constraints on

the LVLH state variables, essentially derivable from the geometry of a standard ellipse.

The first and most essential constraint is the non-secularity constraint introduced

above. This ensures a closed trajectory with the characteristic 2-by-1 elliptical shape.

To specify the size and center of the ellipse using the LVLH state variables, it is

helpful to leverage the general equation of an ellipse in cartesian coordinates:

x2

β2+

(y − yc)2α2

= 1

Where α is the semimajor axis of the ellipse, β is the semiminor axis, and yc is

the displacement of the ellipse’s center along the y-axis. In the case of the free-

orbit ellipse’s projection onto the orbital plane, the ratio between α and β is always

constant. Thus, it is possible multiply through by α to obtain:

4x2 + (y − yc)2 = α2

Although this equation includes both yc and α, it only constrains the x and y position

coordinates. In some applications, it may also be necessary to develop a relationship

that also constrains the velocities of the in-plane coordinates. To obtain such a

relation, one can implicitly differentiate the ellipse equation with respect to one of

the coordinates:

56

1 =x2

β2+

(y − yc)2α2

d

dx1 =

d

dx

x2

β2+

d

dx

(y − yc)2α2

0 = 2x1

β2+ 2y(y − yc)

dy

dx

1

α2

dy

dx= −α

2

β2

x

(y − yc)y

x= −4

x

(y − yc)(y − yc)y

xx+ 4 = 0

The resulting equation loses the ability to specify the ellipse’s size, but gains a fortu-

itous relationship involving both position and velocity.

In order to deal with the cross-track behavior, it is necessary to introduce two

angles: ζ, which specifies the inclination angle that the ellipse makes with the orbital

plane, and γ, which encodes the azimuth of the ascending node of the free-orbit ellipse

as it passes upward through the orbital plane. In this thesis, γ is measured clockwise

from the −X direction because the relative motion of the chaser is clockwise along the

free-orbit ellipse (looking ‘down’ on the orbit along the angular momentum vector),

and the −X direction points toward Earth. This convention is shown in Figure 2.9.

57

Target's OrbitalPlane

X

Z

RBAR

𝛾

YVBAR

Figure 2.9: Illustration of the nodal azimuth parameter γ, which is measured fromthe −X axis in the direction of relative motion (clockwise). The blue dot indicatesthe location of the ellipse’s ascending node over the XY -plane.

In order to specify these two angular displacements, it is necessary to do so in terms

of phase separations between the sinusoidal position solutions of Hill’s equations. To

this end, the non-secular position solutions from Hill’s equations can be expressed

with a combined sinusoid:

A cos(t) +B sin(t) = R cos(t− φ), R =√A2 +B2, φ = arctan

(B

A

)

x(t) = Rx cos(nt− φx), Rx =

√(3x0 +

2

ny0

)2

+

(1

nx0

)2

, φx = arctan

(1n x0

3x0 +2n y0

)

y(t) = Ry cos(nt− φy) +[y0 −

2

nx0

], Ry =

√(2

nx0

)2

+

(6x0 +

4

ny0

)2

, φy = arctan

(6x0 +

4n y0

2n x0

)

z(t) = Rz cos(nt− φz), Rz =

√(z0)2 +

(1

nz0

)2

, φz = arctan

(1n z0

z0

)

58

For brevity, Ax, Bx, Rx, etc. are used for the rest of this part instead of writing out

the functions of the initial conditions.

The first step in specifying the nodal azimuth angle of the ellipse is to determine

where along the trajectory the ascending node should lie. This can be done by

converting the Cartesian equation of an ellipse into polar form, rearranging to solve

for the radius as a function of γ, and using that with the trigonometric functions

shown above.

RAN =

√α2

5− cos2(γ)− 4 sin2(γ)

xAN = RAN cos(180°− γ)

yAN = RAN sin(180°− γ)

The reason that γ must be subtracted from 180° in the argument is because γ is

measured clockwise from the −X axis. The goal is now to specify that the cross-

track motion is at its maximum at 90° phase ahead of the ascending node. To do

this, it is first necessary to back out the phase location of the ascending node from

either the y or the x motion.

φAN, y = arccos

(yANRy

)Then, the equation which specifies the nodal azimuth is:

φz − 90° = φy − φAN, y

Since φz and φy are subtracted from nt in the cosine argument, the right-hand side

of the equation ‘advances’ the phase of y(t) to the ascending node, and the left-hand

59

side ‘advances’ the phase of z(t) and additional 90°.

To specify the inclination angle ζ, it is first necessary to determine the ellipsoid’s

radius to the point where z(t) is at its maximum, which is 90° advanced in phase

from the ascending node. It is useful here to recognize that x(t) is always exactly 90°

ahead of y(t).

Rbelow apex =√

(Rx cos(φAN, y))2 + (Ry cos(90° + φAN, y))2

Then, the equation that specifies the free-orbit ellipse’s inclination angle can be writ-

ten:

Rz = Rbelow apex tan(ζ)

With these five equations, which can be thought of as a set of nonlinear equality

constraints on the LVLH state variables, the free-orbit ellipse can be exactly specified

in 3-dimensional space. Table 2.2 summarizes these conditions.

Non-secular y0 = −2nx0

Centered at yc(y−yc)yxx

+ 4 = −0

Semimajor axis of α 4x2 + (y − yc)2 = α2

Nodal azimuth of γ arctan(Bz

Az

)− 90° = arctan

(By

Ay

)− φAN, y

Inclination angle of ζ√A2z +B2

z = Rbelow apex tan (ζ)

Table 2.2: Summary of conditions that specify the size, center, and orientation of theClohessy-Wiltshire free-orbit ellipse in the form of equality constraints on the LVLHvariables.

60

2.3.2 Specifying Keplerian Relative Periodic Trajectories

If the nonlinear Keplerian dynamics model is used instead of the linear Clohessy-

Wiltshire model, the above constraints on the LVLH state variables will no longer

specify the desired periodic relative trajectory. Instead, it is necessary to return to

the Keplerian-element definition of a periodic relative trajectory (constant a with a

nonzero δe) to derive constraints for free-orbit motion. Once again, the desire is to

express these constraints in terms of the LVLH state variables.

The general strategy for posing the conditions of periodic relative motion will

involve relating the LVLH state variables of the chaser to its position and velocity

vectors, from which the Keplerian elements of interest can then be obtained:

[x y z x y z

]→ rch, vch → COEs

Recall that the chaser’s position vector can be expressed as such:

rch = rtgt + ρ =

rtgt + x

y

z

The chaser’s velocity vector be obtained as follows, keeping in mind that it is necessary

to correct for the rotation of the LVLH frame when expressing rtgt [17]:

61

˙rch = ˙rtgt + ˙ρ+ ω × ρ

=

rtgt

0

0

+

0

0

ν

×rtgt

0

0

+

x

y

z

+

0

0

ν

×x

y

z

=

x− νy + rtgt

y + ν(x+ rtgt)

z

Thus, the magnitudes of the chaser’s radius and velocity vectors can be expressed as:

rch =√

(rtgt + x)2 + y2 + z2

vch =√

(x− νy + rtgt)2 + (y + ν(x+ rtgt))2 + z2

For circular target orbits, rtgt and vtgt are constant. Otherwise, they are computed

as functions of the target’s true anomaly using fundamental orbital mechanics:

rtgt =atgt(1− e2tgt)

1 + etgt cos(ν)

vtgt =

√2

rtgt− µ

2atgt

)

Now that the magnitudes of both the target’s and the chaser’s radius and velocity

vectors can be expressed in terms of the LVLH coordinates, it is possible to equate

their specicific mechanical energies, and since this model considers only unperturbed

gravitational motion, this amounts to equating their semimajor axes (and thus their

62

orbital periods). This results in a periodic free-orbit relative trajectory for the chaser.

Manipulation of the vis-viva equation allows this energy-matching constraint to be

written:

Ttgt = Tch ∴ atgt = ach ∴ ξtgt = ξch

v2tgt2− µ

rtgt=

v2ch2− µ

rch

− µ

2atgt=

v2ch2− µ

rch

Satisfaction of the energy-matching constraint guarantees periodic motion, but it

may also be desirable to have some way to specify size and the in-track offset of

the trajectory. For these two parameters, it is necessary to compute the eccentricity

vectors and magnitudes for both objects, if they exist. The size of the relative orbit

is related to the differential eccentricity, while the offset of the relative orbit is related

to the angle between the eccentricity vectors (a differential argument of perigee).

etgt =1

µ

(v2tgt −

µ

rtgt

)rtgt

0

0

−rtgt

0

0

·rtgt

νrtgt

0

rtgt

νrtgt

0

=1

µ

ν2r3tgt − µ

−νrtgtr2tgt0

etgt = |etgt|

63

ech =1

µ

(v2ch −

µ

rch

)rtgt + x

y

z

−rtgt + x

y

z

·x− νy + rtgt

y + ν (x+ rtgt)

z

x− νy + rtgt

y + ν (x+ rtgt)

z

ech = |ech|

δe = ech − etgt

While the eccentricity vector is fixed in inertial space, it is not stationary when

expressed in the LVLH frame. As can be seen for the expression of the target’s

eccentricity vector, it has periodic angular motion in the orbital frame. If there is

no cross-track component to the chaser’s orbit, its eccentricity vector also stays in-

plane. For the periodic trajectory to be centered on the target, the projection of the

chaser’s eccentricity vector onto the target’s orbital plane must match the angle of the

target’s eccentricity vector. This implies that both the chaser and target share the

times at which they experience perigee and apogee, given that they both are at the

same true anomaly. In-track offset of the periodic trajectory is observed when there

is a difference in the argument of perigees (i.e. angular offset in eccentricity vectors);

equivalently, even if the orbits share the same argument of perigee, a displacement

in true anomaly will produce the same offset. This fact is useful to determine the

in-track offset of an eccentric chaser with respect to a circular target, since perigee is

undefined for a circular orbit.

64

When both spacecraft occupy eccentric orbits, and under the assumption that

the spacecraft share the same true anomaly in their respective orbits, it is possible

to obtain the differential argument of perigee by determining the angle between the

eccentricity vectors’ orbital plane projections. This is straightforward to do by using

the dot product formula:

cos(δω) =echxetgtx + echyetgty√e2chx + e2chy

√e2tgtx + e2tgty

The size of the relative periodic trajectory is determined by the magnitude of δe. The

larger it is, the greater the maximum and minimum radial distance of the trajectory.

For target-centered relative trajectories, the magnitude of maximum radial offset can

be obtained as follows:

xmax = a · |δe|

The sign of δe plays the role of determining which direction the relative trajectory’s

orbital plane projection is distorted by eccentricity in the reference orbit. The effect

is most readily observed in highly-eccentric reference orbits, but is present for all

eccentricities. If the chaser is more eccentric than the target, it will have ‘lower lows’

and ‘higher highs’ with the same semimajor axis, meaning that its perigee radius is

less than the target’s, and its apogee radius is greater than the target’s. Additionally,

the rate of the chaser’s motion along the relative trajectory mirrors its fluctuating

orbital rate – it traverses the perigee section more quickly than the apogee section.

As the eccentricity of the reference orbit grows, the apogee section becomes ‘flatter’

and the perigee section becomes ‘rounder’, resulting in the aforementioned bean-like

shape. Although there seems to be limited use cases for free-orbit formation flight

with highly-eccentric reference orbits, the intriguing notion of ‘loitering’ on either the

65

nadir or zenith sections of the relative trajectory simply by designing the sign of the

chaser’s δe may provide impetus for innovative formation flight mission architectures.

Figure 2.10 illustrates this effect.

-1

-0.5

0

0.5

1

Rad

ial (

m)

105

-2.5-2-1.5-1-0.500.511.522.5

In-Track (m) 105

e = 0

e = 0.1e = 0.3

e = 0.5e = 0.8

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Rad

ial (

m)

105

-2.5-2-1.5-1-0.500.511.522.5

In-Track (m) 105

e = 0

e = 0.1e = 0.3

e = 0.5e = 0.8

ech < etgt

ech > etgt

Apogee

Apogee

Perigee

Perigee

Figure 2.10: Target-centered periodic relative trajectories for various reference orbiteccentricities, each with |δe| = 0.0025. The sign of δe determines whether perigeeoccurs zenith or nadir with respect to the target, while the magnitude of δe determinesthat maximum radial separation. In all eccentric cases, the chaser traverses theperigee section more quickly than the apogee section.

66

Figure 2.11: Various periodic relative trajectories in the vicinity of the target. Trajec-tories need not be centered on the target, nor be symmetric about the local horizontalaxis.

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

In-Track (m) 104

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

Cro

ss-T

rack

(m

)

104

-1

-0.5

0

0.5

1

Rad

ial (

m)

104

-2-1.5-1-0.500.511.52

In-Track (m) 104

-1 -0.5 0 0.5 1

Radial (m) 104

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

Cro

ss-T

rack

(m

)

104

Figure 2.12: Target-centered eccentric relative trajectory with out-of-plane motion.Periodic trajectories take on a Dali-esque cross-track shape due to reference orbiteccentricity. For this figure, the reference orbit is equatorial with e = 0.5, and thechaser’s orbit has inclination δi = 3.536 × 10−4 and δe = −2.5 × 10−4. This placeschaser perigee in the +X, +Z quadrant.

67

To describe the out-of-plane motion of the periodic trajectory, it is necessary to be

able to express both the target’s and the chaser’s specific angular momentum vectors

in the LVLH frame. To do this, the cross product of both spacecraft’s radius and

velocity vectors must be computed:

htgt = rtgt × vtgt

=

rtgt

0

0

×rtgt

νr2tgt

0

=

0

0

νr2tgt

hch = rch × vch

=

rtgt + x

y

z

×x+ rtgt − νy

y + ν(x+ rtgt)

z

=

yz − z(y + ν(x+ rtgt))

−z(rtgt + x) + z(x+ rtgt − νy)

(rtgt + x)(y + ν(x+ rtgt))− y(x+ rtgt − νy)

We note that since the LVLH frame is rotating about the target’s angular mo-

mentum vector, it is expressed identically as the inertial angular momentum vector

of the target in magnitude and direction. For the chaser, the angular momentum vec-

tor is fixed in inertial space, but appears to move in the LVLH frame if the chaser’s

inclination is not the same as the target’s. If there is a δi between the target and

the chaser, the z-component as well as the norm of the vector remain constant, but

the x and y-components change such that the projection of the vector tip’s motion

is a circle in the xy-plane (similar to a precessing top, but with a varying rate that

matches the chaser’s orbital rate). The angle between the two angular momentum

vectors is equal to δi:

cos(δi) =hchzhch

68

Obtaining the azimuth of the local ascending node in the LVLH frame is more

involved than the simple vector operations employed to obtain δe, δi, and δω. For

this reason, the following analysis is restricted to target-centered trajectories with an

equatorial reference orbit. In this simplified case, the eccentricity vector projections

of the target and the chaser are always parallel in the orbital plane, and thus the

differential eccentricity vector δe = etgt − ech always points from the LVLH origin

to the chaser’s position along the relative trajectory. The vector that points to the

location where the chaser’s orbit ‘ascends’ through the target orbital plane can be

obtained as the cross product of their specific angular momentum vectors:

Nrel = htgt × hch

Since both this local ascending node vector and the differential eccentricity vector are

considered to be fixed in inertial space, their angular offset in the LVLH orbital plane

remains constant throughout the orbit. In essence, the azimuth of the local ascending

node can be designed by correctly instantiating the chaser’s angular momentum vector

with respect to the chaser’s eccentricity vector. It is important to also keep in mind

that the sign of δe changes where in the LVLH frame the chaser experiences perigee.

Let the parameter Γ represent the angular separation between the chaser’s relative

ascending node and the shared perigee. Then,

cos Γ =Nrelxδex +Nrelyδey√N2relx

+N2rely

√δe2x + δe2y

69

-1

0

1

-2-1.5-1-0.500.511.52

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

In-Track (km)

Radial (km

)

Cro

ss-T

rack

(km

)-Y L.A.N.

+Y L.A.N.+X L.A.N.

-X L.A.N.

-1000 0 1000

Radial (m)

-3000

-2000

-1000

0

1000

2000

3000

Cro

ss-T

rack

(m

)

-2000 -1000 0 1000 2000

In-Track (m)

-3000

-2000

-1000

0

1000

2000

3000

Cro

ss-T

rack

(m

)

-1000

-500

0

500

1000

Rad

ial (

m)

-2500-2000-1500-1000-50005001000150020002500

In-Track (m)

Figure 2.13: Target-centered eccentric relative trajectories with various local as-cending node azimuths. All trajectories have the same δe = −2.5 × 10−4 and|δi| = 3.536 × 10−4. In all cases, the chaser traverses the +X section much fasterthan the -X section of the trajectory. In the legend, L.A.N. means ‘Local AscendingNode.’

70

-8-7-6-5-4-3-2-101

In-Track (m)x 106

-1

0

1

Cro

ss-T

rack

(m

)

x 106

-2

-1

0

1

Rad

ial (m

)

x 106

-8-7-6-5-4-3-2-101

In-Track (m) x 106

-2 -1 0 1

Radial (m)

x 106

-1

0

1

Cro

ss-T

rack

(m

)

x 106

-8-6

-4

In-Track (m)

x 106-2

-1

0

Cro

ss-T

rack

(m

) x 106

1

1

Radial (m) x 10600 -1 -2

Initial Conditions

2 x 10-12

2 x 10-12

2 x 10-12

δe = 0.05

Figure 2.14: A relatively large and irregular Keplerian periodic trajectory with sig-nificant in-track offset and cross-track motion. Differential argument of perigee, in-clination, and local ascending node are very nearly constant, and very small.

In Figure 2.14, the ode113 nonlinear solver was used to generate a Keplerian

periodic trajectory with a relatively large differential eccentricity, inclination, and

argument of perigee. Dot products between the spacecrafts’ local-frame eccentricity

and angular momentum vectors show that the cosines of differential elements remain

nearly constant over the course of the orbit, and that the vectors are very nearly

parallel (which is to be expected for the chaser’s proximity given the target’s GEO

altitude). It is proposed that these constraints (summarized in Table 2.3), which

relate differential orbital elements to vector quantities and interior angles obtainable

from the LVLH state variables, can be used to specify Keplerian relative orbits.

71

Non-secular − µ2a

=v2ch2− µ

rch

In-track offset of δω cos(δω) =echxetgtx+echy etgty√e2chx+e

2chy

√e2tgtx+e

2tgty

Radial size of xmax (target-centered) xmax = a · |δe|

Inclination angle of δi cos(δi) =hchzhch

Relative nodal azimuth of Γ cos Γ =Nrelxδex+Nrely δey√N2

relx+N2

rely

√δe2x+δe

2y

Target radius in LVLH frame rtgt = [rtgt 0 0]T

Target velocity in LVLH frame vtgt =[rtgt νr2tgt 0

]TChaser radius in LVLH frame rch = [rtgt + x y z]T

Chaser velocity in LVLH frame vch = [rtgt + x− νy y + ν(rtgt + x) z]T

Table 2.3: Summary of proposed equality constraints to specify Keplerian relativeperiodic trajectories.

Due to the sizable effect of extremely small variations in orbital elements on rel-

ative trajectories, it may not be practically feasible to obtain precise enough mea-

surements of relative position and velocity to accurately compute constraint values

in a real application. At close ranges where high-fidelity measurements may be ob-

tainable, the periodic trajectory is extremely sensitive to variations in differential

Keplerian elements; at long ranges, the trajectory might involve less minuscule vari-

ations, but obtaining a precise relative measurement is more difficult. Possibly due

in part to this ‘macro/micro’ scaling conundrum, the trajectory optimization soft-

ware introduced in Chapter 3 was unsuccessful in satisfactorily implementing these

constraints.

72

2.4 Angular Rate of Circumnavigation

For some applications, it may be useful to analyze the angular rate at which the

chaser circumnavigates the target in a periodic trajectory. For example, if a periodic

circumnavigation orbit is employed to visually characterize the tumble of a target, it

is important for the chaser to know the angular rate of its inspection trajectory.

It is straightforward to ascertain angular rate and acceleration for circumnavigat-

ing trajectories in the orbital plane using only the LVLH variables. If θ is defined

to be the angle of the chaser’s range vector measured clockwise (in the direction of

relative motion) with respect to the positive radial direction, then

tan(θ) =−yx

The angular rate can be obtained from the time derivative as such:

θ =x2

x2 + y2

(−yx

+yx

x2

)=xy − yxx2 + y2

By differentiating again, angular acceleration can also be found:

θ =xy − yxx2 + y2

− (xy − yx)(2xx+ 2yy)

(x2 + y2)2

Minimum angular rate occurs simultaneously with ascending zeros in angular accel-

eration, and angular rate maxima occur at descending zeros. These correspond with

the in-track and radial position extrema, respectively. In Figure 2.15, angular rate

and acceleration are plotted for periodic trajectories. The effect of eccentricity in the

reference orbit is shown on the right; the exaggerated case of e = 0.2 was chosen

73

to accentuate the change. As the reference orbit becomes more eccentric, minimum

angular rate still occurs predictably at in-track extrema, but is only maximum at

periapsis (instead of at both radial extrema). Also, angular rate minima can be seen

to migrate toward periapsis.

0 2 4 6 8 10 12 14 16

104

-5

0

5

Pos

ition

(m

)

105 In-Plane MotionRadial

In-Track

0 2 4 6 8 10 12 14 16

104

0

1

2

rad/

s

10-4 Angular Rate

0 2 4 6 8 10 12 14 16

Time (s) 104

-2

0

2

rad/

s2

10-8 Angular Acceleration

0 2 4 6 8 10 12 14 16

104

-5

0

5

Pos

ition

(m

)

105 In-Plane Motion

0 2 4 6 8 10 12 14 16

104

0

1

2

rad/

s

10-4 Angular Rate

0 2 4 6 8 10 12 14 16

Time (s) 104

-2

0

2

rad/

s2

10-8 Angular Acceleration

Figure 2.15: Angular rate and acceleration of chaser circumnavigation over two orbits.Left: circular reference orbit. Right: reference orbit has e = 0.2. For both, δe =0.0025, and all motion is in the orbital plane.

2.4.1 Periodic Trajectory Linearization Error for a Near-

Circular Reference Orbit

In this subsection, the Clohessy-Wiltshire free-orbit ellipse is directly compared to

the nonlinear Keplerian periodic trajectory, and the error in both range and angular

rate are shown over the course of two orbits. This analysis is done for two GEO

orbits: one perfectly circular, and one with a realistic eccentricity of e = 0.005.

It should be noted that this comparison differs from Figure 2.7; in that analysis,

74

both trajectories were instantiated with the condition y0 = −2nx0, which induces

periodicity only under linearizing assumptions. In this analysis, the energy-matching

constraint is satisfied for both the linear and the nonlinear trajectories such that both

are periodic. The motivating questions are: How close is the Keplerian trajectory to

a perfect free-orbit ellipse? How large is the error, and how does it evolve throughout

the orbit? How much error is intrinsic to linearization, or is instead attributable to

non-zero eccentricity in the reference orbit?

In Figure 2.16, the error between the Clohessy-Wiltshire free-orbit ellipse and the

Keplerian periodic trajectory is plotted for δe = 0.0025, which corresponds with a

maximum radial separation of 105.4 km at GEO altitude. In the left column, the

reference orbit is circular; in the right column, the reference orbit has e = 0.005.

0 2 4 6 8 10 12 14 16

Time (s) 104

0

200

400

Err

or (

m)

Radial Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

-200

0

200

Err

or (

m)

In-Track Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.1

0.2

% E

rror

Absolute Range Percent Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

0

200

400

Err

or (

m)

Radial Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

-200

0

200

Err

or (

m)

In-Track Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.1

0.2

% E

rror

Absolute Range Percent Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

104

0

1

2

rad/

s

10-4 Angular Rate Comparison between CW and NLEM

NLEM

CW

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.2

0.4

%E

rro

r

Percent Error between CW and NLEM

0 2 4 6 8 10 12 14 16

104

0

1

2

rad/

s

10-4 Angular Rate Comparison between CW and NLEMNLEM

CW

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.2

0.4

%E

rro

r

Percent Error between CW and NLEM

Figure 2.16: Error between linearized and Keplerian periodic trajectories for δe =0.0025 over two orbits. Left: circular reference orbit. Right: reference orbit hase = 0.005. At the initial time, chaser is at perigee.

75

This analysis indicates that even with a perfectly circular reference orbit, the

Clohessy-Wiltshire ellipse is hundreds of meters in error with respect to its periodic

Keplerian counterpart. Introducing a small amount of eccentricity changes the shape

of the error curve, but does not substantially change the magnitude of the range error.

Likewise, angular rate error is affected only subtly by realistic eccentricity, with only

a slight increase at the radial maxima. It is interesting to note that the characteristic

of both range and angular rate errors is periodic, with range error ‘minima’ occuring

along the radial axis (Figure 2.10 corroborates this).

In Figure 2.17, linearization error is depicted for a closer-range periodic trajectory;

this time, δe = 2.5 × 10−5, corresponding to a maximum radial separation of only

1.054 km.

0 2 4 6 8 10 12 14 16

104

0

1

2

rad/

s

10-4 Angular Rate Comparison between CW and NLEM

NLEM

CW

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.05

0.1

%E

rro

r

Percent Error between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

-1.5-1

-0.50

0.5

Err

or (

m)

Radial Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

-1

0

1

Err

or (

m)

In-Track Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.05

0.1

% E

rror

Absolute Range Percent Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

104

0

1

2

rad/

s

10-4 Angular Rate Comparison between CW and NLEM

NLEM

CW

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.05

0.1

%E

rro

r

Percent Error between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

-1.5-1

-0.50

0.5

Err

or (

m)

Radial Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

-1

0

1

Err

or (

m)

In-Track Error Between CW and NLEM

0 2 4 6 8 10 12 14 16

Time (s) 104

0

0.05

0.1

% E

rror

Absolute Range Percent Error Between CW and NLEM

Figure 2.17: Error between linearized and Keplerian periodic trajectories for δe =2.5 × 10−5 over two orbits. Left: circular reference orbit. Right: reference orbit hase = 0.005. At the initial time, chaser is at perigee.

76

Interestingly, for this close of a periodic trajectory to a target in a perfectly cir-

cular orbit, error is relatively small between the Clohessy-Wiltshire ellipse and the

Keplerian energy-matched trajectory. The introduction of realistic eccentricity in-

creases the error by an order of magnitude. This shows that the linearization error

for close-range periodic trajectories are much more sensitive to eccentricity than far-

range trajectories.

This analysis shows that the free-orbit ellipse is not a perfect descriptor of periodic

relative motion, even in the absence of orbit perturbations. Error accumulates due to

range from the target; however, in these large (100-200km) trajectories, small vari-

ations of target eccentricity do not significantly contribute to error. For close-range

(1-2km) trajectories, it would appear that the free-orbit ellipse is a good descrip-

tor of motion, but only for perfectly circular target orbits; with realistic eccentricity

considered, however, error increases to approximately half that of a 100-times-larger

trajectory. For long duration proximity operations which spend protracted amounts

of time at these ranges, the continuous accumulation of this error could be unaccept-

able.

This analysis also reveals the characteristics of the error over the course of the

orbit. The range error is periodic, with minima occurring at apogee and perigee

(along the radial axis). This implies that the free-orbit ellipse is most accurate at

these points in the orbit. Circumnavigational angular rate error is also periodic, but

minima occur at the maximum in-track separation (as well as on either side of apogee

and perigee for the larger trajectory). The knowledge of the timing of these points

at which a periodic trajectory is approximated with near-zero error by the simple

free-orbit ellipse, at least in the case of Keplerian spherical gravity, could be useful

for long-duration formation fliers.

77

2.5 Effects of Orbit Perturbations on Relative Dy-

namics

Orbital perturbations were introduced near the beginning of this chapter, but they

have been ignored since then in the interest of developing an understanding of the

nuances of linearizing relative motion under ideal, spherical-gravity conditions. Or-

bital perturbations are any effects that cause the ideally constant Keplerian elements

of an orbit to change over time. If the Keplerian elements do not remain constant,

the nonlinear equations of relative motion (which were a direct consequence of pure

Two-Body motion) no longer hold in the form presented above. However, they can

easily be modified to include accelerations due to external forces, which is a common

way to model orbital perturbations:

x = 2νy + νy + ν2x+µ

r2tgt− µ

r3ch(rtgt + x) + ax

y = −2νx− νx+ ν2y − µ

r3ch(y) + ay

z = − µ

r3ch(z) + az

The same approach is also easily taken with the Clohessy-Wiltshire equations:

x = 2ny + 3n2x+ ax

y = −2nx+ ay

z = −n2z + az

For some types of perturbations, it is somewhat straightforward to include their

78

effects in this way. One example is a simplified consideration of atmospheric drag,

which can be modeled as a force that opposes the velocity of the spacecraft with

respect to the atmosphere at any given time. If the chaser and target have the same

ballistic coefficient, air drag affects both spacecraft identically; the only effect it would

have on the chaser would be in the form of ‘differential’ air drag, a function of ˙ρ.

Schaub and Alfriend [32] found the effect of differential air drag on LEO formation

fliers to be of negligible impact on relative motion compared to oblate-Earth effects

(J2). As is described in Appendix A, J2 perturbations cause apsidal rotation (∆ω)

and nodal regression (∆Ω), and are functions of semimajor axis, eccentricity, and

inclination. In effect, this means there is nearly always a relative differential J2 force

acting on the chaser if it is not stationary on the target’s orbital trajectory. In general,

it manifests itself as a secular in-track drift [29].

There are certain conditions that, when met, cause the chaser and target to share

the same magnitude of secular in-track drift caused by J2 perturbations in the LVLH

frame; the result is referred to as a ‘J2-invariant’ relative trajectory. The following

necessary conditions on semimajor axis, eccentricity, and inclination developed by

Schaub, et al. [32], which were formulated from Brouwer’s analytical solution to the

Two-Body problem with zonal harmonics, must be met in order for the relative motion

to be J2-invariant to first order:

δa = 2Datgtδη

δη = −1

4ηtgtδi tan(itgt)

Where,

η =√

1− e2 =h

µ2a2

79

D =J2

4a2tgtη5tgt

(4 + 3ηtgt)(1 + 5 cos2(itgt))

If a periodic relative trajectory is desired, it was previously shown that the energy-

matching constraint must be met between the chaser and target orbits, which implies

δa = 0. This severely constrains the space of periodic J2-invariant orbits. One way

to meet the requirement is to have δη = 0. The fact that the chaser and target

must share the same η and that eccentricity can only be positive or zero means that

ech = etgt, which is the degenerate case where the chaser lies stationary on the target’s

orbital trajectory.

In this first-order approximation of the oblate-Earth gravity field, it appears that

there cannot exist a (non-trivial) periodic relative trajectory. However, it may be

possible to ‘counteract’ J2 effects on average by relaxing the constraint that δa = 0,

allowing a mismatch in energy to be balanced by the secular drift caused by the

perturbation. The resulting motion would not be perfectly periodic, but pseudo-

periodic in a bounded fashion. This complex motion won’t be analyzed in this thesis,

but other research and numerical analyses suggest that there exist combinations of

orbital elements that admit J2-invariant bounded relative motion. [4] [32] [21] [37] [1]

The altitude regime of the orbit plays a significant role in the types and magni-

tudes of perturbations that dominate. For example, in a 200-km-altitude LEO orbit,

differential drag will likely be the biggest foe. However, moving upwards toward GEO,

drag virtually disappears and J2 effects diminish, while solar radiation pressure and

third-body gravitation from the sun and moon begin to dominate [3]. It is possible

to model these external gravitational accelerations using the Three-Body problem, of

which Vallado provides a treatment [38].

80

2.6 Chapter Summary

This chapter explored the orbit mechanical basis for proximity operations, intro-

ducing the LVLH coordinate frame and deriving the nonlinear Keplerian equations

of relative motion, then linearizing those to obtain the common Clohessy-Wiltshire

equations and their solutions. The linearizing and simplifying steps were carefully

noted, and the effects of linearization on range error was explored for a variety of sce-

narios; in essence, the curved orbit trajectory is assumed to be a line in the linearized

model, so error grows quickly with the magnitude of range. While the Clohessy-

Wiltshire equations of motion have small error with Keplerian motion at close range

and for short time scales, they are less well-suited to proximity operations not in the

‘terminal phase,’ such as extended formation flight or inspection.

Methods for specifying the size, position, and orientation of relative trajectories

in the periodic class are presented in the form of constraints over the LVLH vari-

ables for both the Clohessy-Wiltshire and the Keplerian models. Also, a formula for

the angular rate and acceleration of in-plane circumnavigation in the LVLH state

variables was given. The ‘cost of linearization’ analysis was revisited for periodic

trajectories, showing how the time evolution of error changes shape and magnitude

for perfectly circular and near-circular reference orbits and for medium-range and

close-range proximity operations. From this analysis, it was concluded that realis-

tic eccentricity disrupts the accuracy of the linearized model at close-range far more

than at medium-range, but the overall error in the medium-range was largest in both

the circular and near-circular cases. It was also identified that the periodic nature

of the error results in an ‘osculation’ behavior over the course of the orbit, showing

that the linearized model is most accurate in range at the maximum and minimum

radial offset, and is most accurate in angular rate of circumnavigation at maximum

81

and minimum in-track offset. Thus, there are two points in every orbit where range

and rate measurements should agree closely with the linearized model, even if the

reference orbit is not perfectly circular.

Lastly, the effect of orbit perturbations on relative motion was briefly discussed.

Since perturbations change the Keplerian elements of an orbit, and because pertur-

bations affect the chaser and target differently, they render the nonlinear Keplerian

model invalid. J2 causes a secular in-track drift even for energy-matched relative tra-

jectories at all inclinations except the critical inclination, but the magnitude of this

perturbative effect decreases with orbit altitude. In GEO regimes, the more chaotic

third-body effects from the Sun and moon dominate over J2 and drag.

In the next chapter, techniques for minimizing time, fuel, or energy during satellite

proximity operations is explored both analytically and numerically. Similarly to the

findings of this chapter, Clohessy-Wiltshire dynamics make the problem simpler to

analyze, but at the cost of realism in the result. The desire to use higher-fidelity ac-

celeration models (such as the Keplerian relative motion model) or to couple attitude

dynamics with the problem introduce nonlinearities that warrant implementation in

a numerical optimization framework.

82

Chapter 3

Optimal Control ProblemFormulation

The optimal control problem is first introduced in the simplest form possible, as a

bounded-control MIMO state regulation problem (rendezvous) in the relative carte-

sian coordinate frame with LTI dynamics. This allows a straightforward analytical

solution for the optimal control to be developed for a variety of objective functions,

which is useful to validate the more general tool used to generate optimal trajecto-

ries for long-duration proximity operations in Chapter 4. Additionally, the presence

of singular solutions in the control is investigated with an interesting result for the

minimum-time problem. The proximity operations problem is then expanded to a

larger state space that additionally describes the attitude dynamics of a spacecraft

with a single body-mounted propulsion device.

In the second half of this chapter, the Rendezvous / Proximity Operations Tra-

jectory Analysis Tool is introduced. This numerical optimization framework uses

GPOPS-II [30], an adaptive-mesh pseudospectral collocation optimization software

in MATLAB, along with the open-source nonlinear program solver IPOPT [39] to

analyze a rich variety of relevant proximity operations problems. This tool is vali-

dated and applied to long-duration proximity operations in the Results chapter.

83

3.1 The Optimal Control Problem

Principles of optimal control are especially relevant to spacecraft engineering be-

cause of the challenging and inaccessible nature of operating in the space environment.

Formation fliers and on-orbit servicers can greatly extend their mission lifetimes by

employing these principles to minimize fuel use. Other satellites may need to respond

quickly to various circumstances, minimizing the time to reach a certain point or

trajectory. This section contains a brief overview of several different formulations of

the optimal trajectory control problem for spacecraft rendezvous.

Throughout the following section, the state vector will be denoted x (which should

be kept distinct from the radial coordinate from the previous section), the costate

vector will be denoted p, the control input vector will be denoted u, and the objective

function will be denoted J .

3.1.1 The 3-DOF Formulation

The simplest way to form the optimal control problem for spacecraft proximity

operations is to treat the chaser as an unchanging point mass that can provide limited

thrust in each coordinate of the LVLH frame. The system to be controlled can then

be expressed in six states: the relative position and the relative velocity between the

two spacecraft.

84

x1

x2

x3

x4

x5

x6

=

x

y

z

x

y

z

, b

u1

u2

u3

=1

m

Fx

Fy

Fz

, b =Fmaxm

Where the control is bounded, such that:

|ui| ≤ 1 =⇒ ui ∈ U ≡ [−1, 1] =⇒ −Fmaxm

≤ bui ≤Fmaxm

The dynamical constraints on the system can be expressed in the linearized

Clohessy-Wiltshire equations as such, where the forcing acceleration term in this

case is entirely due to thrust:

x1 = x4

x2 = x5

x3 = x6

x4 = 2nx5 + 3n2x1 + bu1

x5 = −2nx4 + bu2

x6 = −n2x3 + bu3

These linear, time-invariant (LTI) dynamics describe the time evolution of a multiple-

input, multiple-output (MIMO) system.

If instead one wishes to use the full Keplerian nonlinear equations of relative

85

motion, the dynamics are as follows:

x1 = x4

x2 = x5

x3 = x6

x4 = 2νx5 + νx2 + ν2x1 +µ

r2tgt− µ(rtgt + x1)

((rtgt + x1)2 + x22 + x23)3/2

+ bu1

x5 = −2νx4 − νx1 + ν2x2 −µx2

((rtgt + x1)2 + x22 + x23)3/2

+ bu2

x6 = − µx3

((rtgt + x1)2 + x22 + x23)3/2

+ bu3

Where rtgt may be constant for circular reference orbits, or may be obtained by solving

Kepler’s problem for eccentric reference orbits. Also, recall that ν = n and ν = 0 for

circular orbits, but are otherwise time-varying functions of true anomaly as well as

reference orbit semimajor axis and eccentricity.

The goal of the optimal control problem is to find the control input u that min-

imizes an objective function J(x, u, t) subject to a set of dynamical constraints [8].

The quantity of interest to optimize can be specified in the design of the cost function.

When subject to a set of LTI dynamical constraints (such as the Clohessy-Wiltshire

equations of relative motion), a common analytical solution approach is to form the

Hamiltonian by appending the scalar cost integrand (g) to the inner product of the

dynamical constraints (f) and a set of Lagrange multipliers (costates p). The optimal

control solution u∗ is then obtained as the set of control inputs that minimize the

Hamiltonian.

H = g(x, u) + pT f(x, u)

86

This concept is demonstrated in the following four formulations which can each be

solved analytically for the optimizing control input.

3.1.1.1 The Minimum-Energy Problem

The minimum-energy problem can be expressed as

minu

J =

∫ tf

0

1

2uTRuuu dt

Where the final state x(tf ) is fixed at the origin, and tf must be specified, otherwise

the optimal cost-minimizing control would take an infinite amount of time to reach

the final state. Ruu is a diagonal square matrix which can provide relative weighting

on the cost of individual control variables, set here to be identity.

The Hamiltonian for this problem can then be written as follows:

H =1

2u21 +

1

2u22 +

1

2u23+

p1(x4) + p2(x5) + p3(x6)+

p4(2nx5 + 3n2x1 + bu1) + p5(−2nx4 + bu2) + p6(−n2x3 + bu3)

Applying the necessary condition for optimality:

∂H

∂u1= u1 + p4b = 0

∂H

∂u2= u2 + p5b = 0

∂H

∂u3= u3 + p6b = 0

87

Solving each expression for the optimal control u∗i :

u∗1 = −p4b

u∗2 = −p5b

u∗3 = −p6b

It is clear now that the energy-optimal set of controls for the given time interval

are directly proportional to the value of the costate variables p4, p5, and p6. The

costate dynamics, because they are the dual of the state dynamics, are known to

be sinusoidal in this case (because the solution to the Clohessy-Wiltshire equations

are sinusoidal). However, since our control variables are bounded, this law will not

be possible to follow for all values of the costate under certain initial conditions. In

this scenario, it is common to apply Pontryagin’s Minimum Principle, which instructs

that the admissible control that minimizes the Hamiltonian is the optimal control for

that bounded set.

u∗1 =

−1 , p4b > 1

−p4b , |p4b| ≤ 1

1 , p4b < −1

u∗2 =

−1 , p5b > 1

−p5b , |p5b| ≤ 1

1 , p5b < −1

u∗3 =

−1 , p6b > 1

−p6b , |p6b| ≤ 1

1 , p6b < −1

88

Thus, the time-bounded energy-optimal solution in the control are sinusoid sec-

tions whenever inside the actuation limits, and saturated elsewhere. Mirroring the

state dynamics, the amplitudes of the sinusoids are determined by the initial condi-

tion, with frequency determined by the orbital rate.

3.1.1.2 The Minimum-Fuel Problem

The minimum-fuel problem can be expressed as

minu

J =

∫ tf

0

Ruu|u| dt

Where the final state x(tf ) is fixed at the origin, and tf must again be specified,

similar to the min-energy formulation.

The Hamiltonian for this problem can be written:

H = |u1|+ |u2|+ |u3|+

p1(x4) + p2(x5) + p3(x6)+

p4(2nx5 + 3n2x1 + bu1) + p5(−2nx4 + bu2) + p6(−n2x3 + bu3)

Applying the necessary condition for optimality:

∂H

∂u1= ±1 + p4b = 0

∂H

∂u2= ±1 + p5b = 0

∂H

∂u3= ±1 + p6b = 0

Note that is not possible to directly solve for the optimal control as in the min-energy

case, since ui does not appear in the necessary condition. Instead, the Pontryagin’s

89

Minimum Principle is again invoked:

u∗i (t) = arg

minui∈U

H

It is easiest to discern how each control variable affects the Hamiltonian by writing

only the parts of H that are a function of ui:

H1 = |u1|+ p4bu1

H2 = |u2|+ p5bu2

H3 = |u3|+ p6bu3

It is now clear what the control law must be, according to Pontryagin’s Minimum

Principle. The minimizing admissible control inputs are:

u∗1 =

−1 , p4b > 1

0 , −1 ≤ p4b ≤ 1

1 , p4b < −1

u∗2 =

−1 , p5b > 1

0 , −1 ≤ p5b ≤ 1

1 , p5b < −1

u∗3 =

−1 , p6b > 1

0 , −1 ≤ p6b ≤ 1

1 , p6b < −1

This control law is commonly referred to as ‘bang-off-bang’ control, and is a well-

known solution to the minimum-fuel problem. In essence, the control saturates until it

has provided just enough impulse to coast for the remaining duration of the fixed time

90

interval, then performs a mirroring thrust in the opposite direction at the maneuver

terminus.

3.1.1.3 The Minimum-Time Problem

The minimum-time problem can be expressed as

minu

J =

∫ tf

0

1 dt

Where the final state x(tf ) is fixed at the origin, but tf is left as a free parameter

(since it is the quantity that is being optimized).

The Hamiltonian for this problem can be written as follows:

H = 1+p1(x4)+p2(x5)+p3(x6)+p4(2nx5+3n2x1+bu1)+p5(−2nx4+bu2)+p5(−n2x3+bu3)

Applying the necessary condition for optimality:

∂H

∂u1= p4b = 0

∂H

∂u2= p5b = 0

∂H

∂u3= p6b = 0

However, since the control ui once again appears linearly in the Hamiltonian, the op-

timal control cannot be explicitly determined from this condition alone. Pontryagin’s

Minimum Principle states:

u∗i (t) = arg

minui∈U

H

91

The part of the Hamiltonian which depends on ui can be written:

H = p4bu1 + p5bu2 + p6bu3

Thus, given the constraint on the control, and the fact that b is a strictly positive

constant, the familiar and expected ‘bang-bang’ control law satisfies the Minimum

Principle:

u1 =

−1 , p4 > 0

1 , p4 < 0

u2 =

−1 , p5 > 0

1 , p5 < 0

u3 =

−1 , p6 > 0

1 , p6 < 0

3.1.2 Determining the Existence of Singular Arcs in the So-

lution

As useful as Pontryagin’s Minimum Principle can be in its generality, it sometimes

fails to define the optimal control for the entire range of possible scenarios. There

are certain cases where extremal control is not in fact the solution for minimum-time

problems; instead, an intermediate or ‘singular’ control may be optimal for certain

sections or ‘arcs’ in the problem [25]. a notable example of this is the minimum time

to ascend for a rocket in atmosphere (the Goddard rocket problem), for which an

intermediate thrust at a certain altitude range results in the fastest ascent due to a

balancing of linear acceleration and aerodynamic drag. Many optimization problems

92

with nonlinear dynamics as such have solutions which feature singular arcs; as a

general rule, however, SISO min-time problems with LTI dynamics do not feature

arcs of singular control in the solution.

However, the possibility of a singular arc in the control for the Min-Time problem

formulation can be superficially observed because the optimal control law is undefined

when p4, p5, or p6 are equal to zero for some finite amount of time. Boyarko, et al.

identified, but did not fully explore, this possibility for the minimum-time rendezvous

problem [6]. This situation, where the Hamiltonian is linear in the control variable

and the coefficient on it may be zero for finite time, is a typical one in which singular

arcs can be found in optimal control problems [25]. The key is to identify whether it is

possible for this coefficient – in this case, the velocity costates – to be identically zero

for finite time in the problem. For a SISO system (e.g., if only one coordinate were

being regulated), this would not occur, because velocity is never zero until the end

of the problem (thus, the costate is only instantaneously zero at the final moment).

In fact, since the solution to the dynamics is known to be a forced sinusoid, the only

situation in which the costate is zero for finite time is in the case when velocity is

zero at the coordinate origin (a zero-amplitude, zero-bias sinusoid).

For the 3-DOF MIMO problem, however, it is not only possible but nearly un-

avoidable for some costates to be identically zero for finite time before the problem

terminus. This occurs whenever either the in-plane or out-of-plane coordinates are

regulated to their origin before the others. Instead of requiring intermediate thrust

as in the case of the Goddard rocket problem, the result is actually a “degenerate

class of singular solutions” in the sense of J.P. LaSalle [26].

In essence, this is a ‘scheduling ambiguity,’ where a single unique solution to the

min-time problem does not exist unless extremal control can regulate both in-plane

and out-of-plane coordinates in precisely the same amount of time. For the vast

93

majority of initial conditions, this will not be the case, and one or the other will

be regulated to the coordinate origin(s) first with a waiting period until the limiting

coordinate is regulated. The non-uniqueness of the solution is easily understood when

considering that an equally optimal solution would be to begin regulating the limiting

coordinate first, waiting until the last possible moment to regulate the non-limiting

coordinate; and also equally optimal is any scheduling of non-limiting coordinate

regulation between this time and the initial time.

This scheduling ambiguity is easily resolved by simply choosing a scheduling policy,

for example, ‘regulate, then wait,’ or ’wait, then regulate.’ This arbitration effectively

chooses a unique solution from the degenerate class, resolving the ambiguity. A

more interesting resolution to this ambiguity is to instead adopt a hybrid policy,

where extremal control is executed for the limiting coordinate while the non-limiting

coordinate is optimized for minimum fuel or energy use, with final time specified as the

minimum regulation time for the limiting coordinate. The result is still time-optimal

given the actuator saturation bounds, but more efficient with on-board resources, and

there is only one unique solution.

Scheduling ambiguity in the solution to the Min-Time problem is not particularly

intuitive. A human’s solution would likely be to travel in a relatively straight line to

the target, utilizing a bang-bang strategy. The fact that it crops up here is actually

an artifact of the rudimentary formulation of the problem, which treats all control

inputs as independently-saturating thrusters locked in the direction of the coordinate

axes (frame-component saturation). This is tantamount to a cubical satellite with a

thruster mounted on each side panel holding its attitude such that each thruster is

aligned with an LVLH axis. If such a satellite needed to minimize time to rendezvous,

the solution would be to slew such that the combined thrust from three nozzles created

a single larger thrust vector, which would be pointed more or less directly at the target

94

and used in a bang-bang fashion. This concept is depicted in section 3.2.

The exploration of the possibility of singular arcs in the minimum-time problem

revealed the somewhat trivial result that scheduling ambiguity exists in the 3-DOF

formulation of the problem. This exercise was useful because it underscores the

degree to which a minimum-time MIMO 3-DOF rendezvous problem formulation is

unrealistic. It also motivates a dynamics framework that couples position and attitude

to adequately represent certain types of maneuvers in satellite proximity operations.

3.1.3 Including Attitude Dynamics: The 6-DOF Formulation

The 6-DOF problem formulation presented here features a satellite with three

independently-saturating reaction wheels and only one thruster. The satellite must

use the reaction wheels to point the thrust vector in the appropriate direction for

motion. The result is a system for which translation and rotation are coupled; the

vehicle may only accelerate in the direction that it is pointing.

The problem’s state vector expands to include four quaternions for attitude rep-

resentation and three body angular rates:

x = [x y z x y z q1 q2 q3 q4 ω1 ω2 ω3]T

The inputs are the single thruster’s throttle, which may vary from 0 (off) to 1 (fully

saturated), and the three reaction wheel torques, which may vary from -1 to 1:

u =[uF uτx uτy uτz

]TQuaternions are chosen over Euler angles to avoid gimbal lock and for the ease of

implementation into the numerical solver. The attitude state quaternion q resolves

95

a vector expressed in the body (local) frame of the satellite into the LVLH (global)

frame. Appendix C details the specifics of the quaternion convention used in this

formulation and the reasoning behind the choice.

The formula for the resolution of a body-fixed thrust vector NT can be expressed

either as a quaternion product or a matrix product with a direction cosine matrix:

q⊗ NT ⊗ q∗ = RNT

R =

q24 + q21 − q22 − q23 2(q1q2 − q4q3) 2(q1q3 + q4q2)

2(q1q2 + q4q3) q24 − q21 + q22 − q23 2(q2q3 − q4q1)

2(q1q3 − q4q2) 2(q2q3 + q4q1) q24 − q21 − q22 + q23

The translational thrust is then input into the acceleration model as follows:

x = 2ny + 3n2x+ buF [1 0 0] RNT

y = −2nx+ buF [0 1 0] RNT

z = −n2z + buF [0 0 1] RNT

Recall that b is the maximum acceleration that can be produced by the thruster,

Fmax/m.

The quaternion kinematic equation in a rotating reference frame, as described in

Appendix C, can be written as follows:

q =1

2(q⊗ ωL − ωG ⊗ q)

Where the local frame angular rate ωL is obtained from the state vector, and the

global frame angular rate ωG is the mean orbital rate n (or the instantaneous ν in an

eccentric reference orbit). The more common skew-symmetric matrix product version

96

of this kinematic equation is also described in the appendix.

Rigid-body rate dynamics are given by Euler’s moment equations with reaction

wheel torque inputs as forcing terms:

ωx = I−1xx [(Iyy − Izz)ωyωz + τmaxuτx ]

ωy = I−1yy[(Izz − Ixx)ωxωz + τmaxuτy

]ωz = I−1zz [(Ixx − Iyy)ωxωy + τmaxuτz ]

Where the inertia matrix I is assumed to be diagonal and constant, and τmax is the

greatest torque magnitude that can be supplied by the reaction wheel.

Taking the thrust vector direction to be NT = [1 0 0]T , and evaluating the matrix

and quaternion products, the full state dynamics can be written as follows:

97

x = 2ny + 3n2x+ buF(q24 + q21 − q22 − q23

)y = −2nx+ 2buF (q1q2 + q3q4)

z = −n2z + 2buF (q1q3 − q2q4)

q1 =1

2(q2ωz − q3ωy + q4ωx + nq2)

q2 =1

2(−q1ωz + q3ωx + q4ωy − nq1)

q3 =1

2(q1ωy − q2ωx + q4ωz − nq4)

q4 =1

2(−q1ωx − q2ωy − q3ωz + nq3)

ωx = I−1xx [(Iyy − Izz)ωyωz + τmaxuτx ]

ωy = I−1yy[(Izz − Ixx)ωxωz + τmaxuτy

]ωz = I−1zz [(Ixx − Iyy)ωxωy + τmaxuτz ]

=⇒

x1 = x4

x2 = x5

x3 = x6

x4 = 2nx5 + 3n2x1 + bu1(x210 + x27 − x28 − x29

)x5 = −2nx4 + 2bu1 (x7x8 + x9x10)

x6 = −n2x3 + 2bu1 (x7x9 − x8x10)

x7 = 0.5 (x8x13 − x9x12 + x10x11 + nx8)

x8 = 0.5 (−x7x13 + x9x12 + x10x12 − nx7)

x9 = 0.5 (x7x12 − x8x11 + x10x13 − nx10)

x10 = 0.5 (−x7x11 − x8x11 − x9x13 + nx9)

x11 = I−11 [(I2 − I3)x12x13 + τmaxu2]

x12 = I−12 [(I3 − I1)x11x13 + τmaxu3]

x13 = I−13 [(I1 − I2)x11x12 + τmaxu4]

These dynamics clearly involve a high degree of coupling between attitude and

translation, and are nonlinear. However, the dynamics are still time-invariant if

the Clohessy-Wiltshire equations are used for the acceleration model. Note that

the 6-DOF problem can be reduced to the 3-DOF problem formulated previously

by including two more control variables with thrust directions of [0 1 0]T and

[0 0 1]T , changing the saturation bounds to U ∈ −1, 1, and constraining q =

[0 0 0 1]T for all time (the identity quaternion denotes body-frame alignment

with the LVLH axes). It follows that ω = 0 for all time in the 3-DOF problem, as

98

well. Note that this would enlarge the control vector to a length of six, and the matrix

product coupling translation inputs with attitude would need to be recomputed.

The inclusion of coupling attitude dynamics adds a layer of complexity to the

problem which makes it more difficult to analyze than the 3-DOF formulation, but it

may be the most realistic framing of the problem in some circumstances. This notion

is further explored in the next section.

3.2 Insights Gained from Preliminary Analysis

3.2.1 Over-Actuation in the Problem Formulation

In the linearized dynamics, motion in the in-plane and out-of-plane coordinates are

uncoupled. This means that the system is still fully controllable when simultaneous

in-plane and out-of-plane actuation is possible (for example, with thrust available

only in the X and Z coordinates). The single-thrust-vector attitude formulation is

also over-actuated in the reaction wheel inputs; if a precise docking attitude is not

required, roll-axis control is superfluous for position controllability, since pitch and

yaw control are the only inputs affecting the thrust direction. However, maintaining a

null momentum vector about the roll axis is still advantageous for the optimal control

problem because it minimizes the energy required for pitch and yaw slewing.

3.2.2 When is Attitude Coupling Required?

Subsection 3.1.2. focused on the existence of singular arcs in the minimum-time

problem, and it was determined that scheduling ambiguity exists in the 3-DOF formu-

lation. This motivated the development of a coupled position-and-attitude dynamical

formulation, which is markedly more complicated in both the larger size of the state

99

space and the nonlinear coupling in many states, and thus more difficult to analyze.

Some formulations consider attitude dynamics as well as relative position dynamics,

but do not couple them, instead relying on thruster mixing to provide the requisite

thrust in each LVLH frame at any attitude.

One such example can be seen in the article by Boyarko, et al. [6], who also consider

both position and attitude in their formulation of the optimal trajectory control

problem, but with no dynamical coupling between translation and rotation. The

saturating thrust inputs remain aligned with the LVLH axes at all vehicle attitudes.

With this formulation, the translation inputs are essentially the components of the

thrust resolved into the LVLH frame, but the saturation limits are imposed along the

axes of the orbital frame instead of any physical thrusters’ maximum output. This

simplifies their analysis, separating it into two parallel 3-DOF problems: optimal

rendezvous in the position coordinates, and optimal slewing to the docking attitude

in the rotation coordinates, with the only linkage between the two being the maneuver

time.

If one wishes to preserve the inherent coupling due to individual thruster sat-

uration instead of frame-component saturation, this formulation is only sometimes

valid. Situations where validity holds are when the optimal control solution calls for

component thrusts which would never cause individual thruster saturation, such as

may be the case for minimum-energy solutions with a sufficiently long time horizon or

adequately powerful thrusters. Furthermore, the solution must be consistent with the

thruster geometry and the capability of the torque actuators; for example, a vehicle

with a single thrust vector could not reverse direction faster than it could slew itself

in a half-rotation. Again, the smooth sinusoidal shape of the minimum-energy solu-

tion allows this to be possible in many cases. Even the minimum-fuel problem can

be validly implemented in this fashion if the singular interval (the ‘off’ section of the

100

‘bang-off-bang’ solution form) is of sufficient length to allow the vehicle to perform

the required slewing before the trajectory terminus.

The situation in which Boyarko’s uncoupled position-and-attitude formulation

fails to capture the realism of individual-thruster saturation is in the minimum-time

problem. As was described in subsection 3.1.2, assuming frame-component satura-

tion yields the ‘scheduling ambiguity’ problem, where extremal (‘bang-bang’) control

has more than one unique time-optimal solution when either in-plane or out-of-plane

coordinates can be regulated faster than the other. This degenerate class of singular

solutions is most likely what Boyarko, et al. identified, but did not fully investigate,

in the minimum-time problem. Considering the coupling effects of attitude dynam-

ics on individually-saturating thrusters makes this problem disappear. Consider the

minimum-time problem for such a spacecraft in the absence of a gravity field: the

unique time-optimal solution is to point the largest combined thrust vector (for a

cube with six side-mounted thrusters, this is√

3Fmax along the centerline of an or-

thogonal triplet) in the direction of the target and apply extremal control, resulting

in a straight-line trajectory.

101

Y Y

ZZ

X X

Min-Time Trajectories

Projection on XY Plane

Saturated Thrust

Rendezvous Target

Figure 3.1: Illustration of how coupling attitude dynamics resolves the singularclass of min-time solutions. Left: frame-component saturation yields multiple so-lutions. Right: min-time solution is unique and consistent with the expected resultfor individually-saturating thrusters.

Figure 3.1 above depicts how the formulation of the rendezvous problem with

frame-component saturation leads to multiple non-unique solutions for the minimum

time problem. In the image, X is the limiting coordinate, so the force in X will

always be saturated; Y and Z can be regulated faster than X, so if extremal control

is applied, there must be a period of zero velocity in those coordinates (but it does not

matter ‘where’ this period occurs). For simplicity, the trajectory is drawn in straight

line sections, but in reality the diagonal sections of the left-hand image would be a

bipartite quadratic curve, according to kinematics; the important aspect to realize

is that the vehicle cannot rendezvous faster than its most limiting coordinate can

be regulated, regardless of how the non-limiting coordinates are handled. Recall the

mathematical condition for the singular arc described in the previous subsection, that

the velocity costate must be zero for finite time. This occurs during these sections

of the trajectory where the control in some coordinate is idle – the magnitude of the

102

singular control is zero.

In summary, it was determined that while frame-component saturation simpli-

fies the 6-DOF problem by decoupling attitude from translation, it introduces a

degenerate singular class of solutions for the minimum-time problem and may not

be physically consistent with thruster capabilities and geometries. It can still be a

valid formulation for certain minimum-energy problems, where the optimal solution

calls for un-saturated continuous control; in this case, suitable thruster geometries

can be commanded the required frame-component forces at any attitude with the

use of a thruster selection algorithm. This fact is leveraged in Chapter 4 to simplify

some minimum-energy analyses, such as those with more complex path or endpoint

constraints. However, problems with bang-bang optimal solutions, such as min-time

rendezvous and min-time period matching, require coupled attitude dynamics formu-

lations to maintain consistency with thruster capabilities and geometries.

3.3 Numerical Optimization with GPOPS-II

GPOPS-II [30] (Gauss Pseudospectral Optimization Solver) was chosen for the

analysis of optimal proximity problems due to its strengths in producing solutions for

general and highly-customizable problems with multiple phases, making it suitable for

trajectory optimization for efficient long-duration proximity operations. This section

introduces the numerical optimization technique and the problem implementation

approach. The code used to produce my results in this chapter and the next chapter

can be obtained online via a GitHub repository, and can be downloaded and used

with appropriate MATLAB and GPOPS-II licensing. In the next chapter, GPOPS-

II’s solutions are validated by posing the simple minimum-energy, minimum-fuel, and

minimum-time problems that were analyzed in the first half of this chapter. These

103

results will corroborate the known solution forms, and duly verify the existence of

scheduling ambiguity with frame-component saturation. This paves the way for the

analysis of efficient long-duration proximity operations.

3.3.1 Numerical Optimization Method

GPOPS-II is a general-use optimization software in MATLAB distributed by

Michael Patterson and Anil Rao. It numerically approximates the solutions to continuous-

time trajectory optimization problems using Legendre-Gauss-Radau pseudospectral

collocation with hp-adaptive mesh refinement, reducing the continuous-time problem

into a finite-sized parameter optimization problem which is then solved by a non-

linear program (NLP) solver. The open-source NLP solver IPOPT (Interior Point

OPTimizer) [39] was used because it is made freely available, but others can also be

used. A full description of the numerical optimization technique, along with guide-

lines for implementation and useful examples, can be conveniently found in Anil Rao’s

document [30].

GPOPS-II is an ideal tool for analyzing optimal spacecraft trajectories because

it can be tuned to solve the problem under a variety of different assumptions, con-

straints, and objectives. It handles very general optimization problems [18], where

the goal is to minimize some objective function

J = φ [x(t0), t0, x(tf ), tf , q, s]

Where x(t) is the state history, t0 and tf are the initial and final times, q is a vector

of integrals over the specified time interval, and s is a vector of parameters which

are constant during and across phases. The state histories satisfy the dynamical

104

constraints specified by:

˙x(t) = f [x(t), u(t), t, s]

And the integrals are of the form:

q =

∫ tf

t0

Q [x(t), u(t), t, s] dt

Additionally, the state history can be constrained to satisfy path and event constraints

of the following inequality forms:

cmin ≤ c [x(t), u(t), t, s] ≤ cmax

bmin ≤ b [x(t0), t0, x(tf ), tf , q, s] ≤ bmax

GPOPS-II is well-designed to handle problems with multiple phases. In a sense,

GPOPS-II is at its best when dealing with well-posed multi-phase problems, since

pseudospectral collocation is a global transcription method and thus best suited for

discretizing continuous sections of state history.

Phase 1 Phase 2 Phase 3

Phase 5

Phase 4

Tra

ject

ory

time

Phases 1 and 2 Connected

Phases 2 and 3 ConnectedPhases 2 and 5 Connected

Phases 3 and 4 Connected

Figure 3.2: Illustration of trajectory optimization across multiple phases. Note thespatial and temporal linkage constraints for phases that occur in direct sequence.Image credit: [30]

The number and characteristics of the phases vary with the problem, but best

105

practice is to implement them when there is are natural discontinuities in certain

aspects of the problem. For example, dynamics may change for the system at a certain

time, such as for a staged ascent vehicle. If it is known that control discontinuities

feature in the optimal solution, phases should be implemented for each section of

continuous control, such as in the minimum-fuel satellite maneuver problem where it

is advantageous to allow three phases to accommodate the three sections of the ‘bang-

off-bang’ solution. Most relevantly to this thesis, long-duration proximity operations

can be separated into sections where path constraints are or are not enforced, which

is useful for encoding trajectories that feature zero-thrust circumnavigation periods.

The usefulness of this capability to handle phases is that the phase boundary times

need not be known a priori. Guidelines for the implementation of phases in GPOPS-

II are given by Rao [30], and include (at a minimum) linkage logic for constraining

temporal and spatial endpoints of the phases. Sets of more stringent phase linkage

constraints are later leveraged as tools for analyzing proximity operations trajectories

with free-orbit phases.

3.3.2 Implementation Approach

GPOPS-II requires compliance with a specific set of function interactions in MAT-

LAB. At the very least, there needs to be a ‘Main’ function, a ‘Continuous’ function,

and an ‘Endpoint’ function. This subsection describes how the Rendezvous / Proxim-

ity Operations Trajectory Analysis Tool (R/POTATO), one of the main contributions

of this thesis, was implemented by adding an instantiation shell and modifying ‘Main,’

‘Continuous,’ and ‘Endpoint’ to comply with pervasive problem formulation flags.

106

Instantiation Shell

Output visualizationOptimality metric 3D trajectory animationOther data analysis

Main

ContinuousDynamicsPath constraintsObjective functions

EndpointPhase linkageEndpoint conditions

BoundsGuessesScalingTolerancesMesh refinementMethods, solvers, and other setup

GPOPS-II

R/POTATO (Rendezvous / Proximity Operations Trajectory Analysis Tool)

Function that constructs input to optimization routine

Vehicle PropertiesOrbit PropertiesObjectivesInitial/Final ConditionsOptimization FlagsFunction Calls

User-Defined Input Output Processing

Figure 3.3: Diagram of interacting functions in R/POTATO. The Instantiation Shellallows the user to specify the optimization scenario, which determines a set of prob-lem parameters. These parameters persist throughout the GPOPS-II loop. Uponreturning to the shell, the output solution is analyzed and plotted for the user.

107

3.3.2.1 Instantiation Shell

This function was created to collect a variety of the ways that the proximity oper-

ations problem can be instantiated into one place, as well as to unpack and visualize

the data from the returned solution after the GPOPS-II optimization loop terminates.

The most basic function that the shell performs is to supply initial conditions and

problem parameters such as vehicle mass, inertia, thruster type, saturation limits,

orbit altitude, and thruster geometry to the solver.

Various flags can be set in the user-modifiable section of the instantiation shell.

Based on which flags are set, GPOPS-II will instantiate the problem in different ways

based on logical checks contained in ‘Main,’ ‘Continuous,’ and ‘Endpoint.’ The table

in Appendix D summarizes the effect of each flag. The intent is not to exhaust the

possible ways that a proximity operations problem can be specified, but rather to

demonstrate a variety of interesting ways to pose the problem that leverages the

generality of GPOPS-II’s optimization method.

An additional feature of the Instantiation Shell is the back-computation of the

problem’s Hamiltonian as a function of time using the solution structure. GPOPS-II

cannot provide an exact optimal solution because it optimizes over a finite discretiza-

tion of the problem to the specified tolerance and mesh refinement; for this reason, it

is useful to have an optimality metric for the returned solution. It can be shown with

the variational approach to the optimal control problem that if the cost integrand g

and the state dynamics f are not explicit functions of time, then the Hamiltonian is

at least piecewise constant [25]:

H = g(x, u) + pT f(x, u)

Where p is the costate. Furthermore, problems without a fixed final time (such as the

108

minimum time optimization) where the endpoint condition is not explicitly a function

of time should cause the H = 0 for all time by the transversality condition.

The Instantiation Shell obtains the state and costate histories from the GPOPS-

II solution structure and computes the Hamiltonian history as an optimality metric.

Near-optimal minimum-time problems should have very small Hamiltonian values.

Near-optimal minimum-energy problems should have nearly constant, but non-zero,

Hamilton values. Problems with multiple phases or control discontinuities should

have a piecewise-constant Hamiltonian. This same metric is also used by Boyarko, et

al. [6] to observe the optimality of their solver solution outputs.

3.3.2.2 Main

‘Main’ is part of the GPOPS-II function dependency structure. Several examples

of Main functions are provided in the form of example problems that are included

with the download of GPOPS-II. Its purpose is to provide bounds and guesses for

the problem variables: time, states, controls, integrals, constraints, and event groups.

The initial and final values of the time and states are also specified here. Problem

parameters created in the Instantiation Shell are encoded as auxiliary data by Main,

which is a data structure that is visible to Continuous and Endpoint and persists

throughout the optimization loop.

Additionally, mesh refinement and collocation parameters, mesh tolerance, as well

as scaling and differentiation methods are set here. In all cases, hp mesh adaptation

appears to yield fast and accurate results. Mesh refinement and tolerance parameters

should be set to achieve the desired balance of precision and computation time, which

can vary with the problem being solved. Automatic differentiation techniques, such

as provided by Adigator, are ill-suited to dealing with the modified structure of Con-

tinuous and Endpoint, so the built-in ‘sparseCD’ method is used instead. Problem

109

scaling determined automatically from the variable bounds can be a good starting

point for timely computation, but was found to be detrimental to solution quality in

certain cases. As mentioned previously, IPOPT [39] was chosen as the NLP solver.

3.3.2.3 Continuous

‘Continuous’ receives the auxiliary data structure from ‘Main’ and computes state

dynamics, path constraint values, and objective function values for the problem.

Thus, operations on the time, state, and control variables must be implemented

here. Although many computations would be compactly performed with matrix or

quaternion multiplication on groups of state variables, this is not straightforward to

implement in Continuous; realize that these computations are actually performed on

a given iteration’s vector of collocation points, so all matrix products are written

out as scalar expressions with element-by-element computations on a given variable’s

collocation vector.

If a problem is instantiated with eccentricity in the reference orbit, the Keplerian

state dynamics are a function of the target’s true anomaly (see Chapter 2). Because

the determination of true anomaly from time-of-flight (Kepler’s Problem) has no

closed-form solution and requires its own numerical root-finding techniques, a true

anomaly look-up table is pre-computed by the Instantiation Shell before being passed

to Continuous, which interpolates true anomalies for the current iteration’s vector of

collocation points based on their time fields. This way, it is not necessary to repeatedly

solve Kepler’s Problem, which substantially speeds up computation.

3.3.2.4 Endpoint

‘Endpoint,’ like ‘Continuous,’ is called with every mesh iteration. It also receives

the auxiliary data structure from Main, which determines what sections of Endpoint

110

are run to achieve the desired problem phasing with appropriate endpoint linkage

constraints. As was the case in Continuous, operations on time, state, and control

variables must be performed as element-wise scalar operations on the current itera-

tion’s collocation vectors.

If the user-defined parameters indicate the desire for a free-orbit (zero-thrust pe-

riodic) phase, a set of linkage constraints are implemented as conditions for entering

the phase (for example, the period-matching constraint, along with any other size

and orientation specifications). Treating the free-orbit trajectory as a dynamics rep-

resents a more sophisticated approach for phasing into a free-orbit trajectory than

simply choosing a pre-determined location in the state space as an entry-point for the

trajectory. The resultant effect of not specifying the trajectory entry-point a priori

on problem optimality is visualized in Figure 3.4.

111

Chaser Initial Condition

Target Position

Free-Orbit Phase Entry Condition

Figure 3.4: Sketch of energy-optimal trajectories for different specifications of free-orbit phase entry. Left: free-orbit phase begins when chaser reaches a pre-determinedpoint. Right: free-orbit phase correctly begins when chaser reaches any point alongthe desired dynamics, requiring less overall energy expenditure. Both trajectoriesmay be ‘optimal’ with respect to the way the problem is posed.

3.4 Chapter Summary

This chapter focused on the development and analysis of the optimal trajectory

control problem for satellite proximity operations. A bounded-control 3-DOF for-

mulation of the rendezvous problem was presented, and an overview of expected

solution forms for three relevant objective functions followed. Based on Pontryagin’s

Minimum Principle, the basic mathematical forms of the control solutions for each

objective function were developed, and the possibility of singular arcs in the solu-

tion was considered for each case. The minimum-energy solution does not contain

singular intervals, but the minimum-fuel solution contains the well-known coasting

112

interval as part of its ‘bang-off-bang’ control. Most surprisingly, the minimum-time

problem admits the possibility of a degenerate class of singular solutions even with

LTI dynamics due to the MIMO formulation of the problem, which is best described

as ‘scheduling ambiguity.’

The issue of scheduling ambiguity in the minimum-time problem motivated the

exploration of techniques to resolve it. The simplest technique is to adopt a scheduling

policy, which collapses the singular class to a unique solution. This works well due

to the separable nature of the Clohessy-Wiltshire dynamics for in-plane versus out-

of-plane motion. A more sophisticated approach leveraging this separability was also

presented in the form of a hybrid time-energy-optimal solution, where non-limiting

coordinates are optimized for energy use instead of extremal state regulation, which

is equally time-optimal to the scheduling policy solution but uses considerably less

fuel.

The third mitigation strategy is to couple position and attitude dynamics. If

the bounded control is taken to be a physical limitation on propulsion devices, then

this is the most physically consistent formulation of the optimal proximity operations

problem. A single-thruster bounded-control 6-DOF formulation using a quaternion

representation of attitude was presented with 13 states and 4 control variables. The

unique time-optimal rendezvous solution in this formulation corroborates the intuitive

‘straight-line’ approach trajectory, which is actually faster than the frame-saturated

3-DOF result for the same initial conditions.

Situations where translational acceleration inputs can be generalized into frame

coordinate inputs (i.e. uncoupled with attitude via real-time thrust mixing) were

determined to be the relatively low-thrust, long-time-horizon minimum-energy prob-

lems. The ability to uncouple translation and rotation is exceedingly useful because

the search space for the 3-DOF formulation is much more manageable for practi-

113

cal computational resources than that for the 6-DOF formulation. For this reason,

continuous-thrust, minimum-energy trajectories will be the main focus of the anal-

ysis in the chapter to follow of extended proximity operations under higher-fidelity

dynamics and various path constraints.

The Rendezvous / Proximity Operations Trajectory Analysis Tool (R/POTATO),

a MATLAB framework that implements numerical trajectory optimization provided

by GPOPS-II [30], was introduced as a contribution of this thesis. The numerical

optimization method used by GPOPS-II was found to be well-suited to the optimal

proximity operations problem, as it performs multi-phase pseudospectral collocation

which admits very general formulations of optimization problems.

The chapter to follow examines results that validate the numerical optimization

framework using the MIMO state regulation problem formulations presented in this

chapter. It then builds on these preliminary results by combining the orbit mechanical

discussion of long-duration proximity operations from Chapter 2 with the numerical

optimization capabilities of GPOPS-II and R/POTATO described and validated in

this chapter.

114

Chapter 4

Results

In Chapter 2, the orbital mechanics of long-duration proximity operations were an-

alyzed in the perturbation-free Keplerian dynamics as well as the linearized Clohessy-

Wiltshire dynamics, and it was found that the assumptions which linearize spherical

gravity are most valid for proximity operations which are near to the target and occur

on short timescales – in effect, operations in their ‘terminal phase’ of the trajectory,

a phrase which features in Clohessy and Wiltshire’s original publication [10]. Lin-

earization error grew when the chaser spent prolonged periods at a distance from the

target, as well as when the eccentricity of the target orbit was given a realistic value.

By its nature, the conduct of prolonged proximity operations is more prone to the

accumulation of this linearization error than docking maneuvers.

In Chapter 3, the optimal trajectory control problem was introduced and ana-

lyzed. The MIMO state regulation problem with LTI dynamics proved to be the

most straightforward to analyze mathematically, but it was found that degenerate

sub-optimal solution classes exist for objectives requiring extremal control in the

case where the control inputs appear linearly in the acceleration model and saturate

independently (frame-component saturation). This motivated the development of

coupled position-and-attitude dynamics, which remove the ambiguity from extremal

control cases; however, it was determined that sufficiently reachable minimum-energy

115

problems can avoid the consideration of coupling attitude dynamics (e.g., by using a

thruster selection technique to apply frame-component acceleration inputs).

A numerical optimization framework tailored for the analysis of proximity opera-

tions trajectories was also presented in Chapter 3. The framework is flexible enough

to use either linear and nonlinear dynamics, allowing the analysis of trajectories with

higher-fidelity acceleration models. The problem can also be implemented with as

many states and inputs as desired, allowing for the analysis of attitude-coupled ma-

neuvers with a variety of thruster geometries. Finally, arbitrarily complex endpoint

conditions and path constraints can be implemented over various phases of the prob-

lem. Each of these prove to be useful characteristics for analyzing long-duration

proximity operations.

This chapter presents the results of the implementation of various proximity oper-

ations scenarios in the Rendezvous / Proximity Operations Trajectory Analysis Tool.

Because there are a large number of scenarios that can be analyzed by setting various

combinations of flags in the Instantiation Shell, only certain demonstrative scenarios

are analyzed according to the approach described in the section below.

4.1 Approach to Results Chapter

This chapter comprises three main sections. The first will focus on the valida-

tion of the solution produced by GPOPS-II when supplied with the relatively sim-

ple minimum-energy, minimum-time, and minimum-fuel MIMO rendezvous objective

with LTI dynamics, for which the solution form is well-known. The second main

section will expand the analysis to explore solutions to problems which require more

complicated formulation, such as the implementation of path constraints, nonlinear

dynamics, or coupling attitude dynamics. The third main section will shift the focus

116

to long-duration proximity operations that utilize multiple phases and free-orbit dy-

namics. Periodic trajectory design techniques will be implemented and analyzed for

both linear and nonlinear acceleration models, and the ‘cost of linearization’ will be

revisited from the standpoint of control energy expenditure to maintain the Clohessy-

Wiltshire ellipse while under the influence of Keplerian relative motion dynamics.

To accurately reproduce these results, the refinement parameters in ‘Main’ should

be set as follows:

mesh.method = ‘hp-PattersonRao’

mesh.tolerance = 1e-6

mesh.maxiterations = 10

mesh.colpointsmin = 10

mesh.colpointsmax = 20

setup.scales.method = ‘none’

setup.nlp.ipoptoptions.maxiterations = 2000

4.2 Validation and Preliminary Results

In this section, the simplest form of the optimal proximity operations problem

– the 3-DOF MIMO state regulation (rendezvous) problem with LTI dynamics – is

analyzed with R/POTATO under each of the three objectives discussed analytically in

section 3.1. This presents the opportunity to validate that the solution forms returned

by GPOPS-II corroborate the expectation for each problem, and that the Hamiltonian

optimality metric is functioning as intended. In addition, this section will be used

to practically demonstrate the phenomenon of degenerate singular solutions in the

frame-saturated minimum-time problem, and how the inclusion of coupling attitude

dynamics resolves the ambiguity and reveals the unique time-optimal solution.

117

4.2.1 Linear Quadratic Regulator

One way to validate R/POTATO is to formulate an optimal control problem for

which a closed-form analytical solution is easily obtainable. One such formulation is

the linear quadratic regulator, where the objective is to minimize the cost function:

J =

∫ tf

t0

1

2

[xTQx + uTRu

]With tf = 86, 400 s. It is known that optimal control law for the infinite-time-

horizon LQR problem takes the form:

u∗(t) = −Kx(t)

Where the LQR gain K can be obtained as the solution to an algebraic Ricatti

equation if the state dynamics are linear and time-invariant. The infinite-horizon

control solution approximates the finite-time solution in this case, because the plant

is completely controllable and the linearized Clohessy-Wiltshire relative dynamics are

LTI [25]. Thus, the result from R/POTATO can be directly compared to a simulated

full-state feedback trajectory with the LQR gain determined algebraically from the

same parameters. To obtain this result, mesh tolerance was reduced to 1e-9 and

Quadratic_Cost was set to 1 with Q_R_ratio = 1e-10. The initial condition used

ensures that motion in every coordinate must be regulated:

x0 = [100m 110m 250m 0.1m/s 0.1m/s 0.1m/s]T

118

0 0.5 1 1.5 2 2.5 3 3.5 4

Time (s) x 104

-50

0

50

100

150

200

250

300

350

400

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 1 2 3 4

Time (s) x 104

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

Con

trol

Thru

st (

N)

x 10-3 Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 1 2 3 4

Time x 104

-2

0

2

4

6

8

10

12

14

Ham

ilton

ian

x 10-13 Hamiltonian

0 1 2 3 4

Time [s] x 104

-5

-4

-3

-2

-1

0

1

Err

or

[m]

x10-6 Error Between GPOPS-II and ode113

Figure 4.1: LQR problem with Q/R = 1 × 10−10. Comparison between GPOPS-IIand ode113 shows minuscule error. x0 = [100 110 250 0.1 0.1 0.1]T

MATLAB’s ode113 solver, with AbsTol and RelTol set to eps, was used to simu-

late the feedback trajectory. The resultant error between the numerical and simulated

solutions is very small, as can be seen in Figure 4.1; the small amount of error growth

that can be observed on the order of micrometers is attributable to the assumption

of an infinite time horizon in the selection of a static LQR gain.

4.2.2 Minimum-Fuel Rendezvous

Although Gauss pseudospectral collocation is not ideal for dealing with discon-

tinuous problems, R/POTATO can still handle minimum-fuel problems with certain

modifications. Since other methods (such as Clohessy-Wiltshire targeting or Lambert

targeting) are better suited for the analysis of impulsive burn-coast-burn proximity

operations trajectories, this case is used only for the purpose of validation. Oth-

ers, such as Woffinden [40], have studied impulsive-burn transfers to the linearized

Clohessy-Wiltshire free-orbit ellipse.

The minimum-fuel problem is known to have a ‘bang-off-bang’ solution in the

control variable. For this reason, it is advantageous to structure the problem to

include at least three phases. However, it should be noted that even the three-phase

treatment of the minimum-fuel problem suffers from a similar ambiguity problem as

119

the minimum-time problem: the first ‘bang’ phase will be as long as required for

the limiting coordinate’s pulse, but pulses for the non-limiting coordinates need not

last the entire length of the phase. Essentially, the solver struggles when the optimal

control trajectory on a given phase includes both extremal and null control, so it can

be difficult to structure the problem with phase boundaries that are robust.

For simple validation and to avoid scheduling ambiguity, the chaser’s initial con-

dition will be set as follows:

x0 = [0m −5000m 0m 0m/s 0m/s 0m/s]T

This initial condition represents the linearized ‘string-of-pearls’ scenario, where

the chaser is initially 5 kilometers behind the target (but is assumed to be along the

target’s orbital trajectory). The single-period minimum-fuel strategy for the chaser

is to apply two burns (as impulsively as possible), one which lowers perigee to phase

forward in the direction of the target, and the other which circularizes near the

terminus. This is also known as Hohmann phasing.

From basic orbital mechanics, one can calculate the magnitude of each burn’s

symmetrical ∆V:

Vtgt = (42 164 137m)(7.29212× 10−5rev/s) = 3 074.661m/s

∆T =5 000m

3 074.661m/s= 1.626s

Tphasing = Ttgt −∆T = 86162.364s ∴ aphasing = 42 163 606.48m

∆V = Vtgt − Vphasingapo = 3 074.661m/s−√µ

(2

atgt− 1

aphasing

)= 0.01934 m/s

To pose this problem to R/POTATO, set the above initial conditions along with

120

the following flags in the Instantiation Shell:

Incl_Att_Dynamics = 0

Min_Fuel = 1

Three_Phase = 1

Bang_Width = 10

Target_Point = 1

Nonlinear = 0

Max_Time = 86400

HallEffectThrust = 1

It greatly alleviates computation time to manually fix the control bounds to max-

imum or minimum thrust for the duration of the initial and terminal phases of the

problem, and to fix the control bounds at zero for the coasting phase. This tech-

nique leverages the known solution form of the minimum-fuel trajectory to reduce

the problem to a simple burn-time optimization problem for the solver. This is more

easily done with simpler optimization tools, and for this reason, R/POTATO is not

recommended for use on the minimum-fuel problem. The result is shown below:

121

1 2 3 4 5 6 7

Time (s)

-0.06

-0.05

-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories (Phase 1)

XYZX dotY dotZ dot

X: 3.872Y: -0.01936

0 1 2 3 4 5

Time (s)

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Con

trol

Thru

st (

N)

Control History (Phase 1)

0 2 4

Time

-0.9975

-0.997

-0.9965

-0.996

-0.9955

-0.995

-0.9945

-0.994

-0.9935

Ham

ilton

ian

Hamiltonian (Phase 1)

8.63958.63968.63978.63988.6399 8.64

Time (s) x 104

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Control History (Phase 3)

8.6396 8.6398 8.64

Time x 104

0.996

0.997

0.998

0.999

1

1.001

1.002

1.003

1.004

Hamiltonian (Phase 3)

0 1 2 3 4 5 6 7 8

Time (s) x 104

-6000

-5000

-4000

-3000

-2000

-1000

0

1000

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

Transverse Thrust

Phase Separation Marker

Max/Min Thrust LimitsRadial Thrust

Cross-Track Thrust

Figure 4.2: 6-Thruster Min-Time w/ Attitude: x0 = [10 11 25 0.1 0.1 0.1]T

It can be seen from the state history that the expected phasing trajectory is the

minimum-fuel result. The solver determined that the required on-time for the thruster

was 3.872 seconds, which produces a ∆V of 0.01936 m/s - only slightly more than

was calculated above, likely because a small amount less than a sidereal day was

allotted for the maneuver. The result from this minimum-fuel problem shows that

R/POTATO returns the expected trajectory with about the same ∆V that can easily

be calculated from orbit mechanical equations. The total amount of fuel used for this

trajectory was 7.744 normalized fuel units (calculated as the integral sum of control

variable magnitudes, and abbreviated NFU from this point forward. Multiplying this

value by the maximum thrust force yields the total impulse of the maneuver in N·s).

122

For comparison, the same set of initial conditions can be given to R/POTATO

but with the Min_Energy flag set instead of the Min_Fuel flag. The result is shown

in Figure 4.3.

0 1 2 3 4 5 6 7 8

Time (s) x 104

-6000

-5000

-4000

-3000

-2000

-1000

0

1000

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 104

-4

-3

-2

-1

0

1

2

3

4

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 1 2 3 4 5 6 7 8

Time x 104

-1.02971

-1.029709

-1.029708

-1.029707

-1.029706

-1.029705

-1.029704

-1.029703

-1.029702

-1.029701

Ham

ilton

ian

x 10-7 Hamiltonian

0 1 2 3 4 5 6 7 8

Time (s) x 104

-6000

-5000

-4000

-3000

-2000

-1000

0

1000

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories (Y Only)

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 104

-4

-3

-2

-1

0

1

2

3

4

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History (Y Only)

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 1 2 3 4 5 6 7 8

Time x 104

-2.301125

-2.30112

-2.301115

-2.30111

-2.301105

-2.3011

-2.301095

Ham

ilton

ian

x 10-7 Hamiltonian (Y Only)

Figure 4.3: 5 km in-track offset rendezvous with minimum energy. Top: defaultresult. Bottom: Radial thrust is disallowed. x0 = [0 −5000 0 0 0 0]T

The minimum-energy result produces a very similar state trajectory, and uses

very small (but continuous) thrust magnitudes. The total fuel used by the default

minimum-energy trajectory is 16.79 NFU, and the amount used by the ‘Y-only’ tra-

jectory is 15.54 NFU. By comparison, an LQR cost function with a Q/R ratio of

1× 10−10 uses 312.91 NFU, and the minimum-time rendezvous uses 3900.63 NFU.

4.2.3 Minimum-Energy Rendezvous

To solve the 3-DOF minimum-energy rendezvous problem, set the following flags

in the Instantiation Shell:

Incl_Att_Dynamics = 0

123

Min_Energy = 1

Target_Point = 1

Nonlinear = 0

HallEffectThrust = 1

GEO = 1

It was shown in Section 3.1 that the solution to the minimum-energy rendezvous

problem consists of sinusoid sections in the control wherever permissible. Also, the

Hamiltonian should be constant for all time while on a truly energy-optimal trajectory.

The result of implementation in R/POTATO is shown in Figures 4.4 and 4.5 below.

GPOPS-II’s pseudospectral collocation method is very well-suited to this problem in

particular due to the smoothness of the state and control trajectories; the problem

can be solved in seconds to the specified mesh tolerance.

0 2 4 6 8

Time (s) #104

-6000

-5000

-4000

-3000

-2000

-1000

0

1000

2000

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 104

-1.5

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

#10-3 Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 2 4 6 8

Time x 104

-1.0491576

-1.0491574

-1.0491572

-1.049157

-1.0491568

-1.0491566

-1.0491564

-1.0491562

-1.049156

-1.0491558

-1.0491556

Ham

ilton

ian

x 10-6 Hamiltonian

Figure 4.4: Minimum Energy: 24 hours, Hall effect thruster, with initial condition:[100, 110, 250, 0.1, 0.1, 0.1]

124

-2000

-1000

0

1000

2000

3000

4000

Rad

ial [m

]

-6000-5000-4000-3000-2000-10000

In-Track [m]

24-hr HET Min-Energy: Orbital Plane Trajectory

Optimal Rendezvous TrajectoryInitial PositionFinal PositionUnforced Trajectory

Figure 4.5: Minimum-energy trajectory in the orbital plane. Thrust is graduallyapplied to achieve the rendezvous trajectory that is the ‘path of least resistance’ tonatural motion in a 24-hour time limit.

These results indicate control histories which are sinusoid sections and a Hamil-

tonian which is very nearly constant. This corroborates the expectation for the

minimum-energy solution. The minimum-time and minimum-fuel problems are less

straightforward to analyze with this tool, however.

4.2.4 Minimum-Time Rendezvous

To solve the minimum-time problem without any strategy to mitigate scheduling

ambiguity, set the following flags in the Instantiation Shell:

Incl_Att_Dynamics = 0

Min_Time = 1

Sched_Pol = 0

Hybrid_Opt = 0

Target_Point = 1

Nonlinear = 0

125

HydrazineMonoProp = 1

GEO = 1

The initial condition analyzed will have non-zero values in every component:

x0 = [100m 110m 250m 0.1m/s 0.1m/s 0.1m/s]T

0 10 20 30 40 50 60

Time (s)

-50

0

50

100

150

200

250

300

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 10 20 30 40 50 60

Time (s)

-20

-15

-10

-5

0

5

10

15

20

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust Limits

Radial ThrustTransverse ThrustCross-Track Thrust

0 10 20 30 40 50 60

Time

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

Ham

ilton

ian

x 10-3 Hamiltonian

Figure 4.6: Minimum Time: x0 = [100 110 250 0.1 0.1 0.1]T

The expected form of the minimum-time solution involves strictly extremal (‘bang-

bang’) control. In this first run depicted in Figure 4.6, a strange result is returned for

the control solution in the radial and in-track coordinates, despite the fact that the

GPOPS-II output ultimately met the mesh tolerance. The control trajectory in these

coordinates has a strange shape with a curved contour and periodic ‘dips’ toward

zero. This behavior has been determined to be due to the aforementioned scheduling

ambiguity. Notice that the cross-track control thrust is bang-bang; this is because

it is the limiting coordinate for this rendezvous problem given the initial conditions.

The in-plane coordinates can be regulated to zero with extremal control before the

out-of-plane coordinate, and thus there is ambiguity in the solution as to ‘when’ that

extremal control should be applied.

126

0 10 20 30 40

Time (s)

-20

0

20

40

60

80

100

120

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 10 20 30 40

Time (s)

-20

-15

-10

-5

0

5

10

15

20

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 10 20 30 40

Time

-2

-1

0

1

2

3

4

Ham

ilton

ian

x 10-3 Hamiltonian

Figure 4.7: Minimum Time: x0 = [100 110 90 0.1 0.1 0.1]T

In Figure 4.7, the only difference is that the cross-track initial condition is reduced

such that it can be regulated in less time the in-plane coordinates. The correct

(and unique) extremal control solution can now be observed for the in-plane thrust

variables, and the singular behavior for cross-track thrust.

This result – singular ambiguity in either the in-plane or out-of-plane coordinates

– will always be observed unless they can be regulated in precisely the same amount

of time. To continue analyzing this problem in the current 3-DOF formulation with

frame-saturating inputs, it is necessary to resolve the ambiguity by either choosing a

scheduling policy or re-framing the optimization objective for the non-limiting coor-

dinates.

4.2.4.1 Scheduling Policy

Choosing a scheduling policy is as simple as consistently choosing to either ‘reg-

ulate, then wait’ or ‘wait, then regulate.’ This collapses the ambiguity into a unique

solution for the extremal control. In the interest of choosing what seems to be a

more safety-conscious approach, R/POTATO’s Sched_Pol flag implements the ‘reg-

ulate, then wait’ policy so that the terminal section of the rendezvous maneuver

127

involve fewer non-zero coordinates. To implement the minimum-time problem with

this scheduling policy, set the Sched_Pol flag in the Instantiation Shell to 1.

0 20 40 60 80

Time (s)

-50

0

50

100

150

200

250

300

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYX dotY dotZZ dot

0 10 20 30 40 50 60

Time (s)

-20

-15

-10

-5

0

5

10

15

20Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 10 20 30 40 50

Time

-2

-1

0

1

2

3

4

Ham

ilton

ian

x 10-3 Hamiltonian for XY dynamics

Hxy

0 20 40 60 80

Time

-1

0

1

2

3

4

5

Ham

ilton

ian

x 10-3 Hamiltonian for Z Dynamics

Hz

Figure 4.8: Scheduling Policy: x0 = [100 110 250 0.1 0.1 0.1]T

With the original set of initial conditions, the scheduling ambiguity in the in-plane

coordinates are resolved. Since in-plane and out-of-plane motion are uncoupled for

linearized orbital dynamics, the problem is essentially separable along those lines.

Note that the thruster control history corroborates our expectation of an extremal

solution for the minimum-time problem, and the Hamiltonian is nearly zero and

piecewise constant (with the exception of some Gibbs-like phenomena at the control

discontinuities). Rendezvous is obtained at t = 67 seconds, and fuel use is 157.09

NFU.

4.2.4.2 Time-Energy Hybrid

It is possible to take fuller advantage of the inherent separability in this problem

by restructuring the optimality objective such that only the limiting coordinate ap-

plies extremal control, while the non-limiting coordinates are optimized for energy

efficiency over the rendezvous period. To execute this scenario, set the Sched_Pol

flag to 0 and the Hybrid_Opt flag to 1 in the Instantiation Shell.

128

0 20 40 60 80

Time (s)

-50

0

50

100

150

200

250

300

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYX dotY dotZZ dot

0 10 20 30 40 50 60

Time (s)

-20

-15

-10

-5

0

5

10

15

20

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust Limits

Radial ThrustTransverse ThrustCross-Track Thrust

0 20 40 60 80

Time

-0.403991831055

-0.40399183105

-0.403991831045

-0.40399183104

-0.403991831035

-0.40399183103

-0.403991831025

-0.40399183102

-0.403991831015

-0.40399183101

-0.403991831005

Ham

ilton

ian

Hamiltonian for XY dynamics

Hxy

0 10 20 30 40 50 60 70

Time

-1

0

1

2

3

4

5

Ham

ilton

ian

x 10-3 Hamiltonian for Z Dynamics

Hz

Figure 4.9: Time-Energy Hybrid: x0 = [100 110 250 0.1 0.1 0.1]T

The rendezvous solution takes the same amount of time as the one provided –

about 67 seconds – but requires a normalized fuel use of only 111.14, which amounts

to approximately 30% less fuel. The Hamiltonians report the expected non-zero

constant value for the energy-optimal coordinates and near-zero piecewise constant

for the limiting coordinate.

4.2.4.3 Including Coupling Attitude Dynamics

As was discussed previously, the minimum-time solution to the 3-DOF problem

with frame-saturating components is not the intuitive result for the fastest travel

time. The attitude-coupling flag Incl_Att_Dynamics in R/POTATO only considers

a single thruster producing thrust in the direction of Thrust_dir by default, since this

manages the size of the search space (requiring only 4 control variables instead of 6).

However, for the purpose of direct comparison, this formulation can be rather easily

modified to consider 6 thrusters in much the same way as the 3-DOF formulation does.

It should be noted that the optimization for the attitude-coupled model is more time

intensive with the same mesh refinement parameters; choosing small initial conditions

helps to alleviate computation time, however. The new initial conditions are reduced

by a factor of ten:

129

x0 = [10m 11m 25m 0.1m/s 0.1m/s 0.1m/s]T

The 3-DOF min-time problem with these initial conditions, using the scheduling

policy technique, has the following solution:

0 5 10 15 20 25

Time (s)

-5

0

5

10

15

20

25

30

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYX dotY dotZZ dot

0 5 10 15 20

Time (s)

-20

-15

-10

-5

0

5

10

15

20

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 5 10 15

Time

-8

-6

-4

-2

0

2

4

6

Ham

ilton

ian

x 10-3 Hamiltonian for XY dynamics

Hxy

0 5 10 15 20 25

Time

-3

-2

-1

0

1

2

3

4

5

6

7

Ham

ilton

ian

x 10-3Hamiltonian for Z Dynamics

Hz

Figure 4.10: Scheduling Policy: x0 = [10 11 25 0.1 0.1 0.1]T

The rendezvous occurs in 21.8 seconds, and all thrusters show extremal control,

with the cross-track coordinate limiting the solution time. Coupling attitude dynam-

ics with the same thruster geometry produces the following solution:

0 5 10 15 20

Time (s)

-10

0

10

20

30

Tran

slat

ion

Sta

te(m

,m

/s)

Translation State HistoriesXYZX dotY dotZ dot

0 5 10 15 20

Time (s)

-1

-0.5

0

0.5

1

Quat

ernio

n M

agnitude Quaternion Histories

q1q2q3q4

0 5 10 15 20

Time (s)

-0.2

-0.1

0

0.1

0.2

Rot

atio

n R

ates

(ra

d/s

) Rotation Rate Histories

wxwywz

0 5 10 15 20

Time (s)

-20

-10

0

10

20

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust LimitsBody X ThrustBody Y ThrustBody Z Thrust

0 5 10 15 20

Time (s)

-1

-0.5

0

0.5

1

Con

trol

Tor

que

(N-m

) Reaction Wheel Torque History

Max/Min TorqueTxTyTz

0 5 10 15 20

Time

-2

-1

0

1

2

Ham

ilton

ian

x 10-3 Hamiltonian

Figure 4.11: 6-Thruster Min-Time w/ Attitude: x0 = [10 11 25 0.1 0.1 0.1]T

with q0 = [0 0 0 1]T and ω0 = [0 0 0]T

This time, rendezvous occurs at approximately 18 seconds. Interestingly, the

130

thruster mounted in the body Z-axis stays saturated for the entire time; the opti-

mization chooses to ‘steer’ the thrust with the reaction wheels instead of actuating

in the opposite direction to slow down in the terminal half. Regardless, the result is

clear: with the same thruster saturation bounds, attitude coupling must be included

in the model to obtain the true time-optimal solution.

Figure 4.12 compares the two trajectories in 3-dimensional space.

Figure 4.12: Comparison of minimum-time trajectories for frame-fixed and attitude-coupled formulations. Note how the frame-fixed trajectory is limited by the cross-track coordinate due to the initial condition.

The attitude-coupled trajectory is more intuitive than the frame-fixed trajectory

because it is almost a direct approach; it is also a unique optimal solution.

4.2.5 Summary of Preliminary Results

This concludes the verification of physical consistency in the optimized solution.

Based on these results, it is clear that the pseudospectral collocation technique used

by GPOPS-II is best suited to analyzing trajectories where the control solution is

continuous, or at least easily represented as piecewise-continuous. With some manip-

131

ulation of bounds and phases, however, it is still possible to consider minimum-time

and minimum-fuel problems by carefully posing them.

-1500

-1000

-500

0

500

Rad

ial [m

]

-5000-4000-3000-2000-10000

In-Track [m]

24-hr Min-Fuel24-hr Min-Energy24-hr Min-Energy (Y Only)Quadratic Cost (Q/R = 1e-10, tf = 20,350 s)Min-Time (tf = 1,964.5 s)Initial ConditionTarget

0 50 100 150 200 250 300 350

Fuel Use [normalized units]

Min-Fuel

Min-Energy

Min-Energy (Y Only)

Quadratic Cost (Q/R = 1x10-10

)

Fuel Use for 5 km In-Track Rendezvous

Comparison of Rendezvous Trajectories

Figure 4.13: 5 km in-track offset rendezvous trajectories and fuel use for variousobjective functions. Top: Fuel use for a control-efficient class of objectives. Bottom:Trajectories superimposed on the orbital plane. x0 = [0 −5000 0 0 0 0]T

The analyses to follow primarily use the minimum-energy objective instead of

the minimum-fuel objective for three main reasons: the continuous quality of the

control solution is better suited to analysis with the particular numerical techniques

used here, the fuel use is reasonably similar to that of the impulsive minimum-fuel

result, and a large body of research has already been devoted to studying fuel-optimal

impulsive orbit transfers, rendezvous trajectories, and transfers to relative periodic

trajectories [40].

132

4.3 Demonstration of Path Constraints, Phasing,

and Nonlinear Dynamics

This section reports results from implementations of more interesting problems in

R/POTATO that serve to demonstrate its versatility and build toward the analysis

of efficient, long-duration proximity operations. Implementation of path constraints

is explored in the No-Fly Zone Avoidance problem, where the chaser’s trajectory

must avoid a geometric region of the relative space around the target. Nonlinear dy-

namics and endpoint constraints are put to the test in the Optimal Period Matching

problem, where the chaser must null its secular drift under various scenarios. Fi-

nally, the implementation of the Keplerian relative acceleration model as well as the

true anomaly look-up technique for pre-solving Kepler’s problem is evaluated in the

Highly-Eccentric Rendezvous problem.

4.3.1 No-Fly Zone Avoidance

Path constraints are implemented by specifying the value of the constraint in

Continuous and placing bounds on it in Main. The constraint may be any function of

the states, controls, integrals, or parameters. To demonstrate the usefulness of being

able optimize proximity operations trajectories with path constraints, consider the

minimum-energy rendezvous problem where it is desired to avoid a conical field-of-

view region in the nadir direction of the target.

This problem can be formulated as a normal minimum-energy rendezvous problem

with one path constraint: the chaser’s trajectory must be outside of the no-fly region.

The path value can be encoded as a geometrical function of the state variables as

follows:

133

cFOV = x+

√(y2 + z2) cot2

θFOV + θbuffer2

Where cFOV is the path value which must be strictly positive for locations outside of

a nadir cone that has angular width θFOV . Because this is a numerical tool which

terminates the solution search after the mesh tolerance has been met, an additional

buffer width θbuffer is implemented to guarantee compliance.

The 5-kilometer in-track offset initial condition will be used again in this case

because it is known that the unconstrained minimum-energy solution takes the tra-

jectory directly through the nadir FOV of the target. In addition to the usual flags

for the minimum-energy problem, set Avoid_FOV = 1, FOV = 60, and FOV_buff =

30. The result is shown in Figure 4.14 below.

-2000

-1500

-1000

-500

0

500

Cro

ss-T

rack

[m

]

0

1000

1500

1000

2000

-1000

In-Track [m]

-2000-3000

5000-4000 -500

Radial [m]

-1000-1500-5000 -2000-2500

Target

No-Fly Zone

Min-Energy

Min-Energy with Path Enforcement

0 1 2 3 4 5 6 7 8

Time(s) x 104

-1000

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

Rad

ial D

ispla

cem

ent

from

FO

V C

one

(m)

No-Fly Path Enforcement Comparison

Min-Energy with Path EnforcementMin-EnergyCone BoundaryNo-Fly Violation

3D Relative Trajectory Comparison

Figure 4.14: Avoidance of 60° nadir target field-of-view cone with minimum controlenergy objective. x0 = [0 −5000 0 0 0 0]T

134

As expected, the unconstrained trajectory violates the no-fly zone constraint, while

the constrained trajectory avoids the cone by using a small amount of cross-track

thrust to alter its trajectory. In this case, the path constraint is in direct competition

with the objective function, since avoiding the no-fly zone is suboptimal with respect

to the unconstrained case.

4.3.2 Optimal Period Matching

This analysis is implemented to demonstrate how problem phasing with an end-

point condition is conducive to analysis of continuous-thrust transfers to periodic

trajectories. In the linearized Clohessy-Wiltshire model, the condition for periodicity

is:

y = −2nx

By splitting the problem into a thrusting phase and a coasting phase with the

above condition required to be met at the phase boundary, the result is a ‘period-

matching’ proximity operations scenario. Shown in Figures 4.15 and 4.16 is the

result of a 24-hour minimum-energy period-matching maneuver. To replicate this in

R/POTATO, set Min_Energy = 1 and Period_Match = 1.

0 2 4 6 8 10 12 14 16 18

Time (s) x 104

-12000

-10000

-8000

-6000

-4000

-2000

0

2000

4000

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dotPhase Bound 0 2 4 6 8 10 12 14 16 18

Time (s) x 104

-10

-8

-6

-4

-2

0

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

Ham

ilton

ian

x 10-8 Hamiltonian

Figure 4.15: Minimum-energy period matching maneuver with 24-hour horizon. Lin-earized relative dynamics. x0 = [100 110 250 0.1 0.1 0.1]T

135

-1500

-1000

-500

0

500

1000

1500

2000

2500

3000

RBAR

-10000-9000-8000-7000-6000-5000-4000-3000-2000-10000

VBAR

TrajectoryPhase BoundaryTarget / LVLH OriginInitial Position

-1000

0

0Cro

ss-T

rack

[m

]

1000

-1000

-2000

-3000

-4000

VBAR

-5000

-6000

-70002000-8000

RBAR

1000-9000 0

-1000-10000

Figure 4.16: Minimum-energy period matching trajectory.

The result is a very low-thrust transfer to an offset and inclined free-orbit ellipse.

Less than a millinewton of thrust in any coordinate is required during the entire

trajectory, and approximately 46 NFUs are consumed over the course of the insertion.

Another interesting objective for the period-matching maneuver is to achieve op-

timal impulsive period matching as fast as possible. This minimum-time problem

can be implemented with limited success in R/POTATO; however, further analysis

is required. These partial results are reported in Appendix C.

4.3.3 Highly-Eccentric Rendezvous

As was discussed in Chapter 2, one major limitation of the linearized Clohessy-

Wiltshire acceleration model is that it assumes a perfectly circular reference orbit.

No such assumption is made for the Keplerian relative acceleration model, which can

be substituted into Continuous by setting the Nonlinear flag. Non-zero eccentricity

can also be specified in the user-modifiable section of the Instantiation Shell. If this

value is non-zero, a true anomaly look-up table of specifiable granularity is generated

prior to entering the GPOPS-II optimization loop. In Continuous, true anomalies

associated with the set of collocation times are interpolated from this table to obtain

the time-varying parameters on which the Keplerian acceleration model depends (such

as rch and rtgt).

136

This analysis examines the effect of reference orbit eccentricity on the shape and

efficiency of the energy-optimal rendezvous from a common initial condition:

x0 = [100m 110m 250m 0.1m/s 0.1m/s 0.1m/s]T

To implement this problem in R/POTATO, set Min_Energy = 1, Target_Point

= 1, Nonlinear = 1, and populate an eccentricity value for e. A large number of

data points should be used for the true anomaly table; num_nu_pts = 1e5 was used

for this analysis. The result for various reference orbit eccentricities is plotted in

Figure 4.17. Realistic target eccentricity barely affects the amount of fuel required to

execute the energy-optimal maneuver. As the reference orbit becomes more eccentric,

the energy required to rendezvous from the same initial condition on the same time

scale increases monotonically. On the other hand, fuel use actually decreases slightly

between e = 0 and e = 0.1, but generally increases similarly to energy expenditure

as the reference orbit eccentricity becomes more dramatic.

137

-500

0

500

0

1000

-1000

Min-Energy Trajectories with Different Target Eccentricities

-2000

VBAR

-3000

-4000 1000

RBAR

0-5000-1000

-6000

Initial PositionTargete = 0.000e = 0.005e = 0.100e = 0.300e = 0.500e = 0.700

-1500

-1000

-500

0

500

1000

1500

RBAR

-6000-5000-4000-3000-2000-10000

VBAR

Cro

ss-T

rack

[m

]

0 0.005 0.1 0.3 0.5 0.7

Reference Orbit Eccentricity

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

Ener

gy

Exp

enditure

[N

FU2]

100

110

120

130

140

150

160

170

180

Fuel

Use

[N

FU]

Min-Energy Trajectory Efficiency vs. Target Eccentricity

Figure 4.17: Energy-optimal 24-hour rendezvous trajectories from the same initialcondition (left) and fuel and energy expenditure on the energy-optimal trajectory(right) for a range of target eccentricities.

This result (together with the result from the previous analysis on minimum-

fuel trajectories) indicates that while fuel use and energy expenditure are sometimes

comparable as measures of efficiency along the trajectory, an energy-optimal result

can be somewhat less than fuel-optimal. Although the control force is very small, fuel

use grows as a result of integrating over long time periods. This may be a fortuitous

trade for electric propulsion, for which electrical power consumption may overshadow

concerns of fuel capacity.

R/POTATO handles this minimum-energy analysis with nonlinear Keplerian rel-

ative dynamics relatively easily. GPOPS-II and IPOPT are able to determine the

138

24-hour energy-optimal solution in several seconds, even for highly-eccentric targets.

0 2 4 6 8

Time (s) x 104

-6000

-4000

-2000

0

2000

Tran

slat

ion S

tate

(m

,m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 104

-2

-1

0

1

2

Con

trol

Thru

st (

N)

x 10-3 Control History (e = 0.1)Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track Thrust

0 2 4 6 8

Time x 104

-1.5

-1

-0.5

0

Ham

ilton

ian

x 10-6 Hamiltonian

0 2 4 6 8

Time (s) x 104

-6000

-4000

-2000

0

2000

Tran

slat

ion S

tate

(m

, m

/s)

0 2 4 6 8

Time (s) x 104

-2

-1

0

1

2

Con

trol

Thru

st (

N)

x 10-3 Control History (e = 0.3)

0 2 4 6 8

Time x 104

-4

-2

0

2

4

6

Ham

ilton

ian

x 10-6

0 2 4 6 8

Time (s) x 104

-6000

-4000

-2000

0

2000

Tran

slat

ion S

tate

(m

, m

/s)

0 2 4 6 8

Time (s) x 104

-2

-1

0

1

2

Con

trol

Thru

st (

N)

x 10-3 Control History (e = 0.5)

0 2 4 6 8

Time x 104

-1

0

1

2

3

Ham

ilton

ian

x 10-5

0 2 4 6 8

Time (s) x 104

-8000

-6000

-4000

-2000

0

2000

Tran

slat

ion S

tate

(m

, m

/s)

0 2 4 6 8

Time (s) #104

-2

-1

0

1

2

Con

trol

Thru

st (

N)

x 10-3 Control History (e = 0.7)

0 2 4 6 8

Time x 104

-1

0

1

2

3

Ham

ilton

ian

x 10-4

Figure 4.18: Evolution of the energy-optimal control as reference orbit eccentricity isincreased. x0 = [100 110 250 0.1 0.1 0.1]T

Note how the energy-optimal solution changes as reference orbit eccentricity in-

creases: the solution appears to be a sinusoid section in the circular case, but gradually

becomes distorted in a way that mirrors eccentric state trajectories (as can be seen

in Figure 2.15 or B.1, for example). Although the dynamics are no longer LTI, the

139

control still enters linearly into the acceleration model, and thus the optimal control is

still a linear function of the costate solution (which can be thought of as a dual set of

dynamics to the state). In other words, the optimal control policy obtained as the re-

sult of the analysis in subsection 3.1.1.1 is exactly the same in this case, although the

costate solution is obtained as the result of a much more difficult-to-analyze two-point

boundary value problem.

4.3.4 Summary of Intermediate Results

The analyses in this section built upon the foundation of the first section by imple-

menting path constraints, multiple phases, endpoint dynamics, and nonlinear kine-

matics. Each scenario demonstrated a piece of this advanced level of implementation

in a stepping-stone approach to the main scenario of interest in this thesis, which is

long-duration proximity operations. Based on the results from these first two sections,

the best outcome is expected from posing this as a multiple-phase minimum-energy

problem.

4.4 Long-Duration Proximity Operations

In this section, results from the implementation of minimum-energy trajectories

including circumnavigating free-orbit sections are presented. In the first subsection,

methods for specifying the size and orientation of the free-orbit trajectory based on

the techniques explored in Chapter 2 are presented as endpoint constraints for both

the linearized Clohessy-Wiltshire dynamics and the nonlinear Keplerian dynamics. In

the second subsection, a final ‘cost of linearization’ analysis is performed where fuel

use is characterized for a chaser attempting to enforce the geometry of a Clohessy-

Wiltshire ellipse in a Keplerian relative acceleration model.

140

4.4.1 Free-Orbit Trajectory Design

4.4.1.1 Clohessy-Wiltshire Relative Dynamics

Chapter 2 describes the various ways that free-orbit trajectories can be sized in

oriented in the LVLH frame. For close-range proximity operations, linearization error

may be tolerable and the HCW model a desirable tool for on-line computations. For

this reason, it is helpful to be able to analyze and parameterize periodic trajectories

in this model. Under the linearizing assumptions of the Clohessy-Wiltshire model, all

periodic trajectories project a 2-by-1 ellipse onto the orbital plane and are symmetric

about the in-track axis. The center of the ellipse need not be coincident with the

LVLH origin, and in fact may be offset anywhere along the in-track axis. The ellipse

can also be inclined in the cross-track coordinate about this axis.

The user may specify Target_Ellipse to analyze a trajectory with an insertion

phase and a free-orbit phase. The size of the free-orbit ellipse can be specified as

alpha, which is the desired semimajor axis of the relative trajectory. The cross-track

inclination of the trajectory can be specified as zeta. The nodal azimuth of the local

ascending node can be specified as gamma. The location of the ellipse’s center can be

specified with Vbar_Offset. These design parameters can either be encoded in the

Endpoint function as constraints on the LVLH state variables at the terminus of the

transfer phase, or as path constraints which are enforced for the duration of the free-

orbit phase; this can be chosen by setting the flag coast. If it is set to 1, endpoint

constraints are activated while prohibiting thrust in the second phase, otherwise the

path constraint approach is used.

The following results can be obtained by setting Target_Ellipse = 1, alpha =

1000, zeta = 0, gamma = 0, VbarOffset = 0, and coast = 1. Three stationary

initial conditions are analyzed: a 5-kilometer offset purely in the in-track, radial, and

141

cross-track coordinates.

-6000

-4000

-2000

0

2000

4000

6000

RBAR

-2-1.5-1-0.50

VBAR x 104

Radial offset to 1km orbit-plane ellipse: 24-hour transfer

TrajectoryPhase BoundaryTargetInitial Position

-400

-300

-200

7008009001000

Fuel Use: 356.60 NFU

Energy Expenditure: 0.7857 NFU2

-1000

-800

-600

-400

-200

0

200

400

RBAR

-5000-4000-3000-2000-10000

VBAR

In-track offset to 1km orbit-plane ellipse: 24-hour transfer

TrajectoryPhase BoundaryTargetInitial Position

Fuel Use: 14.23 NFU

Energy Expenditure: 0.001 NFU2

Figure 4.19: Evolution of the energy-optimal control as reference orbit eccentricity isincreased. x0 = [100 110 250 0.1 0.1 0.1]T

Results from stationary offsets in the orbital plane indicate that phasing to an

inspection ellipse is three orders of magnitude less energetic and an order of magnitude

less fuel-intensive for an in-track transfer at the same distance and time interval. The

energy-optimal in-track transfer to the 1-kilometer ellipse requires less fuel than an

energy-optimal rendezvous from the same offset over the same time interval, which

follows from the less-stringent endpoint constraint on final velocity. The radial offset,

unlike the in-track offset, does not have the benefit of starting with null secular drift,

possibly accounting for the steeper fuel cost.

In Figure 4.20, a transfer from a stationary cross-track offset is performed. The

cross-track dynamics obey simple harmonic oscillatory motion from the linearized

142

relative dynamics.

-2000

1000

-1000

500

0

VBAR

1000

0

RBAR

2000

Cro

ss-T

rack

[m

]

-500 0

3000

4000

5000

-400

-300

-200

-100

0

100

200

300

400

RBAR

-800-600-400-20002004006008001000

VBAR

Fuel Use: 98.39 NFU

Energy Expenditure: 0.062 NFU2

0 5 10 15

Time (s) x 104

-3000

-2000

-1000

0

1000

2000

3000

4000

5000

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dotPhase Boundary

0 5 10 15

Time (s) x 104

-10

-8

-6

-4

-2

0

2

4

6

8

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-16

-14

-12

-10

-8

-6

-4

-2

0

2

Ham

ilton

ian

x 10-8 Hamiltonian

Cross-track offset to 1km orbit-plane ellipse: 24-hour transfer

Figure 4.20: Evolution of the energy-optimal control as reference orbit eccentricity isincreased. x0 = [100 110 250 0.1 0.1 0.1]T

In this figure, note that the energy-optimal control policy over the course of one

orbit is one cycle of an orbit-period sine wave. Because in-plane and out-of-plane mo-

tion are uncoupled in the Clohessy-Wiltshire model, the projection of the trajectory

onto the orbital plane looks identical to the case where the chaser starts from the

LVLH origin and transfers out to the ellipse. This case is considered in Figure 4.21.

143

0 1 2 3 4 5 6 7 8 9Time (s) x 104

-6

-4

-2

0

2

4

6

8x 10-8 Error between ui and -b*p

i+3

0 2 4 6 8 10 12 14 16 18

Time (s) x 104

-1500

-1000

-500

0

500

1000

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dotPhase

0 2 4 6 8 10 12 14 16 18

Time (s) x 104

-3

-2

-1

0

1

2

3

Con

trol

Thru

st (

N)

x 10-5 Thruster Control History

Max/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-2.5

-2

-1.5

-1

-0.5

0

0.5

Ham

ilton

ian

x 10-9 Hamiltonian

NFU2

Figure 4.21: Analysis of a 24-hour minimum-energy transfer from the LVLH originto a 1-kilometer flat Clohessy-Wiltshire ellipse. x0 = [0 0 0 0 0 0]T

Here, the chaser starts at the LVLH origin and performs a 24-hour minimum-

energy transfer to a 1-kilometer-wide Clohessy-Wiltshire ellipse. The linear depen-

dence of the optimal control on the costate trajectory is easily observed in this case.

Comparison of the control history to the optimal control policy developed in Chap-

ter 3 (plotted on the lower right) shows very small error. An interesting outcome is

that the energy-optimal control solution for this problem is shaped similarly to the

sinusoidal velocity dynamics along the free-orbit trajectory (which is to be expected,

because the costate is integrated backwards in time from the terminal condition).

The control is not purely sinusoidal because it is necessary to counteract in-track off-

set that is accrued during the transfer maneuver. Interestingly, orbit-period transfer

maneuvers to and from any periodic trajectories share this near-sinusoidal control

policy, not just ones starting or terminating at the origin.

144

0 5 10 15

Time (s) x 104

-15000

-10000

-5000

0

5000Tr

ansl

atio

n S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dotPhase Boundary

0 5 10 15

Time (s) x 104

-3

-2

-1

0

1

2

3

Con

trol

Thru

st (

N)

x 10-4 Thruster Control HistoryMax/Min Thrust LimitsRadial ThrustTransverse ThrustCross-Track ThrustPhase Marker

0 5 10 15

Time x 104

-1.795

-1.794

-1.793

-1.792

-1.791

Ham

ilton

ian

x 10-7 Hamiltonian

-4000

-3000

-2000

-1000

0

1000

2000

3000

4000

5000

Rad

ial [m

]

-10000-8000-6000-4000-200002000400060008000

In-Track [m]

Fuel Use: 50.065 NFU

Energy Expenditure: 0.0100 NFU2

Figure 4.22: 24-hour transfer from a 10-kilometer ellipse to a 1-kilometer ellipse.Note the similarity in the control history to the origin-to-1-kilometer ellipse transfer.x0 = [100 110 250 0.1 0.1 0.1]T

This concept is demonstrated in Figure 4.22, where the chaser starts from the

maximum radial offset in a 10-kilometer ellipse, and must transfer to a 1-kilometer

ellipse over the course of one orbit. The energy-optimal result involves thrust in the

hundreds of micronewtons following a similar control policy, which is approximately

sinusoidal and proportional to the difference in the velocity dynamics between the

same angular locations on the initial and final trajectories. If in-track offset in the

resulting trajectory is tolerable, it may be desirable to use simple sinusoids in the

control policy for the sake of simplicity and the minuscular and slowly-changing thrust

required to execute it, making it ideal for formation fliers using electric propulsion.

Using MATLAB and Simulink, it can be shown that open-loop simple-sinusoid control

actuated at the appropriate times consistently results in a periodic transfer maneuver.

145

-5000

0

5000

Rad

ial (m

)

-10000-8000-6000-4000-200002000400060008000

In-Track (m)

Initial condition

x

1 2 3 4 5 6 7 8 9 10 11

Time (s) x 105

-1

0

1

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History

Radial ThrustIn-Track ThrustCross-Track Thrust

1 Day

Figure 4.23: Iterating an orbit-period sinusoidal control policy to progressively phaseinto smaller free-orbit trajectories. in-track thrust amplitude is 50 µN and radialthrust amplitude is 25 µN. Note the accrual of in-track offset by the final phase.

The Simulink scenario depicted in Figure 4.23 was constructed with alternating

periods of open-loop control applied at the appropriate times. The trajectory involves

alternate periods of free-orbit drift and energy-optimal phasing to progressively lower

trajectories.

By altering the amplitudes and phases of different coordinates in the orbit-period

sinusoid control policy, energy-optimal transfers to various interesting periodic tra-

jectories can be found, such as the one shown in Figure 4.24.

-60005000

-4000

-2000

0

Cro

ss-T

rack

2000

1

4000

6000

Radial

0.5 0x 104

In-Track

0-0.5 -5000

-1

TrajectoryInitial ConditionTarget

0 0.5 1 1.5 2 2.5

Time (s) x 105

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Con

trol

Thru

st (

N)

x 10-3 Thruster Control History

Radial ThrustIn-Track ThrustCross-Track Thrust

Day 1 Day 2 Day 3

Figure 4.24: A variety of interesting and useful energy-optimal transfers can be ob-tained from an orbit-period sinusoidal control policy with millinewton thrust. Thescenario above was obtained from Simulink using only an open-loop sinusoid input.

146

-1000

-500

0

500

1000

500

Simulink open-loop sine policy

In-Track

0 500

Radial

-500 0-500

0 0.5 1 1.5 2 2.5

Time (s) x 105

-1.5

-1

-0.5

0

0.5

1

1.5

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History

Radial ThrustIn-Track ThrustCross-Track Thrust

0 5 10 15

Time (s) x 104

-1.5

-1

-0.5

0

0.5

1

1.5

Con

trol

Thru

st (

N)

x 10-4 R/POTATO Thrust History

Max/Min ThrustRadial ThrustTransverse ThrustCross-Track ThrustPhase Separation

-800

-600

-400

-200

0

200

400

600

800

Cro

ss-T

rack

[m

]

R/POTATO solution trajectory

500500 00

In-Track [m]-500

Radial [m]-1000-500 -1500

Figure 4.25: For initial conditions already situated on periodic trajectories, theenergy-optimal solution is usually a simple sinusoid policy.

A single call to R/POTATO can determine an energy-optimal trajectory to a

specified free-orbit ellipse from an arbitrary initial condition. However, it is possible

to obtain a chain of optimal trajectories from multiple reconfigurations by setting the

Load_Prev_Finalstate flag in the Instantiation Shell. This reuses the final state of

the previous call as the initial condition of the current problem, as shown in Figure

4.26.

Figure 4.26: Transfer from an arbitrary initial condition to a 1-kilometer ellipse withzeta = 60, gamma = 180, and VbarOffset = -500, followed by a transfer to anotherellipse with zeta = 60, gamma = 0, and VbarOffset = 500.x0 = [100 110 250 0.1 0.1 0.1]T

147

4.4.1.2 Keplerian Relative Dynamics

It is relatively easy to specify periodic trajectories subject to linearized relative

dynamics due to the simplicity of the geometry involved. However, when considering

the full Keplerian dynamics, it is necessary to deal in terms of differential orbital ele-

ments as described in Chapter 2. The difficulty with this encoding is that differential

orbital elements are very small at close range, so the solver is less sensitive to error

in the parameters of interest. For instance, the size of the desired periodic trajectory

is related to δe between the chaser and target orbits. A 50-meter difference in radial

extent of the periodic trajectory is a difference on the order of 1× 10−6 in differential

eccentricity (for a circular target in GEO), which is approaching the scale of a reason-

able mesh tolerance. For this reason, constraints on these differential elements need

to be scaled up by many orders of magnitude to ensure that the solver is sensitive

enough to the differential quantities of interest.

While R/POTATO contains user-specifiable parameters to theoretically specify

a desired Keplerian relative trajectory according to Table 2.3, this subsection only

presents results for period-matching maneuvers. More work is required to appropri-

ately scale these trajectory specification parameters and validate that they produce

the expected free-orbit trajectories.

It was hypothesized that, for eccentric reference orbits, the task of period-matching

in a minimum-energy fashion over the course of an orbit-period maneuver would be

more efficiently executed beginning at apogee and ending at the following apogee

instead of beginning and ending at perigee. To investigate this, period-matching

maneuvers were implemented for target eccentricities of 0.2, 0.5, and 0.7, each at

two different maneuver epochs corresponding with perigee and apogee (specifiable in

R/POTATO with Mnvr_Epoch).

148

0 5 10 15

Time (s) x 104

-5

-4

-3

-2

-1

0

1

2

Tran

slat

ion S

tate

(m

, m

/s)

x 104 Translation State Histories

0 5 10 15

Time (s) x 104

-8

-6

-4

-2

0

Con

trol

Thru

st (

N)

x 10-3 Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-1

-0.5

0

0.5

1

1.5

2

2.5

Ham

ilton

ian

x 10-4 Hamiltonian

-1

-0.5

0

0.5

1

Rad

ial [m

]

x 104

-4-3-2-101

In-Track [m] x 104

e = 0.5Fuel Use: 382.617 NFUManeuver Epoch: Perigee

0 5 10 15

Time (s) x 104

-5

-4

-3

-2

-1

0

1

2

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dotPhase

0 5 10 15

Time (s) x 104

-8

-6

-4

-2

0

Con

trol

Thru

st (

N)

x 10-3 Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-1

0

1

2

Ham

ilton

ian

x 10-4 Hamiltonian

-1

-0.5

0

0.5

1

Rad

ial [m

]

x 104

-4-3-2-101

In-Track [m] x 104

e = 0.5Fuel Use: 71.836 NFUManeuver Epoch: Apogee

0 5 10 15

Time (s) x 104

-4

-3

-2

-1

0

1

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dotPhase 0 5 10 15

Time (s) x 104

-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

Con

trol

Thru

st (

N)

Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-0.01

-0.005

0

0.005

0.01

Ham

ilton

ian

Hamiltonian

0

5000

10000

Rad

ial [m

]

-4-3.5-3-2.5-2-1.5-1-0.500.5

In-Track [m] x 104

e = 0.7Fuel Use: 1280.96 NFUManeuver Epoch: Perigee

0 5 10 15

Time (s) x 104

-4

-3

-2

-1

0

1

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dotPhase 0 5 10 15

Time (s) x 104

-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

Con

trol

Thru

st (

N)

Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time (s) x 104

-3

-2

-1

0

1

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dotPhase

0 5 10 15

Time (s) x 104

-3

-2

-1

0

1

Con

trol

Thru

st (

N)

x 10-3 Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-5

0

5

Ham

ilton

ian

x 10-6 Hamiltonian

-15000-10000

Rad

ial [m

]

5000

0

05000In-Track [m]

-5000

-5000

-20000

e = 0.2Fuel Use: 143.837 NFUManeuver Epoch: Perigee

0 5 10 15

Time (s) x 104

-3

-2

-1

0

1

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dotPhase

0 5 10 15

Time (s) x 104

-3

-2

-1

0

1Con

trol

Thru

st (

N)

x 10-3 Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-5

0

5

Ham

ilton

ian

#10-6 Hamiltonian

-5000

0

5000

Rad

ial [m

]

-20000-15000-10000-500005000

In-Track [m]

e = 0.2Fuel Use: 45.413 NFUManeuver Epoch: Apogee

0 5 10 15

Time x 104

-2

0

2

4

6

Ham

ilton

ian

x 10-4 Hamiltonian

0

5000

10000

Rad

ial [m

]

-4-3.5-3-2.5-2-1.5-1-0.500.5

In-Track [m] x 104

e = 0.7Fuel Use: 63.129 NFUManeuver Epoch: Apogee

Figure 4.27: Orbit-period transfers to Keplerian periodic trajectories are more ef-ficiently instantiated and terminated at apogee than at perigee. Top two rows:etgt = 0.2. Middle two rows: etgt = 0.5. Bottom two rows: etgt = 0.7. For allcases, x0 = [2000 3000 1000 0 0 0]T .

149

The results shown in Figure 4.27 indicate that it is advantageous from an efficiency

standpoint to initialize and terminate period-matching maneuvers at apogee rather

than perigee, and is supported across multiple values of reference orbit eccentricities.

Most notably, as eccentricity is increased from 0.5 to 0.7, the fuel cost for the perigee

maneuver more than triples whereas that of the apogee maneuver actually decreases

by a small amount.

0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7

Reference orbit eccentricity

0

200

400

600

800

1000

1200

1400

Fuel

Use

(N

FU)

Fuel Use for Orbit Period Energy-Matching Maneuver

Begin/End at PerigeeBegin/End at Apogee

Figure 4.28: Comparison of fuel consumption for 24-hour minimum-energy period-matching maneuvers at different reference orbit eccentricities and at different maneu-ver epochs.

These results also demonstrate that for the same initial condition, increasing the

eccentricity of the reference orbit also increases the minimum amount of energy re-

quired to execute a maneuver that results in satisfaction of the energy-matching

constraint. To verify this, another analysis was performed from a different initial

condition. In Figure 4.29, the chaser begins from a position along the target’s own

orbital trajectory but offset in true anomaly. Here, the chaser’s orbital mechanical

energy already matches that of the target, but an additional endpoint constraint was

placed on differential eccentricity to obtain non-trivial periodic motion (de_ON was

set to 1, with x_size = 50).

150

0 5 10 15

Time (s) x 104

-2

-1.5

-1

-0.5

0

0.5

1

1.5

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dotPhase 0 5 10 15

Time (s) x 104

-6

-4

-2

0

2

Con

trol

Thru

st (

N)

x 10-3 Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-1.5

-1

-0.5

0

0.5

1

1.5

2

Ham

ilton

ian

x 10-3 Hamiltonian

-5000

0

5000

Rad

ial [m

]

-1.5-1-0.500.51

In-Track [m] x 104

e = 0.7Fuel Use: 198.6571 NFU

0 5 10 15

Time (s) x 104

-6000

-4000

-2000

0

2000

4000

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

0 5 10 15

Time (s) x 104

-1

-0.5

0

0.5

1

1.5

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History

Radial ThrustTransverse ThrustCross-Track ThrustPhase Separation Marker

0 5 10 15

Time x 104

-1.5

-1

-0.5

0

0.5

1

Ham

ilton

ian

x 10-7 Hamiltonian

-2000

-1000

0

1000

Rad

ial [m

]

-5000-4000-3000-2000-10000100020003000

In-Track [m]

e = 0.1Fuel Use: 15.8248 NFU

Figure 4.29: Transfers to Keplerian periodic trajectories. Top: etgt = 0.1. Bottom:etgt = 0.7. For both cases, x0 = [−0.0351 −5000 0 0 0 0]T

This analysis from a different initial condition corroborates the previous one, show-

ing greater fuel use to period-match in the case of higher eccentricity.

4.4.2 Cost of Linearization Revisited

The final analysis performed with R/POTATO re-examines the ‘cost of lineariza-

tion’ investigation from Chapter 2, but from the standpoint of fuel use. In this

scenario, the chaser’s objective function is an LQR-like function of position error and

control energy expenditure, with relative weighting that is control-averse.

J =1

2

∫ tf

t0

1× 10−6 ·(x2 + y2 + z2

)+ (u2x + u2y + u2z) dt

Position errors x, y, and z are measured with respect to a pre-defined Clohessy-

Wiltshire free-orbit ellipse. Because the scenario is subject to nonlinear Keplerian

relative dynamics, the chaser must expend formation-keeping control effort to main-

tain the linearized elliptical trajectory. Although the objective is control-averse, an

151

equal relative weighting expends only a negligible amount of extra fuel; however,

it also caused considerable high-frequency chattering in the control. The chaser

is initialized directly on the 2-by-1 ellipse to minimize transient trajectory regula-

tion. Additionally, the following solver parameters were used to obtain sufficiently

granular results: MeshTolerance = 1e-9, AutomaticBounds = 0, MaxIPOPTIters

= 2000, MaxMeshIters = 15, ColPointsMin = 30, and ColPointsMax = 40. In the

figure below, the chaser must adhere to a 100-meter-wide ellipse for the period of one

orbit. For the sake of comparison, this was executed at two different reference orbit

eccentricities:

0 2 4 6 8

Time (s) x 104

-100

-50

0

50

100

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 104

-2

0

2

4

6

Con

trol

Thru

st (

N)

x 10-7 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

0 2 4 6 8

Time x 104

-6

-4

-2

0

2

4

6

Ham

ilton

ian

x 10-11 Hamiltonian

e = 0.005Fuel Use: 0.0436 NFU

0 2 4 6 8

Time (s) x 104

-100

-50

0

50

100

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 104

-1.5

-1

-0.5

0

0.5

1

1.5

Con

trol

Thru

st (

N)

x 10-4 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

0 2 4 6 8

Time x 104

-5

0

5

10

15

20

Ham

ilton

ian

x 10-8 Hamiltonian

e = 0.5Fuel Use: 8.394 NFU

Figure 4.30: Single-orbit formationkeeping to linearized 2-by-1 ellipse under the influ-ence of nonlinear Keplerian dynamics. Top row: etgt = 0.005. Bottom row: etgt = 0.5.

Figure 4.30 shows an expected result: that it is more fuel-intensive to maintain

a 2-by-1 elliptical trajectory when it is less similar to the natural free-orbit motion.

However, it is still well within the the thrusters’ capability to enforce the trajectory,

requiring sub-millinewton thrust and a total impulse of 4.12 N·s (this quantity is lin-

152

early related to normalized fuel use by the maximum thrust, 0.5 N). In comparison, a

single orbit of ellipse enforcement for a near-circular target requires sub-micronewton

thrust, and less than 22 mN·s of total impulse. Comparison with a highly-eccentric

reference orbit case also validates that the trajectory is satisfactorily enforced by the

control policy.

For the sake of realism, the rest of this analysis narrows the focus to the range of

realistic eccentricities for RSOs in GEO (0.0005 to 0.005) and extend the analysis to

15 orbits. The other parameters to be varied are size of the ellipse to enforce as well

as in-plane versus out-of-plane motion.

0 2 4 6 8

Time (s) x 105

-150

-100

-50

0

50

100

150

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-7 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-100100

-50

0

Cro

ss-T

rack

[m

]0

50

In-Track [m]

0

Radial [m]

-50

100

-100-150-100

e = 0.0005Fuel Use: 0.0436 NFU

0 2 4 6 8

Time (s) x 105

-150

-100

-50

0

50

100

150

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-7 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-100100

-50

50

0

Cro

ss-T

rack

[m

]

0

50

In-Track [m]

0

Radial [m]

-50

100

-100-150-100

e = 0.000510-Day Fuel Use: 0.0815 NFU

Figure 4.31: 10-orbit formationkeeping to linearized 2-by-1 ellipse for etgt = 0.0005.Top row: zeta = 0. Bottom row: zeta = 60.

In Figure 4.31, the same 100-meter ellipse was enforced for 10 orbits at the lower

eccentricity value, etgt = 0.0005. As expected, more fuel was used to adhere to the

inclined trajectory than the in-plane ellipse. In both cases, however, fuel use was

minimal, requiring sub-micronewton thrust and 20 to 40 mN·s of total impulse. The

153

next figure shows the result of ellipse enforcement for a reference orbit eccentricity of

etgt = 0.005.

0 2 4 6 8

Time (s) x 105

-150

-100

-50

0

50

100

150

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-5

0

5

10

Con

trol

Thru

st (

N)

x 10-7 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-100100

-50

0

Cro

ss-T

rack

[m

]

0

50

In-Track [m]

0

Radial [m]

-50

100

-100-150-100

e = 0.00510-Day Fuel Use: 0.4365 NFU

0 2 4 6 8

Time (s) x 105

-150

-100

-50

0

50

100

150

Tran

slat

ion S

tate

(m

, m

/s)

Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-6

-4

-2

0

2

4

6

8

Con

trol

Thru

st (

N)

x 10-7 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-100100

-50

50

0

Cro

ss-T

rack

[m

]

0

50

In-Track [m]

0

Radial [m]

-50

100

-100-150-100

e = 0.00510-Day Fuel Use: 0.8095 NFU

Figure 4.32: 10-orbit formationkeeping to linearized 2-by-1 ellipse for etgt = 0.005.Top row: zeta = 0. Bottom row: zeta = 60.

The fuel use required for a ten times more-eccentric reference orbit appears to

also increase by a factor of ten, this time requiring 200 to 400 mN·s of total impulse.

This is due to the fact that a greater magnitude of force is required to regulate the

chaser’s trajectory. This analysis was repeated for a 1-kilometer-wide ellipse on the

same eccentricity interval in the figure below.

154

0 2 4 6 8

Time (s) x 105

-1500

-1000

-500

0

500

1000

1500

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-6 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-10001000

-500

0

Cro

ss-T

rack

[m

]

0

500

In-Track [m]

0

Radial [m]

-500

1000

-1000-1500-1000

e = 0.000510-Day Fuel Use: 0.4374 NFU

0 2 4 6 8

Time (s) x 105

-1500

-1000

-500

0

500

1000

1500

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-6 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-10001000

-500

500

0

Cro

ss-T

rack

[m

]

0

500

In-Track [m]

0

Radial [m]

-500

1000

-1000-1500-1000

e = 0.000510-Day Fuel Use: 0.8122 NFU

0 2 4 6 8

Time (s) x 105

-1500

-1000

-500

0

500

1000

1500

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-5 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-10001000

500

0

Cro

ss-T

rack

[m

]0

In-Track [m]

0

Radial [m]

-500

1000

-1000-1500-1000

e = 0.00510-Day Fuel Use = 4.3373 NFU

0 2 4 6 8

Time (s) x 105

-1500

-1000

-500

0

500

1000

1500

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-5 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-10001000

500

0

Cro

ss-T

rack

[m

]

0

In-Track [m]

0

Radial [m]

-500

1000

-1000-1500-1000

e = 0.00510-Day Fuel Use: 8.095 NFU

Figure 4.33: 10-orbit formationkeeping results for 1-kilometer-wide ellipse.

For the enforcement of a 1-kilometer-wide ellipse, fuel use for the lower-eccentricity

case matches and slightly exceeds that of the 100-meter higher-eccentricity case. The

higher-eccentricity case for the 1-kilometer ellipse sees fuel use increase by approxi-

mately another order of magnitude.

155

0 2 4 6 8

Time (s) x 105

-1.5

-1

-0.5

0

0.5

1

1.5

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-5 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-11

0

Cro

ss-T

rack

[m

]

x 104

0

In-Track [m]

x 104 0

Radial [m]

-5000

1

-10000-15000-1

e = 0.000510-Day Fuel Use: 5.2394 NFU

0 2 4 6 8

Time (s) x 105

-1.5

-1

-0.5

0

0.5

1

1.5

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-1

-0.5

0

0.5

1

Con

trol

Thru

st (

N)

x 10-5 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-11

0

x 104

Cro

ss-T

rack

[m

]

0

In-Track [m]

x 104 0

Radial [m]

-5000

1

-10000-15000-1

e = 0.000510-Day Fuel Use: 9.1902 NFU

0 2 4 6 8

Time (s) x 105

-1.5

-1

-0.5

0

0.5

1

1.5

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-5

0

5

Con

trol

Thru

st (

N)

x 10-5 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-11

5000

0

x 104

Cro

ss-T

rack

[m

]0

x 104

In-Track [m]

0

Radial [m]

-5000

1

-10000-15000-1

e = 0.00510-Day Fuel Use: 43.466 NFU

0 2 4 6 8

Time (s) x 105

-1.5

-1

-0.5

0

0.5

1

1.5

Tran

slat

ion S

tate

(m

, m

/s) x 104 Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 105

-5

0

5

Con

trol

Thru

st (

N)

x 10-5 Thruster Control History

Radial ThrustTransverse ThrustCross-Track Thrust

-11

5000

0

Cro

ss-T

rack

[m

]

x 104

0x 104

In-Track [m]

0

Radial [m]

-5000

1

-10000-15000-1

e = 0.00510-Day Fuel Use: 81.038 NFU

Figure 4.34: 10-orbit formationkeeping results for 10-kilometer-wide ellipse.

Finally, enforcement of a 10-kilometer ellipse proves to be the most burdensome

in terms of both the force magnitude and the total impulse required. In the higher-

eccentricity case for the 1-kilometer ellipse, approximately 40 N·s of total impulse is

required by the 100 kg chaser spacecraft to formationkeep for 10 days.

These formationkeeping fuel use results are summarized in Figure 4.35 below.

156

Figure 4.35: Normalized fuel use to maintain 2x1 ellipse geometry in with and withoutcross-track inclination at different reference orbit eccentricities. Relationship betweenfuel use and ellipse size is approximately linear.

Normalized fuel use for the 100 kg chaser is plotted on a logarithmic scale with

respect to the semimajor axis of the enforced ellipse. Intuition verifies that more fuel

use is required when the reference orbit is more eccentric and when the commanded

trajectory is larger or extends out-of-plane (a 60° inclination about the in-track axis

corresponds to a constant-range ‘circular’ trajectory, with a projection on the or-

bital plane which is the same size as the zero-inclination case). Eccentricity and

out-of-plane motion has the effect of increasing the rate of fuel consumption as the

commanded ellipse size is increased. According to Celestrak, many GEO RSOs have

eccentricities in this range [9].

This result shows that even in the complete absence of orbital perturbations, lin-

earization of spherical gravity has a significant effect on fuel consumption at realistic

eccentricities, especially when attempting to maintain formation flight along larger

ellipses.

157

4.5 Summary of Results

This chapter presented results from the analysis of proximity operations using the

pseudospectral collocation numerical optimization suite GPOPS-II [30] within the

contributed proximity operations analysis framework called R/POTATO.

The first section presented preliminary results on the implementation of simple

minimum-time, minimum-energy, minimum-fuel, and linear quadratic state regula-

tion in the Clohessy-Wiltshire dynamics. Solutions to these optimization problems

conformed to the expected behavior. A minimum-fuel in-track rendezvous was val-

idated mathematically for ∆V as a Hohmann phasing problem, proving that the

acceleration model and state evolution are consistent with linearized Keplerian or-

bital mechanics. The optimization performance of the tool was validated by posing

a state regulation problem with a quadratic cost function and comparing the result

with a precise simulation of full-state feedback control with an analytically-obtained

infinite-horizon LQR gain, where the error in the solution trajectory was observed to

be less than 1× 10−6 meters for a 12-hour rendezvous from hundreds of meters away.

Finally, scheduling ambiguity was shown to exist in the minimum-time problem when

thrust inputs are introduced linearly and saturate independently in each LVLH coor-

dinate (frame-component saturation), while an attitude-coupled acceleration model

for independently-saturating thrusters was shown to resolve this ambiguity and pro-

vide a more-optimal solution. The previous chapter’s claim was duly verified: an

optimal control solution with an uncoupled acceleration model is only physically con-

sistent with thruster saturation and geometry if it is assumed that a thrust-mixing

technique is used to produce the correct component forces, and that the control policy

never requires any thrusters to saturate. Such a control policy can be solutions to the

minimum-energy and control-averse LQR problems. For this reason, further analysis

158

of proximity operations were carried out using the minimum-energy objective for the

sake of reducing computational complexity.

The second section presented intermediate results, demonstrating the implementa-

tion of path constraints, phasing, endpoint constraints, and the Keplerian acceleration

model with large reference orbit eccentricity. Compliance with a geometric no-fly zone

in the shape of a 60° nadir-facing field of view cone was demonstrated for a minimum-

energy trajectory that was known to have normally violated the region. Phasing and

endpoint constraints were demonstrated in the context of a period-matching maneu-

ver for both a minimum-energy formulation (with partially satisfactory results for

an attitude-coupled minimum-time formulation provided in Appendix C). Various

24-hour minimum-energy trajectories from the same initial condition were computed

for reference orbits of various eccentricities, with major efficiency penalties only ob-

served for relatively large eccentricities (greater than 0.1). Additionally, the fact that

the shape of the control solution changes similarly to the costate as eccentricity in-

creases constitutes a qualitative validation of minimum-energy performance with the

Keplerian model.

The third section presents results from the analysis of long-duration proximity op-

erations trajectories consisting of a transfer phase and a free-orbit phase. Design of

the size, position, and orientation of the periodic trajectory was demonstrated in the

form of endpoint constraints on the terminal state of the first phase. This was first

demonstrated for Clohessy-Wiltshire dynamics and the 2-by-1 free-orbit ellipse. It was

discovered that orbit-period transfers between circumnavigating free-orbit ellipses are

relatively energy-efficient and have control policies resembling simple sinusoids that

are linearly dependent on the difference in the velocity state at corresponding angu-

lar locations on the initial and final trajectories. Implementation of simple sinusoid

control of this form results in successful ellipse phasing, but at the cost of in-track

159

offset in the destination trajectory accrued during the maneuver. R/POTATO fixes

the specified destination dynamics as the phase endpoint conditions, which avoids

this problem. Minimum-energy period matching was demonstrated under nonlinear

Keplerian relative dynamics, and it was shown that maneuvers with apogee epochs

are more fuel-efficient than maneuvers at perigee epochs as eccentricity grows. Fi-

nally, an analysis of the fuel cost of maintaining a 2-by-1 elliptical trajectory under

Keplerian relative dynamics showed that linearization has a non-trivial impact on

long-duration efficiency when realistic eccentricities are considered and when confor-

mity to kilometer-scale ellipses is enforced. These results neglect all orbital pertur-

bations, purely examining the cost of using the Clohessy Wiltshire model to linearize

Keplerian dynamics.

160

Chapter 5

Conclusions

5.1 Thesis Summary

The objective of this thesis was to explore the medium- to close-range proximity

operations problem from the standpoint of maximizing efficiency for long-duration

operations and formation flight that do not necessarily terminate in rendezvous and

docking. In the first chapter, the need for this analysis was motivated by the needs

of national defense in the orbital environment as well as the desire to maximize the

operational lifetime of future on-orbit inspection and servicing satellites.

The second chapter explored the orbital mechanics of proximity operations. It

developed the full Keplerian relative dynamics from basic kinematics, and carefully

noted each step taken to linearize and simplify them to arrive at the common Hill-

Clohessy-Wiltshire LTI dynamics and their closed-form solutions. The error asso-

ciated with this linearization was repeatedly analyzed to determine qualities such

as periodicity and magnitude at various ranges, orbital altitudes, and with small

amounts of eccentricity in the target orbit. Thrust-free periodic trajectories in the

relative frame were analyzed for both linearized and nonlinear relative dynamics,

with conditions for periodicity that can be expressed in terms of equality constraints

on the LVLH position and velocity variables. The chapter went on identify more

161

constraints which could specify the size, location, and orientation of periodic trajec-

tories in terms of the LVLH state variables; these could be obtained trigonometrically

for the Clohessy-Wiltshire 2-by-1 ellipse, but were less straightforward to obtain for

Keplerian relative trajectories. An approach using differential orbital elements and

local-frame vectors was proposed for the Keplerian case, but more work is required

to validate these. Finally, the effects of orbit perturbations on relative motion were

briefly discussed, but due to the stochastic nature of the dominating external forces,

it was determined that disturbance rejection is best dealt with using feedback control

instead of optimal control.

The third chapter introduced an optimal control formulation of the proximity op-

erations problem with an MIMO LTI thrust-saturating dynamical model. Solution

forms for problems with the common optimization objective functions minimizing

maneuver time, fuel use, and energy expenditure were developed with Pontryagin’s

Minimum Principle. The possibility of the existence of singular arcs in the prob-

lem was explored, with the conclusion that a degenerate class of singular solutions

exists for the minimum-time problem. It was determined that this was essentially

a ‘scheduling ambiguity’ that only arises when thrust control inputs are introduced

linearly and saturate independently in each coordinate, and could be mitigated in

several ways. A 13-state attitude-coupled dynamical model that respects the satura-

tion bounds of each propulsion device was introduced as one technique to resolve the

ambiguity; however, it was determined that the simpler 6-state model was still phys-

ically consistent under the assumption that thrust mixing is used and thrusters need

not saturate, as is often true in the minimum-energy problem. Last, the Rendezvous

/ Proximity Operations Trajectory Analysis Tool was introduced, and the numerical

optimization technique of GPOPS-II was briefly described and justified as a suitable

technique for obtaining smooth, energy-optimal trajectories for highly customizable

162

proximity operations problems.

The fourth chapter presented results obtained from the implementation of various

proximity operations problems in R/POTATO. Each section incrementally validated

the tool, beginning with simple rendezvous problems under various cost functions and

eventually adding nonlinear dynamics as well as path and endpoint constraints. In

the last section, transfers to specifiable Clohessy Wiltshire ellipses were demonstrated

from arbitrary initial conditions as well as from other periodic trajectories. It was

found that a class of energy-optimal trajectories for phasing between linearized el-

lipses consisted of orbit-period sinusoid control policies which result in a small amount

of in-track drift but cause the chaser to terminate along periodic trajectories. Period-

matching maneuvers subject to nonlinear Keplerian relative dynamics were demon-

strated, where an analysis with R/POTATO showed that orbit-period maneuvers are

more efficiently executed from apogee to apogee than from perigee to perigee, espe-

cially for more eccentric target orbits. Finally, the cost of linearization was revisited

for fuel use required to enforce various sizes of 2-by-1 ellipses for reference orbits with

eccentricities representative of existing RSOs in the GEO regime.

5.2 List of Contributions

The contributions made by this thesis are as follows:

A ‘cost of linearization’ analysis of the prolonged use of linearized relative dy-

namics in satellite proximity operations in terms of error in position and rate

of circumnavigation, as well as fuel use to enforce linearized trajectories.

A full list of constraints on relative position and velocities which completely

specify the size, location, and orientation of linearized periodic trajectories.

163

A proposed list of constraints on relative position and velocities to specify the

size, location, and orientation of Keplerian periodic trajectories.

An investigation of the singular class of solutions associated with the minimum-

time optimization using the 3-DOF dynamical model formulated with frame-

component saturation, accompanied by a 13-state attitude-coupled formulation

as a technique to resolve it.

A simulated demonstration of energy-optimal orbit-period simple-sinusoid con-

trol policies for uncomplicated phasing between linearized ellipses.

An analysis of energy-optimal continuous-thrust period-matching maneuvers for

both linearized and nonlinear highly-eccentric scenarios.

The Rendezvous / Proximity Operations Trajectory Analysis Tool (R/POTATO),

which can be obtained via an online repository and used with valid MATLAB

and GPOPS-II licensing.

5.3 Conclusions

The Clohessy-Wiltshire equations of relative motion were developed to be an ac-

ceptably accurate linearization of relative orbital dynamics for the terminal phases of

satellite rendezvous, where relative ranges and timescales are assumed to be small.

When conducting long-duration proximity operations for inspection and servicing of

RSOs, however, the ‘terminal phase’ may be significantly delayed or may not ever

occur. For these situations, especially at extended range and with realistic target

eccentricities, higher-fidelity relative acceleration models should be chosen instead.

Otherwise, the mission life of proximity operations platforms could be artificially

164

shortened by fuel use wasted due to the linearization of Keplerian gravity. It is im-

portant that proximity controllers use dynamics that are as consistent with nature as

possible in order to extend the mission life of formation fliers, on-orbit servicers, and

national defense assets.

It is expected that future on-orbit inspectors and servicers will make use of so-

lar electric propulsion to maximize their efficacy and lifespan. These devices exert

very low thrust over long periods of time and require prudent power management.

Best-suited to spacecraft needs in this scenario is minimum-energy optimization of

proximity operations trajectories that make use of natural thrust-free periodic motion.

This thesis does not imply that R/POTATO or GPOPS-II should be used as

an open-loop optimal trajectory planner for actual missions. Instead, they should

be used to explore the rich problem of proximity operations trajectory optimization

across multiple phases and subject to fairly complex dynamics and constraints. Gauss

pseudospectral collocation is especially useful for the types of minimum-energy opti-

mization that is apt to be carried out for future satellites equipped with solar electric

propulsion.

5.4 Future Work

5.4.1 Improvements to R/POTATO

R/POTATO stands to benefit substantially from better integration with GPOPS-

II. To start, different parts of the proximity operations problem should be scaled

appropriately based on the expected ranges of their values; for example, position

states may vary by tens of kilometers, but the endpoint constraint which matches

the chaser’s energy to the target’s must be met to high precision. Additionally,

165

better guesses and bounds can be chosen to improve the performance of the numerical

optimization.

Consideration of attitude coupling can be toggled in the Instantiation Shell, but

only limited results for small-scale minimum-time rendezvous were obtained. More

complex scenarios, such as minimum-time period-matching with an endpoint con-

straint, yielded non-ambiguous results when the cost function was reformulated to

include reaction wheel energy expenditure penalties (see Appendix C). Robust han-

dling of arbitrary initial conditions for minimum-fuel maneuvers might also be possible

with a thoughtfully structured treatment of problem phasing, but this complexity il-

lustrates why pseudospectral collocation methods are best reserved for formulations

with continuous-control solutions.

R/POTATO could also be improved as a docking simulation by enforcing end-

point constraints on the final attitude and orientation of the chaser with respect to

the target, in a similar way to that which was formulated by Boyarko, et al. This

would be relatively straightforward to accomplish for the minimum-energy case, since

the thrust-mixing assumption could allow decoupling between position and attitude

dynamics. The minimum-time case might be much more difficult to implement due

to the requirement of attitude-coupled acceleration inputs. Other docking-focused

improvements could be made, such as a requirement that the chaser refrain from con-

taminating the target with exhaust in a rendezvous scenario by enforcing off-limits

relative attitudes at close range.

Satisfaction of the Keplerian periodic trajectory specification constraints proposed

in Table 2.3 proved to be problematic for R/POTATO. More analysis to scale these

quantities correctly is likely required to obtain the desired specification control over

terminal dynamics.

R/POTATO could also be made more realistic by including perturbing effects,

166

such as J2 or third-body gravitation, in the acceleration model within the Continuous

function. Additionally, endpoint constraints aimed toward mitigating these perturba-

tions could be implemented in Endpoint (e.g., investigation of first-order J2-invariance

as described by Schaub, et al. [32] to verify the existence of Bevilacqua’s unexpected

J2-invariant inclination at 49.11° for PCO formations [4]). In theory, the dynamical

model could be made arbitrarily accurate. Effects that are purely stochastic, however,

should not be included in R/POTATO; the solver attempts to produce an end-to-end

optimal trajectory that is ideally a global minimum over a range of deterministic dy-

namics. The optimal solution inherently lacks robustness, since it must be in contact

with feasibility boundaries. Mitigation of unpredictable effects due to noisiness in the

acceleration model is better left to reference-tracking and feedback control.

5.4.2 Graphical Model Approach for On-Orbit State Estima-

tion

The assumption made in this thesis that a chaser spacecraft in GEO has full access

to its state in the LVLH frame is a significant departure from reality. Active relative

state estimation techniques such as LiDAR may be used to obtain somewhat accurate

range information, but only within close range of the target. Outside of active-range-

capable space, optical angles-only navigation can be used, but common practice is to

rely on the global state estimate provided by mean orbital element estimation from

ground station tracking. In the interest of collision avoidance, many RPO missions

limit minimum range to remain beyond a safety sphere around the target, with size

determined by the error variance of the global state estimate.

Proximity operations in LEO benefit from good access to GPS signals. Carrier-

phase differential GPS techniques can provide precise relative navigation measure-

167

ments for LEO formation fliers, with relative position errors of less than 3 millimeters

over 10 kilometer separations [28], enabling applications such as sub-wavelength aper-

ture synthesis radio interferometry.

High-altitude access to GPS signals is sparse, as the main lobe of the GPS signal

is occluded by the Earth, and side lobes have significantly weaker gain. Additionally,

a minimum of four GPS satellites need to be instantaneously visible in order to obtain

a position fix.

Main

beam

GEO Satellite

GPS

Side lobe

Side

lobe

Figure 5.1: GPS signal acquisition is challenging in high-altitude orbital regimes.Image courtesy: GPSworld.com.

With a sufficiently sensitive antenna, GPS signals obtained from unobstructed

sections main lobes as well as from weaker side lobes could both be used to obtain a

position fix, augmenting ground station ranging and mean orbital element estimation.

168

This global estimate could be further improved by using more than one satellite.

Unlike a single monolithic chaser, a ‘chaser formation’ could cooperatively range

between themselves using LiDAR, incorporate carrier-phase differential GPS relative

state estimation, and obtain multiple independent global position estimates from the

GPS formation. The resulting joint probability distribution would have, in principle,

less error variance than a single chaser using only ground station measurements, and

could enable more ambitious proximity operations.

It is proposed that a graphical model framework be studied for incorporating

disparate types and frequencies of measurements between multiple satellites, similar

to ones described by Sanchez [31] or Setterfield [33]. This analysis should discern

whether it is feasible to perform optimal estimation of the chaser formation’s global

state in GEO, and the magnitude by which the state estimate can be improved.

169

170

Appendix A

Keplerian Orbital Mechanics

This appendix provides a brief description of fundamental orbital mechanics and

the associated equations used extensively in Chapter 2. The bulk of this material was

distilled from the texts by Vallado [38] and Bate, Mueller, and White [3]. Although

this information can be readily found in orbital mechanics textbooks, the reason it is

included here is to maintain consistency in nomenclature as well as for the reader’s

convenience.

For as long as humans have looked up at the night sky, we have been trying to

understand the motion of the orbs and lights that glide across the heavens. Aristotle

taught that these heavenly bodies, unfettered by the confines of the Earth, should

follow what was - in his mind - the only perfect natural motion: a circle. This

view went unchallenged in its basic premise for nearly two millennia; most agreed

that the planets followed circular trajectories, or combinations of circular sections.

It wasn’t until 1606 that Johannes Kepler succeeded in fitting the precise celestial

measurements of Tycho Brahe to the ellipse, and subsequently published his famous

first law in 1609: The orbit of each planet is an ellipse, with the sun at one focus.

This idea was expounded upon by Isaac Newton, who casually remarked to Edmund

Halley that if the sun pulled the planets with a force proportional to the inverse

square of their distances, their paths ought to be elliptical, and that he had written a

171

proof of it some twenty years previously. Halley pushed Newton to publish his work

in what would be known as the Principia, in what many consider to be the birth of

modern science.

Newton’s law of universal gravitation proscribes orbits to follow trajectories best

described as conic sections; usually ellipses or hyperbolae, with circles and parabolae

as respective marginally stable cases. It takes the following form when describing the

gravitational attraction between Earth and an orbiting satellite:

Fg = −Gm⊕msat

r2

(r

r

)Where m⊕ is the mass of the Earth, assumed to be much larger than the mass

of the satellite; G is the gravitational constant, also called Newton’s constant, and

is approximately equal to 6.674× 10−11m3·kg−1·s−2. The gravitational force is repre-

sented as a vector, Fg, and the distance between the Earth’s center of mass and the

satellite’s center of mass is represented as both a magnitude r and a vector r.

If the vector r can be expressed in a non-accelerating reference frame originat-

ing from the Earth’s center of mass, the following differential equation describes its

motion:

¨r = −G(m⊕ +msat)

r2

(r

r

)Of course, there is no Earth-centered reference frame that can be described as

non-accelerating or ‘inertial,’ because the Earth is itself orbiting the Sun, and thus

accelerating. The sun, too, is accelerating with respect to the center of the Milky

Way galaxy, and so on. Thus, the equation above is always an oversimplification

because it does not account for the acceleration of the reference frame in which r

is expressed. However, the period of Earth’s orbit around the sun is slow enough

172

(and the sun’s galactic orbit many orders of magnitude slower) compared to an Earth

satellite’s orbital dynamics of interest that the other, missing terms are considered to

be of negligible magnitude for pedagogical purposes.

Since the quantities G and m⊕ are constant for analysis of an Earth satellite, and

the quantity msat is so small compared to m⊕, the equation of motion is often reduced

to:

¨r = −µ⊕r2

(r

r

)Where µ⊕ represents the product Gm⊕ and is called the ‘gravitational parameter’

of Earth. This is known as the ‘Two-Body Equation of Motion,’ and is a fairly

simple representation of an orbiting body’s motion which makes several simplifying

assumptions. Summarized, they are:

The reference frame in which r is expressed is an Earth-centered and inertial

reference frame.

The ratio of the satellite’s mass to the Earth’s mass is approximately zero.

Both the satellite and the Earth are either point masses, or perfectly spherical

and uniformly dense such that they can be mathematically treated as point

masses.

There are no other external forces acting on the satellite or the Earth, to include

gravitation from a third body, no collision with particles or other momentum

transfer events, no structural heating or flexing or other mechanical energy

transfer events, etc.

It is from this equation that the six classical orbital elements (COEs), sometimes

called the six Keplerian elements, can be derived. Using these, a satellite’s orbital

173

trajectory can be fully parameterized. A brief description of each, with some useful

formulas, are provided here. For an excellent development of each of these, and as

authoritative references on basic astrodynamics in general, Vallado’s text [38] as well

as the text by Bate, Mueller, and White [3] are recommended.

A.1 The Classical Orbital Elements

Semi-major Axis. The Two-Body Equation of Motion describes an orbital tra-

jectory that can be characterized as a conic section. Every conic section is bilaterally

symmetric about two perpendicular axes, a minor axis and a major axis. For an

ellipse, which characterizes the dominant set of captured satellite orbits, the major

axis is the longer of the two; the gravitational body is located on this line at one focus

of the ellipse. The semi-major axis (a) is exactly half the length of the major axis.

Unlike the magnitude r, this parameter is constant for an orbit, and is thus a better

(yet still vague) descriptor of its ‘size.’ For a circular orbit, the semi-major axis and

the radius are equivalent. While the term ‘size’ is not descriptive enough for talking

about orbits, the semi-major axis does precisely specify a more useful quantity, the

orbit’s period:

T = 2π

√a3

µ

For circular orbits, the orbital rate n is constant and can be expressed as the

reciprocal of the orbital period T .

Another relevant quantity to mention here is the orbit’s specific mechanical energy

(ξ), a constant quantity that represents the aggregate of the satellite’s specific kinetic

energy and specific potential energy, which are constantly fluctuating between maxima

174

and minima throughout the satellite’s orbit (unless it happens to be circular). The

‘vis-viva’ equation enforces conservation of mechanical energy over the course of the

orbit:

ξ =v2

2− µ

r= − µ

2a

Eccentricity. The eccentricity of an ellipse (e) is a measure of the ‘flatness’ of

an ellipse, and varies between 0 for a circular orbit, between 0 and 1 for an elliptical

orbit, 1 for a parabolic trajectory, greater than 1 for hyperbolae, and∞ for a straight

line. Together with the semi-major axis, a more cogent understanding of an orbit’s

size can be formed. For example, the orbital radius at its smallest (periapsis, or

perigee when describing an Earth orbit) and at its largest (apoapsis or apogee) can

both be determined as follows:

rp = a(1− e)

ra = a(1 + e)

Eccentricity is also sometimes represented in vector form, emanating from the

origin of the reference frame and pointing directly toward the orbit’s periapsis. Its

magnitude is equal to the scalar value introduced above:

e =v × h

µ− r

r=

1

µ

[(v2 − µ

r

)r− (r · v)v

]While not itself an orbital element, the specific angular momentum vector

(h)

is

also an illustrative parameter of orbits. It is the cross product of the position and

velocity vectors of the orbiting satellite at any point in time, with direction parallel

to the orbit normal unit vector.

175

h = r× v

Its magnitude can also be obtained uniquely from the semi-major axis and eccen-

tricity via the semi-latus rectum, p:

p = a(1− e2) =h2

µ

∴ h =√µp

The magnitude of the satellite’s velocity can be obtained directly from its cur-

rent orbital radius and the specific mechanical energy by manipulating the vis-viva

equation:

v2 =

√2(µr

+ ξ)

=

√2(µr− µ

2a

)The angle between the velocity vector and the local horizontal (which is always

perpendicular to the radius vector) is called the flight path angle Φ.

cos Φ =h

rv

It should be noted that for elliptical orbits, the velocity’s direction is tangent to

the orbit trajectory only at perigee and apogee. For circular orbits, the satellite’s

velocity is constant and perpetually tangent to the orbit trajectory, and Φ is always

zero. Velocity has magnitude given by:

vcirc =

õ

r

Inclination. An orbit’s inclination (i) is the angle between the angular momen-

176

tum vector (or orbit normal vector) and the Earth’s north pole. This angle may vary

between 0° for an equatorial prograde orbit (orbit’s angular rate is the same sign as

Earth’s rotation rate), to 90° for a polar orbit, and 180° for an equatorial retrograde

orbit (orbit’s angular rate is the opposite sign as Earth’s rotation rate).

Right Ascension of the Ascending Node. This quantity, commonly abbrevi-

ated as RAAN or represented symbolically (Ω), is the clockwise angular displacement

of the point at which the satellite crosses from the southern hemisphere into the north-

ern hemisphere in its orbit (the ‘ascending node’) from the vernal equinox direction

(one of the axes of an Earth-centered inertial reference frame). Often, it depicted as

a vector emanating from the reference frame origin and pointing towards the orbit’s

ascending node. It may vary between 0° and 360°, but is undefined for equatorial

orbits.

Argument of Perigee. The argument of perigee (ω) is the angular displacement

from the ascending node to the orbit’s nearest approach to the gravitating body, or

periapsis, measured in the direction of the spacecraft’s motion. Together with RAAN

and inclination, the argument of perigee fully describes the orientation of the orbital

trajectory in 3-dimensional space.

True Anomaly. This quantity is the angular displacement of the satellite’s

position along its orbital trajectory from the orbit’s perigee, also measured in the

direction of the satellite’s motion. It is written symbolically in a number of ways by

different authors, but in this thesis, it will be denoted by ν. This final orbital element

places the satellite itself unambiguously at a point in 3-dimensional space along its

trajectory. With this quantity, along with the semi-major axis and eccentricity, the

satellite’s instantaneous orbit radius magnitude can be determined using the following

formula:

177

r =p

1 + e cos(ν)

The magnitude of the derivative of the radius vector can also be expressed as a

function of true anomaly:

r =rνe sin ν

1 + e cos ν

It is important to note that this quantity is not equivalent to the magnitude of the

velocity vector, however. The expression requires the time derivative of true anomaly,

which is:

ν =h

r2

We can use both r and ν to differentiate true anomaly again while simplifying:

ν =−2rν

r=

−2h2e sin ν

r4(1 + e cos ν)

A.2 Describing Angular Motion

Since all captured orbits can be described as ellipses, it is useful to be able to

describe locations of objects on elliptical trajectories. The equation in cartesian

coordinates of any ellipse centered at (x0, y0) is given by:

(x− x0)2a2

+(y − y0)2

b2= 1

Where the quantities a and b represent the lengths of the semi-major and the

semi-minor axes, respectively. The area of the entire ellipse is given by the product

178

ab. The ratio of the semi-minor axis to the semi-major axis is also related to the

eccentricity of the ellipse as follows:

√1− e2 =

b

a

Determining the time-of-flight of an object in an eccentric orbit requires a multi-

step computation that takes no fewer than three angular parameters into account:

true anomaly (ν, which was described above and can be obtained from an instan-

taneous orbit radius measurement for an orbit of known period and eccentricity),

eccentric anomaly (E), and mean anomaly (M). The true anomaly is the angular

measure from the periapsis vector to the orbit radius vector, and thus the vertex of

the angle is situated at a major focus of the ellipse. Eccentric anomaly, however, is

an angle with its vertex at the ellipse’s center; it requires the circumscription of an

auxiliary circle with radius equal to the orbit’s semi-major axis. Eccentric anomaly is

the angle of a point on the auxiliary circle that is collinear with the satellite’s position

on a line perpendicular to the major axis of the ellipse. It can be determined from

true anomaly and eccentricity using the following equation:

cos (ν) =cos (E)− e

1− e cos (E)

Mean anomaly is the one-to-one matching of two ratios: the amount of time

elapsed since periapsis to the duration of the orbital period, and a fraction of 2π.

Mean anomaly is always constant over the course of any orbit. It is given by:

M = n(t− t0)

Where t0 is the time at perigee, and n is the ‘mean motion,’ or average angular

179

rate, of the orbit:

n =

õ

a3

Using Kepler’s Second Law, which states that objects in orbit sweep out equal

areas in equal times, the following geometric relationship can be obtained between

mean anomaly and eccentric anomaly:

M = E − e sin (E)

While mean anomaly can be obtained from eccentric anomaly in one step, de-

termining eccentric anomaly from mean anomaly requires the use of an iterative

numerical root-finding technique such as the Newton-Raphson method. It is typical

to provide the current mean anomaly as an “initial guess” for these root-finding al-

gorithms, since it is close in value to eccentric anomaly for orbits of relatively small

eccentricity.

A.3 Orbital Perturbations

As was alluded to above, what is gained in the mathematical simplicity of the Two-

Body Equation of Motion is lost from the realism of an actual Earth satellite’s motion.

While the Two-Body Equation is useful in defining the ideal conic section trajectory

of an orbit, true orbits experience various perturbations (basically, external forces)

which alter certain parameters of its orbit in different ways. These disturbances are

often time-varying, difficult to predict and measure, and can be periodic or secular

in nature. Some of the most prominent perturbations, as well as how they affect an

orbit (encoded as changes in the orbital elements) are described here. In general, these

180

descriptions follow from the texts of Vallado [38] and Bate, Mueller, and White [3].

Drag. A discrete transition between the Earth’s atmosphere below and the vac-

uum of space above does not exist. Instead, the transition is gradual. For this reason,

Earth satellites experience a slight air drag force which acts in a direction opposite

to the orbit velocity vector. The force of air drag is increased as a satellite descends

lower in its orbit toward the Earth, and also increases with the cross-sectional surface

area of the satellite. The effect that drag has on orbits is to reduce the semi-major

axis and the eccentricity. The intuition for this comes from imagining the effect

of reducing the maximum kinetic energy of the satellite as it flies through perigee;

this causes the total mechanical energy of the orbit to fall, which is taken from the

maximum potential energy at apogee.

Oblate Earth (J2). The Earth’s oblateness refers to the equatorial bulge of

the planet. The planet’s radius at the equator is 21 kilometers larger than its polar

radii, which is likely due to centrifugal flexion over its lifetime. One effect that this

has on orbits is to ‘pull down’ their inclination, making them closer to equatorial.

This effect can be imagined by considering the gravitational torque that the extra

equatorial mass exerts on the satellite as it passes through its maximum and minimum

latitudes [3]. This torque in turn causes the orbit to precess, acting the same way

a top or a gyroscope would under the exertion of a similar torque. This precession

causes the ascending node to move westward with respect to the Earth, and is called

‘nodal regression.’ The magnitude of nodal regression decreases with altitude. A

third effect of Earth’s oblateness is ‘apsidal rotation,’ which describes the rotation of

the major axis of an eccentric orbit in the direction of motion of the satellite; it is a

function of orbital altitude, eccentricity, and inclination. Interestingly, orbits with an

inclination of exactly 63.4° experience no apsidal rotation, as this is the point along

the continuum of inclinations at which the apsidal rotation effect changes sign.

181

Third Body Effects. Gravitation due to other celestial bodies, such as from

Earth’s moon and the sun, have a non-negligible effect on satellites. Unlike drag and

oblate Earth effects, which are secular, third body effects become more dramatic at

higher altitudes, and are non-secular. However, this periodicity does not make it easy

to analyze or plan for; these effects are often treated stochastically. In interplane-

tary missions, orbit propagators increase the granularity of their computations as a

trajectory nears other attracting bodies.

Photon Pressure. Satellites that have a low mass-to-area ratio are especially

susceptible to momentum transfer from solar radiation. Although photons are mass-

less particles, they still impart momentum on incident surfaces, whether they are

reflected or absorbed. This perturbation is also non-secular, and the magnitude of

the disturbance force depends on the surface properties of the satellite. The direction

of the force, however, varies with orbital period, as would be expected.

Other Perturbations. There are several other perturbative forces which af-

fect satellites, including interaction with Earth’s magnetic field, momentum transfer

from thrusters or out-gassing substances, relativistic effects, and zonal and sectorial

harmonic irregularities of the distribution of Earth’s mass, to name a few. Though

not explicitly associated with orbit-changing perturbations, gravitational tidal forces

cause satellites to torque until their major body axis aligns with the radius vector,

often called ‘gravity gradient’ torque.

182

Appendix B

Nonlinear Solver Error Analysis

This appendix details the choice of nonlinear solver used to integrate the full

nonlinear equations of relative motion and produce the results from Chapter 2, and

an analysis of its accuracy compared to results from AGI’s Systems Tool Kit (formerly

Satellite Tool Kit) [36]. Unlike GPOPS-II, this solver is a built-in MATLAB function,

so these results can be reproduced using only a standard MATLAB license.

For tolerances, the quantity eps is used. Due to limited floating-point resolution

in MATLAB, there is no double-precision number between 1 and (1+eps). Thus, it

is not useful to specify absolute tolerance any smaller than the quantity eps, here

denoted ε, which is equal to 2.2204e-16. Relative tolerance is set to the lowest value

permitted by ode113 given the absolute tolerance.

The following statistics are produced for both ode113 and ode45 using the same

tolerances when attempting to numerically integrate the nonlinear Keplerian equa-

tions of relative motion for the 10-orbit, arbitrary initial condition problem from

Chapter 2. The solutions from both solvers were found to agree to within a frac-

tion of a millimeter. In comparison, ode113 obtains the solutions with the desired

precision faster and with fewer function evaluations. According to the MATLAB doc-

umentation, ode113 is better at solving problems with both smooth solution curves

and stringent error tolerances, as commonly occur in orbital dynamics problems.

183

ode113: ode45:

Absolute tolerance: ε ε

Relative tolerance: 100ε 100ε

Number of successful steps: 8071 15080

Number of failed attempts: 121 49

Number of function evaluations: 16264 90775

Total time: 40.3 s 510.05 s

Self time: 3.2 s 15.075 s

The nonlinear Keplerian equations of motion are modeled as a system of 6 dif-

ferential equations over 6 states: x, y, z, xd, yd, zd. Every time the differential

equations are evaluated, the orbital radius of the target is required, which (for ec-

centric target orbits) in turn necessitates that Kepler’s Problem be solved with each

evaluation. This is achieved by using MATLAB’s fzero function, with tolerances set

to the same values as ode113, and by instantiating the current mean anomaly as the

initial guess. To convert the eccentric anomaly to true anomaly, an arccosine needs to

be evaluated; since MATLAB’s acos function returns only real values on the interval

from 0 to pi, it is necessary to subtract the value from 2*pi radians when the target

is beyond apogee but not yet returned to perigee. This is to ensure that true anomaly

is monotonically increasing over the course of the orbit, which is vitally important for

this formulation of relative dynamics [34]. Of course, all angular anomalies should

only be monotonically increasing modulo 2*pi when time periods longer than a single

orbital period are specified.

In order to validate the results obtained in Chapter 2 using MATLAB’s ode113

solver, a highly-eccentric periodic trajectory scenario was modeled using STK’s Two-

Body orbit propagator. STK is a highly-trusted and extensively verified satellite

184

modeling software, and is considered to be the actual ‘ground truth’ for the Two-Body

solution. The STK scenario modeled a reference orbit with a one-sidereal-day period

and eccentricity of 0.7, followed by a true anomaly-matched chaser with δe = 0.0025.

The high-precision data presented has 1,437 entries, corresponding to a 60-second

time step from 0 seconds to 86,160 seconds. The same time vector was supplied to

ode113 to obtain very similar results. As is apparent from Figure B.1, the MATLAB

solver stays below 0.001% error for the majority of the orbit, but spikes near the orbit

terminus to nearly 0.004% error. This corresponds to a maximum radial error of 1.50

meters and a maximum in-track error of 3.66 meters.

0 1 2 3 4 5 6 7 8 9

Time (s) 104

0

1

2

3

4

%E

rro

r

10-3 Percent Error of ode113 compared to STK Two-Body propagator (range)

0 1 2 3 4 5 6 7 8 9

Time (s) 104

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

Pos

ition

(m)

105 Nonlinear Keplerian Motion - Solver Comparison

8.51704 8.517045 8.51705 8.517055

Time (s) 104

1m

X (STK)

Y (STK)X (ode113)

Y (ode113)

Figure B.1: Evaluation of ode113 solver accuracy compared to high-precision resultsfrom STK’s Two-Body propagator over a single orbit. etgt = 0.7, δe = 0.0025.

185

To investigate the error spike from the propagation of a single orbit, the same

comparison was extended to ten orbits with the same step size. The result is shown

in Figure B.2 below: range error spikes periodically around orbit perigee, where the

states are evolving quickly. Also, the baseline error slowly grows over time, with a

small bump in error at apogee beginning to form. Interestingly, there is an error spike

associated with every perigee except the initial one (at time t = 0), which seems to

further indicate that the discrepancy is primarily attributable to propagation. At the

end of ten orbits in this highly-eccentric reference orbit, absolute range error stays

belows 0.04%, the maximum radial error was 14.89 meters, and the maximum in-track

error was 36.55 meters.

0 1 2 3 4 5 6 7 8 9

Time (s) 105

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

Pos

ition

(m

)

105 Nonlinear Keplerian Motion - Solver Comparison (10 orbits)

0 1 2 3 4 5 6 7 8 9

Time (s) 105

0

0.01

0.02

0.03

0.04

%E

rro

r

Percent Error of ode113 compared to STK Two-Body propagator (range) (10 orbits)

Figure B.2: Evaluation of ode113 solver accuracy compared to high-precision resultsfrom STK’s Two-Body propagator over ten orbits. etgt = 0.7, δe = 0.0025.

186

While the highly-eccentric reference orbit case is a good scenario to test the ac-

curacy of the ode113 solver, it is not a particularly realistic scenario. With this in

mind, another 10-orbit analysis was performed with the same eccentricity differential,

but with a near-circular reference orbit (characteristic of some GEO communications

satellites, according to Celestrak [9]). In this case, the error grows more slowly, but

periodically peaks at both perigee and apogee; additionally, almost all of the error

is in the in-track coordinate. At the end of ten orbits at GEO, absolute range error

stays below 0.02%, the maximum radial error was 19.1 centimeters, and the maximum

in-track error was 15.33 meters.

0 1 2 3 4 5 6 7 8 9

Time (s) 105

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

Pos

ition

(m

)

105 Nonlinear Keplerian Motion - Solver Comparison (10 orbits)

0 1 2 3 4 5 6 7 8 9

Time (s) 105

0

0.01

0.02

0.03

0.04

%E

rro

r

Percent Error of ode113 compared to STK Two-Body propagator (range) (10 orbits)

Figure B.3: Evaluation of ode113 solver accuracy compared to high-precision resultsfrom STK’s Two-Body propagator over ten orbits. etgt = 0.0005, δe = 0.0025.

187

The following MATLAB function demonstrates how ode113 was used to produce

the results in Chapter 2.

1 function ProxOpsDemo()2 % This function is a demonstration of how to obtain3 % high-precision relative orbital trajectories using4 % MALTAB's ode113 solver to integrate the nonlinear5 % Two-Body Keplerian dynamics describing relative motion.6 % Z. Funke, 20177

8 clear yd0;9 syms yd0;

10

11 Re = 6378.137 * 1000; % Earth's mean equatorial radius [m]12 mu = 3.986004419e14; % Earth's grav. parameter [mˆ3/sˆ2]13 alt GEO = 35786 * 1000; % GEO altitude [m]14 alt LEO = 200 * 1000; % LEO altitude [m]15 alt ISS = 400 * 1000; % ISS altitude [m]16

17 % Begin user-modifiable section -------------------------------------18 a = Re + alt GEO; % Reference orbit semimajor axis [m]19 e = 0.7; % Reference orbit eccentricity20 t0 = 0; % Target's time ahead of perigee [s]21 de = 0.0025; % Differential eccentricity of chaser22 % Set y0 = 0 for target-centered trajectory.23 y0 = 0.5*a*de; % Initial in-track position of chaser24 % Set z0 = zd0 = 0 for coplanar trajectory.25 z0 = -0.5*a*de; % Initial cross-track pos of chaser26 zd0 = 20; % Initial cross-track vel of chaser27 num orbits = 1; % Number of orbits to propagate28 % End user-modifiable section --------------------------------------29

30 n = sqrt(mu/(aˆ3)); % Target mean motion31 P = 2*pi/n; % Target period32 tspan = [0 num orbits*P]; % Solver timespan33

34 % Instantiate target based on t0 by solving Kepler's Problem35 M 0 = mod(n*t0,2*pi);36 E 0 = fzero(@(E 0) E 0-e*sin(E 0)-M 0, M 0, ...37 optimset('Display','off','TolFun',eps,'TolX',eps));38 if E 0 < pi39 nu 0 = acos((cos(E 0)-e)/(1-e*cos(E 0)));40 else41 nu 0 = 2*pi - acos((cos(E 0)-e)/(1-e*cos(E 0)));42 end%if43 r tgt 0 = (a*(1-eˆ2))/(1+e*cos(nu 0));44 h tgt = sqrt(mu * a*(1-eˆ2));45 nu dot 0 = h tgt/(r tgt 0ˆ2);

188

46 nu ddot 0 = (-2*h tgtˆ2*e*sin(nu 0))/(r tgt 0ˆ4*(1+e*cos(nu 0)));47 rd tgt 0 = (r tgt 0*nu dot 0*e*sin(nu 0))/(1+e*cos(nu 0));48

49 % Chaser's initial position50 x0 = -a*de;51 %y0 set by user52 %zo set by user53 xd0 = 0;54 %yd0 set below to match energy55 %zd0 set by user56

57 r ch 0 = sqrt((r tgt 0+x0)ˆ2 + y0ˆ2 + z0ˆ2);58 % Solve vis-viva equation for yd0 that matches orbit energies59 yd0s = vpa(solve(-mu/(2*a) == ...60 0.5*((rd tgt 0 + xd0-nu dot 0*y0)ˆ2 + ...

(yd0+nu dot 0*(r tgt 0+x0))ˆ2 + zd0ˆ2) - mu/r ch 0,yd0));61 yd0 = double(yd0s(2));62

63 ICs = [x0; y0; z0; xd0; yd0; zd0];64

65 % Call ode113 nonlinear solver66 options = odeset('RelTol',1e2*eps,'AbsTol',eps, 'Stats','on');67 [T OUT,SOL OUT] = ode113(@Kepler fun,tspan, ICs,options);68 X NLEM = SOL OUT(:,1);69 Y NLEM = SOL OUT(:,2);70 Z NLEM = SOL OUT(:,3);71 XD NLEM = SOL OUT(:,4);72 YD NLEM = SOL OUT(:,5);73 ZD NLEM = SOL OUT(:,6);74

75 %---------- ODE function ---------76 function OUT = Kepler fun(t,input)77 x = input(1);78 y = input(2);79 z = input(3);80 xd = input(4);81 yd = input(5);82 zd = input(6);83 M = mod(n*(t + t0),2*pi);84 E = fzero(@(E) E-e*sin(E)-M, M, ...85 optimset('Display','off','TolFun',eps,'TolX',eps));86 if E < pi87 nu = acos((cos(E)-e)/(1-e*cos(E)));88 else89 nu = 2*pi - acos((cos(E)-e)/(1-e*cos(E)));90 end%if91 r tgt = (a*(1-eˆ2))/(1+e*cos(nu));92 nu dot = h tgt/(r tgtˆ2);93 rd tgt = (r tgt*nu dot*e*sin(nu))/(1+e*cos(nu));94 nu ddot = -2*rd tgt*nu dot/(r tgt);95 r ch = sqrt((r tgt+x)ˆ2 + yˆ2 + zˆ2);

189

96

97 % Nonlinear Equations of Relative Motion: State Derivatives98 OUT = [ xd;99

100 yd;101

102 zd;103

104 2*nu dot*yd + nu ddot*y + nu dotˆ2*x + ...105 mu/(r tgtˆ2) - mu/(r chˆ3).*(r tgt+x);106

107 -2*nu dot*xd - nu ddot*x + nu dotˆ2*y - ...108 mu/(r chˆ3).*y;109

110 -mu/(r chˆ3).*z ];111

112 end%subfunction113 %---------------------------------114

115 % Plot output: 2D116 figure();117 plot(T OUT,X NLEM,'b','LineWidth',2); hold on; grid on;118 plot(T OUT,Y NLEM,'r','LineWidth',2);119 plot(T OUT,Z NLEM,'g','LineWidth',2);120 xlabel('Time (s)');121 ylabel('Position (m)');122 title('Relative Position State Histories');123 legend('Radial','In-Track','Cross-Track');124

125 % Plot output: 3D126 figure();127 plot3(X NLEM,Y NLEM,Z NLEM,'Color',[0.2 0.1 0.8],'LineWidth',2); ...

hold on; grid on;128 plot3(0,0,0,'xk');129 plot3(0,0,0,'ok');130 axis equal;131 title('Relative Trajectory (Rotate Me!)');132 xlabel('Radial (m)');133 ylabel('In-Track (m)');134 zlabel('Cross-Track (m)');135 xl = 1.2*xlim; xlim(xl);136 yl = 1.2*ylim; ylim(yl);137 zl = 1.2*zlim; zlim(zl);138 plot3(xl,[0 0],[0 0],'--k');139 plot3([0 0],yl,[0 0],'--k');140 plot3([0 0],[0 0],zl,'--k');141

142 end%function

190

Appendix C

Quaternion Convention

C.1 Quaternion Convention for R/POTATO

Many aerospace systems use quaternions to describe attitude for a variety of

reasons. Unlike roll-pitch-yaw attitude interpretations, quaternions are continuous

and avoid problems such as gimbal-lock. Also, it is computationally straightforward to

calculate transformations with them and to propagate them over time. Additionally,

their dynamics are continuous and devoid of singularities. However, whenever using

quaternions it is essential to clearly describe which convention is used, as there are

various in common use.

A quaternion is a mathematical representation of a three dimensional orientation

and is comprised of both a three-dimensional vector part and one scalar component,

as shown below.

q =

~qq4

=

q1

q2

q3

q4

The convention used in this thesis is to place the vector component along the first

191

three elements of the quaternion and the scalar component as the fourth and final

element. When representing attitude, the unit quaternion is always used, such that

the norm |q| =√

q21 + q2

2 + q23 + q2

4 = 1. In essence, the quaternion is a rotation

operator that specifies the rotation of one reference frame to another. Though quater-

nions are somewhat less intuitive than roll-pitch-yaw angles to visualize, the easiest

way to understand them is to consider the rotation from one frame to the other as a

single rotation about some Euler axis (a three-dimensional unit vector). This can be

represented mathematically as follows:

q =

~e sin(θ/2)

cos(θ/2)

where e is the unit Euler axis and θ is the angle of rotation about the Euler axis

to rotate from one frame to the other.

There are at least twelve different ways to define a quaternion convention (hence the

dedication of an appendix to a thorough explanation). They are differentiated from

one another by answering the following questions:

Scalar component is first or last?

Coordinate system is left-handed or right-handed?

Quaternion operation is active (alibi) or passive (alias)?

if passive, quaternion transforms global-to-local or local-to-global?

It was mentioned previously that the convention in use places the scalar compo-

nent last in the quaternion. Like most quaternion conventions, this thesis uses a

right-handed coordinate system (though there are notable exceptions, such as the Jet

Propulsion Laboratory who use a left-handed convention for visual-inertial odometry,

192

SLAM, etc. [35]).

R/POTATO uses a ‘passive’ interpretation of the quaternion operator, which is

the most nuanced concept to understand about quaternion conventions. Often, this

is referred to as the ‘function’ of the quaternion operator: whether it performs a

rotation (active) or a transformation (passive). Mathematically, this function is the

following operation:

q⊗ v ⊗ q∗

That is, if q is an active quaternion, the vector v is rotated into a new reference frame;

on the other hand, if the quaternion is passive, the vector v is resolved into a new

reference frame. The above formula can be thought of as the ‘default operation’ of the

quaternion. To perform this operation, it is important to realize that the ⊗ operator

denotes quaternion multiplication, q∗ denotes the conjugate of the quaternion, and

the vector v must be represented as a 4-vector v by appending a zero where the scalar

component of a quaternion would be located (however, it is not necessary that v be

normalized). To illustrate the difference, consider being an inertially-fixed observer

looking at the 3-vector v. It has three components expressed in some reference frame

called A. There is some other reference frame of interest, B, that is oriented differently

than A. Then, there is an active quaternion q which rotates v from A to B, where

it is now a completely different vector w. To you, the vector’s orientation appears

to have actively changed. Contrast this with a vector transformation, where the

main difference is that the vector v would not appear to change at all. Instead, the

transformation simply assigns new component magnitudes to v based on its position

with respect to B instead of A; in effect, the vector vA is simply renamed to vB. A

good visualization of this description is shown in Figure 1A on the next page. Another

way to describe the difference between active and passive rotation is to simply say

193

that an active quaternion rotates the vector, whereas a passive quaternion rotates

the reference frame. These are effectively opposite actions. Thus, active and passive

quaternions are complex conjugates of each other (they denote rotations of opposite

signs about the same axis). Note that if both the vector and the frame are rotated,

this ‘undoes’ the operation; the resulting vector has the same components in Frame

B as it did in Frame A, and there is no longer a relationship between the frames.

xA

yA

zA

xB

yB

zB

Coordinate Frame A Coordinate Frame B

xA

yA

zA

vA

wA wB

xB

yB

zB

vB

Vector vA in Frame A Vector vB in Frame B

xA

yA

zA

xB

yB

zB

Vector wA in Frame A Vector wB in Frame B

Figure C.1: The difference between vector rotation (lower left) and vector resolution(middle right). If both are performed (lower right), the result is not meaningful whencompared to the original (middle left).

For a more in-depth discussion of active and passive rotations, further explanation

accompanied with examples can be found in Karsten’s paper. [15]

194

For completeness, it should also be mentioned that quaternion representations

are a so-called ‘double-cover’ of attitude, meaning that for every possible orientation,

there are exactly two distinct quaternions that describe it: namely q and −q. Simu-

lations, software, and kinematic propagators make no preference for one or the other.

However, −q is not to be confused with the quaternion conjugate q∗, in which only

the vector part is negated; the conjugate does correspond with a different rotation,

specifically the rotation opposite that described by q.

The kinematic equation for propagating quaternions is a function of the angular

rate of both the body and the global frames. For the convention used in this thesis,

it is:

q =1

2(q⊗ ωL − ωG ⊗ q) (5A)

Where ωL and ωG are the angular rate vectors of the local and global reference

frames, respectively, and are quaternion-multiplied by appending a zero in the scalar

position. The global rate vector is often taken to be zero for many formulations, in

which case the equation assumes its more commonly-seen form where the second term

is omitted. A word of caution: this equation may change when different conventions

are used. The other forms are given in [13]. Unfortunately, many of the differences in

quaternion conventions amount to simple inversions due to individual differences such

as passive or active function, and much confusion can arise when even numbers of

these inversions make two very different interpretations behave in a mathematically

identical fashion. The best policy is to always thoroughly understand the convention

in use and validate it in as many ways as needed to resolve any ambiguity.

An excellent and comprehensive reference on quaternions, conventions for using

them, and describing attitude kinematics with them can be found in [35].

195

SPHERES Proximity Operations

Position of Scalar Component Last Last

Coordinate Handedness Right-handed Right-handed

Operator Function Active Passive

Mapping Global → Local Local → Global

Table C.1: Comparison of quaternion conventions used by SPHERES Laboratory atMIT and the attitude formulation fo the optimal proximity operations problem inChapter 3.

One of the primary reasons for using a passive, local-to-global quaternion inter-

pretation is so that it can be easily converted to a vector-resolving direction cosine

matrix (DCM) with as little confusion-inducing caveat as possible. The ‘default op-

eration’ in Equation 3A is exactly equivalent to pre-multiplying the vector v by a

3-by-3 DCM; depending on whether the quaternion is active or passive, the DCM

will either rotate or resolve the vector, respectively.

q⊗ v ⊗ q∗ = Rv

R =

q24 + q21 − q22 − q23 2(q1q2 − q4q3) 2(q1q3 + q4q2)

2(q1q2 + q4q3) q24 − q21 + q22 − q23 2(q2q3 − q4q1)

2(q1q3 − q4q2) 2(q2q3 + q4q1) q24 − q21 − q22 + q23

Bear in mind that the above definition of the DCM R is valid only when q4 is the

scalar component of the quaternion (in practice, whenever the scalar component is

instead placed first, it is typically indexed with a zero to preserve the ‘1-2-3’ sequence

intuitive for describing the vector part). The DCM is always an orthogonal matrix,

so the following relationships are true:

196

qactive = q∗passive

Ractive = R−1passive = RTpassive

So, the fact that the quaternion used for proximity operations is ‘passive’ and

‘local-to-global’ means that it will resolve a body-frame vector into the LVLH frame

when that vector is pre-multiplied by the DCM. This interpretation is straightforward

for describing the dynamics of the attitude-coupled problem, where it is important

to resolve the chaser’s thrust vector into the LVLH reference frame.

The quaternion product with the angular rate vector in the quaternion kinematic

equation is more commonly expressed as a matrix product between a skew-symmetric

4-by-4 matrix and the quaternion. This skew-symmetric matrix may take one of two

forms, depending on whether there needs to be a pre- or post-multiplication of angular

rate in the quaternion product. For clarity, both forms are shown below.

Pre-Multiplying Post-Multiplying

by Angular Rate by Angular Rate

12ω ⊗ q 1

2q⊗ ω

= 12Ωpreq = 1

2Ωpostq

Ωpre =

0 −ω3 ω2 ω1

ω3 0 −ω1 ω2

−ω2 ω1 0 ω3

−ω1 −ω2 −ω3 0

Ωpost =

0 ω3 −ω2 ω1

−ω3 0 ω1 ω2

ω2 −ω1 0 ω3

−ω1 −ω2 −ω3 0

Table C.2: Comparison of skew-symmetric angular rate matrices for quaternion kine-matics, differing based on ordering of the quaternion product.

197

C.2 Partial Results from Minimum-Time Period

Matching

The intermediate results section of Chapter 4 explored the optimal period-matching

results for a fixed-final-time minimum-energy objective function. This section presents

partial results from the implementation of an attitude-coupled minimum-time period

matching maneuver. Because the minimum-time result is desired, it is necessary to

use the attitude-coupled acceleration model to respect thruster saturation. The re-

sult of the attitude-coupled minimum-time period matching analysis is shown in the

figures below, and was obtained by setting InclAttDynamics = 1 and MinTime = 1

along with PeriodMatch = 1.

In Figure C.2, the objective function used is J =∫ tft0

1 dt. The result is unex-

pected because the thruster does not execute extremal control, instead staying nearly

constant at an intermediate value. The reaction wheels appear to re-orient the thrust

vector in a half-rotation over the course of the thrusting phase. However, the reaction

wheel torque history exhibits ‘singular-like’ behavior similar to the previous control

solutions which contained ambiguity. This result is more likely the result of an ill-

posed problem than solver error.

198

0 2 4 6 8

Time (s) x 104

-6000

-4000

-2000

0

2000

Tran

slat

ion S

tate

(m

, m

/s) Translation State Histories

XYZX dotY dotZ dot

0 2 4 6 8

Time (s) x 104

-1

-0.5

0

0.5

1

Quat

ernio

n M

agnitude

Quaternion Histories

q1q2q3q4Phase

0 2 4 6 8

Time (s) x 104

-1

-0.5

0

0.5

1

Rot

atio

n R

ates

(ra

d/s

)

Rotation Rate Histories

wxwywzPhase Boundary

0 2 4 6 8

Time (s) x 104

0

0.1

0.2

0.3

0.4

0.5

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust LimitsThrustPhase Boundary

0 2 4 6 8

Time (s) x 104

-1

-0.5

0

0.5

1

Con

trol

Tor

que

(N-m

)

Reaction Wheel Torque History

Max/Min Torque LimitsTxTyTzPhase Boundary

0 2 4 6 8

Time x 104

0.999999999

0.9999999992

0.9999999994

0.9999999996

0.9999999998

1

1.0000000002

Ham

ilton

ian

Hamiltonian

0 20 40 60-1

0

1

0 20 40 60-1

-0.5

0

0.5

1

0 20 40 600 20 40 60

0

0.1

0.2

0.3

0.4

0.5

0 20 40 60

-1

-0.5

0

0.5

1

Figure C.2: Minimum-time period matching result. Intermediate thrust and reactionwheel torque are unexpected results for a minimum-time problem, possibly indicatingthat the problem was ill-posed for GPOPS-II. x0 = [100 110 250 0.1 0.1 0.1]T

-1500

-1000

-500

0

500

1000

RBAR

-5000-4500-4000-3500-3000-2500-2000-1500-1000-5000

VBAR

TrajectoryPhase BoundaryTarget / LVLH OriginInitial Position

1500

95

100

105

110

105110115120

Figure C.3: Minimum-time period matching trajectory.

199

In an attempt to resolve the apparent ambiguity in the attitude dynamics, the

objective function was reformulated to penalize reaction wheel energy expenditure:

J =

∫ tf

t0

1 +1

2

(τ 2x + τ 2y + τ 2z

)dt

The resulting control histories are cleaner; only the body-Z reaction wheel applies

torque, and the single thruster exhibits extremal control. However, the thrusting

phase occupies the maximum amount of time allotted, only applying extremal thrust

near the end of the phase. It appears that this cost formulation requires a low-energy,

zero-thrust slewing phase at the beginning of the trajectory, which can be seen in the

straight-line section of the 3D trajectory plot in Figure C.4.

200

0 50 100 150

Time (s)

-1

-0.5

0

0.5

1

Quat

ernio

n M

agnitude

Quaternion Histories

q1q2q3q4Phase

0 50 100 150

Time (s)

-0.03

-0.02

-0.01

0

Rot

atio

n R

ates

(ra

d/s

)

Rotation Rate Histories

wxwywzPhase

0 50 100 150

Time (s)

0

0.1

0.2

0.3

0.4

0.5

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min ThrustThrustPhase

0 50 100 150

Time (s)

-0.01

-0.005

0

0.005

0.01

Con

trol

Tor

que

(N-m

)

Control Torque History

TxTyTzPhase

Figure C.4: Attitude-coupled period-matching trajectory for chaser with one +Xthruster, objective function J =

∫ tft0

1 + 12

(τ 2x + τ 2y + τ 2z

)dt, and initial condition

x0 = [100 110 250 0.1 0.1 0.1]T

If the thruster bounds are modified to allow bidirectional thrust (simulating two

opposing thrusters along the body X axis), the result is slightly different. Instead

of an initial slewing phase, the thruster is always saturated, but switches direction

201

over the course of the maneuver. The first phase’s trajectory still occupies the entire

allotted time. This result is shown in Figure C.5.

0 50 100 150

Time (s)

-1

-0.5

0

0.5

1

Quat

ernio

n M

agnitude

Quaternion Histories

q1q2q3q4Phase Boundary

0 50 100 150

Time (s)

-0.01

-0.005

0

0.005

0.01

0.015

Rot

atio

n R

ates

(ra

d/s

)

Rotation Rate Histories

wxwywzPhase

0 50 100 150

Time (s)

-0.6

-0.4

-0.2

0

0.2

0.4

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min Thrust LimitsThrustPhase Boundary

0 50 100 150

Time (s)

-4

-2

0

2

4

6

8

Con

trol

Tor

que

(N-m

)

x 10-3 Control Torque History

Max/Min Torque LimitsTxTyTzPhase Boundary

TrajectoryPhase BoundaryTargetInitial Position

240

245

250

255

260

80

265

270

Cro

ss-T

rack

[m

]

275

280

Radial [m]

100120

In-Track [m]

110120 100

-500010000-5000

0

Cro

ss-T

rack

[m

]

5000

In-Track [m]Radial [m]

50000

05000

Figure C.5: Attitude-coupled period-matching trajectory for chaser with both +X and-X thrusters, objective function J =

∫ tft0

1 + 12

(τ 2x + τ 2y + τ 2z

)dt, and initial condition

x0 = [100 110 250 0.1 0.1 0.1]T

202

0 5 10 15 20 25 30 35

Time (s)

-1

-0.5

0

0.5

1

Quat

ernio

n M

agnitude Quaternion Histories

q1q2q3q4Phase

0 5 10 15 20 25 30 35

Time (s)

-1

-0.5

0

0.5

1

Rot

atio

n R

ates

(ra

d/s

)

Rotation Rate Histories

wxwywzPhase

0 5 10 15 20 25 30 35

Time (s)

0

0.1

0.2

0.3

0.4

0.5

Con

trol

Thru

st (

N)

Thruster Control History

Max/Min ThrustThrustPhase

0 5 10 15 20 25 30 35

Time (s)

-1

-0.5

0

0.5

1

Con

trol

Tor

que

(N-m

) Reaction Wheel Torque History

Max/Min TorqueTxTyTzPhase Boundary

TrajectoryPhase BoundaryTargetInitial Position

Figure C.6: Result from the single-thrust-vector case when the time allotted forthe thrusting phase is decreased from 100 seconds to 20 seconds. J =

∫ tft0

1 +12

(τ 2x + τ 2y + τ 2z

)dt, and initial condition x0 = [100 110 250 0.1 0.1 0.1]T

These results indicate that a ‘pseudo-minimum-time’ period-matching result can

be obtained by augmenting the objective function with a control torque energy

penalty, but the final time for the maneuver must be specified (Figure C.6 is the

result of shortening the allotted time from 100s to 20s). This is less useful than a true

minimum-time result, where the final time is left as a free parameter to be optimized.

Further analysis on the attitude-coupled formulation should reveal the source of the

observed ambiguity and the proper way to pose the problem to obtain the desired

result, and this preliminary analysis with R/POTATO offers a starting point.

203

204

Appendix D

List of R/POTATOUser-Specifiable Parameters

This appendix provides a table of flags and parameters that were designed to beuser-modifiable in the Instantiation Shell of R/POTATO. The tool can be downloadedat the following URL: https://github.com/zfunke7/R-POTATO.

Incl_Att_Dynamics Uses the attitude-coupled 6-DOF dynamics (3-DOF is default)

Min_Time Sets the objective function to minimize maneuver timeSched_Pol If MinTime is set, this enforces a ‘regulate, then wait’ policy to

resolve scheduling ambiguity for 3-DOF problemHybrid_Opt If MinTime is set, determine time to regulate limiting coordinate,

and optimize non-limiting coordinates for minimum energy on thattime interval (alternative to SchedPol for 3-DOF problem)

Min_Fuel Sets the objective function to minimize fuel expenditureOne_Phase Attempts to solve Min Fuel problem in one phaseThree_Phase Allocates three phases (bang-off-bang) for Min Fuel problemBang_Width Specifies max width of ‘bang’ periods for ThreePhase Min FuelDecoup_Bang Decouples bang on-times for in-plane vs. out-of-plane coordinates

Quadratic_Cost Sets the objective function to an LQR-like function of the stateand control inputs

Q_R_ratio Numeric value specifying the relative weighting of state regulationversus control energy expenditure

Min_Energy Sets the objective function to minimize control energy expenditure

Max_Time Specifies the maximum maneuver time for the first phase (MinEn-ergy and MinFuel only)

Table D.1: List of user-modifiable parameters specifying the objective function to beoptimized along the trajectory.

205

Target_Point Instantiates the problem as a single-phase maneuver regulating thestate to zero (except attitude, if applicable)

Avoid_FOV If set, enforces no-fly zone in nadir FOV of targetFOV Numeric value specifying the FOV of the target in degreesFOV_buff Numeric value specifying the angular size in degrees of the buffer

around the no-fly zoneTarget_Ellipse Instantiates the problem as a two-phase maneuver, where the sec-

ond phase is on a free-orbit trajectoryalpha Numeric value specifying the semi-major axis (i.e., size) of the free-

orbit trajectory [m]zeta Numeric value specifying the cross-track inclination of the free-

orbit trajectory [deg]gamma Numeric value specifying the angle between the free-orbit line of

nodes and the -X axis, measured in the direction of motion (i.e.,nodal azimuth) [deg]

Vbar_Offset Numeric value specifying the in-track offset of the center of thefree-orbit trajectory from the LVLH origin [m]

coast If set, this prohibits thruster firing during the free-orbit phase. Ifnot set, this causes path constraints to be enforced in second phase

range_path If coast not set, enforce a constant-range path constraint in secondphase

range Specifies value for constant-range path constraint, if activatedperiod_path If coast not set, enforce a period-matching constraint for second

phasecenter_path If coast not set, enforce the location of the center of the ellipse as

a path constraintcenter Specifies value of center location path constraint, if set

Period_Match If set, the chaser’s goal is only to null its secular relative dynamicsThrustTime If the objective is Min Time with attitude dynamics, specify the

maximum duration of the thrusting phase

Table D.2: List of user-modifiable parameters specifying the desired endpoint dynam-ics and path constraints.

206

Nonlinear Uses nonlinear Keplerian relative dynamics (Clohessy-Wiltshire isdefault)

e Sets the eccentricity of the reference orbitnum_nu_points Specifies the granularity of the pre-populated true anomaly look-up

table

de_ONIf set, activates the endpoint constraint specifying the size of theperiodic trajectory

x_sizeSpecifies the desired maximum radial extent of the periodic trajec-tory

dw_ONIf set, activates the endpoint constraint specifying the differentialargument of perigee (or differential true anomaly) of the periodictrajectory

dwSpecifies the desired value of the cosine of δω or the angular differ-ence between νtgt and νch

di_ONIf set, activates the endpoint constraint specifying the differentialinclination of the periodic trajectory

diSpecifies the desired value of the cosine of δi, or equivalently, thecosine of the angle between the chaser’s and the target’s angularmomentum vectors expressed in the LVLH frame

dG_ONIf set, activates the endpoint constraint specifying the azimuth ofthe local ascending node of the periodic trajectory

dGSpecifies the desired value of the cosine of δΓ, or equivalently, thecosine of the angle between the local ascending node vector (crossproduct of local angular momentum vectors) and the differentialeccentricity vector expressed in the LVLH frame

enforce_CW_ellipse If coast not set, this changes the objective to a control-averse LQRcost enforcing a target-centered 2-by-1 free orbit ellipse during asingle phase. This overrides any objective specified in Table D.1.

CW_alpha Specifies the semimajor axis of the 2-by-1 ellipse to enforce. Note:this overwrites the user-specified initial condition to instantiate thechaser along this trajectory.

CW_zeta Specifies the inclination of the commanded ellipse about the in-track axis.

Mnvr_Epoch Specifies the time after perigee that the maneuver should begin(only for Nonlinear)

Table D.3: List of user-modifiable parameters for analyzing trajectories with non-linear Keplerian relative dynamics. Note: items in red indicate periodic trajectoryspecification parameters that are currently poorly scaled and not sufficiently vali-dated.

207

MeshTolerance Sets the mesh tolerance for GPOPS-IIAutomaticBounds Tells GPOPS-II to use a scaling method that is based on the given

bounds (In some cases, causes convergence to local minima, butcan make search space more manageable)

MaxIPOPTIters Specifies the maximum number of NLP solver iterations per meshrefinement

MaxMeshIters Specifies the maximum number of times for GPOPS-II to performadaptive mesh refinement

ColPointsMin Specifies the minimum number of collocation pointsColPointsMax Specifies the maximum number of collocation pointsMaxRange LVLH position coordinate maximum for problem [m]MaxVel LVLH velocity coordinate maximum for problem [m/s]

HallEffectThrust Sets the maximum thruster force to 0.5 NewtonsHydrazineMonoProp Sets the maximum thruster force to 22 NewtonsLEO Sets the reference orbit semi-major axis to 400km + R⊕. Used for

determining orbital rate (n or ν)GEO Sets the reference orbit semi-major axis to 35,786km + R⊕. Used

for determining orbital rate (n or ν)m Sets the vehicle mass (remains constant for the problem) [kg]I Sets the vehicle inertia matrix (if non-diagonal inertia desired, must

generalize calculations in Continuous) [kg·m2]Thrust_dir 3-vector which specifies the body-axis direction(s) of thrust (only

for 6-DOF formulation)Tmax Sets the maximum reaction wheel torque

Table D.4: List of user-modifiable solver parameters and vehicle physical properties.

208

Load_ICs If set, load initial condition from LoadICs.m, ignoring the oneset below

load_str A string that is the input into LoadICs.m, choosing the pre-setIC of interest

Load_Prev_Finalstate If set, load initial condition from the final condition of the pre-vious run, ignoring the one set below

x_0 Initial radial position [m]y_0 Initial in-track position [m]z_0 Initial cross-track position [m]xdot_0 Initial radial velocity [m/s]ydot_0 Initial in-track velocity [m/s]zdot_0 Initial cross-track velocity [m/s]q_1_0 Initial quaternionq_2_0 Initial quaternionq_3_0 Initial quaternionq_4_0 Initial quaternionw_x_0 Initial angular rate about body X-axis [rad/s]w_y_0 Initial angular rate about body Y-axis [rad/s]w_z_0 Initial angular rate about body Z-axis [rad/s]

Plot3D_Trajectory In addition to state, control, and Hamiltonian histories, producea 3-dimension plot of the chaser’s trajectory from the problemoutput

MakeAnimation If set, generate an .avi movie of the trajectory (saved in thecurrent directory)

View Integer between 1 and 4 specifying the camera viewpoint for themovie

movie_rot_rate For 3D views of the movie, specify the camera rotation ratemovieName Specify a name for the .avi movie output file

Table D.5: List of user-modifiable initial condition information and data visualizationoptions.

209

210

Bibliography

[1] K. T. Alfriend, S. R. Vadali, P. Gurfil, J. How, and L. Breger. Spacecraft For-mation Flying: Dynamics, Control, and Navigation. Butterworth-Heinemann,November 2009.

[2] B. Barbee, R. Carpenter, S. Heatwole, F. L. Markley, M. Moreau, B. J. Naasz,and J. Van Eepoel. Guidance and Navigation for Rendezvous and Proximity Op-erations with a Non-Cooperative Spacecraft at Geosynchronous Orbit. Journalof Astronautical Sciences, 58(3), July 2011.

[3] R. R. Bate, D. D. Mueller, and J. E. White. Fundametals of Astrodynamics.Dover Publications, Inc., New York, 1971.

[4] R. Bevilacqua. Optimization Techniques for Satellites Proximity Maneuvers.PhD thesis, Sapienza University of Rome, 2006.

[5] A. D. Biria and R. P. Russell. Periodic Orbits in the Elliptical Relative Mo-tion Problem with Space Surveillance Applications. In AAS/AIAA SpaceflightMechanics Meeting, volume 152, January 2014.

[6] G. Boyarko, O. Yakimenko, and M. Romano. Optimal Rendezvous Trajectoriesof a Controlled Spacecraft and a Tumbling Object. Journal of Guidance, Control,and Dynamics, 34(4), August 2011.

[7] G. A. Boyarko. Spacecraft Guidance Strategies for Proximity Maneuvering andClose Approach With a Tumbling Target. PhD thesis, Naval Postgraduate School,March 2010.

[8] A. E. Bryson and Y.-C. Ho. Applied Optimal Control. Hemisphere PublishingCorporation, revised printing edition, 1975.

[9] NORAD Two-Line Element Sets: Geostationary Communications Satellites,March 2017. https://celestrak.com/NORAD/elements/geo.txt.

[10] W. Clohessy and R. Wiltshire. Terminal Guidance System for Satellite Ren-dezvous. Journal of the Aerospace Sciences, 27(5):653–658, 674, 1960.

211

[11] R. Epenoy. Fuel optimization for continuous-thrust orbital rendezvous with col-lision avoidance constraint. Journal of Guidance, Control, and Dynamics, 34(2),March 2011.

[12] W. Fehse. Automated Rendezvous and Docking of Spacecraft. Cambridge Uni-versity Press, 2003.

[13] Z. Funke. Introduction to Quaternions. Technical report, MIT Space SystemsLab, 2016.

[14] G. Gaias, S. D’Amico, and J.-S. Ardaens. Angles-only navigation to a nonco-operative satellite using relative orbital elements. Journal of Guidance, Control,and Dynamics, 37(2), March 2014.

[15] K. Großekatthoffer and Z. Yoon. Introduction into quaternions for spacecraftattitude representation. Technical University of Berlin, 2012.

[16] G. Gugliotta. Nominee Backs a Review of NASA’s Hubble Decision. The Wash-ington Post, April 2005.

[17] P. Gurfil. Relative Motion Between Elliptic Orbits: Generalized BoundednessConditions and Optimal Formationkeeping. Journal of Guidance, Control, andDynamics, 28(4), July 2005.

[18] S. R. Hall. 16.323 Lecture 8: GPOPS-II Optimization Software. MassachusettsInstitute of Technology, March 2016.

[19] J. P. How and M. Tillerson. Analysis of the Impact of Sensor Noise on FormationFlying Control. In Proceedings of The American Control Conference, June 2001.

[20] G. Inalhan, M. Tillerson, and J. P. How. Relative Dynamics and Control ofSpacecraft Formations in Eccentric Orbits. Journal of Guidance, Control, andDynamics, 25(1), January 2002.

[21] D. Izzo and M. Sabatini. Magic (Special) Inclinations for Formation Flying.Technical report, 2008.

[22] C. M. Jewison. Guidance and Control for Multi-stage Rendezvous and DockingOperations in the Presence of Uncertainties. PhD thesis, Massachusetts Instituteof Technology, June 2017.

[23] M. H. Kaplan. Modern Spacecraft Dynamics and Control. New York, John Wileyand Sons, Inc., 1976. 427 p., 1976.

[24] C. D. Karlgaard. Second-Order Relative Motion Equations. Master’s thesis,Virginia Polytechnic Institute and State University, July 2001.

212