Next Article in Journal
Coastal Bathymetric Sounding in Very Shallow Water Using USV: Study of Public Beach in Gdynia, Poland
Previous Article in Journal
Computer Vision and Machine Learning for Intelligent Sensing Systems
Previous Article in Special Issue
Gyro-Free Inertial Navigation Systems Based on Linear Opto-Mechanical Accelerometers
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

GMM-Based Adaptive Extended Kalman Filter Design for Satellite Attitude Estimation under Thruster-Induced Disturbances

Department of Aerospace Engineering, Korea Advanced Institute of Science and Technology, 201 Daehak-ro, Yuseong-gu, Daejeon 34141, Republic of Korea
*
Author to whom correspondence should be addressed.
Sensors 2023, 23(9), 4212; https://doi.org/10.3390/s23094212
Submission received: 10 February 2023 / Revised: 31 March 2023 / Accepted: 18 April 2023 / Published: 23 April 2023
(This article belongs to the Special Issue Attitude Estimation Based on Data Processing of Sensors)

Abstract

:
Star images from star trackers are usually defocused to capture stars over an exposure time for better centroid measurements. While a satellite is maneuvering, the star point on the screen of the camera is affected by the satellite, which results in the degradation of centroid measurement accuracy. Additionally, this could result in a worse star vector outcome. For geostationary satellites, onboard thrusters are used to maintain or change orbit parameters under orbit disturbances. Since there is misalignment in the thruster and torque is generated by an impulsive shape signal from the torque command, it is difficult to generate target torque; in addition, it also impacts the star image because the impulsive torque creates a sudden change in the angular velocity in the satellite dynamics. This makes the noise of the star image non-Gaussian, which may require introducing a method for dealing with non-Gaussian measurement noise. To meet this goal, in this study, an adaptive extended Kalman filter is implemented to predict measurement vectors with predicted states. The GMM (Gaussian mixture model) is connected in this sequence, giving weighting parameters to each Gaussian density and resulting in the better prediction of measurement vectors. Simulation results show that the GMM-EKF exhibits a better performance than the EKF for attitude estimation, with 30% improvement in performance. Therefore, the GMM-EKF could be a more attractive approach for use with geostationary satellites during station-keeping maneuvers.

1. Introduction

This paper introduces a method for adaptively improving the performance of an attitude extended Kalman filter with a star tracker and gyroscope under thruster-induced disturbance onboard a geostationary satellite.
Due to external disturbances such as the influence of the Moon, the Sun and the noncentrality of the Earth’s gravitational field, satellite orbit parameters change with time and, therefore, the orbit ceases to be geostationary [1]. Thrusters onboard geostationary satellites are used to maintain orbit parameters. However, misalignment in the thrusters’ setup produces additional disturbances to the satellite. These problems result in unnecessary fuel consumption during mission mode [2]. Moreover, the torque command from the attitude control law is converted into an impulse shape signal. The pulse width modulator (PWM) impacts the attitude estimation carried out with an extended Kalman filter because star tracker images are directly influenced by the thruster-induced disturbance. In this environment, the noise of a star vector is not white Gaussian noise, but rather is considered to be non-Gaussian noise. Special care should be taken when dealing with non-Gaussian noise if an EKF is the estimator. However, previous research about station-keeping maneuvering for geostationary satellites has not included precise attitude determination under non-Gaussian noise when using star tracker as an attitude sensor [3,4]. Star images are usually generated by defocusing the camera images in order to precisely acquire the centroids of stars. When the satellite is maneuvering, the star image is blurred during the star tracker’s exposure time and the centroid measurements of the star tracker will have degraded accuracy.
There are two categories of solutions when the blurring occurs in the star images. One is to remove the blur directly from the image; the other is to measure the star vector of the blurred image and apply it to the attitude Kalman filter considering a non-Gaussian noise process.
There have already been substantial efforts to remove the blurring effect of star images when under the dynamical conditions of satellites. Most researchers have concentrated on modeling the PSF as accurately as possible and applied it to the deblurring algorithms. The authors of [5] employed a correlation filter to conduct denoising and improve the signal for deblurring star images, considering the angular velocity of the spacecraft to be a constant speed. In addition, the authors of [6] proposed a method to model the PSF of star images and compensate for it under a constant angular velocity and nonfixed angular velocity. Meanwhile, [7] developed a method to simulate multiple blurred star images with uniform and nonuniform blur. Another approach involved restoring blurred star images using maximum likelihood estimation with the aid of microelectromechanical systems (MEMS) gyroscopes [8]. The authors of [9] proposed a motion blur model for the real star tracker that accounts for composite motion beyond uniform and nonuniform motions, and simulated blurred star images under rotations and angular vibrations. Finally, a study by [10] implemented a Kalman filter to estimate the centroids of star images, which improves performance by proposing the covariance prediction equation, adaptive tuning process, and measurement noise matrices depending on the star light magnitude or star existence in the image.
A lot of work has also been done on using the extended Kalman filter (EKF) to estimate the satellite attitude with the star vector measurement as well as recovering blurry images. Ref. [11] represented the algorithm of attitude EKF using a quaternion parameter. Ref. [12] expanded the algorithm of [11] to have the multiplicative error quaternion to avoid a constraint of the quaternion. Since the attitude EKF in [11] assumed a zero-mean Gaussian white-noise process, an adaptive Kalman filter should be used to adaptively tune the parameters in real time if the measurement noise is the non-Gaussian noise process.
The adaptive Kalman filter has been widely studied to tune the process noise matrix and the measurement noise matrix. There are various methods for making the Kalman filter adaptive [13]. A covariance matching algorithm is one of the techniques that is tracking the innovation profile of the filter. It could be divided into the R-adaptation and the Q-adaptation. A multiple model-based adaptive estimation (MMAE) method is also the technique of the adaptive Kalman filter that constructs the Kalman filters with different models and merges the estimates of all filters using the probability that each model is true [14].
However, these techniques have not reflected the non-Gaussian noise process of the measurement. In order to deal with the non-Gaussian noise process, the GMM could be adopted for the prediction of measurement noise with the state of the filter and it provides desirable estimation results [15]. In addition, the GMM has been previously used to compensate for non-Gaussian process noise in the system [16]. Ref. [17] used the GMM to capture the nonlinearities of the light-curve measurement model with the adaptive unscented Kalman filter for the attitude determination. Therefore, the GMM-based extended Kalman filter is applied to predict the non-Gaussian process noise under the blurred star image in this paper.
In this paper, our focus is on increasing the performance of attitude estimation based on star vector measurements with the aid of a gyroscope. The attitude EKF is introduced to carry out the vector measurements via attitude prediction (a priori attitude), utilizing the angular velocity estimate. Since the attitude EKF only considers a measurement model with Gaussian noise, a method that deals with the PSF (point spread function) in star images should be used. A PSF under a small angular velocity would not be a problem for attitude estimation; however, the attitude estimation performance may deteriorate under fast maneuvering or complicated dynamics.
The rest of the paper is organized as follows: Section 2 presents a star image generation method with the PSF, demonstrates thruster modeling, and describes the influence of thruster-induced disturbance on the star image using a simulation example. Section 3 introduces the attitude extended Kalman filter with an error quaternion. Section 4 and Section 5 detail GMM implementation with the extended Kalman filter to predict the non-Gaussian measurement noise. The simulation results of the EKF and GMM-EKF are compared and discussed. These comparisons show that the accuracy of the attitude estimation of the GMM-EKF is around 30% better than that of the EKF.

