PERANCANGAN ROBOT LINE FOLLOWER SORTIR BENDA
DENGAN MENGGUNAKAN KAMERA
SKRIPSI
Oleh Roqiqul Ma’ani NIM 081910201052
PROGRAM STUDI STRATA SATU JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS JEMBER
ii SKRIPSI
diajukan guna melengkapi tugas akhir dan memenuhi salah satu syarat untuk menyelesaikan Program Studi Teknik Elektro (S1)
dan mencapai gelar Sarjana Teknik
Oleh Roqiqul Ma’ani NIM 081910201052
PROGRAM STUDI STRATA SATU JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS JEMBER
iii
PERSEMBAHAN
Alhamdulillah, segala puji bagi Allah SWT yang telah memberikan limpahan nikmat yang sangat luar biasa kepada penulis dan tidak lupa juga sholawat kepada Nabi besar Muhammad SAW yang telah membawa kita semua menuju peradaban manusia yang lebih baik. Skripsi bagi saya adalah salah satu fase kehidupan dimana saya berada di titik terendah dengan berbagai cobaan hidup sehingga butuh banyak dukungan agar saya mampu bangkit dan akhirnya menyelesaikannya. Oleh karena itu, dengan kerendahan hati penulis mempersembahkan karya tulis ini untuk :
1. Kedua orang tuaku, Ibunda Maftuha dan Ayahanda Abd. Hamid Syam yang selalu mendoakan dan selalu mendukung baik secara moral maupun materi. 2. Kakakku Ach. Habanal Huda dan Adikku Fina Wildaniyah yang selalu
menjadi motivasi, penulis selalu mendoakan agar sukses selalu.
3. Semua Dosen Jurusan Teknik Elektro Fakultas Teknnik Universitas Jember yang telah membimbing dan memberikan ilmu. Terutama Bapak H. Samsul Bachri M, S.T.,MM.T selaku DPU dan Bapak Sumardi, ST., MT selaku DPA yang telah meluangkan waktu dan pikirannya seta perhatiannya guna memberikan bimbingan dan pengarahan demi terselesainya skripsi ini.
4. Seluruh Guru-guruku dari TK, MI, SMP, SMA dan Guru Mengaji yang telah membimbing dengan sabar dan memberikan ilmu.
5. Teman-teman teknik, khususnya Teknik Elektro angkatan 2008.
6. Teman-teman para penghuni COSAMI, punggawa BIBOT beserta komponen-komponen pendukungnya.
7. Teman-teman KKT desa Keting : AKWS, MPA, TAL, NS, AM, MID, IM. 8. Teman-teman Asisten Laboratorium Dasar dan Optik, UKM RISTEK dan
UKM ROBOTIKA.
iv
sesudah kesulitan itu ada kemudahan.
(Terjemahan Q.S Al Insyirah 5-6)
Knowledge is love and light and vision.
(Hellen Keller)
Pendidikan adalah rangkaian pelajaran yang semakin lama malah semakin tinggi nilainya.
(Sherlock Holmes)
Optimisme adalah jalan yang membawamu pada keberhasilan
v
PERNYATAAN
Saya yang bertanda tangan dibawah ini: nama :Roqiqul Ma’ani
NIM : 081910201052
menyatakan dengan sesungguhnya bahwa karya ilmiah yang berjudul “Perancangan
Robot Line Follower Sortir Benda dengan Menggunakan Kamera” adalah benar-benar hasil karya sendiri, kecuali kutipan yang sudah saya sebutkan sumbernya, belum pernah diajukan pada institusi mana pun, dan bukan karya jiplakan. Saya bertanggung jawab atas keabsahan dan kebenaran isinya sesuai dengan sikap ilmiah yang harus dijunjung tinggi.
Demikian pernyataan ini saya buat dengan sebenarnya, tanpa ada tekanan dan paksaan dari pihak mana pun serta bersedia mendapat sanksi akademik jika ternyata di kemudian hari pernyataan itu tidak benar.
Jember, 27 Mei 2013 Yang menyatakan,
Roqiqul Ma’ani
vi
PERANCANGAN ROBOT LINE FOLLOWER SORTIR BENDA
DENGAN MENGGUNAKAN KAMERA
Oleh: Roqiqul Ma’ani
NIM 081910201052
Pembimbing :
vii
PENGESAHAN
Skripsi berjudul “Perancangan Robot Line Follower Sortir Benda dengan Menggunakan Kamera“telah diuji dan disahkan pada :
Hari, tanggal : Senin, 27 Mei 2013
Tempat : Fakultas Teknik Universitas Jember.
Tim Penguji:
Mengetahui,
Mengesahkan Dekan Fakultas Teknik,
Ir. Widyono Hadi, M.T. NIP 19610414 198902 1 001 Pembimbing Utama,
H. Samsul Bachri M., S.T.,M.MT. NIP. 19640317 199802 1 001
Pembimbing Anggota,
Sumardi, S.T., M.T. NIP. 19670113 199802 1 001
Penguji I,
Satriyo Budi Utomo, S.T., M.T. NIP 19850126 200801 1 002
Penguji II,
viii
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Jember
ABSTRAK
Computer vision merupakan kombinasi dari Pengolahan Citra dan Pengenalan Pola. Computer vision pada bidang robotik biasa disebut juga dengan vision robot. Vision robot dapat didefinisikan sebagai proses ekstraksi, karakteristik serta menafsirkan informasi dari dunia gambar tiga-dimensi dan dapat dibagi menjadi enam wilayah prinsip yang meliputi sensing, preproses, segmentasi, deskripsi, pengenalan dan interpretasi. Dalam penelitian ini aplikasi Computer vision digunakan untuk mengenali warna benda yang kemudian diterapkan pada robot line follower untuk mengambil dan membawa benda ke tempat yang ditentukan sesuai dengan warnanya. Sensor yang digunakan adalah kamera CMUcam4. Pengujian dilakukan dengan memberi bola warna merah dan biru masing – masing sebanyak delapan kali dan kombinasi antara warna merah atau biru secara acak sebanyak sepuluh kali. Dari hasil pengujian didapatkan nilai presentase keberhasilan robot dalam mengenali warna biru sebesar 75 % dan warna merah 87,5 %. Secara keseluruhan, sistem robot dalam mengenali warna benda memiliki nilai presentase keberhasilan sebesar 80 %.
ix
Sorter Line Follower Robot Design Using Camera
Roqiqul Ma’ani
Department of Electrical Engineering. Engineering Faculty, Jember University
ABSTRACT
Computer vision is a combination of Image Processing and Pattern Recognition. Computer vision on robotics commonly referred to as robot vision. Robot vision can be defined as the process of extraction, characteristics and interpreting information from the world of three-dimensional images and can be divided into six regions covering the principles of sensing, preprocessing, segmentation, description, recognition and interpretation. In this study the application of Computer vision is used to identify the color of objects which are then applied to a line follower robot to pick up and carry objects to the specified place in accordance with the color. The sensor is using a camera CMUcam4. Testing is done by giving the ball red and blue respectively - each as much as eight times and the combination of red or blue color ten times randomly. From the test results obtained percentage value in recognizing blue color by 75% and 87.5% for red color. Overall, the robotic system to recognize colors of objects have a value equal to 80% the percentage of success.
x Elektro Fakultas Teknik Universitas Jember.
Robot merupakan suatu perangkat mekanik yang mampu menjalankan tugas-tugas fisik, baik di bawah kendali dan pengawasan manusia, ataupun yang dijalankan dengan serangkaian program yang telah didefinisikan terlebih dahulu atau kecerdasan buatan atau biasa disebut dengan artificial intelligence.
Computer vision pada bidang robotik biasa disebut juga dengan vision robot.
Vision robot dapat didefinisikan sebagai proses ekstraksi, karakteristik serta
menafsirkan informasi dari dunia gambar tiga-dimensi. Proses ini disebut juga sebagai mesin atau vision komputer ( Computer vision ) dan dapat dibagi menjadi enam wilayah prinsip yang meliputi sensing, preproses, segmentasi, deskripsi, pengenalan dan interpretasi.
Dalam dunia robotika aplikasi penggunaan Computer vision kebanyakan digunakan dalam sebuah kontes robot misalnya robot soccer yang mampu mengejar objek yang diinginkan. Namun, dalam hal pengenalan warna masih sedikit yang menerapkan sistem ini pada robot. Umumnya sensor yang digunakan untuk mengenali warna adalah sensor konvensional yang memiliki kekurangan yaitu jarak antara sensor dengan objek yang akan diamati harus sangat dekat. Oleh karena itu, dalam proyek akhir ini akan dibuat suatu aplikasi Computer vision yang mampu menggantikan peranan sensor konvensional dalam pengenalan warna.
xi
Kamera menggunaka modul CMUcam4 untuk mengenali warna benda yang akan dibawa.
Pergerakan robot line follower dipengaruhi letak sensor terhadap garis. Jika sensor bagian kanan berada pada garis maka robot akan melakukan aksi untuk serong ke kanan. Jika sensor bagian kiri berada pada garis maka robot akan melakukan aksi untuk serong ke kiri. Pada lintasan yang berbentuk persimpangan, robot akan melakukan aksi untuk berbelok ke kanan atau ke kiri sesuai dengan warna benda yang sedang dibawa.
Sistem kerja gripper menggunakan sebuah motor servo. Jika motor servo diberi perintah untuk melakukan pergerakan putaran sebesar 180 derajat, maka kondisi gripper dalam keadaan terbuka. Jika diberi perintah untuk melakukan pergerakan putaran sebesar 0 derajat, maka kondisi gripper dalam keadaan tertutup.
Kamera CMUcam4 yang digunakan untuk mengenali warna benda menggunakan komunikasi serial. Port serial yang digunakan adalah port serial 3 yaitu pada pin 14 (Tx) dan 15 (Rx). Nilai yang didapat dari kamera adalah berupa nilar rata-rata R (merah), G (hijau), B (biru). Dari perbedaan nilai tersebut nantinya bisa digunakan untuk mengenali warna benda yang ada di depan kamera.
xii
Line Follower Sortir Benda dengan Menggunakan Kamera”. Skripsi ini disusun
untuk memenuhi salah satu syarat menyelesaikan pendidikan strata satu (S1) pada Jurusan Teknik Elektro Fakultas Teknik Universitas Jember dan mencapai gelar sarjana teknik pada Fakultas Teknik Universitas Jember.
Penyusunan skripsi ini tidak lepas dari bantuan berbagai pihak. Oleh karena itu, penulis menyampaikan terima kasih kepada:
1. Ir. Widyono Hadi, M.T., selaku Dekan Fakultas Teknik dan Sumardi, S.T., M.T., selaku Ketua Jurusan Teknik Elektro Universitas Jember yang telah memberi kemudahan bagi penulis untuk menyelesaikan skripsi ini;
2. H. Samsul Bachri M., S.T.,MM.T. selaku Dosen Pembimbing Utama, Sumardi, S.T.,M.T. selaku Dosen Pembimbing Anggota dan Satriyo Budi Utomo, S.T.,M.T. serta Agus Irwan K., S.T. selaku dosen pembimbing pembantu dan Teknisi Laboratorium yang memberikan arahan dalam penyelesaian skripsi ini ; 3. Seluruh dosen dan staf akademik yang telah banyak membantu selama penulis
menempuh kuliah di Jurusan Teknik Elektro Fakultas Teknik Universitas Jember; 4. Kedua orang tua, kakak dan adikku tercinta yang telah memberikan dorongan dan
doanya demi terselesaikannya skripsi ini;
5. Semua guru-guruku yang telah sudi menurunkan ilmunya kepadaku, semoga bermanfaat bagi kehidupanku dan kehidupan umat manusia;
6. Rekan seperjuanganku Tri Bagus Rahmad K., S.T. yang telah membantu dan bekerja sama dalam menyelesaikan skripsi ini;
xiii
8. Teman-temanku semua, khususnya Hemi, Yudis, Wahyu, Abi, Rizal, Rahman, Mirza, Trian, Fajri, Ricak, Nayla, Lita, Annisa K., terima kasih atas segala kisah yang pernah kita ukir bersama, sedih, senang semua itu akan jadi cerita tersendiri dan kesan yang tidak akan pernah terlupakan selama hidup;
9. Semua jajaran guru di MA. Annuriyyah yang telah bersedia menerima dan mendukung penulis dalam menyelesaikan skripsi ini.
10. Semua pihak yang telah menyalurkan bantuan kepada penulis dalam penulisan skripsi ini baik langsung maupun tidak langsung yang tidak dapat saya sebutkan satu persatu.
Penulis juga menerima segala kritik dan saran dari semua pihak demi kesempurnaan skripsi ini. Akhirnya penulis berharap, semoga skripsi ini dapat bermanfaat.
xiv
HALAMAN PERSEMBAHAN ... iii
HALAMAN MOTTO ... iv
HALAMAN PERNYATAAN... v
HALAMAN PEMBIMBINGAN... vi
HALAMAN PENGESAHAN... vii
ABSTRAK ... viii
ABSTRACT ... ix
RINGKASAN ... x
PRAKATA ... xii
DAFTAR ISI... xiv
DAFTAR GAMBAR ... xvii
DAFTAR TABEL ... xviii
BAB 1. PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah... 4
1.4 Tujuan ... 4
1.5 Manfaat ... 4
BAB 2. TINJAUAN PUSTAKA... 5
2.1 Sistem Visual... 5
2.2 Citra warna digital RGB ... 6
2.3 ADC ... 7
2.4 Sensor ... 9
xv
2.4.2 Sensor Kamera ... 10
2.5 Arduino IDE ... 11
2.5.1 Arduino Hardware ... 12
2.5.2 Arduino Software ... 12
BAB 3. METODE PENELITIAN... 14
3.1 Lokasi dan Tempat Penelitian... 14
3.2 Tahapan Perencanaan ... 14
3.3 Alat dan Bahan ... 16
3.4 Mekanik robot ... 16
3.5 Blok Perangkat Keras ... 17
3.5.1 Sensor Garis ... 17
3.5.2 Sensor Warna ... 17
3.5.3 Gripper... 18
3.5.4 Driver Motor ... 19
3.6 Arduino Mega 1250 (Sistem Minimum AVR ATMega 1250) ... 20
3.7 Desain Perangkat Lunak ... 21
3.7.1 Pembacaan Sensor Garis ... 22
3.7.2 Pengenalan Warna... 24
3.8 Instalasi CMUcam ... 26
3.8.1 Instalasi Hardware... 26
3.8.2 Instalasi software... 27
3.9 Blok Diagram, Alogaritma dan Flowchart Sistem... 28
BAB 4. PEMBAHASAN ... 30
4.1 Pengujian Robot Linefollower ... 30
4.1.1 Pengujian bagian pembacaan ADC... 30
4.1.2 Pengujian Navigasi Robot... 35
4.2 Pengujian Motor Servo ... 36
xvi
BAB 5. KESIMPULAN ... 47
5.1 Kesimpulan ... 47
5.2 Saran... 47
xvii
DAFTAR GAMBAR
Halaman
Gambar 2.1 Model warna RGB ... 7
Gambar 2.2 ADC dengan kecepatan sampling rendah dan sampling tinggi... 8
Gambar 2.3 Ilustrasi sensor garis ... 9
Gambar 2.4 Board Arduino... 12
Gambar 3.1 Chassis Rover X5 ... 16
Gambar 3.2 Rangkaian sensor garis pada robot line follower ... 17
Gambar 3.3 Model Rancangan Pembuatan Gripper ... 18
Gambar 3.4 Bentuk Jadi Model Gripper... 19
Gambar 3.5 Rangkaian H-Bridge... 19
Gambar 3.6 Pin Map Arduino Mega 1250... 21
Gambar 3.7 Diagram alir pembacaan garis... 22
Gambar 3.8 Lintasan robot... 24
Gambar 3.9 Blok Diagram Proses Pengenalan Warna ... 25
Gambar 3.10 Flowchart Pencitraan ... 26
Gambar 3.11 Blok Diagram Proses Pengenalan Warna... 28
Gambar 3.12 Flowchart robot line follower sortir benda ... 29
Gambar 4.1 Nilai adc pada bidang putih ... 32
Gambar 4.2 Nilai adc pada bidang abu-abu ... 32
Gambar 4.3 Nilai adc pada bidang hitam ... 32
Gambar 4.4 Aktifitas kamera pada saat mengirimkan data Color Statistic ... 38
xviii
Tabel 3.2 Kombinasi sensor dan aksi robot ... 23
Tabel 4.1 Perbandingan tegangan pada bidang putih ... 33
Tabel 4.2 Perbandingan tegangan pada bidang abu-abu ... 33
Tabel 4.3 Perbandingan tegangan pada bidang hitam ... 33
Tabel 4.4 Pengujian navigasi robot ... 36
Tabel 4.5 Pengujian motor servo ... 37
Tabel 4.6 Perbandingan Nilai Data CMUcam4 GUI dengan Serial Monitor ... 40
Tabel 4.7 Pengaruh nilai Brightness pada nilai RGB benda warna biru ... 42
Tabel 4.8 Pengaruh nilai Brightness pada nilai RGB benda warna merah ... 42
Tabel 4.9 Pengujian Jarak Jangkauan ... 43
Tabel 4.10 Percobaan pemberian bola merah ... 44
Tabel 4.11 Percobaan pemberian bola biru ... 45
1
BAB 1. PENDAHULUAN 1.1 Latar Belakang
Robot merupakan suatu perangkat mekanik yang mampu menjalankan tugas-tugas fisik, baik di bawah kendali dan pengawasan manusia, ataupun yang dijalankan dengan serangkaian program yang telah didefinisikan terlebih dahulu atau kecerdasan buatan atau biasa disebut dengan artificial intelligence. Perkembangan robot di negara-negara maju seperti Amerika, Jepang, Korea, dan Jerman mengalami peningkatan yang tajam. Saat ini robot telah digunakan sebagai alat untuk membantu pekerjaan manusia. Seiring dengan berkembangnya teknologi, khususnya teknologi elektronik, peran robot menjadi semakin penting tidak saja dibidang sains, tapi juga di berbagai bidang lainnya, seperti di bidang kedokteran, pertanian, industri, bahkan militer. Secara sadar atau tidak, saat ini robot telah masuk dalam kehidupan manusia sehari-hari dalam berbagai bentuk dan jenis. Ada jenis robot sederhana yang dirancang untuk melakukan kegiatan yang sederhana, mudah dan berulang-ulang, ataupun robot yang diciptakan khusus untuk melakukan sesuatu yang rumit, sehingga dapat berperilaku sangat kompleks dan secara otomatis dapat mengontrol dirinya sendiri sampai batas tertentu (Wikipedia,2011).
Machine vision merupakan salah satu cabang ilmu yang sering digunakan
tersedia dan harus diperbaiki. Pengetahuan mengenai objek-objek pada scene dan proyeksi geometri sangat diperlukan dalam memperbaiki informasi tersebut.
Salah satu contoh aplikasi dari Computer vision di bidang kesehatan atau medis adalah untuk mendiagnosa suatu penyakit. Sistem computer vision membantu dokter untuk mendiagnosa suatu penyakit dengan menggunakan gambar tomografi yang diolah oleh komputer. Gambar-gambar medis dapat diproses oleh sistem yang ada didalam komputer ( machine vision ) untuk membantu dalam hal diagnosa sebuah penyakit. Sistem tersebut telah dikembangkan untuk semua mode pencitraan yang berguna dalam berbagai aspek kesehatan. Aplikasi serupa sedang dikembangkan untuk pemeriksaan industri, pertanian, dan produk lainnya. Sistem computer vision telah digunakan untuk pengendalian kualitas produk misalnya, robot yang berbasis vision yang mengecek penyegelan pada sebuah tutup botol, hingga untuk pemilihan
buah jeruk atau apel yang berkualitas.
Computer vision tidak hanya berlaku pada pemprosesan gambar saja, tetapi
juga dapat diterapkan pada mobile robot. Seperti halnya pada manusia, kemampuan vision mempengaruhi robot, dengan mekanisme pengindraan yang mutakhir yang
memungkinkan suatu mesin untuk merespon lingkungannya dengan menggunakan kecerdasan (inteligent).
Computer vision pada bidang robotik biasa disebut juga dengan vision robot.
Vision robot dapat didefinisikan sebagai proses ekstraksi, karakteristik serta
menafsirkan informasi dari dunia gambar tiga-dimensi. Proses ini disebut juga sebagai mesin atau vision komputer ( Computer vision ) dan dapat dibagi menjadi enam wilayah prinsip yang meliputi sensing, preproses, segmentasi, deskripsi, pengenalan dan interpretasi.
3
penggunaan computer vision kebanyakan digunakan dalam sebuah kontes robot misalnya robot soccer yang mampu mengejar objek yang diinginkan. Namun, dalam hal pengenalan warna masih sedikit yang menerapkan sistem ini pada robot. Umumnya sensor yang digunakan untuk mengenali warna adalah sensor konvensional yang memiliki kekurangan yaitu jarak antara sensor dengan objek yang akan diamati harus sangat dekat. Jarak antara objek yang dibaca haruslah antara 10 mm sampai 25 mm di depan sensor (Widodo, 2010). Oleh karena itu, dalam proyek akhir ini akan dibuat suatu aplikasi computer vision yang mampu menggantikan peranan sensor konvensional dalam pengenalan warna yaitu robot line follower sortir benda menggunakan kamera. Perangkat yang digunakan dalam proyek ini adalah modul kamera CMUcam4. Diharapkan dengan menggunakan kamera ini obyek dapat dikenali dengan cepat, tepat dan akurat. Dalam kasus ini benda yang dimaksud adalah benda berbentuk bola dengan dua warna berbeda yaitu biru dan merah. Secara garis besar, proses dalam proyek akhir ini adalah bagaimana cara kamera mengenali objek untuk diproses melalui mikrokontroler kemudian di eksekusi dengan memungut dan menempatkan objek bersangkutan ke tempat yang telah ditentukan. 1.2 Rumusan Masalah
Dalam penelitian ini dirumuskan suatu permasalahan mengenai bagaimana menggunakan sistem computer vision untuk proses pengenalan warna dan bagaimana aplikasi penggunaan sensor kamera pada robot line follower untuk mengenali warna objek dan mempengaruhi aktifitas navigasi dari robot line follower. Robot line follower di pilih karena dapat mengikuti garis, dengan kata lain garis tersebut
1.3 Batasan Masalah
Di dalam permasalahan tersebut akan diberi batasan-batasan masalah sebagai berikut :
1. Kamera yang digunakan adalah CMUcam4
2. Obyek yang digunakan adalah benda berbentuk bola berwarna merah dan biru.
3. Latar belakang tempat harus berbeda dengan warna obyek yang disensor 4. Obyek berada di depan kamera dan tidak terhalang obyek lain
5. Lintasan atau arena sudah ditentukan
6. Jarak antara kamera dengan objek sudah ditentukan 1.4 Tujuan
Tujuan dari proyek akhir ini adalah membuat robot line follower yang dapat mengenali warna objek (benda) dengan kamera dan menempatkan benda sesuai dengan warna yang telah ditentukan menggunakan cara pemetaan serta untuk mengetahui cara penggunaan sistem computer vision pada modul CMUcam4 sebagai sensor warna.
1.5 Manfaat
5
BAB 2. TINJAUAN PUSTAKA 2.1 Sistem Visual
Pengertian Pengolahan Citra (image processing) sedikit berbeda dengan pengertian mesin visual (machine vision), meskipun keduanya seolah-olah dapat dipergunakan dengan maksud yang sama. Terminologi pengolahan citra dipergunakan bila hasil pengolahan data yang berupa citra, adalah juga bentuk citra yang lain, yang mengandung atau memperkuat informasi khusus pada citra hasil pengolahan sesuai dengan tujuan pengolahannya. Sedangkan terminologi mesin visual digunakan bila data hasil pengolahan citra langsung diterjemahkan dalam bentuk lain, misalnya grafik yang siap diinterpretasikan untuk tujuan tertentu, gerak peralatan atau bagian dari peralatan mekanis, atau aksi lainnya yang berarti bukan merupakan citra lagi. Dengan demikian jelaslah bahwa pengolahan citra merupakan hasil bagian dari mesin visual, karena untuk menghasilkan keluaran selain citra, informasi dari citra yang ditangkap oleh kamera juga perlu diolah dan dipertajam pada bagian-bagian tertentu. (Usman Ahmad, 2005).
Sebagaimana layaknya mata dan otak, sistem visual adalah sistem yang mempunyai kemampuan untuk menganalisa objek secara visual, setelah data objek yang bersangkutan dimasukkan dalam bentuk citra (image). Secara umum tujuan dari sistem visual adalah untuk membuat model nyata dari sebuah citra. Citra yang dimaksud adalah citra digital hasil konversi suatu objek menjadi citra melalui sensor yang prosesnya disebut digitasi. (Usman Ahmad, 2005) Sistem visual mepunyai kemampuan untuk memperbaiki informasi yang berguna dari sebuah pemandangan (scene) hasil proyeksi dua-dimensi. Kata memperbaiki dipakai disini karena citra
geometri dari obyek dalam suatu pemandangan. Contoh yang mudah dipaparkan dalam hal ini misalnya jarak antara sensor (biasanya kamera) dengan obyek tertentu dalam sebuah citra tidak dapat diketahui langsung karena informasi kedalaman (depth) yang merupakan jarak itu sendiri hilang saat obyek dalam ruang
(tiga-dimensi) dikonversi menjadi citra dalam bidang (dua-(tiga-dimensi). Dengan demikian bila ada dua atau lebih obyek yang bertumpukan dalam suatu bidang pandang, suatu obyek tidak dapat langsung diketahui apakah ia berada di depan atau dibelakang obyek-obyek lainnya. Namun demikian persoalan ini dapat dijawab setelah dilakukan satu atau beberapa proses pada citra tersebut dengan memanfaatkan informasi yang tersedia sehingga informasi yang hilang tadi dapat kembali. (Usman Ahmad, 2005)
2.2 Citra warna digital RGB
Pemodelan warna digunakan untuk menggambarkan sifat-sifat warna secara matematis, sehingga dengan demikian dapat dilakukan pengolahan citra digital dengan cara memanipulasi nilai-nilai warna dari citra tersebut secara matematis. Model warna yang paling banyak digunakan di bidang computer maupun elektronika adalah model RGB(red-green-blue). Model RGB ini cocok digunakan dalam implementasi perangkat keras elektronik dan penyimpanan data secara digital. (Anymous,2005) .
7
hitam memiliki harga R=0, G=0, dan B=0, sedangkan warna putih memiliki harga R=255, G=255, dan B=255. (Anymous,2005)
Model warna RGB ini dapat digambarkan sebagai sebuah kubus dalam koordinat Cartesian, di mana masing-masing sumbu mewakili harga dari komponen-komponen R, G, dan B.
Gambar 2.1 Model warna RGB Sumber: Anymous (2005)
Pada kubus warna RGB ini, warna hitam terletak pada sudut kubus di posisi (0, 0, 0), dan warna putih pada posisi (255, 255, 255). Sudut-sudut kubus yang berimpit dengan sumbu-sumbu koordinat ditempati oleh warna-warna merah, hijau, dan biru yang disebut juga dengan warna primer. Sedangkan sudut- sudut kubus yang lainnya ditempati oleh warna-warna sian, magenta, dan kuning yang disebut juga dengan warna sekunder. (Anymous,2005)
2.3 ADC
sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample per second (SPS).
Gambar 2.2. ADC dengan kecepatan sampling rendah dan sampling tinggi Sumber: Widodo (2010)
Resolusi ADC menentukan ketelitian nilai hasil konversi ADC. Sebagai contoh: ADC 8 bit akan memiliki output 8 bit data digital, ini berarti sinyal input dapat dinyatakan dalam 255 (2n –1) nilai diskrit. ADC 12 bit memiliki 12 bit output data digital, ini berarti sinyal input dapat dinyatakan dalam 4096 nilai diskrit. Dari contoh diatas ADC 12 bit akan memberikan ketelitian nilai hasil konversi yang jauh lebih baik daripada ADC 8 bit (B. Arifianto, 2009).
Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila tegangan referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner).
9
2.4 Sensor
Sensor adalah sesuatu yang digunakan untuk mendeteksi adanya perubahan lingkungan fisik atau kimia, sedangkan transduser adalah pengubah variable keluaran dari sensor menjadi besaran listrik (Wikipedia, 2011). Sensor sering digunakan untuk pendeteksian pada saat melakukan pengukuran atau pengendalian.
2.4.1 Sensor Proximity
Sensor garis atau sensor proximity adalah sensor yang berfungsi mendeteksi warna garis hitam atau putih. Biasanya sensor garis ini terdapat pada robot line follower atau line tracking. Sensor tersebut memiliki bagian pemancar dan bagian
penerima, LED superbright sebagai pemancar cahaya, dan photodetector atau photodiode sebagai penerima, sistem kerja dari sensor tersebut adalah LED akan
memancarkan cahaya ke sebuah bidang datar, dan jika bidang tersebut berwarna putih maka cahaya yang dipantulkan dari LED ke photodiode akan banyak dan jika LED memcancarkan cahaya ke bidang datar yang memiliki warna gelap, maka akan menyebabkan nilai pantulan cahaya dari LED ke photodiode sedikit, perubahan banyak tidaknya cahaya yang diterima photodiode tersebut yang menyebabkan perubahan resistensi pada photodiode .
2.4.2 Sensor Kamera
Dalam hal pengolahan citra terdapat penelitian mengenai hal tersebut menggunakan mikrokontroler diawali oleh Carneige Mellon University yang membuat modul kamera CMUCam untuk pemakaian pada mobile robot (Bruce, 2000). Modul CMUCam didesain sebagai modul pengolah citra yang murah dan bisa dihubungkan dengan berbagai mikrokontroler lewat jalur serial (Rowe, 2001). Sensor kamera yang dipakai pada CMUcam adalah OV9665. CMUcam menggunakan mikrokontroler 8 bit SX28 sebagai pengolah citranya. Karena keterbatasan RAM, maka total citra yang bisa diproses hanya sampai 80 X 143 piksel (Horizontal X Vertikal). Akuisisi dan pemrosesan citra dilakukan secara per baris karena RAM yang ada tidak mencukupi untuk menampung semua piksel dari kamera. CMUcam memiliki fitur penjejak warna dengan metode pengambangan terhadap nilai RGB piksel yang dideteksi. Frame rate maksimal yang dapat dicapai oleh CMUcam adalah 16.7 frame per detik.
11
dengan hanya menggunakan mikrokontroler AVR, MCS-51, BASIC Stamp, dll. Selain perbaikan dari sisi fitur dari pengolahan gambar digital, CMUcam4 juga menyediakan tambahan fitur TV-Out yang mampu menampilkan gambar di TV. 2.5 Arduino IDE
Arduino merupakan modul single board berbasis mikrokontroler yang berifat open source (baik hardware maupun software), diturunkan dari Wiring Platform,
dan dirancang untuk memudahkan user dalam penggunaan elektronik dalam berbagai bidang. Arduino dapat dikatakan sebagai sebuah platform dari physical computing yang bersifat open source. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi merupakan kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE). IDE adalah sebuah software yang sangat berperan
untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memory mikrokontroler.
Arduino bersifat open source, baik untuk hardware maupun software-nya. Skematik, Bill of Material (BoM), dan desain PCB (berbasis EAGLE Software) Arduino dapat di-download secara bebas. Software untuk pemrograman Arduino (IDE Arduino) yang berupa executable file juga dapat di-download dan diinstalasi secara bebas pada komputer user. Saat ini Arduino cukup menjadi pilihan sebagai modul pengembangan mikrokontroler baik untuk pemula (begginer) hingga tingkat lanjut (advance). Arduino menawarkan beberapa fitur yang cukup menarik antara lain:
1. Open source, baik hardware maupun software.
2. Ekonomis, artinya investasi yang cukup murah untuk modul pengembangan mikrokontroler yang cukup handal.
4. Cukup mudah dipelajari dan digunakan. IDE Arduino berbasis IDE Processing yang menggunakan bahasa pemrograman tingkat tinggi yang
dialeknya sangat mirip dengan C++ dan Java sehingga mudah dipelajari dan diaplikasikan jika dibandingkan dengan bahasa pemrograman tingkat rendah seperti Assembler.
5. Konektor standar Arduino yang memungkinkan berbagai add-on (disebut Shield) dipasangkan dengan Arduino board.
2.5.1 Arduino Hardware
Arduino Hardware hingga saat ini berbasis mikrokontroler AVR 8-bit RISC (seri ATmega) seperti ATmega168, ATmega328, ATmega1280 dan ATmega2560 yang telah dilengkapi bootloader untuk membantu proses pengisian program.
Gambar 2.4 Board Arduino Sumber: Massimo
2.5.2 Arduino Software
Software Arduino dikembangkan dengan basis IDE Processing yang
13
pemrogramannya cukup mudah dimengerti walupun cukup “Case Sensitive” dan belum dilengkapi dengan Code Completion (AutoComplete). Software Arduino dapat dijalankan pada OS multi platform seperti Windows, Linux, dan Macintosh. Software Arduino bersifat Executable File dan dapat langsung dijalankan tanpa harus melakukan proses instalasi terlebih dahulu asalkan pada komputer telah terinstalasi Java Runtime. IDE Arduino Alpha terdiri dari:
1. Editor program, sebuah window yang memungkinkan user menulis dan melakukan proses editing program dalam bahasa Processing.
2. Compiler, sebuah modul yang mengubah kode program (bahasa Processing) menjadi kode biner.
14
pelaksanaannya akan dilakukan pada dua tempat yaitu tempat tinggal pelaksana dan kampus Fakultas Teknik.
3.2 Tahapan Perencanaan
Dalam pembuatan dibutuhkan langkah-langkah perancangan sebagai berikut: Tabel 3.1 Tahapan Pernecanaan
JENIS
KEGIATAN
BULAN
I II III IV V VI VII VIII
STUDI
LITERATUR
PERENCANAAN
DAN
PERANCANGAN
KONSTRUKSI
ROBOT
PERANCANGAN
SENSOR
KAMERA
PEMROGRAMAN
UJI COBA DAN
PENGAMATAN
PENYUSUNAN
LAPORAN
1. Studi literatur
15
diharapkan dengan menemukan literatur dari penelitian sebelumnya dapat memberikan keyakinan bahwa penelitian ini dapat dilaksanakan dan memberikan arahan untuk mengurangi kesalahan dalam penelitian.
2. Pembelian bahan kebutuhan pembuatan
Tahap kedua adalah mempersiapkan bahan yang diperlukan untuk proses penelitian, bahan ini meliputi komponen-kompenen elektronika dan bahan untuk pembuatan mekanik robot
3. Pengerjaan alat baik mekanik dan rangkaian
Tahap ketiga adalah proses pengerjaan untuk membuat robot, pengerjaan dilakukan mulai dari pembuatan mekanik robot, pembuatan rangkaian elektronik robot, dan pembuatan sistem control yang telah ditransfer dalam bentuk listing program.
4. Pengujian alat
Pengujian dilakukan mulai dari mekanik robot, mekanik yang diharapkan adalah sistem mekanik yang memiliki tingkat presisi yang tinggi, yang berikutnya adalah melakukan uji coba pada rangkaian elektronika seperti misalnya rangkaian mikrokontroler (sistem minimum) dan driver motor, dan yang terakhir melakukan uji coba pada listing program.
5. Penggabungan perangkat yang telah dibuat
Tahap ini akan menggabungkan dari keseluruhan perangkat yaitu mulai dari sistem mekanik robot, rangkaian elektronik, dan listing program yang telah di transfer ke memori mikrokontroler.
6. Pengujian alat dan analisa
3.3 Alat dan Bahan
Alat dan bahan yang digunakan dalam proyek akhir ini adalah : A. Hardware
1. Unit Komputer 2. Kamera CMUcam4 3. Kabel serial / USB 4. Motor Servo
5. Arduino Mega 1250 6. Driver Motor B. Software
1. Propeller tool 2. CMUcam4 GUI 3. Arduino IDE 3.4 Mekanik robot
Mekanik robot menggunakan chassis rover x5 yang dimodifikasi sesuai kebutuhan. Komponen gerak robot terdiri dari dua buah motor penggerak roda kanan dan kiri. Di bagian depan body robot terdapat Gripper yang terintegrasi dengan motor servo. Fungsi Gripper adalah untuk mengambil bola yang akan diseleksi.
.
17
3.5 Blok Perangkat Keras 3.5.1 Sensor Garis
Sensor garis atau sensor proximity adalah sensor yang berfungsi mendeteksi warna garis hitam atau putih. Sensor tersebut memiliki bagian pemancar dan bagian penerima. LED superbright sebagai pemancar cahaya dan photodiode sebagai penerima. Sistem kerja dari sensor tersebut adalah LED akan memancarkan cahaya ke sebuah bidang datar, dan jika bidang tersebut berwarna putih maka cahaya yang dipantulkan dari LED ke photodiode akan banyak dan sebaliknya. Perubahan banyak tidaknya cahaya yang diterima photodiode tersebut yang menyebabkan perubahan resistensi pada photodiode . Sinyal sensor ini kemudian diterima oleh mikrokontroller untuk diolah sehingga dapat diterjemahkan sebagai perintah untuk aksi robot dalam bergerak.
Gambar 3.2 Rangkaian sensor garis pada robot linefollower
3.5.2 Sensor Warna
3.5.3 Gripper
Aktuator ini diguna Gripper terdiri dari servo
ini bekerja sesuai perinta juga digunakan untuk me
Berikut rancangan pe
Gamba
Keterangan :
1. Titik Warna Me 2. Titik Warna Hit Dari model rancanga
unakan untuk mengambil benda yang ada di de vo yang dirangkai dengan bentuk menyerupai lenga ntah yang dikirim dari mikrokontroller. Data dari po uk menentukan perintah aksi robot selanjutnya.
n pembuatan Gripper.
mbar 3.3 Model Rancangan Pembuatan Gripper
Merah = sisi lekukan
Hitam = lubang untuk pengait
angan tersebut hasilnya akan nampak seperti gamba
depan robot. ngan. Gripper ri posisi servo
19
Gambar 3.4 Bentuk Jadi Model Gripper
3.5.4 Driver Motor
Rangkaian driver digunakan untuk mengatur arah putar motor DC dengan arah searah jarum jam atau berlawanan. Terdiri dari empat buah transistor, dengan dua buah transistor kanal N dan dua buah transistor dengan kanal P. Pada saat transistor A dan D aktif, dan transistor B dan C non aktif, maka sisi kiri motor akan terhubug dengan kutub positif dari catu daya, sedangkan sisi kanan akan terhubung dengan negative catu daya, sehingga motor akan bergerak searah jarum jam atau clock wise. Jika transistor B dan C aktif, dan transistor A dan D non aktif, maka sisi kanan motor akan terhubung ke catu daya positif, sedangkan sisi kirinya akan terhubung ke catu daya negative, sehingga motor akan berputar berlawanan arah jarum jam atau counter clock wise.
3.6 Arduino Mega 1250 (Sistem Minimum AVR ATMega 1250)
3.7 Desain Perangkat L Pada program robot pembacaan garis dan menghasilkan informasi y
Gambar 3.6 Pin Map Arduino Mega 1250 Sumber :Digiware
at Lunak
obot line follower sortir benda ini diperlukan beber n penggunaan kamera agar tangkapan kam si yang dibutuhkan oleh robot untuk menentukan ar
21
robot. Metode-metode yang digunakan disini adalah metode untuk membuat pergerakan robot tetap pada garis yang dilalui dan metode untuk membuat citra hasil tangkapan menjadi sesederhana mungkin agar mudah untuk menentukan logika pergerakan robot.
3.7.1 Pembacaan Sensor Garis
Pembacaan sensor garis memanfaatkan perubahan nilai resistansi pada komponen photo diode, dengan terjadinya perubahan nilai resistansi pada photo diode maka tegangan yang diterima oleh pin ADC pada mikrokontroler akan berbeda juga, hal tersebut yang akan digunakan untuk menentukan sensor ketika berada di garis hitam atau putih. Berikut diagram alir pembacaan sensor.
T
Y
Gambar 3.7 Diagram alir pembacaan garis Start
Baca ADC Baca ADC pada bidang abu dan simpan nilai ADC
ADC sekarang > nilai ADC
Garis hitam
Garis putih
23
Dari pembacaan sensor tesebut, didapat beberapa kemungkinan-kemungkinan kondisi sensor di atas garis. Berikut tabel kombinasi sensor.
Tabel 3.2 Kombinasi sensor dan aksi robot
No Kombinasi sensor Aksi robot PWM kanan PWM kiri
1 000001 Serong kanan 0 255
2 000011 Serong kanan 50 200
3 000010 Serong kanan 100 175
4 000110 Serong kanan 100 150
5 000100 Maju 255 255
6 001100 Maju 255 255
7 001000 Maju 255 255
8 011000 Serong kiri 150 100
9 010000 Serong kiri 175 100
10 110000 Serong kiri 200 50
11 100000 Serong kiri 255 0
12 111111 Maju 255 255
Gambar 3.8 Lintasan robot Keterangan :
1. Titik Start 2. Titik Simpangan
3. Titik Pengambilan Bola
4. a. Titik penempatan bola warna merah b. Titik penempatan bola warna biru
3.7.2 Pengenalan Warna
Proses pengenalan warna dimulai dari inisialisasi sistem dan device. Disini akan diset UART serial, sistem warna RGB, resolusi, dll. Setelah sistem sudah siap, maka divais akan mulai menangkap gambar melalui sensor kamera lalu nilainya disimpan pada buffer. Setelah nilai-nilai tiap pixel dan titik tengah benda sudah tersimpan pada buffer maka mulai dilakukanlah proses pengolahan citra sehingga didapat nilai komponen RGB dari yang dilihat kamera. Untuk menentukan apakah
4 a 2
3
25
benda yang ada di depan kamera merah atau biru, digunakan perbandingan antara nilai R mean dan B mean. Jika nilai R mean lebih besar dari B mean maka benda yang ada di depan kamera adalah merah dan sebaliknya.
Gambar 3.9 Blok Diagram Proses Pengenalan Warna
Dalam menentukan warna nilai Rmean dan Bmean diambil untuk dibandingkan yang kemudian diproses ke dalam mikrokontroller. Berikut flowchart proses pencitraan benda.
Pengenalan (Recognition)
Gambar 3.10 Flowchart Pencitraan
3.8 Instalasi CMUcam 3.8.1 Instalasi Hardware
Sebelum perakitan perlu diketahui terlebih dahulu bagian-bagian dari CMUcam yaitu :
a. Modul kamera CMOS Start
Inisialisasi Setting brightness
Ambil gambar (capture)
Rmean > Bmean
Warna biru
Warna merah
End
Y
27
Didalamnya terhadap sensor cahaya yang berfungsi untuk menangkap intensitas cahaya dan warna yang akan diteruskan ke prosesor untuk diolah lebih lanjut.
b. Mainboard
Berisi mikroprosesor yang akan melakukan semua proses pengolahan citra yang telah diprogramkan (firmware).
c. Power adaptor
Bisa berupa baterai atau AC adaptor untuk menyuplai daya yang dibutuhkan mainboard. Tegangan haruslah antara 5.5–10 volt DC. d. MMC
Memory yang berfungsi sebagai tempat penyimpanan data hasil dari pemrosesan yang dilakukan oleh Flowchart sebelumnya.
Setelah mengetahui bagian-bagian dari CMUcam. Berikut langkah-langkah instalasi hardware pada CMUcam4 :
1. Pasang MMC card pada main board
2. Pasang kabel port serial pada modul di pin UART 3. Pasang ujung lain dari kabel port serial ke komputer. 4. Pasang power adaptor pada konektornya.
5. Nyalakan tombol power pada posisi on untuk memastikan CMUcam sudah berjalan dengan baik (lampu indikator merah akan menyala bila CMUcam telah terpasang dengan baik).
3.8.2 Instalasi software
firmware yang akan kita tanamkan pada mikroprosesor dengan menginstalasi dulu beberapa software yang sudah tersedia pada modul kamera CMUcam.
3.9 Blok Diagram, Alogaritma dan Flowchart Sistem
Konsep dari perancangan sistem robot adalah merancang sebuah robot yang dapat mengenali warna objek dan setelah robot mengenali warna objek tersebut dengan perintah yang diberikan, robot akan mengambil objek tersebut dan meletakkannya sesuai pada tempatnya. Algoritma untuk robot line follower sortir benda adalah sebagai berikut :
1. Robot menuju tempat benda yang akan diambil 2. Kamera mendeteksi benda di depannya.
3. Warna benda diproses untuk penentuan keputusan aksi robot 4. Gripper bekerja mengambil benda
5. Robot membaca garis dan titik simpangan tempat peletakan benda 6. Aktuator bekerja untuk meletakkan benda
Gambar 3.11 Blok Diagram Sistem Sensor Garis
Kamera
Roda Kanan dan Roda Kiri Motor Servo
Pemrosesan Citra
29
Gambar 3.12 Flowchart robot linefollower sortir benda start
Scaning sensor garis
Sensor membaca titik
simpangan/pemberhentian Posisi servo = 45
Konter = 0
30
Development Environment), sehingga dengan menggunakan Serial Monitor tersebut dapat mengetahui aktifitas dari sistem yang dibuat. Data yang diambil dalam pengujian robot linefollower diantaranya adalah data nilai ADC sensor ketika seluruh sensor berada di garis warna hitam dan ketika sensor berada di warna putih, kombinasi sensor yang mungkin terjadi sehingga mempengaruhi kondisi perputaran motor kanan dan motor kiri dan untuk selanjutnya melakukan pengujian robot pada lintasan. Untuk pengambilan benda yang akan disortir, dalam hal ini bola berwarna, menggunakan motor servo yang terpasang pada Gripper. Sedangkan untuk penentuan warna yang akan di eksekusi menggunakan sensor kamera CMUcam4. Data dari kamera tersebut berupa nilai rata-rata (mean) dari komponen RGB benda yang akan diambil.
4.1 Pengujian Robot Linefollower
Dalam pengujian robot linefollower ini terdapat beberapa pengujian bagian-bagian yang mempengaruhi nilai output dari sistem.
4.1.1 Pengujian bagian pembacaan ADC
31
sensor dengan memanfaatkan fitur Serial Monitor yang ada pada compiler dari Arduino IDE.
while (millis() < 5000)
{
// ambil nilai maksimal sensor
nilai0 = analogRead(sensor0);
if (nilai0 > max0) {
max0 = nilai0; }
.
.
.
.
nilai7 = analogRead(sensor7);
if (nilai7 > max7) {
max7 = nilai7; }
// ambil nilai minimal sensor
if (nilai0 < min0) {
min0 = nilai0; }
.
.
.
.
if (nilai7 < min7) {
min7 = nilai7; }
}
Fungsi dari millis di atas adalah untuk memberi waktu sensor selama 5 detik pertama saat mikrokontroller dijalankan. Pada saat 5 detik pertama tersebut mikrokontroller merekam nilai adc yang terbaca dari sensor yang kemudian nilainya disimpan untuk proses selanjutnya.
Berikut nilai adc yang ditampilkan dalam Serial Monitor
Gambar 4.1 Nilai adc pada bidang putih
Gambar 4.2 Nilai adc pada bidang abu-abu
33
Untuk mendapatkan nilai tegangan dari yang dibaca mikrokontroller, nilai ADC yang didapat dikonversi menjadi nilai tegangan. Berikut tabel perbandingan tegangan hasil konversi ADC dengan tegangan yang terukur pada sensor.
Tabel 4.1 Perbandingan tegangan pada bidang putih No Sensor Nilai
Tabel 4.2 Perbandingan tegangan pada bidang abu-abu No Sensor Nilai
Dari ketiga tabel di atas terdapat perbedaan nilai tegangan antara tegangan nilai konversi ADC secara teori dengan tegangan yang terukur pada sensor. Hal ini disebabkan tegangan referensi yang terukur pada sensor tidak bernilai 5 V melainkan bernilai 4,8 V.
Dari nilai adc tersebut nantinya digunakan untuk memberi nilai sensor yang terbaca secara digital. Nilai satu (1) atau high menandakan bahwa sensor berada pada bidang berwarna hitam sedangkan nilai nol (0) atau low menandakan bahwa sensor berada pada bidang berwarna putih. Untuk membaca apakah sensor berada pada bidang hitam atau putih dicari nilai tengah dengan menempatkan sensor berada pada bidang yang berwarna abu-abu. Berikut listing program untuk memberi nilai digital pada tiap-tiap sensor.
void baca()
{nilai0 = analogRead(sensor0);
nilai0 = map(nilai0, min0, max0, 0, 1); nilai0 = constrain(nilai0, 0, 1);
Status0 = nilai0; .
. . .
nilai7 = analogRead(sensor7);
nilai7 = map(nilai7, min7, max7, 0, 1); nilai7 = constrain(nilai7, 0, 1);
Status7 = nilai7; }
map(value, fromLow, fromHigh, toLow, toHigh)
35
dipetakan menjadi nilai toHigh. Sedangkan fungsi constrain digunakan untuk memberi batasan nilai yang dihasilkan.
4.1.2 Pengujian Navigasi Robot
Pemberian variabel konter robot line follower difungsikan sebagai sistem penanda robot untuk melakukan gerakan atau navigasi yang diinginkan agar berjalan sesuai dengan tujuan. Selain itu konter digunakan untuk robot agar bisa kembali ke tempat robot mengambil bola. Berikut listing program untuk konter.
void ngonter()
{if (Status0 == 1)
{x = 1;}
else {x = 0;}
presentStatus = x;
if (presentStatus != lastStatus) {
if (presentStatus == HIGH)
{konter++;} }
lastStatus = presentStatus;
}
Tabel 4.4 Pengujian navigasi robot
1 4a Belok kanan Berhasil 7 detik
2 4a Belok kanan Berhasil 7 detik
3 4a Belok kanan Berhasil 8 detik
4 4b Belok kiri Berhasil 9 detik
5 4b Belok kiri Berhasil 10 detik
6 4b Belok kiri Berhasil 10 detik
Dari hasil tabel di atas, secara keseluruhan robot sudah mampu mencapai titik yang dituju dengan waktu tempuh rata–rata 8,5 detik.
4.2 Pengujian Motor Servo
37
if (pos ==5)
{pos += 40;
myservo.write(pos);
delay(2000); }
else
{
pos -= 40;
myservo.write(pos);
delay(2000);
}
Tabel 4.5 Pengujian motor servo
No Nilai posisi servo Berhasil Tidak
1 0 V
-2 45 V
-3 90 V
-4 135 V
-5 180 V
-Dari data hasil pengujian motor servo di atas bahwa motor servo bekerja dengan baik. Untuk posisi servo dengan nilai 0, Gripper dalam kondisi menutup dan untuk posisi servo dengan nilai 180 Gripper dalam kondisi terbuka. Namun nilai posisi servo yang ideal untuk membuka Gripper adalah 45.
4.3 Pengujian Kamera CMUcam4
Gambar 4.4 Aktifitas kamera pada saat mengirimkan data Color Statistic
CMUcam4 GUI memiliki fasilitas untuk mengambil gambar dapat yang disimpan dalam format JPEG dan Bitmap yaitu dengan menggunakan Dump Frame atau Dump Bitmap. Adapun gambar yang dihasilkan kamera ini tidak terlalu bagus namun sudah cukup untuk digunakan sebagai sensor warna. Berikut gambar yang dihasilkan oleh ka mera CMUcam4.
39
4.3.1 Pengujian Komunikasi Serial CMUcam4 dengan Arduino
Berikut listing program untuk mendapatkan Color Statistic kamera
void camera()
{ Serial.begin(19200);
cam.begin();
cam.LEDOn(LED_BLINK);
delay(WAIT_TIME);
cam.autoGainControl(false);
cam.autoWhiteBalance(false);
cam.LEDOn(CMUCAM4_LED_ON);
{ CMUcam4_statistics_data_t data;
cam.getMean(); {
cam.getTypeSDataPacket(&data);
Serial.print(data.RMean); Serial.print('\t');
Serial.print(data.BMean); Serial.print('\t');
delay(5000); }}
Tabel 4.6 Perbandingan Nilai Data CMUcam4 GUI dengan Serial Monitor
No CMU GUI Serial Monitor Error Gambar
Rmean Gmean Bmean Rmean Gmean Bmean Rmean Gmean Bmean 1 131 137 148 123 133 148 6,1 % 2,9 % 0 %
2 123 129 139 130 135 140 5,6 % 4,6 % 0,7 %
3 123 129 148 135 145 167 9,7 % 12,4 % 12,8 %
4 123 129 139 115 129 148 6,5 % 10,8 % 6,4 %
5 148 133 139 148 121 131 0 % 9 % 5,7 %
6 158 135 141 172 149 156 8,8 % 10,3 % 10,6 %
7 148 125 131 139 129 139 6 % 3,2 % 6,1 %
8 139 121 131 156 129 139 12,2 % 6,6 % 6,1 %
41
kamera mengalami overflow sehingga data yang terbaca di mikrokontroller bisa berbeda.
Terlihat bahwa pada percobaan terakhir, nilai komponen dari warna merah memiliki perbedaan yang sedikit dengan komponen warna yang lain jika dilihat dari GUI. Namun pada Serial Monitor terlihat bahwa nilai komponen merah memliki perbedaan yang jauh. Hal ini bisa disebabkan oleh penempatan benda pada saat pengambilan data dengan GUI yang tidak sama dengan penempatan benda pada saat pengambilan data dengan Serial Monitor.
4.3.2 Pengujian Penggolongan Warna
Dalam proses penentuan warna benda yang dilihat kamera, data yang digunakan untuk menentukan keputusan adalah dengan melihat nilai rata-rata indeks RGB yang dikirim oleh kamera. Dalam frame ukuran 80 x 60 pixel, kamera menghitung komponen nilai RGB tiap-tiap pixel dan memberikan informasi data statistik yang ada di depan kamera. Konsep yang digunakan yaitu dengan melihat dan membandingkan nilai dari tiap-tiap komponen RGB. Jika komponen R lebih besar dengan komponen lainnya yaitu komponen G dan B, maka bisa diidentifikasikan bahwa benda yang ada di depan kamera memiliki warna merah. Jika komponen B lebih besar dari komponen R dan G, bisa diartikan benda di depan kamera memiliki warna biru.
Tabel 4.7 Pengaruh nilai Brightness pada nilai RGB benda warna biru
No Brightness R Mean B Mean Selisih
1 -127 24 41 17
Tabel 4.8 Pengaruh nilai Brightness pada nilai RGB benda warna merah
No Brightness R Mean B Mean Selisih
43
Dari tabel pengujian di atas, terlihat bahwa kondisi pencahayaan pada kamera sangat memengaruhi data komponen RGB yang dikirim dari kamera. Semakin kecil nilai brightness yang diberikan maka nilai RGB semakin kecil. Semakin besar nilai brightness yang diberikan, semakin besar pula nilai RGB yang terbaca. Dari kedua
komponen RGB di atas, yaitu komponen Rmean dan komponen Bmean nantinya bisa dikenali warna benda yang ada di depan kamera. Jika komponen Rmean lebih besar dai komponen Bmean maka mikrokontroller akan mendefinisikan benda berwarna merah, sebaliknya jika komponen Bmean lebih besar dari Rmean mikrokontroller akan mendefinisikan warna benda adalah biru.
4.3.3 Pengujian Jarak Jangkauan
Pengujian selanjutnya adalah untuk jarak jangkauan sistem dalam melihat objek yang berada di depannya. Pengujian dilakukan dengan meletakkan objek utama berada di depan dengan jarak mulai 5 cm hingga 10 cm.
Berikut data hasil percobaan pengujian jarak jangkauan kamera terhadap benda.
Tabel 4.9 Pengujian Jarak Jangkauan
Nilai Jarak (cm)
5 6 7 8 9 10
R mean 135 130 120 113 98 81
B mean 96 95 95 92 90 80
Selisih 39 35 25 21 8 1
4.4 Pengujian keseluruhan sistem
Pengujian sistem ini dilakukan dengan beberapa cara untuk mengetahui tingkat keberhasilan dari sistem mekanik dan program yang telah dibuat sebelumnya. Dari hasil pengujian keseluruhan sistem ini dilakukan dengan beberapa cara dan didapatkan hasil sebagai berikut :
1. Pengujian pemberian bola merah
Dalam pengujian ini robot diberi bola warna merah dan menempatkannya pada titik 4a seperti yang terlihat pada lintasan yang dijelaskan pada bab 3. Dari hasil pengujian ini diperoleh data sebagai berikut
Tabel 4.10 Percobaan pemberian bola merah Keberhasilan
45
2. Pengujian pemberian bola biru
Dalam pengujian ini robot diberi bola warna biru dan diharapkan robot dapat menempatkannya sesuai dengan aturan. Dari hasil pengujian ini diperoleh data sebagai berikut
Tabel 4.11 Percobaan pemberian bola biru Keberhasilan
Dari hasil pengujian diperoleh bahwa pada pengujian pertama robot berhasil mendeteksinya dan kemudian menempatkan bola biru sesuai aturan. Namun pada pengujian kedua dan keempat robot gagal untuk mengambil bola biru dan pada pengujian yang kelima hingga kedelapan robot berhasil kembali mengambil bola biru dan menempatkannya sesuai dengan aturan. Dari hasil ini dapat dikatakan bahwa tingkat keberhasilan robot untuk mengambil bola biru adalah sebesar 75 %. Kegagalan dalam pengambilan bola biru ini dapat disebabkan oleh penempatan bola yang kurang tepat dan juga bisa disebabkan interferensi cahaya led dari kamera CMU.
3. Pemberian bola secara acak
Tabel 4.12 Pemberian bola secara acak
No Pemberian Bola Berhasil Tidak
1 Biru V
-2 Biru V
-3 Merah V
-4 Biru - V
5 Merah V
-6 Merah V
-7 Biru V
-8 Merah V
-9 Merah V
-10 Biru - V
47
BAB 5. KESIMPULAN 5.1 Kesimpulan
1. Secara keseluruhan sistem navigasi pada robot linefollower sortir benda mampu bekerja dengan baik. Tingkat keberhasilan robot dalam menempatkan bola warna biru adalah 75 %, sedangkan untuk bola warna merah adalah 87,5 % dan untuk pemberian bola secara acak sebesar 80 %.
2. Nilai brightness yang diberikan mempengaruhi nilai komponen Rmean dan Bmean yang didapat. Semakin besar nilai brightness semakin besar pula nila komponen Rmean dan Bmean yang didapat. Nilai Rmean pada kondisi brightness 127 adalah 246 sedangkan pada kondisi -127 nilainya adalah 32.
3. Semakin besar selisih komponen Rmean dengan Bmean semakin bagus kinerja kamera dalam mengenali warna benda. Perbedaan nilai Rmean dengan Bmean yang besar bisa diartikan kamera mampu membedakan waena benda. Nilai selisih terbesar Rmean dengan Bmean adalah 17.
5.2 Saran
Adapun saran yang dapat diberikan penulis adalah :
1. Perlu dikembangkan lebih lanjut algoritma penentuan dan pengenalan warna dari data-data yang didapat dari sensor kamera agar kesalahan dalam mengenali warna dapat ditanggulangi.
48
Agyeman, Kwabena W. 2012. CMUcam4 Reference. Carnegie Mellon University.
Anymous, Fakultas Teknik Informatika Universitas Kristen Duta Wacana. 2005. Kompresi citra. http://fmipa.usu.ac.id/bahankuliah. html?download=7%3Abahan-kim-dan-cs
Banzi, Massimo. 2007. Arduino Learning. San Francisco : Creative Commons.
Budiharto, Widodo. 2010. 10 Proyek Robot Spektakuler. Yogyakarta : Elex Media Komputindo.
Digiware. 2012. Panduan Basic Arduino Training 2012. Surabaya : Digiware Unlimited Innovation.
Rowe, Anthony. 2007. CMUcam4: An Open Programmable Embedded Vision Sensor. http://www.CMUcam3.org/.
Sigit, Riyanto. 2006. Praktikum Pengolahan Citra Bab Pendahuluan. H
http://lecturer.eepis-its.edu/~riyanto/citra-bab1.pdf
Sigit, Riyanto. 2006. praktikum pengolahan citra bab dasar pengolahan citra(1). http://lecturer.eepis-its.edu/~riyanto/citra-bab2.pdf
Sigit, Riyanto. 2006. praktikum pengolahan citra bab dasar pengolahan citra(2). Hhttp://lecturer.eepis-its.edu/~riyanto/citra-bab3.pdf
Lampiran . Listing program line follower robot
#include <CMUcam4.h> #include <CMUcom4.h> #include <Servo.h>
Servo servoku; //buat objek servo utk ngontrol servo int pos = 0 ; // variabel utk menyimpan posisi servo #define LED_BLINK 5 // 5 Hz
#define WAIT_TIME 5000 // 5 seconds CMUcam4 cam(CMUCOM4_SERIAL3);
const int sensor0 = A0;
const int sensor1 = A1; //pin sensor A0 - A7 const int sensor2 = A2;
const int sensor3 = A3; const int sensor4 = A4; const int sensor5 = A5; const int sensor6 = A6; const int sensor7 = A7; const int ledPin = 10;
const int led1 = 26; //led konter 1 const int led2 = 30; //led konter 2 const int en1 = 6;
const int en2 = 7; const int maju1 = 38; const int maju2 = 39; const int mundur1 = 40; const int mundur2 = 41; const int ledR = 15; const int ledG = 16; const int ledB = 17;
int Status0, Status1, Status2, Status3, Status4, Status5, Status6, Status7, x, y, B, R, a, simpan ;
int lastStatus, konter, presentStatus = 0;
void setup() {
Serial.begin(19200);
servoku.attach(9); //menentukan pin untuk servo servoku.write(45);
delay(2000);
servoku.write(0);
pinMode(mundur2, OUTPUT); pinMode(ledR, OUTPUT); pinMode(ledG, OUTPUT); pinMode(ledB, OUTPUT); digitalWrite(13, HIGH); while (millis() < 5000)
{ nilai0 = analogRead(sensor0); if (nilai0 > max0) {
if
((konter==0)||(konter==1)||(konter==2)||(konter==6)||(kon ter==10) )
{jalanmaju(); }
else if ((konter==4)||(konter==8)) { jalanmundur();
}
delay(1000);
{ nilai0 = analogRead(sensor0);
nilai0 = map(nilai0, min0, max0, 0, 1); nilai0 = constrain(nilai0, 0, 1);
Status0 = nilai0;
nilai1 = analogRead(sensor1);
nilai1 = map(nilai1, min1, max1, 0, 1); nilai1 = constrain(nilai1, 0, 1);
Status1 = nilai1;
nilai2 = analogRead(sensor2);
nilai2 = map(nilai2, min2, max2, 0, 1); nilai2 = constrain(nilai2, 0, 1);
Status2 = nilai2;
nilai3 = analogRead(sensor3);
nilai3 = map(nilai3, min3, max3, 0, 1); nilai3 = constrain(nilai3, 0, 1);
Status3 = 1;
nilai4 = analogRead(sensor4);
nilai4 = map(nilai4, min4, max4, 0, 1); nilai4 = constrain(nilai4, 0, 1);
Status4 = nilai4;
nilai5 = analogRead(sensor5);
nilai5 = map(nilai5, min5, max5, 0, 1); nilai5 = constrain(nilai5, 0, 1);
Status5 = nilai5;
nilai6 = analogRead(sensor6);
nilai6 = map(nilai6, min6, max6, 0, 1); nilai6 = constrain(nilai6, 0, 1);
Status6 = nilai6;
nilai7 = analogRead(sensor7);
nilai7 = constrain(nilai7, 0, 1); Status7 = nilai7;
}
void ngonter()
{if ((Status0 == 1)&&(Status1==1)) {x = 1;}
else {x = 0;}
presentStatus = x;
if (presentStatus != lastStatus) { if (presentStatus == HIGH)
{konter++;} }
{ CMUcam4_statistics_data_t data;
cam.getMean(); // Start streaming statistics data. { cam.getTypeSDataPacket(&data);
if (data.RMean < BMean) {digitalWrite(ledB,HIGH); B=1;}
else{digitalWrite(ledR,HIGH); R=1;}
/*else if (data.BMean < data.RMean) {digitalWrite(ledR,HIGH);
R=1;}// Do something else here.*/ }