• Nie Znaleziono Wyników

Zadanie kinematyki prostej i odwrotnej dla łańcuchów kinematycznych

Algorytm 3: Wprowadzenie losowego zakłócenia dla kwaternionów

4.6 Reprezentacja danych dla modeli hierarchicznych łańcuchów kinematycznych

4.6.1 Zadanie kinematyki prostej i odwrotnej dla łańcuchów kinematycznych

W zagadnieniach robotyki problemy kinematyczne rozpatrywane są między innymi dla manipulatorów składających się z ze zbioru ciał sztywnych (zwanych członami) połączonych ze sobą w otwarty łańcuch kinematyczny [18]. Dwa sąsiadujące ze sobą człony mogą mieć połączenie ruchowe lub stałe (w takim przypadku człony są rozpatrywane jako jeden człon). Połączenie ruchowe dwóch członów, w którym względny ruch opisywany jest przez dwie współpracujące ze sobą powierzchnie nazywa się parą niższego rzędu. Na rysunku 4-15 przedstawiono schematycznie 6 możliwych połączeń dla par niższego rzędu.

W praktyce najczęściej wykorzystywane są połączone obrotowe i przesuwne o jednym stopniu swobody. Układ kinematyczny o n stopniach swobody można zamodelować złożeniem n członów o pojedynczym stopniu swobody. Dlatego często w rozważaniach teoretycznych rozpatruje się manipulatory o jednym stopniu swobody. W następnym rozdziale zostanie zaprezentowany złożony model hierarchiczny, w którym poszczególne człony mają zróżnicowaną liczbę stopni swobody.

Rysunek 4-15: Rodzaje połączeń ruchowym dla par niższego rzędu [18].

Człony manipulatora rozważa się w uproszczonym przypadku, jako ciało sztywne o dwóch podstawowych parametrach: długość oraz kąt skręcenia członu. Parametry te opisują powiązanie pomiędzy dwoma członami tworzącymi parę obrotową przez opisanie względnego położenia osi rozpatrywanego członu.

Dla niektórych zagadnień rozpatrywane są układy o zamkniętym łańcuchu kinematycznym (to znaczy takie, w którym łańcuch kinematyczny może być opisany za pomocą zamkniętego grafu) [75]. Układy tego typu mają bardzo duże znaczenie praktyczne, jednak analiza ich kinematyki, jak i dynamiki jest bardziej skomplikowana od analizy układów otwartych i wykracza poza ramy tej pracy. W pracy rozpatrywane będą jedynie układy o otwartym łańcuchu kinematycznym.

139

Zadanie kinematyki prostej (ang. forward kinematics) polega na określeniu położenia (lub innych

parametrów kinematycznych takich jak prędkość lub przyspieszenie) wybranego punktu manipulatora względem globalnie zdefiniowanego układu współrzędnych odniesienia. W ogólności zadanie to dotyczy dowolnego lub wszystkich punktów manipulatora (na przykład w przypadku realizowania problemu wizualizacji trajektorii członów manipulatora). Częstym problemem spotykanym w praktyce jest określenie położenia narzędzia powiązanego z ostatnim (roboczym) członem manipulatora. Układ odniesienia, względem którego poszukiwane jest rozwiązanie również może zależeć od konkretnego zadania. Standardowymi układami odniesienia rozpatrywanymi w praktycznym problemach kinematyki manipulatorów są przykładowo [18]: układ odniesienia podstawy, stanowiska, kiści, narzędzia, układ docelowy.

W zadaniu kinematyki prostej informacja o cząstkowym położeniu każdego z członów manipulatora jest używana w celu wyznaczenia informacji o położeniu globalnym. Dla każdego członu określona jest transformacja opisująca jego położenie względem członu poprzedzającego go w łańcuchu kinematycznym (rysunek 4-16). Na przykładowym rysunku rozpatrywany jest manipulator składający się jedynie z obrotowych członów o jednym stopniu swobody. Jednak wyrażenie wyznaczające położenie końcówki manipulatora jest prawdziwe niezależnie od użytych transformacji. Dalsze rozważania złożonego łańcucha kinematycznego również ograniczone będą do transformacji orientacji.

Rysunek 4-16: Zmiana orientacji lokalnych układów współrzędnych przyporządkowanych do członów. Niech manipulator składa się z łańcucha kinematycznego o n członach. Oznaczenie j

T

i oznacza przekształcenie określające położeniu lokalnego układu członu i względem układu odniesienia związanego z członem j. Przyjmuje się, że z członem 0 związany jest globalny układ odniesienia zazwyczaj przypisany do nieruchomej podstawy manipulatora. Przekształcenie j

T

i jest funkcją wszystkich parametrów członu i: zarówno parametrów wynikających z konstrukcji mechanicznej, jak i parametrów opisujących zmianę położenia względem członu j. Sposoby wyznaczania przekształcenia w zależności od parametryzacji członu przedstawiony jest w [18].

Wyznaczenie położenia końcówki manipulatora (ostatniego członu z łańcucha kinematycznego) jest złożeniem wszystkich przekształceń występujących w łańcuchu kinematycznym:

140

T

T

T

T

T

n n n 10 21 32 1 0

= K

(4 – 135)

Złożenie to jest przekształceniem przestrzeni współrzędnych konfiguracyjnych układu (współrzędnych opisujących konfigurację pojedynczych elementów) w przestrzeń współrzędnych kartezjańskich. Wyróżnia się również przestrzeń współrzędnych napędowych, w której określone są pozycje napędów powiązanych z członami manipulatora. W niektórych zastosowaniach wygodniej jest operować na pozycjach napędów. Przestrzeń konfiguracyjna jest wtedy funkcją przestrzeni współrzędnych napędowych.

