Robotprojekter 2006: Player Stage
The goal of this project is first and foremost to write a driver for The Scorpion robots enabling them to be used with the Player/Stage/Gazebo framework. Player/Stage is used on many universities and has several advantages, such as allowing agents to run in either a simulator or using real robots without modification.
The creation of a driver for the robots will benefit future robot courses at DIKU by making it possible to share Player/Stage plugins with other universities. To help future courses a tutorial describing how to use the Player/Stage framework on the robots should be written.
The driver will be layered on top of the ERSP library. Regarding this decision, a discussion of the choice of implementation level is relevant, e.g. pros and cons of interfacing with a high-level library and the use of "black-box" libraries. Since only a limited driver implementation supporting mainly basic features of the robots is realistic, a secondary goal is to document the process of developing a driver - possibly with caveats regarding the interfacing with ERSP - to help the development of future extensions.
The ERSP interface contains several high-level components. It would be relevant to consider whether some of these components can and should be exported as virtual Player devices. Additionally, it may also be relevant to discuss integration with various features that are specific to the imagelab at DIKU, such as the camera in the ceiling, which could also be interfaced using virtual devices.
See the Results section below for a link to our official project description.
- Synopsis/official project description: Project description
- Project report: Report
- User manual for the ERSP Player driver (extraction of chapter 8 in our report): User Manual
- Writing Player/Stage drivers-howto (extraction of appendix A in our report): Writing Player/Stage drivers
- Archive-file with ERSP Player Driver Source package (also named source package): erspplayerdriver.zip
- Video-archive with video of our experiments: erspplayerdriver-video
We have checked-in the following modules:
- erspplayerdriver containing the ERSP Player Driver Source package.
- erspplayerdriver-video containing the video from our experiments.
There already exists a Player driver for the ER1 and ERSDK robot platforms offered by the same company that makes the Scorpion robots. It is developed by David Feil-Seifer, who also maintains a small homepage for the driver where a few tarballs are available containing a driver for the Linux kernel version 2.6.1 based on the FTDI USB driver. The homepage claims that the driver also works for the Scorpion robots. The Player driver has been updates to Player v2.0 and supports the position2d interface as er1_position. It takes the low-level approach and operates the robot using serial communication over the USB link. Code has been integrated into the Player/Stage CVS repository under the path /code/player/server/drivers/mixed/evolution/ in the playerstage module.
We plan to read the following articles:
- The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems
- (About:) Describes the Player/Stage project in terms of the software that is being developed, especially Stage, and how it supports the research in the field of robotics, such as facilitating experiments with devices that does not yet exist. It also addresses some of the challenges in designing a flexible and scalable framework that is able to model a wide variety of different systems, e.g. distributed-robot and sensor network systems.
- Player 2.0: Toward a Practical Robot Programming Framework (Pulication list) (Also available here)
- (About:) An introduction to the new major update to Player. It describes the basic project and design goals and a motivation for some the changes, such as reducing bugs related to data serialization when sending messages over the network. Additionally, it gives an overview of the new Player library architecture. Lastly, the paper provides an example driver.
- A Player/Stage System for Context-Aware Intelligent Environments
- (About:) The paper discusses the application of Player/Stage/Gazebo as suitable middleware for ubiquitous computing, more specifically in the sensor-enabled AwareKitchen environment. The system includes the use of sensor network motes and RFID for data collection and data aggregation in the form of Player drivers implementing advanced processing and learning algorithms.
- Player/Stage as Middleware for Ubiquitous Computing (pulication site )
- Abstract: We propose Player/Stage, a well-known platform widely used in robotics, as middleware for ubiquitous computing. Player/Stage provides uniform interfaces to sensors and actuators and allows the computational matching of input and output. Player/Stage exactly addresses the issues of dealing with heterogeneous hardware but currently only with a focus towards robotics. We show how to integrate ubiquitous computing platforms into Player/Stage and propose Player/Stage as middleware for ubiquitous computing projects.
References and Resources
- Player/Stage homepage: http://playerstage.sourceforge.net/
- Player Tutorial slides: http://www.ki.inf.tu-dresden.de/~wiki/Robotics/Creatures/PlayerTutorial.pdf
- Installation of Player, Stage and Gazebo on the IBM laptop running Gentoo Linux: http://gentoo-wiki.com/HOWTO_Install_Gazebo/Player/Stage
- Create a map of DIKU? Take a look at http://mapviewer.skynet.ie/
- Page for further development of the driver.
- Page with new and extended driver documentation