HALAMAN JUDUL KINEMATIKA BALIK MENGGUNAKAN NEURO-FUZZY PADA MANIPULATOR ROBOT DENSO

dokumen-dokumen yang mirip
HALAMAN JUDUL KINEMATIKA BALIK MANIPULATOR ROBOT DENSO DENGAN METODE NEURAL NETWORK

Tugas Besar 1. Mata Kuliah Robotika. Forward dan Inverse Kinematics Robot Puma 560, Standford Manipulator, dan Cincinnati Milacron

HALAMAN JUDUL PERANCANGAN KONTROL STABILITAS HEXAPOD ROBOT MENGGUNAKAN METODE NEURO-FUZZY

ANALISIS INVERSE KINEMATICS TERSEGMENTASI PADA DANCING ROBOT HUMANOID MENGGUNAKAN METODE FUZZY TAKAGI-SUGENO

BAB 4 ANALISIS SIMULASI KINEMATIKA ROBOT. Dengan telah dibangunnya model matematika robot dan robot sesungguhnya,

DAFTAR ISI.. LEMBAR PENGESAHAN SURAT PERNYATAAN ABSTRAK.. ABSTRACT... DAFTAR TABEL.. DAFTAR PERSAMAAN..

UNIVERSITAS BINA NUSANTARA SIMULASI KINEMATIKA LENGAN ROBOT INDUSTRI DENGAN 6 DERAJAT KEBEBASAN

BAB II DASAR TEORI 2.1. Metode Trial and Error

DEFINISI APPLIED ARTIFICIAL INTELLIGENT. Copyright 2017 By. Ir. Arthur Daniel Limantara, MM, MT.

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF

BAB II LANDASAN TEORI. papernya yang monumental Fuzzy Set (Nasution, 2012). Dengan

Penerapan Metode Fuzzy Mamdani Pada Rem Otomatis Mobil Cerdas

HALAMAN JUDUL ANALISIS INVERSE KINEMATICS TERSEGMENTASI BERBASIS GEOMETRIS PADA ROBOT HUMANOID SAAT BERJALAN

DAFTAR ISI DAFTAR GAMBAR DAFTAR TABEL DAFTAR SIMBOL

BAB 2 LANDASAN TEORI

DAFTAR ISI LEMBAR JUDUL... LEMBAR PERSEMBAHAN... LEMBAR PERNYATAAN... LEMBAR PENGESAHAN TUGAS AKHIR... ABSTRAK... ABSTRACT... KATA PENGANTAR...

BAB 3 DESAIN HUMANOID ROBOT

ABSTRAK. Toolbox Virtual Reality. Sistem robot pengebor PCB dengan batasan posisi,

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI. Dalam kondisi yang nyata, beberapa aspek dalam dunia nyata selalu atau biasanya

FUZZY LOGIC CONTROL 1. LOGIKA FUZZY

BAB 1 PENDAHULUAN. Logika fuzzy memberikan solusi praktis dan ekonomis untuk mengendalikan

BAB 3 PERANCANGAN SISTEM Pemodelan Robot Dengan Software Autocad Inventor. robot ular 3-DOF yang terdapat di paper [5].

SISTEM PENGENDALI ROBOT LENGAN MENGGUNAKAN PEMROGRAMAN VISUAL BASIC

BAB 2 TINJAUAN PUSTAKA

SISTEM KENDALI MANIPULATOR ROBOT SEBAGAI PENYELEKSI BENDA BERWARNA SKRIPSI

Erwien Tjipta Wijaya, ST.,M.Kom

Perancangan Pengaturan Posisi Robot Manipulator Berbasis PD Fuzzy Mamdani Computed Torque Control (PD Fuzzy CTC)

PERANCANGAN ARM MANIPULATOR PEMILAH BARANG BERDASARKAN WARNA DENGAN METODE GERAK INVERSE KINEMATICS

BAB 2 LANDASAN TEORI

PENERAPAN METODE DENAVIT-HARTENBERG PADA PERHITUNGAN INVERSE KINEMATICS GERAKAN LENGAN ROBOT

BAB 2 LANDASAN TEORI

INTEGRASI MATH DAN CAD TOOL UNTUK MERANCANG KINEMATIKA MANIPULATOR SERI ROBOT INDUSTRI

ARTIFICIAL INTELLIGENCE MENENTUKAN KUALITAS KEHAMILAN PADA WANITA PEKERJA

BAB IV KONSEP FUZZY LOGIC DAN PENERAPAN PADA SISTEM KONTROL. asing. Dalam pengalaman keseharian kita, permasalahan yang berkaitan dengan fuzzy

JOBSHEET SISTEM CERDAS REASONING 2. Fuzzifikasi

DESAIN DAN PEMODELAN HUMANOID ROBOT

BAB III PERANCANGAN Sistem Kontrol Robot. Gambar 3.1. Blok Diagram Sistem

UNIVERSITAS BINA NUSANTARA

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

Bab III TEORI DAN PENGONTOR BERBASIS LOGIKA FUZZI

PENGENALAN ROBOTIKA. Keuntungan robot ini adalah pengontrolan posisi yang mudah dan mempunyai struktur yang lebih kokoh.

PERANCANGAN SISTEM KONTROL POSISI DAN KECEPATAN PADA KAPAL SELAM MENGGUNAKAN JARINGAN SARAF TIRUAN

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

LOGIKA FUZZY. Dr. Ade Gafar Abdullah JPTE-UPI

BAB 2 LANDASAN TEORI. fuzzy logic dengan aplikasi neuro computing. Masing-masing memiliki cara dan proses

Kata kunci: Sistem pendukung keputusan metode Sugeno, tingkat kepribadian siswa

MODUL 8 APLIKASI NEURAL NETWORK DAN FUZZY LOGIC PADA PERKIRAAN CUACA

Perancangan Dan Implementasi Sistem Pengaturan Kecepatan Motor Bldc Menggunakan Kontroler Pi Berbasiskan Neural-Fuzzy Hibrida Adaptif

SPK PENENTUAN TINGKAT KEPUASAN KONSUMEN PADA RESTORAN XYZ

TELEROBOTIK MENGGUNAKAN EMBEDDED WEB SERVER UNTUK MEMONITOR DAN MENGGERAKKAN LENGAN ROBOT MENTOR

Perancangan Dan Implementasi Kontrol Adaptif Untuk Smooth Trajectory Pada Manipulator 4 DOF

Pengantar Kecerdasan Buatan (AK045218) Logika Fuzzy

OPTIMALISASI UKURAN MANIPULABILITAS ROBOT STANFORD MENGGUNAKAN METODE PSEUDO-INVERSE

Arti Kata & Definisi Robot

Presentasi TA DETEKSI PENYAKIT PARU-PARU OBSTRUKTIF KRONIS MENGGUNAKAN METODE FUZZY : STUDI KASUS DI RUMAH SAKIT XYZ. Muhammad Reza Budiman

DENIA FADILA RUSMAN

BAB 2 LANDASAN TEORI

BAB II: TINJAUAN PUSTAKA

Penerapan Adaptive Neuro Fuzzy Inference System Dalam Memprediksi Volume Pemakaian Air Bersih

Himpunan Fuzzy. Sistem Pakar Program Studi : S1 sistem Informasi

BAB 3 PERANCANGAN MODEL INDUSTRIAL ROBOT SECARA KINEMATIK. robot industri yang mudah dibawa / dipindahkan. Robot ini dirancang untuk dapat

Realisasi Prototipe Gripper Tiga Jari Berbasis PLC (Programmable Logic Control) Chandra Hadi Putra /

PERTEMUAN #8 ROBOT INDUSTRI 6623 TAUFIQUR RACHMAN TKT312 OTOMASI SISTEM PRODUKSI PROGRAM STUDI TEKNIK INDUSTRI FAKULTAS TEKNIK UNIVERSITAS ESA UNGGUL

PERANCANGAN PROTOTYPE ROBOT SOUND TRACKER BERBASIS MIKROKONTROLER DENGAN METODE FUZZY LOGIC

METODOLOGI PENELITIAN

PENGGUNAAN MOTOR DC SERVO SEBAGAI PENGGERAK UTAMA LENGAN ROBOT BERJARI PENGIKUT GERAK LENGAN MANUSIA BERBASIS MIKROKONTROLER LAPORAN AKHIR

BAB I PENDAHULUAN. 1.1 Latar Belakang

Rekayasa Elektrika. Perancangan Lengan Robot 5 Derajat Kebebasan dengan Pendekatan Kinematika

LOGIKA FUZZY. Kelompok Rhio Bagus P Ishak Yusuf Martinus N Cendra Rossa Rahmat Adhi Chipty Zaimima

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Institut Teknologi Sepuluh Nopember Surabaya

T 2 Aplikasi Model Neuro Fuzzy Untuk Prediksi Tingkat Inflasi Di Indonesia

REALISASI ROBOT MANIPULATOR BERBASIS PENGONTROL MIKRO DENGAN KOMUNIKASI INTRANET

BAB III ANALISA DINAMIK DAN PEMODELAN SIMULINK CONNECTING ROD

BAB II LANDASAN TEORI. Pada bab ini berisi tentang teori mengenai permasalahan yang akan dibahas

PERANCANGAN MODEL INDUSTRIAL ROBOT SECARA KINEMATIK

PERBANDINGAN METODE FUZZY SUGENO DAN METODE FUZZY MAMDANI DALAM PENENTUAN STOK BERAS PADA PERUM BULOG DIVISI REGIONAL SUMUT SKRIPSI

IMPLEMENTASI INVERSE KINEMATICS TERHADAP POLA GERAK HEXAPOD ROBOT 2 DOF

UNIVERSITAS DIPONEGORO. Optimasi Gripper Dua Lengan dengan Menggunakan Metode Genetic Algorithm pada Simulator Arm Robot 5 DOF (Degree of Freedom)

Penerapan FuzzyTsukamotodalam Menentukan Jumlah Produksi

BAB II TINJAUAN PUSTAKA

BAB IV HASIL DAN PEMBAHASAN. Tingkat kesehatan bank dapat diketahui dengan melihat peringkat

LOGIKA FUZZY FUNGSI KEANGGOTAAN

PENENTUAN SUDUT LENGAN ROBOT HUMANOID BERDASARKAN KOORDINAT YANG DIKIRIM DARI PC MENGGUNAKAN USER INTERFACE YANG DIBUAT DARI Qt

SATUAN ACARA PERKULIAHAN MATA KULIAH : PENGANTAR ROBOTIKA KODE / SKS : / 3 SKS

MATERI KULIAH (PERTEMUAN 12,13) Lecturer : M. Miftakul Amin, M. Eng. Logika Fuzzy. Politeknik Negeri Sriwijaya Palembang

Fuzzy Logic. Untuk merepresentasikan masalah yang mengandung ketidakpastian ke dalam suatu bahasa formal yang dipahami komputer digunakan fuzzy logic.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

REKOMENDASI PEMILIHAN LAPTOP MENGGUNAKAN SISTEM INFERENSI FUZZY TSUKAMOTO

BAB III METODE FUZZY MAMDANI

PENENTUAN JUMLAH PRODUKSI PULP PADA PT.TOBA PULP LESTARI, Tbk. DENGAN MENGGUNAKAN METODE FUZZY-MAMDANI SKRIPSI AGNES NENNY SISKA SINAGA

Oleh Wiwik Wiharti Jurusan Teknik Elektro Politeknik Negeri Padang ABSTRACT

LOGIKA SAMAR (FUZZY LOGIC)

3DoF KINEMATICS ROBOT ARM TUGAS AKHIR. Oleh : DIONISIUS ADJI NUGROHO

BAB 2 TINJAUAN PUSTAKA

Transkripsi:

HALAMAN JUDUL TUGAS AKHIR TE 141599 KINEMATIKA BALIK MENGGUNAKAN NEURO-FUZZY PADA MANIPULATOR ROBOT DENSO Rika Puspitasari Rangkuti NRP 2215105046 Dosen Pembimbing Ir. Rusdhianto Effendie AK, MT. DEPARTEMEN TEKNIK ELEKTRO Fakultas Teknologi Elektro Institut Teknologi Sepuluh Nopember Surabaya 2017 i

FINAL PROJECT TE 141599 INVERSE KINEMATICS USING NEURO-FUZZY FOR DENSO ROBOT MANIPULATOR Rika Puspitasari Rangkuti NRP 2215105046 Supervisor Ir. Rusdhianto Effendie AK, MT. ELECTRICAL ENGINEERING DEPARTEMENT Faculty of Electrical Technology Institut Teknologi Sepuluh Nopember Surabaya 2017 -- ii

PERNYATAAN KEASLIAN TUGAS AKHIR Dengan ini saya menyatakan bahwa isi sebagian maupun keseluruhan Tugas Akhir saya dengan judul Kinematika Balik Menggunakan Neuro-Fuzzy Pada Manipulator Robot Denso adalah benar-benar hasil karya intelektual mandiri, diselesaikan tanpa menggunakan bahan-bahan yang tidak diijinkan dan bukan merupakan karya pihak lain yang saya akui sebagai karya sendiri. Semua referensi yang dikutip maupun dirujuk telah ditulis secara lengkap pada daftar pustaka. Apabila ternyata pernyataan ini tidak benar, saya bersedia menerima sanksi sesuai peraturan yang berlaku. Surabaya, Juli 2017 Rika Puspitasari Rangkuti NRP 2215 105 046 iii

-- Halaman ini sengaja dikosongkan -- iv

KINEMATIKA BALIK MENGGUNAKAN NEURO-FUZZY PADA MANIPULATOR ROBOT DENSO LEMBAR PENGESAHAN TUGAS AKHIR Diajukan Guna Memenuhi Sebagian Persyaratan Untuk Memperoleh Gelar Sarjana Teknik Pada Bidang Studi Teknik Sistem Pengaturan Departemen Teknik Elektro Fakultas Teknologi Elektro Institut Teknologi Sepuluh Nopember Menyetujui: Dosen Pembimbing, Ir. Rusdhianto Effendie AK, MT. NIP: 195704241985021001 SURABAYA JULI, 2017 v

-- Halaman ini sengaja dikosongkan -- vi

KINEMATIKA BALIK MENGGUNAKAN NEURO-FUZZY PADA MANIPULATOR ROBOT DENSO Nama Pembimbing : Rika Puspitasari Rangkuti : Ir. Rusdhianto Effendie AK, MT. ABSTRAK Manipulator robot adalah salah satu aplikasi robot yang paling banyak digunakan dalam bidang industri. Pergerakan dari manipulator robot dilakukan dengan menganalisa kinematika robot. Kinematika robot dapat diklasifikasikan menjadi dua jenis yaitu kinematika maju (forward kinematics) dan kinematika balik (inverse kinematics). Perhitungan forward kinematics akan menghasilkan posisi yang diinginkan oleh endeffector sedangkan inverse kinematics menghasilkan besar sudut pada masing-masing joint. Pada Tugas Akhir ini digunakan konsep dari forward kinematics dan inverse kinematics dalam mengontrol daerah kerja sebuah manipulator robot Denso 6-DOF. Permasalahan pada inverse kinematics lebih rumit dibandingkan dengan forward kinematics yang memiliki banyak solusi untuk memperoleh hasilnya, sehingga pada penelitian ini akan dilakukan penyelesaian inverse kinematics menggunakan neuro-fuzzy. Keluaran hasil dari inverse kinematics merupakan besar sudut dari masing masing joint, hasil output ini akan diuji dengan perhitungan forward kinematics. Pada metode neuro-fuzzy akan dilakukan beberapa percobaan yaitu akan diberikan nilai laju pembelajaran (α) yang berbeda-beda pada range (0.0001 0.0009) dan ketelitian error 0.00005, dengan α = 0.0005 0.0009 memiliki nilai error jarak 0.0000554 m, α = 0.0003 memiliki nilai error jarak 0.0000565 m dan α = 0.0001 memiliki nilai error jarak 0.000052 m. Kata Kunci : manipulator robot Denso 6-DOF, forward kinematics, inverse kinematics, neuro-fuzzy vii

-- Halaman ini sengaja dikosongkan -- viii

INVERSE KINEMATICS USING NEURO-FUZZY FOR DENSO ROBOT MANIPULATOR Name Supervisor : Rika Puspitasari Rangkuti : Ir. Rusdhianto Effendie AK, MT. ABSTRACT Robot Manipulator is one of the most widely of application robots used in industry. The movement of the robot manipulator is performed by analyzing the kinematics of the robot. The kinematics of the robot can be classified into two types, namely forward kinematics and inverse kinematics. The calculation of forward kinematics will produce the desired position by the end-effector while the inverse kinematics produces angle on each joint. In this Final Project used the concept of forward kinematics and inverse kinematics in controlling the work area of a Denso 6-DOF robot manipulator. The problem of inverse kinematics is more complicated than forward kinematics which has many solutions to obtain the result, so that in this research will be done inverse kinematics solution using neuro-fuzzy. The output of inverse kinematics is the angle of each joint, the output of which will be tested by forward kinematics calculation. On the method of neuro-fuzzy will do some experiments that will be given the value of learning rate (α) in the range (0.0001 0.0009) and accuracy error 0.00005, with α = 0.0005 0.0009 has a value of error distance 0.0000554 m, α = 0.0003 has a value of error distance 0.0000565 m and α = 0.0001 has a value of error distance 0.000052 m. Keyword : robot manipulator Denso, 6-DOF, forward kinematics, inverse kinematics, neuro-fuzzy ix

-- Halaman ini sengaja dikosongkan -- x