W przypadku, gdy rozważana będzie trajektoria członu manipulatora opisana krzywą kwaternionową, to wyznaczenie kartezjańskich współrzędnych krzywej będzie wymagać zastosowania podobnego przekształcenia, które opisane jest równaniem (4 – 135). Jak to zostało pokazane w rozdziale 4.2.2, złożenie orientacji reprezentowanych przez kwaternion jest realizowane przez mnożenie kwaternionów w ustalonej kolejności

0 1 2 0

T q

n

q q q

n

= K

(4 – 136)

Gdy rozpatrywany będzie ruch rzeczywistego manipulatora o niezerowej długości członów, do przekształcenia należy również dodać parametry każdego z członów. Problematyka prezentowana w pracy dotyczy przede wszystkich badania przestrzennych trajektorii kwaternionowych, więc najistotniejszym elementem przekształceń jest opis orientacji układów. Przekształcenie dla całkowitej orientacji układu łańcucha kinematycznego opisane jest równaniem (4 – 136), natomiast ewentualne pomocnicze pozostałe przekształcenia zrealizowane będą za pomocą przekształcenia jednorodnego (4 – 11).

Zadanie kinematyki odwrotnej (ang. IK – inverse kinematics) polega na wyznaczeniu parametrów

przestrzeni konfiguracyjnej (a w dalszym kroku współrzędnych napędowych) na podstawie znajomości parametrów kartezjańskim opisujących docelowe położenie końcówki roboczej manipulatora. Określa się przestrzeń roboczą manipulatora, jako podzbiór punktów przestrzeni, które końcówka robocza może osiągnąć. Manipulacyjna przestrzeń robocza jest podzbiorem przestrzeni roboczej zawężonym do tych punktów, które manipulator osiągnąć może z dowolną orientacją. Określa się osiągalną przestrzeń roboczą manipulatora składającą się z punktów przestrzeni, które mogą być osiągnięte przynajmniej przy jednej orientacji. Aby zadanie kinematyki odwrotnej istniało, punkt docelowy (parametry przestrzeni kartezjańskiej) muszą należeć do osiągalnej przestrzeni roboczej. Problem istnienia rozwiązania przedstawiony jest na rysunku 4-17. Na rysunku zaznaczono przykładowe punkty, dla których istnieje rozwiązanie wielokrotne, rozwiązanie pojedyncze (ale niekoniecznie jest to punkt należący do manipulacyjnej przestrzeni roboczej, ponieważ człon roboczy osiąga je tylko przy jednej orientacji) oraz nie istnieje rozwiązanie zadania kinematyki odwrotnej.

Ze względu na swoją nieliniowość zadanie to jest znacznie bardziej złożone niż w przypadku problemu kinematyki prostej. Złożoność problemu rośnie wraz ze wzrostem liczby stopni swobody manipulatora. Praktyczna realizacja zadania wymaga uwzględnienia dodatkowych ograniczeń związanych z możliwościami ruchu członów manipulatora, przeszkód występujących na trasie, itp. Istnieje wiele algorytmów wyznaczających rozwiązanie zadania kinematyki odwrotnej. Dla prostych układów możliwe jest wyznaczenie jawnego rozwiązania w postaci analitycznej, to znaczy takiego, które nie wymaga iteracyjnych

141

procedur numerycznych [18]. Zarówna prosta i odwrotna kinematyka układów z redundancją została przedstawiona w pracy [75]. Różnego rodzaju metody heurystyczne znajdowania rozwiązań kinematyki odwrotnej powstały w systemach związanych z grafiką i animacją komputerową [35], [69]. Praca [4] przedstawia przegląd różnych metod rozwiązywania zadań kinematyki odwrotnej. W pracy [48] zadanie kinematyki odwrotnej rozpatrywane jest dla danych parametryzowanych w przestrzeni kwaternionów. Metody realizujące to zadanie różnią się od siebie wydajnością czasową i jakością prezentowanych rozwiązań (np. z punktu widzenia płynności wyznaczonego ruchu). W każdym jednak przypadku jako wynik otrzymuje się zestaw parametrów konfiguracyjnych układu dla zadanego punktu docelowego.

Rysunek 4-17: Liczba rozwiązań zadanie kinematyki odwrotnej w zależności od położenia punktu docelowego (punkt docelowy zaznaczono kolorem czerwonym).

Problemem bardziej ogólnym jest zadanie planowania ruchu manipulatora przy uwzględnieniu różnego rodzaju ograniczeń nałożonych na ciało. Celem jest wyznaczenie trajektorii w przestrzeni stanów spełniającej zadane ograniczenia przy znanym położeniu początkowym i końcowym. Szczegółowo metody planowania ruchu robotów i manipulatorów zostały zaprezentowane w pracach [25], [26]. Problematyka ta jest również rozpatrywana w złożonych zagadnieniach wyznaczania optymalnej trajektorii i sterowania dla mobilnych czujników używanych do estymacji procesów o parametrach rozłożonych [94], [100]. Ograniczenia tego typu są nieholonomiczne i dodatkowo zależą od otrzymanych wyników. W ten sposób odczytane przez czujniki wartości pozwalają na poprawienie oszacowania parametrów modelowanego procesu, co z kolei pozwala na wyznaczenie poprawionej trajektorii dla czujników.

Zadania kinematyki odwrotnej oraz planowania ruchu nie będzie rozpatrywane w szczegółach w prezentowanej pracy. Niemniej jednak algorytmy rozwiązujące te problemy mogą wspomagać metody zaproponowane w rozdziale 5.