A self-calibration algorithm for satellite sensors based on vector observations
Introduction
The recent development of small satellite technology allowed such spacecraft to accomplish missions that were once only delegated to big and expensive platforms. Today, there are examples of CubeSats gathering scientific data [1] and recording Earth images for many applications [2]. This kind of system is only justified if its price can be kept low. If attitude estimation is necessary, a set of Sun sensors and magnetometers is usually employed, since high precision devices such as star trackers are still too expensive [3], [4], [5]. It is also possible to include a low-cost MEMS-based gyro that can maintain the attitude during a small period [3], [4], [5].
The integration process for small satellite sensors and actuators, especially CubeSats, usually does not have the same accuracy as the conventional space missions due to budget and physical constraints. Sometimes this leads to relatively high sensor misalignment and calibration errors [3]. For example, reference [6] mentions that alignment checks for CubeSats are only partially applicable, being required only for those more accurate sensors such as star trackers. Hence, it is paramount to the success of such missions with stringent pointing requirements that those error sources are mitigated through software processing of the measurements [3], [7].
The problem of estimating sensor misalignment and biases has been studied for quite a long time. Reference [8], for example, proposed an algorithm to compute the misalignment between sensors that provide vector measurements, but the performance is reduced if other errors such as bias or non-orthogonality are present. Reference [3] showed the improvements obtained by in-orbit calibration of sensors using ground-processing of the data. References [9], [10], [11], on the other hand, analyzed the problem of estimating the bias, scale-factor, and misalignment but only for magnetometers. Reference [7] provided an in-depth analysis of how Sun sensors and magnetometer measurements can be conditioned using a Kalman filter to estimate the spacecraft attitude accurately but neglected effects such as misalignment and non-orthogonality.
More recently, reference [12] proposed a hybrid approach in which an Unscented Kalman filter (UKF) is used with the TRIAD algorithm to simultaneously estimate the magnetometer errors and the satellite attitude. The estimation scheme was capable of reducing the attitude estimation error down to 0.5° using a magnetometer, a Sun sensor, and a gyro. However, the authors did not consider the misalignment between those sensors, which is often introduced by the integration process and can lead to significant errors [3]. Furthermore, they considered a very accurate Sun sensor to obtain an initial coarse attitude estimation using TRIAD and did not test the performance in different control modes. The latter is important because of the versatility of small satellites. The same platform can be used for different types of missions, requiring good performance for the attitude estimation when the satellite is pointing to Earth, inertial direction, or executing a maneuver.
This work extends the previous ones in the literature by providing a novel algorithm to perform the online, in-orbit calibration of the most common sensor errors added by the assembly and integration process: bias, misalignment, and non-orthogonality. The system is versatile since it calibrates any sensor based on vector measurements, such as Sun sensors and magnetometers, using measurements from a gyro and also provides an estimation of the attitude determination error. The new algorithm, called VASCO (Vector Alignment System for Calibration in-Orbit), uses the same principle as implemented in inertial navigation systems (INS) to correct the estimated attitude using non-inertial sensors [13], [14], [15], [16], [17]. It is essential to mention that the technique proposed here can be applied to any satellite with sensors based on vector measurements. However, the kind of errors we are dealing with is usually introduced by the integration process, and it is more prominent in small satellites when activities such as precise sensor alignment and calibration are difficult or even impossible to perform [3].
The attitude is determined by propagating the gyro measurements with an initial estimation obtained from the other sensor readings. Concurrently, the system error state model, which describes the dynamics of the selected errors, is estimated using a Kalman filter. When the filter converges, the error information is then used to correct the computed attitude. One significant advance over past algorithms is that the system can be linearized since the error dynamics is much slower than the attitude dynamics itself [18]. Thus, it is possible to use a standard Kalman filter, reducing the computational burden so that it can be embarked on the onboard computer, and the algorithm provides good accuracy even during attitude maneuvers. In this case, the linearization errors are reduced by using the updated attitude information to reset the linearization point in specific instants. Another improvement is that an attitude estimation is always available, even if the filter has not converged or during data shortages from the non-inertial sensors [19].
The system observability is analyzed with the assumption of piece-wise constant dynamics [20]. We provide geometrical requirements that, when satisfied, leads to a fully observable state. Under this condition, VASCO can successfully estimate the sensor errors and correct the spacecraft attitude estimation [21].
VASCO performance was numerically tested through a Monte Carlo simulation using a validated satellite simulator designed at the National Institute for Space Research (INPE). In this simulation, we used a gyro, a magnetometer, and a Sun sensor composed of six solar cells, each one positioned in one of the satellite panels, which is the most common configuration for CubeSats [3], [5], [22]. The sensor measurements were corrupted by noise, bias, misalignment, and non-orthogonality when applicable. The statistical results show that it significantly improves the attitude estimation even in scenarios with high sensor errors. We also verified that the additional computational workload required by VASCO considering all the attitude control functions is within the acceptable ranges to be embedded in computers usually found in small satellites.
Finally, the contributions of this work can be summarized as follows: 1) propose a new algorithm to estimate the most common sensor errors generated by the assembly and integration activities of a satellite; 2) analyze the system observability to obtain the necessary conditions that allow the filter to estimate the errors; and 3) verify the algorithm performance using a validated satellite simulator and considering realistic and worst-case scenarios.
Section snippets
Notations and abbreviations
AOCS Attitude and orbit control subsystem CSS Coarse solar sensor DCM Direction cosine matrix GCRF Geocentric celestial reference frame IGRF International geomagnetic reference field LTDN Local time at descending node RMSE Root-mean-square error ETH Control mode Earth pointing MAN Control mode maneuver In n × n identity matrix 0n n × n zero matrix 0n×m n × m zero matrix Matrix representation of the cross product v × x va Vector v represented in the reference frame a DCM that rotates the reference frame a into
Algorithm description
We propose an algorithm to estimate the attitude errors and the bias, misalignment, and non-orthogonality of any satellite sensor based on vector measurements when the information about the angular velocity is available from a gyro. The approach is similar to the inertial navigation problem aided by non-inertial sensors [13], [14], [15], [16], [17]. Fig. 1 shows the schematic of the VASCO algorithm.
A propagator computes the coarse satellite attitude estimation using the measurements of a gyro (
Observability analysis
Although some of the cited references mentioned observability issues, to the authors' best knowledge, a theoretical study about the observability of the attitude estimation problem with sensor errors has not been found. Reference [32] also mentioned the lack of study about the observability of this kind of application. The authors in [32] provided an observability analysis of the attitude estimation using Sun sensors and magnetometers when there are uncertainties in the spacecraft inertia.
Simulation and results
VASCO was tested using a validated simulator of the attitude and orbit control subsystem (AOCS) developed at INPE. The simulation scenario consisted of a satellite with a set of Sun sensors, a magnetometer, and a gyro.
The simulated satellite has two distinct operation modes. In the first one, called maneuver or MAN, the satellite attitude and orbit control system (AOCS) periodically changes the angular velocity, as shown in Fig. 5. This mode simulates attitude maneuver that some satellite must
Conclusion
The assembly process of a satellite introduces errors that degrade the attitude estimation performance. For big satellites with large budgets, the thorough integration process reduces such errors. However, for small satellites with a low budget, those activities may be prohibitive due to cost or physical constraints. Thus, those error sources must be estimated by software processing so that this kind of satellite can accomplish missions with stringent pointing requirements.
This work proposes a
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Acknowledgements
W.J.S. Marques thanks to CAPES/MEC (grant 88882.444545/2019-01).
T.A.M. de Carvalho thanks to CAPES/MEC (grant 88882.444549/2019-01).
G.M.C. Hott thanks to CAPES/MEC (grant 88882.444542/2019-01).
References (34)
- et al.
Flight results of a low-cost attitude determination system
Acta Astronaut.
(2014) - et al.
Analytical study of microsatellite attitude determination algorithms
Acta Astronaut.
(2015) - et al.
Attitude estimation and magnetometer calibration using reconfigurable triad+filtering approach
Aerosp. Sci. Technol.
(2020) - et al.
On the error state selection for stationary sins alignment and calibration Kalman filters – part I: estimation algorithms
Aerosp. Sci. Technol.
(2017) - et al.
The scintillation prediction observations research task (SPORT): an international science mission using a cubesat
- et al.
CubeSat image resolution capabilities with deployable optics and current imaging technology
- et al.
The ITASAT cubesat development and design
J. Aerosp. Technol. Manag.
(2017) Tailored ecss engineering standards for in-orbit demonstration cubesat projects
(2016)- et al.
Signal conditioning for the Kalman filter: application to satellite attitude estimation with magnetometer and sun sensors
Sensors
(2016) - et al.
Batch estimation of spacecraft sensor alignments I. Relative alignment estimation
J. Astronaut. Sci.
(1991)
TWOSTEP: a fast robust algorithm for attitude-independent magnetometer-bias determination
J. Astronaut. Sci.
Complete linear attitude-independent magnetometer calibration
J. Astronaut. Sci.
In-orbit magnetometer bias and scale factor calibration
Int. J. Metrol. Qual. Eng.
Corrections to navigation computation in terrestrial strapdown inertial navigation system
IEEE Trans. Aerosp. Electron. Syst.
Estimation with Applications to Tracking and Navigation
Feedforward INS aiding: an investigation of maneuvers for in-flight alignment
Sba Contr. Autom. Soc. Bras. Automat.
Observability analysis for the ins error model with GPS/uncalibrated magnetometer aiding
Cited by (6)
Surrogate model-based calibration of a flying Earth observation satellite
2024, Advances in Space ResearchAnalog sun sensor measurement correction using deep neural network
2023, Acta AstronauticaGlobal exponential angular velocity estimation of rigid-body spacecraft from quaternion and vector measurements
2021, Aerospace Science and TechnologyCitation Excerpt :Therefore, many researchers [8,13] are interested in a much simpler solution, that is, estimating angular velocity directly from vector measurements, which certainly saves time and numerical efforts, thus more easily to be implemented from an engineering perspective. Another explanation [13,22,23] of such motivation is that static attitude determination methods are more likely to be influenced by measurement noises, and they are not as efficient as dynamic attitude determination methods which invoke the outputs from gyros [24–26]. However, employing attitude determination is often more reliable for space applications because vector measurements may not always be consistent, e.g., the star tracker starts to blur with relative large angular velocity, and sun sensors may not provide correct readings in the eclipse.
A New Optimization-Based Attitude Estimator with a Closed form Solution Using Magnetometer and Gyro Data
2023, Iranian Journal of Science and Technology - Transactions of Mechanical EngineeringAn optimal calibration method for gyro and star sensor based on observability analysis
2023, Proceedings of the Institution of Mechanical Engineers, Part G: Journal of Aerospace Engineering