Jak każdy z nas wie podstawową funkcją chwytaków palczastych jest pobieranie elementu dzięki mechanizmowi pozwalającemu na jego otwieranie oraz zamykanie. Podstawowe chwytaki sterowane cyfrowo posiadają tylko i wyłącznie taką możliwość, jednak chwytaki elektryczne firmy Robotiq czy OnRobot pozwalają nam również na kontrolowanie siły oraz prędkości działania.
Przy zastosowaniu tych parametrów możemy wykonać to samo zadanie jednak obydwie firmy w swoich URcapsach dostarczają nam więcej możliwości.
Możliwość detekcji uchwycenia elementu
Pierwszą funkcją, o której chciałbym wspomnieć pozwala nam na sprawdzenie czy element został przez robota pobrany. Chwytak rozpoczyna zamykanie i w momencie wykrycia zadeklarowanej siły przesyła informacje, że element został pobrany. Aby odebrać tą informację w chwytaku Robotiq korzystamy z funkcji Grip Check. Funkcja ta działa tak samo jak tradycyjna funkcja If. Możemy dodać sekwencje w przypadku, gdy element został pobrany lub nie.
OnRobot rozwiązał ten przypadek poprzez stworzenie dla użytkownika dwóch zmiennych typu boolean grip_detected oraz lost_grip. Pierwsza z nich osiąga stan True, gdy element zostanie pobrany, druga informuje o utracie chwytu bez działania funkcji chwytaka. Wykorzystując te wartości możemy zbudować dowolną funkcje monitorującą chwyt w programie.
Możliwość pomiaru szerokości elementu
O ile pierwsza funkcja pomagała nam w stwierdzeniu obecności elementu tak druga może nam pomóc na przykład w przeprowadzeniu podstawowej ocenie jakości wykonanego produktu. Zarówno firma Robotiq jak i OnRobot bazuje na pomiarze szerokości elementu w momencie wystąpienia detekcji elementu.
Chwytaki Hand-E oraz 2F-85 pomiar mogą wykonać w procentach lub w milimetrach.
Aby uzyskać prawidłową wartość w jednostkach mianowanych konieczne jest przeprowadzenie kalibracji efektora. Polega ona na określeniu dystansu pomiędzy palcami, gdy chwytak jest zamknięty oraz w stanie maksymalnego otwarcia. Wykorzystanie tej wartości w programie może nastąpić w wspomnianej już funkcji Grip Check. Mamy tutaj wzorzec, który pozwala nam na określenie wymiaru elementu oraz możliwej odchyłki od tej wartości. Następnie możemy automatycznie definiować, czy element spełnia nasze wymogi. Aby otrzymać dokładną wartość zmierzoną przez chwytak musimy skorzystać z funkcji rq_current_pose_mm().
Dla chwytaków z serii RG tworzona jest zmienna measure_width, która informuje nas o pozycji w jakiej zatrzymał się chwytak po zakończeniu zamykania. Wartość ta podawana jest w milimetrach. Dla zwiększenia dokładności pomiaru konieczne jest prawidłowe wpisanie w ustawieniach robota aktualnej szerokości zamontowanych palców.
Dodatkowe funkcje dla chwytaków palczastych - OnRobot
Firma OnRobot zaimplementowała w swoim URcapsie możliwość kompensacji głębokości zamykania chwytaka. Funkcja ta pozwala na utrzymaniu stałej wysokości palców efektora w czasie jego zamykania czy otwierania. Aby takie działanie było możliwe w czasie zamykania chwytaka następuje wycofanie ramienia robota. Dzięki tej funkcjonalności mamy możliwość stworzenia z tradycyjnego chwytaka palczastego, równoległego. Załączenie tej funkcji odbywa się w głównym oknie sterowania grippera.
Producent dodał również funkcjonalność, która automatycznie wpisuje wartość punktu TCP na początku programu, ale także przy każdej akcji chwytaka.
Użytkownik może zdefiniować przy jakim rozwarciu palców wartość ta ma zostać ustalona. Poprawia to znacząco łatwość użytkowania efektora, ponieważ użytkownik nie musi własnoręcznie konfigurować tych ustawień. Przy bardzo rozbudowanych narzędziach opcja ta może okazać się kłopotliwa, dlatego można ją wyłączyć.
Do sterowania chwytakiem RG zastosowana została tylko jedna rozbudowana funkcja skryptowa RG2(target_width, target_force, payload, set_payload, depth_compensation, slave). W wyrażeniu musimy podać parametry a następnie umieścią ja w odpowiednim miejscu w programie lub w wątku. Funkcja ta w 100% pokrywa możliwości sterowania chwytakiem.
Dodatkowe opcje chwytaka Robotiq
Firma Robotiq również wyposaża użytkownika w wiele opcji rozszerzających funkcjonalność. Jedną z nich pozwala nam w przyspieszeniu działania aplikacji poprzez zezwolenie na kontynuowanie programu mimo braku informacji od chwytaka o zakończeniu wyznaczonego mu zadania. W standardowym rozwiązaniu chwytak otrzymuje informacje o konieczności wykonania operacji, wykonuje ją a robot czeka na informację, że pozycja została osiągnięta. Za pomocą tej funkcji możemy przeprowadzań równoczesny ruch ramienia robota oraz otwierania chwytaka.
Kolejna opcja zabezpiecza nas przed niepożądanym przekroczeniem parametrów siły oraz prędkości działania chwytaka.
W Instalacji mamy możliwość ustawienia maksymalnych wartości powyższych zmiennych. Do wykonania tej zmiany konieczne jest podanie hasła zabezpieczającego, domyślne hasło to „rqsafe”, może ono zostać oczywiście zmienione. Nałożone limity działają czy wykonywaniu automatycznych ruchów w programie, ale także przy ręcznym sterowaniu. Ich zmiany można dokonać jedynie po wpisaniu hasła, stworzenie nowej instalacji nie powoduje resetowania ustawień grippera do wartości początkowych.
Robotiq udostępnia szeroką gamę funkcji skryptowych, które tak samo jak dla robota UR rozszerzają funkcjonalność.
Możemy zastosować funkcje pozwalającą na powolne zamykanie rq_auto_release_close_and_wait() lub otwieranie rq_auto_release_open_and_wait() chwytaka, może być ona przydatna w szczególności w sytuacjach awaryjnych, gdy szybki ruch chwytka mógłby spowodować zagrożenie. Przy użyciu funkcji skryptowych rq_move_mm(position, Id) możemy kontrolować chwytak w wątku co przyspiesza wyzwalanie funkcji otwarcia lub zamknięcia oraz pozwala na działanie ze zmienną szerokością rozwarcia. Dla wersji robota E-series firma Robotiq stworzyła adapter, który może zostać podłączony bezpośrednio do kiści. Znacznie uprościło to podłączenie urządzenia jednak niesie ze sobą również problemy związane z wydajnością prądową zasilania.
Dla robota UR3e maksymalny pobór prądu przez chwytak to 600mA, dlatego czasami musimy ograniczyć tą wartość.
Można to zrobić za pomocą funkcji w Instalacji robota lub za pomocą funkcji rq_set_gripper_max_cur(current_mA, Id). Coraz częściej spotykamy się z aplikacjami z systemami wizyjnymi, gdzie kamera zostaje przymocowana na kiści robota, chwytaki Robotiq posiadają diodę, która sygnalizuje nam ich stan. W tego typu aplikacjach dioda może powodować zakłócenia detekcji. Dlatego producent dodał komendę pozwalającą na wyłączenie lampki rq_gripper_led_off(). Oprócz komend, które stworzone zostały do kontrolowania efektora powstały także funkcje pozwalające na zapisanie do historii robota informacji takich jak:
- rq_print_gripper_driver_state() – status chwytaka
- rq_print_gripper_fault_code() – kod błędu chwytaka
- rq_print_gripper _num_cycles() – określenie ilości wykonanych cykli
- rq_print_gripper_serial_number() – numer seryjny chwytaka.
Pełna lista komend wraz z opisem dostępna jest w manualu do chwytaków.