Els equips interdisciplinaris de recerca en robòtica i intel·ligència artificial avançada que treballen en temes punters no poden perdre el temps reinventant la roda, dedicant-lo a temes bàsics ja resolts, per la qual cosa opten normalment per plataformes estàndard, obertes i ben provades, que els permeten la compartició del codi i els proporcionen les funcionalitats de partida que necessiten.
ROS (Robot Operating System) és la plataforma robòtica estàndard de fet. És una capa de programari lliure que s’instal·la sobre el sistema operatiu i que proporciona tota una sèrie de funcionalitats bàsiques al robot (com les relacionades amb la percepció, el moviment, el reconeixement i l’aprenentatge) a través d’eines, llibreries i una interfície de programació oberta que facilita el desenvolupament de programari per a robots. Pel fet que les diferents versions de ROS es desenvolupen i proven primer a Ubuntu, tot i que finalment s’acabin passant també a d’altres distribucions i sistemes operatius, la immensa majoria de desenvolupadors de solucions robòtiques basades en ROS utilitzen Ubuntu. ROS no obliga els desenvolupadors a utilitzar un llenguatge de programació específic, tot i que Python i C ++ estan entre els més utilitzats. Cada cop hi ha més robots que utilitzen ROS i hi ha també una gran abundància de projectes i documentació al respecte.
ROS té el seu origen el 2007 al laboratori d’intel·ligència artificial de la Universitat de Stanford sota la denominació inicial de STAIR (STanford AI Robot). ROS 2 és una evolució de ROS (o ROS 1) que trenca amb algunes de les limitacions que anaven arrossegant les diferents versions de ROS 1 a causa de les decisions de disseny que es van prendre en un altre context i en un altre moment tecnològic, quan es va crear ROS. Per conèixer les principals diferències entre ROS 1 i ROS 2, podeu consultar el document “Changes between ROS 1 and ROS 2“. Podeu trobar informació específica sobre les diferents versions de ROS 2 i descarregar-vos-les des de la pàgina oficial de distribucions ROS 2. Canonical, l’empresa responsable de la distribució Ubuntu, forma part del Comitè de Direcció Tècnica ROS 2.
La plataforma robòtica micro-ROS és una adaptació de ROS 2 per a dispositius amb pocs recursos de memòria i de capacitat de processament, basats en microcontroladors, com poden ser sensors o actuadors. Això permet utilitzar codi desenvolupat per a ROS 2 també amb aquests dispositius i en facilita la comunicació amb el codi ROS 2 de l’ordinador central que controla el robot.
Periòdicament es fan les trobades internacionals ROSCon on desenvolupadors, investigadors i aficionats a la robòtica que utilitzen ROS es reuneixen per aprendre i per intercanviar idees i projectes .
Oriol López