Zintegrowane systemy wizyjne na stanowiskach zrobotyzowanych

Choć pierwsze próby integracji stanowisk zrobotyzowanych z systemami wizyjnymi podjęto już w latach sześćdziesiątych ubiegłego stulecia, to dopiero teraz następuje ich istotny rozkwit. Systemy wizyjne stały się już wręcz standardem – wspierane przez nie roboty przemysłowe potrafią coraz więcej, a stosowane rozwiązania nabierają inteligencji.
Robot realizujący w fabryce określone operacje technologiczne staje się coraz częstszym widokiem. Wszędzie tam, gdzie odbywa się produkcja seryjna, gdzie panują ciężkie warunki pracy, gdzie wymagana jest wysoka precyzja, roboty zaczynają wyręczać pracowników. Czynnikiem mającym istotny wpływ na postęp w robotyzacji procesów przemysłowych i produkcyjnych jest też rosnąca inteligencja rozwiązań technicznych na stanowiskach zrobotyzowanych. Nie są to co prawda jeszcze w pełni autonomiczne stanowiska, ale charakteryzują się już elementami pozwalającymi na uelastycznienie procesu technologicznego. Robot nie musi mieć precyzyjnie spozycjonowanego detalu – dzięki wsparciu odpowiednich systemów potrafi bowiem znaleźć obiekt, uchwycić go i operować nim w sposób uzależniony od tego, jakiego typu operacje ma wykonać i z jakim detalem.
Wszystko to jest możliwe dzięki rozwojowi robotyki przemysłowej i zintegrowanych systemów sensorycznych, które pozwalają robotom „widzieć” otoczenie i „czuć” działające na nie siły. To, co jeszcze dziesięć lat temu było uznawane za fanaberię i ekstrawagancję na rynku robotyki – a więc wszelkiego rodzaju zintegrowane systemy wizyjne, obecnie staje się niemal standardem. Można przewidywać, że kolejne lata przyniosą nowe rozwiązania w tym obszarze. Rozwój metod sztucznej inteligencji pozwoli na znaczne uproszczenie implementacji algorytmów i procedur związanych z wykorzystaniem systemów wizyjnych, a cena tych ostatnich znacząco spadnie – co z kolei wpłynie na ich szeroką popularyzację.
Obecnie na stanowiskach zrobotyzowanych, wyposażonych w zaawansowane systemy sensoryczne (systemy wizyjne, czujniki siły), pracuje tylko 10% robotów wykorzystywanych w przemyśle. Patrząc jednak na trendy pojawiające się na rynku, związane z koniecznością uelastycznienia produkcji i poszerzenia zakresu zastosowań robotów (roboty kolaboracyjne – współpracujące z operatorem, użytkownikiem), można się spodziewać, że już niebawem wskaźnik ten wyraźnie wzrośnie.
Integracja systemów wizyjnych na stanowiskach zintegrowanych