KATA PENGANTAR Puji dan syukur penulis ucapkan kepada Allah SWT, atas rahmat dan karunia Nya penulis dapat menyelesaikan Tugas Akhir dengan judul Kinematika Balik Menggunakan Neuro-Fuzzy Pada Manipulator Robot Denso. Tugas Akhir ini disusun untuk memenuhi sebagian persyaratan menyelesaikan pendidikan S1 pada Bidang Studi Teknik Sistem Pengaturan, Departemen Teknik Elektro, Fakultas Teknologi Elektro, Institut Teknologi Sepuluh Nopember Surabaya. Dalam menyelesaikan tugas akhir ini, penulis banyak menghadapi kendala maupun kesulitan, namun berkat bantuan dan bimbingan dari berbagai pihak maka tugas akhir ini dapat diselesaikan dengan baik. Oleh karena itu, penulis mengucapkan terima kasih kepada : 1. Orang tua serta keluarga yang telah memberikan dukungan materi dan moril sehingga sekarang ini dapat menyelesaikan studi Tugas Akhir di Institut Teknologi Sepuluh Nopember Surabaya. 2. Bapak Ir. Rusdhianto Effendie AK, MT. sebagai dosen pembimbing penulis dalam menyelesaikan Tugas Akhir ini. 3. Tegar Wangi Arlean sebagai teman diskusi yang telah memberikan semangat dan dukungan dalam menyelesaikan Tugas Akhir ini. Penulis menyadari bahwa Laporan Tugas Akhir ini masih ada kekurangan yang perlu untuk disempurnakan, oleh karena itu penulis mengharapkan saran dan kritik dari yang bersifat membangun dan menyempurnakan. Akhir kata penulis mengucapkan terima kasih kepada semua pihak yang telah membantu dalam penyelesaian laporan ini. Semoga laporan ini dapat bermanfaat bagi semua pihak, baik bagi diri penulis pribadi maupun pembaca. Surabaya, Juli 2017 Penulis xi

-- Halaman ini sengaja dikosongkan -- xii

DAFTAR ISI HALAMAN JUDUL... i PERNYATAAN KEASLIAN TUGAS AKHIR... iii LEMBAR PENGESAHAN... v ABSTRAK... vii ABSTRACT... ix KATA PENGANTAR... xi DAFTAR ISI... xiii DAFTAR GAMBAR... xv DAFTAR TABEL... xvii BAB 1 PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Batasan Masalah... 2 1.4 Tujuan Penelitian... 3 1.5 Metodologi... 3 1.6 Sistematika Penulisan... 4 1.7 Relevansi... 5 BAB 2 TEORI DASAR... 7 2.1 Tinjauan Pustaka... 7 2.2 Manipulator Robot Denso... 8 2.3 Bentuk Sendi... 9 2.4 Konfigurasi Manipulator Robot... 10 2.5 Transformasi Homogen... 14 2.6 Kinematika Robot... 15 2.6.1 Forward Kinematics... 16 2.6.2 Inverse Kinematics... 19 2.7 Fuzzy Logic... 23 2.7.1 Himpunan Fuzzy... 23 2.7.2 Fungsi Keanggotaan Fuzzy... 23 2.7.3 Operasi Himpunan Fuzzy... 25 2.7.4 Kontroler Logika Fuzzy... 26 2.8 Jaringan Syaraf Tiruan... 28 2.9 Neuro-Fuzzy... 30 xiii

BAB 3 PERANCANGAN SISTEM... 33 3.1 Parameter DH Manipulator Robot Denso... 33 3.2 Transformasi Homogen Manipulator Robot Denso... 36 3.3 Forward Kinematics... 37 3.4 Solusi Inverse Kinematics Menggunakan Neuro-Fuzzy... 40 3.4.1 Perancangan Struktur Neuro-Fuzzy... 40 3.4.2 Tahap Forward Propagation... 41 3.4.3 Tahap Backward Propagation... 44 3.5 Desain Program Simulasi... 44 3.5.1 Desain Simulasi Forward Kinematics... 44 3.5.2 Desain Simulasi Inverse Kinematics... 46 BAB 4 ANALISA SISTEM... 49 4.1 Pengujian Forward Kinematics... 49 4.2 Pengujian Inverse Kinematics... 52 4.3 Pengujian Simulasi Hasil Solusi Inverse Kinematics... 61 4.4 Solusi Inverse Kinematics Untuk Membuat Pola... 63 BAB 5 PENUTUP... 67 5.1 Kesimpulan... 67 5.2 Saran... 67 DAFTAR PUSTAKA... 69 LAMPIRAN... 71 RIWAYAT PENULIS... 81 xiv

DAFTAR GAMBAR Gambar 2.1 Robot manipulator Denso 6-DOF VP-6242G... 8 Gambar 2.2 Bentuk Revolute Joint... 9 Gambar 2.3 Bentuk Prismatic Joint... 9 Gambar 2.4 Struktur dari Articulated Configuration... 10 Gambar 2.5 Ruang Kerja dari Articulated... 10 Gambar 2.6 Struktur dari Spherical Configuration... 11 Gambar 2.7 Ruang Kerja dari Spherical... 11 Gambar 2.8 Struktur dari SCARA Configuration... 12 Gambar 2.9 Ruang Kerja dari SCARA... 12 Gambar 2.10 Struktur dari Cylindrical Configuration... 12 Gambar 2.11 Ruang Kerja dari Cylindrical... 13 Gambar 2.12 Struktur dari Cartesian Configuration... 13 Gambar 2.13 Ruang Kerja dari Cartesian... 13 Gambar 2.14 Perbedaan antara Forward dan Inverse Kinematics... 16 Gambar 2.15 Planar Elbow Manipulator 2 DOF... 18 Gambar 2.16 Menentukan Posisi dan Orientasi Inverse Kinematics... 20 Gambar 2.17 Planar Manipulator Robot 2-DOF... 21 Gambar 2.18 Fungsi Keanggotaan Kurva Segitiga... 24 Gambar 2.19 Fungsi Keanggotaan Kurva Trapesium... 25 Gambar 2.20 Fungsi Keanggotaan Kurva Gauss... 25 Gambar 2.21 Proses Kontroler Logika Fuzzy... 26 Gambar 2.22 Struktur Fungsi Keanggotaan Fuzzy... 27 Gambar 2.23 Struktur Neural Network... 29 Gambar 2.24 Struktur Kontroler Neuro-Fuzzy... 30 Gambar 3.1 Panjang Setiap Link Manipulator Robot Denso... 33 Gambar 3.2 Revolute Joint Robot Denso Manipulator... 34 Gambar 3.3 Struktur Neuro-Fuzzy... 41 Gambar 3.4 Himpunan Pendukung Fuzzy dx,dy dan dz... 41 Gambar 3.5 Fungsi Keanggotaan Defuzzyfikasi... 43 Gambar 3.6 Simulasi Manipulator Robot Denso... 45 Gambar 3.7 Desain Simulasi Forward Kinematics... 46 Gambar 3.8 Desain Simulasi Inverse Kinematics... 47 Gambar 4.1 Pergerakan Posisi Robot Denso Percobaan Simulasi 1... 50 Gambar 4.2 Pergerakan Posisi Robot Denso Percobaan Simulasi 2... 51 Gambar 4.3 Pergerakan Posisi Robot Denso Percobaan Simulasi 3... 52 Gambar 4.4 Pergerakan Posisi Awal Manipulator Robot... 53 Gambar 4.5 Pergerakan Posisi Pengujian 1 Manipulator Robot... 54 xv

Gambar 4.6 Pergerakan Posisi Awal Manipulator Robot... 55 Gambar 4.7 Pergerakan Posisi Pengujian 2 Manipulator Robot... 55 Gambar 4.8 Pergerakan Posisi Awal Manipulator Robot... 56 Gambar 4.9 Pergerakan Posisi Pengujian 3 Manipulator Robot... 57 Gambar 4.10 Pergerakan Posisi Awal Manipulator Robot... 58 Gambar 4.11 Pergerakan Posisi Pengujian 4 Manipulator Robot... 58 Gambar 4.12 Pergerakan Posisi Awal Manipulator Robot... 59 Gambar 4.13 Pergerakan Posisi Pengujian 5 Manipulator Robot... 60 Gambar 4.14 Hasil Pola Segitiga Yang Diinginkan... 64 Gambar 4.15 Hasil Pola Segitiga Neuro-Fuzzy... 66 Gambar 4.16 Pergerakan End Effector Manipulator Robot... 66 xvi

DAFTAR TABEL Tabel 2.1 Parameter DH Planar Elbow Manipulator 2 DOF... 18 Tabel 3.1 Parameter DH Manipulator Robot Denso... 35 Tabel 3.2 Indeks Parameter DH Manipulator Robot Denso... 35 Tabel 3.3 Tabel Mack Vicar Wheelan Untuk θ1... 42 Tabel 3.4 Tabel Mack Vicar Wheelan Untuk θ2... 42 Tabel 3.5 Tabel Mack Vicar Wheelan Untuk θ3... 42 Tabel 4.1 Hasil Percobaan 1 Forward Kinematics... 49 Tabel 4.2 Hasil Percobaan 2 Forward Kinematics... 50 Tabel 4.3 Hasil Percobaan 3 Forward Kinematics... 51 Tabel 4.4 Pengujian 1 Solusi Inverse Kinematics... 53 Tabel 4.5 Pengujian 2 Solusi Inverse Kinematics... 54 Tabel 4.6 Pengujian 3 Solusi Inverse Kinematics... 56 Tabel 4.7 Pengujian 4 Solusi Inverse Kinematics... 57 Tabel 4.8 Pengujian 5 Solusi Inverse Kinematics... 59 Tabel 4.9 Pengujian 1 Simulasi Hasil Solusi Inverse Kinematics... 61 Tabel 4.10 Pengujian 2 Simulasi Hasil Solusi Inverse Kinematics... 61 Tabel 4.11 Pengujian 3 Simulasi Hasil Solusi Inverse Kinematics... 62 Tabel 4.12 Pengujian 4 Simulasi Hasil Solusi Inverse Kinematics... 62 Tabel 4.13 Pengujian 5 Simulasi Hasil Solusi Inverse Kinematics... 62 Tabel 4.14 Error Posisi Target Pada Hasil Pengujian... 63 Tabel 4.15 Posisi Target x,y,z Untuk Membentuk Pola Segitiga... 64 Tabel 4.16 Posisi x,y,z Neuro-Fuzzy... 65 Tabel 4.17 Error Posisi Pola Segitiga... 65 xvii

-- Halaman ini sengaja dikosongkan -- xviii

BAB 1 PENDAHULUAN Bab ini menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan, dan dijelaskan juga mengenai metodologi pada penyusunan tugas akhir tentang inverse kinematics pada manipulator robot Denso menggunakan Neuro-Fuzzy. 1.1 Latar Belakang Robotika adalah salah satu teknologi yang berhubungan dengan desain, konstruksi, pembuatan dan aplikasi dari robot. Robotika terkait dengan ilmu pengetahuan dalam bidang mekanik, elektronika, kontrol, komputer dll. Salah satu aplikasi robot yang banyak digunakan dalam bidang industri adalah manipulator robot atau yang biasa disebut dengan lengan robot. Manipulator robot adalah robot lengan yang digunakan dalam bidang industri untuk melakukan beberapa tugas seperti untuk memindahkan tools, material, atau peralatan tertentu sesuai perintah yang telah diberikan program. Biasanya kebanyakan manipulator robot digunakan dalam bidang produksi. Fungsi manipulator robot dalam bidang industri pada umumnya ditujukan untuk menggantikan peran manusia dalam melaksanakan tugas-tugas yang membutuhkan tenaga yang besar/kuat, yang memerlukan ketelitian yang tinggi dan yang mengandung resiko tinggi terhadap keselamatan manusia. Pergerakan dari manipulator robot diatur sesuai perintah yang diberikan, yang biasanya adalah berupa letak objek di ruang kartesian. Ada dua gerakan pada sumbu manipulator robot yang menghasilkan pergerakan link yaitu sendi putar (revolute joint) dan sendi geser (prismatic joint). Jika serangkaian joint tersebut disatukan maka akan membentuk sebuah lengan robot yang dapat bergerak dalam jumlah derajat kebebasan (-n- degree of freedom). Struktur manipulator robot yang membentuk rangkaian kinematika dapat dianalisa dengan metode yang dikembangkan oleh Denavit and Hartenberg (DH). [1] Untuk mengatur pergerakan robot sesuai perintah, maka diperlukan analisa kinematika. Kinematika dalam robotika adalah suatu bentuk pernyataan yang berisi tentang deskripsi matematik geometri dari suatu struktur robot. Kinematika robot dapat diklasifikasikan menjadi dua jenis yaitu kinematika maju (forward kinematics) dan kinematika balik (inverse kinematics). Pada Tugas Akhir ini digunakan konsep dari 1

forward kinematics dan inverse kinematics dalam mengontrol daerah kerja sebuah robot manipulator. Karena daerah kerja dari forward kinematics berupa ruang joint, sedangkan dari inverse kinematics berupa ruang cartesian. Di dalam dunia industri, pada umumnya seringkali perintah kerja pada manipulator robot yang diberikan yaitu ke dalam bentuk ruang cartesian, sedangkan kontrollernya dalam ruang joint sehingga diperlukan penyelesaian mengenai inverse kinematics untuk merubah perintah kerja yang berada ruang cartesian ke dalam bentuk joint. Plant yang digunakan pada Tugas Akhir ini adalah manipulator robot Denso yang memiliki 6 derajat kebebasan (6-DOF) sehingga pergerakan dari setiap sendi harus dilakukan perhitungan besar sudut pada masing masing joint dari manipulator robot agar pergerakan yang dilakukan sesuai dengan perintah yang diberikan pada robot. Pada Tugas Akhir ini, permasalahan inverse kinematics akan diselesaikan menggunakan metode neuro-fuzzy [2] dalam menghitung besar sudut pada masing masing joint dari manipulator robot Denso. 1.2 Rumusan Masalah Rumusan masalah pada Tugas Akhir ini adalah bagaimana menentukan struktur neuro-fuzzy untuk menyelesaikan permasalahan inverse kinematics dan laju pembelajaran neuro-fuzzy. 1.3 Batasan Masalah Ada beberapa batasan-batasan yang terdapat dalam pembahasan tugas akhir ini yaitu: 1. Perhitungan dibatasi tidak sampai membahas singularity. Singularity menyebabkan nilai sudut pada masing masing joint tidak dapat ditemukan sehingga robot tidak dapat berjalan. 2. Plant yang diteliti untuk permasalahan inverse kinematics adalah manipulator robot Denso yang mempunyai pergerakan 6-DOF yang sifat semua jointnya revolute. Pergerakan manipulator robot denso dibagi atas dua bagian yaitu pergerakan posisi untuk 3-DOF awal dan pergerakan orientasi untuk 3-DOF selanjutnya. Pada Tugas Akhir ini hanya menggerakkan 3-DOF awal manipulator robot Denso untuk melihat pergerakan posisi dari end-effector. 3. Tidak mencakup perhitungan dinamika robot. 4. Pada penelitian ini akan digunakan metode neuro-fuzzy Mamdani. 2

1.4 Tujuan Penelitian Tujuan dari Tugas Akhir ini adalah untuk menghitung nilai sudut masing masing joint pada manipulator robot Denso 6-DOF. Dengan melakukan perhitungan inverse kinematics menggunakan neuro-fuzzy maka akan diperoleh nilai sudut pada masing masing joint sehingga pergerakan robot sesuai dengan posisi akhir yang diinginkan. Hasil yang diperoleh dari inverse kinematics akan diujikan ke dalam simulasi forward kinematics, sudut yang diperoleh akan menjadi input sehingga akan dihasilkan keluaran berupa posisi titik x,y,z. Posisi titik x,y,z tersebut harus sesuai dengan input dari inverse kinematics. Pada simulasi tersebut dapat dilihat pergerakan manipulator robot Denso yang dirancang dalam software Matlab 2013 yang dilengkapi toolbox Peter Corke versi 10. 1.5 Metodologi Metodologi yang digunakan dalam penyusunan Tugas Akhir ini adalah : 1. Studi Literatur Pada tahap ini, hal hal yang akan dipelajari yaitu mengetahui cara kerja dan spesifikasi dari manipulator robot sebagai plant dari Tugas Akhir ini. Kemudian, dilanjutkan menentukan pergerakan robot dengan menganalisa kinematika robot. Kinematika robot diklasifikasikan menjadi 2 bagian yaitu forward kinematisc dan inverse kinematics. Setelah mempelajari kinematika robot maka selanjutnya mempelajari metode neuro-fuzzy yang akan digunakan untuk menyelesaikan perhitungan kinematika balik. 2. Menentukan Parameter DH Pada tahap ini, diperlukan untuk menentukan dan menghitung nilai parameter dari manipulator robot Denso. Nilai parameter DH ini akan digunakan untuk merancang forward kinematics. Hasil dari forward kinematics adalah untuk mendapatkan posisi tujuan yang diinginkan dari end effector manipulator robot. Dari perancangan forward kinematics, posisi awal tersebut akan digunakan sebagai input dari inverse kinematics. 3. Penyelesaian Kinematika Balik dan Simulasi Setelah memperoleh hasil forward kinematics yang berupa posisi titik x,y,z dari end effector manipulator robot maka posisi awal yang 3

