• Tidak ada hasil yang ditemukan

SIMULASI PERGERAKAN AGEN BERBASIS BOID DENGAN OPTIMASI NEIGHBORHOOD AVOIDANCE

N/A
N/A
Protected

Academic year: 2021

Membagikan "SIMULASI PERGERAKAN AGEN BERBASIS BOID DENGAN OPTIMASI NEIGHBORHOOD AVOIDANCE"

Copied!
8
0
0

Teks penuh

(1)

SIMULASI PERGERAKAN AGEN BERBASIS BOID

DENGAN OPTIMASI NEIGHBORHOOD AVOIDANCE

Mohamad Anwar Syaefudin1, Mochamad Hariadi, ST, M.Sc, Ph.D2, Supeno Mardi S N, ST, MT2 1Mahasiswa Jurusan Teknik Elektro, ITS Surabaya

2Dosen Pembimbing Jurusan Teknik Elektro, ITS Surabaya

25 Januari 2012

Abstrak  Boid yang memiliki tiga perilaku dasar dan masing-masing perilaku tersebut memiliki tiga parame-ter, mendasari percobaan dengan memvariasikannya un-tuk mengoptimalkan penghindaran antar agen (neighbor-hood avoidance). Pengoptimalan yang dilakukan dengan mengubah sudut, gaya dan jangkaun. Dasar dari metode percobaan yang dilakukan terdiri dari gabungan algorit-ma berkelompok (ocking algorithm) yang terdiri perilaku memisahkan diri dengan agen lain (separation), perilaku daya tarik antar agen (cohesion) dan perilaku menseja-jarkan dengan agen lain (alignment).

Simulasi boid dengan perilaku mengikuti pemimpin dan perilaku menghindari penghalang juga ditambahkan un-tuk memperoleh nilai parameter terbaik dari ketiga pa-rameter tersebut dalam proses pergerakaanya di ruangan sempit. Melalui simulasi percobaan dihasilkan bahwa ni-lai parameter sudut terbaik untuk neighborhood avoidance yaitu 0 derajat, untuk gaya yaitu terkecil diantara nilai percobaan, untuk jangkauan yaitu memiliki nilai terbesar diantara nilai percobaan. Nilai sudut 90 derajat meng-hasilkan banyak agen yang tertinggal yaitu maksimal 3 agen dari 70 agen. Agen yang tertinggal tersebut disebabkan karena agen tersebut diluar jangkauan dari pemimpin dan diluar jangkauan dengan agen terdekatnya.

Kata Kunci : Boid, Flocking, Steering Behavior, Autonomous Character

1 PENDAHULUAN

Boid merupakan sebuah program untuk mensimulasikan suatu kelompok agen, dimana sering dilihat pada peri-laku dari sekelompok burung atau sekelompok ikan dalam melakukan aktivitasnya. Seperti halnya program simu-lasi dari suatu kelompok agen, maka masing-masing agen berbasis boid memiliki perilaku berbeda-beda yang muncul karena adanya reaksi buatan. Pergerakan agen berbasis boid dapat digambarkan dari pergerakan sekelompok agen dimana dalam pergerakan tersebut terjadi pemisahan be-berapa agen kemudian berkumpul lagi. Pergerakan terse-but dapat diilustrasikan dari suatu pergerakan kelompok manusia dalam keadaan darurat dari suatu kejadian (chaot-ic).

Pergerakan agen yang tidak teratur mendasari simulasi percobaan dengan memberikan variasi sudut, gaya dan jangkauan dari parameter boid untuk memperoleh pen-goptimalan proses menghindar antar agen (neighborhood avoidance) saat agen berada di ruangan sempit dengan keadaan saling berpapasan. Masing-masing agen dalam

al-goritma boid memiliki karakter yang berdiri sendiri (Au-tonomous characters). Karakter dari masing-masing agen merupakan jenis dari Autonomous Agent yang sering digu-nakan dalam industri animasi dan media interaktif seperti teknologi permainan (games) dan lm. Agen disini merep-resentasikan sebuah karakter dari sebuah cerita atau games yang memiliki kemampuan berimprovisasi dari aksi yang dilakukan. Dalam teknologi permainan Autonomous Char-acter biasanya disebut non-player charChar-acters.

2 DASAR TEORI

Dalam perkembangannya, Craig Reynold menemukan pergerakan menggunakansteering behaviour yang lebih banyak diapilkasikan dalam teknologi permainan, sim-ulasi dan industri lm saat ini. Steering Behavior, meru-pakan suatu kumpulan perilaku dari suatu unit untuk menghasilkan suatu steering force yang akan mempen-garuhi gerakan dan arah unit tersebut. Dalam suatu

steering behaviordibutuhkan suatuvehicle modeldan ju-ga titik koordinat yang akan dituju serta arah atau

heading saat itu. Beberapa Steering Behaviour dije-laskan melalui sub seksi dibawah ini.

2.1 Perilaku Mencari dan Menjauhi

