13.07.2015 Views

small satellite attitude control based on a kalman filter

small satellite attitude control based on a kalman filter

small satellite attitude control based on a kalman filter

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SMALL SATELLITE ATTITUDE CONTROLBASED ON A KALMAN FILTER *ROBERT CLEMENTS, PEDRO TAVARES, PEDRO LIMAInstituto de Sistemas e Robótica, Instituto Superior TécnicoTorre Norte, Av. Rovisco Pais, 1-1049-001 LisboaFax: +351 218418291, E-mail: pal@isr.ist.utl.ptAbstract: This paper describes the development of an Extended Kalman Filter<str<strong>on</strong>g>attitude</str<strong>on</strong>g> estimator and its implementati<strong>on</strong> in a <str<strong>on</strong>g>small</str<strong>on</strong>g> <str<strong>on</strong>g>satellite</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> loop. Sensormodels have first been added to an existing <str<strong>on</strong>g>satellite</str<strong>on</strong>g> simulati<strong>on</strong>. The <str<strong>on</strong>g>attitude</str<strong>on</strong>g> andangular velocities are estimated from the available sensors and methods of tuningthe <strong>filter</strong> <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> Genetic Algorithms are discussed. Simulati<strong>on</strong> results arepresented for the estimator algorithm used with different <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> algorithms.Key Words: Extended Kalman Filter, Genetic Algorithms, Sun Sensor,Magnetometer, Small Satellites.1. INTRODUCTIONSmall <str<strong>on</strong>g>satellite</str<strong>on</strong>g>s have gained increased popularitysince the early eighties, due to their relative low costand fast turn-around time (from c<strong>on</strong>tract to launch).Nevertheless, this comes at the cost of less powerfulsensors and actuators, as well as reducedcomputati<strong>on</strong>al power, due to size and weightlimitati<strong>on</strong>s. Am<strong>on</strong>g other sub-systems, the AttitudeDeterminati<strong>on</strong> and C<strong>on</strong>trol System (ADCS) isaffected by this trade-off, leading to morechallenging <str<strong>on</strong>g>attitude</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> and determinati<strong>on</strong>problems. The <str<strong>on</strong>g>attitude</str<strong>on</strong>g> is described by the rotati<strong>on</strong> ofthe <str<strong>on</strong>g>satellite</str<strong>on</strong>g> body frame w.r.t. a local orbital coordinateframe.The purpose of this work was to develop an <str<strong>on</strong>g>attitude</str<strong>on</strong>g>estimator for <str<strong>on</strong>g>small</str<strong>on</strong>g> <str<strong>on</strong>g>satellite</str<strong>on</strong>g>s and to test it within the<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> loop in a simulator. This was d<strong>on</strong>e in threeparts: i) development of realistic simulati<strong>on</strong>s of the<str<strong>on</strong>g>satellite</str<strong>on</strong>g>’s sensors; ii) development of an <str<strong>on</strong>g>attitude</str<strong>on</strong>g>estimator algorithm; iii) integrati<strong>on</strong> of the estimatorand the <str<strong>on</strong>g>attitude</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers previously developed inthe closed loop. The complete system is shown inFig. 1. A detailed descripti<strong>on</strong> of the <str<strong>on</strong>g>satellite</str<strong>on</strong>g>simulator and <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers is given in references [1][4], [5] and [6].SIMULATIONOFMAGNETORQUERSCONTROLALGORITHMSATELLITE SIMULATORSATELLITEATTITUDEDYNAMICSATTITUDEESTIMATORSIMULATIONOFSENSORSSystems described in this paper.Fig. 1 - Satellite closed loop <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> simulator.The <str<strong>on</strong>g>small</str<strong>on</strong>g> <str<strong>on</strong>g>satellite</str<strong>on</strong>g> PoSat-1 was used as a case study.PoSat-1 is a 50Kg micro-<str<strong>on</strong>g>satellite</str<strong>on</strong>g> launched in 1993as a technology dem<strong>on</strong>strati<strong>on</strong>. Throughout thiswork it is assumed that the system is beingdeveloped for this <str<strong>on</strong>g>satellite</str<strong>on</strong>g>. Nevertheless, the ideasand methodologies can be adapted to other <str<strong>on</strong>g>satellite</str<strong>on</strong>g>c<strong>on</strong>figurati<strong>on</strong>s. In Secti<strong>on</strong> 2 the realistic sensorsimulati<strong>on</strong> is described. Secti<strong>on</strong> 3 goes through theparticularities of using an Extended Kalman Filter* This work is supported by PRAXIS XXI program project PRAXIS/3/3.1/CTAE/1942/95 and by a grantfrom the Imperial College of Science and Technology, L<strong>on</strong>d<strong>on</strong>, UK.


