Perancangan dan Implementasi Sistem Pola Berjalan Pada Robot Humanoid Menggunakan Metode Inverse Kinematic

  Vol. 2, No. 8, Agustus 2018, hlm. 2753 - 2760 http://j-pt įįk.ub.ac.įd

Perancangan dan Implementasi Sistem Pola Berjalan Pada Robot

  

Humanoid Menggunakan Metode Inverse Kinematic

1 2 3 Riko Andianto , Rizal Maulana , Gembong Edhi Setyawan

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2

  

Abstrak

  Robot merupakan karya yang sangat panting bagi kehidupan manusia modern saat ini. Robot diciptakan untuk memudahkan aktivitas manusia sehari hari khusunya robot humanoid, yakni robot yang mampu menirukan hampir segala kegiatan manusia sepenuhnya, mulai dari robot memiliki sendi sampai robot yang mampu berjalan dan berolahraga, namun kendala yang sering terlihat pada robot humanoid adalah robot yang belum mampu berjalan dengan baik, oleh karena itu penelitian ini bertujuan untuk memperoleh nilai kesalahan dan hasil yang maksimal dalam proses berjalan pada robot humanoid menggunakan metode inverse kinematic. Penelitian ini akan memberikan gambaran tentang proses berjalan dengan rinci dan perhitungan nilai dari masing-masing sendi agar robot mampu berdiri dan berjalan sebagaimana mestinya. Rancangan penelitian robot humanoid ini menggunakan aktuator berupa motor servo Dynamixel AX-12 sebagai penggerak dan minicomputer Raspberry Pi sebagai otak dan pemroses semua instruksi yang diberikan untuk robot. Implementasi robot humanoid ini dari rancangan yang telah dibuat meliputi spesifikasi software dan hardware dari komponen penyusun robot. Pengujian robot humanoid ini meliputi jalan lurus robot, jalan serong robot dan pengujian waktu yang ditempuh dari pergerakannya. Pengujian jalan lurus robot memiliki tingkat akurasi rata-rata 92% dan waktu 51,4 detik, sedangkan jalan serong memiliki tingkat akurasi 86% dan waktu 69,46 detik.

  Kata kunci: robot, motion, humanoid, inverse kinematic, Raspberry Pi.

  

Abstract

Robot is a very important work for the life of modern humans currently. Robot created to facilitate

human activities daily, especially humanoid robot, the robot is able to similar almost all human

activities completely, ranging from robots have joints to robots that are able to walk and exercise, but

the constraints are often seen in the humanoid robot has not been able to walk Well, therefore this study

aims to obtain the error value and maximum results in the process running on humanoid robot using

kinematic inverse method. This study will provide an overview of the process of walking in detail and

the calculation of the value of each joint so that the robot is able to stand and walk properly. The

humanoid robot research design uses actuators in the form of Dynamixel AX-12 servo motor as

propulsion and minicomputer Raspberry Pi as the brain and processor of all instructions given to the

robot. Testing of this humanoid robot includes the robot's straight path, the robot oblique path and the

testing time taken from the movement. Testing of robot straight path has an average rate of 92% and

time 54,1 second, while the straight road has 86% accuracy and time 69,46 second.

  Keywords: robot, motion, humanoid, inverse kinematic, Raspberry Pi.

  dengan kecerdasan buatan (artificial 1.

   PENDAHULUAN intelligence) (Gonzales 1987).

  Robot merupakan karya yang sangat Kata robot diambil dari bahasa Ceko penting bagi kehidupan manusia. Robot

  (Chech), yang memiliki arti pekerja (worker). diciptakan untuk memudahkan aktivitas manusia

  Robot merupakan suatu perangkat mekanik yang sehari-hari, mulai dari robot yang dapat mampu menjalankan tugas-tugas fisik, baik di membantu kebakaran, robot yang mampu bawah kendali dan pengawasan manusia, melihat situasi dan kondisi melalui udara serta ataupun yang dijalankan dengan serangkaian robot yang mampu melakukan aktivitas seperti program yang telah didefinisikan terlebih dahulu

  Fakultas Ilmu Komputer Universitas Brawijaya

2753 dengan bantuan dari rumus aturan kosinus:

  1

  end effector harus disesuaikan dengan batas area

  ............................................. (1) Setelah nilai r didapatkan maka selanjutnya mencari nilai sudut dari

  2

  Berdasarkan Gambar 1 dapat disimpulkan bahwa rumus dari inverse kinematic dijelaskan pada: = √

  Gambar 1 Proses Inverse Kinematic

  ). Jari-jari r dalam persamaan, sering ditulis sebagai panjang lengan atau link l. Formulasi inverse kinematic lebih sulit daripada forward kinematic , dengan menentukan inverse kinematic seperti pada Gambar 1, dapat ditentukan pergerakan robot sesuai dengan keinginan.

  Analisis persamaan kinematik dapat diselesaikan dengan cara yang paling dasar yaitu menggunakan trigonometri. Setiap komponen dalam koordinat (x, y) dinyatakan sebagai transformasi dari tiap-tiap komponen ruang sendiri (r,

  Setiawan, 2015)

  kerja dari jangkauan robot. Kinematik mempelajari bagaimana suatu gerakan terjadi meliputi perhitungan matematis secara geometri ruang tentang hubungan antara sudut-sudut yang harus dibentuk oleh beberapa proses pada robot dengan koordinat yang diharapakan ( Surya

  metode analisis untuk melakukan transformasi dari ruang Cartesian ke ruang sendi. Metode digunakan untuk mencari variabel sudut (joint) robot dalam menentukan posisi dan orientasi dari end effector. Dalam menentukan koordinat

  manusia. Robot manusia sering dikenal sebagai robot humanoid. Robot humanoid adalah robot yang memiliki struktur menyerupai manusia dimana robot tersebut memiliki kontruksi kepala, badan, tangan dan kaki. Robot humanoid ini dapat diciptakan dalam berbagai aktivitas, salah satu contohnya di Indonesia yakni robot penari dan robot sepak bola. Robot tersebut banyak diminati oleh masyarakat, khususnya mahasiswa yang sedang melakukan riset dan menempuh pendidikan di tingkat atas, dan tidak jarang Kementrian Riset dan Teknologi Perguruan Tinggi mengadakan event perlombaan robot tingkat regional, nasional bahkan internasional (DIKTI 2016).

  2.1 Metode Inverse Kinematic Inverse kinematic merupakan suatu

  2. PERHITUNGAN INVERSE KINEMATICS

  humanoid dengan menggunakan metode Inverse Kinematic sebagai perhitungan setiap sudutnya.

  robot. Dengan adanya penelitian ini, diharapkan hasil akhir dari penelitian dapat memberikan solusi merekayasa pola berjalan kaki Robot

  Kinematic sebagai perhitungan gerakan kaki

  Berdasarkan penelitian-penelitian yang telah dilakukan sebelumnya, maka pada penelitian ini akan menerapkan metode Inverse

  Dalam penelitian ini, peneliti mengangkat permasalahan yang sering muncul dalam perlombaan Robot Nasional, yaitu pada pola berjalan kaki robot humanoid yang sering kali menggunakan metode trial & error untuk membuat robot humanoid dapat berjalan. Metode tr i al & error atau yang ser i ng d i sebut dengan Forward K i nemat i c i n i t i dak fleks i bel, dikarenakan jika hendak mengubah pergerakan atau membuat gerakan baru pada kaki robot harus melakukan trial-error (uji coba berkali- kali) untuk mendapatkan gerakan/posisi tiap sendi yang diharapkan, sehingga hal ini menyebabkan kurang efisiennya waktu dalam proses pengerjaan.

  Beberapa metode yang mendukung proses gerak robot telah banyak digunakan, tetapi masih terdapat masalah yang dihadapi oleh robot saat pertandingan sedang berlangsung. Salah satu metode yang bisa digunakan yaitu metode Inverse Kinematic. Metode ini yang nantinya akan digunakan untuk proses berjalan dan mengetahui seberapa besar kesalahan robot pada saat berjalan, karena berdiri dan berjalannya robot sangat menentukan proses untuk gerakan selanjutnya.

  • 2

  sebagai tempat untuk memasukkan metode = ............................................. (2) cos

  1 invers kinematic . Terakhir setelah semua

  Dengan menggunakan rumus kosinus, tahapan berhasil dilaksanakan, maka robot akan maka didapatkan nilai : dapat berjalan sesuai perintah.

  2

  2

  2 − +

  1

  2

  2

  2

  = .............................. (3) cos =

  3.2. Perancangan Sistem Perangkat Lunak

  2

  1 Perancangan sistem perangkat lunak yang

  Dengan menambahkan nilai dan

  1

  telah disebutkan di bab kebutuhan sistem maka didapatkan nilai dari:

  2

  perangkat lunak adalah tentang bagaimana cara

  =

  • .............................................. (4)

  1

  1

  2

  agar sistem ini mampu berjalan seimbang dengan sistem perangkat keras yang akan Selanjutnya mencari nilai dari agar

  3

  menjalankan suatu instruksi yang dibutuhkan nantinya dapat digunakan untuk mencari dari robot untuk berjalan sebagaimana fungsi yang nilai :

  2

  telah ditentukan

  2

  2

  2 − +

  1

  2

  2

  3

  = .............................. (5) cos =

  2 o

  1

  = 180 ............................................... (6) -

  2

  3 3.

   PERANCANGAN DAN

  IMPLEMENTASI

  3.1. Gambaran Umum Sistem

  Pada tahap ini menjelaskan tentang gambaran umum sebuah sistem yang akan dibangun, perancangan sistem baik hardware maupun software sehingga nanti akan membentuk suatu implementasi sistem yang dirancang.

  Gambar 2 Gambaran Umum Sistem

  Gambaran umum sistem pada penelitian ini dijelaskan dalam Gambar 2, pertama membuat

  motion gerakan yang menjadi awal atau acuan

  untuk robot dapat bergerak sesuai yang diingnkan, kedua terdapat CM-510 controller sebagai kontroler servo motor yang menjadi penggerak utama dalam robot ini yang nantinya kontroler ini akan digunakan untuk memasukkan program dari IDE Atmel Studio yang didalamnya

  Gambar 3 Flowchart Sistem

  terdapat program seperti jalan, kode kode yang akan digunakan untuk mengoperasikan semua . Terdapat perangkat lunak yang dapat digunakan dalam perancangan robot yakni, kerja yang dibutuhkan robot untuk melakukan

  Roboplus, IDE Atmel Studio maupun perangkat

  gerakan. Selanjutnya terdapat mini komputer lunak yang terdapat pada terminal Raspberry Pi.

  raspberry untuk menjalankan perintah dari CM-

  Perancangan perangkat lunak digunakan untuk

  510 yang digunakan sebagai translator dan juga

  mengetahui alur dari kerja sistem melalui diagram alir, yang mana program alir tersebut berisi mengenai inisialisai servo pada Raspberry

  Pi

  1. x=1 dan y=2 2. x=2 dan y=5 3. x=3 dan y=6 4. x=4 dan y=6 5. x=5 dan y=8

  Pengujian jalan lurus robot digunakan untuk mengetahui seberapa besar tingkat keberhasilan gerakan robot pada saat sudut yang dibutuhkan sudah memenuhi derajat yang sesuai dengan motion atau gerakan berjalan tanpa terjatuh dengan memberikan lima masukan yang berbeda pada tiap-tiap koordinat x dan y. Koordinat x dan y tersebut digunakan untuk menghitung nilai sudut dari kedua kaki robot (kaki kanan dan kaki kiri). Setelah itu dilakukan pengujian berjalan robot sebanyak sepuluh kali dengan parameter sudut terdeteksi, pergerakan jalan lurus dan keterangan yang dihasilkan dari semua pengujian. Lima nilai koordinat tersebut yakni :

  4.2 Pengujian Jalan Lurus Robot

  harus dibutuhkan untuk kaki robot memenuhi nilai perhitungan dari inverse kinematic.

  . sebagai sudut yang

  ( ) 78,49 o dan 102,3 o

  Percobaan kelima menggunakan nilai x=5 dan y=8, dari nilai koordinat tersebut menghasilkan nilai theta

  ( ) 88,23 o dan 122,9 o .

  Percobaan keempat menggunakan nilai x=4 dan y=6, dari nilai koordinat tersebut menghasilkan nilai theta

  ( ) 82,61 o dan 127,3 o .

  ( ) 81,13 o dan 138,5 o . Percobaan ketiga menggunakan nilai x=3 dan y=6, dari nilai koordinat tersebut menghasilkan nilai theta

  Percobaan kedua menggunakan nilai parameter input koordinat x=2 dan y=5, dari nilai koordinat tersebut menghasilkan nilai theta

  ( ) 82,61 o dan 164,6 o .

  ( ). Percobaan pertama menggunakan nilai x=1 dan y=2, dari nilai koordinat tersebut menghasilkan nilai theta

  Dari percobaan tabel 1, peneliti membuat 5 nilai parameter sebagai masukan x dan y dengan nilai yang berbeda. Nilai x dan y merupakan nilai awal untuk mendapatkan nilai sudut yang nantinya akan digunakan sebagai acuan untuk mendapatkan posisi sudut pada robot. Nilai yang dibutuhkan yaitu nilai r (jari jari), nilai q1, q2, q3 sebagai nilai bantuan dan juga sebagai rumus untuk menghitung nilai theta

  Tabel 1 Tabel Nilai Koordinat masing masing Sudut

  dari masing-masing sudut, dibutuhkan 5 percobaan nilai masukan x dan y yang berbeda, dimana nilai masukan x dan y tidak boleh lebih dari perbandingan besar, misalkan x memiliki nilai 1 dan y memiliki nilai 9. Hal ini tidak dapat digunakan karena nilai yang dihasilkan tidak akan sesuai dengan nilai end effector dari robot yang sesuai dengan kondisi berjalan robot.

  inverse kinematic. Untuk dapat mengetahui nilai

  kebebasan. Dalam percobaan nilai koordinat akan diketahui nilai dari masing-masing sudut yang dibutuhkan kaki robot untuk membentuk sudut yang diinginkan dengan perhitungan

  Freedom ) atau yang disebut dengan derajat

  Pengujian nilai koordinat digunakan sebagai acuan nilai dasar dari gerak robot. Pengujian ini memiliki nilai koordinat x dan y pada robot yamg memiliki 3 DOF (Degree Of

  kemudian memasukkan nilai input x dan y, setelah input diterima maka akan diteruskan menuju proses perhitungan, proses perhitungan tersebut akan meneruskan untuk memerintah robot agar CM-510 dapat memberikan instruksi kepada motor servo untuk menggerakkan robot sampai robot mampu menjalankan perintah jalan yang sesuai dengan sudut yang telah ditentukan.

4. PENGUJIAN DAN ANALISIS

4.1 Pengujian Nilai Koordinat

  Tabel 2 Pengujian Nilai Error Terhadap sudut o 90 pada Jalan Lurus Robot Gambar 4 Hasil Pengolahan Data

  Setelah pengolahan data pada nilai koordinat, selanjutnya melakukan perhitungan sudut kaki robot berdasarkan metode inverse

  Kesimpulan dari tabel 2 adalah bahwa o kinematic sesuai dengan Gambar 5. pengujian nilai error terhadap sudut 90 menghasilkan selisih kesalahan pada saat mengukur sudut yang terukur dengan sudut yang diinginkan. Berdasarkan tabel 2 rata-rata error pada sudut sebesar 1,14% sedangkan rata-rata

  1 nilai error terhadap sudut sebesar 1,76%.

  2

  4.3 Pengujian Jalan Serong Robot

  Pengujian jalan robot juga harus diperhatikan ketika robot dalam kondisi jalan yang lain, sama hal nya dengan kondisi robot dalam keadaan jalan lurus, robot juga harus di uji dengan jalan serong, dimana kondisi jalan seperti ini akan dibutuhkan sebagai dasar untuk fungsi sebagai robot humanoid. Pengujian jalan

  Gambar 5 Perhitungan sudut kaki robot

  serong robot ini akan diberikan masukan koordinat yang sama dengan pengujian jalan

4.2.1 Pengujian Error Terhadap Jalan Lurus Robot

  lurus yakni terdapat lima pengujian koordinat yang berbeda. Pengujian ini juga digunakan Pengujian error terhadap jalan lurus untuk mengetahui besar sudut dari kaki robot robot digunakan untuk mengetahui nilai

  (kanan dan kiri) sehingga akan menghasilkan kesalahan dari sudut servo terhadap pergerakan nilai dari perhitungan metode inverse kinematic robot menggunakan metode inverse kinematic. secara tepat dan dapat menghasilkan gerakan

  Pengujian error akan diketahui setelah nilai dari yang akurat. sudut yang diinginkan dengan sudut yang terhitung berdasarkan rumus yang telah

  Pengujian dilakukan sebanyak sepuluh kali ditentukan. Peralatan yang digunakan untuk dimana nilai koordinat yang akan diuji akan perhitungan nilai dari sudut yang terhitung menghasilkan nilai sudut pertama dan nilai sudut menggunakan busur dan tidak dapat menghitung kedua, terdapat parameter pengujian sudut, jalan nilai koma dari selisih sudut tersebut. Pengujian serong apakah berhasil atau tidak, dan ini dilakukan dengan berdasarkan jangkauan o keterangan hasil pengujian yang telah dilakukan, sudut 0-90 . serta menghitung nilai error yang terjadi pada saat pengujian. Nilai koordinat sama dengan jalan lurus robot.

  Gambar 6 Pengolahan Data robot jalan serong

  2 sebesar 1,76%.

  Kesimpulan pengujian jalan lurus dengan menggunakan 5 koordinat sudut yang

  4.4.1 Waktu Sampling Jalan Lurus Robot Tabel 4 Hasil Pengujian Waktu Robot Pada Jalan Lurus

  waktu yang dibutuhkan menggunakan satuan detik (second), gerakan berjalan robot hanya dibatasi dengan panjang sejauh 1 meter dan pengukuran waktu menggunakan stopwatch untuk mengetahui seberapa tepat waktu dalam satuan detik dan juga waktu dalam satuan milidetik (milisecond/ms).

  kinematic . Parameter yang digunakan yaitu

  Pengujian yang terakhir yakni pengujian robot pada kondisi jalan lurus dan kondisi jalan serong. Pengujian ini ditunjukkan untuk mengetahui waktu sampling terhadap robot ketika robot melakukan aksi gerakan berdasarkan perhitungan metode inverse

  4.4 Pengujian Waktu Sampling

  sebesar 1,14% sedangkan rata-rata nilai error terhadap sudut

  Setelah pengolahan data pada nilai koordinat, selanjutnya melakukan perhitungan sudut kaki robot pada saat jalan serong berdasarkan metode inverse kinematic sesuai dengan Gambar 7.

  1

  Kesimpulan dari tabel 3 adalah bahwa pengujian nilai error terhadap sudut 90 o menghasilkan selisih kesalahan pada saat mengukur sudut yang terukur dengan sudut yang diinginkan. Berdasarkan tabel 3 rata-rata error pada sudut

  90 o pada Jalan Serong Robot

  Tabel 3 Pengujian Nilai Error Terhadap sudut

  Pengujian error terhadap jalan lurus robot digunakan untuk mengetahui nilai kesalahan dari sudut servo terhadap pergerakan robot menggunakan metode inverse kinematic. Pengujian error akan diketahui setelah nilai dari sudut yang diinginkan dengan sudut yang terhitung berdasarkan rumus yang telah ditentukan. Peralatan yang digunakan untuk perhitungan nilai dari sudut yang terhitung menggunakan busur dan tidak dapat menghitung nilai koma dari selisih sudut tersebut. Pengujian ini dilakukan dengan berdasarkan jangkauan sudut 0-90 o .

  Gambar 7 Perhitungan sudut kaki robot

4.3.1 Pengujian Error Terhadap Jalan Serong Robot

  telah diketahui sebelumnya, memiliki waktu yang berbeda-beda, kondisi tersebut dipengaruhi adanya gerakan yang sedikit berbeda antar sudut koordinat dengan perhitungan inverse kinematic yang telah terhitung. Hasil pengujian dari tabel 4 menunjukkan bahwa waktu yang telah ditempuh dalam melakukan gerakan jalan lurus dari satu titik ke titik lain menghasilkan rata-rata waktu 51,4 detik.

  League of Control Robot.” Humanoid League of Control Robot.

  inverse kinematic digunakan untuk

  mengetahui error dari setiap sudut, dimana dalam kasus ini menggunakan 5 koordinat sebagai input dari nilai sudut. Pengujian nilai error sudut pada

  1

  sebesar 1,14% dan untuk

  2 sebesar 1,76%.

  6. DAFTAR PUSTAKA

  DIKTI, KEMENRI STEK. 2016. “Humanoid

  Gonzales . 1987. “artifical intelligent and

  . Setelah minikomputer Raspberry Pi memproses perhitungan maka nilai dari sudut akan diteruskan menuju kontrol servo untuk melakukan sebuah motion jalan.

  roboti cs.” humanoid robot an intelligent.

  Kucuk, Serdar, Bi ngul, Zafer. 2009. “Forward

  and Inverse kinemati cs.”

  Kusuma, Mario . 2012. “Teknik Support Polygon pada Humanoid Robot dengan

  Menentukan Center Of Grafity.

  ” Maulana, I nsan. 2010. “Robot Humanoid dan kecerdasan buatan.”

  Rahmadianto A, Adiprasetiano H, Priyono, M.G. 2014. “Analisis Stable Walking

  Humanoid Robot Soccer Berbasis Zero

  4. Pengujian robot humanoid dalam metode

  2

  4.4.2 Waktu Sampling Jalan Serong Tabel 5 Hasil Pengujian Waktu Robot Pada Jalan Serong

  dan

  1

  3. Untuk melakukan perintah menuju CM-510 sebagai kontrol motor servo digunakan kabel USB seri RS232 sebagai pengiriman data untuk memanggil motion dari CM-510. Dari koordinat x dan y maka akan diketahui nilai dari sudut

  untuk menghasilkan kondisi sesuai dengan yang diinginkan (end effector).

  2

  dan

  1

  2. Pola berjalan robot humanoid berdasarkan metode inverse kinematic yakni robot mampu berjalan pada alas datar dan juga robot mampu untuk berjalan dengan perhitungan sudut yang telah dirumuskan dengan memperhatikan nilai dari sudut

  Kesimpulan dari tabel 5 pada dasarnya sama seperti jalan lurus tetapi proses dari jalan serong tersebut berbeda dengan jalan lurus, dimana pada saat akan memulai gerakan jalan dari kondisi siap menuju langkah awal pergerakan jalan membutuhkan motion serong. Hal ini menyebabkan adanya tambahan waktu total dari jalan serong melebihi 60 detik. Rata-rata waktu hasil pengujian jalan serong dari satu titik ke titik lain menghasilkan waktu 69,46 detik.

5. KESIMPULAN

  digunakan sebagai perhitungan inverse

  humanoid ini terdapat 3 DOF untuk

  mikrokontroler Raspberry Pi sebagai kontrol seluruh bagian robot dan baterai sebagai sumber tegangan. Pada robot

  body, servo motor, CM-510,

  . Perancangan robot humanoid meliputi

  1

  Berdasarkan hasil dari tahapan perancangan, implementasi, pengujian serta analisis hasil pengujian yang telah dilakukan, peneliti dapat menarik kesimpulan bahwa:

  kontrol servo harus berhubungan agar data yang diambil dari CM-510 dapat diproses melalui minikomputer Raspberry Pi untuk menjalankan gerakan kepada motor servo.

  kinematic. Minikomputer Raspberry Pi dan

  Momen Point

  .” Indonesia Symposium Robot Soccer Competition. Surya Setiawan, Firdaus, Budi Rahmadya,

  Deri sma. 2015. “Penerapan Invers Kinematika Untuk Pergerakan Kaki Robot.” Semnastek (Fakultas Teknologi Informasi Universitas Andalas).