Mnogość producentów robotów i producentów systemów wizyjnych sprawia, że można zaobserwować kilka zasadniczych podejść do integracji systemów wizyjnych z robotami. Z jednej strony istnieją rozwiązania uniwersalne, które stały się niemal standardem, jeśli chodzi o wykorzystanie w robotyce przez większość producentów robotów (czego najlepszym przykładem od wielu już lat jest firma COGNEX). Z drugiej, funkcjonują rozwiązania opracowane specjalnie dla tych zadań, rozwijane od podstaw i wspierające tylko jedną platformę sprzętową (jak ma to miejsce w przypadku firmy FANUC). Każda z opcji ma zarówno zalety, jak i wady. Każda narzuca też pewne ograniczenia, których waga uzależniona jest od charakteru danego stanowiska zrobotyzowanego.
Decydując się na wykorzystanie rozwiązania uniwersalnego, użytkownicy otrzymują do dyspozycji bardzo szeroką gamę systemów wizyjnych, inteligentnych kamer i czujników wizyjnych, których parametry można dobierać w sposób adekwatny do realizowanego zadania. Istotne jest w tym momencie, jak bardzo zaawansowanych rozwiązań potrzeba, a także wysokość przeznaczanych na to funduszy. Należy jednak pamiętać, że rozwiązania uniwersalne wymagają znacznie większych nakładów pracy podczas integracji, niż ma to miejsce w przypadku systemów dedykowanych.
Przez ostatnie lata sytuacja w zakresie wykorzystania rozwiązań uniwersalnych znacząco się poprawiła. Stało się tak przede wszystkim ze względu na przygotowanie przez producentów systemów wizyjnych gotowych rozwiązań, ułatwiających konfigurację połączenia pomiędzy elementami systemu wizyjnego a robotem (firma COGNEX opracowała i udostępniła na swoich stronach dokumentację oraz sterowniki pozwalające na łatwą integrację z robotami takich firm, jak ABB, Denso, FANUC, Kawasaki, KUKA, Motoman czy Stäubli, jak również komunikację z robotami Mitsubishi, Adept oraz EPSON). Ponadto proces integracji wsparli producenci robotów, którzy ze swojej strony przygotowali pomoc programistyczną i systemową. Niektóre firmy (np. ABB, YASKAWA Motoman) do tego stopnia wplotły w swoje produkty rozwiązania firmy COGNEX, że jedynie po bliższym zapoznaniu się z rozwiązaniem zintegrowanego systemu wizyjnego można dostrzec fakt, że gdzieś tam w aplikacji drzemie ukryte serce systemu wizyjnego COGNEX (rys. 1). Stopień integracji posunięty jest już tak daleko, że elementy zintegrowanej wizji występują nawet w środowiskach wirtualnych do programowania robotów, jak ma to miejsce w przypadku firmy ABB i udostępnianego przez nią środowiska RobotStudio.
Inną metodę integracji systemów z robotami stanowi wariant, w którym sterownik systemu wizyjnego jest zintegrowany ze sterownikiem robota, a funkcja kamery sprowadza się jedynie do roli czujnika odczytującego sygnał wizyjny. Rozwiązanie takie pozwala na minimalizację gabarytów kamery oraz wykorzystanie wspólnej pamięci do wymiany danych pomiędzy systemem wizyjnym a systemem sterowania robota. Czujnik wizyjny w tym przypadku stanowi integralny element robota przemysłowego, a informacja pochodząca z niego może być za pośrednictwem sieci przekazywana również do innych robotów, pracujących na danym stanowisku. W tym rozwiązaniu integracja przebiega także w warstwie oprogramowania umożliwiającego programowanie robota w trybie offline. Pozwala to na łatwiejsze zapoznanie się z systemem wizyjnym i dostępnymi narzędziami oraz umożliwia programowanie systemu w jednym wspólnym środowisku.
ABB: pełna symbioza
Jak już wspomniano, wielu producentów robotów oferuje opcje zapewniające kompletne rozwiązania programowe i sprzętowe, w pełni zintegrowane ze sterownikami robotów (np. ABB z kontrolerem IRC5). W przypadku firmy ABB zintegrowany system wizyjny bazuje na wspomnianej już rodzinie kamer firmy COGNEX (COGNEX In-Sight® 7000 series) z wbudowaną funkcją obróbki obrazu i ethernetowym interfejsem komunikacyjnym.
W środowisku RobotStudio zastosowano aplikację programistyczną z pełną fun-kcjonalnością produktu firmy COGNEX (COGNEX EasyBuilder®). Ponadto język programowania robotów został wyposażony w szereg instrukcji, które wspomagają użytkowników w tworzeniu aplikacji wykorzystujących informację wizyjną.
Kamera systemu wizyjnego jest tu zasilana napięciem 24 VDC ze sterownika robota, a robot może być jednocześnie wyposażony w trzy kamery. Do uruchomienia zintegrowanej wizji wymagany jest FlexPendant typu SxTPU3 oraz środowisko RobotStudio 32 bit, co najmniej w wersji 5.60 (obecnie dostępna jest wersja 6.03).

Korzystając więc ze środowiska RobotStudio, użytkownik może w sposób prosty i intuicyjny zaprogramować i przetestować proces wizyjny, jak również połączyć go z przygotowanym wcześniej programem sterującym robotem.
Co „widzą” roboty KUKA

