Vektor Virtual Force Field Method

Contoh: import numpy as np import cv2 vid = cv2.VideoCapture0 while1: ret, frame = vid.read konversi BGR ke HSV hsv = cv2.cvtColorframe, cv2.COLOR_BGR2HSV mendefinisikan warna yang dipilih batas_bawah = np.array[110,50,50] batas_atas = np.array[130,255,255] mendeteksi warna yang diinginkan mask = cv2.inrangehsv, batas_bawah, batas_atas c. Mendeteksi pergerakan objek dengan camshift Untuk melakukan tracker mendeteksi pergerakan suatu objek, OpenCV menyediakan suatu function yaitu camshift. Metode ini mendeteksi objek berdasarkan warna dan juga memperhitungkan perubahan warna yang terjadi ketika objek bergerak. Hal tersebut akan mengakibatkan active windows yang mendeteksi objek tersebut berubah besarnya sesuai dengan pergerakan objek tersebut. Contoh pemanggilan fungsi CamShift: ret, track_window = cv2.CamShiftobjek yang ingin dideteksi, batas active window, keadaan tracker berhenti

2.8. Vektor

Sebuah besaran yang memiliki magnitudo dan arah, disebut besaran vektor. Besaran lain yang merupakan vektor adalah perpindahan, gaya, dan momentum. Akan tetapi, banyak juga besaran yang tidak memiliki arah, seperti massa, waktu, dan suhu. Besaran semacam ini dapat dinyatakan secara lengkap dengan angka dan satuan, dan disebut dengan besaran skalar [13]. Pada gambar 2.5 menunjukkan contoh dari sebuah vektor. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 2.5 Contoh dari vektor a. Untuk menentukan besar vektor dari suatu objek berdasarkan posisi x,y: = √ + 2.5 b. Untuk menentukan besar sudut dari objek tersebut dengan sumbu x: � = � tan 2.6 c. Untuk menentukan selisih sudut kedua objek: � = � − � ; � � 2.7 d. Untuk menghitung besar resultan kedua gaya: = √ + + cos∠ , 2.8 e. Untuk menghitung arah dari resultan kedua gaya: � = � sin sin − � 2.9 f. Untuk menghitung besar vektor perpindahan: = √ + + + 2.10

2.9. Virtual Force Field Method

Metode Virtual Force Field dikembangkan oleh Koren dan Borenstein pada tahun 1989. Metode ini dapat diartikan sebagai perpaduan dari metode Certain grids dan Potential Fields Method. Sesuai dengan gambar 2.6 metode ini didesain untuk menghindari rintangan secara Real-Time. Sebuah window virtual melingkupi sebuah region yang bergerak bersamaan dengan robot secara tidak terlihat, window virtual tersebut disebut dengan active window dan melingkupi sebuah area dari batas tertentu. Pusat dari window tersebut berada pada titik tengah dari robot [14]. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 2.6 Konsep Virtual Force Field Jika lawan berada dalam area active window maka program nantinya akan menghitung besar resultan antara dinding dan lawan terhadap robot [15]. Berikut ini adalah langkah- langkahnya: a. Perhitungan besar vektor antara robot dengan lawan atau target menggunakan persamaan 2.10, dimana: = Besar vektor antara robot dengan lawan atau target = Nilai X dari robot = Nilai Y dari robot = Nilai X dari lawan atau target = Nilai Y dari lawan atau target b. Menghitung besar sudut antara robot dengan lawan dan robot dengan target menggunakan persamaan 2.2 � = � tan − − 2.11 Keterangan: � = Besar sudut antara robot dengan lawan atau target = Nilai X dari robot = Nilai Y dari robot = Nilai X dari lawan atau target = Nilai Y dari lawan atau target Active window c. Menghitung selisih antar sudut robot dengan lawan dan sudut robot dengan target menggunakan persamaan 2.7. dimana: � = Besar jumlah sudut antara robot dengan lawan dan sudut robot dengan target � = Besar sudut antara robot dengan lawan � = Beasr sudut antara robot dengan target d. Menghitung besar resultan dari robot dengan lawan dan robot dengan target menggunakan persamaan 2.8. dimana: = Besar resultan dari robot dengan lawan dan robot dengan bola = Besar vektor antara robot dengan lawan = Beasr vektor antara robot dengan target e. Menghitung besar sudut resultan dari robot dengan lawan dan robot dengan target menggunakan persamaan 2.9. dimana: � = Besar sudut resultan dari robot dengan lawan dan robot dengan bola = Besar vektor antara robot dengan lawan = Besar resultan dari robot dengan lawan dan robot dengan bola � = Besar selisih sudut antara robot dengan lawan dan sudut robot dengan target

2.10. Python Socket