T1 612011049 BAB III

(1)

8 BAB III

PERANCANGAN SISTEM

Pada bab ini akan dijelaskan mengenai perancangan dari sistem instruksi, perangkat keras, serta perangkat lunak dari algoritma robot.

3.1Sistem Instruksi Robot

Sistem instruksi pada robot dibagi menjadi 3 bagian utama, yaitu smartphone Android sebagai main processor yang menentukan gerakan robot yang akan dilakukan, mikrokontroler ATmega324P sebagai kontrol utama yang mengatur kesinambungan antara prosesor utama dengan controller servo robot kondo KHR-3HV (RCB4) dan controller servo robot robotis CM-510 dan CM-530, serta pemroses data komunikasi dan koordinasi yang menggunakan mikrokontroler ATmega8 dan Xbee 2mW wire antenna – series 2 sebagai media komunikasinya.

Gambar 3.1 Blok Diagram Sistem.

OC1A/OC1B PORT I/O PORT I/O

ATmega 324P

TX1/RX1

Servo Controller

TX/RX PORT I/O INT0

ATmega 8 Smartphone

Servo Xbee


(2)

9 3.1.1 Processor Utama

Prosesor Utama yang digunakan dalam robot adalah sebuah smartphone Android. Dalam smartphone ini algoritma pergerakan dan komunikasi dan koordinasi robot akan ditanamkan. Tugas utama dari perangkat ini memproses gambar kamera yang diletakkan di kepala robot sebagai mata dan mengunci bola. Kemudian menentukan pergerakan robot berdasarkan algoritma komunikasi dan koordinasi dan posisi bola terhadap robot. Algoritma komunikasi dan koordinasi ditentukan dari hasil request data komunikasi oleh smartphone kepada ATmega324P yang akan dihubungkan dengan media bluetooth.

3.1.2 Kontrol Utama

Kontrol utama robot menggunakan mikrokontroler ATmega324P yang bertugas mengolah perintah berupa paket data dari smartphone melalui serial bluetooth serta mengembalikan data komunikasi ke smartphone dan menyalurkan data komunikasi dari robot lain yang diterima oleh ATmega8 menuju ke smartphone. Ada 5 macam perintah yang dikirim dari smartphone yaitu :

1. Perintah untuk menggerakan robot.

2. Perintah untuk menggerakan servo kepala.

3. Perintah untuk me-initialisasi data komunikasi ke robot teman. 4. Perintah untuk memberi data komunikasi pada robot teman. 5. Perintah untuk request data komunikasi dari teman robot lain.

3.1.3 Pemroses Data Komunikasi

Pemroses data komunikasi menggunakan mikrokontroler ATmega8 yang bertugas mengirimkan data komunikasi ke robot teman dan menerima data dari robot teman via Xbee 2mW wire antenna – series 2 melalui serial yang kemudian akan disalurkan ke mikrokontroller ATmega324P dengan menggunakan pin Input/Output (I/O).


(3)

10 3.2 Komunikasi dan Koordinasi

Untuk membentuk suatu tim sepak bola yang baik, dibutuhkan kerja sama dan komunikasi yang baik. Oleh sebab itu dirancang suatu jaringan wireless personal dalam lingkup robosoccer humanoid R2C-R9 dengan menggunakan metode topologi mesh. Pada topologi mesh ini, setiap perangkat memiliki hubungan jalur data langsung dengan semua perangkat lainnya. Untuk menemukan jumlah jalur fisik agar n perangkat terhubung secara langsung, harus dimastikan bahwa setiap perangkat harus terhubung dengan perangkat lainnya. Perangkat-1 harus terhubung dengan n-1 perangkat lainnya, perangkat-2 harus terhubung dengan n-1 perangkat lainnya, dan perangkat-n terhubung dengan n-1 perangkat lainnya. Kita membutuhkan n(n-1) jalur fisik. Namun, jika setiap jalur fisik memungkinkan untuk berkomunikasi dua arah (duplex mode), dapat dibagi dua jumlah hubungan jalurnya. Dengan kata lain, dapat dikatakan bahwa mesh topology membutuhkan

