# Design of an Extended Interacting Multiple Models Adaptive Estimator for Attitude Determination of a Stereoimagery Satellite

Authors: Hossein Bolandi; Farhad Fani Saberi; Amir Mehrjardi Eslami
Journal: International Journal of Aerospace Engineering
 (2011)

---

## Abstract

We will design an extended interacting multiple models adaptive estimator (EIMMAE) for attitude determination of a stereoimagery satellite. This algorithm is based on interacting multiple models (IMM) extended kalman filters (EKF) using star sensor and gyroscope data. In this method, the motion of satellite during stereoimaging manoeuvres is partitioned into two different modes: “manoeuvring motion” mode and “uniform motion” mode. The proposed algorithm will select the suitable Kalman filter structure to estimate gyro errors accurately in order to maintain the peak attitude estimation error less enough at the beginning of manoeuvres while the satellite is in “manoeuvring motion” mode and then will select the suitable star sensor measurement noise level at the end of manoeuvres while the satellite is in “uniform motion” mode to reduce attitude estimation errors. It will be shown that using the proposed algorithm, the attitude estimation accuracy of stereoimagery satellite will be increased considerably. The effectiveness of the proposed algorithm will be examined and compared with the previous proposed methods through numerical simulations.


---

## Body

## 1. Introduction

Data collection in stereo mode is the simplest and most convenient way for 3D topographic data acquisition to produce new and revision of old inaccurate databases and maps which has been matured over the 100 years [1–4]. This methodology involves identifying and measuring targets on images of an object which have been taken from disparate viewpoints. These images are then used to compute three dimensional coordinates of the locations of the object.In [5], it has been suggested an effective stereoimaging scenario to obtain the advantages of previous proposed methods. In this scenario, state-of-the-art solution is to control pitch and roll axes of satellite simultaneously in such a way that short “revisit period” and “repeat cycle” can be obtainable according to Figure 1. Therefore, it needs highly accurate and stable pointing maneuvers to be accomplished in a few seconds that require the satellite to rotate along a relatively large angle attitude very fast.Figure 1
Stereoimaging Scenario.To achieve the above-mentioned scenario, an accurate and fast attitude determination system is crucial to provide precise attitude knowledge for successful satellite operations. So, we consider two basic modes of flight for achieving high accuracy attitude determination task during each of stereoimaging maneuvers: “uniform motion” mode with constant angular velocity while the satellite reaches the end of stereoimaging maneuvers and “maneuvering motion” mode with high angular velocity at the beginning of stereoimaging maneuvers [6]. Therefore, a suitable attitude determination system for the stereoimagery satellite has to meet the following requirements properly in the two above-mentioned modes [6]: maintaining the peak attitude estimation errors less enough while the satellite is in the “maneuvering motion” mode and reducing the attitude estimation errors at the end of maneuvers while imaging takes place.Difficulties associated with high-accuracy attitude estimation techniques to satisfy the above-mentioned requirements are due to the inherent nonlinearities of satellite dynamic model [7–10], estimation of gyroscope errors, and identifying of star sensor measurement noise levels which strongly affect the performance of the attitude estimation system at the end of maneuvers [6].In order to deal with the above-mentioned problems, several approaches have been proposed [11–14]. In [15], a traditional 6-state attitude determination filter, containing three star attitude errors and three gyro bias errors, has been proposed. But, in high-rate maneuvering operating conditions (e.g., “maneuvering motion” mode), the ability of this filter to maintain attitude knowledge performance is degraded by gyro scale factor and misalignment errors. To solve this problem, a 15-state Kalman filter (containing three star attitude errors, three gyro bias errors, and nine gyro error parameters) has been proposed in [11] to achieve attitude estimation and gyro calibration in high-rate maneuvering operating conditions. Drawback associated with this structure is that in “uniform motion” mode, the 15-state filter behaves no differently from a 6-state filter in providing attitude estimation and gyro bias correction. Therefore, a multirate profile attitude estimation structure has been designed in [16, 17] based on star sensor and gyroscope measurements data. This structure increases the estimation convergence rate of gyro bias and misalignment for large and fast maneuvers and will maintain the peak attitude estimation errors less enough while the satellite is in the “maneuvering motion” mode. But, this structure cannot improve attitude estimation accuracy at the end of maneuvers while the satellite is in “uniform motion” mode.To circumvent the aforementioned problems in order to maintain the peak attitude estimation errors less enough in the “maneuvering motion” mode and to reduce the attitude estimation errors in the “uniform motion” mode, in this paper, we will design a new adaptive attitude estimation structure based on interacting multiple models (IMM) using star sensor and gyroscope measurements data. The proposed structure consists of two different IMM estimator structures which are called: “IMM_CT” and “IMM_L”. The “IMM_CT” structure will be selected automatically based on the model conditional likelihood functions to estimate the gyro errors in order to maintain the peak attitude estimation errors less enough while the satellite is in “maneuvering motion” mode. The “IMM_L” structure will be selected automatically to identify the suitable star sensor measurement noise level to reduce attitude estimation errors while the satellite is in “uniform motion” mode. It will be shown that by using the proposed adaptive attitude estimation method, the attitude estimation requirements of stereoimagery satellite will be satisfied simultaneously. The effectiveness of the proposed algorithm method will be examined and compared with previous proposed methods through numerical simulations.


## 2. Mathematical Model

The satellite being studied here is assumed to be rigid and equipped with a three-axis gyro, a star sensor, and four reaction wheels.


### 2.1. Dynamic and Kinematic Model of Satellite

The nonlinear kinematic equations of a satellite can be written as follows [18]:
(1)ωx=ϕ̇-ψ̇sin⁡θ-ωocos⁡θsin⁡ψ,ωy=θ̇cos⁡φ+ψ̇cos⁡θsin⁡φ-ωo(cos⁡φcos⁡ψ+sin⁡φsin⁡θsin⁡ψ),ωz=ψ̇cos⁡θcos⁡φ-θ̇sin⁡ϕ-ωo(-sin⁡φcos⁡ψ+cos⁡φsin⁡θsin⁡ψ),
where ω=⌊ωxωyωz⌋ are the angular velocity components of the body frame, ωo is orbit angular velocity, and φ,θ,ψ are the roll, pitch, and yaw angles, respectively. Motion dynamic equations of a rigid satellite can be written as
(2)Jω̇=τ+ω×h-uwJ denotes the inertia tensor of satellite. uw and τ are the reaction wheels control torque vector and external torque inputs, respectively. h=[hxhyhz]T is total satellite angular momentum in the body axes and defined as follows:
(3)h=Jω+Cha.
The angular momentum vector of the wheels ha is defined as follows [19]:
(4)ha=IwCTω+IwωwIw is moment of inertial matrix for the wheels and ωw is wheels speeds matrix. Moreover,
(5)uw=[ḣωxḣωyḣωz]T=Cḣa,
where [hωxhωyhωz]T is reaction wheels angular momentum in body axes and C is the orientation matrix of reaction wheels.


### 2.2. Gyroscope Model

We formulate a simplified gyro model as described in [11] as follows:
(6)ωg=ω+b+gsf+gma+na,
where ω is the true rate, b is the bias drift, and na is the white noise accounting for angular random walk at the gyro angle level. gsf, gma are the gyro scale factor and misalignment errors, respectively, expressed as follows:
(7)gsf=diag⁡([ksfxksfyksfz])⋅ω,[gmaxgmaygmaz]=[0kxykxzkyx0kyzkzxkzy0]⋅[ωxωyωz].
By integrating (7), gyro rate measurement of (6) can be rewritten as follows [11]:
(8)ωg=(I+K)ω+b+na,
where
(9)K=[ksfxkxykxzkyxksfykyzkzxkzyksfz].
The drift bias is modeled as a random walk process as
(10)ddt[bxbybz]=[nrxnrynrz],
where nr is the white noise accounting for the rate random walk (RRW) noise process at the rate level. The elements of the gyro misalignment matrix are modeled as a random walk process as [11]
(11)ddt[ksfxksfyksfz]=[nsfxnsfynsfz],ddt[kxykxzkyxkyzkzxkzy]=[ngxyngxzngyxngyzngzxngzy].
The continuous noise covariance matrix is defined as
(12)QGyro=[σa2I3×303×303×303×303×303×3σr2I3×303×303×303×303×303×3σsf2I3×303×303×303×303×303×3σusf2I3×303×303×303×303×303×3σlsf2I3×3],
where σa2 is variance of the gyro angular random walk, σr2 is the variance of the gyro rate random walk, σsf2 is variance of the gyro scale factor, σusf2 is elements variance of the gyro upper misalignment, and σlsf2 is elements variance of the gyro lower misalignment.At the end of stereoimaging maneuvers, the effect of scale factor and misalignment on the estimator is minimal. So, we can formulate a simplified gyro model while the satellite is in “uniform motion” mode as follows [11]:
(13)ωg=ω+b+na.


