Player Project
Encyclopedia
The Player Project is a project to create free software
for research into robotics
and sensor
systems . Its components include the Player network server and Stage and Gazebo robot platform simulators. Although accurate statistics are hard to obtain, Player is one of the most popular open-source robot interfaces in research and post-secondary education. Most of the major intelligent robotics journals and conferences regularly publish papers featuring real and simulated robot experiments using Player, Stage and Gazebo.
and Andrew Howard at the University of Southern California
at Los Angeles, and is widely used in robotics research
and education
. It releases its software under the GNU General Public License
with documentation under the GNU Free Documentation License
.
Being that the software is GPL and open source
, Player Project is free in both senses (free as in free-beer and free as in free-speech).
-compatible operating systems, including Linux
, Mac OS X
, Solaris, the BSD variants, and Microsoft Windows
. Player can be described as a 'robot abstraction layer,' in that all devices are abstracted into a set of pre-defined interfaces.
Player supports a wide variety of hardware (sensor devices and robot platforms alike). It also contains client library support for a number of programming languages including C, C++
, Python
and Ruby
. Third-party client libraries are available in languages like Java
and Tcl
. Additional features include a minimal and flexible design, support for interfacing with multiple devices concurrently, and on-the-fly server configuration.
. Stage provides a basic simulation environment that can be scaled to model one to hundreds of robots at a time. Stage can be used alone to simulate robot behaviors via user-defined control programs. Stage can also interface with Player, allowing users of the Player to access simulated sensors and devices through the Player interfaces.
. Gazebo, like Stage, can be used alone, or accessed through the Player server.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
for research into robotics
Robotics
Robotics is the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots...
and sensor
Sensor
A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. For example, a mercury-in-glass thermometer converts the measured temperature into expansion and contraction of a liquid which can be read on a calibrated...
systems . Its components include the Player network server and Stage and Gazebo robot platform simulators. Although accurate statistics are hard to obtain, Player is one of the most popular open-source robot interfaces in research and post-secondary education. Most of the major intelligent robotics journals and conferences regularly publish papers featuring real and simulated robot experiments using Player, Stage and Gazebo.
Overview
The Player Project is an umbrella under which three robotics-related software projects are currently developed. These include the Player networked robotics server, the Stage 2D robot simulation environment, and the Gazebo 3D robot simulation environment. The project was founded in 2000 by Brian Gerkey, Richard VaughanRichard Vaughan (robotics)
Richard Vaughan is a robotics and artificial intelligence researcher at Simon Fraser University in Canada. He is the founder and director of the SFU Autonomy Laboratory. In 1998, Vaughan demonstrated the first robot to interact with animals and in 2000 co-founded the Player Project, a robot...
and Andrew Howard at the University of Southern California
University of Southern California
The University of Southern California is a private, not-for-profit, nonsectarian, research university located in Los Angeles, California, United States. USC was founded in 1880, making it California's oldest private research university...
at Los Angeles, and is widely used in robotics research
Research
Research can be defined as the scientific search for knowledge, or as any systematic investigation, to establish novel facts, solve new or existing problems, prove new ideas, or develop new theories, usually using a scientific method...
and education
Education
Education in its broadest, general sense is the means through which the aims and habits of a group of people lives on from one generation to the next. Generally, it occurs through any experience that has a formative effect on the way one thinks, feels, or acts...
. It releases its software under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
with documentation under the GNU Free Documentation License
GNU Free Documentation License
The GNU Free Documentation License is a copyleft license for free documentation, designed by the Free Software Foundation for the GNU Project. It is similar to the GNU General Public License, giving readers the rights to copy, redistribute, and modify a work and requires all copies and...
.
Being that the software is GPL and open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, Player Project is free in both senses (free as in free-beer and free as in free-speech).
Player
The Player software runs on POSIXPOSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
-compatible operating systems, including Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, Solaris, the BSD variants, and Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
. Player can be described as a 'robot abstraction layer,' in that all devices are abstracted into a set of pre-defined interfaces.
Player supports a wide variety of hardware (sensor devices and robot platforms alike). It also contains client library support for a number of programming languages including C, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
and Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
. Third-party client libraries are available in languages like Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
and Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
. Additional features include a minimal and flexible design, support for interfacing with multiple devices concurrently, and on-the-fly server configuration.
Stage
The Stage simulator is a 2D multiple-robot simulation environment built on top of FLTKFLTK
FLTK is a cross-platform GUI library developed by Bill Spitzak and others. Made with 3D graphics programming in mind, it has an interface to OpenGL, but it is also suitable for general GUI programming....
. Stage provides a basic simulation environment that can be scaled to model one to hundreds of robots at a time. Stage can be used alone to simulate robot behaviors via user-defined control programs. Stage can also interface with Player, allowing users of the Player to access simulated sensors and devices through the Player interfaces.
Gazebo
The Gazebo simulator is a 3D robot simulation environment built on top of OGREOGRE
OGRE is a scene-oriented, flexible 3D rendering engine written in C++ designed to make it easier and intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics...
. Gazebo, like Stage, can be used alone, or accessed through the Player server.
Supported robots
- Acroname's Garcia
- Botrics's Obot d100
- CoroWare Inc. Corobot and Explorer
- Evolution Robotics' ER1 and ERSDK robots
- iRobot's Roomba vacuuming robot
- K-Team's Robotics Extension Board (REB) attached to Kameleon 376BC
- K-Team's Khephera
- MobileRobots' (formerly ActivMedia) PSOS/P2OS/AROS-based robots
- Nomadics' NOMAD200 (and possibly related) mobile robots
- RWI/iRobot's RFLEX-based robots (e.g., B21r, ATRV Jr)
- Segway's Robotic Mobility Platform (RMP)
- UPenn GRASP's Clodbuster
- Videre Design's ERRATIC mobile robot platform
- White Box Robotics' 914 PC-BOT
See also
- Simbad robot simulatorSimbad robot simulatorSimbad robot simulator is an open source cross-platform software simulator used to develop robotics and artificial intelligence applications. The Simbad project started in 2005, initially developed by Dr. Louis Hugues and is widely used for educational purposes. Simbad is distributed under the GNU...
- Microsoft Robotics StudioMicrosoft Robotics StudioMicrosoft Robotics Developer Studio is a Windows-based environment for robot control and simulation. It is aimed at academic, hobbyist, and commercial developers and handles a wide variety of robot hardware....
- WebotsWebotsWebots is a professional robot simulator widely used for educational purposes.The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology in Lausanne, Switzerland....
- URBIURBIUrbi is an open source cross-platform software platform in C++ used to develop applications for robotics and complex systems. Urbi is based on the UObject distributed C++ component architecture. It also includes the urbiscript orchestration language which is a parallel and event-driven script...
- Turtle (robot)Turtle (robot)Turtles are a class of educational robots designed originally in the late 1940s and used in computer science and mechanical engineering training. These devices are traditionally built low to the ground with a roughly hemispheric shell and a power train capable of a very small turning radius...
- RoStaRostaRosta or Rustah was the name of a district in Isfahan area in Iran attested in historical sources. The Persian explorer Ibn Rustah was a native of Rosta....
- Mobile Robot Programming ToolkitMobile Robot Programming ToolkitThe Mobile Robot Programming Toolkit is a cross-platform and open source C++ library aimed to help robotics researchers to design and implement algorithms related to Simultaneous Localization and Mapping , computer vision and motion planning...
- CARMENCarmen ToolkitCARMEN, the Carnegie Mellon Robot Navigation Toolkit, is an open-source collection of software for mobile robot control. It is designed as a modular software to provide basic navigation functionalities, which include: base and sensor control, logging, obstacle avoidance, localization, path...
- ROS (Robot Operating System)ROS (Robot Operating System)Robot Operating System is a software framework for robot software development, providing operating system-like functionality on a heterogenous computer cluster. ROS was originally developed in 2007 under the name switchyard by the Stanford Artificial Intelligence Laboratory in support of the...