Convert PointCloud model in RGBDSLAM to a 2D occupancy grid map good for online operation

asked 2014-10-23 08:56:10 -0600

Xegara gravatar image

updated 2014-10-23 08:59:36 -0600

I'm thinking of a way to generate 2D occupancy grid map from the pointcloud generated in RGBDSLAM that is good for online operation. Can it be done?

I fused the Octomap Server to the RGBDSLAM and successfully generate 2D occupancy grid map. I created two threads. The first thread only converts the new pointclouds to 2D grid map and ignores the old ones which is good for online operation since the OctomapServer can buffer the map. However, loop closure is not considered here. So I created the second thread which iterates from all the nodes in the graph which contains the tf and Pointcloud model which is of course slow but once it had successfully iterated everything, it publishes the new map and overwriting the one from the first thread; hence we have the most updated map with the loop closure.

The problem is, it is still very slow and the 2D grid map would not reflect the most recent pointcloud model. The RGBDSLAM uses g2o to optimize the relative transformations computed from the previous frame. The loop closure happens by readjusting the tf associated in every nodes. Each node has also a corresponding pointcloud. By readjusting the tf, the pointcloud is also adjusted and as effect, pointclouds that were once misaligned is now aligned.

I was thinking of implementing the same thing in the 2D occupancy grid map. Is it possible?

edit retag flag offensive close merge delete