0
$\begingroup$

Rosanswers logo

Hi everyone. Felix Endres has a grest post on ROS Answers for how to get rgbdslam to send data to octomap and save it out as a map that can then potentially be used for navigation and path planning. However, even though the rgbsdlam package sends the data (which can be seen by listening to the /rgbdslam/batch_clouds output ros topic when you send the model), nothing seems to get "stored" in the octomap server, which should acccumulate the point clouds sent by rgbdslam in some variable. I worked with Felix for about a week trying to debug this, all of the basics are fine. ie topics are good, launch files are correct, nodes wired correctly, etc. Octomap will even save out a <filename.bt> output fill that you can attempt to open in octoviz, but it has no actual point cloud data. It's just empty.

Has ANYONE gotten this to work besides Felix and if so, can you share you notes so we can find the missing step and share this with the community? Thanks.


Originally posted by Scott on ROS Answers with karma: 693 on 2011-05-16

Post score: 0


Original comments

Comment by ZiyangLI on 2014-01-14:
Could you tell me the link to the "great post"?

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Hi Scott,

I just tried it today and it almost worked right away. The only thing that the tutorial at http://www.ros.org/wiki/rgbdslam did not mention was that you have to use the experimental version of the octomap stack. I changed the tutorial accordingly. Other than that, it worked as expected.

Juergen


Originally posted by JuergenHess with karma: 86 on 2011-05-17

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by Scott on 2011-05-31:
Hi Juergen, so are you saying you actually got a usable map to show up when you save it off? I can get everything to work, but there ends up being no cloud data in the map when you look at it with octoviz. Others are having same issue as me...no errors, can save a map, but no data in map.

$\endgroup$
0
$\begingroup$

Rosanswers logo

In the development ("experimental") branch of octomap_server, the pointcloud subscription runs through a tf message filter to ensure that a suitable transform is available. For that to work, you need to set the parameter "frame_id" of octomap_server to the correct one from rgbdslam and have a clock running (if you playback from log files). Be sure to check for errors using rxconsole and roswtf.

At the end of the pointcloud insertion in the octomap there is a debug output ("Pointcloud insertion in OctomapServer done ..."). If you set the log level to debug on octomap_server in rxconsole, you should see that message each time a pointcloud is integrated. Otherwise the callback is not called through the tf message filter.


Originally posted by AHornung with karma: 5904 on 2011-05-31

This answer was NOT ACCEPTED on the original site

Post score: 3

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.