Anda di halaman 1dari 20

Perancangan Dan Analisis Sistem Kendali Lengan Robot Berbasis Motion

Control

Azzam Hanif, Kalamullah Ramli

Departemen Teknik Elektro, Fakultas Teknik, Universitas Indonesia, Kampus UI Depok, 16425, Indonesia

E-mail: azzam.hanif@ui.ac.id, k.ramli@ee.ui.ac.id

Abstrak

Penggunaan lengan robot dapat menggantikan ataupun meringankan kerja manusia secara langsung.
Namun terdapat kendala yaitu sistem user interface lengan robot yang rumit. Oleh karena itu dibutuhkan user
interface lengan robot yang intuitif untuk dipelajari dan mudah untuk dioperasikan. Pada penelitian ini dirancang
dan diimplementasikan sebuah sistem kendali lengan robot yang memiliki user interface berbasis Natural User
Interface yang mudah untuk dikendalikan. Lengan robot yang dapat dikendalikan mengikuti gestur gerakkan
telapak tangan dan jari manusia dengan metode Motion Control secara realtime menggunakan sensor Leap
Motion. Selain itu juga dirancang sistem penyimpanan dan ekstraksi database motion sehingga lengan robot
memiliki kecerdasan untuk mampu melakukan gerakkan yang telah diajarkan oleh manusia. Lengan robot
menggunakan 5 buah servo yang dikendalikan oleh mikrokontroler Arduino dengan sinyal PWM.
Mikrokontroler Arduino dan Leap Motion dihubungkan dengan komputer melalui port USB. Frame-frame data
yang diterima dari Leap Motion diproses oleh program berbasis Java pada komputer. Output dari program
tersebut adalah besar sudut-sudut putaran setiap servo yang dikirim melalui komunikasi serial ke mikrokontroler
Arduino. Program tersebut menggunakan algoritma inverse kinematic untuk mengkalkulasi besar sudut putaran
servo. Sensor Leap Motion memiliki tingkat keakurasian yang tinggi dengan standar deviasi sumbu koordinat x,
y dan z secara berturut sebesar 0.022431 mm, 0.084935 mm, dan 0.056216 mm.

Design and Analysis of Motion Based Robotic Arm Control System

Abstract

Robotic arm can replace or relieve human labor directly. But there is major obstacle, the system user
interface of robot arm is complicated. Therefore, it needs a robot arm user interface system that is intuitive to
learn and easier to operate. This study, has designed and implemented an intuitive robot arm control system. The
system uses Natural User Interface and easy to control. The robotic arm can be controlled by following the
movement of a human hand and fingers gestures in realtime. Leap Motion device is used as a sensor-based hand
motion control interface. This system also implemented motion database storage and extraction systems, so the
robot arm has the intelligence to be able to perform movements that have been taught by humans. The robotic
arm using 5 pieces of servos which are controlled by an Arduino microcontroller over PWM signal. The Arduino
microcontroller and Leap Motion is connected to a computer via a USB port. Input frames of data received from
Leap Motion is processed by a Java-based program. The output of the program is rotation angles of each servo
that is sent through a serial communication to the Arduino microcontroller. The program uses an inverse
kinematic algorithm to calculate the large of each servos angle rotation. Leap Motion sensor has a high level of
accuracy with the standard deviation of 0.022431 mm, 0.084935 mm and 0.056216 mm correspond to the x,y,
and z respectively.

Key words: robot arm, motion control, Leap Motion, Arduino.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


