stringtranslate.com

Sistema operativo del robot

Robot Operating System ( ROS o ros ) es una suite de middleware de robótica de código abierto . Aunque ROS no es un sistema operativo (OS) sino un conjunto de marcos de software para el desarrollo de software de robots , proporciona servicios diseñados para un clúster de computadoras heterogéneo como abstracción de hardware , control de dispositivos de bajo nivel , implementación de funcionalidad de uso común, paso de mensajes entre procesos y administración de paquetes . Los conjuntos de procesos en ejecución basados ​​en ROS se representan en una arquitectura gráfica donde el procesamiento tiene lugar en nodos que pueden recibir, publicar y multiplexar datos de sensores, control, estado, planificación, actuador y otros mensajes. 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 sistema integrado .

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

Tanto las herramientas independientes del lenguaje como las principales bibliotecas de cliente ( C++ , Python y Lisp ) se publican bajo los términos de la licencia BSD y, como tales, son software de código abierto y gratuitos tanto para uso comercial como de investigación. La mayoría de los demás paquetes tienen licencia de varias licencias de código abierto . Estos otros paquetes implementan funciones 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 de cliente 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 de cliente, Ubuntu Linux aparece como "compatible", mientras que otras variantes como Fedora Linux , macOS y Microsoft Windows se designan como "experimentales" y cuentan con el apoyo de la comunidad. [12] Sin embargo, la biblioteca de cliente ROS nativa de Java, 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 MATLAB oficialmente compatible que se puede utilizar en Linux , macOS y Microsoft Windows. [15] También se ha desarrollado una biblioteca de cliente JavaScript , roslibjs [16], que permite la integración de software en un sistema ROS a través de cualquier navegador web compatible con estándares.

Historia

Primeros días en Stanford (2007 y antes)

En algún momento antes de 2007, las primeras piezas de lo que eventualmente se convertiría en ROS comenzaron a fusionarse en la Universidad de Stanford . [17] [18] Eric Berger y Keenan Wyrobek, estudiantes de doctorado que trabajaban en el laboratorio de robótica de Kenneth Salisbury [19] 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 frenados por la naturaleza diversa de la robótica: un excelente desarrollador de software podría no tener el conocimiento de hardware requerido, alguien que desarrollara planificación de rutas de última generación podría no saber cómo hacer la visión por computadora requerida. En un intento por remediar esta situación, los dos estudiantes se propusieron crear un sistema de referencia que proporcionara un punto de partida para que otros en el ámbito académico pudieran construir sobre él. En palabras de Eric Berger, "algo que no apestara, 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 tempranos, particularmente Switchyard, un sistema en el que Morgan Quigley, otro estudiante de doctorado de Stanford, había estado trabajando en apoyo del STanford Artificial Intelligence Robot (STAIR) [21] [22] [23] [24] por el Laboratorio de Inteligencia Artificial de Stanford . Joanna Hoffman y Alain Rossmann proporcionaron una financiación inicial de 50.000 dólares estadounidenses , que apoyaron 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 todoterreno autónomo y un barco autónomo solar. Hassan compartía la visión de Berger y Wyrobek de un "Linux para la robótica", y los invitó a venir a trabajar en Willow Garage. Willow Garage se inició en enero de 2007 y la primera confirmación del 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 una continuación del PR1, y ROS como el software para ejecutarlo. Grupos de más de veinte instituciones hicieron contribuciones 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 grande. [27] [28] El hecho de que personas ajenas a Willow contribuyeran a ROS (especialmente del proyecto STAIR de Stanford) significó que ROS era una plataforma multi-robot desde el principio. Si bien Willow Garage originalmente tenía otros proyectos en progreso, estos fueron descartados a favor del Programa de Robótica Personal: enfocado en producir el PR2 como una plataforma de investigación para la academia y ROS como la pila de robótica de código abierto que sustentaría tanto la investigación académica como las nuevas empresas tecnológicas, de manera muy similar a la pila LAMP para las nuevas empresas 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 un período de 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 por la primera documentación de RVIZ y el primer artículo sobre ROS. [28] A principios del verano, se alcanzó el segundo hito interno: tener al PR2 navegando por la oficina, abriendo puertas y conectándose solo. [31] Esto fue seguido en agosto por el inicio del sitio web ROS.org. [32] Los primeros tutoriales sobre ROS se publicaron en diciembre, [33] preparándose para 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 habilidades que los ingenieros de Willow Garage habían desarrollado durante los 3 años anteriores.

