ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

gmapping/hectormapping map->scanmatcher_frame

asked 2015-04-12 22:02:09 -0500

oscillative gravatar image

updated 2015-04-12 22:03:25 -0500

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?

edit retag flag offensive close merge delete


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.

Tom Moore gravatar image Tom Moore  ( 2015-04-17 12:15:27 -0500 )edit

Thanks! That was the key to use robot_localization as odom->base_link transform authority.

oscillative gravatar image oscillative  ( 2015-04-21 03:29:48 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2015-04-21 03:27:55 -0500

oscillative gravatar image

I sounded confused, but I feel much better now :) To answer my question, scanmatcher frame is there for debugging purpose - it's what map-based localization think base_link is, and realized as tf transform between map and odom frames.

The iRobot driver I used has a wrapper that publish odometry but also a tf message between odom to base_link. I had to comment out the tf message part if I wish to fuse wheel/imu/vo odometry using robot_localization or similar filters.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-04-12 22:02:09 -0500

Seen: 946 times

Last updated: Apr 21 '15