programmable controllers

Document Sample
programmable controllers Powered By Docstoc
					ISSN: 1693-6930                                                                              209


       SIMULATOR LENGAN ROBOT ENAM DERAJAT
          KEBEBASAN MENGGUNAKAN OPENGL

                        Balza Achmad, Musthofa Sunaryo, Agus Arif
               Jurusan Teknik Fisika, Fakultas Teknik, Universitas Gadjah Mada,
                                Jl. Grafika 2, Yogyakarta 55281
                       e-mail: balzach@ugm.ac.id, agusarif@ugm.ac.id


                                             Abstract
         A robot simulator has been developed, that capable in simulating a 6 degree of freedom
robot manipulator. Using this simulator, a user can define the type and angular range of the
joints, and length of each link, as well as the colors. User can also select an arbitrary viewing
angle and move the robot manually or automatically. The simulator was developed using C++
programming language utilizing OpenGL graphic library. Denavit-Hartenberg notation was used
as parameters to specify the shape and size of the manipulator.

Keyword : articulated robot, Denavit-Hartenberg notation, manipulator


                                         Abstrak
       Telah dikembangkan sebuah simulator robot yang mampu mensimulasikan manipulator
robot 6 derajat kebebasan. Dengan menggunakan simulator ini, seorang pengguna dapat
memilih jenis dan jangkau sudut sendi dan panjang setiap lengan, serta warnanya. Pengguna
dapat memilih sembarang sudut pandang dan menggerakkan robot baik secara manual
maupun otomatis. Simulator ini dikembangkan menggunakan bahasa pemrograman C++
dengan memanfaatkan pustaka grafis OpenGL. Notasi Denavit-Hartenberg digunakan sebagai
parameter untuk menentukan bentuk dan ukuran manipulator.

Kata kunci : lengan robot, manipulator, notasi Denavit-Hartenberg


1. PENDAHULUAN
         Pada saat ini, robot semakin memiliki peran yang sangat penting dalam kehidupan
manusia, mulai dari bidang kedokteran, pertanian, sampai ke industri manufaktur. Bahkan robot
telah masuk ke rumah pribadi dalam bentuk mainan ataupun alat bantu pekerjaan sehari-hari.
Banyak mahasiswa dari berbagai program studi; misalnya Teknik Elektro, Teknik Mesin, Teknik
Industri, Teknik Fisika, Instrumentasi, dan Informatika; tertarik dengan robot. Hal ini ditunjukkan
dengan banyaknya mahasiswa yang memilih matakuliah robotika sebagai salah satu
matakuliah pilihan. Di samping itu, berbagai perlombaan robot di tanah air semakin diminati
oleh para mahasiswa dari berbagai perguruan tinggi di seluruh pelosok tanah air.
         Sayangnya, tingginya minat mahasiswa untuk belajar robot mengalami suatu
hambatan, terutama yang berasal dari perguruan tinggi kecil, yaitu perlunya dana yang besar
untuk menyediakan peralatan belajar yang memadai. Harga sebuah robot yang akan digunakan
untuk keperluan praktikum tentulah tidak murah. Selain itu, biaya operasional untuk melakukan
eksperimen dengan robot juga tidak kecil. Belum lagi unit robot yang perlu disediakan biasanya
lebih dari satu untuk satu kelas praktikum.
         Oleh karena itu, untuk mengurangi biaya, diperlukan sebuah pengganti dari robot yang
sebenarnya. hal ini dapat dilakukan dengan menggunakan simulator robot berupa program
komputer. Dengan adanya simulator robot ini, praktikum robotika dapat dilaksanakan dalam lab
komputer, sehingga tidak perlu membangun lab tersendiri.
         Sebelumnya telah dilakukan sebuah penelitian yang dilakukan oleh Craig Hennessey,