2. Star Image Generation with PSF

2.1. Pinhole Camera Model of Star Tracker

The star tracker measurement method is modeled using a pinhole camera model shown in Figure 1. Star points are generated in the focal plane through the optical lens system.
The relationship between the inertial frame and the star tracker frame of a star position coordinate system was obtained from [18], such that
b = 1 x x 0 2 + y y 0 2 + f 2 x x 0 y y 0 f ,
r = cos Λ n cos 𝓁 n sin Λ n cos 𝓁 n sin 𝓁 n ,
where O x y z is the frame system of the star tracker, x 0 , y 0 is a point where the boresight axis intersects the focal plane, f is the focal length, b represents the observed star vector in the star tracker frame, r is the reference star vector in the star catalogue that the star tracker is equipped with, and Λ , 𝓁 is the right ascension and declination of the observed star defined in the celestial sphere. The reference star vector and observed star vector have a relationship with the attitude direction cosine matrix A q , which is defined by two coordinate systems written as
b = A q r ,
where A q is the direction cosine matrix for the attitude quaternion q given by
q = ς T q 4 T ,
ς = q 1 q 2 q 3 T ,
where ς corresponds to a vector part of q and q 4 is a scalar part of q .

2.2. Star Tracker Image Generation

Once the star position is determined, the star’s light distribution around the center of the star spot should be calculated. In order to facilitate the determination of the centroids with subpixel accuracy, the optics of the star tracker need to be slightly defocused so that the star light is spread out over several pixels [19]. The most accurate centroiding algorithms rely on fitting a PSF to the measured pixel data [20]. In [21], the star spot PSF is defined by
PSF ( x , y ) = 1 2 π σ lens 2 exp x x 0 2 + y y 0 2 2 σ lens 2 ,
where σ lens is the Gaussian PSF radius, which is related to the spread scale of the optical lens. In addition, the star’s light distribution for a star spot is defined by
E spot ( x , y ) = n flux T exp PSF ( x , y ) ,
where n flux is the incident flux of the star on the image plane and T exp is the exposure time.
In order to obtain the centroid from the star’s light distribution, the center of gravity is evaluated around the star spot as given by [22]
x c , y c = p i = 1 p j = 1 x p i E spot ( p i , p j ) p i = 1 p j = 1 E spot ( p i , p j ) , p i = 1 p j = 1 y p i E spot ( p i , p j ) p i = 1 p j = 1 E spot ( p i , p j ) ,
where x p i and y p i are the p i th pixel integer coordinates.

2.3. Star Tracker Image under Thruster-Induced Disturbance

2.3.1. Thruster Modeling

In general, six thrusters are needed to allow for attitude maneuvers in space; although, some highly sophisticated systems claim to achieve the same space maneuvers with only four thrusters that are strategically located on the satellite body. For various practical reasons six or more thrusters are necessary to complete a reaction control system [23]. Therefore, six thrusters were chosen as the number of thruster units in this paper.
For a single thruster unit, the torque components were derived by considering the setup location, direction of the thruster, and elevation and azimuth angles defined in the coordinate system of the thruster [23]. Figure 2 presents a single thruster’s setup direction with regard to the satellite body axis and sequences of rotation of the thruster’s frame. In this paper, the system of rotation of each thruster unit is the same as the system in reference [23]. First, the y B axis is rotated based on the amount of β thr , and then the z B axis is rotated based on the amount of α thr . Hence, the resultant force components are given by
F thr , x = F lev cos ( α thr ) cos ( β thr ) , F thr , y = F lev sin ( α thr ) , F thr , z = F lev cos ( α thr ) sin ( β thr ) ,
where F thr , x , F thr , y , and F thr , z are components of the unit thruster force vector F thr , and F lev represents the thruster level.
The misalignment of the thruster setup is considered in this paper, which leads to
F thr , x = F lev cos ( α thr + Δ α thr ) cos ( β thr + Δ β thr ) , F thr , y = F lev sin ( α thr + Δ α thr ) , F thr , z = F lev cos ( α thr + Δ α thr ) sin ( β thr + Δ β thr ) ,
where Δ α thr and Δ β thr are misalignment angles of the unit thruster setup. By considering the position of the unit thruster r thr , the torque τ thr from the unit thruster is given by
τ thr = r thr × F thr = r thr , y sin ( β thr , mis ) cos ( α thr , mis ) r thr , z sin ( α thr , mis ) r thr , z cos ( α thr , mis ) cos ( β thr , mis ) r thr , x cos ( α thr , mis ) sin ( α thr , mis ) r thr , x sin ( α thr , mis ) r thr , y cos ( α thr , mis ) cos ( β thr , mis ) F lev = Δ x th , arm Δ y th , arm Δ z th , arm F lev ,
where Δ x th , arm , Δ y th , arm , and Δ z th , arm represent the equivalent torque arms of the thruster τ thr for the three-axis satellite body frame, and r thr , x , r thr , y , and r thr , z are the three-axis components of position vector r thr measured from the center of the mass of the satellite. In addition, α thr , mis and β thr , mis are rotation angles for considering misalignments given by
α thr , mis = α thr + Δ α thr , β thr , mis = β thr + Δ β thr .

2.3.2. Thruster Torque Command Generation with Pulse Width Modulation