for <str<strong>on</strong>g>attitude</str<strong>on</strong>g> estimati<strong>on</strong>. The <strong>filter</strong> tuning <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong>Genetic Algorithms is covered in Secti<strong>on</strong> 4. Theresults of closed loop <str<strong>on</strong>g>attitude</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> with andwithout the estimator for three different <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>algorithms are discussed in Secti<strong>on</strong> 5. The paperends with c<strong>on</strong>clusi<strong>on</strong>s and prospects for future work,in Secti<strong>on</strong> 6.and the vector to the Sun is less than the angle of theradius of the Earth as seen from the <str<strong>on</strong>g>satellite</str<strong>on</strong>g>. Theangle of the radius of the Earth is pre-calculatedwithin the simulator from the orbit altitude, so canbe c<strong>on</strong>sidered known at all time.2. SENSOR SIMULATIONTwo PoSat-1 sensors are available for <str<strong>on</strong>g>attitude</str<strong>on</strong>g>estimati<strong>on</strong>: the magnetometer and the sun sensor.The magnetometer measures the geomagnetic fieldvector and the <str<strong>on</strong>g>attitude</str<strong>on</strong>g> is determined by comparingthis vector with the expected geomagnetic field atthe current orbital locati<strong>on</strong>, <str<strong>on</strong>g>based</str<strong>on</strong>g> <strong>on</strong> the widely usedIGRF model [8]. Therefore, the sensor reading canbe simulated by rotating the current geomagneticfield vector into the <str<strong>on</strong>g>satellite</str<strong>on</strong>g> co-ordinate system(SCS) [5].The Sun sensor measures the relative Sun and<str<strong>on</strong>g>satellite</str<strong>on</strong>g> locati<strong>on</strong>s from the angle of incidence of thesunlight <strong>on</strong> the sensor. From the knowledge of theSun and spacecraft orbital locati<strong>on</strong>s, the current andexpected measurements can be compared todetermine the <str<strong>on</strong>g>attitude</str<strong>on</strong>g>. PoSat-1 has two Sun sensorswith each sensor having two channels. Both sensor’sfield of view lie in the x-y plane, <strong>on</strong>e looking in thepositive y-directi<strong>on</strong>, the other in the negativex-directi<strong>on</strong> (in SCS).A number of comm<strong>on</strong> Sun sensor designs are givenin [8]. PoSat-1 Sun sensors layout is that shown inFig. 2. Each sensor c<strong>on</strong>sists of two light sensitivecells, therefore producing the two-channel output.Each cell is angled to the horiz<strong>on</strong>tal as shown in thefigure. To implement this design it is necessary todetermine the geometry of the sensor (i.e. angles αand β). Two key characteristics in the telemetry datafrom PoSat-1 allow these angles to be determined.These are that both channels of the sensor startreading at the same time and that <strong>on</strong>e channel startsreading at a n<strong>on</strong>-zero, positive value. The <str<strong>on</strong>g>satellite</str<strong>on</strong>g>technical documentati<strong>on</strong> also states that the field ofview should be ±60 0 . To satisfy these requirementsα=β=30 o . This design is just shown in twodimensi<strong>on</strong>s. In three dimensi<strong>on</strong>s the surroundingstructure would provide a similar ±60 o view limit.Field of View Limited providedby Surrounding StructureLight Sensitive CellsαFig. 2 - Sun Sensor DesignThe simulator must also c<strong>on</strong>sider the possibility ofthe Earth being between the <str<strong>on</strong>g>satellite</str<strong>on</strong>g> and the Sun.This case is simply detected by calculating if theangle between the vector to the centre of the EarthβField of View LimitFig. 3 - Comparis<strong>on</strong> of Telemetry and simulati<strong>on</strong>It is clear from the telemetry that the value of outputfrom the sensors when they can’t see the Sun varies.Initial thought might suggest that the off value of thesensor should always be zero. However, it wasrealised that this variati<strong>on</strong> was due to the sensorpicking up sunlight reflected from the Earth. So, ifthe <str<strong>on</strong>g>satellite</str<strong>on</strong>g> is over the dark side of the Earth, the offvalue will be zero, if it is over the lit side it will havea slightly increased value. The magnitude of thisincrease will depend <strong>on</strong> factors like weatherc<strong>on</strong>diti<strong>on</strong>s, current altitude and whether the <str<strong>on</strong>g>satellite</str<strong>on</strong>g>is over land or sea. The ‘off’ value over the lit sideof the Earth has thus been modelled using a randomnoise signal which gives values similar to those seenin the telemetry.Fig. 4 - Comparis<strong>on</strong> of Telemetry and Simulati<strong>on</strong>Comparis<strong>on</strong> of the output from the simulator withtelemetry data from PoSat-1 can be seen in Fig. 3and 4. Figure 3 shows a comparis<strong>on</strong> for <strong>on</strong>e orbit(showing just <strong>on</strong>e channel). It can be seen that realand simulated data are very similar. The differencesin number and magnitude of each peak are due todifferences in <str<strong>on</strong>g>attitude</str<strong>on</strong>g> and spin rate of the <str<strong>on</strong>g>satellite</str<strong>on</strong>g> inthe simulati<strong>on</strong> and in reality. The <str<strong>on</strong>g>attitude</str<strong>on</strong>g> of PoSat-1is not known exactly so it is not possible to get thesimulator to have exactly the same results. Themodelling of the off-value can also be seen in thisfigure. Figure 4 shows the comparis<strong>on</strong> of <strong>on</strong>e- -


