# ABSTRACT:

In this study, an Unscented Kalman Filter (UKF) algorithm is designed for estimating the attitude of a pico-satellite and the in-orbit external disturbance torques. The estimation vector is formed by the satellite's attitude, angular rates, and the unknown constant components of the external disturbance torques acting on the satellite. The gravity gradient torque, residual magnetic moment, sun radiation pressure and aerodynamic drag are all included in the estimated external disturbance torque vector. The satellite has magnetometers and gyros onboard as the attitude sensors. Because of the inherent nonlinear dynamics and the nonlinear measurement model, the UKF, which is a nonlinear version of the Kalman Filter, is selected as the filter algorithm. Performance of the proposed algorithm is demonstrated via simulations for a cube pico-satellite and the results are analyzed for different scenarios.

KEYWORDS:
Pico-satellite; Attitude estimation; Unscented Kalman filter; Disturbance torques

# INTRODUCTION

Although there are numerous researches on cubesats, and this number is increasing day by day, the investigations are still far from being concluded. The Cubesat is basically a cubic pico-satellite which has a volume of 1 liter and mass of no more than 1.3 kg. These types of satellites are the outcomes of a search for lighter, smaller and cheaper spacecrafts, and recently, they have mostly been considered as a part of research projects of organizations like universities (Toorian et al., 2008Toorian, A. Diaz, K. and Lee, S., 2008, "The Cubesat Approach to Space Access", Proceedings of 2008 IEEE Aerosacpe Conference, Montana, USA, pp. 1-14. doi: 10.1109/AERO.2008.4526293.
https://doi.org/10.1109/AERO.2008.452629...
).

The biggest difficulty of cubesat applications is the limitations on the size and mass of the satellite. All the subsystems must be designed regarding these limitations and, unquestionably, a trade-off between the performance and applicability might be required. Specifically for the attitude determination and control system (ADCS), we cannot use highly accurate sensors and actuators onboard a cubesat, since they are usually heavy and large. The attitude of the satellite must be determined and controlled using miniaturized sensors and actuators, which are usually coarser and less accurate (Candini et al., 2012Candini, G.P., Piergentili, F. and Santoni, F., 2012, "Miniaturized Attitude Control System for Nanosatellites", Acta Astronautica, Vol. 81, pp.325-334. doi: 10.1016/j.actaastro.2012.07.027.
https://doi.org/10.1016/j.actaastro.2012...
). In this case, one technique to increase the system performance is to properly select the onboard running ADCS algorithm.

The Extended Kalman Filter (EKF) is a nonlinear Kalman Filter (KF), which has been widely used for satellite attitude estimation (Psiaki et al., 1990Psiaki, M.L., Martel, F. and Pal, P.K., 1990, "Three-axis Attitude Determination via Kalman Filtering of Magnetometer Data", Journal of Guidance, Control, and Dynamics, Vol.13, pp. 506-514. doi: 10.2514/3.25364.
https://doi.org/10.2514/3.25364...
; Lefferts et al., 1982Lefferts, E.J., Markley, F.L. and Shuster, M.D., 1982, "Kalman Filtering for Spacecraft Attitude Estimation", Journal of Guidance, Control, and Dynamics, Vol.5, pp. 417-429. doi: 10.2514/3.56190.
https://doi.org/10.2514/3.56190...
). On the other hand, the EKF has some disadvantages, especially for the highly nonlinear systems. Generally, this is caused by the mandatory linearization phase of the EKF procedure and so the Jacobians derived with that purpose. For most of the applications, the generation of the Jacobians is time consuming, difficult and prone to human errors (Julier and Uhlmann, 2004Julier, S.J. and Uhlmann, J.K., 2004, "Unscented Filtering and Nonlinear Estimation", Proccedings of IEEE, Vol. 92, No. 3, pp. 401-422. doi: 10.1109/JPROC.2003.823141.
https://doi.org/10.1109/JPROC.2003.82314...
; Sekhavat et al., 2007Sekhavat, P., Gong, Q. and Ross, I.M., 2007, "NPSAT I parameter Estimation Using Unscented Kalman Filter", Proceedings of 2007 American Control Conference, New York, pp. 4445-4451.). Nonetheless, the linearization brings about an unstable filter performance when the time steps for the update is not sufficiently small and so the estimation or identification procedure fails as the filter diverges (Julier et al., 1995). Per contra, small time steps increases the computational burden because of the larger number of Jacobian calculations. As a result of these facts, the EKF may be efficient only if the system is almost linear on the timescale of update intervals (Julier and Uhlmann, 2004).

