kinematyka manipulatorów robotów - elka.pwelka.pw/obieralne/wr/wyk/wr_cz4.pdf ·...
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
eñ
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