Target (Seek and Flee)

Seek merupakan sebuah aksi dari agen untuk bergerak menuju posisi tertentu yang telah ditetapkan. Sedan-gkanFleemerupakan sebuah aksi dari agen untuk berg-erak menjauhi posisi yang telah ditetapkan. Dua per-ilaku ini merupakan perper-ilaku paling dasar dari sebuah

steering behavior.

2.2 Perilaku Mengejar dan

Menghin-dari Target Bergerak (Pursuit and

Evade)

Pursuit merupakan pengembangan dari seek, namun posisi yang dituju merupakan titik koordinat hasil prediksi dimana agen dan target akan bertemu di wak-tu yang akan datang. Sedangkan Evade merupakan pengembangan dari ee, namun agen bergerak men-jauhi titik koordinat hasil prediksi seperti padapursuit.

(2)

2.3 Perilaku Menghindari Penghalang

(Obstacle Avoidance)

Obstacle Avoidance merupakan kemampuan agen un-tuk bermanuver dalam suatu lingkungan yang tidak teratur dalam menghindari segala halangan dalam lingkungannya tersebut. Implementasi dari obstacle avoidance secara sederhana adalah terdapat dua je-nis penghalang yaitu penghalang pasif (obstacle) dan penghalang aktif (agent lain). Obstacle avoidance disi-ni tidak ada hubungannya dengan pendeteksian colli-sion. Contohobstacle avoidance adalah sebuah pesawat dalam melakukan proses penghindaran gunung saat melayang.

2.4 Perilaku

Berkelompok

dan

Kawanan

(Flocking

Algorithm

and Boid)

Flocking merupakan perilaku yang bersifat kolektif dalam tiap agen dalam suatu kelompok agen, dalam al-goritma berkelompok, tidak ada pemimpin dari kelom-pok agen dan pergerakan bersifat random. Flocking

muncul secara tiba-tiba dari interaksi lokal diseki-tarnya. Algoritmaockingmemiliki interaksi langsung terhadap agen disebelahnya(ock mates)dalam radius kecil. Dasar dari Algoritma ocking terdiri dari tiga

steering behavoiur, yaitu : 1. Separation

Separation yaitu kemampuan dari tiap-tiap agen untuk mempertahankan jarak antara agen satu dengan agen yang lain dalam radius yang dekat disekitar agen terse-but. Hal ini untuk mencegah banyak agen dari kondisi kepadatan secara bersamaan. Beberapa agen yang sal-ing berdekatan dalam radius tertentu akan mendapat pengaruh gaya tolak dari tiap-tiap agen tersebut. 2. Cohesion

Cohesion merupakan steering behaviour yang mem-berikan kemampuan daya tarik menarik antar agen di tiap-tiap grup agen yang saling berdekatan. Seperti halnya separation, cohesion juga bersifat lokal dalam grup agen yang berdekatan. Hal yang pertama di-lakukan adalah mencari agen yang berada di sebelah-nya kemudian menentukan rata-rata posisi dari grup agen untuk memperoleh pusat gravitasi dari beberapa group agen tersebut. Rata-rata posisi dari grup agen diperoleh dengan menjumlahkan masing-masing posisi dari agen dan membaginya dalam jumlah agen dari su-atu grup.

3. Alignment

Alignment merupakan kemampuan dari agen untuk mensejajarkan dirinya dengan agen disekitarnya. Ke-sejajaran ini dalam hal arah dan kecepatan dengan agen disekitarnya. Alignment dapat diperoleh den-gan mencari agen di sekitarnya atauneighborhood yang diperoleh suatu grup agen, kemudian kecepatan dari grup agen tersebut dirata-rata. Rata-rata ini kemudi-an menjadi kecepatkemudi-an ykemudi-ang diinginkkemudi-an dari grup agen dalam pergerakannya. Alignmentmemiliki kecenderun-gan bahwa agen yang menjadi pusat kesejajaran untuk merotasi dirinya sehingga diperoleh kesejajaran posisi.

2.5 Perilaku

Mengikuti

Pemimpin

(Leader Following)

Leader Following merupakan algoritma dimana satu atau lebih agen bergerak mengikuti pemimpin. Bi-asanya banyak banyak agen pengikut yang ingin be-rada di dekat pemimpinnya, tanpa menimbulkan kepa-datan di sekitar pemimpin. Sebagai tambahan , jika lebih dari satu agen pengikutnya, maka pencegahan tabrakan dari banyak agen satu dengan agen yang lain dilakukan. Untuk mengimplementasikan darileader fol-lowingdipengaruhi oleharrival behavior, yaitu keinginan untuk bergerak ke sebuah titik dengan perlahan. Tar-getarrivalmerupakan sebuah titik oset yang berjarak dekat dibelakang leader. Jarak oset ini dihasilkan dari peningkatan kecepatan. Jika sebuah pengikut mene-mukan pemimpin dalam radius tertentu dengan posisi pengikut berada di depan pemimpin, maka pengikut akan menjauhi jalur yang dilewati pemimpin sebelum proses arrival behavior dari pengikut terjadi atau bisa disebut pengikut menggunakan separation behavior untuk mencegah kepadatan dengan pengikut yang lain. Implementasi dari leader following dapat dilihat pada Gambar 1. Leader Following dari Boid.

