Date post: | 19-Dec-2015 |
Category: |
Documents |
View: | 224 times |
Download: | 0 times |
Spacecraft Attitude Determination Using GPS
Signals
C1C Andrea JohnsonUnited States Air Force Academy
Outline Concept review/ Prior work Goals Receiver arrangement Integer resolution Assumptions/ Coordinate Frames Minimizing the loss function Results Conclusions Recommendations
Concept Review Two receivers
detect the same GPS satellite signal
Phase differences can be used to determine the angle of the line defined by the 2 receivers
)(cos nb
Determine matrix, A, that transforms
baseline vector from body frame to LO
Issues Find n Accurate loss
function minimization
Concept Review Cont.
ns
vsAbn T ˆ
Prior Work
Minimizing the loss function Linear least squares ALLEGRO (Attitude-Lean-Loping-
Estimator using GPS Recursive Operations)
m
i
n
jj
Tiijijij sAbnAJ
1 1
22 ˆ
Linear least squares with motion-based integer resolution:
Non-linear, predictive filter assuming n has already been resolved:
Prior Work Cont.
N
l
m
i
o
jjll
Tiij
lijN sAbnnAAAJ
1 1 1
2
21 ˆ,...,
kkkkT
kk tWdtdtytyRtytyJ2
1ˆ~ˆ~
2
111
111
Project Goals
Integer resolution algorithm Non-IC dependent minimization
technique incorporating integer phase difference measurements
Design computer code to perform attitude determination
Receiver Arrangement
2 master antennas,
2 slaves, 4 intermediate Non-military
frequency: 1575.42 MHz, λ = 0.1903 m
12.50.5λ
5λ
Master antenna
Intermediate antenna
Slave antenna
12.50.5λ
Integer Resolution Intermediate receivers
Variation of integer search Unique solution to 2 phase difference
measurements if baselines not multiples of each other
Third provides check Accurate even for large baselines
2λ
3λ
Φ1
Φ3Φ2
Assumptions/ Coordinate Frames Algorithm uses single
set of 3 receivers Same 2 GPS satellites
always in view No masking or
multipathing “Inertial” reference
frame: local orbital Body frame = LO
when roll, pitch, and yaw = 0
xlo
ylo
zlo
Assumptions/ Coordinate Frames Cont.
Minimizing the Loss Function Linear
Diverges for poor initial guesses Motion-based integer resolution
ALLEGRO Does not account for n in algorithm Separate motion-based integer resolution
Gauss-Newton Not sensitive to initial conditions Always converges Designed for minimization of squared
functions
Minimizing the Loss Function Cont.
Generating Test Data 3 orbit propagators
1 for spacecraft, 2 for GPS satellites 2-body EOM, no perturbations Ode5/Dormand-Prince numerical
integration Fixed time-step: 1 sec 1 hour simulation
Minimizing the Loss Function, Cont.
1 attitude propagator Euler moment, no disturbance torques
Initialization program generates actual fractional phase differences and quaternions
Noise added with 026.0
Minimizing the Loss Function, Cont.
5.2
7678.1
7678.1
1rec
5.2
0858.1
0858.1
2rec
5.2
7678.1
7678.1
3rec
5.0
7678.1
7678.1
4rec
5.2
7678.1
7678.1
5rec
5.2
0858.1
0858.1
6rec
5.2
7678.1
7678.1
7rec
5.0
7678.1
7678.1
8rec
Gauss-Newton/ Gauss-Newton-Levenberg-Marquardt
Receiver locations written in body frame coordinates, units of wavelengths
Minimizing the Loss Function, Cont.
)3,3(
)2,3(
)1,3(
)3,2(
)2,2(
)1,2(
)3,1(
)2,1(
)1,1(
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
A
A
A
A
A
A
A
A
A
p
M
mm pfpE
1
2
obsm
cmmm HpHWpf
Unknown value is the A-matrix, must be converted to a vector for GN/GNLM
Minimizing the Loss Function, Cont.
Minimization equation requires solving for state using Gaussian elimination or decomposition
This is GN method
n
nnn
n
n
p
f
p
f
p
fp
f
p
f
p
fp
f
p
f
p
f
A
21
2
2
2
1
2
1
2
1
1
1
kTkkk
Tk fApAA
kkk ppp 1
Sometimes a singularity occurs:
To counter this, an additional term is needed:
If the singularity still occurs, multiply λ by 10 and recalculate
Minimizing the Loss Function, Cont.
kk pEpE 1
kTkkk
Tk fApIAA
Minimizing the Loss Function, Cont.
)3(
)2(
)1(
i
i
i
i
b
b
b
b
)3(
)2(
)1(
ˆ
j
j
j
j
s
s
s
s
ij
ijij
ij
jiijiijiij
ij
jiijiijiij
ij
jiijiijiijij
nsbAbAbA
sbAbAbA
sbAbAbAf
)2(ˆ)2()2,2()3()2,3()1()2,1(
)3(ˆ)2()3,2()3()3,3()1()3,1(
)1(ˆ)2()1,2()3()1,3()1()1,1(
Defining variables:
Minimizing the Loss Function, Cont.
2,3
23
2,3
23
2,3
23
2,3
23
2,3
23
2,3
23
2,3
23
2,3
23
2,3
23
1,3
13
1,3
13
1,3
13
1,3
13
1,3
13
1,3
13
1,3
13
1,3
13
1,3
13
2,2
22
2,2
22
2,2
22
2,2
22
2,2
22
2,2
22
2,2
22
2,2
22
2,2
22
1,2
12
1,2
12
1,2
12
1,2
12
1,2
12
1,2
12
1,2
12
1,2
12
1,2
12
2,1
21
2,1
21
2,1
21
2,1
21
2,1
21
2,1
21
2,1
21
2,1
21
2,1
21
1,1
11
1,1
11
1,1
11
1,1
11
1,1
11
1,1
11
1,1
11
1,1
11
1,1
11
)3(ˆ)3()2(ˆ)3()1(ˆ)3()3(ˆ)2()2(ˆ)2()1(ˆ)2()3(ˆ)1()2(ˆ)1()1(ˆ)1(
)3(ˆ)3()2(ˆ)3()1(ˆ)3()3(ˆ)2()2(ˆ)2()1(ˆ)2()3(ˆ)1()2(ˆ)1()1(ˆ)1(
)3(ˆ)3()2(ˆ)3()1(ˆ)3()3(ˆ)2()2(ˆ)2()1(ˆ)2()3(ˆ)1()2(ˆ)1()1(ˆ)1(
)3(ˆ)3()2(ˆ)3()1(ˆ)3()3(ˆ)2()2(ˆ)2()1(ˆ)2()3(ˆ)1()2(ˆ)1()1(ˆ)1(
)3(ˆ)3()2(ˆ)3()1(ˆ)3()3(ˆ)2()2(ˆ)2()1(ˆ)2()3(ˆ)1()2(ˆ)1()1(ˆ)1(
)3(ˆ)3()2(ˆ)3()1(ˆ)3()3(ˆ)2()2(ˆ)2()1(ˆ)2()3(ˆ)1()2(ˆ)1()1(ˆ)1(
sbsbsbsbsbsbsbsbsb
sbsbsbsbsbsbsbsbsb
sbsbsbsbsbsbsbsbsb
sbsbsbsbsbsbsbsbsb
sbsbsbsbsbsbsbsbsb
sbsbsbsbsbsbsbsbsb
A
Jacobian matrix:
Determining attitude from the transformation matrix:
Minimizing the Loss Function, Cont.
5.04 )3,3()2,2()1,1(1
2
1ijijij AAAq
)2,3()3,2(4
1
41 ijij AA
)3,1()1,3(4
1
42 ijij AA
qq )1,2()2,1(
4
1
43 ijij AA
Minimizing the Loss Function Cont.
S/C actual quaternion
GPS 1, GPS 2, & S/C IJK vectorsOrbit
Propagators (3)
Attitude Propagator
InitializationProgram
IntegerResolutionProgram
GN/GNLM
Program
Transformationmatrix/ quaternions
3 integerphase differences
3 noisyPhase
measurements
Results
Initial Guess # Iterations Method % Error
Identity matrix 100 GNLM 94.34
Identity matrix 100 GN 217.88
Actual 100 GNLM 468.47
Actual 100 GN 26.15
Actual 10 GN 243.82
Conclusions Significant errors caused by several
factors GN/GNLM intended for vectors of
parameters, not vectorized matrix Use of constant to prevent singularities Linear receiver arrangement Only 2 sightlines used (minimum of 4
available) GN/GNLM sensitive to measurement
errors
Conclusions, Cont.
ALLEGRO remains most accurate GN/GNLM with modifications may
or may not perform better
Recommendations Use matrix for singularity avoidance Determine better method for comparing
results of matrix calculations (compare entire matrix, elements thereof, or a combination of both)
Integrate integer resolution algorithm into GN/GNLM algorithm
If cannot use GN/GNLM, incorporate integer resolution algorithm into ALLEGRO algorithm
Questions?