**1. Introduction**

84 Magnetic Sensors – Principles and Applications

In this chapter, we firstly defined local positioning systems and introduced their applications. Then we presented strap-down inertial positioning techniques covering not only the concepts of dead reckoning and inertial position, but also the algorithms, especially for the rotation of reference frames and the tracking of the orientation of a moving object. We also evaluated the performances of inertial sensors, i.e., gyroscopes and accelerometers and pointed out that the increasing integral drift over time is the main problem affecting the accuracy of positioning. As an example among the efforts to solve this problem, we proposed an approach to integrate pedestrian dead reckoning with inertial positioning in precise tracking, where the characteristics of human gaits are utilized. Magnetic sensors have to be incorporated to update the orientation of moving objects and the relevant algorithm is provided. The experimental study was also included to demonstrate the implementation and the result of positioning. Finally, among existing solutions to enhance the accuracy of local positioning, Kalman filter, EKF and their algorithms are introduced and the examples of their applications are also presented. Magnetic sensors are important

Huang, C.; Liao, Z. & Zhao, L. (2010). Synergism of SIN and PDR in Self-contained Pedestrian Tracking. *IEEE Sensor Journal*, Vol. 10, No. 8, pp1349-1359. McBrewster, J.; Miller, F. P. & Vandome,A. F. (2009). *Navigation: Latitude, Longitude, Dead* 

Mezentsev, O.; Lachapelle, G. & Collin, J. (2005). Pedestrian Dead Reckoning – A Solution to Navigation in GPS Signal Degraded Areas. *Geomatica*, Vol. 59, No.2, pp. 175-182.

Sarton, G. & George, A. (1959). *History of Science: Hellenistic Science and Culture in the Last Three Centuries B.C*. New York: The Norton Library, Norton & Company Inc.. Shen, Z.; Georgy, J.; Korenberg, M. J. & Noureldin, A. (2011). Low Cost Two Dimension

Stirling, R. & Fyfe, K. (2005). Evaluation of a New Method of Heading Estimation for

Thiessen, F. J. & Dales, D. N. (1983). *Automotive Steering, Suspension and Braking Systems,* 

Woodman, O. & Harle, R. (2008). Pedestrian Localisation for Indoor Environments.

Zhao, H. & Wang, Z. (2011). Motion Measurement Using Inertial Sensors, Ultrasonic

Rose, J. & Gamble, J. (1994). *Human Walking*, 2nd Ed. Williams & Wilkins.

vol.58, pp. 31-45, The Royal Institute of Navigation.

*Reckoning, Pilotage, Celestial Navigation, Marine Chronometer, Sextant, Inertial Navigation System, Radio Navigation, Satellite System, Passage Planning*. Alphascript

Navigation Using an Augmented Kalman Filter/Fast Orthogonal Search Module for the Integration of Reduced Inertial Sensor System and Global Positioning System. *Transportation Research. Part C, Emerging Technologies*, vol. 19, no. 6,

Pedestrian Dead Reckoning Using Shoe Mounted Sensors. *The Journal of Navigation*,

*Proceedings of the Tenth International Conference on Ubiquitous Computing (UbiComp* 

Sensors, and Magnetometers with Extended Kalman Filter for Data Fusion, *IEEE* 

resources of data to be fused through Kalman filtering.

**7. Summary** 

**8. References** 

Publishing.

pp.1111-1132.

Reston Pub. Co.

*08), Seoul, Korea*, ACM, Sep 2008.

*Sensors Journal*, vol. pp, no. 99, pp. 1-8.

These days, nano (1 kg – 10 kg ) - and micro (10 kg – 100 kg) – satellites, which are smaller than conventional large satellite, provide space access to broader range of satellite developers and attract interests as an application of the space developments because of shorter development period at smaller cost. Several new nano- and micro-satellite missions are proposed with sophisticated objectives such as remote sensing and observation of astronomical objects. In these advanced missions, some nano- and micro-satellites must meet strict attitude requirements for obtaining scientific data or high resolution Earth images. Example of these small satellites are nano remote sensing satellite PRISM, which should be stabilized to 0.7 deg/s (Inamori et al, 2011(a)), and nano astronomy satellite "Nano-JASMINE", which should be stabilized to 1 arcsec (Inamori et al, 2011(b)). Most of these small satellites have the strict constraint of power consumption, space, and weight. Therefore, magnetometers which are lightweight, reliable, and low power consumption sensors are used in the most of these small satellite missions as a sensor for an attitude determination system. In addition, most of these satellites use magnetometers for the attitude control systems with magnetic actuators to calculate required output torque. Furthermore, in some nano- and micro-satellite missions, a magnetic moment is estimated using magnetometers to compensate the magnetic moment and magnetic disturbance. In these small satellite missions, magnetometers play a more important role than conventional large satellites to achieve the attitude control. Although the magnetometers are useful for nano- and micro-satellite attitude control systems, these sensors which are not calibrated are not suitable for an accurate attitude control because of the measurement noises which are caused from magnetized objects and current loops in a satellite. For a precise attitude estimation, many satellites use heavier and higher power consumption sensor such as star truckers and gyro sensors, which are difficult to be assembled to some small satellites. To achieve the accurate attitude control in the small satellite missions, the magnetometers should be calibrated precisely for the accurate attitude control system. This chapter will present what is the requirement for magnetometers in the nano- and micro-satellite missions, how these magnetometers are used in these small satellite missions.

### **2. Magnetic sensors in nano- and micro-satellite missions**

In many nano- and micro-satellite missions, magnetometers are indispensable for attitude control systems and assembled to most of these satellites. In many cases, these small

Application of Magnetic Sensors to Nano- and Micro-Satellite Attitude Control Systems 87

MTQs are composed of electromagnetic coils, which cause a magnetic dipole moment, interfering with the geomagnetic field, inducing torque for attitude control. The actuator generates torque only in the direction perpendicular to the geomagnetic field. Therefore, the magnetic torquer is not useful for precise attitude control. Most satellites use this actuator for coarse attitude control in an initial phase as a reliable actuator with low power consumption.

In this attitude control system using MTQs, the satellites cannot control torque directly, but make use of the magnetic moment to generate torque. Therefore the satellite needs the geomagnetic field information to be able to output the required torque with MTQs. The magnetic moment which should be generated by the MTQs is calculated with measurements performed by magnetometers. A famous attitude control method using a magnetometer is the Bdot method, in which a satellite can stabilize attitude using only a magnetometer in an initial phase when it is difficult to estimate the attitude using sensors after the releasing from a rocket. In accordance with the Bdot method, the magnetic moment of a MTQ is

( )

**k k -1**

**k**

**k**

**B -B M K** (3)

(4)

*ref* is

*<sup>t</sup>*

where *KP* is the control gain, *Bk* is the magnetic field vector obtained by a magnetometer at time step k, and *t* is the step time. Another famous method is the Cross product control method. In this method, an output magnetic moment from a MTQ is computed as follows:

**<sup>B</sup> M = K (T × ) <sup>|</sup> <sup>B</sup> <sup>|</sup>**

where *Kc* is the control gain for the Cross product method, *B* is the magnetic field vector obtained by a magnetometer, and *Tc* is the torque requirement calculated by the onboard computer. The method for calculating *Tc* depends on the objective of the attitude control.

*<sup>t</sup>*

the target angular velocity. In the Bdot method, the satellite can control angular velocity only to zero and cannot control attitude, but the satellite can stabilize attitude using only a magnetometer. In contrast, using the Cross product method, the satellite can control angular velocity to an arbitrary rate and can also control the direction of the attitude. However, in this case, the satellite requires not only a magnetometer, but also other attitude sensors for the attitude control system. Hence, the Bdot method is useful for attitude stabilization in the phase following ejection from a launcher, when the satellite cannot use many attitude sensors, while

