# how does robot_pose_ekf fuse odom and imu by EKF?

Hello,

I am familiar with extended Kalman filter,but not with BFL code.when i looked at the source code and the answers.ros.org ,i can't understand something .

1.in the OdomEstimation constructor function ,it create system model,odom ,imu ,vo and gps measurement models.i care about the system model,odom and imu measurement models,i want to figure the state variables of the three models,what are the state variables of the each model to estimate ,how does they mean?

2.in the OdomEstimation::update function ,it first does `system update filter`

,then `process odom measurement`

,`process imu measurement`

...,i guess when the three steps over,each of them can outputs estimated state variables according to their own Gaussian distribution,so what are the roles of the odom and the imu they play ,they correct what pat of the system's state variables ?In other words，how does the robot_pose_ekf package fuse the three parts?

Any ideals would be appreciated ,thanks for your time .