dam SŁO 1 Skoordynowane ruchy robotów, Zadanie odwrotne WYZNCNIE WSÓŁRZĘDNYCH ZŁĄCZOWYCH DL SKOORDYNOWNYCH RUCHÓW ROOÓW CZEROOSIOWYCH W pracy przedstawiono algorytm generowania trajektorii dla zadania transportowego realizowanego przez dwa roboty. Wyznaczone w układach współrzędnych zadania, połoŝenia i orientacje punktów C robotów przekształcono do układów współrzędnych robotów, dla przyjętego ustawienia robotów na stanowisku. Dla wybranych modeli robotów czteroosiowych rozwiązano zadanie odwrotne. Uzyskane rozwiązanie zaimplementowano i zweryfikowano w systemie LabVIEW. rzedstawiono rozwiązanie dla wybranego zadania i konfiguracji stanowiska. CLCULION OF JOIN COORDINES FOR COORDINED MOION OF FOUR XES ROOS In the paper an algorithm of generation trajectories for transport tasks executed by two robots is presented. Calculated in task coordinated systems, positions and orientations of robots C are transformed into robots coordinated systems for defined robots positions. For selected model of four axes robots inverse kinematics is solved. Obtained solution is implemented and verified in LabVIEW system. he solution of a sample transport task and robot cell configuration is presented. 1. WSĘ Zastosowania przemysłowe robotów wymagają, poza automatycznym sterowaniem poszczególnymi robotami w celu wykonania wybranych fragmentów procesu technologicznego, koordynacji czasowej zadań realizowanych przez róŝne roboty w gnieździe. Koordynacja taka moŝe mieć charakter dyskretny rozpoczęcie danego zadania warunkowane jest określonym stanem urządzeń gniazda, zakończenie realizacji zadania (lub jego fragmentu) skutkuje zmianą stanu. Koordynacja taka moŝe być zrealizowana za pomocą dyskretnych sygnałów wejścia/wyjścia. Zadania takie jak transport duŝego i cięŝkiego przedmiotu przed dwa roboty, czy spawanie z udziałem pozycjonera (lub robota przemysłowego pełniącego rolę pozycjonera) wymagają ciągłej koordynacji ruchów robotów. W tej dziedzinie rozwijane są dwa podejścia. ierwsze to sterowanie robotami wymagającymi ciągłej koordynacji ruchów za pomocą jednego układu sterowania. 1 olitechnika Krakowska, Wydział Mechaniczny, Zakład Zautomatyzowanych Systemów rodukcyjnych 31-864 Kraków, l. Jana awła II 37. el: + 48 1 374-3-50, Fax: + 48 1 374-3-0, e-mail: slota@mech.pk.edu.pl
488 dam SŁO Rozwiązania takie dostarczane są przez producentów robotów (Fanuc [4], [1]). W tym przypadku jeden układ sterowania realizuje interpolację ruchów np. dwunastu osi napędowych. odejście drugie to bezpośrednie sterowanie robotami przez oddzielne układy sterowania, z uwzględnieniem sprzęŝenia pomiędzy układami sterowania w celu zapewnienia wymaganej koordynacji ruchów. Dotychczasowe prace autora dotyczyły koordynacji trajektorii dwóch robotów wykonujących wspólnie transport jednego przedmiotu. ZałoŜono, Ŝe obydwa roboty sterowane są przez oddzielne układy sterowania, które w celu zapewnienia koordynacji ruchów punktów C robotów wykorzystują sprzęŝenie połoŝeniowe. Opracowany algorytm wyznacza, dla zadanych pozycji początkowych i docelowych punktów C robotów, trajektorie punktów C robotów. Kolejne pozycje punktów trajektorii wyraŝone są poprzez współrzędne połoŝenia oraz orientacji. ołoŝenie określone jest w kartezjańskim układzie współrzędnych, orientację określają kąty obrotu wokół stałych osi układu współrzędnych. Opracowany algorytm został zaimplementowany i zweryfikowany w systemie LabVIEW z wykorzystaniem modułu Simulation Module. W algorytmie wyznaczania trajektorii nie uwzględniono konfiguracji stanowiska zrobotyzowanego. W celu weryfikacji realizowalności otrzymanych trajektorii na stanowisku rzeczywistym zaproponowano wykorzystanie systemu Delmia [3]. System ten udostępnia biblioteki modeli robotów przemysłowych róŝnych producentów, umoŝliwia konfigurację stanowiska zrobotyzowanego, definiowanie zadań dla robotów, weryfikację realizowalności zadań i wygenerowanie programów sterujących. W pracy [5] przedstawiono procedurę przeniesienia uzyskanych w programie LabVIEW i zapisanych w plikach tekstowych współrzędnych połoŝenia i orientacji punktów C do systemu Delmia. Dane te posłuŝyły do zdefiniowania zadań robotów dla przyjętej konfiguracji stanowiska z wykorzystaniem robotów czteroosiowych. Weryfikację działania stanowiska w środowisku wirtualnym dla robotów sześcioosiowych opisano w pracy []. Zaproponowany sposób weryfikacji algorytmu generowania skoordynowanych ruchów robotów jest sprawdzeniem offline. Sprawdzane są wygenerowane uprzednio trajektorie. Wykryte w ten sposób niezgodności z moŝliwościami rzeczywistego stanowiska zrobotyzowanego powodują konieczność ponownego wygenerowania trajektorii dla zmodyfikowanych parametrów i kolejnej weryfikacji wyników. by uniknąć takiego postępowania, naleŝy uzupełnić algorytm generowania skoordynowanych ruchów robotów o moŝliwość weryfikacji rozwiązania w trybie online. oniewaŝ podstawowe ograniczenia dotyczące ruchów robotów określone są w przestrzeni złączowej (zakresy ruchów, prędkości, przyspieszenia), dlatego konieczne jest wyraŝenie pozycji punktów trajektorii we współrzędnych złączowych. rezentowana praca ma na celu uzupełnienie modelu o moŝliwość definiowania konfiguracji stanowiska (wzajemne połoŝenie i orientacja robotów stanowiska, lokalizacja pozycji początkowych i docelowych punktów C robotów) oraz rozbudowa algorytmu wyznaczania skoordynowanych ruchów robotów o moduł rozwiązywania zadania odwrotnego dla robotów czteroosiowych. W rozdziale.1 przedstawiono zarys zaproponowanego algorytmu koordynacji ruchów w układzie współrzędnych zadania. rzekształcenie współrzędnych trajektorii z układu zadania do układu współrzędnych robota zamieszczono w rozdziale., a w rozdziale.3 przedstawiono rozwiązanie zadania odwrotnego kinematyki dla robota czteroosiowego ZD 130S firmy Kawasaki.
WYZNCNIE WSÓŁRZĘDNYCH ZŁĄCZOWYCH 489. GENEROWNIE SKOORDYNOWNYCH RUCHÓW ROOÓW.1 lgorytm generowania trajektorii we współrzędnych kartezjańskich rajektoria punktów C obydwu robotów wyznaczana jest przez ten sam algorytm jedna instancja algorytmu wylicza współrzędne pozycji punktu C robota, druga - współrzędne punktu C robota. lgorytm wyznacza współrzędne kartezjańskie połoŝenia punktu C robota () ( x y z ) ( ( x y z ) ) w układzie współrzędnych zadania robota () X Y Z ( X Y Z ). rzyjęto, Ŝe układy zadania obydwu robotów mają taką samą orientację, a ich wzajemne połoŝenie określone jest danymi wejściowymi. ZałoŜono, Ŝe dla algorytmu wyznaczającego trajektorię punktu C jednego robota dostępne są współrzędne połoŝenia i orientacji punktu C drugiego robota. Kolejne współrzędne połoŝenia ( x y z ) ( ( x y z ) ) wyznaczane są jako złoŝenie dwóch ruchów: ruchu zaprogramowanego z połoŝenia bieŝącego do połoŝenia docelowego (w aktualnej wersji algorytmu ruch zaprogramowany to ruch wzdłuŝ linii prostej ze stałą prędkością V ( V )), ruchu korekcyjnego wzdłuŝ kierunku łączącego punkty C obydwu robotów. Celem ruchu korekcyjnego jest minimalizacja zmiany odległości pomiędzy punktami C robotów. Odległość referencyjna, która ma być zachowana, to odległość pomiędzy punktami C ( x y z ) oraz ( x y z ) w chwili początkowej. Ze względu 0 0 0 0 0 na nieznajomość celu drugiego robota, do wyliczenia prędkości ruchu korekcyjnego wykorzystano strukturę układu automatycznej regulacji, ze zmianą odległości pomiędzy punktami C jako uchybem. Wartość prędkości ruchu korekcyjnego robota () C ( V ) obliczana jest na podstawie zmiany odległości pomiędzy punktami C l(t) jako suma dwóch składników: części proporcjonalnej do wyliczonej zmiany odległości l(t) oraz części proporcjonalnej do całki ze zmiany odległości l(t). W celu wyznaczenia orientacji punktów C robotów przyjęto takie ustawienie wykorzystywanych robotów czteroosiowych, Ŝe orientacja punktu C robota moŝe być zmieniana tylko przez obrót wokół osi Z ( Z ). Orientacja ta jest wyraŝona poprzez kąt γ ( γ ), jaki z osią X ( X ) tworzy rzut wektora ( ) na płaszczyznę X Y ( X Y ). Wyznaczone według przedstawionego powyŝej algorytmu połoŝenia punktów C robotów () ( ) oraz początkowa orientacja punktów C γ ( γ 0 ) względem rzutu wektora ( ) wykorzystywane są do wyliczenia wartości kątów γ i γ. Dane wejściowe algorytmu to: połoŝenie i orientacja początkowa punktu C robota () - x y z ) i ( x y z ) i ( 0 γ ), ( 0 0 0 0 połoŝenie i orientacja docelowa punktu C robota () - ( x y z ) i ( ( x y z ) i γ ), D D D D D D D D D V C γ 0 γ D
490 dam SŁO zaprogramowana prędkość ruchu punktu C robota () - V ( V ) parametry korektora trajektorii robota () współczynnik wzmocnienia czas zdwojenia ( ). k ( k ),. Konfiguracja stanowiska W celu przekształcenia wygenerowanych współrzędnych trajektorii skoordynowanych ruchów w układach kartezjańskich zadania na współrzędne złączowe robotów naleŝy określić konfigurację stanowiska. Ustawienie robota () w gnieździe określone jest przez układ współrzędnych X Y Z ( X Y Z ). ołoŝenie układu współrzędnych zadania R R R względem układu współrzędnych robota () określa przesunięcie X Y Z ( X Y Z R R R ). rzyjęto, Ŝe orientacja układu współrzędnych zadania względem układu współrzędnych robota () określona jest przez kąt obrotu wokół osi Z ( Z ) - R R ( γ ). Dla tak określonej konfiguracji stanowiska wyznaczane są współrzędne trajektorii w układzie robota zaleŝności od (1) do (4). γ x y = x + x cosγ y sin γ (1) = y + x sin γ + y cosγ () z = z + z (3) γ = γ + γ (4).3 Wyznaczanie współrzędnych złączowych W pracy przyjęto, Ŝe zadanie transportu realizowane jest przez dwa identyczne roboty czteroosiowe firmy Kawasaki ZD130S. Schemat kinematyczny robota przedstawiono na rysunku 1. Wartości współrzędnych złączowych określają zaleŝności od (5) do (8): ϕ = arctan y 1 x (5) l ϕ = arccos 1 l d l d l + l d π 1 ϕ = arccos + ϕ 3 l l ϕ gdzie: = ϕ 4 1 1 1 z l + l 4 6 π + arctan (6) x' l l 3 5 γ (8) d = ( x l (9) ' l l ) + ( z + l + ) 3 5 4 6 x ' = x + y (10) (7)
WYZNCNIE WSÓŁRZĘDNYCH ZŁĄCZOWYCH 491 l ϕ 3 l 6 l 5 ϕ d l 1 z l 3 l4 Z X' x' Y X' ϕ 4 X x ϕ 1 y Rys.1. Schemat układu kinematycznego robota ZD130S
49 dam SŁO Wartości parametrów występujących w zaleŝnościach () oraz (3) dla wybranego modelu ZD130S przedstawiono w tabeli 1. ab. 1. Wartości parametrów robota arametr l 1 l l 3 l 4 l 5 l 6 Wartość [mm] 150 1450 300 940 55 300 3. RZYKŁD rzedstawione w punkcie.3 zaleŝności zostały wprowadzone do algorytmu wyznaczania skoordynowanych trajektorii. Na rysunku przedstawiono fragment schematu blokowego algorytmu wyznaczania współrzędnych kartezjańskich i złączowych dla robota, zbudowanego w module Simulation Module systemu LabVIEW. Rys.. Schemat blokowy algorytmu w systemie LabVIEW W modelu występują bloki: Generator współrzędnych kartezjańskich blok ten wyznacza trajektorie skoordynowanych ruchów punktów C robotów w ich układach współrzędnych zadania, Zadanie odwrotne blok odpowiedzialny za przekształcenie współrzędnych pozycji C z układu współrzędnych zadania do układu współrzędnych robota, zgodnie z zaleŝnościami od (1) do (4) oraz rozwiązania zadania odwrotnego według wzorów od (5) do (8), Wykresy współrzędnych kartezjańskich blok słuŝący do przedstawienia trajektorii w układzie współrzędnych zadania, Wykresy współrzędnych złączowych blok słuŝący do przedstawienia na wykresie wyznaczonych współrzędnych złączowych,
WYZNCNIE WSÓŁRZĘDNYCH ZŁĄCZOWYCH 493 Zapis do pliku blok zapisu do pliku tekstowego współrzędnych kartezjańskich i złączowych trajektorii. Działanie algorytmu zostało zweryfikowana dla danych przedstawionych w tabeli. ab.. Wartości danych wejściowych Robot Robot X Y Z [mm] 0;0;0 X Y Z [mm] 800;-600;0 ( ) x y z [mm] 0;0;100 x y z ) [mm] 0;0;100 0 0 0 0 0 ( 0 γ [deg] 0 γ [deg] 0 ( x y z ) [mm] 300;500;100 ( x y z ) [mm] 300;1700;100 D D D D D γ [deg] 0 γ [deg] 0 V [mm/s] 10 V [mm/s] 00 R R R X Y Z [mm] 1800;-00;1100 X Y Z [mm] 000;400;1100 R γ [deg] 0 γ [deg] 180 k [1/s] 0 k [1/s] 0 [s] 0, [s] 0, oniŝej zamieszczono uzyskane wyniki. Wyznaczone współrzędne złączowe dla robota ZD130S, ustawionego według danych zamieszczonych w tabeli, pokazano na rysunku 3. Rysunek 4 przedstawia widok wygenerowanych trajektorii na płaszczyźnie X Y układu współrzędnych zadania robota. D D D D D Rys.3. Wykresy współrzędnych złączowych robota
494 dam SŁO Rys.4. Wykresy trajektorii punktów C w układzie współrzędnych zadania robota 4. ODSUMOWNIE Opracowany algorytm koordynacji trajektorii punktów C dwóch robotów, realizujących wspólnie zadanie transportowe, wyznaczał współrzędne trajektorii w układzie współrzędnych zadania. Zaproponowany we wcześniejszych pracach autora sposób weryfikacji algorytmu miał charakter sprawdzenia offline. Uzupełnienie algorytmu o wyznaczanie współrzędnych złączowych, zaprezentowane w niniejszej pracy, umoŝliwi uwzględnienie konfiguracji stanowiska oraz parametrów robotów w trakcie generowania trajektorii robotów. Dalsze prace dotyczyć będą uwzględnienia w algorytmie generowania skoordynowanych trajektorii ograniczeń, wynikających z konfiguracji stanowiska i zastosowanych robotów. 5. LIEU [1] pplication manual MultiMove,, MultiMove 3HC017-001_RevG_en.pdf [] Słota.: Generowanie skoordynowanych ruchów robotów w przestrzeni 3D weryfikacja w środowisku wirtualnym, praca przyjęta do publikacji w omiary utomatyka Robotyka /011 [3] http://ol.cadfamily.com/delmia/online/delmi_default.htm [4] http://www.dinsaonline.com/aplicaciones/pdf/dualram_system/dualarmsystem.pdf [5] http://www.procax.org.pl/pliki/rtykul_9_slota.pdf