Reaction controllers can be used in a quasilinear mode by modulating the width of the activated reaction pulse proportionally to the level of the torque command that is input into the controller, which is the often-used pulse width modulation (PWM) principle [23]. Torque from the thruster is generated based on the ratio between the time that the thruster is on and the thruster sampling time. The activating time for each thruster is derived using the thruster set-up model, which is shown in Figure 3. All thruster setups for each thruster location and rotation direction, as well as all equations in this section, were obtained from [23].
The relationship between the three-axis torque command from the control law and the ratio is given by
τ cmd , x = r ratio , 5 G x B , 5 + r ratio , 3 G x B , 3 r ratio , 4 G x B , 4 r ratio , 6 G x B , 6 τ cmd , z = r ratio , 5 G z B , 5 + r ratio , 6 G z B , 6 r ratio , 3 G z B , 3 r ratio , 4 G z B , 4 τ cmd , y = r ratio , 2 G y B , 2 r ratio , 1 G y B , 1 ,
where r ratio , i represents the i th i = 1 , 2 , , 6 ratio and G x B , i , G y B , i , and G z B , i are i th torque constants written as
G x B , i = F lev Δ x th , arm , i G y B , i = F lev Δ y th , arm , i G z B , i = F lev Δ z th , arm , i
where, Δ x th , arm , i , Δ y th , arm , i , and Δ z th , arm , i are the i th torque arms of the three-axis satellite body frame. Using the thruster setup in Figure 3, the torque constants are defined as
G x B , 3 = G x B , 4 = G x B , 5 = G x B , 6 = F lev Δ x th , arm , ex = G x B , ex G z B , 3 = G z B , 4 = G z B , 5 = G z B , 6 = F lev Δ z th , arm , ex = G z B , ex G y B , 1 = G y B , 2 = F lev Δ y th , arm , ex = G y B , ex
where Δ x th , arm , ex , Δ y th , arm , ex , and Δ z th , arm , ex represent the torque arms of the three-axis satellite body frame, and the torque constants for each axis are represented as G x B , ex , G y B , ex , and G z B , ex , as shown in Figure 3. Then, Equation (13) can be rewritten as
τ cmd , x = r ratio , 5 + r ratio , 3 r ratio , 4 r ratio , 6 G x B , ex τ cmd , z = r ratio , 5 + r ratio , 6 r ratio , 3 r ratio , 4 G z B , ex τ cmd , y = r ratio , 2 r ratio , 1 G y B , ex .
After normalization of the command torques, Equation (16) becomes
τ ^ cmd , x = τ cmd , x G x B , ex = r ratio , 5 + r ratio , 3 r ratio , 4 r ratio , 6 τ ^ cmd , z = τ cmd , z G z B , ex = r ratio , 5 + r ratio , 6 r ratio , 3 r ratio , 4 τ ^ cmd , y = τ cmd , y G y B , ex = r ratio , 2 r ratio , 1 ,
where τ ^ cmd , x , τ ^ cmd , y , and τ ^ cmd , z are the normalized torques for each axis. The first and second normalized torques from Equation (17) can be rewritten in a matrix form as
τ ^ cmd , x τ ^ cmd , z = 1 1 1 1 1 1 1 1 r ratio , 3 r ratio , 4 r ratio , 5 r ratio , 6 .
By evaluating a pseudoinverse, the above equation can be rewritten as
r ratio , 3 r ratio , 4 r ratio , 5 r ratio , 6 = 1 4 1 1 1 1 1 1 1 1 τ ^ cmd , x τ ^ cmd , z .
The thruster on-time for each thruster could be found to be negative based on the three-axis torque command, which is not physically possible. In order to solve this problem, the thruster unit which has a negative on-time is turned off and replaced with the one which has a positive on-time, enabling it to provide the same torque. The operational logic is shown in Algorithm 1 [23].
Algorithm 1: Thruster on-time setting algorithm
Input :   τ ^ cmd , x ,   τ ^ cmd , y ,   τ ^ cmd , z Compute the ratio of thruster 3, 4, 5, 6 using (19). r r ratio , 6 = r ratio , 6 r ratio , 3 ; r r ratio , 3 = 0 ; if r r ratio , 6 < 0 r r ratio , 3 = r ratio , 3 r ratio , 4 ; r r ratio , 6 = 0 ; end r r ratio , 4 = r ratio , 4 r ratio , 5 ; r r ratio , 5 = 0 ; if r r ratio , 4 < 0 r r ratio , 5 = r ratio , 5 r ratio , 4 ; r r ratio , 4 = 0 ; end if τ ^ cmd , y > 0 r r ratio , 2 = τ ^ cmd , y ; r r ratio , 1 = 0 ; end if τ ^ cmd , y < 0 r r ratio , 1 = Abs τ ^ cmd , y ; r r ratio , 2 = 0 ; end Output :   r ratio , 1 ,   r ratio , 2 ,   r ratio , 3 ,   r ratio , 4 ,   r ratio , 5 ,   r ratio , 6 r ratio , 1 r ratio , 2 r ratio , 3 r ratio , 4 r ratio , 5 r ratio , 6 = r r ratio , 1 r r ratio , 2 r r ratio , 3 r r ratio , 4 r r ratio , 5 r r ratio , 6
In Algorithm 1, Abs represents an absolute of the value.

2.3.3. Star Image Implementation under Thruster-Induced Disturbance

