Implementasi Robot Lengan Pemindah Barang 3 DOF Menggunakan Metode Inverse Kinematics
Vol. 2, No. 8, Agustus 2018, hlm. 2810-2816 http://j-ptiik.ub.ac.id
Implementasi Robot Lengan Pemindah Barang 3 DOF Menggunakan
Metode Inverse Kinematics
1 2 3 Rimas Oktama , Rizal Maulana , Gembong Edhi SetyawanProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: oktama.rimas@gmail.com, rizal_lana@ub.ac.id, gembong@ub.ac.id
Abstrak
Proses perpindahan barang dari satu tempat ke tempat yang lain biasanya dilakukan dengan cara konvensional menggunakan tenaga manusia, maka dapat dipastikan semakin berat benda dan semakin jauh jarak perpindahan benda tenaga manusia yang dibutuhkan juga semakin besar. Hal ini dinilai kurang efektif mengingat keterbatasan kemampuan manusia dalam memindahkan barang berat dan keterbatasan waktu manusia dalam bekerja. Berdasarkan permasalahan tersebut diperlukan sebuah robot lengan yang mampu melakukan proses perpindahan barang dari satu tempat ke tempat lain. Robot lengan ini didesain memiliki 3 DOF(Degree of Freedom) dengan seluruh joint adalah revolute dengan menggunakan servo dynamixel AX-12A. Input dari robot ini berupa koordinat awal dan koordinat akhir yang kemudian dikomputasikan dengan metode inverse kinematics dengan output berupa besar sudut yang dibutuhkan masing-masing joint agar robot lengan mencapai titik koordinat tersebut. Hasil dari penelitian yang telah dilakukan, robot mampu memindahkan barang dari satu titik koordinat ke titik koordinat yang lain dalam kurun waktu rata-rata 6 sampai 7 detik serta tingkat error yang terjadi dalam pencapaian sudut yang diinginkan sebesar 0,64%. Berdasarkan hasil tersebut dinilai sistem implementasi robot lengan pemindah barang 3DOF dengan menggunakan metode inverse
kinematics ini sangat efektif dalam menjalankan fungsinya memindahkan barang.
Kata kunci: robot lengan, inverse kinematics, servo dynamixel AX-12A
Abstract
Moving object process from one place to another is usually done with the conventional way usinghuman power, then it can certainly getting heavy objects and the farther the distance of displacement,
manpower required objects are also getting bigger. It is judged ineffective considering the limitations
of human capability in the shift of weight and time limitations of humans in the work. Based on these
problems required a robot arm that is able to moving an object from one place to another. The robot
arm was designed to have 3 DOF (Degree of Freedom) and the whole joint is revolute and
implemented using servo dynamixel AX-12A. Input from this robot is initial coordinates and final
coordinates are then computing by the method of inverse kinematics with an output in the form of
large angle of each joint required in order for the robot arm reaches the point coordinates. Results
from research that has been done, the robot is able to move the object from one point coordinate to
another within an average period of 6 to 7 seconds as well as the level error that occurred in the
achievement of the desired angle of 0.64%. Based on the results of the implementation system of the
arm robot assessed transporter 3DOF using inverse kinematics method is very effective in carrying
out its functions to move an object. arm robot, inverse kinematics, servo dynamixel AX-12AKeywords: from Robot Institute of America , 1997).
1. Terdapat berbagai jenis dan bentuk dari PENDAHULUAN
teknologi robotika, salah satunya adalah robot Robot adalah sesuatu yang dapat berbentuk lengan. Robot lengan merupakan diprogram ulang, memiliki penggerak atau jenis robot manipulator yang berbentuk seperti manipulator dan didesain untuk memindahkan lengan manusia dengan memiliki sendi atau barang, alat atau komponen khusus guna disebut dengan joint dan link yang merupakan menyelesaikan suatu tugas (engineering.nyu
Fakultas Ilmu Komputer Universitas Brawijaya
2810 penghubung antar joint.
Terdapat dua jenis joint (sendi) pada robot lengan yaitu joint revolute dan joint prismatic,
Perancangan pada gambar 1 terbagi menjadi 2 yaitu perancangan perangkat keras dan perancangan metode inverse kinematics. Pada perancangan perangkat keras dibagi menjadi 2 yaitu perancangan desain link dan
joint C dan end effector yang masing-masing memiliki panjang 4cm, 7cm dan 11cm.
dan B, link antara joint B dan C dan link antara
link pada robot lengan yaitu link antara joint A
Desain link dan joint robot lengan pada penelitian ini terdapat pada gambar 2. Pada bagian yang dituliskan dengan huruf A, B dan C merupakan joint robot lengan. Link adalah bagian yang menghubungkan joint. Terdapat 3
2.1 Perancangan Desain Link dan Joint Robot
Perancangan Rangkaian Hardware pada robot Gambar 1. Perancangan Robot Lengan
Perancangan Metode Inverse Kinematics Perancangan Desain Link dan Joint robot
Perancangan Robot Lengan Perancangan Perangkat Keras
joint robot, perancangan rangkaian hardware pada robot.
IMPLEMENTASI
joint
2. PERANCANGAN DAN
sudut yang dibutuhkan masing masing joint agar robot lengan mencapai titik koordinat tersebut.
inverse kinematics dengan output berupa besar
Berdasarkan permasalahan tersebut diperlukan sebuah robot lengan yang mampu melakukan proses perpindahan barang dari satu tempat ke tempat lain sehingga diharapkan mampu mempermudah kegiatan pemindahan barang yang dilakukan serta meningkatkan tingkat efektifitas baik dalam hal waktu, tenaga maupun kualitas dari suatu kegiatan (Gita, 2014). Robot ini akan bertugas melakukan proses perpindahan barang dari satu titik koordinat ke titik koordinat yang lain. Input dari robot ini berupa titik koordinat yang kemudian dikomputasikan dengan metode
Perkembangan teknologi robot saat ini diperlukan dalam berbagai bidang kehidupan. Penggunaan teknologi robotika ini bertujuan agar mempermudah kegiatan sehari-hari. Salah satu kegiatan yang dapat dilakukan oleh robot lengan yaitu adalah proses pemindahan barang dari satu tempat ke tempat yang lain. Pada pemindahan barang yang dilakukan manusia mempertimbangkan beberapa faktor yaitu beratnya barang, jumlah barang, jarak perpindahan dan tenaga manusia yang dibutuhkan (Fajar, 2013). Semakin berat dan semakin banyak barang, atau semakin jauh jarak perpindahan yang akan dilakukan maka tenaga manusia yang dibutuhkan untuk melakukan perpindahan barang akan semakin besar. Selain itu ketidakmungkinan tenaga manusia bekerja selama 24 jam juga merupakan faktor yang memengaruhi tingkat efektifitas serta kualitas kegiatan tersebut (Saefullah, 2014).
komputasi agar ujung dari robot lengan mampu mencapai titik yang diinginkan dengan mengetahui perubahan sudut dari masing- masing joint-nya.
inverse kinematics ini akan memudahkan proses
Metode inverse kinematics merupakan metode pergerakan robot lengan dengan variabel yang diketahui adalah titik koordinat tujuan, sehingga dibutuhkan perubahan besar sudut pada masing-masing joint robot lengan agar robot lengan mampu mencapai titik tersebut (Eko, 2014). Penggunaan metode
revolute memiliki pergerakan memutar sedangkan joint prismatic memiliki pergerakan maju atau mundur. Joint revolute pada robot lengan disusun dari motor servo, ketepatan gerak motor servo inilah yang menjadi indikator utama dari keberhasilan gerak robot lengan. Terdapat berbagai macam metode yang dapat digunakan untuk melakukan pergerakan secara tepat pada robot lengan, salah satunya adalah metode inverse kinematics.
Gambar 2. Desain link dan joint robot
Gambar 3. Perancangan rangkaian hardware pada robot
2.2 Perancangan Rangkaian Hardware pada Robot
Perancangan rangkaian hardware pada
Tabel 2. Konfigurasi IC 74LS241N dan Regulator
robot lengan dapat dilihat pada gambar 3 yang
L7805
terdiri dari 3 servo Dynamixel AX-12A, 1 IC
IC 74LS241N Regulator L7085
regulator L805, IC buffer 74LS241N dan
Pin 20 Output Arduino Uno. Pin 10 GND
Pada gambar 3 dapat dilihat Arduino Uno sebagai pengontrol utama, IC regulator sebagai Pada Tabel 2 adalah penyambungan antara penurun tegangan yang outputnya akan kaki IC 74LS241N dan kaki Regulator L7805. digunakan oleh IC buffer untuk sumber
Dapat dilihat yang disambungkan pada Pin 20 tegangan. dan Pin 10 kaki IC adalah output dan GND dari
Penghubungan pin secara rinci akan regulator sebagai sumber daya yang dibutuhkan dijelaskan pada Tabel 1, Tabel 2 dan Tabel 3. sebesar 5v.
Tabel 1. Konfigurasi pin Arduino Uno dan Tabel 3. Konfigurasi IC 74LS241N dan Servo
IC 74LS241N
Dynamixel AX-12A Arduino Uno
IC 74LS241N
IC 74LS241N Dynamixel AX-12A Pin 0 (Rx) Pin 18 Pin 10 GND Pin 1 (Tx) Pin 17 Pin 2, Pin 3 Data
Pin 2 Pin 1, Pin 19 GND Pin 10
Pada Tabel 3 adalah penyambungan antara kaki IC 74LS241N dan Servo Dynamixel AX- Pada Tabel 1 adalah penyambungan antara
12. Dapat dilihat pin yang disambungkan pin pada Arduino dan kaki IC 74LS241N. adalah Pin 10 kaki IC ke Pin GND servo serta
Dapat dilihat Pin 0 (Rx) dan Pin 1 (Tx) pada Pin 2 dan Pin 3 kaki IC ke Pin Data pada servo
Arduino disambungkan ke Pin 18 dan Pin 17 sebagai buffer. pada kaki IC. Kemudian Pin 2 sebagai Data kontrol pada Arduino disambungkan ke Pin 1
2.3 Perancangan Metode Inverse Kinematics
dan Pin 19 pada kaki IC. Dan yang terakhir
3 DOF (Degree Of Freedom)
adalah GND pada Arduino disambungkan ke Pada perancangan metode inverse Pin 10 pada kaki IC.
kinematics didapatkan rumus dari perancangan link dan joint robot. Perhitungan rumus implementasi hardware yang digunakan adalah bertujuan untuk mendapatkan nilai , , .
1
2
3 Arduino Uno sebagai pengolah utama dan servo
Sebelum mencari ketiga nilai diasumsikan telah memiliki nilai dari koordinat (x, y, z) dan Dynamixel AX-12 sebagai penggeraknya. Pada gambar 4, gambar 5 dan gambar 6 adalah panjang link (L1, L2, L3). implementasi robot lengan yang telah
Rumus untuk mencari nilai dapat dilihat
1 pada persamaan (1). dilakukan.
(1)
1 = 2 ( , ) Keterangan. x = nilai koordinat x y = nilai koordinat y
Pada persamaan (1) dengan input nilai koordinat x dan y maka akan didapatkan nilai dari .
1 Setelah mencari nilai maka selanjutnya
1
untuk mencari dan memerlukan nilai c3
2
3
dan s3. Nilai c3 dan s3 merupakan variabel
Gambar 4. Hasil implementasi robot lengan tampak bantu untuk menyelesaikan rumus dan .
2
3 atas
Rumus untuk mencari nilai c3 dan s3 dapat dilihat pada persamaan (2) dan persamaan (3).
2
2
2
2
2 ( +( − 1) − 2 − 3 + )
(2) 3 = (2× 2× 3)
2 (3) 3 = √1 − 3
Keterangan. x = nilai koordinat x L1 = panjang link pertama y = nilai koordinat y L2 = panjang link kedua z = nilai koordinat z L3 = panjang link ketiga
Kemudian selanjutnya adalah mencari nilai dengan rumus pada persamaan (4).
3 Gambar 5. Hasil implementasi robot lengan tampak (4)
3 = 2 ( 3, 3) samping
Pada persamaan (4) dengan memasukan nilai dari variable s3 dan c3 maka akan didapatkan nilai .
3 Setelah menemukan nilai selanjutnya
3
mencari nilai dari dengan rumus pada
2 persamaan (5).
2 = 2 (( 3 3), ( 2 + ( 3 3))) (5) Keterangan.
L2 = panjang link kedua L3 = panjang link ketiga Gambar 6. Hasil implementasi robot lengan tampak
Pada persamaan (5) dengan memasukan
belakang
nilai L2, L3, c3 dan s3 maka akan didapatkan nilai .
2 3.
PENGUJIAN
2.4 Implementasi Robot Lengan
Pada penelitian ini dilakukan 3 pengujian Pada implementasi robot lengan akan yaitu waktu yang dibutuhkan oleh robot untuk ditampilkan bentuk dari robot lengan yang mencapai titik koordinat yang telah ditentukan, merupakan hasil dari proses perancangan. ketepatan putaran sudut servo yang dihasilkan
Sesuai dengan proses perancangannya
- 2, 1, 0 1, -1, -1 0, -4, -12 2, 3.46, -13 1, -0.58, -13 1, 4, 0
0,15 0,84 0,32 0,97
30 50 0,43 0,85 4, 4, -9 4, 5, -10
46,39 37,88 57,56 36,63 54,93 58,62
42
40
46
38
57
34
55
58 0,46 0,06 0,39 0,12 0,56 0,37 0,07 0,62 1,08
1,1 0,13 1,06
Tabel 6. Hasil Pengujian Ketepatan Sudut Putar Servo 2 Koordinat Sudut Teta1 Sudut yang terukur Selisih Error (%)
Dari hasil dari kedua tabel dapat ditentukan rata-rata dari persentase error servo 1 dan servo 2 dengan menjumlahkan seluruh data persentase error dibagi banyaknya percobaan sehingga mendapatkan persentase sebesar 0,64%. Perlu diketahui bahwa selisih yang dihasilkan dengan busur derajat terjadi karena akurasi dari busur derajat sebesar 1 derajat.
3.3. Pengujian Ketepatan Sudut Dengan Metode Forward Kinematics
Pengujian ini bertujuan untuk mengetahui ketepatan sudut yang dihasilkan dari kedua perhitungan sehingga dapat mengetahui akurasi rumus perhitungan dan sifat perhitungan
inverse kinematics. Proses pengujian ini akan
dilakukan dengan membandingkan hasil dari dua perhitungan yaitu perhitungan sistem menggunakan rumus inverse kinematics dan perhitungan manual menggunakan rumus
forward kinematics . Pada sistem robot akan
dilakukan input koordinat x, y, z yang diinginkan menggunakan metode inverse
kinematics sehingga menghasilkan 3 nilai sudut
pertama. Ketiga nilai sudut pertama yang dihasilkan kemudian diinput pada rumus
forward kinematics sehingga menghasilkan 3
0, -4, -12 1, -0.58, -10 30 50,43
0,33 0,52 0,44 0,07 1,76
- 4, 1, 10
- 4, 2,
- 1, 0, -9 2, 0, -12 10, 8, 8 6, 7, 13 42,46 40,06
3.2. Pengujian Ketepatan Sudut Putar Servo
dari perhitungan rumus yang dilakukan oleh sistem dan ketepatan sudut yang mampu dicapai oleh robot melalu perbandingan metode
inverse kinematics
dan metode forward kinematics .
3.1. Pengujian Waktu Pencapaian Titik Koordinat
Pengujian waktu pencapaian koordinat ini bertujuan untuk mengetahui kecepatan gerak robot dalam mencapai titik koordinat yang telah ditentukan. Proses pengukuran waktu akan dilakukan dengan menggunakan stopwatch sebagai alat pengukur waktu dengan mengambil 5 jenis motion yang berbeda. Titik koordinat awal dibuat sama sebagai acuan letak pengambilan barang. Pada tiap motion akan dilakukan percobaan sebanyak 10 kali yang nantinya dirata-rata untuk mengetahui waktu yang dibutuhkan pada setiap motion. Hasil dari pengujian waktu pencapaian titik koordinat dapat dilihat pada Tabel 4.
Tabel 4. Hasil Pengujian Waktu Pencapaian Titik Koordinat Motion Koordinat
Rata-rata Waktu(s) 1 (7, 7, 11) ke (1, 0, -13) 6,6843 2 (7, 7, 11) ke (0, 3, -13) 7,1157 3 (7, 7, 11) ke (2, 3.46, -13) 6,7397 4 (7, 7, 11) ke (1, -0.58, -13) 6,9762 5 (7, 7, 11) ke (5, -5, -12) 7,0387
Hasil dari pengujian menunjukkan kelima
motion mendapatkan waktu rata-rata yang
hampir sama sekitar 6 sampai 7 detik walaupun dengan jarak yang berbeda. Dari hal ini dapat diketahui bahwa rata rata waktu robot memindahkan barang sekitar 6 sampai 7 detik.
Pengujian ketepatan sudut putar motor servo bertujuan untuk mengetahui akurasi gerak berupa sudut yang dihasilkan motor servo. Proses pengujian ketepatan putaran motor servo ini dilakukan dengan membandingkan hasil dari dua cara pengukuran yaitu pengukuran secara manual menggunakan busur derajat dan pengukura rumus inverse kinematics secara sistem pada arduino uno. Hasil pengujian ketepatan sudut putar pada servo 1 dan servo 2 dapat dilihat pada Tabel 5 dan Tabel 6.
38 0,98 0,51 1,02 1,05 0,13 0,68 2,18
Tabel 5. Hasil Pengujian Ketepatan Sudut Putar Servo 1 Koordinat Sudut Teta1 Sudut yang terukur Selisih Error (%)
0, 1, -4 1, 0.58, -1 90,5 30,13
90
30 0,5 0,13 0,55
0,43 6, 6, 14
5, 4, 3 45,02 153,51 195,02 240,05
60 180,13 76 38,58
46 153 194 239
60 180
76
koordinat x, y, z baru . Kemudian hasil 3 koordinat x, y, z baru dimasukan kembali
<academia.edu> [Diakses 14 November 2016].
Dari hasil tahapan perancangan, implementasi dan analisis hasil pengujian yang dilakukan maka dapat dibuat kesimpulan sebagai berikut.
forward kinematics , rata-rata selisih sudut
4. Dari hasil pengujian perbandingan rumus
3. Hasil pengujian ketepatan sudut motor servo yang dilakukan sebanyak 10 kali pada 2 buah masing-masing motor servo didapatkan rata-rata persentase error sebesar 0,64%.
2. Dari hasil pengujian waktu pencapaian titik koordinat dapat dianalisis untuk memindahkan barang pada kelima motion memiliki waktu rata-rata selama 6 - 7 detik.
pemindahan barang dilakukan secara matematis menggunakan fungsi trigonometri. Dari hasil perhitungan matematis kemudian di implementasikan dalam bentuk kode pemrograman pada arduino uno.
kinematics robot lengan untuk proses
1. Pada perancangan metode inverse
4. KESIMPULAN
1
Dari data pada Tabel 7 dapat dilihat dengan koordinat yang berbeda tetapi memiliki nilai sudut yang identik sehingga dapat diketahui bahwa sifat dari inverse kinematics yaitu memiliki hasil lain tetapi menuju titik yang sama dengan forward kinematics.
3 = 0.023.
= 0,034, dan
2
= 0,041,
1
selisih masing-masing teta dari 10 pengujian yang dilakukan dengan menjumlah data pada masing-masing percobaan dibagi banyaknya percobaan. Melalui cara tersebut didapatkan hasil rata-rata dari ketiga teta yaitu
10 Pada Tabel 7 dapat diketahui rata-rata
yang dihasilkan sebesar
= 0,041,
8
Fajar, M.,2013.Material Handling. Tersedia melalui: Intelligent of the dawn <muhammadfajar.16mb.com> [Diakses 5 April 2017]. Tri, Gita dan Setiawan, E. eds.,2014. Robot
Lecturer 14 : Forward and Inverse Kinematics. :MIT. Tersedia di :
14 November 2016]. Rus, Daniela.2011.Robotics System and Science
Tanjungpura. Tersedia di : <portalgaruda.org> [Diakses
Lengan Menggunakan Pemrograman Visual Basic . Pontianak: Universitas
D.2013.Sistem Pengendali Robot
Palembang: AMIK MDP. Hamidah, S. Panjaitan, S. & Triyanto,
Lengan Pemindah Barang Berdasarkan Ukurannya Berbasis Mikrokontroler .
Kontrol Robot Pemindah Barang Menggunakan Aplikasi Android Berbasis Arduino Uno . ISSN, vol.8, No.2.
2
Saefullah,A. Immaniar,D. Reza,A.2014.Sistem
(Indonesia version). Faculty of computer science and engineering. Malang: Brawijaya University
mechatronics.poly.edu <diakses tanggal 2 November 2016> Setiawan, Eko. 2015. Robotics lecture nodes
New York . Tersedia di
Kapila, Vikram.1997.Introduction to Robotics
5. DAFTAR PUSTAKA
3 = 0,023.
= 0,034, dan
9
7
menggunakan rumus inverse kinematics dan akan didapatkan hasil berupa 3 nilai sudut kedua. Ketiga nilai sudut pertama dan kedua kemudian dibandingkan selisihnya sehingga dapat diketahui akurasi dari rumus inverse
Tabel 7. Hasil Pengujian Ketepatan Sudut dengan Metode Forward Kinematics Uji Koordinat
1 ,
Selisih Hasil (
3 )
2,
1 ,
(
Inverse (x,y,z) Inverse
kinematics dapat dilihat pada Tabel 7.
3 )
. Hasil dari pengujian ketepatan sudut dengan metode forward
3
dan
2
,
1
. Pengujian dilakukan sebanyak 10 kali sehingga menemukan rata rata dari ketiga selisih
kinematics menggunakan rumus forward kinematics
2,
Koordinat Forward (x,y,z)
6
45.02, 155.47, 170.84 101.36, 88.63, 128.15 101.37, 88.64, 128.17 14.04, 155.47, 170.84 14.04, 155.26, 170.56 55.59, 118.86, 152.77 55.57, 118.82, 152.75 38.68, 54.93, 86.32
5
4
3
2
0.02
0.02 0, 0.21, 0.08 0.02, 0.04, 0.02 0.01, 0.02,
0, 0, 0 0, 0, 0 0.01, 0.01,
38.67, 54.91,86.3 0.17, 0.01, 0.01 0, 0.04, 0.06 0, 0.01, 0.02 0.2, 0, 0
329.67, 23.77, 38.63 314.98, 29.04, 47.04 314.98, 29.04, 47.04 45.02, 155.47, 170.84
Forward (
90.05, 20.8, 33.86 60, 17.66, 28.8 60, 17.65, 28.78 329.87, 23.77, 38.63
10.48, 8.38, 4 360, 23.89, 38.83 359.83, 23.88, 38.82 90.05, 20.76, 33.8
5, -5, -12 11.69, -11.76, 4 1, 1, 0 3, 3, 4
2, 3.46, -13 8.74, 15.12, 4 1, -0.58, -13 14.71, -8.6, 4
1 1, 0, -13 17.03, -0.05, 4 0, 3, -13 0, 17.26, 4
3 )
2,
1 ,
- 1, 5, 3
- 1.7, 8.49, 4 4, 1, 3 4.12, 1.03, 4 3.12, 4.55, 2.35 3.26, 4.75, 4 10, 8, 8
How to Use The Serial Port. Tersedia
di : <Robottini.Altervista.org> [Diakses 18 November 2016]. Wiria, D., 2010.Perancangan Sistem Kontrol
Robot Lengan yang Dihubungkan
. Majalah Ilmiah
dengan Komputer Mektek, Tahun XII, pp.03.
Fang, J., Lie, W., 2013. Four Degrees of
Freedom SCARA Robot Kinematics Modeling and Simulation Anaysist.
Jilin Institute of Technology. Syam, R. 2015. Kinematika dan Dinamika
Makassar: Universitas Robot Lengan. Hasanuddin. Florinnicolescu, A., Ilie, F., Alexandrue, T.,
2015. Forward and Inverse Kinematics
Study fro Industrial Robot Taking into Account Constructive and Functional Parameter’s Modelling. Romana:
University “Politechnica” of
Bucharest. Proceding in Manufacturing System, Volume 4, pp.157-164. Aristidou, A., Lasenby, J., 2009. Inverse
Kinematics: a Review of Existing Techniques and introduction of a New fast Iterative Solve. Cambridge: Cambridge University.
Kucuk, Serdar., Bingul, Zafer., 2006. Industrial Robotics: Theory, Modelling and Control. Austria: Pro Literatur Verlag.
Nortman, S., et al., 2001. Construction and
Kinematics Analysist of an Antrhomorphic Mobile Robot.
Gainesville: University of Florida.