Ask Your Question
0

ros rtabmap - graph point cloud vs map point cloud

asked 2019-01-29 12:44:13 -0500

Avner gravatar image

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 cloud_noise_filtering_radius, cloud_noise_filtering_min_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

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-01-29 16:26:52 -0500

matlabbe gravatar image

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

edit flag offensive delete link more

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?

Avner gravatar image Avner  ( 2019-02-07 17:21:34 -0500 )edit

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)

matlabbe gravatar image matlabbe  ( 2019-02-10 15:43:23 -0500 )edit

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.

matlabbe gravatar image matlabbe  ( 2019-02-10 15:45:09 -0500 )edit

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

Avner gravatar image Avner  ( 2019-02-11 16:26:02 -0500 )edit

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

jayess gravatar image jayess  ( 2019-08-15 20:19:35 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-01-29 12:44:13 -0500

Seen: 125 times

Last updated: Jan 29 '19