TwinCAT Vision. Przetwarzanie obrazów bezpośrednio w systemie sterowania

| Prezentacje firmowe Artykuły

Automatyczne wykrywanie, śledzenie i kontrola jakości produktów - to dzisiaj coraz ważniejsze zadania, które realizowane są na wszystkich etapach produkcji. Korzystanie z takich możliwości związane jest z dostępnością ekonomicznych kamer oraz wysokowydajnych komputerów przemysłowych, które pozwalają na wdrażanie systemów wizyjnych na dużą skalę. Ich użycie ma wiele zalet w porównaniu z kontrolą wzrokową realizowaną przez ludzi - systemy wizyjne działają w wysoce powtarzalny, deterministyczny sposób, zapewniają też możliwości szybkich pomiarów z dokładnością co do mikrometrów. Przedstawiamy przełom w omawianej dziedzinie - oprogramowanie TwinCAT Vision, które pozwala na pełną integrację układu wizyjnego z systemami sterowania dyskretnego, motion control i innymi.

TwinCAT Vision. Przetwarzanie obrazów bezpośrednio w systemie sterowania

W aplikacjach automatyki i sterowania zadania przetwarzania obrazów są tradycyjnie obsługiwane przez osobne systemy, których tworzenie jest nieraz zlecane odrębnym integratorom systemów. Również automatycy programiści zajmują się zwykle różnymi obszarami - sterowaniem dyskretnym, układami motion control, pomiarami, systemami bezpieczeństwa czy robotami przemysłowymi.

Dzisiaj możliwe jest łączenie tych zadań w jednym systemie sterowania i kontroli działającym na pojedynczym komputerze. Niemniej jednak systemy wizyjne nadal pozostają czarną skrzynką, którą stanowi osobny komputer przemysłowych o dużej wydajności, z osobnymi narzędziami i językami programowania. Ewentualnie używa się tutaj specjalnie skonfigurowanych kamer inteligentnych.

Minusem korzystania z oddzielnego systemu jest to, że wprowadzanie w nim nawet najmniejszych zmian wymaga udziału specjalisty z zakresu systemów wizyjnych. Dodatkowo w sytuacjach, gdy zaangażowany jest zewnętrzny integrator systemów, również know-how z tym związane pozostaje poza firmą.

Ponadto w przypadku rozdzielnych układów przetwarzania obrazów i sterowania konieczne jest stworzenie interfejsu do wymiany informacji pomiędzy nimi, co jest miejscem potencjalnego występowania błędów. W rezultacie trudno jest zagwarantować precyzyjne czasy przetwarzania obrazów. Mogą na nie wpływać zewnętrzne procesy w systemie oraz opóźnienia w transmisji danych, przez co istnieje prawdopodobieństwo, że informacje nie będą przesyłane do sterownika w wymaganym przez użytkownika czasie.

Nowe oprogramowanie TwinCAT Vision łączy dotychczas rozdzielne systemy w jeden obszar. Konfiguracja kamer odbywa się w tym samym środowisku co układów komunikacyjnych, systemów motion i sterowników. Do programowania systemu wizyjnego można używać standardowych języków dla PLC, wyeliminowane zostały również problemy związane z wymianą danych pomiędzy systemem przetwarzania obrazów i sterowania. Te ostatnie mogą bezpośrednio komunikować się ze sobą w czasie rzeczywistym, co otwiera zupełnie nowe pola ich zastosowań. Wszystko jest zintegrowane w jednym narzędziu i jednym środowisku uruchomieniowym TwinCAT.

ŁATWA KONFIGURACJA I KALIBRACJA SYSTEMU

Rys. 1. Architektura środowiska TwinCAT z uwzględnieniem modułu TwinCAT Vision

Automatyzacja typu PC-based pozwala na korzystanie z technologii i funkcji dostępnych w przypadku standardowych platform PC. Przykładem są te związane z wykorzystywanymi interfejsami. Standard branżowy GigE Vision, który bazuje na gigabitowym Ethernecie, zapewnia niezawodną i szybką transmisję danych z urządzeń wizyjnych.