Gambar 1. Leader Following dariBoid.

2.6 UnitySteer

UnitySteer merupakan library dalam bentuk script C#

untuk membentuk steering behavior dari autonomous character dalam permainan dan animasi. Pengguna dapat dengan cepat untuk merepresentasikan bentuk dasar dan visualisasisteering behaviormelaluilibraryini.

UnitySteer merupakan sebuah perangkat dari steering behavior, yang didenisikan dalam bentuk sebuah vehi-cle atau perilaku kemudi. UnitySteer menyediakan ter-masuk didalamnya implementasi perilaku kemudi se-cara sederhana dan kombinasi dari beberapa perilaku untuk menghasilkan perilaku yang komplek. UnitySteer

didesain agar secara eksibel dapat terintegrasi dengan

Unity3D game engine. UnitySteermengijinkan pengguna secara interaktif menambah aspek dari simulasi. Uni-tySteer didistribusikan sebagai perangkat lunak secara

opensource yang dikembangkan olehRicardo J Mendes.

3 DESAIN DAN

IMPLEMEN-TASI

Lingkungan dalam simulasi ini merupakan hal pertama yang dilihat oleh agen, karena dalam lingkungan ini

(3)

terdapat banyak objek yang berfungsi sebagai halan-gan(obstacle). Konsep agen dalam simulasi ini menggu-nakanlocomotion yang dikembangkan olehRune Skovbo Johansen. Beberapalocomotiondalam agen dalam sim-ulasi ini terdiri dari limacontroller yaitu:

1. Pengontrol Gerak Bagian Kaki (Leg Controller)

Dalam proses pergerakannya leg controller meliputi daerah pinggang hingga telapak kaki. Bagian telapak kaki dibagi menjadi beberapa daerah lagi yaitu ankle dan sendi jari kaki. Leg Controller dalam agen simulasi ini dapat dilihat pada Gambar 2. Leg Controller pada agenHuman.

Gambar 2. Leg Controller pada agen Human

2. Pengontrol Karakter (Character Controller)

Character Controller merupakan denisi agen dalam bentuk sik. Character Controller dalam simulasi ini terdiri dari beberapa bagian yang merupakan sik seperti halnya manusia umumnya yang berfungsi agar agen dapat mendeteksi tabrakan(collision)antara agen satu dengan agen yang lain dan agen dengan pengha-lang(obstacle). Character controllerdalam simulasi mul-ti agen ini terdiri dari mul-tiga bagian yaituHeight,Radius

danSlope Limit. Height berfungsi sebagai deteksi colli-sion dalam ranah y, Radius berfungsi sebagai deteksi

collisiondalam ranahxdanzdanSlope limitmerupakan batas sudut kemiringan agen dalam proses diam atau bergerak.

3. Pengontrol Saat Proses Pergerakan (Platform Character Controller)

Platform Character Controllerdalam agen ini merupakan

locomotion yang sudah dalam proses pergerakan. Pa-rameter dalamplatform character controller terdiri dari

walk multipleryang berfungsi menaikkan kecepatan kaki dalam bergerak, sehingga dalam proses pergerakanya menjadi lebih cepat. Dalam melakukan pergerakannya agen dalam simulasi ini masih dalam ranah dua dimen-si yaitux danz.

4. Pengontrol Saat Proses Merotasi (Aim Look Character Controller)

Seperti halnyaPlatform Character Controller, Aim Look Character Controller sama dalam hal locomotion saat agen bergerak. Locomotion ini berfungsi untuk melakukan proses rotasi untuk kemudian didapat arah agen dalam bergerak sesuai target yang diberikan. 5. Pengontrol Gerak Kepala (Head Look Controller) Head Look Contoller merupakanlocomotionyang terjadi di daerah leher dan kepala. Locomotion ini mengadopsi gerakan leher, kepala dan badan dari manusia dalam melihat suatu objek disekitarnya. Proses agen dalam melihat objek terjadi dalam ranahx,ydanzdan proses rotasipun juga terjadi disini. Sehingga didapat locomo-tion yang lebih nyata didaerah leher agen. Head Look

Controlerdapat dilihat pada Gambar 3. Head Look Con-troller pada agenHuman.

Gambar 3. Head Look Controller pada agenHuman.

3.1 Konsep Perilaku Pergerakan Agen

Periaku pergerakan agen yang melibatkan banyak agen dan banyak objek sebagai penghalang yang merupakan pergerakan yang dinamis. Pergerakan dinamis yaitu proses pergerakan dalam menghindari agen lain saat agen lain tersebut bergerak. Proses bergeraknya agen ini membutuhkan proses navigasi yang mirip dengan proses navigasi pesawat terbang saat terbang. Na-mun perbedaanya untuk pesawat terbang terjadi di ranah x, y dan z. Sedangkan dalam simulasi multia-gent dan multiobject disini terjadi pada ranah x dan z

