Next Article in Journal
A Reference Architecture for Cloud–Edge Meta-Operating Systems Enabling Cross-Domain, Data-Intensive, ML-Assisted Applications: Architectural Overview and Key Concepts
Previous Article in Journal
Feedback Regimes of LFI Sensors: Experimental Investigations
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Treatment of Extended Kalman Filter Implementations for the Gyroless Star Tracker

by
Joshua J. R. Critchley-Marrows
1,
Xiaofeng Wu
1,* and
Iver H. Cairns
2
1
School of Aerospace, Mechanical and Mechatronic Engineering, The University of Sydney, Sydney, NSW 2040, Australia
2
School of Physics, The University of Sydney, Sydney, NSW 2040, Australia
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(22), 9002; https://doi.org/10.3390/s22229002
Submission received: 29 August 2022 / Revised: 6 October 2022 / Accepted: 15 November 2022 / Published: 21 November 2022
(This article belongs to the Section Physical Sensors)

Abstract

:
The literature since Apollo contains exhaustive material on attitude filtering, usually treating the problem of two sensors, a combination of state measuring and inertial devices. More recently, it has become popular for a sole attitude determination device to be considered. This is especially the case for a star tracker given its unbiased stellar measurement and recent improvements in optical sensor performance. The state device indirectly estimates the attitude rate using a known dynamic model. In estimation theory, two main attitude filtering approaches are classified, the additive and the multiplicative. Each refers to the nature of the quaternion update in the filter. In this article, these two techniques are implemented for the case of a sole star tracker, using simulated and real night sky image data. Both sets of results are presented and compared with each other, with a baseline established through a basic linear least square estimate. The state approach is more accurate and precise for measuring angular velocity than using the error-based filter. However, no discernible difference is observed between each technique for determining pointing. These results are important not only for sole device attitude determination systems, but also for space situational awareness object localisation, where attitude and rate estimate accuracy are highly important.

1. Introduction

To improve attitude determination performance, statistical estimation and filtering techniques are adopted by the space system designer. The most prevalent filter is the Kalman Filter, proposed by Rudolf Kalman during the 1950s [1]. The theory was developed and applied to space flight through a series of NASA reports [2,3] during the early 1960s. The earliest known study to apply the Kalman Filter for the attitude determination problem was in 1970 [4], where Farrell was one of the first to recognise the merit of the technique.
Since the Apollo era, the Kalman Filter and its modifications have been proposed for a variety of attitude determination systems, each adopting a different set of attitude determination sensors. The work by Farrell studied the crude use of sun sensors and magnetometers [4]. One of the first uses of a star sensor was used with a gyroscope by the Aerospace Corporation [5], applying a discrete Kalman Filter.
During the space race, satellite applications in low and medium Earth orbits were discovered. Since many missions required only an Earth-pointing attitude, not experiencing many complex dynamic motion routines, the gyroscope was neglected, and the attitude calculated using orientation only sensors. Gai in the 1980s [6] attempted to use a star sensor that, at the time, could only receive a single star measurement at a fast enough rate for attitude estimation. The attitude accuracy was poor, applying a simple finite difference-based approach and assuming negligible noise.
Spacecraft torques in the control system loop, as well as external torques caused by the space environment such as solar wind or aerodynamic drag [7,8], have also been considered in the estimation problem. However, it was recognised the algorithms were still not robust enough to model errors or remove the limitations raised by Gai [6] for angular velocity estimation by finite difference. Modelling external torques is considered outside the scope of this article, requiring position knowledge. They are also typically considered in combined systems with an environmental sensor, such as a magnetometer [9,10].
In recent decades, attempts at formalising a standard Extended Kalman Filter approach for spacecraft attitude determination were made by Crassidis, Markley, Shuster, et al. [9,11,12,13,14]. Attitude is typically expressed by the quaternion, which avoids issues in singularities and sequential rotation ordering common for Euler angle and matrix representations. However, quaternions must maintain certain associative properties as well as a unitary norm, which can be difficult to assure in estimation and filtering problems. These approaches utilise multiple sensors.
Approaches to the filtration problem are distinguished between additive and multiplicative operations on the attitude quaternion. A section of Fundamentals of Spacecraft Attitude Determination and Control was compiled by these authors, where different approaches were considered [15]. The methodology implements a magnetometer or star tracker for orientation estimation, alongside a gyroscope for rate estimation.
Contemporary literature has revisited this problem given recent performance improvements in optical and processor technology [16,17,18,19,20]. These systems permit tracking of multiple stellar sources at a high rate and resolution, permitting increased precision, accuracy and update rates of the attitude estimate. These improvements have allowed for the star tracker to be used as the sole instrument for attitude determination, a gyroless star tracker, permitting for unbiased attitude and rate estimates. It is also more compact and power efficient, ideal parameters for optimisation by the satellite designer. Early work by [21] was an early attempt of a gyroless star tracker Extended Kalman Filter (EKF) utilising multiple star measurements, but used a more primitive EKF implementation that did not consider the advanced formalisation in [15].
Gyroless star trackers are becoming increasingly important for Space Situational Awareness (SSA) applications [22,23]. Dual-use star trackers are in development to support SSA. In their operation, the attitude estimate of the star tracker is important to determine the observed space object’s orbit. The conclusions of this work are thus important to this emerging field of star tracker application, where the relevance and importance of rate estimation moves beyond just attitude control requirements.
Recent advancements considering a gyroless star tracker in the Kalman filter, acting as the only sensor, are more limited. This is especially the case with implementations that treat all star measurements within the filter measurement vector. [24] considers a multiplicative EKF alongside a Singular Value Decomposition (SVD) state estimate for a gyroless star tracker, but utilising control elements for rate estimation. This approach does not utilise all star measurements in the filter, but the SVD derived attitude estimate. Similar work by [25] also contain similar constraints.
The gyroless star tracker is considered in an additive-based Kalman filter by [17,18]. A disadvantage of the additive approach is that it does not maintain unity of the quaternion norm. Modern approaches re-normalise the quaternion after each update to assure unity is maintained. This has been criticised since it always creates some error in the quaternion estimate, limiting performance. However, it can be argued that the error is negligible compared to other error sources from the camera and attitude propagation.
Filter design, including the Kalman filter for guidance systems, has advanced significant recently with the adoption of machine learning [26,27,28]. However, there is great concern that machine learning cannot assure the integrity required for satellite attitude determination, where neural networks act like a ‘black box’. They might be considered for Earth observation, rover guidance and mission planning [29].
This work treats angular velocity as constant, and makes the assumption that any angular acceleration is negligible. Generally, a non-negligible angular acceleration would only take place if a control torque is acted on the satellite. Thus, the expected angular acceleration is already known by the system.
The Calculated Reference of Stellar System (CROSS) star tracker is used as a test platform in this article. CROSS is a Wide Field of View (WFOV) star tracker being developed by the University of Sydney that seeks to be a high performing, versatile and competitive attitude determination unit for spacecraft designers [30,31,32].
In this paper, the additive and multiplicative EKF are applied to evaluate and determine the best approach to the gyroless star tracker attitude estimation problem. The novelty and originality of the work are summarised by:
  • Novel implementation of the multiplicative EKF for the case of the gyroless star tracker.
  • An in-depth, independent analysis to the state-of-the-art additive EKF for the gyroless star tracker by [17,18], comparing to the multiplicative EKF approach as well as an unfiltered approach (i.e., Linear Least Squares (LLS) only).
  • Analysis employs both simulation and real night sky testing. Provides a case example of the novel approach of star tracker testing by [33].
