I have not been able to generate an octomap by following the instructions. I get stuck when attempting to run:
rosrun octomap_server octomap_saver map.bt
getting the error:
`[ WARN] [1305895466.866409176]: Request to /octomap_binary failed; trying again...`
Thanks in advance,
Gavin
Originally posted by Gavin with karma: 1 on 2011-05-20
This answer was NOT ACCEPTED on the original site
Post score: 1
Original comments
Comment by Scott on 2011-06-04:
Yes, HUGE thanks from me as well to you all. This is working great now. Totally amazing work here. Best Regards.
Comment by Gavin on 2011-05-31:
Thanks for the help guys, all working with your change Felix.
Comment by Felix Endres on 2011-05-31:
So the problem seems to be that I forgot to mention that you need to edit the frame_id line in the octomap_mapping.launch to this: . Sorry about that
Comment by AHornung on 2011-05-31:
I'm already back. I just posted a reply at http://answers.ros.org/question/932/how-to-get-octomap-to-store-data-sent-by-rgbdslam?answer=1811#1811
Comment by Scott on 2011-05-31:
Unfortunately, Armin is traveling for next few weeks, however if some bright developer can examine the OctomapServer.cpp file and share how we can verify that the incoming data is being stored prior to saving it out as a map, we might be able to solve this. Any help would be greatly appreciated.
Comment by Scott on 2011-05-31:
The OctomapServer.cpp listens for the incoming stream with the following line of code. m_pointCloudSub = new message_filters::Subscriber<sensor_msgs::PointCloud2> (m_nh, "cloud_in", 5); I have contacted the stack author, Armin Hornung, to ask how we can verify the code is storing the incoming data.
Comment by Scott on 2011-05-31:
...you will see it send the captured model information to the octomap_server. The problem appears to in how the octomap server is "handling" the data sent to it. What we need to solve this is a simple way to confirm that the octomap server is "accumulating" the data prior to saving out the map.
Comment by Scott on 2011-05-31:
Note, this is the exact problem that I contacted you about offline Felix. Gavin, I get the same results as you and here is what I can share with you on the troubleshoot front. 1) In a separate terminal session, run rostopic echo /rgbdslam/batch_clouds, when you hit send model after capture...
Comment by Felix Endres on 2011-05-25:
Try "rosbag play -r 0.1 " with the octomap_server listening and without running kinect driver. Then use octomap_saver. Does that work? If not, upload the bagfile somewhere and I'll have a look myself. Are you sure you have the experimental octomap-server?
Comment by Gavin on 2011-05-24:
The nodes were only connected with tf, but now are also connected with batch_clouds (my error). The bagfile is filled with what looks correct to me (112.5 MB for only /rgbdslam/batch_clouds, 70.6 KB for /tf). However, I still get only get one node in the resulting bt file...
Comment by Felix Endres on 2011-05-24:
That is weird, but I don't know much about roswtf. Are the nodes in rxgraph connected on batch_clouds and tf or only with tf? Can you record /batch_clouds and /tf with "rosbag record /tf /rgbdslam/batch_clouds and inspect the bagfile with "rosbag info " or "rxbag "?
Comment by Gavin on 2011-05-24:
My rxgraph has \rgbdslam connected to \octomap_server. In octomap_mapping.launch I've altered the line with cloud_in to: . I've also made sure I've sent the model. However, roswtf reports the \cloud_in subscription is unconnected. Is this ok?
Comment by Felix Endres on 2011-05-24:
That happens for an empty map. Make sure 1) octomap_server listens to /rgbdslam/batch_clouds, i.e. verify that with "rxgraph" 2) you have sent the model, e.g., press Ctrl+M in rgbdslam
Comment by Gavin on 2011-05-23:
After running rosrun octovis octovis map.bt I get "Reading 1 nodes from bonsai tree file... done." The visualisation then only has one cube. Any thoughts? Thanks.
Comment by Felix Endres on 2011-05-22:
What do you mean by "it only outputs a single node"?
Comment by Gavin on 2011-05-20:
Thanks, you were correct, the octomap_server wasn't running. Ran rosrun octomap_server octomap_server_node in another terminal and then rosrun octomap_server octomap_saver map.bt which seems to work, however, it only outputs a single node.
Comment by Felix Endres on 2011-05-20:
Are you sure the octomap_server is running ("rosnode list") and it is the right one (i.e. from the experimental repository)?