SLAM Toolbox Mapping Issue?

1.1k views Asked by At

I am currently using ROS2 Humble and RP Lidar. I want to use SLAM with this so I am trying the Slam toolbox. So first I am doing: ros2 launch rplidar_ros rplidar.launch.py

Then in another terminal, I am doing: ros2 launch slam_toolbox online_async_launch.py

I don't have any urdf file, I just want to do static slam in RP lidar. I am getting the error:[async_slam_toolbox_node-1] [INFO] [1679982623.449307761] [slam_toolbox]: Message Filter dropping message: frame 'laser' at time 1679982623.312 for reason 'discarding message because the queue is full'

Please help me or guide to do SLAM. My rqt graph is also attached for more informationRQT GraphOutput

I am expecting to do slam or its related projects in which we do mapping using lidar and SLAM

1

There are 1 answers

2
Norg On

Slam needs the base_link/odom tf, and for that you need odometry data.

You can fake odometry with ros2_laser_scan_matcher (it uses lidar's data to guess the sensor's movement - slam also uses this to correct the odometry data it receives). This will also publish the base_link/odom transform.

You can alternatively use other slam algorithms such as hector_slam that don't require odometry.

The image joined is not rqt_graph but rviz... I don't understand why your laser frame doesn't exist : You have to have a node that publishes the laser frame. It seems that rplidar.launch.py does it, well at least it has a parameter for the frame's name, so I guess it is using it (although I'm unable to find the executable rplidar_composition that it is calling... any help about that ?).

Also, I don't get what you mean by "static slam". If you don't want to move the sensor, then there is no need for slam.