RTABMAP: lidar mapping

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

RTABMAP: lidar mapping

Sonic1991
This post was updated on .
Hi.
I am exploring the possibilities of rtabmap. I recently tried to tune rtabmap to use a lidar to build a map. But I ran into the following problem: The map that rtabmap builds has no obstacle cells. How could I fix this?
Thank you very much for your response.
-----------------------------------------------------

-----------------------------------------------------
SUMMARY
========

PARAMETERS
 * /robot_description: <?xml version="1....
 * /robot_state_publisher/publish_frequency: 50.0
 * /robot_state_publisher/tf_prefix: 
 * /rosdistro: melodic
 * /rosversion: 1.14.10
 * /rtabmap/rtabmap/Grid/3D: False
 * /rtabmap/rtabmap/Grid/FromDepth: False
 * /rtabmap/rtabmap/Grid/MaxGroundHeight: 2
 * /rtabmap/rtabmap/Grid/NoiseFilteringRadius: 0
 * /rtabmap/rtabmap/Grid/RangeMax: 5.0
 * /rtabmap/rtabmap/Grid/RayTracing: True
 * /rtabmap/rtabmap/Grid/Scan2dUnknownSpaceFilled: True
 * /rtabmap/rtabmap/Mem/IncrementalMemory: true
 * /rtabmap/rtabmap/RGBD/CreateOccupancyGrid: false
 * /rtabmap/rtabmap/RGBD/OptimizeFromGraphEnd: false
 * /rtabmap/rtabmap/Reg/Force3DoF: True
 * /rtabmap/rtabmap/Reg/Strategy: 1
 * /rtabmap/rtabmap/approx_sync: True
 * /rtabmap/rtabmap/database_path: ~/.ros/rtabmap.db
 * /rtabmap/rtabmap/frame_id: base_footprint
 * /rtabmap/rtabmap/subscribe_depth: False
 * /rtabmap/rtabmap/subscribe_rgb: True
 * /rtabmap/rtabmap/subscribe_scan: True
 * /rtabmap/rtabmap/use_action_for_goal: True
 * /rtabmap/rtabmap/use_saved_map: False
 * /rtabmap/rtabmap/visual_odometry: fasle
-----------------------------------------------------
NODES
  /
    camera_stereo_odom_link (tf/static_transform_publisher)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
  /rtabmap/
    rtabmap (rtabmap_ros/rtabmap)

ROS_MASTER_URI=http://localhost:11311

