Falsifiering av robot säkerhetssystem med Deep Reinforcement Learning
Robotstationer idag har stora säkerhetszoner runt sina stationer där människor inte får vara medans robotar är i rörelse. Ofta är dessa zoner helt inhägnade, men de kan också vara delvis öppna med säkerhetszoner för att skapa en mer kollaborativ miljö. I produktionsanläggningar tar de stora säkerhetszonerna mycket utrymme och kan leda till onödiga avbrott från människor, detta minskar fabrikernas produktivitet. Därför vill man minimera säkerhetszonerna och öka robotarnas arbetstid för att öka produktiviteten. Men människans säkerhet bör inte offras när man gör det, därför måste det säkerställas att inga oväntade kollisioner i robotcellerna inträffar och att människan kan lita på robotens säkerhet. Följande artikel ger en inblick i examensarbetet ”Falsification of Robot Safety Systems using Deep Reinforcement learning”, där Reinforcement Learning (RL) har använts på simulerade robotceller för att förfalska systemet och upptäcker brister.
Falsifiering är en metod för att hitta brister i ett system. I detta projekt har det gjorts genom att skapa en agent som efterliknar mänskligt beteende som försökte lura säkerhetssystemet med RL och kolliderade med roboten i en virtuell miljö. Detta kan sedan användas som ett verifieringssystem för celldesignerna för att utvärdera om det finns några faror i miljön, detta kan spara mycket manuell testning. Miljöerna i detta projekt består av en robot, en agent och säkerhetszoner; en stopp- och varningszon. Stopp- och varningszoner används ofta som säkerhetsåtgärder när man skapar kollaborativa robotceller och tanken är att hitta fel inom designen av dessa celler där människan kan skadas av roboten.
RL algoritmer har använts för att lösa denna uppgift. Till att börja med tillämpades Q-learning och Deep Q-Network på förenklade diskreta miljöer och slutligen implementerades Soft Actor-Critic (SAC) i en kontinuerlig miljö. SAC är en kontinuerlig algoritm som har fördelen att kunna skala andelen utforskningen beroende på hur mycket utforskning som behövs och hur säker lösningen är. Det är en ganska komplex algoritm för inlärning av RL som innehåller fem neurala nätverk. Algoritmen utforskar och uppskattar värdet på de olika “statesen” och “state-action” paren så att den kan optimera sina “actions”. Genom att utforska och lära sig de mest värdefulla “actions” för varje möjligt “state” kan den lösa mycket komplexa problem.
Nedan följer en video som visar hur agenten hittar kollisioner i de fyra utvecklade modellerna:
Resultaten i videon visar att SAC-algoritmen fungerade bra i de olika modellerna som testats i arbetet. Den lyckas inte bara lösa och hitta de mest uppenbara kollisionerna utan också oväntade kollisioner i stoppzonen där stationen ser ut att vara helt säker. Agenten kunde hitta dessa oväntade kollisioner genom att använda den inbyggda systemfördröjningen, den hittade vissa banor med specifika vinklar och hastigheter för att kollidera med roboten innan den hade hunnit stanna helt. En sådan funktion kan användas som ett verktyg för att hitta både farliga kollisioner men också för att verifiera att säkerhetszonerna i miljöerna inte är för små. Den har också potential att använda sina beräknade tillståndsvärden (Q-värden) för att indikera fara eller säkra områden där säkerhetszoner kan minskas säkert.
Utvärderingen av den utvecklade funktionen i detta examensarbete visade att lösningen blev för fallspecifik. Den kunde hitta brister på en särskilt tränad robotcell, men kunde inte tillämpas mer generellt på en liknande robotceller utan att behöva justera algoritmen för varje station. Anledningen till detta var främst för att den hittade en specifik position i robotcellen snarare än förhållandet mellan “statesen”. Divergens var också ett problem som algoritmen led av, vilket kan ha berott på ”the deadly triad”, som är känd för att divergera när man kombinerar funktion approximation, bootstrapping och off-policy inlärning, vilket SAC gör.
Även om en perfekt lösning hade utvecklats skulle det i detta skede inte vara möjligt att minska mycket av säkerhetszonerna. Främst eftersom att detta kommer leda till en dålig arbetsmiljö för människor som arbetar kring robotarna, minimala säkerhetsmarginaler och robotar med ökad hastighet skulle utsätta dem för en konstant rädsla eller stress. Det kommer också vara mycket svårt att uppfylla de nuvarande strikta ISO-standarder. Men med ytterligare arbete för att göra lösningen mer allmän tror vi att funktionen kan användas som ett verktyg för att verifiera säkerheten i robotceller, och över tid kan säkerhetszoner minskas när människor långsamt får mer förtroende för roboten.
Taggar
Artikeln är taggad med följande taggar. Klicka på en tagg för att se alla artiklar med samma taggning.