### 2.3. Star Sensor Model

The stars are assumed to be inertially fixed neglecting the effects of proper motion and velocity aberration. It is established in that the photograph image plane coordinates of thejth star are determined by the stellar collinearity equations [20]
(14)xj=-f(A11sxj+A12syj+A13szjA31sxj+A32syj+A33szj),yj=-f(A21sxj+A22syj+A23szjA31sxj+A32syj+A33szj),
where f is the known focal length and sj is the vector toward the jth star as(15)sxj=cos⁡δjcos⁡αj,syj=cos⁡δjsin⁡αj,szj=sin⁡δj,
where αi is the right ascension, δi is the declination of the jth star in the earth-centered inertial (ECI) coordinate system that are supposed to be available in a computer-accessible catalog [20]. Aij are elements of the satellite attitude matrix that are not known. So, if the measured stars can be identified as specific cataloged stars, then the attitude matrix and associated satellite orientation angles (φ,θ,ψ) will be determined from the measured stars in image coordinates and identified stars in inertial coordinates. This will be accomplished using the maximum-likelihood approach minimizing the following loss function [20]:
(16)j(Â)=∑j=1Nσstar_vector_j-2b̃jTÂsj,
where σstar_vector_j is standard deviation of the jth star measurement noise (υj) with covariance matrix Qjstar_vector. The solution of this problem has been known as the q-method [20]. Therefore, in order to determine the attitude of the satellite using star vectors, the star observation can be reconstructed in unit vector form as
(17)bj=Asj,j=1,2,…,N,
where N is the total number of star observations and
(18)bj=1f2+xj2+yj2[-xj-yjf],sj=[sxjsyjszj]T.
It has been shown in [9] that nearly all the probability of the errors is concentrated on a very small area about the direction of Asj, so the sphere containing that point can be approximated by [20]
(19)b̃j=Asj+υj,υjAsj=0,
where b̃j denotes the jth star measurement and the corresponding error υj is approximately zero-mean Gaussian noise with covariance matrix as follows [21]:
(20)Qjstar_vector=σs21+d(xi2+yi2)[(1+dxi2)2(dxiyi)2(dxiyi)2(1+dyi2)2],
where d is on the order of one and σs is standard deviation of CCD centroiding error which is assumed to be known.In summary, the computed orientation angles using the star vectors (19) and applying the q-method will be considered as the star sensor measurements (φ,θ,ψ). So, the accuracy of determined attitude (φ,θ,ψ) depends on the number of identified stars and their position in the photograph image plane. The block diagram of star sensor model is shown in Figure 2.Figure 2
Star sensor model.According to Figure2, the number of identified star changes during the motion of satellite relative to ECI coordinate system. This will affect the standard deviation of star sensor output measurement noise (σstar) strongly.


## 2.1. Dynamic and Kinematic Model of Satellite

The nonlinear kinematic equations of a satellite can be written as follows [18]:
(1)ωx=ϕ̇-ψ̇sin⁡θ-ωocos⁡θsin⁡ψ,ωy=θ̇cos⁡φ+ψ̇cos⁡θsin⁡φ-ωo(cos⁡φcos⁡ψ+sin⁡φsin⁡θsin⁡ψ),ωz=ψ̇cos⁡θcos⁡φ-θ̇sin⁡ϕ-ωo(-sin⁡φcos⁡ψ+cos⁡φsin⁡θsin⁡ψ),
where ω=⌊ωxωyωz⌋ are the angular velocity components of the body frame, ωo is orbit angular velocity, and φ,θ,ψ are the roll, pitch, and yaw angles, respectively. Motion dynamic equations of a rigid satellite can be written as
(2)Jω̇=τ+ω×h-uwJ denotes the inertia tensor of satellite. uw and τ are the reaction wheels control torque vector and external torque inputs, respectively. h=[hxhyhz]T is total satellite angular momentum in the body axes and defined as follows:
(3)h=Jω+Cha.
The angular momentum vector of the wheels ha is defined as follows [19]:
(4)ha=IwCTω+IwωwIw is moment of inertial matrix for the wheels and ωw is wheels speeds matrix. Moreover,
(5)uw=[ḣωxḣωyḣωz]T=Cḣa,
where [hωxhωyhωz]T is reaction wheels angular momentum in body axes and C is the orientation matrix of reaction wheels.


## 2.2. Gyroscope Model

We formulate a simplified gyro model as described in [11] as follows:
(6)ωg=ω+b+gsf+gma+na,
where ω is the true rate, b is the bias drift, and na is the white noise accounting for angular random walk at the gyro angle level. gsf, gma are the gyro scale factor and misalignment errors, respectively, expressed as follows:
(7)gsf=diag⁡([ksfxksfyksfz])⋅ω,[gmaxgmaygmaz]=[0kxykxzkyx0kyzkzxkzy0]⋅[ωxωyωz].
By integrating (7), gyro rate measurement of (6) can be rewritten as follows [11]:
(8)ωg=(I+K)ω+b+na,
where
(9)K=[ksfxkxykxzkyxksfykyzkzxkzyksfz].
The drift bias is modeled as a random walk process as
(10)ddt[bxbybz]=[nrxnrynrz],
where nr is the white noise accounting for the rate random walk (RRW) noise process at the rate level. The elements of the gyro misalignment matrix are modeled as a random walk process as [11]
(11)ddt[ksfxksfyksfz]=[nsfxnsfynsfz],ddt[kxykxzkyxkyzkzxkzy]=[ngxyngxzngyxngyzngzxngzy].
The continuous noise covariance matrix is defined as
(12)QGyro=[σa2I3×303×303×303×303×303×3σr2I3×303×303×303×303×303×3σsf2I3×303×303×303×303×303×3σusf2I3×303×303×303×303×303×3σlsf2I3×3],
where σa2 is variance of the gyro angular random walk, σr2 is the variance of the gyro rate random walk, σsf2 is variance of the gyro scale factor, σusf2 is elements variance of the gyro upper misalignment, and σlsf2 is elements variance of the gyro lower misalignment.At the end of stereoimaging maneuvers, the effect of scale factor and misalignment on the estimator is minimal. So, we can formulate a simplified gyro model while the satellite is in “uniform motion” mode as follows [11]:
(13)ωg=ω+b+na.


## 2.3. Star Sensor Model

The stars are assumed to be inertially fixed neglecting the effects of proper motion and velocity aberration. It is established in that the photograph image plane coordinates of thejth star are determined by the stellar collinearity equations [20]
(14)xj=-f(A11sxj+A12syj+A13szjA31sxj+A32syj+A33szj),yj=-f(A21sxj+A22syj+A23szjA31sxj+A32syj+A33szj),
where f is the known focal length and sj is the vector toward the jth star as(15)sxj=cos⁡δjcos⁡αj,syj=cos⁡δjsin⁡αj,szj=sin⁡δj,
where αi is the right ascension, δi is the declination of the jth star in the earth-centered inertial (ECI) coordinate system that are supposed to be available in a computer-accessible catalog [20]. Aij are elements of the satellite attitude matrix that are not known. So, if the measured stars can be identified as specific cataloged stars, then the attitude matrix and associated satellite orientation angles (φ,θ,ψ) will be determined from the measured stars in image coordinates and identified stars in inertial coordinates. This will be accomplished using the maximum-likelihood approach minimizing the following loss function [20]:
(16)j(Â)=∑j=1Nσstar_vector_j-2b̃jTÂsj,
where σstar_vector_j is standard deviation of the jth star measurement noise (υj) with covariance matrix Qjstar_vector. The solution of this problem has been known as the q-method [20]. Therefore, in order to determine the attitude of the satellite using star vectors, the star observation can be reconstructed in unit vector form as
(17)bj=Asj,j=1,2,…,N,
where N is the total number of star observations and
(18)bj=1f2+xj2+yj2[-xj-yjf],sj=[sxjsyjszj]T.
It has been shown in [9] that nearly all the probability of the errors is concentrated on a very small area about the direction of Asj, so the sphere containing that point can be approximated by [20]
(19)b̃j=Asj+υj,υjAsj=0,
where b̃j denotes the jth star measurement and the corresponding error υj is approximately zero-mean Gaussian noise with covariance matrix as follows [21]:
(20)Qjstar_vector=σs21+d(xi2+yi2)[(1+dxi2)2(dxiyi)2(dxiyi)2(1+dyi2)2],
where d is on the order of one and σs is standard deviation of CCD centroiding error which is assumed to be known.In summary, the computed orientation angles using the star vectors (19) and applying the q-method will be considered as the star sensor measurements (φ,θ,ψ). So, the accuracy of determined attitude (φ,θ,ψ) depends on the number of identified stars and their position in the photograph image plane. The block diagram of star sensor model is shown in Figure 2.Figure 2
Star sensor model.According to Figure2, the number of identified star changes during the motion of satellite relative to ECI coordinate system. This will affect the standard deviation of star sensor output measurement noise (σstar) strongly.


