ROS de nieuwe manier om robotica te gebruiken
Het open-source raamwerk ROS (Robot Operating System) maakt een einde aan de hinderlijke verwarring van verschillende programmeertalen. Het biedt besturingssysteemfuncties en softwaretools voor eenvoudige programmering van robots – onafhankelijk van de robotfabrikant. Deze gids legt uit wat erachter zit.
Programmeren is problematisch
Robotica maken deel uit van ons dagelijks leven. Ze helpen bij de productie van auto’s in de fabriek, ze vervoeren goederen of ondersteunen onderzoekswerk onder water. En dit zijn nog maar enkele van de klussen die ze nu voor ons mensen doen.
Al dAl deze activiteiten vereisen dat de robots dienovereenkomstig worden geprogrammeerd. Het programma vertelt hem waar hij moet bewegen en wat hij waar moet doen – bijvoorbeeld naar een doos gaan om daar een onderdeel te pakken.
In principe heeft elke robotleverancier hiervoor zijn eigen programmeertaal ontwikkeld. Iedereen die een robot wil gebruiken, moet dus de betreffende taal beheersen. Bedrijven die werken met robots van verschillende fabrikanten hebben daarom voor elk type speciale deskundigen nodig die kunnen programmeren. Fabrikanten bieden hiervoor hun eigen opleidingen aan, die meerdere dagen kunnen duren.
Dit kan het gebruik van robots tijdrovend en kostbaar maken. Een derde van de kosten van een robotcel wordt veroorzaakt door software engineering – dat wil zeggen, het aanleren van de robot.
Bovendien kunnen toepassingen niet zomaar worden gereproduceerd. Een toepassing die is gemaakt voor de robot van een bepaalde fabrikant kan namelijk niet eenvoudig worden overgezet op die van een andere leverancier. In plaats daarvan moet de volledige code worden herschreven.
Dit is niet alleen inefficiënt voor gebruikers die met verschillende robots willen werken. Het maakt het ook moeilijk om kennis over te dragen tussen verschillende soorten robots. Nieuwe toepassingen, die bijvoorbeeld het werken met de technologie zouden verbeteren, kunnen zich slechts langzaam verspreiden. In het algemeen belemmert dit de vooruitgang in de robotica.
De oplossing: open source, meta-besturingssysteem inclusief middleware
De oplossing hiervoor is, in zekere zin, de taalbarrières open te breken. Dit is het fundamentele idee erachter – een open source raamwerk voor het programmeren van robots. ROS werd in 2007 ontwikkeld door het robotica-instituut Willow Garage in Silicon Valley voor de ontwikkeling van de eigen dienstrobot PR2. In 2009 volgde de release als open source, zodat iedereen het kon gebruiken. Sinds 2012 wordt het gecoördineerd, onderhouden en verder ontwikkeld door de Open Source Robotics Foundation (OSRF).
ROS wordt ook wel een meta-besturingssysteem genoemd, inclusief middleware. Concreet betekent dit dat ROS zelf geen besturingssysteem is, maar gebaseerd is op een bestaand besturingssysteem.
Het wordt ook wel een meta-besturingssysteem genoemd, inclusief middleware. Concreet betekent dit dat het zelf geen besturingssysteem is, maar gebaseerd is op een bestaand besturingssysteem. Oorspronkelijk was dat alleen Linux, maar inmiddels worden ook Windows en MacOS ondersteund. ROS zelf biedt echter ook functies van een besturingssysteem. Daartoe behoren pakketbeheer, hardware-abstractie, procesbeheer en apparaatstuurprogramma’s, waarmee het op de computer gemaakte programma wordt overgebracht naar de robot.
Daarnaast biedt ROS softwaretools om programma’s voor robots te schrijven. Gebruikers kunnen gebruikmaken van softwarebibliotheken die het maken van programma’s vereenvoudigen en flexibiliteit bieden voor aanpassingen.
ROS een open source
Zoals gebruikelijk is bij open source, wordt ROS ondersteund door een grote gemeenschap. Er zijn momenteel ongeveer 35.000 gebruikers actief op de overeenkomstige platforms. De gemeenschap ontwikkelt een groot aantal pakketten met specifieke functies voor ROS. Gebruikers kunnen hierop terugvallen om overeenkomstige toepassingen met hun robot te implementeren. Zo zijn er pakketten voor padplanning, navigatie en beeldverwerking.
Sinds 2012 is het ROS Industrial Consortium de drijvende kracht achter de ontwikkeling ervan binnen de gemeenschap. Het doel is om het raamwerk, dat oorspronkelijk gericht was op dienstrobots, ook bruikbaar te maken voor industriële robots. Het consortium telt nu meer dan 80 leden. Daartoe behoren onderzoeksinstellingen, robotfabrikanten, technologiegroepen, bedrijven uit de automobielindustrie en IT-leveranciers.
Het Industrial Consortium levert pakketten voor ROS die zijn ontworpen om aan industriële normen te voldoen. Dit betekent dat de pakketten worden getest en gedocumenteerd, en dat de kwaliteit wordt gewaarborgd. Dit garandeert dat ze robuust genoeg zijn om in industriële omgevingen te worden gebHet Industrial Consortium levert pakketten die zijn ontworpen om aan industriële normen te voldoen. Dit betekent dat de pakketten zijn getest en gedocumenteerd, en dat de kwaliteit is gewaarborgd. Dit garandeert dat ze robuust genoeg zijn om in industriële omgevingen te worden gebruikt. Daarnaast biedt het consortium opleidingen voor.
Ondersteunende programmeertalen voor ROS
Wie vertrouwt op ROS om zijn robots te bedienen, profiteert van een aantal voordelen. Zo kunnen moderne programmeertalen zoals Python, Java en C++ met ROS worden gebruikt. En dit zijn talen die reeds aan de universiteit of zelfs op school worden onderwezen. Dit verlaagt de drempel voor het maken van robotprogramma’s. In ROS kunnen ook softwarebibliotheken worden geïntegreerd die niet specifiek voor robots zijn geschreven – bijvoorbeeld voor beeldverwerking.
Bovendien is het gebrek aan reproduceerbaarheid niet langer een probleem. Een robot is in staat een met ROS gemaakt programma te begrijpen – zelfs als het oorspronkelijk was geschreven voor een collega van een andere fabrikant. Toepassingen kunnen dus zonder taalbarrières op grote schaal worden uitgerold.
In principe vereenvoudigt ROS het maken van robotprogramma’s omdat gebruikers kunnen putten uit de knowhow van een grote gemeenschap van ontwikkelaars. Iedereen die zijn robot een bepaalde taak wil leren, kan zelf een keuze maken uit het grote aanbod van pakketten. En omgekeerd kunnen zelf ontwikkelde oplossingen voor een specifiek probleem ter beschikking van de wereldgemeenschap worden gesteld.
Voldoet ROS al aan de real-time eisen?
De mogelijkheden van ROS breiden zich voortdurend uit. In 2017 is met ROS 2 een verdere ontwikkeling van ROS uitgebracht, die een aantal verbeteringen met zich meebrengt. Daartoe behoort ondersteuning voor multi-robotsystemen – d.w.z. het gecoördineerde gebruik van meerdere robots. ROS 1 ontbeert een standaardmethode voor het bouwen van dergelijke systemen.
Een andere beperking betreft het real-time gedrag. Vooral in de industriële sector zijn er veel toepassingen met realtime-eisen voor de robots die niet door ROS 1 worden ondersteund. Deze en andere beperkingen zijn met ROS 2 opgeheven. De technische stuurgroep van ROS 2 is verantwoordelijk voor de verdere ontwikkeling.
De voordelen van ROS kunnen nu in veel verschillende scenario’s worden gebruikt. Zo zijn er bijvoorbeeld overeenkomstige ROS-stuurprogramma’s voor meer dan 140 robots. Al drie jaar geleden voorspelde het marktonderzoeksbureau ABI Research dat tegen 2024 bijna 55 procent van alle commerciële robots minstens één ROS-pakket zal gebruiken.
Rond ROS is ook een ecosysteem ontstaan dat verschillende technologieën en diensten aanbiedt. Deskundigen van het Fraunhofer-instituut voor productietechniek en automatisering (IPA) hebben bijvoorbeeld navigatiesoftware met ROS-modules ontwikkeld voor automatisch geleide voertuigen (AGV’s) die in de autoproductie worden gebruikt. Het instituut is een van de drijvende krachten achter de ontwikkeling van ROS en coördineert de activiteiten van het ROS Industrial Consortium Europe.
Wie vertrouwt op ROS?
Veiligheidsspecialisten zoals Pilz zijn ook betrokken bij mobiele robots. De leverancier heeft een veiligheidslaserscanner ontwikkeld die ervoor zorgt dat een AGV zijn traject aflegt zonder te botsen. De informatie van de scanner kan ook worden gebruikt om de AGV direct te navigeren of om een nieuw pad te plannen. In een voorbeeldtoepassing zendt de scanner zijn gegevens naar een ROS PC waarop een zogenaamd SLAM-algoritme draait. Dit zorgt voor de navigatie en het maken van de kaart. Met een digitale tweeling die ook op het systeem draait, kan de toepassing ook van tevoren worden gepland.
ROS is ook interessant voor netwerkbedrijven. Ericsson werkt bijvoorbeeld aan het gebruik van ROS 2 in combinatie met 5G om gedistribueerde realtime systemen te bevorderen. Bedrijven die ROS willen gebruiken voor industriële robots kunnen ook een beroep doen op het advies van relevante dienstverleners.
ROS heeft ook de start-up scene een impuls gegeven. In de robotica in het algemeen zijn er momenteel veel jonge bedrijven die nieuwe oplossingen ontwikkelen. De Internationale Federatie van Robotica schat dat ongeveer twee derde van hen het open source raamwerk gebruikt.
Een van hen is Drag&Bot. Net als diverse andere start-ups heeft het bedrijf zich ten doel gesteld de bediening van robots te vereenvoudigen. Drag&Bot is een spin-off van het Fraunhofer IPA en biedt bedrijven een pakket kant-en-klare softwaremodules aan. Deze kunnen eenvoudig met drag-and-drop tot het gewenste robotprogramma worden samengesteld. Speciale kennis van robotica is niet nodig. Dankzij ROS kan de Drag&Bot-software worden gebruikt voor robots van verschillende fabrikanten.
Ook grote IT-aanbieders als Google en Amazon hebben de voordelen van ROS ingezien. Ontwikkelingsplatforms voor ROS zijn nu beschikbaar in de cloud. Wie van dit aanbod gebruik maakt, kan zijn robotapplicatie dus rechtstreeks in de cloud laten draaien.
ROS-systemen: van de vierbenige tot de robotarm
De voorbeelden tonen de bandbreedte van ROS. En naast AGV’s en industriële robots kunnen nog veel meer soorten robots worden geprogrammeerd op basis van ROS – van drones tot robots met vier poten.
Onder de laatste zijn de Quadruped Go2 Air serie robots van Unitree. De viervoeters zijn geschikt voor onderzoek en ontwikkeling van autonome systemen op het gebied van robot-mens interactie, SLAM en transport. Dankzij hun vier poten kunnen ze zich op veel verschillende terreinen voortbewegen. Daarbij bereiken zij een snelheid van 3,7 m/s of 11,88 km/h.
Een mobiele robot is ook deTB3 BURGER 4 2GB, die is uitgerust met een Raspberry Pi 3, een LiDAR-systeem, een OpenCR-besturingseenheid en twee Dynamixel-servomotoren. Dankzij de componenten kunnen betrouwbare meetgegevens worden gegenereerd en verwerkt. Bovendien biedt het controllerbord een reeks uitbreidingsmogelijkheden, bijvoorbeeld om een robotarm aan te sturen of om verdere sensortechnologie te implementeren. Dit maakt de robot geschikt voor SLAM- en navigatietoepassingen. Turtlebot3 is het officiële ROS.org ontwikkelingsplatform voor bedrijven, onderzoeksinstellingen en universiteiten.
Desktop robotarmen kunnen ook worden bestuurd met ROS. Daartoe behoort de UFactory xArm, die een laadvermogen heeft tot 5 kg en een reikwijdte tot 700 mm.
Conclusie
Het potentieel van ROS kent vele beperkingen en zou dus een beslissende impuls kunnen geven aan de ontwikkeling op dit gebied. Het raamwerk maakt het mogelijk dat de technologie onafhankelijk van fabrikanten kan worden gebruikt en dat overeenkomstige toepassingen relatief gemakkelijk kunnen worden gecreëerd. Op die manier draagt het systeem ertoe bij dat in de toekomst heel wat gebruikers kunnen profiteren van de mogelijkheden van robotgebruik.
Foto: Adobe Stock