Articulo de referencia

Sistema Operativo para Robots

[[Stanford Artificial Intelligence Laboratory]] [[Open Robotics]]"},"released":{"wt":"{{Start date and age|2007}}"},"latest release version":{"wt":"Lyrical Luth {{cite web |url=...

El Sistema Operativo para Robots ( ROS o ros ) es un conjunto de middleware de robótica de código abierto . Aunque ROS no es un sistema operativo (SO), sino un conjunto de marcos de software para el desarrollo de software para robots , proporciona servicios diseñados para un clúster de computadoras heterogéneo , tales como abstracción de hardware , control de dispositivos de bajo nivel , implementación de funcionalidades de uso común, paso de mensajes entre procesos y gestión de paquetes . Los conjuntos de procesos basados ​​en ROS en ejecución se representan en una arquitectura de grafo donde el procesamiento tiene lugar en nodos que pueden recibir, publicar y multiplexar datos de sensores, control, estado, planificación, actuadores y otros mensajes.

Descripción general

A pesar de la importancia de la reactividad y la baja latencia en el control de robots, ROS no es un sistema operativo en tiempo real (RTOS). Sin embargo, es posible integrar ROS con código de computación en tiempo real . [ 3 ] La falta de soporte para sistemas en tiempo real se ha abordado en la creación de ROS 2, [ 4 ] [ 5 ] [ 6 ] una revisión importante de la API de ROS que aprovechará las bibliotecas y tecnologías modernas para las funciones centrales de ROS y agregará soporte para código en tiempo real y hardware de sistemas embebidos .

El software en el ecosistema ROS [ 7 ] se puede separar en tres grupos:

  • Herramientas independientes del lenguaje y de la plataforma que se utilizan para crear y distribuir software basado en ROS;
  • Implementaciones de bibliotecas cliente de ROS como roscpp , [ 8 ] rospy , [ 9 ] y roslisp ; [ 10 ]
  • paquetes que contienen código relacionado con la aplicación que utiliza una o más bibliotecas cliente de ROS. [ 11 ]

Tanto las herramientas independientes del lenguaje como las principales bibliotecas cliente ( C++ , Python y Lisp ) se distribuyen bajo la licencia BSD y, por lo tanto, son software de código abierto y gratuito para uso comercial y de investigación. La mayoría de los demás paquetes se distribuyen bajo diversas licencias de código abierto . Estos paquetes implementan funcionalidades y aplicaciones de uso común, como controladores de hardware, modelos de robots, tipos de datos, planificación, percepción , localización y mapeo simultáneos (SLAM), herramientas de simulación y otros algoritmos .

Las principales bibliotecas cliente de ROS están orientadas a un sistema tipo Unix , principalmente debido a su dependencia de grandes conjuntos de dependencias de software de código abierto. Para estas bibliotecas cliente, Ubuntu Linux figura como "Compatible", mientras que otras variantes como Fedora Linux , macOS y Microsoft Windows se designan como "experimentales" y cuentan con el soporte de la comunidad. [ 12 ] Sin embargo, la biblioteca cliente nativa de Java para ROS, rosjava , [ 13 ] no comparte estas limitaciones y ha permitido escribir software basado en ROS para el sistema operativo Android . [ 14 ] rosjava también ha permitido integrar ROS en una caja de herramientas de MATLAB con soporte oficial que se puede usar en Linux , macOS y Microsoft Windows. [ 15 ] También se ha desarrollado una biblioteca cliente de JavaScript , roslibjs [ 16 ] que permite la integración de software en un sistema ROS a través de cualquier navegador web compatible con los estándares.

Historia

Los primeros años en Stanford (2007 y años anteriores)

En algún momento antes de 2007, las primeras piezas de lo que eventualmente se convertiría en ROS comenzaron a tomar forma en la Universidad de Stanford . [ 17 ] [ 18 ] Eric Berger y Keenan Wyrobek, estudiantes de doctorado que trabajaban en el [ 19 ] Laboratorio de Robótica de Kenneth Salisbury en Stanford, dirigían el Programa de Robótica Personal. [ 20 ] Mientras trabajaban en robots para realizar tareas de manipulación en entornos humanos, los dos estudiantes notaron que muchos de sus colegas se veían limitados por la naturaleza diversa de la robótica: un excelente desarrollador de software podría no tener el conocimiento de hardware necesario, alguien que desarrollaba planificación de trayectorias de vanguardia podría no saber cómo realizar la visión artificial requerida. En un intento por remediar esta situación, los dos estudiantes se propusieron crear un sistema base que proporcionara un punto de partida para que otros en la academia pudieran construir sobre él. En palabras de Eric Berger, "algo que no fuera malo, en todas esas diferentes dimensiones". [ 17 ]

En sus primeros pasos hacia este sistema unificador, los dos construyeron el PR1 como un prototipo de hardware y comenzaron a trabajar en el software a partir de él, tomando prestadas las mejores prácticas de otros marcos de software robótico de código abierto iniciales, en particular switchyard, un sistema en el que Morgan Quigley, otro estudiante de doctorado de Stanford, había estado trabajando en apoyo del Robot de Inteligencia Artificial de Stanford (STAIR) [ 21 ] [ 22 ] [ 23 ] [ 24 ] por el Laboratorio de Inteligencia Artificial de Stanford . La financiación inicial de US$50,000 fue proporcionada por Joanna Hoffman y Alain Rossmann , que apoyó el desarrollo del PR1. Mientras buscaban financiación para un mayor desarrollo, [ 25 ] Eric Berger y Keenan Wyrobek conocieron a Scott Hassan, el fundador de Willow Garage , una incubadora de tecnología que estaba trabajando en un SUV autónomo y un barco autónomo solar. Hassan compartió la visión de Berger y Wyrobek de un "Linux para robótica" y los invitó a venir a trabajar a Willow Garage. Willow Garage se inició en enero de 2007, y la primera confirmación de código ROS se realizó en SourceForge el 7 de noviembre de 2007. [ 26 ]

Garaje Willow (2007–2013)

Willow Garage comenzó a desarrollar el robot PR2 como sucesor del PR1, y ROS como el software para controlarlo. Grupos de más de veinte instituciones contribuyeron a ROS, tanto al software principal como al creciente número de paquetes que funcionaban con ROS para formar un ecosistema de software más amplio. [ 27 ] [ 28 ] El hecho de que personas ajenas a Willow contribuyeran a ROS (especialmente del proyecto STAIR de Stanford) significó que ROS fuera una plataforma multi-robot desde el principio. Si bien Willow Garage había tenido originalmente otros proyectos en marcha, estos fueron descartados en favor del Programa de Robótica Personal: que se centró en producir el PR2 como plataforma de investigación para el ámbito académico y ROS como la pila de robótica de código abierto que sustentaría tanto la investigación académica como las startups tecnológicas, de forma similar a como la pila LAMP lo hizo para las startups basadas en la web.

En diciembre de 2008, Willow Garage alcanzó el primero de sus tres hitos internos: navegación continua para el PR2 durante dos días y una distancia de pi kilómetros. [ 29 ] Poco después, se lanzó una versión temprana de ROS (0.4 Mango Tango) [ 30 ] , seguida de la primera documentación de RVIZ y el primer artículo sobre ROS. [ 28 ] A principios del verano, se alcanzó el segundo hito interno: lograr que el PR2 navegara por la oficina, abriera puertas y se enchufara solo. [ 31 ] A esto le siguió en agosto la puesta en marcha del sitio web ROS.org. [ 32 ] En diciembre se publicaron los primeros tutoriales sobre ROS, [ 33 ] preparando el lanzamiento de ROS 1.0 en enero de 2010. [ 34 ] Este fue el Hito 3: producir toneladas de documentación y tutoriales para las enormes capacidades que los ingenieros de Willow Garage habían desarrollado durante los 3 años anteriores.

Posteriormente, Willow Garage logró uno de sus objetivos más antiguos: regalar 10 robots PR2 a instituciones académicas meritorias. Este había sido un objetivo de los fundadores desde hacía tiempo, ya que creían que el PR2 podría impulsar la investigación en robótica en todo el mundo. Finalmente, entregaron once PR2 a diferentes instituciones, entre ellas la Universidad de Friburgo (Alemania), Robert Bosch GmbH , el Instituto Tecnológico de Georgia , la KU Leuven (Bélgica), el Instituto Tecnológico de Massachusetts (MIT), la Universidad de Stanford , la Universidad Técnica de Múnich (Alemania), la Universidad de California, Berkeley , la Universidad de Pensilvania , la Universidad del Sur de California (USC) y la Universidad de Tokio (Japón). [ 35 ] Esto, combinado con el exitoso programa de prácticas de Willow Garage [ 36 ] (dirigido de 2008 a 2010 por Melonee Wise ), ayudó a difundir información sobre ROS en todo el mundo de la robótica. La primera distribución oficial de ROS, ROS Box Turtle, se publicó el 2 de marzo de 2010, marcando la primera vez que ROS se distribuyó oficialmente con un conjunto de paquetes versionados para uso público. Estos avances dieron lugar al primer dron que ejecutaba ROS, [ 37 ] el primer coche autónomo que ejecutaba ROS, [ 38 ] y la adaptación de ROS para Lego Mindstorms . [ 39 ] Con el programa beta PR2 en pleno desarrollo, el robot PR2 se lanzó oficialmente para su compra comercial el 9 de septiembre de 2010. [ 40 ]

Una imagen del Sistema Operativo para Robots (ROS) funcionando en la Antártida.

2011 fue un año estelar para ROS con el lanzamiento de ROS Answers, un foro de preguntas y respuestas para usuarios de ROS, el 15 de febrero; [ 41 ] la introducción del exitoso kit de robot TurtleBot el 18 de abril; [ 42 ] y el número total de repositorios de ROS superó los 100 el 5 de mayo. [ 43 ] Willow Garage comenzó 2012 creando la Open Source Robotics Foundation (OSRF) [ 44 ] en abril. La OSRF recibió inmediatamente un contrato de software de la Defense Advanced Research Projects Agency (DARPA). [ 45 ] Más tarde ese año, se celebró la primera ROSCon en St. Paul, Minnesota, [ 46 ] se publicó el primer libro sobre ROS, ROS By Example , [ 47 ] y Rethink Robotics anunció Baxter , el primer robot comercial que ejecuta ROS . [ 48 ] Poco después de cumplir su quinto aniversario en noviembre, ROS comenzó a funcionar en todos los continentes el 3 de diciembre de 2012. [ 49 ]

En febrero de 2013, la OSRF se convirtió en la principal responsable del mantenimiento del software ROS, [ 50 ] anticipando el anuncio en agosto de que Willow Garage sería absorbida por sus fundadores, Suitable Technologies . [ 51 ] En ese momento, ROS había lanzado siete versiones principales (hasta ROS Groovy), [ 52 ] y tenía usuarios en todo el mundo. Este capítulo del desarrollo de ROS finalizaría cuando Clearpath Robotics asumió las responsabilidades de soporte para PR2 a principios de 2014. [ 53 ]

OSRF y Open Robotics (2013-presente)

Desde que OSRF asumió el desarrollo principal de ROS, se ha lanzado una nueva versión cada año, [ 52 ] mientras que el interés en ROS continúa creciendo. Las ROSCons se han celebrado anualmente desde 2012, junto con ICRA o IROS , dos conferencias emblemáticas de robótica. Se han organizado encuentros de desarrolladores de ROS en varios países, [ 54 ] [ 55 ] [ 56 ] se han publicado varios libros sobre ROS, [ 57 ] y se han iniciado muchos programas educativos. [ 58 ] [ 59 ] El 1 de septiembre de 2014, la NASA anunció el primer robot en ejecutar ROS en el espacio: Robotnaut 2 , en la Estación Espacial Internacional . [ 60 ] En 2017, OSRF cambió su nombre a Open Robotics . Los gigantes tecnológicos Amazon y Microsoft comenzaron a interesarse en ROS durante este tiempo, con Microsoft portando el núcleo de ROS a Windows en septiembre de 2018, [ 61 ] seguido por Amazon Web Services lanzando RoboMaker en noviembre de 2018. [ 62 ]

Quizás el desarrollo más importante de los años de OSRF/Open Robotics hasta ahora (sin descartar la explosión de plataformas robóticas que comenzaron a soportar ROS o las enormes mejoras en cada versión de ROS) fue la propuesta de ROS 2, un cambio significativo de API para ROS que está destinado a soportar la programación en tiempo real , una variedad más amplia de entornos de computación y tecnología más moderna. [ 63 ] ROS 2 se anunció en ROSCon 2014, [ 64 ] las primeras confirmaciones al repositorio ros2 se hicieron en febrero de 2015, seguidas de lanzamientos alfa en agosto de 2015. [ 65 ] El primer lanzamiento de distribución de ROS 2, Ardent Apalone, se lanzó el 8 de diciembre de 2017, [ 65 ] marcando el comienzo de una nueva era de desarrollo de ROS de próxima generación.

Diseño

Filosofía

Una imagen que representa la ecuación de ROS: Fontanería + Herramientas + Capacidades + Ecosistema = ¡ROS!
Una imagen que representa la ecuación de ROS: Fontanería + Herramientas + Capacidades + Ecosistema = ¡ROS!

ROS se diseñó como software de código abierto, con la intención de que los usuarios pudieran elegir la configuración de herramientas y bibliotecas que interactúan con el núcleo de ROS, de modo que pudieran adaptar sus pilas de software a su robot y área de aplicación. Por lo tanto, hay muy poco que sea esencial para ROS, más allá de la estructura general dentro de la cual deben existir y comunicarse los programas. En cierto sentido, ROS es la infraestructura subyacente de los nodos y el paso de mensajes. Sin embargo, en realidad, ROS no es solo infraestructura, sino un conjunto de herramientas rico y maduro, un amplio conjunto de capacidades independientes del robot proporcionadas por paquetes y un ecosistema más amplio de complementos para ROS.

Modelo gráfico de computación

Los procesos ROS se representan como nodos en una estructura de grafo, conectados por aristas llamadas temas. [ 66 ] Los nodos ROS pueden enviarse mensajes entre sí a través de temas, realizar llamadas de servicio a otros nodos, proporcionar un servicio a otros nodos o establecer o recuperar datos compartidos de una base de datos común llamada servidor de parámetros. Un proceso llamado Maestro ROS1 [ 66 ] hace posible todo esto al registrar los nodos en sí mismo, establecer la comunicación entre nodos para los temas y controlar las actualizaciones del servidor de parámetros. Los mensajes y las llamadas de servicio no pasan por el maestro; en cambio, el maestro establece la comunicación punto a punto entre todos los procesos de los nodos después de que se registren en él. Esta arquitectura descentralizada se presta bien a los robots, que a menudo consisten en un subconjunto de hardware informático en red y pueden comunicarse con computadoras externas para realizar cálculos complejos o ejecutar comandos.

Nodos

Un nodo representa un proceso que ejecuta el grafo ROS. Cada nodo tiene un nombre, que se registra con el maestro ROS1 antes de que pueda realizar cualquier otra acción. Pueden existir varios nodos con nombres diferentes en distintos espacios de nombres , o un nodo puede definirse como anónimo, en cuyo caso generará aleatoriamente un identificador adicional que se sumará a su nombre. Los nodos son fundamentales en la programación ROS, ya que la mayor parte del código cliente de ROS se presenta en forma de nodo ROS que realiza acciones basadas en la información recibida de otros nodos, envía información a otros nodos o envía y recibe solicitudes de acciones hacia y desde otros nodos.

Temas

Los temas son buses con nombre a través de los cuales los nodos envían y reciben mensajes. [ 67 ] Los nombres de los temas también deben ser únicos dentro de su espacio de nombres. Para enviar mensajes a un tema, un nodo debe publicar en dicho tema, mientras que para recibir mensajes debe suscribirse. El modelo de publicación/suscripción es anónimo: ningún nodo sabe qué nodos están enviando o recibiendo en un tema, solo que él mismo está enviando/recibiendo en ese tema. Los tipos de mensajes que se transmiten en un tema varían ampliamente y pueden ser definidos por el usuario. El contenido de estos mensajes puede ser datos de sensores, comandos de control de motores, información de estado, comandos de actuadores o cualquier otra cosa.

Servicios

Un nodo también puede anunciar servicios. [ 68 ] Un servicio representa una acción que un nodo puede realizar y que tendrá un único resultado. Por ello, los servicios se utilizan a menudo para acciones con un inicio y un final definidos, como la captura de una imagen de un solo fotograma, en lugar de procesar comandos de velocidad para un motor de rueda o datos de odómetro de un codificador de rueda. Los nodos anuncian servicios y se llaman entre sí.

Servidor de parámetros

El servidor de parámetros [ 68 ] es una base de datos compartida entre nodos que permite el acceso común a información estática o semiestática. Los datos que no cambian con frecuencia y, por lo tanto, se consultarán con poca frecuencia, como la distancia entre dos puntos fijos del entorno o el peso del robot, son buenos candidatos para almacenarse en el servidor de parámetros.

Herramientas

La funcionalidad principal de ROS se complementa con diversas herramientas que permiten a los desarrolladores visualizar y registrar datos, navegar fácilmente por la estructura de paquetes de ROS y crear scripts que automatizan procesos complejos de configuración y puesta en marcha. La incorporación de estas herramientas aumenta considerablemente las capacidades de los sistemas que utilizan ROS, al simplificar y ofrecer soluciones a varios problemas comunes en el desarrollo de robótica. Estas herramientas se proporcionan en paquetes, como cualquier otro algoritmo, pero en lugar de ofrecer implementaciones de controladores de hardware o algoritmos para diversas tareas robóticas, estos paquetes proporcionan herramientas independientes de la tarea y del robot, que vienen incluidas en la mayoría de las instalaciones modernas de ROS.

rviz

rviz [ 69 ] (herramienta de visualización de robots) es un visualizador tridimensional que se utiliza para visualizar robots, los entornos en los que trabajan y los datos de los sensores. Es una herramienta altamente configurable, con muchos tipos diferentes de visualizaciones y complementos. El formato de descripción unificada de robots ( URDF ) es un formato de archivo XML para la descripción de modelos de robots.

bolsa rosa

rosbag [ 70 ] es una herramienta de línea de comandos que se utiliza para grabar y reproducir datos de mensajes ROS. rosbag utiliza un formato de archivo llamado bags, [ 71 ] que registra los mensajes ROS escuchando los temas y grabando los mensajes a medida que llegan. Reproducir mensajes desde un bag es prácticamente lo mismo que tener los nodos originales que produjeron los datos en el grafo de computación ROS, lo que convierte a los bags en una herramienta útil para grabar datos que se utilizarán en el desarrollo posterior. Si bien rosbag es una herramienta solo de línea de comandos, rqt_bag [ 72 ] proporciona una interfaz gráfica de usuario para rosbag .

pendiente

catkin [ 73 ] es el sistema de compilación de ROS1, que reemplazó a rosbuild [ 74 ] a partir de ROS Groovy. catkin se basa en CMake y es igualmente multiplataforma, de código abierto e independiente del lenguaje. A partir de ROS2, catkin ya no se utiliza, pero aún se mantiene para brindar soporte a versiones anteriores. [ 75 ]

rosbash

El paquete rosbash [ 76 ] proporciona un conjunto de herramientas que amplían la funcionalidad del intérprete de comandos bash . Estas herramientas incluyen rosls , roscd y roscp , que replican las funcionalidades de ls , cd y cp respectivamente. Las versiones ROS de estas herramientas permiten a los usuarios usar nombres de paquetes ROS en lugar de la ruta de archivo donde se encuentra el paquete. El paquete también agrega autocompletado con la tecla Tab a la mayoría de las utilidades ROS e incluye rosed, que edita un archivo dado con el editor de texto predeterminado elegido, así como rosrun , que ejecuta ejecutables en paquetes ROS. rosbash admite las mismas funcionalidades para zsh y tcsh , en menor medida.

roslaunch

roslaunch [ 77 ] es una herramienta que se utiliza para iniciar múltiples nodos ROS tanto local como remotamente, así como para configurar parámetros en el servidor de parámetros de ROS. Los archivos de configuración de roslaunch , escritos en XML, pueden automatizar fácilmente un proceso complejo de inicio y configuración mediante un único comando. Los scripts de roslaunch pueden incluir otros scripts de roslaunch , iniciar nodos en máquinas específicas e incluso reiniciar procesos que se detengan durante la ejecución.

Paquetes destacados

ROS contiene numerosas implementaciones de código abierto de funcionalidades y algoritmos robóticos comunes. Estas implementaciones de código abierto están organizadas en paquetes. Muchos paquetes se incluyen como parte de las distribuciones de ROS, mientras que otros pueden ser desarrollados por particulares y distribuidos a través de sitios para compartir código como GitHub . Algunos paquetes destacados son:

Sistemas y herramientas

  • actionlib [ 78 ] proporciona una interfaz estandarizada para interactuar con tareas interrumpibles.
  • nodelet [ 79 ] proporciona una forma de ejecutar múltiples algoritmos en un solo proceso.
  • rosbridge [ 80 ] proporciona una API JSON para funcionalidades de ROS para programas que no son de ROS.

Cartografía y localización

  • La navegación [ 85 ] proporciona la capacidad de navegar un robot móvil en un entorno plano.

Manipulación

  • MoveIt! [ 86 ] proporciona capacidades de planificación de movimiento para manipuladores robóticos . Su biblioteca de planificación predeterminada es la Open Motion Planning Library (OMPL) . [ 87 ]

Percepción

  • vision_opencv [ 88 ] es un metapackage que proporciona paquetes para integrar ROS con OpenCV .

Representación del sistema de coordenadas

  • tf [ 89 ] proporcionó un sistema para representar, rastrear y transformar marcos de coordenadas hasta ROS Hydro, cuando fue descontinuado en favor de tf2 .
  • tf2 [ 90 ] es la segunda generación de la biblioteca tf y proporciona las mismas capacidades para las versiones de ROS posteriores a Hydro.

Simulación

Versiones y lanzamientos

Las versiones de ROS pueden ser incompatibles con otras versiones y a menudo se las identifica por su nombre en clave en lugar de su número de versión. ROS 2 actualmente lanza una versión cada año en mayo, después del lanzamiento de las versiones LTS de Ubuntu. [ 93 ] [ 94 ] Estas versiones se apoyan alternativamente durante 5 años (años pares/lanzamiento de la versión LTS de Ubuntu) y 1,5 años (años impares/sin lanzamiento de la versión LTS de Ubuntu). ROS 1 no recibe ninguna versión nueva. Además, existe el proyecto derivado ROS-Industrial o ROS-I desde al menos 2012.

ROS 2

ROS 1

ROS-Industrial

ROS-Industrial [ 112 ] es un proyecto de código abierto (licencia BSD (heredada)/Apache 2.0 (preferida)) que extiende las capacidades avanzadas de ROS a la automatización industrial y la robótica. En el entorno industrial, existen dos enfoques diferentes para programar un robot: mediante un controlador propietario externo, generalmente implementado con ROS, o mediante el lenguaje de programación nativo del robot. Por lo tanto, ROS puede considerarse el enfoque basado en software para programar robots industriales, en contraposición al enfoque clásico basado en controladores de robot.

El repositorio ROS-Industrial incluye interfaces para manipuladores industriales comunes, pinzas, sensores y redes de dispositivos. También proporciona bibliotecas de software para calibración automática de sensores 2D/3D, planificación de trayectorias/movimientos de procesos, aplicaciones como Scan-N-Plan, herramientas para desarrolladores como el complemento Qt Creator ROS y planes de estudio de capacitación específicos para las necesidades de los fabricantes. ROS-I cuenta con el respaldo de un consorcio internacional de miembros de la industria y la investigación. El proyecto comenzó como una iniciativa de colaboración entre Yaskawa Motoman Robotics, Southwest Research Institute y Willow Garage para respaldar el uso de ROS para la automatización de la fabricación, y el repositorio de GitHub fue fundado en enero de 2012 por Shaun Edwards (SwRI). Actualmente, el consorcio está dividido en tres grupos; el Consorcio ROS-Industrial de América (liderado por SwRI y ubicado en San Antonio, Texas), el Consorcio ROS-Industrial de Europa (liderado por Fraunhofer IPA y ubicado en Stuttgart, Alemania) y el Consorcio ROS-Industrial de Asia Pacífico (liderado por el Centro de Tecnología y Remanufactura Avanzada (ARTC) y la Universidad Tecnológica de Nanyang (NTU) y ubicado en Singapur).

El Consorcio apoya a la comunidad global de ROS-Industrial mediante la realización de capacitaciones en ROS-I, la prestación de soporte técnico y el establecimiento de la hoja de ruta futura para ROS-I, así como la realización de proyectos conjuntos precompetitivos con la industria para desarrollar nuevas capacidades de ROS-I. [ 113 ]

ROS espacial

En noviembre de 2020, la NASA anunció que Blue Origin había sido seleccionada a través del Anuncio de Oportunidad de Colaboración (ACO) de la Dirección de Misiones de Tecnología Espacial para codesarrollar el Sistema Operativo de Robots Espaciales (Space ROS) junto con tres centros de la NASA. [ 114 ] El propósito de Space ROS es proporcionar un marco de software reutilizable y modular para sistemas espaciales robóticos y autónomos basado en ROS 2 que cumpla con los requisitos de garantía de seguridad y misión aeroespacial (como NPR 7150.2 y DO-178C). El proyecto fue formulado y liderado por Will Chambers , [ 115 ] el principal tecnólogo de robótica de Blue Origin en ese momento. En 2021, Blue Origin subcontrató la carga de trabajo de desarrollo de software a Open Robotics, que permaneció en el equipo hasta que el programa terminó en 2022. Space ROS es actualmente un proyecto comunitario abierto. [ 116 ] [ 117 ] PickNik Robotics y Open Source Robotics Foundation lideran actualmente el esfuerzo de Space ROS. [ 118 ]

Robots y hardware compatibles con ROS

robots

Placas de desarrollo y hardware

Véase también

Referencias

  1. "ROS 2 Lyrical Luth" . ROS.org . Open Robotics . Consultado el 5 de junio de 2026 .
  2. "ROS 2 Kilted Kaiju" . ROS.org . Open Robotics. Mayo de 2025. Consultado el 25 de febrero de 2025 .
  3. "ROS/Introducción – Wiki de ROS" . ROS.org . Open Robotics . Consultado el 30 de julio de 2021 .
  4. Kay, Jackie (enero de 2016). "Propuesta para la implementación de sistemas en tiempo real en ROS 2" . ROS.org . Open Robotics . Consultado el 23 de enero de 2023 .
  5. Kay, Jackie (enero de 2016). "Directrices de diseño en tiempo real para ROS 2" . ROS.org . Open Robotics . Consultado el 23 de enero de 2023 .
  6. "ROS 2 para aplicaciones en tiempo real" . ROS.org . Open Robotics. 17 de octubre de 2018. Consultado el 22 de noviembre de 2018 .
  7. "Explorando paquetes para melodic" . ROS.org . Open Robotics. Archivado del original el 24 de septiembre de 2015. Recuperado el 21 de febrero de 2016 .
  8. "Resumen del paquete" . ROS.org . Open Robotics . Consultado el 21 de febrero de 2016 .
  9. "Resumen del paquete" . ROS.org . Open Robotics . Consultado el 21 de febrero de 2016 .
  10. "Resumen del paquete" . ROS.org . Open Robotics . Consultado el 21 de febrero de 2016 .
  11. "bibliotecas cliente" . ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  12. "ROS/Instalación – Wiki de ROS" . ROS.org . Open Robotics. 29 de septiembre de 2013. Consultado el 12 de julio de 2014 .
  13. "rosjava – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  14. "android – ROS Wiki" . ROS.org . Open Robotics. 12 de abril de 2014. Consultado el 12 de julio de 2014 .
  15. "Soporte para el sistema operativo de robots (ROS) desde MATLAB – Soporte de hardware" . Mathworks.com. Archivado del original el 17 de abril de 2014. Consultado el 12 de julio de 2014 .
  16. "roslibjs – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  17. 1 2 Guizzo, Evan Ackerman y Erico (7 de noviembre de 2017). "Magos de ROS: Willow Garage y la creación del sistema operativo para robots" . IEEE Spectrum: Noticias sobre tecnología, ingeniería y ciencia . Recuperado el 29 de abril de 2019 .
  18. Wyrobek, Keenan (31 de octubre de 2017). "La historia del origen de ROS, el Linux de la robótica" . IEEE Spectrum: Noticias sobre tecnología, ingeniería y ciencia . Recuperado el 29 de abril de 2019 .
  19. "J. Kenneth Salisbury, Ph.D. | Laboratorio de Robótica de Salisbury" . Consultado el 29 de abril de 2019 .
  20. "Programa de Robótica Personal de Stanford" . personalrobotics.stanford.edu . Consultado el 29 de abril de 2019 .
  21. "Fabricantes de robots de Stanford" . 16 de enero de 2019.
  22. Ng, Andrew; Gould, Stephen; Quigley, Morgan; Saxena, Ashutosh; Berger, Eric (2008). "STAIR: El proyecto del robot de inteligencia artificial de Stanford" . Taller Snowbird.
  23. "ESTAFA" . stair.Stanford.edu . Archivado del original el 21 de enero de 2013. Consultado el 12 de diciembre de 2017 .
  24. Quigley, Morgan; Berger, Eric; Ng, Andrew Y. (2007), STAIR: Arquitectura de hardware y software (PDF) , Taller de robótica AAAI 2007
  25. Keenan Wyrobek (3 de julio de 2017). "Presentación para la recaudación de fondos del Programa de Robótica Personal de 2006" .
  26. "Repositorio: código" . Sourceforge.net . Consultado el 12 de diciembre de 2017 .
  27. "Repositorios" . ROS.org . Consultado el 7 de junio de 2011 .
  28. 1 2 Quigley, Morgan; Gerkey, Brian; Conley, Ken; Faust, Josh; Foote, Tully; Leibs, Jeremy; Berger, Eric; Wheeler, Rob; Ng, Andrew . "ROS: un sistema operativo de robots de código abierto" (PDF) . Recuperado el 3 de abril de 2010 .
  29. WillowGaragevideo (19 de diciembre de 2008), Hito 1 , consultado el 29 de abril de 2019
  30. "Lanzamiento de ROS 0.4 – Noticias de robótica ROS" . ROS.org . Robótica Abierta . Consultado el 29 de abril de 2019 .
  31. WillowGaragevideo (2 de julio de 2009), Explicación del hito 2 , consultado el 29 de abril de 2019
  32. "Bienvenido a ros.org – Noticias de robótica ROS" . ROS.org . Robótica Abierta . Consultado el 12 de diciembre de 2017 .
  33. "Tutoriales de ROS y Turtles – Noticias de robótica ROS" . ROS.org . Robótica Abierta . Consultado el 12 de diciembre de 2017 .
  34. "ROS 1.0 – Noticias sobre robótica ROS" . ROS.org . Robótica Abierta . Consultado el 29 de abril de 2019 .
  35. "¡Ya están los resultados: beneficiarios del programa beta PR2!" . Willow Garage . Archivado del original el 13 de julio de 2018 . Consultado el 29 de abril de 2019 .
  36. "Becarios y profesores visitantes" . Willow Garage . Archivado del original el 20 de abril de 2019. Consultado el 29 de abril de 2019 .
  37. "Robots que utilizan ROS: Penn Quadrotors – Noticias sobre robótica ROS" . ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  38. "Robots que utilizan ROS: el coche autónomo Marvin (Austin Robot Technology/UT Austin) – Noticias sobre robótica ROS" . ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  39. "Robots que usan ROS: Lego NXT – Noticias sobre robótica ROS" . ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  40. "Robots PR2 disponibles para la compra" . Archivado del original el 13 de marzo de 2017. Consultado el 13 de octubre de 2017 .
  41. "Anuncio de ROS Answers – Noticias sobre robótica ROS" . ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  42. "ROS en movimiento: TurtleBots disponibles para preordenar" . Willow Garage . Consultado el 12 de diciembre de 2017 .
  43. "100 Repositorios – Noticias de robótica ROS" . ROS.org . Robótica Abierta . Consultado el 12 de diciembre de 2017 .
  44. "Willow Garage se deshace de OSRF" . Archivado del original el 6 de noviembre de 2017. Consultado el 13 de octubre de 2017 .
  45. "DARPA adjudica un contrato de software de simulación a la Open Source Robotics Foundation" .
  46. "¡Gracias por una gran ROSCon 2012! – Noticias de robótica ROS" . ROS.org . Robótica Abierta . Consultado el 24 de noviembre de 2018 .
  47. "Nuevo libro: ROS by Example – Noticias de robótica ROS" . ROS.org . Open Robotics . Consultado el 24 de noviembre de 2018 .
  48. "Repensando ROS – Noticias sobre robótica ROS" . ROS.org . Robótica Abierta . Consultado el 24 de noviembre de 2018 .
  49. "ROS: Cinco años – Noticias sobre robótica ROS" . ROS.org . Robótica Abierta . Consultado el 24 de noviembre de 2018 .
  50. "Osrf – Ros @ Osrf" . Osrfoundation.org. 11 de febrero de 2013. Consultado el 12 de julio de 2014 .
  51. "Los empleados se unen a Suitable Technologies" . Willow Garage. Archivado del original el 8 de octubre de 2017. Consultado el 12 de julio de 2014 .
  52. 1 2 3 "Distribuciones – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  53. "Clearpath da la bienvenida a PR2 a la familia" . 15 de enero de 2014.
  54. "Notas del primer encuentro de usuarios coreanos de ROS: noticias sobre robótica ROS" . ROS.org . Robótica Abierta . Consultado el 30 de julio de 2021 .
  55. "Primer encuentro de ROS danés" .
  56. "Primer encuentro de ROS en Ucrania" .
  57. "Programación de robots con ROS: Una introducción práctica al sistema operativo de robots" . OReilly.com . Consultado el 12 de diciembre de 2017 .
  58. "Informe de la primera Escuela de Verano de ROS en China – Noticias de robótica ROS" . ROS.org . Robótica Abierta . Consultado el 24 de noviembre de 2018 .
  59. "ROS Robot Ignite Academy" .
  60. "ROS funcionando en la ISS – Noticias de robótica ROS" . ROS.org . Robótica Abierta . Consultado el 12 de diciembre de 2017 .
  61. "Resumen" . ros-win.visualstudio.com . Archivado del original el 1 de octubre de 2018. Consultado el 29 de abril de 2019 .
  62. "Anuncio de AWS RoboMaker" . Amazon Web Services, Inc. Consultado el 29 de abril de 2019 .
  63. "¿Por qué ROS 2?" . ROS.org . Robótica Abierta . Consultado el 29 de abril de 2019 .
  64. "Descripción general de ROS 2" . ROS.org . Open Robotics . Consultado el 21 de septiembre de 2021 .
  65. 1 2 3 "Distribuciones de ROS 2" . ROS.org . Open Robotics . Consultado el 21 de septiembre de 2021 .
  66. 1 2 "ROS/Tutorials/UnderstandingNodes – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  67. "ROS/Tutorials/UnderstandingTopics – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  68. 1 2 "ROS/Tutorials/UnderstandingServicesParams – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  69. "rviz – ROS Wiki" . ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  70. "rosbag – ROS Wiki" . ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  71. "Bolsas – ROS Wiki" . ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  72. "rqt_bag – ROS Wiki" . ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  73. "catkin – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  74. "rosbuild – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  75. "Ejemplo de migración de un paquete C++ — Documentación de ROS 2: Documentación sencilla" . docs.ros.org . Consultado el 7 de octubre de 2025 .
  76. "rosbash – ROS Wiki" . ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  77. "roslaunch – ROS Wiki" . ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  78. "actionlib – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  79. ^ "nodelet - Wiki ROS" . ROS.org . Robótica abierta . Consultado el 29 de abril de 2019 .
  80. "rosbridge_suite – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  81. "slam_toolbox – ROS Wiki" . ROS.org . Open Robotics . Consultado el 11 de febrero de 2020 .
  82. "gmapping – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  83. "cartógrafo – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  84. "amcl – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  85. "navegación – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  86. "Marco de planificación de movimiento MoveIt" . ROS MoveIt !
  87. "Documentación de MoveIt: Implementación" .
  88. "vision_opencv – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  89. "tf – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  90. "tf2 – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  91. "gazebo_ros_pkgs – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  92. "etapa – ROS Wiki" . ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  93. "Cambios en el calendario de lanzamientos de ROS" . 9 de mayo de 2018.
  94. "REP 2000 -- Versiones de ROS 2 y plataformas de destino (ROS.org)" . www.ros.org . Consultado el 25 de febrero de 2025 .
  95. "REP 2000 – Versiones de ROS 2 y plataformas objetivo" . ROS.org . Open Robotics . Consultado el 20 de febrero de 2021 .
  96. "ROS 2 Rolling Ridley (nombre en clave 'rolling'; junio de 2020) – Documentación de ROS 2: Documentación de Foxy" . ROS.org . Open Robotics . Consultado el 30 de julio de 2021 .
  97. "Lluvia de ideas para el nombre de la distribución continua de ROS 2" . ROS.org . Open Robotics. 15 de junio de 2020. Consultado el 30 de julio de 2021 .
  98. "¡Lanzamiento de ROS 2 Lyrical Luth!" . Open Robotics Discourse . 22 de mayo de 2026 . Consultado el 5 de junio de 2026 .
  99. ":kilted: ¡Lanzamiento de ROS 2 Kilted Kaiju!" . Open Robotics Discourse . 23 de mayo de 2025 . Consultado el 8 de octubre de 2025 .
  100. "¡Lanzamiento de ROS 2 Jazzy Jalisco!" 23 de mayo de 2024.
  101. ^ "¡Lanzamiento de ROS 2 Iron Irwini!" . 23 de mayo de 2023.
  102. "¡Se ha lanzado el Humble Hawksbill de ROS 2!" 23 de mayo de 2022.
  103. "ROS Galactic Geochelone liberado" . 23 de mayo de 2021. Consultado el 10 de julio de 2021 .
  104. "ROS Foxy Fitzroy liberado" . 5 de junio de 2020. Consultado el 24 de junio de 2020 .
  105. "Diseño de ROS 2" . GitHub . 29 de enero de 2022.
  106. "Versiones alfa de ROS 2 (agosto de 2015 – octubre de 2016) – Documentación de ROS 2: Documentación de Foxy" .
  107. "ROS 2 alpha8" . 5 de octubre de 2016.
  108. "¿Por qué ROS 2?" .
  109. "¿Hay fecha de lanzamiento de ROS 2 o más información al respecto? – ROS Answers: Foro de preguntas y respuestas sobre código abierto" .
  110. "Programa | ROSCon 2014" .
  111. "Inicio · ros2-wiki" .
  112. "Acerca de ROS-Industrial" . rosindustrial.org . Consultado el 12 de diciembre de 2017 .
  113. "Breve historia" . ROS-Industrial . Consultado el 11 de julio de 2018 .
  114. "Anuncio de la NASA de 2020 sobre las selecciones de oportunidades de colaboración (ACO) - NASA" . 9 de noviembre de 2020. Consultado el 31 de octubre de 2024 .
  115. The Construct (13 de marzo de 2023). RDP120: Space ROS . Recuperado el 31 de octubre de 2024 vía YouTube.
  116. "Inicio" . space.ros.org . Consultado el 31 de octubre de 2024 .
  117. "Space ROS" . GitHub . Consultado el 31 de octubre de 2024 .
  118. "Space ROS | Sistema Operativo de Robótica Espacial" . PickNik . Consultado el 31 de octubre de 2024 .
  119. "Inicio" . ROS-Industrial . Consultado el 12 de diciembre de 2017 .
  120. "Preguntas y respuestas sobre robots de investigación de Baxter | Repensando la robótica" . 24 de julio de 2014. Archivado del original el 24 de julio de 2014. Consultado el 30 de julio de 2021 .
  121. "CK-9 | Centauri Robotics" . centaurirobotics.in . Consultado el 30 de julio de 2021 .
  122. "Robots/gopigo3 – ROS Wiki" . ROS.org . Open Robotics . Consultado el 30 de julio de 2021 .
  123. "Laboratorio de Robótica Personal de CMU" . personalrobotics.Intel-Research.net . Consultado el 12 de diciembre de 2017 .
  124. "Husky UGV – Robot de investigación de campo para exteriores de Clearpath" . ClearPathRobotics.com . Consultado el 12 de diciembre de 2017 .
  125. «nao-ROS Wiki» . ROS.org . Robótica abierta. 28 de octubre de 2013 . Consultado el 12 de julio de 2014 .
  126. "¡Bienvenidos al Laboratorio de Robots Humanoides de la Universidad de Bonn!" . Laboratorio de Robots Humanoides – Universidad de Bonn . Consultado el 30 de julio de 2021 .
  127. "Robótica de la Universidad de Brown" . 28 de enero de 2013. Archivado del original el 28 de enero de 2013. Consultado el 30 de julio de 2021 .
  128. " [ ros-users ] Controlador ROS NAO" . 29 de octubre de 2013. Archivado del original el 29 de octubre de 2013. Recuperado el 30 de julio de 2021 .
  129. "Programa de Robótica Personal de Stanford" . personalrobotics.Stanford.edu . Consultado el 12 de diciembre de 2017 .
  130. "Destacado" . Willow Garage . 20 de junio de 2010. Archivado del original el 20 de junio de 2010. Consultado el 30 de julio de 2021 .
  131. B. Hannaford, J. Rosen, Diana CW Friedman, H. King, P. Roan, L. Cheng, D. Glozman, J. Ma, SN Kosari, L. White, 'Raven-II: una plataforma abierta para la investigación en robótica quirúrgica', IEEE Transactions on Biomedical Engineering, vol. 60, pp. 954-959, abril de 2013.
  132. "Laboratorio de Biorrobótica | Laboratorio de Biorrobótica – Universidad de Washington" . Brl.ee.washington.edu. Archivado del original el 14 de julio de 2014. Consultado el 12 de julio de 2014 .
  133. "ROSbot 2.0 y ROSbot 2.0 PRO · Documentación de Husarion" . husarion.com . Consultado el 30 de julio de 2021 .
  134. "Serie Mano Diestra – Shadow Robot Company" . Consultado el 30 de julio de 2021 .
  135. "ESTAFA" . stair.stanford.edu . Archivado del original el 8 de noviembre de 2011. Consultado el 30 de julio de 2021 .
  136. "Hola Robot" .
  137. "Este robot podría ser la clave para empoderar a las personas con discapacidad" .
  138. "Summit XL – Robotnik" . Robotnik.es . Consultado el 12 de julio de 2014 .
  139. "Especificación" . Robótica sin límites. Archivado del original el 28 de abril de 2015. Recuperado el 12 de julio de 2014 .
  140. Ackerman, Evan (21 de octubre de 2013). "El robot UBR-1 de Unbounded Robotics revoluciona la manipulación móvil asequible" . IEEE Spectrum . Consultado el 12 de julio de 2014 .
  141. "Uso de ROS con Webots" . Consultado el 18 de mayo de 2018 .
  142. "Koen compra" . 29 de octubre de 2013. Archivado del original el 29 de octubre de 2013. Consultado el 30 de julio de 2021 .
  143. "Descargas de Ubiquity Robotics" . Consultado el 29 de enero de 2018 .
  144. "ROSberryPi/Instalación de ROS Kinetic en la Raspberry Pi" . Consultado el 29 de enero de 2018 .
  145. "ROS 2 en Raspberry Pi" . Consultado el 17 de octubre de 2025 .
  146. "5.3.6. ROS y radar: documentación del SDK del procesador para Linux" . software-dl.ti.com . Consultado el 1 de mayo de 2020 .
Notas
  • STAIR: El proyecto del robot de inteligencia artificial de Stanford, Andrew Y. Ng , Stephen Gould, Morgan Quigley, Ashutosh Saxena , Eric Berger. Snowbird, 2008.
  • Sitio web oficialEdita esto en Wikidata