JavaScript is currently disabled.Please enable it for a better experience of Jumi. Congatec: Modulär mjukvara för samarbetande robotar
Guidelines for contributing Technical Papers: download PDF

Gör mjukvaran modulär! Uppmaningen kommer från forskningscentret för servicerobotar vid universitetet i Ulm, som utvecklat mjukvaruvarumoduler som gör det enklare att sätta ihop hårdvara från olika tillverkare till en fungerande robot. Datorkorten som kör mjukvaran kommer från Congatec.


Ladda ner artikeln här (länk, pdf).

Fler tekniska rapporter finns på etn.se/expert

Dagens robotar är komplexa maskiner med många delsystem. De har armar med många axlar och drivenheter. Längst ut sitter verktyg, gripklor eller mätinstrument. Det behövs olika sensorer för att kunna positionera armarna och styra rörelserna och kraften i exempelvis plockverktyg. För autonoma och kollaborativa robotar – som delar arbetsplats med människor – behövs ännu fler funktioner och byggblock. Det gäller exempelvis för robotar som kan förflytta sig på egen hand och interagera på ett säkert sätt med människor. I miljöer som drivs enligt konceptet Industri 4.0 krävs också ett kommunikationsgränssnitt till övriga maskiner och system. Målet är att övervaka och koordinera hela processen. Alla dessa robotar – från autonoma till kollaborativa – kräver enormt kraftfulla mjukvarukomponenter plus hårdvara i form av inbyggda system.

Efterfrågan på smarta robotar växer mycket snabbt de kommande åren. Exempelvis förväntas autonoma robotar växa med 23,7 per år till och med år 2023 medan marknaden för kollaborativa robotar växer dubbelt så mycket eller 59 procent per år. Tillverkarna är under enorm press att utveckla dessa robotar för att få del av tillväxten. En särskild utmaning är utvecklingen av mjukvara för tillverkarna, systemintegratörerna och användarna. Allt fler delsystem måste integreras i redan komplexa lösningar för att robotarna ska kunna bli kollaborativa och kunna samarbeta.

Det är fortfarande vanligt att mjukvaran är implementerad som slutna system baserade på asicar eller FPGA:er med x86- eller Arm-kärnor. Ofta är det olika mjukvaror för olika modeller vilket gör det svårt att återanvända komponenter. Uppgifter som att styra gripdon, att navigera, ta in information från kamerasystem, koordinering av arbetsuppgifter eller interaktionen mellan människa och maskin programmeras individuellt. Det är därför nästan omöjligt att byta mjukvarukomponenter även för de vanligaste uppgifterna eller att använda dem på en annan hårdvaruplattform. Det betyder att för varje ny konstruktion måste robotens mjukvara implementeras på nytt. Detta resulterar i fel och tar tid vilket kan leda till att nya modeller blir försenade för att inte nämna alla problem som de operatörer som ska programmera robotarna råkar ut för.

Utvecklingsgruppen på Service Robotics Research Center vid universitetet i Ulm – under ledning av professor Schlegel – har ersatt den proprietära modellen med ett modulärt angreppssätt som delar upp det komplexa robotsystemet i flera oberoende funktionsblock. I ett andra steg specificeras interaktionen mellan de olika blocken via fullt transparenta gränssnitt. Konceptet kallas Smartsoft och marknadsförs i Europa via EU-projektet ”RobMoSys – Composable Models and Software for Robotic Systems” men även nationellt via BMWi PAiCE-projektet “SeRoNet – a platform for the joint development of service robot solutions” i samarbete med partners från industri och akademi. Enkelt uttryckt så syftar angreppssättet till att göra det möjligt att sätta ihop robotsystem av färdigutvecklade och fullt testade mjukvarukomponenter. Detta gör det möjligt för mjukvaruutvecklarna att fokusera på en specifik funktion utan att behöva fundera på hur de andra mjukvarukomponenterna ser ut. Än viktigare är att det gör det möjligt att kombinera funktioner som används för att exempelvis samarbeta med människor liksom den logik som exempelvis används för att greppa en komponent. Detta fungerar även med delsystem från olika tillverkare. I slutändan minskar det arbetsbördan för systemintegratörer och slutanvändare som vill skapa unika lösningar plus att det kommer att öka användningen av robotar.

