Next Article in Journal
Atomization Characteristics of Special-Design Pneumatic Two-Fluid Nozzles for Helicopter Main Reducers: A Numerical and Experimental Investigation
Next Article in Special Issue
Integrated Magnetic Management of Stored Angular Momentum in Autonomous Attitude Control Systems
Previous Article in Journal
Dynamic Boundary Optimization of Free Route Airspace Sectors
Previous Article in Special Issue
Characterization and Testing of the Passive Magnetic Attitude Control System for the 3U AstroBio CubeSat
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Recursive Approach for Magnetic Field Estimation in Spacecraft Magnetic Attitude Control

by
Mohammed A. A. Desouky
1,*,† and
Ossama Abdelkhalik
2
1
Department of Mechanical Engineering, Michigan Technological University, Houghton, MI 49931, USA
2
Department of Aerospace Engineering, Iowa State University, Ames, IA 50011, USA
*
Author to whom correspondence should be addressed.
Current address: Egyptian Armed Forces, Cairo, Egypt.
Aerospace 2022, 9(12), 833; https://doi.org/10.3390/aerospace9120833
Submission received: 17 November 2022 / Revised: 10 December 2022 / Accepted: 12 December 2022 / Published: 15 December 2022
(This article belongs to the Special Issue Spacecraft Attitude Control Using Magnetic Actuators)

Abstract

:
This paper is concerned with magnetic attitude control of spacecraft. The operation of the magnetic actuators is usually on a duty cycle; during the off times in this duty cycle the magnetometers are used to measure the magnetic field around the spacecraft. This alternate operation of magnetic actuators and sensors avoids the noise effect on the magnetometers coming from the magnetic actuators. This alternate operation results in longer maneuver times. This paper presents an estimation approach for the magnetic field, as well as the spacecraft attitude, that increases the duty cycle of the magnetic rods while reducing the rate of collecting the magnetometer data. A modified Multiplicative Extended Kalman Filter (MEKF) is used in the proposed approach. A relatively simple and fast dynamic model is developed for use in the MEKF. Monte Carlo simulations presented in this paper show that the proposed approach results in less maneuver time, and less power consumption by the magnetic rods when compared to a standard magnetic control approach. The magnetic field estimation process is verified using data collected from the CASSIOPE spacecraft using its telemetry system and the results are presented.

1. Introduction

The Attitude Determination and Control System (ADCS) plays an essential role in all spacecraft missions. A high-performance spacecraft ADCS is usually more expensive, such as those that use star trackers, gyroscopes, and momentum exchange devices as attitude actuators. Small low-cost spacecraft, on the other hand, are being considered for several types of missions. Because of their dependability, low cost, lightweight, and energy efficiency, these spacecraft typically employ low-cost components such as magnetic rods and magnetometers [1,2,3]. A worldwide survey of small satellite missions revealed that the foremost commonly used sensors are sun sensors and magnetometers. Furthermore, about 40 % of the nanosatellites have magnetic rods for active magnetic attitude control [4]. There are, however, some challenges. The magnetic rods usually suffer from poor accuracy and instantaneous under actuation [5,6]. The generated torque is constrained to be in the plane that is orthogonal to the ambient magnetic field vector. Therefore, a three-axis magnetic attitude control is merely possible if the orbit sees a magnetic field variation that is sufficient to ensure the spacecraft stability, which is a requirement that is usually fulfilled in inclined orbits [1]. Furthermore, as mentioned in [7], there are additional restriction criteria on the spacecraft inertia tensor to ensure controllability.
Measuring the spacecraft’s external magnetic field using magnetometers serves two purposes. The first is to use magnetic field data to compute the magnetic dipole moment (attitude control) and the second purpose is to estimate the spacecraft attitude and rate. There are several approaches that can be used for the latter purpose. Psiaki et al. [8] proposed an Extended Kalman Filter (EKF) for attitude, rate, and constant disturbance torque estimation based on magnetic field measurements and their time derivatives. Tortora et al. [9] proposed a fast angular rate estimation scheme using magnetometer readings, assuming that the inertial ambient magnetic field vector does not significantly change during the short sampling time. An analytic approach is used in [9] that does not require attitude information. Humphreys et al. [10] developed a spinning spacecraft with wire booms, a filter, and smoother based on magnetometer information for estimating the attitude, rate, and boom orientations. Abdelrahman and Park employed magnetometer measurements and their time derivatives with Sigma-Point Kalman Filter for spacecraft three-axis attitude control and rate estimation. This filter’s capability in estimating the attitude is better than 5 deg, and the rate error is on the order of 0.03 deg/s in each axis [11]. In the above-cited studies, the magnetometer measurements are compared with the geomagnetic field information from a high-order Earth magnetic field model, such as the World Magnetic Model (WMM) or the International Geomagnetic Reference Field (IGRF) or (T89) model. It is worth noting that these models are used for calibrating magnetometers also as in [12,13,14,15]. Based on magnetometer and Sun sensor information, Soken and Sakai [16] developed an inertial vector attitude estimate approach for small spacecraft. The technique starts with a basic attitude determination using the TRIAD approach, then introduces the estimated attitude to an Unscented Kalman filter for accurate estimation via magnetometer calibration in real-time. Altuntas et al. [17] proposed a cascaded filtering scheme in which the QUEST method was employed to update the Multiplicative Extended Kalman Filter at low angular rates with just magnetometer readings. Ivanov et al. [18] developed, uploaded to SiriusSat-1, and analyzed an extended Kalman Filter in real time to follow the magnetometer bias induced by the onboard magnetic dipoles in order to improve the accuracy of attitude motion estimates. The attitude of a spacecraft spinning at about orbital speed is measured with 3–4° accuracy, with magnetometer bias estimation accuracy in the 400 nTesla range [18]. Using magnetometer and sun vector readings, Pourtakdoust et al. [19] constructed a modified Square Root unscented Kalman filter with bounded noise characteristics for attitude and angular rate estimation. Furthermore, the authors proposed a strategy for optimizing the installed sensor orientation in order to decouple the residual signal, which impacts attitude estimate accuracy [19]. To that purpose, several recent research studies, such as [20,21,22], have employed magnetometer readings to determine attitude.
Other different sensors for low-cost missions, such as the Sun sensor, Earth horizon and even the gyroscope are utilized for attitude estimation as in [23,24]. There is a variety of attitude estimation techniques that can be found in the survey of nonlinear attitude filtering methods in [25], and also in the review on the quaternion-based methods for spacecraft attitude determination in [26].
Magnetometer measurements are also used in feedback control in several algorithms of spacecraft attitude stabilization, and detumbling maneuver, as in [27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42] and in the survey papers by Silani and Lovera [1], and by Ovchinnikov and Roldugin [43]. In these algorithms, the control analysis and design assume continuous-time magnetometer measurements and continuous actuation of the magnetic rods. The fact is magnetometer measurements are often degraded by the time-varying magnetic field generated by the currents in magnetic rods and other spacecraft electronics. Furthermore, the measurements themselves are prone to several types of errors; these errors include null-shift error, the non-linearity error, non-orthogonality error, the sensor noise, hard-iron error and soft-iron errors, in addition to the static and time-varying biases [12,13].
One mitigation technique is to use a boom to have a physical separation between the magnetometer and the other spacecraft electronics [44,45]. The boom structure, however, results in more complexity for the whole spacecraft system. Another mitigation technique that is usually performed in small low-cost spacecraft missions is to operate the magnetic rods and the magnetometers at alternate times, to eliminate the effect of the rods on the magnetometers [2,46,47]. Celani [46] presented a magnetic state feedback attitude control law, taking into account the intermittent activation of the magnetic rods and magnetometers during the operation, where a systematic method is proposed for the choice of the sampling period of the updated command and in which, the generated dipole moment is on the basis of piece wise constant command. Celani [46] assumed that the period that is dedicated to the magnetometer measurements is small enough to be ignored. Celani [47] extended his work by considering the magnetometer measurement period during the design phase of the control law. A design method and systematic approach are obtained for the selection of the controller’s parameters and actuation interval length, respectively [47]. The design analysis of magnetic attitude control systems usually neglects this intermittent operation of the magnetic rods, leading to under-estimation of the required maneuver time and the rod’s power consumption [2]. Desouky and Abdelkhalik [2] developed an algorithm featured by its low frequency in collecting magnetometer measurements with a higher magnetic rod duty cycle ratio. This algorithm resulted in improvements in the required maneuver time and magnetic rod power consumption at the expense of the required computational demands.
Motivated by the above challenges, this paper presents an attitude estimation and control algorithm that improves the maneuver time and power consumption that is required by magnetic rods. This algorithm estimates the spacecraft attitude, the spacecraft angular rate, and the magnetic field using a modified version of the Multiplicative Extended Kalman Filter (MEKF). The proposed approach uses a magnetometer, gyroscope, and a measurement for an inertial vector such as the direction of the Sun (Sun sensor). For threeaxis attitude control, it is assumed that only magnetic actuators are used. The proposed concept is to eliminate the need to turn off the magnetic rods, in some cycles, to increase the rod’s operation time. This is achieved by using the estimated magnetic field in these cycles instead of the measured one. The key concept of estimating the magnetic field starts by computing a pseudo magnetic field measurement, leveraging the existing spacecraft’s angular velocity feedback loop to probe the magnetic field. This pseudo-measurement is further refined inside the MEKF using a proposed simple magnetic field model. It is shown in this paper that the proposed algorithm can achieve improvements in the power consumption and the maneuver time. The proposed work is assessed via Monte Carlo simulations. The magnetic field estimation is validated using data from the CASSIOPE spacecraft obtained through its telemetry system.
This paper is an extension of the work in [3] and different than the work in [2] in the following aspects: (1) computing the pseudo measurements of the magnetic field by measuring the spacecraft response to a known control command is implemented here from a geometric point of view, as opposed to the Tikhonov regularization technique used in [2], (2) this work uses an attitude sensor, in addition to the magnetometers, in the MEKF, as opposed to using only magnetometers measurements in [2], and (3) the computational load of the proposed work here is much less than that in [2], and is comparable to the computational load of most exciting magnetic control techniques within the literature, as are going to be shown within the simulation results. This paper is organized as follows. Section 2 briefs the spacecraft models. The proposed ADCS is presented in Section 3. Section 4 presents the Monte Carlo simulation results. A validation process using real telemetry data with detailed procedures to verify the proposed algorithm is presented in Section 5.

