bab 2 landasan teori 2.1 computer visionlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2011-2-00654- sk...

29
7 BAB 2 LANDASAN TEORI 2.1 Computer Vision Machine vision merupakan salah satu cabang ilmu yang sering digunakan untuk pengembangan bidang robotik. Cabang ilmu ini lebih dikenal dengan sebutan computer vision. Cabang ilmu ini mempelajari bagaimana komputer dapat mengenali objek yang diamati/ diobservasi. Computer vision merupakan kombinasi dari: Pengolahan Citra (Image Processing) Bidang ini berhubungan dengan proses transformasi citra/ gambar. Proses ini bertujuan untuk mendapatkan kualitas citra yang lebih baik. Pengenalan Pola (Pattern Recognition) Bidang ini berhubungan dengan proses identifikasi objek pada citra atau interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi/ pesan yang disampaikan oleh gambar/ citra. (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

Upload: doanh

Post on 20-Apr-2018

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

BAB 2

LANDASAN TEORI

2.1 Computer Vision

Machine vision merupakan salah satu cabang ilmu yang sering digunakan untuk

pengembangan bidang robotik. Cabang ilmu ini lebih dikenal dengan sebutan computer

vision. Cabang ilmu ini mempelajari bagaimana komputer dapat mengenali objek yang

diamati/ diobservasi. Computer vision merupakan kombinasi dari:

• Pengolahan Citra (Image Processing)

Bidang ini berhubungan dengan proses transformasi citra/ gambar. Proses ini

bertujuan untuk mendapatkan kualitas citra yang lebih baik.

• Pengenalan Pola (Pattern Recognition)

Bidang ini berhubungan dengan proses identifikasi objek pada citra atau

interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi/ pesan

yang disampaikan oleh gambar/ citra.

(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

Page 2: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

8  

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.

Gambar 2.1 Gambar X-Ray

Sumber Gambar :

http://www.allposters.com/-sp/Bronchitis-Chest-X-Ray-Adult-Posters_i4257631_.htm

Page 3: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

9  

Di bidang kesehatan, gambar-gambar medis dapat diproses oleh sistem yang

ada didalam komputer ( machine vision ) untuk membantu dalam hal diagnosa sebuah

penyakit. Gambar 2.1 merupakan contrast-enhanced CT ( tranverse X-ray computed

tomography ) dari sebuah paru-paru manusia. (Ramesh Jain, dkk., 1995, p1)

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).

Gambar 2.2 Penggunaan Computer Vision

Sumber gambar : http://psychology.wikia.com/wiki/Computer_vision

Page 4: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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

Page 5: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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. Konsep-

konsep 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 :

Page 6: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

12  

a) teknik threshold, yaitu pengelompokan citra sesuai dengan distribusi

properti pixel penyusun citra.

b) teknik region-based, yaitu pengelompokkan citra kedalam region-

region tertentu secara langsung berdasar persamaan karakteristik

suatu area citranya.

c) edge-based methods, yaitu pengelompokkan citra kedalam wilayah

berbeda yang terpisahkan karena adanya perbedaan perubahan warna

tepi dan warna dasar citra yang mendadak.

Pendekatan pertama dan kedua merupakan contoh kategori pemisahan

image berdasarkan kemiripan area citra, sedangkan pendekatan ketiga

merupakan salah satu contoh pemisahan daerah berdasarkan perubahan

intensitas yang cepat terhadap suatu daerah.

(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

Page 7: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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.

Page 8: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

14  

Gambar 2.3 Visible Spectrum

• (Saturation) ditentukan oleh tingkat kemurnian, dan tergantung pada jumlah sinar

putih yang tercampur dengan hue. Suatu warna hue murni adalah secara penuh

tersaturasi, yaitu tidak ada sinar putih yang tercampur. Hue dan saturation digabungkan

menentukan chromaticity suatu warna. Intensitas ditentukan oleh jumlah sinar yang

diserap. Semakin banyak sinar yang diserap semakin banyak tinggi intensitas warnanya.

• Sinar Achromatic tidak memiliki warna, tetapi hanya ditentukan oleh atribut

intensitas. Tingkat keabuan (Greylevel) adalah ukuran intensitas yang ditentukan oleh

energi, sehingga merupakan suatu kuantitas fisik. Dalam hal lain, brightness atau

luminance ditentukan oleh persepsi warna (sehingga dapat merupakan efek

psychology). Apabila diberikan sinar biru dan hijau dengan intensitas yang sama, sinar

biru diterima (perceived) lebih gelap dibandingkan sinar hijau. Sehingga dapat

dikatakan bahwa persepsi intensitas manusia adalah non-linear, misalkan perubahan

intensitas yang dinormalisasi dari 0.1 ke 0.11 dan 0.5 ke 0.55 akan diterima dengan

perubahan tingkat kecerahan (brightness) yang sama.

Page 9: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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).

2.2.1 Teori Tristimulus Persepsi Warna

Retina manusia memiliki 3 jenis cones. Respon setiap jenis cone sebagai suatu

