I'm building a simple mapping and navigation robot using iRobot create as base and neato xv-11 lidar. The mapping packages I'm testing are gmapping and hector-mapping. Both SLAM packages appear to publish tf mapping from map to scanmatcher_frame. My iRobot create driver (from Brown university) publishes transform from odom to base_link. I have a robot state publisher that publishes tf from base_link to base_laser, and I setup XV-11 to publish on the base_laser frame.
AFAIK, typical laser mapping robot frames are setup to be map -> odom -> base_link -> base_laser, where SLAM or localization packages publishes tf from map to odom.
There are also packages that fuses IMU, odom, visual odometry into one odom.
If I'd run SLAM and have IMU/wheel encoder-based odom, even visual odometry - how to I link them together? And - as titled - where does scanmatcher_frame fit in?
Post score: 1
Comment by Tom Moore on 2015-04-17:
The packages that fuse odometry and IMU data would produce the odom->base_link transform here. You would need to turn off the broadcast of that transform in your iRobot driver. There may be a parameter to do so. I can't speak for the SLAM packages.
Comment by oscillative on 2015-04-21:
Thanks! That was the key to use robot_localization as odom->base_link transform authority.