BAB II TINJAUAN PUSTAKA
Pada BAB ini akan dibahas teori penunjang yang mendukung penelitian ini. Teori penunjang penelitian tersebut meliputi teori tentang robot CLMR, kinematika robot CLMR, metode penentuan posisi relatif robot, karakteristik geometri CLMR, sensor jarak, teknik pengaturan kecepatan motor DC, sistem kontrol, konsep behavior based robotic (BBR), dan logika fuzzy. Selain itu, BAB ini juga akan menjabarkan penelitian-penelitian terdahulu yang terkait dengan penelitian yang penulis lakukan.
2.1.
Car Like Mobile Robot (CLMR) Istilah “Robot”berasal dari bahasa Czech yaitu robota,yang memiliki arti
bekerja. Istilah ini diperkenalkan di publik oleh Karel Capek saat mementaskan RUR (Rossum’s Universal Robots) pada tahun 1921. CLMR adalah salah satu tipe robot beroda (wheeled robot), dengan kontrol kecepatan dan kemudi terpisah. CLMR memiliki dua motor dengan fungsi yang berbeda, satu motor digunakan sebagai penggerak (roda hanya bergerak maju dan mundur) dan satu motor lainya berfungsi sebagai kemudi. Keunggulan CLMR adalah dapat bergerak dengan baik pada medan yang datar ataupun pada medan yang tidak datar, mudah di kontrol karena kontrol kecepatan dan arah terpisah.
8 Universitas Sumatera Utara
9
Kelemahan dari robot CLMR adalah tidak dapat berputar ditempat, mekanik yang kompleks, dimana setiap motor mengendalikan dua buah roda secara bersamaan. Gambar 2.1. menggambarkan contoh CLMR.
Gambar 2.1 Robot Car Like Mobile Robot (CLMR) [29]
2.2.
Kinematika robot Kinematika robot didefinisikan sebagai studi tentang pergerakan (motion)
robot tanpa memperhatikan gaya (force) ataupun faktor-faktor lain yang mempengaruhinya. Pada sebuah analisis kinematik, posisi, kecepatan dan akselerasi dari setiap link dihitung tanpa memperhatikan gaya yang menyebabkan pergerakan tersebut.
Universitas Sumatera Utara
10
2.2.1. Kinematika CLMR Penelitian ini menggunakan CLMR yang memiliki empat roda dengan kontrol kecepatan terpisah dengan kontrol kemudi. Motor Stepper digunakan sebagai kemudi roda depan kiri yang berpasangan dengan roda depan kanan. Motor DC yang sudah dilengkapi dengan gear box digunakan untuk menggerakkan roda belakang kiri yang berpasangan denngan roda kanan belakang, dengan arah gerakan maju dan mundur. Model matematika kinematika CLMR dapat dicari dengan pendekatan model kendaraan Ackerman yang populer seperti yang ditunjukkan pada Gambar 2.2.
φ
φ
Gambar 2.2 Pendekatan kinematik model kendaraan [6]
Universitas Sumatera Utara
11
Dengan asumsi kedua roda depan mobile robot berubah sedikit demi sedikit secara deferensial, maka pusat rotasi sesaat dapat dihitung dengan cara kinematika. Asumsikan k (t ) adalah kelengkungan lintasan sesaat. k (t ) =
1 ........................................... (2.1) R(t )
k (t ) =
tan φ (t ) ....................................... (2.2) L
k (t ) =
dθ (t ) ........................................ (2.3) ds
Dengan R adalah jari-jari kelengkungan, L jarak sumbu roda, φ sudut kemudi, s posisi robot, dan θ adalah orientasi robot pada kerangka koordinat global. Dinamika •
θ sebagai fungsi kendaraan dapat dihitung seperti Persamaan 2.4 s.d. 2.6. •
θ =
dθ dθ ds = . ......................... (2.4) dt ds dt
•
θ = k (t ) . ν (t ) ..................................... (2.5) •
θ =
tan φ . ν (t ) .................................. (2.6) L
Dengan mengambil φ dan ν adalah variabel ruang aktuasi kendaraan. Ruang konfigurasi kendaraan terdiri dari variabel posisi global robot dan orientasi yang dinyatakan dalam ( x, y, θ ) , dengan asumsi ruang adalah bidang datar. Pemetaan dari ruang aktuasi ke ruang konfigurasi dapat diselesaikan dengan menggunakan
Universitas Sumatera Utara
12
persamaan Fresnel, biasanya digunakan dalam navigasi inersia, Persamaan 2.7 s.d. 2.9 menunjukkan persamaan dinamika ( x, y, θ ) . •
dx = ν (t ) . cos θ (t ) ....................... (2.7) dt
•
dy = ν (t ) . sin θ (t ) ........................ (2.8) dt
x =
y = •
θ =
dθ tan φ (t ) = ν (t ) . ...................... (2.9) dt L
Dengan x adalah posisi robot terhadap sumbu X dan y adalah posisi robot terhadap sumbu Y dalam kerangka kordinat global.
2.2.2. Posisi mobile robot CLMR terhadap target Untuk dapat mencapai target ( xt , y t ), variabel ruang aktuasi (ν ( t ) , φ( t ) ) harus dihitung secara real-time dari variabel konfigurasi
( x, y , θ ) . Gambar 2.3
menunjukkan posisi robot terhadap target. Dari gambar 2.3 di dapat persamaan: EP =
∆x 2 + ∆y 2 ................................ (2.10)
EO = θ − ∆θ ....................................... (2.11) ∆x = xt − x .......................................... (2.12) ∆y = yt − y .......................................... (2.13) ∆y ∆θ = tan −1 ................................... (2.14) ∆x
Universitas Sumatera Utara
13
Gambar 2.3 Posisi robot terhadap target [7]
Keterangan Gambar 2.3: M = Poros titik tengah robot. EP (position error) = Jarak robot terhadap target EO (orientation error) = Orientasi robot terhadap target (X,Y) = Kerangka kordinat global (x,y) = Posisi robot terhadap kerangka kordinat global ( xT , yT ) = Target pada kerangka kordinat global ∆x = Posisi robot terhadap target pada sumbu X ∆y = Posisi robot terhadap target pada sumbu Y Nilai EP dan EO selanjutnya akan digunakan sebagai crisp input goal seeking behavior untuk menentukan kecepatan linear dan sudut kemudi (ν ( t ) , φ( t ) ) .
Universitas Sumatera Utara
14
2.2.3. Karakteristik geometri CLMR CLMR harus memenuhi batas sudut kemudi − β min < β < β max . Ketika kecepatan (ν ) konstan dan sudut kemudi (β ) tetap, maka pergerakan CLMR akan mendekati melingkar dengan radius bergantung sudut kemudi
(β ) .
Fitur dari
kinematika kendaraan ini membantu untuk merencanakan lintasan yang sederhana dengan gerakan melingkar. Radius putar adalah radius dari lingkaran yang dibentuk kendaraan saat memutar dengan sudut kemudi tetap, hal ini diperoleh dengan mendefenisikan roda virtual ditengah poros roda depan. Gambar 2.4 menggambarkan geometris dari kendaraan dan radius putar.
Gambar 2.4 Geometris kendaraan dan radius putar [8]
Keterangan Gambar 2.4: l = Panjang keseluruhan kendaraan e = Whellbase (jarak antara sumbu roda depan dan sumbu roda belakang)
Universitas Sumatera Utara
15
p = Jarak antara sumbu roda depan kebagian paling depan atau jarak sumbu roda bagian belakang kebagian paling belakang. w = Lebar kendaraan β = Sudut kemudi Berdasarkan Gambar 2.4 maka R sebagai radius dari roda virtual depan dapat diperoleh dengan menggunakan aturan trigonometri seperti yang ditunjukkan persamaan 2.15. R=
e ................................................... (2.15) sin β
Dua radius lainnya dapat didefenisikan sebagai Ri yang merupakan radius terkecil yang dibentuk oleh roda belakang bagian dalam. Sedangkan radius terluar Re merupakan radius terbesar yang dibentuk oleh roda depan bagian luar kendaraan tersebut. Radius Ri dan Re dapat dihitung dari R dengan menggunakan teorema phytagoras seperti yang ditunjukkan persamaan 2.16 dan 2.17 untuk Ri dan persamaan 2.18 dan 2.9 untuk Re. Semakin besar sudut kemudi ( β ) tetap yang digunakan, maka radius akan semakin kecil. R i = R 2 - e2 -
Ri = Re =
w e2 w - e 2 - ......... (2.16) = 2 2 2 sin β
e w - ........................................... (2.17) tanβ 2
(R i - w )2 + (e + p )2
......................... (2.18)
Universitas Sumatera Utara
16
Re =
(R i
+ w ) + (e + p ) ........................ (2.19) 2
2
2
w 2 R e = R 2 - e 2 + + (e + p ) ................ (2.20) 2
2.3.
Metode penentuan posisi relatif robot Posisi relatif dikenal dalam aplikasi robotika, posisi tersebut bukanlah untuk
menentukan posisi absolut dari robot, tetapi hanya memperkirakan posisi robot tersebut. Penentuan posisi relatif ini biasanya berdasarkan perhitungan rotasi roda robot. Rotary encoder adalah sensor yang umum digunakan, data yang dihasilkan sensor rotary encoder selanjutnya dimasukkan kedalam perhitungan odometry untuk mendapatkan posisi relatif robot. Odometry adalah penggunaan data dari sensor bergerak untuk memperkirakan perubahan posisi dari waktu ke waktu. Teknik klasik untuk robot beroda untuk menghitung posisinya untuk melacak lokasinya melalui serangkaian pengukuran rotasi dari roda robot , metode yang sering disebut "odometry" [30]. Pada penelitian ini digunakan rotary encoder jenis DI-REV1 dari depok instrument. Rangkaian terdiri dari dua bagian utama, yaitu: a.
Piringan derajat dengan 36 lubang pada kelilingnya dengan sudut antara dua lubang yang berdampingan terhadap titik tengahnya adalah 100.
b.
Rangkaian sensor pembaca putaran yang menggunakan optocoupler tipe celah sebagai sensor pembaca perubahan posisi lubang piringan derajat.
Universitas Sumatera Utara
17
Rangkaian optocoupler terdiri dari dua komponen utama, yaitu infra red dan phototransistor. Gambar 2.5. menunjukkan rangkaian optocoupler yang digunakan. Gambar 2.6 menunjukkan piringan derajat rotary encoder.
Gambar 2.5. Rangkaian penggerak optocoupler [31].
Spesifikasi dari rotary encoder ini sebagai berikut: a.
Sumber (VCC): 3,5 V – 5,5 V
b.
Output Low: 0 V – 0,5 V
c.
Output Hight: 3 V – 5 V
d.
Kecepatan baca pada kondisi toggle: 1500 Hz
Universitas Sumatera Utara
18
Gambar 2.6 Piringan derajat DI-REV1 [31].
2.4.
Sensor Pengukur Jarak Untuk mengendalikan sebuah robot tanpa membentur rintangan, sensor harus
dipasang pada robot untuk merasakan lingkungan dan menginterprestasikan informasi yang dirasakan. Banyak sensor yang dapat digunakan seperti Infra Red, Ultrasonic, CCD, sensor laser, sistem penentuan posisi dan sebagainya. Penelitian ini menggunakan sensor Sharp GP2D12 dan Sharp GP2D120 dengan pertimbangan jarak jangkauan, kemudahan dalam penggunaannya dan biaya yang murah.
Universitas Sumatera Utara
19
2.4.1. Sharp GP2D12 Sensor Sharp GP2D12 adalah sensor jarak yang menggunakan infra merah. Sensor ini dapat mendeteksi objek dengan jarak antara 10 cm s.d. 80 cm.
Output
dari sensor ini bersifat non linear dan merupakan tegangan analog, karena output tidak linear maka dibutuhkan suatu cara untuk menentukan jarak yang sesuai dengan tegangan. Salah satu cara kalibrasi sensor adalah dengan melakukan pengukuran output sensor untuk setiap jarak tetap (dalam cm) seperti yang ditunjukkan pada Gambar 2.7.
Gambar 2.7 Contoh karakteristik sensor Sharp GP2d12 [9].
Universitas Sumatera Utara
20
2.4.2. Sharp GP2D120 Sensor Sharp GP2D120 adalah sensor pengukur jarak dengan pemrosesan sinyal terintegrasi dengan output berupa tegangan analog. Gambar 2.8 menunjukkan grafik output sensor Sharp GP2D120.
Gambar 2.8. Contoh karakteristik output sensor Sharp GP2D120 [10].
Universitas Sumatera Utara
21
Berikut ini fitur sensor Sharp GP2D120:
2.5.
a.
Output analog
b.
Efektif pada kisaran: 4 cm sampai 30 cm
c.
Waktu respon: 39 ms
d.
Delay star-up: 44 ms
e.
Konsumsi arus rata-rata: 33 mA
Teknik Pengaturan kecepatan motor DC Pulse Width Modulation (PWM) adalah salah satu cara untuk mengatur
kecepatan motor DC dengan menggunakan sember tegangan DC tetap, yaitu dengan mengalihkan cepat antara kondisi ON dan OFF pada frekuensi tertentu. Untuk mendapatkan perputaran motor DC yang halus biasanya frekuensi yang di gunakan adalah 1 KHz atau lebih. Gambar 2.9. menggambarkan bentuk sinyal PWM. Kondisi ON (logika high) sebagai lebar pulsa yang diatur adalah t, dengan periode adalah T, seperti yang ditunjukkan pada persamaan 2.21. T =
1 ................................................... (2.21) f
Gambar 2.9 Sinyal PWM
Universitas Sumatera Utara
22
Rasio perbandingan antara kondisi ON dengan periode sinyal disebut dengan duty cycle, dinyatakan dengan rumus: duty cycle =
t x 100% ....................... (2.22) T
Besar persentase duty cycle dengan kecepatan motor adalah berbanding lurus, dimana semakin besar duty cycle maka arus rata-rata yang melalui motor juga semakin besar sehingga motor bergerak semakin cepat. Demikian juga sebaliknya semakin kecil duty cycle semakin lambat gerakan motor DC.
2.6.
Sistem Kontrol Embedded system merupakan sistem berbasis komputer (computer-based)
yang diprogram untuk tugas tertentu, dan ditanamkan sebagai satu bagian didalam sistem komputer atau didalam suatu peralatan dan kadang-kadang tidak menampakkan bahwa peralatan itu dikendalikan oleh komputer [11]. Mikrokontroler sangat mendukung perkembangan sistem kendali otomatis dari suatu device atau peranti-peranti pengontrol suatu peralatan yang dapat berdiri sendiri (stand alone). Tujuan dari setiap sistem kendali adalah menghasilkan keluaran untuk masukan yang diberikan [12]. Prosesor yang paling banyak digunakan dalam embedded system adalah mikrokontroller, walaupun ada juga yang menggunakan mikroprosesor atau digital signal processor. Pada penelitian ini digunakan mikrokontroller ATMega 8535 dari rumpun AVR.
Universitas Sumatera Utara
23
Mikrokontroler AVR (Alf and Vegard’s Risc Processor) memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam satu siklus instruksi clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Perbedaan tersebut dikarenakan arsitektur yang digunakan berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan MCS-51 berteknologi CISC (complex Instruction Set Computing). Secara umum AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx.
2.6.1. Fitur ATMega 8535 Kapabilitas detail dari ATMega 8535 adalah sebagai berikut: 1.
Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
2.
Kapabilitas memory flash 8 KB, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.
3.
ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4.
Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
5.
Enam pilihan mode sleep mengemat penggunaan daya listrik.
Universitas Sumatera Utara
24
2.6.2. Konfigurasi pin ATMega 8535 Gambar 2.10. menunjukkan konfigurasi pin ATMega 8535.
Gambar 2.10. Konfigurasi pin ATMega 8535 [13].
Dari Gambar 2.10. dapat dijelaskan secara fungsional pin ATMega 8535 sebagai berikut: 1.
VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.
2.
GND merupakan pin ground.
3.
Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.
4.
Port B (PB0.. PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog,dan SPI.
Universitas Sumatera Utara
25
5.
Port C (PC0.. PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog dan timer oscillator.
6.
Port D (PD0.. PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan Komunikasi serial.
2.7.
7.
RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8.
XTAL1 dan XTAL2 merupakan pin masukan clock ekstenal.
9.
AVCC merupakan pin masukan tegangan untuk ADC.
10.
AREF merupakan pin masukan tegangan Referensi ADC.
Konsep behavior based robotic Pendekatan yang biasa digunakan dalam membangun sistem kendali robot
adalah dengan menguraikan setiap permasalahan kedalam rangkaian unit fungsional sebagaimana ditunjukkan pada Gambar 2.11.
Gambar 2.11 Teknik penguraian tradisional untuk sistem kendali mobile robot kedalam unit-unit fungsional [14]
Universitas Sumatera Utara
26
Berbeda dengan pendekatan di atas, Behavior Based Robotic (BBR) merupakan sistem kontrol yang didesain dengan menggunakan pendekatan task achieving behaviors (perilaku pencapaian tugas) sebagaimana ditunjukkan pada Gambar 2.12. Tiap tugas disebut dengan behavior.
Gambar 2.12. Dekomposisi sistem kendali mobile robot dengan task achieving behaviors [14]
Metode dekomposisi ini memiliki arsitektur mobile robot yang sangat berbeda dengan dekomposisi yang berdasarkan unit fungsional (Gambar 2.10.), perbedaan secara hardware dan sejumlah kelebihan lain seperti robustness, buildability, dan testability. Arsitektur subsumption adalah arsitektur BBR yang diusulkan oleh Rodney Brooks [14].
Dalam
membangun robotnya,
Rodney Brooks menguraikan
permasalahan sistem kendali robot sesuai dengan manifestasi luar yang diinginkan oleh sistem kendali robot, tidak berdasarkan pada operasi internal dari sistem kendali
Universitas Sumatera Utara
27
robot sebagaimana yang dilakukan oleh beberapa peneliti sebelumnya. Karena itu, dia mendefenisikan sejumlah level kompetensi untuk robot mobil mandiri. Level kompetensi adalah spesifikasi informal dari sekelompok perilaku yang diinginkan robot bekerja pada semua lingkungan yang akan dihadapi. Level kompetensi yang lebih tinggi menunjukkan kelompok perilaku yang spesifik. Berikut ini, beberapa level kompetensi yang didefinisikan: 0.
Menghindari kontak dengan objek, baik objek bergerak ataupun objek tetap.
1.
Berkeliling tanpa tujuan tanpa mengenai sesuatu.
2.
Menjelajah dunianya dengan melihat tempat-tempat yang masih bisa dilihat dan mengarahkan dirinya ke tempat tersebut.
3.
Membangun peta dan merencanakan rute dari satu tempat ke tempat yang lain.
4.
Mencatat perubahan dalam lingkungan “statis”.
5.
Memikirkan dunia dalam bentuk objek yang dapat dikenali dan melakukan tugas yang berhubungan dengan objek tertentu.
6.
Merumuskan dan melaksanakan rencana yang melibatkan perubahan keadaan dari dunia dengan cara yang diinginkan.
Tiap level kompetensi memasukkan sub kelompok dari setiap level kompetensi sebelumnya. Karena level kompetensi mendefinisikan kelompok perilaku yang valid, dapat dianggap bahwa level yang lebih tinggi memberikan tambahan batasan pada kelompok perilaku tersebut.
Universitas Sumatera Utara
28
Rodney Brooks memulai dengan membangun sistem kendali robot yang melaksanakan level kompetensi 0. Perbaikan kesalahan dilakukan dengan teliti. Dia tidak pernah mengubah sistem ini dan menyebutnya sistem kendali level 0. Selanjutnya dibangun lapisan kontrol yang lain yang disebut sistem kontrol level kesatu. Level ini dapat menguji data dari level 0 dan juga di izinkan untuk menyuntikkan data ke dalam internal interface level 0 menekan data normal yang mengalir. Lapisan ini, dengan tambahan dari lapisan 0 melaksanakan kompetensi 1. Lapisan ke nol melanjutkan untuk bekerja tanpa mengetahui lapisan diatasnya yang terkadang mengganggu aliran datanya. Proses yang sama diulangi untuk mendapatkan level kompentensi yang lebih tinggi, sebagaimana ditunjukkan pada Gambar 2.13.
. Gambar 2.13 Arsitektur Subsumption [14]
2.8.
Logika fuzzy Pada pertengahan 1960, Prof. Lotfi A. Zadeh dari University of California di
Barkeley menemukan bahwa hukum benar dan salah dari logika Boolean tidak memperhitungkan beragam kondisi yang nyata [12]. Nilai keanggotaan logika
Universitas Sumatera Utara
29
Boolean adalah 0 atau 1, sedangkan dalam logika fuzzy nilai keanggotaan bernilai antara 0 dan 1. Logika fuzzy dapat dikatakan sebagai logika baru yang lama, sebab ilmu tentang logika fuzzy modern baru ditemukan pada tahun 1965, padahal sebenarnya konsep tentang fuzzy logic itu sendiri sudah ada sejak lama [15]. Prof. Lotfi A. Zadeh merupakan pencetus sekaligus yang memasarkan ide tentang mekanisme pengolahan atau manajemen ketidakpastian yang kemudian dikenal dengan logika fuzzy. Gambar 2.14. menunjukkan konsep dasar logika fuzzy.
Label
Degree of Membership Function (derajat keanggotaan)
Zero
Positive Big
1 Membership Function (fungsi keanggotaan)
0,8
Crisp input (masukan crisp)
0,2 0
0
10
18 20
30
Scope/Domain Daerah batasan crisp
Gambar 2.14. Konsep dasar logika fuzzy [15]
Logika fuzzy adalah metodologi sistem kontrol pemecahan masalah yang cocok di implementasikan mulai dari sistem yang sederhana, sistem kecil, embedded
Universitas Sumatera Utara
30
system, jaringan PC, multi-channel atau workstation berbasis akuisisi data, dan sistem kontrol. Metodologi ini dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi keduanya [5].
2.8.1. Fungsi keanggotaan Gambar 2.15. menunjukkan grafik keanggotaan.
µ [x
]
µ [x
]
µ [x
]
µ [x ]
ℜ1
ℜn
Gambar 2.15 Grafik keanggotaan [5]
Universitas Sumatera Utara
31
Keterangan Gambar 2.15: a. Grafik keanggotaan kurva segitiga Fungasi keanggotaannya:
µ (x )
0; x ≤ a atau x ≥ c = ( x − a ) / (b − a ); a ≤ x ≤ b ............ (2.23) (b − x ) / (c − b ); b ≤ x ≤ c
b. Grafik keanggotaan kurva trapesium Fungsi keanggotaannya:
µ (x )
0; x ≤ a atau x ≥ d ( x − a ) / (b − a ); a ≤ x ≤ b ............ (2.24) = 1 ; b ≤ x ≤ c (b − x ) / (c − b ); b ≤ x ≤ c
c. Grafik keanggotaan kurva bahu Fungsi keanggotaannya:
µ (x )
1; 0 ≤ x ≤ a atau c ≤ x ≤ d = (b − x ) / (b − a ); a ≤ x ≤ b ........ (2.25) ( x − b ) / (c − b ); b ≤ x ≤ c
d. Grafik keanggotaan kurva GAUSS Fungsi keanggotaannya: G ( x; L, c ) = e − L ( c − x ) ................................. (2.26) 2
Universitas Sumatera Utara
32
Fungsi keanggotaan (membership function) adalah grafik yang mewakili besar dari derajat keanggotaan masing-masing variabel input yang berada antara 0 dan 1. Derajat keanggotaan sebuah variabel x dilambangkan dengan simbol µ ( x ) . Rule menggunakan nilai keanggotaan sebagai faktor bobot untuk menentukan pengaruhnya pada saat melakukan inferensi untuk menarik kesimpulan. Pada penelitian ini fungsi keanggotaan input menggunakan Grafik keanggotan bahu dan Grafik keanggotaan segitiga.
2.8.2. Operasi himpunan fuzzy Operasi himpunan fuzzy diperlukan untuk proses inferensi atau penalaran. Dalam hal ini yang dioperasikan adalah derajat keanggotaannya. Derajat keanggotaan sebagai hasil dari operasi dari dua buah himpunan fuzzy disebut sebagai fire strength atau α-predikat.
2.8.2.1.Operasi gabungan (union) Operasi gabungan (sering disebut operator OR) dari himpunan fuzzy A dan B dinyatakan sebagai A ∪ B . Dalam sistem logika fuzzy, operasi gabungan disebut sebagai Max. Operasi Max ditulis dengan persamaan berikut: µ A∪ B ( x ) = max .{µ A ( x ), µ B ( x )} untuk setiap x ∈ X .. (2.27) Derajat keanggotaan setiap unsur himpunan fuzzy A ∪ B adalah derajat keanggotaannya pada himpunan fuzzy A atau B yang memiliki nilai terbesar.
Universitas Sumatera Utara
33
2.8.2.2.Operasi irisan (intersection) Operasi irisan (sering disebut operator AND) dari himpunan fuzzy A dan B dinyatakan sebagai A ∩ B . Dalam sistem logika fuzzy, operasi irisan disebut sebagai Min. Operasi Min ditulis dengan persamaan berikut: µ A∩ B ( x ) = min .{µ A ( x ), µ B ( x )} untuk setiap x ∈ X ... (2.28) Derajat keanggotaan setiap unsur himpunan fuzzy A ∩ B adalah derajat keanggotaannya pada himpunan fuzzy A dan B yang memiliki nilai terkecil.
2.8.2.3.Operator komplemen (complement) Bila himpunan fuzzy A pada himpunan universal X mempunyai fungsi keanggotaan µ A ( x ) maka komplemen dari himpunan fuzzy A (sering disebut NOT) adalah himpunan fuzzy A C untuk fungsi keanggotaan untuk setiap x elemen X. µ AC ( x ) = 1 − µ A ( x ) . ............................. (2.29)
2.8.3. Penalaran Monoton Penalaran monoton digunakan untuk merealisasikan himpunan Fuzzy A pada variabel x dan himpunan Fuzzy B pada variabel y dengan cara membuat implikasi berikut: IF x is A THEN y is B. ............................... (2.30)
Universitas Sumatera Utara
34
2.8.4. Fungsi Implikasi Dalam basis pengetahuan fuzzy, tiap-tiap rule selalu berhubungan dengan relasi fuzzy. Dalam fungsi implikasi, biasanya digunakan bentuk berikut: IF x is A THEN y is B ................................ (2.31) Dengan x dan y adalah skalar, A dan B adalah himpunan fuzzy. Proposisi setelah IF disebut sebagai anteseden, sedangkan proposisi setelah THEN disebut sebagai konsekuen. Dengan menggunakan operator fuzzy, proposisi ini dapat diperluas sebagai berikut:
(
)(
)(
)
(
)
IF x1 is A1 • x 2 is A2 • x3 is A3 • ..... • x N is AN THEN y is B ........ (2.32) Dengan • adalah operator OR atau AND. Secara umum, ada 2 fungsi implikasi dapat digunakan yaitu: a.
Min (minimum). Fungsi ini digunakan untuk mendapatkan nilai αpredikat hasil implikasi dengan cara memotong output himpunan fuzzy sesuai dengan derajat keanggotaannya yang terkecil.
b.
Dot (Product). Fungsi ini digunakan untuk mendapatkan nilai α-predikat hasil implikasi dengan cara menskala output himpunan fuzzy sesuai dengan derajat keanggotaan yang terkecil.
2.8.5. Cara kerja logika fuzzy Cara kerja logika fuzzy meliputi beberapa tahapan berikut: a. Fuzzyfikasi
Universitas Sumatera Utara
35
b. Pembentukan basis pengetahuan fuzzy (Rule dalam bentuk IF … THEN) c. Mesin inferensi (Fungsi implikasi Max-Min atau Dot-Product) d. Defuzzyfikasi Banyak cara untuk melakukan defuzzyfikasi, diantaranya metode berikut : i.
Metode rata-rata (Weighted Average) z* =
ii.
∑µ z ∑ µi
i i
........................................... (2.33)
Metode titik tengah (Center Of Area) z* =
∫ µ (z )zdz ........................................ (2.34) ∫ µ (z )dz
2.8.6. Sistem inferensi fuzzy Pada fuzzy inference system dikenal tiga model yang umum digunakan, yaitu metode fuzzy Tsukamoto, metode fuzzy Mamdani, dan metode fuzzy Sugeno. a.
Metode Tsukamoto Secara umum bentuk model fuzzy Tsukamoto adalah seperti persamaan 2.35. IF (X IS A) and (Y IS B) then (Z IS C) ....... (2.35) Dimana A, B, dan C adalah himpunan fuzzy. Dalam inferensinya, metode Tsukamoto menggunakan tahapan berikut: i. Fuzzyfikasi
Universitas Sumatera Utara
36
ii. Pembentukan basis pengetahuan fuzzy (rule dalam bentuk IF …THEN) iii. Mesin inferensi Menggunakan fungsi implikasi MIN untuk mendapatkan nilai α − predikat
tiap-tiap rule α 1 , α 2 , α 3 ...α N ( α − predikat atau fire
strength merupakan nilai keanggotaan sebagai hasil dari operasi 2 himpunan), kemudian masing-masing α − predikat digunakan untuk menghitung keluaran hasil inferensi secara tegas (crisp) masingmasing rule ( z1 , z 2 , z 3 ,...z N ) . iv. Defuzzyfikasi Menggunakan metode Metode rata-rata (Weighted Average) seperti yang ditunjukkan pada persamaan 2.33. b.
Metode Mamdani Metode mamdani menggunakan operasi MIN-MAX atau MAXPRODUCT. Untuk mendapatkan output diperlukan 4 tahapan berikut: v.
Fuzzyfikasi
vi. Pembentukan basis pengetahuan fuzzy (rule dalam bentuk IF …THEN) vii. Aplikasi fungsi implikasi menggunakan fungsi MIN dan komposisi antar-rule menggunakan fungsi MAX (menghasilkan himpunan fuzzy baru).
Universitas Sumatera Utara
37
viii. Defuzzyfikasi Menggunakan metode Metode rata-rata (Weighted Average) seperti yang ditunjukkan pada persamaan 2.37. c.
Metode Sugeno Penalaran dengan metode SUGENO hampir sama dengan penalaran MAMDANI, hanya saja output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linear. Metode ini diperkenalkan oleh Takagi-Sugeno-Kang pada tahun 1985. Secara umum ada dua model pada sistem inferensi Sugeno, yaitu: i.
Metode fuzzy Sugeno orde-Nol Secara umum bentuk fuzzy Sugeno orde-Nol seperti yang ditunjukkan pada persamaan 2.36. IF( x1 is A1 ) • (x2 is A2 ) • (x3 is A3 ) • ... • (x N is AN ) THEN z = k ...... (2.36)
Dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan k adalah suatu konstanta (crisp) sebagai konsekuen. ii.
Metode fuzzy Sugeno orde-Satu Secara umum bentuk model fuzzy Sugeno orde-Satu adalah seperti yang ditunjukkan pada persamaan 2.37. IF(x1 is A1 ) • ... • ( xN is AN ) THENz = p1 * x1 + ... + p N * xN + q .... (2.37)
Universitas Sumatera Utara
38
Dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan pi adalah suatu konstantan (crisp) ke-i dan q merupakan konstanta dalam kosekuen. Dalam inferensinya, metode Sugeno menggunakan tahapan sebagai berikut: 1.
Fuzzyfikasi
2.
Pembentukan basis pengetahuan fuzzy (rule dalam bentuk IF …THEN)
3.
Mesin inferensi Menggunakan fungsi implikasi MIN untuk mendapatkan nilai α − predikat tiap-tiap rule (α 1 , α 2 , α 3 ...α N ) , kemudian masingmasing α − predikat digunakan untuk menghitung keluaran hasil inferensi secara tegas (crisp) masing-masing rule ( z1 , z 2 , z 3 ,...z N ) .
4.
Defuzzyfikasi Menggunakan metode Metode titik tengah (Center Of Area) seperti yang ditunjukkan pada persamaan 2.33.
2.9.
Penelitian terkait Penelitian yang dilakukan oleh Lu, Hung-Ching., and Chuang, Chih-Ying
[16], menyajikan masalah metode navigasi berdasarkan teori himpunan fuzzy. Penelitian ini terdiri dari dua perilaku, yaitu perilaku pencari tujuan (goal seeking
Universitas Sumatera Utara
39
behavior) dan perilaku menghindari rintangan (obstacle avoidance behavior). Mobile robot yang digunakan jenis wheeled mobile robot tipe CLMR. Penelitian ini menggunakan tiga buah sensor infra merah yang diletakkan pada kiri, tengah, dan kanan mobile robot. Pada penelitian ini mengasumsikan hanya ada satu hambatan. Kekurangan dari penelitian ini adalah kemampuan menghindari rintangan belum kompleks, pada perilaku menghindari rintangan belum mempertimbangkan rintangan yang meyinggung lintasan pada sudut kemudi maksimum dan menghindari rintangan cekung. Penelitian yang dilakukan oleh Ouadah, Noureddine., et.al [7], membahas teknik baru yang digunakan untuk melakukan tugas penentuan posisi berorientasi pada sebuah mobile robot non holonomic, menggunakan dua pengendali dengan menggunakan FLC. Pengendali pertama digunakan untuk “simple positioning”, telah di uji pada simulasi dan di implementasikan. Kemudian dikombinasikan dengan pengendali ke dua, yang digunakan untuk “virtual following” untuk menyelesaikan tugas yang di inginkan. Eksperimen real-time telah dilakukan pada CLMR “Robucar”. Hasil yang diperoleh menunjukkan efektivitas teknik yang dirancang. perilaku yang dimiliki mobile robot ini adalah
pencari tujuan (goal seeking
behavior). Kekurangan pada penelitian ini belum mengikutsertakan kemampuan menghindari rintangan. Penelitian yang dilakukan oleh Quing-Yong, BAO., et.al [2], membahas sebuah arsiteketur berbasis perilaku dengan menggunakan logika fuzzy (fuzzy behavior-based) untuk navigasi mobile robot dalam lingkungan yang tidak diketahui.
Universitas Sumatera Utara
40
Mobile robot memiliki empat behavior, yaitu goal seeking behavior, obstacle avoidance behavior, tracking behavior, dan deadlock disarming behavior. behaviorcontroller dirancang untuk mengintegrasikan ke-empat behavior. Sensor yang digunakan pada penelitian ini adalah sensor ultrasonic yang berjumlah 6 buah. Penempatan sensor dibagi menjadi 3 kelompok, yaitu kiri, depan dan kanan. Masingmasing kelompok terdiri dari 2 sensor ultrasonic. Hasil simulasi eksperimental menunjukkan bahwa arsitektur yang dirancang memungkinkan mobile robot mencapai tujuan dengan aman tanpa bertabrakan. Kekurangan dari penelitian ini belum adanya perilaku mundur untuk menghindari rintangan saat perilaku menghindari rintangan dengan gerak maju tidak dapat dilaksanakan dengan baik yang diakibatkan sudut kemudi masimum yang dimiliki tidak dapat melewati rintangan atau keluar dari kondisi kebuntuan dengan lebar koridor kurang dari radius putar maksimum yang dimiliki. Penelitian yang dilakukan oleh Duan, Suolin., et.al [17], membahas sistem kendali mobile robot dengan perilaku menghindari rintangan (obstacle avoidance behavior) dengan menggunakan fuzzy planner. Mobile robot yang digunakan jenis wheeled mobile robot dengan tiga roda, dengan penggerak diferensial. Sensor yang digunakan pada penelitian ini menggunakan infra merah. Pengendali gerak roda kiri dan kanan dilakukan dengan sistem close loop ganda. Hasil percobaan menunjukkan efek navigasi yang sangat baik untuk memastikan mobile robot dapat menghindari rintangan dalam lingkungan yang tidak diketahui. Penelitian ini menggunakan
Universitas Sumatera Utara
41
penggerak diferensial drive dengan tiga roda yang memiliki kelemahan mudah goyah dan kesulitan pada medan kasar. 2.9.1. Persamaan dengan penelitian lainnya Penelitian ini memiliki beberapa kesamaan dengan penelitian yang dilakukan oleh Quing,Yong, BAO., et.al [2], yaitu menggunakan gabungan metode behaviorbased dan FLC sebagai sistem kendali untuk navigasi mobile robot pada lingkunan yang tak dikenal, selain itu terdapat dua perilaku yang sama yaitu goal seeking behavior dan obstacle avoidance behavior. Penelitian ini menggunakan mobile robot tipe CLMR seperti yang dilakukan peneliti Lu, Hung-Ching., dan Chuang, Chih-Ying [16] dan Duan, Suolin., et.al [17].
2.9.2. Perbedaan dengan penelitian lainnya Terdapat perbedaan pada penelitian yang dilakukan penulis dengan peneliti lainnya. Secara hardware penelitian ini menggunakan 5 buah sensor jarak, dengan pengaturan sensor, tiga sensor ditempatkan pada bagian depan yang dibagi menjadi tiga posisi, yaitu depan kiri, depan tengah, dan depan kanan (menggunakan sensor Sharp GP2D12) dan dua sensor ditempatkan pada bagian belakang dengan dua posisi, yaitu belakang kanan dan belakang kiri (menggunakan sensor Sharp GP2D120). Sedangkan peneliti Quing,Yong, BAO., et.al [2] menggunakan enam buah sensor ultrasonic yang dibagi menjadi tiga kelompok, yaitu depan kiri, depan tengah, dan depan kanan. Masing-masing kelompok terdiri dari dua sensor ultrasonic.
Universitas Sumatera Utara
42
Secara sotftware penelitian ini menggunakan tiga basic-behavior, yaitu goal seeking behavior, obstacle avoidance behavior, dan move backward behavior. Sedangkan peneliti Quing,Yong, BAO., et.al [2] menggunakan empat basic-behavior, yaitu goal seeking behavior, obstacle avoidance behavior, tracking behavior, dan deadlock disarming behavior. Pada behavior-controller penelitian ini menggunakan batas ambang untuk mendeteksi adanya rintangan, ditetapkan 75 cm untuk sensor depan tengah dan 50 cm untuk sensor depan kiri dan depan kanan. Sedangkan peneliti Quing,Yong, BAO., et.al [2] menetapkan batas ambang masing-masing 2 m. Pada penelitian ini akan mengembangkan teknik menghindari rintangan untuk navigasi CLMR dalam lingkungan tak dikenal. Selain dengan obstacle avoidance behavior juga menggunakan kombinasi obstacle avoidance behavior dan move backward behavior
pada saat obstacle avoidance behavior sendiri tidak dapat
berjalan dengan baik yang mungkin disebabkan keterbatasan sudut kemudi maksimum yang dimiliki CLMR saat menemui rintangan dengan jarak relatif dekat (lintasan CLMR yang dibentuk sudut kemudi maksimum masih menyinggung rintangan) atau CLMR menemui rintangan cekung dengan lebar rintangan ≤ diameter lintasan yang terbentuk dengan sudut kemudi maksimum (rintangan yang membawa robot kedalam kondisi kebuntuan). Dengan adanya perilaku mundur permasalahan keterbatasan sudut kemudi dapat diatasi dengan kombinasi menghindari rintangan dengan arah maju (yang dikendalikan obstacle avoidance behavior) dan menghindari rintangan dengan arah mundur (yang dikendalikan move backward behavior).
Universitas Sumatera Utara