fungsi panjang gelombang (gambar 2.4). Pada Gambar 2.4, puncak setiap kurva warna

adalah ada 440 nm (biru), 545 nm (hijau) dan 580 nm (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).

Page 10: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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.

Page 11: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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.

Page 12: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

18  

Gambar 2.6: Warna Campuran pada Diagram Chromaticity

(Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra)

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 (Rossum’s 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

Page 13: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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.

Page 14: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

20  

2.3.1 LEGO NXT

Gambar 2.7 LEGO NXT Mindstroms

Sumber : foto penulis

Pada gambar 2.7 merupakan gambar dari LEGO Corporation dengan tipe

mindstroms NXT. Lego mindstroms ini merupakan generasi terbaru dalam

pendidikan di bidang robotik, yang memudahkan penggunanya untuk

mengaplikasikan ilmu pengetahuan, tekhnologi dan matematik secara

menyenangkan, menarik dan mudah dalam pembuatannya. Dengan adanya

kombinasi dari LEGO building system dengan tekhnologi LEGO MINDSTROMS,

pengguna dengan mudah dapat merancang, membangun, memprogram bahkan

menguji robot tersebut. Dalam hal ini, bisa dikatakan secara tidak langsung

membuat pengguna menjadi lebih kreatif untuk menyelesaikan berbagai masalah

dalam pembuatan robot mindstroms NXT ini.

Ada pun fitur-fitur yang terdapat di dalamnya antara lain advanced 32-bit

computer controlled NXT brick, interactive servo motors, sounds, ultrasonic dan

sensor lainnya, bluetooth communication dan beberapa kemampuan donwload.

( http://mindstorms.lego.com/en-us/default.aspx )

Page 15: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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 throughput mendekati 1 MIPS per MHz membuat

disainer sistem untuk mengoptimasi konsumsi daya versus kecepatan proses.

Beberapa keistimewaan dari AVR ATMega16 antara lain:

1. Advanced RISC Architecture

• 130 Powerful Instructions – Most Single Clock Cycle Execution

• 32 x 8 General Purpose Fully Static Operation

• Up to 16 MIPS Throughput at 16 MHz

• On-chip 2-cycle Multiplier

2. Nonvolatile Program and Data Memories

• 8K Bytes of In-System Self-Programmable Flash

• Optional Boot Code Section with Independent Lock Bits

• 512 Bytes EEPROM

• 512 Bytes Internal SRAM

• Programming Lock for Software Security

Page 16: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

22  

3. Peripheral Features

• Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode

• Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes

• One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture

Mode

• Real Time Counter with Separate Oscillator

• Four PWM Channels

• 8-channel, 10-bit ADC

• Byte-oriented Two-wire Serial Interface

• Programmable Serial USART

4. Special Microcontroller Features

• Power-on Reset and Programmable Brown-out Detection

• Internal Calibrated RC Oscillator

• External and Internal Interrupt Sources

• Six Sleep Modes: Idle, ADC Noise Reduction, Power-save Powerdown, Standby

and Extended Standby

5. I/O and Package

• 32 Programmable I/O Lines

• 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF

6. Operating Voltages

• 2.7 - 5.5V for Atmega16L

• 4.5 - 5.5V for Atmega16

Page 17: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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

Gambar 2.8 AVR Atmega16

Sumber Gambar : http://www.sourabh.sankule.com/tutorial/avr/overview.html

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 ‘x’mewakili 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

Page 18: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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.

Page 19: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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

Gambar 2.9 LM7805

Sumber gambar :

http://belajar-elektronika.com/datasheet/regulator-tegangan-positif-lm78xx/

Pada gambar 2.9 merupakan regulator LM7805 merupakan regulator yang

menghasilkan tegangan yang tetap yang memiliki 3 kaki pada bentuk aslinya dimana

terdapat VCC untuk aliran listrik masuk, kaki vout untuk hasil tegangan yang telah

diubah, dan kaki ground. Tegangan yang keluar dari IC 7805 ini dapat memungkinkan

untuk IC dipakai untuk rangkaian dengan menggunakan gerbang logika.

Rangkaian Standart dari IC 7805 adalah sebagai berikut

Gambar 2.10 rangkaian IC7805

Sumber gambar :

http://belajar-elektronika.com/datasheet/regulator-tegangan-positif-lm78xx/

Page 20: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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

Gambar 2.11 Skematik IC L293

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.

Page 21: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

27  

Tabel 2.1 Logika pada L293

Enable Input A Input B Reaksi motor

DC

1 1 0 Motor ke kanan

1 0 1 Motor ke kiri

1 1 / 0 0 /1 Berhenti cepat

0 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 tarik-

menarik 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.

Page 22: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

28  

Gambar 2.12 Bagian-bagian Motor DC

( http://www.solarbotics.net/starting/200111_dcmotor/200111_dcmotor2.html )

2.8 Kamera

2.8.1 WebCam

Webcam merupakan kamera yang dapat digunakan bersamaan dengan perangkat

komputer maupun dengan perangkat lain.

Gambar 2.13 WebCam Logitech C600

Sumber :

http://www.logitech.com/en-au/webcam-communications/webcams/devices/5869

Pada gambar 2.13 merupakan gambar dari Logitech C600. WebCam ini memiliki

kelebihan pada fitur-fitur menarik yang dapat digunakan oleh pengguna. Untuk

kepentingan Image Prosesing, webcam ini telah mendukung kemampuan kamera 2

Megapixel-sensor, kamera juga mensupport sampai kemampuan up to 8 Megapixel

Page 23: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

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

Gambar 2.14 CMUcam3

Sumber Gambar : Datasheet CMUcam3

Gambar 2.14 merupakan gambar dari CMUcam3. CMUcam3 adalah sebuah prosesor

ARM7TDMI yang telah dilengkapi dengan sensor untuk vision. Prosesor utama

menggunakan LPC2106 yang terhubung dengan modul sensor kamera CMOS Omnivion.

Dengan menggunakan bahasa C, CMUcam3 dapat dikembangkan dengan adanya libraries

dan contoh program yang sudah ada. Komunikasi dengan CMUcam dapat menggunakan

serial port.

Beberapa fitur – fitur yang diberikan oleh CMUcam3 adalah sebagai berikut

• CIF Resolution (352x288) dengan sensor RGB

• Open Source Development Environment for Windows and Linux

Page 24: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

30  

• Slot MMC dengan mendukung driver FAT16

• 4 port untuk motor servo

• Mengambil gambar dengan kecepatan 26 frame per detik

• CMUcam2 Emulation

CMUcam2 Emulation merupakan fitur yang ada didalam CMUcam3, dapat digunakan

dalam proses vision. Perangkat simulasi ini memiliki kemampuan seperti yang terlihat

pada gambar 2.15.

Gambar 2.15 CMUcam2 Emulation

Page 25: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

31  

Fitur yang ada didalam CMUcam2 Emulation ini meliputi

• Camera view, yang dapat digunakan untuk mengetahui objek yang ada didepan

kamera

• Config, digunakan untuk mengetahui konfigurasi dari objek yang ditangkap

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

• Histogram, digunakan untuk mengetahui kepekatan warna yang ditangkap

melalui kamera, dan memunculkan hasil dalam bentuk histogram

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.

Page 26: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

32  

Gambar 2.16 Blok diagram dari CMUcam3

Sumber Gambar : Datasheet CMUcam3

Dari gambar 2.16 dapat dilihat, proses kerja dari CMUcam3 yaitu Omnivision CMOS

Sensor berupa kamera yang menjadi satu dengan mikrokontroller LPC2106, akan

melakukan perintah sesuai dengan perintah yang diberikan oleh Averlogic.

Tegangan listrik yang digunakan adalah 5 volt output dari regulator. Regulator yang

digunakan membuat sumber listrik yang dapat diberikan antara 6 sampai 15 volt tegangan

DC. Motor servo yang terhubung dapat menggunakan tegangan listrik dari dalam, atau

dapat menggunakan tegangan listrik tambahan.

Dari gambar 2.17, dapat dilihat bahwa CMUcam3 memiliki serial port yang

digunakan untuk berkomunikasi dengan perangkat lain. Serial port hanya menggunakan 3

pin yang ada pada serial, yaitu TX, RX, dan ground.

Page 27: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

33  

Gambar 2.17 Hadware Connection

Sumber Gambar : Datasheet CMUcam3

(http://www.seattlerobotics.com/CMUcam3_datasheet.pdf)

Teori Pengenalan Lokasi

Sistem yang digunakan oleh CMUcam dalam mengenali lokasi adalah dapat

dengan mengenali warna. Hal yang dilakukan dalam mengenali suatu warna adalah

CMUcam harus menentukan nilai minimum dan nilai maksimum untuk warna yang

telah ditentukan yaitu warna RGB. Setiap warna merupakan warna merah , hijau dan

biru dan seberapa besar warna-warna tersebut dicampurkan dan menghasilkan warna

akhir. Nilai maksimum atau batas minimum yang diketahui dari ketiga warna tersebut

akan menjadi pedoman dalam pengenalan warna oleh CMUcam. Proses pengenalan

tersebut dipengaruhi oleh besarnya cahaya yang digunakan untuk mentracking objek.

Pada kamera CMUcam masing masing dari warna tersebut akan dikonversikan

menjadi angka yaitu antara 16-240 yang merupakan batas minimum dan batas

maksimum, dan jika kita memiliki batas minimum dan maksimum di dalam warna

Page 28: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

34  

tersebut maka kita memiliki 3 batas minimum dan 3 batas maksimum. Adanya batas-

batas 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,

Page 29: BAB 2 LANDASAN TEORI 2.1 Computer Visionlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00654- SK Bab 2.pdf · (Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra) 2.3 Robot

35  

secara langsung software akan memberikan umpan balik tentang coding yang dimasukan,

apakah terdapat error ataupun tidak.