TwinCAT Vision to z kolei sterownik obsługujący w czasie rzeczywistym interfejs ethernetowy, co umożliwia przesyłanie danych z kamer praktycznie bezpośrednio do pamięci sterownika. Dzięki wsparciu dla GigE Vision, TwinCAT Vision jest również systemem otwartym, umożliwiającym korzystanie z kamer od wielu różnych producentów.

Pierwszym krokiem uruchomienia systemu jest, po ustanowieniu połączenia z kamerą, zazwyczaj jej konfiguracja. Producenci kamer z GigE Vision udostępniają opis konfiguracji w formacie GenApi, zaś wbudowane w TwinCAT Vision narzędzie konfiguracyjne odczytuje te parametry i udostępnia je użytkownikowi. Zmiany konfiguracji, takie jak ustawienia czasów ekspozycji czy wybór analizowanych obszarów, mogą być łatwo wykonane, gdyż ich skutki można obserwować w czasie rzeczywistym na wyświetlanym obrazie.

TwinCAT Vision stanowi również narzędzie do kalibracji geometrycznej kamery, pozwalając określić parametry odwzorowywania obrazu na współrzędne rzeczywiste i odwrotnie. Umożliwia to powiązanie pozycji względnych w obrazach ze współrzędnymi rzeczywistymi, a także przekształcanie wyników pomiarów w pikselach na wartości metryczne. Oprogramowanie zapewnia też korekcję zniekształceń perspektywy oraz nieliniowych zniekształceń wprowadzanych przez obiektywy.

W celu kalibracji kamery wymagane jest użycie jednego lub więcej obrazów z odpowiednim wzorem kalibracyjnym. Mogą one być pozyskane bezpośrednio lub zaimportowane w postaci plików. Po określeniu wzorca odpowiednie parametry są obliczane automatycznie. Oprócz wykorzystania standardowych wersji 2D, takich jak szachownica oraz symetryczne lub asymetryczne koła, użytkownicy mogą również stosować własne wzorce. Alternatywnie do omawianego narzędzia, kalibrację kamery można również przeprowadzić bezpośrednio w sterowniku PLC.

AKWIZYCJA I PRZETWARZANIE OBRAZÓW

Fot. 1. Kalibracja systemu wizyjnego

Dane obrazowe są przesyłane bezpośrednio z kamery do pamięci sterownika poprzez interfejs GigE Vision. Aby je pozyskiwać, kamera musi znajdować się w stanie akwizycji obrazów i, zależnie od konfiguracji, musi być odpowiednio wyzwalana. Do tego ostatniego służy zawarty w oprogramowaniu blok funkcyjny FB_VN_GevCameraControl.

Jeżeli konieczne jest zapewnianie bardzo precyzyjnej synchronizacji, można skorzystać z modułu Beckhoff EL2262. Umożliwia on wyzwalanie z dokładnością do mikrosekund. Tego typu synchronizacja w czasie rzeczywistym sprawia, że akwizycja obrazów i kontrola pozycji osi mogą być ze sobą precyzyjnie skoordynowane. Takie potrzeby coraz częściej pojawiają się w aplikacjach automatyki dyskretnej.

TwinCAT Vision daje ponadto możliwość wykorzystania nowej biblioteki przetwarzania obrazów, która zawiera szereg gotowych algorytmów. Przykładowo podczas wstępnego przetwarzania obrazy mogą być skalowane lub konwertowane do pożądanej przestrzeni barwnej, zaś ich cechy charakterystyczne mogą być wzmacniane lub usuwane za pomocą funkcji filtrowania.

Obrazy można następnie binaryzować, korzystając z przetwarzania progowego, tak aby śledzić jedynie zmiany wynikowych konturów. Te ostatnie można filtrować w oparciu o ich charakterystyki, wybierając przykładowo odpowiednie obszary obrazów, które pozwalają na identyfikację obiektów oraz pomiary ich cech. Korzystając z uprzednio skalibrowanej kamery, istnieje możliwość przekształcania punktów charakterystycznych na koordynaty fizyczne, dzięki czemu dane o pozycji i inne można precyzyjnie podawać w wielkościach rzeczywistych.

Dzięki zintegrowaniu TwinCAT Vision ze środowiskiem czasu rzeczywistego TwinCAT czasy przetwarzania obrazów mogą być monitorowane za pomocą watchdogów. Analiza obrazów może być przykładowo przerywana po określonym czasie - wtedy użytkownik otrzymuje wyniki częściowe. Ponadto funkcje przetwarzania obrazów mogą być automatycznie przydzielane do wielu rdzeni procesora w celu ich równoległego przetwarzania. Takie zadania pozwalają w optymalny sposób skorzystać z możliwości wielordzeniowych udostępnianych w TwinCAT 3.

W przypadku analizy i wizualizacji wyników wszystkie dane mogą być przedstawiane w postaci obrazów. Wcześniej na obrazach mogą być też dodane różne informacje - przykładowo związane z pozycjami elementów, oznaczonymi kolorami konturami elementów czy adnotacjami "dobry/zły". Obrazy mogą być wyświetlane bezpośrednio w TwinCAT Engineering w tzw. ADS Image Watch lub, w przypadku użytkowników końcowych, w TwinCAT HMI.

ZINTEGROWANE STEROWANIE I PRZETWARZANIE OBRAZÓW

Fot. 2. Tworzenie programu z funkcjami przetwarzania obrazów

TwinCAT Vision łączy klasyczną technologię automatyzacji i sterowania z przetwarzaniem obrazów, co czyni omawiane rozwiązanie szczególnie przyjaznym dla użytkowników. Konfiguracja i kalibracja kamer odbywa się bezpośrednio w TwinCAT Engineering - nie są do tego wymagane żadne inne narzędzia. Przetwarzanie obrazów jest z kolei realizowane w oparciu o języki wykorzystywane do programowania PLC, tj. zgodne z normą IEC 61131-3 (PN-EN 61131-3).

Możliwe jest swobodne łączenie funkcji sterowania i przetwarzania obrazów. Dzięki pracy kamer w środowisku czasu rzeczywistego przechwytywanie obrazów oraz sterowanie dyskretne czy kontrola ruchu mogą być ze sobą w pełni zsynchronizowane.

Algorytmy przetwarzania obrazów wykonywane są w czasie rzeczywistym, zapewniając synchroniczne wykonywanie zadań i ich monitorowanie real-time za pomocą watchdogów. Nowe oprogramowanie korzysta z wielordzeniowych możliwości TwinCAT 3 do automatycznego wykonywania algorytmów obliczeniowych - jeżeli tylko dostępnych jest wiele rdzeni procesora, to są one używane. Do tego typu przetwarzania równoległego nie jest konieczne żadne dodatkowe programowanie po stronie użytkownika.

TwinCAT Vision jest rozwiązaniem skierowanym w szczególności do odbiorców poszukujących wydajnego systemu wizyjnego, który można połączyć z układem sterowania czy motion control. Dzięki pełnej integracji, TwinCAT Vision jest łatwy w obsłudze i programowaniu. Oczywiście nadaje się on również dla użytkowników, którzy potrzebują wysokiego stopnia synchronizacji pomiędzy układem wizyjnym a resztą systemu. Ponieważ opóźnienia w przetwarzaniu są wyeliminowane, zaś czasy pracy algorytmów ściśle monitorowane, system zapewnia szybką i w pełni deterministyczną pracę.

Obecnie wiele tradycyjnych zadań wizyjnych, takich jak wyszukiwanie elementów obrazów, rozpoznawanie wzorców lub pomiary części, może być z łatwością wykonywanych przy użyciu TwinCAT Vision. Z kolei dotychczasowi użytkownicy oprogramowania TwinCAT, oprócz wykorzystania możliwości związanych ze sterowaniem dyskretnym, motion control, robotyką i pomiarami, mogą również korzystać z funkcji przetwarzania obrazów. Wszystkie wymienione narzędzia są zintegrowane w systemie TwinCAT.

Beckhoff Automation
www.beckhoff.com/twincat-vision