Materialy dla studentow W2 id 2 Nieznany

background image

4.5. Przekształcenia jednorodne

Rozważmy teraz układ współrzędnych Ox

1

y

1

z

1

otrzymany z układu Ox

0

y

0

z

0

przez

przesunięcie równoległe o odległość |d|, jak to pokazano na rys. 37. Wówczas wektory
jednostkowe i

0

, j

0

, k

0

są równoległe odpowiednio do wektorów i

1

, j

1

, k

1

. Wektor d jest

wektorem o początku w punkcie O

0

, a końcu w punkcie O

1

wyrażonym w układzie

współrzędnych Ox

0

y

0

z

0

.

Rys. 37. Układ przesunięty

Dowolny punkt P ma reprezentacje p

0

i p

1

jak poprzednio. Ponieważ odpowiednie osie

współrzędnych w tych dwóch układach są równoległe, więc wektory p

0

i p

1

są powiązane

zależnością

p

0

= p

1

+ d

0

1

(85)

lub

p

0x

= p

1x

+ d

0x

1

(86)

p

0y

= p

1y

+ d

0y

1

(87)

p

0z

= p

1z

+ d

0z

1

(88)

Najbardziej ogólnie związek między rozważanymi układami współrzędnych Ox

0

y

0

z

0

i

Ox

1

y

1

z

1

może być wyrażony przez kombinację czystego obrotu i czystego przesunięcia, co

jest określane jako ruch sztywny.

Definicja 1.

Przekształcenie

p

0

= Rp

1

+ d

(89)

definiuje ruch sztywny, jeżeli macierz R jest ortogonalna. Zauważmy, że ta definicja obejmuje
również odbicia, gdy det R = -l. W naszym przypadku nie będziemy potrzebować najbardziej
ogólnego ruchu sztywnego, przyjmujemy więc zawsze, że R

SO(3).

Jeżeli zatem mamy dwa ruchy sztywne

p

0

= R

0

1

p

1

+ d

0

1

(90)

p

1

= R

1

2

p

2

+ d

1

2

(91)

to ich połączenie określa trzeci ruch sztywny, który możemy opisać przez podstawienie
wyrażenia dla p

1

z wzoru (91) do zależności (90). Otrzymujemy wtedy

p

0

= R

0

1

R

1

2

p

2

+ R

0

1

d

1

2

+ d

0

1

(92)

Ponieważ jednak związek między wektorami p

0

i p

1

jest także ruchem sztywnym, możemy go

opisać jako

p

0

= R

0

2

p

2

+ d

0

2

(93)

Z porównania równań (92) i (93) otrzymujemy równości

R

0

2

= R

0

1

R

1

2

(94)

d

0

2

= d

0

1

+ R

0

1

d

1

2

(95)

Równość (94) pokazuje, że przekształcenia orientacji mogą być po prostu mnożone, a

równanie (95) pokazuje, że wektor od początku O

0

do początku O

2

jest sumą wektorową

background image

wektora d

0

1

od O

0

do O

1

i wektora R

0

1

d

1

2

od O

1

do O

2

wyrażonych w orientacji układu

współrzędnych Ox

0

y

0

z

0

.

Porównanie tego z równością macierzową

+

=

1

0

d

d

R

R

R

1

0

d

R

1

0

d

R

1

0

2

1

1

0

2

1

1

0

2

1

2

1

1

0

1

0

(96)

gdzie

0 oznacza (000), pokazuje, że ruchy sztywne mogą być reprezentowane przez zbiór

macierzy o postaci

)

3

(

R

;

1

0

d

R

H

SO

=

(97)

Korzystając z faktu, że macierz

R jest ortogonalna, łatwo jest pokazać, że przekształcenie

odwrotne

H

-1

jest określone następująco

=

1

0

d

R

-

R

H

T

T

1

-

(98)

Macierze przekształceń postaci (97) są

nazywane przekształceniami jednorodnymi.

Aby przedstawić przekształcenie (89) jako mnożenie macierzy, trzeba rozszerzyć wektory

p

0

i

p

1

przez dodanie czwartego składnika równego jedności następująco:

Przyjmijmy, że

=

1

P

0

0

p

(99)

=

1

P

1

1

p

(100)

Wektory

P

0

i

P

1

są znane jako

reprezentacje jednorodne odpowiednio wektorów p

0

i

p

1

. Można teraz bezpośrednio zobaczyć, że przekształcenie (89) jest równoważne

(jednorodnemu) równaniu macierzowemu

P

0

=

H P

1

+

H

0

1

P

1

(101)

Zbiór wszystkich 4x4-macierzy

H postaci (97) jest oznaczany jako E(3). Zbiór

podstawowych przekształceń jednorodnych generujących grupę E(3) jest określony
związkami

=

1

0

0

0

0

1

0

0

0

0

1

0

0

0

1

,

a

Trans

a

x

(102)

=

1

0

0

0

0

1

0

0

0

1

0

0

0

0

1

,

b

Trans

b

y

(103)

=

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

,

c

Trans

c

z

(104)

dla przesunięcia oraz związkami

background image

=

1

0

0

0

0

0

0

0

0

0

0

1

,

α

α

α

α

α

c

s

s

c

Rot

x

(105)

=

1

0

0

0

0

0

0

0

1

0

0

0

,

φ

φ

φ

φ

φ

c

s

s

c

Rot

y

(106)

=

1

0

0

0

0

1

0

0

0

0

0

0

,

θ

θ

θ

θ

θ

c

s

s

c

Rot

z

(107)

dla obrotu wokół osi x, y, z.

Najbardziej ogólne przekształcenie jednorodne, które będziemy rozważać, może zatem

być zapisane jako

=

=

1

0

0

0

d

a

s

n

1

0

0

0

T

z

z

z

z

y

y

y

y

x

x

x

x

d

a

s

n

d

a

s

n

d

a

s

n

(108)

W powyższym równaniu n = (n

x

, n

y

, n

z

)

T

jest wektorem reprezentującym kierunek osi

O

1

x

1

, w układzie Ox

0

y

0

z

0

, s = (s

x

, s

y

, s

z

)

T

reprezentuje kierunek osi O

1

y

1

, zaś a = (a

x

, a

y

, a

z

)

T

reprezentuje kierunek osi O

1

z

1

. Wektor d = (d

x

, d

y

, d

z

)

T

reprezentuje wektor od początku O

0

do

początku O

1

wyrażony w układzie Ox

0

y

0

z

0

. Powód wybrania liter n, s oraz a zostanie

wyjaśniony w rozdz. 3.

Uwaga: Dla przekształceń jednorodnych o wymiarach 4x4 obowiązuje taka sama

interpretacja dotycząca składania przekształceń oraz ich kolejności, jak dla obrotów o
wymiarach 3x3.

Przykład 8.
Macierz przekształcenia jednorodnego H, która reprezentuje obrót o kąt

α

wokół osi bieżącej

x; z następującymi potem: przesunięciem o b jednostek wzdłuż bieżącej osi x, przesunięciem
o d jednostek wzdłuż bieżącej osi z, obrotem o kąt

θ

wokół bieżącej osi z, jest określona

następująco

background image

=

=

=

=

1

0

0

0

cos

cos

cos

sin

sin

sin

sin

sin

cos

cos

sin

cos

0

sin

cos

1

0

0

0

0

1

0

0

0

0

cos

sin

0

0

sin

cos

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

1

0

0

0

0

1

0

0

0

1

1

0

0

0

0

cos

sin

0

0

sin

cos

0

0

0

0

1

H

,

,

,

,

α

α

ϕ

α

ϕ

α

α

α

ϕ

α

ϕ

α

ϕ

ϕ

ϕ

ϕ

ϕ

ϕ

α

α

α

α

ϕ

α

d

d

b

d

b

Rot

Trans

Trans

Rot

z

d

z

b

x

x

(109)

Reprezentacja jednorodna (97) jest specjalnym przypadkiem współrzędnych

jednorodnych, które są szeroko stosowane w dziedzinie grafiki komputerowej . Dodatkowo
interesujące są tam przekształcenia skalowania i/lub perspektywy. Najbardziej ogólne
przekształcenie jednorodne przybiera postać

=

=

×

×

×

×

skalowanie

|

a

perspektyw

|

ie

przesunięr

|

obrót

s

|

f

|

d

|

R

H

1

1

3

1

1

3

3

3

(110)

Dla naszych celów zawsze przyjmujemy wektor w ostatnim wierszu macierzy

H

równy (0, 0, 0, l), chociaż ogólniejsza postać dana równaniem (110) może być użyteczna do
włączenia systemu wizyjnego w szerszy system zrobotyzowany lub do symulacji graficznej.

4.6. Macierze skośniesymetryczne

W tej części wykładów wyprowadzimy niektóre dalsze własności macierzy obrotów,

użyteczne do obliczania względnych przekształceń prędkości i przyśpieszeń między układami
współrzędnych. Takie przekształcenia są związane z obliczaniem pochodnych macierzy
obrotów. Dzięki wprowadzeniu zapisu macierzy skośniesymetrycznych możliwe jest
uproszczenie wielu obliczeń.

Definicja 2.

Macierz S jest nazywana

macierzą skośniesymetryczną wtedy i tylko wtedy, gdy

S

T

+

S = 0

(111)

Zbiór wszystkich macierzy skośniesymetrycznych o wymiarze 3x3 oznaczamy przez

SS(3).

Jeżeli

S

SS(3) ma elementy s

ij

,

i, j = l, 2, 3, wtedy równanie (111) jest równoważne

dziewięciu równaniom postaci

s

ij

+

s

ji

= 0, oraz

i, j = 1, 2, 3

(112)

Z zależności (112) widzimy, że

s

ii

= 0, tzn. elementy na przekątnej macierzy

S

równe zeru, a elementy poza przekątną

s

ij

dla

ij spełniają równość s

ij

= -s

ji

. Stąd macierz S

ma tylko trzy niezależne wiersze lub kolumny i każda skośniesymetryczna macierz 3x3 jest
postaci

=

0

0

0

S

3

2

3

1

2

1

s

s

s

s

s

s

(113)

Jeżeli natomiast

a = (a

x

,

a

y

,

a

z

)

T

, jest 3-wymiarowym wektorem, to macierz

skośniesymetryczną

S(a) definiujemy następująco

background image

=

0

0

0

S(a)

x

y

x

z

y

z

a

a

a

a

a

a

(114)


Przykład 9.

Macierze skośniesymetryczne S(i), S(j) i S(k) otrzymane dla wektora a równego

odpowiednio jednostkowym wektorom normalnym i, j i k, są dane równościami

=

0

1

0

1

0

0

0

0

0

S(i)

(115)

=

0

0

1

0

0

0

1

0

0

S(j)

(116)

=

0

0

0

0

0

1

0

1

0

S(k)

(117)

Ważną własnością macierzy S(a) jest liniowość. Oznacza to, że dla dowolnych

wektorów a i b należących do przestrzeni R

3

oraz skalarów

α

i

β

jest spełniona równość

S(

α

a +

β

b) =

α

S(a) +

β

S(b)

(118)

Inną ważną własnością macierzy S(a) jest to, że dla dowolnego wektora p = (p

x

, p

y

, p

z

)

T

można napisać zależność

S(a) p = a

×

p

(119)

gdzie a

×

p określa iloczyn wektorowy. Równanie (119) może być sprawdzone przez

bezpośrednie obliczenie.

Jeżeli R

SO(3) i a, b są wektorami w przestrzeni średnio przeliczając można

pokazać, że

R(a

×

b) = Ra

×

Rb

(120)

Równanie (120) nie jest prawdziwe w ogólności, jeżeli R nie jest macierzą ortogonalną.

Oznacza ono, że jeżeli najpierw obrócimy wektory a i b, używając obrotu R, a potem
utworzymy iloczyn wektorowy obróconych wektorów R(a) i R(b), to rezultat będzie taki sam,

jak otrzymany przez utworzenie najpierw iloczynu wektorowego a

×

b, a potem obrócenie do

wektora R(a

×

b).

Dla dowolnych przekształceń R, S

SO(3) i dowolnych wektorów a, b

R

3

z równań

(119) i (120) wynika, że

RS(a) R

T

b = R(a

×

R

T

b) = (R a)

×

(R R

T

b) = (R a)

×

b = S(R a) b

(121)

W ten sposób pokazaliśmy użyteczny fakt, że

RS(a) R

T

= S(R a)

(122)

Równanie (122) jest jednym z użyteczniej wyrażeń. Lewa strona tego równania reprezentuje
przekształcenie macierzy S(a) przez podobieństwo. Równanie (122) stwierdza, że
reprezentacja macierzy S(a) w układzie współrzędnych obróconym przez R jest taka sama jak

macierz skośniesymetryczna S(R a) odpowiadająca wektorowi a obróconemu przez R.

background image

Załóżmy teraz, że macierz obrotu R jest funkcją jednej zmiennej

θ

. Stąd R = R(

θ

)

SO(3) dla każdego kąta

θ

. Ponieważ macierz R jest ortogonalna dla wszystkich kątów

θ

, więc

R(

θ

) R(

θ

)

T

= I

(123)

Po zróżniczkowaniu obu stron równości (123) względem

θ

jako pochodną iloczynu

otrzymamy

0

d

dR

)

