Anda di halaman 1dari 5

Implementasi Komputasi Paralel dalam Pergerakan

Lengan Robot Menggunakan Inverse Kinematic


Yeremia Octavianus1, Bagus Susetyo R2, Muhammad Farhan Assariy 3, I Putu Arya Mahayasa4, Muhammad rafi
syammary5, Jessica Marta Ulina6

Program Studi Teknik Informatika


Fakultas Teknik Universitas Pancasila Jakarta
Jl. Serengseng Sawah, Jagakarsa, Jakarta Selatan, 12640

14520210088@univpancasila.ac.id, 24520210061@univpancasila.ac.id, 34520210017@univpancasila.ac.id

44520210080@univpancasila.ac.id, 54520210020@univpancasila.ac.id, 64520210020@univpancasila.ac.id

Abstrak — Metode gerak lengan robot secara konvensional dirancang terlebih dahulu (Desiani, 2015). Robot merupakan
adalah dengan kinematika maju (forward kinematic), dimana suatu sistem yang dapat melakukan suatu pekerjaan untuk
dilakukan pergerakan dengan menentukan simpangan waktu memudahkan pekerjaan manusia. Robot memiliki berbagai
masing masing sendinya agar mencapai suatu titik. Berbeda macam konstruksi. Salah satunya disebut robot manipulator.
dengan kinematika balik (inverse kinematic), dimana
pergerakan yang dilakukan dengan menentukan besar sudut
Manipulator Robot merupakan robot yang terdiri dari
yang diperlukan untuk melakukan suatu gerak. Kinematika kombinasi link dan joint. Link ialah bagian kaku yang
maju sering dianggap metode yang memanfaatkan trial and menghubungkan sendi atau poros. Poros yang merupakan
error dimana metode ini kurang efektif karena memakan waktu komponen penggerak yang menyebabkan gerak relatif dari
yang lama. Sementara itu inverse kinematic menawarkan solusi link (RobotWorx, 2017).
yang lebih praktis dengan perhitungan komputasi yang lebih Pada robot manipulator, bagian poros atau penggerak
kompleks. Dengan semakin berkembangnya mikrokontroler menggunakan suatu aktuator. Pada penelitian ini, peneliti
kompleksitas komputasi pada inverse kinematic dapat di menggunakan aktuator berupa motor servo. Untuk
kerjakan dengan lebih cepat dengan menggunakan komputasi menggerakkan servo, sebuat mikrokontroler mengirimkan
parallel yang dapat memanfaatkan seluruh core yang ada pada
mikrokontroler. openMP adalah direktori program C++ yang
sinyal Pulse-Width Modulation (PWM). Rangkaian elektronik
menggambarkan penggunaan antarmuka program aplikasi didalam servo kemudian menterjemahkan sinyal tersebut
untuk melakukan perhitungan paralel di lingkungan memori menjadi sudut putar servo. Metode konvensional untuk
secara bersamaan. openMP menjadi salah satu program yang pergerakan lengan robot adalah dengan menentukan
dapat dimanfaatkan untuk melakukan komputasi parallel. simpangan dan pewaktuan masing – masing sendi untuk
Hasilnya openMP mampu membagi program sehingga Program membuat robot bergerak atau disebut forward kinematics.
squensial membebankan prosesnya pada core 1 (30,74 %). Pada Metode ini tidak memerlukan komputasi rumit, tetapi tidak
program paralel beban prosesnya cukup terbagi rata meskipun fleksibel untuk membuat gerakan yang baru atau beragam
terlihat lebih membebankan pada core 2 (30,7%) dan 3 (20,38 serta lama prosesnya. Metode inverse kinematics merupakan
%). Penelitian ini dimaksutkan untuk membandingkan gerakan,
kecepatan dan akurasi gerak robot lengan dengan menggunakan
metode pergerakan robot lengan dimana variabel yang
metode paralel dan sekuensial. Hasil perhitungan akurasi dari diketahui adalah titik koordinat tujuan, sehingga dibutuhkan
kedua metode sama, keduanya sama - sama memiliki noise dan perubahan besar sudut pada masing-masing joint robot lengan
error yang sama yaitu sebesar 0.4 cm dari sumbu x, 1.5 cm dari agar robot lengan mampu mencapai titik tersebut (Setiawan,
sumbu y dan 1.06 cm dari sumbu z. Selain itu error juga terjadi 2014). Dengan metode ini mikrokontroler akan melakukan
pada sudut servo, dimana rata – rata error pada sudut 1 sebesar perhitungan matematis yang kompleks untuk menentukan
1o , pada sudut 2 sebesar 1.24o , dan pada sudut 3 sebesar 4.1o . gerakan robot. Dengan semakin berkembangnya teknologi
Bila dibandingkan dari segi kecepatan, metode paralel mikrokontroler, maka memungkinkan digunakannya
menjalankan seluruh tugas dengan lebih cepat 20 detik (36,4% komputasi paralel untuk meringankan kerja komputasi suatu
dari waktu sekuensial) untuk 4 servo dan 10 detik (22,2% dari
waktu squensial) untuk 3 servo.
sistem yang sering kali hanya berpusat pada satu kontroler
saja. Dengan komputasi paralel diharapkan dapat
mempercepat perhitungan suatu masalah.
Kata Kunci— Include at least 5 keywords or phrases

