ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Octomap slows down the gazebo simulation, is there anyway to speed up

asked 2013-04-05 11:35:27 -0600

VN gravatar image

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.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2013-04-09 01:34:22 -0600

AHornung gravatar image

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.
edit flag offensive delete link more

Comments

Thanks Armin!

VN gravatar image VN  ( 2013-04-10 20:41:39 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2013-04-05 11:35:27 -0600

Seen: 1,212 times

Last updated: Apr 09 '13