I'm trying to use octomap with a velodyne HDL-32E sensors point cloud. I move around in a large complex (Approx 1 km by 1 km) and generate the map. The map update rate is really good when the total map size is small (I can see moving cars and people being classified into obstacles), but as the map size increases, the update rate slows quite a lot. Can someone suggest me ways to overcome this problem? I'm currently considering just running the map in the local frame to get immediate obstacles, but this will defeat the purpose (global planning) for which I had switched to octomap.
Originally posted by raskolnikov_reborn on ROS Answers with karma: 53 on 2015-12-19
Post score: 3
Original comments
Comment by 2ROS0 on 2015-12-20:
This obstacle detection of people and cars is running separately? Are you sure it is the Octomap update that's the bottleneck?
Comment by raskolnikov_reborn on 2015-12-21:
I meant those as examples to illustrate that moving obstacles are detected nearly instantly at the beginning but not at the end. Static fixtures such as walls and trees etc are detected properly all the way to the end but the updates get slower and slower with the increase in map size.
Comment by raskolnikov_reborn on 2015-12-25:
I can confirm that the problem is related to map size more than time of operation. If is create a local window map without a global frame that is both map and base frame are the sensor, the problem is greatly reduced. With a finite map size, octomap updates do not get slower over time.
Comment by krishnaece1505 on 2016-03-01:
I am trying to use octomap to create a 3D map form point clouds input in Pointcloud2 format. I have built the libraries. But, when I launch the octomap_mapping.launch file, I see no output in RVIZ in /map. Since, you have got it working, may I know the procedure to use this library?
Comment by chukcha2 on 2016-03-02:
I was told that octomap is used to create a map from already registered point clouds (or a set of point clouds and transforms). I haven't found a good way to register point clouds from a velodyne lidar (VLP-16 in my case). Can you please share how you are able to register point clouds?
Comment by raskolnikov_reborn on 2016-04-19:
Just start publishing a transform between your laser frame and your global frame. specify the sensor frame in the launch file and the global frame and you should be done. Make sure you provide the pointcloud in the sensor frame if you enable ground filtering otherwise you get out of range errors.
Comment by chukcha2 on 2016-04-19:
Thanks, but what I am asking is how to get that transform (between laser frame and global frame). What method are you using? Thanks.