I. PENDAHULUAN
Robot adalah sebuah alat mekanik yang dapat melakukan
tugas fisik dengan menggunakan program yang telah
II. LANDASAN TEORI Gambar 1 Flowcart sistem
A. Inverse Kinematics Gerakan Manipulator Perancangan
Kinematika adalah ilmu mengenai geometri pergerakan alat
atau benda yang meliputi gerak geometris murni melalui Pada penelitian ini, robot menggunakan 4 buah revolute
posisi, orientasi, dan turunan waktunya. Dalam robotika, joint dengan posisi seperti tampak pada Gambar 2 . Revolute
ilmu kinematik digunakan untuk mengatur dan Joint memungkinkan komponen untuk berotasi mengelilingi
memperhitungkan dinamika sistem manipulator dalam suatu joint yang telah ditetapkan. Revolute joint hanya
mencapai target yang diinginkan. mendapatkan satu gerakan rotasi.
Inverse kinematics atau kinematika terbalik adalah
sebuah metoda untuk menghitung besarnya sudut-sudut
pada joint manipulator lengan dalam rangka mencapai
hasil yang diinginkan. Karenanya terdapat beberapa cara
untuk menyelesaikan permasalahan invers kinematika.
Bahkan besaran sudut joint yang diperoleh bisa sangat
beragam agar sistem manipulator dapat meraih target yang
diharapkan.

B. Flowchart
Flowchart atau bagan alur adalah diagram yang
menampilkan langkah-langkah dan keputusan untuk
melakukan sebuah proses dari suatu program. Setiap langkah Gambar 2 posisi Joint
digambarkan dalam bentuk diagram dan dihubungkan dengan
garis atau arah panah. Tabel 1 Tabel pin schemati

Servo Servo Servo Servo PWR Rasberry


III. PERANCANGAN DAM IMPLEMENTASI 1 2 3 4 DC
Adapun cara kerja sistem secara garis besar ditunjukan 5V
pada flowchart diagram pada Gambar 1. Pada diagram VCC VCC VCC VCC 5V -
tersebut, menunjukan cara kerja sistem dimana peneliti harus GND GND GND GND GND GND
menentukan terlebih dahulu nilai end effector yang dituju Pulse - - - - GPIO 17
robot lengan. Didalam proses perhitungan inverse kinematic - Pulse - - - GPIO 18
terjadi proses pembagian tugas pada beberapa core prosesor. - - Pulse - - GPIO 27
Masing masing core akan menghitung suatu sudut secara - - - Pulse - GPIO 22
paralel.
Tabel 1 menunjukan tabel pin berdasarkan rancangan
schematic yang telah dibuat. Seluruh VCC dari servo
memperoleh tegangan dari power source 5v, hal ini
dikarenakan tegangan dan arus dari servo cukup besar. Bila
VCC servo dihubungkan dengan VCC raspberry maka saat
servo bergerak tegangan raspberry akan turun dan
menyebabkan raspberry mengalami reboot.

Komputasi parallel menggunakan openMP yang


memungkinkan pembagian task di level CPU. CPU yang akan
digunakan tidak dapat kita tentukan, openMP akan
menentukan sendiri CPU yang mampu melakukan kerja
secara otomatis. openMP memiliki beberapa jenis
Worksharing Constructor yang dapat digunakan. Peneliti
menggunakan Worksharing Constructor parallel section,
Worksharing Constructor ini dipilih karena sesuai dengan
kebutuhan penelitian.