atau dua dimensi. Perilaku navigasi atausteering behav-ior yang utama dan harus dimiliki oleh masing-masing agen yaitu radar yang diaplikasikan melalui beberapa

script yaituUnitSteer.

3.1.1 Konsep Radar pada Agen

Agen dalam proses pergerakannya membutuhkan radar. Seperi halnya sebuah radar sebenarnya, prinsip radar dalam navigasi agen pun sama fungsinya. Prin-sip kerja radar disini yaitu melakukan deteksi dalam ra-dius yang sudah ditentukan kemudian dapat diketahui apa saja yang berada didepannya. Hal ini berfungsi untuk menghindari tabrakan antar agen dengan agen dan agen dengan objek penghalang.

3.1.2 Navigasi untuk Penghindaran Halangan (Steer for Obstacle Avoidance)

Proses navigasi penghindaran halangan dalam simu-lasi ini merupakan proses penghindaran berupa halan-gan tidak bergerak(stationary obstacle)yang mempun-yai informasi berupa sphere collider atau penghalang yang berbentuk bola yang diaplikasikan dalam halan-gan tak bergerak tersebut. Navigasi ini memiliki pen-garuh terhadap kecepatan gerak agen saat melewati ha-langan. Navigasi ini juga mirip dengan navigasi mobil dimana saat tidak ada mobil di depannya dalam jarak yang jauh maka kecepatan mobil cenderung bertam-bah, sedangkan jika ada halangan didepannya dalam jarak tertentu maka mobil ini cenderung mengurangi kecepatannya untuk menghindari tabrakan dengan ob-jek lain.

(4)

3.1.3 Navigasi Mencapai Target (Steer for Target)

Navigasi mencapai target adalah suatu perilaku nav-igasi agen dalam mencapai target yang sudah diten-tukan dengan proses transformasi. Selain faktor ke-cepatan dalam mencapai target, penghitungan keku-atan agen juga penting agar agen dapat berhenti tepat pada target yang ditentukan. Navigasi ini memiliki dua variabel penting yang harus dimiliki oleh agen. Variabel tersebut antara lain gaya dan target. Target adalah variabel yang berisi tujuan agen dalam menca-pai target. Target dalam simulasi disini berupa titik posisi secara dua dimensi yaitu x dan z. Sedangkan gaya disini mempengaruhi agen dalam menuju ke tar-get, bisa lebih cepat dan bisa lebih lambat tergantung objek disekitarnya.

3.2 Flocking (Steer for Separation,

Co-hesion and Alignment)

Navigasi ini betujuan mempertahankan pemisahan, daya tarik, dan kesejajaran jarak antar agen dan dida-pat suatu kondisi agen bergerak tanpa tabrakan den-gan agen yang lain(neighborhood). Agen secara otoma-tis mencari pasangannya dalam radius tertentu (ock-mates). Pergerakan antar agen dalam ocking secara dua dimensi ,mirip dengan pergerakan banyak manu-sia dalam keadaan normal. Navigasi ocking dengan agen lain dalam simulasi ini juga memiliki beberapa parameter seperti terlihat pada Tabel 1. Parameter dan nilaidari Flocking.

Tabel 1. Parameter dan nilai dariFlocking

Nama Parameter Nilai

Angle 45

Weight 5

Min Radius 0.5

Max Radius 1

Angle Cos 0.7

Layers Checked Nothing, Neighborhood

Keterangan dari Tabel 3.3 Parameter dan nilai dariFlocking antara lain:

1. Angleatau sudut adalah faktor penting dalam nav-igasi ini, karena bertujuan memberikan keteratu-ran dalam hal sudut saat bergerak ataupun diam. 2. Weight dalam hal ini merupakan gaya tolak , gaya tarik, dan gaya kesejajaran dari masing-masing agen, sehingga diperoleh antar agen saling ter-pisah dan bergerak bersama-sama.

3. Min Radius dalam navigasi ini memberikan radius minimal dalam pemisahan antar agen. Sehingga diperoleh suatu jarak yang aman saat antar agen berdekatan tanpa terjadi tabrakan.

4. Max Radiusdalam navigasi ini memberikan radius maksimal dalam pemisahan, daya tarik dan ke-sejajaran antar agen. Sehingga antar agen satu dengan agen yang lain terpisah sesuai jarak mak-simal yang ditentukan, agar memperoleh batas jarak pemisahan secara wajar.

5. Angle Cosmerupakan nilaicosinus dariAngle, yang berubah sesuai nilai dariAngle.

6. Layers Checked dalam navigasi meupakan variabel yang memberikan informasi kepada agen, agar agen tersebut dapat melakukan proses pemisahan antar agen atau denganneighborhood-nya.

