Stage is a product of the Player/Stage Project, a collection of software tools to support research in autonomous robotics and intelligent sensor systems. Stage simulates a population of mobile robots, sensors and objects in a two-dimensional bitmapped environment. Stage is 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. We have found this to be a useful approach.
Stage devices are usually controlled through Player; a networked robot server. Player provides a convenient interface to a set of device drivers for real robots and sensors. Stage simulates a population of devices and makes them available thorugh Player. Users write robot controllers and sensor algorithms as `clients' to the Player `server'. Typically, clients cannot tell the difference between the real robot devices and their simulated Stage equivalents (unless they try very hard). We have found that clients developed using Stage will work with little or no modification with the real robots and vice versa. Thus Stage allows rapid prototyping of controllers destined for real robots. Stage also allows experiments with realistic robot devices you don't happen to have.
Various sensors and actuators are provided, including sonar, scanning laser rangefinder, color-blob vision, odometry, grippers, bumpers/whiskers and mobile robot bases.