## 3. Interacting Multiple Models (IMM) Attitude Estimation Baseline

This adaptive estimator structure contains a bank of Kalman filters run in parallel at every time, each based on a particular model, to obtain model-based estimates and check the status of the operation system; the overall state estimate is a kind of combination of those model-based estimates. Therefore, each cycle of IMM algorithm consists of four major steps: (i) model conditional reinitialization (interacting or mixing of the estimates), in which the input to the filter matched to a certain mode is obtained by mixing the estimates of all filters at the previous time under the assumption that this particular mode is in effect at the present time; (ii) model-conditional filtering, performed in parallel for each mode; (iii) mode probability update, based on the model conditional likelihood functions; (iv) estimate combination, which yields the overall state estimate as the probabilistically weighted sum of the updated state estimates of all filters. The probability of a mode being in effect plays a key role in determining the weights in the combination of state estimates and covariance matrices. The dynamics of the plant for designing the Kalman filters for each mode are described as follows:(21)x(k+1)=Fj(k)⋅x(k)+Gj(k)⋅U(k)+ξj(k),z(k)=Hj(k)⋅x(k)+ϑj(k).
The subscript j denotes quantities pertaining to model mj. System matrices Fj, Gj, and Hj may be of different structures for different j. The process noise and noise measurement vectors ξj and ϑj are white Gaussian noises of zero mean and covariance matrices Qj and Rj as follows:
(22)E[ξj(k)ξjT(k)]=Qj,E[ϑj(k)ϑjT(k)]=Rj.
The system mode sequence is assumed to be a first-order Markov chain with transition probabilities matrix [22]
(23)P{mj(k+1)∣mi(k)}=πij(k)∀mi,mj∈S,∑jπij(k)=1,i=1,2,…,N,
where P{·} denotes probability, m(k) is the discrete valued modal state at time k, which denotes the mode in effect during the sampling period ending at tk, and πij is the transition probability from mode mi to mode mj. S={m1,m2,…,mN} is the set of all possible system models. A general structure of the IMM method is shown in Figure 3.Figure 3
General structure of the IMM method [22].Steps from1 to 4 presents a complete cycle of the IMM estimator with Kalman filters. More details can be found in [22–27].Step 1.
Interaction/mixing of the estimates (forj=1,2,…,N):Predicted mode probability:(24)μj(k+1∣k)=∑i=1Nπijμi(k).Transition probability:(25)μi∣j=∑i=1Nπijμi(k)μj(k+1∣k).Mixing estimate:(26)x̂j0(k∣k)=∑i=1Nx̂i(k∣k)μi∣j(k).Mixing covariance:(27)Pj0(k∣k)=∑i=1N{Pj(k∣k)+[x̂j0(k∣k)-x̂i(k∣k)]×[x̂j0(k∣k)-x̂iT(k∣k)]}μi∣j(k).Step 2.
Model-condition filtering (forj=1,2,…,N):Predicted state:(28)x̂j(k+1∣k+1)=Fj(k)x̂j0(k∣k)+Gj(k)U(k)+ξj.Predicted covariance:(29)Pj(k+1∣k)=Fj(k)Pj0(k∣k)FjT(k)+Qj(k).Measurement residual:(30)rj=z(k+1)-Hj(k+1)x̂j(k+1∣k).Residual covariance:(31)Sj=Hj(k+1)Pj(k+1∣k)HjT(k+1)+Rj(k+1).Filter gain:(32)Kj=Pj(k+1∣k)HjT(k+1)Sj-1.Updated state:(33)x̂j(k+1∣k+1)=x̂j(k+1∣k)+Kjrj.Updated covariance:(34)Pj(k+1∣k+1)=Pj(k+1∣k)+KjSjKjT.Step 3.
Mode probability update (forj=1,2,…,N):Likelihood function:(35)Lj(k+1)=1|2πSj|exp⁡(-12rjTSj-1(k+1)rj).Mode probability:(36)μj(k+1)=μj(k+1∣k)Lj(k+1)∑i=1Nμj(k+1∣k)Lj(k+1).Step 4.
Combination of estimatesOverall state estimate:(37)x̂(k+1∣k+1)=∑i=1Nx̂i(k+1∣k+1)μi(k+1).Overall covariance:(38)P(k+1∣k+1)=∑i=1N{P(k+1∣k+1)+[x̂(k+1∣k+1)-x̂i(k+1∣k+1)]×[x̂(k+1∣k+1)-x̂i(k+1∣k+1)]T}×μi(k+1).


### 3.1. IMM Attitude Estimator in “Maneuvering Motion” Mode (IMM_CT)

In this section, the IMM baseline algorithm will be adopted to design an attitude estimator while the satellite is in “maneuvering motion” mode. This estimator consists of three EKFs (N =3) with different structures (6, 9, and 15 states) which are required in different operating conditions of the satellite during each of stereoimaging maneuvers to maintain the peak attitude estimation errors less enough while the satellite starts to maneuver (“maneuvering motion” mode). In this structure, the 15- and 9-state EKF estimators will be selected at the beginning of maneuvers while the satellite is in “maneuvering motion” mode, and the 6-state EKF estimator will be selected at the end of maneuvers while the satellite placed in the “uniform motion” mode [17]. This structure is depicted in Figure 4.Figure 4
IMM_CT attitude estimator structure.Using (1), (7), and (10), we can form a 15- state dynamic error model for the 15-state Kalman filter as described in a compact form of first order differential equation
(39)ẋ=f15×1(x,u,t)+w,y=Cx+v,
where C is the measurement matrix, w and v are process and sensor measurement noise, respectively, and(40)x=[ΔθxΔθyΔθzΔbxΔbyΔbzΔksfxΔksfyΔksfzΔkxyΔkxzΔkyxΔkyzΔkzxΔkzy]T,y=[ΔθxΔθyΔθz]T,u=[ωxωyωz]T.The 9-state Kalman filter contains three star attitude errors, three gyro bias errors and three scale factor errors. The 6-state Kalman filter contains three star attitude errors and three gyro bias errors. The linearization in the operating point of the system (x0,u0) converts the system (39) to the form
(41)ẋ=Ax+Bu+w,y=Cx+v,
where
(42)C=[I3×303×12]3×15,B=[I3×3012×3].
Based on continuous system discretization theory, the discrete time model of (41) can be written as
(43)x(k+1)=F(k)⋅x(k)+G(k)⋅U(k)+ξ(k),y(k)=H(k)⋅x(k)+ϑ(k).
According to Figure 4 and using design principle described in Steps from 1 to 4, the estimate of gyro bias and misalignments, actual angular velocity of the satellite, and attitude estimation are updated according to the following steps (one cycle of the IMM_CT method)  [17].Step 5.
Residual update (forj=1,2,3)
(44)x´j(4:15)=x̂j(4:15)-x̂(4:15),[x´(1)x´(2)x´(3)]n=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂j(1)x̂j(2)x̂j(3)]n.Step 6.
IRU compensated rate:(45)ω=(I-K̂)ωg-b̂.Step 7.
Steps 1 to4 (N=3).Step 8.
Attitude, angular rate, and IRU compensation parameters update(46)[φ̂θ̂ψ̂]new=[φθψ]n+[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]-1⋅[x̂(1)x̂(2)x̂(3)]n+1,b̂(n+1)=b̂(n)+x̂4:6(n+1),ĝij(n+1)=ĝij(n)+x̂7:15(n+1),ω̂n=ωn-[x(4)x(5)x(6)]n+1-[ωx000ωy000ωz]⋅[x(7)x(8)x(9)]n+1-[ωy000ωz000ωx]⋅[x(10)x(11)x(12)]n+1-[ωz000ωx000ωy]⋅[x(13)x(14)x(15)]n+1.In Steps from5 to 8, we have considered that
(47)Rj=max⁡(σstar)2,j=1,2,3,Q1=QGyro,Q2=[σa2I3×303×303×303×3σr2I3×303×303×303×3σsf2I3×3],Q3=[σa2I3×303×303×3σr2I3×3].
We will illustrate that applying this algorithm maintains the peak estimation errors less enough at the start of maneuvers. But, as mentioned before, this structure cannot improve the steady-state estimation accuracy while the satellite is in “uniform motion” mode (deficiency of IMM_CT structure). So, in the next section we will design the “IMM_L” attitude estimator to reduce the steady-state estimation errors while the satellite is in “uniform motion” mode.


### 3.2. IMM Attitude Estimator in “Uniform Motion” Mode (IMM_L)

As we mentioned in Section2.3, the number of identified star changes during the motion of satellite relative to ECI coordinate system which will affect the standard deviation of star sensor measurement noise (σstar) strongly.Here, the IMM baseline algorithm will be adopted to (21) with different star sensor measurement noise levels as a new idea to decrease attitude estimation errors while the satellite is in “uniform motion” mode. The “IMM_L” estimator will be designed based on 6-state EKF structure in order to identify the suitable star sensor measurement noise level. This will improve attitude estimation accuracy of the satellite at the end of maneuvers while imaging takes place. We will augment (2) and (5) with 6-state filter structure to consider the dynamic model of satellite and reaction wheels. Thus, the proposed IMM_L structure consists of 12 states as follows:
(48)ẋ=f12×1(x,u,t)+w,y=Cx+v,
where
(49)x=[ΔθxΔθyΔθzωxωyωzhωxhωyhωzΔbxΔbyΔbz],y=[ΔθxΔθyΔθzωxωyωzhωxhωyhωz],U=[ḣωxḣωyḣωzτxτyτz],
where C is the measurement matrix as follows:
(50)C=[I9×9[03×3I3×303×3]]9×12.
The linearization and then discretization, convert the system (47) to the form of (43). The IMM_L attitude estimator structure is shown in Figure 5. The estimation of gyro bias, actual angular velocity, and also attitude estimation of the satellite is updated according to Steps from 9 to 12 the (one cycle of the IMM_L method).Figure 5
IMM_L attitude estimator structure.Step 9.
Residual update (forj=1,2,…,8)
(51)xj´(4:9)=x̂j(4:9),xj´(10:12)=x̂j(10:12)-x̂(10:12),[x´(1)x´(2)x´(3)]n=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),
where
(52)[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂j(1)x̂j(2)x̂j(3)]n.Step 10.
IRU compensated rate:(53)ω=ωg-b̂.Step 11.
Steps1 to 4 (N=8)Step 12.
Attitude and IRU compensation parameters update(54)[φ̂θ̂ψ̂]new=[φθψ]n+[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]-1⋅[x̂(1)x̂(2)x̂(3)]n+1,ω̂n=[x(4)x(5)x(6)]n+1,b̂(n+1)=b̂(n)+x̂10:12(n+1).In this structure, we have considered that(55)Rj=[Rjstar03×303×303×3σr2I3×303×303×303×3σwheel2I3×3]9×9,Qj=Q=[Q3×3Satellite_Kinematic03×303×303×303×3Q3×3Satellite_Dynamic03×303×303×303×3Q3×3hw03×3015×3015×303×3σa2I3×3]12×12,
where
(56)Q3×3hw=σhw2I3×3,Q3×3Satellite_Dynamic=σSD2I3×3,Q3×3Satellite_Kinematic=σSK2I3×3,
and Rjstar,j=1,2,… are the different covariance matrices of the star sensor measurement errors. It should be mentioned that applying this structure cannot reduce the peak attitude estimation errors at the beginning of the stereoimaging maneuvers (deficiency of IMM_L structure).


### 3.3. EIMMAE Attitude Estimator

In this section, we will design an extended interacting multiple models adaptive estimator (EIMMAE) to maintain the peak attitude estimation errors less enough while the satellite is in “maneuvering motion” mode and to reduce attitude estimation errors while the satellite is in “uniform motion” mode simultaneously. The proposed algorithm will select the suitable Kalman filter structure while the satellite is in “maneuvering motion” mode and then will select the suitable star sensor measurement noise level while the satellite placed in “uniform motion” mode. The proposed EIMMAE attitude estimator structure is shown in Figures6 and 7. In order to provide combination of estimates from the IMM_L and IMM_CT outputs, we will consider PE1 and PE2 blocks to convert the states and covariance matrix from 15-state EKF structure to states and covariance matrix of 12-state EKF structure and vice versa.Figure 6
EIMMAE structure.Figure 7
IMM_L estimator block.The IMM_L estimator block in Figure6 has been elaborated in Figure 7.In “interaction/mixing of the estimates IMM_L” block, we have supposed that the probability of transition between different EKF structures of IMM_L estimator is zero (μLi∣j=0fori≠j) and the transition probability from 15 and 9 states EKF structures to IMM_L models is equal to the transition probability between EKFs of the IMM_CT configuration. So, the mixing states estimations stage will be achieved as follows:
(57)x̂j0(k∣k)=x´j(k∣k)μ3(k)+x1(k∣k)μ1∣3(k)+x2(k∣k)μ2∣3(k).
According to the above assumptions and considering the EIMMAE block diagram, the estimation of gyro bias, actual angular velocity of the satellite, and attitude estimation are updated according to Steps from 13 to 26 the (one cycle of the EIMMAE method).Step 13.
Residual update IMM_CT (forj=1,2)
(58)x´j(4:15)=x̂j(4:5)-x̂(4:15),[x´(1)x´(2)x´(3)]n=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),
where
(59)[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂j(1)x̂j(2)x̂j(3)]n.Step 14.
IRU compensated rate:(60)ω=(I-K̂)ωg-b̂.Step 15.
Steps1 and 2 (N=2).Step 16.
Residual update IMM_L (forj=1,2,…,8)
(61)x´lj(4:9)=x̂lj(4:9),x´lj(10:12)=x̂lj(10:12)-xl̂(10:12),[x´(1)x´(2)x´(3)]lj=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂lj(1)x̂lj(2)x̂lj(3)].Step 17.
PE_1 block (forj=1,2)
(62)xj(1:3)=xj´(1:3),xj(4:6)=ωn-1-[ωx000ωy000ωz]n-1⋅[x̂j(7)x̂j(8)x̂j(9)]-[ωy000ωz000ωx]n-1⋅[x̂j(10)x̂j(11)x̂j(12)]-[ωz000ωx000ωy]⋅[x̂j(13)x̂j(14)x´j(15)],xj(7:9)=wheelsmomentum,xj(10:12)=x´j(4:6).Step 18.
Interaction/mixing of the estimates IMM_L ( forj=1,2,…,8):Mixing estimate:(63)x̂lj0(k∣k)=x´lj(k∣k)μ3(k)+x1(k∣k)μ1∣3(k)+x2(k∣k)μ2∣3(k).Mixing covariance:(64)Plj0(k∣k)=∑i=12{Pj(k∣k)+[x̂lj0(k∣k)-xi(k∣k)]×[x̂lj0(k∣k)-xiT(k∣k)]}μi∣3(k)+{Plj(k∣k)+[x̂lj0(k∣k)-x´lj(k∣k)]×[x̂lj0(k∣k)-x´ljT(k∣k)]}μ3∣3(k).Step 19.
Steps2 and 3 by replacing x̂,Fj,x̂j0,Gj with x̂l,Flj,x̂lj0,Glj, respectively.Step 20.
Combination of estimatesOverall state estimate:(65)x̂l(k+1∣k+1)=∑i=18x̂li(k+1∣k+1)μli(k+1).Overall covariance:(66)Pl(k+1∣k+1)=∑i=18{[x̂(k+1∣k+1)-x̂li(k+1∣k+1)]TPli(k+1∣k+1)+[x̂l(k+1∣k+1)-x̂li(k+1∣k+1)]×[x̂(k+1∣k+1)-x̂li(k+1∣k+1)]T}×μli(k+1).Overall residual:(67)r̂=z(k+1)-Hl(k+1)x̂l(k+1∣k).Residual covariance:(68)Ŝl(k+1∣k+1)=∑i=18{Ŝli(k+1∣k+1)+[r̂l(k+1∣k+1)-r̂li(k+1∣k+1)]×[r̂l(k+1∣k+1)-r̂li(k+1∣k+1)]T}×μli(k+1).Step 21.
PE_2 block:(69)x̂3=A⋅x̂l(1:3),
where
(70)A=[I3×303×603×303×303×6I3×309×309×609×3].Step 22.
Residual of tertiary model:(71)r̂3=z(k+1)-H(k+1)x̂l(k+1∣k),Ŝ3=A⋅Ŝl⋅AT.Step 23.
Steps3 and 4Step 24.
Attitude, angular rate, and IRU compensation parameters update(72)[φ̂θ̂ψ̂]new=[φθψ]n+[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]-1⋅[x̂(1)x̂(2)x̂(3)]n+1b̂(n+1)=b̂(n)+x̂4:6(n+1),ĝij(n+1)=ĝij(n)+x̂7:15(n+1).Step 25.
Angular rate estimation (forj=1:2)
(73)ω̂j=ωj-[xĵ(4)xĵ(5)xĵ(6)]k+1-[ωx000ωy000ωz]⋅[xĵ(7)xĵ(8)xĵ(9)]k+1-[ωy000ωz000ωx]⋅[xĵ(10)xĵ(11)xĵ(12)]k+1-[ωz000ωx000ωy]⋅[xĵ(13)xĵ(14)xĵ(15)]k+1.Step 26.
Overall angular rate estimate:(74)ω̂=μ1ω̂1+μ2ω̂2+μ3ω̂l.


## 3.1. IMM Attitude Estimator in “Maneuvering Motion” Mode (IMM_CT)

