The Manual
I wrote a manual for people to learn Player/Stage from. You can download the pdf from this page (along with the code source files). This manual is intended as a supplement to the official manuals, it contains the information you need to know to begin using Player/Stage, and (I hope) explains it in a structured and understandable way.This site will be used to provide some supplementary material and general support to the tutorial document.
I have (as of 16th April 2010) updated the manual to cover Stage 3.2.X, which is the latest stable release of Stage.
For those wanting help with how to update stuff from Stage 2.1.1 to Stage 3.2.X that link documents how I updated the manual code to the newer syntax. It's quite helpful if your Stage simulation gives the very specific errors that I cover.
The information on these pages is used as supplementary material in a few university robotics courses. If your university uses this site or my manual I would be interested to know! The only places I know about at the moment are the University of Nevada, Reno and the South Dakota School of Mines and Technology.
Downloads
- The Player/Stage tutorial, using Stage 3.2.2. If you're new to Player/Stage this is most likely the version you need.
- This version of the manual has been translated into Spanish by Fabián A. Karaben here: Cómo usar Player/Stage
- Source code from the manual: .zip format .tar format
- The old Player/Stage tutorial covering both Stage 2.1.1 and 3.1.0.
- Source code from old the manual: .zip format .tar format
- A Makefile for small projects (you'll need to remove the .txt file extension). This makefile has been tested for files with includes stored in other folders, it also works for programmes that are spread across several files. Folder names, file names and include folders will need to be changed according to how you've stored your project.
Useful Links
- Instructions as to how to set up an Eclipse C/C++ IDE for compiling Player/Stage code.
- Instructions for installing Player/Stage on Ubuntu Natty Narwhal
- This is quite an interesting tutorial about writing Player/Stage drivers from the University of Copenhagen
- I am currently writing a Stage plugin following PSU Robotics club's very helpful tutorial on writing a player/stage plugin.
- The Pennsylvania State University's Robotics club wiki in general is also a very useful and well written resource.
Some More Example Code
- E-Puck API. This is a half-finished API which I wrote to interact with Player proxies on behalf of my proper code. At the moment only the sonar, position2d and blobfinder proxies are fully implemented, as such this code can be used with any robot that uses these proxies if you just replace the word "EPuck" with "Robot". The end goal is to have an API for my Player code to use which can interact with either a simulation of an epuck or a real epuck and all that really needs to be changed is one data type (EPuckSim to EPuckReal for instance) and it just works. Still to do is implement AudioProxy, WifiProxy and aioProxy.
- the code so far, including some test code that uses the API and a stage simulation for it to run on
- X-Swarming. This is something I wrote to practice making a few robots swarm. It's pretty sucky as far as simulations go, there are 3 robots who can only move to the left or right, and they can only see what's above themselves in the simulation. They try and flock along the X axis (the top robot moves mechanically from left to right no thinking or processing is involved).