## Pengembangan Robot Humanoid Pemain Bola Otonom
Hadha Afrisal 1* , Munadi 2 , Muhammad Faris 3 , Bakhtiar Alldino A.S. 4
1 Departemen Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, 2 Departemen Teknik Mesin, Fakultas Teknik, Universitas Diponegoro, Jl. Prof. Soedarto, SH, Kampus UNDIP Tembalang, Semarang, Indonesia 50275
3 Departemen Teknik Elektro dan Teknologi Informasi, Fakultas Teknik, Universitas Gadjah Mada,
4 Departemen Ilmu Komputer dan Elektronika, Fakultas MIPA, Universitas Gadjah Mada, Bulaksumur, Yogyakarta, Indonesia 55281

## Abstrak
Penelitian  ini  bertujuan  mengembangkan  robot  humanoid  untuk permainan  sepakbola secara  otomatis. Robot  humanoid  yang  dikembangkan  tersusun  atas  20  sendi  yang  digerakkan  dengan  motor  servo dynamixel  berjenis  AX-12  (bagian  tubuh  atas)  dan  RX-24  (bagian  tubuh  bawah),  serta  dikontrol menggunakan  board  servo-controller  CM-700  (ATMega2561).  Robot  humanoid  memiliki  tinggi  44  cm serta  dilengkapi  dengan  sistem  keseimbangan  menggunakan  sensor  gyro  LPR530  dan  akselerometer KXM52-1050.  Untuk  mengenali  objek  dan  bernavigasi  secara  otomatis,  robot  humanoid  menggunakan sistem  sensor  visual  berbasiskan  kamera  CMOS  dengan  board  CMUCAM  (LPC2106).  Pengujian menunjukkan bahwa robot humanoid pemain bola yang dikembangkan mampu berjalan dengan kecepatan rata-rata  14.37  cm/detik  dan  memiliki  kecepatan  maksimal  20  cm/detik.  Robot  humanoid  yang dikembangkan  mampu  bermain  bola  secara  otomatis:  yakni  mampu  mendeteksi  keberadaan  bola, mendeteksi lokasi gawang, serta menendang bola ke arah gawang dan mencetak gol.
Kata kunci : robot; humanoid; sepakbola; otonom; deteksi bola

## Abstract
[Title:  The  Development  of  Autonomous  Humanoid  Soccer  Robot] This  research  aims  to  develop  an autonomous humanoid soccer robot. The humanoid soccer robot is designed using 20 joints which are equipped with dynamixel servo motor AX-12 (upper body) and RX-24 (lower body) and is controlled by using servo controller board CM-700 (ATMega2561). The humanoid soccer robot is 44 cm in height and is equipped with a balancing system of using gyro sensor LPR530 and accelerometer KXM52-1050. In order to detect object and to navigate autonomously, the humanoid soccer robot is equipped with a CMOS camera which is controlled using CMUCAM board (LPC2016). The experiment shows that the humanoid soccer robot has ability to walk with average speed of 14.37 cm/second and is able to achieve a top speed of up to 20 cm/second. The developed humanoid soccer robot can play soccer autonomously: to locate the ball, to detect the goalpost, and to score the goal to the goalpost.
Keywords : robot; humanoid; soccer; autonomous; ball detection
1. Pendahuluan Para  ilmuwan  pengembang  robot  humanoid melalui  organisasi  RoboCup  bercita-cita  untuk mengembangkan robot humanoid yang akan siap untuk bertanding  dengan  tim  sepakbola  manusia  pada  tahun
2050 (Gerndt,  Seifert,  Baltes,  Sadeghnejad,  &  Behnke, 2015).  Sepakbola  dipilih  sebagai  patokan  keberhasilan riset  robot  humanoid  karena  di  dalam  permainan sepakbola  terdapat  aspek-aspek  kecerdasan  fisik,  yakni perpaduan  antara  ketangkasan  motorik  yang  didukung dengan  kecerdasan  sensorik.  Pemain  sepakbola diharuskan memiliki fisik  yang  kuat  dan  lincah,  serta memiliki kemampuan analisa dan kerjasama yang tinggi.
------------------------------------------------------------------
*) Penulis Korespondensi. E-mail: hadha.afrisal@elektro.undip.ac.id

