OTOMASI ROBOT RV-M1 MENGGUNAKAN SISTEM PENGENALAN OBJEK Iman Herwidiana Kartowisastro1; Stanley Ardy Indranto2; Thomas Purnomo Sigit3; Edward Agustinus Rantung4 1
Jurusan Sistem Komputer, Fakultas Ilmu Komputer, Universitas Bina Nusantara, Jln. K.H. Syahdan No. 9, Kemanggisan, Palmerah, Jakarta Barat 11480
[email protected]
ABSTRACT Robot RV-M1 uses object recognition system and basic of robotic theory and matlab program in the mechanical design. Object recognition technology is one of technology that using computer system to recognize the shape of an object. This system works based on data which had been programmed in robot RV-M1 using Cosiprog. The data can be changed as we need. By using data references that had been in the robot and robot recognition system, the system will start taking picture of the object through a camera; the result will be processed by a PC Vision Station and will be recognized. PC Vision Station will give inputs to switch circuit to be processed so it can communicate with RV-M1 robot and the robot will take and bring the object to the desired place. Keywords: Object recognition system, MATLAB, robot RV-M1, parallel communication.
ABSTRAK Otomasi robot RV-M1 menggunakan sistem pengenalan objek dan menggunakan prinsip dasar teori robotika dan program matlab dalam perancangan mekanisnya. Teknologi pengenalan obyek merupakan salah satu teknologi yang memampukan suatu sistem komputer untuk dapat mengenali suatu bentuk obyek. Perangkat ini bekerja berdasarkan data yang telah diprogram pada robot RV-M1 yang menggunakan bahasa pemrograman Cosiprog. Dengan referensi data yang sudah ada pada robot dan sistem pengenal objek, maka perangkat ini akan mulai mengambil gambar objek melalui kamera yang hasil pengambilan gambarnya akan diproses oleh PC Vision Station dan dikenali. PC Vision Station kemudian akan memberikan input ke rangkaian switch untuk selanjutnya diproses agar dapat berkomunikasi dengan robot RV-M1, kemudian robot akan mulai mengambil objek yang dikenali dan memindahkan objek ke tempat yang kita inginkan. Kata kunci: Sistem pengenal obyek, Matlab, robot RV-M1, komunikasi paralel.
Otomasi Robot RV-M1… (Iman Herwidiana Kartowisastro; dkk)
77
PENDAHULUAN Konsep Robotika Definisi robot menurut Robotics Industries Association (RIA), yaitu “Sebuah robot yang dapat deprogram ulang, memiliki fungsi yang banyak, manipulator yang dirancang untuk memindahkan material, benda atau barang-barang tertentu”. Secara umum dalam sebuah sistem robot, baik itu robot industri maupun robot service, terdapat empat bagian yang perlu diperhatikan, yaitu manipulator, actuator, controller dan sensor. Selain itu robot juga memiliki beberapa komponen utama, yaitu lengan robot, komputer induk (host computer) dan keypad (teach pendant). Pada bagian lengan robot memiliki tiga derajat kebebasan, yaitu waist, shoulder, dan elbow. Sedangkan secara mekanis lengan robot terbagi atas dua bagian utama, yaitu link (bagian dari lengan) dan joint (merupakan titik pertemuan dari dua link). Jenis klasifikasi robot yang digunakan dalam otomasi robot RV-M1 menggunakan sistem pengenalan objek adalah jenis fix robot, yang memiliki lima derajat kebebasan.
Mekatronika Robot atau robotika merupakan salah satu sub bidang ilmu dari mechatronics (mekatronika), yaitu suatu bidang ilmu yang mempelajari sistem yang memiliki komponen mekanik dan elektronik. Dengan perkembangan komputerisasi yang semakin tinggi, sistem mekatronik dapat menghasilkan mesin dengan intelegensi tinggi. Mekatronika sebenarnya terdiri dari beberapa disiplin ilmu, yang diantaranya meliputi matematika, mekanika, elektronika, sistem kontrol atau pengendalian, dan informatika. Mekatronika mempelajari pergerakkan robot melalui dua pendekatan, yaitu pendekatan kinematik dan pendekatan dinamik. Pendekatan kinematik dari suatu robot berhubungan dengan deskripsi analitik dari pergerakkan robot di dalam ruang yang merupakan fungsi dari waktu, dengan tidak memperhatikan gaya ataupun momen yang menyebabkan pergerakkan tersebut. Pendekatan kinematik juga membahas hubungan antara joint variable space dengan posisi dan orientasi dari end effector suatu robot. Sedangkan pendekatan dinamik berhubungan dengan rumusan matematika yang memiliki persamaan dengan pergerakkan robot.
Relai Relai adalah saklar yang digerakkan secara elektronik dengan memberikan suplai tegangan yang besarnya ditentukan pada lilitan kawat sehingga terjadi medan magnet yang akan menaruh plat seng internal dan akan mengakibatkan saklar bekerja. Jenis-jenis relai yaitu relai lidi dan relai konvensional. Relai lidi memiliki suatu saklar kontak didalam tabung gelas yang dililitkan kumparan. Relai ini dapat digerakkan dengan arus yang kecil (10..30 mA, tergantung pada banyaknya lilitan kumparan). Sementara relai konvensional terdiri dari beberapa mekanik yang dapat bergerak jika kumparan dialiri arus listrik. Arus yang dibutuhkan untuk menggerakkan relay ini cukup besar yaitu berkisar 500 mA. Relai konvensional mempunyai beberapa macam, yaitu SPST (Single Pole Single Throw), memiliki satu masukan dan satu keluaran; SPDT (Single Pole Double Throw), memiliki satu masukan dan dua keluaran; dan DPDT (Double Pole Double Throw), memiliki dua masukan dan dua keluaran.
78
Jurnal Teknik Komputer Vol. 18 No.1 Februari 2010: 77 - 87
Pemrograman MATLAB MATLAB adalah bahasa pemrograman tingkat tinggi yang berbasiskan pada matriks dan digunakan untuk perhitungan secara teknik yang digunakan dalam bentuk matriks. Di dalamnya juga terdapat kemampuan perhitungan, visualisasi, dan pemrograman dalam suatu lingkaran yang mudah untuk digunakan karena permasalahan dan pemecahannya dalam notasi matematika biasa. Kegunaan MATLAB secara umum adalah untuk (1) matematika dan komputasi; (2) pengembangan algoritma; (3) pemodelan, simulasi dan pembuatan prototype; (4) analisis data, eksplorasi, dan visualisasi; (5) pembuatan aplikasi, termasuk pembuatan antarmuka grafis. MATLAB adalah sistem interaktif dengan elemen dasar basis data array yang dimensinya tidak perlu dinyatakan secara khusus. Hal ini memungkinkan untuk memecahkan banyak masalah perhitungan teknik, khususnya yang melibatkan matriks dan vektor dengan waktu yang lebih singkat dari waktu yang dibutuhkan untuk menulis program bahasa C atau FORTRAN.
Perancangan Modul Elektronik Perancangan Sistem Perancangan sistem ini dibangun sebagai salah satu bagian program penelitian bidang Ilmu Robotika dan Otomatisasi Fakultas Ilmu Komputer Jurusan Sistem Komputer BINUS University. Tujuan dari program ini adalah memaksimalkan utilisasi perangkat di laboratorium robotika dan memperkenalkan kegiatan robot vision secara lebih nyata (praktikal). Salah satu rumusan masalahnya adalah membangun robot manufacturing cell menggunakan robot RV-M1 untuk melakukan kegiatan pemindahan barang atau objek dipadu dengan modul Vision Inspection System sebagai bagian dari proses description dan recognition dari objek tersebut. Berikut ini merupakan gambar sistem yang dirancang (Gambar 1):
Gambar 1 Perangkat Sistem Pengenal Objek, Switch, dan Robot RV-M1
Pada perancangan sistem ini, terdiri dari dua rancang sistem dan sebuah perangkat pendukung. Rancangan sistem yang dibangun adalah Perangkat Sistem Pengenal Objek dan Perangkat Sistem Robot RV-M1. Sedangkan perangkat pendukung berupa rangkaian switch yang berfungsi sebagai penghubung antara perangkat Sistem Pengenal Objek dan perangkat sistem robot RV-M1. Berikut ini merupakan diagram blok sistem dari perancangan sistem.
Otomasi Robot RV-M1… (Iman Herwidiana Kartowisastro; dkk)
79
Gambar 2 Diagram Blok Sistem
Perancangan Sistem Pengenal Objek Sistem Pengenal Objek memiliki peranan sebagai proses pengenalan (recognition) suatu bentuk objek dan sebagai pemberi sinyal masukkan bagi Robot RV-M1 untuk melakukan proses lebih lanjut. Web Cam
Obyek
Komputer Lampu
Gambar 3. Perangkat Sistem Pengenal Objek
Sistem Pengenal Objek terdiri dari perangkat Image Acquisition dan PC Vision Station (komputer). Perangkat Image Acquisition merupakan perangkat yang terdiri dari meja kaca tempat objek dikenali, 2 buah lampu sebagai pencahayaan objek, dan sebuah webcam untuk mengambil citra objek yang akan dikenali. Sedangkan PC Vision Station merupakan sebuah perangkat komputer yang berfungsi untuk memproses objek sehingga dapat dikenali. PC Vision Station dalam proses pengenalan objek menggunakan program Matlab. Program Matlab akan memproses objek menggunakan citra yang diterimanya melalui webcam yang terhubung dengan USB (Universal Serial Bus) port. Kemudian hasil pengenalan objek tersebut akan ditampilkan pada interface komputer dan datanya akan dikirim melalui output paralel (LPT1) ke rangkaian switch untuk selanjutnya diproses agar dapat terhubung dengan Robot RV-M1.
80
Jurnal Teknik Komputer Vol. 18 No.1 Februari 2010: 77 - 87
Perancangan Rangkaian Switch Rangkaian switch merupakan perangkat tambahan yang dibutuhkan untuk menghubungkan perangkat sistem pengenal objek dan perangkat sistem robot RV-M1. Keberadaan rangkaian switch diperlukan dalam perancangan sistem ini mengingat kedua sistem memiliki tegangan input atau output yang berbeda. Pada sistem pengenal objek, data output yang dikeluarkan melalui port paralel (LPT1) memiliki tegangan maksimal 5 volt. Data tersebut kemudian akan menjadi sinyal input bagi Drive Unit Robot RV-M1 sehingga dapat menggerakkan lengan robot RV-M1 sesuai dengan informasi sinyal input yang diberikan. Sedangkan tegangan yang digunakan dalam drive unit tersebut antara 12-24 volt. Oleh karena itu, rangkaian switch dapat menjembatani kesenjangan perbedaan kedua tegangan tersebut; yaitu dengan cara men-switch tegangan output dari port paralel PC vision station yang sebesar 5 volt menjadi tegangan dengan keluaran sekitar 12-24 volt; sehingga dapat menghasilkan sinyal keluaran yang sesuai dengan tegangan yang digunakan oleh driver unit.
Gambar 4 Rangkaian Switch
Seperti yang dapat dilihat pada Gambar 4, rangkaian switch bekerja seperti halnya sebuah relai yang membutuhkan sebuah sinyal agar dapat bekerja. Bila tidak ada sinyal sebagai input, maka rangkaian ini tidak akan bekerja. Pada rangkaian switch digunakan 3 (tiga) buah relai yang masing-masing dihubungkan dengan salah satu pin pada port I / O drive unit. Ketiga relai yang ada tidak boleh aktif secara bersamaan karena akan mempengaruhi kerja drive unit dalam mengecek bit yang aktif. Rangkaian switch membutuhkan sebuah input yang dikirim dari PC Vision Station yang berupa sebuah tegangan sebesar 5 volt. Setelah PC Vision Station dikirimkan sinyal, maka tegangan tersebut akan mengaktifkan transistor dan melewati dioda yang berfungsi sebagai penyearah arus. Setelah itu relai akan menerima tegangan sebesar 6,93V dan mengaktifkan relai tersebut. Setelah relay aktif maka relai akan mengirimkan tegangan VCC sebesar 17,56V yang diambil dari I / O eksternal ke pin yang terhubung dengan relai tersebut. Tegangan ini nantinya
Otomasi Robot RV-M1… (Iman Herwidiana Kartowisastro; dkk)
81
akan mengaktifkan salah satu bit yang ada pada port I / O drive unit. Setelah salah satu bit pada port I / O Drive Unit aktif, maka robot akan manjalankan program yang ada pada bit yang aktif. Pada pararel port (LPT 1) pin yang digunakan adalah pin nomor 2,3, dan 4. Sedangkan pada port pararel drive unit yang digunakan adalah pin nomor 23,24,25,47,48,49, dan 50.
Perancangan Sistem Robot RV-M1
Gambar 5 Perangkat Robot RV-M1
Sistem Robot RV-M1 terdiri dari sebuah PC Pengendali Robot RV-M1 (komputer), Drive Unit, dan Lengan Robot RV-M1. Sistem Robot RV-M1 memapukan sistem untuk dapat berinteraksi secara langsung dengan objek benda. PC Pengendali Robot RV-M1 merupakan sebuah perangkat komputer yang digunakan untuk memberikan perintah kepada robot. Bahasa pemrograman yang digunakan adalah Cosiprog. Melalui PC Pengendali robot dapat diprogram untuk melakukan aktivitas atau pergerakan tertentu sesuai dengan tujuan yang diinginkan. Drive unit merupakan processor bagi lengan robot RV-M1. Di mana fungsinya adalah menerjemahkan perintah yang diprogram melalui Cosiprog menjadi logika-logika analog yang dapat menggerakkan lengan robot RV-M1. Drive unit memiliki sebuah port I / O eksternal yang dapat mengeksekusi perintah tertentu untuk melakukan pergerakan tertentu dari Cosiprog. Port I / O eksternal ini yang kemudian akan menjadi penghubung dengan sistem pengenal objek menggunakan rangkaian switch sebagai perantara antara kedua sistem. Lengan robot RV-M1 merupakan perangkat keras yang berhubungan langsung dengan objek. Di mana proses pengambilan, pemindahan, dan peletakan objek terjadi di sini. Lengan robot RV-M1 merupakan lengan yang memiliki 2 gripper untuk menjepit benda. Proses yang dilakukan dalam sistem ini adalah bergerak menuju objek, mengambil objek yang bersangkutan, mengambil objek tersebut, dan kemudian memindahkan ke tempat yang telah ditentukan.
82
Jurnal Teknik Komputer Vol. 18 No.1 Februari 2010: 77 - 87
Gambar 6 Gripper Robot RV-M1
Sistem robot RV-M1 berfungsi untuk melakukan kegiatan pemindahan benda atau objek berdasarkan hasil dari Vision Inspection System (Sistem Pengenal Objek) seperti yang telah diketahui sebelumnya; sistem robot RV-M1 terdiri dari sebuah perangkat komputer, drive unit, dan sebuah perangkat keras lengan robot RV-M1 untuk dapat melakukan interaksi secara langsung dengan objek. Untuk memampukan robot RV-M1 melakukan berbagai aktivitas dan proses pemindahan benda atau objek, dibutuhkan tahap-tahap proses atau instruksi-instruksi proses pergerakan robot yang diprogram menggunakan Cosiprog melalui komputer. Instruksi ini berisi tahap-tahap atau fase yang harus dilakukan robot dengan melalui beberapa koordinat pergerakkan atau posisi yang telah diset sebelumnya (menggunakan teaching box) untuk mencapai tujuannya. Diagram alir Sistem Robot RV-M1 dijelaskan pada Gambar 7:
Gambar 7 Diagram Alir Sistem Robot RV-M1
Dari flowchart di atas (Gambar 7) dapat diketahui bahwa setelah program yang dibuat dikirim ke Drive Unit maka program pergerakkan robot akan dimulai. Pertama-tama robot akan bergerak menuju posisi Nest atau posisi awal robot. Setelah itu robot akan bergerak ke posisi Lengan robot Stand By. Setelah robot berada pada posisi stand by maka robot akan mengecek bit input dari I/O eksternal yang aktif (bit0 – bit7). Pertama-tama, robot akan mengecek bit ke-0,
Otomasi Robot RV-M1… (Iman Herwidiana Kartowisastro; dkk)
83
apabila bit ke-0 tersebut dalam posisi high atau bernilai 1 (satu), robot akan bergerak mengambil obyek dan meletakkannya ke posisi C. Sedangkan apabila bit ke-0 dalam posisi low atau bernilai 0 (nol), maka robot akan melanjutkan program ke alamat selanjutnya. Di alamat selanjutnya robot akan mengecek bit ke-1: apabila bit ke-1 tersebut dalam posisi high atau bernilai 1 (satu), robot akan bergerak mengambil obyek dan meletakkannya ke posisi D. Sedangkan apabila bit ke-1 dalam posisi low atau bernilai 0 (nol), maka robot akan melanjutkan program ke alamat selanjutnya. Di alamat selanjutnya robot akan mengecek bit ke-2, apabila bit ke-2 tersebut dalam posisi high atau bernilai 1 (satu), robot akan melakukan gerakan buka tutup gripper. Sedangkan apabila bit ke-2 dalam posisi low atau bernilai 0 (nol), maka robot akan melanjutkan program ke alamat berikutnya. Apabila ketiga bit tersebut (0, 1, dan 2) tidak ada yang aktif, maka robot akan begerak kembali ke posisi stand by. Berikut merupakan tabel aktivasi Robot RV-M1 terhadap Sistem Pengenal Objek dan interaksinya dengan objek yang bersangkutan.
Perancangan Perangkat Lunak Sistem Pengenal Objek memiliki fungsi untuk mengenali bentuk objek yang diletakan dalam media pengenal objek (image acquisition). Setelah objek diletakkan dalam media pengenal objek dan Sistem Pengenal Objek yang menggunakan bahasa pemerogram MATLAB, diaktifkan dengan menggunakan tombol preview. Maka, Sistem Pengenal Objek siap digunakan untuk proses pengenalan objek. Berikut ini flow chart dari keseluruhan sistem.
IMPLEMENTASI DAN ANALISIS Implementasi sistem dilakukan dengan mengadakan uji coba sistem pengenalan obyek yang telah dikembangkan dan diintegrasikan dengan robot RV-M1. Tujuannya adalah mengembangkan robot RV-M1 supaya dapat melakukan kegiatan pemindahan barang atau objek dipadu dengan modul Sistem Pengenal Objek. Untuk memulai implementasi sistem, proses awal yang dilakukan adalah menjalankan rancang sistem Robot RV-M1 yang telah tersedia dengan meload program Cosiprog ke drive unit melalui komputer. Drive unit kemudian akan menerima input dari rangkaian switch yang dihubungkan dengan port paralel (LPT1) dari Sistem Pengenal Objek. Rangkaian switch juga dihubungkan dengan perangkat I / O eksternal dan power supply. Tabel 1 Aktivitas Sistem dan Interaksi Objek Sistem Pengenal Objek Sistem Robot RV-M1
Objek
Conculsion (sudut)
Data (LPT1)
Segitiga
Triangle (3) Square (4) Hexagonal (6)
1000 0000 0100 0000 0010 0000
Objek Not Indentified Objek Not Indentified
--none--
-none-
Take Object (Response) Take Object (Response) Open-Close Gripper (Response) No Response
--none--
-none-
No Response
Kotak Segienam
None Unknown Objek
84
Switch / Bit Data 1 / (+0) 2 / (+1) 3 / (+2)
Hasil akhir Objek Pos. C Pos D No Process No Process No Process
Jurnal Teknik Komputer Vol. 18 No.1 Februari 2010: 77 - 87
Gambar 8 Diagram Alir Sistem Pengenalan Objek
Selanjutnya pada rancang Sistem Pengenal Objek, komputer yang terdapat program MATLAB dihubungkan dengan webcam melalui port USB. Webcam akan mengambil citra objek dari meja Pengenal Objek. Proses pengenalan objek dilakukan menggunakan dua sistem pencahayaan (Gambar 9), yaitu pencahayaan dari bawah meja (a) dan pencahayaan dari bawah dan atas meja (b).
Gambar 9 Pencahayaan Bawah Meja (a) dan Pencahayaan Ruangan (b)
Pada Tabel 2 merupakan hasil percobaan Pengenalan Objek pencahayaan dari bawah meja menggunakan objek solid berwarna hitam. Tanda (3) menandakan objek berhasil dikenali dan (2) berarti objek tidak berhasil dikenali atau salah pengenalan.
Otomasi Robot RV-M1… (Iman Herwidiana Kartowisastro; dkk)
85
Tabel 2 Percobaan Pengenalan Objek Pencahayaan Bawah Meja Objek Solid Hitam Percobaan Ke1 2 3 4 5
Segitiga 900 1800 3 3 3 3 3 3 3 3 3 2
00 3 3 3 3 3
2700 3 3 3 3 3
00 3 3 3 3 3
Kotak 900 1800 3 3 3 3 3 3 3 3 3 3
2700 3 3 3 3 3
Segienam 900 1800 3 2 3 3 3 3 3 3 3 3
00 3 3 3 2 3
2700 3 3 2 3 3
Selanjutnya, Tabel 3 merupakan hasil percobaan Pengenalan Objek dengan menggunakan pencahayaan dari bawah dan atas meja (pencahayaan ruangan) menggunakan objek solid berwarana hitam. Tabel 3 Percobaan Pengenalan Objek Pencahayaan Ruangan Objek Solid Hitam Percobaan Ke1 2 3 4 5
00 3 3 3 3 3
Segitiga 900 1800 3 3 3 3 3 3 3 3 3 3
2700 3 3 2 3 3
00 3 3 3 3 3
900 3 3 3 3 3
Kotak 1800 3 2 3 3 3
2700 3 3 3 3 3
00 3 3 2 3 3
Segienam 900 1800 3 3 3 3 3 3 3 3 3 3
2700 2 2 3 3 3
Spesifikasi Sistem Spesifikasi sistem yang dirancang adalah dengan (1) mengenali 3 bentuk dasar obyek (segitiga, segiempat, dan segienam); (2) mengambil dan memindahkan 3 bentuk dasar obyek tersebut ke tempat yang telah ditentukan; (3) Resolution 320 x 240 pixel hitam/putih (Logitech Quickcam 8.3.1); (4) program MATLAB versi 7; (5) program Cosiprog; (6) komunikasi paralel port printer PC (LPT1) ke drive unit robot RV-M1.
PENUTUP Dari hasil penelitian ini didapat beberapa kesimpulan. Pertama, bahwa kondisi pencahayaan, bentuk obyek, besar obyek, posisi kamera, dan jarak kamera mempengaruhi proses pengenalan obyek. Kemudian, kondisi pencahayaan yang paling baik untuk proses pengenalan obyek adalah pencahayaan yang merata pada seluruh permukaan obyek dan sekitar obyek. Warna obyek dan posisi obyek yang diputar dengan sudut tertentu (0°, 90°, 180°, dan 270°) tidak mempengaruhi proses pengenalan obyek. Nilai Brigthness yang paling baik adalah 128. Drive unit membutuhkan tegangan sebesar 17,56V yang memiliki synchronize signal dengan tegangan I/O eksternal. Port I/O eksternal Drive Unit memiliki 16 buah pin input yang dapat digunakan untuk mengkontrol robot. Untuk pengembangan penelitian ini, diharapkan dibuatnya sebuah sistem yang memungkinkan robot untuk dapat mengetahui posisi benda (x,y) dengan penambahan sensor pada meja atau dengan penambahan perangkat lain yang memungkinkan. Selain itu, perlu juga untuk melakukan analisis lebih dalam pada program Matlab agar memungkinkan sistem berjalan secara kontinu (looping) untuk meningkatkan otomasi. Penelitian selanjutnya juga diharapkan dapat menganalisis lebih dalam pada drive unit khususnya pada bagian Centronics connector dan RS232C connector agar dapat melakukan komunikasi dengan cara lain, tanpa alat perantara.
86
Jurnal Teknik Komputer Vol. 18 No.1 Februari 2010: 77 - 87
DAFTAR PUSTAKA FU, K.S., Gonzales, R.C., Lee, C.S.G. (1987). Robotics. McGraw-Hill. Singapore. Gonzales, R.C., Wintz, P. (1987). Digital Image Processing, second edition. Addison Wesley Publishing Company. Gonzales, Rafael C. (1986). Tutorial on Robotic, second edition. IEEE Computer Society. Washington D.C. Marco, dkk. (2000). Sistem Pengenal Objek Berbasiskan PC. Skripsi S1. Universitas Bina Nusantara. Jakarta. Marteus, dkk. (2004). Pengenalan Obyek Berkonsep Binary Image. Skripsi S1 Universitas Bina Nusantara. Jakarta. Mitsubishi Electric Corporation.(1994). Safety Manual Industrial Micro-Robot System model RVM1. Mitsubishi. The Math Works. (2002). Image Processing Toolbox: For Use With Matlab.
Otomasi Robot RV-M1… (Iman Herwidiana Kartowisastro; dkk)
87