attitude sensing, actuation, and control of the brite and ... · generic nanosatellite bus, devoted...

99
Attitude Sensing, Actuation, and Control of the BRITE and CanX-4&5 satellites by Adam Philip A thesis submitted in conformity with the requirements for the degree of Masters of Applied Science Graduate Department of Aerospace Engineering University of Toronto Copyright c 2008 by Adam Philip

Upload: others

Post on 09-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Attitude Sensing, Actuation, and Control of the BRITE

and CanX-4&5 satellites

by

Adam Philip

A thesis submitted in conformity with the requirementsfor the degree of Masters of Applied Science

Graduate Department of Aerospace EngineeringUniversity of Toronto

Copyright c© 2008 by Adam Philip

Page 2: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Abstract

Attitude Sensing, Actuation, and Control of the BRITE and CanX-4&5 satellites

Adam Philip

Masters of Applied Science

Graduate Department of Aerospace Engineering

University of Toronto

2008

An attitude control system for the BRITE and CanX-4&5 nanosatellites is developed.

BRITE and CanX-4&5 are research satellites based on the Space Flight Laboratory’s

Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying,

respectively. Novel low-cost testing procedures are developed and used to character-

ize satellite sensor and actuator performance. The algorithm governing the pointing of

CanX-4&5 is enhanced based on preliminary simulation results. A linear-time invariant

controller architecture, applicable to both BRITE and CanX-4&5, is designed based on

simulation of several competing controllers. Testing information is combined with con-

trol laws and controller to simulate the attitude performance of the satellites throughout

their missions.

ii

Page 3: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Dedication

For Em and the parental units

Acknowledgements

This thesis would not have been possible without the assistance of all staff and students

at the Space Flight Laboratory, of special note: Dr. Robert Zee for the opportunity

to work on real spacecraft; Stuart Eagleson - for all assistance with Mirage, OASYS,

general ADCS questions and things in general; Jonathan Gryzmisch - who is always

available to bounce an idea; Cordell Grant - for all things mechanical; Daniel Kekez -

for his endless patience in finding obscure (and not so obscure) pieces of lab equipment;

Jesse Eyer - for all questions formation flying; Mihail Barbu - for the many, many cam-

era software revisions; Benoit LaRouche - for his many great machining/jig fabrication

suggestions; Nathan Orr - for the NSP terminal interface; and Tarun Tuli for general

electrical engineering questions. Thanks should also be given to Prof. Jon Enright of

Ryerson University for his assistance with sun sensor testing and to Doug Sinclair of

Sinclair Interplanetary for all assistance wheel related.

iii

Page 4: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Contents

1 Introduction 1

1.1 The Space Flight Laboratory and the CanX program . . . . . . . . . . . 1

1.1.1 BRITE mission . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2 CanX-4&5 mission . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 The Attitude Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.1 BRITE ADCS configuration . . . . . . . . . . . . . . . . . . . . . 6

1.2.2 CanX-4&5 ADCS configuration . . . . . . . . . . . . . . . . . . . 7

1.3 Mirage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Hardware Evaluation 11

2.1 Fine Sun Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.1 Fine Sun Sensor Calibration . . . . . . . . . . . . . . . . . . . . . 13

2.1.2 Albedo Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Magnetometer Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.1 Operating Effectiveness . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.2 Axis gain calibration . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.3 Misalignment and Deviation . . . . . . . . . . . . . . . . . . . . . 24

2.3 Angular Rate Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3.1 Selection and Design . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3.2 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.4 Reaction Wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.4.1 Initial testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.4.2 Bearing Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4.3 Lifetime testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

iv

Page 5: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

3 CanX-4&5 Control Laws 43

3.1 Control Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 The Original Control Laws and Their Performance . . . . . . . . . . . . 44

3.3 Modified Control Laws . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4 Controller Design 49

4.1 Plant Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.1.1 Design Plant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.2 Discrete Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2.1 Zero momentum bias reaction wheel controller . . . . . . . . . . . 51

4.2.2 Biased reaction wheel controllers . . . . . . . . . . . . . . . . . . 62

5 Modelling and Simulation 65

5.1 Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.1.1 Reaction Wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.1.2 Rate Gyros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2.1 BRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2.2 CanX-4&5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6 Conclusions 86

Bibliography 86

v

Page 6: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

List of Figures

1.1 GNB external and internal layout. Figures courtesy of SFL . . . . . . . . 2

1.2 Standard GNB components. Figures courtesy of SFL . . . . . . . . . . . 3

1.3 BRITE payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 CanX-4&5 payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5 Data flow for OASYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.6 Simulation environment simplified overview . . . . . . . . . . . . . . . . . 8

2.1 Profile sensor illumination response. . . . . . . . . . . . . . . . . . . . . . 12

2.2 Fine sun sensor theory of operation . . . . . . . . . . . . . . . . . . . . . 12

2.3 Testing facility and test set-up. Light source is projected along θ3 axis . . 13

2.4 Origin location concept. Any misalignment of the sun sensor to the test

rig base will result in a wander of the recorded centroid as θ3 is rotated. . 14

2.5 Sweep pattern and sensor frame. Sweeps are conducted along vectors in

the plane with normal in the direction of the 3 axis . . . . . . . . . . . . 14

2.6 Recorded vs. true angle . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.7 Gap thickness determination procedure. The tilt in the plane represents

the misalignment of the sun sensor to the test-rig. . . . . . . . . . . . . . 16

2.8 Peak response vs. rectified angle . . . . . . . . . . . . . . . . . . . . . . . 18

2.9 Peak response vs. intensity of admitted light . . . . . . . . . . . . . . . . 19

2.10 Fine sun sensor response for peak albedo - the sun sensor would detect

albedo if, at any point, the expected response exceeded 1 . . . . . . . . . 20

2.11 Angle definitions used in determining effect of albedo on the coarse sun

sensors on Face 1 and Face 2 . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.12 Coarse sun sensor face ratio as a function of off-nadir angle and southern

latitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.13 Gain Calibration Experimental Set-up . . . . . . . . . . . . . . . . . . . 24

vi

Page 7: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

2.14 Magnetometer axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.15 Misalignment of sensors from desired orthogonal frame . . . . . . . . . . 25

2.16 Graphical depiction of misalignment, deviation, and true field viewed from

three perspectives in one plane. The misaligned magnetometer (green) is

rotated in the constant field (orange). . . . . . . . . . . . . . . . . . . . . 26

2.17 Accuracy of the magnetometer heuristic as a function of guess value deviation 30

