## Pengembangan Algoritma untuk Penyempurnaan Gerakan dan Kestabilan Robot Humanoid berbasis Kondo KHR – 3HV
Daniel Santoso 1 , Deddy Susilo 2 , Yonas Aditya Darmawan 3
Program Studi Teknik Elektro, Fakultas Teknik Elektronika dan Komputer, Universitas Kristen Satya Wacana, Salatiga
1 daniel.santoso@staff.uksw.edu, 2 deddy.susilo@staff.uksw.edu,
3 612009034@student.uksw.edu

## Ringkasan
Meskipun  R2C  telah  meraih  juara  dua  tingkat  nasional  dalam  KRSBI  2013  (Kontes  Robot Sepak  Bola  Indonesia  2013),  robot  humanoid  yang  dimiliki  oleh  R2C  masih  memiliki kekurangan  dalam  sistem  kontrol  dan motion (gerakan).  Sistem  kontrol  pada  robot  dibagi menjadi 2 bagian utama, yaitu kontrol aktuator robot dan kontrol  utama. Kontrol aktuator robot  dalam  hal  ini  adalah servo  controller untuk  mengontrol  sistem  gerak  robot  yang keseluruhannya terdiri dari motor servo, dimana servo controller mendapat perintah gerakan yang  sudah  didefinisikan  di  kontrol  utama.  Sedangkan  kontrol  utama  bertugas  untuk mensinkronisasi antara gerak robot dengan perintah yang telah diolah oleh mikrokontroler sehingga nantinya robot dapat melakukan tugas-tugas sesuai dengan perintah yang dikirim dari smartphone . Pengujian dilakukan dengan membandingkan algoritma lama yang dipakai robot  saat  mengikuti  KRSBI  2013  dengan  algoritma  baru  yang  dibuat  oleh  penulis. Persentase keberhasilan robot ketika bergerak tetap stabil saat robot melakukan pergantian gerakan  tanpa  adanya delay dari  program  pada  algoritma  lama  hanya  mencapai  41% sedangkan pada algoritma baru persentase keberhasilan dapat mencapai 95%.
Kata kunci: Algoritma kontrol, Kondo KHR-3HV, Humanoid Robot Soccer , motion cut

## 1. Pendahuluan
Meskipun tim Robotic Research Centre ( R2C ) Universitas Kristen Satya Wacana (UKSW) telah  pernah  meraih  juara  dua  tingkat  nasional  Kontes  Robot  Sepak  Bola  Indonesia (KRSBI)  pada  tahun  2013,  robot humanoid yang  dimiliki  oleh  R2C  masih  memiliki kekurangan dalam sistem  kontrol dan  gerakan.  Ketika  robot diperintah  untuk bergerak maju  kemudian  langsung  diperintah  untuk  bergeser  ke  kanan,  pergantian  dari  gerakan maju  ke  gerakan  geser  kanan  masih  sangat  lambat  dan persentase  keberhasilan  robot ketika  berada  dalam  fase  peralihan  antara  gerakan  satu  menuju  gerakan  lainnya  hanya mencapai  50%.  Untuk  dapat  bersaing  dengan  tim  robot  dari  perguruan  tinggi  lainnya pada  KRSBI  yang akan datang  sangat diperlukan  gerakan  robot  yang cepat dan  tingkat keberhasilan  eksekusi  gerakan tinggi  sehingga  robot dapat seimbang  dan dengan cepat menguasai bola.
Berdasarkan  permasalahan  di  atas,  pada  penelitian  ini  dikembangkan  sebuah algoritma  untuk  penyempurnaan  gerakan  dan  kestabilan  pada  robot humanoid R2C
UKSW.  Diharapkan  algoritma  pengendalian  gerakan  robot  yang  telah  diperbaiki  dapat membuat robot humanoid R2C UKSW menjadi lebih kompetitif pada KRSBI mendatang.