A relatively new Kalman filtering technique, which does not have the shortcomings of the EKF for the nonlinear systems, is the Unscented Kalman Filter (UKF). The UKF generalizes the Kalman filter for both the linear and nonlinear systems and, in case of nonlinear dynamics, it provides relatively more accurate estimation results than other known observer design methodologies such as the EKF. The essence of the UKF is the fact that the approximation of a nonlinear distribution is easier than the approximation of a nonlinear function or transformation (Julier et al., 2000Julier,S., Uhlmann, J. and Durrant-Whyte, H.F., 2000, "A New Method for the Nonlinear Transformation of Means and Covariances in Filters and Estimators", IEEE Transactions on Automatic Control, Vol.45, No. 3, pp. 477-482. doi: 10.1109/9.847726.
https://doi.org/10.1109/9.847726...
). The UKF introduces sigma points for catching higher order statistics of the system. It satisfies both better estimation accuracy and convergence characteristics by securing higher order information (Sekhavat et al., 2007Sekhavat, P., Gong, Q. and Ross, I.M., 2007, "NPSAT I parameter Estimation Using Unscented Kalman Filter", Proceedings of 2007 American Control Conference, New York, pp. 4445-4451.). Furthermore, the UKF is more robust against the initial estimation errors, so even in case of inaccurate a priori knowledge about the initial condition of the states, it performs well. The only disadvantage of the UKF is the increase in the computational burden when compared to the EKF. Yet, the computational load depends on the type of application and there are several researches aiming at making the UKF computationally more efficient (Li et al., 2013Li, J., Post, M.A. and Lee, R., 2013, "A Novel Adaptive Unscented Kalman Filter Attitude Estimation and Control Systems for 3U Nanosatellite", Proceedings of European Control Conference, Zurich, Switzerland, pp.2128-2133.).

There are many documented studies for the UKF as an estimation algorithm in astronautics. In (Crassidis and Markley, 2003Crassidis, J.L. and Markley, F.L., 2003, "Unscented Filtering for Spacecraft Attitude Estimation", Journal of Guidance, Control, and Dynamics, Vol. 26, pp. 536-542. doi: 10.2514/2.5102.
https://doi.org/10.2514/2.5102...
) it is used as a state estimator, while both the states and the parameters of the satellite are estimated by the UKF in Dyke et al. (2004)Dyke, M.C., Schwartz, J.L. and Hall, C.D., 2004, "Unscented Kalman Filtering for Spacecraft Attitude State and Paremeter Estimation", Proceedings of the AAD/AIAA Space Flight Mechanics Conference, No. AAS 04-115, Hawaii, USA., Sekhavat et al. (2007)Sekhavat, P., Gong, Q. and Ross, I.M., 2007, "NPSAT I parameter Estimation Using Unscented Kalman Filter", Proceedings of 2007 American Control Conference, New York, pp. 4445-4451. and Sekhavat et al. (2009)Sekhavat, P., Karpenko, M. and Ross, I.M., 2009, "UKF-Based Spacecraft Parameter Estimation Using Optimal Excitation", Proceedings of AIAA Guidance, Navigation and Control Conference, Chicago, USA.. Moreover, in Vinther et al. (2011)Vinther, K., Jensen, K.F., Larsen, J.A. and Wisniewski, R., 2011, "Inexpensive Cubesat Attitude Estimation Using Quaternions and Unscented Kalman filtering", Automatic Control in Aerospace, Vol. 4, No. 1. the UKF is preferred as a part of the inexpensive cubesat attitude estimation method, where also the magnetometer biases are estimated and in Inamori et al. (2009)Inamori, T., Nakasuka, S. and Sako, N., 2009, "In-orbit Magnetic Disturbance Estimation and Compansation Using UKF in Nano-Satellite Mission", Proceedings of AIAA Guidance, Navigation, and Control Conference, Chicago, USA. it is used for in-orbit magnetic disturbance estimation and compensation. In Soken and Hajiyev (2011)Soken, H.E and Sakai, S., 2011, "UKF Based On-Orbit Gyro and Magnetometer Bias Estimation as a Part of the Attitude Determination Procedure for a Small Satellite", Proceedings of 11th International Conference on Control, Automation and Systems, Seoul, Korea, pp. 1891-1896. and Soken and Sakai (2011)Soken, H.E. and Hajiyev, C., 2011, "In-flight Calibration of Pico Satellite Attitude Sensors Via Unscented Kalman Filter", Gyroscopy and Navigation, Vol.2, No.3, pp.156-163. doi: 10.1134/S2075108711030114.
https://doi.org/10.1134/S207510871103011...
, both the magnetometer and the gyro biases are estimated as well as the attitude of the satellite by using the UKF. In Soken and Sakai (2013)Soken, H.E. and Sakai, S., 2013, "A Study on an Accurate yet Simple Attitude Estimation Scheme for Nanosatellites", Proceedings of 5th Nano-satellite Symposium, Tokyo, Japan, pp.1-21., two different UKFs are run onboard a nanosatellite for attitude estimation, sensor calibration and residual magnetic moment compensation. In Oliveria et al. (2014)Oliveira, G.F., Nehme, P.H.D. and Cappelletti, C., 2014, "Analysis and Simulation of Attitude Determination and Control for the Serpens Nanosatellite," Proceedings of 2nd IAA Conference on Dynamics and Control of Space Systems, Rome, Italy, pp.1-20., the UKF is used for attitude estimation of a nanosatellite and the results are compared with the EKF. In Li et al. (2013)Li, J., Post, M.A. and Lee, R., 2013, "A Novel Adaptive Unscented Kalman Filter Attitude Estimation and Control Systems for 3U Nanosatellite", Proceedings of European Control Conference, Zurich, Switzerland, pp.2128-2133., an adaptive version of the UKF is implemented as a part of the ADCS of a nanosatellite. Lastly, in Cornejo et al. (2010)Cornejo, N.E., Amini, R. and Gaydadjiev, G., 2010, "Model-based Fault Detection for the DELFI-N3XT Attitude Determination System", Proceedings of 2010 IEEE Aerospace Conference, Montana, USA, pp. 1-8. doi: 10.1109/AERO.2010.5446801.
https://doi.org/10.1109/AERO.2010.544680...
, the UKF is used for state estimation and fault detection purposes within the nanosatellite attitude control system.

In this study, an UKF algorithm is designed for estimating a pico-satellite's attitude and the in-orbit external disturbance torques acting on the pico-satellite. Gravity-gradient torque, sun pressure, aerodynamic drag and residual magnetic moment are included in the estimated disturbance torque vector. The satellite, for which the algorithm is proposed, has magnetometers and gyros onboard as attitude sensors. The main contribution of this study is to show that it is possible to estimate the unknown external torques as well as the attitude dynamics parameters of the satellite via a simple UKF based algorithm. In addition to the investigations in (Soken and Hajiyev, 2009Soken, H.E. and Hajiyev, C., 2009, "UKF for Identification of the Pico-Satellite Attitude Dynamics Parameters and External Torques on IMU and Magnetometer Measurements", Proceedings of 4th International Conference on Recent Advances in Space Technologies, Istanbul, Turkey, pp. 541 - 546. doi: 10.1109/RAST.2009.5158254
https://doi.org/10.1109/RAST.2009.515825...
), a more detailed discussion is given for the torque estimation with an extended simulation scenario. Moreover the case for uncertainty in the satellite's moments of inertia is covered.

The paper proceeds as follows: the mathematical model of the pico-satellite attitude dynamics is presented in the following section. In "The sensors measurement models" the sensors' measurement models are given. "Unscented Kalman filter (UKF) for the estimation of attitude dynamics and external torques" contains information about the UKF algorithm for the attitude state and unknown external torque estimation. In "Simulations", the performance of the proposed algorithm is demonstrated via simulations. And in the last section of this study, there is a brief summary of the obtained results and the conclusion.

# PICO-SATELLITE ATTITUDE DYNAMICS MATHEMATICAL MODEL

Although the Euler angles may have singularity in some certain cases as an attitude kinematics representation technique, they are physically more significant and easier to interpret than the quaternions. Moreover, when the quaternions are used for kinematics representation, implementing the UKF becomes more difficult because of the quaternion norm constraint (Crassidis and Markley, 2003Crassidis, J.L. and Markley, F.L., 2003, "Unscented Filtering for Spacecraft Attitude Estimation", Journal of Guidance, Control, and Dynamics, Vol. 26, pp. 536-542. doi: 10.2514/2.5102.
https://doi.org/10.2514/2.5102...
). Hence, in this study, we preferred to use the Euler angles for simplicity and presumably to reduce the computational load.

When we use the Euler angles the mathematical model of the satellite can be expressed with a 9 dimensional system vector. The Euler angles representing the attitude of the satellite (φ is the roll angle about x axis; θ is the pitch angle about y axis; ψ is the yaw angle about z axis), the body angular rates with respect to the inertial axis frame and the constant components of the external disturbance torques form the state vector:

(1) $x = [ ϕ θ ψ ω x ω y ω z N x N y N z ] T ,$

where

(2) $ω BI = [ ω x ω y ω z ] T ,$

(3) $N d = [ N x N y N z ] T .$

ω is the angular velocity vector of the body frame with respect to the inertial frame and Nd is the external disturbance torques vector. Since we only estimate the constant components of the torques in this study:

(4) $dN d dt = 0 .$

The dynamic equations of the satellite can be derived by the use of the angular momentum conservation law (Wertz, 1998Wertz, J.R., 1998, "Spacecraft Attitude Determination and Control", Kluwer Academic Publishers, Dordrecht, Holland.):

(5) $J ω BI dt = N d + N c − ω BI × ( J ω BI ),$

where J is the inertia matrix, consisting of the main moments of inertia as J=diag(Jx,Jy,Jz) and Nc is the applied control torque. In this study it is assumed that there is no attitude controller so Nc=0

Kinematic equations of the pico-satellite in terms of Euler angles can be given as:

(6) $φ ˙ θ ˙ ψ ˙ = 1 s ( φ ) t ( θ ) c ( φ ) t ( θ ) 0 c ( φ ) − s ( φ ) 0 s ( φ )/ c ( θ ) c ( φ )/ c ( θ ) p q r .$

Here, c (.), s (.) and t (.) are the cosine, sine and tangent functions, respectively. Besides, p, q and r are the components of the ωBR vector, which indicates the angular velocity of the body frame with respect to the reference frame (orbit frame). ωBI and ωBR can be related via:

(7) $ω BR = ω BI + A [ 0 − ω 0 0 ] T .$

where ω0 denotes the angular velocity of the orbit with respect to the inertial frame, found as ω0 = (µ/r03)1/2. A represents the direction cosine matrix (Wertz, 1998Wertz, J.R., 1998, "Spacecraft Attitude Determination and Control", Kluwer Academic Publishers, Dordrecht, Holland.):

(8) $A = c ( θ ) c ( ψ ) c ( θ ) s ( ψ ) − s ( θ ) − c ( φ ) s ( ψ ) + s ( φ ) s ( θ ) c ( ψ ) c ( φ ) c ( ψ ) + s ( φ ) s ( θ ) s ( ψ ) s ( φ ) c ( θ ) s ( φ ) s ( ψ ) + c ( φ ) s ( θ ) c ( ψ ) − s ( φ ) c ( ψ ) + c ( φ ) s ( θ ) s ( ψ ) c ( φ ) c ( θ ) .$

# THE SENSORS' MEASUREMENT MODELS

The investigated cubic pico-satellite has two types of sensors onboard: the magnetometers, which measure the strength of the Earth's magnetic field; and the gyros, which provide the angular rates of the satellite with respect to the inertial frame.

In this section, measurement models of these two sensors are presented.

# THE MAGNETOMETER MEASUREMENT MODEL

The Earth magnetic field vector components can be modeled in the orbit frame as a function of time (Sekhavat et al., 2007Sekhavat, P., Gong, Q. and Ross, I.M., 2007, "NPSAT I parameter Estimation Using Unscented Kalman Filter", Proceedings of 2007 American Control Conference, New York, pp. 4445-4451.):

(9) $H 1 ( t ) = M e r 0 3 { cos ( ω 0 t )[ cos ( ε ) sin ( i ) − sin ( ε ) cos ( i ) cos ( ω e t )] − sin ( ω 0 t ) sin ( ε ) sin ( ω e t )}$

(10) $H 2 ( t ) = − M e r 0 3 [ cos ( ε ) cos ( i ) + sin ( ε ) sin ( i ) cos ( ω e t )],$

(11) $H 3 ( t ) = 2 M e r 0 3 { sin ( ω 0 t )[ cos ( ε ) sin ( i ) − sin ( ε ) cos ( i ) cos ( ω e t )] − 2 cos ( ω 0 t ) sin ( ε ) sin ( ω e t )}.$

Here, Me is the magnetic dipole moment of the Earth (Me = 7.943 x 1015Wb.m); µ is the the Earth Gravitational constant (µ = 3.98601 x 1014m3/s2); i is the orbit inclination; ε is the magnetic dipole tilt (ε = 11.70); ωe is the spin rate of the Earth (ωe = 7.29 x 10-5rad/s); r0 is the distance between the centre of mass of the satellite and the Earth.

Three onboard magnetometers of the pico-satellite measures the components of the magnetic field vector in the body frame. Therefore, for the measurement model, which characterizes the measurements in the body frame, the magnetic field vector terms must be transformed by the use of the direction cosine matrix A. The overall measurement model may be given as:

(12) $H x ( φ , θ , ψ , t ) H y ( φ , θ , ψ , t ) H Z ( φ , θ , ψ , t ) = A H 1 ( t ) H 2 ( t ) H 3 ( t ) + η 1 ,$

where, H1(t), H2(t) and H3(t) represent Earth's magnetic field vector components in the orbit frame as a function of time, and Hx (ϕ, θ, ψ, t) Hy (ϕ, θ, ψ, t) and Hx (ϕ, θ, ψ, t) show the measured Earth magnetic field vector components in the body frame as a function of time and varying attitude. Furthermore, η1 is the zero average Gaussian white noise with the characteristic of

(13) $E [ η lk η lj T ] = I 3 x 3 σ m 2 δ kj .$

Here I3x3 is the identity matrix with the dimension of 3 x 3, σmis the standard deviation of each magnetometer error and δkj is the Kronecker delta.

In this study, we assume that the magnetometers are calibrated using either an on-ground or in-orbit technique so no bias terms are included in Eq.(12).

# THE GYRO MEASUREMENT MODEL

As aforementioned, the other attitude sensor onboard the satellite is the gyro. Widely used model for the gyro measurements is as follows:

(14) $ω BI , meas = ω BI + η 2 .$

where,ωBI,meas is the measured angular rates of the satellite, and η2 is the zero mean Gaussian white noise with the characteristic of:

(15) $E [ η 2 k η 2 j T ] = I 3 x 3 σ ν 2 δ kj ,$

Here, σv is the standard deviation of each rate gyro random error. Same as the magnetometers, the gyros are assumed to be calibrated.

# UNSCENTED KALMAN FILTER (UKF) FOR THE ESTIMATION OF ATTITUDE DYNAMICS AND EXTERNAL TORQUES

The essence of the UKF is the unscented transform, a deterministic sampling technique, that we use for obtaining a minimal set of sample points (or sigma points) from the a priori average and covariance of the states. Then, these sigma points go through nonlinear transformation. The posterior average and the covariance are determined using the transformed sigma points (Julier et al., 1995Julier, S.J., Uhlmann, J.K. and Durrant-Whyte, H.F., 1995, "A New Approach for Filtering Nonlinear Systems", Proceedings of American Control Conference, Vol.3, pp. 1628-1632. doi: 10.1109/ACC.1995.529783.
https://doi.org/10.1109/ACC.1995.529783...
; Crassidis and Markley, 2003Crassidis, J.L. and Markley, F.L., 2003, "Unscented Filtering for Spacecraft Attitude Estimation", Journal of Guidance, Control, and Dynamics, Vol. 26, pp. 536-542. doi: 10.2514/2.5102.
https://doi.org/10.2514/2.5102...
).

The UKF is derived for discrete-time nonlinear equations, so the system model is given by;

(16) $x k + 1 = f ( x k , k ) + w k$

(17) $y ˜ k = h ( x k , k ) + v k$

Here xk is the state vector and k is the measurement vector. Moreover wk and vk are the process and measurement error noises, which are assumed to be Gaussian white noise processes with the covariances of Q (k) and R (k) respectively.

The UKF is based on the determination of 2n+1 sigma points with an average of x (k|k) and a covariance of P (k|$y˜k=h(xk,k)+vk$k). For an n dimensional state vector, these sigma points are obtained by:

(18) $x 0 ( k | k ) = x ̂ ( k | k )$

(19) $x l ( k | k ) = x ̂ ( k | k ) + ( ( n + κ ) P ( k | k ) ) l l = 1 ... n$

(20) $x l + n ( k | k ) = x ̂ ( k | k ) − ( ( n + κ ) P ( k | k ) ) l , l = 1 ... n$

where, x0(k|k), x1(k|k) and x1+n(k|k) are sigma points, n is the state number and k is the scaling parameter which is used for fine tuning, and the heuristic for choosing this parameter is n+k=3 (Julier and Uhlmann, 2004Julier, S.J. and Uhlmann, J.K., 2004, "Unscented Filtering and Nonlinear Estimation", Proccedings of IEEE, Vol. 92, No. 3, pp. 401-422. doi: 10.1109/JPROC.2003.823141.
https://doi.org/10.1109/JPROC.2003.82314...
). $(n+κ)P(k|k)l$ corresponds to the lth column of the indicated matrix and l is given as l=1... n.

The next step of the UKF process is transforming each sigma point by the use of system dynamics:

(21) $x l ( k + 1 | k ) = f [ x i ( k | k ), k ]. l = 0 ... 2 n$

Then, these transformed values are utilized for gaining the predicted average and covariance (Crassidis and Markley, 2003Crassidis, J.L. and Markley, F.L., 2003, "Unscented Filtering for Spacecraft Attitude Estimation", Journal of Guidance, Control, and Dynamics, Vol. 26, pp. 536-542. doi: 10.2514/2.5102.
https://doi.org/10.2514/2.5102...
; Soken and Hajiyev, 2011Soken, H.E and Sakai, S., 2011, "UKF Based On-Orbit Gyro and Magnetometer Bias Estimation as a Part of the Attitude Determination Procedure for a Small Satellite", Proceedings of 11th International Conference on Control, Automation and Systems, Seoul, Korea, pp. 1891-1896.)

(22) $x ̂ ( k + 1 | k ) = 1 n + κ κ x 0 ( k + 1 | k ) + 1 2 ∑ l = 1 2 n x l ( k + 1 | k ) ,$

(23) $P ( k + 1 | k ) = 1 n + κ κ [ x 0 ( k + 1 | k ) − x ̂ ( k + 1 | k )][ x 0 ( k + 1 | k ) − x ̂ ( k + 1 | k )] T + 1 2 ∑ l = 1 2 n [ x l ( k + 1 | k ) − x ̂ ( k + 1 | k )][ x l ( k + 1 | k ) − x ̂ ( k + 1 | k )] T + Q ( k ).$

