1
$\begingroup$

I am ruing RPlidar with slam_toolbox.

When I run

ros2 launch sllidar_ros2 view_sllidar_a1_launch.py

and

ros2 launch slam_toolbox online_async_launch.py

The message showed:

"[slam_toolbox]: Message Filter dropping message: frame 'laser' at time 1692328002.091 for reason 'discarding message because the queue is full'"

I do know what means and how to solve it.

$\endgroup$

2 Answers 2

1
$\begingroup$

basically, queue_size is the parameter which you specify to say to your PC how much memory it should use to store messages it recieved.

So if you have that parameter set up as queue_size=10 it will hold 10 messages in buffer, until dropping oldest one. So from this message I would assume that the oldest message in the buffer is getting dropped because new measurement has arrived.

You should check this time and see if it changes, and what's the time of the last published message on that topic on which are you subscribed.

You can use ros2 topic echo /topic/name and compare last timestamp with the one of the dropped message.

$\endgroup$
1
$\begingroup$

This is a TF tree related issue, the frames were not properly set hence all message with frame id laser can't be processed and the queue is flooded. Ensure there exist a transform from base frame to laser, I suggest you to have a look at the default config file https://github.com/SteveMacenski/slam_toolbox/blob/ros2/config/mapper_params_online_async.yaml , by modifying the base frame based on system setup it will work.

$\endgroup$
1
  • $\begingroup$ Additionally to base_footprint -> laser, odom -> base_footprint must be updated. $\endgroup$
    – Andrei
    Dec 13, 2023 at 23:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.