Slam TF problem

asked 2020-07-17 06:18:20 -0500

MarkusHHN gravatar image

updated 2020-07-17 10:01:41 -0500

Hello everybody,

i have a omniwheel robot, which has mounted a microsoft kinect. With this configuration i use a Pointcloud_to_laserscan node to generate my laserscaner and also i use robot pose ekf to improve my odometry with the gyrosensor and odometry. For the robot pose ekf node i add a base_footprint frame. When i am using gmapping I get the following "warning":

[ WARN] [1594983943.493151010]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.

[ WARN] [1594983943.493301588]: MessageFilter [target=odom ]: The majority of dropped messages were due to messages growing older than the TF cache time. The last message's timestamp was: 1594983923.628037, and the last frame_id was: base_kinect_link

I think the gmapping node has some transformation problem, why it cant create a map.

image description

I hope you can help me.

Regards, Markus

edit retag flag offensive close merge delete


How did you setup the frames in the gmapping launch file?

kosmastsk gravatar image kosmastsk  ( 2020-07-18 10:42:53 -0500 )edit

The frames setup is: odom_frame = odom | base_frame = base_link | map_frame = map

MarkusHHN gravatar image MarkusHHN  ( 2020-07-19 04:25:05 -0500 )edit

I think I used the wrong base_frame. I used the base_footprint and it works better, but i get sometimes the same error

MarkusHHN gravatar image MarkusHHN  ( 2020-07-20 05:44:59 -0500 )edit

Try to change the transform_tolerance in the pointcloud_to_laserscan launcher. What is the target frame that you used there?

kosmastsk gravatar image kosmastsk  ( 2020-07-20 05:50:39 -0500 )edit

I used on my pointcloud to laserscan the base_kinect_link, which is 0.1 m above over the base_link How high would you recommend the transform tolerance

MarkusHHN gravatar image MarkusHHN  ( 2020-07-20 05:57:09 -0500 )edit

Using the values that you can get from tf_echo between the frames, try to set different values for the tolerance and see the result

kosmastsk gravatar image kosmastsk  ( 2020-07-20 11:31:41 -0500 )edit

So i found my mistake, it was really the problem about to set the right franes. So it works fine! Thank you

MarkusHHN gravatar image MarkusHHN  ( 2020-07-22 03:55:17 -0500 )edit