PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat...

20
8 BAB III PERANCANGAN SISTEM Pada bab ini akan dijelaskan mengenai perancangan dari sistem instruksi, perangkat keras, serta perangkat lunak dari algoritma robot. 3.1 Sistem 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 Bluetooth

Transcript of PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat...

Page 1: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

8

BAB III

PERANCANGAN SISTEM

Pada bab ini akan dijelaskan mengenai perancangan dari sistem instruksi, perangkat

keras, serta perangkat lunak dari algoritma robot.

3.1 Sistem 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

TX0/RX0

Servo

Controller

TX/RX

PORT I/O

INT0

ATmega 8

Smartphone Servo Xbee

Bluetooth

Page 2: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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).

Page 3: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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.

Page 4: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

CF

Page 5: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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.

Gambar 3.5 Robot sebagai Mid Fielder.

Page 6: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

Page 7: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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 Robot Teman

Page 8: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

Page 9: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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 7.8v 5v

Page 10: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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.

Gambar 3.16 Skematik board ATmega8.

Page 11: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

18

3.5 Bagian 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

NO

Page 12: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

Page 13: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

B

Page 14: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

Selesai

Page 15: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

Page 16: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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.1 Striker (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

bola

Page 17: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

NO

Page 18: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

25

3.5.2.2 Mid 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

C

Page 19: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

26

Gambar 3.24 Diagram Kotak Algoritma Koordinasi pada robot mid fielder.

3.5.2.3 Goal 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

Page 20: PERANCANGAN SISTEM 3.1 Sistem Instruksi Robot · dengan bola, sedangkan kepala dari robot saat berjalan tidak pada posisi yang konstan. Oleh sebab itu, penulis membuat suatu algoritma

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

YES NO