Several attitude disturbances are considered for an attitude control system of a nano- or microsatellite in LEO: magnetic disturbance; air pressure disturbance; solar disturbance; and

( )( )

 **k k -1**

**<sup>ω</sup> -<sup>ω</sup> T K <sup>ω</sup> -<sup>ω</sup> <sup>K</sup>** (5)

*k* is an estimated angular velocity at time step k, and

**k p**

**k cc**

For an attitude stabilization with PD controller, *Tc* can be calculated as follows:

**c p k ref d**

the Cross product method is useful for coarse attitude control after this initial phase.

**2.3 Residual magnetic moment estimation using magnetometers** 

The actuator is also useful for unloading reaction wheels (Camillo and Markley, 1980).

controlled as follows in the PRISM mission.

where *Kp* , *Kd* are control gains,

satellites use magnetometers to satisfy the following three requirements: 1) attitude determination using magnetometers, 2) attitude control using magnetic torquers, and 3) estimation of the satellite residual magnetic moment. The magnetometers in most preceding missions featuring large to small sized satellites had the first two requirements. The third requirement is for precise attitude control of the nano- and micro-satellites. In nano- and micro-satellite missions, the magnetic moment, which causes magnetic attitude disturbance, should be compensated to achieve precise attitude control, because the magnitude of magnetic attitude disturbance is lager than the other disturbances in these missions. This chapter presents each requirement of magnetometers in nano- and micro-satellite missions and the methods to achieve these requirements.

### **2.1 Attitude determination using magnetometers**

Magnetometers are generally used for many conventional Low Earth Orbit (LEO) satellite missions for the attitude determination system. For the attitude determination system, the satellites use not only a magnetometer, but also a sun or earth sensor, which can sense the direction of the respective celestial bodies, because satellites cannot get three-axis attitude information with only a three-axis magnetometer. The transformation from a satellite body frame to the reference frame using direction cosine matrix should satisfy the following equation:

$$\mathbf{C\_{bi}}\mathbf{V\_{k}} = \mathbf{W\_{k}} \quad \text{ ( $k = 1, \dots, n$ )}\tag{1}$$

where*Vk* is a set of reference unit vectors, which point in the direction of the geomagnetic field, the Sun, and the Earth in the reference coordinate system. These directions are generally calculated with an onboard model such as the International Geomagnetic Reference Field (IGRF) model. *Wk* is the observation unit vector, which points in the direction observed by the satellite sensors in the body coordinate system. The problem of estimating the attitude from more than two sets of the attitude sensors is referred to as the Wahba's problem (Wahba, 1966). Wahba proposes the following loss function:

$$\text{LL}(\mathbf{C}\_{\text{bi}}) = \frac{1}{2} \sum\_{k}^{n} a\_{i} \mid \mathbf{W}\_{\text{k}} \cdot \mathbf{C}\_{\text{bi}} \mathbf{V}\_{\text{k}} \mid \tag{2}$$

where *<sup>k</sup> a* are positive values, which define the weight of the sensor information. The problem can be solved with the TRIAD or the QUEST algorithm (Shuster & Oh, 1981) in many satellite missions. The estimated attitude *Cbi* is used for attitude control of a satellite. PRISM and Nano-JASMINE use these methods with a magnetometer and sun sensors for attitude determination. Because it is difficult to remove the effect of the bias noise caused by the residual magnetic moment of the satellite, the satellite generally uses magnetometers for coarse attitude determination.

### **2.2 Attitude control using magnetic torquers and magnetometers**

Magnetic torquers (MTQ) are useful actuators for nano- and micro-satellite attitude control because they are small, lightweight, and low cost actuators with low power consumption.

satellites use magnetometers to satisfy the following three requirements: 1) attitude determination using magnetometers, 2) attitude control using magnetic torquers, and 3) estimation of the satellite residual magnetic moment. The magnetometers in most preceding missions featuring large to small sized satellites had the first two requirements. The third requirement is for precise attitude control of the nano- and micro-satellites. In nano- and micro-satellite missions, the magnetic moment, which causes magnetic attitude disturbance, should be compensated to achieve precise attitude control, because the magnitude of magnetic attitude disturbance is lager than the other disturbances in these missions. This chapter presents each requirement of magnetometers in nano- and micro-satellite missions

Magnetometers are generally used for many conventional Low Earth Orbit (LEO) satellite missions for the attitude determination system. For the attitude determination system, the satellites use not only a magnetometer, but also a sun or earth sensor, which can sense the direction of the respective celestial bodies, because satellites cannot get three-axis attitude information with only a three-axis magnetometer. The transformation from a satellite body frame to the reference frame using direction cosine matrix should satisfy the

where*Vk* is a set of reference unit vectors, which point in the direction of the geomagnetic field, the Sun, and the Earth in the reference coordinate system. These directions are generally calculated with an onboard model such as the International Geomagnetic Reference Field (IGRF) model. *Wk* is the observation unit vector, which points in the direction observed by the satellite sensors in the body coordinate system. The problem of estimating the attitude from more than two sets of the attitude sensors is referred to as the

<sup>1</sup> | | <sup>2</sup>

Wahba's problem (Wahba, 1966). Wahba proposes the following loss function:

**2.2 Attitude control using magnetic torquers and magnetometers** 

*n*

*i k <sup>a</sup>* **L(C ) W - C V bi k bi**

where *<sup>k</sup> a* are positive values, which define the weight of the sensor information. The problem can be solved with the TRIAD or the QUEST algorithm (Shuster & Oh, 1981) in many satellite missions. The estimated attitude *Cbi* is used for attitude control of a satellite. PRISM and Nano-JASMINE use these methods with a magnetometer and sun sensors for attitude determination. Because it is difficult to remove the effect of the bias noise caused by the residual magnetic moment of the satellite, the satellite generally uses magnetometers for

Magnetic torquers (MTQ) are useful actuators for nano- and micro-satellite attitude control because they are small, lightweight, and low cost actuators with low power consumption.

**C V =W bi k k** ( 1,....., ) *k n* (1)

k

(2)

and the methods to achieve these requirements.

following equation:

coarse attitude determination.

**2.1 Attitude determination using magnetometers** 

MTQs are composed of electromagnetic coils, which cause a magnetic dipole moment, interfering with the geomagnetic field, inducing torque for attitude control. The actuator generates torque only in the direction perpendicular to the geomagnetic field. Therefore, the magnetic torquer is not useful for precise attitude control. Most satellites use this actuator for coarse attitude control in an initial phase as a reliable actuator with low power consumption. The actuator is also useful for unloading reaction wheels (Camillo and Markley, 1980).

In this attitude control system using MTQs, the satellites cannot control torque directly, but make use of the magnetic moment to generate torque. Therefore the satellite needs the geomagnetic field information to be able to output the required torque with MTQs. The magnetic moment which should be generated by the MTQs is calculated with measurements performed by magnetometers. A famous attitude control method using a magnetometer is the Bdot method, in which a satellite can stabilize attitude using only a magnetometer in an initial phase when it is difficult to estimate the attitude using sensors after the releasing from a rocket. In accordance with the Bdot method, the magnetic moment of a MTQ is controlled as follows in the PRISM mission.

$$\mathbf{M}\_{\mathbf{k}} = \mathbf{K}\_{\mathbf{p}} (\frac{\mathbf{B}\_{\mathbf{k}} \cdot \mathbf{B}\_{\mathbf{k}-1}}{\Delta t}) \tag{3}$$

where *KP* is the control gain, *Bk* is the magnetic field vector obtained by a magnetometer at time step k, and *t* is the step time. Another famous method is the Cross product control method. In this method, an output magnetic moment from a MTQ is computed as follows:

$$\mathbf{M}\_{\mathbf{k}} = \mathbf{K}\_c(\mathbf{T}\_c \times \frac{\mathbf{B}\_{\mathbf{k}}}{|\mathbf{B}\_{\mathbf{k}}|}) \tag{4}$$

