EU zet in op rol voor Ros in de industrie

Het opensource Robot Operating System (Ros) is populair in de onderzoekswereld, maar de industrie is terughoudender; hardwaredrivers zijn er niet altijd en het is niet altijd duidelijk hoe het met de kwaliteit van componenten gesteld is. Het Ros-Industrial-consortium probeert daar verandering in te brengen. Het onlangs afgetrapte EU-project Rosin heeft 3,5 miljoen euro beschikbaar voor bedrijven die willen deelnemen.

Pieter Edelman
20 september 2017

Ros, het Robot Operating System, is sinds zijn ontstaan in 2007 een term geworden waar bijna iedereen in de roboticawereld wel van gehoord heeft. Het softwareraamwerk, ooit ontstaan bij de Amerikaanse startup Willow Garage, is bedoeld als ‘volgende generatie’ roboticaplatform, waarmee het eenvoudiger moet worden om robots te voorzien van intelligenter gedrag.

Een belangrijke troef hierin is het opensourcekarakter van Ros. Opensource impliceert dat iedereen het pakket naar willekeur kan gebruiken, en belangrijker nog, zijn eigen uitbreidingen ook weer direct openbaar maakt – hoewel dit anders dan bijvoorbeeld bij Linux geen vereiste is volgens de Ros-licenties, dus bedrijven mogen hun aanpassingen onder de pet houden als ze willen. Maar veel aanpassingen zijn helemaal niet concurrentiegevoelig en door ze te delen, profiteren alle gebruikers van elkaars werk.

De Yumi van ABB is een van de robots die goed ondersteund worden binnen Ros.

Vooral bij universiteiten en de ontwikkelaars van servicerobots is Ros populair. Maar de industrie is een stuk terughoudender. ‘In de industrie hoor je regelmatig dat Ros wel interessant is, maar toch vooral gemaakt wordt door hobbyisten of PhD-studenten die op een zondagmiddag iets in elkaar steken en dat dan op het internet zetten’, vertelt Gijs van der Hoorn, roboticaonderzoeker aan de TU Delft. ‘Bedrijven zien het natuurlijk niet zitten om dat te gebruiken.’

Van der Hoorn moet ze daar wel een beetje gelijk in geven: ‘Als je niet precies weet wat je binnenhaalt en wat je er precies mee kunt, is dat natuurlijk geen goede basis om serieus met een product om te gaan. Maar dat is een gemiste kans én een groot probleem, want er is een hele hoop interessante software beschikbaar.’

3d-camera’s en laserscanners

Er is nog een ander probleem met het gebruik van Ros voor industriële toepassingen. Het is opgezet als ‘componeerbaar’ platform. Applicaties worden samengesteld uit zelfstandige, kant-en-klare componenten die collectief het gewenste gedrag verzorgen. Daarvoor is Ros opgebouwd rond een message passing-mechanisme. Elke component – een node in Ros-terminologie – kan berichten publiceren zonder direct te hoeven weten waar ze terechtkomen. Evengoed kan elke component zich abonneren op berichtenstromen van een specifieke bron of aard.

 advertorial 
Daan Meijsen

Ingredients enabling carbon neutrality of warehouse systems

5 oktober 2023 vindt de INCOSE-NL workshop 2023 plaats, met spreker Daan Meijsen van Vanderlande. Tijdens de workshop krijg je inzicht in de verschillende cross-cutting duurzaamheidsperspectieven voor hightech systemen. Bekijk het volledige programma online en registreer nu!

Zo kan een cameradriver bijvoorbeeld elk geregistreerd frame als bericht de wereld in schieten, liefst op een gestandaardiseerde manier. Een beeldverwerkende component abonneert zich op de berichtenstroom van de camera en publiceert op zijn beurt weer berichten met de interpretatie van die frames.