Podobnie jak większość producentów robotów, firma KUKA zdecydowała się na wykorzystanie w swoim rozwiązaniu sprawdzonych i dobrze wszystkim znanych produktów firmy COGNEX. Integracja w tym przypadku obejmuje zarówno warstwę sprzętową, jak i programową, jednak zrealizowano ją zupełnie inaczej niż w prezentowanym wcześniej rozwiązaniu ABB. Kamera podłączana jest bezpośrednio do portu w sterowniku robota, a rozwiązanie umożliwia wyświetlanie obrazu na panelu SmartPad, dzięki czemu istnieje możliwość przeprowadzenia procesu kalibracji przy wykorzystaniu samego robota.

Oprogramowanie składa się z dwóch części objętych oddzielnymi licencjami. Jedna przeznaczona jest do sterownika robota, a druga do komputera, na którym przygotowuje się zadania realizowane później przy wykorzystaniu systemu wizyjnego. Licencja KUKA.VisionTech uruchamiana jest w środowisku WorkVisual i tam też, na podstawie zapisanych wcześniej obrazów, które są rejestrowane w sterowniku robota, daje możliwość konfiguracji głównych parametrów związanych z procesem wizyjnym, jak również z przygotowaniem zadań dla systemu wizyjnego. Tak przygotowany proces wizyjny wgrywany jest ponownie do sterownika robota i dalej może być już uruchamiany bez komputera zewnętrznego, na którym przygotowywano program.
W trakcie pracy robota z uruchomionym systemem wizyjnym informacje o położeniu i orientacji detali znajdujących się w polu widzenia są zapisywane w specjalnej strukturze w sterowniku robota, skąd mogą być bezpośrednio pobierane w celu uwzględnienia ich podczas ruchu robota.
Tym, czego brakuje w przypadku KUKA.VisionTech, jest niedostępność symulatora zintegrowanego ze środowiskiem do modelowania i programowania robotów KUKA.SimPro, co ogranicza możliwości związane z nauką tego typu systemów w trybie offline. Choć minęło już trochę czasu od prezentacji i udostępnienia użytkownikom opisywanego systemu, stosunkowo mało słychać na temat rozwiązań związanych z implementacją wizji 3D, poza rozwiązaniem oferowanym wspólnie z firmą Pickit – uniwersalnym i możliwym do zastosowania również do robotów innych producentów.
<—newpage—>Otwartość integracji od firmy Kawasaki

Kawasaki Robotics kilka lat temu wprowadziła na rynek nowy system wizyjny o nazwie K-Vision, przeznaczony do identyfikacji, diagnostyki i lokalizacji obiektów. Jest to system otwarty, czyli dający możliwość szerokiego dostosowania funkcji do konkretnych wymogów aplikacji. Głównymi jego zaletami są: łatwość integracji z funkcją śledzenia ruchu taśmy produkcyjnej oraz otwartość na współpracę z kamerami różnych producentów.
Producent wprowadza w tym systemie dwie opcje programowe, różniące się zastosowaniem do konkretnych aplikacji: K-VFinder i K-VAssist. Pierwsza z nich jest wizyjnym modułem szybkiego i dokładnego rozpoznawania wzorca oraz określania jego lokalizacji i orientacji. Umożliwia binaryzację obrazu oraz nakładanie na niego filtrów, pozwalających na wydobycie właściwej informacji, rozpoznaje też różne kształty i obiekty. K-VAssist to moduł zarządzający, który odpowiada za podjęcie określonej akcji przez robota na podstawie otrzymanych wyników wizyjnych. K-VAssist umożliwia dzielenie informacji z jednej kamery 2D do ośmiu robotów pracujących na jednej linii, realizujących np. operacje sortowania.

Oprogramowanie K-Vision umożliwia zastosowanie kamer wizyjnych dowolnych producentów – wymagana jest jedynie odpowiednia kalibracja między sterownikiem robota a kamerą. Firma Kawasaki ma również własny system wizyjny 3D, w którego skład wchodzą: kamera, zestaw głowic sensorycznych – laserowych, o różnym kącie pola widzenia, od wąskiego do szerokiego – oraz oprogramowanie do obróbki sygnału wizyjnego.
Dwa rozwiązania firmy YASKAWA Motoman

