On Mon, 20 Oct 2003, Shing Yenn Tan wrote:
> I wasn't sure if I should post this mail in the bulletin because it is
> regarding some simple questions about Player and Stage. I'm a mechanical
> engineering undergraduate and I'm currently doing a project on search
> robots. I'm a new Linux user so I'm not sure how Player/Stage really works
> and I'm hoping you could help to answer some question please.
I'm copying this mail to our users' list, because it may also help other
> 1) I read that P/S support robots such as Pioneer and AmigoBot. Does it
> also support other robots such as the PPRK (www.acroname.com). (I plan to
> build my own robot and make use of the PPRK technology).
Player supports a pretty wide variety of robots and sensors (for a list,
I'm not familiar with PPRK, but having skimmed the website, I think that
Player drivers could be written for these devices. If you're interested in
doing this, a pretty complete howto can be found in Chapter 8 of the Player
User Manual: http://playerstage.sourceforge.net/doc/doc.html. If you do
write such drivers, we would very much appreciate your contributing them to
the project, so that others can use (and improve) them.
> 2) I also read that I could simulate a program using just Stage? What does
> that mean? Do I write programs and just save it as a world file and then
> run it under Stage?
> 3) Ok, this sounds a little silly, but I'm not sure where to begin writing a
> code. Do I open a world file for e.g. and edit it, save it as another file
> and run that?
Stage simulates a collection of robots, and Player provides an interface
to robots. Control programs (i.e., the "brains" of the robots)
are *clients* to the Player *server*. Whether using real robots or
simulated robots (e.g., using Stage or Gazebo), the interface seen by
your client programs remains the same: Player. For examples of client
programs, look in the distribution under 'examples'. For a list of client
libraries (which help you write client prorams) in various languages,
To run Stage simulations: First, write yourself a Stage .world file
that specifies the configurations and locations of your robots (this
is analagous to setting up and positioning real robots). Run Stage,
which will spawn Player. Then you run your robot control programs,
just as you would with real robots, but direct them at the appropriate
host:port addresses for your simulated robots.
For a quick start, run Stage with 'everything.world' (found in
'share/stage/worlds' under wherever you installed Stage), then run
'randomwalk' (found in 'examples/c++' under wherever you built Player).
You should see the red robot randomly wander around using its sonars.
Hope this helps.