billede af robot

BMW anvender ROS i udviklingen af selvkørende biler. Input fra sensorer i bilen anvendes i ROS-systemet til at planlægge korrektioner af kørslen, der så sendes til en Dspace MicroAutobox, som korrigerer kørslen.

open source

ROS - det åbne styresystem for robotter

Robot Operating System er otte år gammelt og anvendes allerede i mange robotter. Vi ser nærmere på open source-styresystemet for robotter.

"ROS er ikke et styresystem i traditionel forstand ... det giver derimod et struktureret kommunikationslag oven på værtsstyresystemerne i en heterogen computerklynge."

Sådan lyder den oprindelige beskrivelse af Robot Operating System (ROS) i forskningspapiret ”ROS: an open-source Robot Operating System”.

Fra universitet til industri

Fremfor at være et styresystem for robotter kan ROS bedre beskrives som en samling software-libraries og værktøjer, som man kan anvende til at udvikle robotapplikationer. Data fra diverse sensorer opsamles af ROS, og baseret på de sensor-input vil robottens interne model af verden blive opdateret. Robotten kan på basis af den opdaterede verdensmodel beslutte at bevæge sig eller manipulere omgivende fysiske objekter ved at aktivere ROS-enablede manipulatorer som robot-arme, -ben og -hænder.

ROS var inspireret af udviklingen af Stanford Artificial Intelligence Robot (STAIR) i 2007. Robotforskere fra Stanford University gik derefter sammen med forskere fra University of Southern California og robotvirksomheden Willow Garage i 2008 for at udvikle et system til at kontrollere og styre robotter. I 2009 blev forskningspapiret publiceret, og i dag anvendes, videreudvikles og vedligeholdes ROS af en lang række selskaber med interesse i robotteknologi, deriblandt chipleverandører som Intel og Nvidia samt bilfabrikanter som BMW. I alt har mere end 2.000 personer bidraget med kode til ROS, der i dag består af mere end 10 millioner kodelinjer.

BSD-licens

ROS er open source under BSD-licensen, og for robotforskerne var valget af en open source-model nærmest uundgåeligt, da det giver mere frihed og mulighed for at eksperimentere ved udvikling af diverse robotteknologier.

– Den fulde kildekode for ROS er offentlig tilgængelig. Vi mener, det er nødvendigt for at gøre det muligt at debugge på alle niveauer af softwarestakken, begrundede robotforskerne deres valg af BSD-licensen.

Det er ikke kun universitetsforskere, der sætter pris på open source-softwares mulighed for at ændre i kildekoden. Det var blandt andet, fordi ROS er open source, at BMW blev interesseret i robotsoftwaren. I dag anvender BMW softwaren i semi-selvkørende biler; eksempelvis til autopilot og autoparkering.

– En stor brugerbase betyder stabilitet og pålidelighed, fordi der højst sandsynligt allerede er nogle, der har oplevet det problem, du sidder med, forklarede BMW's forskningsingeniør i automatisk kørsel, Michael Aeberhard, på den seneste konference om ROS. Han fremhævede også det store udvalg af ROS-baserede softwarepakker, ligesom muligheden for at samarbejde med universiteter og forskningsinstitutioner smidiggøres, når begge parter anvender ROS.

Version 2 af ROS

I den oprindelige version af ROS foregik kommunikationen mellem forskellige processser internt i robotten og eventuelle eksterne processer på en eller flere computere uden for robotten ved hjælp af XML-RPC. Men i den kommende version 2 af ROS, som forventes frigivet i løbet af dette efterår, vil industristandarden DDS (Data Distribution Service) blive den nye kernekommunikation i ROS.

DDS-standarden er defineret af Object Management Group, der også stod bag en anden middleware-standard, CORBA. CORBA fik ry for at være en standard udarbejdet af en komité: Standarden så pæn ud på papiret, men performede elendigt i virkeligheden.

Det har vakt en del bekymring i ROS-miljøet: Er DDS også en papirstandard med ringe performance i virkeligheden?

Kan komité-standard performe?

Det afviser William Woodall fra Open Source Robotics Foundations. I artiklen ”ROS on DDS” på design.ros2.org tager han fat på de eventuelle bekymringer om planerne om at anvende DDS som en central komponent i ROS:

"...selvom DDS-specifikationen er skrevet af en komité, er den udviklet til sin nuværende form ved at reagere på brugernes behov. Den type organisk udvikling af specifikationen, inden den blev ratificeret, synes at afbøde bekymringer om, at standarden er designet i et vakuum og ikke vil performe i virkeligheden. Der er eksempler på, at komitéer med de bedste hensigter udvikler velbeskrevne specifikationer, som ingen ønsker at bruge, eller som ikke imødekommer brugernes behov, men det synes ikke at være tilfældet med DDS."

Der peges også på, at DDS anvendes af NASA, den amerikanske flåde og en lang række andre virksomheder og organisationer med forretningskritiske applikationer. Vi får se, om ROS baseret på DDS også fungerer for robotter, og om ROS stadig vil være robotforskernes foretrukne software.

 

Peer-to-peer

ROS er baseret på en peer-to-peer-topology, hvor et antal processer udveksler beskeder via en publish-sub-scribe-mekanisme. Et kamera kan eksempelvis meddele ROS-systemet, at det vil publicere billeder ved at annon-cere et topic billeder. En billedbehandlingsalgoritme kan abonnere på det topic. Via en ROS Master registrerer en publisher (talker i diagram) sit topic (”bar” i diagram-met) og en adresse. En subscriber (listener i diagrammet) meddeler ROS Master, at den gerne vil lytte til alt ved-rørende bar-topic. ROS Master fortæller så, hvor sub-scriberen skal forbinde sig for at kunne modtage data om ”bar”. Herefter foregår dataudvekslingen direkte mellem de to processer uafhængigt af ROS Master.


Læs også...

Microsoft starte en atomreaktor op igen for at give grøn strøm til deres datacentre, specielt dem med AI. Hvis det reelt går igennem og de får startet…

En ny feature i et af Googles AI-værktøjer gør det muligt at lave en podcast på få minutter. Featuren er så nem at bruge, at den egentlig ikke behøver…

Millioner af udviklere verden over bruger hver dag JavaScript – men hvorfor er programmeringssproget blevet så populært? PROSAbladet har talt med…

Et nyt projekt indsamler danske stemmer for at sikre, at AI-løsninger fremover også kan tale med dialekter. Du kan også donere din stemme, skriver DR.…

I dag lever Andreas Green Rasmussen af at finde dygtige iværksættere, han kan investere i. Men han har også selv flere startups på CV'et – og han ved,…

Ugly Duckling Ventures er en dansk venturefond, der håber at finde de startups, som bliver store milliardforretninger. Men hvad er en venturefond…

Der findes et hav af muligheder, når du som iværksætter skal finde finansiering til din startup. PROSAbladet guider dig til otte steder, hvor du kan…

Tech-giganterne er stadig i front, når it-studerende skal rangere populære arbejdspladser. Til gengæld har de store konsulenthuse taget et stort dyk…

Nye løsninger, en fælles dataplatform og et digitalt innovationscenter. Det er tre af hovedpunkterne i regeringens nye udspil, der skal sætte skub…

I den lille, amerikanske by Granbury i Texas summer en bitcoin-mine så meget, at borgerne i byen bliver syge.