In this section, a star image under thruster-induced disturbance is simulated to model the smearing effect and is compared with a situation where the satellite is stationary. For the simulation, the thruster setup is the same as that shown in Figure 3. Thruster specifications are presented in Table 1 and star tracker specifications are provided in Table 2. The star tracker boresight axis is aligned with the z B axis of the satellite body frame.
The satellite is assumed to be initially stationary, and the goal of this simulation is to maintain its attitude as zero. To control the satellite attitude, a quaternion feedback PD control law is applied in a form obtained from [24] as given by
u = ω × J ω K D ω K P q e ,
where ω is an angular velocity vector of the body frame relative to the reference frame and ω × is a skew symmetric matrix of ω . J represents the moment of inertia of the satellite and q e is the error of the current and target quaternion defined by
q e = q q target 1 ,
where K D and K P are control gains which are written as
K D = d gain J , K P = k gain J ,
where d gain and k gain are designed to be in the form of
d gain = 2 ξ dam ω n , k gain = 2 ω n 2 ,
where ξ dam is a damping ratio and ω n is a natural frequency given by
ω n = 8 t s ξ d a m ,
where t s is a settling time. The rigid satellite model and controller gain information is presented in Table 3.
Three stars were captured by the star tracker at the initial attitude in the simulation. The magnitudes of each star were 4.24, 3.03, and 4.52. The simulation time was 100 s, and these three stars were continuously captured in the camera of the star tracker. During the simulation, the true quaternion and true angular velocity were used for attitude control without sensor data since the goal was to examine the smearing effect with the angular velocity induced by thruster disturbance.
Euler angle error, angular velocity, and thruster torque are described in Figure 4, Figure 5 and Figure 6, respectively.
Figure 4 shows that the Euler angle has a steady state error, which is related to the thruster’s sampling time and the closed-loop bandwidth. The angular velocity has an oscillatory profile in Figure 5 because the output of each thruster is generated in an impulse form, with the sampling time of the thruster as shown in Figure 6a.
The smearing effect due to the thruster torque is described in Figure 7 and Figure 8. At the initial time, since the angular velocity is 0.01°/s for each axis, the star image is not blurred as much by the angular motion as it is in the thruster-operating case. In Figure 8, each star spot is more influenced by the angular motion than in Figure 7.
In order to reduce the smearing effect, an attitude extended Kalman filter will be introduced in the next section that predicts measurement noise based on the PSF information.

3. Extended Kalman Filter for Attitude Determination

In this section, an extended Kalman filter for spacecraft attitude determination is introduced. Observations from multiple stars are used to carry out measurements with the EKF and angular velocity measurements from the gyroscope are used for the propagation of states and covariances of the EKF. The quaternion parameter is chosen to represent the spacecraft attitude because it is free from singularities for all attitudes. In addition, the quaternion features the lowest dimensional attitude parameterization compared to all other alternatives. However, the quaternion has a normalization constraint which may be violated during the update sequence of the standard EKF. Instead of using the quaternion as a state, a multiplicative error quaternion-based extend Kalman filter is selected because the four-component quaternion can effectively be replaced by a three-component error vector [25].

3.1. Multiplicative Quaternion Formulation

A multiplicative quaternion-based extended Kalman filter, made by Lefferts et al. [12], has been used to implement an attitude determination filter. This section briefly introduces the derivation and configuration of this filter by referring to [12] and [25]. The derivation of the multiplicative extended Kalman filter begins with a quaternion kinematics model described as
q ˙ = 1 2 Ω ω q ,
where
Ω ω = ω × ω ω T 0 ,
and q is a quaternion where q = ς T q 4 T . Because of the normalization constraint of the quaternion, error quaternion kinematics is adopted for the extended Kalman filter.
First, an error quaternion is defined as
δ q = q q ^ 1 ,
where δ q = δ ς T δ q 4 T and is an operator for quaternion multiplication. Error quaternion kinematics is written as
δ q ˙ = ω ^ × δ ς 0 + 1 2 δ ω 0 δ q .
Following first-order approximation, it is given by
δ ς ˙ = ω ^ × δ ς + 1 2 δ ω , δ q ˙ 4 = 0 .
A rate-integrating gyro is a commonly used sensor for measuring angular velocity and its observation model is defined as
ω = ω ˜ β η v , β ˙ = η u .
where ω ˜ is a gyroscope measurement, β is a bias vector, and η v and η u are zero-mean Gaussian white-noise processes with covariances given by σ v 2 I 3 × 3 and σ u 2 I 3 × 3 , respectively [25]. The estimated angular velocity and the time derivative of the bias vector are as follows:
ω ^ = ω ˜ β ^ , β ^ ˙ = 0 .
with Equations (30) and (31), and δ ω = ω ω ^ , Equation (29) yields
δ ς ˙ = ω ^ × δ ς 1 2 Δ β + η v ,
where Δ β = β β ^ . The small angle approximation, δ ς = δ α / 2 , gives
δ α = ω ^ × δ α Δ β + η v ,
where δ α is the components of the roll, pitch, and yaw angles for any rotational sequence. Using Equations (30) and (32), the extended Kalman filter error model is described as
Δ x ˜ ˙ ( t ) = F ( x ^ ( t ) , t ) Δ x ˜ ( t ) + G ( t ) w ( t ) ,
where Δ x ˜ ( t ) = δ α T ( t ) δ β T ( t ) T , w ( t ) = η v T ( t ) η u T ( t ) T , and F ( x ^ ( t ) , t ) . Additionally, G ( t ) and Q ( t ) are given by
F ( x ^ ( t ) , t ) = ω ^ ( t ) × I 3 × 3 0 3 × 3 0 3 × 3 ,
G ( t ) = I 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 ,
Q ( t ) = σ v 2 I 3 × 3 0 3 × 3 0 3 × 3 σ u 2 I 3 × 3 .
The discrete time–star vector observation matrix is defined using the current quaternion and reference star vector in the star catalogue and is given by
y ˜ k = A ( q ) r 1 A ( q ) r 2 A ( q ) r n + ν 1 ν 2 ν n ,
where k is a sample index, y ˜ k is a measurement matrix, A ( q ) is a direction cosine matrix of the current attitude, r n is the reference vector in the star catalogue of the n th observed vector, and ν n is a zero-mean Gaussian white-noise process of the n th observed vector with a covariance of σ n 2 I 3 × 3 , which leads to a measurement covariance matrix such that
R k = diag σ 1 2 I 3 × 3 σ 2 2 I 3 × 3 σ n 2 I 3 × 3 .
The sensitivity matrix for the star vector measurements has the form
H k x ^ k = A ( q ^ ) r 1 × 0 3 × 3 A ( q ^ ) r 2 × 0 3 × 3 A ( q ^ ) r n × 0 3 × 3 .
The estimate output is given by
h k x ^ k = A ( q ^ ) r 1 A ( q ^ ) r 2 A ( q ^ ) r n .
Then, the error-state update is written as
Δ x ˜ ^ k + = K k y ˜ k h k x ^ k ,
where Δ x ˜ ^ k + = δ α ^ k + T δ β ^ k + T T and K k is given by
K k = P k H k T x ^ k H k x ^ k P k H k T x ^ k + R k 1 .
Using Equation (42), the bias and quaternion updates are given by
β ^ k + = β ^ k + Δ β ^ k + ,
q ^ k + = q ^ k + 1 2 Ξ q ^ k δ α ^ k + ,
where
Ξ q = q 4 I 3 × 3 + ς × ς T .
Renormalization of the quaternion update should be applied to the result of Equation (45).
The propagation of the state and covariance is outlined below. The readers are referred to [25] for detailed derivations. The propagated quaternion is given by
q ^ k + 1 = Ω ¯ ω ^ k + q ^ k + ,
with
Ω ¯ ω ^ k + = cos 1 2 ω ^ k + Δ t I 3 × 3 ψ ^ k + × ψ ^ k + ψ ^ k + T cos 1 2 ω ^ k + Δ t ,
where
ψ ^ k + = sin 1 2 ω ^ k + Δ t ω ^ k + ω ^ k + ,
The bias propagation and postupdate angular velocity are given as
β ^ k = β ^ k + ω ^ k + = ω ˜ k β ^ k + ,
The propagation of the covariance is given by
P k + 1 = Φ k P k + Φ k T + G k Q k G k T ,
with
Φ k = Φ k , 11 Φ k , 12 Φ k , 21 Φ k , 22 ,
where
Φ k , 11 = I 3 × 3 ω ^ k + × sin ω ^ k + Δ t ω ^ k + + ω ^ k + × 2 1 cos ω ^ k + Δ t ω ^ k + 2 Φ k , 12 = ω ^ k + × 1 cos ω ^ k + Δ t ω ^ k + 2 ω ^ k + × 2 ω ^ k + Δ t sin ω ^ k + Δ t ω ^ k + 3 I 3 × 3 Δ t Φ k , 21 = 0 3 × 3 Φ k , 22 = I 3 × 3 ,
The process noise covariance is given by
Q k = σ v 2 Δ t + 1 3 σ u 2 Δ t 3 I 3 × 3 1 2 σ u 2 Δ t 2 I 3 × 3 1 2 σ u 2 Δ t 2 I 3 × 3 σ u 2 Δ t I 3 × 3 .

4. Non-Gaussian Measurement Noise Modeling

The multiplicative extended Kalman filter introduced in Section 3 assumes that the noise of the observed star vector is a zero-mean Gaussian white-noise process. Due to thruster-induced disturbance, the star images are blurred, which means this assumption is untrue and leads to the necessity of modeling the measurement error as non-Gaussian noise.
One of the methods for modeling non-Gaussian noise is the GMM. Based on the Wiener approximation theorem, any non-Gaussian noise distribution can be expressed as, or approximated sufficiently well by, a finite sum of known Gaussian distributions [15].
Lemma 1 
[7]. Any density  f ( g )  associated with an  m  dimensional vector  g  can be approximated as closely as desired by a density of the form 
f C ( g ) = ζ = 1 l a ζ N μ ζ , B ζ .
 For some integer  l  and positive scalars  a ζ  with  ζ = 1 l a ζ = 1 , where  N  is a Gaussian density with mean value  μ ζ  and covariance matrix  B ζ :
N μ ζ , B ζ = 1 2 π m det B ζ 0.5 exp 0.5 g μ i B ζ 1 2 ,
where  ζ  is a Gaussian distribution index, det ( )  is the matrix determinant and   is the inner product in the Euclidean space  R m .
If the number of Gaussian densities increases, the density function f C ( g ) may converge and the covariance of each density will approach a zero matrix [15].
GMM-based predicted star vector measurements are constructed by adding μ ζ to the predicted star vector measurement (yellow circle), and these are marked with four ( l = 4 ) green circles in Figure 9.

5. GMM-Based Adaptive Extended Kalman Filter

In the previous section, a Gaussian point generation method for non-Gaussian observed vectors was introduced. Using Equation (55), the non-Gaussian observed vectors can be approximated as a weighted Gaussian mixture. For the configuration of an EKF using the GMM, it is important to find out the optimal Gaussian approximation for the mixture. For this purpose, the linear adaptive Kalman filter algorithm proposed by Plataniotis et al. [15] was referred to for implementing the adaptive attitude estimation extended Kalman filter. For each propagated vector from the observed vectors, the extended Kalman filter is implemented in parallel. Then, based on the interim results from these dedicated Kalman filters, we can obtain a Bayesian a posteriori approximation of the Gaussian mixture required in the filtering process [15]. Finally, the optimal Gaussian approximation for the mixture is obtained by an adaptive algorithm with a weighting evaluation. The equations for the GMM-EKF are introduced below.
In the multiplicative quaternion-based EKF described in Section 3.1, after propagating the states and covariance matrix with the postupdate states and covariance matrix, the innovation and Kalman gain are the next parameters to be obtained. Given the non-Gaussian measurement noise, we have to evaluate the parameters for each Gaussian point and adaptively assemble these parameters before computing the innovation covariance and Kalman gain.
The estimate measurement output is given by
h k , sum = ζ = 1 N ζ γ k , ζ h k , ζ ,
where h k , sum is a weighted sum of each estimate measurement output with propagated quaternions, h k , ζ is the ζ th GMM-based predicted measurement, and γ k , ζ is a weight for the ζ th Gaussian density. In addition, h k , ζ is defined as
h k , ζ = A ( q ^ k ) r 1 A ( q ^ k ) r 2 A ( q ^ k ) r n + μ ζ .
Here, each group of elements, h k , ζ 3 κ 2 : 3 κ , κ = 1 , 2 , n , should be renormalized because of the constraint that a unit star vector has.
The innovation covariance is given by
P z k = ζ = 1 N ζ P z k , ζ + h k , sum h k , ζ × h k , sum h k , ζ T γ k , ζ ,
with
P z k , ζ = H k , ζ P k H k , ζ T + R k , ζ ,
where
H k , ζ = h k , ζ 1 : 3 × 0 3 × 3 h k , ζ 4 : 6 × 0 3 × 3 h k , ζ 3 n 2 : 3 n × 0 3 × 3 .
and R k , ζ is a measurement covariance matrix for the ζ th propagated quaternion. Moreover, γ k , ζ is given by
γ k , ζ = 2 π m det P z k , ζ 1 exp 0.5 y ˜ k h k , ζ T P z k , ζ 1 y ˜ k h k , ζ a ζ c k ,
where a ζ represents the initial weighting coefficients defined in Equation (55) and c k is a normalization factor given by
c k = ζ = 1 N ζ 2 π m det P z k , ζ 1 × × exp 0.5 y ˜ k h k , ζ T P z k , ζ 1 y ˜ k h k , ζ a ζ .
Then, the Kalman gain is obtained by
K k , sum = P k H k , sum T P z k 1 ,
with
H k , sum = h k , sum 1 : 3 × 0 3 × 3 h k , sum 4 : 6 × 0 3 × 3 h k , sum 3 n 2 : 3 n × 0 3 × 3 ,
where h k , sum 3 n 2 : 3 n denotes a 3 × 1 matrix from h k , sum , of which the elements are evaluated using the n th reference vector. Then, the state update begins with
Δ x ˜ ^ k , sum + = K k , sum y ˜ k h k , sum ,
where
Δ x ˜ ^ k , sum + = δ α ^ k , sum + T δ β ^ k , sum + T T .
The final processes of the states update are as follows:
β ^ k + = β ^ k + Δ β ^ k , sum + , q ^ k + = q ^ k + 1 2 Ξ q ^ k δ α ^ k , sum + , P k + = I K k , sum H k P k .
The logic of the GMM-EKF is presented in Algorithm 2.
Algorithm 2: GMM-EKF algorithm
Input :   q ^ k 1 + ,   β ^ k 1 + ,   P k 1 + ,   ω ^ k 1 + ,   a ζ ,   y ˜ k ,   ω ˜ ,   μ ζ ,   Q k 1 ,   R k 1 ,   G k 1 P r o p a g a t i o n : q ^ k = Ω ¯ ω ^ k 1 + q ^ k 1 + β ^ k = β ^ k 1 + P k = Φ k 1 P k 1 + Φ k 1 T + G k 1 Q k 1 G k 1 T Gain: Computation   and   renormalization   of   h k , ζ   as   in   (58) Computation   of   H k , ζ   as   in   (61) Computation   of   P z k , ζ   as   in   (60) Computation   of   c k ,   γ k , ζ   as   in   (62)   and   (63) Computation   of   h k , sum   as   in   (57) Computation   of   P z k   as   in   (59) Computation   of   H k , sum   as   in   (65) K k , sum = P k H k , sum T P z k 1 Update: Δ x ˜ ^ k , sum + = K k , sum y ˜ k h k , sum β ^ k + = β ^ k + Δ β ^ k , sum + ω ^ k + = ω ˜ k β ^ k + q ^ k + = q ^ k + 1 2 Ξ q ^ k δ α ^ k , sum + Computation   of   H k   as   in   (40) P k + = I K k , sum H k P k Output :   q ^ k + ,   β ^ k + ,   ω ^ k + ,   P k +

