BAB 3 PERANCANGAN. 3.1 Desain Alur Penentuan Keputusan Robot

dokumen-dokumen yang mirip
UNIVERSITAS INDONESIA ANALISIS DAN PERANCANGAN STRATEGI PADA PERTANDINGAN SEPAK BOLA ANTAR ROBOT SKRIPSI

Optimalisasi dan Perancangan Algoritma Pergerakan dan Komunikasi pada Robot Penyerang Humanoid Soccer

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN. Gambar 3.1. Sistem instruksi dan kontrol robot.

FUTSAL - 2. Futsal Kelas XI 1 design by Bramasto

BAB 21 TRANSFORMASI GEOMETRI 1. TRANSLASI ( PERGESERAN) Contoh : Latihan 1.

BAB III PERANCANGAN SISTEM

BAB IV PENGUJIAN DAN ANALISIS

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

MEKANIKA UNIT. Pengukuran, Besaran & Vektor. Kumpulan Soal Latihan UN

BAB III PERANCANGAN SISTEM

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

Algoritma Greedy dalam Strategi Permainan Centipede

Aplikasi Graf untuk Penentuan Aksi Robot Sepak Bola (Robosoccer)

BAB III PERANCANGAN KECERDASAN-BUATAN ROBOT PENCARI JALUR

TRANSFORMASI. Bab. Di unduh dari : Bukupaket.com. Translasi Refleksi Rotasi Dilatasi A. KOMPETENSI DASAR DAN PENGALAMAN BELAJAR

BAB 1 PERMAINAN BOLA BESAR

BAB III PERANCANGAN. Pada bab ini akan dijelaskan perancangan perangkat keras serta perangkat lunak algoritma pergerakan dan komunikasi robot.

BAB IV PENGUJIAN HASIL DAN ANALISA

BAB IV HASIL PENGUJIAN DAN ANALISIS

Apabila lintasan itu dinyatakan dengan satuan s, maka persamaan di atas dapat juga ditulis menjadi :

BAB IV HASIL PENGUJIAN DAN ANALISIS

BAB III PERANCANGAN SISTEM

Sepakbola. Oleh: Rano Sulisto,S.Pd.

BAB IV PENGUJIAN DAN ANALISIS

BAB 1. KISI-KISI PENJASKES Smtr 1 Kls XI SMK INFORMATIKA PUGER 1

KINEMATIKA. A. Teori Dasar. Besaran besaran dalam kinematika

BAB IV HASIL PENGUJIAN DAN ANALISIS

BAB 3 PERANCANGAN SISTEM

MATEMATIKA. Sesi TRANSFORMASI 2 CONTOH SOAL A. ROTASI

Materi Permainan Bola Basket Lengkap

FUTSAL. Materi Futsal Kelas X Semester disusun oleh Bramasto

Bola basket a. Latihan menembak jarak jauh PRAKTIK DI LAPANGAN Pola penyerangan dalam permainan bola basket dapat dilakukan dengan cara : 1) Set

BAB III PERANCANGAN SISTEM PEMROGRAMAN DAN IMPLEMENTASI ROBOT KARTESIAN

KISI KISI UJI COBA SOAL

BAB III METODE PENELITIAN. diperlukan dengan beberapa cara yang dilakukan, antara lain:

BAB III METODE PENELITIAN. A. Lokasi Dan Subjek Populasi/Sampel Penelitian 1. Lokasi

TRANSFORMASI GEOMETRI

BAB 4 HASIL DAN PEMBAHASAN

Pelajaran 1 MENGANALISIS, MERANCANG, DAN MENGEVALUASI TAKTIK DAN STRATEGI PERMAINAN BOLA BESAR

BAB III ANALISIS, ALGORITMA, DAN CONTOH PENERAPAN

KINEMATIKA 1. Fisika Dasar / Fisika Terapan Program Studi Teknik Sipil Salmani, ST., MS., MT.

KINEMATIKA 1. Fisika Dasar / Fisika Terapan Program Studi Teknik Sipil Salmani, ST., MS., MT.

KINEM4TIK4 Tim Fisika

Doc. Name: XPFIS0201 Version :

BAB III PERANCANGAN Sistem Kontrol Robot. Gambar 3.1. Blok Diagram Sistem

KERANGKA KERJA UNTUK PEMBELAJARAN INVANSION GAMES

K13 Revisi Antiremed Kelas 10 FISIKA

I. PENDAHULUAN. kemampuan dan teknik yang tinggi. Dimana dalam sepak bola terdapat. banyak unsur-unsur yang harus dikuasai para pemainnya dari