where *Kc* is the control gain for the Cross product method, *B* is the magnetic field vector obtained by a magnetometer, and *Tc* is the torque requirement calculated by the onboard computer. The method for calculating *Tc* depends on the objective of the attitude control. For an attitude stabilization with PD controller, *Tc* can be calculated as follows:

$$\mathbf{T\_c = K\_p (\mathbf{oo\_k - \mathbf{oo\_{ref}}}) + K\_d (\frac{\mathbf{oo\_k - \mathbf{oo\_{k-1}}}}{\Delta t})} \tag{5}$$

where *Kp* , *Kd* are control gains, *k* is an estimated angular velocity at time step k, and *ref* is the target angular velocity. In the Bdot method, the satellite can control angular velocity only to zero and cannot control attitude, but the satellite can stabilize attitude using only a magnetometer. In contrast, using the Cross product method, the satellite can control angular velocity to an arbitrary rate and can also control the direction of the attitude. However, in this case, the satellite requires not only a magnetometer, but also other attitude sensors for the attitude control system. Hence, the Bdot method is useful for attitude stabilization in the phase following ejection from a launcher, when the satellite cannot use many attitude sensors, while the Cross product method is useful for coarse attitude control after this initial phase.

#### **2.3 Residual magnetic moment estimation using magnetometers**

Several attitude disturbances are considered for an attitude control system of a nano- or microsatellite in LEO: magnetic disturbance; air pressure disturbance; solar disturbance; and

Application of Magnetic Sensors to Nano- and Micro-Satellite Attitude Control Systems 89

**x =**

The linearized equations are expressed as follows:

which can be arranged in matrix form as

where the state vector is defined as

Matrix A and H can be expressed as follows:

where the skew-symmetric matrix [ ] *a* is defined as follows,

**A**

for the state can be expressed as follows:

where, *<sup>k</sup>* and *k* can be expressed as follows:

 **ω**

(8)

**M**

<sup>111</sup> (,,) 

> **Δω**

**ΔM**

**-1 -1 ref ref I ([(Iω + h)×] - [ω ×]I) -I [B×]**

0

0

*a a*

*y x*

*a a* 

The extended Kalman filter can be computed using the lineralized model mentioned above. In the following text, the '-' and '+' superscripts on *x*ˆ and P refer to pre-updated and postupdated values, respectively. The over bar indicates an estimate. The time update equation

ˆ ˆ **- -**

*z x*

**0 diag( )**

0

*z y*

*a a*

**Δx =**

**-1 -1 Δω = I ([(Iωref + h)×] - [ωref ×]I)Δω - I ([B×]ΔM)** (9)

**ΔM dia g ΔM** (10)

**Δx=A Δx** (11)

**Δz=HΔx** (12)

*111 - ,- , τττ*

**H= E O** (15)

**[a×]** (16)

**k k -1 x = f(x )** (17)

**-T T P =k k -1 k -1 k -1 k -1 k -1 k -1 Φ P Φ + Γ Q Γ** (18)

(13)

(14)

gravity gradient disturbance. Although, for larger satellites, the effect of the magnetic disturbance is smaller and is therefore not considered in those satellite missions, the magnetic disturbance is larger than the other attitude disturbances for LEO nano- and micro-satellite missions. This is because of the relatively large magnetic moment in satellites with a small moment of inertia and because of the large magnitude of the geomagnetic field in LEO (Inamori et al, 2011(c)). In order to satisfy the strict attitude requirements for LEO nano- and micro-satellite missions, the effect of the magnetic disturbance should be mitigated to achieve a precise attitude control. Because the magnetic disturbance has only a small effect on larger satellites and is not considered in those missions, magnetometers are not used for magnetic compensation. Thus, the magnetic compensation is the new requirement for a magnetometer to achieve precise attitude stabilization for nano- and micro-satellites.

The magnetic disturbance is caused by the interaction of the geomagnetic field and the residual magnetic moment of a satellite. If a satellite estimates the residual magnetic moment and compensates for the magnetic moment with the steady output of a MTQ, the satellite compensates the effects of the magnetic disturbance.

Fig. 1. Overview of the magnetic moment compensation (Inamori et al, 2011(c)).

Fig.1 shows an overview of the magnetic disturbance compensation. In order to compensate for the magnetic disturbance precisely, a satellite must estimate the residual magnetic moment accurately and must have an accurate actuator to generate a magnetic moment. The satellite can estimate a magnetic moment using an extended Kalman filter with magnetometers and gyro sensors. This section presents an estimation technique for the residual magnetic moment using the extended Kalman filter (Inamori et al, 2011(d)). The model of attitude dynamics can be expressed as follows:

$$\mathbf{I}\bullet\mathbf{=M}\times\mathbf{B}\cdot\mathbf{-}\mathbf{o}\times(\mathbf{I}\bullet+\mathbf{h})\cdot\dot{\mathbf{h}}\tag{6}$$

$$\dot{\mathbf{M}} = \text{diag}(-\frac{1}{\tau}, -\frac{1}{\tau}, -\frac{1}{\tau})\mathbf{M} \tag{7}$$

where *I* is a tensor of inertia of a satellite, h is the angular momentum of reaction wheels, M is the residual magnetic moment of the satellite, is the time constant of the residual magnetic moment, and B is the geomagnetic field vector. The magnetic moment of a satellite is assumed to change over the orbital period, therefore the time constant is set to be the orbital period duration. The state vector of the filter can be expressed as follows:

$$\mathbf{x} = \begin{pmatrix} \mathbf{0} \\ \mathbf{M} \end{pmatrix} \tag{8}$$

The linearized equations are expressed as follows:

$$\mathbf{A}\dot{\mathbf{o}} = \mathbf{I}^{\mathrm{\cdot}} \left( [(\mathrm{I}\mathbf{o}\_{\mathrm{ref}} + \mathbf{h}) \times] \mathbf{-} [\mathbf{o}\_{\mathrm{ref}} \times] \mathbf{I} \right) \mathbf{A}\mathbf{o} \mathbf{o} - \mathbf{I}^{\mathrm{\cdot}} ([\mathbf{B} \times] \boldsymbol{\Delta} \mathbf{M}) \tag{9}$$

$$\mathbf{A}\dot{\mathbf{M}} = \mathbf{diag}(-\frac{1}{\tau}, -\frac{1}{\tau}, -\frac{1}{\tau})\mathbf{A}\mathbf{M} \tag{10}$$

which can be arranged in matrix form as

88 Magnetic Sensors – Principles and Applications

gravity gradient disturbance. Although, for larger satellites, the effect of the magnetic disturbance is smaller and is therefore not considered in those satellite missions, the magnetic disturbance is larger than the other attitude disturbances for LEO nano- and micro-satellite missions. This is because of the relatively large magnetic moment in satellites with a small moment of inertia and because of the large magnitude of the geomagnetic field in LEO (Inamori et al, 2011(c)). In order to satisfy the strict attitude requirements for LEO nano- and micro-satellite missions, the effect of the magnetic disturbance should be mitigated to achieve a precise attitude control. Because the magnetic disturbance has only a small effect on larger satellites and is not considered in those missions, magnetometers are not used for magnetic compensation. Thus, the magnetic compensation is the new requirement for a magnetometer

The magnetic disturbance is caused by the interaction of the geomagnetic field and the residual magnetic moment of a satellite. If a satellite estimates the residual magnetic moment and compensates for the magnetic moment with the steady output of a MTQ, the

Fig. 1. Overview of the magnetic moment compensation (Inamori et al, 2011(c)).

