kinematyka manipulatorów robotów - elka.pwelka.pw/obieralne/wr/wyk/wr_cz4.pdf ·...

15
Wstęp do Robotyki – c W. Szynkiewicz, 2009 1 Kinematyka manipulatorów robotów Podstawowe pojęcia: 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, 2009 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

Upload: doanmien

Post on 01-Mar-2019

248 views

Category:

Documents


1 download

TRANSCRIPT

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 1

Kinematyka manipulatorów robotów

Podstawowe pojęcia:

• 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, 2009 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, 2009 3

PrzegubCz³on

Koñcówka(efektor)

Narzêdzie

Manipulator z przegubami obrotowymi

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 4

Przykładowe manipulatory robotów przemysłowych

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 5

Przegub przesuwny (P) Przegub obrotowy (R) Przegub sferyczny

Oznaczenia graficzne przegubu obrotowego i przesuwnego

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 6

Manipulator stawowy (ABB IRB1400)

Przekroje przestrzeni roboczej manipulatora stawowego

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 7

Manipulator SCARA (Selective Compliant Articulated Robot for Assembly) (Adept One)

Manipulator sferyczny (Stanford Arm)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 8

Manipulator cylindryczny (Seiko RT3300)

Manipulator kartezjański (Epson)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 9

Przestrzenie robocze manipulatorów: a) sferyczny, b) SCARA, c) cylindryczny, d) kartezjański

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 10

(a)

(b)

(c)

(e)

(d)

Manipulatory: a) sferyczny, b) cylindryczny, c) kartezjański, d) SCARA, e) stawowy

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 11

Zestawieniestrukturkinematycznychmanipulatorów

Ro

bo

tK

on

stru

kcja

Osie

Stru

ktu

rakin

em

aty

czn

a

Prz

estrz

rob

ocza

Prz

yk³a

dTyp

Karte

zja

ñski

PP

P

Cylin

dry

czny

RP

P

Sfe

ryczny

RR

P

SC

AR

AR

RP

Sta

wow

yR

RR

Rów

nole

g³y

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 12

Opis kinematyczny układu robotycznego

Układ jest opisany współrzędnymi uogólnionymi

q = [q1, q2, . . . , qN ]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ń RN × RN ∼= R2N położeń i prędkości uogólnionych jest nazywana uniwersum fazowym (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) = [f1(q), f2(q), . . . , fk(q)]T = 0 (1)

oraz ograniczeń (więzów) fazowych

A(q)q̇ = 0 (postać Pfaffa) (2)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 13

Zakładamy, że liczba więzów konfiguracyjnych jest k 6 N , zaś funkcje f1, f2, . . . , fk, są gładkie i niezależne:

f (q) = 0 ⇒ rank∂f (q)

∂q= k (pełny rząd) (3)

oraz, że macierz A(q) ma rozmiar l ×N, l 6 N , jej elementy aij(q) są gładkimi funkcjami i macierz ma

pełny rząd

rankA(q) = l (4)

Jeśli nie ma ograniczeń fazowych (l = 0), to k niezależnych ograniczeń konfiguracyjnych określa rozmaitość

konfiguracyjną

Q ={

q ∈ RN : f1(q) = f2(q) = . . . = fk(q) = 0

}

(5)

układu, której wymiar dimQ = N − k = n (gdzie n jest liczbą stopni swobody układu). Ruch układu jest

ograniczony do rozmaitości Q ⊂ RN .

Jeśli ograniczenia fazowe są holonomiczne tzn. można je scałkować i doprowadzić do postaci ograniczeń

konfiguracyjnych

h(q) = [h1(q), h2(q), . . . , hl(q)]T = 0 (6)

wtedy prowadzi to do dalszego ograniczenia dopuszczalnych konfiguracji układu, gdyż ograniczenia

holonomiczne są ograniczeniami konfiguracyjnymi.

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 14

Kinematyką układu holonomicznego nazywamy odwzorowanie:

K : Q ∋ q −→ z ∈ Z, z = K(q) (7)

