## 3 Factor Graph Integrated Navigation Framework
### IMU Pre-Integration Factor Node  
IMU typically output acceleration and angular velocity information at a high frequency. Constructing a factor node for each sampling point would result in a substantial amount of redundant information in the factor graph, leading to considerable computational load [29]. To address this issue, pre-integration is employed to preprocess IMU data. To obtain the current position, velocity, and attitude, the state variables from the previous moment are needed. However, when these state variables change, it is necessary to retransmit the IMU measurements for integration to obtain the current state variables. Each time an adjustment in pose is made, the IMU measurements must be retransmitted, which is a time-consuming and computationally intensive measurement strategy. Using IMU pre-integration ensures that the IMU integration values between two nodes are only related to the IMU errors at those two moments, thus avoiding repeated integrations caused by changes in the starting point of integration. This process involves integrating the raw IMU data to obtain the relative displacement and rotational changes in the carrier over a period of time, thereby reducing data processing volume and minimizing the risk of error accumulation. In integrated navigation systems, the inertial measurement unit can reflect changes in the carrier's motion state by measuring angular velocity \(\tilde{\omega}_{ib}^{b}\) and acceleration (specific force) \(\tilde{f}^{b}\). The measurement equation can be expressed as [30]:  
\[\tilde{\omega}_{ib}^{b}=\omega_{ib}^{b}+b_{\omega}+\varepsilon_{\omega}, \tilde{f}^{b}=f^{b}+b_{a}+\varepsilon_{a} \tag{8}\]  
where \(\omega_{ib}^{b}\) and \(f^{b}\), respectively, represent the true values of the gyroscope and accelerometer, while \(b_{\omega}\) and \(b_{a}\), respectively, denote the biases of the gyroscope and accelerometer. \(\varepsilon_{\omega}\) and \(\varepsilon_{a}\) represent the noise associated with the gyroscope and accelerometer, respectively. Based on inertial devices, the navigation information of the carrier is calculated by first solving for the carrier's attitude information, and then using the updated attitude information to compute the carrier's velocity and position. Traditional inertial navigation gyro modeling outputs do not consider the effects of the Earth's rotation rate \(\omega_{ir}^{n}\) and the angular velocity of entrainment \(\omega_{en}^{n}\) on the accuracy of gyro measurements. Therefore, considering these two types of rotational velocities, the differential equation for the carrier's attitude is as follows:  
\[ \begin{array}{l}\dot{q}_{b}^{n}=\frac{1}{2}q_{b}^{n}\otimes\left[\begin{array} []{c}0\\ \omega_{nb}^{b}\end{array}\right],\omega_{nb}^{b}=\omega_{ib}^{b}-C_{n}^{b}( \omega_{ie}^{n}+\omega_{en}^{n})\\ \omega_{ie}^{n}=\left[\begin{array}{cc}\omega_{e}\cos L&0&-\omega_{ei}\sin L \end{array}\right]\\ \omega_{en}^{n}=\left[\begin{array}{cc}\frac{p_{c}}{(R_{N}+R_{i})}&-\frac{v_{ N}}{(R_{M}+R_{i})}&-\frac{v_{T}\tan L}{(R_{N}+R_{i})}\end{array}\right]\end{array}  \tag{9}\]where \(q_{b}^{n}\) is the attitude quaternion from the body coordinate system (\(b\)-frame) to the navigation coordinate system (\(n\)-frame), with the \(n\)-frame defined as (END). \(C_{n}^{b}\) is the attitude rotation matrix from the \(b\)-frame to the \(n\)-frame. \(L\) is the latitude of the carrier's location. \(h\) is the height of the carrier's location relative to the horizontal plane. \(R_{M}\) is the meridian radius of curvature, and \(R_{N}\) is the prime vertical radius of curvature, with their respective calculation formulas as follows:  
\[ \begin{array}{l}R_{M}=\frac{R_{e}(1-e^{2})}{(1-e_{1}^{2}\sin^{2}L)^{3/2}}\\ R_{N}=\frac{R_{e}}{(1-e_{1}^{2}\sin^{2}L)^{1/2}}\end{array}  \tag{10}\]  
where \(R_{e}\) is the radius of the Earth and \(e_{1}\) is the first eccentricity.