• Tidak ada hasil yang ditemukan

Perencanaan Jalur Mobile Robot Qbot Menggunakan Metode B-Spline Dengan Kontroler Neuro-Fuzzy

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perencanaan Jalur Mobile Robot Qbot Menggunakan Metode B-Spline Dengan Kontroler Neuro-Fuzzy"

Copied!
88
0
0

Teks penuh

(1)

HALAMAN JUDUL

TUGAS AKHIR TE–141599

PERENCANAAN JALUR MOBILE ROBOT QBOT

MENGGUNAKAN METODE B-SPLINE DENGAN

KONTROLER NEURO FUZZY

Dwi Wulandari NRP 2214105056 Dosen Pembimbing Ir. Joko Susila, MT. JURUSAN TEKNIK ELEKTRO Fakultas Teknologi Industri

Institut Teknologi Sepuluh Nopember Surabaya 2016

(2)

HALAMAN JUDUL

FINAL PROJECT TE–141599

PATH PLANNING MOBILE ROBOT QBOT USING B-SPLINE

METHOD WITH NEURO FUZZY CONTROLLER

Dwi Wulandari NRP 2214105056

Supervisor

Ir. Joko Susila, MT.

DEPARTMENT OF ELECTRICAL ENGINEERING Faculty of Industrial Technology

Sepuluh Nopember Institute of Technology

(3)
(4)

PERENCANAAN JALUR MOBILE ROBOT QBOT

MENGGUNAKAN METODE B-SPLINE DENGAN KONTROLER NEURO-FUZZY

Nama : Dwi Wulandari

NRP : 2214105056

Dosen Pembimbing : Ir. Joko Susila, MT.

NIP : 196606061991021001

ABSTRAK

Mobile robot adalah sebuah mesin otomatis yang mampu bergerak pada suatu kondisi tertentu. Pengenalan lingkungan sekitar mobile robot merupakan hal penting agar mobile robot dapat menjalankan misinya. Dalam hal ini perencanaan jalur dilakukan untuk mendapatkan informasi rute yang akan dilalui Mobile Robot dari posisi awal ke posisi akhir yang telah ditentukan. Untuk kontroler yang digunakan yaitu neuro-fuzzy agar Qbot mobile robot dapat mengikuti referensi jalur yang telah ditentukan menggunakan metode B-spline. Metode B-spline ini juga digunakan agar pergerakan mobile robot lebih smooth saat menghindari obstacle. Hasil pengujian kontroler neuro fuzzy pada Qbot mobile robot untuk training pola 1 waktu yang dibutuhkan untuk mencapai target adalah 34,2 detik untuk bergerak dari titik (0,0)cm menuju titik (0,275)cm, sedangkan waktu yang dibutuhkan kontroler neuro fuzzy pada percobaan pertama adalah 32,02 detik, percobaan kedua 32,31 detik dan percobaan ketiga 30,92 detik. Untuk pola 2 saat training membutuhkan waktu 39,32 detik untuk bergerak dari titik (0,0)cm menuju titik (0,275)cm, sedangkan kontroler neuro fuzzy pada percobaan pertama adalah 37,67 detik, percobaan kedua 36,74 detik dan percobaan ketiga 36,54 detik. Untuk perbedaan respon sinyal kontrol neuro fuzzy dari tiga kali kali percobaan disebabkan faktor eksternal seperti kondisi kalibrasi sensor dan lingkungan yang dapat mempengaruhi sensor.

Kata Kunci : B-spline,Neuro-fuzzy, perencanaan jalur, navigasi, kontroler, Qbot mobile robot dan training

(5)

PATH PLANNING MOBILE ROBOT QBOT USING B-SPLINE METHOD WITH NEURO FUZZY CONTROLLER

Name : Dwi Wulandari Register Number : 2214105056

Supervisor : Ir. Joko Susila, MT. ID Number : 196606061991021001

ABSTRACT

Mobile robot is an automated machine that is able to move in a certain condition. The introduction of mobile robot environment is an important thing that the mobile robot can carry out its mission. In this case the path planning is done to get the information that will be passed Mobile Robot from an initial position to a final position has been determined. For controllers used are neuro-fuzzy Qbot mobile robot that can follow a predetermined path references using B-spline. Results of testing the neuro fuzzy controller on Qbot mobile robot for training to move from the point (0, 0) cm towards the point (0, 275) cm, while the time required neuro fuzzy controller on the first try is 32.02 seconds, the second experiment 32.31 seconds and the third experiment 30.92 sec. For pattern 2 when training takes 39.32 seconds to move from the point (0, 0) cm towards the point (0, 275) cm, while the neuro fuzzy controller on the first try is 37.67 seconds, the second experiment 36.74 seconds and 36.54 seconds third trial. For the difference in response neuro fuzzy control signals from three trials due to external factors such as sensor calibration and environmental conditions that can affect the sensor.

Keyword : B-spline,Neuro fuzzy, path planning, navigation,

(6)

DAFTAR ISI

HALAMAN JUDUL ... i

PERNYATAAN KEASLIAN TUGAS AKHIR ... v

HALAMAN PENGESAHAN ... vii

ABSTRAK ... ix

ABSTRACT ... xi

KATA PENGANTAR ... xiii

DAFTAR ISI ... xv

DAFTAR GAMBAR ... xix

DAFTAR TABEL ... xxi

BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Permasalahan ... 2 1.3 Tujuan ... 2 1.4 Metodologi ... 2 1.5 Sistematika ... 3 1.6 Relevansi ... 3

BAB II TEORI PENUNJANG ... 5

2.1 Tinjauan Pustaka ... 5

2.2 Qbot Mobile Robot ... 6

2.2.1 Sistem Perangkat Keras Qbot ... 7

2.2.2 Printed Circuit Board (PCB)... 8

2.2.3 Komponen Mobile Robot ... 9

2.2.4 QUARC ... 11

2.3 Logika Fuzzy ... 14

2.4 Kontroler Logika Fuzzy ... 15

2.4.1 Fuzzifikasi ... 16

2.4.2 Basis Pengetahuan ... 17

2.4.3 Mekanisme Pertimbangan Fuzzy ... 17

2.4.4 Defuzzifikasi ... 17

2.5 Jaringan Syaraf Tiruan (Neural Network) ... 18

2.5.1 Formulasi Forward (Forward Propagation) ... 19

2.5.2 Formulasi Backward (Backward Propagation) ... 20

2.6 Metode B-spline ... 21

2.6.1 Struktur B-spline Standar ... 22

(7)

2.6.3 Fungsi Keanggotaan Fuzzy B-spline Orde 2 ... 25

2.6.4 Fungsi Keanggotaan Fuzzy B-spline Orde 3 ... 27

2.7 Kontroler Neuro-Fuzzy ... 29

2.7.1 Tahap Training ... 30

2.7.2 Tahap Forward Propagation ... 30

2.7.3 Tahap Backward Propagation ... 32

BAB III PERANCANGAN SISTEM... 33

3.1 Kinematika Mobile Robot Qbot ... 33

3.1.1 Differential Drive Kinematics ... 33

3.1.2 Lokasi ICC ... 34

3.1.3 Forward Kinematics ... 34

3.1.4 Inverse Kinematics ... 36

3.2 Perancangan Kontroler ... 36

3.2.1 Blok Diagram Sistem ... 37

3.2.2 Struktur Fuzzy B-spline Neural Network ... 38

3.2.3 Fungsi Keanggotaan Fuzzy B-spline ... 39

3.3 Perancangan Sistem Simulasi B-spline ... 40

3.3.1 Simulasi B-spline Jalur 1 ... 41

3.3.2 Simulasi B-spline Jalur 2 ... 44

BAB IV HASIL DAN ANALISA ... 47

4.1 Implementasi Perencanaan Jalur 1 ... 47

4.1.1 Tahap Training ... 47

4.1.2 Simulasi Offline Learning ... 51

4.1.3 Implementasi Fuzzy B-spline Neural Network ... 51

4.2 Implementasi Perencanaan Jalur 2 ... 54

4.2.1 Tahap Training ... 54

4.2.2 Simulasi Offline Learning ... 58

4.2.3 Implementasi Fuzzy B-spline Neural Network ... 59

BAB V PENUTUP ... 63 5.1 Kesimpulan ... 63 5.2 Saran ... 63 DAFTAR PUSTAKA ... 65 LAMPIRAN ... 67 Lampiran A ... 67

(8)

Lampiran B... 71 RIWAYAT PENULIS ... 79

(9)

DAFTAR GAMBAR

Gambar 2.1 Qbot Mobile Robot ... 6

Gambar 2.2 Hirarki Komunikasi Qbot Mobile Robot ... 7

Gambar 2.3 Rangka Qbot Mobile Robot ... 7

Gambar 2.4 Tombol pada Rangka Qbot ... 8

Gambar 2.5 PCB Qbot ... 8

Gambar 2.6 Kamera USB Logitech Quickcam 9000 ... 9

Gambar 2.7 Baterai Qbot ... 10

Gambar 2.8 Letak Baterai pada Qbot ... 10

Gambar 2.9 Sensor Inframerah SHARP 2Y0A02... 11

Gambar 2.10 Sensor MaxSonar-EZ0 ... 11

Gambar 2.11 Himpunan Fuzzy ... 14

Gambar 2.12 Tipe Membership Function ... 15

Gambar 2.13 Sistem Loop Tertutup dengan Kontroler Fuzzy ... 16