W zakresie zintegrowanych systemów wizyjnych YASKAWA Motoman oferuje swoim klientom dwa rozwiązania: MotoSight 2D oraz MotoSight 3D; obydwa bazujące na komponentach firmy COGNEX. Rozwiązania te są zaprojektowane do obsługi sterowników serii DX100 oraz NX100. Zarówno w pierwszym, jak i w drugim przypadku integracja dotyczy elementów sprzętowych oraz programowych, wspierających proces integracji. W przypadku wersji MotoSight 2D rozwiązanie wykorzystuje kamerę COGNEX In-Sight micro oraz Pendant Vision Software.
Aplikacja obsługująca kamery systemu wizyjnego jest dostosowana do standardowego oprogramowania robotów YASKAWA Motoman i doskonale się sprawdza w typowych aplikacjach 2D, takich jak sortowanie, inspekcja wizyjna czy pakowanie. Programowanie systemu wizyjnego jest realizowane za pośrednictwem komputera ze specjalnie do tego przygotowanym oprogramowaniem. Po zaprogramowaniu procesu wizyjnego komputer PC nie jest już potrzebny, a całe działanie systemu opiera się na wymianie informacji między systemem wizyjnym a sterownikiem robota.

W przypadku konieczności wykorzystania systemu wizyjnego 3D istnieją dwie odmiany MotoSight: MotoSight 3D CortexVision oraz nowa wersja Motosight 3D CanonVision. W pierwszym przypadku istnieje możliwość wykorzystania kamery systemu Cognex, montowanej jako nieruchoma lub zamontowanej na ramieniu robota, oraz oprogramowania COGNEX Vision Pro (aplikacje 2D, 2,5D oraz 3D). W przypadku Motosight 3D CanonVision jest do dyspozycji pojedyncza nieruchoma kamera 3D firmy CANON, umożliwiająca operacje związane z pobieraniem dowolnie ułożonych detali w dwóch krokach: lokalizacji i określenia orientacji w przestrzeni. Cechą charakterystyczną Motosight 3D CanonVision jest brak konieczności wcześniejszej kalibracji systemu.
Bazując na własnych rozwiązaniach – iRVision firmy FANUC

Firma FANUC jako jedna z niewielu dostrzegła potrzebę podjęcia własnych prac, mających na celu opracowanie specjalnego systemu wizyjnego dla swoich robotów. Pierwsze rozwiązanie pojawiło się w roku 1998. Realizowane było w oparciu o zewnętrzne stanowisko komputerowe, na którym odbywały się wszelkie operacje związane z obróbką obrazu i przygotowaniem danych dla robota. W kolejnych wersjach wszystkie operacje związane z działaniem systemu wizyjnego – z wyjątkiem samego procesu programowania realizowanego na zewnętrznym komputerze PC za pośrednictwem sieci Ethernet – odbywały się na platformie sterownika robota. W wersji tej, dostępnej do 2006 r., system obsługiwał jedynie wizję 2D. W kolejnych wersjach pojawiły się zarówno nowe narzędzia, jak i elementy związane z wizją 2,5D oraz 3D.
Ostatnie zmiany głównych rozwiązań zintegrowanego systemu wizyjnego związane były z wprowadzeniem nowej rodziny kontrolerów R30iB, co dzięki większej mocy obliczeniowej umożliwiło pełne przeniesienie wszystkich operacji związanych z obsługą i działaniem systemu wizyjnego na kontroler robota. Nowością było też wprowadzenie systemu wizyjnego do wirtualnego środowiska programowania robotów, jakim w tym przypadku był Roboguide, co pozwoliło na naukę programowania systemu wizyjnego w trybie offline. Niestety, aby skorzystać z tej opcji, konieczne jest dokupienie dodatkowej licencji do Roboguide, udostępniającej obsługę kamer systemu wizyjnego.
W przypadku robotów FANUC poziom integracji elementów systemu wizyjnego jest bardzo zaawansowany – zarówno od strony sprzętowej, jak i programowej. Kupując nowego robota, ma się już standardowo zintegrowany z kontrolerem robota moduł wizyjny. Aby go uruchomić, konieczne jest dogranie odpowiedniego oprogramowania oraz podpięcie kamery za pomocą specjalnego przewodu. Standardowo kontroler ma jedno gniazdo do podłączenia kamery, jednak gdy trzeba zastosować większą liczbę kamer, korzysta się z modułu multipleksera umożliwiającego rozbudowę o kolejne egzemplarze. W przypadku współpracy kilku robotów istnieje możliwość współdzielenia informacji pomiędzy poszczególnymi robotami i ich systemami wizyjnymi, co jest często wykorzystywane w operacjach sortowania.