3.3 Leader Following

Leader Followingmerupakan perilaku banyak agen yang mengikuti pemimpin, dalam simulasi ini akan meng-gabungkan dari unsur Flocking (cohesion, separation, alignment)danpursuit behavior. Pursuitmerupakan per-ilaku mencari agen yang bergerak yang dijadikan tar-get. PerilakuPursuit dalamUnitySteermemiliki beber-apa parameter dan nilai yang bisa dilihat pada Tabel 2 Parameter dan nilaiSteer for Pursuit.

Tabel 2. Parameter dan nilaiSteer for Pursuit. Nama Parameter Nilai

Weight 5

Quarry HumanLeader

Max Prediction Time 5

Keterangan dari Tabel 3.6 Parameter dan nilai Steer for Pursuit antara lain:

1. Gaya (Weight) dalam Steer for Pursuit merupakan gaya berat untuk melakukan pursuit sehingga diperoleh kecepatan agen saat melakukanpursuit.

2. Target Pencarian (Quarry) dalam Steer for Pursuit

merupakan variabel untuk menentukan agen yang akan dijadikan pemimpin. Simulasi ini menggu-nakanHumanLeader sebagai agen pemimpin.

3. Waktu Prediksi Maksimal (Max Prediction Time)

dalam Steer for Pursuit merupakan variabel wak-tu virwak-tual unwak-tuk mencari pemimpin. Semakin be-sarMax Prediction Time maka agen pengikut akan semakin cepat mencari agen pemimpin.

4 SIMULASI DAN

PEMBA-HASAN

4.1 Algoritma Penghindaran

Pengha-lang

Algoritma Pendeteksian Penghalang merupakan uru-tan langkah-langkah agen saat sebelum, proses dan sesudah menghindari penghalang. Hal ini bertujuan untuk memperoleh keteraturan kecepatan saat agen akan menghindar. Urutan proses penghindaran peng-halang dapat diliharpada Gambar 4. Diagram Alir Al-goritma Penghindaran Penghalang.

(5)

Gambar 4. Diagram Alir Algoritma Penghindaran Penghalang.

4.2 Algoritma Mengikuti Pemimpin

Algoritma mengikuti pemimpin merupakan urutan dari agen saat sebelum atau sedang mencari dilan-jutkan saat pengikut sudah bertemu pemimpin. Hal ini bertujuan memberikan esiensi pencarian agen pemimpin oleh agen pengikut. Urutan dari proses mengikuti pemimpin dapat dilihat dalam Gambar 5. Diagram Alir Mengikuti Pemimpin.

Gambar 5. Diagram Alir Mengikuti Pemimpin.

4.3 Simulasi

Boid

Mengikuti

Pemimpin dalam Ruangan

den-gan Satu Pintu Keluar

Simulasi Boid mengikuti pemimpin dalam ruangan dengan satu pintu keluar bertujuan untuk mengetahui

perilaku pergerakan multiagent seperti terdapat dalam simulasi kepadatan. Simulasi ini menggunakan 120 agen yang terdiri dari satu agen pemimpin dan sisanya agen pengikut. Agen Pengikut diberi perilaku antara lain : Steer for Pursuit, Steer for Separation, Steer for Cohesion, Steer for Alignment, Steer for Obstacle Avoidance, Radar Pingdan Autonomous Vehicle. Agen Pemimpin diberi perilaku antara lain: Autonomous Ve-hicle, Steer forObstacle Avoidance dan Radar Ping. Awal dari pergerakan menghasilan sudut posisi dari agen mengikuti posisi agen pemimpin. Agen pengikut yang berada tepat disamping kanan dan kiri agen pemimpin, memiliki perilaku sejajar dalam hal sudut dan kecepatan saat awal pergerakan. Simulasi ini da-pat dilihat pada Gambar 6. Simulasi Boid Mengikuti Pemimpin dalam Ruangan dengan Satu Pintu Keluar.

Gambar 6. SimulasiBoid Mengikuti Pemimpin dalam Ruangan dengan Satu Pintu Keluar

Simulasi yang terjadi setelah beberapa detik menghasilkan perilaku neighborhood avoidance dengan kondisi saling berdesak-desakan. Waktu dari agen pengikut saat keluar dipengaruhi oleh faktor kepa-datan dari suatu ruangan tersebut. Semakin banyak agen yang terdapat dalam ruangan tersebut maka se-makin padat. Sehingga waktu dari agen untuk keluar dari pintu keluar semakin lama. Hal ini sebagaimana terlihat dalam kehidupan nyata.

4.4 Simulasi

Boid

Mengikuti

Pemimpin dalam Ruangan

den-gan Dua Pintu Keluar

