• Tidak ada hasil yang ditemukan

PERANCANGAN PROGRAM APLIKASI PEMBUATAN POLA FRAKTAL PADA ENHANCED MACHINE CONTROL MENGGUNAKAN L-SYSTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANCANGAN PROGRAM APLIKASI PEMBUATAN POLA FRAKTAL PADA ENHANCED MACHINE CONTROL MENGGUNAKAN L-SYSTEM"

Copied!
36
0
0

Teks penuh

(1)

PERANCANGAN PROGRAM APLIKASI

PEMBUATAN POLA FRAKTAL PADA

ENHANCED MACHINE CONTROL

MENGGUNAKAN L-SYSTEM

Alexander Agung Santoso Gunawan

Binus University, Jakarta, DKI Jakarta, Indonesia

Jimmy Linggarjati

Binus University, Jakarta, DKI Jakarta, Indonesia

Yandi Wijaya

Binus University, Jakarta, DKI Jakarta, Indonesia

Abstrak

Tujuan penelitian skripsi ini adalah untuk mengembangkan sebuah program untuk mesin CNC (Computerized Numerically Control) agar mesin tersebut dapat membuat gambar atau pola desain menggunakan fraktal yang dibentuk oleh metode L-System dengan interpretasi turtle

geometry dan bahasa pemrograman Python. Perangkat lunak yang digunakan adalah EM C

(Enhanced Machine Control) dengan menggunakan GUI (Graphical User Interface) AXIS pada sistem operasi Linux Ubuntu. Hasil yang dicapai dari penelitian skripsi ini adalah program akan mengubah gambar atau pola desain yang dihasilkan menggunakan fraktal yang dibentuk oleh metode L-System menjadi G-Code yang dapat dibaca oleh mesin CNC. M esin CNC tersebut akan bergerak sesuai dengan pola yang sudah dibuat pada perangkat lunak.

Kata kunci: CNC, EMC, AXIS, Linux Ubuntu, Fraktal, L-System, Turtle Geometry, G-Code, Python.

1. Pendahuluan

Pada zaman dahulu sebelum ditemukannya mesin, segala pekerjaan dilakukan secara manual oleh manusia. Tak terkecuali dalam hal pembuatan produk atau pola untuk tujuan tertentu yang membutuhkan sebuah ketepatan, dimana membutuhkan sebuah keahlian yang

(2)

harus dipelajari terlebih dahulu. Sejak ditemukannya mesin, mesin seolah menjadi bagian yang sangat penting dalam dunia industri. Dengan adanya mesin, dunia industri semakin berkembang dan semakin banyak ragam barang yang dapat dihasilkan dengan waktu yang lebih singkat. Industri desain maupun manufaktur merupakan industri yang membutuhkan sebuah mesin yang diharapkan dapat bekerja dengan efisien dan dapat menggantikan tenaga manusia karena selama ini pekerjaan tersebut dilakukan secara manual karena membutuhkan ketelitian yang tinggi dan pengetahuan yang memadai. Biaya pembuatan yang tinggi, waktu pengerjaan yang lama, serta tidak optimalnya hasil yang didapatkan merupakan alasan utama penggantian tenaga kerja manusia oleh mesin, di samping faktor – faktor lain yang turut mempengaruhinya.

M esin yang diharapkan dapat menggantikan hal tersebut ternyata masih membutuhkan seorang operator mesin yang mahir untuk dapat menggerakan mesin tersebut. Oleh karena itu hal tersebut menjadi kendala bagaimana untuk dapat menggabungkan pekerjaan tersebut yang selama ini dilakukan secara manual dengan mesin yang dapat mengerjakannya agar biaya ketika proses produksi menjadi berkurang dan semakin efisien pengerjaannya. Atas dasar itu maka dikembangkanlah sebuah mesin yang dapat menjawab permasalahan tersebut.

Teknologi NC pertama kali ditemukan oleh John T. Parson dan M IT (Arnold, 2001, pp. 14-19), dimana Parson sendiri pada awalnya mengembangkan teknik untuk memproduksi rancangan baling – baling pada mesin milling namun masih membutuhkan data numeric yang dihasilkan oleh mesin punched-card IBM untuk memposisikan secara manual sekrup mesin

milling pada dua sumbu. (50 Years Of Technological Development, 2005). Pada bidang

manufaktur dan pengerjaan logam, teknologi NC ini telah menyebabkan revolusi, bahkan pada saat sebelum komputer menjadi standar pada setiap perusahaan dan setiap rumah. Perkembangan terkini dari micro electronic dan komputer yang tidak pernah berhenti

(3)

menyebabkan dampak pada NC dan telah membuat perubahan yang signifikan pada bidang manufaktur dan pengerjaan logam pada khususnya. (Smid, 2003, p. 1)

Smid (2003, p. 1) mengemukakan bahwa CNC merupakan perkembangan dari NC dimana menggunakan internal micro processor (contoh: komputer). M esin CNC sendiri merupakan mesin perkakas yang mampu secara otomatis membentuk suatu bentuk maupun pola dengan bantuan komputer sebagai sarana masukan oleh pengguna. M esin CNC tersebut menggunakan perintah berupa kode – kode dari komputer dan tidak lagi menggunakan tenaga manusia untuk menjalankannya. Dengan mesin CNC yang diperlengkapi dengan perangkat lunak CAM (Computer Aided Manufacturing), maka seorang operator dapat membuat gambar kerja dari benda yang akan dibuat dengan mesin CNC pada komputer dengan bantuan perangkat lunak CAD (Computer Aided Design). Hasil gambar kerja dapat dieksekusi secara simulasi untuk melihat pelaksanaan pengerjaan benda kerja di mesin CNC melalui layar monitor. Jika hasil eksekusi simulasi sudah sesuai dengan yang diharapkan, maka program dilanjutkan dengan eksekusi program mesin. Dengan cara ini, waktu yang diperlukan untuk menyelesaikan pekerjaan yang menggunakan model serupa menjadi jauh lebih cepat dan efisien.

