Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2019/08/kuka-iautomatyka-konkurs.jpg

Sposoby unikania osobliwości kiści w robotach KUKA

autor: Adam Larysz.

Na początek przypomnijmy czym jest osobliwość kiści.

Konfiguracje osobliwe to takie wartości współrzędnych wewnętrznych manipulatora robotycznego, przy których układ zaczyna się zachowywać w inny sposób niż przewidziano.

Przykładowo efektor robota może znaleźć się w takim położeniu, w którym pozostanie pomimo ruchów silników, zatrzyma się z powodu osiągnięcia łącznika krańcowego lub zbyt dużego przeciążenia silników spowodowanego za szybkim i nieprzewidzianym ruchem.

W robotach 6 osiowych wyróżniamy 3 typy konfiguracji osobliwych

Osobliwość pułapowa


Osobliwość pozycji wyprostowanej

Osobliwość osi kiści

W dwóch pierwszych przypadkach osobliwości spowodowane są głównie nieprawidłowym ustawieniem robota względem bazy (ustawienie robota poza jego strefą zasięgu), przez co robot będzie ograniczony jego łącznikami krańcowymi.

W przypadku 3 typu osobliwości – osobliwości osi kiści ustawienie robota odgrywa tak naprawdę niewielką rolę i jest spowodowane konstrukcją osi 4 i 6 które są od siebie zależne.

Aby unikać osobliwości kiści możemy użyć jednego lub kilku z poniższych sposobów:

  1. Unikaj ruchów robota przy której pozycja 5 osi robota jest bliska 0°. Powoduje to, że oś 4 i 6 zaczynają się obracać razem przez co efektor może znaleźć się w takim położeniu, w którym pozostanie pomimo ruchów silników. Może to znacznie opóźnić przebieg programu lub zatrzyma się, gdy któraś oś będzie się poruszać za szybko względem drugiej.
  2. Dodaj niewielki ruch PTP który wyprostuje osie robota w taki sposób, aby było mu najwygodniej.
  3. Zmniejsz prędkość posuwu – gdy w naszej aplikacji nie mamy możliwości aby dodać ruch ptp (np. z powodu niewystarczającej przestrzeni roboczej) możemy zwolnić prędkość posuwu całego robota lub poszczególnej osi. Jeśli zależy nam na czasie wykonania aplikacji możemy ją zmniejszyć w poszczególnym zakresie (takim, w którym 5 oś zbliża się do 0) przez komendę INTERRUPT lub IF monitorując aktualna pozycje kartezjańska lub osiową. Aby uniknąć tych osobliwości również w przyszłych programach możemy to zrobić w programie SPS.sub
  4. $ORI_TYPE = #JOINT – Jest to preferowane rozwiązanie, jeśli orientacja nie jest ważna, ponieważ osie rąk a4-a6 wykonują ruch ptp. Dlatego osobliwość osi 5 już nie istnieje. Tak więc przez oszukiwanie orientacji unika się osobliwości. Zmienna $ORI_TYPE możemy zmienić bezpośrednio w kodzie programu (domyślnie ustawiona jest na #VAR).
  5. $SINGUL_STRATEGY = 1– powoduje unikanie osobliwości poprzez zmianę interpolacji (w inny sposób niż $ORI_TYPE). Jednak ta metoda nie jest zalecana przez KUKA, ponieważ zmiana orientacji zależy od prędkości i w trybie T1 błąd orientacji może być mały zaś w AUT/EXT znacznie większy.
  6. $SINGUL_POS [3] = 1 – zmienną tą znajdziemy w pliku $machine.dat. Cyfra 3 odpowiada trzeciemu typowi osobliwości który może wystąpić w robotach 6 osiowych (1 i 2 analogicznie dwóm poprzednim wspomnianym na początku artykułu). Domyślnie zmienna $SINGUL_POS [3] ustawiona jest na zero, zmiana wartości na 1 powoduje, że kąt osi 4 pozostanie taki sam od punktu początkowego do końcowego.

Powyższe zmienne możemy zmienić w kodzie programu w zależności od innej zmiennej mianowicie “$singul_dist [3] <1.0”. Powoduje to zadziałanie warunku gdy robot zbliży sie do konfiguracji osobliwej (5 oś zbliży się do 0).

Mam nadzieję, że powyższym artykułem pomogłem wszystkim, których dręczy problem konfiguracji osobliwych osi 🙂

Artykuł został nagrodzony w Konkursie iAutomatyka – edycja Sierpień 2019

Nagrodę Kurs programowania sterownika easyE4 + kubek  dostarcza ambasador konkursu, firma iAutomatyka.pl



Utworzono: / Kategoria: , ,

Reklama



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY