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.

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. 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.

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. La segona generació del Robot Operating System, ROS 2, es va publicar el 2020 introduint una nova arquitectura i comunicació basada en DDS. 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.

Arquitectura 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.

miniatura|alt=Comparativa entre l'arquitectura de ROS 1 i ROS 2.|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ó.

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.

Història Es poden destacar les següents dates: 2007 : desenvolupat inicialment pel laboratori d'intel·ligècia artificial de la Universitat Stanford. 2008-2013 : desenvolupat per la institució Willow Garage. 2013 : Willow Garage és absorbida per Suitable Technologies

Versions Distribucions del programari ROS: +Distribucions de ROS 1 Distribució Data de publicació Data fi de vidaNoetic Ninjemys(última distribució de ROS 1)23 maig 2020Melodic Morenia23 maig 2018Lunar Loggerhead23 maig 2017Kinetic Kame23 maig 2016Jade Turtle23 maig 2015Indigo Igloo22 juliol 2014Hydro Medusa4 setembre 2013Groovy Galapagos31 desembre 2012Fuerte Turtle23 abril 2012Electric Emys30 agost 2011Diamondback2 març 2011C Turtle2 agost 2010Box Turtle2 març 2010

Robots amb ROS En destaquem els següents: miniatura|El TurtleBot 2 és un robot mòbil assequible que funciona amb ROS.

NomFabricantImatgeNotes0x series robotsNex roboticsRMPv3SegwayInnok HerosInnok RoboticsABB roboticsABBPioneer LXOMRONpepperSoftBankAllegro HandWonik RoboticsAmigoTech U Einhoven

Referències

Bibliografia

Enllaços externs

Pàgina web oficial de ROS: www.ros.org Tutorials d'ús de ROS Repositori de ROS a Github

Categoria:Programari Categoria:Robòtica