1. Introduction
The development and manufacturing of the small satellite have been a focus in the industry over the past decades. It is reported that approximately 350 small satellites with a mass of less than 200 kg have been launched in 2021 [
1]. The Satellite Technology And Research Centre (STAR) at the National University of Singapore is currently developing three satellites named Lumelite-1 to -3 for formation flying programs [
2]. Each satellite has a wet mass of 18 kg. The Lumelite satellites are planned to be launched in 2023.
The Lumelite satellite bus system primarily consists of the attitude determination and control subsystem (ADCS), the onboard computer (OBC) system, the electrical power system (EPS), and the communication interface module (CIM). Each of these subsystems is required to continuously monitor its electrical status, communicate with the sensor or actuator that connects to the subsystem, and communicate with OBC. For example, the ADCS’s digital signal processor (DSP) is required to ensure a stable power supply to all sensors, and have no over-current drawn by any actuator, while continuously requesting data from the sensor and sending a command to the actuator at a fixed sampling interval. Due to the reason that each sensor requires a certain processing time upon receiving the request, and the DSP is processing other tasks concurrently the updated data from each sensor and actuator would be received at different time instances, which results in unsynchronized-sensor and actuator information.
Estimation algorithms, such as the extended Kalman filter (EKF) [
3], Unscented Kalman filter (UKF) [
4,
5], Cubature Kalman filter (CKF) [
6] and particle filter [
7], are commonly used in the attitude determination process. In [
8,
9], the constraint condition of the quaternion is incorporated into the Kalman gain matrix computation. In [
10], a fixed EKF gain method was introduced to lower the nanosatellite’s computational cost. In this case, the KF directly selects the respective gain matrix based on the attitude control mode of the satellite. On the other hand, [
11] introduces the square root-based UKF (SRUKF) algorithm with fault detection and identification (FDI) capabilities. The FDI detects and isolates any outlier measurement to ensure the stable performance of the SRUKF algorithm. In addition, [
12] introduces the dual vector discrete-time complementary filter (DV-DTCF) where each sensor has its corresponding estimated state vector. Each estimated state vector is updated with respect to its sensor reading; then, all the estimated states are fused in the z-domain via a given transfer function. While numerous estimation algorithms are available in the literature, the sensor data is often assumed to be fully synchronized without delay.
The unsynchronized sensor information, also known as the out-of-sequence measurement (OOSM), would degrade the estimation accuracy. As such, various algorithms have been developed to minimize the accuracy loss. The OOSM problem and associated Kalman filter-based solution were discussed in [
13]. Subsequently, [
14] presented the algorithm for OOSM-based multi-sensor multi-target application. In [
15], the time measurement errors, due to the signal’s traveling time between transmitter and receiver, as well as processing time, have been taken into account when deriving the measurement model for the EKF process. The OOSM-based UKF was implemented in [
16] while the PF algorithm was implemented in [
17]. Both OOSM-based UKF and PF algorithms are capable of achieving higher estimation accuracy, but these algorithms generally have higher computational costs [
18,
19]. The weighted measurement fusion method was introduced in [
20], with the scalar weight computed based on the distance between the transmitter and receiver. While these algorithms have been developed for unsynchronized sensor data applications, they are primarily developed for target tracking (or positioning) and not for satellite attitude determination applications.
The predictor–observer method was introduced in [
21] for attitude estimation with delayed measurements. Its results show that it is capable of converging the attitude estimation error while the EKF experiences error divergence due to the existence of a large sensor delay. The modified adaptive EKF (MAEKF) was proposed in [
22] by fusing the N-step of delay measurements and state transition matrices. The MAEKF has much higher estimation accuracy than the re-iterated EKF. However, the methods in [
21,
22] require additional memory to store N-step delayed measurements. In [
23], the moving–covariance Kalman filter (MC-KF), which uses an additional smoothing process to improve the estimation accuracy due to unsynchronized sensor data, has been proposed. It demonstrated the feasibility of orientation estimation, but it is only applied in a two-dimensional position with a one-dimensional angle estimation scenario.
This paper proposed the simplex-back-propagation Kalman filter (SBPKF) to improve the accuracy loss of EKF due to unsynchronized sensor data. The SBPKF utilizes the power series of an exponential matrix to provide a simplification of delayed measurement vector estimation. In addition, the sun vector and magnetometer measurement covariances are formulated with the consideration of additional measurement error due to gyro noise, gyro bias in-stability, and global positioning system (GPS) error. Furthermore, this paper presents the derivation of MC-KF for quaternion and gyro bias estimation. The estimation accuracy of the proposed SBPKF has been benchmarked with EKF, MAEKF [
22], and MC-KF in terms of the sensor delay period. The computational complexity of SBPKF, EKF, MAEKF, and MC-KF has also been compared in terms of the total number of multiplications per iteration process.
The paper is organized as follows.
Section 2 discusses the ADCS DSP task process.
Section 3 presents the standard EKF derivation, and
Section 4 presents the MC-KF algorithm. The proposed SBPKF is presented in
Section 5.
Section 6 presents the simulation and results. Finally,
Section 7 concludes the paper.
2. Tasks of Attitude Determination and Control System
Figure 1 illustrates the input and output (I/O) of ADCS between sensors, actuators, satellite bus systems, memory, payload, and DSP. Three Universal Asynchronous Receiver/Transmitter (UART) interfaces are used for the communication between DSP and magnetometer, communication between DSP and GPS receiver, and ADCS debugging purposes. The GPS receiver also directly provides a 1 pulse-per-second (1PPS) signal to DSP via a dedicated interface. The DSP communicates with the satellite bus system via a Controller Area Network (CAN) interface. The additional CAN interface is used for propulsion system communication purposes. The DSP controls the magnetic torquer via pulse-width modulation (PWM) interface, while it receives the coarse sun sensor data via an analog-to-digital converter (ADC) I/O. Lastly, the DSP communicates with a fine sun sensor and reaction wheel via RS-485 and RS-232 interfaces, respectively.
The I/O diagram in
Figure 1 indicates that the DSP is required to perform various tasks to ensure the stability of the satellite. Furthermore,
Table 1 indicates the sampling period of each task that must be handled by the DSP. During the early phase of firmware development and testing, it had been noticed that the sensor data acquisition process requires at least 55 milliseconds to 75 milliseconds (represented by
and
in
Figure 2) per cycle. As shown in
Figure 2, both the sun sensor and magnetometer require a certain time to respond to the request sent by DSP (
and
respectively) when the sensor task is initiated. For the ideal scenario,
and
shall be less than 5 milliseconds. It is noted that the test process only involves both ADC tasks and sensor tasks. It is expected that the sensor data acquisition process requires much longer time in the full firmware implementation.
In
Figure 2, the attitude determination (AD) task and sensor task are performed at different frequencies. In addition to the delay in the sensor data acquisition process, the asynchronization issue between sensor data and the AD task (or
by sun sensor and
by magnetometer, respectively) would degrade the overall attitude determination accuracy. Thus, an algorithm to minimize the accuracy degradation due to the sensor data synchronization issue is required. As previously mentioned, the sun sensor or magnetometer measurement will only be considered as a delayed measurement if either
or
. is more than five milliseconds. The five milliseconds is the expected response time of the sensor under the ideal operation scenario.
3. Extended Kalman Filter
The small satellite is typically equipped with sun sensors, magnetic torquers, and microelectromechanical systems (MEMS) based inertial measurement unit (IMU). The MEMS IMU device includes both gyroscope and magnetometer sensors. The output of the MEMS IMU gyroscope is given by [
24]
where overhead notation of “
” denotes measurement,
denotes the measured three-axis body rate,
denotes the truth three-axis body rate,
denotes the output noise of the gyroscope,
denotes the truth gyroscope bias, and
denotes the gyroscope bias due to the angular random walk and bias instability.
The general EKF process consists of gain matrix computation, estimated state and covariance update, and estimated state and covariance propagation. For EKF-based attitude determination, the objective is to estimate both the satellite’s attitude (or quaternion) and gyroscope bias. Thus, the estimated state vector is
. The
is the vector component of the quaternion vector,
such that [
25]
where the overhead notation of “
” denotes the estimated vue, and
is the scalar of the quaternion vector with
.
Given a pair of measurement vectors from sensors, and their corresponding estimated measurement vector, both
and
are updated via the following process [
25]
where
is defined in [
25] and
In (4),
, where the subscript “S” denotes the sun vector and subscript “B” denotes the earth’s magnetic field vector. In addition, the superscript “−” denotes pre-update, superscript “+” denotes post update, and
denotes the Kalman filter gain matrix [
26]
where
denotes measurement noise covariance and
denotes the Jacobian matrix of measurement vectors. Moreover, the mth sensor component of the estimated measurement vector in (4) can be expressed as [
25]
where
denotes the estimated attitude matrix at time
, and
(a unit vector) is the estimated mth sensor’s measurement in the earth center inertia (ECI) reference frame. It is noted that the derivation of
associated to
is detailed in [
27], and
is provided in
Appendix A and (31)
. In addition,
in (5) is given as [
26]
For standard EKF,
,
,
and
are defined as [
28]
Here,
is the cross-product matrix [
25]. By assuming that there is no cross-correlation between the sun vector and the earth magnetic field vector,
can be written as
where
is the covariance associated with the sun sensor, and
is the covariance associated with the magnetometer.
In general, the measurement vector,
output by the
mth sensor in the satellite body reference frame always contains an error, with the standard deviation of
:
where
denotes the truth measurement reading of the
mth sensor. Furthermore,
maybe not necessarily a unit vector (e.g., Earth’s magnetic field vector). Therefore,
represents the normalized vector of
such that
, where
denotes the vector’s magnitude. Then, the general expression of
in (9) with the consideration of vector normalization is given as [
29]:
with
denotes expected value,
denotes the summation of diagonal elements of
. In addition, the state error covariance update is given as [
26]
Using the following definition,
, the nonlinear quaternion propagation model is given as [
30]
where
is defined in [
30]. Due to the nature of quaternion multiplication, the integration of (14) is often highly complex. Instead, the quaternion propagation can be simplified using the N
x-step summation model [
31]:
The state error covariance propagation model is given by [
26]
where [
25]
The standard EKF shows that the state vector update process in (3) to (5), and the Jacobian matrix in (8) do not consider the unsynchronized sensor data problem. On the other hand, the proposed SBPKF and MC-KF include the sensor data delay and its associated sensitivity matrix and error covariance in the measurement model estimation. The MC-KF algorithm is presented in the next Section.
4. Moving Covariance Kalman Filter
The presented MC-KF in this section is based on [
23,
32]. It has a similar estimation process as DV-DTCF in [
12] but a different state vector fusion approach. Let us define the following time instance,
, where subscript “m” is a general representation of either sun sensor,“S” or magnetometer “B”. First, given the sun sensor and magnetometer data arrive at different time instances, there are two sets of state correction vector,
where
is the Kalman filter gain matrix that is derived with respect to the sensitivity matrix of each sensor:
where
is defined in (11).
From (18), two sets of updated state vectors,
(or
and
) and two sets of state error covariances,
(or
and
) will be obtained by using a similar formulation in (3) and (13). Next, both
,
and
,
pairs are required to be synchronized and smoothed. First, let’s define the following time instance,
based on the following sensor delay information
As presented in
Figure 3, the delay of 5 ms is assumed to be the minimum time required by a sensor to instantly reply to the sensor data request by ADCS DSP. Then, the
and
pair that has a lesser delay with respect to
, are propagated to
For generalization purposes, the sensor data with a higher delay is labeled as w
th sensor. Based on [
23], we define the following matrices,
and
where
and
are Kalman filter gain and sensitivity (derivation see (7), (8), (33) and (34)) matrices at
. To ensure the positive definite of
matrix, we have
In (25), “diag(A)” denotes the matrix only contains the diagonal elements of matrix A. The purpose is to ensure the matrix
is invertible. Then, the smoothed state vector is given as
where
The quaternion update corresponding to (26) is given in (3). On the other hand, the quaternion subtraction to compute
is given as follows:
with
is defined in [
25]. Finally, the covariance is smoothed as follows
Lastly, both state vectors, and covariance, are propagated to the next time step, and via (15) and (16).
5. Simplex-Back-Propagation Kalman Filter
The proposed SBPKF uses the similar Kalman filter process as EKF, but with different measurement and covariance models. The SBPKF has taken the delay between sensor data acquisition time and Kalman sampling time,
(or known as
and
in
Figure 2). As such, the delayed measurement vector for both the sun sensor and magnetometer in (6) is rewritten as:
It is noted that the Earth’s magnetic field vector in the ECI reference frame,
is computed based on the satellite position and velocity at
where
denotes the transformation matrix of NED to ECI reference frame, and
denotes the Earth’s magnetic field vector with each component representing North, East, and Down direction, respectively. For simplicity, the derivation of
will not be shown in this paper, but the associated algorithm and Matlab code are available in [
33]. In addition,
and
can be approximated as
From (30), the measurement vector is in terms of both quaternion and gyro bias. Therefore, both
and
are no longer zero matrices. Instead, with the additional summation terms, (8) becomes
The general expression of
remains the same as in (11). However, (31) indicates the satellite positioning error contributes to the Earth’s magnetic field modeling error. In addition, both
and
contribute additional errors in (30). Therefore, both
and
, which were originally formulated in (12) have been modified to become:
where
It is noted that the term
denotes additional error covariance due to the satellite position error:
In (38),
denotes the partial derivative of
in (31) with respect to longitude,
, latitude,
and radius,
(or
). In addition,
denotes the partial derivative of conversion from position in the Earth-centered-Earth-fix (ECEF) reference frame to longitude, latitude, and radius. The formulation for
is available in
Appendix A, and the formulation for conversion of ECEF position to longitude, latitude, and radius is detailed in [
34].
The overall process flow for SBPKF (and MC-KF/MAEKF) is presented in
Figure 3. When the satellite exits from the eclipse, the first pair of sun and Earth magnetic field vectors will be input into the quaternion estimation (QUEST) algorithm [
35] to provide an initial quaternion vector, with the assumption of fully synchronized measurement vectors. The quaternion output from QUEST also guarantees the stability of EKF and SBPKF algorithms as the EKF-based algorithm is often susceptible to initial condition error [
36]. As discussed in Section II, the respective measurement will only be considered as a delayed measurement for the filtering process if
. Thus, if both
and
are less than a given threshold (i.e 5 ms), standard EKF will be conducted. Otherwise, the delayed measurement vector in (30) will be computed. Once the measurement covariances are computed using (11), (35) to (37), the SBPKF updates the estimated states and state error covariance using the (3) and (13).
6. Simulation and Results
Monte Carlo simulations have been conducted to compare the quaternion and gyro bias estimation accuracy for the proposed SBPKF, EKF, MAEKF in [
22], and MC-KF, with respect to sensor delay. The Monte Carlo simulation environment is illustrated in
Figure 4. Three ADCS tasks are considered in the simulation, which are the sensor task, AD task, and AC task. The sensor task is simulated at a sampling rate of 200 ms, with selected sensor delays. The sensor delay to be range from 65 ms to 145 ms, with its standard deviation given in
Table 2. The AC task simulates the truth quaternion vector that is corresponding to the satellite pointing profile in
Figure 5. The AD task comprises the attitude determination algorithm, such as SBPKF, EKF, MAEKF, and MC-KF. During the eclipse period (or without sunlight), the satellite attitude control enters the momentum hold condition. The default attitude control of the satellite during the sunlight condition is the sun-pointing mode. The satellite performs nadir pointing when the angle between the nadir axis and sun vector in the satellite body frame is within the sun sensor’s half-cone field-of-view (or 60 degrees). In
Figure 5, the satellite begins to perform nadir pointing 15 min after entering the sunlight condition, for approximately 35 min.
For each Monte Carlo simulation, the performance of SBPKF, EKF, MAEKF, and MC-KF are evaluated for one sunlight period (or approximately 60 min). The satellite orbital parameters are provided in
Table 2. It is noted that the right ascension of ascending node, the argument of perigee, and the initial true anomaly are randomly generated in each Monte Carlo simulation.
The sensors and gyro noises, GPS accuracy, sensor, and EKF sampling rate are listed in
Table 2. The sun sensor, GPS, gyro, and magnetometer noises are based on the commercial off-the-shelf product, with the consideration of noise density and sensitivity. In addition, the configuration of MAEKF is based on details provided in [
22].
6.1. Accuracy Comparison
Figure 6 compares the quaternion and gyro bias estimation error between the SBPKF, EKF, MAEKF, and MC-KF with respect to the estimation results without the sensor delay scenario. The average quaternion error magnitude and gyro bias error magnitude for the zero sensor delay scenario is 0.145 degrees and 2.8 millidegrees, respectively. The quaternion error ratio,
and gyro bias error ratio,
in
Figure 6 are given by:
where
is the total number of samples for the delayed sensor scenario,
is the total number of samples for no sensor delay scenario,
is the quaternion error, and
is gyro bias error at
kth sample with subscript “d” representing delayed sensor, scenario, and the subscript “0” representing no sensor delay scenario, respectively.
Figure 6a shows that the SBPKF has the lowest quaternion error magnitude, followed by MAEKF. The SBPKF’s quaternion estimation error ratio is approximately 189% (or 0.274 degrees) when compared to the no-sensor-delay scenario. The MAEKF quaternion error ratio is approximately 200% (or 0.29 degrees).
Figure 6a also shows that without the simplex-back-propagation method, the quaternion estimation error ratio of EKF is increased to 220–250% (or 0.319 to 0.363 degrees), and the quaternion estimation error ratio of MC-KF is increased to 250–300% (or 0.363 to 0.435 degrees).
Figure 6b shows that the EKF has the lowest gyro bias error magnitude. However, the gyro bias error magnitude difference between EKF and the SBPKF can be considered negligible as both are in the range of millidegrees (or approximately three millidegrees). On the other hand, the MAEKF gyro bias error is three times higher than the SBPKF, even though it has a similar quaternion estimation error as the SBPKF. The additional error that occurs in MAEKF could be due to the reason that the MAEKF assumes all sensor data received at the same time instance. However, in practice, each sensor has a different time delay.
Although the MC-KF is designed to compensate for the error due to data delay, the introduction of unknown gyro bias as the initial condition has greatly degraded the performance of the MC-KF. From
Figure 6b, the results show that the MC-KF has a large gyro bias error ratio as compared to the SBPKF and EKF. The MC-KF’s gyro bias error is approximately five times higher than the scenario without data delay. The MC-KF uses one measurement vector to update each
and
(see (18) and (26)). However, the attitude determination process requires at least a pair of measurement vectors to effectively estimate the quaternion vector. Furthermore, the additional covariance update process in (29) causes the state error covariance to be underestimated in MC-KF. The study in [
37] has shown that an additional covariance update process within an iteration without a proper smoothing procedure could degrade the estimation accuracy. Therefore, the results in
Figure 6 show that MC-KF would require a more complex derivation and implementation to ensure a stable estimation performance.
On the other hand, the proposed SBPKF considers the time delay of sensor data, when estimating the measurement vector in (30). In addition, (35) to (38) consider the additional propagation error due to the measurement model used in (30). Thus, the underestimation of error covariance is avoided, and the estimation accuracy is improved.
Overall, the results in
Figure 6 provide the ADCS performance guideline during the system design review stage. The expected quaternion estimation error increment from
Figure 6 allows the evaluation if an additional sensor, such as a star tracker is required to meet the system design requirement. STAR centre is presently developing a 50 kg microsatellite with a star tracker for high-precision pointing applications. The applicability of SBPKF will be verified on the engineering model. Subsequently, its in-orbit attitude determination accuracy performance will be benchmarked with the quaternion computed by the star tracker.
6.2. Computational Cost
Table 3 compares the number of multiplications required by EKF, SBPKF, MAEKF, and MC-KF at each iteration. The number of multiplication required for matrix multiplication and an inverse matrix is based on the method in [
20]. The MAEKF’s multiplication number is the average multiplication number per sampling step within one second. This is due to the reason that the number of available measurement pairs for MAEKF varies between 1 and 2 at each sampling step.
For the SBPKF, MAEKF, and MC-KF, we assume the scenario where
.
Table 3 shows that the number of multiplications required by MC-KF and MAEKF is approximately two times higher than EKF. The number of multiplication required by SBPKF is 17% lesser than MAEKF and 29% lesser than MC-KF, respectively. Although the SBPKF requires 65% more multiplication compared to EKF, the quaternion estimation error is improved by 30 to 45% with a similar gyro bias estimation error. Thus, the SBPKF achieves a higher attitude estimation accuracy at an expense of higher computational complexity.
7. Conclusions
This paper presented the simplex-back-propagation Kalman filter (SBPKF) for delayed sensor data-based quaternion and gyro bias estimation. The estimated measurements are formulated with the consideration of sensor data’s time delay to improve the quaternion estimation accuracy. In addition, the noise covariance matrices are derived with the presence of navigation error, gyro bias, and gyro noises to prevent underestimating the estimation error. The detailed implementation of the moving–covariance Kalman filter (MC-KF) for quaternion estimation has been presented. Monte Carlo simulations have been conducted to compare the accuracy and computational complexity of the proposed SPBKF, extended Kalman filter (EKF), modified adaptive EKF (MAEKF), and MC-KF. The results show that the SBPKF average estimated quaternion error is at least 30% lower than both EKF and MC-KF. Although the MAEKF quaternion estimation error is slightly higher than the SBPKF, its gyroscope bias estimation error is three times higher than SBPKF. In addition, the SPBKF computational complexity is 17% better than MAEKF and 29% better than MC-KF.
For future work, the SPBKF will be evaluated using the engineering model of a 50 kg microsatellite. The impact of the digital signal processor’s 8-bit floating point on the overall SPBKF accuracy performance will also be investigated.