Czy można jeszcze łatwiej paletyzować z użyciem robotów Universal Robots?

29.05.2019 How to / Robotyzacja
paletyzacja w robotach Universal Robots
Wizerunek autora
Robert Krupiński Były pracownik Elmark Automatyka S.A.
Producent: Universal Robots
  • Zakłady przemysłowe

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).

Wstawienie do programu funkcji paletyzacji
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).

Parametry główne funkcji paletyzacji
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.

Wybór wzoru warstwy na palecie
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).

Konfiguracja wzorca dla warstwy na palecie
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!!!

Definiowanie punktu wzorca warstwy palety
Rysunek 5 Definiowanie punktu wzorca warstwy palety

Definiowanie punktu wzorca względem lokalnego układu współrzędnych
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).

Definiowanie punktu orientacyjnego dla położenia separatora
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).

Konfiguracja ułożenia warstw na palecie
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”.

Definicja punktów podejścia, akcji oraz odejścia
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).

Definiowanie punktu orientacyjnego dla podejścia
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.

Zaprogramowanie akcji po dojeździe do pozycji
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.

Konfiguracja sekwencji dla umieszczenia separatora
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.

Program dla sekwencji ruchu przy umieszczaniu separatora
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).

Sekwencja dojazdu po kartony na magazyn
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.

 

Zapytaj o cenę Zapytaj o audyt

 

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!