I. PENDAHULUAN
LatarBelakang Penelitian
Penggunaan robot dalam kehidupan sehari-hari terus meningkat karena memiliki
beberapa kelebihan. Robot memiliki tingkat ketelitian dan produktifitas kerja yang tinggi
sehingga dapat meningkatkan volume produksi di suatu industri. Robot dapat bekerja dalam
operasi-operasi yang dianggap beresiko tinggi bagi manusia. Selain itu, robot mampu
menjalankan proses secara terus menerus yang tidak mampu dilakukan manusia.
Lengan robot adalah salah satu bentuk produksi dalam bidang robotika. Lengan robot
dirancang menyerupai tangan manusia. Lengan robot dilengkapi dengan aktuator dan
memiliki 3 Degree of Freedom (DOF). Bagian ujung lengan robot disebut end effector.
Bagian ini bisa berupa perangkat pengelasan, gripper, peralatan mesin, atau peralatan lain
yang sesuai dengan fungsi penggunaan lengan robot tersebut.
Namun terdapat kendala yaitu sistem user interface lengan robot yang rumit. Oleh
karena itu dibutuhkan user interface lengan robot yang intuitif untuk dipelajari dan mudah
untuk dioperasikan. Lengan robot dapat berinteraksi dengan manusia salah saatunya dengan
hand gesture recognition interface. Dengan interface ini manusia dapat mengendalikan
lengan robot melalui gerakkan tangan. Hand gesture recognition adalah salah satu jenis dari
Natural Language User Interface (NLUI). Natural Language User Interface adalah
pendekatan baru interaksi antara manusia dan mesin dengan metode atau cara yang alami.
Kata ‘alami’ memiliki arti bahwa seseorang dapat melakukan suatu kegiatan secara langsung,
dengan perlu sedikit mempelajarinya terlebih dahulu. Hal ini dapat direalisasikan dengan
mengadopsi kebiasaan dan tingkah laku yang melekat secara alamiah pada manusia dan
memanfaatkannya sebagai metode input untuk mengoperasikan sistem.
Pada penelitian ini dirancang dan diimplementasikan sebuah sistem kendali lengan
robot yang memiliki user interface berbasis Natural User Interface yang mudah untuk
dikendalikan. Lengan robot yang dapat dikendalikan mengikuti gestur gerakkan telapak
tangan dan jari manusia dengan metode Motion Control secara realtime menggunakan sensor
Leap Motion.

Tujuan Penelitian
Tujuan dari penelitian ini adalah:
1. Merancang dan mengimplementasi sistem kendali lengan robot berbasis hand Motion
Control.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


2. Merancang database motion agar lengan robot memiliki kecerdasan untuk mampu
melakukan gerakkan yang telah diajarkan oleh manusia.
3. Menguji dan menganalisis sistem yang telah diimplementasikan.

Pembatasan Masalah
Perancangan sistem kendali lengan robot 5DOF menggunakan isyarat tangan dengan
menggunakan Leap Motion. Lengan robot menggunakan 5 buah servo yang dikendalikan
oleh mikrokontroler Arduino dengan sinyal PWM. Isyarat tangan digunakan sebagai user
interface untuk mengendalikan lengan robot. Mikrokontroler Arduino dan Leap Motion
dihubungkan dengan komputer melalui port USB. Frame-frame data yang diterima dari Leap
Motion diproses oleh program berbasis Java pada komputer. Output dari program tersebut
adalah besar sudut-sudut putaran setiap servo yang dikirim melalui komunikasi serial ke
mikrokontroler Arduino. Program tersebut menggunakan algoritma inverse kinematic untuk
mengkalkulasi besar sudut putaran servo.

Metode Penulisan

Metode penulisan yang digunakan pada penelitian ini adalah,


1. Studi literatur, yaitu dengan mencari informasi dari buku maupun internet untuk
mempelajari materi yang mendukung penelitian ini.
2. Konsultasi dengan pembimbing yang berkompeten dalam bidangnya.
3. Perancangan dan implementasi hardware dan software dari konsep yang telah dibuat
dan mendokumentasikan hasil perancangan.
4. Menguji dan menganalisis terhadap sistem yang telah dirancang dan
diimplementasikan.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


II. PERANCANGAN SISTEM KENDALI LENGAN ROBOT BERBASIS MOTION
CONTROL

Perancangan Mekanik Lengan Robot

(a) (b)
Gambar 2.1. Mekanik Lengan Robot (a) Desain Mekanik Lengan Robot (b) Prototipe Lengan Robot
Lengan robot dirancang dengan 5 DOF (degree of freedom) yang terdiri dari 5 buah
servo dengan konfigurasi seperti berikut:
DOF 1 (servo1): Pada Shoulder putar
DOF 2 (servo2): Pada Shoulder
DOF 3 (servo3): Pada Elbow
DOF 4 (servo4): Pada Wrist
DOF 5 (servo5): Pada Gripper

Persamaan Kinematik Lengan Robot

Kalkulasi inverse kinematic hanya untuk menentukan 3 derajat kebebasan pada lengan
robot yaitu, besar sudut servo 1(base), servo 2(shoulder), dan servo 3(elbow). Sementara servo
4(wrist) dan servo 5(gripper) tidak termasuk dalam perhitungan invers kinematika. Servo 4
dikendalikan oleh kemiringan sudut (hand roll) telapak tangan.