4. ESTIMATOR TUNINGThere are three matrices used within the estimatorthat must be determined before it can be used. Theseare P o (7x7) – the covariance of the error in the initialstate, Q (7x7) – the covariance of the system modelerror, and R (3x3 or 6x6) 1 – the covariance of themeasurement error. We have chosen to tune thesecovariance matrices instead of making them matchsensor noise characteristics, so as to improve closedloop <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> performance.Initially it would seem that there are 77 parameterswhich need to be determined (noting that covariancematrices are always symmetric). To simplify theproblem, various parameters within each matrix canbe grouped by assuming that the error covariance inthe terms will be the same. For example, it isreas<strong>on</strong>able to assume that the covariance of theerrors in the Ω x and Ω y terms will be the same. TheΩ z term may to different because it involves the spinof the <str<strong>on</strong>g>satellite</str<strong>on</strong>g>.This grouping can reduce the total number ofparameters to 32. The P matrix can be tunedseparately from Q and R because P <strong>on</strong>ly effects theinitial transient errors. Q and R can be tunedignoring transient effects, therefore reducing theproblem further.Because of the multi-parameter, n<strong>on</strong>-linear, multiminimumnature of this optimisati<strong>on</strong> problem alogical approach was to use a genetic algorithm(GA) [3]. A standard GA has been used, withchromosomes c<strong>on</strong>taining all the elements of theestimator covariance matrices. Each populati<strong>on</strong> wasevaluated by simulating each chromosome over anumber of orbits and evaluating a cost functi<strong>on</strong>c<strong>on</strong>taining the average estimator error. Newpopulati<strong>on</strong>s were generated using mutati<strong>on</strong>s andcrossover with parents being selected using aroulette wheel selecti<strong>on</strong> process. This is a veryeffective method of tuning the estimator although,due to simulati<strong>on</strong> time, it can be very slow.Table 1 - Estimator Accuracy ResultsMeanStandardDeviati<strong>on</strong>WorstPointingError (deg)0.58 0.56 1.72Spin RateError, %0.39 0.37 1.23The best average estimator results, shown in Table1, were obtained in closed loop using a predictive<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler, described in the following secti<strong>on</strong>, over anumber of orbits. These results were obtained over1 The R matrix size changes depending <strong>on</strong> whetherthe Sun sensor is included or not.twenty simulati<strong>on</strong>s each ten orbits l<strong>on</strong>g withdifferent starting c<strong>on</strong>diti<strong>on</strong>s.5. CLOSED LOOP CONTROLThere are three <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers of interest that areavailable within the simulator: the Predictive<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler [4], the Energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler [9] and theAlpha-Beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler [7]. The predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lerattempts to predict, for all possible actuati<strong>on</strong>s, thechange in angular velocity of the <str<strong>on</strong>g>satellite</str<strong>on</strong>g> if thatactuati<strong>on</strong> was applied. It then determines which ofthese will cause the greatest reducti<strong>on</strong> in the<str<strong>on</strong>g>satellite</str<strong>on</strong>g>’s kinetic energy. As a result, a time-varying<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> law is applied. The energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler uses the<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> lawcccm( t)= h Ω ( t)× B(t), (8)cowhere h is a positive c<strong>on</strong>stant. The alpha-beta<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler is the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler currently used <strong>on</strong> PoSat-1. It uses the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> lawcm z⎛ dβdα⎞= k⎜− ⎟ , (9)⎝ dt dt ⎠where α is the angle between the z-axis of the OCSand the expected geomagnetic field and β is theangle between the z-axis of the OCS and themeasured geomagnetic field. The alpha-beta<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler does not require an estimator. Both thePredictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler and the Energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler can<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> the spin of the <str<strong>on</strong>g>satellite</str<strong>on</strong>g> as well as the <str<strong>on</strong>g>attitude</str<strong>on</strong>g>,while the alpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler <strong>on</strong>ly <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>s <str<strong>on</strong>g>attitude</str<strong>on</strong>g>.These <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers are described and theirperformance without an estimator compared in detailin [5].To compare the effectiveness of the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers andestimator in the loop, twenty simulati<strong>on</strong>s, each tenorbits in durati<strong>on</strong> with varying starting c<strong>on</strong>diti<strong>on</strong>s,were made. The results presented below are averageresults from these tests, where spin <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> as well as<str<strong>on</strong>g>attitude</str<strong>on</strong>g> stabilisati<strong>on</strong> were envisaged. Since thealpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler can not <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> spin, a differenttest with no spin <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> required was used to makecomparis<strong>on</strong>s with this <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler.To check the effect of the estimator <strong>on</strong> the energyand predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers, tests were first c<strong>on</strong>ductedwithout the estimator. Table 2 shows results for thepredictive and energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers.Table 2 – Simulati<strong>on</strong> Results without EstimatorSettlingTime to 5 o(orbits)PointingAccuracy(deg)Spin RateAccuracy(rad/s)Energy(Joules)PredictiveC<strong>on</strong>troller2.40 1.86 4.6x10 -5 2.70x10 5EnergyC<strong>on</strong>troller2.75 1.85 8.8x10 -4 2.56x10 5- -


