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