Pakiet MELFA WORKS – narzędzie do programowania robotów przemysłowych

Wirtualne środowiska robotów są aplikacjami umożliwiającymi modelowanie i programowanie robotów oraz prowadzenie symulacji ich pracy w trybach offline i online z wykorzystaniem standardowego komputera PC. W piątym odcinku naszego redakcyjnego cyklu prezentujemy pakiet MELFA WORKS, będący dodatkiem do środowiska projektowego SOLIDWORKS.

Pakiet oprogramowania MELFA WORKS stanowi wydajne narzędzie i umożliwia trójwymiarową symulację zrobotyzowanych stanowisk produkcyjnych wyposażonych w roboty firmy Mitsubishi Electric. Jest dodatkiem do środowiska SOLIDWORKS (inżynierowie chcący go używać muszą się w niego zaopatrzyć), pozwala więc na wykorzystanie wszystkich zaawansowanych funkcji tego nowoczesnego, trójwymiarowego pakietu CAD, łącznie z zasobami jego bibliotek – m.in. chwytaków, czujników i transporterów.

Charakterystyka pakietu MELFA WORKS

Obecnie firma Mitsubishi Electric oferuje pakiet MELFA WORKS 4.1, wersja 32/64 bity. Pozwala on m.in. na: wstawianie z bibliotek robotów, wybór języka programowania (obecna wersja to Melfa Basic V), tworzenie punktów oraz trajektorii ruchu robotów i definiowanie sygnałów wejść/wyjść. Do pakietu MELFA WORKS jest dołączony program RT ToolBox2 (mini), który umożliwia tworzenie programów sterujących i konfigurację parametrów robotów (opcja mini zapewnia ograniczoną liczbę modeli robotów, więc wygodnie jest się zaopatrzyć w pełną wersję RT ToolBox2). Na rys. 1 przedstawiono konfigurację produktu.

Rys. 1. Ogólny widok konfiguracji MELFA WORKS

Wymagania sprzętowe dla MELFA WORKS nie są wygórowane i raczej należy zwrócić uwagę na wymagania środowiska SOLIDWORKS (zwłaszcza przy uruchamianiu dużych projektów i dokładnie odwzorowanych komponentów projektowanych stacji). Pakiet jest przeznaczony do systemu Windows 7 i starszych wersji tego systemu. Autorzy artykułu testowali go jednak zarówno z wykorzystaniem Windows 7 (64 bit), jak i Windows 10 oraz SOLIDWORKS 2015 z SP04 i nie zauważyli problemów z funkcjonowaniem całego środowiska narzędziowego i systemowego. Podczas testowania pakietu wykorzystano projekt stanowiska montażowego (zaprojektowanego i dostarczonego przez firmę MPL System – stanowisko rzeczywiste jest częścią wyposażenia Laboratorium Robotyki Katedry Mechatroniki Wojskowej Akademii Technicznej). Z uwagi na złożoność modelu stanowiska – pomimo wykorzystania komputera o wysokich parametrach sprzętowych (procesor i7, RAM 8 GB, dysk SSD 250 GB, karta grafiki 2 GB) – praca nie była komfortowa (rys. 2), występowały bowiem problemy z odświeżaniem grafiki.

Rys. 2. Ogólny widok stanowiska montażowego wyposażonego w dwa roboty firmy Mitsubishi Electric

Zaproponowane przez firmę Mitsubishi Electric rozwiązanie z postaci pakietu MELFA WORKS do SOLIDWORKS niesie ze sobą szereg korzyści. W odróżnieniu od pozostałych producentów (np. ABB, FANUC, KUKA) nie ma tu konieczności przenoszenia modeli 3D z przeznaczonego do tworzenia projektów CAD programu do specjalnego środowiska robotów, a sam SOLIDWORKS załatwia szeroki wachlarz obsługiwanych typów plików CAD. Podejście takie spowodowało jednak oddzielenie „wirtualnego kontrolera”, który jest tutaj obsługiwany przez odrębne oprogramowanie czasu rzeczywistego RT ToolBox2 (rys. 3), będące środowiskiem programistycznym przeznaczonym do wszystkich robotów Mitsubishi Electric. Wykorzystując języki programowania robotów (Melfa Basic V lub Melfa Basic IV), umożliwia tworzenie programów sterujących, ich testowanie i optymalizację. Ponadto dzięki fizycznemu połączeniu komputera z robotem za pomocą sieci Ethernet, łącza USB lub szeregowego, jest on „łącznikiem” MELFA WORKS z rzeczywistym robotem. RT ToolBox2 pozwala na monitorowanie i wizualizację ruchów robota online oraz wyświetlanie na ekranie w czasie rzeczywistym m.in. wykonywanych programów, prędkości poszczególnych osi i prądów silników oraz stanów wszystkich wejść i wyjść robota. Oprogramowanie RT ToolBox2 dostarcza również narzędzi do archiwizacji programów i wykonywania kopii zapasowej systemu.

Rys. 3. Ogólny widok programu RT ToolBox2

Wśród głównych funkcji programu należy wyróżnić:

-> funkcję „trybu uczenia” do określania online pozycji robota,

-> trójwymiarowe zobrazowanie pozycji robota,

-> kontrolę składni programów sterujących,

-> monitorowanie stanu wejść/wyjść robota,

-> monitorowanie stanu zmiennych,

-> wykonywanie poleceń online,

-> diagnostykę błędów,

-> dostęp do edytora pozycji,

-> funkcje zarządzania projektami.

Rys. 4. Ogólny widok zakładki Dodatki SOLIDWORKS – włączenie dodatku MELFA WORKS

W trakcie instalacji oprogramowania producent zaleca w pierwszej kolejności zainstalowanie programu RT ToolBox, a następnie (po instalacji SOLIDWORKS) doinstalowanie pakietu MELFA WORKS.

Tworzenie programów dla robotów może się odbywać trzema metodami: 

-> obiektowo, w pakiecie MELFA WORKS (rys. 10);

-> tekstowo, w edytorze języka Melfa Basic w programie RT ToolBox2 (rys. 12);

-> przy użyciu teach pendanta (wirtualnego lub rzeczywistego) – metoda tradycyjna.

Tworzenie stanowiska roboczego

Zasady tworzenia stanowisk roboczych z wykorzystaniem MELFA WORKS zostaną przedstawione na przykładzie rzeczywistego stanowiska, znajdującego się w Laboratorium Robotyki w Wojskowej Akademii Technicznej. Zostanie ono utworzone w MELFA WORKS 4.1 (64-bit).

Pracę z pakietem można rozpocząć po jego instalacji. Przy pierwszym uruchomieniu MELFA WORKS (uruchamia się po włączeniu SOLIDWORKS) konieczne jest aktywowanie dodatkowych opcji w SOLIDWORKS (zakładka Narzędzia/Dodatki – rys. 4). Dzięki temu dodatek MELFA WORKS będzie dostępny z poziomu belki narzędziowej (rys. 5).

Rys. 5. Uruchomienie dodatku MELFA WORKS

Po uruchomieniu pakietu w pierwszej kolejności należy utworzyć przestrzeń roboczą (Workspace), w której powstanie projekt. Utworzony w MELFA WORKS projekt może być otwarty w programie RT ToolBox2 w celu pełnego przetestowania programu sterującego robota dla konkretnego kontrolera, wgrania go do rzeczywistego robota (jeśli RT ToolBox2 jest w trybie online) oraz modyfikacji programu w języku MELFA BASIC. Zakładka Workspace umożliwia utworzenie nowego projektu, wgranie istniejącego, zapisanie projektu i zamknięcie go (rys. 6).

Rys. 6. Utworzenie nowej przestrzeni roboczej – Workspace

Na rys. 7–1 przedstawiono okno dialogowe MELFA WORKS. Znaczenie przycisków jest następujące:

-> Robot setting – wybór robota, typu kontrolera, języka programowania, przyłączanie narzędzi, definiowanie toru jezdnego;

-> Layout – definiowanie sceny stanowiska (rozmieszczenia komponentów stacji w SOLIDWORKS);

-> Robot operation – poruszanie robotem (ustawianie pozycji narzędzia) z uwzględnieniem konfiguracji robota;

-> Frame – definiowanie układów współrzędnych w przestrzeni CAD;

-> Work-flow – definiowanie ścieżek robota na podstawie punktów lub z wykorzystaniem krawędzi, konwersja utworzonej ścieżki do programu robota;

