Map is frozen + "[rviz2]: Message Filter dropping message... for reason 'Unknown'"

I’m just following the Turtlebot3 tutorial and running the SLAM node. Running ROS2 on Ubuntu 20.04.04.

When I launch the cartographer via:

$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_cartographer cartographer.launch.py

Rviz loads and everything seems to be working fine – until I move the robot with teleoperation keyboard, and after a few moments, I keep receiving the following [INFO] messages in large chunks:

[rviz2-3] [INFO] [1662677178.185090678] [rviz2]: Message Filter dropping message: frame 'odom' at time 1662677176.963 for reason 'Unknown'
[rviz2-3] [INFO] [1662677178.256606458] [rviz2]: Message Filter dropping message: frame 'base_scan' at time 1662677177.034 for reason 'Unknown'
[rviz2-3] [INFO] [1662677178.262044666] [rviz2]: Message Filter dropping message: frame 'odom' at time 1662677177.013 for reason 'Unknown'
[rviz2-3] [INFO] [1662677178.391455631] [rviz2]: Message Filter dropping message: frame 'base_scan' at time 1662677177.135 for reason 'Unknown'

And only the frame is visible in RViz (the odom and other stuff disappear).

Could someone please help me understand what the problem is? Thanks.

Hi,

You should check the TF tree. It looks like it could be that the cartographer is not resolving and localizing the robot, an therefore the frames are not generated.

1 Like

Thanks, I spent almost a full day to resolve this problem, yet to no avail. Resources on this issue are scarce, though I’m not the only one facing this issue with the default setup.

What I did by following your hint was turn off the odometer in the configuration file /opt/ros/foxy/share/turtlebot3_cartographer/config/turtlebot3_lds_2d.lua by setting use_odometry = false,.

I wonder where I can resolve the issue with the odometer. Any help is appreciated.

Hi , It seems that your navigation setup has something there missing or not well configured. In theory, the odometry sensor shouldn’t give these issues. The location should make the transform from map to odom frame, which corrects errors in odometry and localizes the robot.

Did mapping work? Start from there to see if somewhere there is something wrong