Untuk dapat menjalankan mesin CNC ini tentu diperlukan suatu perangkat lunak yang berhubungan. Perangkat lunak ini dinamakan EM C (Enhanced Machine Control) yang bekerja pada sistem operasi Linux. M esin CNC menggunakan perangkat komputer sebagai alat masukan oleh pengguna untuk dapat mengontrol mesin dengan menggunakan kode yang disebut sebagai G-Code yang akan mengkonversi menjadi arus listrik untuk menjalankan mesin CNC. G-Code tersebut yang akan dibaca oleh mesin CNC sehingga dapat bergerak mengikuti pola atau bentuk yang telah dimasukkan oleh penggunanya. Karena sifatnya yang

open source yang berarti terbuka untuk dikembangkan oleh karena itu, penulis tertarik untuk

(4)

lunak yang terdapat versi terbarunya yaitu EM C2 dan untuk dapat menghasilkan gambar atau pola desain pada mesin CNC maka dapat digunakan fraktal yang dapat dibentuk dari beberapa metode yaitu Iterated Function Systems, Strange Attractors, Escape – Time

Fractals, Random Fractals, L-System. Pada skripsi ini, penulis bermaksud untuk mencoba

memecahkan masalah atas pembuatan pola desain menggunakan fraktal yang dapat dibentuk dengan menggunakan metode L-System.

2. Analisis Dan Pe rancangan

2.1. Analisis Kebutuhan

Bovill (2000, p. 1) menyebutkan bahwa desain konseptual merupakan tahapan awal dari proses desain dimana dicirikan dengan masalah yang tidak menentu pada saat proses pengerjaannya. Pada tahapan awal tersebut, biasanya para desainer membuat banyak ide dan mengubahnya menjadi gambar sketsa dengan bantuan pensil dan kertas. CAD (Computer Aided Design) merupakan perangkat lunak yang jarang digunakan pada tahapan tersebut karena membutuhkan definisi yang lengkap, konkrit, dan tepat untuk desain geometrinya yang biasanya dilakukan pada tahap selanjutnya. Gambar dan desain yang dihasilkan oleh komputer mempunyai peran yang sangat penting yaitu pada keseluruhan proses dan juga membantu para seniman untuk mengoptimalkan parameter desain. Hal tersebut sangat berpengaruh khususnya pada industri manufaktur dan desain yang sangat membutuhkan gambar atau pola desain tersebut.

Permasalahan yang timbul adalah penambahan biaya karena menggunakan media berupa kertas dan juga ketika para seniman itu sudah tidak dapat melakukan pekerjaannya lagi dan hal tersebut tentu menyebabkan proses produksi terhenti di satu proses yang dapat menyebabkan kerugian. Oleh karena itu harus dicari solusi

(5)

bagaimana untuk dapat menghilangkan tahapan desain konseptual dan menggabungkannya langsung dengan CAD untuk dapat langsung dibuat gambar atau pola desain yang diinginkan menggunakan mesin.

Terkait dengan masalah mengenai konseptual desain tersebut maka penulis mengusulkan pembuatan sebuah program aplikasi yang dapat digunakan untuk membuat pola desain tersebut secara otomatis berdasarkan inputan dari operator mesin / pengguna. Salah satu cara untuk membuatnya adalah menggunakan fraktal yang dapat dibentuk dari metode L-System. Fraktal sendiri sudah banyak digunakan pada berbagai industri khususnya desain dan manufaktur untuk menghasilkan produk yang membutuhkan ketelitian dan keahlian yang baik. Soo (p. 1) mengatakan bahwa banyak produk perhiasan banyak mengadopsi pola – pola yang menarik di alam, sedangkan objek alam tersebut dapat dideskripsikan dengan geometri fraktal, oleh karena itu untuk memproduksinya maka model fraktal tersebut diperlukan. Untuk dapat menghasilkan pola desain menggunakan fraktal tersebut, banyak metode yang bisa diterapkan namun salah satunya yaitu L-System merupakan salah satu metode untuk dapat menghasilkan pola fraktal yang dimaksud dengan bantuan interpretasi kata oleh turtle.

Oleh karena itu akan dirancang sebuah program aplikasi yang dapat membentuk pola desain menggunakan fraktal dimana hasil dari program ini adalah berupa pola fraktal yang disimpan dalam sebuah file G-Code. File G-Code inilah yang dapat dibaca oleh mesin CNC melalui perangkat lunak EM C2 ini.

2.2. Desain Pemecahan Masalah

Dalam desain pemecahan masalah berikut, akan dijelaskan bagaimana masalah yang ada dapat diselesaikan dengan program aplikasi yang telah dirancang ini. Akan

(6)

dijelaskan mengenai sistem dan bagaimana program ini dapat berjalan dengan baik sehingga operator mesin / pengguna dapat memahami dan menggunakannya dengan baik sesuai dengan apa yang diperlukan.

2.2.1.

Tahapan Desain