-> Virtual controller – uruchomienie wirtualnego kontrolera, który jest odzwierciedleniem danego typu kontrolera rzeczywistego;

-> Check interference – detekcja kolizji pomiędzy komponentami znajdującymi się w różnych grupach (możliwość zdefiniowania dwóch takich grup).

Po utworzeniu nowego projektu kolejnym etapem jest zbudowanie stacji roboczej (ang. Layout). W większości przypadków będzie ona zawierać roboty z osprzętem oraz wcześniej utworzone modele CAD. Dodanie robota do projektu oraz jego pełna konfiguracja są możliwe po kliknięciu przycisku Robot setting (rys. 7 – okno dialogowe 1). Jak widać na rys. 7 (okno dialogowe 2), istnieje możliwość dodania ośmiu robotów do tworzonego projektu (systemy RC1-RC8). Kliknięcie na dany kontroler oraz przyciśnięcie przycisku Change daje możliwość konfiguracji robota (rys. 7 – okno dialogowe 3). Użytkownik wybiera wówczas konkretny typ kontrolera, język programowania i model robota (opcja Show robot pozwala na wizualizację robota w SOLIDWORKS). W dalszej części istnieje możliwość dodania efektora (okno Hand) oraz definiowania narzędzia (okno Tool).

Rys. 7. MELFA WORKS – okna dialogowe zakładki Robot setting

Przyciski Connect/Disconnect pozwalają na automatyczne podpięcie narzędzia do kołnierza robota – jeżeli zostało ono poprawnie zdefiniowane (zwłaszcza jego układ początkowy), wówczas po kliknięciu przycisku Connect zostanie automatycznie podpięte do kołnierza robota. Przycisk Signal setting umożliwia zdefiniowanie sygnałów sterujących, wykorzystywanych do wizualizacji uchwycenia/upuszczenia detalu manipulacji przez chwytak podczas symulacji pracy stanowiska. Ostatni segment okna dialogowego – Travel base – pozwala na zdefiniowanie toru jezdnego.

Rys. 8. Signal setting – Hand I/O – zakładka definiowania sygnałów wejść/ wyjść robota

Podczas rozmieszczania poszczególnych elementów na scenie można wspomagać się oknem dialogowym Layout (główne okno dialogowe pakietu MELFA WORKS – rys. 5 i 9). Położenie komponentów może być realizowane w oparciu o różnego typu układy współrzędnych (np. początkowy układ współrzędnych poszczególnych komponentów). Przy rozstawianiu komponentów stanowiska wygodnie jest skorzystać z funkcji wiązania w SOLIDWORKS.

Rys. 9. Okno dialogowe Layout – definiowanie położenia robota

Po zdefiniowaniu położenia i orientacji wszystkich komponentów uzyskuje się wizualizację zrobotyzowanego stanowiska produkcyjnego, przygotowanego do tworzenia aplikacji sterującej dla robotów. Na rys. 2 przedstawiono stanowisko, w skład którego wchodzą dwa roboty przemysłowe firmy Mitsubishi Electric (RV-2SD oraz RH-3SDHR3515).

Tworzenie programu na robota

Rys. 10. Okno dialogowe Work-flow – definiowanie trajektorii

Ścieżkę robota tworzy się w oknie dialogowym Work-flow (rys. 10). Na górnej ramce okna widoczny jest aktywny kontroler (w omawianym przypadku RC: 1), dla którego tworzymy program. W przypadku operacji Pick and Place można przemieścić robota do żądanych pozycji (używając okna dialogowego Robot operation) i z wykorzystaniem okna Work-flow pozyskać konfigurację robota w danych punktach (Get location – klikając dwukrotnie na danej pozycji, można ją edytować i modyfikować). Następnie należy utworzyć nowy program (np. FLOW1 – rys. 10–2). Po wyborze układu współrzędnych oraz typu ruchu robota do punktu (np.: MOV – ruch zgrupowany, MVS – ruch w interpolacji liniowej), klikając przycisk Add to Flow, można dodać poszczególne punkty do ścieżki robota. Ostatnim krokiem jest kliknięcie przycisku Conv w celu utworzenia grupy plików dla kontrolera:

-> MXT***.mxt – dane ścieżki obrabianej powierzchni,