R(

)

R(

d

dR

=

+

θ

θ

θ

θ

T

T

(124)

Zdefiniujmy macierz:

T

)

R(

d

dR

S

θ

θ

=

(125)

Wówczas transpozycją macierzy

S jest macierz

θ

θ

θ

θ

d

dR

)

R(

)

R(

d

dR

S

T

T

T

T

=

=

(126)

Równanie (124) oznacza wówczas, że

S + S

T

= 0

(127)

Innymi słowy, macierz

S zdefiniowana wzorem (125) jest skośniesymetryczna. Mnożąc obie

strony równości (125) przez

R i wykorzystując fakt, że R

T

R = I, otrzymujemy

)

SR(

d

dR

θ

θ

=

(128)

Równanie (128) jest bardzo ważne. Oznacza ono, że obliczenie pochodnej macierzy

obrotu

R jest równoważne pomnożeniu tej macierzy przez macierz skośniesymetryczną S.

Najczęściej spotyka się sytuację, gdy

R jest podstawową macierzą obrotu lub iloczynem

podstawowych macierzy obrotu.

Przykład 10.

Jeżeli

R = R

x,

θ

jest podstawową macierzą obrotu określoną równaniem (52), to

bezpośrednie obliczenie pokazuje, że

S(i)

0

1

0

1

0

0

0

0

0

cos

sin

0

sin

cos

0

0

0

1

sin

cos

0

cos

sin

0

0

0

0

R

d

dR

S

=

=

=

=

θ

θ

θ

θ

θ

θ

θ

θ

θ

T

(129)

Stąd otrzymujemy

θ

θ

θ

,

x,

S(i)R

d

dR

x

=

(130)

a w wyniku podobnych obliczeń dostajemy pozostałe pochodne

θ

θ

θ

,

y,

S(j)R

d

dR

y

=

(131)

θ

θ

θ

,

z,

S(k)R

d

dR

z

=

(132)


Przykład 11.

Niech

R

k,

θ

będzie obrotem wokół osi zdefiniowanej przez wektor

k jak w zależności

(74). Można łatwo sprawdzić, że

S(k)

3

= -

S(k). Z tego faktu wynika, że

θ

θ

θ

,

k,

S(k)R

d

dR

k

=

(133)


background image

4.7. Prędkość kątowa i przyspieszenie kątowe

W trakcie wykładów wyprowadziliśmy wyrażenia określające pozycję i orientację

różnych układów współrzędnych przez wprowadzenie przekształceń jednorodnych. W tej
części rozważamy prędkości i przyśpieszenia względne w tym samym kontekście.

Załóżmy, że macierz obrotu R jest zmienna w czasie, tak że R = R(t)

SO(3) dla

każdego t

R. Postępowanie identyczne z tym w poprzedniej części pokazuje, że pochodna

względem czasu R’(t) macierzy R(t) jest dana wzorem

R’(t) = S(t) R(t)

(134)

gdzie macierz S(t) jest skośniesymetryczna. Ponieważ macierz S(t) jest skośniesymetryczna,
więc może być jednoznacznie reprezentowana w postaci S(

ω

ωω

ω

(t)) przez pewien wektor

ω

ωω

ω

(t).

Wektor

ω

ωω

ω

(t) jest prędkością kątową układu obracającego się względem układu ustalonego w

chwili t.

Przykład 12.

Załóżmy, że R(t) = R

x,

θ

(t). Wówczas pochodna R’(t) = dR/dt jest obliczana jako

)

R(

))

