choreography on elliptical orbit

135
MASTER IN S PACE E NGINEERING GUIDANCE,NAVIGATION AND CONTROL Choreography on Elliptical Orbit Author: Renato VOLPE Supervisors: Prof. Christian CIRCI Prof. Massimiliano VASILE March 14, 2016

Upload: renato-volpe

Post on 14-Jul-2016

31 views

Category:

Documents


5 download

DESCRIPTION

Master's Thesis in Space Engineering on GNC for optimal docking maneuver with non-cooperative, free rotating target on elliptical orbit

TRANSCRIPT

Page 1: Choreography on Elliptical Orbit

MASTER IN SPACE ENGINEERING

GUIDANCE, NAVIGATION AND CONTROL

Choreography on Elliptical Orbit

Author:

Renato VOLPE

Supervisors:

Prof. Christian CIRCI

Prof. Massimiliano VASILE

March 14, 2016

Page 2: Choreography on Elliptical Orbit

"Routine keeps me in lineHelps me pass the timeConcentrates my mind

Helps me to sleep"

Steven Wilson

Page 3: Choreography on Elliptical Orbit

TABLE OF CONTENTS

Page

List of Tables iv

List of Figures v

Introduction vii

1 Theoretical Background 11.1 Dynamical Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Tschauner-Hempel equations . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.2 Tschauner-Hempel equations in true anomaly . . . . . . . . . . . . 3

1.1.3 Atmospheric Drag Perturbation . . . . . . . . . . . . . . . . . . . . . 4

1.2 Guidance: mission strategy and maneuver design . . . . . . . . . . . . . . . 6

1.2.1 Approach and Docking Points computation . . . . . . . . . . . . . . 10

1.3 Guidance: Approach Trajectory optimization via inverse method . . . . . . 11

1.3.1 Parameterization in time . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3.2 Parameterization in true anomaly . . . . . . . . . . . . . . . . . . . . 14

1.3.3 Solution of the inverse optimization problem . . . . . . . . . . . . . 18

1.4 Guidance: Docking Trajectory computation . . . . . . . . . . . . . . . . . . . 19

1.5 Guidance: Keep Out Coat (KOC) . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.6 Guidance: chaser’s attitude maneuver . . . . . . . . . . . . . . . . . . . . . . 26

1.7 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.7.1 Extended Kalman Filter (EKF) . . . . . . . . . . . . . . . . . . . . . . 31

1.7.2 Unscented Kalman Filter (UKF) . . . . . . . . . . . . . . . . . . . . . 35

1.7.3 Unscented H Infinity Filter (UHF) . . . . . . . . . . . . . . . . . . . 37

1.7.4 Measurements Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

1.8 Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

ii

Page 4: Choreography on Elliptical Orbit

TABLE OF CONTENTS

1.8.1 Thrusters profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

1.8.2 Pulse Width Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2 GNC Simulation Tool 502.1 Library Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.2 Structure of the code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.3 Guidance block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

2.3.1 COATGS Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.4 GNC LOOP block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3 Results 623.1 Guidance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.1.1 Parameterization and Degree Study . . . . . . . . . . . . . . . . . . . 64

3.1.2 Unconstrained Maneuver Time: Degree Study . . . . . . . . . . . . 72

3.1.3 Unconstrained Time Study: Initial Conditions . . . . . . . . . . . . 76

3.1.4 Unconstrained Maneuver Time Study: Rotating Target . . . . . . . 78

3.1.5 KOS vs KOC Approach . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.2 Navigation: Filters Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . 86

3.3 Control Strategies Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . 93

3.4 First Test Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

3.5 Second Test Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

3.6 Monte Carlo Simulation: Target’s Orbital Elements Uncertainties . . . . . 114

Conclusions 117

A Coordinate Transformation from ECI to HILL frame 119

B Differentiation of DCOE Parameterization 121

Acknowledgments 123

Bibliography 125

iii

Page 5: Choreography on Elliptical Orbit

LIST OF TABLES

TABLE Page

3.1 Guidance study data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.2 Minimum Delta v comparison for different parameterizations. . . . . . . . . . 66

3.3 Parameterization and degree study: final summary. . . . . . . . . . . . . . . . . 71

3.4 Pareto Front study with polynomials. Minimum Delta v points. . . . . . . . . . 74

3.5 Reference configuration vs pareto study best configuration. . . . . . . . . . . . 76

3.6 Pareto Front initial conditions variation study. Set of initial conditions. . . . . 77

3.7 Pareto Front initial conditions variation study. Results. . . . . . . . . . . . . . 78

3.8 KOS vs KOC approaches study. Input Data. . . . . . . . . . . . . . . . . . . . . 82

3.9 KOS vs KOC approaches study. Approach state vectors. . . . . . . . . . . . . . 83

3.10 KOS vs KOC approaches study. Delta v. . . . . . . . . . . . . . . . . . . . . . . . 84

3.11 Navigation data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.12 Navigation: mean errors comparison. . . . . . . . . . . . . . . . . . . . . . . . . 89

3.13 Navigation: final errors comparison. . . . . . . . . . . . . . . . . . . . . . . . . . 90

3.14 Control data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

3.15 Closed Loop control. Continuous vs Digital. . . . . . . . . . . . . . . . . . . . . . 96

3.16 Test case simulation data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

3.17 Second test case simulation data. . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

3.18 Test case 2. Mean desired and estimated relative position and velocity errors. 108

3.19 Monte Carlo simulation results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

iv

Page 6: Choreography on Elliptical Orbit

LIST OF FIGURES

FIGURE Page

1.1 Keep Out Sphere (KOS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 Keep Out Coat (KOC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3 Chaser’s attitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.4 Generic sequential filter flow chart. . . . . . . . . . . . . . . . . . . . . . . . . . 32

1.5 Azimuth and Elevation angles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

1.6 Target’s elevation angles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

1.7 Target’s azimuth angles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.1 Code’s main scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2.2 Guidance block scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

2.3 COATGS routine flow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

2.4 GNC LOOP block scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.1 Degree study with polynomial parameterization. . . . . . . . . . . . . . . . . . 65

3.2 Degree study with Fourier parameterization. . . . . . . . . . . . . . . . . . . . . 66

3.3 Degree study with DCOE parameterization. . . . . . . . . . . . . . . . . . . . . 67

3.4 Degree study, parameterization comparison. . . . . . . . . . . . . . . . . . . . . 68

3.5 Computational time vs free coefficients. . . . . . . . . . . . . . . . . . . . . . . . 70

3.6 Degree study, polynomial in time vs polynomial in true anomaly. . . . . . . . . 72

3.7 Pareto front for polynomial parameterization. Degree study. . . . . . . . . . . 73

3.8 Pareto Front study with polynomials. Minimum Delta v points vs polynomial

degree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.9 Pareto Front initial conditions variation study. . . . . . . . . . . . . . . . . . . . 77

3.10 Minimum Delta v vs initial relative distance. . . . . . . . . . . . . . . . . . . . . 79

3.11 Minimum Delta v vs maneuver time. Rotating target. . . . . . . . . . . . . . . 80

3.12 KOS and KOC approaches Trajectories. . . . . . . . . . . . . . . . . . . . . . . . 85

v

Page 7: Choreography on Elliptical Orbit

LIST OF FIGURES

3.13 EKF estimation errors and covariances. . . . . . . . . . . . . . . . . . . . . . . . 89

3.14 UKF estimation error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

3.15 UHF estimation error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

3.16 EKF, UKF and UHF position and velocity estimation errors comparison. . . . 92

3.17 Open Loop control, desired position and velocity errors. . . . . . . . . . . . . . 95

3.18 Relative position and velocity errors for continuous and digital Closed Loop

controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

3.19 Continuous and digital Closed Loop control profiles. . . . . . . . . . . . . . . . 99

3.20 Test case 1. True, Desired and Estimated state components. . . . . . . . . . . . 104

3.21 Test case 1. Estimation, desired and mission errors. . . . . . . . . . . . . . . . . 105

3.22 3D true, desired and estimated trajectory. Test case 1. . . . . . . . . . . . . . . 106

3.23 Discretized thrusts profiles of the six thrusters. . . . . . . . . . . . . . . . . . . 106

3.24 Pulse Width Modulation Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

3.25 Test case 2. True, Desired and Estimated state components. . . . . . . . . . . . 110

3.26 Test case 2. Estimation, desired and mission errors. . . . . . . . . . . . . . . . . 111

3.27 Test case 2. 3D true, desired and estimated trajectory plots. . . . . . . . . . . . 112

3.28 Test case 2. 3D true, desired and estimated trajectory plots. . . . . . . . . . . . 113

vi

Page 8: Choreography on Elliptical Orbit

INTRODUCTION

Autonomous formation flying and docking can enable new solutions for space systems

designers in various scenarios. A first important field of application is on-orbit servic-

ing. Here, the development of an autonomous system would enable the possibility to

accomplish tasks such as satellite inspection, refurbishing and refueling. In the field of

debris removal, whose importance grows day by day with every mission dismissal, an

autonomous docking system would guarantee the possibility to install special de-orbiting

kits which help with the re-entry of the target by thrusting it into the atmosphere.

Multi-docking operations would be possible if there was the possibility to design a swarm

of autonomous chasers which can communicate with each other. Moreover, leaving aside

the earth environment, a completely autonomous system would make safer and less

riskier asteroid’s approach and landing phases.

Increased autonomy can allow for greater survivability when failures occur, especially

when other spacecrafts are in close proximity, when the transmission delay is too long

for ground control to react to contingencies within a safe time frame or when the

communication bandwidth is too limited to transmit all the relevant state information in

real-time to the ground controllers. During close proximity operations like docking, the

safe time frame to react to contingencies can be even more reduced when the target has

lost control over one or more of its axis and is tumbling freely. Solar panels, antennas

and other extrusions then become obstacles that can put the survival of both the chaser

and the target in jeopardy.

The objective of this research is to develop a GNC architecture that will enable safe

and fuel-efficient docking of a thruster based satellite with a freely tumbling target on

elliptical orbit in presence of obstacles.

A simulation tool will be designed and realized which is numerically testing the GNC

architecture developed. The following requirements have been identified as the crucial

features that we want our simulation tool to have:

• Accuracy: modeling the system in a way that gives results as close as possible to

vii

Page 9: Choreography on Elliptical Orbit

INTRODUCTION

reality;

• Performance: accomplishing the docking maneuver in the most fuel-efficient way;

• Safety: accomplishing the docking maneuver without any loss of the system;

• Precision: accomplishing the mission with the lowest errors on the chaser’s state

vector;

• Versatility: making the simulation tool applicable to the highest variety of possible

scenarios.

The requirements highlighted can be met by an accurate development of the single

blocks a GNC system is made up.

The dynamic equations used to model the system are taking care of the accuracy of

the results we get from the simulations. Of course the goal is to include in the equations

all the terms that are helping to describe the system as close to reality as possible, but

on the other hand we want to keep the equations as simple as possible and use different

sets of them in each situation.

The task of the Guidance block is to compute the desired trajectory for the docking

maneuver. As this is the reference trajectory that the chaser is following throughout the

maneuver, we want it to have two important features: high performance and safety. The

first is achieved by optimizing the trajectory trough an inverse optimization problem in

which a minimum for the fuel-consumption is searched. The safety feature is guaranteed

by means of a collision avoidance approach.

The Navigation and Control systems are taking care of respectively estimating the

system’s state and making the true, i.e. the estimated state converge to a pre-defined

desired trajectory. Both of these blocks are then fulfilling the task of lowering the mission

errors associated state estimation and control.

Lastly, the versatility of the simulation tool can be achieved by cleverly structuring

the code. The GNC blocks’ algorithms are implemented into a code whose structure

is determining the capability of using it in a certain variety of situation. The code’s

structure is also determining how user-friendly is the tool.

In Chapter 1 the theoretical background needed to completely understand all the

aspects of what’s behind the GNC tool is presented. We will go through the explanation

of the various dynamical models used, the Guidance design and optimization process,

the filters used in the Navigation’s estimation process and the Control approaches.

viii

Page 10: Choreography on Elliptical Orbit

INTRODUCTION

In Chapter 2 the code’s structure is analyzed in depth and the simulation tool’s flow

chart is explained in every aspect. Emphasis is put on the Guidance block’s trajectory-

definition routines, which include the optimization process and collision avoidance check.

In Chapter 3 the results are presented. Firstly some comparisons are carried out so

that the best design choice is found for each system. Then some generic output of the

complete simulation tool is shown. Lastly, a Monte Carlo simulation is carried out to

prove the tool’s robusteness to some uncertainties in target’s orbital elements.

ix

Page 11: Choreography on Elliptical Orbit

CH

AP

TE

R

1THEORETICAL BACKGROUND

1.1 Dynamical Model

1.1.1 Tschauner-Hempel equations

As I approached this study I wanted the result of my work to be as generally

applicable as possible. Thus, in order to create a complete and generic GNC tool

for autonomous rendezvous and docking, the dynamics implemented must be

accurate at the point that they reflect what is exactly going on in the real world.

For a rendezvous, approach and/or docking problem, the well-known relative dynamic

equations are used

(1.1) ρ+2ω0 ×ρ+ ω0 ×ρ+ω0 ×(ω0 ×ρ

)=− µ

||r0 +ρ||3(r0 +ρ

)+ µ

r30r0 +P 1 −P 0

where:

• the subscripts (0) and (1) refers respectively to target’s and chaser’s quantities;

• ρ is the relative distance vector pointing from target to chaser;

• ω0 is the target’s orbital angular velocity vector;

• ω0 is the target’s orbital angular acceleration vector;

1

Page 12: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

• µ= 398600.4km3/s2 is the Earth’s planetary constant;

• r0 is the target’s position vector in ECI1 frame;

• P 0 and P 1 are the perturbations acting on both the target and the chaser.

The previous equations are obtained considering the separate inertial dynamics of

the two bodies, which are expressed by the Kepler’s universal gravitational law, and then

subtracting and differentiating them (ρ = r1 −r0, ρ = r1 − r0, ρ = r1 − r0).

Note that equation (1.1.1) are expressed in the Hill coordinate frame2, as the Coriolis

and centrifuge terms, introduced by the target’s orbital motion, have been included in

the left-hand side of the equation.

As the target can be a non-operative satellite or a space debris, its orbit is likely no

more under control, so it is generally elliptical. Therefore, the target’s orbital angular

acceleration can be a non-zero vector. However, both the target’s orbital angular veloc-

ity and acceleration are vectors parallel to the instantaneous target’s orbital angular

momentum

ω0 (t)= (0, 0,ω0 (t))T ω0 (t)= (0, 0, ω0 (t))T(1.2)

ω0 (t)= hr2

0ω0 (t)=−2hvr

r30

(1.3)

where h is the target’s instantaneous orbit’s angular momentum and vr is the target’s

radial velocity3.

Taking into account equation (1.3), the relative dynamics equations can be split

into their three-axis components equations, the so-called Tschauner-Hempel (TH)

equations1The ECI (Earth Centered Inertial) frame is an inertial frame centered in Earth’s barycenter, with the

x-axis pointing towards the vernal equinox and the z-axis directed along the direction of Earth’s rotationvector.

2The Hill coordinate frame is an orbital frame centered in the target’s center of mass, with the x-axisdirected along the r0 vector, y-axis directed along target’s velocity and z-axis directed along target’sinstantaneous orbital angular momentum.

3The radial velocity of a spacecraft can be expressed by the following:

(1.4) vr =µ esin fh

where e and f are respectively target’s eccentricity and true anomaly.

2

Page 13: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

x = 2ω0 y+ ω0 y+ω20x− µ

||r0 +ρ||3 (r0 + x)+ µ

r20+P1,x −P0,x(1.5a)

y=−2ω0 x− ω0x+ω20 y− µ

||r0 +ρ||3y+P1,y −P0,y(1.5b)

z =− µ

||r0 +ρ||3z+P1,z −P0,z(1.5c)

These non linear equations can be solved uniquely by previously solving the target’s

inertial dynamics equations, so to obtain the history of the target’s position vector r0.

For small values of x, y and z (components of ρ vector), the linearized versions of TH

equations can be used

x = 2ω0 y+ ω0 y+ω20x+2

µ

r20

x+P1x −P0x(1.6a)

y=−2ω0 x− ω0x+ω20 y− µ

r30

y+P1y −P0y(1.6b)

z =− µ

r30

z+P1z −P0z(1.6c)

which still requires the resolution of the target’s dynamic.

1.1.2 Tschauner-Hempel equations in true anomaly

In order to avoid the target’s inertial dynamics computation, a different set of TH

equations can be taken into account.

We recall the fact that

r0 =a

(1− e2)

1+ ecos f(1.7)

ω0 = f = n (1+ ecos f )2(1− e2

)3/2(1.8)

with:

• a: target’s orbit’s semi-major axis;

• e: target’s orbit’s eccentricity;

• f : target’s orbit’s true anomaly;

• n: target’s mean motion (n =√µ/a3 );

3

Page 14: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

By substituting (1.7) and (1.8) into (1.6) one can obtain a set of equations where

the target’s orbit is entirely expressed by the evolution in time of the true anomaly

( f (t)). However, the dependence of f from t is described by the well known Kepler

equation, the resolution of which has to be computed along the TH equations. To avoid

this computation, one can consider the true anomaly f as the independent variable of

the TH equations.

Considering that

x = x′ f(1.9)

x = f 2x′′+ f x′(1.10)

the linearized Tschauner Hempel equations can now be expressed in term of the true

anomaly

X=A f X(1.11a)

A f =

0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 13+ecos f1+ecos f − 2esin f

1+ecos f 0 2esin f1+ecos f 2 0

2esin f1+ecos f

ecos f1+ecos f 0 −2 2esin f

1+ecos f 0

0 0 − 11+ecos f 0 0 2esin f

1+ecos f

(1.11b)

It is important to stress the fact that equations (1.11) describe the same dynamic

equations (1.6) are describing, yet the former are much simpler to solve. Unfortunately,

this set of equations remains a linear approximation of the true non linear equations

(1.5).

1.1.3 Atmospheric Drag Perturbation

A lot of re-entry and on-orbit servicing operations are likely to be made for LEO satellites,

thus taking into account atmospheric drag is necessary in order to achieve higher

accuracy on position and velocity estimation.

The formula for the atmospheric drag force exerted on a spacecraft orbiting Earth,

expressed in ECI frame, is the well known

(1.12) D =−12

cD A%v2sc,relvsc,rel

4

Page 15: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

where vsc,rel is the spacecraft velocity with respect to the rotating atmosphere whose

motion is approximated by the rotation rate of the Earth

(1.13) vsc,rel = vsc −ωe ×rsc

with rsc and vsc representing the absolute spacecraft’s position and velocity in the

ECI frame, while ωe is the Earth’s angular velocity vector.

Considering the perturbing terms in equations (1.5), the drag perturbation must be

considered both for the target and the chaser and be expressed in the Hill frame. The

overall effect will be a differential force acting on the chaser’s barycenter.

In order to express the drag forces acting on both chaser and target in the Hill frame,

it is necessary to express chaser’s and target’s relative velocities in the same frame by

making use of equation (1.13).

Target-wise speaking, its relative velocity is simply computed in Hill frame by apply-

ing a rotation to equation (1.13)

(1.14) v(HILL)0,rel =(HILL) R(ECI)

(v(ECI)

0 −ω(ECI)e ×r(ECI)

0

)where the rotation matrix (HILL)R(ECI) is applying a transformation from the ECI frame

to the orbital frame by a 3-1-3 (Ω, i, θ) rotation [6]

(1.15) (HILL)R(ECI) =

cΩcθ− sΩsθci sΩcθ+ cΩsθci sθsi−cΩsθ− sΩcθci −sΩsθ+ cΩcθci cθsi

sΩsi −cΩsi ci

where:

• Ω: target’s orbit’s Right Ascension of the Ascending Node (RAAN);

• i: target’s orbit’s inclination;

• θ =ω+ f : target’s argument of latitude.

A detailed derivation of chaser’s velocity relative to Earth’s atmosphere expressed in

the Hill frame is given in Appendix A. Here follows its expression [5]

(1.16) v(LV LH)1,rel =

x+vr − y

(f −ωe cos i

)− zωe cosθsin iy+ (r0 + x)

(f −ωe cos i

)+ zωe sinθsin iz+ (r0 + x)ωe cosθsin i− yωe sinθsin i

Along with the spacecraft’s relative velocities derivation, in order to use equation

(1.12) it is crucial to specify that:

5

Page 16: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

• cD (Drag Coefficient) is usually set as 2 for spacecrafts;

• A is the spacecraft’s cross sectional area;

• % is the atmospheric density.

In this work an exponential model is used for atmospheric density

(1.17) %= %0e−h−h0

H

where h is the spacecraft’s altitude, h0 is a reference height, %0 is the density at h0

and H is the scale height.

It is now possible to write the expression for the Drag forces acting on chaser and

target in the Hill frame

(HILL)D0 =−12

cD,0A0%0e−h0−h0

H

((HILL)v

20,rel

)(HILL)v0,rel(1.18a)

(HILL)D1 =−12

cD,1A1%0e−h1−h0

H

((HILL)v

21,rel

)(HILL)v1,rel(1.18b)

We can now take into account drag perturbation on the two satellites in TH equations

(1.5) by substituting equations (1.18) after having observed that the terms P P 0 and P1

are accelerations and so

(1.19) P 0 = D0

m0P 1 = D1

m1

where m0 and m1 are respectively target’s and chaser’s masses.

For what has been said, it is clear that the drag perturbation expressions (1.18) are

both function of target’s and chaser’s state vectors (position and velocity). Thus, even if

we decide to use TH linear equations in true anomaly (1.11), in order to take into account

the drag perturbation it is mandatory to solve not only the relative dynamic equations,

but also the target’s inertial perturbed dynamic equations

(1.20)d2r0

dt2 =− µ

r30r0 +D0

1.2 Guidance: mission strategy and maneuver design

The objective of the mission is to accomplish a docking maneuver with a specific well-

known docking point on a spinning non-cooperative target. This can be done by following

6

Page 17: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

any wanted trajectory, in any amount of time desired. However, one common goal of each

space mission is to save propellant in order to use that allowance for other purposes (e.g.

payload mass). Thus, we want to find the trajectory that minimizes the amount of ∆vneeded for the maneuver. Calling t0 the initial time and t f the time when we complete

the docking maneuver, We define the objective function as follows

(1.21) J =∆v =∫ t f

t0

||u (t) || dt

where u is the control vector whose components act in the three cartesian directions. The

control vector can be expressed in terms of the relative position, velocity and acceleration

in time as will be explained later on.

On the other hand, it is true that a certain amount of security is required in space

missions. In our case this translates into Collision Avoidance with the target, as a

collision would mean loosing the chaser as well as damaging the target.

The need of this amount of security leads to the definition of a certain "security zone"

around the target where the chaser cannot initially enter. For the sake of simplicity

we initially set this zone as a sphere and call it Keep Out Sphere (KOS). Knowing

the target shape from previous investigation around it, this sphere can be set to be big

enough to entirely contain the target.

In terms of our mission design, what we said so far translates into a trade-off between

two aspects.

1. Performance, i.e. lower ∆v. The best scenario we can have is to optimize the

maneuver throughout the entire path, i.e. till the chaser has completely docked

with the target.

2. Security, i.e. no collisions between chaser and target. This is made by relaxing

the requirement to optimize the entire trajectory by making the chaser always stay

outside of the Keep Out Sphere and then set a predefined maneuver for moving

inside the sphere.

As any collision between target and chaser would lead to a failure of the mission,

while consuming more propellant doesn’t give a failure risk in itself, it is clear that

security has the most important role in mission design.

In order to correctly perform the docking maneuver with a rotating, non-cooperative

target we are going to make the following assumptions, i.e. to consider the following

quantities as known.

7

Page 18: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

1. The position of the Docking Point (i.e. the point were we want to be at the end of

the maneuver) is given in the target’s body frame: (BODY )ζ.

2. The Target’s Attitude Matrix is known at the maneuver’s starting time t0: C0.

3. In order to keep the formulation easier, but without loss of generality, we are going

to assume the target is rotating around an axis fixed in time and space, whose

components have to be known in the Hill frame. We call this vector the Target’sSpin Velocity: (HILL)ωt.

4. The Target’s Shape is supposed to be known by previous investigation of the

spacecraft we are targeting. Further explanation about the analytic representation

of the target’s shape will be given later on.

In Figure 1.1 you can see the representation of the target with the Keep Out Sphere.

In this study we will consider a quite simple yet generic shape, i.e. a central cylinder

body with two long solar panels.

−200

20−20

0

20

−20

−10

0

10

20

X (m)Y (m)

Z (m)

FIGURE 1.1. Keep Out Sphere (KOS). Target with a central cylinder body andtwo solar panels.

Taking into account what has been said so far, in order to reach the best compromise

between performances and security we decide to divide the entire mission in two phases.

8

Page 19: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

1. Approach Phase. In this part of the maneuver the chaser is optimally going from

the initial given state x0 = (x0, y0, z0, x0, y0, z0) to a point on the Keep Out Sphere

we call the Approach Point (ξ f ) in a given time ta such that taf = t0 + ta. The

point we want to reach on the KOS is the projection of the docking point on this

sphere. Please note that, as the target is spinning, the approach point describes a

circle on the KOS. If we consider as fixed the time of the approach phase (ta), we

want to reach the approach point at this final time

(1.22) ξ f = ξ(taf

)We stress the fact that in the approach phase the path is optimized in order to

find a minimum for the objective function (1.21), yet it is imposed for security

reasons that the chaser is never entering the Keep Out Sphere before the end of

the approach phase.

Another important instance is to make the chaser reach the approach point with a

velocity such that the chaser translational movement is in phase with the target’s

spinning rotation. This is useful for the next phase, as the chaser would then be

not moving with respect to the target, i.e. in the target’s body frame. We easily

compute the Approach Velocity (ξ f ) as follows

(1.23) ξ f =ωt ×ξ f

2. Docking Phase. In this phase the chaser is going from the approach point to the

Docking Point (ζ f ) in a fixed time td such that

(1.24) t f = t0 + ta + td

Again, as in the approach phase, the docking point is describing a circle in time

due to target’s rotation. So we need to compute the position the docking point at

the final time

(1.25) ζ f = ζ(t f

)In this phase, the trajectory is not optimized. The strategy followed is to maintain

the chaser phased with the docking point throughout the entire docking maneuver

and at the same time make it radially getting closer to the docking point. The

trajectory described in the target’s body frame would then be a line, whereas in the

Hill frame would be a spiral.

9

Page 20: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

Known the final position value, i.e. the docking point, the Docking Velocity is

then computed as for final approach velocity

(1.26) ζ f =ωt ×ζ f

This is because we want to dock without any relative velocity component in order

to avoid stress forces generated by contact between target and chaser.

In the next sections will be deeply explained how to optimize the approach trajectory

and compute the docking trajectory, but first it is worth explaining how to compute the

approach and docking point.

1.2.1 Approach and Docking Points computation

Using the assumptions made in the previous Section, it is trivial to compute the docking

point coordinates in the Hill frame at any time of the maneuver

(1.27) (HILL)ζk = Ck(BODY )ζ

where Ck is the target’s attitude matrix at time tk and is easily obtained by integration

of the following kinematic differential equations

C =−ωtC(1.28a)

C (t0)= C0(1.28b)

where ωt is the target’s spin velocity put into skew matrix form.

We can the compute the docking point coordinates at the end of the maneuver, i.e.

what being asked by equation (1.25)

(1.29) ζ f = (HILL)ζ f = C f(BODY )ζ

As already said, the approach point is the projection of the docking point on the Keep

Out Sphere. We can then define the approach point at approach time taf as follows

(1.30) ξ f = Caf RK(BODY )ζ

where RK is the radius of the Keep Out Sphere, Caf is the target’s attitude matrix at the

end of the approach phase (taf ) and (BODY )ζ defines the radial direction from the target’s

barycenter to the docking point, used to project the latter on the Keep Out Sphere.

10

Page 21: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

1.3 Guidance: Approach Trajectory optimization viainverse method

As said in Section 1.2, the aim of this phase of the mission is to optimally go from a given

initial state x0 to the approach point ξ f in a certain approach time ta. This mean we

want to solve a constrained optimization problem, where the objective function is (1.21)

and the constraints are the initial and final state vectors, along with the maneuver time

x0 = (x0, y0, z0, x0, y0, z0)(1.31a)

x f =(ξ f , ξ f

)= (x f , yf , z f , x f , yf , z f

)(1.31b)

taf = t0 + ta(1.31c)

where the final state is computed by using equations (1.30) and (1.23).

In order to compute the optimal path for this approach phase we solve an inverse

optimization problem, which consists in 3 steps:

1. parameterize the trajectory in some way that is function of some kind of parame-

ters;

2. make the trajectory defined in this way satisfy the constraints (1.31) by finding a

value for some of the parameters;

3. perturb the free parameters left (the so-called optimization variables) till a mini-

mum is find for the objective function (1.21).

Note that the maneuver time, i.e. the approach time ta, can be an optimization

variable, as the maneuver ∆v is changing along with time following the well-known

pareto front. Here we consider the time as a fixed variable. Anyway, if a time-free

approach is followed, the best computational way to investigate the ∆v changes with

respect to maneuver time is to make the latter vary through a set of given times, find the

minimum ∆v for each time used and then chose the minimum among all. Thus, either

with time constrained or with time free, we can assume the maneuver time as fixed

without loss of generality.

Any kind of parameterization can be used for the chaser’s relative orbit representation.

Here some are presented, then an investigation will be carried out to compare all of them

and chose the best one in terms of minimum ∆v and computational time achieved.

11

Page 22: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

1.3.1 Parameterization in time

This approach consist in parameterizing the system state (relative position and velocity)

using time as the independent variable.

1.3.1.1 Polynomial parameterization

We parameterize each cartesian coordinate with a polynomial of degree k

x (λ)=α0,x +α1,xλ+α2,xλ2 +·· ·+αk−1,xλ

k−1 +αk,xλk(1.32a)

y (λ)=α0,y +α1,yλ+α2,yλ2 +·· ·+αk−1,yλ

k−1 +αk,yλk(1.32b)

z (λ)=α0,z +α1,zλ+α2,zλ2 +·· ·+αk−1,zλ

k−1 +αk,zλk(1.32c)

where λ is the adimensional time4

(1.33) λ= t− t0

tm

with t0 initial time of the maneuver and tm fixed time of the maneuver.

It is relevant to say that if we use the dimensional time as independent variable, the

parameters α multiplying high order terms will be of several orders smaller than the ones

multiplying low order terms. Increasing the polynomial order will lead to smaller and

smaller α-s which can be so small to be considered equal to zero to working precision and

additionally loose relevance in comparison to low order terms. Using the adimensional

time will solve this problem, as the maximum value of each λ term is 1 independently

from its order, thus scaling all the problem and making each α have the same relevance

to the optimization process.

The α parameters are used both to satisfy the constraints and to minimize the

objective function.

In order to satisfy the constraints we could later on use MATLAB’s utility fmincon.

However, it is possible to analytically satisfy the constraints thus leading to higher

accuracies and lower computational times.

Let’s consider just one cartesian coordinate (e.g. the x coordinate). For it we have 4

constraints to be satisfied, which are the initial and final position and velocity

x (0)= x0 x (1)= x f(1.34a)

x (0)= x0 x (1)= x f(1.34b)

4The adimensional time can variate from 0 (t = t0) to 1 (t = t f = t0 + tm)

12

Page 23: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

It is clear that we need 4 α-s parameters to satisfy the constraints, but we want a

higher number of them in order to have some free parameter which can then be varied

by the optimizer and used as an optimization variable. It automatically follows that it

has to be k >= 4.

Defining l as the total number of coefficients and m as the number of free coefficients

it is clear that

(1.35) l = k+1 m = l−4

Equations (1.32a) and (1.34) define a linear system of 4 equations (constraints) in lunknowns (α-s)

cx =APOLαx(1.36a)

cx =(x0 x f x0 x f

)T(1.36b)

APOL =

1 0 0 · · · 0 0

1 1 1 · · · 1 1

0 1tm

0 · · · 0 0

0 1tm

2tm

· · · k−1tm

ktm

(1.36c)

αx =(α0,x α1,x · · · αk−1,x αk,x

)T(1.36d)

where in the last two rows of the APOL matrix we have the derivatives of λ evaluated

respectively in 0 (t0) and 1 (t f = t0 + tm).

The previous linear system is unsolvable as the number of unknowns is greater than

the number of equations. However, the strategy of MATLAB’s optimizer is to set a guess

for the m free parameters and then compute the objective function. By variating the mparameters in a way which takes into account the objective function’s gradient it then

finds a local minimum for the objective function.

Considering this, it means that the m parameters have got a known value and thus

can be moved to the left-hand side of equation (1.36a) and considered as a vector cα,x

of well determined values. This reduces the number of unknowns precisely to 4, which

means the systems becomes solvable by inversion of the APOL matrix.

αx =A −1POL

(cx −cα,x

)(1.37a)

cα,x =(0

∑ki=4αi,x 0

∑ki=4 iαi,x

tm

)T(1.37b)

13

Page 24: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

Repeating the process for y and z coordinates leads to the determination of the

polynomial parameters that satisfy the initial and final constraints. We can then make

use of equations (1.32) to obtain the shape of the trajectory and use it to compute the

objective function (which will be described later). Please note that this process is iterated

by MATLAB’s optimizer, which varies the m α-s coefficients in order to find the ones that

minimize the objective function.

1.3.1.2 Fourier parameterization

The cartesian coordinates are parameterized with k-th degree Fourier series

x (t)= a0,x

2

k∑i=1

(ai,x cos(int)−bi,x sin(int)

)(1.38a)

y (t)= a0,y

2

k∑i=1

(ai,y cos(int)−bi,y sin(int)

)(1.38b)

z (t)= a0,z

2

k∑i=1

(ai,z cos(int)−bi,z sin(int)

)(1.38c)

Here we don’t use the adimensional time, as the trigonometric functions scale them-

selves the problem between −1 and 1.

Despite the different parameterization, the method use to compute optimization

coefficients (here ai,x and bi,x) is the same as the one described in Section 1.3.1.1 with

some differences in vectors and matrix

AFOU =

12 cos(nt0) −sin(nt0) cos(2nt0)12 cos

(nt f

) −sin(nt f

)cos

(2nt f

)0 −nsin(nt0) −ncos(nt0) −2nsin(2nt0)0 −nsin

(nt f

) −ncos(nt f

) −2nsin(2nt f

)

(1.39a)

cα =

−∑k

i=2 bi sin(int0)+∑ki=3 ai cos(int0)

−∑ki=2 bi sin

(int f

)+∑ki=3 ai cos

(int f

)−∑k

i=2 inbi cos(int0)−∑ki=3 inai sin(int0)

−∑ki=2 inbi cos

(int f

)−∑ki=3 inai sin

(int f

)

(1.39b)

1.3.2 Parameterization in true anomaly

As we said in Section 1.1.2, the dynamic equations of the relative dynamic can be

expressed in the true anomaly of the target, which substitutes the time as independent

variable. As long as the target’s orbit is assumed to be keplerian (e.g. not subjected to

14

Page 25: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

perturbations) time and true anomaly are related by mean of the well-known Kepler’s

equation

(1.40) E−E0 − e (sinE−sinE0)= n (t− t0)

where E is the eccentric anomaly and is related to the true anomaly f by mean of a

simple coordinate transformation.

With this known, it appears that is simple to change between a time based and a

true anomaly based description of the problem.

However, when some kind of perturbation is considered to act on the target’s orbit,

equation (1.40) is not valid anymore as all the orbital parameters are changing as

functions of time (and so of true anomaly) which means that the assumptions made to

obtain the Kepler’s equation decay.

Said that, it can still be convenient to use true anomaly as it bounds the parameteri-

zation problem between 0 and 2π, thus avoiding the numerical issues faced in Section

1.3.1.1 and it gives a quick representation of where the maneuver is taking place along

the target’s orbit.

1.3.2.1 Polynomial Parameterization

Here the parameterization is identical to the one already shown in Section 1.3.1.1 with

the only difference that true anomaly is used instead of adimensional time

x ( f )=α0,x +α1,x f +α2,x f 2 +·· ·+αk−1,x f k−1 +αk,x f k(1.41a)

y ( f )=α0,y +α1,y f +α2,y f 2 +·· ·+αk−1,y f k−1 +αk,y f k(1.41b)

z ( f )=α0,z +α1,z f +α2,z f 2 +·· ·+αk−1,z f k−1 +αk,z f k(1.41c)

1.3.2.2 Parameterization in Differences of Classical Orbital Elements(DCOE)

As written by Junkins and Schaub [6, p. 503], there exists a linear solution to TH

equations and the expression in cartesian coordinates can be linearly mapped to a

representation trough differences between chaser’s and target’s orbital element. We

15

Page 26: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

recall here this mapping

x ( f )≈ r0

aδa+ aesin f

ηδM−acos f δe(1.42a)

y ( f )≈ r0

η3 (1+ ecos f )2δM+ r0δω+ r0 sin fη2 (2+ ecos f )δe+ r0 cos iδΩ(1.42b)

z ( f )≈ r0 (sinθδi−cosθsin iδΩ)(1.42c)

where η=p

1− e2 , M is the mean anomaly and the terms δecoe = (δa, δe, δi, δΩ, δω, δM)represent the differences between chaser’s and target’s orbital elements. It is important

to point out some relevant aspects of equations (1.42).

Firstly, they represent a linear solution of the TH equations, which can be seen from

the linear dependence on the differences in orbital elements. On the other hand, they are

non-linearly dependent on the target’s true anomaly, which is the result of the non linear

transformation introduced by Kepler’s equation. Being a solution for the dynamical

system means that equations (1.42) represent a path on which the chaser is moving

without the application of any control, yet that is true if we consider a linear dynamic. In

the real world, where not only the dynamic is non-linear, but there are also perturbations,

these equations are not a solution of the dynamic system anymore, though they still

represent a close guess.

Secondly, if we consider two unperturbed orbits for the target and the chaser, their

differences in orbital elements must remain constant over time, a part from the δM term,

which is not constant and grow larger in time if the orbits don’t have the same energy.

For this purpose, the term δa is strictly related to the energies difference between the

two orbits. In order to have a closed relative orbit, the energies of the two orbits must be

the same, which is achieved if δa = 0.

Lastly, it is important to stress out that equations (1.42) are useful when it comes to

rendezvous and docking. In fact, in order to successfully complete a docking maneuver,

it is needed to have the target and chaser on the same orbit at the final instant, i.e.

they have the same orbital parameters. So the goal of a docking maneuver is to take

the orbital elements difference terms for a certain given value at f0 = f (t0) (e.g. δa0, δe0,

δi0, δΩ0, δω0, δM0), to zero at f f = f(t f

), which in fact implies by substitution in (1.42):

x(f f

)= y(f f

)= z(f f

)= 0.

From what has been said it appears clear that, giving a certain shape to the orbital

elements difference terms and imposing some constraints at initial and final time, we

can then describe the maneuver in the 3D cartesian space by means of equations (1.42).

16

Page 27: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

As the dependence of cartesian coordinates on the true anomaly is already expressed

trough trigonometric function, there is no need to parameterize δecoe with a Fourier

expansion, so we are using a polynomial parameterization

δa ( f )=αa,0 +αa,1 f +αa,2 f 2 +·· ·+αa,k−1 f k−1 +αa,k f k(1.43a)

δe ( f )=αe,0 +αe,1 f +αe,2 f 2 +·· ·+αe,k−1 f k−1 +αe,k f k(1.43b)

δi ( f )=αi,0 +αi,1 f +αi,2 f 2 +·· ·+αi,k−1 f k−1 +αi,k f k(1.43c)

δΩ ( f )=αΩ,0 +αΩ,1 f +αΩ,2 f 2 +·· ·+αΩ,k−1 f k−1 +αΩ,k f k(1.43d)

δω ( f )=αω,0 +αω,1 f +αω,2 f 2 +·· ·+αω,k−1 f k−1 +αω,k f k(1.43e)

δM ( f )=αM,0 +αM,1 f +αM,2 f 2 +·· ·αM,k−1 f k−1 +αM,k f k(1.43f)

Again, the α-s coefficients are the parameters used both to satisfy the constraints as

well as to minimize the objective function (1.21).

Substituting equations (1.43) into (1.42) it appears that the cartesian coordinates are

polynomials multiplied by trigonometric functions dependent on the true anomaly and

the α-s coefficients

x ( f )≈ r0

a

(αa,0 +αa,1 f +αa,2 f 2 +·· ·+αa,k−1 f k−1 +αa,k f k

)+(1.44a)

+ aesin fη

(αM,0 +αM,1 f +αM,2 f 2 +·· ·αM,k−1 f k−1 +αM,k f k

)+

−acos f(αe,0 +αe,1 f +αe,2 f 2 +·· ·+αe,k−1 f k−1 +αe,k f k

)

y ( f )≈ r0

η3 (1+ ecos f )2(αM,0 +αM,1 f +αM,2 f 2 +·· ·αM,k−1 f k−1 +αM,k f k

)+(1.44b)

+ r0

(αω,0 +αω,1 f +αω,2 f 2 +·· ·+αω,k−1 f k−1 +αω,k f k

)+

+ r0 sin fη2 (2+ ecos f )

(αe,0 +αe,1 f +αe,2 f 2 +·· ·+αe,k−1 f k−1 +αe,k f k

)+

+ r0 cos i(αΩ,0 +αΩ,1 f +αΩ,2 f 2 +·· ·+αΩ,k−1 f k−1 +αΩ,k f k

)

z ( f )≈ r0

[sinθ

(αi,0 +αi,1 f +αi,2 f 2 +·· ·+αi,k−1 f k−1 +αi,k f k

)+(1.44c)

−cosθsin i(αΩ,0 +αΩ,1 f +αΩ,2 f 2 +·· ·+αΩ,k−1 f k−1 +αΩ,k f k

)]

17

Page 28: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

It is now possible to satisfy constraints (1.31a) and (1.31b) by equating (1.44) to initial

and final position. In order to satisfy the velocity constraints we derivate equations (1.44)

with respect to true anomaly (see equations (B.2) in Appendix B) and equate them to the

initial and final velocity constraints. The result is a system of 12 equations where the

unknowns are solely the α-s parameters. This means that the polynomials used for the

δecoe parameterization must be at least of 2nd degree, which means 18 coefficients, in

order to have a sufficient number of them to satisfy the constraints and still have some

free parameters left for the optimization process.

We stress the fact that the new constraints equations obtained contain the target’s

orbital parameters as constants, which means we assume the target is on a keplerian

unperturbed orbit, as already implicitly stated by saying that (1.42) are a linear solu-

tion of TH equations. By underlying this aspects, we anticipate that we will have to

assume the target’s orbital elements constant throughout the maneuver when using this

parameterization in the drag-perturbed problem.

As applying the method presented in Section 1.3.1.1 for analytically satisfy the

constraints can be not straightforward in this case, leading to some undesired mistakes,

it is reasonable to make MATLAB’s optimizer fmincon numerically satisfy them. This

choice will certainly lead to some numerical errors as well as higher computational time,

though gives the certainty that the process is mathematically correct.

1.3.3 Solution of the inverse optimization problem

Once having chosen the parameterization for the trajectory and having superimposed the

constraints on initial and final position and velocity, thus computing the α-s parameters

which grants the respect of the constraints as functions of the optimization variables,

we then obtain a shape of the maneuver trajectory not completely determined yet as

it’s function of the still undetermined free parameters (which we’ll call β) and of the

independent variable (which we’ll call t in this Section) but which is going from x0 to x f .

So we can generically say we came to a result of this form

(1.45) x = f(βx, τ

)y= f

(βy, τ

)z = f

(βz, τ

)where the functions f which express x, y and z have the well determined form of the

parameterization used and thus τ is either the adimensional time λ, the time itself t or

the true anomaly f .

18

Page 29: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

By derivating (1.45) in τ we can easily obtain the expressions of velocity and acceler-

ation5, which are still functions of β and τ.

As the maneuver we want to perform is not a solution of the free dynamic, this means

we need some control in order to make the chaser follow the path described by equations

(1.45). Thus, we introduce the controlled dynamics equations by recalling (1.5)

x = 2ω0 y+ ω0 y+ω20x− µ

||r0 +ρ||3 (r0 + x)+ µ

r20+D1,x −D0,x +ux(1.46a)

y=−2ω0 x− ω0x+ω20 y− µ

||r0 +ρ||3y+D1,y −D0,y +uy(1.46b)

z =− µ

||r0 +ρ||3z+D1,z −D0,z +uz(1.46c)

where ux, uy, uz are the components of the control vector u.

Isolating the control terms in equations (1.46), substituting expressions (1.45) and

their derivatives and remembering that r0 and ω0 are obtained by integration in time

of the target’s inertial dynamic (1.20), we are able to express the control vector as a

function of β and τ

(1.47) ux = f(βx, τ

)uy = f

(βy, τ

)uz = f

(βz, τ

)By taking the norm of the control vector u and substituting it in equation (1.21) we

can express our objective function, i.e. the maneuver ∆v, in terms of the parameterization

free coefficients β. Thus, by varying them, MATLAB’s optimizer is able to find a minimum

of the objective function and solve the inverse optimization problem.

1.4 Guidance: Docking Trajectory computation

As already said in Section 1.2, in the Docking Phase the chaser is going for the approach

point to the docking point in a given time, i.e. the Docking Time td.

Firstly we are setting the new initial time of the maneuver such that

t0 = 0(1.48a)

t f = td(1.48b)

recalling that, in the mission time-line, the t0 used here is the time at the end of the

approach phase taf .5For the derivatives of the DCOE parameterization see Appendix B

19

Page 30: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

Differently from the approach trajectory, the docking trajectory is not optimized. The

path followed by the chaser is a spiral in the Hill frame, i.e. a line in the target’s body

frame. This is made for safety reasons. In fact, in this way the chaser is always phased

with the docking point, thus being sure that no collision is occurring while getting closer

to the target.

The way to get such a trajectory is to start considering the constraints of the chaser’s

relative velocity v, i.e. the chaser’s velocity in the target’s body frame. Clearly, the relative

velocity at time ta, i.e. the initial time of the docking maneuver, is zero as the absolute

velocity, i.e. the one in the Hill frame, at ta has to be the same for both the final point of

the approach trajectory and the initial point of the docking trajectory.

In order to avoid the generation of stress forces when the contact between chaser and

target is taking place, i.e. at the end of the docking phase, the final relative velocity has

to be zero again.

So we decide to decide the relative velocity trend to be quadratic in time, with zero

initial and final values

v=σ0 +σ1t+σ2t2(1.49a)

v (0)= v(t f

)= 0(1.49b)

By setting constraints (1.49b) it follows

σ0 = 0(1.50a)

σ1 =−σ2t f(1.50b)

and substituting back to (1.49a)

(1.51) v=σ2(t2 − t f t

)The parameter σ2 is found by integrating equation (1.51) and setting the relative

position (r) constraints. First we get the relative position expression

(1.52) r=σ2

(t3

3− t f

t2

2

)+ r0

where r0 is the integration constant set as the initial relative position, i.e. the approach

point expressed in the target’s body frame

(1.53) r0 = CTaf ξ f

20

Page 31: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

As the relative final position, i.e. the docking point in the target’s body frame, is a

well-known quantity (r f = (BODY )ζ) we can set it as a constraint for equation (1.53) and

find σ2

(1.54) σ2 =− 6t3

f

(r f − r0

)and substituting back to equations (1.52) and (1.51) we finally obtain the relative position

and velocity expressions in time for the docking maneuver

r=− 6t3

f

(r f − r0

)( t3

3− t f

t2

2

)+ r0(1.55)

v=− 6t3

f

(r f − r0

)(t2 − t f t

)(1.56)

Deriving equation (1.56) we obtain the relative acceleration expression

(1.57) a= 6t2

f

(r f − r0

)(2t− t f

)Now we need to express the position, velocity and acceleration trends in the Hill

frame rather than in the body frame. To do this we remember that the body frame is

a rotating frame with constant angular velocity, so we use the well-known kinematic

equations

rdock (t)= CT (t) r (t)(1.58)

vdock (t)= CT (t) v (t)+ωt ×rdock (t)(1.59)

adock (t)= CT (t) a (t)+2ωt ×vdock (t)+ωt ×(ωt ×rdock (t)

)(1.60)

Equations (1.58), (1.59) and (1.60) define the path to be followed by the chaser in

the docking phase. The position, velocity and acceleration profiles are substituted into

dynamic equations (1.46) to obtain the control profile needed to perform the maneuver

ux,dock = x−2ω0 y− ω0 y−ω20x+ µ

||r0 +ρ||3 (r0 + x)− µ

r20−D1,x +D0,x(1.61a)

uy,dock = y+2ω0 x+ ω0x−ω20 y+ µ

||r0 +ρ||3y−D1,y +D0,y(1.61b)

uz,dock = z+ µ

||r0 +ρ||3z−D1,z +D0,z(1.61c)

21

Page 32: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

1.5 Guidance: Keep Out Coat (KOC)

In Section 1.2 we stated the importance of safety beside performance and decided to

structure the mission in two phases, approach and docking, where the former is cost-

efficient as obtained via optimization, whereas the latter is computed in a way which

follows a collision avoidance strategy. The results in terms of ∆v for this approach will be

presented later. Fro the purpose of the approach presented next it is important to stress

some facts regarding the KOS strategy.

In the approach phase the chaser can’t enter the Keep Out Sphere for safety reasons,

i.e. collision avoidance. This means the Keep Out Sphere has to entirely contain the

target inside. If the target has got long appendices (e.g. long solar panels) and/or strange-

shaped modules and the docking point is situated somewhere distant from these sources

of danger, i.e. high collision probability objects, the sphere will be big compared to

the initial relative distance from target to chaser. This aspect leads to three relevant

consequences.

1. The Keep Out Sphere would contain a high percentage of volume not occupied by

the target, i.e. portion of space free of collision dangers but not accessible to the

chaser.

2. The approach point would be distant from the docking point. As the approach

trajectory is obtained by optimization, we would want to have its finish as close as

possible to the docking point, as this would increase the maneuver performance,

i.e. decrease the total maneuver delta v. If the Keep Out Sphere is big instead, we

optimize the approach trajectory for a small arc compared to the initial relative

distance from chaser to target.

3. As we will see later on in the results, the approach phase delta v (∆vappr) con-

stitutes the smallest fraction of the total delta v. The higher part of it consists of

the docking phase delta v (∆vdock). Thus, it is clear that we want to keep small

the distance between the approach point and the docking point so to drastically

decrease the docking delta v. If the Keep Out Sphere is big, the docking delta v will

increase, thus decreasing the maneuver performance.

For the things said so far, we want to introduce a new approach to the problem called

Keep Out Coat (KOC). The idea is to make the safe zone have the same shape of the

target but be bigger than it so to contain the target in itself.

22

Page 33: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

With the KOC strategy we solve all the problems listed above, as the distance between

the approach and the docking points will be the offset we decide to set. The smaller the

offset, the smaller the total delta v, the higher the risks of collisions. The larger the offset,

the higher the total delta v, the closer we get to the KOS case.

In Figure 1.2 the gray mesh defines the Keep Out Coat. As you can see by comparison

with Figure 1.1, the safety zone in the KOC approach is much smaller than the Keep

Out Sphere.

−20

0

20

−10

0

10

−15

−10

−5

0

5

10

15

X (m)Y (m)

Z (m)

FIGURE 1.2. Keep Out Coat (KOC). Target with a central cylinder body withtwo solar panels.

In order to define the Keep Out Coat we first need to focus on the target’s shape. In

this study we are assuming the target’s shape is given by previous investigation of the

spacecraft we are targeting, as said in Section 1.2.

Using superellipsoid functions we are able to describe the target’s shape analytically.

Here follows the generic expression of a 3D super-ellipsoid

(1.62)( x− xc

a

)n1 +( y− yc

b

)n2 +( z− zc

c

)n3 = 1

where:

• xc, yc and zc are the coordinates of the super-ellipsoid center;

23

Page 34: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

• a, b and c are the lengths of the semi-major axes respectively along x, y and z, and

define the dimensions of the super-ellipsoid;

• n1, n2 and n3 are the exponents which define the shape of the superellipsoid.

By setting n1 = n2 = n3 = 2 we obtain a sphere. The higher the order, the closer the

ellipsoid will have 90 edges in the chosen direction. As the exponents tend to infinite,

the ellipsoid becomes a parallelepiped.

We can then use equation (1.62) to describe the geometry of the target. The approach

here is to divide the target in three parts, i.e. the cylinder and the two parallelepipeds,

and describe each of them with a superellipsoid function. If we suppose that the target

initial attitude is so that the solar panels are aligned along the x-axis direction, while the

cylinder is aligned along the z-axis direction, we can write the following three functions

x2 + y2 +[

zhc2

]50

− r2c = 0(1.63a)

[ x−(rc + Lp

2

)Lp2

]50

+[

ywp2

]50

+[

zhp2

]50

−1= 0(1.63b)

[ x+(rc + Lp

2

)Lp2

]50

+[

ywp2

]50

+[

zhp2

]50

−1= 0(1.63c)

where (1.63b) and (1.63c) represent the solar panels while (1.63a) describes the cylinder

and:

• rc is the cylinder’s radius;

• hc is the cylinder’s height;

• Lp is the solar panel’s length;

• wp is the solar panel’s width;

• hp is the solar panel’s height.

If we want to set the coat security zone around the target and express it with the

superellipsoid functions, we need to define an offset (δo). This offset represents the

increase in dimensions of the target’s shape and is set as twice the chaser’s side (lc) for

24

Page 35: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

safety reasons. Thus we have

x2 + y2 +[

zhc2 +δo

]50

− (rc +δo)2 = 0(1.64a)

[ x−(δo + rc + Lp

2

)Lp2 +δo

]50

+[

ywp2 +δo

]50

+[

zhp2 +δo

]50

−1= 0(1.64b)

[ x+(δo + rc + Lp

2

)Lp2 +δo

]50

+[

ywp2 +δo

]50

+[

zhp2 +δo

]50

−1= 0(1.64c)

The property of superellipsoid functions, i.e. the left-hand side of equations (1.64), is

that their value is:

• 0 if computed on the superellipsoid’s surface;

• less than 0 if computed inside the superellipsoid;

• greater than 0 if computed outside the superellipsoid.

For the purpose of developing a collision-avoidance strategy, this information is

crucial as it can easily tell us if the chaser’s barycenter is inside or outside the Keep Out

Coat. If we multiply all the left-hand sides of equations (1.64) we obtain the following

function

g (x, y, z)=

x2 + y2 +[

zhc2 +δo

]50

− (rc +δo)2

[ x−(δo + rc + Lp

2

)Lp2 +δo

]50

+[

ywp2 +δo

]50

+[

zhp2 +δo

]50

−1

[ x+(rc + Lp

2

)Lp2

]50

+[

ywp2

]50

+[

zhp2

]50

−1

(1.65)

which still has got the previous three properties of a superellipsoid function. This means

that, by considering the sign of the function g when evaluated in the chaser’s position x,

y and z, we can understand if the chaser is inside or outside the Keep Out Coat.

This strategy is used inside MATLB’s fmincon routine for the optimal approach

trajectory computation, as we can set a non-linear inequality constraint, asking for the

function value to always be greater than 0, i.e. asking for the chaser to always be outside

the Keep Out Coat.

25

Page 36: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

Please note that, as the target is rotating in time, in order to use equation (1.65)

unchanged we need to express the chaser’s position in the target’s body frame by means

of the target’s attitude matrix before evaluating the g function.

Summing up the strategy used

g((BODY )ρ (t)

)> 0 ∀t ∈ [

t0, taf]

(1.66a)

(BODY )ρ (t)= C (t) (HILL)ρ (t)(1.66b)

1.6 Guidance: chaser’s attitude maneuver

In the previous Sections we have derived an expression for the path to be followed by

the chaser from t0 to t f . For Navigation reasons, the instruments have to be pointed

along the line of sight between the chaser and the target, i.e. toward target’s center of

mass, in order to get proper information, i.e. measurements to be used in the filter along

with dynamics, to estimate the chaser’s state vector (see next Section). If we suppose,

without loss of generality, that all the instruments required are aligned on chaser’s b1

axis, we then need to find the Euler Angles(ϕ, ϑ,ψ

)profiles which guarantees a constant

alignment of the b1 axis with the vector going going from chaser’s to target’s barycenter,

i.e. ρ vector.

This can be simply done by superimposing a certain shape to the Euler Angles in time

with regard to the shape of vector ρ in time, which is treated as given by the Guidance

investigation previously made.

It is clear that, if we want to make the vector b1 have a constrained profile, but

we don’t care about the rotation about the b1 axis itself, only two out of three Euler

Angles will be constrained in time. This means the third Euler Angle, i.e. ϕ, is free of

any constraint and its evolution in time can be freely set.

The Figure 1.3 presents a generic target/chaser configuration. The target is rotate

with respect to the Hill frame in some way and the chaser’s attitude is set to be such that

the b1 axis is pointing towards the target’s center of mass.

We can easily constrain the b1 axis by observing that it has to have the same direction

as ρ

(1.67) b1 =−ρρ

Once determined the b1 axis profile in time, it is straightforward to obtain the time

26

Page 37: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

xHILL

zHILL

b1

b3

b2y

HILL

FIGURE 1.3. Chaser’s attitude. Vector b1 is always pointing towards the target’scenter of mass, b2 follows from the attitude constraint, whereas b3 is free.

profiles of the second and third Euler Angles ϑ and ψ

ϑ=−sin−1 (b1z)(1.68)

ψ= tan−1(b1y

b1x

)(1.69)

As the ϕ profile in time is not constrained and can be freely set, we decide to design a

quadratic shape in time

(1.70) ϕ=α0,ϕ+α1,ϕt+α2,ϕt2

We arbitrary set ϕ (0)= 0 and ϕ (0)= 0 which imply α0,ϕ = 0 and α1,ϕ = 0.

Our aim for security reason is to achieve a docking that is not generating any contact

forces between chaser and target and also, we want the chaser to be phased with the

target during the docking phase, not only velocity-wise but also in terms of attitude, i.e.

27

Page 38: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

we want the chaser’s body axis b3 to be aligned with the target’s body axis bT,3 from the

beginning until the end of the docking phase. This constraints the value of the ϕ angle

at the end of the approach phase, which, in turn, constraints the coefficient α2,ϕ

(1.71) α2,ϕ = ϕ f

t2af

where

(1.72) ϕ f = tan−1

(bT,3z

(taf

)bT,2z

(taf

))

and the target’s body axes bT,2 and bT,3 are the second and third rows of the target’s

attitude matrix C at the time needed.

The ϕ and its derivatives profiles for the approach phase are

ϕ= ϕ f

t2af

t2(1.73a)

ϕ= 2ϕ f

t2af

t(1.73b)

ϕ= 2ϕ f

t2af

(1.73c)

We now want to compute the control needed to perform this attitude maneuver. Also,

it is here supposed that the attitude maneuver is completely fulfilled by a set of reaction

wheels opportunely designed. This can be assumed to be always true as the Euler Angles’

profiles in time are always smooth and don’t require any impulsive force, i.e. either a

bang-bang or a bang-off-bang maneuver with thrusters.

We recall the Euler’s controlled equations, i.e. the attitude dynamics equations, which

are needed to compute the control profile

ω1 =−k1ω2ω3 +u1(1.74a)

ω2 =−k2ω1ω3 +u2(1.74b)

ω3 =−k3ω1ω2 +u3(1.74c)

where:

• ωi and ωi are the i-th component of the rotational acceleration and angular velocity

of the chaser’s body frame relatively to the inertial frame;

28

Page 39: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

• k1, k2, k3 are coefficients function of the chaser’s principal inertia moments I1, I2

and I3

(1.75) k1 = I3 − I2

I1k2 = I1 − I3

I2k3 = I2 − I1

I3

• ui is the i-th component of the attitude control.

In order to obtain the control, we first compute ωi and ωi. Their expressions are

functions of the Euler’s Angles and their derivatives, which can be easily obtained by

derivation of (1.68) (1.69) and by (1.73b) and (1.73c). We can write the so-called Attitude

kinematics equations [6]

ω1 =−sinϑψ+ φ(1.76a)

ω2 = sinϕcosϑψ+cosϕθ(1.76b)

ω3 = cosϕcosϑψ−sinϕϑ(1.76c)

and their derivatives

ω1 =−cosϑϑψ−sinϑψ+ ϕ(1.77a)

ω2 = cosϕcosϑψϕ−sinϕsinϑψϑ+sinϕcosϑψ−sinϕϑϕ+cosϕϑ(1.77b)

ω3 =−sinϕcosϑψϕ−cosϕsinϑψϑ+cosϕcosϑψ−cosϕϑϕ−sinϕϑ(1.77c)

By substituting systems (1.76) and (1.77) into Euler equations (1.74) and isolating

the control ui in each equation, we obtain the attitude control profile needed for the

maneuver.

It is also important to recall the chaser’s attitude matrix expression, which can be

written as a function of the chaser’s Euler Angles [6]. The usefulness of this will be

shown later on.

(1.78) Cc =

cosϑcosψ cosϑsinψ −sinϑ

sinϕsinϑcosψ−cosϕsinψ sinϕsinϑsinψ+cosϕcosψ sinϕcosϑ

cosϕsinϑcosψ+sinϕsinψ cosϕsinϑsinψ−sinϕcosψ cosϕcosϑ

1.7 Navigation

In the previous Sections we have analyzed the Guidance aspect of our mission. Through

it, we have come to the definition of a trajectory that has to be followed by the chaser.

The approach and docking trajectories represent the ideal path by which the chaser is

29

Page 40: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

both optimally and safely fulfilling the mission. From this point on we will refer to the

Desired Trajectory as the total trajectory that we want the chaser to follow, i.e. the

trajectory composed of the approach and docking trajectories.

It is now required to introduce a Navigation system which fulfills the objective to

determinate the relative chaser position and velocity, i.e. the chaser’s state in the Hill

frame: x= (x, y, z, x, y, z).

Before proceeding with the introduction of the filters used to determine the chaser’s

state estimate, it is important to introduce the following different state vectors and

explain their differences.

• The True State x is the real state of our system, i.e. the state the chaser is in the

real world. It is physically impossible to know exactly the true state of a system as

it is observed with sensor which necessarily have a noise component which affect

the measures.

• The Estimated State x is the knowledge we, as engineers, have of the state of

our system. It is the state where we think our system is. It isn’t excluded that this

knowledge can be far from the truth, i.e. the true state. The aim of the Navigation

system is to find the best estimate of the true state, i.e. find an estimated state

which is as close as possible to the true state.

• The Desired State xd is the state where we want our system to be, and it is

defined by the Guidance system. This state can be distant from either the true or

the estimated state or both, at least at an initial step. The aim of us, as engineers,

is to make our system be as close as possible to the desired state. As we don’t know

anything about the true state, we can only make the estimated state be as close

as possible to the desired state, and this is due to the Control law we apply to our

system.

Having said that, we can define an Estimation Error εe and a Desired Error εd.

The former tells how far is the estimated state from the true state, while the latter tells

how far is the true state from the desired state

x= x+εe(1.79)

x= xd +εd(1.80)

The goal of the Navigation system, i.e. of the filter, is to reduce the estimation error

to zero, while the goal of the Control system is to reduce the desired error to zero.

30

Page 41: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

In real situations, we can’t ever know the estimation error, as we don’t know the true

state, so we don’t know how far the estimated state is from the true state, though we

can determine if the filter has converged to the true state by controlling if the estimated

state is smaller than the 3-sigma covariance. Nevertheless, it is true that we can define

an error which we can always compute, which is the difference between the desired and

the estimated state, which we will call the Mission Error

(1.81) εm = x−xd

We called it the mission error because it is the only parameter we can know for sure

that is telling us with which accuracy the system is following the desired state. In real

mission, in fact, the only thing we can know are the estimation of the state and the

desired state (which is indeed chosen by the engineer), so the only thing an engineer can

say is if the estimation of the state of our system is close enough to the desired state,

i.e. if the mission is being accomplished. Goal of the mission, and so of our system, is

therefore to bring the mission error to zero as fast as possible.

In the case of a simulation, i.e. in the present work, we can set and know the true

state, so we have knowledge of all the errors mentioned above. This is done to test the

robustness of the system and prove the validity of the model adopted, so we can say if

this configuration can be either use or not in a real situation.

In this Section we will go through the definition of three real-time filters with different

characteristics. A comparison between them will be carried out later on.

At the end of this Section, the measurement model, i.e. the sensors used to acquire

the measurements and the measurement equations, will be presented.

1.7.1 Extended Kalman Filter (EKF)

The Extended Kalman Filter (EKF) is usually used when either the dynamic or the

measurements equations are non linear. Beside it has to be true that is easy to compute

the measurement equations’ partial derivative with respect to the state components.

As all the sequential filters, the EKF gives the estimation xk of the state at tk merging

the information coming from the propagation of the estimated state xk−1 from tk−1 to tk

by using the dynamic equations and from the measures zk acquired by the sensors at tk.

The measurements acquired are compared to the one computed via the measurements

equations with the propagated state xk.

The generic scheme of a sequential filter is presented in Figure 1.4.

31

Page 42: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

FIGURE 1.4. Generic sequential filter flow chart [3].

We recall the controlled Tschauner-Hempel dynamic equations (1.46) and schematize

them as a discrete non linear function f which gives the value of the state at tk given

the state and the control at time tk as inputs

(1.82) xk = f (xk−1, uk−1)+wk

where wk is some process noise due to the uncertainty we have regarding the dynamic

equations we are using to describe the real system.

We start the Kalman Loop assuming we are at a certain time tk−1 and we have the

state and covariance estimation at this instant (xk−1 and Pk−1). By using equation (1.82)

we propagate the estimate to the next time and obtain the so-called propagated state

(1.83) xk = f (xk−1, uk−1)

where uk−1 is the control applied to the spacecraft, computed with the state estimation

at time tk−1.

The covariance is propagated at time tk too

(1.84) Pk =Φ (tk−1, tk) Pk−1ΦT (tk−1, tk)+Qk

where:

• Qk is the process noise matrix at time tk, which takes into account the noise

introduced in the propagation process due to unknown terms in the dynamic

equations (wk);

32

Page 43: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

• Φ (tk−1, tk) is the transition matrix, which is used to linearly propagate the state

between two time instants

xk =Φ (tk−1, tk)xk−1(1.85)

Φ (tk−1, tk)= eAk−1∆t(1.86)

∆t = tk − tk−1(1.87)

Ak−1 =

0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 1

3ω20|k−1 ω0|k−1 0 0 2ω|k−1 0

−ω0|k−1 0 0 −2ω0|k−1 0 0

0 0 −ω20|k−1 0 0 0

(1.88)

We assume we are receiving some observed measures from the sensors on the space-

craft at time tk and we put them in a column vector zk. This quantities are compared to

the so-called computed measurements, which are obtained by evaluating the measure-ments function h at the propagated state

(1.89) zk =h (xk)+vk

where vk is the measurements noise we get when we use the sensors.

Then we need to compute the so-called Kalman Gain, which will be used for the

state and covariance estimation

(1.90) Kk = PkH−1k

(HkPkHT

k +Rk

)where:

• Hk is the partial derivatives matrix computed at time tk. We first compute the

matrix which has the partial derivative of the i-th measurement function hi with

respect to the j-th state component x j on the (i, j) element

(1.91) H (x)=

∂h1∂x1

∂h1∂x2

· · · ∂h1∂xn

∂h2∂x1

∂h2∂x2

· · · ∂h2∂xn

......

......

∂hl∂x1

∂hlx2

· · · ∂hlxn

The matrix Hk is simply the matrix H computed with the state components at time

tk: Hk = H (xk).

33

Page 44: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

• Rk is the measurements covariance matrix at time tk, which has the square of the

sensors’ standard deviations on the diagonal

(1.92) Rk =

σ2

1 0 · · · 0

0 σ22 · · · 0

...... . . . ...

0 0 0 σ2l

In this study, we consider this matrix constant over time, i.e. the measures’ stan-

dard deviations don’t depend on time.

The state and covariance estimation at time tk are then obtained

xk = xk +Kk (zk − zk)(1.93)

Pk = (I −KkHk) Pk(1.94)

A couple of things about the Extended Kalman Filter have to be underlined.

• The function h, i.e. the measurements function, can be non linear. However, its

derivatives with respect to the state components have to be computed for the

evaluation of matrix H at time tk. This limits the application of the EKF to the

cases where is possible to compute the partial derivatives of the measurements, i.e.

the expression of h is not too much complicated.

• Even though the state propagation is made by means of the non linear function

f (equation (1.82)), we need to compute the matrix Ak at each time step for prop-

agating the covariance matrix (equation (1.84)). In equation (1.88), the matrix

Ak is the dynamic matrix of the linear TH equations, i.e. the linear system (1.6)

where the drag perturbation is not taken into account and the term µ/r30 has been

replaced with ω20. What said means that the effect of the drag perturbation on

the propagation of the covariance matrix is not considered, thus leading to an

approximation.

• We need to know the mean and correlation of the noises wk and Vk at each instant

[7].

• We need to know the covariances Qk and Rk. In fact, the Kalman Filter uses the

matrices Qk and Rk as design parameters, which means that if we don’t know

them, it may be difficult to successfully use a Kalman filter [7].

34

Page 45: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

• The Kalman filter is a minimum variance estimator, which means that it minimizes

the standard deviation of the estimation error. Though, the Kalman filter is the

minimum variance estimator if the noise is Gaussian, whereas it is the linear

minimum variance estimator if the noise is not Gaussian. If we want to minimize a

different cost function, for example the worst-case estimation error, the Kalman

filter may not reach the goal [7].

1.7.2 Unscented Kalman Filter (UKF)

By using the Extended Kalman filter we make two basic assumptions [2]:

• the mean can be accurately predicted without regard to the distribution of the

errors;

• the state error propagate through a separate linearized system.

These assumption rarely hold, so we use the Unscented Kalman Filter. This filter still

uses the recursive linear estimation structure but avoids the EKF’s linear assumptions.

The idea on which is based this filter is the following: with a fixed number of parame-ters it should be easier to approximate a Gaussian distribution than it is to approximatean arbitrary nonlinear function [2].

So we seek a parameterization which still takes into account the mean and covariance

information while permitting the direct propagation of an arbitrary set of nonlinear

equations. This can be done by introducing the so-called unscented transformation. The

process it uses is to create a set of sigma points χk by perturbing the estimated state at

time tk with the estimated covariance Pk

χ0k = xk(1.95a)

χik = xk +γ

√Pk |i, i = 1, ...,L(1.95b)

χik = xk −γ

√Pk |i, i = 1, ...,L(1.95c)

where

• γ is such that [1]

γ=pλ+L(1.96)

λ=α2 (L+κ)−L(1.97)

κ= 3−L(1.98)

35

Page 46: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

where α ∈R should be greater than 10−4 but smaller than 10−1.

•√

Pk |i is the i-th row of the matrix square root of Pk (the matrix square root

is evaluated later in MATLAB with the chol routine, which uses the so-called

Cholesky Decomposition [8]).

Equations (1.95) create a set of 2L+1 sigma points, where L is the dimension of

the state vector. This sigma points are distributed on a Gaussian with mean equal to

the estimated state xk. The extension of this distribution is set by varying the tune

parameter α.

This sigma points are then propagated through the non linear equations (1.82) to

obtain the prediction at time tk+1. The state prediction xk+1 is obtained by taking the

weighted mean of the predicted sigma points

(1.99) xk+1 =2L∑i=0

W i(m)χ

ik+1

where W i(m) is the mean weight associated with the i-th sigma point

W0(m) =

λ

L+λ(1.100a)

W i(m) =

12(L+λ)

(1.100b)

It is the computed the predicted covariance Pk+1 by taking the mean of the covariance

computed with the predicted state and sigma points

(1.101) Pk+1 =2L∑i=0

W i(c)

[χi

k+1 − xik+1

][χi

k+1 − xik+1

]T +Qk

where W i(c) is the covariance weight associated to the i-th sigma point

W0(c) =W0

(m) +(1−α2 +β)

(1.102a)

W i(c) =W i

(m)(1.102b)

and β is a parameter used to incorporate a-priori knowledge of the distribution.

The computed observables are obtained by means of equation (1.89), using the pre-

dicted sigma points as arguments of the h function We now use the sigma point as

arguments of function h in equation (1.89) to obtain a set of computed observables

(1.103) yk+1 =h(χk+1

)36

Page 47: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

The computed measurements are obtained by taking the mean of yk+1

(1.104) zk+1 =2L∑i=0

W i(m)yk+1

The measurements and cross-correlation covariance are then computed

P yyk+1 =

2L∑i=0

W i(c)

[yi

k+1 − zik+1

][yi

k+1 − zik+1

]T +Rk(1.105)

Pxyk+1 =

2L∑i=0

W i(c)

[χi

k+1 − xik+1

][yi

k+1 − zik+1

]T(1.106)

We then compute the estimated state and covariance

xk+1 = xk+1Kk+1 (zk+1 − zk+1)(1.107)

Pk+1 = Pk+1 −Kk+1P yyk+1KT

k+1(1.108)

where zk+1 is the measurement vector obtained by the sensors at tk+1, while Kk+1 is the

Kalman Gain at tk+1

(1.109) Kk+1 = Pxyk+1P yy−1

k+1

The mean estimated with the UKF is more than the one estimated with the EKF

because the unscented transformation takes into account higher order terms of the

Gaussian distribution (e.g. third and fourth orders) whereas the EKF predicts the mean

correctly up to the second order. Besides, the UKF incorporates the so-called second order

bias terms [2].

The UKF predicts the covariance at least as accurately as the EKF, but without

the need to undertake the difficult (sometimes impossible) and time consuming task of

determining the partial derivatives matrix H [2].

1.7.3 Unscented H Infinity Filter (UHF)

Recalling what has been said in Section 1.7.1, either if one of the Kalman filter assump-

tions is not satisfied, or we don’t have any information about the noise statistics, or we

want to minimize the worst-case estimation error, the best choice is to use the H infinity

filter.

The UHF doesn’t require an a-priori knowledge of the noise statistics and it minimizes

the worst-case estimation error (that’s why it is also called the minmax filter), i.e. the

maximum value of the following cost function

(1.110) J =∑N−1

k=0 ||xk − xk||2||x0 − x0||2 +∑N−1

k=0

(||wk||2 +||vk||2)

37

Page 48: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

where:

• x0 and x0 are the real and estimated state at time t0;

• xk and xk are the real and estimated state at time tk;

• N −1 is the time up to which we want to find an estimate.

The concept on which this filter is built is presented in [7, p. 343–345] by means of AGame Theory Approach. Basically, there is a constant struggle between an engineer and

nature. The former tries to find an estimate that minimizes the cost function (1.110),

while the latter’s goal is to find disturbances wk and vk, and the initial state x0 that

maximize the cost function (1.110). Nature’s ultimate goal is to maximize the estimation

error xk − xk. This can be done by nature simply using infinite magnitude for wk, vk and

x0 but it wouldn’t make the game fair. That’s why we created the cost function (1.110):

if nature uses large magnitudes for vectors wk, vk and x0, the quantity xk − xk will

be large, but J may not be large because of the denominator. The form we chose for Jprevents nature from using brute force to go against our goal of estimating the state, i.e.

nature should use a clever way instead. We, as engineers, have to be clever to find an

estimate which minimizes xk − xk.

This highlights a fundamental difference between this filter approach and the Kalman

one. In Kalman filter, nature is assumed to be indifferent. The covariance noise is

assumed to be given. We, as engineers, can use this information to create a filter which

minimizes the variance of the estimation error, but nature can do nothing to degrade our

estimate. In the H∞ filter, nature is assumed to act in a way which goes against us by

degrading the estimate as much as possible. Obviously, neither of these extreme views of

nature is real, but the H∞ approach is conservative, while the Kalman filter approach

isn’t.

The purpose of the H∞ filter is to minimize the H∞ norm of the cost function (1.110)

J∗ =minxk

||J||∞(1.111)

||J||∞ = maxwk, vk, x0

J(1.112)

However, a close-form solution is not always available, so a suboptimal solution that

bounds the maximum energy gain from the disturbances to the estimation errors is

found. We set a performance bound η and seek an estimation strategy that satisfies

the threshold, i.e. we will find an estimate xk such that the H∞ norm of the cost function

38

Page 49: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

J satisfies

(1.113) ||J||∞ < η

We underline the fact that the UHF follows the same approach of the UKF, as both of

them apply the unscented transformation to the state estimation, find the sigma points

and propagate them. The difference between the two filters lie in the covariance matrix

update. The performance bound is in fact used in the covariance matrix estimation at

each time step in the following way

(1.114) Pk =((

Pk −KkP yyk KT

k

)−1 − 1ηk

IL

)−1

where Pk is the propagated covariance matrix at time tk obtained by using (1.101), Kk

is the Kalman gain at time tk computed by using (1.109), P yyk is the measurements

covariance of equation (1.105) and IL is an (L×L) identity matrix.

The performance bound ηk should be carefully set differently at each instant to

guarantee the positiveness of Pk. This is done in [4, 7, 9] where it is shown that it has to

be

(1.115) ηk >max

eig(Pk −KkP yy

k KTk

)−1

where maxeig (A)−1 denotes the maximum eigenvalue of the matrix A−1. We can the

chose ηk as

(1.116) ηk = ξ max

eig(Pk −KkP yy

k KTk

)−1

in which ξ is a scalar parameter larger than one.

By comparing equations (1.108) and (1.114) we can see that, if the performance bound

tends to infinity, the expression for the update of the covariance matrix is the same in

both UKF and UHF. This can be artificially done by setting the ξ parameter to be large

enough to obtain the same results from the two filters. On the other hand, the closer

the ξ parameter is to one, the larger the differences between the two filters will be. This

means that, if we use η=∞ the H∞ filter reduces to the Kalman filter, which gives an

interesting interpretation of the Kalman filter, that is the Kalman filter is the H∞ filter

when the performance bound is set to ∞. In other words, this means that although the

Kalman filter minimizes the covariance of the estimation error, it doesn’t provide any

guarantee as far as limiting the worst-case estimation error, i.e. it doesn’t bound the cost

function (1.110).

39

Page 50: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

It is important to underline that the performance bound does not affect the state

estimation and gain computation, but only changes the shape of the covariance matrix

at each time step, which, in turn, generates a different distribution of the sigma points.

In this way, the performance bound indirectly affects the propagation and estimate at

the following time step.

The Kalman filter can be made more robust by artificially increasing the process

noise matrix Qk. This results in a larger covariance Pk and in a larger Kalman gain Kk.

The term η−1k IL in the H∞ filter does the same job as Qk in the Kalman filter because,

by its subtraction on the right-hand side of equation (1.114), it tends to increase the

covariance update and, in turn, the gain Kk. The H∞ filter is a worst-case filter in the

sense that it assumes that nature will find the values of wk, vk and x0 to maximize the

cost function, so UHF is robust by design. By what has been said it is therefore clear

that UHF is simply a robust version of the Kalman filter. In fact, while there isn’t an

optimal way to set Qk to grant robustness in Kalman filter, the H∞ theory shows the

optimal way to robustify the Kalman filter.

1.7.4 Measurements Model

The aim of this work is to make the chaser autonomous in the sense that it can au-

tonomously accomplish the docking maneuver. This implies it has to autonomously

understand where it is with respect to the target, in order to create the path which goes

to the docking point and apply the control that make him following the chosen path. To

this purpose, some sensors are required to be on board. These sensor have to give at least

the minimum amount of measurements required to compute the chaser relative state

vector x= (x, y, z, x, y, z).

Following what has been done in [9], the minimum amount of sensors an autonomous

chaser would need are a LIDAR and a camera. We are not presenting a detailed camera

model in this work, but we refer to the one presented in [9]. Therefore we will only

use the following equations, which give the azimuth and elevation angles (az, el) with

respect to the hill frame, as shown in Figure 1.5

az = tan−1( y

x

)(1.117)

el = sin−1(

)(1.118)

Equations (1.117) and (1.118) are two of the three measurements equations we are

using in our filter. The third one comes from the LIDAR model. The LIDAR is a sensor

40

Page 51: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

xHILL

yHILL

zHILL

ρ

az

el

FIGURE 1.5. Azimuth and Elevation angles in HILL frame.

which gives the distance ρs from the surface of the target

(1.119) ρs = ρ−ρp

where ρs is the distance between the chaser’s barycenter and the point P in the target’s

surface defined by the intersection of the vector ρ with the target’s surface, ρ is the

distance from the chaser’s to the target’s barycenters (i.e. the module of vector ρ) and ρp

is the distance between the target’s barycenter and the point P previously defined.

In order to write the LIDAR measurement equation we therefore have to know the

target’s shape, which is one of the assumptions made in Section 1.2. Besides, it is clear

that by using the cylinder with solar panels shape we can’t define a unique measurement

equation fro the LIDAR model. This because the quantity ρp in equation (1.119) is

computed dependently on which part of the target’s body is intersected by the ρ vector.

We then need to define more than one measurement equation and occasionally use the

correct one by knowing on which part of the target’s body is the point P (e.g. in Figure 1.5

41

Page 52: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

the point P lies on the cylinder’s lateral surface).

We first need to find a way to certainly and easily determine which part of the body

is intersected by the ρ vector. To do so, we define some angles which are fixed in time as

they are function of the target’s geometry, i.e. of the coefficients rc, hc, Lp, wp and hp

(see Section 1.5). These angles can be seen in Figure 1.6 and 1.7.

z

x

δ

ε

γ

FIGURE 1.6. Target’s elevation angles γ, δ and ε.

x

y

α

β

FIGURE 1.7. Target’s azimuth angles α and β.

42

Page 53: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

Their expressions are the following

α= tan−1( wp

2(rc +Lp

))(1.120)

β= tan−1( wp

2rc

)(1.121)

δ= tan−1( hp

2(rc +Lp

))(1.122)

γ= tan−1( hp

2rc

)(1.123)

ε= tan−1(

hc

2rc

)(1.124)

By comparing the azimuth and elevation angles obtained with respect to the target’s

body frame with these angles we can understand where is the intersection point P. The

azimuth and elevation angles(az, el

)in the target’s body frame are obtained as follows

az = tan−1( (BODY ) y

(BODY )x

)(1.125)

el = sin−1( (BODY )z

ρ

)(1.126)

(BODY )ρ =

(BODY )x(BODY ) y(BODY )z

= C(HILL)ρ(1.127)

We can then write all the different expression for ρp, with regard of the part of the

43

Page 54: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

body to which the point P belongs

ρpc,lat = rc

√1+ tan2 (

el)

if γ≤ |el| ≤ ε ∨ (|el| ≤ ε and β≤ |az| ≤ 180−β)(1.128a)

ρpc,up/down = | hc

2sin(el

) | if |el| > ε(1.128b)

ρpsp,edge =(rc +Lp

)√1+ tan2 (az)+ tan2 (

el)

if |el| ≤ δ and(|az| <α ∨ |az| > 180−α)(1.128c)

ρpsp,lat =wp

2

√√√√1+ tan2 (az)+(

tan(el

)tan(az)

)2

if |el| ≤ δ and(α< |az| <β ∨ 180−β< |az| < 180−α)

(1.128d)

ρpsp,up/down =hp

2

√√√√1+ 1tan2 (

el) +(

tan(az)tan

(el

) )2

if δ≤ |el| ≤ γ and(|az| <β ∨ |az| > 180−β)

(1.128e)

where the ρp quantities represent the length of the vector ρp going from the target’s

barycenter to the point P when the latter is respectively belonging to:

1. the cylinder’s lateral surface;

2. the cylinder’s upper or lower face;

3. the solar panel’s external surface;

4. the solar panel’s lateral surface;

5. the solar panel’s upper or lower surface.

Knowing the quantities ρ = ||ρ|| and ρp we can use (1.119) to determine the measure-

ment we get from the LIDAR sensor.

It is important to underline the fact that is tricky to find derivatives of equations

(1.128) with respect to the state vector’s components, which would be needed for the

composition of the H matrix in the Extended Kalman Filter. This means that, when we

will be comparing the three filters, we will use a simpler model of the LIDAR, which

gives the distance between the chaser’s and target’s barycenters

(1.129) ρ =√

x2 + y2 + z2

44

Page 55: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

In this way it is simpler to compute the derivatives of all the measurements equations,

i.e. we can compute matrix H and use the Kalman filter.

However, when we will be using either the UKF or the UHF independently, as the

computation of the H matrix is not required for these filters, equations (1.128) will be

used instead.

1.8 Control

Considering what have already been said, we need a control profile to be applied to the

chaser in order to make him follow the trajectory we design through Guidance section.

This is because the maneuver designed is not a solution of the relative free dynamics

equations.

Recalling what has been said in Section 1.3.3, the optimization process in itself

gives us an Open-Loop control profile which is the optimum one, i.e. it guarantees

the consumption of the smallest amount of Delta v among all the possible approach

maneuvers, under the same configuration. We will call this control profile with uol .

This means that, if the chaser really is in x0, the Open-Loop control uol is the best

one we can apply in terms of Delta v. However, it is always true that we don’t know

the true position x0 at initial time, but an estimation of it given a-priori from previous

investigations, which we’ll call x0. It is clear that the control profile uol previously found

to be optimum for x0 it’s not optimum anymore for x0.

Therefore, from now on, we have to get used to living with the idea that the path

really followed by the chaser won’t ever be the one designed by the Guidance section.

This implies that the Delta v consumes will always be higher than the optimal one.

What we need is a control which helps us to converge to the optimal one we have

designed. This can be done by a Closed-Loop control. This kind of control uses the state

information as a feedback for the control computation and tends to make the chaser

following the trajectory we want. From now on, we are going to call Desired Trajectorythe trajectory we want the chaser to follow, i.e. the optimal trajectory previously designed,

and with Desired State xd (t) all the set of states we want to follow.

In this work we use a simple LQR Linear Quadratic Regulator for the controller

designing. The expression of a closed-loop controller is the following

(1.130) u=−KLQR (x (t)−xd (t))

45

Page 56: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

Note that the state estimation x is the only information we can get of our systems, and

so it is the only one we can use for the feedback loop.

The K matrix is the LQR gain matrix

(1.131) KLQR = R−1BTS

where:

• R is a diagonal, positive-definite matrix containing user-chosen weights;

• B is the matrix which express the control application in the dynamics equation

(1.132) x= Ax+Bu

By recalling TH equations (1.46), we can say the B matrix has got the following

shape

(1.133) B =

0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 1

T

• S matrix is the matrix obtained solving the so-called Algebraic Riccati Equation

(1.134) SBR−1LQRBTS−SA− ATS−QLQR = 0

where A is the dynamic matrix (1.88) and QLQR is a diagonal, positive-definite

matrix containing user-chosen weights.

It is important to remember that the Riccati equation (1.134), along with the logic of

the LQR control, is obtained via minimization of the following cost function

(1.135) JLQR = 12

xTf S f x f +

12

∫ t f

t0

(x (t)T QLQRx (t)+u (t)T RLQRu (t)

)dt

where x= x−xd is the error between the real position and the desired one.

Minimizing JLQR is a compromise between the minimization of the final error x f , the

sum of the errors along the entire maneuver∫

x (t) and the overall control cost∫

u. The

compromise is set by carefully choosing the weights matrices QLQR and RLQR . Setting a

high QLQR and a low RLQR means we want to weight more the importance of having a

low overall error, which means the error will be small, but the control cost will be high.

On the other hand, if QLQR is small and RLQR is high, we want to obtain lower control

46

Page 57: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

levels in place of a higher overall maneuver error, i.e. we will have a lower Delta v and a

higher state error.

We want to underline the fact that, in the real application of this controller, the

closed-loop control can be computed only in the instant when we have an estimation of

the state, i.e. the closed-loop control is computed at each instant tk and is kept constant

over the time interval diving two consecutive measurements acquisitions. This means

we use the closed-loop control as a Digital control, i.e. non continuous in time

(1.136) uk =−Kk|LQR(xk −xd,k

)Note that the LQR gain K is not constant over the maneuver as the dynamic matrix A

is function of quantities varying with time, i.e. the LQR gain computation is undertaken

at each time instant tk.

1.8.1 Thrusters profiles

The closed-loop control obtained in (1.130) is a vector of three components acting along

the inertial axes directions, i.e. in our case the Hill frame axes. However, this control

profile is not the one exerted from the chaser’s thrusters for different reasons:

• the chaser can be equipped with a number of thrusters greater than the number of

components of the closed-loop control vector, i.e. three;

• the thrusters won’t always be aligned with the Hill frame axes directions as the

chaser is undertaking an attitude maneuver as well.

We assume, without loss of generality that the chaser has propulsion system con-

sisting of six thrusters, two per each body axis, placed in the opposite verses. This is

the simplest configuration required to have the capability of accelerating and breaking

in each direction. Note that we suppose here that the thrusters in each direction are

perfectly aligned and that the line of application of the thrusts contain the center of mass

of the chaser, so no momentum are generated that affects the attitude maneuver.

The three-axes control vector is related to the six thrusts profile in the following way,

by means of the chaser’s attitude matrix Cc and the configuration matrix Hc

Cc (t)T HcT (t)= mcu (t)(1.137a)

Hc =

1 −1 0 0 0 0

0 0 1 −1 0 0

0 0 0 0 1 −1

(1.137b)

47

Page 58: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

where mc is the chaser’s mass, and is used in the right hand side to obtain the forces

along x, y and z, while the vector T (t) is a (6×1) vector containing the six thrusts profiles

exerted from the six thrusters. Equation (1.137a) must be verified at each time instant,

for each value of the control.

Equation (1.137a) shows how to pass from a 3-axes to a six thrusters control repre-

sentation. From the Control section we have the closed loop control profile expressed

along the three axes of the Hill frame at each instant and we want to convert it to a

vector of six thrusts profiles. So we want to isolate vector T (t). The matrix Cc (t)T Hc is a

(6×3) matrix, i.e. a rectangular matrix, which means it cannot be inverted to isolate T (t).What we do is to use an optimization process and set equation (1.137a) as a constraint.

Another constraint we need to set is that each component of the Thrust vector T (t) must

be lower than the maximum thrust exerted from the thrusters Tmax. We minimize the

linear cost function

(1.138) JT =6∑

i=1|Ti|

so to lower the sum of all the thrusts profiles.

If we follow the digital approach presented in the previous Section, What we have as

an output are six thrusts profiles which are constant over the k-th time interval ∆t.

1.8.2 Pulse Width Modulation

Once we have obtained the six thrusts profiles, constant over the k-th time interval, we

then need to take a little step more towards the actual feasibility of these thrusts profiles.

We know that real thrusters generally used for small maneuvers can only haven’t got a

modular thrust profile, but can only exert a certain thrust, which is the Tmax we already

mentioned. The application of this thrust is impulsive, and takes place in a small time,

which can be modulated in order to suit the needs of the mission’s profile.

In order to obtain the same effect that the six thrusts profile would have, we use

the Pulse Width Modulation (PWM) technique. This method consists in replacing the

thrusts profile in each time interval with small impulses that have the same integral

over time as the discretized thrusts profiles. The impulses are centered on the k-th time

interval, have got the maximum amplitude attainable (Tmax) and are applied over a

certain amount if time σk.

Another important quantity to consider is the delay time τk which represent the wait

time from the beginning of the k-th time interval (tk) to the instant where the impulse

takes place.

48

Page 59: Choreography on Elliptical Orbit

CHAPTER 1. THEORETICAL BACKGROUND

Both σk and τk has to be found by equating the integral of the k-th impulse over time

with the integral of the k-th thrust level Tk over time. The result is

σk =Tk

Tmax∆t(1.139a)

τk = (∆t−σk)2

(1.139b)

49

Page 60: Choreography on Elliptical Orbit

CH

AP

TE

R

2GNC SIMULATION TOOL

In order to test the feasibility of the maneuver deigned by the Guidance section, of

the Navigation system and of the Control law adopted, all of them presented in the

previous Chapter, a MATLAB simulation tool has been developed. A library with

several utilities has been created, all of them related to the autonomous GNC problem

for rendezvous and docking. Several of the scripts implemented where used to carry

out investigations and comparisons in order to come up with a main script capable of

simulating an user-defined autonomous docking maneuver.

2.1 Library Summary

The list of routines developed includes the followings.

1. Different kind of relative and inertial dynamics (Section 1.1) among which:

• linear relative dynamics;

• nonlinear relative dynamics with and without drag perturbation;

• inertial dynamics with and without drag perturbation.

2. Different type of filters (Section 1.7) among which:

• Extended Kalman Filter;

• Unscented Kalman Filter;

50

Page 61: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

• Unscented H Infinity Filter.

All of them have got different versions which differ for either taking or not into

account the integration of the target’s dynamics, either considering or not different

type of measurements models (used for the comparison between filters) and either

making them usable in a GNC loop or for a posteriori results computation.

3. Several Guidance routines which are used for computing the optimized approach

path (Section 1.2) and differs for:

• the parameterization used;

• the use of time either as a free parameter or as a set constant;

• the use of either the KOS or the KOC approach (Sections 1.2, 1.5);

• either taking or not into account the target’s rotation (this was used for the

very first investigations on the best parameterization, whose results will be

presented later on)

Note that at the the final result was a composition of all the different type of Guid-

ance routines which gives the possibility to the user to chose the parameterization,

its degree and the dynamic to be used.

4. Docking trajectory computation (Section 1.4).

5. Different measurements models (Section 1.7.4):

• an elevation, azimuth and range from the target’s center of mass model;

• an elevation, azimuth and range from the target’s surface model (camera plus

LIDAR),

6. Open-Loop Control computation for target-pointing chaser’s attitude maneuver

(Section 1.6).

7. Auxiliary functions for the target’s attitude propagation and integration.

8. Superellipsoid functions describing the target’s shape (Section 1.5).

9. Auxiliary utilities for

• calculation of the atmospheric density, equation (1.17), Section 1.1.3 (imple-

mented in C language for computational speed reasons);

51

Page 62: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

• transformation from position and velocity vectors to orbital elements and vice

versa;

• Kepler’s equation (1.40) resolution, Section 1.3.2 (change from mean anomaly

M to eccentric anomaly E).

2.2 Structure of the code

In this Section we are going to present the structure of the main script used for simulating

the docking maneuver in all its aspects.

The main structure of the code is shown in Figure 2.1. In it we can recognize the

following parts:

1. INPUTS. Here all the quantities needed for the computation are set by the user.

We don’t need to define only numerical or vector quantities but also options that

are going to be used inside functions.

• Option variables with which the user is choosing: the dynamical model (linear,

nonlinear, nonlinear with drag), the type of control used (open-loop, closed-loop

constant over the time interval, closed-loop variable over the time interval),

the parameterization used for the trajectory design (Polynomial, Fourier,

DCOE) and its degree.

• Planetary constants: µ, R⊕1, ωe.

• Initial relative conditions: xd,0. These initial conditions are used for the

maneuver trajectory definition, so they are used as the initial desired state,

i.e. they can be different from either the true state, or the estimated state, or

both.

• Docking point in the body frame: (BODY )ζ.

• Target’s orbital elements: a, e, i, Ω, ω, f0 (which automatically defines the

initial time of the maneuver t0).

• Time of the approach maneuver as a fraction of the target’s orbital period

(2.1) ta = ta

T

where T =õ/a3 .

1Earth’s mean radius.

52

Page 63: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

• Time of the docking maneuver: td.

• Time interval’s length: ∆t.

• Target’s initial attitude: C0.

• Target’s spin: ωt.

• Target’s geometry: rc, hc, Lp, hp, wp.

• Target’s shape function: g.

• Target’s and chaser’s drag coefficients: cD,t, At, mt, cD,c, Ac, mc and conse-

quently lc if we assume that the chaser has a cubic shape.

• Docking offset: δ0.

• Chaser’s moments of inertia: I1, I2, I3.

2. GUIDANCE. In this block the optimal path, given the chaser’s initial conditions

and the time of flight, is computed.

3. GNC LOOP SETTINGS INITIALIZATION. Numerical quantities needed by the

filter and the closed-loop control are defined.

• Initial estimation and desired errors: εe,0, εd,0 (see Section 1.7), such that

x0 = xd,0 +εd,0(2.2)

x0 = x0 +εe,0(2.3)

• Process noise matrix: Q.

• Measurements noises and therefore the covariance matrix: R.

• LQR gain matrices: QLQR , RLQR .

4. GNC LOOP. In this loop the estimated state is evaluated at each time step by

starting from the initial guess x0, equation (2.3).

5. THRUST COMPUTATION. The six thrusts profile and the pulsed profiles (PWM)

are computed by using the control obtained in the GNC LOOP block (see Section

1.8.1 and 1.8.2). In this block, before the thrust profiles computation, the chaser’s

attitude is computed by means of the OACA (One Axis Constrained Attitude)

routine, which is applying the algorithm presented in Section 1.6, so the method

described in Section 1.8.1 for computing the thrusts profiles can be used (equation

(1.137a) requires the knowledge of the chaser’s attitude at each instant).

53

Page 64: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

6. OUTPUTS. A video of the maneuver is shown and/or graphs are plotted regarding:

• state profile in time;

• linear open-loop and closed-loop control profile in time;

• attitude open-loop control profiles in time;

• thrusts profiles in time;

• pulse width modulation;

• estimation, desired and total errors profiles in time;

• 3D plot of the true, desired and estimated trajectory.

FIGURE 2.1. Code’s main scheme.

In the following Sections we are going into details of some of the blocks we have just

presented.

54

Page 65: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

2.3 Guidance block

We recall from Section 1.2, 1.3 and 1.4 that the docking path is divided into an approach

and a docking trajectory, which are computed in different ways.

The routine COATGS (Control Optimization for Approach Trajectory for GenericShape)2 is used for the computation of the approach trajectory, while the DT (DockingTrajectory) one is used for the docking trajectory computation.

FIGURE 2.2. Guidance block scheme.

In Figure 2.2 is shown the logic flow of the GUIDANCE block.

1. GUIDANCE INPUTS. The inputs needed by the GUIDANCE block are:

• initial relative conditions xd,0;

• docking point expressed in target’s body frame (BODY )ζ;

• docking offset δ0;2Generic Shape stays for the target’s generic shape we can give as an input of the COATGS routine.

55

Page 66: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

• approach maneuver time taf ;

• target’s orbital elements a, e, i, Ω, ω, f0;

• target’s initial attitude c0;

• target’s spin velocity vector ωt;

• target’s shape rc, hc, Lp, hp, wp;

• target’s shape function g;

• options such as type of parameterization to be used, degree of the parameteri-

zation, dynamical model to be used.

2. COATGS. The operations undertaken in the COATGS routine are presented in the

next Section.

3. DT. In the DT routine it is implemented the strategy explained in Section 1.4.

4. GUIDANCE OUTPUTS. The outputs of the GUIDANCE block are:

• the optimized state profile that we want the chaser to follow, i.e. the optimized

desired state (position and velocity) in time;

• the Open-Loop control needed to fulfill the maneuver if the chaser’s true

initial conditions are exactly the desired one xd,0.

2.3.1 COATGS Routine

In the COATGS routine the computation process of the optimized approach trajectory

is undertaken. The flow chart is presented in Figure 2.3, where the example of the

polynomial parameterization is shown (Section 1.3.1.1). From now on in this Section we

are going to assume we are using the nonlinear TH equations with drag perturbation.

1. OPTIMIZER INITIALIZATION. Here the following operations are undertaken.

• Integration of target’s dynamics: as the time of flight is fixed, we can integrate

the target’s dynamic equations (1.20) and compute the quantities used in the

TH equations (1.46), such as ω0 (t), ω0 (t), r0 (t), D0 (t) and the target’s orbital

elements profile in time3 a (t), e (t), i (t), Ω (t), ω (t), f (t).3The orbital elements change in time whenever a perturbation is considered to act on the spacecraft.

56

Page 67: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

• Approach point propagation: the COATGS function takes as inputs the dock-

ing point expressed in the target’s body frame (BODY )ζ and the docking offset

δ0 and computes the approach point at final time taf in the Hill frame (Section

1.2.1)

(BODY )ξ= (BODY )ζ+δ0(BODY )ζ(2.4a)

(HILL)ξ f = C(taf

) (BODY )ξ(2.4b)

• First guess of the parameterization coefficients. A first guess value of the

free parameterization coefficients, i.e. the optimization variables, is set: β0

(Section 1.3.3).

2. POLYNOMIAL COMPUTATION. This is the first step of the POLO (PolynomialOpen Loop Optimization) routine, where the polynomial parameterization is used.

The flow chart for the other parameterizations is the same as the one presented in

Figure 2.3, except for the POLYNOMIAL COMPUTATION block which would be

replaced with a FOURIER COMPUTATION or a DCOE COMPUTATION block.

In this block the polynomials describing the approach phase are computed by

using the parameterization coefficients α, part of which are the free parameters β

whereas the others coefficients are computed by means of the process described in

Section 1.3.1.1 (see Sections 1.3.1.2 and 1.3.2.2 for Fourier and Dcoe parameteriza-

tions respectively).

3. COLLISION AVOIDANCE CHECK. With the polynomials obtained a collision

avoidance check is made to verify that the chaser is never colliding with the target,

i.e. it is never inside the Keep Out Shape (see Section 1.5). If a collision is detected

the code skips the next phases and goes directly to the COEFFICIENTS UPDATE

block, where a new guess is set for the optimization variables4 β and the process

goes back to point 2.

On the other hand, if no collision is detected, the algorithm goes to the next block.

4. CONTROL EVALUATION. The position, velocity and acceleration polynomial

profiles are used in equations 1.46 to compute the 3-axis control profile. The4The new guess is computed by MATLAB’s fmincon routine by taking into account the collision

avoidance constraint function’s numerical gradient.

57

Page 68: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

objective function 1.21 is evaluated by means of a numerical integration

∆v =∑k

uk (tk+1 − tk)+ (uk+1 −uk) (tk+1 − tk)(2.5a)

uk =√

u2x,k +u2

y,k +u2z,k(2.5b)

If we are in a minimum of the objective function5, the solution of the optimization

problem has been found, so the algorithm exits the COTGS function and goes

directly to the computation of the docking trajectory (DT block).

Elsewhere, the flux is going back to the COEFFICIENTS UPDATE block, where a

new guess for the optimization variables β is set.

POLO!

•  Integra(on of target’s dynamics •  Approach point propaga(on •  First guess of the

parameteriza(on coefficients

FIGURE 2.3. COATGS routine flow chart.

5MATLAB’s fmincon routine evaluates the objective function’s numerical gradient to check if we are ina local minimum. A function tolerance and an optimization variables tolerance are set as optimizationprocess stop flags.

58

Page 69: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

2.4 GNC LOOP block

In the GNC LOOP block the state is estimated at each time instant tk by using one of the

filters presented in Section 1.7. As the motion is controlled, so to make the chaser follow

the desired trajectory, the control has to be computed and used into the TH controlled

dynamic equations (1.46).

The GNC LOOP scheme is shown in Figure 2.4.

1. ESTIMATION XK . Here we set as estimated state and covariance at time tk the

state and covariance estimated at the end of the previous step. If we are entering

the GNC LOOP block for the first time, i.e. at t0 +∆t, the state estimated at time

t0 is given by equation (2.3) and the covariance is set as follows

(2.6) P0 =

σ2x,0 0 0 0 0 0

0 σ2y,0 0 0 0 0

0 0 σ2z,0 0 0 0

0 0 0 σ2x,0 0 0

0 0 0 0 σ2y,0 0

0 0 0 0 0 σ2z,0

where σi is the a priori covariance associated with the i-th component of the state,

and is set from the user by previous knowledge of the state of the system.

2. CONTROL COMPUTATION. Here the control is computed using the state esti-

mated at tk, i.e. xk. The control used can be either the Open-loop one obtained in

the GUIDANCE block or the Closed-loop one obtained through equation (1.136).

Both of them can be used either by considering a constant control over the time

interval ∆t or by interpolating the control profile throughout the time interval with

MATLAB’s routine interp1.

3. TRUE STATE PROPAGATION. The true state xk is propagated to xk+1 by means

of the TH dynamic controlled equations (1.46), where the control used is the one

computed in the CONTROL COMPUTATION block. If we are entering the GNC

LOOP for the first time, we set as initial conditions for the integration the value

given by equation (2.2).

The target’s state is propagated too, so we have xt,k+1.

4. OBSERVED MEASURES COMPUTATION. The observed measures are generated.

This process and the true state propagation are fictitious as in a true mission the

59

Page 70: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

true state is unknown and the measures directly come from the sensors as pure

numbers. In the case of a simulation we are generating the observables observed by

the sensors, therefore we are using the measurement model presented in Section

1.7.4 giving as input the true state xk+1, as in the real world the observed measures

are function of the real position where the spacecraft is.

Besides, in order to simulate the real world conditions we are adding artificial

noise to the measures obtained in this fictitious process. The noise we are adding is

a white gaussian noise with standard deviation equal to the measures covariances.

5. FILTER. Here one of the filters presented in Section 1.7 is used. The processes

undertaken in this block are presented in the mentioned Section’s Subsections. The

input needed by this block are

• state estimation at previous time xk;

• covariance estimation at previous time Pk;

• time interval length ∆t;

• observed measures zk;

• target’s state xt,k+1;

• process noise matrix Q;

• measurements covariance matrix R;

• computed control uk;

• dynamical model;

• measurement model.

6. ESTIMATION XK+1. The FILTER block gives the state and covariance estimation

at time tk+1 as an output, i.e. xk+1 and Pk+1. These values are stored in two arrays

for future plots and they are set as estimations for the next time step (K +1= Kblock).

60

Page 71: Choreography on Elliptical Orbit

CHAPTER 2. GNC SIMULATION TOOL

FIGURE 2.4. GNC LOOP block scheme.

61

Page 72: Choreography on Elliptical Orbit

CH

AP

TE

R

3RESULTS

Recalling what has been said in the previous Chapters, different approaches can be

considered when dealing with each subsystem of the GNC system, i.e. Guidance,

Navigation and Control strategies can be chosen differently in each mission in

order to fit the needs in each particular situation.

In the following Section the results of different type of investigations are presented.

First of all, some comparisons are made regarding the followings:

• parameterizations used in the Guidance system (Sections 1.3);

• filters used in the Navigation system (Section 1.7);

• control laws (Section 2.4, Point 2);

• KOS and KOC approaches (Sections 1.2 and 1.5).

Decisions will be taken out of the results presented so to chose the configuration of

the GNC system that gives the best results in terms of:

• maneuver Delta v (∆v);

• estimation error (εe);

• desired error (εd);

• computational time;

62

Page 73: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

• feasibility of the maneuver.

The last step is to show results obtained with the final version of the algorithm, made

up with the best choices among each block of the GNC system.

3.1 Guidance

When studying the different Guidance strategies for the docking problem, i.e. different

parameterizations, degrees and maneuver times, we will assume the problem to be

simpler than the one presented in Section 1.2. We are going to assume, where not

differently stated, that the chaser is undertaking a single optimized phase from an initial

state x0 to a final state x f , whose coordinates are given as fixed in time, i.e. we will

initially considered that the target is not rotating as well. On of the consequences we

are assuming a single phase is that we can consider a single maneuver time tm, still

expressed as a fraction of the target’s orbital period. For this preliminary step we are

also assuming the followings:

• the dynamic is linear without drag perturbation;

• there figuratively isn’t any target, but the desired final state is set to be all zero

components.

The first assumption implies there’s no need to defined the chaser’s and target’s drag

coefficients. The reasons why we are considering a linear dynamic instead of a nonlinear

one will be explained later. The last assumption gives us the possibility to forget about

all the quantities such as the docking point, docking offset, target’s dimensions, target’s

shape, target’s attitude and spin velocity.

All this is made to simplify the problem so that the attention can be moved towards

the guidance problem so that the investigation taking place next will not be affected by

factors such as the position of the docking point and target-related quantities.

In Table 3.1 the initial and final state vectors and the target’s orbital elements

values used for this preliminary step are shown. These values are going to be used till is

differently stated.

We can see that the target’s orbital elements are chosen to be as generic as possible,

including a certain amount of eccentricity and a non-zero inclination component. The

maneuver is supposed to start when the target is at its perigee ( f0 = 0).

63

Page 74: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

The initial conditions are set to be relatively close to the target, as this optimization

procedure, and the entire maneuver considered as a composition of two phases (Section

1.2), is thought to be undertaken while the relative distances become little and we have

a clear idea of the target in all its aspects (shape, geometry, attitude, rotating rate).

Target’s Orbital Elements Initial state x0 Final state x f

a 7500km x0 500m x f 0me 0.1 y0 100m yf 0mi 30 z0 10m z f 0mΩ 100 x0 1m/s x f 0m/sω 40 y0 2m/s yf 0m/sf0 0 z0 0m/s z f 0m/s

TABLE 3.1. Guidance study data. Target’s orbital elements, initial and finalrelative state vectors.

3.1.1 Parameterization and Degree Study

The first investigation we are going to make is about the type of parameterization used

and its degree. First of all, we use the polynomial parameterization in time presented in

Section 1.3.1.1.

In Figure 3.1 the minimum Delta v’s profile with respect to the polynomial degree k is

shown. The maneuver time is set to be half of the target’s orbital period, i.e. tm = 3785.4 s.

Unexpectedly, it is not true that greater degrees correspond to smaller Delta v. In

fact, there is a minimum Delta v among all the degrees up to k = 18 and that happens for

a 9th degree polynomial1. This could be because higher order’s coefficients are useless

for the purpose of representing the trajectory shape which best approximates the linear

solution shape.

A periodic shape appears from k = 10 to k = 13 and repeats from k = 14 to k = 18. This

makes us thinking that the same shape is repeating for higher degree, thus confirming

that 9th degree is the minimum one.

The minimum Delta v value, corresponding to a 9th degree polynomial, is of mettivaloredeltav.

In Figure 3.2, the results of a degree-variation study for the Fourier parameterization

(Section 1.3.1.2) are presented. The Delta v profile is both similar till 9th degree and1No investigation has been made for higher degrees as computational time would increase significantly,

leading to inefficiencies of the Guidance system in a real situation.

64

Page 75: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

4 6 8 10 12 14 16 184

4.5

5

5.5

6

6.5

Polynomial Degree

Delta v (m/s)

Minimum

FIGURE 3.1. Degree study with polynomial parameterization. Minimum Deltav profile with respect to degree variation. Minimum Delta v in red. Fixedmaneuver time: tm = 0.5.

different above from the one obtained with the polynomial parameterization. As we can

see, after the minimum value occurs for k = 9, we haven’t got a periodic shape as in

Figure 3.1, but the Delta v values seem to evenly distribute around a certain mean value

greater than the minimum one.

In Figure 3.3 it is presented the Delta v profile for the DCOE parameterization

(Section 1.3.2.2). We can see that the results in this case remain bounded between 5m/sand 3.8m/s for each degree, which means that the DCOE parameterization is a valid

choice Delta v speaking regardless of the degree used.

In Table 3.2 the minimum Delta v for each parameterization and its degree are shown.

There aren’t big differences in terms of Delta v between the three cases presented, so, at

least at this preliminary step of our investigation, there aren’t relevant results which

make the choice obvious.

What we can say so far is that:

• for high degrees, the polynomial parameterization presents lower Delta v than the

other parameterizations;

65

Page 76: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

0 5 10 15 204

4.5

5

5.5

6

6.5

7

7.5

8

8.5

9

Fourier Degree

Delta v (m/s)

Minimum

FIGURE 3.2. Degree study with Fourier parameterization. Minimum Delta vprofile with respect to degree variation. Minimum Delta v in red. Fixedmaneuver time: tm = 0.5.

Parameterization k ∆v|min (m/s)

Polynomial 9 4.03Fourier 9 4.05DCOE 10 3.91

TABLE 3.2. Minimum Delta v comparison for different parameterizations. De-gree k and minimum Delta v ∆v|min. Fixed maneuver time: tm = 0.5.

• for low degrees, the Fourier parameterization has got higher Delta v than the other

parameterizations;

• the DCOE parameterization has got great results from low to high degrees, and

this is confirmed by the fact that for k = 6 it still present a low Delta v (3.95m/s)

which is still lower than the minimum Delta v of the other parameterizations.

It is important to note that the degree used for the three parameterization presented

have got different meanings. For the polynomial parameterization, the minimum degree

we can use is k = 4, with which we have three free coefficients, one for each state position

66

Page 77: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

0 5 10 15 203.8

4

4.2

4.4

4.6

4.8

5

DCOE Degree

Delta v (m/s)

Minimum

FIGURE 3.3. Degree study with DCOE parameterization. Minimum Delta vprofile with respect to degree variation. Minimum Delta v in red. Fixedmaneuver time: tm = 0.5.

component. Considering a polynomial of one degree higher means we are adding three

free coefficients for the optimization process, one for each state position component.

For the Fourier parameterization, the minimum degree is k = 2 and each degree

above means six more free coefficients, i.e. two for each state position component.

For the DCOE parameterization, the minimum degree is k = 3 with which we have 6

free coefficients. In this type of parameterization we have six polynomials, i.e. one for

each orbital parameter difference, which means that adding a degree means considering

six more free coefficients.

Summarizing in a mathematical way

mPOL = 3(k−3)(3.1)

mFOU = 3(2k−3)(3.2)

mDCOE = 6(k−1)(3.3)

The best way to compare the results obtained in Figure 3.1, 3.2 and 3.3 is to show

the Delta v profile with respect to the number of free coefficients m, because in this way

we have an idea of the objective function variation with the effective degrees of freedom

67

Page 78: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

used. This comparison is shown in Figure 3.4. The red markers represent the minimum

Delta v for the different parameterizations.

0 20 40 60 80 100 1203

4

5

6

7

8

9

Free Coefficients

Delta v (m/s)

PolynomialFourierDCoePolynomial MinFourier MinDcoe Min

FIGURE 3.4. Degree study, parameterization comparison. Minimum Delta vprofile with respect to degree variation for each parameterization. MinimumDelta v in red. Fixed maneuver time: tm = 0.5.

What we can say from an accurate analysis of Figure 3.4 is that:

• the Fourier parameterization results are averagely higher than the other parame-

terizations;

• the polynomial parameterization is the one to have the minimum Delta v at the

lowest number of free coefficients, meaning that a low number of optimization

variables are treated by the optimization routine, thus highly likely leading to a

global minimum instead of a local minimum of the objective function;

• the DCOE parameterization has got good results even with a low number of free

coefficients, but is the parameterization to have the minimum Delta v at the highest

number of free coefficients;

• the Delta v obtained with the DCOE parameterization are lower than the other

one because equations (1.42) are a solution of the linear dynamic system, i.e. the

68

Page 79: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

one we are using for this investigation. This means we are now obtaining the best

results we can get from the DCOE parameterization and the Delta v differences

between this and the other parameterizations are going to become smaller when

nonlinear dynamic equations with drag perturbation are going to be used;

• there are point in the graph where, for a fixed number of free coefficients, the

polynomial parameterization has got a lower Delta v than the DCOE one (this

happens for example for a low number of free coefficients, i.e. m = 6 and m = 12);

• the polynomial parameterization converges to low Delta v values for numbers of

free coefficients which are lower than the other parameterizations, which is a good

feature as a goal when dealing with optimization problems is to work with low

numbers of optimization variables;

• the Fourier parameterization is not good for high numbers of free coefficients.

If we were only to look at the Delta v results without caring about anything else,

the obvious choice would be the DCOE parameterization, with k = 10. However, we

mentioned another important issue about optimization problems, which is the number of

the optimization variables: we generally want to keep this number as low as possible in

order to be sure we are really obtaining a global minimum of the objective function and

not a local one.

Nevertheless, it is true indeed that a low number of optimization variables leads to

lower computational times. As we want our Guidance system to compute the desired

trajectory as fast as possible so to avoid delays in the control application in real-time

situations, what we are looking for when choosing the parameterization is a low compu-

tational time too.

A study has been carried evaluating the computational time for each degree of each

parameterizations. The results obtained with the number of free coefficients as an

independent variable are shown in Figure 3.5.

We can see that the DCOE parameterization has got overall greater computation

times and this is explained by the fact that we are solving a constrained optimiza-

tion problem, whereas in the other parameterizations we don’t have any constraint

(see Section 1.3.2.2). This unavoidably raises the computational time and makes the

DCOE parameterization slower than the others even at low degrees, i.e. number of free

coefficients.

69

Page 80: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

The polynomial and Fourier parameterizations have got an almost constant computa-

tional time for a low number of free coefficients till m = 39, where there is a discontinuity

and the computational time instantly increases to higher values. From this point on, the

polynomial parameterization’s computational time grows smoothly, almost linearly, with

the number of free coefficients, while the Fourier computational time grows exponentially.

The DCOE computational time instead grows exponential-like till m = 42, and starts

to act really weirdly for higher numbers of free coefficients, but still maintaining overall

greater computational times.

0 20 40 60 80 100 1200

50

100

150

200

250

300

350

400

450

500

Free Coefficients

Computational Time (s)

Polynomial

Fourier

DCoe

FIGURE 3.5. Computational time vs free coefficients. Results for each parame-terization. Fixed maneuver time: tm = 0.5.

In Table 3.3 the computational times and free coefficients of the minimum Delta v

points for the three parameterizations are shown. We are defining here is a trade-off

between Delta v and computational time, i.e. we want to have high performances (low

Delta v) and low computational times.

The DCOE computational time is greater than the other two, and is way too unac-

ceptable for a real time situation. Moreover, the increase of performances brought by the

DCOE parameterization, i.e. the decrease of the Delta v, does not justify the increase

in the computational time. In other words, the little Delta v saving obtained with the

DCOE parameterization with respect to the other choices is not worth the enormous loss

70

Page 81: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

in terms of computational time.

In addition to that, when comparing polynomial and Fourier parameterizations, the

former has got better Delta v and computational time, so the choice is straightforward.

Parameterization k m Tc (s) ∆v|min (m/s)

Polynomial 9 18 1.99 4.03Fourier 9 45 29.32 4.05DCOE 10 54 73.05 3.91

TABLE 3.3. Parameterization and degree study: final summary. Degree k, num-ber of free coefficients m, computational time Tc and Delta v ∆v for theminimum Delta v cases. Fixed maneuver time: tm = 0.5.

Another key aspect of using the polynomial parameterization is that it doesn’t have

any singularities regarding the maneuver time value. The Fourier and DCOE parame-

terizations have instead got singularities for some values of t and f respectively as they

contain trigonometric functions.

If we don’t remain bounded to the minimum Delta v points found for each param-

eterization, What we can do is find degrees among all the parameterizations where

the computational time is lower and Delta v is not far from the respective minimum.

Looking at Figure 3.4 and 3.5, a good choice seems to be a polynomial with m = 12 free

coefficients, i.e. degree k = 7. In fact, the Delta v is 4.13m/s and the computational time

is 0.86 s, which respectively are 2% higher than the minimum Delta v (4.03m/s) and 57%

lower than the correspondent computational time (1.99 s). It is therefore clear that with

this choice we have obtained a good improvement in the computational time without

excessively loosing in terms of performances.

Having found out that the polynomial parameterization in time is the best so far, we

compare it with the polynomial parameterization in true anomaly (see Section 1.3.2.1).

The results are shown in Figure 3.6. We can see that the Delta v obtained with the

parameterization in time are higher than the one obtained with the parameterization

in true anomaly for low degrees, i.e. k = 4 and k = 5, while it happens the opposite for

degrees higher than k = 6. In particular, for k = 7 the time parameterization Delta v is

lower than the true anomaly parameterization one.

From now on we are, where not differently stated, we are considering a 7th degree

polynomial as the standard parameterization used for the approach phase, and will call

this choice the reference configuration.

71

Page 82: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

4 6 8 10 12 14 16 184

4.5

5

5.5

6

6.5

Polynomial Degree

Delta v (m/s)

TimeAnomalyTime minAnomaly min

FIGURE 3.6. Degree study, polynomial in time vs polynomial in true anomaly.Minimum Delta v in red. Fixed maneuver time: tm = 0.5.

3.1.2 Unconstrained Maneuver Time: Degree Study

Besides the parameterization, another key variable of an optimization problem is the

maneuver time. When it is set as a constrained quantity we of course don’t have any

possibility to change it to obtain different results. However, when the mission profile

doesn’t require a constrained maneuver time, it is worth to study the objective function

variation with it.

The Delta v profile vs maneuver time is called Pareto Front. The way we are going

to recreate this front in the specific case of our maneuver is by simply taking the same

algorithm with which we obtained the results presented in the previous Section and run

it with different times. We define a time vector tm of fractional times going from t0m to t f

m

with a step of δt and we run the optimization algorithm with each element of this vector.

We obtain the minimum Delta v for each time and we plot them vs the maneuver time.

Setting the maneuver time tm as an optimization variable, just as the polynomial

free coefficients, would the orthodox way of studying an unconstrained time optimization

problem, though in our case, especially when we will consider the target’s rotation

and the drag perturbation, letting the maneuver time variate causes incredibly higher

computational time and it is not always granted that the algorithm is finding a global

72

Page 83: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

minimum Delta v with respect to time.

Having said that the polynomial parameterization is the best out of the four presented,

it is reasonable to carry out the pareto front study using polynomials. In Figure 3.7 the

Delta v vs time graphs for polynomials with degrees k ∈ [4, 12] are plotted. The initial

and final conditions are the one in Table 3.1.

0 0.2 0.4 0.6 0.8 1 1.22

3

4

5

6

7

8

9

10

11

12

time/T

Delta v (m/s)

4

5

6

7

8

9

10

11

12

FIGURE 3.7. Pareto front for polynomial parameterization. Degree study. k ∈[4, 12]. Initial time: t0

m = 0.1. Final time: t fm = 1.1. Time step: δt = 10−3.

The curves in Figure 3.7 are not pareto front and here follows the explanation. A

pareto front is a curve obtained via a multi-objective optimization, i.e. an optimization

process where two or more objective function are minimized. In this case the two objective

functions which are to be minimized are

J1 =∆v(3.4)

J2 = tm(3.5)

This means that a pareto front is composed only of the optimal pairs (t,∆v), i.e. the

pairs where both time and Delta v are minimized. This implies that, if we fixed a certain

maneuver time t, there exist only one ∆v such that the pair(t,∆v

)is a point belonging to

the pareto front, i.e. there only exist one value of minimum Delta v (∆v) for that specific

time maneuver value (t).

73

Page 84: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

In the case of Figure 3.7 instead, there are some Delta v values which are obtained for

two values of maneuver time. In this situation, the pair with the highest time maneuver

values is not a point belonging to the pareto front.

This is true also for all the points having a Delta v and a maneuver time higher than

the ones on the left-hand side of the graph.

Basically, this all can be sum up by saying that the pareto front is a monotonically

decreasing function, which implies it can’t have a positive derivate from a certain point

on. So the pareto front is substantially ending in the minimum Delta v point. This points

are listed in Table 3.4 and plotted vs the polynomial degree in Figure 3.8.

k ∆v|min (m/s) tm

4 4.76 0.216

5 4.34 0.222

6 3.96 0.238

7 3.82 0.247

8 3.72 0.251

9 3.74 0.230

10 3.78 0.230

11 3.81 0.243

12 3.80 0.174

TABLE 3.4. Pareto Front study with polynomials. Minimum Delta v points.Degree k, minimum Delta v ∆v|min and maneuver time tm.

After a careful analysis of the results obtained we can state the followings.

1. If the maneuver time is not a mission requirement, i.e. a constraint of the optimiza-

tion problem, and we want to use the maneuver time as an optimization variable

to minimize the maneuver Delta v, the best maneuver profile we have in terms of

Delta v and under the initial and final conditions of Table 3.1, is the one obtained

by using a polynomial parameterization of degree k = 8 with a fractional maneuver

time of tm = 0.251.

2. Considering different maneuver times leads to the situation were the polynomial

degree for which we have the minimum Delta v changes, so the degree choice is not

easy if the only aim of this choice is to minimize the maneuver Delta v, regardless

74

Page 85: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

4 6 8 10 123.6

3.8

4

4.2

4.4

4.6

4.8

5

Polynomial Degree

Delta v (m/s)

Minimum

FIGURE 3.8. Pareto Front study with polynomials. Minimum Delta v points vspolynomial degree. k ∈ [4, 12]. ∆v|min = 3.72m/s for k = 8 and tm = 0.251.

of other aspects such as computational time, optimization process problems, data

handling, etc. A confirm to this observation comes from Figure 3.1, where we can

see that, for tm = 0.5, an 8th degree polynomial was a worse choice than the 7th

degree one.

3. In Section 3.1.1 we defined a reference configuration whose characteristics are

summarized in Table 3.5. In the same Table, the best case obtained with the time

variation approach is listed. As we can observe, even if the maneuver time of the

reference configuration is 100% higher than the best maneuver time and the degree

is not the same, the two Delta v differ only by 8%. This means both that:

• the best configuration strongly depends on various factors, first of all the

maneuver time;

• even if the configuration chosen is not the best, it still is acceptable in terms

of Delta v performance.

The last statement confirms that the choice made with the reference configura-

tion still is a valid choice, not only because the Delta v differences are relatively

75

Page 86: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

small, but also because here we are not considering the advantages in terms of

computational time, which are obvious for smaller degrees.

k ∆v|min (m/s) tm

7 4.03 0.58 3.72 0.251

TABLE 3.5. Reference configuration vs pareto study best configuration. Degreek, minimum Delta v ∆v|min and maneuver time tm.

3.1.3 Unconstrained Time Study: Initial Conditions

A peculiarity of this mission profile design is that the results obtained strongly depends

on a lot of factors. So far we have seen that the maneuver time is a factor which strongly

affects the parameterization choice.

Other relevant parameters in this sense are the initial and final conditions and the

target’s orbital elements. We are not making a target’s orbital elements variation study,

as this parameters cannot be changed in order to better the maneuver performances, but

are fixed by the mission requirements, i.e. the spacecraft we are targeting.

Nevertheless, the initial conditions can be varied to obtain different Delta v values.

The initial position, in fact, can be chosen ad hoc to suit the needs of the mission

requirements.

We then carry out an initial position variation study. Firstly we set the new initial

conditions as follows

x0 = x0(3.6a)

y0 = 0(3.6b)

z0 = 0(3.6c)

x0 = 0(3.6d)

y0 =− n (2+ e)(1+ e)1/2 (1− e)3/2 x0(3.6e)

z0 = 0(3.6f)

The initial position, i.e. relative distance, is totally set by variating x0. The initial

velocity’s expression is the one obtained by superimposing the energy equality between

76

Page 87: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

the target’s and chaser’s orbits, i.e. this initial velocity grants a closed relative orbit of

the chaser around the target.

We set a vector of initial positions x0 and evaluate the pareto front profiles for each

component, i.e. for each set of initial conditions listed in Table 3.6. The pareto front

profiles are plotted in Figure 3.9. A 7th degree polynomial is used.

x0 (km) y0 (m/s)

0.1 −2.28×10−1

0.5 −9.73×10−1

1 −1.952 −3.893 −5.84

TABLE 3.6. Pareto Front initial conditions variation study. Set of initial condi-tions.

0 0.2 0.4 0.6 0.8 1 1.2 1.40

2

4

6

8

10

12

time/T

Delta v (m/s)

x0 = 100 m

x0 = 500 m

x0 = 1 km

x0 = 2 km

x0 = 3 km

FIGURE 3.9. Pareto Front initial conditions variation study. 7th degree polyno-mial parameterization.

By comparing Figure 3.7 and 3.9 we can say that a significant change of the initial

conditions causes drastic differences in the pareto front profiles. Not only the shapes of

77

Page 88: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

the pareto fronts are different, but also the maneuver times where we have a delta v

minimum completely change. This can be seen from the list in Table 3.7.

Differently from the case with the initial conditions listed in Table 3.1, this time the

optimal maneuver times are all close to one target’s orbital period. An explanation of this

phenomena can be drawn from the fact that, as the initial conditions, i.e. initial velocity,

are chosen so to respect the energy equivalence, the chaser describes a relative closed

orbit in one target’s orbital period (as the frequency of this relative orbit is he target’s

mean motion). So, energetically speaking, it can be convenient for the chaser to take

advantage of the free dynamic over one target’s orbit.

Another aspect to be underlined is that in the test cases presented in this Section,

the Delta v obtained are much smaller than the ones obtained in Section 3.1.1. This is

due to the fact that the initial velocity used here are much smaller when compared to

the initial relative distance, i.e. x0, than the ones listed in Table 3.1, which are randomly

set and aren’t the result of any energy equivalence.

x0 (km) ∆v|min (m/s) tm

0.1 5×10−2 1.0340.5 2.5×10−1 1.0121 5×10−1 1.0112 1 1.0093 1.5 1.059

TABLE 3.7. Pareto Front initial conditions variation study. Results. Initialcondition x0, minimum Delta v ∆v|min and maneuver time tm.

By taking a look to Figure 3.10, the most interesting aspect of the initial condition

variation study emerges. It is clear that there is a linear relation between the chaser’s

initial relative distance from the target and the maneuver Delta v. Moreover, it is true

that the linear relation stands between Delta v and initial velocity y0 too, as the relation

between x0 and y0 is linear (equation (3.6e)).

3.1.4 Unconstrained Maneuver Time Study: Rotating Target

So far the assumption of a fixed final point has been made to carry out previous investi-

gations. If we now introduce the presence of a rotating target, it is clear that the final

state of the maneuver is not the origin anymore, but will be a certain state vector x f (t).

78

Page 89: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

x0 (km)

Delta v (m/s)

FIGURE 3.10. Minimum Delta v vs initial relative distance.

The final position is computed through equation (1.27) in which the target’s attitude

matrix is function of time. Moreover, the final relative velocity is computed by means

of equation (1.26) where the final relative position is used, thus implying that the final

relative velocity depends on the maneuver time too2.

By saying this, we are proving that, considering a rotating target is approximately

like changing the final state conditions, though this change is periodical because the

target’s rotation is so.

For this study we assume that:

• the target’s shape and geometry are still not relevant;

• we are not checking if any collision is occurring;

• the maneuver is considered to be composed of a single optimized phase, from x0 to

x f .

The chaser’s initial state vector x0 and the target’s orbital elements are the one listed

in Table 3.1.2This is true even without considering equation (1.26) but by just recalling that we want the final

velocity to be tangent to the target’s rotation, this meaning that the velocity components are changing ifthe final docking point is changing.

79

Page 90: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

We have to consider now new relevant quantities regarding the target’s rotation:

• the initial target’s attitude, which is set to the identity matrix: C0 = I3×3;

• the target’s rotational velocity: ωt = (0.01, 0, 0.01)T rad/s;

• the docking point expressed in the body frame: (BODY )ζ= (0, 10, 0)T m

The result of a time variation study with a rotating target is shown in Figure 3.11,

where the Delta v profile vs time is plotted. A polynomial parameterization of degree

k = 7 has been used. The minimum Delta v obtained is 4.02m/s for a maneuver time of

0.22 orbital periods.

0 0.2 0.4 0.6 0.8 1 1.2 1.44

4.2

4.4

4.6

4.8

5

5.2

5.4

5.6

time/T

Delta v (m/s)

FIGURE 3.11. Minimum Delta v vs maneuver time. Rotating target. Polynomialparameterization, k = 7. ∆v|min = 4.02m/s for tm = 0.22 (minimum Delta vmarker in red).

The curve follows the same shape of the one in Figure 3.7 corresponding to the 7th

degree polynomial, though in this case there are some oscillations in addition to the

mean trend. These oscillations are the consequence of the target’s rotation. In fact, the

final state, i.e. the docking point and velocity, depends on time but assumes the same

values every each target’s rotation. This means that the point, i.e. state vector, for which

a minimum in the Delta v is achieved over one target’s rotation is highly likely to be the

one where is occurring a Delta v minimum also over the next target’s rotation.

80

Page 91: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

Nevertheless, this can be true from the very first rotation to the last one because

summed to these small and quick oscillations there is the secular trend, which follows

the usual profile we would have without a final state variation.

3.1.5 KOS vs KOC Approach

In this Section we are going to show that a KOC approach gives better results in terms

of Delta v than a KOS approach. We recall everything we said in Section 1.2 and 1.5.

Before that, we then need to get closer to reality than we have got so far in this

Section by dropping all the assumptions made. Therefore, what we are stating from now

on is that:

• the entire maneuver is composed of two distinct phases, i.e. approach and docking

as described in Section 1.2;

• the dynamic model is used nonlinear with drag perturbation;

• the target’s shape can no longer be ignored: the g function introduced in Section

1.5 is now describing the target’s shape;

• the target’s geometry is precisely defined;

• the chaser has got a cubic shape;

• the docking offset δ0 is equal to twice the chaser’s side lc for security reasons;

• the Keep Out Sphere radius RK has to be big enough that the sphere is containing

every target’s appendix and there is still an offset of at least twice the chaser’s side

from every point of the target to the sphere surface.

Please note that we are still not saying anything about either the Navigation or the

Control systems as we are still talking about Guidance. The other systems’ characteristics

are going to be presented later on.

Having said that, all the relevant quantities we need for the comparison of the two

approaches are listed in Table 3.8, where are recalled the initial conditions and target’s

orbital elements too.

Note that we are now using two different times, ta for the approach phase and td for

the docking phase. Besides, the KOS radius RK will solely be used for the KOS approach

study, whereas the docking offset will be used in the KOC approach study.

81

Page 92: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

Target’s Orbital Elements

a 7500kme 0.1i 30

Ω 100

ω 40

f0 0

Initial State x0

x0 500my0 100mz0 10mx0 1m/sy0 2m/sz0 0m/s

Target’s Geometry

rc 3mhc 12mLp 20mwp 5mhp 10 cm

Chaser’s Geometry lc 1m

Target’s Drag CoefficientscD,t 2At 76m2

mt 1000kg

Chaser’s Drag CoefficientscD,c 2Ac 1m2

mc 10kgKeep Out Sphere Radius RK 22mDocking Offset δ0 2mDocking Point (BODY )ζ (0, 3, 0) mTarget’s Rotational Velocity ωt (0.01, 0, 0.01) rad/sTarget’s initial Attitude C0 I3×3

Approach Time ta 0.25T (1600 s)Docking Time td 500 s

TABLE 3.8. KOS vs KOC approaches study. Input Data.

By using the results obtained in Section 3.1.1 we can now chose the reference configu-ration, i.e. the 7th degree polynomial parameterization, for modeling the approach phase.

82

Page 93: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

We are also using an approach time ta , i.e. the optimized maneuver time, which is close

to the average value we got with the time variation study in Section 3.1.2 (see Table 3.4).

Differently from what we have done so far in this Section, the final state of our

optimization won’t be the docking point and velocity but the approach point and velocity.

The approach velocity is computed by means of equation (1.23), while the approach

point is computed differently for the two approach, i.e. by using equation (1.30) for the

KOS approach and equations (2.4) for the KOC approach. Therefore we obtain the results

in Table 3.9.

KOS KOC

Approach Point (ξ f ) (10.71, −20.51, −10.71) m (2.31, −4.42, −2.31) mApproach Velocity (ξ f ) (20.51, 21.43, −20.51) cm/s (4.42, 4.62, −4.42) cm/s

TABLE 3.9. KOS vs KOC approaches study. Approach state vectors. Approachposition ξ f and Velocity ξ f at final approach time (ta = 1600 s) expressed inthe Hill frame.

Just by taking a look at Table 3.9 we can see that the approach point for the KOS

approach is further from the target than the KOC approach point is. Moreover, the

KOS approach velocity is greater than the KOC one. These observations implies the

followings.

1. A further approach point from the target means it is closer to the initial conditions,

so the optimized path is highly likely to be shorter and less fuel consuming than

if the final state was closer to the target. Moreover, the same observation can be

made for the final velocities: the smaller the final velocity is, the greater the Delta

v will be to break the chaser enough to reach that velocity. These two aspects lead

towards the expectation that the Delta v for the approach phase will be higher in

the KOC approach rather than in the KOS approach.

2. The entire maneuver is composed of a docking phase too, and the Delta v used

to follow the docking trajectory has to be considered along with the approach one

when it comes to determine the overall performance of the maneuver. It is also true

that the docking phase is a non-optimized phase, so the longer the path we travel,

the higher the Delta v needed. Therefore, in the KOC approach at the beginning of

the docking phase we are nearer to the target than we are in the KOS approach,

i.e. the docking Delta v spent will be smaller in the KOC approach.

83

Page 94: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

Said that, it is clear we have got a sort of performance trade-off between two aspects:

• further approach point from the target, shorter approach path, smaller approach

Delta v, but longer docking path, higher docking Delta v;

• nearer approach point to the target, longer approach path, higher approach Delta

v, but shorter docking path, lower docking Delta v.

Before seeing the results, we can speculate on which is the best situation. First of all

lets remark the fact that the maneuver times are set equal for both approaches, which

means the only factor we can consider is the path length. Said that, the point on which

we have to focus is whether there is optimization or not. The approach phase is optimized,

which means that the Delta v is going to remain quite small even if we are changing the

final conditions. This because an approach point nearer to target, i.e. further from initial

conditions, doesn’t necessarily imply a longer approach path because the trajectory is

computed via an optimization algorithm which is adapting the parameterization to the

specific case we are giving as an input.

Nevertheless, the docking phase is not optimized and the path is computed via a

simple strategy, which is to keep the chaser phased with the target’s docking point, i.e.

the chaser’s velocity will be composed of both a tangential component derived from the

target’s rotational velocity and a radial component which makes it getting closer the the

target. In this case, the further the approach point is from the target, the higher will be

the tangential velocity and the longer will be the docking path, this leading to inevitably

higher Delta v. The difference here is that the system is not optimizing the fact that

we are further from the target, but is simply spending more Delta v to keep the chaser

phased with the docking point.

KOS KOC

Approach Delta v (∆vappr) 3.84m/s 4.58m/sDocking Delta v (∆vdock) 1.72m/s 4.92×10−1 m/sTotal Delta v (∆vtot) 5.56m/s 5.07m/s

TABLE 3.10. KOS vs KOC approaches study. Delta v. Approach, docking andtotal Open Loop Delta v comparison. Approach time: ta = 1600 s. Dockingtime: td = 500 s.

84

Page 95: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

Therefore, what we expect is that the increase of the docking Delta v for a further

approach point is higher than the increase of approach Delta v for a nearer approach

point, thus leading to a sum of Delta v which is lower for the KOC phase.

This can be confirmed by looking at Table 3.10 where the maneuver Delta v are listed

for both approaches. The trajectory obtained are plotted in Figure 3.12, where a close

look to the approach and docking points is given.

(a) KOS trajectory

DesiredStarting PointApproach PointDocking Point

(b) KOC trajectory

DesiredStarting PointApproach PointDocking Point

(c) KOS final phase close-up

Desired

Starting Point

Approach Point

Docking Point

(d) KOC final phase close-up

Desired

Starting Point

Approach Point

Docking Point

FIGURE 3.12. KOS and KOC approaches Trajectories. Input data listed inTable 3.8. (a) KOS 3D trajectory. (b) KOC 3D trajectory. (c) Detail of theapproach and docking points in the KOS case. (d) Detail of the approachand docking points in the KOC case.

85

Page 96: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

3.2 Navigation: Filters Comparison

Recalling what has been said in Section 1.7, when talking about a Navigation system’s

performances we refer to the estimation error εe, i.e. the difference between the real and

estimated state. This parameter can’t be known in real situations, but can be studied

during simulations in order to chose the navigation system which best suits the mission

profile needs.

In our case, we presented three filter models and in this Section we will compare

them in order to find the best one in this particular mission profile.

In order to be able to compute the partial derivative matrix H, i.e. to use the Extended

Kalman Filter, we are not using the complex LIDAR model presented in Section 1.7.4

and mathematically represented by equations (1.128), but we are using equations (1.129)

to compute the range measures instead. The azimuth and elevation angles got from the

camera are still computed by means of equations (1.117).

The measurements standard deviations used for generating the observed measures

and the process noises are listed in Table 3.11. Those quantities are used to compose the

measurements covariance matrix R and the process noise matrix Q as follows

R =

σ2ρ 0 0

0 σ2El 0

0 0 σ2Az

(3.7)

Q =

q1 0 0 0 0 0

0 q1 0 0 0 0

0 0 q1 0 0 0

0 0 0 q2 0 0

0 0 0 0 q2 0

0 0 0 0 0 q2

(3.8)

The process noise matrix Q represent the uncertainties we have about the dynamic

equations we are using to model the real-world dynamic. The noises q1 and q2 represent,

respectively, the uncertainty we have on the kinematic equations and on the dynamic

equations. Since we are pretty sure about the kinematic equations used, as the velocity

can only be the derivative of the position, we set q1 to be smaller than q2, because on

the other hand we are not so sure about the dynamics equations since there are some

perturbation terms we are not taking into account.

The biggest assumption we are making for this Navigation comparison is that we

are assuming that the chaser’s true state precisely coincide with the desired state at

86

Page 97: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

time t0. This because in this Section we are solely investigating the performances of the

Navigation system which is represented by the estimation error εe, while the desired

error εd gives information about the Control system’s performances. Therefore, the

chaser’s true state is the one listed in Table 3.5 for the purpose of this simulation.

Measures standard deviationsσρ 10−2 mσEl 10−3 radσAz 10−3 rad

Process noisesq1 10−15

q2 10−12

A priori Estimation Errors

ε0e,x 100mε0

e,y 100mε0

e,z 100mε0

e,x 1m/sε0

e, y 1m/sε0

e,z 1m/s

A priori Covariances

σx,0 100mσy,0 100mσz,0 100mσx,0 10m/sσ y,0 10m/sσz,0 10m/s

Filter Tuning Parametersα 10−1

β 2ξ 1.5

Time interval δt 20 s

TABLE 3.11. Navigation data. Measures standard deviations[9], process noises,a priori estimation errors, a priori covariances, filter’s tuning parametersand time interval.

In order to carry out this simulation, we have to define an a priori estimated state

and covariance matrix by means of equations (2.3) and (2.6). The a priori estimated

state error and the covariance are listed in Table 3.11, where also the UKF and UHF

tuning parameters are shown. Also, a time interval δt of 20 s is considered between one

measurement acquisition and the next.

87

Page 98: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

All the other quantities used for this comparison are still the one shown in Table 3.5

and we underline that a KOC approach is used here.

It is important to remark the fact that we are simulating a controlled trajectory, by

means of dynamic equations (1.46), bur we are not using a Closed Loop control as we are

using the Open Loop control we got from the Guidance trajectory computation, which

is obtained by means of equations (1.61) properly used for both approach and docking

phases.

As the initial desired error is zero, i.e. the true and desired chaser’s states coincide,

and we are using the Open Loop control, the true state is perfectly following the desired

trajectory3. So, the desired error remains zero throughout the entire maneuver. On the

other hand, as the estimation error approaches zero, the chaser’s estimated state is

converging towards the true (i.e. desired) state.

In Figure 3.13, 3.14 and 3.15 the six state components estimation errors are plotted

respectively for the Extended Kalman Filter, Unscented Kalman Filter and Unscented H

Infinity Filter. The estimation errors are plotted in blue, while the 3σ covariances are

plotted in red. The relative distance and velocity errors for the three filters are plotted in

Figure 3.16 instead. The relative position and velocity errors were computed as follows

εke,ρ =

√x2

k + y2k + z2

k −ρk(3.9a)

εke,ρ =

√ˆx2

k + ˆy2k + ˆz2

k − ρk(3.9b)

where ρk and ρk are the true values at time tk.

By just taking a look to the single state components estimation errors, we can see

that the EKF is converging, i.e. the estimation error remains bounded between the ±3σ

band, more slowly than the other filters. This is happening approximately at 600 s while

the UKF and UHF are converging almost instantly, i.e. after a couple of iterations. This

EKF convergence slowness implies that the error remains high for a longer time than

the other filters, which in turn reflects on the means of the estimation errors. The means

of the EKF position and velocity estimation errors are, in fact, higher that the UKF and

UHF ones. This can be seen in Table 3.12, where the means over time of equations (3.9)

are shown.

While the gap of performance between the Extended and the Unscented filters is

clear, especially velocity-wise speaking, there aren’t big differences between UKF and

UHF. As shown in Table 3.12, the differences in terms of mean errors are quite small,

in particular the UHF mean errors on position and velocity are respectively 5.5% and3They can slightly differ because of small numerical errors in the integration process.

88

Page 99: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

0 500 1000

−60

−40

−20

0

20

40

x error (m)

Time (s)0 500 1000

0

50

100

y error (m)

Time (s)0 500 1000

0

20

40

z error (m)

Time (s)

0 500 1000

−0.8

−0.6

−0.4

−0.2

0

0.2

dx error (m/s)

Time (s)0 500 1000

0

0.5

1

1.5

2

dy error (m/s)

Time (s)0 500 1000

−0.4

−0.2

0

0.2

0.4

0.6

0.8

dz error (m/s)

Time (s)

FIGURE 3.13. EKF estimation errors (blue) and covariances (red). On the topside, from left to right: x, y and z estimation errors. On the bottom side,from left to right: x, y and z estimation errors.

Filter εe,ρ (m) εe,ρ (m/s)

EKF 1.73 1.87×10−1

UKF 1.20 6.11×10−2

UHF 1.27 6.46×10−2

TABLE 3.12. Navigation: mean errors comparison. EKF, UKF and UHF meanposition and velocity errors.

5.72% higher than the UKF. Nevertheless, the mean error is not the only parameter of

comparison between filters.

Another performance index is the steady state error, i.e. the error we get when the

filter has converged. This because most of the times we don’t put much importance in the

error at the initial steps, which is rather larger, because the filter still needs to converge.

The steady state error performance can be compared by seeing the errors on each state

component at the last time step. These values are listed in Table 3.13.

Even in this case there aren’t big differences between the filters, though the UHF is

better than the other two four times out of six, i.e. on x, y, x and z.

89

Page 100: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

0 500 1000

−5

0

5

x error (m)

Time (s)0 500 1000

−5

0

5

y error (m)

Time (s)0 500 1000

−5

0

5

z error (m)

Time (s)

0 500 1000

−0.02

0

0.02

dx error (m/s)

Time (s)0 500 1000

−0.05

0

0.05

dy error (m/s)

Time (s)0 500 1000

−0.1

0

0.1

dz error (m/s)

Time (s)

FIGURE 3.14. UKF estimation errors (blue) and covariances (red). On the topside, from left to right: x, y and z estimation errors. On the bottom side,from left to right: x, y and z estimation errors.

EKF UKF UHF

εfe,x (mm) 9.38×10−1 7.97×10−1 5.91×10−1

εfe,y (mm) −5.60 −5.60 −5.59ε

fe,z (mm) 2.93 2.98 3.18ε

fe,x (mm/s) −1.75×10−1 −1.75×10−1 −1.51×10−1

εfe, y (mm/s) −1.15×10−1 −1.17×10−1 −1.37×10−1

εfe,z (mm/s) −1.73×10−1 1.73×10−1 1.48×10−1

TABLE 3.13. Navigation: final errors comparison. EKF, UKF and UHF finalestimation errors on each state component.

As a conclusion we can say that, even if the EKF is comparable to the Unscented

filters in terms of steady state errors, its mean position and velocity errors are bigger

than the other filters enough to take the EKF out of consideration. This because, when

considering the Control system, the Closed Loop control is evaluated by means of the

estimated state, and if it is averagely far from the true state this implies wrong control

values which in turns causes high mission errors, leading to a possible mission failure.

90

Page 101: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

0 500 1000−20

−10

0

10

20

x error (m)

Time (s)0 500 1000

−20

−10

0

10

20

y error (m)

Time (s)0 500 1000

−20

−10

0

10

20

z error (m)

Time (s)

0 500 1000

−0.1

0

0.1

dx error (m/s)

Time (s)0 500 1000

−0.1

0

0.1

dy error (m/s)

Time (s)0 500 1000

−0.2

−0.1

0

0.1

0.2

dz error (m/s)

Time (s)

FIGURE 3.15. UHF estimation errors (blue) and covariances (red). On the topside, from left to right: x, y and z estimation errors. On the bottom side,from left to right: x, y and z estimation errors.

Moreover, as we already said, the EKF relies on the existence of partial derivatives

expression of the measurements equations for the composition of matrix H, which

sometimes don’t exist, whereas some other times are so difficult to compute (as in the

case of equations (1.128)) that is not worth using an Extended Kalman Filter.

The choice between UKF and UHF is not so easy though. The UKF is slightly better

than UHF in terms of mean errors, but UHF is better four times out six than UKF in

terms of state components steady state errors. This last characteristic is way much more

important in docking maneuvers, as we want the highest accuracy we can get at the

last instants in order to center properly the docking module. Furthermore, if the UHF

mean results are higher than the UKF, this is due to the fact that the UHF is minimizing

the worst case scenario (see Section 1.7.3), i.e. is a more conservative filter, which is a

characteristic that makes our GNC system robuster. For this reasons, the UHF is chosen

to be used in this mission scenario.

91

Page 102: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) Position estimation error

0 100 200 300 400 500 600−20

0

20

40

60

80

100

Time (s)

Position error (m)

EKF

UKF

UHF

(b) Velocity estimation error

0 200 400 600 800 1000−0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

Time (s)

Velocity error (m/s)

EKFUKFUHF

FIGURE 3.16. EKF, UKF and UHF position and velocity errors comparison.(a) Relative position estimation error. Equation (3.9a). (b) Relative velocityestimation error. Equation (3.9b).

92

Page 103: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

3.3 Control Strategies Comparison

Two main type of control strategy can be adopted to accomplish the mission: Open Loop

and Closed Loop controls.

The Open Loop control is simply the one generated in the Guidance block by means of

equations (1.61). It is the optimal control we can apply to undertake the entire maneuver,

i.e. it gives the minimum Delta v among any other possible scenario. This is true as long

as the chaser really is in the point that we considered as our initial desired state and

used for the desired trajectory computation. If the chaser isn’t in that specific point, the

control applied will be the same, i.e. the Delta v consumed will not changed, but the

chaser won’t reach the final position we set as a constraint for the maneuver.

This implies that most of the times this control strategy is not used, as we want to

have a control which takes into account the estimated position of the chaser, i.e. adapts

to the specific situation and isn’t just a fixed preloaded control acting regardless of the

real situation the chaser is facing.

That’s the reason why the Closed Loop control is used most of the times. The Closed

Loop control, or feedback control, is evaluated by means of equation (1.136), in which

the mission error, i.e. the difference between the desired and estimated state (equation

(1.81)), is taken into account and used as an information with which the computed control

is lower the mission error in itself. This control strategy makes the estimated chaser’s

state converge to the desired one by considering the real world situation we are facing,

i.e. the control is computed in real time and is not preloaded.

Besides, two other control strategies are the followings:

• constant control over the time interval, i.e. digital control;

• variable control over the time interval, i.e. continuous control.

Each strategy can be applied to both a Closed Loop and an Open Loop control strategy.

In the case of the Closed Loop control we have equation (1.130) for the time continuous

control and equation (1.136) for the digital control. The values of the estimated state

used to compute the continuous control inside the k-th time interval are taken from

MATLAB’s integration of the dynamic equations in the filter propagation.

On the other hand, for the Open Loop control the digital approach is obtained by

simply taking the Open Loop controls at each instant computed in the optimization

procedure (equation (1.61)) and leave it constant over the time interval, while for the

93

Page 104: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

time continuous approach we use MATLAB’s function interp1 to interpolate the values

at the edges of the k-th time interval and get all the values inside.

To carry out this simulation we need to introduce some quantities like the initial

desired error, i.e. the difference between the desired and true state, and the Closed Loop

control gains. See Table 3.14 for the complete list of necessary quantities.

Initial Desired Errors ε0d LQR Gains

ε0d,x 10m qx 100

ε0d,y 10m q x 100

ε0d,z 10m rx 1010

ε0d,x 10−1 m/s r y 1010

ε0d, y 10−1 m/s rz 1010

ε0d,z 10−1 m/s

TABLE 3.14. Control data. Initial desired errors and LQR gains.

The LQR gains qx, q x, rx, r y and rz are used to compute the LQR gain matrices

QLQR and RLQR as follows

QLQR =

qx 0 0 0 0 0

0 qx 0 0 0 0

0 0 qx 0 0 0

0 0 0 q x 0 0

0 0 0 0 q x 0

0 0 0 0 0 q x

(3.10)

RLQR =

rx 0 0

0 r y 0

0 0 rz

(3.11)

We then used all the quantities listed in Table 3.1 and 3.11 for the Guidance and

Navigation system and recall the fact that we are using a 7-th degree polynomial

parameterization and an Unscented H Infinity Filter. Moreover, the LIDAR measurement

model will be the more accurate one represented by equations (1.128) from now on.

Several simulations have been run with different values of the initial desired error

to test the performances of the Open Loop control. The mission errors obtained in any

case are way too large and unacceptable, i.e. the true trajectory always diverges from the

94

Page 105: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

desired one, yet the estimated state converges perfectly to the true state, which is what

we expected from the Navigation system.

An example of the position and velocity desired errors divergence can be seen in

Figure 3.17, where the initial desired error has been set equal to the one in Table 3.14

and the Open Loop control has been applied continuously over time.

(a) Position desired error

0 500 1000 1500 2000 25000

200

400

600

800

1000

Time (s)

Position Error (m)

(b) Velocity desired error

0 500 1000 1500 2000 2500−0.2

0

0.2

0.4

0.6

0.8

Time (s)

Velocity Error (m/s)

FIGURE 3.17. Open Loop control, desired position and velocity errors. (a) Rela-tive position desired error. (b) Relative velocity desired error.

We conclude that the Open Loop control is not a valid choice for an autonomous real

time docking maneuver because of the presence of inevitable errors due to the lack of

true state knowledge.

A comparison is then made between continuous and digital Closed Loop controls. The

test case is the one already used for the Open Loop simulation (see Table 3.1, 3.11 and

3.14 for the complete list of input data).

In addition to the Closed Loop Delta v, which is clearly different from the Open Loop

one, we will use the desired position and velocity errors as indexes of performance. They

are computed as follows

εkd,ρ =

√x2

d,k + y2d,k + z2

d,k −ρk(3.12)

εd,ρ =√

x2d,k + y2

d,k + z2d,k − ρk(3.13)

A continuous control may seem more expensive as we are controlling the spacecraft

continuously over time. However, because we are controlling the spacecraft with a greater

frequency than we would with a digital control, the spacecraft tends to averagely be

95

Page 106: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

closer to the desired trajectory, which in turn implies that the control needed, i.e. the

Delta v consumed, is smaller.

The proof of this can be seen in Table 3.15, where the digital Delta v is more than

twice the continuous one.

Control ∆v (m/s) εd,ρ (m) εd,ρ (m/s) εfd,ρ (m) ε

fd,ρ (mm/s)

CL Digital 13.69 42.69 2.94×10−1 3.8×10−1 7.18CL Continuous 6.19 19.10 9.32×10−2 1.95×10−2 1.77×10−1

TABLE 3.15. Closed Loop control. Comparison of continuous vs digital ClosedLoop control. Delta v, relative position mean desired error and relativevelocity mean desired error.

Another important thing to underline is that both the digital and continuous Closed

Loop controls are higher than the optimal Open Loop control we obtained (see Table 3.10,

KOC approach). This result came out to be exactly as we expected, because the Open

Loop optimal control is the minimum we can get for this maneuver and there doesn’t

exist any trajectory which gives a smaller Delta v.

Moreover, the Closed Loop Delta v is higher because we have got an offset from the

desired initial position and we want to bring it to zero. Thus we are trying to converge

to the optimal trajectory, meaning that we are consuming an extra amount of Delta v

which is not required in the optimal scenario.

Further proof of the fact that a continuous control is maintaining the true state closer

to the desired one than a digital control can do can be found in Figure 3.18. There we find

the desired position and velocity errors plotted for both approaches. The digital errors

are averagely much larger than the continuous one and this can be seen from their mean

values, which are listed in Table 3.15.

Although at the beginning of the maneuver, i.e. till 700 s, the desired errors in the

case of a digital control are larger than the one we obtain with a continuous control

approach, then they both start to converge to zero with the same trend, thus meaning

that we reach acceptable overall results even from a digital control.

In Table 3.15 the final desired errors in position and velocity are shown too. We can

see that, even though there still is a difference between the two approaches, the final

values obtained with the digital approach are acceptable in terms of absolute values for

a docking maneuver.

96

Page 107: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) Position estimation error

0 500 1000 1500 2000 2500−100

−50

0

50

100

150

200

250

300

350

400

Time (s)

Position Error (m)

Continuous

Digital

(b) Velocity estimation error

0 500 1000 1500 2000 2500−1

0

1

2

3

4

5

Time (s)

Velocity Error (m/s)

ContinuousDigital

FIGURE 3.18. Relative position and velocity errors for continuous and digitalClosed Loop controls. (a) Comparison of the relative position desired er-ror. Equation (3.12). (b) Comparison of the relative velocity desired error.Equation (3.13).

The 3-axis control profiles are plotted in Figure 3.19 for both the continuous and

digital control approaches. We can see they differ significantly even though the maneuver

97

Page 108: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

conditions are the same for both approaches. The big differences in the desired error

profiles between the two approaches that we can see in Figure 3.18 and which happens

from the very first instants of the maneuver are caused by the fact that from the first time

interval the control profiles differ significantly. In fact, the first instants of the maneuver

are the one when the biggest amount of control is needed to guide the chaser towards the

target. If the control variation needed is high but we can only have a constant control

over the time interval, it follows that in the first instants we will have significant changes

in the trajectory shape, i.e. we will have big differences in the desired errors between the

two approaches. This in turn generates big differences in the control profiles because the

control is computed by taking into account the mission error, i.e. the difference between

the estimated and desired state, which is different in the two approaches because the

shape of trajectory, as said, is different and if the true state is different also the estimated

one would be so.

For what has been said so far, a continuous Closed Loop control gives clearly better

performances than a digital control. However, although a continuous closed loop control

may seem an obvious choice, we recall that we need a proper propulsion system on-board

in order to explicate a continuous thrust and this usually doesn’t happen for this kind of

missions. In fact, a continuous control profile can be explicated either with a throttleable

liquid engine or an electric thruster both of which aren’t usually installed on a small

chaser for this kind of operations.

Usually, small cold gas thrusters are used for this kind of missions. This kind of

engines can’t exert a continuous thrust but generate small impulses of constant and

fixed thrust value. If we use a digital Closed Loop control we can use the Pulse Width

Modulation technique (see Section 1.8.2) to convert a constant control value into an

impulse of the chosen amplitude.

Concluding, a digital Closed Loop control has been chosen because, although its

performances are overall worse than a continuous control, it is better convertible into a

really applicable thrust profile.

98

Page 109: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) Digital control profiles

0 500 1000 1500 2000 2500−1

−0.5

0

0.5

1

1.5

2x 10

−4

Time (s)

Control (m/s2)

ux

uy

uz

(b) Continuous control profiles

500 1000 1500 2000 2500

−3

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

x 10−5

Time (s)

Control (m/s2)

ux

uy

uz

FIGURE 3.19. Continuous and digital Closed Loop control 3-axis profiles. (a)Digital control profiles. (b) Continuous control profiles.

99

Page 110: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

3.4 First Test Case

In this Section the results of the test case we’ve been studying so far will be presented.

Before showing the results we recall to the reader that the followings are used in the

final simulation:

• nonlinear dynamic model with drag perturbation;

• 7th degree polynomial parameterization;

• constrained time optimization;

• maneuver time chosen by means of the time variation study;

• Unscented H Infinity Filter;

• complete LIDAR, azimuth and elevation measurement model;

• Closed Loop digital control;

• six thrusts cubic chaser;

• KOC approach;

• cylinder with solar panels target’s shape.

Target’s Orbital Elements

a 7500kme 0.1i 30

Ω 100

ω 40

f0 0

Target’s Geometry

rc 3mTARGET hc 12m

Lp 20mwp 5mhp 10 cm

Target’s Drag CoefficientscD,t 2At 76m2

mt 1000kgTarget’s Rotational Velocity ωt (0.01, 0, 0.01) rad/s

Target’s initial Attitude C0 I3×3

100

Page 111: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

CHASER

Chaser’s Geometry lc 1m

Chaser’s Drag CoefficientscD,c 2Ac 1m2

mc 10kg

Initial Desired State

xd,0 500myd,0 100mzd,0 10mxd,0 1m/syd,0 2m/s

GUIDANCE zd,0 0m/s

Initial Desired Errors

ε0d,x 10m

ε0d,y 10m

ε0d,z 10m

ε0d,x 10−1 m/s

ε0d, y 10−1 m/s

ε0d,z 10−1 m/s

Measures standard deviationsσρ 10−2 mσEl 10−3 radσAz 10−3 rad

Process noisesq1 10−15

q2 10−12

A priori Estimation Errors

ε0e,x 100mε0

e,y 100mε0

e,z 100mε0

e,x 1m/sNAVIGATION ε0

e, y 1m/sε0

e,z 1m/s

A priori Covariances

σx,0 100mσy,0 100mσz,0 100mσx,0 10m/sσ y,0 10m/sσz,0 10m/s

Filter Tuning Parametersα 10−1

β 2ξ 1.5

101

Page 112: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

DOCKINGDocking Offset δ0 2mDocking Point (BODY )ζ (0, 3, 0) m

TIMESApproach Time ta 0.25T (1600 s)Docking Time td 500 s

LQR Gains

qx 100q x 100

CONTROL rx 1010

r y 1010

rz 1010

TABLE 3.16. Test case simulation data. Target, Chaser, Guidance, Navigationand Control parameters.

All the quantities needed for the simulation are listed in Table 3.16.

In Figure 3.20 the true, desired and estimated profiles of each state component is

plotted, while in Figure 3.21 the relative position and velocity estimated, desired and

mission errors are plotted. The 3-axes control profiles graphs have already been shown

in Figure 3.19(a).

The 3D plots of the true, desired and estimated trajectories are shown in Figure 3.22,

where the starting, approach and docking point are plotted too.

The Delta v needed with a digital Closed Loop control is 13.69m/s as said in Section

3.3 (see Table 3.15). However, after having computed the 3-axes digital Closed Loop

control we used the procedure explained in Section 1.8.1 to convert a 3-axes control

profile into n thrusts profiles, where n is the number of thrusters with which the chaser

is equipped. In our case n = 6 and, by means an optimization process where equation

(1.138) is the objective function and equations (1.137) are the constraints, we obtained

the six thrusts profiles of Figure 3.23.

As we solved an optimization problem, the Delta v obtained at the end is smaller than

the one of Table 3.15. In particular, here follows the total definitive and real maneuver

Delta v

(3.14) ∆v|tot = 13.33m/s

The six thrusts profiles are converted into pulsed profiles and are shown in Fig-

ure 3.24. Please note that in this case a fixed, and maximum, thrusts value has been set

to Tmax = 10−2 N.

102

Page 113: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

As can be seen from the graphs shown the true and estimated trajectories differs

significantly from the desired one in the first instant of the maneuver. However, it is

relevant to underline that the desired errors can be lowered by raising the strength of

the control and this is done by increasing the LQR gain coefficients. This will result not

only in lower desired errors, but also in higher Delta v. It results that the LQR gain

coefficients are chosen by the engineer in a way that satisfies the trade-off between Delta

v consumption and desired errors increase.

103

Page 114: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) x

0 1000 2000 3000−500

0

500

1000

Time (s)

X (m)

True

Desired

Estimated

(b) x

0 500 1000 1500 2000 2500−10

−5

0

5

Time (s)

dX (m)

True

Desired

Estimated

(c) y

0 500 1000 1500 2000 2500−100

0

100

200

300

400

Time (s)

Y (m)

True

Desired

Estimated

(d) y

0 500 1000 1500 2000 2500−2

−1

0

1

2

3

Time (s)

dY (m)

True

Desired

Estimated

(e) z

0 500 1000 1500 2000 2500−10

−5

0

5

10

15

20

25

30

Time (s)

Z (m)

True

Desired

Estimated

(f) z

0 500 1000 1500 2000 2500−1

−0.5

0

0.5

1

Time (s)

dZ (m)

True

Desired

Estimated

FIGURE 3.20. Test case 1. True, Desired and Estimated state components. (a)x component. (b) x component. (c) y component. (d) y component. (e) zcomponent. (f) z component.

104

Page 115: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) Relative Position Errors

0 500 1000 1500 2000

0

50

100

150

200

250

Time (s)

Relative Position Error (m)

Estimation Error

Desired Error

Mission Error

(b) Relative Velocity Errors

0 500 1000 1500 2000

−6

−5

−4

−3

−2

−1

0

1

2

3

4

Time (s)

Relative Velocity Error (m/s)

Estimation Error

Desired Error

Mission Error

FIGURE 3.21. Test case 1. Estimation, desired and mission errors. (a) RelativePosition Error. (b) Relative Velocity Error

105

Page 116: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

0200

400600

800

0

200

400

−200

0

200

X (m)Y (m)

Z (

m)

Desired

True

Estimated

Measurements

Starting Point

Approach Point

Docking Point

FIGURE 3.22. 3D true, desired and estimated trajectory. Test case 1.

0 200 400 600 800 1000 1200 1400 1600 1800 20000

2

4

6

8

10

12

14

16

x 10−4

Time (s)

Thrust (N)

Thruster 1

Thruster 2

Thruster 3

Thruster 4

Thruster 5

Thruster 6

FIGURE 3.23. Discretized thrusts profiles of the six thrusters.

106

Page 117: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) Thruster 1

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

Time (s)

Thrust (N)

(b) Thruster 2

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

Time (s)Thrust (N)