6. Simulation Study

In this section, the GMM-based EKF is implemented using the profile of the quaternion, angular velocity, gyroscope, and star tracker measurements generated for the simulation in Section 2.3.1. The performance of the GMM-EKF and EKF is compared with the same profiles. The gyroscope and filter conditions are shown in Table 4, Table 5 and Table 6.

6.1. GMM-EKF Simulation Results

The proposed algorithm was simulated under thruster-induced disturbance. Since the measurement noise is non-Gaussian, a weighted sum of Gaussian densities was introduced to predict the measurement. In this simulation, four Gaussian densities were chosen and added to the predicted measurement with the a priori quaternion. Since quaternion prediction is obtained using the angular velocity estimate, reducing bias from the angular velocity is also important. For each Gaussian density with mean values selected, the pixel errors of the centroid were considered to widely cover the measurement noise. The process noise matrix Q k from Equation (54) was chosen as 10 Q k due to its better performance. The accuracy of the GMM-EKF estimation error was evaluated using the root mean square error (RMSE), as shown in Equation (69).
RMSE = 1 n total k = 1 n total x ^ k x k 2
where n total represents the total number of estimates, x ^ k represents the estimated state, and x k is the true state.
In Figure 10a, the Euler angle estimate error from the GMM-EKF is shown, in which the RMSE is [3.43, 3.89, 4.86] arcsec. This RMSE corresponds to an almost 0.20-pixel error and is improved compared to the raw pixel error. In Figure 10b, the bias estimate error from the GMM-EKF is shown, in which the RMSE is 6.96 , 8.03 , 8.21 × 10 4 ° / s .
A Monte Carlo simulation was conducted to verify the convergence of the GMM-EKF. One hundred sets of initial conditions were simulated, with the initial Euler estimation errors ranging from −0.5 to 0.5 ° and initial bias estimation errors ranging from 4.2 × 10 3 ° / s to 4.2 × 10 3 ° / s . Figure 11 shows the attitude and bias estimation errors for all 100 cases, and it can be observed that all cases converged successfully.

6.2. Comparison between GMM-EKF and EKF Performance

The GMM-EKF and EKF are compared in this section. Since the EKF only considers the measurement noise as Gaussian, the predicted measurement is only made with an a priori quaternion. It cannot cover non-Gaussian measurement noise. After tuning the EKF parameters, the process noise Q k was chosen as 10 Q k , and the measurement noise matrix R k was set as 5 R k due to their better performance. R k was changed in order to make the estimation error stay within the three-sigma boundary. In Figure 12, the RMSE of the Euler angle estimate of the EKF is [5.48, 5.71, 6.09] arcsec, which is equivalent to an almost 0.30-pixel error. Figure 13 shows the attitude estimation error profiles from the GMM-EKF and EKF. Therefore, the GMM-EKF performs better than the EKF under thruster-induced disturbance.

7. Conclusions

Because of misalignments in the thrusters of geostationary satellites and the impulse characteristic of their torque, the performance of vector measurements taken with a star tracker decreases as the PSF of the star image is blurred. Thruster modeling and PSF characteristics were investigated and implemented to examine the influence of the thruster-induced disturbance on star images. The blurring effect on images could be seen from our simulation, and thus, this study implemented an attitude extended Kalman filter. In order to handle the non-Gaussian noise of the star vector measurements, the GMM was introduced and implemented with an attitude extended Kalman filter to predict the measurement noise with the aid of a priori knowledge of the attitude quaternion. Four Gaussian densities were chosen by considering the pixel noise from the thruster-induced disturbance and weights for each mixture and were automatically updated depending on the innovation covariance between the star vector measurements and the predicted measurement from the GMM. Simulation results indicate that the GMM-EKF produces a better performance than the EKF in regard to attitude estimation. Therefore, the GMM-EKF could be considered as a potential approach in geostationary satellite missions for attitude estimation under thruster firing.