## 2. Kajian Pustaka
Beberapa  robot  dengan  tujuan  sejenis  telah  dikembangkan  dengan  menggunakan berbagai macam algoritma pengendali. Pada bab ini akan dibahas beberapa di antaranya sebagai bahan acuan dan perbandingan.
2.1.   Implementasi Dynamic Walking pada Humanoid Robot Soccer [1]
Pada penelitian ini dirancang sebuah robot pemain sepak bola dengan menggunakan metode dynamic  walking. Metode dynamic  walking adalah  metode  berjalan  dimana  robot berjalan  secara  tegap  dan  menyerupai  manusia.  Metode  ini  membuat  robot  dapat berjalan  lebih cepat dibandingkan metode berjalan static walking karena  dengan berjalan dengan  postur  tegap,  robot  akan  memiliki  langkah  yang  lebih  lebar.  Kendala  yang muncul  dalam  pengujian  adalah  sampai  saat  ini  belum  ada  rumus  umum  untuk membuat sebuah robot bisa berjalan dengan stabil menggunakan metode dynamic walking . Sehingga  pengujian  harus  dilakukan  secara trial and  error pada  robot.  Pengujian  secara trial  and  error jelas  membutuhkan  waktu  yang  cukup  lama  untuk  mencapai  tingkat kestabilan robot yang baik.

## 2.2.   Robot Humanoid Pemain Bola [2]
Pada  penelitian  ini  dirancang  sebuah  robot humanoid yang  mempunyai  20  sendi dengan  sensor  CMUCam3  yang  digunakan  untuk  sistem  penglihatan  robot.  Sensor percepatan  DE-ACCM3D  yang  digunakan  untuk  mengetahui  kondisi  robot  ketika terjatuh.  Otak  dari robot menggunakan pengontrol mikro ATMEGA128 dan pengontrol servo  SSC-32  untuk  mengatur  pergerakan  motor  servo.  Keberhasilan  robot humanoid pada  saat  berjalan  lurus  adalah  100%  dengan  waktu  rata  –  rata  pada  saat  menempuh jarak 100 cm adalah 112.8 detik, keberhasilan robot pada saat berjalan arah kanan sejauh 100 cm adalah  100% dengan  waktu rata  –  rata  139.4 detik,  keberhasilan  robot pada  saat berjalan arah kiri sejauh 100 cm adalah 90% dengan waktu rata – rata 137.2 detik.

## 3. Perancangan dan Penerapan
Sebagaimana  umumnya  sebuah  robot,  sistemnya  akan  terdiri  dari  mekanik, perangkat keras dan perangkat lunak. Titik berat penelitian ini pada pengembangan dan evaluasi  kinerja  algoritma  baru,  meskipun  demikian  hal  mekanik  dan  perangkat  keras tetap akan dibahas secara ringkas untuk memberikan pemahaman yang lebih utuh.

## 3.1. Gambaran Mekanik Robot
Mekanik robot yang digunakan dalam penelitian ini merupakan mekanik yang sama dengan yang digunakan tim robot UKSW untuk bertanding dalam KRSBI 2013. Basisnya adalah  robot humanoid dengan  dimensi  panjang  tinggi  38  cm,  lebar  17  cm,  dan  lebar tapak kaki masing – masing 6,5 cm, seperti yang terlihat pada Gambar 1.
Gambar 1. Konstruksi dan dimensi robot humanoid yang digunakan [3]
Robot  menggunakan  perpaduan  antara  aluminium  dan  aklirik  untuk  bodinya. Perpaduan  kedua  bahan  ini  dimaksudkan  agar  robot  memiliki  bobot  yang  ringan sehingga  dalam  bergerak  diperoleh  kecepatan  dan  keseimbangan  yang  baik.  Robot  ini akan memiliki 16 degree of freedom , dengan rincian 5 di setiap kaki, dan 3 di setiap lengan. Motor servo yang dipilih adalah adalah yang memiliki torsi tinggi dengan gear berbahan metal  dan  yang  mampu  untuk  mengembalikan  nilai,  seperti  sudut,  beban,  torsi,  dll. Ukuran telapak kaki menyesuaikan dengan tinggi robot agar mampu menyokong robot agar tetap stabil.

## 3.2. Perangkat Keras Robot
Sistem  yang  direalisasikan  adalah  sebuah  sistem  yang  berfungsi  untuk mengendalikan  sebuah  robot humanoid pemain  sepakbola  dalam  menyelesaikan  misi pertandingan pada KRSBI. Dalam KRSBI, robot harus dapat bergerak dengan cepat dan stabil agar dapat mendekati bola dan menendang bola ke arah gawang dengan cepat dan akurat.  Oleh  karena  itu  sistem  didukung  dengan  sensor  –  sensor  pergerakan  seperti akselerometer  dan  giroskop  untuk  membantu  robot  dalam  memulai  pergerakan  yang cepat,  stabil,  dan  dapat  bangun  sendiri  ketika  robot  dalam  posisi  jatuh.  Gambar  2 memperlihatkan diagram blok sistem secara keseluruhan.
Sistem  kontrol  pada  robot  dibagi  menjadi  2  bagian  utama,  yaitu  kontrol  aktuator robot dan kontrol utama. Kontrol aktuator robot dalam hal ini adalah servo controller seri RCB-4  untuk  mengontrol  sistem  gerak  robot  yang  terdiri  dari  motor  –  motor  servo  seri KRS-2552HV,  dimana servo  controller mendapat  perintah  gerakan  yang  sudah didefinisikan  di  kontrol  utama.  Sedangkan  kontrol  utama  bertugas  untuk  melakukan sinkronisasi  antara  gerak  robot  dengan  perintah  yang  telah  diolah  oleh  mikrokontroler sehingga  nantinya  robot  dapat  melakukan  tugas  sesuai  dengan  perintah  yang  dikirim dari smartphone .
Robot  memiliki 16 motor servo, dengan rincian 3 motor servo di setiap lengan dan 5 motor servo  di  setiap  kaki.  Dengan  demikian  robot  akan memiliki  16 derajat  kebebasan sehingga pergerakan robot akan mendekati pergerakan dari manusia. Untuk mengontrol 16 motor  servo  di bagian  lengan  dan  kaki  digunakan servo controller yang  akan dibantu oleh  sebuah  giroskop  dua-sumbu  seri  KRG-4  yang  berfungsi  sebagai  sensor
Techné Jurnal Ilmiah Elektroteknika Vol. 14 No. 1 April 2015 Hal 7 - 16
keseimbangan dan stabilitas robot saat bergerak dan akselerometer dua-sumbu seri RAS- 2 yang berfungsi sebagai sensor kemiringan untuk mengetahui ketika posisi robot miring atau posisi robot dalam keadaan jatuh.
Atmega 324 Sma rtp hone Bluetooth Bluetooth DF V3 To mbo l On/Off Acce lerome ter RAS-2 To mbo l On/Off Gyrosco pe KRG-4 16 DOF Servo  KRS-2552HV TX TX RX RX Se rvo Ko ntroler RCB-4 Lithium po lymer 11.1 V 1300 m Ah Lithium po lymer 7.4 V 1000 mAh
Gambar 2. Diagram blok perangkat keras robot humanoid pemain sepak bola
Kontrol  utama  pada  robot  terdiri  dari  sebuah smartphone untuk  mengirimkan perintah  gerakan  robot  dan  sebuah mikrokontroler  untuk menerjemahkan  data menjadi rangkaian  gerakan.  Modul bluetooth digunakan  untuk  komunikasi  secara  serial  antara smartphone dan  mikrokontroler.  Selain  itu  kontrol  utama  juga  bertugas  sebagai pengontrol servo  controller . Smartphone pada  tugas  akhir  ini  digunakan  sebagai  sarana kendali  jarak  jauh  untuk  mengendalikan  robot  secara  nirkabel .  Smartphone yang digunakan  adalah  Samsung  Galaxy  S3  yang  telah  tertanam  OS android di  dalamnya. Aplikasi  dibuat dengan Eclipse .  Data  yang dikirim  dari smartphone android berupa paket data motion yang  akan  diterima  oleh mikrokontroler. Pengiriman data  dilakukan  secara serial melalui perangkat bluetooth seri DF V3.