Antag att vi har ett gripdon från leverantör A som ska användas med en robot från leverantör B plus en stereokamera från leverantör C. Mjukvaran för systemet med de tre delkomponenterna går i huvudsak att sätta samman av de färdiga mjukkomponenterna tack vare den höga graden av abstraktion, det behövs bara mindre modifieringar. Den här tillämpningen är på inga sätt en framtidsdröm, den testas i verkliga världen. Ett exempel är från gruppen i Ulm som har implementerat servicerobotarna Larry och Robotino för en medicinteknisk lösning hos Transpharm Logistik GmbH. Robotarna sätter helt på egen hand ihop medicinförpackningar av delar som hämtas från olika brickor. Förpackningarna levereras sedan till ett förutbestämt ställe. I en aningen annorlunda konfiguration tar robotarna emot beställningar på kaffe och levererar till kundens bord.

Tack vare de färdiga mjukvarukomponenterna, som kan kombineras på valfritt sätt, tog det bara några timmar att konfigurera om dem. En video med de två robotarna finns här: https://www.youtube.com/watch?v=Zz66I4NVtNU

För att det ska gå att sätta ihop i princip vilka robotdelar som helst har gruppen från universitetet i Ulm utvecklat en mjukvarumodell med olika serviceorienterade komponenter och en modelldriven verktygkedja för öppenkodsmiljön Eclipse. Den erbjuder utvecklare av komponenter ett verktyg som de kan använda för att skapa sin egen kod för varje modul och sedan låsa in dem i automatiskt genererade komponentcontainrar. Dessa kan kommunicera med andra containrar via ett uniformt gränssnitt. Tilläggas kan att containrarna skyddar innehållet mot kopiering. Universitetsgruppen har redan utvecklat flera sådana komponenter och gjort dem tillgängliga för användning i andra projekt. Det finns bland annat containrar för navigation, maskinavsyning, användargränssnitt, gripklor och samordning av flera arbetsmoment. Smartsoft används som kommunikationsgränssnitt och baseras på OPC UA. Det innebär att tillverkarna kan fokusera på containrarna och bygga sin kompetens där.

För hårdvaran har gruppen i Ulm valt x86-arkitekturen vilket gör att man inte behöver specificera vilket kort som ska användas vid projektstarten. Inbyggnadskort med x86-processorer passar dessutom väldigt bra eftersom de är standardiserade och har bra dokumentation. Det gäller inte bara de fysiska formaten utan också gränssnitten för mjukvaran.

Det går därmed att byta kort förutsatt att de följer eAPI-specifikationen från PICMG eller SGET:s UIC-standard. Det är till och med möjligt att byta fysiskt format – mellan moderkort och datormodul – beroende på tillämpning utan att man i någon större grad behöver förändra hur kortet ansluts. Gruppen i Ulm valde Congatec som kortleverantör.

– Förutom de grundläggande kraven som beräkningskapacitet, energieffektivitet och tillförlitlighet såg vi det som viktigt med en hög grad av standardisering och möjligheten att migrera, förklarar Matthias Lutz från universitetet i Ulm och tillägger:

– Varje extra abstraktionsnivå i mjukvaran kräver extra prestanda så vi använder en kraftfull dubbelkärnig lösning. Ett standardiserat angreppssätt till komponenterna på kortet och de generella in- och utgångarna som används för att styra robotmodulerna ger den abstraktionsnivå som krävs för oberoendet hos mjukvaran.

Valet föll på conga-IC175 som är ett industriellt kort av typen Mini-ITX. Att det blev just det kortet hänger samman med att formfaktorn har många fördelar när man ska omvandla prototyper av mjukvarukomponenter till verkliga system. Det gäller bland annat för att det har alla nödvändiga gränssnitt plus att det är möjligt att strömförsörja via standardiserade ATX-enheter, industriell 12V-matning eller Smart-batterier vilket är viktigt för robotar som Robotina och Larry. Det går också snabbt att addera nya kort via PCIe-kontakten. Ytterligare en fördel är att det inte behövs någon mekanisk kylning.

Framtida kommersiella robotar från Ulm kommer att använda datormoduler. Oberoende om de har ett moderkort av typen Mini-ITC, en modul med ett Mini-ITX, modul och ett separat Mini-ITX eller ett skräddarsytt kort så är det totalkostnaden (Total cost of Ownership) som har betydelse för slutkunden. När man använder modulär mjukvara påverkas kostnaden också av om hårdvaran stödjer arbetssättet. För att göra det ännu enklare att integrera nya funktioner är det en fördel om hårdvaran stödjer hypervisorer för realtidstillämpningar. Det ger kunderna möjlighet att integrera ytterligare funktionalitet som egna IoT-gateways utan att addera en dedicerad hårdvaruplattform, vilket spar kostnader.

– Vi ser en stor fördel med den här typen av modulärt angreppssätt eftersom det speglar det modulära angreppssättet hos vår mjukvara. Därför är det väldigt intressant att se hur förvärvet av Real-Time Systems gett Congatec direkt tillgång till hypervisor-teknik från en robot- och automationsexpert.

MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)