2. Spacecraft Dynamic Model

This part contains standard information that is used to complete the presentation. Here the coordinate reference frames are presented, as well as the kinetic and kinematic models. For the attitude determination and control algorithm, the following reference frames are used:
  • Earth-Centered Inertial frame (ECI). The Earth’s center is the ECI frame origin. This reference frame is denoted i, and the earth rotates around its Z-axis. The X-axis points towards the vernal equinox, where the Y-axis complies with the right-handed triad system.
  • Satellite body frame: This frame’s origin is at the satellite’s centre of mass. The axes are chosen to align with the central principal axes of the spacecraft. The body frame is denoted b.
In the remainder of this paper, [ . ] represents a matrix, bold symbols represent vector such as A , [ A ] x is a skew-symmetric matrix whose elements are the elements of the vector A that represents the cross product of A × B = [ A ] x B , where B is a vector, B ˜ represents an estimation of the vector B , δ B represents an error vector added to vector B to obtain the estimated vector B ˜ , as B ˜ = B + δ B , C ^ represents a unit vector in the direction of the vector C , and D ¯ represents the linearization point of the vector function D (the linearizion process is carried out at D ¯ ). The i v represents vector v defined in the inertial frame i. For notation simplification, any vector without a pre-superscript is defined in the (b) frame. The ω b i represents the angular velocity of the (b) frame with respect to the (i) frame , expressed in the (b) frame.
The spacecraft attitude in this study is represented by the quaternion to avoid singularity. The attitude kinematics can be written as:
q ˙ b i = q ˙ 0 ( b i ) q ˙ v ( b i ) = 1 2 q v ( b i ) T q 0 ( b i ) [ 1 3 x 3 ] + [ q v ( b i ) ] x ω b i ,
where ω b i R 3 is the spacecraft angular velocity of the body frame with respect to the inertial frame, expressed in the body frame. The vector q b i R 4 is the quaternion, and q b i = q 0 ( b i ) q v ( b i ) T T . Let q v ( b i ) = q 1 ( b i ) q 2 ( b i ) q 3 ( b i ) T . The matrix [ 1 3 x 3 ] R 3 × 3 is unity matrix. The transformation matrix [ R ( q ) ] b i from the i to the b frame is computed using the quaternion as follows:
[ R ( q ) ] b i = ( q 0 ( b i ) 2 q v ( b i ) T q v ( b i ) ) [ 1 3 x 3 ] + 2 q v ( b i ) q v ( b i ) T 2 q 0 ( b i ) [ q v ( b i ) ] x
The attitude dynamics of a rigid spacecraft are expressed using Euler’s equations as follows [48,49]:
[ I ] ω ˙ b i = ω b i × [ I ] ω b i + T + T d ,
where [ I ] R 3 × 3 denotes the spacecraft inertia matrix. As previously stated, the inertia matrix [ I ] is fixed in the body frame and is a diagonal matrix since the body frame is aligned with the principal axes. The disturbance torque T d here represents the sum of the solar radiation torque T s r R 3 , the aerodynamic torque T a e r o R 3 , the gravity gradient torque T g g R 3 , the residual magnetic torque T r s d R 3 due to the residual magnetic field generated by spacecraft electronics including the magnetic These torque models are summarised in [28,42]. The control torque on the spacecraft, T R 3 , is here assumed to be due to only the three magnetic coils, and hence it is not feasible to create a torque along the magnetic field vector, since
T = M × B ,
where B R 3 and M R 3 represent the ambient magnetic field vector and dipole moment vector, respectively. A detailed description of The dipole moment model as a function of the current that is generated by the magnetic rods is presented in [28,42].

3. Attitude Determination and Control System

This section presents the proposed algorithm for spacecraft attitude stabilization and control. First, a reference ADCS algorithm is discussed highlighting the challenges that will be addressed in the proposed algorithm. This reference ADCS algorithm is utilized for comparison and performance evaluation of the proposed ADCS.
In the reference ADCS algorithm, the magnetic rods and the magnetometers are assumed to operate at alternate times, to avoid high noise on the magnetometers’ measurements during the operation of the magnetic rods. This alternate operation means that the magnetic rods operate with a certain duty cycle, as shown in Figure 1. The sampling time T s = t i + 1 t i (sometimes referred to as the cycle period) depends on the rate of update in the control system.
Let T d c be the magnetic rods duty cycle which is the maximum time period in which the magnetic rods can be turned on, in one cycle period, and let δ 1 be the duty cycle percentage or ratio. Hence, we can write: T d c = δ T s . Usually, each cycle period includes also a period for magnetometer measurements, a period for raising the magnetic rods currents from zero to the required value ( i c ), and a period for magnetic rods desaturation dedicated to reducing the generated field in the rods. The fall period, in which the current drops to zero, is part of the desaturation period. The lower part of Figure 1 shows several cycles of the magnetic rods and the magnetometer activation periods. The attitude estimation algorithm typically updates the estimates for the quaternion q ˜ , the spacecraft angular velocity ω ˜ , and/or gyroscope bias β each cycle. The upper part of Figure 1 shows the estimated and measured quantities, and the times at which they are collected. The measurements are: the angular velocity ω , the magnetic field B , and the sun direction V s u n .
Control algorithms that do not account for the above magnetic rod’s duty cycle usually underestimate the maneuver time and the rod’s power consumption [2]. Increasing the duty cycle ratio δ would reduce the actual maneuver time, and enhance the steady-state error and system stability [6].
In this study, the proposed ADCS algorithm increases the activation time of the magnetic rods, i.e., the duty cycle ratio. This is achieved by estimating the magnetic field parameters at some of the cycles and hence eliminating the need for magnetic field measurements in these cycles. The lower part of Figure 2 illustrates a scenario where the magnetic field is measured every three cycles while counting on the estimated magnetic field in the cycles that do not have magnetometer measurements at times t 2 and t 3 . At the core of the proposed ADCS is an algorithm that estimates the magnetic field in these cycles (at times t 2 and t 3 ) when the magnetometer measurements are not available; this algorithm is presented in Section 3.2. The upper part of Figure 2 illustrates the measured and estimated quantities in each cycle. At each of the times, t 2 and t 3 , a calculated magnetic field B s d o is used as a pseudo measurement input to the estimator to estimate the magnetic field B ˜ that is used for control. While, at times t 1 and t 4 , the direct true magnetic information measurements B are used for control and attitude estimation.
Hence, a longer duty cycle for the magnetic rods becomes possible. The equivalent duty cycle ratio δ e q v for the proposed ADCS can be computed as follows:
δ e q v = 1 1 δ ϵ
where ϵ is the number of cycle periods between the real magnetometer measurements in the proposed algorithm.
The lower section of Figure 2 depicts a situation in which ϵ = 3 . Consider the following standard (reference) control algorithm: δ = 0.7 and T s = 0.1 [s]. The proposed control algorithm’s duty cycle would be δ e q v = 0.9 for ϵ = 3 . Let f c be the update frequency in the control system. For the sake of comparison, f c is assumed constant in this research at the rate f c = 1 / T s , where T s is the sampling time of the reference ADCS. Section 3.1 presents the control law. Section 3.2 presents the magnetic field pseudo measurement B s d o computation algorithm. The modified Multiplicative Extended Kalman Filter used in the proposed ADCS is presented in Section 3.3.

3.1. Control Law

In this paper, the PD-like control logic presented in references [41,50,51] is adopted. The process of computing the control torque starts with computing a control term T r e q , for inertial pointing maneuvers as follows:
T r e q = ( ζ 2 k p q v ( e r r ) b i + ζ k d δ ω b i ) ,
where q v ( e r r ) is the quaternion error vector part between the desired attitude and the current one, δ ω b i is the spacecraft angular velocity error between the desired rate and the current one, k p > 0 is the proportional gain, k d > 0 is the derivative gain, and ζ is a parameter introduced to limit the controller gains due to the time-varying nature of the ambient magnetic field and consequently limit the settling time of the attitude orientation. The control limit parameter is bounded: 0 < ζ < ζ * . This control ensures that the equilibrium point is locally exponentially stable [41,50]. Due to the singularity caused by the cross product in Equation (4) [52], the required dipole moment cannot be determined from a given command control torque. Furthermore, the resultant torque is limited to acting directly in the plane perpendicular to the magnetic field vector for a given dipole moment. To solve this issue, consider T r e q to be the desired torque vector, and T to be the torque vector equal to the projection of T r e q on the plane perpendicular to the ambient magnetic field vector B . The vector T is located in the plane in such a way that the Euclidean norm of the residual vector (or the angle between the vectors T r e q and T ) is reduced [1,34]. Using the estimated magnetic field vector B ˜ , the required dipole moment, at times t 2 and t 3 in Figure 2, is calculated as follows:
M = B ˜ × T r e q B ˜ 2
Combining Equations (4) and (7), the applied torque becomes:
T = B × B ˜ × T r e q B ˜ 2 = [ Γ ( t ) ] T r e q B ˜ 2 ,
where the matrix [ Γ ( t ) ] = [ B ] x [ B ˜ ] x T is semi-positive definite, when B ˜ B . In this case, the estimated magnetic field B ˜ is used for computing the required dipole moment, at times t 2 and t 3 in Figure 2.
As demonstrated in reference [53], this time-varying non-autonomous system is controllable over an indefinite time. The stability of such a system is discussed in various references, including [54], where the generalized average theory was used to demonstrate that the trajectories of non-autonomous systems remain near to the trajectories of its average if ζ < ζ * . As a result, the non-autonomous term [ Γ ( t ) ] in this issue may be substituted by its average, [ Γ a v ] , which is defined as follows [50]:
[ Γ a v ] = lim t 1 t 0 t [ B ] x [ B ˜ ] x T d t
References [50,53] show that when B ˜ = B , the average matrix [ Γ a v ] is positive definite. Further, if we assume that the equilibrium is at δ ω b i = 0 and q e r r = [ 1 0 0 0 ] T , then reference [55] shows that, as time goes to infinity, the control law guarantees δ ω b i and q e r r go to equilibrium. Moreover, it was shown in references [41,50,51] that this control law guarantees local asymptomatic stability at the equilibrium point, given the positive definiteness of [ Γ a v ] . References [55,56] as well prove this asymptomatic stability using a Lyapunov approach, assuming that ζ is bounded by ζ * , and that ζ * is a decreasing function of k p and k d [57]. The above-mentioned analysis about the control law (6) assumed that the magnetic rods are operated in a continuous mode by ignoring the duty cycle effect. Desouky and Abdelkhalik [6] presented analytically that increasing the duty cycle ratio will reduce the attitude steady-state error. Which can be considered another benefit of the proposed work here.

