Subprogram Menentukan Informasi Sudut Robot, serta Posisi

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