Pada tahapan ini akan diberikan informasi berupa pola desain yang ingin dibuat kepada operator mesin / pengguna untuk diolah ke dalam suatu bidang alas yang telah ditentukan dengan menggunakan perangkat lunak EM C2 dan mesin CNC. M esin CNC tersebut akan membentuk gambar tersebut di bidang alas yang dapat berupa papa, kayu, besi, dan sebagainya. Setelah menentukan bidang yang akan digunakan, selanjutnya akan diletakkan alat berupa spidol, pen, bor atau yang lain ke tangan sumbu mesin CNC untuk dapat mulai bekerja.

2.2.2.

Tahapan Pengerjaan

Setelah mendapatkan informasi yang diperlukan, maka operator mesin / pengguna akan mulai menentukan pola axiom dan rule yang digunakan untuk dapat membentuk gambar atau pola desain yang diinginkan. Selanjutnya operator mesin / pengguna akan menjalankan perangkat lunak EM C yang sudah dipersiapkan dan menentukan titik awal bagi mesin CNC untuk dapat mulai bekerja. Konfigurasi awal dilakukan dengan menekan tombol Toggle Emergency Stop yang berguna untuk menyalakan dan mematikan mesin CNC secara mendadak dan setelah itu harus menekan tombol Toggle Machine Power untuk mengaktifkan perangkat lunak dan mesin. Selanjutnya adalah menentukan titik awal dimana umumnya titik tersebut akan berada pada koordinat (0,0). Titik

(7)

awal tersebut dapat diatur secara manual untuk kembali ke titik tersebut atau tempat terakhir ketika mesin bergerak akan dianggap sebagai titik awal.

2.2.3.

Pembuatan Pola Desain Fraktal

Setelah mendapatkan axiom dan rule yang diperlukan serta melakukan konfigurasi awal pada EM C maka yang selanjutnya dilakukan adalah menggunakan program aplikasi yang sudah dibuat untuk membuat pola fraktal tersebut. Program aplikasi tersebut akan mengubah masukkan yang diberikan oleh operator mesin / pengguna menjadi gambar yang menghasilkan file G-Code. File G-Code akan dibaca dan mesin CNC akan bergerak sesuai dengan tujuan yang ditentukan ketika operator mesin / pengguna menekan tombol Run.

2.3. Implementasi

Sistem operasi yang dipakai adalah Linux Ubuntu karena di dalam sistem operasi ini terdapat perangkat lunak EM C2 yang memerlukan proses peng-install-an terlebih dahulu untuk memperolehnya, dan juga terdapat bahasa pemrograman Python 2.6 yang biasanya sudah termasuk ke dalam setiap Linux. Pada skripsi ini, penulis menggunakan Linux Ubuntu 10.04 yang sudah terdapat EM C2 dan Python 2.6 yang bisa didapatkan dari situs http://www.linuxcnc.org/index.php/download/21/.

Penulis menggunakan perangkat lunak VM ware untuk melakukan simulasi pada perangkat lunak EM C2 yang telah disebutkan di atas karena lebih mudah untuk digunakan. Setelah diujikan dan hasilnya sudah tidak menemukan masalah lagi, maka program baru diujikan pada komputer dengan real time system yang sudah terhubung dengan mesin CNC.

(8)

Implementasi program pembuatan gambar atau pola desain ini dimulai dengan menjalankan perangkat lunak EM C2 yang sudah ter-install di Linux Ubuntu. Setelah menjalankan program ini maka akan muncul suatu tampilan menu utama dengan program L-System yang diletakkan di sebelah kanan.

Untuk dapat menggunakan program ini, maka ada beberapa langkah yang harus dilakukan oleh pengguna, yaitu:

1. Konfigurasi file “.ini”

Program EM C2 ini memiliki suatu file “.ini” (initial) dimana file ini berisi semua pengaturan yang ada untuk ditampilkan ketika perangkat lunak EM C2 dipanggil. File ini dapat diakses oleh operator mesin / pengguna dan dapat diatur sesuai dengan kebutuhan. Ketika perangkat lunak EM C2 tersebut dipanggil, pengguna dapat memilih untuk memanggil file .ini.

(9)

Pada implementasi ini, penulis menggunakan file “axis_mm.ini” dan melakukan beberapa pengaturan pada file tersebut. Juga telah menambahkan beberapa command syntax yang berguna untuk menampilkan program L

System pada EM C2 pada saat file “axis_mm.ini” dipanggil. File

“axis_mm.ini” dapat ditemukan di direktori “/home/<nama

user>/emc2/configs/sim/”.

2. Konfigurasi file “.xml”

Untuk dapat menampilkan program L-System tersebut pada EM C maka diperlukan sebuah file “.xml” yang berguna untuk mengatur tampilan. Pada implementasi ini, Penulis menamainya “lsystem.xml” dan menggunakan

pyvcp (Python Virtual Control Panel) untuk dapat membuat panel agar dapat

ditampilkan pada EM C. File “lsystem.xml” dapat ditemukan di direktori

“/home/<nama user>/emc2/configs/sim/”.

(10)

HAL (Hardware Abstraction Layer) merupakan salah satu fungsi pada EM C2 yang digunakan untuk membuat suatu signal dan port yang berguna untuk mengkonfigurasi mesin EM C2 tersebut. Agar EM C2 dapat berjalan ketika pengguna menekan tombol Run maka perlu dibuatlah sebuah file “.hal” yang berfungsi untuk mengkoneksikan pyvcp dengan EM C2. Pada implementasi ini, Penulis menamainya “lsystem.hal”. File “lsystem.hal” dapat ditemukan di direktori “/home/<nama user>/emc2/configs/sim/”. Untuk letak file

“axis_mm.ini”, “.xml” dan file “.hal”.

4. M enjalankan program EM C2.