Alex Jiang dan Kevin Ko dari Simon Fraser University. Mereka bertiga melaksanakan suatu
proyek pembuatan program simulator robot yang diberi nama Scara Robot Simulator [1]. Proyek
Scara Robot Simulator mempunyai tujuan untuk membuat simulator menggunakan OpenGL
dan Microsoft Visual C++ untuk sebuah manipulator robot tipe SCARA (Selectively Compliant


    Simulator Lengan Robot Enam Derajat Kebebasan Menggunakan OpenGL (Balza Achmad)
210                                                                            ISSN: 1693-6930

Assembly Robot Arm) yang merupakan robot yang cukup sederhana yang mempunyai empat
derajat kebebasan. Program simulator ini menawarkan kemampuan untuk menjalankan
beberapa perintah sehingga pengguna dapat menggerakkan manipulator dan posisi kamera
pada layar monitor. Simulator ini masih berbasis console (text) dan tidak mudah untuk
dioperasikan. Kelemahan kedua adalah bentuk manipulator tetap, tidak dapat diubah.
         Selain itu ada juga suatu simulator robot lain yang diberi nama RoboSim. Simulator ini
dibuat oleh Rainer Pollak (versi asli/ bahasa C) dan Johannes Schützner (versi bahasa Java) di
bawah bimbingan Thomas Bräunl. Untuk simulator yang dibuat menggunakan bahasa C dan
harus dijalankan pada sistem operasi Unix dengan X-Window. RoboSim merupakan simulator
yang sangat sederhana untuk sebuah manipulator robot dengan 6 derajat kebebasan. Fungsi
dari panel kontrolnya adalah untuk menggerakkan manipulator, juga untuk memungkinkan
mengubah posisi pandangan serta mengubah panjang dari link [2].
         Simulator yang dikembangkan dalam paper ini memiliki kemampuan untuk melakukan
scripting pola gerakan robot. Gerakan masing-masing link dapat diskenariokan sebelumnya dan
disimpan dalam bentuk file, sehingga dapat digunakan pada kesempatan lain.


2. LENGAN ROBOT
         Secara etimologis kata “robot” berasal dari bahasa Cheko yaitu kata “robota” yang
berarti berkerja. Sedangkan menurut kamus Webster, robot didefinisikan sebagai piranti yang
menunjukkan fungsi sebagaimana kelakuan manusia. Definisi yang lebih lengkap kemudian
dikembangkan oleh RIA (Robot Institute of America), Robot adalah manipulator multifungsi
yang dapat diprogram ulang (reprogramable multifunctional manipulator) yang didesain untuk
memindahkan material, peralatan atau piranti [3].
         Derajat kebebasan (Degree Of Freedom atau DOF) pada robot setiap gerakan linier
atau putaran sepanjang atau sekitar pada sebuah sumbu (axis). Pada kasus robot industri,
karena sebuah manipulator merupakan sebuah rangkaian terbuka, dan karena tiap posisi sendi
biasanya ditentukan dengan variabel tunggal maka jumlah sendi sama dengan nilai derajat
kebebasan [4].
         Robot industri merupakan perpaduan dari struktur mekanik (manipulator), penggerak
(aktuator), sensor dan sistem kontrol. Manipulator adalah rangkaian benda kaku (rigid bodies),
lengan (link) yang satu sama lain terhubung oleh sendi (joint). Pangkal lengan terpasang pada
kerangka dasar (base frame) sedangkan ujungnya tersambung pada end-effector.
         Sendi adalah tempat sambungan lengan untuk melakukan putaran atau gerakan.
Secara umum sendi ada dua macam, yaitu sendi putar dan sendi prismatik. Sendi putar sering
digunakan sebagai pinggang (waist), bahu (shoulder), siku (elbow). Pergerakan sendi putar
akan menghasilkan satu derajat kebebasan. Model pergerakan sendi putar ditunjukkan oleh
Gambar 1(a). Sementara itu, sendi prisma adalah sendi geser dengan sumbu sendi tepat pada
pusat garis lengan geser. Sendi prisma akan menyebabkan perpindahan posisi dari ujung
lengan (end-effector). Contoh mekanisme sendi geser dapat dilihat pada Gambar 1(b).




       (a) sendi putar (revolution joint)               (b) sendi geser (prismatic joint)

                   Gambar 1. Diagram skematis sendi pada lengan robot [5]


TELKOMNIKA Vol. 6, No. 3, Desember 2008 : 209 - 216
TELKOMNIKA                             ISSN: 1693-6930                                  ■ 211

         Manipulator industri dapat dikelompokkan berdasarkan struktur dari manipulator dan
