Lange tijd hebben we robots geprogrammeerd met complexe talen en frameworks als C/C++, Python, Prolog of Matlab. De laatste jaren zien we echter tal van nieuwe ontwikkelingen. Denk aan PI’s Standard Robot Command Interface, programmeren met no-code tools of programmeren door handelingen simpelweg voor te doen.

Tijdens de Industrie Messe die in april in Hannover werd gehouden viel op hoeveel relatief goedkope robots werden gedemonstreerd. Een voorbeeld is Igus, dat aandacht vroeg voor zijn RBTX-marktplaats. Alles hierbij draait om low-cost robotics. Volgens Alexander Mühlen, hoofd van de business unit Automation Technology & Robotics van het bedrijf is er sprake van een enorme groei van goedkope robots. Hij noemde als voorbeeld de ReBel mini, een 5-assige cobot die begint bij 4000 euro. 

Hij waarschuwde echter wel: het is niet alleen de hardware die klassieke robots duur maken. Ook de kennis en ervaring die nodig is voor het programmeren van robots is een niet te onderschatten kostenpost. Daarom heeft het bedrijf de zogeheten RBTXeperience-software ontwikkeld, waarmee robots en bijbehorende apparatuur via drag-and-drop software worden geïntegreerd. Wordt dit gecombineerd met de AnyApp-technologie van Igus, dan kan tevens de programmering van de robot worden verzorgd. Interessant genoeg werkt deze aanpak niet alleen bij de eigen robots van Igus, maar ook met andere merken.

Standard Robot Command Interface

Het is een mooie voorbeeld van de ontwikkelingen rond het programmeren van robots die we de laatste jaren hebben gezien. Jarenlang waren we aangewezen op traditionele programmeertalen als C/C++, Java, Python, C# (in de Microsoft Robotics Developer Studio) of zelfs talen als Lisp of Pascal. Matlab’s Robotics Toolbox werd - en wordt - regelmatig toegepast, zeker als het de bedoeling is dat tevens data geanalyseerd en gepresenteerd moet kunnen worden. Inmiddels zien we volstrekt nieuwe manieren van werken ontstaan. Laten we enkele voorbeelden daarvan op een rij zetten.

Allereerst de Standard Robot Command Interface van PI (Profibus & Profinet International). Dit is een specificatie voor het ontwikkelen van een uniforme standaard robotinterface (RI) tussen een robotcontroller (RC) en een programmeerbare logische controller (PLC). Met de RI kan de PLC bewegings- en andere commando's naar de RC sturen. Ook kan het de status van de robot controleren. Deze specificatie (de meeste actuele versie is 1.2) definieert het communicatiemechanisme tussen de RC en PLC en standaardiseert definities en robotopdrachten tussen verschillende fabrikanten. Het doel van de RI zal de basis vormen voor het creëren van een mechanisme voor het rechtstreeks besturen van een robot vanuit de PLC zonder dat aanvullende programmering aan de RC-zijde vereist is. 

No code en low code

Een tweede interessante ontwikkeling is de opkomst van no code-tools. In de vorige editie van AutomationNL hebben we al aandacht besteed aan de mogelijkheden van no code en low code voor het laten samenwerken van machines en systemen in een productielijn. In feite is het woord ‘programmeren’ hier niet meer van toepassing. Door middel van het in de juiste volgorde plaatsen van functieblokken worden de handelingen en bewegingen van een robot gedefinieerd. Bij no code zien we dat de gebruiker hierbij eigenlijk niet meer behoeft te programmeren. Bij low code gaat het vaak om wat complexere omgevingen waarbij op sommige momenten toch nog de hulp van een developer nodig is. Toch kan ook bij dit soort tools de gebruiker zelf zonder al te veel kennis van programmeren een robot en zijn accessoires programmeren. Met tools als Mendix kunnen hierdoor productielijnen worden geprogrammeerd waarin ook robots een plaats hebben.

No code bij robotfabrikanten

Deze trend is natuurlijk ook opgevallen bij de fabrikanten van robots. We zien bij deze bedrijven eveneens no code-achtige tools. Yaskawa’s Smart Pendant is hier een mooie voorbeeld van. De gebruiker controleert hierbij de beweging van de robot door op een scherm buttons aan te raken. De buttons maken het mogelijk de robot naar rechts of links te laten bewegen - of vooruit of achteruit en naar boven of juist naar beneden. 

Op die manier kan de beweging van de robot redelijk eenvoudig worden ingesteld. Een andere manier van werken is het gebruik van een vast coördinatenstelsel ten opzichte van de robot. De gebruiker maakt vervolgens bewegingen in dit coördinatenstelsel rondom de robot. Ook dat levert een vereenvoudiging op ten opzichte van het klassieke coderen van bewegingen. 