W jednej aplikacji można również łączyć kilka kamer – w przypadku dużych detali lub konieczności zapewnienia wielu kierunków obserwacji albo realizacji kilku różnych procesów wizyjnych na jednym stanowisku. Przykładem takiego rozwiązania może być przedstawione na rys.12 stanowisko spawalnicze, gdzie jedna kamera jest wykorzystywana w procesie lokalizacji miejsca spawu, a druga służy do inspekcji stanu palnika.
Od strony programowej poziom integracji jest również bardzo zaawansowany. W większości systemów wizyjnych zintegrowanych z robotami przemysłowymi, aby móc wykorzystać dane z tego systemu, konieczne jest przekazywanie informacji, np. o położeniu detali w przestrzeni roboczej, do zmiennych robota. W przypadku robotów FANUC przygotowano w tym celu specjalne rejestry (Vision Register), które pozwalają na zapisywanie do nich informacji z systemu wizyjnego. Dzięki temu, programując robota, nie trzeba dbać o format przesłanych danych czy o ich odpowiednie umiejscowienie w pamięci sterownika. Wystarczy, że podczas procesu przygotowania wskaże się, gdzie mają się znaleźć dane, po czym informacje te są odczytywane z rejestrów wizyjnych.
Podobnie jak we wcześniejszych rozwiązaniach firmy FANUC, proces przygotowania samej aplikacji może być realizowany na kontrolerze robota za pośrednictwem przeglądarki internetowej – logując się do kontrolera zdalnie albo bezpośrednio, korzystając z TeachPendanta. Możliwość wykorzystania panelu TeachPendant związana jest z tym, że wraz z pojawieniem się kontrolerów R30iB do dyspozycji użytkowników oddano panele z dotykowymi ekranami, pozwalającymi na edycję grafiki, jak również udostępniono im port USB, umożliwiając podłączenie do panelu myszki w celu oferowania podczas konfiguracji którejś z opcji systemu wizyjnego. Do dyspozycji programisty systemu wizyjnego w robotach FANUC znajdują się narzędzia do lokalizacji elementów 2D i 3D, śledzenia obiektów na taśmie podajnika, jak również kontroli jakości. Zasób dostępnych funkcji i narzędzi w niczym nie ustępuje najlepszym niezależnym systemom wizyjnym, a dodatkowo pozwala na prostą konfigurację, dzięki przejrzystym formularzom oraz narzędziom graficznym wykorzystywanym w procesie uczenia wzorców. Dużą zaletą jest możliwość nanoszenia poprawek bezpośrednio z panelu TeachPendant, z jednoczesnym podglądem „na żywo” realizowanego procesu wizyjnego.
Rozwiązanie opracowane przez firmę FANUC jest zdecydowanie najbardziej zaawansowane, jeśli chodzi o poziom integracji robota i systemu wizyjnego. Zakres oferowanych funkcji również wygląda imponująco – poczynając od prostej lokalizacji 2D i 2,5D, przez śledzenie obiektów w ruchu i współdzielenie informacji w sieci pomiędzy robotami w operacjach, np. pick & place, a kończąc na systemach 3D, z uwzględnieniem najbardziej zaawansowanych rozwiązań, pozwalających na pobieranie nieuporządkowanych elementów z pojemników, gdzie wykorzystuje się zaawansowane moduły czujników 3D Area Sensor. Zintegrowanie rozwiązania na poziomie sprzętowym i programowym pozwala na znaczące odciążenie programisty na etapie przygotowania aplikacji dla zrobotyzowanego stanowiska.
Najnowszym rozwiązaniem, zaprezentowanym w 2016 r., jest opcja programowa, w której wykorzystano elementy sztucznej inteligencji (sieci neuronowe) w procesie uczenia rozpoznawania. Co ciekawe, umożliwia to rozproszone przetwarzanie informacji przez system, wskutek czego, zgodnie z informacjami podawanymi przez producenta, jeden robot jest w stanie nauczyć się rozpoznawać obiekty w osiem godzin, a grupa ośmiu robotów realizuje ten proces zaledwie w godzinę – dzięki wymianie informacji pomiędzy kontrolerami.
Proces konfiguracji systemu wizyjnego iRVision całkowicie wplótł się w opcje programowe sterownika. Korzystając z panelu TeachPendant, można nie tylko podglądać rezultaty działania systemu, ale też w pełni go kontrolować i wizualizować, z wykorzystaniem m.in. opcji 4D Graphic.
W kierunku dalszej integracji
Gdy dokonujemy przeglądu oferowanych obecnie produktów, określenie „zintegrowany system wizyjny” wydaje się nabierać zupełnie nowego znaczenia. W wielu przypadkach integracja oznacza już bowiem nie tylko przesyłanie informacji z kamery inteligentnej czy stacji graficznej realizującej operacje związane z przetwarzaniem obrazu i wydobywaniem z nich informacji istotnych z punktu widzenia danego procesu technologicznego. Jak pokazują zaprezentowane przykłady, integracja oznacza także pełne wsparcie ze strony producenta robotów, który dba o to, aby użytkownik nie widział granicy, gdzie kończy się programowanie systemu wizyjnego, a gdzie zaczyna programowanie robota.
Nie oznacza to bynajmniej, że jedyną słuszną drogą pozostaje rozwiązanie łączące produkcję w jednym miejscu zarówno robotów, jak i zintegrowanych systemów wizyjnych. Bardzo dobrym przykładem jest bowiem oferta, która, korzystając z rozwiązań najpopularniejszego dostawcy systemów wizyjnych dla robotyki – firmy COGNEX, rozbudowała swój system w taki sposób, że z punktu widzenia zwykłego użytkownika nie sposób dostrzec granicy odpowiedzialności producenta robota i systemu wizyjnego.
W dobie postępującej robotyzacji same systemy wizyjne stają się już nieodzowne w wielu aplikacjach. Zastępują człowieka nie tylko tam, gdzie panują trudne warunki, ale również tam, gdzie wymagane są wysoka precyzja i powtarzalność, przy zachowaniu gotowości do dynamicznej zmiany produkcji – a więc gdzie konieczne staje się zapewnienie częściowej autonomiczności stanowisk zrobotyzowanych. Aby to uzyskać, roboty muszą zacząć „czuć” i „widzieć” elementy, którymi będą operowały. Trudno jest bowiem, przy konieczności zapewnienia dynamicznej produkcji, co chwilę przebudowywać stanowisko. Korzystając ze zintegrowanego systemu wizyjnego, można użyć większości osprzętu stanowiska, unikając przebudowy elementów pozycjonujących obrabiane detale.
Kolejnym obszarem, w którym systemy wizyjne z całą pewnością okażą się nieodzowne, są stanowiska z robotami kolaboracyjnymi. Tam bowiem robot w sposób „miękki” musi wejść w inter-akcję z pracownikiem, a trudno sobie wyobrazić tego rodzaju współpracę człowieka ze „ślepym robotem”…
Autorzy:
Jarosław Panasiuk jest adiunktem w Katedrze Mechatroniki na Wydziale Mechatroniki i Lotnictwa Wojskowej Akademii Technicznej. Zajmuje się m.in. modelowaniem układów robotyki, programowaniem robotów przemysłowych, sieciami neuronowymi, analizą obrazu oraz modelowaniem matematycznym.
Wojciech Kaczmarek jest kierownikiem Zespołu Mechatroniki na Wydziale Mechatroniki i Lotnictwa Wojskowej Akademii Technicznej. Zajmuje się m.in. modelowaniem układów robotyki, programowaniem robotów przemysłowych oraz satelitarnymi systemami nawigacji. 
Tekst pochodzi z nr 6/2016 magazynu "Control Engineering". Jeśli Cię zainteresował, ZAREJESTRUJ SIĘ w naszym serwisie, a uzyskasz dostęp do darmowej prenumeraty w formie drukowanej i/lub elektronicznej.