Ewelina Kosicka, ewelina.kosicka@pollub.edu.pl Politechnika Lubelska, Wydział Mechaniczny Mgr. inż. Sylwester Korga, s.korga@pollub.pl Politechnika Lubelska, Wydział Podstaw Techniki, Katedra Podstaw Techniki Dr hab. Dariusz Mazurkiewicz, prof. PL, d.mazurkiewicz@pollub.pl Politechnika Lubelska, Wydział Mechaniczny, Katedra Podstaw Inżynierii Produkcji PROTOTYPOWANIE WALIDACYJNYCH ALGORYTMÓW DLA PRZEMYSŁOWYCH SYSTEMÓW WIZYJNYCH Streszczenie: W artykule przedstawiono informacje na temat przemysłowego wykorzystania systemów wizyjnych. Opisano rodzaje systemów wizyjnych, obszar ich zastosowania, a także sprzęt wymagany do ich zbudowania. Przy wykorzystaniu programu LabView opracowano również algorytm umożliwiający sterowanie oświetleniem pola roboczego. Słowa kluczowe: systemy wizyjne, szybkie tworzenie aplikacji, LabView. PROTOTYPING OF VALIDATION ALGORITHMS FOR INDUSTRIAL VISION SYSTEMS Summary: In this article have been presented information connected with industrial vision systems. The kinds of vision systems, area of their usage and also the equipment needed for their building have been characterized. The algorithm created in LabVIEW control the illumination of the working area has been edited. Keywords: vision systems, rapid application development, LabView.
WSTĘP Rozwój systemów produkcji oraz zachodzące w nich dynamiczne zmiany są efektem wdrażania nowoczesnych technologii. Zwiększająca się złożoność systemów produkcyjnych wymaga stosowania coraz to nowszych, szybszych i dokładniejszych metod weryfikacji zarówno wykonywanych operacji, jak również samych produktów. Zadaniem przemysłowych systemów kontrolnych jest wykrycie w jak najwcześniejszym etapie wszelkich błędów w produkcji, jak i wad półproduktów lub produktów finalnych. Dlatego systemy walidacyjne wykorzystujące aparaturę pomiarową i kontrolną wspierane są niejednokrotnie przez systemy wizyjne. Takie systemy wykorzystane w punktach kontrolnych linii produkcyjnych opierają się na walidacyjnych algorytmach dopasowanych do charakteru produkcji. Różnorodność systemów produkcyjnych wymusza indywidualne podejście do prototypowania i dostosowania oprogramowania oraz zakresu wymagań sprzętowych dla systemów wizyjnych. W artykule przedstawiono nowe podejście do budowy i rozwoju systemów wizyjnych dla początkujących, jak i doświadczonych programistów, które wynika z potrzeby opracowania algorytmu umożliwiającego sterowanie oświetleniem pola roboczego. PRZEMYSŁOWE SYSTEMY WIZYJNE Niedokładność narzędzi oraz maszyn wykorzystywanych na poszczególnych etapach produkcji, a także nieuniknione defekty materiałów obrabianych są źródłem powstających błędów. Ich wykrycie oraz podjęcie kroków mających na celu ograniczenie występowania tego typu błędów pozwala na minimalizację kosztów ponoszonych w związku z usterkami i wadami produkcyjnymi. Oprócz oszczędności uzyskanych przez eliminację strat, producent zyskuje lepszą jakość oferowanych produktów, przez co zwiększa swoją konkurencyjność na rynku. Istnieje wiele sposobów kontroli systemów produkcyjnych, jednak wśród najczęściej spotykanych wymienia się manualne porównywanie przez pracowników elementów wytwarzanych w odniesieniu do norm bądź przy zastosowaniu odpowiednich szablonów. Możliwe jest również wykorzystanie specjalnych urządzeń dedykowanych do kontroli, wśród których przewagę osiągają systemy wizyjne wykorzystujące oprócz odpowiedniego sprzętu wdrożony algorytm pozwalający na dokonywanie analizy obrazu [2]. Jedną z licznych operacji wspieranych systemem wizyjnym jest montaż. Wymaga on umiejętności identyfikacji elementów, która stawia wyzwania związane szczególnie z
odpowiednią orientacją przedmiotów w przestrzeni. W tym przypadku istotne są informacje dotyczące między innymi: - pozycji i orientacji, - rozmiarów obiektu, czy też - czasu potrzebnego do analizy obrazu. Systemy wizyjne odgrywają istotną rolę na stanowiskach sortowania. Podobnie jak przy montażu kluczową rolę pełni tu prawidłowe określenie orientacji elementu. Sortowanie ma duże znaczenie w przypadku nieuporządkowanego ułożenia obiektów powstałego na skutek transportu. Wśród celów zastosowania systemów wizyjnych wymienia się między innymi: - polepszenie jakości wytwarzanych produktów wynikające ze zwiększonej kontroli operacji oraz części, - zwiększenie wydajności produkcji, - ograniczenie powstawania odpadów, - zmniejszenie liczby stanowisk ręcznej kontroli, itp. Lokalizowanie i rozpoznawanie obiektów wymaga od systemów wizyjnych posiadania informacji o cechach obiektu łącznie z dozwolonymi odchyleniami od normy. Podstawowym kryterium rozpoznawania elementów jest zwykle kształt, jednak rozpoznawanie odbywa się również poprzez analizę kolorów czy oznaczeń (napisów) [6]. PROTOTYPOWANIE ALGORYTMÓW SYSTEMÓW WIZYJNYCH Do głównych składników systemów wizyjnych zaliczyć należy przede wszystkim kamery, jako urządzenia akwizycji danych w formie obrazu. Odpowiedni ich dobór decyduje o dokładności i funkcjonalności wykonanego systemu wizyjnego. Ponadto, innymi niezbędnymi komponentami sprzętowymi systemów wizyjnych są również: oświetlacz (stosowany wówczas, gdy obiekt nie emituje światła), obiektyw (korzystający niekiedy z filtrów), sterowniki, komputer z oprogramowaniem. Analizując konfigurację układu oraz moc przetwarzania danych, wyróżnia się trzy podstawowe typy przemysłowych systemów wizyjnych. Do pierwszego z nich zalicza się
czujniki wizyjne. Łączą one kamerę z procesorem. Dość często wyposażone są w narzędzia pozwalające na kontrolę m.in. kształtu, detekcji krawędzi czy jasności. Drugą grupę reprezentują kamery inteligentne, które posiadają zintegrowany system łączący kamerę i komputer. Praca z nimi odbywa się przy wykorzystaniu własnego systemu operacyjnego opracowanego przez producenta. Realizowany przez nie zakres funkcji jest bardzo szeroki począwszy od analizy usterek, pomiarów geometrycznych czy powierzchni, po pozycjonowanie robota, aż do kontroli kompletności wyrobów. Ostatnia grupa to kamera połączona z oddzielnym komputerem. Pomimo, iż tak powstały system wizyjny jest uważany za najtrudniejszy pod względem realizacji, to oferuje on największą elastyczność, a co za tym idzie najszersze możliwości. Wymaga on jednak opracowania specjalistycznego oprogramowania dla indywidualnych potrzeb producenta. Alternatywą wobec komercyjnych rozwiązań może być autorska aplikacja wykonana przy użyciu programu LabView i modułu Ni Vision Builder firmy National Instruments [1]. Interaktywne środowisko programowe vision -IMAQ Vision Builder, w połączeniu z bibliotekami oprogramowania Vision IMAQ i środowiska tworzenia aplikacji, takich jak LabView - jest podstawą nowego podejścia do koncepcji i rozwoju oprogramowania. Otwiera przed wykonawcą systemu wizyjnego możliwość wykonania programów alternatywnych do tych komercyjnych, istniejących już na rynku. Dodatkowo pozwala opracować autorskie algorytmy odpowiadające specyfice wykorzystania systemu. Dzięki temu modułowi możliwe jest opracowanie i wykorzystanie systemów wizyjnych jako narzędzia pomiarowego i kontrolnego. W ten sposób wykonane oprogramowanie może wykorzystywać zmysły wzroku człowieka lub samoistnie podejmować działania zgodnie z wcześniej zaprogramowanym algorytmem. Prototypowanie algorytmów opiera się na wykorzystaniu programowania obiektowego w kategorii RAD (z ang. rapid application development) wykorzystującego język programowania Labview-G. Proces prototypowania i testowania analizy wizyjnej opiera się na wykorzystaniu modułu Builder Vision, który dzięki intuicyjnemu interfejsowi i możliwości wykorzystania funkcji pomiarowych, logicznych i porównawczych, może szybko nauczyć się korzystać z funkcji widzenia pola roboczego. Odczytywane dane z obrazów mogą być porównywane z danymi zawartymi w bazach danych. W zastosowaniach przemysłowych produkcji, baza obrazów może zawierać wadliwe i dobre komponenty w zależności od zastosowań systemu. Ponadto, ważne jest, aby przetestować wiarygodność uzyskiwanych wyników końcowych z obrazami, które zostały uzyskane na podstawie różnych warunkach oświetleniowych, ponieważ oświetlenie pola roboczego może zmieniać się w zależności od pory dnia lub
warunków środowiskowych stanowiska pracy. W celu wyeliminowania tego typu problemu opracowano algorytm umożliwiający sterowanie oświetleniem stanowiska systemu wizyjnego. Widok schematu blokowego pokazano na rysunku 1. Rys. 1. Diagram blokowy wykonany w programie LabView Powyższy schemat blokowy opiera się na zainicjowaniu i wczytaniu sygnału z jednego z dostępnych urządzeń wejścia- w tym wypadku kamery. Po wyborze urządzenia akwizycji obrazu ustalana jest jego konfiguracja oraz referencje. Zostaje ustalona wejściowa sesja akwizycyjna sygnału, który następnie jest przechwytywany i trafia do bufora programu. Poszczególne klatki obrazu trafiają z bufora do pętli while gdzie następuje ich wczytanie i wyświetlenie w formie obrazu. System sterowania oświetlenia został zbudowany w oparciu o sterownik Arduino Mega 2560. W fazie uruchomienia aplikacji następuje inicjalizacja urządzenia polegająca na wskazaniu rodzaju karty sterownika i portu komunikacji COM. Druga faza pracy polega na zdefiniowaniu pinów wejścia/wyjścia. W tym wypadku zdefiniowano jeden port wyjściowy o charakterze cyfrowym i numerze 13. Dzięki temu umożliwiono ciągłą konfigurację cyfrowego zapisu pinu 13 przez użytkownika. Opracowany interfejs operatora pokazano na rysunku 2.
Rys. 2 Widok na interfejs użytkownika PODSUMOWANIE Opisany w artykule algorytm może być rozbudowywany w miarę potrzeb procesu kontrolnego o różnorodne funkcje przetwarzania obrazu bez znaczących nakładów finansowych. Wykorzystanie prototypowania RAD pozwala na szybkie budowanie systemów wizyjnych, które mogą przybierać formę aplikacji przemysłowych i naukowych wykorzystywanych w różnych gałęziach przemysłu. Opracowane oprogramowanie może pracować w trybie on- line co zapewnia możliwość pracy w sieci. Tego typu systemy wizyjne z powodzeniem wykorzystywane są przez wiele profesjonalnych firm. Dodatkowo do systemów można zaimplementować układy logiczne, dzięki którym możliwe jest podejmowanie decyzji i sterowanie aplikacją z ograniczonym udziałem człowieka. Zatem można stwierdzić, że obiektowy język programowania G pozwala tworzyć interaktywne narzędzia, które wypełniają lukę pomiędzy pomiarami sygnałów a pomiarami obrazów.
LITERATURA 1. Aftewicz M.: Metodyka projektowania przemysłowych systemów wizyjnych. http://www.systemywizyjne.pl/pliki/metody-projektowania-psw.pdf 2. Bogusz J.: Systemy wizyjne dla przemysłu. Elektronika Praktyczna 4/2007. 3. Gołaszewski M.: Czujniki wizyjne Omron-inteligentne doglądanie linii produkcyjnej, Elektronika Praktyczna 3/2009. 4. Kania M.: O systemach wizyjnych.http://systemywizyjne.raport.xtech.pl/artykul.aspx?id=systemy_wizyjne_wi edza&pg=print. 5. Syryczyński A., Dunaj J., Wawerek Z., Szawłowski A.: Zintegrowany system wizyjny kontroli wytwarzania. PAR 12/2001, str. 51-56. 6. Tadeusiewisz R.: Systemy wizyjne robotów przemysłowych. Wydawnictwa Naukowo-Techniczne, Warszawa 1992. SPIS RYSUNKÓW Rys. 1. Diagram blokowy wykonany w programie LabView... 5 Rys. 2 Widok na interfejs użytkownika... 6 LIST OF FIGURES Figure 1.Block diagram created in LabView Figure 2.User interfaceview