Page 33 - 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. 33
ravninah uporabi za ukaza G2 in G3 v obliki kroˇznega moˇznost je uporaba MSLU (angl. Microsoft Layer for
giba, ki ni standardiziran in giba potujeta v smeri osi z. Unicode) za operacijske sistemom Windows 95, 98 in
S tem je treba prilagoditi tudi rotacije robota. Cˇ e imamo Me, ki bi omogoˇcala delovanje zgrajenega programa.
kroˇzni gib v ravnini XZ, prilagajamo rotacijo okoli osi x (ro-
tacija Rψ), ˇce imamo gib v ravnini Y Z, prilagajamo rotacijo 5. ZAKLJUCˇ EK
okoli osi y (rotacija Rθ). To izvedemo z izraˇcunom kota in-
terpolacije po Enaˇcbi (10) in tega priˇstejemo oz. odˇstejemo Cˇ lanek opisuje razvoj poprocesor za pretvorbo G-kode, ki
od ustrezne rotacije robota. S tem doseˇzemo, da je rezkar omogoˇca translacije za 3/5 osnega robota ACMA. Omenjeni
vedno pravokoten na obdelovalno povrˇsino in se enakomerno poprocesor izpolnjuje vse predpostavke, ki smo si jih zadali
obrablja orodje ter odvzema material, kar poslediˇcno vpliva na zaˇcetku raziskovalnega dela.
na kakovost obdelave.
Seveda bi ga lahko izboljˇsali tako, da bi zdruˇzili poprocesor
4. POSKUSI IN REZULTATI G-kode in pretvorbo v numeriˇcni programski jezik ACMA.
Tako bi lahko robotu ACMA implementiral neposredno po-
Poprocesor za pretvorbo G-kode je kompleksna aplikacija, vezavo preko serijske komunikacije, ˇce robot to omogoˇca, in
saj njegova izdelava traja dlje ˇcasa in zahteva popolno po- ga poljubno programirali oz. vodili. S tem bi omogoˇcili
znavanje stroja, za katerega program naˇcrtujemo. V simula- hitrejˇse prilagajanje programa in zmanjˇsali ˇcas priprave, ki
cijah deluje idealno, vendar teorija in praksa vedno ne gresta najbolj vpliva na ekonomiˇcnost, saj med tem ˇcasom robot
z roko v roki. V praksi obiˇcajno hitro naletimo na nepred- stoji.
videne teˇzave. Iz rezultatov poskusov lahko izluˇsˇcimo nasle-
dnje ugotovitve: Pri implementaciji ukazov G2 in G3 bi lahko kodo skrajˇsali
tako, da bi prek serijske komunikacije neposredno programi-
1. Za izdelavo poprocesorja in vmesnika GUI je potrebno rali z ABB programskim jezikom, ˇce robot to omogoˇca. Za
obseˇzno znanje programiranja v jeziku C++/CLI ter dodajanje giba MoveC bi lahko pri doloˇcanju vmesne tretje
dobro poznavanje programskega okolja Visual Studio toˇcke kroˇznega giba uporabili enaˇcbe s poglavja 3.2.3.
2017.
6. VIRI IN LITERATURA
2. Prvotno je bil poprocesor zapisan tako, da je celotno
vhodno in izhodno G-kodo skupaj z generiranem pro- [1] T. Bajd, M. Mihelj, J. Lenarˇciˇc, A. Stanovnik, and
gramom ACMA shranjeval v pomnilnik. To je zah- M. Munih. Robotika. Fakulteta za elektrotehniko,
tevalo 3-krat veˇc pomnilnika od izboljˇsane verzije, ki 2008.
obdeluje vrstico po vrstico in jo sproti izpisuje. To se
pravi, da pri vsaki vrstici prepiˇse predhodne podatke [2] M. Filipiˇc. Posredno programiranje robota ACMA
in jih med delovanjem izpisuje na izhodno mesto (bo- XR701. Magistrsko delo, Univerza v Mariboru,
gato tekstovno polje), kar privarˇcuje pomnilnik. Fakulteta za elektrotehniko, raˇcunalniˇstvo in
informatiko, 2014.
3. S programiranjem poprocesorja smo imeli teˇzave z pri-
dobivanjem kljuˇcnih podatkov z vhodne G-kode, saj je [3] F. Klobuˇcar and J. Zgonc. Robotika: Vodenje in
ponavadi G-koda bogata z dodatnimi nastavitvami, ki programiranje robota ABB XR701.
pa v naˇsem primeru niso nujne. Da bi se izognili shra-
njevanjem neuporabnih podatkov, smo dopisali if stav- [4] R. S. Lee and C. H. She. Developing a postprocessor
kom pogoje za zagotavljanje iskanja kljuˇcnih podat- for three types of five-axis machine tools. The
kov. Za naˇso pridobljeno G-kodo z CAM programske International Journal of Advanced Manufacturing
opreme Siemens NX 8.5 je program deloval brezhibno, Technology, 13(9):658–665, Sep 1997.
G-kode drugih programskih oprem bi lahko povzroˇcale
teˇzave. [5] W. Lei and Y. Hsu. Accuracy test of five-axis cnc
machine tool with 3d probe–ball. part i: design and
4. Teˇzave smo imeli tudi z doseganjem natanˇcnih gibov, modeling. International Journal of Machine Tools and
saj robotu ni uspelo izvesti majhnih oz. kratkih tran- Manufacture, 42(10):1153 – 1162, 2002.
slacij. Ta problem smo odpravili z zmanjˇsanjem hitro-
sti in pospeˇska gibov. [6] A. Lesnika. Robotski sistemi : interno gradivo za
program mehatronika. Viˇsja strokovna ˇsola, 2012.
5. Teˇzave pri raˇcunanju interpolacij smo imeli ker doloˇce-
nih kotov nismo mogli izraˇcunati zaradi nedefiniranega [7] M. D. Network. .NET Programming with C++/CLI
ulomka. Odpravili smo jo z implementacijo inverznega (Visual C++).
tangensa 2.
[8] D. Nilsson. G-Code to RAPID translator for
6. Uporaba programa na starejˇsih sistemih lahko predsta- Robot-Studio. Master of science, University West,
vlja teˇzave, saj je program preveden za 64-bitno arhi- Department of Engineering Science, 2016.
tekturo procesorjev. Program smo prevedli tudi za 32-
bitno arhitekturo procesorjev, katerem bi morali pre- [9] V. Ragunathan. C++/CLI Primer. Springer, 2016.
veri zdruˇzljivost z operacijskim sistemom Windows 98. [10] F. Ribeiro. 3d printing with metals. Computing
V nasprotnem primeru je potrebno program prevesti
z uporabo programa Microsoft Visual C++ 2005, saj Control Engineering Journal, 9(1):31–38, Feb 1998.
je zapis podatkov v naˇsem primeru v Unicode. Druga [11] M. Sekirnik. Priprava robotiziranega sistema ACMA
XR701 in obraˇcalne mize za postopke 3D frezanja.
Diplomsko delo, Univerza v Mariboru, Fakulteta za
strojniˇstvo, 2015.
[12] B. Z. Soviˇc Tina, Simon Sˇpacapan and R. Erveˇs.
Matematika 1 : skripta. Technical report,
Univerzitetna zaloˇzba, 2018.
StuCoSReC Proceedings of the 2018 5th Student Computer Science Research Conference 33
Ljubljana, Slovenia, 9 October
giba, ki ni standardiziran in giba potujeta v smeri osi z. Unicode) za operacijske sistemom Windows 95, 98 in
S tem je treba prilagoditi tudi rotacije robota. Cˇ e imamo Me, ki bi omogoˇcala delovanje zgrajenega programa.
kroˇzni gib v ravnini XZ, prilagajamo rotacijo okoli osi x (ro-
tacija Rψ), ˇce imamo gib v ravnini Y Z, prilagajamo rotacijo 5. ZAKLJUCˇ EK
okoli osi y (rotacija Rθ). To izvedemo z izraˇcunom kota in-
terpolacije po Enaˇcbi (10) in tega priˇstejemo oz. odˇstejemo Cˇ lanek opisuje razvoj poprocesor za pretvorbo G-kode, ki
od ustrezne rotacije robota. S tem doseˇzemo, da je rezkar omogoˇca translacije za 3/5 osnega robota ACMA. Omenjeni
vedno pravokoten na obdelovalno povrˇsino in se enakomerno poprocesor izpolnjuje vse predpostavke, ki smo si jih zadali
obrablja orodje ter odvzema material, kar poslediˇcno vpliva na zaˇcetku raziskovalnega dela.
na kakovost obdelave.
Seveda bi ga lahko izboljˇsali tako, da bi zdruˇzili poprocesor
4. POSKUSI IN REZULTATI G-kode in pretvorbo v numeriˇcni programski jezik ACMA.
Tako bi lahko robotu ACMA implementiral neposredno po-
Poprocesor za pretvorbo G-kode je kompleksna aplikacija, vezavo preko serijske komunikacije, ˇce robot to omogoˇca, in
saj njegova izdelava traja dlje ˇcasa in zahteva popolno po- ga poljubno programirali oz. vodili. S tem bi omogoˇcili
znavanje stroja, za katerega program naˇcrtujemo. V simula- hitrejˇse prilagajanje programa in zmanjˇsali ˇcas priprave, ki
cijah deluje idealno, vendar teorija in praksa vedno ne gresta najbolj vpliva na ekonomiˇcnost, saj med tem ˇcasom robot
z roko v roki. V praksi obiˇcajno hitro naletimo na nepred- stoji.
videne teˇzave. Iz rezultatov poskusov lahko izluˇsˇcimo nasle-
dnje ugotovitve: Pri implementaciji ukazov G2 in G3 bi lahko kodo skrajˇsali
tako, da bi prek serijske komunikacije neposredno programi-
1. Za izdelavo poprocesorja in vmesnika GUI je potrebno rali z ABB programskim jezikom, ˇce robot to omogoˇca. Za
obseˇzno znanje programiranja v jeziku C++/CLI ter dodajanje giba MoveC bi lahko pri doloˇcanju vmesne tretje
dobro poznavanje programskega okolja Visual Studio toˇcke kroˇznega giba uporabili enaˇcbe s poglavja 3.2.3.
2017.
6. VIRI IN LITERATURA
2. Prvotno je bil poprocesor zapisan tako, da je celotno
vhodno in izhodno G-kodo skupaj z generiranem pro- [1] T. Bajd, M. Mihelj, J. Lenarˇciˇc, A. Stanovnik, and
gramom ACMA shranjeval v pomnilnik. To je zah- M. Munih. Robotika. Fakulteta za elektrotehniko,
tevalo 3-krat veˇc pomnilnika od izboljˇsane verzije, ki 2008.
obdeluje vrstico po vrstico in jo sproti izpisuje. To se
pravi, da pri vsaki vrstici prepiˇse predhodne podatke [2] M. Filipiˇc. Posredno programiranje robota ACMA
in jih med delovanjem izpisuje na izhodno mesto (bo- XR701. Magistrsko delo, Univerza v Mariboru,
gato tekstovno polje), kar privarˇcuje pomnilnik. Fakulteta za elektrotehniko, raˇcunalniˇstvo in
informatiko, 2014.
3. S programiranjem poprocesorja smo imeli teˇzave z pri-
dobivanjem kljuˇcnih podatkov z vhodne G-kode, saj je [3] F. Klobuˇcar and J. Zgonc. Robotika: Vodenje in
ponavadi G-koda bogata z dodatnimi nastavitvami, ki programiranje robota ABB XR701.
pa v naˇsem primeru niso nujne. Da bi se izognili shra-
njevanjem neuporabnih podatkov, smo dopisali if stav- [4] R. S. Lee and C. H. She. Developing a postprocessor
kom pogoje za zagotavljanje iskanja kljuˇcnih podat- for three types of five-axis machine tools. The
kov. Za naˇso pridobljeno G-kodo z CAM programske International Journal of Advanced Manufacturing
opreme Siemens NX 8.5 je program deloval brezhibno, Technology, 13(9):658–665, Sep 1997.
G-kode drugih programskih oprem bi lahko povzroˇcale
teˇzave. [5] W. Lei and Y. Hsu. Accuracy test of five-axis cnc
machine tool with 3d probe–ball. part i: design and
4. Teˇzave smo imeli tudi z doseganjem natanˇcnih gibov, modeling. International Journal of Machine Tools and
saj robotu ni uspelo izvesti majhnih oz. kratkih tran- Manufacture, 42(10):1153 – 1162, 2002.
slacij. Ta problem smo odpravili z zmanjˇsanjem hitro-
sti in pospeˇska gibov. [6] A. Lesnika. Robotski sistemi : interno gradivo za
program mehatronika. Viˇsja strokovna ˇsola, 2012.
5. Teˇzave pri raˇcunanju interpolacij smo imeli ker doloˇce-
nih kotov nismo mogli izraˇcunati zaradi nedefiniranega [7] M. D. Network. .NET Programming with C++/CLI
ulomka. Odpravili smo jo z implementacijo inverznega (Visual C++).
tangensa 2.
[8] D. Nilsson. G-Code to RAPID translator for
6. Uporaba programa na starejˇsih sistemih lahko predsta- Robot-Studio. Master of science, University West,
vlja teˇzave, saj je program preveden za 64-bitno arhi- Department of Engineering Science, 2016.
tekturo procesorjev. Program smo prevedli tudi za 32-
bitno arhitekturo procesorjev, katerem bi morali pre- [9] V. Ragunathan. C++/CLI Primer. Springer, 2016.
veri zdruˇzljivost z operacijskim sistemom Windows 98. [10] F. Ribeiro. 3d printing with metals. Computing
V nasprotnem primeru je potrebno program prevesti
z uporabo programa Microsoft Visual C++ 2005, saj Control Engineering Journal, 9(1):31–38, Feb 1998.
je zapis podatkov v naˇsem primeru v Unicode. Druga [11] M. Sekirnik. Priprava robotiziranega sistema ACMA
XR701 in obraˇcalne mize za postopke 3D frezanja.
Diplomsko delo, Univerza v Mariboru, Fakulteta za
strojniˇstvo, 2015.
[12] B. Z. Soviˇc Tina, Simon Sˇpacapan and R. Erveˇs.
Matematika 1 : skripta. Technical report,
Univerzitetna zaloˇzba, 2018.
StuCoSReC Proceedings of the 2018 5th Student Computer Science Research Conference 33
Ljubljana, Slovenia, 9 October