Simulasi boid selanjutnya yaitu simulasi dengan dua grup agen dengan dua pemimpin dan pintu kelu-ar. Hal ini dimaksudkan untuk mengetahui perilaku agen pengikut saat keluar mengikuti masing-masing pemimpinnya. Perilaku agen pemimpin dan pengikut yang diberikan seperti pada simulasi boid mengikuti pemimpin dengan satu pintu keluar. Saat awal dari simulasi didapat pola sudut masing-masing grup agen yang mengikuti pemimpinnya. Hal tersebut seper-ti terlihat pada Gambar 7. Pola Awal dari Simulasi Mengikuti Pemimpin dengan Dua Pintu Keluar.

(6)

Gambar 7. Pola Simulasi Mengikutu Pemimpin dengan Dua Pintu Keluar setelah Beberapa Saat.

Setelah beberapa saat simulasi maka didapatkan terjadi kepadatan pada kedua pintu keluar. Perilaku Neighborhood Avoidance terjadi pada simulasi ini di-tandai dengan dua agen yang menyeberang ke pintu sebelahnya atau pintu yang seharusnya tidak dilewati oleh agen tersebut.

4.5 Simulasi Boid dengan Waypoint

Simulasi boid dengan waypoint adalah simulasi perg-erakan agen berbasis boid dengan jalur yang sudah ditetapkan berupa titik-titik, yang berada di lingkun-gan simulasi kemudian dihubungkan antara titik satu dengan titik yang lain sehingga terbentuk garis dan akhirnya terbentuk jalur (path). Grup agen dengan perilaku boid disimulasikan untuk mengikuti jalur yang diinginkan. Simulasi ini menggunakan 40 agen untuk mengetahui perilaku pergerakan grup agen dan formasi saat mengikuti jalur, dengan kondisi sudut jalur yang bervariasi. Formasi agen saat menuju waypoint perta-ma perta-masih terlihat teratur dan perta-masih dalam satu grup, hal ini dapat dilihat dalam Gambar 8. Formasi Perger-akan Awal Agen mengikutiWaypoint. Setelah beberapa saat karena pengaruh dari ketiga gaya(cohesion, separa-tion, alignment)dan sudut serta radius gaya pada agen maka tampak formasi sudah tidak teratur. Formasi ini terpecah menjadi beberapa grup agen. Hal ini dapat dilihat pada Gambar 9. Formasi Agen setelah Bebera-pa Saat MengikutiWaypoint.

Gambar 8. Formasi Pergerakan Awal Agen mengikuti

Waypoint

Gambar 9. Formasi Agen setelah Beberapa Saat MengikutiWaypoint.

4.6 Variasi Formasi dalam Boid

Variasi formasi dalam boid dapat diperoleh dengan mengubah nilai variabel sudut () dan radius (r) pa-da model boid (separation, cohesion, alignment). Agen dapat memberikan pengaruh agen lain dalam bentuk boid selama agen yang lain tersebut masuk dalam jangkauan radius dan sudut pada boid. Sudut dari boid pada agen digunakan saat algoritma berkelom-pok (ocking) terjadi. Semakin besar sudut dan jarak boid, maka semakin banyak agen yang masuk ke dalam grup, dan hal ini juga dipengaruhi oleh cohesion. Se-makin kecil radius dan sudut boid model maka se-makin besar kemungkinan agen yang berada diseki-tarnya akan memisah karena hal ini di sebabkan ke-hilangan jangkauan dengan agen yang disebelahnya (neighboors). Ketika agen lain berpisah maka kemu-ngkinan akan bergabung dengan grup yang lain. Vari-asi formVari-asi dalam boid dapat dibuat dengan mengubah sudut menjadi 270 derajat. Gambaran formasi dari perubahan sudut boid yaitu 270 derajat dapat dilihat pada Gambar 10. Boid dengan Sudut Jangkauan 270 derajat.

Gambar 10. Boid dengan Sudut Jangkauan 270 derajat.

Simulasi mirip perilaku semut saat berjalan juga bisa terjadi jika mengubah sudut jangkauan menjadi 45 derajat pada masing-masing agen. Hasil Simulasi dengan sudut jangkauan 45 derajat dapat digunakan untuk membuat teknik animasi, misalnya skuadron pe-sawat jet dengan sifat melebar dan skuadron pepe-sawat jet berbentuk mirip ular. Hal ini dapat dilihat pada

(7)

Gambar 11. Boid yang Membentuk Pergerakan Koloni Semut.

Gambar 11. Boid yang Membentuk Pergerakan Koloni Semut

Simulasi pada Gambar 4.11 Boid yang Mem-bentuk Pergerakan Koloni Semut, dapat divariasikan dengan perilaku penghindaran halangan sehingga di-dapat perilaku mengikuti agen didepannya saat agen didepannya menghindari halangannya diikuti agen di-belakangnya dengan jalur yang sama, hasil simulasi ini mirip algoritma koloni semut.

4.6.1 Percobaan Variasi Sudut (Angle)

