A SANXO-Systems Kft. és a SANXO-Innovation Oy finn cég olyan innovatív szoftverrel jelent meg a piacon, amelynek használata ergonomikus, egyszerű, általa a képfeldolgozó technika jobban érthetővé válik, ezáltal a technológia közelebb kerül a termelésben dolgozó mérnökökhöz és technikusokhoz. A szoftver a National Instruments LabVIEW Vision Development Module képfeldolgozó függvényein alapul, amely függvénytár egyike a piac legjobb algoritmusainak.
A Modular-X rendkívül sokrétű felhasználásra alkalmas a méret, forma, termékazonosítás - ID, OCR és minőségellenőrzés területén (6. ábra). Használata ergonomikus, egyszerű, ugyanakkor hatékony megoldást nyújt a bonyolultabb optikai mérés vagy ellenőrzés megvalósításában. Nagy előnye a modularitás: bármilyen extra modul könnyedén hozzáadható. Nyílt interfésszel rendelkezik, meghívható más fejlesztőkörnyezetből, beágyazható LabVIEW kódba és működik TestStand környezetben. A szoftver új változata – amely Modular-X 2.1 néven fut – hivatalosan a múlt év végén debütált a Stuttgartban megrendezett Vision 2011 világkiállításon, ahol több kameragyártó is komoly alternatívaként kezelte a könnyen használható szoftvert.
A szoftvercsomag
1. ábra: Kliens-szerver működés
A Modular-X a National Instruments által fejlesztett LabVIEW programozási nyelven íródott, és a LabVIEW és
a Vision Development Module függvényeit használja és kínálja föl a felhasználó számára könnyen kezelhető formában. A programcsomag két részből áll:
A Creatorban minden megtalálható, ami egy optikai méréshez szükséges. A program menüje logikus felépítésű, követi egy reális optikai mérés sorrendjét.
Képbeolvasás és kalibrálás
2. ábra: A logikusan felépített menüsor
Ha a felhasználó balról jobbra halad a 2. ábrán megjelenített függvénypalettán, akkor láthatja, hogy az első lépés (Acquire Images) a képbeolvasást végzi egy képalkotó eszközről, vagy szimulációs lépésként képeket olvas be egy kiválasztott könyvtárból. A Modular-X sokféle kamerát támogat, köztük az IDS uEye, Ximea CURRERA-R kompakt és egyéb USB, FireWire, GigE típusokat. A sok mérés megköveteli a kamerák kalibrálását annak érdekében, hogy mérési adatokat valós mértékegységekben lehessen kiértékelni (például mm-ben vagy mikronban), de a kalibráció nem csak ezt a célt szolgálja. Segítségével lehetőség nyílik a perspektivikus és nemlineáris torzítások – például a 3. ábrán látható hordótorzítás – kiküszöbölésére.
3. ábra: Hordótorzítás (bal) és a kalibráció által korrigált kép (jobb)
Előfeldolgozás
A képbeolvasást követi az úgynevezett előfeldolgozás vagy szűrés (Image Enhancement). Ezek a függvények a felhasználók számára lényeges információk kiemelésére szolgálnak. Lehetőség nyílik képsimító, binarizáló, élkihangsúlyozó eljárások (4. ábra), objektumszűrők használatára.
4. ábra. Élkihangsúlyozás elött (bal) és utána (jobb) Laplace-operátor (2D-s szűrő) alkalmazásával
Képi információk kiértékelése
Miután megtörtént a kép előfeldolgozása, a különböző kereső algoritmusok és mérések használatával (Locate Features, Check of Presence és Measure Features) megkezdődhet a képen lévő információk kiértékelése (5. ábra). Jellemzően először a terméket keressük meg a képen. Ehhez a lépéshez számtalan kitűnő algoritmus nyújt segítséget (Match Pattern, Golden Maching, Geometric Matching). A legtöbb standard képfeldolgozó eljárás könnyen érthető egy mérnök vagy technológus számára. Minden – az általános 2D-s ipari képfeldolgozásban használt – eljárás megtalálható, köztük olyanok, mint a különböző éltípusok és objektumok keresése, minta és koordinátarendszer illesztése, geometriai műveletek (kör- és egyenesillesztés) és különféle mérőeszközök használata (például távolságmérés, intenzitás- és kontrasztmérés).
5. ábra. Egy csatlakozó minőségellenőrzése és a Modular-X kezelőfelülete
Információfeldolgozás
6. ábra. A matematikai modul
Ha a kiértékelés után keletkezett információ további feldolgozást igényel, akkor ehhez nyújt segítséget a matematikai modul (6. ábra). Itt megtalálhatók a trigonometrikus, exponenciális, logaritmus és a statisztikai függvények is. Miután az eredmények rendelkezésre állnak, a Quality mérnökök specifikációja szerint eldönthetik, hogy a mérési adatok függvényében a vizsgált tárgy megfelel-e a vele szemben előírt minőségi elvárásoknak vagy sem. Ezeket a lépéseken belül a limitek megadásával vagy az alkalmazásba programozói eszközökkel elágaztatásokat beiktatva lehet megvalósítani. Ezenfelül a Modular-X-ben ciklusok is szervezhetők, amellyel lehetőség nyílik bonyolultabb szekvenciális mérések implementálására is (7. ábra). A ciklikus mérési eredményeket indexálhatjuk is a könnyebb-egyszerűbb kiértékelés érdekében.
7. ábra. Elágaztatás és ciklusszervezés
Párhuzamos képfeldolgozás
Amennyiben az alkalmazás több kamera párhuzamos futtatását kívánja meg, úgy a Modular-X-ben futtatható párhuzamos méréssorozatokkal (session) ez megvalósítható. Ha a feldolgozóegység több processzorral rendelkezik, úgy a különböző sessionok automatikusan külön processzoron futnak.
Kommunikáció
Mivel a Modular-X ipari környezetbe szánt szoftver, egy automatizált rendszerben tudni kell kommunikálnia a gyártósorokon lévő – a gyártási folyamatba beavatkozó és irányító – programozható logikai vezérlőkkel. A Modular-X támogatja a National Instruments által gyártott digitális I/Okártyákkal megvalósított, soros-vonali (RS232) és az Ethernet kommunikációt is. Ezáltal – a mérés eredményétől függően – lehetőség nyílik a termelési folyamatba történő beavatkozásra. Ezenkívül a nyílt LabVIEW interfész bármilyen egyedi vagy sztenderd kommunikációs protokoll futtatását lehetővé teszi.
Termékazonosítás
8. ábra. Kétdimenziós, ECC-200-as kód olvasása
Manapság egy optikai mérőrendszerrel szemben már egyre több helyen elvárás, hogy a termelésben képes legyen egy terméket azonosítani. Erre kínál megoldást a kódolvasó lépés, amellyel lehetőség nyílik vonalkódok és DTM-kódok (Barcode és Data Matrix) olvasására (8. ábra). A megoldás nagy előnye, hogy egy kameraeszközzel és egy kiértékelő PC-vel egy lépésben lehet megtenni a termék azonosítását és a termék minőség-ellenőrzését, így jelentős költséget takaríthatunk meg.
Nyílt interfész
Érdemes kiemelni a program nyitottságát. A felhasználó saját kódját, megoldását hozzá tudja adni a rendszerhez, utat biztosítva a nyílt, rugalmas és a legjobb egyedi megoldásokhoz.
Rendszer-alrendszer, gyors fejlesztési lehetőség
A Modular-X programot lehet futtatni szerver-kliens architektúrában, lehet TestStand-ből meghívni, de emellett – amennyiben a gépi látás és kiértékelés, mint részfeladat van jelen egy projektben –, a Modular-X modult, mint egy alrendszer, be lehet ágyazni egy nagyobb LabVIEW alkalmazásba. A Modular-X Fejlesztői Csomag használatának nagy előnye, hogy lényegesen lerövidül a fejlesztésre fordított idő, továbbá a mérés betanítását, vagyis a session létrehozását továbbra is könnyedén megtehetjük Modular-X Creatorral (editor). Ezután a fejlesztői csomag segítségével a Modular-X Creatorban elkészített és beállított méréssort (session) közvetlenül hívhatja saját LabVIEW fejlesztői környezetében. A Modular-X Fejlesztői Csomag számos előre elkészített VI-t tartalmaz, amelyek segítségével a képfeldolgozási folyamat explicit vagy implicit módon is kezdeményezhető a felsőbb LabVIEW program futásától függően. A mérési adatok kinyerése is rendkívül egyszerűen történik. A lépés nevére hivatkozva visszakapjuk a mérés eredményeit. Így lehetőség van utólagosan újra kiértékelni, illetve felülbírálni a sessionban beállított PASS/ FAIL kondíciókat.
9. ábra. Modular-X session futtatása fejlesztői környezetben
Összegezve:
A Modular-X széles körben alkalmazható, rendkívül rugalmas és hatékony képfeldolgozási megoldás a gyártás során felmerülő minőségi problémák automatikus detektálására. Nagy előnye a logikus felépítettség és a könnyű használhatóság, ugyanakkor a sokrétű függvényeknek, a párhuzamosan futtatható szálaknak (session) és ciklusba szervezhetőségnek köszönhetően szinte bármilyen feladatra be lehet tanítani.