In this section, the IMM baseline algorithm will be adopted to design an attitude estimator while the satellite is in “maneuvering motion” mode. This estimator consists of three EKFs (N =3) with different structures (6, 9, and 15 states) which are required in different operating conditions of the satellite during each of stereoimaging maneuvers to maintain the peak attitude estimation errors less enough while the satellite starts to maneuver (“maneuvering motion” mode). In this structure, the 15- and 9-state EKF estimators will be selected at the beginning of maneuvers while the satellite is in “maneuvering motion” mode, and the 6-state EKF estimator will be selected at the end of maneuvers while the satellite placed in the “uniform motion” mode [17]. This structure is depicted in Figure 4.Figure 4
IMM_CT attitude estimator structure.Using (1), (7), and (10), we can form a 15- state dynamic error model for the 15-state Kalman filter as described in a compact form of first order differential equation
(39)ẋ=f15×1(x,u,t)+w,y=Cx+v,
where C is the measurement matrix, w and v are process and sensor measurement noise, respectively, and(40)x=[ΔθxΔθyΔθzΔbxΔbyΔbzΔksfxΔksfyΔksfzΔkxyΔkxzΔkyxΔkyzΔkzxΔkzy]T,y=[ΔθxΔθyΔθz]T,u=[ωxωyωz]T.The 9-state Kalman filter contains three star attitude errors, three gyro bias errors and three scale factor errors. The 6-state Kalman filter contains three star attitude errors and three gyro bias errors. The linearization in the operating point of the system (x0,u0) converts the system (39) to the form
(41)ẋ=Ax+Bu+w,y=Cx+v,
where
(42)C=[I3×303×12]3×15,B=[I3×3012×3].
Based on continuous system discretization theory, the discrete time model of (41) can be written as
(43)x(k+1)=F(k)⋅x(k)+G(k)⋅U(k)+ξ(k),y(k)=H(k)⋅x(k)+ϑ(k).
According to Figure 4 and using design principle described in Steps from 1 to 4, the estimate of gyro bias and misalignments, actual angular velocity of the satellite, and attitude estimation are updated according to the following steps (one cycle of the IMM_CT method)  [17].Step 5.
Residual update (forj=1,2,3)
(44)x´j(4:15)=x̂j(4:15)-x̂(4:15),[x´(1)x´(2)x´(3)]n=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂j(1)x̂j(2)x̂j(3)]n.Step 6.
IRU compensated rate:(45)ω=(I-K̂)ωg-b̂.Step 7.
Steps 1 to4 (N=3).Step 8.
Attitude, angular rate, and IRU compensation parameters update(46)[φ̂θ̂ψ̂]new=[φθψ]n+[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]-1⋅[x̂(1)x̂(2)x̂(3)]n+1,b̂(n+1)=b̂(n)+x̂4:6(n+1),ĝij(n+1)=ĝij(n)+x̂7:15(n+1),ω̂n=ωn-[x(4)x(5)x(6)]n+1-[ωx000ωy000ωz]⋅[x(7)x(8)x(9)]n+1-[ωy000ωz000ωx]⋅[x(10)x(11)x(12)]n+1-[ωz000ωx000ωy]⋅[x(13)x(14)x(15)]n+1.In Steps from5 to 8, we have considered that
(47)Rj=max⁡(σstar)2,j=1,2,3,Q1=QGyro,Q2=[σa2I3×303×303×303×3σr2I3×303×303×303×3σsf2I3×3],Q3=[σa2I3×303×303×3σr2I3×3].
We will illustrate that applying this algorithm maintains the peak estimation errors less enough at the start of maneuvers. But, as mentioned before, this structure cannot improve the steady-state estimation accuracy while the satellite is in “uniform motion” mode (deficiency of IMM_CT structure). So, in the next section we will design the “IMM_L” attitude estimator to reduce the steady-state estimation errors while the satellite is in “uniform motion” mode.


## 3.2. IMM Attitude Estimator in “Uniform Motion” Mode (IMM_L)

As we mentioned in Section2.3, the number of identified star changes during the motion of satellite relative to ECI coordinate system which will affect the standard deviation of star sensor measurement noise (σstar) strongly.Here, the IMM baseline algorithm will be adopted to (21) with different star sensor measurement noise levels as a new idea to decrease attitude estimation errors while the satellite is in “uniform motion” mode. The “IMM_L” estimator will be designed based on 6-state EKF structure in order to identify the suitable star sensor measurement noise level. This will improve attitude estimation accuracy of the satellite at the end of maneuvers while imaging takes place. We will augment (2) and (5) with 6-state filter structure to consider the dynamic model of satellite and reaction wheels. Thus, the proposed IMM_L structure consists of 12 states as follows:
(48)ẋ=f12×1(x,u,t)+w,y=Cx+v,
where
(49)x=[ΔθxΔθyΔθzωxωyωzhωxhωyhωzΔbxΔbyΔbz],y=[ΔθxΔθyΔθzωxωyωzhωxhωyhωz],U=[ḣωxḣωyḣωzτxτyτz],
where C is the measurement matrix as follows:
(50)C=[I9×9[03×3I3×303×3]]9×12.
The linearization and then discretization, convert the system (47) to the form of (43). The IMM_L attitude estimator structure is shown in Figure 5. The estimation of gyro bias, actual angular velocity, and also attitude estimation of the satellite is updated according to Steps from 9 to 12 the (one cycle of the IMM_L method).Figure 5
IMM_L attitude estimator structure.Step 9.
Residual update (forj=1,2,…,8)
(51)xj´(4:9)=x̂j(4:9),xj´(10:12)=x̂j(10:12)-x̂(10:12),[x´(1)x´(2)x´(3)]n=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),
where
(52)[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂j(1)x̂j(2)x̂j(3)]n.Step 10.
IRU compensated rate:(53)ω=ωg-b̂.Step 11.
Steps1 to 4 (N=8)Step 12.
Attitude and IRU compensation parameters update(54)[φ̂θ̂ψ̂]new=[φθψ]n+[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]-1⋅[x̂(1)x̂(2)x̂(3)]n+1,ω̂n=[x(4)x(5)x(6)]n+1,b̂(n+1)=b̂(n)+x̂10:12(n+1).In this structure, we have considered that(55)Rj=[Rjstar03×303×303×3σr2I3×303×303×303×3σwheel2I3×3]9×9,Qj=Q=[Q3×3Satellite_Kinematic03×303×303×303×3Q3×3Satellite_Dynamic03×303×303×303×3Q3×3hw03×3015×3015×303×3σa2I3×3]12×12,
where
(56)Q3×3hw=σhw2I3×3,Q3×3Satellite_Dynamic=σSD2I3×3,Q3×3Satellite_Kinematic=σSK2I3×3,
and Rjstar,j=1,2,… are the different covariance matrices of the star sensor measurement errors. It should be mentioned that applying this structure cannot reduce the peak attitude estimation errors at the beginning of the stereoimaging maneuvers (deficiency of IMM_L structure).


## 3.3. EIMMAE Attitude Estimator