Section contructs adalah suatu metode pembagian tugas


non-iteratif yang berisi satu set blok yang terdistribusi dan
dieksekusi oleh sebuah thread dalam team. Setiap tugas
diselesaikan oleh sebuat thread dalam konteks tugas implisit.
Implementasi

Pembuatan desain robot diawali dengan membuat gambar


bagian – bagian robot secara digital. Hasil desain tersebut
kemudian digunakan sebagai pola pemotongan bahan acrylic.
Setelah bahan dipotong, bahan kemudian di rangkai sesuai
dengan desain. Servo di letakkan sesuai lokasinya. Setela
semua bahan selsai dirangkai, lakukan pemasangan rangkaian
elektronika.
Gambar 4 Resource monitor program dengan parallel
Pengujian dan Analisis

A. Pengujian CPU Usage Tabel 3 Pengujian CPU usage parallel


Pengujian CPU usage bertujuan untuk membandingkan
Pengujian Core 1 Core 2 Core 3 Core 4
penggunaan CPU dengan metode paralel dan sekuensial. Hasil
dari pengujian ini akan menampilkan seberapa besar 1 0,5 0,5 16,2 18,4
penggunaan CPU saat program berjalan. 2 0 33,3 53,3 1,4
3 0,5 49,5 14,6 0,5
Pada tahap ini dilakukan pengujian untuk mengetahui dan 4 0 52,6 17,8 0,5
membandingkan cpu usage saat program yang menggunakan 5 51,7 17,6 0 0
komputasi paralel dengan program sekuensial. Rata - rata 10,54 30,7 20,38 4,16

Berdasarkan data dari Tabel 2 dan Gambar 3 program


sekuensial membebankan prosesnya pada core 1 (30,74 %),
sedangkan berdasarkan Tabel 3 dan Gambar 4 , pada program
paralel beban prosesnya cukup terbagi rata meskipun terlihat
lebih membebankan pada core 2 (30,7%) dan 3 (20,38 %).
Core yang dipilih untuk dibebankan tugas komputasi tidak
dapat ditentukan. Dengan metode OpenMP parallel section
CPU yang dibebankan tugas komputasi ditentukan secara
otomatis oleh OpenMP.

B. Pengujian Waktu

Gambar 3 Resource monitor program sekuensial Pengujian waktu bertujuan untuk mengetahui perbedaan
waktu penyelesaian tugas dari metode paralel dengan meotde
Tabel 2 Pengujian CPU usage sekuensial sekuensial. Dengan tugas berupa robot dapat mencapai 5 titik
yang sama, berapa lama waktu yang dibutuhkan oleh masing -
masing metode untuk menyelesaikanya.
Pengujian Core 1 Core 2 Core 3 Core 4
Pengujian ini dilakukan dengan melihat run time dari
1 0 51,7 0,5 0,9
Netbeans setelah task dilakukan. Task terdiri dari 5 titik end
2 0,5 30,5 19,4 0,5
efector yang kemudian dituju oleh robot lengan. Pengujian
3 43 0,5 0 0,9
dilakukan sebanyak 5 kali. Waktu yang tertulis bukan waktu
4 61,4 0 0 1,2
kerja mesin secara real time penulis berpedoman pada waktu
5 48,8 0,5 0 0,9
yang ditampilkan dari Netbeans yang merupakan gabungan
Rata Rata 30,74 16,64 3,98 0,9
dari waktu. compile, waktu membentuk koneksi serial monitor
dan waktu kerja yang dilakukan robot.

Tabel 4 Pengujian waktu dengan 4 servo

Pengujian Pararel Sequensial selisih