S(ω(

)

R(

S(i)

d

d

d

dR

d

dR

t

t

t

t

t

=

=

=

θ

θ

θ

&

(135)

gdzie

ω

= i

θ

jest prędkością kątową wokół osi x.

Załóżmy, że p

1

reprezentuje wektor ustalony w układzie współrzędnych O

1

x

1

y

1

z

1

, a

układ O

1

x

1

y

1

z

1

obraca się względem układu O

0

x

0

y

0

z

0

. Wtedy współrzędne wektora p

1

w

układzie O

0

x

0

y

0

z

0

są określone zależnością

p

0

= R(t) p

1

(136)

zaś prędkość p

0

jest równa

p

0

= S(

ω

ωω

ω

) R(t) p

1

= S(

ω

ωω

ω

) p

0

=

ω

ωω

ω

××××

p

0

(137)

co jest znanym wyrażeniem dla prędkości w postaci iloczynu wektorowego. Załóżmy teraz,

ż

e ruch układu O

1

x

1

y

1

z

1

względem układu O

0

x

0

y

0

z

0

jest bardziej ogólny. Dokładniej,

przekształcenie jednorodne łączące te dwa układy jest zależne od czasu, tak że

=

1

0

)

(

d

)

(

R

)

(

H

1

0

1

0

1

0

t

t

t

(138)

Dla uproszczenia zapisu pomińmy argument t oraz wskaźniki dolne i górne przy

macierzy R

0

1

i wektorze d

0

1

Wtedy możemy napisać

p

0

= R p

1

+ d

(139)

a po zróżniczkowaniu powyższego równania i wykorzystaniu wzoru (135) otrzymujemy

p’

0

= R’ p

1

+ d’ = S(

ω

ωω

ω

) R p

1

+ d’ =

ω

ωω

ω

××××

r + v

(140)

gdzie r = R p

1

jest wektorem od początku 0

1

do punktu P wyrażonym w układzie O

0

x

0

y

0

z

0

, a v

jest prędkością, z jaką porusza się początek 0

1

.

Jeżeli wektor p

1

jest także zmienny względem układu O

1

x

1

y

1

z

1

, to musimy dodać do

członu v wyrażenie R(t) p’

1

, które jest prędkością zmiany p

1

wyrażoną w układzie O

0

x

0

y

0

z

0

.

Możemy również zróżniczkować wyrażenie dla uzyskania przyśpieszenia względnego

w dwóch układach współrzędnych, jak następuje. Po pierwsze, przypomnijmy, że iloczyn
wektorowy spełnia zasadę różniczkowania iloczynu, tzn.

dt

d

dt

d

dt

d

b

a

b

a

b)

(a

×

+

×

=

×

(141)

background image

Jeśli teraz równanie (140) zapiszemy w postaci

p’

0

d’ = R’ p

1

=

ω

ωω

ω

×

R p

1

(142)

i zróżniczkujemy obie strony względem czasu t, to otrzymamy

p’’

0

d’’ =

ω

ωω

ω

×

(R’ p

1

) =

ω

ωω

ω

×

r +

ω

ωω

ω

×

(

ω

ωω

ω

×

r)

(143)

wówczas równanie (143) może być zapisane również jako

p’’

0

=

ω

ωω

ω

×

r +

ω

ωω

ω

×

(

ω

ωω

ω

×

r) + a

(144)

gdzie a jest przyśpieszeniem liniowym. Wyrażenie

ω

ωω

ω

×

(

ω

ωω

ω

×

r) opisuje przyśpieszenie

nazywane przyśpieszeniem normalnym lub dośrodkowym punktu materialnego. Jest ono
zawsze skierowane w kierunku osi obrotu i jest prostopadłe do tej osi. Wyrażenie

ω

ωω

ω

×

r

opisuje tzw. przyspieszenie styczne.

Ponownie, jeśli wektor p

1

porusza się względem układu O

1

x

1

y

1

z

1

, powyższe wyrażenie

trzeba odpowiednio zmodyfikować w następujący sposób

p’’

0

=

ω

ωω

ω

×

r +

ω

ωω

ω

×

(

ω

ωω

ω

×

r) + 2

ω

×

R p

1

+ a

(145)

gdzie a = R p’’

1

+ d’’. Wyrażenie 2

ω

×

R p

1

opisuje natomiast znane powszechnie

przyspieszenie Coriolisa.

4.8. Dodawanie prędkości kątowych

Często jesteśmy zainteresowani znalezieniem wypadkowej prędkości kątowej

wynikającej ze względnych obrotów kilku układów współrzędnych. Różniczkujemy wtedy
wyrażenia

na

składanie

prędkości

kątowych

w

dwóch

ruchomych

układach

O

1

x

1

y

1

z

1

i O

2

x

2

y

2

z

2

względem układu stałego O

0

x

0

y

0

z

0

.

Dla danego punktu P z reprezentacjami p

0

, p

1

, p

2

w odpowiednich układach mamy

związki

p

0

= R

0

1

p

1

+ d

0

1

(146)

p

1

= R

1

2

p

2

+ d

1

2

(147)

p

0

= R

0

2

p

2

+ d

0

2

(148)

gdzie jak poprzednio

R

0

2

= R

0

1

R

1

2

(149)

oraz

d

0

2

= d

0

1

+ R

0

1

d

1

2

(150)

Również jak wcześniej, wszystkie powyższe wielkości są funkcjami czasu. Biorąc pochodne
obu stron równania (149) otrzymamy

R’

0

2

= R’

0

1

R

1

2

+ R

0

1

R’

1

2

(151)

Wyrażenie R’

0

2

po lewej stronie wzoru (151) można zapisać jako

R’

0

2

= S(

ω

ωω

ω

0

2

) R

0

2

(152)

Pierwszy wyraz po prawej stronie równości (151) jest prosty

R’

0

1

R

1

2

= S(

ω

ωω

ω

0

1

) R

0

1

R

1

2

= S(

ω

ωω

ω

0

1

) R

0

2

(153)

Sprawdźmy drugi wyraz prawej strony. Równanie (122) umożliwia następujące obliczenia

R

0

1

R’

1

2

=R

0

1

S(

ω

ωω

ω

1

2

)R

1

2

=R

0

1

S(

ω

ωω

ω

1

2

)(R

0

1

)

T

R

0

1

R

1

2

=S(R

0

1

ω

ωω

ω

1

2

)R

0

1

R

1

2

=S(R

0

1

ω

ωω

ω

1

2

)R

0

2

(154)

Po połączeniu powyższych wyrażeń otrzymamy

S(

ω

ωω

ω

0

2

) R

0

2

= [S(

ω

ωω

ω

0

1

) + S(R

0

1

ω

ωω

ω

1

2

)] R

0

1

R

1

2

(155)

Ponieważ S(a) + S(b) = S(a + b), więc

(

ω

ωω

ω

0

2

) =

ω

ωω

ω

0

1

+ R

0

1

ω

ωω

ω

1

2

(156)

Innymi słowy, prędkości kątowe mogą być dodawane, jeśli są wyrażone względem tego

samego układu współrzędnych, w tym przypadku O

0

x

0

y

0

z

0

.

Powyższe wyrażenie może być rozszerzone na dowolną liczbę układów współrzędnych.

Na przykład jeżeli

R

0

n

= R

0

1

R

1

2

R

n-1

n

(157)

background image

wtedy

R’

0

n

= S(

ω

ωω

ω

0

n

) R

0

n

(158)

gdzie

ω

ωω

ω

0

n

=

ω

ωω

ω

0

1

+ R

0

1

ω

ωω

ω

1

2

+ R

0

2

ω

ωω

ω

2

3

+ R

0

3

ω

ωω

ω

3

4

+ … + R

0

n-1

ω

ωω

ω

n-1

n

(159)

5. Kinematyka prosta: reprezentacja Denavita-Hartenberga

W tej rozdziale części wykładu wyprowadzimy równania kinematyki prostej, zwane

też równaniami kinematyki konfiguracji, dla robota sztywnego. Zadanie kinematyki prostej
można postawić następująco: Mając dane zmienne przegubowe robota, określić pozycję i
orientację końcówki roboczej. Dla przegubów obrotowych zmiennymi przegubowymi są kąty
między członami, natomiast dla przegubów pryzmatycznych – wysunięcia członów. Zadanie
kinematyki prostej jest przeciwieństwem zadania kinematyki odwrotnej, które zostanie
przeanalizowane w następnym rozdziale, a które można opisać następująco: Mając daną
pozycję i orientację końcówki roboczej robota, wyznaczyć zmienne przegubowe, które
zapewnią osiągnięcie docelowej pozycji i orientacji.

5.1. Łańcuchy kinematyczne

W celu przeprowadzenia analizy kinematyki wyobraźmy sobie robota jako ciąg

sztywnych członów, połączonych razem różnymi przegubami. Przeguby mogą być albo
bardzo proste, takie jak przeguby obrotowe lub pryzmatyczne, albo też bardziej
skomplikowane, takie jak przeguby kulowe lub kielichowe. (Przypominamy, że przegub
obrotowy jest podobny do zawiasu i umożliwia obrót wokół pojedynczej osi, natomiast
przegub pryzmatyczny pozwala na ruch liniowy wzdłuż pojedynczej osi, czyli na tzw.
wysunięcie lub wsunięcie). Różnica między tymi dwiema sytuacjami jest taka, że w
pierwszym przypadku przegub ma tylko jeden stopień swobody ruchu: kąt obrotu dla
przegubu obrotowego a wielkość przemieszczenia liniowego dla przegubu pryzmatycznego.
W przeciwieństwie do tego przeguby kulowe i kielichowe mają po dwa stopnie swobody. W
czasie wykładów założymy, że wszystkie przeguby mają jeden stopień swobody. Zauważmy,
ż

e to założenie nie pociąga za sobą zmniejszenia ogólności rozważań, ponieważ takie

przeguby, jak kulowy i kielichowy (z dwoma stopniami swobody) lub kiść sferyczna (z
trzema stopniami swobody), mogą być traktowane jako szereg przegubów o pojedynczych
stopniach swobody z zerową długością członów między nimi.

Przy założeniu, że każdy przegub ma jeden stopień swobody, działanie każdego

przegubu można opisać jedną liczbą rzeczywistą: kątem obrotu w przypadku członu
obrotowego lub przemieszczeniem w przypadku członu pryzmatycznego. Celem analizy
kinematyki prostej jest określenie wypadkowego efektu konkretnych wartości zmiennych we
wszystkich przegubach. Aby uczynić to w sposób systematyczny, trzeba wprowadzić pewne
konwencje. Możliwe jest oczywiście przeprowadzenie analizy kinematyki prostej bez
respektowania tych konwencji, tak jak to robiliśmy np. dla przykładowego dwuczłonowego
manipulatora płaskiego. Jednakże analiza kinematyki manipulatora o n członach jest
wyjątkowo skomplikowana, a proponowana poniżej konwencja znacznie upraszcza równania
kinematyki. Ponadto przyczynia się ona do rozwoju uniwersalnego języka, którym
porozumiewają się specjaliści robotyki.

Przypuśćmy, że robot ma n + l członów ponumerowanych od 0 do n,

zaczynając od

podstawy robota, którą oznaczymy jako człon 0. Przeguby są ponumerowane od l do n, przy
czym przegub i łączy człon i – 1 z członem i. Zmienna przegubowa dla przegubu i jest
oznaczona przez q

i

. W przypadku przegubu obrotowego q, jest kątem obrotu, a w przypadku

przegubu pryzmatycznego q

i

jest przemieszczeniem. Następnie do każdego członu w sposób

background image

sztywny doczepiamy układ współrzędnych. W szczególności w podstawie zaczepiamy

nieruchomy układ oznaczony numerem 0. Dalej wybieramy układy od l do n tak, że układ i
jest na sztywno związany z członem i. To oznacza, że przy jakimkolwiek ruchu wykonanym
przez robota współrzędne każdego punktu członu i, jeśli wyrazimy je w układzie i, pozostaną
niezmienne. Rys. 38 ilustruje ideę sztywnego związania układu współrzędnych z członem dla
manipulatora z łokciem.

Rys. 38. Układy współrzędnych doczepione do manipulatora z łokciem

Załóżmy teraz, że A

i

jest macierzą przekształcenia jednorodnego, które przekształca

współrzędne punktu z układu i do układu i – 1. Macierz A

i

nie jest stała, lecz zmienia się wraz

ze zmianą konfiguracji robota. Założenie, że wszystkie przeguby są obrotowe lub
pryzmatyczne oznacza, że macierz A

i

jest funkcją tylko jednej zmiennej q

i

. Innymi słowy

A

i

= A

i

(q

i

)

(160)

Macierz jednorodna, która transformuje współrzędne punktu z układu j do układu i

jest nazywana w przedstawianej konwencji macierzą przekształcenia i jest zwykle oznaczana
jako T

i

j

, oraz jak już wcześniej pokazaliśmy

T

i

j

= A

i+1

A

i+2

… A

j-1

A

j

dla i < j

(161)

T

i

j

= I dla i = j

(162)

T

i

j

= (T

i

j

)

-1

dla j > i

(163)

Ze sposobu, w jaki przywiązaliśmy poszczególne układy współrzędnych do

odpowiadających im członów, wynika, że pozycja dowolnego punktu końcówki roboczej w
układzie n jest stała, niezależna od konfiguracji robota. Oznaczmy pozycję i orientację
końcówki roboczej względem układu bazowego (nieruchomego) odpowiednio jako 3

wymiarowy wektor d

0

n

i macierz obrotu R

0

n

o wymiarze 3 x 3 oraz zdefiniujmy macierz

jednorodną

=

1

0

d

R

H

n
0

n

0

(164)

background image

Wówczas pozycja i orientacja końcówki roboczej w układzie bazowym robota jest wyrażona
jako

H = T

0

n

= A

1

(q

1

) … A

n

(q

n

)

(165)

A każde jednorodne przekształcenie A

i

ma postać

=

1

0

d

R

A

1

-

1

-

i
i

i
i

i

(166)

Stąd

=

=

+

1

0

d

R

A

...

A

T

1

j

i

j

i

j

i

j

i

(167)

Macierz R

i

j

opisuje orientację układu j względem układu i oraz jest wyznaczona przez części

obrotowe macierzy A, czyli

R

i

j

= R

i

i+1

… R

j-1

j

(168)

Wektory d

i

j

są obliczane rekurencyjnie ze wzoru

d

i

j

= d

i

j-1

+ R

i

j-j

d

j-1

j

(169)

Podsumowując – to jest wszystko, co dotyczy kinematyki prostej! Określ funkcje

A

i

(q

i

) i pomnóż je przez siebie tak, jak potrzeba. Można jednak znacznie uprościć i

uporządkować zagadnienie przez wprowadzenie dalszych konwencji, takich jak notacja

Denavita-Hartenberga do opisu przegubu. Jest to celem dalszej części niniejszego wykładu.

5.2. Reprezentacja Denavita-Hartenberga

Chociaż możliwe jest przeprowadzenie całej tutaj prezentowanej analizy, stosując

arbitralnie wybrane układy współrzędnych związane z kolejnymi członami, to jednak bardzo
pomocnym będzie systematyczny dobór tych układów.

W tym celu, tj. do wyboru układów współrzędnych, w robotyce stosuje się notację

Denavita-Hartenberga, zwaną w skrócie notacją D-H. W tej konwencji każde jednorodne
przekształcenie A

i

jest reprezentowane jako wynik czterech przekształceń „podstawowych”

=

=

=

=

1

0

0

0

cos

sin

0

sin

sin

cos

cos

cos

sin

cos

sin

sin

cos

sin

cos

1

0

0

0

0

cos

sin

0

0

sin

cos

0

0

0

0

1

1

0

0

0

0

1

0

0

0

0

1

0

0

0

1

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

1

0

0

0

0

cos

sin

0

0

sin

cos

A

,

,

,

,

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

i

x

a

x

d

z

z

i

d

a

a

a

d

Rot

Trans

Trans

Rot

i

i

i

i

α

α

θ

α

θ

α

θ

θ

θ

α

θ

α

θ

θ

α

α

α

α

θ

θ

θ

θ

α

θ

(170)

gdzie cztery wielkości

θ

i

, a

i

, d

i

;

α

i

, są parametrami członu i oraz przegubu i. Poszczególne

parametry w równaniu (170) są zwykle nazywane: a

i

długością członu,

α

i

– skręceniem

członu, d

i

– odsunięciem przegubu,

θ

i

– kątem przegubu. Ponieważ macierz

A, jest funkcją

jednej zmiennej, więc trzy z powyższych czterech wielkości są dla danego członu stałe, a
czwarty parametr –

θ

i

dla przegubu obrotowego i d

i

dla pryzmatycznego – jest zmienną

przegubową.

background image

Jak już wcześniej pokazano, dowolna macierz jednorodna może być opisana

sześcioma parametrami, np. trzema składowymi wektora przemieszczenia d i trzema kątami
Eulera zgodnymi z macierzą obrotu R. W notacji Denavita-Hartenberga mamy, dla odmiany,
cztery parametry. Jak to możliwe? Otóż, chociaż wymaga się, aby układ i był sztywno
związany z członem i, to jednak istnieje pewna swoboda w wyborze początku układu i jego
osi. Na przykład nie jest konieczne, aby początek O

i

układu i odpowiadał przegubowi i lub i +

l, czyli któremuś z końców członu i. W ten sposób, dzięki sprytnemu dobraniu położenia
początku układu i jego osi, można ograniczyć liczbę niezbędnych parametrów z sześciu do
czterech (a w niektórych przypadkach nawet mniej). Zobaczmy, jak to się robi.

Zacznijmy od określenia, jakie właściwie przekształcenia jednorodne można wyrazić wzorem
(170). Przypuśćmy, że mamy dane dwa układy współrzędnych oznaczone odpowiednio przez
0 i 1. Istnieje jednoznacznie zdefiniowane przekształcenie jednorodne opisane macierzą A,
które przekształca współrzędne z układu l do układu 0. Przypuśćmy teraz, że te dwa układy
mają dodatkowo następujące właściwości:
(DH1) oś x

1

jest prostopadła do osi

Z

0

,

(DH2) oś x

1

przecina oś

Z

0

,

jak to pokazano na rys. 39.

Rys. 39. Układy współrzędnych zgodne z założeniami (DH1) i (DH2)

Przy tych warunkach żądamy, aby istniały jednoznacznie wyznaczone liczby a, d,

θ

,

α

takie,

ż

e

A = Rot

z,

θ

Trans

z,d

Trans

x,a

Rot

x,

α

(171)

Oczywiście, ponieważ

θ

i

α

są kątami, w rzeczywistości żądamy, aby były one określone

jednoznacznie z dokładnością do wielokrotności 2

π

.

Chcemy pokazać, że macierz A może być zapisana w tej postaci, więc przedstawmy A

jako

=

1

0

d

R

A

(172)

background image

i niech r

i

oznacza kolumnę i macierzy obrotu R. Zgodnie z rys. 39 widać, że przyjęte

założenie (DH1) oznacza, że wektor r

1

(który reprezentuje wektor jednostkowy i

1

w układzie

0) jest ortogonalny do k

0

= [0, 0, 1]

T

, tzn. r

31

= 0. Stąd żądamy, abi istniały jednoznacznie

określone kąty

θ

i

α

takie, że

=

=

=

=

α

α

α

θ

α

θ

θ

α

θ

α

θ

θ

α

α

α

α

θ

θ

θ

θ

α

θ

cos

sin

0

sin

cos

cos

cos

sin

sin

sin

cos

sin

cos

cos

sin

0

sin

cos

0

0

0

1

1

0

0

0

cos

sin

0

sin

cos

R

R

R

x,

z,

(173)

Jedyną posiadaną informacją jest, że

r

31

= 0. Jednak to wystarczy. Po pierwsze, ponieważ

każdy wiersz i każda kolumna macierzy

R musi mieć jednostkową długość, więc warunek r

31

= 0 implikuje następujące równości

r

11

2

+

r

21

2

= 1

(174)

r

32

2

+

r

33

2

= 1

(175)

Stąd istnieją jedyne kąty

θ

i

α

takie, że

(

r

11

,

r

21

) = (cos

θ

, sin

θ

)

(176)

(

r

33

,

r

32

) = (cos

α

, sin

α

)

(177)

Skoro kąty

θ

i

α

zostały już znalezione, to formalnością jest pokazanie, że pozostałe elementy

macierzy

R muszą mieć postać określoną równaniem (173). Należy więc wykorzystać fakt, że

R jest macierzą obrotu.

Założenie (DH2) oznacza, że wektor

d = d

0

1

(który jest wektorem początku układu 1

wyrażonym w układzie 0) jest kombinacją liniową wektorów

k

0

i

Ri

1

. Ponieważ r

31

= 0, więc

możemy wyrazić

d

0

1

w sposób jednoznaczny jako

=

+

=

=

=

d

a

a

ar

dk

aRi

dk

d

θ

θ

sin

cos

1

0

1

0

1

0

(178)

Wstawiając

R z równania (173) i d z równania (178) do wzoru (172) otrzymujemy macierz

(170).
Teraz, gdy wykazaliśmy, że każda macierz jednorodna spełniająca wymienione wyżej

warunki (DH1) i (DH2) może być reprezentowana w postaci (170), możemy przedstawić
fizyczną interpretację każdej z czterech występujących w równaniu (170) wielkości. Parametr

a jest odległością między osiami z

0

i

z

1

mierzoną wzdłuż osi

x

1

. Kąt

α

jest kątem między

osiami

z

0

i

z

1

mierzonym w płaszczyźnie prostopadłej do osi

x

1

. Dodatni kierunek kąta

α

jest

określony przez osie

z

0

i

z

1

na podstawie reguły prawej ręki, jak to przedstawiono na rys. 40.

Natomiast parametr

d jest odległością między początkiem O

0

a przecięciem osi

x

1

z

Z

0

,

mierzoną wzdłuż osi

Z

0

.

Na koniec

θ

jest kątem między osiami osie

x

0

i

x

1

mierzonym w

płaszczyźnie prostopadłej do osi

z

0

.

background image

Rys. 40. Dodatnie kierunki kątów

α

i

i

θ

i

Teraz pozostało jeszcze pokazać, że dla manipulatora robota można zawsze wybrać

układy współrzędnych 0,..., n w taki sposób, że dwa podane wyżej warunki są spełnione.
Trzeba przy tym zaakceptować możliwość, że środek O

i

układu i nie musi leżeć na przegubie

i. Przypomnijmy te dwa warunki: (DH1) oś x

i

jest prostopadła do osi z

i-1

oraz (DH2) oś x

i

przecina oś z

i-1

. Przy czytaniu materiału poniżej należy pamiętać, że wybór układów

współrzędnych nie jest jedynym możliwym, nawet jeśli ograniczy się go powyższymi
wymaganiami. Po przedstawieniu ogólnej procedury omówimy różne przypadki, w których
jest możliwe dalsze uproszczenie macierzy jednorodnych.

Na początku dobrze jest zidentyfikować wszystkie osie przegubów i oznaczyć je z

0

,...,

z

n-1

. Jeśli przegub i + l jest obrotowy, to z

i

jest jego osią obrotu, jeśli zaś pryzmatyczny, to z

i

jest osią przesunięcia w tym przegubie. Następnie należy wybrać początek O

0

układu

bazowego. Ten punkt może być wybrany dowolnie wzdłuż osi z

0

.

Na koniec wybierzmy

dowolnie x

0

, y

0

, pamiętając tylko, aby w efekcie otrzymać układ prawoskrętny. W ten sposób

ustaliliśmy układ 0.

Załóżmy, że układy 0, ..., i – 1 zostały ustalone. Dla lepszego zrozumienia dalszych

rozważań przeanalizujmy rys. 41.

Rys. 41. Przyporządkowanie układów współrzędnych zgodnie z notacją D-H

background image

W celu ustalenia układu i niezbędne jest rozpatrzenie dwóch przypadków: a) osie z

i-1

, z

i

nie

leżą w jednej płaszczyźnie, b) należą one do jednej płaszczyzny.