Gambar 2.14 Struktur Dasar Kontroler Fuzzy ... 16

Gambar 2.15 Struktur Membership Function Fuzzy ... 16

Gambar 2.16 Jaringan Syaraf Tiruan sebagai Fungsi Pemetaan ... 19

Gambar 2.17 Struktur Model Jaringan Syaraf Tiruan ... 19

Gambar 2.18 Struktur Formulasi Forward ... 20

Gambar 2.19 Struktur Formulasi Backward ... 20

Gambar 2.20 Diagram Blok Jaringan Syaraf Tiruan B-spline ... 22

Gambar 2.21 Hubungan Recurrence ... 23

Gambar 2.22 Fungsi Basis Orde 1 ... 23

Gambar 2.23 Fungsi Basis Orde 2 ... 24

Gambar 2.24 Fungsi Basis Orde 3 ... 25

Gambar 2.25 B-spline Membership Function Orde 2 ... 27

Gambar 2.26 Adjusted B-spline Membership Function Orde 2 ... 27

Gambar 2.27 B-spline Membership Function Orde 3 ... 28

Gambar 2.28 Adjusted B-spline Membership Function Orde 3 ... 28

Gambar 2.29 Struktur Kontroler Neuro-Fuzzy 2 Input ... 29

Gambar 3.1 Kinematik Differential Robot ... 33

Gambar 3.2 Forward Kinematics Relative to ICC ... 35

Gambar 3.3 Diagram Blok Sistem ... 37

Gambar 3.4 Struktur Fuzzy B-spline Neural Network ... 38

Gambar 3.5 Membership Function Jarak ke Target Jalur 1 ... 41

Gambar 3.6 Membership Function Jarak ke Obstacle Jalur 1 ... 41

Gambar 3.7 Membership Function Sudut ke Target Jalur 1 ... 42

(10)

Gambar 3.9 Perencanaan Jalur 1 B-spline ... 43

Gambar 3.10 Membership Function Jarak ke Target Jalur 2 ... 44

Gambar 3.11 Membership Function Jarak ke Obstacle Jalur 2 ... 44

Gambar 3.12 Membership Function Sudut ke Target Jalur 2 ... 45

Gambar 3.13 Membership Function Sudut ke Obstacle Jalur 2 ... 45

Gambar 3.14 Perencanaan Jalur 2 B-spline ... 46

Gambar 4.1 Posisi Robot Training Jalur 1 ... 47

Gambar 4.2 Hasil Training Perencanaan Jalur 1 ... 48

Gambar 4.3 Training Perencanaan Jalur 1 ... 48

Gambar 4.4 Respon Jarak ke Target Tahap Training Jalur 1... 49

Gambar 4.5 Respon Jarak ke Obstacle Tahap Training Jalur 1 ... 49

Gambar 4.6 Respon Sudut ke Target Tahap Training Jalur 1 ... 50

Gambar 4.7 Respon Sudut ke Obstacle Tahap Training Jalur 1 .... 50

Gambar 4.8 Sinyal Kontrol Tahap Training Jalur 1 ... 50

Gambar 4.9 Hasil Proses Learning Perencanaan Jalur 1 ... 51

Gambar 4.10 Percobaan 1 Perencanaan Jalur 1 ... 52

Gambar 4.11 Percobaan 2 Perencanaan Jalur 1 ... 52

Gambar 4.12 Percobaan 3 Perencanaan Jalur 1 ... 52

Gambar 4.13 Perbandingan Kecepatan Roda Kanan Jalur 1 ... 53

Gambar 4.14 Perbandingan Kecepatan Roda Kiri Jalur 1 ... 53

Gambar 4.15 Perbandingan Sinyal Kontrol Fuzzy B-spline Neural Network Jalur 2 ... 54

Gambar 4.16 Posisi Robot Training Jalur 2 ... 55

Gambar 4.17 Hasil Training Perencanaan Jalur 2 ... 55

Gambar 4.18 Training Perencanaan Jalur 2 ... 56

Gambar 4.19 Respon Jarak ke Target Tahap Training Jalur 2... 56

Gambar 4.20 Respon Jarak ke Obstacle Tahap Training Jalur 2 ... 57

Gambar 4.21 Respon Sudut ke Target Tahap Training Jalur 2 ... 57

Gambar 4.22 Respon Sudut ke Obstacle Tahap Training Jalur 2 .... 57

Gambar 4.23 Sinyal Kontrol Tahap Training Jalur 2 ... 58

Gambar 4.24 Hasil Proses Learning Perencanaan Jalur 2 ... 58

Gambar 4.25 Percobaan 1 Perencanaan Jalur 2 ... 59

Gambar 4.26 Percobaan 2 Perencanaan Jalur 2 ... 59

Gambar 4.27 Percobaan 3 Perencanaan Jalur 2 ... 60

Gambar 4.28 Perbandingan Kecepatan Roda Kanan Jalur 2 ... 60

Gambar 4.29 Perbandingan Kecepatan Roda Kiri Jalur 2 ... 61

Gambar 4.30 Perbandingan Sinyal Kontrol Fuzzy B-spline Neural

(11)

DAFTAR TABEL

Tabel 2.1 Spesifikasi Sistem dan Parameter Model Qbot Mobile

Robot ... 6

Tabel 2.2 Deskripsi Blok Set Qbot yang Relevan untuk Qbot di QUARC ... 12

Tabel 2.3 Deskripsi Blok QUARC pada Qbot... 13

Tabel 3.1 Control Rules Logika Fuzzy Jalur 1 ... 43

Tabel 3.2 Control Rules Logika Fuzzy Jalur 2 ... 46

Tabel 4.1 Perbandingan Waktu Tempuh Perencanaan Jalur 1 ... 54

(12)

1

BAB I

PENDAHULUAN

Pada bab satu akan dibahas mengenai latar belakang, permasalahan, tujuan, metodologi, sistematika, dan relevansi tugas akhir yang dikerjakan.

1.1

Latar Belakang

Perkembangan teknologi yang semakin pesat mendorong manusia untuk senantiasa menciptakan inovasi-inovasi guna mempermudah pekerjaan. Salah satu inovasi yang terus menerus dikembangkan adalah dalam bidang robotika. Penggunaan robot telah diteliti secara ekstensif dan diharapkan dapat diterapkan dalam kehidupan sehari-hari manusia.

Mobile robot adalah sebuah mesin otomatis yang mampu bergerak pada suatu kondisi tertentu. Tetapi terdapat beberapa kendala pada sistem yang menggunakan metode berdasarkan masukan sensor saat akan menghindari obstacle.

Pada umumnya dalam merancang suatu sistem kendali harus diketahui terlebih dahulu parameter-parameter dari sistem yang akan dikendalikan. Oleh karena itu, perlu adanya proses identifikasi terlebih dahulu dari sistem yang akan dikendalikan secara akurat. Tetapi pada kenyataanya seringkali parameter sistem tersebut sulit ditentukan, baik karena kompleksitas sistem maupun kondisi dinamik sistem (proses). Sebuah pendekatan dalam pengendalian sistem yang parameter-parameternya tidak diketahui atau sulit untuk ditentukan dapat dilakukan dengan menggunakan jaringan syaraf tiruan. Dengan jaringan syaraf tiruan maka parameter–parameter sistem dapat ditentukan tanpa adanya proses identifikasi terhadap sistem yang akan dikendalikan. B-spline merupakan salah satu jenis jaringan syaraf tiruan yang dapat digunakan sebagai komponen pengendali sistem yang parameter-parameternya tidak diketahui atau sulit ditentukan tanpa adanya proses identifikasi terlebih dahulu.

Pada tugas akhir ini dilakukan perencanaan rute Mobile Robot untuk mendapatkan informasi jalur yang akan dilalui dari posisi awal ke posisi akhir yang telah ditentukan. Mobile Robot yang digunakan yaitu Quanser Qbot yang merupakan robot autonomous yang terdiri dari platform iRobot yang banyak digunakan dalam aplikasi robot. Perencanaan jalur pada Qbot mobile robot dilakukan dengan cara

(13)

2

training menggunakan metode B-spline agar robot dapat menentukan titik awal robot hingga dapat bergerak menuju titik akhirnya. Untuk itu akan didesain perencanaan jalur Mobile Robot QBOT menggunakan Metode B-spline dengan kontroler Neuro-Fuzzy agar memperoleh pergerakan mobile robot lebih smooth dan sesuai dengan yang diinginkan.

1.2

Permasalahan

Dalam pergerakan mobile robot diperlukan sebuah navigasi untuk mengendalikan pergerakan robot dari titik awal menuju tujuan akhir. Permasalahan yang dibahas pada tugas akhir ini adalah bagaimana mobile robot Qbot mengikuti jalur yang telah ditentukan di mana pada jalur yang akan ditempuh tersebut terdapat obstacles dan robot dapat lebih smooth saat menghindari obstacles tersebut. Oleh karena itu dibuat sebuah kontroler neuro fuzzy agar robot dapat mengikuti referensi jalur dan dapat lebih smooth saat menghindari obstacles.

1.3

Tujuan

Tujuan dari penelitian tugas akhir ini yaitu agar mobile robot dapat bergerak lebih smooth saat menghindari obstacle dalam mengikuti refrensi jalur yang telah ditentukan menggunakan metode B-spline dengan kontroler Neuro-Fuzzy.

1.4

Metodologi