BAB IV HASIL DAN PEMBAHASAN. microcontroller menggunakan komunikasi serial. 1. Menyalakan Minimum System ATMEGA8535

Pengembangan Algoritma untuk Penyempurnaan Gerakan dan Kestabilan Robot Humanoid berbasis Kondo KHR 3HV

BAB I PENDAHULUAN. A. Latar Belakang

BAB I TEGANGAN DAN REGANGAN

Latihan I IMPULS MOMENTUM DAN ROTASI

BAB IV PENGUJIAN ROBOT

Vektor. Vektor memiliki besaran dan arah. Beberapa besaran fisika yang dinyatakan dengan vektor seperti : perpindahan, kecepatan dan percepatan.

PERANCANGAN MOBILE ROBOT DENGAN SENSOR KAMERA MENGGUNAKAN SISTEM KENDALI FUZZY

BAB III METODE PENELITIAN. Penelitian yang dilakukan dalam penelitian ini menggunakan metode

BAB III PERANCANGAN ALAT

GEOMETRI ANALITIK PERTEMUAN2: GARIS LURUS PADA BIDANG KOORDINAT. sofyan mahfudy-iain Mataram 1

SISTEM KENDALI JARAK JAUH MINIATUR TANK TANPA AWAK

Pertemuan 4 Aljabar Linear & Matriks

MODUL FISIKA SMA Kelas 10

BAB 3 PERANCANGAN SISTEM

BAB III PERENCANAAN DAN PERANCANGAN

Rudi Susanto, M.Si VEKTOR

BAB III PERANCANGAN SISTEM

KINEMATIKA GERAK LURUS 1

BAB IV ANALISA DAN PENGUJIAN

BAB IV ANALISA DAN PENGUJIAN ALAT

Sepak Bola. 1. Lapangan dan Peralatan Sepak Bola

KETEPATAN DAN KECEPATAN PEMBIDIKAN PISIR PENJERA PADA LATIHAN BIDIK KERING MENGGUNAKAN FUZZY LOGIC

PENGEMBANGAN BAGAN KENDALI MUTU UNTUK KOMPOSISI. simplex-lattice adalah (q+ m-1)!/(m!(q-1)!) (Cornell 1990).

Bab 3 Algoritma Feature Pengurangan

OPTIMASI PENCAPAIAN TARGET PADA SIMULASI PERENCANAAN JALUR ROBOT BERGERAK DI LINGKUNGAN DINAMIS

Antiremed Kelas 10 FISIKA

r = r = xi + yj + zk r = (x 2 - x 1 ) i + (y 2 - y 1 ) j + (z 2 - z 1 ) k atau r = x i + y j + z k

Implementasi OpenCV pada Robot Humanoid Pemain Bola Berbasis Single Board Computer

UM UGM 2017 Matematika Dasar

FUTSAL - 3. Penjaskes FUTSAL Kelas XII 1. Design Bramasto

Koordinat Kartesius, Koordinat Tabung & Koordinat Bola. Tim Kalkulus II

SISTEM PENYERANGAN UNTUK MENGHADAPI PERTAHANAN MAN TO MAN Oleh: Budi Aryanto

Matematika IPA (MATEMATIKA TKD SAINTEK)

BAB II V E K T O R. Untuk menyatakan arah vektor diperlukan sistem koordinat.

BAB III PERANCANGAN SISTEM

DIKTAT MATEMATIKA II

REKAYASA JALAN REL MODUL 6 WESEL DAN PERSILANGAN PROGRAM STUDI TEKNIK SIPIL

bab 1 gerak dasar kata kunci berjalan memutar melempar berlari mengayun menangkap melompat menekuk menendang

Pelatihan Ulangan Semester Gasal

Pilihlah jawaban yang paling benar!

BAB I PENDAHULUAN. aspek kehidupan manusia. Hal ini dapat dilihat dari pembuatan robot-robot cerdas dan otomatis

POLA PERMAINAN SEPAK BOLA DENGAN REPRESENTASI GRAF

BAB III PERANCANGAN SISTEM

BAB IV PERANCANGAN. 4.1 Flowchart

BAB 4 EVALUASI DAN ANALISA DATA

BAB 2 LANDASAN TEORI. Metode ini digunakan untuk menyelesaikan permasalahan yang terjadi pada

2 Mekanika Rekayasa 1

Transkripsi:

BAB 3 PERANCANGAN 3.1 Desain Alur Penentuan Keputusan Robot Aplikasi ini bertujuan untuk menentukan perilaku robot yang diinginkan dalam pertandingan sepak bola antar robot. Dari berbagai kondisi lapangan, aplikasi ini diharapkan dapat memberikan perintah terbaik pada robot. Gambar 3.1 Diagram Alur Utama Input yang dibutuhkan adalah sebuah array yang berisi koordinat robot sendiri, koordinat robot musuh, koordinat bola, dan arah menghadap robot sendiri. Berdasarkan input yang masuk, dihitung kemungkinan gol dan kemungkinan operan(passing), serta gerakan motor yang diperlukan untuk melakukan kedua hal tersebut. Selanjutnya, hasil perhitungan diteruskan sebagai perintah gerakan untuk robot yang dikirimkan melalui Bluetooth. 16

17 Gambar 3.2 Contoh Koordinat di Lapangan 3.2 Penentuan Input Input yang dibutuhkan adalah hasil dari pemrosesan gambar yang ditangkap oleh kamera yang terletak diatas lapangan. Gambar tersebut harus dianalisa untuk mendapatkan posisi robot musuh, robot sendiri, dan bola dalam bentuk koordinat. Selain posisi, arah menghadap robot juga perlu dicari dari input yang diterima. Selanjutnya, data-data tersebut disimpan dan dikirimkan ke aplikasi ini dalam bentuk sebuah array. Input array yang masuk dianggap sebagai daftar posisi robot dan bola dalam koordinat (x,y) dengan asumsi lapangan tim berada di sebelah kanan dan titik (0,0) berada di pojok kiri bawah. Pemodelan seperti ini dipilih karena memudahkan untuk pembagian partisi lapangan selanjutnya. Selain itu, pemodelan seperti ini juga akan memudahkan penghitungan dalam algoritma yang akan dipakai.

18 Dengan menggunakan pemodelan lapangan dalam bentuk koordinat, penghitungan jarak antar robot, sudut tembakan, dan analisa posisi musuh dapat dihitung dengan menggunakan persamaan garis dalam bidang kartesius. Gambar 3.3 Diagram Alur Input Setiap robot memiliki nomor urut untuk membedakan robot satu dengan robot lain saat melakukan sambungan antara komputer dengan robot. Saat melakukan sambungan, robot akan membutuhkan sebuah port pada komputer yang digunakan.. Setiap robot memiliki nomor port yang berbeda satu sama lain. Nomor urut robot merepresentasikan nomor port yang dipakainya. Namun nomor urut tidak harus sama dengan nomor robot. Tapi input yang diterima belum tentu sudah terurut. Karena itu, urutannya perlu diperbaiki. Walau begitu, ada beberapa hal yang sudah diketahui dalam pemasukan input. Diantaranya, 8 variabel pertama merupakan posisi robot sendiri. 8 variabel berikutnya merupakan posisi robot musuh. 2 posisi selanjutnya merupakan posisi bola. Dan 4 variabel terakhir merupakan arah menghadap robot. Mula-mula, input koordinat robot dan arah menghadapnya harus diurutkan sesuai posisinya untuk memudahkan dalam mengenali robot mana yang harus dijalankan. Jika urutannya ada yang tertukar, maka isi variabelnya akan di tukar dengan isi variabel lain yang belum diketahui sudah terurut atau tidak. Jika masih

19 belum terurut, proses akan diulang sampai variabel ini benar. Proses ini dilakukan untuk semua variabel posisi robot sampai semuanya terurut Namun karena komunikasi tidak diperlukan untuk robot musuh, maka hanya robot sendiri yang harus diurutkan. Posisi robot musuh dianggap sudah sesuai dengan nomor urutnya. Lagipula tidak menjadi masalah bila sampai tertukar urutannya karena sistem ini tidak berkomunikasi dengan robot musuh. Setelah setiap koordinat dipasangkan dengan partisinya, barulah koordinat dapat dianalisa. 3.3 Penentuan Partisi Untuk memudahkan penugasan robot, digunakan algoritma pembagian lapangan untuk setiap robot pemain. Lapangan yang ditugaskan kepada tiap robot dinamakan partisi. Setiap robot memiliki partisi lapangannya sendiri. Tiap partisi lapangan juga memiliki nomor partisi yang sama dengan robot yang menjaganya. Partisi ini tidak hanya digunakan untuk menentukan ruang gerak robot, tetapi juga untuk mengetahui nomor robot yang berada di lapangan. Gambar 3.4 Contoh Partisi Robot

