Aplikasi Kontroler Reinforcement Neural Network Learning pada Robot Mandiri Yang Terintegrasi Dengan Kamera CMUCAM 3.0 Debra Achmat Fajaryn Naro (2209 105 098), Ir. Rusdhianto Effendi AK, MT. Jurusan Teknik Elektro FTI - ITS
dieliminasi. Akan tetapi, kelemahan berada pada sisi mekanis manipulator robot yang harus presisi. Sensor kamera merupakan suatu piranti sensor noncontact sehingga sistem closed-loop pengaturan robot yang menggunakan pengolahan citra sebagai sub-sistem umpanbalik akan meningkatkan keakuratan kinerja sistem robot yang memiliki tingkat kepresisian mekanik yang rendah. Oleh karena itu, pada sistem robot mandri yang akan dibangun digunakan sebuah metode pembelajaran lingkungan berdasarkan jaringan saraf tiruan dengan mengandalkan revsisi bobot secara acak atau yang sering dikenal dengan reinforcement neural network learning.
Abstrak — Perkembangan robot di dunia semakin pesat. Hal tersebut terbukti dengan munculnya berbagai jenis robot mulai dari robot manipulator, humanoid, mobile robot dan lainlain. Namun, yang paling gencar untuk dikembangkan demi membantu kinerja dari manusia dalam kehidupan sehari-hari adalah mobile robot. Dalam proses implementasi digunakan robot beroda dan hal yang menjadi perhatian untuk mobile robot adalah pemilihan sensor utama sebagai penyuplai data dalam proses eksekusi perilaku robot. Pada penelitian ini difokuskan pada mobile robot dengan kemampuan pengolahan citra sehingga digunakan sensor kamera CMUCAM dengan versi 3.0. Sedangkan untuk sistem pengolahan datanya digunakan embedded system dengan mikrokontroler AVR ATMega16. Dalam penentuan proses eksekusi punishment, reward, dan proses mempelajari lingkungan sekitar digunakan metode reinforcement neural network learning. Dalam proses implementasinya ternyata proses learning robot tidak sempurna. Hal ini dikarenakan adanya beberapa faktor internal dan eksternal. Faktor internalnya adalah kecepatan kamera dalam mengirimkan data bit RGB dari proses scanning obyek yang membutuhkan cukup lama. Untuk sekali scanning obyek 12 pixel membutuhkan delay 25ms sedangkan dalam satu frame terdiri dari ±720 pixel sehingga total waktu yang dibutuhkan adalah 1,5s. Untuk faktor ekternalnya adalah pencahayaan dan jumlah obyek yang akan dibaca.
II. REINFORCEMENT NEURAL NETWORK LEARNING A. Pengolahan Citra Digital Citra digital adalah suatu citra f(x,y) yang memiliki koordinat spatial, dan tingkat kecerahan yang diskrit. Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah obyek. Fungsi f (x, y) dapat dilihat sebagai fungsi dengan dua unsur. Unsur yang pertama merupakan kekuatan sumber cahaya yang melingkupi pandangan kita terhadap obyek (illumination).
Kata kunci — reinforcement neural network learning, CMUCAM 3.0, embedded system, mobile robot.
y
y1
I. PENDAHULUAN Perkembangan robot mandiri sangatlah pesat, hal tersebut dapat dilihat pada banyaknya dihasilkan robot pembantu manusia seperti halnya industri-industri besar. Pemilihan sensor pada aplikasi robotika merupakan suatu tahapan yang sangat penting, karena elemen pembangun sistem ini mempunyai keterikatan yang sangat erat dengan lingkungan kerja sistem robotika tersebut. Pada banyak aplikasi, sensor yang digunakan adalah sensor yang berupa rangkaian elektris dan elektronik analog / digital. Sebagai contoh, enkoder pada joint manipulator robot, atau dengan menggunakan servo posisi. Tetapi dengan sensor tersebut, kinerja dan keakuratan sistem robot ini menjadi berkurang, karena lebar pita penpencacahan pada enkoder mempunyai keterbatasan pembagian dengan total sudut 3600. Dengan demikian, jumlah bit yang dapat diaplikasikan menjadi berkurang. Dengan menggunakan servo posisi, permasalahan penpencacahan bit pada enkoder dapat
x x1
Gambar 2.1 Citra Digital Unsur yang kedua merupakan besarnya cahaya yang direfleksikan oleh obyek ke dalam pandangan kita (reflectance components). Keduanya dituliskan sebagai fungsi i(x, y) dan r(x, y) yang digabungkan sebagai perkalian fungsi untuk membentuk fungsi f (x, y) B. Neural Network Neural Network (jaringan saraf tiruan) pada umumnya digunakan untuk tugas atau pekerjaan yang kurang praktis jika dikerjakan secara manual sehingga dibutuhkan sebuah sistem yang dapat mengatur proses
1
tersebut secara otomatis. Berikut adalah kegunaan dalam kehidupan nyata : a. Perkiraan Fungsi, atau Analisis Regresi, termasuk prediksi time series dan modeling. b. Klasifikasi, termasuk pengenalan pola dan pengenalan urutan, serta pengambil keputusan dalam pengurutan. c. Pengolahan data, termasuk penyaringan, pengelompokan, dan kompresi. d. Untuk keperluan robotik.
(2.2) (2.3) Keterangan : J = eror sesaat minimum e = eror target N= evaluasi data ke-N Berdasarkan persamaan 2.2 dan 2.2 maka nilai dari eror minimum akan dapat diketahui sesuai dengan proses penjumlahan eror mulai dari evaluasi ke k = 1 sampai dengan k = N. III. PERANCANGAN DAN IMPLEMENTASI A. Perancangan 1. Perangkat Keras a. Mekanik Pada perancangan mekanik ini difokuskan pada dua masalah, yaitu masalah sasis robot dan desain penyangga kamera CMUCAM 3.0. berikut penjelasannya : 1) Sasis 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.
Gambar 2.2 Contoh Sederhana Neural Network C. Proses Learning 1. Reinforcement Learning Prinsip yang digunakan dalam metode ini didasarkan pada teori reinforcement yang pada intinya adalah ‗konsekuensi mempengaruhi tindakan‘. Ada 3 prinsip dasar pada teori reinforcement yakni (Tadepalli et al, 1998; ). a. Konsekuensi yang berakibat baik mendorong terjadinya tindakan. b. Konsekuensi yang berakibat buruk mendorong berkurangnya tindakan. c. Konsekuensi yang tidak ada dampaknya tidak memperngaruhi tindakan. 2. Back Propagation Learning Back propagation learning merupakan suatu bentuk proses learning dari neural network. Sesuai dengan istilah yang tertera, back propagation adalah sebuah analisa kesalahan bobot input yang dilakukan berdasarkan data output.
Gambar 3.1 Sasis Robot CMU dengan Bahan Dasar Akrilik 2) Penyangga CMUCAM Tidak jauh beda dari sasis robot CMU, untuk penyangga kamera CMUCAM juga digunakan bahan dasar almini sebagai base frame dan 2 buah spacer untuk menyangga kamera CMUCAM. Lebih detailnya dapat dilihat pada Gambar 3.2.
Gambar 2.3 Contoh Model Neural Network Dari Gambar 2.3 dapat dihasilkan sebuah model matematik yang menunjukkan hubungan antara input, error, dan output. Berikut penjabrannya :
Gambar 3.2 Bentuk Riil Penyangga Kamera CMUCAM b. Elektrik (2.8)Pada perancangan perangkat elektrik ini terdapat empat macam kompone yang akan menjadi pokok bahsan utama perancangan embedded system, perancangan driver motor DC, pemilihan sensor utama (kamera CMUCAM 3.0) dan sensor pendukung (limit switch), dan integrasi sistem secara keseluruhan. Hal tersebut sesuai dengan diagram blok kontroler yang digunakan pada tugas akhir ini. Berikut penjabarannya.
(2.1) Keterangan : y = output e = y - yT = eror target yT= output target dari penjabaran persamaan matematik di atas maka yang akan dilakukan adalah proses learning untuk merevisi nilai bobot sedemikian rupa sehingga nilai y mendekati nilai yT atau bisa dikatakan eror target minium. Berdasarkan persamaan 2.1 juga dapat dihasilkan dua cara untuk menyatakan eror target minimum, yaitu : 2
Dengan pertimbangan ukuran modul dan kecepatan pengolahan data, penulis memilih sensor kamera terintegrasi CMUCAM 3.0. CMUCAM mempunyai sensor kamera berwarna dan kontroler pengolah data gambar yang terintegrasi sehingga operasi pengolahan data dapat dilakukan dengan lebih cepat. Spesifikasi sistem dan strukturnya telah dijelaskan pada bab II. Bentuk fisik CMUCAM 3.0 dapat dilihat pada Gambar 3.7.
Gambar 3.3 Diagram Blok Kontroler Sistem Secara Keseluruhan 1) 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:208. Tegangan kerja adalah 5-12 volt dengan torsi 3Kg.m.
Gambar 3.7 Bentuk Fisik CMUCAM 3.0 5) Sensor Pendukung (Limit Switch) Berdasarkan keterbatasan dari sensor kamera CMUCAM 3.0 untuk sepenuhnya mengambil keputusan dari sebuah kondisi, maka digunakan sensor pendukung yaitu limit switch. Kondisi yang yang dimaksud adalah ketika sensor kamera CMUCAM 3.0 telah mendeteksi data obyek dengan data yang tetap (tidak berubah). Limit switch akan megirimkan sinyal ―0‖ ketika robot menabrak obyek.
Gambar 3.4 Bentuk Fisik Motor penggerak 2) Driver Motor DC Rangkaian driver motor DC yang dibuat sebagian besar menggunakan komponen optocoupler dan mosfet dengan seri IRF 9540 dan IRF 540. Untuk skematik rangkaian dapat dilihat pada Gambar 3.5
(a)
(b)
Gambar 3.8 (a) Bentuk Fisik Limit Switch dan (b) Realisasinya 6) Integrasi Sistem Elektrik dan Mekanik Struktur model robot banyak sekali diteliti oleh berbagai pihak, model hexapod, model bipedal, model beroda dll. Berdasarkan beberapa pertimbangan dari segi akselerasi dan efektifitas dalam bergerak maka model yang paling tepat untuk diimplementasikan pada robot CMUCAM ini adalah robot beroda yang relatif stabil dan umum digunakan pada aplikasi ini.
. Gambar 3.5 Skematik Driver Motor DC 3) Embedded System Dengan pertimbangan dimensi dan berat, maka sistem mikrokontroler sebagai embedded system. Dan mikrokontroler yang dipilih adalah AVR ATMega 16 low cost yang mempunyai PWM (Pulse Width Modulation) internal sehingga pengaturan kecepatan motor penggerak dapat dilakukan dengan lebih mudah. Selain itu juga, AVR merupakan suatu mikrokontroler yang mempunyai reliabilitas dan kecepatan yang cukup baik.
Gambar 3.9 Robot CMUCAM 7) Integrasi Sistem Secara Keseluruhan
Gambar 3.6 Embedded system dengan AVR ATMega16 4) Sensor Kamera CMUCAM 3.0 3
Gambar 3.10 Penggabungan Elemen-Elemen Sistem CMUCAM 3.0 (Embedded Visual Processor) Image Processing dengan sistem reinforcement neural network learning untuk identifikasi warna
UART Tx UART Rx
UART Tx
H-Bridge driver
Motor 1 (kiri) 12V rasio 1:208
UART Rx
Gambar 3.15 Tampilan Status Emulator CMUCAM LPC210x saat file .hex sudah siap untuk di-upload
AVR low cost, chip ATMega 16
Pengaturan reward dan punishment serta ekpansi sensor sebgai pengindera
Motor 2 (kanan) 12V rasio 1:208
(4)
Gambar 3.11 Hubungan Komunikasi Data dan Alur Sinyal 2. Perangkat Lunak Sesuai dengan dasar teori pada Bab 2, kamera CMUCAM memeiliki konfigurasi khusus yang harus dipenuhi sebelum proses eksekusi baik dari sisi programming maupun pengambilan data dalam bentuk bit RGB. Langkah-langkah untuk meng-upload program ke dalam kamera CMUCAM 3.0: 1) Membuka program emulator LPC210x 2) Pilih program .hex yang sesuai dengan frekuensi transfer data program CMUCAM 3.0 3) Memilih tombol upload file untuk memulai proses upload file .hex ke CMUCAM 3.0 dan akan muncul konfirmasi untuk eksekusi proses
(5) Gambar 3.16 (4) Status Proses Upload File Program .hex, (5) Konfirmasi Status Berhasilnya Proses Upload B. Implementasi 1. Implementasi Sistem Secara General Start
Inisialisasi PWM
Ambil data gambar dari kamera
Gambar 3.13 Tampilan Awal Emulator CMUCAM LPC210x 4) Setelah proses 3 dilakukan reset CMUCAM 3.0 secara manual dan proses upload dimulai disertai indikator proses 5) Jika proses telah selesai, indikator proses upload akan hilang dengan sendirinya dan emulator dapat ditutup.
T T
Halangan?
Target?
Y
Robot bergerak menuju sasaran
Y Proses reinforcement neural network learning
Robot bergerak maju (PWM motor kanan=PWM motor kiri)
Posisi koordinat robot==posisi koordinat sasaran Menghindari halangan (PWM motor kanan!=PWM motor kiri)
Simpan nilai RGB objek sebagai halangan
Y
Stop
Simpan nilai sinyal kontrol Y Tabrakan?
Punishment+=1;
T
Reward+=1;
Gambar 3.14 Lokasi File .hex yang akan Di-Upload Melalui Emulator LPC210x
Gambar 3.17 Diagram Alir Sistem secara General 4
T
Tabel 4.1 Data Nilai RGB (Maksimum dan Minimum) untuk Beberapa Warna (Obyek Kertas Warna Origami)
2. Implementasi Sistem Secara Spesifik Sub Proses Learning
Inisialisasi input_x[1], input_x[2], …, input_x[n]; Inisialisasi bobot_w[1], bobot_w[2], …, bobot_w[n];
Inisialisasi variabel output jst dan variabel output target
Output=input_x[1]*bobot_w[1]+input_x[2]*b obot_w[2]+…+input_x[n]*bobot_w[n];
Output jst==output target
T
Revisi nilai bobot
Y Return
Gambar 3.18 Diagram Alir Sistem secara Spesifik pada Proses Learning IV. PENGUJIAN DAN ANALISA A. Pengujian CMUCAM Sebagai Sensor 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).
60
Bit RGB
G
B
94
62
24
MAX
124
111
71
Data 2 (MIN)
79
101
21
(MAX)
111
149
55
Data 3 (MIN)
16
27
67
(MAX)
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
Warna Kertas Jingga Kuning Biru laut Hijau muda Hijau tua Merah Ungu Cokelat Hitam
Tabel 4.2. Data Nilai RGB untuk Warna Biru Kertas Origami berdasarkan pada Jarak Pengambilan Gambar
80 40 0
R
B. 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.
100
20
Nomor Pengambilan Data 1 (MIN)
Red (ratarata) Green (ratarata)
Warna Kertas Origami
Dari tabel 4.1 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 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 3. Dari sana terlihat bahwa nilai RGB relatif stabil walaupun jarak objek yang ditangkap berubah-rubah.
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
Gambar 4.2 Tampilan Pada CMUCAM GUI
Gambar 4.2 menunjukan cuplikan program CMUCAM GUI untuk pengejaran obyek berwarna. Format paket T pada CMUCAM mempunyai bentuk 5
sensor CMUCAM yang menjadi input embedded system juga tidak akan valid. Hal tersebut akan sangat memperngaruhi kinerja robot. 3. Adanya delay dalam setiap kali eksekusi program dalam CMUCAM membuat proses penentuan kondisi semakin lama. Besar nilai delay yang dibutuhkan dalam sekali scanning obyek dalam skala 12 pixel adalah 25ms. Dalam satu frame kamera terdapat 720 pixel sehingga terdapat 60 kali proses validasi data dalam satu proses scanning. Akibat kondisi tersebut kinerja dari robot menjadi kurang maksimal karena dari hasil kalkulasi perhitungan didapat total delay sebesar 1.5s.
T mx my x1 y1 x2 y2 pixels confidence\r 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. C. Pengujian Sistem Terintegrasi Pengujian yang dilakukan pada keseluruhan sistem ini bertujuan untuk menganalisa performa dari robot mandiri dalam menemukan objek sasaran atau target. Variabel yang diubah-ubah dalam hal ini adalah kecepatan laju belajar Sehingga, nantinya didapat hubungan anatara kecepatan laju belajar terhadap jumlah siklus belajar (epoch) yang dilakukan oleh robot mandiri. Pengujian dilakukan dengan menaruh robot mandiri dalam posisi start. Satu epoch di sini adalah satu siklus dimana robot mulai dilepas hingga saat robot berhasil menemukan objek sasaran. Setelah robot melakukan satu epoch yang dimana robot masih belajar membedakan antara objek halangan dengan target, maka robot kembali dilepas dengan kecepatan laju belajar yang sama namun telah memiliki sedikit pengetahuan dari hasil belajar sebelumnya. Dalam beberapa kali uji coba ternyata proses learning robot tidak sempurna. Hal ini dikarenakan adanya beberapa faktor internal dan eksternal. Faktor internalnya adalah kecepatan kamera dalam mengirimkan data bit RGB dari proses scanning obyek yang membutuhkan cukup lama. Untuk sekali scanning obyek 12 pixel membutuhkan delay 25ms sedangkan dalam satu frame terdiri dari ±720 pixel sehingga total waktu yang dibutuhkan adalah 1,5s. Untuk faktor ekternalnya adalah pencahayaan dan jumlah obyek yang akan dibaca.
VI. DAFTAR PUSTAKA [1] Hutchinson, S., Gregory, D., Peter, I. Corke., ―A Tutorial on Visual Servo Control‖, IEEE transactions on robotics and automation, Vol. 12/ no.5. October 1996. [2] Hashimoto, Koichi., Ebine, Takumi., Kimura, Hidenori., ―Visual Servoing with Hand-Eye Manipulator – Optimal Control Approach‖, IEEE transactions on robotics and automation, Vol. 12/ no.5. Oktober 1996. [3] U. Ahmad, Pengolahan citra digital dan teknik pemrogramannya, GRAHA ILMU, 2005 [4] Fadlisyah, S.Si, Computer Vision, Andi Yogyakarta, 2007 [5] Pirjanian, P.(1999) ,―Behavior coordination mechanisms—State-of-the-art‖, Techical Report IRIS (Institute of Robotics and Intelligent Systems),University of Southern California, hal 99375 [6] Riyanto Sigit, Robotika, Sensor, & Aktuator, Yogyakarta : Graha Ilmu. 2007 VII. RIWAYAT HIDUP PENULIS Debra Achmad Fajaryn Naro, lahir di Lamongan pada tanggal 25 November 1988. Masa kecil hingga remaja dihabiskan di Kota Lamongan. Hal tersebut dimulai dari jenjang pendidikan yaitu mulai dari bersekolah di SDN Glagah 2 Kec. Glagah, jenjang menegah pertama di MTs. N Glagah dan pada jenjang menengah atas bertempat di pusat kota tercinta yaitu di SMAN 2 Lamongan. Setelah lulus SMA jiwa merantau penulis bergejolak sehingga berkeinginan untuk menempuh jalur pendidikan tinggi diluar kota kelahiran. Akhirnya bernaunglah penulis di kampus perjuangan D3 Teknik Elektro Institut Teknologi Sepuluh Nopember Surabaya. Pendidikan ditempuh dengan masa studi enam semeter dengan predikat IPK sangat memuaskan sehingga kemudian berlanjut ke jenjang Lintas Jalur untuk mengambil gelar Strata 1 yaitu di Jurusan S1 Teknik Elektro FTI-ITS pada tahun 2009. Dalam perjalanan studinya penulis juga bekerja semenjak semester 3 di LBB Primagama QuantumKids sebagai cutomer service, marketing, dan teacher. Pada bulan ke-2 penulis diberi mandat oleh owner untuk menjadi seoarang asisten branch manager. Namun, kondisi tersebut tidak berlangsung lama hanya 1 bulan dikarenakan penulis ingin fokus untuk menyelesaikan tugas akhir yang telah mendapat persetujuan dari kampus.
Gambar 4.3. Ilustrasi Frame Kamera CMUCAM 3.0 untuk Proses Learning V. KESIMPULAN Proses uji coba telah dialkukan berulang kali guna mencapai tujuan yang telah ditetapkan dalam tugas akhir ini. Berdasarkan uji coba yang telah diakukan maka, telah didaptkan bebrapa kesimpulan, diantaranya : 1. Proses learning dengan metode reinforcement neural network learning memaksa robot untuk selektif dalam menentukan bobot benda. Hal tersebut terjadi karena proses revisi bobot dilakukan berulang kali guna menghasilkan data yang valid. Sehingga dapat disimpulkan bahwa semakin kecil laju belajar robot maka semakin lama pula proses learning-nya. 2. Penentuan range RGB sebuah benda harus dilakukan secara tepat karena jika tidak valid maka data hasil bacaan 6