Roboty przemysłowe EPSON. Podstawy RC+ Express: symulacja paletyzacji
Kontakt w sprawie artykułu: Kamila Jaworowska - 2025-08-01

Z tego artykułu dowiesz się:
- jak skonfigurować wirtualnego robota w oprogramowaniu RC+ 8.0 Express Edition,
- jak skonfigurować paletę i zaprogramować aplikację paletyzującą,
- jak uruchomić symulację i przetestować program.
W tym artykule zaprezentujemy wykorzystanie oprogramowania RC+ do symulowania prostego procesu paletyzacji z wykorzystaniem robota przemysłowego EPSON. Na potrzeby artykułu wykorzystano oprogramowanie w wersji RC+ 8.0 Express Edition 1.1.1.0.
Konfiguracja robota
Po włączeniu środowiska, ukazuje się ekran wyboru połączenia z robotem lub z robotem wirtualnym.

Tutaj będę wykorzystywać robota wirtualnego.
Aby go utworzyć, należy wybrać opcję Setup virtual robot.

Po wybraniu tej opcji wyświetli się lista dostępnych wirtualnych robotów. Jako że nie utworzyłem jeszcze żadnych wirtualnych robotów, lista jest pusta.

Aby dodać nowego wirtualnego robota, należy nacisnąć przycisk z plusem.
W otwartym oknie dokonujemy wyboru typu robota, jego serii oraz modelu. Można również nadać nazwę wirtualnemu robotowi.

Należy teraz wybrać odpowiedniego robota. Użyty przeze mnie robot przedstawiony jest na ilustracji poniżej.
Wybór robota należy zatwierdzić przyciskiem Connect. Po połączeniu ukaże się nam okno projektu:

Na tym ekranie widzimy:
- z lewej strony menu robota,
- u góry załadowany do robota program,
- w centrum wszystkie napisane przez użytkownika programy.
Ustawienia robota
W obszarze menu robota po lewej stronie można wybrać:
- opcję Settings, w której ustawić można parametry narzędzia robota, sprawdzić i ustawić parametry robota oraz wejść w tryb Maintenance,
- tryb Manual Motion, który pozwala na poruszanie ręczne robotem,
- opcję To Program Protect mode, która pozwala zabezpieczyć edycję programów hasłem,
- opcję Disconnect, która rozłącza robota i przywraca program do okna początkowego.

Aby ustawić narzędzie robota, należy wejść w opcję Settings i wybrać Hand Settings.

Tutaj wybrać można typ chwytaka oraz przypisać wyjścia sterujące chwytakiem.

Przy wyborze typu chwytaka należy też wybrać liczbę wejść i wyjść obsługujących ten chwytak. Po wybraniu chwytaka można ustawić sygnał sterujący, stan sygnału, który aktywuje akcję oraz czas, po którym chwytak wykona zadaną mu akcję.
Poniżej znajduje się wybrany chwytak z ustawionymi wejściami.

Zmiany należy zatwierdzić przyciskiem Apply. Po zatwierdzeniu można przetestować działanie chwytaka przyciskami Grip i Release.
Aby ustawić Offset dodanego chwytaka, należy z lewej strony zmienić zakładkę na Tool Offset.

Na tym ekranie można ustawić ręcznie Offset narzędzia, użyć Tool Offset Wizard, który pozwala określić wymiary chwytaka, używając metody trzypunktowej (przydatne przy prawdziwym robocie) lub zresetować Offset chwytaka.

Po prawej stronie widoczne jest okno symulacji, w którym widoczny jest TCP robota. Zmiany należy zatwierdzić przyciskiem Apply.
Poniżej znajduje się ustawienie Offsetu użyte w tym artykule.

Teraz można przejść do pisania programu.
Aby cofnąć się do poprzedniego ekranu należy kliknąć ikonę strzałki na lewym pasku. Aby wrócić do ekranu głównego projektu, należy wybrać ikonę domu na lewym pasku.
Utworzenie i edycja programu
Aby utworzyć nowy program, należy nacisnąć przycisk Create.

Otworzy się wtedy okno tworzenia programu.

Wybrać w nim można gotowy szablon (template) programu, utworzyć pusty program lub zaimportować już istniejący program. Program należy nadać nazwę.
Tutaj utworzymy pusty program (opcja Empty program).
Po utworzeniu programu przeniesieni zostaniemy do widoku głównego. W nim zauważyć możemy, że program nasz został utworzony i jest on załadowany.

Aby zacząć edytować ten program, należy wybrać opcję Edit. Po załadowaniu pojawia się edytor programu.