(c) Thruster 3

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

Time (s)

Thrust (N)

(d) Thruster 4

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

Time (s)

Thrust (N)

(e) Thruster 5

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

Time (s)

Thrust (N)

(f) Thruster 6

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

Time (s)

Thrust (N)

FIGURE 3.24. Pulse Width Modulation Profiles. (a) Thruster 1. (b) Thruster 2.(c) Thruster 3. (d) Thruster 4. (e) Thruster 5. (f) Thruster 6.

107

Page 118: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

3.5 Second Test Case

An interesting test case where we can exactly see the application of the collision avoidance

system in addition to the desired trajectory optimization process is the one whose input

data are the same as the one listed in Table 3.16 except for the one shown in Table 3.17.

Initial Desired State Target’s Rotational Velocity Approach Time

xd,0 100m

yd,0 0m

zd,0 0m ωt (0, 0, 0.01) rad/s ta 0.9T (5800 s)

xd,0 0m/s

yd,0 −2.28×10−1 m/s

zd,0 0m/s

TABLE 3.17. Second test case simulation data.

The Open Loop optimal Delta v obtained is 0.71m/s whereas the post-optimization

Closed Loop Delta v is equal to 1.81m/s, which are much smaller than the one obtained

in the first test case. This is due to the fact that the initial desired position is closer to

