Gazebo
0.6
Gazebo is a multi-robot simulator for both indoor and outdoor environments. Like Stage, it is capable of simulating a population of robots, sensors and objects, but does so in a three-dimensional world. It generates realistic sensor feedback, object collisions and dynamics.Gazebo is normally used in conjunction with the Player device server; Player provides an abstracted, network-centric mechanism (a server) through which robot controllers (clients) can interact with robot hardware. When used with Gazebo, Player provides simulated data in the place of real sensor data. In principle, client programs cannot tell the difference between real devices and the Gazebo simulation of those devices.
Gazebo can also be controlled through a low-level C API (libgazebo). This library is included to allow third-party developers to easily integrate Gazebo into their own (non-Player) servers or architectures.
Installation instructions for Gazebo can be found here.
Quick-start guide
The Gazebo server can be started as follows:
$ wxgazebo [options] <worldfile>
where worldfile
is an XML file containing the description of the world and everything in it. Sample world files can be found in the worlds
directory of the source distribution, or in the installed version under /usr/local/share/gazebo/worlds/
(default install). For example:
$ wxgazebo /usr/local/share/gazebo/worlds/example.world
Advanced usage
As of version 0.5, the Gazebo server no longer has a built in GUI (it runs entirely from the command line). Thus, for example, one can use:$ gazebo /usr/local/share/gazebo/worlds/example.world
$ wxgazebo /usr/local/share/gazebo/worlds/example.world
wxgazebo
is actually a bunch of Python scripts that executes the server as a child process.