akan dituju harus dihitung nilai sudut dari masing - masing joint manipulator robot. Untuk menghitung nilai sudut agar end effector manipulator robot mencapai posisi titik tersebut maka persamaan inverse kinematics harus diselesaikan. Penyelesaian permasalahan inverse kinematics akan digunakan metode cerdas yaitu neuro-fuzzy yang akan dihitung didalam mfile software matlab 2013. 4. Simulasi Pergerakan Manipulator Robot Setelah solusi inverse kinematics telah didapatkan menggunakan neuro-fuzzy, maka langkah selanjutnya adalah melakukan pengujian pada simulasi forward kinematics, sudut yang diperoleh dari inverse kinematics akan menjadi input forward kinematics sehingga akan dihasilkan keluaran berupa posisi titik x,y,z. Posisi titik x,y,z tersebut harus sesuai dengan input dari inverse kinematics. Pada simulasi akan dihasilkan pergerakan manipulator robot Denso yang dirancang dalam software Matlab 2013. 5. Penulisan Buku Tugas Akhir Tahap penulisan buku Tugas Akhir terdiri dari pendahuluan, teori dasar, perancangan metode untuk menyelesaikan inverse kinematics, analisa dan hasil simulasi serta penutup yang berisikan kesimpulan dan saran untuk tugas akhir yang telah dikerjakan. 1.6 Sistematika Penulisan Pembahasan pada Tugas Akhir ini dibagi menjadi lima bab dengan sistematika penulisan sebagai berikut : Bab I : PENDAHULUAN Pada bab ini dijelaskan mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, sistematika penulisan, serta relevansi. Bab II : TEORI DASAR Bab ini menjelaskan tentang tinjauan pustaka, konsep dasar dan konfigurasi manipulator robot, kinematika robot yang terdiri dari kinematika maju (forward kinematics) dan kinematika balik (inverse kinematics), serta teori neuro-fuzzy untuk menghitung besar sudut pada masing masing joint untuk menyelesaikan permasalahan kinematika balik 4

Bab III Bab IV Bab V : PERANCANGAN SISTEM Bagian ini berisi cara menentukan parameter DH manipulator robot Denso. Parameter DH akan digunakan untuk mencari persamaan forward kinematics untuk mendapatkan posisi x,y,z yang diinginkan. Penyelesaian permasalaham inverse kinematics untuk mendapatkan sudut dari masingmasing joint manipulator robot Denso 6-DOF akan digunakan menggunakan neuro-fuzzy yang dihitung berdasarkan struktur lapisan neuro-fuzzy. : SIMULASI DAN ANALISA DATA Bab ini memuat tentang hasil simulasi beserta analisis data pada setiap pengujian forward kinematics dan solusi inverse kinematics dengan menggunakan neurofuzzy. : KESIMPULAN DAN SARAN Analisis yang dilakukan pada Bab IV akan diambil suatu kesimpulan. Saran diberikan sebagai bahan evaluasi untuk tahap penelitian selanjutnya. 1.7 Relevansi Hasil akhir yang diperoleh dari penelitian pada Tugas Akhir ini diharapkan dapat menjadi referensi dalam penelitian manipulator robot dibidang robotika. Selain itu, metode neuro-fuzzy ini dapat digunakan dalam menyelesaikan permasalahan inverse kinematics 3 DOF untuk menghitung besar sudut pada masing masing joint manipulator robot. 5

-- Halaman ini sengaja dikosongkan -- 6

BAB 2 TEORI DASAR Pada BAB ini, berisi tentang bahasan teori penunjang dari berbagai literature atau pustaka seperti buku dan paper yang mendukung penelitian ini. Beberapa aspek yang akan dibahas pada Bab ini meliputi tinjauan pustaka terkait penelitian robot manipulator Denso 6- DOF, klasifikasi robot, teori kinematika robot (forward dan inverse kinematics) serta teori mengenai sistem Neuro-Fuzzy. 2.1 Tinjauan Pustaka Robot adalah seperangkat alat mekanik yang dapat melakukan tugas fisik, baik dengan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan buatan). Istilah robot berawal bahasa Ceko robota yang berarti pekerja atau kuli yang tidak mengenal lelah atau bosan [1]. Pada dasarnya jenis robot berupa arm manipulator robot (lengan robot manipulator) yang dikontrol menggunakan perangkat komputer. Aplikasi robot hampir tidak dapat dipisahkan dengan industri sehingga muncul istilah robot industri atau robot manipulator. Definisi dari robot industri adalah suatu robot lengan (arm robot) yang diciptakan untuk berbagai keperluan dalam meningkatkan produksi, memiliki bentuk lengan-lengan kaku yang terhubung secara seri dan memiliki sendi yang dapat bergerak berputar (rotasi) atau memanjang/memendek (translasi atau prismatik). Dalam dunia mekanik, manipulator memiliki dua bagian, yaitu tangan atau lengan (arm) dan pergelangan (wrist). Ada dua jenis gerakan pada sumbu robot yang dapat menghasilkan pergerakan link yaitu revolute joint (sendi putar) dan prismatic joint (sendi geser). Serangkaian prismatic joint atau revolute joint disatukan untuk membentuk sebuah lengan manipulator yang mampu bergerak secara otomatis dalam jumlah derajat kebebasan (-n- degree of freedom). Untuk mengatur pergerakan robot sesuai perintah, maka diperlukan analisa kinematika. Kinematika robot adalah studi analitis pergerakan lengan robot terhadap sistem kerangka yang diam/bergerak tanpa memperhatikan gaya yang mempengaruhi pergerakannya. Kinematika robot dapat diklasifikasikan menjadi dua jenis yaitu kinematika maju (forward kinematics) dan kinematika balik (inverse kinematics). Inverse kinematics merupakan masalah utama dalam robotika, karena memberikan kontribusi untuk konversi dari ruang cartesian ke 7

ruang joint. Inverse kinematics dapat menjelaskan perhitungan sudut joint yang berhubungan dengan posisi dan orientasi end-effector. Dalam hal ini solusi inverse kinematics akan diselesaikan menggunakan metode neuro-fuzzy untuk menentukan sudut yang diinginkan pada masingmasing joint dari robot manipulator. Desain untuk simulasi forward kinematics dan inverse kinematics menggunakan software simulink matlab 2013. 2.2 Manipulator Robot Denso Robot denso manipulator mempunyai pergerakan 6-DOF, dimana pergerakan robot denso mempunyai sifat semua jointnya revolute (sendi putar). Pergerakan posisi robot ditentukan dari pergerakan 3-DOF awal robot, sedangkan pergerakan orientasi endeffector ditentukan dari pergerakan 3-DOF selanjutnya. Bagian endeffector pada robot ini dapat dikombinasikan dengan berberapa peralatan yang diinginkan, misal robot akan digunakan untuk membuat lubang maka bagian end-effector dapat ditambahkan bor (drill) dan sebagainya. Bentuk keseluruhan dari robot manipulator Denso 6-DOF dapat dilihat pada Gambar 2.1 [3]. Gambar 2.1 Robot manipulator Denso 6-DOF VP-6242G Prinsip gerakan robot 6-DOF dibagi menjadi dua, yaitu gerakan untuk menentukan posisi robot dan gerakan pergelangan robot. Posisi robot ditentukan berdasarkan gerakan sendi 1 sampai 3, sedangkan gerakan luar pergelangan tangan (wrist) didasarkan pada gerakan sendi 4 sampai 6. Pergerakan dari sendi sendi tersebut mempengaruhi ruang kerja dari robot tersebut. 8

Perancangan desain untuk pergerakkan robot membutuhkan sistem mekanik seperti hidraulik dan elektrik. Pada robot Denso 6-DOF memiliki tuas pengendali / Haptic Device yang memungkinkan untuk menggerakkan tiap sendi pada robot yang telah diintegrasikan sebelumnya dengan Denso Controller. Desain pemodelan pada robot manipulator dirancang berdasarkan DH-Parameter yang terbentuk dari robot. 2.3 Bentuk Sendi Manipulator robot adalah sistem mekanik yang menunjukkan pergerakan dari robot. Sistem mekanik ini terdiri dari susunan link (rangka) dan joint (engsel) yang mampu menghasilkan gerakan. Sendi pada robot berfungsi untuk menghubungkan dua link, antara link tersebut dapat menentukan arah putaran yang diinginkan sesuai dengan bentuk sendi dari manipulator robot. Secara umum sendi pada robot dapat didefinisikan menjadi dua bentuk, yaitu [4] : 1. Sendi Putar (Revolute Joint) Revolute joint adalah sendi yang dapat bergerak secara berputar / rotasi. Bentuk umum sendi putar dapat dilihat pada Gambar 2.2. Gambar 2.2 Bentuk Revolute Joint 2. Sendi Geser (Prismatic Joint) Prismatic joint adalah sendi yang bergerak secara translasi atau disebut dengan sendi geser. Bentuk umum sendi geser dapat dilihat pada Gambar 2.3. Gambar 2.3 Bentuk Prismatic Joint 9

2.4 Konfigurasi Manipulator Robot Secara umum struktur robot dapat dibedakan menurut sumbu koordinat yang digunakan, terdapat 5 klasifikasi robot yaitu [5] : 1. Articulated Configuration (RRR) Articulated robot sering juga disebut dengan sendi putar (revolute). Struktur dari sendi articulated bersifat revolute joint. Konfigurasi articulated hampir memiliki pergerakan yang sama dengan pergerakan lengan manusia, dan hal ini memberikan fleksibilitas atau derajat kebebasan yang tinggi dalam mengakses objek. Pada Gambar 2.4 dan 2.5 merupakan struktur dan ruang kerja dari articulated. Gambar 2.4 Struktur dari Articulated Configuration Gambar 2.5 Ruang Kerja dari Articulated 2. Spherical Configuration (RRP) Konfigurasi spherical terdiri dari dua revolute joint dan satu prismatic joint. Daerah kerja dari spherical merupakan bagian bola 10

berongga termasuk juga basis pendukungnya dari manipulator dan dengan demikian bisa memungkinkan manipulasi objek dilantai. Hal ini dapat dilihat pada Gambar 2.6 dan 2.7. Gambar 2.6 Struktur dari Spherical Configuration Gambar 2.7 Ruang Kerja dari Spherical 3. SCARA Configuration (RRP) SCARA (Selective Compliant Articulatedd Robot for Assembly) konfigurasinya disesuaikan dengan operasi perakitan. Konfigurasi ini terdiri dari 2 revolute dan 1 prismatic joint. Konfigurasi SCARA didesain untuk memberikan pergerakan pada arah horizontal. Aplikasi robot SCARA dapat digunakan untuk pemindahan barang (assembly). Struktur dari SCARA dapat dilihat pada Gambar 2.8 dan 2.9. 11

Gambar 2.8 Struktur dari SCARA Configuration Gambar 2.9 Ruang Kerja dari SCARA 4. Cylindrical Configuration (RPP) Konfigurasi cylindrical terdiri dari 1 revolute dan 2 prismatic joint. Konfigurasi ini memiliki kemampuan yaitu kecepatan pergerakan yang lebih tinggi pada bidang horizontal dibandingkan dengan sistem cartesian yang dapat dilihat pada Gambar 2.10 dan 2.11. Gambar 2.10 Struktur dari Cylindrical Configuration 12

Gambar 2.11 Ruang Kerja dari Cylindrical 5. Cartesian Configuration (PPP) Manipulator yang tiga joint pertamanya bersifat prismatic. Cartesian memiliki struktur konfigurasi yang paling kaku. Hal ini sangat menguntungkan untuk mengangkat beban yang berat dan pengulangan yang tinggi pada seluruh area pergerakan. Pada Gambar 2.12 dan 2.13 merupakan struktur dan daerah kerja dari cartesian. Gambar 2.12 Struktur dari Cartesian Configuration Gambar 2.13 Ruang Kerja dari Cartesian 13

2.5 Transformasi Homogen Sebuah konfigurasi robot akan menghasilkan gerakan yang berbeda dengan konfigurasi robot lainnya sehingga diperlukan cara untuk menganalisa gerakan dari robot tersebut. Untuk menganalisa gerakan manipulator robot biasanya digunakan pendekatan transformasi geometri pada sistem koordinat. Transformasi ini disesuaikan dengan sifat masingmasing bagian mekanik penyusun manipulator robot terutama joint robot. Pada manipulator robot ketika tiap joint bergerak maka end - effector juga akan ikut bergerak. Pergeseran end - effector berpengaruh pada posisinya, sedangkan gerakan memutar berpengaruh pada orientasinya. Untuk memudahkan analisa, maka diperlukan suatu bentuk transformasi yang bisa memetakan posisi dan orientasi dari end effector manipulator robot. Transformasi yang bisa memetakan posisi dan orientasi secara bersamaan adalah transformasi homogen. Transformasi Homogen adalah matriks untuk merepresentasikan nilai posisi dan rotasi dari sebuah link. Posisi dan orientasi merupakan dua konsep yang digabungkan untuk mendefenisikan transformasi homogen. Dasar dari transformasi homogen akan menghasilkan translasi dan rotasi terhadap sumbu x,y,z pada Persamaan 2.1 2.6 [1]. 1 0 0 0 0 c Rot x,α = [ α s α 0 ] (2.1) 0 s α c α 0 0 0 0 1 c β 0 s β 0 0 1 0 0 Rot y,β = [ ] (2.2) s β 0 c β 0 0 0 0 1 c θ s θ 0 0 s Rot z,θ = [ θ c θ 0 0 ] (2.3) 0 0 1 0 0 0 0 1 1 0 0 a 0 1 0 0 Trans x,a = [ ] (2.4) 0 0 1 0 0 0 0 1 14

1 0 0 0 0 1 0 b Trans y,b = [ ] (2.5) 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 Trans z,c = [ ] (2.6) 0 0 1 c 0 0 0 1 Matriks rotasi dan translasi tersebut akan membentuk matriks transformasi homogen yang berdimensi 4x4 dimana R 3x3 merupakan matriks rotasi dan P 3x1 merupakan matriks posisi yang menyatakan pergerakan end-effector terhadap base frame. Bentuk umum dari transformasi homogen dapat ditulis dalam Persamaan 2.7 dan 2.8 [1]. R 3x3 P 3x1 Rotation Translation H = [ ] = [ ] (2.7) f 1x3 s 1x1 perspective scale factor n x s x a x p x n H = [ y n z s y s z a y a z p y n s a p ] = [ p z 0 0 0 1 ] (2.8) 0 0 0 1 2.6 Kinematika Robot Kinematika robot adalah suatu bentuk deskripsi geometri matematik dari sebuah robot yang menerangkan antara konsep geometri ruang sendi dengan konsep koordinat yang digunakan untuk menentukan posisi dari suatu objek yang dilihat dari ruang 3 dimensi. Kinematika dibagi menjadi dua bagian yaitu kinematika maju (forward kinematics) dan kinematika balik (inverse kinematics). Jika input yang diberikan ke model kinematik adalah berupa besar sudut pada masing masing joint maka akan di ketahui posisi titik x,y,z pada robot, hal ini disebut dengan forward kinematics sedangkan jika input yang diberikan berupa posisi sumbu x, y dan z kemudian di modelkan dengan kinematika untuk menentukan berapa besar sudut pada masing masing joint yang harus dicapai agar bisa berada pada posisi yang diinginkan, hal ini disebut dengan inverse kinematics. Hubungan antara forward dan inverse kinematics ditunjukkan pada Gambar 2.14 [4]. 15

Gambar 2.14 Perbedaan antara Forward dan Inverse Kinematics 2.6.1 Forward Kinematics Forward kinematics digunakan untuk menentukan posisi dan orientasi end effector apabila variabel sudut jointnya telah diketahui. Variabel sudut joint yang diberikan diubah ke dalam posisi dan orientasi end effector yang ditujukan untuk koordinat referensi. Forward kinematics merupakan suatu fungsi yang memetakan sudut terhadap posisi. Orientasi menyatakan rotasi end effector terhadap base frame sedangkan koordinat posisi menyatakan letak end effector terhadap base frame. Dengan menggunakan metode kinematika pemodelan dari suatu gerakan menjadi lebih mudah untuk diselesaikan. Metode yang paling umum untuk mencari persamaan forward kinematics adalah dengan menggunakan metode Denavit Hartenberg (DH). Aturan Denavit Hartenberg (DH) memberikan langkah langkah yang mudah untuk mencari nilai kinematika maju. Pada aturan ini menyatakan bahwa tiap matriks transformasi homogen dinyatakan sebagai perkalian dari empat transformasi dasar yang melibatkan link dan joint robot. Berikut ini parameter link yang digunakan dalam kaidah Denavit Hartenberg (DH) sebagai berikut [1] : a i : jarak sepanjang x i dari o i ke perpotongan dari sumbu x i dan z i 1 d i : jarak sepanjang z i 1 dari o i 1 ke perpotongan dari sumbu x i dan z i 1. d i adalah variabel jika sendi i adalah sendi prismatik. α i : sudut antara z i 1 dan z i diukur terhadap x i. θ 1 : sudut antara x i 1 dan x i diukur terhadap z i. θ 1 adalah variabel jika sendi adalah revolute. Adapun langkah - langkah untuk memperoleh forward kinematics menggunakan aturan Denavit Hartenberg [1] adalah sebagai berikut : Langkah 1: Menempatkan dan memberikan label pada sendi berupa sumbu z0,... z n 1. Langkah 2: Menetapakan base frame. Menentukan origin pada sumbu z 0. Sumbu x 0 dan z 0 dipilih secara sembarang untuk i 16