Here, (k+1|k) is the predicted average and P (k+1|k) is the predicted covariance. Furthermore, the predicted observation vector is:

(24) $y ̂ ( k + 1 | k ) = 1 n + κ κ y 0 ( k + 1 | k ) + 1 2 ∑ l = 1 2 n y l ( k + 1 | k ) ,$

where

(25) $y l ( k + 1 | k ) = h [ x l ( k + 1 | k ), k ]. l = 0 ... 2 n$

After that, the observation covariance matrix is determined as:

(26) $P yy ( k + 1 | k ) = 1 n + κ { κ [ y 0 ( k + 1 | k ) − y ̂ ( k + 1 | k )][ y 0 ( k + 1 | k ) − y ̂ ( k + 1 | k )] T + 1 2 ∑ l = 1 2 n [ y l ( k + 1 | k ) − y ̂ ( k + 1 | k )][ y l ( k + 1 | k ) − y ̂ ( k + 1 | k )] T },$

where the innovation covariance is

(27) $P vv ( k + 1 | k ) = P yy ( k + 1 | k ) + R ( k + 1 )$

Here R (k+1) is the measurement noise covariance matrix. On the other hand, the cross correlation matrix can be obtained as:

(28) $P xy ( k + 1 | k ) = 1 n + κ { κ [ x 0 ( k + 1 | k ) − x ̂ ( k + 1 | k )][ y 0 ( k + 1 | k ) − y ̂ ( k + 1 | k )] T + 1 2 ∑ l = 1 2 n [ x l ( k + 1 | k ) − x ̂ ( k + 1 | k )][ y l ( k + 1 | k ) − y ̂ ( k + 1 | k )] T }.$

The following part is the update phase of the UKF algorithm. At that phase, first by using measurements, y (k+1), the innovation sequence is found as:

(29) $e ( k + 1 ) = y ( k + 1 ) − y ̂ ( k + 1 | k ),$

and then the Kalman gain is computed via the equation:

(30) $K ( k + 1 ) = P xy ( k + 1 | k ) P vv − 1 ( k + 1 | k ).$

At last, the updated states and covariance matrix are determined by:

(31) $x ̂ ( k + 1 | k + 1 ) = x ̂ ( k + 1 | k ) + K ( k + 1 ) e ( k + 1 ),$

(32) $P ( k + 1 | k + 1 ) = P ( k + 1 | k ) − K ( k + 1 ) P vv ( k + 1 | k ) K T ( k + 1 ).$

Here, (k+1|k+1) is the estimated state vector, and P (k+1|k+1)is the estimated covariance matrix.

# SIMULATIONS

The proposed UKF based estimation method is tested in this section. The simulations are performed for 40,000 s, which is the period for almost 7 orbits of the satellite. The orbit of the cubesat is a circular orbit with an altitude of r=550km and an inclination of i=97º. The inertia matrix of the satellite is J=diag(2.1x10-3,2.0x10-3,1.9x10-3)kg.m2, which corresponds to a 10cm cubic satellite with an approximate mass of 1.2kg, as mentioned.

The magnetometer sensor noise is characterized by zero mean Gaussian white noise, with a standard deviation of σm=300 nT. The rate gyro random error is taken as σgv=0.274[deg/√h]. As the filter parameter for the UKF, ĸ is selected as ĸ=-3, which is different than the suggested heuristic.

The initial attitude errors for all the simulations are set to few degrees. The initial estimates for the angular rates and the external disturbance torques are all zero. Besides, the initial value of the covariance matrix is taken as P0=10-10 for all the estimated states, while the process noise covariance matrix is selected as Q=10-29 for the attitude and Q=10-20 for the rest of the states. The R matrix is composed of the sensor noise covariances for the magnetometers and gyros, which means 9x10-12T2 as 3 diagonal components corresponding to magnetometer measurements and 64 x 10-10 rad2/s2 as 3 diagonal elements corresponding to the gyro measurements. The constant torque term used for modeling purposes in the simulations (the values which will be estimated) is Nd=[5 -3 4]T x 10-1µNm.

The algorithm was tested in two cases. We are running a dynamics based model for the estimations (in other words, since we are using the satellite dynamics in addition to the kinematics) so there might be uncertainties, mainly caused by the mismatch between the real dynamics and the model used in the filter. The only source for such uncertainty in our simulations might be the inertia terms, which are not exactly known. Hence the two scenarios for the simulations are the cases with and without the uncertainty in the inertia terms.

