Środowisko programowania robotów KUKA.Sim Pro

Wirtualne środowiska do programowania robotów przemysłowych są obecnie oferowane przez praktycznie wszystkich producentów robotów. W trzecim odcinku naszego redakcyjnego cyklu prezentujemy pakiet KUKA.Sim Pro.
Wirtualne środowiska do programowania robotów przemysłowych są systemami umożliwiającymi programowanie oraz przeprowadzanie symulacji ich pracy bez użycia rzeczywistego manipulatora, z wykorzystaniem standardowego komputera PC. Zazwyczaj pozwalają one również na współpracę w trybie online, czyli programowanie fizycznego robota. Środowiska te wykorzystuje się m.in. do planowania trajektorii ruchu robota, kontroli przemieszczeń i orientacji narzędzi, tworzenia programów sterujących, symulacji i monitorowania wejść/wyjść oraz kontroli współpracy robotów w poszczególnych gniazdach.
Dodatkowo środowiska te zapewniają zgodność generowanych programów z systemem robota, co umożliwia wgranie utworzonego oprogramowania bezpośrednio do rzeczywistych urządzeń. Dzięki rozbudowanym bibliotekom własnym firmy KUKA i wybranych dostawców osprzętu ? zawierającym: roboty, pozycjonery, tory jezdne, mechanizmy, przenośniki i czujniki ? istnieje możliwość odtworzenia rzeczywistego procesu technologicznego. Ponadto oprogramowanie pozwala na import modeli przygotowanych w programach komputerowego wspomagania projektowania CAD. Zaplanowane zadania mogą być symulowane z opcjami umożliwiającymi optymalizację procesu, takimi jak detekcja kolizji czy pomiar cyklów pracy.
Charakterystyka środowiska KUKA.Sim Pro
Zestaw oprogramowania do obsługi wirtualnych robotów firmy KUKA składa się z trzech części:
-> KUKA.Sim Viewer ? darmowe środowisko 3D umożliwiające przeglądanie symulacji wykonanych w KUKA.Sim Layout, Tech oraz Pro;
-> KUKA.Sim Layout ? program umożliwiający tworzenie zrobotyzowanych stacji produkcyjnych oraz ich porównywanie;
-> KUKA.Sim Tech ? obejmuje funkcjonalność KUKA.Sim Layout oraz dodatkowo interfejs programowania aplikacji (API), pozwala na tworzenie programów (w c++ lub VBA) obsługujących przebieg poszczególnych symulacji.
Najbardziej rozbudowaną wersję stanowi Pro ? obecnie oferowaną opcją środowiska KUKA.Sim Pro jest 2.2.1, która umożliwia zaplanowanie i zasymulowanie pracy zrobotyzowanych stanowisk wyposażonych w maszyny i osprzęt firmy KUKA. Dzięki wykorzystaniu bogatej biblioteki modeli, które można pobrać z katalogu internetowego producenta (zawierającej m.in. roboty, chwytaki, przenośniki oraz ogrodzenia ochronne), oprogramowanie to jest doskonałym narzędziem do projektowania oraz symulowania przygotowanych rozwiązań. Warto zaznaczyć, że biblioteki zawierają nie tylko figury geometryczne (formaty STL ? binarne/ASCII, 3DS, VRML1, Robface i Google Sketchup; opcjonalnie: CATIA V5, CATIA V4, Siemens NX, JT, STEP, Parasolid, ProE, SolidWorks, ACIS, IDEAS, IGES), ale także sparametryzowane obiekty, pozwalające na wykorzystanie ich podczas symulacji (np.: symulacji ruchu przedmiotów na przenośnikach, sterowania chwytakami, obsługi sygnałów wejściowych/wyjściowych). Wykorzystanie języka skryptowego Python pozwala na rozszerzenie funkcjonalności komponentów, które mogą być zapisane jako własne biblioteki i wykorzystane w kolejnych projektach.
KUKA.Sim Pro korzysta z wirtualnego sterowania robotem (VRC), dzięki czemu można go zaprogramować w KUKA Robot Language (KRL), bez konieczności przerywania produkcji. Wykorzystanie wszystkich funkcji programowania offline wymaga zainstalowania pakietu KUKA.OfficeLite. Jest on prawie identyczny z oprogramowaniem kontrolerów robotów KR C4. Umożliwia programowanie za pomocą wirtualnego interfejsu KUKA SmartHMI i składni KRL ? programy napisane w języku KRL mogą zostać przeniesione w stosunku 1:1 do kontrolera robota. W środowisku Sim Pro można wygenerować też pliki PDF 3D, które da się przeglądać za pomocą programu Adobe Acrobat Reader, co może być wykorzystane do prezentacji przygotowanego rozwiązania klientom.
Tworzenie stanowiska roboczego
Zasady tworzenia stanowisk roboczych w środowisku KUKA.Sim Pro zostaną przedstawione na przykładzie rzeczywistego stanowiska, będącego na wyposażeniu Laboratorium Robotyki w Wojskowej Akademii Technicznej w Warszawie (fot. 1).
Stanowisko zostanie utworzone w KUKA.Sim Pro w wersji 2.2.1. W celu rozpoczęcia pracy ze środowiskiem konieczne jest zainstalowanie dostarczonego przez producenta oprogramowania, a także wprowadzenie klucza seryjnego ? dla pojedynczego stanowiska lub pobranie licencji sieciowej. W czasie instalacji środowiska wystarczy postępować zgodnie ze wskazówkami wyświetlającymi się na ekranie. W celu pełnego wykorzystania bibliotek dostarczonych przez firmę KUKA konieczne jest zainstalowanie dodatku KUKA.Sim.Library, w wersji odpowiadającej wersji środowiska Sim Pro. Biblioteki dostarczane są przez producenta razem z oprogramowaniem do symulacji.
Po uruchomieniu oprogramowania na ekranie naszego komputera pokazuje się widok ogólny okna środowiska (rys. 3). Możemy go podzielić na kilka najważniejszych elementów.
Pierwszym jest belka narzędziowa, która umożliwia łatwy dostęp do funkcji odpowiedzialnych za obsługę plików, widoku oraz manipulacji obiektów. Najważniejsze okno to okno komórki roboczej ? wyświetlany jest tam widok tworzonej stacji ze wszystkimi niezbędnymi informacjami potrzebnymi do sprawnego zaprogramowania pracy robota. Dzięki oknu wiadomości, znajdującemu się w dolnej części ekranu, użytkownik ma łatwy i szybki dostęp do informacji na temat wybranych parametrów symulacji oraz ewentualnych błędów. Ostatnim z elementów interfejsu jest drzewo projektu. W kilku zakładkach znajdują się tam opcje umożliwiające zmiany parametrów wykorzystanych urządzeń, połączenie robota z wirtualnym kontrolerem oraz zaprogramowanie trajektorii ruchu.

