LANDASAN TEORI
(http://ilmukomputer.internux.net.id/berseri/tharomrobot/index.php)
Secara keseluruhan tujuan dari sistem computer vision adalah membuat model
dunia nyata dari sebuah gambar. Sebuah sistem computer vision memperbaiki
informasi yang berguna mengenai scene dari proyeksi dua-dimensi. Gambar proyeksi
dua-dimensi berasal dari dunia tiga-dimesi, maka informasi yang didapat tidak
langsung tersedia dan harus diperbaiki. Perbaikan ini memerlukan inversi yang banyak
dari satu pemetaan. Pengetahuan mengenai objek-objek pada scene dan proyeksi
geometri sangat diperlukan dalam memperbaiki informasi tersebut.
Gambar 2.1. merupakan salah satu aplikasi sistem computer vision. Gambar
tersebut menjelaskan tentang diagnosa suatu penyakit dengan menggunakan gambar
tomografi yang diolah oleh komputer. Sistem computer vision membantu dokter untuk
memperbaiki informasi dengan meningkatkan kualitas gambar. Pengukuran kuantitatif
pada daerah yang diinginkan juga dapat dibuat tersedia dengan mudah. 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 dari pembuatan pizza hingga pemilihan buah jeruk atau
apel yang berkualitas.
10
Computer vision itu sendiri adalah sebuah bagian dari kecerdasan buatan dan
pengolahan citra yang dihubungkan oleh komputer untuk melakukan pemrosesan citra
digital yang berasal dari lingkungan sekitar. Gambar 2.2 misalnya, computer vision
pada dasarnya membutuhkan kombinasi dari pengolahan citra tingkat dasar untuk
memperbaiki kualitas citra (contohnya menghilangkan noise) dan tingkat yang lebih
lanjut berupa pengenalan pola serta interpretasi citra untuk mendapatkan informasi
yang terdapat di dalam gambar yang berhasil ditangkap oleh sebuah sensor visual.
Computer vision adalah aplikasi lain yang berhubungan dengan AI, merupakan
alat analisis dan evaluasi informasi visual dengan menggunakan komputer. Tekhnik AI
memungkinkan komputer untuk bisa menguji sebuah gambar atau adegan nyata dengan
mengidentifikasi objek, cirinya atau polanya. (Nathaniel, 2007, p8)
Computer vision pada bidang robotik biasa disebuat 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. Pada skripsi yang penulis kerjakan segmentasi dan recognition
merupakan bagian terpenting yang akan digunakan nantinya.
2.1.1 Segmentasi
Segmentasi adalah proses yang membagi sebuah scene yang menjadi
bagian-bagian dari penyusunnya atau sebuah objek. Segmentasi merupakan
11
salah satu elemen yang paling penting dari sebuah sitem vision otomatis, karena
pada tahap pengolahan objek yang diambil dari sebuah scene untuk recognition
selanjutnya dan dianalisis. Algoritma segmentasi umumnya didasarkan pada
salah satu dari dua prinsip dasar: diskontinuitas dan kesamaan. Pendekatan
utama yang pertama adalah berdasarkan batas deteksi: pendekatan utama yang
kedua adalah yang berbasiskan di wilayah threshold dan berkembang. Konsepkonsep ini berlaku baik untuk statis maupun dinamis scene. (K.S.Fu, dkk.,
1987, p296)
Suatu gambar yang tersegmentasi akan memisahkan antara objek dengan
backgroundnya. Objek recognition dan masalah segmentasi berhubungan erat
dalam banyak kasus. Contoh di beberapa aplikasi, ada kemungkinan segmentasi
keluar dari objek dengan mudah. Contohnya ketika objek belum tersegmentasi,
masalah recognition berhubungan erat dengan masalah segmentasi.
Secara tidak langsung dapat dikatakan bahwa segmentasi citra merupakan
suatu proses pengelompokkan citra menjadi beberapa region berdasarkan
kriteria tertentu. Berdasarkan pengertiannya, segmentasi memiliki tujuan
menemukan karakteristik khusus yang dimiliki suatu citra. Oleh karena itulah,
segmentasi sangat diperlukan pada proses pengenalan pola. Semakin baik
kualitas segmentasi maka semakin baik pula kualitas pengenalan polanya.
Secara umum ada beberapa pendekatan yang banyak digunakan dalam
proses segmentasi antara lain :
12
b) teknik region-based, yaitu pengelompokkan citra kedalam regionregion tertentu secara langsung berdasar persamaan karakteristik
suatu area citranya.
(http://www.ittelkom.ac.id/library/index.php?view=article&catid=20%3Ainformat
ika&id=575%3Asegmentasi-citra&option=com_content&Itemid=15)
2.1.2 Recognition
Recognition adalah proses pelabelan: yaitu, fungsi algoritma recognition
adalah untuk mengidentifikasi setiap objek yang tersegmnetasi dalam scene dan
untuk menetapkan label (nama) objek tersebut. Sebagian besar tahap sistem
recognition dalam vision industri beroperasi pada asumsi bahwa objek dalam
sebuah scene telah tersegmentasi sebagai unit personal. Kendala lain yang
13
umum dihadapi adalah bahwa gambar diperoleh dengan melihat geometri yang
dikenalnya (biasanya tegak lurus dengan wilayah kerja). Hal ini menurunkan
varibilitas pada karakteristik bentuk dan penyederhanaan segmentasi dan
deskripsi dengan mengurangi kemungkinan terjadinya oklusi. Variabilitas
dalam objek orientasion ditangani dengan memilih rotasi deskripsi-invarian
atau dengan menggunakan sumbu utama objek untuk mengarahkannya ke arah
yang telah ditetapkan.
Pendekatan recognition sering digunakan saat ini dengan membaginya
menjadi dua kategori utama: decision theory dan struktural. Metode decision
theory didasarkan pada deskripsi kualitatif (contoh tekstur statistik), sedangkan
metode struktural mengandalkan deskripsi simbolik dan hubungannya (contoh
urutan arah dalam batas kode rantai). (K.S.Fu, dkk., 1987, p296)
2.2 Warna
Sistem visual manusia dapat membedakan ratusan ribu shade warna dan
intersitas, tetapi hanya 100 shade keabun. Oleh sebab itu, dalam suatu citra, masih
banyak informasi lainnya yang ada pada warna, dan informais terse-but juga dapat
digunakan untuk menyederhanakan analisis citra, misalkan identifikasi objek dan
ekstraksi warna. Tiga kuatisasi yang dapat digunakan untuk menggambarkan warna:
hue ditentukan oleh dominan panjang gelombang. Warna yang dapat dilihat oleh mata
memiliki panjang gelombang antara 400 nm (violet) 700 nm (red) pada spektrum
electromagnetic seperti pada gambar 2.3.
14
15
Warna secara utuh bergantung pada sifat pantulan (reflectance) suatu objek.
Warna yang dilihat merupakan yang dipantulkan, sedangkan yang lainnya diserap.
Sehingga sumber sinar perlu diperhitungkan begitu pula sifat alami system visual
manusia ketika menangkap suatu warna. Sebagai contoh, suatu objek yang
memantulkan sinar merah dan hijau akan tampak berwarna hijau apabila benda tersebut
disinari oleh sinar hijau (tanpa adanya sinar merah). Demikian juga sebaliknya, objek
akan tampak berwarna merah apabila tidak terdapat sinar hijau. Apabila benda tersebut
disinari oleh sinar putih, maka objek tersebut berwarna kuning (merupakan gabungan
warna hijau + merah).
Gambar 2.4 Spectral response curves for each cone type. The peaks for each curve are
at 440nm (blue), 545nm (green) and 580nm (red).
16
CIE primaries
Teori tritimulus persepsi warna dapat dilihat bahwa suatu warna dapat
diperoleh dari suatu campuran tiga warna utama: merah, hijau dan biru (Red Green
Blue). Meskipun hampir setiap warna yang tampak dapat ditentukan sesuai dengan tiga
komponen diatas, tetapi masih terdapat beberapa warna yang tidak dapat diuraikan
sebagai kombinasi dari ketiga warna dasar tersebut. Bagaimanapun juga apabila salah
satu dari ketiga komponen warna dasar tersebut ditambahkan ke warna yang tidak dapat
dicocokkan tadi, maka warna yang tidak dapat dicocokkan tersebut dapat dicocokkan
dengan campuran dari dua warna dasar lain. Hal ini menunjukkan bahwa warna dapat
memiliki nilai bobot negatif dari ketiga komponen warna dasar tersebut. Pada tahun
1931, Commission Internationale de l Eclairage (CIE) mendefinisikan tiga standar
komponen warna utama : X, Y dan Z. yang dapat ditambahkan untuk membentuk
semua kemungkinan warna. Warna utama Y dipilih sedemikian rupa sehingga fungsi
kecocokan warnanya secara tepat mencocokkan fungsi luminous efisiensi mata manusia
berdasarkan penjumlahan ketiga warna seperti pada gamabar 2.5.
Diagram Chromaticity (Gambar 2.5) menunjukkan semua visible colours.
Sumbu x dan y merupakan nilai normalisasi warna utama X dan Y untuk suatu warna,
dan z =1-x-y menyatakan jumlah Z utama yang diperlukan. Chromaticity bergantung
pada panjang gelombang dan saturation dominan, dan tidak bergantung pada energi
luminan. Warna dengan nilai chromaticity yang sama tetapi dengan luminan berbeda
akan terpetakan pada titik yang sama di regian tersebut.
17
Gambar 2.5: Diagram CIE Chromaticity menunjukkan semua visible colours. x dan y
adalah jumlah normalisasi kemunculan X and Y primaries, z = 1 x -y menentukan
jumlah Z primary yang dibutuhkan.
Warna spectrum utama murni berada pada bagian kurva batas daerah, dan suatu
sinar putih standar memiliki warna yang didefinisikan berada dekat (tetapi tidak di) titik
dengan persamaan energi x = y = z =1/3. Warna komplementer, yaitu warna yang
ditambahkan ke warna putih, berada di titik akhir suatu garis yang melewati titik
tersebut. Sebagai ilustrasi pada gambar 2.4, semua warna yang berada di dalam segitiga
dapat dibentuk dari campuran warna yang berada pada verteks (garis) segitiga. Dari
ilustrasi grafik tersebut, semua warna visible tidak dapat diperoleh dari campuran warna
utama R, G dan B (atau dari tiga visible warna lainnya), karena bentuk diagramnya
bukan segitiga.
18
2.3 Robot
Siapa yang tidak mengenal robot. Perkembangan tekhnologi ini semakin pesat.
Robot berasal dari kata robota yang dalam bahasa Ceko yang berarti budak, pekerja
atau kuli. Pertama kali kata robota diperkenalkan oleh Karel Capek dalam sebuah
pentas sandiwara pada tahun 1921 yang berjudul RUR (Rossums Universal Robot).
Pentas ini mengisahkan mesin yang menyerupai manusia yang dapat bekerja tanpa
lelah yang kemudian memberontak dan menguasai manusia. Istilah robot ini
kemudian mulai terkenal dan digunakan untuk menggantikan istilah yang dikenal saat
itu, yaitu automaton.
( http://nugroho.staff.uii.ac.id/2009/02/01/apa-sih-robot-itu/ )
Menurut S. Brian Morris, robot adalah mesin yang dapat diprogram kembali
dengan beberapa derajat kebebasan mandiri yang dapat bertukar informasi dengan
peralatan lain. Namun definisi ini juga menyatakan secara tidak langsung bahwa
19
komputer yang mengendalikan derajat kebebasan yang merupakan bagian dari suatu
robot. Dengan kata lain, bila merujuk dari dua definisi yang disebutkan bahwa robot
merupakan suatu mesin yang dapat diprogram kembali untuk bergerak ke segala posisi
selama masih berada di dalam batasan setiap derajat kebebasan. (S.Brian Morris, 1995,
p232)
Robot juga dapat didefinisikan sebagai sebuah alat mekanik yang dapat
melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun
menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan buatan).
( http://id.wikipedia.org/wiki/Robot )
Robot biasanya digunakan khususnya dalam bidang indutri yaitu melakukan
tugas-tugas yang berat untuk menggantikan manusia, seperti robot pembersih limbah
beracun. Namun, dengan semakin berkembangnya tekhnologi serta ilmu dibidang
robotic, memungkinkan robot dikembangan secara luas. Sehingga tidak terpaku pada
bidang indutri saja, melainkan merambah ke bidang lainnya, yaitu pertahanan,
akademik bahkan hiburan. Khusus untuk bidang akademik, robot biasa digunakan oleh
para hobbyist atau akademik untuk pengembangan maupun coba-coba. Biasanya robot
yang digunakan oleh para hobbyist ini bisa berupa robot rakitan yang sederhana atau
robot yang sudah jadi.
20
Pada gambar 2.7 merupakan gambar dari LEGO Corporation dengan tipe
mindstroms NXT. Lego mindstroms ini merupakan generasi terbaru dalam
pendidikan
di
mengaplikasikan
bidang
ilmu
robotik,
yang
pengetahuan,
memudahkan
tekhnologi
dan
penggunanya
untuk
matematik
secara
21
2.4 AVR
AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis
arsitektur RISC ( Reduced Instruction Set Komputer ). Hampir semua instruksi
dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose,
timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial
UART, programmable Watchdog Timer, dan mode power saving, ADC dan PWM
internal. AVR juga mempunyai In-System Programmable Flash on-chip yang
mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan
hubungan serial SPI. ATMega16.
ATMega16 mempunyai
2.
22
3.
Peripheral Features
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
4.
Six Sleep Modes: Idle, ADC Noise Reduction, Power-save Powerdown, Standby
and Extended Standby
5.
6.
Operating Voltages
23
Pin-pin pada ATMega16 dengan kemasan 40-pin DIP (dual inline package). Guna
memaksimalkan performa, AVR menggunakan arsitektur Harvard (dengan memori dan
bus terpisah untuk program dan data). Berikut adalah gambar dari AVR Atmega16
Seperti yang terlihat pada gambar 2.8, ATMega16 mempunyai empat buah port
yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur
bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register
bit, yaitu DDxn, PORTxn, dan PINxn. Huruf xmewakili nama huruf dari port
sedangkan huruf n mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx,
bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O
address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan
arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0
maka Px berfungsi sebagai pin input.Bila PORTxn diset 1 pada saat pin terkonfigurasi
sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor
pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port
24
adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi
sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat
pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah
kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high
(DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up
enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).
Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan
impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver
dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register
SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari
kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang
sama. Kita harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi
output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.
Pada AVR Atmega16 memiliki timer. Timer/counter adalah fasilitas dari
ATMega16 yang digunakan untuk perhitungan pewaktuan. Beberapa fasilitas chanel
dari timer counter antara lain: counter channel tunggal, pengosongan data timer sesuai
dengan data pembanding, bebas -glitch, tahap yang tepat Pulse Width Modulation
(PWM), pembangkit frekuensi, event counter external.
(http://ilmukomputer.org/wp-content/uploads/2008/08/sholihul-atmega16.pdf )
2.5 LM7805
IC regulator 7805 adalah IC yang berguna untuk menstabilkan tegangan yang
masuk ke rangkaian jika terjadi perubahan tegangan yang masuk ke rangkaian listrik.
25
Fungsi IC ini juga untuk menyaring tergangan yang besarnya lebih dari 5v dan diubah
ke tegangan 5v sesuai dengan yang diinginkan oleh komponen rangkaian listrik
26
Pada rangkaian dalam gambar 2.10, terdapat capasitor yang berada pada rangkaian,
fungsi dari kapasitor pertama (Cin) adalah untuk meratakan tegangan dan fungsi dari
kapasitor ke 2 Co adalah untuk memperbaiki atau menstabilkan tegangan yang telah
diubahkan.
( http://belajar-elektronika.com/datasheet/regulator-tegangan-positif-lm78xx/ )
2.6 L293
L293 merupakan driver motor sirkuit terintegrasi yang dapat digunakan untuk
simultan, bidirectional kontrol dua motor kecil. L293 ini terbatas untuk 600 mA. L293
memiliki 16 pin dalam IC nya, dan memiliki 2 jalur sirkuit terpadu. ( W. Durfee,
Desember 01 )
Gambar 2.11 merupakan skematik pin dari ICL293
IC L293 dapat digunakan dengan memberikan logika. Logika yang digunakan adalah
1 ( High ) dan 0 ( Low ). Logika untuk menggerakan motor DC dengan menggunakan IC
L293 dapat dilihat pada tabel 2.1.
27
Input A
Input B
Reaksi motor
DC
Motor ke kanan
Motor ke kiri
1/0
0 /1
Berhenti cepat
Acak
Acak
Berhenti lambat
(http://www.cambierobotics.com/HTML/Robotics/L293%20Motor%20Driver%201.pdf )
2.7 Motor DC
Didalam setiap motor listrik, operasi yang terjadi didasarkan pada elektromagnetis
sederhana. Magnet memiliki polaritas yang berlawanan yaitu kutub positif dan kutub
negatif. Apabila 2 buah kutub yang berbeda bertemu, maka magnet akan saling tarikmenarik sehingga dapat melekat satu sama lain. Apabila 2 buah kutub yang sama polaritas
nya bertemu, maka magnet akan saling tolak-menolak dan akan menjauh satu sama lain.
Seperti yang terlihat pada gambar 2.12, motor DC memiliki bagian-bagian dasar, yaitu
rotor, stator, magnet. Stator adalah bagian yang memiliki magnet didalamnya yang
memilki kutub yang berbeda. Stator merupakan termasuk casing dari motor DC. Rotor
yaitu bagian dalam motor DC yang berputar akibat adanya kumparan yang dililitkan.
Lilitan yang membentuk kumparan akan dialiri arus sehingga kumparan tersebut memiliki
polaritas seperti magnet. Adanya medan magnet pada stator dan rotor inilah yang
mengakibatkan motor DC dapat bergerak.
28
2.8 Kamera
2.8.1 WebCam
Webcam merupakan kamera yang dapat digunakan bersamaan dengan perangkat
komputer maupun dengan perangkat lain.
29
untuk penggunaan aplikasi yang ada didalam software webcam. Kemampuan lain
dalam webcam ini adalah memiliki kemampuan sampe 30 frame per detik.
2.8.2 CMUcam3
30
31
Camera view, yang dapat digunakan untuk mengetahui objek yang ada didepan
kamera
Colour, fitur ini digunakan untuk mendeteksi letak suatu objek berdasarkan
warna yang dimiliki oleh objek
Motions, dapat digunakan untuk memberikan tanda dimana letak dari objek
berdasarkan centroid atau titik tengah dari benda
CMUcam3 adalah sebuah perangkat keras yang digabungkan dengan software yang
pengembangannya terbuka secara luas. Hal ini ditargetkan kepada pengguna yang sudah
terbiasa melakukan pengolahan gambar dan juga sudah terbiasa melakukan pemrograman
dengan menggunakan mikrokontroller.
32
33
34
tersebut maka kita memiliki 3 batas minimum dan 3 batas maksimum. Adanya batasbatas tersebut maka dapat membatasi warna-warna yang ingin dicari oleh cmucam
tersebut.
Setelah menentukan warna apa yang akan dilacak, maka cmucam akan
menentukan batas dan memproses batas yang akan dilacaknya. Pada cmucam, akan
menggunakan algoritma dimana cmucam akan merekam gambar yang ada di
depannya. Pertama-tama cmucam akan memulai mendeteksi dari bagian kiri atas, dan
terus memeriksa setiap baris pixel object yang dilihatnya. Pixel yang terdeteksi oleh
kamera menghasilkan pixel yang sama, maka pixel tersebut akan menjadi panduan
cmucam untu mentracking object tersebut. Hal ini berfungsi pada saat benda menjauh,
cmucam akan dapat mendeteksi letak benda berada di paling atas , bawah, kiri atau
kanan dari jangkauan penglihatan cmucam tersebut. Cmucam akan dapat mendeteksi
pixel horizontal dan pixel vertical dan disaat digabungkan maka cmucam akan
mengenali object yang dicari berada dimana.
(http://www.seattlerobotics.com/CMUcam3_datasheet.pdf)
2.9 Arduino
Arduino merupakan sebuah perangkat elektronik yang memiliki sifat open-source
dengan kemampuan fleksibel, dengan hardware dan software yang mudah digunakan.
Software Arduino berisi editor teks yang digunakan untuk menulis kode, teks konsol, dan
terdapat sebuah toolbar dengan tombol fungsi secara umum. Pengguna dapat memasukan
sebuah perintah dalam bentuk coding, kemudian ketika software melakukan compile,
35
secara langsung software akan memberikan umpan balik tentang coding yang dimasukan,
apakah terdapat error ataupun tidak.