In the first scenario, there is no uncertainty in inertia terms. In Fig.1, an Euler angle estimation example is given. The top plot compares the estimation with the actual value, and the lower one presents the estimation error. As seen, the UKF accurately estimates the attitude, and after almost 1.5 orbits (≈11000s.) the estimation error falls below ±1deg. If the attitude determination accuracy requirement for such pico-satellite without attitude control is considered (±1deg of determination accuracy may be accepted as sufficient), then we may state that the UKF algorithm works well and provides sufficient accuracy for pico-satellite missions. Besides, as presented in Fig. 2, the UKF also has a good estimation characteristic for the angular rates.

Figure 1
Roll angle estimation.

Figure 2
Estimation of the angular velocity about "x" axis.

As to the main purpose of the proposed algorithm, the Fig. 3 presents an example for the estimation of the external disturbance torques. As clearly seen, the UKF converges to the real values after 10,000th s, and gives sufficiently accurate estimations for the torque terms. Therefore, we can say that the given UKF algorithm estimates all of the states accurately. The estimation results for the rest of the parameters are similar and can be seen in Figs. 4-6. The key contribution of the method is proving that such estimation can be achieved by a simple algorithm that is computationally nondemanding and efficient enough for cubesat applications.

Figure 3
Estimation of the constant external torque about "y" axis.

Figure 4
Estimation of the pitch and yaw angles.

Figure 5
Estimation of the angular velocities about "y" and "z" axes.

Figure 6
Estimation of the constant external torques about "x" and "z" axes.

The second simulation is performed for a scenario where we do not know the inertia of the satellite accurately, and there are 5% and 10% uncertainty in inertia terms, respectively. For understanding sake, the results are given in table with comparison with the results obtained for the first scenario, beforehand. In Table 1, root mean square errors are tabulated for 10,000 s. between 20,000th and 30,000th seconds such that;

(33) $RMSE y = 1 10000 ∑ k = 20001 30000 [ x y ( k ) − x ̂ y ( k )] 2 y = 1 ... n$

Table 1
Root mean square error for the cases with and without uncertainty in the inertia terms of the satellite.

As it can be seen, even for a small uncertainty in inertia terms of the satellite, the estimation error increases for all the estimated states. Yet, for the simulation case with 5% uncertainty, estimation error is still within the acceptable bounds for cubesat applications, regarding that the attitude estimation accuracy is better than ±1deg. However, if the level of uncertainty is 10%, then it is not possible to satisfy these requirements and the attitude estimation error becomes more than ±1deg. Further examinations show that if there is even more uncertainty in the inertia terms of the satellite, the filter may diverge in long term.

# CONCLUSION

In this study, an Unscented Kalman Filter (UKF) algorithm is designed for estimating a pico-satellite's attitude and the in-orbit external disturbance torques acting on the pico-satellite. The gravity-gradient torque, sun pressure, aerodynamic drag and residual magnetic moment are included in the estimated disturbance torque vector. The satellite, for which the algorithm is proposed, has magnetometers and gyros onboard as attitude sensors. The main contribution of this study is to show that it is possible to estimate the unknown external torques as well as the attitude dynamics parameters of the satellite via a simple UKF based algorithm. The results show that by using the presented algorithm it is possible to estimate the attitude of the cubesat with an accuracy better than ±1deg, which is accurate enough for such satellites. Moreover the case for uncertainty in the satellite's moments of inertia is addressed with additional simulations. It is shown that if the uncertainty is less than 5%, the requirements for the attitude estimation performance are still satisfied although the estimation error increases.

# REFERENCES

