x - Politechnika Wrocławska
Transkrypt
x - Politechnika Wrocławska
kinematyka manipulatora, konfiguracje osobliwe, jakobiany, postacie normalne, unikanie osobliwości, obliczenia symboliczne. Tomasz SULKA , Krzysztof TCHOŃ AKIMAN - PAKIET OPROGRAMOWANIA DO ANALIZY KINEMATYKI MANIPULATORÓW Referat przedstawia pakiet oprogramowania AKIMAN, napisany w systemie M ATHEMATICA , przeznaczony do badania kinematyki manipulatrów opisanych parametrami Denavita-Hartenberga. Do funkcji pakietu należa˛ mi˛edzy innymi: wyliczanie kinematyki w różnych układach współrz˛ednych, znajdowanie analitycznych i geometrycznych jakobianów, wyznaczanie konfiguracji osobliwych, sprawdzanie czy konfiguracje osobliwe sa˛ możliwe czy też niemożliwe do unikni˛ecia oraz określanie postaci normalnej kinematyki osobliwej. 1 WPROWADZENIE Typowe algorytmy iteracyjne kinematyki odwrotnej wymagaja˛ nieosobliwości jakobianu manipulatora, a dokładniej pełnego rz˛edu wierszowego odpowiedniej macierzy Jacobiego. Utrata powyższej własności może uniemożliwiać rozwiazanie ˛ odwrotnego zadania kinematyki. Osobliwe odwrotne zadanie kinematyki można rozwiazywać ˛ na różne sposoby. Jednym z nich jest wprowadzanie redundancji. Powoduje ono zwi˛ekszenie możliwości manipulacyjnych robota. Wówczas dodatkowe stopnie swobody ruchu cz˛esto umożliwiaja˛ osiaganie ˛ tego samego położenia chwytaka, w konfiguracji innej niż osobliwa. Tego typu strategi˛e, czyli wyznaczanie konfiguracji nieosobliwch osiagaj ˛ acych ˛ ten sam punkt w przestrzeni zadaniowej, jak przy konfiguracji osobliwej, nazywamy unikaniem osobliwości. Jednakże w manipulatorach nieredundantnych lub dla manipulatorów redundantnych z niemożliwymi do unikni˛ecia konfiguracjami osobliwymi musimy zastosować takie algorytmy kinematyki odwrotnej, które nie traca˛ dobrego uwarunkowania przy przejściu przez konfiguracje osobliwe. Jedna˛ z metod rozwiazania ˛ osobliwego odwrotnego zadania kinematyki jest metoda postaci normalnych, dopuszczajaca, ˛ aby trajektoria przegubowa przechodziła przez lub w pobliżu konfiguracji osobliwych. Idea˛ tej metody jest zastosowanie równoważnej postaci kinematyki w pobliżu osobliwości. Polega ona na przekształceniu odwrotnego zadania kinematyki dla kinematyki oryginalnej do zadania dla reprezentujacej ˛ ja˛ równoważnej postaci normalnej, nast˛epnie rozwiazaniu ˛ zadania dla postaci normalnej i przekształceniu otrzymanego wyniku do kinematyki oryginalnej [6]. Automatyczne wyznaczanie postaci normalnej kinematyki manipulatora w pobliżu konfiguracji osobliwej realizuje przedstawiony w niniejszej pracy pakiet AKIMAN (Analiza KInematyki MAnipulatorów). Dodatkowo, pakiet wyznacza zbiór konfiguracji osobliwych oraz określa własności tych Instytut Cybernetyki Technicznej, Politechnika Wrocławska, ul. [email protected], [email protected]. Janiszewskiego 11 17, 50-372 Wrocław, konfiguracji pod wzgl˛edem możliwości unikania. Atrybutem pakietu jest możliwość wyznaczenia kinematyki manipulatora we współrz˛ednych kartezjańskich położenia oraz współrz˛ednych orientacji typu katy ˛ Eulera. Danymi wejściowymi sa˛ tutaj parametry Denavita-Hartenberga badanego manipulatora. Kompozycja referatu jest nast˛epujaca. ˛ Rozdział 2 zawiera podstawowe wiadomości teoretyczne wykorzystane w pakiecie Akiman. W rozdziale 3 zostały opisane podstawowe funkcje zawarte w pakiecie. Rozdział 4 przedstawia dwa krótkie przykłady wykorzystania opisanych funkcji. 2 PODSTAWY TEORETYCZNE Reprezentacja kinematyki robota o n stopniach swobody, w m-wymiarowej przestrzeni zadaniowej ma postać k: n m x x1 xn T y k x k1 x km x T (1) gdzie x to wektor przestrzeni przegubowej manipulatora, y to wektor przestrzeni zadaniowej. Zakładamy, że n m. Jak wiadomo, konfiguracje osobliwe sa˛ to takie konfiguracje, w których jakobian analityczny traci rzad. ˛ Zbiór konfiguracji osobliwych jest zatem zdefiniowany jako S 2.1 n x rank J a x ∂k x m ∂x (2) JAKOBIANY Poza jakobianem analitycznym zdefiniowanym jako macierz przekształcenia pr˛edkości zmian współrz˛ednych przegubowych w pr˛edkości zmian współrz˛ednych zadaniowych ẏ J a x ẋ (3) definiujemy również jakobiany geometryczne, niezależne od parametryzacji przyj˛etej przy wyznaczaniu odwzorowania (1). Do tej grupy jakobianów należa: ˛ jakobian geometryczny w przestrzeni, rozumiany jako przekształcenie wektora pr˛edkości zmiennych przegubowych w wektor pr˛edkości liniowej vs i katowej ˛ ωs efektora w przestrzeni vs ωs T J s q q̇ (4) oraz jakobian geometryczny w ciele, rozumiany jako przekształcenie wektora pr˛edkości zmiennych przegubowych w wektor pr˛edkości liniowej vb i katowej ˛ ωb efektora w ciele vb ωb T J b q q̇ (5) Jakobian manipulatora jest rozumiany jako macierz przekształcenia pr˛edkości ruchu w przegubach w pr˛edkości liniowa˛ i katow ˛ a˛ w przestrzeni efektora wzgl˛edem układu podstawowego: Ṫ0n ωs T J m q q̇ (6) Definicje jakobianów podano w pracy [1]. Macierz Ai0 q Ri q 00 T0i q 1 ! opisuje przekształcenie układu podstawowego w układ zwiazany ˛ z i-tym przegubem manipulatora. Postać jakobianu manipulatora jest cz˛esto skomplikowana, co mathbf uniemożliwia szybkie określenie własności manipulatora. Bardzo pomocna˛ może okazać si˛e postać jakobianu wzgl˛edem układu współrz˛ednych zwiazanego z wybranym przegubem manipulatora Jim q q̇ " vωimis , gdzie elementy vim ωis oznaczaja˛ pr˛edkości liniowa˛ i katow ˛ a˛ w przestrzeni efektora wzgl˛edem i-tego układu. Istnieje zależność, która pozwala wyznaczyć zwiazek ˛ mi˛edzy jakobianami: Jim q $# ' Ri0 q 0 Jm q T i 0 (*) R0 q &% + T (7) Ri na podstawie której możemy w prosty sposób wyznaczyć jakobian manipulatora wzgl˛edem dowolnego z układów współrz˛ednych. Łatwo zauważyć, że ponieważ wyznacznik macierzy obrotu Ri jest równy 1 prawdziwa jest równość detJ mj q detJ m q . 2.2 UNIKANIE OSOBLIWOŚCI Przyjmujemy, że konfiguracja osobliwa x jest możliwa do unikni˛ecia, jeżeli istnieje nieosobliwa konfiguracja x, , taka że: k x k x, (8) w przeciwnym przypadku konfiguracja osobliwa jest niemożliwa do unikni˛ecia. W celu rozróżnienia konfiguracji osobliwych możliwych i niemożliwych do unikni˛ecia, załóżmy że n m - 1 i zdefiniujmy układ dynamiczny ẋ S x zwiazany ˛ z kinematyka˛ manipulatora k x tak, ˛ jakobianu analitycznego. żeby pole wektorowe S x rozpinało jadro Ja x S x 0 Całkujac ˛ (9) otrzymamy . . ∂k x ẋdt ∂x (9) . ∂k x dx ∂x dk x k x C (10) z czego wynika, że wzdłuż trajektorii układu ẋ S x kinematyka przyjmuje stała˛ wartość. Pole wektorowe S x S1 x / Sn x T nazwiemy polem ruchu własnego i definiujemy formuła˛ Si x 0 1 i 1 1 detJ ai x i 1 / n (11) gdzie J ai x to jakobian analityczny z usuni˛eta˛ i-ta˛ kolumna.˛ Układ dynamiczny ẋ S x nazywamy układem dynamicznym ruchu własnego [3], [1]. Można pokazać, że układ dynamiczny ẋ S x posiada punkty równowagi w konfiguracjach osobliwych. Na podstawie powyższych wniosków stwierdzamy co nast˛epuje: – Jeżeli do punktu równowagi x0 układu dynamicznego ruchu własnego (konfiguracji osobliwej manipulatora) asymptotycznie zbliżaja˛ si˛e lub oddalaja˛ trajektorie (x0 jest asymptotycznie stabilnym lub niestabilnym punktem równowagi),wówczas konfiguracja x0 jest możliwa do unikni˛ecia. – Jeżeli do punktu równowagi x0 układu dynamicznego ruchu własnego (konfiguracji osobliwej manipulatora) nie zbliżaja˛ si˛e asymptotycznie trajektorie (x0 jest stabilnym w sensie Lapunowa), wówczas konfiguracja x0 niemożliwa do unikni˛ecia. Przy stopniu redundancji 2 1 (n 2 m - 1) definiuje si˛e rodzin˛e pól hamiltonowskich i za ich pośrednictwem formułuje si˛e warunki unikania osobliwości. Szczegóły sa˛ przedstawione w [5] i [1]. 2.3 POSTACIE NORMALNE Weźmy pod uwag˛e reprezentacj˛e kinematyki we współrz˛ednych postaci (1) i wyznaczmy dla niej kofiguracj˛e osobliwa˛ x0 korz˛edu 1. Dla takiej konfiguracji spełniony jest warunek rank ∂k x0 rank J a x0 m 1 ∂x (12) gdzie J a x oznacza jakobian analityczny manipulatora. Przy odpowiedniej permutacji współrz˛ednych x1 xn oraz y1 ym , warunkowi (12) możemy nadać postać rank 34 ∂k1 ∂x1 45 .. . ∂km 6 1 ∂x1 .. . ∂k1 ∂xm 6 1 .. . ∂km 6 ∂xm 6 798 8 : x0 m 1 (13) 1 1 Zdefiniujmy dla macierzy J a x zbiór n m - 1 podmacierzy J ai x , i m m - 1 n rozmiaru m ; m złożonych z m 1 pierwszych kolumn J a x oraz i-tej kolumny tej macierzy. Niech wektory ˛ macierzy J a x . Warunek równoważności kinematyki kwadratowej vm vm 1 1 vn należa˛ do jadra postaci normalnej przedstawia nast˛epujace ˛ twierdzenie [1]. Twierdzenie 1 Niech x0 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu 1 kinematyki k x spełniajacej ˛ warunek (13). Wówczas, jeżeli 798 d detJ am 88 d detJ am1 1 3 4 rank 4 x0 *< vm vn = n m - 1 .. : . 45 (14) d detJ an to w pewnym otoczeniu konfiguracji x0 kinematyka k x jest równoważna kwadratowej postaci normalnej k0 x x1 x2 xm > 1 q xm / xn T (15) gdzie q xm xn x2m @???A x2m > 11 s - x2m 1 s - ??? - x2n , dla pewnego s określonego poprzez liczb˛e ujemnych wartości własnych macierzy H, zdefiniowanej jako: M T X P M M T Y Q -B M T Y Q T -B W S H x0 (16) której elementy składowe sa˛ zdefiniowane w nast˛epujacy ˛ sposób: CDD DD DD M HG D E Pi j DD DD DD Qi j DF Si j ∂km 6 ∂xm 6 1 1 ∂km ∂xm 6 1 G G 1 ∂km 6 ∂xm 6 G ∂km ∂xm 6 1 ∂km ∂xm 6 1 > I ∂km 6 ∂x ∂km 6 ∂xm 6 ∂km 6 ∂xm 6 1 1 I 1 1 1 1 > I 1 I 1 > > 1 1 X ∂2 k m 6 1 ∂xi ∂x j 2 Y i j J m 1 ∂2 k m 6 1 ∂xi ∂x j ∂2 k m 6 1 ∂xi ∂x j ∂2 km ∂ xm 6 1 i J m 1 m J ∂2 km ∂x∂xm 6 1 W ∂2 km ∂x2 j J n m J i j J n gdzie km > 1 K k1 L km > 1 xm > 1 K x1 M xm > 1 x K xm L xn a wszystkie pochodne czastkowe ˛ należy obliczyć w konfiguracji x0 . Wniosek 1 Niech x0 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu 1 kinematyki nieredundantnej k : n spełniajacej ˛ warunek (13) przy m n. Jeżeli d detJa x0 v O 0 n N (17) gdzie wektor v jest rozwiazaniem ˛ równania J a x0 v 0, to w pewnym otoczeniu konfiguracji x0 kinematyka k x jest równoważna postaci normalnej k0 x x1 x2 / xn > 1 x2 n T (18) 3 OPIS PROGRAMU Pakiet AKIMAN1 jest rozwini˛eciem opracowanych wcześniej pakietów zwiazanych ˛ z badaniem własności kinematyki manipulatorów w konfiguracjach osobliwych. Zawarte sa˛ w nim niektóre funkcje oprogramowania przedstawionego w [6] nazwane (Akiman‘Graphics) oraz pakiet KOSMA nazwany Akiman‘SingularityAvoiding omówiony w [2]. Pakiet został stworzony w taki sposób, aby pozostawić użytkownikowi duża˛ swobod˛e działania. Udost˛epnione sa˛ wszelkie funkcje, na podstawie których można dokonać pełnej analizy własności kinematyki manipulatora. 3.1 INSTALACJA I URUCHAMIANIE Instalacja pakietu polega na skopiowaniu katalogu Akiman do katalogu AddsOn/StandardPackages znajdujacego ˛ si˛e w katalogu głównym programu M ATHEMATICA P . Uruchomienie polega na wczytaniu pakietu do jadra ˛ programu poprzez komend˛e Q Akiman‘ Wówczas zostanie uruchomiony plik inicjalizacyjny, definiujacy ˛ wszystkie pakiety zawarte w kartotece Akiman. 1 pakiet jest dost˛epny na stronie http://rab.ict.pwr.wroc.pl/inne. 3.2 DANE WEJŚCIOWE Podstawowymi danymi wejściowymi w pakiecie sa˛ parametry Denavita-Hartenberga oraz wektor współrz˛ednych przegubowych. Parametry Denavita-Hartenberga powinny być zdefiniowane jako listy: DH par SRTR θ1 d1 a1 α1 U R θi di ai αi U R θn dn an αn UTU θi : elementarny obrót wokół osi Z, ai : przesuni˛ecie wzdłuż osi X, gdzie di : elementarne przesuni˛ecie wzdłuż osi Z, αi : obrót wokół osi X, indeks i oznacza i-ty przegub manipulatora. W pakiecie zawarta jest baza parametrów DenavitaHartenberga dla różnych manipulatorów (podrozdział 3.7). Wektor przestrzeni przegubowej dowolnego manipulatora powinien być zdefiniowany jako n elementowa lista zmiennych, gdzie n oznacza rozmiar przestrzeni przegubowej. Można skorzystać tutaj z wbudowanych funkcji BigVector lub Vector q BigVector < ”q” n= lub X Vector < x n= które zwracaja˛ list˛e zmiennych przegubowych postaci odpowiednio q VR q1 q2 W qn U lub X SR x1 x2 xn U Dodatkowo, niektóre funkcje wymagaja˛ użycia odwzorowania kinematyki k. Sa˛ to wszystkie funkcje pakietu Akiman‘NormalForm, Akiman‘SingularityAvoid oraz niektóre z pakietu Akiman‘Kinematics‘. W celu skorzystania z tych funkcji należy najpierw zdefiniować kinematyk˛e używajac ˛ funkcji k MakeKinematics < DH par = . 3.3 PAKIET AKIMAN‘KINEMATICS Pakiet służy do przedstawiania kinematyki manipulatorów we współrz˛ednych, wyliczania jakobianów oraz wyznaczania osobliwości kinematyki. Pakiet umożliwia również wyznaczanie kinematyki macierzowej manipulatorów korzystajac ˛ z elementarnych rotacji i translacji. Poniżej zostały przedstawione tylko najważniejsze funkcje. Pozostałe funkcje zostały omówione w pracy [4]. Wyniki obliczeń b˛eda˛ omówione osobno dla każdej z funkcji. Kinematics - Kinematics[DHpar] wylicza macierzowa˛ kinematyk˛e manipulatora w reprezentacji Denavita-Hartenberga. MakeKinematics - MakeKinematics[DHpar] generuje funkcj˛e, która opisuje kinematyk˛e manipulatora we współrz˛ednych kartezjańskich położenia oraz współrz˛ednych orientacji typu katy ˛ Eulera. W przypadku, gdy nie jest możliwe wyliczenie współrz˛ednych orientacji w standardowy sposób, kinematyka jest wyrażana tylko we współrz˛ednych położenia. Wynik powinien być podstawiony pod zmienna˛ k (k=MakeKinematics[DHpar]). Jest to wymogiem wynikajacym ˛ z późniejszego wykorzystania funkcji kinematyki k w pakietach Akiman‘SingularityAvoiding oraz Akiman‘NormalForm. Funkcja k ma postać Function < W $ = . Wynik przedstawiajacy ˛ kinematyk˛e zależy od definicji argumentu, czyli wektora zmiennych przegubowych, który może być dowolna˛ lista˛ n-elementowa. ˛ W przypadku, gdy napiszemy k < q= , kinematyka b˛edzie zależna od zmiennych q, a w przypadku, gdy napiszemy k < X = , kinematyka b˛edzie zależna od zmiennych X . MakeCartKinematics - MakeCartKinematics[k[x],x] generuje funkcj˛e, która przedstawia kinematyk˛e manipulatora we współrz˛ednych kartezjańskich położenia na podstawie kinematyki k we współrz˛ednych położenia i orientacji. Wynik procedury powinien być podstawiony pod zmienna˛ k (k=MakeCartKinematics[k[x],x]). Wynika to z późniejszego wykorzystania funkcji kinematyki k w pakietach Akiman‘SingularityAvoiding oraz Akiman‘NormalForm. Singularities - Singularities[x] wylicza osobliwości kinematyki k, gdzie x to wektor przestrzeni przegubowej manipulatora. Funkcja zwraca list˛e ze zbiorem konfiguracji osobliwych zapisanych w formie R sin x2 0 U lub R sin x2 cos x3 U . Na podstawie tych informacji użytkownik sam definiuje konfiguracj˛e osobliwa,˛ która˛ zapisuje w formie listy przyporzadkowuj ˛ acej ˛ określonej zmiennej przegubowej wartość spełniajac ˛ a˛ warunek wyznaczony przez funkcj˛e (np. s SR x2 0 U lub s SR x2 π4 x3 π4 U ). SolvedSingularities - SolvedSingularities[x] wylicza osobliwości kinematyki k, gdzie x to wektor przestrzeni przegubowej manipulatora. Funkcja zwraca list˛e konfiguracji osobliwych manipulatora. Wynik jest zwracany w formie listy przyporzadkowuj ˛ acej ˛ określonej zmiennej przegubowej odpowiednia˛ wartość. Ze wzgl˛edu na korzystanie z funkcji odwrotnych funkcja może nie wyliczyć wszystkich rozwiazań. ˛ JacobAn - JacobAn[x] wylicza jakobian analityczny kinematyki k. JacobGeomS - JacobGeomS[DHpar] wylicza jakobian geometryczny w przestrzeni (4). JacobGeomB - JacobGeomB[DHpar] wylicza jakobian geometryczny w ciele (5). Jm - Jm[DHpar] wylicza jakobian manipulatora (6). JmBetterForm - JmBetterForm[DHpar,i] wylicza jakobian manipulatora w układzie współrz˛ednych zwiazanym ˛ z i-tym przegubem (7). 3.4 PAKIET AKIMAN‘NORMALFORM Pakiet służy do wyznaczania postaci normalnej kinematyki w konfiguracji osobliwej. W celu skorzystania z tego pakietu użytkownik musi wyznaczyć kinematyk˛e k manipulatora korzystajac ˛ z funkcji k=MakeKinematics[DHpar], a nast˛epnie w zależności od własności kinematyki (redundancja) użyć odpowiedniej funkcji. QuadNormalForm - QuadNormalForm[x,s] sprawdza, czy istnieje kwadratowa postać normalna kinematyki nieredundantnej k w konfiguracji osobliwej s, gdzie x to wektor przestrzeni przegubowej manipulatora. Wynikiem jest postać normalna (18) lub komunikat, że kwadratowa postać normalna nie wyst˛epuje. QuadNormalFormRedundant - QuadNormalFormRedundant[x,s] sprawdza, czy istnieje kwadratowa postać normalna kinematyki redundantnej k w konfiguracji osobliwej s, gdzie x to wektor przestrzeni przegubowej manipulatora. Wynikiem jest postać (15) lub komunikat, że kwadratowa postać normalna nie wyst˛epuje. 3.5 PAKIET AKIMAN‘GRAPHICS Pakiet służy do opisu graficznego struktury kinematycznej manipulatorów zdefiniowanych parametrami Denavita-Hartenberga, jak również wyznaczania ścieżki ruchu efektora. Istnieje również możliwość animacji ruchu manipulatora. Opis pakietu podano w pracy [4]. Dost˛epne funkcje pakietu to: PlotSkeleton, PlotPaths, AnimateSkeleton. W celu skorzystania z funkcji dost˛epnych w tym pakiecie musimy najpierw podstawić pod zmienna˛ globalna˛ DHParameters list˛e z parametrtami Denavita-Hartenberga badanego manipulatora. Parametrom geometrycznym kinematyki należy nadać wartości liczbowe. 3.6 PAKIET AKIMAN‘SINGULARITYAVOIDING Pakiet został opisany w pracy [2]. Umożliwia rozróżnienie możliwych i niemożliwych do unikni˛ecia konfiguracji osobliwych manipulatora redundantnego (funkcja Delta dla kinematyki o stopniu redundancji 1 oraz funkcje Hessian i GammaIndex dla kinematyki o stopniu redundancji >1). 3.7 PAKIET AKIMAN‘PARAMETERS Pakiet ten zawiera baz˛e parametrów Denavita-Hartenberga manipulatorów: K-1207, IRb6 na torze jezdnym, potrójne wahadło, SCARA, manipulator stanfordzki, PUMA, Cybotech, manipulator wielokorbowy. List˛e wszystkich manipulatorów zawartych w bazie lub manipulatorów z zadanymi wartościami parametrów kinematycznych (np. długość ramion) otrzymamy wpisujac ˛ odpowiednio Names < ” X DHP”= lub Names < ” X LenDHP”= 4 PRZYKŁADY 4.1 POTRÓJNE WAHADŁO Kinematyka wyznaczona na podstawie parametrów Denavita Hartenberga Pend3DHP ma postać k MakeKinematics < Pend3DHP= k x l1 c1 - l2 c12 - l3 c123 l1 s1 - l2 s12 - l3 s123 x1 - x2 - x3 T (19) gdzie każdy z elemnetów si oraz ci to odpowiednio sin xi oraz cos xi , si j to sin xi - x j . Zdefiniujmy wektor przestrzeni przegubowej manipulatora x Vector < ”x” 3= . Ograniczmy kinematyk˛e (19) do współrz˛ednych położenia i wyznaczmy jej osobliwości k MakeCartKinematics < k < x= x= k x l1 c1 - l2 c12 - l3 c123 l1 s1 - l2 s12 - l3 s123 T Singularities < x= Y S VR x Z 3 sin x2 0 [ sin x3 0 U (20) Wybierzmy konfiguracj˛e osobliwa˛ R x2 0 x3 0 U . Stwierdzamy, że jest to konfiguracja osobliwa niemożliwa do unikni˛ecia ponieważ wyróżnik ∆ 2 0. Delta < x R x2 0 x3 0 U\= ∆ Y 1 3 sin2 x1 Wyznaczmy dla tej konfiguracji postać normalna˛ QuadNormalFormRedundant < x R x2 k x 4.2 x1 x22 x23 0 x3 T 0 U\= (21) ROBOT SCARA Kinematyka wyznaczona na podstawie parametrów Denavita Hartenberga SCARADHP, ma postać k MakeKinematics < SCARADHP= k x a1 c1 - a2 c12 a1 s1 - a2 s12 d1 - x3 x1 - x2 - x4 T (22) gdzie każdy z elemnetów si oraz ci to odpowiednio sin xi oraz cos xi , si j to sin xi - x j . Zdefiniujmy wektor przestrzeni przegubowej manipulatora x Vector < ”x” 4= . Osobliwości kinematyki (22) sa˛ opisane zbiorem Singularities < x= 4 S SR x Z Y Wybierajac ˛ jedna˛ z konfiguracji osobliwych (np. x2 jest opisana zależnościa˛ 0) możemy wyznaczyć postać normalna,˛ która QuadNormalForm < x R x2 k x sin x2 0 U x1 x2 x3 x24 T 0 U\= (23) Równocześnie możemy wyznaczyć postać normalna˛ dla konfiguracji osobliwej x2 QuadNormalForm < x R x2 która jest identyczna z (23). π U\= π. Rysunek 1a) przedstawia jedna˛ z możliwości graficznych pakietu. Definiujac ˛ zmienna˛ globalna˛ DHParameters SCARALenDHP i używajac ˛ funkcji PlotPaths < R 0 0 0 5 0 U RLR 2 π ] 6 π ] 6 UTU R U\= przedstawiamy manipulator SCARA w konfiguracji q1 q2 q4 0 q3 12 ze scieżka˛ efektora przy ruchu drugiego przegubu od położenia q2 π6 do q2 - π6 . Rysunek 1b) przedstawia ten sam manipulator dla q1 q4 0 q2 π q3 12 oraz ścieżk˛e przy ruchu drugiego przegubu od q2 π6 do q2 - π6 . z z y y x a) x b) Rysunek 1. Manipulator SCARA w konfiguracji osobliwej a) q2 Figure 1. SCARA manipulator at the singular configuration a) q2 ^ 0, b) q2 ^ 0, b) q2 ^ π. ^ π. LITERATURA [1] K. TCHOŃ, A. MAZUR, I. DULEBA, ˛ R. HOSSA, R. MUSZYŃSKI: Manipulatory i Roboty Mobilne: Modelowanie, planowanie ruchu, sterowanie, Akademicka Oficyna Wydawnicza, Warszawa, 2000. [2] S. PIWKO, K. TCHOŃ: KOSMA - Program do analizy kinematycznych osobliwości manipulatorów, Materiały VI Krajowej Konferencja Robotyki, Oficyna Wydawnicza PWr, Wrocław, 1998, t1,43-50. [3] K. TCHOŃ, A. MATUSZOK: On avoiding singularities in reduntant robot kinematics, Robotica, 1995, Vol.13, 599-606. [4] T. SULKA :Osobliwości kinematyki robotów, Praca magisterska, Wrocław, 2001. [5] K. TCHOŃ: Singularity avoidance in redundant robot kinematics: a dynamical system approach. Appl. Math. and Comp. Sci., 1997, Vol.7, No.2, 401-412. [6] K. TCHOŃ, R. MUSZYŃSKI: Singular Inverse Kinematic Problem for Robotic Manipulators: A Normal Form Approach IEEE Trans. Robotics & Automat., 1998, Vol.14, No.1, 93-104. AKIMAN2 - a software package dedicated to analysis of manipulator kinematics The paper presents a dedicated software package AKIMAN written in the program environment M ATHEMATICA . This package allows the user to compute the kinematics of robot manipulators defined by Denavit-Hartenberg parameters, examine various coordinate representations of kinematics, find analytic and geometric Jacobians, determine singular configurations, check avoidability of singularities, and examine normal forms of singular kinematics. 2 the package is available at the page http://rab.ict.pwr.wroc.pl/inne.