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.
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.
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).
Rys.3. Enkoder inkrementalny na stanowisku
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ę.
Rys.5. Od lewej: Pierwszy i drugi punkt definiujący linie, w której pracuje taśmociąg
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.
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:
- Zdefiniowania miejsca, w którym następuje detekcja elementu na taśmie
- Statycznego zaprogramowania zadań/operacji jakie mają być wykonane na naszym elemencie
- 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.
Rys.8. Program do zatrzymania elementu po detekcji przez czujnik
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.
Rys.10. Punkt pick_point
Rys.11. Punkt above
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.
Rys. 13. Program pobierania elementu poruszającego się na taśmociągu
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.