From The Player Project
The Player project provides a wide variety of useful software for robotics projects. If you are considering using Player in your robotics project, this page will guide you through the steps you need to take to get Player up and running with your setup.
Plan what you need to develop
Does player support your hardware?
You can find the answer in the List of supported devices.
- If your hardware is supported you can continue with the next question.
- If your hardware is not supported, you need to develop drivers for your hardware. Writing Player drivers for hardware isn't very difficult, but can take some time to get right. The Writing a Player driver tutorial outlines the process in detail. And if you do end up writing your own driver, please consider Contributing it back to Player. Contributions from the community make Player a valuable resource for everyone.
Does your robot already have Player?
For the most part, Player is not installed on robots by default. If your robot has an on-board computer, configuring Player may be as easy as building it on your robot. Player can also support wireless connections certain robots.
The information about downloading and installing Player can be found in the Download page.
Does your robot support Player?
Player works with Linux, *BSD, Mac OS X, QNX, Solaris, and Windows.
- If your robot already have one of them, you can go to the Download page for instructions on installing Player on your platform
- If your robot don't have any of them or the supplied OS is not suitable for Player you will need to install a OS on your own (if you attach a laptop to a robot, this step should be easy). You may also want to download a Linux distribution that has Player packages
Do you want to work in a simulated environment?
As you simulate your robot, you may find that some of the example models do not adequately represent your desired robot configuration. This can be solved by creating your own Stage or Gazebo models of your robot.
What programming language will you use to interact with your robot?
Interaction with robots (the Player server) generally happens through the Player client libraries. Currently, Player ships with C, C++ and Python and Ruby. MATLAB bindings are also included, but not installed.
If none of these languages are suitable, you may be able to find and install third party language bindings, see the client libraries page for details.
Install everything you need
Once you've identified your requirements, you need to install the appropriate software packages to support your project. See the Download page for details. Player will generally be installed on the robot or on a computer attached to the robot.
The Player server is network transparent, which means that client
Write the configuration files
The first step required to work with Player is write its configuration file. The Player project software comes with a good number of examples. Configurations for a lot of common robots in Player (in the config subdirectory), some world files and Player configurations in Stage (worlds subdirectory) and lots of world files with almost every model supported in Gazebo (worlds subdirectory). These examples are generally known to work.
You can use these files to test your installation, or use them as a reference as you write your own configuration file.
You will need to modify the some values or maybe even write your own file, the syntax is simple enough for both cases. For more information read the Writing configuration files tutorial.
If you are using a simulator, you may also want to reference the directions for using simulators with Player:
- Instructions for Player and Stage can be found in the Quick start guide.
- Instructions for Player working with Gazebo can be found in this page of the Gazebo manual.
Testing the Player drivers
Before writing a client program, it may be wise to test that everything in the Player server is working. The Player distribution comes with a program called playerv. This is a graphical program that allows you to control a robot through a very simple interface.
After checking that you can subscribe (connect to) to any device and control the robot devices, move it around, etc. you are now ready to write a client progam.
Your own client program
Now is time to do something useful with your robot.
The easiest way to develop a program for Player is using the client libraries of the language best suits you. To know more about how to program an application for the Player server, see the Manual for player.