0
$\begingroup$

Rosanswers logo

Hi all: I am working with mobile manipulator in simulations for which I am using ROS electric, gazebo, octomap_mapping (version sometime released in June 2012), and my ubuntu OS is 10.10. Point cloud data for the octomap comes from Kinect sensor. I have noticed that my gazebo simulation is slower as a result of octomap.

for e.g. if I run mobile base in simulation with the help of teleop_keyboard, then without the launch of octomap_server node, it runs ok as expected, however as I launch the octomap_server node and again play with teleop_keyboard then it slows down a lot. Same thing with arm trajectory execution in simulation with or without octomap_server. So gazebo is not an issue, slowness comes from octomap.

Is there anyway I can speed up my simulation while using octomap_mapping for 3D mapping.

Thanks in advance.


Originally posted by VN on ROS Answers with karma: 373 on 2013-04-05

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Using high-density high-framrate data in octomap_server will definitely saturate your CPU. There will be an (expensive) raycast to every endpoint before inserting the ray into the map.

Ideally, you will have a spare core that can be used by just octomap_server, but even then you need to preprocess or throttle your data. Our paper (linked from http://octomap.github.io/) will give you some idea about the performance.

Some steps to take:

  • Throttle the framerate of the point clouds. There's no need to build maps with 30Hz. 5 or even 1 Hz will be just good.
  • Change the octomap resolution (parameter ~resolution, directly relates to the performance)
  • Subsample the point clouds e.g. with a PCL voxel grid so something just below your octomap resolution
  • Set the maximum range for rays to your area of interest, e.g. 5m (~sensor_model/max_range, directly relates to the performance)
  • Set the ~latch parameter of octomap_server to false, and only subscribe to topics you absolutely need.

Originally posted by AHornung with karma: 5904 on 2013-04-09

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by VN on 2013-04-10:
Thanks Armin!

$\endgroup$

Your Answer

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