Fig.1 shows an overview of the magnetic disturbance compensation. In order to compensate for the magnetic disturbance precisely, a satellite must estimate the residual magnetic moment accurately and must have an accurate actuator to generate a magnetic moment. The satellite can estimate a magnetic moment using an extended Kalman filter with magnetometers and gyro sensors. This section presents an estimation technique for the residual magnetic moment using the extended Kalman filter (Inamori et al, 2011(d)). The

> <sup>111</sup> *diag*(,,)

where *I* is a tensor of inertia of a satellite, h is the angular momentum of reaction wheels, M

magnetic moment, and B is the geomagnetic field vector. The magnetic moment of a satellite

is assumed to change over the orbital period, therefore the time constant

orbital period duration. The state vector of the filter can be expressed as follows:

**Iω =M×B-ω× (Iω + h) - h** (6)

**Μ M** (7)

is the time constant of the residual

is set to be the

to achieve precise attitude stabilization for nano- and micro-satellites.

satellite compensates the effects of the magnetic disturbance.

model of attitude dynamics can be expressed as follows:

is the residual magnetic moment of the satellite,

$$
\mathbf{A}\dot{\mathbf{x}} = \mathbf{A}\mathbf{A}\mathbf{x} \tag{11}
$$

$$
\Delta \mathbf{z} = \mathbf{H} \Delta \mathbf{x} \tag{12}
$$

where the state vector is defined as

$$
\mathbf{A}\mathbf{x} = \begin{pmatrix} \mathbf{A}\mathbf{o} \\ \mathbf{A}\mathbf{M} \end{pmatrix} \tag{13}
$$

Matrix A and H can be expressed as follows:

$$\mathbf{A} = \begin{pmatrix} \mathbf{I}^{-1}([(\mathbf{I}\mathbf{o}\_{\text{ref}} + \mathbf{h}) \times ] \cdot [\mathbf{o}\_{\text{ref}} \times] \mathbf{I}) & -\mathbf{I}^{-1}[\mathbf{B} \times] \\\\ \mathbf{0} & \text{diag}(-\frac{I}{\tau}, -\frac{I}{\tau}, -\frac{I}{\tau}) \end{pmatrix} \tag{14}$$

$$\mathbf{H} = \begin{pmatrix} \mathbf{E} & \mathbf{O} \end{pmatrix} \tag{15}$$

where the skew-symmetric matrix [ ] *a* is defined as follows,

$$\mathbf{[a^{\times}]} = \begin{pmatrix} 0 & -a\_z & a\_y \\ a\_z & 0 & -a\_x \\ -a\_y & a\_x & 0 \end{pmatrix} \tag{16}$$

The extended Kalman filter can be computed using the lineralized model mentioned above. In the following text, the '-' and '+' superscripts on *x*ˆ and P refer to pre-updated and postupdated values, respectively. The over bar indicates an estimate. The time update equation for the state can be expressed as follows:

$$
\hat{\mathbf{x}}\_{\mathbf{k}}^{-} = \mathbf{f}(\hat{\mathbf{x}}\_{\mathbf{k}\cdot\mathbf{l}}^{-}) \tag{17}
$$

$$\mathbf{P}\_{\mathbf{k}}^{\cdot} = \boldsymbol{\Phi}\_{\mathbf{k}\cdot 1} \mathbf{P}\_{\mathbf{k}\cdot 1} \boldsymbol{\Phi}\_{\mathbf{k}\cdot 1}^{\mathrm{T}} + \boldsymbol{\Gamma}\_{\mathbf{k}\cdot 1} \mathbf{Q}\_{\mathbf{k}\cdot 1} \boldsymbol{\Gamma}\_{\mathbf{k}\cdot 1}^{\mathrm{T}} \tag{18}$$

where, *<sup>k</sup>* and *k* can be expressed as follows:

Application of Magnetic Sensors to Nano- and Micro-Satellite Attitude Control Systems 91

models. From this comparison, the bias error of a magnetic sensor is estimated (Alonso and Shuster, 2002(a), 2002(b)). In the second group, the predicted magnetic field from geomagnetic filed models is transformed to the body coordinate system with attitude information provided by other attitude sensors (Lerner and Shuater, 1981). In the third group, the methods use several magnetometers to estimate the magnetic moment of a satellite, and then estimate the bias of the magnetometers. In addition, each group has two ways for magnetometer calibration, in-orbit estimation using an onboard computer and offline estimation with telemetry data using a computer on the ground. In offline estimations, magnetometers are calibrated using complicated algorithms on the high performance ground station computers. However, the estimation and compensation of the noise error which have non-steady bias is difficult. This is because the required estimated parameters cannot be updated until the next satellite operation. The effect of time variable bias is caused from current loops of satellite devices and solar batteries. Ferromagnetic materials also cause non-steady bias, because the strength of the bias depends on the direction of the geomagnetic field. These non-steady biases are difficult to estimate using offline estimation. On the other hand, in on-line estimation, timevariable noises can be estimated and compensated, because the parameters for the compensation are updated on-line. In this case, high-spec onboard computers are required for the estimation. With the consideration of the satellite requirements and performance of the onboard computer, satellites must choose the optimal method for magnetometer calibration. This section shows examples with offline estimation using a magnetic model which can be categorized to the first group for the PRISM mission in section 3.1 and on-line estimation using star tracker which is categorized to the second group for the Nano-JASMINE mission

This subsection presents an example of magnetometer only, offline bias estimation. Because the bias error is as assumed to be a time constant in this method, time variable bias error which is caused from current loops cannot be estimated. The method also cannot compensate for the effect of magnetic anomalies, which is the difference between the Earth magnetic field model and the actual geomagnetic field. Because the method uses the magnetic field model as a reference for the estimation, the magnetic anomaly is observed as bias noise. Although the method is not useful for compensation of the time-variable bias and magnetic anomaly, the method is useful for bias estimation in an initial phase when the satellite cannot use attitude sensors, because the method does not use any other attitude

In this method, the bias and scale factor errors of magnetometers are estimated using a least squared method. The norm of the IGRF vector should be equal to the norm of magnetometer measurement vector. The difference between the norm of the IGRF model and that of magnetometer shows the bias and the scale factor errors. Using this disagreement information, the bias and the scale factor errors of the magnetometer are estimated by the least squared method on the ground station (Inamori et al, 2011(b)). Cost function J for the

, ( ,,, )

*J x y z t* **m m k m mk (s b ) IGRF( ) B(s ,b )** (24)

2

in section 3.2.

sensors.

**3.1 Magnetometer only off-line estimation** 

least squared method is written as follows,

0

*k*

*N*

$$\mathbf{Q}\_{\mathbf{k}} = \mathbf{E} + \mathbf{A}\_{\mathbf{k}} \Delta \mathbf{t} \tag{19}$$

$$
\Gamma\_{\mathbf{k}} = \mathbf{B}\_{\mathbf{k}} \boldsymbol{\Lambda} \mathbf{t} \tag{20}
$$

The measurement update equations are calculated as follows:

$$\mathbf{K}\_{\mathbf{k}} = \mathbf{P}\_{\mathbf{k}}^{\cdot \cdot} \mathbf{H}\_{\mathbf{k}}^{\mathrm{T}} \mathbf{R}\_{\mathbf{k}}^{\cdot \cdot \mathrm{I}} \tag{21}$$

$$
\hat{\mathbf{x}}\_{\mathbf{k}} = \hat{\mathbf{x}}\_{\mathbf{k}}^{\cdot} + \mathbf{K}\_{\mathbf{k}} \left( \mathbf{z}\_{\mathbf{k}} \, \mathrm{-H}\_{\mathbf{k}} \hat{\mathbf{x}}\_{\mathbf{k}}^{\cdot} \right) \tag{22}
$$

$$\mathbf{P\_k} = \mathbf{P\_k^\*} \cdot \mathbf{P\_k^\*} \mathbf{H\_k^T} (\mathbf{H\_k P\_k^\*} \mathbf{H\_k^T} + \mathbf{R\_k})^{-1} \mathbf{H\_k P\_k^\*} \tag{23}$$