Author Contributions

Conceptualization, T.K. and H.B.; methodology, T.K., N.S.Z. and H.B.; software, T.K. and H.Y.; validation, T.K., N.S.Z., H.Y. and H.B.; formal analysis, T.K.; investigation, T.K., N.S.Z. and H.B.; resources, T.K. and H.Y.; data curation, T.K.; writing—original draft preparation, T.K.; writing—review and editing, T.K., N.S.Z. and H.B; visualization, T.K.; supervision, H.B.; project administration, H.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Institute of Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korean Government (MSIT) (No.2018-0-01658, Key Technology Development for Next-Generation Satellites).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Okhitina, A.S. Distribution of orbit correction thrusters for the geostationary satellite. AIP Conf. Proc. 2019, 2171, 060001. [Google Scholar]
  2. Lim, H.; Bang, H. Adaptive control for satellite formation flying under thrust misalignment. Acta Astronaut. 2009, 65, 112–122. [Google Scholar] [CrossRef]
  3. Gazzino, C.; Arzelier, D.; Louembet, C. Long-Term Electric-Propulsion Geostationary Station-Keeping via Integer Programming. J. Guid. Control Dyn. 2019, 42, 976–991. [Google Scholar] [CrossRef]
  4. Markley, F.; Bauer, F.; Femiano, M. Attitude Control System Conceptual Design for Geostationary Operational Environmental Satellite Spacecraft Series. J. Guid. Control Dyn. 1995, 18, 247–255. [Google Scholar] [CrossRef]
  5. Sun, T.; Xing, F.; You, Z.; Wei, M. Motion-blurred star acquisition method of the star tracker under high dynamic conditions. Opt. Express 2013, 21, 20096. [Google Scholar] [CrossRef]
  6. Jun, Z.; Yuncai, H.; Li, W.; Da, L. Studies on dynamic motion compensation and positioning accuracy on star tracker. Appl. Opt. 2015, 54, 8417–8424. [Google Scholar] [CrossRef]
  7. Wu, X.; Wang, X. Multiple blur of star image and the restoration under dynamic conditions. Acta Astronaut. 2011, 68, 1903–1913. [Google Scholar]
  8. Wang, S.; Zhang, S.; Ning, M.; Zhou, B. Motion Blurred Star Image Restoration Based on MEMS Gyroscope Aid and Blur Kernel Correction. Sensors 2018, 18, 2662. [Google Scholar] [CrossRef]
  9. Yuan, H.; Lu, K.; Liu, Q. Motion modeling and blurred image simulation of the star tracker used for deep-space missions. J. Opt. Soc. Am. B 2022, 39, 2934–2943. [Google Scholar] [CrossRef]
  10. Delabie, T. Star Position Estimation Improvements for Accurate Star Tracker Attitude Estimation. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Kissimmee, FL, USA, 5–9 January 2015. [Google Scholar]
  11. Farrell, J. Attitude determination by Kalman filter. Automatica 1970, 6, 419–430. [Google Scholar] [CrossRef]
  12. Lefferts, 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. Hajiyev, C.; Soken, H. Adaptive Kalman Filtering. In Fault Tolerant Attitude Estimation for Small Satellites; CRC Press: Boca Raton, FL, USA, 2021; pp. 117–137. [Google Scholar]
  14. Kınataş, H.; Hacızade, C. Fault Tolerant Attitude Estimation for a Nanosatellite Using Adaptive Kalman Filter with Single Scaling Factor. J. Aeronaut. Space Technol. 2022, 15, 74–93. [Google Scholar]
  15. Plataniotis, K.N.; Androutsos, D.; Venetsanopoulos, N. Nonlinear Filtering of Non-Gaussian Noise. J. Intell. Robot. Syst. 1997, 19, 207–231. [Google Scholar] [CrossRef]
  16. Goswami, D.; Paley, D.A. Non-Gaussian Estimation and Dynamic Output Feedback Using the Gaussian Mixture Kalman Filter. J. Guid. Control Dyn. 2021, 44, 15–24. [Google Scholar] [CrossRef]
  17. Cabrera, D.; Utzmann, J.; Förstner, R. The adaptive Gaussian mixtures unscented Kalman filter for attitude determination using light curves. Adv. Space Res. 2023, 71, 2609–2628. [Google Scholar] [CrossRef]
  18. Liu, H.; Jia, H.; Li, X. Autonomous on-orbit calibration of a star tracker camera. Opt. Eng. 2011, 50, 023604. [Google Scholar]
  19. Liebe, C.C. Accuracy Performance of Star Trackers—A Tutorial. IEEE Trans. Aerosp. Electron. Syst. 2002, 38, 587–599. [Google Scholar] [CrossRef]
  20. Auer, L.; Altena, W.V. Digital Image Centering II. Astron. J. 1978, 83, 531–537. [Google Scholar] [CrossRef]
  21. Yan, J.; Jiang, J.; Zhang, G. Dynamic imaging model and parameter optimization for a star tracker. Opt. Express 2016, 24, 5961–5983. [Google Scholar] [CrossRef]
  22. Wang, H.; Xu, E.; Li, Z.; Li, J.; Qin, T. Gaussian Analytic Centroiding Method of Star Image of Star Tracker. Adv. Space Res. 2015, 56, 2196–2205. [Google Scholar] [CrossRef]
  23. Sidi, M.J. Reaction Thruster Attitude Control. In Spacecraft Dynamics & Control, A Practical Engineering Approach; Cambridge University Press: Cambridge, UK, 1997; pp. 260–290. [Google Scholar]
  24. Bong, W.; Weiss, H.; Arapostathis, A. Quarternion feedback regulator for spacecraft eigenaxis rotations. J. Guid. Control Dyn. 1989, 12, 375–380. [Google Scholar]
  25. Crassidis, J.L.; Junkins, J.L. Estimation of Dynamics Systems: Applications. In Optimal Estimation of Dynamic Systems, 2nd ed.; CRC Press: Florida, UK, 2012; pp. 419–427. [Google Scholar]
