robot_localization: Unsure of what global EKF instance is fusing [closed]
Hello,
I have been trying to obtain an orientation estimate from gyroscope data using the EKF nodes. I am using a launch file (attached below) with the structure - one local EKF node in the odom frame, fusing only continuous IMU data and outputting odom->baselink TF transform, and another global EKF node in the map frame, coupled to navsat_transform_node and fusing GPS with IMU data.
I have set the configs as such:
For the global EKF node, imu0_config is IMU and odom0_config is GPS odometry from navsat_transform_node:
<rosparam param="imu0_config">[false, false, false,
false, false, false,
false, false, false,
false, false, true,
true, true, false]</rosparam>
<rosparam param="odom0_config">[true, true, false,
false, false, false,
false, false, false,
false, false, false,
false, false, false]</rosparam>
For the local EKF node, (imu0_config refers to same IMU topic as global EKF node):
<rosparam param="imu0_config">[false, false, false,
false, false, false,
false, false, false,
false, false, true,
true, true, false]</rosparam>
When I plot the local EKF's yaw output, I obtain this: https://drive.google.com/file/d/0B_Ld...
This is very much in line with what I expected and what I obtained just by integrating my gyroscope data in MATLAB. However, when I plot the global EKF's yaw output, I obtain this instead: https://drive.google.com/file/d/0B_Ld...
This does not resemble my expected output and the yaw seems to blow up even though I am moving in an approximately straight line. Both of these nodes are also fusing data from the same topic, '/imu/data'.
Would you happen to know why the result of the fusing is so different, especially since I am only fusing IMU yaw velocity to obtain yaw in both nodes (i.e. I think I am using the exact same sources of data, no more and no less, to obtain yaw in both nodes)? Or am I implicitly fusing other data in the global EKF node?
My launch file is included here: https://drive.google.com/file/d/0B_Ld...
My bagfile in case required: https://drive.google.com/file/d/0B_Ld...
Thanks!
This question is very old and slipped past me; did you ever find an answer to this?