## TEKNIK, 40 (1), 2019, 2
Copyright © 2019, TEKNIK, p-ISSN: 0852-1697, e-ISSN: 240-9919
Aspek-aspek  tersebutlah  yang menjadikan sepakbola dipilih  sebagai  tolok  ukur  keberhasilan  pengembangan robot  humanoid.  Robot  humanoid  yang  dikembangkan diharapkan  memenuhi  prasyarat  antara  lain:  memilki struktur  mekanik  yang  kokoh  dan  ringan,  sistem keseimbangan tubuh  yang  mumpuni,  kecepatan  dan kelincahan  dalam  navigasi,  serta  kecerdasan  untuk mengenali objek (Burkhard, et al., 2002).
Robot  humanoid pemain  bola didesain  memiliki tinggi tubuh antara 30 cm sampai 60 cm untuk bermain dalam  sebuah  miniatur  lapangan  sepakbola  berukuran 6x4  meter.  Masing-masing  tim  yang  bertanding  terdiri dari  3  buah  robot  humanoid  yang  berfungsi  sebagai kiper,  pemain  bertahan,  dan  pemain  serang.  Robot bermain bola secara autonomous dengan mengandalkan sensor  visual  berupa  kamera.  Untuk  memenuhi kualifikasi  tersebut,  robot  humanoid  pemain  bola  yang dikembangkan ini terdiri dari 20 sendi dan dengan tinggi tubuh  44  cm.  Masing-masing  sendi  digerakkan  oleh smart  servo dynamixel  AX-12  dan  RX-24  yang memiliki  spesifikasi  torsi  yang  cocok  untuk pengembangan  robot  humanoid  berukuran  kecil (Kim, Son,  &  Kim,  2004).  Sistem  penglihatan  robot menggunakan  modul  kamera  C3088  dengan  board CMUCAM  yang  sekaligus  berfungsi  sebagai main controller pada robot. Untuk mengendalikan pergerakan motor  servo  pada  robot  serta  membaca  nilai  gyro  dan akselerometer  pada  sistem  keseimbangan  dan fall- detection ,  robot  menggunakan  board  CM-700 (ATMega2561).
2. Bahan dan Metode
2. 1. Sistem Mekanik, Aktuator dan Keseimbangan Sistem  Mekanik: Perancangan  sistem  mekanik robot  dilakukan  dengan  menggunakan  software AutoCAD Inventor. Rancangan robot ditampilkan pada Gambar  1  (sebelah  kiri)  dengan  spesifikasi  mekanik sebagai berikut,
1. Rangka  robot  menggunakan  bahan  aluminium tipe  5  dengan  tebal  3mm,  digunakan  pada seluruh  tubuh  robot  kecuali  pada  bagian  kepala yang menggunakan aluminium 2 mm.
2. Sendi-sendi  yang  menggerakkan upper  body (bagian  tubuh - mencakup  tangan  dan  kepala) menggunakan servo dynamixel seri AX-12.
3. Sendi-sendi  pada lower  body (bagian  kaki) digerakkan oleh servo dynamixel seri RX-24.
4. Baterai dipasang di bagian bawah kaki (sebelah kanan  dan  kiri  secara  paralel). Rangkaian kontroler diletakkan pada bagian punggung.
Idealnya,  sensor  keseimbangan  terletak  tepat  di posisi Center of Mass (CoM) robot saat kondisi standby untuk berjalan. Pada perancangan, sensor keseimbangan yang  terdiri  dari  gyro  dan  akselerometer  yang  disusun
bertumpuk  pada  sumbu  Z  berada  pada  posisi  270  mm dari  titik  terbawah  robot  pada  saat  robot  berdiri  tegak. Pengukuran  CoM  robot  dilakukan  saat  bagian-bagian robot  sudah  terpasang  dengan  lengkap,  termasuk pengkabelan, baterai, dan sebagainya. Postur robot saat berjalan  ditunjukkan  pada  Gambar  1.  Posisi  kaki  robot saat standby diposisikan  menekuk  guna  menyesuaikan agar sensor  keseimbangan robot berada mendekati titik CoM.  Pada  postur standby ,  CoM  robot  humanoid terletak  pada  ketinggian  220  mm.  Pemasangan  sensor keseimbangan  menggunakan  sumbu  X  dan  Y, sedangkan sumbu Z diabaikan untuk simplifikasi proses kontrol. Guna mengoreksi ayunan gerakan ke depan dan ke  belakang,  pada  robot  digunakan input  sensor keseimbangan di sumbu X, sedangkan untuk mengoreksi ayunan  gerakan  ke  samping  kanan  dan  kiri  digunakan input sensor keseimbangan pada sumbu Y.
Aktuator: Aktuator  yang  digunakan  pada  robot humanoid adalah smart servo dynamixel seri AX-12 dan RX-24,  dimana  kedua  jenis  servo  tersebut  memiliki kualitas  aktuasi  yang  cukup  presisi  dan  halus. Dynamixel  merupakan  smart  servo  yang  didesain khusus  untuk  digunakan  pada  robot  humanoid.  Jika dibandingkan  dengan  servo-servo  lain,  dynamixel memiliki  keunggulan  antara  lain  adanya  fitur feedback untuk mengontrol dan memonitor posisi dan torsi secara akurat.  Terlebih  lagi  dengan  desainnya  yang  modular bertopologi Daisy  Chain ,  dynamixel  lebih  efisien diterapkan pada robot humanoid (Thai, 2017). Meskpun torsi yang dihasilkan oleh RX-24 lebih besar dibanding dengan AX-12, namun RX-24 lebih boros daya sehingga RX-24  hanya  digunakan  untuk  menopang  sendi-sendi yang  membutuhkan penggerak dengan torsi lebih besar seperti pada bagian tubuh bawah.
Sistem keseimbangan: Pada robot pemain bola, sistem keseimbangan berbasis inersia sebenarnya hanya dibutuhkan  ketika  terjadi ketidakseimbangan yang diakibatkan  slip,  sandungan,  atau  tabrakan,  sehingga pada  kondisi  normal locomotion robot  dapat  dianggap sebagai static  walking (Mobalegh,  2012). Sistem keseimbangan  robot  humanoid  menggunakan  sensor gyro  dan  akselerometer,  dengan  pemodelan  sistem keseimbangan Cart-Table  Model (Kajita,  et  al.,  2003). Pada sistem keseimbangan dan fall-detection , gyro yang digunakan adalah LPR530AL produksi ST yang mampu mendeteksi  kecepatan  putar  2  axis  (pitch  dan  roll) hingga  maksimal  300°/detik.  Dengan  menggunakan supply  tegangan  3  Volt  dan  tegangan  referensi  1.23 Volt,  pada  masing-masing  axis,  gyro  akan  mendeteksi kondisi diam ( zero rate level ) pada tegangan 1.23 Volt. Saat terjadi kecepatan sudut maksimal (300°/detik) pada arah positif, gyro akan mengeluarkan tegangan 2.23 Volt dan  sebaliknya  jika  terjadi  kecepatan  sudut  maksimal pada  arah  negatif  gyro  akan  mengeluarkan  nilai tegangan 0.23 Volt (Antonello & Oboe, 2011).
Gambar 1 . Rancangan Mekanis Robot Humanoid dan Penempatan Sensor Keseimbangan pada Tubuh Robot Humanoid
Akselerometer merupakan
sensor untuk mengukur  percepatan,  namun  sebenarnya  yang  diukur oleh akselerometer adalah gaya yang didapat per satuan massa  ( Acceleration  =  Force  /  Mass ).  Saat akselerometer  diam  atau  bergerak  dalam  kecepatan konstan,  keluaran  akselerometer  tidak  bernilai  nol melainkan  akan  mendeteksi  percepatan  gravitasi  pada sumbu  yang  memiliki  komponen  yang  tegak  lurus terhadap  permukaan  bumi.  Akselerometer  yang digunakan pada robot humanoid adalah 3-axis KXM52- 1050  produksi  Kionix.  Akselerometer  tersebut  dapat mendeteksi percepatan pada 3 sumbu yang saling tegak lurus  yaitu  sumbu  X,  Y,  dan  Z  dengan  masing-masing sumbu mampu mendeteksi percepatan bernilai maksimal + 2  g.  Output  sensor  ini  berupa  tegangan  dengan tegangan  kerja  antara  3  Volt  sampai  7  Volt.  Keluaran tegangan sensor saat tidak terjadi akselerasi (0 g) adalah setengah  dari  sumber  tegangan  supply.  Sensor  tersebut memiliki sensitivitas 1 Volt/g (Bliley, et al., 2006).
Ada  beberapa  sistem  pemodelan  untuk mengendalikan  keseimbangan  robot  humanoid.  Dua jenis  pemodelan  yang  paling  terkenal  adalah Linear Inverted  Pendulum  Model (LIPM)  dan Cart-Table Model (CTM) (Peng,  Shui,  Li,  &  Ma,  2010).  Pada sistem  keseimbangan  robot  humanoid  pemain  bola, model yang digunakan adalah Cart-Table Model seperti yang dijelaskan oleh Kajita (Kajita, et al., 2003). Selain itu pada robot juga ditambahkan guidance control pada tangan sebagai penyeimbang tetap tegaknya tubuh robot. Pergerakan  robot  humanoid  dirancang  sehingga  posisi upper  body tetap  tegak  (sama  dengan  posisi standby ) meskipun  saat  robot  sedang  melangkahkan  kaki. Pemodelan  dengan  CTM  lebih  mudah  diterapkan  pada robot  humanoid kecil  dengan  sistem  kontroler  yang
memiliki kemampuan processing kecil. Namun sebagai konsekuensinya,  pergerakan  robot  menjadi  cenderung kaku karena upper body dipertahankan agar tetap tegak. Untuk  memperhalus  gerakan  robot  sekaligus  sebagai penyeimbang, maka digunakan sistem Hand-Balancing . Gambar  2  menampilkan  visualisasi  pemodelan keseimbangan  humanoid  dengan  CTM  dengan persamaan  matematis  yang  diuraikan  pada  persamaan (1) dan (2). Model matematis tersebut digunakan untuk mengontrol Zero  Moment  Point (ZMP)  saat  robot melangkah,  yaitu  dengan  mengontrol  pergeseran  ZMP pada  sumbu  x  dan  sumbu  y.  Selanjutnya,  nilai  selisih pergeseran  ZMP  tersebut  digunakan  sebagai  faktor pengali  pada  kompensator  di  masing-masing  motor servo.
Gambar 2 . Cart-Table Model (CTM) Robot Humanoid

