# Opportunistic In-Flight INS Alignment Using LEO Satellites and a Rotatory IMU Platform
## 2 Positioning Architecture
### Master INS Kinematics  
We assumed that the attitude, position, and velocity error vectors, \(\delta\Omega\), \(\delta p\), \(\delta v\), as well as the gyroscope bias vector, \(b_{g}\), and the accelerometer bias vector, \(b_{a}\), are estimated from the alignment system. First, the IMU data were calibrated using the estimated biases. Equations (1) and (2) show the IMU data after performing the correction. \(\omega^{b}\) and \(f^{b}\) are the measured angular velocity and specific force in the body frame, and \(\omega_{c}^{b}\) and \(f_{c}^{b}\) are their calibrated values.  
\[\omega_{c}^{b}=\omega^{b}-b_{g}, \tag{1}\]  
\[f_{c}^{b}=f^{b}-b_{a}, \tag{2}\]  
Similarly, the position and the velocity could be corrected by simply subtracting their estimated value and the alignment error value, estimated by the calibration system. The calibrated position and velocity are given in Equations (3) and (4), where \(\delta v\) and \(\delta p\) are the errors of velocity and of position, respectively. Additionally, \(v^{n}\) and \(p^{n}\) are uncalibrated values, and \(v_{c}^{n}\) and \(p_{c}^{n}\) are these values after the calibration, given by Equations (3) and (4).  
\[v_{c}^{n}=v^{n}-\delta v, \tag{3}\]  
\[p_{c}^{n}=p^{n}-\delta p, \tag{4}\]  
Moreover, the quaternion attitude vector was calibrated using the estimated quaternion vector, \(q\), and the estimated attitude error vector \(\delta\Omega~{}=~{}\left[~{}\delta\varphi~{}~{}~{}\delta\theta~{}~{}~{}\delta \psi~{}\right]^{T}\). The calibrated direction cosine matrix \(\widetilde{C}_{b}^{n}\) was calculated by Equation (5), while \((\delta\Omega\times)\) was defined as the skew symmetric form of the \(\delta\Omega\)[30]. Additionally, \(I\) is a three-dimension identity matrix.  
\[\widetilde{C}_{b}^{n}=(I-\delta\Omega\times)C_{b}^{n}=C_{b}^{n}-\delta\Omega \times C_{b}^{n}, \tag{5}\]  
After calibrating the estimated states, the INS block followed the regular kinematic equations. To summarize, at first, the quaternion was updated by \(q_{c}(k+1)=0.5\Sigma_{b}q_{c}(k)\), where \(\Sigma_{b}\) is the skew symmetric form of the vector \(\left[~{}~{}0~{}~{}~{}\omega_{c}^{b}~{}\right]\). Then, the velocity was updated by Equation (6) [30].  
\[\dot{v}_{c}^{n}=\widetilde{C}_{b}^{n}f_{c}^{b}-[2\omega_{ie}+\omega_{en}] \times v_{c}^{n}+g^{n}, \tag{6}\]  
where \(\widetilde{C}_{b}^{n}\) is the body-to-navigation transform matrix obtained from its quaternion form \(q_{c}\). Additionally, \(f_{c}^{b}\) is the calibrated specific force of the accelerometer, and \(v_{c}^{b}\) is the calibrated  
Figure 1: Block diagram of the proposed in-flight INS alignment method.  
velocity of the aircraft in the navigation frame. Moreover, \(\omega_{ie}\) is defined as the turn rate of the Earth in the navigation frame. \(\omega_{en}\) is the turn rate of the navigation frame with respect to the Earth-fixed coordinate. Finally, the gravity vector computation and the position updates are mentioned in Equations (7) and (8) [30].  
\[g^{n}=g-0.5\Omega^{2}.(R_{0}+h_{c})[\sin(2L_{c}),\,0,\,1+\cos(2L_{c})]^{T}, \tag{7}\]  
\[\dot{L_{c}}=v_{c_{N}}/(R_{0}+h_{c}),\,\,\,\dot{l_{c}}=v_{c_{E}}\text{sec}(L_{c} )/(R_{0}+h_{c}),\,\,\dot{h_{c}}=-v_{c_{D}}, \tag{8}\]  
where \(R_{0}\) is the radius of the Earth, and \(p_{c}=\left[\begin{array}{cc}L_{c}&l_{c}&h_{c}\end{array}\right]^{T}\) is the position vector. Additionally, \(v_{c}=\left[\begin{array}{cc}v_{c_{N}}&v_{c_{E}}&v_{c_{D}}\end{array}\right]^ {T}\) is the velocity vector as the main outputs of the system.