The significance of the research is summarised as:
  • Enabling more compact and lower power attitude determination systems.
  • Improving attitude estimation accuracy and precision, a topic of interest for not only satellite attitude control but SSA applications.
  • Reducing bias to attitude and rate estimates.
The paper is structured by firstly outlining both EKF models. It then implements each model by simulation and real night-sky testing, as well as comparing to a static LLS approach, to discuss and evaluate the best approach. Theoretical arguments are also considered in this discussion. Recommendations of the best approach are made at the conclusion.
Given that gyroscope bias is now removed, and the EKF is estimating the angular velocity state, additive and multiplicative filters are relabelled as the state and the state-error EKF. This naming change highlights that the multiplicative approach estimates the state error, rather than directly the state.

2. Model and Methods

This section introduces the conventions adopted to describe the spacecraft attitude. A sensor model is then introduced for the star tracker, which includes star position error considerations. The section closes by describing the two approaches to the EKF implementation, which contains a modified version of implementations in [15,17] to treat the performance of the gyroless star tracker case.

2.1. Attitude Definitions

Attitude is typically expressed as a matrix that transforms a vector from one coordinate frame to another. In the case of spacecraft attitude, the transformation typically relates the sensor or spacecraft frame to a celestial body frame, such as for the Earth or Solar System centre. The celestial frame will be denoted by r , and the sensor or spacecraft frame will be denoted by b . The relation between each frame and the attitude may be written as,
b = A r ,
where A is the attitude matrix.
To aid in the representation of attitude, consider an axis e for a rotation to act on. The angle of rotation may then be denoted by θ . The rotation of an arbitrary vector x about the rotation vector is illustrated in Figure 1. The attitude matrix may be expressed as a function of the rotation vector and angle, A = A ( e , θ ) .
It is more convenient, however, to express the rotation as a quaternion. The quaternion q may be expressed in terms of the rotation vector as,
q = q 0 q 1 q 2 q 3 = cos θ 2 e sin θ 2 .
The quaternion must satisfy the unity constraint | q | = 1 . Maintaining this constraint in estimation and filtering can prove problematic, as introduced in Section 1.
The attitude matrix and quaternion are related by,
A = q 0 2 + q 1 2 q 2 2 q 3 2 2 ( q 1 q 2 q 0 q 3 ) 2 ( q 1 q 3 + q 0 q 2 ) 2 ( q 1 q 2 + q 0 q 3 ) q 0 2 q 1 2 + q 2 2 q 3 2 2 ( q 2 q 3 q 0 q 1 ) 2 ( q 1 q 3 q 0 q 2 ) 2 ( q 2 q 3 + q 0 q 1 ) q 0 2 q 1 2 q 2 2 + q 3 2 .
Derivations of attitude kinematics are not included in this description, as they are extensively written in the literature [15,34], but are instead stated. The time derivative of the attitude quaternion may be expressed in terms of the angular velocity, ω = ω x ω y ω z T , by,
q ˙ ( t ) = 1 2 ω ( t ) q ( t ) = 1 2 Ω ( ω ( t ) ) q ( t ) ,
where Ω is a matrix representation of the tensor product operation between the angular velocity and quaternion,
Ω ( ω ) = 0 ω x ω y ω z ω x 0 ω z ω y ω y ω z 0 ω x ω z ω y ω x 0 .
A linearised form of the state transition over the duration of a time step Δ t can be derived. Assuming a constant angular velocity over the time step and that the angular rotation is small, the closed form may be expressed as,
q ( t + Δ t ) = cos | ω ( t ) | Δ t 2 I 4 + 1 | ω ( t ) | sin | ω ( t ) | Δ t 2 Ω q ( t ) = Φ q q q ( t ) ,
where Φ q q is the quaternion transition matrix and I 4 is the 4 × 4 identity matrix.
The angular velocity may also be estimated assuming it is constant over the time step. The quaternion rate is expressed as,
q ˙ = lim Δ t 0 q ( t + Δ t ) q ( t ) Δ t .
The quaternion rate may then be estimated using this equation if the time step is justifiably small. Equation (4) may then be rearranged in terms of the angular velocity, using a similar approach to Equation (6),
ω ( t ) = 2 Ξ T ( q ( t ) ) q ˙ ,
where,
Ξ ( q ) = q 1 q 2 q 3 q 0 q 3 q 2 q 3 q 0 q 1 q 2 q 1 q 0 .