## TEKNIK, 40 (1), 2019, 4
doi: 10.14710/teknik.v40n1.22916
(1)
(2)
Sesuai  formulasi  CTM (Kajita, et al., 2003) dan (Peng,  Shui,  Li,  &  Ma,  2010),  persamaan  (1)  dan  (2) merumuskan  hubungan  antara  nilai  pergeseran  ZMP pada sumbu x dan y terhadap ayunan CoM. Besarnya Px dan Py, yang merupakan momen pada sumbu X dan Y, ditentukan oleh pergeseran  CoM pada robot humanoid. Pemodelan  dianalogikan  sebagai Cart dengan  massa tertentu. Sedangkan kaki meja dianalogikan sebagai titik tumpu  robot  dimana  ZMP  bergeser.  Sistem  pergerakan robot  humanoid  adalah sistem  yang unpredictable , sehingga  untuk  dapat  berjalan  dengan  seimbang  maka dibutuhkan sensor keseimbangan yang diaplikasikan ke bentuk  pemodelan  tersebut.  Dalam  hal  ini,  gyro  dan akselerometer  berfungsi  sebagai  kompensator  dari goncangan atau slip pada pergerakan robot.
Nilai  kompensasi  yang  telah  dinormalisasi dengan  kebutuhan  sistem  kemudian  digunakan  sebagai pengurang  atau  penambah  goal  position  (pada joint offset ) servo-servo yang berkaitan dengan keseimbangan pada  sumbu  X  dan  Y.  Perhatikan  Gambar 2,  sebagai contoh  pada  sumbu  Y  (ayunan  kanan-kiri),  servo  yang menjaga  kestabilan  robot  adalah  servo  kaki  yang berwarna  kuning  serta  servo  tangan  yang  berwarna merah  yang  terletak  pada  pangkal  tangan.  Sedangkan pada  sumbu  X  (arah  depan-belakang),  servo  yang menjaga keseimbangan adalah servo kaki berwarna biru serta  servo  tangan  berwarna  hijau  yang  terletak  pada pangkal tangan.  Dengan memberikan nilai kompensasi pada joint offset servo maka sistem keseimbangan robot tetap  dapat  dipertahankan  meskipun  terdapat  selip  atau goncangan.