Figure 1. A pinhole camera model of star tracker.
Figure 1. A pinhole camera model of star tracker.
Sensors 23 04212 g001
Figure 2. Single thruster’s setup direction regarding body axis.
Figure 2. Single thruster’s setup direction regarding body axis.
Sensors 23 04212 g002
Figure 3. Example thruster setup for a satellite (featuring six thruster units).
Figure 3. Example thruster setup for a satellite (featuring six thruster units).
Sensors 23 04212 g003
Figure 4. Euler angle error profile.
Figure 4. Euler angle error profile.
Sensors 23 04212 g004
Figure 5. (a) Three-axis angular velocity profile; (b) Angular velocity norm profile.
Figure 5. (a) Three-axis angular velocity profile; (b) Angular velocity norm profile.
Sensors 23 04212 g005
Figure 6. (a) Thruster force profile of each thruster unit; (b) Three-axis torque profile.
Figure 6. (a) Thruster force profile of each thruster unit; (b) Three-axis torque profile.
Sensors 23 04212 g006
Figure 7. Star image under ω = 0.0173 ° / s .
Figure 7. Star image under ω = 0.0173 ° / s .
Sensors 23 04212 g007
Figure 8. Star image under ω = 0.3 ° / s .
Figure 8. Star image under ω = 0.3 ° / s .
Sensors 23 04212 g008
Figure 9. GMM distribution of non-Gaussian noise of star vector measurement.
Figure 9. GMM distribution of non-Gaussian noise of star vector measurement.
Sensors 23 04212 g009
Figure 10. (a) Euler estimate error profile of GMM-EKF; (b) Bias estimate error profile of GMM-EKF.
Figure 10. (a) Euler estimate error profile of GMM-EKF; (b) Bias estimate error profile of GMM-EKF.
Sensors 23 04212 g010
Figure 11. (a) Euler estimate error of GMM-EKF (Monte Carlo simulation); (b) Bias estimate error profile of GMM-EKF (Monte Carlo simulation).
Figure 11. (a) Euler estimate error of GMM-EKF (Monte Carlo simulation); (b) Bias estimate error profile of GMM-EKF (Monte Carlo simulation).
Sensors 23 04212 g011
Figure 12. (a) Euler estimate error profile of EKF; (b) Bias estimate error profile of EKF.
Figure 12. (a) Euler estimate error profile of EKF; (b) Bias estimate error profile of EKF.
Sensors 23 04212 g012
Figure 13. Euler estimate error with GMM-EKF (solid line) and EKF (dashed line).
Figure 13. Euler estimate error with GMM-EKF (solid line) and EKF (dashed line).
Sensors 23 04212 g013
Table 1. Thruster specifications for simulation.
Table 1. Thruster specifications for simulation.
Thruster
Index ( i )
Position r thr , x , r thr , y , r thr , z Elevation
Angle   ( α thr )
Azimuth
Angle   ( β thr )
Misalignment   ( α thr , β thr ) Thruster Level
( F lev )
Sampling Rate
#1(−1, 0, −0.5) m 30 ° 90 ° 3 ° , 3 ° 3 N4 Hz
#2(−1, 0, 0.5) m 30 ° 90 °
#3(1, 1, 0.5) m 0 ° 30 °
#4(1, 1, −0.5) m 0 ° 30 °
#5(−1, 1, 0.5) m 0 ° 30 °
#6(−1, 1, −0.5) m 0 ° 30 °
Table 2. Star tracker specifications for simulation.
Table 2. Star tracker specifications for simulation.
Pixel Array SizeFocal LengthPixel SizeField of ViewExposure TimeMagnitude
Threshold
Radius of
Gaussian PSF
1024 × 102476.08 mm13 μ m 10 °   ×   10 ° 100   m s 53.8 pixel
Table 3. Satellite model and parameters of quaternion feedback PD control law.
Table 3. Satellite model and parameters of quaternion feedback PD control law.
Moment of Inertia
( I x x , I y y , I z z )
Damping RatioSettling TimeInitial Angular VelocityInitial AttitudeTarget Attitude
[500, 500, 500] k g m 2 12.5 s [ 0.01 , 0.01 , 0.01 ] ° / s [ 0 , 0 , 0 ] ° [ 0 , 0 , 0 ] °
Table 4. Gyroscope specifications for simulation.
Table 4. Gyroscope specifications for simulation.
Angle Random WalkRate Random WalkInitial BiasUpdate Frequency
0.001 ° / h 0.05 ° / h 3 / 2 [0.0004, −0.0003, 0.0001] ° / s 100 Hz
Table 5. Filter conditions for simulation.
Table 5. Filter conditions for simulation.
Measurement Noise MatrixUpdate Frequency Gaussian   Density   Mean   Value   ( μ ζ )
3.5 2 0 0 0 3.5 2 0 0 0 3.5 2 arc sec 2 100 Hz−8 arcsec(For three axes)
−4 arcsec
4 arcsec
8 arcsec
Table 6. Filter initial states.
Table 6. Filter initial states.
Euler AngleBiasCovariance
0.005 × [1,1,1] ° 0.0042 × [1,1,1] ° / s ( 0.005 ) 2 0 0 0 0 0 0 ( 0.005 ) 2 0 0 0 0 0 0 ( 0.005 ) 2 0 0 0 0 0 0 ( 0.05 / sec ) 2 0 0 0 0 0 0 ( 0.05 / sec ) 2 0 0 0 0 0 0 ( 0.05 / sec ) 2
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kim, T.; Zewge, N.S.; Bang, H.; Yoon, H. GMM-Based Adaptive Extended Kalman Filter Design for Satellite Attitude Estimation under Thruster-Induced Disturbances. Sensors 2023, 23, 4212. https://doi.org/10.3390/s23094212

AMA Style

Kim T, Zewge NS, Bang H, Yoon H. GMM-Based Adaptive Extended Kalman Filter Design for Satellite Attitude Estimation under Thruster-Induced Disturbances. Sensors. 2023; 23(9):4212. https://doi.org/10.3390/s23094212

Chicago/Turabian Style

Kim, Taeho, Natnael S. Zewge, Hyochoong Bang, and Hyosang Yoon. 2023. "GMM-Based Adaptive Extended Kalman Filter Design for Satellite Attitude Estimation under Thruster-Induced Disturbances" Sensors 23, no. 9: 4212. https://doi.org/10.3390/s23094212

APA Style

Kim, T., Zewge, N. S., Bang, H., & Yoon, H. (2023). GMM-Based Adaptive Extended Kalman Filter Design for Satellite Attitude Estimation under Thruster-Induced Disturbances. Sensors, 23(9), 4212. https://doi.org/10.3390/s23094212

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