The fourth part in our series of posts about new features in Gazebo 3.0 covers multiple physics engines.
Gazebo 3.0 will supports the use of four different physics engines:
We are especially excited about the addition of DART and Simbody, which are Featherstone-based engines optimized for joint chains.By comparison, Bullet and ODE are maximal coordinate solvers which are optimized for performance over many independent models. Each physics engine was developed by its own community, motivated by a particular application domain, from gaming (Bullet) to simplified robot dynamics (ODE) to biomechanics (Simbody) to computer graphics and robot control (DART). We have been working with teams from Georgia Tech (DART) and Stanford (Simbody) to integrate these two physics engines, and we hope you find them both very useful.
To our knowledge, this is the first time that such a diverse set of physics engines has been supported in one simulator.
By supporting multiple engines, Gazebo allows the user to choose the approach that performs best for his or her needs. For example, maximal coordinate solvers like ODE and Bullet perform well when simulating cluttered environments, while Featherstone-based solvers like DART and Simbody are potentially more accurate in simulating articulated systems such as humanoid robots.
All four physics engines can be accessed through Gazebo’s generic physics API. Users can simulate dynamic models created using Simulation Description Format (SDF) or Unified Robot Description Format (URDF) with any of the four supported physics engines.
Below is a video demonstration of the Atlas robot performing a dynamic walking task with Boston Dynamics's proprietary walking controller. The results from all four physics engines are superimposed.