Robot Operating System
Robot Operating System | ||
---|---|---|
![]() | ||
Información general | ||
Tipo de programa | Suite de Robótica, SO, librería | |
Autor | Willow Garage, Laboratorio de Inteligencia Artificial de Stanford | |
Desarrollador |
| |
Lanzamiento inicial | 2007 | |
Licencia | Licencia BSD | |
Idiomas | Inglés | |
Información técnica | ||
Programado en | C++, Python | |
Versiones | ||
Última versión estable | Fuerte[1] (info) (23 de abril de 2012 (13 años, 1 mes y 1 día)) | |
Enlaces | ||
Portal:Robótica. Contenido relacionado con Robótica.
Sistema Operativo Robótico (ROS) es un framework para el desarrollo de software para robots que provee la funcionalidad de un sistema operativo en un clúster heterogéneo. ROS se desarrolló originalmente en 2007 bajo el nombre de switchyard por el Laboratorio de Inteligencia Artificial de Stanford para dar soporte al proyecto del Robot con Inteligencia Artificial de Stanford (STAIR[2]). Desde 2008, el desarrollo continua primordialmente en Willow Garage, un instituto de investigación robótica con más de veinte instituciones colaborando en un modelo de desarrollo federado [3][4].
ROS provee los servicios estándar de un sistema operativo tales como abstracción del hardware, control de dispositivos de bajo nivel, implementación de funcionalidad de uso común, paso de mensajes entre procesos y mantenimiento de paquetes. Esto está basado en una arquitectura de grafos donde el procesamiento toma lugar en los nodos que pueden recibir, mandar y multiplexar sensores, controlar, controlar estados, planificar, actuar y otros mensajes. La librería está orientada hacia un sistema UNIX(Ubuntu Linux es el sistema soportado aunque también se admiten algunas variantes como Fedora o Mac OS X consideradas como 'experimentales').
ROS tiene dos partes básicas: la parte del sistema operativo, ros, como se ha descrito anteriormente y ros-pkg, una suite de paquetes aportados por la contribución de usuarios (organizados en conjuntos llamados pilas o en inglés stacks) que implementan la funcionalidades tales como localización y mapeo simultáneo, planificación, percepción, simulación, etc.
ROS es software libre bajo términos de licencia BSD. Esta licencia permite libertad para uso comercial e investigador. Las contribuciones de los paquetes en ros-pkg están bajo una gran variedad de licencias diferentes.
Aplicaciones
Las áreas que incluye ROS son:
- Un nodo principal de coordinación.
- Publicación o subscripción de flujos de datos: imágenes, estéreo, láser, control, actuador, contacto, etc.
- Multiplexación de la información.
- Creación y destrucción de nodos.
- Los nodos están perfectamente distribuidos, permitiendo procesamiento distribuido en múltiples núcleos, multiprocesamiento, GPUs y clústeres.
- Login.
- Parámetros de servidor.
- Testeo de sistemas.
Las áreas que incluirán las aplicaciones de los paquetes de ROS son:
- Percepción
- Identificación de Objetos
- Segmentación y reconocimiento
- Reconocimiento facial
- Reconocimiento de gestos
- Seguimiento de objetos
- Egomoción
- Comprensión de movimiento
- Estructura de movimientos (SFM)
- Visión estéreo: percepción de profundidad mediante el uso de dos cámaras
- Movimientos
- Robots móviles
- Control
- Planificación
- Agarre de objetos
Historial de versiones
Una versión de ROS puede ser incompatible con otra. Normalmente están referidas a por un sobrenombre en vez de por una versión numérica. Las versiones, de la más nueva a la primera versión, son:
- 23/Abril/2012 - Fuerte
- 30/Agosto/2011 - Electric Emys
- 02/Marzo/2011 - Diamondback
- 03/Agosto/2010 - C Turtle
- 01/Marzo/2010 - Box Turtle
- 22/Enero/2010 - ROS 1.0
Puertos para robots y placas
- PR2: robot personal que está siendo desarrollado por Willow Garage.
- PR1: robot personal desarrollado en el laboratorio de Ken Salisbury en Stanford.
- HERB: desarrollado en CMU dentro del programa de robótica personal de Intel.
- STAIR I y II: robots desarrollados en el laboratorio de Andrew Ng en la Universidad de Stanford.
- Koen Buys (Embedded Sensor Lab): el laboratorio de robótica de la Katholieke_Universiteit_Leuven (Bélgica), donde han desarrollado la Beagleboard.
- Humanoide Nao: el Humanoid Robots Lab de la University of Freiburg desarrolló una integración en ROS para el Humanoide Nao.
- Husky A200: robot desarrollado (e integrado en ROS) por Clearpath Robotics.
Referencias
- ↑ Willow Garage, ROS Fuerte version. Link: [1]
- ↑ Morgan Quigley, Eric Berger, Andrew Y. Ng (2007), STAIR: Hardware and Software Architecture, AAAI 2007 Robotics Workshop.
- ↑ «Repositories». ROS.org. Consultado el 7 June 2011.
- ↑ Morgan Quigley, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler, Andrew Ng. «ROS: an open-source Robot Operating System». Consultado el 3 April 2010.
- Notas
- STAIR: Proyecto STanford Artificial Intelligence Robot, Andrew Y. Ng, Stephen Gould, Morgan Quigley, Ashutosh Saxena, Eric Berger. Snowbird, 2008.
Enlaces externos
Portal:Software libre. Contenido relacionado con Software libre.