penggerak dan pengolah posisi robot striker pada...

74
i TUGAS AKHIR PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA ROBOT SEPAKBOLA Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Disusun oleh : NICKOLAUS SATRIA BAGASKARA NIM : 165114044 JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2020 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: others

Post on 03-Nov-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

i

TUGAS AKHIR

PENGGERAK DAN PENGOLAH POSISI ROBOT

STRIKER PADA ROBOT SEPAKBOLA

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Disusun oleh :

NICKOLAUS SATRIA BAGASKARA

NIM : 165114044

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

ii

FINAL PROJECT

MOVEMENT AND POSITION PROCESSING OF

STRIKER ROBOTS IN SOCCER ROBOTS

Presented as Partial Fulfillment of The Requirements

To Obtain The Sarjama Teknik Degree

In Electrical Engineering Study Program

NICKOLAUS SATRIA BAGASKARA

NIM : 165114044

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

“Deus Providebit, karena semua akan indah pada saatnya. Selalu

membuat koma dalam hidup”

Skripsi ini saya persembahakan untuk...

Tuhan Yesus Juruslamatku

Bapak, Ibu, Kakak dan keluarga besar tercinta

Dan teman-teman dari teknik elektro lainnya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

viii

INTISARI Dunia akan selalu berkembang dari waktu ke waktu khususnya dalam bidang robotika.

Di Indonesia ada suatu wadah yang disediakan oleh pemerintah untuk mengembangkan

robotika dalam lingkup kampus, hal ini dinamakan Kontes Robot Indonesia (KRI). Dalam

KRI terdapat divisi lomba KRSBI beroda. Hal ini dimanfaatkan oleh teknik elektro untuk

pengembangan kreatifitas dan keterampilan dalam bidang robotika.

Penelitian ini menggunakan mini komputer raspberry pi 3 sebagai pengendali utama

robot. Pengendalian robot berdasarkan perintah yang dikirimkan dari base station secara

wireless. Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini

menggunakan Motor DC sebagai penggerak utama, sensor kompas sebagai penentu arah,

sensor ping dan kamera sebagai pendeteksi bola, dan sensor rotary encoder untuk

mengetahui perpindahan robot.

Dalam penelitian kinerja yang diperoleh dari robot belum memperoleh hasil yang

maksimal. Pengujian dari sistem yang dilakukan meliputi pengujian gerakan robot, sensor

kompas, rotary encoder, sensor kamera, sensor ping, komunikasi dengan base station, dan

pengujian cara bermain robot. Dari pengujian tersebut robot 1 dapat bergerak ke segala arah

walaupun tidak sempurna, tetapi robot 2 hanya dapat melakukan 2 gerakan. Komunikasi

dengan base staion berhasil dilakukan. Untuk cara bermain robot 1 sudah dapat merespon

walapun belum bisa berhenti dengan akurat dan robot 2 dapat mengeluarkan perintah

walaupun belum dapat merespon sebab terkendala penggerak.

Kata kunci : Raspberry pi 3, KRSBI, penggerak robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

ix

ABSTRACT The world will always develop from time to time, especially in robotics. In Indonesia

there is a forum provided by the government to develop robotics within the scope of the

colage, this is called the Indonesian Robot Contest (KRI). In the KRI there is a KRSBI

competition division. This is utilized by electrical engineering for the development of

creativity and skills in robotics.

This research uses a Raspberry Pi 3 mini computer as the main controller of the robot.

Control of the robot based on commands sent from the base station wirelessly. Robots are

made using the Python programming language. This study uses a DC motor as a prime

mover, a compass sensor as a direction determinant, a ping sensor and a camera as a ball

detector, and a rotary encoder sensor to determine the robot's displacement.

In this research the performance obtained from the robot has not yet maximum. The

testing of the system includes testing robot motions, compass sensor, rotary encoder, camera

sensor, ping sensor, communication with the base station, and testing how to play the robot.

From this test, robot 1 can move in all directions even though it is not perfect, but robot 2

have 2 movement only. Communication with the base station was successfully. For how

robot 1 paly has been able to respond even though it has not been able to stop accurately and

robot 2 can issue commands even though it has not been able to respond due to constrained

movers.

Keywords: Raspberry pi 3, KRSBI, movement processing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

xi

Daftar isi

TUGAS AKHIR ..................................................................................................................... i

FINAL PROJECT ................................................................................................................. ii

Lebar persetujuan ................................................................................................................. iii

Lebar Pengesahan ................................................................................................................. iv

PERNYATAAN KEASLIAN KARYA ................................................................................ v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..................................................... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI .............................................. vii

KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................................. vii

INTISARI ........................................................................................................................... viii

ABSTRACT ......................................................................................................................... ix

KATA PENGANTAR ........................................................................................................... x

Daftar isi ............................................................................................................................... xi

Daftar gambar ..................................................................................................................... xiii

Daftar tabel .......................................................................................................................... xv

1 BAB I ............................................................................................................................. 1

1.1 Latar Belakang ........................................................................................................ 1

1.2 Tujuan dan Manfaat ................................................................................................ 2

1.3 Batasan Masalah ..................................................................................................... 2

1.4 Metodologi Penelitian ............................................................................................. 2

2 BAB II ........................................................................................................................... 5

2.1 Raspberry Pi 3 ......................................................................................................... 5

2.1.1 Spesifikasi ........................................................................................................ 5

2.1.2 Port GPIO ........................................................................................................ 6

2.2 Python 3.7 ............................................................................................................... 7

2.2.1 Modul Open Computer Vision ......................................................................... 7

2.2.2 Modul Socket.IO ............................................................................................. 9

2.2.3 Modul Serial .................................................................................................... 9

2.2.4 Modul Threading ........................................................................................... 10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

xii

2.3 Kamera .................................................................................................................. 11

2.4 Sensor Ultrasonik .................................................................................................. 11

2.5 Sensor kompas ...................................................................................................... 12

2.6 Driver Motor BTS 7960 ....................................................................................... 13

2.7 Motor DC .............................................................................................................. 13

2.8 Omni Wheel .......................................................................................................... 14

2.9 Rotary Encoder ..................................................................................................... 14

3 BAB III ........................................................................................................................ 16

3.1 Diagram Blok ........................................................................................................ 16

3.2 Perancangan Perangkat Keras ............................................................................... 17

3.3 Perancangan Perangkat Lunak .............................................................................. 18

3.3.1 Perancangan Perangkat Lunak secara umum ................................................ 18

3.3.2 Sub Proses Robot Berjalan Mendekati Target ............................................... 19

3.3.3 Sub Proses Robot Berputar Sampai ke Sudut yang Diingikan ...................... 20

3.3.4 Sub Proses Mencari Bola ............................................................................... 21

3.3.5 Sub Proses Mendekati Bola ........................................................................... 22

3.3.6 Sub Proses Mendekati Bola ........................................................................... 22

3.3.7 Sub Proses Mengirim ke Penendang ............................................................. 23

3.3.8 Sub Proses Menunggu Kabar dari Penendang ............................................... 23

3.3.9 Sub Proses Mencatat Hasil Pergerakan Robot .............................................. 24

3.3.10 Komunikasi data ............................................................................................ 24

3.4 Skema Pengolahan Posisi ..................................................................................... 26

3.4.1 Target Berada di Timur Laut Robot .............................................................. 26

3.4.2 Target Berada di Utara Robot ........................................................................ 26

3.4.3 Target Berada di Barat Laut Robot ............................................................... 27

3.4.4 Target Berada di Barat Robot ........................................................................ 27

3.4.5 Target Berada di Barat daya Robot ............................................................... 28

3.4.6 Target Berada di Selatan Robot ..................................................................... 28

3.4.7 Target Berada di Tenggara Robot ................................................................. 29

3.4.8 Target Berada di Timur Robot ...................................................................... 30

3.4.9 Target berupa berputar................................................................................... 30

4 BAB IV ........................................................................................................................ 32

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

xiii

4.1 Perubahan Perancagan .......................................................................................... 32

4.1.1 Perubahan Kamera ......................................................................................... 32

4.1.2 Perubahan Diagram Alir Utama .................................................................... 32

4.1.3 Perubahan diagram alir Sub Proses Mencatat Hasil Pergerakan Robot ........ 33

4.1.4 Perubahan Data Komunikasi ......................................................................... 33

4.2 Implementasi Penelitian ........................................................................................ 34

4.2.1 Hardware robot ............................................................................................. 34

4.2.2 Sistem Kelistrikan ......................................................................................... 37

4.2.3 Software robot ............................................................................................... 37

4.3 Pengujian Robot .................................................................................................... 49

4.3.1 Pengujian Sensor Ping ................................................................................... 49

4.3.2 Pengujian Kemampuan Gerak Robot ............................................................ 51

4.3.3 Pengujian Sensor Rotary Encoder ................................................................. 53

4.3.4 Pengujian Pengolahan Data Kamera ............................................................. 54

4.3.5 Pengujian Sensor Kompas ............................................................................. 55

4.3.6 Pengujian Komunikasi dengan Base Station ................................................. 57

4.3.7 Pengujian Cara Bermain Robot ..................................................................... 58

5 BAB V ......................................................................................................................... 60

5.1 Kesimpulan ........................................................................................................... 60

5.2 Saran ..................................................................................................................... 60

Daftar pustaka ...................................................................................................................... 61

Daftar gambar

Gambar 1.1 Diagram blok perancangan alat ........................................................................ 3

Gambar 2.1 Peta GPIO Pi 3 ................................................................................................... 6

Gambar 2.2 Model ruang warna HSV (kanan) dan RGB (kiri) ............................................ 8

Gambar 2.3 Gambar cara kerja sensor ping ...................................................................... 12

Gambar 2.4 Gelombang ketika mengenai medium ............................................................ 12

Gambar 2.5 Bentuk fisik dari driver motor ......................................................................... 13

Gambar 2.6 Cara kerja rotary encoder ................................................................................ 15

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

xiv

Gambar 3.1 Diagram blok dari keseluruhan sistem ............................................................ 16

Gambar 3.2 Robot tampak atas............................................................................................ 17

Gambar 3.3 Robot tampak samping .................................................................................... 17

Gambar 3.4 Robot tampak depan ........................................................................................ 17

Gambar 3.5 Diagram alir secara keseluruhan ...................................................................... 19

Gambar 3.6 Diagram alir sub proses mendekati target ....................................................... 20

Gambar 3.7 Diagram alir sub proses robot berputar sampai ke sudut yang diinginkan ...... 20

Gambar 3.8 Diagram alir sub proses mencari bola ............................................................. 21

Gambar 3.9 Diagram alir sub proses mendekati bola .......................................................... 22

Gambar 3.10 Diagram alir sub proses mendekati bola ........................................................ 23

Gambar 3.11 Diagram alir sub proses mengirim ke penendang.......................................... 23

Gambar 3.12 Diagram alir menunggu kabar dari penendang .............................................. 24

Gambar 3.13 Diagram alir mencatat hasil pergenakan robot .............................................. 24

Gambar 3.14 Kondisi target berada di timur laut robot ....................................................... 26

Gambar 3.15 Kondisi target berada di utara robot .............................................................. 26

Gambar 3.16 Kondisi target berada di barat laut robot ....................................................... 27

Gambar 3.17 Kondisi target berada di barat robot .............................................................. 27

Gambar 3.18 Kondisi target berada di barat daya robot ...................................................... 28

Gambar 3.19 Kondisi target berada di selatan robot ........................................................... 29

Gambar 3.20 Kondisi target berada di tenggara robot......................................................... 29

Gambar 3.21 Kondisi target berada di timur robot .............................................................. 30

Gambar 3.22 Kondisi target berputar .................................................................................. 30

Gambar 4.1 Diagram alir utama .......................................................................................... 32

Gambar 4.2 Diagram alir sub proses mencatat hasil pergerakan robot ............................... 33

Gambar 4.3 Tampak depan robot 1 ..................................................................................... 35

Gambar 4.4 Tampak samping robot 1 ................................................................................. 35

Gambar 4.5 Tampak belakang robot 1 ................................................................................ 35

Gambar 4.6 Tampak depan robot 2 ..................................................................................... 36

Gambar 4.7 Tampak samping robot 2 ................................................................................. 36

Gambar 4.8 Tampak belakang robot 2 ................................................................................ 36

Gambar 4.9 Pembagian daya ............................................................................................... 37

Gambar 4.10 Listing program untuk rotary encoder ........................................................... 39

Gambar 4.11 Listing program untuk sensor kompas ........................................................... 40

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

xv

Gambar 4.12 listing program sensor ping ........................................................................... 41

Gambar 4.13 Listing program pengolah data kamera.......................................................... 43

Gambar 4.14 Listing program cara bermain robot .............................................................. 45

Gambar 4.15 Listing program komunikasi dengan base station ......................................... 47

Gambar 4.16 Inisiasi dan pengaktifan sistem paralel .......................................................... 48

Gambar 4.17 Listing program pelaporan ke base station .................................................... 49

Daftar tabel

Tabel 2.1 Spesifikasi Rapsberry ............................................................................................ 5

Tabel 2.2 Spesifikasi kamera ............................................................................................... 11

Tabel 3.1 Komunikasi data dari base station ke robot ......................................................... 25

Tabel 3.2 Komunikasi data dari robot ke base station ......................................................... 25

Tabel 3.3 Komunikasi data dengan penendang ................................................................... 25

Tabel 4.1 Perubahan data komuniakasi ............................................................................... 34

Tabel 4.2 Data pengujian sensor ping ................................................................................. 51

Tabel 4.3 Data pengujian kemampuan gerak robot ............................................................. 52

Tabel 4.4 Data pengujian rotary encoder ............................................................................ 54

Tabel 4.5 Data pengujian kamera robot terhadap posisi bola ............................................. 54

Tabel 4.6 Data pengujian kamera robot terhadap kecepatan bola ....................................... 55

Tabel 4.7 Data pengujian sensor kompas dengan memutar secara manual......................... 56

Tabel 4.8 Data pengujian sensor kompas dengan memutar secara otomatis....................... 57

Tabel 4.9 Data pengujian penerimaan data dari base station .............................................. 57

Tabel 4.10 Data pengujian pengiriman data ke base station ............................................... 58

Tabel 4.11 Data Pengujian permainan robot ....................................................................... 58

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

1

1 BAB I

PENDAHULUAN

1.1 Latar Belakang

