## 3 Federated Kalman Filter Design
### Kalman Filter Algorithm for Inertial/Odometer Integrated Navigation  
Based on the error equation of the strapdown inertial navigation system presented in Section 3.1, the speed information of the odometer was selected as the observation, and the odometer/satellite integrated navigation Kalman filter was constructed. Regardless of the odometer error information, a Kalman filter based on a loose coupling model was designed. The state quantity of the Kalman filter was selected as 15 dimensions, which contain the three-dimensional attitude angle error, the three-dimensional velocity error, the three-dimensional position error, the three-dimensional accelerometer error, and the three-dimensional gyroscope zero bias. The Kalman filter state variables were \(\mathrm{x=}\left[\varphi_{E}\ \varphi_{N}\ \varphi_{U}\ \varphi_{E}\ \delta V_{E}\ \delta V_{N}\ \delta V_{U}\ \delta L\ \delta\ \delta\ \delta H\ \varepsilon_{x}\ \varphi_{x}\ \
abla_{y}\ \
abla_{z}\right]^{\mathrm{T}}\), where \(\varphi_{E},\ \ \varphi_{N},\ \ \varphi_{U}\) represent the attitude angle error of the heading, pitching, and roll angles in the navigation coordinate system, respectively; \(\delta V_{E}\), \(\delta V_{N}\), \(\delta V_{U}\) represent the velocity error of the eastward, northward, and upward directions in the navigation system, respectively; \(\delta L\), \(\delta\Lambda\), \(\delta H\) represent the longitude, latitude, and location errors in the navigation system, respectively; \(\varepsilon_{\mathrm{x}}\), \(\varepsilon_{\mathrm{y}}\), \(\varepsilon_{z}\) represent the X, Y, and Z axes gyroscope zero biases of the inertial measurement unit, respectively; and \(\
abla_{\mathrm{X}}\ \
abla_{\mathrm{Y}}\ \
abla_{\mathrm{Z}}\) are the accelerometer biases of the X, Y, and Z axes of the inertial measurement unit, respectively [32; 33]. The state transition matrix \(\mathrm{F}\) and process noise matrix \(\mathrm{G}^{\mathrm{w}}\) of the Kalman filter are shown in Equation (23):  
\[\mathrm{F=}\left[ \begin{array}{cc}\mathrm{F}^{\mathrm{N}}_{9\times 9}& \mathrm{F}^{\mathrm{S}}_{9\times 6}\\ 0_{6\times 9}&0_{6\times 6}\end{array} \right]_{15\times 15},\ \mathrm{G}^{ \mathrm{w}}=\left[ \begin{array}{cc}\mathrm{C}^{\mathrm{n}}_{\mathrm{b}}&0_{ 3\times 3}\\ 0_{3\times 3}&\mathrm{C}^{\mathrm{n}}_{\mathrm{b}}\\ 0_{9\times 3}&0_{9\times 3}\end{array} \right]_{15\times 6} \tag{23}\]  
In the above matrix, \(\mathrm{F}^{\mathrm{S}}=\left[ \begin{array}{cc}\mathrm{C}^{\mathrm{n}}_{ \mathrm{b}}&0_{3\times 3}\\ 0_{3\times 3}&\mathrm{C}^{\mathrm{n}}_{\mathrm{b}}\\ 0_{3\times 3}&0_{3\times 3}\end{array} \right]_{9\times 6},\mathrm{F}^{ \mathrm{N}}\) elements were obtained according to Equations (6)-(9). Inertial/odometer dead reckoning can provide three-dimensional speed information in the navigation coordinate system as an observation. In this paper, \(\mathrm{y=}\left[\mathrm{SV}^{\prime}\ \varepsilon\ \delta\mathrm{V}^{\prime} \mathrm{N}\ \delta\mathrm{V}^{\prime}\mathrm{U}\ \right]\) was selected as the Kalman filter quantity measurement, where \(\delta\mathrm{V}^{\prime}\ \varepsilon\), \(\delta\mathrm{V}^{\prime}\mathrm{N}\), \(\delta\mathrm{V}^{\prime}\mathrm{U}\) represent the eastward, northward, and upward velocity deviation in the inertial navigation system. The system measurement matrix was as follows:  
\[\mathrm{H=}\left[H_{V}\right]^{\mathrm{T}} \tag{24}\]  
and \(H_{V}\) in Equation (24) can be defined as  
\[H_{V}=\left[0_{3\times 3}\ \ \mathrm{diag}(1,\ 1,\ 1)\ \ \ 0_{3\times 9}\ \right] \tag{25}\]\(\
u=\)\(\left[\
u_{SV_{\mathrm{E^{\prime}}}}\
u_{SV_{\mathrm{N^{\prime}}}}\
u_{SV_{ \mathrm{N^{\prime}}}}\
u_{SV_{\mathrm{U^{\prime}}}}\right]^{\mathrm{T}}\) is the inertial/odometer dead-reckoning measurement noise, and the filter measurement noise variance matrix was set according to the inertial/odometer sensor error level.