Wykorzystanie funkcji śledzenia taśmociągu w robotach Universal Robots

Wykorzystanie funkcji śledzenia taśmociągu w robotach Universal Robots

Przed przystąpieniem do tworzenia aplikacji śledzenia taśmociągu zachęcamy do zaznajomienia się  z artykułem wprowadzającym do konfiguracji robotów UR  „Konfiguracja parametrów instalacyjnych robota UR”  oraz ,,Pierwszy program w robocie UR: aplikacja Pick&Place”.

Wstęp

Z pewnością, jednym z wzorców programowych, dostępnych w zakładce Templates, jest funkcja śledzenia taśmociągu. Pozwala nam na podążanie narzędziem robota za elementem poruszającym się na przenośniku. Od wersji oprogramowania 1.8 (od serii cobotów CB2) mamy dostęp do obsługi przenośników liniowych oraz kołowych, a od wersji 3.8 (CB3) oraz 5.2 (eSeries) wprowadzono dodatkowo możliwość korzystania z dwóch niezależnych funkcji śledzenia taśmociągu – możliwość korzystania z dwóch niezależnych przenośników w aplikacji.

Konfiguracja

Aby możliwe było poprawne korzystanie z funkcji śledzenia taśmociągu, koniecznym jest posiadanie na stanowisku enkodera określającego aktualną prędkość taśmy oraz czujnika definiującego pojawienie się na niej elementu – rys. 1.

 

Taśmociąg z czujnikiem oraz enkoderem_aplikacja śledzenia taśmociągu

Rys.1. Taśmociąg z czujnikiem (1a, 1b) oraz enkoderem (2)

 

Zdefiniowanie konfiguracji przeprowadza się w zakładce Installation -> Conveyor Tracking. Następnie, po zezwoleniu na możliwość korzystania z funkcji definiujemy typ zastosowanego enkodera: absolutny lub inkrementalny.

W przypadku wyboru enkodera absolutnego, dostępnym protokołem komunikacyjnym jest protokół Modbus TCP. Po wcześniejszym zdefiniowaniu rejestru w zakładce Modbus, dotyczącego aktualnych wskazań położenia, będzie on dostępny tutaj do wyboru – w naszym przykładzie rejestr o nazwie enc_counter rys. 2.

 

Enkoder absolutny na stanowisku

Rys.2. Enkoder absolutny na stanowisku

 

W przypadku wyboru enkodera inkrementalnego należy zdefiniować tryb w jakim sczytywane są impulsy – rys. 3. Mamy do wyboru:

  • tryb kwadraturowy (kod Graya)
  • reakcja na zbocze:
    • narastające i opadające
    • narastające
    • opadające

Sygnały te należy podłączać w kontrolerze do dedykowanych szybkich wejść cyfrowych – rys.4 - które pracują z częstotliwością dekodowania 40kHz (w przypadku korzystania z robotów w wersji CB2 dekodowanie odbywa się z częstotliwością <50Hz, a dla sygnałów kwadraturowych <25Hz).

 

Enkoder inkrementalny na stanowisku

Rys.3. Enkoder inkrementalny na stanowisku

 

Wejścia szybkie dla obsługi enkodera

Rys.4. Wejścia szybkie dla obsługi enkodera

 

Kolejnymi ustawieniami są ustawienia związane z parametrami śledzenia. Definiujemy typ taśmociągu:

  • liniowy – w tym przypadku musimy zdefiniować ilość impulsów, generowanych przez enkoder, na jeden metr ruchu taśmy. Znając ilość impulsów na jeden obrót tarczy enkodera obrotowego tpr oraz znając promień wałka r, na którym osadzona jest taśma, jesteśmy wstanie wyliczyć tą wartość z zależności tpr=2π*r.
    Ostatnią rzeczą, którą należy zdefiniować jest linia, w której pracuje nasz taśmociąg. Definiujemy ją w zakładce Installation->Features->Line, a następnie wybieramy jako nasz kierunek Direction. W naszym przypadku pierwszym punktem jest punkt na początku taśmociągu, a drugim na jego końcu – rys.5. W przypadku określenia złego zwrotu mamy możliwość jego zmiany przez wciśnięcia opcji Reverse direction. Rysunek 6 przestawia przykładową konfigurację.

 

Pierwszy i drugi punkt definiujący linie, w której pracuje taśmociąg_aplikacja śledzenia taśmociągu

Rys.5. Od lewej: Pierwszy i drugi punkt definiujący linie, w której pracuje taśmociąg

 

Przykładowa konfiguracja przenośnika liniowego

Rys.6. Przykładowa konfiguracja przenośnika liniowego

 

  • po okręgu – musimy zdefiniować ilość impulsów na jeden pełny objazd wzdłuż naszego taśmociągu. Obliczenia wykonuje się analogicznie jak w przypadku powyższym, lecz dla znanej wartości drogi – znanej wartości długości taśmociągu. Na koniec należy zdefiniować środek okręgu taśmociągu oraz określić czy narzędzie robota będzie utrzymywać orientację w kierunku zdefiniowanego środka – 7.
    Gdy podczas późniejszego programowania aplikacji zdefiniujemy punkt rozpoczęcia śledzenia taśmociągu oraz punkt, w którym robot zaczyna swoją pracę śledzenia, algorytm sam wyznaczy odpowiednią trajektorie bazując na obliczonym promieniu koła.
  •  

Przykładowa konfiguracja przenośnika kołowego

Rys.7.Przykładowa konfiguracja przenośnika kołowego

 

Program główny

Po poprawnym skonfigurowaniu śledzenia taśmociągu można przejść do jego wykorzystania w programie głównym. W naszym przypadku skupimy się na przenośniku liniowym – dla typu po okręgu tok postępowania jest identyczny.

Cała idea aplikacji śledzenia taśmociągu sprowadza się do:

  1. Zdefiniowania miejsca, w którym następuje detekcja elementu na taśmie
  2. Statycznego zaprogramowania zadań/operacji jakie mają być wykonane na naszym elemencie
  3. Wstawienia tych zadań do skonfigurowanej wcześniej funkcji śledzenia i oprogramowanie pozostałych akcji

    1. Do zdefiniowania miejsca, w którym następuje detekcja elementu na taśmociągu wykorzystamy czujnik na jego wejściu – w naszym przypadku czujnik fotoelektryczny na zasadzie działania: nadajnik-odbiornik. Poniższy program - 8. - wykorzystuje jedno wejście cyfrowe „sensor_start” pod które podpięty jest nasz czujnik oraz dwa wyjścia: cyfrowe „start” zezwalające na start taśmy oraz analogowe „velocity” definiujące prędkość taśmy w standardzie napięciowym 0-10[V] (co odpowiada: 0-100% prędkości taśmy). Po jego jednorazowym wykonaniu nasz element zatrzymał się na taśmie w miejscu detekcji – rys. 9.

 

Program do zatrzymania elementu po detekcji przez czujnik

Rys.8. Program do zatrzymania elementu po detekcji przez czujnik

 

Zatrzymanie elementu po detekcji_aplikacja śledzenia taśmociągu

Rys.9. Zatrzymanie elementu po detekcji

 

2. Naszym docelowym zadaniem będzie pobranie elementu, dlatego w tym przypadku uczymy tutaj takiej procedury. Po pierwsze definiujemy punkt pick_point - rys.10, w którym chwytak będzie w stanie pobrać element, następnie wywołujemy akcję zamknięcia chwytaka oraz na koniec podjeżdżamy nad taśmę – punkt above – rys.11. Wszystko umieszczamy w folderze o nazwie Pick dla przejrzystości programu – 12.

 

Punkt pick_point_aplikacja śledzenia taśmociągu

Rys.10. Punkt pick_point

 

Punkt above_aplikacja śledzenia taśmociągu

Rys.11. Punkt above

 

Procedura pobrania elementu

Rys.12. Procedura pobrania elementu

 

3. Końcowy program główny – 13. – rozpoczyna się od jednorazowej aktywacji i otwarcia chwytaka w sekcji Before strat. W zapętlonym programie głównym robot dojeżdża do miejsca nad czujnikiem wejściowym i oczekuje na pojawieniu się elementu. Po jego detekcji rozpoczyna się wykonywanie pobrania elementu. Całe to zadanie umieszczone jest w funkcji śledzenia taśmociągu co umożliwia wykonanie go wraz z synchronicznym ruchem wzdłuż taśmy. Na koniec pobrania element umieszczany jest w miejscu odkładczym – rys.14 - i cały proces może zostać powtórzony.

 

Program pobierania elementu poruszającego się na taśmociągu

Rys.  13. Program pobierania elementu poruszającego się na taśmociągu

 

Element w miejscu odłożenia

Rys.14. Element w miejscu odłożenia

 

Podsumowanie

Podsumowując, przedstawiony przykład jest jednym z najprostszych zastosowań funkcji śledzenia taśmociągu. Istnieje wiele innych aplikacji w których wykorzystuje się dodatkowo funkcje języka skryptowego, aby rozwiązać specyficzne przypadki m.in. śledzenia większej liczby elementów w tym samym czasie bez konieczności zatrzymywania pracy przenośnika. Więcej informacji dotyczących śledzenia taśmociągu, jak i wielu innych związanych z cobotami UR, dowiedzą się Państwo na dedykowanych szkoleniach z obsługi i programowania robotów Universal Robots organizowanych przez nasze Autoryzowane Centrum Szkoleniowe. W przypadku pytań zapraszamy również do kontaktu na serwis@procobot.com.

 

Poniższe przykłady zostały opracowane w wersji Polyscope v5.8.
Autor dołożył wszelkich starań, aby informacje przedstawione w opracowaniu były kompletne i rzetelne, nie ponosi jednak żadnej odpowiedzialności ani za ich wykorzystanie ani za szkody spowodowane ewentualnymi błędami. Występujące w tekście zastrzeżone znaki firm są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Żadna część tej pracy nie może być powielana i rozpowszechniana w jakiejkolwiek formie i w jakikolwiek sposób włącznie z fotokopiowaniem lub przy użyciu innych systemów, bez pisemnej zgody autora.