Pengujian 1 35 detik 55 detik 20 detik
Pengujian 2 35 detik 55 detik 20 detik
Pengujian 3 35 detik 55 detik 20 detik
Pengujian 4 35 detik 55 detik 20 detik
Pengujian 5 35 detik 55 detik 20 detik Gambar 6 Pengujian akurasi sudut
Rata-rata 35 detik 55 detik 20 detik
Berdasarkan Gambar 5 dan Gambar 6 menunjukan bahwa
Tabel 5 Pengujian waktu dengan 3 servo inverse kinematic dapat diimplementasikan pada robot
manipulator dengan menggunakan raspberry pi. Berdasarkan
Pengujian Pararel Sequensial selisih pengujian, terdapat rata – rata error sebesar 0.4cm dari sumbu
x, 1.5 cm dari sumbu y dan 1.06 cm dari sumbu z. Selain itu
Pengujian 1 35 detik 45 detik 10 detik
error juga terjadi pada sudut servo, dimana rata – rata error
Pengujian 2 35 detik 45 detik 10 detik pada sudut 1 sebesar 1o , pada sudut 2 sebesar 1.24o , dan
Pengujian 3 35 detik 45 detik 10 detik pada sudut 3 sebesar 4.1o . Error yang terjadi dapat
Pengujian 4 35 detik 45 detik 10 detik disebabkan beberapa faktor antara lain, kalibarasi mekanika
Pengujian 5 35 detik 45 detik 10 detik yang kurang sempurna, faktor internal servo, elektronika yang
Rata-rata 35 detik 45 detik 10 detik kurang stabil, dan pengukuran yang kurang presisi

Berdasarkan pengujian pada Tabel 4 dan Tabel 5 terlihat