Metode perhitungan inverse kinematic dapat dilakukan dengan dua cara. Cara yang
pertama adalah pendekatan Algebaric dan pendekatan Geometris. Penyelesaian inverse
kinematik lengan robot sistem ini menggunakan pendekatan geometris. Pendekatan geometris
dilakukan dengan menggambarkan lengan robot dalam bentuk geometris dan kemudiuan
dihitung dengan menggunakan aturan-aturan geometris. Pencarian nilai dari ketiga sudut sendi
lengan robot (𝜃! ,𝜃! , dan 𝜃! ) dilakukan secara satu persatu. Langkah pertama yang dilakukan
adalah mencari nilai sudut sendi 1 (θ! ). Untuk mempermudah perhitungan maka lengan robot
digambarkan dalam sumbu x, y, dan z. Berdasarkan wilayah pergerakkannya sendi 1 berada
pada sumbu x dan sumbu y. Sumbu z tidak berpengaruh terhadap pergerakkan sendi 1 karena

Perancangan dan ..., Azzam Hanif, FT UI, 2015


sumbu rotasi sendi 1 searah atau sejajar terhadap sumbu z. Secara sederhana wilayah
pergerakkan sendi 1 dapat digambarkan sebagai berikut.

Gambar 2.2. Lengan Robot dari Perspektif Atas Pada Sumbu X Dan Sumbu Y

Berdasarkan aturan segitiga siku-siku, maka:

𝑃!
𝜃! = tan!! (2.1)
𝑃!

Dengan demikian, besar sudut sendi 1 dapat dicari dengan menggunakan persamaan di
atas. Dalam implementasinya servo yang digunakan hanya memiliki putaran maksimal 180˚
maka nilai 𝜃! yang diperoleh harus dibatasi pada interval:

0° ≤ 𝜃! ≤ 180° (2.2)

Jika hasil sudut sendi 1 (θ! ) dari perhitungan invers kinematik lebih besar atau lebih
kecil dari interval yang ditentukan maka besar sudut 𝜃! akan diset maksimum 180˚ atau
minimum (0°) dari nilai interval.

Setelah mendapatkan nilai sudut sendi 1, langkah selanjutnya adalah menentukan nilai
sudut sendi 2 (θ! ) dan sendi 3 (𝜃! ). Berdasarkan wilayah pergerakkanya sendi 2 dan sendi 3
berada pada wilayah pergerakkan yang sama yaitu pada wilayah vertikal. Sendi 2 dan sendi 3
memiliki poros rotasi yang sama sehingga menyebabkan memiliki wilayah pergerakkan yang
sama. Karena memiliki wilayah pergerakkan yang sama, maka kedua sudut sendi tersebut (𝜃!
dan 𝜃! ) akan saling mempengaruhi. Karena besar sudut 𝜃! dan 𝜃! saling mempengaruihi maka
perhitungan sudut 𝜃! dilakukan terlebih dahulu untuk mencapai posisi yang diinginkan,
kemudian mencari nilai sudut sendi 2 (θ! ). Sebelum melakukan perhitungan lengan robot
digambar dengan perspektif samping seprti gambar berikut:

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Gambar 2.3. Lengan Robot Dengan Perspektif Samping pada sumbu x, y, dan Z

Dari gambar di atas dapat diketahui bahwa :

𝐴𝐵! + 𝑂𝐴! − 𝑂𝐵! 𝑙! ! + 𝑙! ! − (𝑃! ! + 𝑃! ! + 𝑃! ! )


cos 𝛾 = = (2.3)
2. 𝐴𝐵. 𝑂𝐴 2. 𝑙! . 𝑙!

Sehingga:

!!
𝑙! ! + 𝑙! ! − (𝑃! ! + 𝑃! ! + 𝑃! ! )
𝛾 = cos (2.4)
2. 𝑙! . 𝑙!

Setelah nilai sudut 𝛾 diketahui maka dapat dicari nilai sudut θ! :

𝜃! = 180° − 𝛾 (2.5)

𝑙! ! + 𝑙! ! − (𝑃! ! + 𝑃! ! + 𝑃! ! )
𝜃! = 180° − cos !! (2.6)
2. 𝑙! . 𝑙!

Dalam implementasinya nilai sudut servo dibatasi oleh wilayah kerja lengan robot dan servo
yang digunakan hanya memiliki putaran maksimal 180˚ maka nilai θ! yang diperoleh harus
dibatasi pada interval:

0° ≤ 𝜃! ≤ 180° (2.7)

Untuk mencari sudut sendi 2 (θ! ) perlu diketahui terlebih dahulu besar sudut β! dan 𝛽! :

Sudut BOD (β! ):

𝐵𝐷 𝑃!
tan 𝛽! = = (2.8)
𝑂𝐷 ! !
𝑃! + 𝑃!

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Sehingga:

𝑃!
𝛽! = tan!! (2.9)
! !
𝑃! + 𝑃!

Sudut BOD (β! ):

𝐵𝐸 𝑙! . cos 𝜃!
tan 𝛽! = = (2.10)
𝑂𝐸 𝑙! + 𝑙! . sin 𝜃!

Sehingga :

𝐵𝐸 𝑙! . cos 𝜃!
𝛽! = = tan!! (2.11)
𝑂𝐸 𝑙! + 𝑙! . sin 𝜃!

Setelah di dapatkan besar sudut β! dan β! maka dapat diketahui nilai sudut sendi 2 (θ! ):

𝜃! = −𝛽! − 𝛽! (2.12)

𝑃! 𝑙! . cos 𝜃!
𝜃! = − tan!! + tan!! (2.13)
! ! 𝑙! + 𝑙! . sin 𝜃!
𝑃! + 𝑃!

Nilai sudut servo harus dibatasi oleh wilayah kerja lengan robot dan servo yang digunakan
hanya memiliki putaran maksimal 180˚ maka nilai θ! yang diperoleh harus dibatasi pada
interval:

0° ≤ 𝜃! ≤ 180° (2.14)

Perancangan Perangkat Keras

Arduino Uno digunakan sebagai pengendali lima motor servo melalui pin-pin PWM.
Pada arduino uno terdapat 6 pin yang dapat menghasilkan sinyal PWM yaitu pin 3, 5, 6, 9,
10, 11. Berikut adalah konfigurasi pin Arduino Uno yang terhubung dengan motor servo.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Gambar 2.4. Skema Raangkaian Eektronik Lengan Robot

Pin 3: servo 1 pada Shoulder putar/base


Pin 5: servo 2 pada Shoulder
Pin 6: servo 3 pada Elbow
Pin 9: servo 4 pada wrist
Pin 10: servo 5 pada end effector mengatur pergerakkan gripper

Perancangan Algoritma Perangkat Lunak

Perancangan perangkat lunak pada sistem ini terbagi menjadi dua bagian, yaitu
program pada komputer dan program pada mirokontroller Arduino. Program pada komputer
mempunyai peran menggolah data yang diterima dari perangkat Leap Motion dan melakukan
komputasi kinematika lengan robot. Output dari program pada komputer tersebut adalah data
berupa acuan sudut tiap servo. Data ini langsung dikirim ke mikrokontroler Arduino dengan
cara komunikasi serial melalui port USB. Sedangkan program pada Mikrokontroler Arduino
menerima data dari komputer dan mengeksekusinya menjadi sinyal PWM (Pulse Width
Modulation) yang akan menggontrol gerakkan motor servo.

Gambar 2.5. Sequence Diagram Sistem Kendali Lengan Robot.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


1). Program pada Komputer
Program pada komputer dibangun menggunakan perangkat lunak Processing IDE
berbasis bahasa pemrograman Java. Untuk dapat membaca data dari perangkat Leap Motion
program membutuhkan library Leap Motion Processing. Library Leap Motion untuk Java
disediakan oleh Leap Motion SDK sebagai API (application program interface) untuk
bahasa pemrograman Java. Selain itu juga dibutuhkan library Java serial yang berfungsi agar
program Java pada komputer dapat berkomunikasi secara serial melalui USB dengan
mikrokontroler Arduino. Flowchart algoritma program pada komputer dapat dilihat pada
gambar berikut:

Gambar 2.6. Flow Diagram Algoritma Program Java pada Komputer


Pada algoritma flowchart di atas kalkulasi inverse kinematic hanya untuk menentukan
besar sudut servo 1(base), 2(shoulder), dan 3(elbow). Sementara servo4 (wrist) ditentukan
oleh kemiringan telapak tangan (hand roll) user. Sedangkan pergerakkan gripper (servo 5)
dikendalikan oleh jarak antara ibu jari dan telunjuk atau kekuatan genggaman tangan.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


2). Program pada Mikrokontroler Arduino
Program pada mikrokontroler Arduino menerima data besar sudut dari computer
melalui komunikasi serial. Data tersebut berupa besar sudut setiap servo pada lengan robot.
Kemudian data dieksekusi oleh mikrokontroler Arduino menjadi sinyal-sinyal PWM untuk
mengendalikan pergerakkan servo.

Gambar 2.7. Flow Diagram Algoritma Program C++ pada Arduino


3). Perancangan Database Motion
Hal terpenting dari proses motion control adalah robot dapat melakukan gerakkan
berulang ulang. Agar robot memiliki kecerdasan untuk mampu melakukan gerakkan yang
telah diajarkan, maka perlu dirancang sebuah database motion yang dapat merekam data
gerakkan hasil motion capture Leap Motion.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Gambar 2.8 Diagram Alur Proses Perekaman Database Motion
Data yang disimpan ke dalam database adalah sudut referensi (GPServo) yang
dikirim ke mikrokontroller untuk menggerakkan servo. Database disimpan dalam file
berekstensi .csv dengan format penyimpanan perbaris yang ditunjukkan pada tabel 2.1.
Tabel 2.1
Format FrameN GPServo1 GPServo2 GPServo3 GPServo4 GPServo1

Penyimpanan Database Motion

CSV adalah salah satu bentuk file text yang digunakan untuk menyimpan data dalam
struktur tabel. Data yang tersimpan dalam file CSV disimpan dalam tiap baris dengan setiap
kolom dipisahkan dengan karakter pemisah (delimiter). Karakter pemisah bisa dalam bentuk
koma (,), titikkoma(;), atau karakter tabulasi.
Nilai GPServo didapatkan dari hasil perhitungan inverse kinematic yang disimpan
kedalam database motion setiap frame motion data dari Leap Motion. Contoh hasil database
yang telah disimpan, ditunjukkan pada gambar berikut.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Gambar 2.9. Database Motion Dalam Format CSV

4). Proses Ekstrasi Database Motion


Dari file database yang telah disimpan, dirancang sebuah program untuk
megekstraksi database yang telah disimpan. Proses ekstraksi database dijelaskan dalam
flowchart berikut.

Gambar 2.10. Algoritma Ekstraksi Database Motion

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Algoritma di atas membaca setiap baris pada database yang telah dibuat dalam
format CSV. Setiap baris yang dibaca berupa variabel string sehingga diperlukan merubah
format menjadi variabel integer. Variabel yang sudah dalam bentuk integer kemudian dikirim
ke mikrokontroler Arduino melalui port serial.

III. PENGUJIAN SISTEM MOTION CONTROL LENGAN ROBOT

Untuk menguji kehandalan dari sistem yang telah dibuat perlu dilakukan serangkaian
pengujian. Pengujian yang dilakuakan antara lain pengujian akurasi servo, pengujian batasan
tracking, pengujian akurasi sensor Leap Motion dengan metode objek statis, pengujian frame
rate Leap Motion, pengujian batasan tracking Leap Motion dan pengujian algoritma inverse
kinematic.

Pengujian Akurasi Servo


Pengujian ini bertujuan untuk mengetahui kinerja akurasi motor servo TowerPro
SG90 9 g Micro Servo. Pengujian dilakukan secara manual dengan cara mengukur posisi
sudut motor servo dengan menggunakan penggaris busur. Sudut servo diukur setiap setiap 5°
dari sudut 0° sampai 180° sebagai data sampel untuk dianalisis. Percobaan pengukuran
dilakukan sebanyak lima kali. Kemudian dicari rata-rata dari lima kali pengukuran tersebut.
Berikut adalah grafik hasil pengukuran.

Pengujian Akurasi Servo


180
Sudut Haasil pengukuran

130

80

30

-20 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180
Sudut referensi

Gambar 2.11 Grafik Perbandingan Sudut Referensi dengan Sudut Hasil Pengukuran.

Untuk menguji tingkat akurasi sebuah servo dapat diketahui dengan mencari nilai
deviasi dan rasio eror dari data sudut hasil pengujian terhadap sudut refensi. Berdasarkan hasil
perhitungan statistika didapatkan standar deviasi sebesar 13.7432432 derajat dan rasio eror
sebesar 17%. Dengan nilai rasio eror dan standar deviasi sebesar itu servo memiliki tingkat

