The Player Project (formerly the Player/Stage Project) is a project to create
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
for research into
robotics
Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
and
sensor
A sensor is a device that produces an output signal for the purpose of sensing a physical phenomenon.
In the broadest definition, a sensor is a device, module, machine, or subsystem that detects events or changes in its environment and sends ...
systems. Its components include the ''Player'' network server and the ''Stage'' 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 and Stage.
Overview
The Player Project is an umbrella under which two robotics-related software projects are currently developed. These include the Player networked robotics server, and the Stage 2D robot simulation environment. The project was founded in 2000 by Brian Gerkey,
Richard Vaughan and Andrew Howard at the
University of Southern California
The University of Southern California (USC, SC, or Southern Cal) is a Private university, private research university in Los Angeles, California, United States. Founded in 1880 by Robert M. Widney, it is the oldest private research university in C ...
at Los Angeles, and is widely used in robotics
research
Research is "creativity, creative and systematic work undertaken to increase the stock of knowledge". It involves the collection, organization and analysis of evidence to increase understanding of a topic, characterized by a particular att ...
and
education
Education is a purposeful activity directed at achieving certain aims, such as transmitting knowledge or fostering skills and character traits. These aims may include the development of understanding, rationality, kindness, and honesty. Va ...
. It releases its software under the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
with documentation under the
GNU Free Documentation License
The GNU Free Documentation License (GNU FDL or simply GFDL) is a copyleft license for free documentation, designed by the Free Software Foundation (FSF) for the GNU Project. It is similar to the GNU General Public License, giving readers the r ...
.
The Player is set of
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s (e.g. position2d, bumper, ir, speech, power) that can be implemented by a robot chassis (Roomba, Khephera etc.), possibly over serial line or network, or by Stage (2D simulator) or Gazebo (3D simulator).
Player
The Player software runs on
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and
POSIX
The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming interf ...
-compatible
operating systems
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also inc ...
, including
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
,
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
, and the
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
variants. 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++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
and
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
. Third-party client libraries are available in languages like
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
and
Tcl
TCL or Tcl or TCLs may refer to:
Business
* TCL Technology, a Chinese consumer electronics and appliance company
**TCL Electronics, a subsidiary of TCL Technology
* Texas Collegiate League, a collegiate baseball league
* Trade Centre Limited ...
. 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
FLTK. 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 3D robot simulator was a component in the Player Project from 2004 through 2011. Gazebo integrated the
ODE
An ode (from grc, ᾠδή, ōdḗ) is a type of lyric poetry. Odes are elaborately structured poems praising or glorifying an event or individual, describing nature intellectually as well as emotionally. A classic ode is structured in three majo ...
physics engine, OpenGL rendering, and support code for sensor simulation and actuator control. In 2011, Gazebo became an independent project support by
Willow Garage
Willow Garage was a robotics research lab and technology incubator devoted to developing hardware and open source software for personal robotics applications. The company was most likely best known for its open source software suite ROS (Robot ...
.
- Gazebo Simulator
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 simulator
Simbad 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 edu ...
* Microsoft Robotics Studio
Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a discontinued Windows-based environment for robot control and simulation that was aimed at academic, hobbyist, and commercial developers and handled a wide variety of robot hardware. I ...
* Webots
Webots is a free and open-source 3D robot simulator used in industry, education and research.
The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology ( EPFL) in Lausanne, Switze ...
* URBI
Urbi 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 lang ...
* Turtle (robot)
Turtles are a class of educational robots designed originally in the late 1940s (largely under the auspices of researcher William Grey Walter) and used in computer science and mechanical engineering training. These devices are traditionally built l ...
* Mobile Robot Programming Toolkit
The Mobile Robot Programming Toolkit (MRPT) 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, Simultaneous Localization and Mappi ...
* ROS (Robot Operating System)
Robot Operating System (ROS or ros) is an open-source robotics middleware suite. Although ROS is not an operating system (OS) but a set of software frameworks for robot software development, it provides services designed for a heterogeneous com ...
References
External links
* {{Official website, http://playerstage.sourceforge.net
Player Project wiki
Gazebo Simulator
Free software projects
Robotics simulation software
2000 software
2000 in robotics