Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
281
Remote Control Robot Kaki Enam (Hexapod) Berbasis Android dengan Menggunakan Metode Inverse Kinematics
Hasbullah Ibrahim*), Anton Hidayat**), Rahmi Eka Putri***), Ratna Aisuwarya****) * *** **** † † Sistem Komputer, Universitas Andalas ** Teknik Elektro, Politeknik Negeri Padang * E-Mail:
[email protected], **
[email protected], ***
[email protected], ****
[email protected] Abstrak Robot hexapod adalah robot berkaki yang terdari dari enam kaki yang masing-masing kaki mempunyai 3 derajat kebebasan (S1, S2 dan S3) yang bentuknya seperti laba-laba. Masing-masing kaki haruslah bergerak secara fleksibel agar robot dapat bergerak secara halus. Oleh Karena itu, digunakanlah metode inverse kinematics untuk memperoleh nilai sudut pada masing-masing kaki. Robot kaki enam (hexapod) dapat bergerak secara otomatis ataupun manual dengan menggunakan remote control khusus. Salah satu alat kendali yang dapat digunakan adalah media smartphone, dengan menggunakan bluetooth sebagai penghubung antara robot dengan smartphone. Pergerakan pada robot kaki enam (hexapod) terdiri dari delapan macam yaitu maju, mundur, rotasi kiri, rotasi kanan, miring depan, miring belakang, miring kiri dan miring kanan. Pengujian yang dilakukan mendapatkan nilai persentase kesalahan pada sudut semua motor yaitu S1 = 4.923%, S2 = 3.8% dan S3 = 9.11% dengan ukuran panjang lengan 1 (L1) = 40 mm dan panjang lengan 2 (L2) = 60 mm. Kata kunci : Robot, Hexapod, Inverse kinematics, Android
1. PENDAHULUAN Teknologi robot berkaki bekerja layaknya kaki manusia, karena setiap kaki terdiri dari beberapa sendi dimana setiap sendi kaki robot menggunakan sebuah motor. Sampai saat ini robot berkaki terdiri dari beberapa jenis diantaranya robot berkaki dua, tiga, empat, enam, dan delapan. Kelebihan robot berkaki dibandingkan dengan tipe beroda yaitu dapat menjelajah pada medan kasar, medan licin atau menaiki tangga. Robot pada umumnya dapat dikontrol dan beroperasi dengan dua cara yaitu secara manual dengan menggunakan sebuah media kontrol khusus disebut remote control dan secara otomatis. Pergerakan robot biasanya dikontrol dengan menggunakan alat kontrol khusus, namun saat ini dapat dikembangkan alat kontrol dengan menggunakan media smartphone. Smartphone yang berbasis android mempunyai beberapa sensor salah satunya yaitu sensor accelerometer yang berfungsi untuk menentukan derajat kemiringan dari smartphone. Derajat kemiringan smartphone akan disamakan
ISBN: 979-26-0280-1
dengan kondisi robot dengan cara menghubungkan smartphone dengan robot melalui media bluetooth. Setiap kaki pada robot harus bergerak secara fleksibel agar pergerakan robot menjadi halus. Oleh karena itu, digunakanlah metode inverse kinematics untuk menentukan derajat pergerakan masing-masing kaki robot, karena lebih akurat sehingga pola pergerakan kaki lebih teratur dan kaki robot bergerak secara fleksibel.
2. TINJAUAN PUSTAKA 2.1 Robot Robot adalah sistem atau alat yang dapat berperilaku atau meniru perilaku manusia dengan tujuan untuk menggantikan dan mempermudah kerja/aktifitas manusia[1]. Secara umum kegunaan robot adalah untuk menggantikan kerja manusia yang membutuhkan ketelitian yang tinggi atau mempunyai resiko yang sangat besar atau bahkan mengancam keselamatan manusia. Pada saat ini terdapat beberapa jenis robot, diantaranya :
282
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
1. Robot Manpiulator (tangan) 2. Robot Humanoid 3. Robot Berkaki 4. Robot Terbang (Flying Robot) 5. Robot dalam air (Under Water Robot) 2.2 Metode Inverse Kinematics Inverse kinematics merupakan suatu metode analisa untuk melakukan transformasi dari ruang Cartesian ke ruang sendi.. Dengan model kinematik, dapat ditentukan konfigurasi referensi masukan yang harus diumpankan kepada masingmasing aktuator agar robot dapat melakukan gerakan secara simultan untuk mencapai posisi yang dikehendaki[2]. Model konstruksi kaki robot dapat dilihat pada gambar 1.
Symbian di Nokia, iOS di Apple dan BlackBerry OS. 2.5 Bluetooth Bluetooth adalah tekhnologi jarak pendek yang memberikan kemudahan koneksi bagi peralatan- peralatan nirkabel. Berbeda dengan komunikasi dengan inframerah, Bluetooth didesain untuk tidak tergantung terhadap line-of-sight yaitu apakah modul-modul bluetooth yang sedang saling berkomunikasi berada dalam kondisi segaris maupun apakah modul-modul tersebut terhalang atau tidak. Jarak maksimal fasilitas bluetooth umumnya peralatan-peralatan bluetooth dapat saling berkomunikasi dalam jarak yang sedang antara 1 hingga 100 m. Jarak maksimal ini dapat dihasilkan tergantung dari daya output yang digunakan dalam modul bluetooth.
Gambar 1.Konstruksi Kaki 2 Dimensi dan 3 Dimensi 2.3 Accelerometer Sensor accelerometer merupakan salah satu fitur yang ditanam pada smartphone android yang biasanya berfungsi untuk menentukan derajat kemiringan dari smartphone. Pada dasarnya fungsi sensor ini untuk mengubah tampilan layar dari posisi landscape menjadi potrait ataupun sebaliknya, sehingga tampilan menu dan aplikasi yang ada di smartphone akan menyesuaikan posisi dari smartphone. Posisi sumbu x,y dan z pada accelerometer dapat dilihat pada gambar 2.
3.1 Metodologi Penelitian Metodologi penelitian yang digunakan pada penelitian ini terlihat pada gambar 3.
3. METODOLOGI PENELITIAN
Gambar 2. Posisi sumbu X, Y, dan Z pada accelerometer
2.4 Android Android adalah sistem operasi yang digunakan di smartphone dan juga tablet PC. Fungsinya sama seperti sistem operasi
ISBN: 979-26-0280-1
Gambar 3. Metodologi Penelitian Pada Penelitian ini metode yang digunakan adalah metode eksperimental. 3.2 Perancangan Sistem Perancangan sistem secara keseluruhan dapat dilihat pada gambar 4.
283
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
Gambar 6. Desain bodi robot kaki enam (hexapod)
Gambar 4. Diagram Blok Sistem Penjelasan cara kerja secara keseluruhan dari blok diagram diatas adalah : a) Smartphone android berfungsi untuk memberikan perintah atau hanya sebagai pengendali (remote control) robot kaki enam (hexapod) yang dikirimkan ke mikrokontroler dengan menggunakan modul bluetooth. b) Bluetooth berfungsi untuk mengirimkan data-data dari smartphone ke mikrokontroler. c) Mikrokontroler berfungsi sebagai pusat penyimpanan informasi, pemrosesan setiap inputan dan juga tempat eksekusi instruksi-instruksi yang diberikan agar media output yaitu motor bisa bergerak sesuai dengan perintah yang diberikan. d) Motor microservo berfungsi penggerak dari robot dimana pergerakan yang diberikan akan diproses sebelumya di mikrokontroler. Perancangan bodi hexapod menggunakan applikasi autocad, desain dari masing-masing bagian bodi robot beserta ukurannya (mm).
Gambar 5. (a) Link 1 (b) Bracket Motor 1 dan 3 (c) Link 2
Pada setiap kaki pada robot kaki enam (hexapod) menggunakan tiga motor atau disebut juga dengan derajat kebebasan, karena memungkinkan bergerak pada tiga sumbu yaitu naik-turun (Servo 1), kiri-kanan (Servo 2) , dan maju-mundur (Servo 3). Servo ketiga merekat langsung pada bodi robot yang posisinya bergerak terhadap sumbu z. Servo pertama yang merekat pada servo ketiga yang posisinya bergerak terhadap sumbu y dan servo kedua menempel pada kaki yang posisinya bergerak terhadap sumbu x. Ujung setiap kaki robot merupakan end point yaitu tujuan akhir dari pergerakan kaki robot. Pada setiap motor menggunakan satu pin data pada arduino, dimana pada satu buah kaki terdapat 3 buah motor, sehingga jumlah semua pin data yang digunakan untuk motor berjumlah 18 yang dapat dilihat pada tabel 1. Tabel 1. Penggunaan PIN arduino mega pada setiap motor No
Posisi Motor
PIN
Ket.
No
Posisi Motor
PIN
Ket.
1.
Ka_A1
36
Kanan A Motor 1
10.
Ki_A1
24
Kiri A Motor 1
2.
Ka_A2
38
Kanan A Motor 2
11.
Ki_A2
26
Kiri A Motor 2
3.
Ka_A3
34
Kanan A Motor 3
12.
Ki_A3
22
Kiri A Motor 3
4.
Ka_B1
42
Kanan B Motor 1
13.
Ki_B1
30
Kiri B Motor 1
5.
Ka_B2
44
Kanan B Motor 2
14.
Ki_B2
32
Kiri B Motor 2
6.
Ka_B3
40
Kanan B Motor 3
15.
Ki_B3
28
Kiri B Motor 3
7.
Ka_C1
48
Kanan C Motor 1
16.
Ki_C1
3
Kiri C Motor 1
8.
Ka_C2
50
Kanan C Motor 2
17.
Ki_C2
4
Kiri C Motor 2
9.
Ka_C3
46
18.
Ki_C3
2
Kanan C Motor 3
Kiri C Motor 3
Setiap kaki hexapod mampu bergerak terhadap 3 sumbu yaitu sumbu x, sumbu y dan sumbu z. Data digital akan dikirim secara serial ke bluetooth slave yang telah terhubung dengan pin TX pada arduino.
ISBN: 979-26-0280-1
284
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
Sebelumnya bluetooth slave harus sudah terkoneksi dengan bluetooth android. Data digital yang dikirim secara serial oleh arduino ke bluetooth akan dilanjutkan ke android dimana di android tersebut sudah terbuka aplikasi untuk menerima data yang dikirim melalui bluetooth. Data tersebut akan diolah di mikrokontroler dan mikrokontroler mengirim nilai ke motor microservo. Mulai
Arah Gerak Maju Mundur Rotasi Kanan Rotasi Kiri
Inisialisasi Bluetooth
Cek Komunikasi
Bluetooth Aktif
dan button) kontrol dibuat dua tampilan masing-masing terdiri dari empat macam pergerakan. Pada akselerometer terdiri atas gerakan maju, mundur, rotasi kiri dan rotasi kanan. Arah gerak robot ditentukan oleh nilai x dan y accelerometer pada smartphone. Nilai accelerometer pada setiap smartphone biasanya dari range 0 – 9 dan -9 – 0. Nilai yang ditentukan berdasarkan arah pergerakan robot dapat dilihat pada tabel 2. Tabel 2. Arah Gerak Mobile Robot
T
Y
Pengiriman data dari smathphone ke arduino Pemrosesan pada mikrokontroler (Inverse Kinematics)
Nilai Sensor Accelerometer Y ≤ -5 Y≥5 X ≤ -5 X≥5
Sedangkan pada tampilan button terdiri atas gerakan miring depan, miring belakang, miring kiri dan miring kanan yang dapat dilihat pada gambar 9. Tombol button tersebut akan aktif apabila ditekan dan akan tidak aktif apabila dilepaskan.
Nilai sudut untuk motor
T
Data terkirim Y
Motor bergerak
Selesai
Gambar 7. Flowchart system
4. HASIL DAN PEMBAHASAN 4.1 Implementasi Perakitan setiap komponen robot kaki enam (hexapod) dan setiap bagianbagian bodi robot menggunakan beberapa jenis baut. Bentuk dari robot kaki enam (hexapod) yang telah dirakit dapat dilihat pada gambar 8.
Gambar 8. Robot Hexapod Tampak Depan dan Tampak Atas 4.2 Prosedur Alat Pergerakan robot kaki enam (hexapod) terdiri dari delapan macam pergerakan dan pada tampilan (akselerometer
ISBN: 979-26-0280-1
Gambar 9. Tampilan aplikasi remote kontrol robot (hexapod) pada android 5.3 Pengujian 1. Pengujian Komunikasi (Bluetooth) Datasheet bluetooth HC 05 menunjukkan jangkauan bluetooth ini mencapai 30 m. Pengujian dilakukan di ruangan terbuka agar dapat melihat pergerakan robot sesuai yang perintah yang diberikan. Tabel 3. Pengujian Jarak Komunikasi Bluetooth Jarak (m) 1 -21 25 28
1 Berhasil Berhasil Berhasil
Percobaan 2 Berhasil Berhasil Berhasil
29
Berhasil
Berhasil
30
Berhasil
Tidak Berhasil
3 Berhasil Berhasil Berhasil Tidak Berhasil Tidak Berhasil
285
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
2. Pengujian Inverse Kinematics Nilai dari S1, S2, dan S3 yang didapatkan dari perhitungan rumus inverse kinematics tersebut tidak bisa langsung dieksekusi oleh motor servo karena kondisi awal sewaktu mengkalibrasi setiap motor arah dan posisi awal sumbu utama setiap motor berbeda-beda. Tabel 4. Hasil dari rumus inverse kinematics Kondisi Kaki
Standar Pose
Maju (Atas ke depan)
Mundur (Atas ke belakang)
Kiri (Atas ke kiri)
Kanan (Atas ke kanan)
Posisi Kaki Ka_1 Ki_2 Ka_3 Ki_1 Ka_2 Ki_3 Ka_1 Ki_2 Ka_3 Ki_1 Ka_2 Ki_3 Ka_1 Ki_2 Ka_3 Ki_1 Ka_2 Ki_3 Ka_1 Ki_2 Ka_3 Ki_1 Ka_2 Ki_3 Ka_1 Ki_2 Ka_3 Ki_1 Ka_2 Ki_3
x y z (mm) (mm) (mm) 50 20 20 -50 20 0 50 20 -20 -50 20 20 50 20 0 -50 20 -20 50 30 35 -50 30 15 50 30 -5 -50 20 5 50 20 -15 50 30 -5 50 30 5 -50 30 -15 50 30 -5 -50 20 35 50 20 15 -50 20 -5 35 30 20 -65 30 0 35 30 -20 -35 20 20 65 20 0 -35 20 -20 65 30 20 -35 30 0 65 30 -20 -65 20 20 35 20 0 -65 20 -20
S1 (o) 60 60 60 60 60 60 44 43 44 60 60 44 44 43 44 60 60 60 44 43 44 60 60 60 44 43 44 60 60 60
S2 (o) 67 67 67 67 63 67 57 53 57 67 63 57 57 53 57 67 63 67 57 53 57 67 63 67 57 53 57 67 63 67
Pengambilan 1 buah nilai x, y z pada setiap pola pergerakan agar dapat memudahkan membandingkan nilai antara nilai teori dengan nilai praktek. Pengulangan nilai-nilai x, y, dan z pada setiap subprogram masing-masing pergerakan sehingga robot tersebut bisa berjalan secara tepat dan konstan. Apabila nilai-nilai x, y, dan z dibuat berubah-ubah atau selisihnya tidak sama maka pergerakan kaki-kaki robot akan kacau. 3. Perbandingan hasil perhitungan rumus dengan hasil pengujian Data yang akan diujikan yaitu nilai dari S1, S2 dan S3 yang didapatkan dari perhitungan rumus inverse kinematics (Tabel 4) dengan data yang didapatkan dari
ISBN: 979-26-0280-1
pengukuran manual posisi sudut motor servo menggunakan busur.
S3 (o) 21 1 21 21 1 21 21 1 21 21 1 21 21 1 21 21 1 21 21 1 21 21 1 21 21 1 21 21 1 21
Gambar 10. Pengukuran sudut S1 Sedangkan untuk mengukur sudut S2, titik (0,0) berada pada poros motor kedua dan ujungnya berada pada endpoint kaki robot.
Gambar 11. Pengukuran sudut S2
Gambar 12. Pengukuran sudut S3 Untuk mencari persentase kesalahan (error) antara nilai S1, S2 dan S3 teori dengan nilai praktek dapat mengunakan rumus berikut : ( )
|
|
(1)
Tabel 5. Perbandingan data teori dengan data praktek dan nilai kesalahan Kondisi Kaki
Posisi Kaki Ka_1 Ki_2 Ka_3 Standar pose Ki_1 Ka_2 Ki_3 Maju (Atas Ka_1
Teori (o) Praktek (o) S1 S2 S3 S1 S2 S3 60 67 21 62 67 22 60 67 1 60 63 1 60 67 21 60 65 23 60 67 21 58 65 23 60 63 1 58 65 1 60 67 21 60 67 18 44 57 21 45 58 21
Error (%) S2 S3 0 1.67 4.48 0 2.98 9.52 2.98 9.52 3.17 0 0 14.29 1.75 0
S1 3.33 0 0 3.33 3.33 0 2.27
286
kedepan)
Ki_2 Ka_3 Ki_1 Ka_2 Ki_3 Ka_1 Ki_2 Mundur Ka_3 (Atas Ki_1 kebelakang) Ka_2 Ki_3 Ka_1 Ki_2 Kiri (Atas Ka_3 kekiri) Ki_1 Ka_2 Ki_3 Kanan (Atas Ka_1 kekanan) Ki_2 Ka_3 Kanan (Atas Ki_1 kekanan) Ka_2 Ki_3
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
40 44 60 60 44 44 43 44 60 60 60 44 43 44 60 60 60
53 57 67 63 57 57 53 57 67 63 67 57 53 57 67 63 67
1 21 21 1 21 21 1 21 21 1 21 21 1 21 21 1 21
40 40 58 60 42 45 40 44 58 58 57 44 45 40 58 60 58
45 55 65 65 55 57 45 60 67 60 65 53 55 52 67 65 70
1 21 21 1 21 10 1 25 27 1 9 17 1 18 21 1 21
0 15.09 0 9.09 3.51 0 3.33 2.98 0 0 3.17 0 4.55 3.51 0 2.27 0 52.38 6.98 15.09 0 0 5.26 19.05 3.33 0 28.57 3.45 4.76 0 5 2.99 57.14 0 7.02 19.05 4.65 3.77 0 10 8.77 14.29 3.33 0 0 0 3.17 0 3.33 4.48 0
44 57 21
47 67 18 6.82 17.54 14.29
43 44 60 60 60
50 50 57 60 57
53 57 67 63 67
1 21 21 1 21
55 61 70 60 67
1 16.28 3.77 21 13.64 7.02 21 5 4.48 1 0 4.76 18 5 0
0 0 0 0 14.29
Untuk menghitung nilai rata-rata tingkat kesalahan output motor teori terhadap nilai out motor praktek menggunakan penghitungan berikut: (2) (3) Rata-rata kesalahaan dan persentase masingmasing sudut yaitu : 1. sudut S1 dengan rentang sudut 0o – 80o:
2. Sudut S2 dengan rentang sudut 0o – 120o:
3. Sudut S3 dengan rentang sudut 0o – 60o:
ISBN: 979-26-0280-1
5. KESIMPULAN 1. Perangkat yang digunakan untuk mengendalikan robot kaki enam (hexapod) sebagai server dan robot kaki enam (hexapod). 2. Data accelerometer pada smartphone diberikan nilai khusus agar robot dapat bergerak apabila nilai tersebut sama atau melebihinya, yaitu : nilai X ≥ 5 (miring kiri) dan –X ≤ -5 (miring kanan) sedangkan nilai Y ≥ 5 (miring belakang) dan –Y ≤ -5 (miring depan). 3. Hasil perbandingan nilai S1, S2 dan S3 memiliki nilai persentase kesalahan yaitu S1 = 4.923%, S2 = 3.8% dan S3 = 9.11% dengan ukuran panjang lengan 1 (L1) 40 mm dan panjang lengan 2 (L2) = 60 mm.
6. DAFTAR PUSTAKA [1] Budiharto, Widodo. 2012. Robotika Modern. Andi. Yogyakarta. [2] Sibau, Wensiscilius. 2013. Rancang lengan robot dengan metode kinematic menggunakan ATMEGA 168. Hal : 6 [3] Yuhan Habibi, Danang. 2013. Penerapan Inverse Kinematic Pada Pengendalian Gerak Robot. Hal : 2 [4] Safaat H, Nazruddin. 2012. Pemrograman Applikasi Mobile Smartphone Dan Tablet PC Berbasis Android. Informatika. Bandung. [5] Developers, Android. 2013. Dashboards Android Developers, URL: http://developer.android.com/about/dash boards/index.html. Diakses tanggal 25 September 2014