You are on page 1of 17

DESAIN DAN IMPLEMENTASI LAPISAN MODE GERAK AGEN

ROBOT PADA ROBOTSOCCER


Mindit Eriyadi1, Ary Setijadi Prihatmanto2, Estiko Rijanto3

Mindit Eriyadi, mindit@alumni.itb.ac.id, 085722675640


Ary Setijadi Prihatmanto, ary.setijadi@gmail.com, 081394404377
3
Estiko Rijanto, estikorijanto@yahoo.com, 08179879536

Abstract

Sepakbola robot adalah sebuah proyek internasional yang bertujuan untuk mendukung penelitianpenelitian di bidang Sistem Kecerdasan Buatan (Artificial Intelligence), Robotika, Independent Agent,
dan disiplin ilmu lain yang mempunyai keterkaitan dengan hal-hal tersebut di atas. Penelitian ini
secara umum bertujuan untuk merancang bangun sebuah sistem mirosot dengan pengembangan
disisi host menjadi client server system. Secara khusus bertujuan untuk mengembangkan konsep
lapisan mode gerak agen robot sepakbola. Selanjutnya lapisan mode gerak agen robot sepakbola ini
digunakan untuk mengembangkan kemampuan agen dan tim. Lapisan mode gerak agen robot
merupakan salah satu bagian dalam rancang bangun tim robot sepakbola. Lapisan mode gerak
agen robot telah didesain dan diimplementasikan dalam bentuk lapisan lapisan mode gerak agen
robot. Setiap lapisan mode gerak agen robot dapat digunakan sesuai dengan lingkungan dan target
yang dikehendaki. Desain lapisan mode gerak agen dilakukan dengan membagi mode gerak agen
kedalam beberapa lapisan gerak dengan tujuan untuk memudahkan pengujian, implementasi dan
pengembangan. Penelitian ini telah menghasilkan desain total 20 mode gerak yang terbagi dalam 3
lapisan gerak agen robot.
Kata kunci : Sepakbola robot, kecerdasan buatan, lapisan mode gerak robot, agen robot sepakbola

1. Pendahuluan
Sepakbola merupakan sebuah olah raga tim yang membutuhkan kemampuan individu dan kerjasama
tim untuk dapat melakukannya dengan baik. Ditinjau dari sudut pandang sistem informasi dan
komunikasi, dalam sepakbola terjadi pertukaran informasi dan komunikasi yang cukup kompleks
sehingga menarik untuk dipelajari.
Sepakbola robot adalah sebuah proyek internasional yang bertujuan untuk mendukung penelitianpenelitian di bidang Sistem Kecerdasan Buatan (Artificial Intelligence), Robotika, Independent Agent,
dan disiplin ilmu lain yang mempunyai keterkaitan dengan hal-hal tersebut di atas.

Dalam kaitan itu dilakukan perancangan dan pembuatan sistem mikro robot soccer atau mirosot di
Institut Teknologi Bandung, yang terdiri dari sistem mekanik robot, sistem elektronik robot, sistem
vision, sistem komunikasi, dan sistem host yang dikembangkan menjadi sistem client server serta
kemampuan lapisan mode gerak agen robot sebagai bagian dari kecerdasan buatan yang digunakan
pada robot.
Penelitian ini secara umum bertujuan untuk merancang bangun sebuah sistem mirosot dengan
pengembangan disisi host menjadi client server system. Secara khusus bertujuan untuk

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

mengembangkan konsep lapisan mode gerak agen robot sepakbola. Untuk selanjutnya lapisan mode
gerak agen robot sepakbola ini digunakan untuk mengembangkan kemampuan agen dan tim.

Penelitian ini dibatasi pada desain dan implementasi lapisan mode gerak agen robot sepakbola
dengan pengujian pada sistem mirosot yang dibangun oleh tim mirosot dengan menggunakan
mekanik robot dari Yujin Robotics Co, Ltd.

2. Landasan Teori
2.1.

Sepakbola Robot

Robot Soccer atau sepakbola robot adalah sebuah proyek internasional yang bertujuan untuk
mendukung penelitian-penelitian di bidang Sistem Kecerdasan Buatan (Artificial Intelligence),
Robotika, Independent Agent, dan disiplin ilmu lain yang mempunyai keterkaitan dengan hal-hal
tersebut di atas. Salah satu liga sepakbola robot adalah yang dikembangkan oleh Federation of
International Robot-soccer Association (FIRA). Selain Mirosot, ada beberapa liga yang dikelola oleh
FIRA, seperti Narosot (Nano Robot World-Soccer Tournament), Amiresot (Amire Soccer Tournament),
Hurosot (Humanoid World-cup Robot soccer Tournament), Androsot, dan simulasi Mirosot atau
Simurosot. [1].

