3.3.6. Subprogram Tindakan Pengontrolan Bertahan
Berdasarkan gambar 3.11.1, untuk mengontrol robot ketika dalam keadaan bertahan dilakukan dengan cara menggunakan metode VFF Virtual Force Field , metode tersebut
akan dapat meminimalisir terjadinya tabrakan antara robot dengan lawan. Ketika mengejar bola dalam keadaan penguasaan lawan, robot akan dikontrol untuk berada di depan lawan.
Ketika sudah berada di depan lawan maka robot akan mencoba untuk mencuri bola.
Gambar 3.11.1 Diagra m alir subprogram t indakan pengo ntrolan bertahan
Ya Ya
Mulai
Sudah di dekat lawan?
Menghitung besar sudut antara robot deng
a
n lawan, robot dengan target
Menghitung selisih sudutnya
Menghitung besar resultan vektor
Menghitung arah resultan vektor
Selesai Bergerak menuju lawan
Sudah di depan lawan?
Tidak
Tidak
Gambar 3.11.2 Gambaran algorit ma bertahan Ketika bola berada dalam wilayah active window lawan maka robot akan masuk dalam
submode bertahan. Ketika dalam mode bertahan seperti digambarkan pada gambar 3.11.2, coach computer akan mengubah setpoint yang awalnya adalah posisi x dan y bola menjadi
nilai setpoint untuk robot adalah x = posisi ‘x’ bola – 60 dan y = posisi ‘y’ bola. Contoh:
Posisi_x_bola = 450 dan posisi_y_bola = 210 Maka
Posisi_x_setpoint = 450 – 60 = 390 dan posisi_y_setpoint = posisi_y_bola = 210
Dengan nilai posisi_x_setpoint selalu lebih kecil dari nilai posisi_x_bola dan nilai posisi_y_setpoint sama dengan nilai posisi_y_bola maka setpoint yang dikirimkan kepada
robot akan selalu berada pada posisi yang tepat berada di depan lawan. Ketika robot sudah berada di depan lawan yang artinya robot telah berada pada posisi
yang dinginkan sesuai setpoint maka robot akan menentukan untuk merebut bola atau hanya menghalangi lawan agar tidak dapat menendang bola ke arah gawang. Ketika robot telah
berhasil merebut bola maka mode bertahan akan selesai dan robot akan beralih ke submode menyerang untuk berusaha mencetak gol.
3.3.7. Subprogram Tindakan Pengontrolan Menyerang
Berdasarkan gambar 3.12.1, untuk melakukan pengontrolan ketika menghindari lawan saat mengejar bola dalam keadaan bebas ataupun pada saat menggiring bola terhadap robot
dilakukan dengan cara metode VFF Virtual Force Field . Jika active window mendeteksi adanya lawan maka akan dilakukan perhitungan untuk mendapatkan sudut antara robot
dengan lawan dan target menggunakan nilai yang didapatkan pada proses sebelumnya lalu diolah kembali sesuai dengan langkah-langkah pada VFF. Jika active window tidak
mendeteksi adanya lawan maka robot akan berjalan lurus menuju target.
Gambar 3.12.1 Diagra m alir subprogram t indakan pengo ntrolan menyerang
Ya Mulai
Apakah ada
lawan?
Menghitung besar sudut antara robot dengan lawan, robot dengan target
Menghitung selisih sudutnya
Menghitung besar resultan vektor
Menghitung arah resultan vektor
Selesai Tidak
Mendeteksi lawan
Gambar 3.12.2 Gambaran algorit ma menyerang Ketika bola berada dalam wilayah active window robot ataupun tidak dalam berada
wilayah active window robot dan lawan maka robot akan berada dalam submode menyerang. Ketika bola tidak berada dalam penguasaan robot ataupun lawan maka posisi x dan y setpoint
akan sama dengan posisi x dan y bola. Ketika bola telah berada dalam penguasaan robot maka setpoint robot akan diubah menjadi posisi x dan y gawang lawan.
Seperti pada gambar 3.12.2 bola berada dalam penguasaan robot dan active window robot mendeteksi adanya active window lawan maka akan digunakan metode VFF untuk
menghindari lawan. Berdasarkan dasar teori pada subbab 2.8 maka dapat ditentukan berapa besar sudut belok yang harus dilakukan oleh robot yaitu:
= √ +
+ +
= ;
= √ +
+ +
= ,
� = � tan −
− = −
�
; � = � tan −
− =
�
� =
�
− −
�
=
�
= √ +
, + ×
× , cos
�
= ,
� = � sin sin
− ,
= ,
�
Robot akan terus bergerak dengan sudut � dan ketika sudut antara robot dengan lawan
adalah 90
o
, untuk menentukan sudut � dengan:
Posisi_x_robot = 400 ; Posisi_x_lawan = 400 ; Posisi_x_target = 600 Posisi_y_robot = 168 ; Posisi_y_lawan = 100 ; Posisi_y_target = 150
maka:
= √ +
+ +
= ;
= √ +
+ +
=
� = � tan −
− = −
�
; � = � tan −
− = − ,
�
� = −
�
− − ,
�
= − ,
�
= √ +
+ × ×
cos − ,
�
= � = � sin
sin − − ,
= − ,
�
Gambar 3.12.3 Gambaran hasil akhir algoritma VFF Ketika nilai posisi_x_robot telah lebih besar dari posisi_x_lawan maka dapat
dikatakan bahwa robot telah berhasil melewati lawan dan robot akan kembali bergerak menuju setpoint yang telah ditentukan yaitu gawang lawan. Ketika telah berada pada setpoint
yang diinginkan maka robot akan menentukan untuk menendang bola ke arah gawang, ketika bola berhasil dihalau gawang maka proses akan berulang dari awal submode menyerang
hingga kembali menendang bola ke gawang hingga berhasil mencetak angka. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.8. Subprogram Kirim Perintah ke Robot