the target and the initial desired velocity is smaller than the one used before.

Moreover, in Figure 3.25, 3.26 and in Table 3.18 we can see that, with the same LQR

gain coefficients, the desired errors obtained are much smaller now than in the previous

test case.

In addition to this, comparing the estimated mean errors obtained in this second test

case to the one obtained in the previous test case and listed in Table 3.12 we can see how

the former are smaller than the latter. As we didn’t change any of the filter parameters

for the second test case, this means that the improvement in the estimation errors of the

Navigation system is due to the particular relative configuration.

εd,ρ (m) εd,ρ (mm/s) εe,ρ (m) εe,ρ (mm/s)

6.82×10−1 6.23 3.87×10−2 −8.87

TABLE 3.18. Test case 2. Mean desired and estimated relative position andvelocity errors.

In this simulation, the Desired initial conditions have been chosen to belong to the

xy Hill plane. Moreover, the target’s spin velocity vector is perpendicular to the xy Hill

108

Page 119: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

plane and the docking point lies along the Hill frame y axis at t0. Thus the docking point

describes a circle on the xy Hill plane throughout the maneuver, i.e. the final conditions

belong to the xy Hill plane.

Having both the initial and final conditions belonging to the xy plane suggests that

the desired trajectory should lie on the xy plane too. Going out of the plane, in fact,

