PERANCANGAN PENGENDALI ROBOT BERGERAK BERBASIS PERILAKU MENGGUNAKAN PARTICLE SWARM FUZZY CONTROLLER
Andi Adriansyah Program Studi Teknik Elektro, Fakultas Teknologi Industri, Universitas Mercu Buana, Jalan Raya Meruya Selatan, Kembangan, 11650, Jakarta, Indonesia
[email protected] Abstrak Arsitektur pengendali robot berbasis perilaku telah menunjukkan kompetensinya dalam pengembangan robot bergerak. Terdapat dua isu dalam penerapan pengendali robot berbasis perilaku, yaitu: perancangan perilaku dan pengkoordinasian perilaku. Sistem Logika Fuzzy memiliki karakteristik yang sesuai untuk mengatasi isu tersebut. Namun, terdapat kesulitan untuk menghasilkan Sistem Logika Fuzzy yang handal secara manual. Oleh karena itu, beberapa kajian mengarahkan untuk menambahkan kemampuan pelatihan dan pembelajaran pada sistem fuzzy. Tulisan ini memaparkan perancangan pengendali robot berbasis perilaku menggunakan fuzzy, di mana parameter fuzzy ditala secara otomatis menggunakan Particle Swarm Optimization (PSO) yang diistilahkan dengan Particle Swarm Fuzzy Controller (PSFC). Suatu fungsi tertentu dirancang untuk meningkatkan performa proses pencarian PSO. Fungsi tersebut mengubah harga bobot inersia menurun secara sigmoid (Sigmoid Decreasing Inertia Weight/SDIW). Empat buah perilaku robot dirancang menggunakan PSFC. Kemudian seluruh perilaku tersebut dikoordinasikan menggunakan PSFC juga. Beberapa simulasi pengendalian pergerakan robot dan percobaan dengan robot MagellanPro telah dilakukan untuk menguji performa algoritma yang dirancang. Algoritma lain, Genetic Fuzzy Controller (GFC) digunakan sebagai pembanding. Dari hasil pengujian dapat dikatakan bahwa pengendali yang dirancang memiliki kemampuan yang baik untuk menyelesaikan tugasnya pada suatu lingkungan nyata. Kata kunci : robot bergerak, pengendali logika fuzzy, robot berbasis perilaku, particle swarm optimization
1.
Pendahuluan
Saat ini, pengendali robot bergerak berbasis perilaku (behavior-based controller) menjadi alternatif utama bagi penggunaan pengendali robot konvensional [1]. Namun, beberapa problem masih harus diselesaikan untuk dapat mengaplikaskan teknik tersebut [2]. Beberapa metode sistem kendali telah dicoba untuk menyelesaikan problem ini. Namun metode sistem kendali konvensional biasanya menghadapi permasalahan komputasi yang rumit dan setiap metode hanya cocok untuk suatu tipe robot saja sehingga diperlukan metode pengendalian yang lebih handal dalam mekanisme komputasi dan sesuai bagi berbagai tipe robot [3]. Oleh karena itu, beberapa teknik Kecerdasan Buatan (AI), baik secara individual maupun hibrida, telah dicobakan untuk menyelesaikan problem robot berbasis perilaku ini, seperti: Logika Fuzzy, Jaringan Syaraf Tiruan atau Komputasi Evolusi [4]. Logika Fuzzy termsuk teknik yang sering diaplikasikan untuk
mengimplemantasikan pengendali perilaku individu [5,6]. Namun, untuk mendapatkan parameter yang dibutuhkan oleh sebuah Pengendali Logika Fuzzy yang handal bukanlah pekerjaan mudah. Oleh karena itu, diperlukan proses pelatihan dan pembelajaran (training and leaning) untuk menala parameterparameter tersebut. Tulisan ini mempresentasikan sebuah pendekatan untuk menyelesaikan problem di atas dengan menggunakan Particle Swarm Fuzzy Controller (PSFC). PSFC ini didasari oleh prinsip Pengendali Logika Fuzzy yang parameter Logika Fuzzy-nya ditala secara otomatis menggunakan Particle Swarm Optimization (PSO). Sistematika penulisan paper ini adalah sebagai berikut. Pengendali robot berbasis perilaku dengan menggunakan Logika Fuzzy dan PSO akan dibahas pada bagian 2 dan 3. Kemudian, perancangan PSFC akan dipaparkan pada Bagian 4. Bagian 5 memperlihatkan beberapa hasil percobaan dan analisisnya. Terakhir, tulisan ini ditutup dengan kesimpulan pada Bagian 6.
Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979 – 0732
15
Perancangan Pengendali Robot Bergerak Berbasis Perilaku Menggunakan Particle Swarm Fuzzy Controller
2.
Pengendali Robot Berbasis Perilaku Dengan Logika Fuzzy
Pengendali robot berbasis perilaku dikembangkan berdasarkan pendekatan yang diinspirasi oleh sistem makhluk hidup. Makhluk hidup beraktifitas berdasarkan modul-modul tertentu, yang disebut perilaku (behavior), yang bekerja secara paralel untuk mencapai tujuan tertentu [1,7,8]. Struktur dasar pengendali ini terdiri dari beberapa perilaku, yang setiap perilaku memiliki masukan berasal dari sensor-sensor dan menghasilkan keluaran berupa penggerak dari robot. Sebuah koordinator perilaku (behavior coordinator) diperlukan untuk mengkoordinasikan keluaran dari perilaku-perilaku yang aktif pada waktu yang bersamaan. Pengendali robot berbasis perilaku dengan Logika Fuzzy berarti penggunaan teknik Logika Fuzzy pada setiap perilakunya [9]. Arsitektur umum pengendali ini dibentuk oleh dua blok utama, yaitu blok modul-modul pengendali perilaku dan blok koordinator, sebagaimana diperlihatkan pada Gambar 1. Sebagaimana telah disebutkan di atas, untuk mendapatkan parameter Pengendali Logika Fuzzy yang handal tidaklah mudah. Selain itu, penambahan variabel pada Logika Fuzzy berakibat penambahan aturan fuzzy secara eksponensial sehingga semakin membuat rumit parameter yang diperlukan. Oleh karena itu,, untuk menala parameter-parameter tersebut diperlukan proses pelatihan dan pembelajaran (training and leaning). Behavior Cordinator Fuzzy Behaviorn
Ci Fuzzy Context rules
: Fuzzy Behavior2
Defuzzyfying Fuzzy Behavior1
3.
Particle Swarm Optimization
PSO adalah teknik optimasi dengan menyimulasikan perilaku sosial makhluk hidup kecil, seperti sekawanan ikan atau burung, yang bergerak sesuai dengan tujuan tertentu [16,17]. Prinsip kerja PSO adalah sebagai berikut. Setiap solusi potensial, disebut dengan partikel, memiliki nilai terbaik (pbest) berdasarkan posisinya. Kemudian, setiap partikel memiliki pula nilai terbaik kelompok (gbest) di antara nilai terbaik posisinya (pbest). Keseluruhan nilai terbaik didasari oleh sebuah fungsi terbaik (fitness function, F) untuk setiap solusi. Setiap partikel berupaya dari waktu ke waktu untuk memodifikasi posisinya menggunakan kecepatan dan posisi sesaatnya. Kecepatan untuk setiap partikel dihitung berdasarkan persamaan 1: vik 1 wi * vik c1 * rand * ( pbest sik ) (1) c2 * rand * ( gbest sik )
yaitu: vi k, vik+i , and s ik , masing-masing adalah vektor kecepatan, vektor kecepatan waktu berikut dan vektor posisi dari partikel i pada iterasi ke-k sedangkan,pbest and gbest adalah posisi dengan nilai terbaik partikel i dan nilai terbaik kelompoknya serta cj dan wj masingmasing adalah koefisien bobot dan fungsi inersia untuk kecepatan bagi setiap partikel i. Setelah itu, posisi partikel berikutnya dihitung berdasarkan persamaan 2, yaitu: (2) sik 1 sik vik 1 Proses pemutakhiran partikel berdasarkan persamaan 1 dan 2 diilustrasikan pada Gambar 2.
C ACTION
SENSORS
BWi
teknik lain, seperti: sistem fuzzy dengan Reinforcement Learning [13], Genetic Fuzzy System [14], Fuzzy Genetic Programming [15] dan lain-lain. PSFC adalah teknik baru yang akan dibahas pada tulisan ini.
Y
sik+1 gbest
vik+1
ROBOT
pbest c2 c1
Gambar 1. Pengendali Robot berbasis Perilaku dengan Logika Fuzzy Dalam dekade ini, beberapa kajian difokuskan untuk menghasilkan sistem Fuzzy yang memiliki kemampuan pembelajaran dan penalaan secara otomatis [10]. Sistem Neuro-Fuzzy, misalnya, merupakan teknik yang diminati dan didukung oleh banyak peneliti [11,12]. Selain itu, terdapat pula
vik
w sik
X
k Gambar 2. Pemutakhiran Kecepatan dan Posisi pada PSO Algoritma PSO untuk mendapatkan vektor posisi terbaik menggunakan sejumlah partikel n dapat
16 _______________________________________________ Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979-0732
Andi Adriansyah
disimpulkan sebagai berikut: 1. Vektor posisi awal S[n] dan vektor kecepatan V[n] dihasilkan nilainya secara acak . 2. Vektor kecepatan vik+i partikel i dihitung berdasarkan persamaan (1). 3. Vektor posisi s ik+1 partikel i dimutakhirkan berdasarkan persamaan (2). 4. Jika nilai F(s ik) lebih baik dari F(pbesti), vektor posisi s ik diset menjadi pbest. Namun, jika nilai F(pbesti) lebih baik dari F(gbest), maka vektor posisi gbest diset menjadi pbest. 5. Jika iterasi yang telah dilakukan telah mencapai harga tertentu, algoritma dihentikan. Jika tidak, kembali mengerjakan Tahap 2. Untuk menciptakan proses pencarian partikel terbaik, diperkenalkan konsep pembobotan inersia (inertia weight, w). Pemanfaatan konsep pembobotan inersia pertama kali memiliki harga w yang dihasilkan secara linier menurun (decreased linearly) dari 0.9 hingga 0.4. Pemanfaatan konsep ini dapat meningkatkan performansi optimasi selama proses pencarian berlangsung [18]. Tulisan ini menawarkan metode yang lain, yaitu perubahan harga w secara menurun berdasarkan fungsi sigmoid (Sigmoid Decreasing Inertia Weight, SDIW). Pengimplementasian SDIW menghasilkan proses pencarian yang kompromistis antara eksplorasi dan eksplorasi. Nilai bobot inersia yang besar akan menyebabkan proses pencarian global pada awal proses. Sedangkan nilai bobot inersia yang kecil mengakibatkan proses pencarian local pada bagian akhir proses. Dengan demikian, metode ini menghasilkan keseimbangan antara pencarian global dan local sehingga menyebabkan pencarian yang terbaik. 4.
Particle Swarm Fuzzy Controller
PSFC adalah sistem fuzzy yang ditambahkan dengan kemampuan pembelajaran menggunakan PSO. PSO diimplementasikan di sistem fuzzy untuk melakukan pencarian parameter sistem fuzzy yang handal untuk suatu problem tertentu. Pada tulisan ini, PSFC diterapkan secara dua tahap. Pada tahap pertama, PSO melakukan pencarian aturan sistem fuzzy (fuzzy rule base) berdasarkan nilai fungsi keanggotaan (membership function) yang ditentukan terlebih dahulu. Pada tahap kedua, pencarian dilakukan untuk mendapatkan nilai fungsi keanggotaan berdasarkan aturan sistem fuzzy yang dihasilkan. Dengan metode ini, keseluruhan parameter sistem fuzzy yang handal dapat dihasilkan secara otomatis. Arsitektur pengendali robot bergerak berbasis perilaku yang dirancang pada tulisan ini memiliki
blok diagram seperti yang ditampilkan pada Gambar 3. Robot terdiri dari empat perilaku, yaitu: perilaku menuju target (goal seeking), pengikut dinding kiri (left wall following), pengikut dinding kanan (right wall following) dan penghindar rintangan (obstacle avoiding). Setiap perilaku dikendalikan dengan Pengendali Logika Fuzzy yang memproses masukan dari masing-masing sensor untuk menghasilkan keluaran tertentu sesuai dengan perilakunya. Keseluruhan parameter sistem fuzzy dari setiap perilaku ditala menggunakan PSO. Kemudian, semua perilaku tersebut dikoordinasikan untuk mendapatkan aksi akhir terbaik bagi berbagai situasi dengan menggunakan Penggabungan Bergantung Konteks (Context Dependent Blending, CDB) Particle Swarm Optimization
ODOMETRY
Fuzzy goal seeking
LEFT SENSORS
Fuzzy left wall following
RIGHT SENSORS
Fuzzy right wall following
FRONT SENSORS
Fuzzy obstacle avoiding
SENSORS
Fuzzy Behaviors
Fuzzy context rules
Defuzzyfying
CDB
Gambar 3. Rancangan Arsitektur Pengendali Robot Bergerak 4.1 Model Robot Bergerak Perancangan pengendali ini akan diujikan pada sebuah model robot. Model robot didasari oleh robot bergerak MagellanPro yang berbentuk silindris. Robot ini digerakkan oleh dua buah motor DC secara independen. Robot memiliki dimensi sebagai berikut: D = 40.6 cm, H = 25.4 cm, r = 5.7 cm dan W = 36 cm, yaitu D adalah diameter, H adalah tinggi, r adalah jari-jari roda dan W adalah jarak antara roda. Robot tersebut diilustrasikan pada Gambar 4(a) dengan konfigurasi sensor ultrasonik seperti pada Gambar 4(b). Robot diposisikan pada suatu bidang berkoordinat Cartesius {X,O,Y} dengan tiga derajat kebebasan dan direpresentasikan sebagai titik pusat pc = (xc, yc, θc), yang (xc, yc) adalah posisi spasial robot dan θc adalah sudut robot terhadap sumbu horizontal.
Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979 – 0732
17
Perancangan Pengendali Robot Bergerak Berbasis Perilaku Menggunakan Particle Swarm Fuzzy Controller
Y LF
F
RF
FL
FR
2r yc
L
θc C
BL
D xc
O
R BR
X
(a)
(b)
Gambar 4. Model Robot Bergerak: (a) Dimensi dan Posisi, (b) Konfigurasi Sensor medium
close
0.5
far
2.5 4.5 target distance
low
0.05
medium
right
m
high
0.15 0.25 m/s linear velocity
-Π
right
forward medium
left
rad
Π 0 target angle forward medium
left
-Π/4 Π/4 rad/s 0 angular velocity
Gambar 5. Fungsi Keanggotaan dari (a) jarak masukan, (b) sudut masukan, dan (c) keluaran kecepatan linier serta kecepatan angular
4.2 Perancangan Perilaku Fuzzy Keseluruhan sistem fuzzy untuk setiap perilaku mempunyai struktur yang sama, yaitu memiliki fungsi keanggotaan berbentuk trapezium dan segitiga. Setiap perilaku individu mendapatkan masukan dari sinyal sensor (x1,x2,…,xn), dan memiliki aksi pengendalian (y1,y2) yang dihasilkan dari keluarannya. Pada umumnya, perilaku yang dirancang memiliki sistem fuzzy yang terdiri dari tiga masukan dan dua keluaran. Hanya pada perilaku menuju target, sistem memiliki dua masukan, yaitu: target distance (d) dan target angle (θ). Pada perilaku pengikut dinding kiri, masukannya adalah front left distance (FL), left distance (L), dan back left distance (BL), pada perilaku pengikut dinding kanan masukannya adalah front right distance (FR), right distance (R), dan back right distance (BR). Pada perilaku penghindar rintangan adalah left front distance (LF), front distance (F), dan right front distance (RF). Setiap masukan memiliki term bahasa sebagai berikut: CLOSE, MEDIUM dan FAR untuk jarak serta
RIGHT, FORWARD dan LEFT untuk sudut. Sementara itu, semua perilaku memiliki keluaran yang sama, yaitu kecepatan liniar, (v), dan kecepatan angular, (ω), dengan term bahasa, masing-masing: LOW, MEDIUM dan HIGH, serta LEFT, FORWARD, dan RIGHT. Fungsi keanggotaan fuzzy untuk perilaku menuju target, sebagai contoh, diperlihatkan pada Gambar 5. Setelah itu, aturan fuzzy tertentu dirancang berbasiskan pendekatan aturan konteks fuzzy fleksibel (flexible fuzzy context rule, FFCR). FFCR digunakan pada tulisan ini untuk menghasilkan koordinasi yang strategis bagi interaksi antara perilaku yang sesuai untuk berbagai keadaan. FFCR dirancang berasaskan aturan fuzzy dengan struktur konjungsi dan negasi. PSO yang sama juga akan diimplementasikan untuk mendapatkan aturan fuzzy yang efektif. 4.3 Perancangan Particle Swarm Fuzzy Controller Karena PSO bekerja menggunakan parameter yang dikodekan sebagai partikel, semua parameter sistem fuzzy yang dibutuhkan harus dikodekan dalam rentetan kode tertentu. Pertama, dalam rangka mencari aturan fuzzy terbaik, setiap aturan dikodekan dalam kode bilangan integer yang menggambarkan sejumlah term bahasa keluaran fungsi keanggotaan fuzzy. Misalnya, kode „1‟, „2‟ dan „3‟ masing-masing untuk kode term bahasa LOW, MEDIUM dan HIGH bagi keluaran kecepatan liniar, (v), serta RIGHT, FORWARD, dan LEFT bagi kecepatan angular, (ω). Pada tahap kedua, dalam rangka menala fungsi keanggotaan sistem fuzzy, digunakan persamaan 3: Cx = Cx + kiWx = Wx + ji (3) yaitu ki dan ji adalah koefisien yang ditala, Cx, dan Wx adalah harga pusat dan lebar untuk masing-masing fungsi keanggotaan. Jadi, harga ki akan mempengaruhi pergeseran fungsi keanggotan ke kanan atau ke kiri sedangkan harga ji mempengaruhi kelebaran fungsinya sebagaiana diperlihatkan pada Gambar 6. Setelah itu, kode-kode tersebut dirangkai untuk menjadi sebuah partikel lengkap.
µ
ci
ci+1
wi wi+1
x
Gambar 6. Prinsip penalaan fungsi keanggotaan
Proses pencarian PSO kemudian dimulai dengan menentukan populasi awal secara acak. Lalu, seluruh populasi dievaluasi dan disesuaikan posisinya
18 _______________________________________________ Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979-0732
Andi Adriansyah
berdasarkan fungsi terbaik untuk menentukan pbest dan gbest. Fungsi terbaik untuk perilaku yang dirancang, berturut-turut: perilaku menuju target, pengikut dinding (kiri dan kanan) dan penghindar rintangan adalah sebagai berikut: I
K
f goal (100e2 (k ) ed2 (k ) 100/ v(k ))
(4)
i 0 k 0 I K
f wall (100ed2 (k ) 100 2 (k ) 0.1 / v(k )) (5) i 0 k 0 I
K
f obs (100 2 (k ) 0.5 / v(k ) 100c(k ))
(6)
i 0 k 0
I adalah jumlah total posisi awal robot, K adalah jumlah tahapan simulasi untuk setiap posisi awal robot, eθ adalah kesalahan sudut, ed adalah jarak, v(k), dan ω(k) adalah kecepatan liniar dan kecepatan angular pada saat k, serta c adalah konstanta untuk mengecek apakah terjadi tabrakan terhadap rintangan atau tidak. Secara umum, tujuan dari fungsi-fungsi terbaik tersebut adalah memastikan bahwa robot bergerakan dengan kecepatan tercepat, arah yang tepat, berada pada jarak tertentu pada dinding dalam rangka menuju suatu target tertentu. Setelah itu, vektor kecepatan dan vektor posisi yang baru dihitung berdasarkan persamaanpersamaan yang telah dibahas sebelumnya. Prosedur ini dilakukan hingga kondisi yang diharapkan tercapai untuk setiap perilaku yang dirancang. Terakhir, fungsi terbaik untuk aturan konteks ditentukan sesuai dengan Persamaan 7: I
f goal (c1 .Time c 2 .Way c3 .Coll c 4 .DeltaWallSq) (7) i 0
I adalah jumlah iterasi yang dihubungkan dengan jumlah posisi target, Time adalah persentase dari jumlah tahap simulasi yang telah dilakukan terhadap waktu yang disediakan, Way adalah persentase dari jarak yang tersisa dari posisi awal ke posisi target selama robot berjalan, Coll adalah jumlah tabrakan terhadap rintangan yang terjadi dan DeltaWallSq adalah jumlah kuadrat dari jarak antara dinding kiri dan kanan. Fungsi terbaik ini dirancang agar robot dapat bergerak dalam waktu eksekusi tercepat, penunaian tugas yang tuntas, tanpa tabrakan terhadap rintangan dan menjaga jarak tertentu kepada dinding. 5. Hasil Percobaan Dalam rangka untuk menguji validitas dan mendemonstrasikan performa dari teknik yang dirancang, beberapa percobaan telah dilakukan. Beberapa percobaan mennyimulasikan teknik yang dirancang menggunakan Komputer PC Pentium 2.20 GHz dan memori RAM 512 MB. Bahasa
pemrograman MATLAB Versi 6.5 Release 13 digunakan untuk pensimulasian ini. Hasil pengujian terdahulu menggunakan Genetic Algorithm (GA) digunakan sebagai pembanding. Secara umum, setiap proses PSO dijalankan dengan jumlah populasi sebanyak 40 buah dan bekerja dengan 100 generasi (iterasi). Fungsi sigmoid simetris bagi SDIW digunakan dengan n = 0.5 dan harga bobot inersia w_start dan w_end masingmasing adalah 0.9 dan 0.4. Koefisien c1 and c2 diberikan hargar yang sama yaitu 2.0. Persamaan 4 hingga persamaan 6 digunakan sebagai fungsi terbaik untuk setiap perilaku. Untuk mendapatkan hasil terbaik, setiap proses PSFC dilakukan sebanyak 10 kali pengulangan. Sebuah lingkungan dirancang sebagai tempat pengujian perilaku. Dimensi lingkungan tersebut adalah 10x10 m dan dilingkupi oleh dinding sebagai pembatas. Sebuah kotak kecil diasumsikan sebagai target. Beberapa titik yang berurutan dianggap sebagai objek, baik dinding atau rintangan. Beberapa posisi awal robot akan dicobakan untuk mengetahui keandalan algoritma ini. Waktu diukur dengan banyaknya iterasi, t, yang diasumsikan bahwa setiap t adalah 1 detik. Perbandingan penggunaan PSO dan GA pada setiap perilaku diinvestigasi. Tabel 1 menampilkan harga fungsi terbaik dari setiap perilaku tersebut. Semakin kecil harga fungsi terbaik mengindikasikan performa terbaiknya. Dari Tabel 1 dapat dinyatakan bahwa harga-harga fungsi terbaik menggunakan PSO memiliki nilai yang lebih baik dari menggunakan GA. Selain itu, beberapa pergerakan robot diujicobakan untuk melihat performanya bagi setiap perilaku. Beberapa posisi awal ditentukan untuk dapat menganalisis secara komprehensif. Orientasi pergerakan robot diperlihatkan dalam bentuk garis kecil pada robot. Sedangkan kerapatan antara robot merepresentasikan kecepatan pergerakan robot. Pengendali perilaku menggunakan aturan fuzzy manual (FLC) dan menggunakan GA (disebut GFC) dijadikan sebagai perbandingan. Sebagai contoh analisis perilaku menuju target diperlihatkan. Untuk menunjukkan efektifitas pergerakan robot mencapai target secara efektif diperlihatkan variabel jarak target, (d), dan sudut target, (δ). Pada percobaan ini, target digambarkan dalam bentuk kotak kecil. Simulasi pergerakan robot diperlihatkan pada Gambar 7 dan 8. Berdasarkan Gambar 7, dapat dinyatakan bahwa ketiga algoritma menampilkan performa yang baik. Gambar 8 menggambarkan respon waktu sistem yang lebih jelas menggambarkan masing-masing performanya. Walaupun ketiga algoritma tersebut efektif untuk menghasilkan arah sehingga memiliki
Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979 – 0732
19
Perancangan Pengendali Robot Bergerak Berbasis Perilaku Menggunakan Particle Swarm Fuzzy Controller
respon waktu sudut target yang sama tetapi terjadi perbedaan pada respon waktu jarak target. Pengendali menggunakan PSFC memiliki hasil terbaik dengan mencapai target dengan waktu 28 detik, sementara menggunakan GFC mencapai target dengan waktu 35 detik. Bahkan setelah 35 detik robot belum mencapai target ketika menggunakan FLC.
Gambar 8. Respon Waktu untuk Perilaku Menuju Target dengan Posisi Awal (2, 2, π/2) menggunakan FLC, GFC, dan PSFC (a)
Tabel 1. Perbandingan harga Fungsi Terbaik Proses / Perilaku Menuju Target Pengikut Dinding Penghindar Rintangan
(b)
GA 1.2097x106 81.4125 2.0438x104
PSO 1.1937x106 68.4668 2.0158x104
Dalam rangka mengkaji lebih lanjut, algoritma yang dirancang diujikan secara simulasi dan pergerakan robot sebenarnya pada lingkungan aktual. Percobaan ini didasari oleh pekerjaan Hoffmann. Robot bergerak harus mencapai posisi target yang diletakkan di sebelah kanan dari rintangan melalui suatu koridor tertentu. Gambar 9(a) menunjukkan hasil simulasi berdasarkan algoritma dari Hoffmann. Simulasi pergerakan menggunakan robot dan percobaan dengan robot sebenarnya, MagellanPro, ditampilkan masing-masing pada Gambar 9(b) dan 9(c). Dari gambar tersebut dapat dinyatakan bahwa robot MagellanPro dengan algoritma PSFC memiliki kemampuan untuk menyelesaikan tugasnya dengan karakteristik yang sama dengan simulasinya dan pekerjaan peneliti terdahulu.
(c)
Gambar 7. Pergerakan Robot untuk Perilaku Menuju Target dengan Posisi Awal (2, 2, π/2) menggunakan: (a) FLC, (b) GFC, dan (c) PSFC
20 _______________________________________________ Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979-0732
Andi Adriansyah
(a)
(a)
(b)
(b)
(c) (c)
Gambar 9. Pergerakan Robot pada Bidang Hoffmann: (a)Hoffmann‟s, (b) simulasi dan (c) robot MagellanPro Percobaan berikutnya menggunakan pekerjaan Hoffmann pada lingkungan aktual yang lain. Robot harus bergerak pada koridor yang sempit, menghadapi jalan tertutup dan keluar darinya untuk mencapai target yang berlawanan arah dari posisi awal. Dalam percobaan pengendalian robot, bidang ini merupakan keadaan yang sulit bagi robot untuk dapat keluar dari jalan tertutup, apalagi harus menuju target yang arahnya berlawanan dengan posisi awal. Sebagaimana percobaan sebelumnya, performa dari pengendali yang diimplementasikan pada MagellanPro robot dibandingkan dengan hasil dari Hoffmann dan hasil simulasi seperti ditampilkan pada Gambar 10. Robot dapat bergerak dengan baik untuk menyelesaikan tugasnya. Pergerakan MagellanPro robot hampir sama dengan pergerakan simulasi dan hasil dari Hoffmann.
Gambar 10. Pergerakan Robot pada Bidang Hoffmann yang lain: (a)Hoffmann‟s, (b) simulasi dan (c) robot MagellanPro 6. Kesimpulan Paper ini telah mempresentasikan proses perancangan Particle Swarm Fuzzy Controller (PSFC), di mana pengendali merupakan Pengendali Logika Fuzzy yang parameternya ditala secara otomatis menggunakan PSO. Untuk meningkatkan performa pencarian, dilakukan modifikasi PSO dengan menginisiasi perubahan bobot inersia menurun secara sigmoid (SDIW). Pengendali ini kemudian diimplementasikan untuk menghasilkan aksi pengendalian perilaku robot bergerak, baik perilaku individu ataupun koordinasi perilaku. Berdasarkan beberapa simulasi yang dilakukan, algoritma perancangan ini mampu membuat robot bergerak berdasarkan perilaku yang dirancang dan mengkoordinasikannya sesuai dengan kondisi yang
Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979 – 0732
21
Perancangan Pengendali Robot Bergerak Berbasis Perilaku Menggunakan Particle Swarm Fuzzy Controller
dihadapi secara efektif. Setelah diimplementasikan ke dalam robot MagellanPro, secara umum dapat dikatakan bahwa pengendali yang dirancang memiliki kemampuan yang baik, sehingga robot dapat menyelesaikan tugas di lingkungan sebenarnya. REFERENSI [1]. R. C. Arkin, Behavior-based Robotics, The MIT Press, 1998. [2]. M. Carreras, J. Batle, P. Ridao, and G. N. Roberts, “An overview on behavior-based methods for AUV control”, Proc. of Conference on Manufacturing and Control of Marine Crafts, August, 2000. [3]. D. P. Pratihar, K. Deb, and A. Ghosh, “FuzzyGenetic Algorithm and Mobile Robot Navigation among Static Obstacles”, Proc. of The Congress of Evolutionary Computation, pp. 327-334, July 1999. [4]. F. Hoffmann, and G. Pfister, “Evolutionary design of a fuzzy knowledge base for a mobile robot‟, International Journal of Approximate Reasoning, Vol. 17, pp. 447-469, 1997. [5]. A. Saffiotti, “The uses of fuzzy logic in autonomous robot navigation”, Soft Computing, Vol. 1, Springer-Verlag, pp. 180-197, 1997. [6]. E. Aguiree, and A. Gonzales, “Fuzzy behaviors for mobile robot navigation : design, coordination and fusion”. International Journal of Approximate Reasoning, Vol 25, Elsevier Science Inc., pp. 255-289, 2000. [7]. R. A. Brooks, “A Robust Layered Control System for a Mobile Robot, IEEE Journal of Robotics and Automation, RA-2 (1), pp. 14-23, 1986. [8]. M. J. Mataric, “Behavior-based Control: Examples from Navigation, Learning, and Group”, Journal on Experimental and Theoretical Artificial Intelligence, Special Issue on Software Architecture for Physical Agents, Vol. 9, No. 2-3, pp. 1-15, 1997. [9]. A. Saffiotti, E. H. Ruspini, K. Konolige, K., “Using fuzzy logic for mobile robot control”, In: Practical Application of Fuzzy Technologies, H-
J. Zimmermann (Ed), Kluwer Academic Publisher, pp. 185-206, 1999. [10]. F. Hoffmann, “An overview on soft computing in Behavior Based Robotics”, Proc. on International Fuzzy System Association World Congress IFSA , pp. 544-551, 2003. [11]. S. Parasuraman, V. Ganapathy, and B. Shrinzadeh, “Fuzzy decision mechanism combined with neuro-fuzzy controller for behavior-based robot navigaton”, pp. 24102416, 2003. [12]. P. Rusu, E. M. Petriu, T. E. Whalen, A. Cornell, and H. J. W. Spoelder, “Behavior-based neurofuzzy controller for mobile robot navigation”, IEEE Transaction on Instrumentation and Measurement, Vol. 52, No. 4, pp. 1335-1340, August 2003. [13]. A. Bonarini, G. Invernizzi, T. Halva, and M. Matteucci, “An architecture to coordinate fuzzy behaviors to control an autonomous robot”, Journal Fuzzy Sets and Systems, Vol. 134 (1), pp. 101-115, 2003. [14]. H. Hagras, V. Callaghan, and M. Colley, “Outdoor mobile robot learning and adaptation”, IEEE Robotics & Automation Magazines, pp. 53-69, September 2001. [15]. E. W. Tunstel, M. A. A. de Oliveira, and S. Berman, “Fuzzy behavior hierarchies for multirobot control”, International Journal of Intelligent Systems, Vol. 17, pp. 499-470, 2002. [16]. J. Kennedy and R. C. Eberhart, “Particle swarm optimization”, Proc. of the 1995 Int’l Conf. on Neural Networks, Vol. 4, IEEE Press., pp. 19421948, 1995. [17]. R. C. Eberhart, Y. Shi, “Particle Swarm Optimization: Developments, applications and resources”, Proc. of The IEEE Congress on Evolutionary Computation, IEEE Press, Seoul, Korea, pp. 81-86, 2001. [18]. R. C. Eberhart and Y. Shi, “Comparing Inertia Weights and Constriction Factors in Particle Swarm Optimization“, Proc. Congress on Evolutional Computation, San Diego, pp. 84-88, 2000
22 _______________________________________________ Jurnal Ilmu Komputer dan Informasi, Volume 3, Nomor 1, ISSN 1979-0732