Robotics StackExchange | Archived questions

ros rtabmap - graph point cloud vs map point cloud

Hi,

Can someone tell me what is exactly the difference between graph point cloud (/rtabmap/mapData) and map point cloud (/rtabmap/cloud_map)?

As I understand, the map point cloud can be filtered with e.g. the cloudnoisefilteringradius, cloudnoisefilteringmin_neighbors parameters.

Does this mean that map point cloud is a post-process result of the graph point cloud ?

Is there a way to produce a graph showing the various links in the processing chain?

Thanks, Avner

Asked by Avner on 2019-01-29 13:44:13 UTC

Comments

Answers

Hi,

To show the graph of the map in RVIZ, add a rtabmap_ros/MapGraph display and select the corresponding topic.

/rtabmap/mapData is assembled in RVIZ (e.g., on the client), so when the graph changes (e.g., after a loop closure), the point clouds associated to each node in the graph are corrected directly in RVIZ. The advantage to construct the map on client side is to use always the same fixed bandwidth between rtabmap node and the client (here RVIZ).

/rtabmap/cloud_map (PointCloud2) is assembled by rtabmap node with Grid parameters ($ rtabmap --params | grep Grid/). This cloud can be used by other modules on the robot. As the map increases in size, the bandwidth will also increase (the cloud will be bigger and bigger) if streamed outside the robot.

It is also possible to use rtabmap_ros/map_assembler node on client side to subscribe to /rtabmap/mapData and generate a cloud like /rtabmap/cloud_map.

cheers

Asked by matlabbe on 2019-01-29 17:26:52 UTC

Comments

When RVIZ assembles /rtabmap/mapData where does it store the data? (I want to use it for post processing)

Is the cloud map that is assembled by rtabmap, stored in rtabmap.db?

Asked by Avner on 2019-02-07 18:21:34 UTC

With rtabmap/MapCloud rviz plugin, the cloud stays in rviz rendering engine, there is no output (see plugins here). The cloud assembled by rtabmap (cloud_map) not explicitly saved in database... (continue next comment)

Asked by matlabbe on 2019-02-10 16:43:23 UTC

You may use rosun pcl_ros pointcloud_to_pcd to save the cloud_map to a PCD file. You can also re-open the database in rtabmap standalone and do File->Export Cloud to recreate the cloud as dense as you want.

Asked by matlabbe on 2019-02-10 16:45:09 UTC

Thanks for your answer matlabbe. I have problems to execute execute rtabmap_ros/map_assembler, so I filed a separate question here.

Asked by Avner on 2019-02-11 17:26:02 UTC

@Avner if this solved your problem then can you please mark it as correct by clicking on the check mark

Asked by jayess on 2019-08-15 20:19:35 UTC