posisi end-effector yang dideskripsikan pada suatu sistem koordinat, yaitu
a. Rectangular (Cartesian) Manipulator, apabila lengan dari manipulator bergerak secara
    rectilinier, yaitu arah xyz dari koordinat Cartesian (aturan tangan kanan).
b. Cylindrical Manipulator, apabila lengannya memiliki sebuah revolute dan dua prismatic joint
    yang sama dengan 3 DOF. Ruang kerja dari manipulator ini ditentukan dengan koordinat
    cylindrical (radius r, sudut θ dan tinggi z).
c. Spherical (Polar) Manipulator, apabila lengannya dapat berubah bentuknya dengan
    menggerakkan dua sendi putar dan satu sendi geser. Posisi lengan dideskripsikan dengan
    koordinat spherical (r, θ, x).
d. Revolute (Articulated) Manipulator, apabila lengannya terdiri atas lengan-lengan yang
    dihubungkan dengan sendi putar. Contoh Articulated Robot Manipulator diberikan dalam
    Gambar 2). Jenis lengan robot ini lebih fleksibel karena memiliki lebih banyak sendi
    dibandingkan dengan manipulator tipe yang lain, sehingga dapat digunakan untuk berbagai
    jenis keperluan dan merupakan jenis lengan robot yang paling banyak digunakan di industri
    manufaktur. Oleh karena itu, simulator yang dibuat dalam paper ini adalah jenis articulated
    robot.




                   (a) ABB IRB 1600                      (b) Adept Viper s650




                (c) Motoman EA1400N                       (d) ABB IRB 2400

                      Gambar 2. Contoh jenis articulated robot di industri


    Simulator Lengan Robot Enam Derajat Kebebasan Menggunakan OpenGL (Balza Achmad)
212                                                                                      ISSN: 1693-6930

3. NOTASI DENAVIT-HARTENBERG
        Guna memodelkan lengan robot berjenis articulated robot, digunakan notasi Denavit-
Hartenberg. Notasi ini mendeskripsikan parameter hubungan antara satu sendi/lengan dengan
sendi/lengan yang lain, terdiri dari 4 parameter (ai, αi, di, θi ). Notasi ini ditulis pada sistem
koordinat XYZ. Gambar 3 menunjukkan notasi Denavit-Hartenberg yang digunakan dalam
paper ini.




  ai = jarak dari   Zi   ke    Z i +1    diukur sepanjang     Xi
  αi = sudut antara      Zi   dan       Z i +1   diukur seputar   Xi
  di = jarak dari   X i −1    ke   X i diukur sepanjang Z i
  θi = sudut antara      X i −1    ke    X i diukur seputar Z i

                                                   Gambar 3. Notasi Denavit-Hartenberg


        Dengan notasi tersebut, posisi sebuah sendi yang terdapat pada ujung akhir sebuah
lengan dapat dihitung berdasarkan posisi sendi ujung awal lengan, sudut sendi, dan panjang
lengan. Karena sebuah sendi menghubungkan antara sebuah lengan dengan lengan lainnya,
maka posisi end effector, yang pada simulator ini dimodelkan dengan sebuah gripper, dapat
ditentukan.


4. SIMULATOR YANG DIKEMBANGKAN
        Simulator yang dikembangan dalam paper ini dirancang untuk dapat mensimulasikan
berbagai robot jenis articulated robot yang ada di industri. Oleh karena itu, mula-mula disusun
model sendi dan lengan dari sebuah articulated robot yang memiliki 6 derajat kebebasan.
Dengan memvariasikan dimensi dari setiap sendi dan lengan yang ada, maka robot yang
sebenarnya dapat dimodelkan.
        Terdapat 2 konfigurasi sendi pada end effector, yakni Roll Pitch Yaw atau Wrist Bend
Turn. Gerakan dari kedua konfigurasi sendi tersebut ditunjukkan oleh Gambar 4. Sementara
Gambar 5 menunjukkan diagram skematik sendi dan lengan dari simulator robot yang
dirancang, lengkap dengan variabel yang digunakan, baik untuk konfigurasi sendi Roll Pitch
Yaw atau Wrist Bend Turn.