Gambar 1. Sistem Mirosot FIRA [2]

2.2.

Model Kendali Gerak Agen Robot

Model matematis dari kinematika robot yang digunakan adalah sebagaimana digambarkan sebagai
berikut :

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

Gambar 2. Model kinematika robot [1]


Input kendali :

(1)

dimana,
(x,y) = posisi robot
= orientasi robot

(2)

dimana,
v = kecepatan linier robot
w = kecepatan angular robot

Suara diproduksi oleh sebuah obyek yang bergetar, contohnya loudspeaker, musical instrument,
ataupun pita suara manusia. Hubungan antar input kendali dengan kecepatan roda [3] :

(3)

Persamaan kinematika yang didapat :

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

(4)

Dasar kendali gerak pada robot untuk dapat bergerak mengelilingi titik poros adalah sebagai berikut :

Gambar 3. Model dasar kendali gerak [1]

(5)

(6)

R = diameter

Dengan R = ~, maka agar bergerak lurus VL = VR

Agar bergerak R=0, maka agar bergerak berotasi VL = - VR

3. Perancangan
Perancangan pada tahap awal meliputi perancangan umum sistem sepakbola robot mikro (mirosot)
dengan sistem client server yang digambarkan pada diagram berikut :

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

Gambar 4. Diagram Sistem Sepakbola Robot Miga-i [9]


Desain lapisan mode gerak agen robot yang dikembangkan terbagi dalam tiga lapisan mode gerak.
3.1. Desain Lapisan Mode Gerak Dasar
Lapisan gerak dasar agen merupakan gerak robot agen tanpa menggunakan sensor. Desain gerak
dasar agen adalah sebagai berikut :
1. Maju
Gerak maju merupakan gerak dasar agen robot dengan memberikan kecepatan senilai VL dan VR
untuk motor kiri dan kanan robot. Dengan format paket data :
start

id

+ vl[0]

vl[1]

vl[2]

+ vr[0]

vr[1]

vr[2]

end

2. Mundur
Gerak mundur merupakan gerak dasar agen robot dengan memberikan kecepatan senilai VL dan
VR untuk motor kiri dan kanan robot. Dengan format paket data :
start

i
d