In this section, we will design an extended interacting multiple models adaptive estimator (EIMMAE) to maintain the peak attitude estimation errors less enough while the satellite is in “maneuvering motion” mode and to reduce attitude estimation errors while the satellite is in “uniform motion” mode simultaneously. The proposed algorithm will select the suitable Kalman filter structure while the satellite is in “maneuvering motion” mode and then will select the suitable star sensor measurement noise level while the satellite placed in “uniform motion” mode. The proposed EIMMAE attitude estimator structure is shown in Figures6 and 7. In order to provide combination of estimates from the IMM_L and IMM_CT outputs, we will consider PE1 and PE2 blocks to convert the states and covariance matrix from 15-state EKF structure to states and covariance matrix of 12-state EKF structure and vice versa.Figure 6
EIMMAE structure.Figure 7
IMM_L estimator block.The IMM_L estimator block in Figure6 has been elaborated in Figure 7.In “interaction/mixing of the estimates IMM_L” block, we have supposed that the probability of transition between different EKF structures of IMM_L estimator is zero (μLi∣j=0fori≠j) and the transition probability from 15 and 9 states EKF structures to IMM_L models is equal to the transition probability between EKFs of the IMM_CT configuration. So, the mixing states estimations stage will be achieved as follows:
(57)x̂j0(k∣k)=x´j(k∣k)μ3(k)+x1(k∣k)μ1∣3(k)+x2(k∣k)μ2∣3(k).
According to the above assumptions and considering the EIMMAE block diagram, the estimation of gyro bias, actual angular velocity of the satellite, and attitude estimation are updated according to Steps from 13 to 26 the (one cycle of the EIMMAE method).Step 13.
Residual update IMM_CT (forj=1,2)
(58)x´j(4:15)=x̂j(4:5)-x̂(4:15),[x´(1)x´(2)x´(3)]n=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),
where
(59)[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂j(1)x̂j(2)x̂j(3)]n.Step 14.
IRU compensated rate:(60)ω=(I-K̂)ωg-b̂.Step 15.
Steps1 and 2 (N=2).Step 16.
Residual update IMM_L (forj=1,2,…,8)
(61)x´lj(4:9)=x̂lj(4:9),x´lj(10:12)=x̂lj(10:12)-xl̂(10:12),[x´(1)x´(2)x´(3)]lj=[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]×([φθψ]0-[φθψ]n),[φθψ]0=[φθψ]n-1+[10-sin⁡⁡(θn-1)0cos⁡⁡(φn-1)cos⁡⁡(θn-1)sin⁡⁡(φn-1)0-sin⁡⁡(φn-1)cos⁡⁡(φn-1)cos⁡⁡(θn-1)]-1×[x̂lj(1)x̂lj(2)x̂lj(3)].Step 17.
PE_1 block (forj=1,2)
(62)xj(1:3)=xj´(1:3),xj(4:6)=ωn-1-[ωx000ωy000ωz]n-1⋅[x̂j(7)x̂j(8)x̂j(9)]-[ωy000ωz000ωx]n-1⋅[x̂j(10)x̂j(11)x̂j(12)]-[ωz000ωx000ωy]⋅[x̂j(13)x̂j(14)x´j(15)],xj(7:9)=wheelsmomentum,xj(10:12)=x´j(4:6).Step 18.
Interaction/mixing of the estimates IMM_L ( forj=1,2,…,8):Mixing estimate:(63)x̂lj0(k∣k)=x´lj(k∣k)μ3(k)+x1(k∣k)μ1∣3(k)+x2(k∣k)μ2∣3(k).Mixing covariance:(64)Plj0(k∣k)=∑i=12{Pj(k∣k)+[x̂lj0(k∣k)-xi(k∣k)]×[x̂lj0(k∣k)-xiT(k∣k)]}μi∣3(k)+{Plj(k∣k)+[x̂lj0(k∣k)-x´lj(k∣k)]×[x̂lj0(k∣k)-x´ljT(k∣k)]}μ3∣3(k).Step 19.
Steps2 and 3 by replacing x̂,Fj,x̂j0,Gj with x̂l,Flj,x̂lj0,Glj, respectively.Step 20.
Combination of estimatesOverall state estimate:(65)x̂l(k+1∣k+1)=∑i=18x̂li(k+1∣k+1)μli(k+1).Overall covariance:(66)Pl(k+1∣k+1)=∑i=18{[x̂(k+1∣k+1)-x̂li(k+1∣k+1)]TPli(k+1∣k+1)+[x̂l(k+1∣k+1)-x̂li(k+1∣k+1)]×[x̂(k+1∣k+1)-x̂li(k+1∣k+1)]T}×μli(k+1).Overall residual:(67)r̂=z(k+1)-Hl(k+1)x̂l(k+1∣k).Residual covariance:(68)Ŝl(k+1∣k+1)=∑i=18{Ŝli(k+1∣k+1)+[r̂l(k+1∣k+1)-r̂li(k+1∣k+1)]×[r̂l(k+1∣k+1)-r̂li(k+1∣k+1)]T}×μli(k+1).Step 21.
PE_2 block:(69)x̂3=A⋅x̂l(1:3),
where
(70)A=[I3×303×603×303×303×6I3×309×309×609×3].Step 22.
Residual of tertiary model:(71)r̂3=z(k+1)-H(k+1)x̂l(k+1∣k),Ŝ3=A⋅Ŝl⋅AT.Step 23.
Steps3 and 4Step 24.
Attitude, angular rate, and IRU compensation parameters update(72)[φ̂θ̂ψ̂]new=[φθψ]n+[10-sin⁡⁡(θn)0cos⁡⁡(φn)cos⁡⁡(θn)sin⁡⁡(φn)0-sin⁡⁡(φn)cos⁡⁡(φn)cos⁡⁡(θn)]-1⋅[x̂(1)x̂(2)x̂(3)]n+1b̂(n+1)=b̂(n)+x̂4:6(n+1),ĝij(n+1)=ĝij(n)+x̂7:15(n+1).Step 25.
Angular rate estimation (forj=1:2)
(73)ω̂j=ωj-[xĵ(4)xĵ(5)xĵ(6)]k+1-[ωx000ωy000ωz]⋅[xĵ(7)xĵ(8)xĵ(9)]k+1-[ωy000ωz000ωx]⋅[xĵ(10)xĵ(11)xĵ(12)]k+1-[ωz000ωx000ωy]⋅[xĵ(13)xĵ(14)xĵ(15)]k+1.Step 26.
Overall angular rate estimate:(74)ω̂=μ1ω̂1+μ2ω̂2+μ3ω̂l.


## 4. Simulation

A simulation is done to show effectiveness and efficiency of the EIMMAE method for attitude estimation of a stereoimagery satellite with(75)J=[389.99-3.28-11.57-3.28391.83-7.42-11.57-7.42176.58]Kgm2.
Consider a scenario for achieving the stereoimaging mission shown in Figure 1. Fulfillment of this scenario requires four main slew maneuvers in a sequence. This sequence is shown in Figure 8 and starts from initial attitude (e.g., sun pointing) to nadir pointing which is called “Initial maneuver”. Afterwards, the satellite will slew to point 1 from nadir pointing, and the first picture will be taken by a snapshot after a specific constant pointing stability and accuracy are reached. The second slew is achieved from point 1 to point 2 (e.g., Nadir pointing). The second picture may be taken by a snapshot after a specific constant pointing stability and accuracy are reached. The third slew is achieved from point 2 to target attitude at point 3. The second picture will be usually taken during slew 3 by a snapshot after a specific constant pointing stability and accuracy are reached. The last slew is to back toward nadir pointing under 3-axis control. These required maneuvers are summarized in Table 1 [5].Table 1
Mission sequence for stereoimaging.
ManeuverAttitude description{Roll, Pitch, Yaw} DegreeFromtoInitial SlewSlew from Initial condition to nadir pointing during 100 sec{10,-10,10}{0,0,0}Time:[0100] secSlew 1Slew from nadir pointing to point 1 during 100 sec{0,0,0}{30,30,0}Time:[100200]  secSlew 2Slew from point 1 to nadir pointing (point 2) during 100 sec{30,30,0}{0,0,0}Time:[200300]  secSlew 3Slew from point 2 to point 3 during 100 sec{0,0,0}{30,-30,0}Time:[300400]  secSlew 4Slew from point 3 to nadir pointing during 100 sec{30,-30,0}{0,0,0}Time:[400500]  secFigure 8
Stereoimaging Scenario.In this scenario, a typical star sensor data has been considered based on produced data in [20]. A plot of the number of identified stars and star sensor measurements noise with a value of 0.005 deg for 3σs and associated 3σ boundaries over the 540 sec during the stereoimaging maneuvers (according to Table 1) are shown in Figure 9 [20].(a) Number of identified stars (b) Star sensor measurement errors and boundaries.
(a)(b)According to Figure9(b), it should be mentioned that 3σ boundaries of the star sensor measurement errors will be changed according to the changes of the number of identified stars. In the following simulations, the noise parameters for the gyro measurements in (12) are given by σr=3×10-10 rad/sec3/2 and σa=3×10-6 rad/sec1/2.  The initial bias of the gyro for each axis is given by 0.01 deg/hr. The initial covariance of the gyro for the attitude error is set to 0.28 deg2, and the initial covariance for the gyro drift is set to 0.22 (deg/hr)2. The sampling interval for the star sensor and gyroscope is considered Δt=0.1 sec.


### 4.1. Performance Evaluation of the IMM_CT Attitude Estimator

In this simulation, we have supposed that the satellite will achieve a number of large angle maneuvers in a few seconds (100 seconds for each maneuver) to estimate the gyro bias, misalignments, and scale factor errors accurately, by applying this method according to Steps from5 to 8 with N=3 (15, 9, and 6-state EKFs) and
(76)πij=[0.99900.0010.0080.990.0020.0080.0020.99].
The posterior probability of EKFs (Pi(t)) is shown in Figure 10. This figure shows that at the beginning of the maneuvers, the probability of the 15-state and 9-state EKFs are more than 6-state EKF to estimate gyro errors accurately; but at the end of maneuvers the probability of the 6-state structure is higher than the other structures while satellite is in “uniform motion” mode.Posterior probability of the EKFs structures in IMM_CT method.
(a)(b)(c)The gyro errors estimations are shown in Figures11, 12, 13, and 14.Gyro bias estimation.
(a)(b)(c)Scale factor estimation.
(a)(b)(c)Upper misalignment error estimation.
(a)(b)(c)Lower misalignment error estimation.
(a)(b)(c)These figures verify the effectiveness of IMM_CT method to estimate gyro errors accurately and to maintain the peak error of attitude estimation less enough while the satellite is in the “maneuvering motion” mode as mentioned in [17].


