Środowisko programowania robotów RobotStudio

Każdy szanujący się producent robotów przemysłowych oferuje współcześnie wysoko zaawansowane środowisko do programowania robotów w trybach offline/online. Warunki te spełnia również pakiet RobotStudio. Kontynuujemy rozpoczęty w poprzednim numerze cykl poświęcony podstawom programowania robotów, z uwzględnieniem środowisk wirtualnych.
Wszystkie wirtualne środowiska robotów są aplikacjami umożliwiającymi modelowanie i programowanie robotów oraz prowadzenie symulacji ich pracy w trybach offline i online, przy wykorzystaniu standardowego komputera PC. Środowisko RobotStudio, udostępniane przez firmę ABB, w opcji online jest dostarczane z robotem przemysłowym i wspiera konfigurowanie oraz programowanie rzeczywistych urządzeń. Wersja offline jest płatna i pozwala na projektowanie zrobotyzowanych stacji produkcyjnych oraz prowadzenie symulacji ich funkcjonowania bez użycia rzeczywistych robotów.
Charakterystyka środowiska RobotStudio
Obecnie środowisko RobotStudio jest oferowane w wersji 6.03 (rys. 1), a poszczególne wersje oprogramowania (edukacyjne i komercyjne) są udostępniane na różnych zasadach. Co roku pojawiają się kolejne modyfikacje, jak również moduły wspierające programowanie wybranych procesów technologicznych (np.: spawania – ArcWelding PowerPack, cięcia – Cutting PowerPac, obróbki maszynowej – Machining PowerPac czy malowania – Painting PowerPac), które po zainstalowaniu są w pełni kompatybilne z RobotStudio.
Z drugiej strony następuje integracja ze środowiskiem dodatkowych narzędzi programistycznych. Przykładem może być wbudowany ScreenMaker, który pozwala na tworzenie na panelach FlexPendant okienkowych interfejsów dla operatorów (rys. 2).
Pełną, trzydziestodniową wersję środowiska RobotStudio wraz ze wszystkimi dodatkami można pobrać ze strony producenta. Okres ten da się wydłużyć, instalując odpowiednie klucze licencyjne. Dla uczelni oferowany jest roczny klucz sieciowy, natomiast dla użytkowników komercyjnych przeznaczono licencje na pojedyncze stanowiska (na okres 6, 12, 24, 36,.. , aż do 60 miesięcy) – ich ceny zależą od czasu użytkowania. Po wygaśnięciu licencji program przestaje działać. Do jego uruchomienia wymagane jest odnowienie licencji na kolejny okres.

RobotStudio stanowi w pełni kompleksowe środowisko, pozwalające na projektowanie złożonych obiektów graficznych, definiowanie ich stopni swobody oraz prowadzenie symulacji ruchu. Pomimo tego, że ma własny moduł projektowy CAD, możliwy jest import geometrii wykonanych w różnych formatach(m.in.: *.stp, *.igs, *.sat, *.rsgsx, *.stl).
W środowisku zaimplementowano technologię wirtualnego kontrolera, pozwalającą na dokładne odzwierciedlenie rzeczywistej pracy kontrolera, a co za tym idzie, m.in. na dokładne wyznaczenie cyklów pracy rzeczywistego urządzenia. W przypadku posiadania rzeczywistego robota, środowisko pozwala na pracę w trybie online, z możliwością zobrazowania robota na ekranie komputera. W trybie tym możliwe jest m.in.: programowanie robota, jego obsługa i konfiguracja systemu, konfiguracja i analiza zintegrowanej wizji oraz programowego kontrolera bezpieczeństwa – SafeMove. Z back-upu rzeczywistego robota można utworzyć system, który z powodzeniem może być programowany i uruchamiany na komputerze w trybie offline. W efekcie użytkownik ma do dyspozycji system ze wszystkimi jego możliwościami i ograniczeniami. Jak podaje producent, symulacje są odwzorowane 1:1.
Po wykonaniu projektu stację można zapisać jako interaktywny plik *.exe, gotowy do przeglądania w darmowym RobotStudio Station Viewer. Rozwiązanie to jest bardzo przydatne (można odtwarzać symulację pracy, zmieniając widoki sceny), zwłaszcza w celu przedstawienia zaproponowanej opcji odbiorcy końcowemu.