implies an extra and undesired waste of Delta v.

However, we can see from the state components profiles in Figure 3.25 and from

the 3D trajectory plot in Figure 3.27 that the desired trajectory goes out of plane. This

happens for the following reason.

The solar panels lie and rotate on the xy plane. These appendix has to be avoided

by the collision avoidance system. In order to do so, the desired trajectory could still

all lie on the xy plane, but it would make a spiral which would give a high Delta v. A

more efficient way is to avoid the collision by going out of plane and coming back to it

exactly when reaching the approach point. In this way, the trajectory is optimized and

the collision with the solar panels is completely avoided.

By simply changing the target’s rotational velocity we obtain a big change in the

desired trajectory. We set ωt = (0.01, 0, 0.01) rad/s and leave all the other quantities as

in the previous case.

The desired, estimated and true trajectories 3D plot is shown in Figure 3.28.

As in the previous test case, we have the initial conditions belongings to the xy Hill

plane. This time though, the final conditions are out of plane, thus implying that the

chaser must somewhere go out of plane to reach the final constraints.

Oppositely to the previous case, this time the optimal trajectory would entirely have

lied in the xy Hill plane if it wasn’t for the final conditions constraints respect. This

is happening because the initial velocity conditions grant the orbits energy equality

condition, thus the relative orbit would be closed. The optimization procedure recognizes