5. Selanjutnya maka pengguna harus menekan tombol Toggle Emergency Stop yang berguna untuk menyalakan dan mematikan mesin CNC secara mendadak (dalam kasus ini yang dimaksud adalah simulasi dimana perangkat lunak ini telah dirancang untuk menjalankan mesin tersebut).

6. Setelah mengaktifkan tombol tersebut, maka pengguna harus menekan tombol

Toggle Machine Power untuk mengaktifkan perangkat lunak dan mesin.

7. Setelah langkah – langkah tersebut dilakukan maka pengguna dapat menjalankan semua fitur yang berada pada perangkat lunak EM C2 ini.

(11)

8. Sesudah melakukan langkah 1 – 4, terkadang titik AXIS tidak berada pada posisi Home All yaitu dimana titik AXIS X dan Y berada pada posisi (0,0). Perlu diperhatikan ketika ingin melakukan suatu fungsi atau pemanggilan program L-System apakah keadaan titik X dan Y sudah berada pada posisi (0,0) atau tidak. Oleh karena itu pengguna dapat mengatur titik X dan Y agar berada pada posisi (0,0) dengan menekan tombol Home All.

9. M enjalankan program L-System

Pengguna dapat menjalankan program L-System dengan cara menekan tombol

L-System yang sudah terdapat di sisi kanan program EM C. Pada implementasi

ini, setelah program L-System selesai menggambar di turtle window. Penulis menuliskannya ke dalam file “101.ngc”” dan hasilnya berupa file “101.ngc” dapat ditemukan di direktori “/home/<nama user>/emc2/nc_files/”.

10. M enjalankan file “.ngc”

EM C2 merupakan sebuah perangkat lunak untuk dapat menjalankan mesin CNC, namun untuk dapat menjalankannya maka membutuhkan suatu sinyal dan port dimana gelombang sinyal tersebut dapat dihasilkan oleh perangkat lunak EM C2 dengan melewati port yang ditentukan melalui file G-Code. Setelah pengguna menjalankan EM C2 dan menggunakan program L-System

(12)

maka akan dihasilkan file “.ngc” yang dapat dijalankan melalui tombol Run yang sudah dibuat untuk melihat hasilnya pada mesin secara langsung.

Berikut beberapa hasil bentuk pola fraktal yang didapatkan setelah menjalankan program L-System tersebut:

Tabel Hasil Pengujian Program

Jenis Fraktal Hasil Pada Window Tkinter

Koch Curve (n = 4) Axiom: F Rule: F→F+F– F–F+F Box (n = 3) Axiom: F-F-F-F Rule: F→FF-F-F-F-FF Island And Lakes (n = 2) Axiom: F+F+F+F Rule: F→F+f– FF+F+FF+Ff+FF– f+FF– F– FF– Ff– FFF f→ffffff

(13)

Jenis Fraktal Hasil Pada Window Tkinter Hilbert Curve (n = 5) Axiom: F Rule: F→+XL– FLF– LX+ X→– FL+XLX+LF– Dragon Curve (n = 10) Axiom: FX Rule: X→X+YF Y→FX–Y F→F Sierpinski Triangle (n = 5) Axiom: F–X–X Rule: F→F–X+F+X–F X→XX Sierpinski Arrowhead Curve (n = 5) Axiom: F Rule: F→X–F–X X→F+X+F

(14)

Jenis Fraktal Hasil Pada Window Tkinter Quadratic Koch Island (n = 3) Axiom: F+F+F+F Rule: F→F+F–F– FF+F+F–F Plant (n = 5) Axiom: F Rule: F→X[+F]X[–F]F X→XX Koch Snowflake (n = 5) Axiom: F++F++F Rule: F→F–F++F–F Tile (n = 5) Axiom: X Rule: X→F+F+F+F F→FF+F–F+F+FF

Berikut beberapa hasil bentuk pola fraktal yang didapatkan setelah menjalankan program L-System secara langsung pada mesin CNC:

(15)

Tabel Hasil Pengujian Program Pada Mesin CNC

Jenis Fraktal Hasil Pada Window Tkinter

Box (n = 2) Waktu pembuatan: 9.8 menit Dragon Curve (n = 8) Waktu pembuatan: 9.6 menit Bushy Tree (n = 3) Waktu pembuatan: 25.6 menit

(16)

3. Kesimpulan

Dari hasil perancangan program aplikasi ini, penulis mendapatkan beberapa simpulan yaitu sebagai berikut:

a. M etode L-System dengan bantuan interpretasi turtle dapat digunakan untuk membentuk pola desain fraktal yang berguna pada bidang desain dan manufaktur menggunakan mesin CNC untuk menghilangkan tahapan desain konseptual yang memakan waktu dan biaya.

b. Perangkat lunak EM C2 dapat digunakan secara baik untuk menjalankan mesin CNC dan karena sifatnya yang open source sangat memungkinkan untuk dilakukan adanya perubahan pada file-nya sehingga pengguna dapat mengatur perangkat lunak ini sesuai dengan kebutuhan dalam bentuk apapun.

(17)

Daftar Pustaka

[1] Starovešk, T., Brezak, D., Udiljak, T., & M ajetić, D. (2009). Implementation Of A

Linux-Based CNC Open Control System. 12th International Scientific Conference On Production

Engineering - CIM 2009.

[2] 50 Years Of Technological Development. (2005, August). Retrieved December 15, 2011, from Cutting Tool Engineering: http://www.ctemag.com/pdf/2005/0508-50anniversary.pdf [3] Anton, H., & Rorres, C. (2005). Elementary Linear Algebra Applications Version 9th

Edition. U SA: John Wiley & Sons, Inc.

