Académique Documents
Professionnel Documents
Culture Documents
Performance Analysis of
Control Algorithms for
FalconSat-3
Paul Tisa, Dr. Paul Vergez
USAF Academy Dept. of Astronautics
2354 Faculty Drive
USAF Academy CO 80841
719-333-2668
c06paul.tisa@usafa.edu, paul.vergez@usafa.edu
th
ABSTRACT
FalconSat-3 is the United States Air Force
Academys first attempt at three-axis attitude
determination and control. This requirement is
a product of the three US Department of
Defense payloads the satellite will carry,
which are the Micro Propulsion Attitude
Control System (MPACS), the Flat Plasma
Spectrometer (FLAPS), and the Plasma Local
Anomalous Noise Environment (PLANE).
Most restrictively, FLAPS requires one
degree attitude determination within two
standard deviations and five degrees attitude
control within one standard deviation of ram
direction. The following paper gives a cursory
background into FalconSat-3; followed by a
brief explanation into the development of a
Simulink model in MATLAB. The main focus
is the utilization of the Simulink model to test
the implementation and performance of the
following controllers: proportional-derivative
(PD), proportional-integral-derivative (PDI),
separate pitch from roll/yaw, linear quadratic
regulator (LQR), B-dot, spin rate, cross
product law, and bang-off-bang. The bangoff-bang controller is used in conjunction
only with FalconSat-3s pulse plasma thrusters
not the magnetorquers like the other
controllers.
As such, it is discrete not
continuous, and its implementation is quite
different than the rest.
TABLE OF CONTENTS
Abstract___________________________2
Post-boom Inertia
Coefficient of
Drag
Spacecraft Dipole
Introduction _______________________2
FalconSat-3 Background _____________2
Coordinate Frames__________________3
Model Dynamics ____________________4
Orbital
Characteristics:
35.5 kg
10.6 kg
[3.64
[67.40
46.1 kg
3.69 1.31]kg m 2
67.45 1.31]kg m 2
2.6
0.05 A-m2
Altitude = 560 km
Inclination = 0
Eccentricity = 0
= Products of inertia are all zero and are left out, the displayed values
Conclusions _______________________13
Origin
Fundamental
Plane
1st
Axis
Definition
2nd
Axis
EarthCentered,
inertial
Center of
Earth
Earths mean
equator
Direction of
mean vernal
equinox
Local
Orbital
Satellite
center of
mass
Satellites
orbital plane
Ram
direction
Parallel to
base plate
(PLANE is
+)
Body
Satellite
center of
mass
Parallel to
satellites base
plate
Definition
Direction of
mean rotational
axis (N is +)
Direction of
orbit normal
( N is +
Parallel to
boom
(Deployment is
+)
3rd
Axis
Definition
Completes
right-hand
system
Completes
right-hand
system
Completes
right-hand
system
+ZBY (Yaw)
+RLO
(Radial/
Zenith)
Orbital Path
+QLO
(Orbit
Normal)
Spacecraft ADCS
Body Frame
+YBY (Pitch)
Orbital Path
Local Orbital
Frame
+QLO
(Orbit
Normal)
Local Orbital
Frame
+PLO
(Orbital
Tangent)
+PLO
(Orbital
Tangent)
+XBY (Roll)
+RLO
(Radial/
Zenith)
(1)7
CC + SSS
= SC + CSS
CS
SC
CC
S
q3 =
C B / O = 2(q1 q 2 q 3 q 4 )
2(q1 q 3 + q 2 q 4 )
2(q1 q 2 + q 3 q 4 )
q12 + q 22 q 32 + q 42
2(q 2 q 3 q1 q 4 )
(6)7
2
2
2
2
q1 q 2 + q 3 + q 4
2(q1 q 3 q 2 q 4 )
2(q 2 q 3 + q1 q 4 )
= a sin(2q2 q3 q1q4 )
(7)
2(q q + q q )
= a tan 2 2 1 32 22 4 2 (8)
q1 q 2 + q 3 + q 4
q2 =
(5)
MODEL DYNAMICS
Delving into explicit particulars of all the
model dynamics would disrupt the purpose of
this paper, but there are a some critical details
that are necessary for clarity.
1
q 4 = * 1 + C()C() + S()S()S() + C()C() + C()C()
2
q1 =
2(q1q2 + q3 q4 ) (9)
2
2
2
2
q1 + q2 q3 + q4
= a tan 2
CS + SSC
SS + CSC
CC
r
r
r
r
I& BI = N MT + N PPT BI I BI I& BI (10)7
rI
(11)7
0
O
, where
= Oz
y
O
x
zO
yO
xO
yO
O
x
xO
yO (12)7,
zO
zO
xO
, where r O = O = r I C B / Or O (13) and
0
B
y
zO
0
O
r
0O = 0O (14) and 0 =
.(15)
3
a
e = y xcmd
z xcmd
(16)
q1e q4 cmd
q q
r
qe ,14 = 2e = 3cmd
q3e q2 cmd
q4e q1cmd
q3cmd
q4cmd
q1cmd
q2cmd
q2 cmd
q1cmd
q4cmd
q3cmd
q1cmd q1
q2cmd q2
q3cmd q3
q4cmd q4
(17)6
SIMULATION BASICS
Without getting into unnecessary detail, it is
important to include the limitations and
nomenclature of the developed Simulink
model to draw proper conclusions from the
results. A figure of the current model is posted
in Appendix A. Figure 4 gives a simplified
overview of the simulation parts.
T = DB
(18)8
6
r
r
r
r
u = K p qe ,13 K i qe ,13 K d e (22)
THEORY
Proportional-Derivative (PD)
The PD control implemented in the model was
the simplest controller possible.
It is a
variation of the cross product law controller as
outlined by Dr. Hashida. Instead of using the
calculated error vector to determine the most
favorable magnetorquing direction, it is
directly utilized as the commanded torque
vector. The error/commanded torque vector is
determined through the following equation:
r
r
r
u = K p e K d e
s 2 + 3( 0O ) 2
( I1 I 3 )
=0
I2
(23)9
I3
(19)3
, where
9
(1 + 3k1 + k1k 3 ) 2 16k1k 3 > 0 (29) . Because of
this criteria and the physical properties of
FalconSat-3, I1=Ix, I2=Iy, and I3=Iz.
xcmd
1 1cmd
(20), r x
r
(21),
cmd
e = y ycmd
e = 2 2
z zcmd
3 3cmd
u = Kx
(32)9
3
M k = K p (icmd i ) sgn( B Bj ) (39)
(33)9
1 t
( x Qx + u t Ru )dt
2 0
i
j
k
(35)9
B& Controller
r
r
r
e = K p e K d e
r r
r e BB
m = rB 2
|B |
(37)3
(41)3
(40)3
(36)3
B B BiB,k 1
B& iB,k i ,k
t
z-spin
3
1
2
y-spin
2
3
1
(34)9
K = R 1 B t S
x-spin
1
2
3
r
r
r r
r
N M = m B LO = m C B / LO B LO (42)3
MPACS (Pulse Width Modulation)
Unlike the other controllers, MPACS is
designed for the PPTs and not the
magnetorquers. The main controls difference
between the two actuators is that a single
magnetorquer can be commanded to alter both
the direction and magnitude of its magnetic
dipole, which becomes a torque after being
crossed with the current magnetic field. Two
PPTs put along the same axis but in different
directions can simulate the direction change
but the thrust generated is unalterable.
Kd
3.5
1
0
1
0.5
0
0.5
0.25
0
13
1
1
0
0.5
0.5
0
0.25
0.25
ang
conv? /
to
cmd?
Y/Y
Y/Y
Y/N
N/N
Y/Y
Y/N
N/N
Y/Y
Y/N
tsmax
(s)
11.3
522
5,146
1,031
6,110
2,390
4,310
rates
conv?
/ to
cmd?
Y/Y
Y/Y
Y/Y
N/N
Y/Y
Y/Y
N/N
Y/Y
Y/Y
tsmax
(sec)
NMTmax
(N-m)
25.3
999
201
1,814
405
3,600
815
1.14
0.505
0.0353
0.317
0.0178
0.212
0.00936
Control Algorithm
PD
PID
Separate Pitch from Roll/Yaw
LQR
B-dot Controller
Spin Rate
Y-Thomson
Cross Product Law
MPACS
Kp
Status
Tested
Tested
Designed
Theoretical
Operational
Operational
Operational
Operational
Operational
Kp
Kd
0/1E5
0
1E-5
5E4/1E3
5E-4
1E-3
ang
conv?
/ to
cmd?
max
ts (s)
rates
conv?
/ to
cmd?
tsmax
(sec)
NMTmax
(N-m)
Y/Y
4.0E4
Y/Y
2.2E4
2.9E-5
N/N
Y/Y
3.4E4
Y/Y
Y/Y
1.5E4
1.6E4
2.4E-5
7.4E-5
Proportional-Integral-Derivative (PID)
The PID controller underwent a fairly
extensive test battery during research. While a
complete list of the cases performed and their
conditions are located in Appendix C, Table 7
shows an abbreviated list of the results.
TABLE 7: PID PERFORMANCE SUMMARY
Kp
Ki
Kd
ang
conv?
rates
conv?
tsmax
(s)
NMTmax
(N-m)
3.5
0.035
0.035
0.035
0.35
0.0035
2.5E-4
2.5E-4
2.5E-4
2.5E-4
2.5E-4
2.5E-7
13
0.13
0.013
1.3
0.13
0.013
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
25.4
234.4
134.0
200.0
1902
1.14
0.012
0.051
0.075
2.52E-3
However, this is just a starting point. The splane characteristic equations make several
assumptions,
including
circular
orbit,
truncating higher order terms, and replacing
trigonometric functions with their small angle
approximations. While not necessarily bad or
good, their affect on the accuracy of the plant
equations needs to be tested, which makes this
seemingly simple method less attractive. Also,
once the requirements are put into ADCS
terms, such as settling time, rising time, and so
forth, they are easy to graph on the s-plane.
However, taking real world requirements and
putting them in ADCS terms is difficult. For
example, FalconSat-3s requirements are listed
at the beginning of this paper and there are no
clear relationships between these and the basic
controller performance characteristics.
10
B-dot
This controller never made it into extensive
testing so the effects of altering the controller
gain and smoothing constant on varying initial
conditions are still unknown. Figure 12 shows
the results of the simulation using only the Bdot controller with a controller gain of 2*106, a
smoothing gain of 0.5, sampling time of five
seconds, initial angles of zero degrees, and
initial rates of two degrees per second. A
picture of the orientation versus time is
unnecessary as this controller only tries to
realign the rates.
11
12
13
REFERENCES
[1] Anderson, Andrew. No Bad Attitudes!:
FalconSat-3 Attitude Determination and
Control System Simulation and Analysis.
United States Air Force Academy: 18 August
2003.
[2] Hale, Matthew J. FS3 Kalman Filter
Overview. United States Air Force Academy: 6
April 2005.
[3] Hashida, Yoshi. ADCS for Future UoSat
Standard Platform Revision 2: Surrey Satellite
Technology Limited Internal Technical Note.
Guildford. Surrey Satellite Technology
Limited: 24 August 2004.
[4] Johnson, Andrea. Analysis of the
Feasibility of Demonstrating Pulsed Plasma
14
15
APPENDICES
Appendix A: Simulation Picture
16
Comm.
Comm. Rates
Rates
Initl
| LO
(/s)
Angles ()
(/s) | LO
Nc
Yaw
[R P Y]
[P Q R]
Kp
[0 0 0]
[0 0 0]
20
20
[0 0 0]
[0 0 0]
20
20
20
[0 0 0]
[0 0 0]
-1
20
20
20
[0 0 0]
[0 0 0]
0.5
20
20
20
[0 0 0]
[0 0 0]
-1
10000
20
20
20
[0 0 0]
[0 0 0]
-0.5
0.5
10000
20
20
20
[0 0 0]
[0 0 0]
0.5
100
20
20
20
[0 0 0]
[0 0 0]
-0.5
10000
20
20
20
[0 0 0]
[0 0 0]
-0.25
0.25
10000
20
20
20
[0 0 0]
[0 0 0]
0.25
10
20
20
20
[0 0 0]
[0 0 0]
-0.025
No.
time
samp
Angles
()
(sec)
(sec)
Roll
Pitch
10000
10
1000
10
20
10000
10000
500
10
Kd
11
10000
20
20
20
[0 0 0]
[0 0 0]
-0.1
0.1
12
10000
20
20
20
[0 0 0]
[0 0 0]
0.1
10
20
20
20
[0 0 0]
[0 0 0]
-0.1
20
20
20
[0 0 0]
[0 0 0]
-0.05
0.05
0.05
13
14
20000
15
20000
16
17
40000
18
40000
19
20
100000
21
100000
22
20
20
20
[0 0 0]
[0 0 0]
10
20
20
20
[0 0 0]
[0 0 0]
-0.05
20
20
20
[0 0 0]
[0 0 0]
-0.025
0.025
0.025
20
20
20
[0 0 0]
[0 0 0]
10
20
20
20
[0 0 0]
[0 0 0]
-0.025
20
20
20
[0 0 0]
[0 0 0]
-0.01
0.01
0.01
20
20
20
[0 0 0]
[0 0 0]
10
20
20
20
[0 0 0]
[0 0 0]
-0.01
20
20
20
[0 0 0]
[0 0 0]
23
5.00E+5
24
5.00E+5
20
20
20
[0 0 0]
[0 0 0]
25
5.00E+5
10
20
20
20
[0 0 0]
[0 0 0]
26
5.00E+5
20
20
20
20
[0 0 0]
[0 0 0]
27
3.00E+6
40
20
20
20
[0 0 0]
[0 0 0]
28
1.50E+6
50
60
60
60
[0 0 0]
[0 0 0]
29
1.50E+6
50
-60
-60
-60
[0 0 0]
[0 0 0]
30
1.50E+6
50
75
60
45
[0 0 0]
[0 0 0]
31
1.50E+6
50
60
45
75
[0 0 0]
[0 0 0]
32
1.50E+6
50
45
75
60
[0 0 0]
[0 0 0]
33
3.00E+6
10
[0 0 0]
[0 0 0]
34
3.00E+6
20
-6
-6
-6
[0 0 0]
[0 0 0]
Notes:
qk
wk
time = 0
t=0
1.00E-04
5.00E-02
5.00E-03
5.00E-04
not performed
1.00E-03
5.00E-03
<1E-7 0
1.00E-03
5.00E-03
2.00E-03
1.00E-04
5.00E-03
5.00E-04
17
Initial
Angles
()
Roll
Pitch
Comm.
Comm. Rates
Rates
| LO
(/s)
Angles ()
(/s) | LO
Nc
Yaw
[R P Y]
[P Q R]
Kp
Ki
Kd
0
[0 0 0]
[0 0 0]
20
20
20
[0 0 0]
[0 0 0]
20
20
20
[0 0 0]
[0 0 0]
3.50E+00
2.50E-04
1.30E+01
20
20
20
[0 0 0]
[0 0 0]
3.50E-02
2.50E-04
1.30E-01
20
20
20
[0 0 0]
[0 0 0]
3.50E-02
2.50E-05
1.30E-01
20
20
20
[0 0 0]
[0 0 0]
3.50E-02
2.50E-03
1.30E-01
20
20
20
[0 0 0]
[0 0 0]
3.50E-02
2.50E-04
1.30E-02
20
20
20
[0 0 0]
[0 0 0]
3.50E-02
2.50E-04
1.30E+00
20
20
20
[0 0 0]
[0 0 0]
3.50E-03
2.50E-04
1.30E-01
20
20
20
[0 0 0]
[0 0 0]
3.50E-01
2.50E-04
1.30E-01
10
20
20
20
[0 0 0]
[0 0 0]
3.50E-03
2.50E-07
1.30E-02
11
20
20
20
[0 0 0]
[0 0 0]
3.50E-03
2.50E-05
1.30E-02
12
20
20
20
[0 0 0]
[0 0 0]
3.50E-04
2.50E-07
1.30E-02
13
20
20
20
[0 0 0]
[0 0 0]
3.50E-03
2.50E-08
1.30E-02
14
20
20
20
[0 0 0]
[0 0 0]
3.50E-03
2.50E-07
1.30E-03
15
20
20
20
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
16
60
60
60
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
17
-60
-60
-60
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
18
75
60
45
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
19
60
45
75
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
20
45
75
60
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
21
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
22
-6
-6
-6
[0 0 0]
[0 0 0]
3.50E-05
2.50E-09
1.30E-04
<1E-7 0
18