-> MXT***.cal – kopia pliku MXT***.mxt,

-> CLB.prg – program kalibracyjny,

-> CLB.cal – kopia pliku CLB.prg,

-> FLOW.prg – trajektoria ruchu przekonwertowana w postać programu robota, na podstawie danych ścieżki.

Rys. 11. Program RT ToolBox2 – otwieranie projektu

Przyciśnięcie przycisku Conv powoduje otwarcie okna Output (rys. 10–4), w którym istnieje możliwość wprowadzenia nazwy programu robota.

Po zakończeniu programowania należy zapisać utworzony projekt (główne okno MELFA WORKS – zakładka Workspace). Dzięki temu możliwe będzie otwarcie projektu w programie RT ToolBox2.

Rys. 12. Program RT ToolBox2 – widok robota i edytora programu

Prowadzenie symulacji i analiza jej wyników

Symulację pracy robotów można prowadzić na różne sposoby. Po włączeniu programu RT ToolBox2 możliwe jest otwarcie utworzonego w MELFA WORKS projektu (rys. 11) i modyfikacja wygenerowanych programów sterujących robotem (rys. 12). Ponieważ głównym zadaniem w MELFA WORKS było wygenerowanie ścieżki robota, więc dopisanie logiki funkcjonowania programu (np. obsługa wejść/wyjść robota) jest realizowane w edytorze programu w RT ToolBox2 (rys. 12). Po modyfikacji programu w trybie offline należy przejść do trybu online lub trybu symulatora (np. za pomocą przycisków Online lub Simulator, znajdujących się na belce narzędziowej programu RT ToolBox2). Wynikiem włączenia symulacji jest otwarcie okna panelu operatora (zielonego w trybie symulacji komputerowej – rys. 12).

Rys. 13. Program RT ToolBox2 – włączenie trybu symulacji

Po kliknięciu prawym przyciskiem myszki na programie RT ToolBox2 (drzewo projektu po lewej stronie okna programu) można go transferować do kontrolera – objawia się to pojawieniem się programu w zakładce online (rys. 12 – Transfer all to the Controler); program może być wówczas wybrany na panelu operatora (przycisk Select – rys. 13) i uruchomiony przyciskiem START (robot w oknie programu RT ToolBox2 powinien poruszać się zgodnie z zaprogramowaną trajektorią ruchu). Podłączenie projektu w MELFA WORKS do wirtualnego kontrolera jest realizowane za pomocą przycisku Connect (rys. 14). Na panelu operatora, w oknie programu, powinna się pojawić nazwa programu (jeśli jej nie ma, należy użyć przycisków UP lub DOWN). Przyciśnięcie teraz przycisku START na panelu operatora w programie RT ToolBox2 lub MELFA WORKS powoduje uruchomienie animacji w obu tych programach jednocześnie.

Rys. 14. MELFA WORKS – panel operatora

Jak już wspomniano, program RT ToolBox2 udostępnia szereg narzędzi wspomagających analizę i optymalizację pracy robotów (m.in. analizę: pozycji, prędkości i obciążenia osi, prądową napędów, temperaturową enkoderów i kontrolerów – rys. 15). Przykładowy oscylograf pracy poszczególnych osi robota przedstawiono na rys. 15.

Rys. 15. Oscylogramy pozycji osi oraz pozycji TCP w skali czasu

Podsumowanie

Nowatorskie podejście firmy Mitsubishi Electric, widoczne w opracowaniu pakietu programowego MELFA WORKS dla środowiska SOLIDWORKS, pozwala zapomnieć o konwersji plików CAD i daje dużą swobodę w budowie zrobotyzowanych stanowisk produkcyjnych. Optymalne wykorzystanie pakietu jest możliwe dopiero po zainstalowaniu pełnej wersji programu RT ToolBox2. Podczas pracy z takim pakietem konieczne jest jednoczesne korzystanie z wielu okien dialogowych, co dla początkujących użytkowników może stwarzać pewne problemy. Program RT ToolBox2 całkowicie spełnia jednak swoją funkcję, zarówno podczas prowadzenia symulacji, jak i w trybie online przy pracy z rzeczywistym robotem, co było testowane z wykorzystaniem podłączenia komputera do robota za pomocą sieci Ethernet.

Autorzy:

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.