Udiebot: Implementasi Inverse Kinematic pada

## Quadruped Robot
Nuril Esti Khomariah 1 , Samsul Huda 2
1,2 Program Studi Teknik Informatika, Fakultas Teknik, Universitas 17 Agustus 1945 Surabaya Jln. Semolowaru No.45, Menur Pumpungan, Sukolilo, Surabaya, Jawa Timur 60118
1 nuril@untag-sby.ac.id , 2 samsul@untag-sby.ac.id

## Abstrak
.  Quadruped  robot  adalah  multi-legged  robot  yang  digerakkan  dengan  4  kaki. Selama ini cara menggerakkan kaki robot adalah dengan memberi nilai langsung pada setiap joint / sendi. Hal ini tentunya membutuhkan waktu yang lebih lama karena masih menggunakan  metode  trial-error  terlebih  lagi  jika  joint  /  sendi  yang  dimiliki  robot sangat  banyak.  Maka  dari  itu  permasalahan  ini  dapat  diatasi  dengan  menggunakan inverse kinematic. Inverse kinematic dapat mempercepat proses pendefinisian pose kaki dengan  data  masukkan  berupa  titik  koordinat  dan  hasil  keluaran  berupa  nilai  untuk setiap  joint  /  sendi  robot.  Pada  Udiebot,  setiap  kaki  memiliki  3  DOF  (degree  of freedom) dengan total keseluruhan adalah 12 DOF. Parameter-parameter mekanik kaki robot  perlu  didefinikan  terlebih  dahulu  termasuk  model  forward  kinematic.  Lalu dilanjutkan dengan implementasi inverse kinematic yang dianalisis dengan pendekatan geometri. Dari hasil pengujian terlihat bahwa maksimal error yang didapatkan sekitar 0.11% yang menandakan bahwa sistem berjalan dengan baik.
Kata kunci— Quadruped robot, inverse kinematic, pose, forward kinematic

## Abstract
Quadruped robot is a multi-legged robot driven by 4 legs. During this time, the way to move a robot's leg is to give a direct value for each joint. This certainly requires a longer time because it still uses  the trial-error  method  and if the  joint owned by the robot  is  very  much.  Therefore  this  problem  can  be  overcome  by  using  the  inverse kinematic.  Inverse  kinematic  can  accelerate  the  process  of  defining  foot  poses  with coordinate as input and values for each joint / robot joint as output. At Udiebot, each leg  has  3  DOF  (degree  of  freedom)  with  a  total  12  DOF.  Robot  foot  mechanical parameters  need  to  be  defined  first  including  the  forward  kinematic  model.  Then proceed  with  inverse  kinematic  implementation  which  is  analyzed  by  geometry approach.  From  the  test  results  it  can  be  seen  that  the  maximum  error  obtained  is around 0.11% which indicates that the system is running well.
Keywords— Quadruped robot, inverse kinematic, pose, forward kinematic
Jurnal Ilmu Komputer dan D esain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585

## 1. PENDAHULUAN
Semakin  banyak  sekali  penelitian  mengenai  robot  terutama  pada multi-legged robot (Ya-xin, Y., & Bo, J, 2014: 335) seperti berkaki 2 ( humanoid / biped) (Khomariah, 2015: 73), berkaki 3 ( tripod ), berkaki 4 ( quadruped ) (Semini, 2010: 832) dan berkaki 6 ( hexapod ) (Saranli, 2001: 616). Desain mekanik seperti ini tentunya memiliki kelebihan dan kekurangan dibandingkan dengan wheeled robot. Multi-legged robot mampu  lebih baik dalam melintasi area tidak rata seperti bebatuan (Raibert, 2008: 10823) tetapi tidak lebih  cepat  dari wheeled robot.  Dengan  konfigurasi  kaki  yang  banyak  tentunya  akan menimbulkan  permasalahan  sendiri  seperti  bagaimana  menggerakkan  kaki  robot  ke posisi yang diinginkan dan mengatur pola gerakannya.
Untuk  menggerakkan  kaki-kaki  robot  diperlukan  nilai  sudut  untuk  setiap joint agar  membentuk  pose  dan  mencapai  posisi  yang  diinginkan.  Selama  ini  cara  paling mudah  adalah  menggunakan  metode trial-error yaitu  mencoba  berulang  kali memasukkan  nilai  sudut  setiap joint sampai  berada  pada  posisi  yang  diinginkan.  Cara ini akan semakin membutuhkan banyak waktu jika robot memiliki banyak jenis gerakan dan joint yang  dikontrol.  Maka  untuk  mengatasi  permasalahan  tersebut  diperlukan inverse kinematic .

