Di susun oleh : Nama : Klemens Reynaldo Reynaldo V.P & Laurentius Dexy Danu NIM
: 121113016 &121113011
I. Latar belakang MATLAB adalah
numerikal dan bahasa bahasa numerikal dan
sebuah
lingkungan lingkungan komputasi
pemrograman komputer pemrograman
generasi
keempat.
Dikembangkan oleh oleh The MathWorks MathWorks,, MATLAB memungkinkan manipulasi matriks, manipulasi matriks,
pem-plot-an
fungsi
dan
data,
implementasi algoritma, implementasi algoritma, pembuatan pembuatan antarmuka antarmuka pengguna, pengguna, dan pengantarmuka-an dengan program dalam bahasa lainnya. Meskipun hanya bernuansa numerik, sebuah kotak kakas ((toolbox toolbox)) yang menggunakan terhadap
mesin
kemampuan
simbolik MuPAD, MuPAD, memungkinkan aljabar
komputer.
Sebuah
akses paket
tambahan, Simulink , menambahkan simulasi grafis multiranah dan tambahan, Desain Berdasar-Model untuk sistem terlekat dan dinamik. Pada tahun 2004, MathWorks mengklaim bahwa MATLAB telah dimanfaatkan oleh lebih dari satu juta pengguna di dunia pendidikan dan industry II. Tujuan
Untuk menghitung proses matriks yang lebih cepat dan efisien saat ini telah ada sebuah software yang mampu membantu kita secara baik. Software tersebut yaitu Mat Lab. Dalam program ini kita dapat melakukan berbagai perhitungan mariks. III. Batasan Masalah
a. Cara penggunaan b. Tampilan Software
c. Pengaplikasian IV. Tinjauan Pustaka
MATLAB (yang berarti "matrix "matrix laboratory") laboratory") diciptakan pada akhir tahun 1970-an oleh Cleve oleh Cleve Moler, Moler, yang yang kemudian menjadi Ketua [3] Departemen Ilmu Komputer di Universitas New Mexico. Departemen Mexico. Ia merancangnya untuk memberikan akses bagi mahasiswa dalam memakai LINPACK memakai LINPACK dan EISPACK dan EISPACK tanpa harus mempelajari Fortran. mempelajari Fortran. Karyanya itu segera menyebar ke universitas-universitas lain dan memperoleh sambutan hangat di kalangan komunitasmatematika komunita smatematika terapan. Jack terapan. Jack Little, seorang Little, seorang insinyur, dipertemukan dengan karyanya tersebut selama kunjungan Moler ke Universitas Stanford pada tahun 1983. Menyadari potensi komersialnya, ia bergabung dengan Moler dan Steve Bangert. Mereka menulis ulang MATLAB dalam bahasa pemrograman C, kemudian mendirikan mendirikan The MathWorks pada MathWorks pada tahun 1984 untuk melanjutkan pengembangannya. Pustaka yang ditulis ulang tadi kini dikenal dengan nama JACKPAC.
[rujukan? rujukan?]]
Pada tahun
2000, MATLAB ditulis ulang dengan pemakaian sekumpulan pustaka [4]
baru untuk manipulasi matriks, LAPACK matriks, LAPACK . MATLAB pertama kali diadopsi oleh insinyur rancangan kontrol (yang juga spesialisasi Little), tapi lalu menyebar secara cepat ke berbagai bidang lain. Kini juga digunakan di bidang pendidikan, khususnya dalam pengajaran aljabar pengajaran aljabar linear dan analisis dan analisis numerik, serta numerik, serta populer di kalangan ilmuwan yang menekuni bidang pengolahan bidang pengolahan citra.
V. Dasar Teori
Karena penjelasan dari persamaan kinematika kinematika dan pembuatan pro gram simulasi program simu lasi saling berkaitan maka m aka akan lebih leb ih efektif jika penggunaan variabel yang ada di persamaan kinematika dihubungkan dengan variabel yang ada di dalam program. i= = joint joint ke-i atau link ke-i ke-i
a = offset distanc distanc α = Alpha atau sudut punter (offset (offset angle) angle) d = distance distance Theta = θ atau sudut joint sudut joint PX = posisi end effector pada effector pada sumbu X PY = posisi end effector pada effector pada sumbu Y PZ = posisi end effector pada effector pada sumbu Z A=
Ai matriks transformasi homogeneous DenavitDenavit-Hartenberg Hartenberg 4x4 yang melakukan tranformasi kerangka koordinat {i} relatif ke kerangka koordinat {i-1}
Perancangan Program Simulasi
Pada penelitian ini program simulasi ini akan dibuat memakai sorfware Matlab dan hasilnya susah berbasiskan user interface atau GUI untuk memudahkan user dalam memakai program simulasi ini dalam melakukan perhitungan Forward dan Invese Invese kinematiya. Sebelum masuk dalam perancangan programnya, terlebih dahulu perlu ditentukan kesamaan dalam satuan pada variabel yang digunakan, hal ini diperlukan untuk menghindari kesalahan dalam perhitungan.
53
No 1
Tabel 3.3 Variabel dan satuan untuk perhitungan simulasi Variabel Satuan Jarak, posisi, panjang link
2
sudut joint
Millimeter (mm) Derajat (0)
Input
Program simulasi ini mempunyai sistem yang terpecah dalam 3 modul 1. 1. Input Input 2. Proses 3.
Output
Program simulasi ini
akan digunakan sebagai simulator simulator kinematika Model
industrial robot, dimana pengguna akan memperoleh output output berupa berupa informasi in formasi pergerakan perge rakan kinematika robot yang berbentuk grafik koorditare 3D beserta posisi (x,y,z) dan orientasi. Hal ini didapat dari hasil pemrosesan variabel-variabel yang dimasukkan berdasarkan aturan-aturan dan perhitungan yang telah umum dipakai pada robot industri
Modul Forward kinematik adalah modul untuk melakukan pergerakan secara Forward kinematics, kinematics, sedangkan modul Invese kinematik adalah untuk melakukan pergerakan dengan metode Invese dengan memasukkan tujuan dari robot untuk mendapatkan θi. Forw θi. Forward ard kinematics kine matics dan dan Invese Invese kinematic kine maticss merupakan hal yang saling berkaitan berk aitan,, dimana dim ana jika modul modu l Inves Invesee menjadi input maka modul Forwa modul Forward rd akan menjadi
modul Forward menjadi input maka modul Invese modul Invese akan menjadi output . output , dan jika modul Forward
IV. Pembahasan 1. MATLAB sebagai Lingkungan Pemrograman Simulasi Model industrial robot
MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi numerik yang merupakan bahasa pemrograman matematika lanjutan dengan dasar pemikiran menggunakan sifat dan bentuk matrik MATLAB sering digunakan untuk Matematika dan komputasi Pengembangan dan algoritma Pemrograman modeling, simulasi dan pembuatan prototipe Analisa data, eksplorasi dan visualisasi Analisis numerik dan statistik Pengembangan aplikasi teknik .Pembuatan aplikasi, termasuk pembuatan antarmuka grafis ((Graphical Graphical User Interface) Interface)
Dengan berbagai alasan seperti diatas, matlab memang spesial perhitungan yang menggunakan matriks dan vektor sebagaimana yang digunakan dalam penelitian ini. maka pada penelitian ini memakai software matlab untuk menghitung proses matrik homogeneus dan perhitungannya dapat dibuat dan diproses dengan waktu yang lebih singkat.
Dalam membentuk kerangka perancangan sofware simulasi ini, modul dibagi menjadi tiga bagian utama, yaitu modul input , modul proses, modul output . Untuk sourse
55
Pada proses pembuatan program simulasi ini. Program akan dipecah menjadi beberapa beber apa file.m fil e.m agar a gar memudah me mudahkan kan dalam d alam melakuk me lakukan an modifikasi mod ifikasi.. File file yang dibentu d ibentuk k dalam membuat program simulasi ini adalah :
• Menu Utama: Menu1.m
Muncul GUI Simulator Kinematika Robot (pilih Direct atau Invers)
• Direct Kinematics: Input : Menu21.m
Input untuk Direct Kinematics ( Setelah pilih Direct
dari menu1.m) Process: HitDirect.m
Melakukan perhitungan matriks transformasi
homogeneous 4x4 Output: Menu22.m Grafik.m
Menampilkan Posisi dan Orientasi dari End dari End effector
Menampilkan Grafik Posisi dan Orientasi dari End dari End effector
• Invers Kinematics: Input: Menu31.m
Input untuk Invese untuk Invese Kinemat Kinematics ics ( Setelah Setelah pilih Invese pilih Invese
dari menu1.m) Process: Numeric.m
Melakukan pencarian sudut setiap joint dengan
metode numeric. Cari.m
Melakukan perhitungan numeric dengan ketelitian (kenaikan) 1
derajat. Output: Menu32.m
Menampilkan Sudut setiap joint pada IRP.
56
2. Modul Input Pada bagian modul input pada saat program dijalankan akan tampil menu seperti gambar 3.7 dibawah ini. Lalu pilih menu yang diinginkan.
Gambar 3.7 Menu Utama pada program simulasi
a.
Untuk
Forward
kinematics
Pada gambar 3.8 dibawah ini merupakan tampilan modul input dari Forward kinematik. Nilai input yang diberikan berupa besar sudut sudut untuk tiap-tiap joint tiap-tiap joint (θ i )
Gambar 3.8 Menu input Forward kinematik
57
nvese ki nematics nemati cs b.Untuk I nvese Pada gambar 3.9 dibawah ini merupakan tampilan modul input dari Invese Invese kinematik Pada modul modul ini memiliki beberapa keterangan : • Posisi awal end effector (Px, Py, Pz) • Posisi akhir end effector (Px, Py, Pz) • Nilai input yang diberikan berupa posisi X,Y,Z
Gambar 3.9 menu input I nves nvese e kinematik kinematik
3. Modul Proses
Modul proses mempunyai tugas untuk mengolah input yang berupa parameter tetap maupun parameter pergerakan dalam bentuk matriks. Nilai parameters tersebut
58
sesuai dengan konsep D-H Parameter. Modul proses merupakan sebuah fungsi yang terdiri dari rumus-rumus untuk mengolah input yang masuk menjadi solusi tersendiri.
Modul proses menghasilkan pemetaan posisi dan orientasi untuk solusi Forwar Forward d kinematics,, dan menghasilkan kinematics menghasilkan pemetaan besarnya sudut-sudut joint sudut-sudut joint untuk solusi Inves solusi Invesee kinematics.. kinematics
Pada Forward Pada Forward Kinematics Kinema tics saat saat melakukan kalkulasi matriks homogenusnya yang mana akan mengkalkulasi matriks homogenus untuk unt uk 0A0 (dari titik 0 world coordinate ke base dari robot), robot ), 0A1 0 A1 (dari (d ari titik t itik base ke joint 1), 1), 1A2 (dari joint (dari joint 1 ke joint ke joint 2), 2A3 (dari joint 2 ke joint ke joint 3), 3A4 (dari joint (dari joint 3 ke joint ke joint 4), 4A5 (dari joint (dari joint 4 ke joint ke joint 5) dan 0A5 (dari jointt 5 ke base join base)) hal ini dilakukan untuk mendapatkan nilai posisi dan orientasi dari end terhadap base. effector terhadap
Pada Invese Pada Invese kinematics kinema tics maka program simulasi akan mengecek input input posisi posisi pada modul input . Apakah diisi dengan benar atau tidak, kemudian mengukur radius posisi yang dimasukkan dari pusat (370,0,160) yang juga merupakan posisi pusat awal base base,, yang kemudian dibandingkan dengan range maksimum yang dapat dicapai oleh robot. Jika radius lebih besar dari range maksimum yang dapat dicapai oleh robot, maka program akan menampilkan men ampilkan pesan error error berupa, berupa, posisi berada bera da diluar jangkauan jangka uan robot dan proses pencarian sudut untuk Invese dihentikan karena pasti tidak akan menemukan solusinya. Jika posisi berada dalam jangkauan maka ada kemungkinan untuk menemukan solusi besar sudut-sudut dari joint dari joint . Maka proses pencarian sudut dilanjutkan. Proses Invese Proses Invese ini sudah dijelaskan pada bagian Pengembangan Invese Kinematics Kinematics dalam Simulasi
59
dengan Cara Num Cara Numeri. eri. Pada Pada gambar 3.10 dibawah ini menggambarkan flowchart untuk Forward dan dan Invese Invese kinematik kinematik
nvese Gambar 3.10 Flowchart untuk Forward kinematik dan I nvese kinematik kinematik
60
4. Modul Output Modull Output Modu Ou tput dari simulasi ini memberikan beragam informasi yang membantu agar pengguna dapat memahami pergerakan lengan robot. Informasi yang diberikan seperti : 1. Keterangan Posisi (x,y,z) 2. Orientasi 2. grafik 3D
Modul proses akan menghasilkan data yang berupa matriks-matriks, pada modul output ini sebagian dari matriksnya akan diterjemahkan dalam grafik tiga dimensi yang akan memudahkan dalam pembacaan hasil modul proses. Contoh dari hasil kalulasi matriks dan menghasilkan Grafik 3D matriks posisi dalam solusi Forward solusi Forward kinematics. kinematics.
Gambar 3.11 Grafik 3D lengan robot
61
5. Tampilan Error Berikut sejumlah tampilan error yang terdapat pada program simulasi : Pada gambar 3.12 merupakan tampilan error untuk Validasi input yang tidak boleh lebih dari 90 derajat. Hal ini terjadi karena user memasukkan inputan melebihi 90 derajat pada modul input Forward input Forward kinematik
Gambar 3.12 Validasi input yang tidak boleh lebih dari 90 derajat.
Pada gambar 3.13 merupakan tampilan error untuk Validasi apabila arah (positif atau negatif) tidak dipilih. Hal ini terjadi karena user tidak memilih memilih arah yang akan dituju dalam pada modul input Forward input Forward kinematik. Arah yang harus dipilih berupa arah positif atau arah negatif.
Gambar 3.13 Validasi apabila arah (positif atau negatif) tidak dipilih
62
Pada gambar 3.14 merupakan tampilan error untuk pada saat user belum memasukkan sudut pada joint ke 5.
Gambar 3.14 Apabila waktu dikalkulasi belum memasukkan sudut pada 5 joint.
Pada gambar 3.15 merupakan tampilan error pasa saat ada posisi yang belum dimasukkan
Gambar 3.15 Apabila waktu dikalkulasi posisi awal masih ada yang tidak dimasukkan
Pada gambar 3.16 merupakan tampilan error pada saat posisi akhir masih ada yang belum dimasukkan
Gambar 3.16 Apabila waktu dikalkulasi posisi akhir masih ada yang tidak dimasukkan
63
Pada gambar 3.17 merupakan tampilan error pada saat memasukkan inputan pada modul Invese modul Invese melewati melewati jangkauan lengan robot.
Gambar 3.17 Error disebabkan posisi awal berada di luar jangkauan IRP
Pada gambar 3.18 merupakan tampilan error apabila inputan yang kita masukkan bukan angka
Gambar 3.18 Error disebabkan input yang dimasukkan bukan angka
6. Tampilan Keseluruhan Software
Untuk menggunakan program simulasi ini dibutuhkan tersedianya program MATLAB pada komputer. Dalam program MATLAB, simulasi ini dapat dibuka dengan mengetikkan menu1 pada command window. Tampilan ini akan memudahkan operator untuk mengoperasikan program simulasi.
Tampilan ini akan berkaitan dengan graphical user interface (GUI) yang akan mempermudah operator dalam menggunakan simulasi.
64
Pada Gambar 3.19 dapat dilihat bahwa simulasi ini menyediakan 2 menu pilihan, diantaranya adalah menu direct kinematics (menu 1) , Invese Inve se kinematics kin ematics (menu 2). Untuk pertama kali coba memilih menu direct kinematik.
Pilih Menu Forward Kinematics Gambar 3.19 Menu untuk simulator kinematik
Setelah memilih menu direct kinematik maka tampilan selanjutnya seperti gambar 3.20 di bawah ini. Gambar berupa modul input untuk direct kinematik. Inputan berupa sudut joint dan pilih sesuai arah putar joint
Masukkan besar sudut joint
Pilih arah putar joint
Klik kalkulasi untuk melakukan perhitungan
Gambar 3.20 Inputan Forward kinematik
65
Setelah memasukkan sudut putar dan arah putar joint maka klik tampilan kalkulasi. Ketelah klik tampilan kalkulasi maka modul proses akan melakukannya. Dan akan mendapatkan nilai posisi p osisi dan orientasi seperti gambar dibawah ini
Klik tampilkan grafik untuk munculkan grafik
Gambar 3.21 Hasil kalkulasi Forward kinematik
Setelah klik tampilkan grafik maka akan mendapatkan gambar grafik seperti dibawah ini.
Gambar 3.22 Grafik 3D hasil kalkulasi Forward kinematik
66
Untuk selanjutnya mencoba Invese mencoba Invese kinematik. kinematik. Maka pilih menu Invese menu Invese kinematik kinematik sepeti gambar dibawah ini.
Pilih Menu Inverse Kinematics
Gambar 3.23 Menu simulator
Setelah klik Invese klik Invese kinematik kinematik maka akan muncul pop up seperti gambar dibawah ini yang berisikan informasi Workspace Workspace lengan lengan robot.
Gambar 3.24 Pop up pada I nvese nvese kinematik menjelaskan tentang Workspace kinematik
67
Setelah itu muncul modul inputan untuk permasalahan Invese permasalahan Invese kinematik. kinematik. Inputan yang dimasukkan berupa target yang posisi akhir yang diinginkan berupa posisi x,y,z. Seperti yang terlihat pada gambar dibawah ini.
Inputan berupa posisi x, y dan z
nvese e Gambar 3.25 Menu inputan untuk I nves kinematik kinematik
Setelah memasukkan inputan berupa posisi x,y,z. Maka modul input akan menkalkulasi inputan tersebut pada modul proses. proses. Lalu akan mandapatkan modul output berupa nilai sudut joint seperti gambar dibawah ini.
Forward
Gambar 3.26 Hasil kalkulasi
kinematik
68
7. Perancangan Hardware Model industrial robot Pada perancangan hardware Model industrial robot ini akan dirancang hardware mekanik berupa lengan robot fisik dan harware elektronik berupa mikroconrol mikroconroller ler untuk mengontrol harware mekanik.
Berikut karakteristik dan komponen hardware Model industrial robot pada penelitian ini: Komponen Model industrial robot :
1. Manipulator • Mekanik • Penyangga gerakan ( appendage) • Base (pondasi / landasan robot) 2. Controler Adalah jantung dari robot untuk mengontrol pergerakan lengan robot. 3. Power Supply Sumber tenaga yang dibutuhkan oleh robot. Pada P ada penelitian ini memakai 2 poserr supply. pose sup ply. Pertama Pert ama power p ower suppy supp y untuk unt uk keperlu k eperluan an mikroko mi krokontrol ntroller ler dan d an kedua power supply untuk keperluan motor servo dc. 4. 4. End End effector Piranti yang terpasang pada lengan robot untuk melaksanakan fungsifungsi tertentu Untuk memenuhi kebutuhan si pemakai. Pada penelitian ini end effector yang yang dipakai berupa gripper. Gripper (pencengkram) : piranti untuk memegang dan mencengkram obyek, misalnya : tangan mekanik, piranti pengait, magnet atau penghisap.
69
5. Control Program Pada penelitian ini digunakan 2 jenis program code untuk mengontrol lengan robotnya. Pertama menggunakan bahasa pemograman Assembly dan kedua menggunakan bahasa pemograman Visual Basic.
Karekteristik Model industrial robot pada penelitian ini :
1. Base 2. Waist 3. Shoulder 4. Elbow 5. Wrist pitch 6. Wrist Roll 7. GRIPPER ( End End effector )
8. Perancangan Hardware Mekanik
Untuk perancangan hardware ini ada 4 hal utama yang harus dilakukan yaitu menentukan Workspace Workspace,, menentukan panjang link, menentukan arah putar joint dan proses perakitan.
9. Menentukan Workspace
Workspace (area Workspace (area kerja) adalah luas area dimana robot itu dapat bekerja. Secara teknis dapat dikatakan adalah dimana ujung bagian masih digerakkan di bawah control.
70
Work Volume diperhitungkan dari : • Konfigurasi Fisik • Ukuran • Jangkauan Lengan • Hubungan / Joint Manipulator
Fungsi mengetahui Workspace Workspace : • Lay Out • Area Kerja dan Safety Area • Program