SISTEM PENGATUR KECEPATAN RODA BERBASIS F UZZY LOGIC CONTROLLER DAN REALTIME VIDEO STREAMING PADA ROBOT PENGANGKUT BARANG
oleh
Kevin Ananta Kurniawan
NIM : 612009017
Skripsi
Untuk melengkapi salah satu syarat memperoleh
Gelar Sarjana Teknik
Program Studi Teknik Elektro
Fakultas Teknik Elektronika dan Komputer
Universitas Kristen Satya Wacana
Salatiga
INTISARI
Dalam sebuah sistem robot pengangkut barang autonomous dibutuhkan kemampuan
untuk mengontrol robot secara manual dan umpan balik berupa gambar video realtime yang
mampu merepresentasikan kondisi lingkungan di sekitar robot. Untuk itu dirancang sebuah
sistem yang mampu digunakan untuk mengontrol robot secara manual, dan mengoreksi
hardware error dengan penggunaan resource yang sesedikit mungkin.
Pada skripsi ini dirancang sebuah sistem mekatronik robot dengan Algoritma kontrol
yang direalisasikan menggunakan Fuzzy Logic Controller dengan kemampuan untuk melakukan
realtime video streaming melalui jaringan. Sistem yang dirancang terdiri dari dua entitas, robot
dan pusat kontrol. Perintah yang dikirimkan dari pusat kontrol melalui jaringan lokal, kemudian
diterima dan diteruskan oleh Raspberry Pi untuk diterjemahkan menjadi manuver dari robot.
Agar pergerakan robot sesuai yang diharapkan, diterapkan koreksi error dengan fuzzy logic
controller untuk mengatur kecepatan roda berdasarkan input sensor pada robot. Raspberry Pi
juga berfungsi untuk melakukan realtime video streaming yang ditampilkan pada Graphical
User Interface dari robot agar pengguna dapat mengetahui kondisi lingkungan disekitar robot.
Dari hasil pengujian diperoleh bahwa sistem telah memberikan respon terhadap perintah
yang diberikan berupa perubahan sudut hadap Positif untuk perintah belok kiri (16.7o / detik) dan
putar kiri (17.6o / detik), dan respon berupa perubahan sudut hadap negatif untuk perintah belok
kanan (19.4o / detik) dan putar kanan (55o / detik). Algoritma FuzzyLogic Controller dengan
Proteksi error arah hadap, telah mampu mendeteksi dan mengoreksi terjadinya Error Arah
hadap yang nilainya melebihi nilai ambang toleransi yang telah ditentukan (± 3 o dan ± 15 o).
Sistem telah mampu untuk berjalan lurus sejauh 15 m dengan magnitudo nilai simpangan
rata-rata sebesar 22.2 cm. Sistem streaming video realtime untuk sistem embedded Raspberry Pi
Abstract
In an autonomous robotic systems the ability for manually control the robot is mandatory,
there’s also need for a real-time video image which could represent the real condition of the
robot’s environment. For that reasons mentioned above, designed a system capable of
controlling the robot and correcting hardware errors with minimal resource usage.
In this project, designed a robot with a mechatronic system, which realized using fuzzy
logic controller. The robot has the ability to perform a real-time video streaming over network.
The system consist of two entities, the robot and the main control center. Commands are sent
from the main control center via local area network, this command then received and forwarded
by Raspberry Pi to the Arduino which where the command will be translated into robot’s
From the test result, system has responded to the commands given in the form of positive
direction angle change for turn left and rotate left command, a nd response in the form negative
direction angle change for turn right command and rotate right command. Fuzzy logic algorithm
with direction error protection, have been able to detect and correct direction errors which the
values exceeds the predetermined threshold value (± 3 ° and ± 15 °). From the test result,
showed that the robot was able to walk straight line as far as 15 m with the average deviation
magnitude of 22.2 cm. The real-time video streaming system for embedded systems Raspberry Pi
Kata Pengantar
Pada bagian skripsi ini penulis ingin mengucapkan terimakasih kepada pihak-pihak yang
sudah membantu hingga skripsi ini dapat diselesaikan. Terimakasih kepada pembimbing skripsi
Bapak Darmawan Utomo dan Pak Saptadi Nugroho yang selalu ada dan selalu siap sedia
memberikan solusi untuk berbagai kesulitan yang ditemui dalam pembuatan skripsi, yang
menyediakan bantuan baik berupa materi, waktu, maupun ide untuk perancangan sistem Robot
pengangkut barang yang ada dalam skripsi ini.
Saya juga ingin mengucapkan terimakasih kepada kedua orang tua saya dan adik-adik
saya Kenny dan Keenan yang selalu mendukung saya dalam materi, moril, maupun waktunya,
dan menyemangati saya agar skripsi ini semakin cepat terselesaikan.
Ucapan terimakasih juga ingin saya sampaikan kepada dua teman seperjuangan saya
Mario dan Riki yang selalu membantu saya dalam kesusahan algoritma maupun pengujian robot.
Kepada Febrian sutedjo yang membantu saya membuat mekanik dari robot. Kepada Wawan
yang membantu saya membuat dokumentasi dari GStreamer. Pak Harsono dan Pak Gunawan,
atas bantuan pengajaran mereka akan konsep-konsep algoritma Fuzzy logic controller.
Ucapan terimakasih saya ucapkan kepada semua pihak lain yang telah membantu dan
mendukung saya baik dalam materi maupun semangat, untuk terselesaikannya skripsi ini yang
tidak dapat saya sebutkan satu-persatu. Semoga Tuhan Yesus Kristus membalas perbuatan baik
kalian.
DAFTAR ISI
2.1.2. Alasan Digunakannya Logika Fuzzy 93.3.1.2.1. Fuzifikasi Input 48
3.3.1.2.2. Pengambilan Keputusan Fuzzy 51
3.3.1.2.3. Defuzifikasi 54
3.3.1.3. Manuver Pergerakan Robot 57
3.3.2. Perancangan Kontroler Level Menengah 61
3.3.2.1 Perancangan Komunikasi Socket dan serial 62
3.3.2.2 Perancangan VideoStreaming 63
3.3.3.Perancangan Kontroler Level Atas 65
BAB IV PENGUJIAN DAN ANALISIS 70
4.1. Pengujian Mekanik 70
4.2. Pengujian Elektronik dan Sensor 73
4.2.1. Rotary encoder 73
4.2.2. Magnetometer 74
4.3. Pengujian Algoritma FuzzyLogicController 77
4.3.1. Karakteristik Error Tanpa Koreksi 78
4.3.2. Koreksi Error dengan Masukan Rotary encoder 78
4.3.3. Koreksi Error dengan Masukan Magnetometer 79
4.3.4. Proteksi Terhadap Kesalahan Arah Hadap 80
4.3.5. Hasil Uji Perintah Maju Lurus 83
4.3.6. Hasil Uji Perintah Putar Kiri, Putar Kanan, Belok Kiri dan Belok Kanan 85
4.4. Pengujian Stream Video 89
4.5. Pengujian Komunikasi Wireless 90
BAB V KESIMPULAN DAN SARAN 92
5.1 Kesimpulan 92
5.2Saran Pengembangan 95
DAFTAR PUSTAKA 97
LAMPIRAN 98
Rancangan Robot 98
Foto Robot Pengangkut Barang 99
Daftar Gambar
Gambar 1.1. Arsitektur sistem robot pengangkut barang 3
Gambar 2.1. Definisi dari Fuzzy control system 8
Gambar 2.2. Blok Diagram dari Fuzzy controller pada umumnya 8
Gambar 2.3. Nilai keanggotaan secara grafis himpunan Pendek, Sedang, dan Tinggi 10
Gambar 2.4. Himpunan Fuzzy untuk Variabel Tinggi Badan 11
Gambar 2.5. Tabel kebenaran boolean standard untuk operasi AND OR dan NOT 13
Gambar 2.6. tabel kebenaran fuzzy untuk operasi AND OR dan NOT 13
Gambar 2.7. Grafik Nilai Kebenaran Keluaran terhadap Masukan untuk operasi AND OR dan NOT pada Logika Boolean dan Logika Fuzzy 14
Gambar 2.8. Proses mengubah keluaran himpunan fuzzy adalah dengan menggunakan truncation dengan fungsi min 16
Gambar 3.4. Tampilan dari Robot Pengangkut Barang Setelah Body Aluminium dipasang
33
Gambar 3.5. Driver motor EMS 30A H-Bridge yang digunakan dalam perancangan Robot
Pengangkut Barang 38
Gambar 3.6. Skema Rangkaian PhotoInterrupter dengan Rangkaian Schmitt trigger yang
digunakan pada Robot Pengangkut Barang 39
Gambar 3.7. Kompas digital HMC5883L yang Digunakan dalam Perancangan Sistem Robot
Pengangkut Barang 40
Gambar 3.8. Modul Kamera Raspbery Pi yang digunakan dalam Perancangan Sistem robot
pengangkut barang 42
Gambar 3.9. Flow chart dari program Kontroler Level Bawah pada sistem Robot Pengangkut
Barang . 45
Gambar 3.10 Himpunan Fuzzy Untuk Variabel Error Sudut 49
Gambar 3.11 Himpunan Fuzzy Untuk Variabel PWM 50
Gambar 3.12. Implementasi Aturan untuk Roda Kiri dan Kanan yang dibuat pada Array
berukuran 5 x 3. 53
Gambar 3.13 Himpunan Fuzzy untuk variabel Output Delta Kecepatan 55
Gambar 3.14. Diagram State Machine dari sistem kontrol level bawah 59
Gambar 3.15. Flow chart dari proses jalannya program pada
Kontroler Level Menengah 62
Gambar 3.16. Skema Pipeline yang digunakan untuk video streaming
pada Raspberry Pi. 64
Gambar 3.17. Skema Pipeline yang digunakan untuk menerima video stream
Gambar 3.18. Flow chart Jalannya Aplikasi Graphical Pengguna Interface
pada Pusat Control 66
Gambar 3.19. Tampilan Graphical Pengguna Interface Applikasi Kontroler Level Atas 67 Gambar 3.20. Tampilan Tab Control Ip Config dari applikasi GUI 68
Gambar 3.21. Contoh Hasil Streaming video yang didapatkan ketika Pengguna menekan Tombol Stream 69
Gambar 4.10. Hasil Uji Proteksi Terhadap Error Arah hadap untuk perintah Maju yang dilakukan dengan menggunakan Magnetometer Pada Roda Kiri Pada Batas Ambang ±15 o (atas) dan ±3 o (bawah) 81
Gambar 4.11. Hasil Uji Proteksi Terhadap Error Arah hadap untuk perintah Mundur yang dilakukan dengan menggunakan Magnetometer Pada Roda Kiri Pada Batas Ambang ±15 o (atas) dan ±3 o (bawah). 82
Gambar 4.12. Pengujian Perintah Maju Lurus pada Robot Sejauh 15 m 83
Gambar 4.13. Perubahan arah sudut hadap untuk perintah putar kiri. 85
Gambar 4.15. Perubahan arah sudut hadap untuk perintah putar kanan. 86
Gambar 4.16. Perubahan arah sudut hadap untuk perintah putar kanan. 86
Gambar 4.17. FuzzySurface hasil simulasi dari FuzzyLogicController yang dirancang dengan
menggunakan Matlab Fuzzy Toolbox 87
Gambar 4.18 . Hasil simulasi Pengambilan keputusan berdasarkan aturan Fuzzy yang didapatkan
dari Simulasi dengan Fuzzy Toolbox Matlab 88
Gambar 4.19. Pengujian Tunda Waktu Streaming dilakukan dengan cara membandingkan nilai
stop watch dengan hasil stream di monitor 89
Gambar 4.20. Kekuatan Sinyal pada Titik-Titik Pengukuran di Gedung C Fakultas Teknik
Daftar Tabel
Tabel 2.1. Spesifikasi Hardware Raspberry Pi dan Perbandingannya dengan NotebookPC Yang
digunakan untuk Pusat Kontrol Robot. 22
Tabel 3.1. Spesifikasi motor DC yang Digunakan untuk Aktuator Robot 34
Tabel 3.2. Spesifikasi Perangkat keras dari Arduino Mega2560 36
Tabel 3.3. Tabel kebenaran dari modul H-Bridge EMS-30A 37
Tabel 3.4. Alamat IP Device yang Digunakan dalam Perancangan Sistem Robot Pengangkut Barang 41
Tabel 3.5. Sumber Daya yang digunakan untuk modul komponen Robot Pengangkut Barang 43
Tabel 3.6. Aturan yang digunakan untuk pengambilan keputusan Fuzzy Roda Kiri 52
Tabel 3.7. Aturan yang digunakan untuk pengambilan keputusan Fuzzy Roda Kanan 52
Tabel 3.8 Daftar Command untuk Pergerakan Robot 60
Tabel 3.9. Daftar Command Tambahan 60
Tabel 3.10. Daftar Command valid yang dapat digunakan oleh Pengguna 69
Tabel 4.1 Hasil Pengujian Rotary encoder 74
Tabel 4.2. Hasil Pengujian Arah hadap Magnetometer Terhadap Referensi Busur Derajat 75 Tabel 4.3. Hasil Pengujian derau pada Sensor Magnetometer 76
Tabel 4.3. Hasil Pengujian Simpangan dari perintah maju lurus sejauh 15 meter. 84
Daftar Lambang
Fa(x) Fungsi Keanggotaan A di X
Derajat keanggotaan x dalam himpunan fuzzyA
Derajat keanggotaan dari x
Firing Strength dari aturan
Output aturan Fuzzy ke-i
zf Output dari Fuzzy (Takagi Sugeno Kang)
xf input x dari persamaan Fuzzy (Takagi Sugeno Kang)
yf input y dari persamaan Fuzzy (Takagi Sugeno Kang)
A Kuat Arus - Ampere
V Tegangan – Volt
W Daya
Kgf Cm kilogram-force Centimeter (satuan torsi)
LP PWM Roda Kiri
RP PWM Roda Kanan
ERR Error Sudut
DL Selisih Kecepatan Roda Kiri
DR Selisih Kecepatan Roda Kanan
‘x’ State Berhenti
‘w’ State Maju
‘s’ State Mundur
‘d’ State Putar Kanan
‘1’ State Belok Kiri
Daftar Singkatan
TSK Takagi Sugeno Kang
PC Personal Computer
LXDE Lightweight X11 Desktop environment
Codec compressor-decompressor
IP Internet Protocol
ISR Interrupt Service Routine
SDA Serial Data Line
SCL Serial Clock Line
MPEG Motion Picture Experts Group
DVD Digital Versatile Disc
GUI Graphical User Interface
WLAN WirelessLocal Area Network
DC Direct Current
CSI Camera Serial Interface
KB Kilo Byte
PWM Pulse Width Modulation
VLC Video Lan Client
VGA Video Graphic Array
MJPEG Motion Joint Photographic Experts Group