process[camera_stereo_odom_link-1]: started with pid [18199]
process[robot_state_publisher-2]: started with pid [18200]
process[rtabmap/rtabmap-3]: started with pid [18201]
[ INFO] [1616756995.024570920]: Starting node...
[ INFO] [1616756995.050191725]: Initializing nodelet with 8 worker threads.
[ INFO] [1616756995.115570865]: /rtabmap/rtabmap(maps): map_filter_radius          = 0.000000
[ INFO] [1616756995.115637022]: /rtabmap/rtabmap(maps): map_filter_angle           = 30.000000
[ INFO] [1616756995.115650791]: /rtabmap/rtabmap(maps): map_cleanup                = true
[ INFO] [1616756995.115666383]: /rtabmap/rtabmap(maps): map_always_update          = false
[ INFO] [1616756995.115678911]: /rtabmap/rtabmap(maps): map_empty_ray_tracing      = true
[ INFO] [1616756995.115691269]: /rtabmap/rtabmap(maps): cloud_output_voxelized     = true
[ INFO] [1616756995.115705093]: /rtabmap/rtabmap(maps): cloud_subtract_filtering   = false
[ INFO] [1616756995.115719330]: /rtabmap/rtabmap(maps): cloud_subtract_filtering_min_neighbors = 2
[ INFO] [1616756995.124510028]: /rtabmap/rtabmap(maps): octomap_tree_depth         = 16
[ WARN] [1616756995.135649641]: Parameter "flip_scan" doesn't exist anymore. Rtabmap now detects automatically if the laser is upside down with /tf, then if so, it switches scan values.
[ INFO] [1616756995.135677704]: rtabmap: frame_id      = base_footprint
[ INFO] [1616756995.135694521]: rtabmap: map_frame_id  = map
[ INFO] [1616756995.135705288]: rtabmap: use_action_for_goal  = true
[ INFO] [1616756995.135719467]: rtabmap: tf_delay      = 0.050000
[ INFO] [1616756995.135729697]: rtabmap: tf_tolerance  = 0.100000
[ INFO] [1616756995.135738999]: rtabmap: odom_sensor_sync   = false
[ INFO] [1616756995.170252493]: Setting RTAB-Map parameter "Grid/3D"="false"
[ INFO] [1616756995.173384864]: Setting RTAB-Map parameter "Grid/FlatObstacleDetected"="false"
[ INFO] [1616756995.175477397]: Setting RTAB-Map parameter "Grid/FromDepth"="false"
[ INFO] [1616756995.177612217]: Setting RTAB-Map parameter "Grid/MaxGroundHeight"="2"
[ INFO] [1616756995.180269977]: Setting RTAB-Map parameter "Grid/NoiseFilteringRadius"="0"
[ INFO] [1616756995.182396949]: Setting RTAB-Map parameter "Grid/RangeMax"="5.0"
[ INFO] [1616756995.182661222]: Setting RTAB-Map parameter "Grid/RangeMin"="0.1"
[ INFO] [1616756995.183061739]: Setting RTAB-Map parameter "Grid/RayTracing"="true"
[ INFO] [1616756995.183523827]: Setting RTAB-Map parameter "Grid/Scan2dUnknownSpaceFilled"="true"
[ INFO] [1616756995.186049708]: Setting RTAB-Map parameter "GridGlobal/FullUpdate"="true"
[ INFO] [1616756995.186884320]: Setting RTAB-Map parameter "GridGlobal/MinSize"="20"
[ INFO] [1616756995.191376873]: Setting RTAB-Map parameter "Icp/CorrespondenceRatio"="0.2"
[ INFO] [1616756995.202483487]: Setting RTAB-Map parameter "Icp/RangeMax"="0"
[ INFO] [1616756995.203319338]: Setting RTAB-Map parameter "Icp/VoxelSize"="0.05"
[ INFO] [1616756995.235473446]: Setting RTAB-Map parameter "Mem/IncrementalMemory"="true"
[ INFO] [1616756995.263481374]: Setting RTAB-Map parameter "RGBD/CreateOccupancyGrid"="false"
[ INFO] [1616756995.273391710]: Setting RTAB-Map parameter "RGBD/NeighborLinkRefining"="true"
[ INFO] [1616756995.274389584]: Setting RTAB-Map parameter "RGBD/OptimizeFromGraphEnd"="false"
[ INFO] [1616756995.278302493]: Setting RTAB-Map parameter "RGBD/ProximityBySpace"="true"
[ INFO] [1616756995.282115480]: Setting RTAB-Map parameter "RGBD/ProximityPathMaxNeighbors"="0"
[ INFO] [1616756995.283314565]: Setting RTAB-Map parameter "RGBD/SavedLocalizationIgnored"="true"
[ INFO] [1616756995.284417549]: Setting RTAB-Map parameter "Reg/Force3DoF"="true"
[ INFO] [1616756995.285296505]: Setting RTAB-Map parameter "Reg/Strategy"="1"
[ INFO] [1616756995.460647720]: RTAB-Map detection rate = 1.000000 Hz
[ INFO] [1616756995.461266453]: rtabmap: Deleted database "/home/robot/.ros/rtabmap.db" (--delete_db_on_start or -d are set).
[ INFO] [1616756995.461329520]: rtabmap: Using database from "/home/robot/.ros/rtabmap.db" (0 MB).
[ INFO] [1616756995.497581510]: rtabmap: Database version = "0.20.0".
[ INFO] [1616756995.509448911]: /rtabmap/rtabmap: subscribe_depth = false
[ INFO] [1616756995.509472937]: /rtabmap/rtabmap: subscribe_rgb = true
[ INFO] [1616756995.509481359]: /rtabmap/rtabmap: subscribe_stereo = false
[ INFO] [1616756995.509510035]: /rtabmap/rtabmap: subscribe_rgbd = false (rgbd_cameras=1)
[ INFO] [1616756995.509518323]: /rtabmap/rtabmap: subscribe_odom_info = false
[ INFO] [1616756995.509537922]: /rtabmap/rtabmap: subscribe_user_data = false
[ INFO] [1616756995.509562780]: /rtabmap/rtabmap: subscribe_scan = true
[ INFO] [1616756995.509577698]: /rtabmap/rtabmap: subscribe_scan_cloud = false
[ INFO] [1616756995.509590134]: /rtabmap/rtabmap: subscribe_scan_descriptor = false
[ INFO] [1616756995.509607312]: /rtabmap/rtabmap: queue_size    = 10
[ INFO] [1616756995.509625257]: /rtabmap/rtabmap: approx_sync   = true
[ INFO] [1616756995.509689335]: Setup rgb-only callback
[ INFO] [1616756995.518411272]: 
/rtabmap/rtabmap subscribed to (approx sync):
   /camera_stereo/odom/sample,
   /camera/color/image_raw,
   /camera/color/camera_info,
   /scan