Daarmee wordt het in principe heel makkelijk om applicaties samen te stellen uit bestaande componenten. Die moeten er dan wel zijn. ‘Na een aantal jaar met Ros en Ros-Industrial te hebben gewerkt, blijkt gewoon dat we nog niet voldoende nodes hebben om altijd zo je applicatie te maken’, heeft Van der Hoorn ervaren. ‘In de industriële context werk je natuurlijk vaak met industriële hardware, dus robots, sensoren, plc’s, dat soort zaken. We hebben daar al wel een heleboel drivers voor, maar er is ook legio hardware waar nog niks voor is.’

Overigens beginnen leveranciers wel de voordelen in te zien van Ros-ondersteuning. Vooral bij fabrikanten van visionhardware zoals 2d-camera’s, 3d-camera’s en laserscanners wordt het steeds gebruikelijker om standaard een driver voor het platform mee te leveren. ‘Maar ook robotfabrikanten gaan al meer die kant op’, signaleert Van der Hoorn. ‘Yaskawa Motoman heeft bijvoorbeeld een softwareoptie op de robot waarmee je af-fabriek een Ros-interface krijgt. We hebben vorig jaar samen met Delft Robotics de Amazon Picking Challenge gewonnen, daar hebben we ook een Motoman gebruikt. Die werd op een woensdagmiddag geleverd en een uur later was ik de eerste complexe bewegingen vanuit Ros aan het aansturen zonder op de robot zelf te hoeven programmeren.’

Forse boost

Ros is natuurlijk niet het enige opensourceproject dat met dit soort problemen te stellen krijgt. Toch wordt opensource software vandaag de dag breed gebruikt, van webservers tot in satellieten. Een veelgebruikte aanpak om de geschiktheid voor dergelijke toepassingen te waarborgen, is door een onafhankelijke organisatie in te richten die zich specifiek richt op die toepassing.

Zo heeft een groep bedrijven in de automotivebranche een paar jaar terug het Automotive Grade Linux-consortium opgericht, dat een opensource stack ontwikkelt en beheert die kan worden gebruikt voor infotainmentsystemen, en in de toekomst ook voor dashboards, functionele veiligheid en autonomie. Door gebruik te maken van bestaande componenten en de kosten te delen om die verder te ontwikkelen en aan te passen, is iedere partij een stuk voordeliger uit dan wanneer ze allemaal op eigen houtje een platform moeten ontwikkelen, zo is de gedachte.

Voor de industriële toepassing van Ros is in 2011 een consortium opgericht dat een soortgelijke rol vervult: Ros-Industrial. In de eerste plaats is dit een gebruikersgroep die ook de belangen van de spelers in deze sector vertegenwoordigt bij de Open Source Robotics Foundation, de hoeders van Ros. Maar het consortium onderhoudt ook eigen Ros-componenten specifiek gericht op industrieel gebruik, waarbij de vraag rond beschikbaarheid en kwaliteitsgaranties van componenten een speerpunt is.

De Europese Commissie besloot vorig jaar om Ros-Industrial een forse boost te geven met een Horizon2020-subsidie van maar liefst 7,5 miljoen euro. De TU Delft coördineert dit Rosin-programma, waarin verder het Fraunhofer Institute for Manufacturing Engineering and Automation, ABB en nog drie partijen zitten.

Stempel

Het geld is gedeeltelijk bestemd voor onderwijs op het gebied van Ros. ‘Dan kun je bijvoorbeeld denken aan een gecertificeerde Ros-Industrial-training voor ingenieurs, zoals dat gebruikelijk is binnen de automatisering’, aldus Van der Hoorn, die als technical lead betrokken is bij Ros-Industrial en bij Rosin.

Maar het moet ook de twee grote problemen aanpakken die spelen rondom Ros-Industrial: gebrek aan componenten en vragen rond kwaliteit. ‘Binnen Ros hebben we op dit moment al een infrastructuur voor softwarekwaliteit en -testen, maar die willen we behoorlijk uitbreiden’, vertelt Van der Hoorn. ‘We willen vooral kijken of componenten bijvoorbeeld een stempel kunnen krijgen dat aangeeft dat ze aan een programmeerstandaard voldoen zoals Misra C, en of ze technieken zoals continuous integration testing, unittests en regressietests gebruiken.’

