robot_localization: Is significant yaw drift normal with ekf_localization_node without absolute yaw from imu?
I recently switched from using robot_pose_ekf to robot_localization in order to take advantage of more fusion. The first thing I noticed after the switch is that now my yaw drifts significantly, on the order of about pi radians over 10 minutes. This drift was not present in robot_pose_ekf, and the best I can tell it's not present in my imu/data output either. The drift goes away when I enable yaw orientation in the imu configuration vector. I am only using wheel odometry (diff drive) and imu at present.
My odom config vector is:
odom0_config:
[false, false, false,
false, false, false,
true, false, false,
false, false, false,
false, false, false]
And with imu config vector like following I get yaw drift:
imu0_config:
[false, false, false,
false, false, false,
false, false, false,
false, false, true,
false, false, false]
But with below imu config vector I don't get drift:
imu0_config:
[false, false, false,
false, false, true,
false, false, false,
false, false, true,
false, false, false]
This may be totally normal but I'm just hoping to get a sanity check in case there's something else at play here.