## 2. 2. Sistem Penglihatan untuk Pendeteksian Objek
Sistem  sensor  visual  berupa modul  kamera C3088  dengan  board  CMUCAM  digunakan  untuk pengenalan dan tracking objek, yakni bola dan gawang. Object  detection  and  tracking merupakan  proses  yang bertujuan untuk mengenali dan mengisolasi suatu objek tertentu untuk diketahui lokasi keberadaannya (Ismael & Hedley, 2016). Proses detection berfokus pada pencarian keberadaan  objek  yang  belum  terdeteksi  oleh  kamera, sedangkan  proses tracking bertujuan  untuk  mengikuti perpindahan  objek  agar  selalu  bisa  terdeteksi  dan  tidak terlepas  dari  jangkauan  kamera (Stephon  &  Khorbotly, 2012). Objek yang dimaksud pada penelitian ini adalah bola  berwarna  jingga  berdiameter  6  cm  serta  gawang berwarna  kuning  dan biru  yang  digunakan  dalam pertandingan humanoid  soccer  kid  size .  Pendeteksian objek-objek  tersebut  harus  dilakukan  secara real  time serta robust terhadap fluktuasi pencahayaan.
Kamera  OV6620  pada  modul  kamera  C3088 yang  digunakan  memiliki  resolusi  maksimal  352x288 piksel  data  RGB  ( Red,  Green,  and  Blue )  dengan kontroler  berupa  LPC2106.  Citra  berukuran  352x288 piksel  hanya  digunakan  dalam  proses detection , sedangkan  dalam  proses tracking dilakukan scaling setengah  resolusi  maksimal  (176x144  piksel)  guna mempercepat  proses  komputasi.  Agar  lebih  mudah dalam  mengenali  warna  dasar  tanpa  terpengaruh fluktuasi  pencahayaan,  maka  ranah  warna  RGB ditransformasikan  ke  ranah  warna  HSV  ( Hue, Saturation,  Value ).  Model  ranah  warna  HSV diformulasikan  oleh  A.R.  Smith  pada  tahun  1978 sebagai  karakter  warna  intuitif  yang  merepresentasikan kelas warna, kejernihan, dan intensitas cahaya.
Keuntungan  dari  penggunaan  ranah  warna  HSV pada  pengolahan  citra  adalah  adanya  separasi  antara warna  dasar  dengan  luminansi  sehingga  untuk mengenali  warna  dasar  hanya  menggunakan  nilai Hue dengan  mengatur Saturation dan Value pada  rentang tertentu (Farazi,  Allgeuer,  &  Behnke,  2018).  Setelah diperoleh  nilai-nilai  piksel  dalam  ranah  HSV,  maka selanjutnya  dilakukan  segmentasi  objek  berdasarkan warna dasarnya dengan menggunakan nilai Hue . Proses segmentasi  warna  jingga,  kuning,  dan  biru  dilakukan dengan  mempartisi  garis  warna Hue menjadi  3  bagian yaitu  jingga,  kuning,  dan  biru,  sedangkan  warna  lain tidak  akan  ditandai/diabaikan.  Interpretasi  nilai Hue tersebut  masih  dalam  bentuk  derajat.  Sedangkan  jika direpresentasikan  sebagai  nilai  warna  8-bit,  maka Hue akan berkisar antara 0 sampai 180, sedangkan nilai 180 – 255  tidak  digunakan.  Representasi  nilai  8-bit Hue adalah  nilai  derajat  dibagi  2.  Dari  informasi  tersebut kemudian  dibentuk  matriks array yang  terdiri  4  buah anggota,  yaitu  variabel  warna  =  {warna  1,  warna  2, warna 3, warna 4}, dengan penjelasan variabel :
1. Jingga = bernilai 15 – 25 sebagai warna 1
2. Kuning = bernilai 26 – 35 sebagai warna 2
3. Biru = bernilai 90 – 140 sebagai warna 3
4. Di  luar  batasan  tersebut  tidak  digunakan,  yaitu sebagai warna 4
Visualisasi  proses  pengolahan  citra  sampai  pada tahap  segmentasi  dan  ekstraksi  ciri  ditampilkan  pada Gambar  3.  Dari  proses  tersebut  dihasilkan  nilai-nilai batas bounding  box objek  yang  meliputi  X min ,  X max , Y min ,  dan  Y max pada  tiap-tiap  objek  (warna  1,  warna  2, warna  3,  atau  warna  4).  Selanjutnya  nilai-nlai  tersebut diolah dengan persamaan (3) sampai dengan persamaan (10) untuk mengetahui spesifikasi objek antara lain titik tengah bounding box (x, y), luasan bounding box , serta lokasi  centroid (x,  y)  yang  kemudian  digunakan  untuk pengembangan  algortima detection dan tracking pada robot humanoid pemain bola .
Gambar 3 . Proses Segmentasi Citra Berbasis Warna pada Robot untuk Detection and Tracking pada Bola dan Gawang
(3) (4) (5) (6) (7) (8) (9) (10)
Pada pengolahan citra, bounding box merupakan wilayah  yang  meliputi  sebuah  objek  tertentu  dengan luasan  wilayah  yang  disebut  sebagai bounding  area . Sedangkan centroid didefinisikan sebagai center of mass dari  objek  tersebut.  Istilah  centroid  tersebut  dicetuskan pertama  kali  oleh  Archimedes  dan  banyak  diadopsi dalam bidang matematika dan fisika untuk menentukan pusat massa, mean average atau center of symmetry dari sebuah  bidang (Apostol  &  Mnatsakanian,  2000).  Pada objek  yang  simetris,  centroid  terletak  tepat  di  titik tengah bounding box .
2. 3. Algoritma Permainan Robot Pemain Bola
Blok  diagram  sistem  secara  keseluruhan dijabarkan pada Gambar 4. Jika dikelompokkan, sistem kontrol pada robot humanoid yang dikembangkan terdiri dari 3 kelompok sistem kontrol, yaitu,
1. Visual  and  Intelligence  Control :  sistem  penglihatan dan  kecerdasan  (algoritma  permainan)  robot  yang dikendalikan melalui board CMUCam.
2. Information  and  Direction  Control :  sistem pengontrol  pusat  informasi  untuk  robot  (informasi arah gawang dan informasi state dari controller) yang dikontrol oleh custom board ATMega 8.
3. Motion  and  Balance  Control :  sistem  kontrol  untuk locomotion dan  keseimbangan  robot  yang  dikontrol oleh board CM-700.
Flowchart algoritma  permainan  robot  pemain bola dijelaskan pada Gambar 5. Secara sekuensial, robot akan  mengeksekusi  sub-bagian  gerakan  sesuai  dengan tahapan  bermain  bola,  yakni  mencari  keberadaan  bola, mendekat  ke  lokasi  bola  berada,  kemudian memposisikan diri untuk kemudian mencari gawang dan menendang bola ke arah gawang. Sistem permainan bola yang  dikembangkan  pada  penelitian  ini  belum melibatkan  koordinasi  antar  robot,  sehingga  hanya berfokus pada permainan individual.