2.18 Determination during eclipse without rate sensors in passive mode (determination

only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.19 Coriolis acceleration - an induced acceleration (yellow) is created by the

interaction of a steady angular velocity (green) and a translational velocity

(red) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.20 Bartlett filter response as a function of non-dimensionalized frequency. . 33

2.21 Proposed rate sensor package layout . . . . . . . . . . . . . . . . . . . . . 34

2.22 Noise over rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.23 Rate sensor linearity and scale . . . . . . . . . . . . . . . . . . . . . . . . 35

2.24 Comparison of true and measured bias stability over temperature . . . . 36

2.25 GNB reaction wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.26 A typical SFFT time-speed curve . . . . . . . . . . . . . . . . . . . . . . 38

2.27 Comparison of equation modelled run-down to actual run-down data . . 39

2.28 A typical lifetime test time-speed profile . . . . . . . . . . . . . . . . . . 41

2.29 Lifetime profile for a failed first design iteration wheel with unusually long

survival life. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.1 Pointing constraints on CanX-4&5 . . . . . . . . . . . . . . . . . . . . . 44

3.2 Zenith angle pointing in a ATO formation with intermittent pointing failures 46

3.3 Rapid error quaternion shift during the middle of singularity . . . . . . . 47

3.4 Singularity free operation of the control laws. . . . . . . . . . . . . . . . 48

4.1 A single axis plant with a continuous PD controller . . . . . . . . . . . . 53

4.2 LQR poles. Note: Poles are extremely close but not equal in RH side of

z-plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.3 Performance of an LQR controller . . . . . . . . . . . . . . . . . . . . . . 56

4.4 Target acquistion with an LQR controller . . . . . . . . . . . . . . . . . . 56

4.5 Region of unacceptable poles . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.6 System performance with Butterworth poles . . . . . . . . . . . . . . . . 59

vii

Page 8: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

4.7 Performance of de-coupled poles . . . . . . . . . . . . . . . . . . . . . . . 60

4.8 Biased reaction wheel controller comparison . . . . . . . . . . . . . . . . 63

4.9 -100rads and -25rad

s biased controller wheel speeds. . . . . . . . . . . . . 63

4.10 Zero bias controller applied to non-zero biased wheels . . . . . . . . . . . 64

5.1 Schematic of actual reaction wheel . . . . . . . . . . . . . . . . . . . . . 66

5.2 Mathematical wheel model . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.3 Test data from a step response to an applied torque with the original

controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.4 Step response to an applied torque with the modified controller. Settling

time, overshoot, and control mode transition are greatly improved. . . . . 70

5.5 Non-linear effects blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.6 Wheel under speed control at low speeds and the simulink model used to

capture this behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.7 Simulated wheel to real reaction wheel speed data comparison . . . . . . 73

5.8 Model of rate sensor behaviour implemented in Simulink . . . . . . . . . 75

5.9 True rates, measured rates, and true rates scaled and biased with known

sensor characteristics as a function of angle of tilt on a rate table. . . . . 76

5.10 Scaled measured and modelled rate over a 60s period . . . . . . . . . . . 76

5.11 Determination during BRITE passive operations . . . . . . . . . . . . . . 78

5.12 Determination during BRITE active operations . . . . . . . . . . . . . . 79

5.13 BRITE quaternion tracking . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.14 Telescope pointing error . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.15 Conceptual workings of the GNB EKF . . . . . . . . . . . . . . . . . . . 81

5.16 Monolithic vs. Cascading EKF . . . . . . . . . . . . . . . . . . . . . . . 82

5.17 CanX-4&5 EKF tuning performance with CanX-2’s EKF, tuned for a con-

stant drift, and tuned for no movement . . . . . . . . . . . . . . . . . . . 82

5.18 Typical CanX-4&5 targeting behaviour. . . . . . . . . . . . . . . . . . . . 84

5.19 Target errors during thrusts and determination errors over time . . . . . 85

viii

Page 9: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Variable Definitions

Variable definitions in the order they appear within the thesis. Due to the large number

of diverse subject areas broached, some variables are repeated. In cases of a double usage,

variables are marked ‘(usage context dependent)’.

Var. Definition Var. Definition

s# sun vector, # denotes frame

(Sx,Sy,Sz are components)

C# distance from origin to centroid on

sun sensor, # denotes axis

h distance between pinhole and sun

sensor back plane (gap thickness)

λ latitude, pole location (use context

dependent)

ρ reflectivity E# Irradiation, # denotes source

δ longitude A# Area, # denotes source

R# response from a sun sensor r response ratio

r position vector n normal vector

M magnetic field vector reading D deviation vector

B# magnetic field vector, # denotes

frame

A misalignment matrix, system ma-

trix (use context dependent)

ν noise vector C#& rotation matrix, # & denote frames

G magnetometer gain matrix f frequency

N sample size, rotation speed in rpm

(use context dependent)

t# time, # denotes usage

ω, ω rotation speed B damping coefficient

I, I moment of inertia G, G# torque, # denotes usage

Ai Bearing life adjustment factors K constant, bearing coefficient (usage

context dependent)

x−→ thruster direction T−→ target thruster direction

y−→ GPS antenna direction a−→, φ Euler axis and angle

ix

Page 10: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Var. Definition Var. Definition

K gain matrix x state vector

q quaternion ε, η quaternion components

p∫

qdt p Butterworth pole

Bn Butterworth polynomial ωn natural frequency

ζ damping ratio u control input

B input matrix C A generic constant (usage is context

dependent)

ν noise s sensitivity

ρ resolution

Generic Angles given by: α β γ θ - usage is context dependent.

# - denotes a unit vector

# - denotes an estimate

# - denotes a linearization or modification (usage context dependent)

#o - denotes original value not a frame

Acronyms

ADCS - Attitude Determination and Control System

BRITE - BRIght Target Explorer

Can-X - Canadian Advanced Nanospace eXperiment

EKF - Extended Kalman Filter

FIONA - Formation-flying Integrated Onboard Nanosatellite Algorithm

GCI - GeoCentric Intertial frame

GNB - Generic Nanosatellite Bus

OASYS - On-orbit Attitude SYstem Software

SFL - Space Flight Laboratory

XPOD - eXperimental Push-Out Deployer

x

Page 11: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1

Introduction

As the complexity of microsatellite and nanosatellite missions increases, there has grown

a need for finer attitude control. The ability to finely control attitude is dependent on

two things: sensors of sufficient quality to determine pointing accurately and actuators

capable of delivering a fine level of torque control. To date, many nanosatellites have been

able to achieve their three-axis stabilization goals with a combination of good sensing,

magnetic actuators and at most a single reaction wheel(e.g. Surrey Satellite’s SNAP-

1 or the Space Flight Laboratory’s own CanX-2), however, an outstanding goal has

been control about all three body axes. To accomplish this on a nanosatellite scale

without the use of propellant, three orthogonally mounted reaction wheels can be used.

Presented in this thesis is the design for a three-axis stabilized satellite attitude control

system employing three reaction wheels as applied to the Space Flight Laboratory’s CanX

missions. Included are the calibration and test methods for the equipment necessary

to perform the fine determination and actuation, the control heuristics and controller

design necessary to implement fine control, and simulations to show how the spacecraft

will perform on-orbit.

1.1 The Space Flight Laboratory and the CanX pro-

gram

The Space Flight Laboratory (SFL) is part of the University of Toronto Institute for

Aerospace Studies (UTIAS ) and is concerned with the development of microsatellite

and nanosatellite spacecraft. Previously, SFL has worked on the MOST microsatellite

1

Page 12: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 2

mission, nanosatellite deployers and other small scale spacecraft components. Currently

work at SFL is concerned primarily with the CanX series of nanosatellites.

The CanX (Canadian Advanced Nanospace eXperiment) program is a microspace

program run by SFL geared to the development of low-cost, nano-scale satellites on a

2-3 year timeframe. Intended to perform scientific investigations and test components at

a low cost, previous CanX nano-satellites have been used to test nanosatellite reaction

wheels and miniature spectrometers. To date, CanX satellites have massed anywhere

from under 1kg to just over 3kg and have ranged in size from 10 × 10 × 10cm3 to 10 ×10× 30cm3.

As the scope of mission attempted by SFL has grown, the need for a quickly re-

configurable platform has arisen. Consequently, CanX missions have moved towards

the Generic Nanosatellite Bus (GNB), a platform geared to be re-configured quickly

for different mission types. Shown in Figure 1.1 is the basic structure and layout of a

GNB satellite; the total mass of GNB satellites rests under 7kg. In the GNB, two trays

containing the spacecraft’s core electronics and equipment sandwich a 13 × 8 × 17cm3

volume that contains the experimental payload. The two trays are connected together

by means of panels which, in addition to providing structural support, also serve as a

mounting points for surface components like solar panels and patch antennas. Also on

the surface of the GNB are launch rails for mounting of the GNB in SFL’s eXperimental

Push-Out Deployer (XPOD) deployment system. XPODs like the GNB are designed to

be readily adapted to different missions depending on which accoutrements are placed

on the exterior of the GNB.

(a) External View (b) Internal View

Figure 1.1: GNB external and internal layout. Figures courtesy of SFL

By default, the trays (shown in Figure 1.2) and panels of the GNB contain: two

Page 13: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 3

on-board computers (OBCs), a magnetometer, 6 sun sensors, 3 reactions wheels, magne-

torquers, several different radios, a GPS receiver, power system, and an imager. Any or

all of these components can be removed or added to suit a particular application’s needs.

The two OBCs are identical: one OBC is responsible for maintenance of communica-

tions and house-keeping tasks, while the other is devoted to attitude control and other

specialized tasks. In the event of an OBC failure, the OBCs are wired similarly so that

each OBC can take over for the other. The default attitude system for the GNB consists

of the magnetometer and sun sensors for determination, and the reaction wheels and

magnetorquers for actuation; the complete attitude sub-system is described in more de-

tail in Section 1.2. The remaining equipment, while important to the over-all spacecraft

function, has little impact on attitude determination or control.

(a) Z- Tray (b) Z+ Tray

Figure 1.2: Standard GNB components. Figures courtesy of SFL

1.1.1 BRITE mission

BRITE (BRIght Target Explorer - also known as CanX-3) is the first mission to employ

the GNB design. Its purpose is to assess the change in brightness of the most intrinsically

luminous stars over time [6]. Since the fundamental vibration mode of a star, which can

be measured by measuring brightness, is approximately related to the square-root of its

mean density, information can be gathered regarding the composition of a star simply

through measuring its brightness. Thus, through measurement of the brightness of these

stars, the BRITE mission will answer fundamental questions regarding the formation of

stars, their composition, and the ‘life-cycle’ of matter

To accomplish brightness measurement, a constellation of four BRITE satellites will

be placed in orbit. Each satellite will contain in its payload bay a small aperture telescope,

Page 14: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 4

band-pass optical filter, CMOS detector and star tracker (Figure 1.3). Every BRITE

satellite in the constellation will be identical with the exception of the optical filters used,

half the constellation will have one filter and half the constellation will have another

filter. A constellation was chosen over a single satellite with a rotating filter disk for

three reasons: 1. Each BRITE can have a different filter to provide information on star

temperature without the risk of mechanical failure; 2. A constellation in the same orbit

can increase the observation time available for differential photometry; and 3. Multiple

satellites reduce the chance of catastrophic failure on a single satellite ending the mission

[6].

Figure 1.3: BRITE payload

Imaging on BRITE will be performed once per orbit in 15 minute stints. Observation

periods may be in excess of 100 days. Generally, imaging will focus on regions of interest

that contain between and 2 and 15 stars of interest so that differential brightness mea-

surements may be taken. Fortunately, over 90% of the sky contains regions where 2 or

more stars with magnitude of +3.5 or brighter are visible within the 24 field of view of

the telescope.

1.1.2 CanX-4&5 mission

CanX-4&5, like BRITE, are GNB satellites, their mission is to demonstrate autonomous,

sub-meter accurate, formation flying in a nano-satellite package [11]. Two formations

are in the baseline mission: a Projected Circular Orbit (PCO) and an Along Track Orbit

(ATO) as well as an autonomous re-configuration maneuver between the two formations.

In a PCO formation, one satellite completely encircles the other over the course of an orbit

- effectively demonstrating the ability of one satellite to inspect the other. In the ATO

Page 15: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 5

formation, one satellite leads or trails the other, proving formation flying concepts for

remote sensing projects. The re-configuration maneuver is simply a means of transition

from one formation to another [11].

To achieve formation flying goals CanX-4 and CanX-5 are to be built as identical

satellites in all respects that will be launched together and separated in space. One satel-

lite will act as the chief throughout the mission, broadcasting its position and altering its

attitude. The deputy will follow in one of the formations around the chief, thrusting when

necessary to maintain position. The orientation and timing of thrusts is directed by the

formation flying algorithm FIONA (Formation-flying Integrated On-board Nanosatellite

Algorithm). The chief and deputy will match attitude over the course of an orbit to

ensure that the same GPS satellites will be in view at a given time. In the event that

either the chief or the deputy is damaged, roles can be reversed quickly to allow the

satellites to still perform the mission.

As has been alluded to, CanX-4 and CanX-5 will have a propulsion system CNAPS

(Canadian Nanosatellite Advanced Propulsion System) placed in their payload bay, a

GPS receiver and an inter-satellite radio link. The propulsion system is shown in Figure

1.4 and is a cold-gas system with four nozzles to adjust the direction of thrust as the

centre of mass shifts within the spacecraft. The GPS receiver, while part of the mission,

is also an experiment in position location to centimetre accuracy. The inter-satellite radio

is used to relay attitude and position information between the two satellites.

Figure 1.4: CanX-4&5 payload

Page 16: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 6

1.2 The Attitude Subsystem

The Attitude Determination and Control System (ADCS) on GNB satellites is quite

modular with different components employed on different missions to perform a given

task. Uniting any variation of the GNB is, however, a common software layer: OASYS

(On-orbit Attitude SYstem Software). OASYS consists of several common libraries, the

Extended Kalman Filter (EKF), and the mission specific controller. Contained within

the common libraries are: all computations related to matrix and vector manipulation;

the ephemerides for estimating position in the Global Centric Inertial (GCI) frame, the

solar vector, and the magnetic field strength; as well as a common measurement library

for turning raw sensor values into sensible measurements. The EKF is constructed to be

modular more detail is given in Section 5.2.2 and in [14]. The mission specific controller

includes both the control laws (to acquire the target quaternion) and the actual controller

to regulate attitude (a more detailed discussion is given in Chapters 3 and 4). Binding all

the different sections of ADCS code together is the ACS exchange data structure which

provides a common point of reference for all variables (e.g. current state vector) that

can be accessed by both the operating system and any OASYS code fragments. Shown

in Figure 1.5 is a simplified flow diagram of OASYS’ operation.

Figure 1.5: Data flow for OASYS

1.2.1 BRITE ADCS configuration

The hardware side of BRITE’s ADCS consists of: sun sensors, a magnetometer, and

a star tracker for determination; and reaction wheels and magnetorquers for actuation.

There are six sun sensors (one per face) that consist of a both a coarse and fine sun sensor.

Page 17: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 7

During the course of an OASYS execution cycle all six coarse sun sensors are read. The

coarse sun sensor with the brightest response determines which fine sun sensor is read,

after some manipulation from the measurement processing routines in OASYS the sun

sensors return the sun vector in the body frame. Only one three axis magnetometer

is used on BRITE, consequently the magnetometer is only read when radios and other

sources of electromagnetic interference are turned off; the magnetometer produces a

measurement of the magnetic field vector in the body frame. The star tracker on BRITE is

capable of producing a full attitude solution with a high fidelity, producing the quaternion

that would rotate the spacecraft from the (geocentric intertial frame) GCI to the present

body frame. On the actuation side, the three reaction wheels are configured orthogonally

and are used to produce the bulk of attitude control torques. The three magnetorquers

are also aligned orthogonally, however, they are not used to point any portion of the

spacecraft. The magnetorquers are simply present to transfer any build-up of angular

momentum in the wheels from secular torques (e.g. solar torque) to the Earth.

OASYS for BRITE is configured to receive target quaternions directly from ground

control software and point accordingly. The EKF in BRITE is set to rely most heavily on

the star tracker and thus favours slower movements. Similar to the EKF, the controller

on BRITE is geared for slower movements.

1.2.2 CanX-4&5 ADCS configuration

As CanX-4&5 are very similar to BRITE, the ADCS configuration is very similar. There

are, however, some notable differences: the star tracker is replaced with rate sensors, and

there is a potential for attitude disturbance from the thrusters. Since both space and

power are limited on CanX-4&5, it was necessary to use rate sensors, in lieu of a star

tracker, to help ensure a full attitude solution during the eclipse period. CanX-4&5 has a

lower determination accuracy than BRITE. Although not strictly an attitude component,

CanX-4&5 has thrusters in order to perform its formation flying mission. Though every

effort will be made during assembly, integration and test to eliminate misalignments of

the thrusters that might create a secular angular momentum build-up, the possibility

still exists as the centre of mass will shift as propellent is depleted. The thrusters have,

in consequence, been placed in a grid pattern to allow for periodic re-adjustments to

thrust levels. Thrust adjustment is not expected to be a real-time process, and therefore

the controller for CanX-4&5 must be robust enough to withstand periodic jolts to its

Page 18: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 8

alignment.

OASYS for CanX-4&5 is configured to receive a target pointing direction from FIONA

(the Formation-flying Integrated Onboard Nanosatellite Algorithm the guidance con-

troller) and adjust its orientation to both point the thrusters and minimize the angle

between the GPS antenna and zenith detailed in Chapter 3. The EKF for CanX-4&5

is geared to favour no sensor over any other and operates best at small speeds. The

controller on CanX-4&5 is geared towards accomplishing its pointing task as quickly as

possible in order to accommodate the relatively rapid change in target pointing direction.

Details on both the controller and EKF can be found in Chapters 4 and 5 respectively.

1.3 Mirage

Mirage is the attitude simulation environment that has been developed for the CanX

missions through the work of several generations of SFL staff and students. The goal of

the simulator is to provide a reasonably accurate picture of how the satellite will move

physically over the course of a mission. A conceptual diagram of Mirage is shown in

Figure 1.6 with a detailed explanation of each block given below.

Figure 1.6: Simulation environment simplified overview

Page 19: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 9

The external environment exists, as the name would suggest, largely external to the

rest of the simulation. The equations of motion for a point mass are applied to the satel-

lite to propagate position according to the external time signal. The SGP4 (Simplified

General Perturbations Satellite orbit model 4) propagator is used to propagate position

and includes the J2 through J5 effects in addition to an estimate of the effect of the

disturbance torques due to atmospheric drag and solar pressure. Information regarding

position is passed to both the magnetic field block and the solar ephemeris. The magnetic

field (and corresponding attitude disturbances) are calculated using IGRF (International

Geomagnetic Reference Field). In practice there is a small amount of attitude data (not

shown) fed back into the external environment blocks to calculate attitude disturbances.

Consequently, solar torques are calculated based on actual attitude rather than a simpli-

fied model, drag torques and magnetic torques are similarly calculated.

Plant dynamics forms the core of the Mirage simulation environment: torques are

fed into the block and the resultant attitude is calculated. Attitude is propagated from

integration of Euler’s equations and the quaternion rate/angular velocity relations; more

detail on the equations is given in Section 4.1. Included in the plant dynamics is the

effect of reaction wheel speed on the spacecraft. At this time there is no consideration

given to the effect on attitude of either flexible antennas or the change of mass during

the course of a mission. For BRITE and CanX-4&5, consideration of flexible elements

is not likely to be a problem, however, this may affect future GNB missions. Lack of

attention to the change in mass may affect CanX-4&5, though currently there exists no

good model for fuel slosh in its tanks.

The sensor models block takes input from both the external environment and the

plant dynamics to simulate the sensor data that will be given to OASYS. In addition

to the direct translation of orientation data to sensor output (e.g. position + attitude

→ sun vector in the body frame), each sensor model attempts to include an accurate

representation of noise, discretization, saturation, and dead-banding seen on the real

sensors. A more thorough discussion of some of the sensor models developed for GNB

missions is given in Section 5.1.

The external control block is an attempt to simulate the effects of external event

triggers on the behaviour of the spacecraft and governed primarily by the time signal.

Examples of external events would include mode switches (e.g. de-tumble to active

control) or the output of a new target quaternion/vector. For CanX-4&5 the complete

set of attitude targets is placed in this block for output to OASYS at fixed times.

Page 20: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 1. Introduction 10

The OASYS block provides bindings to the actual control code that will be used on

GNB missions. When Mirage is run, all telemetry that will be seen by the spacecraft’s

ACS is parsed into a large array of inputs that will become the input side of the ACS

exchange structure. This array is then passed to Simulink MEX code which then exe-

cutes a single OASYS control frame. Once commands have been given by OASYS (e.g.

commanded wheel torques), they are written to the output side of the ACS exchange

structure for feedback into the simulation. Because the control code is executed once

a second this sets the maximum simulation step time used by Mirage to integrate the

differential equations. More details on simulation time are given in Section 5.1.1.

Actuator models are similar in behaviour to the sensor models: commands given

by OASYS to control the spacecraft are converted into the actual torques that will

be seen; the simulated torques are then passed to the plant dynamics. Like the sensor

models, actuator models provide not only translation of a command to actual torque (e.g.

commanded torque → actual torque + phase-lag), but also noise models on telemetry

and real effects such as stiction or saturation. A more thorough discussion of some of the

actuator models developed for GNB missions is given in Section 5.1.

The output block is simply a large data collection block. It provides the data struc-

tures that capture commands, spacecraft telemetry, and true simulated environment data.

In addition to providing data acquisition, the output block also provides some limited

comparison of telemetry vs. actual spacecraft motion which is useful for assessing the

magnitudes of determination and pointing errors.

Page 21: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2

Hardware Evaluation

2.1 Fine Sun Sensors

Theory of Operation

Provided here is a brief description of the theory of CanX Fine Sun Sensor (FSS) op-

eration; more detail can be found in [7] and [10]. The fine sun sensors consist of a two

dimensional profile sensor capable of outputting an X and Y profile showing the dis-

tribution of light over the profile. The 8-bit profiles are shown in Figure 2.1 (courtesy

of Hamamatsu corporation [15]), though in reality each profile consists of 256 elements

rather than the 12 shown. Light from the sun enters through a pin-hole filter mounted

some distance from the active plane to produce a spot of maximum intensity (Figure 2.2).

The recorded spot of maximum intensity is then investigated using a central tendency

technique developed in [14] and the centre of this peak (termed the centroid) is found.

The sun vector is then determined using (2.1), where Cx is the distance from the origin

(the area directly beneath the pinhole) to the centroid along the x-axis, Cy is the distance

from the origin to the centroid along the y-axis, and h is the separation distance from

the pin-hole to the sensor back plane (termed the gap thickness).

s =

Cx

Cy

h

√C2

x + C2y + h2

(2.1)

11

Page 22: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 12

Figure 2.1: Profile sensor illumination response.

Figure 2.2: Fine sun sensor theory of operation

Page 23: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 13

2.1.1 Fine Sun Sensor Calibration

Origin Detection

Determination of the origin is perhaps the most important test for the sun sensors.

Nominally, the pinhole filter should be directly above pixel (128, 128) of the profile

sensor, however, alignment of the pinhole to the profile sensor centre is exceptionally

difficult [14]. Figure 2.3(a) shows the testing facility (at Ryerson University) that is

used for all calibration including the mount point and Figure 2.3(b) shows the adapter

plate used to mount the sun sensor. Due to the large number of interfaces between

the sun sensor and the test-rig, including the dimensionally unstable plastic spacers,

determination of the origin was not simply a matter of using the calibrated light source

present at Ryerson with the sun sensor in the neutral position (θ1, θ2, θ3 = 0).

(a) Ryerson test-rig (b) Mounting Plate

Figure 2.3: Testing facility and test set-up. Light source is projected along θ3 axis

Instead of using the test-rig’s neutral position, the sensor was rotated about θ3 in order

to produce an ellipse about the origin on the profile sensor; this concept is illustrated

schematically in Figure 2.4. The centre of the projected ellipse was then calculated and

that pixel was determined to be the origin.

Sensitivity

Determination of sun sensor sensitivity would ideally consist of an examination of each

and every pixel on the sun sensor. Regrettably, in the interest of timely calibration, the

developed procedure only examines a large region of the sun sensor’s active region. At

Page 24: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 14

Figure 2.4: Origin location concept. Any misalignment of the sun sensor to the test rig

base will result in a wander of the recorded centroid as θ3 is rotated.

the suggestion of Dr. Enright from Ryerson University, the sun sensor was rotated about

θ3 and θ2 to produce a sweep pattern over the active area as shown in Figure 2.5(a). The

sun sensor would first be rotated about θ2 in increments of 1 from −45 to 45, when

this step was complete the sensor would be returned to θ2 = 0 and rotated by 5 about

θ3 before being swept again. For sweeps conducted along the fine sun sensor’s 1−→ and

2−→ axes (highlighted sweeps in Figure 2.5(a))rotations about θ2 were conducted in 0.1

increments from −45 to 45 to test resolution.

(a) Sweep pattern concept (b) Sensor axes

Figure 2.5: Sweep pattern and sensor frame. Sweeps are conducted along vectors in the

plane with normal in the direction of the 3 axis

As shown in Figure 2.6 (a plot typical of CanX sun sensors) a 0.3 − 0.4 change in

Page 25: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 15

angular orientation is required before a change is detected on the sun sensor. This is the

expected value of least detectable change based on the separation of individual pixels on

the sun sensor as calculated by θ = arctan(√

C2x + C2

y/h) where h is the gap thickness.

Due to the nature of the tangent function, the result becomes slightly more accurate as

the sun nears the edge of the detector.

Figure 2.6: Recorded vs. true angle

Gap Thickness Height

Almost as critical as determining the sensor origin, is determination of the separation

distance between the pin-hole filter and the active area of the sensor, referred to as gap

thickness. The data-sheet for the profile sensor indicates that the gap thickness should

be 0.9− 1.1mm [15], resulting in an uncertainty of 20% of the given value. Fortunately,

the Ryerson test facility provides two ways of determining the sun vector: through em-

ployment of (2.1) or through use of the known sun vector values as given by the test

stand. Determination of the gap height at a given location should then be a simple mat-

ter of rearranging (2.2). Unfortunately, due to the same potential alignment problems

present for origin determination, (2.2) cannot be used directly at one point. Instead,

Page 26: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 16

the gap height must be calculated over as many points as possible (employing the sen-

sitivity data) to create a point cloud of potential gap heights as shown in Figure 2.7(a).

Since resolution tends to decrease towards the origin due to the tangent relation, the gap

thickness calculation becomes increasingly noisy until the noise overrides the signal. To

avoid this issue, only points at the periphery of the field of view were used to determine

gap thickness height. These values were then used to create a plane of best fit (Figure

2.7(b)) to represent the tilt of the sun sensor with respect to the test jig. The height of

the plane at the origin was then calculated and that value was used as the gap thickness,

this value was found to be on the low end of the given datasheet values.√S2

x + S2y

Sz

=

√C2

x + C2y

h(2.2)

(a) Point cloud (b) Plane of best fit

Figure 2.7: Gap thickness determination procedure. The tilt in the plane represents the

misalignment of the sun sensor to the test-rig.

2.1.2 Albedo Effects

Fine Sun Sensor Reading

Crucial to the performance of the ADCS is the quality of the Fine Sun Sensor’s (FSS) sun

vector reading. As shown in Section 2.1.1, the fine sun sensors are accurate to between

0.3 and 0.4 when the proper sun sensor is chosen, however, the issue of correct fine sun

sensor choice is determined by the coarse sun sensor. The algorithm for choosing the fine

Page 27: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 17

sun sensor consists of using the FSS on the face with the brightest coarse sun sensor.

There remains, however, a question regarding whether or not the coarse sun sensors, due

to their larger field of view (FOV), would be affected by the effects of Earth albedo.

To ascertain the effects of albedo, it was necessary to first find data on the Earth’s

reflectivity in a readily accessible form. Fortunately, the work of Bhanderi [4] included the

development of a free Matlab program for the compositing of data from NASA’s TOMS

probe to create a full-sphere map of the Earth’s reflectivity. The inner workings of this

program are explained in detail in Bhanderi’s doctoral thesis [3], however, a summary of

the data product output is given here: 1. The oblate spheroid of the Earth is divided

into a series of 2D patches; 2. The TOMS raw reflectivity data is matched to each patch;

3. A weighted average reflectivity is calculated for the centre of each patch.

With full-sphere reflectivity, the amount of incident light seen by a nadir pointing

face can be readily calculated. For a given 2D ground patch, the amount of light received

(Ecell) from that patch is given by (2.3). This equation is a function of the incident

irradiation (Esun), the reflectivity (ρ) which is a product of latitude (λ) and longitude

(δ), the area of a given ground patch Acell which is a function of latitude, the dot product

of the unit sun vector (rsun) and the ground patch unit normal vector (ncell) expressed in

a common frame, all over the square of the distance of the satellite from the ground patch

(rsat). Since the number of visible ground patches is readily calculated for a satellite at

a given altitude, the total radiation incident on a nadir face, Etotal, is simply given as the

summation of all the individual visible cells (2.4).

Ecell =ρ(δ, λ)EsunAcell(λ)rT

sunncellrTsatncell

π|rsat|2(2.3)

Etotal =n∑

i=1

Ecell,i (2.4)

Determination of the intensity and direction of radiation for a given ground patch is

only half of the information necessary to determine the effects of albedo on the fine sun

sensor. The other half is, of course, the response of the sensor to light of a given intensity.

Unfortunately, the testing facility described in Section 2.1.1 is not guaranteed to produce

brightness equal to the sun over all wavelengths and the tests performed at this facility

were the only ones with a known sun vector direction. Due to this mismatch, it was

impossible to determine directly from measurements the sun sensor’s absolute response

to a full sun as a function of incident angle, only its trended response to a light source.

Page 28: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 18

Fortunately, data did exist for the peak response of a sun sensor at an unknown orienta-

tion (approximately normal to the true sun) with different light intensities modulated by

the degree of filtering, therefore, analysis proceeded as follows: 1. The response of the

sun sensor to varying angles was determined from calibration data; 2. The response of

the sun sensor to varying light intensities was determined; and 3. The data was combined

to produce a function that relates fine sun sensor response to light intensity and incident

angle. It should be noted that both the test facility’s bulb and the sun have the same

spectral response in the regions of interest (i.e. near 550nm).

The intensity of response of the sun sensor to incident angle was thought to be cosine

about the origin from a cursory glance at the data. Consequently, the function was

assumed to be R (θ) = Ro · cos (θ), where the response (R) of the fine sun sensor is

proportional to the intensity at the origin (Ro) and the cosine of the off normal angle

(θ). To verify this assumption, a plot of intensity vs. the cosine of the off normal angle

was created, a least squares fit was taken, and the corresponding correlation coefficient

was used to assess linearity of the rectified angle with respect to the response. Figure 2.8

shows the fit to data from some calibration tests on CanX-2’s FSS. The corresponding

square of the correlation coefficient is in excess of 0.95. Therefore a cosine response can

be deemed a good fit.

Figure 2.8: Peak response vs. rectified angle

The response of the sun sensor vs. the intensity of incident light was assumed to

be linear, however, this needed to be verified. Fortunately, data from sun sensor filter

selection could be used when coupled with radiation data from a nearby weather station

to find the light intensity/sensor response relation. This was accomplished by graphing

the peak response at a fixed angle vs. total light admitted through the filter. Figure 2.9

shows the response (RFSS) of the sensor to different light intensities and the corresponding

Page 29: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 19

linear curve fit with a slope C of 787 bitsW/m2

which has a correlation coefficient in excess of

0.95. This leads to the complete response vs. intensity and angle equation given by (2.5)

where E is the incident light, s−→ is the light direction, and n−→ is the sun sensor normal.

Figure 2.9: Peak response vs. intensity of admitted light

RFSS

(E, s−→

)= E · C s−→ · n−→ (2.5)

With equations for radiation from a particular ground patch (2.3) and the response

of the sun sensor to radiation given an incident angle and intensity (2.5) in hand, it

is possible to determine whether a nadir facing fine sun sensor would even register the

Earth’s albedo. This was done in four parts: 1. A yearly average albedo was constructed

from TOMS probe data using Dr. Bhanderi’s program for each point on Earth; 2. A

satellite orbiting at 615km in a noon-midnight sun-synchronous orbit was simulated and

the location of brightest albeo was determined; 3. Due to computational limitations

only the brightest spot was examined using a modified version of Bhanderi’s program

to determine the incoming radiation and its direction for each visible 1.25 x 1 patch

of the Earth; and 4. The impact of each portion of albedo was determined for a nadir

facing sun sensor. Figure 2.10 shows the fine sun sensor’s response from each contributing

ground patch. Due to the diffuse nature of the light, no single ground patch has sufficient

brightness to excite a bit change on the profile sensor. Consequently, it was concluded

that a ground facing sun sensor could not be ‘tricked’ into producing a false sun vector

to confuse the ACS. Instead, were a nadir-pointing sun sensor chosen, it would show up

as null error within OASYS.

Page 30: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 20

Figure 2.10: Fine sun sensor response for peak albedo - the sun sensor would detect

albedo if, at any point, the expected response exceeded 1

A final question regarding the use of the TOMS probe data is its suitably for use

with the particular sun sensor designed by SFL. The peak reflectivity measured by the

TOMS probe is at 380nm [23], however, SFL’s fine sun sensor has its peak response at

500nm, with a range from 380-1000nm [15]. There is, in consequence, a small mismatch

in the wavelengths of light employed by each sensor. Since both sensors have their peak

responses within the visible spectrum (a fairly small band) and the atmosphere quickly

attenuates wavelengths on either side of the visible spectrum [20], it was felt that this

datum was sufficient, particularly as no alternative exists.

Fine Sun Sensor Choice

Although the fine sun sensors would produce a null reading when exposed to albedo, it is

ultimately hoped that this situation would never occur. The appropriate fine sun sensor

is chosen based on the coarse sun sensors, it was therefore necessary to determine the

effects of albedo on the coarse sun sensor. The coarse sun sensor consists of a photo-

transistor, and consequently the response (RCSS) to a light source varies (approximately)

linearly with intensity and cosinusoidally with incident angle. It is therefore possible to

model the response from a variety of light sources with (2.6); where C is a scaling factor

based on operating voltage, Ii is the intensity from a given light-source, s−→i is the unit

vector of the light source, and n−→ is the coarse sun sensor normal.

Page 31: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 21

RCSS = CN∑

i=1

Ii s−→i · n−→ (2.6)

Since processing of albedo was computationally expensive (in excess of a day), it

was decided to only examine one longitude location from −90 to 0. The longitude

chosen had been previously determined to be the brightest longitude for the fine sun

sensor. The satellite’s coarse sun sensor response (R) was then calculated for the two

faces shown in Figure 2.11 while the off-nadir angle (β) of face 1 was varied from 0 to

90. The equivalent response of face 1 can be calculated using (2.7) and the response

of face 2 calculated using (2.8). Where Ra was the response of the coarse sun sensor to

albedo, Rs was the response of the coarse sun sensor to the sun, and Req1 & Req2 were

the combined responses for the first and second respectively. The corresponding ratio of

the equivalent response of the first face to the second (r) was then calculated using (2.9).

Figure 2.12 shows r as a function of β and southern latitude (λ); the coarse sun sensors

were considered to have failed in their purpose if for β < 45 the response ratio was

greater than 1. With the current sensor algorithm, a ratio greater than 1 corresponds

to choosing to read a fine sun sensor not in view of the sun. As Figure 2.12 shows, only

two points of concern exist: one between the sensor dead-bands when any face choice

will result in a bad reading due to fine sun sensor limitations, and the other when the

satellite is at the sub-solar point. The sub-solar point is a special case as instead of the

sun sensor choice being between two adjacent faces, it is between two opposite faces and

can therefore be disregarded. In consequence, it can be concluded that albedo does not

pose a threat to the determination abilities of the CanX sun sensors.

Req1(β, λ) =

Ra(λ, θ) cos(β) if cos(π − (α + β + λ)) ≤ 0

Ra(λ, θ) cos(β) + Rs(α) cos(π − (α + β + λ)) if cos(π − (α + β + λ)) > 0

(2.7)

Req2 = Rs(α) cos(α + β + λ− π

2

)(2.8)

r =Req1

Req2

(2.9)

Page 32: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 22

Figure 2.11: Angle definitions used in determining effect of albedo on the coarse sun

sensors on Face 1 and Face 2

Figure 2.12: Coarse sun sensor face ratio as a function of off-nadir angle and southern

latitude

Page 33: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 23

2.2 Magnetometer Calibration

2.2.1 Operating Effectiveness

The magnetometer used in GNB satellites employs magneto-inductive magnetic sensors.

These magneto-inductive sensors are both temperature and noise stabilized due to their

counter-field variation detection [25]. The output of the magneto-inductive sensors is

a linear relation, larger oscillation frequencies of the sensor indicate the presence of

larger magnetic fields. A special purpose ASIC is used to count the number of crossings

in a set period of time (depending on the sensor range and resolution desired), the

output from the sensor is therefore in units of counts. At the time of testing only the

CanX-2 prototype was available for testing, due to the space-constrained nature of the

magnetometer packaging, two of the axes employ a more sensitive element than the

third by a factor of approximately two. Consequently, the effective resolution of the

magnetometer is not equal in all axes.

2.2.2 Axis gain calibration

Due to the variable nature of the sensor’s manufacturing process, each sensor has a

different gain. This gain can be calculated on a per-axis basis to find the counts/µT of

each sensor. Theoretically calibration of the gain is a simple matter if the strength of

the magnetic field is known. At first glance, a permanent magnet would seem the ideal

choice against which to calibrate. Unfortunately, the strength of the field of interest

is on the order of ±50µT, approximately the strength of the Earth’s field. Due to the

relation |B| ∝ 1/|r|3, which relates magnetic field strength (B) to distance from the

dipole (r), small changes in position will translate into large changes in the measured

field as operating at the distance from the permanent magnet that will produce a field

in the ±50µT region is also near the limit of its sphere of influence as compared to the

Earth’s field. Consequently, it was decided to employ the Earth’s magnetic field as a

known field of sufficient strength against which to calibrate.

Shown in Figure 2.13 is the experimental set-up used to calibrate the magnetometer

gains. The compass was used to ensure alignment with the maximum field and spacers

were used to ensure alignment between the calibrated single axis magnetometer and

the flight magnetometer. Due to the wide spacing between the two magnetometer’s (to

avoid interference), this test was conducted in an empty room separated by > 1m in all

Page 34: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 24

directions from large ferromagnetic objescts. Both magnetometers were rotated a full

360 to capture as large a field as possible. Final gains were found to vary widely but

still within the tolerances specified by the manufacturer.

Figure 2.13: Gain Calibration Experimental Set-up

2.2.3 Misalignment and Deviation

Ideally, the magnetometer’s axes would be perfectly aligned such that each sensor on the

magnetometer was perpendicular to the other two. Unfortunately, due to uncertainty

in placement of the sensors on their boards and misalignment between the XY and Z

boards (Figure 2.14), perpendicularity cannot be guaranteed and must be determined

and corrected. Figure 2.15 shows one possible misalignment scenario.

Figure 2.14: Magnetometer axes

Deviation, also known as bias, of a magnetometer can occur for two reasons: 1. A

residual magnetic field is present on the device or intrinsic to the design; and 2. The

Page 35: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 25

Figure 2.15: Misalignment of sensors from desired orthogonal frame

sensors do not register a zero reading in the absence of a magnetic field. For practical

purposes, however, the two effects are indistinguishable and can be treated as a single

effect.

The combined effect of misalignment and deviation results in a reading distinct from

the true field. Mathematically, the effect of deviation and misalignment can be repre-

sented by (2.10), where M represents the sensor reading; Bi is the true magnetic field

expressed in the inertial frame; Csi is the rotation matrix from the inertial frame to the

sensor frame (intrinsically linked to the body frame); A is the misalignment matrix and is

composed of unit vectors in the sensor frame indicating the true directions of the sensors;

G is a diagonal matrix that represents per-axis scaling; D is the unit level deviation; and

ν is the noise. Since deviation appears in the same equation as the misalignment matrix,

it was most convenient to calibrate D and A simultaneously. In order to calibrate mag-

netometer misalignment and deviation, two avenues of calibration were considered: A

three-point measurement method per plane; and a many-point measurement redundant

magnetometer calibration.

M = G (A (CsiBi + D)) + ν (2.10)

Three-point calibration

Three-point calibration refers to the three orthogonal measurements required per plane

to estimate that plane’s angular misalignment and deviation component. Shown in Fig-

ure 2.16 (Green rectangles denote magnetic sensors) are the 6 pieces of information that

combine to form a reading in any planar measurement, namely: true field strength and

angle; true deviation strength and angle; and the true sensor misalignment. Since any

Page 36: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 26

measurement with the magnetometer on a given plane will produce two pieces of infor-

mation (an X and Y reading), 3 measurements are needed to achieve a deterministic

solution. To simplify calculation, three orthogonal measurements were used to gener-

ate (2.11)-(2.16). These 6 equations are highly non-linear and, consequently, no direct

analytic solution was found. If several simplifying assumptions are made the equations

become tractable. Specifically, if η and θ are assumed small than using the small angle

approximations and some iteration, a solution can be obtained with the equations given

by (2.17)-(2.22). Thus it is possible for a constant magnetic field to determine all mis-

alignments and deviations provided that the general direction of the field is known (so

as to maintain β within the correct quadrant).

Figure 2.16: Graphical depiction of misalignment, deviation, and true field viewed from

three perspectives in one plane. The misaligned magnetometer (green) is rotated in the

constant field (orange).

x1 = M · sin(α− θ) + D · cos(β + θ) (2.11)

y1 = −M · cos(α + η)−D · sin(β − η) (2.12)

x2 = M · cos(α− θ) + D · cos(β + θ) (2.13)

y2 = M · sin(α + η)−D · sin(β − η) (2.14)

x3 = −M · sin(α− θ) + D · cos(β + θ) (2.15)

y3 = M · cos(α + η)−D · sin(β − η) (2.16)

Page 37: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 27

α + η = arctan

[2(y2 − y1)− (y3 + y1)

y3 − y1

](2.17)

α− θ = arctan

[x3

x3 + x1 − x2

](2.18)

M =y2 − y1

sin(α + η) + cos(α + η)(2.19)

η =y2−y1

M− (cos(α) + sin(α))

cos(α)− sin(α)(2.20)

β = arcsin

[M cos(α + η)− y3

D

]+ η (2.21)

D =x1 + x3

2 cos(β + θ)(2.22)

With the equations in hand, calibration became a matter of finding a suitably even

magnetic field to use as a reference and applying all equations. Due to the fact that

field strength is related to distance from a dipole by an inverse cubed relation [20],

small permanent magnets are unsuitable as a calibration field as small variations in

position translate into large changes in field strength. Therefore, as with gain calibration,

calibration of deviation and misalignment was performed against the Earth’s magnetic

field. Although any three perpendicular orientations are acceptable for this method of

calibration, experience showed that results were most numerically stable when α was a

non-zero value. Consequently, readings were taken in the compass directions of NW, SW,

and SE in the XY, YZ, and XZ planes to generate solutions.

Assembly of the final misalignment solution was based upon small angle approxi-

mation as, in the limit, angles can be treated as vectors. During misalignment matrix

assembly, the η’s and θ’s of (2.11)-(2.22) for each plane become the α, β, γ, δ, ε and ζ

of Figure 2.15. Adding the angle vectorially as per Figure 2.15 produces a unit vector

in the sensor frame for each axis that represents the true sensor direction. These unit

vectors can then be assembled into a final misalignment matrix. Solution of the deviation

vector would be more complex as the small angle assumption no longer holds, however, in

actual practice deviation in the magnetometer’s Z direction was found to be quite small

and thus the planar XY solution was used. This method of misalignment estimation can

produce an accuracy of ±1 based on the accuracy of the compass used.

Page 38: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 28

Redundant calibration

The redundant calibration method was based largely on the work of Graven et al. [13] who

reported that, using their method, a magnetometer’s misalignments could be calculated

to 0.1 accuracy and deviation to 0.1% of the nominal field intensity. This relies on many

measurements in different orientations and employs the reading model given by (2.23),

where P is the transformation matrix to skew the readings along sensor misalignments

and scale them. This is a slightly different formulation given by (2.10), and so the results

of Graven’s work had to be reworked to accommodate what was felt to be a better

formulation for SFL’s magnetometer. This can be done applying the inverse gain matrix

G−1 to the measurements from the magnetometer to get an equation similar to (2.23)

which can be found in (2.24).

M = P (CbiBi + ν) + D (2.23)

M = A (CsiBi + D) + ν (2.24)

The underlying idea behind taking many measurements in different orientations is

to use the known magnetic field strength (obtained through IGRF in orbit and prior

measurement if done on the ground) to determine an estimate of A and D using a cost

function. Specifically, if Bi is squared with its transpose (2.25) for a given modified

measurement (Mk) then the unknown rotation matrix Csi disappears from the equation

when multiplied by its transpose. The residual for a measurement is then given by (2.26),

however, this residual, like the original measurement, contains noise terms. As noted by

Graven et. al [13], the random nature of the noise terms means that their expected value

should be a constant over many measurements. These terms will therefore be ignored

with the knowledge that they induce an upward bias when minimizing the residuals.

This bias renders the solution useless for determining the absolute scale of the readings,

however, it does provide a useful means of relative scaling. Consequently, for a given

estimate of A and D the residual of the equation will be given by (2.27). By employing

an optimizer, the values of A and D can be varied such that the guess values that will

yield a minimum residual. For this particular implementation, the lsqnonlin function

in Matlab was used.

BTi Bi =

[C−1

si A−1Mk −C−1si (D + νk)

]T [C−1

si A−1Mk −C−1si (D + νk)

](2.25)

Page 39: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 29

R = MTk (A−1)T A−1Mk − MT

k (A−1)T D − MTk (P−1)T νk (2.26)

−DT A−1Mk − νkA−1Mk + DT D + νT

k νk −BTi Bi

R = MTk (A−1)T A−1Mk − MT

k (A−1)T D − DT A−1Mk + DT D −BTi Bi (2.27)

In order to assess the efficacy of this method of determining calibration coefficients,

simulated data was generated and the optimization heuristic applied. The simulated data

were generated under the conditions as listed below:

• Noise levels were similar to those present on the magnetometer as determined from

previous calibration testing.

• Deviation was of a similar magnitude to that of the real magnetometer.

• The transformation matrix was the identity matrix.

• 400 simulated data points were generated per trial run, as previous work [13] has

indicated that this should produce accurate results.

Once the data were generated, the heuristic was applied with guess values for the devia-

tion vector and transformation matrix varied randomly about their true values by a fixed

percentage using the randomizing functions built into Matlab. At each level of percentage

error, 10 trials were performed and the angular misalignment was assessed. Figure 2.17

(note: relationship is linear, but plotted on a semi-log scale to emphasize area of interest)

shows the average misalignment error that can be expected for a given percentage error

in the input values.

If values from the three-point calibration method are used to seed the redundant

calibration solution the corresponding solution that can be obtained from this method

is no better than the guess values, as the guess values are only accurate to ±1, roughly

1.1%. This result is somewhat apparent in the real data when the calculated relative

misalignments of the axes are compared against those found with the heuristic. Both

results show similar levels of misalignment, however, for small angles these can differ in

sign. Therefore three-point calibration would only be useful in determining magnetometer

drift on-orbit if a better method of initial calibration were employed.

Page 40: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 30

Figure 2.17: Accuracy of the magnetometer heuristic as a function of guess value devia-

tion

2.3 Angular Rate Sensors

2.3.1 Selection and Design

The addition of rate sensors to certain GNB based satellites was a fairly late addition

based on the more intensive simulations performed of attitude determination following

the preliminary design review. As shown in Figure 2.18, quality of attitude determination

during eclipse declines precipitously for CanX-4&5 due to the loss of the sun sensor and

the high rates of motion for that mission. Consequently, it was decided that the addition

of rate sensors would improve performance during the eclipse period and allow more time

to stave off Extended Kalman Filter (EKF) divergence.

Figure 2.18: Determination during eclipse without rate sensors in passive mode

(determination only)

Page 41: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 31

Selection of angular rate sensors (referred to as rate gyros in the literature) for CanX

missions was a fairly straightforward task. All commercially viable rate gyros intended for

use on embedded devices employ a vibrating mass, this mass in the presence of a rotation

will move out-of-plane due to the coriolis force (Figure 2.19). It is the means of generating

this vibration and the corresponding means of out-of-plane movement detection that set

the different commercial rate gyros apart.

Figure 2.19: Coriolis acceleration - an induced acceleration (yellow) is created by the

interaction of a steady angular velocity (green) and a translational velocity (red)

In recent years, the MEMS industry has moved away from quartz rate sensors such

as Systron Donner ’s QRS series of rate sensors to bulk silicon such as those produced by

Analog Devices and Systron Donner. The move to bulk silicon from quartz rate sensors

was initiated for cost and throughput reasons, but has since resulted in numerous side

benefits [34] . These benefits include: power reduction, low drive/sense coupling, low

noise due to on-board ADC addition, and quadrature error elimination through redun-

dant proof masses [34] [32]. Consequently, the chief choice that was made in selection of

rate gyros was not between silicon or quartz, but was instead between on-board and off-

board processing. Table 2.1 provides a comparison of the advantages and disadvantages

of on-board and off-board signal processing.

At first glance, the advantages and disadvantages of the off-board processing seem

to outweigh those of on-board processing, however, on closer inspection the advantages

quickly disappear. Due to the weak nature of the coriolis force, the sense elements of a

rate gyro, which use capacitive pick-offs, will register signals (for low rates) on the order

of change of 1pF. Consequently, the lower signal noise and higher resolution of the off-

board processed rate gyro are only guaranteed in bench tests using highly sensitive test

equipment. When placed on a real spacecraft, implementation of measurement circuits

for the off-board case will result in a higher noise and consequently, a reduced resolution.

Page 42: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 32

Table 2.1: On-board and off-board signal processing comparison chart

Type Advantages Disadvantages

On-board • Temperature Compensated • Not available in a tri-axial package

• Output signal pre-conditioned • Higher signal noise

• Lower cost • Lower resolution

Off-board • Available in tri-axial package • Output signal in a raw state

• Lower signal noise • Not temperature compensated

• Higher resolution • Higher cost

By contrast, the on-board package uses the so called ‘flip-chip’ fabrication technique to

produce parts, where the MEMS portion of the chip is constructed on one side of the

silicon wafer and the circuitry on the other. As a result, lead lengths between the sensing

elements of the MEMS circuitry and the ADC/signal-processing circuits are both very

short and well insulated by a layer of SiO2. Thus, although the data-sheet values of noise

and resolution for the off-board signal processing circuits are technically better, only the

on-board chips will actually achieve data-sheet values. With the perceived superiority

of high resolution/low signal noise eliminated from the comparison, the advantages of

on-board processing quickly become apparent: the signal can be pre-conditioned to the

desired signal cut-off and the sensor does not need to be calibrated over temperature

(thus special measurement facilities do not need to be used).

With the options narrowed to an on-board signal processing chips for the rate gyros,

the Analog Devices ’ ADIS 16251 was chosen as a good compromise between price and

quality. This sensor has a base sensitivity (s) of 0.00458/sec/LSB with a noise density

(ν) of 0.056/sec/√

Hz. The effective resolution (ρ) of the device is therefore given by

(2.28) [31] where fc is the cut-off frequency of the on-board low pass filter.

ρ =ν ·√

fc

s(2.28)

Obviously, it is desirable to obtain the best resolution possible and therefore the

minimum cut-off frequency should be used. Since the control system loop operates at

1Hz, this sets the minimum cut-off frequency of 1Hz as the control system will not be

able to use any information faster than 0.5Hz anyways. Rather than processing the signal

on the OBC, the rate gyro has a built-in, user-adjustable Bartlett filter. Although this

filter greatly reduces the computation load on the OBC, it does have several limitations.

Page 43: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 33

The on-board sample time of the rate gyro is user-adjustable from 3.906ms to 11.718ms

in increments of 1.953ms, this results in a maximum sampling frequency of 256Hz. In

addition, the Bartlett filter can only look back at N = 2M samples where M can be

any integer from 1 to 7. Thus, choosing the correct cut-off frequency (fc) is a matter

of balancing sampling frequency (fs) and the number of samples filtered to choose the

optimal signal cut-off. Given in (2.29) is the magnitude of the Bartlett filter response as a

function of frequency, which was used to create the plot shown in Figure 2.20. The point

shown in Figure 2.20 is approximately the non-dimesionalized cut-off frequency (f/fs)

for N = 32; for a sample rate of 256Hz this yields fc = 1.664Hz. Attempting several

combinations of sampling rate and sample point observation, fc = 1.664Hz provided the

highest level of filtering without violating the 1Hz limitation.

HB(f) =

[sin(π ·N · f · ts)N · sin(π · f · ts)

]2

(2.29)

Figure 2.20: Bartlett filter response as a function of non-dimensionalized frequency.

With a sensor and cut-off frequency chosen, the next challenge was to package the

rate sensor to ensure perpendicularity between all three sensors. Separating the sensors

and placing them on other boards (e.g. the sun sensor boards) was briefly considered,

however, it was felt that this would impose an undue failure mechanism on these boards

and was discarded. As CanX-4&5 was already fairly tightly packed, spacing was limited

Page 44: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 34

and the entire package had to fit into a volume no more than 50x40x13.5mm3. The sensors

themselves are 11x11x5.5mm3, making the design of the sensor package fairly straight-

forward with the exception of the need to use flexible boards to accommodate bends

and avoid connectors. Presented in Figure 2.21 is the designed rate sensor packaging

including flexible connectors.

Figure 2.21: Proposed rate sensor package layout

2.3.2 Testing

As silicon rate sensors are a new technology to SFL, testing consisted primarily of as-

sessing the truth of data-sheet values in real-world practice. Testing was conducted with

an ADIS 16251 evaluation board and SFL’s rate table. Of interest were the sensor’s true

noise characteristics, true linearity, on-off bias, and true bias over temperature.

The true noise of the sensor was determined by evaluating the returned responses of

the sensor for a known rate over a representative period of time (≈1min) many times

resulting in thousands of samples. The standard deviation for the returned responses was

then calculated at each constant speed. Figure 2.22 is a plot of the calculated values, as

seen, the data shows no correlations. It is interesting to note that the average standard

deviation (0.0064/s) is on the order of the base resolution of the sensor (0.00458/s),

indicating that the low frequencies of the constant rate signals are being adequately

filtered. Unfortunately, it is not possible to test signals with higher frequency components

due to the inability of the test set-up to capture moving rates.

The output values of the rate sensors, while quite linear with increasing rate, are

curiously, improperly scaled. Figure 2.23 shows a high correlation between the measured

Page 45: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 35

Figure 2.22: Noise over rate

output of the sensor and the true rate, however, since the sensor’s output is nominally

in /s the corresponding curve should be 1:1 and it is not. Though there can be many

possible reasons for this off-scaling (e.g. the chip die has worn, thus degrading the

calibration of the proof mass), the effect on CanX-4&5’s rate package can be minimized

through simple but careful pre-calibration.

Figure 2.23: Rate sensor linearity and scale

Tests for on-off bias of the zero-rate reading were accomplished simply by turning

the rate sensor unit on and off and recording the average bias for a given ‘on’ period.

Similarly, in-run bias drift was measured by simply leaving the sensor still for a long

period and recording the drift in bias. As expected, there was some drift in bias with

each power cycle and over time, with the recorded bias stability standard deviation at

0.025/s and 0.07/s to the datasheet’s 0.018/s and 0.016/s respectively. Fortunately,

this higher value appears to have little effect on final determination, as is seen in Section

Page 46: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 36

5.2.2.

While the gyroscopes are nominally temperature compensated, there is a small amount

of bias that cannot be automatically calibrated at the factory. As shown by Figure 2.3.2,

the measured values with the evaluation unit are well within specifications. A look-up

bias table will need to be implemented in the final design with an individual curve for

each sensor. Fortunately, there is an on-board temperature sensor within in each ADIS

16251 that can be read.

(a) Datasheet bias over tempera-

ture. Courtesy Analog Devices [1]

(b) Averaged measured bias over temperature

Figure 2.24: Comparison of true and measured bias stability over temperature

2.4 Reaction Wheels

The chief actuators for GNB satellites are the Sinclair Interplanetary reaction wheels

(Figure 2.25), a joint product between Sinclair Interplanetary and SFL. Electrical design

was provided by Sinclair Interplanetary while the mechanical design was largely provided

by SFL with significant input from Sinclair Interplanetary. The wheels, in a departure

from previous reaction wheel designs, are unsealed and employ a custom-wound motor

to increase inertia without incurring a weight penalty. Consequently, it was imperative

that a full suite of qualification testing be conducted to ensure that the wheels would be

capable of surviving the rigours of space. All qualification testing of the hardware was

performed by SFL, this testing included: testing over temperature and voltage, TVAC

(temperature and vacuum), vibration, and lifetime testing.

Page 47: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 37

Figure 2.25: GNB reaction wheels

2.4.1 Initial testing

Initial testing on the reaction wheels was successful as the wheels performed well over

temperature, over voltage, and in vacuum. During this testing several key metrics useful

for gauging performance of the unit as a whole emerged, namely: maximum speed,

damping coefficient, and torque linearity. All metrics can be obtained during a Short

Form Functional Test (SFFT) illustrated in Figure 2.26. This test consists of a period of

application of maximum power in both the positive and negative direction to the reaction

wheel’s windings followed by a run-down period when no power is applied. The sequence

is then repeated with a braking mode used instead of a run-down period. Following

maximum power application, the wheel is operated at a variety of speeds to evaluate

speed control. After speed testing, a constant negative torque is applied to evaluate the

effectiveness of the torque controller. Finally, a series of low speed tests are conducted

to evaluate stiction and telemetry responsiveness.

Maximum speed is an obvious measure of wheel health, since the maximum wheel

speed that can be achieved for a set amount of power is a good measure of efficiency.

Damping coefficient is a less obvious, but still relevant means of determining the friction

present in the wheel’s bearing. The damping coefficient (B) is based on the differential

equation given by (2.30) which is used to model the behaviour of the wheel’s mechanical

components. In the absence of power applied to the windings, the governing factor in

slowing down a wheel is friction. This friction is composed several independent frictive

forces of which the dominating factors are the static friction of the rolling ball bearings,

the viscous losses of the grease, and loss due windage (skin friction drag on the rotor).

Static friction of the rolling ball bearings is obviously not speed-dependent, while windage

losses and viscous bearing friction are drag terms which are therefore approximately de-

pendent on ω2. Fortunately, the static rolling friction is small in magnitude compared to

Page 48: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 38

Figure 2.26: A typical SFFT time-speed curve

the two fluid based losses and therefore friction can be modelled as being solely velocity

dependent. Since drag terms are proportional to ω2, and hence non-linear, B can only be

considered valid for a range of values, essentially combining a quasi-static velocity term

into the drag coefficient. To assess the validity of this assumption (2.30) was solved for

drift-down boundary conditions to yield the solution given by (2.31), where I is the rotor

inertia, G the torque. Solving for B yields (2.32) which allows the predictive power of

(2.31) to be checked through a two-point measurement and comparison of the extrapo-

lated value to the true value. Figure 2.27 shows a comparison of actual to modelled data

from a two point measurement taken over a large range of speeds. The correspondence is

quite high indicating that B is indeed a good measure of bearing friction. Experiments

in vacuum indicate that up to a third of the calculated damping coefficient is due to

windage with the remainder due to bearing losses.

I · dω

dt+ B · ω = Garmature (2.30)

ω(t) = ωoe−B

It (2.31)

B = ln

[ω2

ω1

]−I

t2 − t1(2.32)

Torque linearity is a simple measure of the effectiveness of the torque controller in

maintaining a constant torque over all speed ranges. A constant negative torque is

Page 49: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 39

Figure 2.27: Comparison of equation modelled run-down to actual run-down data

commanded at a high speed (determined by the maximum power applied) and maintained

until a high negative speed is reached. A linear fit for the speed data is then taken

and its correlation coefficient calculated. A well-tuned controller will have a correlation

coefficient near the theoretical maximum of 1, including the portions of the curve that

cross the stiction point.

2.4.2 Bearing Life

Initially the pre-load placed on the bearings of the reaction wheel was high in expectation

of the damage that would be incurred on the bearings due to high vibration during launch.

Within a week of vibration testing, one of the three engineering model reaction wheels

had failed leading to the erroneous conclusion that high vibration levels had initiated

the damage. Upon further investigation of the frequency of sudden impacts of the wheel

rotor against the bearings [14] there was found to be little difference between a high

pre-load and reduced number of impacts. When it became apparent that no amount of

pre-load would alter the number of impacts incurred on the rotor against the bearing, a

re-examination of bearing life was conducted.

Bearing lifetime is a highly statistical process [28], [2], but a formula exists for a 90%

confidence in survival hours (Le) and is given by (2.33). In (2.33), N is the speed of

rotation in rpm, Cthrust is the manufacturer-supplied thrust loading in newtons, Pthrust

Page 50: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 40

is the actual thrust loading on the bearing in newtons, K is the empirically determined

bearing coefficient for the given class of bearings, 16700 is the adjustment from rpm to

hours, and A1, A2, and A3 being life adjustment factors. When this calculation was

performed for the original level of pre-load the wheel’s life was found to be on the order

of 100 hours. While the real reaction wheels survived for about 500 hours with one

exception, it should be noted that for low hours (i.e. high loads) and large numbers

of hours (i.e. low loads) the equation fails due to the characteristics of the SN fatigue

curve for steel. It was therefore concluded that the cause of the original failure was

not, as originally suspected, due to vibration loading but was instead due to excessive

pre-loading.

Le = A1A2A316700

N

(Cthrust

Pthrust

)K

(2.33)

With the cause of wheel failure established, it was then necessary to re-adjust the

pre-load for a suitable lifetime. Since (2.33) is geared for 90% reliability in terrestrial

environments it was necessary to apply modification factors to life to find the ideal

Pthrust. The design lifetime was specified by Sinclair Interplanetary to be 3 years with

a 99% reliability, which equates to 26,280 hours. Employing the factors given in Marks’

Standard Handbook for Mechanical Engineers [2]: the adjustment factor for 99% survival

life (A1) was given as 0.21; the adjustment for bearing type (A2) is 1.0 for standard steel

bearings (as used on CanX-2), with the expectation that diamond coated bearings used

on GNB satellites will increase life by a factor 2.0 due to their exceptional hardness; and

the adjustment factor for lubrication (A3) was set to 1.0 as the bearings are expected

to be adequately lubricated due to the vacuum grease. For a nominal operation speed

of N = 2000rpm and a bearing rating of Cthrust = 65N, the corresponding allowable

pre-load was determined to be 6.8N.

2.4.3 Lifetime testing

Following acceptance testing on wheels with the new pre-load it was necessary to verify

that the true lifetime of the wheel would meet or exceed the calculated lifetime and that all

electronics would perform well over many cycles; to test this, several wheels were placed

on lifetime testing. Lifetime testing as implemented is a partially accelerated life test as

wheel electronics are operated at ambient temperatures (ignoring the strains of thermal

cycling) while wheel bearings are operated at accelerated speeds (greatly reducing their

Page 51: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 41

life).

A lifetime cycle consists of: 1. A period of maximum power application; 2. A period

of drift down; 3. A period of maximum power application in the other direction; 4. A

period of drift up; and 5. A repetition of steps 1-4 with drifting replaced by braking. A

typical lifetime cycle is illustrated in Figure 2.28, it is designed to include both directions

of rotation and provide easy access to two important wheel health metrics: maximum

speed and damping coefficient. Employing (2.33) piece-wise over the time-speed curve

yields an accelerated life factor of 2.04. Thus, every hour of life testing is equivalent to

2.04 hours of flight as seen by the bearings, all other components are cycled in real-time.

Figure 2.28: A typical lifetime test time-speed profile

As mentioned above, the lifetime testing profile was designed to allow easy access to

two measurement metrics: the maximum speed and damping coefficient; torque linearity

is excluded as it was a measure of controller performance rather than wheel health.

During the course of lifetime testing a sample of data is taken once per day and the

maximum speed and damping coefficient are calculated. Shown in Figure 2.29 is the full

life test of one of the early wheels with the original pre-load plotting both maximum speed

and damping coefficient over time, it shows several common characteristics observed in

lifetime tested wheels. Characteristic of all lifetime tested wheels thus far is the initially

highly variable maximum speed and damping coefficient, after a period of about 1000

hours the initial variability disappears. Following the initial period of rapid change there

is a long period of near constant maximum wheel speeds and damping coefficients. Seen

so far only in the failed first generation wheels is the sudden rise in damping coefficient

Page 52: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 2. Hardware Evaluation 42

and maximum speed followed by a rise in damping coefficient and decay in maximum

speed. Though further testing is needed on the new bearing designs it is highly likely a

sudden drop in wheel maximum speed coupled with a sudden rise in damping coefficient

can be used to presage imminent wheel failure allowing users to mitigate problems.

Figure 2.29: Lifetime profile for a failed first design iteration wheel with unusually long

survival life.

Page 53: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 3

CanX-4&5 Control Laws

The control laws governing the current GNB satellites (BRITE and CanX-4&5) are by

necessity very different from each other, due to their differing missions. In the case of

BRITE, a single inertially-fixed attitude is held for some time (in excess of 15 minutes)

to allow observation of the stars. In the case of CanX-4&5 attitude is continually shifting

to meet the ever-changing thrust directions dictated by formation flying program FIONA

(Formation-Flying Integrated Onboard Nanosatellite Algorithm).

3.1 Control Goals

The control laws governing CanX-4&5 have two competing requirements: 1. The +X

face of the satellite (axes shown in Figure 1.1 ) must point in the direction of thrusts as

directed by FIONA; and 2. The +Y face towards zenith to maximize the GPS signals

received by the formation flying computer. Unless FIONA directs the thrusts along the

direction of travel, these two requirements will be in continual opposition. Ultimately,

the primary mission goal is to perform formation flying with the GPS experiment aiding

in its performance, in consequence, the requirements were prioritized such that the +X

pointing takes precedence over +Y zenith pointing.

With pointing priorities chosen, the control laws governing pointing were formulated

mathematically to replicate the behaviour illustrated in Figure 3.1, thrusters are denoted

by the red cylinders and the GPS antenna is denoted by the green rectangle.. Figure

3.1(a) shows the initial problem: x−→ (the true thruster direction) must be aligned with

T−→ (the target thrust vector); and the separation between r−→ (the zenith vector) and y−→(the GPS antenna vector) must be minimized. The control law first finds the rotation

43

Page 54: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 3. CanX-4&5 Control Laws 44

(a) Initial pointing problem (b) First constraint applied (c) Second constraint applied

Figure 3.1: Pointing constraints on CanX-4&5

that will align x−→ and T−→. Once this rotation has been found, y−→ is free to be spun about

x−→ (Figure 3.1(b)) to minimize zenith misalignment to get the final ideal configuration

shown in Figure 3.1(c) shows the ideal minimized misalignment.

For notation purposes: ()−→t refers to the orientation of a particular portion of the

spacecraft when it is in the target orientation, ()−→i refers to the orientation of a particular

portion of the spacecraft when it is aligned with the inertial frame, and ()−→m refers to the

orientation of a particular portion of the spacecraft when it is aligned with the mid-frame

(intermediary frame) concept shown in Figure 3.1(b).

3.2 The Original Control Laws and Their Perfor-

mance

Given the control goals mentioned in section 3.1, a heuristic that would perform this task

was developed by Sarda [10]. The heuristic finds the desired quaternion that would, if

the spacecraft were properly aligned, match Figure 3.1(c). The steps of the heuristic are

presented as follows:

1. The Euler axis a−→ and the Euler angle φ are calculated between the inertial x−→i and

the desired thrust vector T−→ such that:

a−→ = x−→i × T−→ (3.1)

φ = arccos( x−→i · T−→) (3.2)

Page 55: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 3. CanX-4&5 Control Laws 45

2. A rotation matrix is then generated to move from the inertial frame to an interme-

diary body frame via (3.3).

Cmi = cos(φ)13×3 + (1− cos(φ)) aaT − sin(φ)a× (3.3)

3. The rotation angle (α) about x−→t (which is equal to x−→m) that would minimize the

inner product between y−→t and r−→ is then calculated via (3.4) with all components

expressed in the intermediary frame.

αoptimal = arctan

(rm3

rm2

)(3.4)

Where, in practice the C-function arctan2() was employed to find the proper

quadrant.

4. A rotation matrix (Ctm) about x−→t is then calculated with α and a final rotation

matrix is generated by: Cti = CtmCmi.

5. The final quaternion (qt) is generated through deconstruction of Cti via (3.5)-(3.8).

η = ±1

2

√1 + C1,1 + C2,2 + C3,3 (3.5)

ε1 =1

4η(C2,3 − C3,2) (3.6)

ε2 =1

4η(C3,1 − C1,3) (3.7)

ε3 =1

4η(C1,2 − C2,1) (3.8)

Where the choice of sign of η is arbitrary.

6. Employing the current state estimate (generated through the spacecraft’s Extended

Kalman Filter - q) an error quaternion is then generated from (3.9).

qerror =

q4qt1 + q3qt2 − q2qt3 − q1qt4

−q3qt1 + q4qt2 + q1qt3 − q2qt4

q2qt1 − q1qt2 + q4qt3 − q3qt4

q1qt1 + q2qt2 + q3qt3 − q4qt4

(3.9)

This control heuristic would produce a target quaternion but was not robust. Oc-

casional pointing failures, termed singularities, were encountered over the course of an

orbit (Figure 3.2). Two probable causes regarding the origin of the singularities were

Page 56: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 3. CanX-4&5 Control Laws 46

considered and rejected: that the controller was unstable for large slews, and that the

singularities were a result of nadir or zenith pointing commands. The first cause was

rejected after an examination of the target vector inputs showed that singularities were

as likely to occur for large slews (in excess of the typical ≈ 14 - the average shift in

pointing proscribed by FIONA) as with small, indicating that the controller did not in

fact leave the linear region. Similarly, as Figure 3.2 shows, the singularities were as likely

to occur with small optimal zenith/GPS angles as with large ones. During the course of

these investigations it was found that in the time steps leading up to a singularity event

one or more of the quaternions would near either approach 0 or the ±1 boundary.

Figure 3.2: Zenith angle pointing in a ATO formation with intermittent pointing failures

The ramifications of approaching 0 were immediately obvious in the case of limη→0,

where the resulting quaternion, as calculated by the originally implemented Grubin

method [18] of quaternion extraction from a rotation matrix (Step 5 of the heuristic),

would be subject to divide by zero errors. A small change in the elements of Cti could

lead to a rapid sign shift in one of the elements of ε in the event that two of the elements

of Cti (e.g. C2,3 and C3,2 were similar to each other in magnitude. This behaviour, cou-

pled with the continual recalculation of the α over the course of the 65s, it is possible to

see oscillation in the calculated target quaternion. The angle α was continually recalcu-

lated due to the shift in the value of r−→, which was small but still present. Though the

shifts in values of the target quaternion are generally quite small, two changes prove to

be quite problematic. The first and most easily dealt with is divide by zero errors. These

can be dealt with either by a modified quaternion extraction method (e.g the Shepperd

method [27]) or through stringent error checking. The second and most problematic shift

in value involves rapid fluctuations in quaternion sign. While not problematic in and of

itself, when calculating the error quaternion, small changes in sign of the components

can lead to large changes in the error quaternion that is fed to the controller as shown

Page 57: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 3. CanX-4&5 Control Laws 47

in Figure 3.3. The rapid change in error quaternion in turn leads to excitation of the

controller due to a rapid target pointing shift.

Figure 3.3: Rapid error quaternion shift during the middle of singularity

3.3 Modified Control Laws

To address the issues with the original control laws outlined in Section 3.2, modifications

were attempted. Namely, the Grubin method of quaternion extraction was replaced with

the method proposed by Shepperd [27], and an error checking condition was instituted for

the case where limη→0. These modifications, while reducing the number of singularities,

failed to eliminate them. Consequently, a new heuristic for target quaternion formation

was attempted. While the principles of rotation remained the same, the method of

quaternion formation simplified. The altered algorithm was as follows:

1. The Euler axis a−→ and the Euler angle φ are calculated between x−→i and the desired

thrust vector T−→ such that:

a−→ = x−→i × T−→ (3.10)

φ = arccos( x−→i · T−→) (3.11)

2. An intermediate quaternion (qmi) expressed in the inertial frame is then generated

from a (expressed in the inertial frame) and φ.

3. A rotation matrix is then generated to express vectors described in the inertial

frame to an intermediary body frame by decomposing qmi via (3.12).

Cmi = (η2 − εT ε)1 + 2εεT − 2ηε× (3.12)

Page 58: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 3. CanX-4&5 Control Laws 48

4. The rotation angle (α) about x−→t that would minimize the inner product between

z−→t and r−→ is then calculated by expressing everything in the intermediary frame.

5. A quaternion (qtm) is calculated directly from the rotation about the vector x−→m

using (3.13). [q1 q2 q3 q4

]T=[

sin(

α2

)0 0 cos

(α2

) ]T(3.13)

6. The final quaternion target quaternion is then calculated using (3.14) as suggested

by Wertz [33].

qt =

q4 q3 −q2 q1

−q3 q4 q1 q2

q2 −q1 q4 q3

−q1 −q2 −q3 q4

qmi (3.14)

These modifications to the control law dealt with approximately half of the singu-

larities encountered, however, there were still occasions in which the target quaternion

would unexpectedly and rapidly change signs. As a further precaution against rapid sign

change and its undesirable effects, a check was performed on the sign of qt. If the signs

of two or more elements of the currently generated target quaternion differed from the

previous target quaternion’s signs, the quaternion was simply negated using the prop-

erty that the negative of a quaternion produces the same rotation as its positive. This

addition to the control laws seems to eliminate all remaining problems. Figure 3.4 shows

the singularity-free operation of the control laws.

Figure 3.4: Singularity free operation of the control laws.

Page 59: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4

Controller Design

4.1 Plant Model

The plant model used to design the controller for both BRITE and CanX-4&5 is a simple

extension of rigid body dynamics as set out in [16] and [5]. The angular velocity of the

satellite (ω) is modelled by Euler’s equation of a rigid body motion modified for three

reaction wheels (denoted by ()s) expressed in the body frame, and is given by (4.1).

Torques are denoted by G, angular momentum by h, reaction wheel bias speed by ωbias

and the moment of inertia by I. Expanding the terms and recognizing that the rate of

change of momentum of the wheel acts as a control torque yields (4.3).

htotal + ω×htotal = Gexternal (4.1)

h + ω× (Iω + hs) = Gexternal + Gu (4.2)

Iω + ω×Iω + ω×Isωbias = Gexternal + Gu (4.3)

The angular orientation of the spacecraft is modelled through integration of the

quaternion rates which are given by (4.4), where q = [ε η]T [5].

q =1

2

[η1 + ε×

−εT

]ω =

1

2Q(q)ω (4.4)

Combining (4.3) and (4.4) and rearranging yields (4.5), which is of the form x =

Ax + Bu. Where the state vector is given by x =[ωT qT

]T, the system matrix (A) is

given by the first term and the input matrix (B) is given by the second term.

49

Page 60: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 50

ω

q

=

[ (−I−1ω×I + I−1 (Isωbias)

×) 03×4

12Q(q) 04×4

q

+

[I−1

04×3

]Gu (4.5)

4.1.1 Design Plant

Regrettably, (4.5) does not form a linear system due to the state-dependent terms in

the system matrix. Consequently, the plant model used to design any linear controller

must be linearized about the point of operation (x). The generally accepted method of

linearizing a vector equation to a linear system matrix is given by (4.7) and (4.8) [5],

where f is the vector equation of the time derivative of the state vector, in this case

given by (4.6).

x = f(x, u) (4.6)

A(x) =∂f

∂xT|x=x (4.7)

B(x) =∂f

∂uT|x=x (4.8)

In the case of both BRITE and CanX-4&5, the satellites do not need to rotate at

a constant speed (as would be the case in a nadir pointing satellite), nor is it desirable

for the body frame to differ from the target quaternion. Consequently, the point of

linearization becomes x =[

0 0 0 0 0 0 1]T

which, when substituted into (4.7),

yields the result given by (4.9).

A =

I−1h×s 03×4

1213×3 03×4

01×3 01×4

(4.9)

Since there are only 3 linearly independent elements of a quaternion (due to the

condition that the magnitude of a quaternion is always 1), it useful and safe to drop the

last row and column of (4.9) provided the full quaternion is calculated for control. This

reduces the order of the system matrix to satisfy the controllability condition that the

rank of[

B AB . . . An−1B]

must equal n for a system of n linearly independent

state variables [12]. As an added benefit, should an integrated state be required for the

Page 61: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 51

controller, the integration of the target state will not require the continual integration of

1 (i.e. avoids∫

η dt →∞).

While the continuous time system matrix is useful for understanding of system dy-

namics, it is only marginally useful for the discrete time implementation of the controller

that will be required for the OBC. To this end, either the system dynamics or the con-

troller must be discretized during design. Since there can be problems with discretization

of a linear controller [22], it was decided to discretize the plant prior to design of the

controller. This discretization is accomplished by (4.10) and (4.11), where Φ and Γ form

the discrete time complements to A and B respectively. With a discrete-time plant it is

possible to directly design the satellite’s controller entirely within the discrete domain.

Φ =

∫ to+tsample

to

eAtdt (4.10)

Γ =

∫ to+tsample

to

eAtB(t)dt (4.11)

4.2 Discrete Controller

Due to the effects of stiction on the reaction wheel, it is necessary and desirable to

operate the reaction wheels with some bias speed. This speed can be either positive or

negative, but its absolute value must, on balance, be numerically larger than 10rad/s as

the reaction wheels have poor control below this speed. While this is the eventual goal,

to simplify the initial control problem, a zero momentum bias reaction wheel controller

was designed first.

4.2.1 Zero momentum bias reaction wheel controller

Initially, the controller planned for both BRITE and CanX-4&5 was to be a simple de-

coupled controller such that the control signal (Gu) would be given by (4.12) [10], [9].

In the case of BRITE this was a full PID controller and in the case of CanX-4&5 it

was a PD controller. A controller was designed for each case and worked properly at

the time of the preliminary design review. When a more complete system model was

implemented, including a full reaction wheel model, both controllers quickly moved the

system to instability. In addition, during the critical design review and afterwards, it

was commented that effort should be made to operate the reaction wheels, the primary

Page 62: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 52

means of attitude actuation, away from the zero bias region. Since, the method of control

given by (4.12) has no means to include the off-axis terms that would be present due to

the inertia product terms in (4.1), the controller is essentially decoupled. Thus, while

the simplicity of the decoupled continuous time controller was appealing, it precluded

consideration of off-axis effects and devolved towards instability. Consequently, it was

decided to consider a full state-space design. It was hoped that it would be possible to

design a linear controller that would remain valid for entire expected region of operation.

Gu = Kdω + Kpεerror + Ki

∫εerror (4.12)

Although the final plant will have six poles (one per state), to further simplify the

initial design problem, a single axis spinning body was examined to determine where to

place the poles, as a single axis with a PD control can be approximated as a second order

system. Second order systems have well-known relations relating the placement of poles

to things such as 2% settling time (Ts) and percent overshoot (OS) given by (4.13) and

(4.14) [22].

Ts ≈4

ζωn

(4.13)

OS = 100e− ζπ√

1−ζ2 (4.14)

For both BRITE and CanX-4&5, the requirements can be translated into a settling

time performance specification, however, no stipulation was given on the allowable over-

shoot. If a reasonable value for overshoot is chosen (e.g. no more than 5%), then a

desirable range for a continuous time plant’s poles can be found. In order to provide use-

ful design variables these poles, once found, must be translated into the discrete domain

for implementation on the OBC. Translation into the discrete domain (z-plane) can be

accomplished by application of the bilinear transform (4.15). Thus, for the desired con-

tinuous poles and a sample time (T ) the desired z-domain equivalent poles can be found.

Design of the controller can then be performed entirely within the z-domain, avoiding

the issues associated with controller emulation methods [22].

s =2

T· z − 1

z + 1(4.15)

To take an example of a desired settling time and overshoot, 60s and 5% respectively,

which are approximately the useful values for both BRITE and CanX-4&5, a ζ and ωn

Page 63: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 53

Figure 4.1: A single axis plant with a continuous PD controller

can be generated. In this instance, ζ = 0.9312 and ωn = 0.0716 with the poles of the

corresponding system given by s = 0.0667±0.0261j. These poles can then be discretized

with a 1s sampling time via the bilinear transform to yield z = 0.9352±0.0218j. Therefore

for a second order system of the form found in Figure 4.1 were discretized, the desired

poles should lie at the above location in the z-domain. Since a spacecraft is in large part

three single axis plants attached together if Euler’s equation is linearized about a zero

velocity, it follows that the poles of the entire closed loop system should all lie within a

region near that found for the single axis case.

While (4.13)-(4.15) provide a useful means of determining the placement of two of

the poles, essentially dealing with one of the spacecraft’s axes, it fails to determine where

to place the remaining four poles. To determine the remaining pole locations, there are

several options:

1. Disregard the poles and attempt to apply an optimal controller (e.g. LQR) and

achieve the time domain specifications via simulation.

2. Employ a Butterworth pole configuration with two of the poles located in the region

associated with the performance specifications.

3. Attempt to decouple the design of each axis from the other and apply the same

performance specifications to each axis.

LQR

In solving the optimal control problem: choosing Q and R such that the cost function J

is a minimum for the equation given by (4.16), it is hoped that the poles found through

Page 64: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 54

this method will produce a performance exceeding that specified by the performance

specifications. Since the performance specifications can only be checked through simula-

tion after the design of the optimal controller, the problem of variable choice is to ensure

that the values of Q and R are chosen intelligently. The value of the gain matrix K can

then be calculated through the methods given in [12], however, in practice this operation

is performed in Matlab using the lqrd command.

J =

∫ ∞

0

xT Qx + uT Ru dt (4.16)

As noted in [12], Q in (4.16) is a measure of the relative weight given to each state

variable, while R is a measure of how much each actuator should be depended upon. For

the actuators, the value of R is trivial to determine as all three actuators should exert

the same control effort, consequently, R = 13×3. Though this differs from the values

suggested by Bryson’s rule [12], which recommends diagonal terms be equal to one over

their maximum allowable value, it should be remembered that the maximum allowable

value is the same in every axis and that R is relative. In determining Q only the portions

of x pertaining to orientation (ε) are truly of interest. Consequently, the diagonal terms

of Q pertaining to ε should be weighted higher than those pertaining to ω. Since terms

along the diagonal of Q should be non-zero for numerical stability, the diagonal terms

related to ω were chosen to be 10% of those chosen for ε. An additional tweak to prevent

repeated poles in the case of similar moments of inertia was performed by adjusting each

element along the diagonal of Q by 1%.

As Figure 4.2 shows, the poles for the designed LQR controller are significantly more

aggressive, but stable, than the pole locations for the second-order system approximation

would imply, suggesting that an LQR controller should handily achieve the performance

specifications. Unfortunately, when applied in simulation to the non-linear plant, the

controller generated through optimal control methods is less than perfect, with the con-

troller going unstable for large slews. The reason for an apparently stable controller going

unstable becomes apparent when the system is re-linearized during a large slew (slew ¿

than typical FIONA command of 14). Figure 4.3(a) shows an apparently stable large

slew using an LQR controller and the corresponding poles for the system at its maximum

angular velocity (Figure 4.3(b)). As is evident, the poles of the system mid-slew have

drifted significantly from the original pole locations. While this single incident of pole

drift is not sufficient to bring the controller into a region of instability, subsequent slews

Page 65: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 55

compound the error (as seen in Figure 4.4). Though this is unlikely to be a problem

for BRITE due to the low frequency of target quaternion change, it was decided that a

controller that was shown to be unstable in any instance would be a poor choice.

Figure 4.2: LQR poles. Note: Poles are extremely close but not equal in RH side of

z-plane

Page 66: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 56

(a) Large slew angular velocities (b) Poles at maximum angular velocities

Figure 4.3: Performance of an LQR controller

Figure 4.4: Target acquistion with an LQR controller

Page 67: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 57

The aggressive nature (increased control effort) of the LQR poles and the correspond-

ing issues associated with its use lead to an interesting possibility with regards to the

limit of the performance of the system. It was seen that as the poles moved farther

from the unit disk, which should increase stability the system in fact became less stable.

Essentially, their is a boundary on the ability of increased control effort from a linear

controller to improve system performance, however, due to the non-linear nature of the

plant, the exact locations of this boundary cannot be found without simulation. As the

plant moves towards the aggressive poles, instability creeps in for high slews (Figure 4.4)

and gradually the system becomes unstable for all control inputs. Figure 4.5 illustrates

the concept of a ‘soft’ boundary to pole placement, shown are the optimal poles and the

poles of a single axis system (far closer to the unit disk). Even though the LQR poles

are farther from the unit disk, the poles of a single axis system are far more stable as

seen below for a pole placement design.

Figure 4.5: Region of unacceptable poles

Butterworth Pole Placement

Butterworth pole placement is another well-regarded technique for locating system poles.

It is similar to an optimal controller in that the poles will be placed in same configuration

[12], however, it differs from an optimal controller in that a Butterworth configuration

is chosen to have poles located in specific regions of the open unit disk. As an initial

design choice, two of the poles were chosen to be placed at spots that would yield a 50s

Page 68: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 58

settling time and 5% overshoot; and, in the case of BRITE, a 120s settling time and a

5% overshoot. The remaining four poles were then placed by applying the Butterworth

polynomials to optimally separate the poles. The initial two poles were placed by finding

ζ and ωn, as with the single axis case. A variable p (for polynomial) was then created with

value λ/ωn and inserted into the Butterworth polynomials given by (4.17) and (4.18).

The values of λ then became the appropriately scaled poles for inclusion in the gain

matrix K.

Bn(p) = Πn/2k=1

[p2 − 2p cos

(2k + n− 1

2nπ

)+ 1

]for n even (4.17)

Bn(p) = (p + 1)Π(n−1)/2k=1

[p2 − 2p cos

(2k + n− 1

2nπ

)+ 1

]for n odd (4.18)

With poles in hand, calculation of the gain matrix can be achieved analytically

through employment of the Ackermann formula [12] to place the system poles at the

Butterworth locations. In actual practice, however, calculation through the Ackermann

formula is computationally difficult and prone to small numerical errors [21]. Conse-

quently, the place command in Matlab was used in lieu of the Ackermann formula.

place uses an algorithm that can be found in [17].

As Figure 4.6 shows, the performance of the spacecraft employing Butterworth poles

is not equal in all axes. In situations where the ‘bad’ axis (in this case the body’s Z axis)

is the primary axis of rotation, performance such as that seen at time t = 1525s is seen.

While this would be adequate were the poles capable of providing ‘good’ performance

in all axes, due to the same constraints present for an LQR controller, a Butterworth

controller cannot have ‘aggressive’ poles. Consequently, though a Butterworth controller

has an optimized pole spacing to avoid the problems of repeated poles, it fails to provide

adequate performance and cannot be used.

Pole Placement with Time Domain Specifications

Given the failure of both the LQR and the Butterworth methods to design a linear

controller valid over the entire operating range of the spacecraft, pole placement was

tried. Pole placement with time domain specifications is perhaps the most intuitive

method of controller development, as the controller gains map directly to performance

specifications. Initial design focused on de-coupling each of the axes and designing each

axis to achieve the three-axis pointing goals.

Page 69: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 59

Figure 4.6: System performance with Butterworth poles

A state space rendering of the system represented by Figure 4.1 is given by (4.19),

where the variable φ is given as φ = θ/2 in order to mirror the effect of (4.4) for small

angles. The poles of the closed loop system for a single axis are given by the eigenvalues

of (Aminor −BminorKminor). Since there are two free parameters (Kp and Kd) that must

be matched to the desired specifications (ζ and ωn), the poles can be placed through

pole placement methods such as Matlab’s place command. By this method, one Kp

and one Kd can be found per axis. To avoid the placement of all three poles in the

same location and the problems associated with repeated poles [12] slight modifications

were made to the performance specifications (e.g. Ts varies by ≈ 5% for each axis). A

final gain matrix was then assembled from all the attendant Kp’s and Kd’s to form the

gain matrix given by (4.20). To ensure that the assembled gain matrix was stable, the

eigenvalues of A −BK of the full linearized system where then found and the system

tested for robustness (Figure 4.7), as with the LQR and Butterworth cases.

ω

φ

=

([0 0

0.5 0

]−

[1I

0

] [Kd Kp

]) ω

φ

≡ (Aminor −BminorKminor)xminor

(4.19)

K =

Kdx 0 0 Kpx 0 0

0 Kdy 0 0 Kpy 0

0 0 Kdz 0 0 Kpz

(4.20)

Page 70: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 60

Figure 4.7: Performance of de-coupled poles

CanX-4&5 poles

Given that pole placement with time domain specifications performed the best of the

controller generation methods, the next step was to decide precisely where to place indi-

vidual poles. In the case of CanX-4&5 the requirements state:

AC.16 The ACS shall be able to slew the CNAPS thruster up to 90 degrees

within at most 50 seconds.

AC. 17 The ACS shall be able to provide 5 degrees RMS accuracy when

pointing the CNAPS thruster. [8]

Translating requirements AC.16 and AC.17 into standard controls terminology, the

2% settling time should be within 50s; these two requirements impose the only per-

formance constraint on the design. Consequently, a reasonable value for overshoot was

chosen (5%) and the poles were generated through the pole placement methods described

above and current estimates of spacecraft moment of inertia.

BRITE poles

The settling time performance requirements for BRITE are significantly less strenuous

than for CanX-4&5, with stability taking precedence over the speed of target pointing.

The two non-determination dependent requirements state:

AC. 12 The ACS shall be able to maintain a BRITE target star field lock for

at least 15 minutes of each orbital period.

AC. 13 The ACS shall be able to slew BRITEs telescope to target star field

and settle to the accuracy and stability limits defined in AC.10 and AC.11

Page 71: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 61

within a time defined by the remaining time left after the image duration and

length of the longest expected eclipse are subtracted from the mean orbital

period. [8]

If it is assumed that BRITE will be at approximately CanX-2’s altitude, then its orbital

period would be approximately 97 minutes and with eclipse periods that can be expected

to last as much as 35 minutes, leaving approximately 47 minutes to achieve AC. 12 and

AC. 13. While it is desirable to achieve a settling time for the controller to slew to target

somewhat better than 47 minutes, this value does not need to be as aggressive as that

for CanX-4&5. It was therefore decided to choose a settling time of about 120s, equating

to an average rate of roughly 1.5/s for a maximum slew. Percent overshoot is, similarly,

a somewhat arbitrary value: 5% overshoot was chosen to have some small amount of

overshoot to deal with the potential for droop that can occur with discretized sensing.

These poles can then be discretized as per the pole placement methods given above.

To ensure that BRITE can maintain an inertially fixed attitude in the presence of

a constant direction disturbance (e.g. solar torque) over a long time a small amount of

integral control was added to the BRITE controller. The addition of integral control

necessitated adding an additional three states to be considered by the controller which

form the integration of the first three error quaternion elements (denoted by p); the state

vector for this new plant is then given by x =[ωT εT pT

]T. The resulting linearized

continuous time plant matrix is given by (4.21), which can in turn be converted to a

discrete time plant as per (4.10) and (4.11). To ensure that the behaviour does not

deviate too far from what is expected, the integral terms are chosen such that their

addition results in poles near to the real part of the poles calculated for the PD controller.

A =

I−1h×s 03×3 03×3

1213×3 03×3 03×3

03×3 13×3 03×3

(4.21)

Actual implementation of a 9-element state vector and the associated 3x9 gain matrix

is somewhat problematic as the largest size supported by the vector and matrix functions

used on the OBC is a 7-element vector. While it would be trivial to extend matrix

programming to 9 element vectors, doing so would incur an increase in the memory

used by every vector and matrix declared within OASYS. Consequently, in the actual

implementation of the designed controller, (4.22) was used instead of a 3x9 matrix.

Page 72: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 62

u = KPD

ω

ε

+ KIp (4.22)

4.2.2 Biased reaction wheel controllers

With a pole placed controller proving the most effective for both BRITE and CanX-4&5

for the zero wheel momentum case, it was decided to extend this concept to biased mo-

mentum wheels. Employing the plant given by (4.9) with non-zero values for momentum

bias in the wheel, a controller was generated with the same poles as before. Hence the

controller was developed as follows: performance specifications were chosen on a per axis

basis; desired poles were found; the system was discretized; and poles were placed into

the modified plant using the place command rather than through assembly.

Figure 4.8 shows the behaviour of each of the controllers in their ability to track

a given target quaternion. As can be seen readily, the 100rads case is far worse than

the 25rads case, an examination of wheel speeds during the slew quickly reveals why.

Figure 4.9 shows the behaviour of the wheels during a slew for the 100rads bias case

superimposed with the wheel speeds for the 25rads bias case. The increased gyric stiffness

off the 100rads bias case over the 25rad

s results in far higher control torques, which in

turn result in larger changes in bias speed. This creates a vicious cycle effect where, the

more biased the spacecraft the poorer the control due to an increasing drift out of the

linearized region. This effect can also be seen in an analysis of the magnitude of the first

row of each gain matrix, essentially a measure of the magnitude of the gain applied to

one axis. In the case of a 100rads bias, the norm of the first row of the gain matrix is

0.00857 vs. 0.006248 for the 0rads bias case, roughly 1.4 times the magnitude. Thus, like

the gains of the LQR controller, the gains of the 100rads bias wheel controller are much

higher than the nominal zero bias case, indicating a need to overcome larger resistance

to achieve the same effect. Consequently, the problems encountered by a biased reaction

wheel controller are the same for large biases as those of the LQR controller.

With the performance of the off-zero bias controller so poor and the wheel velocities

varying so widely, it was decided to attempt to use the zero-bias reaction wheel controller

on an off-zero biased system. The was done in preference to attempting gain scheduling,

and the problems it entails, as the zero-bias controller had proved adept at a wide range

of wheel speeds. Figure 4.10 shows the controller’s target acquisition behaviour for bias

speeds of 25, 50, and 100rads . The performance in each instance is markedly better than

Page 73: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 63

Figure 4.8: Biased reaction wheel controller comparison

Figure 4.9: -100rads and -25rad

s biased controller wheel speeds.

Page 74: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 4. Controller Design 64

the performance given by the biased controllers, though it degrades with increased bias.

The final implemented controller will therefore be a trade-off between stiction avoidance

and rapid target error minimization. For BRITE, a higher bias is acceptable since the

controller can take a great deal of time to reach its final target, while CanX-4&5 will

require a lower bias to meet its targets quickly. As Section 5.1.1 indicates, current wheel

modelling, including stiction, is sufficiently accurate enough to show the effects of stiction

on target error. Consequently, a target bias of 25rads is adequate for CanX-4&5 as it

spends very little time in the 0rads regime, whereas BRITE may require a somewhat

higher bias speed (30 to 50rads range) depending on the projected target quaternions

that will be input into the system.

Figure 4.10: Zero bias controller applied to non-zero biased wheels

Page 75: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5

Modelling and Simulation

5.1 Modelling

Mirage, the attitude simulator used for CanX missions, is designed in Simulink, the

graphical simulation programming tool that is part of the Matlab suite of programs.

All plant dynamics are modelled as a series of linked matrix operations and Laplace

transforms. The resulting physical characteristics (e.g. rotation rates and orientation)

are then sent as signals to models of the real sensors, which in turn generate simulated

telemetry. The simulated telemetry is then passed to a binding that executes the actual

ACS control code, written in C, that will be employed on the satellite. The resulting

control outputs generated by the control code are then passed to simulations of the

actuators which are in turn fed back as torques to the plant dynamics. While many

sensor and actuator models existed from previous CanX missions, components new to

GNB missions, such as the rate sensors and new reaction wheels, had to be modelled.

The principles used in modelling any sensor or actuator are the same as those sug-

gested by Neelamkavil [24]. In his book he gives five steps required to ensure the validity

of a computer model, namely:

1. Validation of concepts - the physical principles employed in creating the model

must be valid. e.g. A thermal model that does not include convection in space is

valid due to the near absence of gas, but the same does not hold true on Earth.

2. Validation of methodology - the methodology used in modelling is considered a

valid means of testing. e.g. Employing a step response to measure a system’s

parameters.

65

Page 76: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 66

3. Validation of data - any input data to the simulation must be valid. e.g. A simple

orbital propagator (gravity due to a point-mass) can be considered invalid over a

long period of time when its results are fed to a sun sensor model.

4. Validation of results - a simple check if the output of the simulation is as expected

for simple test cases.

5. Validation of inference - any inferences drawn from the model must also consider

the limitations of the simulation.

5.1.1 Reaction Wheels

The physical Sinclair Interplanetary reaction wheel is shown schematically in Figure 5.1;

a 6-phase stepper motor is driven by a power controller, which is turn driven by a control

loop. Depending on the wheel’s operating mode, the control loop can act as either a

speed controller or a torque controller. In either case, Hall effect sensors sense movement

of the wheel and convert this into an estimate of the wheel’s speed which is then fed to

the control loop. The control loop operates at a speed of 93Hz and the power controller

operates several orders of magnitude faster.

Figure 5.1: Schematic of actual reaction wheel

Optimally, it would be desirable to model the behaviour of the wheel in the detail

described above, but previous experience suggests that this would impose a large simu-

lator performance penalty. Currently, Mirage employs Matlab’s ode45 solver to compute

its results. The ode45 solver is a variable-step solver based on the Runge-Kutta formu-

lation [21] and will, in consequence, alter its behaviour based on the second derivatives

of the signals observed. Since OASYS operates at 1Hz, the solver is constrained to

re-calculate at least once per second, even in periods of quiescence for the spacecraft’s

plant. The reaction wheel originally intended for use on GNB missions had a control

Page 77: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 67

loop operating at 20Hz and was modelled with a high fidelity. When the original reac-

tion wheel model was applied to Mirage, simulations slowed from 120s for a 6000s period

to near real-time speeds indicating that the simulation had moved from re-calculation

once per second to a forced twenty times per second. Consequently, it was decided that,

even though the Sinclair wheel could be modelled to a high fidelity, in the interests of

simulator performance only its key characteristics should be modelled.

Mechanical Characteristics

The mechanical characteristics of the wheel were the most straight-forward to model as

the foundation had been laid in assessing the wheel’s performance metrics. Employing

results from Section 2.4.1, the damping coefficient (B) could be obtained readily and

used to simulate all but low speed friction effects. The reaction wheel’s moment of

inertia (Is) is similarly well known; the rotor is a simple geometrical shape made of

simple materials (uniform iron and plastics with known densities), and therefore the

moment of inertia estimate provided by a CAD application will be of a high fidelity

(≈ 5.16 × 10−5kg ·m2). Thus, (2.30) could be reformulated with the Laplace transform

into the Simulink compatible format given by (5.1)

ω(s)

Garmature(s)=

1/Is

s + B/Is

(5.1)

Electrical and Software Characteristics

Modelling of the electrical and software characteristics of the wheel was more difficult

than modelling of the mechanical side, as the goal was to replace the complexity of the

true system with a more computationally efficient model. It was therefore important

to decide which behaviour was to be kept and what was to be disregarded based on

known characteristics of the reaction wheel’s electronics and software systems. The power

controller operates with a 7kHz bandwidth [30], while the windings are likely to have

resistance and inductance on the order of 10Ω and 5 × 10−5H as inferred from wheel

geometry and engineering approximation. The control loop used to command speed

and torque is a discrete time implementation (93Hz) of a proportional, integral, double

integral, and derivative controller (5.2) [30] with zeroed proportional and derivative gains.

Based on simple motor models found in [12], inductance (L) and resistance (R) terms will

add poles of the form of the transfer function (Tf ) given in (5.3), where C is a constant.

Page 78: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 68

When compared to the poles of (5.1) the poles will be on the order of 1× 107 larger and

thus have induce a negligible phase lag. Consequently, (5.3) will be replaced with a gain

K that is comprised of (5.3)’s DC components. Similarly, the 7kHz bandwidth of the

power controller is far in excess of the bandwidth of the wheel’s mechanical characteristics

and thus like the motor’s windings the power controller can be replaced with a constant

with little loss in fidelity. Consequently, the electrical/software contribution to the system

becomes the multiplication of (5.2) by a constant.

C(s) = Kp +KI

s+

KII

s2+ Kd · s (5.2)

Tf (s) =C

s + R/L(5.3)

When mechanical and electrical characteristics are considered together, the closed

loop system becomes as shown in Figure 5.2. The power controller/electronics combina-

tion has been replaced with a simple gain, the discrete time controller has been replaced

with its continuous time counterpart, and the mechanical characteristics of the system

have been preserved. As this system is second order, it is possible to identify directly it’s

parameters based on overshoot and settling time.

Figure 5.2: Mathematical wheel model

Figure 5.3 shows the response to a step command for the reaction wheel in torque

mode with the initial controller parameters. The percentage overshoot and settling time

evident in Figure 5.3 can be readily related to the damping ratio and the system’s natural

frequency via (4.13) and (4.14). These parameters were then related to the system’s

unknown parameters via the closed loop transfer function of the block diagram given in

Figure 5.2.

Page 79: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 69

Figure 5.3: Test data from a step response to an applied torque with the original controller

The model generated from step response experiments was applied to Mirage to see

its effect on OASYS. Unsurprisingly, an approximately 40s settling time for an actuator

has detrimental effects (pushing the spacecraft to instability) on a main controller geared

to ensure its targets are met within a 50s time span. This left two possibilities: model

the wheel’s phase lag in the spacecraft’s plant and Kalman filter, or re-tune the wheel’s

controller. Since it was desirable to avoid a redesign of the Kalman filter at all costs, it

was decided to attempt to re-tune the wheel’s controller.

It was during re-tuning of the wheel that a major limitation of the model was found:

the fitted parameters Km (the mechanical constant) and Ke (the electrical constant)

found through the step response would change depending on the values of the controller

constants (KI and KII) rendering the model as a torque controller design tool useless.

The reasons for this failure of the model became apparent once the simplifications men-

tioned above were considered more carefully. Since the actual torque controller was

implemented in discrete time via an unknown emulation method, implementation of the

modelled torque controller equation (5.2) in continuous time was imprecise. Thus, the

parameters (Km and Ke) fitted with the step response would not necessarily remain con-

stant for different torque controller gains. Instead, gains were tuned through trial and

error to obtain the performance shown in Figure 5.4, which was the best performance

that could be found that did not saturate the wheel’s power controller. The model’s me-

chanical and electrical parameters were then re-fitted with the new controller and applied

to the Mirage simulation. Spacecraft performance including the updated wheel model is

shown in Section 5.2.

Page 80: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 70

Figure 5.4: Step response to an applied torque with the modified controller. Settling

time, overshoot, and control mode transition are greatly improved.

Stiction

To this point, modelling has focused on the behaviour of the reaction wheel when it is

biased away from a zero speed, but, as indicated in Section 4.2.2, a reaction wheel with

significant momentum bias has difficulty achieving the desired performance specifications

for CanX-4&5 due to gyric stiffness. Thought must therefore be given to the behaviour

of the reaction wheel about a zero speed. Near zero speed, three elements of friction

come into play: the viscous damping coefficient, detailed in Section 2.4.1; static friction,

which occurs exactly at zero speed; and Coulomb friction, which occurs for all other

speeds [19]. Viscous damping, although non-linear in reality, was already well modelled

via the relations developed in Section 5.1.1. Therefore modelling of sticking friction

(stiction) near the zero speed point focused on producing reasonable models for static

friction and Coulomb friction. Although Simulink provides several ready-made blocks for

modelling non-linear effects (Figure 5.5, courtesy of The Mathworks [21]), implementing

them directly created several problems.

(a) Dead-zone (b) Coulomb and

viscous friction

(c) Saturation

Figure 5.5: Non-linear effects blocks

The most natural place to put any friction effects is immediately following the me-

Page 81: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 71

chanical block shown in Figure 5.2, as it is this block that encapsulates how a torque on

the rotor translates into rotor speed. Since friction, in effect, detracts from how addi-

tional torque generates additional speed, placing frictional effects after the output of the

mechanical block models this the best. Unfortunately, as the corresponding torque gen-

erated on the spacecraft is what is truly of interest, the output of the mechanical/friction

blocks are immediately followed by a derivative. Simulink relies on variable step numer-

ical derivatives and integrals to calculate the simulation states [21]. Variable step solvers

will adjust their step size to a smaller value in the presence of a sudden change (e.g. the

effect of the Coulomb friction block), and the derivative of a sudden change from a value

to 0 is ∞. Consequently, the solver will attempt to use smaller and smaller step sizes

to capture ∞, never reaching the program loop’s exit condition without an error. To

avoid this error, a hybrid system was employed to reproduce the stiction telemetry seen

in a short form function test (Figure 5.6(a)), without attempting to capture the system’s

true physics. In the friction model (Figure 5.6(b)) a switch block evaluates if the speed

is below a certain threshold (10rads ). If the speed exceeds the threshold the signal is

passed through unaltered. Below the stiction threshold, another switch block is used to

either pass the signal through unaltered or zero the speed. This ‘zero-ing’ is controlled

by a square wave pulse to emulate the on-off behaviour seen Figure 5.6(a).

Model Verification

In validating the reaction wheel model, the most difficult portion of the validation is the

validation of methodology. The physical concepts underpinning the wheel model can be

considered valid as they are all well studied physical systems (stepper motors, controllers,

friction, etc.). It was in implementing the valid concepts that major simplifications were

made to the behaviour of the known reaction wheel in order to satisfy the computational

constraints for the mission simulator. In performing these simplifications it was necessary

to question whether or not the goals of the simulation were maintained: namely, does the

attitude simulator produce a reasonable facsimile of true attitude behaviour for testing

the OASYS control code? When the simplifications made to the behaviour of the wheel

are looked at it in this light, the elimination of states pertinent only to the internal

working of the wheel are unimportant, as they are not of interest to OASYS. Therefore

the methodology can be considered valid in so far as the model produced mimics the

behaviour of the reaction wheel’s input/output characteristics.

Page 82: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 72

(a) Wheel under speed control at low speeds

(b) Stiction model

Figure 5.6: Wheel under speed control at low speeds and the simulink model used to

capture this behaviour

Validation of the data and results consisted of more than simply comparing the results

of single event tests (e.g. applying a torque step input), instead the performance of the

reaction wheel was tested over a long period of time. To do this, a wheel torque command

profile was generated from simulation of the Can-X4&5 mission (which has the most

complicated attitude profile) and applied to the true reaction wheel. Complicating this

test is the fact that the profile generated relies on feedback from the very model that

is being verified due to the closed loop nature of the system. Since it is already known

that the input/output behaviour of the reaction wheel will not be entirely perfect, some

drift is expected between model and real reaction wheel, however, the degree of drift

expected is unknown. Figure 5.7(a) shows the speed curves of the model and true wheel

after being given the same torque commands at the same time. Immediately apparent

is the fact that their is clock drift between the simulated wheel and real wheel. Matlab

forces the simulated reaction wheel to receive its commands at exactly 1Hz intervals.

By contrast, the true reaction wheel’s processor relies on the charge/discharge cycle of

a capacitor to keep time, a method known to result in drift over time. Even when the

applied torque commands are scaled to account for the variation in clock speed over time

Page 83: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 73

(Figure 5.7(b)), there is still an eventual divergence. Fortunately, the bandwidth of the

spacecraft attitude controller has a cut-off of 0.25Hz, enabling the long-term differences

to be accounted for as noise in the plant.

(a) Simulated wheel and actual reaction wheel comparison of time-speed curves

(b) Simulated wheel and actual reaction wheel with scaled times

Figure 5.7: Simulated wheel to real reaction wheel speed data comparison

In validating the inferences that can be drawn from the reaction wheel model, stipula-

tions must be placed on any conclusions that can be drawn from the simulation. The first

limitation is that the wheel model cannot be used to simulate reaction wheel controller

gain changes - as stated above, the model is valid only for one set of control parameters

and no other. The second limitation is that the torque inputs to the plant can, due to

Page 84: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 74

the clock drift and stiction performance be seen as only representative not 1:1 over longer

time periods.

5.1.2 Rate Gyros

Modelling of the rate gyros was considerably less complicated that modelling of the

reaction wheels as the final model was simply a compilation of error sources, as depicted

in Figure 5.8. Considered in the model was the conversion from rad/s to /s, as the plant

model uses radians while the sensor measures in degrees; the gain scaling seen in initial

testing; quantization of the result; bias induced from power cycling; saturation; and the

baseline system noise plus bias. As was seen in Figure 2.23, the rate gain while not 1:1,

is still very linear, therefore scaling was modelled simply as a gain. It was known from

preliminary testing of the sensor that there was both an on-off bias introduced by the

sensor and an in-run bias due to temperature effects. At the present, Mirage does not

employ an estimate of unit temperature over the course of an orbit, therefore the in-run

bias was kept at a constant value and incorporated as a parameter in the system noise

block. On-off bias was more difficult to model: initial testing saw a marked difference

between power cycles in the rate sensor’s zero rate bias, however, in ideal conditions

the sensor would never be power-cycled frequently during the mission. Since the true

frequency of power cycling on the rate sensor was unknown, on-off bias was modelled

with the actual statistical variance in the noise block and an extremely long sample time

(3000s). With a long sample time on the on-off noise block, Mirage would see, over the

course of one orbit, one change providing some indication of the effect of on-off stability

on the EKF. Modelling of the rate sensor’s analog-to-digital converters was accomplished

simply with the quantization block. Rate sensor saturation was based on the rate sensor’s

range (±20/s). System noise was modelled after the worst case results seen in Figure

2.22 when the Bartlett filter was applied.

Validation of the rate gyro model follows the same process as given in section 5.1.0.

Since the rate sensor model does not model the behaviour of the vibrating proof-mass

and instead provides a direct pass-through of the signal, the validity of the concepts

can be questioned. It can be shown, however, that the amplitude of the rate signal is

directly proportional to the true rate and that the corresponding phase lag is miniscule

in comparison with the system’s sample time [34]. This leaves the question of whether

quadrature error (error induced by off-axis effects) should have been considered, though,

Page 85: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 75

Figure 5.8: Model of rate sensor behaviour implemented in Simulink

as seen in Figure 5.9, there is no discernible effect.

Validation of the methodology: taking known noises and applying them as noise blocks

is a well accepted modelling concept for noise sources in spite of the absence of truly white

noise sources [29]. The input data to the model is simply the rate, provided that it is

within the sensor’s sensing bounds there should be no issue. To validate the results,

modelled output was compared against true sensor output and the noise characteristics

of the two results were compared. Figure 5.10 shows a comparison of the modelled

and scaled measured rate over a 60s period. The modelled and measured data have a

good accordance with variation between the two due to the changing bias term. The

model is slightly conservative owing to the larger standard deviation. Lastly, given the

high accordance of model to measured data, there should be a virtually no limit on the

inferences that can be drawn from the sensor’s behaviour. Extremely, rapid transients

may create a problem, but given that the time constant of the sensor is in the range of

nanoseconds such a large slew would easily saturate the sensor in any case.

Page 86: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 76

Figure 5.9: True rates, measured rates, and true rates scaled and biased with known

sensor characteristics as a function of angle of tilt on a rate table.

Figure 5.10: Scaled measured and modelled rate over a 60s period

Page 87: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 77

5.2 Simulation

With a controller and accurate sensor models in place, accurate simulations of the BRITE

and CanX-4&5 ADCS missions were possible in Mirage. Consideration was then given

to what exactly should be simulated and under what conditions. Common to both

missions is the orbital environment: GNB satellites are designed for LEO, but exact

orbits are unknown until quite near the launch to reduce launch costs. In the interests of

simulating the satellites in a representative environment, CanX-2’s orbit was chosen for

all simulations of BRITE and CanX-4&5. Beyond their common orbital environment,

the two missions have little in common in terms of operating conditions or purpose and

will therefore be treated separately.

5.2.1 BRITE

Requirements AC. 12 and AC. 13 [8] listed in section 4.2.1 give further information on

the conditions under which BRITE will operate. Specifically, BRITE will be expected to

hold its telescope steadily fixed at a target for 15 minute intervals, and over the course

of an orbit slew to another target. Therefore, from an ACS perspective, simulation of

BRITE’s determination ability should focus on low to zero angular velocity situations

with sparse (once every 15min.) changes of the target quaternion.

Determination simulations

Determination simulations were performed primarily to tune BRITE’s Extended Kalman

Filter (EKF) in the absence of control inputs in accordance with the separation principle

[12]. For BRITE, during target acquisition, the spacecraft had to be able to determine

it’s position within 60 arc-seconds (0.0167) RMS accuracy [8]. Fortunately, the star

tracker present on the spacecraft is accurate to within 70 arc-seconds [26] in all three

-axes, leaving only 10 arc-seconds for the EKF to improve upon. Shown in Figure 5.11 is

the RMS determination error of the Euler angles during a 1000s period of quiescence prior

to active operations. Though a distinct trend can be seen in the satellite’s determination

ability, this trend can be explained by the presence of the magnetometer’s readings in

the EKF. Over the course of an orbit, the total magnetic field seen by the magnetometer

oscillates between about 20µT and 45µT as the spacecraft moves towards and away from

the poles. Since the resolution of the magnetometer is fixed, the ability to determine a

Page 88: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 78

change in angle due to the magnetic field varies over the course of an orbit. The trend

seen in Figure 5.11 exactly matches the waxing and waning of the magnetic field.

Figure 5.11: Determination during BRITE passive operations

Active operations do affect determination as the EKF is tuned towards low rates.

Consequently, during slews to new targets determination can be as poor as 0.07 RMS,

however, once the target is reached the EKF quickly settles to a higher determination

accuracy. Shown in Figure 5.12 is the determination accuracy during an observation

period of approximately 2000s; the mean error RMS just barely meets requirements

with a value 0.0160 accuracy. At the time of this writing, the star tracker intended

for use on BRITE has just arrived at SFL and an accurate model does not exist of the

star tracker’s behaviour (currently error is modelled as simple noise). Given the thin

margin of determination above the requirement, it recommended that a more accurate

star tracker model be constructed and the EKF be re-tuned about the new model. If the

star tracker is capable of meeting its datasheet specifications, there should be no issue in

meeting the requirements.

Target Pointing Simulations

The requirements for target pointing indicate that the satellite must be able to provide

0.5 accuracy RMS when pointing BRITE’s telescope with a stability of 1.5 arc-minutes

Page 89: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 79

Figure 5.12: Determination during BRITE active operations

(0.025) [8]. Achievement of these goals is dependent on two things: the quality of deter-

mination and the quality of control. As seen from the determinations results, knowledge

of attitude is only accurate to within 0.0160 RMS, leaving little room for controller

jitter. Shown in Figure 5.13 are BRITE’s quaternions over the course of an orbit with

a new target every 16 minutes (this is too frequent for BRITE and only for illustration

purposes). Though it appears that spacecraft is meeting the 0.5 goal, the exact error

and jitter of the spacecraft are unclear at this scale. Examining the target error more

closely (Figure 5.14), one sees an error of about 0.215, but with total error confined to

between 0.2 and 0.225; just barely meeting the stability requirement.

Figure 5.13: BRITE quaternion tracking

Page 90: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 80

Figure 5.14: Telescope pointing error

5.2.2 CanX-4&5

According to the requirements AC. 13 and AC. 14, CanX-4&5 can be expected to slew

by 90 within 50s to point its thrusters to within 5 accuracy RMS [8]. In addition to the

rapid slews, it is expected that these slews will be performed once every 65s [11] in order

to maintain formation flying. Consequently, unlike BRITE, the EKF should be tuned

for a more rapid angular velocity and the spacecraft should be simulated with frequent

shifts in target quaternions.

Determination Simulations

Before beginning a discussion of CanX-4&5’s determination, it is useful to first examine

the operation of the GNB Extended Kalman Filter. The EKF developed for the GNB

satellites is unconventional in its formulation in order to handle sensor drop-out periods

such as eclipses. The complete measurement vector (y) for the spacecraft when all sensors

are on consists of the three magnetic field vector measurements from the magnetometer

(bb), the three sun vector measurements (sb) from the sun sensor, and either the three

body rate measurements from the rate gyros (ωb) or four quaternion measurements from

the star tracker (qi). Of these measurements, only two of the three sun vector elements

are independent, and three of the four star tracker measurements are independent. All

measurements with the exception of the star tracker are expressed in the body frame

rather than the inertial frame. As CanX-4&5 has the rate sensors instead of the star

tracker, the measurement vector for CanX-4&5 is given by y =[bT

b sTb ωT

b

]T, where

it is understood that the measurement vector is derived from the state (x) by y =

h (x, t, rsat, ν), where rsat is the position vector of the satellite, and ν is the noise.

Page 91: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 81

In a typical EKF, the allowable innovation to the state estimate is given by xk|k =

xk|k−1 + Kkyk where the Kalman gain matrix for a given time step (Kk) is an n × m

matrix for an m element measurement vector that is a function of (5.4). In the GNB

formulation, instead of a single large update step from time k − 1 to k including all

measurements, the update is broken into pieces with each sensor having its own update

step so that there is one Hk (the linearization of the measurement function h given by

(5.4)), Kk and x generated per sensor. The estimate generated from the first sensor

updated is passed on to the second and so on; this concept is illustrated schematically in

Figure 5.15. As shown in Figure 5.16, this cascaded modification to the EKF does not

reproduce the exact results of the monolithic EKF, however, it does produce very similar

results.

H =∂h

∂x|x=xk|k−1

(5.4)

Figure 5.15: Conceptual workings of the GNB EKF

CanX-4&5 is required to have a determination accuracy better than 1 RMS [8].

While 1 pointing accuracy is obtainable (with difficultly) out of eclipse with only a

magnetometer and sun sensor, in eclipse it is more difficult to obtain without the addition

of a star tracker. For space, power, and mass reasons, a star tracker was not included in

Page 92: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 82

Figure 5.16: Monolithic vs. Cascading EKF

the design for CanX-4&5, in its place, angular rate gyros are used in conjunction with an

EKF to maintain accuracy during eclipse. Initial attempts to tune the EKF were able to

readily meet determination goals both during and after eclipse when the satellite was not

actively controlled, however, would fail utterly when control was applied. Similarly, an

EKF tuned for a satellite rotating at a constant tumble would fail in periods of quiescence

or under varying rotation rates as would be seen in practice. Figure 5.17 shows the tuning

of CanX-4&5’s EKF under different operation assumptions; performance in all cases failed

to meet 1 RMS accuracy.

Figure 5.17: CanX-4&5 EKF tuning performance with CanX-2’s EKF, tuned for a con-

stant drift, and tuned for no movement

To meet requirements, several different methods of further tuning the EKF’s perfor-

Page 93: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 83

mance were tried, including:

• Individual covariance matrices for each sensor update; the original cascade imple-

mentation had a single shared covariance matrix.

• Altering the Kalman noise based on which sensors were operational. e.g. Increasing

the ‘trust’ on the magnetometer and rate sensor when the sun sensor was removed.

• Altering the Kalman noise and covariances based on state. e.g. At higher body

rates increase the ‘trust’ placed on the rate sensors while increasing the estimated

state error.

• Disregarding the sun sensors entirely.

• Re-ordering which sensors were read first in the cascade EKF so that the final state

estimate would be based on something directly pertaining to orientation (e.g. the

magnetometer reading) vs. something directly related to rate (rate sensor reading).

In the end, no amount of tuning or other augmentation of the EKF would produce Euler

angle errors better than 2.3 RMS on average over the course of a mission. In every

tuning situation, performance would always show an increase in error over the course

of an eclipse (reaching a maximum of about 7-8), or would simply show uniformly

unsatisfactory performance (> 5 error RMS). At this point, it is felt that there is little

to be done to improve EKF performance beyond an increased update rate.

Target Pointing Simulations

Target pointing was simulated by taking the target vectors output directly from FIONA

(Formation-flying Integrated Onboard Nanosatellite Algorithm) and feeding them into

the simulation at the correct time intervals. Simulation was performed on shorter ver-

sions of both the PCO (Projected Circular Orbit) formation portion of the mission and

the ATO (Along Track Orbit) formation portion of the mission with a reconfiguration

maneuver placed between the two mission halves. Due to processing limitations, a full

mission could not be simulated at the present time.

Shown in Figure 5.18 is the target pointing behaviour of CanX-4&5 during three typ-

ical targeting events in the absence of state error. A target vector for thruster alignment

is generated by FIONA at the start of a given 65s period and processed into a target

quaternion by the heuristic given in Section 3.3; targets are typically about 15 to 20

Page 94: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 84

apart. After 55s of attempting to reach the new target, an adjusted target is given to

OASYS by FIONA to compensate for events that have happened in the interim. The

adjusted target is updated three times before CanX-4&5 is ordered to fire its thrusters

for that particular time interval: The cycle then repeats.

Figure 5.18: Typical CanX-4&5 targeting behaviour.

The mission requirements call for 5 accuracy RMS when pointing the CNAPS thruster

[8], but make no specific reference to duration of this pointing. Obviously, a finite time

is required to slew to the correct orientation so the requirements were interpreted as 5

pointing accuracy at the time of thruster firing. Shown in Figure 5.19 are the thrust

errors at the time of thruster firing plotted with the determination error over two orbits.

There is obviously a high correlation between the determination errors and the target

pointing errors, indicating that any deficiencies in pointing are due to the EKF. That

said, the average error during thrusts is approximately 2.31 with a standard deviation

of 1.13. This mean and standard deviation correspond to meeting the 5 requirement

99.09% of the time, with the remaining one percent exceeding requirements by at most

1. Discussions with FIONA’s creator have indicated that simulations with up to 8

attitude pointing errors still show FIONA performing the mission, and therefore these

results should be adquate. Given that control is adequate to make up for the deficiency

in determination the need for requirement AC.07 is questionable as it’s driver is to “...en-

sure that the total pointing error of the thruster to the target thrust vector is less than

5 degrees.” [8].

As a final note: in the absence of a time lag on actuator torque from the reaction

wheels, the controller performs much better (improving by approximately 1) indicating

Page 95: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 5. Modelling and Simulation 85

Figure 5.19: Target errors during thrusts and determination errors over time

that the 7s wheel settling time interferes with the 5s time allotted for target vector

corrections. A possible improvement could be obtained by only performing two attitude

correction maneuvers at the end of the 65s inter-thrust period, rather than the current

three.

Page 96: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Chapter 6

Conclusions

The design of a three-axis attitude control system for nano-scale satellites is eminently

feasible with the advent of small-scale reaction wheels and sensors to match. The degree

of performance of this control system is, however, highly dependent on the quality of

the sensors used for determination and the expected slew rates. For BRITE, which has

the necessary capacity and power for a star tracker and moves slowly, determination is

excellent. For CanX-4&5, which do not have room for star trackers and move rapidly,

determination suffers and this effects pointing. Fortunately, the other half of attitude

control (the actuation) suffers no problems on either GNB satellite as the reaction wheels,

in simulation at least, perform quite well.

Looking ahead to future CanX missions there are several possibilities for improvement

on the current design and test methods. First and foremost, the magnetometer can

perform better - the current methods of calibration are in reality poor substitutes for coil

facilities. The resolution and low noise of the individual magnetic sensors is such that the

magnetometer could, in theory, provide an accuracy superior to ±1 if calibration could

exceed this level of uncertainty. Secondly, the OASYS thread could be sped-up to higher

rates enabling better determination and possibly better and more exotic control (i.e.

coupled, biased wheel controllers). As current estimates of a GNB OBC’s performance

seem to indicate, the main obstacle to increasing OASYS execution rate is not processing

power, but is instead the additional power that would be required to read the sensors.

Thus, if power is available, the controller should be sped up. Lastly, a concerted effort

should be made to find the optimal torque controller parameters for the reaction wheel.

The current parameters perform well, but it may be possible to do better.

86

Page 97: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Bibliography

[1] Analog Devices, One Technology Way, P.O. Box 9106, Norwood, MA. ProgrammableLow Power Gyroscope ADIS 16251 - Datasheet, rev 0 edition, 2007.

[2] Eugene A. Avallone and Theodore Baumeister, editors. Marks’ Standard Handbookfor Mechanical Engineers 10th Ed. McGraw-Hill, 1996.

[3] Dan D. V. Bhanderi. Spacecraft Attitude Determination with Earth Albedo CorrectedSun Sensor Measurements. PhD thesis, Aalborg University - Department of ControlEngineering, Fredrik Bajers Vej 7, DK-9220 Aalborg 0, Denmark, July 2005.

[4] Dan D. V. Bhanderi and Thomas Bak. Modeling earth albedo for satellites in earthorbit. In 2005 AIAA Guidance, Navigation, and Control Conference and Exhibit;San Francisco, CA; USA; 15-18 Aug. 2005, number AIAA Paper 2006-6465 in 1,pages 1–12, 2005.

[5] Chris J. Damaren and Winnie S. W. Leung. A comparison of the pseudo-linearand extended kalman filters for spacecraft attitude estimation. In AIAA Guidance,Navigation, and Control Conference and Exhibit; Providence, RI; USA; 16-19 Aug.2004, number AIAA Paper 2004-5341 in 1, pages 1–11, 2004.

[6] Norman C. Deschamps, C. Cordell Grant, Daniel G. Foisy, Robert E. Zee, Anthony J.Moffat, and Werner W. Weiss. The brite space telescope: Using a nanosatellite con-stellation to measure steller variability in the most luminous stars. In InternationalAstronautical Congress, number 57, Valencia, Spain, October 2006. InternationalAstronautical Congress.

[7] Stuart Eagleson. Attitude determination and control: Detailed design, test, andimplementation for canx-2 and preliminary design for canx-3 and canx-4&5. Mas-ter’s thesis, University of Toronto Institute for Aerospace Studies, 4925 Dufferin St.Toronto ON M3H 5T6, August 2006.

[8] Stuart Eagleson and Karan Sarda. Brite and canx-4/5 attitude subsystem re-quirements document. Requirements document, University of Toronto Institute forAerospace Studies - Space Flight Laboratory, 2007.

[9] Stuart Eagleson, Karan Sarda, Jonathan Gryzmisch, and Adam Philip. Attitudedetermination and control - brite subsystem critical design review document. reportSFL-BRITE-CDR-D003, University of Toronto Institute for Aerospace Studies, 4925Dufferin St. Toronto ON M3H 5T6, March 2007.

87

Page 98: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Bibliography 88

[10] Stuart Eagleson, Karan Sarda, Jonathan Gryzmisch, and Adam Philip. Attitudedetermination and control - canx-4&5 subsystem critical design review document.report SFL-CX4-CDR-D003, University of Toronto Institute for Aerospace Studies,4925 Dufferin St. Toronto ON M3H 5T6, March 2007.

[11] Jesse Eyer, Chris J. Damaren, Robert E. Zee, and Elizabeth Cannon. A formationflying control algorithm for the canx-4&5 low earth orbit nanosatellite mission. InInternational Astronautical Congress, Hyderabad India, September 2007.

[12] Bernard Friedland. Control System Design - An Introduction to State Space Methods.Dover, first edition, 2005.

[13] Paul Graven and Thomas Kenny. Laboratory (and on-orbit) magnetometer cali-bration without coil facilities or orientation information. In AIAA/USU Conferenceon Small Satellites, 10th, Utah State Univ , Logan, UT; UNITED STATES; 16-19Sept. 1996, 1996.

[14] Jonathan Gryzmisch. Contributions to the attitude determination and control sys-tem of brite and canx-4&5. Master’s thesis, University of Toronto Institute forAerospace Studies, 4925 Dufferin St. Toronto ON M3H 5T6, July 2008.

[15] Hamamatsu, 325-6, Sunayama-cho, Hamamatsu City, Shizuoka Pref., 430-8587,Japan. Profile Sensor - S9132 Datasheet, 2004.

[16] Peter C. Hughes. Spacecraft Attitude Dynamics. Dover, Second Ed., 2004.

[17] J. Kautsky, N. K. Nichols, and P van Dooren. Robust pole assignment in linearstate feedback. International Journal of Control, 41(5):1129–1155, May 1985.

[18] Allan R. Klumpp. Singularity-free extraction of a quaternion from a direction-cosinematrix. AIAA: Journal of Spacecraft and Rockets, 13(12):754–755, December 1976.

[19] Benjamin C. Kuo and M. Farid Golnaraghi. Automatic Control Systems. John Wiley& Sons, Inc., 605 Third Ave. New York, NY, 8 edition, 2003.

[20] Wiley J. Larson and James R. Wertz, editors. Space Mission Analysis and Design.Microcosm Press and Kluwer Academic Publishers, 401 Coral Circle, El Segundo,California, third edition, 1999.

[21] Mathworks, 3 Apple Hill Drive, Natick, MA. Matlab - Documentation, r2007 edition,2007.

[22] Daniel E. Miller. Notes - ece 484 digital control systems. Course Notes, Jan.-Apr.2006.

[23] NASA. Total ozone mapping spectrometer – data product: Reflectivity, February2008. Available: http://toms.gsfc.nasa.gov/reflect/reflect v8.html.

[24] Francis Neelamkavil. Computer simulation and modelling. Wiley, Chichester, Sussex,England, 1 edition, 1987.

Page 99: Attitude Sensing, Actuation, and Control of the BRITE and ... · Generic Nanosatellite Bus, devoted to the study of star brightness and formation flying, respectively. Novel low-cost

Bibliography 89

[25] PNI Corporation, 133 Aviation Blvd., Santa Rosa, CA 95403-1084 USA. PNI SEN-LMagneto-Inductive Sensor - Datasheet, r03 edition, April 2005.

[26] Bill Seng. Miniature Star Tracker - Datasheet. AeroAstro, 20145 Ashbrook Place,Ashburn, VA, 0 edition, 2007.

[27] Stanley W. Shepperd. Quaternion from rotation matrix. AIAA: Journal of GuidanceNavigation and Control, 1(3):223–224, May-June 1978.

[28] Joseph E. Shigley, Charles R. Mischke, and Richard G. Budynas. Mechanical Engi-neering Design. McGraw-Hill, 1221 Avenue of the Americas, New York, New York,seventh edition, 2004.

[29] Dan Simon. Optimal State Estimation - Kalman, H∞, and Non-Linear Approaches.Wiley-Interscience, New Jersey, 2006.

[30] Doug Sinclair. Reaction Wheel Software Interface Control Document. Sinclair In-terplanetary, 1.1 edition, Sept. 2007.

[31] Y. Sun. Mie 1069 - microelectromechanical systems course notes. Lecture Notes,2007 Jan.

[32] Mark S. Weinberg and Anthony Kourepenis. Error sources in in-plane silicon tuning-fork mems gyroscopes. Journal of Microelectromechanical Systems, 15(3):479–491,June 2006.

[33] James R. Wertz, editor. Spacecraft Attitude Determination and Control. Reidel,1978.

[34] Navid Yazdi, Farrokh Ayazi, and Khalil Najafi. Micromachined inertial sensors.Proceedings of the IEEE, 85(8):1640–1659, August 1998.