2. MANIPULAATORI KINEMAATIKA...2. MANIPULAATORI KINEMAATIKA 2.1. Asendivektorid ja nende...
Transcript of 2. MANIPULAATORI KINEMAATIKA...2. MANIPULAATORI KINEMAATIKA 2.1. Asendivektorid ja nende...
-
2. MANIPULAATORI KINEMAATIKA 2.1. Asendivektorid ja nende teisendamine Roboti kinemaatika uurib ajamitega tekitatud manipulaatori liikumist arvestamata seejuures rakendatud jõudude mõju. Seejuures on liikumist iseloomustavateks suurusteks manipulaatori lülide asendid, kiirused, kiirendused, tõuked ja nende kõik muud kõrgemat järku tuletised.
PAr
Punkti asukoht ristkoordinaadistikus {A} on kirjeldatav vektoriga (joonis 2.1), mis on määratud selle projektsiooniga telgedele x, y, z.
.⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
z
y
xA
ppp
Pr
(2.1)
Keha orientatsioon ehk suunistus ruumis ristkoordinaadistikus {A} määratakse kolme ühikvektoriga x y zB B B, , . Need vektorid on üksteisega risti ning moodustavad kehaga seotud ristkoordinaadistiku {B}. Seega on keha suunistuse muutumine kirjeldatav ühe ristkoordinaadistiku pööramisega teise ristkoordinaadistiku suhtes. Ühikvektor xB on kirjeldatav koordinaadistikus {A} selle kolme projektsiooniga koordinaadistiku {A} telgedel x, y, z. Samuti on kirjeldatavad ka ühikvektorid ja z . yB B
{A}
px
x
y
z
PA
py
pz
OA
Joonis 2.1. Punkti asendivektor ristkoordinaadistikus
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
BZ
BY
BX
BA
xxx
Xr
(2.2)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
BZ
BY
BX
BA
yyy
Yr
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
BZ
BY
BX
BA
zzz
Zr
BAZr
Vektorid , , BA Xr
BAYr
moodustavad rotatsioonimaatriksi , mis iseloomustab koordinaadistiku {B} suunistust koordinaadistiku {A} suhtes.
BAR
23
-
[ .,, BABABAB
ZB
ZB
ZB
YB
YB
YB
XB
XB
X
AB ZYX
zyxzyxzyx
Rrrr
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
= ] (2.3)
Koordinaadistiku ehk teljestiku {B} asend teljestiku {A} suhtes (joonis 2.2) määratakse selle teljestiku alguspunkti asendivektoriga BO
APr
ning rotatsioonimaatriksiga RAB { } { }BOAAB PR
r,B = (2.4)
PBr
Lükatud teljestikus {B} kirjeldatud asendivektorit (joonis 2.3) kirjeldatakse koordinaadistikus {A} kahe vektori summana
BOABA PPPrrr
+= (2.5)
PBr
Pööratud teljestikus {B} kirjeldatud asendivektorit kirjeldatakse koordinaadistikus {A} rotatsioonimaatriksi abil, kusjuures asendivektor PA
rRAB leitakse rotatsioonimaatriksi B
ja asendivektori
ARPBr
korrutamisega.
{A} zAxB
OA
APBO
{B}
xA
yBzB
yA
OB
Joonis 2.2. Haaratsi või tööriista suunistuse määramine
xA
{Α}
APBO AP
BP
OB
zB
yB
xB
zA
yA
{Β}
OA
Joonis 2.3. Asendivektori teisendamine lükatud teljestikus
24
-
PRP BABA
rr⋅= (2.6)
Rotatsioonimaatriks võimaldab ka vastupidist teisendust, s.t määrata teljestiku {A} suunistust teljestiku {B} suhtes. Seda kirjeldab rotatsioonimaatriks B . Lineaaralgebra kursusest on teada, et ortonormaalsete veergudega maatriksi ehk ortogonaalmaatriksi pöördmaatriks võrdub transponeeritud maatriksiga
AR
TA
BAB
AB RRR ==
−1 (2.7) MathCAD-programmi Symbolics abil saab vastavate arvutustega tõestada, et pöördmaatriks võrdub transponeeritud rotatsioonimaatriksiga. Mõlemad avaldised on võrdsed, sest pöördmaatriksi elementide nimetaja võrdub ühega.
Rcos α( )sin α( )
0
sin α( )−cos α( )
0
0
0
1
⎛⎜⎜⎝
⎞⎟⎟⎠
:=
RTcos α( )sin α( )−
0
sin α( )cos α( )
0
0
0
1
⎛
α
⎜⎜⎜⎝
⎞⎟⎟⎟⎠
→
R 1−
cos α( )cos α( )2 sin α( )2+( )
sin α( )−cos α( )2 sin α( )2+( )
0
sin α( )cos α( )2 sin α( )2+( )
cos α( )cos α( )2 sin α( )2+( )
0
0
0
1
⎡⎢⎢⎢⎢⎢⎣
⎤⎥⎥⎥⎥⎥⎦
→
Ortonormaalne süsteem on ortogonaalne ristuvate elementidega süsteem, mille elemendi norm on 1. Transponeeritud maatriks leitakse maatriksi ridade asendamisel veergudega. Pöördmaatriks R-1 arvutatakse üldjuhul valemiga
)(det
11jiRR
R =− (2.8)
kus Rji on adjungeeritud maatriks. Tänu rotatsioonimaatriksi ortonormaalsusele saab pöördmaatriksi leida lihtsamalt, s.o maatriksi transponeerimisega. Maatriksi ja tema pöördmaatriksi korrutamisel saadakse ühikmaatriks, mille peadiagonaal koosneb ühikelementidest ehk ühtedest. Valemi 2.6 kasutamiseks tuleb rakendada maatriksite korrutamise valemit
∑=
⋅=n
jikijik bac
1
)( (2.9)
25
-
PBr
Antud juhul on maatriks aij rotatsioonimaatriks, bjk võrdub asendivektoriga ning korrutiseks cik on asendivektor P
Ar
(i = 1...3; j = 1...3; k = 1). Asendivektori üldistatud teisendamiseks, s.o lükatud ja pööratud teljestikus {B} antud vektori PB
r kirjeldamiseks koordinaadistikus {A}, kasutatakse valemit
BO
ABAB
A PPRPrrr
+⋅= (2.10) Valemi 2.10 saab esitada ka kujul
PTP BABA
rr⋅= (2.11)
kus on koordinaadistiku {B} teisendusmaatriks (Homogeneous Transform). B
AT Koordinaadistiku {B} teisendusmaatriks saadakse 3x3 rotatsioonimaatriksi ja 3x1 teljestiku alguspunkti asendivektori ühendamisel. Valemi 2.11 saab esitada kujul
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⋅
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
1_
1000____
1_
PPRP BBOAA
BA
(2.12)
Viimase rea [0 0 0 1] lisamine teisendusmaatriksile ning 1 lisamine asendivektoritele on matemaatiline manipulatsioon, mille tulemusena saadakse 4x4 ruutmaatriks ja 4x1 asendivektorid. Teisendusmaatriksi kasutamine võimaldab kompaktselt kirjeldada asendivektorite teisendamise protseduuri, mis on oluline keeruka kinemaatilise ahelaga manipulaatorite matemaatilisel kirjeldamisel. Eespool leitud seoseid saab kasutada mitte ainult vektorite kirjeldamiseks erinevates koordinaadistikes, vaid ka nende asendi muutmiseks, s.o translatsiooni- ja rotatsioonioperaatoritena.
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
1000100010001
),(Z
Y
X
qqq
QQTRANS (2.13)
kus Q on ühiksuund ja vektori pikkus. Q
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000010000cossin00sincos
),(αααα
αZROT (2.14)
kus Z tähistab pööramist ümber z-telje ja α vastavat pöördenurka.
26
-
Translatsiooni- ja rotatsioonioperaatorite ühendamisel saadakse koordinaatide teisendusoperaator (teisendusmaatriks). Mitu järjestikust koordinaatide teisendust võib ühendada liitteisenduseks ning leida sellele vastava teisendusoperaatori
;PTP CBCB
rr⋅= PTP BAB
Arr
⋅= millest
PTTP CBCAB
Arr
⋅⋅= (2.15) Liitteisenduse maatriks
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡+⋅⋅
=
1000____
BOA
COBA
BBC
ABA
C
PPRRRT
rr
(2.16)
Pöördeteisenduse maatriksi võib esitada kujul A
BT
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡⋅−
=
1000____
OBATA
BTA
BBA
PRRT
r
(2.17)
ehk .1−= TT ABBA
Teisendusmaatriks A pole ortonormaalne (ristuvatest ühikvektoritest koosnev) ning järelikult ei võrdu tema pöördmaatriks transponeeritud maatriksiga.
BT
Koordinaadistike teisendusvõrrandite lahendamine võimaldab tuntud teisenduste abil määrata mõne tundmatu teisenduse. Näiteks kui
TTT ADEA
ED ⋅= ja TTTT
CD
BC
EB
ED ⋅⋅=
siis TTTTT CDBC
EB
AD
EA ⋅⋅==
millest
11 −− ⋅⋅= TTTT CDAD
EB
BC (2.18) Euleri nurgad. Keha suunistust saab peale rotatsioonimaatriksi määrata ka kolme sõltumatu nurga abil. Rotatsioonimaatriksi 9 elementi on üksteisest sõltuvad. Nende kohta kehtib 6 tingimust, sh 3 ühikvektori pikkuse kohta
1ˆ =Z;1ˆ =X ;1ˆ =Y (2.19)
27
-
ja 3 nende ortogonaalsuse (ehk täisnurksuse) kohta
;0ˆˆ =⋅YX (2.20)
;0ˆˆ =⋅ZX 0ˆˆ =⋅ZY
Vektorite skalaar- ja vektorkorrutise olemuse paremaks mõistmiseks on järgnevalt esitatud ristuvate ja samasuunaliste vektorite skalaarkorrutise (dot product) näited
0
5
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
5
0
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
⋅ 0=
5
0
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
5
0
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
⋅ 25=
αsin⋅⋅⋅=× banba rrrSamade vektorite vektorkorrutis (cross product) annab järgmise
tulemuse:
5
0
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
0
5
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
×
0
0
25
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
=
5
0
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
5
0
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
×
0
0
0
⎛⎜⎜⎜⎝
⎞⎟⎟⎟⎠
=
kus on vektoritega ja risti olev korrutise suunavektor. Seega on kahe ristuva vektori skalaarkorrutis 0, nende vektorkorrutiseks on aga mõlema vektoriga risti olev vektor, mille amplituud võrdub vektorite amplituudide korrutisega.
br
nr ar
Sellest järeldub, et teljestiku pööramist võib iseloomustada vaid kolme sõltumatu muutujaga. Enamikul juhtudel kasutatakse selleks kolme nurka (joonis 2.4). Nendeks on pöörde- (roll), kallutus- (pitch) ja lengerdusnurk (yaw). Pöördenurka mõõdetakse yz-tasandil teljestiku pööramisel x-telje ümber, kallutusnurka xz-tasandil teljestiku pööramisel y-telje ümber ja lengerdusnurka xy-tasandil pööramisel z-telje ümber. Vastavalt sellele, mis telje ümber pööramine toimub, nimetatakse vastavaid nurki α-, β-, γ- või ka x-, y-, z-nurkadeks. Kolm võimalikku pöördenurka on kasutusel kõikjal, kus on tegemist vaba ruumilise liikumisega. Need nurgad on olulised nt lennukite juhtimisel (joonis 2.5 a). Samu nurki võib kasutada ka ruumilist tegevust jälgiva kaamera või inimese pea puhul (joonis 2.5 b).
ROLL PITCH YAW
zB
PÖÖRE KALLUTUS LENGERDUS
xB
yB
yA
zA
xA
zB
xB
yB
yA
zA
xA
zB
xB
yB
yA
zA
xA
β
α
γ
Joonis 2.4. Manipulaatori tööorgani suunistuse pöörde-, kallutus- ja lengerdusnurk
28
-
Joonis 2.5. Pöörde-, kallutus- ja lengerdusnurgad lennuki juhtimisel a ja inimese pea pööramisel b Teljestiku üldistatud rotatsioonimaatriksi saab tuletada ka üksikute rotatsioonioperaatorite kaudu
),(),(),(),,( γβααβγ BA
BA
BAA
B XROTYROTZROTR ⋅⋅= (2.21) kus
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −=
1000cs0sc
),( αααα
αBAZROT
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−=
ββ
βββ
c0s010
s0c),( B
AYROT
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=γγγγγ
cs0sc0001
),( BAXROT
Kõikides neis maatriksites on siinus- ja koosinusfunktsioonide tähistamiseks kasutatud vaid esitähti s ja c. Üldistatud rotatsioonimaatriks
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⋅⋅−⋅−⋅⋅⋅+⋅⋅⋅⋅+⋅⋅⋅−⋅⋅⋅
=γβγββ
γαγβαγαγβαβαγαγβαγαγβαβα
αβγccscs
sccssccssscssscsccsscccc
),,(RAB (2.22)
Maatrikseid saab hõlpsasti korrutada programmiga MathCAD. Sümbolkujul esitatud maatrikseid korrutatakse programmiga MathCAD Symbolics. Järgnevalt on esitatud näide teisendusmaatriksite sümbolkujul korrutamisest programmiga MathCAD.
Pöörde kesktasand Kallutuse kesktasand
Pööre Kallutus
Lengerdus
Pööre
z telg
y telg x telg
Lengerdus
Kallutus
a b
29
-
T1
cos α( )sin α( )
0
0
sin α( )−cos α( )
0
0
0
0
1
0
x
y
z
1
⎛⎜⎜⎜⎜⎝
⎞⎟⎟⎟⎟⎠
:=
T2
cos β( )0
sin β( )0
sin β( )−0
cos β( )0
0
1
0
0
a
0
1
⎛
z
h
⎜⎜⎜⎜⎝
⎞⎟⎟⎟⎟⎠
:=
T T1:=
T
cos α( ) cos β( )⋅sin α( ) cos β( )⋅
sin β( )0
cos α( )− sin β( )⋅sin α( )− sin β( )⋅
cos β( )0
sin α( )−cos α( )
0
0
cos α( ) a⋅ x+sin α( ) a⋅ y+
h z+
1
⎛
h
T2⋅T2
⎞⎜ ⎟⎜⎜
⎟⎟→
⎜ ⎟⎝ ⎠
Sümbolkujul korrutatud maatriksist saab avaldada võrrandid muutujate (α, β, z) arvutamiseks ning manipulaatori kinemaatika pöördülesande lahendamiseks. 2.2. Manipulaatori kinemaatikaülesanded Roboti juhtimisel antakse programmiga ette liikumise siht- ehk positsioonimispunkti koordinaadid, trajektoori soovitav kuju ning liikumise iseloom ehk kiirusdiagramm. Tööorgani viimiseks algasendist lõppasendisse peab juhtseade lahendama järgmised ülesanded: 1. määrama andurite signaalide järgi robotkäe lülide tegeliku asendi (α , β , γa a a)
2. arvutama suuruste (αa, β , γ ) järgi tööorgani asendi ristkoordinaadistikus xa a a, y , za a, s.t lahendama manipulaatori kinemaatika otsese ülesande
3. plaanima trajektoori ning liikumisdiagrammi. Sirgjoonelise liikumise korral peab juhtseade määrama trajektoori sihi, sellel liikumise suuna ning ajalise seaduspärasuse
4. leidma tööorgani soovitud liikumise jaoks jooksvate asendite projektsioonid ristkoordinaadistikus x , y , zs s s, vajaduse korral leidma ka kiirusvektori vastavad projektsioonid
5. määrama soovitud liikumise jaoks vajalikud robotkäe lülide asendid (α , βs s, γs) ning väljastama need ajamitele seadesignaalidena, s.t lahendama manipulaatori kinemaatika pöördülesande
6. kordama eespool loetletud tegevusi kuni positsioonimispunkti jõudmiseni ning seejärel peatama liikumise.
Nendele tegevustele vastav roboti juhtimise algoritmi plokkskeem on joonisel 2.6.
30
-
Kinemaatika otsene ülesanne. Manipulaatori kinemaatika otsese ülesande lahendamisel leitakse manipulaatori lülide mõõtmete ning nende lülide omavaheliste suhteliste asendivektorite ja pöördenurkade järgi manipulaatori tööorgani (haaratsi) asendivektor ja suunistusnurgad manipulaatori baaskoordinaadistikus. Lühidalt öeldes toimub haaratsi või tööriista asendi määramine baaskoordinaadistikus lülide etteantud koordinaatide (nt suhteliste pöördenurkade) järgi. Kinemaatika pöördülesanne. Manipulaatori kinemaatika pöördülesande lahendamisel tuleb tööorgani etteantud asendi ja suunistusnurkade järgi määrata manipulaatori kõikide lülide omavahelised asendivektorid ja pöördenurgad, s.t määrata lülide asend (nt suhtelised pöördenurgad) haaratsi või tööriista etteantud baaskoordinaatide järgi. Kinemaatika otsese ülesande lahendamise meetodid:
• geomeetriline meetod (geomeetria ja trigonomeetria põhiteisendused) • maatriksmeetod (koordinaadistike teisendusmaatriksid).
Kinemaatika pöördülesande lahendamise meetodid:
• mitme võimaliku lahendi puhul tuleb määrata manipulaatori poos • lahendite otsimine kõigi võimalike meetoditega (algebraliste, geomeetriliste,
numbrilistega)
Liiknmiskäsu ja sihtasendi koordinaatide etteandmine
Tegeliku asendi mõõtmine roboti baaskoordinaadistikus Kinemaatika otsese ülesande lahendamine ja tegeliku asendi määramine ristkoordinaadistikus Trajektoori plaanimine ja soovitud programmliikumise etteandmine ristkoordinaadistikus Kinemaatika pöördülesande lahendamine ja seadesuuruste arvutamine
Seadesuuruste väljastamine ajamitele
Positsioonimispunkti asukoha kontroll
ALGUS
x2, y2, z2
αa, βa, γa
xa, ya, za
xs, ys, zs
αs, βs, γs
αs, βs, γs
As = Aa?
LÕPP
Joonis 2.6 Manipulaatori liikumise juhtimise algoritmi plokkskeem
31
-
Otsese ülesande lahendamisel kasutatakse eelkirjeldatud koordinaadistike teisendus-maatrikseid. Pöördülesande lahendamisel saab kasutada vastavaid pöördmaatrikseid. Pöördülesande lahendamist raskendab asjaolu, et pöördülesanne pole alati üheselt lahenduv. Liigendkäel on ühte ja samasse punkti jõudmiseks kaks võimalikku poosi (joonis 2.7 a). Võimalike pooside arv sõltub manipulaatori ehitusest. Näiteks on roboti PUMA manipulaatoril haaratsi ühe ja sama asendi puhul 4 võimalikku poosi (joonis 2.7 b). Pöördülesandel on ühene lahend vaid manipulaatori etteantud poosi puhul. Seepärast tuleb enne pöördülesande lahendamist valida manipulaatori poos. Tööorgani pideva liikumise ajal pole poosi muuta võimalik.
Joonis 2.7. Liigendkäe a ja manipulaatori võimalikud poosid b haaratsi sama asendi puhul
o
o
A1
A2L12
0 -x x
y
A1
A2 o
o
-x x0
y
Joonis 2.8. Liigendkäe asendid sirgjoonelisel liikumisel ja poosi vahetamine, mis pole pideva liikumise puhul
võimalik Pöördülesande lahendamisel tuleb määrata lülide pöörde-, kallutus- ja lengerdusnurgad tööorgani asendivektori või rotatsioonimaatriksi elementide kaudu. Kui tähistada
32
-
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
333231
232221
131211
rrrrrrrrr
RAB (2.23)
ning võrrelda avaldisi 2.22 ning 2.23, saab leida teljestiku pööramise nurgad järgmisel kujul:
)cos/,cos/(2tanarc)(2tanarc
)cos/,cos/(2tan
1121
221
211,31
3332
ββαβ
ββγ
rrrrr
rrA
=
+−=
=
(2.24)
kus arctan2(rij) on 2 argumendi (y, x) funktsioonid. Näiteks arctan2(2, 2) = 45°. Pöördülesande võrrandite lahendamiseks saab kasutada MathCAD programmi ning selle operaatoreid Given ja Find α 0:= β 0:= r1 6:= r2 4:=
Givencos α( ) cos β( )⋅ sin α( ) sin β( )⋅−( ) r2⋅ cos α( )( ) r1⋅+ 6
sin α( ) cos β( )⋅ cos α( ) sin β( )⋅+( ) r2⋅ sin α( )( ) r1⋅+ 4
α
β
⎛⎜⎝
⎞⎟⎠
Find α β,( ):=
α 0→
β 12π⋅→
Pöördülesande lahendamisel tuleb sageli tegemist teha transtsendentsete võrranditega. Transtsendentsed võrrandid (transcendental equations) on võrrandid, millel puudub tuntud funktsioonidega esitatav ilmutatud lahend. Kuna trigonomeetriliste funktsioonidega võrrandid on sageli ka transtsendentsed, siis on nende ilmutatud üldkujul lahendamiseks otstarbekas võtta kasutusele asendusfunktsioonid. Trigonomeetrilised funktsioonid saab asendada uue muutujaga u
( )
2
2
2
12sin
11cos
2/tan
uuuu
u
+=
+−
=
=
α
α
α
(2.25)
Pärast funktsioonide niisugust asendamist muutuvad transtsendentsed võrrandid polünoomideks, mida saab lahendada.
33
-
2.3. Kiirus- ja momendivektorite teisendamine Kiirusvektorite ja jõu- ning momendivektorite teisendamine erineb asendivektorite teisendamisest, kuna sel juhul pole alati oluline vektori rakenduspunkt, s.t vektor ei kaota nihutamisel oma tähendust, kui tema pikkus ja suund ei muutu. Sel juhul on tegemist vabavektoritega (free vector), mis säilitavad oma suuruse ning suuna sõltumata rakenduspunktist. Vektorite teisendamine kuulub lineaaralgebra uurimisvaldkonda ning sellega saab lähemalt tutvuda vastavas kursuses. Siin esitatud valemid aitavad aga paremini mõista robotite juhtimise matemaatilisi probleeme. Vabavektorite teisendamine. Kuna koordinaadistiku alguspunkti asendivektor pole vaba-vektorite puhul oluline, saab momendivektorit teisendada üksnes rotatsioonimaatriksi abil
TorqueBA
BTorqueA NRN ⋅= (2.26)
Samuti saab teisendada ka kiirusvektori
VelocityBA
BVelocityA VRV
rr⋅= (2.27)
Seega ei mõjuta teljestiku pööramine kiirusvektori suurust ega suunda, kuid muudab vektori kirjeldust. Kiirusvektori teisendamine lineaarliikumisel. Kui koordinaadistik {B} liigub koordinaa-distiku {A} suhtes kiirusega ning on {A} suhtes pööratud, siis saab koordinaadistikus
{B} lineaarselt liikuva punkti kiirusvektori 0B
AVr
PBVr
teisendada koordinaaditikku {A} võrrandiga.
PBA
BBA
PA VRVV
rrr⋅+= 0 (2.28)
Koordinaadistiku {B} pöördliikumisel koordinaadistiku {A} suhtes, mida kirjeldab nurkkiirusvektor B
AΩr
PBr
, leitakse koordinaadistikus {B} asendivektoriga määratud ja {B} suhtes paigalseisva punkti lineaarkiirus koordinaadistikus {A} võrranditega
PV
PRPA
BA
PA
BAB
A
rrr
rr
×Ω=
⋅= (2.29)
Neist viimane võrrand on oma sisult sama mis skalaarsuuruste puhul kasutatav võrrand
rv ⋅= ω , millega arvutatakse pöörleval kehal oleva punkti lineaarkiirust, kus r tähistab pöörlemisraadiust.
PBVr
Üldjuhul, kui punkt liigub koordinaadistiku {B} suhtes lineaarkiirusega , tuleb ka see liikumine taandada koordinaadistikku {A}
( ) PVV ABAPBAPArrrr
×Ω+= või (2.30)
PRVRV BABBA
PBA
BPA
rrrr⋅×Ω+⋅= (2.31)
34
-
Koordinaadistiku {B} samaaegse lineaar- ja pöördliikumise puhul kasutatakse võrrandit. Sel juhul lisandub summeeritavate vektorite hulka veel koordinaadistiku enda alguspunkti lineaarkiirusvektor
PRVRVV BABBA
PBA
BBA
PA
rrrrr⋅×Ω+⋅+= 0 (2.32)
Manipulaatori liigendkäe lülide kiirused. Manipulaatori xy-tasapinnaline liigendkäsi on joonisel 2.9. Käe paigalseisev baaskoordinaadistik on x0y0. Koordinaadistiku algpunkti O ümber pöörleb lüli pikkusega L , millega on liigendiga ühendatud teine lüli pikkusega L1 2. Lülide suhtelised pöördenurgad on α ja α1 2. Lüli nurkkiirus võrdub pöördenurga tuletisega. Järelikult
222
111
ωαα
ωαα
==
==
&
&
dtddt
d
(2.33)
Lülide nurkkiirusvektorid paigalseisvas koordinaadistikus kui pöörlemine toimub ümber z-telje.
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=Ω
1
10 0
0
ω
r
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
+=Ω
21
20 0
0
ωω
r2
03
0 Ω=Ωrr
(2.34)
y3
α1
α2
L1
L2
x3
y2
x2
y0 y1 x1
x0OV1 = 0
V2
V3
Joonis 2.9. Manipulaatori tasapinnaline liigendkäsi Koordinaadistike tsentrite lineaarkiirusvektor etteantud koordinaadistikus on määratud kiirusvektori projektsioonidega vastavatele telgedele
35
-
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
000
11Vr
(2.35)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
0cossin
211
211
22 αω
αωLL
Vr
(⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡++=
0cos
sin
212211
211
33 ωωαω
αωLL
LVr
)
Manipulaatori lülide rotatsiooni- ja teisendusmaatriksid on järgmised:
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −=
10000
11
1101 cs
scR (2.36)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −=
10000
22
2212 cs
scR
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
100010001
23 R
ning
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
100001000000
11
11
01
cssc
T (2.37)
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000010000
0
22
122
12
csLsc
T
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
100001000010
001 223
L
T
Summaarne rotatsioonimaatriks
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −=⋅⋅=
10000
1212
121223
12
01
03 cs
scRRRR (2.38)
kus
( )21cos αα +212112 ssccc −= = ( )21sin αα +.212112 sccss += =
Velocity
BABVelocity
A VRVrr
⋅=Rotatsioonimaatriksi ja omakiiruse korrutamisel ( ) saadakse kiirusvektor paigalseisvas ehk 0. koordinaadistikus. Kuna 1. koordinaadistik on 0. koordinaadistiku suhtes paigal, siis
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
000
10Vr
Teises koordinaadistikus liikuva keha kiirus 0. koordinaadistikus on
220
220 VRV
rr⋅=
kus ⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
0cossin
211
211
22 αω
αωLL
Vr
36
-
millest (2.39)
( )( )
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=
0cossin
111
111
20 αω
αωLL
Vr
(⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡++=
0cos
sin
212211
211
33 ωωαω
αωLL
LVr
) (2.40)
( ) ( )[ ]( ) ([
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+++++−−
=0
coscossinsin
21212111
21212111
30 ααωωαω
ααωωαωLLLL
Vr
330
330 VRV
rr⋅= )] (2.41)
Viimaseid tulemusi on hõlpus kontrollida MathCAD programmi abil
millest MathCAD arvutab
Pärast lihtsustamist operaatoriga Simplify avaldub kiirusvektor järgmiselt:
Jakobiaanid võimaldavad esitada mitmemõõtmelisi (vektorite) tuletisi. Kuna kiirusvektor on asendivektori tuletis aja järgi, saab kiirusvektoreid leida jakobiaani abil. 6-koordinaadilise manipulaatori jakobiaaniks on 6 x 6 maatriks. 2-koordinaadilise manipulaatori (joonis 2.11) puhul on jakobiaani mõõtmeks 2 x 2
Ω⋅=rr
JV 00 Jakobiaan moodustatakse joonkiirusvektori komponentide ω ja ω1 2 komponentidest. Eespool kirjeldatud joonkiirusvektorite ja 3
0Vr
33Vr
( ) ( )[ ]( ) ([ ]
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+++++−−
=0
coscossinsin
21212111
21212111
30 ααωωαω
ααωωαωLLLL
Vr
(⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡++=
0cos
sin
212211
211
33 ωωαω
αωLL
LVr
) ) ja
põhjal saab moodustada järgmised jakobiaanid:
37
-
( ) ⎥⎦
⎤⎢⎣
⎡+
=2221
213 0LLcL
sLJ α (2.42)
( ) ⎥⎦
⎤⎢⎣
⎡+
−−−=
12212211
122122110
cLcLcLsLsLsL
J α
Baaskoordinaatides saab joonkiirusvektori leida jakobiaani ja nurkkiiruste korrutisena, mida tõestab ka eeltoodud avaldiste põhjal teostatud arvutus MathCAD Symbolic programmi abil.
L1 sin α2( )⋅L1 cos α2( )⋅ L2+
0
L2
⎛⎜⎝
⎞⎟⎠
ω1
ω2
⎛⎜⎝
⎞⎟⎠
⋅L1 sin α2( )⋅ ω1⋅
L1 cos α2( )⋅ L2+( ) ω1⋅ L2 ω2⋅+⎡⎢⎣
⎤⎥⎦
→
L1− sin α1( )⋅ L2 sin α1 α2+( )⋅−
L1 cos α1( ) L2 cos α1 α2+( )⋅+L2− sin α1 α2+( )⋅
L2 cos α1 α2+( )⋅⎛⎜⎝
⎞⎟⎠
ω1
ω2
⎛⎜⎝
⎞⎟⎠
⋅L1− sin α1( )⋅ L2 sin α1 α2+( )⋅−( ) ω1⋅ L2 sin α1 α2+( )⋅ ω2⋅−
L1 cos α1( )⋅ L2 cos α1 α2+( )⋅+( ) ω1⋅ L2 cos α1 α2+( )⋅ ω2⋅+⎡⎢⎣
⎤⎥⎦
→
2.4. Manipulaatorite kinemaatilised ahelad Manipulaatorite kinemaatilised ahelad moodustuvad omavahel ruumiliselt sidestatud lülidest. Lülide arv ning lülisid siduvate kinemaatiliste paaride tüübid määravad manipulaatori liikuvusastmete arvu. Selleks et teisaldada esemeid ruumis, muutes samal ajal nende telgede suunitlust, peab manipulaatoril olema vähemalt 6 liikuvusastet (eseme nihutamiseks 3mõõtmelises ruumis kolm translatoorset liikumist ja tema telgede suvaliseks pööramiseks veel kolm sõltumatut pöördliikumist). Võimalikud liikumised on näidatud joonisel 2.10. Kõik mehhanismid jagunevad tasapinnalisteks ja ruumilisteks mehhanismideks (planar and spatial mechanisms). http://www.cs.cmu.edu/People/rapidproto/mechanisms/chpt4.html Kinemaatilised ahelad koosnevad kinemaatiliste paaridega (kinematic couplings) ühendatud lülidest. Tasapinnaliste ehk tasandmehhanismide puhul on kasutusel kaht liiki ühe liikuvusastmega (ehk madalama klassi – lower pairs) kinemaatilist paari - rotatsioonipaar (revolute pair) ja translatsioonipaar (prismatic pair). Kinemaatiliste paaride liikuvusastmed (vabadusastmed) (degrees of freedom, DOF) ja seondid (constraints): 0 liikuvusastet - 6 seondit 1 liikuvusaste – 5 seondit – 5. klassi kinemaatiline paar 2 liikuvusastet – 4 seondit – 4. klassi kinemaatiline paar jne. Enamikul manipulaatoritel on lülid omavahel ühendatud ühe liikuvusastmega madalama (viienda) klassi kinemaatilise paariga (joonis 2.10), kas pöördliikumist võimaldava rotatsioonipaari R või kulgliikumiseks ette nähtud translatsioonipaariga T. Iga viienda klassi kinemaatilise paariga sidestatud lüli annab manipulaatorile ühe liikuvusastme. Järelikult peab esemete ruumiliseks teisaldamiseks ja suunistamiseks olema manipulaatoril vähemalt kuus viienda klassi kinemaatilise paariga sidestatud lüli.
38
http://www.cs.cmu.edu/People/rapidproto/mechanisms/chpt4.html
-
On loodud ka manipulaatoreid, mille lülid on omavahel sidestatud kolmanda või neljanda klassi kinemaatiliste paaridega. Sel juhul suureneb ühe lüli liikuvusastmete arv ning vastavalt väheneb manipulaatori kinemaatilise ahela lülide arv. Üldjuhul leitakse mehhanismi liikuvusastmete arv L kinemaatilise ahela struktuurivalemi abil
12345 23456 pppppnL −−−−−= (2.43) kus n on liikuvate lülide arv ahelas ja p1…p5 - esimese kuni viienda klassi kinemaatiliste paaride arv ahelas. a b
x
z
y
Joonis 2.10. Keha võimalikud liikumised ruumis a ja 5. klassi kinemaatilised paarid b Sama valemit saab kasutada näiteks inimkäe liikuvusastmete arvu leidmiseks. Kui lugeda käe õlavarre-, küünar- ja randmeliigesed 3 liikuvusastmega kinemaatilisteks paarideks, siis saab inimkäe liikuvusastmete arvu leida valemiga
9333636 3 =⋅−⋅=−= pnL (2.44) Kui kinemaatiline ahel sisaldab ainult viienda klassi paare, siis
556 pnL −= (2.45) Manipulaatorite korral piirdutakse sageli kuuest väiksema liikuvusastmete arvuga. Sellised manipulaatorid võimaldavad esemeid teisaldada, kuid mitte suvaliselt muuta nende telgede suunistust. Nende kasutamine eeldab teisaldatavate esemete eelnevat ruumilist orienteerimist (nt korrastatud paigutust etteandekonveieril). Tasandmehhanismide korral võivad viienda klassi translatsiooni- ja rotatsioonipaarid moodustada 2n erinevat kinemaatilise struktuuriga ahelat (kus n on omavahel järjestikku ühendatud lülide arv). Ruumilise mehhanismiga manipulaatori igal kinemaatilisel paaril on aga oma telg, mida võib baaskoordinaatide ning eelnevate lülide suhtes suunistada mitmel viisil. Lisaks võib lüli
39
-
pöörd- või kulgliikumise kese mitte kokku langeda eelneva kinemaatilise paari teljega. Seepärast on manipulaatorite kinemaatiliste ahelate võimalike struktuuride arv märgatavalt suurem. Kinemaatiliste paaride suvalise suunistuse korral on teoreetiline variantide arv lõpmata suur. Ülekaalus on kinemaatiliste paaride ortogonaalse (ristsuunalise) paigutusega ahelad. Manipulaatori kinemaatiline ahel algab liikumatust ehk kinnislülist, mis kuulub kõikide kinemaatiliste ahelate koosseisu ning mida seepärast kinemaatiliste ahelate võrdlemisel ei arvestata. Nii loetakse kinnislülist ja ühest liikuvast lülist koosnev ahel ühelüliliseks, kinnislülist ja kahest liikuvast lülist koosnev ahel kahelüliliseks jne. Ahela esimeseks kinemaatiliseks paariks võetakse see, kuhu kuulub kinnislüli. Mehhanismi liikumist iseloomustab selle lülisid ühendavate kinemaatiliste paaride vabadusastmete arv ning sellest tulenev mehhanismi liikuvusastmete arv (joonis 2.11).
Joonis 2.11. Kinemaatiliste paaride klassid ja liikuvusastmete arv
40
-
Teisaldusmehhanismi (käsivarre) lülide arv ja kinemaatilise ahela struktuur määravad manipulaatori üldise ehituse ja välisilme. Lülide mõõtmed seostuvad manipulaatori liikumisulatuse ja tõstevõimega. Mida rohkem on käsivarrel lülisid, seda paindlikumalt saab robot töötada (manööverdatavus), kuid seda keerulisemaks kujuneb manipulaatori konstruktsioon. Seepärast piirdutakse manipulaatorite puhul vaid minimaalselt vajalike lülide arvuga. Enamikul manipulaatoritel on 3 käsivarrelüli. Suunistusmehhanism (käelaba) on kompaktne, tema lülide liikumisulatus on väike ning ta mõjutab manipulaatori ehitust ja välisilmet vähem kui teisaldusmehhanism. Käelabas kasutatakse põhiliselt rotatsioonipaaridega sidestatud pöördliikumisega lülisid. Teisaldusmehhanismi lülisid ühendavad kinemaatilised paarid määravad koordinaadistiku, milles manipulaatori lülid liiguvad. Kolme lineaarliikumise puhul töötab manipulaator ristkoordinaadistikus, kahe lineaarliikumise ja ühe pöördliikumisega manipulaator töötab silindrilises koordinaadistikus. Kahe pöördliikumise ja ühe lineaarliikumisega manipulaator töötab sfäärilises koordinaadistikus. Kui manipulaatoril on liigendkäsi, siis võib see töötada silindrilises või sfäärilises nurkkoordinaadistikus. 2.5. Ristkoordinaatides kirjeldatav manipulaator Kolmelülilist ristuvate translatsioonipaaridega ahelat kasutatakse ristkoordinaadistikus töötava manipulaatori (gantry robot) korral (joonis 2.12). Sellise manipulaatori töötsooniks on risttahukas, mille külgede pikkused a, b, h vastavad tööorgani liikumisulatusele, suurused L, M ja H aga määravad kindlaks töötsooni asukoha ristkoordinaadistikus 0xyz.
x
z
y
Joonis 2.12. Ristkoordinaatides kirjeldatav manipulaator Ristkoordinaadistikus töötava manipulaatori kinemaatikaülesannet on lihtne lahendada, sest roboti lülide liikumissihi saab valida piki ruumi ristkoordinaadistiku telgi.
41
-
2.6. Silindrilistes koordinaatides kirjeldatav manipulaator Silindrilises koordinaadistikus töötava manipulaatori töötsooniks on osa õõnsast silindrist. Silindrilises koordinaadistikus töötava manipulaatori kinemaatika näide on joonistel 2.13 ja 2.14. Manipulaatori paigalseisev alus on seotud baaskoordinaadistikuga. Roboti manipulaatori koordinaadistike kohta saab vaadata näiteid veebilehelt http://prime.jsc.nasa.gov/ROV/types.html
Joonis 2.13. Silindrilises koordinaadistikus töötav manipulaator: a püstteljega töötsoon, b rõhtteljega töötsoon, robotid Versatran, Seiko RT3300 ja Fanuc M300
Järgnevalt antakse joonisel 2.14 näidatud manipulaatori kinemaatika matemaatiline kirjeldus. Asendivektor
z
y
x
A
ppp
P =r
(2.46)
kus
42
http://prime.jsc.nasa.gov/ROV/types.html
-
( )(
hZp
RbpRbp
z
cy
cx
+=
++= )++=αααααα
sinsincoscos
(2.47)
A
z2
z0
z1
x2
y2
y0
x0
y1
x1
Z
R
α
PA
αc
α
h
b
y3
z3
x3
Joonis 2.14. Silindrilises koordinaadistikus töötava manipulaatori kinemaatika arvutusskeem Asendivektori komponente kirjeldavaid võrrandeid saab kasutada manipulaatori kinemaatikaülesande lahendamiseks. Niisugust lahendusviisi nimetatakse kinemaatika-ülesande geomeetriliseks lahendamiseks, sest võrrandid leitakse geomeetrilise konstruktsiooni põhjal. Võrrandite keerukus sõltub manipulaatori lülide konfiguratsioonist (vastastikusest asetusest). Põhimõtteliselt võib võrrandite põhjal lahendada nii kinemaatika otsese kui ka pöördülesande. Ainsaks raskuseks on asjaolu, et trigonomeetriliste avaldistega võrrandid osutuvad pöördülesande lahendamisel sageli transtsendentseks ning ei oma ilmutatud üldlahendeid. See aga ei takista võrrandite arvlahendite leidmist. Rotatsioonimaatriksid
1000cossin0sincos
01 αα
αα −=R
1000cossin0sincos
12 cc
cc
R αααα −
= (2.48)
Teisendusmaatriksid
100000100100
001
23
R
T
−
=
1000100
00cossin00sincos
01 ZT
αααα −
=
1000100
00cossin0sincos
12 h
b
T cccc
αααα −
= (2.49)
Silindrilises nurkkoordinaadistikus töötava liigendkäega (SCARA-tüüpi) manipulaatori töötsooniks on samuti osa õõnsast silindrist. Seejuures võib silindri telg olla horisontaalne või vertikaalne. Vastavad robotid on joonisel 2.15. SCARA-tüüpi manipulaatori kinemaatika on
43
-
näha joonisel 2.16. Horisontaalse liigendkäe liikumist kirjeldavad suhteliselt lihtsad võrrandid ning kinemaatika otsene ja pöördülesanne on ilmutatud kujul lahendatavad. Manipulaatori tööorgani asendit tähistab punkt A, mille asukoha saab määrata nii ristkoordinaadistikus 0xyz kui ka silindrilises nurkkoordinaadistikus 0α1α z. 2
Joonis 2.15. Liigendkäega horisontaal- ja vertikaalteljega silindrilises nurkkoordinaadistikus töötavad robotid
A
z0
z1
y0
x0
Z
α1 PA
b
y3
z3
x3
x1
y1
α2
z2
x2
y2
x
y
α1
L1
α2
L2
xA
yA
A
Joonis 2.16. Liigendkäega silindrilises nurkkoordinaadistikus töötava manipulaatori arvutusskeem Manipulaatori kinemaatika otsene ülesanne lahendatakse järgmise võrrandisüsteemi abil:
( )(
aa
a
a
zzLLyLLx
=++=++=
21211
21211
sinsincoscos
ααα )ααα
(2.50)
Võrrandid (2.50) võimaldavad lahendada ka kinemaatika pöördülesande, kuid tuleb arvestada, et nurkade α1, ja α2, avaldamine on sealt küllaltki tülikas. Seepärast on kinemaatika pöördülesande lahendamisel otstarbekas lähtuda joonisel 2.17 toodud geomeetrilisest konstruktsioonist.
44
-
x
y
α1e
L1
α2e
L2
xe
ye
A
c
dhφ1
φ2
φ3
Joonis 2.17. Kinemaatika pöördülesande geomeetriline lahendamine ning nurkade α ja α1e 2e leidmine tööorgani
soovitud asendi A (x , y ) korral e e e Pöördülesande geomeetrilisel lahendamisel kirjutatakse joonisel 2.17 näidatud kolmnurkade põhjal järgmised võrrandid:
222
221
22
dLh
cLh
yxr
dcr
ee
−=
−=
+=
+=
(2.51)
Kahest viimasest võrrandist saab avaldada abisuuruse c
rLLrc
2
22
21
2 −+= (2.52)
Arvutuste käigus on sobiv leida kõigepealt järgmised nurgad:
( )
( ) 0kui,arctan0kui,2
0kui,arctan
1
1
1
=
eee
e
eee
xxyx
xxy
πϕπϕ
ϕ (2.53)
( )charctan2 =ϕ ( )dharctan3 =ϕ
Lülide soovitud pöördenurgad α1e ja α2e saab leida järgmiselt:
211 ϕϕα −=e322 ϕϕα +=e (2.54)
Kinemaatikaülesande algebraliseks lahendamiseks kasutatakse manipulaatori lülidega seotud koordinaadistike rotatsiooni- ja teisendusmaatrikseid.
45
-
Koordinaadistik 3 on koordinaadistiku 2 suhtes pööratud 90º võrra ümber z-telje ja seejärel veel 90º võrra ümber x-telje. Rotatsioonimaatriksid
1000cossin0sincos
11
1101 αα
αα −=R
1000cossin0sincos
22
2212 αα
αα −=R (2.55)
Teisendusmaatriksid
1000100
00cossin00sincos
11
11
01 hT
αααα −
=
100000100001
100 223
r
T =
1000100
00cossin0sincos
22
122
12 b
r
Tαααα −
= (2.56)
2.7. Sfäärilistes koordinaatides kirjeldatav manipulaator Sfäärilises koordinaadistikus (joonis 2.18) ja sfäärilises nurkkoordinaadistikus (joonis 2.19) töötava manipulaatori töötsooniks on osa õõnsast kerast.
y
x
z
x
Joonis 2.18. Sfäärilises koordinaadistikus töötava manipulaatori töötsoon
46
-
J5 telg
J3 telg
J2 telg
J6 telg
J4 telg
J1 telg Alus
Õlaliiges
Küünarvars
Käelaba
ÕlavarsMehaaniline liides haaratsi ühendamiseks
Käelaba
Käsivars
Kere
Õlavars
Õlg
Joonis 2.19. Sfäärilises nurkkoordinaadistikus töötavad liigendkäega robotid: a firma Mitsubishi 6 liikuvus-
astmega manipulaator ja b firma Unimation roboti PUMA 560 manipulaator
A
z0
z2
y0
x0
h
α3
PA
r1x2y2
α1 x3
r2
b
z3
y3
y4
z4
x4
aα2 z1
y1x1
Joonis 2.20. Sfäärilises nurkkoordinaadistikus töötava liigendkäega manipulaatori arvutusskeem Manipulaatori (joonis 2.20) teine teljestik on esimese suhtes pööratud ümber z-telje 90º, seejärel ümber x-telje 90º ning ümber z-telje nurga α võrra. 2 Koordinaadistike teisendusmaatriksid
1000010000cossin00sincos
11
11
01
αααα −
=T
10001cossin
00sincos000
22
2212 h
a
Tαααα −
=
47
-
1000100
00cossin0sincos
11
111
23 b
r
T−
−
=αααα
100000010010
100 234 −
=
r
T (2.57)
Teisendusmaatriksis sisalduva rotatsioonimaatriksi saab leida korrutisega T12
1cossin0sincos000
1000cossin0sincos
010001100
22
2222
2212
αααααα
αα−=
−×=R (2.58)
Pr
0 Pr
4leitakse teisendusmaatriksi ja T04 korrutisena Asendivektor 0. koordinaadistikus
PTPrr
404
0 ⋅= 2.8. Paljulülilised ja paindlülidega manipulaatorid Paljulülilise manipulaatori näide on joonisel 2.21. Lülide suhtelise asendi muutmisega saab manipulaatori tööorgani viia paindlikult igasse soovitud asendisse. Samu võimalusi pakuvad ka paindlülidega manipulaatorid, milles kasutatakse voolu või magnetvälja toimel painduvaid lülisid. Niisuguseid manipulaatoreid siinkohal lähemalt ei käsitleta.
Joonis 2.21. Paljulülilise manipulaatori ehitus
48
-
2.9. Rööpkinemaatikaga manipulaatorid Traditsiooniliselt on ehitatud manipulaatoreid, mille kinemaatika põhineb jadamisi monteeritud lülidel. Seejuures on ahela iga järgmine lüli koos ajamiga selle ahela eelmistele lülidele ja ajamitele koormuseks. Suhteliselt kogukate ajamite paigutamine haaratsi või tööorgani vahetusse lähedusse on aga oluliselt piiranud robotite kinemaatilisi ja dünaamilisi kasutusvõimalusi. Ajamite paigutamiseks kinemaatilise ahela algusesse või ahelas mitme lüli võrra ettepoole on seni rakendatud keeruka kinemaatikaga manipulaatormehhanisme. Nende mehhanismide rakendamine võimaldab küll viia elektromehaanilise energiamuunduri, s.o ajami mootori, haaratsist või tööorganist eemale, kuid manipulaatormehhanismi keerukuse ja suhteliselt suure massi tõttu ei suuda see oluliselt parandada roboti dünaamikat. Uueks suunaks robotite mehaanikas on rööplülidega manipulaatorite kasutuselevõtt. Sel alal võib nimetada manipulaatoreid, mis on saanud tuntuks nimetuste Trepot või Hexapot all, mis eesti keeles tähendavad „kolmjalga” (joonis 2.22) või “kuusjalga” (joonised 2.23 ja 2.24). Samasse manipulaatorite rühma kuulub ka nt firma ABB robot FlexPicker. Rööpkinemaatikaga robotite kohta vt http://www.parallemic.org/Terminology/General.html http://www.parallemic.org/SiteMap.html Rööpkinemaatikaga roboti eelised:
6 ajamit käitavad ühte kerget lüli, väike inertsimoment, parem dünaamika lülide positsioonimisvead ei liitu suurem jäikus (mehaaniline täpsus) pole liikuvaid ühenduskaableid suurem täpsus, parem liikumise korratavus (repeatability) suurem töökindlus.
Roboti pilti vt veebilehelt http://www.parallemic.org/Reviews/Review002.html
Joonis. 2.22. Rööpkinemaatikaga kolmjalgmanipulaator riputatud asendis
49
http://www.parallemic.org/Terminology/General.htmlhttp://www.parallemic.org/SiteMap.htmlhttp://www.parallemic.org/Reviews/Review002.html
-
Keraliigend S
Keraliigend S Seisev alus
Liikuv platvorm
Translatsiooni- paar P
Joonis 2.23. Kaheksatahuline kuuejalgne platvorm (octahedral hexapod) ehk Stewarti platvorm
Pilti vt veebilehelt http://www.parallemic.org/Reviews/Review012.html
Joonis 2.24. Kuusjalgmanipulaator (Hexapod), selle lülide liigend ja liikuvale alusele paigutatud manipulaator 1965. a ilmus M. Stewarti kuulsaks saanud artikkel 6 liikuvusastmega platvormi kohta, mida hakati kasutama lennusimulaatorites (joonis 2.25). Artiklis esitatud mehhanism erines aga märgatavalt kaheksatahulisest kuusjalast (octahedral hexapod), mida hiljem hakati nimetama Stewarti platvormiks. Kaheksatahulise kuusjala leiutajaks peetakse ka USA inseneri Klaus Cappelit, kes konstrueeris 6 liikuvusastmega vibreerimismasina (joonis 2.26). Kaheksatahuline kuusjalg on seni leidnud suurimat rakendust lennusimulaatorites. Stewarti patenteeritud masina kasutusala aitas kaasa ka autori nime tuntuks saamisele.
50
http://www.parallemic.org/Reviews/Review012.html
-
Joonis 2.25. Stewarti poolt kirjeldatud lennusimulaator ehk tegelik Stewarti platvorm
Joonis 2.26. USA inseneri Klaus Cappeli patenteeritud (1964) 6 liikuvusastmega vibreerimismasin Kolmjalgmanipulaatori kinemaatika kirjeldus. Kolmjalgmanipulaatori kinemaatikast annab ülevaate joonis 2.27. Koordinaadistik on valitud rippasendis manipulaatori jaoks pööratud kujul, s.t z-telje suund on tavapäraselt alt üles. Pöörlevate lülidega manipulaatori ajamite väljundsuuruseks on võlli pöördenurgad. Antud juhul on tegemist kolme ajamiga, mis käitavad manipulaatori lülisid HA, HB ja HCB . Kõik lülid pöörlevad vertikaaltasanditel, mis on üksteise suhtes ruumi horisontaaltasandil jaotatud ühtlaselt, s.t nihutatud võrdsete pöördenurkade 2π/3 võrra. Manipulaatori lülid (hoovad) HA, HBB ja HC on ühendatud haaratsi kinnituslüliga G konstantse ja tavaliselt võrdse pikkusega varraste VA, VB, V abil. Põhimõtteliselt võivad varraste pikkused ka erineda, s.t VB C A ≠ VBB ≠ V . C Roboti juhtimiseks tuleb lahendada kinemaatika otsene ja pöördülesanne. Kinemaatika otsene ülesanne seisneb ajami etteantud asendikoordinaatide (ajami võlli või hoobade HA, HB ja HCB pöördenurga) järgi manipulaatori haaratsi või tööorgani koordinaatide leidmises. Ülesande muudab keerukaks asjaolu, et kõigi lülide koordinaadistikud erinevad ruumi ristkoordinaadistikust. Kinemaatikaülesande lahendamisel võib nii ajami hoobasid HA, HBB ja H kui ka vardaid VC A, VB, V tähistada vektoritega. CB
51
-
x0
z0
y0
Hx
Hy
Hz
A0
A1C0
B1
B0
C1
H
x1z1
y1
VAVB
VC
HA
HB
HC
α
γ
β
Joonis 2.27. Kolmjalgmanipulaator ristkoordinaadistikus Juhul kui on teada (ette antud) lülide algvektorite A0, B , C0 0 pikkused ja pöördenurgad (0, 2π/3 ja 4π/3), ajamihoobade (s.o ajami väljundvõllide) pöördenurgad α, β, γ ning varraste VA, VB, VCB pikkused, saab lahendada kinemaatika otseülesande ja leida haaratsi asukoha ruumi ristkoordinaadistikus x , y0 0, z . 0 Juhul kui on teada (ette antud) haaratsi asukoht ruumi ristkoordinaadistikus, varraste VA, VB, V
B
C ning ajamihoobade ja algvektorite pikkused, saab lahendada kinemaatika pöördülesande ja arvutada ajamihoobade pöördenurgad α, β, γ. Algvektorid ehk hoobade pöördetsentrite asendivektorid:
( )(
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡⋅⋅
=0
3/4cos3/4sin
0
0
0 ππ
CC
Cr
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
0
0
00 AAr
( )( )
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡⋅⋅
=0
3/2cos3/2sin
0
0
0 ππ
BB
Br
) (2.59)
Kui lugeda, et teise ja kolmanda jalaga seotud koordinaadistikud on esimese jala koordinaadistiku suhtes pööratud nurkade 2π/3 ja 4π3 võrra, võib need taandada esimese lüli koordinaadistikku rotatsioonimaatriksite abil.
( ) ( )( ) ( )
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −=
000034cos34sin034sin34cos
00 ππ
ππRAC
( ) ( )( ) ( )
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −=
000032cos32sin032sin32cos
00 ππ
ππRAB
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
100010001
00 R
AA
(2.60)
Kuna teisendatavate koordinaadistike alguspunktid langevad kokku, siis on vastavad teisendusmaatriksid
52
-
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
1000010000100001
00T
AA
( ) ( )( ) ( )
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
100001000032cos32sin0032sin32cos
00
ππππ
TAB (2.61)
( ) ( )( ) ( )
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
100001000034cos34sin0034sin34cos
00
ππππ
TAC
Kuna esimene lüli taandatakse tema endaga seotud koordinaadistikku, siis võrdub vastav rotatsioonimaatriks ühikmaatriksiga ning alguspunkti nihkevektor 0-ga. Roboti kõigi jalgade esimese liikuva lüliga seotud koordinaadistiku võib taandada sama jala liikumatu lüli koordinaadistikku. Seejuures saab leida vastavad rotatsioonimaatriksid
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−=
0sincos0cossin100
01
ααααRAA (2.62)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−=
0sincos0cossin100
01
ααααR
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−=
0sincos0cossin100
01
γγγγRCC
ja koordinaadistike nihkevektorid
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
0
0
00 AAr
(2.63)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
0
0
00 BBr
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
0
0
00 CCr
Rotatsioonimaatriksitest ja alguspunkti nihkevektoritest saab moodustada teisendusmaatriksid
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−=
100000sincos
0cossin0100
001 αα
αα ATAA
(2.64)
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−=
100000sincos
0cossin0100
001 γγ
γγ CTCC
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−=
100000sincos
0cossin0100
001 ββ
ββ BTBB
Iga jala esimese pöörleva lüliga seotud koordinaadistiku x , y , z1 1 1 võib taandada algkoordinaadistikku x0, y0, z0 kirjeldatud teisendusmaatriksite , , ja
, , vastava korrutamisega. TAA
00 T
AB
00 T
AC
00
TAA01 T
BB01 T
CC
01
53
-
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−×
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=⋅=
100000sincos
0cossin0100
1000010000100001
001
00
01 αα
αα ATTT AA
AA
AA
( ) ( )( ) ( )
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−×
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=⋅=
100000sincos
0cossin0100
100001000032cos32sin0032sin32cos
001
00
01 ββ
ββππππ
BTTT BB
AB
AB
(2.65)
( ) ( )( ) ( )
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−×
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=⋅=
100000sincos
0cossin0100
100001000034cos34sin0034sin34cos
001
00
01 γγ
γγππππ
CTTT CC
AC
AC
Kirjeldatud teisendused võimaldavad määrata punktide A , B ja C1 1 1 asukoha ruumi koordinaadistikus x0, y , z0 0. Roboti otsese kinemaatikaülesande edasiseks lahendamiseks tuleb arvestada, et punktid A1, B ja CB1 1 on seotud haaratsi asukohta tähistava punktiga G neid punkte ühendavate konstantse pikkusega varraste abil. Seega moodustub ruumis tetraeeder (joonis 2.28), mille neljast otspunkti asukohavektorist on teada kolm ning lisaks sellele veel tetraeedri kõigi külgede pikkused. Olgu roboti vastavate jalgadega seotud varraste pikkused VA, VBB, VC. Haaratsi asukohta tähistab vektor , mille teljesihilised komponendid on GG
r, Gx y, Gz.
x0
z0
y0
Gx
Gy
Gz
B1
C1
A1
G
0
VA
VC
VB
HA
HB
HC
Joonis 2.28. Haaratsi asukoha määramine tetraeedri kolme otspunkti ja küljepikkuste järgi
54
-
Haaratsi asendivektorGr
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
z
y
x
GGG
Gr
(2.66)
Varraste pikkused
( ) ( ) ( )212121 AGAGAGA zzyyxxV −+−+−=
( ) ( ) ( )212121 BGBGBGB zzyyxxV −+−+−= (2.67)
( ) ( ) ( )212121 CGCGCGC zzyyxxV −+−+−= Ajamihoobade ette antud või eelnevalt arvutatud asendikoordinaatide x , y zA1 A1 A1, x , y z ja x , y zB1 B1 B1 C1 C1 C1 järgi saab võrrandisüsteemi lahendamisel leida haaratsi otsitavad koordinaadid xG, yG, zG, mis on ühtlasi haaratsi asendivektori teljesihilised komponendid. Kinemaatika pöördülesande lahendamine rööpkinemaatikaga roboti puhul. Üldjuhul on kinemaatika pöördülesande lahendamine keerulisem kui otseülesande lahendamine. Haaratsi asendivektori võib esitada kolme vektorvõrrandiga
BC
BB
AA
VHG
VHG
VHG
rrr
rrr
rrr
+=
+=
+=
(2.68)
Kinemaatika pöördülesande puhul on ette antud haaratsi asendivektor G ning seda ajamihoobadega ühendavate varraste pikkused. Nende andmete põhjal tuleb leida ajamihoobade asendivektoreid kirjeldavad pöördenurgad α, β, γ.
r
Punkt A1 asub kera pinnal, mille keskpunkt on määratud haaratsi asendivektoriga ja raadius varda VA pikkusega. Punkti asukoht on määratud kera pinna ja ajamihoova HA liikumist kirjeldaval ringjoonel. Sarnaselt sellega asuvad ka punktid B ja C1 1 sama keskpunktiga kerade pindadel, kusjuures kerade raadiused on vastavalt VB või VCB
)
)
)
. Juhul kui varraste pikkused on ühesugused, asuvad kõik kolm punkti ühe ja sama kera pinnal, kuid nende asukohta määratakse erinevate ajamihoobade liikumist kirjeldavate ringjoonte ja kera pinna lõikepunktiga. Selle kirjelduse alusel saab välmida ka kinemaatika pöördülesande lahendamise algoritmi. Ajamihoobade liikumist kirjeldavad punktid A1, B ja C1 1 asuvad sfäärilistel pindadel
( ) ( ) ( 2121212 AGAGAGA zzyyxxV −+−+−=
( ) ( ) ( 2121212 BGBGBGB zzyyxxV −+−+−= (2.69)
( ) ( ) ( 2121212 CGCGCGC zzyyxxV −+−+−= Teisalt asuvad need punktid kolmel erineval ringjoonel (ehk ka teise kera pinnal)
55
-
( ) ( ) ( 2012012012 AAAAAAA zzyyxxH −+−+−= )
)
)
)
)
( ) ( ) ( 2012012012 BBBBBBB zzyyxxH −+−+−= (2.70)
( ) ( ) ( 2012012012 CCCCCCC zzyyxxH −+−+−= Võrrandeid saab lahendada paarikaupa, kusjuures kolmanda tundmatu suuruse saab määrata lisatingimuste esitamisega
( ) ( ) ( )( ) ( ) ( 2012012012
21
21
21
2
AAAAAAA
AGAGAGA
zzyyxxH
zzyyxxV
−+−+−=
−+−+−= (2.71)
Näiteks võib esimese jala liikumist kirjeldavate võrrandite puhul koordinaatide vastava valiku tõttu väita, et x = 0, x = 0 ja z = 0. Selle tulemusena võrrandisüsteem lihtsustub A0 A1 A0
( ) ( ) ( )212122 AGAGGA zzyyxV −+−+=
( ) ( 212012 AAAA zyyH +−= αsin1 ⋅= AA Hz, kus Teise jala puhul kehtivad sfääride võrrandid, kus z = 0. B0
( ) ( ) ( )( ) ( ) ( 2012012012
21
21
21
2
BBBBBBB
BGBGBGB
zzyyxxH
zzyyxxV
−+−+−=
−+−+−=
) (2.72)
Koordinaatide vastava valiku tõttu võrrandisüsteem lihtsustub ning võrrandites saab kasutada asendusi
( )( )
03/2cos3/2sin
0
00
00
=⋅=⋅=
B
B
B
zByBx
ππ ( )
(⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡⋅⋅
=0
3/4cos3/4sin
0
0
0 ππ
BB
B ehk )
)
(2.73)
( )(
03/2cos3/2sin
0
00
00
=⋅=⋅=
C
C
C
zCyCx
ππ
ehk ( )(
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡⋅⋅
=0
3/4cos3/4sin
0
0
0 ππ
CC
C ) (2.74)
Hoobade z-koordinaadid on lihtsalt arvutatavad valemitega
γβα
sinsinsin
1
1
1
⋅=⋅=⋅=
CC
BB
AA
HzHzHz
(2.75)
56
-
2.10. Liikurroboti kinemaatika Liikurrobotiks võib olla nii pinnal liikuv, lendav kui vedelikus ujuv robot. Pinnal liikuva roboti liikumismehhanismiks on ratastega veokid, mitmesugused jalg- või roomikmehhanismid. Veovankritega robotid jagunevad omakorda sõltuvalt rataste arvust ja pöördemehhanismist järgmiselt:
• kolmerattaline, ühe pööratava juhtrattaga vanker (üks või kaks vedavat ratast) • rattapaari pöörava teljega vanker • diferentsiaalmehhanismiga kahe või nelja veorattaga vanker • mitme sõltumatult juhitava rattaga vanker, mis mõnikord võib ka kohapeal pöörelda • nelja rattaga Ackermanni pöördemehhanismiga vanker (Ackermanni mehhanism on
tuntud auto pöördemehhanismi näol, mille puhul sisemine ratas pöördub rohkem kui välimine).
Ratasveoki pööramist iseloomustab joonis 2.29, millelt on näha, et kurvis pööramisel läbivad rattad erineva teepikkuse. Kurvi sisemine ratas liigub vähem. Seetõttu saab kurvi läbida vaid juhul, kui veorattad pöörlevad eri kiirusega või kui üks ratastest kurvis libiseb. Rataste eri kiirusega pöörlemine saavutatakse diferentsiaalmehhanismiga. Jäigalt ühendatud rattapaari puhul hakkab kurvi sisemine ratas kohapeal pöörlema ehk maapinna suhtes libisema vastu liikumissuunda, väline ratas aga kaotab veojõu ning hakkab liikumissuunas maapinnal libisema.
Pöördetelg ja pöördetsenter
b
S2 = (R+b)θ
S1 = R θ θ R
Joonis 2.29. Rattapaari pööramine
57
-
Vankri esitelje rattapaari pööramine. Esitelje pööramine on tuntud hobuvankrite kasutu-selevõtu ajast. Põhimõte on lihtsuse tõttu kasutusel ka tänapäeval. Niisugune pöördemehhanism on geomeetriliselt täpne. Selle mehhanismi puhul langevad mõlema ratta pöördetsentrid kokku. Puuduseks on mehhanismi kohmakus (vajab pööramiseks palju ruumi). Pööravat telge on väga tülikas vankriga kokku sobitada. Suurema pöördenurga (väiksema pöörderaadiuse) saavutamiseks peab telg pöörduma vankri alla. Seepärast on niisuguse pöördemehhanismiga vankrite esirattad sageli väiksema läbimõõduga (et vanker ei peaks olema liiga kõrge). Põhimõtteliselt saab vankrit pöörata ka tagatelje rattapaari pööramisega, kuid sel juhul halveneb oluliselt vankri juhitavus edasi liikumisel. Mõnda vankri pööramise mehhanismi on näidatud joonisel 2.30. Sõiduki pööramise teiseks võimaluseks on kereliigend. Kere keskliigendiga vanker on joonisel 2.30 a. Kaheosalisel vankril saab kasutada lihtsat pöördemehhanismi, kuid liikuva ja muutuva kujuga kere tõttu on vankrit kasutada tülikas. Kõik pöörava teljega vankrid on kurvis liikumisel ebastabiilsed.
Rattapaari telje liigendiga pööramine
Esirataste kooskõlastatud ehkAckermann’i tüüpi pööramine
Kõikide rataste täpne sõltumatu pööramine
Pöördetsentrid
Pöördetsentrid
a b c
Joonis 2.30. Vankri pööramise mehhanisme Rudolf Ackermann sõnastas 1816. a ideaalse pöördemehhanismi talitluse tingimuse - rataste vertikaaltasandid peavad olema kurvi pööramisraadiusega risti - ning töötas välja rataste pöördemehhanismi, mis on tänapäeval autode juures laia kasutust leidnud. Joonisel 2.31 a näidatud neljalüliline suletud liigendmehhanism (auto roolimehhanism) tagab rataste pöörderaadiuste tsentrite kokkulangevuse. Vastupidisel juhul, kui pööravad rattad on paralleelsed ja pöörderaadiuste tsentrid ei lange kokku (joonis 2.31 b), tekib rataste külglibisemine, sellest tingitud suurem kulumine ja sõidu ebastabiilsus.
58
-
Pöördetsenter
Ackermanni pöördemehhanism
R1
R2
a b
Joonis 2.31. Ackermanni mehhanism (a) ja sobimatu pööramine paralleelsete ratastega (b) Neljarattaliste sõidukite kõigi rataste juhtimine. Kõigi rataste juhtimine tagab sõidukile parima manööverdatavuse. Kõigi rataste sõltumatu juhtimise puhul saab luua väga paindliku pöördemehhanismi, mille abil võib vankri ka kohapeal pöörlema panna. Robotveokite puhul on niisugune juhtimisviis laialt kasutusel. Seejuures eristatakse mitmesuguseid järgnevalt loetletud juhtimisstrateegiaid.
• Proportsionaalne juhtimine Ackermanni kaksikmehhanismiga. Sõiduki esi- ja tagarattaid pööratakse võrdeliselt ratta pöörderaadiusega.
• Mitteproportsionaalne juhtimine viivitusega, mil tagarattaid hakatakse pöörama alates esirataste kindlast pöördenurgast.
• Juhtimine diferentsiaalmehhanismiga, mil kurvi sise- ja välisrataste eri kiirused tagavad sõiduki pööramise.
• Kohtpööre kõigi rataste juhtimisega, mil esi- ja tagarattaid pööratakse sama nurga võrra, kuid eri suundades.
• Kohtpööre reverseeritava diferentsiaalmehhanismiga, mil sõiduki sise- ja välisrattad pöörlevad kurvis eri suundades.
• Külg-rööpliikumine (dog walk steering ehk koera kõnni juhtimine), mil esi- ja tagarattaid pööratakse samas suunas ja sõiduk liigub külgsuunas.
Vankriga liikurrobotite pöördemehhanismide kohta on USA Carnegie Melloni ülikoolis 2001. aastal valminud doktoritöö Analytical Configuration of Wheeled Robotic Locomotion. Vankri pööramist erinevate mehhanismidega on näidatud joonisel 2.32. Kui vankri pööramine toimub diferentsiaalmehhanismiga ning rattaid seejuures ei pöörata, tekkib kurvi läbimisel rataste külglibisemine. Nelja ratta juhtimisega masinateks on paljud põllumajandusmasinad, ehitusmasinad, erisõidukid ja liikurrobotid.
59
-
Pööre diferentsiaal- mehhanismiga
Pööre Ackermanni kaksikmehhanismiga
Kohtpööre kõigi rataste juhtimisega
Kohtpööre reverseeritava diferentsiaalmehhanismiga
Joonis 2.32. Sõiduki vankri pööramine erinevate mehhanismidega Dünaamilise juhtimise probleemid. Kurvis pööramisel mõjuvad sõidukile inertsjõud, mis omakorda põhjustavad ratta külglibisemise. Mida rohkem ratast pöörata, seda suurem on libisemine. Mida suurem on libisemine, seda suurem on libisemisega kaasnev vastujõud, mis kompenseerib pööramisel tekkiva tsentrifugaaljõu. Seejuures on kurvis liikumisel siseratta pöördenurk ja libisemine suuremad kui välisrattal. Samas on aga välisratta koormus (jõud) suurem kui siseratta koormus. Kurvis liikumise probleeme ja jõudude toimet iseloomustab joonis 2.33. Rattale mõjuvad ajami veojõud, sõiduki inertsjõud ja libisemise takistusjõud. Ühtlasel sirgjoonelisel liikumisel on veojõud Fv ja hõõrdumise takistusjõud Fv samas sihis. Kurvis liikumisel toimib lisaks tsentrifugaaljõud Fts, mis tõukab sõidukit ratta külje suunas. Kui ratas on pööratud otse sõidusuunda (joonis 2.27, a), siis tõukab veojõu ja tsentrifugaaljõu koostoime sõidukit kurvist välja. Ratta pöördenurga suurendamisel (b ja c) võib saavutada olukorra, mil summaarne jõud mõjub sõidu sihis. Kuna libisemistingimused sõltuvad teekatte ja ratta hõõrdetegurist (ka teepinna profiilist), mis omakorda on väga muutlik suurus, siis on ka sõiduki veojõudu raske määrata. Seetõttu on jõuvektorite suunad pidevalt muutuvad ning võib tekkida oht sõiduki kurvist väljapaiskumiseks.
a b
Fh
Fv
Fts
Fh
Fv
Fts
c
Fh
Fv
Fts
α α
Joonis 2.33. Ratta pööramine kurvis liikumisel: ratas on sõidusuunas a, ratast on pööratud tsentrifugaaljõudude
kompenseerimiseks sõidusuunast kõrvale b, c
60
-
Väikeste, lihtsate ja odavate robotite puhul on pööramise ja manööverdamise hõlpsamaks muutmisel mõnikord kasu mitmes suunas veerevatest ratastest (multi-directional wheel) (joonis 2.34).
Joonis 2.34. Mitmes suunas veerevate rataste näiteid Ratasveokiga liikurrobotite puhul on probleemiks liikumine pehmel või ebatasasel pinnal, sest ratta erisurve pinnasele on suhteliselt suur. Veoki erisurve vähendamiseks pinnasele kasutatakse roomikmehhanisme. Ebatasasel pinnal liikumiseks sobivad paremini jalgmehhanismid. Ka ratasveokeid saab valmistada ebatasasel pinnal liikumiseks, kuid see eeldab veoki erikonstruktsiooni, mis võimaldab ratastel kopeerida pinna ebatasasusi (joonis 2.35).
Joonis 2.35. Ebatasasel pinnal liikumiseks ettenähtud ratasveok Roomikmasinate juhtimine. Roomikmasinaid juhitakse piduritega. Pidurdatakse seda roomikut, mille poole tahetakse pöörata. Pidurdamisel lahutatakse vastavat roomikut vedava ajami sidur. Pidureid kasutatakse ka ratasliikurite pööramiseks, kui nende liikumisvajadus on suhteliselt väike (nt ehitus-, tõstemasinad). Piduritega pööratavatest masinatest annab ülevaate joonis 2.36. Mõnikord rakendatakse sellist pööramisviis ka liikurrobotites.
61
-
Joonis 2.36. Piduritega pööratavad roomik- ja ratasmasinad (Uwe Bergi fotod Internetist) Kõndivad robotid ehk jalgadega liikurrobotid. Niisuguseid roboteid võiks nimetada ka loodusest kopeeritud robotiteks. Seejuures eristatakse roboteid jalgade arvu järgi:
• ühejalgsed ehk keksivad robotid • kahejalgsed • kolmejalgsed • neljajalgsed • kuuejalgsed • kaheksajalgsed • suure jalgade arvuga robotid ehk sajajalgsed robotid.
Ühe- ja kahejalgsete robotite liikumisprobleemidele lisandub tasakaalu probleem. Üldjuhul nõuab nende robotite püstiasendis hoidmine tasakaalu dünaamilist juhtimist. Kolmejalgseid roboteid valmistatakse harva, sest nende jalgade kinemaatika pole edasiliikumiseks sobiv (ühe jala liigutamisel tekkib tasakaaluprobleem). Kolmejalgsed robotid sobivad paremini roomamiseks või ronimiseks. Kahejalgse kõndiva mehhanismi sammufaase näeb joonisel 2.37.
1 432
II I II I III II I
Joonis 2.37. Kahejalgse kõndiva mehhanismi sammufaasid Samm algab keha raskuse ülekandmisega sirgele jalale (II) ning vaba jala liigutamisega kõndimise suunas. Sammu teises faasis on vaba jalg saavutanud oma lõppasendi. Kolmandas faasi toetatakse see maha. Neljandas faasis toimub keha raskuse ülekandmine jalale I. Edasipidi liikumised korduvad ning vaba jalg II alustab liikumist kõndimise suunas.
62
-
Kahe- ja neljajalgseid inim- ja loomanäolisi roboteid näeb joonisel 2.38.
a b c
Joonis 2.38. Kahe- ja neljajalgsete robotite näited: firma Honda kahejalgne (bipod) robot Asimo (a) ja firma
RoboScience neljajalgne (quadruped, tetrapod) robotkoer Robodog (b, c) Kõndiva nelja- ja kuuejalgse roboti sammumehhanismidest annab ülevaate joonis 2.39.
Joonis 2.39. Kõndiva nelja- ja kuuejalgse roboti sammumehhanismid Suurem jalgade arv tagab veokile parema stabiilsuse ja suuremad võimalused ebatasasel pinnal liikumiseks. 8-jalgne sarnaneb 6-jalgse robotiga. Enam kui 8 jalaga roboteid kasutatakse harva ja üksnes eriotstarbel. Nende liikumine sarnaneb aga rohkem roomajate kui jalgadel kõndivate imetajate liikumisega. Jalapaaride pööramisega 10-jalgset robotit (vrd vankri telje pööramisega) näeb joonisel 2.40. Mõnikord on otstarbeks omavahel kombineerida nii rattaid kui jalgu. Sel juhul saadakse jalgadega ja ratastega hübriidveok.
63
-
Joonis 2.40. 10-jalgne jalapaaride pööramisega robot Jalgadega ja ratastega hübriidveok. Jalad võimaldavad paremini ületada takistusi. Rataste ehitus ja käitamine on lihtsam. Näited taolistest veokitest on joonisel 2.41.
Joonis 2.41. Jalgadega ja ratastega hübriidveokid Kolmejalgne roniv robot. Kolmejalgse ronimismehhanismi kinemaatikat näeb joonisel 2.42. Mehhanismi kaks jalga hoiavad mehhanismi kinni, samal ajal liigub kolmas jalg uude kinnituspunkti. Jalgade liikumine tagatakse jalalülide pööramisega.
Kinnitunud jalg 1 Kinnitunud jalg 2
Kinnituskoht 3Vaba jalg 3
Jalalülid
Jalgade kinnislüli
Joonis 2.42. Ronimismehhanism
64