W przypadku a), tzn. gdy osie z

i-1

, z

i

nie leżą w jednej płaszczyźnie, wtedy istnieje dokładnie

jeden odcinek prostopadły do obu osi, który łączy obie osie i ma najmniejszą długość. Prostą
zawierającą ten odcinek, a więc prostopadłą (normalną) do osi z

i-1

, z

i

należy obrać za oś x

i

, a

punkt jej przecięcia z osią z

i

przyjąć za początek O

i

układu współrzędnych. Sposób

konstrukcji tej prostej gwarantuje, że spełnione są oba warunki (DH1) i (DH2), a wektor z
punktu O

i-1

do O

i

jest kombinacją liniową wektorów jednostkowych osi z

i-1

, x

i

. Do pełnego

określenia układu i trzeba jeszcze przyjąć oś y

i

tak, aby układ był prawoskrętny. Ponieważ są

spełnione warunki (DH1) i (DH2), więc macierz jednorodna A

i

ma postać zgodną z

równaniem (170).

Rozważmy teraz przypadek b), tzn. gdy osie z

i-1

, z

i

leżą w jednej płaszczyźnie.

Oznacza to, że osie te albo są równoległe, albo przecinają się. Są to w rzeczywistości sytuacje
podobne, wymagające tak samo szczegółowej analizy. Jeśli osie z