3.2. Computation of Magnetic Field Pseudo Measurement

The following discussion is dedicated to finding the best guess of the ambient magnetic field vector around the spacecraft when the magnetometer measurements are not available. This best guess, B s d o , is used as a pseudo measurement. Knowing the kinetic model of the spacecraft (Equation (3)) it is possible to use the angular velocity measurements to obtain an estimate for the spacecraft applied torque, T ˜ . This torque T ˜ is then used to compute the pseudo measurement of the magnetic field B s d o .
The numerical evaluation of ω ˙ has a significant impact on the accuracy of the obtained results in this approach. Hence, the five-point stencil method [58] is used to evaluate the time rate of change of ω . The formula for computing ω ˙ is:
ω ˙ k 3 h = ω k + 8 ω k h 8 ω k 3 h + ω k 4 h 12 h + h 4 30 ω k 3 h 5 ,
where h is the time step of the angular velocity measurement. It is worth noting that increasing the number of points for the stencil method leads to more accuracy in estimating the applied torque at the expense of the computational cost. According to Abramowitz [58], the inaccuracy of the five-point stencil approach is of order h 4 compared to h 2 for the two-point difference method. It is assumed in this study that five gyroscope readings are taken within T s , see the upper part of Figure 2. It is also assumed that an average torque value is constant within each T s period. It is noted that this assumption of having a frequency of gyroscope measurements collection at least five times higher than the control command frequency, is a reasonable assumption, as discussed in [24].
Gyroscope drift rate bias, random walk, scaling factor error, non-linearity error, and misalignment error can all affect gyroscope measurements. In this study, all of the aforementioned errors—aside from the drift rate bias—are treated as a single normal distribution error with a zero mean. This is a reasonable assumption given that the manufacturer often provides the gyroscope’s noise characteristics. On the other hand, gathering several gyroscope observations over an extended period of time is one method for determining the drift rate bias vector. These observations can be compared to those from other sensors, such as star tracker readings, that reveal information about the angular velocities of the spacecraft, where the bias vector can be estimated using an estimation method, such as the least squares method. In accordance with the manufacturer’s recommendations, such as once a month, this procedure can be repeated to update the drifting bias.
However, numerous estimating approaches can estimate the bias in cases where another sensor that provides data on the angular velocities of the spacecraft is unavailable, as is the situation in this work. Such as the Kalman filter, where the manufacturer or customer laboratory studies provide the noise characteristic of the gyroscope inaccuracies and drift bias. In this work, whenever the gyroscope measurements are available, an EKF ω is employed to estimate the spacecraft’s angular velocity and bias vector. Between times t 1 t 2 and t 2 t 3 , this EKF ω outputs the estimated angular velocity that is needed to compute the ω ˙ that is shown in the upper portion of Figure 2. It is important to remember that updating the drift rate bias onboard can be implemented periodically to lessen the computing load once an adequate assessment of the drift rate bias has been calculated. However, in this study, evaluating the bias vector will be completed at each sampling time in an effort to provide an idea of the worst-case scenario, in terms of computation load, regarding the use of the proposed work.
It is worth noting that the five-stencil approach effectively reduces the drift bias error’s impact on the computation of the ω ˙ . For instance, failing to account for drift rate bias 0.5 /hr may result in an error when computing ω ˙ equal (2.68 × 10 32 ) h 4 [rad/s 2 ].
The derivative of the angular velocity ω ˙ can be computed using Equation (10). Then, an estimation of the torque T ˜ can be computed using the Euler dynamic model Equation (3). Equations (7) and (8) imply that the torque, dipole moment and magnetic field vectors are orthogonal to each other in the ideal case when B ˜ = B . Assuming that B ˜ remains close to B , and given M and T ˜ , it is possible to compute the pseudo measurement vector, B s d o , from a geometric point of view. The unit vector of the B s d o vector can be computed as follows:
B ^ s d o = T ˜ T ˜ × M M = T ˜ ^ × M ^
In addition, the magnitude of the pseudo measurement of the ambient magnetic field vector can be computed as follows:
B s d o = T ˜ M
Therefore, the pseudo measurements of the ambient magnetic field vector are:
B s d o = T ˜ M T ˜ ^ × M ^ = T ˜ × M M 2
Further analysis over the computation of B s d o is carried out to check the effect of the error in the torque and the dipole moment vectors, δ T and δ M , respectively. The torque error is due to the noises in the gyro measurements and the errors in modeling the external disturbance torques such as gravity gradient, residual dipole moment, and aerodynamic drag, in addition to the sensitivity of the spacecraft dynamic model to the uncertainty in the moment of inertia. The error in the dipole moment vector δ M is due to the uncertainty in the actuator’s model and the noises and digitization process in the measured commanded current to the actuators. The estimate of the torque applied on the spacecraft is expressed as:
T ˜ = M ˜ × B s d o
Therefore, the torque error vector is as follows:
δ T = M × δ B + δ M × B + δ M × δ B
The most dominant term in Equation (15) on the right-hand side is the first term. Therefore, Equation (15) can be approximated as follows:
δ T M × δ B
where a bound γ R 3 on the ambient magnetic field error vector, | δ B | γ , is added. To make this analysis easier to visualize, we express the error in each vector in terms of the corresponding angle. The angle λ is the angle between the computed torque T ˜ and the true torque T . While the angle η is the angle between the estimated dipole moment vector M ˜ and the true dipole moment vector M , see Figure 3. Considering Figure 3, it is possible to express the error vector in the ambient magnetic field, δ B in terms of the angle α as follows:
| α | < α γ ,
where the angle α between the optimal B s d o vector and the true one B should be kept under a threshold angle α γ . Figure 4 shows the typical relation between the angles α and η for different values of λ where η is presented on the right vertical axis. For a wide range of the angle η , there is almost no change in the angle α . In the same figure, the relation between the angles α and λ for different values of η is plotted, where λ is presented on the left axis. The correlation between α and λ is strong; consequentially λ has a significant impact on δ B , in compliance with Equation (16).
The angle λ can be used as a measure for the accuracy of computing the estimated torque T ˜ . Neglecting T d , Figure 5 shows the angle λ history for a test case scenario. In that test case, there is an agreement between the computed torque and the true one to an acceptable accuracy as demonstrated in Figure 5. The angle error λ between the two vectors is very small. Hence, it can be concluded that the error in α is small in the estimation process described above, and hence the error δ B is small. This completes the process of computing the vector of the geomagnetic field B s d o , and completes the calculations needed in the proposed control algorithm.

3.3. Attitude Estimation

The continuous-discrete MEKF in [59] is modified here to estimate the following: the attitude quaternion q ˜ , the angular velocity ω ˜ , and the magnetic field B ˜ .
The measurements used by this MEKF are the angular velocity from the gyroscope, the direction of the sun from the sun sensor, and magnetic field pseudo measurements B s d o at times t 2 and t 3 , see Figure 2. For inertial pointing maneuvers, the state vector is x k = [ ω b i T q b i T B T ] T R 10 , and the error state vector is δ x k = [ δ ω b i T δ q v ( b i ) T δ B T ] T R 9 , where δ q v R 3 is the quaternion vector part error. Let x k | k 1 be the a prior estimate from the propagation step, and x k | k be the posterior estimate from the update step. The propagation and update steps of the MEKF are presented below.

3.3.1. State Propagation

During the propagation step, the angular velocities and the quaternion state variables are integrated numerically, using a 4th order Runge–Kutta integration for the nonlinear kinetic Equation (3), and for the kinematic model in Equation (1), to obtain a prior estimate of the angular velocities ω k | k 1 and the quaternion q k | k 1 . The magnetic field state, however, will be propagated using a simple model as shown below.
It is assumed here, that the derivative of the B vector in the inertial frame does not change (i.e., i B ˙ = 0 ) during the propagation of the magnetic field vector B . This assumption is acceptable for a small time step [9]. Consider the posterior estimated magnetic field vector B k 1 | k 1 , computed at the time step k 1 . The quaternion conjugate of the posterior quaternion update at the time step k 1 is q k 1 | k 1 1 . Then we can write:
B k | k 1 [ R ( q k | k 1 ) ] b i [ R ( q k 1 | k 1 1 ) ] b i B k 1 | k 1 ,
where [ R ( q k 1 | k 1 1 ) ] b o is the transformation matrix from the body frame to the inertial frame at the time step k 1 . The i B k 1 | k 1 can be transformed to the body frame using the transformation matrix [ R ( q k | k 1 ) ] b i ; hence for small time step we can assume that i B ˙ k = 0 , and hence i B k 1 | k 1 i B k | k 1 ; we can then write:
B k | k 1 [ R ( q k | k 1 ) ] b i [ R ( q k 1 | k 1 1 ) ] b i B k 1 | k 1 [ R ( q k | k 1 ) ] b i i B k 1 | k 1 [ R ( q k | k 1 ) ] b i i B k | k 1
Equation (19) can be used to propagate the magnetic field vector to acquire a prior estimate of the magnetic field B k | k 1 at step time k. The covariance matrix [ P ] propagates in time according to the Joseph form [59], which has been shown to be numerically stable but requires more computational power [59]. In the interest of having a simpler numerical implementation that requires less computational power, the following approximation is adopted [59,60]:
[ P ] k | k 1 = [ ϕ t k , t k 1 ] [ P k 1 | k 1 ] [ ϕ t k , t k 1 ] T + [ Q k 1 ] ,
where [ Q k 1 ] is the discrete-time process covariance matrix, and [ ϕ t k , t k 1 ] is the state transition matrix. In order to find the state transition matrix [ ϕ t k , t k 1 ] , a linearization for this model is carried out as detailed below.
The derivative of Equation (19) is as follows:
B ˙ [ R ( q ) ] b i i B ˙ + [ R ˙ ( q ) ] b i i B [ ω b i ] x [ R ( q ) ] b i i B   B × ω b i ,
where [ R ˙ ( q ) ] b i = [ ω b i ] x [ R ( q ) ] b i [49]. It is worth noting that the same derivative equation can be obtained using the transport theorem as follows (assuming i B ˙ = 0 ) [49,61,62]:
  B ˙ = [ R ( q ) ] b i i B ˙ + [ B ] x ω b i B × ω b i