[ INFO] [1616756995.603881709]: rtabmap 0.20.0 started...
[ WARN] (2021-03-26 18:09:55.940) MapsManager.cpp:584::updateMapCaches() Occupancy grid for location 1 should be added to global map (e..g, a ROS node is subscribed to any occupancy grid output) but it cannot be found in memory. For convenience, the occupancy grid is regenerated. Make sure parameter "RGBD/CreateOccupancyGrid" is true to avoid this warning for the next locations added to map. For older locations already in database without an occupancy grid map, you can use the "rtabmap-databaseViewer" to regenerate the missing occupancy grid maps and save them back in the database for next sessions. This warning is only shown once.
[ INFO] [1616756995.942414459]: rtabmap (1): Rate=1.00s, Limit=0.000s, RTAB-Map=0.0204s, Maps update=0.0021s pub=0.0007s (local map=1, WM=1)

Reply | Threaded
Open this post in threaded view
|

Re: RTABMAP: lidar mapping

matlabbe
Administrator
Hi,

Please update rtabmap package (you are on 0.20.0). There was an issue last year with scans having intensity channel where obstacles were not correctly added. Normally it should be fixed by 0.20.7 (latest binaries).

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: RTABMAP: lidar mapping

Sonic1991
Thanks a lot for your help, everything works.
Reply | Threaded
Open this post in threaded view
|

Re: RTABMAP: lidar mapping

Sonic1991
In reply to this post by matlabbe
Hi again.
Thanks again for your answer. After the update, the following problem arose, when I build a map using the camera, an empty area appears. After I scan this place and drive away from it, the area becomes empty again. With what it can be connected?
Thanks for your reply.
Reply | Threaded
Open this post in threaded view
|

Re: RTABMAP: lidar mapping

matlabbe
Administrator
Is that during SLAM or localization-only? In localization mode, the rtabmap's occupancy grid would not be modified.
Reply | Threaded
Open this post in threaded view
|

Re: RTABMAP: lidar mapping

Sonic1991
Hello, it is in mapping mode. When loop close detected as i think.
Reply | Threaded
Open this post in threaded view
|

Re: RTABMAP: lidar mapping

matlabbe
Administrator
Hi, I would need to see the database to see if local grids are correctly created or not. What could happen is that on loop closure, we regenerate the global occupancy grid, maybe not all empty cells were recopied in the new output.