i-1

, z

i

są równoległe, to

istnieje nieskończenie wiele wspólnych normalnych między nimi. Dlatego warunek (DH1) nie
wystarczy do dokładnego określenia osi x

i

. W takim przypadku wybieramy środek O

i

na

przegubie i tak, że x

i

jest tą normalną poprowadzoną z osi z

i-1

, która przechodzi przez O

i

.

Zauważmy, że w tym przypadku wybór punktu O

i

jest dowolny. Równie dobrze moglibyśmy

wybrać normalną przechodzącą przez punkt O

i-1

, jak też oś x

i

i wtedy odległość d

i

byłaby

równa zeru. To drugie podejście jest częściej spotykane w literaturze z dziedziny robotyki.

Ponieważ osie z

i-1

i z

i

są równoległe, więc kąt

α

i

, jest równy zeru. Gdy oś x

i

jest już ustalona,

przyjmuje się oś y

i

jak zwykle z zachowaniem reguły prawej ręki.

Na koniec rozważmy przypadek, gdy z

i

przecina oś z

i-1

. W tej sytuacji jako oś x

i

wybieramy normalną do płaszczyzny wyznaczonej przez osie z

i

, z

i-1

. Wybór dodatniego

kierunku osi jest dowolny. W tym przypadku najbardziej naturalnym wyborem początku
układu O

