Attitude Determination and Control System For CubeSat
Attitude Determination and Control System For CubeSat
Attitude Determination and Control System For CubeSat
Jighjigh Ivase
Ye Lu
Alan Snapp
Keywords:
1.) CubeSat
2.) ADCS
"Certain materials are included under the fair use exemption of the U.S. Copyright Law and
have been prepared according to the fair use guidelines and are restricted from further use."
Abstract
This project continued the work on the development and testing of an Attitude Determination and
Control Subsystem (ADCS) for a three-unit Cube Satellite mission led by WPI, the NASA Goddard
Space Flight Center, and the Space Research Centre in Poland. This project focused on hardware
selection in three areas: sensors, actuators, and processors. The attitude maintenance and control scheme
was validated using numerical code written in MATLAB. A secondary goal of the project was to
outline a design for a test-bed where the control policies could be verified experimentally. This project
developed a complete test-bed stand, leaving the construction portion for future ADCS teams, as well as
recommendations for the parts to be used in the experimental section.
Acknowledgements
We would like to primarily thank our advisor:
Professor Michael Demetriou, Ph.D.
Professor, Aerospace Engineering Program
Department of Mechanical Engineering, Worcester Polytechnic Institute
We would also like to extend our thanks to the member of the 2011 ADCS team. In addition, we would
like to thank the advisors and members of the other CubeSat subsystem design teams:
Thermal and Power Subsystem,
Professor John J. Blandino, Ph.D.
Associate Professor, Aerospace Engineering Program
Department of Mechanical Engineering, Worcester Polytechnic Institute
Structural and Mission Analysis Subsystem,
Professor Nikolaos Gatsonis, Ph.D.
Director, Aerospace Engineering Program
Department of Mechanical Engineering, Worcester Polytechnic Institute
ii
Table of Contents
Abstract .......................................................................................................................................................... i
Acknowledgements ....................................................................................................................................... ii
Figures .......................................................................................................................................................... v
Tables .......................................................................................................................................................... vii
Chapter 1 Introduction ............................................................................................................................. 1
1.1
1.2
1.3
Testing of Control Policies .......................................................................................................... 2
Chapter 2 Previous Work ......................................................................................................................... 3
Chapter 3 Selecting Algorithm and Simulation Methods ........................................................................ 4
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
Nyquist Sampling Theorem ....................................................................................................... 11
Chapter 4 Sensors and Actuators Selections .......................................................................................... 14
4.1
4.2
4.3
4.4
Magnetometer ............................................................................................................................ 20
4.5
4.6
4.7
Summary of Final Hardware Selection...................................................................................... 26
Chapter 5 Model and Sensors Readings ................................................................................................ 27
5.1
5.1.1
5.1.2
5.1.3
5.2
5.3
5.3.1
5.3.2
iii
Chapter 6
6.1
6.2
6.2.1
6.2.2
Introduction of multiple fixed gains and adaptive (state dependent) gain ........................................... 37
6.3
6.4
6.5
Results ....................................................................................................................................... 40
Chapter 7 ADC Test Bed ....................................................................................................................... 44
7.1
7.2
7.3
7.3.1
7.3.2
7.4
7.4.1
Central Cylinder................................................................................................................................... 53
7.4.2
7.4.3
7.5
7.5.1
7.5.2
7.5.3
7.5.4
7.6
7.6.1
Battery ................................................................................................................................................. 60
Chapter 8
8.1
8.2
Attitude Simulation ................................................................................................................... 61
Chapter 9 References ............................................................................................................................. 63
Appendices.................................................................................................................................................. 66
Appendix A: MATLAB Simulation Code input and output guide. ........................................................ 66
Appendix B: Connector Map for ADL LX8PC-AMD Geode LX800 ................................................... 68
Appendix C: Functional Diagram for Accesio 104-COM-8SM ............................................................. 69
Appendix D: Connection Layout Diagram for Diamond-MM-32-AT I/O ............................................. 70
iv
Figures
Figure 1: Iterative ADCS Design with SIL and HIL .................................................................................... 5
Figure 2: ADCS System Architecture ........................................................................................................... 6
Figure 3: Example Software Simulation Setup ............................................................................................. 7
Figure 4: Hardware Simulation Setup ........................................................................................................... 8
Figure 5: Honeywell's HM5883L: .............................................................................................................. 10
Figure 6: Matlab plot of derivatives by both methods. ............................................................................... 10
Figure 7: Dimension of Coarse Sun Sensor ................................................................................................ 14
Figure 8: Fine Sun Sensor ........................................................................................................................... 16
Figure 9: Gyroscope .................................................................................................................................... 18
Figure 10: Gyroscope Pin Connection ........................................................................................................ 19
Figure 11: Magnetometer ............................................................................................................................ 20
Figure 12: Magnetorquer ............................................................................................................................ 23
Figure 13: Magnetorquer Power and Moment Output Comparison ........................................................... 24
Figure 14: Clyde-Space ADCS Board ........................................................................................................ 25
Figure 15: Figure 16: Angular velocity vs. Time from Previous Year ....................................................... 33
Figure 17: Figure 15: Angular velocity vs. Time from Current Result....................................................... 33
Figure 18: Magnetorquer Control Output vs. Time from previous year ..................................................... 34
Figure 19: Magnetorquer Control Output vs. Time from current result ..................................................... 34
Figure 20: De-tumbling Time vs. Gain Value at Time Step of 0.5s ........................................................... 36
Figure 21: De-tumbling Time vs. Gain Value at Time Step of 5s .............................................................. 36
Figure 22: Pointing Accuracy vs time plot ................................................................................................. 41
Figure 23: Controller output during Attitude Maintenance ........................................................................ 42
Figure 24: Visualization of Tabletop Test Bed ........................................................................................... 44
Figure 25: Air-Bearing Shape ..................................................................................................................... 45
Figure 26: Specialty Components SRA250 drawing .................................................................................. 46
Figure 27: Nelson Air Corp Air Bearing drawing ...................................................................................... 47
Figure 28: Air Quality Requirements.......................................................................................................... 48
Figure 29: Test Bed Design ........................................................................................................................ 49
Figure 30: Tabletop Disk Strength Analysis ............................................................................................... 50
Figure 31: Tabletop Disk Displacement ..................................................................................................... 51
Figure 32: Air Bearing Stand Displacement Analysis ................................................................................ 51
Figure 33: Air Bearing Stand Strength Analysis ........................................................................................ 52
Figure 34: The 1045 Carbon High Strength Steel Rod ............................................................................... 53
vi
Tables
Table 1: Data and Specifications of Coarse Sun Sensor ............................................................................. 15
Table 2: Data and Specifications of Fine Sun Sensor ................................................................................. 17
Table 3: Specifications of Gyroscope ......................................................................................................... 19
Table 4: Data and Specifications of Magnetometer .................................................................................... 20
Table 5: Final selections of Hardware ........................................................................................................ 26
Table 6: Method of Sun Sensor Reading .................................................................................................... 29
Table 7: Comparison of Magnetorquers' Data ............................................................................................ 32
Table 8: De-tumbling Time and Energy Consumption with Three Different Gain Types ......................... 38
Table 9: Gain Value for Attitude Maintenance ........................................................................................... 40
Table 10: Sun Pointing Accuracy Comparison ........................................................................................... 41
Table 11: Component Power Information .................................................................................................. 60
vii
Chapter 1 Introduction
For two years, WPI student project teams have been working on a design for a CubeSat system
that will carry the payload of the SphinX-NG X-ray detector to monitor solar fluctuations. These teams
have worked with the NASA Goddard Space Flight Center, the Space Research Center in Poland, and
other polish universities to develop a mission plan and experiment parameters. The previous two years of
projects outlined a simple structure sub-system with mechanical, thermal, and power considerations, as
well as recommended many options for an attitude determination and control system. The focus of our
project was selecting final components to be used in the CubeSat design, continuing to improve the
control algorithms for the processor, and developing a plan to test the control algorithms in the lab.
1.1
components that could be used for the WPI CubeSat mission. This included both actuators, to maneuver
the CubeSat, and sensors, to detect the orientation of the satellite relative to both the sun and the earth.
The actuators were selected based on three key factors: mass, power required while operating, and their
size, as the CubeSat has very specific sizing requirements. Sensors were chosen based upon their mass,
size, and power as well, but more consideration was given to the accuracy of the component as the
CubeSat mission outlined by previous work has stringent pointing requirements for science experiment.
1.2
settings outlined by the Structural and Mission Analysis Subsystem team, as well as use the parameters
for the new magnetorquer selected for actuation. Also, new methods of determining the gain values to be
used during the different phases of the mission were researched so that the accuracy of the SphinX-NG
could remain within two degrees of the sun vector for as long as possible.
1.3
used control algorithms for small satellites to control idealized versions of the control instruments that
would be used in space. Using information from this research, another goal for this project was to develop
a way that the control policies outlined by previous projects could be tested in the laboratory at WPI.
actuators and the ADCS board which, in our case acts as the ADCS computer or processing unit. The
ADCS also includes software that has been coded or programed into the ADCS computer. This software
contains all the control schemes or algorithms of the ADC system. Therefore on a broad scale it can be
observed that there are two major components that make up the ADCS the hardware and software.
Due the unreliable nature of the inexpensive hardware and software that may be used in this
project it is necessary to conduct simulations of hardware and software and indeed the entire ADCS in
order to ensure that the system can cope with likely software and hardware failures. Therefore a possible
software and hardware testing approach will be outlined here. Areas of testing that could be considered in
these tests are situations of flawed sensor readings and actuator failures for instance. Also, the overall
ADCS system operation should eventually be tested using air bearings and a test bed, such as the one
being designed in this project, to better recreate conditions in the actual orbit or flight environment. A
device, such as the Helmholtz coil, for producing uniform magnetic field should be considered to simulate
the earths magnetic field. An IEEE project that has attempted a similar approach shows an iterative
procedure using Hardware-in-Loop and Software-in-Loop simulations where unsatisfactory results are rerun in the loop [8].
Figure 1: Iterative ADCS Design with SIL and HIL 8
3.2
determine the type of software or hardware needed. These algorithms are then tested in an ideal setting
with no induced error. Based on the results of our assessment or simulation, we can either return to the
algorithm design phase to make necessary adjustments to our design or we can proceed. When we are
satisfied with the results from our algorithms in the design phase and simulation, we can then go on to run
the algorithms again, but this time, introducing errors to observe how the system will respond in a crisis
situation [8].
After all software simulation is done, the appropriate hardware can be obtained and tested in
simulation using the software.
3.3
Figure 2: ADCS System Architecture 8
Additional Components of ITU PSAT 2 System Architecture Include: Attitude Propagator, Orbit
Propagator, Estimation and Filtering, Actuators [8].
3.4
propagators can be generated from Satellite Toolkit (STK) since mathematical models generated by individuals
for the both propagators may fail to emulate states or conditions of the mission actual mission. In addition since it is
possible to extract the actual state data from STK we can see how well estimation layer works. ADCS software is
provided either by an interface in STK or by some outside source, software receives state update from STK and
noisy readings, magnetometer calibration errors, gyro biases, etc are applied to state vector to simulate actual sensor
reading during mission [8].
Figure 3: Example Software Simulation Setup 8
3.5
simulation with experimental platforms which will simulate the in-mission conditions of outer space.
Such a setup is illustrated in the diagram below; where the rack system comprises two computers (PCs), a
monitor to display simulation of satellite and a satellite hardware simulation system providing real
responses to data.
Figure 4: Hardware Simulation Setup 8
3.6
determination to take place, the satellite has to be de-tumbled, in other words the angular velocities of the
satellite must be made to approach zero.
The de-tumbling approach from last year was studied as well as the analysis of several types of
de-tumbling algorithms and control policies. After identification of the de-tumbling methods, possible
improvements to the current algorithms and methods were researched.
The stabilization phase is concerned with stopping random motion with no goal for a specific
attitude orientation. A control policy called the B-Dot controller was the most prevalent method found in
research on previous CubeSat missions. There are various policies that stabilize the spacecraft initially but
most of these are variations of the B-dot control, based on Lyapunov functions.
3.7
differentiation of discrete signals. This method involves dividing the difference between measurements by
the time interval between them. The value of the magnetic field at a point (k) could subtracted from the
value at a future point (k+1), in which case it is considered as the forward difference. In this case, the
magnetic field value at (k) would have to be stored in order to be used in the differentiation. Alternatively,
the magnetic field value at (k-1) could be subtracted from the value at (k). This is referred at to as the
backward difference. In this method, the first two magnetometer outputs or discrete signals will have to
be stored. Below are the expressions for the above mentioned methods:
Forward Difference:
(1)
Backward Difference:
(2)
Combining the two above approximations we get an improved one known as the central
difference.
Central Difference:
1
2
(3)
Figure 5: Honeywell's HM5883L:
The magnetometer chosen for the CubeSat is the Honeywells HMC5883L Triple Axis
Magnetometer with minimum and maximum sampling rates 0.75 Hz and 75 HZ respectively. It has a
sampling interval of 0.006 seconds and a magnetic field output of 1.16 gauss along the X and Y-axes,
and 1.08 gauss along the Z-axes.
Based on the minimum and maximum magnetometer output a cosine function was used to model
magnetometer readings as
0.4 cos
by using the difference quotient method and both results were compared.
Comparing both derivatives at a high sampling interval to show differences
10
= -0.4sin(t)
3.8
[9]
This method is described in the article for differentiation of Multi-dimensional signals by Farid and
Simonelli [10]. The theorem states that a function with a limited upper frequency can be reconstructed
from an infinite sequence of samples spaced at half the sampling rate or with a bandwidth no greater than
the sampling rate. This method is used to differentiate a continuous signal that is interpolated from the
initial discrete signal. This interpolation is done by using the ideal interpolator function
sic function). This is based on the assumption that the discrete signal was obtained by sampling an
original continuous function containing frequencies no higher than
of
at a sampling rate
[10].
Using the above assumption the Nyquist sampling theorem implies that the continuous signal
11
(4)
/
/
and
Where:
(5)
/
/
Arrive at a definition of discrete differentiation by sampling both sides of the above equation on
the original Sampling interval. If the original sampling interval is n and the sampling rate is T we
have:
12
(6)
13
Figure 7: Dimension of Coarse Sun Sensor
Sun sensors, although mass-produced according to listed specifications, contain minute
differences in photodiode angles and sensitivities that necessitate calibration for use in space. The goal of
the data from the Coarse Sun Sensor (CSS) which are located along the sides of the satellite is to allow
Attitude Determination & Control (ADC) to determine the Angle of Incidence (AOI) and make attitude
adjustments to bring the view of the Sun. The AOI varies at 15 increments because the CSS requires
only a coarse view of which direction to turn and then the Fine Sun Sensor (FSS) data will allow for finer
adjustments. The CSS data are symmetrical and include voltage outputs that could correspond to either a
positive or negative AOI. The Field of View (FOV) of the CSS at the bottom of the satellite overlaps
with the FOV of those mounted on opposing sides, telling the ADC which AOI the voltage corresponds to
base on whether or not the CSS at the base shows a voltage output.
14
The following table provides the CSS data and specification [11].
Table 1: Data and Specifications of Coarse Sun Sensor
Flight Heritage
Field of View
FoV
Accuracy
Power
None required
Volume
Mass
Size
Bandwidth
100KHz
Operating
Temperature
40C to 100C
Vibration Test
Levels
60g protoqual
Radiation TID
Materials
Price
1 Mrads
Epitaxial Silicon help makes the sensor radiation hardened
$2,641.4 US per 1
$13,207 US per 5
15
4.2
Figure 8: Fine Sun Sensor
The Fine Sun Sensor (FSS) data allows ADC to make minute attitude adjustments, allowing the
adjacent solar array to maximize solar power generation. The threshold orientation accuracy for the
satellite is 5. ADC required calibration data that would allow for fine adjustment: the data set included
10 increments along the entire FOV and 2 increments surrounding the region normal to the sensor
mounting surface [12].
The FSS has four individual diodes canted towards the sensors quadrants, each receiving voltage
outputs. A potential application of the data is to relate x angle, y angle and voltage by processing
calibration data into a 3D surface. By orienting these surfaces to correspond to sensor setup, ADC could
generate contour projections of AOI based on on-orbit voltages. The intersection of these projections
would be the satellites attitude relative to the Sun.
16
Flight Heritage
Mass
5 g
Power
5 mA
Size
Operating temperature
25C to 150C
Field of view
120
Update Rate
Bandwidth
10Hz
Accuracy
0.5
Power Supply
3.3 or 5 V
Interface
Material
Price
$5,000 US
To capture the necessary calibration data, the sensors were tested using a Calibrated AM0 Sun
Simulator light source at varying angles of incidence, recording voltage output from the photodiodes at
each position. The sensors were also tested across a range of temperatures to see if there is performance
variation within the companys listed temperature range.
17
4.3
EVAL-ADXRS450Z-M Gyroscope
Figure 9: Gyroscope
18
capable of operating across both a wide voltage range (3.3 V to 5 V) and temperature range (40C to
+105C).
The following table presents all the ADXRS450 specifications and pin connections:
Table 3: Specifications of Gyroscope
Operating Temperature
40C to 105C
Sensitivity
80 LSB
Typical Bandwidth
80 Hz
Voltage Supply
3.15V to 5.25V
Board Size
Price
$59.54 US
Material
Connect
Main Computer
SPI digital output with 16bit dataword
Internally temperature compensated
Complete rate gyroscope on a single chip
Figure 10: Gyroscope Pin Connection
19
4.4
Magnetometer
Figure 11: Magnetometer
Table 4: Data and Specifications of Magnetometer
Size
17.78X17.78X0.9mm
Mass
18 mg
Operating Temperature
3085 C
Heading Accuracy
12 Degree
Linearity
0.1%
Measurement Period
6ms
Supply Voltage
2.163.6V
6 A
Rate
Price
14.95$
Materials
NickelIron Permalloy
Last years Design and Analysis project outlined a Magnetometer created by Honeywell, a leader
in the sensor/detector industry. This component satisfied three of the four design guidelines set forth by
20
the first Design and Analysis team from 2011 [1]. The Magnetometer selected is the HMC5883L 3-axis
sensor, with a suggested breakout board built by SparkFun. This magnetic sensor had excellent flight
heritage, measured all 3 axis, and operates in the 3.3V range. Also, the component has a very low cost.
Taking the HMC5883L as a baseline, initial research was done to see if there were any new
components made by the same company, or similar parts made by a different company. The Honeywell
Company touted the HMC line as the premiere sensors in the field. The Freescale FXOS8700CQ: 6Axis Xtrinsic Sensor, a component combining an accelerometer and magnetometer, was looked at, but
determined to be much too heavy, with a lesser accuracy for the magnetic measurements. Also, the power
requirements were much greater to power both types of sensors [15]. The HMC5883L was again selected
as the most viable option because of its accuracy, weight, and flight heritage.
Two mounting options were presented by last years Design and Analysis team for the
magnetometer. The first was a static option, where the sensor was on the top +Z face of the design, with
its axis aligned with the body axis of the CubeSat. This option is mechanically simple, cheap, and does
not create any torques or disturbances during normal use. The second option was to use a boom-style
solar panel deployment to get the sensor as far away from the rest of the electric components as possible.
This approach is mechanically complex, and required additional analysis done to acquire inertial
measurements. However, after restrictions from the P-POD document were discussed, it was realized that
a deployable sensor would not be practical for our design as the sensor would have to remain un-deployed
for thirty minutes after the ejection of the CubeSat from the launch vehicle. The magnetometer is
necessary for initial de-tumbling functions, and thus waiting thirty minutes to begin to de-tumble would
vastly increase de-tumbling time. Thus, the top surface mounting option was selected because of the ease
of integration and the simplicity of the design.
The Magnetometer would need to have its data output conditioned by its own breakout board, and
then sent, under last years specifications, to the main computer [16]. From last years design, the ClydeSpace Mission Interface Computer was suggested as the main computer for the WPI mission. This
motherboard is integrated with pluggable processor modules (PPMs), which allow direct connection from
21
the sensor output to the computer. The Clyde-Space component was selected because of its two types of
PPMs, one for high performance data handling (the ARM922T), and one for low power requirements and
redundancies (the MSP430). The HMC5883L would be connected to ARM922T module, as the
magnetometer can output data up to 400 Hz.
22
4.5
Magnetorquer Selection
Figure 12: Magnetorquer
After testing three types of magnetorquers last year, the ADC team determined that the best
possible component for the WPI mission would be the ZARM MTO.2-1 Magnetorquer [1]. This
component had the lowest mass, size, and power requirements of all the types tested, and reached the
magnetic moments required with a low power requirement and much less weight. The Zarm Technik
Corporation was contacted for more information about their MTO.2-1; however they had discontinued the
MTO.2-1 product line. Zarm suggested the possibility of using a MTO.5-1, which was one of the other
products tested by last years team. This piece reaches the same magnetic moments as the MTO.2-1, but
at a much lower power cost. However, the MTO.5-1 is longer, heavier, and more expensive than the
MTO.2-1, but given that there are no other viable options, the MTO.5-1 has been selected as the
magnetorquer of choice for the WPI mission.
23
Figure 13: Magnetorquer Power and Moment Output Comparison
24
4.6
Figure 14: ClydeSpace ADCS Board
In researching new magnetometers and magnetorquers, the Clyde-Space ADCS board was
discovered. This is a new product made by Clyde-Space, a trusted and prominent company in the CubeSat
industry. This component would serve as a command hub for the systems involved with de-tumbling and
attitude determination/control. With PPM interfaces for multiple sensors, including but not limited to;
coarse and fine sun sensors, GPS systems (an included GPS daughter board is optional), and gyroscopes.
The advanced version of the board comes with its own included magnetometer, but the company has
stated that it is a modular component and could be removed depended on the design constraints specific to
each user. This board could be connected to a PPM on the main computer, and would control the sensors
and actuators connected to it, while sending the necessary information to the main computer. Clyde-Space
has embedded programs in the board, such as de-tumbling and sun tracking, but also states that the board
has the ability to accept custom MatLab coding [17]. All 5 of the CubeSat sun sensors, as well as the
GPS, gyroscope, and magnetometer, will be connected and feeding information to the ADCS board,
which will be directly controlling the actuators using the information being fed to it by the sensors.
25
4.7
Sensor/
Model
Manufacture
Number
Needed
Total
Price
Power
Requireme
nt
Sun Sensor
Coarse
Comtech AA
$10,566
None
Sun Sensor
Fine
SSBV Space
and Ground
Systems
$5,000
Magneto
meter
HMC5883L
Honeywell
$14.95
0.25 mW
Gyroscope
ADXRS450
Analog Devices
$59.54
30 mW
Magnetic
Torquer
51 PO
Zarm Technik
Unknow
n
275 mW
Actuator
140 mW
Materials employed included dissipative paints, indium-tin-oxide films, carbon loaded polymers,
thin SiOx coatings on metallic substrates, Nickel-Iron Permalloys, and conductive tapes.
26
5.1
Geomagnetic Model
Geomagnetic model is an important piece of information for the CubeSat because it is one of the
reference fields which will be used in the control algorithm. The values from geomagnetic model will be
compared with magnetometer readings in order to determine the CubeSats state which will then be used
to control he magnetorquer output. Three geomagnetic field models are available for use.
5.1.1
referencing. This model includes the main geomagnetic field, crustal field to degree 720 and also secular
variation. This model significantly reduces geomagnetic referencing errors. It is updated each year. But
the model is priced at $19,997 per year [18].
5.1.2
mission requirements. This model is also used by Satellite Tool Kit (STK) for geomagnetic field reference
[19]. It is updated every five years. The detailed descriptions and calculations of magnetic field vector can
be found in CUBESA-ADC12.
5.1.3
require high accuracy of the attitude, WMM is optional as the computational time is less than that of the
27
IGRF. The strength of the magnetic field changes over time. According to the data from WMM 20102015, the greatest change in magnetic field strength is about 90 nT/yr [20]. Compare the error produce by
the models with the magnetic strength shift, it is well within the tolerance. WMM models the
geomagnetic field in the following way:
,
. This field
cannot be modeled with low degree spherical harmonic models therefore is excluded in WMM.
models the field from magnetized crustal rocks, so its not useful in determining the magnetic field in the
arises from varies resources such as ionosphere and magnetosphere. It varies with
space.
5.2
is occupied by the mission payload and it is not accessible for any purposes, therefore, the original design
of 5 plus 1 sun sensor setting came down to only 4 plus 1, which means only 4 coarse sun sensors will be
used in addition to one fine sun sensor. The selected coarse sun sensors provide only one-axis information
about the Suns position; in other words, the Suns position cannot be determined accurately with the oneaxis sun sensors. As a result, a rough estimation of the Suns position is required to effectively control the
CubeSat. The following table indicates the detailed methods of estimating the Suns position.
28
Available face s of
sun sensor reading
90
180
90
90
90
0, 1, 0
No sensor reading
270
90
0, 1, 0
180
0, 0, 1
X, Y
45
90
2/2, 2/2, 0
X,Z
135
2/2, 0, 2/2
X, Y
135
90
2/2, 2/2, 0
X,Z
180
135
2/2, 0, 2/2
Y,Z
90
135
0, 2/2, 2/2
X, Y,Z
45
135
X, Y,Z
135
135
1, 0, 0
1, 0, 0
The +Z face is pointing to the sun. Whenever the reading from +Z face is available, which is the
reading from the fine sun sensor, it will be taken as a prior value and any readings from other coarse
sensors will be ignored. The method of estimation primarily assumes that if the sun sensor on only +X
face has readings, the Suns position is considered to be aligned with the +X axis and if sun sensors on
both +X and +Y faces have readings, then the Suns position is considered to be aligned with 45 degrees
from both +X and +Y direction and so the same for all others. Notice that there is no Y face because
only 4 coarse sun sensors are used. No sensor reading indicates that none of the 5 sun sensors on board
has sight of the Sun, so the Sun is assumed to be at the Y phase. Since the mission design group will be
providing detailed orbital information, then the information on whether or not the CubeSat is during
eclipse is known. As a result, its adequate to assume if the CubeSat is known to be in lighting period,
29
then the no sensor reading indicates the Sun is in the Y face. With the list of all possible phase angles
the Suns position vector in the body frame then can be calculated and thus be used in the control
algorithms.
5.3
several known cases where the gyro failed during mission. In order to secure our mission, back up
determination algorithms should be kept on board in case of parts failure.
5.3.1
(SAMPEX) which is a small explorer spacecraft. It has been found that the algorithm is effective of
yielding accuracy of 1.5 degree in attitude and 0.01 degree/second in rates. This Method can be used as a
back-up algorithm in case the gyroscope failed during the mission [21]. This algorithm allows us to
determine the angular rate of the CubeSat.
The deterministic scheme constructs second vector measurement from the 1st derivative of B
resolved in the reference and body frames. The transformation equations are given below:
AB
AB
(7)
Where A is the attitude matrix, is the angular velocity vector, and R and A represents reference
and body frame respectively [21].
30
Along with the deterministic attitude determination from magnetometer-only data, Real-Time
Sequential Filter (RTSF) is used for accurate determination and faster convergence.
5.3.2
study after the failure of FUSE uses hybrid integrated-rate parameters (IRP) Euler filter approach.
(8)
defined as follows:
(9)
31
1 ,
1 ,
(10)
(11)
6.1
added to the CubeSat and the structure group had to modify the layout of each component to fit them into
the CubeSat, they have shown much better performance during stabilization phase.
Table 7: Comparison of Magnetorquers' Data
Model
Maximum moment
Max power
MTO.2-1
0.2 Am2
0.2W
MTO.5-1
0.5 Am2
0.3W
Using the same setting for the simulation from last years ADC group, e.g. 5 degrees for yaw,
pitch and roll angle and 5 degrees per second for initial angular velocity and the updated magnetorquer
information, comparisons of the velocity profile and control output profile are shown below.
32
Figure 15: Figure 16: Angular velocity vs. Time from Previous Year
Figure 17: Figure 15: Angular velocity vs. Time from Current Result
33
Figure 18: Magnetorquer Control Output vs. Time from previous year
Figure 19: Magnetorquer Control Output vs. Time from current result
34
When the angular velocity for each components of the CubeSat is less than 0.1 degree per second,
then its considered that the satellite is stabilized. Using this criterion, the optimized stabilizing time from
the last year was given to be around 3300 seconds whereas with the latest magnetorquer, the stabilizing
time was much less and was estimated at about 1100 seconds. By analyzing the controller output, the
reason why the new magnetorquer has such a huge improvement became obvious. The maximum moment
produced by the new magnetorquer is 0.5 Am2 which is twice more than that of 0.2 Am2 of the old one.
Also the plot from previous year showed that the old magnetorquers peak at the first 1000 seconds. As
with the new magnetorquer, the output moment only went up to 0.4 Am2 for the very first 100 seconds
and went only slightly above 0.2 Am2 after 100 seconds. The extra moment produced by the new
magnetorquer had indeed improved the stabilizing time significantly.
6.2
De-tumbling Optimization
To further improve the performance of the control algorithm during stabilization period, the team
acquired using the MATLAB simulation. Using 5 degrees for yaw, pitch and roll angle and 5 degrees per
second for initial angular velocity, the summary of the de-tumbling time with different noise filters is
shown below in the plot. EKF denotes extended Kalman filter, LPF denotes low pass filter and triad
denotes the raw data without any filtering.
35
Figure 20: Detumbling Time vs. Gain Value at Time Step of 0.5s
Figure 21: Detumbling Time vs. Gain Value at Time Step of 5s
At time interval of 0.5 seconds, the optimized de-tumbling time of around 1100 seconds is
observed at gain value of approximately -120000 to -125000. In the case of time interval of 5 seconds, the
optimized de-tumbling time of around 1250 seconds is observed to be at gain value of approximately 115000 to -120000. The different results for different time interval revealed that if the sampling
frequencies of the gyroscope and magnetorquer are high, better de-tumbling time was expected to be
achieved and the magnetorquer can produce higher torque to control the satellite. If the sampling
frequencies were low, the controller gain was relatively small because large gain will tend to overshoot
36
the system. In any cases, the gain cannot exceed certain values depending on the sampling frequency and
further investigations of the critical value are needed for ensuring the system stability.
6.2.2
where
(12)
C
0
0
0
0
(13)
C1, C2 and C3 have values on the order of 105 which are on the same order as the gain value for
single fixed gain. For the simplicity of investigating the effects of implementing multiple fixed gains, C
was taken to be a diagonal matrix. Instead of having single gain for all three axes, now each axis has its
own gain value which means that output of each magnetorquer can be modified.
As for adaptive gain, the controller gain C has the following form:
37
,
0
0
0
,
0
0
0
,
, ,
(14)
denotes that it is a function of all components of the magnetic field and angular
velocity. Similarly, for the simplicity, C was also taken to be a diagonal matrix. The possible
improvement by implementing adaptive gains was that at different strengths of magnetic field and angular
velocities, the optimal controller gains would be different; therefore having adaptive gains can possibly
improve the performance of the controller more.
6.3
simulation results using single fixed gain, multiple fixed gains, and adaptive gain were obtained. However,
the plots of angular velocity and controller output vs time are very similar and its rather difficult to judge
which gain mode is better. In order to study the differences among the three methods, the squares of the
controller output are integrated over the same time period of 2500 seconds (note that controller output is
directly proportional to the power consumption, its reasonable to assume that the more controller outputs,
the more energy it consumes) and below is the results of relative energy consumption by magnetorquer
for each type of gains.
Table 8: Detumbling Time and Energy Consumption with Three Different Gain Types
Single fixed gain
Adaptive gain
9.1998
11.6167
6.7102
y-axis [A.m ]
15.9138
11.4179
13.2193
z-axis [A.m2]
10.4868
11.8592
13.7142
sum [A.m ]
35.6003
34.8938
33.6437
1480
1340
1250
x-axis [A.m ]
38
The total relative energy consumption for single fixed gain is the highest amongst all three, and
three magnetorquers have uneven output, meaning the magnetorquer in y-axis does more work and
leaving the other two in x- and z-axes do less work. In addition, the de-tumbling time using single fixed
gain is the longest among all. Note that the de-tumbling time presented here is higher than the ones
presented in the previous section of determination of optimal controller gain; the reason is inertia matrix
has been updated since then and was used for the simulation results in this section.
The advantage of using multiple fixed gains is clearly seen that the total energy consumption is
less, the de-tumbling time is less and more importantly each magnetorquer is able to provide similar
amount of output so to achieve an even wear for the magnetorquers and reduce the possibility of
breakdown during mission.
Lastly for the adaptive gain, both the energy consumption and the de-tumbling time are further
reduced. The state depending function used for this simulation is:
19500 5
B
0.00005
B
0.00005
(15)
The denominators in each term in function above were chosen relative to the maximum values of
each component readings. B was on the order of maximum of 10-5 [Tesla] and was set initially to 5
degrees/s. This reasonable expression for the adaptive gain produces satisfying results. In order to achieve
the even magnetorquer output, better de-tumbling time, and better energy consumption, further
investigations are needed to find the best adaptive expressions for each entry. As in the simulation,
controller gains are simplified to have only diagonal entries, replacing zeroes in the gain matrix could
possibly improve the performance of the controller even more.
39
6.4
Attitude Maintenance
As desired by mission payload, the purpose of the CubeSat is to point to the sun as accurate as
possible during lighting period. Last year has already achieved some results, but with the updated
magnetorquer and inertia matrix information, additional investigation was needed. The algorithm which
was already implemented in MATLAB simulation is quaternion feedback controller [1].
(16)
Proportional gain
velocity which tends to stabilize the system by applying torque opposite to the direction of rotation. So
when the angular velocity is small, the term of proportional gain leads the magnetorquer output and when
the angular velocity is high, the derivative gain will keep the magnetorquer output more for stabilization.
6.5
Results
After hundreds of hours of simulation run, the optimal gain was determined as follows:
Table 9: Gain Value for Attitude Maintenance
Gain Type
Value
Proportional gain
0.0003
Derivative gain
0.0004
0.006
0.0003
0.02
Because of the random errors produced in the MATLAB simulation, 10 simulation results were
obtained and average of the sun pointing accuracy over time was taken and below is the plot:
40
Figure 22: Pointing Accuracy vs time plot
Then the percentage of the sun pointing accuracy under certain degrees can be found. Note that
the percentage was calculated out of the time during the sunny period which means the time spent by the
CubeSat in eclipse period was omitted in the percentage calculation. A comparison of the sun pointing
accuracy was also shown below.
Table 10: Sun Pointing Accuracy Comparison
Accuracy / degree
New Percentage
0.25
3.72%
5.21%
0.50
36.53%
15.14%
0.75
58.52%
30.95%
1.00
67.56%
44.47%
1.50
78.06%
62.70%
2.00
84.45%
72.09%
2.50
90.21%
3.00
93.10%
41
As seen from the table, the CubeSat now spends 12.3% more time within the 2 degree accuracy.
And up to 93% within 3 degree accuracy. Although less time was spent within the 0.25 degree accuracy,
the extra 20-30% more time within 1 degree is of the teams interest. The improvement of the pointing
accuracy could be resulted from few changes that were made: the change of the inertia matrix, new
magnetorquer and simpler sun sensor algorithm.
Figure 23: Controller output during Attitude Maintenance
From the figure of magnetorquer output, it can be seen that the controller peaks at its limit, but
its only for the first few hundreds seconds. The new magnetorquer produced extra power to control the
CubeSat, and reduced the time to achieve its desired pointing angle more quickly. But when it came to
minor maneuverer for pointing corrections, the new magnetorquers had no advantages over the old and
less powerful ones. What the new magnetorquer can achieve was to shorten the time for the CubeSat to
42
turn so that the fine sun sensor can obtain steady readings and achieve a small gain in the point
percentages for one sunny period. However as for the whole mission, the extra time spent in sight of the
Sun would be amplified in hours and gave the payload instrument more accurate readings.
43
Figure 24: Visualization of Tabletop Test Bed
The purpose of the test bed is to prove that our Attitude Determination and control system
simulation works using magnetorquers, gyroscope, and on board computer. The rotational air bearing can
rotate up to fifty degrees off nominal in both the pitch and roll axes and support up to eighty kilograms.
The air bearing has three orthogonal reaction wheels for attitude control and three orthogonal torque coils
for reaction wheel desaturation or attitude control. The testbed uses inertial measurement units and built
in-house sun and Earth sensors for attitude estimation. The testbed communicates wirelessly with a
nearby ground station computer for reprogramming and data storage. The air bearing has manual as well
as automatic center of mass adjustment devices used to reduce torque due to gravity on the system
The primary objective of the air bearing structure is to provide a physical platform capable of
interfacing with the hemispherical base as well as provide attachment points and stability for the
components necessary to perform ADCS testing [23]. The foundation of the structure is the hemisphere
that oats on the cushion of compressed air. The hemisphere is the only portion of the vehicle that is in
contact with the fixed inertial air bearing support column.
The hemisphere, however, is not actually touching the support column, but rather slightly above
the column supported completely by a layer of compressed air. This support method is what gives the air
bearing the ability to rotate in all three axes with significantly reduced friction while also being
constrained to zero translational motion.
44
Figure 25: AirBearing Shape
The air bearing that supports the platform is located on top of a pedestal structure (12 in high) and
it allows the platform to move without friction 45 deg about the two horizontal axes (x and y) and 360deg
about the vertical (z) axis. The bearing is the SRA250 spherical air bearing designed and manufactured by
Specialty Components Inc. The bearing itself is made of 600 aluminum and can hold up to 748 lbf of load
when operating at 80 psi air pressure. The GIT platform bearing is operated at 30 psi which corresponds
to approximately 300 lbf of vertical load.
The aluminum platform provides a mounting surface for the several simulator subsystems. The
location of the center of mass (desired to be at the center of rotation of the simulator in this case the
center of the bearing rotor) can be changed by positioning different counterweights in various slots and
holes located at several places on the platform. Care has been taken to position all major components of
the simulator, such as momentum wheels, batteries, amplifiers, etc. in a symmetric fashion. This makes it
easy to balance the platform as well as locate the principal axes [24].
Specialty Components were able to provide us a drawing of the SRA250 spherical air bearing in
order to make sure that our testbed design will be able to carry the SRA250 and match with our
dimensions.
45
Figure 26: Specialty Components SRA250 drawing
As a backup plan in case we wont be able to by the SRA250 from Specialty Components, we
contacted another air bearing company located in NH called Nelson Air Corp and requested the drawing
for their spherical air bearing. Then, we compared both dimensions and re-dimensioned the testbed on
SolidWorks to make sure whichever air bearing the next year team decides to go with it will be able to be
mounted on this specific testbed.
46
Figure 27: Nelson Air Corp Air Bearing drawing
Due to the small flying heights typical of air bearings, external gas pressure sources must be free
of contaminants in order to allow proper operation.
Incoming air/gas should be conditioned to the following:
System designs should include provisions to prevent accidental motion of the bearing without adequate
pressure. Pressure Interlocks and/or locking mechanisms with hard stops are prudent additions to
mechanisms which use air bearings.
47
Figure 28: Air Quality Requirements
48
7.2
Figure 29: Test Bed Design
Cylindrical Stand:
Side Support:
5 in diameter
5 in horizontal distance
15 in diameter
12 in height
7.5 in height
1 in thickness
0.5 in thickness
49
7.3
7.3.1
Figure 30: Tabletop Disk Strength Analysis
50
Figure 31: Tabletop Disk Displacement
7.3.2
Figure 32: Air Bearing Stand Displacement Analysis
51
Figure 33: Air Bearing Stand Strength Analysis
52
7.4
of the test bed stand. The parts of the test bed design that were selected to be constructed this year were
the baseplate, the support fins, and the central cylinder. Once these pieces are put together, a future team
could outline a test bed experimental section and table-top design that fits to the support stand that will be
constructed this year. Leaving the open-ended design seems to be the best idea, as it gives future teams a
starting point when they begin to design an experimental set up for a test bed. After urging from the
mechanical department, MSC Industrial Direct products were selected as the best options due to the array
of products available, pricing, and quality of the products, as well as discounts the university may be able
to arrange with the company itself.
7.4.1
Central Cylinder
Figure 34: The 1045 Carbon High Strength Steel Rod
Possibly the most important part of the test bed design is the central cylinder that supports the air
bearing and the rest of the tabletop test bed. This part needs to be able to withstand the stresses and
displacements outlined above. The highest quality steel available in the required dimensions is the 1045
High Strength Cold Finished Steel, made conveniently in the 5 diameter by 12 size that our test bed
53
design outlines. The machining of this product will be the most time consuming and delicate. The higher
quality of the steel requires greater care and more practiced machining techniques. This piece will have
slats machined into the side at the 4 places where the support fins attach to the side. The slats will be 0.5
to have the fins slide in before they are welded to the cylinder. The bottom of the cylinder will have screw
holes machined into it to allow screws to attach from the optical table, through the baseplate, to the
cylinder. The top of the cylinder will have holes machined to allow the future attachment of a spherical
air bearing, upon which the experiment portion of the test bed will sit.
7.4.2
Support Fins
Figure 35: The 1018 Carbon Steel Sheet
The fins used to support the main cylinder are necessary to reduce the stresses on the cylinder and
make the overall test bed much more stable. The quality of the material used in the construction of these
fins does not, however, need to be as high as the material used in the cylinder. The material selected is
1018 Cold Finished Steel. This product is a highly used product in industry, and holds all of the
characteristics that the test bed design outlines. This product will be purchased in 1 sheet, with the
required thickness of 0.5. That sheet will then be cut into the four different 5 by 7.5 triangular
support fins. This product has the least amount of machining required, as it is simply being cut. These fins
54
will be inserted into the slats of the cylinder and baseplate, and welded as well to the cylinder and
baseplate.
7.4.3
Figure 36: The Alloy Steel HotRolled Steel Plate
The baseplate of the test bed design will need to be solid enough to support all of the normal
stresses caused by the test bed in motion, as well as need to be able to be machined. The most important
characteristic for the baseplate will be its ability to be machined to the required dimensions and still
provide the support that the test bed calls for. The baseplate will have many holes machined into it, for
fixing the cylinder to the baseplate, as well as fixing the baseplate to the optical table on which the whole
test bed is mounted. The baseplate will also have four slats machined into its top surface to allow the four
support fins to slide into before they are welded together. The slats will be 0.5 wide, and 5 in length
from the outer diameter of the baseplate towards the center of the test bed.
55
7.5
cheaper, design for the components and actuators of the test bed. The aluminum board affixed at the top
of the test bed design will be the surface to which all test bed components are attached. These components
include control computer processors, data handling transmitter/receiver boards, sensors for acquisition,
and actuators for motion control.
The configuration and alignment of these items is crucial as the main goal of the test bed is to
balance its own center of rotation with its center of balance. Last years team researched designs of
successful test beds and suggested taking a similar approach, with a few cutbacks taken where they could
be to reduce the overall cost of creating this test bed. All of the components suggested below have been
used by either the Naval Post-Graduate Test Bed, or by the Journal of Applied Research and Technology
schematic posted in the IEEE publication.
7.5.1
Figure 37:ADL LX8PCAMD Geode LX800 Single Board Computer
The overall goal of the test bed is to produce stable results using the type of actuators that are
going to be used on the CubeSat while controlling them with the algorithms designed to control the
CubeSat.
The test bed itself will be attempting to directly mimic the control policies that are going to be
implemented within the CubeSat. The main processor of the test bed will need to be able to command the
56
data from all of the sensors, motors, and other processors and control the system to a stable plane of
motion.
The Advanced Digital Logic LX8PC-AMD Geode LX800 Single Board Computer has been
selected to run the test bed for three main characteristics. It has the capability to run at the speeds that the
CubeSats ADCS board runs at, allowing us to prove that control of a system similar to our design for the
CubeSat can be handled through the ADCS board sub-computer, which is being imitated by this
processor in the test bed design. It is stackable in the PC/104 format, allowing easier integration into the
design of the test bed, and the part is scalable in price, allowing, if possible, a less robust design, reducing
the budget [17].
This component will also function as the power management system for the test bed. The power
supply will be connected with a serial +5V direct current connection, as well as with all power pins of the
PC/104 configuration for power management. The PC/104 format connector is shown below.
Figure 38: PC/104 Location for SBC
57
7.5.2
Figure 39: Eurotech COM1480 Wireless Communication Board
The design of the test bed calls for a balance of the components on the spherical air bearing. To
avoid the complicity of the wiring to all of the computer components from our data acquisition system,
wireless communication will be used. A single Eurotech COM-1480 is needed to carry out this task. The
board is PC/104 compatible, allowing the board to be easily integrated into the system with the Single
Board Computer and the power supply. This is ideal because the weight of the board will be distributed
evenly with the rest of the components, making it easier to balance the entire system. An outline of the
system is shown below. Further analysis will need to be done on this product to find a good, and yet
cheap, receiver for this system [25].
7.5.3
Figure 40: Accesio 104COM8SM Communication Board
58
The board selected for on board communication will need to be able to do two things. First, this
component needed to connect easily both electrically and physically to the computer systems selected for
processing. This is achieved by the 104-COM-8SMs PC/104 Bus connectivity. Second, the serial
connections of this board needed to be compatible with the systems sending it information. These systems
would be the motors controlling the balance of the system. The motors for the test bed have not been
selected due to the unknown strength of the magnetorquers, which the motors need to be on par with [26].
7.5.4
Figure 41: DiamondMM32AT I/O Transceiver Board
The actuators of the test bed (the magnetorquers, yet to be selected) will need to be interfaced
with the control program through an Input/output controller. This board allows the computer system to
easily control the actuators. Connection from this board to the computer is carried out through the PC/104
Bus. The Diamond-MM-32-AT is compatible with many different types of analog and digital inputs,
allowing it to be a good choice for the control of the yet unknown actuators [27].
7.6
Power Considerations
The table below shows the power required for each component highlighted. As it can be seen, the
components all connect to the power source with a +5V direct current connection (DC).
59
Type
Power mA
1480
5 DC
Eurotech COM1480
900
5 DC
Accesio 104COM8SM
80
5 DC
DiamondMM32AT I/O
410
5 DC
7.6.1
Voltage V
Battery
Figure 42: Inspired Energy ND2054 Smart Li Ion Battery
The main consideration for the battery was its ability to supply the power required evenly to the
systems. The ND2054 series of batteries from Inspired Energy provide a scalable option for power
supply. The ND2054 is rated to function at levels acceptable for our theorized test bed specifications, and
has been used by the Naval Post-Graduate Test Bed design. Another benefit of the ND2054 series is the
mass. It weighs in at just less than 0.25 kg, which keeps the overall mass of the components well below
the cap of 6 kg. The possibility of needing more than one battery exists, as the power requirements for the
motors and magnetorquers could be greater than that provided by one battery. This is not necessarily a
drawback, as the use of multiple batteries could allow easier balancing of the overall system, simplifying
the computations necessary.
60
8.1
and have a succinct set of parts to order available for future WPI CubeSat teams. Originally parts were
selected from the online McMaster-Carr order guide. However, after urging from the mechanical
department, MSC Industrial Direct parts should be purchased for use in the test bed design.
8.2
Attitude Simulation
The new 4+1 sun sensor setting and the nature of one-axis readings from the coarse sun sensors
have limited the readings from the sensors. As in simulation section, algorithm for sun sensor was tested
and approved to be effective in the overall control system; however, the current method of obtaining sun
sensor readings can be improved using complicated algorithm integrate the sun sensors and gyroscope
and achieve more accurate sun position estimation. The advantage of acquiring more accurate sun
position is avoiding controller overshoot the system too much which could lead to save the time for initial
attitude determination. But associated disadvantage by using complicated algorithm is that it consumes
more computing power. This is one aspect of what the future work would be.
61
Also as of future interest, the expressions for the gain selection in stabilization phase can be
investigated further to find improve the control algorithms. From previous section, system with adaptive
gains produced better results. As for the computing power consumed by calculating the adaptive gains,
depending on the selection of the expressions, for the current selection the power used is minor compare
with other calculations. So for the improvement of the stabilization phase, adaptive gains should be
investigated and determined.
62
Chapter 9 References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
N.N.&.D.V.ElizabethDawson,"AttittudeDeterminationandControlSystemDesignFor
ACubeSatMission,"WPI,Worcester,2012.
D.V.Guerrant,"DesingandAnalysisofFullyMagneticControlforPicosatellite
Stabilization,"SanLuisObispo,2005.
P.W.Steyn,"MagneticAttitudeDeterminationandControlforLowEarthOrbitingSmall
Satellites,"Matieland.
Y.Yang,"QuaternionBasedModelforMomentumBiasedNadirPointingSpacecraft,"
AerospaceScienceandTechnology,pp.199202,2010.
M.B.A.B.Y.H.M.S.A.M.SiMohammed,"Simulationofmicrosatelliteattitudeusing
Kalmanfilteringinorbitresults,"SimulationModellingPracticeandTheory,pp.257277,
2008.
G.W.a.G.Bishop,"AnIntroductiontotheKalmanFilter,"UniversityofNorthCarolinaat
ChapelHill,ChapelHill,NC,2006.
M.I.Ribeiro,"KalmanandExtendedKalmanFilters:Concept,DerivationandProperties,"
2004.
N.K.Y.B.K.a.G.I.Ure,"TheDevelopmentofaSoftwareandHardwareintheLoopTest
SystemforITUPSATIINanoSatelliteADCS,"IEEE,pp.115,2011.
K.A.KOPECKY,"NumericalDifferentiation,"2007.
H.F.&.E.P.Simoncelli,"Differentiationofdiscretemultidimensionalsignal,"IEEE
Transactionsonimageprocessing.
"CoarseSunsensordatasheet,"Aeosatro,[Online].Available:
http://www.aeroastro.com/uploads/data%20sheets/Coarse%20Sun%20Sensor%20Data
%20Sheet.pdf.
"CubeSatSunSensor,"SSBV,[Online].Available:
http://www.ssbv.com/ProductDatasheets/page39/page29/index.html.
"ADXRS450ZEvaluationBoard,"AnalogDevices,[Online].Available:
http://www.analog.com/en/memssensors/memsgyroscopes/adxrs450/products/EVAL
ADXRS450Z/eb.html.
"Gyroscope,"Gyroscope.org,[Online].Available:http://www.gyroscopes.org/index.asp.
T.Bak,"SpacecraftAttitudeDeterminationaMagnetometerApproach,"Aalborg,1999.
"TripleAxisMagnetometerBreakout,"SparfunElectronics,[Online].Available:
https://www.sparkfun.com/products/10530.
"SingleBoardComputer,"EmbeddedSolution,[Online].Available:http://www.adl
usa.com/products/cpu/datapage.php?pid=ADLLX8PC.
"HighDefinitionGeomagneticModel,"NOAA,[Online].Available:
63
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
http://www.ngdc.noaa.gov/geomag/hdgm.shtml.
"InternationalGeomagneticReferenceField:theeleventhgeneration,"USDepartment
ofCommerce,2010.
e.StefanMaus,"TheUS/UKWorldMagneticModelfor20102015,"NOAA,Boulder,
2010.
J.D.a.D.F.B.G.A.NatansonandM.S.Challa,"MagnetometerOnlyAttitudeandRate
DeterminationforaGyroLessSpacecraft,"NationalAeronauticsandSpace
Administration,Greenbelt,Maryland.
J.T.a.Y.O.RickHarman,"GYROLESSATTITUDEANDRATEESTIMATIONGYROLESS
ATTITUDEANDRATEESTIMATION".
D.Meissner,"Athreedegreeoffreedomtestbedfornanosatelliteandcubesatattitude
dynamics,determination,andcontrol,"NavalPostgraduateSchool,2009.
P.D.W.M.CoreyWhitcombCrowell,"DevelopmentandAnalysisofaSmallSatellite
AttitudeDeterminationandControlSystemTestbed,"Boston,2011.
"COM1480,"Eurotech,[Online].Available:
http://www.eurotech.com/en/products/COM1480.
"104COM8SMFamily,"[Online].Available:http://accesio.com/go.cgi?p=../104/104
com8sm.html.
"DiamondMM32AT,"DiamondSystems,[Online].Available:
http://www.diamondsystems.com/products/diamondmm32at.
J.Prado,"Threeaxisairbearingbasedplatformforsmallsatelliteattitudedetermination
andcontrolsimulations,"IEEE,2003.
HewlettPackardCorporation,"AdvancedConfigurationandPowerInterface
Specification,Revision2.0,"2000.
"TNOcoarsesunsensor,"ESA,[Online].Available:
http://telecom.esa.int/telecom/www/object/index.cfm?fobjectid=28404.
"WilkinsonMicrowaveAnistropyProbe:Explanatorysupplement,"NASA,2003.
"Freescalesemiconductor,"[Online].Available:
http://cache.freescale.com/files/sensors/doc/data_sheet/FXOS8700CQ.pdf?fpsp=1.
"CubeSatAttitudeDeterminationandControlSystems,"ClydeSpace,[Online].Available:
http://www.clydespace.com/cubesat_shop/adcs.
"CubeSatSunSensor,"CubeSatshop,[Online].Available:
http://www.cubesatshop.com/index.php?page=shop.product_details&product_id=104&
flypage=flypage.tpl&pop=0&option=com_virtuemart&Itemid=65&vmcchk=1&Itemid=65.
"NumericalDifferentiation,"[Online].Available:
http://elm.eeng.dcu.ie/~ee317/Course_Notes/handout1.pdf.
"3AxisDigitalCompassIC,"Honeywell,[Online].Available:
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Magneto/HMC5883LFDS.pdf.
T.H.K.Z.H.TianXiang,"DesignandOnorbitPerformanceoftheAttitude
DeterminationandControlSystemfortheZDPS1APicoSatellite,"ActaAstronautica,pp.
64
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
[46]
[47]
[48]
182196,2011.
W.M.A.R.F.B.ThomasW.Flatley,"ABDotAcquisitionControllerfortheRADARSAT
Spacecraft,"GoddardSpaceFlightCenter,Greenbelt,Maryland.
D.P.V.PaulTisa,"PerformanceAnalysisofControlAlgorithmsforFalconSat3,"
AmericanAstronauticalSociety,p.18,2006.
M.L.P.a.Y.Oshman,"SpacecraftAttitudeRateEstimationFromGeomagneticField
Measurements".
F.L.Markley,"AttitudeDeterminationUsingVectorObservationsandThesingularValue
Decomposition,"TheJournaloftheAstronauticalSciences,pp.245258,1988.
J.M.E.M.AwaisAbbas,"ATTITUDEDETERMINATIONANDCONTROLSUBSYSTEM
SATELLITECONTROLLER,"IEEE,p.6,2011.
L.S.LiDa,"RealTimeSequentialKalmanFilterSensorRegistrationAlgorithm,"IEEE,
2006.
E.G.L.JohnL.Crassidis,"ATTITUDEDETERMINATIONUSINGCOMBINEDGPSAND
THREEAXISMAGNETOMETERDATA".
M.I.G.A..W.B.Group,"Annex1NetFDIInflows,20002008,"MIGA,Washington,
2009.
B.J.a.B.Carpenter,"OptimalPlacementofSpacecraftSunSensorsUsingStochastic
Optimization,"inIEEEAerospace,2004.
J.M.G.AageSkullestad,"HControlofaGravityGradientStabilizedSatelite,"Control
EngineeringPractice,pp.975983,2000.
"SensorDescription,"[Online].Available:
http://www.ufa.cas.cz/html/upperatm/DSS_Description_&_protokol.pdf.
65
Appendices
Appendix A: MATLAB Simulation Code input and output guide.
1) Control
a) PD.m
i) input: time, desired quaternion and current state vector
ii) output: 3x1 magnetorquer moment vector
b) Stabilizer.m
i) Input: Current state vector and geomagnetic vector
ii) Output: 3x1 magnetorquer moment vector
2) Determination
a) EKF.m
i) Input: time and time step size
ii) Output: 7x1 state vector
b) intEKF.m
c) LowPass.m
i) Input: count number and old estimated state vector
ii) Output: new estimated state vector
d) TRIAD_est.m
i) Input: time
ii) Output: estimated state vector
3) Math
a) angle_diff.m
i) input: two column vectors x1 and x2
ii) output: angle difference in radian between the two input vectors
b) angular_error.m
i) input: sun position vector, angular error type and error angle
ii) output: point error angle
c) dcm_from_q.m
i) input: quaternion (either 4x1 or 1x4)
ii) output: 3x3 directional cosine matrix
d) delta_q.m
i) input: two column quaternions: desired and actual in form of {k,j,i,1}
ii) output: a unit vector given the difference between the quaternions
e) q_from_dcm.m
i) input: direction cosine matrix
ii) output: quaternion
f) q_to_ypr.m
i) input: a row quaternion matrix
ii) output: a row matrix containing yaw pitch and roll angles in radian
g) QXx_ypr.m
i) input: yaw pitch and roll angles in radian
ii) output: directional cosine matrix
h) Wx_to_wypr.m
i) input: angular velocity measurement matrix and 3x1 vector of yaw pitch and roll angles
ii) output: body frame velocity
i) ypr_to_q.m
i) input: 3x1 vector of yaw pitch and roll angles
ii) output: 4x1 quaternion
66
4) Models (it contains similar algorithm as in sensors, but it produces the model for each parameter)
a) model_desq.m
i) input: time
ii) output: desired quaternion of the satellite
b) model_magnet.m
i) input: time and mode (real for measurement with noise)
ii) output: real strength of magnet field vector
c) model_nadir.m
i) input: time, mode (real for measurement with noise), frame (body for satellite body frame)
and form (Quat for converted quaternion output)
ii) output: quaternion of the satellites motion relative to the nadir
d) model_sun.m
i) input: time and mode (real for measurement with noise)
ii) output: sun vector model
5) Sensors
a) sensor_gyro.m
i) input: mode (ideal for original system, real for noise corrupted system)
ii) output: real or ideal angular velocity vector
b) sensor_magnet.m
i) input: time, mode (real for measurement with noise) and frame (body for satellite body
frame)
ii) output: magnetometer measurement from pre-generated data from STK
c) sensor_sun.m
i) input: time, mode (real for measurement with noise) and frame (body for satellite body
frame)
ii) output: angular error of the sun sensor
iii) note: when the angle is out of the field of view of the fine sun sensor, the angular error
becomes larger
6) Main folder
a) inertia.m
i) input: CubeSat unit and x, y, z positions of the cg point
ii) Output: inertia tensor
b) jacobian.m
i) input: none
ii) output: Jacobian matrix
67
68
69
70