## 2. METODE PENELITIAN
Metode  penelitian  merupakan  urutan  proses  dari  suatu  penelitian  dari menemukan  masalah  samapai  dengan  menemukan  solusi  dari  permasalahan  tersebut. Penelitian ini dibagi menjadi 5 proses utama  yaitu  identifikasi  masalah, studi literatur, pengumpulan  data,  implementasi  sistem  dan  pengujian  /  evaluasi  sistem.  Untuk  lebih jelasnya dapat dilihat pada Gambar 1.
Gambar 1. Alur proses metode penelitian
Proses  penelitian  dimulai  dengan  melakukan  identifikasi  masalah  dari  desain mekanik  robot.  Pada  tahap  ini  ditemukan  permasalahan  yaitu  bagaimana  cara melakukan  kontrol  gerakkan  robot.  Disamping  itu  proses  studi  literatur  juga
Jurnal Ilmu Komputer dan Desain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585
dilaksanakan  seperti  mencari  referensi  beberapa  penelitian  terkait  dengan  pembahasan masalah  yang  sama.  Lalu  dilanjutkan  dengan  proses  pengumpulan  data  yaitu  dengan mengumpulkan  semua  parameter-parameter  yang  berkaitan  dengan  pergerakan  robot. Pergerakan  robot  difokuskan  pada  menggerakkan  kaki-kaki  robot  secara  beraturan. Pengukuran parameter -parameter pada badan dan kaki robot sangat penting pada proses ini.
Proses  selanjutnya  adalah  implementasi  sistem  yang  telah  didesain  pada  robot. Sistem  berupa algoritma  yang memiliki proses  perhitungan. Menerjemahkan algoritma ke  bahasa  pemrograman  untuk  dimasukkan  ke  perangkat  hardware  robot  sehingga tujuan dapat dicapai. Proses yang terakhir adalah pengujian / evaluasi sistem. Proses ini berupa  menghitung  presentase  kesalahan  sistem  dengan  membandingkan  antara  hasil aktual dengan target yang seharusnya.

## 2.1 Udiebot : Desain Mekanik dan Sistem Robot
Udiebot adalah sebuah quadruped robot  yaitu jenis mobile robot yang bergerak dengan  menggunakan  4  (empat)  kaki.  Setiap  kaki  robot  terdiri  dari  3  (tiga)  DOF (Degree  of  Freedon).  Total  terdapat  12  DOF  pada  Udiebot  seperti  yang  terlihat  pada Gambar 2. Setiap DOF mewakili joint / sendi yang dimiliki robot, yang berarti terdapat 3  (tiga)    pada  setiap  kaki  robot.  Untuk  dapat  menggerakkan  joint  tersebut  maka diperlukan penggerak / aktuator. Pada robot ini aktuator yang digunakan  berupa motor servo.  Jadi  total  motor  servo  yang  digunakan  pada  keseluruhan  kaki  robot  adalah  12 motor servo.
Agar didapatkan pergerakan  yang sinkron  /  selaras  pada keseluruhan joint kaki maka  digunakan  jenis  motor  servo  yang  sama  yaitu  Hitec  HS-7954SH.  Detail  dari desain  mekanik  robot  dapat  dilihat  pada  Gambar  3.  Desain  mekanik  tampak  isometri terlihat  pada  Gambar  3(a),  tampak  atas  terlihat  pada  Gambar  3(b),  tampak  bawah terlihat pada Gambar 3(c) dan tampak depan terlihat pada Gambar 3(d).
Tabel 1. Spesifikasi Udiebot Type Quadruped (4 kaki) Berat 1.56 Kg Tinggi 200 mm Panjang 350 mm Lebar 350 mm Total DOF 12 DOF Aktuator 12 motor servo (Hitec HS-7954SH) Catu Daya Baterai 11.1 Volt 5Ah Kontroler 2x STM32F4 ARM (168MHz)
Berat  robot  ini  adalah  1.56  Kg  dengan  tinggi  200  mm,  panjang  350  mm  dan lebar  350  mm.  Total  keseluruhan  DOF  pada  robot  adalah  12  DOF  dengan  rincian masing-masing  3  DOF  setiap  kaki.  Untuk  spesifikasi  lainnya  seperti  berat,  dimensi badan, catu daya dan jenis kontroler yang dipakai dapat dilihat pada Tabel 1.

