Moderné riadiace systémy priemyselných robotov zahŕňajú rozšírene možnosti vývoja používateľského rozhrania pre riadenie a správu činností realizovaných robotom. Zohľadnenie špecifických požiadaviek širokého spektra aplikácií vytvára tlak na flexibilitu vývojového prostredia.
Jednou z možností je využitie PC SDK (Software Development Kit), nezávislého softvérového rozhrania pre PC, ktoré komunikuje s robotom cez sieťové rozhranie a používateľovi poskytuje funkcie prispôsobené na mieru.
VÝVOJOVÉ PROSTREDIE PC SDK
Jednotliví dodávatelia robotických technológií používajú vlastné vývojové prostredia s rôznou hĺbkou integrácie s riadiacim systémom robota. Technické možnosti aplikované v článku sú založené na technológii PC SDK spoločnosti ABB a riadiaceho systému robota IRC5. Vývojová sada využíva platformu.NET s možnosťou vývoja aplikácií v ľubovoľnom jazyku implementovanom v prostredí MS Visual Studio. Softvérová podpora je poskytovaná pre jazyky Visual Basic a C#.
Knižnice vývojovej sady kopírujú hlavné oblasti štandardného programovacieho rozhrania robota, sú rozdelené do kategórií podľa funkcionality na ovládanie pohybových funkcií, správy udalostí, vstupov, výstupov, súborového systému, autorizácie používateľov a ďalších. Prostredníctvom implementovaných funkcií je možné vytvoriť rozhranie pre robotické aplikácie, v ktorých nie je možné využiť štandardné postupy programovania. Môžu to byť aplikácie vyžadujúce dohľad operátora a jeho možnosť aktívne zasahovať do procesu v automatickom režime. Ako príklad môžeme uviesť korekcie trajektórie počas zvárania metódou TIG v kusovej výrobe.
V prípadoch, keď požiadavky na bezpečnosť pracoviska neumožňujú spustenie zariadení, ktoré sú nebezpečné pre operátora a zároveň nutné pre vytvorenie alebo korekciu trajektórie, sú využívané aplikácie trieskového obrábania a delenia materiálu.
Ďalším príkladom môžu byť aplikácie, kde z priestorových dôvodov nie je možné vytvoriť trajektóriu cez ovládací panel robota alebo v prípadoch, keď je trajektória tvorená veľmi krátkymi pohybmi na úrovni desatín milimetra a presnosť korekcie pri ručnom navádzaní robota nie je dostatočná.
Rozsah dostupných funkcií v rámci prostredia SDK ponúka široké možnosti jeho využitia na úrovni riadenia pohybov, komunikačného rozhrania, archiváciu výrobných údajov, sledovanie produkcie, kvality a veľa ďalších možností. V nasledujúcej časti predstavíme vzorovú štruktúru aplikácie pre frézovanie dosiek plošných spojov (PCB) s využitím prostriedkov SDK pre riadiaci systém robotov IRC5.
PRÍPADOVÁ ŠTÚDIA APLIKÁCIE PRE PC SDK
Na zefektívnenie výroby sú PCB (dosky plošných spojov) zoskupené v matici do väčšieho celku v závislosti na ich veľkosti. Procesom osádzania elektronickými komponentami a spájkovaním prechádzajú výrobným procesom v skupine. Následne je potrebné jednotlivé dosky oddeliť vhodnou technológiou. Jednou z možností je použitie frézky (obr. 1). Riešenie aplikácie ponúka dve alternatívy, stacionárna doska PCB s riadeným pohybom frézky, resp. stacionárny nástroj s manipulátorom pre dosku PCB. S ohľadom na využitie manipulátora v rámci riešenia logistiky vstupu, výstupu a odstránenia prebytočných častí dosky po frézovaní sa táto možnosť javí ako vhodnejšia.