Roboty przemysłowe firmy ABB z kontrolerami IRC5 są programowane w języku RAPID. Programowanie może się odbywać trzema metodami:
-> obiektowo, w panelu symulacyjnym – programowanie wymaga znajomości podstaw języka RAPID (rys. 6);
-> tekstowo, w edytorze języka RAPID (rys. 7);
-> przy użyciu FlexPendanta (wirtualnego lub rzeczywistego) – metodą tradycyjną (rys. 3).
Połączenie komputera PC z robotem odbywa się poprzez sieć Ethernet (złącze ethernetowe lub serwisowe) oraz odpowiednio zdefiniowane IP urządzeń. Wśród nowinek najnowszej wersji środowiska należy wyróżnić: obsługę zintegrowanej wizji, przeniesienie obrazu z kamery na panel FlexPendant, możliwość konfiguracji programowego sterownika bezpieczeństwa SafeMove i podłączenia okularów 3D Oculus oraz zobrazowanie rzeczywistego robota w technologii 3D. Przejęcie kontroli w RobotStudio nad robotem rzeczywistym jest możliwe w zakładce Controller, przy czym, z uwagi na bezpieczeństwo, nie ma możliwości jednoczesnej pracy na komputerze i FlexPendancie.
<—newpage—>Tworzenie stanowiska roboczego
Zasady tworzenia stanowisk roboczych w środowisku RobotStudio zostaną przedstawione na przykładzie rzeczywistego stanowiska, będącego na wyposażeniu Laboratorium Robotyki w Wojskowej Akademii Technicznej w Warszawie. Aplikacja stanowiska powstanie w RobotStudio 6.03 (64-bit).
Pracę ze środowiskiem można rozpocząć po pobraniu oprogramowania wraz z dodatkami ze strony internetowej producenta. Oprogramowanie należy zainstalować na komputerze i będzie ono miało pełną funkcjonalność przez 30 dni. Po tym okresie konieczne jest wprowadzenie kluczy licencyjnych (sieciowych lub na pojedynczy komputer). Instalacja oprogramowania jest bardzo prosta – wystarczy postępować zgodnie ze wskazówkami instalatora środowiska. Domyślnie instalują się dwie wersje środowiska (32- i 64-bitowa).
Po uruchomieniu środowiska RobotStudio najwygodniej jest utworzyć tzw. Solution (tworzy strukturę plików zawierającą pusty projekt), wskazując miejsce usytuowania nowej struktury na dysku komputera.

Po utworzeniu nowego projektu kolejnym etapem jest utworzenie stacji roboczej (layout). W większości przypadków będzie ona zawierać roboty z osprzętem oraz wcześniej powstałe modele CAD, które można zaimportować, korzystając z belki narzędziowej (rys. 5).
Większość własności wstawianych obiektów (np. kolor, przezroczystość, tekstury) da się dowolnie modyfikować. Do ustawiania ich zgrubnego położenia i orientacji można wykorzystać przyciski z belki narzędziowej (grupa Freehand). Przyciski tej grupy umożliwiają przemieszczanie i obracanie obiektów w wybranym układzie współrzędnych (globalnym, lokalnym, użytkownika, aktywnego układu obiektu lub narzędzia). Po wybraniu stosownej opcji projektant jest w stanie dowolnie przeciągać i obracać obiekty przy wykorzystaniu myszki oraz strzałek w głównym oknie środowiska. Zaimportowane do RobotStudio geometrie można zapisać jako biblioteki RobotStudio (*.rslib), co pozwoli na łatwe ich wykorzystanie w przyszłych projektach.

Tworzone przez użytkowników RobotStudio biblioteki mogą mieć różny charakter:
-> zwykłe komponenty, będące geometriami CAD (np. stół);
-> sterowalne mechanizmy – komponenty mające pewien poziom inteligencji (logiki), tzw. Smart Components (np.: maszyna z ruchomymi drzwiami, chwytak z ruchomymi szczękami);
-> narzędzia mające układy współrzędnych TCP (Tool Centre Point):

— zwykłe komponenty ze zdefiniowanymi TCP (np. palnik spawalniczy),
— Smart Components ze zdefiniowanymi TCP (np. chwytak).

