Wstęp do Robotyki c W. Szynkiewicz, 29 1 Podstawowe pojęcia: Kinematyka manipulatorów robotów Ogniwo(człon, ramię) bryła sztywna(zbiór punktów materialnych, których wzajemne położenie jest stałe). Przegub(złącze) ruchome połączenie dwóch ogniw; podstawowe typy przegubów: obrotowy (rotacyjny) R, przesuwny(translacyjny) P, sferyczny(kulowy), cylindryczny, śrubowy, itd. Para kinematyczna dwa człony połączone przegubem. W robotach najczęściej są pary kinematyczne V klasy, tzn. takie, które mają jeden stopień swobody w przegubie. Spełniają ten warunek przegub przesuwny(p) i rotacyjny(r). Łańcuch kinematyczny zespół ogniw połączonych przegubami. Łańcuch może być otwarty albo zamknięty(zawiera pętle kinematyczne). Manipulator łańcuch sztywnych ogniw połączonych przegubami, mechanizm wieloczłonowy. Liczba stopni swobody manipulatora zazwyczaj jest liczba przegubów(liczba niezależnych napędów), jest to także najmniejsza liczba współrzędnych jednoznacznie opisująca konfigurację manipulatora. Zwykle manipulator ma sześć stopni swobody. Manipulatory mające więcej niż sześć stopni swobody nazywane są manipulatorami redundantnymi. Struktura kinematyczna manipulatora struktura szeregowa, struktura równoległa, struktura szeregowo-równoległa. Wstęp do Robotyki c W. Szynkiewicz, 29 2 Struktura geometryczna manipulatora typ geometrii trzech głównych(początkowych od podstawy robota) ogniw: stawowy, sferyczny, SCARA, cylindryczny, kartezjański. Kiść i końcówka robocza kiść(zazwyczaj 2-3 ostatnie przeguby manipulatora), najczęściej jest to tzw. kiść sferyczna, końcówka robocza narzędzie, np. chwytak, końcówka spawalnicza, pistolet lakierniczy, itp. Napędy manipulatora napędy elektryczne, hydrauliczne, pneumatyczne. Więzy kinematyczne(ruchu) więzy holonomicznie(zmniejszają liczbę zmiennych konfiguracyjnych liczbę stopni swobody) oraz więzy nieholonomiczne(ograniczenia na dopuszczalne prędkości w sensie kierunków i długości wektorów). Przykładowe końcówki chwytaki
Wstęp do Robotyki c W. Szynkiewicz, 29 3 Koñcówka (efektor) Cz³on Przegub Narzêdzie Manipulator z przegubami obrotowymi Wstęp do Robotyki c W. Szynkiewicz, 29 4 Przykładowe manipulatory robotów przemysłowych
Wstęp do Robotyki c W. Szynkiewicz, 29 5 Przegub przesuwny(p) Przegub obrotowy(r) Przegub sferyczny Oznaczenia graficzne przegubu obrotowego i przesuwnego Wstęp do Robotyki c W. Szynkiewicz, 29 6 Manipulator stawowy(abb IRB14) Przekroje przestrzeni roboczej manipulatora stawowego
Wstęp do Robotyki c W. Szynkiewicz, 29 7 Manipulator SCARA(Selective Compliant Articulated Robot for Assembly)(Adept One) Manipulator sferyczny(stanford Arm) Wstęp do Robotyki c W. Szynkiewicz, 29 8 Manipulator cylindryczny(seiko RT33) Manipulator kartezjański(epson)
Wstęp do Robotyki c W. Szynkiewicz, 29 9 Przestrzenie robocze manipulatorów: a) sferyczny, b) SCARA, c) cylindryczny, d) kartezjański Wstęp do Robotyki c W. Szynkiewicz, 29 1 (a) (b) (c) (d) (e) Manipulatory: a) sferyczny, b) cylindryczny, c) kartezjański, d) SCARA, e) stawowy
Wstęp do Robotyki c W. Szynkiewicz, 29 11 Robot Konstrukcja Osie Struktura kinematyczna Przestrzeñ robocza Przyk³ad Typ Kartezjañski PPP Cylindryczny RPP Sferyczny RRP SCARA RRP Stawowy RRR Równoleg³y Zestawienie struktur kinematycznych manipulatorów Wstęp do Robotyki c W. Szynkiewicz, 29 12 Układ jest opisany współrzędnymi uogólnionymi Opis kinematyczny układu robotycznego q=[q 1,q 2,...,q N ] T R N należącymi do pewnego zbioru zwanego uniwersum konfiguracyjnym lub przestrzenią konfiguracyjną. Prędkości uogólnione q=[ q 1, q 2,..., q N ] T R N Przestrzeń R N R N = R 2N położeńiprędkościuogólnionychjestnazywanauniwersumfazowym(jeśli ruch nie podlega ograniczeniom jest to przestrzeń fazowa lub przestrzeń stanu). Więzy ruchu: Wzajemne związki między elementami układu, a także z otoczeniem opisuje się w postaci ograniczeń (więzów) konfiguracyjnych f(q)=[f 1 (q),f 2 (q),...,f k (q)] T = (1) oraz ograniczeń(więzów) fazowych A(q) q = (postać Pfaffa) (2)
Wstęp do Robotyki c W. Szynkiewicz, 29 13 Zakładamy,żeliczbawięzówkonfiguracyjnychjestk N,zaśfunkcjef 1,f 2,...,f k,sągładkieiniezależne: f(q)= rank f(q) q =k (pełnyrząd) (3) oraz,żemacierza(q)marozmiarl N,l N,jejelementya ij (q)sągładkimifunkcjamiimacierzma pełny rząd ranka(q)=l (4) Jeśli nie ma ograniczeń fazowych(l = ), to k niezależnych ograniczeń konfiguracyjnych określa rozmaitość konfiguracyjną Q= { q R N :f 1 (q)=f 2 (q)=...=f k (q)= } (5) układu,którejwymiardimq=n k=n(gdzienjestliczbąstopniswobodyukładu).ruchukładujest ograniczonydorozmaitościq R N. Jeśli ograniczenia fazowe są holonomiczne tzn. można je scałkować i doprowadzić do postaci ograniczeń konfiguracyjnych h(q)=[h 1 (q),h 2 (q),...,h l (q)] T = (6) wtedy prowadzi to do dalszego ograniczenia dopuszczalnych konfiguracji układu, gdyż ograniczenia holonomiczne są ograniczeniami konfiguracyjnymi. Wstęp do Robotyki c W. Szynkiewicz, 29 14 Kinematyką układu holonomicznego nazywamy odwzorowanie: gdzie Z jest przestrzenią zadaniową lub rozmaitością zadaniową. K:Q q z Z, z=k(q) (7) Odwzorowanie K( ) określa macierz opisującą położenie i orientację efektora(końcówki) manipulatora w funkcji położeń współrzędnych przegubowych manipulatora. Kinematyka nie zawsze jest dana w sposób jawny, może też być wyrażona w postaci uwikłanej za pośrednictwem ograniczeń konfiguracyjnych f(z,q)= Ograniczeń nieholonomicznych nie można scałkować, a ich występowanie nie zmniejsza osiągalności konfiguracji, a jedynie może utrudniać sposób osiągania pewnych konfiguracji. Załóżmy,żeukładniepodlegawięzomkonfiguracyjnym(tj.k=,n=N),wówczasz(2)wynika,że q R N dopuszczalneprędkościmusząnależećdoprzestrzenizerowej(jądra)macierzya(q) q KerA(q) (8) NiechG(q)=[g 1 (q),g 2 (q),...,g n l (q)]będziemacierzą,którejwektorykolumnowerozpinająprzestrzeń liniową Ker A(q) w konfiguracji q. Z niezależności ograniczeń fazowych wynika, że w każdym punkcie rząd macierzy G(q) jest pełny, rankg(q)=n l=m (9)
Wstęp do Robotyki c W. Szynkiewicz, 29 15 zaśwłasność(8)jestrównoważnaistnieniuwektorau R m (należącegodopewnejprzestrzenisterowań), takiego że q=g(q)u= m g i (q)u i (1) W pewnym otoczeniu punktu q więzy fazowe można wyrazić gdziea 2 (q)jestrozmiarul limapełnyrząd. I N l i=1 [A 1 (q)a 2 (q)] q=, (11) [ A 1 2 (q)a 1 (q) I l ] q=[w(q) Il ] q=, codajemacierzg(q)= W(q),dzielącwspółrzędneuogólnionenadwiegrupyq=[ q 1T,q 2T] T,gdzie dimq 1 =N l=m, dimq 2 =liwówczaskinematykaukładumapostać q 1 =u, q 2 =W(q)u (12) Wstęp do Robotyki c W. Szynkiewicz, 29 16 ' 3 4 3 2 z 1 x 2 y 3 x 1 x 3 ' 42 z 5 Uk³ad koñcówki 5 z 6 x x 4 5 x 6 z i - wspó³rzêdna przegubowa y x Uk³ad bazowy Rysunek 1: Układy związane z manipulatorem
Wstęp do Robotyki c W. Szynkiewicz, 29 17 Założenia: Proste zadanie kinematyki dla manipulatora 1. Manipulator składa się z ogniw(członów) sztywnych połączonych sztywnymi przegubami. 2. Ogniwa połączone przegubem tworzą parę kinematyczną V klasy, czyli zakładamy, że przegub ma jeden stopień swobody. 3. Człony numerowane są od nieruchomej podstawy(człon i = ), pierwszy człon ruchomy ma numer i=1,ażdoostatniegoczłonuonumerzei=n. 4. Z każdym członem na sztywno związany jest układ współrzędnych. Notacja Denavita-Hartenberga(D-H)(zmodyfikowana): Do opisu kinematyki stosuje się tzw. parametry D-H. Dla członu i podaje się wartości czterech parametrów (dwa pierwsze opisują sam człon, dwa kolejne połączenie z sąsiednim członem): a i 1 długośćczłonu(stała), α i 1 skręcenieczłonu(stała), d i odsunięcieprzegubu(staładlaprzegubutypur,zmiennadlaprzegubutypup), θ i kątprzegubu(staładlaprzegubutypup,zmiennadlaprzegubutypur). Wstęp do Robotyki c W. Szynkiewicz, 29 18 Rysunek 2: Parametry Denavita-Hartenberga Wtejkonwencjiprzekształcenieopisująceukład{i 1}względemukładu{i},czylimacierz i 1 i Tjest złożeniem czterech elementarnych przekształceń(obrotów i przesunięć) i 1 i T=Rot x,αi 1 Trans x,ai 1 Rot z,θi Trans z,di = 1 cα i 1 sα i 1 sα i 1 cα i 1 1 a i 1 1 1 cθ i sθ i sθ i cθ i 1 1 1 1 d i (13)
Wstęp do Robotyki c W. Szynkiewicz, 29 19 przy czym Rot(oś, kąt) = R(oś,kąt) T 1 ; Trans(oś,przesunięcie)= I 3 przesunięcie os T 1 Położenie początków układów oraz ich osi nie są dowolne, lecz spełniają dwa dodatkowe założenia: Z1:Ośx i jestprostopadładoosiz i 1. Z2:Ośx i przecinaośz i 1. Kroki rozwiązania prostego zadania kinematyki manipulatora szeregowego: 1.Przyjmujemyzasadę,żea =a n =iα =α n =.Parametryd i orazθ i sądobrzeokreślone dlaprzegubówod2don 1.Jeśliprzegub1jestobrotowy/posuwisty,tomożnaprzyjąćdowolne położeniezerowedlaθ 1 /d i,ad 1 =/θ 1 =.Taksamopostępujemywprzypadkuczłonun. 2. Związujemy sztywno z członem i układ współrzędnych i. Po związaniu z każdym członem układu współrzędnych parametry D-H można zdefiniować następująco: a i 1 odległośćosiz i 1 odosiz i mierzonawzdłużosix i 1, α i 1 kątmiędzyosiamiz i 1 iz i mierzonywokółosix i 1, d i odległośćosix i 1 odosix i mierzonawzdłużosiz i, θ i kątmiędzyosiamix i 1 ix i mierzonywokółosiz i, Wstęp do Robotyki c W. Szynkiewicz, 29 2 3.Należyznaleźćprzekształcenieopisująceukład{i}względemukładu{i 1},czylimacierz i 1 i T i 1 i T(q i )=Rot x,αi 1 Trans x,ai 1 Rot z,θi Trans z,di, (14) gdziedlaprzegubuobrotowegozmiennaprzegubowaq i =θ i,adlaprzegubuposuwistegoq i =d i. 4.Ostatecznapostaćmacierzy i 1 i T jest następująca: i 1 i T(q i )= cθ i sθ i a i 1 sθ i cα i 1 cθ i cα i 1 sα i 1 sα i 1 d i sθ i sα i 1 cθ i sα i 1 cα i 1 cα i 1 d i, (15) 5. Kinematyka manipulatora opisuje położenie i orientację układu efektora względem układu bazowego i jest dana jako złożenie operacji(15): K(q)= n i=1 i 1 i T(q i )= nr(q) np(q) 1 = nt, (16) gdzie nrjestmacierząobrotu,zaś npwektoremprzesunięciaopisująceukład{n}związanyzefektorem w układzie bazowym{}. Uwaga: Istnieje inna wersja notacji Denavita-Hartenberga, różniąca się numeracją układów przypisanych osiomprzegubów zosiąprzegubuijestzwiązanyukład{i 1}(anie{i}jakprzyjętopowyżej).
Wstęp do Robotyki c W. Szynkiewicz, 29 21 Rysunek 3: Manipulator robota Puma Wstęp do Robotyki c W. Szynkiewicz, 29 22 Algorytm rozwiązywania prostego zadania kinematyki wykorzystującego notację D-H: 1.Umieśćioznaczosieprzegubówz 1,...,z n. 2. Przyjmij bazowy układ współrzędnych{}, tak aby dla zerowej wartości współrzędnej konfiguracyjnej osieukładów{}oraz{1}pokrywałysię.dlai=1,...,2wykonajkrokiod3do8. 3.UmieśćpoczątekukładuO i wpunkcieprzecięciaosiz i przezwspólnąnormalnądoosiz i orazz i+1 lub wpunkcieprzecięciaosiz i orazz i+1 gdyosieteprzecinająsię. 4.Wybierzośx i wzdłużprostejnormalnejdoosiz i orazz i+1 lubwkierunkunormalnejdopłaszczyzny obutychosigdyosiez i iz i+1 przecinająsię. 5.Wybierzośy i takabyukładbyłprawoskrętny. 6. Wybierz takie usytuowanie układu{n} aby spowodować zerowanie się jak największej liczby parametrów. 7.UtwórztabelęparametrówD-H(a i 1,α i 1,d i,θ i ). 8.Zbudujmacierzeprzekształceniajednorodnego i 1 i T wstawiając parametry do równania(15) 9.Obliczmacierz nt= 1T 1 2T... n 1 n T
Wstęp do Robotyki c W. Szynkiewicz, 29 23 Przykład 1: Rozwiązać proste zadanie kinematyki dla płaskiego manipulatora trójczłonowego pokazanego na rys.4. y 2 y 3 x 3 y 1 y L 1 L 2 2 3 x 1 x 2 {} 1 x Rysunek 4: Manipulator płaski typu 3R Tabela 1: Tablica parametrów Denavita-Hartenberga dla płaskiego manipulatora 3R i α i 1 a i 1 d i θ i 1 θ 1 2 L 1 θ 2 3 L 2 θ 3 Wstęp do Robotyki c W. Szynkiewicz, 29 24 1T= c 1 s 1 s 1 c 1 1 1 2T= c 2 s 2 L 1 s 2 c 2 1 Rozwiązaniem prostego zadania kinematyki jest macierz Funkcje trygonometryczne sumy i różnicy kątów: 3T= 1T 1 2T 2 3T Rozwiązanie PZK dla manipulatora płaskiego typu 3R: 2 3T= c 3 s 3 L 2 s 3 c 3 1 cos(θ 1 +θ 2 )=c 12 =c 1 c 2 s 1 s 2 (17) sin(θ 1 +θ 2 )=s 12 =c 1 s 2 +s 1 c 2 (18) cos(θ 1 θ 2 )=c 1 c 2 +s 1 s 2 (19) 3T= sin(θ 1 θ 2 )=s 1 c 2 c 1 s 2 (2) c 123 s 123 L 1 c 1 +L 2 c 12 s 123 c 123 L 1 s 1 +L 2 s 12 1 (21)
Wstęp do Robotyki c W. Szynkiewicz, 29 25 Przykład 2: Manipulator przestrzenny typu 3R(rys). Obliczyć pozycję układu{4} związanego z końcówka w układzie bazowym{}: x 4 y 4 l 3 x 3 3 y 2 z, 1 l2 x 2 x, 1 y 3 Tabela 2: Tablica parametrów Denavita-Hartenberga(D-H) dla manipulatora przestrzennego typu 3R i α i 1 a i 1 d i θ i 1 θ 1 2 9 θ 2 3 l 2 θ 3 4 l 3 Wstęp do Robotyki c W. Szynkiewicz, 29 26 1T= c 1 s 1 s 1 c 1 1 1 2T= c 2 s 2 a 1 1 s 2 c 2 2 3T= c 3 s 3 l 2 s 3 c 3 1 3 4T= 1 l 3 1 1 Rozwiązaniem prostego zadania kinematyki jest macierz wynikowa 4T= 1T 1 2T 2 3T 3 4T Rozwiązanie PZK dla manipulatora przestrzennego typu 3R: 4T= c 1 c 23 c 1 s 23 s 1 l 2 c 1 c 2 +l 3 c 1 c 23 s 1 c 23 s 1 s 23 c 1 l 2 s 1 c 2 +l 3 s 1 c 23 s 23 c 23 l 2 s 2 +l 3 s 23 (22)
Wstęp do Robotyki c W. Szynkiewicz, 29 27 Kinematyka we współrzędnych OdwzorowanieK(q)= n i 1 i T(q i )= ntjestokreślonemiędzyrozmaitościamiprzegubowąqazadaniową i=1 Z. Można używając naturalnych współrzędnych ϕ U :U Q R n na rozmaitości przegubowej oraz wybierając określoną parametryzację ψ V :V R m Z rozmaitości zadaniowej można otrzymać reprezentację kinematyki we współrzędnych k : R n R m, z=k(x)=[k 1 (x),...,k m (x)] T zapewniającą przemienność diagramu czyli spełniającą warunek Q K Z ϕ U U K U Z ψ V R n k V R m K U =ψ V k ϕ U (23) Wstęp do Robotyki c W. Szynkiewicz, 29 28 WyznaczeniekinematykiwewspółrzędnychpoleganafaktoryzacjiK U iwyznaczeniujejjakozłożenia trzechodwzorowań.lokalnie,oobszarzeodwracalnościodwzorowańψ V,ϕ U,reprezentacjękmożna obliczyć jako k=ψ 1 V K U ϕ 1 U Współrzędne x współrzędne konfiguracyjne lub przegubowe, współrzędne z współrzędne zadaniowe. Przykład 3: Rozwiązanie prostego zadania kinematyki we współrzędnych dla płaskiego manipulatora 3R pokazanego na rys.4. Przyjmujemyjakowspółrzędnekonfiguracyjnex=[x 1,x 2,x 3 ] T kątyobrotuwprzegubachmanipulatora, które jednoznacznie opisują jego pozycję. Pozycjekońcówkimanipulatoraodpowiadająpunktompłaszczyznyx y,zatemdoopisupołożeniai orientacjikońcówkiwykorzystamygrupęeuklidesową SO(2) = R 2 S 1,którastanowirozmaitośćzadaniową Z.Jakowspółrzędnezadaniowemożnawybraćpołożeniewzdłużosix orazy iorientacjęϕokreśloną przezkątobrotuwokółosiz : z 1 =x z 2 =y z 3 =ϕ
Wstęp do Robotyki c W. Szynkiewicz, 29 29 Dla wybranych współrzędnych definiujemy przekształcenie Trans x,z1 Trans y,z2 Rot z,z3 = cosz 3 sinz 3 z 1 sinz 3 cosz 3 z 2 Porównując powyższe wyrażenie z kinematyką K daną równaniem(21), czyli 3T= c 123 s 123 L 1 c 1 +L 2 c 12 s 123 c 123 L 1 s 1 +L 2 s 12 1 otrzymujemy kinematykę manipulatora we aspekcie wybranych współrzędnych z= z 1 z 2 z 3 =k(x)= L 1 c 1 +L 2 c 12 L 1 s 1 +L 2 s 12 x 1 +x 2 +x 3