Comparing the performance of the two <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lerswithout the estimator, both have very similar results.C<strong>on</strong>sidering the standard deviati<strong>on</strong>s of theseaverages (not shown here) the slight differences areinsignificant. This is true with the excepti<strong>on</strong> of thespin rate accuracy where the predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler isc<strong>on</strong>siderably better.Table 3 – Simulati<strong>on</strong> Results with EstimatorPredictiveC<strong>on</strong>troller(without SunSensor)PredictiveC<strong>on</strong>troller(with SunSensor)EnergyC<strong>on</strong>troller(with SunSensor)SettlingTime to 5 o(orbits)PointingAccuracy(deg)Spin RateAccuracy(rad/s)Energy(Joules)8.76 3.22 1.3x10 -4 3.84x10 59.18 3.14 1.2x10 -4 4.09x10 52.74 2.04 6.5x10 -4 2.70x10 5Table 3 shows the results for the two <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lerswith the estimator included. This table also showsthe results for the estimate with and without the sunsensor, for the predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler.Looking at the effect of the estimator <strong>on</strong> thepredictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler, the pointing accuracy hasdeteriorated from ≈1.8 o to ≈3.2 o . Similarly, the spinrate accuracy has been halved. The energyc<strong>on</strong>sumed has also increased slightly. C<strong>on</strong>sideringthe effect of the estimator <strong>on</strong> the energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler,the reducti<strong>on</strong> in accuracy is much <str<strong>on</strong>g>small</str<strong>on</strong>g>er. Pointingaccuracy is reduced from ≈1.8 o to ≈2.0 o . Spin rateand energy c<strong>on</strong>sumed are not significantly affected.Thus, comparing the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler + estimatoralgorithms, the energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler is better frompointing accuracy, rapid settling and energystandpoints. However, the predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler stillhas a better spin rate accuracy.Table 4 – Comparis<strong>on</strong>s to Alpha-Beta C<strong>on</strong>trollerAlpha-BetaC<strong>on</strong>trollerPredictiveC<strong>on</strong>trollerEnergyC<strong>on</strong>trollerTuned PredictiveC<strong>on</strong>trollerSettlingTime to 1 o(orbits)PointingAccuracy(deg)EnergyC<strong>on</strong>sumed(Joules)No Settling 1.26 3.20x10 34.00 0.14 1.66x10 50.80 0.01 2.51x10 51.80 0.02 7.67x10 3For a <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler + estimator algorithm to be usedwith PoSat-1, it must perform better than its currentalpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler. In Table 4, results of thealpha-beta, predictive and energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers arecompared with no estimator in the loop and no spin<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>. The alpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler does not requirean estimator and can not <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> spin, hence thethree <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> algorithms were compared under thesame circumstances.The energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler clearly has the best pointingaccuracy and settling time. However, the energyc<strong>on</strong>sumed is c<strong>on</strong>siderably larger than that used bythe alpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler. The predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>leroutperforms the alpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler regardingpointing accuracy and settling time, but energyc<strong>on</strong>sumpti<strong>on</strong> is high too. This shows that, to useeither the predictive or the energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler theirenergy c<strong>on</strong>sumpti<strong>on</strong> must be reduced. Both thepredictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler and the energy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lerc<strong>on</strong>tain a number of parameters that can be adjustedto change their performance. To improve the overall<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler + estimator performance, the estimatorand the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler parameters can be tuned togetherin closed loop. Only limited explorati<strong>on</strong> of this sortof tuning has been possible during this work, but thelast row of Table 4 shows results that were obtainedafter the predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler was tuned to reduceenergy c<strong>on</strong>sumpti<strong>on</strong>. Comparing these to the alphabeta<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler results, the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler now usessimilar energy but with a pointing accuracy about 50times better. It is also noticeable that these accuracyresults are better than the pre-tuning <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lerresults. Furthermore, it should be noted that theenergy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler was tested with unrestrictedactuators, while the predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler usesrestricted actuators. N<strong>on</strong>etheless, their performanceunder such distinct c<strong>on</strong>diti<strong>on</strong>s is similar. Usually, theenergy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler produces bad results withrestricted actuators.6. CONCLUSIONS AND FUTURE WORKA Kalman Filter <str<strong>on</strong>g>attitude</str<strong>on</strong>g> estimator usingmagnetometers and sun sensors has been developedand implemented showing, in realistic simulati<strong>on</strong>s, apointing accuracy of ≈0.6 o and a spin rate error of≈0.4%. A genetic algorithm has been used to tunethe Kalman <strong>filter</strong> estimator. With the estimator inthe loop the system worked best with the energy<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler where there was an accuracy loss of <strong>on</strong>ly0.2 degrees. With the predictive <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler the dropin performance was nearly 1.4 degrees. The obtainedresults suggest that these <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers outperform thebenchmark alpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler regarding accuracy.Further work <strong>on</strong> closed loop tuning could reapsignificant rewards. It has been shown that tuningthe <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers can make major improvements inareas like energy c<strong>on</strong>sumpti<strong>on</strong> and pointingaccuracy. Another important area not c<strong>on</strong>sidered sofar is the processing time required by the estimatorand <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler. On a <str<strong>on</strong>g>small</str<strong>on</strong>g> <str<strong>on</strong>g>satellite</str<strong>on</strong>g> it is important tominimise the computati<strong>on</strong> effort that is required to<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> the <str<strong>on</strong>g>attitude</str<strong>on</strong>g>. Currently the predictive andenergy <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers with the estimator use about threetimes more CPU time than the alpha-beta <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler.One potential method to reduce the computati<strong>on</strong>effort associated to the estimati<strong>on</strong> would be to- -