## 3.1. Perangkat Lunak Pengendali Robot
Pada  bagian  ini  akan  diberikan  empat  buah  flowchart  yang  menggambarkan jalannya  program  saat  robot  bergerak.  Setiap  algoritma  digambarkan  dengan  dua diagram alir yaitu diagram alir program pada mikrokontroler dan diagram alir program pada servo controller. Sedangkan flowchart ke – empat  adalah algoritma baru saat robot menerima instruksi motion yang tidak berulang.
Algoritma  pertama  ini  adalah  algoritma  yang  digunakan  robot humanoid dalam perlombaan  KRSBI  2013.  Algoritma  yang  digunakan  masih  sangat  sederhana.  Robot belum  dapat  melakukan motion  cut dan  belum  dapat  mengetahui  posisi  terakhir  kaki robot.
START Kirim perintah paket data motion ke RCB-4 Apakah ada perintah baru dari smarthphone? Lakukan motion Terima perintah dari mikrokontroler Ya Tidak Tidak Algoritma mikrokontroler Algoritma RCB4 A Ya A Apakah ada perintah dari smartphone?
Terima Perintah dari Smarthphone
Apakah ada perintah dari mikrokontroler? Ya Tidak

## Gambar 3. Diagram alir algoritma pertama
Algoritma  ke  –  dua  adalah  algoritma  baru  saat  robot  menerima  instruksi  motion berulang  yang  bergerak  maju.  Gambar  4  menunjukkan  dua  diagram  alir  sebagai gambaran algoritma ke – dua.
Algoritma  ke  –  tiga  adalah  algoritma  baru  yang  menunjukkan  respon  robot  saat menerima  instruksi  motion  berulang  yang  berupa  gerakan  geser.  Gambar  5 menunjukkan dua diagram alir sebagai gambaran algoritma ke – tiga.
Algoritma  ke  –  empat  adalah  algoritma  baru  yang  menunjukkan  respon  robot  saat menerima  instruksi  motion  yang  tidak  berulang.  Dua  diagram  alir  sebagai  gambaran algoritma ke – empat ditunjukkan oleh Gambar 6.
START Kirim perintah motion maju berulang ke RCB-4 Apakah nilai accelero menyatakan robot sedang terjatuh? Kirim perintah motion bangun ke RCB-4 Apakah posisi kaki robot sebelah kanan atau kiri yang berada di depan? Kirim data ke RCB-4 agar robot melangkah dengan kaki kiri terlebih dahulu Apakah ada perintah baru dari smarthphone? Apakah langkah awal robot kaki kanan atau kiri dahulu? Start berjalan dengan kaki kanan terlebih dahulu Start berjalan dengan kaki kiri terlebih dahulu Lakukan motion Apakah posisi kaki robot sebelah kanan atau kiri yang berada di depan? Kirim data ke mikrokontroler bahwa kaki kanan sedang berada di depan Kirim data ke mikrokontroler bahwa kaki kanan sedang berada di depan Apakah ada cut motion? Terima perintah dari mikrokontroler Ya Kiri Ya Tidak Kanan Kiri Kanan Tidak Kanan Kiri Ya Tidak
Algoritma mikrokontroler Algoritma RCB4 A A Terima data posisi kaki robot kanan atau kiri yang berada di depan dari RCB-4 Kirim data ke RCB-4 agar robot melangkah dengan kaki kanan terlebih dahulu C Tidak Ya
A Terima data langkah awal kaki robot dari mikrokontroler B B B C C Apakah ada perintah dari smartphone? Terima Perintah dari Smarthphone Apakah ada perintah dari mikrokontroler? Ya Tidak Lakukan cut motion
Gambar 4. Diagram alir algoritma ke – dua
START Kirim perintah motion geser berulang ke RCB-4 Apakah nilai accelero menyatakan robot sedang terjatuh? Kirim perintah motion bangun ke RCB-4 Apakah posisi kaki robot sebelah kanan atau kiri yang bergeser? Kirim data ke RCB-4 agar robot melangkah dengan kaki kiri terlebih dahulu Apakah ada perintah baru dari smarthphone? Apakah motion geser kanan atau geser kiri? Start berjalan dengan kaki kanan terlebih dahulu Start berjalan dengan kaki kiri terlebih dahulu Lakukan motion geser kanan Kirim data ke mikrokontroler bahwa kaki kanan sedang bergeser ke kanan Kirim data ke mikrokontroler bahwa kaki kanan sedang bergeser ke kiri Apakah ada cut motion? Terima perintah dari mikrokontroler Ya Kiri Ya Tidak Kanan Kiri Kanan Tidak Ya Tidak Algoritma mikrokontroler Algoritma RCB4 A A Terima data dari RCB- 4 posisi kaki robot kanan atau kiri yang bergeser Kirim data ke RCB-4 agar robot melangkah dengan kaki kanan terlebih dahulu C Tidak Ya
A B B C C Lakukan motion geser kiri Apakah ada perintah dari smartphone? Terima Perintah dari Smarthphone Apakah ada perintah dari mikrokontroler? Tidak Ya Lakukan cut motion Apakah ada cut motion? Tidak Ya
Gambar 5. Diagram alir algoritma ke – tiga
START Kirim perintah motion tidak berulang ke RCB-4 Apakah nilai accelero menyatakan robot sedang terjatuh? Kirim perintah motion bangun ke RCB-4 Apakah ada perintah baru dari smarthphone? Lakukan motion Apakah ada cut motion? Terima perintah dari mikrokontroler Ya Ya Tidak Tidak Ya Tidak Algoritma mikrokontroler Algoritma RCB4 A A Tidak Ya A Apakah ada perintah dari smartphone? Terima Perintah dari Smarthphone Apakah ada perintah dari mikrokontroler? Ya Tidak Lakukan cut motion
Gambar 6. Diagram alir algoritma ke – empat