Pierwszym etapem pracy nad projektem jest stworzenie stacji roboczej. Zawiera ona zazwyczaj roboty wraz z osprzętem oraz zaimportowane modele CAD. Wstawienie wyżej wymienionych elementów odbywa się za pomocą zakładki eCat. Bogata biblioteka elementów podzielona jest na kategorie ułatwiające znalezienie poszukiwanych modeli. Możemy wyróżnić trzy główne grupy elementów:
-> General ? elementy nieprogramowalne, są to m.in. podajniki, geometrie, kontrolery, a także wyposażenie fabryki, biura oraz modele pracowników;
-> KUKA ? elementy programowalne tego producenta, takie jak roboty, roboty malarskie, pozycjonery oraz dodatkowe osie;
-> Manufacturers ? modele przygotowane przez innych producentów, m.in. firm Flexlink (przenośniki) oraz Fronius (osprzęt procesu spawania).
Wstawione elementy można dowolnie przemieszczać za pomocą funkcji Trans i Rot ? wywołujemy je z belki narzędziowej lub przez kliknięcie prawym przyciskiem myszy na komponent i wybranie z menu kontekstowego interesującej nas opcji. Funkcje te umożliwiają ustawienie położenia i rotacji względem wybranych współrzędnych (globalnych, lokalnych, użytkownika lub aktywnego układu obiektu). Większość elementów wyposażono w interfejs Plug?n?Play (PnP), który pozwala na proste łączenie elementów składowych w jedną całość. Po uruchomieniu opcji PnP wystarczy przyciągnąć do siebie żądane elementy (np. podajnik taśmowy w omawianym przykładzie został złożony z mniejszych elementów o różnych kształtach).

