Solution of fulling buffer- ros and nav2

By ihsumlee , 28 February 2026
content

This message is actually good news: SLAM Toolbox is receiving LaserScan messages (frame laser) now. âś…

The bad news is: it’s receiving them too fast / your VM is too slow, so SLAM’s internal message filter queue is overflowing, and it drops scans:

 

Message Filter dropping message ... because the queue is full

 

So your problem has shifted from “no scan/map” → to performance / buffering.

 

Here’s how to fix it (pick A first).

 


 

 

A) Reduce the LaserScan rate (best fix for VirtualBox / UTM)

 

 

 

Option A1: Throttle scan to 10 Hz (recommended)

 

 

Install topic tools:

sudo apt update
sudo apt install -y ros-jazzy-topic-tools

Run a throttle (new terminal):

source /opt/ros/jazzy/setup.bash
ros2 run topic_tools throttle messages /robot_0/base_scan 10.0 /robot_0/base_scan_throttle

Now tell SLAM Toolbox to use the throttled topic.

 

If you use your params file, set:

scan_topic: /robot_0/base_scan_throttle

Then relaunch SLAM toolbox.

 

If you didn’t use a params file, use the launch argument method (recommended):

ros2 launch slam_toolbox online_async_launch.py use_sim_time:=True \
  arguments:="--ros-args -r /scan:=/robot_0/base_scan_throttle"

 


 

 

B) Increase SLAM Toolbox queue / reduce processing load

 

 

If you are using a SLAM params file (mapper_params_...yaml), add/adjust these (names vary slightly by version, but these are common and safe):

slam_toolbox:
  ros__parameters:
    use_sim_time: true
    scan_topic: /robot_0/base_scan
    throttle_scans: 1          # process fewer scans (if supported)
    map_update_interval: 1.0   # update map slower (if supported)

Then relaunch SLAM.

 

If throttle_scans isn’t recognized in your version, no harm — it will just warn. The throttle tool (A) is more reliable anyway.

 


 

 

C) Reduce visualization load (you already did part of this)

 

 

  • Keep TF display OFF (good)

  • In RViz, only keep:

     

    • LaserScan (optional)

    • Map (needed)

     

  • Global Options → Frame Rate = 10

 

 


 

 

What you should see after fixing

 

 

Within ~5–15 seconds:

 

  • ros2 topic echo /map --once prints âś…

  • RViz Map display warning disappears âś…

 

 


 

 

Quick “next command” for you (fastest path)

 

 

Do exactly this:

 

  1. Start throttle:

 

ros2 run topic_tools throttle messages /robot_0/base_scan 10.0 /robot_0/base_scan_throttle

 

  1. Relaunch SLAM:

 

ros2 launch slam_toolbox online_async_launch.py use_sim_time:=True \
  arguments:="--ros-args -r /scan:=/robot_0/base_scan_throttle"

 

  1. Test map:

 

ros2 topic echo /map --once

 


 

If after throttling you still get queue-full spam, tell me what VM you’re on (VirtualBox vs UTM), and I’ll suggest the “lower Hz” setting (like 5 Hz) and a couple of SLAM params to lighten CPU further.

Tags