OSNOVE ROBOTIKE - VUB · Kinematika industrijskih robota Kartezijski roboti • Povoljno radno...

Preview:

Citation preview

OSNOVE ROBOTIKE

V. SEMESTAR

Tomislav Pavlic, mag.ing.mech.

Posebna zahvala gospodi Filip Lerga, mag.ing.mech. i mr.sc. Željko Goja (HSTECH D.O.O. Zadar)

Sadržaj

1. Uvod – Roboti i Robotika

2. Podjela robotike – Industrijska i mobilna

robotika

3. Kinematika industrijskih robota i dinamika

robota

4. Upravljanje industrijskih robota

5. Programiranje i vođenje industrijskih robota

6. Primjena industrijskih robota u proizvodnji

Kinematika industrijskih robota Kartezijski roboti

• Povoljno radno područje

• Veliki roboti

• Skuplja izrada

• Manje brzine

SCARA roboti

• Krutost u vetikalnom smjeru

• Popustljivost u horizontalnoj

ravnini

• Velike brzine

• Povoljni za montažu

6-osni roboti – vertikalna zglobna

konfiguracija

• Velika fleksibilnost

• Mali i srednji roboti

• Najzastupljeniji

Paralelni ili Delta roboti

• Visoka krutost i preciznost

• Velike brzine

• Povoljni za pick&place

Kinematika industrijskih robota

Kinematika industrijskih robota

• Matrica transformacije

• Matrice rotacije

• Detaljno objašnjenje:

https://www.youtube.com/watch?v=QKyDrUonp98

Dinamika robota

• Brzine robota – do 4 m/s i 2 rad/s

• Inverzni dinamički problem – proračun koji za zadanu putanju robota određuje potrebne

momente u pojedinim osima kako bi se postigla određena pozicija, određenom brzinom i

ubrzanjem.

• Direktan dinamički problem – proračun koji za zadane momente u osima određuje

putanju robota uz određenu brzinu i ubrzanje.

• Dinamička analiza – u obzir se uzimaju statičke i gravitacione sile (težine pojedinih

segemenata robota i motora). Složen proračun jer su ubrzanja složene funkcije položaja,

vremena i momenata inercije.

• Proračuni – pri dinamičkom modeliranju najviše se koristi Lagrange-ov model

Pogoni robota Pneumatski pogon Hidraulični pogon

Elektromotorni pogon

Singularitet

Singulariteti su konfiguracije ili položaji

manipulatora u kojima on gubi jedan ili više

stupnjeva slobode. Njihova identifikacija je važna iz

sljedećih razloga:

U singularnim položajima end-efektora njegovim

konačnim brzinama bi odgovarale beskonačno

velike brzine u pojedinim zglobovima;

Konačnim silama i momentima end-efektora bi

odgovarale beskonačno velike sile i momenti u

pojedinim zglobovima;

U singularnim položajima ne postoji jednoznačno

riješenje određenih matematičkih problema

U singularnim položajima određeni pravci

kretanja su nedostižni.

Javljaju na granicama radnog prostora ili pri

preklapanju nultih pozicija dvije osi

Redundantnost i konfiguracija osi • Svaki robot s više od 6 sutpnjeva slobode je redundantan

• Redundandnost je povoljna jer omogućuje dolazak u istu točku na više načina

orijentacije robotskih osi.

Značajke industrijskog robota

- Nosivost

- Broj SSG-a

- Točnost ponavljanja

- Točnost pozicioniranja

- Struktura

- Radni i kolizijski prostor

- Način upravljanja i programiranja

- Vrsta pogona

- Cijena

program

Funkcionalna struktura robota

MEHANIČKI SUSTAV

ENERGETSKI SUSTAV

O P E R A T E R

UPRAVLJAČKI SUSTAV

MJERNI SUSTAV

materija energija informacija

Kinematičke strukture

Translacijski SSG Rotacijski SSG

z

x

y

z

x

y

Y

Z

X A

B

C

XYZ ZYX

z

x

y

z

x

y

CZX CZB

z

x

y

z

x

y

Kartezijeva struktura robota (T T T)

Radni prostor robota s pravokutnom konfiguracijom je prizma.

Kod tih robota postoji neposredna veza između varijabli zglobova i

prostornih koordinata alata.

Shematski takav je robot prikazan na slici dolje:

http://www.youtube.com/watch?v=k22w8jG5VGQ

Kartezijeva struktura robota (T T T)

Kartezijeva struktura robota (T T T)

Kartezijeva struktura robota (T T T)

VIDEO PRIKAZ: PORTALNI ROBOT-IRB840.avi

FSB, Zagreb

Primjer kartezijeve strukture na slici ispod: montažni robot (3-osi)

Cilindrična struktura robota (R T T)

Ako se prvi zglob kod pravokutne konfiguracije robota zamijeni

rotacijskim zglobom, dobiva se robot cilindrične konfiguracije

Radni prostor takvog robota zbog ograničenog translacijskog

gibanja jednak je volumenu između dvaju vertikalnih robota

koncentričnih plaštova valjaka

Shematski takav je robot prikazan na slici dolje

Cilindrična struktura robota (R T T)

http://www.youtube.com/watch?v=_5a3OVi-v8E

Cilindrična struktura robota (R T T)

Kvazicilindrična struktura robota (R T R)

Sferna struktura robota (R R T)

Ako se drugi zglob cilindrične konfiguracije robota zamijeni rotacijskim

zglobom, dobiva se robot sferne konfiguracije

Ako postoji ograničenje translacijskog gibanja, radni je prostor tog tipa

robota volumen između dviju koncentričnih sfera

Uz ograničenje svih gibanja radni je prostor dio volumena između dviju

koncentričnih sfera

Primjer industrijskog robota sa sfernom konfiguracijom prikazan je na

slici dolje

Sferna struktura robota (R R T)

Sferna struktura robota (R R T)

Rotacijska struktura robota (R R R)

Uza sva tri rotacijska zgloba, robot ima rotacijsku konfiguraciju, koja se još

naziva laktasta, antropomorfna ili zglobna

Ako ne postoje ograničenja rotacijskih gibanja, tada je radni prostor tog

robota kugla,

Uz ograničenja to je dio kugle složenog oblika čiji je presjek sa strane

najčešće u obliku polumjeseca

Takav robot shematski je prikazan na slici dolje, kao i primjer

istovrsnog industrijskog robota

Rotacijska struktura robota (R R R)

Rotacijska struktura robota (R R R)

SCARA struktura robota (R R RT)

Robot tipa SCARA također ima dva (tri) rotacijska i jedan translacijski

zglob.

Kod takvih su robota osi svih triju zglobova vertikalne.

Na slici, shematski je prikazan robot s RRT konfiguracijom.

SCARA struktura robota (R R RT)

SCARA struktura robota (R R RT)

SCARA struktura robota (R R RT)

Heksapodna struktura robota

Transformacija koordinata u ravnini - translacija

zadano: x,y,a,b

traži se: x1,y1

x1

y1

O1 x

y

O a

b

1

1

yby

xax

byy

axx

1

1

38

Transformacija koordinata u ravnini - rotacija

Rotacija

x1

y1

O1 x

y

O

zadano: x,y,

traži se: x1,y1

sincos

sincos

1

1

xyy

yxx

39

sincos

sincos

1

1

xyy

yxx

y

x

y

x

cossin

sincos

1

1

11pAp

1

1

cossin

sincos

y

x

y

x

pAp 1

matrica transformacija A=

40

Homogene transformacije

desnokretni pravokutni koordinatni sustav

x

y

z

O

j

k

i

41

10

1000

nm

nm

zzzz

yyyy

xxxx

nm

pkji

pkji

pkji

pRA

Matrica homogenih transformacija

opis položaja i orijentacije sustava n prema sustavu m

1000

0100

0010

0001

nnA

referentni sustav svojstva

0

1

ikkjji

kji

kji

42

1000

2001

2100

1010

10A

x

y

z

O0

j

k

i 1 2

1

2

1

2

p

O1

z1 k1

y1

j1

x1

i1

43

prijelaz između koordinatnih sustava

110

0 pAp

001

0

1

10

1 pApAp

inverzna matrica homogenih transformacija

1000

1

kp

jp

ip

AA

zyx

zyx

zyx

mn

nm

kkk

jjj

iii

44

Transformacije translacije

x

y

z

O0

j

k

i 1 2

1

2

1

2

x1

y1

z1

O1

j1

k1

i1 1 2

1

2

1

2

a

b

c

1000

100

010

001

),,(Tranc

b

a

cbaA

45

Transformacije rotacije

x

y

z

O0

j

k

i 1 2

1

2

1

2

1000

0cossin0

0sincos0

0001

),(Rot

xAx1

i1

1

2

y1

z1

O1

j1

k1

1 2

1

2

46

1000

0cos0sin

0010

0sin0cos

),(Rot

yA

1000

0100

00cossin

00sincos

),(Rot

zA

47

Relativne i apsolutne transformacije

Rot(x,90°) = 0A1

Tran(0,b,c) = 1A2

Relativne transformacije Apsolutne transformacije

x

y

z

O0

x1

y1

z1

O1

x

y

z

O0

x1

y1

z1

O1

x2

y2

z2 O2

x2

y2

z2 O2

T= 1A2 0A1 T= 0A1

1A2

48

Matrica transformacija

upotrebljavat ćemo samo relativne transformacije

110

0 pAp

221

1 pAp 22

11

00 pAAp

21

10

20

AAT matrica transformacija

220

0 pTp

002

0

1

20

2 pTpTp

prijelaz iz n-tog u m-ti sustav

n

mi

ii

nm

1

1AT

49

Rot(z,)

Tran(a,b,0)

Rot(x,)

1000

0100

00cossin

00sincos

),(Rot1

zA

1000

0100

010

001

)0,,(Tran2

b

a

baA

1000

0cossin0

0sincos0

0001

),(Rot3

xA

50

1000

0cossin0

cossinsincoscoscossin

sincossinsincossincos

30

ba

ba

T

0

3 1 2 3T A A A

1000

00 22

2121211

2121211

30

cs

bcasscccs

bsacsscsc

T

,...,,,...,, 321 qqq

)cos(

)sin(

cos

sin

jiij

jiij

ii

ii

qqc

qqs

qc

qs

51

qi

Denavit-Hartembergov zapis strukture robota

Os zi-1 koordinatnog sustava (i-1), leži u osi gibanja i-tog

stupnja slobode gibanja.

Os xi-1 okomita je na os zi-1 i paralelna je s osi koja ide

uzduž segmenta.

Os yi-1 postavlja se tako da čini desnokretni koordinatni

sustav.

yi-1

zi-1

xi-1

Oi-1

52

Matrica prihvata

1000

1000

0

zzzz

yyyy

xxxx

npaon

paon

paon

paonT

x

y

z

O

o

a

n

n = vektor normale o = vektor orijentacije a = vektor djelovanja p = vektor položaja

53

Stanford manipulator

L1

L2

L3

L4

q1

q2

q3

q4

z

x

y

O0

x1

y1

z1

O1

x2

y2

z2

O2

x3

y3

z3

O3

x4 y4

z4 O4

54

q1

q2

q3

q4

z

x

y

O0

x1

y1

z1

O1

x2

y2

z2

O2

x3

y3

z3

O3

x4 y4

z4 O4

1000

0100

00

00

),(Rot11

11

11

cs

sc

qzA

1000

0

0010

00

),()Rot,0,0(Tran122

22

212Lcs

sc

qyLA

1000

100

010

0001

)q,,0(Tran33

23323

qL

LLLA

1000

0

0010

0

),0,0(Tran),(Rot4444

4444

444Lccs

Lssc

LqyA

55

432140 AAAAT

1000

)(0

)(

)(

42433212424

21424133212411241

21424133212411241

40

LcqLcLcs

LcLssqLssssccs

LsLscqLscscscc

T

qi=0 nulti položaj

1000

100

010

0001

431

24

0

LLL

LT

56

q1=20°

q2=40°

q3=0.15 m

q4=80°

L1=0.5 m

L2=0.15 m

L3=0.3 m

L4=0.15 m

1000

76972.0500.0000.0866.0

28431.0296.0939.0171.0

34257.0814.0342.0469.0

40T

57

z

y

x

Opis robota i okoline

SBG = ET6

T6 = E-1SBG

B

G T6

E

S

58

Definiranje okoline kamerom

z

y

x

KDG = ET6

T6 = E-1KDG

G T6

E

K D

59

Eulerovi kutevi

0

1

naaoon

aon

aon

1000

0

zzzz

yyyy

xxxx

npaon

paon

paon

T

- skretanje

- nagib

- valjanje

cos

sinsin

sincos

sinsin

coscossincossin

cossinsincoscos

cossin

sincoscoscossin

sinsincoscoscos

z

y

x

z

y

x

z

y

x

a

a

a

o

o

o

n

n

n

),(Rot),(Rot),(Rot zyz

60

Eulerovi kutevi – inverzna rješenja

sinarccos

)arccos(

arctan

z

z

x

y

n

a

a

a

)cossin-,cossin-ATAN2(

),sincos(ATAN2

),(ATAN2

yxyx

zyx

xy

oonn

aaa

aa

x

y

+

+ -

-

ATAN2

61

Unutarnje i vanjske koordinate

vektor unutarnjih koordinata T

654321 ][ qqqqqqq

vektor vanjskih koordinata T][ zyx pppr

Stanford manipulator

T4321 ][ qqqqq

0

42

1

qq

q

T][ zyx pppr

62

Kvaternion

12

11 zyx aonk

)(signsign12

122 yzzyx -aokaonk

)(signsign12

133 zxzxy -nakanok

)(signsign12

144 xyyxz -onkonak

124

23

22

21 kkkk

1000

0100

0010

0001

nnA

referentni sustav

0

0

0

1

4

3

2

1

k

k

k

k

63

Inverzni kinematički problem

poznato T=[ n o a p ]T ili r=[ px py pz ]T

traži se q=[ q1 q2 q3 q4 q5 q6 ]T

L1

L2

q1

q2

(x,y)

x

y )sin(sin

)cos(cos

21211

21211

qqLqLy

qqLqLx

?

?

2

1

q

q

64

Upute za rješavanje

rješenje mora biti jednoznačno

ne postoji univerzalni algoritam ali postoji postupak

postupak ovisi od strukture robota

izbjegavati dijeljenje sa sinq i cosq

obratiti pažnju na karakteristike programskog

jezika u kojem se rješava problem

65

Postupak

61

601

10 )( TTA

62

601

101

21 )()( TTAA

63

601

101

211

32 )()()( TTAAA

64

601

101

211

321

43 )()()()( TTAAAA

65

601

101

211

321

431

54 )()()()()( TTAAAAA

60

60 TT

66

IKP za Stanford manipulator

41

401

10 )( TTA

1000

)(0

010

)(0

10001000

0100

00

00

42433212424

2

4243322424

11

11

LcqLcLcs

L

LsqLssc

paon

paon

paon

cs

sc

zzzz

yyyy

xxxx

1000

)(0

010

)(0

1000

)()()()(

)()()()(

)()()()(

42433212424

2

4243322424

13131313

12121212

11111111

LcqLcLcs

L

LsqLssc

ffff

ffff

ffff

paon

paon

paon

zf

ycxsf

ysxcf

13

1112

1111

67

211 Lpcps yx (2,4) = (2,4)

supstitucija

sin

cos

rp

rp

y

x

x

y

yx

p

p

ppr

arctan

22

rLqq /sincoscossin 211

rLq /)sin( 21

221 )/(1)cos( rLq

22

2

21)tan(

Lr

Lq

22

2

21 arctanarctan

Lr

L

p

pq

x

y

68

(2,3) = (2,3)

x

y

a

aq arctan1

(2,1) = (2,1)

x

y

n

nq arctan1

(2,1) = (2,1) 24q

69

(1,4) = (1,4) 42433211 )( LsqLspspc yx (*)

(3,4) = (3,4) 4243321 )( LcqLcLpz (**)

iz (*)

33

424112

qL

Lspspcs

yx

iz (**)

33

42412

qL

LcLpc z

4241

424112 arctan

LcLp

Lspspcq

z

yx

4 24 2 2q q q q

70

p

p

12211223

1122

12211221

)(

)(

Lczcysxcsf

ycxsf

Lszsysxccf

1 1 0 1 0 2

2 1 4 4( ) ( ) A A T T

1000

0

010

0

1000

)()()()(

)()()()(

)()()()(

1000

0

0010

0

443344

2

4444

13131313

12121212

11111111

1222

1222

LcqLcs

L

Lssc

ffff

ffff

ffff

Lccs

Lssc

paon

paon

paon

1000

0

010

0

1000

)()()()(

)()()()(

)()()()(

443344

2

4444

23232323

22222222

21212121

LcqLcs

L

Lssc

ffff

ffff

ffff

paon

paon

paon

71

4433122112 )( LcqLLcpcpspcs zyx (3,4) = (3,4)

344121123 )()( LLcLpcpspcsq zyx

rješenje IKP-a za Stanford manipulator

22

2

21 arctanarctan

Lr

L

p

pq

x

y

24q

4241

424112 arctan

LcLp

Lspspcq

z

yx

2244 qqq

344121123 )()( LLcLpcpspcsq zyx 72

Jacobieva matrica

)(qr f

q

rJ

654321 q

p

q

p

q

p

q

p

q

p

q

p xxxxxx

654321 q

p

q

p

q

p

q

p

q

p

q

p yyyyyy

654321 q

p

q

p

q

p

q

p

q

p

q

p zzzzzz

654321 qqqqqq

654321 qqqqqq

654321 qqqqqq

J

73

qqJr )( t/

tt

qqJ

r)(

0lim/t

qqJr )(

qqJqqJ

r )(d

)(d

t

det(J(q)) = 0 singularni položaj robota

74

Jacobieva matrica Stanford manipulatora

yx pLssqLssLc

q

pJ

4241332121

111 )(

424133212

12 )( LccqLccq

pJ x

213

13 scq

pJ x

14 1 24 4

4

xpJ c c L

q

75

xy

pLscqLscLsq

pJ

4241332121

121 )(

424133212

22 )( LcsqLcsq

pJ

y

213

23 ssq

pJ

y

42414

24 Lcsq

pJ

y

76

01

31

q

pJ z

4243322

32 )( LsqLsq

pJ z

23

33 cq

pJ z

4244

34 Lsq

pJ z

01

41

qJ

12

42

qJ

03

43

qJ

14

44

qJ

77

q1=20°

q2=40°

q3=0.15 m

q4=80°

L1=0.5 m

L2=0.15 m

L3=0.3 m

L4=0.15 m

1010

130.0766.0284.00

026.0220.0119.0342.0

070.0604.0253.0282.0

J

T2/30.76970.28430.3425 r

T00.0030.0030.003r

T0040.00.00470.00400.0040 q

T0.229-4.7mm0.2290.229 q78

Rješavanje IKP iteracijom

Saznati približno rješenje q* (kojemu odgovara r*)

Izračunati pogrešku r = r - r*.

Ako je r < rješenje je q= q* . Stop.

Prebaciti pogrešku r u unutarnje koordinate

q = J-1 r

Popraviti približno rješenje

q* = q* + q

Izračunati novo približno rješenje iz DKP-a

r*= f (q*)

Korak 2. 79

Kriteriji vođenja robota

Vođenje točka-točka (slobodni prijelaz i slijedno vođenje)

Vođenje po vektoru položaja (i orijentacije)

Vođenje po vektoru brzine

Vođenje po vektoru ubrzanja

Vođenje po vektoru sile/momenta

Vođenje po kriteriju minimalnog utroška energije

80

Vođenje točka-točka “slobodni prijelaz”

qA=[ q1 q2 q3 q4 q5 q6 ]T q B=[ q1 q2 q3 q4 q5 q6 ]

T

81

t

q1

1

t 1

1q

t 1

1q

q1A

q1B

t

q2

2

t 2

2q

t 2

2q

q2A

q2B

1 ≠ 2 82

Vođenje točka-točka “slijedno vođenje”

qA=[ q1 q2 q3 q4 q5 q6 ]T qB=[ q1 q2 q3 q4 q5 q6 ]

T

83

q2A

t

q2

2

t 2

2q

t 2

2q

q2B

1 = 2

t

q1

1

t 1

1q

t 1

1q

q1A

q1B

84

Vođenje po vektoru položaja

x

y

z

O

između točaka: vođenje točka-točka slijednog tipa 85

Literatura

1. T. Šurina, M. Crneković, Industrijski roboti, Školska knjiga, Zagreb, 1990.

2. M. Crneković, Industrijski i mobilni roboti, predavanja, FSB – Zagreb

3. B. Jerbić, Zavod za robotiku i automatizaciju proizvodnih sustava-Katedra za

projektiranje izradbenih i montažnih sustava, projekti, FSB – Zagreb

4. B. Jerbić, Z. Kunica, Inteligentni montažni sustavi, predavanja, FSB –

Zagreb

5. B. Jerbić, Projektiranje automatskih montažnih sustava, predavanja, FSB –

Zagreb

6. Z. Kovačić, V. Krajči, S. Bogdan, Osnove robotike, Grafis, Zagreb, 2000.