Pomocou techník strojového videnia vieme identifikovať objekt ­podľa zvolených viditeľných parametrov. Zjednotením systému ­s­úradníc snímaného obrazu a priemyselného robota sa dá určiť jeho presná pozícia. S využitím algoritmu trajektórie pre autonómny ­pohyb robota môžeme vykonávať manipuláciu a rôzne iné operácie s objektmi, čím by sme dosiahli cieľovo orientované správanie ­takéhoto systému.

Štruktúra systému

Základná štruktúra systému pozostáva z polohovacieho zariadenia, čo môže byť priemyselný robot alebo manipulátor, ktorý má predmety premiestňovať z jednej (východiskovej) pozície do druhej (konečnej). Systém je tiež vybavený kamerovým systémom, ktorý pozostáva z webovej kamery a rozpoznávacej aplikácie. Úlohou rozpoznávacej aplikácie je detegovať hľadaný objekt. Uchopenie jednotlivých predmetov manipulátorom je navádzané kamerou. Koncová pozícia sa určí na základe rozpoznávacej aplikácie podľa polohy detegovaného predmetu. Navrhovaný systém na využitie strojového videnia pri riadení polohovacieho zariadenia spočíva v tom, že celý systém bude riadený jednou riadiacou aplikáciou.

Tá bude pozostávať z dvoch základných častí:

  • z procesov spracovania obrazu, ako je rozpoznávanie, detegovanie snímaného objektu a z nasledujúcich procesov s tým spojených (rozpoznávacia aplikácia),
  • z procesov spojených s riadením polohovacieho zariadenia a jeho pohybom (aplikácia na riadenie robota).

Podľa informácie o súradniciach zachyteného objektu, získanej prostredníctvom spracovaného snímaného obrazu, čo predstavuje koncovú pozíciu efektora, a s využitím algoritmu na autonómne generovanie trajektórie efektora môžeme dosiahnuť plne automatizovanú činnosť takéhoto systému.

Riadiaci softvér robota s využitím strojového videnia

Pri riešení autonómneho polohovania s využitím strojového ­videnia vzniká niekoľko problémov. Jedným z najčastejších problémov sú vysoké nároky na výpočtový hardvér a softvér. V štandardných ­aplikáciách sa ako prostriedok snímania používajú komerčné ­kamery s citlivou optikou na detailné snímanie objektov, ktorých cena je neporovnateľne vyššia v porovnaní s navrhnutou koncepciou riešenia s využitím webovej kamery. Na jednoduché úlohy rozpoznávania a určovania pozície môže vyhovovať svojimi funkčnými ­parametrami. Ďalšou výhodou je, že disponuje USB (Universal Serial Bus) rozhraním, ktoré je bežne dostupné, a inštalácia ­ovládačov je jednoduchá.

V aplikáciách strojového videnia vznikajú problémy vo výbere ­nástrojov na spracovanie obrazu. Každú aplikáciu možno interpretovať ako kombináciu postupných elementárnych úloh. Tie môžeme riešiť pomocou nástrojov, ktoré obsahujú grafické knižnice. Výhodou grafických knižníc na rozdiel od grafických programov je možnosť vytvoriť si vlastnú aplikáciu. Obsahujú množstvo funkcií a široký výber nástrojov na interpretáciu obrazu. Riadiaci systém je softvérová aplikácia na PC, čo má zaručiť splnenie požiadaviek na výpočtový hardvér a vytvoriť dostatočné rezervy na zvyšovanie náročnosti úlohy. Veľkou výhodou je komplexnosť celého riadiaceho softvéru, ktorý zastrešuje niekoľko oblastí na ­riešenie celej úlohy.

Základnými sú procesy týkajúce sa spracovania a vyhodnocovania obrazu a riadenie priemyselného manipulátora, teda jeho pohyb. Medzi jednotlivými programami, z ktorých systém pozostáva, treba riešiť ich kompatibilitu. Komplexnosťou celého riadiaceho softvéru sa zabráni problémom s kompatibilitou jednotlivých podprogramov. Ďalším problémom, ktorý treba riešiť pri takejto úlohe, je kalibrácia súradnicového systému kamery so súradnicovým systémom robota. Informácia o presnej polohe alebo vzdialenosti objektu zistená spracovaním obrazu vyžaduje, aby bol súradnicový systém, v ­ktorom boli tieto údaje získané, identický so súradnicovým systémom, ktoré používa robot. Prakticky nikdy nemožno orientovať kameru tak, aby boli jej súradnice so súradnicami robota totožné.