membentuk right-hand frame. Langkah 3: Menempatkan origin ke dan memotong. Langkah 4: Menetapkan sepanjang common normal antara dan melalui. Langkah 5: Menetapkan untuk melengkapi right-hand frame. Langkah 6: Menetapkan end-effector frame pada on xn ynz. n Langkah 7: Membuat sebuah tabel dari parameter link a i, d i, α i, θ i Langkah 8: Membentuk matriks transformasi homogen dengan melakukan substitusi parameter a i, d i, α i, θ i n Langkah 9: Membentuk matriks forward kinematics T... 0 A1 A n. Matriks ini memberikan posisi dan orientansi dari tool frame yang diekspresikan dalam koordinat dasar. z i o i x i y i o i Untuk kaidah DH, setiap transformasi homogen direpresentasikan sebagai sebuah hasil dari empat transformasi dasar. Hal ini dapat dilihat dalam Persamaan 2.9 dan 2.10 [1]. z i zi 1 z i zi 1 A i = Rot z,θi Trans z,di Trans x,ai Rot x,αi c θi -s θi 0 0 1 0 0 0 1 0 0 a i 1 0 0 0 s A i = [ θi c θi 0 0 0 1 0 0 ] [ ] [ 0 1 0 0 0 c ] [ αi -s αi 0 ] 0 0 1 0 0 0 1 d i 0 0 1 0 0 s αi c αi 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 c θi s θi c αi s θi s αi a i c θi s θi c θi c αi c θi s αi a i s θi A i = [ ] = [ R i p i 0 s αi c αi d i 0 1 ] (2.9) 0 0 0 1 T 0 n = A 1 A 2 A 3... A n (2.10) Forward kinematics dinyatakan dalam matriks transformasi homogen seperti pada persamaan 2.8, dimana R 3x3 merupakan matriks rotasi dan P 3x1 merupakan matriks posisi yang menyatakan pergerakan end effector terhadap base frame. Contoh perhitungan forward kinematics Planar Elbow Manipulator : Pada Gambar 2.15 dua link planar arm, sumbu pada joint z 0 dan z 1 tidak ditampilkan. Frame dasar yang adalah sumbu o 0 x 0 y 0 z 0. Untuk 17

mementukan titik berikutnya dapat menggunakan langkah-langkah dari parameter DH. Dengan tahapan langkah-langkah tersebut maka dibuat tabel parameter DH yang dapat dilihat pada Tabel 2.1 [1]. Gambar 2.15 Planar Elbow Manipulator 2 DOF Tabel 2.1 Parameter DH Planar Elbow Manipulator 2 DOF Link a i α i d i θ i 1 a 1 0 0 θ 1 2 a 2 0 0 θ 2 Setelah dibuatnya tabel parameter DH yang ditentukan dari Gambar 2.15 maka dengan representasi parameter DH menggunakan transformasi homogen dari parameter tabel tersebut akan dibuat sebuah persamaan matriks homogennya. Hal ini dapa dilihat pada Persamaan 2.11 dan 2.12. c 1 s 1 0 a 1 c 1 s A 1 = [ 1 c 1 0 a 1 s 1 ] (2.11) 0 0 1 0 0 0 0 1 c 2 s 2 0 a 2 c 2 s A 2 = [ 2 c 2 0 a 2 s 2 ] (2.12) 0 0 1 0 0 0 0 1 18

Setelah persamaan tersebut diperoleh, maka akan dibentuk matriks forward kinematics yang dapat dilihat pada Persamaan 2.13. c 12 s 12 0 a 1 c 1 + a 2 c 12 T 2 s 0 = A 1 A 2 = [ 12 c 12 0 a 1 s 1 + a 2 s 12 ] (2.13) 0 0 1 0 0 0 0 1 Pada Persamaan 2.13, kolom ke-4 matriks tersebut merupakan posisi yang akan diinginkan dari robot 2 link planar manipulator. Posisi yang didapat dari matriks disebut dengan p x dan p y, karena pada forward kinematics ini hanya menetukan posisi yang akan dituju oleh end-effector robot. Hal ini dapat dilihat pada Persamaan 2.14. p x = a 1 c 1 + a 2 c 12 ; p y = a 1 s 1 + a 2 s 12 (2.14) 2.6.2 Inverse Kinematics Inverse kinematics digunakan untuk mengetahui sudut-sudut tiap joint pada saat posisi orientasi end effector terhadap sumbu base diketahui. Secara garis besar metode inverse kinematics akan mencari nilai-nilai parameter yang harus diberikan kepada setiap aktuator untuk mencapai tujuan akhir. Untuk mendapatkan nilai-nilai parameter tersebut, robot harus mengetahui terlebih dahulu manipulator yang dimilikinya serta derajat kebebasan robot. Permasalahan inverse kinematics adalah posisi dan orientasi end-effector manipulator robot. Permasalahan tersebut, memungkinkan untuk menghitung semua sudut pada masing masing joint yang dapat digunakan untuk mencapai posisi dan orientasi dari end-effector manipulator robot. Dalam mencari penyelesaian inverse kinematics memiliki beberapa solusi dan bisa tidak memiliki solusi penyelesaiannya. Pada Gambar 2.16 adalah masalah mendasar dari penggunaan manipulator robot [5]. 19

Gambar 2.16 Menentukan Posisi dan Orientasi Inverse Kinematics Permasalahan inverse kinematics tidak sesederhana dari forward kinematics karena persamaannya yang kompleks. Sebuah manipulator dapat dipecahkan jika variabelnya dapat ditentukan dengan suatu algoritma. Algoritma tersebut memungkinkan untuk menentukan semua variabel yang berkaitan dengan posisi dan orientasi. Oleh karena itu permasalahan dari inverse kinematics tersebut dapat diselesaikan dengan beberapa metode : 1. Pendekatan Numerik Pada umumnya pendekatan numeric tidak mengutamakan diperoleh solusi yang tepat, tetapi mengusahakan perumusan metode yang menghasilkan solusi pendekatan yang berbeda dari solusi yang tepat sebesar suatu nilai yang dapat diterima. Pendekatan numeric memanfaatkan perangkat komputer untuk melakukan perhitungan secara berulang ulang agar memperoleh solusi inverse kinematics. Komputer akan menghitung semua kemungkinan solusi secara berulang ulang sampai diperoleh suatu solusi yang sesuai untuk sudut sudut setiap joint yang dibutuhkan agar bisa mencapai posisi dan orientasi yang diinginkan. 2. Pendekatan Geometri Pendekatan geometri didasarkan pengkomposisian ruang geometri dari manipulator robot ke beberapa permasalahan untuk cakupan geometrinya. Contoh seperti pada Gambar 2.17 Planar Manipulator Robot 2-DOF. 20

Gambar 2.17 Planar Manipulator Robot 2-DOF Dari gambar tersebut dapat dihitung persamaan untuk menyelesaikan inverse kinematics : p x = l 1 cθ 1 + l 2 cθ 12 (2.15) p y = l 1 sθ 1 + l 2 sθ 12 (2.16) Dimana cθ 12 = cθ 1 cθ 2 sθ 1 sθ 2 dan sθ 12 = sθ 1 cθ 2 + cθ 1 sθ 2 Untuk menentukan nilai θ 2, yaitu kuadratkan persamaan 2.15 dan 2.16 kemudian jumlahkan kedua persamaan tersebut. p x 2 = l 1 2 c 2 θ 1 + l 2 2 c 2 θ 12 + 2l 1 l 2 cθ 1 cθ 12 p y 2 = l 1 2 s 2 θ 1 + l 2 2 s 2 θ 12 + 2l 1 l 2 sθ 1 sθ 12 p x 2 + p y 2 = l 1 2 (c 2 θ 1 + s 2 θ 1 ) + l 2 2 (c 2 θ 12 + s 2 θ 12 ) + 2l 1 l 2 (cθ 1 cθ 12 + sθ 1 sθ 12 ) (2.17) Sederhanakan persamaan 2.17, dimana cθ 12 = cθ 1 cθ 2 sθ 1 sθ 2 ; sθ 12 = sθ 1 cθ 2 + cθ 1 sθ 2 ; dan c 2 θ 1 + s 2 θ 1 = 1 p x 2 + p y 2 = l 1 2 + l 2 2 + 2l 1 l 2 (cθ 1 [cθ 1 cθ 2 sθ 1 sθ 2 ] + sθ 1 [sθ 1 cθ 2 + cθ 1 sθ 2 ]) p x 2 + p y 2 = l 1 2 + l 2 2 + 2l 1 l 2 (c 2 θ 1 cθ 2 cθ 1 sθ 1 sθ 2 + s 2 θ 1 cθ 2 + cθ 1 sθ 1 sθ 2 ) p x 2 + p y 2 = l 1 2 + l 2 2 + 2l 1 l 2 (cθ 2 [c 2 θ 1 + s 2 θ 1 ]) p x 2 + p y 2 = l 1 2 + l 2 2 + 2l 1 l 2 cθ 2 (2.18) 21

Maka diperoleh, persamaan 2.19 cθ 2 = p x 2 + p y 2 l 1 2 l 2 2 2l 1 l 2 (2.19) Karena c 2 θ i + s 2 θ i = 1 (i = 1,2,3,. ), maka diperoleh persamaan 2.20 sθ 2 = ± 1 ( p x 2 + p 2 y l 2 2 2 1 l 2 ) 2l 1 l 2 (2.20) Sehingga diperoleh persamaan 2.21 untuk menentukan nilai θ 2 θ 2 = Atan2 (sinθ 2, cosθ 2 ) (2.21) Untuk menentukan nilai θ 1, kalikan persamaan 2.15 dengan cθ 1 dan persamaan 2.16 dengan sθ 1 kemudian jumlahkan kedua persamaan. cθ 1 p x = l 1 c 2 θ 1 + l 2 c 2 θ 2 cθ 2 l 2 cθ 1 sθ 1 sθ 2 sθ 1 p y = l 1 s 2 θ 1 + l 2 s 2 θ 2 cθ 2 + l 2 sθ 1 cθ 1 sθ 2 cθ 1 p x + sθ 1 p y = l 1 (c 2 θ 1 + s 2 θ 1 ) + l 2 cθ 2 (c 2 θ 1 + s 2 θ 1 ) Sederhanakan, sehingga diperoleh persamaan 2.22 : cθ 1 p x + sθ 1 p y = l 1 + l 2 cθ 2 (2.22) Langkah selanjutnya, kalikan persamaan 2.15 dengan sθ 1 dan persamaan 2.16 dengan cθ 1 kemudian jumlahkan kedua persamaan. sθ 1 p x = l 1 sθ 1 cθ 1 l 2 sθ 1 cθ 12 + l 2 s 2 θ 1 sθ 2 cθ 1 p y = l 1 sθ 1 cθ 1 + l 2 cθ 1 sθ 1 cθ 2 + l 2 c 2 θ 1 sθ 2 sθ 1 p x + cθ 1 p y = l 2 sθ 2 (c 2 θ 1 + s 2 θ 1 ) Sederhanakan, sehingga diperoleh persamaan 2.23 : sθ 1 p x + cθ 1 p y = l 2 sθ 2 (2.23) Kalikan persamaan 2.22 dengan p x dan persamaan 2.23 dengan p y dan tambahkan hasil kedua persamaan untuk menentukan cθ 1 cθ 1 p x 2 + sθ 1 p x p y = p x (l 1 + l 2 cθ 2 ) sθ 1 p x p y + cθ 1 p y 2 = p y l 2 sθ 2 cθ 1 (p x 2 + p y 2 ) = p x (l 1 + l 2 cθ 2 ) + p y l 2 sθ 2 cθ 1 = p x (l 1 + l 2 cθ 2 ) + p y l 2 sθ 2 (p x 2 + p y2 ) 22

sθ 1 = ± 1 ( p x (l 1 + l 2 cθ 2 ) + p y l 2 sθ 2 ) (p 2 x + p y2 ) Dari kedua persamaan, diperoleh persamaan 2.24 maka nilai θ 1 θ 1 = Atan2 (sinθ 1, cosθ 1 ) (2.24) Persamaan 2.15-2.24 merupakan perhitungan inverse kinematics berdasarkan dari bentuk geometri robot sehingga diperoleh nilai θ 1 dan θ 2 2.7 Fuzzy Logic Logika fuzzy adalah salah satu bentuk pendekatan dimana representasi suatu kejadian didistribusikan kedalam sejumlah istilah bahasa (yang dinyatakan dalam level kualitatif) dengan nilai kebenaran yang terletak antara 0 sampai 1.Teori sistem fuzzy dikembangkan oleh Lotfi Zadeh dari University of California Barkeley pada tahun 1965. Konsep logika fuzzy menggantikan konsep benar-salah dari logika boolean menjadi derajat tingkat kebenaran. Oleh karena itu, konsep logika fuzzy sesuai dengan pola pikir manusia yang cenderung menilai suatu objek secara samar. 2.7.1 Himpunan Fuzzy Himpunan fuzzy adalah rentang nilai antara salah dan benar untuk setiap anggotanya atau suatu himpunan yang beranggotakan sejumlah istilah dalam pengertian bahasa yang menyatakan level kualitatatif dari semesta pembicaraan. Misalkan pengukuran kecepatan motor dapat didistribusikan kedalam beberapa istilah bahasa yang menyatakan level kualitatif dari kecepatan motor, maka semesta pembicaraan untuk kecepatan motor dapat dibuat dalam bentuk suatu himpunan fuzzy yaitu Sangat Lambat, Lambat, Sedang, Cepat dan Sangat Cepat [7]. 2.7.2 Fungsi Keanggotaan Fuzzy Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemetaan titik titik input ke dalam tingkat keanggotaan dengan nilai antara 0-1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai kenaggotaan adalah dengan melalu pendekatan fungsi. Fungsi keanggotaan yang biasa digunakan untuk merepresentasikan nilai keanggotan dari suatu himpunan fuzzy yaitu representasi kurva segitiga, 23