The estimated value of residual magnetic moment is applied to the magnetic compensation in orbit. The method is used for PRISM and Nano-JASMINE, which will be presented in section 4.1 and section 4.2.

### **3. Precise estimation of the geomagnetic field in nano- and micro-satellite missions**

As shown in section 2, a magnetometer is used for attitude estimation, attitude control using electromagnetic actuation, magnetic moment estimation in nano- and micro-satellite missions. In these applications of the magnetometers, the effect of the bias error, which is generally caused by surrounding magnetized objects, electrical current loops, and ferromagnetic materials of a satellite, should be cancelled to get accurate magnetic field information. For the precise estimation of the geomagnetic field, calibration of magnetometers is indispensable.

The magnetometer calibration for nano- and micro-satellite missions is not easy on the ground because of two reasons. Firstly, the magnetic sensor should be calibrated with a flight model configuration and flight modes to evaluate the effect of magnetized objects and current loops of devices in a satellite. The calibration of a magnetic sensor assembled in a satellite requires a large facility which has a large magnetic shield to cancel the effect of magnetic field disturbance from devices external to the satellite. Furthermore, the facility should have a device such as a turntable to control the direction between the direction of uniform magnetic field and sensitivity axis of the magnetometer. Such experiments result in a higher cost for the development of the satellite. Secondly, the properties of magnetized objects and current loops of satellite devices can change in orbit after the launch. Some satellite missions reported a change of the residual magnetic moment of the satellites (Sandau et al, 2008, Sakai et al, 2008). This effect can cause a change of the bias error in orbit. For these two reasons, the calibration on ground is not suitable for precise magnetometer calibration. This section will focus on the low-cost, in-orbit calibration for nano- and microsatellite development.

For in-orbit calibration, several methods have been proposed. These methods can be categorized into the following three groups. The first group is comprised of magnetometer only calibration without attitude sensors. In this method, the norm of the magnetometer measurement vector is compared to the expected norm calculated by geomagnetic filed models. From this comparison, the bias error of a magnetic sensor is estimated (Alonso and Shuster, 2002(a), 2002(b)). In the second group, the predicted magnetic field from geomagnetic filed models is transformed to the body coordinate system with attitude information provided by other attitude sensors (Lerner and Shuater, 1981). In the third group, the methods use several magnetometers to estimate the magnetic moment of a satellite, and then estimate the bias of the magnetometers. In addition, each group has two ways for magnetometer calibration, in-orbit estimation using an onboard computer and offline estimation with telemetry data using a computer on the ground. In offline estimations, magnetometers are calibrated using complicated algorithms on the high performance ground station computers. However, the estimation and compensation of the noise error which have non-steady bias is difficult. This is because the required estimated parameters cannot be updated until the next satellite operation. The effect of time variable bias is caused from current loops of satellite devices and solar batteries. Ferromagnetic materials also cause non-steady bias, because the strength of the bias depends on the direction of the geomagnetic field. These non-steady biases are difficult to estimate using offline estimation. On the other hand, in on-line estimation, timevariable noises can be estimated and compensated, because the parameters for the compensation are updated on-line. In this case, high-spec onboard computers are required for the estimation. With the consideration of the satellite requirements and performance of the onboard computer, satellites must choose the optimal method for magnetometer calibration. This section shows examples with offline estimation using a magnetic model which can be categorized to the first group for the PRISM mission in section 3.1 and on-line estimation using star tracker which is categorized to the second group for the Nano-JASMINE mission in section 3.2.

### **3.1 Magnetometer only off-line estimation**

90 Magnetic Sensors – Principles and Applications

ˆ ˆ ˆ **- -**

The estimated value of residual magnetic moment is applied to the magnetic compensation in orbit. The method is used for PRISM and Nano-JASMINE, which will be presented in

**3. Precise estimation of the geomagnetic field in nano- and micro-satellite** 

As shown in section 2, a magnetometer is used for attitude estimation, attitude control using electromagnetic actuation, magnetic moment estimation in nano- and micro-satellite missions. In these applications of the magnetometers, the effect of the bias error, which is generally caused by surrounding magnetized objects, electrical current loops, and ferromagnetic materials of a satellite, should be cancelled to get accurate magnetic field information. For the precise estimation of the geomagnetic field, calibration of

The magnetometer calibration for nano- and micro-satellite missions is not easy on the ground because of two reasons. Firstly, the magnetic sensor should be calibrated with a flight model configuration and flight modes to evaluate the effect of magnetized objects and current loops of devices in a satellite. The calibration of a magnetic sensor assembled in a satellite requires a large facility which has a large magnetic shield to cancel the effect of magnetic field disturbance from devices external to the satellite. Furthermore, the facility should have a device such as a turntable to control the direction between the direction of uniform magnetic field and sensitivity axis of the magnetometer. Such experiments result in a higher cost for the development of the satellite. Secondly, the properties of magnetized objects and current loops of satellite devices can change in orbit after the launch. Some satellite missions reported a change of the residual magnetic moment of the satellites (Sandau et al, 2008, Sakai et al, 2008). This effect can cause a change of the bias error in orbit. For these two reasons, the calibration on ground is not suitable for precise magnetometer calibration. This section will focus on the low-cost, in-orbit calibration for nano- and micro-

For in-orbit calibration, several methods have been proposed. These methods can be categorized into the following three groups. The first group is comprised of magnetometer only calibration without attitude sensors. In this method, the norm of the magnetometer measurement vector is compared to the expected norm calculated by geomagnetic filed

The measurement update equations are calculated as follows:

section 4.1 and section 4.2.

magnetometers is indispensable.

satellite development.

**missions** 

**Φk k =E+A Δt** (19)

**Γk k = B Δt** (20)

**- T -1 K =PH R k kkk** (21)

**k k k k kk x = x + K (z - H x )** (22)

**- - T - T -1 - P = P - P H (H P H + R ) H P k k k k kk k k kk** (23)

This subsection presents an example of magnetometer only, offline bias estimation. Because the bias error is as assumed to be a time constant in this method, time variable bias error which is caused from current loops cannot be estimated. The method also cannot compensate for the effect of magnetic anomalies, which is the difference between the Earth magnetic field model and the actual geomagnetic field. Because the method uses the magnetic field model as a reference for the estimation, the magnetic anomaly is observed as bias noise. Although the method is not useful for compensation of the time-variable bias and magnetic anomaly, the method is useful for bias estimation in an initial phase when the satellite cannot use attitude sensors, because the method does not use any other attitude sensors.

In this method, the bias and scale factor errors of magnetometers are estimated using a least squared method. The norm of the IGRF vector should be equal to the norm of magnetometer measurement vector. The difference between the norm of the IGRF model and that of magnetometer shows the bias and the scale factor errors. Using this disagreement information, the bias and the scale factor errors of the magnetometer are estimated by the least squared method on the ground station (Inamori et al, 2011(b)). Cost function J for the least squared method is written as follows,

$$J(\mathbf{s\_m}, \mathbf{b\_m}) = \sum\_{k=0}^{N} \left( \left| \mathbf{IGRF}(\mathbf{x}, \mathbf{y}, z, t)\_{\mathbf{k}} \right| - \left| \mathbf{B(s\_m, \mathbf{b\_m})\_{\mathbf{k}}} \right| \right)^2 \tag{24}$$

Application of Magnetic Sensors to Nano- and Micro-Satellite Attitude Control Systems 93

These calibrated magnetometer and gyro sensor measurements are used for attitude estimation and magnetic attitude control system using a MTQ in PRISM mission. The result

