DETEKSI FITUR DAN PENENTUAN POSISI HUMANOID SOCCER ROBOT DALAM LAPANGAN STANDAR ROBOCUP BEBASIS SENSOR ORIENTASI DAN PENANDA TIDAK UNIK Ach Hadi Dahlan1), Muhtadin2), dan Mauridhi Hery Purnomo3) Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 E-mail:
[email protected]),
[email protected]) ,
[email protected]) Abstrak—Dalam strategi sepak bola robot, kemampuan dasar yang harus dimiliki setiap robot adalah kemampuan mengenali fitur-fitur dalam lapangan. Fitur yang dimaksud adalah bola, gawang dan garis. Dengan mengetahui fitur-fitur yang ada, robot dapat memperkirakan posisi dirinya dalam lapangan pertandingan. Koordinat didapat dari metode triangulasi sedangkan pose ( ) diperoleh dari sensor orientasi yang ditanam pada robot sebagai modul tambahan. Sehingga dengan mengetahui estimasi posisi di lapangan, robot akan lebih mudah dalam melakukan strategi permainan. Pada penelitian ini dibahas mengenai pengenalan fitur lapangan berupa bola, gawang dan tepi lapangan. Pendeteksian gawang dilakukan menggunakan transformasi garis Hough. Metode Polynomial curve fitting diterapakan untuk menentukan jarak robot dengan gawang berdasarkan perbandingan tinggi penanda (piksel) dan jarak (meter). Dalam aturan RoboCup 2013, gawang yang terdapat di lapangan memiliki warna yang sama yaitu kuning. Untuk dapat membedakan gawang lawan dan gawang sendiri digunakan masukan berupa sudut dari sensor orientasi. Pada pendeteksian bola, robot dapat membedakan bola dan objek diluar lapangan yang memiliki warna sama dengan bola. Dan jarak maksimal pendeteksian bola adalah 4,5meter. Hasil penentuan posisi robot di lapangan cukup akurat dengan rata-rata galat 0,1154meter. Untuk lebih mudah dalam melakukan strategi permainan, maka lapangan dibagi dalam 24 grid. Dari grid-grid tersebut perilaku robot ditentukan. Kata kunci: RoboCup, penanda tidak unik, sensor orientasi, ekstraksi fitur, penentuan posisi, triangulasi
I. PENDAHULUAN Kontes robot sepak bola tingkat internasional atau disebut sebagai Robocup, selalu memberikan tantangan terhadap kontestan robot tersebut. Dengan adanya banyak tantangan, peneliti menciptakan berbagai algoritma dalam penentuan lokasi robot pada lapangan. Penentuan lokasi robot terhadap sebuah atau beberapa fitur secara umum telah dibahas pada [1]. Namun, secara
khusus beberapa peneliti sudah membahas penentuan lokasi pada robot pemain sepak bola salah satunya dengan cara sederhana yaitu triangulasi secara individu untuk masing-masing robot [2], penentuan lokasi yang adaptif berdasarkan pandangan robot [3], ataupun dengan cara penentuan lokasi berdasarkan pandangan robot secara bersama-sama (kolaborasi antar robot) [4]. Setelah robot mampu menentukan lokasi dalam lapangan sepak bola, kemampuan tersebut kemudian dikembangkan agar robot dapat saling bekerja sama dalam melakukan penyerangan atau bertahan pada permainan sepak bola seperti pada [5]. Peraturan pertandingan resmi Robocup 2013 mengalami perubahan yang signifikan pada lapangan yang digunakan. Gawang yang semula berwarna berbeda (biru dan kuning) pada tim berlawan memiliki warna yang sama yaitu kuning. Selain itu, landmark pole di samping lapangan dihilangkan. Pada penelitian ini akan dibahas mengenai pendeteksian fitur-fitur yang ada dalam lapangan. dan penentuan posisi robot berdasarkan penanda yang tidak unik dan sensor orientasi. Triangulasi dan grid occupancy digunakan sebagai metode penentuan posisi.
II. DESAIN SISTEM Dalam penelitian ini, sistem dirancang supaya robot dapat menentukan posisi diri di lapangan berdasarkan penanda tidak unik dan dengan tambahan modul sensor orientasi. Metode yang digunakan adalah triangulasi. Hasil dari penentuan posisi ini berupa posisi dan orientasi robot (x,y,θ). Masukan dari metode triangulasi berupa estimasi jarak antara robot dengan penanda, yang mana jarak tersebut diperoleh dari persepsi visual robot. Namun data penentuan yang didapat dari metode ini tidaklah kontinyu. Untuk memperoleh hasil yang lebih akurat, maka metode ini ditambah masukan berupa orientasi robot terhadap sumbu y koordinat lapangan(θ). Orientasi ini didapat dari sensor dan bersifat kontinyu. Sehingga robot dapat menetukan persepsi arah dirinya di lapangan.
segmentasi
Citra masukan
Deteksi garis
Pengukuran tinggi penanda di bidang citra
Ekstraksi fitur
Deteksi Penanda Orientasi dari Sensor (θ)
Triangulasi
Estimasi jarak penanda terhadap robot
Gambar 3. HSV Colorspace Kordinat robot (x,y)
Grid lapangan (grid[24])
Penentuan posisi di grid lapangan
Posisi robot di grid lapangan (grid[i])
Gambar 1. Desain Sistem Selain itu, lapangan direpresentasikan dalam 24 grid untuk mempermudah dalam menentukan strategi permainan dan meningkatkan performa robot. Grid yang dibuat terlihat pada gambar 2. Grid ini juga membatu robot menentukan perilakunya dalam masing-masing area.
HSV adalah solusi untuk masalah kondisi lingkungan yang tidak tetap. HSV merupakan representasi colorspace silinder, yang berisi informasi tentang hue, saturation, dan value. Hue mendefinisikan kromatisitas warna dan tidak tergantung pada kondisi pencahayaan. Pada Pada gambar 3 ilustrasi warna direpresentasikan dalam bentuk silinder. Dapat dilihat bahwa warna diwakili oleh dimensi sudut di sumbu vertikal silinder ini [6].
B. Deteksi Tepi Lapangan Pendeteksian tepi lapangan dilakukan untuk mempermudah proses pengenalan fitur-fitur yang berada di lapangan. Manfaat lainnya adalah menghilangkan noise di luar lapangan yang biasanya berwarna sama dengan fitur dalam lapangan. Citra masukan yang ditangkap kamera berukuran 320x240 pixel. Untuk mempercepat proses pendeteksian tepi lapangan, maka citra tersebut dibagi dalam grid 80x60. Kemudian dibuat citra baru dengan ukuran grid tersebut yang mana 1 pixel pada citra baru mewakili kemunculan warna 4x4 citra asli. Hal tersebut mengurangi resolusi citra yang akan diolah, sehingga memungkinkan akses yang cepat pada kepadatan warna yang sesuai di area citra [7].
Gambar 2. Grid Lapangan
III. EKSTRAKSI FITUR A. Pemilihan Fitur Warna Pada kondisi real, kondisi pencahayaan di lapangan tidak tetap dan tidak rata. Hal tersebut menjadi tantangan tersendiri untuk memilih representasi colorspace terbaik untuk mengatasi variasi dalam kondisi pencahayaan. Kamera robot menghasilkan citra RGB sebagai masukan. Namun, citra RGB colorspace tidak layak apabila langsung diproses untuk sebagian besar aplikasi karena pengaruh lingkungan seperti pencahayaan dan bayangan.
(a) (b) (c) Gambar 4. Proses segmentasi, (a) citra asli (b) segmenasi awal (c) setelah dilakukan closing Langkah selanjutnya yaitu dengan deteksi blob menggunakan segmentasi citra berdasarkan warna hijau lapangan pada ruang warna HSV. Kemudian dilakukan closing untuk menutupi celah-celah citra biner yang didapat dari hasil segmentasi. Celah tersebut berasal dari garis lapangan, bola ataupun robot lawan. Matrix untuk closing didapat berdasarkan beberapa percobaan sehingga
diperoleh ukuran matriks yang sesuai. Hasil akhir segmentasi terlihat pada gambar 4.
Gambar 5. Hasil Deteksi Garis Tepi Lapangan Selanjutnya adalah proses pengecekan piksel dari kiri ke atas pada masing-masing sumbu y dimulai dari bagian kiri citra biner. Dengan asumsi biner 1 untuk warna hijau dan biner 0 untuk selain hijau, apabila saat pengecekan didapat nilai biner 0 lebih dari tiga pixel maka pixel terakhir mendapat mendapat biner 1 adalah titik tepinya. Langkah ini berulang sampai dengan sisi terkanan citra. Titik tersebut disimpan dalam bentuk vektor. Langkah terakhir adalah penskalaan balik untuk menentukan tepi lapangan pada citra asal. Sehingga didapat tepi lapangan seperti terlihat pada gambar 5.
C. Deteksi Bola Pendeteksian bola standar robocup yang berwarna jingga biasanya dilakukan dengan cara yang sederhana, yaitu menggunakan segmentasi warna. Sehingga didapat blob yang nantinya dianggap sebagai bola. Namun dalam hal tersebut robot tidak dapat membedakan bola yang berada di lapangan dengan noise yang berada di luar lapangan seperti baju penonton atau bahkan lingkungan sekitar pertandingan.
(a) (b) Gambar 6. Deteksi bola: (a) Bola di dalam lapangan (b) Bola diluar lapangan Untuk dapat membedakan bola di dalam lapangan dan obyek lain diluar lapangan yang memiliki warna sama adalah dengan menganggap bola yang berada di bawah tepi lapangan. Sebelumnya telah dibahas mengenai pendeteksian tepi lapangan. Dari hasil tersebut warna jingga pada citra yang dianggap hanya yang berada di dalam lapangan saja dan mengabaikan warna jingga yang berada di atas tepi lapangan.
Hasil yang diperoleh dari dua metode tersebut tidak jauh berbeda. Robot dapat membedakan bola yang berada di dalam lapangan dan noise yang berada di luar lapangan. Hasil pendeteksian bola tersebut terlihat pada gambar 6. Start
1
Citra RGB
Deteksi Garis
Konversi Ke HSV
Pemrosesan Garis
Deteksi Blob Kuning
Penentuan titiktitik pentng
Deteksi Tepi
Tinggi tiang
1
Stop
Gambar 7. Diagram alir pendeteksian gawang
D. Deteksi Gawang Gambar 7 menunjukkan urutan proses deteksi gawang. Langkah pertama dalam pendeteksian gawang adalah deteksi blob dengan cara melakukan segmentasi warna kuning menggunakan kisaran data nilai HSV yang didapat dari proses kalibrasi. Namun, citra biner yang didapat dari hasil segmentasi masih memiliki unsur noise. Untuk menghilangkan noise tersebut dilakukan proses morphological filtering mnggunakan closing. Selanjutnya dilakukan deteksi tepi dan kontur pada citra biner hasil segmentasi untuk mendapatkan kumpulan titik paling tepi dari blob tersebut. Titik-titik ini . mempunyai informasi koordinat pada bidang citra Metode transformasi Hough [8] diterapkan pada citra biner hasil deteksi tepi, sehingga didapat garis-garis yang membentuk tepi tersebut. Garis-garis tersebut selanjutnya akan dilakukan ekstraksi fitur untuk memperoleh mistar dan tiang gawang. Mistar gawang merupakan garis horisontal sedangkan tiang gawang adalah garis vertical. Sudut tiang gawang didapat dari perpotongan kedua garis tersebut. Dan titik dasar tiang gawang didapat dengan melakukan pengecekan dari perpotongan garis tersebut sampai pada titik terbawah garis tiang gawang sampai tidak lagi ditemukan warna pixel putih. Tinggi tiang gawang didapat dari perhitungan jarak titik potong dan titik dasar tiang gawang. Tinggi tiang, selanjutnya akan dijadikan acuan untuk proses estimasi jarak robot terhadap gawang.
Berdasarkan gambar 9, ketika diperoleh jarak antara robot dan dua penanda (misal tiang kiri (xa, ya) dan tiang kanan(xb, yb)), maka posisi robot (xr, yr) dapat diperoleh dengan menentukan perpotongan dua lingkaran dengan jari-jari r1 dan r2 yang berpusat pada dua penanda yang di ketahui sebelumnya. (a) (b) Gambar 8. (a) hasil deteksi tiang kanan dan (b) hasil deteksi gawang penuh Apabila hanya terdeteksi separuh tiang, untuk membedakan tiang kiri dan kanan perludilakukan pengecekan warna pixel putih pada area garis vertikal mistar gawang. Apabila wana pixel putih di kiri perpotongan garis lebih dominan maka itu adalah tiang kanan, dan juga sebaliknya. Namun untuk membedakan tiang gawang sendiri dan gawang musuh dapat menggunakan sensor orientasi sebagai acuan. Hasil pendeteksian gawang dapat dilihat pada gambar 8.
V. PERCOBAAN DAN HASIL A. Pengujian Penentuan Posisi dengan Sistem Koordinat Percobaan penentuan posisi robot dilakukan pada robot sebenarnya menggunakan platform DARwInOP. Robot ditempatkan di posisi yang berbeda-beda untuk mengatahui akurasi penentuan posisi yang didapat. Table 1 menunjukkan perbandingan posisi robot sebenarnya dan hasil penentuan posisi robot menggunakan metode triangulasi dengan acuan penanda tidak unik berupa gawang.
IV. PENENTUAN POSISI ROBOT Penentuan posisi robot di lapangan dapat menjadi strategi dalam permainan sepak bola robot. Pada penelitian ini kami menggunakan metote triangulasi [2], dan digabungkan dengan sensor orientasi sebagai pembeda gawang sendiri dan gawang musuh. Sehingga untuk penentuan sudut robot sepenuhnya bergantung pada sensor tersebut. Langkah pertama dalam penentuan posisi robot adalah memperoleh estimasi jarak robot dengan penanda. Estimasi jarak diperoleh dengan melakukan perbandingan antara tinggi tiang dan jarak robot sebenarnya dengan beberapa percobaan. Sehingga diperoleh persamaan berdasarkan metode curve fitting.
No 1 2 3 4 5 6 7 8
Tabel 1. Hasil penentuan posisi Posisi robot Hasil x y x y 3,50 2,60 3,60 2,63 3,20 3,50 3,15 3,55 2,50 4,00 2,66 4,07 2,50 3,50 2,70 3,31 2,50 2,90 2,65 2,90 2,50 2,45 2,60 2,65 1,40 2,50 1,63 2,66 1,50 1,70 1,53 1,66 Galat rata-rata :
galat (m) 0,1044 0,0707 0.1746 0,2759 0.1500 0.2236 0.2802 0.0949 0.1154
Dari pengujian delapan titik didapat galat ratarata sebesar 0.1154 meter. Berdasar percobaan yang dilakukan, tingkat akurasi posisi bergantung pada hasil estimasi jarak robot dengan penanda. Semakin mendekati kebenaran jarak yang didapat maka posisi yang diperoleh akan semakin akurat.
B. Pengujian Penentuan Posisi Berbasis Letak Grid
Gambar 9. Penetuan posisi robot dengan metode triangulasi
Pengujian ini sama halnya dengan pengujian dengan sistem koordinat. Namun koordinat yang diperoleh diproses dan dibagi berdasarkan grid yang telah ditentukan. Berdasarkan tabel 2 hasil penentuan posisi akurat pada area tengah lapangan. Namun pada grid 1 sampai dengan 4 robot tidak dapat menentukan posisi dirinya. Hal ini disebabkan robot tidak dapat mendeteksi gawang pada area tersebut.
Table 2. Hasil penentuan posisi pada grid No Grid 1 2 3 4 5 6 7 8 9 10 11 12
Hasil Perrcobaan ke1 2 3 4 0 5 1 5 0 0 0 0 0 0 0 0 0 0 0 0 5 5 9 12 6 6 6 6 7 0 7 7 8 8 8 7 9 9 10 9 10 10 10 10 11 11 11 11 12 11 12 12
5 1 0 0 0 5 6 7 8 9 10 11 12
% Sukses 20% 0% 0% 0% 60% 100% 80% 80% 80% 100% 100% 100%
VI. PENUTUP A. Kesimpulan Dari hasil implementasi dan pengujian metode yang diusulkan dalam tugas akhir ini dapat ditarik beberapa kesimpulan: 1.
Hasil pendeteksian gawang di lapangan pada sembilan titik pengujian didapat keberhasilan 100%. 2. Robot dapat membedakan bola yang berada dalam lapangan dan objek di luar lapangan yang memilki warna sama dengan bola. Dan jarak terjauh pendeteksian bola adalah 4,5meter. 3. Hasil penentuan posisi menggunakan metode triangulasi cukup akurat. Dari pengujian pada 8 titik dalam lapangan didapatkan galat rata-rata 0.1154 meter. 4. Hasil penentuan posisi robot dilapangan berdasarkan grid akurat saat berada di area tengah lapangan dengan persentase keberhasilan 87.5%. Namun robot tidak dapat menentukan posisi dirinya saat berada dekat dengan lapangan yaitu saat robot berada di grid 1, 2, 3 dan 4. 5. Penentuan posisi pada tugas akhir ini tidak mampu memberikan hasil yang kontinyu. Saat robot berpindah posisi, robot harus melakukan scanning ulang untuk mendapatkan estimasi posisi yang baru.
B. Saran Untuk pengembangan lebih lanjut mengenai tugas akhir ini, disarankan untuk melakukan beberapa langkah lanjutan:
1. 2.
3.
Fitur yang diamati bisa ditingkatkan dengan memanfaatkan garis lapangan [7]. Perlu diterapkan metode particle filter dan position tracking untuk memperoleh estimasi posisi robot secara kontinyu. Penentuan posisi robot dalam lapangan dapat dilakukan menggunakan kerjasama tim.
VII. DAFTAR PUSTAKA [1] S. Thrun, Probabilistic robotics, ser. Intelligent robotics and autonomous agents. Cambridge, Mass: MIT Press, 2005. [2] M. Andung Muntaha, Muhtadin, and M. Hery Purnomo, “Self-localization for humanoid soccer robots based on triangulation method,” in Indonesian Symposium On Robot Soccer Competition. Semarang: Dian Nuswantoro University, Jun. [3] C. Hsien Hsia, J. Shiun Chiang, and S. Hung Chang, “Adaptive vision-based self-localization system for humanoid robot of RoboCup,” vol. 9 Number 3, Mar. 2013. [4] C.-H. Chang, S.-C. Wang, and C.-C. Wang, “Visionbased cooperative simultaneous localization and tracking.” IEEE International Conference Robotics and Automation ICRA, May 2011, pp. 5191–5197. [Online]. Available: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arn umber=5980505 [5] C. Y. Low, N. Aziz, M. Aldemir, M. Mellado, R. Dumitrescu, and H. Anacker, “Principle solution for designing collaborative humanoid soccer robots,” Procedia Engineering, vol. 41, pp. 1507–1515, Jan. 2012. [Online]. Available: http://linkinghub.elsevier .com/retrieve/pii/S1877705812027439 [6] G. Amogh, G. D. Patrick, K. M. Georgios, S. Nikolaas, “Feature Detection and Localization for the RoboCup Soccer SPL,” University of Amsterdam. Feb. 2013. [7] S. Hannes, L. Weichao, S. Jorg, B. Sven, “Utilizing the Structure of Field Lines for Efficient Soccer Robot Localization,” in Proceedings of RoboCup International. Symposium. Singapore. Jun. 2010. [8] A. Mercader Pallarés, D. Puig Valls, and T. González Sánchez, “Goal detection for soccer-playing robots based on hough transform,” Departament dEnginyeria Informàtica i Matemàtiques, Universitat Rovira I Virgili,Tech. Rep., 6 2009.