2.2. Star Tracker Model

The star tracker captures images of the stars using a standard camera and lens assembly. The image is then analysed to identify stars against a known catalogue. Using the measured unit vectors of stars in a sensor frame and the known unit vectors from a catalogue in a global frame, an attitude may be calculated.
The measured star image is represented by the sub-pixel coordinates of the stellar source ( α , γ ) . The sensor frame unit vector is related to the sub-pixel coordinates by,
α = f b x b z , γ = f b y b z ,
where f is the focal length. The body and celestial frame unit vectors are then related by Equation (1).
The reverse relation to Equation (10) uses the unit vector normalisation condition, | b | = 1 . So, the body unit vector may be calculated by,
b = 1 α 2 + γ 2 + f 2 α γ f .
A common measurement error model for the measured image coordinates α and γ is [11,14],
R = σ 2 1 + α 2 + β 2 ( 1 + α 2 ) 2 ( α γ ) 2 ( α γ ) 2 ( 1 + γ 2 ) 2 .
This model is appropriate for sensor measurements that are no greater than 15 from the boresight. The star tracker measurements considered in this paper are 10 from boresight. The eigenvalues and eigenvectors can be determined from the matrix to know the maximum error of the image.

2.3. Extended Kalman Filter Model

Two approaches to applying EKF to attitude determination systems are considered in the literature, the state-based and state error-based, as are first introduced in Section 1.
A stand-alone star tracker will be initially introduced, using the state-based approach. The popular error state variant will then be discussed. The angular velocity cannot be directly measured by the star tracker. An estimate by finite difference, applying Equation (8), is adopted. The EKF is then compared to static estimation by LLS, using the popular Davenport q method described in [15].

2.3.1. State-Based Estimation

Using a stand-alone star tracker in the attitude determination system may estimate both the attitude as a quaternion and the angular velocity. This section adopts approaches initially proposed in [17].
The state variables may be expressed as,
x = q T ω T T ,
where q = q 0 q 1 q 2 q 3 T and ω = ω x ω y ω z T . The state transition, or propagation update, may be modelled using,
x ( t + Δ t ) = ϕ ( x ( t ) ) + σ ( t ) ,
where ϕ is the state transition function and σ is the additive Gaussian noise. Using Equation (6), the state transition function may be expressed as,
ϕ ( x ( t ) ) = Φ q q q ( t ) ω
The EKF is an approach to using non-linear system models in the linear Kalman Filter technique. It does this by a process of linearisation, as has already been applied to Equation (6). The overall state transition matrix is represented by,
Φ = q ( t + Δ t ) q ( t ) q ( t + Δ t ) ω ( t ) ω ( t + Δ t ) q ( t ) ω ( t + Δ t ) ω ( t ) = Φ q q Φ q ω Φ ω q Φ ω ω ,
where Φ q q is already known from Equation (6). The partial derivative of q ( t + Δ t ) with respect to ω ( t ) is,
Φ q ω = q ( t + Δ t ) ω ( t ) = Φ q q q ( t ) ω ( t ) ,
and thus for i = x , y , z ,
Φ q q q ( t ) ω ( t ) = ω i Δ t 2 | ω | sin | ω | Δ t 2 I 4 + ω i Δ t 2 | ω | 2 cos | ω | Δ t 2 ω i | ω | 3 sin | ω | Δ t 2 Ω + 1 | ω | sin | ω | Δ t 2 Ω ω i q ( t ) ,
where,
Ω ω x = 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 , Ω ω y = 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 , Ω ω z = 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 .
Since ω is assumed to be constant over the time step, Φ ω q = 0 and Φ ω ω = I 3 .
In a similar form to the state or propagation update, as in Equation (14), the measurement update is given by,
b ^ = h ( x ) + v ,
where h is the measurement function and v is the measurement noise, modelled as a zero-mean Gaussian noise. The measurements of the star tracker are given in sub-pixel coordinates calculated from the star source brightness distribution.
The expected measurement h ( x ) is derived from the identified stars. The star catalogue coordinates are given in the inertial frame r . These are transformed to the star tracker sensor frame by the attitude matrix A using Equation (1). The i th star locations known in the derived expected image with coordinates α i and γ i are obtained using Equation (10).
A process of linearisation is also required for the measurement update, and so the partial derivative of the measurement function with respect to the state variable produces the measurement matrix,
H ( x ) = h ( x ) x = α 1 q 0 α 1 q 1 α 1 q 2 α 1 q 3 α 1 ω x α 1 ω y α 1 ω z γ n q 0 γ n q 1 γ n q 2 γ n q 3 γ n ω x γ n ω y γ n ω z ,
where n is the total number of stars in the field of view. Using the chain rule, the partial derivatives with each state variable may be calculated using,
α x = α b x b x x + α b y b y x + α b z b z x ,
γ x = γ b x b x x + γ b y b y x + γ b z b z x .
So, the partial derivative of the measured sub-pixel star locations α and β are,
α b x = f b z , α b y = 0 , α b z = b x f b z 2 , γ b x = 0 , γ b y = f b z , γ b z = b y f b z 2 .
The partial derivative of b with respect to the angular velocity ω is,
b ω = 0 ,
and with respect to the quaternion q is,
b q = A q r ,
where for each quaternion the partial derivative of the attitude matrix is,
A q 0 = 2 q 0 2 q 3 2 q 2 2 q 3 2 q 0 2 q 1 2 q 2 2 q 1 2 q 0 , A q 1 = 2 q 1 2 q 2 2 q 3 2 q 2 2 q 1 2 q 0 2 q 3 2 q 0 2 q 1 , A q 2 = 2 q 2 2 q 1 2 q 0 2 q 1 2 q 2 2 q 3 2 q 0 2 q 3 2 q 2 , A q 3 = 2 q 3 2 q 0 2 q 1 2 q 0 2 q 3 2 q 2 2 q 1 2 q 2 2 q 3 .
The complete methodology of the EKF model is summarised by Table 1. The + and − superscripts indicate the pre- and post-measurement update, respectively, used by the state vector x and covariance matrix P. The precidicted state vector is expressed by z .
Given the risk to ill-conditioning of the covariance matrix P owing to non-linearities and the re-normalisation of the quaternion, P is checked for positive definiteness by a Cholesky Factorisation attempt. If the attempt failed, the covariance matrix is reset by negating all diagonal negative terms and setting all non-diagonal terms to zero. In the reported results of this work, this reset was never necessary.