## 4. Pengujian dan Pembahasan
Evaluasi  kinerja  robot  yang  telah menggunakan  algoritma pengendalian robot  yang telah diperbaiki dilakukan melalui  beberapa macam pengujian. Fokus pengujian adalah tentang kecepatan dan kestabilan gerak robot ketika dilakukan motion cut .

## 4.1. Pengujian Kecepatan Gerak
Pengujian kecepatan gerak dilakukan  untuk gerakan maju lambat, maju cepat, geser kanan, geser kiri, putar kanan, dan putar kiri. Kecepatan rata – rata yang diperoleh dari hasil pengujian dapat dilihat pada Tabel 1.
Tabel 1. Kecepatan rata – rata robot untuk tiap jenis gerakan
Jenis Gerakan Kecepatan Rata – Rata Maju Lambat 3,85 cm / s Maju Cepat 14,53 cm / s Geser Kanan 3,72 cm / s Geser Kiri 3,81 cm / s Putar Kanan 30,10 o / s Putar Kiri 23,86 o / s
Kecepatan gerak robot ini sebenarnya juga dibatasi oleh spesifikasi motor servo yang digunakan.  Apabila  robot  dipaksa  bergerak  dengan  cepat  dengan  beban  berat  akan berakibat pada terbakarnya motor DC dan MOSFET yang ada dalam motor servo.
Pengembangan Algoritma untuk Penyempurnaan Gerakan dan Kestabilan Robot Humanoid berbasis Kondo KHR – 3HV Daniel Santoso, Deddy Susilo, Yonas Aditya Darmawan

## 4.2. Pengujian Kestabilan
Pengujian kestabilan dilakukan dengan cara memerintahkan robot untuk menendang, jatuh  dari  bangun,  dan  melakukan motion  cut yang  bervariasi.  Untuk  menyelesaikan gerakan tendang  kanan dan  kiri robot membutuhkan waktu  rata  – rata berturut  –  turut 2,39 detik dan 2,17 detik dari lima kali percobaan. Untuk menyelesaikan gerakan berdiri kembali dari jatuh depan dan belakang robot membutuhkan waktu rata – rata berturut – turut 3,32 detik dan 3,70 detik dari lima kali percobaan.
Penulis membuat sebuah algoritma baru yang dapat membuat robot tetap stabil saat robot  melakukan  proses  pergantian  gerakan  dari  gerakan  satu  ke  gerakan  yang  lain tanpa  adanya  waktu  tunda pada  program.  Dengan  tidak  adanya  waktu  tunda dalam program,  maka  sangat  besar  kemungkinan  robot  tidak  stabil  dan  terjatuh  pada  fase transisi  pergantian  gerakan.  Algoritma  yang  dibuat  oleh  penulis  dapat  mengatasi kejadian  tersebut  dengan  cara  melakukan  metode motion cut dengan  pengecekan  posisi kaki robot sehingga robot dapat mengetahui langkah kaki sebelumnya dan langkah kaki yang  harus  digerakan  terlebih  dahulu.  Penulis  juga  memanfaatkan  giroskop untuk mengatasi ketidakstabilan robot ketika dalam fase transisi pergantian gerakan tersebut.
Dari  berbagai  variasi  perubahan  gerakan,  robot  yang  menggunakan  algoritma pengendali lama hanya memiliki tingkat keberhasilan melakukan motion cut sebesar 41%. Ketika robot menggunakan algoritma pengendali baru, tingkat keberhasilan menjadi 95%.
Meskipun  demikiran,  algoritma  baru  masih  memiliki  kelemahan.  Robot  banyak mengalami kegagalan saat melakukan proses motion cut ketika robot bergerak maju kecil kemudian bergerak maju kurva baik kanan maupun kiri te. Hal ini terjadi karena ketika robot melakukan gerakan maju kecil, langkah yang dilakukan robot sangat pelan dengan langkah  yang  kecil,  sehingga  ketika  robot  dipaksa  untuk  mengganti  gerakan  menjadi maju  kurva,  sangat  sulit  untuk  membuat  robot  tetap  stabil  dikarenakan  perubahan kecepatan  robot  yang  sangat  cepat.  Gerakan  maju  kurva  sendiri  yang  dibuat  penulis belum  sempurna  sebab  penulis  mengalami  kesulitan  mengatur  kestabilan  dari  gerakan tersebut.  Ketika  robot  bergerak  maju  kurva  kanan,  robot  pasti  akan  lebih  condong  ke kanan  dan  membuat  titik  berat  berada  lebih  ke  bagian  kanan  sehingga  sangat  besar kemungkinan robot untuk jatuh ketika melakukan proses motion cut, s ama halnya ketika robot melakukan gerakan maju kurva kiri.
Kegagalan motion  cut yang  dilakukan  robot  juga  banyak  terjadi  ketika  robot melakukan  proses motion  cut di  antara  gerakan  maju  kecil  ke  geser  kecil  baik  kanan maupun kiri. Kegagalan terjadi dikarenakan adanya ketidaksinkronan antara pengiriman data dari smartphone dan waktu penerimaan data balikan dari RCB-4 yang dilakukan oleh mikrokontroler.  Ketika smartphone memberi  perintah  kepada  mikrokontroler  untuk melakukan  proses motion  cut ,  mikrokontroler  belum  siap  karena  mikrokontroler  belum menerima  data  balikan  dari  RCB-4  tentang  posisi  kaki  robot  sehingga  membuat  robot sering kali salah melangkah dan terjatuh.

## 5. Kesimpulan
Berdasarkan  perancangan,  perealisasian  dan  pengujian  dapat  ditarik  kesimpulan sebagai berikut :
1.  Mekanik  robot  dan  perangkat  keras  dapat  bekerja  baik  dalam  mendukung penerapan algoritma pengendali robot.
Techné Jurnal Ilmiah Elektroteknika Vol. 14 No. 1 April 2015 Hal 7 - 16
2.  Rata  –  rata  persentase  keberhasilan  untuk  melakukan motion cut algoritma  lama 41%  dan  sedangkan  algoritma  baru  mencapai  95%,  dengan  demikian  algoritma baru memiliki kinerja lebih baik dibanding algoritma lama.
3.  Robot  dapat  menjaga  kestabilan  tubuhnya  dalam  berbagai  gerakan,  termasuk ketika menendang dan terjatuh.

## Daftar Pustaka
[1]  D.  Suryawan,”Implementasi  Dynamic  Walking  pada  Humanoid  Robot  Soccer”, Prosiding ISRSC, 2013.
[2]  Muliady,”Robot Humanoid Pemain Bola”, Prosiding ISRSC, 2013.
[3]  RoboTron,  “Robot  Humanoid”,  [online],  http://robotronix1.blogspot.com/2012/09/ robot-humanoid.html, diakses tanggal 12 September 2013.