n(n-1)/2

jalur data[5].

Gambar 3.2 Mesh Topology[5].

Dengan menggunakan topologi jaringan ini semua robot yang digunakan akan dapat berkomunikasi satu sama lain. Penulis menggunakan Xbee 2mW wire antenna – series 2 sebagai media komunikasi antar robot dan ATmega8 sebagai pemroses data komunikasi.


(4)

11

Gambar 3.3 Topologi Mesh dan Pembagian Job antar robot dalam lapangan.

Koordinasi antar robot dapat berjalan dengan baik dengan menganggap salah satu robot sebagai captain (master). Robot yang sudah mendapat bola dan berjarak tertentu pada bola akan dianggap sebagai captain (master) dan akan mengirimkan data kepada teman robot yang lain untuk saling berkoordinasi. Captain (master) dapat berpindah dari robot satu ke robot yang lain, namun jika sudah terdapat satu captain (master), maka robot lain tidak mungkin dapat menjadi captain(master).

Dalam algoritma komunikasi dan koordinasi ini, dibedakan algoritmanya menjadi dua, yaitu algoritma menyerang dan algoritma bertahan serta membagi job robot menjadi tiga, yaitu goalkeeper, striker, dan midfielder .

Pembagian job robot ini bertujuan untuk mengefektifkan kinerja pergerakan robot dengan jangka lapangan yang sangat besar. Perincian tugas dari beberapa job yang ditentukan :