Dalam percobaan variasi ini dibagi menjadi dua grup agen, masing-masing agen memiliki pemimpin (leader following) dengan dua target. Di simulasikan melalui penghalang dengan dua penghalang dan satu jalan di tengah diantara penghalang tersebut. Agen Pemimpin diberi perilaku antara lain : Radar Ping, Steer for Spherical Obstacle Avoidance, Autonomous Vehicle, Steer for Target, Steer for Separation, Steer for Align-ment, Steer for Cohesion, Steer for Speed, sedangkan Agen Pengikut diberi perilaku antara lain : Radar Ping, Steer for Spherical Obstacle Avoidance, Steer for Neighbor Avoidance, Autonomous Vehicle, Steer for Separation, Steer for Alignment, Steer for Cohesion, Steer for Pursuit, Steer for Speed. Dalam percobaan ini diberi variasi sudut pada Steer for Separation, Steer for Alignment, Steer for Cohesion yang diberikan yaitu 30, 45, 90, 180 dan 0 derajat dan parameter Weight diberi nilai 5, Min Radius diberi nilai 0,5 serta Max Radius diberi nilai 3. Hasil Simulasi Variasi Sudut di-dapat hasil bahwa sudut terbaik untuk neighborhood avoidance yaitu sudut 0 derajat, karena menghasilkan jumlah agen tertinggal paling sedikit. Sudut 90 dera-jat merupakan sudut yang menghasilkan jumlah agen paling banyak yaitu 3 agen dari 70 agen.

4.6.2 Percobaan Variasi Gaya (Weight) Sama seperti percobaan sebelumnya yaitu percobaan variasi sudut, percobaan variasi gaya merupakan per-cobaan mengikuti pemimpin dengan perilaku agen seperti pada percobaan variasi sudut. Agen pengikut yang diberikan sebanyak 70 dan memberikan variasi nilai gaya yang berbeda namun sudut dan jangkauan yang sama. Nilai sudut yang diberikan yaitu 90 derajat karena dalam percobaan sebelumnya memiliki jumlah agen yang diam paling banyak serta jangkauan Min-imal dan MaksMin-imal (Min & Max Radius) yaitu 0,5

dan 3. Hasil Simulasi dapat diperoleh yaitu Gaya terbaik yang digunakan untuk neighborhood avoidance adalah gaya terkecil dari hasil percobaan, karena meng-hasilkan agen tertinggal paling sedikit.

4.6.3 Percobaan Variasi Jangkauan (Min and Max Radius)

Sama seperti percobaan sebelumnya yaitu percobaan variasi sudut dan variasi gaya, percobaan variasi jangkauan merupakan percobaan mengikuti pemimpin dengan perilaku yang sama sepert percobaan sebelum-nya. Agen pengikut yang diberikan sebanyak 70 dan memberikan variasi nilai jangkauan yang berbe-da namun nilai sudut berbe-dan gaya sama. Nilai sudut yang diberikan yaitu 90 derajat karena dalam per-cobaan sebelumnya memiliki jumlah agen yang di-am paling banyak serta gaya yang diberikan yaitu 25. Hasil Simulasi dapat diperoleh yaitu Jangkauan terbaik yang digunakan untuk neighborhood avoidance adalah jangkauan terbesar dari hasil percobaan, karena meng-hasilkan agen tertinggal paling sedikit.

4.6.4 Percobaan Variasi Sudut dengan Steer for Target

Dalam percobaan variasi ini dibagi menjadi dua grup agen, masing-masing agen memiliki pemimpin (leader following) dengan dua target. Di simulasikan melalui penghalang dengan dua penghalang dan satu jalan di tengah diantara penghalang tersebut. Agen Pemimpin diberi perilaku antara lain : Radar Ping, Steer for Spherical Obstacle Avoidance, Autonomous Vehicle, Steer for Target, Steer for Separation, Steer for Align-ment, Steer for Cohesion, Steer for Speed, Steer for Target sedangkan Agen Pengikut diberi perilaku an-tara lain : Radar Ping, Steer for Spherical Obstacle Avoidance, Steer for Neighbor Avoidance, Autonomous Vehicle, Steer for Separation, Steer for Alignment, Steer for Cohesion, Steer for Pursuit, Steer for Speed, Steer for Target. Sudut yang digunakan dalam per-cobaan ini masing-masing adalah sudut seperation sebesar 180 derajat, sudut alignment sebesar 0 derajat dan sudut cohesion sebesar 90.

Gambar 12. Boid dengan Sudut Jangkauan 45 derajat Melalui Hasil pada Gambar 12. Boid dengan Sudut Jangkauan 45 derajat, didapat bahwa semua agen yang digunakan dalam proses simulasi mengikuti pemimpin. Hal ini disebabkan karena perilaku agen pengikut yang

(8)

diberikan terdapat perilaku menuju target (Steer for Target). Pengaruh variasi sudut tidak memberikan pengaruh pada proses pergerakannya.

5 KESIMPULAN DAN SARAN

Simulasi pergerakan agen berbasis boid dengan opti-masi neighborhood avoidance berhasil dibuat melalui Unity3D Game Engine dengan memadukan antara Lo-comotion System dan UnitySteer. Dari simulasi terse-but, dapat ditarik kesimpulan bahwa :