[4] Arnold, H. (2001). The recent history of the machine tool industry and the effects of

technological change.

[5] Bentley, L. D., & Whiteen, J. L. (2010). Systems Analysis & Design For The Global

Enterprise 7th Edition. New York: M cGraw-Hill Companies Inc.

[6] Bovill, C. (2000). Fractal Geometry as Design Aid. Journal for Geometry and Graphics

Volume 4 No 1, 71-78.

[7] Dawson, M . (2003). Python Programming for the Absolute Beginner. USA: Premier Press. [8] Deitel, H. M ., Deitel, P. J., Liperi, J., & Wiedermann, B. (2002). Python How To Program.

USA: Prentice Hall.

[9] Falconer, K. (2003). Fractal Geometry Mathematical Foundations And Applications 2nd

Edition. Chichester: John Wiley & Sons Ltd.

[10] Kiusalaas, J. (Cambridge University Press). Numerical Methods In Engineering With

Python 2nd Edition. New York: O'Reilly.

[11] Krar, S., & Gill, A. (1999). Computer Numerical Control Programming Basics. New York: Industrial Press Inc.

[12] Langtangen, H. P. (2008). Python Scripting For Computational Science 3rd Edition. Heildelberg: Springer.

[13] Lee, K. D. (2010). Python Programming Fundamentals. London: Springer.

[14] M andelbrot, B. B. (1983). The Fractal Geometry Of Nature. New York: W.H. Freeman And Company.

[15] Pressman, R. S. (2010). Software Engineering - A Practitioner's Approach. USA: M cGraw-Hill Higher Education.

[16] Prusinkiewicz, P., & Lindenmayer, A. (2004). The Algorithmic Beauty of Plants. New York: Springer-Verlag.

(18)

[17] Shneiderman, B. (2010). Designing The User Interface, Strategy For Effective

Human-Computer Interaction 5th Edition. USA: Pearson Education Inc.

[18] Smid, P. (2003). CNC Programming Handbook 2nd Edition. New York: Industrial Press Inc.

[19] Soo, S. C., & K., M . Y. (n.d.). Rapid Prototyping Using Fractal Geometry. 424-431.

[20] Swipman, J. W. (2010). Tkinter 8.4 Reference: a GUI for Python. Mexico: New M exico Tech.

[21] Team, T. E. (2006, February 20). Manual Pages. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/2.2/EM C2_M anual_Pages.pdf

[22] Team, T. E. (2011, January 11). Getting Started Guide V2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/EM C2_Getting_Started.pdf

[23] Team, T. E. (2011, January 11). HAL Manual 2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/HAL_User_M anual.pdf

[24] Team, T. E. (2011, December 9). Integrators Manual V2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/EM C2_Integrator_M anual.pdf

[25] Team, T. E. (2011, October 26). User Manual V2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/EM C2_User_M anual.pdf

[26] Wannarumon, S. (2010). An Aesthetics Driven Approach to Jewelry Design. Computer-Aided Design & Applications, 489-503.

[27] Zammouri, I., & Ayeb, B. (2007). Fractal Shapes Description with Parametric L-systems and Turtle Algebra. World Academy of Science, Engineering and Technology 34.

(19)

DESIGN DEVELOPMENT APPLICATION

MAKING FRACTAL PATTERN TO THE

ENHANCED MACHINE CONTROL

USING L-SYSTEM

Alexander Agung Santoso Gunawan

Binus University, Jakarta, DKI Jakarta, Indonesia

Jimmy Linggarjati

Binus University, Jakarta, DKI Jakarta, Indonesia

Yandi Wijaya

Binus University, Jakarta, DKI Jakarta, Indonesia

Abstract

The purpose of this thesis research is to develop a program for the machine CNC (Computerized Numerically Control) machine that can make pictures or designs patterns using fractal formed by the method of L-System with the help of turtle geometry interpretation and Python programming languages . The software was used is EM C (Enhanced M achine Control) using the GUI (Graphical User Interface) AXIS on Ubuntu Linux operating system. The result of this thesis research is the program will change the image or design patterns generated using a fractal formed by the method of L-System to be G-Code that can be read by a CNC machine. The CNC machine will move according to patterns that have been made by using software.

Keywords: CNC, EMC, AXIS, Linux Ubuntu, Fraktal, L-System, Turtle Geometry, G-Code, Python.

1. Introduction

In past before the invention of machines, all work is done manually by humans. This was done also in terms of making a product or a pattern for a particular purpose which requires a

(20)

precision, which requires a skill that must be studied in advance. Since the invention of the engine, the engine became a very important part in the industrial world. With the help of machine, the industry is growing and made a wide variety of items that can be produced within shorter time. Design and manufacturing industry is an industry that requires a machine that is required to work efficiently and be able to replace human labor as long because this work usually is done manually by humans because it requires high precision and adequate knowledge. The high cost of manufacture, a long processing time, and do not get optimal results is the main reason the replacement of human labor by machines, in addition to the factors - other factors that also influence it.

M achine that is expected to replace it was still in need of a skilled machine operator to move the machine. Therefore, it is a problem how to combine the work has been done manually with a machine that can do it so that when the production cost is reduced and more efficient process. On the basis that it is developing a machine that can answer these problems.

NC technology was first invented by John T. Parson and M IT (Arnold, 2001, pp. 14-19), where the Parson himself was originally developed techniques for producing the draft propeller - propeller on a milling machine, but still require numeric data generated by punched-card machines ¬ IBM to manually position the screw two-axis milling machine on. (50 Years Of Technological Development, 2005). In the field of manufacturing and metalworking, NC technology has led to a revolution, even at the time before computers became standard on every company and every home. Recent developments of micro electronics and computers that never stopped causing an impact on the NC and has made significant changes to the manufacturing and metalworking in particular. (Smid, 2003, p. 1)