that the closed relative orbit is a solution of the dynamic equations, so the optimizator

tries to find a solution which is as close as possible to the closed relative orbit, which is

entirely contained in the plane. As we can see from Figure 3.28(a), this is happening for

mostly of the approach trajectory indeed. Only at the end, when the chaser gets close

to the target, the out of plane maneuver is accomplished to reach the out-of-plane final

conditions.

This aspect reflects into the Open Loop Delta v values, which is 0.63m/s and hence is

smaller than the one obtained previously (0.71m/s).

109

Page 120: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) x

0 2000 4000 6000 8000−100

−50

0

50

100

150

Time (s)

X (m)

True

Desired

Estimated

(b) x

0 2000 4000 6000 8000−1

−0.5

0

0.5

1

Time (s)

dX (m)

True

Desired

Estimated

(c) y

0 2000 4000 6000 8000−300

−250

−200

−150

−100

−50

0

50

100

Time (s)

Y (m)

True

Desired

Estimated

(d) y

0 2000 4000 6000 8000−2

−1.5

−1

−0.5

0

0.5

Time (s)

dY (m)

True

Desired

Estimated

(e) z

0 2000 4000 6000 8000−50

0

50

100

150

Time (s)

Z (m)

True

Desired

Estimated

(f) z

0 2000 4000 6000 8000−1.5

