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

Rosaria Gmapping Transform Help

asked 2015-08-18 17:58:26 -0500

btacju gravatar image

I'm trying to use gmapping with a pioneer-3dx and a lms111 with gmapping, but am having issues. When trying to run rosrun gmapping slam_gmapping, I get the warning "MessageFilter [target=odom ]: Dropped 100.00% of messages so far." My current transform map is map->odom->base_link. I've read online that I needed a base_link -> scan, where scan is my laser scan. I've tried adding that, using rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link scan 100, but I still get the error. I'm not sure what I'm missing, or how to add the required transforms. I used rosrun tf view_frames to view the tf tree map. map-> odom is published by /slam_gmapping, while odom->base_link is published by RosAria.

My laser scan is publishing to /scan, so is that where I would want to direct the transform? as in base_link -> /scan, or is there something else I'm missing?

Also, in the required tf transforms portion of the gmapping wiki, it says we need base_link -> odom, but in my tf tree RosAria broadcasts odom-> base_link. Is that a potential cause for error? The one provided by gmapping is map->odom, which is the same direction as on their wiki. Any help would be appreciated. Thanks!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-08-19 15:18:02 -0500

staljbs gravatar image

updated 2015-08-19 15:23:09 -0500

There are a couple of possibilities here:

  1. Something is wrong with your tf tree, and it is not possible to transform laser data into the base frame.
  2. Your laser data is being published with the wrong frame in the header.
  3. Your laser data is being published with the wrong timestamp in the header.

Assuming that you laser is printing the data on the /scan topic. If you do a rostopic echo on scan you should be able to see the frame_id for your laser.

rostopic echo -n 1 /scan/header/frame_id

This will give you the name of the laser frame_id. I suspect this is not scan but laser instead. Therefore, instead of having a static_transform_publisher from base_link->scan, can you do base_link->laser.

Can you paste your tf tree here? You can use: rosrun tf view_frames

Also, please check that your odom node is really working.

edit flag offensive delete link more


Thank you, I will try that. How would I check if my odom node is working?

btacju gravatar image btacju  ( 2015-08-19 15:26:16 -0500 )edit

How are you publishing the odometry data on the /odom topic? Do a rostopic echo on the odom topic to see if you are getting any odometry data.

staljbs gravatar image staljbs  ( 2015-08-19 15:28:57 -0500 )edit

I don't get anything on the odom topic. Doesn't RosAria publish it's odometry data to RosAria/pose?

btacju gravatar image btacju  ( 2015-08-20 20:17:25 -0500 )edit

Question Tools

1 follower


Asked: 2015-08-18 17:52:18 -0500

Seen: 711 times

Last updated: Aug 19 '15