Daarnaast wil het consortium statische codeanalyse gaan integreren in de kwaliteitstoolketen, waarbij de code wordt doorgemeten zonder deze daadwerkelijk uit te voeren. ‘Daar zijn allemaal kwaliteitsmetrieken uit te halen waarmee gebruikers van tevoren iets kunnen zeggen over de kwaliteit van een Ros-softwarecomponent. Daarvoor hebben we de IT University in Kopenhagen als partner in het project; die is daarin gespecialiseerd.’

Koudwatervrees

Wat betreft nieuwe componenten gaan de Rosin-projectpartners niet zelf aan de slag, maar stimuleren ze marktpartijen om de handschoen op te pakken. Dit sluit aan bij het mechanisme dat Ros-Industrial hanteert: als partijen functionaliteit missen, helpt het consortium te zoeken naar gelijkgestemden en ontwikkelpartners die samen het hiaat kunnen invullen. Onder de Rosin-vlag kunnen ze hier extra financiële ondersteuning krijgen. ‘De Horizon2020-subsidie is een cascade funding scheme, zoals dat heet: we zijn verplicht de helft weer door te geven aan andere gegadigden’, licht Van der Hoorn toe. ‘Er is 3,5 miljoen euro beschikbaar voor ondersteuning van partijen die graag Ros-Industrial willen gebruiken.’

Het probleem is namelijk dat er best wel wat koudwatervrees is om daadwerkelijk zo’n deelproject te beginnen. ‘Het Ros-Industrial Consortium Europe organiseert jaarlijks een conferentie, en daar zijn vaak bedrijven aanwezig die het allemaal machtig interessant vinden en best wel mooie toepassingen voor zichzelf zien, maar vervolgens een beetje vastlopen op het ondernemersrisico’, legt Van der Hoorn uit. ‘Vaak wil een bedrijf het wel doen, maar pas als anderen het ook doen. Maar die anderen zitten ook allemaal te wachten op anderen voordat zij er iets mee gaan doen. Wij willen dit kip-of-ei-probleem aanpakken.’

Rosin kan het ondernemersrisico verminderen door een deel van de personeelskosten te vergoeden, tot een derde. Hier staat tegenover dat het resultaat van het gesponsorde werk uiteindelijk opensource moet worden.

‘Het kan om drivers gaan, maar ook om implementaties van wetenschappelijke algoritmes of applicaties’, illustreert Van der Hoorn. ‘Je hebt binnen Ros-Industrial bijvoorbeeld de applicatie Scan-n-plan. Als je aan enkelstuks productie doet, zijn er vaak geen cad-modellen of wijkt het werkstuk er sterk van af. Dat maakt het heel lastig om bijvoorbeeld nabewerkingen te automatiseren. De Scan-n-plan-applicatie pakt dat aan door slim gebruik te maken van computervision. Je kunt gewoon een werkstuk de cel in schuiven en de robot scant het van een aantal verschillende posities. Vervolgens krijgt de operator op zijn scherm de herkende oppervlakken te zien en de delen waar iets mis mee lijkt, waarna hij selecteert wat daarmee moet gebeuren. Ros doet dan automatisch padplanning en de robot gaat aan de slag. Als laatste volgt nog een kwaliteitscontrole.’

Maar projecten mogen ook van conceptueel niveau zijn. ‘We zouden heel graag zien dat er deelconsortia komen die zich gaan bezighouden met standaardisering van interfaces en componenten’, geeft Van der Hoorn een voorbeeld.

Waar het precies heen gaat, durft Van der Hoorn niet precies te zeggen. De eerste call is pas in maart geopend, dus het is nog vroeg dag en de eerste projectvoorstellen worden nog voorbereid. ‘Een heel belangrijk aspect binnen Ros-Industrial is dat we geen technology push doen. We kijken gewoon wat een probleem zou kunnen zijn en als er genoeg leden – of niet-leden, dat mag ook – tegen aanlopen of er een mogelijkheid in zien, dan faciliteren we hen. Het is bijna volledig pull based.’