Wstęp do Robotyki c W. Szynkiewicz, 29 1 Jakobiany Kinematykę we współrzędnych możemy potraktować jako operator przekształcający funkcje czasu ( t )z(t)=k(x(t)) Ponieważ funkcje w powyższym równaniu są różniczkowalne, to ż(t)= k x (x(t))ẋ(t) zwane równaniem kinematyki różniczkowej(kinematyki na prędkości). Macierz Jacobiego(w robotyce zwana jakobianem) J A (x)= k x (x) nazywamy jakobianem analitycznym manipulatora. Równanie kinematyki różniczkowej można zapisać jako ż=j A (x)ẋ Postać jakobianu analitycznego zależy od wyboru układu współrzędnych(parametryzacji) dla określenia odwzorowania k. Wstęp do Robotyki c W. Szynkiewicz, 29 2 Przykład 1: Jakobian analityczny dla płaskiego manipulatora 3R. Kinematyka tego manipulatora we współrzędnych ma postać L 1 c 1 +L 2 c 12 z= z 1 z 2 z 3 = L 1 s 1 +L 2 s 12 x 1 +x 2 +x 3 Bezpośrednio różniczkując prawą stronę powyższego równania obliczamy jakobian analityczny dla tego manipulatora L 1 s 1 L 2 s 12 L 2 s 12 J A (x)= L 1 c 1 +L 2 c 12 L 2 c 12 1 1 1
Wstęp do Robotyki c W. Szynkiewicz, 29 3 Jakobian manipulatora można zdefiniować bez odwoływania się do układów współrzędnych. Wprowadza się pojęcie jakobianu geometrycznego rozumianego jako przekształcenie prędkości ruchu w przegubach w wektor prędkości końcówki manipulatora w przestrzeni ν ω =J(q) q gdzieν=[ν 1,ν 2,ν 3 ] T wektorprędkościliniowej,ω=[ω 1,ω 2,ω 3 ] T wektorprędkościkątowejkońcówki, aq=[q 1,...,q n ] T wektorwspółrzędnychkonfiguracyjnych. Występuje, ponadto pojęcie jakobianu manipulatora rozumianego jako przekształcenie prędkości ruchu w przegubach w wektor prędkości końcówki manipulatora w układzie bazowym robota nṗ ω =JM (q) q Związek między jakobianem geometrycznym a jakobianem manipulatora jest następujący J M ((q))= I 3 n [p ] I J(q) 3 np z n p y gdzie[p ]= np z np x jestmacierząskośniesymetrycznąstowarzyszonązwektorem np,który np y n p x opisuje położenie końcówki w układzie bazowym. Wstęp do Robotyki c W. Szynkiewicz, 29 4 Przestrzeń robocza manipulatora Przestrzeń robocza manipulatora jest to zbiór punktów, które końcówka robocza może osiągnąć. Aby istniało rozwiązanie OZK zadany punkt docelowy dla końcówki musi należeć do przestrzeni roboczej. Można wyróżnić dwa rodzaje przestrzeni roboczej: manipulacyjna przestrzeń robocza jest to część przestrzeni roboczej, którą końcówka robocza może osiągnąć z dowolną orientacją, osiągalna przestrzeń robocza jest to część przestrzeni roboczej, którą końcówka robocza może osiągnąć z co najmniej jedną orientacją. Przykład 2: Przestrzeń robocza dla płaskiego manipulatora 2R: 2 L +L 1 2 L L 1-2 y 1 L 1 x L 2
Wstęp do Robotyki c W. Szynkiewicz, 29 5 Odwrotne zadanie kinematyki(ozk) manipulatora Odwrotne zadanie kinematyki: Mając dane położenie i orientację efektora manipulatora w układzie bazowym należy znaleźć odpowiadające im współrzędne przegubowe(konfiguracyjne). Dla danego manipulatora o n stopniach swobody z przestrzenią przegubową Q oraz przestrzenią zadaniową Z SE(3) odwrotne zadanie kinematyki można wyrazić symbolicznie jako k 1 : SE(3) Z z q=k 1 (z) Q (1) Jednakże,odwzorowanieodwrotnek 1 możenieistniećlubbyćniejednoznacznieokreślone. Rozwiązanie odwrotnego zadania kinematyki: Dane są wartości liczbowe elementów macierzy przekształcenia jednorodnego H H= opisujących położenie i orientację końcówki w układzie bazowym związanym z nieruchomą podstawą robota. Należy znaleźć rozwiązanie(jedno lub wszystkie) równania macierzowego R d 1 równanie to daje 12 nieliniowych równań z n niewiadomymi nt(q 1,...,q n )=H (2) t ij (q 1,...,q n )=h ij ; i=1,2,3; j=1,2,3,4 gdziet ij orazh ij 12nietrywialnychelementówmacierzy ntih. Wstęp do Robotyki c W. Szynkiewicz, 29 6 Wartośća i Liczbarozwiązań a 1 =a 3 =a 5 = 4 a 3 =a 5 = 8 va 3 = 16 a i 16 Istnienie rozwiązania OZK: Dlarobotao6stopniachswobodymamy6niewiadomychoraz12równań.Jednaktylko3równaniaz 9 wynikających z porównania elementów macierzy orientacji jest niezależnych, mamy zatem układ 6 równań z 6 niewiadomymi. Równania te są nieliniowe i przestępne. Brak jest ogólnych metod rozwiązywania układów równań nieliniowych. Może istnieć wiele rozwiązań dla danego położenia i orientacji(rozwiązania wielokrotne). W szczególnych przypadkach(w punktach osobliwych) może być nieskończenie wiele rozwiązań. Liczba rozwiązań zależy od liczby przegubów, wartości parametrów D-H i dopuszczalnych zakresów ruchu w przegubach. Na ogół im więcej niezerowych parametrów D-H tym więcej rozwiązań. Przykładowo dla robota 6R zależnośćliczbyrozwiązańodparametrua i jestnastępująca:
Wstęp do Robotyki c W. Szynkiewicz, 29 7 Strategie rozwiązywania OZK: rozwiązania w postaci jawnej rozwiązania numeryczne(iteracyjne) Wyróżnia się dwa podstawowe podejścia do rozwiązania OZK w postaci jawnej: metody algebraiczne metody geometryczne Przykład 3: Rozwiązać OZK dla płaskiego manipulatora trójczłonowego pokazanego na rys.1. y 2 y 3 x 3 y 1 y L 1 L 2 2 3 x 1 x 2 {} 1 x Rysunek 1: Manipulator płaski typu 3R Wstęp do Robotyki c W. Szynkiewicz, 29 8 Rozwiązanie PZK dla manipulatora płaskiego typu 3R: 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 1 Rozwiązanie algebraiczne OZK Zadaną pozycję końcówki manipulatora można zapisać w postaci macierzy H= c ϕ s ϕ x s ϕ c ϕ y 1 1 (3) (4) Porównującprawestronyrównań(3)i(4)otrzymujemyukład4równańz3niewiadomymiθ 1,θ 2,θ 3 : c ϕ =c 123 (5) s ϕ =s 123 (6) x=l 1 c 1 +L 2 c 12 (7) y=l 1 s 1 +L 2 s 12 (8)
Wstęp do Robotyki c W. Szynkiewicz, 29 9 Podnosimy do kwadratu równania(7) i(8) i dodajemy stronami stąd x 2 +y 2 =L 2 1+L 2 2+2L 1 L 2 c 2 (9) c 2 = x2 +y 2 L 2 1 L 2 2 2L 1 L 2 (1) Prawa strona równania(1) musi zawierać się w przedziale[ 1, 1], aby punkt docelowy należał do przestrzeni roboczej, wtedy s 2 =± 1 c 2 (11) Kątθ 2 obliczamyjako Mającobliczoneθ 2 możnarozwiązać(7)i(8)względemθ 1 : gdzie θ 2 =atan2(s 2,c 2 ) (12) x=m 1 c 1 m 2 s 1 (13) y=m 1 s 1 +m 2 c 1 (14) m 1 =L 1 +L 2 c 2 m 2 =L 2 s 2 Wstęp do Robotyki c W. Szynkiewicz, 29 1 Dokonujemy zamiany zmiennych r=+ m 2 1+m 2 (15) γ=atan2(m 2,m 1 ) (16) tom 1 =rcosγ,m 2 =rsinγ.równania(13)i(14)możnazapisaćjako x r =cosγcosθ 1 sinγsinθ 1 (17) y r =cosγsinθ 1+sinγcosθ 1 (18) lub cos(γ+θ 1 )= x r sin(γ+θ 1 )= y r (19) (2) stąd czyli γ+θ 1 =atan2( y r,x )=atan2(y,x) (21) r θ 1 =atan2(y,x) atan2(m 2,m 1 ) (22) Jeślix=y=to(22)stajesięnieokreśloneiθ 1 możeprzyjąćdowolnąwartość. Ostatecznie z(5) i(6) można znaleźć θ 1 +θ 2 +θ 3 =atan2(s ϕ,c ϕ )=ϕ
Wstęp do Robotyki c W. Szynkiewicz, 29 11 stąd θ 3 =ϕ θ 1 θ 2 (23) Rozwiązanie geometryczne: y y L 2 O 3 L 1 O 1 {} x x Rysunek 2: Rozwiązanie geometryczne OZK dla płaskiego manipulatora 3R Kątα=π ( θ 2 )=π+θ 2.Ztwierdzeniakosinusówobliczamyθ 2 ponieważcos(π+θ 2 )= cosθ 2,mamy x 2 +y 2 =L 2 1+L 2 2 2L 1 L 2 cos(π+θ 2 ) cosθ 2 =c 2 = x2 +y 2 L 2 1 L 2 2 2L 1 L 2 Wstęp do Robotyki c W. Szynkiewicz, 29 12 s 2 =± 1 c 2 stądθ 2 θ 2 =atan2(s 2,c 2 ) Drugierozwiązaniejestdlaθ 2= θ 2. Abywyznaczyćθ 1 należywyznaczyćkątyβiψ Stosując powtórnie twierdzenie kosinusów obliczamy β=atan2(y,x) cosψ= x2 +y 2 +L 2 1 L 2 2 2L 1 x2 +y 2 gdziearccos()musibyćtakieabydla ψ πzachowaćrelacjegeometryczne.kątθ 1 θ 1 = β+ψ gdyθ 2 < β ψ gdyθ 2 > Kątθ 3 obliczamy θ 1 +θ 2 +θ 3 =ϕ θ 3 =ϕ θ 1 θ 2