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.
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.
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.
φ
φ
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.( )
( )
t R t k = 1 ... (2.1)( )
( )
L t t k = tanφ ... (2.2)( )
( )
ds t d t k = θ ... (2.3) 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.
dt ds ds d dt d . θ θ θ• = = ... (2.4)
( ) ( )
t t k ν θ = . • ... (2.5)( )
t L ν φ θ = tan . • ... (2.6) 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 menggunakanpersamaan Fresnel, biasanya digunakan dalam navigasi inersia, Persamaan 2.7 s.d. 2.9 menunjukkan persamaan dinamika
(
x, y,θ)
.( )
t( )
t dt dx x = = ν . cosθ • ... (2.7)( )
t( )
t dt dy y = = ν . sinθ • ... (2.8)( )
( )
L t t dt d φ ν θ θ = = . tan • ... (2.9) 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,yt), 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:
2 2 y x EP = ∆ + ∆ ... (2.10) θ θ − ∆ = O E ... (2.11) x x x = t − ∆ ... (2.12) y y y = t − ∆ ... (2.13) ∆ ∆ = ∆ − x y 1 tan θ ... (2.14)
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
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
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.
β
sin e
R= ... (2.15)
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.
2 w -e -sin e 2 w -e -R R 2 2 2 2 2 i β = = ... (2.16) 2 w -tan e Ri β = ... (2.17)
(
) (
2)
2 i e R - w e p R = + + ... (2.18)(
) (
2)
2 i e R w e p R = + + + ... (2.19)(
)
2 2 2 2 e e p 2 w e -R R + + + = ... (2.20)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
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
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.
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.
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.
Berikut ini fitur sensor Sharp GP2D120: 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
2.5. 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.
f
T = 1 ... (2.21)
Rasio perbandingan antara kondisi ON dengan periode sinyal disebut dengan duty
cycle, dinyatakan dengan rumus:
% 100 x T t cycle duty = ... (2.22) 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
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 MCS-51 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.
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,
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. 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.
2.7. 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]
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
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.
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
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.
0 10 18 20 30 0 0,2 0,8 1 Degree of Membership Function (derajat
keanggotaan) Zero Positive Big
Label Membership Function (fungsi keanggotaan) Crisp input (masukan crisp) 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
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
Keterangan Gambar 2.15:
a. Grafik keanggotaan kurva segitiga Fungasi keanggotaannya:
( )
(
) (
)
(
) (
)
≤ ≤ − − ≤ ≤ − − ≥ ≤ = c x b b c x b b x a a b a x c x atau a x x ; / ; / ; 0 µ ... (2.23)b. Grafik keanggotaan kurva trapesium Fungsi keanggotaannya:
( )
(
) (
)
(
) (
)
≤ ≤ − − ≤ ≤ ≤ ≤ − − ≥ ≤ = c x b b c x b c x b b x a a b a x d x atau a x x ; / ; 1 ; / ; 0 µ ... (2.24)c. Grafik keanggotaan kurva bahu Fungsi keanggotaannya:
( )
(
) (
)
(
) (
)
≤ ≤ − − ≤ ≤ − − ≤ ≤ ≤ ≤ = c x b b c b x b x a a b x b d x c atau a x x ; / ; / 0 ; 1 µ ... (2.25)d. Grafik keanggotaan kurva GAUSS Fungsi keanggotaannya:
(
)
( )2 , ; Lc x e c L x G = − − ... (2.26)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:
( )
x{
A( ) ( )
x B x}
x X BA∪ = max.µ ,µ untuk setiap ∈
µ .. (2.27)
Derajat keanggotaan setiap unsur himpunan fuzzy A∪B adalah derajat keanggotaannya pada himpunan fuzzy A atau B yang memiliki nilai terbesar.
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:
( )
x{
A( ) ( )
x B x}
x X BA∩ = min.µ ,µ untuk setiap ∈
µ ... (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 untuk fungsi keanggotaan untuk setiap x elemen X. C( )
x A( )
xAC µ
µ = 1 − . ... (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:
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:
(
x is A) (
x is A) (
x is A)
...(
xN is AN)
THEN y is BIF 1 1 • 2 2 • 3 3 • • ... (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
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)
∑
∑
= i z z i i µ µ * ... (2.33)ii. Metode titik tengah (Center Of Area)
( )
( )
∫
∫
= dz z zdz z z µ µ * ... (2.34)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:
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) masing-masing rule (z1,z2,z3,...zN).
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 MAX-PRODUCT. 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
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.
(
x isA) (
• x isA) (
• x isA)
•...•(
xN isAN)
THENz=kIF 1 1 2 2 3 3 ... (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.
(
x isA)
•...•(
xNisAN)
THENz= p *x +...+pN*xN +qDengan 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 masing-masing α−predikat digunakan untuk menghitung keluaran hasil inferensi secara tegas (crisp) masing-masing rule (z1,z2,z3,...zN). 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
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.
Mobile robot memiliki empat behavior, yaitu goal seeking behavior, obstacle avoidance behavior, tracking behavior, dan deadlock disarming behavior. behavior-controller 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. Masing-masing 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
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
behavior-based 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
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).