TELKOMNIKA Vol. 6, No. 3, Desember 2008 : 209 - 216
TELKOMNIKA                             ISSN: 1693-6930                                 ■ 213




                  (a) Roll Pitch Yaw                     (b) Wrist Bend Turn
                        Gambar 4. Konfigurasi sendi pada end effector




              (a) Roll Pitch Yaw                             (b) Wrist Bend Turn

                    Gambar 5. Diagram skematik model sendi dan lengan


         Simulator yang dirancang merupakan simulator 3 dimensi sehingga dapat
menampakkan gerakan dan visualisasi lengan robot secara rasional. Perangkat lunak dibuat
menggunakan paket pengembangan program Visual C++ dan OpenGL. OpenGL adalah suatu
pustaka perangkat lunak untuk perangkat keras grafik. Pustaka ini terdiri atas sekitar 150
perintah berbeda yang digunakan untuk menentukan obyek dan operasi yang diperlukan untuk
membuat aplikasi tiga dimensi yang interaktif [6]. OpenGL dibuat untuk digunakan dengan tidak
tergantung pada platform atau perangkat keras. OpenGL tidak menyediakan perintah tingkat
tinggi untuk membuat model dari objek tiga dimensi, seperti perintah membuat bentuk yang sulit
seperti mobil, bagian dari tubuh, pesawat terbang atau molekul. Suatu model dapat dibangun
dengan OpenGL menggunakan kumpulan geometric primitives yaitu titik, garis dan poligon.
         Tampilan utama simulator ditunjukkan oleh Gambar 6. Tampilan ini tersusun atas panel
visualisasi lengan robot, panel pengaturan pandangan, panel pengendali perputaran sendi,


    Simulator Lengan Robot Enam Derajat Kebebasan Menggunakan OpenGL (Balza Achmad)
214                                                                         ISSN: 1693-6930

pengendali gripper, serta beberapa tombol untuk mengoperasikan simulator dan mengaktifkan
dialog konfigurasi sendi.




                            Gambar 6. Tampilan utama simulator


         Setiap perubahan posisi dan sudut pandangan; yakni posisi X, Y, Z, dan sudut bidang
X-Y dan Y-Z; langsung dapat dilihat efeknya di panel visualisasi. Pengaturan posisi dan sudut
pandang ini digunakan untuk memberikan kemampuan simulator untuk melihat lengan robot
dari arah manapun sesuai dengan yang dikehendaki. Sebagai contoh, lengan robot dapat
dilihat dari pandangan atas, samping, atau depan (Gambar 7). Dengan demikian, pengguna
dapat mengamati lengan robot dengan lebih bebas.




         (a) pandangan atas                (b) pandangan samping       (c) pandangan depan

               Gambar 7. Visualisasi lengan robot dari berbagai sudut pandang


TELKOMNIKA Vol. 6, No. 3, Desember 2008 : 209 - 216
TELKOMNIKA                            ISSN: 1693-6930                                 ■ 215

         Pengaturan dimensi dan konfigurasi sendi robot dapat dilakukan dengan dialog Link
Parameter. Dalam dialog ini, keenam sendi dan lengan dalam notasi Denavit-Hartenberg dapat
diset dimensi dan jangkauan putarnya. Selain itu, warna lengan dan sendi serta latar belakang
dan grid lantai dapat pula diset dengan bebas. Konfigurasi sendi J4-J5-J6 dapat pula dipilih
antara Roll Pitch Yaw dan Wrist Bend Turn.




                Gambar 8. Dialog pengaturan dimensi sendi dan lengan robot


         Selanjutnya setelah model robot terbentuk, gerakan robot dapat dilakukan
menggunakan panel pengaturan sudut perputaran sendi (Gambar 6). Keenam sendi lengan
robot dapat digerakkan secara manual dengan menekan tombol panah ke kanan atau kiri pada
setiap sendi dalam panel tersebut. Tombol panah kanan menambah besar sudut sendi,
sedangkan tombol panah ke kiri untuk mengurangi sudut sendi. Gerakan sudut sendi ini
dibatasi oleh jangkauan putaran sendi yang diatur dalam dialog Link Parameter tadi.
         Selain itu, simulator ini juga dilengkapi dengan kemampuan untuk menggerakkan sendi