gdzie Z jest przestrzenią zadaniową lub rozmaitością zadaniową.

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) = 0

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, że układ nie podlega więzom konfiguracyjnym (tj. k = 0, n = N), wówczas z (2) wynika, że

∀q ∈ RN dopuszczalne prędkości muszą należeć do przestrzeni zerowej (jądra) macierzy A(q)

q̇ ∈ KerA(q) (8)

Niech G(q) = [g1(q), g2(q), . . . , gn−l(q)] będzie macierzą, której wektory kolumnowe rozpinają przestrzeń

liniową KerA(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, 2009 15

zaś własność (8) jest równoważna istnieniu wektora u ∈ Rm (należącego do pewnej przestrzeni sterowań),

takiego że

q̇ = G(q)u =m∑

i=1gi(q)ui (10)

W pewnym otoczeniu punktu q więzy fazowe można wyrazić

[A1(q)A2(q)] q̇ = 0, (11)

gdzie A2(q) jest rozmiaru l × l i ma pełny rząd.[

A−12 (q)A1(q) Il

]

q̇ = [W(q) Il] q̇ = 0,

co daje macierz G(q) =

IN−l

W(q)

, dzieląc współrzędne uogólnione na dwie grupy q =[

q1T , q2T]T, gdzie

dim q1 = N − l = m, dim q2 = l i wówczas kinematyka układu ma postać

q̇1 = u, q̇2 =W(q)u (12)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 16

x

x

x

z

x

x

y

x

y

z

x

z

z

q

q

q

q1

qi

q

q

q

3

3

2

42

4

0

0

0

1

2

3

3

5

5

5

4

6

6

1

'

'

Uk³ad bazowy

Uk³adkoñcówki

- ³rzêdna przegubowawspó

Rysunek 1: Układy związane z manipulatorem

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 17

Proste zadanie kinematyki dla manipulatora

Założenia:

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 = 0), pierwszy człon ruchomy ma numer

i = 1, aż do ostatniego członu o numerze i = 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):

• ai−1 – długość członu (stała),

• αi−1 – skręcenie członu (stała),

• di – odsunięcie przegubu (stała dla przegubu typu R, zmienna dla przegubu typu P),

• θi – kąt przegubu (stała dla przegubu typu P, zmienna dla przegubu typu R).

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 18

Rysunek 2: Parametry Denavita-Hartenberga

W tej konwencji przekształcenie opisujące układ {i− 1} względem układu {i}, czyli macierz i−1i T jest

złożeniem czterech elementarnych przekształceń (obrotów i przesunięć)

i−1i T = Rotx,αi−1Transx,ai−1Rotz,θiTransz,di =

1 0 0 0

0 cαi−1 −sαi−1 0

0 sαi−1 cαi−1 0

0 0 0 1

1 0 0 ai−1

0 1 0 0

0 0 1 0

0 0 0 1

cθi −sθi 0 0

sθi cθi 0 0

0 0 1 0

0 0 0 1

1 0 0 0

0 1 0 0

0 0 1 di

0 0 0 1

(13)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 19

przy czym

Rot(oś, kąt) =

R(oś, kąt) 0

0T 1

; Trans(oś, przesunięcie) =

I3 przesunięcie · os

0T 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ś xi jest prostopadła do osi zi−1.

Z2: Oś xi przecina oś zi−1.

Kroki rozwiązania prostego zadania kinematyki manipulatora szeregowego:

1. Przyjmujemy zasadę, że a0 = an = 0 i α0 = αn = 0. Parametry di oraz θi są dobrze określone

dla przegubów od 2 do n− 1. Jeśli przegub 1 jest obrotowy/posuwisty, to można przyjąć dowolne

położenie zerowe dla θ1/di, a d1 = 0/θ1 = 0. Tak samo postępujemy w przypadku członu n.

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:

• ai−1 – odległość osi zi−1 od osi zi mierzona wzdłuż osi xi−1,

• αi−1 – kąt między osiami zi−1 i zi mierzony wokół osi xi−1,

• di – odległość osi xi−1 od osi xi mierzona wzdłuż osi zi,

• θi – kąt między osiami xi−1 i xi mierzony wokół osi zi,

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 20