Smid (2003, p. 1) suggests that CNC is the development of NC in which the use of internal micro processor (eg, computer). CNC machine itself is a machine tool that can

(21)

automatically form a shape or pattern with the help of computers as a means of input by the user. The CNC machine using a command code - code of the computer and no longer use human power to run it. With CNC machines that are equipped with CAM software (Computer Aided M anufacturing), then an operator can make working drawings of objects that will be made with a CNC machine on the computer with the help of CAD software (Computer Aided Design). The results of the working drawings can be executed in a simulation to see the implementation of the work of the workpiece on CNC machines through the monitor screen. If the execution of the simulation results are as expected, then program execution continues with the engine program. In this way, the time required to complete the work using a similar model becomes much more quickly and efficiently.

To be able to run the CNC machines, a software-related is needed. The software is called EM C (Enhanced M achine Control) working on the Linux operating system. CNC machine tool using the computer as input by the user to be able to control the machine by using a code known as the Code that will convert into an electric current to run the CNC machines. G-Code is to be read by a CNC machine that can move to follow the pattern or form that has been entered by the user. Because of its open source which means open to be developed, therefore, the authors are interested in conducting research and design additional programs to develop software that contained the latest version of EM C2 and to be able to produce images or patterns on the design of the CNC machine that can be used fractal formed of several methods such as Iterated Function Systems, Strange Attractors, Escape - Time Fractals, Random Fractals, L-System. In this thesis, the author intends to try to solve the problem of making a design using fractal patterns can be formed by using the L-System.

2. Analysis And Design

(22)

Bovill (2000, p. 1) states that the preliminary conceptual design of the design process which is characterized by erratic problems during the process. In the early stages, usually the designers make a lot of ideas and turn them into sketches with the help of pencil and paper. CAD (Computer Aided Design) is a software that is rarely used at this stage because it requires a complete definition, concrete, and appropriate for the geometric design that is usually done at a later stage. Drawings and designs generated by computer to have a very important role that the whole process and also help the artists to optimize the design parameters. It was very influential, especially in manufacturing and design industry in desperate need of an image or pattern design.

The problem that arises is the incremental cost due to use of paper media as well as the artists had been unable to do his job again and it would lead to the production process stalled in a process that can cause harm. Therefore, how to look for solutions to be able to eliminate the conceptual design stage and to combine it directly with the CAD drawings can be made directly to the desired design or pattern using the machine.

Related to the issue regarding the conceptual design of the author proposes the creation of a program application that can be used to create a design pattern is automatically based on input from the machine operator / user. One way to make the use of fractal method can be formed from L-System. Fractal itself has been widely used in various industries, especially the design and manufacturing to produce products that require accuracy and good craftsmanship. Soo (p. 1) says that many jewelry products are adopting a pattern - a pattern of interest in nature, whereas natural objects can be described by fractal geometry, therefore, to produce the fractal models is needed. To be able to produce a design using fractal patterns, the many methods that can be applied, but one of them is L-System is one method to generate

(23)

fractal patterns with the help of interpretation is said by the turtle.

Therefore author will designed an application program that can form a design pattern using fractal where the results of this program is a fractal pattern that is stored in a G-Code file. G-Code file is readable by a CNC machine through this EM C2 software.

2.2.

Design Proble m Solving

In the following design problem solving, will explain how existing problems can be solved by the application program has been designed it. Will explain the system and how this program can be run well so that the machine operator / user can understand and use them properly in accordance with what is required.

2.2.1.

Design Phase

At this phase will be given information in the form of design patterns to be made to the machine operator / user to be processed into a predetermined area of the base using EM C2 software and CNC machines. The CNC machine will form the image in the base which can be a daddy, wood, iron, and so forth. After determining the areas to be used, then the tool will put a marker, pen, drill or the other to the hand axis CNC machine to be able to start working.

2.2.2.

Construction Phase

After getting the information needed, the machine operator / user will begin to determine the pattern of axioms and rules that used to be able to form a picture or design desired patterns. Furthermore the machine operator / user will be running EM C software that has been prepared and determine a starting point for the CNC machine to be able to start

(24)

working. The initial configuration is done by pressing the Emergency Stop Toggle button that allows you to turn on and off the CNC machine and then suddenly have to press the Toggle button to activate the Power M achine and machine software. Next is to determine the starting point where the most points will be located at coordinates (0.0). The starting point can be set manually to get back to that point or the last place when the machine moves would be considered a starting point.

2.2.3.

Fractal Design Pattern Making

After getting the necessary axioms and rules as well as perform initial configuration on which the EM C is then performed using an application program that has been made to make such a fractal pattern. The application program will change the insert provided by the machine operator / user to generate images that G-Code file. G-Code file will be read and CNC machine will move in accordance with the objectives set when the machine operator / user presses the Run button.

2.3. Implementation

The operating system used is Linux Ubuntu because in this operating system are EM C2 software that requires the lawyer-install-an advance to get it, and there is also a Python 2.6 programming language that is usually included in any Linux. In this thesis, I use Linux Ubuntu 10.04 is already there EM C2 and Python 2.6 can be obtained from the site http://www.linuxcnc.org/index.php/download/21/.

The author uses VMware software to perform simulations on the EM C2 software mentioned above because it is easier to use. Once tested and the results have been

(25)

found no longer the case, then the new program was tested on a real time computer system that is connected to the CNC machine.

