ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

3D LIDAR SLAM in 2020

asked 2020-05-12 14:20:06 -0500

czr gravatar image

updated 2022-01-22 16:10:33 -0500

Evgeny gravatar image


I have been using RTABMAP for SLAM with a stereo_camera, and it is working very well. It seems well maitained by the activity on the github page.

Now I am looking to perform the same task with a 3D LIDAR, but I cannot find a package that seems to be maintained. I checked: BLAM (last update 2016) and SegMatch (last update 2017).

Does anyone has a suggestion of a package that I can use? I am using ROS Melodic , but I am willing to migrate to Noetic.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-05-12 17:30:07 -0500

bob-ROS gravatar image

updated 2020-05-13 05:24:36 -0500

Rtabmap can use 3D Lidar pretty ok. Cartographer, LegoLoam or hdl_graph_slam are maybe other options for you as they are a bit more up to date.

<node pkg="rtabmap_ros" type="rtabmap" name="rtabmap" output="screen" args="-d">
  <param name="subscribe_rgbd"       type="bool" value="false"/>
  <param name="frame_id"             type="string" value="$(arg frame_id)"/>
  <param name="subscribe_depth"      type="bool" value="false"/>
  <param name="subscribe_rgb"        type="bool" value="false"/>
  <param name="subscribe_scan_cloud" type="bool" value="true"/>
  <param name="approx_sync"          type="bool" value="true"/>

  <remap from="scan_cloud" to="/os1_cloud_node/points"/>
  <remap from="grid_map" to="/map"/>

  <!-- RTAB-Map's parameters -->
  <param name="Rtabmap/DetectionRate"          type="string" value="1"/>
  <param name="RGBD/NeighborLinkRefining"      type="string" value="false"/>
  <param name="RGBD/ProximityMaxGraphDepth"    type="string" value="0"/>
  <param name="RGBD/ProximityPathMaxNeighbors" type="string" value="1"/>
  <param name="RGBD/AngularUpdate"             type="string" value="0.05"/>
  <param name="Mem/NotLinkedNodesKept"         type="string" value="false"/>
  <param name="Mem/STMSize"                    type="string" value="30"/>

  <param name="Reg/Strategy"                   type="string" value="1"/>
  <param name="Grid/CellSize"                  type="string" value="0.2"/>
  <param name="Grid/RangeMax"                  type="string" value="20"/>
  <param name="Grid/ClusterRadius"             type="string" value="1"/>
  <param name="Grid/GroundIsObstacle"          type="string" value="false"/>
  <param name="Grid/RayTracing"                type="string" value="true"/>
  <param name="Grid/3D"                        type="string" value="false"/>
  <param name="Grid/MaxObstacleHeight"         type="string" value="1.5"/>

edit flag offensive delete link more


I've heard recommendations for HDL.

stevemacenski gravatar image stevemacenski  ( 2020-05-12 17:40:39 -0500 )edit

Thank you. Can I use a LIDAR standalone on Rtabmap? I though that I needed a stereo camera or a depth camera in parallel.

czr gravatar image czr  ( 2020-05-12 20:52:39 -0500 )edit

I updated my answer with the config I used for a OS1-16 channel LiDAR.

bob-ROS gravatar image bob-ROS  ( 2020-05-13 05:24:02 -0500 )edit

Thanks for your answer, I created a launch file based on your example, but I cannot get the /cloud_map and /cloud_ground topics. They get published but /cloud_ground yields an empty cloud while /cloud_map seems to have data, but nothing shows up in Rviz. I used the same RTAB-Map's parameters that I used for my stereo camera setup.

czr gravatar image czr  ( 2020-05-25 05:54:34 -0500 )edit

Hm, I dunno. Should probably ask a new question, I've never used the ground from rtabmap, only the 2D grid_map.

bob-ROS gravatar image bob-ROS  ( 2020-05-25 12:13:55 -0500 )edit

Question Tools



Asked: 2020-05-12 14:20:06 -0500

Seen: 2,666 times

Last updated: May 13 '20