3. Należy znaleźć przekształcenie opisujące układ {i} względem układu {i− 1}, czyli macierz i−1i T

i−1i T (qi) = Rotx,αi−1Transx,ai−1Rotz,θiTransz,di, (14)

gdzie dla przegubu obrotowego zmienna przegubowa qi = θi, a dla przegubu posuwistego qi = di.

4. Ostateczna postać macierzy i−1i T jest następująca:

i−1i T (qi) =

cθi −sθi 0 ai−1

sθi cαi−1 cθi cαi−1 −sαi−1 −sαi−1 di

sθi sαi−1 cθi sαi−1 cαi−1 cαi−1 di

0 0 0 1

, (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−1i T (qi) =

0nR(q)

0np(q)

0 1

= 0nT, (16)

gdzie 0nR jest macierzą obrotu, zaś0np wektorem przesunięcia opisujące układ {n} związany z efektorem

w układzie bazowym {0}.

Uwaga: Istnieje inna wersja notacji Denavita-Hartenberga, różniąca się numeracją układów przypisanych

osiom przegubów – z osią przegubu i jest związany układ {i− 1} (a nie {i} jak przyjęto powyżej).

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 21

Rysunek 3: Manipulator robota Puma

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 22

Algorytm rozwiązywania prostego zadania kinematyki wykorzystującego notację D-H:

1. Umieść i oznacz osie przegubów z1, . . . , zn.

2. Przyjmij bazowy układ współrzędnych {0}, tak aby dla zerowej wartości współrzędnej konfiguracyjnej

osie układów {0} oraz {1} pokrywały się. Dla i = 1, . . . , 2 wykonaj kroki od 3 do 8.

3. Umieść początek układu Oi w punkcie przecięcia osi zi przez wspólną normalną do osi zi oraz zi+1 lub

w punkcie przecięcia osi zi oraz zi+1 gdy osie te przecinają się.

4. Wybierz oś xi wzdłuż prostej normalnej do osi zi oraz zi+1 lub w kierunku normalnej do płaszczyzny

obu tych osi gdy osie zi i zi+1 przecinają się.

5. Wybierz oś yi tak aby układ był prawoskrętny.

6. Wybierz takie usytuowanie układu {n} aby spowodować zerowanie się jak największej liczby parametrów.

7. Utwórz tabelę parametrów D-H (ai−1, αi−1, di, θi).

8. Zbuduj macierze przekształcenia jednorodnego i−1i T wstawiając parametry do równania (15)

9. Oblicz macierz 0nT =01T12T . . .

n−1n T

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 23

Przykład 1: Rozwiązać proste zadanie kinematyki dla płaskiego manipulatora trójczłonowego pokazanego na

rys.4.

y0

x0

y1

y2y3

x1

x2

L2

L1

x3

{0}

q1

q2

q3

Rysunek 4: Manipulator płaski typu 3R

Tabela 1: Tablica parametrów Denavita-Hartenberga dla płaskiego manipulatora 3R

i αi−1 ai−1 di θi

1 0 0 0 θ1

2 0 L1 0 θ2

3 0 L2 0 θ3

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 24

01T =

c1 −s1 0 0

s1 c1 0 0

0 0 1 0

0 0 0 1

12T =

c2 −s2 0 L1

s2 c2 0 0

0 0 1 0

0 0 0 1

23T =

c3 −s3 0 L2

s3 c3 0 0

0 0 1 0

0 0 0 1

Rozwiązaniem prostego zadania kinematyki jest macierz

03T =

01T12T23T

Funkcje trygonometryczne sumy i różnicy kątów:

cos(θ1 + θ2) = c12 = c1c2 − s1s2 (17)

sin(θ1 + θ2) = s12 = c1s2 + s1c2 (18)

cos(θ1 − θ2) = c1c2 + s1s2 (19)

sin(θ1 − θ2) = s1c2 − c1s2 (20)

Rozwiązanie PZK dla manipulatora płaskiego typu 3R:

03T =

c123 −s123 0 L1c1 + L2c12

s123 c123 0 L1s1 + L2s12

0 0 1 0

0 0 0 1

(21)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 25

Przykład 2: Manipulator przestrzenny typu 3R (rys). Obliczyć pozycję układu {4} związanego z końcówka

w układzie bazowym {0}:

q1

q2

q3

z0, 1y2

x0, 1

x2

x4

x3

y4

y3l2

l3

Tabela 2: Tablica parametrów Denavita-Hartenberga (D-H) dla manipulatora przestrzennego typu 3R

i αi−1 ai−1 di θi

1 0 0 0 θ1

2 90◦ 0 0 θ2

3 0 l2 0 θ3

4 0 l3 0 −

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 26

01T =

c1 −s1 0 0

s1 c1 0 0

0 0 1 0

0 0 0 1

12T =

c2 −s2 0 a1

0 0 −1 0

s2 c2 0 0

0 0 0 1

23T =

c3 −s3 0 l2

s3 c3 0 0

0 0 1 0

0 0 0 1

34T =

1 0 0 l3

0 1 0 0

0 0 1 0

0 0 0 1

Rozwiązaniem prostego zadania kinematyki jest macierz wynikowa

04T =

01T12T23T34T

Rozwiązanie PZK dla manipulatora przestrzennego typu 3R:

04T =

c1c23 −c1s23 s1 l2c1c2 + l3c1c23

s1c23 −s1s23 −c1 l2s1c2 + l3s1c23

s23 c23 0 l2s2 + l3s23

0 0 0 1

(22)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 27

Kinematyka we współrzędnych

Odwzorowanie K(q) =n∏

i=1

i−1i T (qi) =

0nT jest określone między rozmaitościami przegubową Q a zadaniową

Z . Można używając naturalnych współrzędnych

ϕU : U ⊂ Q → Rn

na rozmaitości przegubowej oraz wybierając określoną parametryzację

ψV : V ⊂ Rm → Z

rozmaitości zadaniowej można otrzymać reprezentację kinematyki we współrzędnych

k : Rn → R

m, z = k(x) = [k1(x), . . . , km(x)]T

zapewniającą przemienność diagramu

Q K−−→ Z⋃

q

UK|U−−→ Z

ϕU

ù

ø

ψV

Rnk−−→ V ⊂ Rm

czyli spełniającą warunek

K|U = ψV ◦ k ◦ ϕU (23)

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 28

Wyznaczenie kinematyki we współrzędnych polega na faktoryzacji K|U i wyznaczeniu jej jako złożenia

trzech odwzorowań. Lokalnie, o obszarze odwracalności odwzorowań ψV , ϕU , reprezentację k można

obliczyć jako

k = ψ−1V ◦K|U ◦ ϕ−1U

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.

Przyjmujemy jako współrzędne konfiguracyjne x = [x1, x2, x3]T kąty obrotu w przegubach manipulatora,

które jednoznacznie opisują jego pozycję.

Pozycje końcówki manipulatora odpowiadają punktom płaszczyzny x0y0, zatem do opisu położenia i

orientacji końcówki wykorzystamy grupę euklidesową SO(2) ∼= R2×S1, która stanowi rozmaitość zadaniową

Z. Jako współrzędne zadaniowe można wybrać położenie wzdłuż osi x0 oraz y0 i orientację ϕ określoną

przez kąt obrotu wokół osi Z0:

z1 = x0

z2 = y0

z3 = ϕ

Wstęp do Robotyki – c©W. Szynkiewicz, 2009 29

Dla wybranych współrzędnych definiujemy przekształcenie

Transx,z1 Transy,z2 Rotz,z3 =

cos z3 − sin z3 0 z1

sin z3 cos z3 0 z2

0 0 0 0

0 0 0 1

Porównując powyższe wyrażenie z kinematyką K daną równaniem (21), czyli

03T =

c123 −s123 0 L1c1 + L2c12

s123 c123 0 L1s1 + L2s12

0 0 1 0

0 0 0 1

otrzymujemy kinematykę manipulatora we aspekcie wybranych współrzędnych

z =

z1

z2

z3

= k(x) =

L1c1 + L2c12

L1s1 + L2s12

x1 + x2 + x3