For integration with robot_pose_ekf, you'll want to make sure that your IMU actually computes and returns an orientation, since robot_pose_ekf
only cares about the orientation component of it's input sensor_msgs/IMU
. For example, if I recall correctly, the Wiimote IMU does not compute an orientation component, as the Wiimote only outputs accelerations (and angular velocities if you have a MotionPlus either addon or builtin to the newer Wiimotes).
I'm not familiar with the imu_9drazor
driver specifically, but we do use Sparkfun 9DOF Razor IMU in our own projects (with an unreleased driver) and have been extremely happy with it. Some reasons we've been happy with it:
Relatively inexpensive ($125)
Easily hackable (it's basically just an Arduino with the sensors wired in and some pre-exisiting firmware)
Gyros don't really drift, so we are able to use a static bias correction instead of calculating it on the fly
Hopefully this helps.