SRCI is een specificatie voor het ontwikkelen van een uniforme standaard robotinterface tussen een robotcontroller en een programmeerbare logische controller

Fanuc levert eveneens een sterke visueel georiënteerde omgeving voor zijn colloborative robots uit de CRX-serie. Hierbij wordt een tablet gebruikt waarmee de gebruiker via drag-en-drop handelingen de bewegingen instelt. Via de tablet doet men dus de bewegingen voor die de robot dient uit te voeren. Is de beweging eenmaal correct, dan kan deze worden opgeslagen voor gebruik. 

Voor doen aan de robot

De aanpak van Wandelbots mag hier ook niet ontbreken. Deze Duitse startup heeft Wandelbots Teaching ontwikkeld waarmee zelfs vakmensen en applicatie-experts zelf op de werkvloer robots kunnen instrueren. Met een TracePen doet men de beweging zelf voor. De handelingen en de baan die de pen aflegt, wordt vastgelegd en opgeslagen. De robot kan deze handelingen vervolgens herhalen. 

Ook dit bedrijf ziet hierin een oplossing voor het probleem waarmee veel MKB-bedrijven zitten: hoe maken we effectief gebruik van een robot bij kleine series? Programmeren door de gewenste handelingen voor te doen maakt programmeren goedkoop en makkelijk. 

Open source besturingsysteem

Dan nog Viam Robotics. Dit is een softwaretool voor het ontwikkelen van robotsoftware met alle cloud services die nodig zijn om snel te bouwen en prototypen van een robotopstelling te maken. Het bedrijf biedt een tool voor softwareontwikkeling dat een standaard protocol wil zijn voor het programmeren van elke robot en ondersteunt de ontwikkeling bij elke stap, van prototype tot productie.

Het bedrijf is gestart in 2020 met de bedoeling een platform voor robotontwikkeling op basis van een veilige en krachtige cloud-omgeving. De compute workloads voor robotica kunnen zowel in de cloud als in een edge-opstelling worden gebruikt. De software wil daarbij een platform bieden dat de low-level software-infrastructuur abstraheert.

Viam maakt het mogelijk om:

  • Snel prototypes te ontwikkelen: robotconfiguratie is mogelijk met iedere gewenste hardware en programmeertaal.‍
  • Productie starten: doordat het beheer van robots en gegevens op hetzelfde platform plaatsvindt, versnelt dit volgens het bedrijf de ontwikkeling van een robotopstelling.

Doordat deze functies zijn ingebouwd in de Viam-software is het eerder een besturingsysteem voor robots dan enkele en alleen een programmeertaal. Het biedt dan ook nogal wat mogelijkheden:

  • Gegevensbeheer: leg gegevens vast en synchroniseer ze naar de cloud en bekijk, sorteer, verwijder of exporteer gegevens.
  • Machine Learning: gebruik de gegevens van reeds aanwezige robots om nieuwe machine learning-modellen te trainen, oude modellen te uploaden en modellen naar robots te sturen. ‍
  • Asset management: creëer groepen robots of andere apparaten, bedien iedere robot op afstand en houd ze veilig met locaties, groepen en machtigingen.‍
  • Gebruik andere ingebouwde robotica services zoals Motion, SLAM en Vision (objectdetectie, beeldclassificatie en beeldsegmentatie).‍

‍Het Viam-platform is volledig open source: de software op de robots zelf, de software development kit (SDK), maar ook de RDK (robot development kit) Met modulaire componenten kan een aangepaste component of service gemaak worden die, eenmaal ingesteld, net zo werkt als een hulpmiddel dat bij het programma is geleverd. Het bedrijf werkt ook aan het opzetten van een community waarin developers componenten en services kunnen bouwen, programmeren, uitwisselen, verbeteren en delen.

Conclusie

Ooit het domein van gesloten en complexe software, is er steeds meer flexibiliteit gekomen in de wereld van het programmeren en aansturen van robots. Daarbij kunnen we kieszen uit een snel groeiend aanbod aan mogelijkheden. No code en low code speelt hierbij een belangrijke rol, waarbij de handelingen die een robot moet verrichten steeds meer op een grafische manier worden ‘geprogrammeerd’. Dat komt de snelheid van programmeren enorm ten goede. En dat is cruciaal; voor de nNederlandse maakindustrie die robots erg interessant vindt, maar worstelt met de kosten en de vraag hoe robots ook slim kunnen worden ingezet bij kleine serieus. De oplossing hiervoor lijkt inmiddels in belangrijke mate gevonden te zijn.  

Altijd op de hoogte blijven?