2.3.2. State Error Estimation

For the stand-alone star tracker, the state error estimation approach uses the formalisation from [15]. However, the approach is made novel by replacing the gyroscope bias state by a direct estimate of the angular velocity, making various modifications to the model to reflect this state estimate change. The state variables may be expressed as in the state-based approach,
x = q T ω T T .
However, the filter will not act directly on the state, but the state errors. The state error vector is expressed as,
Δ x = δ θ T δ ω T T ,
where δ θ = δ θ x δ θ y δ θ z T and δ ω = δ ω x δ ω y δ ω z T .
The propagation update is rewritten as,
Δ x ( t + Δ t ) = ϕ ( Δ x ( t ) ) + σ ( t ) .
The linearised state transition matrix is then,
Φ = δ θ ( t + Δ t ) δ θ ( t ) δ θ ( t + Δ t ) δ ω ( t ) δ ω ( t + Δ t ) δ θ ( t ) δ ω ( t + Δ t ) δ ω ( t ) = Φ δ θ δ θ Φ δ θ δ ω Φ δ ω δ θ Φ δ ω δ ω .
An alternative approach is adopted by [15] to derive the state transition matrix. Using the linearised state space estimate equation for the rate of state change,
Δ x ^ ˙ ( t ) = F ( t ) x ^ ( t ) ,
where F ( t ) is the Fisher information matrix, which provides a linearised matrix operator on the propagated state via,
F ( t ) = x ^ ˙ ( t ) x ^ ( t ) .
It is known from [15] that the rate of attitude error change is related to the attitude error and angular velocity terms by,
δ θ ˙ = [ ω ^ × ] δ θ + δ ω ,
where [ ω ^ × ] is the matrix operator of the cross product, written as,
[ ω ^ × ] = 0 ω z ^ ω y ^ ω z ^ 0 ω x ^ ω y ^ ω x ^ 0 .
So the Fisher information matrix is expressed as,
F ( t ) = [ ω ^ × ] I 3 0 3 0 3 ,
where I 3 is the 3 × 3 identity matrix. The Fisher information matrix and the transition matrix is related by the expression,
d d t Φ = F ( t ) Φ .
Considering each side and maintaining equivalence, the transition matrix constituents may be expressed as,
Φ δ θ δ θ = I 3 [ ω ^ × ] sin ( | ω ^ | Δ t ) | ω ^ | + [ ω ^ × ] 2 1 cos ( | ω ^ | Δ t ) | ω ^ | 2 , Φ δ θ δ ω = [ ω ^ × ] 1 cos ( | ω ^ | Δ t ) | ω ^ | 2 + I 3 Δ t [ ω ^ × ] 2 | ω ^ | Δ t sin ( | ω ^ | Δ t ) | ω ^ | 3 , Φ δ ω δ θ = 0 3 , Φ δ ω δ ω = I 3 .
The state update is still performed using the approach in Equation (6). The angular velocity is assumed to be constant over the time-step.
The measurement update uses a similar form to the state-based approach, expressed as,
b ^ = h ( Δ x ) + v .
However, instead of considering the measured pixel coordinates, it considers the measured star unit vectors directly. The unit vectors are calculated using the image measurements α and γ using Equation (10). The measurement function is defined as,
h ( x ) = A ( q ) r 1 A ( q ) r N .
The linearised measurement matrix is solved by considering the partial derivatives of the measurement function with respect to the state error vector,
H = h ( x ) Δ x .
This is solved directly in [15], using the chain rule and so the state error vector is expressed as,
H = [ A ( q ) r 1 × ] 0 3 [ A ( q ) r N × ] 0 3 .
The attitude error represents the difference between the true and estimate quaternion by the relation, assuming the attitude error is suitably small,
q true = q ^ + 1 2 Ξ ( q ^ ) δ θ ,
where Ξ was defined in Equation (9). Similarly, the angular velocity is related by,
ω true = ω ^ + δ ω .
The methodology of this approach is summarised in Table 2.

3. Results and Discussion

This section presents the results of analysing each estimation model. The results include simulations of the star tracker, as well as real night sky testing using the CROSS star tracker [30]. In the real night sky test, the Earth’s rotation is used for dynamic testing under a constant rotation. This unfortunately constrains performance analysis to precision only and not accuracy, but still allows meaningful conclusions to be derived.

3.1. Simulations

