Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
STRATEGI PERMAINAN DALAM SISTEM SOCCER ROBOT BERBASIS PADA PENGEMBANGAN METODE VIRTUAL FORCE FIELD Dini Aprilia Puspitasari1, Endah Suryawati Ningrum, S.T.,M.T.2, Rizky Yuniar Hakkun, S.Kom., Setiawardhana, S.T.2 1
Mahasiswa Jurusan Teknik Informatika PENS-ITS Surabaya
[email protected] 2 Dosen Pembimbing Proyek Akhir PENS-ITS Surabaya {endah,rizky,setia}@eepis-its.edu
2. Hanya membuat rule dari permainan soccer robot. 3. Medan lintasan dianggap rata 4. Jumlah robot adalah 3. 5. Visualisasi disajikan dalam animasi 2D. 6. Koneksi untuk pengiriman data menggunakan port serial.
Abstrak Pada proyek akhir ini akan ditentukan metode yang digunakan robot untuk menentukan jalur dan menghindari halangan. Metode yang digunakan adalah berbasis pada pengembangan metode Virtual Force Field. Dari posisi robot yang didapat dari kamera, maka akan dihitung masing-masing resultan terhadap halangan. Selanjutnya robot akan bergerak menuju target yaitu bola. Tetapi apabila terdapat halangan di depannya maka robot akan bergerak menuju arah resultan. Output dikirim ke robot melalui modul serial dan selanjutnya hasil pergerakan robot divisualisasikan dalam program simulasi. Kata kunci : soccer robot, virtual force field, vektor 1.
2.
Tinjauan Pustaka Berbagai penelitian telah dilakukan sejak tahun 1991 dan telah memperoleh banyak hasil yang bervariasi. Salah satunya ialah pada robot CARMEL. Pada penelitian ini, sensor yang digunakan adalah sensor ultrasonic. Robot ini dirancang untuk memiliki beberapa kemampuan untuk memperbaiki keterbatasan dan kelemahan pada metode Potential Field primitif, seperti kemampuan untuk menentukan jalur, menghindari tabrakan, mampu bergerak cepat dan berbasis realtime. Dalam proyek akhir ini, akan digunakan kamera sebagai sensor. Kamera berfungsi untuk mengakuisi data berupa posisi dari obyek-obyek yang terdapat di lapangan sebagi input [3]. Kemudian metode diaplikasikan pada PC, dan hasilnya akan dikirim ke robot melalui modul wireless [3]. Pada proyek akhir ini tidak digunakan grid histogram 2D seperti yang digunakan oleh Koren,Y. dan Borenstein, J [2] tapi perhitungannya berdasarkan vektor dan koordinat Cartesian (x,y) sehingga hasil yang diharapkan lebih detail.
Pendahuluan 1.1 Permasalahan Adapun permasalahan yang akan dibahas adalah sebagai berikut : 1. Parameter-parameter yang digunakan dalam proses penentuan obyek dan target. 2. Parameter-parameter yang digunakan sebagai input pada modul, yang digunakan untuk menentukan jalur dan menghindari tabrakan. 3. Bagaimana mengonversi data-data input berupa posisi robot dan obyek yang lainnya dari kamera ke dalam bentuk variable sehingga bisa diperoleh parameter input dan output. 4. Bagaimana mem-visualisasikan hasil program yang tersusun dalam program simulasi.
3.
Metodologi Pada gambar dibawah ini dapat saya jelaskan bahwa sesuai dengan sub judul dalam tugas akhir ini, maka saya hanya melakukan proses Membaca Input, Robot Motion Planning, Visualisasi dan pengiriman output saja. Sedangkan untuk sub judul yang lain mulai dari Pengenalan obyek, Visual Servoing dan Soccer Robot telah dikerjakan oleh rekan saya.
Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan proyek akhir ini dapat berjalan dengan baik adalah sebagai berikut : 1. Proyek Akhir ini mengasumsi ukuran lapangan yang digunakan adalah 2,2m x 1,8m
1
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
3.2 Motion Planning 3.2.1 Rule Permainan Rule permainan adalah suatu aturan yang harus dijadikan sebagai patokan dari pergerakan robot. Rule ini akan menjadi dasar untuk menentukan strategi permainan. Rule permainan pada system ini adalah : • Robot harus menuju target yaitu bola , dan menghindari robot lawan • Lawan bergerak sehingga system yang digunakan adalah berbasis real time • Robot memiliki range dengan nilai tertentu dengan titik pusat yaitu titik tengah robot. • Terlebih dahulu robot akan menentukan berapa jarak target dan obstacle terhadap dirinya. Jika jarak suatu obyek kurang dari range maka robot harus menghindari obstacle ke arah tertentu. • Dari posisi yang sudah diketahui maka akan dihitung resultan dari vektor robot, lawan dan target. Kemudian akan diketahui arah resultan. • Perhitungan resultan dilakukan secara kontinyu bersamaan dengan posisi robot dan lawan yang bergerak (real time). • Output program dikirim ke robot melalui port serial. • Proses berhenti ketika robot sudah mencapai posisi target.
Pengenalan obyek image Visual Servoing Data dari port serial
Baca Input
nilai Robot Motion Planning
Visualisasi hasil / output
nilai
Output dikirm ke robot gerakan Soccer Robot
Gambar 1. Perancangan system 3.1 Input dari Sensor Setelah sistem melakukan visual servoing dan mengakuisisi data di lapangan, selanjutnya output akan dikirm melalui port serial. Visual servoing merupakan pendeteksian obyek dengan menggunakan kamera. Data yang dikirim berupa data posisi obyek (x,y). Karena system visual servoing dan program simulasi berada dalam PC yang berbeda maka pengirimannya dilakukan melaui port serial. Input tersebut berupa : • posisi robot saat ini • posisi bola / target • posisi robot lawan Setelah input diterima maka selanjutnya program akan melakukan parsing data untuk mendapatkan nilai x dan y. Parsing data dilakukan untuk mendapatkan nilai x dan nilai y. Dalam pengirimannya data dikirim dengan format sebagai berikut : “ax1y1x2y2x3y3” Dengan masing-masing 3 digit untuk nilai x dan y yang dikirim, dengan karakter a sebagai header. Header digunkan untuk menandai bahwa suatu data akan masuk. Jika suatu karakter memiliki header selain a maka data yang masuk setelah karakter tersebut tidak akan disimpan. Jika suatu data memiliki header a maka akan dipastikan bahwa data selanjutnya disimpan dalam suatu array.
3.2.2 Motion Planning Motion Planning meliputi perencanaan jalur dan penghindaran tabrakan. Penentuan jalur digunakan untuk mengetahui posisi robot lain,posisi obyek dan target (dalam hal ini bola dan gawang) serta menentukan jalur yang harus dilalui robot dari posisi awal ke posisi tujuannya yang telah ditentukan dengan kriteria jalur tersebut adalah yang terbaik. Sedangkan penghindaran tabrakan adalah digunakan robot pada saat menemukan posisi obstacle pada jarak tertentu dan kemudian bergerak menghindarinya. Terdapat tiga layer dalam tahap ini yaitu : (1) Formulasi Vektor Formulasi vektor digunakan untuk menghitung besar vektor masingmasing obyek, yaitu robot,obstacle dan target. Langkah-langkah dalam tahap ini adalah :
2
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
Hitung besar vektor masingmasing obyek dari posisi yang telah diketahui (x,y) F x 2 y 2 .............................. (1)
program simulasi yang saya buat, dilakukan perhitungan jarak Euclidian robot terhadap obstacle. Apabila jaraknya kurang dari range (dalam hal ini range ditentukan range=40) maka robot bergerak menghindari obstacle sesuai arah resultan. Dan apabila jarak melebihi range maka robot bergerak menuju target.
Dari posisi yang diketahui, hitung sudut obyek terhadap sumbu x y tan x y a tan x ........................... (2)
3.3 Pengiriman Output Output yang dikirm adalah posisi target dan besarnya sudut hasil resultan. Pengiriman output ini dilakukan dengan menggunakan port serial.
1 , 2 , 3 karena Terdapat terdapat tiga obyek di lapangan yaitu robot, obstacle dan robot. Setelah diketahui sudut masingmasing, maka hitung selisih sudut antara dua vektor tersebut
3.4 Perancangan Program Simulasi Perancangan program simulasi menggunakan JDK (Java Development Kit) 6.6 Netbeans 6.8 dengan library tambahan Java Game Engine GTGE dan paket javax.comm untuk akses ke port serial.
1 2 Untuk 1 2 dan sebaliknya.
Dengan rumus cosines, hitung resultan robot satu dengan obyek lainnya. 2
2
R F1 F2 2F1 F2 cos ( F1 , F2 )
.. (3)
Menentukan arah hasil resultan
sin
F1 * sin(180o ) R ........... (4)
Gambar 2. Netbeans 6.8
(2) Pemetaan Obstacle Pemetaan obstacle dilakukan untuk mendeteksi keberadaan obstacle disekitar robot. Pertama kali dilakukan perhitungan jarak antara robot dengan obstacle menggunakan rumus Euclidian distance. Dalam program simulasi ini telah ditentukan bahwa range bernilai 40. Nilai 40 ini berarti bahwa robot memiliki jangkauan / range sejauh 40 pixel dari titik tengahnya. (3) Obstacle Avoidence layer (Penghindaran Tabrakan) Pada layer ini dilakukan pengecekan posisi robot terhadap obstacle, apakah obstacle berada di dalam range atau diluar range. Jika obstacle berada di dalam range maka robot akan bergerak menghindar dan jika tidak maka robot akan bergerak menuju target. Ketentuan dari penghindaran tabrakan dilakukan dengan perhitungan obstacle dan kemudian di dapatkan arah resultan antara robot dengan obstacle. Dalam
Gambar 3. Class-class yang terdapat pada program simulasi
3
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
1.
Class Simulation.java Class ini merupakan induk dari semua class dan akan dipanggil pertama kali ketika program berjalan. Class ini dibuat dengan meng-extend dari class GameEngine GTGE. Game Engine inilah yang mengatur semua obyek pada program seperti tampilan (grafis), suara, dsb.
2.
Class MenuParent.java Class ini digunakan untuk menginisialisasi nilai-nilai awal variable seperti posisi awal obyek. Juga digunakan untuk membaca input dari port serial. Class SimpleSerialJava Class ini digunakan untuk mengakses port serial. Class inputan.java Class ini digunakan untuk tampilan awal program dan digunakan untuk memanggil fungsi input data. Pada class ini terdapat button yang apabila di klik maka ia akan memanggil class Animation.java. Class Animation.java Class ini digunakan untuk mem-visualisasikan program simulasi yang berisi pergerakan robot di lapangan. Setelah mendapat input awal dari class inputan maka akan dipanggil class ini. Class ini meliputi 3 layer diatas : yaitu rule permainan, pemetaan obstacle dan penghindaran tabrakan. Class Vektor.java Class ini berisi methodmethod yang digunakan untuk perhitungan vector, seperti perhitungan sudut dan perhitungan arah/ sudut hasil resultan. Class ini selalu dipanggil pada saat program mengambil keputusan dalam menentukan hasil resultan.
3. 4.
5.
6.
Gambar 4. 1 Data input berupa data text Masing-masing baris merupakan nilai x dan y untuk masing-masing obyek. Program akan melakukan pembacaan mulai dari baris pertama sampai terakhir kemudian menyimpannya di array. Berikut ini adalah fungsi dari program yang melakukan pembacaan data input text : public void bacaInput() { File f=new File ("F:\\BACKUP TA\\11-72010\\simulation\\src\\input .txt"); FileReader fr; BufferedReader fin; double temp[]=new double[8]; if(f.exists() && f.isFile()) { System.out.println("OK"); } else { System.out.println("File not found"); System.exit(-1); } try { fr = new FileReader(f); fin = new BufferedReader(fr); for(int i=0 ;i
4.
Hasil Percobaan Pengujian perangkat lunak dilakukan dengan 2 cara yaitu Pengujian Tanpa Integrasi dengan Input Serial (hanya program simulasi) dan Pengujian dengan Integrasi dengan input serial. 4.1 Pengujian Tanpa Integrasi dengan input serial (program simulasi) Pengujian tanpa integrasi dengan input serial yang artinya adalah pengujian perangkat lunak yang dilakukan tanpa mengambil input dari port serial. Input diambil dari data text, yang dibaca oleh program. Berkut ini adalah data yang disimpan dalam format .txt :
tampung[i]=temp[i]; //System.out.println("isi array :"+tampung[i]); } catch (IOException ioe) { System.out.println("File gagal dibuka"); } }
4
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
try { fin.close(); } catch(IOException
pos_robot_y = menu.getRoboty(); pos_obs_x = menu.getObsx(); pos_obs_y = menu.getObsy(); pos_bola_x = menu.getTargetx(); pos_bola_y = menu.getTargety();
ioe) { } } catch (IOException ioe) {
// instantiate robot using our predetermined data robot = new Sprite(image1, pos_robot_x, pos_robot_y); obstacle = new Sprite(image2, pos_obs_x, pos_obs_y); target = new Sprite(image3, pos_bola_x, pos_bola_y);
System.out.println("Ada error"); } }
Data disimpan pada variabel array tamping[]. Fungsi ini berada pada class
MenuParent. Kemudian vriabel ini akan di subsitusikan pada variable yang menampung posisi dari masing-masing obyek seperti pada fungsi berikut ini :
}
Permainan Single Player Permainan single player ini terdiri dari 1 robot, 1 lawan dan 1 bola. Pada permainan single player ini robot diberi inisialisasi posisi misalnya (seperti pada input text) : Robot 1 : (50,70) Robot lawan : (100,100) Bola : (200,130) Dari ketiga posisi diatas dapat digambarkan sebagai berikut :
public void setRobot(){ probotx=tampung[0]; proboty=tampung[1]; } public void setObs(){ pobsx=tampung[4]; pobsy=tampung[5]; } public void setTarget(){ pbolax=tampung[6]; pbolay=tampung[7]; } . . . . . .
Kemudian pada class Animation.java pada method initResources(), variablevariabel ini dipanggil. public void initResources(){ super.initResources(); int w = 310; // background width int h = 240; // background height // create the background bg = new ImageBackground(getImage("fi eld.png"), w, h); BufferedImage image1 = getImage("robot1.png"); BufferedImage image2 = getImage("obstacle.png"); BufferedImage image3 = getImage("bola.png");
Gambar 4. 2 Posisi awal robot, lawan dan bola Kotak berwarna hitam merupakan range / jangkauan dari pemetaan obstacle yang disebut dengan active window. Range ini dihitung dari : double range = pos_robot_x + 100;
Active window ini akan bergerak terus mengikuti pergerakan robot secara invisible (tidak tampak pada layar). Jika target / bola berada dalam active window ini maka program akan melakukan perhitungan resultan antara robot lawan dengan bola. Dan
timer = new Timer(100); movetimer = new Timer(500); pos_robot_x = menu.getRobotx();
5
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
jika target/bola berada di luar active window maka program akan menghitung resultan antara dinding dengan robot lawan. Pada saat bergerak, program akan melakukan perhitungan : Menghitung besar vector antara robot dengan lawan Dengan menggunakan rumus phytagoras, maka kita bisa mendapatkan besarya vektor perpindahan antara robot dengan lawan. Karena robot sebagai titik pusat (0,0) maka bisa didapatkan :
Fr
}
Parameter untuk fungsi diatas adalah : x1 untuk posisi x robot y1 untuk posisi y robot x2 untuk posisi x lawan y2 untuk posisi y lawan Dan berikut ini adalah emanggilan fungsi getSudut() pada class Animation.java : //sudut lawan a2=vektor.getSudut(pos_robot_x, pos_robot_y, pos_obs_x, pos_obs_y);
x2 x1 2 y2 y1 2
Dengan x2 = posisi x halangan, x1 = posisi x robot, y2 = posisi y halangan dan y1 posisi y robot. Sehingga dari posisi diata bisa didapatkan :
Fr
a2=vektor.setToAngle(a2);
Dengan menggunakan rumus diatas maka sudut antara robot dengan lawan adalah :
100 502 100 702
y x pos _ obs _ y pos _ robot _ y pos _ obs _ x pos _ robot _ x 100 70 100 50 30 50 0,6 a tan 0,6 21.801409486351815 21.8 tan
50 2 30 2 2500 900 3400 58,3095 Menghitung besar vektor antara robot dengan target Dengan menggunakan rumus yang sama maka bisa didapatkan :
Ft
200 502 130 702
150 2 60 2 22500 3600 26100 161,5549
Menghitung besar sudut antara robot dengan target. Untuk menghitung besarnya sudut antara robot dengan target menggunakan cara yang sama seperti diatas. Hanya saja untuk x2 dan y2 masing –masing adalah posisi x target dan posisi y target.
Menghitung besar sudut antara robot dengan lawan Besar sudut lawan dari robot adalah didapatkan dari :
tan
return sudut_lawan;
y x
a1=vektor.getSudut(pos_robot_x, pos_robot_y, pos_bola_x, pos_bola_y); a1=vektor.setToAngle(a1);
Dengan y merupakan (posisi y lawan – posisi y robot) dan x merupakan (posisi x lawan – posisi x robot). Berikut ini adalah fungsi untuk menghitung besarnya sudut pada class Vektor.java :
Dengan menggunakan rumus diatas maka sudut antara robot dengan target adalah :
public double getSudut(double x1, double y1,double x2,double y2) { //menggunakan rumus segitiga double a= x2-x1; double b= y2-y1; sudut_lawan=Math.atan(b/a);
6
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
-
R1 untuk nilai dari vector terhadap target, - Theta untuk besarnya sudut dua vector, - R untuk nilai vector resultan. Dan berikut ini adalah pemanggilan pada class Animation.java , menghitung sudut resultan antara target dan lawan :
y x pos _ bola _ y pos _ robot _ y pos _ bola _ x pos _ robot _ x 130 70 200 50 60 150 0,4 a tan 0,4 30.963756532073525 30.964 tan
R Sin = 161,5549 * sin(180-52,764) 202,24 = 161,5549*sin(127,236) 202,24 = 161,5549*0,79 202,24
R F1 F2 2 F1 F2 cos 2
Dengan menggunakan rumus diatas dengan F1=58,3095 dan F2 = 161,5549 dan =52,764 maka :
= 128,622 202,24 = 0,6359
R F1 F2 2 F1 F2 cos
2
58,3095 161,5549 2
2
fungsi untuk robot,
Dengan menggunakan rumus diatas maka besar sudut resultan adalah : Sin = F1 * sin(180o - )
Menghitung besar dan arah resultan Untuk menghitung besarnya resultan dapat digunakan rumus :
2
antara
t2=vektor.getResultanAngle(Res1,t1, Res);
Sehingga besarnya sudut yang diapit oleh robot, lawan dan target adalah : 21,8+30,964 = 52,764
2
robot
Maka = sin-1 (0,6359) = 39,494o
2 58,3095 161,5549 cos 52,764
3400 26100 11400,2
4.2 Pengujian yang dilakukan integrasi dengan input serial Percobaan I :
40900,3 202,24
Untuk menghitung besarnya sudut hasil resultan digunakan rumus berikut : Sin = F1 * sin(180o - ) R
dengan
Sebelum melakukan pengujian terhadap perangkat lunak, mengui koneksi antar 2 PC menggunakan hyperterminal. Misalnya kita buat koneksi di port COM1.
Dengan merupakan sudut apit antara robot, lawan dan target. Berikut ini adalah fungsi untuk menghitung besarnya sudut resultan : public double getResultanAngle(double r1,double theta,double R){ temp=180-theta; temp=setRadian(temp); alpha=(r1*Math.sin(temp))/R; alpha=Math.asin(alpha); alpha=setToAngle(alpha); return alpha; }
Gambar 4. Pengiriman data dari COM1 ke COM2
Parameter untuk fungsi diatas adalah :
7
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
Dari port serial diperoleh data input sebagai berikut : Robot : (108, 134) Robot lawan : (167, 104) Target : (274, 88)
Gambar 7. Robot menabrak halangan karena posisi tidak di-update Pada gambar diatas terlihat bahwa robot menabrak halangan. Karena posisi marker tidak di update sehingga data yang digunakan adalah data posisi awal dan hal tersebut menyebabkan robot menabrak halangan. Gambar 5. Tampilan program saat diintegrasikan
Percobaan II : Percobaan ini sama dengan percobaan I tetapi robot digerakkan dengan manual.
Setelah input dari port serial masuk maka robot , target dan lawan akan diposisikan pada posisi awal yang didapat dari input serial.
Gambar 8. Tampilan program saat diintegrasikan, robot berhasil menghindari halangan Gambar 6. Tampilan program saat diintegrasikan, robot bergerak
Pada percobaan kedua ini posisi robot, halangan dan target di-update secara manual. Secara manual yang dimaksud disini adalah marker digerakkan secara manual sebagai robot.
Robot mulai bergerak menuju target. Pada percobaan ini tidak menggunakan robot sebenarnya tetapi menggunakan marker yang diposisikan sebagai robot, target dan halangan. Robot digerakkan secara manual menggunakan tangan. Kemudian dengan menggunakan program simulasi ini bisa dilihat gerakan yang dihasilkan oleh metode VFF yang membuat robot dapat menghindari halangan. Dan berikut ini adalah hasilnya :
Gambar 9. Robot menuju target
8
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
4. Pada perkembangan selanjutnya diharapkan aplikasi ini mampu menghindari halangan dengan bentuk yang lebih kompleks seperti dinding penghalang. Daftar Pustaka [1] http://www.robotstorehk.com/soccer/soccer.h tml (diakses 4 September 2009) [2] Supriadi, Ahmad. Perencanaan Jalur dan Penghindaran Tabarakan pada Robot POEMAV. Departemen Teknik Elektro, Institut Teknologi Bandung. Desember 2005. url : http://s.itb.ac.id/%7Enarpen/kuliah/ta1/conto h%20makalah%20TA%201/Paper%20Semin ar%20ahmad.doc (diakses 22 Nopember 2009) [3] Koren,Y. Senior Member, IEEE and Borenstein, J., Member, IEEE The University of Michigan, Ann Arbor. Potential Field Methods and Their Inherent Limitations for Mobile Robot Navigation. IEEE Conference on Robotics and Automation, Sacramento California, pp 1398-1404. April 1991. Url : http://wwwpersonal.umich.edu/~johannb/Papers/paper27 .pdf .(diakses : 8 September 2009). [4] Latombe, Jean-Claude. Robot Motion Planning. Kluwer Academic Publishers. Massachusetts. 1991. [5] Bastan, Muhammet. Visual Servoing of Mobile Rrobots Using Potential Fields.2004. (diakses : 15 Oktober 2009). [6] Prahlad Vadakkepat, Tong Heng Lee and Liu Xin. Application of Evolutionary Artificial Potential Field in Robot Soccer System. National University of Singapore, Singapore. 2001. url : http://www.ece.nus.edu.sg/stfpage/elepv/publ ication/APF_RSS.PDF.(diakses 8 September 2009). [7] J.C. Wolf , P. Robinson, J.M. Davies. Vector Field Path Planning and Control of An Autonomous Robot In a Dynamic Environment. url : http://www.swrtec.de/swrtec/research/publica tions/VECTOR_FIELD_PATH_PLANNING _AND_CONTROL_OF_AN_AUTONOMO US_ROBOT_IN_A_DYNAMIC_ENVIRON MENT.pdf (diakses 12 Desember 2009) [8] J. Borenstein, Y. Koren. The Vector Field Histogram - Fast Obstacle Avoidance for Mobile Robots. IEEE Journal of Robotics and Automation Vol 7, No 3, , pp. 278-288. June 1991. url :
Gambar 10. Robot berhasil mencapai target 5.
Kesimpulan 1. Semakin dekat jarak robot terhadap halangan maka daya tolak virtual robot terhadap halangan semakin besar dansebaliknya. 2. Aplikasi ini mampu bekerja secara real time karena mampu melakukan update posisi meskpun eksepkusi pergerakan sebelumnya belum selesai dikerjakan. 3. Aplikasi ini dapat dikembangkan sesuai kebutuhan misalnya dapat dikembangkan pada permainan dengan mode single player ataupun multiplayer. 4. Aplikasi ini mampu melakukan parsing data dengan cepat dan tepat sehingga ada jaminan bahwa data input yang diterima adalah data valid. 5. Metode VFF terbukti memiliki performa lebih baik dibandingkan metode konvensional karena mampu bekerja secara real time. 6. Kelemahan system ini adalah apabila obstacle / halangan berbentuk kompleks seperti halangan berupa dinding penghalang.
Saran untuk Penelitian berikutnya : 1. Gerakan robot pada aplikasi ini masih terlihat kaku sehingga perlu adanya perbaikan untuk tampilan / visualisasinya. 2. Pada perkembangan selanjutnya, diharapkan aplikasi yang dibuat memiliki fasilitas untuk sinkronisasi kecepatan data antara penerima dan pengirim data. Karena jika data dikirim terlambat akan mempengaruhi pengambilan keputusan dalam pergerakan robot. 3. Pada perkembangan selanjutnya diharapkan program ini di aplikasikan pada robot sebenarnya sehingga tidak perlu lagi memakai marker.
9
Strategi Permainan Dalam Sistem Soccer Robot Berbasis Pada Pengembangan Metode Virtual Force Field
[9] [10] [11] [12] [13] [14] [15]
http://eprints.kfupm.edu.sa/71681/1/71681.pd f (diakses 12 Desember 2009) http://wssid.org/blogs/nikita_manezz_sby/archive/2007 /09/24/robot-sepak-bola.aspx http://www.gurumuda.com/fisikasma/Penjumlahan%20vektor.pdf www.tofi.or.id/download_file/Kul_1_VEKT OR.ppt http://id.wikipedia.org/wiki/Vektor_(spasial) http://www.goldenstudios.or.id/products/GT GE/index.php http://dhimaskasep.files.wordpress.com/2008/ 02/osp06-komunikasi-data-pada-sistemmanufaktur.pdf http://p_musa.staff.gunadarma.ac.id/Downloa ds/files/5117/lecKK-012325-5-1.pdf
10