DESAIN DAN IMPLEMENTASI SIMULATOR ROBOT MANIPULATOR BERBASIS PHYSICS ENGINE
TESIS Karya tulis sebagai salah satu syarat untuk memperoleh gelar Magister dari Institut Teknologi Bandung
Oleh
Ariadie Chandra Nugraha NIM : 23207165 Program Magister Teknik Elektro
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2009
DESAIN DAN IMPLEMENTASI SIMULATOR ROBOT MANIPULATOR BERBASIS PHYSICS ENGINE
Oleh Ariadie Chandra Nugraha
Bandung, 22 Juni 2009
Menyetujui Pembimbing I,
Dr. Ir. Hilwadi Hindersah, M.Sc.
Pembimbing II,
Dr. Ir. Arry Akhmad Arman, MT
ABSTRAK
DESAIN DAN IMPLEMENTASI SIMULATOR ROBOT MANIPULATOR BERBASIS PHYSICS ENGINE
Oleh
Ariadie Chandra Nugraha NIM : 23207165 PROGRAM MAGISTER TEKNIK ELEKTRO
Saat ini, ilmu robotika dan implementasinya di berbagai bidang berkembang dengan pesat. Robotika tidak lagi hanya diminati oleh kalangan peneliti di bidang robotika, namun juga diminati oleh peneliti dan siswa dari berbagai disiplin ilmu, serta juga kalangan penggemar robotika. Salah satu dasar dari ilmu robotika adalah pemahaman mengenai kinematika dan dinamika robot. Satu jenis robot yang biasa digunakan dalam buku teks untuk contoh pemaparan kinematika dan dinamika adalah robot manipulator industri. Sayangnya harga robot jenis ini atau perangkat pelatihannya cukup mahal, sehingga jarang institusi pendidikan di Indonesia yang mampu memperolehnya. Kalaupun dapat, biasanya perangkat yang ada tidak mencukupi untuk seorang siswa berlatih dengan cukup. Untuk mengatasi hal tersebut, dikembangkan sebuah piranti lunak simulasi robot manipulator yang diberi nama SIRUPP (Simulator Robot Manipulator untuk Pembelajaran dan Perancangan). SIRUPP adalah sebuah aplikasi simulator yang memungkinkan pengguna menyimulasikan gerakan robot manipulator pada sebuah lingkungan kerja virtual dan menvisualisasikan simulasi tersebut secara 3D. Selanjutnya fitur jaringan dari aplikasi ini memungkinkan penggunaan aplikasi ini sebagai sarana pembelajaran di mana siswa dapat mempelajari kinematika dan dinamika robot melalui simulasi, dan selanjutnya mengendalikan robot riil yang berada pada ruang yang berbeda. Aplikasi ini juga dilengkapi dengan modul perencanaan gerakan robot untuk merencanakan gerakan robot pada sebuah lingkungan kerja dengan satu atau lebih penghalang. Hasil rencana gerakan dari modul ini dapat divalidasi dan divisualisasikan terlebih dahulu pada lingkungan kerja virtual, sebelum diaplikasikan pada robot sesungguhnya.
i
Salah satu komponen utama dari SIRUPP adalah modul simulator fisika, selain modul jaringan dan modul perencanaan gerak. Penelitian ini bertujuan untuk mendesain dan mengimplementasikan modul simulator fisika berdasarkan model kinematika dan dinamika robot, sedemikian rupa agar gerakan robot virtual hasil simulasi mendekati perilaku gerakan robot sesungguhnya. Modul simulator akan menggunakan sebuah physics engine, yaitu Open Dynamics Engine (ODE), untuk menyimulasikan perilaku robot riil dalam dunia virtual. Parameter-parameter yang digunakan simulator adalah parameter kinematika Denavit-Hartenberg (D-H) dan parameter dinamika, seperti massa dan friksi. Selain itu metoda pengendalian yang digunakan di robot riil akan diterjemahkan ke dalam pengendalian di robot virtual. Fitur koneksi ke robot riil PUMA 260 yang dimiliki SIRUPP, memungkinkan pengambilan data robot riil sebagai set data referensi saat validasi simulasi. Modul simulator yang dikembangkan telah melalui pengujian fungsional dan pengujian validasi simulasi. Secara fungsional, modul simulator mempunyai kemampuan untuk memodelkan kinematika dan dinamika robot manipulator, menerjemahkan parameter-parameter tersebut menjadi robot virtual, mengendalikan robot virtual dengan metoda pengendalian tertentu, dan menyimpan file data simulasi untuk analisa lebih lanjut. Pengujian validitas simulasi dilakukan dengan membandingkan gerakan robot riil PUMA 260 dan gerakan robot virtual, ketika dikendalikan dengan metoda pengendalian yang ekivalen. Pengujian menghasilkan nilai galat rata-rata sebesar 4,52° untuk keadaan transien dan 0,86° untuk keadaan tunak, untuk pengujian tiga link pertama. Metoda pengendalian yang digunakan pada validasi adalah profiling kecepatan trapezoidal dengan filter Proporsional-Derivatif-Integral (PID). Kata kunci:
simulasi robot, robot manipulator industri, physics engine, validitas simulasi , pembelajaran robotika, SIRUPP, PUMA
ii
ABSTRACT
DESIGN AND IMPLEMENTATION OF MANIPULATOR ROBOT SIMULATOR BASED ON PHYSICS ENGINE
By
Ariadie Chandra Nugraha NIM : 23207165 ELECTRICAL ENGINEERING MASTER PROGRAM
Recently, robotics field has advanced rapidly. It no more exclusively deal by the robotics researcher, but also by students from different backgrounds and hobbyist. One of the basic of robotics science is the understanding of kinematics and dynamics. A type of robot which is usually used as example of kinematics and dynamics in textbooks is industrial manipulator robots. Unfortunately this kind of robots or its trainer is very expensive, that the education institution in developing country like Indonesia seldom can afford one of them. Even if they could afford one, it is not enough for a class of students to practice sufficiently. To address this problem, we propose a robot simulation software that can simulate behaviour of the real manipulator robot, which we named SIRUPP (Simulator Robot Manipulator untuk Pembelajaran dan Perancangan / Manipulator Robot Simulator for Learning and Designing). SIRUPP is a simulator application that enable user to simulate movement of manipulator robot in a virtual work environment, and visualize it in a 3D graphics. It’s networking capability enable this application as a learning tool where a student can learn kinematics and dynamics of a manipulator robot, and then control the real robot in remote place. This application also has a motion planning module that can plan robot trajectory in a work environment with static obstacles. The result of this module can be validated in a virtual work environment, before implemented with real robot. One of main components of SIRUPP is physics simulator module, other than networking and motion planning module. The objective of this research is to design and implement physics simulator module based on robot kinematics and dynamics, that a virtual robot will have similar behaviour with a real robot. This iii
module will use a physics engine, i.e. Open Dynamics Engine (ODE), to simulate real robot behaviour in virtual world. Parameters that will be modeled in simulator module are Denavit-Hartenberg (D-H) kinematics parameters and dynamics parameters, i.e. mass and friction. Moreover the correspondence of the controlling method used in real world and its counterpart in simulation world will be examined. The feature of SIRUPP to control the real robot, enable us to obtain data from real robot behaviour, which will be used as reference data in simulation validation. The developed module had passed the functional and validation test. In functional test, we test the features of the module. The module is capable of modelling the kinematics and dynamics of robot manipulator, translating kinematics and dynamics parameters to a virtual robot, controlling the virtual robot with a controlling method, and saving the simulation data to text file for further analysis. In validation test, we compare the movement of virtual robot with the movement of real robot, i.e. PUMA 260, when we control them with equivalent controlling methods. The results are the mean error between virtual and real robot movement are 4,52° for transient state and 0,86° for steady state. The controlling method we used in this test is trapezoidal velocity profiling with Proportional-DerivativeIntegral (PID) filter. Keyword:
robot simulation, industrial manipulator robots physics engine, simulation validity, robotics learning, SIRUPP, PUMA
iv
PEDOMAN PENGGUNAAN TESIS
Tesis S2 yang tidak dipublikasikan, terdaftar dan tersedia di Perpustakaan Institut Teknologi Bandung, dan terbuka untuk umum dengan ketentuan bahwa hak cipta ada pada pengarang. Referensi kepustakaan diperkenankan dicatat, tetapi pengutipan atau peringkasan hanya dapat dilakukan seizin pengarang dan harus disertai dengan kebiasaan ilmiah untuk menyebutkan sumbernya. Memperbanyak atau menerbitkan sebagian atau seluruh tesis haruslah seizin Direktur Program Pascasarjana, Institut Teknologi Bandung. Perpustakaan yang meminjam tesis ini untuk keperluan anggotanya harus mengisi nama dan tanda tangan peminjam dan tanggal pinjam.
v
KATA PENGANTAR Puji syukur penulis panjatkan ke hadirat Allah SWT, yang atas rahmat serta karunia-Nya penulis dapat menyelesaikan tesis ini. Sholawat dan salam juga penulis tujukan pada Rasulullah Muhammad SAW, yang akan selalu menjadi inspirasi dari setiap amalan yang penulis lakukan. Selama melaksanakan tesis ini, penulis mendapat bantuan dan dukungan dari berbagai pihak. Untuk itu, penulis ingin mengucapkan terimakasih kepada: 1. bapak Dr. Ir. Hilwadi Hindersah, M.Sc. selaku pembimbing I serta bapak Dr. Ir. Arry Akhmad Arman, MT selaku pembimbing II, atas segala bimbingan serta perhatiannya; 2. ibu Dr. Ir. Aciek Ida W., MT, bapak Ir. Ary Setijadi P, ST, MT, PhD, bapak Dr Ir Arief Syaichu R., M.Eng.Sc., dan bapak Dr. Kusprasapta Mutijarsa yang telah memberikan bimbingan, masukan, dan dukungan dalam pengembangan produk tesis SIRUPP; 3. Departemen Pendidikan Nasional atas bantuan Beasiswa Unggulan yang diterima penulis selama menjalani pendidikan program magister ini; 4. Anita Kristianingsih, M.Si, isteri tercinta, Ardhian dan Aisha, anak-anak tercinta, yang senantiasa memberikan dorongan dan semangat, serta kesabaran, pengertian dan doanya; 5. Dr. Sri Rochana W., M.Hum, ibu tercinta, dan Drs Moelyatno S.A, ayah tercinta, yang selalu memberikan dorongan, semangat, nasehat dan doa; 6. dik Arie, atas segala bantuannya dalam penulisan thesis; 7. ayah dan ibu mertua, tante Endang, adik-adik, keponakan, serta seluruh keluarga yang senantiasa memberikan dukungan serta doa; 8. rekan Husnul dan Suyoto, tim pengembang produk tesis SIRUPP; 9. seluruh staf dosen dan karyawan Laboratorium Sistem Kendali dan Komputer; 10. rekan-rekan seperjuangan di kelas MGT angkatan 2007 yang telah menjadi teman diskusi, atas segala bantuan dan masukannya;
vi
11. dan semua pihak yang membantu, yang tidak dapat penulis sebutkan satu persatu; penulis ucapkan jazakallahu khairan katsira, semoga Allah SWT membalasnya dengan ganjaran yang jauh lebih baik. Penulis menyadari bahwa tesis ini bukanlah tanpa kelemahan, untuk itu kritik dan saran sangat diharapkan. Akhir kata, semoga tesis ini dapat bermanfaat bagi para pembacanya.
Bandung, Juni 2009 Penulis
vii
DAFTAR ISI Halaman ABSTRAK ............................................................................................................... i ABSTRACT ........................................................................................................... iii PEDOMAN PENGGUNAAN TESIS .....................................................................v KATA PENGANTAR ........................................................................................... vi DAFTAR ISI ........................................................................................................ viii DAFTAR GAMBAR ............................................................................................. xi DAFTAR TABEL ................................................................................................ xiii DAFTAR TABEL ................................................................................................ xiii DAFTAR SINGKATAN DAN LAMBANG ...................................................... xiv DAFTAR LAMPIRAN ..........................................................................................xv BAB I.
PENDAHULUAN...................................................................................1
1.1 Latar Belakang.........................................................................................1 1.2 Perumusan Masalah .................................................................................4 1.3 Tujuan Penelitian .....................................................................................4 1.4 Kontribusi Penelitian ...............................................................................4 1.5 Pembatasan Masalah ...............................................................................5 1.6 Metoda Penelitian ....................................................................................6 1.7 Sistematika Penulisan ..............................................................................7 BAB II.
TINJAUAN PUSTAKA..........................................................................8
2.1 Robot Manipulator...................................................................................8 2.1.1 Kinematika Maju ..............................................................................10 2.1.2 Kinematika Balik ..............................................................................13 2.1.3 Dinamika Robot Manipulator ...........................................................14 2.2 Simulasi Fisika dan Physics Engine ......................................................15 2.2.1 Simulasi ............................................................................................15 2.2.2 Simulasi Fisika .................................................................................16 2.2.3 Physics Engine .................................................................................17
viii
Halaman 2.3 Pengendalian Robot Manipulator ..........................................................18 2.3.1 Pengendalian Robot Manipulator dengan Perhitungan Torsi...........18 2.3.2 Robot PUMA 260 .............................................................................28 2.3.3 Pengendalian Motor Servo ...............................................................29 2.3.4 Pengendalian PID .............................................................................30 2.3.5 Modul Pengendali Berbasis PIC-Servo ............................................32 2.3.6 Profiling Kecepatan ..........................................................................36 BAB III. PENGEMBANGAN MODUL SIMULATOR BERBASIS PHYSICS ENGINE ................................................................................38 3.1 Penempatan Modul Simulator Fisika dalam Kerangka Kerja SIRUPP.38 3.2 Spesifikasi Modul Simulator yang Akan Dikembangkan .....................41 3.3 Penerjemahan Model Robot Manipulator untuk Desain Modul Simulator ...............................................................................................43 3.3.1 Penerjemahan Model Kinematika Berdasar Parameter Denavit-Hartenberg ..........................................................................43 3.3.2 Penerjemahan Model Dinamika .......................................................47 3.4 Desain Modul Simulator Fisika .............................................................47 3.4.1 Desain Subsistem Pemodelan dan Simulasi .....................................48 3.4.2 Desain Subsistem Visualisasi ...........................................................51 3.4.3 Desain Subsistem Antarmuka Pengguna ..........................................52 3.4.4 Desain Kelas-Kelas ..........................................................................53 3.5 Implementasi Modul Simulator Berbasis Physics Engine.....................55 3.5.1 Implementasi Subsistem Pemodelan dan Simulasi ..........................55 3.5.2 Implementasi Subsistem Visualisasi ................................................58 3.5.3 Implementasi Subsistem Antarmuka Pengguna ...............................59 3.5.4 Integrasi Dengan Subsistem Kendali ...............................................63 3.5.5 Integrasi dengan Subsistem-subsistem Lain dalam Framework SIRUPP ............................................................................................64
ix
Halaman BAB IV. PENGUJIAN MODUL SIMULATOR FISIKA ...................................66 4.1 Spesifikasi Pengujian ............................................................................66 4.1.1 Ruang Lingkup Pengujian ................................................................66 4.1.2 Instrumen Pengujian .........................................................................67 4.2 Pengujian Fungsional ............................................................................68 4.2.1 Prosedur Pengujian Fungsional ........................................................68 4.2.2 Hasil Prosedur Pengujian Fungsional...............................................74 4.3 Pengujian Simulasi Robot Manipulator ................................................75 4.3.1 Prosedur Pengujian Simulasi ............................................................75 4.3.2 Hasil dan Pembahasan Pengujian Simulasi ......................................79 BAB V. KESIMPULAN DAN SARAN .............................................................87 5.1 Kesimpulan ............................................................................................87 5.2 Saran ......................................................................................................89 DAFTAR PUSTAKA ............................................................................................90
x
DAFTAR GAMBAR Halaman Gambar I.1 Diagram blok sistem secara umum. ..................................................... 2 Gambar I.2 Mekanisme validasi hasil simulasi. ..................................................... 5 Gambar II.1 PUMA seri 560. .................................................................................. 8 Gambar II.2 Diagram blok sistem robot. ................................................................ 9 Gambar II.3 Sistem koordinat dilekatkan pada manipulator dan obyek-obyek di lingkungan[5]. ................................................................................. 11 Gambar II.4 Frame {i} dilekatkan secara kaku pada link i. .................................. 12 Gambar II.5 Rangkaian ekivalen sebuah motor DC dikendalikan-armature[7]..... 19 Gambar II.6 Analisa sebuah rangkaian gir............................................................ 20 Gambar II.7 Fungsi alih lup terbuka dari sebuah lengan robot sendi-tunggal. ..... 23 Gambar II.8 Diagram blok kendali umpan balik dari sebuah manipulator sendi-tunggal. .................................................................................... 25 Gambar II.9 Diagram blok kendali umpan balik dari sebuah manipulator dengan gangguan. ............................................................................. 27 Gambar II.10 Servomechanism pada lengan robot. .............................................. 29 Gambar II.11 Sinyal PWM[9]. ............................................................................... 30 Gambar II.12 Galat pada perhitungan suku PID untuk kendali digital. ................ 32 Gambar II.13 Pengendali PIC-Servo SC dengan komunikasi RS232[16]. ............. 33 Gambar II.14 Koneksi beberapa modul kendali[16]. .............................................. 34 Gambar II.15 Tingkat-tingkat kendali PIC-Servo SC[16]. .................................... 34 Gambar II.16 Profil kecepatan kurva-S (a) dan trapezoidal (b). .......................... 36 Gambar II.17 Diagram blok pengendalian robot manipulator dengan perencanaan trayektori[7]. .............................................................. 37 Gambar III.1 Diagram blok piranti lunak SIRUPP. .............................................. 41 Gambar III.2 Diagram use case SIRUPP terkait modul simulator. ...................... 42 Gambar III.3 Penetapan kerangka koordinat standar untuk PUMA 560[5]. .......... 44 Gambar III.4 Penetapan kerangka koordinat yang dimodifikasi. ......................... 45 Gambar III.5 Penetapan kerangka koordinat PUMA 260. .................................... 46 Gambar III.6 Diagram blok modul simulator secara umum. ................................ 48 Gambar III.7 Sendi engsel (hinge) pada ODE[13]. ................................................. 49
xi
Halaman Gambar III.8 Loop simulasi yang dijalankan srThread......................................... 51 Gambar III.9 Diagram kerjasama kelas-kelas modul simulator. .......................... 55 Gambar III.10 Diagram kelas SimManager, srRobotModel dan srODEWorld. ... 56 Gambar III.12 Tampilan visualisasi 3D. ............................................................... 58 Gambar III.13 Tampilan window utama SIRUPP................................................. 59 Gambar III.14 Panel pengaturan model robot : parameter D-H. .......................... 60 Gambar III.15 Panel pengaturan model robot : parameter link............................. 60 Gambar III.16 Panel pengaturan model robot : parameter sendi. ......................... 61 Gambar III.17 Panel pengaturan model robot : posisi dan orientasi robot. .......... 61 Gambar III.18 Panel pengaturan obyek lingkungan. ........................................... 62 Gambar III.19 Panel pengaturan sudut sendi. ....................................................... 62 Gambar III.20 Panel pengaturan posisi efektor akhir. .......................................... 63 Gambar III.21 Panel pengaturan simulasi. ............................................................ 63 Gambar III.22 Dialog untuk mengatur koneksi ke robot riil. ............................... 64 Gambar IV.1 Konfigurasi pengujian simulasi. ..................................................... 68 Gambar IV.2 Konvensi sudut 0° untuk pengujian simulasi. ................................. 75 Gambar IV.3 Grafik gerakan sendi 1. ................................................................... 79 Gambar IV.4 Grafik gerakan sendi 1 saat transien. .............................................. 80 Gambar IV.5 Grafik gerakan sendi 1 dan 2. ......................................................... 81 Gambar IV.6 Grafik gerakan sendi 1 dan 2 saat transien. .................................... 82 Gambar IV.7 Grafik sendi 1 pada gerakan satu dan dua sendi. ........................... 82 Gambar IV.8 Grafik gerakan sendi 1, 2, dan 3. .................................................... 83 Gambar IV.9 Grafik gerakan sendi 1, 2 dan 3 saat transien. ............................... 84 Gambar IV.10 Grafik sendi 2 robot riil pada gerakan satu dan tiga sendi. ........... 84 Gambar IV.11 Grafik sendi 2 robot virtual pada gerakan satu dan tiga sendi. ..... 85
xii
DAFTAR TABEL Halaman Tabel II.1 Spesifikasi PUMA 260A[17]. ................................................................. 28 Tabel III.1 Parameter D-H untuk robot PUMA 560 (Gambar III.3)..................... 44 Tabel III.2 Parameter D-H untuk robot PUMA 560 yang dimodifikasi. .............. 45 Tabel III.3 Parameter D-H untuk robot PUMA 260. ............................................ 46 Tabel IV.1 Pengujian fungsional modul simulator. .............................................. 74 Tabel IV.2 Hasil pengujian gerakan satu sendi..................................................... 80 Tabel IV.3 Hasil pengujian gerakan dua sendi. .................................................... 83 Tabel IV.4 Hasil pengujian gerakan tiga sendi. .................................................... 85
xiii
DAFTAR SINGKATAN DAN LAMBANG SINGKATAN
Nama
Pemakaian pertama kali pada halaman
D-H
Denavit-Hartenberg
NMC
Networked Modular Control
ODE
Open Dynamics Engine
ii
OpenGL
Open Graphics Library
1
PID
Proporsional-Integral-Derivatif (PID)
ii
PUMA
Programmable Universal Machine for Assembly
ii
PWM
Pulse-width modulation (PWM)
SIRUPP
Simulator Robot Untuk Pembelajaran dan Perancangan
UI
User Interface (Antarmuka Pengguna)
51
XML
Extensible Markup Language
48
θ
sudut sendi pada robot manipulator
11
α
puntiran link pada robot manipulator
11
ii 33
29 i
LAMBANG
xiv
DAFTAR LAMPIRAN
xv