Robot Operating System

marc de desenvolupament de robots

El Robot Operating System, sovint abreujat com a ROS, és una estructura de desenvolupament de programari per a robots. És una col·lecció d'eines, llibreries i convencions informàtiques que tenen com a objectiu simplificar la creació i programació de robots.[1]

Robot Operating System
Modifica el valor a Wikidata

Tipusentorn de treball Modifica el valor a Wikidata
Versió inicial2007 Modifica el valor a Wikidata
Versió estable
Noetic Ninjemys (23 maig 2020)
Iron Irwini (23 maig 2023) Modifica el valor a Wikidata
Llicènciallicència BSD Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuLinux Modifica el valor a Wikidata
Escrit enC++ i Python Modifica el valor a Wikidata
Equip
Creador/sKeenan Wyrobek Modifica el valor a Wikidata
Desenvolupador(s)Willow Garage i Stanford Artificial Intelligence Laboratory Modifica el valor a Wikidata
Més informació
Lloc webros.org (anglès) Modifica el valor a Wikidata
BlogBlog oficial Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata

GitHub: ros

El software de ROS s'organitza com un conjunt de programes escrits en C++ o Python que fan tasques concretes i que comparteixen dades entre ells. Aquest tipus d'estructura permet que els programes es puguin reutilitzar i fer servir en molts tipus de robots. Això facilita i promou que es comparteixi codi i es col·labori en el desenvolupament de robots.[2] A més a més, també ofereix serveis com abstracció de hardware, controladors de dispositius a baix nivell, implementació de les funcionalitats més comunes, pas de missatges entre processos i gestió de paquets.[3]

D'ençà de la seva presentació oficial, l'any 2009, ROS s'ha popularitzat i disposa d'una important base d'usuaris, col·laboradors i empreses que l'usen.[4] La segona generació del Robot Operating System, ROS 2, es va publicar el 2020 introduint una nova arquitectura i comunicació basada en DDS.[5] Des del llançament de ROS 2 s'ha accelerat el desplegament de robots que el fan servir a més entorns i a escales més grans.[6]

Arquitectura modifica

Els sistemes basats en ROS estan dividits en tres capes: d'aplicació, d'intermediari i de sistema operatiu. La primera capa consisteix en diferents aplicacions, anomenades nodes, que duen a terme tasques específiques i poden compartir informació entre ells a través de missatges. Això permet aïllar possibles errors, facilita el desenvolupament i permet reutilitzar codi. Aquesta és la capa que els enginyers i programadors desenvolupen i modifiquen per cada robot.[7]

 
Comparativa entre l'arquitectura de ROS 1 i ROS 2.

La segona capa és la d'intermediari, que s'encarrega de la comunicació entre els nodes. A ROS 2 el sistema de comunicació està basat en Data Distribution Service, un servei de distribució de dades a temps real, fiable i d'alt rendiment. A ROS 1, per altra banda, es fa servir un sistema Transmission Control Protocol o User Datagram Protocol que interactua amb un node master, encarregat de gestionar els missatges, a la capa d'aplicació.[7]

Finalment, la tercera capa és la del sistema operatiu que conté tota la resta de programari. A ROS 2 es poden fer servir els sistemes operatius més comuns: Linux, Microsoft Windows, MacOS i RTOS. Per altra banda, per desenvolupar robots amb ROS 1 només es pot fer servir Linux.[7]

Història modifica

Es poden destacar les següents dates:[8]

Versions modifica

Distribucions del programari ROS:[11]

Distribucions de ROS 1
Distribució Data de publicació Data fi de vida
Noetic Ninjemys
(última distribució de ROS 1)
23 maig 2020 La darrera versió estable: Maig 2025
Melodic Morenia 23 maig 2018 La darrera versió estable: 30 maig 2023
Lunar Loggerhead 23 maig 2017 Una versió antiga, sense suport: 30 maig 2019
Kinetic Kame 23 maig 2016 Una versió antiga, sense suport: 30 maig 2021
Jade Turtle 23 maig 2015 Una versió antiga, sense suport: 30 maig 2017
Indigo Igloo 22 juliol 2014 Una versió antiga, sense suport: 30 abril 2019
Hydro Medusa 4 setembre 2013 Una versió antiga, sense suport: 31 maig 2014
Groovy Galapagos 31 desembre 2012 Una versió antiga, sense suport: 31 agost 2014
Fuerte Turtle 23 abril 2012 Una versió antiga, sense suport: --
Electric Emys 30 agost 2011 Una versió antiga, sense suport: --
Diamondback 2 març 2011 Una versió antiga, sense suport: --
C Turtle 2 agost 2010 Una versió antiga, sense suport: --
Box Turtle 2 març 2010 Una versió antiga, sense suport: --
Llegenda:
Versió antiga
Versió antiga, amb suport
Darrera versió
Darrera versió preliminar
Proper llançament

Robots amb ROS modifica

En destaquem els següents: [12]

 
El TurtleBot 2 és un robot mòbil assequible que funciona amb ROS.[13][14]
Nom Fabricant Imatge Notes
0x series robots Nex robotics
RMPv3 Segway
Innok Heros Innok Robotics
ABB robotics ABB
Pioneer LX OMRON
pepper SoftBank
Allegro Hand Wonik Robotics
Amigo Tech U Einhoven

Referències modifica

  1. Quigley, Gerkey i D. Smart, 2015, p. 3.
  2. Quigley, Gerkey i D. Smart, 2015, p. 7.
  3. Quigley, Gerkey i D. Smart, 2015, p. 5.
  4. Gerkey, Brian. «ROS, the Robot Operating System, Is Growing Faster Than Ever, Celebrates 8 Years». IEEE Spectrum. Erico Guizzo, 09-12-2015. [Consulta: 1r maig 2021].
  5. Macenski, 2022, p. 1.
  6. Macenski, 2022, p. 12.
  7. 7,0 7,1 7,2 Maruyama, Yuya; Kato, Shinpei; Azumi, Takuya «Exploring the performance of ROS2». 2016 International Conference on Embedded Software (EMSOFT), 2016, p. 10 [Consulta: 6 març 2024].
  8. «ROS.org | History». www.ros.org. Arxivat de l'original el 2016-12-23. [Consulta: 22 desembre 2016].
  9. «Willow Garage». www.willowgarage.com. [Consulta: 23 desembre 2016].
  10. «Suitable Technologies Beam Smart Presence System». suitabletech.com. [Consulta: 23 desembre 2016].
  11. «Distributions - ROS Wiki». wiki.ros.org. [Consulta: 22 desembre 2016].
  12. «Robots - ROS Wiki». wiki.ros.org. [Consulta: 22 desembre 2016].
  13. Quigley, Gerkey i D. Smart, 2015, p. 91.
  14. Ackerman, Evan «TurtleBot 2 Prototype Unveiled at ROSCon». IEEE Spectrum, 21-05-2012 [Consulta: 4 octubre 2020].

Bibliografia modifica

Enllaços externs modifica

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Robot Operating System