Stage User Guide

Detailed Description

Stage provides a virtual world populated by mobile robots and sensors, along with various objects for the robots to sense and manipulate. It is usually used with the Player robot server, but it can also be used as a stand-alone robot simulation library. Stage is part of the Player/Stage Project [].


Stage was designed with multi-agent systems in mind, so it provides fairly simple, computationally cheap models of lots of devices rather than attempting to emulate any device with great fidelity. This design is intended to be useful compromise between conventional high-fidelity robot simulations, the minimal simulations described by Jakobi [4], and the grid-world simulations common in artificial life research [5]. We intend Stage to be just realistic enough to enable users to move controllers between Stage robots and real robots, while still being fast enough to simulate large populations. We also intend Stage to be comprehensible to undergraduate students, yet sophisticated enough for professional reseachers.

Player also contains several useful 'virtual devices'; including some sensor pre-processing or sensor-integration algorithms that help you to rapidly build powerful robot controllers. These are easy to use with Stage.



Stage provides several sensor and actuator models, including sonar or infrared rangers, scanning laser rangefinder, color-blob tracking, fiducial tracking and mobile robot bases with odometric or global localization.

Note: Some models from previous versions may not yet be available in this release (e.g. gripper & puck), but we're working on them. Let us know which ones you need.


Stage was written by:

Many patches and bug reports have been contributed by users around the world.

Stage is part of the Player/Stage Project, a community effort to develop Free Software tools for robotics research. Stage is free to use, modify and redistribute under the terms of the GNU General Public License.

If you use Stage in your work, we'd appreciate a citation. At the time of writing, the most suitable reference is:

Please help us keep track of what's being used out there by correctly naming the Player/Stage components you use. Player and Stage used together are referred to as "the Player/Stage system" or just "Player/Stage". When libstage is used without Player, it's just called "Stage". When Player is used with its 3D ODE-based simulation backend, Gazebo, it's called Player/Gazebo. Gazebo without Player is just "Gazebo". All this software is part of the "Player/Stage Project".

Funding for Stage has been provided in part by:

The names "Player" and "Stage" were inspired by the lines:

 "All the world's a stage"
 "And all the men and women merely players"

from "As You Like It" by William Shakespeare.


Getting Help
FAQ: Frequently Asked Questions

Generated on Thu Aug 11 13:08:10 2005 for Stage by  doxygen 1.4.0