makalah - implementasi kamera cmucam3
DESCRIPTION
Makalah - Implementasi Kamera CMUcam3TRANSCRIPT
-
IMPLEMENTASI KAMERA CMUCAM3 PADA ROBOT TANK
YANG DAPAT MENGIKUTI OBJEK BERWARNA
MAKALAH SEMINAR HASIL
Diajukan untuk memenuhi persyaratan
memperoleh gelar Sarjana Teknik
Disusun Oleh:
RIKY TRI YUNARDI
NIM. 0710633029-63
KEMENTERIAN PENDIDIKAN NASIONAL
UNIVERSITAS BRAWIJAYA
FAKULTAS TEKNIK
MALANG
2011
-
LEMBAR PERSETUJUAN
IMPLEMENTASI KAMERA CMUCAM3 PADA ROBOT TANK
YANG DAPAT MENGIKUTI OBJEK BERWARNA
MAKALAH SEMINAR HASIL
Diajukan untuk memenuhi persyaratan
memperoleh gelar Sarjana Teknik
Disusun Oleh:
RIKY TRI YUNARDI
NIM. 0710633029-63
Telah diperiksa dan disetujui oleh:
Pembimbing I
Ir. Muhammad Julius St., MS. NIP. 19540720 198203 1 002
Pembimbing II
R. Arief Setyawan, ST., MT. NIP. 19750819 199903 1 001
-
1
IMPLEMENTASI KAMERA CMUCAM3 PADA ROBOT TANK
YANG DAPAT MENGIKUTI OBJEK BERWARNA Riky Tri Yunardi. NIM 0710633029-63
Jurusan Teknik Elektro Fakultas Teknik Universitas Brawijaya Pembimbing : 1. Ir. Muhammad Julius St., MS.
2. R. Arief Setyawan, ST., MT.
Abstrak
Robot merupakan salah satu produk elektronika yang saat ini sedang berkembang pesat. Perkembangan teknologi robot ini juga diikuti dengan perkembangan teknologi sensor yang dipakai pada robot, sensor merupakan komponen penting pada robot, karena dengan adanya sensor ini robot dapat beroperasi secara otomatis. Sensor kamera merupakan salah satu sensor yang masih baru digunakan pada robot, karena dahulu teknologi komputer dan mikrokontroler kecepatannya masih jauh lebih lambat dari sekarang. Robot tank dengan kamera CMUcam3 ini dirancang dan direalisasikan untuk mampu mengenali objek dengan sistem warna dasar RGB. Robot dapat mengikuti gerakan objek berwarna tersebut selama masih dalam jarak jangkauan pandang kamera dan memiliki perbedaan yang kontras dengan objek lain serta latar belakangnya. Berdasarkan pengujian didapatkan beberapa hasil untuk bergerak maju dan mundur robot memiliki kecepatan 14 cm/detik dan untuk bergerak putar kanan maupun putar kiri robot memiliki kecepatan sudut 133/detik pada lantai keramik. Jarak pandang kamera terhadap objek minimal 5 cm dan maksimal 30 cm pada sebuah objek berwarna berbentuk bola dengan diameter 3 cm. Kemampuan robot mengikuti objek berwarna dipengaruhi oleh faktor cahaya lingkungan yang meliputi: warna cahaya, sumber cahaya, intensitas cahaya dan sudut datangnya cahaya. Pengujian menggunakan lampu neon dengan tambahan LED warna putih disekitar kamera memiliki hasil pengujian yang bagus karena cahaya LED langsung menerangi permukaan depan objek terhadap kamera namun intensitas dan sumber cahaya yang sangat baik adalah dari cahaya matahari.
Kata kunci: Robot, Robot Tank, CMUcam3, Color Tracking
I PENDAHULUAN 1.1 Latar Belakang
Saat ini perkembangan teknologi elektronika begitu cepat, diiringi dengan semakin bertambahnya kebutuhan manusia di bidang elektronika, untuk membantu kehidupan sehari-hari. Robot merupakan salah satu produk elektronika yang saat ini sedang berkembang pesat. Robot-robot yang dikembangkan saat ini merupakan robot yang memiliki fungsi tertentu yang dapat membantu manusia. Berbagai bentuk robot telah diciptakan saat ini seperti robot berbentuk: mobile, tank, serangga, anjing, ular maupun humanoid.
Perkembangan teknologi robot ini juga diikuti dengan perkembangan teknologi sensor yang dipakai, karena sensor merupakan komponen penting pada robot, karena dengan adanya sensor ini robot dapat beroperasi secara otomatis. Banyak macam sensor yang saat ini digunakan pada robot seperti: ultrasonic, pressure, encoder, GPS, digital compass, camera, temperature, dan lain-lain. Sensor kamera merupakan salah satu sensor yang masih baru digunakan pada robot. Dengan adanya kamera, robot dapat memiliki indra penglihatan sehingga operasi robot lebih presisi, karena kamera identik dengan mata manusia.
Penelitian ini bertujuan untuk merancang dan mengimplementasikan Robot Tank yang dapat mengikuti objek berwarna dengan menggunakan kamera CMUcam3 sebagai indra penglihatan pada robot.
1.2 Rumusan Masalah Berdasarkan latar belakang yang telah dikemukakan
sebelumnya, dapat disusun rumusan masalah sebagai berikut: 1) Bagaimana mengimplementasikan kamera CMUcam3
pada robot tank yang dapat mengikuti objek berwarna.
2) Bagaimana mengatur gerakan motor servo pada kamera sehingga dapat mengikuti arah objek saat berpindah posisi.
3) Bagaimana merancang dan membuat sistem elektronika yang menunjang penggunaan kamera CMUcam3 sebagai indra penglihatan pada robot.
1.3 Batasan Masalah Dengan mengacu pada permasalahan yang telah
dirumuskan, maka hal-hal yang berkaitan dengan perancangan akan diberi batasan sebagai berikut: 1) Warna yang dapat di-tracking adalah warna merah,
hijau, biru dan kuning. 2) Objek berwarna berupa bola dengan diameter 3 cm. 3) Warna objek yang di-tracking berbeda denga warna
background. 4) Gerak robot tank adalah gerak maju, gerak mundur,
gerak putar kiri, gerak putar kanan dan berhenti. 5) Gerak pandangan kamera menghadap kiri, kanan, atas
dan bawah masing-masing sebesar 450. 6) Komunikasi yang digunakan antara CMUcam3 dengan
mikrokontroler adalah komunikasi serial dengan baudrate 115200 bits per second.
7) Pemrograman menggunakan software CodeVisionAVR C Compiler.
1.4 Tujuan Penelitian ini bertujuan untuk merancang dan
mengimplementasikan Robot Tank yang dapat mengikuti objek berwarna dengan menggunakan kamera CMUcam3 sebagai indra penglihatan pada robot.
II TINJAUAN PUSTAKA Robot merupakan salah satu bentuk produk teknologi
di bidang elektronika yang saat ini berkembang pesat. Perkembangan teknologi robot ini juga diikuti dengan
-
2
perkembangan teknologi sensor yang dipakai pada robot yang semakin canggih. Sensor kamera merupakan salah satu sensor yang masih baru digunakan pada robot.
2.1 Kamera CMUcam3 Kamera CMUcam3 adalah sebuah board
microcontroller ARM7TDMI yang memiliki prosesor yang sudah tertanam. Prosesor utama adalah LPC2106 Philips yang dihubungkan dengan kamera CMOS Omnivision OV6620. Sistem ini berkomunikasi dengan sistem serial pada level TTL atau juga pada level RS232. Kamera CMUcam ini memiliki spesifikasi sebagai berikut: a. Resolusi maksimum hingga 352 x 288. b. Kecepatan maksimum 26 frame per second. c. Komunikasi serial dengan baudrate 115200 bits per
second. d. Menentukan titik tengah dari objek. e. Mendapatkan nilai tengah warna dan variasinya. f. Mentransfer gambar yang didapat melalui serial port. g. Secara otomatis dapat mendeteksi warna objek.
Bentuk fisik komponen CMUcam3 ditunjukkan dalam Gambar 2.1.
Gambar 2.1 CMUcam3
Sumber: CMUcam3, 2007: 1
2.1.1 Konfigurasi dan Penggunaannya CMUcam3 adalah platform perangkat keras yang
dikembangkan oleh perusahaan open source development. Kamera ini ditergetkan kepada pengguna yang sudah terbiasa di bidang pengolahan gambar dasar dan kompatibel dengan pemrograman mikrokontroler. Dapat digunakan untuk beberapa aplikasi interfacing dengan menggunakan komputer atau mikrokontroler melalui sistem komunikasi serial TTL atau RS232.
2.1.2 Kamera CMOS Ciri dari kamera CMOS yang perlu diperhatikan
adalah color filter array (CFA), Sensor CMOS menghasilkan besaran arus pada setiap pixel-nya karena operasi dasar dari kamera CMOS adalah photocurrent, yaitu cahaya sebagai sumber arus. Hasil keluaran warna dari sensor dapat untuk mengukur photon merah (R), hijau (G) dan biru (B). Untuk mengerjakan tersebut, setiap pixel ditutup dengan filter warna merah, hijau dan biru dengan model yang spesifik seperti model Bayer CFA. Setiap pixel menjadi sangat sensitif hanya untuk satu warna.
2.1.3 Kominikasi Serial CMUcam3 Kamera CMUcam3 bisa berkomunikasi melalui
serial port dengan level TTL ataupun RS232 untuk mengirim perintah ke CMUcam dan mengambil data dari CMUcam. Adapun parameter default-nya sebagai berikut: a. Baudrate 115200 merupakan nilai baudrate maksimum. b. 8 bit data. c. 1 stop bit. d. Tanpa parity. e. Tanpa flow control.
2.2 Komunikasi Serial Komunikasi serial ialah komunikasi dimana
pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi paralel seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali waktu.
2.3 RS-232 RS-232 merupakan salah satu jenis antarmuka
(interface) dalam proses pengiriman data antar komputer dalam bentuk serial. Serial interface RS-232 memberi ketentuan logika tegangan sebagai berikut: Logika 1 disebut mark merupakan tegangan antara -3V hingga -15V. Logika 0 disebut space merupakan tegangan antara + 3V hingga +15V.
2.4 MAX232 Level Tegangan dari RS232 adalah +3 sampai +15
volt untuk logika 0 sedangkan -3 sampai -15 volt untuk logika 1. Level tegangan ini berbeda dengan level tegangan logika dari mikrokontroler yang bertipe TTL/CMOS dengan supply 5 V yang memiliki keluaran untuk logika tinggi minimal 2,4 volt dan logika rendah maksimum 0,4 volt, sehingga dibutuhkan IC MAX 232 yang berfungsi sebagai penyetara level tegangan logika.
2.5 Motor Servo Motor servo adalah motor yang mampu bekerja dua
arah (searah jarum jam dan berlawanan arah jarum jam) dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya.
2.6 Driver Motor DC L293D Driver motor yang digunakan adalah IC L293D. IC
L293D ini berisi dua full brige driver yang mampu mengendalikan dua buah motor. IC ini dirancang untuk arus besar yang dikendalikan oleh level logika TTL.
2.7 LCD (Liquid Crystal Display) Liquid Crystal Display (LCD) adalah merupakan
komponen elektronika yang digunakan untuk menampilkan karakter, sehingga tampilan tersebut dapat dilihat secara visual.
III METODOLOGI
Penyusunan skripsi ini didasarkan pada masalah yang bersifat aplikatif, yaitu perencanaan dan perealisasian alat agar dapat bekerja sesuai dengan yang direncanakan dengan mengacu pada rumusan masalah. Metode yang digunakan dalam penulisan skripsi ini adalah sebagai berikut: 3.1 Perancangan Alat
Pada perancangan alat dilakukan dengan membuat diagram blok keseluruhan alat. Penentuan komponen yang digunakan pada alat dilakukan secara bertahap sesuai dengan diagram blok. Perancangan perangkat lunak dilakukan dengan membuat diagram alir program untuk mengendalikan sistem secara keseluruhan.
3.2 Pembuatan Alat Pembuatan alat pada penelitian ini meliputi tahapan-
tahapan sebagai berikut: 1) Pembuatan sistem berdasarkan pada perancangan. 2) Pembuatan perangkat keras sistem dengan
menggunakan komponen elektronika yang telah direncanakan.
-
3
3) Pembuatan perangkat lunak mikrokontroler sesuai dengan diagram alir yang telah direncanakan.
3.3 Pengujian Alat Untuk mengetahui apakah alat yang telah dibuat
sesuai dengan yang direncanakan maka dilakukan pengujian rangkaian. Pengujian yang dilakukan terbagi tiga, yaitu: 1) Pengujian perangkat keras dilakukan dengan tujuan
untuk menyesuaikan nilai tegangan dan arus yang diijinkan bekerja dalam komponen berdasarkan data sekunder komponen yang diambil dari buku data komponen elektronika maupun dari datasheet.
2) Pengujian perangkat lunak, pengujian dilakukan dengan cara mensimulasikan perangkat lunak pada mikrokontroler, kemudian dilakukan pengujian bersama perangkat keras untuk mengetahui respon yang dihasilkan.
3) Pengujian sistem secara keseluruhan dilakukan dengan tujuan untuk mengetahui unjuk kerja alat setelah perangkat keras dan perangkat lunak diintegrasikan bersama.
IV PERANCANGAN DAN PEMBUATAN ALAT
Perancangan Robot Tank ini dilakukan bertahap sehingga akan memudahkan dalam analisis pada setiap bloknya maupun secara keseluruhan.
4.1 Perancangan Diagram Blok Diagram blok sistem secara keseluruhuan
ditunjukkan dalam Gambar 4.1.
Gambar 4.1 Diagram Blok Sistem Keseluruhan
4.2 Perancangan Mekanik Robot Dalam perancangan mekanik robot, ukuranya
disesuaikan dengan luas permukaan sasis (chassis) dan panjang sabuk (belt) yang melingkari roda tank tersebut. Sedangkan untuk ketinggian desain tergantung dari peletakan posisi komponen elektriknya. Gambar rancangan ukuran Robot Tank ditunjukkan dalam Gambar 4.2.
Gambar 4.2. Desain Mekanik Robot Tank (a) Tampak Samping (b) Tampak Depan
Dimensi Robot Tank yaitu panjang 26 cm, lebar 11 cm, dan tinggi 18 cm. Dengan panjang menyesuaikan posisi letak kamera CMUcam3 yang dipasang.
4.3 Perancangan Perangkat Keras Perangkat keras yang dibutuhkan untuk
menggerakkan Robot Tank terdiri dari beberapa rangkaian, yaitu rangkaian catu daya sistem, rangkaian mikrokontroler main controller dan decoder, rangkaian driver motor DC L293D, rangkaian motor servo, rangkaian LCD (Liquid Crystal Display) dan saklar pilih warna.
4.3.1 Perancangan Catu Daya Robot Tank membutuhkan dua jenis catu daya yang
berbeda, yaitu catu daya 5 volt untuk rangkaian mikrokontroler ATMega8535, ATMega8, CMUcam3, driver motor DC L293D dan LCD (Liquid Crystal Display). Catu daya 6 volt untuk motor servo dan motor DC. Sumber catu daya yang dipakai adalah sebuah baterai SLA (Sealed Lead Acid) 12 V / 1.2mA.
Mikrokontroler ATMega8535 dan ATMega8 dapat bekerja jika diberi catu tegangan antara 4,8 V hingga 5,5 V sesuai dengan datasheet. CMUcam3 mulai dapat bekerja aktif jika mendapatkan catu teganggan sebesar 5 V dengan arus 150 mA. Pada perancangan digunakan catu daya sebesar 5 V diperoleh dari rangkaian Fixed Output Regulator pada datasheet LM78XX. Pada rangkaian digunakan regulator LM7805 agar diperoleh tegangan keluaran sebesar 5 V. Sumber tegangan 6 V untuk motor servo dan motor DC juga menggunakan rangkaian Fixed Output Regulator. Regulator yang digunakan adalah tipe LM7806.
4.3.2 Perancangan Rangkaian CMUcam3 Kamera CMUcam3 yang berfungsi untuk
mendeteksi objek berwarna. Prosesor utama adalah LPC2106 buatan perusahaan Philips yang dihubungkan dengan kamera CMOS Omnivision OV6620. AVERLOGIG FIFO merupakan sebuah image buffer yang dapat memproses gambar dengan kecepatan tinggi. Sistem komunikasi yang digunakan adalah komunikasi serial dengan level tegangan TTL dan level tegamgan RS232. Catu daya yang digunakan pada CMUcam3 adalah 5 V dengan arus 150mA. Rangkaian CMUcam3 ditunjukkan dalam Gambar 4.3.
-
4
Gambar 4.3 Rangkaian CMUcam3
4.3.3 Perancangan Rangkaian Mikrokontroler Alat yang dirancang menggunakan dua buah
mikrokontroler yang memiliki fungsi masing-masing setiap unitnya. Pada unit pengolah utama digunakan mikrokontroler ATMega8535 sebagai pengolah utama (Main Controller). Sedangkan mikrokontroler sebagai dekoder (Decoder) menggunakan ATMega8. Kedua mikrokontroler menggunakan kristal osilator eksternal sebesar 14,7456 MHz karena nilai baudrate error-nya sangat kecil yang dihubungkan dengan kapasitor sebesar 22 pF sesuai dengan datasheet. Nilai baudrate error dapat dilihat secara langsung melalui program perangkat lunak CodeVisionAVR C Compiler.
Mikrokontroler ATMega8535 terdiri atas empat port I/O yang dapat diprogram dengan masing-masing port memiliki jumlah data 8 bit. Pada perancangan ini pin-pin yang digunakan adalah:
1) Pin A.0= RS LCD. 2) Pin A.1= R/W LCD. 3) Pin A.2= E LCD. 4) Pin A.4= D4 LCD. 5) Pin A.5= D5 LCD. 6) Pin A.6= D6 LCD. 7) Pin A.7= D7 LCD. 8) Pin B.0= saklar pilih warna merah. 9) Pin B.1= saklar pilih warna hijau. 10) Pin B.2= saklar pilih warna biru. 11) Pin B.3= saklar pilih warna kuning. 12) Pin B.5= MOSI writer. 13) Pin B.6= MISO writer. 14) Pin B.7= SCK writer. 15) Pin C.0= 1A driver motor DC L293D. 16) Pin C.1= 2A driver motor DC L293D. 17) Pin C.2= 1,2EN driver motor DC L293D. 18) Pin C.3= 3A driver motor DC L293D. 19) Pin C.4= 4A driver motor DC L293D. 20) Pin C.5= 3,4EN driver motor DC L293D. 21) Pin D.0= Rx CMUcam3. 22) Pin D.1= Tx ATmega8 (Decoder). 23) Pin D.4= control motor servo 2. 24) Pin D.5= control motor servo 1.
Pada perancangan ini pin-pin mikrokontroler ATMega8 yang digunakan adalah:
1) Pin D.0= Tx CMUcam3. 2) Pin D.1= Rx ATMega8535(Main Controller). 3) Pin B.6= osilator kristal 14,7456 MHz. 4) Pin B.7= osilator kristal 14,7456 MHz.
4.3.4 Perancangan Rangkaian Motor DC Dalam perancangan motor DC yang digunakan
adalah motor DC yang sudah dilengkapi dengan gearing
terintegrasi dari pabrikan dan sudah ditentukan dalam rasio 344,2:1. Menggunakan spur gear kecil-kecil yang terbuat dari plastik yang berisi beberapa jumlah gear dalam satu kotak.
4.3.5 Perancangan Driver Motor DC L293D Pada perancangan ini menggunakan rangkaian IC
L293D. IC L293D berisi 4 channel driver dengan kemampuan mengalirkan arus sebesar 600 mA dan arus puncak maksimum sebesar 1,2 A tiap channel. Tegangan kerja IC (VCC1) mulai dari 4,5 volt sampai 7 volt dan tegangan keluaran (VCC2) untuk mencatu motor DC mulai dari 4,5 volt (VCC1) sampai 36 volt. Sedangkan tegangan logika untuk mengontrol arah putaran motor DC sebesar 0 volt dan 5 volt.
4.3.6 Perancangan Rangkaian Motor Servo Motor servo Tower Pro MG90 memiliki 3 jalur
pengkabelan, yaitu VCC, ground, dan sinyal. Jalur VCC dihubungkan ke sumber tegangan 6 V, jalur ground dihubungkan ke ground mikrokontroler yang menjadi satu dengan ground baterai, dan jalur sinyal dihubungkan ke pin mikrokontroler ATMega8535 sebagai pengontrol motor servo. Pin mikrokontroler ATMega8535 yang dihubungkan ke jalur sinyal motor servo adalah Pin D.4 (OCRB) dan Pin D.5 (OCRA).
4.3.7 Perancangan LCD (Liquid Crystal Display) Dalam perancangan ini LCD digunakan untuk
menampilkan warna apa yang akan kita pilih setelah menekan saklar pilih warna.
4.3.8 Perancangan Rangkaian Saklar Pilih Warna Input dari sistem Robot Tank terdiri dari empat
buah saklar. Saklar tersebut mewakili empat perintah yang berbeda, yaitu perintah mencari warna merah, warna hijau, warna biru dan warna kuning. Gambar 4.4 menunjukkan skema rangkaian saklar pilih warna.
Gambar 4.4 Skema Rangkaian Saklar Pilih Warna
Pada saat salah satu saklar ditekan, maka pin mikrokontroler akan terhubung langsung dengan ground sehingga terbaca sebagai logika 0. Namun pada kondisi saklar tidak tertekan, akan terjadi logika ambang. Untuk memastikan logika pada saat kondisi tidak tertekan, maka dipasang resistor pull up. Pemilihan nilai resistor pull up didasarkan pada nilai arus maksimum saat logika tinggi (IIH) dan nilai arus maksimum saat logika rendah (IIL). Dari datasheet ATmega8535 diketahui bahwa IIH maksimum adalah 1 A dan VIH minimum bernilai 0,6 Vcc. Karena nilai Vcc yang digunakan adalah 5 V, maka diperoleh VIH sebesar 3 V. Dalam analisis dimisalkan digunakan resistor pull up sebesar 4,7 k. Gambar 4.5 menunjukkan analisis rangkaian resistor pull up yang dipergunakan saklar.
-
5
PIN B.0
VccI
R 4,7 k
Saklar
GND
Va
Gambar 4.5 Analisis Rangkaian Saklar Pull Up
Saat saklar ditekan, maka pin B.0 akan langsung terhubung dengan GND, sehingga nilai tegangannya adalah 0 V. Nilai tersebut masih dibawah nilai VOL saat Vcc sebesar 5 V yaitu 0,7 V. Sedangkan saat saklar tidak ditekan, analisanya adalah sebagai berikut :
Va = Vcc VIR................................................(4.1) Va = 5 V (1 A)(4,7 k) Va = 5 V 0.0047 Va = 4,9953 V
Dengan nilai resistor 4,7 k diperoleh nilai tegangan sebesar 4,9953 V pada saat logika high. Nilai ini masih lebih besar daripada tegangan minimum yang dianggap logika high oleh mikrokontroler yaitu 3 V. Dengan begitu, resistor sebesar 4,7 k dapat digunakan dalam perancangan rangkaian saklar pilih warna.
4.4 Perancangan Gerak Robot Perancangan gerakan pada Robot Tank meliputi
perancangan gerakan dasar Robot Tank dan perancangan sendi gerak kamera CMUcam3.
4.4.1 Perancangan Gerakan Dasar Robot Robot Tank memiliki beberapa gerakan dasar, yaitu gerak maju, gerak mundur, gerak hadap kanan dan gerak hadap kiri. Dikendalikan oleh sebuah IC driver motor DC yaitu L293D dengan memberikan logika pada driver oleh mikrokontroler (main controller).
4.4.2 Perancangan Sendi Gerak Kamera CMUcam3 Robot Tank memiliki sebuah sensor yang berfungsi
sebagai indra penglihatan yaitu kamera CMUcam3. Agar posisi objek tetap ditengah pandangan kamera maka dibuat dua sendi. Setiap servo ini memiliki rentang sudut putar tertentu sesuai letak persendian masing-masing. Sebuah servo digunakan untuk mengikuti objek yang posisinya di hadapan kiri dan kanan, sedangkan servo yang lain digunakan untuk mengikuti objek yang posisinya di hadapan atas dan bawah. Simpangan maksimum untuk masing-masing motor servo ditunjukkan dalam Gambar 4.6.
Arah gerak motor servo Atas -BawahArah gerak motor servo Kiri -Kanan
Gambar 4.6 Simpangan Maksimum Masing-Masing Motor Servo 4.5 Perancangan Perangkat Lunak
4.5.1 Perancangan Algoritma Perangkat Lunak pada Kamera CMUCam3 Pada penelitian ini CMUcam3 komunikasinya
menggunakan sistem komunikasi serial RS-232 atau TTL.
Format pengiriman data untuk melakukan penjejakan menggunakan perintah TC (Track Color) dengan format sebagai berikut:
TC [ Rmin Rmax Gmin Gmax Bmin Bmax ] \r Paket pengiriman data yang akan diterima adalah sebagai berikut :
T mx my x1 y1 x2 y2 pixels confidence\r Merupakan tipe paket data yang diterima untuk memonitor warna dan informasi keadaan objek.
4.5.2 Perancangan Algoritma Perangkat Lunak pada Motor Servo Pada ATMega8535 terdapat dua buah timer yaitu
pin OCRA dan pin OCRB. Jika tiap-tiap timer digunakan untuk mengontrol sebuah motor servo. Lebar sinyal high pada awal pulsa periodik diatur oleh Output Compare Register (OCRA dan OCRB) pada timer 16 bit. Pada perancangan digunakan clock dengan frekuensi 14,7456 MHz dan prescaler 8x. Pada perancangan ini hanya beberapa sudut tertentu saja yang digunakan, menyesuaikan dengan daerah kerja setiap sendi gerak kamera CMUcam3 untuk menghadap ke posisi suatu objek. Lebar sinyal high tiap sudut servo dan nilai TOP ditunjukkan dalam Tabel 4.1.
Tabel 4.1 Lebar Sinyal High Sudut Servo dan Nilai TOP
No
Sudut Motor Servo
()
Lebar Sinyal High (s)
Nilai TOP
Nilai TOP Pembulatan
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
0 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 180
600 1050 1100 1150 1200 1250 1300 1350 1400 1450 1500 1550 1600 1650 1700 1750 1800 1850 1900 1950 2400
552,96 967,68
1013,76 1059,84 1105,92
1152 1198,08 1244,16 1290,24 1336,32 1382,4
1428,48 1474,56 1520,64 1566,72 1612,8
1658,88 1704,96 1751,04 1797,12 2211,84
553 968
1014 1060 1106 1152 1198 1244 1290 1336 1382 1428 1475 1521 1567 1613 1659 1705 1751 1797 2212
4.5.3 Perancangan Algoritma Perangkat Lunak Mikrokontroler pada Unit Decoder Unit decoder akan mengkonversi nilai minimum
000 dan nilai maksimum 255, dengan pembatas spasi tiap data berupa karakter space. Format data unit Decoder yang digunakan untuk melakukan komunikasi antara mikrokontroler ATMega8 dengan ATMega8535 ditunjukkan dalam Gambar 4.7.
Gambar 4.7 Format Data Unit Decoder
4.5.4 Perancangan Algoritma Perangkat Lunak Mikrokontroler pada Unit Main Controller Perancangan diagram alir program utama
ditunjukkan oleh dalam Gambar 4.8.
-
6
Gambar 4.8 Diagram Alir Program Utama Ketika sistem dihidupkan, mikrokontroler akan
mengatur posisi motor servo sehingga kamera menghadap lurus ke depan. Kemudian pada tampilan LCD akan muncul tulisan untuk memilih warna yang ingin dipantau (Tracking) dengan menggeser salah satu saklar yang tersedia. Selanjutnya program utama akan mengirim perintah TC (Track Color) ke kamera CMUcam3. Data yang dikirim sensor terlebih dahulu melewati unit decoder untuk memudahkan dalam pengolahan datanya di unit pengolah utama untuk mengatur pergerakan robot sesuai dengan keadaan objek yang dipantau.
4.5.5 Perancangan Subrutin Mengambil Data Unit Decoder Subrutin mengambil data unit decoder ini berfungsi
untuk menerima data dari kamera CMUcam3 dengan mengunakan sistem komunikasi serial yang sebelumnya diperintah oleh main controller. Diagram alir subrutin mengambil data unit decoder ditunjukkan dalam Gambar 4.9.
Gambar 4.9 Diagram Alir Subrutin Mengambil Data Unit Decoder
4.5.6 Perancangan Subrutin Memilah Data Subrutin memilah data ini berfungsi untuk
memudahkan dalam pengolahan data yang diterima dari unit decoder pada unit main controller yang sebelumnya sudah di dimasukkan dalam array. Diagram alir subrutin memilah data ditunjukkan dalam Gambar 4.10.
data_buffer
xmean[0]=buffer[2]
return
xmean[1]=buffer[1]
xmean[2]=buffer[0]
ymean[0]=buffer[6]
ymean[1]=buffer[5]
ymean[2]=buffer[4]
xmin[0]=buffer[10]
xmin[1]=buffer[9]
xmin[2]=buffer[8]
xmax[0]=buffer[14]
xmax[1]=buffer[13]
xmax[2]=buffer[12]
Gambar 4.10 Diagram Alir Subrutin Memilah Data
4.5.7 Perancangan Subrutin Mengubah Karakter ASCII ke Nilai Integer Subrutin mengubah karakter ASCII ke nilai integer
ini berfungsi untuk mengubah tipe data yang awalnya adalah karakter ASCII menjadi nilai integer. Diagram alir subrutin mengubah karakter ASCII ke nilai integer ini ditunjukkan dalam Gambar 4.11.
Gambar 4.11 Diagram Alir Subrutin Mengubah Karakter ASCII Ke Nilai
Integer
4.5.8 Perancangan Subrutin Motor Servo Subrutin pengontrolan motor servo ini berfungsi
untuk mengatur sudut motor servo untuk mengikuti objek yang posisinya di hadapan kamera. Diagram alir subrutin pengontrolan motor servo hadap kiri-kanan dan hadap atas-bawah ditunjukkan dalam Gambar 4.12.
.
-
7
Gambar 4.12 Diagram Alir Subrutin Pengontrolan Motor Servo Hadap
Kiri-Kanan dan Hadap Atas-Bawah
4.5.9 Perancangan Subrutin Driver Motor DC Subrutin pengontrolan driver motor servo ini
berfungsi untuk mengatur gerakan motor DC. Diagram alir subrutin pengontrolan driver motor DC ditunjukkan dalam Gambar 4.13.
Gambar 4.13 Diagram Alir Subrutin Pengontrolan Driver Motor DC
4.5.10 Perancangan Subrutin LCD Subrutin LCD ini berfungsi untuk menampilkan
data OCR1A dan OCR1B. Diagram alir subrutin tampilan LCD ini ditunjukkan dalam Gambar 4.14.
Gambar 4.14 Diagram Alir Subrutin Menampilkan Data pada LCD
4.5.11 Perancangan Subrutin Gerakan Robot Subrutin gerakan robot ini berfungsi untuk
menentukan gerakan yang akan dilakukan oleh Robot Tank. Diagram alir subrutin gerakan robot ini ditunjukkan dalam Gambar 4.15.
Gambar 4.15 Diagram Alir Subrutin Gerak Robot
V PENGUJIAN DAN ANALISIS
5.1 Pengujian Catu Daya Pengujian rangkaian catu daya bertujuan untuk
mengetahui kesesuaian tegangan keluaran dari catu daya. Pengujian ini diperlukan karena dari sumber tegangan baterai SLA 12 V akan dibagi menjadi rangkaian catu daya 5 V dan rangkaian catu daya 6 V. Dari pengujian catu daya 5 V dihasilkan tegangan output rangkaian catu daya 5 V sebesar 5,12 V. Sedangkan dari pengujian catu daya 6 V didapatkan tegangan output rangkaian sebesar 6,13 V. Kesimpulannya adalah rangkaian catu daya dapat bekerja dengan baik.
5.2 Pengujian Kamera CMUcam3 Pengujian ini dilakukan dengan tujuan untuk
mengetahui sistem kerja, sistem komunikasi dan kemampuan dari kamera CMUcam3.
5.2.1 Pengujian Mengirim Dan Menerima Data Pengujian ini dilakukan dengan tujuan untuk
mengetahui sistem komunikasi serta cara mengirim perintah dan data yang dikeluarkan dari kamera CMUcam3. Menggunakan perangkat lunak CMUcam Frame Grabber untuk mengetahui register apa saja yang bisa digunakan untuk memerintah kamera dan data apa saja yang dikeluarkan dari sensor. Hasil pengiriman perintah dan penerimaan data CMUcam3 pada CMUcam Frame Grabber ditunjukkan dalam Gambar 5.1.
Gambar 5.1 Pengujian Mengirim Perintah dan Menerima Data
-
8
5.2.2 Pengujian Besar Sudut Pandangan Pengujian ini bertujuan untuk mencari luas
pandangan kamera CMUcam3 pada jarak tertentu, sehingga didapat berapa besar sudut pandangnya. Pada pengujian ini terlebih dahulu menentukan jarak titik tengah antar objek yang ditangkap sejauh 20 cm. Pengukuran pandangan kamera CMUcam3 ditunjukkan dalam Gambar 5.2.
Gambar 5.2 Pengukuran Pandangan Kamera CMUcam3
Dari jarak antara kamera dengan titik tangah antara objek dan setengah dari jarak antara masing-masing objek, dengan mengunakan rumus Phytagoras, dapat ditemukan panjang sisi miring R, yaitu: = + ..(5.1) = 22 + 10 = 584 = 24,166 Dari panjang sisi miring R dan sisi datar X dapat ditemukankan sudut , yaitu: cos =
.........(5.2)
= , = 0,91
= cos 0,91 = 24,495
Kesimpulan yang dapat diambil adalah bahwa besar sudut pandang CMUCam3 dua kali besar dari nilai sudut yaitu 48,99. Selanjautnya dalam perancangan program besar sudut pandang akan dibulatkan menjadi 50.
5.2.3 Pengujian Penentuan Titik Tengah Objek Pengujian ini dilakukan dengan tujuan untuk
mengetahui, persentase ketepatan kamera CMUCam3 dalam menentukan titik tengah obyek atau titik berat obyek dibandingkan bila menghitung secara manual. Hasil tampak nyata objek dan hasil pengolahan gambar menggunakan perangkat lunak CMUcam2GUI ditunjukkan dalam Gambar 5.3.
Gambar 5.3 Hasil Tampak Nyata Objek Dan Hasil Pengolahan Gambar
Menggunakan Perangkat Lunak CMUcam2GUI
Kemudian data yang dikirim oleh CMUcam3 dapat diamati pada Hyperterminal program Code Vision AVR. Data serial yang dikirim CMUCam3 ini ditunjukkan dalam Gambar 5.4.
Gambar 5.4 Data Serial yang Dikirim CMUcam3
Dari data yang dikirim oleh CMUcam3 tersebut dapat diperoleh nilai titik tengah absis (mx) dan titik tengah ordinat (my), yaitu: mxdata = 40 mydata = 82 Sedangkan untuk mendapatkan titik tengah secara manual dapat dicari dengan menggunakan perhitungan berdasarkan batas-batas tepi objek. = 1 + (5.3) = 28 +
= 41
= 1 + ...(5.4) = 52 +
= 82,5
Dari data nilai titik tengah hasil data serial yang diterima dan hasil data perhitungan manual dapat diperoleh besar persentase kesalahan ketepatan kamera CMUCam3 dalam menentukan titik tengah obyek. Persentase kesalahan mx (%)...(5.5) =
100%
=
100% = 2,439% Persentase kesalahan my (%) =..(5.6) =
100%
= ,, 100% = 0.606% Kesimpulan yang dapat diambil adalah bahwa
CMUCam3 dapat menentukan nilai titik tengah mx dan my sebesar 2,439% dan 0,606%, dengan catatan kondisi cahaya disekitar cukup untuk menerangi objek dan warna latar belakang (background) memiliki warna yang berbeda dengan objek.
5.2.4 Pengujian Luas Permukaan Objek Terhadap Jarak Pengujian ini dilakukan dengan tujuan untuk
mengetahui data Xmin dan Xmax terhadap jarak, sehingga didapatkan berapa luas permukaan objek yang dilihat kamera terhadap jarak antara objek dengan kamera CMUcam3. Hasil pengujian untuk luas permukaan objek terhadap jarak ditunjukkan dalam Gambar 5.5.
-
9
Gambar 5.5 Hasil Pengujian Luas Permukaan Objek Terhadap Jarak
Kesimpulan yang dapat diambil dari hasil pengujian luas permukaan objek terhadap jarak adalah semakin dekat jarak antara objek dengan kamera, perubahan luas permukaan yang ditangkap semakin besar sesuai dengan besar sudut pandang kamera.
5.2.5 Pengujian Rangkaian Mikrokontroler Unit Decoder Pengujian rangkaian mikrokontroler unit Decoder
bertujuan untuk mengatahui data keluaran dari CMUcam3 yang telah didekodekan. Hasil pengujian data keluaran dari CMUcam3 ditunjukkan dalam Gambar 5.6 dan hasil pengujian data keluaran dari unit Decoder ditunjukkan dalam Gambar 5.7
Gambar 5.6 Hasil Pengujian Data Keluaran dari CMUcam3
Gambar 5.7 Hasil Pengujian Data Keluaran dari Unit Decoder
5.3 Pengujian Motor Servo Pengujian sudut motor servo pada Robot Tank
bertujuan untuk mengetahui arah dan besar sudut putar motor servo, dan juga untuk mengetahui apakah sinyal kontrol mikrokontroler dapat mengontrol posisi motor servo untuk mengatur posisi arah pandangan kamera CMUcam3. Hasil pengujian motor DC servo ditunjukkan dalam Tabel 5.1.
Tabel 5.1 Hasil Pengujian Motor Servo
Motor Servo Sudut 45 Sudut 90 Sudut 135
Sinyal High
Arah Putar
Sinyal High
Arah Putar
Sinyal High
Arah Putar
Hadap Kiri - Kanan Hadap Atas - Bawah
1080 1060
CCW CCW
1580 1560
Tengah Tengah
1980 1960
CW CW
Keterangan: 1. CW : clockwise 2. CCW : counter clockwise
Dari hasil pengujian diketahui bahwa dengan memperbesar sinyal high servo akan menggerakkan servo berlawanan arah jarum jam (counter clockwise), sedangkan mengurangi lebar sinyal high akan menggerakkan servo searah jarum jam (clockwise). Berdasarkan Tabel 5.1, terdapat perbedaan selisih sinyal high yang dibutuhkan antara servo hadap kiri-kanan dan servo hadap atas-bawah untuk mengubah sudut antara 45 sampai 135. Perbedaan ini disebabkan karena tumpuan
kamera CMUcam3 pada kepala servo yang kurang tepat posisinya.
5.4 Pengujian Driver Motor DC L293D Pengujian driver motor DC L293D bertujuan untuk
mengetahui gerak motor DC terhadap logika yang diberikan oleh rangkaian mikrokontroler unit Main Controller. Hasil pengujian driver motor DC L293D ditunjukkan dalam Tabel 5.2.
Tabel 5.2 Hasil Pengujian Driver Motor DC L293D
Kesimpulan yang dapat diambil adalah rangkaian
driver motor DC L293D dapat bekerja dengan baik. 5.5 Pengujian Keseluruhan Sistem
Pengujian keseluruhan sistem bertujuan untuk mengetahui kinerja kamera CMUcam3 pada Robot Tank yang telah dirancang. Pengujian keseluruhan mencakup pengujian robot membedakan warna objek dan pengujian motor servo pandangan kamera terhadap objek.
5.5.1 Pengujian Robot Membedakan Warna Objek Faktor cahaya lingkungan sangat mempengaruhi
kemampuan robot mendeteksi objek berwarna. Faktor yang mempengaruhi antara lain:
a. Kekuatan cahaya penerangan. b. Warna cahaya lingkungan. c. Sudut datangnya cahaya. d. Sumber cahaya.
Pada pengujian ini dilakukan dengan cara memerintahkan kamera CMUcam3 untuk mendeteksi salah satu objek berwarna secara bergantian di kondisi cahaya ruangan yang berbeda-beda. Kondisi cahaya ruangan yang digunakan antara lain adalah:
a. Ruangan tertutup dengan sumber cahaya penerangan cahaya matahari yang masuk lewat jendela ruangan.
b. Ruangan tertutup dengan sumber cahaya penerangan lampu neon putih.
c. Ruangan tertutup dengan sumber cahaya penerangan lampu neon putih dengan tambahan lampu LED warna putih di sekitar kamera CMUcam3. Pada pengujian kondisi yang harus dipenuhi adalah
warna background tidak boleh sama dengan warna objek yang dideteksi. Karena jika warna background dengan objek memiliki kemiripan, maka robot akan sulit untuk membedakan warna background dangan objek berwarna. Hasil pengujian robot membedakan warna pada kondisi cahaya ruangan tertentu ditunjukkan dalam Gambar 5.8. sampai dengan Gambar 5.10.
-
10
Gambar 5.8 Pengujian Robot Mendeteksi Objek dengan Sumber Cahaya
Matahari
Gambar 5.9 Pengujian Robot Mendeteksi Objek dengan Sumber Cahaya
Neon
Gambar 5.10 Pengujian Robot Mendeteksi Objek dengan Sumber Cahaya
Neon dan LED Hasil pengujian robot membedakan warna pada
kondisi cahaya tertentu ditunjukkan dalam Tabel 5.3.
Tabel 5.3 Hasil pengujian robot membedakan warna pada kondisi cahaya ruangan tertentu
Dari hasil pengujian dengan menggunakan
sumber cahaya matahari yang masuk ke dalam ruangan lewat jendela cukup terang untuk menerangi objek yang dilihat oleh robot. Sinar matahari memiliki spektrum warna yang lebih bagus daripada lampu penerangan. Pada pengujian menggunakan sumber pencahayaan lampu neon, nilai permukaan objek yang didapat kurang bagus karena
cahaya neon hanya menerangi pada permukaan atas objek saja, sehinnga permukaan objek yang dihadapan depan kamera terlihat gelap dan warna mendekati warna hitam. Pengujian menggunakan lampu neon dengan tambahan LED warna putih di sekitar kamera memiliki hasil pengujian yang bagus karena cahaya LED secara langsung menerangi permukaan depan objek terhadap kamera. Namun penerangan LED yang sangat kuat juga tidak terlalu bagus karena cahaya LED warna putih akan memantulkan cahayanya sehingga warna objek akan mendekati warna putih dan pada sisi-sisi objek akan menghasilkan bayangan objek yang akan menyebabkan kegagalan dalam mendeteksi objek berwarna.
5.5.2 Pengujian Motor Servo Pandangan Kamera Terhadap Objek Pengujian ini bertujuan untuk mengetahui bahwa
kedua sudut motor servo yang dirancang sudah dapat mengatur posisi pandangan kamera terhadap objek berwarna saat bergerak. Sebelum mendapatkan posisi pandangan objek, terlebih dahulu harus mengetahui jarak terdekat dan luas pandangan objek saat pandangan awal robot ketika mulai diaktifkan.
Dengan meletakkan sebuah objek di depan kamera pada batas pandangan kamera, dan mengerak-gerakan posisi objek dengan kecepatan tertentu, maka dapat dilihat perubahan posisi kamera yang dirancang. Hasil pengujian motor servo pandangan kamera terhadap objek ditunjukkan dalam Gambar 5.11.
Gambar 5.11 Hasil Pengujian Motor Servo Pandangan Kamera Terhadap
Objek Berwarna
Kesimpulan yang dapat diambil adalah bahwa motor servo pandangan kamera pada Robot Tank mampu melakukan variasi gerakan secara baik ketika objek berwarna posisinya dipindah-pindahkan dengan kecepatan tertentu.
-
11
IV KESIMPULAN DAN SARAN
6.1 Kesimpulan Berdasarkan hasil perancangan dan pengujian yang
telah dilakukan, dapat ditarik kesimpulan sebagai berikut: 1) Kamera CMUcam3 dapat diimplementasikan pada
robot tank yang dapat mengikuti objek berwarna. Warna yang dapat dikenali dengan baik oleh robot adalah warna-warna yang memiliki perbedaan yang kontras dengan objek lain serta latar belakangnya. Kemampuan robot mengikuti objek berwarna sangat dipengaruhi oleh faktor cahaya lingkungan yang meliputi: warna cahaya, sumber cahaya, intensitas cahaya dan sudut datangnya cahaya. Dari hasil pengujian intensitas dan sumber cahaya yang sangat baik adalah dari cahaya matahari. Robot dapat mengikuti objek berwarna yang tidak terlalu besar dan terlalu dekat, dikarenakan objek yang terlalu besar atau terlalu dekat akan menutup semua pandangan robot. Ukuran dan jarak maksimum atau minimum objek tidak dapat ditentukan, selama benda masih terdeteksi sebagai sebuah pixel pada kamera, maka objek tersebut dapat terdeteksi. namun objek yang terlalu kecil atau terlalu besar juga akan menyulitkan proses mendeteksi objek saat sistem mulai dinyalakan.
2) Pandangan kamera dapat mengikuti arah objek berwarna saat berpindah posisi dengan cara mengatur dua buah timer pada main controller yaitu pin OCRA dan OCRB yang masing-masing mengontrol sebuah motor servo sehingga kamera dapat menghadap ke kiri atau kanan dan ke atas atau bawah.
3) Sistem elektronika yang menunjang penggunaan kamera CMUcam3 sebagai indra penglihatan pada robot yaitu rangkaian catu daya, rangkaian CMUcam3, rangkaian mikrokontroler ATmega8535(Main Controller) dan mikrokontroler ATmega8 (Decoder), rangkaian driver motor DC L293D, rangkaian motor servo, rangkaian LCD (Liquid Crystal Display) dan saklar pilih warna. Komunikasi serial antara CMUcam3 dengan mikrokontroler menggunakan baudrate 115200 bits per second.
6.2 Saran Saran-saran dalam pengimplementasian maupun peningkatan unjuk kerja sistem ini dapat diuraikan sebagai berikut: 1) Dalam sistem yang telah dirancang, kamera
menggunakan resolusi pixel 80x140. Oleh karena itu pada pengembangan selanjutnya dapat menggunakan resolusi yang lebih besar sehingga nilai objek yang di tengkap kamera akan lebih presisi.
2) Mengembangkan fitur-fitur yang dimiliki oleh kamera CMUcam3, sehingga dalam penggunaan fungsinya akan lebih maksimal.
3) Memberikan kemampuan baru pada kamera robot seperti pengontrolan kamera secara wireless, menyimpan data gambar dan mendeteksi beberapa macam warna. Pada roda robot menggunakan sensor rotary sehingga dapat mengatur sudut putaran robot.
DAFTAR PUSTAKA
Andrianto, Heri. 2008. Pemrograman Mikrokontroler ATMega16 Menggunakan Bahasa C (CodeVisionAVR). Bandung: Informatika.
Atmel. 2010. ATMega8535 Datasheet. San Jose: Atmel Corporation.http://www.atmel.com/downloads/atmega8535.pdf.Diakses tanggal 14 Mei 2009
Candra, Ivan. 2007. Color Following Hexapod Robot. Surabaya: Universitas Kristen Petra.
CMUcam. 2003. CMUcam. http://www.cs.cmu.edu/-cmucam. Diakses tanggal 21 Januari 2011
CMUcam. 2005. CMUcam v1.12 Vision Board User Manual v1.15.http://www.seattlerobotics.com/cmucam. htm. Diakses tanggal 21 Januari 2011
CMUcam. 2007. CMUcam3 Datasheet. http://www. elmicro.com/files/robotik/cmucam3_datasheet.pdf. Diakses tanggal 21 Januari 2011
Jiang, Shu. 2008. MIL Rover: An Autonomous All-Terrain Robot.: University of Florida. http://www. mil.ufl.edu/publications/Shu_Jiang_UF_JUR_Rober _May2008.pdf. Diakses tanggal 21 Januari 2011
Laros-edu. 2007. Komunikasi Seral Mikrokontroler dengan PC (Komputer). http://www.ibnubudir.files. wordpress.com/2008/08/komunikasi-serial-mikrokon troler-dengan-pc.pdf Diakses tanggal 26 Januari 2011
Maxim. 2003. MAX232 Datasheet: Maxim. http://www .pdfserv.maxim.ic.com /en/ds/MAX232.pdf. Diakses tanggal 22 Mei 2010
Mesa, Alexis. 2010. CMUcam v1.12 Interface Specific for RS232. http://www.mil.ufl.edu/5666/handouts/ CMUCAM%2520Interface. Diakses tanggal 21 Januari 2011
Philips. 2003. LPC2106/2105/2104 User Manual.: Philips Semiconductors. http://www.keil.com/dd/docs/ datashts/philip/Fuser_manual_lpc2104_2105_2106.pdf. Diakses tanggal 10 Januari 2011
Pitowarno, Endra. 2006. Robotika: Desain, Kontrol dan Kecerdasan Buatan. Yogyakarta: Penerbit ANDI.
Prasetyo, Eri. 2003. Konsep Dasar Kamera CMOS: Pixels.: Universitas Gunadarma. http://www.pusatstudi. gunadarma.ac.id/pscitra/alldocpn/ pub28konsepcam _pdf. Diakses tanggal 25 Januari 2011
Prasetyo, Bayu. 2010. Implementasi Metode Virtual Force Field untuk Kontrol Pergerakan Autonomous Dasar Mobile Robot pada aplikasi Soccer Robot: Politeknik Elektronika Negeri Surabaya. http://www .eepis-its.edu/ 7106040020_m_pdf. Diakses tanggal 4 Januari 2011
Winkler, David. 2005. Special Sensor Report: CMUcam.: Intelligent Machines Design Lab. http://www.mil.ufl.edu/imdl/papers/IMDL_Report_Fall_02/winkler_david/ cmucam.pdf. Diakses tanggal 21 Januari 2011