Perancangan dan ..., Azzam Hanif, FT UI, 2015


akurasi yang buruk ditunjukan dengan denga nilai deviasi dan rasio eror yang cukup tinggi.
Hal ini disebabkan oleh banyak faktor seperti nilai akumulasi perhitungan pulsa, bentuk
mekanik kurang tepat, pengaruh kualitas mekanik dan potensiometer yang kurang baik.

Pengujian Akurasi Leap Motion Metode Objek Statis

Pengujian dengan objek statis dilakukan dengan meletakkan sebuah objek tidak
bergerak di atas Leap Motion berupa batang kayu berbentuk silinder dengan diameter 0.7 cm.
Sensor akan membaca titik kordinat dari objek tersebut dalam bentuk kordinat tiga dimensi
(sumbu x, y, dan z) sistem. Pengujian dengan objek tidak bergerak bertujuan untuk
mengetahui tingkat keakurasian setiap sumbu koordianat sistem Leap Motion. Berikut adalah
data hasil pengujian objek statis dalam tiga dimensi yang dipetakan dalam tiga diagram
kartesian x terhadap y (Gambar 2.12 a), x terhadap z (Gambar 2.12 b), dan y terhadap z
(Gambar 2.12 c). Sampel yang digunakan sebanyak 1000 frame, dengan lama pengujian
selama 10 detik.

(a) (b) (c)


Gambar 2.12. Visualisasi Data Pengujian Objek Statis (a) Bidang XY (b) Bidang XZ (c) Bidang YZ
Ketiga diagram di atas memvisualisasikan varian dan deviasi data hasil pengujian yang
telah dipetakan pada bidang xy, xz, dan yz. Dengan menggunakan perhitungan statistika
didapat standar deviasi dan varian seperti tabel berikut.

Tabel 2.2. Hasil Perhitungan Standar Deviasi dan Varian


X Y Z
Standar Deviasi 0.022431 0.084935 0.056216
(mm)
Varian (mm) 0.000503 0.007213 0.00316

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Dari hasil pengujian didapatkan sumbu koordinat x memiliki nilai standar deviasi
terkecil sedangkan koordinat sumbu y menunjukkan nilai standar deviasi terbesar. Dari data
di atas menunjukkan tingkat akurasi Leap Motion yang cukup tinggi dengan nilai deviasi
kurang dari 0.1 mm. Posisi dua buah kamera yang terdapat dalam Leap Motion yang sejajar
sumbu X seperti pada gambar 5.3 menyebabkan tingkat akurasi sumbu koordinat X paling
besar dibanding akurasi sumbu koordinat lain. Sedangkan pada sumbu kordinat Y saling
tegak lurus terhadap kamera menyebabkan sumbu koordinat Y memiliki tingkat akurasi yang
rendah.

Pengujian batasan tacking Leap Motion

Leap Motion merupakan sebuah stereo camera, oleh karena itu sangat penting untuk
mengetahui eror dan batasan dead zone dari depth sensor. Eksperimen ini dilakukan untuk
batasan jarak tracking sekaligus untuk mengetahui apakah nilai terukur pada depth sensor
sesuai dengan nilai ukur asli real pada dunia nyata. Proses yang dilakukan untuk
melakukan eksperimen ini adalah dengan mengambil data depth sensor terhadap batang
silinder berdiameter 0.7 mm dengan perubahan jarak setiap 5 mm.

Pengujian Depth Sensor Leap Mo4on


120
100
nilai terukur

80
60
40
20
0
0 20 40 60 80 100 120
nilai referensi

nilai terukur naik nilai terukur turun

Gambar 2.13. Hasil pengujian Validasi Data Depth Sensor Leap Motion

Dari hasil yang didapatkan dapat disimpulkan bahwa depth sensor pada Leap Motion
adalah sensor yang presisi dan akurat. Kepresisian ditunjukkan pada grafik di atas yang
mana pada setiap pengukuran nilai jarak terbaca pada kondisi naik (menjauhi) atau
turun (mendekat) telihat cukup berimpit. Eror rata-rata pada pengukurun menjauhi
didapat sebesar 0.14716 mm dan pada saat pengukuran mendekati didapatkan sebesar

Perancangan dan ..., Azzam Hanif, FT UI, 2015


0.11422 mm. Apabila objek terletak pada dead zone yaitu kurang dari 25 mm di depan sensor
maka objek tidak akan terdeteksi seperti pada grafik di atas akan menghasilkan nilai null.