### 4.2. Performance Evaluation of the IMM_L Method

According to Figure9(b), the 3σ boundaries of the star sensor measurement errors change between at least two main levels (marked as “high” and “low”) around each axis which are described in Table 2.Table 2
Standard deviation of the star sensor measurement noise levels around each axis.
LevelsE[ϑj(k)ϑjT(k)]=(3σ/3)2RollPitchYaw(Low)(0.003/3)2(0.003/3)2(0.059/3)2(High)(0.005/3)2(0.005/3)2(0.15/3)2Therefore, we should consider at leastN=23 different models, with different star sensor measurements covariance matrix (Rjstar,j=1,2,…8), in order to design the IMM_L estimator in the presence of star sensor measurement noise level changes. These models are mentioned in Table 3.Table 3
Different model for star sensor measurement noise levels.
Number of models (N)Star sensor measurements noiseCovariance (Rjstar,j=1,2,…8)RollPitchYawModel #1HighHighHighModel #2HighHighLowModel #3HighLowHighModel #4HighLowLowModel #5LowHighHighModel #6LowHighLowModel #7LowLowHighModel #8LowLowLowIt has been shown in Figure9(b) that 3σ boundaries of the star sensor measurement errors have the same level (high or low) around all axes during each period of time; so, the model #1 or #8 should be selected if the designed attitude estimator identifies the star sensor noise level correctly, by applying the IMM_L estimator with
(77)σSK=1×10-8,σhw2=3.2×10-4,σSD=3.1×10-6,σwheel=2.1×10-6,
and the transition probabilities matrix π(78)π=[0.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.93].
The number of the most probable model is shown in Figure 15.Figure 15
Number of correct model inIMM_Lstructure.According to Figure15, it is certified that the designed IMM_L estimator identifies the star sensor measurement noise level correctly around all axes and recognizes the correct model (model #1 or model #8) at the end of maneuvers (t∈[180200],[280300],[380400],… sec).


### 4.3. Performance Evaluation of the EIMMAE Method

This section clearly shows the effectiveness of the proposed EIMMAE structure for attitude estimation of the stereoimagery satellite. By applying this method during stereoimaging scenario (according to Table1), the 9-or 15-state Kalman filter should be selected at the start of maneuvers (t∈[100150],[200250],[300350],[400450] sec), and the IMM_L structure (6-state kalman filters with different star sensor measurements noise levels) should be selected at the end of maneuvers (t∈[180200],[280300],[380400] sec), and then the suitable star sensor measurement noise level should be selected using the IMM_L structure in this mode. The posterior probability of EKFs (μi(t)) is shown in Figure 16. This figure shows that at the beginning of the maneuvers, the probability of the 15-state and 9- state EKFs is more than IMM_L structure and probability of the IMM_L structure is higher than the other structures while satellite is in “uniform motion” mode at the end of maneuvers.Posterior probability of the EKFs structures in EIMMAE structure.
(a)(b)(c)The posterior probability of the models for star sensor measurements noise level (Table3) at the end of maneuvers is shown in Figure 17 while the IMM_L structure selected.Posterior probability of the models for the star sensor measurements noise level.
(a)(b)(c)(d)(e)(f)(g)(h)The attitude estimation errors using the EIMMAE structure will be compared with IMM_L and IMM_CT method in Figures18 and 19 with
(79)πij=[0.99900.0010.0080.990.0020.0080.0020.99].
These figures verify that the EIMMAE method will provide the benefits of both IMM_CT and IMM_L methods simultaneously for attitude estimation during the large and fast maneuvers of stereoimaging scenario. In the other words, the designed EIMMAE estimator maintains the peak error less enough while the satellite is in the “maneuvering motion” mode  (t∈[100150],[200250],[300350],[400450] sec) and reduces the attitude estimation errors at the end of maneuvers while the satellite is in “uniform motion” mode  (t∈[180200],[280300],[380400] sec) simultaneously.Estimation errors using IMM_L and EIMMAE.
(a)(b)(c)Estimation errors using IMM_CT and EIMMAE.
(a)(b)(c)The comparison results between EIMMAE structure with IMM_L and IMM_CT for attitude estimation at the end of maneuvers (t∈[180200],[280300],[380400] sec) in stereoimaging scenario are summarized in Table 4. Entries of this table contain the average of absolute attitude estimation errors around each axis at the end of three main stereoimaging maneuvers during t∈[180200],[280300],[380400] sec which have been computed around each axis using (80) as follows:
(80)Δφ=13(1200-180∑t=180200|eφ(t)|+1300-280∑t=280300|eφ(t)|+1400-380∑t=380400|eφ(t)|).
According to Table 4, it is obvious that fulfillment of the EIMMAE method improves pointing accuracy of the satellite up to 25% in comparison with applying the IMM_L method and improves pointing accuracy of the satellite up to 50% in comparison with applying the IMM_CT method.Table 4
Comparing results of EIMMAE structure with IMM_L and IMM_CT methods.
MethodAverage RMS error for 3 maneuvers (degree)(1/3)∑(1/(tn-t0))∑t=t0tn|e(t)|t0=180, 280, 380tn=200, 300, 400RollΔφ(Deg.)PitchΔθ(Deg.)YawΔψ(Deg.)IMM_CT0.405×10-30.411×10-30.376×10-2IMM_L0.332×10-30.345×10-30.228×10-2EIMMAE0.256×10-30.251×10-30.223×10-2In order to show effectiveness and advantages of the proposed EIMMAE method to estimate the attitude of the satellite at the imaging moment, we will compare the obtained results with the other previous attitude estimation methods. For this purpose, we have summarized 1 sigma estimation errors of different attitude estimation methods in Table5.Table 5
Comparison of attitude estimation methods.
MethodGyro noise characteristicsStar sensor noise characteristics1 sigma estimation errorRolldeg.Pitchdeg.Yawdeg.EKF [21]σr=10×10-10 rad/sec3/2σa=10×10-7 rad/sec1/2(σx,σy) = 3.6 to 6 arcsecσz = 70.8 to 180 arcsec0.000660.000720.00499EKF [17]σr=4.8×10-11 rad/sec3/2σa=1.3×10-10 rad/sec1/2(σx, σy) = 10 arcsecσz = 20 arcsec0.001720.001550.00172MMAE [18]σr=10×10-10 rad/sec3/2σa=2.9×10-5 rad/sec1/2(σx, σy,σz) = 3.6 arcsec0.00160.00150.0015IMMAE [18]σr=10×10-10 rad/sec3/2σa=2.9×10-5 rad/sec1/2(σx,σy,σz) = 3.6 arcsec0.00130.00120.0013EIMMAE*σr=3×10-10 rad/sec3/2σa=3×10-6 rad/sec1/2(σx,σy) = 3.6 to 6 arcsecσz = 70.8 to 180 arcsec0.000320.000310.0027*The attitude estimator proposed in this paper.This table approves that the proposed EIMMAE algorithm improves the steady-state attitude estimation accuracy of the satellite considerably around roll and pitch axes at the end of stereoimaging maneuvers. According to this table, attitude estimation error around the yaw axis associated with EIMMAE method is more than the attitude estimation error around yaw axis associated with the other methods. The reason is that we have used only one star sensor with lower accuracy than the star sensors which have been used in the other mentioned methods. Therefore, in the similar situation, by using star sensor with the same characteristics being used in the other methods, we can provide more accurate attitude knowledge by applying the EIMMAE algorithm while imaging takes place. So, fulfillment of the EIMMAE algorithm is more effective than the other previous mentioned methods to reduce the peak attitude estimation errors at the start of the maneuvers and to increase accuracy of attitude estimation at the end of stereoimaging maneuvers.


## 4.1. Performance Evaluation of the IMM_CT Attitude Estimator

In this simulation, we have supposed that the satellite will achieve a number of large angle maneuvers in a few seconds (100 seconds for each maneuver) to estimate the gyro bias, misalignments, and scale factor errors accurately, by applying this method according to Steps from5 to 8 with N=3 (15, 9, and 6-state EKFs) and
(76)πij=[0.99900.0010.0080.990.0020.0080.0020.99].
The posterior probability of EKFs (Pi(t)) is shown in Figure 10. This figure shows that at the beginning of the maneuvers, the probability of the 15-state and 9-state EKFs are more than 6-state EKF to estimate gyro errors accurately; but at the end of maneuvers the probability of the 6-state structure is higher than the other structures while satellite is in “uniform motion” mode.Posterior probability of the EKFs structures in IMM_CT method.
(a)(b)(c)The gyro errors estimations are shown in Figures11, 12, 13, and 14.Gyro bias estimation.
(a)(b)(c)Scale factor estimation.
(a)(b)(c)Upper misalignment error estimation.
(a)(b)(c)Lower misalignment error estimation.
(a)(b)(c)These figures verify the effectiveness of IMM_CT method to estimate gyro errors accurately and to maintain the peak error of attitude estimation less enough while the satellite is in the “maneuvering motion” mode as mentioned in [17].


## 4.2. Performance Evaluation of the IMM_L Method

According to Figure9(b), the 3σ boundaries of the star sensor measurement errors change between at least two main levels (marked as “high” and “low”) around each axis which are described in Table 2.Table 2
Standard deviation of the star sensor measurement noise levels around each axis.
LevelsE[ϑj(k)ϑjT(k)]=(3σ/3)2RollPitchYaw(Low)(0.003/3)2(0.003/3)2(0.059/3)2(High)(0.005/3)2(0.005/3)2(0.15/3)2Therefore, we should consider at leastN=23 different models, with different star sensor measurements covariance matrix (Rjstar,j=1,2,…8), in order to design the IMM_L estimator in the presence of star sensor measurement noise level changes. These models are mentioned in Table 3.Table 3
Different model for star sensor measurement noise levels.
Number of models (N)Star sensor measurements noiseCovariance (Rjstar,j=1,2,…8)RollPitchYawModel #1HighHighHighModel #2HighHighLowModel #3HighLowHighModel #4HighLowLowModel #5LowHighHighModel #6LowHighLowModel #7LowLowHighModel #8LowLowLowIt has been shown in Figure9(b) that 3σ boundaries of the star sensor measurement errors have the same level (high or low) around all axes during each period of time; so, the model #1 or #8 should be selected if the designed attitude estimator identifies the star sensor noise level correctly, by applying the IMM_L estimator with
(77)σSK=1×10-8,σhw2=3.2×10-4,σSD=3.1×10-6,σwheel=2.1×10-6,
and the transition probabilities matrix π(78)π=[0.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.930.010.010.010.010.010.010.010.010.93].
The number of the most probable model is shown in Figure 15.Figure 15
Number of correct model inIMM_Lstructure.According to Figure15, it is certified that the designed IMM_L estimator identifies the star sensor measurement noise level correctly around all axes and recognizes the correct model (model #1 or model #8) at the end of maneuvers (t∈[180200],[280300],[380400],… sec).


## 4.3. Performance Evaluation of the EIMMAE Method

This section clearly shows the effectiveness of the proposed EIMMAE structure for attitude estimation of the stereoimagery satellite. By applying this method during stereoimaging scenario (according to Table1), the 9-or 15-state Kalman filter should be selected at the start of maneuvers (t∈[100150],[200250],[300350],[400450] sec), and the IMM_L structure (6-state kalman filters with different star sensor measurements noise levels) should be selected at the end of maneuvers (t∈[180200],[280300],[380400] sec), and then the suitable star sensor measurement noise level should be selected using the IMM_L structure in this mode. The posterior probability of EKFs (μi(t)) is shown in Figure 16. This figure shows that at the beginning of the maneuvers, the probability of the 15-state and 9- state EKFs is more than IMM_L structure and probability of the IMM_L structure is higher than the other structures while satellite is in “uniform motion” mode at the end of maneuvers.Posterior probability of the EKFs structures in EIMMAE structure.
(a)(b)(c)The posterior probability of the models for star sensor measurements noise level (Table3) at the end of maneuvers is shown in Figure 17 while the IMM_L structure selected.Posterior probability of the models for the star sensor measurements noise level.
(a)(b)(c)(d)(e)(f)(g)(h)The attitude estimation errors using the EIMMAE structure will be compared with IMM_L and IMM_CT method in Figures18 and 19 with
(79)πij=[0.99900.0010.0080.990.0020.0080.0020.99].
These figures verify that the EIMMAE method will provide the benefits of both IMM_CT and IMM_L methods simultaneously for attitude estimation during the large and fast maneuvers of stereoimaging scenario. In the other words, the designed EIMMAE estimator maintains the peak error less enough while the satellite is in the “maneuvering motion” mode  (t∈[100150],[200250],[300350],[400450] sec) and reduces the attitude estimation errors at the end of maneuvers while the satellite is in “uniform motion” mode  (t∈[180200],[280300],[380400] sec) simultaneously.Estimation errors using IMM_L and EIMMAE.
(a)(b)(c)Estimation errors using IMM_CT and EIMMAE.
(a)(b)(c)The comparison results between EIMMAE structure with IMM_L and IMM_CT for attitude estimation at the end of maneuvers (t∈[180200],[280300],[380400] sec) in stereoimaging scenario are summarized in Table 4. Entries of this table contain the average of absolute attitude estimation errors around each axis at the end of three main stereoimaging maneuvers during t∈[180200],[280300],[380400] sec which have been computed around each axis using (80) as follows:
(80)Δφ=13(1200-180∑t=180200|eφ(t)|+1300-280∑t=280300|eφ(t)|+1400-380∑t=380400|eφ(t)|).
According to Table 4, it is obvious that fulfillment of the EIMMAE method improves pointing accuracy of the satellite up to 25% in comparison with applying the IMM_L method and improves pointing accuracy of the satellite up to 50% in comparison with applying the IMM_CT method.Table 4
Comparing results of EIMMAE structure with IMM_L and IMM_CT methods.
MethodAverage RMS error for 3 maneuvers (degree)(1/3)∑(1/(tn-t0))∑t=t0tn|e(t)|t0=180, 280, 380tn=200, 300, 400RollΔφ(Deg.)PitchΔθ(Deg.)YawΔψ(Deg.)IMM_CT0.405×10-30.411×10-30.376×10-2IMM_L0.332×10-30.345×10-30.228×10-2EIMMAE0.256×10-30.251×10-30.223×10-2In order to show effectiveness and advantages of the proposed EIMMAE method to estimate the attitude of the satellite at the imaging moment, we will compare the obtained results with the other previous attitude estimation methods. For this purpose, we have summarized 1 sigma estimation errors of different attitude estimation methods in Table5.Table 5
Comparison of attitude estimation methods.
MethodGyro noise characteristicsStar sensor noise characteristics1 sigma estimation errorRolldeg.Pitchdeg.Yawdeg.EKF [21]σr=10×10-10 rad/sec3/2σa=10×10-7 rad/sec1/2(σx,σy) = 3.6 to 6 arcsecσz = 70.8 to 180 arcsec0.000660.000720.00499EKF [17]σr=4.8×10-11 rad/sec3/2σa=1.3×10-10 rad/sec1/2(σx, σy) = 10 arcsecσz = 20 arcsec0.001720.001550.00172MMAE [18]σr=10×10-10 rad/sec3/2σa=2.9×10-5 rad/sec1/2(σx, σy,σz) = 3.6 arcsec0.00160.00150.0015IMMAE [18]σr=10×10-10 rad/sec3/2σa=2.9×10-5 rad/sec1/2(σx,σy,σz) = 3.6 arcsec0.00130.00120.0013EIMMAE*σr=3×10-10 rad/sec3/2σa=3×10-6 rad/sec1/2(σx,σy) = 3.6 to 6 arcsecσz = 70.8 to 180 arcsec0.000320.000310.0027*The attitude estimator proposed in this paper.This table approves that the proposed EIMMAE algorithm improves the steady-state attitude estimation accuracy of the satellite considerably around roll and pitch axes at the end of stereoimaging maneuvers. According to this table, attitude estimation error around the yaw axis associated with EIMMAE method is more than the attitude estimation error around yaw axis associated with the other methods. The reason is that we have used only one star sensor with lower accuracy than the star sensors which have been used in the other mentioned methods. Therefore, in the similar situation, by using star sensor with the same characteristics being used in the other methods, we can provide more accurate attitude knowledge by applying the EIMMAE algorithm while imaging takes place. So, fulfillment of the EIMMAE algorithm is more effective than the other previous mentioned methods to reduce the peak attitude estimation errors at the start of the maneuvers and to increase accuracy of attitude estimation at the end of stereoimaging maneuvers.


## 5. Conclusion

In this paper, we have designed a new adaptive attitude estimator (EIMMAE) based on interacting multiple models (IMM) extended Kalman filters (EKF) for attitude determination of a stereoimagery satellite. The proposed algorithm consists of two different IMM estimator structures: “IMM_CT” structure to select the suitable Kalman filter structure to maintain the peak attitude estimation errors less enough at the start of maneuvers and “IMM_L” structure to select the suitable star sensor measurement noise level to reduce attitude estimation errors while the satellite is in “uniform motion” mode. We have shown in Table4, Figures 18 and 19 that by applying the proposed adaptive attitude estimation method the attitude estimation requirements of stereoimagery satellite will be satisfied simultaneously. In the other hand, we have also compared the obtained results of the proposed EIMMAE method with some other previous attitude estimation methods in Table 5. This table has verified the advantages and effectiveness of the proposed EIMMAE method to provide highly accurate attitude estimation for achieving stereoimaging scenario.



---

*Source: 890502-2011-11-03.xml*