The linearized first-order Taylor expansion version of Equation (22) results in the small-signal dynamic equation of the magnetic field as follows:
δ B ˙ ( t ) [ B ¯ ] x δ ω b i [ ω ¯ b i ] x δ B
Using Equation (3), the small-signal dynamic equation of the angular velocity becomes:
δ ω ˙ b i ( t ) [ I ] 1 [ I ω ¯ b i ] x [ ω ¯ b i ] x [ I ] δ ω b i + [ I ] 1 [ M ¯ ] x δ B [ B ¯ ] x δ M
The quaternion small-signal dynamic equation is:
δ q ˙ v ( b i ) ( t ) 0.5 [ 1 3 x 3 ] δ ω b i [ ω ¯ b i ] x δ q v ( b i )
The state transition matrix can be approximated as [ ϕ ] [ 1 9 x 9 ] + [ F ( x ) ] dt for small time step d t [63], where [ F ( x ) ] is the Jacobian matrix. The Jacobian matrix can be computed from Equations (23)–(25) to give:
[ F ( x ) ] = F 11 [ 0 3 x 3 ] [ I ] 1 [ M ¯ ] x 0.5 [ 1 3 x 3 ] [ ω ¯ b i ] x [ 0 3 x 3 ] [ B ¯ ] x [ 0 3 x 3 ] [ ω ¯ b i ] x ,
where
F 11 = [ I ] 1 [ I ω ¯ b i ] x [ ω ¯ b i ] x [ I ] ,
where the nominal values [ . ¯ ] are the a priori propagated values of the state vector.

3.3.2. State Update

A linearization of the measurement model about the a priori state estimate is here carried out for use inside the MEKF. The sun sensor measurement is V s u n , where:
V s u n ( k | k 1 ) = [ R ( q k | k 1 ) ] i V s u n ( k ) ,
Assuming small angles, the transformation matrix can be approximated as [ R ( q ) ] = [ R ( q ¯ ) ] [ R ( δ q ) ] [ R ( q k | k 1 ) ] ( [ 1 3 x 3 ] 2 [ δ q v ] x ) . Using this approximation, the error in the sun direction can be approximated as follows:
V s u n ( k | k 1 ) V ¯ s u n ( k | k 1 ) 2 [ V ¯ s u n ( k | k 1 ) ] x δ q v
The linearized small error measurement model about the apriori state estimate can be written as follows:
Z k = [ H k ] δ x = [ 1 3 x 3 ] [ 0 3 x 3 ] [ 0 3 x 3 ] [ 0 3 x 3 ] 2 [ V ¯ s u n ( k | k 1 ) ] x [ 0 3 x 3 ] [ 0 3 x 3 ] [ 0 3 x 3 ] [ 1 3 x 3 ] δ x
where Z k is the small-signal (error) measurement vector. At each measurement time, a Kalman gain is computed using Equation (31).
[ K k ] = [ P k | k 1 ] [ H k ] T [ H k ] [ P k | k 1 ] [ H k ] T + [ R k ] 1
The states error vector δ x is computed as follows:
δ x = δ ω k | k δ q v δ B k | k = [ K k ] ω m e s β ω k | k 1 V ^ s u n ( m e s ) V ¯ ^ s u n ( k | k 1 ) B s d o B k | k 1 ,
where ω m e s and V ^ s u n ( m e s ) are the measurements from the gyroscope and sun sensor respectively. The β is the bias vector that will be estimated using the equations of the EKF ω that are given in Appendix A. The update step is carried out for each of the q , ω , and B states differently. The quaternion is updated using a quaternion multiplication as shown in Equation (33).
q k | k = 1 δ q v 2 δ q v q k | k 1 ,
where ⊗ represents the quaternion product. The term 1 δ q v 2 is used for preserving the quaternion normalization of the computed quaternion error δ q , as shown in Equation (33).
The magnetic field B , on the other hand, is updated in two steps. Recall that the propagation step of B in Equation (19) used q k | k 1 . Now that q k | k is available, the latter is used to achieve a better propagation of B . This is carried out as follows: B k | k 1 + = [ R ( δ q k ) ] B k | k 1 . Then the magnetic field is updated using this new propagated vector B k | k 1 + along with the error in magnetic field vector δ B k | k , which is computed using the associated part of the Kalman gain and the measurements (or pseudo measurements), Equation (32):
B k | k = B k | k 1 + + δ B k | k
ω k | k = ω k | k 1 + δ ω k | k
where the spacecraft angular velocity is updated using the standard approach in Equation (35).
The estimated angular velocity bias vector (in the intervals t i t i + 1 ) from EKF ω is used here to update the angular velocity and will not be estimated at times t i to reduce the computational cost. The estimation error covariance matrix [ P ] is updated as follows:
[ P k | k ] = ( [ 1 9 x 9 ] [ K k ] [ H k ] ) [ P k | k 1 ]

3.4. Stability and Performance of the Modified MEKF

The estimation error covariance matrix [ P ] , which could turn into a non-positive matrix throughout the propagation and update processes, is one of the elements that affects the stability of the MEKF. Numerical instabilities could cause this. In order to confirm the stability, the eigenvalues of the matrix [ P ] are always confirmed to be positive during the simulation of the Monte Carlo runs in the following section.
Performance of the filter is significantly influenced by the kind of measurement and process noise errors. The performance of the filter might be substantially hampered by inaccurate noise error representation. In order to obtain the best approximation, a filter tuning method is typically used to modify the filter’s parameters. It is possible to tune filters offline using numerical optimization methods or online using adaptive algorithms [64]. However, according to [64], manual optimization is more common in practise. To give the measurements the maximum weight possible during manual optimization, choose small values for the measurement error covariance matrix, smaller than what the manufacturer or a laboratory test supplied. After that, modify the original estimate and process the noisy covariance matrices to obtain an acceptable level of performance. The method is then repeated until the needed performance is achieved, as noted in [64]. According to the statistical analysis of the outcomes of the Monte Carlo simulation, a manual optimization approach for the covariance matrices is used and validated in this study.

4. Numerical Simulations

The goal of this section is to compare the proposed algorithm in this paper, which is shown in Figure 2, to a reference standard algorithm. In the reference algorithm, both the magnetic rods and the magnetometers are turned on, alternately, during each cycle period, as shown in Figure 1. Monte Carlo (MC) simulation is conducted for this comparison. To highlight the impact of the proposed algorithm compared to the reference one, the output results from the proposed algorithm are normalized by the results from the reference algorithm. The hardware configuration and spacecraft parameters are the same for both algorithms and are similar to those in reference [2]. Table 1 shows both the spacecraft parameters and sun-synchronous orbital parameters.
The orbital position and velocity of the spacecraft are propagated in time using a model that accounts for the J2 gravitational effect. For orbit propagation, the J2000 inertial frame of reference is used. The orbit propagator output is used to calculate the spacecraft’s location with regard to the earth and sun, as well as the aerodynamic density and geomagnetic field.
To replicate the uncertainty in the spacecraft and environment models, a random Gaussian process is applied. An additional Gaussian random-direction torque is provided to address unknown torque sources, modeling flaws in the gravity gradient torque model, and inertia uncertainty in Equation (3). The mean value of this torque is chosen to be zero, with a standard deviation of 1 × 10 9 [N · m]. The uncertainty in the spacecraft inertia tensor when computing the torque in Section 3.2 is modeled as an additive Gaussian variable with a mean of 10 % . The simulation parameters are presented in Table 2. The measurements of the sun sensor and the magnetometers are assumed to have random Gaussian noises and a static bias. The mean value of this white noise is adjusted to zero for both the sun sensor and the magnetometer, with standard deviations of 1 × 10 4 and 5 × 10 3 [Tesla], respectively. The gyroscope is assumed subject to a drift bias and stochastic white noise. This white noise’s mean value is set to zero, with a standard deviation of 1 × 10 4 [rad/s].
The parameters of the control algorithms are as follows: T s = 0.25 [ s ] and δ = 0.7 . Therefore, the control command frequency is f c = 1 / 0.25 , and the gyroscope measurements frequency is selected to be f ω = 5 / 0.25 . The control gains are: ζ = 0.001 , k p = 0.01 , and k d = 0.4 . A confirmation window of 5-min is utilized after settling to the specified attitude.

4.1. Case Study

