Professional Documents
Culture Documents
RobotokProgramozasa PDF
RobotokProgramozasa PDF
ROBOTOK PROGRAMOZSA
1. ROBOT KINEMATIKAI ALAPOK
A robot felfoghat egy irnytott mechanizmusnak, amely elrhat plyn mozoghat, s a plya mentn elrhat feladatokat lthat el. A robot szegmensekbl ll,
melyeket transzlcis vagy rotcis csuklk kapcsolnak ssze, a robot mozgsa pedig a fizika trvnyeinek van alvetve. Mkdst az irnyts klnbz szintjen
klnfle modellekkel (kinematikai, dinamikus) rhatjuk le. A robotok programozsakor ezek kzl a legegyszerbb kinematikai (geometriai) modell jtszik szerepet.
Ebben alapvet fontossg a koordinta-rendszerek kztti kapcsolat lersa.
Alkalmazi szempontbl ugyanis merev robotok esetn, amelyeknl a rugalmas
alakvltozs elhanyagolhatan kicsi a robot elvrt pontossghoz kpest, a robot ltal elvgzend mozgs definilsakor alapul vlaszthatunk egy bzis koordintarendszert (szoks vilg koordinta-rendszernek is nevezni), amelyhez elrjuk, hol
legyen a robot munkavgz eszkze, az n. vgberendezs (end effector) a mozgs
soronkvetkez fzisban a bzis koordinta-rendszerhez kpest. Mivel azonban
nem csak a vgberendezs (megfog, szerszm, technolgiai eszkz: festkszr
pisztoly, pont- vagy vhegeszt stb.) pozcija, hanem annak orientcija is fontos
(gondoljunk arra, hogy ha a megfog egy vzzel teli pohart tart, akkor nem mindegy,
hogy a pohr szja felfel vagy lefel nz), ezrt kzenfekv a vgberendezshez is
egy koordinta-rendszert rgzteni, s a kt koordinta-rendszer kztti relatv pozcit s orientcit elrni. Ez azt jelenti, hogy van kt derkszg koordintarendszer, a K B bzis koordinta-rendszer s a K E end effector koordinta-rendszer,
s a mozgs definilsa sorn azt mondjuk meg, hol legyen K E origja s hogyan
lljanak a K E egysgvektorai a vilg koordinta-rendszer origjhoz s egysgvektoraihoz kpest. Az elbbit a vgberendezs pozcijanak (szerszm kzppont,
TCP, Tool Center Point), az utbbit az orientcijnak nevezzk.
Vilgos, hogy a robot szegmenseinek egymshoz kpesti relatv elhelyezkedse
is hasonl elven alapulva rhat le. Rgzthetnk ugyanis a kinematikai lncban egy
K i 1 koordinta-rendszert a megelz szegmenshez, a kinematikai lncban
soronkvetkez szegmenshez pedig egy K i koordinta-rendszert, s mozgsukat lerhatjuk a kt koordinta-rendszer relatv mozgsa segtsgvel. Fizikailag a szegmenseket rendszerint motorok mozgatjk fogaskerk vagy fogaslc tttelen keresztl, a motor elhelyezhet a megelz szegmensen, az tttel tengelye pedig tekinthet a kvetkez szegmenst mozgat (R rotcis, vagy T transzlcis) csukl tengelynek. A K i 1 koordinta-rendszer z i 1 tengelye vlaszthat a soron kvetkez
P
z
y
x
x
(1.1)
a13 x p x
a 22 a 23 y + p y ,
a 32 a 33 z p z
i j k
14442444
3
x a11
y = a 21
a
z 31
a12
(1.2)
felrva az
i, j , k bzisban
r = Ar + p
(1.3)
a12
a13
a 22
a 32
0
a 23
a 33
0
p l m n
=:
1 1 0 0 0
p x x
p y y
,
p z z
1 1
p
=: T .
1 1
1
r = Tr .
(1.4)
(1.5)
(1.6)
p1 A2
1 0 T
p 2 A1 A2
=
1 0T
A1 p 2 + p1
.
1
(1.7)
(1.8)
= sin
Rot (z, ) =
(1
i rot j rot k rot )
42
4 43
4
kifejezve i, j,k ban 0
sin
cos
0
0 C
0 = S
1 0
C
0
0
0
1
C 0 S
j rot
k rot
)= 0
Rot ( y, ) = (i rot
1 0
S 0 C
1 0
0
j rot
k rot
) = 0 C S
Rot (x, ) = (i rot
0 S
C
(1.9)
(1.10)
(1.11)
(1.12)
(1.13)
Az sszefggs neve Rodriguez-kplet. A [t o t ] diadikus szorzat s a [t] vektorszorzat mtrixnak felhasznlsval a Rodriguez-kplet mtrix alakban:
lx
Rot(t,) = l y
l
z
mx
my
mz
nx
n y = C I + (1 C )[t o t ] + S [t] =
n z
C + (1 C )t x t x
= (1 C )t x t y + S t z
(1 C )t x t z S t y
(1 C )t x t y S t z
C + (1 C )t y t y
(1 C )t y t z + S t x
(1 C )t x t z + S t y
(1 C )t y t z S t x .
C + (1 C )t z t z
(1.14)
(1.15)
p
1
AT
= T
0
(1.16)
AT p
.
1
(1.17)
Az A orientcis rsz a T homogn transzformciban 3 3 = 9 elemet tartalmaz. Ezek azonban nem fggetlenek, mert i , j , k egy ortonormlt bzis, teht
i = j = k = 1 s < i , j >=< i , k >=< j , k >= 0 , ami 6 felttelt definil a 9
C
= S
0
C
0
0 C
0 0
1 S
C C C S S
= S C C + C S
S C
C
0
S C
0 S
0 C 0
C C S S C
S C S + C C
S S
0
0 =
1
C S
S S
C
(1.18)
S
C
0
C C
= S C
S
0 C
0 0
1 S
0 S 1 0
1 0 0 C
0 C 0 S
C S S S C
S S S + C C
C S
S =
C
(1.19)
C S C + S S
S S C C S
C C
= q q~ = (0, w
(1.20)
+ s 2 ) = q~ q.
(1.21)
q =1
q =1
(1.22)
(1.23)
t , cos )
2
(1.24)
(1.25)
(1.26)
ahol
t x t x
[t o t ] = t y t x
t z t x
[t] = t z
t y
t xt y
t yt y
tzt y
tz
0
tx
t xt z
t ytz
t z t z
ty
tx .
0
(1.27)
(1.28)
mx
my
mz
nx
n y
n z
(1.29)
numerikus ismeretben az orientci forgatsokkal val jellemzsnek meghatrozsra (inverz orientcis feladat), akkor a hrom szoksos jellemzs esetn a kvetkezkpp jrhatunk el.
Az inverz Rodriguez-feladat megoldsa:
C =
S =
l x + m y + nz 1
2
+
(m z n y )2 + (n x l z )2 + (l y m x )2
2
= atan 2 ( S , C ) ( , ]
(1.30a)
l x C
sign (m z n y )
1 C
m y C
1 C
n z C
sign (n x l z )
(1.30b)
sign (l y m x )
1 C
A feladatnak vgtelen sok megoldsa van, ha = 0 (C = 1) . Valban, nulla forgsszg esetn brmilyen t tengely megfelel.
Az inverz Euler-feladat megoldsa:
i)
n x2 + n 2y 0 S 0
ny
= arctan
nx
0
+ ( , ],
S = C n x + S n y
C n x + S n y
,
= arctan
nz
C = n z
S = S l x + C l y
S l x + C l y
.
= arctan
C = S m x + C m y
S m x + C m y
(1.31a)
(1.31b)
(1.31c)
(1.32)
b) n z = C = 1 = ( z = z )
S = m x
mx
= arctan
C = m y
my
(1.33)
l x2 + l y2 0 C 0
0
ly
+ ( , ],
l x
S = l z
lz
,
= arctan
C = S l y + C l x
S l y + C l x
= arctan
S = S n x C n y
S n x C n y
.
= arctan
C = S m x + C m y
S m x + C m y
(1.34a)
(1.34b)
(1.34c)
(1.35)
b) l z = S = 1 = / 2 ( x = x )
S = m x
mx
= arctan
C = m y
my
(1.36)
10
csuklvltoz (joint variable) d (transzlcis csukl esetn) vagy (rotcis csukl esetn). A DenavitHartenberg-paramterek d , a (tvolsg) s , (szg).
ti 2
qi 1
ti 1
qi
ti
qi +1
i
i 1
i +1
zi
i2
ai
di
xi
zi 1
xi 1
i
szegmenst sszekt csukltengely irnya. Legyen a K i keret x i tengelye merleges a t i 1 s t i tengelyekre. Legyen K i origja az a pont, ahol x i s t i metszi egymst. Legyen e prhuzamos x i -vel s menjen t K i 1 origjn, s legyen f prhuzamos z i 1 -gyel s menjen t K i origjn. Akkor kitr t i 1 s t i tengelyek esetn
i)
A tvolsgok eljele pozitv, ha az eltols + z i 1 vagy + xi irnyban trtnik. Hasonlan a forgsszg pozitv, ha a forgats z i 1 vagy xi krl a jobb csavar-szably
szerint pozitv. A K i 1 s K i kztti homogn transzformci
11
S
= i
0
0
Ci
S
= i
0
Si
0 0 1 0
0 0 0 1
Ci
0
1 0 0 0
0
0 1 0 0
Si C i
Si S i
Ci C i
Ci S i
S i
0
C i
0
0 a i 1 0
0 0 0 C i
1 d i 0 S i
0 1 0 0
a i Ci
a i Si
.
di
0
=
0
S i
C i
0
(1.37)
Ha t i 1 s t i prhuzamosak, akkor vgtelen sok kzs normlisuk van. Ekkor rotcis csukl esetn d i = 0 vlaszthat, transzlcis csukl esetn pedig K i origja
azonosra vlaszthat a K i +1 keret origjval.
Ha t i 1 s t i metszik egymst, akkor vlaszthat ai = 0 , s xi prhuzamos
k i 1 k i irnyval.
qi
di
ai
1
2
3
4
d1
a1
d2
a2
d3
d3
0
0
12
qi
di
ai
1
2
3
4
5
6
90
0
0
a2
d3
90
d4
d6
a3
0
0
0
90
90
0
i 1
K i 1
qm
Ki
q1
m
ti 1
t m 1
Km
KE
K0
0
KB
t0
TCP
(tool center point)
13
14
y j 1
yj
z = T j 1, j z .
j 1
j
1
1
(1.38)
Lpsrl lpsre alkalmazvn ezt az sszefggst kapjuk, hogy ugyanennek a pontnak az xi , yi , z i koordinti a K i keretben
xi
xj
xj
yi
yj
yj
z = Ti,i +1 Ti +1,i + 2 ... T j 1, j z = Ti, j z ,
i
j
j
1
1
1
(1.39)
(1.40)
ahol
Itt Ti , j rja le a koordinta-transzformcit, tovbb K j relatv pozcijt s orientcijt K i -hez kpest. Specilisan
A
T0 ,m = T0 ,1 T1,2 ... Tm 1,m = 0T,m
0
TB,E = TB,0 T0 ,m Tm,E .
p 0 ,m
,
1
(1.41)
(1.42)
(1.43)
A0,1m
(1.44)
AmT 1,m
...
T j,i := Ti,j1
= T j11,j
... Ti +11,i + 2
T0 ,m = TB,01
A1T,2
A0T,1 ,
TB,E Tm,1E
Ti,i +11 ,
(1.45)
(1.46)
Az utols egyenlet azt sugallja, hogy a robot egy n. robot grffal jellemezhet, lsd
1.4. bra.
KB
TB,0
K0
T0, m
Km
TB, E
1.4. bra. Robot grf
Tm, E
KE
15
A robot grf egy cimkzett irnytott grf. A grf cscsai a keretek, a kereteket
lek ktik ssze, az lek cimki a homogn transzformcik, az lek irnytsa balrl jobbra megfelel az indexelsnek.
K 0 -bl K m -be kt klnbz ton juthatunk el:
i)
(1.47)
(1.48)
16
m 0 ,6
0
A
= T0 ,3 3 ,4
T
0
l
= 0 ,3
0
A
= 0T,6
0
m 0 ,3
0
n0 ,6
0
p 0 ,6
=
1
*
0 *
1 0
*
*
0
0
1
p 0 ,3 0
1 0
0
1
0
0
0
0 A4 ,5
T
d 4 0
1
n 0 ,3
0
0 0
0 0
=
1 d6
0 1
0 0
0 0 A3,6
1 d 4 0 T
0 1
1
0 0
1 0
0
1
0
0
0 0
0 0
=
1 d6
0 1
(1.49)
p 0 ,3 + d 4 n 0 ,3 + d 6 n 0 ,6
s ezrt
p 0 ,3 (q1 ,q 2 ,q 3 ) + d 4 n 0 ,3 ( q1 ,q 2 ,q 3 ) = p 0 ,6 d 6 n0 ,6 ,
A3,6 (q1 ,q 2 ,q 3 ) =
A0T,3 (q1 ,q 2 ,q 3 ) l 0 ,6
m 0 ,6 n 0 ,6 ] .
(1.50)
(1.51)
17
ris egyenletrendszer megoldsa, ami teht messze nem egy lineris algebrai (mtrix
inverzis) feladat. A problmt nehezti, hogy az inverz feladat megoldsa a vals
idben realizland plyatervezs szmra bemeneti adat, az inverz feladatot ezrt
lehetleg itercik nlkl s robusztus numerikus szmtsok bevonsval kell megoldani.
A SCARA robot DenavitHartenberg-paramtereit (lsd 1.1. tblzat) az 1.5.
bra koordinta-rendszerei alapjn rtelmeztk.
z3 , z 4
4
x3 , x 4
x2
d3
d2
y3 , y4
z2
y2
z1
x1
d1
y1
a1
a2
z0
x0
1
y0
T0,1
C1
S
= 1
0
T2 , 3
S1
C1
0
0
1
0
=
0
0
1
0
0
0 a1 C1
C 2 S 2
S
C2
0 a1 S1
, T1,2 = 2
0
0
1 d1
0
0
1
0
0 0
C 4 S 4
S
C4
0 0
, T3,4 = 4
0
0
1 d3
0 1
0
0
0 a2 C2
0 a 2 S 2
,
1
d2
0
1
0 0
0 0
.
1 0
0 1
(1.52)
(1.53)
18
T2 ,4
C 4
S
= 4
0
S4
0
C 24 S 24 0 a 2 C 2
S
C4 0 0
C 24 0 a 2 S 2
,
, T1,4 = 24
0
0
1 d3
0
1 d2 + d3
0
0 1
0
0
1
0
C124 S124 0 a1 C1 + a 2 C12
S
C124 0 a1 S1 + a 2 S12
T0 ,4 = 124
.
0
0
1 d1 + d 2 + d 3
0
0
1
0
(1.54)
(1.55)
(1.56)
a1 S1 + a 2 S12 = p y ,
(1.57)
d1 + d 2 + d 3 = p z ,
(1.58)
C124 = l x ,
(1.59)
S124 = l y .
(1.60)
DB + A A2 + B 2 D 2
A2 + B 2
D A + B A2 + B 2 D 2
A2 + B 2
(1.61)
(1.62)
19
munkatr felttel teljesl.Vlaszthatjuk azt a q1 megoldst, amely a megelz q1 hez legkzelebb van.
Ha mr q1 -et meghatroztuk, akkor
S12 =
C12
s innen
p y a1 S1
(1.65)
,
a2
p a1 C1
= x
,
a2
(1.66)
q1 + q 2 = arctan2(S12 , C12 ).
(1.67)
q1 + q 2 + q 4 = arctan2 l y ,l x .
(1.68)
(1.69)
20
q 5 = , q 6 = Euler-forgatsokat realizl, ezrt (br a komponens transzformcik nem azonosak az Euler-szgeknl megismertekkel, mert a DenavitHartenbergkonvenci szerint a csukltengely mindig z irny) a K 3 keretet kveten az hrom forgats ered hatsa az orientcira:
A3,6
C 4 C 5 C 6 S 4 S 6
= Euler ( q 4 , q 5 , q 6 ) = S 4 C 5 C 6 + C 4 S 6
S 5C6
C4C5 S 6 S 4C6
S 4 C5 S 6 + C 4 C 6
S5 S6
C4 S5
S 4 S 5
C 5
(1.70)
A T0,3 homogn transzformci az els hrom homogn transzformci sszeszorzsa utn a kvetkez alak lesz:
C1C 23
S C
T0,3 (q1 , q 2 q 3 ) = 1 23
S 23
C1 S 23
C1
0
0
S1 S 23
C 23
0
a 2 C1C 2 + a 3 C1C 23 d 3 S1
a 2 S1C 2 + a 3 S1C 23 + d 3 C1
a 2 S 2 a 3 S 23
(1.71)
T0,6
l x
l
= y
l z
mx
nx
my
mz
0
ny
nz
0
px
p y
pz
(1.72)
(1.73)
Ekkor az inverz pozcionl feladathoz a kvetkez nemlineris egyenletrendszert kell megoldani a trigonometrikus alapsszefggsek felhasznlsval:
21
a 2 C1C 2 + a 3 C1C 23 d 3 S1 + d 4 C1 S 23 = p x
a 2 S1C 2 + a 3 S1C 23 + d 3 C1 + d 4 S1 S 23 = p y
(1.74)
a 2 S 2 a 3 S 23 + d 4 C 23 = p z
(1.75)
p z a 3 S 23 + d 4 C 23
a2
C2 =
(1.76)
e a 3 C 23 d 4 S 23
a2
a 22 = e 2 + p z2 + a 32 + d 42 2(ea3 + p z d 4 )C 23 2(ed 4 p z a 3 ) S 23
Bevezetve az
22
A = 2(ea3 + p z d 4 ), B = 2(ed 4 p z a 3 ), D = e 2 + p z 2 + a 32 + d 42 a 22
(1.77)
jellseket, ismt egy mr ismers alak egyenletre jutunk, melyet megoldva megkapjuk a msodik s harmadik csuklvltoz sszegt:
AC 23 + BS 23 = D q 2 + q 3
(1.78)
Ismt kt megoldst kapunk, amely kzl vlaszthatjuk pldul a megelzhz legkzelebbi megoldst.
Ezutn S 2 , C 2 jobb oldala mr ismert, ahonnan q 2 meghatrozhat:
( S 2 , C 2 ) arctan
2 q 2
(1.79)
Vilgos, hogy q 2 s q 2 + q 3 ismeretben kpezhet q 3 is. Ezzel az inverz pozcionl feladatot megoldottuk, a megoldsok kzl vlaszthattunk a megelz megolds kzelben vagy bizonyos konfigurcikat preferlva (jobb/bal kz, als/fels
knyk helyzet).
Termszetesen nincs akadlya annak sem, hogy az (1.76) egyenletbl elbb
S 23 , C 23 -at fejezzk ki analitikusan megoldvn egy kt ismeretlenes lineris egyenletrendszert, emeljk ngyzetre S 23 , C 23 gy kapott kifejezst, adjuk ssze a kt
egyenletet, amikor is egy jabb AC 2 + BS 2 = D alak egyenletre jutunk alkalmas
A, B, D egytthatkkal, amelynek q 2 megoldst meghatrozva mr szmthat
S 23 , C 23 s abbl ( S 23 , C 23 ) arctan
= =
=
c
d
y
f
y
c
a
f
ad
bc
ad
bc
ce + af
amelynek megoldsa:
d 4 S 23 a 2 S 2 p z
,
=
a 3 C 23 a 2 C 2 + e
2. A PLYATERVEZS ALAPJAI
1
S 23 =
a 32
d 42
C 23 =
a 32 + d 42
23
[ a 2 a 3 S 2 a 2 d 4 C 2 + (a 3 p z + d 4 e)]
(1.80)
[a 2 d 4 S 2 a 2 a 3 C 2 + (d 4 p z + a 3 e)]
A = 2a 2 [ d 4 ( a 3 p z + d 4 e) + a 3 (d 4 p z + a 3 e)]
B = 2a 2 [ a 3 ( a 3 p z + d 4 e) d 4 (d 4 p z + a 3 e)]
D=
a 22 (a 32
d 42 )
(a 3 p z
+ d 4 e) +
(d 4 p z
(1.81)
2
+ a 3 e)
(a 32
d 42 ) 2
S1
C1
0
C1 S 23
S1 S 23
C 23
(1.82)
A0,13 A0,6
A0T,3 A0,6
Lx
=: L y
L z
Mx
My
Mz
Nx
N y
N z
(1.83)
sszefggs felhasznlsval.
Az ered numerikus rtkeket szndkosan L x , K , N z nagybetk jellik, utalva
arra, hogy numerikusan eltrnek A0,6 kis betvel jellt elemeitl, de ettl eltekintve
az inverz orientcis feladat megoldsakor felhasznlhatk az inverz Euler problma
kidolgozott egyenletei (a kisbets elemek helyett a nagybetvel jellteket hasznlva,
pl. arctan 2( N y , N x ) = = q 4 stb.):
A3,6 inverz
Euler
= q 4 , = q 5 , = q 6
(1.84)
24
2. A PLYATERVEZS ALAPJAI
Az irnytsok szmra meg kell fogalmazni, mi legyen a szablyozott jellemz elrt rtke (alapjel), vagy kvetend idfggvnye (kvet jel), vagyis az n. referencia jel. A szablyoz ehhez kpest kpzi a hibajelet (a referencia jel s a szablyozott jellemz aktulis rtke kztti eltrst), s a szablyozsi algoritmus clja a hibajel hatsnak mrsklse a tranziensek alatt s llandsult vagy kvzi-stacioner llapotban a hiba lehetsg szerint teljes megszntetse. Tovbbi cl mg a zavar jelek hatsnak cskkentse s a szablyozsi rendszer robusztuss ttele a szablyozott szakasz (folyamat stb.) paramtereinek vltozsa ellenre.
Mozg rendszerek (robotok, jrmvek stb.) esetn a referencia jelnek a rendszer
mozgsa szmra elrt plya felel meg, amely idben vltoz, megvalstsra hatkony irnytsi algoritmusok szksgesek. A plyatervezs teht a robotirnytsok
szmra elengedhetetlen, ezrt nhny alapvet eljrst mutatunk be az ipari robotok
krben elterjedt plyatervezsi mdszerek kzl.
2. A PLYATERVEZS ALAPJAI
25
26
Az aktulis mozgsi fzisban el van rva, hogy helyezkedjel el a trgy a szerelvny furathoz kpest, amelyet a THOLE ,obj homogn transzformciban adhat meg
numerikusan a felhasznl. A bzis koordinta-rendszerhez kpest a szerelvny pldul egy munka asztalon helyezkedhet el, a hozz rgztett keret K BLOCK , helyzett
numerikusan a TB , BLOCK ismert homogn transzformci reprezentlja. A szerelvnyhez kpest a furat meghatrozott pozciban s orientciban van, a furathoz
rgztett keret legyen K HOLE , elhelyezkedse a szerelvnynek a gpszmrnki gyakorlatban hasznlt CAD-rendszerben kszlt szerelsi rajzbl kinyerhet s a
TBLOCK , HOLE homogn transzformciv konvertlhat.
Jl lthat, hogy a THOLE ,obj felhasznli informci helyett a robotirnyts plyatervezsi feladathoz a T0,m meghatrozsa szksges, amely a robot grfbl a
1
1
figyelembekorbban megismert interpretcival s Tobj , E Tm,1E = (Tm, E Tobj
,E )
POS
(2.1)
TOOL
(2.2)
szmhoz hozz lett vve a TE ,obj trgy, s a kett egyttesen alkotja a logikai szerszmot. Megjegyezzk, hogy magas szint robotprogramozsi nyelvekben vannak
utastsok a fizikai szerszm lecserlsre logikai szerszmm.
ltalban a robot mozgsa fzisokra bonthat, pldul a csap-furat problma felbonthat a furat megkzeltsre gy, hogy a csap tengelye s a furat tengelye egybeessen, de a relatv pozci ne legyen nulla, ezt kvetheti a mozgs a furat kezdethez, majd innen a furat tengelye mentn a mozgs a furat aljig. Az els kt fzis
mozgsirnytssal megvalsthat (szabad mozgs), a harmadik azonban a csap s a
furat tengelye kztt mindig meglv kisebb irnytsi pontatlansgok s a szoros illesztsek miatt ltalban csak n. hibrid pozci/er irnytssal valsthat meg
(korltozott mozgs). Az utbbi sorn tengelyirny ert is ki kell fejteni a szablyozs keretben a mozgs mellett, s az er/nyomatk rzkel ltal mrt hirtelen
2. A PLYATERVEZS ALAPJAI
27
megnv erbl lehet kvetkeztetni arra, hogy elrte a csap a furat aljt, s a csap
betolst a furatba le kell lltani. A hibrid irnyts a csuklvltozkat mr bels
rzkelkn kvl (6-komponens) er/nyomatk rzkel alkalmazst is ignyli,
ami jelents kltsgnvel tnyez.
A tovbbiakban megfogalmazunk egy plyatervezsi smt egyetlen
skalrvltozban, majd kihasznlvn, hogy a csuklvektor s a trben n. Descarteskoordintkban a pozci s az orientci is skalr komponensekkel jellemezhet, a
csuklvltozkban s a Descartes-koordintkban trtn plyatervezst a sma
tbbszri alkalmazsval oldjuk meg.
{t i } = {K , t A , t B , t C , t D , K} abszolt id
(2.3a)
(2.3b)
Az indul hipotzis a sarokpontok sszektse lineris szakaszokkal, azaz szakaszonknt lineris y (t ) fggvny megclzsa. Ekkor az id szerinti els derivlt
y& (t ) szakaszonknt konstans lpcss fggvny lenne, amelynek derivltja, azaz
y (t ) -nek a msodik derivltja azonosan nulla, kivve az els derivlt ugrs helyeit,
ahol Dirac-deltkat tartalmazna, teht nem lenne korltos, szemben az elvrsokkal.
Ennek felszmolsra kt lehetsg terjedt el a robotikban.
Az els szakaszonknt lineris els derivltat cloz meg , amikor is a msodik
derivlt lpcss fggvny (trapz alak sebessgprofil). A mozgstrvnyek alapjn
ekkor a gyorsuls lpcss fggvnynek ugrshelyein jelents er/nyomatk vltozs szksges, ami komoly feladatot r a szablyozsok szmra (nagy hibajel s
nagy ersts esetn telts a hajtsokban, ami az ersts visszavtelvel kerlhet
el, ami viszont nagyobb tranziens s marad hibval jr).
A msodik folytonos gyorsulst cloz meg. Mivel azonban az n. utaz szakaszon a sebessg konstans s a gyorsuls nulla, ezrt a szakaszok hatrn a sebessgvltozs megvalstshoz a gyorstsnak nullbl nem nullba kell mennie, tartani
kell az eljelet (a gyorstsnak vagy lasstsnak megfelelen), majd ismt nullba
kell mennie. Ez a gyorsts szmra folytonos fggvnnyel a legegyszerbben msodfok polinommal (parabolval) valsthat meg.
28
A plyatervezs teht egy B B B gyorst szakaszra s egy B C utaz szakaszra bonthat. A knnyebb kezels rdekben t relatv idt vezetnk be,
amelynek nulla helye a gyorst szakasz kzepe, a gyorst szakasz teljes hossza pedig a B rtk ktszerese:
B B C :
B B :
t = t abs t B [ B , TB ] relatv id
&y&(t ) = a 0 t 2 + a1t + a 2
t3
t2
+ a1
+ a2 t + a3
3
2
t4
t3
t2
y (t ) = a 0
+ a1
+ a2
+ a3t + a 4
12
6
2
y& (t ) = a 0
(2.4)
2. A PLYATERVEZS ALAPJAI
29
Mivel az y (t ) negyedfok polinomnak 5 egytthatja van, ezrt meghatrozsukhoz 5 felttel szksges, amelyek a kvetkezk:
&y&( B ) = 0
&y&( B ) = 0
y& ( B ) = v AB =
y& ( B ) = v BC =
B B
(2.5)
CB
TB
y ( B ) = B + v BC B
Behelyettestve a fggvnyekbe ezeket az rtkeket egy lineris egyenletrendszer keletkezik az ismeretlen egytthatkra, amelynek analitikus megoldsa a kvetkez:
a0 =
3 v BC v AB
4
B3
a1 = 0
a2 =
3 v BC v AB
B
4
(2.6)
v BC + v AB
2
3
a 4 = B + (v BC v AB ) B
16
a3 =
(2.7)
30
3
(v BC v AB ) B
16
(2.8)
3 v BC v AB
3 v BC v AB
B
&y&
4
4
B
max
(2.9)
Az elrt sarokpontokon val thaladst a plyatervezsi primitv megtartsa mellett egyszer eszkzkkel lehet biztostani, ehhez elegend ugyanis a kritikusnak tekintett sarokpontot megduplzni. Ennek ra, hogy a plya befutsi ideje 2 B rtkkel megn, ha B a kritikus sarokpont, tovbb a sebessg egy pillanatra nullv vlik. Vilgos, hogy a start s end sarokpontot, mivel azt garantltan be kell tartani, a
sorozatban mindig meg kell duplzni: {S , S , K , A, B, C , D, K , E , E} . Egy specilis
felttel olvashat mg le a 2.1. brbl, nevezetesen teljeslni kell a TB B + C
felttelnek is.
max
ges. Msrszt viszont csak azt a csuklt clszer maximlis sebessggel mozgatni,
amelyre a sajt befutsi id maximlis. Nincs rtelme ugyanis ms csuklkat hamarabb a clhelyzetbe kldeni, mert hiba rkezik egy csukl korn a clhelyzetbe, ha
a msik csukl mg nincs a clhelyzetben, mivel a teljes robot mg nem rte el clkonfigurcit, s nem lehet pldul egy trgy megfogst stb. indtani.
Mivel a flslegesen gyorsan mozg csuklk mozgshoz flslegesen nagyobb
kinetikus energia szksges, ezrt clszer n. koordinlt mozgst megvalstani,
amikor is csak a legnagyobb idt ignyl csukl mozog maximlis sebessggel, a
2. A PLYATERVEZS ALAPJAI
31
= max
i
3 q& i
2 q&&i
max
max
qCi q Bi
, i
q&i max
v AB :=
qB qB
qC qB
T
a0 , K, a4 , t :=
vBC :=
(2.10)
32
A szmtsok itt vektorizlva rtendk (lsd MATLAB), ciklusba szervezsk Cnyelvi krnyezetben trivilis. A q (t ) fggvny a gyorst szakaszon negyedfok, az
utaz sebessg szakaszon elsfok polinom, a mintavteli id.
Clszer kihangslyozni, hogy a sarokpontokat vagy kzvetlenl csuklvltozkban kell betantani, vagy pedig az adatstruktrban a COORD, POS , TOOL homogn transzformcikkal indirekt definilni. Az utbbi esetben solve utal arra,
hogy meg kell oldani az inverz geometriai feladatot. A sarokpontokat a
plyatervezs sima fggvnyekkel kti ssze.
A plyatervezs az utaz sebessg szakaszon a T0,m (q) argumentumba lineris
fggvnyt helyettest. Mivel azonban a rotcis csuklk miatt T0,m (q) nemlineris,
ezrt egy nemlineris fggvny argumentumba helyettestve lineris idfggvnyt a
kiadd robotmozgs nem lesz lineris az idben, azaz a trben kt sarokpont kztt
a robot nem fog egyenes mentn mozogni. Az imbolyg mozgs ugyan cskkenthet lenne azltal, ha sok egymshoz kzeli sarokpontot tantannk be (kis vltozsra a folytonos fggvny jl kzelthat linerissal), ez azonban a betantst nagyon
idignyess tenn.
Ki kell teht hangslyozni, hogy a plyatervezs csuklvltozban egyszer,
mert csak sarokpontonknt egyszer ignyli az inverz geometriai feladat megoldst,
msrszt viszont csak akkor javasolhat alkalmazsa, ha a robot a sarokpontok kztt haladva tvol marad az akadlyoktl. Minden ms esetben egyenes mentn halad s az orientcit is simn vltoztat plyt kell tervezni az akadlyok elkerlse
rdekben. Erre a plyatervezs Descartes-koordintkban ad lehetsget.
A robotprogramozsi nyelvek a vlasztsra lehetsget adnak, lsd ksbb a GO,
GONEAR utastsokat csuklvltozban, valamint a GOS, GOSNEAR utastsokat
Descartes-koordintkban trtn plyatervezs esetn (S= stright line az egyenesre
utal).
33
T0B,m
T0B,m
px
py
p
z
B
px
py
p
z
B
C
T0C,m
px
py
p
z
C
= ( x , y , z , , , )
TTTRRR q
a0 , K , a4 for p x (t ), K , (t ) , t :=
repeat until t < T :
{
T
p x (t )
p (t ) = p y (t ) , A(t ) = Euler ( (t ), (t ), (t ))
p (t )
z
A(t )
T0,m (t ) = T
0
t := t +
}
p (t ) solve
q(t )
1
34
35
A mozgst elr utastsok vgrehajtsakor a fels szinten megtrtnik a plyatervezs, s a kiszmtott plya adatai eljutnak a decentralizlt tengelyhajtsok alapjel bemeneteire, amelyet azok rtelmeznek s az alkalmazott algoritmustl s
paramterbelltstl fggen kisebb-nagyobb hibval megvalstanak. A robot fizikai rtelemben vett pontossga ersen fgg a szablyozs pontossgtl.
A szablyozsi smban S a master processzor, S i , i = 1, K , m pedig a csuklhajtsok processzorai. A plyatervezs eredmnyekppen elll q ia alapjel a
master processzortl valamilyen (prhuzamos stb.) interfszen jut el a csuklprocesszorokig.
Az S i alrendszer mri a q i csukvltoz rtkt, amely itt a szablyozott jellemz szerept tlti be, kpezi a szablyozs q ir = q ia q i hibajelt, a vlasztott
szablyozsi algoritmus s annak paramterbelltsa alapjn kiszmtja a beavatkoz jelet, amely tekinthet a beavatkoz szervknt mkd motor meghajt nyomatknak (a jellsben itt a nyomatk angol nevnek, torque, rvidtse). A motor tttelt is tartalmaz, amelynek feladata a kisebb motoroldali nyomatk megnvelse a
szegmens oldalon az tttel arnyban.
36
37
qi
di
ai
1
2
3
4
5
6
90
0
0
a2
d3
d4
d6
a3
0
0
0
90
90
90
0
38
(3.1)
jelennek meg, ahol BASE s TOOL a robot ARPS programozsi nyelvnek ilyen
nev utastsaival llthatk be a kvnt rtkre. Itt BASE a felhasznl ltal preferlt vilg koordinta-rendszert definilja, TOOL pedig a fizikai megfog elhelyezkedst K 6 -hoz kpest. A megfog cserlhet, a cserhez K 6 -on a megfelel furatok ki vannak kpezve.
A robot fontosabb hardver egysgeit a 3.3. bra mutatja be.
A robotirnytsi feladatok elltst 1 master s 6 slave processzor felgyeli s
valstja meg. A master processzoron fut az ARPS robotprogramozsi nyelv, a plyatervezs s a szablyozsok alapjel idfggvnyeinek ellltsa, tovbb a
master processzor felgyeli a betantst, a bemeneti/kimeneti adatforgalomat, a
rendszer sttusznak figyelst s az ember/gp kapcsolatot.
A slave processzorok valstjk meg a decentralizlt szervohajtsokat, teht tengelyenknt egy-egy slave processzor vgzi az illet csuklvltoz alapjelnek fogadst, a csuklvltoz bels rzkeljnek lekrdezst, a hibajel kpzst, a tengelyhajts szablyozsi algoritmusnak s a szablyoz kimenjelnek kpzst, a
kimenjel eljuttatst a teljestmny elektronikhoz, a tengelyhajts sttuszfigyelst, valamint a szenzor s sttusz informci eljuttatst a master processzorhoz.
A vezrl pult a tpelltst, a programfutst s a vszlellst vezrli. A betant
pult RS 232 soros interfszen keresztl kapcsoldik az irnyt rendszerhez.
A digitlis I/O vonalak 16 vonalas egysgekbe vannak szervezve. Tipikusan
2x16=32 bemeneti s 2x16=32 kimeneti vonal ll rendelkezsre a krnyezettel val
kommunikcihoz. A bemeneti/kimeneti vonalak nem TTL szintek, a robot krnyezetben lv technolgiai berendezsek (szlltszalag, trol pufferek stb.) vezrlse cljbl a logikai szintek low=0V, high=24V. A digitlis bemeneti/kimeneti
egysgeket a krnyezet berendezseivel kbelekkel ssze kell ktni. A lbkiosztsnak s ARPS szinten a logikai jelek cmeinek sszhangban kell lennik.
40
A vezrl pult (Control Panel) kezelszerveit a 3.4. bra mutatja be. A tpfeszltsg (POWER) bekapcsolsa biztonsgi megfontolsbl csak kulccsal lehetsges. Ekkor mr mkdik a tpellts, de a mikroprocesszorok mg nem kapjk meg
a tpfeszltsget. Hasonlan nem mkdnek a szervohajtsok, azaz a szablyozsi
krk nem zrulnak, hanem tpelltst nem ignyl mechanikus fkrendszer rgzti
a robotot az utols konfigurciban.
A P17 kapcsolval bekapcsolhat a mikroprocesszorok tpfeszltsge. A
Servos kapcsol bekapcsolsakor a mechanikus fkek elengednek, s a szervohajtsok szablyozsi krei zrulnak. A robotot az aktulis konfigurciban most mr
a szablyozsi krk tartjk meg.
A SYSTEM kapcsol run llsban elidthat a robotprogram, halt pr. llsban pedig az aktulis utasts befejeztvel tmenetileg felfggesztdik a robotprogram utastsainak vgrehejtsa, ahonnan ismt run llsba kapcsolva a programvgrehajts a soronkvetkez utastssal folytathat. A restart pr. kapcsolval jraindthat egy megklnbztetett program, aminek ciklikusan mkdtetend kitntetett robotprogram s jraiduls esetn van jelentsge.
Mivel a robot mozg rendszer, s br a robot csuklk el vannak ltva a mkdsi
tartomnyaikat behatrol vgllskapcsolkkal, semmi sem vd az ellen, hogy a
robot szegmensei egymsba mozduljanak. Ez ugyanis a szmtgp grafikban vals
idben szlelend s elre jelzend bonyolult test-test problma lenne, amelyre jelenleg mg nincs vals idej s olcs megolds. Hasonlan nem szlelhet elre, ha
a robot a kezel szemly, a robot krnyezetben lv ms szemly vagy egy akadly
fel kzeledik.
Ezrt alapvet fontossg a piros szn ALARM gomb a vezrl pulton, amelyet
meg kell nyomni, ha vszhelyzet vagy ms problma llna el. Ekkor a robot
szervorendszernek szablyoz krei felnylnak, meghznak a mechanikus fkek s
a robot az utols konfigurciban arretl. Figyelem, az utols konfigurci lehet ve-
41
szlyes konfigurci is a robot vagy krnyezete szmra! Ezrt a mrs sorn maximlis krltekintssel s a mrsvezet utastsait maximlisan betartva kell viselkedni. A vszhelyzet felszmolsa utn a robot jraindtsa mechanikai szempontbl
kritikus, ezrt csak kikpzett szakember vgezheti el az jraindtst.
42
A betant pult (Teach Pendant) kezelszerveit a 3.5. bra mutatja be. Mivel betantskor rendszerint eltvolodunk a vezrl pulttl, ezrt a betant pulton is tallhat egy piros ALARM gomb, amit vszhelyzetben a vezrl pulthoz hasonlan
meg kell nyomni.
A betant pult alaphelyzetben lestetlen, lestse a betants cljbl az OFF
gombbal lehetsges. Hatsra lell a program vgrehajts az ppen vgrehajts alatt
ll utasts befejeztvel, s bekapcsol a betant pult. Fordtva, a COMP gomb
megnyomsakor passzivldik a betant pult s folytatdhat a flbehagyott program
vgrehajtsa. Bekapcsolt pult esetn g a CALIB led.
A pult hasznlata csak a pult bekapcsolt llapotban lehetsges. A betant pulton 2x6 gomb tallhat X 1, K , RZ 6 felirattal, amelynek rtelmezse a pult aktulis
llapottl fgg, az aktulis llapotot a JOINT, WORLD, TOOL gombokkal lehet
belltani.
JOINT llapotban a 2x6 gomb az egyes csuklkhoz van hozzrendelve, megnyomsukkal a megfelel csukl tovbbmozdul + vagy irnyban. Az egy megnyoms hatsra trtn elmozduls mrtke 8 fokozatban a SPEED mez vilgt
ledjeinek nvelsvel nvelhet, vilgt ledjeinek cskkentsvel pedig cskkenthet. A nvels/cskkents mrtke a SPEED mez + s gombjaival llthat. A
betants sorn a betantand clhelyzettl tvol ltalban nagyobb sebessggel vgezzk a betantst, a clhelyzet kzelben azonban kis sebessgre llunk t, hogy
vizuls megfigyelsnkre alapozva nagy pontossggal llthassuk be a betantand
konfigurcit. Ha a kvnt robot konfigurcit elrtk, a STEP gomb megnyomsnak hatsra a rendszer mintt vesz a csuklvltozk rtkbl, s hozzrendeli a
csuklvektor rtkt a betantskor megjellt vltozhoz. A csuklvltozk neveit az
ARPS a #name mdon klnbzteti meg az n. koordinta-pontoktl, amelynek
neve eltt nem ll # (hesh mark).
WORLD llsban koordinta-pontokat (coordinate points) lehet betantani, amelyek ( x, y, z , o, a, t ) alakban troljk a betantott pozcit s az Euler-szgekkel kifejezett orientcit. Koordinta-pont neve eltt nem llhat #. WORLD llsban a 2x6
gomb rtelmezse lineris mozgs a bzis koordinta-rendszer x B , y B , z B tengelyeinek irnyban (els hrom gombpr), vagy forgats a bzis koordinta-rendszer
x B , y B , z B tengelyei krl (utols hrom gombpr). A STEP gomb megnyomsnak hatsra az aktulis konfigurcihoz tartoz TB , E informci ( x, y, z , o, a, t )
alakban hozzrendeldik a betantskor megjellt name koordinta-ponthoz.
TOOL llsban az eljrs analg a WORLD llsban ismertetetthez, de az irnyok a K E vgberendezs tengelyeinek irnyban rtendk. Az els hrom
gombpr hatsra az x E , y E , z E tengelyek irnyban, teht sajt maghoz kpest relatve vgez lineris mozgst a vgberendezs, illetve az utols hrom gombpr ha-
43
tsra a sajt tengelyei krl vgez forgst a vgberendezs. Minden lps utn
megvltozik K E helyzete. A STEP gomb megnyomsnak hatsra most is az aktulis konfigurcihoz tartoz TB , E informci rendeldik hozz ( x, y, z , o, a, t ) alakban a betantskor megjellt name koordinta-ponthoz.
Van mg egy FREE llapot is, amelyet klns figyelemmel szabad csak hasznlni. Ez az llapot arra szolgl, hogy kzzel mozgassuk a robotot a betantand clhelyzetbe. Mivel azonban a viszonylag nagy (kb. 100 nagysgrend) tttelekkel
szemben nehz mozgatni a robotot, ezrt a FREE llapotban felszakthatjuk a kivlasztott csuklhajts szablyozsi krt (esetleg egynl tbbet is) a 2x6 gombpr
megfelel + gombjval, de ekkor sem a hajts, sem pedig a fk nem aktv, ezrt az
sszecsukls ellen a robotot meg kell tartani a felszabadtott csuklk mozgatsa
kzben. STEP gomb hatsra a csuklvltozk rtke most is kimenthet a #name
vltozba. Ez a folyamat a robot mozgatsa s a betant pult kezelse miatt legalbb kt szemly kzremkdst ignyli. A mozgats vgn a csukl gombjnak
megnyomsra a felnyitott hajtsszablyozsi kr ismt zrul, s a hajts megtartja a
csukl szegmenst. Ha az szes felszabadtott csukl szablyozsi krt ismt zrtuk, elhagyhatjuk a FREE llapotot.
A betant pult rendelkezik mg egy MESSAGE kijelz mezvel is, amelyben
hiba esetn a rendszerint fatlis hibra jellemez zenetek jelennek meg, melyet a
rendszer generl. Fatlis hiba esetn kikpzett szakember tancst kell kikrni a
folytatshoz. Hiba keletkezik akkor is, ha a robot elhagyn a csuklvltozk megengedett tartomnyt, vagyis a hatrol vgllskapcsolk megszlalnak. Az els 5
csukl mkdsi tartomnya kisebb, mint a [0 o ,360 o ] tartomny, a hatodik csukl
esetn azonban krbeforduls is lehetsges.
44
Lantos: ROBOTOK PROGRAMOZSA
45
46
47
BREAK
DIST10
INCALL
PRINT
SERROR
A kiemelt fontossg mozgsutastsokat a 3.3. tblzat foglalja ssze. A tblzatban [ ] opcionlis paramtert jell.
3.3. tblzat. Mozgsssal kapcsolatos utastsok az ARPS rendszerben
Short form
GO
GOS
GON
Instruction
GO location
GOS location
GONEAR [loc], distance
GOSN
GO&C
GO&O
GOS&C
GOS&O
GOS&W
GO READY
LOC
SH
GO&CLOSE location
GO&OPEN location
GOS&CLOSE location
GOS&OPEN location
GOS&WEAVE location
GO READY
LOCATE loc1=loc2
SHIFT loc=[dx][,dy][,dz]
WI
OUT
WAIT IN in1[,in2][,in3][,in4]
OUT out1[,out2][,out3][,out4]
Function
Go to location (path design in q)
Go to location along stright line
Approach [locA,locp-d locn]
(path design in q)
Approach [locA,locp-d locn]
along stright line
GO and CLOSE during motion
GO and OPEN during motion
GOS and CLOSE during motion
GOS and OPEN during motion
GO and WEAVE during motion
Go into home position
Copy loc2 into loc1
Shift location in base axis
direction by saving the orientation
Wait for in1&in2&in3&in4
Set digital outputs
48
49
van ktve. Ne feledjk, hogy +address magas (high) szintet jell, s + el is hagyhat,
mert + a default rtk. A jelek logikai true rtke a high szint (24V).
A krnyezet msik komponense egy paletta, amelynek 3x3 rekesze van. A rekeszek sor-irnya s oszlop-irnya a bzis koordinta-rendszer x B s y B irnyval
esik egybe, amely fontos lesz a SHIFT utasts hasznlhatsga szempontjbl. (A
program bonyolultabb lenne, ha ez a megszorts nem teljeslne, mert alkalmazni
kellene a FRAME utastst az ltalnos irnyok miatt, tovbb a SHIFT utasts nem
lenne alkalmazhat). A feladat a conveyor-on rkez trgyak elhelyezse a paletta
egymsutn kvetkez rekeszeiben, eclbl a rekeszek meg vannak szmozva. Az 1
index rekesz korbban be lett tantva, helyzett a PALORG vltoz azonostja. Az
alkalmazs esetleges jraismtlsi ignye miatt PALORG rtke nem veszhet el.
A programot keretprogramra s szubrutinra bontjuk. A keretprogram elvgzi a
ciklikus mveletek szervezst, a szubrutin pedig a conveyor-on rkez soron kvetkez trgyat elhelyezi a paletta soron kvetkez rekeszbe. Ennek sorn a megfog tkzst a tnyrral s a benne lv trggyal, vagy a megfogval mr megfogott trgy tkzst a paletta rekeszvel meg kell akadlyozni. Ezrt a clhelyzeteket
elbb megkzeltjk (near), amely trtnhet csuklvltozban vgzett plyatervezssel (GONEAR), s a clhelyzetet csak ezutn rjk el, ktelezen egyenes mentn
mozogva (GOS). Hasonlan jrunk el eltvolodskor is fordtott sorrendben
(GOSNEAR, GO). A megkzltsnl hasznlt offset a tnyr, trgy s rekesz geometriai mretnek ismeretben vlasztand meg, itt feltesszk, hogy 50 mm elegend.
Egy msik fontos szempont tbb mozg berendezs esetn a prhuzamos mozgatsi lehetsgek kihasznlsa. Ehhez egyszerre clszer indtani a conveyor mozgst
s a robot mozgst a PICKUP megkzeltse fel (de nem az elrse fel, mert akkor tkzne az rkez tnyrral benne a trggyal).
A robot a PICKUP pozci elrst nem kezdheti meg addig, amg a conveyor el
nem rte a PICKUP pozcit, azaz meg nem jtt a CONRDY jel. Erre a clra felhasznlhat a WAIT IN CONRDY utasts, amely addig felfggeszti a mozgsutasts elindtst esemnyre vrva, amg a CONRDY jel meg nem jn. Az esemnyfigyelst az ARPS real time kernel elvgzi.
gyeljnk a keretprogramban a ciklusvltozk helyes mdostsra, sszhangban a megoldand feladattal s a paletta mretvel.
Clszer szoftverben knnyen lecserlhet cmkiosztst alkalmazni, ezrt a kimen jel s bemen jel cmt a keretprogramban a jellel azonos nev integer vltozkban GOCON=3 s CONRDY=2 rtkre lltjuk. Mivel a jelek high szintjnek
default jellse a +, ami ezrt el is hagyhat, ezrt OUT GOCON ekvivalens OUT
+GOCON-nal, s ezrt az elbbit hasznljuk. Ne feledjk azonban, hogy a cmkioszts a kbelezssel is kapcsolatban ll, ezrt a kbelezs mdostsakor mdostani kell a cmeket is a keretprogramban.
50
10
20
30
51
52
fle hiba, esetleges tkzshez val kzeleds esetn a program futst meg kell
szaktani.
A hengeres trgynak a furatba trtn behelyezse klns figyelmet ignyel, a fokozott tkzsveszly miatt.
A robot srlst okoz, figyelmetlensgbl fakad hibk esetn a mrs nem folytathat. Az elgtelen osztlyzat miatt a mrst ptolni kell.
53
A mrs mdja
A mrs sorn
a mrsvezet oktat ellenrzi az otthoni felkszlst,
a hallgatk szksg szerint pontostjk a magukkal hozott programot,
a hallgatk berjk a programot a vezrlbe,
elvgzik a szksges egyb belltsokat, betantsokat,
kis sebessgnl tesztelik a programot,
vgl nagyobb sebessggel is vgrehajtjk a tesztelt programot.
54
"A"
mret
70
70
70
70
90
90
90
110
110
110
"B"
mret
490
490
490
510
490
510
510
490
490
510
"C"
mret
60
80
100
80
80
60
100
60
100
80
rtkels
A mrsvezet az otthoni felkszls ellenrzse, a mrs elvgzse s a jegyzknyv alapjn ad osztlyzatot.
55
Elhelyezsi vzlat
56
A feladat kiindul helyzete
(trgyak a paletta als sorban):
tmeneti helyzet
(a trgyak a trolban):
Vgs helyzet
(trgyak a paletta fels sorban):
57
JELLSEK
Az albbi anyagban a kvetkez jellseket alkalmazzuk:
Argumentumok
Jells
nnn
var
var
var
nn.n
nn.n
n.nn
dis
Tpus, jelents
egsz tpus konstans
egsz tpus vltoz
(vltozk helyn mindig llhat
egsz tpus szm is)
sebessgtnyez
(szzalkban rtend)
digitlis I/O cmek
decimlis konstans
sebessgrtk (mm/s)
decimlis konstans
egsz tpus konstans, tvolsgot
[mm] jelent
-32768 .. 32767
-32768 .. 32767
3 .. 300
Az ARPS 1 .. 256 s -1 .. -256 rtket
enged meg, a NOKIA-PUMA robot
vezrlje esetn 1 .. 32 s -1 .. -32 rtkek rtelmesek.
Pozitv rtkek logikai "1"-et, negatv
rtkek logikai "0"-t jelentenek.
Csoportos cmzs esetn lehetsges
rtkek: 1 .. 2 (a 16 bites csoportot,
mint szt cmezi)
-3276.8 .. 3276.7
2 .. 500
-327.68 .. 327.67
-1024.00 .. 1023.99
58
Jells
ang
prg
file
Tpus, jelents
egsz tpus konstans, szgrtket [fok] jelent
egsz tpus konstans, csuklindexet jelent
programnv
filenv
aopr
cmp
str
lbl
swit
aritmetikai opertor
sszehasonltsi opertor
szvegkonstans
cmke
programkapcsol
jnt
-180.000 .. 179.995
1 .. 6
Szimbolikus nv.
Lehetsges formja: szimblikus
nv.kiterjeszts
kiterjeszts: .P program, .L pontok
+, -, *, /, MOD, AND, OR
=, <>, >, <, >=, <=
Plda: ALMA
pozitv egsz szm
Lehetsges rtkek, alaprtelmezs:
BREAK default: DISABLED
DIST10 default: DISABLED
INCALLS default: DISABLED
PRINT default: ENABLED
SERROR default: ENABLED
loc
loc
Plda: #PONT
Plda: PONT
loc
relatv pont
(egy bzisframe-nek s az ehhez kpest
relatv pontnak az ered transzformcija)
loc
inverz pont
Plda: BASE(PONT)
(kombinlt pontnak is nevezik)
a pontnak, mint transzformcinak az
inverze
(Pont: alap koordinta-rendszer origjbl a
pontba. Inverz pont: a szerszm koordintarendszerben a pontbl az alap koordintarendszer origjba)
loc
tkrpont
59
MONITOR PARANCSOK
Pontok meghatrozsa
CHANGE loc
Listzza a pont rtkt, meg lehet vltoztatni (j pont generlsa).
loc: precz- vagy koordinta pont
HERE loc
Pont rtknek bevitele a memriba (aktulis robothelyzet szerinti j
pont generlsa). loc: precz-, koordinta- vagy relatv pont
WHERE[#]
Folyamatosan listzza az aktulis pontot. Kilps: RETURN billentyvel.
LTEACH loc
Pont betantsi zemmd, a betant pulton lv STEP gomb megnyomsakor mindig egy j pont troldik el. loc: precz-, koordintavagy relatv pont. Pl: LTEACH A s a STEP hromszori hasznlata
utn az eredmny A0, A1, A2
Floppy kezels
STORE file[=prg][,prg]...
Floppy-ra trol a megadott filenven programo(ka)t s/vagy pontokat.
Kiterjeszts: .P programok, .L pontok, kiterjeszts nlkl mindkett
LOAD file
Program(ok) s/vagy pontok betltse floppy-rl. Kiterjeszts: .P programok, .L pontok, kiterjeszts nlkl mindkett
FDIR
Floppy directory - programok neve, mrete, szabad kapacits
FPACK
Lemezen lv adatok tmrtse, trendezse
FDEL file
File trlse floppy-rl. Kiterjeszts: .P programok, .L pontok, kiterjeszts nlkl mindkett
60
ZERO DISK
Floppy lemez formzsa. Vgrehajts eltt megerstst vr: Are you
sure (y/n)?
Memria kezels
PDIR
Memriban lv programok nevnek listzsa
PLIST [prg][,prg]...
Program(ok) kilistzsa (nv nlkl az sszes memriban lv programot)
LLIST [loc][,loc]...
Pontok kilistzsa (nv nlkl az sszes memriban lv pontot)
LDEL loc[,loc]...
Pontok trlse a memribl
DLOAD file
Azokat a programokat s/vagy pontokat trli ki a memribl, amelyek
a floppy-n a file-ban vannak
ZERO MEMORY
Teljes memria trlse. Vgrehajts eltt visszakrdez: Are you sure
(y/n)?
Program vezrls
RUN prg[,nnn]
A megadott nev program indtsa.
nnn
nincs, vagy 0
egyszer fut le a program
n
n-szer fut le a program
<0
vgtelen ciklusban fut
ABORT
Program meglltsa (az ppen fut programlps vgn lltja meg)
CONTINUE [nnn]
A meglltott program folytatsa
nnn
>=0 vagy nincs a kvetkez lpstl folytatja
<0
a megszaktott lpstl folytatja
61
EXIT
A program befejezse (a program vgn lltja le s a RUN szmlljt
nullzza)
ENABLE swit
Programkapcsol engedlyezse
DISABLE swit
Programkapcsol tiltsa
DIA file
Diagnosztikai programok betltse, indtsa
COM prg
Parancsprogram indtsa (parancsprogram: olyan program, amely csak
monitorparancsokat tartalmaz)
Sebessg megadsa
MAXSPEED nn.n
Maximlis sebessg megadsa [mm/s]
SPEED nn.n
Aktulis sebessg megadsa [mm/s]
SPEED% var
Sebessgtnyez megadsa (3%..300%)
Egyb
EDIT [prg]
Program szerkesztse. Ha nem adunk meg programnevet, akkor az
utoljra szerkesztettet hozza fel
C str
Megjegyzs parancsprogramokban
LIST COMMANDS
Lista az rvnyes parancsokrl s utastsokrl
LIST STATUS
Sttusz listzsa (BASE, TOOL rtke, kapcsolk llsa, sebessgek,
ppen fut program aktulis lpsszma)
62
CAL [nnn],[nnn],[nnn],[nnn],[nnn],[nnn]
Kalibrls.
nnn
>0
ja
<0
ja
az adott csuklt pozitv irny mozgssal kalibrlaz adott csuklt negatv irny mozgssal kalibrl-
CLOAD file
Kalibrlsi rtkek betltse file-bl
WEAVE dis[,n.nn][,n.nn]
A psztz mozgst paramterezi. Paramterek sorrendben: ampltd,
peridusid, tartzkodsi id.
SYSMON
Rendszermonitor (ODT) hvsa Vgrehajts eltt visszakrdez: Are
you sure (y/n)?
.<pont>
Pont utn rva brmelyik program utasts vgrehajthat monitorbl
63
PROGRAM UTASTSOK
Pontokkal kapcsolatos utastsok
HERE loc
Az aktulis robothelyzetet a megadott nven eltrolja a memriban.
loc lehet precz, koordinta vagy relatv pont
FRAME loc=loc,loc,loc[,loc]
zemi keret megadsa. Paramterek sorrendben: orig, x tengely pozitv pontja, xy sk pozitv y oldali pontja, eltolt (vgleges) orig
SHIFT loc=[dis],[dis],[dis]
Pont eltolsa x, y, z tengelyek mentn
DISTANCE var=loc,loc
Kt pont tvolsgt adja meg. Az eredmny egsz!
MIRROR loc
Tkrz pontot definil
NO MIRROR
A tkrzst tiltja
SCALE loc=var,var,var
A sklzs bzispontjt s nagytst definilja. Pldul:
'SCALE BASE=2000,2000,2000' utn 'BASE(A)' esetn A pont mindhrom tengely irnyban ktszer olyan messze lesz BASE-tl, mint
sklzs nlkl
NO SCALE
A sklzst tiltja
Program elgaztatsok
JUMP lbl
Felttel nlkli ugrs a megadott cmkre
64
IF IN var[,var][,var][,var]
Digitlis bemenetek llapottl fgg feltteles ugrs (maximum 4
bemenet S kapcsolata)
CALL prg
Szubrutinhvs (paramtertads nincs, minden vltoz s pont globlis)
RETURN [var]
Szubrutinbl val visszatrs. Ha van var, akkor annyi darab programsort kihagy a hv programbl visszatrskor. Ha szubrutin vgn
nincs RETURN, a program vgrehajts a szubrutin vgn befejezdik.
Mozgat utastsok
GO loc
A megadott pontba megy interpollt plyn. Specilis eset: 'GO
READY' home pozciba megy
GOS loc
Egyenes plyn megy a kvnt pontba
GO&OPEN loc
A megadott pontba megy interpollt plyn, ekzben nyitja a megfogt
GO&CLOSE loc
A megadott pontba megy interpollt plyn, ekzben zrja a megfogt
GOS&OPEN loc
A megadott pontba megy egyenes plyn, ekzben nyitja a megfogt
GOS&CLOSE loc
A megadott pontba megy egyenes plyn, ekzben zrja a megfogt
GONEAR [loc],dis
Interpollt plyn megkzelti a clpontot. A mozgs vgpontja az a
pont, amely a megadott loc ponttl a szerszm -z tengelye irnyban
a megadott tvolsgra van. Ha a pontot nem adjuk meg, az aktulis
pontbl megy a szerszm -z tengelye irnyban az adott tvolsgra
65
GOSNEAR [loc],dis
Abba a pontba megy egyenes plyn, amelytl a megadott pont a szerszm z tengely irnyban az adott tvolsgra van. Ha a pontot nem adjuk meg, az aktulis pontbl megy a szerszm -z tengelye irnyban az
adott tvolsgra
GOS&WEAVE loc
A megadott pontba megy egyenes plyn s kzben psztz mozgst
vgez a szerszm xy skjban
MOVE [dis],[dis],[dis]
Relatv mozgs az alap koordinta-rendszer x, y, z irnyban interpollt plyn
MOVES [dis],[dis],[dis]
Relatv mozgs az alap koordinta-rendszer x, y, z irnyban egyenes
plyn
TMOVE [dis],[dis],[dis]
Relatv mozgs a szerszm koordinta-rendszer x, y, z irnyban interpollt plyn
TMOVES [dis],[dis],[dis]
Relatv mozgs a szerszm koordinta-rendszer x, y, z irnyban egyenes plyn
ALIGN
A szerszm z tengelyt a legkzelebbi bzis koordinta-tengely irnyba beforgatja gy, hogy kzben a pozci vltozatlan marad. A beforgats a kt tengelyre merleges egyenes menti forgatssal trtnik.
(A mvelet elvgzse nem jelenti azt, hogy a forgats utn a megfog
x s y tengelyei is prhuzamos helyzetbe kerlnnek a bzis brmelyik
tengelyvel.)
Sebessg belltsa
SPEED nn.n
Aktulis sebessg megadsa [mm/s]
66
SPEED% var
Sebessgtnyez megadsa (3%..300%)
CLOSE
Zrja a megfogt
ODELAY n.nn
Az OPEN utastst paramterezi, nyits utn a megadott ideig vr
CDELAY n.nn
A CLOSE utastst paramterezi, zrs utn a megadott ideig vr
I/O utastsok
OUT var[,var][,var][,var]
Digitlis kimenetek lltsa egyedileg
RUNOUT var[,var][,var][,var]
A megadott kimeneteket adott llapotba lltja, ha a program futsa
megszakad
WAIT IN var[,var][,var][,var]
Adott bemeneti kombincira vr (S kapcsolat). Specilis esetben jelre vr. Az esemny bekvetkeztig a program tovbbi futsa fel van
fggesztve.
67
NO INCALL var
Megszakts tiltsa
Koordinta-rendszer mdostsa
BASE [dis],[dis],[dis],[ang]
Alap koordinta-rendszer transzformlsa, a paramterek sorrendben:
dx, dy, dz, do (utbbi az alap z tengelye krl fordul)
TOOL [dis],[dis],[dis],[ang],[ang],[ang]
Szerszm koordinta-rendszer transzformlsa. A paramterek sorrenben: dx, dy, dz, do, da, dt
LTOOL loc
Ugyanaz mint az elbb, csak egy ponttal lehet megadni a transzformcit
Konfigurci mdostsa
J2 RIGHT
Kettes csukl (vll) jobbkezes
J2 LEFT
Kettes csukl (vll) balkezes
J3 UP
Hrmas csukl (knyk) fels llsban
J3 DOWN
Hrmas csukl (knyk) als llsban
J5 PLUS
ts csukl (csuklizlet) pozitv
J5 MINUS
ts csukl (csuklizlet) negatv
68
Lellt utastsok
STOP ['str'][,var]
A programot gy lltja meg, hogy CONTINUE paranccsal tovbb futtathat, kirja 'str'-t s 'var' rtkt
HALT ['str'][,var]
Ugyanaz mint az elbb, de nem folytathat a programvgrehajts
EXIT
Program futs befejezse, a program a vgn ll meg (a RUN szmlljt nullzza)
Floppy kezels
LOAD file [NOBREAK]
Betlt egy file-t a floppy-rl
WAIT LOAD
A floppy mvelet vgrehajtsa utn fut tovbb a program
Egyb utastsok
C [str]
Megjegyzs
COM
Monitor parancs hasznlata programon bell, pldul: COM CAL
DELAY n.nn
Megadott idt ksleltet
ENABLE swit
Programkapcsol engedlyezse
DISABLE swit
Programkapcsol tiltsa
69
PRINT ['str'][,var]
Kpernyre val kirats
TOL NARROW
Szerszm belltsi pontossg vezrlse, pontos
TOL WIDE
Ugyanaz, mint az elbb, kevsb pontos
WEAVE dis[,n.nn][,n.nn]
A psztz mozgst paramterezi. A paramterek sorrendben: ampltd, peridusid, tartzkodsi id
EDITOR PARANCSOK
E
Kilps (exit)
I
Beszrs (insert). A kurrens sor el szr be, kiszlls: res sor
D [nnn]
Trls (delete). Ha nnn nincs megadva, akkor csak a kurrens sor trlse
P [nnn],[nnn]
Listzs. Ha nincs paramter, akkor az els sort adja. Paramterek:
kezdsor, sorok szma
R str^str
A kurrens sorban cserli az els string-et a msodikra (replace)
RA str^str
Ugyanaz mint az elbb, de az egsz file-ra vonatkozik (replace all)
T GO loc
A kvetkez utastsokat generlja a kzi betantpult STEP gombja
megnyomsra:
ha a megfog nyitott, akkor 'GO&OPEN loc'
ha a megfog zrt, akkor 'GO&CLOSE loc'
a pontok koordinti troldnak a memriban nvekv indexszel
70
T GOS loc
A kvetkez utastsokat generlja a kzi betantpult STEP gombja
megnyomsra:
ha a megfog nyitott, akkor 'GOS&OPEN loc'
ha a megfog zrt, akkor 'GOS&CLOSE loc'
a pontok koordinti troldnak a memriban nvekv indexszel
FGGELK
71
FGGELK
Az albbiakban nhny utasts hatst, mkdsnek rszleteit mutatjuk be, matematikai formba ntve.
Koordintapont eltrolsa s rtelmezse
x
Euler (o, a, t ) y
x, y, z , o, a, t T BE =
z
0 0 0
1
HERE B(REL)
Tegyk fel, hogy az
T REL := T B
aktulis
pozci
T AKT .
Az
utasts
hatsra
GO B(REL)
Az utasts hatsra a TB TREL pozci lesz a mozgs clpontja.
BASE x, y, z,
(Az x, y, z , rtkek kizrlag numerikus rtkek lehetnek!)
Az utasts vgrehajtsa utn a TB 0 transzformci rtke a kvetkez lesz:
TB 0
Rot ( z , ) 1
=
0 0 0
KB
TB0
x c
y s
=
z 0
1 0
K0
T06
s
c
0
0
K6
0 x
0 y
1 z
0 1
T6E
KE
TBE
GONEAR PONT,d
(d rtk kizrlag numerikus rtk lehet!)
Az utasts vgrehajtsa vgn a megfog pozcija:
A
TBE = PONT
T
0
p PONT n PONT * d