ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Gazebo has two threads, one for physics and one for rendering. If you are running headless, only the physics thread is active. Approximate durations for an empty world with one PR2 in it running on a 2.8GHz i7 can be broken down to following serial processes:
When an object + task is introduced, individual parts can take significantly longer. For example, when PR2 is holding a trimesh object such as in the example of the pr2_tabletop_manipulation_gazebo_demo package, each finger tip introduces around 20 contact joints with the object, totaling about 40 contact joints in all, resulting in physics updates taking about 2x more time to compute. In addition, physics thread in the grasping case can take up to 1.75 full cores.
When rendering thread is turned on, its update rate is much slower, and interlocks with the physics thread via mutexes at various places.
Hope this helps.