Robotski krmilnik z odprto arhitekturo vodenja za industrijski manipulator Motoman MH5 Peter ČEPON, Matjaž MIHELJ, Marko MUNIH Izvleček: V današnjem času so industrijski roboti dosegli stopnjo, ko so njihove mehanske karakteristike zelo dobro optimizirane, na drugi strani pa so njihovi proizvajalci ves čas ohranjali zaprto arhitekturo krmilnikov in s tem skoraj enake funkcionalnosti kot pri prvih industrijskih robotih. Če hočemo industrijske robote uporabljati v raziskovalne namene, nam tako ne preostane drugega, kot da pričnemo z načrtovanjem strojnih modulov in razvojem programske opreme po meri. V tem članku sta opisana razvoj in izbira strojne opreme za gradnjo krmilnika xPC Target z odprto arhitekturo in princip delovanja varnostnega mehanizma. Vsa strojna oprema je bila zgrajena tako, da je delovala na operacijskem sistemu xPC Target. Ključne besede: industrijski robot Motoman MH5, krmilnik xPC Target, integracija senzorjev, servokrmilnik Ya-skawa ■ 1 Uvod V današnjem času so industrijski roboti dosegli stopnjo, ko so njihove mehanske karakteristike zelo dobro optimizirane. Medtem ko so proizvajalci dobro optimizirali mehanske karakteristike, pa so na drugi strani ves čas ohranjali zaprto arhitekturo krmilnikov. Arhitektura krmilnikov industrijskih robotov zato kljub neprestanemu napredku ponuja skoraj enake funkcionalnosti kot pri prvih industrijskih robotih. Te so tako še vedno omejene predvsem na operacije, kot so sledenje trajektori-jam, pozicijska kontrola itd. Zaradi različnih vzrokov ohranjajo proizvajalci arhitekturo zaprto in jo zelo redko odprejo za integracijo dodat- Mag. Peter Čepon, univ. dipl. inž., izr. prof. dr. Matjaž Mihelj, univ. dipl. inž., prof. dr. Marko Munih, univ. dipl. inž., vsi Univerza v Ljubljani, Fakulteta za elektrotehniko nih senzorjev [1]. To pa pomeni, da sta razvoj in implementacija različnih načinov vodenja z uporabo dodanih senzorjev zelo omejena in v nekaterih primerih skoraj neizvedljiva. Večina večjih proizvajalcev industrijskih krmilnikov se običajno odloča za zaprto arhitekturo krmilnikov. To pomeni, da uporabniki nimajo zunanjega dostopa do krmilnih signalov, s katerimi bi lahko nastavljali parametre manipulatorja. Vendar pa se med proizvajalci najdejo tudi takšni, ki imajo v svoji ponudbi robotske krmilnike z odprto arhitekturo. Na žalost se izkaže, da so pri odprtih krmilnikih frekvence osveževanja majhne in omejene samo na izvrševanje zahtevnejših nalog. Industrijske robotske krmilnike z odprto arhitekturo izdelujeta proizvajalca Stäubli (Stäubli Faverges SCA) in Yaskawa (Yaskawa Electric Corporation). Prvi ponuja družino krmilnikov CS8, ki imajo odprti dostop in so namenjeni predvsem razvoju in raziskovalni sferi. Ti imajo implementiran nivo za vodenje robota v realnem času (ang. Real-time robot control abstraction layer) in nižjenivojski vmesnik (ang. Low-level interface - LLI), ki omogoča zunanje nastavljanje referenc pozicij in hitrosti sklepov robota [2]. Pri tem je frekvenca osveževanja takšnega krmilnika omejena na približno 1 kHz. Pri Yaskawi je uporabniku na voljo podoben visokohitrostni modul za sinhroni nadzor programske opreme (ang. High-speed robot synchronous control software) [3], ki je sestavljen iz deljenega spominskega vmesnika med robotskim krmilnikom in glavnim računalnikom. Ta shranjuje vse informacije sinhron-ega vodenja procesne enote Yaskawa. Glavni računalnik si izmenjuje vse informacije z robotskim krmilnikom Yaskawa preko visoko-hitrostnega sinhronega računalnika Yaskawa (ang. High-speed synchronous computer - HSC). Na računalniku lahko teče operacijski sistem v realnem ali nerealnem času, Slika 1. Roboti, za katere so bili razviti krmilniki z odprto arhitekturo vendar pa je potrebno povedati, da je 2 ms sinhronizacija s HSC absolutno zagotovljena le v primeru, ko teče operacijski sistem v realnem času. Glavno omejitev HSC krmilnika predstavlja tako povezava med njim in glavnim računalnikom, saj je njena frekvenca osveževanja le 500 Hz. Zaradi nenehnega razvoja in omejenosti uporabe industrijskih robotskih krmilnikov se velikokrat izkaže, da tudi rešitve, ki jih ponudijo proizvajalci robotskih krmilnikov, niso zadostne. Raziskovalci se za potrebe raziskav odločijo za zamenjavo ali nadgradnjo robotskih krmilnikov z obstoječo arhitekturo. Običajno si razvijalci načrtajo celotno strojno opremo z vsemi potrebnimi vmesniki, prilagojenimi razvojnemu okolju s programsko opremo, ki so si jo predhodno izbrali za razvoj aplikacij. Takšen princip gradnje krmilnikov z odprto arhitekturo omogoči razvijalcu dostop in nastavljanje večine uporabnih funkcij manipulatorja ter mu dovoljuje direktno vodenje aktu-atorjev v sklepih robota s hitrostmi ali navori. Pri gradnji krmilnikov po meri je običajno omogočen direkten dostop do servoojačevalnikov manipulatorja, kar omogoča razvoj kompleksnejših metod vodenja, integracijo različnih senzorjev (sila/ navor, razdalja, vid, zvok) in njihovo ovrednotenje. Takšni robotski krmilniki, ki jih naredimo po meri, pridejo še posebej v poštev, ko razvijamo aplikacije, ki dovoljujejo interakcijo med človekom in robotom na podlagi fizičnih kontaktov med njima. Robotski krmilniki z odprto arhitekturo ponujajo uporabniku nove možnosti razvijanja kompleksnih razvojnih in izobraževalnih aplikacij. Pri vsem tem je potrebno poudariti, da postanejo s povečevanjem kompleksnosti industrijskih aplikacij omejitve industrijskih robotskih krmilnikov vedno bolj očitne. Takšen problem je predstavljen v članku [4], v katerem avtor opisuje aplikacijo merjenja z robotom. Pri tej aplikaciji se izkaže, da kljub zadovoljivi natančnosti robota zvezno merjenje sivih rešetk z želeno hitrostjo ni mogoče, saj je osveževanje branja pozicij robota prepočasno. Za pravilno delovanje aplikacije je bila zato potrebna modifikacija programske opreme robotskega krmilnika (modifikacija brez podpore proizvajalca), ki je omogočila povečanje vzorčne frekvence pozicije na 500 Hz. Z neprestanim razvojem postajajo tudi roboti vse inteligentnejši, zato se pojavljajo zahteve po novih kompleksnejših aplikacijah. V bodočnosti lahko zato pričakujemo, da bosta človek in robot sodelovala in delovala v istem okolju. Za izvrševanje uspešnih interakcij med robotom in človekom je zato potreben razvoj novih metod vodenja ma-nipulatorjev. V Laboratoriju za robotiko na Fakulteti za elektrotehniko se z razvojem robotskih krmilnikov z odprto arhitekturo ukvarjamo že vrsto let. Prvi namenski robotski krmilnik je bil v laboratoriju razvit že v začetku osemdesetih let [5], prvi robotski krmilnik z odprto arhitekturo pa v začetku devetdesetih [6]. V zadnjih 10 letih so bili za različne raziskave na različnih manipulatorjih razviti robotski krmilniki z odprto arhitekturo. Na začetku so bili krmilniki z odprto arhitekturo osnovani na platformi RT Linux, na kateri je bilo narejenih veliko raziskav in razvojnih nalog [7, 8, 9, 10]. Zaradi uporabniku neprijaznega programskega okolja za hitro razvijanje, preizkušanje in ovrednotenje Slika 2. Servokrmilnik proizvajalca Yaskawa sistemov je bila večina sistemov iz platforme RT Linux prestavljena na platformo xPC Target. S tem se je razvijanje sistemov premaknilo iz programskega okolja C v programsko okolje Matlab, ki je uporabniku prijaznejše za razvijanje in ovrednotenje sistemov. V nadaljevanju članka sta opisana razvoj in izbira strojne opreme za gradnjo krmilnika xPC Target z odprto arhitekturo in princip delovanja varnostnega mehanizma. S tem krmilnikom je možno dostopati in nastavljati parametre servokrmilnik-ov, ki krmilijo dva Motomanova robotska manipulatorja MH5. Vse komponente za gradnjo krmilnika xPC Target po meri in varnostnega modula, ki so bile implementirane pri gradnji krmilnika, so bile izbrane in razvite za delovanje na platformi xPC Target. ■ 2 Arhitektura strojne opreme Pri mnogih proizvajalcih je v navadi, da neradi posredujejo tehnične podrobnosti o povezovanju njihovih industrijskih krmilnikov in možnosti uporabe zunanjih vhodnih signalov. Tako je v večini primerov od proizvajalca težko pridobiti uporabne infor- macije, ki bi dovoljevale spremembe ali posredovanje v njihovo strojno opremo, in bi na takšen način uporabniku olajšali delo pri gradnji robotskega krmilnika po meri. Problem proizvajalčevega neposredovanja informacij postane še posebej velik pri novejših industrijskih krmilnikih, ki uporabljajo za komuniciranje z manipulatorji namesto dosedanjih analognih signalov različna digitalna vodila. Ta so v večini primerov patentirana in prirejena za posameznega proizvajalca. Pri tem se je potrebno zavedati, da imajo takšna digitalna vodila velikokrat omejeno osveževanje, tako da je priklop dodatnih naprav na vodilo lahko problematičen in omejuje njihovo delovanje. S stališča razvijalca to pomeni, da je ta omejen pri razvijanju zahtevnejših aplikacij, kot je vodenje manipulatorjev z integracijo senzorjev, ki delujejo v realnem času. Vse te pomanjkljivosti imajo velikokrat negativen vpliv pri gradnji robotskih krmilnikov po meri. V primeru gradnje krmilnika xPC Target za krmiljenje dveh Moto-manovih manipulatorjev MH5 je bilo sodelovanje s proizvajalcem uspešno v tej smeri, da je bil pripravljen za nas predelati industrijski robotski krmilnik. Proizvajalec je obstoječemu industrijskemu krmilniku paralelno namestil 12 servokrmilnikov s hitrimi odzivnimi časi in vgrajenim varnostnim mehanizmom (glej sliko 2). Izbiranje med industrijskim krmilnikom in dodanimi servokrmilniki je izvedeno s preklapljanjem, s čimer je omogočeno le delovanje enega od njiju. Takšen namenski servokrmilnik (glej sliko 2) omogoča nastavljanje parametrov, branje signalov, krmiljenje aktuatorjev posamezne osi manipulatorja in skrbi, da med njegovim delovanjem ne prihaja do napak, ki bi lahko poškodovale ak-tuator. Za nas je pomembno dejstvo, da ima servokrmilnik veliko vhodno-izhodnih digitalnih in analognih linij, preko katerih lahko nastavljamo in beremo različne parametre ter signale kodirnikov položaja. Poleg tega ima servokrmilnik možnost izbire krmiljenja navorov ali hitrosti z analognimi signali. Slika 3. Generalna arhitektura strojne opreme. Pomen okrajšav je: REF - krmilni signal za manipulator, PWR - napajalna linija za napajanje servokrmilnikov, ENC - signali kodirnikov položaja, EM.S - izklop v sili, MSG - sporočila varnostnega podsistema za xPC Target, WD - signal watchdog, STANJE - trenutno stanje krmilnika, NAČIN -uporabniška komanda, PRM - parametri, kijih definira uporabnik. V nadaljevanju članka je predstavljena generalna arhitektura strojne opreme (glej sliko 3), ki omogoča povezavo med krmilnikom xPC Target in servokrmilniki obeh manipu-latorjev. Ta je specifična in je razvita posebej za komuniciranje z Moto-manovima robotoma MH5, zato bi morali pri gradnji odprtega krmilnika kakega drugega robota te komponente odvzeti, dodati ali zamenjati. Generalna shema arhitekture je v celoti prikazana na sliki 3 in je sestavljena iz petih sklopov komponent: dveh robotskih manipulatorjev MH5, predelanega industrijskega robotskega krmilnika (predelava je bila predhodno opisana), strojnih vmesnikov in nizkonivojskega sistema varnosti (tu so bile vse elektronske komponente izdelane po meri in so namenjene preklapljanju med industrijskim krmilnikom in krmilnikom xPC Target), krmilnika xPC Target, na katerem teče operacijski sistem xPC Target v realnem času, ter glavnega računalnika, ki služi kot uporabniški vmesnik. 2.1 Gradnja krmilnika z odprto arhitekturo Na sliki 3 je prikazana celotna arhitektura strojne opreme, narejene po meri za predelan robotski krmilnik robotov, pri katerem so za krmiljenje manipulatorjev uporabljeni servokrmilniki z analognimi vhodi. Pri razvoju in izbiri strojnih vmesnikov je potrebno paziti na to, da so signali industrijskega krmilnika in krmilnika xPC Target med seboj galvansko ločeni, da je omogočeno hkratno preklapljanje vseh signalov med industrijskim krmilnikom in krmilnikom xPC Target ter da je branje signalov kodirnikov položaja iz absolutnih senzorjev pravilno. Poleg omenjenih situacij je potrebno ves čas delovanja skrbeti tudi za varnost in ob najmanjši napaki prekiniti delovanje krmilnika xPC Target. Za vse omenjene težave smo razvili strojne vmesnike po meri in jih združili v sklop strojnih vmesnikov in nizkonivojskega varnostnega sistema (glej sliko 3). Pri branju signalov kodirnikov položaja je potrebno paziti, da so ti pri vseh dvanajstih servokrmilnikih pravilno preusmerjeni h krmilniku xPC Target, v katerem so nameščene kartice za zajemanje signalov kodirnikov položaja MC PCI-QUAD04 (Measurement Computing Corporation, MC), ki omogočajo branje pozicij iz senzorjev. Za pravilno pošiljanje absolutnih vrednosti kotov v sklepih je med oba krmilnika postavljena serijska komunikacija, ki med procesom inicializacije skrbi za pridobivanje začetnih vrednosti kotov iz absolutnih kodirnikov položaja, nameščenih v sklepih obeh manipulatorjev. Za pretvarjanje izračunanih krmilnih signalov hitrosti ali navora je uporabljenih več osemkanalnih 12-bitnih kartic MC PCI-DAS08 z analognimi vhodi. Pravilno krmiljenje in preklapljanje med kontrolnimi signali krmilnika xPC Target in signali industrijskega krmilnika je izvedeno s predhodno omenjenimi strojnimi vmesniki. Za vse digitalne linije, namenjene branju in nastavljanju operacijskih in varnostnih parametrov, so v krmilniku xPC Target uporabljene kartice MC Pa-DAS08 z 48 I/O digitalnimi linijami in MC PCI-DIO96H z 96 I/O digitalnimi linijami. Za zajemanje analognih signalov je uporabljena kartica MC Pa-DAS1002, ki ima 16 vhodnih kanalov. V krmilniku xPC Target se nahaja tudi vmesniška kartica JR3, ki jo uporabljamo za zajemanje podatkov sile/navora in pospeškov, izmerjenih s senzorjem, pritrjenim v prijemalu robota. Programiranje in razvoj krmilnika v celoti potekata na razvojnem računalniku z uporabniškim grafičnim vmesnikom. Ko je program na razvojnem računalniku razvit, ga prevedemo in preko mreže pošljemo krmilniku xPC Target. Razvojni računalnik in krmilnik xPC Target ves čas delovanja komunicirata preko mrežne povezave, kar omogoča, da uporabnik nastavlja vse krmilne signale preko uporabniškega grafičnega vmesnika (glej sliko 3). Preko njega je mogoče tudi branje vseh sporočil, ki so povezana s kontrolo in varnostjo krmilnika. Na glavni računalnik je možno poleg običajne tipkovnice priklopiti še miško s šestimi stopnjami prostosti ali haptična robota Omega Haptic. 2.2 Varnostni mehanizmi Zaradi sodelovanja manipulator-jev in človeka predstavlja varnostni mehanizem krmilnega sistema najpomembnejšo komponento pri gradnji krmilnikov po meri. Še posebej pride varnostni mehanizem do izraza, ko sta človek in manipulator v fizičnem kontaktu in med seboj ves čas sodelujeta. V takšnih primerih mora biti zaradi zaščite človeka in opreme v vsakem trenutku zagotovljena varnost operacije. Nizkonivo-jsko varnost je treba zagotoviti mehansko in ne programsko. Med razvijanjem krmilnikov po meri moramo ves čas razvoja testirati in vrednotiti strojno in programsko opremo, pri čemer smo običajno omejeni s sredstvi in časom. Zaradi tega si je potrebno pri izvedbi varnostnih mehanizmov pomagati na najboljši možni način glede na dana sredstva in čas. V našem primeru je varnost razdeljena na tri varnostne nivoje. Prvi je implementiran na krmilniku xPC Target in bi v normalnih okoliščinah moral zaznati vse nepravilne situacije, ki se dogodijo med delovanjem krmilnika xPC Target. Vendar pa je resnici na ljubo ta nivo najbolj podvržen napakam in se nanj ne moremo vedno zanašati. Drugi varnostni nivo je implementiran v servokrmilniku in skrbi, da med krmiljenjem aktuatorjev v sklepih manipulatorjev ne prihaja do napak. Servokrmilnik ob napaki nemudoma ustavi krmiljenje aktuatorjev in pošlje sporočilo v obliki alarma. Tretji varnostni nivo je implementiran med krmilnikom xPC Target in servokrmilniki in je razvit po meri iz elektronskih komponent. Varnostni mehanizem ves čas delovanja primerja varnostne signale, ki signalizirajo pravilno delovanje servokrmilnikov in krmilnika xPC Target. Ob napaki enega od teh signalov mehanizem v hipu prekine z izvajanjem operacij in vklopi proceduro izklopa v sili. Poleg vseh treh opisanih varnostnih mehanizmov je uporabniku na voljo tudi tipka za izklop v sili ali tipka za omogočanje delovanja. Ob pritisku na prvo krmilnik v hipu preneha delovati, medtem ko je potrebno imeti drugo za nemoteno delovanje krmilnika ves čas pritisnjeno. ■ 3 Zaključek Vsekakor je veliko vzrokov, ki govorijo v prid razvoja po meri narejenih krmilnikov, saj so standardni industrijski krmilniki običajno zaprti in uporabniku nedostopni. Ne glede na nekatere omejitve, ki jih kljub optimizaciji še imajo mehanske konstrukcije robotov, pa so prav krmilniki tisti, ki omejujejo razvoj in gradnjo zahtevnejših robotskih aplikacij. Rešitev se pokaže v razvoju krmilnikov po meri, ki jih je možno optimizirati sebi v prid. S krmilniki po meri sta možna hitrejši razvoj zahtevnejših nalog robota in aplikacij z integracijo senzorjev, ki delujejo v realnem času. Z možnostjo razvijanja zahtevnejših naprednih aplikacij dobivajo roboti dodano vrednost, zato je možno takšne robote s pridom uporabiti tudi v izobraževalne namene. Po drugi strani pa se tudi v industrijskem okolju pojavlja vse več zahtevnih nalog, ki jih z obstoječimi industrijski krmilniki ni moč izvesti. Iz vsega tega lahko zaključimo, da je gradnja in izbira prave strojne in programske opreme ključna za hiter in uspešen razvoj kompleksnejših aplikacij. Literatura [1] T. Kröger, B. Finkemeyer, S. Winkelbach, S. Molkenstruck, L.-O. Eble, F. M. Wahl, "A Manipulator Plays Jenga", IEEE Robotics and Automation Magazine, str. 79-4, 2008. [2] F. Pertin, J. B. D. Tuves, "Real time robot controller abstraction layer", Proceeding of the International Symposium on Robotics ISR 2004, Paris, France, 2004. [3] High-speed Robot Synchoronous Control Software Specifications, Yaskawa Electric Coropration, Robotic Division, January 2009. [4] J. Rejc, J. Cinkelj, M. Munih, "Di- mensional measurements of a gray-iron object using a robot and a laser displacement sensor", Robotics and Computer-Integrated Manufacturing, vol. 25, str. 155-167, 2009. [5] I. Verdenik, B. Šolar, Z. Balorda, B. Švab, "Robotski programski jezik LIRA", Elektrotehniški ve-stnik, 56, št. 1, str. 83-87, 1989. [6] R. Kamnik, D. Matko, T. Bajd, "Ap- plication of model reference adaptive control to industrial robot impedance control", J. in-tell. robot. syst, vol. 22, no. 2, str. 153-163, June 1998. [7] A. Bardorfer, M. Munih, A. Zupan, A. Primozic, "Upper limb motion analysis using haptic interface", IEEE/ASME Transactions On Mechatronics, vol. 6, str. 1-9, 2001. [8] R. Riener, J. Hoogen, M. Ponikvar, R. Burgkart, M. Frey, G. Schmidt, "Orthopädischer trainingssimulator mit haptischem feedback (orthopaedic training simulator with haptic feedback)", Automatisierungstechnik, vol. 50, str. 296-303, 2002. [9] M. Ponikvar, J. Hoogen, M. Mu- nih, G. Schmidt, R. Riener, "Haptic environment for analysis of smooth arm movements", Proceedings of ICAR 2003, The 11th International Conference on Advanced Robotics, Co-imbra, Portugal, str. 173-178, 2003. [10] J. Podobnik, M. Munih, "Haptic interaction stability with respect to grasp force", iEeE Transactions On Systems, Man, And Cybernetics-Part C: Applications And Reviews, vol. 37, str. 12141222, 2007. Open Architecture xPC Target Based Robot Controllers for Industrial and Research Manipulators Abstract: Industrial robot manipulators have reached a stage where their mechanical characteristics are well optimized. However, industrial hardware and software control architectures are rarely open for sensor integration. In order to overcome these constraints, custom-designed hardware interfaces and software algorithms need to be designed. The paper summarizes the implementation of open architecture xPC Target based robot controllers for industrial and research manipulators. Custom hardware solutions are presented. Keywords: Motoman industrial robot MH5, xPC Target based robot controller, sensor integration, Yaskawa servo amplifiers