Institutional Repository | Satya Wacana Christian University: Sistem Pengatur Kecepatan Roda Berbasis Fuzzy Logic Controller dan Realtime Video Streaming pada Robot Pengangkut Barang
SISTEM PENGATUR KECEPATAN RODA BERBASIS FUZZY 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
Oktober 2014
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 Fuzzy Logic 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 ratarata sebesar 22.2 cm. Sistem streaming video realtime untuk sistem embedded Raspberry Pi
memiliki tunda waktu 180-312 mili-sekon pada frame rate 30 fps.
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
maneuver. In order to make sure the movement of the robot is correct, error correction is
applied with fuzzy logic controller to regulate the wheel speed based on input sensors of the
robot. Raspberry Pi also served to perform real-time video stream which is displayed on the
graphical user interfaces of the robot, so that user could monitor the condition of the
environment around the robot.
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, and 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
has delay of 180-312 mili-second at frame rate of 30 fps.
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.
Salatiga, Oktober 2014
DAFTAR ISI
INTISARI
i
ABSTRACT
ii
KATA PENGANTAR
iii
DAFTAR ISI
iv
DAFTAR GAMBAR
viii
DAFTAR TABEL
xii
DAFTAR LAMBANG
xiii
DAFTAR SINGKATAN
xv
BAB I PENDAHULUAN
1
1.1. Tujuan
1
1.2. Latar Belakang
1
1.3. Gambaran Sistem
2
1.4. Batasan Masalah
4
1.5. Perincian Tugas
5
1.6. Sistematika Penulisan
6
BAB II DASAR TEORI
7
2.1. Fuzzy Logic Controller
7
2.1.1. Teori Fuzzy
7
2.1.2. Alasan Digunakannya Logika Fuzzy
9
2.1.3. Himpunan Fuzzy
9
2.1.4. Operator Logika Fuzzy
12
2.1.5. Aturan Jika-Maka (IF-THEN Rules)
14
2.1.6. Proses Pengambilan Keputusan Fuzzy (Fuzzy Inference Process)
Model Fuzzy Takagi-Sugeno-Kang (TSK)
2.2. Sistem Embedded
17 2.1.7.
18
20
2.2.1. Definisi sistem embedded
20
2.2.2. Raspberry Pi sebagai sistem embedded
21
2.3.Sistem Realtime
23
2.4. Realtime Video Streaming
23
2.5.Video Streaming dengan GStreamer
25
2.5.1. Komponen GStreamer
25
2.5.2. Mekanisme Komunikasi GStreamer
28
BAB III PERANCANGAN
30
3.1. Perancangan Sistem Mekanik Robot Pengangkut Barang
31
3.1.1. Tubuh dan Kerangka Robot Pengangkut Barang
31
3.1.2. Sistem Gerak Robot
34
3.2. Perancangan Sistem Elektronik Robot Pengangkut Barang
34
3.2.1 Mikrokontroler
35
3.2.2. Driver Motor
38
3.2.3. Rotary Encoder
38
3.2.4. Magnetometer
40
3.2.5. Raspberry Pi
41
3.2.6. Perangkat keras untuk Komunikasi Socket
41
3.2.7. Modul Kamera
42
3.2.8. Sumber Daya dan Kelistrikan
43
3.3. Perancangan Perangkat lunak
43
3.3.1. Perancangan Kontroler Level Bawah
44
3.3.1.1. Akuisisi data Sensor
46
3.3.1.1.1. Rotary Encoder
46
3.3.1.1.2. Magnetometer
47
3.3.1.2. Algoritma Fuzzy Logic Controller
48
3.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
3.3.2. Perancangan Kontroler Level Menengah
57
61
3.3.2.1 Perancangan Komunikasi Socket dan serial
62
3.3.2.2 Perancangan Video Streaming
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 Fuzzy Logic Controller
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.3.7. Hasil Fuzzy Surface dengan Menggunakan Fuzzy Toolbox Matlab
87
4.4. Pengujian Stream Video
89
4.5. Pengujian Komunikasi Wireless
90
BAB V KESIMPULAN DAN SARAN
92
5.1 Kesimpulan
92
5.2 Saran 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 2.9. Proses Penalaran Model Fuzzy Takagi-Sugeno-Kang
19
Gambar 2.10. Product Board dari Raspberry Pi Model B Rev 2.0
21
Gambar 2.11. Empat tahap dari video streaming
24
Gambar 2.12. Source Element
26
Gambar 2.13. Element Filter dan Demuxer
26
Gambar 2.14. Element Sink
27
Gambar 2.15. Pipeline yang terdiri dari berbagai macam element.
27
Gambar 2.16. Beberapa element yang dikumpulkan menjadi satu bin.
28
Gambar 2.17. Mekanisme Komunikasi pada GStreamer
29
Gambar 3.1. Blok Diagram dari Sistem Robot Pengangkut Barang yang dirancang
31
Gambar 3.2. Tampak Depan Samping Kerangka Robot Pengangkut Barang
32
Gambar 3.3. Tampak Samping Kanan dan Tampak Depan Kerangka Robot Pengangkut Barang
32
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 Photo Interrupter 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
pada Pusat kontrol.
65
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.1 Pengujian Robot dalam kondisi Terbeban dan kondisi tanpa beban
71
Gambar 4.2. Uji Karakteristik Aktuator dari Sistem Robot Pengangkut Barang
71
Gambar 4.3. Hasil pembacaan Karakteristik Motor dalam Kondisi Tanpa Beban
72
Gambar 4.5. Pembagian Kecepatan Motor DC kedalam 4 Bagian
73
Gambar 4.6. Hasil Pembacaan Pengujian Penuh terhadap Derau Keluaran Magnetometer
77
Gambar 4.7. Error robot tanpa koreksi dari algoritma Fuzzy Logic Controller
78
Gambar 4.8. Hasil Pengujian Koreksi Error Oleh Rotary encoder
79
Gambar 4.9. Pengujian Koreksi Error dengan Masukan Magnetometer
80
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.14. Perubahan arah sudut hadap untuk perintah belok 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. Fuzzy Surface hasil simulasi dari Fuzzy Logic Controller 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
Elektronika dan Komputer UKSW.
91
Daftar Tabel
Tabel 2.1. Spesifikasi Hardware Raspberry Pi dan Perbandingannya dengan Notebook PC 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
Tabel 4.4. Hasil Percobaan Tunda waktu Video Streaming
90
Daftar Lambang
Fa(x)
Fungsi Keanggotaan A di X
Derajat keanggotaan x dalam himpunan fuzzy A
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
‘a’
State Putar kiri
‘s’
State Mundur
‘d’
State Putar Kanan
‘1’
State Belok Kiri
‘2’
State Belok Kanan
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
Wireless Local 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
SDK
Software Development Kit
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
Oktober 2014
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 Fuzzy Logic 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 ratarata sebesar 22.2 cm. Sistem streaming video realtime untuk sistem embedded Raspberry Pi
memiliki tunda waktu 180-312 mili-sekon pada frame rate 30 fps.
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
maneuver. In order to make sure the movement of the robot is correct, error correction is
applied with fuzzy logic controller to regulate the wheel speed based on input sensors of the
robot. Raspberry Pi also served to perform real-time video stream which is displayed on the
graphical user interfaces of the robot, so that user could monitor the condition of the
environment around the robot.
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, and 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
has delay of 180-312 mili-second at frame rate of 30 fps.
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.
Salatiga, Oktober 2014
DAFTAR ISI
INTISARI
i
ABSTRACT
ii
KATA PENGANTAR
iii
DAFTAR ISI
iv
DAFTAR GAMBAR
viii
DAFTAR TABEL
xii
DAFTAR LAMBANG
xiii
DAFTAR SINGKATAN
xv
BAB I PENDAHULUAN
1
1.1. Tujuan
1
1.2. Latar Belakang
1
1.3. Gambaran Sistem
2
1.4. Batasan Masalah
4
1.5. Perincian Tugas
5
1.6. Sistematika Penulisan
6
BAB II DASAR TEORI
7
2.1. Fuzzy Logic Controller
7
2.1.1. Teori Fuzzy
7
2.1.2. Alasan Digunakannya Logika Fuzzy
9
2.1.3. Himpunan Fuzzy
9
2.1.4. Operator Logika Fuzzy
12
2.1.5. Aturan Jika-Maka (IF-THEN Rules)
14
2.1.6. Proses Pengambilan Keputusan Fuzzy (Fuzzy Inference Process)
Model Fuzzy Takagi-Sugeno-Kang (TSK)
2.2. Sistem Embedded
17 2.1.7.
18
20
2.2.1. Definisi sistem embedded
20
2.2.2. Raspberry Pi sebagai sistem embedded
21
2.3.Sistem Realtime
23
2.4. Realtime Video Streaming
23
2.5.Video Streaming dengan GStreamer
25
2.5.1. Komponen GStreamer
25
2.5.2. Mekanisme Komunikasi GStreamer
28
BAB III PERANCANGAN
30
3.1. Perancangan Sistem Mekanik Robot Pengangkut Barang
31
3.1.1. Tubuh dan Kerangka Robot Pengangkut Barang
31
3.1.2. Sistem Gerak Robot
34
3.2. Perancangan Sistem Elektronik Robot Pengangkut Barang
34
3.2.1 Mikrokontroler
35
3.2.2. Driver Motor
38
3.2.3. Rotary Encoder
38
3.2.4. Magnetometer
40
3.2.5. Raspberry Pi
41
3.2.6. Perangkat keras untuk Komunikasi Socket
41
3.2.7. Modul Kamera
42
3.2.8. Sumber Daya dan Kelistrikan
43
3.3. Perancangan Perangkat lunak
43
3.3.1. Perancangan Kontroler Level Bawah
44
3.3.1.1. Akuisisi data Sensor
46
3.3.1.1.1. Rotary Encoder
46
3.3.1.1.2. Magnetometer
47
3.3.1.2. Algoritma Fuzzy Logic Controller
48
3.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
3.3.2. Perancangan Kontroler Level Menengah
57
61
3.3.2.1 Perancangan Komunikasi Socket dan serial
62
3.3.2.2 Perancangan Video Streaming
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 Fuzzy Logic Controller
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.3.7. Hasil Fuzzy Surface dengan Menggunakan Fuzzy Toolbox Matlab
87
4.4. Pengujian Stream Video
89
4.5. Pengujian Komunikasi Wireless
90
BAB V KESIMPULAN DAN SARAN
92
5.1 Kesimpulan
92
5.2 Saran 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 2.9. Proses Penalaran Model Fuzzy Takagi-Sugeno-Kang
19
Gambar 2.10. Product Board dari Raspberry Pi Model B Rev 2.0
21
Gambar 2.11. Empat tahap dari video streaming
24
Gambar 2.12. Source Element
26
Gambar 2.13. Element Filter dan Demuxer
26
Gambar 2.14. Element Sink
27
Gambar 2.15. Pipeline yang terdiri dari berbagai macam element.
27
Gambar 2.16. Beberapa element yang dikumpulkan menjadi satu bin.
28
Gambar 2.17. Mekanisme Komunikasi pada GStreamer
29
Gambar 3.1. Blok Diagram dari Sistem Robot Pengangkut Barang yang dirancang
31
Gambar 3.2. Tampak Depan Samping Kerangka Robot Pengangkut Barang
32
Gambar 3.3. Tampak Samping Kanan dan Tampak Depan Kerangka Robot Pengangkut Barang
32
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 Photo Interrupter 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
pada Pusat kontrol.
65
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.1 Pengujian Robot dalam kondisi Terbeban dan kondisi tanpa beban
71
Gambar 4.2. Uji Karakteristik Aktuator dari Sistem Robot Pengangkut Barang
71
Gambar 4.3. Hasil pembacaan Karakteristik Motor dalam Kondisi Tanpa Beban
72
Gambar 4.5. Pembagian Kecepatan Motor DC kedalam 4 Bagian
73
Gambar 4.6. Hasil Pembacaan Pengujian Penuh terhadap Derau Keluaran Magnetometer
77
Gambar 4.7. Error robot tanpa koreksi dari algoritma Fuzzy Logic Controller
78
Gambar 4.8. Hasil Pengujian Koreksi Error Oleh Rotary encoder
79
Gambar 4.9. Pengujian Koreksi Error dengan Masukan Magnetometer
80
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.14. Perubahan arah sudut hadap untuk perintah belok 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. Fuzzy Surface hasil simulasi dari Fuzzy Logic Controller 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
Elektronika dan Komputer UKSW.
91
Daftar Tabel
Tabel 2.1. Spesifikasi Hardware Raspberry Pi dan Perbandingannya dengan Notebook PC 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
Tabel 4.4. Hasil Percobaan Tunda waktu Video Streaming
90
Daftar Lambang
Fa(x)
Fungsi Keanggotaan A di X
Derajat keanggotaan x dalam himpunan fuzzy A
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
‘a’
State Putar kiri
‘s’
State Mundur
‘d’
State Putar Kanan
‘1’
State Belok Kiri
‘2’
State Belok Kanan
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
Wireless Local 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
SDK
Software Development Kit