PENERAPAN
FUZZY LOGIC
PADA
BEHAVIOR BASED CONTROL
(
BBC
) PADA ROBOT
QUADPOD
Muhammad Bagus Bintang Timur1), Agusma Wajiansyah2), Damar Nurcahyono3) 1,2,3) Jurusan Teknologi Informasi Politeknik Negeri Samarinda
Email : mc.bintang@gmail.com1), agusma.wajiansyah@gmail.com2), damarnc@polnes.ac.id3)
Abstrak - Pada robot pemadam api tidak hanya sekedar memadamkan api melainkan mencari ruang yang terdapat api. Ketika robot mencari api yang terdapat didalam ruangan, robot melakukan proses berjalan dan berusaha mengetahui lingkungan sekitar agar dapat mengetahui posisi robot berada. Penelitian ini bertujuan untuk membangun Kendali Cerdas berbasis Fuzzy Logic (Logika Samar) untuk menentukan posisi robot dan Behavior Based Control (kendali berbasis Perilaku) untuk menentukan gerakan pada robot Quadpod. Pengujian Fuzzy Logic
dan Behavior Based Control menggunakan Software (perangkat lunak) Mathlab. Data sensor sebagai referensi lingkungan dibangun secara Random (acak). Setelah data dibangun, data kemudian diproses menggunakan Fuzzy Logic. Hasil proses akan berupa Posisi robot, kemudian setelah mendapatkan posisi robot dilakukan proses selanjutnya menggunakan metode Behavior Based Control. Input (masukkan) pada Behavior Based Control
adalah hasil Output (keluaran) dari Fuzzy Logic berupa posisi robot. Output dari Behavior Based Control adalah gerakan robot. Pengujian Gerak robot menggunakan fasilitas pada aplikasi Mathlab yaitu Simulink.
Kata Kunci: Kendali Cerdas, Fuzzy Logic,Behavior Based Control, Robot, Quadpod.
I. PENDAHULUAN
Robot saat ini menjadi ketertarikan sendiri untuk banyak orang.Perusahaan besar yang bergerak di bidang industri sudah mulai menggunakan robot
untuk mempermudah pekerjaan.Semakin
berkembangnya teknologi, metode – metode yang
digunakan pada robot semakin
berkembang.Terdapat begitu banyak penelitian yang dilakukan untuk mengembangkan metode – metode baru atau menemukan metode – metode baru dalam kecerdasan robot, sistem navigasi, dll. Robot memiliki banyak bentuk, salah satunya adalah robot berkaki. Robot berkaki adalah robot yang menggunakan kaki sebagai alat geraknya.
Kecerdasan buatan (Artificial Intelligent)
pada robot memiliki banyak metode – metode di dalamnya agar robot yang dibuat dapat berpikir atau bertindak layaknya seperti manusia atau binatang. Semakin majunya teknologi, menggunakan metode – metode yang ada saja belum cukup atau kurang dalam membangun sebuah robot cerdas karena menyesuaikan teknologi yang terus berkembang. Terdapat begitu banyak penelitian yang telah dikembangkan atau ditemukan untuk mengatasi masalah pada penerapan kecerdasan robot terhadap lingkungan sekitar. Kecerdasan robot sendiri melibatkan beberapa metode salah satunya adalah kendali cerdas berbasis Fuzzy Logic (Logika Samar).
Fuzzy Logic merupakan salah satu bentuk soft computing yaitu sistem komputasi yang lebih mendasarkan pada kemampuan melakukan pemetaan vektor (tidak linear), optimasi, identifikasi dan kemampuan lainnya. Berbagai penerapan telah menunjukkan bahwa pengendali berbasis Fuzzy Logic dapat mengatasi sifat ketidakpastian yang selalu muncul pada sistem kendali. Ketidakpastian
utama yang ditemukan dalam sistem ini adalah ketidaklinearan elemen-elemen sistem kendali. Ketidaklinearan ini berupa gesekan pada komponen-komponen sistem, dead zone dan saturasi yang terdapat pada aktuator yang digunakan, mekanisme gerak sistem, proses pemasangan alat dan lain-lain. Dalam penerapannya pengendali Fuzzy Logic
memanfaatkan pengalaman seorang pakar yang oleh perancang pengendali diekstrak ke dalam bentuk aturan-aturan jika-maka (if-then). Oleh karena itu, proses pengendalian akan mengikuti pendekatan secara linguistik. Pendekatan secara linguistik berupa interpretasi manusia (operator atau ahli) tentang tingkat keadaan suatu sistem, yang
merupakan informasi penting dalam
menggambarkan perilaku sistem dan jauh lebih mudah untuk diperoleh. Pengendali Fuzzy Logic
tidak memiliki ketergantungan pada variabel-variabel proses kendali sehingga pengendali ini banyak digunakan pada sistem yang memiliki sifat tidak linear dan perilaku dinamik yang berubah terhadap waktu. Namun dasar-dasar pengetahuan tentang sistem yang akan dikendalikan akan sangat membantu dalam memperoleh prestasi pengendalian yang memadai.
yang masing-masing bertanggung jawab untuk
melakukan satu perilaku. Tiap behavior
mengandung jalur lengkap mulai dari sensing sampai aksi. Untuk melakukan tugas yang diberikan secara adaptif terhadap lingkungan, robot akan menggunakan sensor sebagai masukan untuk memberikan data pada robot. Data tersebut yang akan diolah sesuai dengan algoritma BBC yang dirancang. Dari data yang sudah diolah tersebut robot akan menerima informasi yang berarti kemampuan untuk melaksanakan tugas atau informasi tersebut.
Pada penelitian ini akan di terapkan Fuzzy Logic pada Behavior Based Control untuk
kecerdasan Robot Quadpod. Fuzzy Logic
PertamaPada Behavior Based Control akan
menentukan posisi robot dan Fuzzy Logic Kedua akan menentukan Gerakan Robot.
II. DASAR TEORI
2.1 BEHAVIOR BASED CONTROL
Metode robot Behavior Based Control
adalah suatu pendekatan yang diinspirasikan dari sistem biologis, dimana suatu sistem didistribusikan dalam beberapa modul kecil yang disusun secara parallel. Setiap modul,disebut perilaku (behavior) dan memiliki target tertentu yang harus dicapai.Secara keseluruhan, robot terdiri dari beberapa behavior yang mengambil input dari sensor sensoryang ada dan mengirimkan output ke proses pengendalian ke aktuator robot. Karena terdiri dari beberapa behavior, maka diperlukan koordinasi untuk menghasilkan perintah akhir yang akan dikirimkan ke aktuator, jika terdapat beberapa
behavior yang aktif pada waktu yang sama. Robot berbasis perilaku dengan Logika Fuzzy (Fuzzy behavior-based robot) adalah penggunaan teknik Logika Fuzzy untuk menyelesaikan problem pengendali behavior dan koordinasinya. Arsitektur sistem ini terdiri dari dua bagian besar, yaitu bagian modul behavior dengan Fuzzy Logic dan bagian
behavior yang disebut dengan Context Dependent Blending (CDB). Arsitektur ini ditampilkan pada Gambar 1 di bawah ini.
Gambar 1. Arsitektur Pengendali Robot Berbasis Prilaku dengan Fuzzy Logic [1]
Pendekatan yang biasa digunakan untuk membangun system control robot adalah dengan
menguraikan setiap masalah ke dalam rangkaian unit fungsional sebagaimana ditunjukkan oleh gambar di bawah ini.
Gambar 2. Teknik Penguaraian Tradisional untuk Sistem Kontrol Mobile Robot ke dalam unit-unit Fungsional [3]
Berbeda dengan pendekatan di atas, behavior based robot mendesain sistem kontrol robot dengan menggunakan task achieving behaviors
(perilaku menggunakan tugas) yang diberikan secara adaptif terhadap lingkungan. sebagaimana ditunjukkan pada di bawah ini, tiap tugas disebut dengan behavior.
Gambar 3. Dekomposisi sistem kontrol dengan Task Achieving Behavior [3]
2.2 Fuzzy Logic
Fuzzy Logic pertama kali diperkenalkan oleh Prof.Lotfy A. Zadeh dari Universitas California di Barkeley (1965). Berbeda dengan Boolean Logic
yang hanya membagi suatu keadaan menjadi dua kondisi yaitu 0 dan 1, Fuzzy Logic memberikan kemungkinan suatu keadaan dalam interval antara 0 dan 1. Berikut adalah ilustrasi perbedaantersebut :
Gambar 4. Perbedaan Antara Boolean Logic Dan Fuzzy Logic [4]
Guna lebih mengenal suatu sistem Fuzzy, maka harus dipahami istilah-istilah yang sering digunakan dalam Fuzzy logic. Berikut ini adalah gambar membership function lengkap dengan parameter-parameternya.
Gambar 5. Membership Function [4]
1.Crips Input adalah Input yang tegas dan tertentu
(seperti 90 derajat)
2. Membership Function adalah definisi Fuzzy
set dengan memetakan Crisp input dari domainnya ke derajat keanggotaannya.
3. Label adalah Nama dari suatu fungsi
keanggotaan.
4. Scope/Domain adalah Lebar fungsi
keanggotaan.
5. Degree of Membership Function adalah derajat
keanggotaan dimana nilai crisp kompatibel dengan fungsi keanggotaan (dari 0 sampai 1).
6. Universe of Discourse adalah semesta
pembicaraan adalah rentang input yang mungkin masuk ke dalam sistem.
2.2.1 Desain Sistem Fuzzy
Metode Mamdani sering juga dikenal dengan nama metode min – max. Metode ini diperkenalkan oleh Ibrahim Mamdani pada tahun 1975 [djunaidi]. Untuk membentuk sistem Fuzzy, ada tiga tahapan yang harus dilakukan yaitu
fuzzification, rule evaluation dan defuzzification. Gambar berikut ini menunjukkan tiga tahap tersebut lengkap dengan parameter-parameter yang diperlukan dalam setiap tahapannya.
Gambar 6 Tahapan Dalam Fuzzy Logic [4]
Fuzzification: Memproses crisp input
menjadi Fuzzy input yang berupa membership function, misalnya crisp suhu 27 C akan ditransformasikan sebagai “hangat” dalam Fuzzy, kecepatan 100 Km/jam ditransformasikan sebagai “cepat”, dsb. Didalam Fuzzification terdapat proses
Subset dengan persamaan sebagai berikut.
Tabel 1. Tabel Persamaan Membership Function
m(x)
Rule Evaluation : Tahapan penggunaan
Rule untuk menentukan aksi Control apa yang harus dilakukan dalam merespon input. Berikut adalah format rule yang biasa digunakan dalam Fuzzy : If Antecedent 1 AND Antecedent2 AND …Then Consequent1 AND Consequent 2 AND. Untuk menentukan jumlah Rule Base yang digunakan, dapat digunakan persamaan sebagai berikut :
nRule =
Z𝑣 ...(1)
Z dinyatakan sebagai Linguistic Value dan
v dinyatakan sebagai Linguistic Variable.
Defuzzification : Tahapan terakhir setelah
rule evaluation adalah defuzzification. Dalam
defuzzification, seluruh Fuzzy output yang signifikan akan dikombinasikan ke dalam variable keluaran yang spesifik. Salah satu teknik yang sering digunakan adalah metode Centre of Gravity (COG). Metode Centroid adalah metode yang mengambil titik tengah / pusat Fuzzy. Persamaan yang
digunakan untuk Defuzzification dengan
menggunakan metode Centroid adalah
x
: nilai x pada output fuzzy hasil agregasi
x
im
: derajat keanggotaan dari x pada output fuzzy hasil agregasiIII. HASIL DAN PEMBAHASAN 3.1 Blok Diagram Sistem Robot
Sistem Penentuan Posisi Robot
Gambar 7. Diagram Sistem Penentuan Posisi Robot
Robot ini memiliki 3 Input yang diperoleh dari 3 sensor yaitu Sensor Front (F), sensor Left (L) dan sensor Right (R). Input dari 3 sensor ini kemudian diproses menggunakan Fuzzy Logic yang akan menghasilkan Output berupa posisi robot. Kendali cerdas pada robot ini menggunakan kendali cerdas Fuzzy Logic menggunakan metode Mamdani. Kendali cerdas ini disimulasikan melalui aplikasi Mathlab.Proses pertama adalah pengambilan data menggunakan sensor. Setelah pengambilan data selesai, ketiga data tersebut kemudian disimpan kedalam variabel F, R dan L.
Untuk menentukan kemiringan / gradien disetiap
subset dapat menggunakan rumus garis miring atau gradien yaitu :
𝑚 =
𝑦1− 𝑦2
𝑥1− 𝑥2 ... (3)
Dengan rentang nilai Input pada fuzzy
(sumbu x) dari 5 – 30 (Low & High) dan titik tengah (Med) dengan nilai 17.5 dan ketinggian (sumbu y) yaitu 1, dengan titik tengah memiliki nilai 17.5 dan rentang lebar Subset Med adalah 20 di setiap sisi kiri dan kanan memiliki lebar 10 maka jika dimasukkan kedalam rumus gradien seperti berikut :
𝑚 = 10 − 1 = −0,10 − 1
Maka kemiringan yang akan dibangun pada
Fuzzy Subset adalah -0,1 yang ditunjukkan pada gambar berikut :
Gambar 8. Proses F &R & L
Gambar 9. Input Dari F
Gambar 10. Output Dari FRL
F, R dan L memiliki rentang nilai dari 5 sampai 30, memiliki 3 Membership Function yaitu
Low, Med, dan High. Output memiliki rentang nilai dari 0 sampai 4 yang terdiri dari 5Membership Function yaitu Belok Kanan, Serong Kanan, Maju, Serong Kiri dan Belok Kiri dan memiliki 27 Rule. Dalam kendali cerdas Fuzzy Logic ini memiliki 3
Input yaitu F, R dan L. Masing – masing dibangun dengan Fuzzy Set yang memiliki 3 Linguistic Value
yaitu Low, Med dan High. Maka jumlah Rule Base
yang harus dibangun dengan menggunakan persamaan 1 adalah:
nRules= (3)3 = 27
Tabel 2. Rule F & R & L
No F R L Act
1 Low Low Med Luas Kiri
2 Low Low High Luas Kiri
3 Low Med High Luas Kiri
4 Med Low Med Miring Kanan
5 Med Low High Miring Kanan
6 High Low Med Miring Kanan
7 High Low High Miring Kanan
8 Med Low Low Luas Depan
9 Med Med Med Luas Depan
10 Med Med High Luas Depan
11 Med High Med Luas Depan
12 Med High High Luas Depan
13 High Low Low Luas Depan
14 High Med Med Luas Depan
15 High Med High Luas Depan
16 High High Med Luas Depan
17 High High High Luas Depan
18 Med Med Low Miring Kiri
19 Med High Low Miring Kiri
20 High Med Low Miring Kiri
21 High High Low Miring Kiri
22 Low Low Low Luas Kanan
23 Low Med Low Luas Kanan
24 Low High Low Luas Kanan
25 Low Med Med Luas Kanan
26 Low High Med Luas Kanan
27 Low High High Luas Kanan
Setelah proses FRL selesai, Output yang didapat berupa posisi robot, kemudian diolah kembali menggunakan Behavior Based Control
dengan input berupa posisi robot, kemudian Output
yang dihasilkan berupa gerakan robot.
Sistem Penentuan Gerak Robot
Gambar 11. Diagram Sistem Penentuan Gerak Robot
Setelah mendapatkan input berupa posisi robot kemudian diproses menggunakan Behavior Based Control yang akan menghasilkan Output
berupa gerak robot.
Gambar 12. Diagram Sistem Penentuan Gerak Robot
3.2 Pengujian Fuzzy Logic
Pengujian Fuzzy Logic dilakukan secara simulasi melalui Mathlab. Nilai input sebagai parameter pengganti F, R dan L ditentukan sesuai prediksi kemungkinan yang akan terjadi yang nantinya akan menghasilkan keputasan Posisi robot. 3.2.1 Posisi Luas Depan
Pada Tabel 2,Untuk mendapatkan gerakan maju maka data prediksi yang akan digunakan adalah F = 29, R = 24 dan L = 25. Rule yang digunakan adalah Rule ke 17. Data ini telah di uji coba melalui Mathlab dan hasil akhirnya adalah 2, pada gambar 10 menunjukkan bahwa posisi 2 mengarah pada posisi luas depan sesuai dengan Rule
yang sudah ditentukan. Jika dilakukan perhitungan secara matematis maka persamaan yang digunakan adalah persamaan Triangular Membership Function
pada tabel 1. Data yang dimiliki adalah F = 29, R = 24 dan L = 25. Rule yang digunakan adalah Rule ke 17 yaitu :
Tahap pertama yaitu membangun Fuzzy Subset dengan data F menggunakan Rule High
sesuai dengan Tabel 2. Nilai a, b dan c adalah a = 20, b = 30 dan c = 30. Maka persamaan yang digunakan adalah:
µ(𝑥, 𝑎, 𝑏, 𝑐) = 𝑏−𝑎 𝑥−𝑎𝑎 ≤ 𝑥 ≤ 𝑏
jika semua data F dimasukkan maka akan menjadi :
µ(29,20,30,30) = 29−2030−20𝑎 ≤ 𝑥 ≤ 𝑏
maka hasilnya adalah :
𝜇𝐹 = 0.9
Kemudian membangun Fuzzy Subset
dengan data R menggunakan Rule High sesuai dengan Tabel 2. Jika data R dimasukkan maka akan menjadi :
µ(24,20,30,30) = 24−2030−20𝑎 ≤ 𝑥 ≤ 𝑏
maka hasilnya adalah :
𝜇𝑅 = 0.4
Kemudian membangun Fuzzy Subset
dengan data L menggunakan Rule High sesuai dengan Tabel 2. Jika data L dimasukkan maka akan menjadi :
maka hasilnya adalah :
𝜇𝐿 = 0.5
Setelah Fuzzy Subset 𝜇𝐹, 𝜇𝐿, 𝜇𝑅 selesai dibangun, kemudian hasil dari Fuzzy Subset
dibangun kedalam Grafik 2D. Berikut grafik 2D dari setiap Fuzzy Subset:
20 30
Setelah melakukan Fuzzy Subset,
selanjutnya adalah melakukan Inferensi (Penalaran). Inferensi menggunakan Operator Implikasi Min atau nilai terkecil dari seluruh Input dalam satu Rule.
Berikut adalah hasil dari Inferensi F,R dan L dalam satu Rule.
Gambar 16. Hasil Inferensi dari F,R dan L dalam satu Rule
Tahap Selanjutnya adalah Agregasi Output. Tahap ini menggunakan Agregasi dengan Operator
Max atau tertinggi. Agregasi dilakukan jika menggunakan lebih dari 1 Rule, tetapi dalam percobaan ini hanya menggunakan 1 Rule jadi nilai yang digunakan adalah 0,4 hasil dari Inferensi. setelah tahap Agregasi selesai, maka selanjutnya adalah tahap Defuzzifikasi menggunakan metode
Centroid.
0,4
1 3
1,4 2,6
Gambar 17. Hasil Agregasi
Hasil Defuzzification dari gambar 5.18 menggunakan persamaan 2 dapat diperoleh : xc= (1∗0)+ (1,4∗0,4)+ (2,6∗0,4)+ (3∗0) 0+0,4+0,4+0
= 0,56+1,04 0,8
= 2
Jadi hasil Defuzzification adalah 2, maka hasil Defuzzification dinyatakan benar sesuai dengan uji coba Mathlab pada simulasi proses Luas Depan.
Gambar 18. Pembuktian Posisi Luas Depan Pada Mathlab
3.3 Pengujian BBC
Input pada pengujian BBC diambil dari Output Fuzzy Logic berupa posisi robot.
Tabel 3. Pengujian BBC
2.5 – 3.5 Serong Kanan
1.5 – 2.5 Robot berada di Lorong Maju
Pengujian BBC dilakukan secara simulasi melalui Mathlab. Nilai input / Stimulus sebagai ditentukan melalui Outputi Fuzzy Logic berupa posisi robot.
3.3.1 Gerakan Maju
Gambar 19. Pembuktian keputusan gerak maju pada simulink
IV. KESIMPULAN DAN SARAN 4.1Kesimpulan
Data F, R dan L dibangkitkan secara
Random. Pengujian dilakukan diseluruh Basic
gerakan robot menggunakan simulasi Mathlab. Pada posisi luas depan, data Random yang digunakan adalah F = 29, R = 24 dan L = 25. Hasil dari Mathlab kemudian dibuktikan menggunakan proses secara matematis dan hasil yang didapat pada Mathlab dan proses matematis adalah 2, dimana nilai 2 termasuk kedalam posisi luas depan. Pada posisi luas Kiri, data Random yang digunakan adalah F = 7, R = 5 dan L = 22. Data ini telah di uji coba melalui Mathlab dan hasil akhirnya adalah 0.369, dimana nilai 0.369 adalah posisi luas Kiri. Pada posisi luas kanan, data
Random yang digunakan adalah F = 5, R = 28 dan L = 22. Data ini telah di uji coba melalui Mathlab dan hasil akhirnya adalah 3.63, dimana nilai 3.63 adalah posisi luas Kanan. Pada posisi miring kiri, data
Random yang digunakan adalah F = 14, R = 8 dan L = 23. Data ini telah di uji coba melalui Mathlab dan hasil akhirnya adalah 1.24, dimana nilai 1.24 adalah posisi miring Kiri. Pada posisi miring kanan, data
Random yang digunakan adalah F = 11, R = 26 dan L = 7. Data ini telah di uji coba melalui Mathlab dan hasil akhirnya adalah 3.12, dimana nilai 3.12 adalah posisi miring Kanan. Pada pengujian BBC menggunakan data Luas Depan dengan nilai 2 yang menyatakan gerakan Maju.
4.2 Saran
Setelah menyelesaikan penelitian dalam Tugas Akhir ini maka terdapat beberapa hal yang dapat dijadikan sebagai saran untuk tindak lanjut hasil penelitian dimaksud, antara lain :
1. Hasil penelitian ini dapat dilanjutkan dalam
bentuk penerapan langsung ke robot atau mengembangkan lagi dari sisi Fuzzy Logic
atau mengembangkan Behavior Based Control
Untuk meningkatkan kemampuan deteksi robot maka perlu adanya ditambahkan sensor lagi agar dapat menentukan kondisi posisi robot lebih akurat
REFERENSI
[1]Adriansyah, A. (2008). Pengendali robot bergerak berbasis perilaku menggunakan
Particle Swarm Fuzzy Controller : ISSN 1979 – 2328
[2]Djunaidi, M. (2005). Penentuan jumlah produksi dengan aplikasi metode Fuzzy – Mamdani : Vol. 4, No. 2
[3]Kuswadi, S. (2009). Robotika: Ilham dari sistem biologi – simulasi dan realisasinya. Bali [4]Rully, M. Iqbal. (2012). Implementasi Sistem
Navigasi Behavior-Based Robotic dan Kontroler Fuzzy pada Manuver Robot Cerdas Pemadam Api :