Pengujian Algoritma Inverse Kinematic Lengan Robot

Pengujian ini membandingkan output program berupa sudut servo yang akan dikirim
ke mikrokontroler Arduino terhadap sudut servo hasil perhitungan inverse kinematic. Tujuan
pengujian ini adalah menunjukkan titik-titik koordinat yang tidak terjangkau oleh
perhitungan inverse kinematic lengan robot. Karena perhitungan inverse kinematic dalam
sistem yang dirancang hanya melibatkan 3 DOF yaitu, DOF 1 pada shoulder putar, DOF 2
pada Shoulder, dan DOF 3 pada Elbow. Gambar 5.7 berikut merupakan grafik yang
menampilkan data koordinat lengan robot hasil proses mapping dari koordinat telapak tangan
sistem koordinat Leap Motion. Titik koordinat lengan robot pada gambar 5.7 digunakan
sebagai input dari algoritma inverse kinematic, namun tidak semua input titik koordinat
menghasilkan output sudut putaran servo. Jika pada titik koordinat tertentu yang berada di
luar jangkauan lengan robot maka, input algoritma inverse kinematic tidak akan
menghasilkan output.

Gambar 2.14 Koordinat Lengan Robot.

(a) (b)

Perancangan dan ..., Azzam Hanif, FT UI, 2015


(c)
Gambar 5.8. Hasil Perhitungan Algoritma Inverse Kinematic dan Output Program yang Dikirim ke
Arduino. (a) Servo1 (b) Servo2 (c) Servo3.
Ketiga grafik servo 1, servo 2, dan servo 3 di gambar 5.8 menunjukkan output hasil
perhitungan algoritma inverse kinematic dibandingkan dengan output program komputer
yang dikirim ke Arduino. Pada gambar 5.8(a) grafik servo 1 menunjukkan hasil perhitungan
algoritma inverse kinematic dan output program komputer yang dikirim ke Arduino tidak
menunjukkan perbedaan. Namun pada gambar 5.8(b) grafik servo 2 dan gambar 5.8(c) grafik
servo 3 menunjukkan perbedaan antara hasil perhitungan algoritma inverse kinematic dan
output program komputer yang dikirim ke Arduino. Ketika input koordinat lengan robot
berada di luar jangkauan menyebabkan algoritma inverse kinematic tidak menemukan solusi
utuk sebagian sudut servo lengan robot. Jika solusi inverse kinematic tidak ditemukan maka
program akan menangani dengan cara mengirim hasil solusi perhitungan inverse kinematic
terakir ke Arduino sampai solusi inverse kinematic baru ditemukan.

IV. PENUTUP

Kesimpulan
Beberapa kesimpulan yang dapat ditarik dari penelitian ini adalah:
1). Untuk mengatasi hasil tracking di luar jangkauan ruang kerja robot, dilakukan
pembatasan pada tiap sudut hasil kalkulasi inverse kinematic.
2). Sistem pengendali lengan robot dengan menggunakan hand gesture recognition
interface merupakan salah satu bentuk dari natural language user interface (NUI).
3). Sistem ini meggunakan kinematika balik dengan pendekatan metode geometris untuk
menentukan sudut putaran setiap servo pada lengan robot.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


4). Servo yang digunakan pada penelitian ini memiliki tingkat akurasi yang buruk dengan
tingkat deviasi rata-rata mencapai 13.743 derajat dan rasio eror rata-rata sebesar 17%.
5). Pengujian akurasi Leap Motion dengan metode tracking objek statis menunjukkan
sumbu koordianat x sistem Leap Motion memiliki tingkat keakurasian yang paling
tinggi sedangkan sumbu koordinat z menunjukkan tingkat keakurasian paling rendah.
Hal ini didukung dengan hasil perhitungan statistika dari data hasil pengujian dimana
standar deviasi sumbu x, y dan z secara berturut adalah 0.022431 mm, 0.084935 mm,
dan 0.056216 mm.
6). Leap Motion merupakan perangkat yang akurat dan stabil berdasarkan hasil pengujian
dengan metode objek statis selama 240 menit yang menunjukkan hasil grafik yang
cendrung linier dengan nilai standar deviasi yang rendah.
7). Pengujian frame rate tracking objek dinamis dengan frame rate tracking objek statis
menunjukkan objek dinamis yang menyebabkan frame rate yang lebih rendah
dibandingkan objek statis. Rata-rata frame rate pengujian objek statis sebesar 115 fps
sedangkan objek dinamis sebesar 110 fps.
8). Leap Motion memiliki blind zone sejauh 20 mm di depan sensor yang menyebabkan
objek tidak terdeteksi jika berada di area blind zone tersebut. Berdasarkan pengujian
batasan tacking Leap Motion, eror rata-rata pada pengukuran menjauhi didapat
sebesar 0.14716 mm dan pada saat pengukuran mendekati didapatkan sebesar
0.11422 mm.
9). Jika algoritma inverse kinematic mendapatkan input di luar jangkauan wilayah kerja
lengan robot maka algoritma tidak memberikan solusi.