representasi kurva trapesium, representasi kurva gauss, representasi kurva-s dan representasi kurva lainnya [8]. Fungsi Keanggotaan Segitiga Fungsi keanggotaan segitiga ditentukan oleh tiga parameter {a, b, c} seperti yang ditunjukkan pada persamaan (2.25) sedangkan fungsi keanggotaan segitiga terlihat pada Gambar 2.18. μ(x) = { 0, x < a, a x b x a b a c x c b, b x c 0, x > c (2.25) Gambar 2.18 Fungsi Keanggotaan Kurva Segitiga Fungsi Keanggotaan Trapesium Berbeda dengan fungsi keanggotaan segitiga yang ditentukan oleh tiga parameter, fungsi keanggotaan trapesium ditentukan oleh 4 parameter yaitu {a, b, c, d} seperti yang pada persamaan (2.26) dan fungsi keanggotaan trapesium terlihat pada Gambar 2.19. 0, x < a, a x b x a b a μ(x) = 1, b x c c x, c x d c b { 0, x > d (2.26) 24

Gambar 2.19 Fungsi Keanggotaan Kurva Trapesium Fungsi Keanggotaan Gaussian Fungsi Keanggotaan Gaussian bergantung pada dua parameter yaitu{σ, c}. Parameter σ(standar deviasi) mendefinisikan lebar fungsi keanggotaan dan c menentukan pusat fungsi kenggotaan. Derajat keanggotaannya ditentukan sebagai berikut : μ(x) = e (x c σ )2 (2.27) Gambar 2.20 Fungsi Keanggotaan Kurva Gauss 2.7.3 Operasi Himpunan Fuzzy Operasi himpunan fuzzy dilakukan untuk mengoperasikan fungsi keanggotaan yang satu dengan yang lain. Terdapat beberapa operator fuzzy yaitu operasi (AND), union (OR), komplemen (NOT), dan operasi lainnya. Misalkan terdapat dua himpunan fuzzy, yaitu A dan B dengan fungsi keanggotaan μ A dan μ B maka operasi himpunan fuzzy didefinisikan sebagai berikut [8] : 1. Operasi (AND) Operator ini berhubungan dengan operasi interseksi pada himupnan. Hasil operasi dengan operator AND diberikan operasi minimum dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan 25

himpunan yang bersangkutan. Jika menggunakan operator minimum maka hasil operasi dapat dinyatakan sebagai berikut : μ A B (x) = min{μ A (x), μ B (x)}, x X (2.28) 2. Union (OR) Operator ini berhubungan dengan operasi union pada himpunan. Hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan himpunan yang bersangkutan. Jika operator yang digunakan adalah operator maximum, maka fungsi keanggotaannya sebagai berikut : μ A B (x) = max{μ A (x), μ B (x)}, x X (2.29) 3. Komplemen (NOT) Operasi komplemen pada sebuah himpunan fuzzy adalah hasil dari 1 dikurangi dengan fungsi keanggotaan dari himpunan fuzzy. μ A = 1 μ A (x), x X (2.30) 2.7.4 Kontroler Logika Fuzzy Kontroler logika fuzzy merupakan suatu kontroler yang proses perhitungan sinyal kontrolnya dilakukan melalui operasi himpunan fuzzy meliputi proses fuzzifikasi, operasi dan relasi fuzzy, inferensi fuzzy serta defuzzifikasi seperti terlihat pada Gambar 2.21. Gambar 2.21 Proses Kontroler Logika Fuzzy 26

Proses di dalam himpunan fuzzy pada kontroler fuzzy antara lain sebagai berikut : 1. Fuzzifikasi Proses pengubahan nilai input menjadi nilai fuzzy yang memiliki nilai antara 0 s/d 1. Aktivasi nilai fuzzy dilakukan dengan menggunakan fungsi keanggotaan fuzzy. Struktur fungsi keanggotaan fuzzy dapat dilihat pada Gambar2.20. Fungsi keanggotaan mendefinisikan nilai fuzzy dengan melakukan pemetaan nilai tegas berdasarkan daerahnya untuk diasosiasikan dengan derajat keanggotaan. Jumlah fungsi keanggotaan fuzzy akan berpengaruh pada output kontroler fuzzy. Gambar 2.22 Struktur Fungsi Keanggotaan Fuzzy 2. Fuzzy Rule Base Basis aturan (rule base) merupakan deskripsi linguistik terhadap variabel input dan output. Pemetaan input dan output pada sistem fuzzy direpresentasikan dalam If Premise Then Consequent. Jumlah basis aturan dari suatu sistem fuzzy ditentukan dari jumlah variabel pada input dan jumlah membership function pada variabel masukkan yang dirumuskan dalam Persamaan 2.31. Π n i=1 N i = N 1 xn 2 xn 3 x xn n (2.31) Dimana N i merupakan jumlah membership function pada variabel input i. Sebagai contoh apabila variabel input pertama memiliki tiga membership function dan variabel input kedua memiliki tiga membership function, maka jumlah basis aturan adalah 3x3 = 9 aturan. 3. Fuzzy Inference Terdapat beberapa tipe mekanisme inferensi fuzzy antara lain Mamdani, Larsent dan Takagi sugeno. Perbedaan dari metode ini terletak pada pengambilan kesimpulan logika fuzzy. Pada metode Mamdani 27

maupun Larsent, kesimpulan logika fuzzy berupa derajat keanggotaan sehingga dalam menyimpulkan suatu logika fuzzy dibutuhkan proses defuzzifikasi sedangkan pada Takagi Sugeno, kesimpulan logika fuzzy berupa suatu persamaan sehingga tidak diperlukan proses defuzzifikasi. 4. Defuzzifikasi Defuzzifikasi merupakan suatu proses mentransformasikan harga fuzzy hasil dari inferensi fuzzy ke dalam harga bukan fuzzy atau harga aktual. Beberapa metode dalam proses defuzzifikasi yaitu Center of Area, Mean of Maxima, dan lainnya Center of Area Metode center of area digunakan untuk menentukan nilai titik tengah area yang merupakan titik pusat massa dari kombinasi fungsi-fungsi keanggotaan. Secara umum, persamaan untuk metode Center of Area ditunjukkan dengan Persamaan 2.32. m u k (T) μ u (u k (T)) U = k=1 0 m, u U(T) μ k (u k (T)) k=1 (2.32) Mean of Maxima Metode mean of maxima mengambil semua nilai tiap fungsi keanggotaan dengan derajat keanggotaan maksimum dan menghitung rata-rata dari nilai-nilai tersebut sebagai keluaran tegas. Persamaan 2.33 menunjukkan persamaan umum metode tersebut. n max(μ A ).y n Uo= n n max(μ A ) n (2.33) 2.8 Jaringan Syaraf Tiruan Jaringan Syaraf Tiruan (JST) merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran. Istilah buatan disini digunakan karena jaringan syaraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Proses komputasi pada jaringan syaraf tiruan ini dipelajari 28

dari struktur dan cara kerja otak manusia. Pada jaringan syaraf otak manusia, informasi disalurkan dari satu neuron ke neuron lainnya. Sementara pada jaringan syaraf tiruan proses penyaluran informasi dari satu neuron ke neuron lainnya diimplementasikan pada program komputer. Proses pelatihan jaringan syaraf tiruan, umumnya menggunakan metode pelatihan backpropagation yang sudah banyak diterapkan pada semua proses pelatihan yang sederhana sampai yang rumit. [8] Metode pelatihan backpropagation termasuk ke dalam metode pelatihan terawasi (supervisory learning). Supervisory learning adalah metode pelatihan yang memasukan target keoutput dalam data untuk proses pelatihannya. Metode backpropagation banyak diaplikasikan dalam berbagai proses karena metode ini didasarkan pada interkoneksi yang sederhana. Apabila output jaringan syaraf tiruan tidak sesuai dengan keoutput yang diinginkan, maka metode backpropagation akan memperbaiki niai bobot (weight) yang ada pada lapisan tersembunyi (hidden layer) untuk mencapai ke output jaringan syaraf tiruan yang sesuai dengan target ke output. Pada dasarnya jaringan syaraf tiruan akan diberikan pola masukan sebagai pola pelatihan maka pola akan menuju ke unit-unit lapisan tersembunyi (hidden layer) dan akan diteruskan ke lapisan output. Struktur jaringan syaraf tiruan dapat dilihat pada Gambar 2.23. Gambar 2.23 Struktur Neural Network 29

2.9 Neuro-Fuzzy Neuro-fuzzy adala sistem hibrida atau gabungan dari dua sistem yaitu sistem logika fuzzy dan jaringan syaraf tiruan. Pada neuro-fuzzy, logika fuzzy akan direpresentasikan dalam jaringan syaraf tiruan yang memungkinkan terjadinya pembelajaran di dalamnya dan akan terjadi perubahan bobot untuk mengubah parameter pada logika fuzzy [9]. Gambar 2.24 Struktur Kontroler Neuro-Fuzzy Struktur neuro-fuzzy terdapat dua tahapan yaitu forward propogation dan backward propogation. Forward Propagation [10] Lapisan 1: Tiap-tiap neuron i pada lapisan pertama adaptif terhadap parameter suatu fungsi aktivasi. Output dari tiap neuron berupa derajat keanggotaan yang diberikan oleh fungsi keanggotaan input. Fungsi simpul pada lapisan ini adalah : O 1,i = μai (x) untuk i = 1,2 (2.34) O 1,i = μbi (y) untuk i = 1,2 (2.35) Lapisan 2 : Pada tahap ini berlaku operasi perkalian (AND) antara nilai fuzifikasi dari titik yang ada sebelumnya sebagai proses implikasi fuzzy. Persamaan keluaran pada simpul tetap ini adalah : O 2,i = w i = μ Ai (x). μ Bi (y) untuk i = 1,2 (2.36) 30

Lapisan 3 : Setiap neuron pada lapisan ini adalah simpul tetap yang merupakan hasil perhitungan rasio dari aturan derajat keanggotaan ke-i dengan jumlah dari seluruh aturan derajat keanggotaan, sehingga dapat dirumuskan sebagai berikut : O 3,i = w i = w i w 1 +w 2, i = 1,2 (2.37) Lapisan 4 : Setiap neuron pada lapisan ini merupakan simpul adaptif terhadap suatu output : O 4,i = w if i = w i(p i x1 + q i x2 + r i ) (2.37) Dengan w i adalah normalized firing strength pada lapisan ke-3 dan {pi, qi, ri} adalah parameter- parameter pada neuron tersebut. Parameter-parameter pada lapisan 4 disebut dengan consequent parameter. Lapisan 5 : Lapisan 5 merupakan output layer. Setiap neuron pada lapisan ini merupakan simpul tunggal tetap yang menghitung keluaran dengan cara menjumlahkan semua masukan. O 5,i = i w if i = iw i f i (2.38) i f i Backward Propagation Backward propagation merupakan proses learning terhadap kesalahan atau error yang muncul, proses ini berfungsi untuk mengupdate nilai consequent paramater pada lapisan 4 atau titik titik puncak defuzzifikasi pada lapisan 5, berdasarkan learning rate dan nilai error yang terjadi. Proses pembelajaran ini dapat dilakukan pada semua lapisan atau pada salah satu lapisan saja. fi = f (i-1) + lr * e * w i (2.39) f i f (i 1) lr e w i = consequent parameter baru = consequent paramter lama = learning rate = error (reference output defuzzyfikasi) = output lapisan 3 ternormalisasi 31

-- Halaman ini sengaja dikosongkan -- 32

BAB 3 PERANCANGAN SISTEM Pada Bab ini akan membahas mengenai perancangan parameter DH dari manipulator robot Denso. Kemudian hasil parameter DH tersebut dirancang dan dihitung transformasi homogen tiap link manipulator robot sehingga diperoleh persamaan forward kinematics. Permasalahan inverse kinematics pada robot Denso manipulator yaitu menentukan besar sudut joint dari posisi end-effector manipulator robot. Untuk menyelesaikan permasalahan inverse kinematics maka digunakan metode Neuro-Fuzzy. Perancangan inverse kinematics akan disimulasikan dengan software Matlab 2013 dengan tambahan toolbox Peter Corke versi 10 [11]. 3.1 Parameter DH Manipulator Robot Denso Dalam menyelesaikan permasalahan inverse kinematics, terlebih dahulu merancang parameter DH dari manipulator robot. Perancangan parameter DH pada robot ini dilihat dari bentuk fisik manipulator robot, apakah sendi dari manipulator robot bersifat sendi putar (revolute), sendi geser (prismatic) atau bersifat keduanya. Pada sendi manipulator robot Denso ke enam sendinya bersifat sendi putar (revolute) [3]. Parameter DH ini dirancang dan dihitung untuk mendapatkan persamaan transformasi homogen sehingga diperoleh persamaan forward kinematics yang digunakan untuk menghitung posisi akhir end-effector dengan masukan besar sudut masing-masing joint yang telah ditentukan. Gambar 3.1 Panjang Setiap Link Manipulator Robot Denso 33

Pada Gambar 3.1 ini terdapat nilai atau ukuran spesifikasi dari manipulator robot. Nilai-nilai yang telah diketahui akan dimasukkan ke dalam tabel parameter DH. Dalam menetukan parameter DH manipulator robot Denso, terlebih dahulu digambarkan titik sumbu x,y,z revolute joint dari setiap joint manipulator robot Denso sesuai aturan DH yang telah dibahas pada Bab sebelumnya. Gambar 3.2 Revolute Joint Robot Denso Manipulator Pada Gambar 3.2 ini menggambarkan titik sumbu x,y,z pada masing-masing joint manipulator robot. Dari gambar tersebut akan ditentukan parameter robot a i (length), α i (twist), d i (offset) dan θ i (angle). Nilai parameter link a i, α i, d i dan θ i yang didapatkan berdasarkan aturan kaidah DH akan dimasukkan kedalam Tabel 3.1 dan pemberian indeks parameter pada Tabel 3.2. 34

Tabel 3.1 Parameter DH Manipulator Robot Denso Link a i α i d i θ i Range 1 0 90 125 θ 1-160 s/d 160 2 210 0 0 θ 2-120 s/d 120 3 0-90 0 θ 3 20 s/d 160 4 0 90 122 θ 4-160 s/d 160 5 0-90 0 θ 5-120 s/d 120 6 0 0 70 θ 6-360 s/d 360 Tabel 3.2 Indeks Parameter DH Manipulator Robot Denso Link a i α i d i θ i Range 1 0 90 d 1 θ 1-160 s/d 160 2 a 2 0 0 θ 2-120 s/d 120 3 0-90 0 θ 3 20 s/d 160 4 0 90 d 4 θ 4-160 s/d 160 5 0-90 0 θ 5-120 s/d 120 6 0 0 d 6 θ 6-360 s/d 360 Pada tabel 3.1 merupakan nilai parameter DH manipulator robot Denso. Dalam tabel parameter DH terdapat kolom range sudut, dimana pada kolom tersebut merupakan batas minimum dan maksimum pergerakan dari joint yang dapat dilakukan oleh manipulator robot Denso. Oleh karena itu, walaupun manipulator robot Denso bersifat sendi putar atau revolute joint tetapi tidak mampu melakukan perputaran sampai dengan 360 derajat, karena sudah ada batasan sudut yang ditentukan berdasarkan spesifikasi manipulator robot. Nilai parameter DH ini akan digunakan untuk menghitung matriks transformasi homogen agar diperoleh persamaan forward kinematics. 35

3.2 Transformasi Homogen Manipulator Robot Denso Permasalahan forward kinematics yaitu menentukan posisi x,y,z dari end-effector manipulator robot. Sebelum mendapatkan persamaan forward kinematics, telebih dahulu menghitung matriks transformasi homogen tiap link manipulator robot. Transformasi Homogen adalah matriks untuk merepresentasikan nilai posisi dan rotasi dari sebuah link. Posisi dan orientasi merupakan dua konsep yang digabungkan untuk mendefenisikan transformasi homogen. Rotasi transformasi homogen pada manipulator robot merupakan arah putaran yang dituju oleh manipulator robot dan translasi merupakan titik x,y,z tujuan yang akan dituju oleh end-effector robot. Pada Persamaan 3.1 merupakan rumus transformasi homogen yang akan diterapkan pada parameter DH. A i = Rot z,θi Trans z,di Trans x,ai Rot x,αi c θi -s θi 0 0 1 0 0 0 1 0 0 a i 1 0 0 0 s A i = [ θi c θi 0 0 0 1 0 0 ] [ ] [ 0 1 0 0 0 c ] [ αi -s αi 0 ] 0 0 1 0 0 0 1 d i 0 0 1 0 0 s αi c αi 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 c θi s θi c αi s θi s αi a i c θi s θi c θi c αi c θi s αi a i s θi A i = [ ] (3.1) 0 s αi c αi d i 0 0 0 1 Persamaan 3.1 merupakan rumus untuk menentukan matriks transformasi homogen yang akan direpresentasikan ke masing-masing link pada manipulator robot Denso. Pada Persamaan 3.2-3.7 merupakan penerapan transformasi homogen pada tiap-tiap link manipulator robot Denso. c 1 0 s 1 0 s A 1 = [ 1 0 c 1 0 ] (3.2) 0 1 0 d 1 0 0 0 1 c 2 s 2 0 a 2 c 2 s A 2 = [ 2 c 2 0 a 2 s 2 ] (3.3) 0 0 1 0 0 0 0 1 36

c 3 0 s 3 0 s A 3 = [ 3 0 c 3 0 ] (3.4) 0 1 0 0 0 0 0 1 c 4 0 s 4 0 s A 4 = [ 4 0 c 4 0 ] (3.5) 0 1 0 d 4 0 0 0 1 c 5 0 s 5 0 s A 5 = [ 5 0 c 5 0 ] (3.6) 0 1 0 0 0 0 0 1 c 6 s 6 0 0 s A 6 = [ 6 c 6 0 0 ] (3.7) 0 0 1 d 6 0 0 0 1 Pada persamaan 3.2-3.7 merupakan transformasi homogen yang dihitung dari link satu sampai link enam dari manipulator robot Denso. Tiap link tersebut saling terhubung dari base frame sampai end-effector manipulator robot Denso. Hasil perhitungan tiap link akan dimasukkan untuk menghitung persamaan forward kinematics. 3.3 Forward Kinematics Forward kinematics merupakan permasalahan dalam menentukan posisi akhir yang dituju oleh end-effector manipulator dengan masukan besar sudut tiap joint yang telah ditentukan Pada sub-bab sebelumnya telah diperoleh nilai transformasi homogen dari link satu sampai link enam manipulator robot. Matriks transformasi homogen tersebut akan digunakan untuk menghitung forward kinematics. Nilai transformasi homogen tiap link akan dimasukkan ke dalam persamaan 3.8 untuk memperoleh persamaan forward kinematics. T 0 n = A 1 A 2 A 3 A n (3.8) 37

Dari persamaan 3.8 tersebut dapat ditentukan persamaan forward kinematics, dimana hasil dari perhitungan forward kinematics akan menghasilkan nilai rotasi dan posisi dari manipulator robot. Posisi yang didapatkan adalah posisi yang akan dituju oleh end-effector robot. Perhitungan forward kinematics ini dapat dilihat pada persamaan 3.9. T 0 6 = (A 1 )(A 2 )(A 3 )(A 4 )(A 5 )(A 6 ) c 1 0 s 1 0 c 2 s 2 0 a 2 c 2 T 6 s 0 = [ 1 0 c 1 0 s ] [ 2 c 2 0 a 2 s 2 ] 0 1 0 d 1 0 0 1 0 0 0 0 1 0 0 0 1 c 3 0 s 3 0 c 4 0 s 4 0 s [ 3 0 c 3 0 s ] [ 4 0 c 4 0 ] 0 1 0 0 0 1 0 d 4 0 0 0 1 0 0 0 1 c 5 0 s 5 0 c 6 s 6 0 0 s [ 5 0 c 5 0 s ] [ 6 c 6 0 0 ] (3.9) 0 1 0 0 0 0 1 d 6 0 0 0 1 0 0 0 1 Sehingga diperoleh hasil akhir dari perhitungan nilai matriks : n x s x a x p x T 6 n 0 = A 1 A 2 A 3 A 4 A 5 A 6 = [ y n z s y s z a y a z p y ] p z (3.10) 0 0 0 1 Pada persamaan 3.10 terdapat nilai n, s dan a, nilai tersebut merupakan titik rotasi sedangkan p merupakan posisi yang dituju endeffector dari manipulator robot Denso. Berikut ini adalah hasil dari Persamaan 3.10 : n x = c 6 [s 5 (c 1 c 2 s 3 + c 1 c 3 s 2 ) + c 5 (s 1 s 4 c 4 (c 1 c 2 c 3 c 1 s 2 s 3 ))] s 6 [c 4 s 1 + s 4 (c 1 c 2 c 3 c 1 s 2 s 3 )] (3.11) n y = s 6 [c 1 c 4 s 4 (c 2 c 3 s 1 s 1 s 2 s 3 )] c 6 [s 5 (c 2 s 1 s 3 + c 3 s 1 s 2 ) c 5 (c 1 s 4 + c 4 (c 2 c 3 s 1 s 1 s 2 s 3 ))] (3.12) 38

n z = c 6 [s 5 (c 2 c 3 s 2 s 3 ) + c 4 c 5 (c 2 s 3 + c 3 s 2 )] s 4 s 6 (c 2 s 3 + c 3 s 2 ) (3.13) s x = s 6 [s 5 (c 1 c 2 s 3 + c 1 c 3 s 2 ) + c 5 (s 1 s 4 c 4 (c 1 c 2 c 3 c 1 s 2 s 3 ))] c 6 [c 4 s 1 + s 4 (c 1 c 2 c 3 c 1 s 2 s 3 )] (3.14) s y = s 6 [s 5 (c 2 s 1 s 3 + c 3 s 1 s 2 ) c 5 (c 1 s 4 + c 4 (c 2 c 3 s 1 s 1 s 2 s 3 ))] + c 6 [c 1 c 4 s 4 (c 2 c 3 s 1 s 1 s 2 s 3 )] (3.15) s z = s 6 [s 5 (c 2 c 3 s 2 s 3 ) + c 4 c 5 (c 2 s 3 + c 3 s 2 )] c 6 s 4 (c 2 s 3 + c 3 s 2 ) (3.16) a x = s 5 (s 1 s 4 c 4 (c 1 c 2 c 3 c 1 s 2 s 3 )) c 5 (c 1 c 2 s 3 + c 1 c 3 s 2 ) (3.17) a y = c 5 (c 2 s 1 s 3 + c 3 s 1 s 2 ) s 5 (c 1 s 4 + c 4 (c 2 c 3 s 1 s 1 s 2 s 3 )) (3.18) a z = c 5 (c 2 c 3 s 2 s 3 ) c 4 s 5 (c 2 s 3 + c 3 s 2 ) (3.19) p x = a 2 c 1 c 2 d 4 (c 1 c 2 s 3 + c 1 c 3 s 2 ) d 6 [c 5 (c 1 c 2 s 3 + c 1 c 3 s 2 )] s 5 [s 1 s 4 c 4 (c 1 c 2 c 3 c 1 s 2 s 3 )] (3.20) p y = a 2 c 2 s 1 d 4 (c 2 s 1 s 3 + c 3 s 1 s 2 ) d 6 [c 5 (c 2 s 1 s 3 + c 3 s 1 s 2 )] +s 5 [c 1 s 4 + c 4 (c 2 c 3 s 1 s 1 s 2 s 3 )] (3.21) p z = d 1 + a 2 s 2 + d 4 (c 2 c 3 s 2 s 3 ) + d 6 [c 5 (c 2 c 3 s 2 s 3 )] c 4 s 5 (c 2 s 3 + c 3 s 2 ) (3.22) Persamaan 3.11 3.22 adalah persamaan forward kinematics dari manipulator robot Denso. Nilai n, s dan a merupakan hasil rotasi manipulator robot dan nilai p adalah posisi yang dituju oleh end-effector. Untuk menghitung posisi yang dituju oleh end-effector dapat digunakan persamaan 3.20 3.22. Persamaan forward kinematics akan digunakan untuk menguji besar sudut yang telah diperoleh dari perhitungan inverse kinematics menggunakan neurro-fuzzy agar masukan dari inverse kinematics yaitu berupa posisi yang dituju end-effector sesuai dengan output dari forward kinematics. 39

3.4 Solusi Inverse Kinematics Menggunakan Neuro-Fuzzy Pada Tugas Akhir ini, untuk menyelesaikan permasalahan inverse kinematics akan digunakan metode neuro-fuzzy. Neuro-fuzzy merupakan gabungan dari dua sistem yaitu sistem logika fuzzy dan jaringan syaraf tiruan. Ada beberapa tipe neuro-fuzzy yaitu neuro-fuzzy Mamdani, Larsent, Takaegi Sugeno dan tipe lainya. Langkah awal dalam mendesain struktur neuro-fuzzy adalah menentukan input dan output yang akan dihasilkan dari neuro-fuzzy. Tahap selanjutnya adalah menentukan rule base. Basis aturan pada perhitungan inverse kinematics diperoleh dari analisa sifat pergerakan manipulator robot Denso kemudian selanjutnya proses normalisasi, tahap learning hingga tahap defuzzyfikasi. Tahapan tersebut merupakan proses forward propagation. Jika keluaran yang dihasilkan belum sesuai dengan keluaran yang diinginkan maka akan dilakukan proses backward propagation. Bacward propagation merupakan proses learning terhadap kesalahan atau error yang muncul, proses ini berfungsi untuk meng-update nilai consequent parameter. Proses backward propagation ini dapat dilakukan pada semua lapisan atau pada salah satu lapisan saja. Ketika output yang dihasilkan sesuai dengan yang diharapkan maka desain struktur neuro-fuzzy dapat digunakan untuk menyelesaikan permasalahan inverse kinematics. 3.4.1 Perancangan Struktur Neuro-Fuzzy Struktur neuro-fuzzy yang akan digunakan pada Tugas Akhir ini adalah struktur neuro-fuzzy Mamdani. Pada penelitian ini, metode digunakan untuk menghitung besar sudut masing masing joint apabila diberi masukan berupa posisi yang dituju end-effector manipulator robot. Hasil keluaran yang dihasilkan dari neuro-fuzzy harus sesuai dengan posisi target dari end-effector..permasalahan inverse kinematics yang dibahas pada penelitian ini hanya 3-DOF dari pergerakan manipulator robot Denso yang mempunyai pergerakan 6-DOF. Pergerakan 3-DOF robot Denso manipulator hanya melihat pergerakan posisi dari endeffector. Dalam mendesain struktur neuro-fuzzy maka ditentukan input dan output-nya. Input dari neuro-fuzzy ini adalah posisi x,y,z dan output yang dihasilkan adalah besar sudut θ 1, θ 2, θ 3 dimana masing masing memiliki 3 buah himpunan pendukung. Struktur neuro-fuzzy dapat dilihat pada Gambar. 3.3. 40

Gambar 3.3 Struktur Neuro-Fuzzy 3.4.2 Tahap Forward Propagation Pada tahap ini, akan dilakukan perhitungan maju untuk memperoleh nilai output. Tahapan Feedforward Propagation terdiri dari 5 lapisan yang setiap lapisan berisi proses perhitungan fuzzy. Berikut ini adalah tahapan struktur neuro-fuzzy : Lapisan 1 : Lapisan 1 merupakan lapisan input awal dari struktur neuro-fuzzy. Masukkan pada lapisan ini adalah proses fuzzyfikasi yang terdiri dari nilai posisi x,y,z. Simbol dx merupakan nilai posisi x, simbol dy merupakan nilai posisi y dan simbol dz merupakan nilai posisi z dari end-effector. Masing masing input dari nilai posisi x,y,z memiliki 3 himpunan pendukung. Fungsi keanggotaan yang digunakan yaitu fungsi segitiga yang dapat dilihat pada Gambar 3.4. Gambar 3.4 Himpunan Pendukung Fuzzy dx,dy dan dz 41

Lapisan 2 : Lapisan kedua digunakan untuk basis aturan (rule-base). Rule base adalah lapisan untuk pemberian nilai aturan (min, max) pada nilai output dari lapisan 1 (fuzzyfikasi). Pada Tugas Akhir ini menggunakan rule base Mack Vicar Wheelan yang menuliskan rule base dalam bentuk sebuah matriks 3 dimensi yang sama dan berdimensi sama seperti himpunan pendukung. Dengan cara ini pemetaan tingkatan menjadi lebih mudah untuk dipahami dan mudah untuk di logika. Sebagai contoh jika d x1, d y1 dan d z1 bernilai positif maka nilai d t1 1 < 0. Basis aturan merupakan kata dan yang artinya adalah operasi minimum, sedangkan inferensi fuzzy adalah proses pengambilan kesimpulan dari aturan rule base Mack Vicar Wheelan yang dapat dilihat pada Tabel 3.3. Tabel 3.3 Tabel Mack Vicar Wheelan Untuk θ 1 d y1 d y2 d y3 d x1 d t1 3 d t1 2 d t1 1 d x2 d t1 3 d t1 2 d t1 1 d x3 d t1 3 d t1 2 d t1 1 d z1, d z2, d z3 Tabel 3.4 Tabel Mack Vicar Wheelan Untuk θ 2 d y1 d y2 d y3 d x1 d t2 3 d t2 3 d t2 3 d x2 d t2 2 d t2 2 d t2 2 d x3 d t2 1 d t2 1 d t2 1 d z1, d z2, d z3 Tabel 3.5 Tabel Mack Vicar Wheelan Untuk θ 3 d y1 d y2 d y3 d x1 d t3 1 d t3 1 d t3 1 d x2 d t3 2 d t3 2 d t3 2 d x3 d t3 3 d t3 3 d t3 3 d z1, d z2, d z3 42

Lapisan 3 : Lapisan ketiga merupakan lapisan normalisasi. Normalisasi ini berfungsi agar menormalkan atau menjadikan semua keluaran pada lapisan ini memiliki nilai yang jika di jumlahkan adalah 1, hal ini dikarenakan agar nilai penjumlahan pada lapisan 3 tidak lebih dari 1. Rumus untuk lapisan normalisasi yang dapat dilihat pada persamaan 3.23. w i = w i w 1 + + w n (3.25) w i = output ternormalisasi, ke-i s/d n n = jumlah himpunan pendukung output fuzzy Lapisan 4 : Lapisan keempat merupakan proses perhitungan nilai consequent parameter. Nilai consequent parameter adalah himpunan nilai untuk untuk melakukan proses learning pada lapisan 4. Algoritma perhitungan untuk lapisan keempat dapat dilihat pada persamaan 3.26, dimana nilai f i awal adalah nilai random pada proses inisialisasi. w if i = w i(p i x1 + q i x2 + r i ) (3.26) Lapisan 5 : Lapisan kelima merupakan lapisan yang menjalankan proses defuzzykasi untuk menghitung keluaran dari neuro-fuzzy. Defuzzyfikasi merupakan proses pengembalian dari nilai logika fuzzy menjadi logika sebenarnya. Pada proses defuzzyfikasi digunakan fungsi center of area yang dapat dilihat pada Persamaan 2.36. Metode center of area digunakan untuk menentukan nilai titik tengah area yang merupakan titik pusat dari kombinasi fungsi-fungsi keanggotaan. Pada penelitian ini digunakan 3 himpunan output yang dapat dilihat pada gambar 3.5. Gambar 3.5 Fungsi Keanggotaan Defuzzyfikasi 43

3.4.3 Tahap Backward Propagation Pada tugas akhir ini, struktur neuro fuzzy yang digunakan adalah struktur neuro-fuzzy Mamdani dan proses backward atau revisi bobot hanya dilakukan pada lapisan kelima yaitu lapisan defuzzifikasi. Revisi bobot berupa revisi nilai tengah dari fungsi keanggotaan output. Untuk menghitung bobot atau nilai tengah baru digunakan Persamaan 3. 27 dan perhitungan nilai error pada Persamaan 3.28. fi = f(i-1) + lr * e * w i (3.27) f i f (i 1) lr e w i = consequent parameter baru = consequent paramter lama = learning rate = error (reference output neuro-fuzzy) = output lapisan 3 ternormalisasi Dimana untuk perhitungan nilai error pada joint 1 sampai joint 3 : e = (t k y k ) (3.28) Dimana untuk : t 1 = (tan2 1 (y, x)) 180/pi t 2 = x 2 + y 2 t 3 = z y 1 = (tan2 1 (y n, x n )) 180/pi y 2 = x n 2 + y n 2 y 3 = z n 3.5 Desain Program Simulasi Pada perancangan simulasi, untuk keseluruhan perhitungan forward kinematics dan inverse kinematics menggunakan m-file yang ada pada blok diagram simulink yang didesain simulasinya menggunakan bantuan software Matlab 2013. Simulasi untuk perancangan manipulator robot Denso ini menggunakan tambahan toolbox Matlab. Toolbox yang digunakan adalah toolbox Peter Corke versi 10. 3.5.1 Desain Simulasi Forward Kinematics Perancangan simulasi forward kinematics akan menghasilkan pergerakan end-effector manipulator robot Denso. Sebelum melakukan 44

proses perhitungan forward kinematics, terlebih dahulu mendesain bentuk manipulator robot Denso dengan memasukkan nilai parameter DH manipulator robot Denso yang telah diperoleh dari aturan kaidah DH pada software matlab toolbox Peter Corke versi 10. Setelah merancang bentuk manipulator robot Denso maka selanjutnya yaitu melakukan perancangan forward kinematics, masukan dari perancangan ini berupa sudut dari masing-masing joint pada manipulator robot. Perancangan forward kinematics akan menghasilkan titik posisi x,y,z yang dituju oleh end-effector manipulator robot. Proses perhitungan forward kinematics menggunakan m-file yang ada pada blok diagram simulink. Desain rancangan manipulator robot Denso dan simulasi forward kinematics dapat dilihat pada Gambar 3.6 dan 3.7. Gambar 3.6 Simulasi Manipulator Robot Denso 45

Gambar 3.7 Desain Simulasi Forward Kinematics Gambar 3.7 merupakan desain simulasi forward kinematics dari manipulator robot Denso. Manipulator robot Denso mempunyai enam titik sumbu, sehingga masukan dari desain ini yaitu 6 sudut dari masing masing joint manipulator robot. Besar sudut dari joint akan dihitung dengan persamaan forward kinematics menggunakan m-file. Keluaran yang dihasilkan dari desain ini berupa posisi yang dituju oleh end-effector manipulator robot. 3.5.2 Desain Simulasi Inverse Kinematics Penyelesaian perhitungan inverse kinematics dilakukan dengan menggunakan metode neuro-fuzzy. Proses perhitungan ini dilakukan di m-file pada software matlab 2013. Keluaran yang dihasilkan dari m-file pada proses perhitungan ini adalah nilai sudut masing - masing joint dalam satuan derajat dimana masukannya berupa posisi target x,y,z yang dituju oleh end-effector manipulator robot. Setelah besar sudut diperoleh maka hasil tersebut akan dimasukkan kedalam perancangan simulasi inverse kinematics. Masukan dari perancangan simulasi ini berupa sudut dari masingmasing joint yang dihasilkan dari m-file neuro-fuzzy. Sudut yang menjadi input tersebut output-nya akan menghasilkan posisi yang dituju oleh endeffector. Titik posisi pada sumbu x,y,z yang dihasilkan dari perancangan simulasi harus sesuai dengan masukan posisi target x,y,z yang diinginkan 46

dari m-file neuro-fuzzy. Peracangan simulasi inverse kinematics dapat dilihat pada Gambar 3.8. Gambar 3.8 Desain Simulasi Inverse Kinematics 47

-- Halaman ini sengaja dikosongkan -- 48

BAB 4 SIMULASI DAN ANALISA SISTEM Pada bab ini menjelaskan mengenai hasil percobaan simulasi forward kinematics dan penyelesaian inverse kinematics menggunakan metode Neuro-Fuzzy. Hasil yang diperoleh dari simulasi forward kinematics yaitu besar sudut dari masing masing joint manipulator robot Denso. Penyelesaian inverse kinematics diselesaikan menggunakan neuro-fuzzy dalam bentuk m-file pada matlab dengan masukan posisi target x,y,z sehingga keluaran yang dihasilkan berupa besar sudut masing masing joint. Hasil sudut yang diperoleh dari neuro-fuzzy akan dimasukkan kedalam simulasi forward kinematics agar keluaran posisi dari forward kinematics sesuai dengan masukan dari inverse kinematics yaitu posisi target x,y,z dari end-effector manipulator robot Denso. 4.1 Pengujian Forward Kinematics Pengujian forward kinematics pada manipulator robot Denso dilakukan dengan cara memberikan masukan besar sudut dari masing masing joint manipulator robot dalam satuan derajat. Keluaran dari simulasi forward kinematics yaitu berupa posisi pada end-effector manipulator robot. Dalam melakukan penyelesaian forward kinematics, pada pengujian ini dilakukan beberapa percobaan yang akan menghasilkan pergerakan dari end-efffector manipulator robot. Masukan dari simulasi ini yaitu 6 sudut dari masing masing joint dimana hasil keluarannya adalah posisi x,y,z dari end-effector manipulator robot Denso yang dapat dilihat pada Tabel 4.1. Tabel 4.1 Hasil Percobaan 1 Forward Kinematics Sudut Posisi θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 x y z 120 120 20 90 45 0 0.1505-0.1617 0.1755 Dari hasil percobaan 1 maka akan menghasilkan pergerakan manipulator robot Denso. Percobaan pertama merupakan pergerakan awal robot, pada pergerakan awal tersebut akan menghasilkan posisi awal dari end-effector. Untuk lebih jelas pergerakan manipulator robot Denso tersebut dapat dilihat pada Gambar 4.1. 49

Gambar 4.1 Pergerakan Posisi Robot Denso Percobaan Simulasi 1 Tabel 4.2 Hasil Percobaan 2 Forward Kinematics Sudut Posisi θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 x y z 90 120 45-90 0 30 0-0.1547 0.1214 Pada percobaan kedua, pergerakan manipulator robot Denso akan dihasilkan posisi tujuan seperti pada tabel 4.2 yang dicapai dari endeffector. Untuk lebih jelas pergerakan manipulator robot Denso tersebut dapat dilihat pada Gambar 4.2. 50

Gambar 4.2 Pergerakan Posisi Robot Denso Percobaan Simulasi 2 Tabel 4.3 Hasil Percobaan 3 Forward Kinematics Sudut Posisi θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 x y z 120 120 20 90-90 45 0.0311-0.1938 0.2134 Pada percobaan ketiga, pergerakan manipulator robot Denso akan dihasilkan posisi tujuan seperti pada tabel 4.3 yang dicapai dari endeffector. Untuk lebih jelas pergerakan manipulator robot Denso tersebut dapat dilihat pada Gambar 4.3 51

Gambar 4.3 Pergerakan Posisi Robot Denso Percobaan Simulasi 3 4.2 Pengujian Inverse Kinematics Pergerakan manipulator robot Denso dibagi atas dua bagian yaitu pergerakan posisi untuk 3-DOF dan pergerakan orientasi untuk 3-DOF selanjutnya. Pada penelitian ini, pengujian untuk permasalahan inverse kinematics yang dibahas hanya 3-DOF dari pergerakan manipulator robot Denso yang mempunyai pergerakan 6-DOF. Pergerakan 3-DOF robot Denso manipulator hanya melihat pergerakan posisi dari end-effector. Penyelesaian inverse kinematics pada manipulator robot Denso ini menggunakan metode neuro-fuzzy. Input dari permasalahan inverse kinematics ini berupa nilai posisi sumbu x,y,z target yang merupakan pergerakan dari end-effector manipulator robot. Posisi x,y,z target ini akan menghasilkan keluaran berupa sudut dari masing masing joint manipulator robot dalam satuan derajat, proses penyelesaian inverse kinematics menggunakan neuro-fuzzy dilakukan di dalam m-file matlab. Pada proses penyelesaian inverse kinematics menggunakan neurofuzzy akan dilakukan beberapa percobaan dimana sudut awal masingmasing joint manipulator robot diketahui yaitu [30 30 100 0 0 0] dalam satuan derajat, sehingga posisi awal x,y,z dapat dihitung dengan forward 52

kinematics. Pada pengujian ini, akan dilakukan perhitungan inverse kinematics, dimana besar sudut θ 4, θ 5, θ 6 diabaikan atau diberi nilai nol. Pada metode neuro-fuzzy akan dilakukan beberapa percobaan yaitu akan diberikan nilai laju pembelajaran (α) yang berbeda-beda pada range (0.0001 0.0009) dengan ketelitian error (e = 0.00005). Tabel pengujian pertama inverse kinematics menggunakan neuro-fuzzy dapat dilihat pada Tabel 4.4. Tabel 4.4 Pengujian 1 Solusi Inverse Kinematics Sudut/ Output NF Posisi Target (m) α (derajat) Iterasi x y z θ 1 θ 2 θ 3 0.0009 0.1079 0.0756 0.0822 35.017 45.013 130.006 32794 0.0007 0.1079 0.0756 0.0822 35.017 45.013 130.006 36606 0.0005 0.1079 0.0756 0.0822 35.017 45.013 130.006 43574 0.0003 0.1079 0.0756 0.0822 35.017 45.013 130.008 61278 0.0001 0.1079 0.0756 0.0822 35.017 45.012 130.003 127042 Tabel 4.4 merupakan hasil keluaran dari neuro-fuzzy dalam menentukan posisi target yang akan dituju oleh end-effector dengan kondisi awal manipulator robot yaitu [30 30 130 0 0 0]. Posisi awal endeffector manipulator robot dapat dilihat pada Gambar 4.4 dan posisi target yang dituju end-effector pada pengujian 1 dapat dilihat pada Gambar 4.5. Gambar 4.4 Pergerakan Posisi Awal Manipulator Robot 53

Gambar 4.5 Pergerakan Posisi Pengujian 1 Manipulator Robot Pada pengujian kedua, kondisi awal manipulator robot yaitu [30 30 130 0 0 0] akan dihasilkan posisi target yang akan dituju end-effector yang dapat dilihat pada Tabel 4.5. Pada metode neuro-fuzzy akan dilakukan akan diberikan nilai ketelitian error (e = 0.00005). Tabel 4.5 Pengujian 2 Solusi Inverse Kinematics Posisi Target (m) Sudut/ Output NF (derajat) α Iterasi x y z θ 1 θ 2 θ 3 0.0009 0.0871 0.061 0.065 35.005 34.982 124.985 15902 0.0007 0.0871 0.061 0.065 35.005 34.982 124.985 17724 0.0005 0.0871 0.061 0.065 35.005 34.982 124.985 20972 0.0003 0.0871 0.061 0.065 35.005 34.982 124.985 28568 0.0001 0.0871 0.061 0.065 35.005 34.956 124.999 56104 Tabel 4.5 merupakan hasil output dari neuro-fuzzy dalam menentukan posisi target. Posisi awal end-effector manipulator robot dengan kondisi awal [30 30 130 0 0 0] dapat dilihat pada Gambar 4.6 dan posisi target yang dituju end-effector pada pengujian 2 dapat dilihat pada Gambar 4.7. 54

Gambar 4.6 Pergerakan Posisi Awal Manipulator Robot Gambar 4.7 Pergerakan Posisi Pengujian 2 Manipulator Robot Pada pengujian ketiga, kondisi awal manipulator robot yaitu [30 30 130 0 0 0] akan dihasilkan posisi target yang akan dituju end-effector yang dapat dilihat pada Tabel 4.6. Pada metode neuro-fuzzy akan dilakukan akan diberikan nilai ketelitian error (e = 0.00005). 55

Tabel 4.6 Pengujian 3 Solusi Inverse Kinematics Posisi Target (m) Sudut/ Output NF (derajat) α Iterasi x y z θ 1 θ 2 θ 3 0.0009 0.1104 0.0926 0.0687 39.99 39.979 135.008 19963 0.0007 0.1104 0.0926 0.0687 39.99 39.979 135.008 22315 0.0005 0.1104 0.0926 0.0687 39.99 39.979 135.008 26539 0.0003 0.1104 0.0926 0.0687 39.99 39.978 135.009 37181 0.0001 0.1104 0.0926 0.0687 39.99 39.978 135.01 78291 Tabel 4.6 merupakan hasil output dari neuro-fuzzy dalam menentukan posisi target yang akan dituju oleh end-effector manipulator robot. Gambar 4.8 merupakan posisi awal end-effector manipulator robot dengan kondisi awal [30 30 130 0 0 0] dan gambar 4.9 adalah posisi target yang dituju end-effector manipulator robot. Gambar 4.8 Pergerakan Posisi Awal Manipulator Robot 56

Gambar 4.9 Pergerakan Posisi Pengujian 3 Manipulator Robot Pada pengujian keempat, kondisi awal manipulator robot yaitu [30 30 130 0 0 0] akan dihasilkan posisi target yang akan dituju end-effector yang dapat dilihat pada Tabel 4.7. Untuk penyelesaian inverse kinematics menggunakan neuro-fuzzy akan dilakukan akan diberikan nilai ketelitian error (e = 0.00005). Tabel 4.7 Pengujian 4 Solusi Inverse Kinematics Sudut/ Output NF Posisi Target (m) α (derajat) Iterasi x y z θ 1 θ 2 θ 3 0.0009 0.0695-0.0253 0.0497-20 20.01 120.03 103937 0.0007 0.0695-0.0253 0.0497-20 20.01 120.03 131107 0.0005 0.0695-0.0253 0.0497-20 20.01 120.03 180515 0.0003 0.0695-0.0253 0.0497-20 20.01 120.03 294777 0.0001 0.0695-0.0253 0.0497-20 19.98 120.01 840799 Tabel 4.7 merupakan hasil output dari neuro-fuzzy dalam menentukan posisi target yang akan dituju oleh end-effector. Posisi awal end-effector manipulator robot dengan kondisi awal [30 30 130 0 0 0] dapat dilihat pada Gambar 4.10 dan posisi target yang dituju end-effector dapat dilihat pada Gambar 4.11. 57

Gambar 4.10 Pergerakan Posisi Awal Manipulator Robot Gambar 4.11 Pergerakan Posisi Pengujian 4 Manipulator Robot Pada pengujian keempat, kondisi awal manipulator robot yaitu [30 30 130 0 0 0] akan dihasilkan posisi target yang akan dituju end-effector yang dapat dilihat pada Tabel 4.8. Pada metode neuro-fuzzy akan dilakukan akan diberikan nilai ketelitian error (e = 0.00005). 58

Tabel 4.8 Pengujian 5 Solusi Inverse Kinematics Posisi Target (m) Sudut/ Output NF (derajat) α Iterasi x y z θ 1 θ 2 θ 3 0.0009 0.0886 0.0323 0.0475 20.029 24.995 124.98 11783 0.0007 0.0886 0.0323 0.0475 20.029 24.995 124.98 12481 0.0005 0.0886 0.0323 0.0475 20.029 24.995 124.98 13739 0.0003 0.0886 0.0323 0.0475 20.029 24.995 124.98 16661 0.0001 0.0886 0.0323 0.0475 20.029 25.006 124.99 38033 Tabel 4.8 merupakan hasil output dari neuro-fuzzy dalam menentukan posisi target yang akan dituju oleh end-effector manipulator robot. Gambar 4.12 merupakan posisi awal end-effector manipulator robot dengan kondisi awal [30 30 130 0 0 0] dan gambar 4.7adalah posisi target yang dituju end-effector pada pengujian kelima. Gambar 4.12 Pergerakan Posisi Awal Manipulator Robot 59

Gambar 4.13 Pergerakan Posisi Pengujian 5 Manipulator Robot Dalam menyelesaikan perhitungan inverse kinematics dengan neuro-fuzzy, pengujian 1 s/d 5 diberikan masing masing nilai learning rate yang berbeda beda pada setiap pengujian. Adapun beberapa pengujian yang dilakukan dengan range learning rate (0.0001-0.0009). Pada Tabel 4.4 4.8 adalah keluaran yang dihasilkan oleh neuro-fuzzy, di dalam tabel terdapat hasil iterasi yang berbeda beda berdasarkan learning rate yang diberikan. Pada pengujian 1 dengan learning rate 0.0001 diperoleh iterasi 3.87 kali lebih lama dibandingkan learning rate 0.0009. Pada pengujian 2 dengan learning rate 0.0001 diperoleh iterasi 3.52 kali lebih lama dibandingkan learning rate 0.0009. Pada pengujian 3 dengan learning rate 0.0001 diperoleh iterasi 3.92 kali lebih lama dibandingkan learning rate 0.0009. Pada pengujian 4 dengan learning rate 0.0001 diperoleh iterasi 8.09 kali lebih lama dibandingkan learning rate 0.0009. Pada pengujian 5 dengan learning rate 0.0001 diperoleh iterasi 3.23 kali lebih lama dibandingkan learning rate 0.0009. Hasil penyelesaian inverse kinematics ini akan dimasukkan kedalam pengujian simulasi forward kinematics untuk menguji kebenaran nilai keluaran sudut target yang dihasilkan dari metode neuro-fuzzy. Output dari forward kinematics harus sesuai dengan posisi target x,y,z yang menjadi input dari inverse kinematics. 60

4.3 Pengujian Simulasi Hasil Solusi Inverse Kinematics Pada pengujian hasil inverse kinematics menggunakan neuro-fuzzy, output berupa sudut yang dihasilkan dari m-file matlab ini akan dimasukkan ke simulasi forward kinematics dimana sudut yang dihasilkan dari proses neuro-fuzzy merupakan input dari forward kinematics. Forward kinematics ini berfungsi untuk menguji hasil sudut yang telah dihasilkan dari keluaran neuro-fuzzy. Hasil sudut yang telah diperoleh akan diproses oleh forward kinematics sehingga keluaran posisi dari perhitungan forward kinematics harus sesuai dengan posisi x,y,z target pada input dari neuro-fuzzy. Pada subbab sebelumnya telah dilakukan pengujian 1 s/d 5 menggunakan neuro-fuzzy sehingga diperoleh besar sudut θ 1, θ 2, θ 3 target pada masing masing joint manipulator robot. Pada pengujian tersebut, besar sudut target yang dihasilkan dari solusi inverse kinematics akan dimasukkan ke dalam simulasi forward kinematics. Berikut hasil pengujian simulasi forward kinematics : Pengujian data 1 s/d 5 dengan learning rate 0.0009 Tabel 4.9 Pengujian 1 Simulasi Hasil Solusi Inverse Kinematics Posisi Target Posisi Keluaran NF Data x y z x y z 1 0.1079 0.0756 0.0822 0.107931 0.075622 0.08225 2 0.0871 0.061 0.065 0.087059 0.060971 0.065013 3 0.1104 0.0926 0.0687 0.110438 0.092632 0.068663 4 0.0695-0.0253 0.0497 0.069547-0.0253169 0.0497 5 0.0886 0.0323 0.0475 0.088553 0.032283 0.0475 Pengujian data 1 s/d 5 dengan learning rate 0.0007 Tabel 4.10 Pengujian 2 Simulasi Hasil Solusi Inverse Kinematics Posisi Target Posisi Keluaran NF Data x y z x y z 1 0.1079 0.0756 0.0822 0.107931 0.075622 0.08225 2 0.0871 0.061 0.065 0.087059 0.060971 0.065013 3 0.1104 0.0926 0.0687 0.110438 0.092632 0.068663 4 0.0695-0.0253 0.0497 0.069546-0.025317 0.0497 5 0.0886 0.0323 0.0475 0.088553 0.032283 0.0475 61

Pengujian data 1 s/d 5 dengan learning rate 0.0005 Tabel 4.11 Pengujian 3 Simulasi Hasil Solusi Inverse Kinematics Posisi Target Posisi Keluaran NF Data x y z x y z 1 0.1079 0.0756 0.0822 0.107931 0.075622 0.08225 2 0.0871 0.061 0.065 0.087059 0.060971 0.065013 3 0.1104 0.0926 0.0687 0.110438 0.092632 0.068663 4 0.0695-0.0253 0.0497 0.069546-0.025317 0.0497 5 0.0886 0.0323 0.0475 0.088553 0.032283 0.0475 Pengujian data 1 s/d 5 dengan learning rate 0.0003 Tabel 4.12 Pengujian 4 Simulasi Hasil Solusi Inverse Kinematics Posisi Target Posisi Keluaran NF Data x y z x y z 1 0.1079 0.0756 0.0822 0.107938 0.075627 0.08225 2 0.0871 0.061 0.065 0.087059 0.060971 0.065013 3 0.1104 0.0926 0.0687 0.110438 0.092632 0.068657 4 0.0695-0.0253 0.0497 0.069547-0.0253169 0.0497 5 0.0886 0.0323 0.0475 0.088553 0.032283 0.0475 Pengujian data 1 s/d 5 dengan learning rate 0.0001 Tabel 4.13 Pengujian 5 Simulasi Hasil Solusi Inverse Kinematics Posisi Target Posisi Keluaran NF Data x y z x y z 1 0.1079 0.0756 0.0822 0.107923 0.075616 0.08225 2 0.0871 0.061 0.065 0.087074 0.060981 0.064951 3 0.1104 0.0926 0.0687 0.110438 0.092632 0.068657 4 0.0695-0.0253 0.0497 0.069453-0.025283 0.0497 5 0.0886 0.0323 0.0475 0.0886 0.0323 0.0475 Tabel 4.9 4.13 merupakan hasil pengujian simulasi forward kinematics, dimana sudut yang dihasilkan dari proses neuro-fuzzy pada subbab sebelumnya akan menjadi input dari forward kinematics. Pada pengujian tersebut dapat dilihat bahwa keluaran posisi dari perhitungan forward kinematics hasilnya mendekati dengan posisi x,y,z target pada 62

input dari neuro-fuzzy. Untuk hasil perhitungan error yang terjadi pada setiap pengujian dapat dilihat pada tabel 4.14. Tabel 4.14 Error Posisi Target Pada Hasil Pengujian α RMSE Posisi Error Jarak x y z (m) 0.0009 4.098e-05 2.41e-05 2.848e-05 5.54e-05 0.0007 4.097e-05 2.418e-05 2.848e-05 5.54e-05 0.0005 4.096e-05 2.414e-05 2.848e-05 5.54e-05 0.0003 4.206e-05 2.498e-05 2.84e-05 5.65e-05 0.0001 3.11e-05 1.957e-05 3.68e-05 5.2e-05 Berdasarkan perhitungan RMSE hasil pengujian pada Tabel 4.14, dengan α = 0.0005 0.0009 memiliki nilai error jarak 5.54e-05 m, untuk α = 0.0003 memiliki nilai error jarak 5.65e-05 m dan α = 0.0001 memiliki nilai error jarak 5.2e-05 m sehingga permasalahan inverse kinematics dapat diselesaikan dengan menggunakan neuro-fuzzy. 4.4 Solusi Inverse Kinematics Untuk Membuat Pola Pada sub-bab sebelumnya telah dibahas perhitungan inverse kinematics untuk posisi x,y,z yang diinginkan. Tahap selanjutnya maka akan dilakukan perngujian ke dalam simulasi inverse kinematics ke beberapa titik atau posisi x,y,z yang diinginkan. Pada penelitian Tugas Akhir ini akan dilakukan perhitungan inverse kinematics, dimana sebelumnya telah ditentukan beberapa titik x,y,z target yang akan dituju end-effector. Beberapa titik x,y,z target tersebut akan membentuk pola segitiga. Pada percobaan ini, besar sudut θ 4, θ 5, θ 6 diabaikan atau diberi nilai nol dengan sudut awal [30 30 130 0 0 0] dan posisi x,y,z awal dari end-effector manipulator robot yaitu [0.1006 0.0581 0.0496 akan menuju beberapa titik x,y,z target sehingga membentuk segitiga. Pada metode neuro-fuzzy akan dilakukan penyelesaian untuk menghitung setiap titik yang akan dituju oleh end-effector manipulator robot Denso Titik x,y,z yang akan dicapai dapat dilihat pada Tabel 4.15 dan hasil plot segitiga yang diharapkan dapat dilihat pada Gambar 4.14. 63

Tabel 4.15 Posisi Target x,y,z Untuk Membentuk Pola Segitiga Titik x y z 1 0.1006 0.0581 0.0496 2 0.1100 0.0600 0.0496 3 0.1300 0.0400 0.0496 4 0.0900 0.0400 0.0496 5 0.1100 0.0600 0.0496 6 0.1006 0.0581 0.0496 Gambar 4.14 Hasil Pola Segitiga Yang Diinginkan Setelah menentukan titik x,y,z target dari end-effector manipulator robot yang akan membentuk segitiga maka akan dilakukan perhitungan inverse kinematics menggunakan neuro-fuzzy pada mfile matlab. Hasil sudut yang telah diperoleh dari neuro-fuzzy akan diproses oleh forward kinematics sehingga keluaran posisi dari perhitungan forward kinematics harus sesuai dengan posisi x,y,z target pada input dari neuro-fuzzy. Hasil keluaran posisi x,y,z tersebut dapat dilihat pada Tabel 4.16. 64

Tabel 4.16 Posisi x,y,z Neuro-Fuzzy Titik Posisi Target Posisi Keluaran NF x y z x y z 1 0.1006 0.0581 0.0496 0.10063 0.05809 0.04957 2 0.1100 0.0600 0.0496 0.11001 0.060005 0.04964 3 0.1300 0.0400 0.0496 0.13002 0.040005 0.04962 4 0.0900 0.0400 0.0496 0.08995 0.039979 0.04962 5 0.1100 0.0600 0.0496 0.11004 0.060005 0.04958 6 0.1006 0.0581 0.0496 0.10063 0.05809 0.04957 Dari hasil yang diperoleh pada tabel 4.16 dapat dilihat bahwa posisi x,y,z yang dihasilkan mendekati dengan posisi target x,y,z yang menjadi input dari neuro.fuzzy. Untuk perhitungan nilai error yang terjadi pada pengujian tersebut dapat dilihat pada tabel 4.17. Tabel 4.17 Error Posisi Pola Segitiga Posisi x y z RMSE 3.27e-05 9.14e-06 3.304e-05 Tabel 4.17 merupakan niai RMSE pada masing masing posisi titik x,y,z. Hal ini dilakukan untuk menguji apakah hasil output yang diperoleh dari neuro-fuzzy sesuai atau tidak. Pada tabel 4.17 menunjukkan bahwa error posisi kecil karena manipulator robot bergerak sedikit demi sedikit sesuai jumlah titik posisi target yang akan dituju sehingga hasil yang diperoleh akan membentuk pola segitiga yang lebih presisi. Tahap selanjutnya yaitu output dari neuro-fuzzy akan dimasukkan ke dalam simulai inverse kinematics agar dihasilkan plot sesuai gambar pola segitiga yang diinginkan. Untuk hasil plot pola segitiga yang dihasilkan dari neuro-fuzzy dapat dilihat pada gambar 4.15 dan grafik pergerakan end-effector menuju tiap titik target dapat dilihat pada gambar 4.16. Pada pergerakan end-effcetor grafik merah menunjukkan pergerakan sumbu x, grafik biru pergerakan sumbu y dan grafik hijau merupakan pergerakan dari sumbu z end-effector manipulator robot Denso. 65

Gambar 4.15 Hasil Pola Segitiga Neuro-Fuzzy Gambar 4.16 Pergerakan End Effector Manipulator Robot 66

BAB 5 PENUTUP 5.1 Kesimpulan Berdasarkan hasil pengujian pada bab sebelumnya, ada beberapa hal yang dapat disimpulkan dari penelitian pada Tugas Akhir ini, yaitu : 1. Berdasarkan percobaan simulasi dengan menggunakan range learning rate (0.0001 0.0009) dengan ketelitian error 0.00005, dengan learning rate 0.0009 keluaran neuro fuzzy iterasi yang dihasilkan lebih cepat dibandingkan dengan learning rate 0.0001. 2. Dengan α = 0.0005 0.0009 memiliki nilai error jarak 5.54e-05 m, untuk α = 0.0003 memiliki nilai error jarak 5.65e-05 m dan α = 0.0001 memiliki nilai error jarak 5.2e-05 m. 3. Manipulator robot Denso dapat menemukan posisi titik target untuk membuat pola segitiga yang diselesaikan menggunakan neuro - fuzzy dengan error pada titik x sebesar 3.27e-05 m, titik y sebesar 9.14e-06 m dan error pada titik z sebesar 3.304e-05 m. 5.2 Saran Sebagai pengembangan penelitian Tugas Akhir ini, ada beberapa hal yang dapat digunakan untuk perkembangan selanjutnya, yaitu: 1. Penulis menyarankan untuk menggunakan pemodelan sistem neurofuzzy lainnya seperti neuro-fuzzy Takagi Sugeno ataupun Larsent sehingga dapat dibandingkan lebih akurat yang mana dengan penelitian sebelumnya. 2. Untuk pengembangan penelitian selanjutnya, dengan menyelesaikan perhitungan orientasi pada manipulator robot Denso 6-DoF. 3. Disarankan untuk penelitian selanjutnya, melakukan perhitungan dinamika robot. 67

-- Halaman ini sengaja dikosongkan -- 68

DAFTAR PUSTAKA [1] Mark, W. Spong., Robot Dynamic and Control, John Willey and Sons, 2005. [2] S. Alavander, M. J. Nigam, Neuro-Fuzzy based approach for Inverse Kinematics Solution of Industrial Robot Manipulator, International Journal of Computers, Communication and Control, 3(3), 224-234,2008. [3] Quanser/ Denso Speciality Plant., Open-Architecture Enabled with QUARC: Quanser 6-Axis Articulated Robot, Denso 6-Axis Open- Architecture Manual, Document Number : 802, pp.41, Revision:1.0. [4] Pradana, S. S., 2012. Solusi Inverse Kinematics Menggunakan Logika Fuzzy pada Robot Manipulator Denso 6-DoF. Surabaya: Institut Teknologi Sepuluh Nopember. [5] Prasetia, I. E., 2012. Inverse Kinematics dengan Solusi Closed Form Pada Robot Denso Manipulator. Surabaya: Institut Teknologi Sepuluh Nopember. [6] Siciliano, Bruno., Lorenzo Sciavicco, luigi Villani, Giuseppe Oriolo, Robotics: Modelling, Planning and Control, Springer, 2009. [7] Pertiwi, M. M., 2013. Perancangan Kontroler Neuro-Fuzzy Untuk Pengaturan Kecepatan Motor Spindle Pada CNC Jenis Milling. Surabaya: Institut Teknologi Sepuluh Nopember. [8] Kusumadewi, Sri, Hartati, Sri. Neuro Fuzzy: Sistem Fuzzy & Jaringan Syaraf. Graha Ilmu.Yogyakarta. 2010 [9] Jang Jyh-Shing Roger., Sun Chuen-Tsai., Mizutani Eiji. (1997) Neuro-Fuzzy and Soft Computing. Prentice Hall.United States of America. [10] Shiv Manjaree, Vijyant Agarwal, B C Nakra, Kinematic Analysis Using Neuro-Fuzzy Intelligent Technique for Robotic Manipulator, International Journal of Engineering Research and Technology, 6(4),557-562,2013. [11] Corke, Peter I., Robotics Toolbox for Matlab (Release 10), http://www.petercorke.com/robot. 69

-- Halaman ini sengaja dikosongkan -- 70

LAMPIRAN 1. Diagram Blok Simulasi Forward Kinematics Pada Tugas Akhir ini, blok diagram simulasi forward kinematics digunakan untuk menghasilkan posisi yang diinginkan oleh end-effector dengan masukan besar sudut tiap joint manipulator robot Denso. Gambar 1. Diagram Blok Simulasi Forward Kinematics 2. Diagram Blok Simulasi Inverse Kinematics Masukan dari diagram blok simulasi ini berupa sudut tiap joint yang dihasilkan dari m-file neuro-fuzzy. Sudut yang menjadi input tersebut output-nya akan menghasilkan posisi yang dituju oleh end-effector. Gambar 1. Diagram Blok Simulasi Forward Kinematics 71

3. Program Forward Kinematics function [N] = forward1(mas) global a2 d1 d4 d6 global c1 c2 c3 c4 c5 c6 s1 s2 s3 s4 s5 s6 global nx ny nz sx sy sz ax ay az px py pz unction [N] = forward1(mas) global a2 d1 d4 d6 global c1 c2 c3 c4 c5 c6 s1 s2 s3 s4 s5 s6 global nx ny nz sx sy sz ax ay az px py pz a2= 0.21; d1= 0.125; d4= 0.122; d6= 0.070; t1=mas(1); t2=mas(2); t3=mas(3); t4=mas(4); t5=mas(5); t6=mas(6); %inisialisasi c1=cosd(t1); c2=cosd(t2); c3=cosd(t3); c4=cosd(t4); c5=cosd(t5); c6=cosd(t6); s1=sind(t1); s2=sind(t2); s3=sind(t3); s4=sind(t4); s5=sind(t5); s6=sind(t6); %inisialisasi matrix nx= - c6*(s5*(c1*c2*s3 + c1*c3*s2) + c5*(s1*s4 - c4*(c1*c2*c3 - c1*s2*s3))) - s6*(c4*s1 + s4*(c1*c2*c3 - c1*s2*s3)); 72

ny= s6*(c1*c4 - s4*(c2*c3*s1 - s1*s2*s3)) - c6*(s5*(c2*s1*s3 + c3*s1*s2) - c5*(c1*s4 + c4*(c2*c3*s1 - s1*s2*s3))); nz= c6*(s5*(c2*c3 - s2*s3) + c4*c5*(c2*s3 + c3*s2)) - s4*s6*(c2*s3 + c3*s2); sx= s6*(s5*(c1*c2*s3 + c1*c3*s2) + c5*(s1*s4 - c4*(c1*c2*c3 - c1*s2*s3))) - c6*(c4*s1 + s4*(c1*c2*c3 - c1*s2*s3)); sy= s6*(s5*(c2*s1*s3 + c3*s1*s2) - c5*(c1*s4 + c4*(c2*c3*s1 - s1*s2*s3))) + c6*(c1*c4 - s4*(c2*c3*s1 - s1*s2*s3)); sz= - s6*(s5*(c2*c3 - s2*s3) + c4*c5*(c2*s3 + c3*s2)) - c6*s4*(c2*s3 + c3*s2); ax= s5*(s1*s4 - c4*(c1*c2*c3 - c1*s2*s3)) - c5*(c1*c2*s3 + c1*c3*s2); ay= - c5*(c2*s1*s3 + c3*s1*s2) - s5*(c1*s4 + c4*(c2*c3*s1 - s1*s2*s3)); az= c5*(c2*c3 - s2*s3) - c4*s5*(c2*s3 + c3*s2); px = a2*c1*c2 - d4*(c1*c2*s3 + c1*c3*s2) - d6*(c5*(c1*c2*s3 + c1*c3*s2) - s5*(s1*s4 - c4*(c1*c2*c3 - c1*s2*s3))); py = a2*c2*s1 - d4*(c2*s1*s3 + c3*s1*s2) - d6*(c5*(c2*s1*s3 + c3*s1*s2) + s5*(c1*s4 + c4*(c2*c3*s1 - s1*s2*s3))); pz = d1 + a2*s2 + d4*(c2*c3 - s2*s3) + d6*(c5*(c2*c3 - s2*s3) - c4*s5*(c2*s3 + c3*s2)); M=[nx sx ax px; ny sy ay py; nz sz sz pz 0 0 0 1] N=[px py pz]; 4. Program Inverse Kinematics clear all; close all; clc; % Inisialisasi tha=[30 30 130 0 0 0]; xyza=forward1(tha); 73

xyzt=[0.0871 0.0610 0.0650]; %1([35 35 125 0 0 0])) dxyz=xyzt-xyza; dtot=sqrt(dxyz(1)^2+dxyz(2)^2+dxyz(3)^2) d=0.005; jdpoin=floor(dtot/d) dx=dxyz(1)/jdpoin; dy=dxyz(2)/jdpoin; dz=dxyz(3)/jdpoin; c1=0*rand(1,3); c2=0*rand(1,3); c3=0*rand(1,3); %Inferece Mack Vicar Wheelan rb1(1,:,:)=[3 2 1;3 2 1; 3 2 1]; rb1(2,:,:)=[3 2 1;3 2 1; 3 2 1]; rb1(3,:,:)=[3 2 1;3 2 1; 3 2 1]; rb2(1,:,:)=[3 3 3;2 2 2; 1 1 1]; rb2(2,:,:)=[3 3 3;2 2 2; 1 1 1]; rb2(3,:,:)=[3 3 3;2 2 2; 1 1 1]; rb3(1,:,:)=[1 1 1;2 2 2; 3 3 3]; rb3(2,:,:)=[1 1 1;2 2 2; 3 3 3]; rb3(3,:,:)=[1 1 1;2 2 2; 3 3 3]; for p=1:jdpoin xyztar=zeros(p,3); xyztar(p,:)=xyza+p*[dx dy dz]; esd1(p)=10; esd2(p)=10; esd3(p)=10; I(p)=0; dxf = zeros(3,1); dyf = zeros(3,1); dzf = zeros(3,1); 74

% Lapisan 1 : Fuzzifikasi % fuzzifikasi delta_error x if dx <= -1 dxf(1) = 1; elseif dx < 0 dxf(1) = 0-dx; dxf(2) = dx+1; elseif dx < 1 dxf(2) = 1-dx; dxf(3) = dx; else dxf(3)=1; end % fuzzifikasi delta_error y if dy <= -1 dyf(1) = 1; elseif dy < 0 dyf(1) = 0-dy; dyf(2) = dy+1; elseif dy < 1 dyf(2) = 1-dy; dyf(3) = dy; else dyf(3)=1; end % fuzzifikasi delta_error z if dz <= -1 dzf(1) = 1; elseif dz < 0 dzf(1) = 0-dz; dzf(2) = dz+1; elseif dz < 1 dzf(2) = 1-dz; dzf(3) = dz; else dzf(3)=0; end 75

% Lapisan 2&3 (Rule Base & Normalisasi) for m= 1:3 for n= 1:3 for o= 1:3 xx(m,n,o) = min([dxf(m) dyf(n) dzf(o)]);%mamdani end end end % inference fuzzy mack vicar wheelan u1 = zeros(3,1); u2 = zeros(3,1); u3 = zeros(3,1); for l= 1:3 for m= 1:3 for n= 1:3 k = rb1(l,m,n); u1(k) = max(u1(k),xx(l,m,n));%mamdani end end end %normalisasi w1=u1/sum(u1); for l= 1:3 for m= 1:3 for n= 1:3 k = rb2(l,m,n); u2(k) = max(u2(k),xx(l,m,n)); %mamdani end end end %normalisasi w2=u2/sum(u2); for l= 1:3 for m= 1:3 76

for n= 1:3 k = rb3(l,m,n); u3(k) = max(u3(k),xx(l,m,n)); %mamdani end end end %normalisasi w3=u3/sum(u3); while (abs(esd1(p))>0.00005 abs(esd2(p))>0.00005 abs(esd3(p))>0.00005) % Lapisan 4&5 (Consequent Parameter & Defuzzyfikasi) dtn1=sum(c1*w1)/sum(w1); dtn2=sum(c2*w2)/sum(w2); dtn3=sum(c3*w3)/sum(w3); thad=tha+[dtn1 dtn2 dtn3 0 0 0]; if thad(1)>160 thad=thad-[320 0 0 0 0 0]; elseif thad(1)<-160 thad=thad+[320 0 0 0 0 0]; else thad=thad; end if thad(2)>50 thad=thad-[0 30 0 0 0 0]; elseif thad(2)<20 thad=thad+[0 30 0 0 0 0]; else thad=thad; end if thad(3)>160 thad=thad-[0 0 40 0 0 0]; elseif thad(3)<120 thad=thad+[0 0 40 0 0 0]; else 77

thad=thad; end xyzn=forward1(thad); sd1(p)=atan2(xyztar(p,2),xyztar(p,1))*180/pi; sd2(p)=sqrt((xyztar(p,1)^2)+(xyztar(p,2)^2)); sd3(p)=xyztar(p,3); sd1n(p)=atan2(xyzn(2),xyzn(1))*180/pi; sd2n(p)=sqrt((xyzn(1)^2)+(xyzn(2)^2)); sd3n(p)=xyzn(3); esd1(p)=sd1(p)-sd1n(p); esd2(p)=sd2(p)-sd2n(p); esd3(p)=sd3(p)-sd3n(p); ed2=-1; if sign(esd2(p))>0 ed2=1; end ed3=1; if sign(esd3(p))>0 ed3=-1; end clc; I(p)=I(p)+1; I [sd1(p) sd1n(p) esd1(p) sd2(p) sd2n(p) esd2(p) sd3(p) sd3n(p) esd3(p) thad(:,1:3) xyza xyztar(p,:) xyzn] [p] alp1=0.0005; alp2=0.0005; alp3=0.0005; if abs(esd1(p))<0.0008 alp1=0.0001; 78

end if abs(esd2)<0.0015 alp2=0.0001; end if abs(esd3)<0.0015 alp3=0.0001; end [alp1 alp2 alp3] % Proses Backpropagation c1(1)=c1(1)+alp1*sign(esd1(p))*w1(1); c1(2)=c1(2)+alp1*sign(esd1(p))*w1(2); c1(3)=c1(3)+alp1*sign(esd1(p))*w1(3); c2(1)=c2(1)+alp2*ed2*w2(1); c2(2)=c2(2)+alp2*ed2*w2(2); c2(3)=c2(3)+alp2*ed2*w2(3); c3(1)=c3(1)+alp3*ed3*w3(1); c3(2)=c3(2)+alp3*ed3*w3(2); c3(3)=c3(3)+alp3*ed3*w3(3); end end hasil(p,:)=thad; 79

-- Halaman ini sengaja dikosongkan -- 80

RIWAYAT PENULIS Rika Puspitasari Rangkuti, dilahirkan di Cirebon - Losari pada tanggal 22 Mei 1993. Penulis merupakan anak pertama dari lima bersaudara. Penulis telah menempuh pendidikan formal di TK Mutiara Cirebon (1998), SDN 060812 Medan (1998-2004), SMPN 28 Medan (2004-2007), SMK Telkom Sandhy Putra Medan (2007-2010) dan D3 Jurusan Teknik Elektro dengan bidang studi Elektronika di Politeknik Negeri Medan (2010-2013). Selanjutnya terdaftar di Lintas- Jalur 2015 Jurusan Teknik Elektro Institut Teknologi Sepuluh Nopember Surabaya. Di Jurusan Teknik Elektro penulis mengambil bidang studi Teknik Sistem Pengaturan dengan judul Tugas akhir KINEMATIKA BALIK MENGGUNAKAN NEURO-FUZZY PADA MANIPULATOR ROBOT DENSO. Contact Person : Email : rangkuti.rika@gmail.com 81