Both models presented in Section 2.3 are simulated and compared. The error models described in Section 2.2 are used to produce representative measurement errors. The model errors are the same for each filter approach considered. As mentioned, results are also compared to a static least square estimator, to establish a baseline for performance.
Each model starts at an initial attitude of q 0 = 2 2 0 0 1 1 T . The star tracker is set initially at a constant rotation in the y-axis, or pitch direction, with a speed of 36 arc-sec/s. A noise of 1 × 10 4 pixels is set at the centroid of each star.
The simulations are run over a period of 90 min, with measurements captured once every second, i.e., 1 Hz. The star tracker is set to a square field of view of 20 and a stellar magnitude maximum of 5.0. The attitude does not considerably improve with more than 8–10 stars [15,31], so a higher magnitude limit is not necessary.
The results are presented in Figure 2 and Table 3. The best performance for angular velocity is found for the state-based EKF compared to static LLS and state error. A slight improvement from state-based and a large improvement from static when comparing the speed error and standard deviation of Table 3. However, in terms of the attitude, the results are not so distinct.
The yaw error is clearly the worst, being the direction perpendicular to the boresight. In all directions, a slight improvement might be noted in the yaw error by adopting a state approach. The state error approach corrects by small increments at each time step. With significant noise in each stellar measurement, the restricted error term may not be enough to correct the noise.

3.2. Real Night Sky

The EKF approaches may also be compared and further analysed through samples of real night sky images. The EKF is also compared to a LLS based approach that does not consider any prior information.
The test is performed by fixing the CROSS star tracker to a tripod and placing it with the camera facing approximately at the zenith. The camera’s horizontal field of view is approximately 19.9 and the lens focus is located a distance to the sensor that intentionally blurs the stars in the image, aiding sub-pixel centroid analysis. After each captured image, each star is processed by measuring the unit pointing vector and identifying it to an equivalent catalogue of vectors. These vectors are then employed in the LLS or EKF. An illustration of the assembly is presented in Figure 3. As the Earth rotates, the stars move across the camera’s field of view at the known speed of Earth’s rotation.
To compute a constant attitude throughout the test duration, the Earth’s rotation, as well as empirically known nutation and precession angular fluctuations, may be corrected through a series of matrix operations to the measured attitude matrix. The residuals and precision of the measured attitude may then be calculated, providing an evaluation of the star tracker’s performance. The corrections to the attitude matrix A may be given by,
A c o r r = R N P A u n c o r r ,
where R, N and P are the Earth rotation, nutation and precession matrices, respectively. Further description of each correction is described in [33]. The spread is calculated by fitting a linear trend line to the data set, measuring the goodness-of-fit, and transforming this to an error variance.
Each image was captured on a hill in the Inner West of the City of Sydney, Australia, on May 10, 2021. The sky contained some light pollution, but the astronomy weather forecast website, Meteo Blue, reported the presence of no planetary bodies in the night sky, with good visibility conditions and little to no cloud cover. It is considered that atmospheric noise may lead to worse performance, but should not significantly affect comparisons of each approach. The camera board is a FLIR Blackfly S containing a Sony IMX264 image sensor [35], 2448 × 2048 px, and is accompanied by a Scorpion Imaging lens [36], with an approximate diameter of 17 mm and 2/3″ sensor size. Each image is captured with a 15 s interval and an exposure time of 0.15 s.
Each approach is compared, also considering a shorter time difference between each image, and so a faster rotation speed. This is accounted for by reducing the time factor between each correction. Tthe measured attitude in each direction, yaw, pitch and roll, and the angular velocity is considered. The angular velocity of the LLS approach is calculated by taking the simple difference between the measured Euler angles and dividing by the time step.
It should be noted that the dependence on update rate has minimal influence on performance. Farrenkopf [15,37] calculated the steady-state error in the state error EKF for a gyroscope and star tracker Kalman filter, where,
σ θ Δ t 1 / 4 ( σ n σ v ) 1 / 2 ,
where σ v is the gyroscope noise. For the gyroless case, σ v may be treated as a process noise in the propagation step. The dependence on the time update Δ t is the same though, where it is the quartic root.
The results for the attitude and angular velocity are presented in Figure 4. The results are also tabulated in Table 4. The error is calculated for the attitude by fitting a trend line and considering the residual. The error in the angular velocity measurement is calculated by the residual to the known Earth rotation. The standard deviation represents the precision of the data set series to the trend line.
The attitude in Figure 4 shows a slow drift from the initial attitude. This may be due to external factors such as the wind or a general slip on the tripod, and is highlighted by the data spread being greater than the slip or drift speed. The speed results are calculated after a convergence time of 60 s.
Comparing the attitude results of the EKF to the LLS static approach, no distinct improvement is derived from using a filter. Differences between the state error and state-based approaches are also not so clear. This conclusion was also demonstrated in Section 3.1.
The convergence time of the angular velocity is much longer for the EKF, but especially for the state-error approach. This is reasonable, as the state error correction is restricted to only small increments. However, once converged, as seen in Table 4, the EKF precisions are much higher than the static LLS. It may be concluded that for high spin rates, a Kalman filter is more suitable to estimate angular velocity.
Overall, the state approach is better in terms of angular velocity, as in Table 4. This result is suspected to be due to the restricted magnitude of the state error, which is insufficient to correct for propagation approximation error. The difference in attitude accuracy and precision between state-based and state error techniques after convergence in Figure 4 and Table 4 is not strong enough to significantly prefer a state-based over a state error-based approach.
It could be argued that the star tracker could also be tested against more erratic behaviour with a changing angular velocity. However, such phenomena are almost always caused by a deliberate torque in the spacecraft attitude controller, which can be directly measured and fed into the attitude determination system. This would improve results. Higher speeds also are not appropriate, as significantly smeared images at high spin rates cannot successfully identify an attitude [38].

4. Conclusions

