Systemy wizyjne w sterowaniu napędami
Marcin Bieńkowski print
Nie trzeba nikogo przekonywać o tym, że najważniejszym zmysłem człowieka jest wzrok. Również w automatyce przemysłowej czujniki optyczne, podzespoły wizyjne czy system rozpoznawania obrazu zaczynają odgrywać coraz większą rolę.
Systemy rozpoznawania obrazu wykorzystuje się w wielu dziedzinach przemysłu. Obecnie różnego rodzaju podzespoły wizyjne stosuje się przede wszystkim w procesach kontroli jakości produkcji, gdzie szybko rozpoznają i pomagają oddzielić wybrakowane elementy. Dzięki swojej szybkości i niezawodności działania są szczególnie przydatne podczas kontroli jakości produkcji taśmowej i wielkoseryjnej. W procesach tych pozwalają maksymalnie wykorzystać możliwości produkcyjne nowoczesnych maszyn, urządzeń i linii produkcyjnych. Jednak to nie jedyne ich zastosowania.
Identyfikacja, sterowanie i wizualizacja
Systemy rozpoznawania obrazu mają ogromne znaczenie w logistyce, w tym w logistyce produkcji. Pozwalają one na automatyczną identyfikację i śledzenie elementów na wszystkich etapach procesu produkcyjnego i magazynowego. Systemy wizyjne, dzięki możliwości rozpoznawania kształtów, kodów jedno- i dwuwymiarowych oraz znaków alfanumerycznych, potrafią bezbłędnie identyfikować elementy i narzędzia wykorzystywane w procesie produkcji. Oczywiście możliwa jest nie tylko sama identyfikacja, ale – dzięki połączeniu systemów wizyjnych z systemami automatyki przemysłowej i infrastrukturą IT przedsiębiorstwa – także automatyczne dostarczanie elementów i narzędzi do gniazd produkcyjnych, sterowanie przepływem produkcji, automatyczne przezbrajanie urządzeń zgodnie z aktualnym zapotrzebowaniem i zamówieniami, a także zbieranie różnorodnych informacji i przekazywanie ich do firmowego systemu ERP, SCADA czy Business Intelligence.
Systemy wizyjne dają też ogromne możliwości związane z samą kontrolą procesów przemysłowych. Dzięki temu, że są w stanie przekazywać w czasie rzeczywistym informacje o procesie produkcyjnym do sterowników lub komputerów przemysłowych mogą bezpośrednio (na zasadzie sprzężenia zwrotnego) kierować procesem produkcji, eliminując na bieżąco błędy, wychwytując nieprawidłowości czy wadliwe elementy. Co więcej, jak już wspomniałem, informacje rejestrowane przez systemy wizyjne mogą w czasie rzeczywistym trafiać do systemów wizualizacji procesów przemysłowych.
Na uwagę zasługuje też możliwość współpracy systemów wizyjnych z robotami przemysłowymi. Dzięki nim robot zyskuje „orientację” w przestrzeni, a także możliwość rozpoznawania obiektów – o czym szerzej za chwilę. Najczęściej w aplikacjach przemysłowych system wizyjny wykorzystywany jest do określenia typu produktu oraz jego pozycji w układzie współrzędnych robota. Chodzi tu przede wszystkim o aplikacje typu pick&place, w których elementy spełniające bądź niespełniające określonych wymagań pobierane są przez robota bezpośrednio z systemu transportowego i przekazywane do następnego etapu procesu produkcji lub eliminowane z dalszej obróbki (stanowią tzw. braki). Co ciekawe, element wizyjny może być tutaj zamontowany zarówno na układzie transportowym, w miejscu montażu produktu lub np. na ramieniu robota.
Z kolei jeśli chodzi o samą orientację robota w przestrzeni, to w tym przypadku system wizyjny najpierw rejestruje obraz i na podstawie jego analizy określa pozycję obiektu względem manipulatora robota. Na podstawie tych danych sterownik robota określa kierunek oraz odległość, jaką ramię robota powinno pokonać, by zbliżyć lub oddalić się od obiektu. Oczywiście wszystkie te informacje porównywane są w czasie rzeczywistym z danymi pochodzącymi z enkoderów, dzięki czemu zawsze znane jest dokładne położenie elementów ramienia robota oraz odległość względem omijanego obiektu lub przedmiotu, do którego ma zbliżyć się ramię robota.
Klasyfikacja elementów optycznych
Zanim przejdziemy do wykorzystania systemów wizyjnych w sterowaniu, warto na chwilę zatrzymać się przy klasyfikacji elementów optycznych. Obecnie oferowane na rynku systemy optyczne zaklasyfikować można do jednej z czterech następujących kategorii:
- czujniki wizyjne (ang. vision sensors),
- inteligentne kamery (ang. smart camera),
- zintegrowane systemy wizyjne (ang. embedded vision systems),
- systemy wizyjne współpracujące z komputerami PC (ang. PC-based vision systems).
Pierwsza grupa, czyli czujniki wizyjne, to stosunkowo proste i niedrogie samodzielne urządzenia, które zintegrowane zostały z układem optycznym takim jak np. soczewka lub obiektyw i w wielu przypadkach z systemem oświetlenia (np. diodami LED). Umożliwiają one szybką rejestrację, a następnie dalszą analizę obrazów. Czujniki wizyjne wyposażone są we wszystkie niezbędne interfejsy służące do komunikacji z urządzeniami zewnętrznymi. Czujnikiem wizyjnym może być np. prosta kamera rejestrująca jedynie obraz i wysyłająca go do dalszej analizy w zewnętrznym sterowniku.
W przypadku inteligentnych kamer element analizujący obraz oraz czujnik wizyjny połączone zostały w jeden system, który zamknięto we wspólnej obudowie kamery. W odróżnieniu od czujników wizyjnych, analiza i przetwarzanie obrazu jest możliwa bezpośrednio wewnątrz urządzenia dzięki zastosowaniu procesorów sygnałowych DSP, jednostek CPU lub układów SoC (ang. System-on-Chip). Tego typu czujniki obrazu wykorzystuje się przede wszystkim do lokalizacji elementów, nadzoru nad pakowaniem, kontroli montażu oraz przede wszystkim do odczytu kodów kreskowych, kodów 2D, znaków itp. Inteligentne kamery wyposażone są w różne interfejsy komunikacyjne (np. Ethernet, EtherCAT, Modbus, CANopen), pozwalające na swobodną komunikację. Często możliwe jest również ich samodzielne programowanie.
Klasyfikacja sensorów w zależności od stopnia ich zintegrowania
Zintegrowane systemy wizyjne to z kolei samodzielne urządzenia lub częściej systemy przetwarzania obrazu, do których można podłączyć kilka czujników wizyjnych. Pozwalają one na wykonywanie bardziej skomplikowanych zadań związanych z przetwarzaniem obrazu. Często umożliwiają nie tylko komunikację z innymi elementami systemu automatyki, ale również samodzielne sterowanie elementami wykonawczymi. Standardowo mają zaimplementowane biblioteki podstawowych algorytmów przeznaczonych do przetwarzania różnego rodzaju obrazów w czasie rzeczywistym oraz do obróbki danych wideo. Oczywiście w większości przypadków taki zintegrowany system wizyjny można samodzielnie przeprogramować, pamiętając jednak przy tym, że z uwagi na specyficzny charakter zastosowań tego typu systemów charakteryzują się one zawsze w pewnym stopniu ograniczoną elastycznością.
Za przykład zintegrowanego systemu wizyjnego mogą posłużyć dwa systemy F500 i F210ETN firmy Omron. Oba przystosowano do pracy w sieci i wyposażono w porty Ethernet. Dzięki nim możliwy jest nie tylko szybki transfer informacji obrazowej, ale również danych kontrolnych i parametrów sterujących. Możliwa jest także rejestracja obrazu przez oba systemy w celu jego późniejszej analizy. Są one w stanie współpracować z dwiema kamerami cyfrowymi, przy czym system F500 przystosowany został do współpracy z kamerami wysokiej rozdzielczości (1024 × 1024 px). Podobnie jak w przypadku pozostałych systemów wizyjnych firmy Omron, oba urządzenia wyposażono w bezpośredni, ławy w obsłudze graficzny interfejs użytkownika (GUI), który upraszcza uruchamianie i konfigurowanie systemu. W obu urządzeniach zaimplementowano algorytmy umożliwiające rozpoznawanie pisma – OCR (ang. Optical Character Recognition) oraz narzędzie do wykrywania krawędzi – EC (ang. Edge Code), które pozwala na bardzo dokładną lokalizację obiektu.
Ostatnią grupę stanowią systemy wizyjne bazujące na komputerze klasy PC. Jak można się domyślić, systemy te wyróżniają się największą elastycznością, dzięki czemu można je wykorzystywać w znacznie szerszym zakresie zastosowań. Dzięki znacznie większej mocy obliczeniowej, którą dysponuje komputer, bez problemu można zaimplementować nawet najbardziej skomplikowane algorytmy analizy obrazu. Dodatkowo możliwe jest korzystanie z programów pozwalających na obróbkę i analizę obrazu przez człowieka, dzięki czemu taki system może mieć znacznie szersze spektrum zastosowań niż tylko prowadzona w czasie rzeczywistym automatyczna analiza obrazów i podejmowane na jej podstawie przez system automatyki decyzje.
Możliwości sterowania napędami
W systemach automatyki przemysłowej systemy wizyjne wykorzystuje się przede wszystkim w dwóch obszarach związanych bezpośrednio ze sterowaniem – wizyjnej kontroli i identyfikacji, w której elementy są klasyfikowane do dalszych operacji pod kątem m.in. poprawności montażu czy rodzaju wyrobu oraz kontroli położenia.
W przypadku kontroli i identyfikacji system pomiarowy podaje jedynie informację zwrotną o tym, czy dany przedmiot spełnia ustalone wcześniej założenia (odpowiedni kod identyfikacyjny, kształt, wielkość itp.). Na tej podstawie podejmowana jest decyzja co do działania. W zintegrowanych systemach wizyjnych sterownik elementów wizyjnych bardzo często wyposażony jest w szereg (nawet kilkadziesiąt) wejść i wyjść cyfrowych pozwalających bezpośrednio sterować napędami (falownikami), stycznikami, elektrozaworami, sygnalizatorami kontrolnymi, sygnałami akustycznymi itp. Dzięki temu możliwe jest podjęcie akcji, np. przesunięcie przedmiotu na alternatywną drogę transportową czy wyeliminowanie go z dalszej produkcji poprzez skierowanie do pojemnika z brakami produkcyjnymi. W razie powtarzających się wad możliwe jest m.in. zasygnalizowanie obsłudze problemów dźwiękowo i wizyjnie, a nawet zatrzymanie linii produkcyjnej. Warto wspomnieć, że właśnie do śledzenia jakości produkcji można wykorzystać dostępne w wielu sterownikach systemów wizyjnych funkcje trendów realizowane w czasie rzeczywistym. Pozwalają one na zdefiniowanie wartości granicznych oraz alarmów związanych z występowaniem zbyt dużej liczby braków.
Sterowniki w systemach wizyjnych pozwalają też realizować funkcję kompensacji położenia w czasie rzeczywistym. Chodzi tutaj o to, żeby podczas pomiaru wizyjnego przedmiot znajdował się w ściśle określonym położeniu (np. kod na butelce nie był z drugiej strony). Obraz z kamery poddawany jest analizie i w razie wystąpienia błędów w pozycjonowaniu przedmiotu można skompensować położenie poprzez translację. Przy tworzeniu własnego systemu wizyjnego przydatna jest możliwość tworzenia makropoleceń i niestandardowych schematów przebiegu operacji. Coraz częściej standardem staje się również możliwość bezpośredniej współpracy systemu wizyjnego ze sterownikami PLC.
Przykładem systemów wizyjnych pozwalających przesyłać dane wprost do sterownika PLC jest rodzina sterowników GEVA firmy Teledyne DALSA. Najbardziej zaawansowany model – GEVA-3000, to w pełni funkcjonalny komputer przemysłowy bazujący na niskonapięciowym procesorze Intel Core i7 i jest w stanie zarządzać obsługą wielu kamer jednocześnie. W kontrolerze wykorzystano do podłączania kamer sześć niezależnych portów Gibabit Ethernet, dzięki czemu ograniczono do minimum możliwość powstawania wąskich gardeł związanych z jednoczesnym dostarczaniem danych z wielu źródeł sygnału wizyjnego w przemysłowych aplikacjach korzystających z wielu kamer jednocześnie.
Innym systemem wizyjnym dostosowanym do bezpośredniej współpracy ze sterownikami PLC, kontrolerami ruchu oraz systemami sterowania robotów jest Omron FH. System ten został skonstruowany pod kątem współpracy z wszelkiego typu szybkimi maszynami produkcyjnymi. Możliwości te osiągnięto dzięki zastosowaniu specjalnych algorytmów wizyjnych, czterordzeniowemu procesorowi i szybkiej komunikacji EtherCAT. W ten sposób wszystkie informacje z systemu wizyjnego są przekazywane w czasie rzeczywistym do sterownika PLC lub kontrolera ruchu.
Wizyjne naprowadzanie maszyn
W zastosowaniach przemysłowych kontrola położenia oparta na przetwarzaniu obrazów jest najczęściej elementem szerszego zagadnienia związanego z dziedziną widzenia maszynowego (ang. machine vision), a mianowicie wizyjnego naprowadzania maszyn. Dzięki temu procesowi możliwe jest uzyskanie geometrycznego, pełnego lub częściowego, opisu sceny, a co za tym idzie bezpiecznego planowania i realizowania sterowania ruchem. Najczęściej takie widzenie maszynowe realizowane jest w sterowaniu robotami przemysłowymi.
W większości aplikacji przemysłowych robot wymaga jednoznacznego zdefiniowania swojej pozycji w przestrzeni, zdefiniowania danych o niezmiennym otoczeniu, informacji o pojawieniu się przedmiotu oraz danych o pozycji obiektu, który ma zostać przetworzony przez robota. Innymi słowy warunki pracy robota muszą być ściśle zdefiniowane i niezmienne. Wyposażenie robota w system wizyjny, który sprzężony jest z jego układem sterującym, umożliwia robotowi pracę w niezdefiniowanym wcześniej środowisku. Niezależnie od tego, w jaki sposób pojawiają się przedmioty czy przeszkody robot jest w stanie je zidentyfikować, rozpoznać i podjąć decyzje co do dalszego przetwarzania. W przypadku robota mobilnego możliwe staje się przemieszczanie w nieznanym otoczeniu.
Użycie czujników wizyjnych w zastosowaniach wykorzystujących roboty przemysłowe związane jest przede wszystkim ze stopniem skomplikowania zadań. System wizyjny jest bowiem w stanie dostarczyć do systemów sterowania robotem jednoznacznych informacji o aktualnym stanie przetwarzanego przedmiotu lub realizowanego procesu – począwszy od kontroli pobrania, orientacji w przestrzeni, detekcji kolizji, a na odłożeniu czy paletowaniu gotowego wyrobu skończywszy.
Standardowym przykładem integracji robota z urządzeniami wizyjnymi do określenia typu produktu oraz jego pozycji w układzie współrzędnych robota są aplikacje typu pick&place. W tego typu zastosowaniu elementy pobierane są bezpośrednio z transportu i przekazywane do następnego etapu procesu produkcji, a każdy z nich kontrolowany jest przez system wizyjny korzystający z jednej lub kilku kamer. Drugim typem aplikacji jest wykorzystanie systemu lub czujnika wizyjnego do kontroli cech obiektu podczas jego przetwarzania przez robota przemysłowego. W tego typu aplikacjach kamera może być zamontowana na układzie transportowym, w miejscu montażu produktu oraz – co ma miejsce coraz częściej – na samym ramieniu robota.
Systemy wizyjne rozpoznawania obrazu 3D, w tym specjalne kamery 3D, mogą też posłużyć do dynamicznego wyboru i wyznaczania trajektorii ruchu robota. Dzięki temu ramię robota nie musi poruszać się ściśle po uprzednio wyznaczonej przez inżynierów trajektorii, ale ruch ten może być optymalizowany np. względem pojawiających się w przypadkowy sposób – przykładowo ułożonych na taśmie transportowej – przedmiotów. Wizyjne systemy 3D coraz częściej pojawiają się również w zrobotyzowanych aplikacjach spawalniczych. Wyposażony w nie robot jest wówczas w stanie sam kontrolować powstającą spoinę, a także reagować na nierównomierności szczeliny spawalniczej lub na złe ułożenie spawanych elementów. Może też sam wykrywać położenie otworów czy znaczników na spawanych elementach.
Kamerom i systemom wizyjnym współpracującym z robotami bardzo często towarzyszą różnego rodzaju czujniki, w tym zaawansowane czujniki optyczno-laserowe. Na przykład bardzo często przy realizacji zadań wymagających od robota dużej precyzji działania stosuje się kamery ze skanerami laserowymi. Skanery te pozwalają bowiem precyzyjnie określić objętość, kształt czy rozmiary przetwarzanego przedmiotu na podstawie złożenia profili otrzymanych w trakcie skanowania obiektów laserem. W ten sposób robot dostaje informacje o dokładnym, trójwymiarowym kształcie obiektu. Systemy laserowe lub optyczne współpracujące z systemem wizyjnym mogą też posłużyć m.in. do precyzyjnych pomiarów odległości.
Co ciekawe, w prostszych aplikacjach czujniki laserowe i optyczne w wielu przypadkach mogą z powodzeniem zastąpić system wizyjny wykorzystujący algorytmy wykrywania krawędzi. Czujnik laserowy umieszczony na ramieniu robota skanuje wówczas z określoną rozdzielczością powierzchnię obiektu. Skanowanie trwa do chwili, dopóki nie zostanie zmierzona różnica wysokości większa niż ustalona wcześniej wartość. Wykrycie takiego punktu oznacza znalezienie poszukiwanej krawędzi.
Zastosowanie przemysłowych systemów wizyjnych
Jak widać, pomiary wizyjne mogą być nie tylko narzędziem inspekcyjnym, kontrolującym jakość produkcji, ale również w dużym stopniu pozwalają sterować produkcją. Dzieje się tak za sprawą możliwości połączenia systemów wizyjnych bezpośrednio ze sterownikami PLC, a także sterownikami odpowiedzialnymi za realizację funkcji napędowych. Co ważne, w przeciwieństwie do tradycyjnych czujników fotoelektrycznych, wykrywających jedynie obecność, czujniki wizyjne potrafią także analizować kolor, kształt, rozmiar czy pozycję obiektu, które to informacje są przydatne w procesie sterowania. Pozwala to także na objęcie polem widzenia szerszego lub, w zależności od potrzeb, węższego obszaru. Możliwość zmiany ogniskowej, włączenia oświetlenia oraz pozycji i punktu patrzenia kamery pozwalają objąć nadzorem cały obszar stanowiska roboczego, gniazda produkcyjnego lub kontrolowanego obszaru linii transportowej. Trójwymiarowe systemy wizyjne umożliwiają zaś precyzyjne sterowanie ruchem ramienia robotów przemysłowych.
Współczesne czujniki wizyjne są w stanie komunikować się z kontrolerem lub komputerem za pomocą standardowo wykorzystywanych w przemyśle magistral komunikacyjnych, takich jak np. sieć Ethernet. Siecią tą można przesyłać duże ilości danych na temat rejestrowanych obiektów wewnątrz całego przedsiębiorstwa. Zastosowanie w systemach wizyjnych wyjść i wejść cyfrowych z rozszerzonymi możliwościami komunikacyjnymi, współpracujących np. z kontrolerami wieloosiowymi czy sterownikami PLC, pozwala użytkownikom bez problemu dostosować system wizyjny do kontroli produkcji czy sterowania dowolną linią produkcyjną.
Niestety systemy wizyjne nie są tanie. Dlatego ich zastosowanie, zwłaszcza w systemach sterujących, musi zostać poprzedzone dokładną analizą kosztów, wyników oraz szacunkami czasu zwrotu inwestycji. Zastosowanie tego typu rozwiązań do sterowania produkcją jest najbardziej efektywne w produkcji wielkoseryjnej i masowej. Eliminujemy wówczas możliwość wystąpienia nieplanowanego błędu, który mógł pojawić się z winy człowieka. Tak więc z biznesowego punktu widzenia system wizyjny może być potraktowany jako zaawansowane technicznie narzędzie do redukcji kosztów.
Tam, gdzie istnieje ryzyko związane z zatrzymaniem całej linii produkcyjnej lub wręcz unieruchomienia produkcji opłaca się korzystać z najbardziej rozbudowanych i najbardziej zaawansowanych systemów wizyjnych, które będą w stanie wyeliminować pojawiające się przypadkowo błędy. Koszt takiego systemu wykorzystywanego w sterowaniu np. robotami spawalniczymi może zwrócić się już po roku eksploatacji. Jeżeli system wizyjny ma kontrolować np. poprawność montażu i sterować liniami transportowymi w zależności od jakości wykonanych elementów, wówczas wystarczą proste, tanie i szybko instalowane systemy. W ten sposób zminimalizuje się nie tylko cenę samego zakupu sprzętu, ale również koszty prac przygotowawczo-wdrożeniowych, ułatwi się jego serwis, a jeżeli systemy będą pracować w podobnych warunkach, łatwiejsza będzie również konfiguracja sprzętowa stanowiska, jego oprogramowanie oraz samo sterowanie przez system wizyjny elementami wykonawczymi.
source: Automatyka 1-2/2016