Después de esto, Willow Garage logró uno de sus objetivos más antiguos: regalar 10 robots PR2 a instituciones académicas dignas. Este había sido un objetivo durante mucho tiempo de los fundadores, ya que sentían que el PR2 podría impulsar la investigación robótica en todo el mundo. Terminaron otorgando once PR2 a diferentes instituciones, incluidas la Universidad de Friburgo (Alemania), Robert Bosch GmbH , el Instituto de Tecnología de Georgia , 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 pasantías de Willow Garage [36] (gestionado de 2008 a 2010 por Melonee Wise), ayudó a difundir la palabra sobre ROS en todo el mundo de la robótica. El primer lanzamiento oficial de ROS, ROS Box Turtle, se lanzó el 2 de marzo de 2010, lo que marcó la primera vez que ROS se distribuyó oficialmente con un conjunto de paquetes versionados para uso público. Estos desarrollos llevaron al primer dron que ejecutaba ROS, [37] al primer automóvil autónomo que ejecutaba ROS, [38] y a la adaptación de ROS para Lego Mindstorms . [39] Con el programa PR2 Beta en marcha, el robot PR2 se lanzó oficialmente para su compra comercial el 9 de septiembre de 2010. [40]

Una imagen del sistema operativo robótico (ROS) funcionando en la Antártida

2011 fue un año destacado 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 superando 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 Baxter , el primer robot comercial en ejecutar ROS, fue anunciado por Rethink Robotics . [48] Poco después de pasar 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 el principal mantenedor del software de 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 el PR2 a principios de 2014. [53]

OSRF y Open Robotics (2013-actualidad)

En los años transcurridos desde que OSRF se hizo cargo del desarrollo primario de ROS, se ha lanzado una nueva versión cada año, [52] mientras que el interés en ROS sigue creciendo. ROSCons se ha celebrado cada año desde 2012, en el mismo lugar que ICRA o IROS , dos conferencias emblemáticas sobre robótica. Se han organizado reuniones de desarrolladores de ROS en una variedad de 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 que ejecuta ROS en el espacio: Robotnaut 2 , en la Estación Espacial Internacional . [60] En 2017, la OSRF cambió su nombre a Open Robotics . Los gigantes tecnológicos Amazon y Microsoft comenzaron a interesarse en ROS durante este tiempo, y Microsoft trasladó el núcleo de ROS a Windows en septiembre de 2018, [61] seguido por Amazon Web Services lanzando RoboMaker en noviembre de 2018. [62]