Implementation of an image or pattern-making program design begins with running EM C2 software that is installed on Ubuntu Linux. After running this program will display the main menu screen with the L-System program that is placed on the right.

To be able to use this program, then there are several steps that must be performed by the user, namely:

1. Configure File “.ini”

EM C2 program has a file ".ini" (initial) file which contains all the settings are to be displayed when the software called EM C2. This file can be accessed by the machine operator / user and can be adjusted as needed. When software is EM C2 is invoked, the user can choose to call the file .ini.

(26)

On this implementation, the authors use the file "axis_mm.ini" and do some settings in the file. Also has added some useful command syntax to display the L System at the EM C2 program at the file "axis_mm.ini" called. File

"axis_mm.ini" can be found in the directory

"/home/<username>/emc2/configs/sim/".

2. Configure file “.xml”

To be able to display the L-System program at EM C will require a file ". xml" are useful for controlling the display. On this implementation, the writer called it "lsystem.xml" and use pyvcp (Python Virtual Control Panel) to be able to make panels that can be displayed on the EM C. File "lsystem.xml" can be found in the directory "/home/<username>/emc2/configs/sim/".

3. Configure file “.hal”

HAL (Hardware Abstraction Layer) is a function of the EM C2 is used to create a useful signal and the port to configure the EM C2 machine. EM C2 order to run when the user presses the Run button is necessary to made a file

(27)

".hal" that serves to connect pyvcp with EM C2. On this implementation, the writer called it "lsystem.hal". File "lsystem.hal" can be found in the directory "/home/<username>/emc2/configs/sim/". For the location of the file

"axis_mm.ini", ".xml" and file ".hal".

4. Running the EM C2 program.

5. Furthermore, the user must press the Emergency Stop Toggle button that allows you to turn on and off abruptly CNC machine (in this case in question is a simulation where the software has been designed to run the machine). 6. After turning the key, then the user must press the Toggle Machine Power

button to activate the machine and software.

7. After all these step done, the user can run all the features that are in this EM C2 software.

8. After doing steps 1-4, sometimes the AXIS point is not in a Home All position that is where the X and Y Axis point is at position (0.0). Keep in mind when you want to perform a function or calling the L-System program, you must check whether the state of the point X and Y are in the position (0.0) or not. Therefore, the user can set the point X and Y to be in a position (0.0) by pressing the Home All button.

(28)

9. Running L-System program

Users can run the L-System program by pressing the L-System button is already available at the right side of the EM C program. On this implementation, after the L-System program finished drawing in the turtle window. The authors write in file "101.ngc" and the result is a file "101.ngc" that can be found in the directory "/home/<username>/emc2/nc_files/".

10. Running file “.ngc”

EM C2 is a software to be able to run a CNC machine, but to be able to run it then it takes a signal and the port where the signal wave can be generated by the EM C2 software ports specified by passing through G-Code file. Once the user running the EM C2 and use the L-System program the file will be generated ".ngc" which can be run via the Run button that has been made to see the results on the machine directly.

Here are some of the results form a fractal pattern obtained after running the program L-System is:

(29)

Results of Testing Program

Fractal Types Result on Window Tkinter

Koch Curve (n = 4) Axiom: F Rule: F→F+F– F–F+F Box (n = 3) Axiom: F-F-F-F Rule: F→FF-F-F-F-FF Island And Lakes (n = 2) Axiom: F+F+F+F Rule: F→F+f– FF+F+FF+Ff+FF– f+FF– F– FF– Ff– FFF f→ffffff Hilbert Curve (n = 5) Axiom: F Rule: F→+XL– FLF– LX+ X→– FL+XLX+LF–

(30)

Fractal Types Result on Window Tkinter Dragon Curve (n = 10) Axiom: FX Rule: X→X+YF Y→FX–Y F→F Sierpinski Triangle (n = 5) Axiom: F–X–X Rule: F→F–X+F+X–F X→XX Sierpinski Arrowhead Curve (n = 5) Axiom: F Rule: F→X–F–X X→F+X+F Quadratic Koch Island (n = 3) Axiom: F+F+F+F Rule: F→F+F–F– FF+F+F–F

(31)

Fractal Types Result on Window Tkinter Plant (n = 5) Axiom: F Rule: F→X[+F]X[–F]F X→XX Koch Snowflake (n = 5) Axiom: F++F++F Rule: F→F–F++F–F Tile (n = 5) Axiom: X Rule: X→F+F+F+F F→FF+F–F+F+FF

Here are some of the results form a fractal pattern obtained after L-System program running directly on the CNC machine:

(32)

Fractal Types Result on Window Tkinter Box (n = 2) Time making: 9.8 menit Dragon Curve (n = 8) Time making: 9.6 menit Bushy Tree (n = 3) Time making: 25.6 menit

(33)

3. Conclusion

From the results of this application program design, the authors obtain some conclusions are as follows:

a. M ethod of L-System with the help of turtle interpretation can be used to form a fractal design patterns are useful in the design and manufacturing using CNC machines to eliminate the conceptual design phase that takes time and costs. b. The EM C2 software can be used both to run the CNC machines and because it is

open source so it is possible to do any changes in its files so that users can set this software as needed in any form.

(34)

References

[1] Starovešk, T., Brezak, D., Udiljak, T., & M ajetić, D. (2009). Implementation Of A

Linux-Based CNC Open Control System. 12th International Scientific Conference On Production

Engineering - CIM 2009.

