1. Introduction
Cube satellites (CubeSats) are being developed because they are capable of carrying out missions such as earth observation, astronomical physics etc., in place of large satellites [
1,
2]. Additionally, CubeSats which are predominant in the low earth orbit (LEO) have been considered to be key enablers in global coverage and connectivity [
3]. Furthermore, they use commercial off the shelf (COTS) components, which reduces development and production costs. A CubeSat is a standard cubic satellite with a side of 10 cm and a mass of approximately 1 kg. Large CubeSats can be built using several cubic units, for instance, 2, 3 and 6 unit CubeSat. CubeSats have increased access to space by providing low launch cost since they are a carried as secondary payloads in the launch vehicle. Although they are relatively cheap to produce and launch, they have limitations in size, weight, and power (SWaP) and this limits the size and performance of the subsystems [
4].
The attitude determination and control system (ADCS) is one of the satellite subsystems, and its key function is centered around steering the spacecraft to its intended orientation. The ADCS can further be divided into two subsystems; attitude determination and attitude control subsystems. The former uses sensors to compute the rotation of a rigid body about its center of mass (attitude) while the latter uses actuators to reorient the rigid body to the desired rotation. The desired orientation could be nadir pointing to allow ground stations to telecommand, or sun pointing to maximize power generation. It is evident in
Figure 1 that the attitude determination system (ADS) serves as a reference for control.
The ADS sensors are broadly categorized into reference and inertial sensors. The reference sensors provide directional measurements of the satellite regarding another celestial object in space, for instance, horizon sensors, sun sensors etc. [
4]. Inertial sensors are used to determine the rate of attitude change of an object about an inertial frame of reference [
5]. These sensors typically include gyroscopes, which are used to measure angular velocity. Since the ADS uses COTS components, the sensors are usually categorized by high noise levels, which affect the systems’ accuracy. The accuracy of CubeSat attitude estimation can also be influenced by the accumulated attitude error over time, which is caused by the drifts of the inertial sensors used.
The attitude determination or estimation algorithms are used to process sensor measurements to compute the attitude. The computed attitude can take several parameterizations, for instance, it may be described using Euler angles, quaternions, axis angle or directional cosine matrix (DCM) [
6,
7,
8]. However, minimal parameterization such as Euler angles, Rodriguez parameters and modified Rodriguez parameters (MRPs)are frequently avoided in filter designs for the global attitude because they can fall victim of singularities, but they are commonly used to define local error attitudes [
9]. The most popular attitude parameterization technique is the quaternion since they encounter no singularity problem.
The attitude determination algorithms or single frame methods use measurement vectors provided by reference sensors to calculate an object’s orientation instantaneously. These deterministic algorithms include triaxial attitude determination (TRIAD), Davenport’s q-method, quaternion estimator (QUEST) and single value decomposition (SVD) [
10,
11]. These deterministic methods have been well-defined in [
12], therefore we will not go into detail here. Attitude estimation algorithms make use of vector measurements, inertial measurements and previous attitude information to provide the current optimal attitude estimate. The estimation process can be divided into filtering of sensor measurements and computation of attitude from sensor observations [
13]. As stated in [
13,
14], the filtering process can be accomplished through various methods, such as particle filtering and derivatives of the Kalman filter.
It is common to couple a magnetometer and a sun sensor to measure attitude in small satellites such as CubeSat because each sensor cannot provide 3-axis attitude knowledge independently [
15,
16,
17,
18,
19]. When one vector is available, the satellite is free to rotate about that vector, thus, at least two vectors are used [
15]. When the satellite is in orbit, it passes through regions where the sunlight is blocked by the earth, referred to as eclipse phase. For low earth orbit satellites, they spend about 35 minutes of the orbital time in this phase [
20]. During this region, only one vector is available for computing the satellite’s attitude, resulting in high attitude error. The high attitude error affects attitude control accuracy, and this may result in loss of communication during overpasses. It is possible to use additional auxiliary sensors during this phase, but due to the CubeSat’s limited mass and volume, only minimal components are used.
In an attempt to make the attitude estimation process accurate during both sun and eclipse phase, several methods have been employed. Authors in [
21] propose the use of magnetic field derivatives as the second vector in the QUEST aided multiplicative EKF architecture to increase the accuracy of attitude estimation during the eclipse phase. Using only magnetometer measurements, the proposed method can estimate rough attitude and angular rate even during eclipse phases; therefore, it can also be used in case of gyroscope failure. In [
22], it was found that the SVD-aided EKF outperformed the traditional EKF during the eclipse phase. This improved performance was due to the capability of the SVD-aided EKF to adapt the measurement error covariance matrix (
) when the ADS lost sensor measurements. During the eclipse phase, when the satellite is in shadow and the reference sensors may not be providing reliable measurements, the SVD-aided EKF utilized an adaptation rule to update the
matrix. This adaptation allowed the filter to effectively account for the loss of sensor measurements and adjust the covariance matrix accordingly, leading to improved attitude estimation accuracy. This adaptive behavior of the SVD-aided EKF during the eclipse phase was found to be a significant advantage over the traditional EKF, which did not incorporate such adaptation. As a result, the SVD-aided EKF demonstrated superior performance in terms of attitude estimation accuracy during this challenging phase of the satellite’s orbit, as shown in the research findings by [
22]. In contrast, the research revealed that the SVD-aided EKF may exhibit poor performance over a longer period of time (e.g., over 1000 seconds) compared to the traditional EKF, particularly during extended eclipse phases. For instance, in the case of low Earth orbit (LEO) CubeSats, the eclipse phase typically lasts for approximately 35 minutes (2100 seconds), as shown in [
20]. As a result, the SVD-aided EKF may not be well-suited for attitude estimation during such prolonged eclipse phases. Another paper [
23] proposes a prediction approach for estimating satellite attitude during the eclipse phase, and an adaptive scheme that utilizes the SVD-aided EKF to determine the sun phase. However, the study identified that the accuracy of the prediction algorithm was compromised due to the prolonged duration of the eclipse period.
The SVD-aided EKF was developed as an attempt to enhance the performance of the traditional EKF by incorporating measurement noise covariance matrix adaptation. However, it has been observed that the SVD-aided EKF may face limitations in prolonged eclipse phases. In response, further research has been conducted to develop improved approaches that can make the EKF more adaptable to anomalies such as measurement faults during extended eclipse periods. Researchers in [
24], the authors present a technique for computing satellite attitude estimation using an EKF with singular value decomposition (SVD) assistance. The algorithm also incorporates simultaneous adjustments of the process and measurement covariance utilizing data obtained from magnetometers and sun sensors. When the process noise increases or the spacecraft is in eclipse, SVD-aided adaptive EKF performs better than SVD aided EKF. Authors in [
25], propose a hierarchical and efficient framework for satellite attitude determination that aims to compensate for observation errors in raw attitude data. It includes a simplified adaptive Kalman filtering module, a neural network-based system error compensation module, and a weighted attitude smoothing module. The performance of the proposed framework, trained with full matrix elements, was found to be comparable to the optimal accuracy when compared with conventional algorithms. Another study in [
26] introduces a novel algorithm called adaptive iterated extended Kalman filter (AIEKF) for relative position and attitude estimation, considering model uncertainty in a nonlinear stochastic discrete-time system with unknown disturbance. The AIEKF algorithm employs Gauss-Newton iterative optimization steps for maximum a posteriori (MAP) estimation, and incorporates a switch-mode combination technique to achieve adaptability. The mean-square estimation error (MSE) of the state estimate is derived, and it is proven that the AIEKF outperforms traditional extended Kalman filter (EKF) or iterated extended Kalman filter (IEKF) in terms of MSE.
The structure of the paper is as follows: The attitude estimation and static algorithms are presented in
Section 2 in detail.
Section 3 provides an introduction to the mathematical models utilized for the presented CubeSat. The proposed filter adaptation method is presented in
Section 4. In
Section 5, the simulation results of the adaptive EKF algorithm for a hypothetical CubeSat are presented. In
Section 6, a brief conclusion is given.
5. Results and Analysis
In the simulations, a CubeSat in a low Earth orbit is considered, with a principal moment of inertia of kg.m. The spacecraft is assumed to be tumbling, and its initial state is arbitrarily chosen as . The orbit parameters, satellite kinematics, sensor and environmental models are used to validate the proposed algorithm for attitude estimation. In this study, sun sensor, magnetometer, and gyroscope are used as attitude sensors. The local magnetic vector is computed using the international geomagnetic reference field model, while a sun position algorithm is used to extract the local reference sun vector. The orbit used in this paper is circular with an inclination of 0 at an altitude of 600 km. The simulation epoch is 2021.01.01, UTC 00:00 with a time-step of 1 second.
The first part of this section is devoted to analyzing the performance of SVD-EKF and proposed AEKF during sun phase on the orbit. The second part analyses the performance of the two algorithms during the eclipse phase. The simultaneous
and
adaptive extended Kalman filter is referred to as AEKF in this study. The evaluation of the estimation accuracy for the measurement noise covariance matrix and predicted error covariance matrix was carried out using the
SRNFN and
ASRNFN metrics, which were chosen as the error measures. These metrics provide information about the magnitude of the errors in the estimated matrices by measuring the difference between the estimated and reference values, and are defined as
The predicted error covariance at the time
k is represented by
, while
refers to the reference value of the predicted error covariance matrix at that same time. Similarly, the formulas used for calculating
SRNFN and
ASRNFN for the predicted error covariance matrix are also applied to the measurement noise covariance matrix. The
SRNFN is a metric that measures the similarity between two matrices. The
SRNFN is widely used in the field of computer vision and image processing as a measure of the similarity between two images [
38]. The Averaged Square Root of Normalized Frobenius Norm (
ASRNFN) is an extension of the
SRNFN, which is used to measure the similarity between multiple matrices. The
ASRNFN is calculated as the average of the
SRNFN between each pair of matrices [
39].
5.1. Sun Phase
Firstly, we compare the performance of the SVD-EKF and the proposed AEKF during sun phases. During the sun phase or normal operation mode, the filter depends on sun sensor and magnetometer measurements for measurement update. The proposed algorithm is affected by the number of iterated measurement
N, the more you iterate the, the more accurate the state estimates, however this means increased computational time. For these simulations
.
Table 1 shows the root-mean-square error of the attitude angles for both filters considered in this study. It is evident that both filters perform reasonably well under the sun mode, as all sensor measurements are available.
Table 2 shows the single step run time for the two algorithms, it shows that the proposed algorithm has more computational time as compared to the SVD-EKF. Even though, the computational load is more by a small margin, the accuracy of the proposed algorithm is significant. To demonstrate the efficacy of the proposed algorithm, we calculated the
SRNFN and
ASRNFN values of the predicted error and measurement noise covariance matrices, which are useful in analyzing the convergence of these matrices. Analysis of the results presented in
Figure 2 and
Table 3 indicate that the proposed algorithm outperforms the SVD-EKF algorithm, as evidenced by its lower
SRNFN and
ASRNFN values.
5.2. eclipse phase
According to a study in [
20], satellites in low earth orbit are in the eclipse phase for approximately 28 minutes. During this phase, the attitude determination system depends solely on magnetometer measurements.
Table 4 displays the root-mean-square error of the SVD-EKF method and AEKF. While the proposed algorithm’s error has increased slightly, it still performs significantly better than the SVD-aided EKF.
Table 4 confirms that the gyroscope bias has increased during the eclipse phase, as compared to the values in
Table 1. This increase in bias is likely due to the temperature changes that occur during the eclipse phase. Although modern gyroscopes are designed to minimize temperature-related errors and often include temperature compensation features, the effects of temperature changes cannot be eliminated. Therefore, it is crucial to consider the potential impact of temperature changes on gyroscope bias when designing and implementing attitude determination systems for satellites.
The inferior estimation accuracy of the SVD-EKF algorithm during the eclipse phase is likely due to the sensitivity of the SVD algorithm, which requires at least two vector measurements to compute attitude. Despite relying solely on magnetometer measurements, the proposed algorithm performs reasonably well. Furthermore,
Figure 3 and
Table 5 show that the proposed algorithm has a smaller
SRNFN and
ASRNFN than the SVD -EKF even in eclipse phase. The noise during the eclipse phase affects the measurements used to estimate the measurement noise and state covariance matrices; therefore, the resulting matrices are less accurate or less precise.
6. Conclusions
This paper presents the design and numerical analysis of an error and measurement noise covariance matrices adaptive extended Kalman filter algorithm based on expectation maximization method. A novel attitude estimation algorithm was created utilizing an adaptive filter approach. The performance of this newly developed algorithm, as well as a state-of-the-art existing algorithm, was evaluated through application to CubeSat attitude estimation in both the eclipse and sun phases of the orbit. During both the phases, the proposed adaptive EKF outperforms the existing algorithm, being the SVD-EKF. The SVD algorithm requires a minimum of two vector measurements and associated reference models to function optimally. However, during the eclipse phase, only magnetometer measurements are available, which causes the performance of the SVD-aided algorithm to deteriorate. Based on the simulation findings outlined in the paper, the proposed algorithm demonstrated significantly improved accuracy in attitude estimation compared to SVD aided EKF algorithms. However, it was also observed that the proposed algorithm has marginally higher computational complexity.
To ensure the accuracy and reliability of the proposed algorithm in various conditions and applications, it is necessary to conduct rigorous validation and verification through both simulations and real-world tests. This will help to confirm the effectiveness of the algorithm and identify any potential limitations or areas for improvement. Furthermore, the proposed algorithm can be optimized to improve its performance and reduce computational complexity. This could involve refining the algorithm’s underlying mathematical models and algorithms, as well as optimizing its implementation and hardware requirements. By doing so, the algorithm could potentially be made more efficient and practical for use in a wider range of systems and applications.