IV. SIMPULAN
bahwa terjadi perbedaan waktu penyelesaian pada kedua
metode. Metode parallel dapat menyelesaikan task dengan
lebih cepat. Selisih waktu yang terjadi adalah 20 detik (36,4% Berdasarkan hasil dari tahapan perancangan, implementasi,
dari waktu sequensial) dan 10 detik (22,2% dari waktu pengujian serta analisis hasil pengujian yang telah dilakukan,
squensial). Hal ini terjadi karena setiap servo membutuhkan penulis dapat menarik kesimpulan bahwa.
delay untuk bergerak, delay ini akan sangat berpengaruh pada
waktu penyelesaian task. Pada metode parallel jumlah servo Metode Inverse Kinematic dapat di implementasikan pada
tidak bedampak memperlambat perhitungan waktu kerja robot manipulator dengan menggukana kontroler raspberry pi.
program. Semakin banyak servo yang digunakan akan Sudut dudut hasil perhitungan inverse kinematic dapat di
berdampak memperlambat perhitungan kerja pada metode eksekusi dengan menggunakan fitur softpwm yang disediakan
squensial. wiring pi pada raspberry. Melalui softpwm servo hi-tech HS-
322HD dapat digunakan sebagai penggerak robot manipulator.
C. Pengujian Akurasi Pergerakan robot bila dibandingkan, metode squensial
melakukan gerakan yang lebih halus. Akurasi dari kedua
Pengujian akurasi bertujuan untuk mengetahui seberapa metode tidak jauh berbeda, keduanya sama sama memiliki
akurat gerakan robot sesungguhnya. Pengujian ini dilakukan nois dan error yang sama yaitu sebesar 0.4cm dari sumbu x,
dengan mengukur sudut servo dengan busur derajat dan lokasi 1.5 cm dari sumbu y dan 1.06 cm dari sumbu z. Selain itu
titik akhir robot dengan penggaris mistar. Pada pengujian ini error juga terjadi pada sudut servo, dimana rata – rata error
dilakukan perhitungan lokasi end efector dengan pada sudut 1 sebesar 1o, pada sudut 2 sebesar 1.24o, dan pada
membandingkan gerak robot berdasarkan inverse kinematic sudut 3 sebesar 4.1o. Bila dibandingkan dari segi kecepatan,
yang telah dihitung dengan keadaan sesungguhnya. metode parallel menjalankan seluruh tugas dengan lebih cepat
20 detik (36,4% dari waktu sequensial) untuk 4 servo dan 10
detik (22,2% dari waktu squensial) untuk 3 servo. Raspberry
pi mampu membagi tugas komputasi dengan memanfaatkan 4
core yang ada didalamnya. Multycore programing dengan
openMP terbukti mampu memanfaatkan hampir seluruh
resource yang di sediakan CPU milik raspberry pi. Program
squensial membebankan prosesnya pada core 1 (30,74 %).
Pada program parallel beban prosesnya cukup terbagi rata
meskipun terlihat lebih membebankan pada core 2 (30,7%)
dan 3 (20,38 %). Implementasi komputasi parallel pada
raspberry pi dapat dilakukan dengan menggunakan liblary
Gambar 5 Pengujian akurasi titik akhir yang disebut openMP. Nilai sudut sudut hasil perhitungan
Inverse Kinematic di hitung secara terpisah terbukti dengan
nilai sudut akan tampil setelah hasil perhitungan selesai.
Rumus yang lebih sederhana dan menghasilkan keluaran yang
lebih cepat
REFERENCES
[1] Achmad Zaki Rahman1, Khairul Jauhari, Dede Sumantri, Tsani
Hendro Nugroho,Ilham Defra Nugraha, Sultan Amrullah, Haikal Ash
Shabri 2019. Inverse Kinematics dan Pengukuran Akurasi Pergerakan
pada Model Robot Manipulator Lengan Vol. 3, No. 2.
https://jtmiti.org/index.php/JTM/article/view/339
[2] Michael Julyus Christopher Manullang, Medria Kusuma Dewi
Hardhienata, 2020. Kendali Robot Beroda Otonom dengan Inverse
Kinematics Vol. 7 No. 1.
https://journal.ipb.ac.id/index.php/jika/article/view/26022
[3] V. . Arinal and E. . Sentosa, “Klasifikasi Tingkat Kesejahteraan RW
006 Kelurahan Kalideres Jakarta Barat dengan Metode K-Nearest
Neighbor”, JPDK, vol. 4, no. 4, pp. 5621–5638, Aug. 2022.
[4] Ilham Defra Nugraha. 2021. Pendekatan Geometri untuk Perhitungan
Inverse Kinematics Gerakan Lengan Robot 4 Derajat Kebebasan Vol. 5
No. 1.
https://www.jtmiti.org/index.php/JTM/article/view/572
[5] Andri Lesmana Wanasurya, Sri Mulyanti, Maria Angela Kartawidjaja.
2020. KOMPUTASI PARALEL UNTUK PENGOLAHAN
PRESTASI AKADEMIK MAHASISWA.
https://publikasi.mercubuana.ac.id/index.php/jte/article/download/2180
/1428
[6] Istiqlal Farozi, Rizal Maulana, Wijaya Kurniawan. 2019. Implementasi
Sensor Warna Pada Robot Lengan Pemindah Barang Menggunakan
Inverse Kinematics Vol.3 No.7
http://download.garuda.kemdikbud.go.id/article.php?article=1218544&
val=10384&title=Implementasi%20Sensor%20Warna%20Pada%20Ro
bot%20Lengan%20Pemindah%20Barang%20Menggunakan%20Invers
e%20Kinematics
[7] Aditya Hidayat. 2016. DESAIN DAN IMPLEMENTASI METODE
INVERSE KINEMATICS DAN SINE PATTERN UNTUK
KONTROL GERAK PADA AUTONOMOUS QUADRUPED
ROBOT Vol. 3 No.2
https://openlibrarypublications.telkomuniversity.ac.id/index.php/engine
ering/article/view/721/687
[8] Agus Budi Dharmawan , Lina. 2017. PENERAPAN METODE
DENAVIT-HARTENBERG PADA PERHITUNGAN INVERSE
KINEMATICS GERAKAN LENGAN ROBOT
https://www.researchgate.net/profile/Agus-Dharmawan-
3/publication/316922579_PENERAPAN_METODE_DENAVIT-
HARTENBERG_PADA_PERHITUNGAN_INVERSE_KINEMATIC
S_GERAKAN_LENGAN_ROBOT/links/59195fbf4585152e19a25374
/PENERAPAN-METODE-DENAVIT-HARTENBERG-PADA-
PERHITUNGAN-INVERSE-KINEMATICS-GERAKAN-LENGAN-
ROBOT.pdf
[9] Dwi Chandra. 2019. Evaluasi Pembelajaran Pemrograman Paralel
dengan Materi Berbasis Animasi Vol 10. No.
https://jurnal.polinela.ac.id/ESAI/article/view/1352
[10] Ade Bastian, Dadan Zaliluddin, and Muhammad Syifa Al Maroghi,
“IMPLEMENTASI PEMROGRAMAN PARALEL
MENGGUNAKAN PLATFORM OPENMP PADA CITRA DIGITAL
DENGAN METODE LOW-PASS FILTER DAN HISTOGRAM
EQUALIZATION”, infotech, vol. 8, no. 1, pp. 28–33, Mar. 2022.

Anda mungkin juga menyukai