De maakindustrie staat voor grote uitdagingen. De beroepsbevolking wordt ouder en schaarser en de vraag naar complex maatwerk groeit. Robotfabrikanten spelen hier op in door tweearmige robots, mobiele manipulatoren, en andere "multi-robot"-systemen op de mark te brengen. De software waarmee deze geprogrammeerd moet worden is echter bedoelt voor traditionele zesassige robots. Dat maakt een efficiënte inzet in industriële omgevingen moeilijk. In het MULTIROB-project werkt Flanders Make daarom aan een nieuw framework om de drempels weg te nemen.
In veel toepassingen zijn multi-robotoplossingen superieur aan oplossingen met één robot. Ze zijn flexibeler en behendiger, precies de kenmerken die nodig zijn om de huidige industriële automatisering naar een hoger niveau te tillen. Multi-robotoplossingen maken het bijvoorbeeld mogelijk om dezelfde taak uit te voeren met minder toepassingspecifieke gereedschappen. Dit leidt in een assemblagecel tot meer flexibiliteit voor wat betreft aanpassingen aan het verwerkte product. Ook zijn werkcellen beter bereikbaar doordat onderdelen of tools door robots aan elkaar kunnen worden overgedragen. Hierdoor is een ‘lui’ ontwerp van een assemblagecel mogelijk dat vroege ontwerpbeslissingen vermijdt. Robots zijn hiermee breder inzetbaar. Bovendien kunnen multi-robotoplossingen worden gebruikt om de totale manipulatietijd van een bepaalde taak te verkorten door meerdere subtaken gelijktijdig uit te voeren. Tot slot kunnen multi-robotoplossingen bepaalde taken autonoom uitvoeren, zonder dat extra hulpmiddelen. Dit geldt vooral als het een verzameling heterogene robots betreft met verschillende kenmerken die elkaar aanvullen. Denk bijvoorbeeld aan het gezamenlijk inzetten van robots met verschillende payloads.
Hoewel in robotkringen de term ‘multorobotsysteem’ steeds vaker opduikt, is het aantal werkelijk gerealiseerde industriële toepassingen beperkt. De voordelen van multirobotsystemen komen namelijk met hoge kosten. Deze zitten hem voornamelijk in het programmeerwerk. Men heeft te maken met veel vrijheidsgraden, veel sensoren en beperkt gestructureerde omgevingen. De programmeerkosten lopen helemaal op wanneer de gebruikte robots van verschillende leveranciers zijn. Flanders Make startte daarom het MULTIROB-project om tot een geïntegreerd software framework te komen waarmee multirobotsystemen sneller, flexibeler en beter geprogrammeerd kunnen worden. Hierbij gaat de aandacht uit naar drie samenhangende onderwerpen die momenteel de grootste technische barrières vormen: continue motion planning, een domeinspecifieke taal voor taakcoördinatie en discrete besluitvorming, en een algemene beschrijving van het wereldmodel, inclusief een querytaal en sensorfusietechnieken.
Uiteraard kan het framework ook worden toegepast op niet-samenwerkende industriële robots. En om te vermijden dat het framework snel veroudert raakt bij het opschalen naar meer complexe robotsystemen, wordt al vanaf het eerste begin van de ontwerpfase met meerdere robotsubsystemen rekening gehouden.
Een van de eerste barrières zit hem in de motion-planning en online besturing van multirobotsystemen. Nu is er het eTaSL/eTC framework dat uitgaat van een snelheidgebaseerde besturingstrategie (er wordt een perfecte controle van assnelheden aangenomen) voor de uitvoering van taken. Er hoeft slechts een klein quadratisch programma (QP) te worden opgelost om de assnelheiden in real time te optimaliseren. De aanpak is geschikt voor online gebruik, bijvoorbeeld voor het opnieuw plannen van bewegingen in dynamische omgevingen. Het ‘spontane’ karakter van deze aanpak maakt hem ook reactief. De besturing plant niet proactief en kan daardoor slechts beperkt aan enkele gangbare roboteisen voldoen. Het snel en precies uitvoeren van taken en tegelijkertijd de veiligheid garanderen bijvoorbeeld. Dit door op positie-, snelheid en torsiebeperkingen te anticiperen en rekening te houden met omgevingsbeperkingen.
Een proactief alternatief is Model Predictive Control (MPC). De motionplanner berekent continue de optimale toekomstige besturingsacties, rekening houdend met zowel systeem als omgeving. MPC is echter veel complexer. Om deze rekenkundige complexiteit het hoofd te bieden, richt Flanders Make zich op drie gebieden: (i) efficiënte algoritmen om een complex optimaliserinsprobleem snel en betrouwbaar online op te lossen; (ii) doeltreffende methoden om rekening te houden met onzekerheden in de omgeving / het wereld model en deze onzekerheden actief te verminderen; (iii) adequate decomposities van complexe taken in eenvoudiger subtaken en integratie van de continue motion planning met de discrete taakplanning op hoger niveau.
Standaard procedurele benaderingen volstaan voor harde automatiseringsoplossingen zonderal te veel variatie in de volgorde van uit te voeren taken. Zodra de complexiteit echter iets groter wordt - bijvoorbeeld wanneer er verschillende manieren zijn waarop een onderdeel kan worden vastgegrepen, wat leidt tot verschillende verwerkingsmethoden en alternatieven voor nominale uitvoeringssequenties (taken die geen vaste volgorde hebben) - resulteren deze methoden resulteren in foutgevoelige spaghetti-code die bovendien niet-schaalbare is. Het project van Flanders Make richt zich daarom op een declaratieve vorm van programmeren op het hoger (logisch) niveau door middel van een domein-specifieke taal (DSL). Deze aanpak zal het werk van de applicatieontwikkelaar aanzienlijk verlichten. Hij of zij zal nu slechts een aantal regels op hoog niveau hoeven te definiëren die de onderlinge afhankelijkheden tussen de verschillende subtaken beschrijven. Dit in tegenstelling tot het handmatig coderen van alle mogelijke permutaties (volgordes) te coderen. Aangezien het planningsprobleem over het algemeen van het type ‘NP-moeilijk’ (red,- een rekenkundige complexiteitsgraad ) is, is het niet mogelijk om een realtime oplossing te garanderen. Flanders Make voorziet daarom in een tweelaagse oplossing voor de discrete coördinatie van systemen: (i) een kortetermijnplanner, die een plan genereert uit een declaratieve beschrijving, en (ii) een real-time executive die de uitvoering van het gegenereerde plan realiseert. De executive reageert hierbij op realtime gemonitoorde gebeurtenissen en past wijzigingen in de taakspecificatie toe. De interactie tussen de tweelaagse architectuur is bidirectioneel: aan de ene kant biedt de planner een haalbaar plan aan de laag. Aan de andere kant, informeert het uitvoerende deel de planningslaag wanneer een plan door runtime-omstandigheden niet kan worden gewijzigd.
De discrete coördinator komt ook in onvoorziene situaties in actie. Het realtime besturingslaag meldt bijvoorbeeld een niet-nominale beëindiging van een taak. Of de omgevingsinformatie die door een wereldmodel wordt verstrekt, komt niet voldoende overeen met de verwachte waarden.
Robotbesturingsalgoritmen en functies hebben modellen nodig. Denk aan robotmodellen, probabilistische kaartrepresentaties en aan semantische beschrijving van de omgeving en de objecten die zich in die omgeving bevinden. Er zijn meerdere modellen nodig voor verschillende weergaven van eenzelfde object, of ter representatie van verschillende abstractieniveaus van, elk geschikt voor het aanpakken van specifieke problemen. Een derde technologisch barrière is echter het ontbreken van een generieke wereldmodelarchitectuur die de benodigde informatie voor de motionplanning of discrete coördinatie kan verschaffen. Deze architectuur vereist (i) een databasestructuur om het model op te slaan, (ii) een querytaal die ondersteuning biedt voor verschillende niveaus van abstractie, (iii) inkomende en uitgaande gegevensverwerking om imperfect sensorgedrag vast te leggen en om om te kunnen gaan met onvolledige informatie over de omgeving.
Het aanpakken van de hiervoor besproken technologische barrières moet niet alleen resulteren in puur numerieke algoritmen. Het is de bedoeling dat er één gebruikersvriendelijk en geconsolideerd framework komt dat de complexiteit van dergelijke multi-robot-systemen wegneemt. Alleen zo kan de industrie het volledige potentieel van dergelijke systemen benutten. Zo zullen binnen MULTIROB demonstratiemodellen voor machinaal onderhoud, en montage en contourtraceringstoepassingen ontwikkeld worden. Dit vereist wel aanzienlijke onderzoeksinspanningen van verschillende subdomeinen. Het project richt zich daarom op de concrete behoeften van twee grote industriële doelgroepen. Dit zijn enerzijds hightechbedrijven, dienstverleners, systeemintegrators en robotfabrikanten die producten willen ontwikkelen voor multirobotsystemen. Anderzijds zijn dit de eindgebruikers uit de maakindustrie die het framework in hun fabriek willen integreren. Beide doelgroepen zullen actief worden betrokken via interactieve workshops en kleine validatiestudies.
Het MULTIROB project loopt van 1 augustus 2018 tot en met 31 juli 2022. Geïnteresseerde bedrijven kunnen zich nog steeds aanmelden