3.3.5. Subprogram Menentukan Informasi Sudut Robot, serta Posisi
Robot, Lawan dan Target
Untuk menentukan tujuan dari robot, serta posisi lawan maka coach computer akan melakukan analisis terhadap masukan dari USB Webcam berupa video dengan
menggunakan metode image processing yang dibantu dengan menggunakan library bantuan yaitu OpenCV yang dapat langsung diintegrasikan dengan Python. OpenCV digunakan
untuk memberikan nilai x dan y dari robot, lawan, dan target bola atau gawang berdasarkan warna. Untuk pendeteksian warna dilakukan dengan metode HSV, metode tersebut dipilih
karena lebih peka terhadap perubahan cahaya. Nilai x dan y dari masing-masing objek yang didapatkan akan dijadikan perintah yaitu berupa setpoint yang diinginkan dan informasi
yaitu berupa letak posisi robot, serta sudut robot sekarang, posisi lawan, dan kiper lawan yang akan dikirim tergantung dari mode yang sedang berlangsung pada robot. Berdasarkan
titik posisi objek akan dibuat sebuah active window berbentuk lingkaran.
Gambar 3.10.1 Diagra m alir subprogram menentukan tujuan robot dan posisi lawan
Mulai
Input video Inisialisasi variabel
Konversi warna input dari RGB ke HSV
Menentukan warna masing-masing objek Menentukan nilai x dan y masing-masing
objek dan arah sudut robot
Selesai Membuat active window
Gambar 3.10.1 menunjukkan bagaimana proses menganalisis input video dari USB Webcam menggunakan metode pengolahan citra yang dibantu dengan pustaka pada Python
yaitu OpenCV. Berdasarkan dasar teori pada subbab 2.6, pertama dilakukan inisialisasi kamera yang
akan digunakan lalu menerima masukan input video. Lalu warna dari input video akan dikonversikan menjadi HSV dan setelah itu menentukan warna dari masing-masing objek
dengan persamaan 2.2, 2.3, dan 2.4. maka untuk warna dari tanda tim robot adalah cyan dan biru, warna bola adalah orange, dan warna gawang adalah kuning:
a. Kuning
Red = 255, Green = 250, Blue = 10, min = min[R,G, B] = 10, maks = maks[R,G, B]=255
Karena maks = R, maka: H =
− −
× =
, ≈
Karena maks ≠ min, maka: S = 255-10 = 245 Nilai V akan dibuat dari kisaran batas bawah 20 dan batas atas 255 agar dapat
menyesuaikan dengan berbagai macam kondisi pencahayaan. b.
Biru Red = 10, Green = 50, Blue = 255, min = min[R,G, B] = 10, maks = maks[R,G, B]=255
Karena maks = B, maka: H =
− −
+ ×
= ,
≈ Karena maks ≠ min, maka: S = 255-10 = 245
Nilai V akan dibuat dari kisaran batas bawah 20 dan batas atas 255 agar dapat menyesuaikan dengan berbagai macam kondisi pencahayaan.
c. Orange
Red = 255, Green = 110, Blue = 10, min = min[R,G, B] = 10, maks = maks[R,G, B]=255
Karena maks = R, maka: H =
− −
× =
, ≈
Karena maks ≠ min, maka: S = 255-10 = 245 Nilai V akan dibuat dari kisaran batas bawah 20 dan batas atas 255 agar dapat
menyesuaikan dengan berbagai macam kondisi pencahayaan. d.
Cyan Red = 10, Green = 250, Blue = 255, min = min[R,G, B] = 10, maks = maks[R,G,
B]=255 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Karena maks = B, maka: H =
− −
+ ×
= ,
≈ Karena maks ≠ min, maka: S = 255-10 = 245
Nilai V akan dibuat dari kisaran batas bawah 20 dan batas atas 255 agar dapat menyesuaikan dengan berbagai macam kondisi pencahayaan.
Setelah warna masing-masing objek telah didapatkan lalu dapat ditentukan nilai x dan y berdasarkan fungsi warna yang dinginkan dari persamaan 2.1 pada dasar teori subbab 2.5.
selain itu ditentukan juga besar arah sudut robot saat ini sebagai patokan seberapa besar nantinya robot harus melakukan belokan. Caranya adalah berdasarkan gambar 3.10.2
ditentukan besar sudut yang terbentuk dari dua tanda tim tersebut terhadap sumbu x berdasarkan dasar teori subbab 2.8 persamaan 2.11.
Gambar 3.10.2 Gambaran arah sudut robot Misal tanda 1 berada pada posisi x = 210 dan y = 110, dan tanda 2 berada pada posisi
x = 200 dan y = 100 maka arah dari sudut robot adalah: tan
−
− −
=
�
Nilai posisi x dan y dari masing-masing objek serta besar arah sudut robot akan dikirimkan sebagai informasi oleh robot. Setelah nilai x dan y didapatkan maka dibuat
sebuah active window pada robot dan lawan yang dipakai oleh metode VFF untuk menghindari terjadinya tabrakan, serta mengetahui apakah bola dalam penguasaan robot atau
dalam penguasaan lawan. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.6. Subprogram Tindakan Pengontrolan Bertahan