Monday, 3 May 2010


Every programming paradigm has a 'Hello World' program. I try out something similar in Player-Stage and in process acquaint myself with various newer aspects of Player-Stage. After trying out player simple.cfg to check out Player-Stage installation, here I try to understand the involved working principles.


Files needed to create the hello world (copied from Stage-3.2.0-Source/worlds and modified) are;
These 6 files contains information and configuration of the simulation.

1. cave.png 

This file contains the 'picture' of the environment.


This file contains a floor plan and is included (.inc file) in


This file contains the information about the robot model, the geometry, wheels etc of the robot. This file is included in


This file contains SICK LMS 200 configurations, factory settings and geometry. This file is included in

5. simple.cfg

The configuration (.cfg) file tells the player that there is a driver called stage in stageplugin library. This file enables player to 'talk' to the driver.

For real robots the drivers are build into player, for a simulation the driver is always stage.


It contains the environment details,

and also the robot coordinates and robot behaviour

The 'pose' is the robot coordinates (x,y,z) and the heading angle (also called yaw). 'wander' is the default behaviour (this is new plugin API to Stage, earlier versions did not have it).

Any robot (or autonomous vehicle) navigation can be defined completely by the 3 coordinates and the heading a angle.


Before the screen with the little red robot pops up, loads of command flashes across the terminal window.

2 important aspects ;

(a) wander
the wander is the default behaviour, via the file. There are other Stage controllers which can be used to obtain other behaviours and informations.

(b) port 6665
port 6665 is the default port for Player and Stage.Player and Stage communicate through this port.

No comments: