Acta Asfronaufica
Pergamon www.elsevier.com/locate/actaastro
Vol. 47, Nos. 2-9, pp. 139-146. 2000 0 2000 Elsevier Science Ltd
All rights reserved Printed in Great Britain OW4-5765/CKl$ - seefront matter
PII: SOO94-5765(00)00053-9
A GPS Based Attitude Determination Algorithm For The Spin-Stabilized Microsatellite UNISAT Paolo Tortora Scuola di Ingegneria Aerospaziale Universita degli Studi di Roma “la Sapienza” Via Eudossiana 16 - 00184 Roma - Italy e-mail:
[email protected]
LIST OF SYMBOLS
ABSTRACT
~1,p = orientation angles of angular momentum vector = angular rate component along the z-body axis = nutation angle ; = spin phase angle 00 = nutation phase angle VO = angular momentum vector lOY = inertial nutation rate = body nutation rate ak 1.i = moment of inertia along the body axis k = transverse moments of inertia IT = baseline vector b e^ = line of sight unity vector antenna - GPS satellite c,. c2, cj = inertial reference frame y,, y2, y3 = angular momentum reference frame i, j, k = body reference frame
GPS receivers for attitude determination have been The typical used in several satellite missions. configuration exploits the carrier phase differences among four GPS antennas and estimates the attitude achieving accuracy of 1 deg or better. For spinning satellites it has been shown that GPS based attitude determination is possible using only two antennas. This simplifies the attitude estimation algorithm, avoiding to solve for the so-called integer ambiguity, and to take into account the line-bias. Several methods have been proposed in the literature to estimate the attitude of a spinning spacecraft: most of them make use of a two-stage procedure where, first the spin and nutation frequencies are determined, then they are used in the second step, to estimate satellite’s attitude. In this paper a different approach is presented. A Recursive Least Square algorithm is implemented to fit the so-called displacement vector, computed making use of the double-differenced phase measurements, to an analytically predicted function. It allows to estimate at once six independent parameters which define the spinning motion properties. This paper deals with an application of this GPS based attitude determination algorithm to the design of the attitude determination system of the University of Rome microsatellite UNISAT. The angular momentum direction is determined to within 10.’ deg, spin and nutation rates to within 10m5rad/s, and phase to within IO.’ deg. 0 2000 Elsevier Science Ltd. All rights reserved.
1. INTRODUCTION GPS-based attitude determination systems have been already successfully implemented on Earthpointing gravity-gradient stabilized spacecraft’-2. An accuracy of less then 1 deg has been achieved using a four coplanar antennas configuration: phase difference measurements between antennas, from two or more satellites, form the basic observable for the attitude estimation algorithm. In 1992 Martin-Neira and Lucas proposed? a GPS based attitude determination algorithm for spinning satellites. This method uses a Fast Fourier Transform (FFT) analysis to estimate spacecraft spin and nutation rates, and nutation and angular momentum orientation 139
angles, from a single GPS antenna baseline. Tripledifferenced phase data are the basic observable. In Ref. 4 a wide comparison of several attitude estimation algorithms for spinning satellites i\ presented, both through computer simulations and experimental ground tests. It is pointed out that two different steps arc needed for complete attitude determination: frequency and attitude estimation techniques were separately investigated. A batch processor, making use of the autoregressivc (AR) method to estimate frequencies, seems to he the most appropriate
algorithm
to cstimatc
satellitc*s
attitude.
although long data vectors arc required to reach accuracy to within I()~’ tad/s for frequencies. and IO-’ deg for attitude angles. The limits of this methods arc the amount of memory necessary to store the collected data and the long computation time. An improvement is hcrc achieved
hy a recursive
algorithm which estimates at once frequencies and attitude of a spinning satellite. The double-differenced phase measurements. formed by incoming signals from at lcast three GPS satellites, are used to compute the so-called inertially
Figure
1: The microsatellite
UNISAT
referenced displacement vector S!J, (f, j dcfmed subtracting the baseline vector at time I, , , h, (ri , 1. IO the baseline vector at time I, . h, (t, ) It forms the basic observable for a Recursive Least Square algorithm,
Satellite attitude is here assumed as a torque-fret motion where the angular momentum direction is namely constant and defined, in an inertial reference
where actual data are fitted to an analytically
frame, by the angles (Figure 2):
predicted
function of the state vector. Fast convergence and high accuracy of the proposed algorithm is shown in a variety of different situations. introduced
A fading memory scalar constant is also to allow the filter to track long term attitude
parameters drifts. This paper is organ&d as follows: first. a hricl description of UNISAT orbital and attitude dynamics is pointing out the simplifying modeling given, assumptions; then the concepts of GPS phase differcnce
r.
sen cx = (
I‘(.
; coscx=-~;
r,
cospz-
I
rc,
( I )
II
where:
r, = (r;,+I-;, )“? and Ci. CL, C,, and yi, yz, ys, are respectively and angular momentum reference frame.
the inertial
observations and displacement vector are recalled, and in next section the attitude determination algorithm is described. Finally the result ohtained by a computer simulation are shown and discussed. 2. LJNISAT DYNAMICS The microsatellite UNISATi , Figure I, is designed to be launched along a sun-synchronous near-circular orbit at about 800 km of altitude. It is spin stabilized. spin-axis normal to the orbital plane, and it has an active magnetic control system for spin axis orientation and spin rate control. Figure
2: Angular
momentum
reference
frame
141
SOth IAF Congress Assuming
the satellite as a rigid body represented
by the body-axis i, j, k, nutation motion can be described in the angular momentum reference frame by Euler angles 3-l-3, as described in Figure 3.
Figure 4: Geometry of GPS antennas The baseline vector b can then be expressed in the inertial reference frame by the following equation: (8)
b, = ‘W,bfi
where the matrices R,, and R, respectively rotate a vector from the body to the angular momentum reference frame, and from the angular momentum to the inertial frame. They are defined by:
Figure 3: Satellite nutation in angular momentum reference frame where: V==++W,, cp= alt + %I A = const.
(3)
I,
r
07 =--‘I, cosA
(5)
As it is known, attitude motion of a satellite can be described by six independent parameters: expressions ( 1 ) - ( 5 ) show that the torque-free dynamics of an axial-symmetric spinning satellite can be described uniquely by the six variables included in the state vector:
Let us consider now the baseline formed by two antennas mounted on the top surface of the satellite, as shown in Figure 4. Assuming that, in body reference, the baseline vector 6 is directed along the body i axis, we can write: b, =b;=[b
0 Or
(7)
where b is the fixed distance between the GPS antennas.
cucp
= c,psy,+ cAs,pc,,, i
(4)
--s,cp
VP - c,sa
SP
(9)
CP !
CJ,,’ - cAs,ps,,’ - S&,,, - cAc,DS,y SAS!,’ R,
and the following relations hold”:
c, &- = c 0 I
‘Asp
-
sBs,,,
+ cAcylc,,, ‘A$
-
‘A’,,, CA
(
lo
)
I
Equation ( 8 ) is the basic equation, used in the proposed algorithm, to get the function to be fitted to actual data in the Recursive Least Square estimator. 3. GPS PHASE DIFFERENCE OBSERVATIONS Computation of phase differences between two antennas, from one GPS satellite, is achieved by the following equation7: Act,=;.&n+1,,+v
(11)
where A@ is expressed in cycle fractions, e^ is the line of sight unity vector antenna - GPS sutellite, n is the integer ambiguity, /,, is the line bias, and v is the signal noise. Subtracting the A@ measurement at time t,_, from the analogous phase differences at time t, , a double-differenced phase measurement is formed: if the line of sight vector e^ is assumed to be constant between two measurements, and no cycle-slips happen, the following equation can be written: &A@@,) = A@@,) - A@@_,) = = at,)
6b, Or) + v(t, ) - v(t,_,1
(12)
142
50th IAF Congress
For equation ( 12 ) to be solved with respect to i%, (ti ) , phase data from three or more satellite must be taken. Assuming a zero mean Gaussian noise the leastsquare solution for equation ( 12 ) is?
where the angular momentum reference frame has been considered fixed between t, , and t, Equation ( I7 ) can be written in the form:
Sb,(f,) = ~(x,,t,,i,,/,,b) Sb, 0, ) =
(E.1 E)’E ’
(18)
where 3 is 3 non-linear function, product 01 trigonometric functions, equations ( 9 ) and ( IO ), and I, I4 and h are given. Equation ( I8 ) is the desired lunstion gl, which analytically relates the actual
where:
mcasurcments
p[e^’
p’
e^’
(14)
to the state vector xi, at a certain time t, :
g,
=5(x&)
( 19 1
and nz is the number of GPS satellite actually recerved over the time interval the basic observable
1, -I, , The quantity Sb,Ct, 1 ix in the attitude determination
algorithm described in next section. 4. ATTITUDE
DETERMINATION
The attitude determination estimator; the basic procedure
ALGORITHM
algorithm
this paper is based on a Recursive
proposed
in
Least Square (RLS)
2. compute gain matrix K, = PiG: (R, +G,P,Gr’) xI,, =xI +Kl(y,
’
-pi)
5. reiterate from step I. where g L is the vector of functions to be fitted. Gk is the matrix of derivatives of g, with respect to the state vector xk, Rk is the measurement noise covariance matrix, P,, is the error covariance matrix, yk IS the vector of actual measurements and h is the fading memory scalar factor. The measurement vector yI is formed by the three components of inertially referenced displacement vector 6b,(r, ) The functions to bc fitted g, and their derivatives Gk can be found as described below. Equation ( I3 ) shows that the GPS receiver can compute the displacement vector components in an inertial reference frame. Making use of equation t 8 ) we can now write an expression which relates these measurements to the state vector x. Equation ( X ) can be rewritten at time rig, and t, :
b, Cfl_,) = R,, (tr -/ JR, ([A ,YJH
( 15 ) (16)
b, (‘A) = R,, (fi )R, U, P, Subtracting ( 1S ) from ( 16 ) we get: ,)]bA
The irole of h is, in fact, to increase, at each iteration, the values of the covariance matrix Pk. thus increasing the gain matrix K1. This is needed to force the estimator to more then the previous “trust” the measurements
4. update matrix Pk+, =(I-K,G,)P,/h
6b,(r,)=K,,(t,)[R,(t,)-R,(t,
are given in Appendix
The fading memory scalar factor h, whose values arc m the range 0 < h I I , at point 4 of the RLS algorithm, allows for slow drifts in the state vector xi.
compute g, function and GI matrtx
3. updatestatevector
Details on these computations
is:
Seed with values of xI and PA I
We can now take the derivatives of g, with respect to the state vector xk, to compute the G,! matrix. Formally it is accomplished by:
( 17)
estimate. The choice of the right value of h is a keypoint to control the error in the estimates: on one side. values of h close to unity are desirable to allow the mvon~ing ejject on measurement errors to take place; on the opposite side, giving h a too high value might lead to divergence. In next section two different situations are analysed: in the first case, the proposed attitude determination algorithm is tested on a rorquefrep nutation motion; in the second example the algorithm uses simulated data of a perturbed motion. II IS shown that different values of h are needed to keep the error unhiuserf, and to bound the error covariancc matrix to within desired limits. In the computer simulations
shown in next section
the state vector estimate is initialized by results coming out from a batch run (using only the first 100 data) 01 the recursive algorithm proposed in this section. This values do not need to be precise for the recursive algorithm to be stable: errors up to about 30%, in the seeded estimate. have been proved to allow for fast convergence and small estimation errors in the steady state conditions.
50th IAF Congress
5. SIMULATION
0 12,
RESULTS
Simulated GPS data GPS data are generated simulating the satellite spinning motion along a sun-synchronous orbit at 800 km of altitude (inclination 98.6 deg). Exact phase differences values are formed simulating the GPS satellites constellation, and computing, at each instant, the line of sight unity vectors and the antenna baseline vector. Simulated noisy phase measurements are then generated by adding zero-mean Gaussian noise, with standard deviation of 5 mm*, to perfect phase data. GPS satellites visibility constraints are also taken into account. The following data are used to simulate the satellite spinning motion and the phase measurements: IJI,
= 1.3
r = n/6 radls
I
I,,__,,_._._, Time (minutes)
01212
Figure 7: Estimate of angular rate component r /I
A= 1”
108-
b = 0.28 m
106
Torsue-free motion Satellite attitude motion is a regular nutation along a sun-synchronous orbit; the angular momentum vector direction is constant and normal to the orbital plane. It is defined by the angles: n=45”,
p=98.6”
Spin and nutation phase angles (q,, w,,) are set to 90 deg and the fading memory term h is set to 1 (the state vector is known to be constant). The following figures show the state vector components estimates, obtained by simulation data along one orbit; dashed lines represent the “true” values.
Figure 8: Estimate of A angle
:
Figure 9: Estimate of cpO phase angle
Figure 6: Estimate of p angle
Figure 10: Estimate of y. phase angle
144
50th IAF Conpxs
Figures 5-10 show high stability and convergence speed in the state vector estimates; the error covariance matrix Pk is a 6x6 diagonal matrix initialized as follows: PI = diag(2*IOi) The following results:
Table
table
summarizes
the numerical
4.2968*10-*
9.7808*10-’
3.1395*10-’
7.9101*lo7
3.9923*10-’
6.3866* IO-’
/
I .2603* IO-’
8.6822*10’
1
7.6958*10-
7.5028*10’
/
1.0024*102
1
1: Estimates
in torque-free
motion
rms errors simulation
Perturbed motion Satellite attitude motion ih again a nutatlon along a sun-synchronous orbit but some terms in the state vector are no longer constant; to take into account the orbital plane rotation due to JZ effects, the angular momentum vector direction is now controlled and maintained normal to the orbital plane. It is defined by the angles:
q = 45” and &x/it : O.YX”/day. Spin and nutation phase angles (cpli\IJJ arc set to 90 deg. The fading memory term h is designed to keep the error covariance matrix trace to a minimum. Figure 11 shows different performances obtained by the same recursive filter where only the fading term h has been changed. It is clear that the “best” filter is obtained for values of h close to 0.995: higher values yields to biased estimates (divergence), while giving h a lower value makes the estimates more affected by measurement noise. Figures 12-17 show the state vector components estimates, obtained by simulation data along one orbit: h is now set to 0.995 and dashed lines again represent the “true” values. where
II ‘I
I IC
1:
30
1
I
45
50
Figure
11
14: Estimate
of angular
29
0
70
11: Filter performances
vs. different
h values
80
let
4”
10
20
30
40
rate component
(&mt~~)
70
Time
Figure
I
,
ao
Time (minutes)
Figure
15: Estimate
of A angle
8”
10
r
‘L’
50th IAF Congress
14s
6. CONCLUSIONS A GPS based attitude determination algorithm for the spin-stabilized microsatellite UNISAT has been proposed. Two different tests have shown good performances in both torque-free and perturbed motion simulations: the angular momentum direction is determined to within 10m2deg, spin and nutation rates to within IO-’ rad/s, and phase to within 10“ deg. This method is suitable for implementation on board of small satellites, where computing time is a central issue, as well as on satellites with stringent constraints on attitude 0
10
20
30
40
50
10
TO
80
90
1w
Time (minutes)
estimation accuracy.
Figure 16: Estimate of cpO phase angle APPENDIX Computation of Gk matrix terms The matrix Gk is formally constituted by:
G, =
-0I
10
20 I
30 I6
40
50
60 I
70
80
90
I
103
Time (minutes)
Figure 17: Estimate of yOphase angle The error covariance
We now expand equation ( 19 ) using expressions ( 17 ) and ( 7 ). We can write:
matrix Pk and the state vector
estimate are initialized by the same method used in the torque-free motion simulation. Figures 12- 17 again show high convergence speed and stability of the steady state solutions. Figure 12, in particular, demonstrate that setting the fading memory term h to 0.995, represents a good compromise between having an unbiasedestimate (no divergence from the “true” values), and filtering out the measurement noise (still visible in the random behavior of the estimates). Table 2 summarizes the perturbed motion simulation results.
and defining the vector
we get:
Table 2: Estimates rms errors in perturbed motion simulation
As an example, we now get the expressions of the derivatives of g, , with respect to the state vector x.
146
g
50th IAF Congress
= b(-d,s, - d2C,C,]+ d&J
a-bds4 33 2
,
REFERENCES
s +dscJaP ) z u’p
= b c, ad, _ s,ca % + s, so !?!$ or ar i c3d, add, - s,cp A + s, sp A ric l?A 2dq adz c, 7ad, - .~
a=b %,I
ad i3d c,-_Ls,cB~+s,sB-_ aw,, aw,,
i3d aYJ,,,
I Lightsey E.G., Cohen C.E., Feess W.A., Parkinson B.W., - Analysis of Spacecraft Attitude Measurement.c Using Onbord GPS - Advances in the Astronautical Sciences, Vol.86, edited by R. Culp and R. Rausch, Univelt, S. Diego, CA, 1994, pp. 521-532 1
Cohen C.E., Lightsey E.G.. Parkinson
B.W., Feess
W.A.. - Space Flight Tests of Attitude Determination I1sin.g GPS - International Journal of Satellite Communications, Vol. 12, 1994, pp. 427-433 3 Martin-Neira Determination
M.,
Lucas
R.,
-
GPS
Attitude
of
Proceedings
Spin Stabilized Satellites of ION GPS-92, 1992, pp. 757-765
4
P., Behere
Axelrad
C.P..
-
Attitude
-
E.stimation
where the derivatives
Algorithms for Spinning Satellites Using Global Positioning System Phuse Data - Journal of Guidance,
ad, 3 I% ’ .‘.’ &+I(,
Control, and Dynamics, pp. 164-169
(i = I ,2.3)
are computed making USCof equations (A.2), ( 4 1. ( 5 ) and ( 6 ). We write, as an example, the first term:
Vol. 20, No. I, Jan-Feb
1997,
5 GraLiani F., Teofilatto P., Santoni F., Palmerini G. B.. Ferrante M., Secca S., - The Microsatellite Progrum at IJniversitZI di Romu “lu Sapienza” - IAA-97- I I. I .03. 4X”’ International Astronautical Congress, 1997, Turin, Italy 6 Wertz, J. R. (ed.), Spacecraft Attitude Determinatior~ crnd Control, D. Reidel Publishing Company Boston U.S.A., Reprint 1986 7 Cohen Positioning Parkinson Washington
where we have defined:
C. E. - Attitude Determination, in Global System: Theon’ and Application - edited by B. W. Spilker J.J., AIAA Publications, DC, 1996
X Kaplan E. D. CInderstanding GPS: principles applicutions - Artech House, London, 1996
A=-r
t, +q+)
und