ERK'2020, Portorož, 172-175 172 Vodenjesodelujoˇ cemobilnerobotskecelice PeterKmecl,Matjaˇ zMihelj,MarkoMunih,JanezPodobnik Fakultetaza elektrotehniko,Univerza vLjubljani,Trˇ zaˇ ska cesta 25,1000Ljubljana E-poˇ sta: peter.kmecl@robo.fe.uni-lj.si Controlofacolaborativemobilerobotcell In recent years we have seen a steady growth in the use of mobile robots in industrial scenarios. The growth canbeattributedtotheimprovementofbatteryandcom- putertechnologiesaswellasnewautonomouscontrolal- gorithms. Thispaperdescribesamobilerobot,developed in the Laboratory of robotics at the Faculty of Electrical Engineering,thatservesasanautonomouscollaborative mobile robot cell and was created as a response to the aforementioned trend. Its purpose is to allow research anddevelopmentofcollaborativemobileapplications,as well as enable students to have access to a modern and open mobilerobotics system. The paperprovidesa basic overview of the cell’s electrical, communication and in- formation systems aswell as thesoftwareused to control and planits movement. 1 Uvod Mobilna robotika je danes v porastu tako v vsakdanjem ˇ zivljenju, kot tudi v industrijskem okolju. Kljuˇ cni na- predkinapodroˇ cjubaterijsketehnologije,procesorskemo- ˇ ciinalgoritmovvodenjanamomogoˇ cajoavtonomijosis- tema in natanˇ cno vodenje, naprednisenzorski sistemi pa zagotavljajo varnost in dovoljujejo deljenje robotovega delovnegaprostoraz ljudmi[1]. Uporabnost mobilnih robotov se ˇ se bistveno poveˇ ca, ˇ ce platformo kombiniramo z robotskim manipulatorjem. Takemu sistemu reˇ cemo tudi mobilni manipulator. Mo- bilnimanipulatorjirazˇ sirijo funkcionalnostobehkompo- nentvsistemu. Premiˇ cnaplatformamanipulatorjupoveˇ ca delovni prostor, platforma pa pridobi sposobnost samo- stojnegaopravljanjanalog,kizahtevajofleksibilnostma- nipulatorja(pobiranjeinodlaganje,izpolnjevanjenaroˇ cil, oskrbovanjeinvzdrˇ zevanjenapravitd.) [1,2]. Zaradi vse veˇ cje uporabe tovrstnih sistemov v tovar- nah in skladiˇ sˇ cih, smo v Laboratoriju za robotiko na Fa- kulteti za elektrotehniko, UL razvili sodelujoˇ co mobilno robotskocelicozaraziskovalneinpedagoˇ skenamene. V ˇ clanku bomo predstavili napajalne, komunikacij- ske in raˇ cunalniˇ ske sisteme robotske celice, ter visoko- nivojsko in nizkonivojsko programsko opremo, ki nam omogoˇ cata avtonomno voˇ znjo. Na kratko bomo ome- nili tudi njene varnostne sisteme in algoritme za lokalno naˇ crtovanjepoti,kismojih preizkusili. Slika 1: Skica sodelujoˇ ce mobilne robotske celice s pritrjenim manipulatorjem FrankaEmikaPanda. 2 Strojnaoprema Osnovnefunkcijepovezanezmobilnostjonaˇ sesodelujoˇ ce robotske celice nadzira Beckhoffov industrijski krmilnik oziroma PLK. Zasnovan je modularno in tako omogoˇ ca preprosto razˇ siritev ter nadgradnjofunkcionalnosti,ki bi jo pri nadaljnjem razvoju morda potrebovali. Krmilnik vsebuje ˇ stirijedrniprocesorinpoganjaoperacijskisistem Windows 10 embedded. Nameˇ sˇ ceno programsko okolje TwinCAT3omogoˇ cadodelitevjederspecifiˇ cnimnalogam ter komunikacijo z moduli preko protokola EtherCAT. Takaizvedbakrmilnikapripomorekpreprostejˇ siintegra- cijinizkonivojskestrojneopremevvisokonivojskisistem prekostandardnihprotokolovin komunikacijskihpoti. S posebnimi varnostnimi moduli krmilnik poskrbi tudi za osnovne varnostne funkcije. Poleg vodenja motorjev in varnosti krmilnik podaja osnoven uporabniˇ ski vmesnik, kioperaterjuomogoˇ caroˇ cnopremikanjeplatformepreko krmilne palice s tremi prostostnimi stopnjami. Skupaj z napajalnikiindistribucijskimisistemijepritrjennazadnji delplatforme,kije prikazannasliki2. Na celicosmoza poveˇ canjemobilnostivgradili24V 173 Slika2: Napajalnik(modra),elektriˇ cnivarnostni terdistribucij- ski sistemi (rdeˇ ca) inindustrijski krmilnik(zelena). litij-ˇ zelezovpolimernobaterijoskapaciteto50Ahin230 V inverter z maksimalno moˇ cjo 1 kW, ki skrbi za na- pajanje raˇ cunalnika in robotskega manipulatorja. Elek- triˇ cni sistemi so napeljani v nadometno omarico za ele- ktriˇ cno napeljavo, kjer s pomoˇ cjo varovalk in FID sti- kala poskrbimoza varnost(rdeˇ cokvir na sliki 2). Za na- menenadalnjegarazvojasovcelicovgrajenivsipotrebni napajalni sistemi za napajanje celice preko elektriˇ cnega omreˇ zja. Shema celotnega elektriˇ cnegasistema je prika- zananasliki3. 24 V DC sistem 230 V AC sistem Krmilnik PC Manipulator Stikalo Laserski M M M M Baterija Inverter 24 V Polnilnik za Elektri no omrežje Mrežne povezave Zunanja mreža & Usmerjevalnik baterijo Napajalnik skenerji Slika3: Blokovna shema elektriˇ cnihsistemov nacelici. Na krmilnik so povezani ˇ stirje servo motorji, na ka- tere so preko reduktorjev nameˇ sˇ cena Mecanum kolesa. Ta celici omogoˇ cajopremike po osi x in y, rotacijo okoli osi z, ter njihovepoljubne kombinacije. Koordinatnisis- temmobilneplatformecelice,ternjegoveosnovneoznake so prikazanenasliki4. Naprednejˇ sefunkcijevodenjase izvajajona zmoglji- vem streˇ zniˇ skem raˇ cunalniku, na katerega je nameˇ sˇ cen operacijskisistem ESXi. Taomogoˇ canamestitevveˇ cvir- tualnihsistemovna enraˇ cunalnik,karpripomoreh kom- paktnosti in varˇ cnosti robotske celice. Nizkonivojsko in visokonivojskoprogramskoopremopovezujeomreˇ zjeEther- net. V komunikacijskoomreˇ zjesta povezanatudidva SICK laserska skenerja. Senzorja omogoˇ cata branje po- datkov preko omreˇ zja Ethernet in bosta uporabljena za zaznavanje ovir in izgradnjo zemljevida delovnega pro- stora. Podpiratavarnostnedigitalneizhode,kisesproˇ zijo l w r k e x e y ω fl ω fr ω bl ω br Slika4: Koordinatni sisteminosnovne oznakepodvozjacelice. vprimeruzaznaveovirevvnaprejnastavljenemobmoˇ cju. Digitalniizhodisopovezaninavarnostnikrmilnik,kipo- skrbiza varenizklopmotorjev. Pri laserskih skenerjih smo se morali odloˇ citi za po- zicijo in orientacijo pritrditve. Postavljeni morajo biti dovolj nizko, da zaznajo vse ovire na tleh, hkrati pa do- volj visoko, da ˇ cloveka med hojo oziroma tekom ˇ se ve- dno zaznajo. Poleg viˇ sine smo se morali odloˇ citi med dvemamontaˇ znimapristopoma-diagonalniminkotnim. Diagonalni s svojimi varnostnimipolji pokrije celo oko- lico platforme, vendar znatno poveˇ ca profil platforme. Poveˇ caniprofiloteˇ zinavigacijopotesnihprehodihinpri- bliˇ zevanjestatiˇ cnimdelovnimpovrˇ sinam(angl. docking). Kotna pritrditev olajˇ sa prej omenjeno navigacijo, ˇ zrtvuje pa trikotne dele varnostnega polja tik ob platformi. Var- nostnapoljaobehpristopovso prikazananasliki5[1]. Slika5: Moˇ zni konfiguraciji laserskihskenerjev. Celica ima na svojo delovno povrˇ sino pritrjen tudi sodelujoˇ c robotski manipulator Franka Emika Panda s 7 prostostnimistopnjami,kije vidennaslikah1in 6. Slika6: Robotski manipulator, ki jepritrjennacelico. 174 3 Nizkonivojskaprogramskaoprema Nizkonivojska programska oprema teˇ ce na Beckhoffo- vemindustrijskemkrmilniku. Njenanalogaje omogoˇ citi povezavo med strojno opremo, ter viˇ sjenivojskimi kom- ponentami, ki skrbijo za pravilno delovanje robotske ce- lice na nivoju aplikacije. V naˇ sem primeru jo sestavljajo ˇ stiri komponente: vodenje motorjev, obravnava vhodnih signalov, komunikacijski vmesnik ter obravnava varno- stnih vhodovinizhodov. Blokovnashemasistema jepri- kazananasliki7. Varnostni krmilnik Moduli za nadzor Komunikacijski I/O program Program za nadzor Windows 10 TwinCAT3 M M M M Krmilna palica digitalni I/O in ADC motorjev motorjev program embedded Slika7: Blokovna shemanizkonivojskega sistemavodenja. Za nizkonivojsko programsko opremo je kljuˇ cnega pomena izvajanje v realnem ˇ casu s fiksnim ˇ casovnim in- tervalom, saj potrebujemo znano frekvenco izvajanja kr- milne programske opreme za natanˇ cno raˇ cunanje kine- matike in odometrije mobilne platforme. To zagotovimo zdodelitvijovsakeprogramskekomponentenalastnokr- milniˇ sko jedro, kar nam omogoˇ caizbiro fiksnega koraka izvajanjaposameznekomponentevnadzornemvmesniku TwinCAT3. Varnostnalogikateˇ cenalastnemvarnostnem krmilniku (angl. safety PLC) in je od ostalih komponent neodvisna[3]. Vodenjemotorjevjeprocesorskonajzahtevnejˇ sakom- ponenta nizkonivojske programske opreme. Vkljuˇ cuje matriˇ cnoraˇ cunanjekinematiˇ cnegamodelainodometrije, za katerega krmilnik ni prilagojen, hkrati pa se mora za natanˇ cnodelovanjeizvajatis ˇ cimkrajˇ sim ˇ casovnimkora- kom. Vnaˇ semprimerudelasfrekvenco1kHzoziromas ˇ casovnimkorakom1 ms[3]. Nizkonivojski programski modul za obdelavo signa- lov je trenutnouporabljenle kot preprostintegriranupo- rabniˇ skivmesnikzaroˇ cnopremikanjemobilneplatforme preko krmilne palice. Za delovanje uporablja analogni vhodni modul in digitalni vhodno/izhodnimodul. V na- daljnjem razvoju bi se nanj lahko priklopili dodatni sen- zorji, potrebniza robustnejˇ sein varnejˇ sedelovanjesode- lujoˇ cemobilnerobotskecelice. Do nizkonivojskih funkcij mobilne celice, ki jih po- nujanjenanizkonivojskaprogramskaoprema(odometrija, hitrostno krmiljenje itd.), si ˇ zelimo dostopatiprekoviso- konivojske programske opreme, zato med njima potre- bujemo hiter komunikacijskivmesnik. S staliˇ sˇ ca hitrosti in preprostosti implementacije je najprimernejˇ sa tehno- logija komunikacijskega vmesnika Ethernet, preko kate- regalahkosprotokolomUDPkomuniciramozzelomajh- nimi zamiki. Komunkacijskivmesnik skrbiza poˇ siljanje informacij in odometrije ter za prejemanje in izvajanje ukazov,prejetihprekovmesnikaUDP. 4 Visokonivojskaprogramskaoprema Naloga visokonivojske programske opreme mobilne ro- botskecelicejezagotovitevvmesnikazapreprostejˇ soupo- rabonjenihkljuˇ cnihsistemov,teropravljanjeinizvrˇ sevanje odloˇ citev na nivoju aplikacije. Zasnovana je modularno na podlagi virtualizacije in odprtokodnega okolja ROS oziromaRobotOperatingSystem. OkoljeROSzagotavlja standardizacijokomunikacijskegavmesnikamedmoduli, virtualizacijapanamomogoˇ cauporabosicer nekompati- bilnihoperacijskihsistemovnaenemzmogljivemstreˇ zniˇ s- kem raˇ cunalniku brez potrebe po dodatnem prostoru na platformi in z minimalnim poviˇ sanjem njene energijske porabe. Sstaliˇ sˇ cavodenjapremikovcelicejenajpomemb- nejˇ si visokonivojski sistem ROS, katerega shema je pri- kazananasliki8[1]. rtabmap ros navigation stack rviz spletni vmesnik (flask) vozliš e robotske celice Slika 8: Poenostavljena blokovna shema visokonivojskega vo- denja vsistemuROS. Za lokalizacijo smo uporabili ROSov paket rtabmap, odprtokodnoimplementacijoalgoritmazaVSLAM(angl. Visual Simultanious Localization And Mapping). Pred- nost paketa rtabmap pred ostalimi sorodnimi paketi je podporarazliˇ cnihvrst2Din3Dsenzorjev. Tonamomogo- ˇ ca dodajanje lidarjev, laserskih skenerjev in RGB-D ka- mer glede na dodatne potrebe brez spremembe strukture navigacijskega sistema. Hkrati podpira “veˇ csejno” ma- piranje (angl. multi-session mapping), lokalizacijo po ugrabitvi (angl. kidnapping) ter lokalizacijo na predho- dno shranjenem zemljevidu, kar omogoˇ ca raznoliko de- lovanjevvsehokoliˇ sˇ cinah[4, 5, 6, 7]. Pot po zemljevidu do ˇ zeljene lokacije naˇ ctruje RO- Sov vgrajeni paket imenovan move base, ki je del sis- tema ROS navigation stack. Razdeljen je na globalni in lokalni algoritem, na podlagi katerih izraˇ cuna optimalno pot okoli statiˇ cnih ovir na zemljeviduin dinamiˇ cnih ovir zaznanihnasenzorjih. Paket za komunikacijo z nizkonivojsko programsko opremo robotske celice smo napisali sami v program- skem jezikuPython. Lokalnanavigacija v paketu move base je zasnovana napodlagivtiˇ cnikov. Tivsebujejoimplementacijerazliˇ c- nih algoritmov, ki se razlikujejo po sposobnosti izogiba- njadinamiˇ cnimoviraminpodporizadoloˇ cenepogonske sisteme [7]. V sklopu razvoja naˇ sega sistema smo v si- mulacijskemokoljupreizkusiliˇ stirivtiˇ cnike,kisoimple- mentirali algoritme Trajectory rollout, Dynamic window 175 approach[8], Elastic band [9] in Timed elastic band [9]. Skice trajektorij, pridobljenih z omenjenimi vtiˇ cniki so prikazanenaslikah9,10in11. Kotnajprimernejˇ sialgoritemzanaˇ ssistemsejeizka- zal Timed elastic band, ki za razliko od algoritmov Tra- jectory rollout in Dynamic window approach primerno izkoristivsesmernostplatforme. Trajektorije,pridobljene z algoritmoma Elastic band in Timed elastic band se bi- stveno ne razlikujeta, a se je slednji izkazal za bolj ro- bustno v dinamiˇ cnih situacijah (predvsem pri izogibanju dinamiˇ cnimoviram)[9]. Slika9: Skicatrajektorijecelice,pridobljenezalgoritmomTra- jectory rollout. Slika 10: Skica trajektorije celice, pridobljene z algoritmom Dynamic window approach. Slika11: Skicatrajektorijecelice,pridobljenezalgoritmomTi- med elasticband. 5 Zakljuˇ cek Razvili smo sodelujoˇ co mobilno robotsko celico za na- men izvajanja raziskav s podroˇ cja sodelovanja ˇ cloveka z mobilnimi roboti in razvoj mobilnih robotskih aplikacij. Sistemsmozasnovalimodularno,karnamomogoˇ cahiter nadaljnjirazvojin nadgradnjosistema. Nizkonivojsko vodenje temelji na modularnemindu- strijskem krmilniku Beckhoff. Ta skrbi za pravilno de- lovanje motorjev in osnovne varnostne funkcije, napre- dnejˇ sevarnostnefunkcijeinnaˇ crtovanjepotipasozasno- vane na odprtokodnemsistemu ROS, ki teˇ ce na zmoglji- vem streˇ zniˇ skem raˇ cunalniku. Poleg visokonivojskega vodenja platforme s pomoˇ cjo virtualizacije nudi sistem za visokonivojsko vodenje robotskega manipulatorja, ki je pritrjen na celico, ter moˇ znost namestitve poljubnih drugihvisokonivojskihsistemov. Celica jeopremljenaz baterijo,kicelotnemusistemu omogoˇ ca avtonomno delovanje nekaj ur. Za namen ra- zvoja je opremljenatudi z vsemi potrebniminapajalniki, ki omogoˇ cajo napajanje celice iz elektriˇ cnega omreˇ zja. Za napajanje 230 V sistemov, ki so pritrjeni na celico imamovplatformovgrajentudizmogljivinverter. Celicaomogoˇ carazvojnaprednihsodelujoˇ cihaplika- cij,varnostnihfunkcijinsodelovanjamedmobilnocelico ter pritrjenim robotskim manipulatorjem. Zaradi odprto- stisistemovjeprimernatakozaraziskovalnokottudipe- dagoˇ skodejavnostv laboratorijskemokolju. Zahvala ˇ Studija je bila opravljena v sklopu raziskovalnega pro- gramaˇ st. P2-0228,kigajesofinanciralaJavnaagencijaza raziskovalnodejavnostRepublikeSlovenijeizdrˇ zavnega proraˇ cuna. IndustrijskikrmilnikBeckhoff,terpripadajoˇ ce modulein motorjeje prispevalopodjetje BeckhoffAvto- matizacijad.o.o. Literatura [1] P. Kmecl, ”Vodenje sodelujoˇ ce mobilne robotske celice”, Magistrskodelo,Ljubljana: UniverzavLjubljani,Fakulteta zaelektrotehniko, 2020. [2] Biao Zhang, C. Martinez, JianjunWang, T. Fuhlbrigge, W. Eakins in Heping Chen, “The challenges of integrating an industrial robot on a mobile platform,” v 2010 IEEE In- ternational Conference on Automation and Logistics, str. 255–260, 2010. [3] H.Taheri,B.QiaoinN.Ghaeminezhad, “Kinematicmodel of a four mecanum wheeled mobile robot,” International Journal ofComputer Applications, vol.113, no. 3,str.6–9, 2015. [4] M.Labb´ einF.Michaud,“Rtab-mapasanopen-sourcelidar and visual simultaneous localization and mapping library for large-scale and long-term online operation,” Journal of FieldRobotics, vol.36, no. 2, str.416–446, 2019. [5] C.R¨ osmann,F.HoffmanninT.Bertram,“Onlinetrajectory planning in ros under kinodynamic constraints with timed- elastic-bands,”vRobotOperatingSystem(ROS).Studiesin Computational Intelligence, vol. 707, Springer. [6] C. R¨ osmann, W. Feiten, T. W¨ osch, F. Hoffmann in T. Ber- tram, “Efficient trajectory optimization using a sparse mo- del,” v 2013 European Conference on Mobile Robots, str. 138–143, 2013. [7] P.Marin-Plazaetal.,“Globalandlocalpathplanningstudy ina ros-based research platform for autonomous vehicles,” Journal of Advanced Transportation, vol.2018, Feb2018. [8] D. Fox, W. Burgard in S. Thrun, “The dynamic window approach to collision avoidance,” IEEE Robotics Automa- tionMagazine, vol.4, no. 1,str.23–33, 1997. [9] S. Quinlan in O. Khatib, “Elastic bands: connecting path planning and control,” v [1993] Proceedings IEEE In- ternational Conference on Robotics and Automation, str. 802–807 vol.2, 1993.