PRACA DYPLOMOWA MAGISTERSKA Osobliwosci kinematyki
Transkrypt
PRACA DYPLOMOWA MAGISTERSKA Osobliwosci kinematyki
Politechnika Wrocławska Wydział Elektroniki Instytut Cybernetyki Technicznej K IERUNEK : S PECJALNO Ś Ć : Automatyka i Robotyka (AiR) Robotyka (ARR) PRACA DYPLOMOWA MAGISTERSKA Osobliwości kinematyki robotów AUTOR : Tomasz Sulka P ROWADZ ACY ˛ PRAC E˛ : prof. Krzysztof Tchoń, I-6 O PIEKUN : prof. Krzysztof Tchoń, I-6 O CENA PRACY: Wrocław 2001 Robotyka jako magia naturalna i świ˛eta opuściła już ziemi˛e i rozpocz˛eła eksploracj˛e świata obserwowanego dotad ˛ z oddalenia. Niebawem autonomiczne maszyny tworzone przez robotyków, wkrocza˛ w mikrokosmos organizmu ludzkiego, by ratować życie. Wtedy w pełni spełni si˛e przepowiednia Roberta Bacona : ludzkość zyska technologiczny kamień filozoficzny, który pozwoli zmieniać świat i uczynić go lepszym Rozdział 1 Wst˛ep 1.1 Wprowadzenie ogólne Robotyka jest interdyscyplinarna˛ nauka.˛ Wynika to mi˛edzy innnymi z zakresu stosowalności wiedzy, wykorzystywanej przy rozwiazaniu ˛ problemów pojawiajacych ˛ si˛e w zagadnieniach robotycznych. Zwiazane ˛ sa˛ z nia˛ zarówno zagadnienia sterowania jak i opisu ruchu układów robotycznych. Te z kolei opieraja˛ si˛e na rozległej wiedzy matemetycznej. Bez tej wiedzy nie bylibyśmy w stanie opisać wielkiej różnorodności metod i teorii, heurystyk i hipotez wyst˛epujacych ˛ w robotyce. Przez wzglad ˛ na rozległość zagadnień, które obejmuje nauka, w niniejszej pracy ograniczymy si˛e jedynie do pewnego obszaru. Skoncentrujemy si˛e głównie na zagadnieniach zwiazanych ˛ z opisem kinematyki modeli manipulatorów robotów, jak również zagadnieniami sterowania manipulatorami w pobliżu konfiguracji osobliwych. Poruszanie si˛e w obszarze robotyki jest niemożliwe bez zdefiniowania podstawowych poj˛eć. Poniżej postaramy si˛e krótko przedstawić niezb˛edne poj˛ecia. ˛ przegubami nazywamy maniUkład robotyczny złożony z sztywnych ramion połaczonych pulatorem o stopniach swobody. Na poczatku ˛ łańcucha ramion umieszczamy podstawowy układ współrz˛ednych, natomiast z końcówka˛ łańcucha zwiazany ˛ b˛edzie układ efektora. Przeguby łacz ˛ ace ˛ poszczególne ogniwa łańcucha maja˛ postać przegubów obrotowych lub przegubów przesuwnych. Najważniejszym zadaniem zwiazanym ˛ z manipulatorem b˛edzie zapewnienie pożadanego ˛ położenia i orientacji efektora. To zadanie wymaga wyznaczenia pewnego odwzorowania przekształcajacego ˛ położenia przyjmowane przez poszczególne przeguby na położenia i orientacje efektora, nazywanego kinematyka˛ manipulatora. Wektor wartości położeń poszczególnych przegubów nazywamy konfiguracja. ˛ Z kinematyka˛ manipulatora wiaż ˛ a˛ si˛e jego właściwości ruchowe. Na podstawie kinematyki jesteśmy w stanie zdefiniować pewna˛ macierz, zależna˛ od aktualnej konfiguracji manipulatora, przekształcajaca ˛ wektor pr˛edkości ruchu poszczególnych przegubów w wektor pr˛edkości efektora. W zależności od sposobu definicji tej macierzy b˛edziemy uzyskiwali różne wektory pr˛edkości efektora. Macierz ta nosi nazw˛e jakobianu. Ze wzgl˛edu na to, że jakobiany sa˛ zależne od aktualnej konfiguracji, w pewnych konfiguracjach przekształcenie wektorów pr˛edkości przegubów i efektora, może nie być suriektywne. Wówczas, sterowanie takim manipulatorem przy wykorzystaniu standardowych algorytmów staje si˛e niemożliwe. Nie jest możliwe uzyskanie ruchu efektora w dowolnym kierunku. Można by powiedzieć, że manipulator traci zr˛eczność. Tego typu konfiguracje nazywamy osobliwymi. Z geometrycznego punktu widzenia konfiguracje osobliwe można zinterpretować jako takie ustawienia przegubów manipulatora, w których swoboda ruchu efektora jest mniejsza od wymiaru przestrzeni zadaniowej. Wykazanie osobliwości konfiguracji jest proste w przypadku, gdy przestrzeń zadaniowa manipulatora jest dwu lub trójwymiarowa. Wówczas wszelkie konfiguracje ustawiajace ˛ przeguby manipulatora na linii prostej lub na płaszczyźnie sa˛ konfiguracjami osobliwymi. W przypadku wi˛ekszych przestrzeni zadaniowych, określenie czy badana konfiguracja jest oso1 ROZDZIAŁ 1. WSTEP ˛ 2 bliwa czy też nieosobliwa może być trudne. Określenie zbioru konfiguracji osobliwych wymaga zastoso wania metod analitycznych. Oczywiście, pewne zabiegi konstrukcyjne moga˛ zmniejszyć zbiór konfiguracji osobliwych, jednak istnieja˛ manipulatory, których budowa uniemożliwia takie operacje. W takich wypadkach należy stosować algorytmy umożliwiajace ˛ omijanie konfiguracji osobliwych, albo przechodzenie przez lub w pobliżu tych konfiguracji. Badania osobliwości kinematyki manipulatorów sa˛ prowadzone od dłuższego czasu w Zakładzie Podstaw Cybernetyki i Robotyki Instytutu Cybernetyki Technicznej PWr. W szczególności dotycza˛ one rozwiazywania ˛ odwrotnego zadania kinematyki w pobliżu konfiguracji osobliwej. 1.2 O pracy Głównym celem pracy jest opracowanie pakietu oprogramowania wspomagajacego ˛ analiz˛e kinematyki manipulatorów, a w szczególności zastosowanie go do rozwiazywania ˛ osobliwego odwrotnego zadania kinematyki. Baza wiedzy zawartej w programie obejmuje modelowanie kinematyki manipulatorów oraz algorytmy pozwalajace ˛ na rozwiazywanie ˛ osobliwego odwrotnego zadania kinematyki. W zakresie modelowania kinematyki do funkcji oprogramowania należy wyliczanie kinematyki manipulatora według algorytmu Denavita-Hartenberga, reprezentacje kinematyki we współrz˛ednych, wyznaczanie jakobianów oraz definiowanie konfiguracji osobliwych manipulatora. Dla odwrotnego osobliwego zadania kinematyki oprogramowanie pozwala rozstrzygnać ˛ kwesti˛e unikania osobliwości oraz pozwala na wykrywanie kwadratowych postaci normalnych kinematyki. Oprogramowanie AKIMAN (Analiza KInematyki MAnipulatorów), jest przeznaczone zarówno do analizy znanych, jak i do konstruowania nowych rozwiazań ˛ kinematyki robotów. Układ pracy jest nast˛epujacy. ˛ Nast˛epne dwa rozdziały (2 oraz 3) przedstawiaja˛ cz˛eść teoretyczna.˛ W rozdziale 2 sa˛ zawarte mi˛edzy innymi wiadomości dotyczace ˛ wyznaczania kinematyki manipulatora zarówno w postaci macierzowej, jak i we współrz˛ednych, definicje jakobianów oraz definicja konfiguracji osobliwej. W rozdziale 3 zostały przedstawione twierdzenia pozwalajace ˛ na rozwiazywanie ˛ odwrotnego osobliwego zadania kinematyki. Zadanie to zostało omówione w dwóch podjeściach. Pierwszym jest unikanie osobliwości, a drugim zastosowanie równoważnych postaci normalnych kinematyki. Rozdział 4 pracy opisuje pakiet oprogramowania Akiman stworzonego na bazie środowiska obliczeniowego M ATHEMATICA . W ostatniej cz˛eści pracy (rozdział 5) zostały przedstawione wyniki przeprowadzonych badań. Zawarte sa˛ dost˛epne w pakiecie przykłady pozwalajace ˛ na ocen˛e możliwości pakietu. W Dodatku zostały przedstawione tabele z parametrami Denavita-Hartenberga manipulatorów. Rozdział 2 Kinematyka 2.1 Reprezentacja Denavita-Hartenberga Algorytm wyznaczania kinematyki według Denavita-Hartenberga polega na zwiazaniu ˛ z każdym ramieniem manipulatora lokalnego układu współrz˛ednych umieszczonego w odpowiednim przegubie, a nast˛epnie wyznaczeniu transformacji pomi˛edzy kolejnymi układami. Układy nr i nr wiażemy ˛ z podstawa˛ i efektorem manipulatora. Transformacja pomi˛edzy układami oraz jest zdefiniowana jako złożenie czterech podstawowych przekształceń1 : gdzie: ) $ / ! #"%$ '& (*) +#"%$ & ,-*$ .,*/ - kat ˛ obrotu wokół osi , - przesuni˛ecie wzdłuż osi , - przesuni˛ecie wzdłuż osi (2.1) - kat ˛ obrotu wokół osi , , , , +01.232.23 sa˛ parametrami Denavita-Hartenberga, . Kinematyka układu tzn. transformacja układu podstawowego w układ efektora (lub transformacja współrz˛ednych z układu efektora do układu podstawowego) jest złożeniem kolejnych transformacji (przejść pomi˛edzy kolejnymi przegubami manipulatora) i ma postać: 4 56 78 (569 : 7 > @?A 7B F 5CED 7B (56 G <;= 2.2 (2.2) Kinematyka we współrz˛ednych Zależność (2.2) przedstawia odwzorowanie rozmaitości przegubowej, w rozmaitość zadaniowa˛ manipulatora. Wyznaczenie reprezentacji kinematyki we współrz˛ednych sprowadza si˛e do parametryzacji odpowiednich cz˛eści kinematyki (2.2). W szczególności, jako reprezentacja położenia najcz˛eściej jest wybierany wektor translacji w reprezentacji (2.2), a nast˛epnie jest dokonywana parametryzacja cz˛eści rotacyjnej. Wyróżniamy kilka parametryzacji cz˛eści rotacyjnej. Sa˛ to m.in.: – parametryzacja typu kołysanie-kiwanie-myszkowanie, RPY (roll-pitch-yaw) 1 Podstawowe przekształcenia zostały zdefiniowane w dodatku A.1. 3 ROZDZIAŁ 2. KINEMATYKA 4 z0 zk I AH (q) I TH zn k i zi yk k i xi y0 yi K A0i(q) xk KIL A0k(q) JT JTI n k yn xn n i K A0n (q) X0 Rysunek 2.1: Schemat kinematyki manipulatora – parametryzacja typu Katy ˛ Eulera Parametryzacja RPY jest zdefiniowana jako: M9*1(NO9PQR#+MCSR(TU*%.R,NV natomiast parametryzacja typu Katy ˛ Eulera jako: (MW*XNV PYR(+M6.R>TZ.R(NV Powyższe parametryzacje sa˛ najcz˛eściej używanymi przekształceniami. Jednakże nie jest konieczne, aby kolejność rotacji wokół poszczególnych osi była zachowana, wymaga si˛e tylko, by kolejne osie obrotów były wzajemnie prostopadłe. Przykładowe permutacje osi obrotów dla parametryzacji RPY opisane sa˛ w dodatku zależnościa˛ (A.1). Reprezentacja we współrz˛ednych kinematyki robota o stopniach swobody w [ -wymiarowej przestrzeni zadaniowej ma postać \^]`_ 7a P _cb edfg 3 2.2323>g + hZjik \ (dZ f(l (dUm32.232n*l b (dU.+hZ2 7 2.3 (2.3) Jakobiany Jakobian analityczny definiuje si˛e jako macierz pochodnych czastkowych ˛ kinematyki manipulatora oqp wyrażonej we współrz˛ednych (dZ sr d\ (dUm2 r Po zróżniczkowaniu wzgl˛edem czasu równania opisujacego ˛ kinematyk˛e manipulatora (2.3), zauważamy, że jakobian analityczny opisuje transformacj˛e pr˛edkości zmian współrz˛ednych przeguoqp bowych w pr˛edkości zmian współrz˛ednych zadaniowych iut (dZ dOt 2 (2.4) Poza jakobianem analitycznym definiujemy również jakobiany geometryczne, niezależne od parametryzacji przyj˛etej przy wyznaczaniu odwzorowania (2.3). 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 efektora wo przestrzeni vxw%y z yR{ y 56 5 t (2.5) 2.3. JAKOBIANY 5 oraz jakobian geometryczny w ciele, zdefiniowany jako przekształcenie wektora pr˛edkości zmien| przegubowych w wektor pr˛edkości efektora wo ciele nych vxw~} z } { } 56 5 t 2 (2.6) Jakobian manipulatora jest rozumiany jako macierz przekształcenia pr˛edkości ruchu w przegubach w pr˛edkość liniowa˛ efektora wzgl˛edem układu podstawowego i pr˛edkość katow ˛ a˛ efektora w przestrzeni o v t 8 z 7y { b (5C 5 t 2 (2.7) Postacie podanych jakobianów sa˛ nast˛epujace. ˛ Dla jakobianu geometrycznego w przestrzeni definiujemy kolejne jego kolumny osobno dla przegubu obrotowego, osobno dla przesuwnego. Dla -tego przegubu obrotowego -ta kolumna jakobianu geometrycznego jest nast˛epujaca ˛ v y ( 5C WR 8 > 8. 3m 3 { (2.8) 83 . . natomiast dla -tego przegubu przesuwnego -ta kolumna ma postać v y 56 83 . .F > { 2 (2.9) > > Element 83 . . w powyższych wzorach oznacza trzecia˛ kolumn˛e macierzy 8 wyst˛epujacej ˛ w transformacji : > ? A B > ED B > > F 8 (2.10) G ;= `32.232n( h . Definicje kolumn jakobianu geometrycznego w przestrzeni zaWektor o czerpni˛eto z pracy [1]. Dla jakobianu geometrycznegoy w (5Cciele można przedstawić podobne definicje, aczkolwiek proi zależności ściej jest skorzystać z jakobianu o o } 56 @? 78 h (5C 87 h (5Ch (5C8 7 56! y 5 2 (2.11) F G 78 u generuje macierz skośnie symetryczna˛ Operator C f C +hc XQ 2 C W celu wyznaczenia jakobianu manipulatora, skorzystamy z formuły przedstawionej w pracy [1]. Dla -tego przegubu obrotowego mamy b ( 5C v 8. 3m 3 W . 8 7 > 56 8 ! { 83 3m . (2.12) natomiast dla -tego przegubu przesuwnego definicja jest taka sama jak dla jakobianu geometryczo nego w przestrzeni, równanie (2.9). y Podobnie jak dla jakobianu (56 geometrycznego w ciele, jakobian manipulatora możemy wyrazić za pomoca˛ jakobianu oraz o zależności o y (5C 2 b 59@? F 8 7 5! G (2.13) ROZDZIAŁ 2. KINEMATYKA 6 2.3.1 Jakobian manipulatora w różnych układach współrz˛ednych Postać jakobianu manipulatora jest cz˛esto skomplikowana, co uniemożliwia szybkie określenie własności manipulatora. W tym kontekście bardzo pomocne może okazać si˛e obliczenie jakobianu wzgl˛edem układu współrz˛ednych zwiazanego ˛ z wybranym przegubem manipulatora (innym niż układ podstawowy) o b 5 5t w y vw b z y { gdzie elementy b z oznaczaja˛ pr˛edkości liniowa˛ i katow ˛ a˛ w przestrzeni efektora wzgl˛edem -tego układu współrz˛ednych. l Na podstawie zależności (2.12) określimy postać -tej kolumny jakobianu manipulatora wzgl˛edem układu -tego w przypadku przegubu obrotowego W . 6 5 > ! ( C 5 b 3 m3 7 > 2 3 m. l Na podstawie zwiazków ˛ zachodzacych ˛ pomi˛edzy macierzami rotacji układów -tego, -tego oraz podstawowego Q 8 8 ( +h= 8 8 (2.14) możemy wyznaczyć zależność pomi˛edzy macierzami rotacji układów oraz ¡ ¢ f( ¢ + h9 2 8 8 (2.15) Równanie (2.15) oraz postać kolumn jakobianu manipulatora pozwala na wyprowadzenie ogólnego zwiazku ˛ pomi˛edzy jakobianami manipulatorów wzgl˛edem układów oraz ¡ o o h ¢ ( C 5 S ( 6 5 F (5Cm2 ¢b 56 8 F 8 ¢ h 5CS 5C b o (2.16) 8 8 o o b 5C= W szczególnym przypadku, gdy założymy, że układ jest układem podstawowym tzn. b8 (569 b 5C , zależność (2.16) upraszcza si˛e do postaci o o h ¢ ( C 5 F b (56m ¢b 56 8 F (2.17) ¢ h 56 8 £ ¤!§ ¥ ¦ o o w prosty sposób wyznaczyć jakobian manipulatora wzgl˛edem dona podstawie której możemy wolnego z układów współrz˛ )©¨` ¢b 5 ª)©¨` ednych. 56 Łatwo zauważyć, że ponieważ wyznacznik macierzy obrotu b mamy . 2.4 Konfiguracje osobliwe Zakładamy, że « [ . Konfiguracje osobliwe manipulatora sa˛ to takie konfiguracje, w których o p jakobian analityczny traci rzad. ˛ Zbiór konfiguracji osobliwych jest zatem zdefiniowany jako ¬ b e~d® _ 7°¯ "%$ l >dU± [-² 2 (2.18) ¬ Zbiór b nie opisuje konfiguracji osobliwych pochodzacych ˛ od parametryzacji zwanych osobliwościami reprezenatcji. W celu wyznaczenia wszystkich konfiguracji osobliwych manipulatora należy badać rzad ˛ jakobianu manipulatora. 2.4. KONFIGURACJE OSOBLIWE 7 Przy założeniu, (d^´56 że współrz˛edne przegubowe można utożsamić z położeniami przegubów mani³ pulatora możemy wyznaczyć zwiazek ˛ pomi˛edzy jakobianem manipulatora, a jakobianem analitycznym o op b 5C ? F µ (¶°F *XNV G µ ¶Z*1(NO (5Cm2 (2.19) opisuje parametryzacj˛e typu ˛ Eulera cz˛eści rotacyjnej kinematyki o postaci Macierz (¶°*XkNVaty µ (2.2). Na podstawie własności macierzy b˛edziemy wyznaczali osobliwości parametryzacji. Zbiór konfiguracji osobliwych reprezentacji jest zdefiniowany jako ¬6· ¹¸(¶°*XNV+h ¯ %" $ l µ ¶°1(NO±»º½¼U2 ¬ ¬6· definiuja˛ pełny zbiór konfiguracji osobliwych o Zbiory b oraz manipulatora ¬ ¬ b ¾ ¬6· ¿5À® _ 7-¯ "$ l b (5C± [ ªÁ ² 2 d 5 W przypadku gdy współrz˛edne oraz (2.20) (2.21) nie sa˛ tożsame, tzn. opisane sa˛ zależnościa˛ 5Â9(dU (2.22) wówczas zależność pomi˛edzy jakobianem manipulatora i jakobianem analitycznym wyraża si˛e wzorem o o p b 56 r d ( dZ @? F µ ¶°F 1(NO G r (dZ 2 (2.23) 8 ROZDZIAŁ 2. KINEMATYKA Rozdział 3 Osobliwe odwrotne zadanie kinematyki Typowe iteracyjne algorytmy 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żliwić rozwiazanie ˛ odwrotnego zadania kinematyki. Osobliwe odwrotne zadanie kinematyki można rozwiazywać ˛ na różne sposoby. Przede wszystkim zauważmy, że poprzez wprowadzanie redundancji zwi˛ekszaja˛ si˛e możliwości manipulacyjne robota. Wówczas dodatkowe stopnie swobody ruchu cz˛esto umożliwiaja˛ osiaganie ˛ tego samego położenia efektora zarówno w konfiguracji osobliwej, jak i w nieosobliwej. Tego typu strategi˛e 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 osobliwej. 3.1 Unikanie osobliwości W celu określenia, czy dana konfiguracja manipulatora jest możliwa, czy też niemożliwa do unikni˛ecia potrzebna jest rozwini˛eta wyobraźnia geometryczna. Jest to dość proste, w przypadku gdy manipulator nie jest zbyt skomplikowany. Jednakże w przypadkach bardziej złożonych konstrukcji, do badania (dZ osobliwości kinematyki, niezb˛edne sa˛ narz˛edzia analityczne. \ Niech d oznacza reprezentacj˛e kinematyki we współrzednych. Przyjmujemy, że konfigudà racja osobliwa jest możliwa do unikni˛ecia, jeżeli istnieje nieosobliwa konfiguracja , taka że \ (dU \ >d à (3.1) w przeciwnym przypadku konfiguracja osobliwa jest niemożliwa do unikni˛ecia. Jeżeli konfigudÄà racja nieosobliwa może być znaleziona pewnym (małym) otoczeniu konfiguracji osobliwej, d mówimy że jest lokalnie możliwa do unikni˛ecia. Unikanie konfiguracji osobliwych b˛edziemy rozpatrywać w dwóch aspektach: najpierw dla kinematyki redundantnej o stopniu redundancji , nast˛epnie dla kinematyki redundantnej o stopniu redundancji « . 3.1.1 Kinematyka o stopniu redundancji 1 W celu rozróżnienia konfiguracji osobliwych możliwych d»t ¬ (dUi niemożliwych do unikni˛ecia, załóżmy że(dZ [Ū i zdefiniujmy układ dynamiczny zwiazany ˛ z kinematyka˛ manipulatora \ , tak żeby op >d° ¬ (dU 9 2 (3.2) ROZDZIAŁ 3. OSOBLIWE ODWROTNE ZADANIE KINEMATYKI 10 y2 y2 l3 , q3 =Pi y1 l1 , q1 =0:2 Pi y1 l2 , q2 =0 a) b) Rysunek 3.1: Manipulator typu potrójne wahadło a) w konfiguracji osobliwej, b) w konfiguracjach nieosobliwych osiagaj ˛ acych ˛ ten sam punkt przestrzeni zadaniowej. Æ Całkujac ˛ (3.2) otrzymamy Æ lr ( dUS)ÇgÈ )Xl'>dU ´l'>dZ ªÉ (3.3) rd d-t ¬ (dU z czego wynika, że wzdłuż trajektorii układu kinematyka przyjmuje stała˛ wartość. Pole >dUCe ¬ (dUm3232.2n ¬ >dZ3 h ¬ o wektorowe nazwiemyp polem ruchu własnego i definiujemy formuła˛ 7 ¬ >dU f j ËÊ= )©¨` (dZ 32.2323 op (3.4) dt ¬ (dZ >dU r d l ( dU dZt )' r Æ oznacza jakobian analityczny z usuni˛eta˛ i-ta˛ kolumna.˛ Układ dynamiczny gdzie nazywamy układem dynamicznym ruchu [3], [1]. dt własnego ¬ >dU posiada Można pokazać, że układ dynamiczny punkty równowagi w konfiguracjach osobliwych. Na podstawie powyższych spostrzeżeń stwierdzamy co nast˛epuje: d – Jeżeli do punktu równowagi 8 układu dynamicznego ruchu własnego (konfiguracji osobliwej d 8 manipulatora) asymptotycznie zbliżaja˛ si˛e lub oddalaja˛ trajektorie ( jest d asymptotycznie stabilnym lub niestabilnym punktem równowagi),wówczas konfiguracja 8 jest możliwa do unikni˛ecia. d – Jeżeli do punktu równowagi 8 układu dynamicznego ruchu własnego (konfiguracji osobliwej d 8 manipulatora) nie zbliżaja˛ si˛e asymptotycznie trajektorie ( jest stabilnym w sensie Lapug8 nowa), wówczas konfiguracja niemożliwa do unikni˛ecia. ÌYÍ iÀ \ >dZ "O 2 Załóżmy teraz, że stopień redundancji kinematyki jest dowolny i wynosi l Î[ « Podobnie, jak w przypadku stopnia redundancji , stowarzyszamy z kinematyka˛ tzw. hamiltonowskie pola ˛ sposób, [4]. Wybierzmy ciag ˛ liczb całkowi±ªwektorowe 23232DZ b zdefiniowane w nast˛epujacy tych ÏÐ i określmy pole Ï Ê= , (dZ f, (dZm3232.2Ç(, (dZ. ÒÑnÓÔÓÓ ÖÕ'×1Ñ 7 3.1.2 formuła˛ Kinematyka o stopniu redundancji , ( dU jeżeli ZØ , (dU f · Ù Ê=©ÚÜÛÝ ~32.232Ç b Ê= >dZ jeżeli dla pewnego " *0132.232Ç [eÅ» ÖÞ zachodzi · ßâ àá à (3.5) o p 3.1. UNIKANIE OSOBLIWOŚCI 11 >dUäã >dZ ãå przy czym o nume32.232Ç b Þ jest macierza˛ złożona˛ z kolumn· jakobianu analitycznego Ê= z usuni˛eta˛ kolumn op a˛ numer ,. rach Na mocy definicji, każde konfiguracji osobliwej manipula, (dZ®apole èé¨ê" hamiltonowskie (dZm2 ËÑæÓÔÓÔÓ pokazać, <ÕC×çÑ znikażewpola tora oraz Można także hamiltonowskie maja˛ zerowa˛ ) Ó ÖÕ'w ×1, Ñ (dZW Ò n Ñ Ô Ó Ó dywergencj˛e, [4]. Korzystaj d 8 ac˛ z wymienionych własności pól hamiltonowËÑnżeÓÔÓÔÓ Ökonfiguracja Õ'×1Ñ skich stwierdzamy, osobliwa jest możliwa do unikni˛ecia, jeżeli istnieje pole , d 8 , takie że jest asymptotycznie stabilnym lub niestabilnym punktem równowagi ukłaË æ Ñ Ô Ó Ô Ó Ó Ö ' Õ 1 × Ñ du dynamicznego d dt , ËÑnÓÔÓÔÓ <ÕC×çÑ (dUm2 (3.6) Jeżeli w każdym takim układzie d 8 punkt 8 jest stabilny w sensie Lapunowa (ale nie asymptotycznie stabilny), to konfiguracja jest niemożliwa i- \ >dZ do unikni˛ecia. Weźmy pod uwag˛e reprezentacj˛ e kinematyki we współrz˛ednych i wyznaczmy dla niej d 8 oqp konfiguracj˛e osobliwa˛ korz˛edu 1. Dla takiej konfiguracji jest spełniony warunek "$ k l r d\ > d 8 "%$ l (d r g .32 2.2n(g Przy odpowiedniej permutacji współrz˛ednych 7 żemy nadać postać ã 2.232 ã Ñ Ñ ã å ãå Õ=. íÇÑ "$ l .. Ñ . . . ã . 2.23.2 ã . ãÕWå í©Ñ ãå ÕWí©Ñ Ñ Õ=íÇÑ 8 [ë 2 (3.7) >ì .232323ì b oraz , warunkowi (3.7) mo (d 8 2 [ë (3.8) Wykorzystujac ˛ poj˛ecie lokalnej równoważności układów dynamicznych, jesteśmy w stanie udowodnić nast˛epujace ˛ twierdzenie [4]. d ® _ Twierdzenie (dZcîl >dU1 +Niech lÇ%(dU .232.8 2Ç+l \ niujmy macierz ï 7 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu kinematyki b ( dZ3 o stopniu redundancji « spełniajacej ˛ warunek (3.8). Zdefi- h , >d 8 9 h > T h ( T . h (ô ¬ ñð ò ðY ð k ó Å ð k ó k Å (3.9) której elementy składowe sa˛ zdefiniowane w nast˛epujacy ˛ sposób: õ ùø ã =Õ í©Ñ ã ÕWí©Ñ ,û ãýü Õ Te ãýü Õ îô ãýü Õ ãå ãå Õ=íÇÑ`ú ãÇþÿå Õ=í©Ñ ü ã åãå Õ=íÇÑ ãåü à ã øã ãü ö ààà ò ¢ ãå Õ=Õ í©Ñ ãå Õ=Õ=íÇíÇÑÑú ãå Õ=ãåíÇ Ñ ¡ ÏÐ[f à ¢ ã ø½ã ÕWí©Ñ ã ü Õ=íÇÑ ó ãå Õ=Õ íÇÑ ãå Õ=íÇÑ`ú ãå ãå Ï [ë [ûÏ¡jÏ à ¬ ã øã àà ¢ ãå Õ ãå Õ=íÇÑ ã ãü å ÕWãå í© Ñ [ ÏÐ ¡ Ï Õ=íÇÑ Õ=í©Ñ ú àà ÷ l b ´(l .23232Ç*l b g b ´g .23232%(g b W podanych przyj˛eto oznaczenia , d gf g b 32.232Çwyżej >g m formułach ï a wszystkie ˛ obliczono w konfiguracji 8 . (d >d 8 ï pochodne czastkowe 7 8 , jako liczb˛e Załóżmy że macierz ma >niezerowe wartości własne i określmy indeks d 8 ujemnych wartości własnych . Wówczas, jeżeli >d 8 (d lub 8 k[¿Å» d to 8 jest konfiguracja˛ lokalnie niemożliwa˛ do unikni˛ecia. Jeżeli >d Ï 8 Ï u[ d 8 ð to konfiguracja jest lokalnie możliwa do unikni˛ecia. 12 ROZDZIAŁ 3. OSOBLIWE ODWROTNE ZADANIE KINEMATYKI ï Powyższe twierdzenie można również zastosować w przypadku, gdy stopień redundancji jest rów|ny é[ . Wówczas rozmiar macierzy (d 8 jest równy 0k0 . Badanie indeksuï >d 8 >d 8 (d 8 można zastapić ˛ badaniem wyróżnika , zdefiniowanego jako wyznacznik macierzy . ï W przypadku gdy wyróżnik (d 8 9 x)X¨` (d 8 >d 8 2 (d 8 (3.10) lub 01 (3.11) co oznacza że obie wartości własne sa˛ tych samych znaków osobliwość jest lokalnie niemożliwa do unikni˛ecia. W przypadku, gdy wyróżnik >d 8 ± >d 8 (3.12) co oznacza że wartości własne sa˛ przeciwnych znaków, osobliwość jest lokalnie możliwa do unikni˛ecia. 3.2 Postacie normalne Idea metody postaci normalnych rozwiazania ˛ osobliwego odwrotnego zadania kinematyki polega 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. Powyższe kroki moga˛ być zapisane w postaci algorytmu przedstawionego w pracach [1], [7]. Zdefiniowanie postaci normalnej kinematyki wymaga wprowadzenia poj˛ecia równoważności odwzorowań, zgodnie z którym dwa odwzorowania sa˛ równoważne, jeśli staja˛ si˛e identyczne w odpowiednio układach współrz˛ednych. Bardziej formalnie, gładkie odwzorowania ]½_ P _ b dobranych nazywamy jeśli istnieja˛ układy współrz˛ednych (dyfeomorfizmy) ¶ ]Ü_ 7 P _ N ]Ü_ b P równoważnymi, _ b , takie że diagram 7 7 i _ 7 _ 7 P _ b P _ b jest przemienny, tzn. . Równoważność odwzorowań jest lokalna, jeżeli układy współrz˛ednych , sa˛ określone lokalnie. Używana tutaj równoważność nosi nazw˛e RL - równoważ ności (right-left). Klasa odwzorowań równoważnych danemu odwzorowaniu może być reprezentowana przez odpowiednio wybranego przedstawiciela tej klasy nazywanego postacia˛ normalna˛ odwzorowania . Zwykle wymaga si˛e, aby postać normalna była prosta z estetycznego punktu widzenia. W zagadnieniach zwiazanych ˛ z rozwiazywaniem ˛ odwrotnego zadania kinematyki powinna przede wszystkim umożliwiać ˛ a« zadania. \ ]Ü_ P _ rozwi \ (dUtego b ½ikazanie Dla kinematykid ® 7 lokalne układy współrz˛ednych, [ , zdefiniujmy ã " $ l ( Z d _ ãå przy założeniu, że 8 [ ), 7 jest konfiguracja regularna˛ (czyli (dU9f \ > dU \ (d 8 m (g b 32.232.(g h ic i \ (d Ê=8 7 (3.13) d Odwzorowanie ® jest lokalnym dyfeomorfizmem"%$ przekształcaj ˛ pewne otoczenie 8 na pewF _ 7 , co wynika z założenia, że l=ãã å >d 8 W acym [ . Oczywiście, jest także (tryne otoczenie wialnym) dyfeomorfizmem. ˛ ac ˛ te wiadomości zauważamy, że dyfeomorfizmy (3.13) prze>dU Łacz (dZ \ \ 8 kształcaja˛ kinematyk˛e do postaci \ 8 ! \ \ 8 ¹#" 3 2.2323$" b (3.14) 3.2. POSTACIE NORMALNE 13 Jak widać, przy użyciu dyfeomorfizmów (3.13) istnieje możliwość sprowadzenia kinematyki nie_ _ b , b˛edacej % osobliwej do postaci liniowej projekcji 7 na ˛ postacia˛ normalna˛ kinematyki nieosobliwej [1]. iÀ \ (dZ Weźmy z kolei podd uwag˛e reprezentacj˛e kinematyki we współrz˛ednych i wybierzmy 8 konfiguracj˛e osobliwa˛ korz˛edu 1. Dla takiej konfiguracji spełniony jest warunek oqp "$ k l r d\ > d 8 "%$ l (d 8 2 (3.15) ë [ r g 3 2.232n>g >ì .232323ì b o p współrz˛ednych Przy odpowiedniej permutacji orazo p , warunkowi (3.15) 7 op możemy nadać postać (3.8). (dU (dU 32.232æ o ^ f [ Å [ ¹ [ Å p Zdefiniujmy dla macierzy zbiór podmacierzy , roz >dU [ złożonych miaru [ 32.232n z [e^ pierwszych kolumn >d° oraz i-tej kolumny tej macierzy. Niech b b & & wektory & ˛ macierzy . Nast˛epujace ˛ twierdzenie podaje waÊ= 7 należa˛ do jadra runek równoważności kinematyki kwadratowej postaci normalnej [1]. d ® _ \ (dZ spełniaTwierdzenie 2 Niech 8 7 b˛edzie konfiguracja˛ osobliwa˛ korz˛edu 1 kinematyki jacej ˛ warunek (3.8). Wówczas, jeżeli oOp )()©¨`o p b )()©¨` b Ê= "%$ l >d 8 ` b 2.232 © oqp (3.16) & & k ¿ [ » Å .. 7 )()©¨` . 7 d \ (dZ jest równoważna kwadratowej postaci to, w pewnym otoczeniu konfiguracji 8 , kinematyka normalnej \ 8 ( dZ ¹g > g.23232.(g b çg b y g y çg b 32.232n>g ï g b g b gdzie '('('m +Ê Å b Ê Å)'('('SÅ ( d 8 (d 8 7 macierzy zdefiniowanej wzorem (3.9) 32.232n>g 3+hc 7 g & 7 , dla pewnego (3.17) równego indeksowi W szczególnym przypadku kinematyki nieredundantnej Twierdzenie 2 prowadzi do nast˛epuja˛ cego wniosku: d ® _ a˛ korz˛edu 1 kinematyki nieredundantnej WniosekP 1 Niech 8 7 b˛edzie konfiguracja˛ osobliw \ ]Ü_ _ spełniajacej oOp [ . Jeżeli ˛ warunek (3.8) przy 7 7 )()©¨` op ` (d 8 (3.18) & Ø (d 8 d 8 gdzie wektor & (dUjest rozwi azaniem ˛ równania , to w pewnym otoczeniu konfiguracji & \ kinematyka jest równoważna kwadratowej postaci normalnej \ 8 > d° ä.g > g32.232.(g (g h 2 7 7 (3.19) 14 ROZDZIAŁ 3. OSOBLIWE ODWROTNE ZADANIE KINEMATYKI Rozdział 4 Pakiet Akiman Pakiet Akiman1 służy do analizy kinematyki manipulatorów. 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. Na podstawie kinematyki we współrz˛ednych wyznacza si˛e jakobian analityczny oraz zbiory konfiguracji osobliwych. Przy użyciu parametrów Denavita-Hartenberga, sa˛ wyznaczane pozostałe jakobiany. W przypadku konfiguracji osobliwych badana jest możliwość ich unikania. Kolejnym z zadań realizowanych przez pakiet jest automatyczne wyznaczanie kwadratowej postaci normalnej kinematyki manipulatora w pobliżu konfiguracji osobliwej. Pakiet jest wyposażony w oprogramowanie pozwalajace ˛ na graficzna˛ interpretacj˛e wyników. Pakiet Akiman 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 pracy [7] nazwane Akiman‘Graphics oraz pakiet KOSMA nazwany Akiman‘SingularityAvoiding, omówiony w referacie [2]. Pakiet został napisany 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. 4.1 Instalacja i uruchomienie Instalacja pakietu jest bardzo prosta. Należy w tym celu przekopiować kartotek˛e Akiman wraz z cała˛ zawartościa˛ do kartoteki, w której znajduja˛ si˛e standardowe pakiety programu M ATHEMATICA . W systemie Windows jest to katalog: C: * ... * mathematica * addons * STANDARDPACKAGES, natomiast w systemie Unix katalog /.../mathematica/AddOns/StandardPackages . Uruchomienie polega na wczytaniu pakietu do jadra ˛ programu poprzez komend˛e ± ± l $ [ ,+ 2 Wówczas zostanie uruchomiony plik inicjalizacyjny definiujacy ˛ wszystkie pakiety zawarte w kartotece Akiman. 1 Pakiet Akiman dost˛epny jest na stronie http://rab.ict.pwr.wroc.pl/inne . 15 ROZDZIAŁ 4. PAKIET AKIMAN 16 4.2 Ograniczenia pakietu Czas wyliczania rozwiazań ˛ w przypadku nieskomplikowanych przykładów nie jest długi, jednakże dla manipulatorów z liczba˛ zmiennych wi˛eksza od ê obliczenia staja˛ si˛e dość czasochłonne. Przez liczb˛e zmiennych rozumiemy liczb˛e zmiennych przegubowych i parametrów geometrycznych manipulatora. Czasochłonność obliczeń jestÂ.zwi ˛ z wykorzystaniem wewnatrz ˛ pakietu -#- ¬ ìazana ¬ ([ Â.- / ì oraz 021 [ / . funkcji upraszczajacych ˛ Program nie jest odporny na pomijanie zmiennych przegubowych. Wi˛ecej na ten temat powiemy przy analizie przykładu zawartego w rozdziale 5.4.2. Szczególne przypadki ograniczeń dotyczace ˛ wybranych funkcji lub pakietów zostały omówione przy przedstawianiu pakietów. 4.3 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: 354  $Ç"q¿Ç~ ) * $ / 32.232nS~ *) *$ */ 3232.23S~ ) *$ */ ² ² Ç ² ² 7 7 7 7 ) : elementarny obrót wokół osi Z, $ : elementarne przesuni˛ecie wzdłuż osi Z, / : przesuni˛ecie wzdłuż osi X, : elementarny obrót wokół osi X, gdzie indeks i oznacza i-ty przegub manipulatora. Sposób notacji, dotyczacy ˛ parametrów DenawitaHartenberga manipulatorów jest ściśle zdeterminowany. Mianowicie, zmienne przegubowe, zarówno obrotowe jak przesuwne, powinny być zapisane w formie zmiennej dolnego (0X3232.i 23indeksu ( oznaczajacego ˛ kolejny przegub manipulatora: lub zmiennej , np. . W pakiecie jest zawarta baza parametrów Denavita-Hartenberga dla kilku typów manipulatorów (podrozdział 4.8). Wektor położeń przegubów manipulatora powinien być zdefiniowany jako -elementowa lista zmiennych, gdzie oznacza wymiar przestrzeni przegubowej. Można tu skorzystać z wbudowanych funkcji BigVector lub Vector 76 8:9 ¨;æSý"Ü=<><Ü lub ,û 9 ¨;mSý"Ü g9 które zwracaja˛ list˛e zmiennych przegubowych postaci eý %01.23232. ² lub , ¿g > g32.232n>g 2 7² Dodatkowo, niektóre funkcje wymagaja˛ użycia kinematyki manipulatora. Należa˛ do nich 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 l 4.4 ð $1l1¨è ¨ $ ;  $Ç"ý [ & 3?4 . Pakiet Akiman‘Kinematics Akiman‘Kinematics jest podstawowym pakietem wykorzystywanym przez inne pakiety oprogramowania. 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 przy wykorzystaniu elementarnych obrotów i przesuni˛eć. Wyniki obliczeń b˛eda˛ opisane osobno dla każdej z funkcji. 4.4. PAKIET AKIMAN‘KINEMATICS 4.4.1 17 Podstawowe funkcje pakietu Kinematics - Kinematics[DHpar] wylicza kinematyk˛e manipulatora w reprezentacji DenavitaHartenberga (2.2). 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 ka˛ ty Eulera. W przypadku, gdy nie jest możliwe wyliczenie współrz˛ednych orientacji w standardowy sposób, kinematyka jest wyrażana położenia. Wynik polÈ tylko$Xlçwe¨è współrz˛ ¨ $ ednych ;  $Ç" ). Jest to wymowinien być podstawiony pod zmienna˛ k ( ð [ & 3?4 giem wynikajacym ˛ z późniejszego wykorzystania funkcji kinematyki k w pakietach ;æ ôBA1Aki32.232( man‘SingularityAvoiding oraz Akiman‘NormalForm. Funkcja k ma postać 0@1 . Wynik przedstawiajacy ˛ kinematyk˛e zależy od definicji argumentu, czyli wektora zmiennych przegubowych, który może być dowolna˛ lista˛ -elementow a.˛ W przypadku, gdy napiszelCÔý l' ,- my , kinematyka b˛edzie zależna od zmiennych , a w przypadku, gdy napiszemy , , kinematyka b˛edzie zależna od zmiennych . MakeCartKinematics - MakeCartKinematics[k[q],q] generuje funkcj˛e, która przedstawia kinematyk˛ e manipulatora we współrz˛ednych kartezjańskich położenia na podstawie kinematyki l we współrz˛ l ednych położenia i orientacji. Wynik procedury powinien być podstawiony pod zmienna˛ (jak wyżej). l Singularities - Singularities[q] wylicza osobliwości kinematyki ze zbioraDCFEHGÄêcP . Funkcja DCIEJGczwraca `cPLKNlisty MOC .23232 ² . Na 1² lub mi konfiguracji osobliwych zapisanych w formie podstawie tych informacji sam fýêVużytkownik P fýêdefiniuje VP PQ'( konfiguracj˛ P PQ'32.232 e osobliwa,˛ która˛ zapisuje w formie listy (np. & 1² lub & ² ). W przypadku, gdy wartości parametrów geometrycznych kinematyki nie zostały zainicjowane, funkcja wyznacza również takie zbiory, w których zawarte sa˛ elementy zależne od tych parametrów. Bardziej szczegółowo przypadek ten zostnie przedstawiony przy omawianiu osobliwości potrójnego wahadła w podrozdziale 5.1. MatrixSingularities - MatrixSingularities[M] wylicza osobliwości macierzy ð . Dokładniej, wyznacza wszystkie rozwiazania ˛ zależne od nieznanych parametrów zawartych w macierzy ð , które obniżaja˛ rzad ˛ wierszowy tej macierzy. Funkcja zwraca listy ze zbiorami konfiguracji osobliwych, które wygladaj ˛ a˛ tak samo, jak w przypadku funkcji Singularities. l SolvedSingularities - SolvedSingularities[q] wylicza osobliwości kinematyki . Funkcja zwraca list˛e konfiguracji osobliwych manipulatora. Wynik ma form˛e listy przyporzadkowuj ˛ a˛ cej wartości zmiennym przegubowym. Jednakże, ze wzgl˛edu na korzystanie z funkcji odwrotnych, funkcja nie wylicza wszystkich możliwych ˛ Na przykład, dla równania CIEJGÄgÈ gÈ rozwiazań. wyznaczone jest tylko jedno rozwiazanie . ˛ l JacobAn - JacobAn[q] wylicza jakobian analityczny kinematyki . JacobGeomS - JacobGeomS[DHpar] wylicza jakobian geometryczny w przestrzeni (2.5), którego kolumny sa˛ zdefiniowane równaniami (2.8) oraz (2.9). JacobGeomB - JacobGeomB[DHpar] wylicza jakobian geometryczny w ciele na podstawie równania (2.11). Jm - Jm[DHpar] wylicza jakobian manipulatora (2.13). JmBetterForm - JmBetterForm[DHpar,i] wylicza jakobian manipulatora w układzie współrz˛ednych zwiazanym ˛ z i-tym przegubem (2.17) ROZDZIAŁ 4. PAKIET AKIMAN 18 4.4.2 Pomocnicze funkcje pakietu / R - R[os, ] generuje / (ºRºÇ / macierz obrotu wokół osi X,Y lub Z o kat ˛ $ R#SRÇ Rot - / Rot[os, ] generuje . macierz obrotu Denavita-Hartenberga wokół osi X,Y lub Z o kat ˛ #RTR© Trans - Trans[os,l] generuje lub Z o długość l. ~1*)½$ / A - A[ ra. . macierz przesuni˛ecia Denavita-Hartenberga wzdłuż osi X,Y ² ] wyznacza macierz transformacji pomi˛edzy kolejnymi przegubami manipulato- GetR - GetR[DH] wydziela macierz obrotu ( ºñRº ) z macierzowej reprezentacji kinematyki. Kart - Kart[DH] wydziela wektor przesuni˛ecia z macierzy Denavita-Hartenberga. Rank - Rank[M] wylicza rzad ˛ macierzy M. CoRank - CoRank[s,DHpar] na podstawie parametrów Denavita-Hartenberga manipulatora wylicza korzad ˛ konfiguracji osobliwej s. Ponieważ wewnatrz ˛ procedury wyliczany jest jakobian & manipulatora, konfiguracja może być konfiguracja˛ osobliwa manipulatora, jak również osobliwościa˛ reprezentacji. BigVector - BigVector["q",n]ý generuje przestrzeni przegubowej manipulatora o %0132.232Swektor ². niach swobody postaci stop- Vector - Vector[q,n] ý generuje (ê~3232.2n wektor przestrzeni przegubowej manipulatora o stopniach swo² . W przypadku korzystania z tej funkcji należy zwrócić uwag˛e body postaci 7 na to, aby wyniku funkcji nie podstawiać pod zmienna˛ użyta˛ jako argument. Spowoduje to rekursywne wywoływanie procedury. Zabezpieczeniem jest np. zastosowanie wielkich liter jako wyników funkcji: ó 9 ¨;æSý"Ü1 lub ,û 9 ¨;æS~"ç g9 WristRepr - WristRepr[R] sprawdza, czy istnieje reprezentacja macierzy obrotu we współrz˛ednych orientacji typu katy ˛ Eulera. Jeśli istnieje, funkcja zwraca list˛e list, w której zawarte sa˛ informacje dotyczace ˛ kolejnych osi obrotu oraz katów, ˛ R,o *jakie MC.R>został TZSRdokonany ,-(NO 2 obrót. funkcja Przykładowo, dla macierzy obrotu opisanej zależności a ˛ Ç,-*TU(, .MW1(N ² ²Ç² . Funkcja potrafi zwróci wynik także Rwyliczyć ,+M P .takie R>TZtransformacje, .R(N P P U lub , np. dla Å Å w których kÇaty ˛,obrotów s a ˛ przesuni˛ e te o *TU(, SM P *1(N P ² Å Å ²Ç² . W przypadku zbyt skomplikowanej postacji maotrzymamy cierzy obrotu , funkcja zwraca zero. 4.5 Pakiet Akiman‘SingularityAvoiding Pakiet został opisany w pracy [2]. Umożliwia rozróżnienie możliwych i niemożliwych do unikni˛e3 ¨-ÒS$ cia konfiguracji osobliwych manipulatora redundantnego (funkcja dla kinematyki o stopniu $ $XW )©¨`g 4 ¨ &ý& $ redundancji 1 oraz funkcje lub V [a[ dla kinematyki o stopniu redundancji « ). Jednym z wymagań pozwalajacych ˛ na korzystanie z funkcji l $Xlç¨è zawartych ¨ $Ç ; & w tym pakiecie jest [ opisanej w podrozwyznaczenie funkcji kinematyki za pomoca˛ procedury ð dziale 4.4.1 2 Przekształcenia sa˛ zdefiniowane w dodatku A.1. 4.6. PAKIET AKIMAN‘NORMALFORM ¨-ÒS$ ¨ 19 $ &ý& nie jest wymagane, aby parametry geometryczne kineO ilel dla funkcji oraz $ $XW )©¨`g Y matyki były zainicjowane, to dla funkcji V [a[ $ $Xjest W )©to¨`g jednym z podstawowych warunwylicza liczb˛e ujemnych warków poprawnego działania. Mianowicie, funkcja V [a[ tości własnych macierzy (3.9), pod warunkiem znajomości numerycznych wartości parametrów geometrycznych manipulatora. 3 4 l Delta - Delta[q,s] wylicza wyznacznik macierzy Hessego nieredundantnej funkcji kinematyki , określajac ˛ w ten sposób, czy badana konfiguracja osobliwa s jest możliwa, czy też niemożliwa do unikni˛ecia. Dokładny opis działania tej metody znajduje si˛e w pozycji [2]. l Hessian - Hessian[q,s] wylicza macierz (3.9) redundantnej kinematyki , określajac ˛ w ten sposób, czy badana konfiguracja osobliwa s jest możliwa, czy też nie możliwa do unikni˛ecia. Dokładny opis działania tej metody znajduje si˛e w pracy [2] (Tw.1). GammaIndex - GammaIndex[q,s] wylicza liczb˛e ujemnych wartości własnych macierzy (3.9) kinematyki redundantnej o stopniu redundancji « (Tw.1). Jeśli wynik jest równy lub [îŪ , wówczas konfiguracja osobliwa & jest± lokalnie niemożliwa do unikni˛ecia. W przypadku, gdy wynik jest zawarty w przedziale k[ , konfiguracja & jest lokalnie możliwa do unikni˛ecia. 4.6 Pakiet Akiman‘NormalForm Pakiet służy do wyznaczania postaci normalnej kinematyki w konfiguracji osobliwej. W celu skol ˛ z funkrzystania z niego użytkownik powinien wyznaczyć kinematyk˛e manipulatora korzystajac cji k=MakeKinematics[DHpar], a nast˛epnie w zależności od własności kinematyki (redundancja) użyć odpowiedniej funkcji. QuadNormalForm - QuadNormalForm[q,s] sprawdza, czy istnieje kwadratowa postać normalna l kinematyki nieredundantnej w konfiguracji osobliwej s. Wynikiem jest postać normalna (3.19) lub komunikat, że kwadratowa postać normalna nie wyst˛epuje. QuadNormalFormRedundant - QuadNormalFormRedundant[q,s] sprawdza, czy istnieje kwal dratowa postać normalna kinematyki redundantnej w konfiguracji osobliwej s. Wynikiem jest postać (3.17) lub komunikat, że kwadratowa postać normalna nie wyst˛epuje. Funkcja korzysta z Twierdzenia 2 wymagajacego ˛ znajomości liczby ujemnych wartości własnych macierzy (3.9) (indeksu macierzy (3.9)). Wymaga to zainicjowania parametrów geometrycznych manipulatora. Dodatkowo, została stworzona funkcja pozwalajaca ˛ na wygenerowanie permutacji współrz˛ednych zadaniowych oraz permutacji wierszy badanej kinematyki, tak aby był spełniony podstawowy warunek zastosowania twierdzenia o unikaniu osobliwości oraz twierdzenia o postaci normalnej. CheckRank - CheckRank[q,s] sprawdza podstawowy warunek zastosowania twierdzenia o postaci normalnej (Tw.2) kinematyki k w konfiguracji osobliwej s. Warunek jest opisany równaniem (3.8). Wynikiem jest odpowiednia permutacja l współrz˛ednych przegubowych oraz, o ile konieczne, zmodyfikowana postać kinematyki . Pewnym ograniczeniem tego pakietu jest niebezpieczeństwo utracenia dotyczacych ˛ ÉSZ½¨;lç$ informacji l parametrów geometrycznych kinematyki. Korzystajac ˛ z funkcji , istnieje możliwość l zamiany wierszy kinematyki, co wiaże ˛ si˛e z ponownym zdefiniowaniem funkcji kinematyki . Przy założeniu, że parametry geometryczne l manipulatora zostały zainicjowane wcześniej, b˛eda˛ one na stałe wprowadzone do kinematyki . Wówczas wszelkie symbole zwiazane ˛ z parametrami geometrycznymi zostana˛ zastapione ˛ wartościami numerycznymi, co uniemożliwi ponowne zainicjowanie ROZDZIAŁ 4. PAKIET AKIMAN 20 parametrów geometrycznych. Jedynym sposobem ustrzeżenia si˛e przed ta˛ ewentualnościa˛ jest inicjowanie parametrów geometrycznych w liście zawierajacej ˛ konfiguracj˛e osobliwa. ˛ Szerzej ten temat zostanie omówiony przy przedstawianiu unikania osobliwości potrójnego wahadła w podrozdziale 5.1. 4.7 Pakiet Akiman‘Graphics Pakiet służy do opisu graficznego struktury kinematycznej manipulatorów zdefiniowanych parametrami Denavita-Hartenberga, jak również do wyznaczania ścieżki ruchu efektora. Istnieje także możliwość animacji ruchu robskel.m, z którego zostały zaczerpni˛ete funkcje -ý ¬ lç¨-¨`S - $IZ & manipulatora. $S¨ ¬ lç¨Pakiet -¨`S ò ,ò ò , [ został przedstawiony w pracy [7]. W celu skorzystania z funkcji dost˛epnych w tym pakiecie musimy najpierw podstawić pod zmienna˛ globalna˛ DHParameters list˛e z parametrami Denavita-Hartenberga badanego manipulatora. Parametrom geometrycznym kinematyki należy nadać wartości liczbowe. PlotSkeleton - PlotSkeleton[q] rysuje schemat manipulatora opisanego parametrami DenavitaHartenberga zadanymi poprzez zmienna˛ globalna DHParameters w konfiguracji q. Zmienna q musi być lista˛ liczb . W rezultacie, otrzymujemy schemat manipulatora wraz z tabela˛ parametrów. PlotSkeleton[q,place] robi to samo, tyle że tabela parametrów Denavita-Hartenberga jest umieszczana w pozycji place. Jeśli zmienna place nie jest lista˛ trzyliczbowa,˛ tabela nie jest drukowana. PlotPaths - PlotPaths[q,qrange] rysuje schemat manipulatora opisanego parametrami Denavita-Hartenberga zadanymi poprzez zmienna˛ globalna DHParameters w konfiguracji q wraz p ze ~"$ ścieżkami ¨q¹Ç efektora )© b *otrzymanymi )Ç bp å 3232.2 na podstawie ruchów przegubów określonych w liście > 8 )© b 7 )Ç b å ² ² , gdzie jest numerem poruszanego przegubu w zakre 7 ýÅ sie . PlotPaths[q,qrange,place] robi to samo ale tabela parametrów Denavita-Hartenberga jest umieszczana w pozycji place. Jeśli zmienna place nie jest lista˛ trzyliczbowa,˛ wówczas tabela nie jest drukowana. AnimateSkeleton - AnimateSkeleton[qrange] przedstawia animacj˛e ruchów manipulatora opisap p nego parametrami Denavita-Hartenberga zadanymipoprzez "$ ¨ zmienn Çý b a˛ (globalna b å DHParameý%0 b %0 b å 8 7 ² ters. Zmienne przegubowe zmieniaja˛ si˛e w zakresie 7 AnimateSkeleton[qrange, #frames] przedstawia animacj˛e składajac ˛ a˛ si˛e z #frames klatek. Standardowa liczba klatek wynosi 5. AnimateSkeleton[qrange, #frames,ViewPoint,PlotRange] robi to samo, tyle że animacja przedstawiona jest z punktu ViewPoint w zakresie widoczności PlotRange. 4.8 Pakiet Akiman‘Parameters Pakiet 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 [ $ ¨ & \<] [ 3?4 ò % < lub [ $ ¨ & =<^]`_Z¨ [ Tabele wszystkich parametrów zostały podane w dodatku A.2. 3?4 ò % 2 < ² 32.232 ² . 4.9. POMOC 4.9 21 Pomoc W przypadku, gdyby użytkownik był zainteresowany uzyskaniem pomocy dotyczacych ˛ poszczególnych funkcji powinien wpisać komend˛e $cbed $ a [ l:; 0@1 ¡© 2 W zwi˛ezły sposób sa˛ również opisane parametry Denavita-Hartenberga manipulatorów zawartych w bazie. Przykładowo a ò m"%$ l ; 3?4 ò wyświetli komunikat Denavit-Hartenberg parameters for polycrank manipulator (constructed in Warsaw Univesity of Technology). 4.10 Ostrzeżenia Program jest wyposażony w komunikaty określajace ˛ bł˛edy zwiazane ˛ z argumentami wejściowymi funkcji. W przypadku podania nieprawidłowych argumentów, zostanie wyświetlony komunikat mówiacy, ˛ z jakim argumentem jest zwiazany ˛ bład. ˛ Przykładowo, dla funkcji ý\bç+¶9 zostanie wyświetlony komunikat Rot::"Axis": "Write correct name of axis : X,Y or Z instead of z." 4.11 Rozbudowa pakietu Akiman W przypadku potrzeby rozbudowy pakietu, należy stworzyć plik o nazwie np. NowyPakiet.m i skopiować go do kartoteki Akiman/. Nowy plik powinien zawierać standardowe instrukcje definiujace ˛ nowy pakiet ( wi˛ecej informacji na ten temat można znaleźć w pomocy programu M ATHEMATICA pod hasłami $Packages oraz BeginPackage). Dodatkowa˛ czynnościa˛ przy rozbudowie pakietu jest uaktualnienie pliku init.m znajdujacego ˛ si˛e w kartotece Akiman/Kernel/. Należy tam dopisać nazw˛e stworzonego pakietu wraz ze zbiorem funkcji dost˛epnych dla użytkownika. Można wzorować si˛e na wcześniejszych opisach zawartych w pliku init.m. 22 ROZDZIAŁ 4. PAKIET AKIMAN Rozdział 5 Wyniki l $ W niniejszym rozdziale zostana˛ przedstawione wyniki działania pakietu [ . Opis poszczególnych przykładów został tak przygotowany, aby Czytelnik mógł w każdej chwili odwołać si˛e do korzystania z pakietu. Mianowicie, wczytujac ˛ pakiet komenda˛ ± ± l $ [ ,+ èéf-¨ $ l:; $ ¡ 0@1 ¡ , Czytelnik otrzya nast˛epnie wpisujac ˛ kolejno komendy zawarte w ramkach ma wyniki, przedstawione poniżej. W rozdziale została zastosowana pewna g reguła notacyjna. Mianowicie wektory zmiennych przegubowych określane sa˛ przez zmienna˛ , natomiast położenia poszczególnych przegubów opisywane sa˛ przez zmienna˛ . W przykładach zmienne te sa˛ równoważne, ale ze wzgl˛edu na konwencj˛e przyj˛eta˛ przy omawianiu wiadomości teoretycznych trzymamy si˛e tej reguły. Jedyny wyjatek, ˛ w g którym zmienne i nie sa˛ tożsame, stanowi przykład manipulatora wielokorbowego. 5.1 Potrójne wahadło ¨ )Xº Kinematyka. Całkowita kinematyka manipulatora opisanego parametrami ò è ¨ Ç$ ; ¨ )©º [ & ò 3?4 ò to & - ; -Òg; - ; Å Å ; Ë 4 5C & & Å & Å - & ; I C J E c G KNMeC gdzie każdy z elementów & oraz to odpowiednio oraz ,& ¢ Zdefiniujmy wektor przestrzeni przegubowej manipulatora gÈ ¨ ;æS~"ç= <%.g <Ü ¨ )©º 354 _U¨ IZç 2 9 ò ò hOh 8 i ; 3?4 ò to (5.1) 9 CIEJG Å ¢ , etc. Kinematyka we współrz˛ednych, wyznaczona na podstawie parametrów Denavita Hartenberga ò l ma postać lCg½ êð hOh $!" g ~ " 0 [ ð $Xlç¨è \ >dZ kjlm ¨ $ ; ¨ )©º [ & ò -Òg ; - ; Å Å - - & -Ë & & g Å Å g Å Å g - npo ; 23 ò 3?4 q ¨ )Xº (5.2) 3?4 ò ROZDZIAŁ 5. WYNIKI 24 gdzie każdy z elementów & oraz to odpowiednio r niczmy kinematyk˛e (5.2) do współrz˛ednych położenia ; l Äg CIEJG 1$ l1¨ÉÙ$Ç"ýSè \ (dZ ¹s- ; Å -Ò; Å - ; oraz g KNMOC & ¢ , to 'g CIEJG g Å ¢ . Ogra- ¨ $ ; l'g½((g½ [ & t - & -Ò & - & h 2 Å Å ð (5.3) Jakobiany Po zdefiniowaniu funkcji kinematyki oraz wektora zmiennych przegubowych możemy wyznaczyć jakobian analityczny oqp ¡ $ñ $u; >v g½ g69@? - - ; & -Òg-Ò ; & - - ; & -ÒN-Ò ; & - - ; & - - ; & 2 G Å Å Å (5.4) Do wyznaczenia jakobianów geometrycznych oraz jakobianu manipulatora wystarczy znać parametry Denavita-Hartenberga manipulatora. Jakobiany geometryczne w przestrzeni i w ciele $u; >v V ¨ [ ¬ ò ¨ )©º 3?4 ò $c; fv V ¨ [ 6a ò ¨ )©º 3?4 ò to odpowiednio - & - & -Ò & -Ò & - & Å Å - ; - ; -Ò; o - -Ë; - ; o y } C Å Å ¨ )©º 3?4 ò ma postać Jakobian manipulatora [ ò - & -Ò & - & -Ò & - & - & ; ; Ë ; ; Ò ; ; Å Å Å o b >% Ò & -Òg; Å - - 2 2 (5.5) Osobliwości. Dla kinematyki (5.3) zbiór konfiguracji osobliwych obliczamy jako & ¬ ¬ ¿gÀ® _ ¯ CFEHGÄgU xw CIEJGÄg 1² 2 (5.6) ¬ Zbiór został wyznaczony na podstawie zbioru & zawierajacego ˛ również zależności dotyczace ˛ 8u1 >$Ç" ¨ & g½ - parametrów geometrycznych manipulatora (w tym wypadku sa˛ to długości ramion). Ponieważ wartości długości ramion nie zostały zainicjowane, zbiór & ma postać & eÇ>-ÒUP y- P 1² - P z- P > - P z-ÒÄP 1² > - P y CFEHGÄgUP 1² > >- P yCFEHGÄg P X² >-ÒUP CFEJ G'g g XP ² DCFEHGÄgUP CFEHG g P y Å CFEHG9g 1g ² WP Å 1²Ç² 5.1. POTRÓJNE WAHADŁO 25 gdzie każda konfiguracja opisana wierszem jest konfiguracja˛ osobliwa˛ ze wzgl˛edu na wszystkie r wiadome elementy wyst˛ nie epujace ˛ w równaniu kinematyki (5.3). Interesujace ˛ nas rozwiazania ˛ sa˛ zależne tylko od zmiennych przegubowych. Istnieje tylko jedno takie rozwiazanie ˛ (ostatni wiersz) ˛ zostały ograniczone do opisane równaniem (5.6). W kolejnych przykładach zbiory rozwiazań zmiennych przegubowych. Badanie własności konfiguracji osobliwych sprowadza si˛e do wyznaczenia rz˛edu jakobianu analitycznego w tych konfiguracjach, $ 2ÖgUP qo Üp g P $ l h 1 ²fhOh "%$ l g 8 g co daje wynik , gdzie 8 ¡ lub $ 'l $c; fv g½ 2 g°P Ü g P h 1² to konfiguracja osobliwa. Możliwe jest również wyznaczenie korz˛edu konfiguracji osobliwej, ale należy tutaj zwrócić uwag˛e na postać zmiennych wyst˛epujacych ˛ w konfiguracji osobliwej. Powinny tu si˛e znaleźć same zmienne jakie wyst˛epuja˛ ¨ )©º 35takie 4 ò . Korzad w liście opisujacej ˛ parametry Denavita-Hartenberga ò ˛ konfiguracji osobliwej ÉÙ~$ l' ý0P ½ºP ¨ )Xº 1² ò 3?4 ò wynosi . Unikanie osobliwości. Przed przystapieniem ˛ do sprawdzenia warunków unikania konfiguracji osobliwych oraz wyznaczenia postaci normalnych należy uświadomić sobie, l że zainicjowanie parametrów geometrycznych manipulatora spowoduje zmian˛e kinematyki , tzn. elementy długości - y-(0Xz-º l $ (w[ ýtym przyjma˛ wartości liczbowe. Jeżeli podczas działania funkcji " $uwypadku) ~" l z pakietu ,+ [ [ 0 [ wystapi ˛ konieczność zmiany kolejności wierszy kinematyki , wówczas - z->01y-º wartości zastapi ˛ a˛ na stałe elementy . Jedynym sposobem ponownego zainicjowania parametrów b˛edzie ponowne definiowanie kinematyki. Aby ustrzec si˛e przed takimi bł˛edami, proponujmy wyznaczać postacie normalne ze zbiorem konfiguracji osobliwych, w których sa˛ zawarte podstawienia dotyczace ˛ wartości liczbowych parametrów geometrycznych, czyli przykładowo, zamiast dwóch komend - 7Rs{y-(07->º# należy zastosować jedna˛ ó21 $©) [ ý " c$ - ý " ¨) [ 0 [ $©) [ ý " u$ - ~ " ¨) [ 0 [ ó@1 oraz 1 )X$ g9Sg°P g#P g P )©$ g9.gZP Üg P 1 U Üg P U ² z- | P RÜz->0P z-º#P 2 %² Wybierzmy konfiguracj˛e osobliwa˛ 1² . Stwierdzamy, że jest to konfiguracja osobliwa niemożliwa do unikni˛ecia ponieważ wyróżnik . 3 ¨-ÒS$6 g9.gZP Üg P 1² ~} þ ü Ñ ü } p ü å ÑÊ Ê Ñ Postać normalna. Wyznaczmy dla tej konfiguracji postać normalna˛ przy założeniu że długości - 7->0#7-º ramion sa˛ równe 1, , $©) [ ý " u$ - ~ " ¨) )©$ g9.gZP Üg P [ 0 [ 1 X² \ g69 g g g h 2 gUP Üg P Dla konfiguracji osobliwej ˛ P wyniki. U² otrzymujemy nast˛ gcP epujÜg ace Unikanie osobliwości. Wybierzmy konfiguracj˛e osobliwa˛ U² . ¨ -S$ g9.gZP Üg P 2 3 Ñ ü } U² þ å ü } Ñ Ê ü I\ Ñ ó@1 Stwierdzamy, że konfiguracja osobliwa jest : (5.7) ROZDZIAŁ 5. WYNIKI 26 - Å – możliwa do unikni˛ecia, gdy – niemożliwa do unikni˛ecia, gdy Ò - )- , ÒV±)- - Å . Ëc- , nie jesteśmy w stanie zastosoW przypadku, gdy długości ramion spełniaja˛ równanie Å wać kryterium. Postać normalna. Wyznaczmy dla tej konfiguracji postać normalna˛ przy założeniu -Ò że długości ramion spełniaja˛ zależność Å $X) ~ " c$ - ý " ¨) ó 1 [ [ 0 [ @ 1 - )©$ g9.g P PQ >gUP \ >dU 'g g Å - (g P g h 2 U z- P 0Xz->0PYºçy-ºPLR ² (5.8) Na podstawieg ostatniego możemy również wywnioskować, że P PQ >gOelementu P >g P postaci z- normalnej P 01y-(0P (5.8) ºçz-ºP R konfiguracja U ² jest możliwa do unikni˛ecia, po nieważ wyst˛epuja˛ w nim elementy różnych znaków.± Jest ˛ z indeksem macierzy (3.9). to zwi azane Jeżeli indeks tej macierzy zawiera si˛e w przedziale a[ , wówczas konfiguracja jest możliwa do unikni˛ecia (patrz Twierdzenie 2 oraz Twierdzenie 1). z z y y x x a) b) ý P PQ =êñP Rysunek ( P 5.1: Manipulator typu potrójne wahadło a) w konfiguracji osobliwej ˛ acej ˛ ten sam punkt w przestrzeni zadaniowej. UIJ b) w konfiguracji nieosobliwej osiagaj gUP Üg P 1² otrzymujemy U Dla konfiguracji osobliwej ace ˛ wyniki. gcP nast˛Üeg puj P X² . Unikanie osobliwości. Wybierzmy konfiguracj˛e osobliwa˛ U 3 ¨-ÒS$g9SgVP U ½g P 1² 2 } þ ü Ñ ü } I\ ü å Ñ3 Ñ Stwierdzamy, że konfiguracja osobliwa jest : – ±)-Ò , Å - )-Ò . niemożliwa do unikni˛ecia, gdy Å – możliwa do unikni˛ecia, gdy - Postać normalna. Wyznaczmy dla tej konfiguracji postać normalna,˛ przy założeniu że długości - -Ò - ´0{y->0#7-º , Å ramion spełniaja˛ warunek ó@1 $©) [ ý " u$ - ~ " ¨) ©) $ g9.gZP [ 0 [ 1 \ >dU 'g g Å g h 2 U ½g P X² (5.9) 5.2. MANIPULATOR SCARA 27 Grafika. Przedstawianie schematów manipulatorów w formie graficznej wymaga zainicjowania globalnej zmiennej DHPartameters używanej przez wszystkie funkcje pakietu Akiman‘Graphics. W przypadku potrójnego wahadła należy podstawić $Ç"~S$ `¨ S¨ê" & ¨ )©º [ ò ò 3?4 2 ò 354 y->01z-º - Należy również zwrócić uwag˛e, czy parametry geometryczne (czyli ) sa˛ zainicjowane. Jeśli tak, to można przystapić ˛ do rysowania. Rysunek 5.2a) został otrzymany przy użyciu komendy - ý $ IZ & PQ .Ç~ºç P6gP S ò ò U 1² Dz ² ² - ª01.->0 -º# . dla długości ramion z z y y P P x x a) b) ý P Rysunek ( P 5.2: Manipulator typu potrójne wahadło a) w konfiguracji osobliwej ˛ punkt ò , b) w konfiguracji nieosobliwej nie osiagaj ˛ acej ˛ punktu U 1² osiagajacej strzeni zadaniowej. 5.2 PQ ò ê P w prze- Manipulator SCARA Kinematyka. Kinematyka wyznaczona na podstawie parametrów Denavita Hartenberga l $Xlç¨è ð ¨ $ ; É [ & ¬ 3?4 ò została wyznaczona kartezjańskich położenia oraz współrz˛ednej orientacji (obQ we współrz˛ ` e dnych rotu wokół osi o kat ˛ Å Å ). Po zdefiniowaniu wektora przestrzeni przegubowej gÈ 9 ¨;æSý"Ü=<%g.<Ü ¬ É możemy wyświetlić postać kinematyki \ (dU $ lm l jl ò hOh i l' g½ 3?4 U¨ _ 8 IZç ýg $©KNMeCýg $ CIEJG9g Å ©$ CFEHG9g )Å Å g g g g Q Å Å KNMOC gfg Ü gÜg g Q h gê Å g Å npo o q o (5.10) ROZDZIAŁ 5. WYNIKI 28 [ ¬ É 354 ò $ CFEHGc $XCFEJG > `ê ©$ :CIEJG9 ê` Å Å $ N K O M Ç C © $ u N K O M ý C ê © $ : K O M C ê ê Å Å Å o b 2 o b . W jakobianie analitycznym nie wyst˛epuje wiersz czwarty i piaty ˛ -$Ç" ¨ & g½ ¬ Osobliwości. Osobliwości kinematyki (5.10) 8u1 sa˛ opisane zbiorem: Q ¬ g ® _ ¯ CIEJGÄgU X² Jakobiany. Jakobian manipulatora (5.11) (5.12) Ze wzgl˛edu na postać kinematyki (jest ona nieredundantna), spodziewamy si˛e że konfiguracje osobliwe sa˛ niemożliwe do unikni˛ecia. gP Postać normalna. Wybierajac ˛ jedna˛ z osobliwości np. 1² , możemy wyznaczyć postać normalna˛ ó@1 $X) [ ~ " c$ - ý " Ôdq.gUP 2 [ 0 [ 1² Jednocześnie program informuje, że ze wzgl˛edu na spełnienie warunku (3.8) zmieniła si˛e globalna l funkcja kinematyki. Kwadratowa postać normalna kinematyki jest nast˛epujaca ˛ \ (dU ä.g ( g~(g (g Q h z z y y x x a) b) Rysunek 5.3: Manipulator SCARA w konfiguracji osobliwej a) êUP , b) `UP U W przypadku ograniczenia si˛e do kinematyki w aspekcie współrz˛ednych położenia (manipulator z rysunku 5.4) l otrzymujemy l' g½ ð \ >dZ kjlm $Xlç¨ÉÙ$Ç"ýSè $ ¨ Ç$ ; l' g½>g½ [ & g $XKNMOCêg $ CFEHG g Å X$ CFEJG'g )Å Å g KMOC gê Å g ê Å q npo 2 (5.13) 5.3. CYBOTECH 29 W tym wypadku zbiór konfiguracji osobliwych jest identyczny ze zbiorem (5.12). Jakobian ana lityczn y jest ograniczony do trzech pierwszych kolumn jakobianu analitycznego gR¹g >gdla >g kinematyki h do . (5.10). Wynika to z ograniczenia wektora zmiennych przegubowych gUP Postać Normalna. Wybierajac ˛ jedna˛ z osobliwości np. 1² , możemy wyznaczyć postać normalna˛ ó@1 $X) [ ~ " c$ - ý " Ôdq.gUP 2 [ 0 [ 1² Jednocześnie program informuje, że ze wzgl˛edu na spełnienie warunku (3.8) zmieniła si˛e globalna l funkcja kinematyki. Kwadratowa postać normalna kinematyki jest nast˛epujaca ˛ \ >d° g > g (g h 2 (5.14) Kolejność zmiennych przegubowych w równoważnej postaci kinematyki (5.14) nie jest istotna. Wynika ona z permutacji zmiennych przegubowych w celu spełnienia warunku (3.8). z y x Rysunek 5.4: Robot SCARA do kinematyki w aspekcie współrz˛ednych położenia, w P ograniczony P C`UP P P konfiguracji nieosobliwej 5.3 Cybotech Kinematyka. Zauważamy, że kinematyka manipulatora w aspekcie współrz˛ednych położenia, wyliczona na podstawie parametrów Denavita-Hartenberga (tabela A.1), różni si˛e od kinematyki podanej w pracy [10]. Różnica ta wynika z innego dobrania układu bazowego. Mianowicie, kinematyka Cybotecha obliczona w [10] ma postać: \ (dU jlm )c:KNMeCg Q f CFEHG9g ) KNMeCýg f KNMOCg c KMOCýg `>$XuKNMOCgê KNMeCg g `($ Q CFEHG g `>$©KNMeCýg` Å KMOCg Å g `>$ $©: Å CIEJG9gê CFEJG g g Å ($ )cuÅ CFEJG g Q . Å Å natomiast na podstawie parametrów z tabeli A.1 l ð $Xlç¨è ¨ $ ; É ìv S¨;Z [ & 354 ò Å ) CFEHG9g Q 3 . c Å )cCIEJG9g Q 3 . n o q (5.15) otrzymujemy \ (dZ klmj ) :KNMeCg Q f CFEHG9g KMOCg ($©:KNMeCg` KMOCg g `>$ c) CIEJG9g Q .3 c )uuKNMOCg >KNMOCêg Q Å CFEHG g `>$©:KNMOCg Å KMOCýg Å g `($ Å )cCIEJG9g Q 3. $©:CFÅ EHG9g` CIEJG g g `Å >$ )cCIÅ EJG9 g Q . Å Å Å Å q npo 2 (5.16) ROZDZIAŁ 5. WYNIKI 30 Zdefiniujmy ponadto wektor zmiennych przegubowych g ¨;mSý"Ü=<%g.<ÜÉjìvmýS¨;Z 9 òihOh 3?4 U¨ _ IZç 8 gÈfg ½ gÜg Üg Q h 2 z y x y z x a) b) Rysunek 5.5: a) Układ bazowy dla Cybotecha opisanego w tabeli A.1, b) Układ bazowy dla Cybotecha z [10]. ¬ 8u1 -$Ç" ¨ & g½ sa˛ postaci p KNMeCg Q xw p } KNMOCg Q 1 ² } w KNMOCgU 1² CFwEHGÄg 1² w p KNMOCêg 1g ² CFEHGÄg Q w p } KNMOCÅg g 9x w p CFEHGg Q 1 ² pp } w KNMOCýg Å g w pp KNMeC%g 1CI² EJGÄg p ü} w KNMOCýg Å g p ü} KNMeC%g w CIEJGÄg ü KNMOw Cêg g Å KNMeC%ü} g Q w CFEJGÄg w Å xw w Osobliwości. Osobliwości kinematyki (5.16) ¬ ¬ 0 ¬ º g g g g g g g g g ® _ QQ CIEJGÄg ® _ Q ¯ CIEJGÄg Q ® _ Q ¯ CIEJGÄg Q ® _ Q ¯ KMOCgU ¬ R ® _ Q ¯ KMOCgU ¬^ ® _ Q ¯ CIEJGÄg Q ¬ Á ® _ Q ¯ KMOCg ¬^ ® _ Q ¯ KMOCg ¬ ® _ ¯ KMOCgU ¬ ¯ ¬ Biorac ˛ pod uwag˛e zbiór , dla konfiguracji osobliwej X ² p X² Q } ² Q g P Üg Q P U 0 ² (5.17) otrzymujemy nast˛epujace ˛ wyniki. Unikanie osobliwości. Obliczajac ˛ wyróżnik ¨-ÒS$g9Sg P Üg Q P P ² 3 º RCIEJG g` )©ì g 8 Ø g stwierdzamy, że osobliwość nie jest możliwa do unikni˛ecia dla wszystkich Ø . Postaćg normalna. g W konfiguracji osobliwej, z zainicjowanymi wartościami zmiennych przegubowych oraz ó21 $©) [ ý " c$ - ý " ¨) [ 0 [ 1 )X$ =cSg P PQ (gZP PQ (g P (g Q P P ² 5.4. MANIPULATOR WIELOKORBOWY POLYCRANK 31 z y x Rysunek 5.6: Cybotech w konfiguracji osobliwej \ (dU9 g ½ g g = g Q h 2 ¬ W konfiguracji osobliwej należacej ˛ również do zbioru : g P Üg Q P U 0 U ² otrzymujemy nast˛epujace ˛ wyniki. Unikanie osobliwości. Obliczajac ˛ wyróżnik ¨-S$ c.g P 3 ½ Q P P ². (5.18) (5.19) Üg Q P P ² U ý P stwierdzamy, że nie jesteśmy w stanie określić, czy osobliwość jest możliwa czy niemożliwa do unikni˛ecia. Postaćg normalna. g W konfiguracji osobliwej, z zainicjowanymi wartościami zmiennych przegubowych oraz ó21 $©) [ ý " c$ - ý " ¨) [ 0 [ 1 )X$ =cSg P PQ (gZP PQ (g P U (g Q P P ² ze wzgl˛edu na niespełnienie warunku (3.16), nie otrzymujemy kwadratowej postaci normalnej. 5.4 Manipulator wielokorbowy POLYCRANK W przypadku tego manipulatora istnieje możliwość zastosowania dwóch rodzajów parametrów Denavita-Hartenberga. Wynika to z własności mechanicznych manipulatora. Budowa manipulatora powoduje zależność ruchu członu czwartego i piatego. ˛ Zależność ta jest opisana równaniami: Q % ý2 - Q - (5.20) Przy założeniu że współrz˛edne przegubowe sa˛ równoważne (ale nie tożsame) położeniom przegubów manipulatora, otrzymujemy list˛e warunków gQ g% - Q 7- (5.21) z których b˛edziemy korzystać w przykładach poniżej. Na podstawie zależności (5.20) oraz parametrów z tabeli A.9 została˛ stworzona tabela parametrów Denavita-Hartenberga A.11. ROZDZIAŁ 5. WYNIKI 32 z y z y x x a) b) Rysunek 5.7: Cybotech w konfiguracji a) osobliwej 5.4.1 D^|¡ g¢ £ ¤.¥ , b) nieosobliwej Wyniki dla manipulatora podstawowego Wyniki uzyskane w tym podrozdziale oparte sa˛ na parametrach Denavita-Hartenberga opisanych ˛ sa˛ niew tabeli A.9. Parametry wyzanczone zostały przy założeniu, że ramiona: czwarte i piate zależne. Dopiero w ostatecznych fazach obliczeń b˛eda˛ podstawione warunki (5.20) lub (5.21), w zależności od tego, czy b˛edziemy potrzebowali wektora położeń poszczególnych przegubów, czy też wektora współrz˛ednych przegubowych. Kinematyka. Wyznaczamy wektor przestrzeni przegubowej ¦¨§ª©t«¬®p¯D°s±=²e¦.² y³ ¬°e´Xµ·¶:¸?¹ «µ¼uI½:¾ ³iºOºe» ¿ ¦¨§ÁÀ#¦·Â ¦ ¤ ¦ ¦ ¦Ã ¦.Ä ¦ÅÆÇ^È f ¢e Kinematyka we współrz˛ednych manipulatora z tabeli A.9 ¶t§ÉÁ´u¶:«ÊÌËyµÍ«ÎÏ´OÐËz¬Ñu± ma postać ¶Í±=¦¾ ºOº ¬g°f´Xµ¶:¸?¹ ³ ³ ¾ ÉÁ´Oа>˦Ò2¯>°>Î ÕÖ Ø c  ÙÚOÛO¦·ÂsÜ Ø ÂcÛIÞJßx¦·ÂÜ Ö Ö Ö Ö Ø Ù ÚeÛe¦ ¤ Ü Ø ÄsÙNÚOÛf¦ ÜÝÛIÞJßx¦ À Ø I Û ÞJßx¦ Ü ¤ N ¢ ¢ Ø ÛIÞJßx¦ Ø Ø Ä ÛIÞJßx¦ : ÙÚOÛO¦ À ÛIJÞ ßx¦ Ü ¤ ¤ Ü à ¢ ¢ Ø Ü Ø ÙNÚOÛO¦ Ü Ø Ã:ÙÚOÛe¦Ã ¢ ¢ ¦ ¦.Ä Ö Ö Ó ÀÔ^Ƨ Ö × ¦Å Ø ÃÛIÞJßx¦ÃNÆ ápâ Ø ÃÛIÞJßx¦ÃNÆ â â â â â â È â (5.22) ã Jest to kinematyka we współrz˛ednych położenia oraz współrz˛ednych orientacji typu katy ˛ Eulera opisanych jako À Ä e y ÅÆ Àå ä y Æ À#æ ä ÄÆ y Àyå ä y ÅÆgÈ Jakobiany Wyznaczmy najpierw jakobian manipulatora, ç Îè§êéÍα ¬g°f´Xµ¶:¸5¹ ³ ³ ¾ È Wynik, który uzyskujemy jest wyrażeniem dość skomplikowanym. Po podstawieniu warunków (5.20) i uproszczeniu ç Î º È Øë Øì y ë ài ì ¥fºOºOí ËyÎïî Ø Ëzðòñ 5.4. MANIPULATOR WIELOKORBOWY POLYCRANK 33 wyliczamy ö÷ ÷ Ø ÂÑe à ÷ ÷ Ø Â®¬ÂsÜ ÷ óô à ÷ Ø Ø ÄÑ ¤ Ñ ¤ à Ø ¬ Ü Ø Ä ¬ ¤ ¤ ÷ ÀyõÍƧ Ø ÄÑ ¤ Ñ ¤ à Ø ¬ Ü Ø Ä ¬ ¤ ¤ Ø ÄÑ à Ø ÄN¬ ú ú ú ú ú ú ÷ ø Ø à ú ú ü Ø ù àûù ¢ ¬ Ø ¢ ¢ Ñ ¬ ¬ Ø ¢ à ú ¬ ¢ ¬ Ø ¬ ¬ ¬ Ñ ¢ ¢ ú ú ú ú ¬ ú ú Ñ Ñ ú ú ¢ Ñ ü Ñ ¢ ¢ Ø Ñ ú ü ¬ à ú ýþ þ þ þ þ þ þ È þ ÑÄ ÑÄ ¬ Ä g ÿ (5.23) Jakobian manipulatora jest zależny od współrz˛ednych zawartych w parametrach Denavita-Hartenberga. Ponieważ w tym przykładzie współrz˛edne Ô oraz õ nie sa˛ tożsame, jakobian manipulatora oraz jakobian analityczny sa˛ zależne tak jak opisuje równanie (2.23). Wynika stad ˛ różnica postaci kolumn wyst˛epujaca ˛ w poszczególnych jakobianach. Jakobian analityczny dla kinematyki Ø$ë Ø#ì ¦Ã ¦ à ¢f¥ (5.22) oraz warunków (5.21) é·´u¬g¯ µ¡± ¦¾ º È ö÷ ÷ à ÷ ÷ ÷ Ø ÂgÑfÂ Ø Â¬Â ÷ ó À$ÔƧ ÷ Ø ¤ Ñ ¤ Ø ¬ ¤ ¤ à ú ú ú ú ú ú ú ÷ ú ø à Ø ÄÑ Ø Ä¬ ú Ø ¬ ¢ à Ø ¢ ¬ Ø à ü Ñ ¢ ¬ Ñ ¢ Ø ¢ à ¢ ¬ Ø Ø ¢ Ñ ¢ ¬ ¢ Ñ ¢ ú ú ú ú ú ú ú ú ¬ ýþ ú ú ú ú ¢ ú þ ú ¢ ú þ þ þ þ þ È þ ú ü ú ú (5.24) ÿ ü Osobliwości. Przy założeniu że zmienne i ¦ sa˛ równoważne, dokonamy analizy wszystkich konfiguracji osobliwych manipulatora. Dla kinematyki opisanej równaniem (5.22) wyznaczamy osobliwości ѧ ü í ¦ § í ì § í ¦ ÛIÞJß`À¦·Â Å ¦ § í^ù Å ¦ § ÛIÞJßx¦ Å Å ¢ ÛIÞJß`À¦·Â ÛIÞJß`À¦·Â ¦ ¤ Ƨ ÛIÞJß·À#¦ ú ¢,à ÛFÞHß ¦Ã^§ ú ú¥c ¦ ¤ Ƨ ÛIÞJß·À#¦·Â ú à ¦ Ƨ ÛIÞJß·À#¦ ¤ ú à à § à à Ñ Po podstawieniu warunków (5.21) osobliwych ü í í ì í ¦ § § ¦ ÛFÞHßÀ¦·Â Å ¦ § íù Å ¦ § ÛFÞHßx¦ Å Å Ëyµ¼ Ø ´X°>ËÐËz«DÑc± ¦¾ í ÛFÞHßÀ¦·Â Ø$ë Øì ¦ÃNƧ ¦ ¦Ã ú ÛFÞHß à ú¥c ¦ ¤ Ƨ ¦ Ƨ ú ÛFÞHßÀ¦·Â à ú ì ü § ¦ § ¢ ¦ Ƨ ú¥c ÛIÞJßx¦Ã§ ú úu¥ otrzymujemy zbiory konfiguracji ¢O¥ ¦ à ¦ Ƨ Ƨ ú ú ÛIÞJß`À¦ ¤ à ÛIÞJßx¦ § ¢ ¦ úu¥ È Æ§ ú¥c sa˛ zależne ze wzgl˛edu na równanie íù í È ú¥c ÛFÞHßÀ¦ ¤ à Uważny Czytelnik zauważy, że zbiory í íù í co oznacza że zbiór konfiguracji osobliwych í ¤ ù ú ¦ à ÛFÞJßÀ#¦ ¤ à ÛFÞJßx¦ § ¢ ú Ƨ ¦ ¤ Ƨ ú¥c Ƨ ¦ à § ¢ ÛFÞHßÀ¦·Â È º È È ÛIÞJßx¦ ¢ § ú , (5.25) Zbiór í ¤ został wyznaczony dla kinematyki we współrz˛ednych. Brakuje tutaj osobliwości reprezentacji. Wyznaczenie tych konfiguracji jest zwiazane ˛ ze zbadaniem konfiguracji osobliwych ÉÁ´OаfË$¦ ˵ò¼ Ø ´c°>ËÐËy«DÑc± ç Î?¾ dla jakobianu manipulatora. Komenda , wyznacza zbiór wszystkich í osobliwych konfiguracji manipulatora. Sa˛ to konfiguracje (5.25) oraz zbiór í ë § D Å ÛFÞHß Ä^§ ú¥ È ROZDZIAŁ 5. WYNIKI 34 Czyli ostatecznie, konfiguracje osobliwe sa˛ opisane zbiorem § í íù í í ë È (5.26) Rozważania dotyczace ˛ konfiguracji osobliwych można również przedstawić graficznie. Wyì ü znaczajac ˛ schemat kinematyczny manipulatora dla konfiguracji D ú yeù ú: @ £ ¤ y £ ¢ y ë àT£ ¢ y ¸5¹ ú: ³ ú¥ ´X°f´XÎÏ«NаOѧ ³ ¬g°f´Xµ¶ » «µ·¸5¹ ³ ³ Ø ¯ í ¶:« Ø «Np¯>µx± ú: yú: N£ ¤ ì FàT£ ¢ yú: zú ¾ można zauważyć, że efektor nie leży w jednej płaszczyźnie z przegubami pierwszym i drugim (rysunek 5.8a). z z y y x x a) b) Rysunek 5.8: Manipulator wielokorbowy w konfiguracji a) nieosobliwej b) osobliwej. Ograniczmy kinematyk˛e do współrz˛ednych położenia ¶@§ÉÁ´u¶:«t´X°DpÊÌËyµÍ«ÎÏ´XÐËy¬NÑc±¶·± ¦¾ ¦ ¾ ÕÖ Ó À$ÔƧ × Ø O  ÙNÚOÛO¦·ÂÜ Ø ÂcÛIÞJß ¦·ÂÜ Ø Ø Ä:ÙÚOÛO¦ ÜÝÛIÞJß ¦ À Ø F Û ÞJßx¦ Ü ¤ ÙÚOÛO¦ ¤ Ü ¢ ¢ Ø ÛIÞJß ¦ Ø Ø Ä ÛIÞJß ¦ s ÙNÚOÛO¦ À ÛFJÞ ßx¦ Ü ¤ ¤ Ü à ¢ ¢ Ø Ü Ø ÙNÚeÛO¦ Ü Ø ÃuÙNÚOÛO¦Ã ¢ ¢ á â Ø ÃuÛFÞJßx¦ÃNÆ Ø ÃuÛFÞJßx¦ÃNÆ ã (5.27) i zbadajmy jej właściwości pod wzgl˛edem unikania osobliwości, jak również istnienia kwadratowych postaci normalnych. Dla konfiguracji ze zbioru íù otrzymujemy. 5.4. MANIPULATOR WIELOKORBOWY POLYCRANK 35 Unikanie osobliwości. Weźmy pod uwag˛e konfiguracj˛e osobliwa˛ ¦ ¢ ú , jest to równoważne Ø#ì Øë § ü ! podsta wieniu ѧ ¦ ¢ ú: ¦Ã |ú¥ . Dla długości ramion § , otrzymujemy " ´XÎ ÎÏ´$#cµ&%c«N¦,± ¦ I ¦ ¦Ã ¢ ú: ú Øì ü Ø$ë ü co oznacza, że jest to konfiguracja niemożliwa do unikni˛ecia bo Postacie normalne. Dla tej samej konfiguracji, co powyżej * ´+%, ¯>°>ÎÏ´ Ø Òt¯D°fÎ «%$.µ&%c´Xµò± ¦ ä ¦ I ¢ ¾ ¥ ü)( ú: '^ÀyÑDƧ ¿ '^ÀÑ>Æ ( ¦Ã µ à ù Î § ù . ¾ ú¥ nie wyst˛epuje kwadratowa postać normalna. 5.4.2 Wyniki dla manipulatora z zależnymi przegubami czwartym i piatym ˛ Ponieważ tabela parametrów A.11 powstała na podstawie tabeli A.9 oraz listy warunków 5.20, już na poczatku ˛ odrzucamy informacje dotycace ˛ ruchu piatego ˛ przegubu manipulatora. Sprawdźmy czy spowoduje to uzyskanie innych wyników niż te, które uzyskaliśmy w poprzednim podrozdziale. Kinematyka. Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.11 ¶@§ªÉ ´¶«ÊÌËyµ·«ÎÏ´OÐËy¬NÑc± ¬°e´Xµ·¶ ³ î.¸?¹ í ¾ ³ ma postać Ó À$ÔƧ À Ø Â¬ÂsÜ Ø Ø Ä¬ ¤ ¬ ¤ Ü > Ø ÂÑfÂÜ Ø Ø ÄÑ ¤ Ñ ¤ Ü > Ø Ü Ø ù ¬ ¢ ¦ ¢O e ¦.Ä ¦ÅÆ Ç È (5.28) Wyznaczamy wektor ¦ ¦¨§ª©t«¬®p¯D°s±=²e¦.² y³ ¬°e´Xµ·¶:¸?¹ «µ¼uI½:¾ ³iºOºe» ¿ ¦¨§ÁÀ#¦·Â ¦ ¤ ¦ ¦ ¦Ã ¦.Ä ¦ÅÆ Ç È f ¢e Jakobiany. Jakobian analityczny dla kinematyki (5.28) é·´u¬g¯ ö÷ ÷ à ÷ ÷ ÷ Ø ÂÑfÂ Ø Â®¬Â ó À$Ô^Ƨ ÷ ÷ Ø à Ø ¤ Ñ ¤ ¤ ¬ ¤ à µ¡± ¦¾ Ø ÄÑ Ø Ä¬ ú ú ú ú ú ú ú ú ú ú ú ú ¢ Ñ ú ú ú ú ú ú ú ú ú ú ú ú ø àûù Ø ú ü þ ú ú ÷ ú ýþ ú ¢ ú ü þ þ þ þ þ È þ ú ú ü (5.29) ÿ Przypatrujac ˛ si˛e powyższemu jakobianowi, stwierdzamy że wszystkie informacje dotyczace ˛ piate˛ go przegubu zostały utracone (nie istnieje żadna pochodna kinematyki po zmiennej przegubowej ¦Ã ze wzgl˛edu podstawienie warunków (5.20). Majac ˛ to na uwadze, możemy przypuszczać, że wyniki otrzymane na podstawie tego jakobianu, czyli również kinematyki (5.28) moga˛ być niepoprawne. Sprawdźmy nasze przypuszczenia. Postać jakobianu manipulatora wyznaczonego na podstawie parametrów z tabeli A.11 é·Î± jest identyczna z postacia˛ (5.23). ³ ¬°f´cµ·¶ í î.¸?¹ ³ ¾ ROZDZIAŁ 5. WYNIKI 36 Osobliwości. Dla kinematyki opisanej równaniem (5.28) wyznaczamy osobliwości Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾ í í íù ü  §  § ¦ ¢ ¦ ¢ ÛFÞHßx¦ ¢ ÛFÞHß`À#¦·Â È § ú¥c ¦ ¤ Ƨ à È úu¥ Porównujac ˛ powyższe zbióry konfiguracji osobliwych ze zbiorem í ¤ stwierdzamy, że nasze przypuszczenia były słuszne. Otrzymaliśmy niepoprawne wyniki. Pomimo zgodności zbiorów opisanych równaniem ÛIÞJßx¦ ¢ § ú , zbiory í oraz í^ù  nie pokrywaja˛ si˛e. Podsumowujac, ˛ zbyt wczesne podstawienie warunków określajacych ˛ mechniczne właściwości manipulatora powoduje utracenie ważnych informacji dotyczacych ˛ kinematyki manipulatora. Prowadzi to do bł˛ednych wyników, czego przykładem jest zbiór konfiguracji osobliwych íù  . 5.5 Manipulator K-arm 1207 Rozważania dotyczace ˛ tego manipulatora zostały podzielone na łatwe (przy założeniu, że wszystkie parametry geometryczne ´- sa˛ zerowe) oraz złożone (przy założeniu, że parametry geome˛ jest podyktowany zbyt skomplikowanymi tryczne ´s i ´ ¤ sa˛ niezerowe). Ten sposób rozwiazania obliczeniami zwiazanymi ˛ z postacia˛ kinematyki dla manipulatora opisanego parametrami z tabeli A.2. 5.5.1 Przykład podstawowy Kinematyka. Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.2 ì ë ü przy podstawieniu za wszystkie elementy ´$- wartości 0 ´ §´ ù §´ §´ §´ §´ § ú , ¶@§ªÉ ´¶«ÊÌËyµ·«ÎÏ´OÐËy¬NÑc±\Ê ´c°>Îϸ?¹ ³ ¾ ma postać ÕÖ Ó ÀÔƧ × À.% à ápâ Ü %cÃÙÚOÛO¦ ÆfÛIÞJß`À¦·Â.Ü ¦ ¤ Æ / %cÃ:ÙÚOÛÀ¦·Â.Ü ¦ ¤ ÆfÙNÚeÛe¦ ÛFÞHßx¦ ¢ ¢ à Ù ÚeÛDÀ#¦·ÂÜ ¦ ¤ Æ.À % N Ü/%cÃÙNÚeÛO¦ Æ %cÃuÙNÚOÛO¦ ÛIÞJß`À¦·Â.Ü ¦ ¤ f Æ ÛIÞJßx¦ ¢ à ¢ %uÃuÛFÞHßx¦ FÛ ÞHßx¦ ¢ à ã (5.30) zakładajac ˛ że wektor zmiennych przegubowych jest zdefiniowany jako ¦T§©t«¬®p¯>°:±=²e¦.² 0 ¾ ¿ ¦¨§ÁÀ¦·Â ¦ ¤ ¦ ¦ ¦Ã ¦.Ä ¦ÅÆ Ç f ¢O Schemat manipulatora K-arm 1207 przedstawiono na rysunkach 5.9a) oraz 5.9b). Osobliwości. Dla kinematyki opisanej równaniem (5.30) wyznaczamy osobliwości í ü í í^ù Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾ ¦ § § ¦ Å Å ÛIÞJßx¦ ÙÚOÛO¦ È § ¢ § ú¥c úu¥c Postacie normalne. Dla żadnej konfiguracji osobliwej opisanej zbiorami í kwadratowa postać normalna. ü oraz íù nie wyst˛epuje 5.5. MANIPULATOR K-ARM 1207 37 z z y y x x b) a) Rysunek 5.9: Manipulator K-1207 w konfiguracji a) 5.5.2 DN £¤ ¥ b) . Dg¢ú¥ Przykład bardziej złożony Kinematyka. Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.2 ì ë przy podstawieniu za elementy ´ e ´ ¢O ´cà ´XÄ wartości 0 ´ §´ §´ §´ § ú , ¶@§ªÉÁ´u¶:«ÊÌ˵·«ÎÏ´OÐËz¬Ñc±Ê ´X°>Îϸ?¹ ¾ ³ ma postać ÕÖ Ó ÀÔƧ %cÃN¬ ´:ÂgÑfÂgÑ ¤ Ì Ü ¬ÂÀ´:®¬ ¤ Ü/%cì Ñ ¤ ÆÜ/% f Ñ Â ¤ Ì Ü ¬Â ¤ ¬ À$´ ¤ ¢ à ¬Â ¤ 1À % Ü/%cÃg¬ ÆÜ Ñf ¤ À$s ´ ÂsÜ̬ À$´ ¤ cÃÑ F % Æ Æ à ¢ à ¢ Ñ À ´ ¤ %cÃ Ñ ¢ Æ à ¤ ¬ ¢ Ñf à × %cÃÑ ¢ ápâ Æ ã È (5.31) Kinematyka jest zależna od czterech zmiennych przegubowych ¦T§ª©t«¬p¯D°s±=²e¦.² ì ¾ ¿ ¦¨§ À#¦·Â ¦ ¤ ¦ ¦ Æ Ç È e ¢ Osobliwości. Dla kinematyki opisanej równaniem (5.31) wyznaczamy osobliwości í ü í íù í § ¦ ¢ § § Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾ 6f¦ ÙNÚOÛe¦ ¦ ¢ ¢ ÛFÞJßx¦ ÙNÚOÛO¦ I ¦ £ ¤. ¦ ¢ ÙNÚeÛe¦ § ú ¢ ú¥c 32 45 ¥c 87 È à 2:9 4;<>=?A@CB § ¢ Unikanie osobliwości. Dla konfiguracji ze zbioru í ¸?« Ø p´ò± ¦ § § ü È : £ ¤¥ ¦ ¾ ^ £¤ ¿ D ¦ § ¢ £¤ ¥ ú: Co oznacza że nie jesteśmy w stanie stwierdzić czy osobliwość jest możliwa czy też niemożliwa do unikni˛ecia. Postacie Normalne. W tym przypadku także nie wyst˛epuje kwadratowa postać normalna, zarówno ü dla konfiguracji ze zbioru í , jak i dla zbioru íù . ROZDZIAŁ 5. WYNIKI 38 5.5.3 Manipulator z zablokowanymi dwoma ostatnimi przegubami Kinematyka. Została wyznaczona na podstawie pi˛eciu pierwszych przegubów manipulatora. Przeguby szósty i siódmy zostały usuni˛ete. Różnic˛e w budowie można zaobserwować na podstawie ˛ pełny manipulator oraz rysunku 5.10 przedstawiajacego ˛ marysunków 5.9a),b) przedstawiajacych nipulator złożony z pierwszych pi˛eciu przegubów. ¶@§ÉÁ´u¶:«ÊÌËyµÍ«ÎÏ´XÐËy¬NÑc±\Ê ´X°fÎϸ?¹ ±±ë ³ ´Xµò¼«N¾ ¾H¾. ºOºeä Kinematyka jest zależna od pi˛eciu zmiennych przegubowych ¦¨§©S«¬p¯D°:±\²e¦.² ë ¾ ¿ ¦T§ À#¦·Â ¦ ¤ ¦ ¦ ¦ÃÆ Ç e ¢e i ma postać ÕÖ %cÃg¬ ¤ ¬ ¬ÂDÀ.c % ì ¢ Ö Ö Ö Ö Ö Ö Ó ÀÔƧ Ö ¢ ¬Â ¤ À1% Ü/%cÃg¬ Ü/ExÂgÑ ÆÜ ¢ ¢ à × Ñ gdzie ExÂx§ ´ Ü ´ ¢ ¬Ã E ¤ § ´ metrów geometrycznych tzn. % ÕÖ % ápâ ´:ÂÑf娄 ¤ Ü/% Ñf ¤ Ü!À.%cì ÑeÂÑ ¤ / Ü ExÂgÑf ¤ F Æ Ñ Ü à ¢ Ñ ¤ Ì Ü ¬ ¤ À$´s cì Ñ ÆFÆuÜ̬ ¤ À¬ À´ ¤ / % Ü ExÂ(¬ Æ E ¤ Æ à ¢ ¢ à Ñf ¢ Ñf ¤ À´:ÂÜ̬ À´ ¤ Ü/E¡Â(¬ ¢,à À$´ ¤ Ü/Ex®¬ ¢ à %cÃÑ ÆÜÌ´ ¢ ¬ ¢ %cÃÑ ¢ Æ à â â â â E â â â ¤ Æ ã ÑÃ Ñ Ñà . Po uproszczeniu kinematyki §F%cà ´ § ´ à ¢ otrzymaliśmy na podstawie znajomości paraápâ ¬ ¤ ¬ f Ñ Â ´:ÂÑf娄 ¤ / Ü % Ñf ¤ Ü!À.% ¬ ÑeÂÑ ¤ / Ü ExÂgÑf ¤ F Æ Ñ Ü ¢ à ¢ ¬Â>À1% ¬ Ñ ¤ Ü̬ ¤ À´: % ¬ Ñ ¢ ÆIÆÜ̬ ¤ À¬ À$´ ¤ / Ü Ex®¬ Æ/ Ü E ¤ Æ ¢ à ¢ Ö Ö Ö Ö Ö Ö Ó À$ÔƧ Ö à ⠬ ¤ À1% Ü/% ¬ Ü/ExÂÑ ÆuÜ ¢ ¢ × Ñ Ñf ¤ À´:ÂÜ̬ À´ ¤ Ü/E¡Â(¬ ¢à À$´ ¤ Ü/Ex®¬ ¢,à % Ñ Æ ¢ à ´ ¬ % Ñ â â â â â â ÆÜ/E ¤ Æ ¢ (5.33) ã Ñà (5.32) gdzie E¡Â§ ´ À à ¬ÃNÆ E ¤ § à ´ Ñ Ñà . Zmniejszyło to liczb˛e zmiennych przy dalszych obliczeniach. Osobliwości. Niestety, zbyt skomplikowana postać kinematyki oraz duża liczba zmiennych wyst˛eë pujacych ˛ w równaniu (5.33) tzn. liczba zmiennych przegubowych równa oraz liczba parametrów ì równa , powoduje przekroczenie możliwości obliczeniowych pakietu. Po pi˛eciu godzinach obliczeń nie uzyskano wyniku. ü 5.6 Manipulator IRb-6 na torze jezdnym Kinematyka. Kinematyka manipulatora wyrażona w postaci macierzowej ÊÌËyµÍ«ÎÏ´OÐËz¬Ñu±G# äIH аf´u¬¶:¸?¹ ³ ¾ to ö÷ ÷ J ÷ ÀÔƧ ø ¬ ¤ ¬gÃ¬Ä·Ü Ñ ¤ ÑÄ ¬ÄÑÃ à ¬gÃN¬ÄÑ ¤ ¬ ¤ Ñ Ä à à à à ú ¬ ¤ D Ñ Ã ¬Ã Ñ ¤ Ñà ú à ¬ÄÑ ¤ ¬ ¤ ¬ÃNÑÄ à ÑÃÑÄ ¬ ¤ ¬Ä à ¬ÃNÑ ¤ ÑÄ ú ¬ ¤ À$´ ¤ ¬ ÜÌ´ ¬ Ü/%XÄÑÃÆ ¢ :Â.Ü/%XĬà % ´ ¤ Ñ ´ Ñ à à `à ¢ ¦·Â.Ü Ñ ¤ À´ ¤ ¬ ÜÌ´ ¬ Ü/%XÄNÑDÃÆ ¢ ü Kinematyka we współrz˛ednych manipulatora opisanego parametrami z tabeli A.4 ¶@§ªÉ ´¶«ÊÌËyµ·«ÎÏ´OÐËy¬NÑc±G# äIH аe´c¬¶:¸?¹ ³ ¾ ýþ þ þ È ÿ (5.34) 5.6. MANIPULATOR IRB-6 NA TORZE JEZDNYM 39 z y x Rysunek 5.10: Manipulator K-1207 ograniczony do pierwszych pi˛eciu przegubów, w konfiguracji D  £ ¤. y ¤ ú yN^ à £ ¤. yg¢|¡ £ ¤¥ to ÕÖ Ö Ö Ö Ö Ö Ó ÀÔ^Ƨ ápâ ÙÚOÛO¦ ¤ À$´ ¤ ÙNÚOÛf¦ ÜÌ´ ÙÚOÛe¦ Ü/%cÄÛFÞHßx¦ÃÆ ¢ %:ÂsÜ/%cÄÙNÚOÛO¦Ã à ´ ¤ ÛFÞHßx¦ ,à ´ ÛFÞHßx¦ ¢ à ¦·ÂÜÝÛFÞHß ¦ ¤ À$´ ¤ ÙNÚOÛO¦ ÜÌ´ ÙÚOÛO¦ Ü/%XÄÛFÞJß,¦ÃÆ ¢ ¦ ¤ tà Ü ¦Ã ¦.Ä à Ö Ö × â â â â â â È â (5.35) ã Jest to kinematyka we współrz˛ednych położenia oraz współrz˛ednych orientacji typu katy ˛ Eulera À ïàÏ ¤ Ü Ã Ià ÄÆ ä À.K Æ SàÏ ¤ ä Àyå Ü $ ÃNÆ À.K ä Fài ÄDÆ Oczywiście, w celu wyświetlenia kinematyki musimy zdefiniować wektor przestrzeni przegubowej manipulatora ¦T§©t«¬®p¯>°:±=²e¦.² # I ä H аf´c¬N¶¸?¹ ³iºOºe» «µò¼cI½:¾ ¿ ¦T§ À#¦·Â ¦ ¤ ¦ ¦ ¦Ã ¦.ÄÆ Ç È e ¢O Osobliwości. Dla kinematyki opisanej równaniem (5.35), wyznaczamy osobliwości í ü í íù ÷ ÷ ú ÷ ú ó ÷ à ¦L ú ú ÷ ø ÙNÚeÛe¦ ¤ § ÛFÞHßÀ¦ ,à à ú ú ÷ Ä ÄM Ñ ¤ À´ ¤ ¬ ÜÌ´ ¬ Ü/%XÄNÑÃNÆ ¢ ¬ ¤ À´ ¤ ¬ ÜÌ´ ¬ Ü/%cÄNÑÃÆ ¢ ü à ü ÷ ÀÔƧ ¦ È ú¥c Ƨ ¢ ú¥c é´c¬g¯Nûµx±=¦¾ Jakobiany. Jakobian analityczny ö÷ ¦L § § Ëyµò¼ Ø ´X°fË$ÐËz«DÑc±=¦¾ à ´ ¤ ¬ ¤ Ñ ´ ¤ ¬ à ´ ¤ Ñ ¤ Ñ ¬ ¤ Ñ ¢ ´ ¬ à ¢ ´ Ñ ¤ Ñ à ¢ à ´ ú ú ú ú ú ú ú ú ýþ %XÄN¬ ¤ ¬gà %XÄÑDà à %XĬÃNÑ ú þ þ ú þ þ ¤ þ È þ ú ú ü ú þ ú ú à ü ÿ (5.36) ROZDZIAŁ 5. WYNIKI 40 Postacie normalne. Pierwsze wyliczenie postaci normalnej może potrwać dłużej ze wzgl˛edu na złożona˛ funkcj˛e kinematyki (ma to zwiazek ˛ z wyznaczeniem takiej postaci kinematyki po permutacji wierszy oraz permutacji współrz˛ednych, aby spełniony był warunek (3.8)). Dla konfiguracji osobliwej ¦ ¤ £ ¤ , jak i dla konfiguracji ¦ ¤ O.¤ £ , nie wyst˛epuje kwadratowa postać normalna. Biorac ˛ pod uwag˛e konfiguracje osobliwe opisane zbiorem íù , otrzymujemy ¦ – dla konfiguracji ^ ¦ £¢ ¢ £¢ ¥ * ´+%, - postać normalna˛ ¯>°>ÎÏ´ Ø Òt¯D°fα ¦ ¶·À#¦òÆ`§QPI¦·Â – dla konfiguracji ¦ ^ ú: ¦ ¢Lx¥ I ¦ ^ £¢ ¦ ¢ £¢ ¥ ¾ Ç ¦ ¤ ¦ ¦.Ä ¦ ¦ ¤Ã3R f ¢O (5.37) - postać normalna˛ równoważna˛ (5.37). Należy tutaj nadmienić, że kolejność zmiennych przegubowych w równoważnej postaci kinematyki nie jest istotna, bierze si˛e ona z poszukiwania takiej permutacji zmiennych przegubowych, aby warunek (3.8) był spełniony. z z y y x x a) b) Rysunek 5.11: Manipulator IRb-6 na torze jezdnym w konfiguracji osobliwej a) í S ü Ã Ä Â £ ¤ y^ £ ¢ yg¢ àT£ y £ ¤ y |ú¥ b) íù D y ¤ ú yN^ £ ¢ yg¢ £ ¢ y üTS à D  £ ¤ y Ä ü y ¤ úu¥ Rozdział 6 Podsumowanie 6.1 Pakiet jako narz˛edzie Praca prezentuje pakiet oprogramowania Akiman do badania kinematyki manipulatorów. Pakiet dostarcza narz˛edzia wspomagajacego ˛ prac˛e konstruktorów jak i osób zainteresowanych wykorzystaniem albo przyswojeniem sobie wiedzy zwiazanej ˛ z analiza˛ kinematyki manipulatorów. Zawarte w nim programy moga˛ skutecznie wspomagać analiz˛e kinematyki manipulatorów. Poczynajac ˛ od pakietu zwiazanego ˛ z kinematyka, ˛ istnieja˛ możliwości wyznaczania kinematyki w formie macierzowej lub jako kinematyki we współrz˛ednych. Kolejnymi możliwościami pakietu Akiman‘Kinematics sa: ˛ wyliczanie jakobianu analitycznego, jakobianów geometrycznych i jakobianu manipulatora, jak również wyznaczanie zbiorów konfiguracji osobliwych manipulatora. Procedury zwiazane ˛ z badaniem osobliwego odwrotnego zadania kinematyki sa˛ zawarte w pakietach Akiman‘SingularityAvoiding w przypadku unikania osobliwości oraz Akiman‘NormalForm w przypadku definiowania kwadratowych postaci normalnych równoważnych osobliwej kinematyce. Graficzne możliwości programu Akiman sa˛ zawarte w pakiecie Akiman‘Graphics. Pozwalaja˛ one na przedstawianie schematów manipulatorów, wyznaczanie ścieżki efektora oraz na animacj˛e ruchów przegubów manipulatorów. Dodatkowo w pakiecie jest zawarta baza parametrów DenavitaHartenberga ośmiu manipulatorów. Pewnym mankamentem zwiazanym ˛ z użytkowaniem oprogramowania jest czas działania poszczególnych funkcji. W szczególności, jest to widoczne przy manipulatorach, w których liczba zmiennych i parametrów przkracza 10. Dlatego użytkownicy korzystajacy ˛ z tego oprogramowania, przy manipulatorach o takiej liczbie zmiennych, powinni liczyć si˛e z dużym nakładem czasowym potrzebnym do rozwiazania ˛ poszczególnych zadań. 6.2 Wyniki przeprowadzonych analiz W ramach analizy kinematyki poszczególnych manipulatorów zostały przedstawione wyniki obrazujace ˛ możliwości oprogramowania. Pierwszy przykład dokładnie przedstawia sposób korzystania z oprogramowania. W kolejnych przykładach, koncentrujemy si˛e bardziej na analizie własności badanych manipulatorów oraz na interpretacji otrzymanych wyników. W przypadku bardzo skomplikowanych przykładów jak np. dla manipulatora K-arm 1207, badania zostały przeprowadzone na modelu uproszczonym . Wynikało to głównie z długiego czasu potrzebnego na wyznaczanie kinematyki robota oraz jej bardzo skomplikowanej postaci. Przy okazji zostały uzupełnione wyniki niektórych badań. Mi˛edzy innymi, sa˛ to wyniki zwia˛ zane ze zbiorem konfiguracji osobliwych manipulatora wielokorbowego POLYCRANK. Został wyznaczony pełny zbiór konfiguracji osobliwych oraz został przedstawiony poprawny jakobian manipulatora i jakobian analityczny. 41 42 6.3 ROZDZIAŁ 6. PODSUMOWANIE Ograniczenia programu M ATHEMATICA U W trakcie tworzenia pakietu pojawiły si˛e pewne problemy zwiazane ˛ z oprogramowaniem funkcji w M ATHEMATICE wyliczajacych ˛ konfiguracje osobliwe manipulatorów, zwłaszcza z funkcja˛ Solve. Dodatkowo, funkcja Reduce nie jest w stanie rozwiazać ˛ symbolicznie układu równań ze wzgl˛edu na zmienne określone w drugim argumencie tej funkcji. Wynikiem tego jest postać rozwiazania ˛ zwracanego przez funkcje Singularities oraz MatrixSingularities. Nie jest możliwe wyznaczenie zbioru konfiguracji osobliwych zwiazanych ˛ tylko ze zmiennymi przegubowymi. Dodatek A Transformacje i tabele A.1 Podstawowe transformacje układów J Transformacje macierzowej postaci kinematyki ö÷ ü ÷ ÷ ¯À#æ ä 0V ú Æ`§ ú ú ÷ WV ÛFÞHß`À Ƨ Æ V à Æ V ú ÛIÞJß`À ÙÚOÛDÀ ú ÙNÚeÛDÀ ÷ ä ÛFÞJßÀ ø ö÷ ¯Àyå ú ÙNÚOÛÀ ø V ÛFÞHßÀ à Æ ÙNÚOÛDÀ ú ú ÷ö V ÷ ú ú %uƧ ú ü ø ú ú ú ú ú Àæ ä WV Æ`§ ü ú ø Àå 0V Ƨ ÛIÞJß`À ú ö÷ ä ú ÙÚOÛÀ ü °e´XµÑcÀæ X ø ÙNÚOÛÀ ÛFÞJßÀ V V V Æ V à þ ÷ X ü ú ÷ ÿ °f´cµ·ÑcÀyå Æ Æ à Æ ÙNÚOÛÀ ÛIÞJß`À ÙÚOÛDÀ ú V V ýþ Æ ú ú WV Ƨ ÙÚOÛDÀ à ú ú ú ú ú Æ ú ú ü þ ú ÙÚOÛDÀ V þ ÿ ýþ Æ V ÿ ü ü ú þ ú % ÿ ýþ ú ü ü þ ú ú ÛIÞJß`À ú ú ýþ ú ü Æ ú ü þ ú Æ ÿû ÿ ü V ú ú ü Æ V ü þ ú % ú ú ú ø ú ÛIÞJß`À ø ýþ ú Æ ö÷ À1K Bä Æ Æ V ÿ %Æͧ ú ú ú ÷ö V ú ú ø þ ú V ú ü ýþ Æ V ú ÙNÚeÛDÀ ú ÷ %uƧ ü Æ ö÷ ýþ ú % ú ÛFÞHß`À V ÛFÞHßÀ ú ÷ Transformacje cz˛eści rotacyjnej kinematyki: ö÷ à ú ÿ ú ü ø þ ü ú ú ÛFÞHßÀ Ƨ 0V Æ V þ ú ú ÙNÚOÛÀ ýþ ú Æ ü ÷ °f´XµÑcÀ.K ü ú ú ú X Æ V ¯À.K Bä ÿ ú ú Æ V ÷ ÷ ú Æ V ö÷ þ þ Æ V ýþ ú Parametryzacja współrz˛ednych typu: Katy ˛ Eulera i jej modyfikacje À.Y 0V^ Z Æ ä YÍÆ ä ä ä ä ä Àyå À.K ä Æ 0V YÍÆ ä À#æ WV À#æ YÍÆ ä À.K 0V À#æ Y Æ ä Àyå WV Í À.K YòÆ Àyå ä 0V À.K YòÆ À#æ ä 0V Àyå Àyå ä Æ Æ Æ Àæ ä À.K ä À.K ä Z Æ Z À#æ ä Æ Æ Àå ä Æ .Z Z . Z Æ Æ (A.1) Æ Æ Z Parametryzacja współrz˛ednych typu: RPY (roll-pitch-yaw) À A.2 Y 0 V .Z Æ |ä Àyå YÍÆ ä À.K 0V Æ ä À#æ Z Æ Parametry Denavita-Hartenberga manipulatorów 43 (A.2) DODATEK A. TRANSFORMACJE I TABELE 44 [ - nr 1 2 3 4 5 6 7 %$- ´- E\- ú £¤  ¤ ú ú ´ ¤ N ú ¢ ´ ú Å £¤ ú £¤ ú ú £¤ ú ú £¤ Ä ú %cà à ú £¤ Tabela A.1: Parametry Denavita-Hartenberga dla Cybotech‘a [ - nr 1 2 3 4 5 6 7 %- ´- ú ú ´:  ¤ % N ¢ ´ ú Ä £¤ ´ à ¢ ´ à c ú Å ú £¤ ´ ¤ %cà à ú E\- à ´XÄ ú £¤ £¤ £¤ £¤ Tabela A.2: Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207 nr 1 2 3 4 5 6 7 [ - %-  ú ¤ ú ú È ëfì g¢ à ú Ä ´- ú ë ì Èf Å ú ü ú ú ú ú ú ú ù Èü ú à ú Èü à ü ET- ú$ È ú ] ú ] ü] £¤ ë £¤ ^ ] È ú$ ^ È ì ] ú ù È ì ] ú à £¤ £¤ à ù £¤ £¤ Tabela A.3: Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207 z zadanymi parametrami geometrycznymi kinematyki nr 1 2 3 4 5 6 [ - %$- ´- ET-  %  : ú £¤ ú £¤ N ú ´ ¤ g¢ àÏN à àÏ¢ Ä ú ú ¤ ú % Ä X ´ ú ú ú ´ à c £¤ à £¤ Tabela A.4: Parametry Denavita-Hartenberga dla manipulatora IRb-6 na torze jezdnym A.2. PARAMETRY DENAVITA-HARTENBERGA MANIPULATORÓW %- [ - nr 1 2 3 ET- Ø Â Â ´- ú ú ú Ø ¤ ú ¤ Ø ú ú Tabela A.5: Parametry Denavita-Hartenberga dla manipulatora typu potrójne wahadło [ - %$- ´- %: ´: ¤ ú ´ ¤ ú N ú ú ¢ ú ú ú nr 1 2 3 4  E\ú ú Tabela A.6: Parametry Denavita-Hartenberga dla manipulatora SCARA [ - nr 1 2 3 4 5 6 %$- ´- E\- ú ú àT£ ¤  % ¤ ú ¢ ¤ ú £¤ N ú ú ú ú ú ú £¤ ú ú à %XÄ Ä à £¤ Tabela A.7: Parametry Denavita-Hartenberga dla manipulatora stanfordzkiego [ - nr 1 2 3 4 5 6 %- ´- ú ú ´ ¤  ¤ N Ã à £¤ ú £¤ ¢ ú à ú %XÄ Ä ´ % ¢ ú % E\- £¤ ú £¤ ú ú Tabela A.8: Parametry Denavita-Hartenberga dla manipulatora PUMA nr 1 2 3 4 5 6 7 [ ¤ à Nà Ü ¤ Ü Ä à à ÅÜ ú Ø Â £¤ Ø ú g¢ ÃÍÜ ú ØÄ £¤ E\- ú ú ¤ ú £¤ £¤ ´Ø   g¢ à %- ú ú £¤ Ø ¢ ú Ø Ã ú ú £¤ ú ú Tabela A.9: Parametry Denavita-Hartenberga dla manipulatora wielokorbowego 45 DODATEK A. TRANSFORMACJE I TABELE 46 nr 1 2 3 4 5 6 7 [  ¤ à Ü ¤ Ü Ä à à ÅÍÜ ´- ú  Nà g¢ à %ú ë ë ü ÈO £¤ È ú £¤ ú ù È ú £¤ £¤ ú ú ù ë ] ú Èü Où ú ë Èü ^ ú ú ú Èü ú g¢ ÃÍÜ ù ET- £¤ ú ú ú £¤ ú ú Tabela A.10: Parametry Denavita-Hartenberga dla manipulatora wielokorbowego z zadanymi parametrami geometrycznymi kinematyki nr 1 2 3 4 5 6 7 [ ¤ à Nà g¢ Ä·Ü %- àûùf¢ g¢ ÅÜ ú Ø Â £¤ ú £¤ £¤ £¤ Ø ØÄ ú ú ú Ø ú ú ¤ ú Ø £¤ Ü E\- Ø Â Â Ü ¤ Ü ´- ¢ ú ¢ ú ú £¤ ú ú Tabela A.11: Parametry Denavita-Hartenberga dla manipulatora wielokorbowego przy założeniu że człony 4 i 5 sa˛ zależne (wynika to z mechanicznej budowy manipulatora) Spis literatury [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] K. TCHOŃ: Singularity avoidance in redundant robot kinematics: a dynamical system approach. Appl. Math. and Comp. Sci., 1997, Vol. 7, No.2, 401-412. [5] K. TCHOŃ, R. MUSZYŃSKI: Singularities of Nonredundant Robot Kinematics Int. J. Robotic Res. 1997, Vol. 16,60-76. [6] K. TCHOŃ: Quadratic normal forms of redundant robot kinematics with application to singularity avoidance. IEEE Trans. Robotics & Automat., 1998, Vol. 14, No.5, 834-837. [7] 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. [8] S. PIWKO :Unikanie osobliwości w robotach o redundantnej kinematyce, Praca magisterska, Wrocław, 1998. [9] K. KREUTZ-DELGADO, M. LONG, H. SERAJI: Kinematic Analysis of 7-DOF Manipulators The International Journal of Robotic Research, 1992, Vol. 11,469-481. [10] F.L LITVIN: Singularities in motion and displacement functions for 7 degree-of-freedom manipulator. Journal of Robotic Systems, 1987, Vol. 4, No 3, 397-421. 47 Spis treści 1 Wst˛ep 1.1 Wprowadzenie ogólne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 O pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 Kinematyka 2.1 Reprezentacja Denavita-Hartenberga . . . . . . . . . . . . . . . . 2.2 Kinematyka we współrz˛ednych . . . . . . . . . . . . . . . . . . . 2.3 Jakobiany . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Jakobian manipulatora w różnych układach współrz˛ednych 2.4 Konfiguracje osobliwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 6 6 3 4 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Osobliwe odwrotne zadanie kinematyki 3.1 Unikanie osobliwości . . . . . . . . . . . . . . . . 3.1.1 Kinematyka o stopniu redundancji 1 . . . . ü 3.1.2 Kinematyka o stopniu redundancji _ . . 3.2 Postacie normalne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 10 12 Pakiet Akiman 4.1 Instalacja i uruchomienie . . . . . . 4.2 Ograniczenia pakietu . . . . . . . . 4.3 Dane wejściowe . . . . . . . . . . . 4.4 Pakiet Akiman‘Kinematics . . . . . 4.4.1 Podstawowe funkcje pakietu 4.4.2 Pomocnicze funkcje pakietu 4.5 Pakiet Akiman‘SingularityAvoiding . 4.6 Pakiet Akiman‘NormalForm . . . . 4.7 Pakiet Akiman‘Graphics . . . . . . 4.8 Pakiet Akiman‘Parameters . . . . . 4.9 Pomoc . . . . . . . . . . . . . . . . 4.10 Ostrzeżenia . . . . . . . . . . . . . 4.11 Rozbudowa pakietu Akiman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 16 16 17 18 18 19 20 20 21 21 21 . . . . . . . . 23 23 27 29 31 32 35 36 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wyniki 5.1 Potrójne wahadło . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Manipulator SCARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Cybotech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Manipulator wielokorbowy POLYCRANK . . . . . . . . . . . . . . . . . . . 5.4.1 Wyniki dla manipulatora podstawowego . . . . . . . . . . . . . . . . 5.4.2 Wyniki dla manipulatora z zależnymi przegubami czwartym i piatym ˛ 5.5 Manipulator K-arm 1207 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 Przykład podstawowy . . . . . . . . . . . . . . . . . . . . . . . . . i . . . . . . . . . . . . . . . . SPIS TREŚCI ii 5.6 6 5.5.2 Przykład bardziej złożony . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5.3 Manipulator z zablokowanymi dwoma ostatnimi przegubami . . . . . . . . 38 Manipulator IRb-6 na torze jezdnym . . . . . . . . . . . . . . . . . . . . . . . . . 38 Podsumowanie 41 6.1 Pakiet jako narz˛edzie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.2 Wyniki przeprowadzonych analiz . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.3 Ograniczenia programu M ATHEMATICA` . . . . . . . . . . . . . . . . . . . . . . 42 A Transformacje i tabele 43 A.1 Podstawowe transformacje układów . . . . . . . . . . . . . . . . . . . . . . . . . 43 A.2 Parametry Denavita-Hartenberga manipulatorów . . . . . . . . . . . . . . . . . . 43 Spis rysunków 2.1 Schemat kinematyki manipulatora . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Manipulator typu potrójne wahadło a) w konfiguracji osobliwej, b) w konfiguracjach nieosobliwych o 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 Manipulator typu potrójne wahadło a) w konfiguracji osobliwej D  £ ¢ ¤ ú: NLx¥ b) w konfig Manipulator typu potrójne wahadło a) w konfiguracji osobliwej D  £ ¢ ¤ ¡ y^úu¥ osiagajacej ˛ Manipulator SCARA w konfiguracji osobliwej a) ¤ ú , b) ¤ L . . . . . . . . 28 Robot SCARA ograniczony do kinematyki w aspekcie współrz˛ednych położenia, w konfiguracji nieos a) Układ bazowy dla Cybotecha opisanego w tabeli A.1, b) Układ bazowy dla Cybotecha z [10]. 30 Cybotech w konfiguracji osobliwej D^ú: g¢ £ ¤ ¥ . . . . . . . . . . . . . . . . 31 Cybotech w konfiguracji a) osobliwej DN^L¡ ¢ £ ¤ ¥ , b) nieosobliwej . . . . . 32 Manipulator wielokorbowy w konfiguracji a) nieosobliwej b) osobliwej. . . . . . . 34 Manipulator K-1207 w konfiguracji a) D^ £ ¤ ¥ b) Dg¢^ ú¥ . . . . . . . . . . . . 37 Manipulator K-1207 ograniczony do pierwszych pi˛eciu przegubów, w konfiguracji D  £ ¤ò y ¤ |ú: y üTS ü  Manipulator IRb-6 na torze jezdnym w konfiguracji osobliwej a) í D ¤ £ ¤ò N^ £ ¢ y¢ iii 4 iv SPIS RYSUNKÓW Spis tabel A.1 A.2 A.3 A.4 A.5 A.6 A.7 A.8 A.9 A.10 A.11 Parametry Denavita-Hartenberga dla Cybotech‘a . . . . . . . . . . . . . . . . . . 44 Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207 . . . . . . . . . . 44 Parametry Denavita-Hartenberga dla manipulatora K-Arm 1207 z zadanymi parametrami geometryczn Parametry Denavita-Hartenberga dla manipulatora IRb-6 na torze jezdnym . . . . 44 Parametry Denavita-Hartenberga dla manipulatora typu potrójne wahadło . . . . . 45 Parametry Denavita-Hartenberga dla manipulatora SCARA . . . . . . . . . . . . 45 Parametry Denavita-Hartenberga dla manipulatora stanfordzkiego . . . . . . . . . 45 Parametry Denavita-Hartenberga dla manipulatora PUMA . . . . . . . . . . . . . 45 Parametry Denavita-Hartenberga dla manipulatora wielokorbowego . . . . . . . . 45 Parametry Denavita-Hartenberga dla manipulatora wielokorbowego z zadanymi parametrami geometr Parametry Denavita-Hartenberga dla manipulatora wielokorbowego przy założeniu że człony 4 i 5 sa˛ z v