Z pohľadu funkčnosti zariadenia a prevádzkových požiadaviek bolo identifikovaných niekoľko rizík, ktoré znemožňujú využitie štandardných postupov vytvorenia a modifikovania trajektórie robota. Aplikácia si vyžaduje vytvorenie používateľského rozhrania, prostredníctvom ktorého bude možné efektívne a komfortne využívať zariadenie.
Na základe uvedených požiadaviek je potrebné vytvoriť koncepciu grafického používateľského rozhrania (GUI) pre obsluhu pracoviska pozostávajúca z troch hlavných častí:
– databáza výrobných produktov,
– ovládanie komponentov zariadenia (pneumatické prvky, krokové motory, dopravníky, rozhranie pre riadiaci systém PLC...),
– režim učenia, vytvorenia a modifikácie trajektórie prostredníctvom PC SDK.
Riešenie databázy produktov a ovládanie komponentov zariadenia v rámci uvedenej aplikácie tvorí samostatnú kapitolu.
Z pohľadu funkčnosti sa ďalej budeme zaoberať návrhom riešenia robotickej úlohy.
V aplikácií je použitá online metóda programovania, ktorá operátorovi umožňuje okamžitú spätnú väzbu cez integrovaný kamerový systém, pevne spriahnutý s vretenom frézky. Poloha ohniska voči fréze je daná vektorom Vf , potom korekcia bodu trajektórie je daná súčtom aktuálnej polohy robota (ZR, YR, ZR) a vektora Vf .
Na základe predchádzajúcej úvahy, je možné vytvoriť jednotlivé body trajektórie v pozícii ohniska kamery a následne ich transformovať do súradnicového systému robota.

RIADENIE ROBOTA
Vývojové prostredie PC SDK implementuje viacero knižníc podľa zamerania na jednotlivé oblasti komunikácie s riadiacim systémom robota. Z pohľadu aplikácie sú najdôležitejšie:
• IO system domain: čítanie a zápis fyzických vstupov a výstupov;
• Motion domain: sprostredkováva informácie o mechanických častiach robota a rozširujúcich externých osí;
• File system domain: prístup k súborovému systému robota, správa súborov a adresárov.
Na výpise programu je hlavná programová slučka robota, ktorej beh nám umožňuje diskrétne riadenie pohybu. Algoritmus riadenia robota v programe spustenom na PC môžeme rozdeliť na tri kroky. V prvom kroku je potrebné zapísať požadovanú súradnicu do premennej pTeach, reprezentujúcu dátovú štruktúru robtarget. V druhom kroku potvrdíme ukončenie zápisu novej polohy cez premennú typu boolean s názvom bRelease nastavením jej hodnoty na true. V treťom kroku počkáme na vyvolanie udalosti zmenou digitálneho signálu DOstep, ktorá informuje program o dosiahnutí požadovanej polohy. Cyklickým opakovaním uvedených krokov môžeme robot presúvať do požadovanej polohy.
Implementácia algoritmu riadenia robota sa líši syntaxou požitého programovacieho jazyka platformy.NET.

VÝPOČET SÚRADNÍC TRAJEKTÓRIE
Na obr. 3 je ukážka grafického rozhrania s doskou PCB, ktorú drží robot v manipulačnej hlavici umiestnenú pred kamerou. Na zvýraznenie obrysových kontúr je v samostatnej hladine obrazu kamery vložený výkres dosky PCB načítaný z univerzálneho formátu dxf.

Pre výpočet presunutia robota na novú pozíciu je potrebné určiť mierku zobrazeného objektu vztiahnutú na fyzické rozlíšenie kamery. Mierka vyjadruje závislosť medzi rozlíšením kamery, použitého objektívu a vzdialenosťou objektu. Môžeme ju vyjadriť ako pomer počtu obrazových bodov a skutočnej vzdialenosti objektu:

kde: M – mierka [px/mm];
ΔPx a ΔPy – počet obrazových bodov v smere x a y [px];
S – vzdialenosť medzi dvomi bodmi na objekte [mm].
Polohu ľubovoľného bodu v obraze kamery k stredu osového kríža, ktorý určuje referenčný bod, môžeme určiť ako:

kde: Δx a Δy sú súradnice bodu vzhľadom na stred [mm];
Bx a By pozícia ukazovateľa v smere x a y [px];
Rx a Ry určuje celkový počet obrazových bodov kamery (rozlíšenie) v smere x a y [px].
Nové súradnice robota, ktoré sú určené ako relatívne posunutie od stredu osového kríža do-staneme súčtom aktuálnej polohy robota a Δx resp. Δy.