i

jest punkt przecięcia osi z

i

, z

i-1

jednakże wystarczy dowolny punkt osi z

i

.

Zauważmy, że w tym przypadku parametr

α

i

jest równy zeru.

Przedstawiona procedura konstrukcji jest użyteczna dla układów 0, ..., n – 1 w robocie

o n członach. Trzeba jeszcze określić układ n. Ostatni układ współrzędnych O

n

x

n

y

n

z

n

jest

zwykle związany z układem końcówki roboczej lub narzędzia (rys. 42).

Rys. 42. Ustalenie układu końcówki roboczej

background image

Początek układu O

n

jest najczęściej umieszczany symetrycznie między palcami chwytaka.

Wektory jednostkowe osi x

n

, y

n

, z

n

są oznaczane odpowiednio przez n, s, a, co wywodzi się ze

znaczenia poszczególnych osi. Tak więc a oznacza zbliżenie (z ang. approach), bowiem
chwytak robola zbliża się najczęściej do obiektu zgodnie z kierunkiem wektora a. Podobnie
kierunek wektora s oznacza kierunek przesuwania (z ang. sliding), w tym bowiem kierunku
przesuwają się palce typowego chwytaka podczas zamykania i otwierania. Oznaczenie n
określa kierunek normalny (z ang. normal) do płaszczyzny wyznaczonej przez wektory a i s.

We wszystkich współczesnych robotach ruch ostatniego przegubu jest obrotem

końcówki roboczej o kąt

θ

n

a dwie ostatnie osie przegubów z

n-1

, z

n

są zgodne. Dlatego też

transformacja między dwoma ostatnimi układami współrzędnych jest zawsze przesunięciem

wzdłuż osi z

n-1

o odległość d

6

zakończonym (lub poprzedzonym) obrotem o kąt

θ

6

wokół osi

z

n-1

.

Jest to ważna obserwacja, która ułatwi obliczenia związane z kinematyką odwrotną w

dalszej części wykładów.

Na zakończenie zauważmy następujący ważny fakt. We wszystkich przypadkach,

zarówno dla przegubu obrotowego, jak i pryzmatycznego, wielkości a

i

i

α

i

są zawsze stałe dla

wszystkich wskaźników i oraz są one charakterystyczne dla danego manipulatora. Jeśli
przegub i jest pryzmatyczny, wtedy wielkość

θ

i

jest również stała, podczas gdy d

i

jest

zmienną przegubową tego przegubu. Analogicznie, jeśli przegub i jest obrotowy, wtedy
wielkość d

i

jest stała, a

θ

i

jest zmienną przegubową.

5.3. Podsumowanie procedury zgodnej z notacją Denavita-Hartenberga

Przedstawioną powyżej procedurę, opartą na notacji Denavita-Hartenberga, możemy

zapisać w postaci następującego algorytmu, który rozwiązuje kinematykę prostą dla
dowolnego manipulatora:

Krok 1: Umieścić i oznaczyć osie przegubów z

0

, ..., z

n-1

.

Krok 2: Przyjąć bazowy układ współrzędnych. Jego początek umieścić dowolnie na osi z

0

.

Osie x

0

i y

0

wybrać tak, aby układ był prawoskrętny. Dla i = l, ..., n – l wykonać kroki 3, 4, 5.

Krok 3: Umieścić środek O

i

w miejscu, gdzie wspólna normalna do osi z

i

i z

i-1

przecina oś z

i

.

Jeśli oś z

i

przecina oś i z

i-1

, to umieścić początek O

i

w tym przecięciu. Jeśli z

i

i z

i-1

równoległe, to umieścić O

i

na przegubie i.

Krok 4: Przyjąć oś x

i

wzdłuż wspólnej normalnej osi z

i-1

i z

i

przechodzącej przez początek O

i

lub w kierunku normalnej do płaszczyzny obu tych osi, jeśli z

i-1

i z

i

przecinają się.

Krok 5: Wybrać oś y

i

tak, aby układ był prawoskrętny.

Krok 6: Ustalić układ współrzędnych końcówki roboczej O

n

x

n

y

n

z

n

. Zakładając, że oś n jest

obrotowa, przyjąć k

n

= a wzdłuż kierunku z

n-1

. Wybrać początek O

n

na osi z

n

;

preferowany

jest środek chwytaka lub czubek narzędzia, z którym pracuje robot. Przyjąć j

n

= s w kierunku

zamykania chwytaka oraz i

n

= n jako s x a. Jeśli narzędzie nie jest zwykłym chwytakiem,

przyjąć x

n

i y

n

według uznania, zachowując tylko zasady układu prawoskrętnego.

Krok 7: Utworzyć tabelę parametrów kinematycznych a

i

, d

i

,

α

i

,

θ

i

, gdzie

a

i

odległość wzdłuż osi x

i

od początku O

i

do przecięcia osi x

i

i z

i-1

,

d

i

odległość wzdłuż osi z

i-1

od początku O

i-1

do przecięcia osi x

i

i z

i-1

; jeśli przegub

jest pryzmatyczny, to di jest zmienną,

background image

α

i

kąt między osiami z

i-1

i z

i

mierzony wokół osi x

i

,

θ

i

–kąt między osiami x

i-1

i x

i

mierzony wokół osi z

i-1

; jeśli przegub jest obrotowy, to

θ

i

jest zmienną.

Krok 8: Zbudować macierze przekształceń jednorodnych A

i

wstawiając powyższe parametry

do równania (170).

Krok 9: Utworzyć macierz T

0

n

= A

1

… . A

n

; opisuje ona pozycję i orientację układu

narzędzia wyrażoną w bazowym układzie współrzędnych.

5.4 Wybrane przykłady

Ponieważ w notacji Denavita-Hartenberga jedyną zmienną kątową jest

θ

, więc w

niektórych przypadkach uprościmy zapis pisząc c

i

zamiast cos

θ

i

, itd. Oznaczymy także

θ

1

+

θ

2

przez

θ

12

oraz cos(

θ

1

+

θ

2

) przez c

12

i tak samo w innych tego typu przypadkach. W

następnych przykładach bardzo ważne jest, aby pamiętać, że notacja Denavita-Hartenberga,
aczkolwiek systematyczna, jednak umożliwia dość dużą swobodę w wyborze niektórych
parametrów manipulatora. Szczególnie dotyczy to przypadków równoległych przegubów
pryzmatycznych.

Przykład 13. Płaski manipulator z łokciem

Rozważmy dwuczłonowe ramię płaskie przedstawione na rys. 43.

Rys. 43. Dwuczłonowy manipulator plaski

Osie przegubów z

0

i z

1

są prostopadłe do strony. Przyjmujemy układ bazowy O

0

x

0

y

0

z

0

, jak to

pokazano na rysunku. Początek układu został wybrany w punkcie przecięcia osi z

0

ze stroną, a

kierunek osi x

0

jest całkowicie dowolny. Gdy już układ bazowy został przyjęty, układ O

1

x

1

y

1

z

1

ustalamy zgodnie z konwencją Denavita-Hartenberga, jak to pokazano na rysunku, gdzie
początek O

1

został umieszczony na przecięciu osi z

1

i strony. Ostatni układ O

2

x

2

y

2

z

2

jest

ustalony przez wybór jego początku O

2

na końcu członu 2. Parametry kinematyczne pokazano

w tab. 1. Macierze Wyznaczono z wzoru (170) w poniżej przedstawionej postaci

background image

Tab. 1. Parametry kinematyczne dwuczłonowego manipulatora płaskiego

Parametr Człon 1

Człon 2

a

i

a

1

a

2

α

i

0

0

d

i

0

0

θ

i

θ

1

θ

2

=

1

0

0

0

0

1

0

0

sin

0

cos

sin

cos

0

sin

cos

A

1

1

1

1

1

1

1

1

1

θ

θ

θ

θ

θ

θ

a

a

(179)

=

1

0

0

0

0

1

0

0

sin

0

cos

sin

cos

0

sin

cos

A

2

2

2

2

2

2