20 Partisi juga digunakan untuk menentukan robot mana yang harus mengejar bola. Untuk itu, koordinat bola harus dicek dahulu. Karena pemodelan lapangannya menggunakan koordinat, maka pembagian partisinya dapat direpresentasikan sebagai persamaan garis lurus yang membagi lapangan. Posisi robot dianggap sebagai sebuah titik di bidang kartesius dengan lapangan sebagai bidang kartesiusnya. Daerah partisi robot adalah daerah di lapangan yang dibatasi oleh beberapa garis lurus. Dan untuk mengecek nomor partisi dimana suatu koordinat berada, digunakan persamaan linear sederhana. Daerah partisi tiap robot dapat saling lepas atau saling tindih. Jika daerahnya saling lepas, maka tiap robot dapat lebih fokus ke daerahnya masing-masing dan hal ini akan mencegah saling rebut bola antara pemain sendiri. Selain itu, jika hanya satu robot yang mengejar bola maka robot lain dapat bersiaga untuk menjaga daerah belakang lapangan atau bersiap untuk menerima operan bola. Pembagian ini juga dapat mencegah robot berkumpul di satu bagian lapangan dan membiarkan bagian lain kosong. Dengan pembagian ini, setiap bagian lapangan dijaga oleh 1 robot. Karena itu, jarak tempuh rata-rata sebuah robot untuk menuju suatu titik akan berkurang. Dengan pembagian yang tepat, jarak terjauh yang harus ditempuh robot juga akan berkurang jauh. Robot tidak harus berjalan dari ujung lapangan satu ke ujung lapangan lain.

21 Gambar 3.5 Contoh Posisi Standar Robot Untuk lebih mengefisienkan gerakan, tiap robot memiliki posisi standar. Robot akan menuju ke posisi ini jika tidak mengejar bola. Kecuali penjaga gawang, karena penjaga gawang harus selalu bersiaga terhadap bola yang datang. Posisi standar ini sebisa mungkin berada di tengah lapangan, karena posisi ditengah lapangan akan meminimalkan jarak terjauh yang harus ditempuh robot. Namun dalam algoritma ini partisi yang digunakan oleh robot sedikit mengalami saling tindih. Hal ini diperlukan untuk mengantisipasi apabila robot secara tidak sengaja melenceng sedikit dari daerahnya. Apabila lapangannya saling lepas, kemungkinan robot tersebut akan tertukar dengan robot lain saat kedua robot Nerada berdekatan di garis batas. Lagipula, ini juga membuat robot lebih cepat bereaksi saat bola bergulir ke lapangannya. 3.4 Proses Pengambilan Keputusan Setelah posisi tiap robot diisi dengan koordinat yang sesuai, ditentukan sebuah robot aktif yang bertugas mengejar bola. Untuk memudahkan pemilihan, robot selain penjaga gawang yang memiliki bola di partisinya adalah robot aktif. Selanjutnya ditentukan sasaran tembak bola. Sasaran tembak adalah posisi gawang yang menjadi tujuan tembak. Sasaran tembak ditentukan terhadap posisi

22 bola. Jika bola berada di bagian atas lapangan, maka sasaran tembak adalah bagian atas gawang. Dan sebaliknya bila bola berada di bagian bawah lapangan maka sasaran tembak adalah bagian bawah gawang. Gambar 3.6 Diagram Alur Proses Setelah itu di cek apakah posisi robot aktif berada di daerah tembak atau tidak. Daerah tembak adalah daerah di sekeliling bola yang dianggap cukup dekat dengan bola untuk bersiap melakukan tembakan ke arah gawang. Jika robot masih berada jauh dari bola, maka robot akan berjalan ke arah bola, namun jika tidak, berarti robot siap untuk menembak Selanjutnya, jika robot sudah berada di daerah tembak, jumlah musuh yang berada diantara bola dan gawang dihitung. Kalau jumlah musuh sedikit, perintah menembak diberikan ke robot yang aktif, namun jika banyak, bola akan dioper ke robot lain.

23 Setelah perintah untuk robot aktif selesai diberikan, robot lain dalam tim diberikan perintah untuk kembali ke posisi standar. Khusus untuk robot penjaga gawang, posisinya tergatung letak bola. Jika bola berada di bagian atas lapangan, maka penjaga gawang juga harus berada di bagian atas gawang dan begitu juga sebaliknya. Hal ini dilakukan agar posisi robot sebisa mungkin berada di tengah partisi lapangannya untuk meminimalisir jarak tempuh robot saat bola berpindah ke partisinya. Gambar 3.7 Diagram Alur Pengecekan Posisi Untuk mengecek apakah Robot berada di daerah tembaknya atau tidak, koordinat robot dikurangi dengan koordinat bola. Jika selisih nilai koordinat x dan y masuk dalam jarak yang diinginkan, maka robot tersebut dianggap berada di dalam daerah tembak. Namun bila tidak, berarti robot tersebut masih cukup jauh dari bola. Untuk menentukan luas daerah tembak, digunakan nilai range. 3.5 Proses Penentuan Output