Saran

Penelitian lebih lanjut yang akan dilakukan pada penelitian ini adalah menambahkan
fitur pengendalian lengan robot melalui jaringan komputer. Lengan robot terhubung melalui
sebuah komputer server dan user mengendalikannya dengan komputer client dengan
perangkat Leap Motion, dimana kedaua komputer tersebut (client dan server) saling
terhubung dengan jaringan komputer. Komputer client dan komputer server saling terhubung
melalui protokol komunikasi websocket. Data dikirim dari komputer client ke server secara
realtime berupa paket data json yang berisi frame-frame data Leap Motion. Pada komputer
server paket data JSON yang diterima dari client diolah untuk mengendalikan lengan robot.
Tantangan yang akan dihadapi dengan penambahan fitur ini adalah tingkat delay yang cukup

Perancangan dan ..., Azzam Hanif, FT UI, 2015


besar, variasi kedatangan paket data (jitter), dan packet loss yang dapat menurangi performa
sistem. Sehingga untuk mengurangi hal-hal tersebut dibutuhkan QoS jaringan yang baik.

Perancangan dan ..., Azzam Hanif, FT UI, 2015


Daftar Referensi

[1] Damas Nawanda, “2014. Apa itu Natural User Interface?” [Diakses pada 29 Oktober
2014]: http://uniteux.com/apa-itu-natural-user-interface/
[2] Leap Motion, “How Does the Leap Motion Controller Work?” [Diakses pada 29
Oktober 2014]: http://blog.leapmotion.com/hardware-to-software-how-does-the-leap-
motion-controller-work/
[3] Yulia Nur Fitriana, 2012, “Sistem Kontrol Lengan Robot Menggunakan Sinyal EMG
Berbasis Mikrokontroller H8/3069F”, Fakultas MIPA Universitas Indonesia
[4] Yudhistira Suryanto, “analisa lengan robot”, Universitas Airlangga
[5] Wahyu Tri Wibowo, 2014, “Rancang Bangun Smart Monitoring Room Menggunakan
Sensor Pir Dan Ldr Dengan Tampilan Web Interface Berbasis Mikrokontroler Arduino
Dan Openwrt”, Departement Teknik Elektro Universitas Indonesia
[6] Arduino, “Arduino Uno”, [Diakses pada 2 november 2014]:
http://arduino.cc/en/Main/arduinoBoardUno
[7] ATMEL Corporation, “ATmega48PA/88PA/168PA/328P”, [Diakses pada 2 november
2014]: http://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf
[8] Leap Motion, “Tracking Model”, [Diakses pada 3 november 2014]
https://developer.leapmotion.com/documentation/javascript/devguide/Leap_Tracking.ht
ml
[9] Syarifah Hamidah, Seno D. Panjaitan, Dedi Triyanto, 2012, “Sistem Pengendali Robot
Lengan Menggunakan Pemrograman Visual Basic”. Universitas Tanjungpura.
[10] Frank Weichert, Daniel Bachmann, Bartholomäus Rudak, Denis Fisseler, 2013,
“Analysis of the Accuracy and Robustness of the Leap Motion Controller”. [Diakses
pada 5 maret 2015]. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3690061/.
[11] Jože Guna, Grega Jakus, Matevž Pogačnik, Sašo Tomažič, Jaka Sodnik. 2014. “An
Analysis of the Precision and Reliability of the Leap Motion Sensor and Its Suitability
for Static and Dynamic Tracking”. Faculty of Electrical Engineering, University of
Ljubljana, Slovenia.

Perancangan dan ..., Azzam Hanif, FT UI, 2015

Anda mungkin juga menyukai