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