Before presenting the statistical MC analysis, the results from a sample run for the proposed ADCS algorithm are presented. In this example, each of the satellite’s initial angular velocity (true and estimated), and the initial attitude (true and estimated) are selected randomly. The simulation runs for 10 orbits. To make this presentation more clear, the attitude error will be represented in terms of the principal rotation error angle ϕ between the current attitude and the desired one. Figure 6 shows the principal rotation error angle for the reference case and the proposed algorithm with ϵ = 6 , (labeled “Ref” and “Proposed ϵ = 6 ” respectively). As shown in Figure 6, the proposed algorithm is able to settle at the desired attitude faster than the reference algorithm. Further notice, as can be shown for the zoom part of Figure 6, that the average attitude steady-state error of the proposed algorithm is less than the one from the reference case. This is due to increasing the duty cycle of magnetic rods that leads to decreasing the steady state error as analyzed in [6].
Figure 7 depicts the time behavior of the satellite’s angular velocity magnitude of the body frame. The figure shows that almost a zero angular velocity magnitude is preserved by the proposed algorithm after settling the spacecraft at the specified attitude. Figure 8 represents the magnetic field time history of the estimated and true values. As are often seen, a good match has been achieved. Later, six parameters will be presented to assess the ambient magnetic field estimation performance.
The above simulation is repeated for several ϵ values of the proposed algorithm. In this section, two parameters are used for comparison. The first parameter is the Power Consumption (PC) of the magnetic rods. The second parameter is the Maneuver Time (MT), which is defined here as the time until the spacecraft’s attitude is less than 1 error around the desired attitude plus the confirmation window of five minutes in which the spacecraft attitude remains within the error bounds. Regarding the Computational Load (CL) of the proposed algorithm, a measure of the total computational time per maneuver is computed using the Matlab built-in function (tic/toc). The above three parameters are computed for the proposed algorithm, and then are normalized w.r.t. the same parameters of the reference algorithm.
Figure 9 shows the normalized maneuver time ( N ( M T ) ), the normalized power consumption ( N ( P C ) ) (on the left axis) and the normalized computational load ( N ( C L ) ) (on the right axis,) for different values of ϵ . The N ( P C ) and N ( M T ) are always less than 1, which means less power consumption and less maneuver time compared to the reference algorithm, for all ϵ . Both the PC and the MT improve (decrease) as ϵ increases, up to a point. As ϵ increases beyond the value of 6, the change in δ e q v becomes very small. For example, the proposed duty cycle is δ e q v = 0.95 at ϵ = 6 , while at ϵ = 10 , it is δ e q v = 0.97 , see Equation (5). Increasing ϵ , however, increases the CL as shown on the right vertical axis in Figure 9.
For further assessment of estimating the ambient magnetic field, six parameters are used. The first is the correlation coefficient (CC) between the estimated and true values of the magnetic field. When the CC is close to 1, it indicates a strong correlation, and when the CC is close to 0, it indicates weak correlation. The scatter index (SI) indicates statistically how the computed quantity is scattered around the true one, the smaller the SI the higher is that the performance. The normalized root mean square error (NRMSE), mean absolute error (MAE), bias, and root mean square error (RMSE) are also computed for the obtained simulation data. Figure 10 shows the change of the CC with ϵ on the left axis. On the right axis, the NRMSE and SI are depicted. The CC is close to 1, and the SI and NRMSE are very small, indicating a strong correlation with less scattering between the estimated and the true magnetic fields. Figure 11 shows the bias, RMSE, and MAE. The variation of all parameters confirms that the lower the ϵ the better ambient magnetic field estimation. In the following Monte Carlo analysis, the ϵ value is selected to be 6 which means δ e q v = 0.95 compared to δ = 0.7 in the reference algorithm.

4.2. Monte Carlo Simulation Analysis

Results are here presented for 45,000 Monte Carlo runs; 22,500 for the reference algorithm and 22,500 for the proposed algorithm. Normal distribution is used for noises seeds, with a different distribution for each run.
The 22,500 categories have different initial angular rates (true and estimated), and initial quaternion (true and estimated), from all other categories. These values are generated randomly and are equivalent for both algorithms. So, the results are reported in terms of improvement percentage in PC, MT, and CL. Here, the percent improvement P p r m is computed as follows:
P p r m = 100 × 1 p r m P p r m R ,
where p r m represents the MT or the PC or the CL, the subscript P represents the computed p r m values for the proposed ADCS, the subscript R represents the computed p r m values for the reference ADCS, and P p r m represents the percentage improvement in the p r m . As a measure of the estimation error, the CC, SI, NRMSE, MAE, Bias, and RMSE are computed and averaged. All the disturbance torques mentioned in this paper are simulated. Table 3 shows the estimate of the magnitude of these disturbance torques, in the worst-case of the entire MC runs.
Figure 12 depicts the Gaussian distribution and histogram of P M T . Figure 12 shows that the maneuver time of the proposed algorithm is significantly less than that of the reference case. In some cases, the proposed algorithm achieves P M T of about 50 % , whereas in other cases there is almost no improvement, compared to the reference algorithm. The mean value of the P M T is 23.17 % , with 8.53 % standard deviation.
In terms of power consumption, the proposed algorithm increases the mean value of the P P C significantly as shown in Figure 13. The P P C , using the proposed algorithm, goes up to about 45 % in some cases. The mean value for the P P C is 19.62 % , with a 10.63 % standard deviation.
The computational load is computed for the whole maneuver. Overall, the proposed algorithm has a higher computational load compared to the reference algorithm because of the additional computations in evaluating B s d o and in the MEKF magnetic propagation step. It is noticed that the computational load of the proposed algorithm roughly needs about 30 % more computational resources at every time step. It should be noted that, while this approach provides an approximate estimate of the CL when run on the Matlab environment, it does not explain the CL of the suggested technique when run on flying hardware. In reality, the technique may be considerably more effective in terms of CL after implementation than Matlab suggested, since the CL may be substantially improved throughout the implementation.
However, when the savings in the maneuver time are significant, the computational time of the proposed algorithm becomes less than that of the reference algorithm, simply because the whole maneuver is completed in a significantly shorter period of time, and hence the computations stop much sooner compared to the reference algorithm. This observation is evident in Figure 14, where there is a strong correlation between the P M T and the P C L .
Finally, regarding the estimated magnetic field parameters within the above MC simulations, all six parameters are computed as follows. Each one run resulted in a time history for B ˜ and B vectors. The six parameters are computed for each component of B ˜ resulting in three components. For each run, an average of the three components is computed.
The mean and standard deviation values for the six parameters for the entire MC runs are presented in Table 4. The results show a strong correlation and less scattering in these MC runs.

5. Verification Using Real Data