Większość właściwości wstawianych obiektów (np.: kolor, przezroczystość, tekstury) można dowolnie modyfikować. W zakładce Param wyświetlane są atrybuty aktualnie wybranego elementu. W przypadku manipulatora dostępne są opcje zmiany nazwy, wyboru materiału, a także poruszania poszczególnymi osiami ruchu, podpięcia dodatkowych interfejsów oraz ustawienia sygnałów wyzwalanych przez robota. Korzystając ze sparametryzowanych modeli geometrycznych, w prosty sposób można dokonać zmiany wymiarów urządzeń (takich jak szerokość, wysokość oraz długość podajnika), a także ich właściwości (prędkość ruchu, zasięg czujników itp.).
Środowisko KUKA.Sim Pro udostępnia również narzędzia do tworzenia oraz programowania zachowań prostych geometrii, dzięki czemu użytkownik nie musi mieć dodatkowego oprogramowania CAD. Zakładka Create zawiera narzędzia do tworzenia komponentów, ustawień sposobu ich współpracy z innymi geometriami oraz parametryzacji. Każdy z elementów jest przedstawiony w postaci rozwijanego drzewka, obrazującego połączenia między punktami węzłowymi. Poszczególne węzły mogą być modyfikowane w trzech różnych kategoriach:
-> Geometry ? pozwala użytkownikowi na tworzenie i modyfikowanie geometrii oraz przypisanie im właściwości materiału;
-> Behavior ? zakładka pozwala określić, jak komponent działa w stosunku do innych składników podczas symulacji, np. wykrywanie lub poruszanie elementu;
-> Parameter ? zakładka pozwala użytkownikowi definiować parametry, mogą one być wykorzystywane zamiast wartości liczbowych w równaniach matematycznych lub określać właściwości geometrii (szerokość, wysokość itp.).
Następny krok to połączenie wstawionych robotów z ich wirtualnym kontrolerem. Zakładka KRC służy do komunikacji między środowiskiem KUKA.Sim Pro a KUKA.OfficeLite. Oprogramowanie OfficeLite pozwala na korzystanie z oryginalnego interfejsu KUKA SmartHMI i składni KRL do obsługi oraz programowania symulacji offline. Dzięki temu na standardowym komputerze PC do dyspozycji jest pełne oprogramowanie systemowe producenta, możliwe staje się też symulowanie cyfrowych sygnałów wejściowych oraz sterowanie przebiegiem programu robota w czasie rzeczywistym, dzięki czemu istnieje opcja optymalizacji stanowiska.
<—newpage—>Tworzenie programu na robota
Zakładka Teach pozwala na nauczanie oraz programowanie ruchu komponentów mających serwomechanizm lub kontroler robota. Można ją podzielić na trzy główne panele grupujące funkcje:

-> panel Jog zawiera podstawowe funkcje do ręcznego nauczania pozycji, zaczynając od trybu ruchu ? poszczególnych osi (Jog Joints), liniowego (Trn Tool) oraz reorientacji (Rot Tool). Kolejnym elementem jest wybór układu bazowego robota oraz układu narzędzia, a także wybranie konfiguracji robota (sposobu jego podejścia do zadanej pozycji);
-> panel Sequences zawiera informacje o zaprogramowanych pozycjach oraz programach i podprogramach robota. Umożliwia tworzenie nowych sekwencji oraz wczytywanie wcześniej wykonanych ścieżek. Zakładka Sequences zawiera również funkcję Grasp and Release, która służy do obsługi chwytaków. Można ją uruchomić przez wybranie sygnału wyjściowego z zakresu 1?16, przypisanego do narzędzia o tym samym numerze. Ustawienie stanu wysokiego powoduje podniesienie elementu, a niskiego ? jego upuszczenie. Nie ma konieczności modelowania chwytaka bądź tworzenia narzędzia, prosta symulacja może zostać wykonana z zastosowaniem samych sygnałów. Wykorzystując sygnały od 17 do 32, użytkownik może włączyć śledzenie TCP narzędzia ? w oknie wyświetlania pozostanie ślad umożliwiający nadzorowanie ruchu robota. Sygnały od 33 do 48 służą do symulacji zmiany narzędzia;
-> panel Statement pozwala na edytowanie wybranego programu robota ? za pomocą przycisków tworzone są komendy, które następnie wyświetlają się w siatce obrazującej kolejność wykonywania.
Alternatywną metodą programowania robotów jest wykorzystanie panelu Smart-HMI w środowisku OfficeLite, który umożliwia tworzenie programów bezpośrednio w języku KRL.
Prowadzenie symulacji i analiza ich wyników
W celu przeprowadzenia pełnej symulacji konieczne jest podłączenie do wirtualnego kontrolera, podpięcie odpowiednich sygnałów (na rys. 8 przedstawiono widok okna z sygnałami chwytaka) oraz ustawienie parametrów symulacji. Interfejs ustawień ogólnych wyglądem przypomina odtwarzacz CD. Poza standardowymi przyciskami ? takimi jak Start, Stop oraz Reset ? producent umożliwił spisywanie symulacji do pliku 3D PDF, a także kontrolowanie prędkości symulacji. W ustawieniach zaawansowanych można wybrać pracę w czasie rzeczywistym (1 sekunda symulacji odpowiada 1 sekundzie czasu rzeczywistego) lub wirtualnym (zależnym od wydajności komputera).

Budując komórkę stanowiska robota, można wstępnie sprawdzić, czy robot nie wchodzi w kolizję z innymi elementami, choć nie zawsze podczas pracy z dużą prędkością i w bliskim otoczeniu innych elementów jest to zadanie proste. Z pomocą przychodzi wtedy opcja detekcji kolizji. Umożliwia ona wybranie dwóch grup elementów, które będą ciągle sprawdzane pod kątem wprowadzonych parametrów, oraz zatrzymanie symulacji w momencie wystąpienia kolizji.

Podsumowanie
Środowisko KUKA.Sim Pro jest nowoczesnym i intuicyjnym oprogramowaniem, pozwalającym zarówno na tworzenie aplikacji offline, jak i na naukę programowania robotów w języku KRL. Dzięki wiernemu odwzorowaniu wyglądu oraz sposobu obsługi wirtualnego Teach Pendanta użytkownik jest w stanie nauczyć się pracy zgodnej ze sposobem programowania rzeczywistego robota.
Bogata biblioteka oraz duże możliwości modyfikowania dostępnych komponentów pozwalają na tworzenie zaawansowanych projektów, realizujących skomplikowane i wymagające procesy. Pozwala to później na znaczne skrócenie czasu potrzebnego na uruchomienie rzeczywistej produkcji, a także na analizę i wprowadzenie modyfikacji istniejących stanowisk.
Wykorzystanie opisywanego środowiska wśród studentów umożliwia właściwe przygotowanie inżynierów do pracy, czyli zapoznanie ich z zasadami obsługi kontrolerów, co w przyszłości ułatwi działania z rzeczywistym robotem.
O autorach: 
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.
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.
Szymon Borys 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, systemami bezpieczeństwa oraz sterownikami PLC i drukiem 3D.
Tekst pochodzi z nr 5/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.