[2] 50 Years Of Technological Development. (2005, August). Retrieved December 15, 2011, from Cutting Tool Engineering: http://www.ctemag.com/pdf/2005/0508-50anniversary.pdf [3] Anton, H., & Rorres, C. (2005). Elementary Linear Algebra Applications Version 9th

Edition. U SA: John Wiley & Sons, Inc.

[4] Arnold, H. (2001). The recent history of the machine tool industry and the effects of

technological change.

[5] Bentley, L. D., & Whiteen, J. L. (2010). Systems Analysis & Design For The Global

Enterprise 7th Edition. New York: M cGraw-Hill Companies Inc.

[6] Bovill, C. (2000). Fractal Geometry as Design Aid. Journal for Geometry and Graphics

Volume 4 No 1, 71-78.

[7] Dawson, M . (2003). Python Programming for the Absolute Beginner. USA: Premier Press. [8] Deitel, H. M ., Deitel, P. J., Liperi, J., & Wiedermann, B. (2002). Python How To Program.

USA: Prentice Hall.

[9] Falconer, K. (2003). Fractal Geometry Mathematical Foundations And Applications 2nd

Edition. Chichester: John Wiley & Sons Ltd.

[10] Kiusalaas, J. (Cambridge University Press). Numerical Methods In Engineering With

Python 2nd Edition. New York: O'Reilly.

[11] Krar, S., & Gill, A. (1999). Computer Numerical Control Programming Basics. New York: Industrial Press Inc.

(35)

Heildelberg: Springer.

[13] Lee, K. D. (2010). Python Programming Fundamentals. London: Springer.

[14] M andelbrot, B. B. (1983). The Fractal Geometry Of Nature. New York: W.H. Freeman And Company.

[15] Pressman, R. S. (2010). Software Engineering - A Practitioner's Approach. USA: M cGraw-Hill Higher Education.

[16] Prusinkiewicz, P., & Lindenmayer, A. (2004). The Algorithmic Beauty of Plants. New York: Springer-Verlag.

[17] Shneiderman, B. (2010). Designing The User Interface, Strategy For Effective

Human-Computer Interaction 5th Edition. USA: Pearson Education Inc.

[18] Smid, P. (2003). CNC Programming Handbook 2nd Edition. New York: Industrial Press Inc.

[19] Soo, S. C., & K., M . Y. (n.d.). Rapid Prototyping Using Fractal Geometry. 424-431.

[20] Swipman, J. W. (2010). Tkinter 8.4 Reference: a GUI for Python. Mexico: New M exico Tech.

[21] Team, T. E. (2006, February 20). Manual Pages. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/2.2/EM C2_M anual_Pages.pdf

[22] Team, T. E. (2011, January 11). Getting Started Guide V2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/EM C2_Getting_Started.pdf

[23] Team, T. E. (2011, January 11). HAL Manual 2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/HAL_User_M anual.pdf

[24] Team, T. E. (2011, December 9). Integrators Manual V2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/EM C2_Integrator_M anual.pdf

[25] Team, T. E. (2011, October 26). User Manual V2.4. Retrieved December 15, 2011, from LinuxCNC: http://www.linuxcnc.org/docs/EM C2_User_M anual.pdf

(36)

[26] Wannarumon, S. (2010). An Aesthetics Driven Approach to Jewelry Design. Computer-Aided Design & Applications, 489-503.

[27] Zammouri, I., & Ayeb, B. (2007). Fractal Shapes Description with Parametric L-systems and Turtle Algebra. World Academy of Science, Engineering and Technology 34.

Gambar

Tabel Hasil Pengujian Program  Jenis Fraktal  Hasil Pada Window Tkinter  Koch Curve  (n = 4)  Axiom:  F  Rule:  F→F+F– F–F+F  Box  (n = 3)  Axiom:  F-F-F-F  Rule:  F→FF-F-F-F-FF  Island And Lakes   (n = 2)  Axiom:  F+F+F+F  Rule:  F→F+f–  FF+F+FF+Ff+FF–  f
Tabel Hasil Pengujian Program Pada Mesin CNC  Jenis Fraktal  Hasil Pada Window Tkinter

Referensi

Dokumen terkait

Jika syarat materil dan formil terpenuhi nanti kami akan periksa dan mungkin akan panggil manajemen Bumi Putra dan pihak terkait yang berkaitan dengan asuransi sehingga

Badan Pemberdayaan masyarakat dan Pemerintahan Desa Kabupaten Pelalawan adalah unsur pelaksana pemerintah daerah yang mempunyai tugas pokok melaksanakan sebagian

Hal ini tentu akan membuat konsumen di tingkat tertinggi mendapatkan harga termurah atau bahkan mendapatkan keuntungan bila mengetahui cara mengolah jaringannya,

Sedangkan nilai stabilitas hasil penelitian dengan pelarut minyak tanah dibandingkan dengan nilai stabilitas hasil core drill, mengalami penurunan drastis hingga 85,58

Salah satu ciri yang melekat pada teknik ini adalah propagandis menggunakan sebutan-sebutan yang buruk atau sesuatu yang berkonotasi negatif terhadap lawan yang dituju

Tujuan penelitian ini adalah (1) inventarisasi data dan informasi yang dapat digunakan dalam identifikasi potensi LP2B, (2) melakukan identifikasi lahan pertanian

Rata-rata lama menginap tamu (RLMT) Asing dan Indonesia pada hotel berbintang di Sumatera Barat bulan Juli 2014 selama 1,62 hari, naik 0,03 hari bila dibandingkan

Hasil analisis penggunaan jalan berupa jumlah frekuensi lewatan pada jalan yang dilalui rute terpendek dari semua rumah ke masing-masing tempat tujuan pengguna (user) tersebut