Na pasku z lewej strony widoczne są ikony pozwalające kolejno na:
- powrót do ekranu domowego,
- ruch ręczny robotem,
- menedżer tworzenia palet,
- lista punktów zapisanych w pamięci robota,
- wyświetlenie napisanego przez nas kodu w języku Spel z możliwością jego eksportowania.

Po prawej od powyższej zakładki znajduje się lista komend, które można wydać robotowi. Jest ona podzielona na kategorie i pozwala wydawać robotowi podstawowe polecenia, takie jak włączenie silników, ruch robotem i odczyt/wystawienie sygnałów I/O.

Opisy wszystkich komend, które możemy wydać robotowi, znajdują się w dokumentacji oprogramowania. Aby ją wyświetlić, należy w lewym dolnym rogu okna kliknąć ikonę znaku zapytania w kółku i wybrać opcję Manual.
W przeglądarce internetowej otworzy się wtedy plik z dokumentacją.

Aby znaleźć opis interesującej nas funkcji, lub każdej innej części programu, należy w polu wyszukiwania wpisać jej nazwę.

Przykładowo wyszukałem dokumentację funkcji Move to:

W środkowej części okna edytora programu zauważyć można pole, w którym umieszczane będą komendy – faktyczny program. Póki co ekran informuje nas tylko, w jaki sposób umieścić pierwszą komendę.

W lewym górnym rogu tego pola znajduje się przycisk Settings, który otwiera menu ustawień. W nim zmienić można ustawienia niektórych z komend – progi prędkościowe komend ruchowych, odległość podjazdu oraz odjazdu ruchów i tryb LJM (Least Joint Motion), który zapewnia minimalny ruch złączy podczas wykonywania ruchu.

Zmiany można zatwierdzić przyciskiem OK. Nastąpi wtedy powrót do okna edytora programu.
W zakładce z prawej strony znajdować się będzie krótki opis oraz parametry funkcji wybranej w polu edycji programu.

W prawej górnej części okna edytora zauważyć można ikony statusu robota.

Na dolnym pasku znajdują się przyciski służące do uruchamiania programu, podgląd I/O robota oraz widok 3D, przydatny w celu weryfikacji ruchów robota.
Prosta aplikacja paletyzacji
Aby dodać paletę, należy z lewej strony wejść w zakładkę Pallets. Otworzy się wtedy menedżer palet wraz z widokiem 3D robota i istniejących już palet.

Aby dodać paletę, należy użyć przycisku Create. Wyświetli się wtedy okno tworzenia palety.

W tym oknie należy wybrać liczbę wierszy i kolumn palety, a następnie zatwierdzić przyciskiem Next.
Po zatwierdzeniu wyświetlone zostanie okno nauczania rogów palety. Kolejne punkty można wpisać ręcznie lub nauczyć punktem, w którym znajduje się TCP robota.

Aby nauczać punkty robotem, należy najpierw włączyć silniki robota suwakiem Motor z prawej strony i zatwierdzić komunikat włączenia.

Po włączeniu silników, funkcje ręcznego manewrowania robotem stają się dostępne.

Teraz należy podjechać robotem w wybrany punkt i wybrać opcję Teach. Aby sprawnie poruszać się w przestrzeni 3D z robotem, należy znać sposób kontrolowania tej przestrzeni:
- przytrzymanie lewego przycisku myszy i ruch myszką powodują obrót kamery po kuli od punktu centralnego,
- przytrzymanie prawego przycisku myszy i ruch myszką pozwalają na ruch liniowy kamery,
- kółko myszy pozwala na przybliżanie kamery.
Dodatkowo w prawym dolnym rogu okna z przestrzenią 3D znajdują się dwa przyciski pozwalające wybrać rzut z boku i z góry.

Aby poruszać robotem funkcjami ręcznego manewrowania, należy wybrać układ współrzędnych, w którym chcemy się poruszyć, prędkość ruchu, ciągłość ruchu i wybrać odpowiednią oś/płaszczyznę oraz kierunek ruchu. W celu wyznaczenia punktu palety wykorzystam przestrzeń kartezjańską.

Teraz należy podjechać do punktu, którego chcemy nauczyć.

Po dojechaniu do pozycji wybieramy przycisk Teach.
W ten sam sposób uczymy pozostałych punktów palety.
Jeżeli robot wyjedzie poza granicę swojego zasięgu, wycofanie w trybie liniowym staje się niemożliwe. Jednym z możliwych rozwiązań tego problemu jest powrót do pozycji domowej. Opcję tą należy wybrać z poziomu okna sterowania ręcznego. Po jej wybraniu pokaże się okno z przyciskiem Run, który należy przytrzymać do momentu zakończenia ruchu.

