Ask Your Question

Revision history [back]

The simplest first step is to have a node that subscribes to odometry and imu data and broadcasts the map to base_link transform (or you could have a map-to-odom broadcaster in one node handling odometry and a odom-to-base_link in another that handles the imu).

Take a look at http://wiki.ros.org/tf2/Tutorials/Writing%20a%20tf2%20broadcaster%20(Python), the python example is a good starting point (instead of zeroing the roll and pitch you would insert your imu roll and pitch).

There is going to be disagreement between your imu yaw and your odometry yaw, you could take one or the other, but the next step is to replace a simple broadcaster with robot_localization http://docs.ros.org/kinetic/api/robot_localization/html/index.html