24 Gambar 3.8 Diagram Alur Penentuan Output Untuk menentukan output apa yang harus diberikan, mula-mula ditentukan dulu aksi apa yang harus dilakukan robot. Ada 3 jenis aksi yang dapat dilakukan robot tergantung dari proses pengambilan keputusan yang dilakukan sebelumnya. Aksi itu antara lain perintah oper(passing), perintah tembak(shooting), serta perintah jalan. Jika robot akan melakukan perintah jalan, mula-mula diukur gradien antara robot dengan tujuannya, Selanjutnya robot akan diputar searah dengan tujuannya. Caranya dengan memberi perintah pada robot untuk memutar salah satu motornya sampai menghadap arah yang tepat. Jika robot sudah menghadap ke arah tujuan, maka robot akan diberi perintah untuk menjalankan kedua motornya sampai tiba di tujuan. Jika robot akan melakukan perintah oper, maka gradien garis antara robot aktif dengan robot yang menjadi tujuan oper akan dihitung. Selanjutnya posisi robot aktif akan dicek apakah berada di belakang bola atau tidak. Arah belakang disini adalah arah yang berlawanan dengan arah tembak bola. Bila belum, maka robot

25 akan diberikan perintah jalan ke belakang bola. Namun jika sudah maka robot diberikan perintah jalan kearah bola untuk menembak bola. 3.6 Pengecekan Jumlah Musuh Untuk menghitung jumlah musuh yang berada antara robot dengan gawang, dibutuhkan input berupa koordinat robot dan koordinat sasaran, serta koordinat tiap musuh. Penghitungan ini berguna untuk mengetahui berapa banyak robot yang mengganggu tembakan robot.namun tidak semua musuh yang ada di depan robot mempengaruhi tembakan robot dan harus dihitung. Hanya musuh yang mungkin dapat menahan laju bola saja yang harus dihitung. Gambar 3.9 Contoh Pengecekan Jumlah Musuh Di lapangan, setelah kita menembak bola, maka ada kemungkinan robot musuh akan berjalan menghampiri bola dan mengganggu tembakan bola. Daerah yang berisi musuh yang mengganggu tembakan bola dianggap berbentuk segitiga. Hal ini disebabkan saat bola mencapai titik tertentu, dia membutuhkan waktu n detik. Dalam n detik itu, robot lain dapat berjalan ke titik tersebut sejauh s. Karena nilai

26 n akan makin besar semakin jauh titik dari asal tembakan, maka nilai s juga akan semakin besar. Karena itu, daerah yang dibentuknya akan menyerupai segitiga. Gambar 3.10 Diagram Alur Pengecekan Jumlah Musuh Untuk menghitungnya, mula mula titik sasaran kita putar sejauh α dan -α dengan titik pusat posisi bola. Implementasinya dengan menggunakan rumus matriks. x' cos sin x y' sin cos y atau dalam persamaan linear x' xcos ysin (3.1) y' xsin ycos (3.2)

27 namun karena titik pusatnya bukan (0,0), maka rumus matriksnya menjadi x' x1 cos sin x x1 y ' y1 sin cos y y1 atau dalam persamaan linear ( x' x1) ( x x1)cos ( y y1)sin (3.3) ( y' y1) ( x x1)sin ( y y1)cos (3.4) Selanjutnya hitung gradien garis antara masing-masing titik dengan koordinat bola dengan menggunakan rumus y y1 m x x 1 (3.5) Setelah gradien garis diketahui, kita dapat membuat persamaan garisnya dengan pola seperti berikut y mx c (3.6) Dari persamaan itu, variabel c untuk kedua garis dapat diketahui dengan memasukkan kedua titik ke persamaan masing-masing. Setelah itu, setiap koordinat robot musuh dicek satu persatu. Jika koordinatnya berada diantara kedua garis, maka robot tersebut berpotensi untuk menghalangi bola. Setelah semua robot musuh selesai diperiksa, jumlah robot musuh yang berpotensi menghalangi jalannya bola akan dikembalikan sebagai hasil fungsi.