Wrócić też można do poprzednio nauczonego punktu palety, klikając na ten punkt i używając opcji Go here.

Wygląd palety po poprawnym nauczeniu wszystkich punktów:

Jeżeli współrzędne punktów palety nie odpowiadają nam, można je zmodyfikować ręcznie. W moim przypadku zaokrągliłem i wyrównałem odpowiednie wartości położenia punktów oraz przesunąłem paletę dalej od robota.

Po zmianie parametrów należy sprawdzić za pomocą przycisku Go here, czy wszystkie punkty znajdują się w zasięgu robota. Jeśli punkt nie znajduje się w zasięgu robota, wyświetli się taki komunikat:

Należy wtedy zmienić ten punkt.
Program po przypisaniu poprawnych parametrów x,y punktom palety:

Zauważyć można jeszcze, że nauczone punkty palety znajdują się pod ziemią (znak parametru “Z” punktów jest ujemny mimo tego, że flansza robota znajduje się nad ziemią. Jest to spowodowane offsetem narzędzia, który ustawiony został na 20 mm. Aby paleta znajdowała się dokładnie na ziemi, parametr “Z” każdego punktu należy ustawić na 0 mm.
Poniżej widok okna z poprawnie utworzoną paletą:

Należy przejść do następnej części tworzenia palety przyciskiem Next. W kolejnym oknie określić można kierunek oraz punkt startowy palety.

Projektowanie palety kończymy przyciskiem Finish. W oknie widać teraz utworzoną paletę na liście palet.

Teraz można wrócić do edycji programu ,wybierając odpowiednią ikonę na pasku z lewej strony.

Aby dodać komendę, należy ją znaleźć i kliknąć. Pojawi się ona wtedy w programie.
Dodanie polecenia włączenia silników (Low power):

Przez dodawanie kolejnych poleceń tworzymy program paletyzacji.
Logika programu jest taka, że najpierw następuje włączenie silników oraz ruch do pozycji domowej. Następnie wykonywana jest nieskończona pętla for, w której robot jedzie do punktu poboru, następnie odkłada na kolejne pola palety. Gdy paleta będzie pełna, robot wróci do pozycji domowej i wyświetli się komunikat o zapełnieniu palety. Po zatwierdzeniu tego komunikatu, robot wykona paletyzację jeszcze raz.
Dodamy teraz komendę ruchu do pozycji domowej i ustawimy pozycję domową. Z przybornika funkcji wybieramy komendę Move to. W parametrach funkcji należy wybrać nazwę punktu, do którego ruszy się robot.

Po nazwaniu punktu należy użyć opcji Jog & Teach, aby nauczyć robota pozycji.

Otworzy się wtedy widok 3D z możliwością ruchu robota. Po ustawieniu robota w odpowiedni punkt należy użyć przycisku Teach.

W parametrach funkcji Move To znaleźć można również prędkość, przyspieszenie i spowolnienie wykonywania ruchu.

Teraz należy dodać pętlę i ustawić ją w tryb nieskończony.

Następnie dodajemy ruch do punktu poboru i musimy też zdefiniować punkt poboru. Do tego użyję funkcji z podjazdem i odjazdem Pick from. Jeżeli funkcja doda się poza pętlą, należy przeciągnąć ją do pętli.
Punkt poboru należy ustawić tak samo, jak w przypadku ustawiania pozycji domowej – kliknąć na funkcję Pick from, nazwać punkt i nauczyć go opcją Jog & Teach.
Po rozwinięciu funkcji Pick from zauważyć można, że składa się z wielu elementów. Są to: ruch do punktu dojazdu, ruch do obiektu, zaciśnięcie chwytaka, czekanie aż chwytak się zamknie (stała czasowa), ruch do punktu odjazdu.

Aby dodać odkładanie palety, należy wykorzystać funkcję Place at.

Jako że chcemy, aby punkt docelowy był na palecie, nie nauczamy punktu, tylko wybieramy w właściwości funkcji opcję Pallet i wybieramy paletę.

Punktem docelowym tej komendy będzie wybrany początkowy punkt palety, zdefiniowany przy jej tworzeniu.
Teraz należy dodać warunek pełnej palety, który zwracać będzie wiadomość. Dodajemy w tym celu instrukcję warunkową if.

Należy teraz wybrać warunek, który będzie sprawdzany przez instrukcję. Aby to zrobić, w zakładce parametrów instrukcji If należy wybrać Add Condition oraz odpowiednią zmienną sprawdzaną.
W tym celu należy kliknąć pole obok if i wybrać odpowiednią zmienną. Istnieje zmienna Pallet1 w zakładce Pallet. Należy ją wybrać.

Teraz należy ustawić warunek. Chcemy, aby program przerwał się, gdy paleta będzie pełna, więc wybieramy 12 (End).

Teraz należy wybrać odpowiednią akcję wykonywaną, gdy warunek jest spełniony. W segmencie Then należy więc dodać obiekt Notify.

W parametrach obiektu należy wpisać wyświetlaną wiadomość.

Gdy komunikat zostanie zatwierdzony, pozycję na palecie należy zresetować. W tym celu w gałęzi OK należy dodać funkcję Reset i podać w parametrze odpowiednią paletę.

Następnym krokiem jest wybranie kolejnej pozycji na palecie. W tym celu należy dodać instrukcję Move forward i umieścić ją w gałęzi Else. W parametrach funkcji wybieramy odpowiednią paletę.

Teraz program można uruchomić.
Istnieją dwie opcje uruchomienia:
- Rehearsal – opcja pozwalająca na debugowanie programu: zatrzymanie i wznowienie go w każdej chwili,
- Start – opcja uruchamiająca program i wykonująca go tak, jak został napisany.
Przed uruchomieniem programu należy włączyć widok 3D poprzez wciśnięcie ikonki 3D view w prawym dolnym rogu okna.

Uruchomimy program w trybie debugowania. Naciskamy przycisk Rehearsal.
Po załadowaniu pojawi się okienko informujące o tym, że program będzie wykonywany w niskiej prędkości. Zatwierdzamy przyciskiem Run.

Po zatwierdzeniu w polu edycji programu zaznaczy się właśnie wykonywane polecenie. Pojawi się również okno z przyciskiem Run, który należy trzymać cały czas, aby robot wykonywał ruch.

Podczas przytrzymywania przycisku Run wykonywane aktualnie komendy zmieniają się, a robot w widoku 3D porusza się.

Po przejrzeniu programu widać, że paletyzacja działa prawidłowo, komunikat o pełnej palecie wyświetla się, a po jego zatwierdzeniu robot zaczyna wykonywać paletyzację od nowa.
Brakuje jednak spełnienia jednego warunku z wcześniej zapisanej logiki programu. Robot po zapełnieniu palety najpierw powinien wrócić do pozycji domowej, dopiero potem wysłać komunikat o zapełnieniu palety. Brakuje więc ruchu do pozycji domowej.
Aby ją dodać, najpierw należy opuścić tryb Rehearsal mode. Aby to zrobić, należy zamknąć okno z przyciskiem Run. Po powrocie do edycji programu, w gałęzi Then instrukcji warunkowej If przed funkcją Notify należy dodać funkcję Move to.

Aby ustawić punkt domowy, nie wystarczy wpisać nazwy punktu z pierwszego ruchu, gdyż nigdy nie zapisaliśmy go na liście punktów robota. Aby dodać go do tej listy, należy wybrać ruch do pozycji domowej i z okna parametrów funkcji wybrać Go here i wykonać ruch.

Teraz z lewej zakładki programu wybrać ikonę Point file.

Wyświetli się wtedy okno z punktami.

Aby nauczyć robota punktu, w którym teraz się znajduje, należy wybrać interesujący nas punkt, następnie w prawym górnym rogu wybrać opcję Jog & Teach i w nowym oknie Teach.

Punkt ten został utworzony.

Należy teraz wrócić do widoku edytora programu, używając odpowiedniej ikony z lewej strony ekranu.

Teraz w parametrach obu funkcji Move to wybrać można Fixed point, a następnie Point file.


Wskazujemy na zerowy punkt. Zatwierdzamy przyciskiem Point select.

Tak stworzony program będzie działał zgodnie z zadaną logiką.

Aby przyspieszyć działanie programu, parametr Motor ON ustawić można na HIGH, a prędkości każdego ruchu zwiększyć.
Po włączeniu 3D View, wciśnięciu przycisku Run i wyborze prędkości programu widoczny będzie pełen cykl pracy robota.

Cykl można zatrzymać przyciskiem Pause i wyłączyć przyciskiem Stop.
Autor artykułu:
Konrad Kamiński
Praktykant ASTOR
Student III roku kierunku Automatyka i robotyka na Politechnice Poznańskiej