Player (robótica)
# Player (robótica)

Player es una interfaz de código abierto para dispositivos robóticos.

Player es una Capa de abstracción del Hardware (Hardware Abstraction Layer: HAL) para dispositivos robóticos. El sistema operativo (Linux, Mac OS X, etc.) oculta los detalles de hardware del ordenador definiendo unos conceptos genéricos como son el "ratón", y la "impresora", cada uno con una interfaz propia.

Player tiene el mismo objetivo para dispositivos robóticos, pudiendo así ser considerado un sistema operativo para robots (Robot OS). Player define una serie de interfaces estándar, cada uno de los cuales es una especificación de las formas en las que se puede interactuar con alguna clase de dispositivos. Por ejemplo la interfaz interface_position2d es usado por los robots móviles que se mueven por el suelo, permitiéndoles aceptar comandos que les hacen moverse (con objetivos a conseguir en velocidad o en posición) y devuelve su estado (la velocidad y la posición actual). El trabajo del driver es hacer que el robot de soporte a una interfaz definida como estándar. Así el código de control escrito para Player que es usado en un robot podrá funcionar (dentro de unos límites razonables) en otro robot.

Player también pone a disposición de los usuarios unos mecanismos de transporte que permiten a los datos ser intercambiados entre los drivers y los programas de control que están siendo ejecutados en máquinas distintas. Con gran diferencia el método de transporte más común en uso hoy en día es un transporte cliente/servidor basado en sockets TCP.

Aunque la mayoría de los drivers de Player controlan directamente el hardware, existen los drivers abstractos. Un driver abstracto usa otros drivers, en vez de como hardware, como fuentes de datos y como lugar donde enviar comandos. El uso fundamentar de los drivers abstractos es encapsular algoritmos útiles de tal forma que puedan ser reutilizados fácilmente.

El código fuente de Player y su documentación está disponible bajo los términos de la licencia GNU General Public License v2.

## Simuladores

Dispone de varios simuladores que emulan un robot auténtico en entornos tanto de dos dimensiones como de tres dimensiones.

* Gazebo Simulador en tres dimensiones oficial del proyecto player
* Stage Simulador en dos dimensiones oficial del proyecto player
* Player viewer 3D Simulador en tres dimensiones extraoficial