Metodologi yang digunakan pada penelitian tugas akhir ini adalah sebagai berikut:

1. Tinjauan Pustaka

Dilakukan dengan mengumpulkan dan mempelajari literatur yang mendukung tugas akhir melalui internet dan media cetak berupa buku atau jurnal.

2. Pengambilan Data dan Identifikasi

Pada tahap ini akan dilakukan pengambilan data dari Qbot Mobile robot. Setelah memperoleh data yang dibutuhkan, akan dilakukan identifikasi dari plant untuk memperoleh parameter yang akan digunakan untuk mendesain kontroler sesuai yang diinginkan.

(14)

3

Pada tahap ini dibuat struktur kontroler neuro-fuzzy dengan metode B-spline untuk navigasi Qbot mobile robot dan kontroler disimulasikan secara real time.

4. Implementasi dan Uji Coba

Kontroler yang sudah dirancang lalu diimplementasikan pada plant berupa Qbot Mobile robot pada ruang yang sudah direncanakan jalurnya dan terdapat obstacles

5. Penulisan Buku Tugas Akhir

Penyusunan buku Tugas Akhir meliputi pendahuluan, teori dasar, perancangan sistem, implementasi dan analisa serta penutup.

1.5

Sistematika

Pembahasan Tugas Akhir ini dibagi menjadi lima bab dengan sistematika sebagai berikut :

Bab 1 : Pendahuluan

Bab ini meliputi latar belakang, permasalahan, tujuan penelitian, dan sistematika penulisan.

Bab 2 : Teori Penunjang

Bab ini membahas tinjauan pustaka yang membantu penelitian, diantaranya teori Qbot mobile robot, teori identifikasi sistem kontroler neuro- fuzzy dan Metode B-spline

Bab 3 : Perancangaan Sistem

Pada bab ini dijelaskan mengenai perancangan jalur yang akan dilalui mobile robot Qbot dengan menggunakan metode B-spline serta identifikasi sistem Qbot mobile robot serta kontroler neuro fuzzy Bab 4 : Hasil dan Analisa

Bab ini memuat hasil implementasi kontroler dan pengujiannya pada sistem

Bab 5 : Penutup

Bab ini berisi kesimpulan dan saran dari hasil penelitian yang telah dilakukan

1.6

Relevansi

Hasil yang diperoleh dari tugas akhir ini diharapkan menjadi referensi pengembangan teknologi dan perbandingan metode kontrol yang tepat untuk navigasi Qbot mobile robot dimasa mendatang.

(15)

5

BAB II

TEORI PENUNJANG

Pada bab dua akan dibahas mengenai tinjauan pustaka dan teori-teori yang berhubungan dengan permasalahan yang dibahas pada bab sebelumnya.

2.1

Tinjauan Pustaka

Robot merupakan perangkat mekanik yang dapat dikendalikan oleh perangkat lunak yang menggunakan sensor untuk memandu satu atau lebih efektor melalui gerakan terprogram pada suatu ruang kerja dalam hal untuk manipulasi obyek fisik. Mobile robot adalah sebuah mesin otomatis yang mampu bergerak pada suatu kondisi tertentu. Tetapi terdapat beberapa kendala pada sistem yang menggunakan metode berdasarkan masukan sensor saat akan menghindari obstacle.

Pada penelitian Qbot mobile robot sebelumnya yang dilakukan oleh Afrizal dalam tugas akhirnya telah dibahas mengenai Implementasi Perencanaan Jalur Mobile Robot Qbot Menggunakan Metode Neuro-Fuzzy. Dalam penelitian Tugas Akhir kali ini, akan dibuat perencanaan jalur robot dari titik awal menuju tujuan akhir yang mampu menghindari obstacles di mana untuk perencanaan jalur akan menggunakan metode neuro fuzzy sebagai kontroler untuk navigasi robot dengan metode B-spline agar pergerakan robot dapat lebih smooth saat menghindari obstacle.

Perencanaan jalur pada Qbot mobile robot dilakukan dengan cara training menggunakan metode B-spline agar robot dapat menentukan titik awal robot hingga dapat bergerak menuju titik akhirnya. Pada perencanaan jalur yang akan dilakukan oleh Qbot mobile robot ditentukan terlebih dahulu jarak yang akan ditempuh robot pada bidang (x,y), saat Qbot mobile robot bergerak obstacles yang berada pada jalur akan terbaca oleh sensor jarak dan robot akan menghindarinya dengan pergerakan yang smooth kemudian melanjutkan pergerakan menuju titik posisi tujuan.

Untuk navigasi pergerakan Qbot mobile robot ini digunakan metode kontrol neuro fuzzy di mana kontroler ini untuk mengendalikan kecepatan pergerakan robot untuk mencapai titik tujuan akhirnya dan dapat menghindari obstacles yang berada pada jalur yang akan dilalui Qbot mobile robot.

(16)

4

(17)

6

2.2

Qbot

Mobile Robot

[1]

Qbot Mobile robot merupakan sistem inovatif robot darat autonomous yang menggabungkan ilmu kendaraan darat dengan Quanser Controller Module (QCM). Mobile robot ini terdiri dari iRobot Create® Robotic Platform, sensor inframerah dan sonar serta sebuah kamera Logitech Quickcam Pro 9000 USB seperti terlihat pada Gambar 2.1. QCM yang terpasang pada Qbot yang mana menggunakan komputer Gumstix untuk menjalankan QuaRC, perangkat lunak kontrol Quanser, dan Qbot kartu data akuisisi (DAC).

Gambar 2.1 Qbot Mobile Robot [1]

Berikut ini spesifikasi dan model parameter Qbot mobile robot dapat dilihat pada Tabel 2.1 berikut:

Tabel 2.1 Spesifikasi Sistem dan Parameter Model Qbot Mobile Robot

Simbol Deskripsi Value Unit

D Diameter Qbot mobile robot 0,34 m

H Tinggi Qbot (dengan tambahan kamera) mobile robot 0,19 m vmax Kecepatan maksimum dari Qbot mobile robot 0,5 m/s M Berat total Qbot mobile robot 2,92 kg

Antarmuka untuk QCM adalah MATLAB Simulink dengan QuaRC. Qbot dapat menerima perintah, melalui tiga blok yang berbeda: blok Roomba untuk menggerakkan Qbot, blok HIL untuk membaca dari sensor dan/atau menulis untuk output servo dan blok Open CV untuk mengakses kamera. Kontroler dikembangkan pada Simulink dengan

(18)

7

QuaRC dan model ini diunduh dan disusun pada target (Gumstix). Diagram dari konfigurasi ini ditampilkan dalam Gambar 2.2.

Gambar 2.2 Hirarki Komunikasi Qbot Mobile Robot [1] 2.2.1 Sistem Perangkat Keras Qbot

Qbot menggunakan rangka iRobot Create® s e p e r t i p a d a Gambar 2.3. Qbot mengikuti standar Quanser untuk sumbu rangka tubuh, di mana sumbu x pada arah maju, sumbu y sebelah kiri dan sumbu z ada di atas. Diameter dari rangka ini 34 cm dan tinggi (tanpa tambahan kamera) adalah 7 cm. dan Qbot digerakkan oleh dua roda kemudi yang berbeda. iRobot Create® terdapat bumper sensor dan inframerah. QCN dapat mengakses data dari sensor ini.

Gambar 2.3 Rangka Qbot Mobile Robot [1]

Qbot dihidupkan dengan menekan tombol Power. Gambar 2.4 menunjukkan tombol yang digunakan untuk mengoperasikan Qbot.

(19)

8

Tombol Play dan Advance untuk menjalankan dalam demo untuk Qbot dan tidak diperlukan untuk tujuan Qbot.

Gambar 2.4 Tombol pada Rangka Qbot [1] 2.2.2 Printed Circuit Board (PCB)

Kabel dan sirkuit untuk Qbot dalam PCB yang terletak di penutup hitam Qbot atas komputer Gumstix dan DAC. Sensor dan kamera yang juga terpasang pada PCB. Gambar 2.5 menunjukkan pin diakses bagi pengguna. Secara khusus, DIO, output PWM, dan pin input

analog telah diberi label untuk lebih jelas.

Gambar 2.5 PCB Qbot

2.2.2.1 Pin Digital Input/Output (DIO)

Saluran DIO (0 samapai 6) ditetapkan sebgai input secara bawaan. Saluran DIO perlu dikonfigurasi baik sebagai input (atau ouput, tapi tidak keduanya) menggunakan blok HIL Initialize. Jika output harus dalam keadaan yang dikenal power up, dianjurkan bahwa resistor 10K diletakkan dari I/O untuk 5V atau GND sesuai kebutuhan. Ada saluran digital akhir (7) yang merupakan output tetap, dan itu diwakili oleh LED berlabel DIO7.

(20)

9

2.2.2.2 Pin Serial Gumstix IR

Qbot menyediakan serial koneksi TTL ke port serial Gumstix IR (port no 2). Port serial terdiri dari ground (GND), menerima Gumstix IR RXD, mengirimkan Gumstix IR TXD dan pin daya (+3.3V atau +5.0V). Port serial diakses melalui blok QuaRC Stream atau Stream API.

2.2.2.3 SW/nSW dan INT/EXT Jumpers

