Konfiguracja nowej funkcji paletyzacji w robotach Universal Robots.
Roboty współpracujące firmy Universal Robots zapewniają łatwą automatyzację oraz integrację nowych rozwiązań dla szerokiej gamy aplikacji przemysłowych, takich jak montaż, malowanie, wkręcanie, spawanie, polerowanie, pakowanie czy w końcu paletyzacja. Z uwagi na dużą ilość wdrożonych aplikacji dla procesu paletyzacji/pakowania producent robotów Universal Robots umieścił gotową funkcję w oprogramowaniu robota „PolyScope” tak aby ułatwić i przyspieszyć proces tworzenia algorytmu ruchu robota.
Funkcja ta nosi nazwę „Palletizing” i istnieje od wczesnych wersji środowiska „PolyScope”, jednak od wersji oprogramowania PolyScope 5.3.x.x jej możliwości w istotny sposób zostały poszerzone. Paletyzacja Universal Robots oprócz standardowego wzorca dla pojedynczej warstwy palety została wzbogacona o możliwość dodawania wielu warstw, czy dodatkowego ruchu przy umieszczaniu ochronnych przekładek między warstwami. W niniejszym artykule postaram się przedstawić możliwości i konfigurację najnowszej funkcji paletyzacji dla robotów Universal Robots e-Series.
Wstawianie funkcji paletyzacji w programie
Po uruchomieniu robota tworzymy nowy program. Oczywiście przed programowaniem funkcji użytkownik musi zadbać o poprawne skonfigurowanie parametrów instalacyjnych robota. Jeżeli ta część nie jest jasna należy skorzystać z wcześniejszych artykułów na naszym blogu „Pierwsza konfiguracja robota Universal Robots” oraz „Pierwszy program robota Universal Robots”. Na górnej belce oprogramowania robota wybieramy zakładkę „Program”, następnie z menu instrukcji robota wybieramy katalog „Templates” i wstawiamy do programu funkcję „Palletizing” (rys. 1).
Rysunek 1 Wstawienie do programu funkcji paletyzacji
Główne parametry funkcji paletyzacji
Po wstawieniu instrukcji w głównym drzewie programu robota pojawi się logiczna konstrukcja funkcji paletyzacji/depaletyzacji. Po prawej stronie w zakładce „Command” po zaznaczeniu w katalogu drzewa programu poziomu Pallet1 pojawią się dodatkowe parametry dla opisywanej funkcji (rys. 2).
Rysunek 2 Parametry główne funkcji paletyzacji
Palletizing/Depalletizing – paletyzacja czy depaletyzacja. W funkcji paletyzacji wcześniej chwytamy przedmiot a następnie umieszczamy go na pozycji w palecie, w depaletyzacji podnosimy przedmiot z palety a następnie transportujemy go do punktu odbioru. W naszym przypadku wybierzemy funkcję paletyzacji.
Pallet Properties – właściwości palety. Tu możemy zmienić następujące ustawienia:
- Name – nazwa funkcji paletyzowania.
- Feature – wybór układu współrzędnych względem którego ma odbywać się ruch liniowy przy wyznaczaniu pozycji dla elementu na palecie, punkty dojazdu i wyjścia przy sekwencji ruchu. Możemy skorzystać z współrzędnych względem bazy lub wyznaczyć swój lokalny układ współrzędnych (użytkownika).
- Object high – wysokość obiektu (paczki), który(-a) ma być paletyzowany(-a) (w naszym przypadku 100 mm).
- Item Counter – nazwa zmiennej, która będzie przechowywała indeks wykonanych ruchów w procesie paletyzacji.
- Remeber last item location – opcja do zaznaczenia gdy chcemy aby robot pamiętał indeks ostatniej pozycji w procesie paletyzacji, np. program został zatrzymany, po włączeniu robota robot kontynuuje ruch od ostatniej zapamiętanej pozycji.
Actions – w tym polu możemy ustawić czy mają być wykonywane dodatkowe akcje w procesie paletyzacji.
- Add action before palletizing – wykonaj raz akcję przed wywołaniem funkcji paletyzacji.
- Add action after palletizing – wykonaj raz akcję po zakończeniu funkcji paletyzacji.
W powyższych akcjach możemy wywołać dodatkowe instrukcje startowe lub takie, które wykonają się raz po zakończeniu procesu paletyzacji.
Wybór wzoru dla warstwy palety
Po wstępnej konfiguracji funkcji paletyzacji przechodzimy do poziomu drzewa programu „Patterns”. Tu będziemy wybierali jedną z pośród trzech opcji (rys. 3) wzorów ułożenia kartonów na warstwie palety.
Rysunek 3 Wybór wzoru warstwy na palecie
Do wyboru mamy następujące wzory ułożenia produktu na warstwie:
- Line – paczki ułożone w prostej linii, wymaga podania dwóch punktów kontrolnych - początek i koniec.
- Grid – paczki ułożone w formie prostokąta, wymaga podania czterech punktów kontrolnych - wierzchołki prostokąta.
- Irregular – paczki ułożone są w sposób nieregularny, tworzymy tyle punktów kontrolnych ile jest kartonów.
Dodatkowo w nowym konfiguratorze mamy do wyboru możliwość zastosowania separatora/przekładki między warstwami, który wprowadzi pewne przesunięcie dla pozycji kartonów dla poszczególnych warstw. Ponadto pojawi się możliwość zaprogramowania dodatkowego ruchu w celu pochwycenia i odłożenia przekładki. W naszym przykładzie wybieramy wzorzec warstwy typu „Grid” oraz wstawiamy warstwę separatora, gdzie wysokość warstwy separatora to 10 mm.
Konfiguracja wzoru dla warstwy na palecie
Po wybraniu powyższych parametrów w drzewie programu pojawi się nowy wzór warstwy palety, w której będą umieszczone niezdefiniowane cztery punkty orientacyjne oraz poniżej nich ustawienia dla przekładki oraz dodatkowa sekwencja dla akcji umieszczenia separatora (rys. 4).
Rysunek 4 Konfiguracja wzorca dla warstwy na palecie
Następnie wybieramy wzór z menu drzewa programu. W oknie po prawej stronie klikając na ołówek mamy możliwość zmiany nazwy wzorca, znajdują się tam również ikony do kasowania oraz tworzenia kopii. W polu „Rows” – rzędy i „Columns” – kolumny wpisujemy wartości odpowiadające liczbie kartonów na boku x i y warstwy, w naszym przypadku liczba pudełek w rzędzie = 4 oraz ilość kolumn = 3, co daje łącznie liczbę 12 kartonów. Wartości te będą wykorzystywane w procesie kalkulacji położeń kartonów w procesie paletyzacji, jako przesunięcia między położeniem narzędzia robota.
Wyznaczanie punktów orientacyjnych dla wzorca
Przechodzimy do wyznaczenia pozycji punktów orientacyjnych dla wzorca. Są to położenia narzędzia robota przy odłożeniu skrajnych kartonów na warstwie. W naszym przykładzie został utworzony lokalny układ współrzędnych aby uprościć definiowanie pozycji dla punktów (jeżeli nie wiadomo jak stworzyć układ współrzędnych użytkownika należy skorzystać z instrukcji Software_Manual_EN_Global.pdf punkt 16..3.4 dla wersji oprogramowania 5.3 środowiska PolyScope, którą można pobrać ze strony Universal Robots). Wymiary naszej paczki dla uproszczenia to 100 x 100 x 100 mm. Załóżmy iż używamy chwytaka pneumatycznego, gdzie punkt pochwycenia kartonu, czyli położenie końcówki narzędzia robota to środek geometryczny górnej ścianki sześcianu. W przypadku naszego układu współrzędnych będzie to pozycja X = 50 mm, Y = 50 mm, Z = 100 mm względem lokalnego układu współrzędnych. Klikamy na pozycję w drzewie programu CornerItem_1 i definiujemy położenie punktu (rys. 5) oraz (rys. 6). Analogicznie wyznaczymy pozostałe współrzędne dla pozycji narzędzia robota przy pozostałych 3 skrajnych położeniach kartonów na warstwie.
UWAGA!!! Wszystkie pozycje wzorca powinny być definiowane względem najniższej warstwy palety!!!
Rysunek 5 Definiowanie punktu wzorca warstwy palety
Rysunek 6 Definiowanie punktu wzorca względem lokalnego układu współrzędnych
Położenie dla punktu 2 ma współrzędne X=50+3*100=350 mm, Y=50 mm, Z=100 mm. Punkt 3 X=350 mm, Y=50+2*100=250 mm, Z=100 mm oraz punkt 4 X=50 mm, Y=250 mm, Z=100 mm.
Wyznaczanie punktu orientacyjnego dla odłożenia separatora
Wyznaczamy pozycję dla odłożenia separatora, w naszym przypadku będzie to pozycja w środku warstwy wzorca na podstawie palety (wszystkie kartony usunięte) X=200 mm, Y=150 mm, Z=10 mm (rys. 7).
Rysunek 7 Definiowanie punktu orientacyjnego dla położenia separatora
Konfiguracja struktury warstw palety
Gdy zdefiniowaliśmy wszystkie punkty możemy teraz zająć się tworzeniem warstw, nasza paleta będzie miała dwie warstwy po 12 kartonów. Gdzie na ostatniej warstwie zostanie umieszczony separator, przechodzimy do pozycji w programie „Layers”. Tu tworzymy nową warstwę przyciskiem „Add layer”, do obu warstw przyporządkujemy wcześniej skonfigurowany wzorzec (rys. 8).
Rysunek 8 Konfiguracja ułożenia warstw na palecie
Konfiguracja punktów orientacyjnych podejścia, akcji oraz odejścia dla obiektu
Kolejną rzeczą jest ustawienie w jaki sposób będzie zachowywało się narzędzie robota w procesie paletyzacji. W tym celu musimy zdefiniować punkt podjazdu z kartonem na pierwszą pozycję na najniższej warstwie palety „Approach”, punkt wyjazdu pustego narzędzia „Exit” oraz zaprogramować sterowanie dla efektora „Tool Action Point” (w tym wypadku sterowanie elektrozaworem sprężonego powietrza). Na rysunku 9 zaprezentowana została infografika co przedstawiają poszczególne kroki. W naszym programie paletyzacji wykorzystamy gotowy konfigurator, który przeprowadzi nas przez definicję poszczególnych punktów. Pozycje te będą offsetowane dla każdego kartonu na każdej warstwie palety, wybieramy przycisk „Next”.
Rysunek 9 Definicja punktów podejścia, akcji oraz odejścia
Konfigurator wymusi podjazd do pierwszej pozycji kartonu, jest to ta sama pozycja, którą definiowaliśmy jako pierwszy punkt wzorca „Pattern” „CornerItem_1”. Następnie definiujemy punkt podejścia „Approach”, w naszym przypadku załóżmy że punkt podejścia będzie umiejscowiony 12 cm powyżej punktu odłożenia kartonu. Wybieramy przycisk „Set Waypoint” (rys. 10).
Rysunek 10 Definiowanie punktu orientacyjnego dla podejścia
Pozycja dla punktu „Approach” będzie wynosiła X=50 mm, Y=50 mm, Z=220 mm. W kolejnym kroku definiujemy punkt wyjścia „Exit”, już po umieszczeniu kartonu na palecie, tu pozycje ustalamy na 5 cm powyżej punktu odłożenia kartonu (pozycja punktu X=50 mm, Y=50 mm, Z= 150 mm).
Zaprogramowanie akcji po osiągnięciu pozycji na palecie
Po zdefiniowaniu punktów zostaje nam tylko zaprogramowanie akcji dla sterowania chwytakiem pneumatycznym po podjechaniu do pozycji odkładczej „Tool Action Point”. W naszym przypadku sterujemy wyjściem cyfrowym pod adresem 1, który wyzwala przedmuch chwytaka, wypuszczenie pochwyconego przedmiotu. Rezerwujemy na to zwłokę czasową, która będzie trwała t=0,5 sek. Poniżej (rys. 11) przedstawiono jakie akcje będą podjęte po dojeździe do punktu docelowego.
Rysunek 11 Zaprogramowanie akcji po dojeździe do pozycji
Konfiguracja sekwencji dla separatora
Ostatnią rzeczą jest zdefiniowanie akcji dla ruchu końcówki robota przy wkładaniu separatora, wcześniej taki separator trzeba pobrać z magazynku. W celu zaprogramowaniu ruchów oraz akcji dla separatora używamy gotowej sekwencji, wybieramy w drzewie programu pozycję „Separator Action”, a następnie przycisk „Next” (rys. 12). Konfigurujemy punkty podejścia „Approach” oraz punkt wyjścia „Exit” po odłożeniu separatora. W naszym przykładzie oba punkty będą powyżej 5 cm od miejsca odkładania separatora. Pozycja X=200 mm, Y=150 mm, Z=60 mm.
Rysunek 12 Konfiguracja sekwencji dla umieszczenia separatora
Po zdefiniowaniu wszystkich pozycji wszystkich punktów, musimy zaprogramować akcje dla chwytaka przy umieszczaniu separatora, w naszym przypadku skopiujemy je z sekwencji przy umieszczaniu kartonów. W końcowej fazie musimy stworzyć ruch do magazynku, gdzie będą ułożone separatory, cały program dojazdu i powrotu umieszczamy w katalogu „Pick_up_separator”. W naszym przypadku punkt kontrolny nad magazynkiem z separatorami ma współrzędne X=200 mm, Y=-400 mm, Z=300mm, a punkt na którym umieszczone są przekładki X=200 mm, Y=-400 mm, Z=0 mm. Całość sekwencji dla przekładki została przedstawiona na rysunku 13.
Rysunek 13 Program dla sekwencji ruchu przy umieszczaniu separatora
Konfiguracja sekwencji dla odbioru paczek
Ostatecznie do całości programu zostało nam wstawienie sekwencji ruchu do miejsca odbioru paczek, sekwencja taka została umieszczona przed funkcją paletyzacji (rys. 14).
Rysunek 14 Sekwencja dojazdu po kartony na magazyn
Podsumowanie
Odpowiadając na pytanie artykułu, czy można jeszcze łatwiej tworzyć aplikacje paletyzacji z użyciem robota Universal Robots, odpowiedź brzmi, oczywiście że tak. Dzięki możliwości budowania warstw oraz przyporządkowaniu im wcześniej zdefiniowanych wzorów programista ma bardziej kompleksowy wgląd w cały proces tworzenia sekwencji ruchów w procesie paletyzacji. W starszej odmianie funkcji tak naprawdę konfigurowaliśmy pojedynczą warstwę o jednolitym wzorze, która mogła być kopiowana względem osi Z. W nowej odsłonie należy podkreślić również możliwość implementacji sekwencji ułożenia warstw separatora, która automatycznie wpływa na pozycję detali na kolejnych warstwach.
Skontaktuj się ze specjalistą Elmark
Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!