VYTVORENIE TRAJEKTÓRIE ROBOTA
Pre vytvorenie trajektórie je potrebné poznať syntax pohybového príkazu robota, ktorého kompletnú definíciu je možné nájsť v dokumentácii [1]. Pre zjednodušenie uvedieme rozklad príkazu z obr. 2, kde je na riadku 555 požiadavka na presun robota po priamke (MoveL) do bodu pTeach rýchlosťou 200 mm/s a s prechodovou zónou z0 o veľkosti 0 mm a nástrojom tool0, pričom poloha bodu pTeach obsahuje relatívne súradnice k súradnicovému systému „work object“ s názvom wobjPCB. Definícia prechodového bodu pTeach zahŕňa súradnice polohy [x, y, z] a definíciu orientácie, respektíve natočenia aktívneho nástroja voči bodu vyjadrenú zložkami quaternionu [q1, q2, q3, q4].
V prostredí c# by načítanie aktuálnej polohy a následný zápis požadovanej hodnoty do premennej pTeach mohol vyzerať nasledovne:

V riadku 10 je deklarovaná trieda rapidRobTarget typu RobTarget. V riadku 20 program načíta uloženú polohu bodu pTeach. Pretypovaním v riadku 30 získame požadované hodnoty, ktoré v riadkoch 40 – 60 upravíme podľa požiadavky. V našom prípade sme zmenili translačnú zložku pohybu, súradnice polohy X, Y a Z. V poslednom kroku zapíšeme aktualizované hodnoty do programu RS robota.
Prechodom cez požadované body trajektórie a ich uložením do vhodného textového formátu alebo databázy môžeme vytvoriť komplexnú trajektóriu robota. V prípade frézovania je potrebné určiť skupiny prechodových bodov, kde v prvom bode doplníme zahĺbenie frézy a v poslednom výbeh frézy z PCB. Pri generovaní trajektórie je možné zadávať aj ďalšie parametre, ako rezná rýchlosť a podobne. Rozsah možností závisí od implementácie funkcii PC SDK do obslužného programu.
ZÁVER
Stredová kružnica osového kríža reprezentuje priemer frézovacieho nástroja s priemerom 1,2 mm. Opakovateľná presnosť pohybu po priamke použitého priemyselného robota je 0,08 mm pri rýchlosti pohybu 1.6 ms-1. V uvedenom prípade obmedzujú technologické možnosti frézovania maximálnu rýchlosť pohybu na 0,01 ms-1, čím sa presnosť robota ešte zvýši. Reálne možnosti korekcie trajektórie robota pri ručnom prestavení sú rádovo horšie ako v prípade možností využitia kamery a prostriedkov PC SDK. Zdanlivo jednoduché rozšírenie riadiaceho systému, tak umožňuje využitie robotov v nových aplikáciách.
Možnosti vývojového prostredia SDK sú oveľa širšie, ako je možné uviesť v článku a dávajú priestor integrátorom na využitie nových prístupov pri tvorbe aplikácií nielen na úrovni pohybového systému, ale aj pri kontrole procesov, archivácii výrobných údajov, kontrole kvality a ďalších oblastí. Umožňuje on-line vyhodnocovanie parametrov pohybu ako sú dĺžka, rýchlosť a zrýchlenie, čím používateľ získava nástroj na optimalizáciu pracoviska.
Článok bol vypracovaný s podporou projektu Ministerstva školstva, vedy, výskumu a športu Slovenskej republiky VEGA 1/0670/15.
LITERATÚRA:
[1] ABB Flexible Automation, RAPID Reference Manual, Overwiev / System Data Types and Routines, 3HAC 7783-1/7774-1
[2] ABB AB Robotics Products, Application manual PC SDK 5.13, Document ID: 3HAC036957-001
[3] Záhonová, V.; Králik, M.: Aplikácia špeciálnych matematických metód pri riešení vybraných úloh strojárskeho charakteru. Slovenská technická univerzita, FX s. r. o., Bratislava 2008, ISBN 978 80 89313 38 9.
TEXT/FOTO ING. PETER SZAKÁLL, DOC. ING. MARIÁN KRÁLIK CSC., ING. MARTIN KOMÁK, STROJNÍCKA FAKULTA STU V BRATISLAVE, ÚSTAV VÝROBNÝCH SYSTÉMOV, ENVIRONMENTÁLNEJ TECHNIKY A MANAŽMENTU KVALITY