Vision RobotSoccer - Gambaran Umum

Gambaran Umum Sistem

Vision, dalam robot soccer bisa diibaratkan sebagai mata robot itu sendiri, selain memberikan posisi posisi masing masing robot, juga memberikan posisi musuh, posisi bola dan posisi gawang tempat untuk mencetak gol. Pada lapangan, vision juga dapat memberikan informasi besarnya lapangan, posisi posisi tertentu untuk melakukan action, seperti tendangan bebas, tendangan penalti, dll
vision ini membagi bagi beberapa warna menjadi beberapa patern yang kemudian di terjemahkan menjadi posisi dan sudut dari robot itu sendiri. Saya sendiri mendevelop bagian vision ini dari awal menggunakan opencv image processor, untuk dapat mengetahui seluruh posisi robot dan posisi bola, serta detail lapangan yang ada.

Deteksi warna
pendeteksian warna pada vision yang berbasiskan opencv ini membagi warna dalam bentuk HSV, untuk mempermudah pembagian warna nantinya, kenapa ? karena HSV terbilang cukup mudah untuk memfilter warna dari pada RGB, 
HSV (hue, saturation, and value) adalah dua Sistem koordinat-silinder yang paling umum  merepresentasikan poin dalam model warna RGB, yang mengatur ulang geometri RGB dalam upaya untuk perseptual yang lebih relevan daripada representasi koordinat kartesian.
Variasi dari roda HSV digunakan untuk memilih warna yang diinginkan. Hue diwakili oleh lingkaran/keliling dalam roda. Sumbu horizontal menunjukan saturation dan sumbu vertical menunjukan value. Untuk mengambil suatu warna tertentu kita perlu menentukan dahulu hue dan kemudian kita baru memilih nilai saturation dan untuk brightness kita bisa memilihnya dari nilai value.
Keuntungan dari model HSV & HSL ini adalah terdapat warna – warna sama dengan warna yang biasanya ditangkap oleh indra manusia. Sedangkan warna – warna yang dibentuk pada model lainnya merupakan hasil campuran dari warna – warna primer / dasar untuk membentuk warna lain.
Pendeteksian warna pada opencv sendiri mengacu pada konsep range warna terendah sampai tertinggi, karena kondisi pencahayaan di lapangan sangatlah berbeda, yang menyebabkan value warna yang terdeteksi pada bagian tertentu bisa saja berbeda di bagian lainnya tergantung komposisi cahaya yang didapat. Ini menjadi kendala dan tantangan tersendiri untuk dapat mendeteksi warna dengan akurat dilingkungan pencahayaan yang kurang baik atau merata.

Deteksi Sudut, Posisi dan Labeling

Pada bagian ini, filter warna yang sebelumnya sudah dilakukan akan memberikan value tersendiri, yaitu x dan y. sudut ini didapat tergantung dari besaran pixel gambar yang di tangkap kamera yang kemudian dihitung melalui posisi 0,0 itu di sudut kiri atas, dan posisi terbesar terdapat di sudut kanan bawah.
lalu selanjutnya jika kita sudah mendapatkan posisi real dari gambar patern yang ditangkap oleh kamera, maka selanjutnya menghitung sudut dari referensi kombinasi warna patern yang sudah di setting sebelumnya, dari sini kita dapat menentukan sudut depan sang robot berikut posisinya. sentuhan terakhir yaitu labeling, sebenarnya tujuan labeling adalah untuk debuging saja, karena jika dipakai di real game, akan lebih berat saja aplikasi untuk memprosesnya.

0 komentar:

Posting Komentar

Ayo Celotehnya tulis disini yaaa....