PackBot - en räddningsrobot
6DPPDQIDWWQLQJ Rapporten behandlar PackBot ett UGV (XQPDQQHGJURXQGYHKLFOH) som var en av de sex robotar som användes vid räddningsaktionen efter World Trade Center katastrofen. [2] Intelligenta mobila robotar, som PackBot behövs för att hjälpa mänskliga resurser vid räddningsaktioner. Idag är människans assistans under en räddningsaktion främst tränade hundar men hundar precis som människor har begränsningar för när de kan användas i en räddningsaktion. Användning av robotar räddar liv på offer och räddningsarbetare. Designen av en räddningsrobot är tekniskt krävande eftersom robotagenten måste kunna handla i extrema miljöer. [4]
,QOHGQLQJ %DNJUXQG 6\IWH $YJUlQVQLQJDU 0HWRG 0HWRGNULWLN 0nOJUXSS 9DGlUHQURERW" 5RERWNDWHJRULHU 6HQVRUHU 3HUFHSWLRQ +XUJnUHQUlGGQLQJVDNWLRQWLOO" 9DGlUHQUlGGQLQJVURERW" 5RERWV\VWHP 6HQVRUHU 3DFN%RW 8SSE\JJQDGDY3DFN%RW 3DFN%RWVVHQVRUHU 3DFN%RWVNRQWUROOHQKHW 8*9XQPDQQHGJURXQGYHKLFOH 1DYLJHULQJ 3ODQHULQJ 'LMNVWUDVDOJRULWP 8SSGDWHULQJ %HWHHQGH 7HOHVW\UGDIRUGRQ 'LVNXVVLRQ 5HIHUHQVHU 2
,QOHGQLQJ %DNJUXQG Jag läste en artikel i Dagens Nyheter om hur ett UAV (XQPDQQHGDLUYHKLFOH) användes för att söka efter isolerade människor i samband med orkanen Katrina som drabbade New Orleans tidigare i höstas. Detta lät intressant så jag letade efter mer uppgifter om detta och fann då att intelligenta robotagenter använts tidigare i räddningsaktioner. Vår lärare Arne Jönsson tipsade mig att kika mer på tävlingen RoboCupRescue som finns för att skapa diskussioner och inspiration kring forskning om räddningsrobotar. Robotagenter är en del av området artificiell intelligens och typen räddningsrobotar fängslade mig på grund av att jag såg en direkt fördelaktig användning av robotarna. Därför bestämde jag mig för att i mitt arbete behandla räddningsrobotar. 6\IWH Syftet med rapporten är att ge en förståelse för hur en robot som PackBot fungerar och kan användas i räddningsaktioner. $YJUlQVQLQJDU Området räddningsrobotar är väldigt stort. På grund av att arbetet skulle berör det intelligenta bakom ett system och eftersom rapporten har en tidsram på tre veckor valde jag att behandla en robot som använts vid räddningsaktioner, nämligen PackBot. För att få en teknisk vinkling på arbetet ligger fokus på roboten eller UGV-fordonets funktion. 0HWRG Materialet som studerats i samband med rapportskrivandet är först och främst gratis artiklar från internet. Artiklarna är allt från avhandlingar till publikationer i tekniska tidningar. 0HWRGNULWLN Många av de artiklar jag studerat kommer från ett forskarlag i USA. Även om kanske viss information blir vinklad men jag har bedömt att alla artiklar verkade ha vetenskaplig bakgrund. Jag hade gärna hittat ännu mer information om PackBot roboten men exakta detaljer antar jag inte släppts. PackBot är ett UGV-fordon och jag har läst om hur ett UGVfordon tekniskt fungerar. På så sätt anser jag att rapporten innehåller tillräckligt med upplysningar för att förstå hur roboten agerar tillsammans med personalen i ett räddningslag. 0nOJUXSS Målgruppen för rapporten är personer som har en viss förståelse för artificiell intelligens. Främst är uppsatsen till för att ge mina studiekamrater vid det Kognitionsvetenskapliga programmet en inblick i hur robotar kan användas och integrera med övrig personal i en räddningsaktion. 3
9DGlUHQURERW" En robot är en fysisk agent som genom att manipulera den fysiska världen ska utföra olika uppgifter. För att en fysisk agent på detta sätt ska kunna utföra handlingar krävs att agenten har delar som utför de fysiska krafterna på omgivningen, så kallade effektorer. Exempel på effektorer är ben och hjul. En energikälla behövs på roboten för att driva effektorerna. Agenten behöver likaså ha sensorer som kan uppfatta omgivningen. De flesta robotar har utöver detta även någon form av kommunikationsmedel, till exempel trådlös kommunikation, för att kunna kommunicera med operatören. [1] Fördelen med trådlös kommunikation som radiofrekvenskommunikation är att roboten har mindre risk för att fastna i otillgänglig terräng. Däremot blir kommunikationen mellan robot och operatör ofta brusig och information kan gå förlorad. [2] Användning av robotagenter fodrar att de kan röra sig säkert i komplexa världar vilket innebär att agenterna måste kunna röra sig i miljöer som är bara delvis observerbara, stokastiska, dynamiska och kontinuerliga. Miljöerna kan till och med bestå av multiagenter och vara sekventiell. Robotsystemen behöver för att klara av föränderliga miljöer en snabb inlärningsförmåga. [1] 5RERWNDWHJRULHU Beroende på uppbyggnad delas robotar in i olika kategorier. En räddningsrobot tillhör kategorin mobila robotar eftersom räddningsroboten använder hjul eller något liknande som effektorer. Uppgift för effektorerna hos en mobil robot är att förflytta agenten men också förändra robotkroppens form. [1] Definitionen för en mobil robot är att den ändrar position genom rörelse. [7] Robotagenters rörelser kan förklaras med hjälp av olika grader av frihet. En grad av frihet är varje riktning som roboten eller en av robotens effektorer rör sig i. Det skiljs på kontrollerbara och effektiva grader av frihet. Till exempel har en bil två kontrollerbara grader av frihet, bilen kan köra framåt, bakåt eller svänga medan en tre dimensionell bild av bilens rörelser på en platt yta ger tre grader av frihet vilket är de effektiva graderna. I exemplet med bilen finns det fler effektiva än kontrollerbara grader av frihet. Det kallas QRQKRORQRPLF. Merparten av de mobila robotagenterna är QRQKRORQRPLF[1] 6HQVRUHU Robotens sensorer kan ses som agentens ögon vilka representerar gränssnittet mellan roboten och omgivningen. Det finns både passiva sensorer, till exempel en kamera som fångar signaler från andra saker, och aktiva sensorer. Aktiva sensorer ger mer information än passiva eftersom de sänder ut energi till omgivningen som sedan reflekteras tillbaka till sensorn. Däremot kräver aktiva sensorer mer energi än passiva sensorer. Av passiva och aktiva sensorer finns det sedan ytterligare tre olika typer som beror av vad sensorn visar. Sensorn visar avstånd till objekt, skapar hela bilder av omgivning eller så informerar sensorn roboten om sitt tillstånd. Den sistnämnda typen av sensorer är för mobila robotar viktig därför att den mäter avverkat avstånd samt registrerar robotens nya tillstånd. [1] 3HUFHSWLRQ Perception innebär att signalerna från robotens sensorer mappas av roboten för att skapa en intern representation av omgivningen. En bra intern representation innebär att den innehåller 4
tillräckligt med information för att roboten ska kunna fatta rätt beslut, att representationen är strukturerad så den enkelt kan uppdateras samt att representationen är naturlig så att interna variabler motsvarar naturliga tillståndsvariabler i den fysiska världen. Att perceptuellt lokalisera ett objekt är viktigt för att robotagenter ska interagera med den fysiska världen. Räddningsrobotars arbete är av typen global lokalisering vilket innebär att var objektet som i en räddningsaktion kan vara ett offer befinner sig är helt okänt. [1] +XUJnUHQUlGGQLQJVDNWLRQWLOO" Varje räddningsaktion är unik men det finns alltid likheter. En räddningsaktion är till exempel ett komplext samarbete mellan en mängd olika såväl lokala som nationella yrkeskårer, till exempel brandmän, läkare, ingenjörer, poliser med flera. [4] Det här arbetet fokuserar på räddningsaktioner i förstörda miljöer uppbyggda av människan till exempel kollapsade byggnader. Sådana räddningsaktioner kallas USAR (8UEDQ 6HDUFK DQG Rescue). [11] Ett räddningsarbete i en sådan miljö sker under en enorm tidspress eftersom att efter ungefär 48 timmar finna instängda överlevande offer anses vara liten chans med tanke på att offren varit utan mat, vatten och medicinsk vård. [2] När räddningspersonal först anländer till en katastrofplats gör de försök att skapa en bild över vad som hänt och dra slutsatser om var det kan finnas många instängda offer. [2] Kollapsade byggnaden till exempel i lunchrusningen så var troligen mycket folk i områden vilka innan fungerade som matsalar. Den viktigaste informationen som en räddningsrobot kan bidra med är att rekognosera omgivning samt att lokalisera offren och ge signaler hur miljön runt offret ser ut. [2, 5] Robotens kommunikation är inte bara till nytta för arbetarna utan fungerar också som ett emotionellt stöd till offret. Viktigt vid konstruktionen av räddningsrobotar är att varje individuell robot fungerar som en agent i ett team och måste enkelt kunna samarbeta med övrig både tekniskt duktig och mindre duktig personal. [2] Katastrofplatser i USA delas in i tre olika zoner vid en räddningsaktion. Den innersta zonen kallas den heta zonen. Det är räddningsplatsen och här får endast behörig personal samt utrustning finnas. Utanför den heta zonen ligger den varma zonen och här får räddningsarbetarna möjlighet till rehablitering, order utdelas här men även offrens familjer och anhöriga får finnas här för att undvika mediernas tryck. Yttersta zonen och som är öppen för media och allmänheten kallas för den kalla zonen. [4, 5] 9DGlUHQUlGGQLQJVURERW" Räddningsaktioner är oerhört tidskrävande och riskfyllda för räddningsarbetare. [2] Efter en katastrof med till exempel kollapsade byggnader kan en räddningsarbetare inte gå in före en bedömning gjorts av eventuell rasrisk. En sådan bedömning tar flera viktiga inledande timmar. Här kommer räddningsrobotar till stor nytta eftersom en robot kan skickas in före bedömningen av katastrofplatsen är klar. Katastrofen i World Trade Center 2001 var första gången räddningsrobotar användes under en räddningsaktion. [2] Robotarna kan ses som extra mänskliga resurser som kan undersöka små utrymmen där varken människor eller tränade hundar har möjlighet att nå in. [3] Räddningsrobotars uppgifter under en räddningsaktion är olika beroende på vilken typ av katastrof som skett och hur olycksplatsen ser ut. 5
Huvuduppgiften i en USAR-katastrof är sökning. Räddningsroboten måste ha en hög grad av autonomitet och kunna utföra flera uppgifter som till exempel navigering och perception samtidigt för att fungera väl under en USAR-aktion. I stora drag kan räddningsrobotens uppgifter under en räddningsaktion sägas vara att söka efter offer/bomber, rapportera de funna offrens/bombernas plats, desarmera eller förflytta eventuella bomber. [4] Roboten ska även finna den väg som en räddningsarbetare kan nå offret på samt undersöka tillståndet av den kollapsade byggnaden, som gör att bedömningar om eventuell ytterligare rasrisk kan göras. Mat, medicinska preparat och andra eventuella material som räddningsarbetarna behöver för att ta hand om offret kan roboten ta med in och lämna vid offret innan roboten fortsätter sin sökning efter fler skadade. [3] 5RERWV\VWHP Ett system för en räddningsrobot består bland annat av en bas, ryggsäck, uppladdningsutrustning, verktyg för enklare reparationer, reservdelar samt en operatörskontrollenhet som kan spela in den information roboten ger. Själva roboten bör vara bärbar i en ryggsäck för att enkelt kunna bäras in till den heta zonen. Roboten ska också kunna checkas in lätt på ett flygplan för att kunna användas i olika räddningsaktioner runt om i världen. Roboten måste vara möjlig att sköta i totalt mörker såväl som ljus eftersom en katastrof kan ske när som helst på dygnet, strömmen kan vara utslagen och så vidare. Robotens effektorer bör vara ljudlösa så inte sensorerna störs av robotens egna rörelser vid sökning efter offer. Effektorerna får inte heller skvätta upp en massa damm vilket är speciellt viktigt när roboten rör sig intill sårade människor. [6] Att konstruera robotar som klarar räddningsaktioners miljöer är en teknisk utmaning. Det fodrar mycket av systemdesignen eftersom miljön där en räddningsrobot handlar är mycket extrem och kräver att roboten klara tuffa terränger med oväntade hinder. Roboten ska bland annat kunna användas på vått underlag, i en extrem hetta, i damm och aska utan att drabbas av elektriska problem. [2, 4] Robotens rörelser måste vara exakta så inte robotens framfart skapar onödig ytterligare förstörelse. Hårdvaran måste också vara robust så att den inte går sönder om roboten ramlar. Roboten bör även kunna vända sig till rätta vid ett eventuellt fall annars skulle en robot som vält vara oanvändbar. [4] Det optimala är extremt mobila robotar som är små, enkelt tar sig över hinder och inte heller har någon sida som är upp eller ner. [5] En perfekt design av en räddningsrobot finns inte utan egenskaperna hos roboten optimeras beroende på uppgift men robotens storlek, vikt och balans är viktiga egenskaper. [4] Att finna offer kan tyckas låta enkelt men i själva verket är det mycket komplicerat. Efter en katastrof är tecknen av överlevande eventuella skrik på hjälp, kroppstemperatur och kroppsdofter. Ytterligare att tänka på är att roboten under sin väg inte bör krocka med hinder för det kan både skada roboten och leda till ytterligare förstörelse på katastrofplatsen. En annan svårighet är för roboten att kunna planera en väg åt räddningsarbetarna till offret för då behöver roboten själv hela tiden vet var den är. [3] Räddningsroboten bör kunna avgöra om ett offer lever eller inte eftersom att rädda en redan död individ kan kosta andra människors liv. [2] 6
6HQVRUHU Robotens sensorer är av yttersta vikt för att kunna kontrollera roboten samt att upptäcka offer. [5] Robotar kan snabba upp sökningen efter offer genom att de upptäcker ljud som människan i all psykisk stress som råder inte hör. Sökning efter offer av en robot är mer fullständig än människans sökning eftersom roboten på ett metodiskt sätt med multipla sensorer baserade på algoritmer söker av ytan. [2] Räddningsrobotens sensorer är uppgiftsindelade för att hitta offer, navigera roboten eller ta emot information från omgivningen. [4] Under arbetets gång får en robot mängder med sensoriska intryck och för att operatören ska kunna uppfatta alla dessa är det viktigt med algoritmer som kan överföra all data till användbar information för operatören. [2] Sensorernas datainformation kan inte heller användas av robotens resonerande system direkt utan måste först omvandlas. [7] Resonerandet från sensoriskt intryck till en mobil robots handlande sker i fem faser (enligt bilden nedan). Perception Modelling Planning Task execution Motor control )LJXU.RQWUROOV\VWHPKRVHQPRELO URERW Första fasen processar den information som kommer från robotens sensorer. Den bearbetade informationen används sedan för att antingen skapa en intern modell över omvärlden eller för att uppdatera en redan befintlig modell. Tredje fasen planerar en handling utifrån modellen som robotagenten antar att omvärlden ser ut och de rådande intrycken. Modellerings och planeringsfaserna är typiska AI-problem. Sista två faserna utför de planerade handlingarna genom att kontrollera robotens pådrivande krafter som till exempel motorn. [7] 3DFN%RW Under räddningsaktionen vid World Trade Center användes sex robotar alla av olika storlek, vikt, rörlighet, syn och kommunikationsform. En av robotarna som användes av gruppen CRASAR (Center for Robot-Assisted Search and Rescue) från University of South Florida var PackBot utvecklad av företaget irobot. [2] 7
)LJXUL5RERW3DFN%RW>@ 8SSE\JJQDGDY3DFN%RW PackBot är ett UGV med trådlös kommunikation, en kontrollenhet och en mängd olika sensorer. [2, 9] PackBot är en autonom plattform vilket innebär att perception, alla beräkningar och energikällor måste finnas ombord på fordonet. [10] Hela PackBot systemet är kompakt och bärbart. Vid ankomsten till en olycksplats sätts fenorna på skalet och kontrollenheten monteras upp. Detta kräver att robotsystemet är enkelt att montera upp och därför är antalet kablar minimerade och varje detalj har sitt fack i förvaringsväskan. [9] PackBot är en spårningsrobot utrustad enligt bilden på nästa sida med två huvudband som sköter robotens förflyttelse. Roboten har också två fenor för att kunna till exempel klättra över hinder. En ökad rörlighet kan uppnås genom att förse roboten med ytterligare fenor. [8, 9] Själva roboten har en aluminiumkropp som är ungefär 60 cm långt, 50 cm brett, 17 cm högt med 13 000 cm³ lastutrymme. [10] Terrängen i en räddningsaktion är oförutsägbar och PackBot är designad för att kunna agera i skiftande temperaturer. Designen av PackBot är också sådan att roboten är resistent mot elektromagnetisk strålning, stöttålig och vattensäker upp till tre meter. [2, 9] PackBot är robust och flexibel vilket gör roboten till oerhört anpassningsbar till nya situationer. [9] Poängen med roboten är även den att genom skifte av moduler snabbt kan utföra olika uppgifter. [8] 8
)LJXU3DFN%RWLOOXVWUHUDGDY0DUWLQ(N>@ 3DFN%RWVVHQVRUHU Några av sensorernas uppgift för PackBot är att upptäcka offer, kunna avgöra om offret lever eller inte, navigera roboten och förse kontrollenheten med bilder gällande omgivningen samt robotens egen hälsa. [9, 11] Sensorer som är till för att upptäcka offer bör inte baseras på att registrera färgskillnader eftersom offren är kamouflerade av damm och annat skräp. Sensorer som noterar rörelser är inte heller lämpade därför att offret kan vara medvetslöst. Kameror vilka observerar temperaturskillnader är däremot bättre anpassade för att upptäcka offer då även en gömd individ sänder ut värme som urskiljs i omgivningen. Navigeringssensorer vilka ger en tvådimensionell struktur kan vara ODVHUUDQJHILQGHUV eller andra utvecklade former av ekolod. [4] /DVHU UDQJH ILQGHUV mäter avståndet till det uppfattade objektet eller objektets rörelse samt acceleration. [7] En tvådimensionell vy har svårt att hantera kollapsade byggnader där saker ligger på varandra i en enda hög. Tredimensionella bilder skapas till fördel av laserutrustning. Laserutrustningen kräver däremot energi men de kan också mäta avstånd. Avståndsmätningarna är inte tillförlitliga med tanke på att damm och rök som finns i luften påverkar mätningarna. Exempel på sensorer för undersökning av miljön är till exempel strålningsmätare som registrerar luftkvalitén, upptäcker eventuella gasläckor med mera. Sensorernas upptäckter räddar räddningsarbetares liv genom att varna för farliga utrymmen med risk för explosioner eller liknande. [4] 9
Under en räddningsaktion måste navigeringssensorerna och de sensorer som observerar påträffade offer i en räddningsrobot som PackBot samverka. En fungerande samverkan är ett problem för AI att lösa. [4] Några av de sensorer som enligt litteraturen används på PackBot i olika räddningsaktioner: SpO 2 sensor för att mäta syrehalten i blodet hos en funnen person och på så sätt avgöra om vederbörande lever eller inte. Sensorn behöver ha direkt kroppskontakt för att kunna utföra mätningarna. [11] En svart-vit kamera med 84º synfält. [2] Vid val av kamerasensorer är det viktigt att ta hänsyn till synfält och fokuseringsavståndet. Stort synfält behövs för att kunna se en hel människa på inte för långt håll vilket är av betydande roll när det gäller för roboten att ge operatören en tillståndsbild över offret. [11] CCD (&KDUJH&RXSOHG'HYLFHV) färgkamera med 118º synfält som är känslig mot ljusförhållanden i omvärlden men hittar människor. [2, 11] Kameran genererar matriser med olika siffror som representerar fotodiodernas notering av ljusintensiteten i olika punkter. [7] FLIR ()RUZDUG/RRNLQJ,QIUDUHG &DPHUD) användes för att upptäcka värmeskiftningar i omgivningen vilka kan uppkomma genom offers utandningar. [2] Infraröd kamera används också för att upptäcka hinder. Sensorerna fungerar så att infrarött ljus sänds ut och reflekteras sedan mot ett objekts ytor. Uppfattas en reflektion vet roboten att framför finns ett objekt. Eftersom färger reflekterar det infraröda ljuset olika starkt går en infrarödkamera inte använda för att mäta avstånd. [7] Pyroelektriska sensorer är speciellt bra för att hitta offer. Sensorerna genererar elektriska laddningar vid en situation då sensorn utsätts för värme i form av infraröd strålning. [11] Kompassensor/inclinometer är viktig för robotens navigering. Sensorerna mäter precis som ett kompass jordens horisontella magnetfält. [7] Kompassensorn är en av de sensorer som ger operatören viktig information om robotens position och status. [9] 6KDIW HQFRGHU är en sensor som monteras på robotens roterande axlar. Sensorn genererar en binär representation av axelns position och på så vis mäts rotationen. [7] GPS (JOREDO SRVLWLRQLQJ V\VWHP) är en av de sensorer som integrerar för att upprätthålla orienteringen av roboten. [2] GPS används för att globalt lokalisera de lokala mätningarna som interna sensorerna registrerar. [4] 3DFN%RWVNRQWUROOHQKHW Den kontrollenhet som användes under räddningsaktionen efter katastrofen vid World Trade Center bestod av en laptop med irobots mjukvara för gränssnitt. [12] Kommunikationen till roboten utsändes med hjälp av knappar och joystick. Kontrollenheten var inte vattensäker vilket gjorde att roboten inte användes på vissa platser för det fanns risk att kontrollenheten var opålitlig. [9] 10
8*9XQPDQQHGJURXQGYHKLFOH PackBot är som nämnts tidigare ett UGV-fordon. [9] Hos ett UGV-fordon finns ett internt fungerande förhållande mellan perceptionsfasen där sensorisk data processas, navigering, kommunikation, vägplanering, gränssnittet mellan människa och teknik, beteende och nivån av automatisering hos UGV-fordonet. Går något fel i ett av områdena kommer det totala felet fordonet gör bli ännu större. [13] 1DYLJHULQJ Navigering handlar om robotens position och riktning till önskat mål. Vilken teknik som är bäst att använda väljs utifrån målet, det område roboten arbetar inom. Perception bidrar med hjälp för navigering till exempel genom att beräkna vinkeln till ett landmärke vars position är känt. Utifrån det beräknas robotens aktuella position med trigonometri. [13] Navigeringssensorernas noggrannhet begränsar fordonets förmåga att följa en väg. I miljöer som USAR fodras en kombination av globala lokaliseringssensorer som till exempel GPS och robotens interna sensorer för att få en väl fungerande robotagent. PackBot har skiftande former av GPS sensorer men sensorerna talar om var roboten befinner sig. GPS sensorn på en PackBot som arbetar i katastrofmiljöer ger inte tillräckligt exakta mätningar på grund av att GPS sensorn störs vid arbete i miljöer med byggnader. Eftersom GPS mätningar är bristfälliga behövs ett samarbete med robotens interna sensorer för att trots att GPS sensorn inte fungerar kunna urskilja robotagentens position. PackBots interna sensor är en inclinometer och en kompassensor. Kompassensorn registrerar robotens lutning och böjning. Tillsammans med inclinometern ger kompassensorn en absolut orientering av roboten. Kompassensorn observerar fordonets riktning jämfört med det magnetiska norr medan inclinometern registrerar robotens förhållande till horisontalplanet. [10] Systemarkitekturen som kontrollerar PackBot är konstruerad enligt bilden nedan. [10] Sensorisk data omvandlas och skapar en modell av robotens status i världen. [7] Bilden visar hur flera olika beteendekommandon samtidigt för befäl över roboten. De befallningar som har med själva drivandet av roboten att göra urskiljs och resulterar i ett enda dikterat motorkommando. [10] )LJXU6\VWHPDUNLWHNWXUHQ>@ 11
Data från navigeringssensorerna om robotens status skickas till en station där alla nödvändiga beräkningar görs. Efter varje input till stationen körs Kalmans filter och en algoritm för positionsberäkningar. Robotens uppdaterade tillstånd sparas i ett minne därifrån andra enheter i roboten kan komma åt informationen. Den nya orienteringen ligger sen till grund för de andra robotenheternas beslut. Robotens nya position syns även på operatörens kontrollenhet. [10] Kalmans filter beräknar robotens tillstånd över en viss tid utifrån brusiga observationer. Själva problemet som filtret räknar ut formuleras som en följd av temporala uppskattade modeller. Det handlar om en rörelsemodell P(X t+1 x t, a t ) som beskriver robotens fysiska rörelser och en sensormodell P(z t+1 X t+1 ) vilken skildrar mätningsprocessen. Robotens kommande tillstånd är en linjär funktion av det aktuella tillståndet adderat med brusfaktorerna. Formeln för uppdatering av robotens tillstånd är enligt följande: µ t+1 = Fµ t + K t+1 (z t+1 - HFµ t ). Första termen, Fµ t representerar det förutspådda tillståndet. HFµ t motsvarar den uppskattade observationen. (z t+1 - HFµ t ) är felet i den förutsagda iakttagelsen. K t+1 är ett värde för hur seriöst den nya observationen ska ses. K t+1 värdet multipliceras med felet i den förutsagda iakttagelsen för att rätta till felet. [1] 3ODQHULQJ Största delen av planering en räddningsrobot i form av PackBot behöver göra är att planera vägen, vilket sker då roboten ska förflytta sig från en punkt till en annan utan att slå i eventuella hinder. [13] Viktiga aspekter när det gäller planering av vägar för roboten är hur snabbt en väg hittas och hur möjligheten att stöta på vägar med hinder behandlas. [15] Planering integrerar med perception eftersom varseblivningsfasen noterar om det är hinder framför roboten eller inte. Integration sker också med navigering eftersom navigeringsfasen talar om för roboten var den befinner sig i detta ögonblick. Planering görs genom att en mer eller mindre detaljerad karta över omgivningen fungerar som input till en algoritm. Output från algoritmen blir den väg som ska följas men varje gång ett hinder noteras måste vägen omplaneras eftersom miljön räddningsroboten arbetar i är delvis observerbar. [13] Alla objekt i omvärlden har en geografisk punkt på kartan. Genom att dela upp kartan i sektorer beskrivs problemrymden effektivare och den viktigaste sektorn för roboten att agera i kan väljas ut. Den väsentligaste sektorn för en räddningsrobot skulle vara den med flest kollapsade byggnader eftersom där finns störst chans att finna instängda offer. Kartan delas upp i sektorer genom att först lokalisera objekten med störst respektive minst koordinat både horisontellt och vertikalt. På så sätt fås en rektangel innehållande alla objekt på kartan. Rektangeln delas sedan upp i delar med lika längd vilket ger ett rutnät i rektangeln som visar hur kartan sektoruppdelats. I rutnätet placeras sedan punkter vilka motsvarar objektens positioner på kartan. Dessa punkter länkas slutligen ihop genom vägar med hjälp av en algoritm, Djikstras algoritm, som hittar den kortaste vägen mellan punkter inom en och samma sektor. Vägarna som definierar en sektor kallas motorvägar. På så sätt innehåller vägen från punkt a i sektor A till punkt b i sektor B följande tre delavstånd: distansen inom sektor A från punkt a till den yttersta punkten A i på sektorn A som är närmast sektor B, motorvägen mellan A i och den yttersta punkten B i i sektor B som är närmast sektor A och slutligen avståndet inom sektor B från punkten B i till punkten b. Att välja lämpligt antal sektorer på kartan är dels för att sektorsindelningen leder till effektivare beräkningar men även att det påverkar kvalitén av räddningsaktionen. [15] 12
'LMNVWUDVDOJRULWP Använda variabler i algoritmen är: 9 = Mängden av alla besökta noder som från början innehåller bara startnoden. [15] '= Mängden alla andra noder inom sektorn. [15] 3= Mängden alla genererade vägar i sektorn. [15] 5 = En temporär mängd av alla de grannoder till v, den nod som agenten befinner sig i. Alla grannoder finns fortfarande i '. [15] Vid varje beräkning av algoritmen läggs en väg till i 3. För alla noder i 5 gäller att för att komma till noden Qväljs den kortaste vägen. Distansen av en ny sträcka fås genom att addera avståndet från en besökt nod till dess grannod med den distans som redan gåtts för att komma till den besökta noden. Detta görs för alla grannoder och sedan väljs det kortaste avståndet. Agenten förflyttar sig till den utvalda grannoden med kortast avstånd och tillryggalagd väg läggs till i 3samtidigt som den nya noden läggs till i 9. När alla noder finns i 9 det vill säga när mängderna ' och 5är tomma kommer 3 innehålla alla de kortaste vägarna från startpunkten till samtliga destinationer i sektorn. [15] 8SSGDWHULQJ Under tiden som agenten verkar kommer information om förändringar i omvärlden att mottas av roboten. Alla förändringar sparas i världsmodellen som alltså innehåller all den information agenten behöver för att kunna utföra sin kommunikation och koordination. [15] )LJXU6FKHPDWLVNELOG YHUYlUOGVPRGHOOHQ>@ 2EMHFW3RRO är kärnan i modellen och här sparas iakttagelser över förändringarna i miljön. En observation består av ett id för det iakttagna objektet, tiden för observationen och en lista över de förändrade egenskaperna hos objektet. Tiden för observationen måste lagras för att kunna avgöra vilken iakttagelse som är mest aktuell ifall motstridande påståenden skulle uppstå. Kommunikationsmodulen sänder in förändringsinformationen till modellen och liknas vid REMHFWSRRO för kommunikationsmodulen lagrar tid för observationerna. Den inkommande informationen sparas i kommunikationsbufferten. 6XPPDU\ ger en snabb bild av omvärlden men den måste uppdateras i takt med att nya observationer görs. Uppdateringen görs av den utgående kommunikationen som kommer från observationer lagrade i REMHFWSRRO och från innehållet ur kommunikationsbufferten. Utgående informationen innehåller de förändringar som mottagits av robotens sensorer och utifrån detta uppdateras ständigt robotagentens 13
världsmodell vilken ligger till grund för robotens val av beteende. Den utgående kommunikationen informerar även koordinationsmodulen. [15] %HWHHQGH Beteendet hos UGV-fordonet kan antingen vara naturligt, inlärt eller en respons på ett stimuli. Vad effektorerna gör, det vill säga UGV-fordonets beteende beror på perceptionsdata, navigeringsdata och planneringsdata som översätts till motoriska kommandon. En samling av beteenden är fordonets kunskap. [13] Relevant information för agentens agerande väljs ut ur informationen agenten har om den verkliga världen. [15] )LJXU3URFHVVHQI UURERWHQVYDODYKDQGOLQJ>@ Modellen där robotens kunskap om verkliga miljön finns lagrad, världsmodellen, vilken som nämnts tidigare är grunden i agentens tankeprocess över vilka beteenden som ska väljas. Ur kunskapsmodellen skapas sedan en situationsmodell som är agentens bild av den verkliga världen istället för kunskap om världen. Situationsmodellen är den information som behövs för en agent att utföra handlingar. Fokus ligger på de relevanta objekten för agentens nuvarande handling. Till exempel när agenten gjort en förflyttning kommer situationsmodellen efter handlingen att innehålla agenten och dess nya position. Efter att situationsmodellen genererats ur världsmodellen expanderas situationsmodellen till ett spelträd av möjliga strategier och slutliga situationsmodeller för handlingarna. Spelträdets noder består av tillstånd som utgör exempel på möjliga situationer. Grenarna av trädet utgör en lista på de beteenden, handlingar som leder till en viss situation. Spelträdets rot är den aktuella situationen och löven representerar framtida möjliga situationer. Ett resultatvärde för agentens prestation går att beräkna för varje löv i spelträdet. Förhoppningsvis kommer ett av löven att ha högre värde än övriga och det lövet väljs, det vill säga den strategi som leder till det tillståndet kommer agenten att utföra. Den lista av beteenden som trädets gren utgör innebär att agenten vet vilken befintlig position den ska ha där handlingen utförs. Listan talar också om vilken väg som agenten måste gå för att komma till önskad position om roboten inte redan är där. Uppfylls alla krav gällande robotens position utförs slutligen handlingen. [15] 14
7HOHVW\UGDIRUGRQ UGV-fordon är oftast telestyrda vilket ställer stora krav på kommunikationen roboten har med operatören. Telestyrt fordon innebär att fordonet styrs på avstånd av en operatör som sitter vid en kontrollenhet (enligt bilden nedan). [13, 14] Operatören skickar via kommunikationslänken kommandon till roboten utifrån den information som roboten sänder ut. Typiska användningsområden för telestyrda fordon är som till exempel räddningsaktioner där det är svårt att nå olycksplatsen och fordonets uppgift är att observera och rekognosera omgivningen. [14] )LJXU(QWHOHVW\UGURERWPHGRSHUDW U Miljön fordonet arbetar i ställer krav på vilket kommunikationsmedel som används. [13] PackBot är ett trådlöst fordon vilket innebär att den har trådlös kommunikation. Det är en fördel eftersom PackBot arbetar i miljöer med mycket bråte där en sladd lätt skulle fastna. [2] I PackBot finns mellan operatören och roboten en digitallänk som sänder ut videoströmmar med information om robotens status. [9] Kommunikationen måste vara pålitlig eftersom telestyrda fordon innebär ett kontinuerligt samarbete mellan robot och operatör. [13] Under räddningsaktionen i samband med katastrofen vid World Trade Center rådde stora kommunikationsproblem vilket ledde till att robotarna var svåra att kontrollera. Kommunikationsproblemen mellan operatör och robot berodde på att den trådlösa kommunikationen var störd av andra ljud. [2] För att operatören ska ge korrekt respons till roboten måste operatörens gränssnitt vara pålitligt, maximera informationsöveföringen och lätt att hantera. Eftersom operatören inte har någon exakt kontroll över roboten utan fattar beslut utifrån vad som syns begås enkelt misstag. Vid arbete med robotar som är mer automatiserade fungerar inte gränssnittet som en kontroll utan för att diagnostisera robotens eventuella misstag. [14] Vid digital kommunikationsöverföring som i PackBot är kommunikationen ofta brusig och lätt att missförstå. Därför behövs i framtiden mer autonoma agenter för att öka fördelen med användningen av räddningsrobotar. irobot arbetar med att utveckla ett autonomt beteende hos en robot som kan upptäcka när kommunikationen till operatören blir bristfällig. Roboten ska kunna spåra en position den tidigare befunnit sig på och där kommunikationen var bättre samt ta sig dit. [9] Fordonet kan vara olika starkt telestyrt. Antingen är det helt styrt av en operatör eller så fungerar operatören bara som en övervakare. [14] Övervakad telestyrning innebär att operatören delar in robotens huvudproblem i olika delproblem som sedan roboten själv får lösa. På så sätt är operatören inte aktiv utan fordonet måste ha en form av automatisering. [14] 15
'LVNXVVLRQ Att använda någon form av räddningsrobotar vid såväl räddningsaktioner ser jag som en stor fördel. PackBot och de andra robotarna som användes efter katastrofen i World Trade Center anser jag bevisar fördelarna. Roboten är ett hjälpmedel till människan allt för att en räddningsaktion ska ske snabbare. Tiden är en avgörande faktor vid katastrofer. Snabbare räddningsaktion leder till fler överlevande. Förlust av en mekanisk robot är heller inte ett lika stort socialt nederlag som förlust av en räddningsarbetare vilket gör att robotar kan sättas in tidigare än mänskliga resurser i räddningsaktionen. [2] UGV-fordon har sedan flera år använts vid militära uppdrag men det finns fortfarande mycket kvar att utveckla för att få robotar att prestera ännu bättre i en räddningsaktion. Robotagenten måste integrera med ett redan väl fungerande räddningssystem vilket ställer stora krav på konstruktionen av roboten. [4] Robotdesignen måste vara användarvänlig för att räddningspersonal är sällan experter på datorer och robotar. Jag har i rapporten tidigare nämnt att navigering och detektion av offer måste samverka. Inom det området finns det fortfarande mycket kvar att göra där också artificiell intelligens tillför viktiga bitar. Det vore fruktansvärt att missa ett offer för att robotens sensorer inte är tillförlitliga eller på grund av att operatören missförstår synintrycken som visas på kontrollenheten. Området räddningsrobotik tyckte jag var mycket intressant eftersom det finns ett tydligt användningsområde för robotarna. Att få en djupare inblick i hur en robotagent verkligen fungerar var oerhört intressant även om det var komplicerat. Det ligger mycket tid och prövning bakom en teknisk konstruktion som roboten PackBot. 5HIHUHQVHU [1] Russel, Stuart J. & Norvig, Peter (2003). $UWLILFLDO,QWHOOLJHQFH$0RGHUQ$SSURDFK 6HFRQG(GLWLRQ [2] Binoy, Shah & Howie, Choset. 6XUYH\RQ8UEDQ6HDUFKDQG5HVFXH5RERWLFV URL: http://www.andrew.cmu.edu/user/bshah/usarsurvey.doc Acc: 2005-10-01 [3] Tehrani, Saeed Sharifi. :KDWLVD5HVFXH5RERW", (2002). URL: http://ce.sharifi.edu/~rescuerobot/. Acc: 2005-09-30 [4] Casper, Jennifer; Micire, Mark & Murphy, Robin,VVXHVLQ,QWHOOLJHQW5RERWVIRU6HDUFK DQG5HVFXHURL: http://crasar.csee.usf.edu/research/publications/crasar-tr2000-9.pdf Acc: 2005-10-16, also appears as 63,(*URXQG9HKLFOH7HFKQRORJ\,,, Orlando, FL, April 2000. [5] Murphy, Robin; Casper, Jennifer; Hyams, Jeff; Micire, Mark & Minten, Bryan. 0RELOLW\ DQG6HQVLQJ'HPDQGVLQ86$5. URL: http://crasar.csee.usf.edu/research/publications/crasar-tr2000-5.pdf Acc: 2005-10-16, also appears as,(((,qwhuqdwlrqdo&rqihuhqfhrq,qgxvwuldo (OHFWURQLFV&RQWURODQG,QVWUXPHQWDWLRQ, Nagoya, Japan, Oct. 2000. 16
[6] University of South Florida, CRASAR. URL: http://crasar.csee.usf.edu/rescuerobots/robots.htm Acc: 2005-10-16 [7] Nehmzow, Ulrich (2003). 0RELOH5RERWLFV$3UDFWLFDO,QWURGXNWLRQQG(GLWLRQ. [8] Askelin, Jan-Ivar. +MXOEHQSnODUYI WWHU URL: http://www.foi.se/upload/framsyn/05/nr1-05-hjulben-pa.pdf Acc: 2005-10-17 ur Framsyn Nr 1 2005. [9] Frost, Tom; Norman, Christopher; Pratt, Scott & Yamauchi, Brian irobot Corporation. McBride, Bill & Peri, Greg South West Research Institute. 'HULYHG3HUIRUPDQFH 0HWULFVDQG0HDVXUHPHQWV&RPSDUHGWR)LHOG([SHULHQFHIRUWKH3DFN%RW URL: http://www.isd.mel.nist.gov/research_areas/research_engineering/performance_metrics/ PerMIS_2002_Proceedings/Frost_Norman_Pratt_Yamauchi.pdf Acc: 2005-10-17 [10] Hogg, Robert W.; Rankin, Arturo L.; Roumeliotis, Stergios I.; McHenry, Michael C.; Helmick, Daniel M.; Bergh, Charles F. & Matthies, Larry. $OJRULWKPVDQG6HQVRUVIRU6PDOO5RERW3DWK)ROORZLQJ URL: http://www-users.cs.umn.edu/~stergios/papers/pathfollowingicra02.pdf Acc: 2005-10-17 [11] Burion, Steve. +XPDQ'HWHFWLRQIRU5RERWLF8UEDQ6HDUFKDQG5HVFXH, (2004).URL: http://www.cs.cmu.edu/afs/cs/project/retsina-31/www/report/final%20report.pdf Acc: 2005-10-17 [12] Casper, Jennifer. +XPDQ5RERW,LQWHUDFWLRQV'XULQJWKH5RERW$VVLVWHG8UEDQ6HDUFK DQG5HVFXH5HVSRQVHDWWKH:RUOG7UDGH&HQWUH(2002). URL: http://crasar.csee.usf.edu/research/publications/crasar-tr2002-8.pdf Acc: 2005-10- 17 [13] National Research Council (2003). 7HFKQRORJ\'HYHORSPHQWIRU$UP\8QPDQQHG *URXQG9HKLFOHV ISBN: 0-309-08620-5 [14] Fong, Terrence. &ROODERUDWLYH&RQWURO$5RERW&HQWULF0RGHOIRU9HKLFOH 7HOHRSHUDWLRQ, (2001). URL: http://www.ri.cmu.edu/pub_files/pub3/fong_terrence_w_2001_2/fong_terrence_w_2001 _2.pdf Acc: 2005-10-18 [15] Post, S.B.M & Fassaert, M.L. $&RPPXQLFDWLRQDQG&RRUGLQDWLRQ0RGHOIRU ³5RER&XS5HVFXH $JHQWV(2004). URL: http://student.science.uva.nl/~sbmpost/print/twoside/thesis2.pdf Acc: 2005-10-13 17