−1

−0.5

0

0.5

1

Time (s)

dZ (m)

True

Desired

Estimated

FIGURE 3.25. Test case 2. True, Desired and Estimated state components.ωt = (0, 0, 0.01) rad/s. (a) x component. (b) x component. (c) y component.(d) y component. (e) z component. (f) z component.

110

Page 121: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) Relative Position Errors

0 1000 2000 3000 4000 5000 6000 7000−15

−10

−5

0

5

10

15

20

25

Time (s)

Relative Position Error (m)

Estimation Error

Desired Error

Mission Error

(b) Relative Velocity Errors

0 1000 2000 3000 4000 5000 6000 7000−2

−1.5

−1

−0.5

0

0.5

Time (s)

Relative Velocity Error (m/s)

Estimation Error

Desired Error

Mission Error

FIGURE 3.26. Test case 2. Estimation, desired and mission errors. ωt =(0, 0, 0.01) rad/s. (a) Relative Position Error. (b) Relative Velocity Error.

111

Page 122: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) 3D trajectories plot

−1000

100

−200−100

0

−50

0

50

100

150

X (m)Y (m)

Z (

m)

Desired

True

Estimated

Measurements

Starting Point

Approach Point

Docking Point

(b) Close-up on final docking phase

Desired

True

Estimated

Measurements

Starting Point

Approach Point

Docking Point

FIGURE 3.27. Test case 2. 3D true, desired and estimated trajectory plots.ωt = (0, 0, 0.01) rad/s. (a) Global view. (b) Detailed view of the final dockingphase.

112

Page 123: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

(a) 3D trajectories plot

−100−50

050

100150

−200

−100

0

−100

−50

0

50

100

Y (m)

X (m)

Z (

m)

Desired

True

Estimated

Measurements

Starting Point

Approach Point

Docking Point

(b) Close-up on final docking phase

Desired

True

Estimated

Measurements

Starting Point

Approach Point

Docking Point

FIGURE 3.28. Test case 2. 3D true, desired and estimated trajectory plots.ωt = (0.01, 0, 0.01) rad/s. (a) Global view. (b) Detailed view of the finaldocking phase.

113

Page 124: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

3.6 Monte Carlo Simulation: Target’s OrbitalElements Uncertainties

When we are undertaking a docking maneuver in the real world we have to face the

problem of knowing the target’s orbit. It is always true that we know the target’s orbital

elements with some degree of uncertainty, which depends on the number of observation

made of the target and on the instruments used to make the measurements (e.g. radar,

optical observations, etc.). Therefore, we want to see how the GNC systems reacts to

uncertainties in target’s orbital elements, i.e. we want to test the robusteness of the

simulation tool developed.

To do so, a Monte Carlo simulation is carried out. A significant amount of simulations

are run (100 simulations) in every of which the orbital elements are given as an input of

the problem with a certain amount of error from the true one.

We are assuming that the target’s orbital elements have got a gaussian distribution

whose mean and covariance is taken from the work done in [10] where the orbital

elements are computed via optical observations, which usually give worse errors than

radar observations. This approach leads to a conservative Monte Carlo simulation which

makes us confident about the robusteness of the tool in case of positive results.

Using the orbital elements listed in Table 3.1, we obtain the following means and 1σ

covariances [10]

a = 7515.31±241.22 km(3.15a)

e = 0.101±0.024(3.15b)

i = 29.99±0.26(3.15c)

Ω= 39.97±0.82(3.15d)

ω= 98.99±4.99(3.15e)

f0 = 3.08±5.3(3.15f)

We can see from equations (3.15) that we have got the biggest errors and covariances

on semi-major axis, argument of perigee and true anomaly which should respectively

proof the robusteness of the algorithm in the following points:

• altitude of the maneuver, i.e. amount of drag perturbation;

• position of the perigee along the orbit, i.e. point of maximum drag perturbation

along the orbit;

114

Page 125: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

• initial point of the maneuver along the orbit, i.e. angular velocity and acceleration

of the target’s orbit due to it being elliptic.

We define six new performance indexes and use them to compare the true case

to the simulation results. These definitions are based on the Open Loop Delta v, the

post-optimization Delta v and the mission error

εΠ1 =Π1 −∆vol

∆volΠ1 =

∑nj=1∆vol | j

n(3.16a)

εΠ2 =Π2 −∆vpo

∆vpoΠ2 =

∑nj=1∆vpo| j

n(3.16b)

εΠ3 =Π3 − εm,ρ

εm,ρΠ3 =

∑nj=1 εm,ρ| j

n(3.16c)

εΠ4 =Π4 − εm,ρ

εm,ρΠ4 =

∑nj=1 εm,ρ| j

n(3.16d)

εΠ5 =Π5 − ε f

m,ρ

εfm,ρ

Π5 =∑n

j=1 εfm,ρ| j

n(3.16e)

εΠ6 =Π6 − εm,ρ

εm,ρΠ6 =

∑nj=1 ε

fm,ρ| j

n(3.16f)

where n is the number of simulations, ∆vol | j, ∆vpo| j, εm,ρ| j, εm,ρ| j, ε fm,ρ| j and ε

fm,ρ| j are

respectively the Open Loop Delta v, the post-optimization Delta v, the relative position

mean mission error, the relative velocity mean mission error, the relative position final

mission error and the relative velocity final mission error, obtained in the j-th simulation,

while the "~" values are their true counterparts.

The percentage errors, i.e. the first column values in equations (3.16) are listed in

the left-hand side of Table 3.19.

First of all we can see that the errors on Delta v, both Open Loop and post-optimization,

are smaller that errors on relative position and velocity, which means that we won’t have

to put a huge amount of extra propellant on our chaser, thus leading to higher payload

mass availability.

The relative position and velocity percentage errors can seem too high to be sure

about the robusteness of the algorithm to errors on target’s orbital elements. However,

percentage errors may be high, bur the real absolute value of the error can be small

when compared to a sort of "standard error" we recognize as the maximum admissible

error.

115

Page 126: Choreography on Elliptical Orbit

CHAPTER 3. RESULTS

Percentage Errors Absolute Errors

εΠ1 4.16% Λ1 0.21m/sεΠ2 10.81% Λ2 1.52m/sεΠ3 76.90% Λ3 9.53mεΠ4 10.92% Λ4 8.07 cm/sεΠ5 22.87% Λ5 9.22 cmεΠ6 37.99% Λ6 2.68mm/s

TABLE 3.19. Monte Carlo simulation percentage results. Percentage errors εΠi

and absolute errors Λi.

The numerators of the εΠi terms in equations (3.16) are the absolute error we are

talking about. If we call them Λi, their values are listed on the right-hand side of

Table 3.19.

Among all, the most important errors which are used to state whether a docking

maneuver can be considered as correctly accomplished or not are the final ones. In fact,

even if we are spending more Delta v and the chaser is traveling on a different path, as

long as there are no collisions the maneuver can be considered correctly fulfilled if the

chaser is docking on the docking point with small relative position and velocity errors,

i.e. some centimeters and centimeters per second.

This is achieved and demonstrated by the Monte Carlo simulation we carried out,

which has therefore verified and approved the robusteness of the GNC algorithm with

regard to target’s orbital elements errors.

116

Page 127: Choreography on Elliptical Orbit

CONCLUSIONS

The GNC system for a docking maneuver with a non cooperative target on an

elliptical orbit has been studied in all its aspects. The theory has been presented

in Chapter 1. A simulation tool have been developed, based on the studied theory,

whose structure has been illustrated in Chapter 2 while its results have been shown in

Chapter 3.

Various dynamic models among which linear and nonlinear with or without drag

perturbation have been presented. The amount of accuracy introduced with a nonlin-

ear model in which the drag perturbation is taken into account guarantees a good

representation of the response of the system in the real world.

The Guidance problem has been faced by means of an accurate maneuver design

according to which the trajectory has been divided in two phases, approach and docking

phase. Of those, the approach trajectory is optimized by means of an inverse optimization

problem. Polynomial, Fourier and DCOE parameterizations have been analyzed and

compared to fin an optimum in terms of both performance, i.e. Delta v, and computational

time. A polynomial parameterization of degree 7 has been found to be the best comprise

for the trade-off presented.

The unconstrained time maneuver problem has been studied and the Delta v com-

puted for both a non-rotating and rotating target.

Two different approaches have been presented for the construction of a collision

avoidance system. The KOC (Keep Out Coach) approach has been shown to be the best

choice performance-wise speaking, as it guarantees the amount of security needed along

with lower Delta v than the one obtained with the KOS (Keep Out Sphere) approach.

Extended Kalman, Unscented Kalman and Unscented H Infinity filters have been

presented and compared. Among them, the UHF has been recognized as the best choice

in terms of performance, i.e. estimation error, and robusteness to bad estimations.

The feedback control theory has been presented. An investigation has been carried

out at the end of which it has been decided to adopt a Closed Loop digital control approach

117

Page 128: Choreography on Elliptical Orbit

CONCLUSIONS

for the Control subsystem. This strategy doesn’t give the best results in terms of Delta v,

but is the only one whose control profiles are directly translatable into an n number of

pulsed thrusts profiles.

Finally a Monte Carlo simulation has been run to prove the robusteness of the tool

with regards to uncertainties on the target’s orbital elements.

As a conclusion to the results obtained we can say that the predetermined goals

presented in the introductory Section have been reached. The dynamical model used

guarantees the desired compromise between complexity and accuracy of the results. The

Guidance block is providing good Delta v performances and the maximum amount of

security needed to avoid collisions with the target. The Navigation and Control blocks

guarantee respectively small estimation and desired errors under the choice of opportune

filter’s and gain’s coefficients.

Therefore we can say that the docking maneuver with a non cooperative target on an

elliptical orbit is autonomously and satisfactorily accomplished by means of the designed

GNC system.

There are possible future developments that can be studied and implemented to better

the simulation tool already developed. First of all, the design of an investigation phase,

placed before the approach phase, where a pose estimation process is made to estimate

the target’s shape, barycenter, geometry and attitude, would make the docking maneuver

even more autonomous. Secondly, the tool can be made more flexible by introducing the

possibility to accomplish different tasks such as undocking maneuvers, multiple chasers

docking and asteroid landings. Thirdly, the code can be better structured to make the tool

more user friendly. Lastly, the algorithm should be tested on hardware to demonstrate

its applicability to reality.

118

Page 129: Choreography on Elliptical Orbit

AP

PE

ND

IX

ACOORDINATE TRANSFORMATION

FROM ECI TO HILL FRAME

The Hill frame is an orbital coordinate frame centred in target’s centre of mass with

the x-axis pointing along target’s position vector’s direction, the y-axis pointing

along target’s velocity vector’s direction and the z-axis pointing along target’s

orbital angular momentum’s direction.

In this frame, the absolute chaser’s position vectors1 is expressed as follows

(HILL)r1 =(HILL) r0 +ρ(A.1)

=

r0

0

0

+

xyz

=

(r0 + x y z

)T(A.2)

1Subscripts (0) and (1) refer respectively to target and chaser quantities.

119

Page 130: Choreography on Elliptical Orbit

APPENDIX A. COORDINATE TRANSFORMATION FROM ECI TO HILL FRAME

Deriving equation (A.1) leads to chaser’s absolute velocity expressed in the Hill frame

d(HILL)r1

dt=(HILL) v1 = d(HILL)r0

dt+ dρ

dt=(HILL) v0 + ρ+ω×ρ

=

vr

r0ω

0

+

xyz

+

0

0

ω

×

xyz

=

x+vr − yω

y+ r0ω+ xωz

(A.3)

Recalling what was said in Section 1.1.3, equation (1.13) must now be written for the

chaser

(A.4) (HILL)v1,rel =(HILL) v1 −(HILL)ωe ×(HILL) r1

where it is stressed the fact that we want to express the relative velocity in the Hill

frame. Thus, it is needed to find the expression of Earth’s rotation vector in the Hill

frame, which is done by applying to it the rotation matrix (1.15)

ωe = (HILL)R(ECI)(ECI)ωe

=(HILL) R(ECI)

0

0

ωe

=

ωe sinθsin iωe cosθsin iωe cos i

(A.5)

Substituting equations (A.3) and (A.5) in equation (A.4) and recalling that ω0 = fwe obtain the velocity of the chaser relative to Earth’s atmosphere expressed in Hill

coordinate frame (equation (1.16)).

120

Page 131: Choreography on Elliptical Orbit

AP

PE

ND

IX

BDIFFERENTIATION OF DCOE

PARAMETERIZATION

We recall the parameterization introduced in Section 1.3.2.2

x ( f )≈ r0

aδa+ aesin f

ηδM−acos f δe(B.1a)

y ( f )≈ r0

η3 (1+ ecos f )2δM+ r0δω+ r0 sin fη2 (2+ ecos f )δe+ r0 cos iδΩ(B.1b)

z ( f )≈ r0 (sinθδi−cosθsin iδΩ)(B.1c)

In order to set velocity constraints (1.31a) and (1.31b) and minimize the objective

function (1.21) we need to derivate equations (B.1) with respect to true anomaly. Here

follow the expressions of the first and second derivatives

(B.2a) x′ ( f )≈ 1a

(r′0δa+ r0δa′)+ ae

η

(cos f δM+sin f δM′)+a

(sin f δe−cos f δe′

)

y′ ( f )≈ 1+ ecos fη3

[r′0 (1+ ecos f )−2r0esin f

]δM+ r0

η3 (1+ ecos f )2δM′+(B.2b)

+ r′δω+ rδω′+ 1η2

[r′ sin f (2+cos f )+ r cos f (2+ ecos f )− resin2 f

]δe+

+ rsin fη2 (2+ ecos f )δe′+cos i

(r′δΩ+ rδΩ′)

121

Page 132: Choreography on Elliptical Orbit

APPENDIX B. DIFFERENTIATION OF DCOE PARAMETERIZATION

(B.2c)

z′ ( f )≈ (r0 cosθ+ r′0 sinθ

)δi+ r0 sinθδi′+sin i

[(r0 sinθ− r′0 cosθ

)δΩ− r0 cosθδΩ′]

x′′ ( f )≈ 1a

(r′′0δa+2r′0δa′+ r0δa′′)+(B.3a)

− aeη

(sin f δM−2cos f δM′−sin f δM′′)+

+a(cos f δe+2sin f δe′−cos f δe

)′′

y′′ ( f )≈ 1η3

[2r0

(e2 sin2 f − ecos f (1+ ecos f )

)−4r′0esin f (1+ ecos f )(B.3b)

+ r′′0 (1+ ecos f )2]δM+2(1+ ecos f )

[−2r0esin f + r′0 (1+ ecos f )

]δM′+

+ r0 (1+ ecos f )2δM′′+ r′′0δω+2r′δω′+ r0δω

′′+

+ 1η2

[−2r0 sin f (1+2ecos f )+2r′0

(2cos f + e

(cos2 f −sin2 f

))++ r′′0 sin f (2+ ecos f )

]δe+

[2r0

(2cos f + e

(cos2 f −sin2 f

))++2r′0 sin f (2+ ecos f )

]δe′+ r0 sin f (2+ ecos f )δe′′

+

+ r′′0 cos iδΩ+2r′ cos iδΩ′+ r0 cos iδΩ′′

z′′ ( f )≈ (−r0 sinθ+2r′0 cosθ+ r′′0 sinθ)δi+2

(r0 cosθ+ r′0 sinθ

)δi′+ r0 sinθδi′′+(B.3c)

+ [r0 cosθsin i+sin i

(2r′0 sinθ− r′′0 cosθ

)]δΩ+

+2sin i(r0 sinθ− r′0 cosθ

)δΩ′− r0 cosθsin iδΩ′′

In previous equations, δe′coe and δe′′

coe are the first and second derivatives of equations

(1.43) with respect to true anomaly, whereas r0 is expressed as a function of the true

anomaly as in equation (1.7) and its first and second derivatives are

r′0 ( f )= a(1− e2) esin f

(1+ ecos f )2(B.4)

r′′0 ( f )= a(1− e2)

(1+ ecos f )2

(ecos f + 2e2 sin2 f

1+ ecos f

)(B.5)

122

Page 133: Choreography on Elliptical Orbit

ACKNOWLEDGMENTS

First of all, I want to start this acknowledgments by thanking my two supervisors,

Professor Christian Circi of La Sapienza, Universitá di Roma and Professor Massimiliano

Vasile of Strathclyde University for having given me the possibility to spend a six-months

researching period in Glasgow at Strathclyde University. In this relatively long time

there I learned not only technical aspects of the Engineering theory involved behind

my research, but mostly I learned things about human relationships, especially with

people from other countries. Thanks to this opportunity I got to meet so many new people,

colleagues I may say, every of whom gave me something peculiar that will make me

reminding of them.

Among those people, special thanks go to Juan, who literally stood me and my infinite,

particular, painstaking, weird and unexpected requests and questions. Thanks to him

also for easing my working days with his Spanish sense of humor.

Other thanks go to all the guys of Massimiliano Vasile’s working group: Lorenzo,

Niccoló, Carlo, Pete, Annalisa, Carlos, Thomas, Lorenzo, Marilena, Chiara, Nico, Massimo

and Francesco. All of you guys made my stay in Glasgow, my research and the working

experience unbelievable.

Another immense and spatial thank you goes to all the HECATE1 teammates who

put all their efforts to make a dream come true.

Talking about human relationships, living for such a long period thousands of kilo-

meters away from my wonderful home town and my equivalently wonderful parents,

relatives and friends made me aware of something special: you only understand the

importance a relation with someone has to you when you are far away from that person.

Physical contact seems to be crucial when it comes to feel other people close to you.

However, there are special people who are able to make you feel them close even when

they are far. My family and friends are those special people and I want to deeply thank

them, from the bottom of my heart, because they can’t understand the amount of help1Human Exploration of Cis-lunar space via Assets Tele-operated from EML2.

123

Page 134: Choreography on Elliptical Orbit

ACKNOWLEDGMENTS

I needed and how much they satisfied my request. To these people goes my immense

gratitude and to them I want to say this. Some of you may think that the amount of

connection exchanged with another person is the most critical parameter used to find out

if you really are important to that person. There doesn’t exist a falser statement. Is not a

matter of time or quantity; the crucial point is the amount of passion a person puts in

the shortest time he or she is with another person. To all of you I swear that I’ve always

and will always put the biggest passion I am able to put to make you realize how huge

my love is for you.

I want to make a particular acknowledgment to Salvatore and Silvia who not only

didn’t make me feel alone while they were far, but also came visiting me in Glasgow,

making the contact become real.

A special thought goes to my grandparents, who patiently waited for this day and for

their biggest expectation to come true.

Last but not least, the final thanks go to the person who has successfully been the

greatest "support" I could have ever had in these six months. From this person I learned

that there surely exist bigger problems than the one you have but each of them can be

equivalently solved by means of conviction and simplicity. From the bottom of my heart

comes the wish to see this person finding the path that leads to freedom.

"Per aspera ad astra" said the Latin Seneca, which literally means "Trough hardships

to the stars" and metaphorically means "The road to virtue is full of obstacles". It is

true both ways and either for reaching stars or virtue, I will do my best to overcome any

obstacle.

Renato Volpe

124

Page 135: Choreography on Elliptical Orbit

BIBLIOGRAPHY

[1] J. L. CRASSIDIS AND J. L. JUNKINS, Optimal Estimation of Dynamic Systems,

Chapman and Hall/CRC, 2011.

[2] S. J. JULIER, J. K. UHLMANN, AND H. F. DURRANT-WHYTE, A new approach forfiltering nonlinear systems, (1995).

[3] L. J. LEVY, The kalman filter: Navigation’s integration workhorse, 1997.

[4] W. LI AND Y. JIA, H-infinity filtering for a class of nonlinear discrete-time systemsbased on unscented transform, Signal Processing, Elsevier, (2010).

[5] T. REID, The effect of aerodynamic drag forces on the formation flying of satellites,

Master’s thesis, McGill University, 2009.

[6] H. SCHAUB AND J. L. JUNKINS, Analytical Mechanics of Space Systems, Aiaa,

2002.

[7] D. SIMON, Optimal State Estimation, Wiley, 2006.

[8] B. D. TAPLEY, B. E. SCHUTZ, AND G. H. BORN, Statistical Orbit Determination,

Elsevier, 2004.

[9] M. VETRISANO AND M. VASILE, Autonomous navigation of a spacecraft formationin the proximity of an asteroid.

[10] R. VOLPE, Metodi di determinazione orbitale mediante osservazioni ottiche, Novem-

ber 2013.

125