KONTROL POSISI ROBOT MOBIL MENGGUNAKAN LOGIKA FUZZY DENGAN SENSOR ULTRASONIK
KONTROL POSISI ROBOT MOBIL
MENGGUNAKAN LOGIKA FUZZY DENGAN SENSOR ULTRASONIK
Darwison, M. Ilhamdi Rusydi dan Rico Fajri
Laboratorium Elektronika Industri Jurusan Teknik Elektro Universitas Andalas
ABSTRAK
Penelitian ini bertujuan membuat kontrol posisi robot mobil dengan menggunakan sensor ultrasonik
sebagai pengukur jarak dan encoder untuk penghitung kecepatan robot mobil. Dengan menerapkan
metoda logika fuzzy akan membuat pergerakan servomotor DC dari robot mobil bergerak lebih halus.
Logika fuzzy merupakan suatu hubungan ketidakpastian sesuatu yang tidak mempunyai suatu batas jelas
kedalam suatu persamaan matematis yang mudah dimengerti. Fungsi keanggotaan menggunakan segitiga
dan dinyatakan secara numerik serta Metoda inference yang digunakan adalah metode Mandani. Hasil-
hasil percobaan menunjukkan bahwa semakin dekat jarak akan membuat pergerakan robot mobil semakin
lebih halus. Encoder mempunyai rata-rata persentase kesalahan sebesar 22.38% dan sensor ultrasonic
mempunyai rata-rata perubahan waktu per 2 cm yaitu 0.114546 ms dengan kesalahan sebesar 4,14%.Kata Kunci : robot mobil, logika fuzzy dan kontrol posisi.
1.2 Tujuan Penelitian
I. PENDAHULUAN
Ada dua tujuan penelitian, yakni:
1. Agar dapat merancang dan membuat
1.1 Latar Belakang
sebuah sistem kontrol posisi servomotor DC. Robot mobil adalah tipe robot yang
2. Agar dapat robot mobil bergerak lebih paling populer dalam dunia penelitian robot. halus dengan bantuan logika fuzzy. Manfaat robot mobil antara lain dapat membantu manusia dalam melakukan otomasi
1.3 Manfaat Penelitian
dalam transportasi, platform bergerak untuk robot industri, dan eksplorasi tanpa awak.
Penelitian ini adalah suatu usaha untuk Menurut Endra[1], untuk fokus penelitian dapat memberlakukan servomotor dc sebagai dalam domain robotik dapat dikelompokkan pengendali posisi dengan menerapkan logika kedalam analisa dinamik yaitu untuk fuzzy. Keberhasilan metoda ini sebagai materi mendapatkan disain kontrol yang lasak (robust) penelitian diharapkan dapat memberikan hasil yang mampu meredam gangguan dengan baik yang lebih efektif tanpa membutuhkan dan analisa kinematik yaitu konfigurasi robot formulasi matematis yang rumit dalam yang benar-benar baru dengan mengkaji menyelesaikan masalah, sehingga dapat persamaan kinematik dan kontrol dasarnya. berguna untuk kemajuan dunia industri dan
Namun pada penelitian terkini tentang kontrol khususnya bidang yang berhubungan dengan robot dengan aplikasi kecerdasan buatan lebih masalah kontrol servomotor dc. banyak dilakukan dengan tujuan untuk memperoleh kontrol kinematik yang lebih
1.4 Batasan Masalah
canggih, seperti kemampuan untuk menghindari tabrakan sesama robot. Berdasarkan hal tersebut
Adapun masalah yang akan diteliti yaitu
maka dilakukan penelititan untuk merancang
Bagaimana merancang kontrol posisi (melibatkan sensor ultrasonik dan encoder) agar dapat menjadi
dan Implementasi Kontrol posisi Robot Mobil
input logika fuzzy, sehingga menghasilkan
Menggunakan Logika Fuzzy dengan Sensor pergerakan robot mobil yang lebih halus. Ultrasonik.
II. TINJAUAN PUSTAKA
output . Secara sintaks, suatu aturan fuzzy
Sistem berbasis aturan fuzzy terdiri dari tiga komponen utama yaitu Fuzzification, Inference
Sebagai bahan perbandingan antara lain oleh Muhammad I.R. (2004) dengan judul penelitian “Perancangan Dan Implementasi Sistem Kendali PID Adaptif Pada Pergerakan SYNCBOT” dengan encoder sebagai penentuan kecepatan motor. Dan penelitian tentang kontrol posisi yaitu oleh Ahmad Rivai (2008) dengan judul “Perancangan Dan Implementasi Kendali Cerdas Logika Fuzzy Pada Kontrol Posisi Motor Servo AC”. Serta penelitian dengan menggunakan sensor ultrasonik oleh Febry Yadi Z (2009) dengan judul “Robot Cerdas Pengangkut Box dengan Sensor Ultrasonik Sebagai Navigasi Berbasis Mikrokontroller”.
menggunakan fuzzy input dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy
Inference Inference melakukan penalaran
masukan yang nilai kebenarannya bersifat pasti (crisp input) ke dalam fuzzy input, yang berupa nilai linguistik yang semantiknya ditentukan berdasarkan fungsi keanggotaan tertentu.
Fuzzification Fuzzification mengubah masukan-
dan Defuzzification.
2.1 Logika Fuzzy
; ) ( ; , ;
fuzzy set A 1 .
Teori tentang fuzzy set atau himpunan samar pertama kali dikemukakan oleh Lotfi Zadeh sekitar tahun 1965 pada sebuah makalah yang berjudul ”Fuzzy Sets” yaitu dapat merepresentasikan dan menangani masalah ketidakpastian yang dalam hal ini bisa berarti keraguan, ketidakpastian, kekurangan lengkapan informasi, dan kebenaran yang bersifat sebagian[5].
crisp y.
dimana y adalah nilai crisp dan µ(y) adalah derajat keanggotaan dari nilai
µ µ
) (
) (
Metode ini mengambil nilai rata-rata dengan mengunakan pembobotan berupa derajat keanggotaan. Sehingga y* didefinisikan sebagai:
Weigthed Average
menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan. Terdapat berbagai metode defuzzification yang telah berhasil diaplikasikan untuk berbagai macam masalah dan pada penelitian ini menggunakan metoda weigthed average.
Defuzzification Defuzzification mengubah fuzzy output
IF x 1 is A 1 AND ... AND x n is A n THEN y is B dimana A 1 , ..., A n , dan B adalah nilai-nilai linguistik dan ”x 1 is A 1 ” menyatakan bahwa nilai variabel x 1 adalah anggota
, , , Sistem Berbasis Aturan Fuzzy
Pada model ini, aturan fuzzy didefinisikan sebagai:
Model Mamdani
Terdapat dua model aturan fuzzy dan pada penelitian ini memakai model Mamdani.
dituliskan sebagai: IF antecendent THEN consequent.
Fungsi-fungsi Keanggotaan
Fungsi keanggotaan memakai fungsi segitiga untuk merepresentasikan masalah dan menghasilkan keputusan yang akurat, seperti gambar 1.
µ U
Gambar 1 Fungsi segitiga
c x b b c c x b x a a b a x c x a x Triangular c b a x
- y y y y
2.2 Komponen Utama Robot Aktutor yang sesungguhnya hanya dapat dioperasikan dalam bahasa C dan Assembly.
dioperasikan dalam ketelitian gerak hingga Dan penggerak robot digunakan 2 servomotor sekian derajat saja dan dengan linieritas yang continiuos GWS S35 pada masing-masing sangat terbatas. Sensor riil juga selalu tidak roda[7]. sempurna seperti definisi teoritisnya. Noise, non-linieritas, dan keterbatasan jangkauan operasi hampir selalu mengiringi instalasi sensor dalam rangkaian (Endra Pitowarno, 2006).
2.2.1 Sistem Aktuator
Aktuator adalah perangkat elektromekanik yang digunakan untuk melakukan gerakan, seperti servomotor DC pada gambar 2.
Servomotor DC
Servomotor DC adalah motor DC Gambar 3 Perancangan sistem dengan torsi besar yang memiliki kemampuan yang baik dalam hal posisi, kecepatan dan
3.2 Perancangan Perangkat Keras akselerasi.
3.2.1 Perancangan Mekanik
Secara umum terdapat 2 jenis motor Perancangan robot ini menggunakan dua servo. Yaitu motor servo standard dan motor buah roda aktif yang digerakkan oleh servo Continous. Motor servo standard sering servomotor continious serta dua roda pasif yang dipakai pada sistim robotika misalnya untuk dapat bergerak ke segala arah sebagai penahan membuat “ Robot Arm” ( Robot Lengan ) keseimbangan robot. Sebagai penentu jarak sedangkan motor servo Continous sering digunakan sebuah sensor jarak ultrasonik yang dipakai untuk robot mobil[6]. 18ms – 20ms terletak tepat di depan robot. Sebagai penghitung kecepatan diletakkan encoder pada salah satu roda penggerak pada robot, seperti gambar 4.
putar < 1,5ms kanan = 1,5ms berhenti putar > 1,5ms kiri Gambar 2 Penggunaan motorsevo DC
III. METODOLOGI PENELITIAN
Gambar 4 Foto robot mobil
3.1 Garis Besar Perancangan Sistem
Perancangan Rangkaian Encoder
Adapun diagram blok penelitian seperti Pada penelitian ini encoder digunakan gambar 3, yang terdiri dari sensor kecepatan sebagai penghitung kecepatan real dari motor yaitu encoder dan sersor jarah yaitu sensor sehingga encoder yang tepat digunakan adalah ultrasonik SRF04. Robot dikendalikan oleh
incremental encoder . Encoder dibagi kedalam
3.3 Perancangan Perangkat Lunak
Sensor encoder dan sensor ultrasonik digunakan untuk memperoleh data kecepatan dan jarak. Berikut perancangan program perhitungan jarak dan kecepatan seperti gambar 10.
3.3.1 Perancangan Program Perhitungan Jarak dan Kecepatan
Berikut merupakan perancangan program yang digunakan seperti gambar 9.
Pada mikrokontroler slave yang digunakan yaitu keluaran Atmel, assembly merupakan bahasa pemrograman yang digunakan. Program ditulis pada notepad, kemudian di-compile dan didownload ke dalam mikrokontroler yang digunakan.
download , dan pelacakan kesalahan.
Dalam penulisan program, Renesas telah menyediakan program developer terpadu berbasis Windows yang diberi nama HEW (High-performance Embedded Workshop). Seluruh fasilitas HEW versi gratis berfungsi sepenuhnya untuk permrograman mikrokontrol- er R8C/13. HEW memadukan seluruh fasilitas program seperti fasilitas untuk pembuatan kerangka program, penyetingan compiler , pengeditan program, manajemen file,
Gambar 8 Schematic rangkaian mikrokontroler renesas[9]
100 divisi yang terdiri dari 50 divisi yang transparan dan 50 divisi tidak transparan seperti gambar 5 dan 6.
Gambar 7 Schematic rangkaian mikrokontroler AT89C51[8] 16 16 15 15 14 14 13 13 12 12 11 11 10 10 9 9 1 7 8 1 8 1 9 2 2 1 2 2 2 3 2 4 7 6 5 4 3 2 1 25 26 27 28 29 30 31 32 1 2 Q1 30pF 20 MHz C2 30pF C1 TX RX VCC Res3 2 3 1 S1 MODE Echo Trigger MCS51 A P2.0 MCS51 A P2.1 MCS51 A P2.2 MCS51 A P2.3 R8C/13 VCC R1 Res1 RST 100uF C4 100nF C3 R2 Res2 Encoder
24 23 23 22 22 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 AT89C51 Motor Sevo 1 2 30pF 20 MHz 30pF VCC RST 100uF Res2 Diode VCC Motor Kanan Motor Kiri Renesas P1_1 Renesas P1_0 Renesas P1_2 Renesas P1_3
36 35 34 33 32 31 31 30 29 28 27 26 25
Mikrokontroller Atmel digunakan pada penelitian ini sebagai penggerak dari motor servo continious, seperti gambar 7 dan sebagai pembantu mikrokontroler utama yaitu Renesas R8C/13, seperti gambar 8. 40 39 38 37
Gambar 6 Schematic rangkaian encoder
U? Optoisolator1 U1 INV Renesas P3_2 Res2 Res1 VCC VCC
Gambar 5 Letak encoder
3.2.2 Perancangan Sistem Minimum
Start Deklarasi Variabel, Inisialisasi
A Fungsi, Interupsi, dsb
Hitung jarak penghalang dengan sensor ultrasonik B dan kecepatan roda dengan encoder
Logika Fuzzy C
Gambar 11 Diagram alir fuzzy logic
Kirim keluaran Fuzzy ke mikrokontroler D penggerak motor servo
3.3.3 Perancangan Program Keluaran
Dari pengolahan fuzzy, hasil keluaran akan dikirim ke mikrokontroler penggerak
Keluaran kecepatan motor servo
servomotor. Berikut diagram alir yang digunakan untuk mengirimkan keluaran ke Gambar 9 Diagram alir robot mikrokontroler Atmel seperti gambar 12.
Gambar 12 Diagram alir pengiriman keluaran
3.3.4 Perancangan Program Penggerak Motor Servo
Sebagai penggerak motor servo Gambar 10 Diagram alir perhitungan jarak dan continuous digunakan mikrokontroler yang kecepatan berbeda dari mikrokontroler pengolah fuzzy.
Berikut diagram alir pada mikrokontroler Atmel
3.3.2 Perancangan Program Fuzzy Logic
sebagai penggerak motor servo seperti gambar 13.
Fuzzy Logic merupakan kendali cerdas
yang digunakan untuk mengendalikan kecepatan robot mobil. Berikut diagram alir yang digunakan untuk fuzzy logic seperti gambar 11.
1 ; x a
1
BI x
( x a 2 ) ; a 1 x a
2 a 2 a
1 x a x a
; 1 ,
3 x a
1 PI x a x a
;
1
2 a a
2
1 x a
( 3 ) a x a
; 2
3 a a
3
2 ; x a
2 , x a
4 x a
2 NI x ; a 2 x a
3
a 3 a
2 ( x a
4 ) ; a 3 x a
4
Ga
a 4 a
3
mbar 13 Diagram alir penggerak motor servo
; x a
3 3 x a
3.4 Kontrol Logika Fuzzy CI x ; a 3 x a
4 a 4 a
3
1 ; x a
4
Pada penelitian ini digunakan kontrol Sedangkan pada kecepatan, fungsi logika fuzzy sebagai pengendali dari robot keanggotaanya terbagi kedalam Sangat Dekat mobil dengan diagran blok seperti gambar 14.
(SD), Dekat (DE), Cukup (CU), dan Jauh (JA)
serta b1, b2, b3 & b4 sebagai nilai variable dari fungsi keanggotaan seperti gambar 16.
Gambar 14 Diagram blok kendali fuzzy Pada sistem fuzzy terdapat beberapa langkah atau proses yang digunakan, yaitu:
a. Fuzzification
Gambar 16 Himpunan fuzzy jarak Pada langkah ini, input yang diterima yaitu jarak dan kecepatan real masing-masing
x b 1 ;
1
dibagi kedalam empat fungsi keanggotaan. Pada
SD x
x b (
2 )
jarak, fungsi keanggotaannya yaitu: Berhenti
b x b ;
1
2 b b 2
1 (BI), Pelan (PI), Normal (NI), Cepat (CI), a1,
a2, a3 & a4 serta merupakan nilai variabel pada
; x b 1 , x b
3 fungsi keanggotaan sepert gambar 15. x b
1 DE x ; b 1 x b
2 b 2 b
1 ( x b 3 ) ; b
2 x b
3 b 3 b
2 Gambar 15 Himpunan fuzzy kecepatan riil Pada metode ini, output nilai crisp hanya
; x b 2 , x b
4
bernilai satu pada fungsi keanggotaan tertentu.
x b
2
Dan keluaran yang digunakan sebagai kendali
CU x ; b 2 x b
3
b 3 b
2
motor yaitu nilai keanggotaan tertinggi diantara
( 4 ) x b
fungsi keanggotaan yang didapat sebagai output
; b 3 x b
4 b 4 b
dari output fuzzy.
3
; x b
3 x b
3 IV. HASIL DAN PEMBAHASAN
JA x ; b 3 x b
4
b 4 b
3 1 ; x b
4
Data rata-rata hasil waktu ukur jarak dari sensor ultrasonik per 2 cm adalah 0.114546 ms.
b. Inference
Bila dihitung menggunakan teori dimana s adalah jarak (cm), t in adalah waktu kembali Pada proses ini, terdapat aturan-aturan gelombang ultrasonic atau lamanya waktu pulsa yang digunakan menghubungkan input dan high pada sensor ultrasonik, dengan kecepatan output dari sistem fuzzy. Output pada sistem bunyi 344m/s maka didapat persamaan: kendali fuzzy ini adalah kendali kecepatan dari servomotor continious. Tabel aturan dapat
Jarak (s) = (t x 344 m/s)/2 in dilihat pada tabel 1 berikut. atau
Tabel 1 Tabel aturan fuzzy 2
2 s 10 t IN
344
maka rata-rata perubahan waktu ultrasonic per 2 cm yaitu 0.115020 ms. Dari kedua rata-rata yang didapat, maka diperoleh selisih waktu rata-rata per 2 cm yaitu 0.114546 ms - 0.115020 ms = 0.000474 ms atau kesalahan sebesar 4,14%.
4.1 Hasil Pengujian Encoder
c. Defuzzification
Pada proses defuzzifikasi dilakukan Dalam menghitung kecepatan pada robot, pengubahan output fuzzy menjadi output berupa digunakan encoder yang terletak pada motor nilai crisp yaitu nilai yang mewakili besarnya kanan mobil robot. Dengan asumsi kecepatan kecepatan servomotor continiuous yang motor servo kanan dan kiri adalah sama serta dikendalikan. Pada penelitian ini, defuzzifikasi beban adalah nol. Untuk menghitung kecepatan menggunakan Height Method seperti pada linear motor dari encoder, yang perlu gambar 17. diperhatikan adalah waktu dari encoder untuk menghasilkan satu gelombang, yaitu sebuah pulsa “1” dan sebuah pulsa “0”. Pada penelitian digunakan encoder 100 divisi yang berarti terdapat 50 gelombang. Dari waktu pada setiap gelombang didapatkan kecepatan sudut (ω), yaitu:
rad
ω t
180
dimana : 1 rad =
π
Gambar 17 Himpunan fuzzy keluaran
ω = kecepatan sudut, dan Dari grafik diatas dapat dilihat perubahan t = waktu yang diperoleh (s) yang terjadi pada perhitungan jarak pada sensor ultrasonik serta perhitungan kecepatan riil pada sedangkan hubungan kecepatan sedut dan encoder. Dengan menggunakan logika fuzzy kecepatan linier dapat dilihat sebagai berikut: dapat dilakukan perubahan kecepatan yang bertahap untuk menghindari slip pada roda
v = ω · r akibat perubahan yang tiba-tiba.
dimana : v = kecepatan motor (cm/s)4.2.2 Variasi Jarak dengan Kondisi Jarak
r = jari-jari roda (cm)
Penghalang Berubah-ubah
Dari hubungan diatas dan dari kecepatan Pada penelitian ini, dikondisikan mobil yang diperoleh dari variasi pemberian pulsa robot mendapat perubahan jarak yang semakin pada motor servo maka data encoder untuk satu dekat dimana penghalang dimulai berada pada gelombang didapatkan rata-rata persentase jarak 1.8m dan terus mendekat hingga kesalahan sebesar 22.38%. Hal ini dapat terjadi kecepatan motor mencapai 0 cm/s seperti karena banyak faktor, antara lain gear yang gambar 19. kurang bagus pada motor servo continuous yang digunakan sehingga perputaran roda kurang baik mengakibatkan kecepatan sudut
25 300
tidak konstan yang kemudian membuat ) 250 /s
20
pengukuran encoder untuk satu gelombang m ) c 200 m
15 kurang baik. ( n ( c a ta 150 r a k p a
10 e J c 100
4.2 Kontrol Kecepatan dengan Logika
e K
5
50 Fuzzy 1 11 21 31 41 51 61 71 81 91 101 111
Pengujian pengontrolan kecepatan
Waktu (x 0,1s)
dengan logika fuzzy dilakukan dengan
Kecepatan Jarak
menentukan jarak menggunakan sensor jarak robot mobil terhadap penghalang, dimana kondisi beban adalah nol. Gambar 19 Grafik kecepatan dan jarak dengan
jarak penghalang terus mendekat
4.2.1 Variasi Jarak Menggunakan Sensor
V. KESIMPULAN Ultrasonik
1. Penggunaan logika fuzzy pada robot Berikut jarak diambil menggunakan mobil dapat membuat pergerakan robot sensor ultrasonik dan dengan jarak 0.8m seperti mobil lebih halus dalam memulai gambar 18. bergerak hingga berhenti. 9 90
2. Encoder mempunyai rata-rata persentase 8 80 kesalahan sebesar 22.38% dan ) /s 6 7 70 60
3. Sensor ultrasonic mempunyai rata-rata ( c c m n 5 50 ) m ( perubahan waktu per 2 cm yaitu a ta p e J 4 40 ra a k 0.114546 ms dengan kesalahan sebesar K e c 1 2 3 10 20 30 4,14%. 1 6 11 16 Kecepatan Jarak Waktu (x 0,1s) 21 26 31 36 41 46 DAFTAR PUSTAKA .
[1] Pitowarno, Endra., Robotika Disain,
Gambar 18 Grafik kecepatan dan jarak Kontrol, dan Kecerdasan Buatan, Andi terhadap waktu pengotrolan logika fuzzy pada Yogyakarta (2006). jarak penghalang 0.8 meter
[2] Muhammad I.R., Perancangan Dan [6] Malik, Moh. Ibnu., Pengantar Membuat Implementasi Sistem Kendali PID Robot, Gava Media Yogyakarta (2006).
Adaptif Pada Pergerakan SYNCBOT , [7] Sigit, Rianto., Robotika, Sensor dan Tugas Akhir (2004). Aktuator , Graha Ilmu Yogyakarta (2007).
[3] Ahmad Rivai, Perancangan Dan [8] Nalwan, Paulus Andi., Teknik Antarmuka
Implementasi Kendali Cerdas Logika dan Pemrograman Mikrokontroler Fuzzy Pada Kontrol Posisi Motor Servo AT89C51 , PT Elex Media Komputindo: AC , Tugas Akhir (2008). Jakarta (2003).
[4] Febry Yadi Z, Robot Cerdas Pengangkut [9] Sulistiyanto, Nanang., Pemrograman
Box dengan Sensor Ultrasonik Sebagai Mikrokontroler R8C/13, PT Elex Media Navigasi Berbasis Mikrokontroller , Komputindo: Jakarta (2008).
Tugas Akhir (2009). [5] Kuswadi, Son., Kendali Cerdas Teori
dan Aplikasinya, ANDI Yogyakarta (2007).
Biodata Penulis Darwison, dilahirkan di Payakumbuh, Sumatera Barat Indonesia. Pendidikan SD sampai SMA
dilalui di kota Padang Sumatera Barat. Lulus SMA melanjutkan S1 Teknik Elektro bidang studi
Elektronika ke ITS Surabaya. Selama mengikuti perkuliahan di ITS banyak pengalaman praktik yang
didapat melalui sebagai asisten Praktikum, lomba dan Tugas AkhirPernah mendapat pengalaman
elektronika di beberapa perusahaan yang memproduksi antara lain semen, plastik, obat nyamuk bakar
dan lain-lain. Tahun 1995 diterima sebagai dosen S1 Teknik Elektro di Universitas Andalas Padang
sampai sekarang. Tahun 2002 menyelesaikan S2 Teknik Elektro bidang studi Sistem Isyarat Elektronik
di UGM Yogyakarta. Aktif di laboratorium untuk penelitian di bidang kontrol, mekatronika dan
biomedika, pembimbing penelitian PKMT mahasiswa. Tahun 2002 sebagai kepala labor Elektronika
Industri sampai sekarang. Mata kuliah yang diajarkan di Jurusan Teknik Elektro dan Fakultas lain di
Unand adalah Elektronika, Sistem kontrol, Interface, Operasional Amplifier, Sistem Digital dan
Mikroprosesor & Mikrokontroller. Penelitian yang dilakukan masih berkaitan dengan
mikrokontroller, antara lain kontrol PLTB (Bayu), akses Moving Sign via HP, robot, petir dan gempa.
Pengabdian di KKN, mengadakan pelatihan interface & Mikrokontroller untuk mahasiswa / umum,
dan pembinaan & pelatihan perancangan & pembuatan moving sign.