## 3. Hasil dan Pembahasan
Pengujian robot humanoid pemain bola dilakukan dalam beberapa tahap, meliputi:
1. Pengujian sistem gerak ( gait generation ) 2. Pengujian sistem keseimbangan robot 3. Pengujian ball tracking
4. Pengujian permainan bola secara real-time Selain  itu,  proses  kalibrasi  dilakukan  sebelum robot diuji coba untuk melakukan permainan sepakbola, kalibrasi  meliputi  kalibrasi  pencahayaan  lingkungan (pengaturan  fokus  kamera,  gain,  dan  white  balance kamera), serta pengaturan arah kompas terhadap gawang sendiri dan gawang lawan.
Copyright © 2019, TEKNIK, p-ISSN: 0852-1697, e-ISSN: 240-9919
Gambar 4 . Diagram Alir Sistem pada Robot Humanoid Pemain Bola yang Dikembangkan
3. 1. Pengujian Sistem Gerak ( Gait Generation ) Pembuatan  gerakan  robot  ( gait  generation ) memanfaatkan  metode angle  trackback dari  pose  robot yang  dibuat  secara  manual.  Proses Tuning pose  robot dilakukan  dengan  cara  menggerakkan  tubuh  robot dengan mematikan torsi servo untuk membentuk postur dan  kemudian  menyimpan  nilai-nilai  sudut  masing- masing sendi pada Look Up Table (LUT). Pose-pose robot yang disusun merupakan bagian dari sebuah step pergerakan yang disimpan dalam array penerjemah  bagian  gerakan  robot.  Oleh  kontroler, bagian-bagian  gerakan  tersebut  dipanggil  sesuai  urutan dalam  sebuah  gerakan  robot,  dan  disusun  untuk membentuk gerakan utuh pada robot, misal untuk jalan ke depan, mundur, serong, dan sebagainya. Penggunaan LUT  cukup  efektif  diterapkan  pada  sistem  dengan kecepatan  prosesor  yang  tidak  terlalu  tinggi  dimana tidak  diperlukan  perhitungan inverse  kinematics  and dynamics secara  terus  menerus.  Nilai-nilai  pose  yang
disusun  dalam  LUT  tersebut  kemudian  dikelompokkan menjadi gugus-gugus jenis gerakan yang disambungkan melalui gerakan-gerakan transisi.
Gambar 5 . Rancangan Diagram Alir untuk Algoritma Permainan pada Robot Humanoid Pemain Bola
OV Camera CMUCam ATMega 8 ZigBee Compass CM-700 (ATMega2561) Gyro Accelerometer ID 1 ID 2 ID 19 ID 20
. . . Visual + Intelligence Control Information + Direction Control Motion + Balance Control 1-dir UART 1- di r U A R T V1 V2 V3 V4 Half Duplex UART START Game Controller Ready? Servo_Initialize() Camera_Initialize() Sensor_Calibrate() Ball_Searching() Ball Found? Head_Tracking() Ball_Locating() Ball Reached? GoalPost_Searching () Goal Post Found? Motion_Control() Positioning() Shooting_Ball() Game Finished? END Goal Scored? Approach() Yes Yes Yes Yes No No No No No Yes No Yes
Gambar 6 . Pembacaan Nilai ADC Sumbu X dan Y pada Gyro Ketika Robot Berjalan
3. 2. Pengujian Sistem Keseimbangan Robot
Pada  robot  pemain  bola,  sistem  keseimbangan berbasis  inersia  sebenarnya  hanya  dibutuhkan  ketika terjadi ketidakseimbangan yang  diakibatkan  slip, sandungan, atau tabrakan, sehingga pada kondisi normal locomotion robot dapat dianggap sebagai static walking . Pada  kondisi  jalan  yang  ideal  (tanpa  gangguan)  maka kompensator  keseimbangan  tidak  terlalu  berperan signifikan dalam menyeimbangkan tubuh robot. Dengan berpedoman  pada  CTM,  maka  gyro  dapat  diterapkan pada joint  offset robot  setiap  kali  robot  mengalami transisi gerakan. Nilai ADC gyro direkam dalam bentuk unsigned  integer 9-bit,  yaitu  pada  rentang  0  sampai dengan 511. Pembacaan nilai sensor gyro pada sumbu X dan  Y  saat  robot  berjalan  stabil  ditampilkan  pada Gambar 6.
Nilai  ADC  akselerometer  direkam  dalam  bentuk bilangan unsigned  integer 10-bit.  Pada  pengujian  yang dilakukan, data akselerometer diambil dengan sampling time 10 ms. Ada 4 jenis kondisi postur tubuh robot yang diuji antara lain: berdiri standby , berjalan dengan stabil, jatuh  ke  depan,  dan  jatuh  ke  belakang.  Pada  masing- masing  kondisi  postur  tersebut  data  akselerometer direkam  selama  20  detik.  Rekaman  data  akselerometer dalam 4 jenis postur tersebut ditampilkan dalam bentuk box-and-whisker  chart pada  Gambar  7  (kondisi  berdiri tegak dan berjalan stabil) dan Gambar 8 (jatuh ke depan dan  ke  belakang).  Pada  kondisi  berdiri  tegak,  nilai median data sensor berada pada 555 dengan rentang 550 sampai  560,  sedangkan  ketika  berjalan  stabil,  nilai median  sensor  bernilai  585  dengan  rentang  nilai  yang cukup  lebar  dari  546  hingga  598.  Nilai  median  dan range pada jatuh depan dan belakang digunakan sebagai parameter fall detection .
Gambar 7. Hasil Pengujian Nilai Sensor Gyro pada Kondisi Robot Berdiri Tegak dan Berjalan Stabil
Gambar 8. Hasil Pengujian Nilai Sensor Gyro pada Kondisi Robot Jatuh ke Depan dan Jatuh ke Belakang
Gambar 9. Pembagian Wilayah Tracking (Kiri) dan Hasil Pengujian Tuning Parameter Pengali, Kp, dan Kd Optimal pada Saat Mode Tracking (Kanan)
3. 3. Pengujian Ball Tracking dengan mode Active Head Pengujian bal tracking dengan mode active head dilakukan  menggunakan  objek  bola  tenis  warna  jingga berdiameter  6  cm  dengan background lapangan berwarna  hijau.  Lensa  standar  yang  digunakan CMUCam  memiliki focal  point 4.9  mm  dengan jangkauan  sudut  maksimal  25°,  yakni  sudut  jangkauan pada sumbu  X dan sumbu  Y bernilai  sekitar 20.9° dan 15.4° (Rowe,  Goode,  Goel,  &  Nourbakhsh,  2007). Frame  citra  dibagi  menjadi  4  wilayah  dengan  batasan pada  sumbu  X  tersekat  tiap  44  piksel  dan  sumbu  Y tersekat  tiap  36  piksel  (ditunjukkan  dengan  perbedaan warna pada frame Gambar 9 bagian kiri).
Pada  pengujian,  posisi  kepala  lurus  menghadap ke  depan  dengan  kondisi  awal  tanpa  objek  yang  akan dideteksi.  Kemudian  bola  sebagai  objek  yang  akan diikuti  dimunculkan  sehingga  terdeteksi  oleh  kamera pertama kali pada posisi (0,0), yaitu pada ujung kiri atas kamera. Dari stimulus tersebut maka kepala (yang terdiri dari  servo pan and tilt )  akan  melakukan  pergerakan tracking agar centroid warna  bola  berada  pada  titik tengah  kamera.  Letak centroid target  bola  dan  titik tengah  kamera  relatif  terhadap centroid kemudian dikirimkan ke PC melalui serial UART tiap 0.05 detik. Hasil  pengujian ball  tracking dengan  berbagai  nilai pengali pada masing-masing wilayah, Kp, dan Kd pada sumbu X dan Y ditampilkan pada Tabel 1 dan 2. Respon sistem  pada tuning optimal ditampilkan  Gambar  9 (bagian kanan).
Tabel  1 . Pengujian  Mode Head-Tracking pada  Sumbu X  dengan Tuning Nilai  Pengali  Wilayah  pada  berbagai Konstanta Proportional dan Derivative No Pengali Wilayah Kp Kd Kondisi 4 3 2 1 1 7 5 3 2 3 3 Terjadi Osilasi 2 6 4 3 2 3 2 Terjadi Osilasi 3 5 4 3 2 2 1 Terjadi Osilasi 4 5 4 3 1 2 0.6 Terjadi Osilasi 5 4 3 2 1 2 0.5 Terjadi Osilasi 6 4 3 2 1 1 0.4 Respon Tepat 7 4 3 2 1 1 0.3 Respon Lambat 8 4 3 2 1 1 0.2 Respon Lambat 9 4 3 2 1 1 0.1 Respon Lambat 10 4 3 2 1 1 0.05 Respon Lambat Tabel 2 . Pengujian  Mode Head-Tracking pada  Sumbu Y  dengan Tuning Nilai  Pengali  Wilayah  pada  berbagai Konstanta Proportional dan Derivative
No Pengali Wilayah Kp Kd Kondisi 4 3 2 1 1 5 4 3 2 2 3 Terjadi Osilasi 2 4 3 2 1 2 2 Terjadi Osilasi 3 4 3.5 3 2.5 2 1 Terjadi Osilasi 4 4 3 2.5 1.5 2 0.6 Terjadi Osilasi 5 4 3 2 1 2 0.4 Terjadi Osilasi 6 3 2 1 0.5 1 0.2 Respon Tepat 7 3 2 1 0.5 1 0.1 Respon Lambat 8 3 2 1 0.5 1 0.05 Respon Lambat
Copyright © 2019, TEKNIK, p-ISSN: 0852-1697, e-ISSN: 240-9919
Gambar 10. Robot Humanoid pada Mode Standby (Kiri) dan pada Saat Bermain Bola secara Otonom (Kanan)
3. 4. Pengujian Robot Humanoid Bermain Bola secara Real-Time Penilaian  performa  robot  kemudian  dilakukan dengan  menguji  kecepatan  jalan,  kekuatan  tendangan, serta running  test permainan  individu  robot  dalam lapangan.  Hasil  pengujian  kecepatan  jalan  dilakukan dengan menguji kecepatan robot menuju bola berwarna jingga  dengan  posisi  awal  robot  diletakkan  pada  titik tengah  lapangan  dan  posisi  bola  berada  tepat  di  mulut gawang.  Hasil  pengujian  kecepatan  jalan  ditunjukkan pada  Tabel  3.  Berdasarkan  5  kali  pengujian,  diperoleh kecepatan jalan rerata robot adalah 16.36 cm/detik.
Pengujian  kekuatan  dan  kecepatan  tendangan dilakukan  untuk  menguji  kekuatan  dan  kecepatan tendangan robot terhadap bola tenis standar berdiameter 6  cm.  Cara  pengujiannya  adalah  dengan  menempatkan bola  dan  robot  pada  titik  penalti  sendiri  dengan  arah tendangan  menuju  ke  gawang  lawan.  Waktu  tempuh diukur  tepat  sebelum  bola  bergerak  sampai  ketika  bola benar-benar  berhenti.  Hasil  pengujian  kekuatan tendangan ditampilkan pada Tabel 4.  Berdasarkan 5 kali pengujian jarak rerata kekuatan tendangan adalah 507.34 cm/detik  dengan  kecepatan  rerata  tendangan  45.3 cm/detik. Pengujian  permainan  individu ditampilkan pada Gambar 10.  Dengan  menggunakan  algoritma  dan skenario sesuai dengan yang dijabarkan pada Gambar 4 dan  Gambar  5,  pada  bola  dengan  jarak  dekat  (tepat  di luar  kotak penjaga  gawang)  robot humanoid  yang dikembangkan mampu  mencetak  gol  dalam waktu + 7 detik.
Tabel 3 . Hasil Pengujian Kecepatan Jalan Robot Humanoid Percobaan Ke- Jarak Robot - Bola (cm) Waktu Tempuh (detik) 1 300 18.4 2 300 17.9 3 300 18.5 4 300 18 5 300 18.9 Rerata 300 18.34 Kecepatan Rerata (cm/detik) 16.36 Tabel 4 . Hasil Pengujian Kekuatan Tendangan berdasarkan Jarak dan Kecepatan Bola Percobaan Ke- Jarak Bola Awal - Akhir (cm) Waktu Tempuh (detik) 1 514.5 11.4 2 520.4 12 3 497.7 11.1 4 513.4 10.9 5 490.7 10.6 Rerata 507.34 11.2 Kecepatan Rerata (cm/detik) 45.30 4. Kesimpulan
Robot  humanoid pemain  bola  otonom  yang dikembangkan  mampu  berjalan  dengan  kecepatan maksimal 20 cm/detik, serta mampu bermain bola secara autonomous dengan kecepatan jalan dalam kondisi ball tracking rata-rata 16.36 cm/detik. Robot mampu berdiri
kembali  saat  terjatuh  ( fall-recovery )  dengan  baik  serta mampu  berjalan  dengan  seimbang  untuk  bermain  bola. Kekuatan  tendangan  sudah  cukup  kuat  dengan  jarak tendang  rata-rata  mencapai + 500  cm.  Dalam  sebuah simulasi  pertandingan,  robot  mampu  mencetak  gol  ke gawang  lawan  dalam  waktu  yang  relatif  cepat.  Pada posisi  bola  tepat  di  luar  kotak  penalti,  robot  mampu mencetak gol dalam waktu + 7 detik.

