The Gazebo debians currently only have support for ODE (I'll explain why at the end of this post if you're interested). In order to use Bullet, Simbody, and/or Dart, you must install those physics engines and then build Gazebo from source. You can view the cmake messages to see which physics engines it found. You can also use the ldd
tool on linux to see which physics libraries your gazebo build is linked with.
To see the libraries:
# This is what it looks like when you have all 4 physics engines
$ ldd `which gzserver` | grep libgazebo_physics
libgazebo_physics.so.3 => /home/scpeters/ws/gazebo_sdformat/devel_isolated/gazebo/lib/x86_64-linux-gnu/libgazebo_physics.so.3 (0x00007ff3ec986000)
libgazebo_physics_ode.so.3 => /home/scpeters/ws/gazebo_sdformat/devel_isolated/gazebo/lib/x86_64-linux-gnu/libgazebo_physics_ode.so.3 (0x00007ff3e7460000)
libgazebo_physics_bullet.so.3 => /home/scpeters/ws/gazebo_sdformat/devel_isolated/gazebo/lib/x86_64-linux-gnu/libgazebo_physics_bullet.so.3 (0x00007ff3e71c0000)
libgazebo_physics_dart.so.3 => /home/scpeters/ws/gazebo_sdformat/devel_isolated/gazebo/lib/x86_64-linux-gnu/libgazebo_physics_dart.so.3 (0x00007ff3e6f31000)
libgazebo_physics_simbody.so.3 => /home/scpeters/ws/gazebo_sdformat/devel_isolated/gazebo/lib/x86_64-linux-gnu/libgazebo_physics_simbody.so.3 (0x00007ff3e6c8d000)
To use a specific physics engine, use the -e
argument (ode is the default).
For example:
gazebo -e bullet
gazebo -e dart
gazebo -e ode
gazebo -e simbody
The reason that the gazebo deb does not depend on any other physics engines is due to versioning and availability in the Ubuntu repositories. Simbody and Dart are not yet in Debian or Ubuntu (though Simbody may be in soon), so the Gazebo deb cannot depend on them. Bullet is in Ubuntu, but the current Ubuntu version is 2.80, while gazebo 1.9 requires bullet 2.81 and gazebo 2 requires bullet 2.82.