`

GK

MF


(5)

12

3.2.1 GoalKeeper (GK)

Tugas utama dari goalkeeper adalah menjaga gawang dan memberi data komunikasi pada robot teman lain apabila bola dekat dengan gawang sendiri untuk segera menuju ke daerah pertahanan sendiri. Pada job ini digunakan robot Robotis Bioloid Premium yang sudah dimodifikasi.

Gambar 3.4 Robot sebagai Goal Keeper.

3.2.2 MidFielder (MF)

Tugas utama dari midfielder adalah membantu striker mencetak goal dan membantu back dalam posisi bertahan untuk membuang bola menuju ke daerah lawan.Pada job ini digunakan robot Kondo KHR-3HV yang sudah dimodifikasi.


(6)

13

3.2.3 Striker (CF)

Tugas utama dari striker adalah mencetak goal ke gawang lawan.Pada job ini digunakan robot Kondo KHR-3HV yang sudah dimodifikasi.

Gambar 3.6 Robot sebagai Striker.

3.3 Jalur Data Komunikasi

Jalur data komunikasi dibagi menjadi 2, yaitu saat robot ingin memberikan data komunikasi ke robot lain (robot sebagai transmitter data), dan saat robot menerima data komunikasi dari robot teman yang lain (robot sebagai receiver data).

3.3.1 Pengiriman data komunikasi

Pada saat robot ingin mengirimkan data komunikasi ke robot lain, data yang dikirimkan berasal dari algoritma koordinasi pada smartphone. Data akan disalurkan ke ATmega324P melalui bluetooth yang akan selanjutnya dikirimkan ke ATmega8 dengan melalui pin Input/Output (I/O). ATmega324P akan mengirimkan sinyal interrupt kepada ATmega8 sebagai tanda bahwa robot akan mengirimkan data. Setelah ATmega8 mendapatkan kiriman data, data akan segera dikirimkan ke robot lain melalui Xbee 2mW wire antenna – series 2.

3.3.2 Penerimaan data komunikasi

Data yang diterima dari robot teman lain akan langsung ditangkap oleh Xbee 2mW wire antenna – series 2. Data lalu disalurkan ke ATmega8 melalui serial dan ATmega8 memproses data tersebut menjadi suatu nilai pada pin Input/Output (I/O) yang tersambung dengan ATmega324P. ATmega324P membaca nilai pin Input/Output (I/O) secara sequential untuk mendapatkan data komunikasi dari robot teman dan menyimpan data tersebut ke sebuah


(7)

14

variable. Data akan disalurkan menuju smartphone jika smartphone memberikan data request kepada ATmega324P melalui bluetooth.

Gambar 3.7 Jalur Data Komunikasi.

Jalur pengiriman data ke robot teman. Jalur penerimaan data dari robot teman. Jalur request data dari smartphone.

3.4 Bagian Perangkat Keras 3.4.1 Smartphone

Smartphone pada tugas akhir ini digunakan sebagai perangkat pemroses utama untuk memberi instruksi pada robot. Smartphone yang digunakan adalah Sony Xperia mini ST15i yang telah tertanam OS android di dalamnya. Aplikasi dirancang untuk smartphone ini untuk mengenali bola dan kemudian mengatur segala pengambilan keputusan pergerakan robot berdasarkan algoritma komunikasi dan koordinasi. Perintah untuk menggerakan robot kemudian dikirimkan melalui bluetooth ke board ATmega324P untuk kemudian diproses dan diteruskan ke kontroler servo robot.

Smartphone Bluetooth ATmega 324P

ATmega 8 Xbee


(8)

15 3.4.2 Modul Bluetooth

Modul bluetooth digunakan untuk media pengiriman data yang berupa perintah dari smartphone android ke mikrokontroler. Perintah akan dikirimkan dari smartphone melalui bluetooth sehingga diperlukan modul bluetooth agar mikrokontroler dapat terhubung dengan smartphone dan menerima data yang dikirimkan.

Modul bluetooth yang digunakan adalah modul bluetooth tipe DF-Bluetooth V3, HC-05, dan HC-06. Penulis memilih jenis bluetooth ini karena atribut dari bluetooth seperti nama perangkat, password, baudrate, data parity, dan lainnya dapat diatur sendiri oleh pengguna. Berikut adalah gambar dari bluetooth yang digunakan.

3.4.3 Xbee 2mW wire antenna – series 2

Modul Xbee ini digunakan untuk media pengiriman data komunikasi antara robot satu ke robot yang lain. Data akan dikirimkan dari satu Xbee ke Xbee yang lain agar robot dapat saling bertukar data dan robot dapat berkoordinasi seperti tim sepak bola.

Modul Xbee yang digunakan adalah Xbee 2mW wire antenna – series 2. Penulis hanya menggunakan 4 pin, yaitu VCC (+3.3V), Data Out (TX), Data In (RX), dan GND. Berikut gambar dari Xbee 2mW wire antenna – series 2.

Gambar 3.8 DF-Bluetooth V3

Gambar 3.9 HC-05 Bluetooth

Gambar 3.10 HC-06 Bluetooth

Gambar 3.11 Xbee 2mW wire antenna series 2 [4].

Gambar 3.12 Configuration Xbee


(9)

16

3.4.4 Regulator Tegangan 3.3v (LP2950-3.3v)

Regulator tegangan 3.3 volt digunakan karena modul Xbee 2mW wire antenna – series 2 bekerja dalam range tegangan 3.3 volt. Selain itu, tegangan yang dihasilkan pada pin Input/Output (I/O) mikrokontroller sebesar 5 volt, maka agar data sampai ke modul Xbee dan tidak membahayakan modul Xbee diperlukan regulator tegangan sebesar 3.3 volt, tetapi penulis hanya menggunakan 2 buah resistor pada pin ini untuk mengubah tegangan 5 volt menjadi 3.3 volt.

3.4.5 Board Mikrokontroller ATmega324P

Mikrokontroler tipe ATmega324P digunakan karena selain dapat diprogram dengan bahasa C dan banyak dijual dipasaran, mikrokontroler ini memiliki dua pin serial yang masing-masing terdiri atas pin Tx dan Rx sehingga mikrokontroler ini dapat berkomunikasi secara serial dengan servo controller dan modul bluetooth yang digunakan untuk berkomunikasi dengan smartphone android untuk memberikan perintah kepada robot. Board ini juga digunakan untuk mengirimkan data komunikasi yang dikirimkan melalui pin interrupt dan pin Input/Output (I/O) ke board komunikasi ATmega8 yang kemudian diteruskan dengan modul Xbee 2mW wire antenna – series 2 ke robot lainnya.

Gambar 3.13 Skematik LP2950-3.3v.

Gambar 3.14 Skematik resistor sebagai pembagi tegangan.

5v 3.3v


(10)

17

Gambar 3.15 Skematik board ATmega324P. 3.4.6 Board Mikrokontroller ATmega8

Mikrokontroler ATmega8 digunakan dengan pertimbangan dimensi modul yang kecil. Board mikrokontroler ATmega8 ini digunakan untuk memproses data komunikasi dari robot teman lain. Data komunikasi yang diproses pada mikrokontroller ini ada 2 yaitu :

1. Data dari smartphone yang dikirim melalui board mikrokontroler ATmega324P yang akan dikirimkan ke robot teman lain.

2. Data yang diterima dari robot teman lain yang akan dikembalikan ke smartphone melalui ATmega324P.


(11)

18 3.5Bagian Perangkat Lunak

3.5.1 Komunikasi

Algoritma komunikasi ditanamkan pada keseluruhan sistem, yaitu pada smartphone¸ ATmega324P, dan ATmega8 yang saling berhubungan. Pada kondisi robot ingin mengirimkan data, maka data berawal dari smartphone, dan pada saat kondisi robot menerima data dari robot teman, data berawal dari ATmega8. ATmega324P hanya berfungsi sebagai penyalur data yang sudah siap diproses menjadi algoritma koordinasi oleh smartphone dari ATmega8.

Beberapa kendala ditemukan saat robot ingin mengirimkan data, karena trigger dari pengiriman data adalah sudut kepala yang menunjukkan robot jauh atau dekat dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma pada smartphone untuk sampling data yang ingin dikirimkan, yang bertujuan untuk memastikan bahwa data yang dikirim pada kondisi yang benar.

Gambar 3.17 Diagram Kotak Algoritma Sampling Data Komunikasi pada Smartphone.

Mulai

CountCom ++

Apakah CountCom > 10 ? CountCom = 0

Apakah data yang ingin dikirim sama?

Pengiriman Data

A A

YES

YES NO


(12)

19

Gambar 3.18 Diagram Kotak Algoritma Pengiriman Data Komunikasi pada Smartphone.

Pada saat pengiriman data, smartphone akan mengecek kembali beberapa kondisi apakah dia boleh atau tidak untuk mengirimkan data komunikasi ke robot lain. Apabila dalam satu team sudah ada yang menjadi captain (master) dengan mengirimkan data-1

Mulai

Apakah ada data dari robot lain?

Captain = 1 Apakah data =

data1||data2? Captain = 0

Apakah Captain = 1?

Data apa yang akan dikirim? Apakah data

sebelumnya = data2?

Apakah data sebelumnya =

data1?

Kirim Data

A A

A YES

YES NO

YES

NO NO

Data-1

Data-1

Data-2

Data-2 NO


(13)

20

ke robot lain, maka robot lain tidak diperbolehkan untuk mengirimkan data komunikasi apapun sampai captain (master) sudah menyelesaikan data komunikasinya dengan mengirimkan data-2.

Pada saat captain (master) mengirimkan data-1, maka robot lain akan hanya berfungsi untuk mendengarkan data komunikasi selanjutnya yang akan dikirimkan oleh captain (master) dan ketika captain (master) sudah menyelesaikan data komunikasinya dengan mengirimkan data-2, semua robot memiliki hak untuk mengirimkan data komunikasi ke robot lain yang menandakan bahwa dia akan menjadi captain (master) selanjutnya.

Gambar 3.19 Diagram Kotak Algoritma Komunikasi pada ATmega 324P. Selesai Mulai

Membaca nilai pin I/O dari ATmega8

Apakah nilai input = nilai sebelumnya?

Count ++ Count=0

Apakah Count > 10?

Simpan data ke variable X

Mulai

Apakah request data?

Kirim data dari variable X melalui Tx1

Apakah mengirim data?

Simpan data ke variable Y

Ubah nilai pin I/O sesuai dengan data di

variable Y

Kirim sinyal interrupt ke ATmega8

Main Rx1 Interrupt

YES

YES

NO

NO

YES

YES NO

NO B


(14)

21

Setelah data komunikasi diproses oleh smartphone, data dikirimkan ke ATmega324P. Pada ATmega324P data komunikasi dari smartphone akan diolah menjadi suatu nilai pin Input/Output (I/O) agar bisa dibaca oleh ATmega8. Ketika terdapat data masukan dari smartphone, ATmega324P langsung membaca data tersebut, merubah nilai pin Input/Output (I/O), dan memberikan sinyal interrupt kepada ATmega8 agar ATmega8 langsung dapat membaca data tersebut dan mengirimkan data ke robot lain.

ATmega8 yang berfungsi sebagai pemroses data komunikasi akan selalu menyediakan data komunikasi yang siap dibaca oleh ATmega324P. Saat ATmega8 menerima sinyal interrupt pada pin INT0, maka ATmega8 akan membaca pin Input/Output (I/O) dari ATmega324P untuk menyiapkan data komunikasi yang akan dikirimkan ke robot lain dan saat ATmega8 menerima Rx Interrupt, maka ATmega8 akan langsung mengambil data komunikasi yang diberikan Xbee 2mW wire antenna – series 2 dan menyimpannya dalam suatu variable dan akan mengubah nilai pin Input/Output (I/O) berdasarkan data yang baru diterima agar dapat dibaca oleh ATmega324P.

Gambar 3.20 Diagram Kotak Algoritma Komunikasi pada ATmega8. Mulai

Ubah nilai pin I/O dari data pada variable Z

Mulai

Baca pin I/O dari ATmega324P

Konversi dari nilai I/O menjadi data komunikasi

Kirim data ke robot lain melalui pin Tx

Mulai

Simpan data ke variable Z

Main INT0 Interrupt Rx Interrupt

Selesai


(15)

22 3.5.2 Koordinasi

Pada tugas skripsi ini, algoritma koordinasi dibagi antar robot, tidak hanya untuk 2 robot, melainkan untuk satu tim sepak bola R2C-R9 yang terdiri atas 3 robot. Agar koordinasi berjalan dengan lancar, maka job robot dibagi menjadi 3, yaitu striker, mid fielder, dan goal keeper. Masing-masing dari job robot memiliki algoritma koordinasi menyerang dan bertahan yang berbeda-beda agar dapat saling melengkapi dalam penguasaan lapangan yang semakin luas.

Gambar 3.21 Diagram Kotak Algoritma Koordinasi R2C-R9 (striker, dan mid fielder)

Kirim data2 ke robot teman Mulai

Apakah sudut tilt >= 75?

flagCaptain = 1 flagCaptain = 0

Kirim data1 ke robot teman

Tendang Bola

flagCaptain = 0

YES No

Sudut tilt kepala sudah mengunci

bola

Apakah bola hilang dari depan kaki??

Kejar Bola

No YES


(16)

23

Dua job yaitu striker, dan mid fielder memiliki algoritma koordinasi untuk pergantian captain (master) atau pengiriman data komunikasi yang sama, tetapi untuk algoritma koordinasi ketika job satu menerima data dari job lain, ketiga robot tersebut memiliki algoritma yang jauh berbeda satu sama lain.

Sedangkan untuk robot goal keeper hanya akan mengirimkan data ke robot teman lain untuk memanggil robot teman untuk segera menuju daerah pertahanan untuk membantu menjauhkan bola dari daerah pertahanan sendiri.

Gambar 3.22 Diagram Kotak Algoritma Koordinasi R2C-R9 (goal keeper). 3.5.2.1Striker (CF)

Robot yang berfungsi sebagai striker akan mengirimkan data-1 jika dia dekat dengan bola dan memberikan data ke robot lain bahwa dia adalah captain (master) dan akan mengirimkan data-2 jika dia kehilangan bola atau bola sudah dieksekusi.

Mulai

Apakah sudut tilt >= 75?

flagCaptain = 1 flagCaptain = 0

Instruksi teman bola didaerah pertahanan

Selesai flagCaptain = 0

YES No

Sudut tilt kepala sudah mengunci


(17)

24

Pada saat robot striker mendapatkan data-1 dari robot mid fielder, maka robot striker akan langsung mencari posisi untuk menunggu bola di daerah depan gawang lawan untuk mencetak goal sampai robot mid fielder mengirimkan data-2 yang menunjukkan dia kehilangan bola atau bola telah dieksekusi.

Pada saat robot striker mendapatkan data-1 dari robot goal keeper maka robot striker akan segera mengarahkan pandangan ke daerah pertahanan diri sendiri dan segera bergerak menuju daerah sendiri untuk mencari bola.

Gambar 3.23 Diagram Kotak Algoritma Koordinasi pada robot striker. Mulai

Kejar Bola

Apakah ada data1 dari mid fielder?

flagCaptain = 0

Apakah ada data1 dari goal keeper? Positioning

flagCaptain = 0

Cek Orientasi

Apakah orientasi robot membelakangi gawang

lawan?

Putar hingga membelakangi gawang lawan YES

YES

YES

NO

NO


(18)

25 3.5.2.2Mid Fielder (MF)

Robot yang berfungsi sebagai mid fielder akan mengirimkan data-1 jika dia dekat dengan bola dan memberikan data ke robot lain bahwa dia adalah captain (master) dan akan mengirimkan data-2 jika dia kehilangan bola atau bola sudah dieksekusi.

Pada saat robot mid fielder mendapatkan data-1 dari robot striker, maka robot mid fielder akan tetap mencari bola dan mendekati bola hingga jarak tertentu dengan tujuan menjaga striker yang akan mengeksekusi bola dan jika posisi robot mid fielder menutupi arah tendangan, maka robot mid fielder akan segera bergeser memposisikan dirinya agar tidak menutupi arah tendang bola.

Pada saat robot mid fielder mendapatkan data dari robot goal keeper, algoritma koordinasi sama dengan robot striker. Robot akan menghadap kearah gawang sendiri dan terus maju untuk mencari bola.

Mulai

Kejar Bola

Apakah ada data dari goal keeper? flagCaptain = 0

Cek Orientasi

Apakah orientasi robot membelakangi gawang

lawan?

Apakah ada data1 dari striker?

Putar hingga membelakangi gawang lawan D

YES

YES

YES

NO

NO

NO


(19)

26

Gambar 3.24 Diagram Kotak Algoritma Koordinasi pada robot mid fielder.

3.5.2.3Goal Keeper (GK)

Robot yang berfungsi sebagai goal keeper akan mengirimkan data jika dia dekat dengan bola dan memberikan data ke robot lain bahwa dia adalah captain (master) untuk memanggil robot lainnya untuk segera membantu ke daerah pertahanan.

D

flagCaptain = 0

Cek Bola

Cek Orientasi

Apakan orientasi robot membelakangi

gawang lawan?

Geser menjauhi bola

Mundur menjauhi bola Apakah sudut

tilt > 50?

Berhenti

Apakah ada data2 masuk dari robot pengirim data1?

Apakah sudut tilt > 25?

C YES

YES

YES

YES NO

NO NO


(20)

27

Data yang diterima robot goal keeper tidak semuanya diproses menjadi algoritma koordinasi. Data yang diproses hanya data yang berasal dari robot striker. Ketika robot goal keeper menerima data-1 dari robot striker, robot goal keeper akan segera memposisikan dirinya untuk kembali pada posisi yang benar.

Gambar 3.25 Diagram Kotak Algoritma Koordinasi pada robot goal keeper. Keterangan diagram alir :

1. Data1 : data yang menunjukkan bahwa dalam satu team sudah terdapat captain yang siap untuk menendang bola.

2. Data2 : data yang menunjukkan bahwa captain sudah selesai mengeksekusi bola atau kehilangan bola.

3. Pan : nilai sudut servo kepala yang bergerak pada sumbu y.Minimal nilai pan = 0 (kepala robot menghadap kiri) dan maksimal nilai pan = 180 (kepala robot menghadap ke kanan).

4. Tilt : nilai sudut servo kepala yang bergerak pada sumbux. Minimal nilai tilt = 0 (kepala robot menengadah ke atas) dan maksimal nilai tilt = 90 (kepala robot menunduk hingga melihat ujung kaki.

Mulai

Jaga Gawang

Apakah ada data1 dari striker? Positioning


(1)

22 3.5.2 Koordinasi

Pada tugas skripsi ini, algoritma koordinasi dibagi antar robot, tidak hanya untuk 2 robot, melainkan untuk satu tim sepak bola R2C-R9 yang terdiri atas 3 robot. Agar koordinasi berjalan dengan lancar, maka job robot dibagi menjadi 3, yaitu striker, mid fielder, dan goal keeper. Masing-masing dari job robot memiliki algoritma koordinasi menyerang dan bertahan yang berbeda-beda agar dapat saling melengkapi dalam penguasaan lapangan yang semakin luas.

Gambar 3.21 Diagram Kotak Algoritma Koordinasi R2C-R9 (striker, dan mid fielder)

Kirim data2 ke robot teman Mulai

Apakah sudut tilt >= 75?

flagCaptain = 1 flagCaptain = 0

Kirim data1 ke robot teman

Tendang Bola

flagCaptain = 0

YES No

Sudut tilt kepala sudah mengunci

bola

Apakah bola hilang dari depan kaki?? Kejar Bola

No YES


(2)

23

Dua job yaitu striker, dan mid fielder memiliki algoritma koordinasi untuk pergantian captain (master) atau pengiriman data komunikasi yang sama, tetapi untuk algoritma koordinasi ketika job satu menerima data dari job lain, ketiga robot tersebut memiliki algoritma yang jauh berbeda satu sama lain.

Sedangkan untuk robot goal keeper hanya akan mengirimkan data ke robot teman lain untuk memanggil robot teman untuk segera menuju daerah pertahanan untuk membantu menjauhkan bola dari daerah pertahanan sendiri.

Gambar 3.22 Diagram Kotak Algoritma Koordinasi R2C-R9 (goal keeper). 3.5.2.1Striker (CF)

Robot yang berfungsi sebagai striker akan mengirimkan data-1 jika dia dekat dengan bola dan memberikan data ke robot lain bahwa dia adalah captain (master)

dan akan mengirimkan data-2 jika dia kehilangan bola atau bola sudah dieksekusi. Mulai

Apakah sudut tilt >= 75?

flagCaptain = 1 flagCaptain = 0

Instruksi teman bola didaerah pertahanan

Selesai flagCaptain = 0

YES No

Sudut tilt kepala sudah mengunci


(3)

24

Pada saat robot striker mendapatkan data-1 dari robot mid fielder, maka robot

striker akan langsung mencari posisi untuk menunggu bola di daerah depan gawang lawan untuk mencetak goal sampai robot mid fielder mengirimkan data-2 yang menunjukkan dia kehilangan bola atau bola telah dieksekusi.

Pada saat robot striker mendapatkan data-1 dari robot goal keeper maka robot

striker akan segera mengarahkan pandangan ke daerah pertahanan diri sendiri dan segera bergerak menuju daerah sendiri untuk mencari bola.

Gambar 3.23 Diagram Kotak Algoritma Koordinasi pada robot striker.

Mulai

Kejar Bola

Apakah ada data1 dari mid fielder?

flagCaptain = 0

Apakah ada data1 dari

goal keeper?

Positioning

flagCaptain = 0

Cek Orientasi

Apakah orientasi robot membelakangi gawang

lawan?

Putar hingga membelakangi gawang lawan YES

YES

YES

NO

NO


(4)

25 3.5.2.2Mid Fielder (MF)

Robot yang berfungsi sebagai mid fielder akan mengirimkan data-1 jika dia dekat dengan bola dan memberikan data ke robot lain bahwa dia adalah captain (master) dan akan mengirimkan data-2 jika dia kehilangan bola atau bola sudah dieksekusi.

Pada saat robot mid fielder mendapatkan data-1 dari robot striker, maka robot

mid fielder akan tetap mencari bola dan mendekati bola hingga jarak tertentu dengan tujuan menjaga striker yang akan mengeksekusi bola dan jika posisi robot

mid fielder menutupi arah tendangan, maka robot mid fielder akan segera bergeser memposisikan dirinya agar tidak menutupi arah tendang bola.

Pada saat robot mid fielder mendapatkan data dari robot goal keeper, algoritma koordinasi sama dengan robot striker. Robot akan menghadap kearah gawang sendiri dan terus maju untuk mencari bola.

Mulai

Kejar Bola

Apakah ada data dari goal keeper?

flagCaptain = 0

Cek Orientasi

Apakah orientasi robot membelakangi gawang

lawan?

Apakah ada data1 dari

striker?

Putar hingga membelakangi gawang lawan D

YES

YES

YES

NO

NO

NO


(5)

26

Gambar 3.24 Diagram Kotak Algoritma Koordinasi pada robot mid fielder.

3.5.2.3Goal Keeper (GK)

Robot yang berfungsi sebagai goal keeper akan mengirimkan data jika dia dekat dengan bola dan memberikan data ke robot lain bahwa dia adalah captain (master) untuk memanggil robot lainnya untuk segera membantu ke daerah pertahanan.

D

flagCaptain = 0

Cek Bola

Cek Orientasi

Apakan orientasi robot membelakangi

gawang lawan?

Geser menjauhi bola

Mundur menjauhi bola Apakah sudut

tilt > 50?

Berhenti

Apakah ada data2 masuk dari robot pengirim data1? Apakah sudut

tilt > 25?

C YES

YES

YES

YES NO

NO NO


(6)

27

Data yang diterima robot goal keeper tidak semuanya diproses menjadi algoritma koordinasi. Data yang diproses hanya data yang berasal dari robot

striker. Ketika robot goal keeper menerima data-1 dari robot striker, robot goal keeper akan segera memposisikan dirinya untuk kembali pada posisi yang benar.

Gambar 3.25 Diagram Kotak Algoritma Koordinasi pada robot goal keeper. Keterangan diagram alir :

1. Data1 : data yang menunjukkan bahwa dalam satu team sudah terdapat

captain yang siap untuk menendang bola.

2. Data2 : data yang menunjukkan bahwa captain sudah selesai mengeksekusi bola atau kehilangan bola.

3. Pan : nilai sudut servo kepala yang bergerak pada sumbu y.Minimal nilai pan = 0 (kepala robot menghadap kiri) dan maksimal nilai pan = 180 (kepala robot menghadap ke kanan).

4. Tilt : nilai sudut servo kepala yang bergerak pada sumbux. Minimal nilai tilt = 0 (kepala robot menengadah ke atas) dan maksimal nilai tilt = 90 (kepala robot menunduk hingga melihat ujung kaki.

Mulai

Jaga Gawang

Apakah ada data1 dari striker?

Positioning