- vl[

vl[

vl[

- vr[0

0]

1]

2]

vr[1

vr[2

en

3. Putar Kanan 90o


Gerak putar kanan merupakan gerak dasar agen robot dengan memberikan kecepatan senilai +VL
dan + VR untuk motor kiri dan kanan robot. Dengan format paket data :
VL = 0
VR = +
start

i
d

+ vl[

vl[

vl[

+ vr[0

0]

1]

2]

vr[1

vr[2

en

4. Putar Kiri 90o


Gerak putar kiri merupakan gerak dasar agen robot dengan memberikan kecepatan senilai +VL
dan +VR untuk motor kiri dan kanan robot. Dengan format paket data :
VL = +
VR = 0
start

i
d

+ vl[

vl[

vl[

+ vr[0

0]

1]

2]

vr[1

vr[2

en

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

5. Spin Kanan
Gerak spin kanan merupakan gerak dasar agen robot dengan memberikan kecepatan senilai -VL
dan + VR untuk motor kiri dan kanan robot. Dengan format paket data :
| VL | = | VR |
start

- vl[

vl[

vl[

+ vr[0

0]

1]

2]

vr[1

vr[2

en

6. Spin Kiri
Gerak spin kiri merupakan gerak dasar agen robot dengan memberikan kecepatan senilai +VL dan
- VR untuk motor kiri dan kanan robot. Dengan format paket data :
| VL | = | VR |
start

+ vl[

vl[

vl[

- vr[0

0]

1]

2]

vr[1

vr[2

en

7. Belok Kanan
Gerak belok kanan merupakan gerak dasar agen robot dengan memberikan kecepatan senilai
+VL dan + VR untuk motor kiri dan kanan robot. Dengan format paket data :
VL > VR

start

+ vl[

vl[

vl[

+ vr[0

0]

1]

2]

vr[1

vr[2

en

8. Belok Kiri
Gerak belok kanan merupakan gerak dasar agen robot dengan memberikan kecepatan senilai
+VL dan + VR untuk motor kiri dan kanan robot. Dengan format paket data :
VL < VR
start

i
d

+ vl[

vl[

vl[

+ vr[0

0]

1]

2]

vr[1

vr[2

en

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

3.2. Desain Lapisan Pertama Gerak Agen


Lapisan pertama gerak agen merupakan gerak robot agen dengan menggunakan input data dari
sensor sistem vision. Perancangan lapisan pertama gerak agen beserta algoritmanya adalah
sebagai berikut :
1. Maju
Tabel 1. Desain Fungsi Maju
Input data

Algoritma

Targ
et

Terima posisi

Posi

tujuan (xR,yR) dan

Sudu

si

sudut target

Tuju

relative terhadap

targe

an

robot (e). Jika

(xT,yT

fungsi posisi

relati

)
-

dan sudut

ve

menghasilkan

terha

e = 0, kemudian

dap

berikan

robot

kecepatan motor

=0

kiri (Vl) dan

(e =

kecepatan motor

0).

kanan (Vr)

dengan arah (+)

Posi

untuk menuju

si

posisi

robot

tujuan(xT,yT)kem

udian berhenti.

posis

Jika tidak,

jalankan fungsi

targe

sudut kemudian

Sudu
t
targe
t
relati
ve
terha
dap
robot
(e)

berikan
kecepatan motor
kiri (Vl) dan
kecepatan motor
kanan (Vr)
dengan arah (+)
untuk menuju
posisi
tujuan(xT,yT)

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

kemudian
berhenti.
2. Mundur
Tabel 2. Desain Fungsi Mundur
Input data
-

Algoritma

Target

Posisi

Terima posisi tujuan

-Sudut

Tujuan

(xR,yR) dan sudut target

target

(xT,yT)
Sudut

relative terhadap robot

relative

(e). Jika fungsi

terhada

posisi dan sudut

p robot

menghasilkan e =

= 0 (e

180, kemudian berikan

= 0).

kecepatan motor kiri (Vl)

-Posisi

dan kecepatan motor

robot =

kanan (Vr) dengan arah

posisi

(-) untuk menuju posisi

target.

target
relative
terhada
p robot
(e)

tujuan(xT,yT)kemudian
berhenti. Jika tidak,
jalankan fungsi sudut
sampai mendapat e =
180 kemudian berikan
kecepatan motor kiri (Vl)
dan kecepatan motor
kanan (Vr) dengan arah
(-) untuk menuju posisi
tujuan(xT,yT) kemudian
berhenti.
3. Belok Kanan
Tabel 3. Desain Fungsi Belok Kanan
Input data

Algoritma

Targe
t

Posis

Terima posisi

tujuan (xR,yR)

Sudu

Tujua

dan sudut target

relative terhadap

targe

(xT,yT

robot (e). Jika

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

)
Sudu
t
targe
t
relati
ve
terha
dap
robot
(e)

fungsi posisi

relati

dan sudut

ve

menghasilkan

terha

e>0, kemudian

dap

berikan

robot

kecepatan motor

>0

kiri (Vl) dan

(e >

kecepatan motor

0).
-

kanan (Vr)
dengan arah (+)
untuk menuju
posisi
tujuan(xT,yT)den
gan Vr<Vl
kemudian
berhenti. Jika
tidak, jalankan

Posis
i
robot
=
posis
i
targe
t.

fungsi sudut
sampai
mendapat e>0
kemudian
berikan
kecepatan motor
kiri (Vl) dan
kecepatan motor
kanan (Vr)
dengan arah (+)
untuk menuju
posisi
tujuan(xT,yT)den
gan Vr<Vl
kemudian
berhenti.
4. Belok Kiri
Tabel 4. Desain Fungsi Belok Kiri
Input data

Algoritma

Targe
t

Posis

Terima posisi

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

tujuan (xR,yR)

Sudu

Tujua

dan sudut target

relative terhadap

targe

(xT,yT

robot (e). Jika

)
Sudu

fungsi posisi

relati

dan sudut

ve

menghasilkan

terha

e<0, kemudian

dap

berikan

robot

kecepatan motor

<0

kiri (Vl) dan

(e <

kecepatan motor

0).
-

t
targe
t
relati
ve
terha
dap

kanan (Vr)

robot
(e)

dengan arah (+)


untuk menuju
posisi
tujuan(xT,yT)den
gan Vr>Vl
kemudian
berhenti. Jika
tidak, jalankan

Posis
i
robot
=
posis
i
targe
t.

fungsi sudut
sampai
mendapat e<0
kemudian
berikan
kecepatan motor
kiri (Vl) dan
kecepatan motor
kanan (Vr)
dengan arah (+)
untuk menuju
posisi
tujuan(xT,yT)den
gan Vr>Vl
kemudian
berhenti.
5. Spin Kanan
Tabel 5. Desain Fungsi Spin Kanan
The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

Input

Algoritma

Target

Pos

Terima posisi

Berpu

isi

robot

tar

Rob

(xR,yR,)kemudia

ditem

ot

n berikan

pat.

(xR,

kecepatan motor

yR)

kiri (Vl) dengan

data
-

arah (+) dan


kecepatan motor
kiri (Vr) dengan
arah (-).
6. Spin Kiri
Tabel 6. Desain Fungsi Spin Kiri
Input

Algoritma

Target

Pos

Terima posisi

Berpu

isi

robot

tar

Rob

(xR,yR,)kemudia

ditem

ot

n berikan

pat.

(xR,

kecepatan motor

yR)

kiri (Vl) dengan

data
-

arah (+) dan


kecepatan motor
kiri (Vr) dengan
arah (-).

3.3. Desain Lapisan Kedua Gerak Agen


Lapisan kedua gerak agen robot merupakan gerak robot agen dengan menggunakan input data
dari sensor sistem vision dan dapat mengetahui objek lain. Perancangan lapisan kedua gerak
agen robot beserta algoritmanya adalah sebagai berikut :
1. Sudut
Sudut dibuat sebagai sebuah fungsi yang berguna untuk menghitung sudut robot, sudut
target dan sudut target relatif terhadap robot.
Tabel 7. Desain Fungsi Sudut
Input

Algoritma

Target

data

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

Posi

Terima posisi robot

si

(xR,yR, ), posisi

Menghitung

Robo

tujuan (xT,yT), hitung

sudut objek

sudut target(d)

(d)

(xR,y

kemudian hitung

)
Posi

sudut target realtif

Mendapatk

terhadap robot (e)

an sudut

kemudian berhenti

target

setelah menghadap

relatif(d)

tujuan.

terhadap

R,

si
Tuju
an
(xT,yT

robot (e).

)
2. Posisi
Posisi dibuat sebagai sebuah fungsi yang berguna untuk memberikan kecepatan motor kiri
(Vl) dan kecepatan motor kanan (Vr) dari robot dengan arah yang berlawanan untuk
menghadap posisi tujuan (xT,yT).
Tabel 8. Desain Fungsi Posisi
Input data
-

Algoritma

Target

Posisi

Terima posisi robot

Sudut

Robot

(xR,yR,) dan sudut

target

(xR,yR,

target relative

relative

)
Sudut

terhadap robot (e)

terhadap

kemudian lakukan

robot = 0

normalisasi sudut

(e = 0).

target
relative
terhada
p robot
(e)

kemudian berikan
kecepatan motor kiri
(Vl) dan kecepatan
motor kanan (Vr)
dengan arah yang
berlawanan untuk
bergerak sesuai
kecepatan.

3. Mendekati Bola
Tabel 9. Desain Fungsi Mendekati Bola
Input data

Algoritma

Target

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

Robot

(xR,yR,) kemudian

target

(xR,yR,

jalankan fungsi

relativ

maju.

)
-Sudut

terhad

target

ap

relative

robot =

terhad

0 (e =

ap
robot

0).
Vl & Vr

(e)
4. Menggiring Bola
Tabel 10. Desain Fungsi Menggiring Bola
Input data
-

Algoritma

Target

Posisi

Terima posisi

Robot

robot(xR,yR,)kemudi

target

(xR,yR,

an jalankan fungsi

relative

posisi kemudian

terhad

jalankan fungsi

ap

sudut kemudian

robot =

jalankan fungsi maju

0 (e =

)
-Posisi

Bola
(xB,yB)
-Sudut

menuju posisi bola

target
relative
terhada
p robot

(xB,yB) sampai titik


tujuan kemudian
ulangi lagi dari

Sudut

0).
Vl & Vr
Bola
digiring
robot

fungsi posisi.

(e)

5. Menendang Bola
Tabel 11. Desain Fungsi Menendang Bola
Input data

Algoritma

Target

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

Terima posisi robot

-Posisi
Robot
(xR,yR)
-Posisi
Bola
(xB,yB)
-Sudut

Sudut

(xR,yR) kemudian

target

jalankan fungsi

relative

sudut kemudian

terhada

jalankan fungsi

p robot

posisi kemudian

= 0 (e

jalankan fungsi maju

target
relative

menuju posisi bola

= 0).
Vl & Vr
Bola

(xB,yB) kemudian

terhad

ditenda

dorong kemudian

ap

ng

jalankan perintah

robot

robot

lain(ulangi) atau

(e)

berhenti

6. Menendang Bola Ke Gawang


Tabel 12. Menendang Bola Ke Gawang
Input data
-Posisi
Robot
(xR,yR)
-Posisi
Bola
(xB,yB)
-Sudut
target
relativ
e
terhad
ap
robot
(e)
-Titik gol

Algoritma
Terima posisi

Target
-

Sudut

robot (xR,yR)

target

kemudian

relative

jalankan fungsi

terhad

position

ap

kemudian

robot =

jalankan fungsi

0 (e =

sudut kemudian
jalankan fungsi
maju menuju
posisi bola
(xB,yB) kemudian
dorong sampai

0).
Vl & Vr
Bola
ditend
ang ke
gawan
g

titik gol gawang

gawan

kemudian

jalankan perintah
lain(ulangi) atau
berhenti

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

4. Implementasi dan Pengujian


4.1.

Implementasi

Implementasi dilakukan dengan menurunkan algoritma dan model matematis dari setiap fungsi
kendali kedalam program menggunakan bahasa pemrograman C++ .
Struktur pemrograman kendali gerak agen robot sepakbola terdiri dari bagian masukan, formula
berupa fungsi dan model matematis, dan target.

Gambar 5. Blok Diagram Struktur Pemrograman


Masukan merupakan parameter yang akan dimanipulasi oleh fungsi dan model matematis untuk
mencapai tujuan. Fungsi dan model matematis adalah deretan langkah langkah sistematis dalam
memanipulasi parameter dari masukan untuk mencapai tujuan. Tujuan adalah kondisi yang harus
dicapai setelah fungsi dan model matematis memanipulasi parameter masukan.
Dalam pemrograman kendali agen robot sepakbola ini digunakan simbol simbol untuk memudahkan
dalam penulisan program. Berikut ini penjelasan simbol simbol yang digunakan dalam implementasi
pemrograman kendali gerak agen sepakbola robot.

4.2.

Pengujian

Pengujian dilakukan dengan menjalankan setiap formula dalam bentuk fungsi dan model matematis
yang dituliskan dalam program. Didalam pengujian ini, dibandingkan kesesuaian antara kondisi awal
dan akhir agen dengan kondisi seharusnya. Ketika gerakan robot sesuai, maka implementasi formula
dinyakatan berhasil.
Rekapitulasi hasil pengujian ditampilkan dalam tabel hasil pengujian sebagai berikut :

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

5. Kesimpulan
Lapisan mode gerak agen robot merupakan salah satu bagian dalam rancang bangun tim robot
sepakbola . Kendali gerak agen robot telah didesain dan diimplementasikan dalam bentuk lapisan
lapisan mode gerak agen robot. Setiap lapisan mode gerak agen robot dapat digunakan sesuai
dengan lingkungan dan target yang dikehendaki. Lapisan mode gerak agen robot yang sudah
dikembangkan yaitu :
1. Lapisan Gerak Dasar
a. Maju
b. Mundur
c. Putar kanan 900
d. Putar kiri 900
e. Belok kanan
f. Belok kiri
g. Spin kanan
h. Spin kiri
2.
a.
b.
c.
d.
e.
f.

Lapisan Pertama Gerak dengan Sensor


Maju
Mundur
Belok kanan
Belok kiri
Spin kanan
Spin kiri

3.
a.
b.
c.
d.
e.
f.

Lapisan Kedua Gerak dengan Objek Lain


Sudut
Posisi
Mendekati bola
Menggiring bola
Menendang bola
Membuat gol

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

Dalam implementasi setiap formula disesuaikan dengan kemampuan mekanik dan elektronik dari
robot yang dibangun.

The 1st International Joint Conference of Indonesia-Malaysia-Bangladesh-Ireland (IJCIMBI) 2015

You might also like