Obraz môže byť natočený, skreslený perspektívou alebo ovplyvnený ďalšími rušivými vplyvmi. Aby sa systém súradníc zjednotil, rieši sa transformácia súradníc pohľadu kamery na súradnice robota. Na to treba navrhnúť algoritmus na správne určenie transformačných koeficientov. Tie môžu platiť len pre definovanú polohu kamery a snímanej scény. Pri každom presune kamery do novej polohy treba zmeniť transformačné koeficienty. Existuje niekoľko spôsobov a metód riadenia pohybu robotov a ­manipulátorov. Podľa informácie o súradniciach zachyteného ­objektu, získanej prostredníctvom spracovaného snímaného ­obrazu, čo predstavuje koncovú pozíciu efektora, a využitím metód riadenia pohybu treba navrhnúť algoritmus na autonómne generovanie ­trajektórie efektora.

Rozpoznávacia aplikácia

Pri tvorbe aplikácie bolo potrebné postupovať podľa dobre zvoleného poradia jednotlivých operácií, aby sa dosiahol požadovaný ­výsledok. V súčasnom štádiu aplikácia rozpoznáva jednotlivé ­objekty podľa požadovanej farby. V reálnom čase možno meniť ­paletu farieb a ­sledovať objekty podľa nich. Aplikácia je písaná v C#, kde som použil grafickú knižnicu Aforge.net. Ako prvé bolo potrebné získať video z webovej kamery, použiť filtráciu obrazu podľa zvolenej farby, filtrovať ostatné farby od požadovanej na čiernu, hľadať objekty danej veľkosti, nájsť najväčší objekt a nakresliť pozíciu objektu v bitmape. Softvér pracuje tak, že na začiatku začne vyhľadávať predvolenú farbu, ktorú možno meniť v reálnom čase. Stlačením tlačidla na výber farby sa otvorí okno s paletou farieb.

Potom si môžeme vybrať farbu a sledovať, či sa nachádza v snímanom obraze alebo nie. V aplikácií sú štyri zobrazovacie okná. Tri z nich sú tvorené kódom z grafickej knižnice Aforge a jedno je PictureBox. V prvom sa zobrazuje snímaný obraz, v druhom sú zvýraznené všetky zachytené objekty, tretie okno zobrazuje len najväčší zachytený objekt na čiernom pozadí a vo štvrtom okne sa vykresľuje symbol na mieste, kde je najväčší objekt lokalizovaný. Tiež je tam pridané okno richtextbox, v ktorom sa zobrazujú súradnice najväčšieho objektu. Aby bolo pochopené, ako fungujú filtre, použijem objekt červenej farby. V mojej aplikácii si môže používateľ zvoliť ľubovoľnú farbu a veľkosť sledovaného objektu.

Na detekciu farby som použil „euclidean filter“ a na extrahovanie dát„blobcounter“. V prvom rade sa vyberie hodnota farby. Pri modeli RGB je známe, že každá zložka farby má hodnotu od 0 do 255. Pre červenú farbu som zvolil hodnoty (215, 30, 30), z čoho je zrejmé, že hľadaná hodnota bude červená farba, pretože podľa modelu RGB má zložka červenej farby najvyššiu hodnotu 215, zelená a modrá má hodnotu 30. Potom som použil filter, kde budú všetky farby v intervale plusmínus 100 vyšpecifikované ako tá istá farba. Na obraze bude zobrazený detegovaný objekt vykreslený v obdĺžniku a okolie bude v čiernej farbe. Na detegovanie objektu je použitá funkcia „blobcount“, čo je trieda knižnice Aforge.

Aplikácia na riadenie robota

Aplikácia na riadenie robota je tiež písaná v C#, čím sa dosiahne jednoduché prepojenie s aplikáciou na rozpoznávanie objektov. Na komunikáciu PC s riadiacou jednotkou robota Mitsubishi RV-2AJ môže byť použité štandardné rozhranie RS-232C alebo ­sieťové ­rozhranie ethernet (TCPIP), ktorého výhodou je pripojenie k ­riadiacej jednotke cez internet a možnosť vykonávať úpravy a servis na veľké vzdialenosti. V prvej etape vývoja aplikácie je použité sériové rozhranie RS-232C. Dôležitým krokom pri riadení robota je dôkladné ovládanie ­interných príkazov na riadenie a kontrolu riadiacej jednotky robota a príkazov na riadenie robota pre príslušný programovací jazyk [9]. Pohyb robota sa zabezpečuje odosielaním jednotlivých príkazov. Aby sa získala informácia o aktuálnom stave robota, odosiela sa požiadavka v opakovanom intervale. Na obrázku je ukážka aplikácie na externé riadenie robota, testovaná na zariadení Mitsubishi RV-2AJ.

Záver

Článok sa zaoberá využitím strojového videnia pri riadení polohovacieho zariadenia. Opísaná je štruktúra systému a jeho základné časti, ako spracovanie obrazu a riadenie polohovacieho zariadenia. Predstavili sme navrhované riešenie kamerového systému, ktoré sa skladá z webovej kamery a rozpoznávacej aplikácie, ktorá pri spracovaní obrazu využíva grafickú knižnicu Aforge.net. Opísaná je aplikácia na externé riadenie robota, ktorá zabezpečuje pohyb polohovacieho zariadenia. Predkladané riešenie riadiaceho systému je tvorené z jednej softvérovej aplikácie, čím sa skráti čas potrebný na konfiguráciu jednotlivých podprogramov na riadenie čiastkových operácií.

Nasledujúcou etapou riešenia tejto úlohy by mala byť kalibrácia súradnicového systému kamery so súradnicovým systémom robota, návrh algoritmu na generovanie trajektórie a ďalšie úlohy, s ktorými môžeme docieliť autonómny pohyb polohovacieho zariadenia. Poznámka Projekt zo štrukturálnych fondov EÚ, operačný program Výskum a vývoj, opatrenie 2.2 Prenos poznatkov a technológií ­získaných výskumom a vývojom do praxe. Názov projektu Výskum a vývoj inteligentných nekonvenčných aktuátorov na báze umelých svalov ITMS kód 26220220103. Podporujeme výskumné aktivity na SlovenskuProjekt je spolufinancovaný zo zdrojov ES.

Literatúra

[1] Kragic, D. – Christensen, H. I.: Survey on Visual Servoing for Manipulation. Centre for Autonomous Systems, Numerical Analysis and Computer Science, Sweden.
[2] Havle, O. Strojové vidění I Principy a charakteristiky. Machine vision I: Principles and characteristics. In: AUTOMA 1/2008.
[3] Implementation of vision recognition to automatic sorting system/Vladislav Maxim – Kamil Židek (2008). In: Process Control 2008. Pardubice Univerzita Pardubice: 2008 P. C182b-1-C182b-8. ISBN 9788073950774.
[4] Vision recognition and application to MPS500 system = Različenijekartiny i jejo applikacija v sistem MPS 500/Kamil Židek – Vladislav Maxim – Jozef Kováč (2007). In: Machines, technologies, materials. No. 4 – 5 (2007), p. 66 – 69. ISSN 1313-0226
[5] Juršica, L. – Hubinský, P. – Kardoš, J. Robotika, Robotics. Bratislava Slovenská technická univerzita v Bratislave, Fakulta elektrotechniky a informatiky 2005.
[6] FCC Průmyslové systémy: Robot a strojové vidění. In: AUTOMA 3/2009.
[7] Virius M.:C# – Hotové řešení. Brno: Computer Press 2006. ISBN 80-251-1084-2.
[8] Mitsubishi Industial Robot, RV-1A2AJ Series, Robot Arm Setup & Maintenance, 2007, Tokyo, Japan, p. 462.
[9] Mitsubishi Industial Robot, RV-1A2AJ Series, Robot Arm Setup & Maintenance, 2007, Tokyo, Japan, p. 462. Mitsubishi Industial Robot, CR1/CR2/CR3/CR4/CR7/CR8/CR9 Controller, Detailed explanations of functions and operations, 2007, Tokyo, Japan, p. 72.

 

Ing. Miloslav Feriančik
miloslav.feriancik@tuke.sk

doc. Ing. Ondrej Líška, CSc.
ondrej.liska@tuke.sk

Technická univerzita v Košiciach
Strojnícka fakulta
Ústav špeciálnych technických vied
Katedra automatizácie, riadenia a komunikačných rozhraní