PENERAPAN JARINGAN SYARAF TIRUAN
PADA PENGENALAN POLA ROBOT LINE FOLLOWER
Asep Sholahuddin
1, Setiawan Hadi
21Universitas Padjadjaran, Jl. Raya Bandung Sumedang KM 21, Sumedang, 45363,
2Universitas Padjadjaran, Jl. Raya Bandung Sumedang KM 21, Sumedang, 45363,
ABSTRAK
PENERAPAN JARINGAN SYARAF TIRUAN PADA PENGENALAN POLA ROBOT LINE FOLLOWER. Robot Line Follower (LFR) adalah robot yang beroda kemudian berjalan pada jalur garis hitam karena dilengkapi dengan sensor infra merah. Pada paper ini telah diterapkan Jaringan Syaraf Tiruan (JST) dengan menggunakan metode backpropagation. Proses yang dilakukan adalah mengambil data input berupa nilai biner (0 dan 1) dari hasil pembacaan 4 buah lampu infra red pada robot yang akan mendeteksi jalur hitam. Output pembacaan tersebut berupa nilai Pulse Width Modulation (PWM) kemudian dilatih menggunakan JST. Pengujian dilakukan menggunakan software Matlab dengan neuron input sebanyak 4 buah dan neuron output sebanyak 1 buah maka keakuratan pengenalan pola sebesar 100%.
Kata kunci: Jaringan Syaraf Tiruan, Robot Line Follower, Backpropagation
ABSTRACT
APPLICATION OF ARTIFICIAL NEURAL NETWORK .FOR LINE FOLLOWER ROBOT. Line Follower Robot (LFR) is a wheeled robot that runs on the track of a black line with infrared sensors. In this paper, an Artificial Neural Network (ANN) was applied with back propagation method. The process was done by is taking the data input in the form of binary values (0 and 1) from 4 infrared lights on the robot that will detect the black line. Pulse Width Modulation (PWM) was output value that trained using ANN. Tests were carried out using Matlab software with 4 input neurons and 1 output neurons, the pattern recognition accuracy of 100%.
Key words: Line Follower Robot, ANN, Backpropagation
1. PENDAHULUAN
Perkembangan teknologi informasi serta otomasi industri dimana komputer menjadi bagian yang tidak terpisahkan dari teknologi itu sendiri membuat integrasi komputer dengan disiplin ilmu lain seperti elektronika, pemrograman dan mekanika tidak bisa dihindari sehingga timbulah perpaduan tersebut menjadi mekatronika dengan wujud robot sebagai bentuk implementasinya mendorong kita untuk bisa mengembangkan robotika sebagai bagian dari
dunia pendidikan kita.
Robotika adalah multidisiplin ilmu yaitu komputer, elektronika dan mekanika. LFR atau
Robot Line Follower adalah robot beroda yang
dapat berjalan pada jalur garis hitam atau putih karena dilengkapi dengan sensor infra merah.
Robot LFR biasanya pada tingkat pemula di kontrol dengan menggunakan pemrograman kondisional IF dan THEN. Penggunaan JST menjadikan pengontrolan LFR dengan cara dilatih atau pembelajaran.
2. TEORI
Mikrokontroler adalah suatu miniatur komputer yang dapat mengontrol alat elektronika [1][2][6]. Mikrokontroler yang dapat digunakan banyak typenya seperti AVR, Atmel 89S51/52, PIC dan lain-lain. Untuk tipe yang digunakan adalah ATMEGA 168 [8], skemanya seperti dilihat pada Gambar 1.
Gambar 1. Mikrokontroler Atmega 168
Sensor garis yang dapat digunakan bisa menggunakan LDR atau Infra red.
2.1.Pengertian Line Follower Robot (LFR) Line Follower Robot (Robot Pengikut Garis) adalah robot yang dapat berjalan mengikuti sebuah lintasan, ada yang menyebutnya dengan Line Tracker, Line Tracer Robot dan sebagainya [9]. Garis yang dimaksud adalah garis berwarna hitam diatas permukaan berwarna putih atau sebaliknya, ada juga lintasan dengan warna lain dengan permukaan yang kontras dengan warna garisnya.
Sensor garis ini mendeteksi adanya garis atau tidak pada permukaan lintasan robot tersebut, dan informasi yang diterima sensor garis kemudian diteruskan ke prosesor untuk diolah sedemikian rupa dan akhirnya hasil informasi hasil olahannya akan diteruskan ke
penggerak atau motor agar motor dapat menyesuaikan gerak tubuh robot sesuai garis yang dideteksinya.
Pada konstruksi yang sederhana, robot line follower memiliki dua sensor garis (A-Kiri dan B-Kanan), yang terhubung ke dua motor (kanan dan kiri) secara bersilang melalui sebuah prosesor/driver pada lihat gambar). Sensor garis A (Kiri) mengendalikan motor kanan, sedangkan sensor garis B (kanan) mengendalikan motor kiri Gambar 2.
Gambar 2 LFR Mengikuti Garis
1. Ketika sensor A mendeteksi garis sedangkan sensor B keluar garis ini berarti posisi robot berada lebih sebelah kanan dari garis, untuk itu motor kanan akan aktif sedangkan motor kiri akan mati. Akibatnya motor akan berbelok ke kiri.
2. Begitu sebaliknya ketika sensor B mendeteksi garis, motor kiri aktif dan motor kanan mati, maka robot akan berbelok ke kanan.
3. Jika kedua sensor mendeteksi garis maka kedua motor akan aktif dan robot akan bergerak maju.
2.2. Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (JST) adalah suatu cabang ilmu dari Kecerdasan Buatan (Artificial
Intelligence) yang menitikberatkan pada pengenalan pola. Metode Backpropagasi merupakan metode yang sangat populer pada bidang neural network [4]. Pada penelitian ini metode yang digunakan adalah metode jalar balik. Algoritma jalar balik menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu.
Algoritma jalar balik [5] adalah : Inisialisasi Bobot
Ambil bobot awal dengan nilai random yang cukup kecil.
kerjakan langkah-langkah berikut selama kondisi berhenti bernilai FALSE
dilakukan pembelajaran, kerjakan:
Feedforward:
a. Tiap-tiap unit input (Xi, i= 1,2,3,...,n)
menerima sinyal Xi dan meneruskan
sinyal tersebut kesemua unit pada lapisan yang ada di atasnya (lapisan tersembunyi)
b. Tiap-tiap unit tersembunyi (Zj, j=
1,2,3,...,p) menjumlahkan sinyal-sinyal input terbobot:
n
z_inj = V0j + XiVij (1)
i=1
gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
zj=f(z_inj) (2)
dan kirimkan sinyal tersebut kesemua unit di lapisan atasnya (unit-unit output). c. Tiap-tiap unit output (Yk, k= 1,2,3,...,m)
menjumlahkan sinyal-sinyal input terbobot.
p
y_ink = w0k + xi wjk (3)
i=1
gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
yk=f(y_ink) (4)
dan kirimkan sinyal tersebut kesemua unit di lapisan atasnya (unit-unit output).
Backpropagation
d. Tiap-tiap unit outputnya (Yk, k=
1,2,3,...,m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi errornya:
δk=(tk-yk)f’(y_ink) (5)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk)
Δwjk=αδkzj (6)
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai w0k):
Δw0k=αδk (7)
kirimkan δk ini ke unit-unit yang ada
dilapisan bawahnya.
e. Tiap-tiap unit tersembunyi (Zj, j=
1,2,3,...,p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan di atasnya):
m
δ_inj=δiwjk (8)
k=1
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error:
δj = δ_inj f’(z_inj) (9)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij ):
Δvjk=αδjxk (10)
hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai voj ):
Δv0j=αδj (11)
f. Tiap-tiap unit output (Yk, k= 1,2,3,...,m)
memperbaiki bias dan bobotnya (j=0,1,2,...,p):
wjk(baru)=wjk(lama)+Δwjk (12)
Tiap-tiap unit tersembunyi (Zj, j=
1,2,3,...,p) memperbaiki bias dan bobotnya (i=0,1,2,...,n):
vij(baru)=vij(lama)+Δvij (13)
-Tes kondisi berhenti
3. TATAKERJA (BAHAN DAN METODE) Penelitian ini dilakukan dengan menggunakan metode eksperimen dengan cara melatih data input yang diberikan dari sensor infra merah pendeteksi garis.
3.1 Bahan dan Peralatan
Instrumen-instrumen yang digunakan dalam penelitian ini adalah:
1. DT –ROBOT Line Follower . 2. Sensor Infra merah sebanyak 4 sensor 3. Batere 1,5 Volt x 6 Buah = 9 Volt
4. Track dengan menggunakan isolasi hitam (lebar 1 cm)
3.2 Tahapan Penelitian
Pada tahapan penelitian yang dilakukan adalah seperti terlihat pada Gambar 3.
Gambar 3 Tahapan Penelitian
Uraian dari tahapan di atas dapat dijelaskan lebih detail lagi. Tahapan pembacaan sensor dilakukan dengan menggunakan sensor infra merah sebanyak 4 pasang sensor (sepasang ensor terdiri atas satu pengirim cahaya dan satu lagi penerima cahaya infra merah). Hasil pembacaan di konversikan pada bentuk dijital. Misalnya pada garis hitam dengan background putih hasil yang dibaca adalah “0001” ini menunjukkan sensor yang ke satu (dibaca mulai dari yang paling kanan) bernilai “1” yang berarti terbaca garis hitam yang lainnya putih.
Tahapan kodifikasi adalah memberikan kode tertentu untuk arti dari masing-masing nilai yang dihasilkan dari sensor infra merah. Pengertian kode tersebut terlihat pada Tabel 1. Sedangkan masing-masing kode tersebut diperlukan kecepatan roda kiri atau kanan yang harus dilakukan. Kecepatan roda robot dilakukan dengan cara memberikan nilai PWM (Pulse Width Modulation). Hasil dari program testing DT-ROBOT didapat nilai PWM seperti pada Tabel 2.
Tahapan konversi dilakukan untuk pelatihan pada JST. Pada JST dengan backpropagationi dilakukan nilai output berada pada range 0 sampai dengan 1, sedangkan nilai PWM berada antara 0 dampai dengan 350. Untuk mempermudah konversi dapat dilakukan seperti
pada Tabel 3.
Tabel 1 Kode data sensor infra merah
Kode Keterangan
0110 Jalur tepat di tengah. Robot bergerak lurus. 0010 Jalur agak menyimpang ke kanan. Robot belok
kanan.
0011 Jalur menyimpang ke kanan. Robot tikung kanan.
0001 Jalur ada di ujung ke kanan. Robot putar kanan.
0111 Kemungkinan ada tikungan ke kanan. Robot
putar kanan.
0100 Jalur agak menyimpang ke kiri. Robot belok kiri. 1100 Jalur menyimpang ke kiri. Robot tikung kiri. 1000 Jalur ada di ujung ke kiri. Robot putar kiri. 1110 Kemungkinan ada tikungan ke kiri. Robot putar
kiri.
1111 Kemungkinan ada perempatan. Robot bergerak
lurus
Tabel 2 Nilai PWM pada roda kiri dan kanan
NO SENSOR INFRA RED PWM KIRI PWM KANAN 1 0001 150 150 2 0010 150 0 3 0011 150 30 4 0110 350 350 5 0100 150 0 6 1100 150 30 7 1000 150 150 8 0111 150 30 9 1110 150 30 10 1111 350 350
Tabel 3 Konversi nila PWM pada 0 sd 1
NO PWM KONVERSI
1 0 0.0
2 30 0.1
3 150 0.2
4 350 0.3
Proses pelatihan pada JST dilakukan dengan menggunakan software Matlab versi 7.0. Hasil pelatihan diuji cobakan pada seluruh data tersebut, kemudian hasilnya dianalisis.
4. HASIL DAN PEMBAHASAN
Robot line follower yang digunakan adalah yang sudah tersedia di pasaran yaitu DT-ROBOT yang sudah tersedia dengan infra merahnya. DT-Robot yang digunakan tampak dari atas adalah seperti pada Gambar 4.
Pembahasan dari penelitian ini dilakukan sesuai dengan tahapan penelitian yang sudah diterangkan.
Tahapan pertama adalah pembacaan nilai dari sensor infra merah, yang terdiri atas 4 buah sensor seperti terlihat pada Gambar 5.
Gambar 4. DT-ROBOT yang dilihat dari atas
Gambar 5. Sensor Infra Merah
Hasil pembacaan dan keterangannnya sesuai dengan Tabel 1. Sedangkan nilai PWM yang dilakukan sesuai dengan Tabel 2 dan nilai konversinya sesuai dengan Tabel 3. Hasil running seperti pada Gambar 6.
Gambar 6. Hasil Running Program
Hasil konvergensi terjadi pada epoch ke 429. Nilai training yang dilakukan seperti pada Tabel 4 dengan menggunakan 4 data input pada sensor infra merah sedangkan nilai output sebanyak 2 buah yaitu PWM kiri dan kanan.
Tabel 4 Nilai Pelatihan yang dilakukan
NO SENSOR INFRA RED PWM KIRI PWM KANAN 1 0001 0.2 0.2 2 0010 0.2 0.0 3 0011 0.2 0.1 4 0110 0.3 0.3 5 0100 0.2 0.0 6 1100 0.2 0.1 7 1000 0.2 0.2 8 0111 0.2 0.1 9 1110 0.2 0.1 10 1111 0.3 0.3
Hasil pelatihan terlihat pada Tabel 5.
Tabel 5 Hasil Pelatihan
NO SENSOR INFRA RED PWM KIRI PWM KANAN 1 0001 0.2001 0.1982 2 0010 0.2012 0.0273 3 0011 0.1984 0.0947 4 0110 0.3010 0.2996 5 0100 0.1991 0.0113 6 1100 0.2010 0.1001 7 1000 0.2001 0.1991 8 0111 0.2021 0.1056 9 1110 0.1988 0.0932 10 1111 0.2991 0.3004
Sedangkan hasil pembulatan satu dijit dibelakang koma menjadi seperti pada Tabel 6.
Tabel 6. Hasil Pembulatan dari data pelatihan
NO SENSOR INFRA RED PWM KIRI PWM KANAN 1 0001 0.2 0.2 2 0010 0.2 0.0 3 0011 0.2 0.1 4 0110 0.3 0.3 5 0100 0.2 0.0 6 1100 0.2 0.1 7 1000 0.2 0.2 8 0111 0.2 0.1 9 1110 0.2 0.1 10 1111 0.3 0.3
Maka hasil keseluruhan dari pelatihan tersebut kemudian dibandingkan dengan data output yang diharapkan. Pengujian hasil
pengenalan dengan cara membandingkan satu persatu hasil yang diharapkan dengan hasil pelatihan. Hasil keseluruhan dapat dilihat pada Tabel 7.
Tabel 7 Hasil pengujian keseluruhan data input dan output N O SENSOR INFRA RED NILAI YG DIHARAPKAN HASIL PELATIHAN PWM KIRI PWM KAN AN PWM KIRI PWM KAN AN 1 0001 0.2 0.2 0.2 0.2 2 0010 0.2 0.0 0.2 0.0 3 0011 0.2 0.1 0.2 0.1 4 0110 0.3 0.3 0.3 0.3 5 0100 0.2 0.0 0.2 0.0 6 1100 0.2 0.1 0.2 0.1 7 1000 0.2 0.2 0.2 0.2 8 0111 0.2 0.1 0.2 0.1 9 1110 0.2 0.1 0.2 0.1 10 1111 0.3 0.3 0.3 0.3
Rata-rata Prosentasi Pengenalan 100%
Hasil Tabel 7 menunjukkan 100% hasil pelatihan sama dengan hasil yang diharapkan.
Pelatihan dilakukan dengan menggunakan software Matlab versi 7.0
5. KESIMPULAN.
Kesimpulan dari penelitian ini adalah bahwa jaringan syaraf tiruan dapat diterapkan pada robot line follower. Keunggulan dari JST ini adalah pada saat track lintasan sudah fix maka nilai PWM dapat dilatih dengan baik. Sedangkan kelemahannya adalah penentuan nilai PWM awal perlu dilakukan dengan
mencoba-coba.
6. UCAPAN TERIMAKASIH
Ucapan terima kasih pada jurusan matematika FMIPA UNPAD yang telah memfasilitasi kegiatan ini.
7. DAFTAR PUSTAKA
1. LINDSAY ANDY. “What’s a
Microcontroller?”, Parallax Inc. (2004)
2. WIDODO, “10 Proyek Robot
Spektakuler”.(2002).
3. DWI TAUFIQ. “Build your Own Line Follower Robot”. Andi. (2008)
4. VALLURU B. R. AND HAYAGRIVA V. R. “C++ Neural Networks and Fuzzy Logic”. MIS Press.( 1993).
5. KUSUMADEWI, SRI. “Neuro-Fuzzy”, Graha Ilmu. (2006)
6. ANDRIANTO HERI. “Pemrograman Mikrokontroler AVR ATMEGA 16”. Informatika. 2008.
7. TIM ASISTEN. Diktat Praktikum Mikrokontroler dan Robotika. Laboratorium
Hardware. (2010)
8. http://innovativeelectronics.com/.index_indo .php,Manual DT-ROBOT Line Follower Base, diakses tanggal 15 oktober 2012 9. ATmega48_88_168
http://innovativeelectronics.com/index_indo. php, diakses tanggal 15 oktober 2012