INT/EXT jumper switch Qbot dari internal daya dari baterai iRobot Create (INT) dan eksternal baterai power supply (EXT). Tidak ada baterai eksternal yang disertakan pada Qbot, jadi jumper ini harus dibiarkan dalam posisi INT untuk daya Qbot tersebut. Saat jumper power supply dalam posisi INT, jumper SW/ NSW menunjukkan apakah iRobot Create harus diaktifkan (SW) untuk Qbot menerima daya atau apakah Qbot harus selalu membutuhkan daya bahkan ketika iRobot Create dalam keadaan mati (nSW).

2.2.3 Komponen Mobile Robot

Mobile robot ini terdiri dari iRobot Create® Robotic Platform, sensor inframerah dan sonar serta sebuah kamera Logitech Quickcam Pro 9000 USB.

2.2.3.1 Qbot Data Acquisition Card (DAC)

Qbot DAC adalah kartu data akuisisi, yang mampu menerima input analog dan input lainnya (untuk sensor sonar). Qbot DAC dapat juga membaca output PWM untuk servo aktuatuor. Qbot DAC terletak di bawah penutup hitam Qbot.

2.2.3.2 Kamera USB

Kamera USB Logitech Quickcam Pro 9000 terpasang pada bagian atas Qbot seperti pada Gambar 2.6. Blok QuaRC menggunakan Open Source Computer Vision yang menyediakan pengguna untuk mengambil dan menampilkan gambar secara real time, memproses dan menyimpannya untuk analisis.

(21)

10

2.2.3.3 Gumstix

Gumstix skala kecil berfungsi penuh pada komputer open source di mana Simulink MATLAB secara langsung dapat diunduh, dikompilasi dan dijalankan melalui perangkat lunak QuaRC. Motherboard Gumstix terhubung secara langsung pada Qbot DAC. Pada Gumstix juga terdapat tambahan Wifi untuk menyediakan koneksi nirkabel antara target Gumstix dan komputer host.

2.2.3.4 Baterai Qbot

Qbot ini didukung oleh baterai Advance Power System (APS) yang disediakan oleh iRobot seperti pada Gambar 2.7. Baterai ini terletak di bawah Qbot dan dapat berlangsung terus menerus selama sekitar dua jam setelah terisi penuh.

Gambar 2.7 Baterai Qbot [1]

Baterai terletak di bagian bawah seperti pada Gambar 2.8. Lampu daya Qbot mengindikasikan tingkat daya baterai. Lampu hijau menandakan baterai masih terisi penuh, kemudian secara bertahap berubah menjadi merah bila baterai akan habis. Baterai memerlukan waktu kurang dari 3 jam untuk pengisian baterai. Ketika pengisian, lampu daya akan berkedip perlahan dengan warna jingga dan akan berubah menjadi hijau ketika terisi penuh.

(22)

11

2.2.3.5 Sensor Inframerah dan Sonar

SHARP 2Y0A02 seperti pada Gambar 2.9 merupakan sensor inframerah dengan jarak 20-150cm. Ada lima sensor inframerah yang terpasang pada Qbot. Sensor terhubung kesaluran input analog dari Qbot DAC, yang kemudian dapat dibaca dengan menggunakan blok HIL Read Write.

Gambar 2.9 Sensor Inframerah SHARP 2Y0A02 [1]

MaxSonar-EZ0 seperti pada Gambar 2.10 mendeteksi objek dari 0 inci sampai 254 inci dengan resolusi 1 inci. Objek antara 0 inci dan 6 inci berkisar sebagai 6 inci. Terdapat tiga sensor pada Qbot. Sensor yang terhubung ke saluran masukan lain dari Qbot DAC, yang kemudian dapat dibaca dengan menggunakan blok HIL Read Write.

Gambar 2.10 Sensor Sonar MaxSonar-EZ0 [1] 2.2.4 QUARC

QUARC (Quanser Real-Time Control) adalah perangkat lunak yang menyediakan fasilitas untuk mengembangkan dan menguji coba rancangan kontroler pada komputer host dengan menggunakan perangkat lunak Simulink MATLAB, dengan model yang dirancang dapat langsung diunduh dan dieksekusi pada Gumstix dengan menggunakan komunikasi

(23)

12

wireless secara real time. Pada waktu yang bersamaan operator dapat memantau dan mengukur nilai-nilai dari sensor dan mengatur parameter- parameter kontroler langsung dari komputer host. Pada MATLAB Simulink terdapat beberapa blok yang digunakan untuk melakukan komunikasi dengan Qbot seperti yang terdapat pada Tabel 2.2 dan Tabel 2.3.

Tabel 2.2 Deskripsi Blok Set Qbot yang Relevan untuk Qbot di QUARC

Blok Set Deskripsi

Interface Blok set ini mengimplementasikan dasar

Aplication Program Interfaces (API) yang disediakan oleh iRobot Create®. API dapat dikategorikan berdasarkan fungsional berikut:

1. Sambungkan konfigurasi serial antara kontroler tingkat tinggi (misalnya, PC atau Gumstix) dan Qbot.

2. Pengaturan mode operasi Qbot 3. Mengakses informasi sensorik Qbot 4. Konfigurasi hardware lainnya

(misalnya, pengaturan port I/O digital dan analog, dan mengubah warna LED)

Aplikasi Blok set ini memungkinkan pengguna untuk menerapkan algoritma navigasi menggunakan informasi sensorik yang tersedia. Blok ini hanya menggunakan data encoder roda dan bump sensors untuk navigasi dan menghindari rintangan.

Image Processing Blok set ini mengimplementasikan akuisisi

citra dan pengolahan fungsi menggunakan Library Open CV. Blok set pengolahan citra memungkinkan untuk menangkap gambar dari kamera USB, untuk proses online dan menyimpannya ke disk untuk analisis lebih lanjut.

(24)

13

Tabel 2.3 Penjelasan Deskripsi Blok QUARC pada Qbot

Blok Deskripsi

Blok ini diperlukan untuk membuat sambungan serial ke Qbot. Qbot diidentifikasi oleh Universal Resource Identifier (URI), seperti serial://localhost:1baud=57600,word=8, parity=none,stop=1, di mana port komunikasi 1 dari target terhubung ke port serial Qbot dengan parameter yang ditentukan.

Catatan: Output “rmb” dari blok ini harus terhubung ke input “rmb” dari blok di blok Roomba yang ditetapkan dalam rangka untuk mengakses Roomba. Blok ini menggerakkan Qbot dengan dua input: kecepatan dan radius. Untuk menggerakkan lurus, input radius mengambil 32768 atau 32767.

Blok ini mengambil berbagai data sensor dari Qbot. Input pack_id berkisar 7-42, dan setiap input akan menampilkan nilai dari output pack. Lihat halaman Help MATLAB untuk deskripsi lengkap untuk masing-masing paket ID. Nilai pack_id yang penting:

8 = Dinding (0 = tidak ada dinding, 1 = dinding terlihat)

19 = Jarak (Jarak yang Qbot telah melakukan perjalanan dalam milimeter) 20 = Sudut (Sudut dalam derajat Qbot berubah)

22 = Tegangan (Tegangan dari baterai Qbot dalam milivolt)

23 = Arus (Arus dalam miliamper mengalir atau keluar dari baterai Qbot)

(25)

14

Blok Deskripsi

Blok inisialisasi yang diperlukan dalam semua model QuaRC menggunakan HIL Card. Hanya satu blok HIL Initialize yang dibutuhkan dalam model untuk mengatur satu kendaraan. Blok HIL Read Write harus referensi blok ini untuk menentukan board yang digunakan. Versi saat ini dari Qbot DAC yang dapat membaca dari saluran analog (untuk sensor inframerah) dan saluran sensor sonar. Saluran PWM yang didukung untuk operasi write.

2.3

Logika

Fuzzy

[2]

Logika Fuzzy dikenalkan oleh L.A. Zadeh pada tahun 1965, dengan mengembangkan teori himpunan logika biner. Logika biner hanya mengenal dua macam kondisi yaitu “1” dan “0”, sehingga terdapat batasan yang tegas. L.A. Zadeh kemudian memodifikasi teori himpunan di mana setiap anggotanya memiliki derajat keanggotaan yang bernilai kontinyu antara 0 sampai 1 atau ditulis [0 1], seperti tampak pada Gambar 2.11.

Gambar 2.11 Himpunan Fuzzy

Himpunan Fuzzy merupakan suatu himpunan yang beranggotakan sejumlah istilah dalam pengertian bahasa yang menyatakan level kualitatif dari semesta pembicaraan. Misalnya pengukuran kecepatan putaran motor dapat diterjemahkan ke dalam beberapa istilah bahasa yang menyatakan level kualitatif dari kecepatan

(26)

15

putaran motor. Sehingga apabila semesta pembicaraan berupa kecepatan putaran motor, maka dapat dibuat suatu himpunan fuzzy yaitu “Sangat Lambat”, ”Lambat, ”Sedang”, ”Cepat”, ”Sangat Cepat”.

Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai kenggotaannya (atau sering disebut dengan derajat keanggotaan). Ada beberapa macam bentuk kurva yang sering digunakan untuk menyatakan derajat keanggotaan pada suatu sistem Fuzzy, antara lain bentuk kurva S (Shape), segitiga, trapesium, dan sebagainya. Bentuk-bentuk kurva yang sering digunakan untuk menunjukkan fungsi keanggotaan antara lain terlihat pada Gambar 2.12

Gambar 2.12 Berbagai Tipe Membership Function [2]

2.4

Kontroler Logika

Fuzzy

[3]

Pengendali Fuzzy merupakan suatu sistem kendali yang berdasarkan pada pengetahuan manusia, di mana masukan, keluaran, serta tanggapan sistem diperoleh berdasarkan pengetahuan manusia. Pengendali logika Fuzzy tidak memerlukan model matematis dari proses yang dikendalikan. Blok sistem loop tertutup dengan kendali logika Fuzzy ditunjukkan pada Gambar 2.13.

(27)

16

Gambar 2.13 Sistem Loop Tertutup dengan Kontroler Fuzzy.

Gambar 2.13 menunjukkan dua masukan (crisp input), yaitu masukan kesalahan (error) dan perubahan kesalahan (Δerror) yang diperoleh dari nilai referensi, keluaran plant, dan error sebelumnya. Dua masukan tersebut akan diolah oleh pengendali logika Fuzzy. Struktur dasar pengendali logika Fuzzy ditunjukkan pada Gambar 2.14, yang meliputi empat bagian utama yaitu fuzzifikasi, basis pengetahuan, logika pengambilan keputusan dan defuzzifikasi.

Gambar 2.14 Struktur Dasar Kontroler Fuzzy. 2.4.1 Fuzzifikasi

Fuzzifikasi diperlukan untuk mengubah masukan tegas atau nyata (crisp inputs) yang bersifat bukan fuzzy (nilai real) ke dalam himpunan fuzzy. Data yang berbentuk tegas atau nyata (crisp), dipetakan menjadi nilai linguistik pada semesta pembicaraan tertentu yang selanjutnya dinamakan masukan fuzzy.

(28)

17 2.4.2 Basis Pengetahuan

Basis pengetahuan berisi pengetahuan sistem kendali sebagai pedoman evaluasi keadaan sistem untuk mendapatkan keluaran kendali sesuai yang diinginkan oleh perancang. Basis pengetahuan terdiri dari basis data dan basis aturan fuzzy.

2.4.2.1 Basis Data

Basis data mencakup perancangan fungsi keanggotaan untuk variabel masukan dan keluaran, pendefinisian semesta pembicaraan dan penentuan variabel linguistik setiap variabel masukan dan keluaran.

2.4.2.2 Basis Aturan

Basis aturan kendali fuzzy digunakan untuk menghubungkan variabel-variabel masukan dan variabel-variabel keluaran. Basis aturan fuzzy merupakan kumpulan pernyataan aturan „JIKA-MAKA‟ atau ‘IF– THEN’ yang didasarkan pada pengetahuan manusia untuk mengolah variabel masukan sehingga menghasilkan variabel keluaran dalam bentuk himpunan fuzzy.

2.4.3 Mekanisme Pertimbangan Fuzzy

Terdapat beberapa tipe mekanisme inferensi fuzzy antara lain Mamdani, Larsent dan Takagi sugeno. Perbedaan dari metode ini terletak pada pengambilan kesimpulan logika fuzzy. Pada metode Mamdani maupun Larsent, kesimpulan logika fuzzy berupa derajat keanggotaan sehingga dalam menyimpulkan suatu logika fuzzy dibutuhkan proses defuzzifikasi. Sedangkan pada tipe Takagi Sugeno, kesimpulan logika fuzzy berupa suatu persamaan sehingga tidak diperlukan proses defuzzifikasi. Kelebihan pada logika fuzzy tipe Mamdani dan Larsent lebih sederhana, akan tetapi diperlukan kemampuan untuk mengetahui karakteristik plant untuk menentukan batasan keluaran kontroler. Pada tipe Takagi-Sugeno tidak diperlukan pengetahuan mengenai karakteristik dari plant akan tetapi diperlukan perhitungan yang lebih rumit untuk persamaan pada bagian konsekuen. 2.4.4 Defuzzifikasi

Defuzzifikasi ditujukan untuk menghasilkan suatu aksi kontrol non fuzzy (crisp output) dalam merepresentasikan kemungkinan distribusi aksi kontrol fuzzy yang telah dihasilkan. Metode defuzzifikasi yang sering digunakan adalah metode Mean of Maximum (MOM) dan

(29)

18

metode rata-rata terbobot (weighted average) atau lebih dikenal sebagai Center of Area (COA).

2.4.4.1 Center of Area

Metode center of area digunakan untuk menentukan nilai titik tengah area yang merupakan titik pusat massa dari kombinasi fungsi-fungsi keanggotaan. Secara umum, persamaan untuk metode Center of Area ditunjukkan dengan Persamaan 2.1.

(2.1)

2.4.4.2 Mean of Maximum (MOM)

Metode mean of maxima mengambil semua nilai tiap fungsi keanggotaan dengan derajat keanggotaan maksimum dan menghitung rata-rata dari nilai-nilai tersebut sebagai keluaran tegas. Persamaan 2.2 menunjukkan persamaan umum metode tersebut.

∑ (2.2)

2.4.4.3 Weighted Sum

Metode weigthed sum merupakan metode defuzzifikasi dengan fungsi keanggotaan berupa fungsi singleton. Persamaan 2.3 menunjukkan persamaan defuzzifikasi fungsi singleton.

∑ (2.3)

2.5

Jaringan Syaraf Tiruan

(Neural Network)

[4]

Jaringan syaraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba mensimulasikan proses menyimpan, belajar, dan mengambil kembali pengetahuan yang tersimpan dalam sel syaraf atau neuron pada otak manusia tersebut. Jaringan syaraf tiruan ini pada dasarnya adalah fungsi pemetaan masukan keluaran sistem yang bebas model matematis atau dikenal dengan istilah estimator bebas model. Sistem ini memetakan kondisi ke aksi, dalam hal ini sistem-sistem dinamis yang dimodelkan tidak diekspresikan secara matematis

(30)

19

menggunakan fungsi alih tetapi direpresentasikan dengan menggunakan kotak fungsional yang mengestimasi fungsi-fungsi dari data pelatihan.

Gambar 2.16. Jaringan Syaraf Tiruan sebagai Fungsi Pemetaan

Seperti halnya otak manusia, jaringan syaraf tiruan juga terdiri dari beberapa neuron di mana tiap-tiap neuron dengan neuron yang lainnya saling berhubungan. Neuron tersebut akan memproses tiap informasi yang diterima kemudian dimodelkan dalam suatu bentuk model neuron.

Jaringan syaraf tiruan memiliki kemampuan untuk belajar terhadap suatu kondisi lingkungan dan meningkatkan performansinya melalui pembelajaran. Proses pembelajaran jaringan dilakukan melalui proses iterasi terhadap nilai bobot dan idealnya jaringan menjadi adaptif setelah proses pembelajaran.

Gambar 2.17 Struktur Model Jaringan Saraf Tiruan 2.5.1 Formulasi Forward (Forward Propagation)

Formulasi forward digunakan untuk menghitung keluaran dari setiap neuron pada jaringan saraf tiruan. Gambar 2.18 menunjukkan struktur formulasi forward pada jaringan saraf tiruan yang terdiri dari masukkan, bobot, fungsi aktivasi dan keluaran.

x1 ∑ f(.) x2 x3 xn w1 w2 w3 wn proses pengumpulan informasi y proses penarikan kesimpulan Z

(31)

20

Gambar 2.18 Struktur Formulasi Forward

Untuk formulasinya menggunakan Persamaan 2.4 dan 2.5.

∑ (2.4) (2.5)

2.5.2 Formulasi Backward (Backward Propagation)

Formulasi backward digunakan untuk merevisi bobot dari nilai error yang diperoleh dari proses adaptasi jaringan terhadap keluaran model yang diinginkan. Setiap ada error baru, jaringan dapat belajar dari error tersebut dengan merevisi nilai bobot untuk menyesuaikan karakter nilai.

Gambar 2.19 Struktur Formulasi Backward

Gambar 2.19 menunjukkan struktur formulasi backward pada jaringan saraf tiruan. Persamaan 2.6 dan Persamaan 2.7 menunjukkan formulasi revisi bobot pada proses backward.

(2.6) (2.7)

s

s

x1 x2 x3 wih (1) wih (2) wih (3) Zih (i) yn

s

s

X1 X2 X3 wih (1) wih (2) wih (3) Zih (i) yn e ym +

(32)

-21

2.6

Metode

B-spline

[4]

B-spline adalah salah satu jenis jaringan syaraf tiruan (JST) yang dapat digolongkan dalam kelas AMN (Associative Memory Network) yang dapat menyimpan informasi secara lokal. Hal ini menyebabkan laju pembelajaran berlangsung relative lebih cepat dan secara efisien dapat digunakan sebagai komponen pengendali plant secara online. Seperti halnya jaringan syaraf tiruan jenis AMN lainnya, keluaran jaringan B-spline merupakan kombinasi bobot-bobot adaptif dari jumlah fungsi basis yang diaktifkan oleh masukan tertentu.

Secara historis B-spline telah digunakan secara umum sebagai algoritma pencocokan fungsi (surface fitting) di dalam bidang visualisasi grafis selama 20 tahun belakangan ini. Penggunaan pertama B-spline pertama kali digunakan pada tahun 1972 oleh Cox dan DeBoor. Ketika B-spline digunakan sebagai model set data terdapat kemungkinan memodifikasi data secara lokal, dan juga perubahan yang terjadi secara bersamaan pada respon jaringan lokal. Hal ini menjadi salah satu kemampuan yang menjadikan B-spline menarik untuk model adaptif dan kontrol.

B-spline telah digunakan pada beberapa bidang yang berbeda dalam riset robotik. Penerapannya adalah pada pembangkitan lintasan (jalan) di mana kehalusan lintasan yang dihasilkan. Penggunakan lainnya adalah algoritma pemarkiran mobil secara otomatis, kompensasi non-linier robotik, dan pemodelan aktuator robotik. Kemampuan utama algoritma B-spline adalah nilai keluarannya yang halus yang disebabkan oleh bentuk fungsi basis. Keluaran dari fungsi basis secara otomatis ditentukan oleh algoritmanya.

Beberapa elemen penting pada pembentukan kurva B-splines adalah:

1. Derajat (p) - mengatur seberapa dekat kurva tersebut melewati titik kontrol dari kurva B-splines. Semakin kecil derajat dari kurva B-splines tersebut, maka semakin dekat pula kurva tersebut akan melewati titik-titik kontrol pembentuknya, dan sebaliknya apabila derajat kurva tersebut semakin besar, maka jarak titik kontrol kurva dengan kurva akan semakin jauh. 2. Blending function atau basis function (N) – merupakan fungsi

yang menentukan seberapa besar lengkungan dari kurva B-splines, yang dipengaruhi oleh besarnya derajat, knot vektor dan t.

(33)

22

Hal menarik dari AMN jenis ini adalah adanya hubungan langsung antara JST dengan sistem fuzzy. Dari sudut pandang Fuzzy logic, fungsi-fungsi basis B-spline univariate merepresentasikan statemen-statemen linguistik fuzzy, seperti „error positif kecil‟, „error besar‟, dan sebagainya. Hal ini menyebabkan JST B-spline dapat diinterpretasikan sebagai himpunan aturan fuzzy.

2.6.1 Struktur B-spline Standar

Jumlah fungsi basis yang memberi kontribusi pada keluaran B-spline adalah konstan yaitu sebanyak ρ. Dalam hal ini ada kaitan langsung antara jumlah basis fungsi yang diaktifkan oleh masukan tertentu dengan orde basis B-spline yang dipilih. Untuk masukan X dengan dimensi n dan keluaran skalar y seperti diperlihatkan oleh Gambar 2.20.

Gambar 2.20. Diagram Blok Jaringan Saraf Tiruan B-spline [4] Maka keluaran B-spline adalah:

∑ (2.8)

Di mana:

= nilai bobot ke dengan indeks bobot ke

= keluaran fungsi basis ke = keluaran jaringan syaraf B-spline

(34)

23 2.6.2 Univariate Basis Function

Keluaran basis fungsi yang diaktifkan oleh masukan tertentu (X) dapat dihitung dengan menggunakan hubungan recurrence dibawah ini: ( ) ( ) (2.9) {

Dengan adalah knot (posisi) ke dan adalah

interval ke sedangkan adalah orde dari basis fungsi tersebut, hubungan recurrence tersebut diilustrasikan oleh Gambar 2.21 berikut:

Gambar 2.21. Hubungan Recurrence [4]

2.6.2.1 Fungsi Basis Orde 1 (Konstan Sebagian-sebagian)

(35)

24

Misal adalah fungsi basis k dan adalah interval ke-

seperti terlihat pada Gambar 2.22. Maka keluaran fungsi basisnya untuk masukan adalah:

{

(2.10) Secara matematis Persamaan 2.10 diatas dapat diimplementasikan oleh fungsi berikut:

⌈ ⌉

2.6.2.2 Fungsi Basis Orde 2 (Linier Sebagian-sebagian)

Gambar 2.23. Fungsi Basis Orde 2 Keluaran basis untuk masukan dihitung :

( ) ( ) (2.11) {

(36)

25

2.6.2.3 Fungsi Basis Orde 3 (Kuadratik Sebagian-sebagian)

Gambar 2.24. Fungsi Basis Orde 3 Keluaran basis untuk masukan dihitung :

( )

(

) (2.12)

Dalam hal ini dan dihitung dengan menggunakan fungsi

basis orde 2 berikut: (

)

(

) (2.13)

2.6.3 Fungsi Keanggotaan FuzzyB-spline Orde 2 [5]

B-spline adalah permukaan parametik yang memberikan fleksibilitas untuk visualisasi dan pemodelan dari berbagai jenis data. Semua fungsi keanggotaan (membership function) fuzzy B-spline dari aturan logika fuzzy dapat dihitung menggunakan algoritma dari orde 2. Fungsi keanggotaan Fuzzy B-spline dinyatakan sebagai :

∑ (2.14)

Di mana :

= fungsi keanggotaan variable fuzzy untuk himpunan

fuzzy ; = jumlah titik kontrol

(37)

26

Bentuk umum dari fungsi keanggotaan B-spline dinyatakan sebagai :

(2.15)

Fungsi basis B-spline untuk orde ( . dapat ditulis sebagai:

(2.16) { [ ] { [ ]

Di mana adalah node yang didefinisikan dalam

interval dari . Dengan mensubstitusikan Persamaan 2.15 dan Persamaan 2.16 ke dalam Persamaan 2.14, menjadi :

{ [ ] [ ] [ ] [ ] [ ]

(38)

27

Gambar 2.25 B-spline Membership Function Orde 2

Gambar 2.26 Adjusted B-spline Membership Function Orde 2 2.6.4 Fungsi Keanggotaan FuzzyB-spline Orde 3 [6]

Fungsi keanggotaan Fuzzy B-spline orde 3 dapat dinyatakan sebagai berikut

∑ (2.17)

Di mana :

= fungsi keanggotaan variable fuzzy ke himpunan

fuzzy

= titik kontrol, = jumlah titik kontrol

(39)

28

Fungsi basis B-spline dapat dinyatakan sebagai berikut : (2.18) { [ ] { [ ]

Di mana adalah node yang didefinisikan dalam

interval .

Gambar 2.27 B-spline Membership Function Order 3

(40)

29

2.7

Kontroler

Neuro-Fuzzy

[6]

Sistem hibrida yang menggabungkan logika fuzzy, jaringan saraf tiruan, algoritma genetika, dan kecerdasan buatan lainnya sudah banyak dikembangkan untuk menyelesaikan berbagai masalah yang berkaitan dengan optimalisasi. Konsep hibrida dikembangkan karena pada metode kecerdasan buatan ini memiliki kelebihan dan kekurangan masing-masing, sehingga dengan konsep hibrida akan diperolehkan suatu metode yang lebih baik dalam menyelesaikan permasalahan optimasi.

Gambar 2.29 menunjukkan skema atau model dari kontroler Neuro fuzzy. Terdapat beberapa skema atau struktur Neuro fuzzy, seperti Neuro fuzzy Mamdani atau Larsent, Neuro fuzzy TakagiSugeno (ANFIS / Artificial Neuro fuzzy Inference System), Neuro fuzzy Biner (Multi input) atau Neuro fuzzy formulasi Wang. Dari Gambar 2.29 dapat diketahui bahwa dalam struktur Neuro fuzzy terdapat 2 tahapan yaitu forward propagation dan backward propagation.

Gambar 2.29 Struktur Kontroler Neuro-Fuzzy dengan 2 Input

Kontroler NF merupakan sistem hibrida yang menggabungkan konsep logika fuzzy dengan jaringan saraf tiruan (JST). Logika fuzzy memiliki kelebihan dalam pengambilan keputusan, sedangkan JST memiliki kelebihan dalam adaptasi melalui kemampuan pembelajaran yang dimilikinya. Kekurangan logika fuzzy dalam hal penentuan parameter yang sifatnya intuitif dapat diatasi dengan JST. Pada kontroler NF, logika fuzzy akan direpresentasikan dalam JST yang memungkinkan terjadinya pembelajaran di dalamnya dan akan terjadi perubahan bobot untuk mengubah parameter pada logika fuzzy.

(41)

30 2.7.1 Tahap Training

Pendekatan pemodelan dalam fungsi neuro fuzzy serupa dengan teknik-teknik identifikasi sistem pada umumnya. Pertama neuro fuzzy mengasumsikan adanya sebuah struktur tertentu yang menghubungkan input dengan output. Kemudian neuro fuzzy harus diberikan pasangan data input dan output dalam format yang kompatibel untuk training. Jika kedua tahap terpenuhi maka neuro fuzzy siap digunakan untuk melatih FIS sehingga mampu menirukan kelakuan sistem yang sedang dimodelkan. Neuro fuzzy melatih FIS dengan memodifikasi parameter-parameter fungsi keanggotaan sampai diperoleh selisih (error) minimal antara keluaran FIS dengan data pelatihan output.

Pola training yang dilakukan untuk mobile robot ada berbagai macam cara seperti menjalankan robot menggunakan remote control kemudian data kecepatan dan pembacaan sensor disimpan untuk dijadikan data training. Selain itu bisa dilakukan dengan cara membuat sebuah persamaan kurva untuk mobile robot sehingga robot dapat membuat jalur yang menyerupai kurva kemudian data kecepatan dan pembacaan sensornya disimpan untuk data training. Dapat juga dilakukan dengan membuat algoritma sederhana gerakan melingkar untuk menghindari obtstacles kemudian data kecepatan dan pembacaan sensornya disimpan untuk data training, dan masih banyak cara lain untuk melakukan training terhadap mobile robot tersebut.

2.7.2 Tahap Forward Propagation

Tahapan forward propagation merupakan tahapan perhitungan sistem fuzzy yang direpresentasikan ke dalam beberapa layer seperti dalam neural network. Tahapan ini bertujuan untuk menentukan output layer dari suatu node. Dalam sistem ini terdapat 3 lapis data yang dalam beberapa lapisan diantaranya input layer, hidden layer, dan output layer.

2.7.2.1 Input Layer:

Input layer merupakan node masukkan yang mengirim sinyal masukkan ke hidden layer. Pada lapisan ini nilai keluaran node merupakan hasil dari fuzzifikasi input variable sistem. Lapisan ini berfungsi sebagai membership function untuk mengekspresikan nilai linguistik dari variabel linguistik masukkan.

(42)

31

2.7.2.2 Hidden Layer :

Hidden layer digunakan untuk basis aturan (rule-base) fuzzy, setiap node pada lapisan mempunyai masukkan dari dua nilai pada lapisan kedua. Operasi pada lapisan ini berbeda-beda tergantung dari struktur Neuro fuzzy yang digunakan. Misalnya jika digunakan struktur Neuro fuzzy Mamdani maka digunakan operasi MIN sedangkan jika menggunakan Neuro fuzzy Larsent digunakan operasi product. Persamaan 2.19 menunjukkan persamaan basis aturan (rule-base) pada struktur Neuro fuzzy Larsent.

(2.19)

Lapisan ini juga menjalankan proses inferensi sehingga keluaran pada node ini diperoleh dari operasi inferensi. Sama halnya pada proses sebelumnya, pada lapisan ini dilakukan operasi inferensi yang bergantung pada struktur Neuro fuzzy yang digunakan. Misalnya jika digunakan struktur Neuro fuzzy Mamdani maka digunakan operasi MAX sedangkan jika menggunakan Neuro fuzzy Larsent digunakan operasi jumlah. Persamaan 2.20 dan Persamaan 2.21 menunjukkan operasi jumlah pada struktur Neuro fuzzy Larsent.

∑ (2.20)

∑ (2.21)

Pada struktur Neuro fuzzy Mamdani atau Larsent bobot

bernilai satu karena pada struktur ini tidak terdapat revisi nilai bobot pada proses inferensi. Revisi bobot pada lapisan ini dilakukan

apabila menggunakan struktur Neuro fuzzy Takagi-Sugeno, yang mana revisi bobot digunakan untuk merevisi rule-base fuzzy.

2.7.2.3 Output Layer

Output layer merupakan lapisan yang menjalankan proses defuzzikasi untuk menghitung sinyal keluaran dari kontroler Neuro fuzzy. Apabila digunakan fungsi fuzzy singleton maka Persamaan 2.22 menunjukkan persamaan dari fungsi center of gravity. Dengan bobot adalah yang merupakan nilai tengah dari fungsi keanggotaan sinyal keluaran.

(43)

32 ∑

(2.22)

2.7.3 Tahap Backward Propagation

Pada kontroler Neuro-fuzzy, proses backward dilakukan untuk merevisi nilai tengah dari membership function. Proses tersebut terdapat pada struktur Neuro-fuzzy Mamdani atau Larsent. Proses backward hanya dilakukan satu kali yaitu untuk merevisi nilai tengah dari fungsi keanggotaan sinyal kontrol saja. Berbeda dengan struktur Neuro-fuzzy Takagi-sugeno (ANFIS), proses backward dilakukan sampai ke proses inferensi. Jadi proses backward tidak hanya merevisi bobot sinyal kontrol tetapi juga merevisi rule base pada proses inferensi. Persamaan 2.23 menunjukkan persamaan revisi nilai tengah pada struktur Neuro-fuzzy Mamdani.

(44)

33

BAB III

PERANCANGAN SISTEM

Pada bab tiga ini akan dibahas mengenai proses perancangan implementasi perencanaan jalur mobile robot Qbot menggunakan metode B-spline dengan kontroler Neuro-Fuzzy.

3.1

Kinematika

Mobile Robot

Qbot [7]

Pada bagian ini akan dibahas tentang kinematika dari mobile robot yaitu forward kinematics dan invers kinematics.

3.1.1 Differential Drive Kinematics

Sebuah differential drive mobile robot terdiri dari dua roda yang terpasang pada aksis yang sama dan tiap roda bisa dikontrol secara bebas untuk menggerakkan robot kearah depan atau ke belakang. Ketika kecepatan tiap roda dapat bervariasi untuk meraih gerakan melingkar, robot harus memutar sekitar titik yang disebut sebagai ICC (Instantaneous Center of Curvature), seperti yang ditunjukkan pada Gambar 3.1.

Gambar 3.1 Kinematik Differential Robot

Lintasan robot dapat dikendalikan dengan cara mengatur kecepatan pada tiap rodanya. Kecepatan rotasi ω sekitar ICC harus sama pada kedua roda. Maka, persamaan berikut ini menyusun hubungan antara parameter gerak dari differential drive mobile robot.

(45)

34

( ) (3.1)

( ) (3.2)

Di mana d adalah jarak antara titik pusat dari kedua roda, Vr dan Vl adalah kecepatan roda kanan dan kiri saat menyusuri lantai,dan R adalah jarak dari ICC ke titik tengah antar roda.

Persamaan 3.1 dan 3.2 dapat diselesaikan pada setiap kasus waktu untuk R dan ω sebagai berikut

(3.3)

(3.4)

3.1.2 Lokasi ICC

Pada Gambar 3.1 diasumsikan bahwa robot berada di sebuah posisi (x,y) dan menuju kearah yang membuat sudut dengan X aksis. Dengan mengetahui kecepatan Vr, Vl dan menggunakan Persamaan 3.3 dan 3.4, lokasi ICC (ICCx , ICCy) dapat ditentukan sebagai berikut:

(3.5)

3.1.3 Forward Kinematics

Berikut ini penjelasan permasalahan forward kinematics tentang bagaimana kecepatan yang diberikan pada roda dan konfigurasi posisi awal robot dapat menentukan posisi robot .

3.1.3.1 Pose Relative Robot ke Lokasi ICC

Diberikan sebuah kecepatan yang tidak bervariasi pada Vr dan Vl, lokasi ICC (ICCx, ICCy) akan menjadi posisi tetap. Karena itu , pada waktu t+δt pose robot akan menjadi:

[ ] [ ] [ ] [ ] (3.6)

(46)

35

Di mana (x y θ) dan ( , , ) adalah posisi robot pada waktu t dan t+δt, berturut-turut. Persamaan ini menggambarkan gerak berputar robot sekitar ICC nya dengan sebuah radius dari lengkungan R sebuah kecepatan sudut ω, seperti pada Gambar 3.2

Gambar 3.2 Forward Kinematics Relative to ICC

3.1.3.2 Pose Relative Robot pada Posisi Awal Robot

Persamaan gerak umum robot yang mampu bergerak dalam arah θ(t) tertentu pada kecepatan V(t) yang diberikan,dijelaskan sebagai berikut.

∫ [ ]

∫ [ ] (3.7)

Untuk sebuah robot differential drive seperti Qbot, Persamaan 3.7 menjadi

∫ [ ] [ ]

∫ [ ] (3.8) ∫

Persamaan 3.7 dapat disederhanakan untuk menentukan pose robot saat V sebagai berikut

[ ] [

(47)

36 Demikian pula pada Persamaan 3.8

[ ] [ [ ] [ ] [ ] ] (3.10)

Dengan demikian, untuk kasus khusus dari dan , Persamaan 3.9 menjadi Persamaan 3.11 dan 3.12 berikut

[ ] [ ] (3.11)

[ ] [

] (3.12)

3.1.4 Inverse Kinematics

Berikut ini penjelasan permasalahan inverse kinematics tentang robot dengan konfigurasi posisi awal dapat mencapai

konfigurasi target . * +

* + (3.13)

Dengan waktu target dan posisi target , dan dapat diketahui dengan Persamaan 3.13 tetapi tidak untuk menemukan nilai .

3.2

Perancangan Kontroler

Kontroler dirancang untuk mengatur kecepatan roda dan mencapai posisi target yang diinginkan. Selain itu, kontroler disini juga dirancang agar pergerakan robot menuju posisi target dapat lebih smooth ketika ada obstacle di sekitarnya.

(48)

37 3.2.1 Blok Diagram Sistem

Kontroler neuro-fuzzy yang digunakan adalah kontroler neuro-fuzzy mamdani karena hanya diperlukan untuk perbaikan nilai tengah dari himpunan pendukung sinyal kontrol dan rule base yang digunakan tetap.

Diagram blok pada Gambar 3.3 di bawah ini menunjukkan keseluruhan dari sistem perencanaan jalur pada mobile robot Qbot menggunakan metode B-spline dengan kontroler Neuro-Fuzzy.

Gambar 3.3 Diagram Blok Sistem

Pada diagram blok di atas menunjukkan bahwa sistem ini terdiri dari beberapa subsistem atau bagian. Bagian target referensi merupakan bagian masukan berupa data jarak target, sudut target, jarak obstacles, dan sudut obstacles yang kemudian diolah ke dalam blok kontroler neuro-fuzzy dengan menggunakan metode Bspline untuk navigasi mobile robot Qbot.

Blok data referensi plant didapat dari data kecepatan robot yang sebelumnya dilakukan tahap Forward propagation dari data target referensi. Blok prediksi error merupakan selisih dari data referensi plant dengan data referensi plant yang diolah kembali pada kontroler neuro-fuzzy yang kemudian digunakan untuk proses learning dan revisi bobot

Target_ref Fuzzy Bspline Network Qbot mobile robot plant Data referensi plant Error proses eu ep + -Vout(mm/s) + -Sensor

(49)

38

3.2.2 Struktur Fuzzy B-spline Neural Network [8]

Sebuah sistem logika fuzzy biasanya terakumulasi data dalam bentuk algoritma fuzzy, terdiri dari aturan fuzzy linguistik yang berkaitan dengan input dan output jaringan. Struktur untuk fuzzy B-spline neural network digambarkan dalam Gambar 3.4.

Dekat Dekat Jauh Jauh Kecil Kecil Besar Besar 0.0599 4 0.8573 0.7839 0.7939 0.4942 0.5711 0.4942 0.487 0.4856 0.4741 0.4617 0.3716 0.3132 0.2942 0.1398 3.7237 Jarak Target Jarak Obstacle Sudut Target Sudut Obstacle U1 U2 U3 U5 U4 Za Zb D

Layer 1 Layer 2 Layer 3 Layer 4

Premise Consequence

(50)

39

Sistem ini memiliki empat lapisan, yaitu :

1. Layer I : Lapisan ini merupakan lapisan input, yaitu input node yang mewakili masukan variabel linguistik. Terdapat 4 input variabel yaitu Jarak Target, Jarak Obstacle, Sudut Target dan Sudut Obstacle. Setiap input mempunyai 2 membership function.

2. Layer II : Dalam lapisan ini proses fuzzifikasi dilakukan dan neuron mewakili fuzzy set digunakan dari aturan fuzzy linguistik. Output dari lapisan ini adalah nilai-nilai fungsi keanggotaan, yaitu ij. Keanggotaan variabel input i ke j himpunan fuzzy didefinisikan oleh fungsi B-spline sebagai:

∑ (3.14)

Di mana menunjukan fungsi keanggotaan input ke

himpunan fuzzy. Dengan nilai dan 3. Layer III : Lapisan ini adalah inferensi lapisan fuzzy. Dalam

lapisan ini setiap node mewakili aturan fuzzy.

4. Layer IV : Lapisan ini adalah lapisan output. Dalam lapisan ini, proses defuzzifikasi dibuat untuk menghitung output dari seluruh jaringan, yaitu menghitung output keseluruhan sistem. Oleh karena itu, output fuzzy B-spline neural network dapat dinyatakan sebagai:

(3.15)

Di mana adalah output untuk seluruh jaringan. Pelatihan jaringan dimulai setelah memperkirakan nilai output fuzzy B-spline neural network dan adalah bobot antara layer III dan

IV dan , adalah nomor kelas. 3.2.3 Fungsi Keanggotaan Fuzzy B-spline [9]

Ada beberapa keuntungan dalam menggunakan jaringan B-spline, salah satunya yaitu dapat memberikan pendekatan yang baik untuk fungsi linier dan fungsi nonlinier. Pelatihan jaringan B-spline cocok digunakan untuk kontrol secara real-time karena memerlukan lebih sedikit perhitungan dan penyimpanan dari fungsi dasar lainnya,

(51)

40

Fungsi keanggotaan fuzzy B-spline yang digunakan pada tugas akhir ini didefinisikan sebagai:

( ) ∑ ( ) (3.16)

Di mana :

1. ( ) = fungsi keanggotan variable fuzzy ke- himpunan

fuzzy

2. = titik kontrol , 3. = jumlah titik kontrol

4. = fungsi B-spline orde 3

Fungsi B-spline didefinisikan sebagai

( ) ( ) ( ) ( ) ( ) (3.17) ( ) { ( ) {

Di mana adalah node yang didefinisikan dalam

interval .

3.3

Perancangan Sistem Simulasi

B-spline

Ada beberapa keuntungan dalam menggunakan jaringan B-spline, salah satunya yaitu dapat memberikan pendekatan yang baik untuk fungsi linier dan fungsi nonlinier. Pelatihan jaringan B-spline cocok digunakan untuk kontrol secara real-time karena memerlukan lebih sedikit perhitungan dan penyimpanan dari fungsi dasar lainnya.

Metode B-spline pada mobile robot Qbot ini digunakan untuk menentukan jalur serta robot dapat bergerak lebih smooth saat menghindari obstacle yang terdapat disekitarnya. Dalam hal ini akan digunakan 2 pola lintasan yang nantinya akan dilalui oleh mobile robot Qbot. Perencanaan jalur atau lintasan mobile robot Qbot dibuat dengan 2 pola jalur atau lintasan.

(52)

41 3.3.1 Simulasi B-spline Jalur 1

Pada simulasi jalur 1 ini, ditentukan b-spline dengan derajat kontrol 3 dan mempunyai 8 buah titik kontrol. Dengan menggunakan Persamaan 3.16, maka diperoleh membership function fuzzy B-spline seperti pada Gambar 3.5.

1 0.8 0.6 0.4 0.2 25 50 75 100125 150 175 200 225 250 275 Dekat Jauh (cm) A(x0)

Fuzzy Variabel (x0) Jarak ke Target

Gambar 3.5 Membership Function Jarak ke Target Jalur 1

1 0.8 0.6 0.4 0.2 25 50 75 100 125 150 175 200 225 250 275 Dekat Jauh (cm) A(x1)

Fuzzy Variabel (x1) Jarak ke Obstacle Gambar 3.6 Membership Function Jarak ke Obstacle Jalur 1

(53)

42 1 0.8 0.6 0.4 0.2 -180 -135 -90 -45 0 45 90 135 180 Kecil Besar (deg) A(x2)

Fuzzy Variabel (x2) Sudut ke Target

Gambar 3.7 Membership Function Sudut ke Target Jalur 1

Gambar 3.8 Membership Function Sudut ke Obstacle Jalur 1

Gambar di atas menunjukkan tentang identifikasi fungsi keanggotaan dari fuzzy b-spline dengan input variable linguistik. Premises dari control rules dan identifikasi dari consequences dapat dilihat pada Tabel 3.1. Untuk x0 dan x1, nilai 0 dan 1 mewakili variabel fuzzy untuk “Dekat” dan “Jauh”. Untuk x2 dan x3, nilai 0 dan 1 mewakili variabel fuzzy untuk “Kecil” dan “Besar”. Sedangkan wij mewakili bobot dari output yang akan dilearning.

1 0.8 0.6 0.4 0.2 -180 -135 -90 -45 0 45 90 135 180 Kecil Besar (deg) A(x3)

(54)

43 Tabel 3.1 Control Rules Logika Fuzzy Jalur 1

Rule Premises Consequences

x0 x1 x2 x3 Wij 0 0 0 1 0 0,05994 1 0 0 1 1 0,2398 2 0 0 0 0 0,2942 3 0 0 0 1 0,3132 4 0 1 1 0 0,3716 5 0 1 1 1 0,4617 6 0 1 0 0 0,4751 7 0 1 0 1 0,4856 8 1 0 1 0 0,487 9 1 0 1 1 0,4942 10 1 0 0 0 0,4942 11 1 0 0 1 0,5711 12 1 1 1 0 0,6573 13 1 1 1 1 0,7237 14 1 1 0 0 0,7839 15 1 1 0 1 0,7939

Sehingga dari Tabel 3.1 dapat dibuat simulasi pada program Matlab yang mewakili metode B-spline untuk menentukan lintasan yang nantinya akan dilalui oleh mobile robot.

Gambar

Tabel  2.2  Deskripsi  Blok  Set  Qbot  yang  Relevan  untuk  Qbot  di  QUARC
Tabel 2.3 Penjelasan Deskripsi Blok QUARC pada Qbot
Gambar 2.11 Himpunan Fuzzy
Gambar 2.12 Berbagai Tipe Membership Function [2]
+7

Referensi

Dokumen terkait

Berdasarkan hasil analisis dari SK/KD yang bermasalah yaitu tingkat penguasaan siswa untuk masing-masing SK/KD berdasarkan kompetensi atau kemampuan yang diuji

Berbeda dengan perencanaan pengendali banjir alternatif satu yaitu perencanaan tanggul yang biaya pembangunannya mahal karena tidak melakukan normalisasi sungai maka

Meskipun perubahan mukosa terjadi pada semua pasien dalam penelitian ini, namun hubungan antara jenis batu dan perubahan mukosa yang terjadi masih belum bisa ditegakkan karena

Interaksi yang terjadi dalam lingkungan keluarga, seperti antara anak dan orang tua merupakan salah satu bentuk dari interaksi antarindividu, dimana terjadi hubungan timbal

Kajian berkaitan budaya dalam puisi-puisi Muhammad Haji Salleh oleh pengkaji diharap dapat memberi inspirasi kepada mahasiswa dan mahasiswi untuk turut serta

Hasil ini menunjukkan bahwa media tanam dengan penambahan serat membentuk struktur tanah menjadi remah yang akan menghasilkan laju pertumbuhan yang baik pada akar

Ukuran diameter dari serat nonwoven silikon karbida yang disajikan pada Gambar 4 berturut- turut dari terkecil adalah 1215, 1220 dan 1210, begitu juga urutan untuk nilai modulus

Hasil penelitian menunjukan bahwa dapat meningkatkan kemampuan pembuktian matematika siswa, ini terlihat dari soal pretest dan posttest yang diberikan oleh