Do dokładnego umiejscowienia elementów stacji można wykorzystać okna dialogowe, otwierane w programie z menu kontekstowego.

Po utworzeniu stacji należy wygenerować system robota. Będzie on stanowił wirtualny kontroler, który pozwoli na prowadzenie symulacji w trybie offline. W tym celu trzeba na belce narzędziowej (rys. 5) kliknąć przycisk Robot System. System robota da się również generować innymi sposobami:
-> w przypadku podłączenia komputera ze środowiskiem RobotStudio do rzeczywistego robota, w zakładce Controller, można kliknąć przycisk Go offline – wówczas automatycznie zostanie wygenerowany wirtualny system robota rzeczywistego;
-> do generowania systemu można wykorzystać backup robota rzeczywistego;
-> podczas tworzenia projektu (rys. 4) można wybrać opcję Solution with Station and Robot Controller, wówczas po wyborze robota zostanie automatycznie wygenerowany dla niego system z domyślnymi parametrami.
Na rys. 6 przedstawiono przykładowo wykonaną stację, wyposażoną w robota IRB120 z utworzonym systemem.
Tworzenie programu na robota
Programowanie robotów w środowisku RobotStudio można realizować w przestrzeni stacji lub wirtualnego kontrolera. Programowanie w przestrzeni stacji jest możliwe bez znajomości składni komend języka RAPID, a utworzone programy da się łatwo przenieść do przestrzeni wirtualnego kontrolera (kliknięcie przycisku Synchronize – rys. 6). Z kolei programowanie w przestrzeni wirtualnego kontrolera jest realizowane w zaawansowanym edytorze programowym (rys. 7) i również w tym przypadku, dzięki wspomnianemu przyciskowi Synchronize, istnieje możliwość synchronizacji (tym razem z przestrzenią stacji). Ostatecznie do programowania można wykorzystać wirtualny panel FlexPendant (rys. 3).
Prowadzenie symulacji i analiza wyników symulacji
Pełne prowadzenie symulacji jest możliwe po podłączeniu stacji do wirtualnego kontrolera (zdefiniowaniu logiki stacji – przykład podpięcia chwytaka do sygnałów wirtualnego kontrolera przedstawiono na rys. 8) i zdefiniowaniu parametrów symulacji w Simulation Setup (rys. 9).
Oprócz standardowych informacji – takich jak detekcja kolizji czy wykreślanie rzeczywistej trajektorii narzędzia – dzięki zaawansowanym funkcjom (Signal Analyzer) użytkownik ma możliwość uzyskania szeregu informacji o parametrach pracy całego stanowiska (rys. 10). Informacje te są przedstawiane czytelnie na automatycznie generowanych wykresach (m.in. cykle pracy, załączanie wejść/wyjść, praca osi).
Podsumowanie
Środowisko RobotStudio jest nowoczesnym i wydajnym oprogramowaniem, a regularnie wprowadzane w nim modyfikacje podążają za światowymi trendami. Jego twórcy starają się również wyznaczać nowe kierunki w rozwoju tego typu środowisk. Przykładem może być funkcja pozwalająca na podłączenie okularów 3D typu Oculus, co pozwala na „wejście” do wnętrza stacji przez projektanta czy operatora. Z pewnością w przyszłości możliwe będzie rozszerzenie tego typu funkcji i np. szkolenie operatorów z zakresu obsługi stanowiska oraz zasad bezpieczeństwa.
Duże możliwości programistyczne (łatwy dostęp do instrukcji języka RAPID) oraz sposób rozwiązania obsługi wirtualnego i rzeczywistego kontrolera (analogiczne rozwiązanie) pozwalają operatorowi na szybką i intuicyjną konfigurację systemu. Udostępnianie RobotStudio online użytkownikom robotów przemysłowych firmy ABB pozwala na szybkie programowanie robotów oraz wygodne monitorowanie i nadzorowanie ich funkcji. A dzięki wiernemu odzwierciedleniu rzeczywistego panelu FlexPendant w ramach pakietu RobotStudio nauka obsługi i programowania robotów daje szerokie możliwości, zwłaszcza w środowiskach akademickich.
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.
Tekst pochodzi z nr 4/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.