2

2

2

θ

θ

θ

θ

θ

θ

a

a

(180)

Macierze T są równe

1

1

0

A

T

=

(181)

+

+

+

+

+

+

+

+

=

=

=

=

1

0

0

0

0

1

0

0

)

sin(

sin

0

)

cos(

)

sin(

)

cos(

cos

0

)

sin(

)

cos(

1

0

0

0

0

1

0

0

sin

0

cos

sin

cos

0

sin

cos

1

0

0

0

0

1

0

0

sin

0

cos

sin

cos

0

sin

cos

A

A

T

2

1

2

1

1

2

1

2

1

2

1

2

1

1

2

1

2

1

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

2

1

2

0

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

a

a

a

a

a

a

a

a

(182)

Zauważmy, że pierwsze dwa elementy ostatniej kolumny macierzy T

0

2

są współrzędnymi x i

y początku układu O

2

w układzie bazowym, tzn.

x = a

1

cos

θ

1

+ a

2

cos(

θ

1

+

θ

2

)

(183)

y = a

1

sin

θ

1

+ a

2

sin(

θ

1

+

θ

2

)

(184)

są współrzędnymi końcówki roboczej w bazowym układzie współrzędnych. Część obrotowa
macierzy T

0

2

opisuje orientację układu O

2

x

2

y

2

z

2

w stosunku do układu bazowego.

Przykład 13. Trójczłonowy robot cylindryczny
Rozważmy teraz trójczłonowy robot cylindryczny przedstawiony symbolicznie na rys. 44. Jak

to pokazano, początek O

0

został przyjęty na przegubie 1. Zauważmy, że zarówno punkt O

0

na

osi z

0

, jak również kierunek osi x

0

, są dowolne.

background image

Rys. 44. Trójczłonowy manipulator cylindryczny


Nasz wybór początku O

0

jest najbardziej naturalny, ale O

0

może równie dobrze znajdować się

na przegubie 2. Oś x

0

jest wybrana jako prostopadła do płaszczyzny rysunku. Następnie,

ponieważ osie z

0

i z

1

są zgodne, początek O

1

został wybrany na przegubie 1, jak to pokazano

na rysunku. Oś x

1

jest prostopadła do płaszczyzny rysunku dla

θ

1

= 0, ale oczywiście jej

kierunek będzie się zmieniał, gdyż

θ

1

jest zmienną.

Ponieważ osie z

1

i z

2

przecinają się, więc początek O

2

umieszczono w punkcie ich

przecięcia. Oś x

2

została wybrana jako równoległa do osi x

1

, dzięki czemu kąt

θ

2

jest równy

zeru. Na koniec został ustalony trzeci układ współrzędnych na końcu członu 3, jak to
pokazano na rys. 44. Parametry kinematyczne przedstawiono w tab. 2.

Tab. 2. Parametry kinematyczne trójczłonowego manipulatora cylindrycznego

Człon

1

2

3

a

i

0

0

0

α

i

0

-90

0

d

i

d1=const d2

d3

θ

i

θ

1

0

0


A odpowiednie macierze A i T wyglądają następująco

background image

=

1

0

0

0

1

0

0

0

0

cos

sin

0

0

sin

cos

A

1

1

1

1

1

1

d

θ

θ

θ

θ

(185)

=

1

0

0

0

0

1

0

0

1

0

0

0

0

0

1

A

2

2

d

(185)

=

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

A

3

3

d

(186)

+

=

=

1

0

0

0

0

1

0

cos

cos

0

sin

sin

0

sin

cos

A

A

A

T

2

1

1

3

1

1

1

3

1

1

3

2

1

3

0

d

d

d

d

θ

θ

θ

θ

θ

θ

(187)

Przykład 14. Kiść sferyczna

Konfigurację kiści sferycznej ilustruje rys. 45.

Rys. 45 Przyporządkowanie układów współrzędnych w kiści sferycznej

Osie przegubów z

3

,

z

4

, z

5

przecinają się w punkcie O. Parametry Denavita-Hartenberga są

przedstawione w tab. 3. Przykładem robota z kiścią tego typu jest manipulator stanfordzki.
Dalsza analiza stosuje się oczywiście do wszystkich kiści sferycznych.



background image

Tab. 3. Parametry Denavita-Hartenberga dla kiści sferycznej

Człon

4

5

6

a

i

0

0

0

α

i

-90

90

0

d

i

0

0

d

6

θ

i

θ

4

θ

5

θ

6

Pokażemy teraz, że ostatnie trzy zmienne przegubowe

θ

4

,

θ

5

i

θ

6

są odpowiednio

kątami Eulera

φ

,

θ

,

ψ

w odniesieniu do układu współrzędnych O

3

x

3

y

3

z

3

. Aby to zobaczyć,

potrzebujemy obliczyć macierze A

4

, A

5

i A

6

, wykorzystując tab. 3 i równanie (170). Wówczas

otrzymujemy

=

1

0

0

0

0

0

1

0

0

cos

0

sin

0

sin

0

cos

A

4

4

4

4

4

θ

θ

θ

θ

(188)

=

1

0

0

0

0

0

1

0

0

cos

0

sin

0

sin

0

cos

A

5

5

5

5

5

θ

θ

θ

θ

(189)

=

1

0

0

0

1

0

0

0

0

cos

sin

0

0

sin

cos

A

6

6

6

6

6

6

d

θ

θ

θ

θ

(190)

A po wymnożeniu tych macierzy, otrzymujemy

+

+

=

=

=

1

0

0

0

1

0

d

R

A

A

A

T

5

6

5

6

5

6

5

5

4

6

5

4

6

4

6

5

4

6

4

6

5

4

5

4

6

5

4

6

4

6

5

4

6

4

6

5

4

6
3

6
3

6

5

4

6

3

c

d

c

s

s

c

s

s

s

d

s

s

c

c

s

c

s

s

c

c

c

s

s

c

d

s

c

c

s

s

c

c

s

s

c

c

c

(191)

Porównanie części obrotowej

R

3

6

macierzy

T

3

6

z macierzą przekształcenia (83) przy obrocie

układu współrzędnych o kąty Eulera pokazuje, że kąty

θ

4

,

θ

5

i

θ

6

mogą rzeczywiście być

utożsamiane z kątami Eulera

φ

,

θ

,

ψ

w odniesieniu do układu współrzędnych O

3

x

3

y

3

z

3

.

Przykład 15.

Manipulator cylindryczny z kiścią sferyczną

Załóżmy teraz, że przymocowujemy kiść sferyczną do manipulatora cylindrycznego z

przykładu 13, jak to pokazano na rys. 46. Zauważmy, że oś obrotu w przegubie 4 jest
równoległa do osi z

2

i pokrywa się z osią z

3

z przykładu 13. Dzięki temu możemy

bezpośrednio połączyć dwa wcześniejsze wyrażenia (187) i (191), aby otrzymać równania
kinematyki prostej w postaci

T

0

6

=

T

0

3

T

3

6

(192)

gdzie macierz

T

0

3

jest określona równaniem (187), a macierz

T

3

6

– równaniem (191). Stąd

kinematyka prosta tego manipulatora jest opisana poniższym wzorem

background image

Rys. 46. Robot cylindryczny z kiścią sferyczną

=

+

+

+

=

=

1

0

0

0

1

0

0

0

1

0

0

0

0

1

0

0

0

T

T

T

33

32

31

23

22

21

13

12

11

5

6

5

6

5

6

5

5

4

6

5

4

6

4

6

5

4

6

4

6

5

4

5

4

6

5

4

6

4

6

5

4

6

4

6

5

4

2

1

1

3

1

1

1

3

1

1

6

3

3

0

6

0

z

y

x

d

r

r

r

d

r

r

r

d

r

r

r

c

d

c

s

s

c

s

s

s

d

s

s

c

c

s

c

s

s

c

c

c

s

s

c

d

s

c

c

s

s

c

c

s

s

c

c

c

d

d

c

d

c

s

s

d

s

c

(193)

gdzie

+

+

=

+

=

=

=

+

=

=

=

+

=

=

=

=

+

=

2

1

5

4

6

1

3

5

1

6

5

4

1

6

1

3

5

1

6

5

4

1

6

5

4

33

5

1

5

4

1

23

5

1

5

4

1

13

6

4

6

5

4

32

6

5

1

6

4

1

6

5

4

1

22

6

5

1

6

4

1

6

5

4

1

12

6

4

6

5

4

31

6

5

1

6

4

1

6

5

4

1

21

6

5

1

6

4

1

6

5

4

1

11

d

d

s

s

d

d

c

d

c

c

d

s

c

s

d

d

s

d

c

s

d

s

c

c

d

d

s

s

r

c

c

s

c

s

r

c

s

s

c

c

r

c

c

s

c

s

r

s

s

c

c

s

s

s

c

c

s

r

s

s

s

c

s

c

s

c

c

c

r

s

c

c

c

s

r

c

s

c

s

s

s

c

c

c

s

r

c

s

s

s

s

c

c

c

c

c

r

z

y

x

(194)

Zauważmy, jak bardzo wzrosło skomplikowanie równań kinematyki prostej tego

manipulatora po wprowadzeniu zorientowania końcówki roboczej, podczas gdy wyrażenia
(187) opisujące pozycję samego ramienia są stosunkowo proste. Przyjęcie kiści sferycznej nie
tylko upraszcza wyprowadzenie równań kinematyki prostej, ale pozwala także uprościć

rozwiązanie problemu kinematyki odwrotnej, czym zajmiemy się w dalszych wykładach.

background image

Przykład 16. Manipulator stanfordzki

Rozważmy manipulator stanfordzki przedstawiony na rys. 47. Jest on przykładem

manipulatora sferycznego RRP z kiścią sferyczną. Manipulator ten ma przesunięcie w
przegubie barkowym, które trochę komplikuje zarówno zadanie kinematyki prostej, jak i
odwrotnej.

Rys. 47. Przyporządkowanie układów współrzędnych dla manipulatora stanfordzkiego

Na początku przyporządkujemy układy współrzędne przegubów, zgodnie z notacją

Denavita-Hartenberga, jak to pokazano na rys. 47. Parametry kinematyczne przedstawiono w
tab. 4.

Tab. 4. Parametry Denavita-Hartenberga dla manipulatora stanfordzkiego

Człon

a

i

α

i

d

i

θ

i

1

0

-90

0

θ

1

2

0

+90

d

2

θ

2

3

0

0

d

3

0

4

0

-90

0

θ

4

5

0

+90

0

θ

5

6

0

0

d

6

θ

6

Na tej podstawie można wyznaczy macierze A

i

które wyrażają się następującymi

wzorami

background image

=

1

0

0

0

0

0

1

0

0

0

0

0

A

1

1

1

1

1

c

s

s

c

(195)

=

1

0

0

0

0

1

0

0

0

0

0

A

2

2

2

2

2

2

d

c

s

s

c

(196)

=

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

A

3

3

d

(197)

=

1

0

0

0

0

0

1

0

0

0

0

0

A

4

4

4

4

4

c

s

s

c

(198)

=

1

0

0

0

0

0

1

0

0

0

0

0

A

5

5

5

5

5

c

s

s

c

(199)

=

1

0

0

0

1

0

0

0

0

0

0

A

6

6

6

6

6

6

d

c

s

s

c

(200)

Wówczas macierz T

0

6

można zapisać jako

=

=

1

0

0

0

A

A

A

A

A

A

T

33

32

31

23

22

21

13

12

11

6

5

4

3

2

1

6

0

z

y

x

d

r

r

r

d

r

r

r

d

r

r

r

(201)

gdzie

background image

+

=

+

+

+

+

=

+

+

=

+

=

+

+

=

+

=

+

+

=

+

+

+

+

=

+

+

+

=

=

+

+

=

+

=

)