linearise the equati<strong>on</strong>s of moti<strong>on</strong> about a number ofkey <str<strong>on</strong>g>attitude</str<strong>on</strong>g>s and then use a gain scheduling<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler to determine the moti<strong>on</strong> between theselinearised points. At the moment the equati<strong>on</strong>s arelinearised at every time step, a time c<strong>on</strong>sumingprocess. In a real <str<strong>on</strong>g>satellite</str<strong>on</strong>g>, the <str<strong>on</strong>g>attitude</str<strong>on</strong>g> perturbati<strong>on</strong>from the stabilised positi<strong>on</strong> will be <str<strong>on</strong>g>small</str<strong>on</strong>g>, and so few<str<strong>on</strong>g>attitude</str<strong>on</strong>g> way-points would be required to achieveaccurate results.REFERENCES[1] Bak, T., Blanke, B., Wisniewsky, R., Astolfi, A.,Spindler, K., Tavares, P., Tabuada, P., Lima, P. (2000),"Satellite Attitude C<strong>on</strong>trol Problem", in COSY Book,Springer-Verlag.[2] Bar-Itzhack, I.Y., Oshman, Y. (1985), "AttitudeDeterminati<strong>on</strong> from Vector Observati<strong>on</strong>s: Quaterni<strong>on</strong>Estimati<strong>on</strong>", IEEE Transacti<strong>on</strong> <strong>on</strong> Aerospace andElectr<strong>on</strong>ic Systems, Vol.21, No.1, pp 128-135.[3] Goldberg, D. (1989), Genetic Algorithms in Search:Optimisati<strong>on</strong> and Machine Learning, Addis<strong>on</strong>-Wesley.[4] Tabuada, P., Alves, P., Tavares, P., Lima, P. (1999) "APredictive Algorithm for Attitude Stabilisati<strong>on</strong> and SpinC<strong>on</strong>trol of Small Satellites", Proc. of the EuropeanC<strong>on</strong>trol C<strong>on</strong>ference (ECC’99), Karlsruhe, Germany.[5] Tabuada, P., Alves, P., Tavares, P., Lima, P. (1998),Attitude C<strong>on</strong>trol Strategies for Small Satellites, Institutefor Systems and Robotics internal report RT-404-98.[6] Tavares, P., Sousa, B., Lima, P. (1998), "A Simulatorof Satellite Attitude Dynamics", Proc. of the 3 rdPortuguese C<strong>on</strong>ference <strong>on</strong> Automatic C<strong>on</strong>trol, Vol. II, pp.459-464, Coimbra, Portugal.[7] Ong, W. T. (1992), Attitude Determinati<strong>on</strong> andC<strong>on</strong>trol of Low Earth Orbit Satellites, MSc Thesis, Dept.of Electric and Electrical Engineering, University ofSurrey, U.K.[8] Wertz, J.R. (1990), Spacecraft Attitude Determinati<strong>on</strong>and C<strong>on</strong>trol, Kluwer Academic Publishers.[9] Wisniewski, R. (1996), Satellite Attitude C<strong>on</strong>trol using<strong>on</strong>ly Electromagnetic Actuati<strong>on</strong>, Ph.D. Thesis, Dept. ofC<strong>on</strong>trol Engineering, Aalborg University, DanmarkAPPENDIX AExtended Kalman Filter Algorithm [2]1) Calculati<strong>on</strong> of Kalman GainT−[ H P H ] 1TKk + 1= Pk+ 1 / kHk + 1 / k k + 1 / k k + 1 / k k + 1 / k+ R (10)where K k+1 is the Kalman Gain Matrix (7x3), P k+1/k isthe perturbati<strong>on</strong> covariance matrix (7x7) at time k+1given the measurements at time k, R is themeasurement error covariance matrix (3x3) andH k+1/k is a (3x7) matrix defined as follows:[ h h h ]Hk + 1 / k= 03x31 2 3h4(11)dD(qˆk)where hi= borb,k + 1, q ˆikdqˆ,is the i th estimatedi,kcomp<strong>on</strong>ent of quaterni<strong>on</strong> q at time k and b orb,k+1 isthe model magnetic field vector (in OCS) at timek+1.2) Update the Stated z K ( b − D b ) (12)ˆk+ 1 / k + 1=k + 1 meas,k + 1×orb,k + 1ˆ ˆ ˆk + 1 / k + 1= zk+ 1 / k+ dzk+ 1 / k + 1z (13)z ˆ + /wherek 1 kis the estimated state vector at timek+1 given the measurements at k,x y zz = [ Ω] TsiΩsiΩsiq1q2q3q4b meas,k+1 is the measurement magnetic field vector (inxSCS) at time k+1, Ωsiis the x comp<strong>on</strong>ent of theangular velocity in SCS w.r.t. ICS and D is therotati<strong>on</strong> matrix from OCS to SCS as defined below:2 2 2 2⎡qˆ− ˆ − ˆ + ˆ+− ⎤1, 2, 3, 4,2(ˆ ˆ ˆ ˆˆ ˆ ˆ1, 2, 3, 4,) 2( ˆkqkqkqkqkqkqkqkq1,kq3,kq2,kq4,k ) (14)⎢D = ⎢ 2(ˆ q ˆ − ˆ ˆ1, kq2,kq3,kq4,k)⎢⎣2(ˆ q ˆ1, 3,+ ˆ ˆkqkq2,kq4,k )2−qˆ1,+ ˆkq2(ˆ q qˆ2, k22, k3, k2 2−qˆ3,+ ˆkq4,−qˆqˆ)1, k4, kk2(ˆ q ˆ2, kq2 2−qˆ−qˆ1, k3, k2, k⎥+ qˆˆ1, kq4,k) ⎥2 2+ qˆ+ ˆ ⎥3, kq4,k ⎦3) Update the Covariance MatrixThe perturbati<strong>on</strong> covariance matrix is updated using(16) where H k+1/k+1 is calculated from (12) exceptthat the quaterni<strong>on</strong>s at time k+1 are used instead ofat time k.T T[ I −KH ] P [ I −KH ] K RKPk+ 1 / k+1 (7x7) k+1 k+1/ k+1 k+1/ k (7x7) k+1 k+1/ k+1+k+1 k+1= (15)4) Propagate State Vectork + 2z ˆ2 / 11( ˆˆk + k + =∫fk+zk+ 1 / k + 1,k + 1) dt + z (16)k + 1 / k + 1k + 1⎡ Ω ⎤wheresif+zˆk 1(k + 1/ k + 1,k + 1) = ⎢ ⎥ ,⎣ q⎦q = Ωq , and Ω si= I [ ngg+ nctrl− Ωsi× ( IΩsi)]−1(n ctrl is the <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> moments vector).2n [ ] Tgg= 3ωo( Ix− Iz) D33− D23D130zy x⎡ 0 Ω⎤so− ΩsoΩso⎢ zx y ⎥1 ⎢−Ωso0 ΩsoΩsoΩ =⎥2 ⎢ yxzΩ − 0 ⎥soΩsoΩso⎢⎥x y z⎢⎣− Ωso− Ωso− Ωso0 ⎥⎦xD ij is an element of D and Ωsois the x comp<strong>on</strong>ent ofangular velocity in SCS w.r.t. OCS.5) Propagate the Perturbati<strong>on</strong> Covariance MatrixTPk + 2 / k + 1= Φk + 2 / k + 1Pk+ 1 / k + 1Φk + 2 / k + 1+ Q , (17)where Q is the system error covariance matrix,Φ I + F zˆ, k 1)∆tk + 2 / k + 1=(7 x7)(k + 1 / k + 1+ ,⎡δΩ⎤siF( zˆk + 1 / k + 1,k + 1) δz= ⎢ ⎥ ,⎣ δq⎦δ Ω = I−1 δn− δΩ× IΩ− Ω × IδΩ,siδn gg[ ]ggis given byδngg= 6ωo ( I x− I z).⎡−Dˆ33qˆ4+ Dˆ23qˆ1⎢. ⎢ Dˆ33qˆ3− Dˆ13qˆ1⎢⎣− Dˆ33qˆ3+ Dˆ23qˆ2− Dˆ33qˆ4− Dˆ13qˆ2sisi2(18)− Dˆ33qˆ2− Dˆ23qˆ3Dˆ33qˆ1+ Dˆ13qˆ3sisi− Dˆ33qˆ1− Dˆ23qˆ4 ⎤⎥− Dˆ33qˆ2+ Dˆ13qˆ4⎥δq⎥⎦⎡ qˆ4− qˆ3qˆ2 ⎤⎢⎥1δ q = Ωsiδq+ βδΩsi, ⎢qˆ3qˆ4− qˆ1β =⎥ .2 ⎢−qˆˆ ˆ ⎥2q1q4⎢⎥⎣−qˆ1− qˆ2− qˆ3 ⎦- -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!