• Candini, G.P., Piergentili, F. and Santoni, F., 2012, "Miniaturized Attitude Control System for Nanosatellites", Acta Astronautica, Vol. 81, pp.325-334. doi: 10.1016/j.actaastro.2012.07.027.
» https://doi.org/10.1016/j.actaastro.2012.07.027
• Cornejo, N.E., Amini, R. and Gaydadjiev, G., 2010, "Model-based Fault Detection for the DELFI-N3XT Attitude Determination System", Proceedings of 2010 IEEE Aerospace Conference, Montana, USA, pp. 1-8. doi: 10.1109/AERO.2010.5446801.
» https://doi.org/10.1109/AERO.2010.5446801
• Crassidis, J.L. and Markley, F.L., 2003, "Unscented Filtering for Spacecraft Attitude Estimation", Journal of Guidance, Control, and Dynamics, Vol. 26, pp. 536-542. doi: 10.2514/2.5102.
» https://doi.org/10.2514/2.5102
• Dyke, M.C., Schwartz, J.L. and Hall, C.D., 2004, "Unscented Kalman Filtering for Spacecraft Attitude State and Paremeter Estimation", Proceedings of the AAD/AIAA Space Flight Mechanics Conference, No. AAS 04-115, Hawaii, USA.
• Inamori, T., Nakasuka, S. and Sako, N., 2009, "In-orbit Magnetic Disturbance Estimation and Compansation Using UKF in Nano-Satellite Mission", Proceedings of AIAA Guidance, Navigation, and Control Conference, Chicago, USA.
• Julier, S.J. and Uhlmann, J.K., 2004, "Unscented Filtering and Nonlinear Estimation", Proccedings of IEEE, Vol. 92, No. 3, pp. 401-422. doi: 10.1109/JPROC.2003.823141.
» https://doi.org/10.1109/JPROC.2003.823141
• Julier, S.J., Uhlmann, J.K. and Durrant-Whyte, H.F., 1995, "A New Approach for Filtering Nonlinear Systems", Proceedings of American Control Conference, Vol.3, pp. 1628-1632. doi: 10.1109/ACC.1995.529783.
» https://doi.org/10.1109/ACC.1995.529783
• Julier,S., Uhlmann, J. and Durrant-Whyte, H.F., 2000, "A New Method for the Nonlinear Transformation of Means and Covariances in Filters and Estimators", IEEE Transactions on Automatic Control, Vol.45, No. 3, pp. 477-482. doi: 10.1109/9.847726.
» https://doi.org/10.1109/9.847726
• Lefferts, E.J., Markley, F.L. and Shuster, M.D., 1982, "Kalman Filtering for Spacecraft Attitude Estimation", Journal of Guidance, Control, and Dynamics, Vol.5, pp. 417-429. doi: 10.2514/3.56190.
» https://doi.org/10.2514/3.56190
• Li, J., Post, M.A. and Lee, R., 2013, "A Novel Adaptive Unscented Kalman Filter Attitude Estimation and Control Systems for 3U Nanosatellite", Proceedings of European Control Conference, Zurich, Switzerland, pp.2128-2133.
• Oliveira, G.F., Nehme, P.H.D. and Cappelletti, C., 2014, "Analysis and Simulation of Attitude Determination and Control for the Serpens Nanosatellite," Proceedings of 2nd IAA Conference on Dynamics and Control of Space Systems, Rome, Italy, pp.1-20.
• Psiaki, M.L., Martel, F. and Pal, P.K., 1990, "Three-axis Attitude Determination via Kalman Filtering of Magnetometer Data", Journal of Guidance, Control, and Dynamics, Vol.13, pp. 506-514. doi: 10.2514/3.25364.
» https://doi.org/10.2514/3.25364
• Sekhavat, P., Gong, Q. and Ross, I.M., 2007, "NPSAT I parameter Estimation Using Unscented Kalman Filter", Proceedings of 2007 American Control Conference, New York, pp. 4445-4451.
• Sekhavat, P., Karpenko, M. and Ross, I.M., 2009, "UKF-Based Spacecraft Parameter Estimation Using Optimal Excitation", Proceedings of AIAA Guidance, Navigation and Control Conference, Chicago, USA.
• Soken, H.E. and Hajiyev, C., 2009, "UKF for Identification of the Pico-Satellite Attitude Dynamics Parameters and External Torques on IMU and Magnetometer Measurements", Proceedings of 4th International Conference on Recent Advances in Space Technologies, Istanbul, Turkey, pp. 541 - 546. doi: 10.1109/RAST.2009.5158254
» https://doi.org/10.1109/RAST.2009.5158254
• Soken, H.E. and Hajiyev, C., 2011, "In-flight Calibration of Pico Satellite Attitude Sensors Via Unscented Kalman Filter", Gyroscopy and Navigation, Vol.2, No.3, pp.156-163. doi: 10.1134/S2075108711030114.
» https://doi.org/10.1134/S2075108711030114
• Soken, H.E and Sakai, S., 2011, "UKF Based On-Orbit Gyro and Magnetometer Bias Estimation as a Part of the Attitude Determination Procedure for a Small Satellite", Proceedings of 11th International Conference on Control, Automation and Systems, Seoul, Korea, pp. 1891-1896.
• Soken, H.E. and Sakai, S., 2013, "A Study on an Accurate yet Simple Attitude Estimation Scheme for Nanosatellites", Proceedings of 5th Nano-satellite Symposium, Tokyo, Japan, pp.1-21.
• Toorian, A. Diaz, K. and Lee, S., 2008, "The Cubesat Approach to Space Access", Proceedings of 2008 IEEE Aerosacpe Conference, Montana, USA, pp. 1-14. doi: 10.1109/AERO.2008.4526293.
» https://doi.org/10.1109/AERO.2008.4526293
• Vinther, K., Jensen, K.F., Larsen, J.A. and Wisniewski, R., 2011, "Inexpensive Cubesat Attitude Estimation Using Quaternions and Unscented Kalman filtering", Automatic Control in Aerospace, Vol. 4, No. 1.
• Wertz, J.R., 1998, "Spacecraft Attitude Determination and Control", Kluwer Academic Publishers, Dordrecht, Holland.

# Publication Dates

• Publication in this collection
Apr-Jun 2014