![]() |
||||||||||||
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
Advanced Track Website
Here is some helpful information about Player/Stage/Gazebo:
Overview (taken from http://playerstage.sourceforge.net):
Player provides a network interface to a variety of robot and sensor hardware. Player's client/server model allows robot control programs to be written in any programming language and to run on any computer with a network connection to the robot. Player supports multiple concurrent client connections to devices, creating new possibilities for distributed and collaborative sensing and control.
Within this framework, Stage and Gazebo are platforms that model both the robots and the environments that they act in. Stage is a 2D simulator designed to handle muli-robot systems more easily, while Gazebo provides a 3D environment with a realistic physics package to model which can also model multiple robots, but slower.
Both Stage and Gazebo provide realistic feeback from the sensors on the robot, and the client (Player) can read from these sensors and send commands back to the robot.
Your first time using Player and Gazebo:
Player/Stage/Gazebo (PSG) is installed in the /contrib directory, so the first thing that you need to do is add this directory to your path:
/contrib/projects/psg/local/bin
and you also need to set a PYTHONPATH variable.
You can do this every time you start a terminal by adding these two lines to your .environment file:
pathappend PATH /contrib/projects/psg/local/bin
setenvvar PYTHONPATH /contrib/projects/psg/local/lib/python2.3/site-packages
To run PSG, you must start either Stage or Gazebo first, then connect a Player client to it.
To run gazebo, cd into the /contrib/projects/psg/gazebo-0.5.2/worlds directory and type:
wxgazebo example.world
wxgazebo is the gazebo platform with a visualizer attached. You should see this pop up containing a robot and a simulated environment.
In another terminal, type playerv. This will bring up a packaged client for the example environment, and from here you can get data from the robot and control it.
Select Device-Position:0-Subscribe. This will show you the robot in the playerv window.
Try Device-Laser:0-Subscribe. Now you can see the laser ranging values coming back from the robot.
Device-Position:0-Command will allow you to move the robot by clicking on the '+' sign on the robot and dragging it in different directions. As you approach walls, the ball, etc, you will be able to better see the laser data in action.
Congradulations! You have just used PSG!
Here is a link to the documentation for libplayerc, the C client library:
http://playerstage.sourceforge.net/doc/Player-current/player-html/group__player__clientlib__libplayerc.php
And Here is a link to the C++ documentation:
http://playerstage.sourceforge.net/doc/Player-current/player-html/group__player__clientlib__cplusplus.php
This is a link to the Terrain builder (gzbuilder) documentation:
http://playerstage.sourceforge.net/doc/Gazebo-manual-0.5-html/gzbuilder.html
more to come...