This section presents an example of magnetometer on-line bias estimation using an attitude sensor. For precise attitude control in nano- and micro-satellite missions, a magnetic moment should be estimated and compensated for in order to cancel the effect of the magnetic disturbance. For the accurate magnetic moment estimation, the effect of magnetometer bias should be compensated for. Fig.2. shows simulation results of the magnetic moment estimation of Nano-JAMINE using magnetometer measurement with bias errors. In Nano-JASMINE mission, the magnetic moment should be estimated and compensated for to an accuracy of 1×10-4Am2. Fig.2. shows that the bias error should be compensated for to an accuracy of 50 nT. In order to achieve accurate geomagnetic field measurements, some satellites used a magnetometer installed on the tip of a boom in order to remove the effect of the residual magnetic moment of the satellite; however the booms which generally have flexible structure cause attitude disturbances and attitude instability; therefore the booms are not useful for the satellites which aim for precise attitude control. In order to estimate bias error to this accuracy, the effect of time-variable bias and magnetic anomaly should be considered. For this reason, Nano-JASMINE uses on-line bias estimation method using an attitude sensor. Because the method uses the accurate attitude sensor for the calibration, the method is not useful for calibration achieved for attitude determination

of the in-orbit calibration in PRISM will be presented in section 4.1.

in the initial phase when accurate attitude sensors are not available.

sigma points are computed.

Fig. 2. Simulation result of magnetic moment estimation with magnetometer bias noise.

ˆ () )*<sup>i</sup>* **i k -1** *n* 

**i k -1** ˆ ( ) *n*

In this estimation, an Unscented Kalman Filter (Wan et al, 2000) is introduced to estimate the bias noise of magnetometer accurately (Inamori et al, 2010). Firstly, following sets of

ˆ **0 k -1 χ = x** (30)

**k -1 k -1 χ = x + ( (P + Q )** 1,......... *i n* (31)

**k -1 k -1 i χ = x - ( (P + Q ) )** 1,.........2 *in n* (32)

**3.2 Calibration method (on-line estimation with an attitude sensor)** 

where x, y, and z are the position of a satellite in the reference frame, which can be calculated using two line elements and the SGP4 algorithm. IGRF(・) is a function for the IGRF model. *sm* , *bm* are the scale factor and bias of a magnetometer. Magnetometer measurements are modelled as follows,

$$\mathbf{B}\_{\mathbf{k}} = \mathbf{s}\_{\mathbf{m}} \mathbf{V}\_{\mathbf{m}\mathbf{k}} + \mathbf{b}\_{\mathbf{m}} \tag{25}$$

where B, *sm* , *MV* , and *bm* are the magnetometer measurements, scale factors, the output data of an AD converter, and bias noises, respectively. The objective of the method is to estimate the scale factor *sm* and the bias noise *bm* . These parameters are estimated to minimize the cost function J in equation 24 by the least squared method.

In the PRISM mission, the bias and scale factor errors of a gyro sensor are also estimated using the calibrated magnetometer. The following equations show how to estimate the parameters for the gyro sensor with the calibrated magnetometer. The relationship between the time derivative of the geomagnetic field vector in the body frame and in the reference frame can be expressed as follows:

$$\mathbf{C\_{bi}}\,\frac{d\mathbf{B\_i}}{dt} = \frac{d\mathbf{B\_b}}{dt} + \mathbf{co} \times \mathbf{B\_b} \tag{26}$$

where *Cbi* is the direction cosine matrix from a reference frame to a body frame, *Bi* and *Bb* are the geomagnetic field vector in the reference frame and the body frame, respectively. *Bi* changes slowly throughout the orbital period (about 6000 s in LEO). The time derivative of the geomagnetic field in the reference frame is treated as a constant value in a step time in this method. Thus, equation 26 can be written as follows:

$$\frac{d\mathbf{B}\_i}{dt} = -\boldsymbol{\alpha} \times \mathbf{B}\_b \tag{27}$$

In this equation, the term *dB dt <sup>i</sup>* / should be equal to the term *Bb* . If there are bias and scale factor errors in magnetometer measurements, *dB dt <sup>i</sup>* / and *Bb* are not equal. In this case, the bias and the scale factor of the gyro are estimated by a least squared method. The cost function J for the gyro calibration is expressed as follows:

$$\begin{split} J(\mathbf{s\_g}, \mathbf{b\_g}) &= \sum\_{k=0}^{N} \left( \frac{dB\_{kx}}{dt} - (B\_{ky}\boldsymbol{\alpha}\_{k\cdot} - B\_{k\cdot}\boldsymbol{\alpha}\_{k\cdot}) \right)^2 + \sum\_{k=0}^{N} \left( \frac{dB\_{ky}}{dt} - (B\_{k\cdot}\boldsymbol{\alpha}\_{k\cdot} - B\_{k\cdot}\boldsymbol{\alpha}\_{k\cdot}) \right)^2 \\ &+ \sum\_{k=0}^{N} \left( \frac{dB\_{k\cdot}}{dt} - (B\_{kx}\boldsymbol{\alpha}\_{k\cdot} - B\_{ky}\boldsymbol{\alpha}\_{k\cdot}) \right)^2 \end{split} \tag{28}$$

where *<sup>k</sup>* can be expressed as follows,

$$\mathbf{u}\mathbf{o}\_{\mathbf{k}} = \mathbf{s}\_{\mathbf{g}}\mathbf{V}\_{\mathbf{g}\mathbf{k}} + \mathbf{b}\_{\mathbf{g}} \tag{29}$$

where *gs* , *<sup>g</sup> b* , V are the scale factor, bias noise, and the voltage of the gyro sensors, respectively. These parameters are estimated for calculating minimized the cost function J.

where x, y, and z are the position of a satellite in the reference frame, which can be calculated using two line elements and the SGP4 algorithm. IGRF(・) is a function for the IGRF model. *sm* , *bm* are the scale factor and bias of a magnetometer. Magnetometer

where B, *sm* , *MV* , and *bm* are the magnetometer measurements, scale factors, the output data of an AD converter, and bias noises, respectively. The objective of the method is to estimate the scale factor *sm* and the bias noise *bm* . These parameters are estimated to

In the PRISM mission, the bias and scale factor errors of a gyro sensor are also estimated using the calibrated magnetometer. The following equations show how to estimate the parameters for the gyro sensor with the calibrated magnetometer. The relationship between the time derivative of the geomagnetic field vector in the body frame and in the reference

where *Cbi* is the direction cosine matrix from a reference frame to a body frame, *Bi* and *Bb* are the geomagnetic field vector in the reference frame and the body frame, respectively. *Bi* changes slowly throughout the orbital period (about 6000 s in LEO). The time derivative of the geomagnetic field in the reference frame is treated as a constant value in a step time in

this case, the bias and the scale factor of the gyro are estimated by a least squared method.

(, ) ( ( )) ( ( ))

where *gs* , *<sup>g</sup> b* , V are the scale factor, bias noise, and the voltage of the gyro sensors, respectively. These parameters are estimated for calculating minimized the cost function J.

 

*kx ky*

*dB dB J B B B B dt dt*

**b**

*ky kz kz ky kz kx kx kz*

*d d dt dt* **<sup>i</sup> <sup>b</sup> bi b**

> *<sup>d</sup> dt* **i**

minimize the cost function J in equation 24 by the least squared method.

this method. Thus, equation 26 can be written as follows:

( ( ))

*dB B B*

*<sup>k</sup>* can be expressed as follows,

*kz*

*dt*

In this equation, the term *dB dt <sup>i</sup>* / should be equal to the term

scale factor errors in magnetometer measurements, *dB dt <sup>i</sup>* / and

The cost function J for the gyro calibration is expressed as follows:

0 0 2

*k k*

*N N*

 

*kx ky ky kx*

**B =s V +b k m mk m** (25)

**<sup>B</sup> <sup>B</sup> C + <sup>ω</sup>×B** (26)

**<sup>B</sup> -ω×B** (27)

2 2

**ω<sup>k</sup> =s V +b g gk <sup>g</sup>** (29)

*Bb* . If there are bias and

 

*Bb* are not equal. In

(28)

measurements are modelled as follows,

frame can be expressed as follows:

0

*k*

where  *N*

**g g s b**

These calibrated magnetometer and gyro sensor measurements are used for attitude estimation and magnetic attitude control system using a MTQ in PRISM mission. The result of the in-orbit calibration in PRISM will be presented in section 4.1.

### **3.2 Calibration method (on-line estimation with an attitude sensor)**

This section presents an example of magnetometer on-line bias estimation using an attitude sensor. For precise attitude control in nano- and micro-satellite missions, a magnetic moment should be estimated and compensated for in order to cancel the effect of the magnetic disturbance. For the accurate magnetic moment estimation, the effect of magnetometer bias should be compensated for. Fig.2. shows simulation results of the magnetic moment estimation of Nano-JAMINE using magnetometer measurement with bias errors. In Nano-JASMINE mission, the magnetic moment should be estimated and compensated for to an accuracy of 1×10-4Am2. Fig.2. shows that the bias error should be compensated for to an accuracy of 50 nT. In order to achieve accurate geomagnetic field measurements, some satellites used a magnetometer installed on the tip of a boom in order to remove the effect of the residual magnetic moment of the satellite; however the booms which generally have flexible structure cause attitude disturbances and attitude instability; therefore the booms are not useful for the satellites which aim for precise attitude control. In order to estimate bias error to this accuracy, the effect of time-variable bias and magnetic anomaly should be considered. For this reason, Nano-JASMINE uses on-line bias estimation method using an attitude sensor. Because the method uses the accurate attitude sensor for the calibration, the method is not useful for calibration achieved for attitude determination in the initial phase when accurate attitude sensors are not available.

Fig. 2. Simulation result of magnetic moment estimation with magnetometer bias noise.

In this estimation, an Unscented Kalman Filter (Wan et al, 2000) is introduced to estimate the bias noise of magnetometer accurately (Inamori et al, 2010). Firstly, following sets of sigma points are computed.

$$\mathbf{y}\_{\mathbf{0}} = \hat{\mathbf{x}}\_{\mathbf{k}\cdot\mathbf{l}} \tag{30}$$

$$\mathbf{y}\_{i} = \hat{\mathbf{x}}\_{\mathbf{k}\cdot\mathbf{l}} + (\sqrt{(n+\kappa)(\mathbf{P}\_{\mathbf{k}\cdot\mathbf{l}} + \mathbf{Q}\_{\mathbf{k}\cdot\mathbf{l}})})\_{i} \quad i = 1, \ldots, n \tag{31}$$

$$\mathbf{y}\_{i} = \hat{\mathbf{x}}\_{\mathbf{k}-1} \mathbf{-} (\sqrt{(n+\kappa)(\mathbf{P}\_{\mathbf{k}-1} + \mathbf{Q}\_{\mathbf{k}-1})})\_{\mathbf{i}} \quad i = n+1, \dots, 2n \tag{32}$$

Application of Magnetic Sensors to Nano- and Micro-Satellite Attitude Control Systems 95

where b and h are the magnetometer bias and magnetic anomaly of the geomagnetic field,

respectively. After the time update, the state vector is updated with sensor measurements.

2

*i W* **-**

<sup>ˆ</sup> *<sup>n</sup>*

**2n**

**i=0**

0

ˆ ˆ *Wi*

ˆ ˆ **k k**

where *<sup>k</sup> y* is the measurement vector. In this filter, measurements can be obtained as

where *Bk* and *Higrf* are the geomagnetic field vector calculated with the state vector or obtained by a magnetic sensor, and geomagnetic field vector calculated with the IGRF model, respectively. the *Cbi* is transformation from a satellite body frame to the reference frame, which is calculated from quaternion. The filter gain is computed by the following

**yy - - T k i,k k i,k k**

*i*

 and *<sup>h</sup>* ,

and its predicted covariance *yy Pk* are calculated

**Y = h( i,k i,k -1 χ )** (42)

**k -1 i,k y Y** (43)

**- - y = h(x )** (45)

**xy vv -1 K = P (P ) k kk** (47)

**vv yy P =P +R kk k** (48)

*W* **xy - - T P= ( <sup>k</sup> i,k k i,k k χ - x )(Y - y )** (49)

**k k kk k x = x + K (y - y )** (50)

ˆ ˆ

**P (Y - y )(Y - y )** (44)

**k k bi k igrf k k y = B = C (q )(H + h ) + b** (46)

respectively. The both values, b and h, are assumed to be change in time constant *<sup>b</sup>*

The predicted observation vector 1 <sup>ˆ</sup> *<sup>k</sup> <sup>y</sup>*

where h(x) is defined as follows:

where the innovation covariance is computed by

The cross correlation matrix is calculated as follows:

2

0

*i*

With the calculated gain in Equation 47, the state vector and covariance matrix are updated with sensor measurement. In this update, the estimated state vector and updated covariance

ˆˆ ˆ **- -**

 *n*

*i*

as follows:

follows:

equation.

are given by

where the matrix *Qk* is the process noise covariance, n is the dimension of the state vector, and is a scaling parameter. The term 1 1 ( )( ) *n PQ k k* is calculated using the Cholesky decomposition method. Note that the matrix dimensions are [2n x n]. In this filter, each sigma points calculated in Equation 30-32 are propagated in every filter computation steps. After the propagation of each sigma points, the results are averaged to obtain state vector and covariance matrix accurately in non linear model. The state vector can be expressed as follows in this estimation filter:

$$\mathbf{x} = \begin{pmatrix} \mathbf{q} \\ \mathbf{b} \\ \mathbf{h} \end{pmatrix} \tag{33}$$

where q is quaternion, b is the bias error of magnetometer measurement, and h is the magnetic anomaly of the geomagnetic field. In each step, the state vector and the covariance matrix of the state vector are propagated with dynamics models in an onboard computer. Time update equation is expressed as follows:

$$\chi\_{i,k} = \mathbf{f}(\chi\_{i,k\cdot 1}) \tag{34}$$

$$\hat{\mathbf{x}}\_{\mathbf{k}\cdot 1}^{\cdot} = \sum\_{i=0}^{2n} W\_i \mathbf{y}\_{i,\mathbf{k}} \tag{35}$$

$$\mathbf{P}\_{\mathbf{k}}^{\cdot} = \sum\_{\mathbf{i}=\mathbf{0}}^{2\mathbf{n}} W\_{i} (\mathbf{y}\_{\mathbf{i},\mathbf{k}} - \hat{\mathbf{x}}\_{\mathbf{k}}^{\cdot}) (\mathbf{y}\_{\mathbf{i},\mathbf{k}} - \hat{\mathbf{x}}\_{\mathbf{k}}^{\cdot})^{\mathbf{T}} \tag{36}$$

where *Wi* is the weight for the sigma points. The weight *Wi* can be expressed as follows in this filter:

$$\mathcal{W}\_0 = \frac{\mathcal{X}}{n + \mathcal{X}} \tag{37}$$

$$\mathcal{W}\_{i} = \frac{\lambda}{\mathbf{2}(n+\lambda)} \quad i = n+1, \dots, \mathbf{2}n \tag{38}$$

The function f(x) is obtained by integration using the following differential equations,

$$\dot{\mathbf{q}} = \frac{1}{2} \begin{pmatrix} \mathbf{-[co\times]} & \mathbf{0} \\ \mathbf{0}^{\mathsf{T}} & \mathbf{0} \end{pmatrix} \mathbf{q} \tag{39}$$

$$\mathbf{b} = \mathbf{diag}(-\frac{1}{\tau\_b}, -\frac{1}{\tau\_b}, -\frac{1}{\tau\_b})\mathbf{b} \tag{40}$$

$$\mathbf{h} = \mathbf{diag}(-\frac{1}{\tau\_h}, -\frac{1}{\tau\_h}, -\frac{1}{\tau\_h})\mathbf{h} \tag{41}$$

where b and h are the magnetometer bias and magnetic anomaly of the geomagnetic field, respectively. The both values, b and h, are assumed to be change in time constant *<sup>b</sup>* and *<sup>h</sup>* , respectively. After the time update, the state vector is updated with sensor measurements. The predicted observation vector 1 <sup>ˆ</sup> *<sup>k</sup> <sup>y</sup>* and its predicted covariance *yy Pk* are calculated as follows:

$$\mathbf{Y}\_{i,\mathbf{k}} = \mathbf{h}(\mathbf{y}\_{i,\mathbf{k}\cdot\mathbf{l}}) \tag{42}$$

$$\hat{\mathbf{y}}\_{\mathbf{k}\cdot\mathbf{l}}^{\*} = \sum\_{i=0}^{2n} W\_i \mathbf{Y}\_{i,\mathbf{k}} \tag{43}$$

$$\mathbf{P}\_{\mathbf{k}}^{\rm{yy}} = \sum\_{\mathbf{i}=\mathbf{0}}^{2\mathbf{n}} W\_{i} (\mathbf{Y}\_{\mathbf{i},\mathbf{k}} \cdot \hat{\mathbf{y}}\_{\mathbf{k}}^{\rm{\cdot}}) (\mathbf{Y}\_{\mathbf{i},\mathbf{k}} \cdot \hat{\mathbf{y}}\_{\mathbf{k}}^{\rm{\cdot}})^{\rm{T}} \tag{44}$$

where h(x) is defined as follows:

94 Magnetic Sensors – Principles and Applications

where the matrix *Qk* is the process noise covariance, n is the dimension of the state vector,

decomposition method. Note that the matrix dimensions are [2n x n]. In this filter, each sigma points calculated in Equation 30-32 are propagated in every filter computation steps. After the propagation of each sigma points, the results are averaged to obtain state vector and covariance matrix accurately in non linear model. The state vector can be expressed as

> 

**q**

**h**

where q is quaternion, b is the bias error of magnetometer measurement, and h is the magnetic anomaly of the geomagnetic field. In each step, the state vector and the covariance matrix of the state vector are propagated with dynamics models in an onboard computer.

2

*i W* **-**

ˆ ˆ *Wi*

where *Wi* is the weight for the sigma points. The weight *Wi* can be expressed as follows in

*n* 

<sup>ˆ</sup> *<sup>n</sup>*

*W*<sup>0</sup>

The function f(x) is obtained by integration using the following differential equations,

 **<sup>T</sup> -[ω×] ω q q**

> 11 1 (, ,) *b b b*

> <sup>111</sup> (,,) *hhh*

2( )

1 2

**b = diag**

**h = dia**

*n* 

*Wi*

**2n**

**i=0**

0

**- - -T k i,k k i,k k**

*i*

**x b**

*k k* is calculated using the Cholesky

(33)

**i,k i,k -1 χ = f(χ )** (34)

**k -1 i,k x χ** (35)

(37)

*in n* 1,.........2 (38)

**<sup>ω</sup> <sup>0</sup>** (39)

**b** (40)

**g h** (41)

**P (χ - x )(χ -x )** (36)

is a scaling parameter. The term 1 1 ( )( ) *n PQ*

and 

this filter:

follows in this estimation filter:

Time update equation is expressed as follows:

$$
\hat{\mathbf{y}}\_{\mu}^{\*} = \mathbf{h}(\hat{\mathbf{x}}\_{\mu}^{\*}) \tag{45}
$$

where *<sup>k</sup> y* is the measurement vector. In this filter, measurements can be obtained as follows:

$$\mathbf{y\_k} = \mathbf{B\_k} = \mathbf{C\_{bi}}(\mathbf{q\_k})(\mathbf{H\_{igrf}} + \mathbf{h\_k}) + \mathbf{b\_k} \tag{46}$$

where *Bk* and *Higrf* are the geomagnetic field vector calculated with the state vector or obtained by a magnetic sensor, and geomagnetic field vector calculated with the IGRF model, respectively. the *Cbi* is transformation from a satellite body frame to the reference frame, which is calculated from quaternion. The filter gain is computed by the following equation.

$$\mathbf{K}\_{\mathbf{k}} = \mathbf{P}\_{\mathbf{k}}^{\text{xy}} (\mathbf{P}\_{\mathbf{k}}^{\text{xy}})^{\text{-1}} \tag{47}$$

where the innovation covariance is computed by

$$\mathbf{P\_k^{yy}} = \mathbf{P\_k^{yy}} + \mathbf{R\_k} \tag{48}$$

The cross correlation matrix is calculated as follows:

$$\mathbf{P\_{k}^{xy}} = \sum\_{i=0}^{2n} W\_{i} (\mathbf{y\_{i,k}} - \hat{\mathbf{x\_{k}}}^{\cdot}) (\mathbf{Y\_{i,k}} - \hat{\mathbf{y\_{k}}}^{\cdot})^{\mathrm{T}} \tag{49}$$

With the calculated gain in Equation 47, the state vector and covariance matrix are updated with sensor measurement. In this update, the estimated state vector and updated covariance are given by

$$
\hat{\mathbf{x}}\_{\mathbf{k}} = \hat{\mathbf{x}}\_{\mathbf{k}}^{\cdot \cdot} + \mathbf{K}\_{\mathbf{k}} \left( \mathbf{y}\_{\mathbf{k}} \cdot \hat{\mathbf{y}}\_{\mathbf{k}}^{\cdot \cdot} \right) \tag{50}
$$

Application of Magnetic Sensors to Nano- and Micro-Satellite Attitude Control Systems 97

Orbit Sun-Synchronous LEO

Mission Remote sensing

Up AFSK: 1200 [bps]

Sensor Magnetometer (AMI204, three axis)

Actuator Magnetic torquer (in-house, , three axis)

Detector IBIS-5A, CMOS 1.3 M Pixel

requirement 0.7 [deg/s]

Diameter 90 [mm]

Altitude 660 [km] Local time 13:00

H8-3048F (Renesas Technology) PIC-16F877 (Microchip)

GMSK: 9600 [bps]

Gyro sensor (tukasa21, three axis) Sun sensor (in-house, two axis)×5

Satellite Size 192×192×400 [mm3 ] (Boom folded) Total mass 35 [kg]

CDH CPU SH7145F (Renesas Technology)

Communication Down AFSK: 1200 [bps]

Optics Architecture Refractive

(a) (b)

Fig. 3. Overview of the remote sensing nano-satellite "PRISM" (a) with boom folded, (b)

of the magnetometer and gyro sensor calibration in orbit. In Fig.4, the magnetometer measurements before the calibration had a bias error. In PRISM project, it was difficult to calibrate assembled magnetometer with a ground facility, thus bias and scale factor were

Focal length 500 [mm]

AOCS Attitude rate

FOV

with boom extended.

Table 1. Specification of the PRISM satellite.

$$\mathbf{P\_k} = \mathbf{P\_k^{\cdot \cdot}} + \mathbf{K\_k} \mathbf{P\_k^{\text{rev}}} \mathbf{K\_k^{\cdot \cdot}} \tag{51}$$

where *<sup>k</sup> <sup>y</sup>* and ˆ *<sup>k</sup> <sup>y</sup>* are obtained by a magnetometer measurement and the calculation using the state vector with Equation 46.

These calibrated magnetometer measurements are applied to magnetic moment estimation in the Nano-JASMINE mission. The result of the calibration in Nano-JASMINE will be presented in section 4.2.