This work compares state and state error-based Kalman filter formulations to determine the best approach for the gyroless star tracker. Each approach is traditionally known as additive and multiplicative EKF, but is relabelled for the gyroless case where the spin rate is a directly estimated state. This treatment is important for new applications of star trackers in SSA, where spacecraft spin speeds are an important parameter, as well as traditional attitude determination.
Approaches consider both simulation and real night sky analysis. The real night sky case uses a novel technique for testing in the absence of a known truth orientation. The state-based Kalman approach was determined to perform the best in each case. It is not restricted by the error term and reset step. This approach may encounter ill conditioning of the covariance matrix and requires renormalisation, increasing the error margin. However, the magnitude of these errors are considered minor and were not noticeable in the results reported. Moreover, resetting the covariance matrix proved unnecessary for the analyses reported here.
Further work will see implementation of this Kalman filter on an upcoming satellite mission. It will also see implementation of the state estimate in direct SSA applications.

Author Contributions

Methodology and analysis, J.J.R.C.-M.; supervision, X.W. and I.H.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

Special acknowledgement is given to the members of the CROSS team that supported the development of the star tracker and provided key data to support this paper. This includes Julian Guinane, Matthew Suntup, Benjamin Jarvis, Dominic Albertson, Clarissa Luk, Georgia Markey and Andrew Morrison.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kalman, R.E. A new approach to linear filtering and prediction problems. J. Fluids Eng. Trans. ASME 1960, 82, 35–45. [Google Scholar] [CrossRef] [Green Version]
  2. McLean, J.D.; Schmidt, S.F.; McGee, L.A. Optimal Filtering and Linear Prediction Applied to a Midcourse Navigation System for the Circumlunar Mission; Technical Report; NASA-AMES Research Center: Moffett Field, CA, USA, 1961. [Google Scholar]
  3. Smith, G.L.; Schmidt, S.F.; McGee, L.A. Application of Statistical Filter Theory to the Optimal Estimation of Position and Velocity on Board a Circumlunar Vehicle; Technical Report; NASA-AMES Research Center: Moffett Field, CA, USA, 1962. [Google Scholar]
  4. Farrell, J.L. Attitude Determination by Kalman Filtering. Autonatica 1970, 6, 419–430. [Google Scholar] [CrossRef]
  5. Pauling, D.C.; Jackson, D.B.; Brown, C.D. SPARS algorithms and simulation results. In Proceedings of the Symposium on Spacecraft Attitude Determination, El Segundo, CA, USA, 30 September–2 October 1969; pp. 293–316. [Google Scholar]
  6. Gai, E.; Daly, K.; Harrison, J.; Lemos, L. Star-Sensor-Based Satellite Attitude/Attitude Rate Estimator. J. Guid. Control Dyn. 1985, 8, 560–565. [Google Scholar] [CrossRef]
  7. Challa, M.; Natanson, G.A.; Baker, D.E.; Deutschmann, J.K. Advantages of Estimating Rate Corrections During Dynamic Propagation of Spacecraft Rates-Applications to Real-Time Attitude Determination of SAMPEX. In Proceedings of the Flight Mechanics/Estimation Theory Symposium, Greenbelt, MD, USA, 17–19 May 1994; pp. 481–495. [Google Scholar]
  8. Chu, D.; Harvie, E. Accuracy of the ERBS Definitive Attitude Determination System in the Presence of Propagation Noise. In Proceedings of the Flight Mechanics/Estimation Theory Symposium, Greenbelt, MD, USA, 22–24 May 1990; pp. 97–114. [Google Scholar]
  9. Crassidis, J.L.; Markley, F.L. Predictive Filtering for Attitude Estimation without Rate Sensors. J. Guid. Control Dyn. 1997, 20, 522–527. [Google Scholar] [CrossRef] [Green Version]
  10. Hajiyev, C.; Guler, D.C. Review on gyroless attitude determination methods for small satellites. Prog. Aerosp. Sci. 2017, 90, 54–66. [Google Scholar] [CrossRef]
  11. Shuster, M.D. Kalman Filtering of Spacecraft Attitude and the QUEST Model. J. Astronaut. Sci. 1990, 38, 377–393. [Google Scholar]
  12. Leffens, E.J.; Markley, F.L.; Shuster, M.D. Kalman filtering for spacecraft attitude estimation. J. Guid. Control Dyn. 1982, 5, 417–429. [Google Scholar] [CrossRef]
  13. Crassidis, J.L.; Markley, F.L. Unscented filtering for spacecraft attitude estimation. J. Guid. Control Dyn. 2003, 26, 536–542. [Google Scholar] [CrossRef] [Green Version]
  14. Cheng, Y.; Crassidis, J.L.; Markley, F.L. Attitude Estimation for Large Field-of-View Sensors. J. Astronaut. Sci. 2006, 54, 433–448. [Google Scholar] [CrossRef] [Green Version]
  15. Markley, F.L.; Crassidis, J.L. Filtering for Attitude Estimation and Calibration. In Fundamentals of Spacecraft Attitude Determination and Control, 1st ed.; Springer Science and Business Media: Berlin/Heidelberg, Germany, 2014; pp. 235–343. [Google Scholar]
  16. Darling, J.E.; Houtz, N.; Frueh, C.; Demars, K.J. Recursive filtering of star tracker data. In Proceedings of the AIAA/AAS Astrodynamics Specialist Conference, Long Beach, CA, USA, 13–16 September 2016; pp. 5672–5695. [Google Scholar] [CrossRef]
  17. Li, J.; Wei, X.; Zhang, G. An extended Kalman filter-based attitude tracking algorithm for star sensors. Sensors 2017, 17, 1921. [Google Scholar] [CrossRef] [PubMed]
  18. Tan, N.D.; Vinh, T.Q.; Tuyen, B.T. A new approach for small satellite gyroscope and star tracker fusion. Indian J. Sci. Technol. 2016, 9, 1–7. [Google Scholar] [CrossRef]
  19. Fan, C.; Meng, Z.; Liu, X. Multiplicative quaternion extended consensus Kalman filter for attitude and augmented state estimation. In Proceedings of the Chinese Control Conference, CCC, Chengdu, China, 27–29 July 2016; pp. 8043–8048. [Google Scholar] [CrossRef]
  20. Lee, D.; Vukovich, G.; Lee, R. Robust Adaptive Unscented Kalman Filter for Spacecraft Attitude Estimation Using Quaternion Measurements. J. Aerosp. Eng. 2017, 30, 04017009. [Google Scholar] [CrossRef]
  21. Grewal, M.; Shiva, M. Application of Kalman filtering to gyroless attitude determination and control system for environmental satellites. In Proceedings of the 1995 34th IEEE Conference on Decision and Control, New Orleans, LA, USA, 13–15 December 1995; Volume 2, pp. 1544–1552. [Google Scholar]
  22. Dave, S.; Clark, R.; Lee, R.S. RSOnet: An Image-Processing Framework for a Dual-Purpose Star Tracker as an Opportunistic Space Surveillance Sensor. Sensors 2022, 22, 5688. [Google Scholar] [CrossRef] [PubMed]
  23. Tetlow, M.R.; Chin, T. Robust Attitude Estimation to Support Space Monitoring Using Nano-Satellites. In Proceedings of the AIAA SPACE 2014 Conference and Exposition, San Diego, CA, USA, 4–7 August 2014; p. 4293. [Google Scholar]
  24. Gaoxiang, O.; Wenliang, L.; Pingke, D.; Guocan, Z. Attitude and Angle Rate Determination of Gyroless Spacecraft Based on SVD Kalman Filter Only Using Star Sensor. In Proceedings of the 2021 33rd Chinese Control and Decision Conference (CCDC), Kunming, China, 22–24 May 2021; pp. 5256–5260. [Google Scholar]
  25. Leeghim, H.; Bang, H.; Lee, C.Y. Angular rate and alignment estimation for gyroless spacecraft by only star trackers. Int. J. Control Autom. Syst. 2018, 16, 2235–2243. [Google Scholar] [CrossRef]
  26. Ding, Y.; Zhao, X.; Zhang, Z.; Cai, W.; Yang, N.; Zhan, Y. Semi-supervised locality preserving dense graph neural network with ARMA filters and context-aware learning for hyperspectral image classification. IEEE Trans. Geosci. Remote. Sens. 2021, 60, 1–12. [Google Scholar] [CrossRef]
  27. Carron, A.; Todescato, M.; Carli, R.; Schenato, L.; Pillonetto, G. Machine learning meets Kalman filtering. In Proceedings of the 2016 IEEE 55th Conference on Decision and Control (CDC), Las Vegas, NV, USA, 12–14 December 2016; pp. 4594–4599. [Google Scholar]
  28. Zhang, S.T.; Wei, X.Y. Fuzzy adaptive Kalman filtering for DR/GPS. In Proceedings of the 2003 International Conference on Machine Learning and Cybernetics (IEEE Cat. No. 03EX693), Xi’an, China, 2–5 November 2003; Volume 5, pp. 2634–2637. [Google Scholar]
  29. Russo, A.; Lax, G. Using Artificial Intelligence for Space Challenges: A Survey. Appl. Sci. 2022, 12, 5106. [Google Scholar] [CrossRef]
  30. Suntup, M.; Cairns, I.; Critchley-Marrows, J.; Wu, X.; Albertson, D.; Guinane, J.; Jarvis, B. Implementation of a WFOV Star Tracker in CubeSat and Small Satellite Attitude Determination Systems. In Proceedings of the 43rd COSPAR Scientific Assembly, Sydney, Australia, 28 January–4 February 2021; Volume 43, p. 59. [Google Scholar]
  31. Critchley-Marrows, J.; Wu, X. Investigation into Integrated Attitude Determination in High-Precision CubeSats. In Proceedings of the 68th International Astronautical Congress, Adelaide, Australia, 25–29 September 2017; pp. 1–5. [Google Scholar]
  32. Critchley-Marrows, J.; Wu, X. Investigation into Star Tracker Algorithms using Smartphones with Application to High-Precision Pointing CubeSats. Trans. Jpn. Soc. Aeronaut. Space Sci. 2019, 17, 327. [Google Scholar] [CrossRef]
  33. Jarvis, B.; Guinane, J.; Wu, X.; Critchley-Marrows, J. Development of a Low-Cost Testing Methodology for Star Trackers. In Proceedings of the 19th Australian Space Research Conference, Adelaide, Australia, 30 September–2 October 2020; pp. 1–14. [Google Scholar]
  34. Chou, J.C. Quaternion Kinematic and Dynamic Differential Equations. IEEE Trans. Robot. Autom. 1992, 8, 53–64. [Google Scholar] [CrossRef]
  35. FLIR. Technical Reference—FLIR Blackfly S. Available online: https://www.eureca.de/files/pdf/optoelectronics/flir/BFS-U3-50S5-BD2-Technical-Reference.pdf (accessed on 1 August 2022).
  36. Scorpion Vision Limited. Specification Sheet—S-Mount 25mm F1.7 Lens–SVL-IR2517B5M. Available online: https://files.ecommercedns.uk/230067/ffc50f57ca9f2b26564af2e7b3343768.pdf (accessed on 1 August 2022).
  37. Farenkopf, R.L. Analytic steady-state accuracy solutions for two common spacecraft attitude estimators. J. Guid. Navig. Control 1978, 1, 282–284. [Google Scholar] [CrossRef]
  38. Guinane, J.; Jarvis, B.; Suntup, M.; Wu, X.; Critchley-Marrows, J.; Cairns, I.H. Assessing the viability of a wide field of view based stellar gyroscope. In Proceedings of the 18th Australian Space Research Conference, Adelaide, Australia, 30 September–2 October 2019; pp. 109–120. [Google Scholar]