## Gambar 2. Konfigurasi link Udiebot
(a) Tampak isometri
(b) Tampak atas
(c) Tampak bawah
(d) Tampak depan
Gambar 3. Desain mekanik Udiebot
Jurnal Ilmu Komputer dan Desain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585

## Gambar 4. Desain sistem robot
Terdapat  2  (dua)  kontroler  yang  sama-sama  menggunakan  STM32F4  dengan kecepatan  168  MHz.  Kontroler  pertama  digunakan  untuk  memproses  keseluruhan sistem  termasuk  komunikasi  data,  pengambilan  dan  pemrosesan  data-data  sensor. Sedangkan  kontroler  kedua  digunakan  untuk  mengatur  pergerakan  /  navigasi  robot. Pada  Gambar  4  terlihat  bahwa  robot  memiliki  beberapa  komponen  pendukung  seperti sensor  gas,  mic,  kamera,  GPS,  sensor  kompas,  data  penyimpanan,  sensor  IMU, telemetri, 12 motor servo dan 2 kontroler.

## 3. HASIL DAN PEMBAHASAN

## 3.1 Hasil Mekanik Udiebot

## 3.1.1 Mekanik Body
Seperti  yang  telah  disebutkan  pada  bab  sebelumnya  bahwa  Udiebot  adalah quadruped robot  yang  berarti  robot  dengan  4  kaki.  Hasil  jadi  / real mekanik  Udiebot dapat dilihat pada Gambar 5. Hasil ini dapat dikatakan sudah sangat menyerupai desain perancangan mekanik pada Gambar 3.

## 3.1.2 Mekanik Kaki
Mekanik  kaki  robot  dapat  dilihat  pada  Gambar  6.  Pada  Gambar  6(a)  dan  (b) menunjukkan  desain  perancangan  dan  hasil  jadi  / real mekanik  kaki.  Kaki quadruped dibagi menjadi 3 bagian utama yaitu coxa, femur dan tibia. Pada kaki terdapat 3 (tiga) aktuator  yang  berupa  motor  servo  yaitu  servo  coxa ,  servo  tibia dan  servo femur .  Untuk  parameter  kaki  seperti  panjang  dari  coxa,  femur  dan  tibia  dapat dilihat  pada  Tabel  2.  Sedangkan  Tabel  3  menjelaskan  penempatan  aktuator  dan  DOF pada kaki Udiebot.
Jurnal Ilmu Komputer dan Desain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585

## Tabel 2. Parameter kaki
Parameter  Panjang (mm) coxa 60 femur 150 tibia 150 Tabel 3. Aktuator dan DOF pada kaki Udiebot Joint Aktuator DOF hip pitch  1 servo motor (femur) 1 DOF yaw 1 servo motor (coxa) 1 DOF knee  pitch 1 servo motor (tibia) 1 DOF Total 4 legs x 3 DOF 12 DOF (a) Tampak atas (b) Tampak isometri
Gambar 5. Udiebot
Jurnal Ilmu Komputer dan Desain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585
(a) Desain perancangan mekanik
(b) Hasil jadi / real

## Gambar 6. Kaki Udiebot

## 3.2 Forward Kinematic
Forward  kinematik  digunakan  untuk  mendapatkan  persamaan  kinematik  yang menghasilkan  letak  koordinat  posisi  dan  orientasi  EoF (End  of  Effector) robot  untuk setiap sendi / joint . Denavit-Hartenberg (DH) Parameter digunakan untuk menyatakan untuk setiap matrik homogen.
(1)
(2)

## 3.3 Inverse Kinematic
Pada umumnya inverse kinematic digunakan untuk menggerakkan sebuah robot manipulator  berdasarkan  posisi  titik  koordinat  yang  dikehendaki.  Untuk  dapat menggerakkan  kaki  robot  kita  harus  mendefinisikan  posisi  titik  koordinat  dalam Cartesian  space terlebih  dahulu.  Proses  ini  membutuhkan  data  masukan  berupa  titik koordinat  (x,y,z)  yang  menghasilkan  data  keluaran  berupa  nilai  sudut  tiap joint kaki robot seperti yang terlihat pada Gambar 7.
Gambar 7. Blok diagram kontrol pose
Jurnal Ilmu Komputer dan D esain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585
(a) Desain perancangan mekanik
(b) Hasil jadi / real
Gambar 8. Analisis kaki Udiebot
(3)
(4)
(5) (6) (7) (8) (9) (10)

## 3.4 Hasil Pengujian Inverse Kinematic
Pengujian  diperlukan  untuk  mengetahui  peforma  dari  suatu  sistem.  Proses pengujian  yang  pertama  yaitu  menentukan  titik  koordinat  kaki  lalu  digunakan  sebagai data masukan pada inverse kinematic yang menghasilkan data keluaran berupa nilai dari tiap joint .  Lalu  diimplementasikan  ke  kaki  robot.  Setelah  itu  dilakukan perhitungan dari posisi  nyata / real kaki  robot dengan proses forward kinematic . Nilai error  dihitung  dari  selisih  data  masukkan  /  input  dengan  hasil  perhitungan forward kinematic .
Tabel 4. Pengujian inverse kinematic untuk sumbu x Input Koordinat (cm) Hasil Inverse Kinematic Perhitungan Forward Kinematic (cm) Error (cm) x y z x y z x y z
Jurnal Ilmu Komputer dan Desain Komunikasi Visual  Vol 3, No 1, Juli 2018
ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585
30 0 0 0 0 -0.072 30 -0.018 0 0.000 0.018 0 28 0 0 0 21.031 -42.134 27.994 -0.017 0 0.006 0.017 0 26 0 0 0 29.914 -59.901 25.993 -0.016 0 0.007 0.016 0 24 0 0 0 36.855 -73.782 23.993 -0.015 0 0.007 0.015 0 22 0 0 0 42.816 -85.704 21.993 -0.013 0 0.007 0.013 0 20 0 0 0 48.17 -96.413 19.993 -0.012 0 0.007 0.012 0 18 0 0 0 53.108 -106.289 17.994 -0.011 0 0.006 0.011 0 16 0 0 0 57.745 -115.564 15.994 -0.01 0 0.006 0.010 0 14 0 0 0 62.156 -124.386 13.994 -0.009 0 0.006 0.009 0 12 0 0 0 66.395 -132.862 11.995 -0.007 0 0.005 0.007 0 Rata-rata Error 0.006 0.013 0 Presentase Error 0,03% 0% 0%
Tabel 5. Pengujian inverse kinematic untuk sumbu x dan y Input Koordinat (cm) Hasil Inverse Kinematic Perhitungan Forward Kinematic (cm) Error (cm) x y z theta 1 theta 2 theta 3 x y z x y z 26  10 0 0 42.808 -43.632 26 9.977 0 0 0.023 0 26 8 0 0 42.023 -49.928 26 7.978 0 0.000 0.022 0 26 6 0 0 40.174 -54.443  25.998 5.979 0 0.002 0.021 0 26 4 0 0 37.464 -57.516  25.996 3.98 0 0.004 0.020 0 26 2 0 0 34.016 -59.31 25.995 1.982 0 0.005 0.018 0 26 0 0 0 29.914 -59.901  25.993  -0.016 0 0.007 0.016 0 26  -2 0 0 25.222 -59.31 25.992  -2.015 0 0.008 0.015 0 26  -4 0 0 19.979 -57.516  25.991  -4.014 0 0.009 0.014 0 26  -6 0 0 14.196 -54.443 25.99 -6.012 0 0.010 0.012 0 26  -8 0 0 7.832 -49.928 25.99 -8.011 0 0.010 0.011 0 Rata-rata Error 0.006 0.017 0 Presentase Error 0,02% 1,72% 0%
Tabel 6. Pengujian inverse kinematic untuk sumbu x dan z Input Koordinat (cm) Hasil Inverse Kinematic Perhitungan Forward Kinematic (cm) Error (cm) x y z theta 1 theta 2 theta 3 x y z x y z 26 0 10 21.029 21.779 -43.632  25.996 0 9.994 0.004 0 0.006 26 0 8 17.095 24.927 -49.928  25.995 0 7.994 0.005 0 0.006 26 0 6 12.989 27.185 -54.443  25.994 0 5.996 0.006 0 0.004 26 0 4 8.742 28.722 -57.516  25.994 0 3.997 0.006 0 0.003 26 0 2 4.396 29.619 -59.31 25.993 0 1.998 0.007 0 0.002 26 0 0 0 29.914 -59.901  25.993  -0.016 0 0.007 0 0.000 26 0 -2 -4.396 29.619 -59.31 25.993 0 -1.998 0.007 0 -0.002 26 0 -4 -8.742 28.722 -57.516  25.764 0.424 -3.961 0.236 0 -0.039 26 0 -6 -12.989 27.185 -54.443  25.994  -0.017 -5.996 0.006 0 -0.004 26 0 -8 -17.095 24.927 -49.928  25.995  -0.017 -7.994 0.005 0 -0.006 Rata-rata Error 0.029 0 -0.003 Presentase Error 0,11% 0% 0,3%

## 4. KESIMPULAN
Hasil  jadi  / real mekanik quadruped robot  dan  kaki  sesuai  dengan  desain perancangan.  Sebelum  memulai  untuk  menggerakkan  kaki-kaki  robot  terutama  yang menyerupai model manipulator robot maka diperlukan parameter kaki, mencari forward kinematic ,  dan  solusi inverse  kinematic .  Berdasarkan  hasil  pengujian  dapat  dilihat
Jurnal Ilmu Komputer dan Desain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585
bahwa hasil error yang didapat sangat kecil dengan nilai maksimal hanya 0.236 cm. Hal ini menandakan bahwa sistem sudah berjalan dengan baik.
Nilai  error  untuk  data  masukkan  berupa  sumbu  x  saja  sebesar  0.006  cm  atau 0.03%. Untuk data masukkan berupa sumbu x dan  y  adalah 0.006 cm  atau 0.02% dan 0.017  atau  1.72%.  Sedangkan  untuk  data  masukkan  sumbu  x  dan  z  adalah  0.029  mm atau 0.11% dan  -0.003 cm  atau 0.3%.  Meskipun  masih terdapat  error minimal,  namun hasil  perhitungan inverse  kinematic sangat  membantu  dalam  mempermudah  mengatur pergerakan kaki robot.

## 5. SARAN
Penelitian  ini  masih  banyak  yang  harus  dikembangkan  dan  dilanjutkan,  seperti memperbaiki  /  memperkuat  lagi  konstruksi  mekanik  robot  terutama  dibagian  femur. Setelah  solusi inverse  kinematic selesai  maka  bias  diteruskan  dengan  membangun trajectory walking,  mempertimbangkan stability  criteria robot  serta  sistem  navigasi robot  secara  otomatis  dengan  penambahan  beberapa  sonsor  /  komponen  pendukung lainnya .

## UCAPAN TERIMA KASIH
Penelitian  ini  dibiayai  oleh  DRPM  Kemenristekdikti  melalu  Hibah  Penelitian Dosen Pemula dan selalu didukung oleh Universitas 17 Agustus 1945 Surabaya.

## DAFTAR PUSTAKA
Khomariah,  N.  E.,  Pramadihanto,  D.,  &  Dewanto,  R.  S.  (2015). FLoW  bipedal  robot: Walking  pattern  generation .  In  Electronics  Symposium  (IES),  2015 International (pp. 73-78). IEEE.
Kucuk, S., & Bingul, Z. (2006). Robot kinematics: Forward and inverse kinematics . In Industrial robotics: theory, modelling and control. InTech.
Raibert,  M.,  Blankespoor,  K.,  Nelson,  G.,  &  Playter,  R.  (2008).  Bigdog,  the  rough- terrain quadruped robot. IFAC Proceedings Volumes, 41(2), 10822-10825.
Saranli,  U.,  Buehler,  M.,  &  Koditschek,  D.  E.  (2001).  RHex:  A  simple  and  highly mobile hexapod robot. The  International  Journal  of  Robotics Research, 20(7), 616-631.
Semini, C. (2010). HyQ-design and development of a hydraulically actuated quadruped robot . Doctor of Philosophy (Ph. D.), University of Genoa, Italy. Ya-xin, Y., & Bo, J. (2014). Gait Generation and Control of a Hexapod Walking Robot.
Open Electrical & Electronic Engineering Journal, 8, 335-341.
Jurnal Ilmu Komputer dan Desain Komunikasi Visual  Vol 3, No 1, Juli 2018 ISSN (Cetak) : 2541-4550  ISSN (Online) : 2541-4585