(

)

(

)

(

)

(

)

(

)

(

)

(

]

)

(

[

)

(

]

)

(

[

)

(

)

(

]

)

(

[

)

(

]

)

(

[

5

2

4

5

2

6

2

3

2

1

5

5

1

4

2

5

4

1

6

1

2

2

1

3

5

4

1

2

5

1

5

4

2

1

6

1

2

2

1

3

5

2

5

4

2

33

5

4

1

5

2

5

4

2

1

23

5

4

1

5

2

5

4

2

1

13

6

5

2

6

4

6

5

4

2

32

6

4

6

5

4

1

6

5

2

6

4

6

5

4

2

1

22

6

4

6

5

4

1

6

5

2

6

4

6

5

4

2

1

12

6

5

2

6

4

6

5

4

2

31

6

4

6

5

4

1

6

5

2

6

4

6

5

4

2

1

21

6

4

6

5

4

1

6

5

2

6

4

6

5

4

2

1

11

s

s

c

c

c

d

c

d

d

s

s

c

s

s

c

c

s

s

c

d

c

d

s

s

d

d

s

s

s

s

c

c

s

c

c

c

d

s

d

s

c

d

d

c

c

s

c

s

r

s

s

c

c

s

s

c

c

s

r

s

s

s

c

s

s

c

c

c

r

s

s

c

c

s

s

c

c

s

r

c

c

s

c

s

c

s

s

s

c

s

s

c

c

c

s

r

c

c

s

c

s

s

s

s

s

c

s

s

c

c

c

c

r

c

s

c

s

s

c

c

c

s

r

s

c

c

c

s

c

c

s

s

s

s

c

c

c

c

s

r

s

c

c

c

s

s

c

s

s

s

s

c

c

c

c

c

r

z

y

x

ϕ

(202)

Przykład 17.

Manipulator typu SCARA

Jako inny przykład zastosowania ogólnej procedury rozważmy manipulator typu

SCARA, przedstawiony na rys. 48.

Rys. 48. Przyporządkowanie układów współrzędnych dla manipulatora SCARA


Manipulator ten, wzorowany na robocie AdeptOne, składa się z ramienia typu RRP i kiści o
jednym stopniu swobody, której ruchem jest obrót wokół pionowej osi. Pierwszym krokiem
jest umieszczenie i oznaczenie osi przegubów, jak to pokazano na rys48. Ponieważ wszystkie
osie są równoległe, mamy sporo swobody w rozmieszczaniu początków układów
współrzędnych. Zostały one wybrane jak na rysunku dla wygody w dalszych rozważaniach.

x

0

ustalono w płaszczyźnie rysunku. Jest to zupełnie dowolne i wpływa jedynie na

konfigurację zerową manipulatora, tzn. pozycję manipulatora dla

θ

1

= 0.

background image

W tab. 5. przedstawiono parametry kinematyczne, a poniżej macierze A manipulatora

typu SCARA.

Tab. 5. Parametry Denavita-Hartenberga dla manipulatora typu SCARA

Człon

a

i

α

i

d

i

θ

i

1

a

1

0

0

θ

1

2

a

2

180

0

θ

2

3

0

0

d

3

0

4

0

0

d

4

θ

4


A macierze A

i

poniżej

=

1

0

0

0

0

1

0

0

0

0

A

1

1

1

1

1

1

1

1

1

s

a

c

s

c

a

s

c

(203)

=

1

0

0

0

0

1

0

0

0

0

A

2

2

2

2

2

2

2

2

2

s

a

c

s

c

a

s

c

(204)

=

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

A

3

3

d

(205)

=

1

0

0

0

1

0

0

0

0

0

0

A

4

4

4

4

4

4

d

c

s

s

c

(206)

Równania kinematyki prostej mają więc następującą postać

=

=

1

0

0

0

A

A

A

A

T

33

32

31

23

22

21

13

12

11

4

3

2

1

4

0

z

y

x

d

r

r

r

d

r

r

r

d

r

r

r

(207)

gdzie

background image

=

+

=

+

=

=

=

=

=

=

=

=

+

=

+

=

4

3

12

2

1

1

12

2

1

1

32

31

23

13

33

4

12

4

12

22

4

12

4

12

21

4

12

4

12

12

4

12

4

12

11

0

,

0

,

0

,

0

1

d

d

d

s

a

s

a

d

c

a

c

a

d

r

r

r

r

r

c

c

s

s

r

s

c

c

s

r

c

s

s

c

r

s

s

c

c

r

z

y

x

ϕ

(208)


Wyszukiwarka

Podobne podstrony:
Materialy dla studentow OA 1 id Nieznany
materialy dla studentow 10 2 id Nieznany
materialy dla studentow polisac Nieznany
Materiały dla studentów OA W2
Programowanie liniowe material dla studenta id 396197
Biochemia materialy dla studentow id 8618
materialy dla studentow polisac Nieznany
Materiały dla studentów ENDOKRYNOLOGIA
materiały dla studentów 8
Socjalizm utopijny, Materiały dla studentów WSB DG
Test z Monitoringu Biologicznego, Materiały dla studentów, ochrona srodowiska
MATERIALY DO WYKLADU CZ V id 2 Nieznany
Materiały dla studentów Studiów Podyplomowych, Edukacja wczesnoszkolna, edukacja wczesnoszkolna, na
RYTMY BIOLOGICZNE, MATERIAŁY dla STUDENTÓW, 500 PRAC (pedagogika, psychologia, socjologia, filozofia

więcej podobnych podstron