Aplikasi Kontroler Fuzzy Q-Learning Pada Sistem Robot Mandiri Yang Terintegrasi Kamera Cmucam 3.0 M. Taufiq Ramadhan Ruliyadi, Rusdhianto Effendie Jurusan Teknik Elektro FTI - Institut Teknologi Sepuluh Nopember (ITS) semakin tinggi nilai reward yang didapatkannya atau harga variabel Q bertambah begitu juga sebaliknya. Abstrak — Perkembangan teknologi robotika pada saat ini sudah mencapai tahap dimana robot yang diciptakan dibuat semirip mungkin dengan manusia baik dari segi penampilan, kemampuan, bahkan cara berpikir. Salah satu kemampuan manusia yang ditiru adalah penglihatan. Penelitian ini bertujuan untuk membuat suatu robot mandiri. Dengan menggunakan kamera CMUCAM 3.0 sebagai sensor, robot dapat mempelajari lingkungan sekitar. Setelah dapat mempelajari lingkungan sekitar, robot diharapkan dapat menelusuri jalur, menghindari rintangan, dan menemukan objek yang dijadikan sasaran. Dengan kemampuannya ini, robot diharapkan dapat diaplikasikan atau diletakkan pada berbagai lingkungan terutama yang belum diketahui kondisi sekitarnya. Sebagai eksekutor data yang didapat dari CMUCAM digunakan mikrokontroler ATMEGA16. Untuk metode kontrol pada robot digunakan fuzzy q-learning. Metode ini akan memberikan reward dan punishment tergantung dari keberhasilan atau kegagalan robot ketika mengeksekusi suatu kejadian. Setelah melakukan perancangan, implementasi, pengujian, dan analisis didapatkan bahwa kemampuan robot mempelajari lingkungan sekitar dipengaruhi oleh jumlah tabrakan yang terjadi dan variasi jenis objek yang dikenali oleh robot dalam satu siklus belajar. Kemampuan belajar robot akan semakin meningkat jika dalam satu siklus pembelajaran terjadi tabrakan pada objek halangan yang berbeda jenis. Pada tugas akhir ini, untuk jumlah objek halangan dua buah dan variasi dua macam, didapatkan jumlah siklus belajar yang ideal untuk robot mandiri sekitar 3 kali. II. FUZZY Q-LEARNING Reinforcement learning ialah metode pembelajaran yang bersifat unsupervised dengan mengandalkan reward yang diperoleh agent (misal: robot) dari lingkungannya. Metode ini sederhana dan efektif untuk proses yang berlangsung secara online dan cepat seperti yang terjadi pada robot. Gambar 2.1 menunjukkan skema dasar reinforcement learning. Gambar 2.1 Skema dasar reinforcement learning Salah satu jenis reinforcement learning yang paling populer ialah Q learning yang bersifat sederhana, konvergen dan off policy. Hal ini membuatnya cocok untuk aplikasi real time seperti robot. Algoritma Q Learning ialah sebagai berikut. Generalisasi Q-learning dilakukan ketika bekerja dengan state dan aksi kontinyu seperti pada robot. Dalam kasus ini tabel fungsi Q akan membesar untuk menampung pasangan state aksi yang baru. Pada kasus ini, pembelajaran memerlukan waktu yang sangat lama dan keperluan memori yang besar. Akibatnya, metode ini sulit diterapkan. Penggunaan logika fuzzy\ untuk memodifikasi Q-learning agar dapat bekerja pada state dan aksi yang kontinyu didasarkan pada: 1. Fuzzy Inference System merupakan aproksimator yang universal dan kandidat yang bagus untuk menyimpan nilai Q 2. Pengetahuan awal dapat dimasukkan dalam aturan fuzzy, sehingga dapat mengurangi waktu pelatihan Pada Fuzzy Q learning, pembelajaran tidak dilakukan setiap state pada state space. Oleh karena itu diperlukan optimasi pada beberapa state yang mewakili. Dengan demikian, digunakan interpolasi fuzzy untuk memperkirakan state dan aksi. Kata kunci — fuzzy q-learning, kamera CMUCAM 3.0, robot mandiri, epoch. I. PENDAHULUAN Perkembangan robot sampai saat ini sudah sangat maju. Penelitian-penelitian sekarang juga diarahkan ke dalam bidang pembuatan robot mandiri yang dapat mempelajari lingkungan sekitarnya. Untuk dapat mempelajari lingkungan sekitarnya, sebuah robot mandiri harus memiliki kemampuan mendeteksi rintangan atau objek sasaran yang dituju. Untuk mendukung kemampuan ini, robot mandiri harus dilengkapi dengan sensor misalnya kamera. Dengan kamera sebagai sensor maka robot mandiri mampu memvisualisasikan objek dan keadaan sekitarnya. Dari hasil data gambar tersebut kemudian diproses (image processing) sehingga didapatkan sebuah persamaan untuk pola tindakan robot. Agar robot dapat terus menyesuaikan diri dengan keadaan sekitarnya, maka dibutuhkan kontroler yang dapat terus memperbaharui bentuknya. Itulah sebanya robot dikatakan mandiri. Kontroler fuzzy Q-learning dapat menjadi salah satu pilihan. Metode kontroler ini akan memberikan reward dan punishment tergantung dari keberhasilan atau kegagalan robot ketika mengeksekusi suatu kejadian. Semakin tinggi keberhasilan robot, maka III. PERANCANGAN SISTEM 3.1. Pemilihan Elemen-elemen Pembangun 1. Pemilihan Sensor CMUCam 3.0 mempunyai sensor kamera berwarna dan kontroler pengolah data gambar yang terintegrasi 1 4. Sensor Pendukung (Limit Switch) Berdasarkan keterbatasan dari sensor kamera CMUCAM 3.0 untuk sepenuhnya mengenali lingkungan di sekitarnya, maka digunakan sensor pendukung yaitu limit switch. Limit switch digunakan untuk mengetahui terjadinya tabrakan ketika bagian depan robot bersentuhan dengan suatu objek atau halangan. sehingga operasi pengolahan data dapat dilakukan dengan lebih cepat. Bentuk fisik CMUCam ver3.0 dapat dilihat pada Gambar 3.1. (a) Gambar 3.1 CMUCam ver3.0 Modul CMUCam ini akan diletakkan pada bagian depan dari robot. Di sini kamera tidak dapat bergerak secara aktif karena tidak diberikan penggerak berupa motor servo. Untuk mengatur arah pandangan maka pengguna harus mengatur sudut dari kamera dan mengencangkannya dengan baut. (b) Gambar 3.4 Sensor limit switch (a) bentuk fisiknya dan (b) realisasinya Pemilihan Elemen Final Control Karena aktuator yang dipilih adalah motor DC dan pengaturan kecepatan adalah dengan menggunakan PWM yang lebar pulsanya dikendalikan oleh mikrokontroler. Maka elemen final control yang dipilih adalah berupa suatu modul driver motor dc. 5. 2. Pemilihan Kontroler Kontroler yang dipilih adalah mikrokontroler AVR ATMEGA16 yang mempunyai PWM (Pulse Width Modulation) internal sehingga pengaturan kecepatan motor penggerak dapat dilakukan dengan lebih mudah. Gambar 3.2 Sistem Minimum Mikrokontroler AVR ATMega16 Untuk keperluan komunikasi data dengan modul kamera, AVR mempunyai protokol serial RS232. Sehingga, dengan ini data gambar dari sensor kamera dapat langsung diolah di mikrokontroler. Gambar 3.5 Skematik Rangkaian Driver Motor DC 3. Pemilihan Elemen Penggerak Pada Tugas Akhir ini, penulis menggunkan dua buah motor DC lengkap dengan gearbox yang mempunyai daya masukan rendah. Perbandingan rasio input-output untuk gearbox adalah 1:21. Tegangan kerja adalah 12 volt dengan kecepatan 400 rpm dan torsi 6,5 kgf/cm. Rangkaian driver motor dc yang dibuat sebagian besar menggunakan komponen optocoupler dan mosfet seri IRF 9540 dan IRF 540. Untuk skematik rangkaian dapat dilihat pada Gambar 3.5. 3.2. Perancangan dan Implementasi Rangka Robot Dengan berbagai pertimbangan baik dari dimensi dan uji kekuatan bahan, maka untuk sasi robot dipilih bahan dasar akrilik dengan ketebaln 3 mm. Sebagai penghubung antara sasi dengan perangkat elektronik, digunakan plat almini dan spacer yang berbahan dasar dari almini pula. Almini dipilih karena memiliki jenis kekuatan bahan material yang cukup kuat. Lihat Gambar 3.6. Tidak jauh beda dari sasis robot CMU, untuk penyangga kamera CMUCAM juga digunakan bahan dasar almini sebagai base frame dan 2 buah spacer untuk Gambar 3.3 Motor penggerak 2 menyangga kamera CMUCAM. Lebih detailnya dapat dilihat pada Gambar 3.7. Gambar 3.6 Sasis Robot CMU dengan Bahan Dasar Akrilik Gambar 3.7 Bentuk Riil Penyangga Kamera CMUCAM 3.3. Penggabungan Elemen-elemen Pembangun Gambar 3.8 merupakan hubungan koneksi elemenelemen pembangun yang telah dipilih. CMUCam mempunyai satu buah port serial level TTL yang dapat digunakan untuk komunikasi serial dengan kontroler lainnya. Baud rate yang digunakan dalam sistem adalah 115.200. Gambar 3.9 menunjukan hubungan komunikasi dan alur sinyal pada sistem yang akan dibangun. 3.4. Pemrograman Sensor Kamera CMUCam 3.0 Sebelum dapat digunakan, maka sensor kamera CMUCam 3.0 harus dimasukkan program terlebih dahulu. Pada saat pertama membeli sebenarnya CMUCam telah memiliki sensor default-nya sendiri. Namun jika terjadi error pada sistem, kita dapat men-download file .hex dari program tersebut di http://www.cmucam.org/attachment/wiki/cmucam2emulation kemudian pilih file cmucam2_lpc2106cmucam3.hex. Setelah itu, lakukan upload program tersebut ke dalam CMUCam 3.0. 3.5. Pembacaan Data Sensor Kamera CMUCam 3.0 Oleh Mikrokontroler Untuk pembacaan data dari kamera, maka sensor kamera CMUCam dan mikrokontroler dihubungkan secara serial dengan level tegangan TTL. Setelah itu mikrokontroler mengirimkan command atau instruksi kepada sensor kamera untuk mengirimkan data RGB hasil pembacaan sensor. Instruksi yang digunakan dalam hal ini adalah GM\r. Instruksi ini akan mengirimkan hasil pembacaan RGB rata-rata dari besar frame atau window yang telah di-setting. Default dari sensor kamera CMUCam untuk besar frane yang dicuplik adalah dari koordinat kartesian (0,0) sampai (88,144). Untuk membaca data suatu objek diperlukan lebar frame yang lebih kecil. Di sini akan digunakan instruksi VW [x y x2 y ]\r. Untuk daftar instruksi dan penjelasan penggunaan instruksi tersebut dapat dilihat pada Lampiran B-4. Dalam implementasinya, lebar frame yang digunakan hanya 12 pixel atau 12 koordinat. Konfigurasi dari koordinat yang dicuplik dalam sensor kamera dapat dilihat pada Gambar 3.10. Jadi, dalam implementasinya, cuma ada tiga baris dalam kamera yang akan diproses. Banyak baris yang dicuplik dibatasi sampai tiga karena pada saat pergantian instruksi dari perubahan frame kemudian mengambil data RGB, sensor kamera CMUCam 3.0 memerlukan delay sekitar 25 ms (didapat dari hasil percobaan) agar data yang dikirimkan tidak terjadi kesalahan. Gambar 3.8 Penggabungan elemen-elemen pembangun sistem Gambar 3.10 Model pembacaan data gambar pada kamera dan input dari proses fuzzy q-learning Gambar 3.9 Hubungan Komunikasi Data dan alur sinyal pada sistem Setiap perubahan frame dalam satu baris dihitung menggunakan counter. Semakin besar counter menandakan jarak suatu objek terhadap kamera semakin jauh. Untuk lebih memahami tentang hubungan koordinat pixel dengan posisi objek terhadap kamera, dapat merujuk pada Bab IV sub-bab 4.1.2 (Pengujian CMUCam Untuk Identifikasi Proyeksi). Satu baris dalam setiap input di-set memiliki 20 kali perubahan frame. Sehingga, jika ada tiga buah input, dalam satu kali pemrosesan satu gambar penuh ada 60 kali Semakin lama mengitari lingkungannya, maka robot semakin pintar dalam mengenali semua objek halangan dan dapat menemukan objek sasaran. Dalam program kontroler ini, dibatasi jumlah objek halangan hanya 5 buah. Hal ini dikarenakan lamanya proses pengenalan objek yang disebabkan kamera CMUCam 3.0 memiliki waktu delay sekitar 25-100 ms dalam memproses data gambar, tergantung besar frame yang dianalisa, untuk mendapatkan nilai RGB yang dimaksud. Setelah robot memiliki kemampuan mengenali objek halangan dan sasaran, robot dapat dilepas kembali untuk melakukan uji coba kehandalan kontroler fuzzy q-learning tersebut. Semakin sedikit tabrakan yang terjadi, maka semakin handal kontroler tersebut. Bentuk flowchart dari sistem dan kontroler fuzzy q-learning dapat dilihat pada Gambar 3.11 dan Gambar 3.12. perubahan frame. Jadi total, mikrokontroler akan memproses data suatu gambar penuh sekitar (25 ms x 60 kali) 1,5 detik. Waktu total tersebut terlalu lama sehingga menjadi kendala dari robot dalam hal kecepatan merespon perubahan keadaan di sekitarnya. 3.6. Pemrograman Robot Mandiri Dengan Kontroler Fuzzy Q-learning Robot mandiri pertama kali dilepas pada saat belum mengetahui sama sekali tentang keadaan lingkungan di sekitarnya atau dengan kata lain robot belum bisa menentukan apakah data gambar yang ditangkap oleh kamera merupakan objek halangan atau bukan. Namun, sebelumnya robot telah diinisialisai tentang objek sasaran yang dicari atau dituju. Setelah beberapa saat mengitari lingkungan, robot dipastikan akan menabrak suatu objek dan sensor limit switch akan diaktifkan. Setelah menabrak, robot akan menyimpan data RGB dari objek tersebut sebagai halangan dan kontroler fuzzy q-learning akan mulai bekerja menentukan aksi yang tepat untuk robot. Jika robot berhasil melewati halangan maka kontroler akan menambah nilai reward untuk robot dan jika tidak berhasil maka kontroler akan memberikan nilai punishment. Nilai reward dan punishment itu akan masuk ke dalam variabel Q. setelah robot berhasil melewati halangan tersebut, maka nilai Q dan nilai RGB untuk objek tersebut akan disimpan. Gambar 3.12 Flowchart Sub Program Fuzzy IV. IMPLEMENTASI DAN PENGUJIAN 4.1. Pengujian CMUCam Sebagai Sensor 1. Pengujian Pengambilan Nilai RGB Beberapa Warna Pengujian ini dilakukasn dengan program dasar yang telah termasuk dalam paket pembelian CMUCam dan diuji dengan menggunakan sebuah komputer dengan software CMUCam GUI. Data-data pada Tabel 4.1 sampai Tabel 4.3 diambil pada tanggal 17 Juni 2011, pukul 23.26 di kamar kos Gebang Wetan 23B dengan kondisi pencahayaan yang cukup (lampu di sisi timur dan tengah). Dari tabel tersebut dapat diketahui bahwa kadar RGB untuk setiap warna berbeda sehingga perlu adanya sebuah inisialisasi kondisi RGB khusunya untuk objek. Sedangkan untuk logika menghindari halangan hanya digunakan sistem perubahan data RGB sebuah benda. Jika dalam sensor Gambar 3.11 Flowchart Sistem Robot Mandiri 4 2. CMUCAM mendeteksi benda dengan data RGB yang relatif tidak berubah dan ternyata bukan data RGB obyek, maka benda tersebut adalah sebuah halangan. Pengambilan data juga dilakukan untuk jarak yang berbeda beda pada contoh objek berwarna biru laut. Data diambil pada waktu yang sama dan tempat yang sama tanpa penerangan tambahan dari depan robot. Data hasil percobaan dapat dilihat pada Tabel 4.3. Dari sana terlihat bahwa nilai RGB relatif stabil walaupun jarak objek yang ditangkap berubah-rubah. Pengujian CMUCam Untuk Identifikasi Proyeksi Pengambilan data ini dilakukan dengan cara melakukan uji coba perubahan jarak objek terhadap robot dan mengambil data koordinat X dan Y pada citra untuk posisi bola tersebut. Dimana kordinat Y merupakan suatu representasi jarak sesungguhnya dan koordinat X adalah merupakan representasi simpangan objek terhadap titik tengah posisi kamera. Format paket T pada CMUCam mempunyai bentuk T mx my x1 y1 x2 y2 pixels confidence\r Tabel 4.1 Data Nilai Rata-Rata RGB Untuk Beberapa Warna (Objek Kertas Warna) No. Warna Kertas 1 2 3 4 5 6 7 8 9 Jingga Kuning Biru laut Hijau muda Hijau tua Merah Merah muda Cokelat Hitam Red 68 75 46 54 49 71 63 51 48 Rata-rata Green 59 88 49 84 61 43 42 47 46 Dengan mx, my adalah koordinat pixel untuk warna yang sedang di track. x1, y1, x2, y2 merupakan jendela pembatas dari warna yang diambil oleh CMUCam. Dengan benda yang semakin besar, maka jendela pembatas ini mempunyai lebar yang semakin besar juga. Pixels memberikan nilai pixel yang di-track oleh CMUCam, confidence memberikan nilai kepastian dari suatu pengukuran. Percobaan dilakukan dengan menaruh objek (dalam hal ini digunakan lampu senter) di depan kamera CMU pada jarak yang berbeda beda dan membandingkan posisinya terhadap pixel y. Hasil percobaan dapat dilihat pada Tabel 4.4. Blue 42 47 68 54 53 45 58 51 52 Tabel 4.2 Data Nilai RGB (Maksimum dan Minimum) untuk Beberapa Warna (Obyek Kertas Warna Origami) Nomor Pengambilan Data 1 (MIN) MAX Data 2 (MIN) (MAX) Data 3 (MIN) (MAX) R G B 94 62 24 124 111 71 79 101 21 111 149 55 16 27 67 29 49 87 Data 4 (MIN) 43 100 28 (MAX) 77 150 70 Data 5 (MIN) 21 53 37 (MAX) 63 96 70 Data 6 (MIN) 85 22 22 MAX 122 57 51 Data 7 (MIN) 67 27 49 (MAX) 105 57 72 Data 8 (MIN) 23 29 25 (MAX) 72 66 60 Data 9 (MIN) 26 19 23 (MAX) 64 63 61 Tabel 4.4 Data hasil identifikasi proyeksi Warna Kertas No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Jingga Kuning Biru laut Hijau muda Hijau tua Merah Ungu Jarak Objek (cm) 12 15 20 30 40 50 60 70 80 90 100 110 120 130 140 Pixel Y 0 9 38 66 83 93 100 106 111 115 117 119 121 124 126 150 127 Cokelat 4.2. Pengujian Sistem Terintegrasi Pengujian yang dilakukan pada keseluruhan sistem ini bertujuan untuk menganalisa performa dari robot mandiri dalam menemukan objek sasaran atau target. Dalam hal ini, yang diperhatikan adalah peningkatan kemampuan belajar robot setiap kali terjadi siklus belajar atau pengujian baru. Sehingga, nantinya dapat diketahui kahandalan kontroler fuzzy q-learning dalam sistem robot mandiri yang telah dirancang. Pengujian dilakukan dengan menaruh robot mandiri dalam posisi start kemudian pada lingkungan tempat pengujian diletakkan objek halangan dan objek sasaran. Satu siklus belajar di sini adalah satu siklus dimana robot mulai dilepas hingga saat robot berhasil menemukan objek sasaran. Setelah robot melakukan satu siklus belajar yang mana robot masih belajar membedakan antara objek halangan dengan target, maka robot kembali dilepas pada posis start yang sama seperti sebelumnya. Robot akan terus Hitam Tabel 4.3 Data Nilai RGB Untuk Kertas Origami Warna Biru Laut Berdasarkan Pada Jarak Pengambilan Gambar No Jarak (cm) Red (min) Red (max) Green (min) Green (max) Blue (min) Blue (max) 1 30 22 60 29 70 83 142 2 50 24 45 38 70 77 113 3 70 25 46 41 73 79 113 4 90 16 29 27 49 67 87 5 110 28 47 41 55 64 70 5 kembali diperintahkan untuk mempelajari lingkungan sekitar sampai dengan robot tanpa gagal membedakan antara objek halangan dengan targetnya. Dari keseluruhan proses tersebut, maka akan didapatkan jumlah siklus belajar ideal untuk robot agar dapat mengenali keseluruhan lingkungan. Setelah itu robot kembali diuji dengan mengubah banyaknya jumlah objek halangan. Perlu diperhatikan pada lingkungan tempat uji bahwa pada jumlah objek halangan yang sama, baik letak maupun jenis objek halangan dan target maupun cahaya penerangan sekitar tempat uji, dari satu siklus belajar yang satu ke siklus belajar berikutnya tidak dirubah atau dengan kata lain statis. Data hasil pengujian dapat dilihat pada Tabel 4.5. 4. 5. Tabel 4.5 Data hasil kemampuan belajar robot No 1 2 3 4 5 Variasi Objek Halangan 1 2 3 4 5 Jumlah Objek Halangan 1 2 3 4 5 Jumlah Siklus Belajar 1 2 2 3 4 dijelaskan pada Bab III sub bab 3.3.6 (Pembacaan Data Sensor Kamera CMUCam 3.0 Oleh Mikrokontroler), waktu total mikrokontroler memproses data suatu gambar penuh sekitar 1,5 detik. Dalam hal kemampuan robot mempelajari lingkungan sekitar, didapatkan hubungan bahwa semakin banyak objek halangan yang diletakkan maka robot cenderung semakin banyak membutuhkan siklus belajar atau dengan kata lain proses belajar yang dilakukan oleh robot semakin lama. Untuk kontroler fuzzy q-learning, jumlah siklus belajar yang dilakukan robot bergantung pada jumlah tabrakan yang terjadi dan variasi jenis objek yang dikenali oleh robot dalam satu siklus belajar. Kemampuan belajar robot akan semakin meningkat jika dalam satu siklus pembelajaran terjadi tabrakan pada objek halangan yang berbeda. REFERENSI [1] Tabel 4.5 memberikan gambaran mengenai kemampuan belajar robot. Dapat dilihat bahwa semakin banyak objek halangan yang diletakkan, maka robot semakin banyak membutuhkan siklus belajar. Perlu diperhatikan, bahwa jumlah siklus belajar ini adalah jumlah siklus belajar ideal, artinya jumlah siklus belajar ini tidak pasti setiap dilakukan pengujian. Hal ini karena pada satu siklus belajar, jumlah tabrakan yang terjadi dan variasi jenis objek yang dikenali oleh robot berbeda. Semakin sering terjadi tabrakan pada objek halangan yang berbeda pada siklus-siklus awal pembelajaran, membuat robot memahami lingkungan sekitar lebih baik dan tidak terlalu kesulitan menghindari objek halangan dan menemukan objek sasaran pada saat siklus belajar berikutnya Jadi, untuk kontroler fuzzy q-learning, didapatkan kesimpulan bahwa jumlah siklus belajar yang dilakukan robot bergantung pada jumlah tabrakan yang terjadi dan variasi jenis objek yang dikenali oleh robot dalam satu siklus belajar. Kemampuan belajar robot akan semakin meningkat jika dalam satu siklus pembelajaran terjadi tabrakan pada objek halangan yang berbeda. [2] [3] [4] [5] [6] [7] [8] Anam, Khairul, (2008), Skema Behavior-Based Control Dengan Pembelajaran Fuzzy Q-learning Untuk Sistem Navigasi Autonomous Mobile Robot, Tesis S2, Institut Teknologi Sepuluh Nopember Surabaya. N. N, David, (2008), Perancangan Sistem Visual Servo Control Pada Intelligent Mobile Robot Dengan Menggunakan Struktur Image Based Visual Servoing (IBVS), Skripsi S1, Institut Teknologi Sepuluh Nopember Surabaya. Riswandanu, Anggie, (2010), Deteksi Objek Menggunakan Kamera Dengan Pendekatan Neural Network Pada Robot Soccer Field, Skripsi S1, Institut Teknologi Sepuluh Nopember Surabaya. H. M, Ravi, (2010), Penerapan Behavior Based Robotic Pada Sistem Navigasi dan Kontrol Robot Soccer, Skripsi S1, Institut Teknologi Sepuluh Nopember Surabaya. L. Dong-Wook, S. Sang-Wook, dan S. Kwee-Bo, 2008, Online Evolution for Cooperative Behavior in Group Robot Systems. International Journal of Control, Automation, and Systems, vol. 6, no. 2, pp. 282-287, April 2008. Malvino, Albert Paul, Prinsip-prinsip Elektronika Buku Satu, Salemba Teknik, Jakarta, 2003. Herviyanto, Ary, dan P., Wisnu Adi, Pemrograman Bahasa C Untuk Mikrokontroler ATMEGA8535, Andi Yogyakarta, Yogyakarta, 2008. Andrianto, Heri, Pemrograman Mikrokontroler AVR ATMEGA 16 Menggunakan Bahasa C (Code Vision AVR), INFORMATIKA Bandung, 2008. RIWAYAT PENULIS Penulis bernama lengkap Muhammad Taufiq Ramadhan Ruliyadi. Lahir di Samarinda, 20 April 1988. Menempuh pendidikan dari tingkat SD sampai SMA di daerah asalnya yaitu, Samarinda. Setelah lulus dari SMA Negeri 10 Samarinda pada tahun 2006, penulis merantau ke Jawa untuk melanjutkan studi pada bidang elektro di Diploma 3 Jurusan Teknik Elektro, Institut Teknologi Sepuluh Nopember (ITS) Surabaya. Setelah 3 tahun menempuh pendidikan D3, pada tahun 2009 penulis berhasil lulus dengan IPK 3,42 dan melanjutkan alih jalur studi S1 Teknik Elektro ITS pada tahun yang sama. Selama studi perkuliahan penulis aktif di beberapa kegiatan organisasi dan menjadi asisten praktikum. V. KESIMPULAN Setelah melakukan perancangan, implementasi, pengujian, dan analisa, dapat diambil beberapa kesimpulan bahwa: 1. Nilai RGB untuk setiap tempat pada lapangan selalu berubah-ubah. Hal ini dipengaruhi intensitas cahaya dan jarak penangkapan gambar atau posisi objek. 2. Kemampuan robot dalam menentukan range nilai RGB suatu objek sangat berpengaruh terhadap proses mengenali objek. Karena jika terlalu besar dalam menentukan range suatu objek, maka objek yang lain pun dapat dianggap sebagai objek yang sama namun jika range terlalu kecil, maka terkadang objek yang dimaksud terkadang dapat dideteksi dan terkadang tidak. 3. Kecepatan kamera dalam menangkap citra gambar juga sangat berpengaruh dalam hal keakuratan dan kecepatan kontroler dalam merespon perubahan lingkungan sekitar. Berdasarkan algoritma yang telah 6