-1

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

kathan
  • 1

1 Answers1

0

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.

Norg
  • 1
  • 2
  • Thank You for the Input. We want to move the sensor. We have 3 omni wheel robot and we want to implement the slam. So first we were trying to implement with just lidar. And we tried your first suggestion and It is giving some errors about the second suggestion of hector slam as we are using ros2 humble it has no support. Please if suggestion on the implementation would be very helpful – kathan Mar 31 '23 at 06:52
  • No help can be provided without information. I can't say anything more than correct the errors. But before thinking of odom and slam, make sure you're able to display the lidar's data with rviz. Then make sure you've a laser_frame, then that you publish a laser_frame/odom tf and finaly slam. 1 thing at a time. My bad for hector_slam, I didn't know there was no ros2 support. If you have odometry data from the motors you can use that instead of ros2_laser_scan_matcher. Will probably be more accurate I guess. I suggest to RTFM ; at least the readmy of the packages you use ; feels like you don't. – Norg Mar 31 '23 at 09:32