This section is devoted to validating the estimation of the magnetic field. Real telemetry data from the CASSIOPE spacecraft are used for verification. The CASSIOPE is a multimission satellite from Canadian Space Agency (CSA). Its objectives are space weather operation and high-speed communications concepts verification [44,65]. Three-star trackers are used for attitude determination. Two magnetometers are installed on two different booms. The magnetic rods’ maximum dipole moment is 30 [Am 2 ] and they have activated alternately with the magnetometers, with a duty cycle of δ = 0.7 .
The technical team provided real telemetry information for the ground station tracking maneuvers, that is performed on 21 February 2019. These telemetry data consists of the time history of angular velocity measurements ω , magnetic field measurements B , reaction wheels torques T w , magnetic rods torques T , controller dipole moment M , control term or designed torque T r e q and Ephemeris. The designed torque T r e q is the magnetic controller output. The Ephemeris includes the attitude (in terms of the Euler angles roll, pitch and yaw,) the spacecraft position and velocity in an inertial frame, latitude, longitude, and altitude (in the World Geodetic System 1984 (WGS84) frame, and in the Earth-centered inertial (J2000) frame). The telemetry data sampling time is 0.1 s, whereas the Ephemeris sampling time is 5 s, for two maneuvers with periods 200 s and 360 s, respectively. The duty cycle will be δ = 0.7 × 0.1 = 0.07 s as a result.
The star tracker provides the attitude. Therefore, no attitude estimation is performed in this verification process. However, this attitude information will be used in Equation (18) to propagate the magnetic field.
The CASSIOPE is modeled in this paper as a rigid body, and its moments of inertia are optimized to account for unmodeled structural flexibility. The initial inertia tensor matrix is given as follows:
[ I ] = 186.5202 0.6839 5.2728 0.6839 194.4095 4.2445 5.2728 4.2445 214.1428 [ kg · m 2 ]
The magnetic field estimation verification process is as follows:
(1)
Computing the pseudo measurement B s d o as described in Section 3.2. The spacecraft angular velocities provided by the gyroscope have bias and noise. Hence a batch optimization process is first conducted to estimate this bias. This optimization process searches for the spacecraft’s initial angular velocity that minimizes the difference between the true attitude q t (obtained from the star trackers) and the propagated one q p r o g (obtained using the attitude kinematics Equation (1)). The objective function J is:
J = t 0 t f q p r o g q t d t
The bias vector is here assumed to be the difference between the mean value of the propagated angular velocity (using the initial angular velocity output from the optimization process) and the measured angular velocity from the gyroscope (the mean value of a polynomial fit for the measurements). This step is performed on just one occasion only. Therefore the output unbiased angular velocity measurements are shown in Figure 15 and Figure 16, (labeled “Unbiased Measurement”).
(2)
An Extended Kalman Filter (EKF) is used to estimate the noises from these unbiased angular velocity measurements. The EKF uses the following three diagonal covariance matrices: initial state covariance [ P ] = d i a g ( 1 1 1 ) × 10 5 , measurement noise error covariance [ R ] = d i a g ( 1 1 1 ) × 10 2 , and process noise error covariance [ Q ] = d i a g ( 1 1 1 ) × 10 5 , where d i a g ( x ) means a diagonal matrix whose diagonal elements are x. The covariance matrices are chosen manually, as indicated in the Section 3.4, which follows the procedure provided in [64]. Euler Equation (3) is used for propagating the spacecraft angular velocity in the EKF, while the unbiased angular velocity is used as the measurement input to the EKF. The output angular velocity from EKF is shown in Figure 15 and Figure 16. The equations of this EKF are given in Appendix B.
(3)
The numerical calculation of the spacecraft angular speed derivative ω ˙ using the five-stencil approach requires at least five consecutive angular velocity readings, in one cycle period (in which the torque is constant). Therefore, interpolation is employed to compute these velocities. Once the ω ˙ is computed numerically, the pseudo measurement B s d o is computed as discussed in Section 3.2.
(4)
Another EKF is used for magnetic field estimation, where the pseudo measurement B s d o is the EKF input measurement. The magnetic field propagation model Equation (18) propagates the magnetic field. The following three diagonal covariance matrices are used: initial state covariance [ P ] = d i a g ( 2 2 2 ) × 10 6 , measurement noise error covariance [ R ] = d i a g ( 0.5 0.5 0.5 ) × 10 4 , and [ Q ] = d i a g ( 0.5 0.5 0.5 ) × 10 8 is used as the process noise error covariance. The equations of this EKF are given in Appendix C.
It is worth noting that the two EKFs can be combined together. However, they are implemented separately in this study.
For the first 200 s maneuver, using ϵ = 5 , Figure 15 shows the un-biased angular velocity measurement versus the estimated one using the EKF. The matching proves that the rigid body Euler model can reasonably render the CASSIOPE dynamics. Figure 17 shows the comparison between the X components of each of the real magnetic field measurement (labeled “True"), the pseudo measurement B s d o (labeled “Computed",) and the EKF estimated values (Labeled “Estimated").
Figure 17, Figure 18 and Figure 19 render the good performance of the estimation process in the X, Y, and Z directions, respectively. The six-validation parameters are computed for different values of ϵ and the results are plotted in Figure 20 and Figure 21. The results here are in agreement with the conclusions from the Monte Carlo analysis; the lower the ϵ the better the magnetic field estimation accuracy.
Another maneuver of 300 s duration is also verified. The angular velocities histories are shown in Figure 16. The magnetic field estimation values compared with the pseudo measurements and the true measurement are plotted in Figure 22. The magnetic field estimation accuracy is good, as evident from Figure 22. This is also confirmed by the values of the six validation parameters, which are listed in Table 5, for this maneuver, using ϵ = 5 .

6. Conclusions

An estimation algorithm was presented for spacecraft attitude that enables more efficient operation of the magnetic rods in inertial pointing attitude maneuvers. The proposed algorithm estimates the spacecraft attitude, in addition to the magnetic field, at the times when the magnetometer is not used. It was demonstrated via Monte Carlo simulations that the proposed algorithm results in shorter maneuver times of around 23 % as well as less power consumption of around 19 % by the magnetic rods. The results also show a less attitude steady state error due to increasing the duty cycle of the magnetic rods that are compatible with the analytical study in [6]. The magnetic field estimation process was tested against real data from the CASSIOPE mission and demonstrated good estimation accuracy.

Author Contributions

Methodology, M.A.A.D. and O.A.; software, M.A.A.D.; validation, M.A.A.D.; writing—original draft preparation, M.A.A.D.; writing—review and editing, O.A.; Supervision, O.A.; All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

The authors would like to thank David Miles and Andrew Howarth for providing the CASSIOPE telemetry data used for verification in this paper.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Angular Velocity and Bias Estimation

The Angular velocity is filtered when estimating the bias vector in the EKF ω . The system model equations are Equations (3), (A1) and (A2):
ω m e s = ω + β + η v
β ˙ = η u
where ω m e s R 3 is the gyroscope output, β R 3 is the gyroscope bias vector, η v R 3 is the random drift noise and η u R 3 is the random walk drift noise. The sate vector is x = [ ω T β T ] T . The Jacobean matrix that will be used for computing the state transition matrix [ ϕ ] is as follows:
[ F ( x ) ] = [ I ] 1 ( [ I ω ¯ ] x [ ω ¯ ] x [ I ] ) [ 1 3 x 3 ] [ 0 3 x 3 ] [ 0 3 x 3 ]
The state transition matrix [ ϕ ] is approximated by [ ϕ ] [ 1 3 x 3 ] + [ F ( x ) ] dt for small time step d t [63]. The linearized form of the measurements matrix is
[ H ] = [ 1 3 x 3 ] [ 0 3 x 3 ]

Appendix B. Angular Velocity Estimation

The Angular velocity is filtered and estimated for the real data case where the system model equations are Equation (3). The Jacobean matrix that will be used for computing the state transition matrix [ ϕ ] is as follows:
[ F ( x ) ] = [ I ] 1 ( [ I ω ¯ b i ] x [ ω ¯ b i ] x [ I ] )
The linearized form of the measurements matrix is
[ H ] = 1 3 x 3

Appendix C. Magnetic Field Estimation

The magnetic field is filtered and estimated for the real data case where the system model equation is Equation (18) and the measurement is the pseudo measurements, see Section 3.2. The Jacobean matrix that will be used for computing the state transition matrix [ ϕ ] is as follows:
[ F ( x ) ] = [ R ( q k | k 1 ) ] [ R ( q k 1 | k 1 1 ) ]
The linearized form of the measurements matrix is as in Equation (A6) .

References

  1. Silani, E.; Lovera, M. Magnetic Spacecraft Attitude Control: A Survey and Some New Results. Control Eng. Pract. 2004, 13, 357–371. [Google Scholar] [CrossRef]
  2. Desouky, M.A.A.; Abdelkhalik, O. Improved Spacecraft Magnetic Attitude Maneuvering. J. Spacecr. Rocket. 2019, 56, 1611–1623. [Google Scholar] [CrossRef]
  3. Desouky, M.A.A.; Abdelkhalik, O. Improved Magnetic Attitude Control. In Proceedings of the NAECON (National Aerospace and Electronics Conference), Dayton, OH, USA, 15–19 July 2019; pp. 552–559. [Google Scholar] [CrossRef]
  4. Bouwmeester, J.; Guo, J. Survey of Worldwide Pico-and Nanosatellite Missions, Distributions and Subsystem Technology. Acta Astronaut. 2010, 67, 854–862. [Google Scholar] [CrossRef]
  5. Ivanov, D.S.; Ovchinnikov, M.Y.; Penkov, V.I.; Roldugin, D.S.; Doronin, D.M.; Ovchinnikov, A.V. Advanced Numerical Study of the three-axis Magnetic Attitude Control and Determination with Uncertainties. Acta Astronaut. 2017, 132, 103–110. [Google Scholar] [CrossRef]
  6. Desouky, M.A.A.; Abdelkhalik, O. Stability and Steady State Error Analysis for Satellite Magnetic Attitude Regulation. In Proceedings of the 2020 AAS/AIAA Astrodynamics Specialist Conference, South Lake Tahoe, CA, USA, 9–13 August 2020; Volume AAS-20-447, pp. 1–19. [Google Scholar]
  7. Yang, Y. Controllability of Spacecraft Using Only Magnetic Torques. IEEE Trans. Aerosp. Electron. Syst. 2016, 52, 150520. [Google Scholar] [CrossRef] [Green Version]
  8. Psiaki, M.L.; Martel, F.; Pal, P.K. Three-axis Attitude Determination via Kalman Filtering of Magnetometer Data. J. Guid. Control Dyn. 1990, 13, 506–514. [Google Scholar] [CrossRef]
  9. Tortora, P.; Oshman, Y.; Santono, F. Spacecraft Angular Rate Estimation from Magnetometer Data Only Using an Analytic Predictor. J. Guid. Control Dyn. 2004, 27, 365–373. [Google Scholar] [CrossRef]
  10. Humphreys, T.E.; Psiaki, M.L.; Klatt, E.M.; Powell, S.P.; Kintner, P.M. Magnetometer-based Attitude and Rate Estimation for a Spacecraft with Wire Booms. J. Guid. Control Dyn. 2005, 28, 584–593. [Google Scholar] [CrossRef]
  11. Abdelrahman, M.; Park, S.Y. Sigma-Point Kalman Filtering for Spacecraft Attitude and Rate Estimation using Magnetometer Measurements. IEEE Trans. Aerosp. Electron. Syst. 2011, 47, 1401–1415. [Google Scholar] [CrossRef]
  12. Egziabher, D.G.; Elkaim, G.H.; Powell, J.D.; Parkinson, B.W. Calibration of Strapdown Magnetometers in the Magnetic Field Domain and Actuation. ASCE J. Aerosp. Eng. 2006, 19, 87–102. [Google Scholar] [CrossRef] [Green Version]
  13. Foster, C.C.; Elkaim, G.H. Extension of a Two-step Calibration Methodology to Include Nonorthogonal Sensor Axes. IEEE Trans. Control Syst. Technol. 2008, 44, 1070–1078. [Google Scholar] [CrossRef]
  14. Burton, R.; Rock, S.; Springmann, J.; Cutlerd, J. Dual Attitude and Parameter Estimation of Passively Magnetically Stabilized Nano Satellites. Acta Astronaut. 2014, 94, 145–158. [Google Scholar] [CrossRef]
  15. Burton, R.; Rock, S.; Springmann, J.; Cutlerd, J. Online Attitude Determination of a Passively Magnetically Stabilized Spacecraft. Acta Astronaut. 2017, 133, 269–281. [Google Scholar] [CrossRef] [Green Version]
  16. Soken, H.E.; Sakai, S. Attitude estimation and magnetometer calibration using reconfigurable TRIAD+filtering approach. Aerosp. Sci. Technol. 2020, 99, 105754. [Google Scholar] [CrossRef]
  17. Yakupoglu-Altuntas, S.; Esit, M.; Söken, H.E.; Hajiyev, C. Backup Magnetometer-Only Attitude Estimation Algorithm for Small Satellites. IEEE Sens. J. 2022, 22, 13544–13551. [Google Scholar] [CrossRef]
  18. Ivanov, D.; Roldugin, D.; Tkachev, S.; Ovchinnikov, M.; Zharkikh, R.; Kudryavtsev, A.; Bychek, M. Attitude motion and sensor bias estimation onboard the SiriusSat-1 nanosatellite using magnetometer only. Acta Astronaut. 2021, 188, 295–307. [Google Scholar] [CrossRef]
  19. Pourtakdoust, S.H.; Mehrjardi, M.F.; Hajkarim, M. Attitude estimation and control based on modified unscented Kalman filter for gyro-less satellite with faulty sensors. Acta Astronaut. 2022, 191, 134–147. [Google Scholar] [CrossRef]
  20. Yang, M.; Chen, Y.; Xin, X. An efficient micro-satellite attitude estimation algorithm based on QUEST and UD-MEKF. In Proceedings of the 2021 33rd Chinese Control and Decision Conference (CCDC), Kunming, China, 22–24 May 2021; pp. 7027–7032. [Google Scholar] [CrossRef]
  21. Ma, H.; Xu, S. Magnetometer-only attitude and angular velocity filtering estimation for attitude changing spacecraft. Acta Astronaut. 2014, 102, 89–102. [Google Scholar] [CrossRef]
  22. Wang, W.; Lee, T. Spacecraft Attitude and Gyro-Bias Estimation with a Single Magnetometer on SO(3)×Rn. In Proceedings of the AIAA SCITECH 2022 Forum, San Diego, CA, USA, 3–7 January 2022. Virtual. [Google Scholar] [CrossRef]
  23. Chessab, M.; Shehab, A. Attitude Determination and Control System design of KufaSat. Int. J. Curr. Eng. Technol. 2014, 4, 2910–2920. [Google Scholar]
  24. Unhelkar, V.; Hablani, H. Spacecraft Attitude Determination with Sun Sensors, Horizon Sensors and Gyros: Comparison of Steady-State Kalman Filter and Extended Kalman Filter. In Advances in Estimation, Navigation, and Spacecraft Control, ENCS 2012; Springer: Berlin/Heidelberg, Germany, 2015; pp. 413–437. [Google Scholar] [CrossRef]
  25. Crassidis, J.L.; Markley, F.L.; Cheng, Y. Survey of Nonlinear Attitude Estimation Methods. J. Guid. Control Dyn. 2007, 30, 12–48. [Google Scholar] [CrossRef] [Green Version]
  26. Yang, Y. Spacecraft Attitude Determination and Control: Quaternion Based Method. Annu. Rev. Control 2012, 36, 198–219. [Google Scholar] [CrossRef]
  27. Ovchinnikov, M.Y.; Roldugin, D.S.; Penkov, V.I. Three-Axis Active Magnetic Attitude Control Asymptotical Study. Acta Astronaut. 2015, 110, 279–286. [Google Scholar] [CrossRef]
  28. Desouky, M.A.A.; Abdelkhalik, O. A new variant of the B-dot control for spacecraft magnetic detumbling. Acta Astronaut. 2020, 171, 14–22. [Google Scholar] [CrossRef]
  29. Ovchinnikov, M.Y.; Roldugin, D.S.; Ivanov, D.; Penkov, V.I. Choosing Control Parameters for Three Axis Magnetic Stabilization in Orbital Frame. Acta Astronaut. 2015, 116, 74–77. [Google Scholar] [CrossRef]
  30. Abdelrahman, M.A.; Young Park, S. Integrated Attitude Determination and Control System via Magnetic Measurements and Actuation. Acta Astronaut. 2011, 69, 168–185. [Google Scholar] [CrossRef] [Green Version]
  31. Lovera, M.; Astolfi, A. Global Magnetic Attitude Control of Spacecraft in the Presence of Gravity Gradient. IEEE Trans. Aerosp. Electron. Syst. 2006, 42, 796–805. [Google Scholar] [CrossRef] [Green Version]
  32. Bolandi, H.; Vaghei, B.G. Stable Supervisory-Adaptive Controller for Spinning Satellite Using Only Magnetorquers. IEEE Trans. Aerosp. Electron. Syst. 2009, 45, 192–208. [Google Scholar] [CrossRef]
  33. Vazquez, A.R.; Prats, M.M.; Zazzera, F.B. Spacecraft Magnetic Attitude Control Using Approximating Sequence Riccati Equations. IEEE Trans. Aerosp. Electron. Syst. 2015, 51, 3374–3385. [Google Scholar] [CrossRef]
  34. Arduini, C.; Baiocco, P. Active Magnetic Damping Attitude Control for Gravity Gradient Stabilized Spacecraft. J. Guid. Control Dyn. 1997, 20, 117–122. [Google Scholar] [CrossRef]
  35. de Angelis, E.L.; Giulietti, F.; de Ruiter, A.H.J.; Avanzini, G. Spacecraft Attitude Control Using Magnetic and Mechanical Actuation. J. Guid. Control Dyn. 2016, 39, 564–573. [Google Scholar] [CrossRef] [Green Version]
  36. Forbes, J.R.; Damaren, C.J. Geometric Approach to Spacecraft Attitude Control Using Magnetic and Mechanical Actuation. J. Guid. Control Dyn. 2010, 33, 590–595. [Google Scholar] [CrossRef]
  37. Avanzini, G.; Giulietti, F. Magnetic Detumbling of a Rigid Spacecraft. J. Guid. Control Dyn. 2012, 35, 1326–1334. [Google Scholar] [CrossRef]
  38. Cubas, J.; Farrahi, A.; Pindado, S. Magnetic Attitude Control for Satellites in Polar or Sun-Synchronous Orbits. J. Guid. Control Dyn. 2015, 38, 1947–1958. [Google Scholar] [CrossRef] [Green Version]
  39. Psiaki, M.L. Magnetic Torquer Attitude Control via Asymptotic Periodic Linear Quadratic Regulation. J. Guid. Control Dyn. 2001, 24, 386–394. [Google Scholar] [CrossRef]
  40. Findlay, E.J.; de Ruiter, A.; Forbes, J.R.; Liu, H.; Damaren, C.J.; Lee, J. Magnetic Attitude Control of a Flexible Satellite. J. Guid. Control Dyn. 2013, 36, 1522–1527. [Google Scholar] [CrossRef] [Green Version]
  41. Lovera, M.; Astolfi, A. Global Magnetic Attitude Control of Inertially Pointing Spacecraft. J. Guid. Control Dyn. 2005, 28, 1065–1072. [Google Scholar] [CrossRef]
  42. Desouky, M.A.A.; Abdelkhalik, O.O. Time-Optimal Magnetic Attitude Detumbling. AIAA J. Spacecr. Rocket. 2020, 57, A34583. [Google Scholar] [CrossRef]
  43. Ovchinnikov, M.Y.; Roldugin, D. A survey on active magnetic attitude control algorithms for small satellites. Prog. Aerosp. Sci. 2019, 109, 100546. [Google Scholar] [CrossRef]
  44. Wallis, D.D.; Miles, D.M.; Narod, B.B.; Bennest, J.R.; Murphy, K.R.; Mann, I.R.; Yau, A.W. The CASSIOPE/e-POP Magnetic Field Instrument (MGF). Space Sci. Rev. 2015, 189, 27–39. [Google Scholar] [CrossRef] [Green Version]
  45. Miles, D.M.; Mann, I.R.; Ciurzynski, M.; Barona, D.; Narod, B.B.; Bennest, J.R.; Pakhotin, I.P.; Kale, A.; Bruner, B.; Nokes, C.D.A.; et al. A miniature, low-power scientific fluxgate magnetometer: A stepping-stone to cube-satellite constellation missions. J. Geophys. Res. Space Phys. 2016, 121, 11839–11860. [Google Scholar] [CrossRef] [Green Version]
  46. Celani, F. Spacecraft Attitude Stabilization with Piecewise-Constant Magnetic Dipole Moment. J. Guid. Control Dyn. 2016, 39, 1140–1146. [Google Scholar] [CrossRef] [Green Version]
  47. Celani, F. Spacecraft Attitude Stabilization Using Magnetorquers with Separation Between Measurement and Actuation. J. Guid. Control Dyn. 2016, 39, 2184–2191. [Google Scholar] [CrossRef]
  48. Wertz, J. Spacecraft Attitude Determination and Control; Springer: Berlin/Heidelberg, Germany, 1978; Chapters 4, 7 and 9. [Google Scholar]
  49. Schaub, H.; Junkins, J.L. Analytical Mechanics of Space Systems; AIAA Education Series; AIAA: New York, NY, USA, 2003; Chapters 3 and 4. [Google Scholar]
  50. Astolfi, A.; Lovera, M. Global Spacecraft Attitude Control Using Magnetic Actuators. In Proceedings of the American Control Conference, Anchorage, AK, USA, 8–10 May 2002; Volume 2, pp. 1331–1335. [Google Scholar] [CrossRef]
  51. Lovera, M.; Astolfi, A. Spacecraft Attitude Control Using Magnetic Actuators. Automatica 2004, 40, 1405–1414. [Google Scholar] [CrossRef]
  52. Sidi, M.J. Spacecraft Dynamics and Control; Cambridge University Press: Cambridge, UK, 1997; Chapters 1, 2 and 7. [Google Scholar]
  53. Bhat, S. Controllability of Nonlinear Time-varying Systems: Applications to Spacecraft Attitude Control Using Magnetic Actuation. IEEE Trans. Autom. Control 2005, 50, 1725–1735. [Google Scholar] [CrossRef]
  54. Khalil, H. Nonlinear Systems, 3rd ed.; Prentice-Hall: Englewood Cliffs, NJ, USA, 1996. [Google Scholar]
  55. Wen, J.T.Y.; Kreutz-Delgado, K. The Attitude Control Problem. Autom. Control 1991, 36, 584–593. [Google Scholar] [CrossRef]
  56. Fjellstad, O.E.; Fossen, T. Comments on The attitude control problem. IEEE Trans. Autom. Control 1994, 39, 699–700. [Google Scholar] [CrossRef]
  57. Damaren, C.J. Hybrid magnetic attitude control gain selection. J. Aerosp. Eng. 2009, 223, 1041–1047. [Google Scholar] [CrossRef]
  58. Abramowitz, M. Handbook of Mathematical Functions, With Formulas, Graphs, and Mathematical Tables; NBS: Mineola, NY, USA, 1964; Chapter Tabel:25.2. [Google Scholar]
  59. Crassidis, J.L.; Junkins, J.L. Optimal Estimation of Dynamic Systems; Chapman and Hall/CRC Applied Mathematics and Nonlinear Science Series; CRC Press: Boca Raton, FL, USA, 2012; Chapter 3. [Google Scholar]
  60. Jazwinski, A.H. Stochastic Processes and Filtering Theory; Courier Corporation: Chelmsford, MA, USA, 2015. [Google Scholar]
  61. Lovera, M. Magnetic Satellite Detumbling: The B-Dot Algorithm Revisited. In Proceedings of the 2015 American Control Conference (ACC), Chicago, IL, USA, 1–3 July 2015; pp. 66–72. [Google Scholar] [CrossRef]
  62. Desouky, M.A.A.; Abdelkhalik, O. Efficient B-dot Law for Spacecraft Magnetic Detumbling. In Proceedings of the 29th AAS/AIAA Astrodynamics Specialist Conference, Portland, ME, USA, 11–15 August 2019; Volume AAS-19-665, pp. 1–17. [Google Scholar]
  63. Franklin, G.F.; Powell, J.D.; Naeini, A.E. Feedback Control of Dynamic System; Pearson: Upper Saddle River, NJ, USA, 2010; Chapter 4. [Google Scholar]
  64. Crassidis, J.L.; Junkins, J.L. Fundamentals of Spacecraft Attitude Determination and Control; Springer: Cham, Switzerland, 2014. [Google Scholar]
  65. Yau, A.W.; James, H.G. CASSIOPE Enhanced Polar Outflow Probe (e-POP) Mission Overview. Space Sci. Rev. 2015, 189, 3–14. [Google Scholar] [CrossRef]
Figure 1. In the reference ADCS algorithm, the magnetic rods operate on a duty cycle principal, alternating with magnetometers to avoid high noise on the latter.
Figure 1. In the reference ADCS algorithm, the magnetic rods operate on a duty cycle principal, alternating with magnetometers to avoid high noise on the latter.
Aerospace 09 00833 g001
Figure 2. The proposed magnetic rod operation.
Figure 2. The proposed magnetic rod operation.
Aerospace 09 00833 g002
Figure 3. The desired T r e q and the projected T torques for a given B vector.
Figure 3. The desired T r e q and the projected T torques for a given B vector.
Aerospace 09 00833 g003
Figure 4. The relation between α and each of λ (the left vertical axis) and η (the right vertical axis). These results are obtained by changing the angles λ and η and the corresponding change in α is computed at a single sampling time of one of the simulation results.
Figure 4. The relation between α and each of λ (the left vertical axis) and η (the right vertical axis). These results are obtained by changing the angles λ and η and the corresponding change in α is computed at a single sampling time of one of the simulation results.
Aerospace 09 00833 g004
Figure 5. The angle λ , in degrees, between the actual torque T and the estimated torque T ˜ using the five-point stencil method for computing ω ˙ numerically.
Figure 5. The angle λ , in degrees, between the actual torque T and the estimated torque T ˜ using the five-point stencil method for computing ω ˙ numerically.
Aerospace 09 00833 g005
Figure 6. Attitude error history in terms of principal rotation angle ϕ between the real and desired attitude.
Figure 6. Attitude error history in terms of principal rotation angle ϕ between the real and desired attitude.
Aerospace 09 00833 g006
Figure 7. Spacecraft angular velocity magnitude history.
Figure 7. Spacecraft angular velocity magnitude history.
Aerospace 09 00833 g007
Figure 8. Ambient magnetic field history over time.
Figure 8. Ambient magnetic field history over time.
Aerospace 09 00833 g008
Figure 9. N(MT), N(PC), and N(CL) versus ϵ .
Figure 9. N(MT), N(PC), and N(CL) versus ϵ .
Aerospace 09 00833 g009
Figure 10. CC, SI and NRMSE of the estimated B ˜ vector.
Figure 10. CC, SI and NRMSE of the estimated B ˜ vector.
Aerospace 09 00833 g010
Figure 11. Bias, MAE and RMSE of the estimated B ˜ vector.
Figure 11. Bias, MAE and RMSE of the estimated B ˜ vector.
Aerospace 09 00833 g011
Figure 12. Gaussian distribution and histogram of improvement percentage in maneuver time.
Figure 12. Gaussian distribution and histogram of improvement percentage in maneuver time.
Aerospace 09 00833 g012
Figure 13. Gaussian distribution and histogram of improvement percentage in power consumption.
Figure 13. Gaussian distribution and histogram of improvement percentage in power consumption.
Aerospace 09 00833 g013
Figure 14. Improvement percentage in computational load versus Improvement percentage in maneuver time. The tendency of the CL is shown by the red average line.
Figure 14. Improvement percentage in computational load versus Improvement percentage in maneuver time. The tendency of the CL is shown by the red average line.
Aerospace 09 00833 g014
Figure 15. Angular velocities history from unbiased gyroscope measurements and the EKF output for 1st maneuver.
Figure 15. Angular velocities history from unbiased gyroscope measurements and the EKF output for 1st maneuver.
Aerospace 09 00833 g015
Figure 16. Angular velocities history from unbiased gyroscope measurements and the EKF output for 2nd maneuver.
Figure 16. Angular velocities history from unbiased gyroscope measurements and the EKF output for 2nd maneuver.
Aerospace 09 00833 g016
Figure 17. Magnetic field history in the X direction for 1st maneuver.
Figure 17. Magnetic field history in the X direction for 1st maneuver.
Aerospace 09 00833 g017
Figure 18. Magnetic field history in the Y direction for 1st maneuver.
Figure 18. Magnetic field history in the Y direction for 1st maneuver.
Aerospace 09 00833 g018
Figure 19. Magnetic field history in the Z direction for 1st maneuver.
Figure 19. Magnetic field history in the Z direction for 1st maneuver.
Aerospace 09 00833 g019
Figure 20. CC, SI and NRMSE of the estimated magnetic field for 1st maneuver.
Figure 20. CC, SI and NRMSE of the estimated magnetic field for 1st maneuver.
Aerospace 09 00833 g020
Figure 21. Bias, MAE and RMSE of the estimated magnetic field for 1st maneuver.
Figure 21. Bias, MAE and RMSE of the estimated magnetic field for 1st maneuver.
Aerospace 09 00833 g021
Figure 22. Magnetic field histories for the 2nd maneuver.
Figure 22. Magnetic field histories for the 2nd maneuver.
Aerospace 09 00833 g022
Table 1. Spacecraft and orbital parameters.
Table 1. Spacecraft and orbital parameters.
ParameterValue [Unit], [Uncertainty]
[ I x , I y , I z ] T [ 0.196 , 0.202 , 0.202 ] T [kg · m 2 ] , [ 10 % ]
Max. dipole moment vector ± [ 1.83 1.83 1.83 ] T [Am 2 ]
Altitude639.212 [km]
Inclination 97 . 868
Right ascension of the ascending 157 . 305
True anomaly at initial time 277 . 29
Eccentricity0
Table 2. Disturbance Parameters.
Table 2. Disturbance Parameters.
ParameterValue [Unit]Uncertainty
ρ * 2.01 × 10 14   [kg · m 3 ]
R m p [ 9 11 12 ] [mm] 10 %
C D 2
Spacecraft dimension [ 23 23 29 ]  [cm]
M r d s 1 × 10 4  [Am 2 ] 10 %
C r k 1.5
F s o l a r 1366 [w/m 2 ]
* ρ is computed using an empirical formula provided in http://www.braeunig.us/space/atmmodel.htm (accessed date 17 November 2022).
Table 3. Worst-case disturbance torque magnitudes.
Table 3. Worst-case disturbance torque magnitudes.
DisturbanceMagnitude [N · m]
Aerodynamic drag 5.19 × 10 9
Gravity gradient 1.04 × 10 8
Residual dipole 4.06 × 10 9
Solar radiation 1.07 × 10 9
Table 4. Mean and standard deviation of the parameters used for comparison for the entire MC runs.
Table 4. Mean and standard deviation of the parameters used for comparison for the entire MC runs.
ParametersMeanStandard Deviation
P M T 19.62 % 10.63 %
P P C 23.17 % 8.53 %
P C L 0.24 % 10.13 %
MAE 4.36 × 10 7 [Tesla] 9.366 × 10 9 [Tesla]
Bias 7.861 × 10 8 [Tesla] 2.063 × 10 8 [Tesla]
RMSE 6.428 × 10 7 [Tesla] 4.084 × 10 8 [Tesla]
NRMSE 0.0343 0.0022
SI 0.0339 0.002
CC 0.99 0.0002
Table 5. Validation parameters for the second maneuvers.
Table 5. Validation parameters for the second maneuvers.
CCSINRMSERMSE [Tesla]MAE [Tesla]Bias [Tesla]
0.997 0.021 0.022 3.357 × 10 7 4.852 × 10 8 1.844 × 10 7
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Desouky, M.A.A.; Abdelkhalik, O. A Recursive Approach for Magnetic Field Estimation in Spacecraft Magnetic Attitude Control. Aerospace 2022, 9, 833. https://doi.org/10.3390/aerospace9120833

AMA Style

Desouky MAA, Abdelkhalik O. A Recursive Approach for Magnetic Field Estimation in Spacecraft Magnetic Attitude Control. Aerospace. 2022; 9(12):833. https://doi.org/10.3390/aerospace9120833

Chicago/Turabian Style

Desouky, Mohammed A. A., and Ossama Abdelkhalik. 2022. "A Recursive Approach for Magnetic Field Estimation in Spacecraft Magnetic Attitude Control" Aerospace 9, no. 12: 833. https://doi.org/10.3390/aerospace9120833

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

Article Metrics

Back to TopTop