Dunia akan selalu berkembang dari waktu ke waktu khususnya dalam bidang robotika.

Semakin lama bidang yang dijamah oleh robotika akan semakin luas. Kerja robot dianggap

dapat lebih diandalkan daripada manusia pada bagian mengerjakan tugas yang berulang yang

membutuhkan konsistensi secara terus menerus. Di Indonesia ada suatu wadah yang

disediakan oleh pemerintah untuk mengembangkan robotika dalam lingkup kampus, hal ini

dinamakan Kontes Robot Indonesia (KRI). Kontes Robot Indonesia (KRI) adalah ajang

kompetisi rancang bangun dan rekayasa dalam bidang robotika yang diselenggarakan oleh

Direktorat Kemahasiswaan, Direktorat Jenderal Pembelajaran dan Kemahasiswaan,

Kementerian Riset, Teknologi, dan Pendidikan Tinggi Republik Indonesia. Kontes Robot

Indonesia ini diikuti oleh tim mahasiswa pada Perguruan Tinggi yang tercatat di

Kemenristekdikti. “Salah satu pentingnya lomba ini diselenggarakan ialah, bahwa di zaman

ini kita sering mendengar istilah revolusi industri 4.0, di mana semakin banyak kehidupan

kita bersama dengan robot dan komputer. Jadi, robotisasi akan semakin lebih masif lagi

dengan perkembangan teknologi internet of things. Tentu, penguasaan pengetahuan dan skill

dalam robot pasti jauh lebih penting.” jelas Ismunandar, Direktur Jenderal Pembelajaran dan

Kemahasiswaan, Kemenristekdikti. [1]

Sepak bola merupakan suatu cabang olahraga yang banyak diminati hampir di seluruh

bagian bumi ini. Kalangan yang menikmati olahraga ini mulai dari tua hingga muda. Hingga

saat ini olah raga yang paling meriah sambutannya baik di Indonesia maupun luar negeri

adalah sepak bola. Oleh sebab itu, Kontes Robot Indonesia mulai melirik olahraga ini untuk

dipertandingkan di kontes tersebut. KRSBI ( Kontes Robot Sepak Bola Indonesia )

merupakan cabang dari Kontes Robot Indonesia yang bermain dalam bidang sepak bola.

Dalam KRSBI ini terdapat 2 divisi lagi yaitu beroda dan humanoid. KRSBI yang diikuti oleh

tim robotika Sanata Dharma merupakan divisi beroda. Pada KRSBI beroda satu tim terdiri

dari 3 robot. Tiga robot tersebut terdiri dari 2 robot striker dan 1 robot kiper. Tim yang

dianggap sebagai tim pemenang dalam pertandingan adalah tim yang paling banyak

mencetak gol saat pertandingan.

Judul tugas akhir ini menitik beratkan pada penggerak robot dan mengecek hasil

perpindahan yang telah dilakukan oleh robot penyerang sepak bola. Penelitian ini akan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

2

mendesain dan mengimplementasikan kemampuan robot untuk bergerak serta mencatat

hasil perpindahannya sebagai monitoring dan bermain sesuai dengan strategi dari komputer

pelatih. Pada penelitian sebelumnya terdapat beberapa peneliti yang pernah dilakukan seperti

menggunakan kamera tunggal , komunikasi belum 2 arah antara penyerang dan pelatih

(basestation). Dalam tugas akhir ini, akan dilakukan analisis respon terhadap perintah pelatih

dan melaporkan kondisi yang terjadi pada robot di lapangan ke pelatih. [2]

1.2 Tujuan dan Manfaat

Tujuan dari penelitian ini adalah :

1. Merancang robot sepak bola yang dapat berkomunikasi dengan pelatih.

2. Dapat mengendalikan yang robot yang pergerakannya bisa dipantau.

Manfaat dari penelitian ini adalah :

1. Untuk masyarakat : Menyediakan sebuah edukasi, pedoman, dan rujukan untuk

pengembangan pembuatan pengontrol robot sepakbola beroda bagi masyarakat luas.

2. Untuk Universitas Sanata Dharma : Perkembangan klub robotik dalam bidang robot

sepak bola beroda yang dapat digunakan sebagai bahan acuan untuk pengembangan

robotika di bidang sepak bola di Universitas Sanata Dharma.

3. Untuk diri sendiri : Pengembangan diri dalam bidang robotika khususnya robot sepak

bola beroda dan sebagai tugas akhir yang merupakan syarat kelulusan

1.3 Batasan Masalah

Pada penulisan tugas akhir ini akan dibuat robot sepak bola beroda yang telah

menyesuaikan dengan peraturan dari panitia kontes robot indonesia. Adapun batasan

masalah pada alat yang akan dibuat sebagai berikut :

1. Pengolahan kamera bawah untuk untuk menangkap bola jarak dekat pada robot sepak

bola.

2. Menggerakkan robot sepak bola.

3. Membaca perpindahan posisi robot.

4. Berkomunikasi dengan base station.

1.4 Metodologi Penelitian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

3

Gambar 1.1 Diagram blok perancangan alat

Berdasarkan pada tujuan yang ingin dicapai, langkah – langkah yang digunakan dalam

penyusunan tugas akhir ini adalah

1. Studi pustaka

Pencarian bahan referensi berupa buku – buku, jurnal – jurnal, internet, dan lain – lain

yang berkaitan dengan batasan masalah dan pembuatan tugas akhir. Studi pustaka mencakup

teori tentang computer vision, mikrokontroler raspi 3, driver motor, sensor jarak, rotary

encoder, dan sensor kompas.

2. Perancangan alat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

4

Gambar 1.1 berisikan bagian dari robot sepak bola yang akan dibuat oleh tim penulis.

Bagian yang dibuat oleh penulis merupakan bagian untuk merespon perintah dari base

station dan melaporkan hasil yang telah dilakukan robot. Penentu keputusan dan strategi

serta penendang pada robot dilakukan oleh penulis lain. Mikrokomputer yang digunakan

adalah raspberry pi. Data masukan pada mikrokomputer berupa perintah dari base station,

kamera, kompas, dan rotary encoder. Data yang terima tersebut akan digunakan untuk

menggerakkan robot, memberi data ke penendang dan hasil pergerakannya akan dicatat dan

dilaporkan ke raspberry pi pelatih.

3. Pembuatan alat

Pada tahap ini pembuatan alat berupa perangkat keras (hardware) dan perangkat lunak

(software) berupa robot sepakbola.

4. Pengambilan data

Tahap ini berupa pengujian alat yang telah dibuat dengan cara mencatat dari keluaran

sensor-sensor yang digunakan dan mencatat respon robot terhadap kesesuaian perintah.

Sensor yang diambil datanya adalah sensor rotary encoder, kompas, dan kamera. Respon

robot yang akan dilakukan saat menerima perintah dari basestation, kemampuan kamera

mendeteksi bola, pergerakan robot, dan data yang akan dikirim ke basestation serta

penendang.

5. Analisis dan kesimpulan

Tahap ini berupa analisis dan kesimpulan dengan melakukan perbandingan data dari

hasil percobaan dengan hasil perancangan serta kesimpulan dari hasil percobaan yang

didapat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

5

Tabel 2.1 Spesifikasi Rapsberry

2 BAB II

DASAR TEORI

Bab ini menjelaskan tentang komponen utama yang akan digunakan pada penelitian

“Penggerak dan Pengolah Posisi Robot Striker pada Robot Sepak Bola”. Komponen-

komponen yang digunakan antara lain: Raspberry pi 3, modul kamera, sensor kompas,

modul step up DC, sensor jarak, driver motor, Motor DC, rotary encoder.

2.1 Raspberry Pi 3

Raspberry Pi merupakan komputer kecil seukuran saku yang diciptakan untuk

kepentingan edukasi. Namun, karena kelengkapan fitur masukan dan keluaran yang dimiliki

oleh raspberry pi maka banyak proyek yang menggunakan raspberry pi. Fungsi dari

raspberry pi yaitu media browsing, pemutar video atau musik, membuat laporan, membuat

presentasi, robotika, dan lain-lain. Kelebihan raspberry pi dari mikrokontroler adalah dapat

terhubung langsung dengan layar monitor atau TV sebagai penampil, dapat menambahkan

perangkat external seperti mouse, keyboard, flashdisk dan lain-lain dengan mudah

menggunakan koneksi USB, memiliki koneksi modul kamera secara langsung, memiliki pin

input dan output yang cukup banyak jumlahnya. [3]

2.1.1 Spesifikasi

Raspberry Pi 3 Model B

Processor

Chipset

Broadcom BCM2837 64Bit

ARMv7 Quad Core Processor

powered Single Board

Computer running at

1250MHz

GPU Videocore IV

Processor

Speed QUAD Core @1250 MHz

RAM 1GB SDRAM @ 400 MHz

Storage MicroSD

USB 2.0 4x USB Ports

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

6

Tabel 2.1 (Lanjutan)Spesifikasi Rapsberry

Raspberry Pi 3 Model B

Power Draw /

voltage 2.5A @ 5V

GPIO 40 pin

Ethernet Port Yes

Wi-Fi Built in

Bluetooth LED Built in

Jika dilihat dari spesifikasi yang tertera pada tabel 2.1 maka raspberry pi 3 dirasa

mampu untuk mengolah gambar dari kamera, menggerakan robot, dan berkomunikasi

dengan base station. [4]

2.1.2 Port GPIO

Gambar 2.1 Peta GPIO Pi 3 [4]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

7

Pada gambar 2.1 menunjukkan bahwa raspberry pi 3 mampu untuk berinteraksi

dengan perangkat luar. Hal ini dimungkinan sebab pada raspberry pi 3 memiliki 40 pin yang

memiliki fungsi yang berbeda-beda. Fungsi dari tegangan 5 V atau 3,3 V dan 0 V atau

ground adalah sebagai sumber tegangan untuk sensor –sensor yang digunakan. Funsi dari

GPIO adalah sebagai masukan dan keluaran dari raspberry pi 3 untuk berkomunikasi dengan

perangkat luar.

2.2 Python 3.7

Python adalah salah satu bahasa pemrograman tingkat tinggi yang bersifat interpreter,

interaktif, object-oriented dan dapat beroprasi di hampir semua platform, seperti keluarga

UNIX, Mac, Window,OS/2, ataupun yang lain. Sebagai bahasa tingkat tinggi, Python

termasuk salah satu bahasa pemrograman yang mudah untuk dipelajari karena sintaks yang

jelas dan elegan, dikombinasikan dengan penggunaan modul-modul siap pakai dan struktur

data tingkat tinggi yang efisien. [5]

2.2.1 Modul Open Computer Vision

OpenCV (Open Source Computer Vision Library), adalah sebuah library open source

yang dikembangkan oleh intel yang fokus untuk menyederhanakan programing terkait citra

digital. Di dalam OpenCV sudah mempunyai banyak fitur, antara lain : pengenalan wajah,

pelacakan wajah, deteksi wajah, Kalman filtering, dan berbagai jenis metode AI (Artificial

Intellegence). Dan menyediakan berbagai algoritma sederhana terkait Computer Vision

untuk low level API.

2.2.1.1 Ruang warna HSV

Ruang warna HSV(Hue, Saturation, Value) merupakan model warna yang lebih baik

digunakan untuk berbagai keperluan pengolahan citra dan computer vision. Hal ini biasa

digunakan pada keperluan mencari benda berdasarkan warna , segmentasi citra, dan lain-

lain. Hue (H) merupakan suatu nilai yang merepresentasikan sektrum warna dari cahaya

tampak. Saturation (S) merupakan nilai yang menunjukan tingkat kejenuhan atau kemurnian

dari suatu warna. Semakin besar nilai saturasi maka semakin murni warna yang dihasilkan.

Value (V) dapat didefinisikan sebagai nilai yang menunjukkan tingkat kecerahan warna,

nilainya berkisar 0-100%. Jika value bernilai 0 maka warnanya kan menjadi hitam. Jika

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

8

value semakin besar maka warna kan semakin cerah [6]. Ruang warna HSV diperoleh dari

warna RGB melalui persamaan berikut

Max = (R,G,B), Min = (R,G,B)

Δ = Max – Min

V = Max

H =

{

0 , 𝑗𝑖𝑘𝑎 𝑉 = 0

60 𝑥 (𝐺−𝐵

∆) , 𝑗𝑖𝑘𝑎 𝑀𝑎𝑥 = 𝑅

60 𝑥 (𝐵−𝑅

∆+ 2) , 𝑗𝑖𝑘𝑎 𝑀𝑎𝑥 = 𝐺

60 𝑥 (𝑅−𝐺

∆+ 4) , 𝑗𝑖𝑘𝑎 𝑀𝑎𝑥 = 𝐵}

S = {0 , 𝑗𝑖𝑘𝑎 ∆ = 0

(∆

𝑀𝑎𝑥) , 𝑗𝑖𝑘𝑎 𝑀𝑎𝑥 ≠ 0

}

Dengan R= Red, G= Green, B=Blue. Ruang warna RGB dan HSV diilustrasikan pada

gambar 2.2. Untuk memperoleh warna oranye maka nilai HSV berada pada rentang

(71,100,100) sampai (16,100,100).

Gambar 2.2 Model ruang warna HSV (kanan) dan RGB (kiri) [2]

2.2.1.2 Pendeteksi objek

Fungsi utama dari pelacakan objek adalah untuk memisahkan objek yang dijadikan

target dari lingkungannya. Ada banyak metode yang dapat digunakan untuk pelacakan objek

seperti pemisahan warna, klasifikasi, pencocokan, dan lain-lain. Metode yang digunakan

untuk pelacakan objek pada kali ini yaitu menggunakan permisahan objek berdasarkan

warna. Digunakan metode pemisahan warna sebab warna yang dijadikan objek merupakan

warna yang berbeda cukup jauh dari warna latarnya.

Kelemahan dari pemisahan warna adalah saat latar memiliki warna yang mirip dengan

warna objek maka akan sulit untuk mendapatkan objek yang ditargetkan. Oleh karena itu

algoritma untuk pemisahan warna objek dan latar harus dilengkapi dengan pembatasan

( 2.1)

( 2.2)

( 2.3)

( 2.4)

( 2.5)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

9

ukuran objek. Artinya ketika warna target yang ukurannya melebihi batas atau lebih kecil

dari batas akan tidak dianggap sebagai objek.

2.2.2 Modul Socket.IO

Socket.IO adalah protokol transport yang memungkinkan komunikasi berbasis dua

arah secara real-time antara klien (web browser atau aplikasi) dan server. Implementasi

resmi komponen klien dan server ditulis dalam JavaScript. Modul ini menyediakan

implementasi Python dari keduanya, masing-masing dengan varian standar dan asyncio [7].

Modul socketio pada sisi client memiliki kelebihan yaitu dapat terhubung ke server lain yang

sesuai dengan modul ini walaupun tidak ada dalam modul ini, modul ini kompatibel dengan

Python 2.7 dan 3.5+, modul ini terdapat dua versi klien yaitu untuk standar Python dan satu

lagi untuk asyncio. Modul ini menggunakan arsitektur berbasis acara yang dapat

diimplementasikan dengan dekorator yang menyembunyikan rincian protokol, menerapkan

pemungutan suara HTTP panjang dan transport WebSocket, dan secara otomatis

menyambung kembali ke server jika koneksi terputus.

2.2.3 Modul Serial

Pyserial merupakan modul yang terdapat pada Pyhon untuk berkomunikasi dengan

perangkat yang memerlukan antarmuka serial. Modul ini dapat mengakses port serial pada

perangkat. Modul ini dapat berjalan pada Python Windows, OSX, Linux, BSD (mungkin

sistem yang mendukung POSIX) dan IronPython. [8] Pada robot penggunaan komunikasi

digunakan untuk berkomunikasi dengan mikrokontroler pada penendang. Perintah yang

digunakan dalam modul serial ini ialah membuka serial port, mengirim data serial, dan

menutup komunikasi serial.

2.2.3.1 Membuka serial port

Cara membuka atau menginisialisasikan koneksi serial adalah dengan memasukkan

perintah ser = serial.Serial('/dev/ttyUSB0', 9800, timeout=1). Ser merupakan variabel untuk

memanggil koneksi serial yang dibuat. Arti dari '/dev/ttyUSB0' adalah port yang

berhubungan langsung dengan perangkat serial berada pada alamat /dev/ttyUSB0. Arti dari

9800 adalah baudrate atau kecepatan memindahkan data dari satu perangkat ke perangkat

lain. Arti dari timeout = 1 adalah jika dalam satu detik perangkat tidak menerima data dalam

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

10

1 detik koneksi akan diperbaharui atau jika data yang dikirimkan lebih dari 1 detik maka

data akan dipotong.

2.2.3.2 Mengirim data serial

Cara mengirimkan data serial adalah dengan perintah ser.write(b'hello'). Ser.write

merupakan perintah untuk mengirimkan data. Huruf b kecil merupakan kode data

komunikasi pada Python 3. Arti dari ‘Hello’ merupakan data yang akan dikirimkan ke

perangkat melalui jalur serial.

2.2.3.3 Menutup komunikasi serial

Cara menutup koneksi serial adalah dengan perintah ser.close(). Kegunaan dari

menutup koneksi adalah untuk mengakhiri koneksi dengan perangkat yang terhubung agar

jalur koneksinya dapat digunakan untuk yang lain.

2.2.4 Modul Threading

Python threading membuat Python dapat menjalankan berbagai bagian program secara

bersamaan [9]. Modul ini akan digunakan agar sistem komunikasi, pemilah kondisi,

mengecek sensor dan mencari bola. Perintah yang digunakan dari modul ini adalah perintah

untuk membuat inisasi fungsi yang akan dilakukan secara paralel dan memulainya.

2.2.4.1 Membuat Inisasi Fungsi Yang Akan Dilakukan Secara Paralel

Cara membuat inisasi fungsi yang akan dilakukan secara paralel adalah dengan

perintah threading.Thread(target=namafungsi). threading.Thread merupakan perintah untuk

menginsiasi agar fungsi yang diinginkan untuk dijalakan secara paralel dapat dikenali oleh

modul tersebut. Pada bagian nama fungsi diisi dengan fungsi yang akan digunakan seperti

mengolah gambar, komunikasi, dan lain-lain.

2.2.4.2 Memulai proses Threading

Cara memulai proses threading ialah dengan perintah namavariabel.start(). Nama

variabel yang digunakan harus disesuaikan dengan nama variabel yang telah diinisiasikan

pada proses sebelumnya. Banyaknya proses yang paralel yang dapat dijalankan bergantung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

11

pada kemampuan komputer dan beban proses yang akan dikomputasikan oleh komputer

tersebut.

2.3 Kamera

Modul kamera adalah sensor gambar yang terintegrasi dengan lensa, kontrol

elektronik, dan antarmuka seperti CSI , Ethernet atau pensinyalan diferensial tegangan

rendah mentah. Modul kamera raspberry pi dapat terkoneksi dengan raspberry pi 3 melalui

antar muka CSI [10]. Tabel 2.2 merupakan spesifikasi lengkap dari modul kamera yang

digunakan. Modul kamera ini dipilih sebab ukurannya yang kecil namun memiliki

kemampuan yang baik.

Tabel 2.2 Spesifikasi kamera

Camera Module v2

Price $25

Dimension Around 25 × 24 × 9 mm

Weight 3g

Still resolution 8 Megapixels

Video modes 1080p30, 720p60 and 640 × 480p60/90

Linux integration V4L2 driver available

C programming API OpenMAX IL and others available

Sensor Sony IMX219

Sensor resolution 3280 × 2464 pixels

Sensor image area 3.68 x 2.76 mm (4.6 mm diagonal)

Pixel size 1.12 µm x 1.12 µm

Optical size 1/4"

Full-frame SLR lens equivalent 36 mm

S/N ratio 37 dB

Dynamic range 68 dB @ 8x gain

Sensitivity 681 mV/lux-sec

Dark current 17 mV/sec @ 60 C

Well capacity 4.3 Ke-

Fixed focus 2 m to infinity

Focal length 3.04 mm

Horizontal field of view 62.2 degrees

Vertical field of view 48.8 degrees

Focal ratio (F-Stop) 02.00

2.4 Sensor Ultrasonik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

12

Sensor ultrasonik adalah sebuah sensor yang memanfaatkan pancaran gelombang

ultrasonik. Sensor ultrasonik ini terdiri dari rangkaian pemancar ultrasonik yang disebut

transmitter dan penerima ultrasonik yang disebut receiver. Gelombang ultrasonik

merupakan gelombang akustik yang memiliki frekuensi mulai 20 kHz hingga sekitar 20

MHz. Frekuensi kerja yang digunakan dalam gelombang ultrasonik bervariasi tergantung

pada medium yang dilalui, mulai dari kerapatan rendah pada fasa gas, cair hingga padat [2].

Jika gelombang ultrasonik berjalan melalui sebuah medium, Secara matematis besarnya

jarak dapat dihitung sebagai berikut:

S = V.T / 2

V = 344 m/s

T = waktu yang diperlukan untuk sensor membaca jarak

Gambar 2.3 Gambar cara kerja sensor ping [2]

s adalah jarak dalam satuan meter, v adalah kecepatan gelombang suara yaitu 344

m/detik dan t adalah waktu tempuh dalam satuan detik. Ketika gelombang ultrasonik

menumbuk suatu penghalang maka sebagian gelombang tersebut akan dipantulkan sebagian

diserap dan sebagian yang lain akan diteruskan. Proses ini ditunjukkan pada gambar 2.3 dan

2.4.

Gambar 2.4 Gelombang ketika mengenai medium [2]

2.5 Sensor kompas

Modul Kompas HMC5883L adalah sebuah modul yang digunakan untuk

menunjukkan arah mata angin digital, atau juga disebut kompas digital. Modul ini

( 2.6)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

13

menggunakan komponen utama berupa IC HMC5883 yang merupakan IC kompas digital 3

axis yang memiliki antarmuka berupa 2 pin I2C. Modul kompas ini memiliki sensor

magneto-resistive HMC118X series beresolusi tinggi, ASIC dengan konten amplification,

automatic degaussing strap driver, offset cencelation dan 12 bit ADC yang memungkinkan

keakuratan kompas sekitar 2˚. Modul ini biasa digunakan dalam sistem navigasi [11].

2.6 Driver Motor BTS 7960

BTS 7960 adalah komponen elektronik yang digunakan untuk mengontrol arah

putaran dan kecepatan putaran motor DC. [12] Satu buah BTS 7960 dapat digunakan untuk

mengendalikan 1 buah motor DC. Tegangan maksimum dari BTS 7960 adalah 24 V dengan

arus maksimum 43A. Maksimum dari frekuensi PWM pada BTS 7960 adalah 25 KHz.

Driver ini akan digunakan untuk mengendalikan motor DC pada robot sebagai pengendali

arah dan kecepatan perpindahan robot. Bentuk dari driver motor yang digunakan terdapat

pada gambar 2.5.

Gambar 2.5 Bentuk fisik dari driver motor [12]

2.7 Motor DC

Motor listrik merupakan perangkat aktuator yang mengubah energi listrik menjadi

energi mekanik. Energi mekanik ini akan digunakan untuk memutar roda robot. Motor dc

merupakan motor yang menggunakan sumber arus searah. Motor akan menghasilkan energi

mekanik yang bergerak berputar. Arah putaran bergantung pada arah arus listrik. Untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

14

mengubah arah putaran motor dengan cara merubah arah arus listrik atau mengubah polaritas

motor dc tersebut. Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar

konduktor. Arah medan magnet ditentukan oleh arah aliran arus pada konduktor. Medan

magnet yang membawa arus mengelilingi konduktor. Aturan genggaman tangan kanan bisa

dipakai untuk menentukan arah garis fluks di sekitar konduktor. Genggam konduktor dengan

tangan kanan depan jempol mengarah pada aliran arus, maka jari-jari anda akan

menunjukkan arah garis fluks [13].

2.8 Omni Wheel

Omni wheel merupakan roda yang dapat berputar bebas dalam dua arah, roda ini juga

dapat berfungsi sebagai roda normal dan roda yang bergerak ke samping. Omni wheel

memungkinkan mengkonversi pergerakan dari satu arah menjadi bergerak ke segala arah.

Penggunaan Omni wheel tersebut memungkinkan pergerakan robot lebih efisien dalam

mencapai target sebab dalam bergerak ke segala arah tanpa harus mengubah arah roda [12].

2.9 Rotary Encoder

Rotary encoder adalah perangkat elektro-mekanis yang mengubah posisi sudut atau

gerakan poros atau gandar menjadi sinyal keluaran analog atau digital. Ada dua jenis utama

rotary encoder: absolut dan tambahan. Keluaran dari encoder absolut menunjukkan posisi

poros saat ini, menjadikannya transduser sudut . Keluaran dari encoder inkremental

memberikan informasi tentang gerakan poros, yang biasanya diproses di tempat lain menjadi

informasi seperti posisi, kecepatan dan jarak. Rotary encoder digunakan dalam berbagai

aplikasi yang membutuhkan pemantauan atau kontrol, atau keduanya, dari sistem mekanik,

termasuk kontrol industri, robotika , lensa fotografi , perangkat input komputer seperti mouse

dan trackom optomekanis , rheometer tekanan yang dikendalikan, dan memutar platform

radar. Pada robot rotary encoder berfungsi untuk mengetahui perpindahan yang telah

dilakukan oleh robot.

Cahaya dari LED akan melewati piringan melalui lubang-lubang piringan, yang

kemudian akan diterima oleh photosensor. Karena adanya lubang ini, maka sinyal yang

terdeteksi photodiode akan berupa pulsa. Dari pulsa inilah nantinya dapat diketahui seberapa

jauh dan cepat shaft berputar. Untuk menentukan arah putaran shaft, biasanya digunakan dua

buah LED dan fotodioda sebagai penghasil pulsanya, sehingga terdapat dua channel dengan

posisi LED dan fotodioda seperti gambar 2.6 Saat channel A mendahului channel B, maka

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

15

dapat diketahui shaft berputar searah jarum jam, dan sebaliknya jika channel B mendahului

channel A, maka shaft berputar berlawanan jarum jam. [14] Pada gambar 2.6 terdapat sinyal

Marker, sinyal Marker ini biasa disebut index signal. Sinyal ini berfungsi untuk menentukan

posisi nol dengan cara memberikan pulsa tunggal setiap satu revolusi. Pada motor yang

digunakan terdapat 7 pulsa dalam 1 revolusi.

Gambar 2.6 Cara kerja rotary encoder [14]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

16

3 BAB III

PERANCANGAN

Pada bab ini akan menjelaskan mengenai perancangan dari robot sepak bola beroda.

Bagian yang akan dibahas dari perancangan ini ialah diagram blok, perancangan perangkat

keras (hardware), dan perancangan perangkat lunak (software). Perancangan perangkat

keras yang akan dibahas ialah perancangan mekanik dari robot sepak bola beroda.

Perancangan perangkat lunak yang akan dibahas ialah perancangan mengenai perancangan

perangkat lunak secara umum dan perancangan mengenai komunikasi dari robot sepak bola

beroda.

3.1 Diagram Blok

Gambar 3.1 Diagram blok dari keseluruhan sistem

Gambar 3.1 merupakan blok diagram dari robot sepak bola beroda. Robot ini memiliki

beberapa komponen utama yaitu raspberry pi, kamera, sensor kompas, motor DC, driver

motor DC, sensor jarak, dan rotary encoder. Untuk komunikasi robot sepak bola beroda ini

akan menggunakan komunikasi TCP/IP untuk berkomunikasi dengan base station dan untuk

berkomunikasi dengan penendang akan menggunakan komunikasi serial. Perintah yang

diterima dari base station dan data dari kamera serta sensor - sensor akan diolah oleh

raspberry pi untuk menghasilkan gerakan pada robot untuk bermain bola. Data dari kamera

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

17

akan berguna untuk mengetahui posisi dari bola ketika bermain. Data dari rotary encoder

berguna untuk mengetahui segala perpindahan dari robot yang telah dilakukan agar hasilnya

dapat dipantau oleh base station. Sensor kompas berfungsi untuk mengetahui robot sedang

menghadap. Data yang diterima dari base station merupakan perintahnya yang harus

dilakukan oleh robot. Data yang dikirimkan ke base station merupakan data perpindahan

robot beserta arah robot. Data yang dikirimkan ke penendang merupakan jarak target yang

harus dicapai oleh penendang.

3.2 Perancangan Perangkat Keras

Gambar 3.2 Robot tampak atas Gambar 3.3 Robot tampak samping

Gambar 3.4 Robot tampak depan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

18

Gambar 3.2 sampai 3.4 merupakan gambar rancangan robot sepak bola tampak dari

sisi depan, atas, dan samping. Robot sepak bola memiliki 5 aktuator yaitu 3 motor yang

dilengkapi dengan roda omni wheel yang membuat robot dapat berjalan ke segala arah dan

2 motor yang dilengkapi roda sebagai pemegang bola ketika bola digiring oleh robot. Roda

omni wheel yang digunakan pada robot ini berukuran 100 mm atau 10 cm sebab agar dapat

menanggung beban yang berat dan agar tidak terjadi roda yang selip atau lepas dari porosnya

pada saat pertandingan. Gambar kamera berada di bagian depan robot yang diwakilkan

dengan bentuk kotak merah. Alasan penempatan kamera pada posisi tersebut ialah agar

kamera memperoleh sudut pandang yang luas sehingga dapat mencari bola dengan lebih

responsif dan akurat. Roda omni wheel ditempatkan seperti bentuk segitiga agar robot dapat

leluasa dalam bergerak ke segala arah dan efisien dalam penggunaan tempat serta energi

untuk menggerakkan roda. Kotak berwarna kuning pada gambar 3.4 merupakan perwakilan

dari lokasi raspberry pi akan diletakkan. Penempatan raspberry pi berada di tengah-tengah

dari robot sebab titik tersebut merupakan sentral dari robot sehingga paling aman, mudah

untuk dijangkau apabila terjadi kerusakan atau permasalahan, dan lebih efisien dalam

penggunaan kabel. Pada bagian depan robot terdapat 2 roda yang berfungsi sebagai

pemegang bola agar bola tidak lepas saat dibawa oleh robot. Posisi penendang berada di

bagian belakang dari pemegang bola agar penendang dapat menendang bola dengan

maksimal. Warna dasar dari robot yang akan dibuat adalah hitam sebab merupakan peraturan

dari perlombaan. Pada sisi samping kanan, kiri, dan atas akan diberikan penanda warna cyan

/ magenta tergantung dari undian atau ketetapan dari panitia. Perbedaan warna ini berfungsi

sebagai alat bantu untuk robot mengenali robot teman dan robot lawan.

3.3 Perancangan Perangkat Lunak

3.3.1 Perancangan Perangkat Lunak secara umum

Gambar 3.5 merupakan diagram alir secara umum dari robot sepak bola. Langkah

pertama yang dilakukan adalah menginisiasikan kamera bawah, sensor kompas, sensor jarak,

sensor rotary, motor, komunikasi dengan penendang, dan komunikasi dengan base station.

Jika dilihat pada gambar 3.5 pada tahap inisiasi robot akan mulai mengaktifkan kamera

bawah, menghubungi base station, mengecek koneksi terhadap penendang, mengaktifkan

sensor kompas, dan mengaktifkan sensor jarak. Setelah tahap inisiasi robot akan menunggu

perintah dari base station. Pada saat menunggu robot akan diam. Setelah perintah dari base

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

19

station diterima robot akan melakukan perintah sesuai kode yang diterima. Perintah yang

diterima memiliki 4 kemungkinan yaitu move, rotate, capture ball, dan kick. Ketika

menerima perintah move robot akan masuk ke sub rutin berjalan menuju target. Perintah

move bermaksud untuk memindahkan robot ke posisi tertentu. Ketika robot menerima

perintah rotate maka robot akan masuk ke sub rutin berputar sampai sesuai sudut yang

diinginkan. Tujuan dari dilakukannya hal ini adalah untuk memutar robot agar sesuai dengan

strategi yang diinginkan base station. Apabila capture ball diterima oleh robot maka robot

akan masuk ke sub rutin mencari bola, kemudian sub rutin mendekati bola, lalu masuk ke

sub rutin mengambil bola.

Gambar 3.5 Diagram alir secara keseluruhan

3.3.2 Sub Proses Robot Berjalan Mendekati Target

Pada gambar 3.6 menejelaskan proses robot berjalan agar robot berada di posisi yang

dikehendaki oleh base station. Program ini diawali dengan robot menerima perintah move

dari base station yang disertai dengan target yang dikehendaki. Kemudian robot akan

berjalan menyesuaikan target yang diberikan. Robot berjalan maju ke depan bila target lokasi

berada di utara robot. Robot berjalan ke arah samping kanan depan bila target berada di timur

laut dari posisi robot. Robot berjalan ke arah samping kiri depan bila target berada di barat

laut dari posisi robot. Robot berjalan mundur bila target berada di selatan dari posisi robot.

Robot berjalan ke arah samping kanan belakang bila target berada di tenggara dari posisi

robot. Robot berjalan ke arah samping kiri belakang bila target berada di barat daya dari

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

20

posisi robot. Kemampuan robot untuk bergerak ke semua arah diperoleh dari jenis roda yang

digunakan yaitu omni wheel. Selama robot bergerak, proses dari sub rutin yang mencatat

perpindahan akan berjalan juga. Setelah sub rutin tersebut selesai, apabila robot belum

mencapai target maka akan robot akan bergerak lagi sampai target tercapai.

Gambar 3.6 Diagram alir sub proses mendekati target

3.3.3 Sub Proses Robot Berputar Sampai ke Sudut yang Diingikan

Gambar 3.7 Diagram alir sub proses robot berputar sampai ke sudut yang diinginkan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

21

Pada gambar 3.7 merupakan sub proses yang berguna untuk memutar robot agar sesuai

dengan keinginan dari basestation. Setelah robot menerima perintah rotate robot akan

melihat kecenderungan dari target yang diminta. Apabila sudutnya lebih besar dari 180˚

maka robot akan berputar cw, sedangkan apabila sudutnya lebih kecil atau sama dengan 180˚

maka robot akan berputar ccw. Saat robot berputar, robot akan menjalankan sub rutin

mencatat hasil perpindahan robot. Apabila hasil yang dihitung oleh sub rutin tersebut sudah

sesuai dengan harapan target maka robot akan mengunggu perintah berikutnya. Namun

apabila belum sesuai target, robot akan berputar lagi sampai target tercapai.

3.3.4 Sub Proses Mencari Bola

Gambar 3.8 Diagram alir sub proses mencari bola

Gambar 3.8 menjelaskan mengenai proses robot mengolah gambar untuk mencari bola.

Pertama robot akan menerima perintah capture ball. Setelah itu kamera akan menangkap gambar

dalam bentuk video. Gambar yang diperoleh kemudian akan dilakukan pemisahan warna. Warna

yang dipisahkan adalah warna jingga. Karena pemisahan warna menggunakan jenis warna RGB

maka nilai rentang yang diharapkan untuk warna jingga ialah red = 255 green = 69 blue = 0 (merah

oranye) sampai red = 255 green = 165 blue = 0 (jingga). Gambar yang telah difilter kemudian diukur

luasan yang berwarna jingga berdasarkan tingkat berkelompoknya. Apabila ada minimum luasan

yang diinginkan maka proses akan diteruskan ke sub proses berikutnya, apabila belum proses akan

diulang kembali.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

22

3.3.5 Sub Proses Mendekati Bola

Gambar 3.9 menjelaskan hal yang dilakukan robot apabila target bola sudah ditemukan.

Ketika target bola sudah ditemukan robot akan bergerak secara otomatis untuk bergerak maju atau

mundur atau putar atau kanan atau kiri sesuai dari posisi target bola terhadap posisi robot. Sambil

berjalan sensor jarak akan mendeteksi bola dan sub rutin membaca hasil perpindahan akan

dijalankan juga. Setelah sensor jarak menemukan bola dan bola berada pada jarak tertentu maka

proses akan dilanjukan oleh sub proses berikutnya.

Gambar 3.9 Diagram alir sub proses mendekati bola

3.3.6 Sub Proses Mendekati Bola

Gambar 3.10 merupakan gambar proses yang dilakukan ketika bola sudah terdeteksi

sensor jarak dan berada pada jarak minimal yang telah ditentukan. Setelah bola berada pada

jarak tertentu robot akan mengaktifkan gripper untuk mengambil bola, merebut bola, dan

menggiring bola. Ketika gripper diaktifkan robot masih akan berjalan sedikit kedepan guna

memastikan bola benar-benar sampai dipegang oleh gripper. Sub rutin mencatat hasil

pergerakan tetap dijalakan sebab robot masih melakukan perpindahan. Setelah robot benar-

benar memegang bola maka robot akan memberi kabar ke base station.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

23

Gambar 3.10 Diagram alir sub proses mendekati bola

3.3.7 Sub Proses Mengirim ke Penendang

Gambar 3.11 Diagram alir sub proses mengirim ke penendang

Gambar 3.11 merupakan langkah untuk mengirimkan data dari basestation ke

penendang. Pada proses ini data yang dikirimkan oleh basestation langsung dikirimkan ke

mikro penendang.

3.3.8 Sub Proses Menunggu Kabar dari Penendang

Gambar 3.13 merupakan langkah untuk menerima data dari penendang ke basestation.

Pada proses ini data yang dikirimkan oleh penendang langsung dikirimkan ke basestation.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

24

Gambar 3.12 Diagram alir menunggu kabar dari penendang

3.3.9 Sub Proses Mencatat Hasil Pergerakan Robot

Gambar 3.11 berfungsi sebagai data acuan mengenai posisi robot bagi base station.

Hal yang dibaca pertama kali adalah sensor rotary encoder yang terdapat pada motor.

Selanjutnya yang dibaca adalah data dari sensor kompas. Ketika data dari kedua jenis sensor

tersebut sudah diperoleh data tersebut diolah untuk menghasilkan nilai perpindahan. Data

perpindahan yang sudah jadi dikirimkan ke basestation.

Gambar 3.13 Diagram alir mencatat hasil pergenakan robot

3.3.10 Komunikasi data

Tabel 3.1 dan 3.2 merupakan format yang digunakan untuk berkomunikasi antara robot

dengan base station. Data yang diterima dari base station untuk memberi perintah

menangkap bola : 'Captureball ': '1' . Data yang diterima dari base station untuk memberi

perintah memindahkan robot : 'Move': '[89.100]' . Data yang diterima dari base station untuk

memberi perintah untuk merotasi robot : 'Rotate ': '100' . Data yang diterima dari base station

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

25

untuk memberi perintah tendang : 'Kick': '80'. Data yang diterima dari base station untuk

memberi perintah stop: 'stop'. Data yang dikirim dari robot untuk memberi memberitahukan

base station mengenai sudut robot : 'Sudut ': '90'. Data yang dikirim dari robot untuk

memberi memberitahukan base station mengenai perpindahan robot : 'Putaran': '[90,65]'.

Data yang dikirim dari robot untuk memberi memberitahukan base station mengenai

kesiapan penendang : 'Kickready': '1'. Data yang dikirim dari robot untuk memberi

memberitahukan base station mengenai berhasil tidaknya bola ditangkap : 'Ballcaptured': '1'.

Tabel 3.3 merupakan format yang digunakan untuk berkomunikasi dengan penendang. Data

yang dikirim dari robot untuk memberi memberitahukan penendang mengenai kekuatan

untuk menendang : 80. Data yang dikirim dari penendang untuk memberi memberitahukan

robot mengenai kesiapan penendang : 1.

Tabel 3.1 Komunikasi data dari base station ke robot

Field Tipe data Deskripsi

Move Array of number Perintah bergerak sebanyak (x, y) dari posisi robot

saat ini

Rotate Number Perintah berputar sebanyak x degree

Kick Number Perintah menendang berdasarkan skala kekuatan

yang diberikan

Captureball Boolean Perintah untuk menangkap bola

Stop String Perintah untuk menghentikan aksi tertentu yang

sedang dilakukan oleh robot

Tabel 3.2 Komunikasi data dari robot ke base station

Field Tipe data Deskripsi

Putaran Array of number Terdiri dari 2 angka x dan y setia kali robot bergeser

Sudut Number Nilai sudut robot saat ini

Kickready Boolean Status kesiapan penendang saat charging

Ballcaptured Boolean Status bola berhasil didapatkan atau tidak

Tabel 3.3 Komunikasi data dengan penendang

Field Tipe data Deskripsi

Kick Number Perintah menendang berdasarkan skala kekuatan

yang diberikan

Kick ready Boolean Status kesiapan penendang saat charging

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

26

3.4 Skema Pengolahan Posisi

3.4.1 Target Berada di Timur Laut Robot

Ketika posisi target yang diberikan dari base station berada di sisi timur laut dari robot

maka robot akan maju serong kanan. Kondisi ini digambarkan pada gambar 3.14. Untuk

dapat maju serong kanan maka robot akan mengerakkan motor sisi kiri dengan arah

berlawanan jarum jam dan motor sisi belakang dengan arah searah jarum jam. Untuk motor

sebelah kanan tidak akan digerakkan namun roda tetap dapat berjalan sebab menggunakan

roda omni wheel. Untuk kecepatan motor sisi kiri dan sisi belakang memiliki perbandingan

1:1 dan nilainya bergantung pada seberapa jarak target. Semakin jauh target maka

kecepatannya akan semakin tinggi, namun akan berkurang apabila jarak target sudah

semakin dekat.

Gambar 3.14 Kondisi target berada di timur laut robot

3.4.2 Target Berada di Utara Robot

Gambar 3.15 Kondisi target berada di utara robot

Ketika posisi target yang diberikan dari base station berada di sisi utara dari robot

maka robot akan maju lurus ke depan. Kondisi ini digambarkan pada gambar 3.15. Untuk

dapat maju lurus ke depan maka robot akan mengerakkan motor sisi kiri dengan arah

berlawanan jarum jam dan motor sisi kanan dengan arah searah jarum jam. Untuk motor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

27

sebelah belakang tidak akan digerakkan namun roda tetap dapat berjalan sebab

menggunakan roda omni wheel. Untuk kecepatan motor sisi kiri dan sisi kanan memiliki

perbandingan 1:1 dan nilainya bergantung pada seberapa jarak target. Semakin jauh target

maka kecepatannya akan semakin tinggi, namun akan berkurang apabila jarak target sudah

semakin dekat.

3.4.3 Target Berada di Barat Laut Robot

Ketika posisi target yang diberikan dari base station berada di sisi barat laut dari robot

maka robot akan maju serong kiri. Kondisi ini digambarkan pada gambar 3.16. Untuk dapat

maju serong kiri maka robot akan mengerakkan motor sisi kanan dengan arah searah jarum

jam dan motor sisi belakang dengan arah berlawanan jarum jam. Untuk motor sebelah kiri

tidak akan digerakkan namun roda tetap dapat berjalan sebab menggunakan roda omni

wheel. Untuk kecepatan motor sisi kiri dan sisi belakang memiliki perbandingan 1:1 dan

nilainya bergantung pada seberapa jarak target. Semakin jauh target maka kecepatannya

akan semakin tinggi, namun akan berkurang apabila jarak target sudah semakin dekat.

Gambar 3.16 Kondisi target berada di barat laut robot

3.4.4 Target Berada di Barat Robot

Gambar 3.17 Kondisi target berada di barat robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

28

Ketika posisi target yang diberikan dari base station berada di sisi barat dari robot

maka robot akan bergeser ke kiri. Kondisi ini digambarkan pada gambar 3.17. Untuk dapat

berjalan ke kiri maka robot akan mengerakkan motor sisi kiri dengan arah searah jarum jam,

motor sisi belakang dengan arah berlawanan jarum jam, dan motor sebelah kanan dengan

arah searah jarum jam. Untuk kecepatan motor sisi kiri, sisi belakang, dan sisi kanan

memiliki perbandingan 0,3:1:1 dan nilainya bergantung pada seberapa jarak target. Semakin

jauh target maka kecepatannya akan semakin tinggi, namun akan berkurang apabila jarak

target sudah semakin dekat.

3.4.5 Target Berada di Barat daya Robot

Gambar 3.18 Kondisi target berada di barat daya robot

Ketika posisi target yang diberikan dari base station berada di sisi barat daya dari robot maka

robot akan mundur serong kiri. Kondisi ini digambarkan pada gambar 3.18. Untuk dapat

mundur serong kiri maka robot akan mengerakkan motor sisi kiri dengan arah searah jarum

jam dan motor sisi belakang dengan arah berlawanan jarum jam. Untuk motor sebelah kanan

tidak akan digerakkan namun roda tetap dapat berjalan sebab menggunakan roda omni

wheel. Untuk kecepatan motor sisi kiri dan sisi belakang memiliki perbandingan 1:1 dan

nilainya bergantung pada seberapa jarak target. Semakin jauh target maka kecepatannya

akan semakin tinggi, namun akan berkurang apabila jarak target sudah semakin dekat.

3.4.6 Target Berada di Selatan Robot

Ketika posisi target yang diberikan dari base station berada di sisi selatan dari robot

maka robot akan mundur lurus ke belakang. Kondisi ini digambarkan pada gambar 3.19.

Untuk dapat mundur lurus ke belakang maka robot akan mengerakkan motor sisi kiri dengan

arah searah jarum jam dan motor sisi kanan dengan arah berlawanan jarum jam. Untuk motor

sebelah belakang tidak akan digerakkan namun roda tetap dapat berjalan sebab

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

29

menggunakan roda omni wheel. Untuk kecepatan motor sisi kiri dan sisi kanan memiliki

perbandingan 1:1 dan nilainya bergantung pada seberapa jarak target. Semakin jauh target

maka kecepatannya akan semakin tinggi, namun akan berkurang apabila jarak target sudah

semakin dekat.

Gambar 3.19 Kondisi target berada di selatan robot

3.4.7 Target Berada di Tenggara Robot

Gambar 3.20 Kondisi target berada di tenggara robot

Ketika posisi target yang diberikan dari base station berada di sisi tenggara dari robot

maka robot akan mundur serong kanan. Kondisi ini digambarkan pada gambar 3.20. Untuk

dapat mundur serong kanan maka robot akan mengerakkan motor sisi kanan dengan arah

berlawanan jarum jam dan motor sisi belakang dengan arah searah jarum jam. Untuk motor

sebelah kiri tidak akan digerakkan namun roda tetap dapat berjalan sebab menggunakan roda

omni wheel. Untuk kecepatan motor sisi kiri dan sisi belakang memiliki perbandingan 1:1

dan nilainya bergantung pada seberapa jarak target. Semakin jauh target maka kecepatannya

akan semakin tinggi, namun akan berkurang apabila jarak target sudah semakin dekat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

30

3.4.8 Target Berada di Timur Robot

Gambar 3.21 Kondisi target berada di timur robot

Ketika posisi target yang diberikan dari base station berada di sisi timur dari robot

maka robot akan bergeser ke kanan. Kondisi ini digambarkan pada gambar 3.21. Untuk dapat

berjalan ke kanan maka robot akan mengerakkan motor sisi kiri dengan arah berlawanan

jarum jam, motor sisi belakang dengan arah searah jarum jam, dan motor sebelah kanan

dengan arah berlawanan jarum jam. Untuk kecepatan motor sisi kanan, sisi belakang, dan

sisi kiri memiliki perbandingan 0,3:1:1 dan nilainya bergantung pada seberapa jarak target.

Semakin jauh target maka kecepatannya akan semakin tinggi, namun akan berkurang apabila

jarak target sudah semakin dekat.

3.4.9 Target berupa berputar

Gambar 3.22 Kondisi target berputar

Ketika target yang diberikan dari base station berupa berputar dengan sudut tertentu

maka robot akan berputar sampai dengan sudut yang diharapkan. Kondisi ini digambarkan

pada gambar 3.22. Untuk dapat berputar maka robot akan mengerakkan motor sisi kiri

dengan arah berlawanan jarum jam, motor sisi belakang dengan arah searah jarum jam, dan

motor sebelah kanan dengan arah searah jarum jam. Untuk kecepatan motor sisi kanan, sisi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

31

belakang, dan sisi kiri memiliki perbandingan 1:1:1 dan nilainya sekitar 40% dari nilai

maksimum.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

32

4 BAB IV

HASIL DAN PEMBAHASAN

Pada bab ini akan dibahas mengenai implementasi dan hasil dari perancangan yang

telah dibuat di bab sebelumnya, perubahan hardware, perubahan software serta analisis dari

hasil pengujian. Pengujian yang dilakukan digunakan untuk mengetahui kinerja dari sensor-

sensor yang digunakan dan kinerja robot secara keseluruhan. Data yang diperoleh dari

pengujian akan dianalisis yang bertujuan untuk menjadi bahan evaluasi alat agar dapat lebih

dikembangkan lagi di kemudian hari.

4.1 Perubahan Perancagan

4.1.1 Perubahan Kamera

Pada robot 1 terjadi perubahan kamera yang digunakan. Hal ini disebabkan oleh sensor

kamera yang tidak berfungsi dan keterbatasan jumlah stok kamera. Kamera pengganti yang

digunakan memiliki seri logitech C270. Walaupun jenis kamera diubah, tetapi posisi

peletakaan kamera tetap sama.

4.1.2 Perubahan Diagram Alir Utama

Gambar 4.1 Diagram alir utama

Gambar 4.1 merupakan diagram alir utama yang telah direalisasikan. Jika

dibandingkan dengan gambar 3.5 terdapat 2 perubahan yaitu penggantian respon yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

33

dilakukan apabila mendapat perintah ‘kick’ dan penambahan hal yang dilakukan ketika

mendapat perintah ‘stop’. Perubahan pada perintah ‘kick’ dilakukan karena komunikasi

dengan penendang dilakukan pada raspberry lain sehingga perintah ‘kick’ hanya digunakan

untuk menghentikan gripper. Penambahan perintah stop merupakan penambahan fungsi

sebab yang sebelumnya belum dimasukkan dalam perancangan.

4.1.3 Perubahan diagram alir Sub Proses Mencatat Hasil Pergerakan

Robot

Gambar 4.2 Diagram alir sub proses mencatat hasil pergerakan robot

Hasil perubahan pada gambar 3.13 terdapat pada Gambar 4.2. Perubahan ini dilakukan

sebab untuk meningkatkan efektifikas pada proses mengetahui perpindahan robot.

Pengiriman data perpindahan ke base station terjadi apabila base station mengirimkan

perintah move atau captureball. Robot mengirimkan data sudut ketika base station

mengirimkan perintah rotate

4.1.4 Perubahan Data Komunikasi

Tabel 4.1 merupakan perubahan dari tabel 3.1 dan 3.2 mengenai data yang

dikomunikasikan. Perubahan data yang dikomunikasikan disebabkan adanya perubahan

diagram alir yang digunakan serta ada pembaharuan kata yang digunakan. Perintah dari base

station ke robot untuk ‘kick’ dari yang sebelumnya sebagai data untuk dikirmkan ke

penendang diganti menjadi data untuk mematikan gripper. Data yang dikirimkan robot ke

base station pada bagian ‘kickready’ dihapuskan sebab komunikasi ke penendang ditangani

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

34

oleh raspberry A. Untuk data ‘sudut’ dan ‘putaran’ hanya terjadi penggantian kata agar lebih

mudah dipahami.

Tabel 4.1 Perubahan data komuniakasi

Data dari robot ke base station

Sebelum Implementasi

Field Tipe data Field Tipe data Deskripsi

Putaran Array of

number

Move Array of

number

Terdiri dari 2 angka x dan y

setia kali robot bergeser

Sudut Number Rotated Number Nilai sudut robot saat ini

Kickready Boolean Dihapuskan Status kesiapan penendang

saat charging

Data dari base station ke robot

Sebelum Implementasi

Field Tipe data Field Tipe data Deskripsi

Kick Number Kick Bolean Perintah menendang

berdasarkan skala kekuatan

yang diberikan

4.2 Implementasi Penelitian

Pada sub bab ini akan dijelaskan mengenai implementasi dari perancangan yang telah

dibuat mulai dari hardware robot, software robot, dan sistem kelistrikan robot. Pada

Hardware robot akan dijelaskan hasil robot yang telah dibuat oleh peneliti. Pada Sistem

kelistrikan penulis menjelaskan mengenai pembagian daya yang digunakan pada robot yang

dibuat oleh peneliti. Pada software robot akan dijelakan mengenai perintah-perintah yang

digunakan dalam penelitian ini secara garis besar.

4.2.1 Hardware robot

Gambar 4.3 sampai gambar 4.8 merupkan gambar bentuk fisik dari robot yang telah

dibuat. Pelindung bagian luar menggunakan triplek dan rangka sebagai penopang utama

dibuat dari besi L yang disambungkan dengan cara dilas. Robot 1 memiliki panjang 56 cm,

lebar 45 cm , berwarna hitam, dan tinggi 75 cm dan robot 2 memiliki panjang 56 cm, lebar

45 cm , berwarna hitam, dan tinggi 75 cm. Rangka robot ditopang oleh roda dan motor.

Beban pada robot dibagi menjadi 3 karena pada robot peneliti menggunakan 3 roda utama.

Roda yang digunakan merupakan roda omni wheel yang membuat robot dapat bergerak ke

berbagai arah. Pada gripper digunakan roda omni kecil sebab ketersediaan komponen yang

ada. Hardware robot 2 memiliki kelemahan sebab motor kiri karena tidak dapat digunakan

dengan semestinya yang karena motor yang hasilnya tidak dapat diprediksi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

35

Gambar 4.3 Tampak depan robot 1

Gambar 4.4 Tampak samping robot 1

Gambar 4.5 Tampak belakang robot 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

36

Gambar 4.6 Tampak depan robot 2

Gambar 4.7 Tampak samping robot 2

Gambar 4.8 Tampak belakang robot 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

37

4.2.2 Sistem Kelistrikan

Pada gambar 4.9 merupakan sistem pembagian daya yang digunakan pada penelitian

ini. Sumber tegangan utama berasal dari sebuah baterai. Baterai tersebut akan digunakan

untuk menghidupkan 2 buah step down ke 5 volt yang akan digunakan untuk menghidupkan

raspberry, 2 buah motor gripper dan untuk menghidupkan sebuah step up ke 24 volt yang

akan digunakan untuk menghidupkan motor. Pada raspberry yang digunakan oleh peneliti

berguna sebagai penyedia tegangan untuk sensor rotary encoder, kompas, ping, IC driver,

dan kamera. Tegangan 24 volt yang dihasilkan dari step up akan diteruskan ke motor

penggerak melalui driver motor. Pada driver motor tersebut akan mengendalikan tegangan

yang mengalir dari step up ke motor penggerak. Tegangan dari baterai akan diteruskan ke

motor gripper melalui driver motor.

Gambar 4.9 Pembagian daya

4.2.3 Software robot

4.2.3.1 Program Rotary Encoder

Program ini berfungsi untuk membaca sensor rotary encoder yang dilengkapi dengan

perhitungan perpindahan robot. Perpindahan robot dicatat agar base station dapat

mengetahui posisi robot saat ini. Perpindahan robot akan dilaporkan setiap 1 detik. Program

ini akan mengolah data perpindahan setiap ada perpindahan dari off ke on pada pin rotary

encoder. Program ini menggunakan sistem intrupsi yang bersifat paralel sehingga tidak perlu

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

38

program utama. Pada gambar 4.10 Pin 12 merupakan pin rotary encoder yang berada pada

roda kiri dan pin 7 merupakan pin rotary encoder yang berada pada roda kanan. GPIO.setup

merupakan fungsi untuk menjadikan pin 12 dan pin 7 sebagai input. Perpindahan merupakan

data perpindahan akan disimpan. Format yang digunakan dalam variabel tersebut yaitu [x,y].

Variabel arah merupakan variabel yang menentukan seberapa jauh robot berpindah. Jika

robot bergerak maju atau mundur maka setiap pulsanya setara dengan 0,1 cm pada titik y

dan 0 cm pada titik x . Jika robot bergerak serong maju serong kanan atau maju serong kiri

atau mundur serong kanan dan mundur serong kiri maka setiap pulsanya setara dengan 0,05

cm pada titik x dan 0,08 cm pada titik y. Jika robot bergerak ke kanan atau ke kiri maka

setiap pulsanya setada dengan 0,6 cm pada titik x dan 0 pada titik y. GPIO.add_event_detect

merupakan fungsi yang digunakan untuk mengaktifkan pin 12 dan pin 7 sebagai pin intrupsi

yang akan memanggil fungsi penghitung perpindahan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

39

Gambar 4.10 Listing program untuk rotary encoder

4.2.3.2 Program Kompas

Program ini berfungsi untuk membaca data dari sensor kompas. Pertama-tama

meginisiasikan sensor kompas. Inisiasi yang dilakukan dengan cara menulis alamat register-

register yang ditentukan seperti gambar 4 Fungsi magnetometer_Init() adalah untuk

menuliskan data kepada alamat tertentu agar sensor kompas dapat mengirimkan data.

Kemudian fungsi read_raw_data (addr) adalah fungsi untuk membaca data x,y,z pada sensor

kompas.Perintah smbus.Smbus(1) berfungsi untuk menginisiasikan komunikasi i2c pada

raspberry. Alamat sensor kompas pada i2c ialah 0x1e. Pada gambar 4.11 Merupakan fungsi

untuk membaca sudut. Pertama-tama membaca data mentah x dan y dari sensor kompas.

Kemudian dicari nilai arctan dari y dan x. Hasil arctan dari rumus itu ditambahkan dengan

nilai konstanta declanation. Data yang telah diperoleh kemudian dikonversikan menjadi

derajad. Karena derajad yang dari sensor kompas bersifat berputar melawan arah jarum jam

maka diperlukan perhitungan untuk meupah arah derajad berdasarkan arah jarum jam. Pin

kalibrasi digunakan untuk menetakpakn bahwa sisi depan robot saat ini emrupakan sudur

270. Perhoutngan berukurnya dilalukan untuk normalisasi dari perhitungan yang dilakukan

sebelumya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

40

Gambar 4.11 Listing program untuk sensor kompas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

41

4.2.3.3 Program sensor ping

Pada gambar 4.12 merupakan program yang digunakan untuk membaca jarak

menggunakan sensor ping. Program ini bertujuan untuk mendeteksi bola dengan

menggunakan sensor jarak. Langkah awal yaitu menginisiasikan pin trigger dan echo. Pada

pin trigger diatur pada pin 29 dan pin echo diatur pada pin 31 pada raspberry. Pada setup

pin, pin trigger akan dijadikan output yang fungsinya sebagai pemicu dari gelombang

ultrasonik dan pin echo ada dijadikan input sebagai penerima gelombang balik dari

ultrasonik yang telah dipicu. Untuk mencari jarak bola dengan menggunakan ping, telah

dibuat fungsi yang bernama distance(). Pada fungsi ini hal yang pertama dilakukan ialah

menyalakan pin trigger untuk memicu sensor ping mengeluarkan gelombang ultrasonik.

Selang 10 mikro detik pin trigger akan dimatikan. Kemudian ketika pin echo akan

menghitung data durasi yang dibutuhkan agar pin echo dapat menerima umpan balik dari

objek yang berada di depannya. Data durasi merupakan hasil selisih antara waktu mulai dan

waktu selesai pada pin echo. Selanjutnya data durasi tersebut akan dikalikan dengan 34000

dan dibagi 2. Dikalikan 34000 sebab kecepatan udara yaitu 340 m/s sedangkan satuan yang

digunakan ialah cm sehingga 34000cm/s. Dibagi 2 pada rumus jarak sebab waktu yang

ditempuh agar gelombang yang dipancarkan dapat memantul setara dengan 2 kali lipat jarak

tempuh sehingga dari perhitungan jarak dibagi 2. Proses berikutnya ialah mengembalikan

nilai jarak.

Gambar 4.12 listing program sensor ping

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

42

4.2.3.4 Program Pengolah data kamera

Gambar 4.13 merupakan program yang berfungsi untuk mengolah data kamera untuk

mencari bola. Hal yang diinisialisasikan yaitu kamera yang akan digunakan, warna jingga

pada batas bawah dengan warna HSV dan warna jingga pada batas atas dengan warna HSV.

Fungsi yang digunakan dalam program ini dinamakan dengan caribola(). Fungsi ini akan

aktif secara paralel dengan fugsi lainnya. Fungsi dari pemanggilan sleep diawal fungsi ialah

agar mengurangi beban proses di awal. Selanjutnya proses dilanjutkan dalam looping secara

terus menerus.

Dalam pengulangan ini diawali dengan membaca gambar dari kamera. Gambar dari

kamera baru akan di proses apabila terdapat perintah catch dari base station. Proses yang

dilakukan terhadap gambar yang telah diambil kamera yaitu dengan mengkonversi warna

dari RGB dan HSV. Selanjutnya data yang telah dubah dalam rentang warna HSV difilter

dengan rentang atas dan bawah untuk warna jingga. Langkah berikutnya yaitu menghitung

kontur dari objek yang lolos pada filter warna. Langkah berikutnya ialah mencari luasan

kontur yang paling besar. Setelah mendapatkan area yang paling besar maka langkah

berikutnya ialah mencari nilai x dan y maximum dan minimun. Setelah nilai x dan y

maksimum dan minimum berhasil didapat maka langkah berikutnya ialah mencari titik

tengah dari x dan y. Jika nilai x dan y maksimum dan minimum == 0 maka nilai x dan y

akan otomatis bernilai 0. Data x dan y disimpan pada variabel cy dan cx. Data pada cy dan

cx kemudian diletakkan pada frame gambar. Selanjutnya yaitu menampilkan frame gambar,

perintah ini digunakan ketika proses pensetingan saat sudah berjalan perintah ini dapat

dinonaktifkan untu meringakan beban proses kerja raspberry. Kemudian terdapat perintah

sleep 0,1 detik berfungsi untuk mengurangi beban proses kerja raspberry.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

43

Gambar 4.13 Listing program pengolah data kamera

4.2.3.5 Program Cara Bermain Robot

Gambar 4.14 merupakan program yang digunakan robot untuk mengambil keputusan

untuk merespon perintah dari base station. Jika perintah yang diberikan base station berupa

perintah ‘move’ maka robot akan mengambil data x dan y dari data yang diterima. Apabila

nilai x dan y positif maka robot akan bergerak maju serong kanan. Jika x positif dan y = 0

maka robot akan bergerak maju. Jika nilai x negatif dan y = 0 maka robot akan bergerak

mundur. Jika nilai x = 0 dan y positif maka robot akan bergerak ke kanan. Jika nilai x = 0

dan y negatif maka robot akan bergerak ke kiri. Jika nilai x positif dan y negatif maka robot

akan bergerak maju serong kiri. Jika nilai x negatif dan y negatif maka robot akan bergerak

mundur serong kiri.

Ketika perintah yang diberikan base station berupa perintah ‘rotate’ maka robot akan

mengambil data sudut saat ini dan menjumlahkannya dengan target yang dikehendaki.

Langkah berikutnya adalah membuat batas rentang toleransi karena akan sangat sulit apabila

robot harus memiliki sudut yang benar-benar persis dengan target yang diinginkan base

station. Rentang yang menjadi toleransi sudut yaitu ± 5˚. Setelah itu robot akan berputar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

44

searah jarum jam sampai ke target yang telah diharapkan atau sampai base station

mengirimkan perintah lain.

Jika perintah dari base station berupa perintah ‘CaptureBall’ maka robot akan

mengolah data kamera dan menjadikannya perintah gerakan. Jika nilai x bola berada pada

rentang 401 sampai 600 maka robot akan berjalan maju serong kanan. Jika nilai x bola berada

pada rentang 1-200 maka robot akan berjalan maju serong kiri. Jika nilai x bola berada pada

rentang 201 – 400 maka robot akan berjalan maju. Kecepatan robot bergantung pada nilai y

dari bola. Ketika nilai y bola lebih kecil dari 100 maka kecepatan robot bergerak akan

maksimum sebab jika nilai y di bawah 100 maka posisi bola berada jauh dari robot. Selain

dari itu kecepatan robot akan menjadi 60% dari nilai maksimum. Bola akan tergolong sudah

dimiliki apabila nilai y bola 350 dan jarak bola di sensor ping berada pada jarak di bawah 8

cm.

Ketika mendapat perintah ‘stop’ dari base station maka robot akan merespon dengan

cara berhenti dan tidak melakukan apapun. Griper akan aktif ketika y bola lebih besar dari

pada 300 atau sensor ping dengan jarak lebih kecil dari 15 cm. Griper akan mati apabila y

bola lebih kecil dari 300 dan sensor ping mendeteksi bola lebih besar dari 15 cm atau terdapat

perintah ‘kick’ dari base station.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

45

Gambar 4.14 Listing program cara bermain robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

46

4.2.3.6 Komunikasi base station

Gambar 4.15 merupakan program yang digunakan untuk menerima data dari base

station. Perintah loop = asyncio.get_event_loop() merupakan perintah untuk mengetahui

menginisiasika loop utama dalam program. Sio = socketio.Async Client (Reconection =

True, Reconection_delay=1) merupakan perintah untuk mengaktifkan koneksi jaringan yang

menggunakan tipe asinkron. Arti dari reconnection = true adalah apabila koneksi antara

program dengan base station terputus maka akan otomatis mencoba menghubungkan

kembali. Arti dari Reconection_delay = 1 adalah selang waktu antara percobaan

menghubungkan kembali ke tujuan yaitu selama 1 detik. Config.socket = sio merupakan

perintah agar file config dapat mengenali fungsi dari sio. Arti dari @sio.on(‘welcome’)

merupakan perintah yang akan diterima apabila komunikasi memiliki header ‘welcome’.

Fungsi yang digunakan merupakan fungsi async karena komunikasi menggunakan jenis

asinkron.

Ketika menerima sambutan welcome dari base stasion robot akan mengirimkan data

id yang telah di tetapkan ke base station. Perintah ini bertujuan agar base station dapat

mengenali robot yang me-request ke base station. Fungsi pada @sio.on(‘disconnect’) berisi

print yang digunakan sebagai indikator bila server terputus. Fungsi @sio.on(‘ping’) adalah

untuk mengirim respon apabila base station ingin mengecek koneksi terhadap robot. Funsgi

dari @sio.on(‘restart’) adalah malaksanakan perintah apabila basestation mengirim

perintah untuk me-restart raspberry robot. Fungsi @sio.on(‘data’) merupakan fungsi yang

digunakan ketika robot mendapatkan perintah dari base station. Isi dari @sio.on(‘data’)

adalah memindahkan data yang diterima ke variabel data_server. Fungsi async connect

merupakan fungsi yang digunakan robot untuk menghubungkan ke base station. Perintah

loop.run_until_complete merupakan perintah yang digunakan untuk memanggil fungsi

connect dan memastikan bahwa perintah dari fungsi connect telah tercapai semua. Alamat

ip dari base station disetel dengan ip 127.0.0.1 dan port = 3000. Alamat ip base station

menjadi 127.0.0.1 atau lokalhost karena untuk koneksi dari robot ke base station melalui

perantara bitvise.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

47

Gambar 4.15 Listing program komunikasi dengan base station

4.2.3.7 Program untuk pengaktifan sistem paralel

Gambar 4.16 merupakan perintah-perintah yang digunakan untuk mengaktifkan sistem

kerja paralel agar sistem dapat bekerja secara bersamaan. Perintah

threading.Thread(target=bermain) merupakan perintah yang digunakan untuk

menginisiasikan fungsi bermain akan dijalankan secara paralel. Perintah u.start() merupakan

perintah yang digunakan untuk memulai agar sistem paralel dapat berjalan.

Sio.start_background_task(laporan) merupakan perintah yang digunakan untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

48

mengaktifkan fungsi laporan pada background di komunikasi sehingga apabila tidak ada data

yang sedang diterima dari base station maka robot dapat mengirimkan data untuk

memberitahukan mengenai perpindahan robot. Fungsi yang diparalelkan dalam bekerjanya

ialah fungsi bermain, caribola, dan laporan..

Gambar 4.16 Inisiasi dan pengaktifan sistem paralel

4.2.3.8 Program untuk Melaporkan pergerkan ke Base Station

Gambar 4.17 merupakan program untuk melaporkan perpindahan robot ke base station

agar base station dapat mengetahui posisi robot saat ini. Robot melaporkan perpindahan

robot setiap 1 detik secara otomatis. Jika terdapat perintah ‘rotate’ dari base station maka

robot akan mengirimkan data perubahan sudut. Cara untuk menghitung perubahan sudut

ialah dengan cara mencari nilai selisih sudut saat ini dengan sudut robot sebelumnya. Data

perpindahan robot dengan nilai x,y akan dikirimkan apabila terdapat perintah ‘move’ atau

‘CaptureBall’. Setelah data perpindahan dikirimkan apabila terdapat perintah ‘move’ dari

base station maka data perpintahan digunakan untuk mengurangi data target yang telah

diberikan oleh base station. Data perpindahan akan langsung dibuat nilai [0,0] agar robot

dapat mengetahui perpindahan yang terjadi setelah data dilaporkan. Apabila variabel bola

=1 memiliki arti bahwa robot telah memiliki bola dan harus melaporkan kepemilikan bola

robot ke base station.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

49

Gambar 4.17 Listing program pelaporan ke base station

4.3 Pengujian Robot

4.3.1 Pengujian Sensor Ping

Pengujian sensor ping berguna untuk mengetahui kemampuan sensor ping dalam

mendeteksi bola. Pengujian dilakukan dengan meletakkan bola pada posisi tertentu

kemudian digerakkan secara perlahan. Hal ini dilakukan untuk menguji ping dalam

bendeteksi bola yang bergerak. Ketika pengujian hasil dari sensor dibandingkan dengan

meteran secara langsung. Tabel 4.2 merupakan tabel hasil percobaan sensor ping dalam

mendeteksi bola. Jarak terjauh untuk uji coba yang digunakan ialah 1 meter. Jika dilihat pada

tabel 4.2 pada jarak 1 meter hasilnya sensor ping dapat mendeteksi bola walaupun terkadang

masih tidak dapat mendeteksi atau dapat mendeteksi namun tidak akurat jaraknya.

Pada pengujian 1 meter hasil keluaran yang diperoleh ialah antara 74 cm sampai

dengan 102 cm saat mendeteksi saat tidak mampu mendeteksi keluaran sensor ping ialah

3340 cm. Ketika diuji pada jarak 60 cm hasil keluaran sensor ping lebih stabil antara 57 cm

sampai 61 cm. Nilai error pada jarak 60 cm lebih minim walaupun sempat sensor ping tidak

dapat mendeteksi bola dan menghasilkan nilai 3340 cm. Ketika diuji pada jarak 20 cm nilai

error semakin kecil dengan rentang 19 cm sampai 20 cm. Walaupun nilai error semakin

kecil, namun tetap masih kemungkinan sensor ping tidak mendeteksi keberadaan bola

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

50

dengan menghasilkan nilai 3340. Ketika diuji pada jarak maksimum terdekat antar bola

dengan sensor ping, sensor ping menghasilkan nilai yang stabil dengan jarak 7 cm. Ketika

diuji coba sensor ping untuk mendeteksi bola yang menggelinding sensor ping baru dapat

medeteksi bola dengan efektif ketika berada pada jarak dibawah 20 cm dan ketika posisi

bola berjarak lebih dari itu sering sensor ping tidak dapat atau tidak akurat mendeteksi bola.

Hal-hal yang mempengaruhi sensor ping dalam mendeteksi bola ialah jarak, posisi

peletakaan sensor ping dan keadaan bola. Jarak sangat mempengaruhi tingkat keberhasilan

dari sensor ping sebab semakin dekat bola dengan robot maka kemampuan sensor ping

dalam mendeteksi bola semakin stabil dan akurat. Ketika bola berada pada jarak yang jauh

memperbesar kemungkinan kegagalan sebab jarak yang jauh memungkinkan pantulan dari

gelombang ultrasonik yang ditembakkan sensor ping tidak dapat memantul atau memantul

tidak dengan waktu yang tepat sehingga menyebabkan kegagalan dalam mendeteksi bola

dengan sensor ping. Posisi peletakkan menjadi salah satu faktor penentu dalam mendeteksi

bola sebab tempat untuk memegang bola pada robot sudah spesifik dan tempat yang paling

efektif ialah ketika sensor ping tepat berada di tengah dari tempat bola dipegang pada robot.

Namun, karena posisi titik tengah pada tempat memegang bola pada robot terdapat

penendang maka posisi sensor ping berada pada sebelah kanan robot bagian bawah dekat

dari penendang. Hal ini memungkinkan terjadinya pantulan yang tidak sempurna ketika

sensor ping mengeluarkan gelombang ultrasonik. Hal ini menjadi salah satu faktor yang

menyebabkan sensor ping tidak mampu mendeteksi jarak bola dengan baik. Keadaan bola

yang dimaksud dalam hal ini ialah bola dalam keadaan diam atau bergerak.

Hasil sensor ping ketika mendeteksi bola akan lebih baik ketika bola berada pada

posisi diam karena hasil yang diperoleh akan lebih stabil. Pada saat bola digelindingkan

sensor ping terkadang tidak mampu atau tidak akurat dalam mendeteksi bola. Namun, baik

bola diam maupun bola menggelinding sensor ping dapat mendeteksi bola dengan baik

ketika berada pada jarak dekat. Berdasarkan data yang diperoleh dari tabel 4.2 dan analisis

yang telah disampaikan sistem sensor ping dapat diterapkan ke sistem robot untuk

mengaktifkan griper apabila bola sudah berada pada jarak lebih kecil dari 20 cm, mendeteksi

bola sudah dipegang oleh robot atau belum, dan membantu menggiring bola.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

51

Tabel 4.2 Data pengujian sensor ping

No Robot

ke -

Jenis

pengujian

Jarak pada

kenyataan

(cm)

Jarak pada sensor (cm)

1 1 Bola diam 100 101,24 ; 101,96 ; 96,78 ; 93,97 ; 74,46 ;

100,73 ; 75,25 ; 92,07 ; 3340,72 ; 101,14

2 6o 58,25 ; 57,15 ; 60,82 ; 3340,90 ; 60,74 ;

61,51 ; 57,15 ; 60,84 ; 61,05 ; 60,65

3 20 20,01 ; 19,65 ; 18,51 ; 20,06 ; 20,12 ; 20,03

; 19,93 ; 19,58 ; 20,02 ; 19,65

4 1 Bola diam 7 7,66 ; 7,65 ; 7,68 ; 7,58 ; 7,67 ; 7,12 ; 7,07 ;

7,69 ; 7,78 ; 7,03

5 Bola

Bergerak

100 123,31 ; 3284,31 ; 101,27 ; 135,15 ;

3295,28

6 80 82,85 ; 122,30 ; 122,83 ; 82,81 ; 128,85

7 60 63,23 ; 61,44 ; 61,01 ; 127,33 ; 57,12

8 40 37,34 ; 39,78 ; 41,12 ; 41,32 ; 40,33

9 20 21,81 ; 20,02 ; 18,96 ; 21,03 ; 20,32

10 10 10,08 ; 11,21 ; 10,91 ; 10,32 ; 9,80

11 7 7,68 ; 7,14 ; 7,66 ; 7,69 ; 7,53

12 2 Bola diam 100 101,65 ; 101,03 ; 94,88 ; 3340,72 ; 102,97 ;

80,46 ; 100,33 ; 73, 52 ; 97,07 ; 101,36

13 6o 62,16 ; 61,23 ; 60,22 ; 3294,57 ; 61,87 ;

61,54 ; 58,98 ; 60,64 ; 60,05 ; 60,26

14 20 20,01 ; 19,65 ; 18,51 ; 20,06 ; 20,12 ; 20,03

; 19,93 ; 19,58 ; 20,02 ; 19,65

15 7 7,66 ; 7,65 ; 7,68 ; 7,58 ; 7,67 ; 7,12 ; 7,07 ;

7,69 ; 7,78 ; 7,03

16 Bola

Bergerak

100 123,31 ; 3284,31 ; 101,27 ; 135,15 ;

3295,28

17 80 82,85 ; 3334,48 ; 82,81 ; 82,64 ; 128,43

18 60 63,23 ; 120,24 ; 61,44 ; 61,01 ; 57,12

19 40 37,34 ; 39,78 ; 41,12 ; 41,32 ; 40,33

20 20 21,81 ; 20,02 ; 18,96 ; 21,03 ; 20,32

21 10 10,38 ; 9,94 ; 11,21 ; 10,21 ; 10,51

22 7 7,68 ; 7,46 ; 7,69 ; 7,36 ; 7,78

4.3.2 Pengujian Kemampuan Gerak Robot

Pengujian kemampuan gerak robot bertujuan untuk melihat dan mengetahui

pergerakan yang dapat dilakukan oleh robot. Kemampuan gerak ini akan menjadi dasar

untuk mengetahui perpindahan robot agar dapat di dilaporkan kepada base station.

Berdasarkan tabel 4.3 pada robot 1 robot dapat bergerak ke segala arah walaupun tidak

sempurna. Robot 1 berhasil untuk bergerak maju dan mundur dengan sempurna. Gerakan

serong yang dapat dilakukan dengan sudut ± 24˚. Namun, gerakan pada robot satu kurang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

52

bisa sempurna di beberapa gerakan sebab terdapat beberapa faktor. Faktor yang pertama

ialah roda yang cacat pada roda kiri yang digunakan. Hal ini akan berpengaruh pada

keakuratan pada pergerakan robot karena robot yang bergerak dengan 3 roda membutuhkan

perpaduan gerakan dari 3 roda yang saling terkait satu sama lain.

Faktor kedua yang mempengaruhi gerakan ialah baut penghubung antara motor

dengan roda yang membuat gerakan roda kurang sejalan dengan gerakan motor. Faktor yang

ketiga ialah lapangan yang kurang datar hal ini menghambat pergerakan karena lapangan

yang kurang datar akan menyebabkan gunungan kecil pada daerah sekitar ban yang

membuat hambatan dalam bergerak. Faktor yang keempat ialah tegangan yang terdapat pada

baterai. Untuk bekerja maksimal motor membutuhkan tegangan 24 volt, tetapi baterai yang

digunakan adalah 12 volt sehingga sangat bergantung pada step up. Ketika tegangan baterai

berada di bawah 11 volt maka tegangan keluaran dari step up akan setara dengan tegangan

masukan hal ini menyebabkan motor bergerak dengan tidak sempurna.

Faktor yang kelima kemampuan arus pada baterai. Ketika motor menarik arus pertama

kali untuk starting tarikan arusnya cukup besar maka dari itu baterai yang digunakan harus

memiliki kemampuan arus yang besar. Ketika peneliti melakukan percobaan dengan

menggunakan aki sebagai baterai utama, robot bergerak dengan pincang walaupun ketika di

cek tegangan keluaran step up 24 volt ketika menggunakan aki. Oleh sebab itu, yang menjadi

sumber utama dari robot digunakan baterai lipo. Berdasarkan tabel 4.3 pada robot 2 banyak

kegagalan diperoleh disebabkan oleh kerusakan pada motor kiri. Motor kiri pada robot 2

ketika diberi tegangan sering tidak mau jalan. Robot 2 tidak dilakukan pergantian motor

sebab tidak tersedia motor pengganti.

Tabel 4.3 Data pengujian kemampuan gerak robot

No Robot

ke-

Gerakan Status

1 1 Maju Berhasil

2 Mundur Berhasil

3 Kanan Berhasil, tidak bisa bergerak dengan cepat

karena membutuhkan kombinasi gerakan yang

pas.

4 Kiri Berhasil, tidak bisa bergerak dengan cepat

karena membutuhkan kombinasi gerakan yang

pas.

5 Maju serong kanan Berhasil, ketika berjalan sedikit menghadap

serong kanan, akan terasa ketika bergerak lama

dengan cara maju serong kanan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

53

No Robot

ke-

Gerakan Status

6 Maju serong kiri Berhasil, ketika berjalan sedikit menghadap

serong kiri, akan terasa ketika bergerak lama

dengan cara maju serong kiri.

7 1 Mundur serong kanan Berhasil, ketika berjalan sedikit menghadap

serong kiri, akan terasa ketika bergerak lama

dengan cara mundur serong kanan.

8 Mundur serong kiri Berhasil, ketika berjalan sedikit menghadap

serong kanan, akan terasa ketika bergerak lama

dengan cara mundur serong kiri.

9 Putar kanan Berhasil, robot sedikit berpindah posisi.

10 2 Maju Gagal, jalan berputar

11 Mundur Gagal, jalan berputar

12 Kanan Gagal, bergerak tidak teratur

13 Kiri Gagal, bergerak tidak teratur

14 Maju serong kanan Gagal, jalan berputar

15 Maju serong kiri Berhasil, ketika berjalan sedikit menghadap

serong kiri, akan terasa ketika bergerak lama

dengan cara maju serong kiri.

16 Mundur serong kanan Berhasil, ketika berjalan sedikit menghadap

serong kiri, akan terasa ketika bergerak lama

dengan cara mundur serong kanan.

17 Mundur serong kiri Gagal, jalan berputar

18 Putar kanan Gagal, robot tidak mampu berputar dengan baik.

4.3.3 Pengujian Sensor Rotary Encoder

Pengujian sensor rotary encoder bertujuan untuk mengetahui kemampuan robot

mendeteksi perpindahan robot. Keberhasilan dari sensor ini mempengaruhi base station

dalam membuat strategi karena data perpindahan dari rotary encoder akan memberitahu

perpindahan yang dilakukan oleh robot. Pengujian rotary encoder ialah dengan cara

memberikan robot perintah tertentu untuk bergerak ke arah tertentu kemudian melihat

kesesuaian keluaran rotary encoder dengan jarak sesungguhnya. Cara untuk melihat

kesesuaian antara keluaran rotary encoder dengan jarak sesungguhnya adalah dengan

membandingkan keluaran rotary encoder dengan meteran. Pengujian ini dilakukan hanya

pada robot 1 sebab pengujian ini di dasarkan pada kemampuan pergerakan robot.

Secara penghasil pulsa pada rotary encoder robot 2 telah berjalan, tetapi karena

pergerakan dari robot 2 tidak berjalan dengan baik maka tidak dilakukan pengujian rotary

encoder. Dari hasil yang diperoleh pada tabel 4.3 dapat diperoleh bahwa error maksimum

Tabel 4.3 (Lanjutan) Data pengujian kemampuan gerak robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

54

dari rotary encoder ketika gerakan robot 1 mempengaruhi sumbu x saja memiliki error

maksimum 1 cm. Nilai error maksimum dari rotary encoder ketika gerakan robot 1 hanya

mempengaruhi sumbu y saja yaitu 3,3 cm. Nilai error maksumum dari rotary encoder ketika

gerakan robot 1 mempengaruhi sumbu x dan sumbu y (gerakan serong) yaitu 4,8 cm untuk

sumbu x dan 23,4 cm untuk sumbu y. Hal ini dipengaruhi oleh faktor kurang sempurnanya

kemampuan gerak robot sehingga perpindahan yang dilakukan cukup sulit memastikan

hasilnya.

Tabel 4.4 Data pengujian rotary encoder

No Nilai x dan y

kenyatan (cm)

Nilai x dan y keluaran

program (cm)

Error ( x dan y)

(cm)

1 311 dan 0 311.3 dan 0 0,3 dan 0

2 -210 dan 0 -211 dan 0 1 dan 0

3 254 dan 125 259,2 dan 149,6 4,8 dan 23,4

4 252 dan -123 248,2 dan -117,6 3,2 dan 6,8

5 0 dan 100 0 dan 96,7 0 dan 3,3

4.3.4 Pengujian Pengolahan Data Kamera

Pengujian pengolahan data kamera ialah dengan cara membuat robot untuk mendeteksi

bola. Apabila bola berada pada sisi kanan pada gambar dari kamera robot akan berjalan maju

serong kanan. Apabila bola berada di tengah dari gambar dari kamera maka robot akan

berjalan ke arah diam. Apabila bola berada pada sisi kiri pada gambar dari kamera robot

akan berjalan maju serong kiri. Apabila robot tidak dapat mendeteksi bola maka robot akan

berputar untuk mencari bola. Dari hasil pada tabel 4.5 dapat dilihat bahwa robot dapat

memberikan perintah sesuai dengan posisi bola. Dari hasil pengujian yang terdapat pada

tabel 4.6, robot dapat merespon bola dengan kecepatan maksimal 6,521739 m/s.

Tabel 4.5 Data pengujian kamera robot terhadap posisi bola

No Robot

ke -

Posisi bola Hasil pengukuran Perintah yang diberikan

1 1 Depan robot X = 282 , Y = 74 Maju

2 X = 200 , Y = 97 Maju

3 X = 263, Y = 80 Maju

4 X = 262, Y = 150 Maju

5 Kanan depan robot X = 452 , Y = 114 Maju serong kanan

6 X = 430 , Y = 93 Maju serong kanan

7 X = 442, Y = 99 Maju serong kanan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

55

Tabel 4.5 (Lanjutan) Data pengujian kamera robot terhadap posisi bola

No Robot

ke -

Posisi bola Hasil pengukuran Perintah yang diberikan

8 X = 467, Y = 190 Maju serong kanan

9 Kiri depan robot X = 186, Y = 97 Maju serong kiri

10 X = 164, Y = 95 Maju serong kiri

11 X = 113, Y = 112 Maju serong kiri

12 X = 80 , Y = 100 Maju serong kiri

13 Belakang robot X = 0 , Y = 0 Putar

17 2 Depan robot X = 332 , Y = 114 Maju

18 X = 200 , Y = 127 Maju

19 X = 263, Y = 90 Maju

20 X = 262, Y = 200 Maju

21 Kanan depan robot X = 443 , Y = 75 Maju serong kanan

22 X = 430 , Y = 112 Maju serong kanan

23 X = 450, Y = 130 Maju serong kanan

24 X = 467, Y = 190 Maju serong kanan

25 Kiri depan robot X = 186, Y = 97 Maju serong kiri

26 X = 164, Y = 145 Maju serong kiri

27 X = 110, Y = 72 Maju serong kiri

28 X = 87 , Y = 100 Maju serong kiri

29 Belakang robot X = 0 , Y = 0 Putar

Tabel 4.6 Data pengujian kamera robot terhadap kecepatan bola

No Robot

ke -

Kecepatan bola

(m/s)

Respon robot

1 1 1,214575 Mengikuti

2 2 Berhasil mengeluarkan perintah untuk jalan

3 1 1,522843 Mengikuti

4 2 Berhasil mengeluarkan perintah untuk jalan

5 1 4,347826 Mengikuti

6 2 Berhasil mengeluarkan perintah untuk jalan

7 1 6,521739 Mengikuti

8 2 Berhasil mengeluarkan perintah untuk jalan

4.3.5 Pengujian Sensor Kompas

Pengujian sensor kompas dilakukan untuk mengetahui kemampuan sensor kompas

untuk membaca arah. Tabel 4.7 merupakan data yang diperoleh dari hasil percobaan. Di

setiap robot terdapat switch yang berguna untuk kalibrasi sudut. Kalibrasi digunakan agar

ketika robot menghadap depan untuk pertama kali akan diganggap sudut 270˚. Hal ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

56

berguna agar memudahkan peneliti dalam menyusun orientasi arah. Sebab di setiap tempat

akan memiliki orientasi arah yang berbeda. Dari data tabel 4.7 sensor kompas pada robot 1

memiliki rata-rata error 1,77˚ dan para robot 2 memiliki rata-rata error 1,895˚.

Dari data tabel 4.8 sensor kompas pada robot 1 memiliki rata-rata error 4,83875˚. Jika

dilihat dari data 4.8 dapat dilihat bahwa sensor kompas menghasilkan error yang lebih besar

ketika digerakan. Namun, walaupun nilai rata-rata error yang lebih besar tetapi sensor

tersebut masih dapat digunakan untuk menentukan arah robot. Pada robot 2 tidak dilakukan

pengujian secara otomatis sebab kurang mampunya penggerak pada robot 2.

Ada beberapa faktor yang menyebabkan hasil pada tabel 4.8. Faktor yang pertama

guncangan atau getaran saat robot bergerak sehingga membuat nilai keluaran dari sensor

kompas tidak stabil dan akurat karena pembacaan nilai x,y dari sensor kompas tidak akurat.

Dalam Percobaan ini peneliti mencoba untuk menguragi guncangan pada sensor dengan cara

menambahkan busa pada sensor kompas agar menghasilkan nilai yang lebih stabil walaupun

masih belum sepenuhnya stabil. Faktor yang kedua ialah kabel yang digunakan sebagai jalur

data. Pada saat penelitian peneliti sempat terkendala mengenai kabel yang digunakan sebab

ketika robot mulai dijalankan terkadang sensor dapat error dengan sendirinya dan

menyebabkan kegagalan sistem. Ketidak diperiksa dan sensor dicoba secara terpisah dan

tidak pada robot sensor awalnya tidak dapat digunakan, tetapi ketika kabel yang digunakan

diganti sensor dapat digunakan kembali. Hal ini terjadi kemungkinan karena ada kabel data

yang terputus didalam yang tidak dapat dilihat. Kabel yang dapat kendor saat robot berjalan

menyebabkan sensor kompas juga dapat menyebabkan sensor kompas tidak dapat terbaca.

Tabel 4.7 Data pengujian sensor kompas dengan memutar secara manual

No Robot ke - Sudut (˚) Hasil Pengukuran (˚) Error (˚)

1 1 0 3,52 3,52

2 45 44,33 0,27

3 90 92,80 2,80

4 135 133,28 1,72

5 180 180,10 0,10

6 225 222,19 2,81

7 270 269,38 0,62

8 315 317,32 2,32

9 2 0 2,46 2,46

10 45 43,76 1,24

11 90 92,32 2,32

12 135 135,07 0,07

13 180 178,21 1,79

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

57

No Robot ke - Sudut (˚) Hasil Pengukuran (˚) Error (˚)

14 2 225 228,78 3,78

15 270 270,07 0,07

16 315 318,43 3,43

Tabel 4.8 Data pengujian sensor kompas dengan memutar secara otomatis

No Robot ke - Sudut (˚) Hasil Pengukuran(˚) Error (˚)

1 1 0 4,46 4,46

2 45 62,79 17,79

3 90 94,39 4,39

4 135 132,30 2,70

5 180 183,47 3,47

6 225 221,87 3,13

7 270 270,45 0,45

8 315 317,32 2,32

4.3.6 Pengujian Komunikasi dengan Base Station

Pengujian ini bertujuan untuk mengetahui keberhasilan robot dalam menerima

perintah dari base station dan mengirimkan data ke base station. Tabel 4.9 merupakan data

hasil pengujian robot saat menerima data dari base station. Tabel 4.10 merupakan data hasil

pengujian robot saat mengirim data ke base station. Berdasarkan tabel data yang diperoleh

dapat disimpulkan bahwa robot dapat berkomunikasi dengan base station dengan baik.

Namun, program sistem pelaporan terkadang dapat error apabila sensor kompas tidak dapat

berjalan.

Tabel 4.9 Data pengujian penerimaan data dari base station

No Robot ke - Data yang dikirim

oleh base station

Status

1 1 {‘rotate’:20} Berhasil

2 {‘rotate’:180} Berhasil

3 {‘move’:[10,43]} Berhasil

4 {‘move’:[50,50]} Berhasil

5 {‘move’:[10,-20]} Berhasil

6 {‘stop’:’catch’} Berhasil

7 {‘Captureball’:True} Berhasil

8 2 {‘rotate’:20} Berhasil

9 {‘rotate’:180} Berhasil

10 {‘move’:[10,43]} Berhasil

11 {‘move’:[50,50]} Berhasil

Tabel 4.7 Data pengujian sensor kompas dengan memutar secara manual

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

58

No Robot ke - Data yang dikirim

oleh base station

Status

12 2 {‘move’:[10,-20]} Berhasil

13 {‘stop’:’catch’} Berhasil

14 {‘Captureball’:True} Berhasil

Tabel 4.10 Data pengujian pengiriman data ke base station

No Robot ke - Data yang dikirim ke base station Status

1 1 {‘move’:[50.00003,0]} Berhasil

2 {‘rotated’:[1]} Berhasil

3 {‘BallCaptured’:True} Berhasil

4 {‘move’:[259.2013,149.6499]} Berhasil

5 2 {‘move’:[100.3575,0]} Berhasil

6 {‘rotated’:[-5]} Berhasil

7 {‘BallCaptured’:True} Berhasil

8 {‘move’:[49.41300,23.3489]} Berhasil

4.3.7 Pengujian Cara Bermain Robot

Pengujian cara bermain robot ialah membandingkan data yang diterima oleh robot

kemudian melihat keluaran perintah pada monitor atau layar dan membandingkan dengan

hal yang dilakukan oleh robot. Tabel 4.11 merupakan data yang diperoleh dari pengujian

cara bermain robot. Jika dilihat pada tabel 4.11 dapat dinyatakan bahwa robot telah mampu

mengolah data perintah yang telah diterima dari base station. Dari tabel 4.11 dapat dilihat

bahwa pada robot 1, ketika melakukan perpindahan ternyata masih cukup untuk mencapai x

dan y pada titik tertentu walaupun ketelitiannya rotary encoder sudah cukup detail. Hal yang

cukup sulit berikutnya ialah robot dapat berputar ke sudut tertentu hal ini disebabkan oleh

nilai sensor kompas yang masih belum benar-benar stabil dalam menghasilkan nilai sudut.

Pada robot 2, perintah dari base station sudah dapat diolah dan sudah mengeluarkan perintah.

Namun, karena robot 2 memiliki keterbatasan dalam bagian penggerak sehingga robot 2

tidak dapat bergerak seperti seharusnya.

Tabel 4.11 Data Pengujian permainan robot

No Robot

ke-

Perintah dari base

station

Perintah keluaran

pada robot

Realita

1 1 {‘rotate’:20} Berputar Robot berputar

2 {‘move’:[50,50]} Pindah Robot bergerak maju

serong kanan

3 {‘stop’:’catch’} Berhenti Robot diam

Tabel 4.9 Data pengujian penerimaan data dari base station

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

59

No Robot

ke-

Perintah dari base

station

Perintah keluaran

pada robot

Realita

4 2 {‘Captureball’:True} Tangkap bola Robot mencari bola dan

mendekatinya

5 {‘rotate’:20} Berputar Robot tidak dapat

berputar

6 {‘move’:[50,50]} Pindah Robot tidak dapat

berjalan sesuai yang

diharapkan

7 {‘stop’:’catch’} Berhenti Robot diam

8 {‘Captureball’:True} Tangkap bola Robot dapat mencari bola

namun tidak dapat

mendekatinya

Tabel 4.11 Data Pengujian permainan robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

60

5 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil pengujian dan pengambilan data dari robot striker dapat disimpulkan

sebagai berikut :

1. Sensor ping dapat digunakan pada sistem robot untuk mendeteksi bola

2. Robot 1 memiliki kemampuan gerak ke seluruh arah walaupun belum sempurna dan

robot 2 hanya mampu bergerak maju serong kiri dan mundur serong kanan.

3. Sensor rotary encoder dapat bekerja dengan efektif pada gerekan yang

mempengaruhi x atau y saja sebab ketika gerakan yang mempengaruhi x dan y masih

belum efektif.

4. Kamera dapat mendeteksi bola dengan baik sesuai dengan posisi bola dan kecepatan

bola maksimum yang dapat direspon oleh robot yaitu 6,5 m/s.

5. Sensor kompas ketika digunakan untuk robot bergerak memiliki error rata-rata

4,83875˚.

6. Komunikasi antara robot dengan base station dapat berjalan dengan 2 arah.

7. Robot dapat mengolah perintah base station dan dapat mengeluarkan perintah

gerakan, tetapi karena terdapat kendala pada bagian hardware sehingga robot belum

bisa menghasilkan performa yang maksimal.

5.2 Saran

Saran untuk penelitian selanjutnya antara lain:

1. Menggunakan sumber yang berbeda untuk sumber motor dan pengendali utama

2. Mencari langkah yang lebih efektif untuk mendeteksi perpindahan

3. Mencari langkah untuk menstabilkan keluaran dari sensor kompas

4. Memperbaiki pengkabelan agar meminimalisir error dan mencegah konsleting

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

61

Daftar pustaka

[1] Direktorat Jendral Pembelajaran dan Kemahasiswaan, Direktorat Jendral

Pembelajaran dan Kemahasiswaan. [Online]. https://belmawa.ristekdikti.go.id/120-

tim-dari-64-perguruan-tinggi-mengikuti-kontes-robot-indonesia-2019/

[2] Fransiscus Xaverius Enrico Wida Artanto, PENGONTROL ROBOT SEPAK BOLA

BERODA DENGAN METODE COLOR TRACKING, Universitas Sanata Dharma,

Yogyakarta, Skripsi 2018.

[3] Edi Rakhman, RASPBERRY PI - Mikrokontroler Mungil yang Serba Bisa..

[4] Element14, RASPBERRY PI 3 MODEL B DATASHEET..

[5] Noprianto, 2002, Python & Pemrograman Linux , ANDI Yogyakarta, Yogyakarta.

[6] Adi Pamungkas, pemrogramanmatlab. [Online].

https://pemrogramanmatlab.com/2016/06/08/model-ruang-warna-pengolahan-citra/,

diakses pada 6,2016

[7] Miguel Grinberg, Socket.IO. [Online]. https://python-

socketio.readthedocs.io/en/latest/intro.html#what-is-socket-io, diakses pada 2018

[8] Chris Liechti, PySerial’s documentation. [Online]. https://pythonhosted.org/pyserial/,

diakses pada 2015

[9] realpython, realpython. [Online]. https://realpython.com/intro-to-python-threading/,

diakses pada april,2020

[10] RASPBERRY PI FOUNDATION, raspberrypi. [Online].

https://www.raspberrypi.org/documentation/hardware/camera/, diakses pada 2016

[11] e-belajarelektronika.com. [Online]. https://e-belajarelektronika.com/sensor-kompas-

cmps03/, diakses pada 11,2019

[12] Vincensius Ervantrio Joni Ardianto, ROBOT SEPAK BOLA BERODA BERBASIS

RASPBERRY PI 3, Yogyakarta, 2018.

[13] Stevanus Damaityas Fajar, ROBOT SOCCER BERODA BERBASIS RASPBERRY PI 3

SEBAGAI PROTOTYPE ERSBI 2017, Yogyakarta, 2017.

[14] Politekni Negri Surabaya, Politekni Negri Surabaya. [Online].

http://eprints.polsri.ac.id/4662/2/BAB%202.pdf

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

L-1

Lampiran 1. Pengujian rotary encoder

Lampiran 2. Pengujian ping

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PENGGERAK DAN PENGOLAH POSISI ROBOT STRIKER PADA …repository.usd.ac.id/38025/2/165114044_full.pdf · Robot yang dibuat menggunakan bahasa pemrograman Python. Penelitian ini menggunakan

L-2

Lampiran 3. Pengujian pendeteksi bola

Lampiran 4. Pengujian kompas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI