Pergamon PII:
www.elsevier.cotn/locatelactaastro
Stand-alone
Spacecraft
Acta Astronaurica Vol. 51, No. 1-9, pp. 261-268.2002 0 2002 Published by Elsevier Science Ltd Printed in Great Britain SOO94-5765(02)00038-3 0094-5765/02 $ - seefront matter
Attitude Determination Data from UOSAT-12
Dr Martin Unwin, P.Purivigraipong
Using Real Flight GPS
Alex da Silva Curiel, Prof. Martin Sweeting
Surrey Satellite Technology Ltd Surrey Space Centre University of Surrey Guildford, Surrey GU2 7XH, UK Tel:+44
1483 689278 Fax: +44 1483 689503 internet:
[email protected] W: httdiwww.sstl.co.uk
launched on the 2 1‘I April 1999 on a converted SS18 ICBM (Dnepr) from the Baikonur Cosmodrome (Khazakstan) into 650 km, 64.5 degree inclination orbit. The spacecraft is three-axis stabilised and carries various of remote sensing instruments, attitude determination and control, propulsion, onboard data handing, and communication experiments. The on-board attitude sensors include: three 3-axis magnetometers; four 2axis analogue sun sensors; a 2-axis infrared horizon sensor; two star sensors; and a solid state angular rate sensor.
ABSTRACT This paper presents the results of an experimental attitude determination system employing GPS (Global Positioning System), using phase difference data logged in orbit on the UoSAT-12 minisatellite, which was launched in 1999. The basics described, algorithms based on other based
of GPS attitude determination are and two attitude determination are described and compared: one least squares estimation, and the on Kahnan Filtering.
Figure 1 shows the mechanical outline of UoSAT-12. The drawing on the left hand side shows the attitude sensors around the attach fitting on the -Z facet Four GPS antennas are mounted on this space facing facet. The drawing on the right hand side shows the Earth observation communication camera and antennas on the +Z facet, which is nominally nadir pointing.
The algorithm developed for resolving integer ambiguities in the carrier phase differences is tested to achieve instantaneous attitude from a set of only four measurements collected from two antenna baselines. A quaternion estimator based on a standard extended Kalman filter (qEKF) uses all GPS measurements to enable continued attitude determination taking into account the spacecraft dynamics. The attitude information derived from on-board magnetometers and a horizon sensor is used to evaluate the results of GPS attitude determination. Most recently, the LSQ attitude algorithms have been demonstrated in orbit and compared with the qEKF method. 0 2002 Published by Elsevier
Science
Ltd. Figure 1. Mechanical sketch ofcoSAT-f 2
UoSAT-12 also carries the SGR-20 (Space GPS Receiver), which was developed by SSTL with support from ESA ESTEC. The receiver comprises a 24-channel C/A code correlator and four RF front ends, and is designed not only to offer time and position, but also attitude.
INTRODUCTION The UoSAT-12 minisatellite, designed built at the Surrey Space Centre (UK)
and was
261
262
52nd IAF Congress
The principle
of GPS attitude
determiaaticja
The principle of GPS attitude determination is to observe the carrier phase difference in the navigation-signals emitted by a satellite within the GPS constellation, and to determine the path difference between antennas separated by a set of orthogonal baseline lengths. This principal is illustrated in Figure 2. For each GPS antenna, the received carrier phase signal is measured at the phase centre of antenna itself. A relative phase difference between the received signals from two antennas is defined by the carrier phase difference, 9 (in radians). If the length of baseline vector, I, is larger than one carrier wavelength of GPS Ll frequency (1.57542 GHz), there is a fundamental ambiguity in the measured phase difference which can only be resolved with further information. Due to the nature of the GPS signal structure, it is possible to measure phase differences of a number of different GPS ambiguity satellites, which improves resolution.
intermediate frequency (IF) and then sampled into a 2-bit digital signal. The chip generates a against which the reference GPS code, digitised signal is correlated and synchronised, thus decoding the GPS signal. Optimal operation of the GP2021 is achieved using the ARM60B, the central microprocessor used in the SGR. A schematic of the SGR payload is shown in Figure 2, and a more detailed description presented in [l] The UoSAT-12 SGR-20 is split into two logical processing chains. A total of 5 antennas are connected to four front ends, and feed into two correlators, each of which can deal with up to 12 channels. A microprocessor is used to control operation and in its operational life the receiver functionality has been upgraded many times due to the capability to upload new improved software.
Figure 2. Schematic of SGR-20 receiver
Figure 2. Principle of GPS afftiude measurement The
complete information for GPS attitude sensing can be explained from geometry. A projection of the baseline vector on the line-ofsight vector the GPS satellite is defined a single path difference, r (in length unit). This can be expressed in a simple formula
VA, r=2n+nA,,
=Icos(a)
Software enables the control of the antenna configuration and channel allocation for when the receiver is operating both autonomously, and under manual user control. Antennas are configured such that channels allocated to the single ‘MASTER’ antenna are used for extracting GPS signals used in the navigation algorithm, whilst channels allocated to other ‘SLAVE’ antennas, tracking the same GPS satellite, are used to obtain differential carrier phase measurements. Following initial demonstration of basic receiver positioning, software was tested that enabled the simultaneous operation of multiple antennas and to recover differential phase measurements from these antennas. GPS Attitude
Here n is an integer. In practice, multipath, static phase differences in different RF paths, and dynamic phase differences due to thermal and other differential effects in components cause small errors in the measurements.
SGR-20
ATTITUDE
GPS
RECEIVER
SGR-20 is based on the Mite1 semiconductor (formally GEC Plessey) GP2000 chip-set. Using the GP2010 chip, the received GPS signal is down-converted to
The
Sensing Platform
The SGR-20
payload is designed to carry out both on-board positioning and attitude determination. The four patch GPS antennas form a near-coplanar baseline configuration on the space pointing facet of the spacecraft. The carrier phase of Ll GPS signals can be measured at each of the four antennas allowing phase differences to be recovered directly. Figure 3 shows the antenna GPS2 visibility and its surroundings and it can be seen that there are many nearby protrusions that may affect phase measurements, The fourth space-
52nd
pointing antenna GPS4 is mounted lower than other antennas and closer to the facet. This may result in poorer visibility of the sky and even larger multipath effects.
IAF
263
Congress
two
non-collinear baselines estimate initial attitude.
is required
to
Initially, the line bias error in measurements collected from the common pair of antennas is removed by differencing the measurements. Three double path differences and differenced line-of-sight vectors are derived. The concept of Part-I is to search for each baseline-pointing vector in an inertial reference frame. A key parameter is the known baseline length. Since three double differences are made, then three unknown differenced integers are introduced. Figure 1. Vmbhiy of henna
GPS.?
Figure 4 shows the location of the antennas with respect to the UoSAT-12 body-defined coordinates. The vector coordinates between antenna GPSl and antenna GPS2 define baseline-#l. Similarly, the pair of antennas GPSl and GPS3 is used to define baseline#2, and the pair of antennas GPSl and GPS4 for baseline-#3. The lengths of b,, bz, and b, are 6.5 cm, 65 cm, and 85 cm respectively.
Given a set of trial differenced integers, the pointing vector can be estimated. The correct solution is supposed to be somewhere in a sphere with radius of know-n baseline length. However, it is possible that a wrong pointing direction may have a length close to the correci solution. Therefore, in this part, the niost likely poirrting vectors in descending order of goodness of tit are listed. A criterion of fit is the difference between the known length and estimated length. Using a 65 cm baseline onboard UoSAT-12; there are 13 possible wavelength integers (-6 to +6) from a double phase difference given by one pair of GPS satellites (whereas -3 to +3 from a single phase difference). Therefore, the total number of trials for a set of three differenced line-of-sight vectors is 13’ = 2197 trials. In this research, a new approach is proposed to reduce the number of trials.
+‘,\ Figure 2. Geomeby of anfenna baseline configuration
Algorithm
descriDtion
The initial attitude acquisition relies on resolving integer ambiguity. A new block ambiguity search has been developed to resolve integer ambiguities. Testing of the four parts is performed to estimate and verify the initial attitude solution. The basic concept is described here, with a more detailed description of the mathematics contained in Ref [2]. Part I: Findine Possible Pointine of Individual
Rnsclinc
In each single time frame observation, a set of at least 4 GPS measurements sampled from
The GSO (Gram Schmidt Orthonoxmalisation) procedure is applied to make three orthonormal axes from the original differenced line-of-sight vectors. The estimated pointing vector can be reformulated in a linear combination form of three orthonormal axes with scalar coefficients. The differenced integers appear in each scalar coefficient. Analytically, the third differenced integer is not independent but can be computed by giving the fust two differenced integers. Therefore, the search space is dramatically reduced to 13’ = 169 hials. One consideration is the selection of an optimal geometry of GPS satellites. The knowledge of position geometric dilution of precision (PDOP) from the navigation solution can be used as this is simpler than finding ADOP. The minimum figure of PDOP indicates that the selected group of tracked GPS satellites gives the best geometry. The optimal PDOP factor is given by
52nd IAF Congress
264
PDOP,,,, = min &ce(“‘“)-’ Here the orthogonal procedure.
(1)
V matrix consists of the three vectors computed from the GSO
The initial line bias error for each individual baseline four can be estimated from measurements using a block bia:s search [ 3 I.
Part II: Findiw Possible Candidate Set
(2) ‘OD
The known length between two actual baselines in the body frame is a key parameter in Part II. Taking a set of two vectors, one from each list in Part I, the estimated length between these chosen vectors is computed and compared to the known length.
(3) SOD
For each tested set, this length is combined with two tits from lists in Part I to yield an overall figure of goodness of tit. After testing all combination of sets, the most likely of candidate sets in descending order of overall goodness of tit are listed. This list is regarded as the third list. Part 111: Solvine for Attitude
For each candidate
set of two vectors,
the
estimated attitude matrix, A , can be computed using a new attitude determination method [2]. Consequently, an overall likelihood, J, of each candidate set is also tested in least squares sense.
(2) The test is repeated for all candidate sets. The most likely candidate sets in descending order of overall likelihood are listed. This list is regarded as the fourth list. Part IV: Historical Test
It is most likely that the fust choice of the fourth list is the correct solution of pointing vectors in the reference frame. However, occasionally, due to measurement errors, the correct solution may not be at the top of the fourth list. From tests with real data, the correct solution is within the top 5 of the fourth list. To verify and reject the wrong solution, the historical test is performed. The concept of the historical test is to monitor and test all possible routes of possible solutions for a certain period, for instance 5 solution is minutes, the correct until confirmed. This is the only stage of the initialisation process that can be affected by attitude dynamics of the spacecraft.
,
(3) ’
(4) _sOD
]
where b,, is
a
-_(d) _‘R\. _
_
estimated
k’%
pointing
vector,
and p0 is a estimated initial line bias Since the initial attitude, A,,
is derived
from
the initial attitude acquisition, it is not necessary to search all possible integers of k. From Eq. (3), for each integer k, there are three possible integer numbers once the estimated integer 0 is computed. Therefore, only 81 trials of a set of four integers k will be tested. In each trial, a goodness of fit, g, can be tested in the least mean squares criterion.
II
g= i&&b,,
II’g= II&-A;b,, II’ (4)
Similarly, the short list is generated in descending order of goodness of fit. The frost choice in the list is most likely to be the nearest solution to the true pointing, and the nearest solution of estimated line bias is then found. Figure 3 shows a diagram of fine attitude and fine line bias estimations for each data set of measurements sampled at one time. The knowledge of attitude and line bias from the initial acquisition is required only at the first epoch of operation. Once the knowledge of attitude and line bias is provided, the path difference including full integer cycles can be recovered, and fed into the extended Kalman filter (EKF).
265
52nd IAF Congress
The filtering estimator is implemented to estimate spacecraft attitude and its dynamics. The state vector of the developed quatemionbased EKF (qEKF) estimator consists of four quatemion parameters and three angular rates. To cope with spacecraft dynamics, the moment of inertial tensor of spacecraft and torques generated by actuators and wheels are modelled to estimate the rate of change of angular velocity. The advantage of the developed qEKF estimator is that the attitude in any orientation or large angle maneuver can be determined. , In general, the EKF estimator uses past information to propagate the state vector and covariance matrices. Therefore, it is possible that the filtering may diverge if some bad measurements have been used. To prevent the recovered path filter divergence, differences must continue to be checked for cycle slips. The developed estimator has an integrity check to prevent filter divergence in severe circumstances. A detailed description is given in [4]. Once the fine attitude is has been estimated by the qEK_F estimator, a recursive least squares technique (RLS) is then used to feed back an improved estimate of the line bias for the next epoch. The RLS estimator also determines the variation of the line bias with time. The estimation within the RLS algotitbrn is similar to other standard filtering techniques. A detailed description of the mathematics is presented in [4].
IN-ORBIT
RESULTS
Although most techniques presented here have been demonstrated autonomously on-board, most of the results presented in this section have been ground processed, as this has allows full performance evaluation of the algorithms.. A preliminary batch comprising 25 minutes of GPS phase difference measurements was taken on 13* August 1999, which allowed the algorithms to be refined and the final software to be completed. Following a campaign of autonomous orbit determination and control experiments, a further set of GPS attitude data was recovered in January 2000, which allowed basic attitude reconstitution on the ground. After some further development, the receiver was finally operated in July 2000 to test out on-board attitude determination. During some of the GPS data logging, UoSAT-12 attitude several undertook manoeuvres, in order to enable the resolution of GPS attitude under different conditions to
be evaluated. The manoeuvres include a rapid roll in pitch of 20” to represent a slew that might be required for camera pointing, and also several complete yaw rotations at around 7 degrees per minute to represent the slow rotations of a gravity gradient stabilised satellite. Figure 4 shous the number of phase difference measurements made over time. The maximum possible number is 18, which uses all of the SGR’s 24 channels to take 6 phase differences from each of three baselines. It can be seen that 18 measurements are often achieved, but that the average is around 15. For single axis attitude determination between baselines bl and b2, simultaneous measurements peak at 12, with an average of around 9. , S Stan Tim: GPS week 1044; GPS second384824.60 . L... ._ .m. .-: .__.
16..
-:e-i. .: .-.L-:.. :.
.._ ._
I
_ -.s
160
I80
.
.._a. . . _ ._ _ . . . ~ f ,a-- ..-:-. ._*._:...*.: .._. -I...--_-.-~...-_-. . . .._._ we g ,* __... ,i.:-.__~,.t.~...i.,~_ ...~~..... *-- -- _ . ..._.__._. / -_-_: _.. . . -./ 5 1 ,o_. ‘f’__. j- + . _ _. . .I. I . ’ ., ._ .; .: . ._ -_..-...! E $ 8__ ” ..__. _~,.,.i_.T-lr,.._~.___~.~_~.._~., i ‘__ _. . . .. I . : 9‘6-z 4 -------‘------------i------:--------------.--------------------‘ I__ ._._;___.._..__;.._._. j._._.__.............................. f .3 basclma * 2 baselines i 04 I 0 F&we
20
40
60
a0 loo I20 Time (minutes)
140
200
4 Number of Phase Difference Measurements for 2 and 3 baselines (GpO11301)
Initial measurements such as those shown in Figure 5, have allowed the line bias drift and typical offsets to be estimated. Using this information an algorithm was developed to determine line bias adaptively using information from several satellites. o,,.
Son Tii:
GF5 week IOU: GPS sccmd 384824.60 .-’
a,
0.08 .0.06 -f
f
0.04 .-
8
F?: 0.02 0.00.’ g a.02 -f L
li
J* ’
I I
-0.06 --
?’
.-
//”:
0
IO
-0.10
I
:
-0.04 --
6.08
i
.,
. j
. estimatedpathdiL
! ,::’
/;
sv PRN 16
. ,naswcd~thdiff
:
i
%
; ,’ 20 Tii
,;T /c
,z
JO (minuta)
40
Figure 5 Esfimaled and measured phase difference allow fine bias to be estimated
By resolving the ambiguities, the on-board measured attitude as output from an extended Kalman filter can be compared with the attitude reconstituted from the GPS phase measurements. A basic least-squares point attitude determination algorithm is used. On-
SO
266
52nd IAF Congress
board attitude [Roll, Pitch, Yaw] is measured to an accuracy of [0.2, 0.2, 1.0’1 3-sigma whilst nadir pointing, and 1So in all axis when off pointing more than 5” from nadir. Figure 6 shows the roll axis residuals are within 0.5’ (1 sigma)
the LSE solution. This IS primarily due to initialisation advantages of the EKF during short periods for which no measurements can be maintained. for instance due to temporary signal obstruction.
Tlmc ,mlnurcr~ Figure g Yaw errors during yaw manceuwe
The same measurement was performed during a 20-degree pitch manoeuvre in order to determine the robustness of the algorithm. The results in Figure 7 and Figure 8 show that the errors remain small during the entire manoeuvre. The Least Square Estimate and Extended Kalman Filter algorithms are compared, and show little difference. The most significant difference is that the Kalman filter is able to continue to operate during the final pitch slew, whereas the LSE does not have sufficient measurements. Also it can be noted that the offset in the ADCS and Kalman filtered roll is slightly less, presumably due to a better line-bias determination.
920
940
960
980 ,Mm ,020 Time(mm”tcs, Figure 10 Yaw errors during yaw manoewre
(LX).
tc4
1060
&SE).
In this study, the results from a least squares estimator (LSE) are compared to the results from a Kalman filter using downloaded flight data, and the LSE is tested within the GPS receiver in orbit. Although the Kalman filter appears to produce slightly better results, both types of estimators have their merits. The least squares estimator is a deterministic estimator and so should not need prior measurements to come up with a solution. In practice this is not strictly true, as the wavelength integers must be known before a solution can be made. However, if the integer problem can be solved, the LSE will permit fklly independent GPS attitude solutions to be made each epoch. Apart from the antenna baseline, no knowledge of the satellite’s configuration, mass, or dynamics is required, and the same GPS receiver may be used in any space application with the same software. On the negative side, the least squares estimator requires at least 4 measurements to be sure of a solution, and it is not able to coast through times when fewer measurements are available.
A yaw manoeuvre shows similar results, with a significant advantage to the EKF solution over
The Kalman filter on the other hand can operate through data outages and continue to provide an propagated attitude estimate for a short time with no measurement data. The Kalman filter could potentially be finely tuned to get far more accurate results from the GPS data based on knowledge of the satellite’s
,080
261
S2nd IAF Congress
attttude dynamics. However, Kalman filters are notoriously dependent on imtialisation, if the dynamics models are mcorrect. the results may diverge, or provide an inaccurate attitude solution. The Kalman filter is not so easy to apply generally, as stabilisation mode must be known, and moments of inertia, and ideally, torques from actuators are required. Arguably, both estimators could be used. The LSE should operate in the GPS receiver, while the Kalman filtering should take place in a centralised location where data from other sensors can be included. The Kalman filter can use the LSE solution to help with initialisation, and the phase differences to refine the solution in a manner optimised for the particular satellite.
back-up attitude operation.
sensor
for
safe
mode
In this study, the results from a least squares estimator (LSE) are compared to the results from a Kalman filter using downloaded flight data, and the LSE is tested within the GPS receiver in orbit. Although the Kalman filter appears to produce slightly better results, both types of estimators have their merits. Two estimators are tested and each has been demonstrated to have its own merits, and there is a case to use a combination of these for a wide range of routine or safety critical applications.
ONGOING
WORK
CONCLUSIONS In this study, flight GPS data from the UoSAT-12 spacecraft has been used to recover attitude using new developed algorithms. The integer ambiguity problem has been shown to be resolved without attitude knowledge. The developed algorithms for resolving integer ambiguity resolution, line bias estimation and filtering estimator have been tested with flight GPS data from UoSAT- 12. This study has shown that attitude can be determined using only three GPS antennas, and has also demonstrated the capability of SSTL’s new SGR Space GPS receiver for both positioning and attitude determination. UoSAT-12’s horizon sensor is believed to be accurate to approximately 0.2’ (3 sigma), and so the evidence suggests that the GPS attitude solution is generally accurate to better than 2’. The data appears to be self-consistent to a level of 1”. This is without any error mitigation for multipath or other effects, and so refinements of the software may allow the receiver to achieve sub-degree accuracy in the future. Attitude has been successfully recovered from measurements taken during pitch and yaw manoeuvres of -20” and 360” respectively. processing and multipath mitigation, it is quite feasible that the GPS receiver on UoSAT-12 This level of accuracy already has potential application, for example, in augmenting and improving a magnetometer-based attitude determination system. Indeed the GPS attitude sensor will allow operation in eclipse and sunlight, and allows instantaneous Earth Referenced attitude to be determined. Any improvement of the accuracy would fmd new applications. The demonstration of the LSE success shows that GPS attitude determination may find a valuable role as an independent
Reference Solution; The ADCS solution provided by UoSAT-12 continues to improve in accuracy as more sensors are incorporated into the final solution. Most recently, the UoSAT-12 sun-sensors have been calibrated in-orbit and incorporated in the solution to give an improved attitude solution. Work is underway to commission the star sensor which should ultimately produce the best reference attitude information for future GPS data logging experiments. Quality of data: Efforts are being directed now to improve the quality of data collected from the UoSAT-12 GPS receiver. The tracking loops and satellite allocation routines can be improved to give more measurements, fewer outages and outlying points. This is required in order to make the whole process more robust in orbit, but it will also make the attitude solution more consistently accurate. Accuracy improvement: The 1” accuracy demonstrated by GPS may be improved by using a number of techniques, some of which can be applied to UoSAT-12 as it is in orbit. One is the use of multipath mitigation such as the application of a techniques, calibration table which has been derived in orbit. In orbit tests: In-orbit tests using the SGR will continue both for logging more data and to demonstrate new attitude algorithms. UoSAT12 has shown itself to be the best in-orbit test facility for space-borne GPS attitude determination. Full integration: When the onboard GPS attitude determination has proven its reliability, it may be integrated into the ADCS attitude determination algorithm on UoSAT- I2 further strong attitude to provide a
268
52nd IAF Congress
measurement to increase overall robustness and accuracy. Increasing confidence should eventually make GPS a candidate for a low cost back-up or even primary attitude sensor on future satellites. REFERENCES
Navigation Symposium 2000, San Diego, CA, March 2000. [3] Purivigraipong, S., Hodgart, M.S., Hashida, Y., Unwin, M.J., "New Approach to Achieving Stand Alone GPS Attitude Determination using Dual Short Baselines for Small-Satellite", Proceedings of the 13th Annual AIAA/USU Conference on Small Satellite, Logan, Utah, August, 1999.
[1] Unwin, M.J., Oldfield, M.K., Purivigraipong, S., Hashida, Y., Palmer, P., Kitching, I., "Preliminary Orbital Results from the SGR Space GPS Receiver", Proceedings of ION GPS-99, Nashville, September, 1999.
[4] Purivigraipong, S., Hashida, Y., Unwin, M.J., "GPS Attitude Determination for Microsatellites", Proceedings of ION GPS-99, Nashville, September, 1999.
[2] Hodgart, M.S., Purivigraipong, S., "New Approach to Resolving Instantaneous Integer Ambiguity Resolution for Spacecraft Attitude Determination Using GPS Signals", IEEE Position Location and
[5] Steyn, W.H., Hashida, Y., "In-Orbit Attitude and Orbit Control Commissioning of UoSat- 12", Proceedings of the 4'h ESA International Conference on Spacecraft Guidance, Navigation and Control System, ESTEC, Noordwijk, October, 1999.