robotokprogramozasa.pdf
TRANSCRIPT
-
7/23/2019 RobotokProgramozasa.pdf
1/71
1
ROBOTOK PROGRAMOZSA
1. ROBOT KINEMATIKAI ALAPOK
A robot felfoghat egy irnytott mechanizmusnak, amely elrhat plyn mozog-hat, s a plya mentn elrhat feladatokat lthat el. A robot szegmensekbl ll,melyeket transzlcis vagy rotcis csuklk kapcsolnak ssze, a robot mozgsa pe-
dig a fizika trvnyeinek van alvetve. M
kdst az irnyts klnbz
szintjenklnfle modellekkel (kinematikai, dinamikus) rhatjuk le. A robotok programoz-sakor ezek kzl a legegyszerbb kinematikai (geometriai) modell jtszik szerepet.Ebben alapvetfontossg a koordinta-rendszerek kztti kapcsolat lersa.
Alkalmazi szempontbl ugyanis merev robotok esetn, amelyeknl a rugalmasalakvltozs elhanyagolhatan kicsi a robot elvrt pontossghoz kpest, a robot l-tal elvgzend mozgs definilsakor alapul vlaszthatunk egy bzis koordinta-rendszert (szoks vilg koordinta-rendszernek is nevezni), amelyhez elrjuk, hollegyen a robot munkavgzeszkze, az n. vgberendezs (end effector) a mozgssoronkvetkez fzisban a bzis koordinta-rendszerhez kpest. Mivel azonbannem csak a vgberendezs (megfog, szerszm, technolgiai eszkz: festkszrpisztoly, pont- vagy vhegesztstb.) 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 kzenfekva vgberendezshez isegy koordinta-rendszert rgzteni, s a kt koordinta-rendszer kztti relatv poz-cit s orientcit elrni. Ez azt jelenti, hogy van kt derkszg koordinta-rendszer, a BK bzis koordinta-rendszer s a EK end effector koordinta-rendszer,
s a mozgs definilsa sorn azt mondjuk meg, hol legyen EK origja s hogyan
lljanak a EK egysgvektorai a vilg koordinta-rendszer origjhoz s egysgvek-
toraihoz 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 elhelyezkedseis hasonl elven alapulva rhat le. Rgzthetnk ugyanis a kinematikai lncban egy
1iK koordinta-rendszert a megelz szegmenshez, a kinematikai lncbansoronkvetkezszegmenshez pedig egy iK koordinta-rendszert, s mozgsukat le-
rhatjuk a kt koordinta-rendszer relatv mozgsa segtsgvel. Fizikailag a szeg-menseket rendszerint motorok mozgatjk fogaskerk vagy fogaslc tttelen keresz-tl, a motor elhelyezheta megelzszegmensen, az tttel tengelye pedig tekinthe-ta kvetkezszegmenst mozgat (R rotcis, vagy T transzlcis) csukl tenge-lynek. A 1iK koordinta-rendszer 1iz tengelye vlaszthat a soron kvetkez
-
7/23/2019 RobotokProgramozasa.pdf
2/71
2 Lantos: ROBOTOK PROGRAMOZSAszegmenst mozgat motor tttelnek tengelyeknt, a iK koordinta-rendszer ix
tengelye pedig merlegesnek a megelz(sajt) s a kvetkezcsukltengelyre. A
iK koordinta-rendszer iz tengelye vlaszthat a kvetkez csukltengelynek,
amelyen ix kimetszi a iK origjt. A rszleteket a robot Denavit-Hartenberg para-
mtereinek trgyalsakor fogjuk megismerni. Elbb azonban sszefoglaljuk a fizikairendszerek (robotok, replgpek, helikopterek stb.) geometriai/kinematikai modell-jeiben szerepet jtsz klnfle orientci jellemzseket, valamint a pozci s ori-entci lerst homogn transzformcival.
1.1 Kinematikai alapfogalmakTekintsnk kt (jobb sodrs) derkszgkoordinta-rendszert (rviden keretet, an-golul frame), jellje ezeket Ks K , s legyenek a bzisvektoraik rendre kji ,, s
kji ,, (lsd 1.1. bra).
1.1. bra. Keret (frame) koncepci
Hatrozzuk meg a koordinta-rendszerek vektorai kztti kapcsolatot:
.)()(
)(
333231232221
131211
332313
322212
312111
kpaaajpaaa
ipaaaprkjir
k,pjpipp
k,ajaiak
k,ajaiaj
k,ajaiai
,kjir
zzyxyzyx
xzyxzyx
zyx
zyx
++++++++
++++=+=++=
++=
++=
++=
++=
++=
(1.1)
Ezek az sszefggsek mtrix alakban is felrhatk:
x
y
z
K
Kp
P
x
y
z
rr
x
y
-
7/23/2019 RobotokProgramozasa.pdf
3/71
1. ROBOT KINEMATIKAI ALAPOK 3
bzisban
azfelrva
,,
333231
232221
131211
kji
kji
,
p
p
p
aaa
aaa
aaa
z
y
x
z
y
x
z
y
x
444 3444 21
+
=
(1.2)
prAr += (1.3)
Hozzvve ehhez az 11= azonossgot, a Ks K keretek kztti A orientcivltozst s a keretek origja kztti p pozci vektort sszevonhatjuk egy Tho-
mogn transzformciban:
,
110001333231
232221
131211
=
z
y
x
z
y
x
z
y
x
paaa
paaa
paaa
(1.4)
=
=
=
1:
11000:
1101
T
pnmlpAT
. (1.5)
rTr = . (1.6)
Itt 4Rr s 4Rr jellik 3R s 3R homogn koordintit.
A Thomogn transzformci kt fontos jelentssel rendelkezik:
i) Tmegadja K orientcijt s pozcijt K-hoz kpest.ii) Tlehetv teszi a P pont koordintinak meghatrozst K-ban, ha ismerjk a
koordintit K -ben.
Clszera Thomogn transzformcit indexekkel elltni annak kihangslyoz-sra, hogy a K -hz tartoz pnml ,,, komponenseit a Kbzisban kell megadni:
KK
T ,
. Jl lthat, hogy az indexek sorrendje az rtelmezsben lnyeges.
Homogn transzformcik egymsutnja a homogn transzformcik szorzatvalrhat le:
+=
=
101010121212211
21 TTT
ppAAApApATT . (1.7)
-
7/23/2019 RobotokProgramozasa.pdf
4/71
4 Lantos: ROBOTOK PROGRAMOZSA1.1.1 Az orientci jellemzse forgatsokkalTekintsk elszr csak az orientcimegvltozst. Tegyk fel, hogy eredetileg Ks K egybeestek, s Kvalamelyik tengelye krl K el lett forgatva szggel (apozitv forgsirny a jobb csavar-szably szerint rtelmezett), s tekintsk az elfor-gats utni llapotot. Bevezetjk a kvetkezkonvencit a jellsekre:
cos:=C , sin:=S , )cos(: +=C , )cos(: 2112 qqC += stb. (1.8)
Akkor (1.2) szerint az elemi forgatsok (rotation) kvetkezk lesznek:
( ) ( )
=
=
=
100
0
0
100
0cossin
0sincos
bankifejezverotrotrot
CS
SC
kj,i,
kjiz,Rot4434421
(1.9)
( ) ( )
==
CS
SC
kjiy,Rot
0
010
0
rotrotrot (1.10)
( ) ( )
==
CS
SCkjix,Rot
0
0
001
rotrotrot (1.11)
Legyen tltalnos irnyvektor, 1=t . Tegyk fel, hogy eredetileg K s K
egybeestek, s forgassuk el K -t a t tengely krl szggel. A forgats egy
),( tRot lineris transzformci, amelynek mtrixa ),( tRot :
( ) sincos1cos),(rot xtxt,txxtx +>
-
7/23/2019 RobotokProgramozasa.pdf
5/71
1. ROBOT KINEMATIKAI ALAPOK 5
A forgats inverze a visszaforgats, teht a forgats tkrl szggel. Tudjuk,
hogy az (1.14) egyenletben szerepl ][ tto szimmetrikus, ][t antiszimmetrikus,
)cos()cos( = s )sin()sin( = , ezrt
TtRottRot )],([)],([ 1 = . (1.15)
Ortonormlt derkszg koordinta-rendszerek esetn teht az A orientcismtrix inverze az A transzponltja, s emiatt a Thomogn transzformci inverzeis egyszeren szmthat:
TAA =1 (1.16)
=
=
1010
1
T
TT
T
pAApAT . (1.17)
Az A orientcis rsz a Thomogn transzformciban 933 = elemet tartal-maz. Ezek azonban nem fggetlenek, mert kji ,, egy ortonormlt bzis, teht
1=== kji s 0,,, >=>==
-
7/23/2019 RobotokProgramozasa.pdf
6/71
6 Lantos: ROBOTOK PROGRAMOZSA
+
+
=
=
=
===
CCSCS
SCCSSCCSSSCS
SSCSCCSSSCCC
CS
SC
CS
SC
CS
SC
xRotyRotzRotRPYA KK
0
0
001
0
010
0
100
0
0
),(),(),(),,(,
(1.19)
1.1.2 Az orientci jellemzse kvaternikkalAz orientci jellemezhet kvaternikkal is. A kvaternik )(Q a hromdimenzis
vektortr )( 3R kiterjesztst alkotjk, amelyben szorzs )( , sszeads, szmmal
szorzs, konjuglt s norma van definilva. Legyen 13 ,,, RsRwQq , akkor
definci szerint
.~),0(~),(~
),,(
),(),(),(
),(
),(
222
212112212121
2121221121
qqswqqq
swq
wwsswswswwqq
sswwswswqq
swq
swq
=+==
=
>
-
7/23/2019 RobotokProgramozasa.pdf
7/71
1. ROBOT KINEMATIKAI ALAPOK 7
)2
cos,2
(sin:
tq= (1.24)
kvaternit )1( == tq , ahonnan a Rodriguez-kplet felhasznlsval kapjuk, hogy
)0,(~)0,( Arqrq = , (1.25)
ezrt qrq ~ s Ar azonosthatk. Vilgos, hogy ha az orientcit a ),( swq=
kvaternival jellemezzk, akkor ennek ismeretben A meghatrozhat, mert
][])[1()2
sin(/),(arccos2 ++=== tSttCICAwts
o , (1.26)
ahol
=
zzyzxz
zyyyxy
zxyxxx
tttttt
tttttt
tttttt
tt ][ o (1.27)
=
0
0
0
][
xy
xz
yz
tt
tt
tt
t . (1.28)
1.1.3 Az inverz orientcis feladat megoldsaHa szksg van az A orientci
=
zzz
yyy
xxx
nml
nml
nml
A (1.29)
numerikus ismeretben az orientci forgatsokkal val jellemzsnek meghatroz-sra (inverz orientcis feladat), akkor a hrom szoksos jellemzs esetn a kvet-kezkpp jrhatunk el.
Az inverz Rodriguez-feladat megoldsa:
( ) ( ) ( )
],(),(2atan2
2
1
222
=
+++=
++=
CS
mllnnmS
nmlC
xyzxyz
zyx
(1.30a)
-
7/23/2019 RobotokProgramozasa.pdf
8/71
8 Lantos: ROBOTOK PROGRAMOZSA
)(sign1
)(sign1
)(sign1
xy
z
z
zx
y
y
yz
x
x
mlC
Cnt
lnC
Cmt
nmC
Clt
=
=
=
(1.30b)
A feladatnak vgtelen sok megoldsa van, ha )1(0 == C . Valban, nulla forgs-szg esetn brmilyen ttengely megfelel.
Az inverz Euler-feladat megoldsa:
i) 0022 + Snn yx
,],(
0
arctan
+
=
x
y
n
n (1.31a)
,arctan z
yx
z
yx
n
nSnC
nC
nSnCS
+
=
=
+=
(1.31b)
.arctanyx
yx
yx
yx
mCmS
lClS
mCmSC
lClSS
+
+=
+=
+= (1.31c)
ii) 00 === Snn yx , szingulris konfigurci
a) )(01 zzCnz ====
=+
=
=
x
y
y
x
l
l
lS
lCarctan
csak + hatrozhat meg (1.32)
b) )(1 zzCnz ====
=
=
=
.arctan
y
x
y
x
m
m
mC
mS
csak hatrozhat meg (1.33)
-
7/23/2019 RobotokProgramozasa.pdf
9/71
1. ROBOT KINEMATIKAI ALAPOK 9Inverz RPY feladat megoldsa:
i) 0022 + Cll yx
],,(
0
arctan
+
=
x
y
l
l (1.34a)
,arctanxy
z
xy
z
lClS
l
lClSC
lS
+
=
+=
= (1.34b)
.arctanyx
yx
yx
yx
mCmS
nCnS
mCmSC
nCnSS
+=
+== (1.34c)
ii) 00 === Cll yx , szingulris konfigurci
a) == 1Slz )(2/ xx ==
=+
=
=
x
y
x
y
n
n
nC
nSarctan
csak + hatrozhat meg. (1.35)
b) )(2/1 xxSlz ====
=
=
=
y
x
y
x
m
m
mC
mSarctan
csak hatrozhat meg. (1.36)
1.2 Robotok kinematikai modelljeSzmos, a gyakorlatban elterjedt ipari robot n. nyltlnc, elgazs nlkli merevrobot, amelynek geometriai modelljt legtbbszr a DenavitHartenberg-alakkal r-juk le. A "merev robot" elnevezs idealizls, s arra utal, hogy a robot garantltpontossgi tartomnyban a rugalmas alakvltozsok hatsa a szegmensekben vagya csuklkban elhanyagolhat.
1.2.1 Csuklkkal sszekapcsolt nyltlnc merev testek geometriaimodelljeDenavitHartenberg-alak (lsd 1.2. bra)
A robot szegmensekbl (link) ll, amelyeket 1-szabadsgfok csuklk (joint) ktnekssze. A DenavitHartenberg-alak esetn a robot tengelyei z -tengely irnyak. A
-
7/23/2019 RobotokProgramozasa.pdf
10/71
10 Lantos: ROBOTOK PROGRAMOZSAcsuklvltoz (joint variable) d(transzlcis csukl esetn) vagy (rotcis csuk-l esetn). A DenavitHartenberg-paramterek ad, (tvolsg) s , (szg).
1.2. bra.A DenavitHartenberg-alak
Tegyk fel, hogy a 1iK keretet mr felvettk. Az 1.2. brbaberajzoltuk a 1iz
s 1ix tengelyeket, ahol 1iz irnya azonos az 1i s az i szegmenst sszekt
1it csukltengely (joint axis) irnyval. Legyen it az i -edik s az 1+i -edikszegmenst sszekt csukltengely irnya. Legyen a iK keret ix tengelye merle-
ges a 1it s it tengelyekre. Legyen iK origja az a pont, ahol ix s it metszi egy-
mst. Legyen e prhuzamos ix -vel s menjen t 1iK origjn, s legyen f prhu-
zamos 1iz -gyel s menjen t iK origjn. Akkor kitr 1it s it tengelyek esetn
i) i a 1iz tengely krli forgats szge, amely az 1ix tengelyt e -be forgatja
( ixe || );
ii) id az eltols a 1iz tengely mentn, amely az e egyenest ix -be mozgatja;
iii) ia az eltols az ix tengely mentn, amely 1iz s ix metszspontjt iK orig-
jba mozgatja;iv) i az ix tengely krli forgats, amely az f egyenest iz -be forgatja.
A tvolsgok eljele pozitv, ha az eltols 1+ iz vagy ix+ irnyban trtnik. Ha-
sonlan a forgsszg pozitv, ha a forgats 1iz vagy ix krl a jobb csavar-szably
szerint pozitv. A 1iK s iK kztti homogn transzformci
2it 1it it
1iq iq 1+iq
1ix
1iz
i e
id
ia
ix
iz
f
i
2i
1i i
1+i
2it 1it it
1iq iq 1+iq
1ix
1iz
i
id
ia
ix
iz
f
i
2i
1i1i
-
7/23/2019 RobotokProgramozasa.pdf
11/71
1. ROBOT KINEMATIKAI ALAPOK 11( ) ( ) ( ) ( )
.
1000
0
1000
00
00
0001
1000
100
0010
001
1000
0100
00
00
1
=
=
=
==
i
i
i
i
i
iiiii,i
dCS
SaSCCCS
CaSSCSC
CS
SC
d
a
CS
SC
x,Rotx,aTransz,dTransz,RotT
ii
iiiiii
iiiiii
ii
iiii
ii
(1.37)
Ha 1it s it prhuzamosak, akkor vgtelen sok kzs normlisuk van. Ekkor ro-
tcis csukl esetn 0=id vlaszthat, transzlcis csukl esetn pedig iK origja
azonosra vlaszthat a 1+iK keret origjval.
Ha 1it s it metszik egymst, akkor vlaszthat 0=ia , s ix prhuzamos
ikk 1i irnyval.
A 0 szegmens esetn 0z egybeesik a 0t tengellyel s x0 merleges 0z -ra.
Az utols, m szegmens esetn mz irnya tetszleges s mx merleges a 1mz s
mz irnyokra.
Nhny specilis esetben (Descartes-fle TTT pozcionls els x tengelye,vagy RPY orientci utols x tengelye esetn) elnysebb lehet, ha nem a z , ha-nem az x tengelyt vlasztjuk azanosnak a csukltengellyel. A iiT ,1 homogn
transzformci tovbbra is rvnyben marad, de a csuklvltoz ia vagy i lesz.
A 1.1 s 1.2 tblzatok a bemutatjk a SCARA s PUMA robotok DenavitHartenberg-paramtereit.
1.1 tblzat. A SCARA RRTR robot DenavitHartenberg-paramterei
i iq i id ia i
1 1 1 1d 1a 0
2 2 2 2d 2a 0
3 3d 0 3d 0 0
4 4 4 0 0 0
-
7/23/2019 RobotokProgramozasa.pdf
12/71
12 Lantos: ROBOTOK PROGRAMOZSA
1.2 tblzat. A PUMA RRRRRR robot DenavitHartenberg-paramterei
i iq i id ia i
1 1 1 0 0 90
2 2 2 0 2a 0
3 3 3 3d a3 90
4 4 4 4d 0 90
5 5 5 0 0 90
6 6 6 6d 0 0
1.2.2 Direkt geometriai feladat
Egy nyltlnc, elgazs nlkli merev robot lljon a 0 , 1 , ..., m szegmensekbl(links) s a vgberendezsbl (end effector), amely lehet megfog, szerszm stb.(gripper, tool). A szomszdos szegmenseket transzlcis vagy rotcis csuklk(prismatic or revolute joints) ktik ssze. A transzlcis csuklk a szegmensnek acsukltengely mentn trtnelmozdulst, a rotcis csuklk a tengely krli el-fordulst teszik lehetv. Legyen d vagy a a transzlcis csukl (T) mentn azelmozduls. Hasonlan jellje vagy a rotcis csukl (R) krli forgsszget.Kzs nevk a q csuklvltoz (joint variable).
1.3. bra.Nyltlnc, elgazs nlkli robot elvi smja
A "nyltlnc, elgazs nlkli robot" elnevezs arra utal, hogy a szegmensekmegszmozhatk gy, hogy minden szegmenst pontosan egy szegmens kvet a sz-
1i
m
i
0
iq
1q
mq
0t
1it
1mt
BK
0K
1iKiK
mK EK
TCP(tool center point)
1i
0
iq
1q
mq
0t
1it
1mt
BK
0K
1iKiK
mK EK
-
7/23/2019 RobotokProgramozasa.pdf
13/71
1. ROBOT KINEMATIKAI ALAPOK 13mozs sorrendjben (az m szegmenst a vgberendezs kveti), s az i szegmenspozcija s orientcija csak a megelzszegmens pozcijtl s orientcijtl,valamint az 1i s i szegmens kztti iq csuklvltoztl fgg. A megelz
szegmensek definiljk az 1i szegmenshez rgztett 1iK keret pozcijt s ori-
entcijt, mg qi definilja az i szegmenshez rgztett iK keret relatv pozcijt
s orientcijt 1iK -hez kpest, amely a i,i,KK T:T ii 11 = homogn transzformci-
val jellemezhet. Az 1i s i szegmensek kztti csukltengelyt ti1 jelli (lsd
1.3. bra).
A BK keret a robot alapzathoz van rgztve. A 0K keret a robot referencia ke-rete, amely azonos is lehetne BK -vel, de rendszerint mgis eltr attl annak rdek-
ben, hogy a csuklvtozktl val fggs egyszerbb legyen. Az irnytssal befo-lysolhat csuklvltozk a 0K s mK keretek kztt vannak. A BK s 0K , vala-
mint a mK s EK kztti kapcsolat nem fgg a csuklvltozktl. A csuklk mind
egyszabadsgfokak(one degree of freedom, 1DOF) s a teljes robot mDOF. Arobot egyik lnyeges jellemzje a csuklkplet (joint formula). Pldul RRTRRRegy 6DOF robotot jell, ahol minden csukl rotcis, kivve a harmadikat, amelyiktranszlcis. Annak rdekben, hogy a vgberendezsnek mind a pozcijt, mindpedig az orientcijt is megszorts nlkl irnytani tudjuk, legalbb 6 csuklszksges )6( m . A robot mg ebben az esetben is csak egy korltos munkatrben
(limited workspace) pozcionlhat a szegmensek vges mrete s a csuklvltozklimitlt rtktartomnya miatt.
Humn analgik alapjn beszlhetnk trzsrl ( 0 trunk), karrl ( 1 , 2 , 3 arm), kzcsuklrl ( 4 , 5 , 6 wrist) s kzrl (hand, gripper). A vgberendezsrendszerint cserlhet s az m szegmenshez rgzthet, kitntetett pontja pedig aszerszmkzppont(tool center point, TCP).
Az 1i szegmenshez rgztett 1iK keret brhol lehetne. A gyakorlatban gyak-
ran hasznljuk a DenavitHartenberg konvencit, ahol iiii ad ,,, hatrozza meg a
1iK s iK kztti iiT ,1 homogn transzformcit. Ha kivlasztjuk a j szegmens
egy jP pontjt, amelynek jjj zyx ,, a koordinti a jK keretben, akkor ugyanenneka pontnak a koordinti a 1jK keretben x y zj j j 1 1 1, , , amelyekre teljesl
-
7/23/2019 RobotokProgramozasa.pdf
14/71
14 Lantos: ROBOTOK PROGRAMOZSA
=
11
11
1
1
j
j
j
j,j
j
j
j
z
y
x
Tz
y
x
. (1.38)
Lpsrl lpsre alkalmazvn ezt az sszefggst kapjuk, hogy ugyanennek a pont-nak az iii zyx ,, koordinti a iK keretben
=
=
+++
111
1211j
j
j
ji,
j
j
j
j,ji,iii,
i
i
i
z
y
x
Tz
y
x
T...TTz
y
x
, (1.39)
ahol.T...TTT j,ji,iii,ji, 1211 +++ = (1.40)
Itt jiT, rja le a koordinta-transzformcit, tovbb Kj relatv pozcijt s orien-
tcijt Ki -hez kpest. Specilisan
== 10
00121100 T
m,m,m,m,,m,
pAT...TTT , (1.41)
Em,m,B,EB, TTTT = 00 . (1.42)
Vegyk szre, hogy
m,m,,,m A...AAA 121100 = , (1.43)
T,
T,
Tm,mm, AA...AA 10211
10 = , (1.44)
11
121
11
1: +
++
== ii,i,i,jjji,ij, TT...TTT , (1.45)
1100
= Em,EB,B,m, TTTT . (1.46)
Az utols egyenlet azt sugallja, hogy a robot egy n. robot grffaljellemezhet, lsd1.4. bra.
1.4. bra.Robot grf
BK 0K mK EK0,BT m,0T Em,T
EB,T
BK 0K mK EK0,BT m,0T Em,T
EB,T
-
7/23/2019 RobotokProgramozasa.pdf
15/71
1. ROBOT KINEMATIKAI ALAPOK 15
A robot grf egy cimkzett irnytott grf. A grf cscsai a keretek, a kereteketlek ktik ssze, az lek cimki a homogn transzformcik, az lek irnytsa bal-rl jobbra megfelel az indexelsnek.
0K -bl mK -be kt klnbzton juthatunk el:
i) elrefel haladva 0K , mK sorrendben,
ii) htrafel haladva mEB KKKK ,,,0 sorrendben.
Ha a nyllal szembe haladst invertlsknt interpretljuk, akkor visszakapjuk az(1.46) egyenletet, feltve, hogy rendre vesszk a homogn transzformcit vagy an-
nak inverzt az lek mentn s sszeszorozzuk azokat. A robot grf ltalnosthatsszetettebb esetekre is (robot, szlltszalag, trgy, kamera).
Szoks direkt geometriai feladatrl beszlni, ha arra keresnk vlaszt, hogyan
fgg EBT , vagy mT ,0 aT
mqqq ),,( 1 K= csuklvltoz vektortl. Rendszerint az
sszefggst szimbolikus (kpletszer) alakban keressk a robot DenavitHartenberg-paramterei s (1.41) felhasznlsval:
direkt geometriai feladat: .Tq m,0a (1.47)
A szimbolikus alak azrt szksges, hogy szmtsi mdszert (lehetleg analitikusmegoldst) tudjunk adni a ksbb vizsgland inverz geometriai feladat megolds-ra.
1.2.3 Inverz geometriai feladatAz inverz geometriai feladat clja a csuklvltozk meghatrozsa, ha adott a vg-berendezs pozcija s orientcija. A csuklvltozk felhasznlhatk referenciajelknt (idfgg alapjelknt) a tengelyek szervohajtsai szmra. A problmramint
m,Tq 0solve= (1.48)
fogunk hivatkozni. A feladat transzcendens egyenletrendszer megoldst ignyli,amelyet ltalban nem tudunk kpletszer(szimbolikus, analitikus) alakban megad-
ni. A gyakorlat szmra fontos egyik esetben azonban a feladat analitikusan is meg-oldhat.
1.1 Ttel (inverz geometriai feladat megoldsa dekompozcival):Ha az utolshrom tengely rotcis s a tengelyek egy kzs pontban metszik egymst, akkor azinverz geometriai feladat felbonthat egy pozcionl s egy orientl rszproblm-ra, amelyek szeparltan megoldhatk.
-
7/23/2019 RobotokProgramozasa.pdf
16/71
16 Lantos: ROBOTOK PROGRAMOZSABizonyts: Legyen pldul 6=m s a robot DenavitHartenberg-alakjban
0654 === aaa s = 06 , akkor
++=
=
=
=
=
=
=
10
1000
100
00100001
10
0
1000
100
00100001
1000
1000
100
00
00
10
0
10
0
0
1000
6063043060
6
63
4
30303030
6
54
4
4330
6060606060
T
,,,,
T
,,,,,
T
,
T
,,
,,,,,
ndndpA
d
A
d
pnml
d
**
**
A
d
AT
pnmlT
(1.49)
s ezrt
6066032130432130 )()( ,,,, ndp,q,qqnd,q,qqp =+ , (1.50)
[ ]6060603213032163 )()( ,,,T,, nml,q,qqA,q,qqA = . (1.51)
Az eredeti inverz problmt kt 3-DOF rszfeladatra bontottuk. Az elsfeladat(1.50), amely egy tiszta pozcionl rszfeladat, amelynek megoldsa legyen
321 ,, qqq . Miutn megoldottuk az elsfeladatot, kiszmthatjuk (1.51) jobb oldalt
s kereshetjk a msodik rszfeladat megoldst a q q q4 5 6, , vltozkban, amelyegy tiszta orientl rszfeladat. A msodik rszfeladat elterjedt ipari robotoknlgyakran vezet az inverz Euler vagy az inverz RPY feladatra, amelyek megoldstkorbban mr trgyaltuk.
1.2.4 A SCARA robot geometriai modellje
A direkt s inverz geometriai feladat megoldst a 4-DOF RRTR SCARA robot ese-tn mutatjuk be. A direkt feladat clja, hogy feldertsk a megfog pozcijnak sorientcijnak fggst a csuklvltozktl. A rotcis csuklk miatt az sszefg-gs nemlineris lesz. Msrszt az irnytsok szmra az szksges, hogy ezt a nem-lineris sszefggst megfordtsuk, mivel az irnytsi cl a csuklk olyan ssze-hangolt mozgatsa, amelynek eredmnyekppen a megfog felveszi a kvnt pozci-t s orientcit. A nemlineris sszefggsek miatt az inverz feladat egy nemline-
-
7/23/2019 RobotokProgramozasa.pdf
17/71
1. ROBOT KINEMATIKAI ALAPOK 17ris egyenletrendszer megoldsa, ami teht messze nem egy lineris algebrai (mtrixinverzis) feladat. A problmt nehezti, hogy az inverz feladat megoldsa a valsidben realizland plyatervezs szmra bemeneti adat, az inverz feladatot ezrtlehetleg itercik nlkl s robusztus numerikus szmtsok bevonsval kell meg-oldani.
A SCARA robot DenavitHartenberg-paramtereit (lsd 1.1. tblzat) az 1.5.bra koordinta-rendszerei alapjn rtelmeztk.
1.5. bra.A SCARA robotnl hasznlt keretek
Az egyes szegmensek kztti homogn transzformcik a kvetkezk:
,
1000
100
0
0
1
1111
1111
1,0
=d
SaCS
CaSC
T ,
1000
100
0
0
2
2222
2222
2,1
=d
SaCS
CaSC
T (1.52)
,
1000
1000010
0001
33,2
=d
T .
1000
010000
00
44
44
4,3
= CS
SC
T (1.53)
A homogn transzformcikat fokozatosan sszeszorozzuk az ered homogntranszformci meghatrozshoz, gyelve arra, hogy a mtrixszorzs nem kommu-tatv:
0x 0y
0z
1
1d
2d
2
1a
2a
1x 1y
1z
2x 2y
2z
3d
43 ,xx 43 ,yy
43 ,zz
4
0x 0y
0z
1
1d
2d
2
1a
2a
1x 1y
1z
2x 2y
2z
3d
43 ,xx 43 ,yy
43 ,zz
4
-
7/23/2019 RobotokProgramozasa.pdf
18/71
18 Lantos: ROBOTOK PROGRAMOZSA
,d
CS
SC
T,
=
1000
100
00
00
3
44
44
42 ,dd
SaCS
CaSC
T,
+
=
1000
100
0
0
32
222424
222424
41 (1.54)
.ddd
SaSaCS
CaCaSC
T,
++
+
+
=
1000
100
0
0
321
12211124124
12211124124
40 (1.55)
Itt 40,Tq a a direkt geometriai feladat megoldsa.
A qT , a40 inverz geometriai feladat megfogalmazsakor figyelembe kell venni,
hogy a SCARA RRTR robot csak 4-szabadsgfok, ezrt csak az eredpozcit s amegfog x tengelynek irnyt a vzszintes skban rjuk el:
,12211 xpCaCa =+ (1.56)
,12211 ypSaSa =+ (1.57)
,321 zpddd =++ (1.58)
,124 xlC = (1.59)
.124 ylS = (1.60)A 1q csuklvltoz meghatrozshoz vgezzk el a kvetkeztalaktsokat:
,
,
11122
11122
SapSa
CapCa
y
x
=
=
,22
,2222
21
221111
21
2111
221
2111
2212
22
212
22
aappSpaCpa
SaSpapCaCpapSaCa
yxyx
yyxx
++=+
+++=+
ahol az utols egyenlet alakja DSBCA =+ , amelynek megoldsa
,22
222
BA
DBAABDS
+
++=
(1.61)
.22
222
BA
DBABADC
+
++=
(1.62)
-
7/23/2019 RobotokProgramozasa.pdf
19/71
1. ROBOT KINEMATIKAI ALAPOK 19Mivel teljeslnie kell, hogy 122 =+ CS , ezrt csak kt ),( CS megolds van,
amelyek a )1,1(),( = s )1,1(),( = rtkprokhoz tartoznak. Mivel
),( CS meghatrozza a trnegyedet a skon, ezrt mindkt ),( CS prhoz egy-
egy megolds van, amely( ) CS ,2arctan= , (1.63)
feltve hogy a
0222 + DBA (1.64)
munkatr felttel teljesl.Vlaszthatjuk azt a 1q megoldst, amely a megelz 1q -
hez legkzelebb van.
Ha mr 1q -et meghatroztuk, akkor
,2
1112
a
SapS
y= (1.65)
,2
1112
a
CapC x
= (1.66)
s innen( ).,2arctan 121221 CSqq =+ (1.67)
Az utols lpsek nyilvnvalak:
,213 ddpq z = (1.68)
.,2arctan421 xyllqqq =++ (1.69)
1.2.5 A PUMA 560 robot geometriai modelljeAz RRRRRR csuklkplet PUMA robot 6-szabadsgfok, kielgti adekompozcis felttelt, mivel utols hrom csukljnak tengelyei egy kzs pont-ban metszik egymst. A robot DenavitHartenberg-paramtereit az 1.2. tblzattar-talmazza, amelybl a mrtkad koordinta-rendszerek rekonstrulhatk.
A direkt geometriai feladat megoldsakor a SCARA robotnl bemutatott utat le-het kvetni, azaz a DenavitHartenberg-paramterek s az azokra pl iiT ,1 kplet
figyelembevtelvel meghatrozzuk a 6,,2,1,,1 K= iT ii homogn transzformci-
kat, majd ezekbl kpezzk a 3,22,11,03,0 TTTT = s a 6,55,44,36,3 TTTT = homogn
transzformcikat s ezek sszeszorzsval a direkt geometriai fealadat),,(),,()( 6546,33213,06,0 qqqTqqqTqT = megoldst. Ennek sorn kihasznlhat,
hogy a 3K keret szempontjbl az utols hrom csuklvltoz rendre =4q ,
-
7/23/2019 RobotokProgramozasa.pdf
20/71
20 Lantos: ROBOTOK PROGRAMOZSA=5q , =6q Euler-forgatsokat realizl, ezrt (br a komponens transzformci-
k nem azonosak az Euler-szgeknl megismertekkel, mert a DenavitHartenberg-konvenci szerint a csukltengely mindig z irny) a 3K keretet kveten az h-
rom forgats eredhatsa az orientcira:
++
==
56565
546465464654
546465464654
6546,3 ),,(
CSSCS
SSCCSCSSCCCS
SCCSSCCSSCCC
qqqEulerA (1.70)
A 3,0T homogn transzformci az elshrom homogn transzformci ssze-szorzsa utn a kvetkezalak lesz:
++
+
=
1000
0),(
233222323
1323132122311231
132313212231231
3213,0SaSaCS
CdCSaCSaSSCCS
SdCCaCCaSCSCC
qqqT (1.71)
Az inverz geometriai feladat dekompozcis algoritmusa szerint egy elsinverzpozcionl, majd egy msodik inverz orientl feladatot kell megoldani, ahol a m-sodik egy mr kidolgozott inverz Euler-problma. Az inverz feladat bemeneti adataa specifiklt (vagy a robot grf segtsgvel ms specifiklt adatokbl szmtott)
6,0T eredhomogn transzformci, amelynek numerikusan adott elemeit jellje
=
1000
6,0zzzz
yyyy
xxxx
pnml
pnml
pnml
T (1.72)
A dekompozcis algoritmus alapjn clszerbevezetni a kvetkezjellseket:
zzzyyyxxx ndppndppndpp 666 ,, ===
(1.73)
Ekkor az inverz pozcionl feladathoz a kvetkeznemlineris egyenletrend-szert kell megoldani a trigonometrikus alapsszefggsek felhasznlsval:
-
7/23/2019 RobotokProgramozasa.pdf
21/71
1. ROBOT KINEMATIKAI ALAPOK 21
=+
=+++
=++
z
y
x
pCdSaSa
pSSdCdCSaCSa
pSCdSdCCaCCa
23423322
2314132313212
2314132313212
(1.74)
Az elsegyenletet )( 1S -gyel a msodikat pedig 1C -gyel megszorozva s a kt
egyenletet sszeadva egy DBSAC =+ alak egyenlethez jutunk, amelynek
megoldst a SCARA robotnl mr bemutattuk, ezrt 1q meghatrozhat:
1311 qdpCpS yx =+ (1.75)
Kt 1q megoldst kapunk annak megfelelen, hogy a PUMA robot az emberi kezet
(kart s kzcsuklt) kzelti, s adott pozci elrhetjobb kzzel, vagy bal kzzel.A megoldshoz ebbl egyet, pl. a megelz konfigurcihoz legkzelebbit kiv-laszthatjuk.
Ezutn 1q mr ismert, ezrt elemi algebrai talaktsokkal kpezhet
2
2342332
2
2342332
2342332211:
a
SdCaeC
a
CdSapS
SdCaCapSpCe
z
yx
=
+=
++=+=
(1.76)
Mivel azonban 2323 ,CS mg ismeretlen 22 ,CS jobb oldaln, ezrt az
122 =+ CS azonossg tbbszri felhasznlsval, valamint ngyzetre emelssel ssszeadssal prblkozunk:
2334234324
23
2222
232343234233223
24
223
23
2232343234233
223
24
223
23
222
22
22
22
)(2)(2
222222
SapedCdpeadapea
CSdaCdpSapCdSap
SCdaSedCeaSdCaeSaCa
zzz
zzz
++++=
+++++++=+
Bevezetve az
-
7/23/2019 RobotokProgramozasa.pdf
22/71
22 Lantos: ROBOTOK PROGRAMOZSA22
24
23
223443 ),(2),(2 adapeDapedBdpeaA zzz +++==+=
(1.77)
jellseket, ismt egy mr ismers alak egyenletre jutunk, melyet megoldva meg-kapjuk a msodik s harmadik csuklvltoz sszegt:
322323 qqDBSAC +=+ (1.78)
Ismt kt megoldst kapunk, amely kzl vlaszthatjuk pldul a megelzhz leg-kzelebbi megoldst.
Ezutn 22 ,CS jobb oldala mr ismert, ahonnan 2q meghatrozhat:
22arctan
22 ),( qCS (1.79)Vilgos, hogy 2q s 32 qq + ismeretben kpezhet 3q is. Ezzel az inverz poz-
cionl feladatot megoldottuk, a megoldsok kzl vlaszthattunk a megelzmeg-olds kzelben vagy bizonyos konfigurcikat preferlva (jobb/bal kz, als/felsknyk helyzet).
Termszetesen nincs akadlya annak sem, hogy az (1.76) egyenletbl elbb
2323 ,CS -at fejezzk ki analitikusan megoldvn egy kt ismeretlenes lineris egyen-
letrendszert, emeljk ngyzetre 2323 ,CS gy kapott kifejezst, adjuk ssze a kt
egyenletet, amikor is egy jabb DBSAC =+ 22 alak egyenletre jutunk alkalmas
DBA ,, egytthatkkal, amelynek 2q megoldst meghatrozva mr szmthat
2323 ,CS s abbl 322arctan
2323 ),( qqCS + , majd 2q ismeretben 3q is.
Az egyenletrendszer megoldsnl kihasznlhat, hogy
+
=
=
=
afce
bfde
bcadf
e
ac
bd
bcady
x
f
e
y
x
dc
ba 11,
ahonnan (1.76) alapjn kapjuk, hogy
+
=
eCa
pSa
C
S
ad
daz
22
22
23
23
34
43 ,
amelynek megoldsa:
-
7/23/2019 RobotokProgramozasa.pdf
23/71
2. A PLYATERVEZS ALAPJAI 23
)]([1
)]([1
3423224224
23
23
4324223224
23
23
eapdCaaSdada
C
edpaCdaSaada
S
z
z
+++
=
+++
=
(1.80)
224
23
234
243
24
23
22
3444332
3434342
)()()()(
)]()([2
)]()([2
daeapdedpadaaD
eapddedpaaaB
eapdaedpadaA
zz
zz
zz
++++++=
++=
+++=
(1.81)
Miutn meghatroztuk az elshrom csuklvltoz rtkt, behelyettesthetjktkket az 3,0A orientcis mtrixba s meghatrozhatjuk annak numerikus rtkt:
=
2323
2311231
2311231
3213,0
0
),,(
CS
SSCCS
SCSCC
qqqA (1.82)
Ezutn kiszmthat 6,3A numerikus rtke az
====
zzz
yyy
xxx
T
NML
NML
NML
AAAAAAAA :6,03,06,013,06,36,33,06,0 (1.83)
sszefggs felhasznlsval.
Az erednumerikus rtkeket szndkosan zx NL ,,K nagybetk jellik, utalva
arra, hogy numerikusan eltrnek 6,0A kis betvel jellt elemeitl, de ettl eltekintve
az inverz orientcis feladat megoldsakor felhasznlhatk az inverz Euler problmakidolgozott egyenletei (a kisbets elemek helyett a nagybetvel jellteket hasznlva,pl. 4),(2arctan qNN xy == stb.):
6546,3 ,, qqqA Eulerinverz === (1.84)
-
7/23/2019 RobotokProgramozasa.pdf
24/71
24 Lantos: ROBOTOK PROGRAMOZSA
2. A PLYATERVEZS ALAPJAIAz irnytsok szmra meg kell fogalmazni, mi legyen a szablyozott jellemzel-rt rtke (alapjel), vagy kvetendidfggvnye (kvetjel), vagyis az n. referen-cia jel. A szablyoz ehhez kpest kpzi a hibajelet (a referencia jel s a szablyo-zott jellemzaktulis rtke kztti eltrst), s a szablyozsi algoritmus clja a hi-bajel hatsnak mrsklse a tranziensek alatt s llandsult vagy kvzi-stacioner l-lapotban a hiba lehetsg szerint teljes megszntetse. Tovbbi cl mg a zavar je-lek hatsnak cskkentse s a szablyozsi rendszer robusztuss ttele a szablyo-zott szakasz (folyamat stb.) paramtereinek vltozsa ellenre.
Mozg rendszerek (robotok, jrmvek stb.) esetn a referencia jelnek a rendszermozgsa szmra elrt plya felel meg, amely idben vltoz, megvalstsra ha-tkony irnytsi algoritmusok szksgesek. A plyatervezs teht a robotirnytsokszmra elengedhetetlen, ezrt nhny alapveteljrst mutatunk be az ipari robotokkrben elterjedt plyatervezsi mdszerek kzl.
2.1 A plyatervezs adtstruktrjaTekintsk elszr a 2.1. brbanbemutatott esetet, amikor a robot megfogjval ko-rbban mr megfogott egy trgyat, s a feladat a hengerszer trgy elhelyezse egyszerelvny blokk furatba. A problmt csap-furat problmnak is szoks nevezni(peg-into-hole problem).
A clunk annak bemutatsa, hogy az alkalmazi oldalon megfogalmazott feladat
egy ltalnos 1,0= TOOLPOSCOORDT m adatstruktrv konvertlhat. En-
nek jobb oldalt kiszmtva megkapjuk az m -szabadsgfok robot erdhomogntranszformcijt, majd erre megoldva az inverz geometriai feladatot a kapott q
vektor tekintheta referencia jel aktulis rtknek a csuklvltoz vektor rtkbenkifejezve. Ennek komponensei elkdhetk egy csukl-filozfij decentralizlt ir-nyt rendszer alrendszereinek alapjel bemeneteire, s ha az alrendszerek szablyo-zsai ezt megvalstjk, akkor a robot a trben az elrt helyzetben (pozciban sorientciban, rviden helyzetben, POSE) lesz.
Tekintsk teht a 2.1. brbanspecifiklt feladat koordinta-rendszereit (rvidenkereteit, frames). A feladatban BK a bzis keret (world frame), 0K a robot referen-
cia kerete, elhelyezkedse a bzishoz kpest az ismert0,B
T homogn transzformci-
val adhat meg. mK a robot utols szegmensnek kerete, az utols szegmenshez
van rgztve az end effector (megfog), amelynek kerete EK , s a vgberendezs a
mozgs egy korbbi fzisban mr megfogott trgyat tart, amelynek kerete objK . A
korbbi mozgsi fzis specifikciibl kinyerhet EobjT , , amely megmondja
numerikusan a vgberendezs elhelyezkedst a trgyhoz kpest.
-
7/23/2019 RobotokProgramozasa.pdf
25/71
2. A PLYATERVEZS ALAPJAI 25
2.1. bra.A csap-furat problma. Koordinta-rendszerek s robot grf
-
7/23/2019 RobotokProgramozasa.pdf
26/71
26 Lantos: ROBOTOK PROGRAMOZSAAz aktulis mozgsi fzisban elvan rva, hogy helyezkedjel el a trgy a szerel-
vny furathoz kpest, amelyet a objHOLET , homogn transzformciban adhat meg
numerikusan a felhasznl. A bzis koordinta-rendszerhez kpest a szerelvny pl-dul egy munka asztalon helyezkedhet el, a hozz rgztett keret BLOCKK , helyzett
numerikusan a BLOCKBT , ismert homogn transzformci reprezentlja. A szerel-
vnyhez kpest a furat meghatrozott pozciban s orientciban van, a furathozrgztett keret legyen HOLEK , elhelyezkedse a szerelvnynek a gpszmrnki gya-
korlatban hasznlt CAD-rendszerben kszlt szerelsi rajzbl kinyerhet s a
HOLEBLOCKT , homogn transzformciv konvertlhat.
Jl lthat, hogy a objHOLET , felhasznli informci helyett a robotirnyts p-
lyatervezsi feladathoz a mT ,0 meghatrozsa szksges, amely a robot grfbl a
korbban megismert interpretcival s 11,,1,, )(
= EobjEmEmEobj TTTT figyelembe-
vtelvel a kvetkezlesz:
44 344 214342144444 344444 211
11,,,,,
10,,0 )(
=
TOOL
EobjEm
POS
objHOLE
COORD
HOLEBLOCKBLOCKBBm TTTTTTT (2.1)
Az itt vizsglt csap-furat problma s szmos ms plyatervezsi feladat a
1,0 **
= TOOLPOSCOORDT m (2.2)
smra vezet, ahol az adatstruktrban szerepl homogn transzformcik kzlCOORD szmos koordinta-rendszertl fgg, POS a felhasznli elrs sTOOL a fizikai vagy logikai szerszm. Esetnkben
objEEmEobjEm TTTTTOOL ,,1,, ==
a logikai szerszm, ahol a fizikai EmT , szer-
szmhoz hozz lett vve a objET , trgy, s a kettegyttesen alkotja a logikai szer-
szmot. Megjegyezzk, hogy magas szint robotprogramozsi nyelvekben vannakutastsok a fizikai szerszm lecserlsre logikai szerszmm.
ltalban a robot mozgsa fzisokra bonthat, pldul a csap-furat problma fel-bonthat a furat megkzeltsre gy, hogy a csap tengelye s a furat tengelye egy-
beessen, de a relatv pozci ne legyen nulla, ezt kvetheti a mozgs a furat kezdet-hez, majd innen a furat tengelye mentn a mozgs a furat aljig. Az elskt fzismozgsirnytssal megvalsthat (szabad mozgs), a harmadik azonban a csap s afurat tengelye kztt mindig meglvkisebb irnytsi pontatlansgok s a szoros il-lesztsek miatt ltalban csak n. hibrid pozci/er irnytssal valsthat meg(korltozott mozgs). Az utbbi sorn tengelyirny ert is ki kell fejteni a szab-lyozs keretben a mozgs mellett, s az er/nyomatk rzkelltal mrt hirtelen
-
7/23/2019 RobotokProgramozasa.pdf
27/71
2. A PLYATERVEZS ALAPJAI 27megnverbl lehet kvetkeztetni arra, hogy elrte a csap a furat aljt, s a csapbetolst a furatba le kell lltani. A hibrid irnyts a csuklvltozkat mrbelsrzkelkn kvl (6-komponens) er/nyomatk rzkelalkalmazst is ignyli,ami jelents kltsgnveltnyez.
A tovbbiakban megfogalmazunk egy plyatervezsi smt egyetlenskalrvltozban, majd kihasznlvn, hogy a csuklvektor s a trben n. Descartes-koordintkban a pozci s az orientci is skalr komponensekkel jellemezhet, acsuklvltozkban s a Descartes-koordintkban trtn plyatervezst a smatbbszri alkalmazsval oldjuk meg.
2.2 Plyatervezs skalrvltozban folytonos gyorsulssalA kvetkezkben egy smt (primitvet) fogunk kidolgozni egyetlen skalrvltoz)(y esetn, amely sorn feltesszk, hogy adottak a skalrvltoz ltal befutand sa-
rokpontok s az elrsi n. abszolt idrtkek (ksbb relatv idre trnk t), to-vbb a gyorsuls abszolt rtke korltozva van egy megengedett maximlis rtkrvn:
},,,,,{}{ KK DCBAyi = , maxy&& adott (2.3a)
},,,,,{}{ KK DCBAi ttttt = abszolt id (2.3b)
Az indul hipotzis a sarokpontok sszektse lineris szakaszokkal, azaz szaka-
szonknt lineris )(ty fggvny megclzsa. Ekkor az id szerinti els derivlt)(ty& szakaszonknt konstans lpcss fggvny lenne, amelynek derivltja, azaz
)(ty -nek a msodik derivltja azonosan nulla, kivve az elsderivlt ugrs helyeit,
ahol Dirac-deltkat tartalmazna, teht nem lenne korltos, szemben az elvrsokkal.Ennek felszmolsra kt lehetsg terjedt el a robotikban.
Az elsszakaszonknt lineris elsderivltat cloz meg , amikor is a msodikderivlt lpcss fggvny (trapz alak sebessgprofil). A mozgstrvnyek alapjnekkor a gyorsuls lpcss fggvnynek ugrshelyein jelents er/nyomatk vlto-zs szksges, ami komoly feladatot r a szablyozsok szmra (nagy hibajel snagy ersts esetn telts a hajtsokban, ami az ersts visszavtelvel kerlhetel, ami viszont nagyobb tranziens s marad hibval jr).
A msodik folytonos gyorsulst cloz meg. Mivel azonban az n. utaz szaka-szon a sebessg konstans s a gyorsuls nulla, ezrt a szakaszok hatrn a sebessg-vltozs megvalstshoz a gyorstsnak nullbl nem nullba kell mennie, tartanikell az eljelet (a gyorstsnak vagy lasstsnak megfelelen), majd ismt nullbakell mennie. Ez a gyorsts szmra folytonos fggvnnyel a legegyszerbben m-sodfok polinommal (parabolval) valsthat meg.
-
7/23/2019 RobotokProgramozasa.pdf
28/71
28 Lantos: ROBOTOK PROGRAMOZSA
2.2. bra.A plyatervezs smja folytonos gyorsulssal egy skalvltozban
A plyatervezs teht egy BBB gyorst szakaszra s egy CB uta-z szakaszra bonthat. A knnyebb kezels rdekben t relatv idt vezetnk be,amelynek nulla helye a gyorst szakasz kzepe, a gyorst szakasz teljes hossza pe-dig a B rtk ktszerese:
CBB : ],[ BBBabs Tttt = relatv id
43
2
2
3
1
4
0
322
13
0
212
0
2612)(
23)(
)(:
atat
at
at
aty
atatataty
atatatyBB
++++=
+++=
++=
&
&&
(2.4)
-
7/23/2019 RobotokProgramozasa.pdf
29/71
2. A PLYATERVEZS ALAPJAI 29Mivel az )(ty negyedfok polinomnak 5 egytthatja van, ezrt meghatroz-
sukhoz 5 felttel szksges, amelyek a kvetkezk:
BBCB
B
BCB
B
ABB
B
B
vBy
T
BCvy
BBvy
y
y
+=
==
==
=
=
)(
)(
)(
0)(
0)(
&
&
&&
&&
(2.5)
Behelyettestve a fggvnyekbe ezeket az rtkeket egy lineris egyenletrendszer ke-letkezik az ismeretlen egytthatkra, amelynek analitikus megoldsa a kvetkez:
BABBC
ABBC
B
ABBC
B
ABBC
vvBa
vva
vva
a
vva
)(16
32
4
3
0
4
3
4
3
2
1
30
+=
+=
=
=
=
(2.6)
A paramterek ismeretben egy skalrvltozban a plya a gyorst szakaszonegy negyedfok, az utaz szakaszon pedig egy elsfok polinom lesz:
+
++++=),[,
),[,2612)( 432
2
3
1
4
0
CBBBC
BB
TttvB
tatat
at
at
aty
(2.7)
Az )(ty fggvnyt ),[ CBB Tt kztt hasznlhatjuk, CB elrsekorjra el kell vgezni a plyatervezst az j DCC szakaszra, arra alkalmazvna CBB szakaszra kidolgozott plyatervezsi primitvet.
-
7/23/2019 RobotokProgramozasa.pdf
30/71
30 Lantos: ROBOTOK PROGRAMOZSAVegyk szre, hogy a plya nem pontosan a Bt abszolt idpontban halad t az
elrt B ponton, az eltrs ekkor
BABBC vvaByB )(16
3)0( 4 == (2.8)
A hiba abszolt rtkt B cskkentsvel lehetne cskkenteni, ennek azonban
az elrsok szerint hatrt szab, hogy
max
2max 4
3
4
3)0( y
vvvvayy
ABBC
B
B
ABBC
&&&&&&
== (2.9)
Az elrt sarokpontokon val thaladst a plyatervezsi primitv megtartsa mel-lett egyszereszkzkkel lehet biztostani, ehhez elegendugyanis a kritikusnak te-kintett sarokpontot megduplzni. Ennek ra, hogy a plya befutsi ideje B2 rtk-
kel megn, ha B a kritikus sarokpont, tovbb a sebessg egy pillanatra nullv v-lik. Vilgos, hogy a start s end sarokpontot, mivel azt garantltan be kell tartani, asorozatban mindig meg kell duplzni: },,,,,,,,,{ EEDCBASS KK . Egy specilis
felttel olvashat mg le a 2.1. brbl, nevezetesen teljeslni kell a CBBT +
felttelnek is.
2.3 Plyatervezs csuklkoordintkbanA csuklvektor komponensei skalrok, ezrt azokra komponensenknt alkalmazhataz egyetlen skalrvltozra kidolgozott primitv. Ennek sorn azonban be kell tarta-ni, hogy a csuklhajtsok motorjainak eltr teljestmnyviszonyai miatt az egyescsuklvltozk derivltjaira eltr
maxmax, ii qq &&& maximlis rtkek vannak elrva.
Ezen kvl az egyes csuklk BiCi qq megvltozsnak rtke is eltrlehet, ezrt
amaxi
q& maximlis sebessggel val befutsukhoz csuklnknt eltr id szks-
ges. Msrszt viszont csak azt a csuklt clszermaximlis sebessggel mozgatni,amelyre a sajt befutsi idmaximlis. Nincs rtelme ugyanis ms csuklkat hama-
rabb a clhelyzetbe kldeni, mert hiba rkezik egy csukl korn a clhelyzetbe, haa msik csukl mg nincs a clhelyzetben, mivel a teljes robot mg nem rte el cl-konfigurcit, s nem lehet pldul egy trgy megfogst stb. indtani.
Mivel a flslegesen gyorsan mozg csuklk mozgshoz flslegesen nagyobbkinetikus energia szksges, ezrt clszer n. koordinlt mozgst megvalstani,amikor is csak a legnagyobb idt ignylcsukl mozog maximlis sebessggel, a
-
7/23/2019 RobotokProgramozasa.pdf
31/71
2. A PLYATERVEZS ALAPJAI 31tbbiek pedig ugyanennyi idalatt, de a sajt maximlis sebessgknl lassabban skevesebb energit fogyasztva mozognak (koordinlt mozgs elve).
A plyatervezs smjt csuklvltozkban a 2.3. bramutatja.
2.3. bra.A plyatervezs smja csuklvltozkban
Az itercik vals idben val elkerlsnek rdekben minden rtket (2.9)alapjn egysgesen egyformnak vlasztottunk figyelembe vve, hogy a legnagyobb
iABiBC vv ,, sebessgvltozs rtke a maxiq& sebessgmaximum ktszerese is le-
het:
max
max
2
3max
i
i
i q
q
&&
&= (2.10)
Plyatervezsi algoritmus csuklvltozkban:
}:);({:
:,,,
:
:
}2},{max{max:
,:
}{:
:
)(:
40
max
1
+=, =,
-
7/23/2019 RobotokProgramozasa.pdf
59/71
5. Az ARPS nyelv sszefoglalja 59
MONITOR PARANCSOK
Pontok meghatrozsa
CHANGE locListzza a pont rtkt, meg lehet vltoztatni (j pont generlsa).loc: precz- vagy koordinta pont
HERE loc
Pont rtknek bevitele a memriba (aktulis robothelyzet szerinti jpont generlsa). loc: precz-, koordinta- vagy relatv pont
WHERE[#]Folyamatosan listzza az aktulis pontot. Kilps: RETURN billenty-vel.
LTEACH locPont betantsi zemmd, a betant pulton lv STEP gomb meg-nyomsakor mindig egy j pont troldik el. loc: precz-, koordinta-vagy relatv pont. Pl: LTEACH A s a STEP hromszori hasznlatautn 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 fileProgram(ok) s/vagy pontok betltse floppy-rl. Kiterjeszts: .P prog-ramok, .L pontok, kiterjeszts nlkl mindkett
FDIRFloppy directory - programok neve, mrete, szabad kapacits
FPACKLemezen lvadatok tmrtse, trendezse
FDEL fileFile trlse floppy-rl. Kiterjeszts: .P programok, .L pontok, kiterjesz-ts nlkl mindkett
-
7/23/2019 RobotokProgramozasa.pdf
60/71
60 Lantos: ROBOTOK PROGRAMOZSAZERO DISK
Floppy lemez formzsa. Vgrehajts eltt megerstst vr: Are yousure (y/n)?
Memria kezels
PDIRMemriban lvprogramok nevnek listzsa
PLIST [prg][,prg]...
Program(ok) kilistzsa (nv nlkl az sszes memriban lv
prog-ramot)
LLIST [loc][,loc]...Pontok kilistzsa (nv nlkl az sszes memriban lvpontot)
LDEL loc[,loc]...Pontok trlse a memribl
DLOAD fileAzokat a programokat s/vagy pontokat trli ki a memribl, amelyeka floppy-n a file-ban vannak
ZERO MEMORYTeljes memria trlse. Vgrehajts eltt visszakrdez: Are you sure(y/n)?
Program vezrls
RUNprg[,nnn]A megadott nevprogram indtsa.nnn nincs, vagy 0 egyszer fut le a program
n n-szer fut le a program=0 vagy nincs a kvetkezlpstl folytatja
-
7/23/2019 RobotokProgramozasa.pdf
61/71
5. Az ARPS nyelv sszefoglalja 61EXIT
A program befejezse (a program vgn lltja le s a RUN szmlljtnullzza)
ENABLE switProgramkapcsol engedlyezse
DISABLE switProgramkapcsol tiltsa
DIA file
Diagnosztikai programok betltse, indtsaCOMprg
Parancsprogram indtsa (parancsprogram: olyan program, amely csakmonitorparancsokat tartalmaz)
Sebessg megadsa
MAXSPEED nn.nMaximlis sebessg megadsa [mm/s]
SPEED nn.n
Aktulis sebessg megadsa [mm/s]SPEED% var
Sebessgtnyezmegadsa (3%..300%)
Egyb
EDIT [prg]Program szerkesztse. Ha nem adunk meg programnevet, akkor azutoljra szerkesztettet hozza fel
C strMegjegyzs parancsprogramokban
LIST COMMANDSLista az rvnyes parancsokrl s utastsokrl
LIST STATUSSttusz listzsa (BASE, TOOL rtke, kapcsolk llsa, sebessgek,ppen fut program aktulis lpsszma)
-
7/23/2019 RobotokProgramozasa.pdf
62/71
62 Lantos: ROBOTOK PROGRAMOZSACAL [nnn],[nnn],[nnn],[nnn],[nnn],[nnn]
Kalibrls.nnn >0 az adott csuklt pozitv irny mozgssal kalibrl-
ja
-
7/23/2019 RobotokProgramozasa.pdf
63/71
5. Az ARPS nyelv sszefoglalja 63
PROGRAM UTASTSOK
Pontokkal kapcsolatos utastsok
HERE locAz aktulis robothelyzetet a megadott nven eltrolja a memriban.loclehet precz, koordinta vagy relatv pont
LOCATE loc=[INVERSE] loc
Pont msolsa, talaktsa. loc lehet precz, koordinta vagy relatvpont
FRAME loc=loc,loc,loc[,loc]zemi keret megadsa. Paramterek sorrendben: orig, x tengely pozi-tv 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,locKt pont tvolsgt adja meg. Az eredmny egsz!
MIRROR locTkrzpontot definil
NO MIRRORA tkrzst tiltja
SCALE loc=var,var,varA sklzs bzispontjt s nagytst definilja. Pldul:'SCALE BASE=2000,2000,2000' utn 'BASE(A)' esetn A pont mind-hrom tengely irnyban ktszer olyan messze lesz BASE-tl, mintsklzs nlkl
NO SCALE
A sklzst tiltja
Program elgaztatsok
JUMP lblFelttel nlkli ugrs a megadott cmkre
-
7/23/2019 RobotokProgramozasa.pdf
64/71
64 Lantos: ROBOTOK PROGRAMOZSAIF [INGROUP] varcmp[INGROUP] varTHEN JUMP lbl
Feltteles ugrs
IF IN var[,var][,var][,var]Digitlis bemenetek llapottl fgg feltteles ugrs (maximum 4bemenet S kapcsolata)
CALLprgSzubrutinhvs (paramtertads nincs, minden vltoz s pont glob-lis)
RETURN [var]Szubrutinbl val visszatrs. Ha van var, akkor annyi darab prog-ramsort kihagy a hv programbl visszatrskor. Ha szubrutin vgnnincs RETURN, a program vgrehajts a szubrutin vgn befejezdik.
Mozgat utastsok
GO locA megadott pontba megy interpollt plyn. Specilis eset: 'GOREADY' home pozciba megy
GOS loc
Egyenes plyn megy a kvnt pontba
GO&OPEN locA megadott pontba megy interpollt plyn, ekzben nyitja a megfogt
GO&CLOSE locA megadott pontba megy interpollt plyn, ekzben zrja a megfogt
GOS&OPEN locA megadott pontba megy egyenes plyn, ekzben nyitja a megfogt
GOS&CLOSE locA megadott pontba megy egyenes plyn, ekzben zrja a megfogt
GONEAR [loc],disInterpollt plyn megkzelti a clpontot. A mozgs vgpontja az apont, amely a megadott locponttl a szerszm -z tengelye irnybana megadott tvolsgra van. Ha a pontot nem adjuk meg, az aktulispontbl megy a szerszm -z tengelye irnyban az adott tvolsgra
-
7/23/2019 RobotokProgramozasa.pdf
65/71
5. Az ARPS nyelv sszefoglalja 65GOSNEAR [loc],dis
Abba a pontba megy egyenes plyn, amelytl a megadott pont a szer-szm z tengely irnyban az adott tvolsgra van. Ha a pontot nem ad-juk meg, az aktulis pontbl megy a szerszm -z tengelye irnyban azadott tvolsgra
GOS&WEAVE locA megadott pontba megy egyenes plyn s kzben psztz mozgstvgez a szerszm xy skjban
MOVE [dis],[dis],[dis]
Relatv mozgs az alap koordinta-rendszer x, y, z irnyban interpo-llt plyn
MOVES [dis],[dis],[dis]Relatv mozgs az alap koordinta-rendszer x, y, z irnyban egyenesplyn
TMOVE [dis],[dis],[dis]Relatv mozgs a szerszm koordinta-rendszer x, y, z irnyban inter-pollt plyn
TMOVES [dis],[dis],[dis]Relatv mozgs a szerszm koordinta-rendszer x, y, z irnyban egye-
nes plyn
MOVE JOINT jnt,angA megadott csuklt az adott szggel mozgatja
ALIGNA szerszm z tengelyt a legkzelebbi bzis koordinta-tengely ir-nyba beforgatja gy, hogy kzben a pozci vltozatlan marad. A be-forgats a kt tengelyre merleges egyenes menti forgatssal trtnik.(A mvelet elvgzse nem jelenti azt, hogy a forgats utn a megfogx s y tengelyei is prhuzamos helyzetbe kerlnnek a bzis brmelyiktengelyvel.)
Sebessg belltsa
SPEED nn.nAktulis sebessg megadsa [mm/s]
-
7/23/2019 RobotokProgramozasa.pdf
66/71
66 Lantos: ROBOTOK PROGRAMOZSASPEED% var
Sebessgtnyezmegadsa (3%..300%)
SPEED NEXT nn.nA kvetkezmozgat utastst ezzel a sebessggel hajtja vgre
Szerszm megfog vezrlse
OPENNyitja a megfogt
CLOSEZrja a megfogt
ODELAY n.nnAz OPEN utastst paramterezi, nyits utn a megadott ideig vr
CDELAY n.nnA CLOSE utastst paramterezi, zrs utn a megadott ideig vr
I/O utastsok
OUT var[,var][,var][,var]Digitlis kimenetek lltsa egyedileg
OUTGROUP var=[INGROUP] var[aopr[INGROUP] var]Digitlis kimenetek lltsa csoportosan
RUNOUT var[,var][,var][,var]A megadott kimeneteket adott llapotba lltja, ha a program futsamegszakad
WAIT IN var[,var][,var][,var]Adott bemeneti kombincira vr (S kapcsolat). Specilis esetben jel-re vr. Az esemny bekvetkeztig a program tovbbi futsa fel vanfggesztve.
INCALL var,prg[NOBREAK]Megszakts engedlyezse. Megszakts esetn prg-ra addik a ve-zrls (a megszaktsbl val visszatrskor a megszaktott utastsvgrehajtsra tr vissza.)
-
7/23/2019 RobotokProgramozasa.pdf
67/71
5. Az ARPS nyelv sszefoglalja 67NO INCALL var
Megszakts tiltsa
ZERO OUTS varTO varDigitlis kimenetek nullzsa
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 sorren-ben: dx, dy, dz, do, da, dt
LTOOL locUgyanaz mint az elbb, csak egy ponttal lehet megadni a transzform-cit
Konfigurci mdostsa
J2 RIGHTKettes csukl (vll) jobbkezes
J2 LEFTKettes csukl (vll) balkezes
J3 UPHrmas csukl (knyk) felsllsban
J3 DOWNHrmas csukl (knyk) als llsban
J5 PLUSts csukl (csuklizlet) pozitv
J5 MINUSts csukl (csuklizlet) negatv
-
7/23/2019 RobotokProgramozasa.pdf
68/71
68 Lantos: ROBOTOK PROGRAMOZSALellt utastsok
STOP ['str'][,var]A programot gy lltja meg, hogy CONTINUE paranccsal tovbb fut-tathat, kirja 'str'-t s 'var' rtkt
HALT ['str'][,var]Ugyanaz mint az elbb, de nem folytathat a programvgrehajts
EXITProgram futs befejezse, a program a vgn ll meg (a RUN szml-
ljt nullzza)
Floppy kezels
LOAD file[NOBREAK]Betlt egy file-t a floppy-rl
DLOAD file[NOBREAK]Azokat a programokat s/vagy pontokat trli a memribl, melyek afloppy-n a file-ban vannak
WAIT LOAD
A floppy mvelet vgrehajtsa utn fut tovbb a program
Egyb utastsok
C [str]Megjegyzs
COMMonitor parancs hasznlata programon bell, pldul: COM CAL
DELAY n.nnMegadott idt ksleltet
ENABLE switProgramkapcsol engedlyezse
DISABLE switProgramkapcsol tiltsa
-
7/23/2019 RobotokProgramozasa.pdf
69/71
5. Az ARPS nyelv sszefoglalja 69PRINT ['str'][,var]
Kpernyre val kirats
SET var=[INGROUP] var[aopr[INGROUP] var]Vltoz rtkadsa
TOL NARROWSzerszm belltsi pontossg vezrlse, pontos
TOL WIDEUgyanaz, mint az elbb, kevsb pontos
WEAVE dis[,n.nn][,n.nn]A psztz mozgst paramterezi. A paramterek sorrendben: am-pltd, peridusid, tartzkodsi id
EDITOR PARANCSOK
EKilps (exit)
IBeszrs (insert). A kurrens sor el szr be, kiszlls: res sor
D [nnn]Trls (delete). Ha nnnnincs megadva, akkor csak a kurrens sor trl-se
P [nnn],[nnn]Listzs. Ha nincs paramter, akkor az els sort adja. Paramterek:kezdsor, sorok szma
R str^strA kurrens sorban cserli az elsstring-et a msodikra (replace)
RA str^strUgyanaz mint az elbb, de az egsz file-ra vonatkozik (replace all)
T GO locA kvetkezutastsokat generlja a kzi betantpult STEP gombjamegnyomsra:
ha a megfog nyitott, akkor 'GO&OPEN loc'ha a megfog zrt, akkor 'GO&CLOSE loc'
a pontok koordinti troldnak a memriban nvekvindexszel
-
7/23/2019 RobotokProgramozasa.pdf
70/71
70 Lantos: ROBOTOK PROGRAMOZSAT GOS loc
A kvetkezutastsokat generlja a kzi betantpult STEP gombjamegnyomsra:
ha a megfog nyitott, akkor 'GOS&OPEN loc'ha a megfog zrt, akkor 'GOS&CLOSE loc'
a pontok koordinti troldnak a memriban nvekvindexszel
-
7/23/2019 RobotokProgramozasa.pdf
71/71
FGGELK 71
FGGELKAz albbiakban nhny utasts hatst, mkdsnek rszleteit mutatjuk be, mate-matikai formba ntve.
Koordintapont eltrolsa s rtelmezse
=
1000
),,(,,,,,
z
y
x
taoEulerTtaozyx BE
HERE B(REL)
Tegyk fel, hogy az aktulis pozci AKTT . Az utasts hatsra a
AKTBREL TTT = 1: pozcit fogja eltrolni.
GO B(REL)
Az utasts hatsra a RELB TT pozci lesz a mozgs clpontja.
BASE z,y,x, (Az ,,, zyx rtkek kizrlagnumerikus rtkek lehetnek!)
Az utasts vgrehajtsa utn a 0BT transzformci rtke a kvetkezlesz:
=
=
1000
100
0
0
1000
),( 10
z
ycs
xsc
z
y
x
zRotTB
TB0 T06 T6E
KB K0 K6 KE
TBE
GONEAR PONT,d(d rtk kizrlagnumerikus rtk lehet!)Az utasts vgrehajtsa vgn a megfog pozcija:
=
1
*T
PONTPONTPONTBE
dT
0
npA