## Ucapan Terima Kasih
Terima  kasih  disampaikan  kepada UNDIP  Robotics Development Center (URDC) - Universitas Diponegoro dan Gadjah Mada Robotics Team (GMRT) - Universitas Gadjah Mada, yang telah mendukung penelitian ini.

## Daftar Pustaka
Antonello,  R.,  &  Oboe,  R.  (2011).  MEMS  gyroscopes for  consumers  and  industrial  applications.  In Microsensors. IntechOpen.
Apostol, T. M., & Mnatsakanian, M. A. (2000). Finding centroids the easy way. Math Horizons, 8 , 7-12. Bliley, K. E., Schwab, D. J., Holmes, D. R., Kane, P. H., Levine,  J.  A.,  Daniel,  E.  S.,  &  Gilbert,  B.  K. (2006).  Design  of  a  compact  system  using  a MEMS  accelerometer  to  measure  body  posture and  ambulation. 19th  IEEE  Symposium  on Computer-Based  Medical  Systems  (CBMS'06) , 335-340.
Burkhard,  H.-D.,  Duhaut,  D.,  Fujita,  M.,  Lima,  P.,
Murphy,  R.,  &  Rojas,  R.  (2002).  The  road  to RoboCup  2050. IEEE  Robotics  &  Automation Magazine, 9 , 31-38. Farazi,  H.,  Allgeuer,  P.,  &  Behnke,  S.  (2018).  A monocular  vision  system  for  playing  soccer  in low  color  information  environments. arXiv preprint arXiv:1809.11078 .
Gerndt, R., Seifert, D., Baltes, J. H., Sadeghnejad, S., &
Behnke,  S.  (2015).  Humanoid  robots  in  soccer:
Robots  versus  humans  in  RoboCup  2050. IEEE Robotics & Automation Magazine, 22 , 147-154. Ismael, O. Y., & Hedley, J. (2016). Development of an
Omnidirectional  Mobile  Robot  Using  Embedded Color  Vision  System  for  Ball  Following.
American  Scientific  Research  Journal  for Engineering, Technology, and Sciences (ASRJETS), 22 , 231-242. Kajita,  S.,  Kanehiro,  F.,  Kaneko,  K.,  Fujiwara,  K., Harada,  K.,  Yokoi,  K.,  &  Hirukawa,  H.  (2003). Biped  walking  pattern  generation  by  using preview  control  of  zero-moment  point. 2003 IEEE  International  Conference  on  Robotics  and Automation  (Cat.  No.  03CH37422) , 2 ,  1620-
1626.
Kim,  K.-I.,  Son,  Y.  I.,  &  Kim,  P.  B.  (2004).
Construction of small humanoids with a new joint actuator  module. IEEE  International  Conference on Robotics and Automation, 2004. Proceedings. ICRA'04. 2004 , 5 , 4510-4514. Mobalegh,  H.  (2012). Development  of  an  autonomous humanoid robot team. Ph.D. dissertation.
Peng,  S.,  Shui,  H.,  Li,  G.,  &  Ma,  H.  (2010).  Walking gait planning of humanoid soccer robot based on the  desired  ZMP  trajectories. 2010  The  2nd International Conference on Industrial Mechatronics and Automation , 2 , 127-131. Rowe,  A.,  Goode,  A.,  Goel,  D.,  &  Nourbakhsh,  I. (2007).  CMUcam3:  An  open  programmable embedded vision sensor. International conferences on intelligent robots and systems.
Smith, A. R. (1978). Color gamut transform pairs. ACM
Siggraph Computer Graphics, 12 , 12-19. Stephon, A. C., & Khorbotly, S. (2012). A camera-based target tracking system for football playing robots. Proceedings  of  the  2012 44th  Southeastern Symposium on System Theory (SSST) , 164-167.
Thai,  C.  N.  (2017).  ROBOTIS_Robot  Systems.
Exploring Robotics with ROBOTIS Systems, 5-21. Springer.