Wstęp
Szczególną cechą wszystkich robotów, związaną z możliwością elastycznego programowania, jest ich uniwersalność. To dzięki programom, zaimplementowanym w pamięci robota, może on realizować różne zadania. Programowanie robotów nie jest proste, ponieważ w różnych typach robotów wykorzystuje się różne metody programowania, a w poszczególnych metodach - różne języki (np.: RAPID, Karel, KRL, Melfa-Basic, V+).
Nowoczesne narzędzia komputerowe pomagają sprostać wyzwaniom produkcyjnym szybko zmieniającej się gospodarki rynkowej, szczególnie w pracy inżynierów. Niskie koszty produkcji, wysoka jakość produktów oraz krótkie cykle produkcyjne wymagają odpowiedniego podejścia do organizacji pracy i zarządzania w biurach rozwoju produktu.
Na świecie funkcjonują tysiące fabryk, w których procesy produkcyjne są realizowane przez w pełni automatycznie działające maszyny. Pierwszeństwo w tej dziedzinie należy do Japonii, w której duże zakłady produkcyjne są obsługiwane jedynie przez małe, kilkunastoosobowe grupy inżynierów operatorów. Zadania operatorów sprowadzają się tam wyłącznie do obsługi serwisowej obejmującej: konserwację urządzeń i obsługi okresowe, przeprogramowanie robotów (jeśli jest to konieczne), udział w wymianie zużywających się narzędzi.
Projektowanie nowych fabryk, zmiana parametrów produkcji czy automatyzowanie tradycyjnych procesów technologicznych jeszcze niedawno trwało bardzo długo, wymagało nakładu dużych sił i środków. Szczególnym problemem było zaprogramowanie dziesiątek, a nawet setek współpracujących ze sobą robotów. Uruchomienie linii produkcyjnej w nowej konfiguracji zajmowało wiele czasu, co z kolei wpływało na zastój produkcji i ogromne straty finansowe. Poszukiwano więc rozwiązania problemu przeprogramowywania dużej liczby robotów (np. z powodu zmiany produkowanego asortymentu) i jednocześnie pozwoliłoby na wirtualne projektowanie nowych linii produkcyjnych, a nawet całych fabryk.
Obecnie przodujący na świecie producenci robotów (np. firmy ABB, FANUC, Mitsubishi, KUKA, Kawasaki) oferują wirtualne środowiska (rys. 1.1), które pozwalają nie tylko na programowanie robotów, ale również przeprowadzanie pełnych symulacji z uwzględnieniem cykli pracy kontrolerów. Niestety, większość tego typu środowisk umożliwia programowanie robotów konkretnych firm (tab. 1.1), np.:
- środowisko RobotStudio - dla robotów firmy ABB,
- środowisko KUKA.Sim Pro - dla robotów firmy Kuka Roboter,
- środowisko Roboguide - dla robotów firmy FANUC.
Twórcy wirtualnych środowisk do programowania i symulacji pracy robotów starają się rozszerzać swoją ofertę, dodając do bibliotek tych środowisk roboty wielu firm (np. środowiska: Visual Components, Delmia, RobCad, Process Simulate), jednak zwłaszcza te najnowocześniejsze są bardzo drogie (ich ceny sięgają nawet setek tysięcy złotych)[1].
1. Wprowadzenie do środowisk do programowania robotów przemysłowych w trybie offline/online
Trudno dzisiaj wyobrazić sobie świat bez komputerów, telefonów komórkowych i Internetu. Wszechobecne technologie mają coraz większy wpływ na nasze życie, a ich lawinowy rozwój wymusza zmianę postrzegania rzeczywistości. W ostatnim czasie, we wszystkich dziedzinach życia można zauważyć rozwój oprogramowania umożliwiającego komunikowanie się człowieka z maszyną. Rozwój aplikacji dotyczy nie tylko użytkowników urządzeń, dla których tworzy się wygodne interfejsy, ale również inżynierów, którzy dzięki nowoczesnym środowiskom programistycznym mogą wydajniej je przygotowywać. Niewątpliwie środowiska do programowania robotów przemysłowych i symulowania pracy zrobotyzowanych stanowisk produkcyjnych można zaliczyć do tego typu narzędzi (rys. 1.1).
Rys. 1.1. Zrobotyzowane stanowisko produkcyjne w RobotStudio firmy ABB
Konkurencja - chyba najczęściej powtarzane słowo w świecie szybko rozwijającej się gospodarki - jest kołem zamachowym poszukiwania nowych rozwiązań i większej wydajności. Również (a może zwłaszcza) w przypadku robotyki wymusza ona ciągły postęp, który łatwo można zauważyć zarówno w zakresie ewolucji sprzętowej, jak i oprogramowania.
Projektowanie nowych fabryk, zmiana parametrów produkcji czy automatyzowanie tradycyjnych procesów technologicznych wymagało do niedawna bardzo długiego czasu oraz nakładu znacznych sił i środków. Uruchomienie linii produkcyjnej w nowej konfiguracji trwało długo, co z kolei wpływało na zastój w produkcji i powodowało ogromne straty finansowe. Poszukiwano więc sposobów, które nie tylko rozwiązałyby problem przeprogramowywania dużej liczby kontrolerów robotów (np. z powodu zmiany produkowanego asortymentu), ale również pozwoliłyby na wirtualne projektowanie nowych linii produkcyjnych, a nawet całych fabryk. Obecnie niemal wszyscy producenci robotów (m.in.: ABB, FANUC, Mitsubishi, Kawasaki, KUKA, Comau - tab. 1.1) oferują wirtualne środowiska, w których istnieje możliwość nie tylko programowania robotów, ale również przeprowadzania pełnych symulacji 3D z uwzględnieniem cykli pracy rzeczywistych kontrolerów. W dobie rosnącej konkurencji jest to bez wątpienia atutem przy podejmowaniu decyzji zakupu nowych stanowisk przez odbiorców końcowych.
Tabela 1.1. Wybrani producenci robotów przemysłowych oraz ich środowiska do programowania robotów w trybie offline
Producent robotów
Środowisko
ABB
RobotStudio
FANUC Robotics
Roboguide
Kawasaki Robotics
K-Roset
KUKA Roboter
KUKA.Sim Pro
Mitsubishi Robotics
MELFA WORKS
EPSON
Epson RC + 7.0
Comau
RoboSim PRO
Denso Robotics
WINCAPS III
Staubli Robotics
Staubli Robotics Suite
Motoman Robotics-Yaskawa
MotoSim EG-VRC
Reis Robotics
ProSim
Panasonic-Matsushita Welding Systems
DTPS 3D, G2 PC Tools 3D
Śmiało można więc powiedzieć, że środowiska do programowana w trybie offline znajdują dzisiaj szerokie zastosowanie w pracach projektowych. Głównym mankamentem - z punktu widzenia firm integratorskich oraz placówek kształcenia - jest możliwość wykorzystania większości środowisk do programowania robotów tylko jednego producenta, co, biorąc pod uwagę ich wysoką cenę, może stanowić barierę zakupu. W związku z różnorodnością zamówień nie opłaca się również zakup jednego wybranego środowiska danego producenta, ponieważ może się zdarzyć, że zakup zwróci się dopiero po długim czasie. Mogłoby się wydawać, że rozwiązaniem są środowiska uniwersalne, takie jak Visual Components, RobCAD, Delmia, Robot 3D czy Process Simulate, jednak w tym przypadku cena tego typu rozwiązań jest tak wysoka, że stać na nie tylko duże firmy z rynku motoryzacyjnego. Jednym z głównych założeń twórców tego typu środowisk jest umożliwienie pracy zespołowej, gdzie wszyscy członkowie zespołu mają bieżący dostęp do zarządzanych dynamicznie, wszystkich danych projektowych. W efekcie przyczynia się to do redukcji błędów inżynierskich popełnianych na etapie planowania i praktycznej realizacji. Przykładem jest Process Simulate (rys. 1.2), który dostarcza narzędzi optymalizacyjnych, diagnostycznych i specjalnych technologii umożliwiających wirtualną akceptację na poziomie systemowym.
Rys. 1.2. Okno środowiska Process Simulate firmy Siemens (źródło: www.siemens.com)
Dla placówek dydaktycznych pozyskanie środowisk wielu producentów jest często niemożliwe z powodu wysokiej ceny. Ponadto placówki takie poszukują rozwiązań, w których możliwa byłaby praca wielostanowiskowa oraz licencje sieciowe, co jak do tej pory jest rzadkością.
Wirtualne środowiska do programowania robotów przemysłowych są systemami umożliwiającymi programowanie robotów oraz przeprowadzanie symulacji ich pracy w trybie offline (bez użycia robota) z wykorzystaniem standardowego komputera PC. Często pozwalają one również na współpracę komputera z rzeczywistym robotem (w pełnym lub częściowym zakresie) w trybie online. Producenci środowisk do programowania robotów podążają za rozwojem systemów operacyjnych dla komputerów osobistych (najczęściej Windows), oferując wersje 32- i 64-bitowe, co przy rosnących objętościach plików CAD wydaje się rozsądne. Należy zwrócić uwagę na fakt, że pliki takie (np. z rozszerzeniem *.dwg, przedstawiające organizację całej linii technologicznej mogą być nawet większe niż 1 GB). Ogólnie można powiedzieć, że środowiska tego typu mogą być wykorzystane m.in. do:
- planowania trajektorii ruchu robota w komórce roboczej,
- analizy przestrzennej poszczególnych komponentów robota,
- kontroli przemieszczeń i orientacji chwytaków,
- tworzenia programów sterujących,
- optymalizacji rozmieszczenia gniazd roboczych na liniach montażowych w fabrykach,
- symulacji i monitorowania wejść/wyjść,
- współpracy robotów w poszczególnych gniazdach.
Zaplanowane zadania mogą być symulowane z uwzględnieniem detekcji kolizji oraz pomiarów cykli pracy. Ponadto środowiska umożliwiają wgranie utworzonego oprogramowania do rzeczywistych urządzeń. Dzięki rozbudowanym bibliotekom, zawierającym m.in. wybrane typy robotów, pozycjonery, tory jezdne, mechanizmy, przenośniki i czujniki, istnieje możliwość łatwego tworzenia rozbudowanych aplikacji. Środowiska pozwalają również na import modeli z systemów komputerowego wspomagania projektowania CAD w wybranych formatach, a nawet w niektórych przypadkach są z nimi w dużym stopniu zintegrowane (np.: MELFA WORKS firmy Mitsubishi Electric jest instalowane jako moduł programu SOLIDWORKS). Wykorzystanie środowisk do programowania robotów oraz symulacji ich pracy pozwala m.in. na:
- szybkie przygotowanie oferty dla odbiorcy końcowego, włączając w to m.in.: organizację stanowiska produkcyjnego, wizualizację 3D, dobór robotów oraz przedstawienie ich zasięgów pracy, utworzenie filmów symulacji oraz zapisanie widoków stacji;
- wstępne opracowanie aplikacji sterujących robotami i określenie cykli pracy;
- import komponentów z bibliotek lub systemów CAD w wybranych formatach w celu wizualizacji i weryfikacji zajętości przestrzeni roboczej;
- szybkie dostosowanie zaproponowanego rozwiązania do potrzeb odbiorcy na etapie projektowania;
- redukcję ryzyka dzięki wizualizacji i potwierdzeniu zastosowanych rozwiązań;
- konfigurację zintegrowanych systemów bezpieczeństwa (np. SafeMove firmy ABB, DCS firmy FANUC);
- wprowadzanie do systemu nowych komponentów bez przerywania produkcji;
- optymalizację programów robotów w celu zwiększenia produktywności;
- prowadzenie szkoleń dotyczących m.in.: obsługi i programowania robotów, poznawania funkcjonalności programatorów i kontrolerów, zasad tworzenia zrobotyzowanych komór produkcyjnych, wykonywania testów uruchomieniowych oraz pomiarów kluczowych parametrów procesów technologicznych.
Wraz z wprowadzaniem kolejnych, bardziej rozbudowanych wersji środowisk rosną również wymagania systemowe. Każdy z producentów podaje minimalne wymagania, jednak należy przyjąć (biorąc pod uwagę rozwój komputerów), że nie są one bardzo wygórowane i oscylują dzisiaj na poziomie:
- system Windows 7 32/64 bitów,
- CPU Dual-Core,
- min. 4 GB RAM,
- karta graficzna min. 1 GB RAM,
- ok. 15 GB pamięci na dysku.
Wartości te zależą oczywiście od rozmiarów i złożoności tworzonych aplikacji oraz rozmiarów importowanych komponentów. Rozmiary plików CAD złożonych maszyn mogą osiągać kilkaset MB, co sprawia, że po ich zaimportowaniu płynna praca będzie możliwa jedynie z większą ilością RAM, a więc z użyciem systemu 64-bitowego. Z naszych doświadczeń wynika, że przy tworzeniu dużych projektów, zawierających dużą liczbę elementów, wymagania te szybko rosną i tylko najnowocześniejsze komputery spełnią oczekiwania użytkowników:
- system Windows 7/10 64 bitów,
- Procesor Intel Core i7,
- min. 8 GB RAM,
- karta graficzna min. 2 GB RAM,
- ok. 50 GB pamięci na dysku (najlepiej typu SSD).
1.1. RobotStudio firmy ABB
Obecnie firma ABB oferuje środowisko RobotStudio w wersji 6. Zróżnicowana polityka firmy sprawia, iż poszczególne wersje oprogramowania są udostępniane na różnych zasadach. W przypadku firmy ABB łatwo można zauważyć coroczne wprowadzanie kolejnych, nowych modyfikacji RobotStudio (rys. 1.3) oraz opracowywanie nowych modułów wspierających programowanie wybranych procesów technologicznych (np.: ArcWelding PowerPack, Cutting PowerPac, Machining PowerPac, Painting PowerPac), które po zainstalowaniu są w pełni kompatybilne z RobotStudio.
Rys. 1.3. Laboratorium Robotyki w środowisku RobotStudio firmy ABB
Jednocześnie firma ABB integruje ze środowiskiem dodatkowe narzędzia. Przykładem jest wbudowany (od wersji RobotStudio 5.13) ScreenMaker, który pozwala na tworzenie na Flex Pendancie okienkowych interfejsów pomocnych dla operatorów (rys. 1.4).
Pełną, trzydziestodniową wersję środowiska RobotStudio wraz ze wszystkimi dodatkami można pobrać ze strony producenta. Czas korzystania z tej wersji można wydłużyć, instalując odpowiednie klucze licencyjne. Uczelniom jest oferowany roczny klucz sieciowy (50 licencji), natomiast użytkownikom komercyjnym - licencje na pojedyncze stanowiska (na okres 6, 12, 24, 36... 60 miesięcy). Ich ceny zależą od czasu użytkowania. Po wygaśnięciu licencji program przestaje działać, a do jego uruchomienia jest wymagane odnowienie licencji na kolejny okres.
Rys. 1.4. Flex Pendant z aplikacją operatora wykonaną w ScreenMaker
RobotStudio jest w pełni kompleksowym środowiskiem pozwalającym na projektowanie złożonych obiektów graficznych, definiowanie ich stopni swobody oraz prowadzenie symulacji ruchu. Mimo że środowisko ma własny moduł projektowy CAD, możliwy jest import geometrii wykonanych w różnych formatach (m.in.: *.sat, *.rsgsx, *.wrl, *.stl, *.3ds). Pozostałe formaty można zamienić na rozpoznawalne przez RobotStudio dzięki użyciu dedykowanego konwertera.
Środowisko ma technologię wirtualnego kontrolera pozwalającą na dokładne odzwierciedlenie rzeczywistej pracy kontrolera, a co za tym idzie m.in. na dokładne wyznaczenie cykli pracy rzeczywistego urządzenia (na poziomie 99%). 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 backupu rzeczywistego robota można utworzyć system, który z powodzeniem może być oprogramowany 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, który można przeglądać w darmowym RobotStudio Station Viewer. Rozwiązanie jest bardzo przydatne (można odtwarzać symulację pracy, zmieniając widoki sceny oraz prędkość realizacji zadania) zwłaszcza w celu przedstawienia zaproponowanego rozwiązania odbiorcy końcowemu.
Roboty przemysłowe firmy ABB z kontrolerami IRC5 są programowane w języku RAPID. Programowanie może odbywać się trzema metodami:
- obiektowo w panelu symulacyjnym - programowanie wymaga znajomości podstaw języka RAPID,
- tekstowo w edytorze języka RAPID,
- tradycyjnie - przy użyciu Flex Pendanta.
Flex Pendant firmy ABB (rys. 1.5) w środowisku RobotStudio został odzwierciedlony bardzo dokładnie i pozwala na programowanie w trybie offline ze wszystkimi możliwościami i ograniczeniami rzeczywistego Flex Pendanta.
Rys. 1.5. Wirtualny i rzeczywisty Flex Pendant firmy ABB
Praca w trybie online nie różni się od pracy offline i w obu przypadkach są używane te same zakładki środowiska. Przejęcie kontroli nad robotem rzeczywistym jest możliwe w zakładce Controller. Przejęcie kontroli jest jednoznaczne i w tym samym czasie (z uwagi na zachowanie warunków bezpieczeństwa) nie ma możliwości jednoczesnej pracy na komputerze i Flex Pendancie. Podczas pracy z RobotStudio nie ma żadnych problemów w przypadku jednoczesnego uruchomienia wielu kontrolerów wirtualnych i rzeczywistych, a zakładka Controller umożliwia pełen dostęp do ich opcji konfiguracyjnych, co jest znacznym uproszczeniem dla użytkowników.
Połączenie komputera z robotem jest realizowane przez sieć Ethernet (złącze ethernetowe lub serwisowe) oraz odpowiednio zdefiniowane adresy IP urządzeń. Wśród nowinek ostatniej wersji środowiska należy wyróżnić: obsługę zintegrowanej wizji, przeniesienie obrazu z kamery na Flex Pendanta, możliwość konfiguracji programowego sterownika bezpieczeństwa SafeMove oraz zobrazowanie rzeczywistego robota w technologii 3D.