Tal vez el desarrollo más importante de los años de OSRF/Open Robotics hasta ahora (sin descontar la explosión de plataformas de robots 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 pretende soportar programación en tiempo real , una variedad más amplia de entornos informáticos y tecnología más moderna. [63] ROS 2 se anunció en ROSCon 2014, [64] las primeras confirmaciones en el repositorio ros2 se realizaron en febrero de 2015, seguidas de lanzamientos alfa en agosto de 2015. [65] La primera versión 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 ROS: Plomería + Herramientas + Capacidades + Ecosistema = ¡ROS!
Una imagen que representa la ecuación ROS: Plomería + Herramientas + Capacidades + Ecosistema = ¡ROS!

ROS fue diseñado para ser de código abierto, con la intención de que los usuarios pudieran elegir la configuración de las herramientas y bibliotecas que interactuaban con el núcleo de ROS, de modo que los usuarios pudieran cambiar sus pilas de software para que se adaptaran a su robot y área de aplicación. Como tal, hay muy poco que sea fundamental para ROS, más allá de la estructura general dentro de la cual los programas deben existir y comunicarse. En cierto sentido, ROS es la tubería subyacente detrás de los nodos y el paso de mensajes. Sin embargo, en realidad, ROS no es solo esa tubería, sino un conjunto rico y maduro de herramientas, un amplio conjunto de capacidades independientes de los robots proporcionadas por paquetes y un ecosistema más grande de adiciones a ROS.

Modelo de gráfico computacional

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

Nodos

Un nodo representa un proceso que ejecuta el gráfico ROS. Cada nodo tiene un nombre, que registra con el maestro ROS antes de poder realizar cualquier otra acción. Pueden existir múltiples nodos con diferentes nombres bajo diferentes espacios de nombres , o un nodo puede definirse como anónimo, en cuyo caso generará aleatoriamente un identificador adicional para agregar a su nombre dado. Los nodos son el centro de la programación ROS, ya que la mayoría del código de cliente ROS tiene la forma de un nodo ROS que realiza acciones en función de 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 está enviando/recibiendo en ese tema. Los tipos de mensajes que se pasan 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. Como tal, los servicios se utilizan a menudo para acciones que tienen un inicio y un final definidos, como capturar una imagen de un fotograma, en lugar de procesar comandos de velocidad para un motor de rueda o datos del odómetro de un codificador de rueda. Los nodos anuncian servicios y llaman a servicios de otros.

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 accede a ellos con poca frecuencia, como la distancia entre dos puntos fijos del entorno o el peso del robot, son buenos candidatos para el almacenamiento en el servidor de parámetros.

Herramientas

La funcionalidad principal de ROS se ve aumentada por una variedad de herramientas que permiten a los desarrolladores visualizar y registrar datos, navegar fácilmente por las estructuras de paquetes de ROS y crear scripts que automatizan procesos complejos de configuración e instalación. La incorporación de estas herramientas aumenta en gran medida las capacidades de los sistemas que utilizan ROS al simplificar y brindar soluciones a una serie de problemas comunes de desarrollo de robótica. Estas herramientas se proporcionan en paquetes como cualquier otro algoritmo, pero en lugar de proporcionar implementaciones de controladores de hardware o algoritmos para varias tareas robóticas, estos paquetes proporcionan herramientas independientes de tareas y robots que vienen con el núcleo de la mayoría de las instalaciones modernas de ROS.

Visítenos

rviz [69] (Robot Visualization tool) 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. Unified Robot Description Format ( URDF ) es un formato de archivo XML para la descripción de modelos de robots.

bolsa de rosquillas

rosbag [70] es una herramienta de línea de comandos que se utiliza para grabar y reproducir datos de mensajes de ROS. rosbag utiliza un formato de archivo llamado bolsas [71] , que registra los mensajes de ROS escuchando temas y grabando los mensajes a medida que llegan. Reproducir mensajes desde una bolsa es en gran medida lo mismo que tener los nodos originales que produjeron los datos en el gráfico de cálculo de ROS, lo que hace que las bolsas sean una herramienta útil para registrar 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 construcción de ROS, 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.

rosbash

El paquete rosbash [75] proporciona un conjunto de herramientas que aumentan la funcionalidad del shell 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 utilizar nombres de paquetes ros en lugar de la ruta del archivo donde se encuentra el paquete. El paquete también agrega la función de completar tabulaciones a la mayoría de las utilidades ROS e incluye rosed, que edita un archivo determinado 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.

lanzamiento de ros

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

Paquetes de nota

ROS contiene muchas implementaciones de código abierto de algoritmos y funciones robóticas 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 personas y distribuidos a través de sitios de intercambio de código como GitHub. Algunos paquetes destacados incluyen:

Sistemas y herramientas

Mapeo y localización

Navegación

Manipulación

Percepción

Representación del marco de coordenadas

Simulación

Versiones y lanzamientos

Las versiones de ROS pueden ser incompatibles con otras versiones y, a menudo, se hace referencia a ellas por su nombre en código en lugar de por el número de versión. Actualmente, ROS lanza una versión cada año en mayo, tras el lanzamiento de las versiones LTS de Ubuntu. [92] Actualmente, ROS 2 lanza una nueva versión cada seis meses (en diciembre y julio). Estas versiones tienen soporte durante un solo año. Actualmente hay dos versiones principales activas que se están lanzando: ROS 1 y ROS 2. Además de esto, existe el proyecto ROS-Industrial o derivado de ROS-I desde al menos 2012.

ROS 1

ROS 2

ROS-Industrial

ROS-Industrial [108] es un proyecto de código abierto (licencia BSD (legacy)/Apache 2.0 (preferred)) que extiende las capacidades avanzadas de ROS a la automatización de la fabricación y la robótica. En el entorno industrial, existen dos enfoques diferentes para programar un robot: ya sea a través de un controlador propietario externo, generalmente implementado utilizando ROS, o a través del lenguaje de programación nativo respectivo del robot. Por lo tanto, ROS puede verse como el enfoque basado en software para programar robots industriales en lugar del enfoque clásico basado en el controlador del robot.

El repositorio ROS-Industrial incluye interfaces para manipuladores industriales, pinzas, sensores y redes de dispositivos comunes. También proporciona bibliotecas de software para calibración automática de sensores 2D/3D, planificación de trayectorias de procesos/movimiento, aplicaciones como Scan-N-Plan, herramientas para desarrolladores como el complemento ROS de Qt Creator y un plan de estudios de capacitación específico para las necesidades de los fabricantes. ROS-I cuenta con el apoyo de un consorcio internacional de miembros de la industria y la investigación. El proyecto comenzó como un esfuerzo colaborativo 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 Industrial ROS de las Américas (dirigido por SwRI y ubicado en San Antonio, Texas), el Consorcio Industrial ROS de Europa (dirigido por Fraunhofer IPA y ubicado en Stuttgart, Alemania) y el Consorcio Industrial ROS de Asia y el Pacífico (dirigido por el Centro de Tecnología y Remanufactura Avanzada (ARTC) y la Universidad Tecnológica de Nanyang (NTU) y ubicado en Singapur).

Los consorcios apoyan a la comunidad industrial global de ROS realizando capacitaciones sobre ROS-I, brindando apoyo técnico y estableciendo la hoja de ruta futura para ROS-I, así como realizando proyectos industriales conjuntos precompetitivos para desarrollar nuevas capacidades de ROS-I. [109]

Robots y hardware compatibles con ROS

Robots

SBC y hardware

Véase también

Referencias

  1. ^ "ROS 2 Iron Irwini". ROS.org . Open Robotics . Consultado el 4 de junio de 2023 .
  2. ^ "ROS 2 Jazzy Jalisco". ROS.org . Open Robotics. Mayo de 2024 . Consultado el 4 de junio de 2023 .
  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. ^ "Buscando paquetes para melodic". ROS.org . Open Robotics. Archivado desde el original el 24 de septiembre de 2015 . Consultado 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 de clientes". 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 – Wiki de ROS". ROS.org . Open Robotics. 12 de abril de 2014 . Consultado el 12 de julio de 2014 .
  15. ^ "Compatibilidad de MATLAB con sistemas operativos robóticos (ROS): compatibilidad de hardware". Mathworks.com . Consultado el 12 de julio de 2014 .
  16. ^ "roslibjs – ROS Wiki". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  17. ^ ab Guizzo, Evan Ackerman y Erico (7 de noviembre de 2017). "Wizards of ROS: Willow Garage and the Making of the Robot Operating System". IEEE Spectrum: Noticias sobre tecnología, ingeniería y ciencia . Consultado 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 . Consultado 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. ^ "Los creadores de robots de Stanford". 16 de enero de 2019.
  22. ^ Ng, Andrew; Gould, Stephen; Quigley, Morgan; Saxena, Ashutosh; Berger, Eric (2008). "STAIR: El proyecto de robot de inteligencia artificial de Stanford". Taller Snowbird.
  23. ^ "ESTAIL". stair.Stanford.edu . 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). "Fondo 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. ^ ab Quigley, Morgan; Gerkey, Brian; Conley, Ken; Faust, Josh; Foote, Tully; Leibs, Jeremy; Berger, Eric; Wheeler, Rob; Ng, Andrew . "ROS: un sistema operativo para robots de código abierto" (PDF) . Consultado el 3 de abril de 2010 .
  29. ^ WillowGaragevideo (19 de diciembre de 2008), Milestone 1 , consultado el 29 de abril de 2019
  30. ^ "Lanzamiento de ROS 0.4: noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  31. ^ WillowGaragevideo (2 de julio de 2009), Milestone 2 Explained , consultado el 29 de abril de 2019
  32. ^ "Bienvenido a ros.org – Noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  33. ^ "Tutoriales y tortugas de ROS: noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  34. ^ "ROS 1.0 – Noticias sobre robótica ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  35. ^ "Ya tenemos los resultados: ¡los beneficiarios del programa PR2 Beta!". Willow Garage . Archivado desde el original el 13 de julio de 2018. Consultado el 29 de abril de 2019 .
  36. ^ "Pasantes y académicos visitantes". Willow Garage . Consultado el 29 de abril de 2019 .
  37. ^ "Robots que utilizan ROS: Penn Quadrotors – ROS robotics news". ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  38. ^ "Robots que utilizan ROS: 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 utilizan ROS: Lego NXT – Noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  40. ^ "Robots PR2 disponibles para compra".
  41. ^ "Anuncio de ROS Answers – Noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  42. ^ "ROS on the Move: TurtleBots disponible para preordenar". Willow Garage . Consultado el 12 de diciembre de 2017 .
  43. ^ "100 Repositorios – Noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  44. ^ "Willow Garage lanza OSRF". Archivado desde el original el 6 de noviembre de 2017 . Consultado el 13 de octubre de 2017 .
  45. ^ "DARPA adjudica contrato de software de simulación a la Open Source Robotics Foundation".
  46. ^ "¡Gracias por una gran ROSCon 2012! – Noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 24 de noviembre de 2018 .
  47. ^ "Nuevo libro: ROS por ejemplo – Noticias sobre robótica ROS". ROS.org . Open Robotics . Consultado el 24 de noviembre de 2018 .
  48. ^ "Rethink ROS – Novedades sobre robótica ROS". ROS.org . Open Robotics . Consultado el 24 de noviembre de 2018 .
  49. ^ "ROS: Cinco años – Noticias sobre robótica de ROS". ROS.org . Open Robotics . 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 incorporan a Suitable Technologies". Willow Garage. Archivado desde el original el 8 de octubre de 2017. Consultado el 12 de julio de 2014 .
  52. ^ abc «Distribuciones – Wiki de ROS». 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 de la primera reunión de usuarios coreanos de ROS: noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 30 de julio de 2021 .
  55. ^ "Primera reunión danesa de ROS".
  56. ^ "Primera reunión 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 ROS en China – Noticias sobre robótica ROS". ROS.org . Open Robotics . Consultado el 24 de noviembre de 2018 .
  59. ^ "Academia de encendido de robots ROS".
  60. ^ "ROS funcionando en la ISS – Noticias sobre robótica de ROS". ROS.org . Open Robotics . Consultado el 12 de diciembre de 2017 .
  61. ^ "Resumen". ros-win.visualstudio.com . Consultado el 29 de abril de 2019 .
  62. ^ "Anuncio de AWS RoboMaker". Amazon Web Services, Inc. Recuperado el 29 de abril de 2019 .
  63. ^ "¿Por qué ROS 2?". ROS.org . Open Robotics . 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. ^ abc «Distribuciones de ROS 2». ROS.org . Open Robotics . Consultado el 21 de septiembre de 2021 .
  66. ^ ab "ROS/Tutorials/UnderstandingNodes – ROS Wiki". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  67. ^ "ROS/Tutoriales/Temas de comprensión – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  68. ^ ab "ROS/Tutorials/UnderstandingServicesParams – ROS Wiki". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  69. ^ "rviz – Wiki de ROS". 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 – Wiki de ROS". ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  72. ^ "rqt_bag – Wiki de ROS". ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  73. ^ "catkin – Wiki de ROS". 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. ^ "rosbash – ROS Wiki". ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  76. ^ "roslaunch – ROS Wiki". ROS.org . Open Robotics . Consultado el 23 de abril de 2019 .
  77. ^ "actionlib – ROS Wiki". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  78. ^ "nodelet - Wiki ROS". ROS.org . Robótica abierta . Consultado el 29 de abril de 2019 .
  79. ^ "rosbridge_suite – ROS Wiki". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  80. ^ "slam_toolbox – ROS Wiki". ROS.org . Open Robotics . Consultado el 11 de febrero de 2020 .
  81. ^ "gmapping – ROS Wiki". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  82. ^ "cartógrafo – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  83. ^ "amcl – ROS Wiki". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  84. ^ "navegación – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  85. ^ "Marco de planificación de movimiento MoveIt". ROS MoveIt! .
  86. ^ "Documentación de MoveIt: rodando".
  87. ^ "vision_opencv – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  88. ^ "tf – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  89. ^ "tf2 – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  90. ^ "gazebo_ros_pkgs – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  91. ^ "etapa – Wiki de ROS". ROS.org . Open Robotics . Consultado el 29 de abril de 2019 .
  92. ^ "Cambios en el cronograma de lanzamiento de ROS". 9 de mayo de 2018.
  93. ^ "REP 2000 – Versiones de ROS 2 y plataformas de destino". ROS.org . Open Robotics . Consultado el 20 de febrero de 2021 .
  94. ^ "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 .
  95. ^ "Lluvia de ideas sobre 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 .
  96. ^ ab "¡Lanzamiento de ROS 2 Jazzy Jalisco!". 23 de mayo de 2024.
  97. ^ "¡Lanzamiento de ROS 2 Iron Irwini!". 23 de mayo de 2023.
  98. ^ "¡Lanzamiento de ROS 2 Humble Hawksbill!". 23 de mayo de 2022.
  99. ^ "Se libera el geoquelone galáctico de ROS". 23 de mayo de 2021. Consultado el 10 de julio de 2021 .
  100. ^ "ROS Foxy Fitzroy Released". 5 de junio de 2020. Consultado el 24 de junio de 2020 .
  101. ^ "Diseño de ROS 2". GitHub . 29 de enero de 2022.
  102. ^ "Versiones alfa de ROS 2 (agosto de 2015 – octubre de 2016) – Documentación de ROS 2: documentación de Foxy".
  103. ^ "ROS 2 alpha8". 5 de octubre de 2016.
  104. ^ "¿Por qué ROS 2?".
  105. ^ "¿Hay una fecha de lanzamiento de ROS 2 o más información al respecto? – ROS Answers: Foro de preguntas y respuestas de código abierto".
  106. ^ "Programa | ROSCon 2014".
  107. ^ "Inicio · ros2-wiki".
  108. ^ "ROS-Industrial About". rosindustrial.org . Consultado el 12 de diciembre de 2017 .
  109. ^ "Breve historia". ROS-Industrial . Consultado el 11 de julio de 2018 .
  110. ^ "Inicio". ROS-Industrial . Consultado el 12 de diciembre de 2017 .
  111. ^ "Baxter Research Robots Q&A | Rethink Robotics". 24 de julio de 2014. Archivado desde el original el 24 de julio de 2014 . Consultado el 30 de julio de 2021 .
  112. ^ "CK-9 | Centauri Robotics". centaurirobotics.in . Consultado el 30 de julio de 2021 .
  113. ^ "Robots/gopigo3 – Wiki de ROS". ROS.org . Open Robotics . Consultado el 30 de julio de 2021 .
  114. ^ "Laboratorio de Robótica Personal de la CMU". personalrobotics.Intel-Research.net . Consultado el 12 de diciembre de 2017 .
  115. ^ "Husky UGV: robot de investigación de campo para exteriores de Clearpath". ClearPathRobotics.com . Consultado el 12 de diciembre de 2017 .
  116. ^ "nao-ROS Wiki". ROS.org . Robótica abierta. 28 de octubre de 2013 . Consultado el 12 de julio de 2014 .
  117. ^ "¡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 .
  118. ^ "Brown University Robotics". 28 de enero de 2013. Archivado desde el original el 28 de enero de 2013. Consultado el 30 de julio de 2021 .
  119. ^ "[ros-users] Controlador ROS NAO". 29 de octubre de 2013. Archivado desde el original el 29 de octubre de 2013 . Consultado el 30 de julio de 2021 .
  120. ^ "Programa de Robótica Personal de Stanford". personalrobotics.Stanford.edu . Consultado el 12 de diciembre de 2017 .
  121. ^ "Destacado". Willow Garage . 20 de junio de 2010. Archivado desde el original el 20 de junio de 2010 . Consultado el 30 de julio de 2021 .
  122. ^ 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, págs. 954-959, abril de 2013.
  123. ^ "Laboratorio de Biorrobótica | Laboratorio de Biorrobótica – Universidad de Washington". Brl.ee.washington.edu. Archivado desde el original el 14 de julio de 2014. Consultado el 12 de julio de 2014 .
  124. ^ "ROSbot 2.0 y ROSbot 2.0 PRO · Documentos de Husarion". husarion.com . Consultado el 30 de julio de 2021 .
  125. ^ "Serie Dexterous Hand – Shadow Robot Company" . Consultado el 30 de julio de 2021 .
  126. ^ "ESTAIL". stair.stanford.edu . Consultado el 30 de julio de 2021 .
  127. ^ "Hola Robot".
  128. ^ "Este robot podría ser la clave para empoderar a las personas con discapacidad".
  129. ^ "Summit XL – Robotnik". Robotnik.es . Consultado el 12 de julio de 2014 .
  130. ^ "Especificación". Unbounded Robotics. Archivado desde el original el 28 de abril de 2015 . Consultado el 12 de julio de 2014 .
  131. ^ 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 .
  132. ^ "Uso de ROS con Webots" . Consultado el 18 de mayo de 2018 .
  133. ^ "Koen Buys". 29 de octubre de 2013. Archivado desde el original el 29 de octubre de 2013. Consultado el 30 de julio de 2021 .
  134. ^ "Descargas de Ubiquity Robotics" . Consultado el 29 de enero de 2018 .
  135. ^ "ROSberryPi/Instalación de ROS Kinetic en Raspberry Pi" . Consultado el 29 de enero de 2018 .
  136. ^ "5.3.6. ROS y Radar – Documentación de Linux del SDK del procesador". software-dl.ti.com . Consultado el 1 de mayo de 2020 .
Notas

Proyectos relacionados

Enlaces externos