penggerak dan pengolah posisi robot striker pada...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
31
belakang, dan sisi kiri memiliki perbandingan 1:1:1 dan nilainya sekitar 40% dari nilai
maksimum.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
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
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
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
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
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
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
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
40
Gambar 4.11 Listing program untuk sensor kompas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
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
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
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
45
Gambar 4.14 Listing program cara bermain robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-1
Lampiran 1. Pengujian rotary encoder
Lampiran 2. Pengujian ping
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-2
Lampiran 3. Pengujian pendeteksi bola
Lampiran 4. Pengujian kompas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI