BAB 3 PERANCANGAN SISTEM 3.1 Metode Perancangan Perancangan sistem didasarkan pada teknologi computer vision yang menjadi salah satu faktor penunjang dalam perkembangan dunia pengetahuan dan teknologi, terutama dalam bidang ilmu pengetahuan robotika maupun perindustrian. Berdasarkan tujuan dan ruang lingkup sebagaimana disampaikan pada bab 1, maka metode perancangan yang dilakukan adalah : 1. Melihat dan menganalisa sistem yang akan dikembangkan secara umum. 2. Mempertimbangkan robot platform yang dibutuhkan oleh sistem yang akan dikembangkan. 3. Mempertimbangkan sensor yang akan digunakan. 4. Mempertimbangkan bahasa pemrograman yang akan digunakan. 5. Perancangan algoritma dari sistem yang akan dikembangkan beserta kalibrasi yang dibutuhkan. Dengan mempelajari penelitian sebelumnya yang berupa simulasi robot Mitsubishi MovemasterEX RV-M1 dengan 4 derajat kebebasan (Karyanto Chandra, 29
30 Gunawan, dan Wihardi, 2003), maka penelitian yang akan dilakukan sekarang disesuaikan dengan sistem pada penelitian sebelumnya. Pada penelitian sebelumnya yang dilakukan oleh Karyanto Chandra, Gunawan, dan Wihardi dengan judul Simulasi Kinematika Robot Mitsubishi RV-M1, tahun 2003, kinematik yang digunakan pada simulasi memiliki perbedaan di bagian inverse kinematics dengan kinematik sesungguhnya pada robot Mitsubishi MovemasterEX RV-M1, sehingga penelitian yang dilakukan sekarang tidak menggunakan kinematik robot RV-M1 yang ada pada simulasi, melainkan langsung melakukan pengiriman posisi ke Drive Unit robot RV-M1 itu sendiri. Inverse kinematics yang ada pada penelitian sebelumnya digunakan untuk mensimulasikan pergerakan lengan robot pada penelitian yang dilakukan sekarang sehingga dapat diperkirakan pergerakkan robot agar tidak tertabrak atau membentur lingkungan di sekitar robot. Dengan metode perancangan yang akan dilakukan ini, penelitian diharapkan akan terstruktur dan sistematis sehingga keseluruhan sistem berjalan sesuai dengan tujuan dan ruang lingkup seperti yang telah disampaikan pada bab 1. 3.2 Sistem secara umum Gambaran sistem secara umum yang akan dikembangkan terdiri dari robot, kamera dan komputer dimana masing-masing komponen saling terintegrasi sehingga membentuk suatu sistem object positioning.
31 Gambar 3.1 Blok diagram sistem secara umum Sistem yang dimaksud adalah sistem dimana robot dapat menemukan posisi objek yang ditaruh pada sebuah penampang atau workspace sehingga robot dapat menyesuaikan posisi end effector dari robot tersebut dengan posisi objek yang berada pada penampang tersebut. Blok diagram sistem secara umum dapat dilihat pada gambar 3.1 sedangkan gambaran umum sistem dapat terlihat pada gambar 3.2. Gambar 3.2 Perancangan Sistem secara umum
32 Dengan melihat sistem secara umum, penelitian difokuskan pada respon sistem terhadap ketepatan posisi end effector terhadap objek, variasi bentuk benda, dan efek iluminasi cahaya dalam ruangan. Dengan demikian, dibutuhkan adanya data-data yang sesuai dengan ruang lingkup untuk mendukung penelitian yang akan dilakukan. 3.3 Robot Platform Dalam menentukan robot platform, terdapat hal-hal yang menjadi pertimbangan dimana robot yang digunakan harus dapat bergerak dalam ruang 3 dimensi dan memiliki minimal 3 derajat kebebasan sehingga robot dapat bergerak sesuai dengan sistem yang dibutuhkan yaitu dapat menghampiri objek yang diletakkan pada suatu bidang. Robot Mitsubishi MovemasterEX RV-M1 digunakan karena sistem membutuhkan pergerakkan robot dalam ruang 3 dimensi dan karena pada penelitian sebelumnya telah dilakukan simulasi untuk pergerakkan dan kinematik dari robot Mitsubishi MovemasterEX RV-M1 yang dilakukan oleh Karyanto Chandra, Gunawan, dan Wihardi, 2003, maka sedapat mungkin penelitian ini menggunakan robot yang sudah ada di laboratorium Computer Engineering universitas Bina Nusantara seperti yang terlihat pada gambar 3.3 dan 3.4 sehingga penelitian ini mencoba untuk menerapkan teknologi computer vision pada robot RV-M1 dimana robot RV-M1 tersebut dapat bergerak menuju posisi dari objek yang terdeteksi
33 dengan kondisi cahaya tertentu. Sedangkan, bila membuat robot sendiri akan memakan waktu, biaya tambahan dan hasilnyapun mungkin tidak memuaskan. Dengan menggunakan robot yang sudah ada maka masalah biaya dapat teratasi, sedangkan waktu yang harusnya digunakan dalam pembuatan robot dialihkan untuk mencari informasi penggunaan robot yang sudah ada pada laboratorium Computer Engineering Universitas Bina Nusantara yaitu Mitsubishi MovemasterEX RV-M1 yang dapat dilihat pada gambar 3.3 dan gambar 3.4. Manfaat dari penelitian ini diharapkan sistem dapat menemukan posisi dari objek yang terdeteksi/tertangkap kamera, sehingga robot dapat menjangkau objek tersebut. Sistem ini juga dapat diterapkan pada lengan robot dalam pabrik untuk menemukan objek yang akan dipindahkan atau untuk proses lainnya. Gambar 3.3 Robot Arm Mitsubishi MovemasterEX RV-M1
34 Gambar 3.4 Drive Unit Mitsubishi MovemasterEX RV-M1 Sistem Kendali RV-M1 Dalam sistem, Robot RV-M1 berkomunikasi dengan PC secara serial dimana data akan dikirimkan melalui drive unit robot RV-M1 sebagai penghubung antara PC dengan robot RV-M1, sehingga pada program, harus menginisialisasi serial agar dapat digunakan. Setelah serial di-insialisasi, robot RV-M1 dapat digerakkan dengan memberikan perintah dengan format yang dapat diterima oleh robot RV-M1 tersebut. Format perintah yang digunakan dalam sistem sebagai berikut: NT : digunakan untuk menggerakkan robot RV-M1 ke posisi NEST. OG : digunakan untuk menggerakkan robot RV-M1 ke posisi ORIGIN SP : digunakan untuk mengatur kecepatan gerak robot RV-M1. MP : digunakan untuk menggerakkan robot RV-M1 ke posisi yang diinginkan, dengan mengirimkan koordinat dan orientasi end effector.
35 *Posisi NEST dan ORIGIN merupakan posisi yang telah tersimpan pada drive unit dari RV-M1 itu sendiri. Contoh pengiriman format perintah serial: fprintf(s,'%s\r\n','nt') fprintf(s,'%s\r\n','og') fprintf(s,'%s\r\n','mp 0,300,300,-90,0') 3.4 Sensor Pada sistem yang akan dibuat, kamera yang digunakan adalah kamera web biasa yang menggunakan kabel USB seperti gambar 3.5 sehingga kamera dapat langsung terhubung ke komputer tanpa diperlukan adanya perangkat keras lainnya untuk menghubungkan kamera dengan komputer. Gambar 3.5 Kamera web
36 Gambar 3.6 Kamera web dengan bracket yang dapat dibongkar-pasang Pada perancangan pemasangan kamera, untuk dapat dipasangkan pada robot RV-M1, maka dibuat bracket seperti yang terlihat pada gambar 3.6, kemudian kamera web yang digunakan akan dipasang tepat pada ujung end effector seperti yang terlihat pada gambar 3.7 dan 3.8. Gambar 3.7 Peletakkan kamera pada ujung end effector tampak samping
37 Gambar 3.8 Peletakkan kamera pada ujung end effector tampak depan Pada perancangan algoritma, sebelum dilakukan pengembangan, dilakukan pengambilan data berupa nilai offset antara gambar yang terdapat pada kamera dengan posisi sesungguhnya dari objek terdeteksi, dimana idealnya, kamera yang tepat berada di atas objek, maka objek yang terdeteksi seharusnya tepat berada ditengah view area (wilayah yang terlihat oleh kamera). Selain melakukan pengambilan data nilai offset view area dengan posisi sesungguhnya objek, juga dilakukan pengambilan data ukuran dari view area yang terlihat oleh kamera pada tingkat ketinggian-ketinggian tertentu. Pengambilan data ini dilakukan untuk menentukan toleransi yang akan digunakan sistem sehingga error yang ada dapat dikendalikan dengan toleransi yang sudah diatur dengan memperhatikan data-data offset yang telah diambil. Berikut merupakan tabel data nilai offset dan view area yang diambil sebagai bagian dari proses perancangan untuk menentukan toleransi yang digunakan:
38 Tabel 3.1 View area dari kamera dengan ketinggian-ketinggian tertentu dimana x adalah arah horisontal dan y adalah arah vertikal. percoba View area an Z= 300 mm Z= 250 mm Z= 200 mm Z= 150 mm Z= 100 mm x y x y X y x Y x y 1 23.1 17.1 18.8 14.2 14.8 11.2 10.8 7.6 6.7 5.4 2 23 17 19 14.1 14.9 11.1 10.6 8 6.7 5.1 3 23 17.1 19 14.1 15 11.1 10.8 8 6.7 5.4 4 23 16.9 18.9 14 14.8 11.1 10.7 7.8 6.8 5.3 5 22.9 17.2 18.9 14 14.9 11 10.8 7.8 6.7 5.4 6 23.1 17 18.8 14.2 14.8 11.1 10.7 7.8 6.6 5.3 7 23 16.9 18.9 14 14.9 11 10.8 7.8 6.8 5.2 8 23 17.1 18.8 14.2 14.8 11.1 10.8 7.8 6.7 5.4 9 23.1 17.1 18.9 14 14.8 11.1 10.6 8 6.8 5.4 10 22.9 17 19 14.1 14.9 11 10.7 7.9 6.8 5.3 ratarata 23.01 17.04 18.9 14.09 14.86 11.08 10.73 7.85 6.73 5.32 Pengambilan data seperti yang ada pada tabel 3.1 digunakan untuk mengetahui panjang dan lebar gambar yang dapat ditangkap oleh kamera pada ketinggian tertentu. Hal ini dilakukan karena view area dari kamera perlu diobservasi untuk mengetahui kemampuan kamera dalam menangkap objek pada ketinggian tersebut sehingga dapat diperkirakan apakah objek tertangkap kamera saat berada di titik tertentu. Selain itu view area juga perlu diketahui untuk melakukan konversi nilai titik pusat massa yang didapat dalam satuan pixel ke satuan milimeter. Konversi berguna untuk pengiriman data yang dikirimkan berupa posisi dalam format milimeter sehingga satuan pengukuran yang digunakan disamakan, dan konversi ini dilakukan juga untuk memudahkan konversi nilai titik pusat massa objek dari pixel kedalam milimeter.
39 Tabel 3.2 View angle dari kamera dengan ketinggian-ketinggian tertentu dimana x adalah panjang dan y adalah lebar (satuan dalam derajat). Percobaan View Angle ke Z = 300 mm Z = 250 mm Z = 200 mm Z = 150 mm Z = 100 mm x y x y x y x y x y 1 45.12 34.19 44.81 34.59 45.15 34.93 45.75 33.07 46.49 38.19 2 44.95 34.00 45.24 34.36 45.42 34.63 44.99 34.71 46.49 36.21 3 44.95 34.19 45.24 34.36 45.70 34.63 45.75 34.71 46.49 38.19 4 44.95 33.81 45.03 34.13 45.15 34.63 45.37 33.89 47.10 37.53 5 44.77 34.38 45.03 34.13 45.42 34.34 45.75 33.89 46.49 38.19 6 45.12 34.00 44.81 34.59 45.15 34.63 45.37 33.89 45.86 37.53 7 44.95 33.81 45.03 34.13 45.42 34.34 45.75 33.89 47.10 36.87 8 44.95 34.19 44.81 34.59 45.15 34.63 45.75 33.89 46.49 38.19 9 45.12 34.19 45.03 34.13 45.15 34.63 44.99 34.71 47.10 38.19 10 44.77 34.00 45.24 34.36 45.42 34.34 45.37 34.30 47.10 37.53 rata-rata 44.96 34.08 45.03 34.34 45.31 34.58 45.48 34.09 46.67 37.66 Melalui percobaan view area pada perancangan dapat dihitung view angle (sudut pandang) dari kamera yang dapat dilihat pada tabel 3.2 sehingga dapat dijadikan sebagai acuan untuk pergerakkan robot ketika tidak ada objek yang terdeteksi oleh kamera pada saat pertama kali mengambil gambar.
40 Tabel 3.3 Offset antara gambar yang ditangkap kamera dengan posisi objek sesungguhnya (satuan dalam pixel). percoba Offset ( satuan pixel) an ke Z= 300 mm Z= 250 mm Z= 200 mm Z= 150 mm Z= 100 mm x y x y x y x y x y 1-8.7126-0.7072-11.3232 1.9073-11.418 4.615-13.0505 6.3845-18.9502 7.9983 2-5.2933-6.5201-4.5918-9.0017-3.9141-7.6026-4.4741-7.8976-5.5624-3.5974 3-18.6325-0.2369-18.6413-1.5723-18.6294-1.5774-21.8499 2.2831-30.9726 4.2991 4-6.0298-4.8525-5.2399-6.8013-4.5032-5.802-4.8682-5.6139-7.6618-1.7075 5-6.4202-2.2669-6.4035-3.9198-4.7608-1.9772-5.2122-0.8022-8.935 1.6572 6-6.4931-7.9753-5.648-10.2012-5.1166-9.0277-5.8087-9.4298-8.6097-4.6837 7-8.8251-2.0534-8.129-4.2966-7.6638-2.3513-8.4066-1.7415-12.8315 1.0102 8-10.7075-3.0107-10.6763-5.1483-10.6184-4.134-12.0792-3.2142-16.9858 1.4732 9-5.9444-4.164-5.1274-5.8781-4.4014-4.7512-4.8264-4.0115-8.3417-0.7618 10-7.3687 2.9561-6.6683 1.7957-6.4208 3.2936-7.3228 5.7484-13.4059 7.2856 ratarata -8.44272-2.88309-8.24487-4.31163-7.74465-2.93148-8.78986-1.82947-13.2256 1.29732
41 Tabel 3.4 Offset antara gambar yang ditangkap kamera dengan posisi objek sesungguhnya (satuan dalam milimeter). percobaan Offset ( satuan mm) ke Z = 300 mm Z = 250 mm Z = 200 mm Z = 150 mm Z = 100 mm x y x y x y x y x y 1-3.132-0.251-3.344 0.560-2.651 1.065-2.188 1.044-1.993 0.886 2-1.903-2.315-1.356-2.642-0.909-1.755-0.750-1.292-0.585-0.399 3-6.699-0.084-5.505-0.462-4.326-0.364-3.663 0.373-3.257 0.476 4-2.168-1.723-1.547-1.996-1.046-1.339-0.816-0.918-0.806-0.189 5-2.308-0.805-1.891-1.151-1.105-0.456-0.874-0.131-0.940 0.184 6-2.334-2.831-1.668-2.994-1.188-2.084-0.974-1.542-0.905-0.519 7-3.173-0.729-2.401-1.261-1.779-0.543-1.409-0.285-1.349 0.112 8-3.850-1.069-3.153-1.511-2.465-0.954-2.025-0.526-1.786 0.163 9-2.137-1.478-1.514-1.725-1.022-1.097-0.809-0.656-0.877-0.084 10-2.649 1.049-1.969 0.527-1.491 0.760-1.228 0.940-1.410 0.807 rata-rata -3.035-1.023-2.435-1.266-1.798-0.677-1.474-0.299-1.391 0.144 Percobaan pada tabel 3.3 dan 3.4 dilakukan untuk mengetahui spesifikasi dari kamera dalam ketepatannya menyangkut masalah offset yang muncul antara posisi objek yang sesungguhnya dan posisi objek yang terdapat pada gambar yang tertangkap kamera di berbagai jenis ketinggian robot dalam satuan pixel dan satuan milimeter. Offset yang dimaksud adalah nilai error yang terjadi pada kamera, dimana objek yang berada tepat di bawah kamera ternyata tidak berada tepat ditengah-tengah pada saat dilihat gambar yang ditangkap kamera sehingga muncul nilai offset seperti pada tabel. Offset pada mulanya merupakan error dalam satuan pixel, dan tabel 3.2 menunjukkan offset dalam satuan milimeter yang sudah
42 dikonversi dengan perbandingan offset tersebut. Cara melakukan konversi offset dapat dilihat pada persamaan 3-1 dan 3-2. (3-1) (3-2) 3.5 Bahasa Pemrograman Pada perancangan, penelitian ini menggunakan PC (Personal Computer) yang berada di laboratorium Computer Engineering universitas Bina Nusantara seperti yang terlihat pada gambar 3.9, dengan spesifikasi komputer sebagai berikut: Intel Pentium IV Proccesor, 2.4 GHz. RAM 256MB (DDR). VGA Intel 82845G.
43 Gambar 3.9 Personal Computer (PC) PC akan terhubung dengan Drive Unit dari robot RV-M1 dengan koneksi serial dimana baud rate yang digunakan 9600. Dalam menentukan bahasa pemrograman yang akan digunakan, komunikasi antara PC dan robot menjadi salah satu faktor yang dipertimbangkan. Melihat karakteristik dari robot RV-M1 yang dapat berkomunikasi secara serial dalam pengendaliannya dan dengan melihat penelitian sebelumnya dimana bahasa pemrograman Matlab digunakan dalam pensimulasian dan perhitungan kinematik dari robot RV-M1, maka Matlab digunakan sebagai bahasa pemrograman dari sistem. Bahasa pemrograman Matlab juga memudahkan sistem dalam pemrosesan citra karena memiliki fungsi-fungsi khusus yang dapat digunakan untuk pemrosesan citra, bahasa pemrograman Matlab juga dapat mengintegrasikan langsung kamera web yang digunakan pada sistem sehingga tidak diperlukan adanya software tambahan untuk pengintegrasian kamera web dan komunikasi secara serial.
44 3.6 Objek Objek yang digunakan pada penelitian adalah objek solid (permukaan objek tidak berlubang / rata) dengan bentuk dan warna yang berbeda untuk mendukung penelitian sehingga data-data yang diambil dapat lebih bervariasi. Objek-objek yang digunakan pada penelitian dapat dilihat pada gambar 3.10. Gambar 3.10 Objek yang digunakan pada penelitian Objek yang pertama berbentuk lingkaran yang berwarna perak Objek kedua berbentuk kotak yang berwarna kuning Objek ketiga adalah persegi panjang yang berwarna kuning dengan ukuran yang lebih kecil dari objek kedua
45 Objek keempat adalah lingkaran yang berwarna perak dengan diameter yang lebih kecil dari objek pertama 3.7 Perancangan Sistem Positioning Perancangan untuk sistem ini menggunakan bahasa pemrograman Matlab. Perancangan yang dibuat akan dibedakan menjadi 4 bagian inti yaitu: 1. Penangkapan Gambar. Pada proses penangkapan gambar, komputer akan mengambil gambar dengan meminta snapshot gambar pada video stream. 2. Pemrosesan Gambar. Pemrosesan gambar merupakan proses mengolah gambar yang sebelumnya didapat menjadi gambar biner sehingga fitur gambar dapat lebih mudah untuk diekstrak. 3. Peng-ekstraksi-an Fitur Gambar. Proses mengambil fitur gambar dengan mencari titik pusat massa objek yang dideteksi. 4. Perhitungan Fitur. Menghitung selisih titik pusat massa objek dengan titik pusat keseluruhan gambar yang didapat.
46 Untuk lebih jelas dalam perancangan ini, dapat dilihat dari flowchart pada gambar 3.11 yang merepresentasikan keseluruhan sistem visual yang digunakan. Gambar 3.11 Flowchart sistem visual Flowchart pada gambar 3.11 menjelaskan keseluruhan perancangan sistem yang dibuat secara garis besar. Pertama kali, PC akan menginisialisasikan kamera web agar memulai streaming video, setelah kamera web memulai streaming video,
47 PC akan meminta snapshot gambar yang terlihat pada video stream tersebut sebagai proses penangkapan gambar yang kemudian akan diproses oleh prosedur pemrosesan gambar dan prosedur ekstraksi fitur gambar yang mana hasil output yang didapat akan diproses dalam prosedur perhitungan fitur, jika masih terdapat selisih titik pusat massa antara objek dan gambar keseluruhan yang didapat, maka sistem akan kembali pada proses penangkapan gambar. Setelah proses perhitungan selesai, maka PC akan bersiap untuk meminta snapshot berikutnya agar sistem dapat terus melakukan iterasi hingga sistem mencapai batas toleransi yang sudah ditentukan dan berhenti pada proses perhitungan. 3.7.1 Perancangan Prosedur Penangkapan Gambar Pada prosedur penangkapan gambar, objek yang akan digunakan adalah objek 3 dimensi dimana permukaan objek tidak berlubang. Warna objek yang digunakan dapat bervariasi dengan catatan warna objek harus solid dan memiliki perbedaan yang cukup mencolok dengan latar belakang (background) dimana pada perancangan sistem ini, latar belakang yang digunakan berwarna hitam. Perancangan program penangkapan gambar mula-mula PC akan menginisialisasikan kamera agar melakukan streaming video dengan memberikan perintah pada Matlab, resolusi video yang diterima sebesar 640x480, kemudian PC akan meminta snapshot gambar yang terlihat pada
48 video stream dengan memberikan perintah getsnapshot pada Matlab kemudian menampungnya pada suatu variabel. Agar gambar snapshot yang didapat langsung dalam format grayscale, maka setelah inisialisasi awal video, perlu diatur agar gambar yang diterima kamera web dapat ditampilkan dalam bentuk format grayscale sehingga gambar snapshot yang didapat langsung berupa gambar grayscale. 3.7.2 Perancangan Prosedur Pemrosesan Gambar Pada perancangan prosedur pemrosesan gambar ini, gambar yang sebelumnya diambil dan telah ditampung dalam suatu variabel akan diproses sehingga gambar tersebut dapat lebih mudah untuk diolah pada proses selanjutnya. Pada bagian ini, proses yang selanjutnya akan dilakukan adalah mengubah gambar yang telah ditampung dalam variabel tadi menjadi citra hitam putih (biner) dengan memberikan nilai batasan (threshold) yang sesuai untuk dapat benar-benar memisahkan antara objek dengan latar belakangnya. Dengan proses konversi citra grayscale menjadi biner ini, gambar objek akan menjadi warna putih dan latar belakangnya akan menjadi warna hitam. Gambar 3.13 merupakan histogram dari gambar grayscale dan histogram dari gambar grayscale yang telah dikonversi ke gambar biner seperti yang terlihat pada gambar 3.12.
49 (a) (b) Gambar 3.12 (a) Gambar Grayscale (b) Gambar Biner (a) (b) Gambar 3.13 (a) Histogram dari gambar grayscale (b) Histogram dari gambar biner
50 Gambar 3.14 Histogram dari gambar grayscale yang diperbesar Proses thresholding yang dilakukan adalah dengan melihat distribusi histogram dari gambar grayscale yang didapat, sehingga akan terlihat nilainilai yang berada pada daerah tertentu lebih memiliki distribusi jumlah nilai yang lebih banyak seperti yang terlihat pada gambar 3.14 yang mengartikan bahwa daerah tersebut adalah bukan objek yang ingin diolah sehingga dapat dihilangkan atau diubah nilainya menjadi sama dengan latar belakang yang digunakan, pada penelitian ini nilai latar belakang yang digunakan bernilai 0 (hitam). Setelah objek benar-benar terpisah dengan latar belakangnya, proses selanjutnya adalah memberikan label pada objek yang terdeteksi pada gambar
51 sehingga pada proses berikutnya, objek tersebut dapat dipilih untuk proses ekstraksi fitur. 3.7.3 Perancangan Proses Ekstraksi Fitur Gambar Proses ekstraksi fitur merupakan bagian yang penting dalam perancangan sistem visual, hal ini dikarenakan algoritma yang akan digunakan pada penelitian sangat bergantung pada hasil ekstraksi fitur pada bagian ini. Pada proses ini, objek yang pada proses sebelumnya telah diberi label akan dicari titik pusat massanya dengan fungsi yang sudah tersedia yaitu centroid yang termasuk dalam properti regionprops dari Matlab. Dengan centroid, titik pusat massa dapat ditampilkan, dilihat, dan diketahui letak koordinat titik pusat massa tersebut pada bidang koordinat dari view area yang memiliki resolusi 640x480 pixel. Untuk lebih jelas dalam pemrosesan centroid, dapat diihat pada ilustrasi berikut:
52 Gambar 3.15 Objek yang ingin diketahui titik pusat massanya Diketahui bahwa resolusi gambar 640x480 pixel dimana titik 0,0 berada pada ujung kiri atas dari ukuran gambar. Lingkaran putih yang terdapat pada gambar merupakan objek yang ingin diketahui titik pusat massanya.
53 Gambar 3.16 Nilai x1 dan x2 diketahui Proses pertama adalah dengan menemukan nilai atau posisi x1 dan x2, kemudian cari nilai tengah antara x1 dan x2.
54 Gambar 3.17 Nilai y1 dan y2 diketahui Setelah posisi x1 dan x2 diketahui, proses selanjutnya adalah menemukan posisi y1 dan y2 kemudian cari nilai tengah antara y1 dan y2.
55 Gambar 3.18 Titik pusat massa diketahui Dengan mengetahui nilai tengah dari x1 dengan x2 dan y1 dengan y2, maka titik pusat massa dari objek dapat diketahui seperti pada gambar 3.18. Dari proses inilah dapat diketahui koordinat x dan y dari titik pusat massa objek yang terdeteksi pada kamera yang kemudian akan dilakukan perhitungan untuk memberikan perintah ke robot sebagai proses selanjutnya.
56 3.7.4 Perancangan Prosedur Perhitungan Fitur Tujuan dari prosedur perhitungan fitur ini adalah menyamakan posisi titik pusat massa objek yang terdeteksi dengan titik pusat dari gambar yang ditangkap kamera dimana diketahui resolusi dari kamera adalah 640x480 sehingga titik pusat dari gambar yang ditangkap kamera memiliki kordinat x = 320 dan y = 240. Nilai koordinat titik pusat massa objek yang didapat pada proses ekstraksi fitur akan ditambahkan dengan offset seperti pada persamaan (3-3) dan (3-4) kemudian akan dikonversi dari satuan pixel kedalam satuan milimeter dengan melakukan perbandingan dengan persamaan (3-5) dan (3-6). (3-3) (3-4) Pada persamaan (3-3), dikurangi 320 karena untuk menggeser titik 0 sumbu x yang ada di tepi kiri gambar menjadi di tengah-tengah gambar, sedangkan pada persamaan (3-4), dikurangi 240 karena untuk menggeser titik 0 sumbu y yang ada pada tepi atas gambar menjadi di tengah-tengah gambar.
57 (3-5) (3-6) Untuk menggerakkan lengan robot sehingga objek berada tepat ditengah gambar, maka posisi lengan robot yang sekarang akan dijumlahkan dengan hasil yang didapat pada persamaan (3-5) dan (3-6). Posisi robot dapat langsung dijumlahkan dengan pusat massa objek karena nilai pusat massa objek telah dikonversi menjadi milimeter. 3.8 Algoritma Kendali Dalam pengaturannya, agar sistem dapat berjalan sesuai dengan yang diinginkan, maka perlu adanya pengontrolan sistem. Sistem kendali yang digunakan merupakan algoritma sederhana yang menggunakan 2 untaian, yaitu untaian dalam dan untaian luar. Untaian dalam berfungsi untuk menjaga agar sistem berhenti ketika sistem telah mencapai batas toleransi yang telah ditentukan, sedangkan untaian luar berfungsi untuk memastikan pergerakkan lengan robot ketika tidak ada objek yang terdeteksi pada view area dari kamera. Gambaran umum sistem kendali yang digunakan dapat dilihat pada gambar 3.19.
58 Gambar 3.19 Gambaran umum sistem kendali yang digunakan 3.8.1 Untaian dalam Seperti yang sudah dijelaskan sebelumnya, untaian dalam berfungsi untuk menjaga agar sistem berhenti ketika sistem telah mencapai batas toleransi yang telah ditentukan. Yang dimaksud dengan toleransi adalah batas atau tingkat ketelitian dari sistem dalam memposisikan end effector dari lengan robot dengan objek yang berada pada platform. Diagram alir dari untaian dalam dapat dilihat pada gambar 3.20.
59 Gambar 3.20 Diagram alir untaian dalam dari sistem 3.8.2 Untaian luar Pada untaian luar, sistem akan mengecek apakah terdapat objek dalam view area dari kamera pada posisi awal robot, jika terdapat objek dalam view area, maka sistem akan masuk ke dalam untaian dalam, jika tidak tedapat objek dalam view area, maka sistem akan menggerakkan lengan robot 45 ke arah kanan dari posisi robot, jika pada arah kanan dari posisi robot terdeteksi
60 adanya objek, maka sistem akan masuk ke dalam untaian dalam, jika pada arah kanan dari posisi robot masih tidak ada objek yang terdeteksi, maka sistem akan menggerakkan 90 ke arah kiri dari posisi robot, jika pada arah kiri dari posisi robot terdeteksi adanya objek, maka sistem akan masuk ke dalam untaian dalam, jika pada arah kiri dari posisi robot masih tidak terdeteksi adanya objek, maka sistem akan berhenti bekerja. Diagram alir dari untaian luar dapat dilihat pada gambar 3.21. Gambar 3.21 Diagram alir untaian luar dari sistem
61 3.9 Integrasi Sistem gambar 3.22. Sistem yang telah terintegrasi akan memiliki blok diagram seperti pada Gambar 3.22 Blok diagram sistem yang telah terintegrasi Gambar 3.22 menyatakan bahwa sistem merupakan sistem untaian tertutup yang memiliki umpan balik sebuah kamera, dimana gambar yang tertangkap kamera akan diproses pada komputer untuk dicek titik pusat massa objek yang terdeteksi, yang kemudian hasil dari perhitungan pusat massa tersebut akan menjadi perintah untuk dikirmkan ke Drive Unit RV-M1 dan akan diteruskan ke lengan robot RV-M1, sehingga lengan robot RV-M1 dapat bergerak menghampiri objek. Jika batas toleransi untuk menyamakan titik pusat massa objek dengan titik pusat ukuran gambar yang tertangkap kamera belum terpenuhi, maka komputer akan terus melakukan proses pengecekan dan perhitungan titik pusat massa objek dengan set point yang diberikan sampai batas toleransi terpenuhi. Untuk lebih jelas, dapat dilihat diagram alir sistem pada gambar 3.23.
62 Gambar 3.23 Diagram alir keseluruhan sistem 3.10 Spesifikasi Sistem Berdasarkan analisa terhadap sistem yang ingin dibuat dan kebutuhan dari sistem tersebut, maka sistem yang dibuat akan menggunakan : Robot Arm dan Drive Unit Mitsubishi MovemasterEX RV-M1.
63 Kamera web. PC (Personal Computer). Bahasa pemrograman Matlab. Objek berupa benda solid. Algoritma Positioning. Algoritma Kendali. Konsep dari penelitian ini sebatas pada pergerakkan robot yang menghampiri objek yang diletakkan pada suatu penampang atau workspace dengan latar hitam homogen dimana robot yang digunakan adalah robot Mitsubishi MovemasterEX RV-M1 yang dipasangkan kamera web tepat pada end effector dari robot, yang kemudian pemrosesan akan dilakukan pada komputer dengan bahasa pemrograman Matlab. 3.11 Rancang Bangun Sistem secara Keseluruhan Keseluruhan perancangan bangun sistem dapat dilihat pada gambar 3.24. Bentuk perancangan sistem secara keseluruhan beserta ukuran yang sudah ditentukan akan terlihat lebih jelas.
64 Gambar 3.24 (a) Wilayah kerja robot Pada gambar 3.24 (a), terlihat bahwa wilayah kerja robot berada di depan base dari robot, hal tersebut dirancang untuk mengurangi kemungkinan kecelakaan seperti lengan robot menabrak lingkungan yang ada di sekitar robot terjadi, oleh karena itu, wilayah kerja robot dirancang sedemikian sehingga robot bergerak pada jarak yang aman sehingga robot tidak menabrak lingkungan di sekitarnya, wilayah kerja robot juga disesuaikan dengan kemampuan robot RV-M1 dimana robot RV-M1 memiliki batasan-batasan jangkauan yang tidak bisa dijangkau robot RV-M1.
Gambar 3.24 (b) Bracket peletakkan kamera tampak samping 65
Gambar 3.24 (c) Bracket peletakkan kamera tampak atas 66
67 Gambar 3.24 (d) Sudut pandang kamera pada saat dipasang Bracket pada gambar 3.24 (b) dan 3.24 (c) dirancang untuk menyesuaikan peletakkan kamera web tepat berada ditengah end effector dan pandangan kamera sejajar dengan arah pandang end effector seperti yang terlihat pada gambar 3.24 (d). Gambar 3.24 (d) memperlihatkan sudut pandang yang dilihat kamera sebesar ±34º.