1. Simulasi pergerakan agen berbasis boid melalui variasi sudut diperoleh kesimpulan bahwa, sudut terbaik yang digunakan untuk neighborhood avoid-ance yaitu sudut 0 derajat, karena jumlah agen yang diam tertinggal paling sedikit dibanding sudut yang lain. Jumlah agen yang tertinggal pal-ing banyak ditemui pada sudut 90 yaitu maksimal 3 agen dari 70 agen.

2. Simulasi pergerakan agen berbasis boid melalui variasi gaya diperoleh kesimpulan bahwa, gaya ter-baik yang digunakan untuk neighborhood avoid-ance yaitu gaya dengan nilai terkecil, karena jum-lah agen yang diam tertinggal paling sedikit. 3. Simulasi pergerakan agen berbasis boid melalui

variasi jangkauan diperoleh kesimpulan bahwa, jangkauan terbaik yang digunakan untuk neigh-borhood avoidance yaitu jangkauan dengan nilai terbesar, karena jumlah agen yang diam terting-gal paling sedikit.

4. Variasi formasi dalam pergerakan agen berbasis boid dengan variasi weight, angle dan radius dapat menghasilkan perilaku neighborhood avoidance. Saran pengembangan simulasi agen berbasis boid lebih lanjut, dapat dilakukan inovasi sebagai berikut:

1. Menambah sensor untuk deteksi penghalang pada agen, karena dalam simulasi ini hanya terdapat satu sensor deteksi penghalang yang terletak pada heading.

2. Membuat perilaku neighborhood avoidance sendiri tanpa pengaruh boid dengan memberikan param-eter sudut, gaya dan waktu prediksi jika saling bertabrakan.

Pustaka

[1] Buckland, Matt, Programming Game AI by Exam-ple,Wordware Publishing, Texas, Ch.1 and Ch.3, 2005

[2] Bourg, D.M & Seaman, G AI for Game Developers, OReilly, , Ch. 4 and Ch.5, 2004

[3] Millington, I, & Funge, J. Articial Intelligence for Games 2nd Edition: Morgan Kaufmann, Burling-ton, Ch. 3, 2009

[4] Reynolds, C.W.: Steering Behaviors for Au-tonomous Characters. In: The proceedings of Game Developers Conference, pp. 763782 1999

[5] Reynolds C.W., Flocks, Herds, and Schools: A Distributed Behavioral Model, Computer Graphics vol. 21, n. 4,(SIGGRAPH 87), pp. 25-34, 1987 [6] SHAO, W., AND TERZOPOULOS, D.

Au-tonomous pedestrians. In SCA 05: Proceedings of the 2005 ACM SIGGRAPH/Eurographics sympo-sium on Computer animation, ACM Press, New York, NY, USA, 1928, 2005

[7] Ricardo J Mendex UnitySteer 2.2 Re-leased <URL : http://www.arges-systems.com/articles/274/unitysteer-2-2 re-leased/> Agustus 2011

[8] Unity3D Locomotion System <URL: http://unity3d.com/support/resources/unity-extensions/locomotion-ik> Agustus 2011

Gambar

Gambar 1. Leader Following dari Boid .
Tabel 1. Parameter dan nilai dari Flocking Nama Parameter Nilai
Gambar 4. Diagram Alir Algoritma Penghindaran Penghalang.
Gambar 7. Pola Simulasi Mengikutu Pemimpin dengan Dua Pintu Keluar setelah Beberapa Saat.
+2

Referensi

Dokumen terkait

Hasil penelitian menunjukkan adanya hubungan positif yang signifikan antara dukungan sosial teman sebaya dengan efikasi diri pada atlet futsal putri Klub Semarang

Penelitian ini bertujuan mempelajari pengaruh pemberian pakan pada itik dengan sistem pemeliharaan intensif (terkurung) dan semi intensif (terkurung + digembalakan

Kualitas sumber daya manusia pada pegawai negeri sipil di Distrik Yamo Kabupaten Puncak Jaya sangat rendah mengakibatkan produktivitas kerja tidak sesuai dengan

Skripsi yang berjudul “Pengaruh Brand Image JNE terhadap keputusan konsumen memilih jasa pengiriman paket (Studi Pada Konsumen JNE Mayor Ruslan Palembang)” ini

Pusat tari modern adalah bangunan yang berfungsi sebagai wadah berbagai macam kegiatan komunitas pecinta tari modern. Kegiatan utama yang biasanya dilakukan oleh

Jika mereka miskin, (maka) Allah akan memampukan mereka dengan karunia-Nya dan Allah Maha luas (pemberian-Nya), lagi Maha Mengetahui.” Dalam Undang-Undang Nomor 1

Berdasarkan hal tersebut dengan hasil observasi dan wawancara yang telah penulis lakukan serta telah dipaparkan di penyajian data, sebenarnya tidak terlihat masalah