secara otomatis dalam bentuk skenario gerakan. Skenario gerakan sendi ini diatur dalam kotak
dialog Masukan untuk Route Manipulator yang diaktifkan dengan menekan tombol Input Route
pada tampilan utama. Gambar 8 menunjukkan dialog untuk membuat skenario tersebut.




                 Gambar 8. Dialog pengaturan skenario gerakan lengan robot

    Simulator Lengan Robot Enam Derajat Kebebasan Menggunakan OpenGL (Balza Achmad)
216                                                                             ISSN: 1693-6930

        Dengan menggunakan skenario ini, gerakan beberapa lengan dapat dibuat secara seri
ataupun secara simultan. Sebagai contoh, pada baris pertama skenario yang terlihat pada
Gambar 8, sendi J1 dan sendi J4 digerakkan secara simultan, keduanya bergerak dengan
sudut sebesar 30° yang dilakukan dalam 30 langkah. Jadi pada setiap langkahnya sendi J1 dan
J4 akan bergerak sebesar 1°. Selesai mengerjakan gerakan ini, baris berikutnya akan
dieksekusi. Gripper dibuka atau ditutup pada akhir gerakan tergantung dari nilai isiannya, 0
untuk menutup dan 1 untuk membuka. Gerakan lengan robot dapt diulang dari awal dengan
mengisi nilai Loop lebih dari 1.
        Setelah dibuat, skenario gerakan lengan robot tersebut dapat dijalankan dengan
menekan tombol Run pada tampilan utama. Untuk menghentikan gerakan robot secara
spontan, dapat dilakukan dengan menekan tombol Stop. Sedangkan tombol Reset digunakan
untuk memindahkan posisi semua sudut sendi ke posisi awal.


5. SIMPULAN
        Berdasarkan simulasi dan analisis berbagai robot jenis robot yang telah dikembangkan,
dapat diambil beberapa simpulan sebagai berikut:
1. Telah dapat dibangun sebuah simulator lengan robot dengan tipe articulated robot yang
   mempunyai 6 sendi putar dan 6 lengan, menggunakan bahasa C++ dan pustaka grafis
   OpenGL.
2. Model lengan robot diturunkan dengan notasi Denavit-Hartenberg.
3. Simulator ini memiliki 2 jenis konfigurasi sendi ke 4, 5, dan 6 yaitu: Roll Pitch Yaw dan Wrist
   Bend Turn.
4. Simulator ini dapat memvisualisasikan secara 3 dimensi dengan posisi dan sudut pandang
   yang dapat diatur secara bebas.
5. Gerakan lengan robot dapat dilakukan baik secara manual maupun secara otomatis
   dengan memberi masukan pada skenario gerakan.
        Kekurangan program simulasi yang dibuat pada penelitian ini, antara lain:
1. Walaupun bentuk dari manipulator yang disimulasikan dapat diubah-ubah, namun
   bentuknya masih dalam tipe articulated tidak bisa melakukan simulasi untuk manipulator
   tipe lain.
2. Kemampuan simulator masih seputar masalah kinematika, belum mencakup masalah
   dinamika.


DAFTAR PUSTAKA
[1]. Henneseey C., Jiang A., Ko K., “Scara Robot Simulator“, Simon Fraser University,
     Canada, 2003.
[2]. Bräunl T., Pollak R., Schützner J., “RoboSim- A Simple 6-DOF Robot Manipulator
     Simulation System“, University Western Australia, http://robotics.ee.uwa.edu.au/robosim/.,
     2003.
[3]. Koivo A. J., “Fundamental for Control of Robotic Manipulator“, John Wiley & Sons Inc.,
     New York. , 1989
[4]. Craig J. J., “Introduction to Robotic, Mechanic & Control“, Addison-Wesley Publishing
     Company, Canada, 1986.
[5]. Pinho M. S., Coelho A. A. A., Heitor A. O., Renato M., Shirmbeck F., Cohen M., Cardoso F.
     H., Marlise S., Mazzorani A., “Robot Programming and Simulation using Virtual Reality
     Techniques“, PUCRS, 2004.
[6]. Neider. J, Davis T., Woo M., “OpenGL Programming Guide“, Addison - Wesley
     Publishing Company, Canada, 1994.




TELKOMNIKA Vol. 6, No. 3, Desember 2008 : 209 - 216