PERANCANGAN DAN IMPLEMENTASI WAHANA GERAK MANDIRI
YANG ADAPTIF MENGGUNAKAN JARINGAN SYARAF TIRUAN
HIERARCHICAL EXTENDED KOHONEN MAP (HEKM)
Indra Hartarto Tambunan, 13203178
Program Studi Teknik Elektro, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Email: [email protected]
Abstraksi
Model based system dan sensor based system biasa digunakan sebagai algoritma pergerakan wahana gerak mandiri. Model based system mengharuskan perancang mengetahui setiap kondisi yang ada dalam lingkungan sehingga bisa membuat algoritma yang benar, akan tetapi hal ini akan boros dalam penggunaan memori. Sedangkan sensor based system tidak mengharuskan kita mengetahui semua kondisi lingkungan, akan tetapi memerlukan waktu lama untuk bagi wahana untuk mempelajari lingkungannya. Sehingga dikembangkanlah suatu sistem navigasi dengan menggunakan metode pedekatan terhadap dua metode ini. Metode ini yakni Jaringan Syaraf Tiruan Hierarchical Extended Kohonen Map yang merupakan pengembangan dari JST Extended Kohonen Map yakni dengan menambahkan suatu grid pada setiap neuron yang ada pada grid EKM (super-net). Prinsip HEKM menggunakan prinsip SOFM. Implementasi jaringan ini akan membuat jaringan dihitung secara sekuensial sehingga diperkirakan dapat mengurangi cost perhitungan memori dan waktu komputasi. HEKM menggunakan proses pembelajaran supervised learning dan unsupervised learning. Proses unsupervised learning menggunakan metode sensor based system dan model based system sedangkan proses supervised learning menggunakan model based system. Dengan penggunaan jaringan HEKM diharapkan wahana dapat belajar sehingga wahana akan beraksi sesuai dengan kondisi lingkungan.
Keywords
Jaringan Syaraf Tiruan, Wahana Gerak Mandiri, Hierarchical Extended Kohonen Map I. PENDAHULUAN
1.1 Latar Belakang Masalah
Wahana gerak mandiri yang kerap dikembangkan saat ini cenderung meniru apa yang organisme lakukan terhadap lingkungan sekitarnya. Baik itu tentang perilaku, sikap, bahkan hingga cara berpikir coba dikembangkan. Sehingga diharapkan wahana pada akhirnya dapat beradaptasi terhadap lingkungannya sebagaimana halnya organisme yang hidup beradaptasi terhadap lingkungannya
Berdasarkan pemikiran tersebut, telah dikembangkan suatu Wahana Gerak Mandiri yang Adaptif Menggunakan Jaringan Syaraf Tiruan Extended Kohonen Map [Tsani,2002]. Penelitian tersebut telah
mampu mengimplementasikan 7x7 jaringan syaraf tiruan dengan 49 cluster dalam wahana gerak mandiri yang adaptif terhadap lingkungan berdasarkan pembelajaran jaringan syaraf tiruan Extended Kohonen Map berbasis mikrokontroler.
Penelitian tersebut, dalam tugas akhir ini, dilanjutkan dimana wahana tersebut dikembangkan dengan menggunakan suatu jaringan syaraf tiruan yang dapat menganalisis lebih baik setiap kondisi lingkungan wahana gerak mandiri tersebut. Demi kelanjutan penelitian ini dibuatlah penelitian baru : “Pengembangan dan Implementasi Wahana Gerak Mandiri yang Adaptif Menggunakan Jaringan Syaraf Tiruan Hierarchical Extended Kohonen Map”.
1.2 Identifikasi Masalah
Perancangan algoritma pengendalian wahana merupakan tahap yang sangat memerlukan banyak pertimbangan dan hal ini membuat algoritma terkadang
sulit untuk diimplementasikan. Permasalahan yang muncul dapat diakibatkan kurangnya variabel-variabel ataupun parameter-parameter yang digunakan pada perancangan, sehingga algoritma yang digunakan tidak sepenuhnya menjawab apa yang diharapkan dapat dilakukan wahana untuk beraksi sesuai dengan lingkungannya. Hal ini menjadi kendala dalam perencanaan jalur dengan menggunakan model based
system.
Misalkan, wahana diletakkan dalam suatu lingkungan yang di dalamnya terdapat komponen-komponen diatur sedemikian rupa. Komponen-komponen tersebut merupakan halangan yang menghalangi jalur perjalanan wahana menuju tujuan. Apabila menggunakan suatu algoritma perencanaan jalur biasanya menghabiskan sumber daya komputer dan memori yang besar.
Untuk mengatasi permasalahan yang ada tersebut dilakukanlah suatu penelitian dengan menggunakan algoritma jaringan syaraf tiruan sebagai pengembangan penelitian sebelumnya. Algoritma yang digunakan akan memiliki suatu desain baru yang menjadi perangkat baru untuk mengatasi beberapa masalah yang ada. Algoritma yang digunakan adalah algoritma jaringan syaraf tiruan Hierarchical Extended Kohonen
Map yang diimplementasikan ke dalam suatu
mikrokontroler ATMega 128 dari ATMEL sebagai pengendali, sensor sebagai pendeteksi lingkungan, dan dua buah motor sebagai aktuator serta catu daya sebagai sumber tenaga.
II. METODOLOGI PENELITIAN
Penelitian ini dilakukan dengan metodologi sebagai berikut:
1. Perancangan arsitektur jaringan syaraf tiruan yang akan digunakan dan juga perancangan
perangkat keras wahana untuk mengimplementasikan jaringan tersebut.
2. Simulasi jaringan syaraf tiruan yang telah dirancang pada komputer.
3. Realisasi perangkat keras dan perangkat lunak dari wahana yang dibangun.
4. Melakukan simulasi dan pengujian untuk setiap bagian sistem dari wahana yang telah direalisasikan.
5. Pengujian fungsional hasil integrasi sistem secara keseluruhan.
6. Melakukan analisis dan membuat kesimpulan dari hasil pengujian
III. ARSITEKTUR JARINGAN SYARAF TIRUAN
3.1 Extended Kohonen Map
Jaringan syaraf tiruan yang digunakan pada wahana yang dibangun merupakan pengembangan dari SOFM (Kohonen neural networks). Pengembangan ini memungkinkan proses pembelajaran pada jaringan menggunakan metode baik unsupervised maupun
supervised learning. Selanjutnya, jaringan ini disebut
dengan Extended Kohonen Map (EKM).
Dari sudut pandang arsitekturnya, EKM merupakan SOFM yang diperluas dengan menambahkan untuk setiap neuron r pada layer kompetisi G sebuah referensi vektor (bobot) output zr. Nilai zr ini digunakan untuk menyimpan nilai output dari neuron r (Gambar.3)
Gambar 1. Arsitektur EKM
Proses pembelajaran pada EKM ini dilakukan sebagai berikut: ketika input vektor x dimasukkan ke jaringan, pada competition layer G terjadi kompetisi antar neuron r yang melibatkan perhitungan jarak antara input vektor x dengan referensi vektor (bobot) input wr:
2
( , r) r
d x w = x−w
Neuron s yang referensi vektor inputnya ws paling dekat dengan vektor input x (yaitu dengan jarak d yang paling kecil) merupakan pemenangnya:
arg min ( , r)
r
s= d x w
Referensi vektor output zs yang bersesuaian dengan neuron s ini diambil sebagai output dari jaringan untuk menanggapi input vektor x ini.
Proses pengubahan bobot terjadi pada neuron s dan tetangganya pada G sesuai dengan persamaan berikut:
(
)
( ).
New Old Old
s s s
w =w +
α
t x−wPada saat proses pelatihan wahana, baik input x maupun output y diberikan oleh teacher dan akan dipelajari oleh neuron pemenang dan juga neuron tetangganya pada G.
Implementasi pada wahana yang dibangun, input vektor diambil dari hasil pembacaan sensor infra merah dan juga perhitungan sudut arah relatif goal terhadap wahana. Sedangkan outputnya merupakan nilai yang digunakan untuk menentukan aksi wahana.
3.2 Hierarchical Extended Kohonen Map (HEKM)
HEKM merupakan pengembangan dari EKM dengan menambah suatu grid ke dalam grid G. Penambahan suatu grid pada jaringan berupa flat 2 dimensi merupakan cara agar seperti halnya pada super-net akan terjadi perhitungan yang sama dengan sub-netnya. Sehingga untuk setiap goal direction yang berbeda tidak perlu terjadi pengulangan dan diharapkan dengan proses sekuensial akan mengakibatkan adaptasi dari SOFM dapat mendistribusikan data.
Jadi dengan penambahan suatu sub-net grid H pada setiap neuron pada grid G, maka akan ada 2 perbedaan yang terjadi antara lain yakni jaringan akan memiliki 2 buah learning rate dan 2 buah neighborhood
parameters. Karena untuk setiap grid akan memilki 1
buah learning rate dan 1 buah neighborhood
parameters.
Proses pembelajaran pada HEKM akan mengikuti proses keseluruhan dari proses pembelajaran yang dilakukan pada EKM.
Gambar 2. Arsitektur HEKM
IV. ARSITEKTUR PERANGKAT KERAS
Arsitektur perangkat keras wahana yang terdiri dari empat subsistem yakni subsistem sensor, subsistem pengendali, subsistem aktuator dan subsistem catu daya terintegrasi menjadi suatu kesatuan sistem yang aliran informasi dan proses yang terjadi digambarkan seperti pada gambar 3.
Gambar 3. Arsitektur perangkat keras wahana User input hanya akan digunakan pada saat learning phase, akan tetapi pada saat recall phase user input tidak digunakan.
Cara kerja sistem secara keseluruhan adalah sebagai berikut:
1. Pada awal program, sistem melakukan inisialisasi jaringan dan parameter-parameter lain yang diperlukan.
2. Sistem akan dibagi menjadi dua fase utama, yaitu learning phase dan recall phase. Saat
learning phase, user input sebagai teacher
jaringan akan aktif. Mikrokontroler akan membaca nilai sensor sebagai input bagi grid G dan arah goal sebagai input ke grid H 3. Selanjutnya, mikrokontroler akan membaca
nilai yang diberikan oleh user input sebagai output jaringan (net_outH) dan juga sebagai acuan untuk menentukan aksi wahana yang dijalankan melalui fasilitas interrupt timer 0. 4. Pada mikrokontroler, jaringan melakukan
kompetisi untuk menentukan neuron yang menang. Neuron ini (beserta tetangganya) akan mempelajari input dan output yang ada untuk meningkatkan kemampuan jaringan. 5. Proses ini akan diulang sampai user
menghentikan learning phase tersebut. Pada kondisi ini sistem akan masuk ke recall
phase.
6. Saat recall phase, mikrokontroler akan mematikan user input. Mikrokontroler membaca data dari sensor sebagai input data ke jaringan.
7. Pada mikrokontroler, jaringan melakukan kompetisi untuk menentukan neuron yang menang. Indeks dari neuron yang menang ini digunakan untuk mengakses bobot z_H. Nilai ini kemudian dicari representasi binernya untuk menentukan aksi wahana.
Pengubahan dari learning phase ke recall phase atau sebaliknya dapat dilakukan sewaktu-waktu yang diatur menggunakan switch. Learning phase digunakan untuk proses pelatihan wahana, sedangkan recall phase dgunakan untuk pengujiannya.
V. PENGUJIAN WAHANA
5.1 Pengujian di Personal Computer (PC)
Pengujian di PC dilakukan dengan memasukkan input file ’hekm1.txt’(gambar 4) yang berisi kumpulan vektor input yang terdiri dari 8 buah komponen. 5 komponen pertama merupakan referensi input G dari sensor dan 3 komponen terakhir merupakan persepsi output G. Setelah itu jaringan akan belajar sehingga diperoleh hasil bobot dan juga hasil clustering baru setelah jaringan melakukan proses pembelajaran (gambar 5).
Gambar 4. Inisialisasi bobot awal jaringan G
Gambar 5. Hasil learning G
Hasil output G akan dikonversi menjadi bilangan integer sebagai penunjuk membuka file ‘fileHx.txt’ sebanyak 8 file yang berisikan goal direction dari H serta output grid H. Maka akan ada proses pembelajaran juga di H(gambar 6)
Gambar 6. Hasil awal (atas) dan hasil learning (bawah)grid H
Pengujian akan dilanjutkan melakukan test network dengan memasukkan nilai input sensor dan goal
direction secara bersamaan sebagai input test. Hasil
yang diperoleh ditunjukkan dalam gambar 7.
Gambar 7. Test network
Bila dimasukkan input = 0 0 1 0 1 0 1 0 ==> sensor ke-2 dan sensor ke-4 ada halangan dan goal direction ada di arah depan. Hasil network adalah 0 1 ==> motor kanan bergerak maka wahana belok kiri.
Seharusnya untuk output G dihasilkan 0 1 1, akan tetapi hasil output G 1 0 1. Sedangkan pergerakan motor sudah mengambil langkah yang benar.
Begitu juga dengan pengujian input network 0 0 1 1 1 0 1 1. Output G adalah 0 1 1 dan dengan goal direction 0 1 1 (sebelah barat daya wahana), aksi wahana adalah 0 1 atau wahana akan berbelok ke kiri.
5.2 Pengujian pada Mikrokontroler
Pengujian pada mikrokontroler ini masih menemukan masalah yakni saat wahana dijalankan (start), wahana tidak beraksi terhadap lingkungan. Hipotesis sementar memunculkan bahwa proses perhitungan yang terlalu lama sehingga wahana mengalami stack dan proses belajar tidak dapat dilakukan. Pengujian akan terus dilakukan agar penyebab hasil yang demikian dapat dianalisis.
VI. KESIMPULAN DAN SARAN 6.1 Kesimpulan
Setelah seluruh proses yang telah dilakukan, baik hasil perancangan, simulasi, da pengujian perangkat keras yang terintegrasi dengan perngkat lunak sebagai pengendali, dapat disimpulkan beberapa hal sebagai berikut:
• Wahana gerak mandiri belum mampu bekerja optimal untuk melakukan tugas yang telah diberikan berdasarkan pembelajaran yang telah dilakukan oleh wahana. Hipotesis sementara menunjukkan bahwa kapasitas dan kecepatan mikrokontroler menjadi hal utama terjadinya kondisi stack pada wahana. Hal ini memungkinkan karena jumlah cluster yang cukup banyak yang harus dibentuk untuk pengembangan wahana ini.
• Pengembangan jaringan Extended Kohonen
Map (EKM) menjadi Hierarchical Extended Kohonen Map (HEKM) berhasil dilakukan
dengan penambahan grid pada neuron
super-net (grid G).
- Dibentuk satu super-net (grid G) dengan komposisi 4x4 neuron dengan maksimal
cluster yang terbentuk pada super-net
sebanyak 16 cluster.
- Dibentuk 8 sub-net (grid H) dengan komposisi 1x10 neuron untuk setiap
sub-net, sehingga jumlah maksimal cluster
yang terbentuk pada sub-net adalah 8x1x10 = 80 cluster.
- Dengan penambahan grid maka pada HEKM ini terdapat 9 competitive layer (1
competitive layer grid G dan 8 competitive layer grid H)
- Jaringan syaraf tiruan HEKM memiliki 2
learning rate dan 2 buah neighborhood parameter
• Proses perhitungan dan perencanaan pada HEKM bekerja secara sekuensial sehingga dapat mengurangi banyaknya cost yang dilakukan untuk perhitungan dengan cara bersamaan seperti halnya dengan EKM.
• Model learning yang digunakan pada HEKM adalah supervised learning dan unsupervised
learning. Model unsupervised learning
dilakukan pada saat proses clustering dalam jaringan dan supervised learning dilakukan pada saat action triggering dengan input keluaran wahana diberikan oleh teacher. 6.2 Tindak lanjut
Berdasarkan masalah utama yang dihadapi oleh penulis dalam melaksanakan penelitian ini, maka penulis sendiri mengusulkan suatu tindak lanjut bagi berlangsungnya kesinambungan penelitian ini. Tindak lanjut tersebut antara lain:
- Penggunaan mikrokontroler dengan kapasitas memori dan kecepatan yang tinggi. Hal ini akan sangat membantu proses integrasi perngkat lunak dan wahana karena dengan kapasitas memori yang tinggi, dapat dibentuk lebih banyak neuron yang akan berkompetisi terhadap input yang ada. Sehingga memperbanyak jumlah neuron yang dapat mempelajari lingkungan dengan baik.
- Penggunaan 2 buah mikrokontroler dengan pembagian sebagai berikut:
o Proses perhitungan untuk grid G dilakukan pada mikrokontroler yang berbeda dengan grid H
o Menggunakan mikrokontroler dengan kapasitas dan kecepatan yang lebih tinggi pada proses di grid H. Hal ini dimaksudkan agar perhitungan di grid H juga lebih cepat karena banyaknya neuron yang harus dibentuk untuk setiap grid G yang ada.
Penggunaan 2 buah mikrokontroler juga memungkinkan perancang untk membentuk neuron yang lebih banyak sehingga proses kompetisi pada pembelajaran lebih baik lagi.
- Perencanaan ulang perangkat lunak dengan menggunakan sistem multithreading
programming. Konsep multithreading programming memungkinkan jaringan dapat
bekerja secara bersamaan dalam real time. Sehingga proses pembelajaran dapat dilakukan lebih cepat.
- Perancangan ulang wahana dengan memasukkan faktor slip pada perancangan perangkat lunaknya.
DAFTAR PUSTAKA
1. Nehmzow, Ulrich. Mobile Robotics: A
Practical Introduction. Springer-Verland
London Limited. 2000
2. Russell, Stuart. Artificial Intelligence: A
Modern Approac. Prentice-Hall. 1995.
3. C. Versino, L.M.Gambardella, Learning Fine
Motion in Robotics: Design and Experiments,
Switzerland.
4. Guthikonda, Shyah M. Kohonen Self-Organizing Maps. Wittenberg University. December 2005.
5. Hendro, Tsani. Perancangan dan
Implementasi Wahana Gerak Mandiri yang Adaptif Menggunakan Jaringan Syaraf Tiruan Extended Kohonen Map (EKM). Bandung.
2002
6. Kamagaluh, Braisa R. Pengembangan sensor
untuk Pengenalan Lingkungan pada Mobile Robot beserta Perangkat Lunaknya. Bandung.
2007
7. McComb, Gordon. Robot Builder’s Bonanza-Second Edition. McGraw-Hill. 2001.
8. Zurell, Kirk. C Programming for Embedded System. R&D Books Lawrence, Kanada. 2000 9. http://home.iae.nl/users/pouweha/lcd/lcd0.sht ml 10. http://avrfreaks.net 11. http://pusatbahasa.diknas.go.id/kbbi/ 12. http://www.atmel.com/atmel/acrobat/doc2467 .pdf 13. http://sharp-world.com/products/device 14. www.onsemi.com 15. http://www.datasheetcatalog.com/ 16. http://hyperphysics.phy-astr.gsu.edu/