Page 32 - Fister jr., Iztok, and Andrej Brodnik (eds.). StuCoSReC. Proceedings of the 2018 5th Student Computer Science Research Conference. Koper: University of Primorska Press, 2018
P. 32
e [12]. Iz podatkov doloˇcimo vektorja, ki izhajata s sre-
diˇsˇca kroˇznega izseka do predhodnih koordinat ZV (zaˇcetni
vektor) ter do trenutnih koordinat KV (konˇcni vektor) pri-
kazana na Sliki 9. Zaˇcetni vektor je definiran kot nasprotna
smer vektorja.
xzv i
ZV = yzv = − j (1)
zzv k
Konˇcni vektor, ki je definiran kot razlika zaˇcetne oz. pred-
hodne koordinate in vektorja srediˇsˇca kroˇznega izseka od
trenutne koordinate.
xkv x xpred i Slika 10: Prikaz izpeljave inverznega tangensa 2
KV = ykv = y − ypred − j (2)
zkv z zpred k
l=2·π·r· θ (8)
360
Radij kroˇznega izseka se izraˇcuna s pomoˇcjo skalarnega pro-
dukta in sicer dolˇzina vektorja a z vrednostmi i, j in k raz- S tem izraˇcunamo ˇstevilo interpolacij z dolˇzino loka v odvi-
vidno s Slike 9. snosti od natanˇcnosti robota in doloˇcimo kot interpolacije s
kotom med vektorjema v odvisnosti od ˇstevilo interpolacij.
r = |a| = a12 + a22 + a32 = i2 + j2 + k2 (3) Preostane nam ˇse izraˇcun posamezne interpolacije, ki se iz-
vede z rotacijsko matriko. Pri tem je treba paziti, po kateri
ravnini potuje kroˇzni gib razvidno z G-kode in Algoritma 6.
Kot med vektorjema θ je razlika od inverznega tangensa za- Algoritem 6 Doloˇcanje delovne povrˇsine
ˇcetnega vektorja in konˇcnega vektorja. Kot vektorja je izra-
ˇzen v radianih, med - π in π prikazano s Enaˇcbo (4). 1: if I is N otDef ined then
2: Delovna povrˇsina YZ
y (4) 3: else
θ = arctan 4: if J is N otDef ined then
5: Delovna povrˇsina XZ
x 6: else
7: Delovna povrˇsina XY
Pri tem so se pojavile teˇzave, ˇce je bila vrednost imenovalca 8: end if
x enaka 0, saj takrat ulomek ni definiran. 9: end if
Za reˇsitev teˇzave s Slike 10 predpostavimo, da velja y = Za naˇs primer sta pri G2, kroˇzni gib v smeri urnega kazalca,
sin θ in x = r + cos θ in doloˇcimo novo Enaˇcbo (5) ter jo podana parametra I in J, za katerga sledi Enaˇcba (9).
preuredimo v Enaˇcbo (6). S pomoˇcjo skalarnega produkta
in Pitagorovega izreka izraˇcunamo polmer kroˇznega izseka
in s tem dobimo konˇcno Enaˇcbo (7).
θ = arctan y xinter cos θ sin θ 0 xzv
2 r+x cos θ 0 · yzv
(5) yinter = −sin θ 1 zzv (9)
0
zinter 0
θ (6) Za gib G3 proti smeri urinega kazalca preoblikujemo rota-
arctan (x, y) = θ = 2 cijsko matriko po Enaˇcbi (10).
2
y xinter cos θ −sin θ 0 xzv
θ = 2 arctan cos θ 0 · yzv
(7) yinter = sin θ 1 zzv (10)
x2 + y2 + x 0
zinter 0
Z Enaˇcbo (8) lahko iz obsega kroga doloˇcimo lok l oz. kroˇzni V ravninah XZ in Y Z uporabljamo G2 in G3 za gibanje v
izsek kota θ. obliki vijaˇcnice (angl. Helix ). Program ACMA se lahko v
StuCoSReC Proceedings of the 2018 5th Student Computer Science Research Conference 32
Ljubljana, Slovenia, 9 October
diˇsˇca kroˇznega izseka do predhodnih koordinat ZV (zaˇcetni
vektor) ter do trenutnih koordinat KV (konˇcni vektor) pri-
kazana na Sliki 9. Zaˇcetni vektor je definiran kot nasprotna
smer vektorja.
xzv i
ZV = yzv = − j (1)
zzv k
Konˇcni vektor, ki je definiran kot razlika zaˇcetne oz. pred-
hodne koordinate in vektorja srediˇsˇca kroˇznega izseka od
trenutne koordinate.
xkv x xpred i Slika 10: Prikaz izpeljave inverznega tangensa 2
KV = ykv = y − ypred − j (2)
zkv z zpred k
l=2·π·r· θ (8)
360
Radij kroˇznega izseka se izraˇcuna s pomoˇcjo skalarnega pro-
dukta in sicer dolˇzina vektorja a z vrednostmi i, j in k raz- S tem izraˇcunamo ˇstevilo interpolacij z dolˇzino loka v odvi-
vidno s Slike 9. snosti od natanˇcnosti robota in doloˇcimo kot interpolacije s
kotom med vektorjema v odvisnosti od ˇstevilo interpolacij.
r = |a| = a12 + a22 + a32 = i2 + j2 + k2 (3) Preostane nam ˇse izraˇcun posamezne interpolacije, ki se iz-
vede z rotacijsko matriko. Pri tem je treba paziti, po kateri
ravnini potuje kroˇzni gib razvidno z G-kode in Algoritma 6.
Kot med vektorjema θ je razlika od inverznega tangensa za- Algoritem 6 Doloˇcanje delovne povrˇsine
ˇcetnega vektorja in konˇcnega vektorja. Kot vektorja je izra-
ˇzen v radianih, med - π in π prikazano s Enaˇcbo (4). 1: if I is N otDef ined then
2: Delovna povrˇsina YZ
y (4) 3: else
θ = arctan 4: if J is N otDef ined then
5: Delovna povrˇsina XZ
x 6: else
7: Delovna povrˇsina XY
Pri tem so se pojavile teˇzave, ˇce je bila vrednost imenovalca 8: end if
x enaka 0, saj takrat ulomek ni definiran. 9: end if
Za reˇsitev teˇzave s Slike 10 predpostavimo, da velja y = Za naˇs primer sta pri G2, kroˇzni gib v smeri urnega kazalca,
sin θ in x = r + cos θ in doloˇcimo novo Enaˇcbo (5) ter jo podana parametra I in J, za katerga sledi Enaˇcba (9).
preuredimo v Enaˇcbo (6). S pomoˇcjo skalarnega produkta
in Pitagorovega izreka izraˇcunamo polmer kroˇznega izseka
in s tem dobimo konˇcno Enaˇcbo (7).
θ = arctan y xinter cos θ sin θ 0 xzv
2 r+x cos θ 0 · yzv
(5) yinter = −sin θ 1 zzv (9)
0
zinter 0
θ (6) Za gib G3 proti smeri urinega kazalca preoblikujemo rota-
arctan (x, y) = θ = 2 cijsko matriko po Enaˇcbi (10).
2
y xinter cos θ −sin θ 0 xzv
θ = 2 arctan cos θ 0 · yzv
(7) yinter = sin θ 1 zzv (10)
x2 + y2 + x 0
zinter 0
Z Enaˇcbo (8) lahko iz obsega kroga doloˇcimo lok l oz. kroˇzni V ravninah XZ in Y Z uporabljamo G2 in G3 za gibanje v
izsek kota θ. obliki vijaˇcnice (angl. Helix ). Program ACMA se lahko v
StuCoSReC Proceedings of the 2018 5th Student Computer Science Research Conference 32
Ljubljana, Slovenia, 9 October