i
SISTEM KONTROL KESEIMBANGAN ROBOT BERBASIS
LOGIKA FUZZY (SOFTWARE)
TUGAS AKHIR
Diajukan Kepada Universitas Muhammadiyah Malang
Untuk Memenuhi Syarat
Gelar Sarjana (S-1) Teknik Elektro
Disusun oleh: RODHIYA RAHMAN
NIM : 06530008
JURUSAN ELEKTRO
FAKULTAS TEKNIK
i
LEMBAR PERSETUJUAN
SISTEM KONTROL KESEIMBANGAN ROBOT
BERBASIS LOGIKA FUZZY
(SOFTWARE)
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana (S1) Teknik Elektro Universitas Muhammadiyah Malang
Disusun Oleh : RODHIYA RAHMAN
06530008
Diperiksa dan disetujui oleh:
Pembimbing I
Dr.Ir. Ermanu Azizul Hakim, MT NIP.UMM : 10891090233
Pembimbing II
ii
LEMBAR PENGESAHAN
SISTEM KONTROL KESEIMBANGAN ROBOT BERBASIS LOGIKA FUZZY
(SOFTWARE)
Tugas Akhir ini Disusun Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik (ST) di Universitas Muhammadiyah Malang
Oleh :
RODHIYA RAHMAN NIM : 06530008
Tanggal Ujian : 29 April 2011 Periode Wisuda : Juni 2011 Disetujui oleh :
iii
SURAT PERNYATAAN
Yang bertanda tangan dibawah ini :
Nama : Rodhiya Rahman
Tempat/Tgl Lahir : Martapura / 23 September 1988
NIM : 06530008
Fakultas / Jurusan : Teknik / Elektro
Menyatakan bahwa tugas akhir kami yang berjudul :
“SISTEM KONTROL KESEIMBANGAN ROBOT BERBASIS LOGIKA FUZZY (SOFTWARE)” adalah bukan merupakan karya tulis orang lain, baik sebagian maupun keseluruhan, kecuali dalam bentuk kutipan yang kami sebutkan sumbernya.
Demikian surat pernyataan ini kami buat dengan sebenar-benarnya dan apabila pernyataan ini tidak benar, kami bersedia mendapat sangsi akademis.
Malang, Yang menyatakan,
Rodhiya Rahman
Mengetahui, Pembimbing I
Dr.Ir. Ermanu Azizul Hakim, MT NIP.UMM : 10891090233
Pembimbing II
iv
ABSTRAKSI
Rodhiya Rahman, Dr.Ir.Ermanu Azizul Hakim, MT., Ir.Nurhadi, MT. Jurusan Elektro, Fakultas Teknik, Universitas Muhammadiyah Malang
Jl. Raya Tlogomas No. 246 Telp.(0341) 464313 Malang
Sebagai sistem kendali, logika fuzzy mempunyai keunggulan dibandingkan dengan sistem kendali biasa seperti PID karena kemudahan yang dimiliki logika fuzzy dalam hal menentukan strategi pengendali dimana pada logika fuzzy tidak memerlukan perhitungan matematik yang komplek atau pemodelan yang sistematis dalam relasi masukan ke keluaran seperti pada sistem lain, namun hanya dengan menggunakan aturan secara linguistik sudah dapat merancang suatu sistem.
Dalam tugas akhir ini, sistem kendali logika fuzzy diimplementasikan dalam sistem kontrol keseimbangan robot yang memiliki roda dua dan berusaha mempertahankan keseimbangan dengan kedua rodanya.
Sistem kendali logika fuzzy pada sistem keseimbangan robot ini
menggunakan dua buah masukan berupa Error dan Delta Error (∆Error) yang didapat dari nilai kemiringan sensor accelerometer. Metode defuzzifikasi yang digunakan adalah center of gravity dengan bentuk singleton maka didapatkan hasil defuzzifikasi yang digunakan untuk menggerakkan kedua rodanya.
v
ABSTRACT
Rodhiya Rahman, Dr.Ir.Ermanu Azizul Hakim, MT., Ir.Nurhadi, MT. Electrical Engineering, Faculty of Engineering, University of Muhammadiyah Malang
Jl. Raya Tlogomas No. 246 Phone.(0341) 464313 Malang
As a control system, fuzzy logic has an advantage compared to ordinary control system like PID. It is because of the ease of the fuzzy logic in terms of determining controller strategy in which fuzzy logic does not require complex mathematical calculations or systematic modeling on its input to output relation as in other systems. However, it is able to design a system by only using rules linguistically.
In this thesis, fuzzy logic control system was implemented in the balance control system of two-wheeled robot to maintain balance of the two wheels.
The fuzzy logic control system of the robot balance system used two inputs in the form of Error and Delta Error (∆Error) obtained from the slope value of accelerometer sensor. The defuzzyfication method used was center of gravity in the form of singleton. Therefore, the defuzzyfication result was used to move the two wheels.
vi
KATA PENGANTAR
Assalamualaikum Wr. Wb
Puji syukur kehadirat Allah SWT atas segala limpahan rahmat serta hidayah-Nya, sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul “SISTEM KONTROL KESEIMBANGAN ROBOT BERBASIS LOGIKA FUZZY (SOFTWARE)”. Penulisan dari tugas ini adalah sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik (ST) di Universitas Muhammadiyah Malang.
Dengan segala kerendahan hati, penulis akui bahwa Tugas Akhir ini tidak akan terwujud tanpa adanya bantuan, bimbingan dan arahan dari semua pihak. Oleh karena itu dalam kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Allah SWT Atas segala cinta kasih dan berkah-Nya.
2. Dr.Ir.Ermanu Azizul Hakim,MT dan Ir.Nurhadi,MT selaku dosen Pembimbing I dan Pembimbing II.
3. Ir.Diding Suhardi,MT. Dan Ir.Muhammad Irfan,MT selaku dosen Penguji I dan II.
4. Seluruh Dosen dan Staff Jurusan Elektro, yang selalu memberikan masukan dan dukungan dalam penyelesaian Tugas Akhir ini.
5. Orang Tuaku tercinta, H.M.Ramlan dan Hj.Neng Sudarti, dan Adikku Dadang atas segala do’a dan perjuangan kalian yang tak henti-hentinya. Terimakasih banyak atas semangat, bantuan, serta kebanggaan yang selalu kalian berikan untukku.
6. Untuk seseorang yang tak bosan-bosannya mendengar semua keluh kesah, memberi semangat, menjadi pembimbing jarak jauhku. Terima kasih,
selalu ada do’a rahasia untuk ‘Mbem’.
vii
yang luar biasa dibidang Networking di Lembaga Informasi dan Komunikasi (INFOKOM) UMM.
8. Rekan-rekan Divisi Jaringan INFOKOM UMM, Mas Ruslan, Mas Udin, Mas Hasan, Mas Yogi, Masmuh, Dhanu, dan Andre, terima kasih atas kerjasama dan berbagi pengalaman yang bermanfaat.
9. Rekan-rekan tugas akhir Doni, Herta, Rico, Gober, Bajul, Suud, Mas Andri, Mas Arif, Mas Bowo, dan Agus dengan perjuangan yang berakhir dengan manis.
10.Untuk Mas Yudi, Mas Julon dan Om OB, terimakasih banyak atas sekolah sore nya dan untuk semua bantuan dan bimbingan kalian.
11.Semua rekan dan teman kuliah Jurusan Elektro, terima kasih banyak atas semua bantuannya selama kuliah, maaf karena belum bisa memberi banyak untuk kalian.
12.Semua pihak yang tidak bisa penulis sebutkan namanya satu-persatu terimakasih atas dukungan, do’a serta semangatnya
Sekali lagi kepada mereka, penulis dengan tulus mengucapkan terima kasih atas bantuannya, semoga amal baik Bapak, Ibu, dan Saudara semua mendapat balasan yang sepantasnya dari Allah SWT dan hubungan kita selalu terjaga dalam keridhoan-Nya. Amin
Penulis sadar sepenuhnya bahwa Tugas Akhir ini masih jauh dari sempurna, kritik serta saran yang bersifat membangun sangat kami harapkan.
Akhirnya penulis berharap semoga laporan tugas akhir ini dapat bermanfaat dan menambah wawasan pengetahuan bagi pembaca.
Billahi Fii Sabilil Haq Fastabiqul Khairat
Wassalamualaikum Wr. Wb
viii DAFTAR ISI
LEMBAR JUDUL
LEMBAR PERSETUJUAN ... i
LEMBAR PENGESAHAN ... ii
SURAT PERNYATAAN ... iii
ABSTRAKSI ... iv
ABSTRACT ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xiii
BAB I. PENDAHULUAN 1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 3
1.3. Tujuan ... 3
1.4. Batasan Masalah ... 3
1.5. Metode Penulisan Tugas Akhir ... 3
1.6. Sistematika Penulisan ... 4
BAB II. DASAR TEORI 2.1. Robot ... 6
2.1.1 Pendulum Terbalik ... 7
2.2. Logika Fuzzy ... 10
ix
2.2.2 Himpunan Crisp dan Himpunan Fuzzy ... 12
2.2.3 Fungsi Keanggotaan (Membership Function) ... 13
2.2.4 Langkah Pengembangan Kendali Fuzzy ... 15
2.2.4.1 Fuzzifikasi ... 16
2.2.4.2 Inferensi Fuzzy ... 16
2.2.4.3 Defuzzifikasi ... 18
2.3. Bahasa Assembly ... 20
2.4. Sensor Accelerometer ... 23
2.4.1 MX2125 Dual-Axis Accelerometer ... 24
2.4.1.1 Karakteristik Operasional MX2125 ... 24
2.4.1.2 Cara Kera Sensor ... 25
2.4.1.3 Format Pengoperasian MX2125 ... 25
2.5. Mikrokontroller AT89S51 ... 26
2.5.1 Fitur AT89S51 ... 27
2.5.2 Diagram Pin ... 27
2.5.3 Blok Diagram ... 30
2.5.4 Struktur Memori ... 31
2.5.4.1 Program Memory ... 31
2.5.4.2 Data Memory ... 32
2.5.5 Timer ... 33
2.5.6 Komunikasi Serial ... 35
2.5.7 Interupt ... 38
x BAB III. PERANCANGAN SISTEM
3.1. Perancangan Sistem Kendali Logika Fuzzy ... 42
3.1.1 Menentukan Variabel Masukan dan keluaran ... 43
3.1.2 Fuzzifikasi ... 43
3.1.2.1 Membership Function Input Error ... 44
3.1.2.2 Membership Function Input ∆Error ... 45
3.1.2.3 Membership Function Keluaran ... 46
3.1.3 Kaidah Atur Logika Fuzzy dan Inferensi Fuzzy ... 47
3.1.4 Defuzzifikasi ... 49
3.2. Perancangan Algoritma Perangkat Lunak ... 49
BAB IV. PENGUJIAN ALAT 4.1. Pengujian Sensor Accelerometer Sebagai Pendeteksi Kemiringan . 50 4.2. Pengujian Sistem Fuzzy Pada Robot ... 55
4.3. Pengujian Keluaran Motor DC Servo ... 59
BAB V. PENUTUP 5.1. Kesimpulan ... 63
5.2. Saran ... 63
DAFTAR PUSTAKA ... 65
xi
DAFTAR GAMBAR
Gambar 2.1 Pendulum Terbalik ... 7
Gambar 2.2 Analisa Pendulum Terbalik ... 8
Gambar 2.3 Klafikasi Umur dengan Pendekatan Crisp ... 13
Gambar 2.4 Klasifikasi Umur dengan Logika Fuzzy ... 14
Gambar 2.5 Bentuk – Bentuk Umum Fungsi Keanggotaan ... 15
Gambar 2.6 Diagram Blok Pengembangan Kendali Fuzzy ... 16
Gambar 2.7 Proses Fuzzifikasi ... 17
Gambar 2.8 Proses Defuzzifikasi dengan Metode COG ... 19
Gambar 2.9 Proses COG Defuzzifikasi dengan Metode Beberapa Titik ... 19
Gambar 2.10 Proses COG Defuzzifikasi dengan Metode Singleton ... 20
Gambar 2.11 Prinsip Kerja Accelerometer ... 24
Gambar 2.12 Pin-pin Memsic MX2125 ... 25
Gambar 2.13 Pulsa MX2125 ... 26
Gambar 2.14 Diagram pin mikrokontroler AT89S51 ... 28
Gambar 2.15 Blok diagram mikrokontroler AT89S51 ... 30
Gambar 2.16 Memori Program ... 31
Gambar 2.17 Memori Program Data Internal ... 32
Gambar 2.18 Memori Program Data Internal ... 33
Gambar 2.19 Register TMOD ... 34
Gambar 2.20 Register TCON ... 34
Gambar 2.21 Register SCON ... 37
xii
Gambar 2.23 Motor DC Servo Futaba S3003 ... 40
Gambar 2.24 Teknik PWM Mengatur Motor Servo ... 41
Gambar 2.25 Pin-pin pada Motor DC Servo ... 41
Gambar 3.1 Diagram Blok Sistem Kendali Logika Fuzzy ... 42
Gambar 3.2 Fungsi Keanggotaan untuk Masukan Error ... 44
Gambar 3.3 Fungsi Keanggotaan untuk Masukan ∆Error ... 46
Gambar 3.4 Fungsi Keanggotaan untuk Nilai Keluaran ... 47
Gambar 3.5 Diagram Alir Sistem Kontrol Keseimbangan Robot Berbasis Logika Fuzzy ... 49
Gambar 4.1 Pengujian sudut kemiringan ... 51
Gambar 4.2 Lebar Pulsa Pada Saat Kemiringan -300 ... 51
Gambar 4.3 Lebar Pulsa Pada Saat Kemiringan -200 ... 52
Gambar 4.4 Lebar Pulsa Pada Saat Kemiringan -100 ... 52
Gambar 4.5 Lebar Pulsa Pada Saat Kemiringan 00 ... 53
Gambar 4.6 Lebar Pulsa Pada Saat Kemiringan 100 ... 53
Gambar 4.7 Lebar Pulsa Pada Saat Kemiringan 200 ... 54
Gambar 4.8 Lebar Pulsa Pada Saat Kemiringan 300 ... 54
Gambar 4.9 Pengujian Kemiringan Robot ... 59
Gambar 4.10 Lebar Pulsa Pada Saat ton = 4,6 ms ... 60
Gambar 4.11 Lebar Pulsa Pada Saat ton = 4,8 ms ... 60
Gambar 4.12 Lebar Pulsa Pada Saat ton = 5,0 ms ... 61
Gambar 4.13 Lebar Pulsa Pada Saat ton = 5,2 ms ... 61
xiii
DAFTAR TABEL
Tabel 2.1 Daftar Assembly Directive ... 21
Tabel 2.2 Daftar Instruksi ... 22
Tabel 2.3 Konstanta Sudut Sensor MX2125 ... 26
Tabel 2.4 Fungsi-fungsi Khusus Port 3 Mikrokontroler AT89S51 ... 29
Tabel 2.5 Mode Timer ... 34
Tabel 2.6 Mode-mode Komunikasi Serial ... 36
Tabel 2.7 Alamat Vektor Interrupt ... 38
Tabel 3.1 Kaidah Atur Sistem Kendali Logika Fuzzy ... 47
Tabel 4.1 Hasil Pengukuran Sensor Accelerometer ... 55
65 DAFTAR PUSTAKA
Budiharto, Widodo. 2006. Belajar Sendiri Membuat Robot Cerdas. Jakarta: PT. Elex Media Komputindo.
Kusumadewi, Sri. 2006. Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf. Yogyakarta: Penerbit Graha Ilmu.
Naba, Agus.2009. Belajar Cepat Fuzzy Logic Menggunakan Matlab. Yogyakarta: Penerbit Andi.
Tanumiharjo, Widyanto. 2006. Digital Inclinometer. Surabaya: Universitas Kristen Petra.
Thiehunan, Hendrik. 2000. Implementasi kendali logika fuzzy pada pendulum terbalik rotasional. Surabaya: Universitas Kristen Petra.
Willa, Lukas. 2007. Teknik Digital, Mikroprosessor, dan Mikrokomputer. Bandung:
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknik kendali dan otomatisasi yang didukung oleh teknologi informatika dan mikroelektronika telah melahirkan robot sebagai suatu perangkat yang mampu melakukan suatu pekerjaan secara otomatis. Dengan keadaan tersebut memang sudah seharusnya penelitian tentang teknologi elektronika harus terus dilakukan untuk dapat bermanfaat dalam segala bidang yang membutuhkan sistem otomatisasi ataupun sebagai awal untuk menemukan solusi-solusi baru untuk mengatasi permasalahan yang akan dihadapi oleh manusia nanti.
Dalam beberapa perancangan robot yang selama ini dilakukan, salah satu permasalahan adalah bagaimana merancang sistem keseimbangan robot sehingga dengan beberapa gangguan tertentu robot tetap dapat mempertahankan keseimbangannya, ini merupakan permasalahan yang seharusnya diperhatikan mengingat kebanyakan robot yang dirancang adalah berupa robot humanoid atau robot yang seharusnya dapat melakukan pekerjaan manusia dalam batas-batas tertentu. Salah satu langkah awal untuk melakukan pengembangan mengenai hal ini adalah dengan mengembangkan sebuah sistem keseimbangan robot beroda dua yang bergerak berdasarkan kontrol robotika tertentu.
2
terbalik ini terdiri dari suatu tangkai vertikal yang dapat berupa badan robot yang ditopangkan pada dua buah roda. Selain itu terdapat motor yang akan menggerakkan robot maju dan mundur sehingga tangkai pendulum atau body robot dapat memiliki keseimbangannya kembali (posisi tegak) saat diberikan gangguan. Ini berarti pula bahwa keadaan badan dari robot pada saat posisi kemiringan tertentu dapat dimanfaatkan untuk robot dapat bergerak maju dan mundur.
Dengan menggabungkan sebuah sistem kontrol yang akan diterjemahkan dalam bahasa pemprograman dengan hardware robot diharapkan sistem keseimbangan robot ini dapat direalisasikan. Dalam penelitian ini sistem kontrol yang akan digunakan adalah metode logika fuzzy, sedangkan untuk hardware digunakan accelerometer MEMSIC 2125 sebagai sensor yang merepresentasikan sudut elevasi terhadap bumi dan AT89S51 sebagai kontroller dari robot.
3
1.2. Rumusan Masalah
Berdasarkan latar belakang yang telah disebutkan di atas maka dapat dirumuskan beberapa masalah antara lain :
1. Bagaimana merancang software robot keseimbangan?
2. Bagaimana menerapkan logika fuzzy sebagai sistem kontrol robot?
3. Bagaimana kontrol logika fuzzy dapat mempertahankan keseimbangan robot? 1.3. Tujuan
Tujuan dari pembuatan tugas akhir ini adalah untuk mengaplikasikan ilmu elektronika dengan sistem kontrol pada sebuah robot keseimbangan yang berusaha mempertahankan keseimbangan badannya dengan batasan kemiringan tertentu.
1.4. Batasan Masalah
Tugas Akhir ini hanya melingkupi tentang sistem kontrol dan pembuatan software, sehingga terdapat batasan-batasan dalam pembahasan.
1. Perancangan sistem kendali logika fuzzy.
2. Penerjemahan logika fuzzy kedalam bahasa pemrograman. 3. Perancangan software robot.
1.5. Metode Penulisan Tugas Akhir
Adapun metode penulisan yang digunakan dalam penyusunan tugas akhir ini adalah :
1. Studi Literatur
4
2. Perencanaan Sistem
Penulis merancang sistem disesuaikan dengan sistem kerja robot yang akan dibuat.
3. Analisa dan Pembuatan Program
Analisa dilakukan untuk memastikan sistem robot bekerja sesuai dengan prosedur. Analisa dilakukan per blok secara terpisah, kemudian digabungkan dalam satu kesatuan, kemudian direalisasikan menjadi program.
4. Pengambilan Kesimpulan
Analisa data yang didapat dari data uji coba sistem yang dibuat, selanjutnya digunakan untuk menarik suatu kesimpulan.
1.6. Sistematika Penulisan
Pada penyusunan tugas akhir ini, secara keseluruhan dapat disusun dengan sistematika sebagai berikut:
BAB I PENDAHULUAN
Dalam bab ini berisi latar belakang, rumusan masalah, tujuan, batasan masalah, metodologi dan sistematika penulisan
BAB II DASAR TEORI
Dalam bab ini berisi semua dasar teori yang untuk selanjutnya digunakan sebagai pembahasan.
BAB III PERANCANGAN SISTEM
Dalam bab ini berisi tentang proses perencanaan sistem yang akan dibuat. BAB IV PENGUJIAN ALAT
5
BAB V PENUTUP