Figure 1. Rotation of an arbitrary vector x about the rotation vector [15].
Figure 1. Rotation of an arbitrary vector x about the rotation vector [15].
Sensors 22 09002 g001
Figure 2. Attitude measurement performance for the simulation operating at a constant speed of 36 arc-sec/s.
Figure 2. Attitude measurement performance for the simulation operating at a constant speed of 36 arc-sec/s.
Sensors 22 09002 g002
Figure 3. Illustration of zenith facing camera for static image testing using Earth rotation. Angular movement of stars through camera field of view caused solely by Earth rotation.
Figure 3. Illustration of zenith facing camera for static image testing using Earth rotation. Angular movement of stars through camera field of view caused solely by Earth rotation.
Sensors 22 09002 g003
Figure 4. Attitude measurement performance for the standard time step of 1 s, considering each approach.
Figure 4. Attitude measurement performance for the standard time step of 1 s, considering each approach.
Sensors 22 09002 g004
Table 1. EKF methodology for the Star Tracker only state-based approach.
Table 1. EKF methodology for the Star Tracker only state-based approach.
States x k = q 0 q 1 q 2 q 3 ω x ω y ω z T
z k = α 1 γ n T
Propagation Update q ^ k + 1 = Φ q q q k +
ω ^ k + 1 = ω ^ k +
P k + 1 = Φ P k + Φ T + Q
Φ = Φ q q Φ q ω 0 I 3
Measurement Update K k = P k H k T ( x ^ k H k ( x ^ k ) P k H k T ( x ^ k ) + R k 1
x ^ k + = x ^ k + K k [ z ^ k h k ( x ^ k ) ]
P k + = [ I 7 K k H k ( x ^ k ) ] P k
H k ( x ^ k ) = α 1 q 0 α 1 q 1 α 1 q 2 α 1 q 3 α 1 ω x α 1 ω y α 1 ω z γ n q 0 γ n q 1 γ n q 2 γ n q 3 γ n ω x γ n ω y γ n ω z
h k ( x ^ k ) = α 1 γ n
q ^ k + = q ^ k * + | q ^ k * + |
Table 2. EKF methodology for the Star Tracker using the state error approach.
Table 2. EKF methodology for the Star Tracker using the state error approach.
States x k = q 0 q 1 q 2 q 3 ω x ω y ω z T
Δ x k = δ θ x δ θ y δ θ z δ ω x δ ω y δ ω z T
z k = b 1 T b n T T
Propagation Update q ^ k + 1 = Φ q q q k +
ω ^ k + 1 = ω ^ k +
P k + 1 = Φ P k + Φ T + Q
Φ = Φ δ θ δ θ Φ δ θ δ ω 0 3 I 3
Measurement Update K k = P k H k T ( x ^ k H k ( x ^ k ) P k H k T ( x ^ k ) + R k 1
Δ x ^ k + = K k [ z ^ k h k ( x ^ k ) ]
P k + = [ I 7 K k H k ( x ^ k ) ] P k
H k ( x ^ k ) = [ A ( q ^ k ) r 1 × ] 0 3 q ^ k ) r N × ] 0 3
h k ( x ^ k ) = A ( q ^ k ) r 1 A ( q ^ k ) r N
q k * + = q ^ k + 1 2 Ξ ( q ^ k ) δ θ k +
q ^ k + = q ^ k * + | q ^ k * + |
ω ^ k + = ω ^ k + δ ω ^ k +
Table 3. EKF results with the simulation using an angular speed of 36 arc-sec/s.
Table 3. EKF results with the simulation using an angular speed of 36 arc-sec/s.
ParameterMeasureLLSEKF StateEKF State Error
RollError [arc-sec]0.040.010.12
Standard Deviation [arc-sec]3.592.603.26
PitchError [arc-sec]0.020.050.13
Standard Deviation [arc-sec]3.652.532.91
YawError [arc-sec]0.600.460.20
Standard Deviation [arc-sec]25.867.8812.93
SpeedError [arc-sec/s]30.630.120.4
Standard Deviation [arc-sec/s]21.30.310.18
Table 4. EKF results with real night sky imagery using a 1 s time displacement between each image, and so an angular speed of 36 arc-sec/s.
Table 4. EKF results with real night sky imagery using a 1 s time displacement between each image, and so an angular speed of 36 arc-sec/s.
ParameterMeasureLLSEKF StateEKF State Error
RollResidual [arc-sec]28.4928.3228.51
Standard Deviation [arc-sec]8.348.438.34
PitchResidual [arc-sec]66.2866.4666.30
Standard Deviation [arc-sec]6.266.336.27
YawResidual [arc-sec]75.3975.8975.06
Standard Deviation [arc-sec]27.8726.1827.74
SpeedResidual [arc-sec/s]10.170.701.50
Standard Deviation [arc-sec/s]8.090.611.16
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Critchley-Marrows, J.J.R.; Wu, X.; Cairns, I.H. Treatment of Extended Kalman Filter Implementations for the Gyroless Star Tracker. Sensors 2022, 22, 9002. https://doi.org/10.3390/s22229002

AMA Style

Critchley-Marrows JJR, Wu X, Cairns IH. Treatment of Extended Kalman Filter Implementations for the Gyroless Star Tracker. Sensors. 2022; 22(22):9002. https://doi.org/10.3390/s22229002

Chicago/Turabian Style

Critchley-Marrows, Joshua J. R., Xiaofeng Wu, and Iver H. Cairns. 2022. "Treatment of Extended Kalman Filter Implementations for the Gyroless Star Tracker" Sensors 22, no. 22: 9002. https://doi.org/10.3390/s22229002

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop