Fakultas Ilmu Komputer
Universitas Brawijaya
1381
Deteksi Jarak Bola Pada Robot Kiper Sepak Bola Menggunakan Hough
Circle Transformation Berbasis Raspberry Pi
Tunggal Manda Ary Triyono1, Hurriyatul Fitriyah2, Mochammad Hannats Hanafi Ichsan3
Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1tunggalmat@gmail.com, 2hfitriyah@ub.ac.id, 3hanas.hanafi@ub.ac.id
Abstrak
Robot kiper sepak bola adalah bagian dari tim robot sepak bola yang bertugas melakukan penangkapan bola dengan benar dan juga efektif. Untuk membuat pergerakan robot kiper ini benar dan juga efektif, robot kiper harus mampu mengetahui seberapa jauh jarak antara bola dan dirinya. Untuk itu, dibuatlah sistem deteksi jarak bola pada robot kiper sepak bola dengan menggunakan Hough Circle
Transformation berbasis Raspberry Pi. Pada penelitian ini digunakan kamera Logitech C525 HD webcam dan juga Raspberry Pi 3 Model B. Citra yang ditangkap kamera kemudian diolah untuk
memperoleh citra biner yang hanya memiliki sedikit noise. Kemudian untuk mendapatkan koordinat kartesius dan diameter bola digunakan Hough Circle Transformation. Jarak antara bola dan robot kiper dihitung menggunakan perbandingan antara diameter bola yang dideteksi oleh sistem dengan diameter pada jarak referensi. Koordinat bola pada frame dapat digunakan untuk mendapatkan posisi dan juga sudut arah bola. Berdasarkan pengujian yang telah dilakukan, sudut pandang kamera dengan akurasi terbaik untuk mendeteksi jarak dan juga sudut arah bola adalah 47,2o dengan akurasi pendeteksian jarak
bola sebesar 97,69 % dan akurasi pendeteksian sudut arah bola sebesar 94,69 %. Rata-rata waktu komputasi sistem adalah 158,54 ms.
Kata kunci: robot kiper, deteksi jarak bola, Hough Circle Transformation
Abstract
The goalkeeper robot is part of robosoccer team which is in charge of catching the ball correctly and also effectively. To make the movement of goalkeeper robot correct and also effective, the goalkeeper robot must be able to know how far the distance between the ball and itself. Therefore, ball distance detection system on the goalkeeper robot using Hough Circle Transformation based on Raspberry Pi was made. This research used webcam Logitech C525 and Raspberry Pi 3 Model B. The images captured by camera will be processed to obtain binary images with minimum noise. Then cartesian coordinates and diameter of the ball will be obtained by using Hough Circle Transformation. The distance between ball and goalkeeper robot is calculated using comparison between ball diameter that detected by system and diameter at the references distance. Ball coordinate in the frame can also be used to get position and angle direction of the ball. Based on the test, best angel of view of camera for distance and angle detection is 47,2o with the accuracy of distance detection is 97,69% and accuracy of angle detection is 94,69%. The average computation time is 158.54 ms.
Keywords: goalkeeper robot, ball distance detection, hough circle transformation
1. PENDAHULUAN
Robot sepak bola (robosoccer) adalah sebuah robot yang dirancang agar dapat bermain sepak bola seperti layaknya tim sepak bola manusia. Kemampuan yang harus dimiliki oleh robot sepak bola adalah identifikasi terhadap bola, pemain lawan, pemain dalam satu tim, dan juga gawang (Najmurrokhman, et al., 2016).
Salah satu robot yang ada dalam tim robot sepak bola adalah robot yang bertugas menjaga gawang atau yang biasa disebut kiper. Robot kiper sering memiliki kendala dimana robot tidak menangkap bola yang menuju gawangnya secara benar dan juga efektif.
Kemampuan robot kiper Fakultas Ilmu Komputer Universitas Brawijaya saat ini hanya sebatas mengetahui ada tidaknya bola untuk ditangkap. Tentu hal ini masih kurang untuk
melakukan tugas penagkapan bola dengan benar dan juga efektif. Diperlukan suatu sistem pendeteksian jarak antara bola dan robot agar robot dapat menentukan aksinya lebih efektif.
Pada sistem ini, digunakan kamera untuk mendeteksi bola. Kamera ini yang juga harus dimanfaatkan untuk mendeteksi jarak antara bola dan robot kiper menggunakan pengolahan citra digital. Pengolahan citra merupakan bagian penting yang mendasari berbagai aplikasi nyata, seperti pengenalan pola, pengindraan jarak jauh melalui satelit atau pesawat udara, dan machine vision (Dwi, 2016). Citra dari kamera robot harus diolah untuk menghasilkan nilai jarak bola.
Oleh karena itu, diperlukan suatu sistem pendeteksian jarak bola pada robot kiper sepak bola dengan menggunakan Hough Circle
Transformstion berbasis Raspberry Pi. Sistem
ini menggunakan Hough Circle Transformation untuk mendapat data koordinat kartesius dan juga diameter bola. Dengan menggunakan nilai koordinat dan diameter bola inilah jarak bola dengan robot kiper dapat dihitung.
Sistem ini penggunaannya dibatasi hanya untuk robot kiper sepakbola yang bertanding pada Kontes Robot Sepak Bola Indonesia Humanoid dimana warna lapangannya adalah warna hijau. Sistem ini bersifat statis dimana kamera tidak bergerak saat pendeteksian jarak bola. Bola yang di ukur jaraknya pada sistem ini berdiameter 15,1 cm dengan warna sebagian besar putih.
2. METODOLOGI PENELITIAN
Gambar 1. Metodologi penelitian
Tahapan penelitian deteksi jarak bola ini yakni studi literatur untuk mendukung peimplementasian dari metode, rekayasa apa
yang dibutuhkan sistem baik yang fungsional maupun non funggsional, perancangan dan implementasi sistem. Pada perancangan sistem terdapat perancangan perangkat keras dan perangkat lunak. Perancangan perangkat lunak meliputi perancangan akuisisi data citra, perancangan preprocessing citra, perancangan
Hough Circle Transformation, perancangan
perhitungan jarak bola dan perancangan perhitungan sudut arah bola.
2.2. Perancangan Perangkat Keras
Gambar 2. Diagram blok sistem
Berdasarkan Gambar 2, terdapat 3 perangkat keras yang penulis gunakan untuk peneiltian ini yakni, kamera webcam logitech C525, Raspberry Pi 3 Model B, dan sebuah laptop sebagai layar monitor.webcam Logitech
C525 dihubungkan dengan Raspberry Pi 3 menggunakan kabel USB. Kabel USB dari
webcam di koneksikan pada salah satu port USB
yang ada pada Raspberry Pi 3 Model B. Raspberry Pi dihubungkan ke monitor laptop dengan menggunakan kabel LAN/UTP. Pada laptop digunakan aplikasi Real VNC Viewer untuk memonitor GUI dari Raspberry Pi. Rapberry Pi mendapatkan daya langsung dari stopkontak menggunakan adaptor dengan output sebesar 5 volt dan 2 ampere.
Sistem ini akan dirancang untuk bekerja pada lapangan pertandingan KRSBI(Kontes Robot Sepak Bola Indonesia) Humanoid. Lapangannya beralasakan rumput sintetis berwarna hijau. Penerangan pada lapangan pertandingan menggunakan beberapa lampu yang sangat terang. Posisi kamera adalah 38 cm diatas permukaan lapangan dengan arah lurus kedepan dan sedikit mengarah ke bawah. Sistem ini menggunakan tripod untuk menyangga kamera yang berada 38 cm diatas permukaan lapangan.
2.2 Perancangan Akuisisi Data Citra
Gambar 3. Flowchart akuisisi data citra
Sistem ini bersifat realtime dimana data citra akan diambil secara terus menerus hingga sistem di hentikan. Pada Gambar 3 dapat dilihat bahwa untuk melakukan akuisisi data citra secara real time menggunakan webcam, terlebih dahulu harus membuat objek videocapture bernama cap. Setelah itu diambillah citra dengan resolusi sebesar 320 x 240 pixel.
2.3 Perancangan Preprocessing Citra
Gambar 4. Flowchart preprocessing citra
Berdasarkan Gambar 4 preprocessing citra terdiri dari beberapa tahap. Pertama, citra
dikonversi dari BGR ke YcbCr. Hal ini dikarenakan Proses thresholding dengan menggunakan format warna YcbCr menghasilkan cirta biner yang stabil pada setiap
frame. Konversi BGR ke YcbCr menggunakan
persamaan 1, 2 dan 3 berikut :
Y = 0,114 B + 0,587 G + 0,299 R (1) Cb = 0,5 B– 0,3313 G -0,1687 R + 128 (2) Cr = – 0,0813 B– 0,4187 G + 0,5 R + 128 (3)
Kemudian citra disegmentasi untuk menghilangkan warna hijau lapangan. Noise pada citra biner hasil segmentasi di hilangkan menggunakan operasi opening. Untuk operasi Opening menggunakan structure element jenis elips dengan ukuran 5x5 pixel.
Gambar 5. Structure element elips 5x5
Gambar 5 merupakan structure element yang digunakan pada penelitian ini yakni berentuk elips.
2.4 Perancangan Hough Circle
Transformation
Gambar 6. Flowchart Hough Circle
Transformation
dideteksi tepinya kemudian ditransformasi ke akumulator (a b space) menggunakan Persamaan 4 dan 5
𝑎 = 𝑥 − 𝑅 cos 𝜃
(4)
b = y − R sin 𝜃
(5)
Keterangan :
a dan b = titik lingkaran pada akumulator x dan y = koordinat titik pada citra yang ditransformasikan
θ = sudut dari 0o sampai 360o
Hasil transformasi ini akan menghasilkan lingkaran baru pada akumulator. Beberapa lingkaran yang ada pada akumulator akan saling berpotongan pada suatu titik tertentu. Kemudian dilakukan vote dan cell yang memiliki nilai terbesar akan dideteksi sebagai pusat lingkaran yang sebenarnya.
2.5 Perancangan Data Diameter Objek pada Jarak Referensi
Gambar 7. Flowchart perancangan data diameter objek pada jarak referensi
Pada Gambar 7 terlihat bahwa diperlukan 10 diameter pada setiap jarak referensi. Untuk menghitung jarak menggunakan perbandingan diameter lingkaran, diperlukan beberapa diameter bola pada frame sebagai referensi pada 2 jarak referensi yang berbeda yakni jarak terjauh dan terdekat pada
setiap skala. Setelah 10 diameter didapatkan maka dibuatlah persamaan linier dengan format seperti Persamaan 6.
d=b r+a (6)
Keterangan :
d = diameter berdasarkan jarak referensi r = variabel Jarak objek bola terhadap titik pusat frame pada perhitungan jarak utama.
2.6 Perancangan Perhitungan Jarak Bola
Gambar 8. Flowchart perhitungan jarak bola
Perhitungan Jarak diawali dengan menghitung jarak objek bola terhadap titik pusat
frame. Perhitungannya mengunakan Persamaan
7.
𝑅 = √(𝑥 − 160)2+ (𝑦 − 120)2 (7)
Keterangan :
R = Jarak objek bola terhadap titik pusat frame x = koordinat x objek bola
y = koordinat y objek bola
Selanjutnya dicari nilai diameter bola berdasarkan jarak referensi jauh dan dekat. Kemudian dilakukan perhitungan jarak dengan menggunakan Persamaan 8.
𝑑2−𝑑1 𝑥2−𝑥1
=
𝐷−𝑑1 𝑋−𝑥1(8)
Keterangan : D = Diameter terukur X = Jarak terukurd2 = Diameter berdasarkan jarak referensi jauh d1 = Diameter berdasarkan jarak referensi dekat x1 = Jarak referensi dekat
x1 = jarak referensi jauh
2.7 Perancangan Perhitungan Sudut Arah Bola
Gambar 9. Flowchart perhitungan sudut arah bola
Seperti pada gambar 9, perhitungan sudut arah bola ini berdasarkan koordinat (x,y) dari bola pada frame. Perhitungan sudut arah bola menggunakan persamaan 10.
𝑆𝑢𝑑𝑢𝑡 = (𝑎𝑡𝑎𝑛 𝑋𝑆𝑢𝑑𝑢𝑡−𝑋𝐵𝑜𝑙𝑎
𝑌𝑆𝑢𝑑𝑢𝑡−𝑌𝐵𝑜𝑙𝑎) ∗ 180
𝑃𝐼 (9)
Keterangan :
XSudut = Koordinat Y titik 0 cm
YSudut = Koordinat X titik 0 cm
XBola = Koordinat X bola yang terdeteksi
YBola = Koordinat Y bola yang terdeteksi
PI = 3,14159265
Jika nilai XBola lebih dari 160 maka
posisi bola adalah disebelah kiri Sistem, Jika Selain itu maka Posisi Bola adalah di sebelah kiri sistem
3. PENGUJIAN DAN HASIL
3.1 Pengujian Raspberry Pi Mengakses Kamera
Pengujian ini untuk untuk memastikan fungsionalitas Raspberry Pi dalam mengakses kamera berjalan dengan baik. Pengujian dilakukan dengan mengakses kamera untuk mangambil citra sebanyak 10 kali. Hasil pengujian kamera dapat dilihat pada tabel 1.
Tabel 1. Pengujian raspberry pi mengakses kamera
Pengujian Ke Berhasil Mengakses Kamera 1 Berhasil 2 Berhasil 3 Berhasil 4 Berhasil 5 Berhasil 6 Berhasil 7 Berhasil 8 Berhasil 9 Berhasil 10 Berhasil
Berdasarkan Pengujian, Raspberry Pi dapat mengakses Kamera dengan baik dengan persentase keberhasilan pengaksesan dan pengambilan citra yakni 100%.
3.2 Pengujian Akurasi Deteksi Jarak Bola
Pengujian ini merupakan pengujian jarak antara bola dengan titik 0 cm pada sistem. Pengujian dilakukan dengan 2 arah sudut pandang kamera yang berbeda yakni sudut pandang kamera 49,2o dan sudut pandang
kamera 47,2o. Hasil pengujian akurasi deteksi
jarak bola dapat dilihat pada Tabel 2 dan Tabel 3.
Tabel 2. Pengujian akurasi jarak bola dengan sudut pandang kamera 49,2o
No Jarak Sebenarnya (cm) Rata-Rata Jarak Hasil Deteksi (cm) Akurasi (%) 1 50 53,03 93,88 2 100 99,94 99,09 3 150 151,45 98,61 4 200 201,34 98,01 5 250 247,19 89,72 6 300 283,26 85,14 Rata-rata 94,07
Tabel 3. Pengujian akurasi jarak bola dengan sudut pandang kamera 47,2o
No Jarak Sebenarnya (cm) Rata-Rata Jarak Hasil Deteksi (cm) Akurasi (%) 1 50 51,64 95,98 2 100 100,26 98,35 3 150 151,08 98,96 4 200 202,39 97,48
Rata-rata 97,69 Masing-masing jarak sebenarnya pada pengujian jarak tersebut diuji sebanyak 7 kali pada 7 sudut arah bola yang berbeda sehingga mendapatkan rata rata jarak hasil deteksi dan rata rata akurasinya seperti pada Tabel 2 dan Tabel 4. Berdasarkan hasil pengujian, tingkat akurasi pendeteksian sudut tertinggi adalah pengujian dengan sudut pandang kamera 47,2o dimana
rata-rata persentase akurasi perhitungan sudut yakni 97,69% . Contoh frame pengujian akurasi pendeteksian jarak bola dapat dilihat pada Gambar 10.
Gambar 10. Frame pada pengujian akurasi jarak bola
Pada Gambar 10 dapat dilihat bahwa terdapat beberapa informasi yang ditampilkan pada frame output pengujian akurasi jarak bola. Objek bola ditandai dengan lingkaran merah dan jaraknya ditampilkan menggunakan font
berwarna biru. Sedangkan informasi-informasi lain seperti koordinat, diameter dan posisi bola ditampilkan pada pojok kanan bawah.
3.3 Pengujian Akurasi Deteksi Sudut Arah Bola
Pengujian ini merupakan pengujian sudut arah bola pada sistem deteksi jarak bola. Sudut tersebut adalah sudut kemiringan bola terhadap arah lurus pandangan robot kedepan. Pengujian akurasi deteksi sudut arah bola ini juga dilakukan dengan 2 sudut pandang kamera yang berbeda yakni 49,2o dan 47,2o Hasil
pengujian akurasi deteksi sudut arah bola dapat dilihat pada Tabel 4 dan Tabel 5.
Tabel 4. Pengujian akurasi sudut arah bola dengan sudut pandang kamera 49,2o
No Sudut Sebenarnya (o) Rata-Rata Sudut Hasil Deteksi (o) Akurasi (%) 1 Kanan 20 17,98 89,72 2 Kanan 15 13,57 92,,83 3 Kanan 10 8,82 94,08 No Sudut Sebenarnya (o) Rata-Rata Sudut Hasil Deteksi (o) Akurasi (%) 4 Kanan 5 4,65 98 5 Kiri 5 4,1 95,48 6 Kiri 10 8,03 90,13 7 Kiri 15 12,64 88,22 8 Kiri 20 17,31 86,53 Rata-rata 91,88
Tabel 5. Pengujian akurasi sudut arah bola dengan sudut pandang kamera 47,2o
No Sudut Sebenarnya (o) Rata-Rata Sudut Hasil Deteksi (o) Akurasi (%) 1 Kanan 20 19,48 90,23 2 Kanan 15 14,56 94,65 3 Kanan 10 9,63 97,08 4 Kanan 5 4,79 98,3 5 Kiri 5 4,49 97,47 6 Kiri 10 9,42 95,42 7 Kiri 15 14,04 94,55 8 Kiri 20 19,25 89,78 Rata-rata 94,69
Berdasarkan hasil Pengujian, tingkat akurasi pendeteksian sudut tertinggi adalah pengujian dengan sudut pandang kamera 47,2o
dengan rata-rata persentase akurasi perhitungan sudut arah bola yakni 94,69% dan rata-rata error yang dihasilkan adalah 1,06o.
3.4 Pengujian Waktu Komputasi Sistem
Pengujian ini merupakan pengujian waktu komputasi sistem deteksi jarak bola untuk menghitung jarak bola pada setiap frame. Waktu komputasi ini merupakan waktu untuk 1 kali proses pendeteksian jarak bola pada 1 frame. Pada pengujian ini di dapatkan waktu komputasi pada setiap frame dan dilakukan perhitungan rata rata waktu komputasi pada setiap frame yang diuji. Setelah itu di dapatkan waktu komputasi rata rata pada setiap pengujian. Waktu komputasi sistem dapat dilihat pada Tabel 6.
Tabel 6. Pengujian waktu komputasi sistem
No Pengujian Dengan sudut pandang kamera (o) Rata-Rata Waktu Komputasi (ms) 1 49,2 157,48 2 47,2 159,59
Rata- Rata 158,54
Berdasarkan hasil pengujian, rata-rata waktu komputasi sistem adalah sebesar 158,54 ms.
4. KESIMPULAN
Berdasarkan hasil dan analisis dari Pengujian Akurasi Pendeteksian Jarak, Akurasi Pendeteksian sudut, dan waktu komputasi, maka dapat disimpulkan bahwa perancangan sistem deteksi jarak bola ini dilakukan dengan menempatkan kamera 38 cm diatas permukaan dari lapangan dan dengan titik 0 cm adalah
2 cm
dibelakang dari titik tegak lurus kamera
terhadap lapangan pertandingan.
Pengimplementasian sistem deteksi jarak bola ini tidak selalu menghasilkan jarak yang akurat. Hal ini disebabkan pencahayaan yang kurang terang dan nilai pixel pada frame yang selalu berubah sehingga hasil Hough Circle
Transformation pun tidak stabil sehingga nilai
jarak yang dihasilkan tidak tetap pada suatu nilai.
Sudut pandang kamera dengan akurasi pendeteksian jarak dan sudut arah bola terbaik adalah 47,2o dengan akurasi perhitungan jarak
bola adalah 97,69 % dan akurasi perhitungan sudut arah bola adalah 94,69 %. Rata-rata waktu komputasi sistem ini adalah 158,54 ms.
5. DAFTAR PUSTAKA
Budiharto, W., Kanigoro, B. & Noviantri, V., 2016. Ball distance Estimation and Tracking System of Humanoid Soccer Robot. HAL, p. 11.
Isnan , N. R. & Budi, S., 2013. Computer Vision Untuk Penghitungan Jarak Objek Terhadap Kamera. p. 6.
Md Asgar Hossain, M. M., 2015. A Real-Time Face to Camera Distance Measurement Algorithm Using Object Classification. s.l.:s.n.
More, C. S. & Patil, A. P., 2015. Circular Hough Transform for Detecting And Measuring Circles of Object. International Journal on Recent and Invation Trends in Computing and Communication, 3(2), p. 4.
Najmurrokhman, A., Kusnandar, Wibowo, B. H. & Abiddin, . S., 2016. Desain dan Realisasi Pemrosesan Citra dengan
CMUcam4 untuk Meningkatkan Kinerja Visual Robosoccer.
Pambudhi, W. S., Salamah, I. & Tompunu, A. N., 2011. Deteksi dan Estimasi Jarak Obyek Menggunakan Single Camera Dengan Model Segmentasi HSV.
Pamungkas, E. M., Sumbodo, B. A. A. & Candradewi, I., 2017. Sistem Pendeteksi dan Pelacakan Bola dengan Metode Hough Circle Transform, Blob Detection, dan Camshift Menggunakan AR.Drone.
IJEIS, p. 11.
Umam, F., 2012. Estimasi Jarak Dan Posisi Orientasi Objek Menggunakan Stereo Camera dan Kalman Filter.
Wiyagi, R. O. & Mustar, M. Y., 2015. Deteksi Jarak Objek Bercahaya secara Real time Menggunakan Kamera Tunggal. p. 4