TUGAS AKHIR – TE 141599
PENGATURAN FORMASI PADA ROBOT NONHOLONOMIK MENGGUNAKAN PENDEKATAN VIRTUAL STRUCTURE DALAM PEMINDAHAN OBJEK Willybrordus H.P.M NRP. 2213 100 058 Dosen Pembimbing Prof. Dr. Ir. Achmad Jazidie, M.Eng. Imam Arifin ST., MT. JURUSAN TEKNIK ELEKTRO Fakultas Teknologi Industri Institut Teknologi Sepuluh Nopember Surabaya 2016 i
ii
FINAL PROJECT – TE 141599
FORMATION CONTROL FOR NONHOLONOMIC ROBOT USING VIRTUAL STRUCTURE APPROACH TO DELIVER AN OBJECT
Willybrordus H.P.M NRP. 2213 100 058 Supervisor Prof. Dr. Ir. Achmad Jazidie, M.Eng. Imam Arifin ST., MT. DEPARTEMENT OF ELECTRICAL ENGINEERING Faculty of Industrial Technology Sepuluh Nopember Insitute of Technology Surabaya 2016 iii
iv
Halaman ini sengaja dikosongkan
vi
Halaman ini sengaja dikosongkan
viii
PENGATURAN FORMASI PADA ROBOT NONHOLONOMIK MENGGUNAKAN PENDEKATAN VIRTUAL STRUCTURE DALAM PEMINDAHAN OBJEK Willybrordus H.P.M 2213 100 058 Dosen Pembimbing I Dosen Pembimbing II
: Prof. Dr. Ir. Achmad Jazidie, M.Eng. : Imam Arifin, ST., MT
ABSTRAK Dalam tugas pemindahan barang (logistik) pengaturan bentuk formasi diperlukan untuk mengatasi kondisi slip roda yang dapat menyebabkan perubahan bentuk dan kesalahan gerak formasi robot. Pengaturan formasi diwujudkan dengan menggunakan konsep pendekatan virtual structure untuk mengatasi kondisi tersebut. Pada pendekatan tersebut, peran robot acuan dalam memimpin formasi digantikan dengan titik virtual di komputer. Pendekatan ini dikembangkan untuk memaksa pergerakan tiap robot layaknya pergerakan titik virtual yang tergabung dalam kesatuan struktur formasi. Pengaturan bentuk formasi dengan pendekatan ini menghasilkan kesalahan gerak robot yang minimal sebesar 0,091 meter dari jalur referensi. Kata kunci: Nonholonomik, kinematik, vitual structure, fuzzy logic, push and steere Pada industri proses yang melibatkan fluida, suatu fluida akan dipompa dan dialirkan dari satu tangki ke tangki yang lain untuk diolah. Dalam dunia industri proses terdapat beberapa jenis tangki yang digunakan seperti tangki yang tidak terhubung dengan tangki yang lainda tangki merupkan salah satu variabel kontrol yang penting pada industri proses. Kontroler yang banyak digunakan di industri proses adalah kontroler PID karena kesederhanaan struktur dan kehandalannya. Pada penerapan kontroler PID tuning parameter kontroler sering dilakukan dengan prosedur trial and error. Plant di industri dapat mengalami ix
perubahan parameter yang diakibatkan karena terjadinya perubahan beban pada plant. Untuk tetap memenuhi spesifikasi kontrol yang diharapkan maka perlu dilakukan tuning ulang parameter kontroler PID. Kontroler PID Neural Network ini didesain untuk dapat melakukan autotuning pada parameter kontroler PID sehingga dapat mengatasi perubahan parameter pada plant dan menjaga performa dari plant. Berdasarkan hasil simulasi, kecepatan respon dilihat dari time constant pada plant dengan menggunakan kontroler PID Neural Network dengan learning rate 0.5 lebih cepat 9.04 detik dibanding dengan kontroler PI.
Kata Kunci : Coupled tnks¸ kontroler PID, Neural Network Halaman ini sengaja dikosongkan
x
FORMATION CONTROL FOR NONHOLONOMIC ROBOT USING VIRTUAL STRUCTURE APPROACH TO DELIVER AN OBJECT Willybrordus H.P.M 2213 100 058 Supervisor I Supervisor II
: Prof. Dr. Ir. Achmad Jazidie, M.Eng. : Imam Arifin, ST., MT.
ABSTRACT Formation control to deliver an object is needed to attain condition of slip from wheel on each robot which can make changes form and movement failure of formation. The formation is controlled using concept of a virtual structure approach to handle the condition. In this approach, function of reference robot to lead movement of the formation is replaced with virtual point in the computer. The approach are developed to force an ensemble of robots to behave as if they were particles embedded in a rigid structure. Formation form controlled with this approach produce a minimum movement failure about 0,091 meter from reference virtual path. Keywords: Nonholonomic, kinematic, vitual structure, fuzzy logic, push and steere
xi
Halaman ini sengaja dikosongkan
xii
KATA PENGANTAR Alhamdulillaahi Robbil ‘Alamin, terucap syukur kehadirat Allah atas Puji syukur penulis unjukkan kehadirat Tuhan yang Maha Esa atas berkatNya sehingga penulis dapat menyelesaikan tugas akhir ini yang berjudul : “Pengaturan Formasi Pada Robot Nonholonomik Menggunakan Pendekatan Virtual Structure Dalam Pemindahan Objek.” guna memenuhi syarat kelulusan pada Bidang Studi Teknik Sistem Pengaturan Jurusan Teknik Elektro Fakulitas Teknologi Industri Institut Teknologi Sepuluh Nopember (ITS) Surabaya. Penulis juga mengucapkan terimakasih kepada pihak-pihak yang berjasa dalam pengerjaan tugas akhir ini yaitu keluarga terutama ibu, bapak, dan kakak tercinta yang selalu memberi dukungan, semangat, dan doa untuk keberhasilan penulis. Bapak Prof. Dr. Ir. Achmad Jazidie, M.Eng. dan Bapak Imam Arifin selaku dosen pembimbing yang telah banyak memberikan saran serta bimbingannya. Bapak Moh. Abdul Hady yang memberikan arahannya. Seluruh dosen bidang studi Teknik Sistem Pengaturan dan Jurusan Teknik Elektro atas pendidikan dan ilmunya. Teman-teman seperjuangan Yusuf, Haris, dan Nindya yang telah mendukung dan menemani dalam suka maupun duka serta semua pihak yang tidak dapat disebutkan satu persatu atas dukungannya kepada penulis. Laporan Tugas Akhir ini masih jauh dari sempurna. Oleh karena itu, penulis mengharapkan kritik dan saran dari pembaca. Semoga buku laporan Tugas Akhir ini dapat memberikan manfaat bagi pembaca sebagai acuan penelitian selanjutnya. Surabaya, 15 Desember 2016
Penulis
xiii
Halaman ini sengaja dikosongkan
xiv
DAFTAR ISI HALAMAN JUDUL.............................................................................. i PERNYATAAN KEASLIAN TUGAS AKHIR .................................... v LEMBAR PENGESAHAN ................................................................. vii ABSTRAK .......................................................................................... ix ABSTRACT .......................................................................................... xi KATA PENGANTAR ....................................................................... xiii DAFTAR ISI ...................................................................................... xv DAFTAR GAMBAR ........................................................................ xvii DAFTAR TABEL.............................................................................. xix BAB 1 PENDAHULUAN .................................................................... 1 Latar Belakang ........................................................................ 1 Rumusan Masalah ................................................................... 3 Batasan Masalah...................................................................... 3 Tujuan Penilitian ..................................................................... 4 1.5 Metodologi .............................................................................. 4 1.6 Sistematika Penulisan .............................................................. 5 1.7 Relevansi................................................................................. 5 BAB 2 SISTEM PENGATURAN FORMASI GERAK ROBOT DAN METODE PENGOELAHAN GAMBAR .............................................. 7 Robot Mobile .......................................................................... 7 Model Pergerakan Nonholonomik ........................................... 8 Analisa Kinematik Sistem Nonholonomik .................. 10 Model Jacobian Robot Nonholonomik ........................ 12 Perangkat Sensor Bumper.. ......................................... 16 Kontroler PID........................................................................ 16 Kontroler Proporsional ............................................... 17 Kontroler Integral ....................................................... 17 Kontroler Differensial ................................................ 18 Logika Fuzzy sebagai Fungsi Supervisory .............................. 18 Pengaturan Formasi dengan Pendekatan Virtual Structure ..... 20 Metode Tressholding pada Pengolahan Gambar ................... 21 Intensity Adjustment ................................................... 23 Histogram Equalization .............................................. 23 Thresholding .............................................................. 23 BAB 3 PERANCANGAN SISTEM PENGATURAN FORMASI ROBOT ............................................................................................. 27 Gambaran Umum Sistem....................................................... 27 xv
Konfigurasi Sistem Pengaturan Formasi Robot ........... 27 Diagram Blok Pengaturan Formasi Robot .................. 28 Teknik Go to Goal . .................................................... 30 Algoritma Push and Steer .......................................... 31 Spesifikasi Robot dan Bentuk Formasi Robot ........................ 32 Perancangan Kontroler PID Ziegler-Nichols. ......................... 33 Perancangan Kontroler PID -Fuzzy ....................................... 38 Perancangan Graphical User Interface (GUI)........................ 42 BAB 4 PENGUJIAN DAN ANALISA SISTEM PENGATURAN FORMASI ROBOT .......................................................................... 445 Pengujian Simulasi dengan Kontroler Proporsional ............... 45 Pengujian Simulasi dengan Kontroler PID Ziegler-Nichols. .. 47 Pengujian Simulasi dengan Variasi Nilai Kp ......................... 49 Pengujian Simulasi dengan Kontroler PID-Fuzzy. ................. 52 Simulasi Algoritma Push and Steer dan Virtual Structure ...... 53 Simulasi Ganguan pada Pergerakan Robot............................. 55 Gerakan Robot Kemudi menggunakan PID Ziegler-Nichols .. 57 Gerakan Robot Kemudi menggunakan PID-Fuzzy ................. 59 Implementasi Algoritma Push and Steer ............................... 61 Implementasi Penggabungkan Algoritma Push and Steere dan Algortima Virtual Structure ................................................... 66 BAB 5 KESIMPULAN ....................................................................... 71 DAFTAR PUSTAKA ......................................................................... 73 LAMPIRAN ....................................................................................... 75 RIWAYAT PENULIS ........................................................................ 95
xvi
DAFTAR GAMBAR Gambar 2.1 Jenis-jenis mobile robot ...................................................... 7 Gambar 2.2 Gerakan holonomik............................................................. 8 Gambar 2.3 Gerakan nonholonomik ....................................................... 9 Gambar 2.4 Gerak holonomik (a), dan Gerak nonholonomik (b) ............ 9 Gambar 2.5 Tranformasi koordinat dalam 2D ...................................... 10 Gambar 2.6 Tipe konfigurasi roda ........................................................ 12 Gambar 2.7 Desain sensor bumper robot .............................................. 16 Gambar 2.8 Diagram blok logika fuzzy sebagai supervisory ................. 20 Gambar 2.9 Mekanisme pendekatan virtual structure ........................... 20 Gambar 2.10 Gambar awal ................................................................... 23 Gambar 2.11 Hasil gambar dengan metode histogram equalization ...... 23 Gambar 2.12 Hasil gambar menggunakan teknik image thresholding ... 24 Gambar 3.1 Konfigurasi sistem pengaturan formasi robot .................... 28 Gambar 3.2 Diagram blok pergerakan robot dalam formasi .................. 29 Gambar 3.3 Mekanisme metode Go to Goal......................................... 30 Gambar 3.4. Ilustrasi algorrima push and steere ................................... 31 Gambar 3.5 Konfigurasi formasi robot ................................................ 33 Gambar 3.6 Bentuk Platoon formation untuk memindahkan objek ....... 33 Gambar 3.7 Posisi mula-mula robot pendorong dan robot kemudi ........ 34 Gambar 3.8 Robot K mulai bergerak ketika robot P mendekat.............. 35 Gambar 3.9 Pergerakan formasi mengikuti jalur yang ditentukan ......... 35 Gambar 3.10 Formasi berhenti bergerak sesuai titik virtual center ....... 36 Gambar 3.11 Pergerakan robot dengan nilai Kp=1, Ki=0, Kd=0 ........... 37 Gambar 3.12 Respon orientasi robot (Kp=14, Ki=0, Kd=0) .................. 38 Gambar 3.13 Fungsi keanggotaan error orientasi robot ........................ 39 Gambar 3.14 Fungsi keanggotaan delta error orientasi robot. ............... 40 Gambar 3.15 Fungsi keanggotaan gain proportional ............................. 40 Gambar 3.16 Fungsi keanggotaan gain integral .................................... 40 Gambar 3.17 Fungsi keanggotaan gain derivative ................................ 41 Gambar 3.18 GUI sistem pengaturan formasi robot .............................. 43 Gambar 4.1 Pengaturan formasi dengan kontroler proportional ............ 45 Gambar 4.2 Pergerakan robot kemudi dengan nilai Kp = 1 ................... 46 Gambar 4.3 Orientasi robot kemudi dengan nilai Kp = 1 ...................... 47 Gambar 4.4 Orientasi robot kemudi dengan PID Ziegler-Nichols ......... 48 Gambar 4.5 Pergerakan formasi dengan PID Ziegler-Nichols ............... 49 Gambar 4.6 Pengujian sistem degan variasi nilai Kp ........................... 50 Gambar 4.7 Pergerakan Robot kemudi dengan Kp sebesar 20 .............. 51 xvii
Gambar 4.8 Hasil pergerakan robot dengan Kp=5 ............................... 51 Gambar 4.9 Orientasi robot dengan PID-fuzzy. ..................................... 53 Gambar 4.10 Orientasi robot dengan PID Ziegler-Nichols .................... 54 Gambar 4.11 Orientasi robot pada penggabungan algoritma ................ 54 Gambar 4.12 Pergerakan robot kemudi dengan gangguan .................... 55 Gambar 4.13 Respon kesalahan orientasi robot kemudi ........................ 56 Gambar 4.14 Respon orientasi robot kemudi dengan kontroler PID ...... 58 Gambar 4.15 Respon kesalahan orientasi robot kemudi ........................ 58 Gambar 4.16 Pergerakan robot kemudi dengan PID-Ziegler Nichols .... 59 Gambar 4.17 Kesalahan orientasi robot kemudi dengan PID-fuzzy ....... 60 Gambar 4.18 Orientasi robot kemudi dengan PID-fuzzy ....................... 60 Gambar 4.19 Pergerakan robot kemudi dengan kontroler PID-fuzzy ..... 61 Gambar 4.20 Tampilan implementasi tugas pemindahan objek............. 62 Gambar 4.21 Respon kesalahan orientasi pergerakan robot .................. 62 Gambar 4.22 Pergerakan barang dengan algoritma push and steer ....... 63 Gambar 4.23 Orientasi robot dalam algoritma push and steere ............. 64 Gambar 4.24 Kesalahan orientasi pada robot kemudi ........................... 65 Gambar 4.25 Implementasi gerak robot kemudi dengan PID-fuzzy ....... 65 Gambar 4.26 Orientasi robot kemudi dengan PID-fuzzy ....................... 66 Gambar 4.27 Pergerakan formasi pada pengabungan algoritma. ........... 67 Gambar 4.28 Respon kesalahan orientasi tiap robot.............................. 68 Gambar 4.29 Pergerakan formasi dengan kontroler PID-Fuzzy ............. 69 Gambar 4.30 Kesalahan orientasi dengan kontroler PID-Fuzzy............. 70
xviii
DAFTAR TABEL Tabel 3.1 Spesifikasi robot ................................................................... 32 Tabel 3.2.Aturan desain kontroler PID metode Ziegler-Nichols............ 38 Tabel 3.3.Aturan dasar pada sistem pengaturan orientasi gerak robot ... 42 Tabel 4.1.Spesifikasi respon trasien dengan variasi nilai Kp ................. 50
xix
Halaman ini sengaja dikosongkan
xx
1 BAB 1 PENDAHULUAN Pengaturan gerak robot dalam formasi sudah berkembang pesat dalam berbagai bidang pekerjaan. Keuntunngan dari penggunaan formasi robot salah satunya adalah mengurangi kecerobohan manusia dalam pekerjaan. Jasa pengiriman barang dan industri manufaktur sudah banyak memanfaatkan robot untuk membantu kerja manusia. Berdasarkan keuntungan tersebut penelitian ini dilakukan untuk dapat memahami kerja formasi robot dalam implementasinya di industri dengan tugas pemindahan barang.
Latar Belakang Penggunaan robot untuk membantu kerja manusia sudah banyak dijumpai dalam berbagai tugas. Tugas-tugas seperti penjagaan lokasi, eksplorasi area asing, pemindahan dan pemeriksaan barang pada proses produksi sudah umum dipakai. Pekerjaan-pekerjaan yang ingin diselesaikan menuntut sistem yang rumit untuk dikerjakan oleh sebuah robot, sehingga diperlukan beberapa robot untuk menyelesaikannya. Pada tugas pemindahan (logistik) barang di industri robot digunakan untuk menggantikan manusia. Tugas ini diwujudkan dengan menggunakan sistem multi robot terutama untuk barang yang mempunyai ukuran lebih besar dari robot. Penggunaan multi robot dalam penyelesaian masalah berawal dari konsensus dan kerjasama mengenai sistem jaringan multi agent. Konsensus ini telah menarik banyak perhatian dalam penelitian. Permasalahan dalam konsensus tersebut diteliti secara sistematis pada awal tahun 1960 dalam konteks pengelolaan ilmu pengetahuan dan statistik. Ide-ide hasil penelitian tersebut digunakan dalam beberapa ranah yang berbeda seperti penggabungan data pada sensor, pengobatan, dan simulasi dari sikap membentuk kelompok (flocking behaviour). Pada kurun waktu sepuluh tahun terakhir masalah umum konsensus mengenai multi agen berpusat pada jaringan sistem dinamik. Masalah tersebut muncul dalam bentuk bermacam-macam tergantung pada ranah aplikasinya [1]. Sistem multi robot mulai diterapkan dengan konsep sistem cooperative robot pada tahun 1995 oleh Rusell G. Brown dan James S. Jennings yang memperkenalkan algoritma push and steer dalam memindahkan objek [2]. 1
Sistem cooperative robot ditawarkan sebagai solusi saat beban kerja yang diberikan pada sebuah robot tidak dapat diselesaikan. Sistem ini menawarkan sebuah kerja sama yang dilakukan antar robot untuk melakukan perkerjaan dan mencapai tujuan tertentu. Alasan lain dari penggunaan sistem ini yaitu ketika sistem ini lebih fleksibel dan toleran terhadap kesalahan kecil, serta memiliki biaya yang lebih murah dibandingkan menggunakan sistem robot tunggal skala besar [3]. Sistem ini mempunyai keuntungan, dilihat dari fungsi redundancy dimana robotrobot ini dapat menjalankan tugasnya apabila terdapat kerusakan pada salah satu robot dalam kelompok. Cooperative robot telah mendapat banyak perhatian dalam berbagai bidang, antara lain dalam pengaturan arus lalu lintas, formasi berpola, dan pemindahan benda secara bersama-sama. Ketiga contoh tersebut berhubungan dengan masalah pengaturan gerak robot untuk menjaga bentuk formasi yang disusun. Masalah tersebut manjadi fokus utama dalam pembentukan formasi dari sistem cooperative robot. Tiap robot saling bekerja sama untuk menyelesaikan tugasnya melalui pembentukan formasi selama pergerakan. Keuntungan yang ditawarkan oleh sistem cooperative robot dapat diterapkan pada tugas inralogistik dalam industri. Tugas intralogistik dalam industri merupakan tugas pengiriman barang antara workstation asal menuju workstation tujuan ataupun pemindahan barang yang dilakukan dalam satu workstation untuk menunjang proses produksi. Ketepatan gerak tiap robot utnuk dapat memindahkan barang diwujudkan dengan mengatur kecepatan agar bentuk formasi yang disusun untuk dapat menyelesaikan tugas intralogistik tidak berubah selama pergerakan. Formasi yang dibentuk oleh robot dapat dilakukan dengan pendekatan antara lain; pendekatan behavior based, leader and follower, dan virtual structure. Hal yang menjadi perhatian utama dalam ide cooperative robot adalah mempertahankan bentuk formasi robot selama pergerakan ataupun keadaan diam. Berawal dari hal tersebut konsep pendekatan virtual structure dikenalkan untuk menjaga bentuk formasi dengan tingkat ketelitian yang tinggi. Pendekatan ini memperlakukan bentuk formasi aktual robot sebagai gambar virtual. Bentuk gambar formasi virtual disusun oleh posisi robot yang tertangkap oleh kamera. Pendekatan ini dapat menambah ketahanan pada formasi robot dalam melakukan maneuver terhadap halangan yang ada [3]. Oleh sebab itu, tugas akhir ini diusulkan untuk mengatasi permasalahan yang ada dengan
2
menerapkan pendekatan virtual structure pada pengaturan formasi robot nonholonomik dalam pemindahan objek.
Rumusan Masalah Dewasa ini tantangan terbesar dalam pengadaan barang di industri adalah rentannya kecerobohan pada tugas pengiriman (logistik) barang. Pihak industri menjadikan robot sebagai solusi untuk menggantikan manusia dalam tugas logistik. Tugas logistik bisa diwujudkan dalam kerjasama antar robot terutama untuk barang yang mempunyai ukuran lebih besar dari robot. Robot yang digunakan memerlukan formasi untuk melaksanakan tugas logistik. Formasi yang dibentuk harus dapat menghimpit benda, sehingga dibutuhkan minimal dua robot dalam melaksanakan tugas. Penggunaan dua buah robot memberikan bentuk formasi garis (platon formation) yang menyerupai barisan robot memanjang. Jarak antara robot dalam formasi garis dimanfaatkan untuk menghimpit benda, agar dapat dipindahkan. Pergerakan robot dalam formasi untuk melaksanakan tugas bergantung pada lingkungan sekitar ruang gerak robot. Gaya gesek antara roda robot dan landasan gerak robot menjadi penyebab utama keadaan slip pada robot. Kecepatan sudut roda yang lebih cepat dibandingkan kecepatan linier robot merupakan kondisi slip robot. Bentuk formasi yang seharusnya tetap, dapat berubah disebabkan oleh kondisi slip.
Batasan Masalah Pada penelitian ini penulis hanya membahas pergerakan dua robot dalam tugasnya untuk memindahkan barang pada jalur yang ditentukan. Tugas pemindahan objek tidak termasuk pada kondisi dimana robot harus mencari barang yang harus dipindahkan terlebih dahulu. Barang yang dipindahkan memempunyai ukuran dua kali lebih besar dari pada dimensi robot. Robot yang digunakan dalam penelitian ini adalah robot nonholonomik BoeBot (Parallax) Arduino module dengan IC AT-MEGA 368 dengan dimensi 17cm x 18.5cm x 15cm. Perangkat kamera digunakan mempunyai sifat sebagai global kamera. Global kamera yang dimaksud merupakan pemasangan kamera sedemikian rupa untuk mendapatkan gambar keseluruhan lapangan secara 2D. Posisi kamera terpasang dengan ketinggian 150 cm tegak lurus terhadap lapangan pengujian. Kamera yang digunakan mempunyai kualitas gambar sebesar 320x240 pixel.
3
Analisa pergerakan robot menggunakan persamaan kinematik, sehingga tidak memperdulikan gaya-gaya yang berkerja pada robot yang dapat mempengaruhi pergerakan. Pergerakan robot berdasarkan trajektory yang ada didasarkan pada selisih orientasi antara posisi awal robot dan posisi tujuan robot, dengan orientasi awal yang dimiliki sebuah robot, sehingga pengaturan gerak didasarkan pada pengaturan kecepatan sudut dari badan robot dan kecepatan linier robot diberikan nilai kecepatan konstan. Pada tugas pemindahan objek, jalur yang ditetapkan adalah jalur yang terbatas disesuaikan dengan luas lapangan pengujian. Luas lapangan pengujian yang digunakan adalah 160 cm x 180 cm. Jalur yang dirancang tidak memperhatikan jarak terpendek antara posisi awal menuju posisi tujuan dan tidak disertai halangan. Pendekatan pengaturan formasi robot yang digunakan adalah pendekatan Virtual Structure yang memanfaatkan gambar virtual yang ditangkap oleh kamera dan diproses oleh komputer untuk didapatkan koordinat aktual robot. Formasi robot yang dibentuk adalah formasi baris (platon formation) sehingga dibutuhkan dua buah robot sesuai dengan algoritma pemindahan objek push and steere menggunakan formasi dari dua buah robot.
Tujuan Penelitian Pendekatan virtual structure diterapkan untuk mengatur pergerakan tiap robot agar bentuk formasi dapat terjaga dari kondisi slip robot selama bergerak memindahkan barang ke tempat tujuan sesuai jalur yang ada.
1.5 Metodologi Penelitian ini dilakukan berawal dari observasi permasalahan, studi literatur, pemodelan gerak robot, perancangan kontroler PID, perancangan mekanisme update parameter PID menggunakan logika fuzzy, implementasi sistem berupa simulasi pergerakan formasi robot dan pengujian formasi robot dengan tugas pemindahan objek, pengujian dan analisa hasil pengujian serta mendokumentasikan keseluruhan hasil dalam buku laporan penelitian. Studi literatur dilakukan untuk mengumpulkan teori penunjang dari buku atau paper sebagai acuan penelitian. Persamaan kinematik gerak robot dan spesifikasi yang ditentukan digunakan sebagai dasar untuk merancang kontroler. Metode pengendalian yang digunakan adalah PID-fuzzy. Kontroler yang telah dirancang akan diterapkan pada simulator sistem untuk dilihat 4
performansinya. Pengerjaan tahap awal hingga akhir dari penelitian ini digunakan sebagai bahan penyusunan buku laporan.
1.6 Sistematika Penulisan Pada penelitian ini terbagi atas lima bab besar dengan sistematika penulisan sebagai berikut: BAB 1 PENDAHULUAN Penjelasan akan permasalahan awal yang melatarbelakangi penulis untuk melakukan penelitian ini. Berawal dari latar belakang yang dijelaskan dapat diketahui permasalahan yang dihadapi selama melakukan penelitian, sehingga diperlukan batasan dari masalah yang ada. Metode yang digunakan penulis beserta tujuan penelitian juga dijelaskan secara ringkas pada bab ini. BAB 2 SISTEM PENGATURAN FORMASI GERAK ROBOT DAN METODE PENGOLAHAN GAMBAR Penjelasan dasar ilmu yang digunakan sebagai dasar pada penelitian pengaturan formasi robot pada tugas pemindahan objek. BAB 3 PERANCANGAN SISTEM PENGATURAN FORMASI ROBOT Penjelasan desain perancangan sistem dan kontroller yang diterapkan pada penelitian. BAB 4 PENGUJIAN DAN ANALISA SISTEM PENGATURAN FORMASI ROBOT Penjelasan cara pengujian sistem dan analisa hasil pengujian pada pengaturan formasi robot dalam tugas pemindahan objek BAB 5 KESIMPULAN Menyimpulkan dari hasil analisa dan menjelaskan beberapa hal yang menjadi kekurangan dalam penelitian.
1.7 Relevansi Pengaturan gerak formasi pada sistem kelompok robot untuk memindahkan barang sesuai jalur yang ditentukan banyak dimanfaatkan untuk keperluan tugas intralogistik suatu industri. Intralogistik merupakan pengiriman barang atau suplai komponen dari satu
5
workstation menuju workstation lain untuk mendukung proses dalam industri tersebut.
6
2 BAB 2 SISTEM PENGATURAN FORMASI GERAK ROBOT DAN METODE PENGOLAHAN GAMBAR Sistem pengaturan formasi robot dalam tugas pemindahan objek memerlukan pemahaman dasar. Berawal dari karakteristik robot yang digunakan hingga metode yang digunakan untuk mempertahankan bentuk formasi dan memindahkan objek dijelaskan pada bab ini. Pemahaman akan karakteristik robot diperlukan agar penulis dapat menentukan kontroler yang sesuai untuk diterapkan pada robot. Robot Mobile Konstruksi robot mempunyai mempunyai aktuator berupa roda, kaki, maupun baling-baling untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik yang lain. Robot mobil ini sangat disukai bagi orang yang mulai mempelajari robot. Hal ini karena membuat robot mobil tidak memerlukan kerja fisik yang berat. Untuk dapat membuat sebuah robot mobile minimal diperlukan pengetahuan tentang mikrokontroler dan sensor-sensor elektronik. Base robot mobil dapat dengan mudah dibuat dengan menggunakan plywood atau triplek, akrilik sampai menggunakan logam ( aluminium ). Robot mobile dapat dibuat sebagai pengikut garis ( Line Follower ) atau pengikut dinding ( Wall Follower ) ataupun pengikut cahaya. Pergerakan pada robot mobile dapat dibedakan dalam dua kelompok model pergerakan yaitu model holonomik dan model nonholonomik. Berdasarkan alat geraknya jenis robot mobile dibagi dalam tiga jenis (Gambar 2.1), yaitu robot berkaki robot beroda, dan robot caterpillar track [4].
(a) (b) (c) Gambar 2.1 Jenis-jenis mobile robot: (a) Robot berkaki, (b) Robot beroda, (c) robot caterpillar track 7
Pergerakan Holonomik dan Nonholonomik Gerak holonomik dapat diumpamakan seperti gerakan roda omni yang digunakan pada robotino Festo (Gambar 2.2). Robot tersebut dapat bergerak ke segala arah. Gerakan robot dapat menjangkau daerah kerja cartesian dari satu titik koordinat ke titik yang lain secara langsung. Robot holonomik dapat bergerak ke samping kanan dan kiri tanpa harus menyesuaikan arah hadap robot pada posisi tujuan. Pada Gambar 2.2 ditunjukkan arah gerak robotino robot dapat bergerak ke segala arah tanpa merubah orientasi robot. Tidak demikian halnya dengan gerak nonholonomik. Robot dengan sifat gerak nonholonomik mempunyai keterbatasan dalam arah gerak. Fungsi geometri tertentu yang berhubungan dengan orientasi harus dipenuhi untuk mendapatkan gerak yang sesuai [5].
Gambar 2.2 Gerakan holonomik Gerak nonholonomik dapat dilustrasikan seperti gerakan mobil pada Gambar 2.3. Arah gerak nonholonomik dibatasi oleh efek sentuhan arah roda yang menempel di atas permukaan. Arah roda tidak dapat digerakkan dengan bebas ke kiri atau ke kanan tanpa mengikuti arah hadap roda dalam bergerak. Apabila diinginkan gerakan kurva melengkung ataupun gerakan dengan perubahan sudut yang tajam (𝜃 < 90o), roda terlebih dahulu digerakkan ke arah yang segaris dengan arah gerak yang diinginkan. Sebuah mobil (Gambar 2.3) merupakan contoh dari pergerakan nonholonomik. Ketika ingin merubah arah, kedua roda depan mobil harus dirubah arahnya terlebih dahulu menghadap posisi tujuan yang dikehendaki dan dikuti dengan pergerakan kedua roda belakang. 8
Gambar 2.3 Gerakan nonholonomik Robot dengan sifat nonholonomik dapat dijumpai dalam robot mobile dengan sistem penggerak dua roda kanan kiri dan satu atau lebih roda bebas atau castor untuk menjaga keseimbangan. Robot mobile ini tidak dapat bergeser ke kiri atau ke kanan tanpa melakukan manuver seperti pada kasus parkir pararel mobil. Struktur 4 roda pada mobil yang dikenal sebagai struktur Ackerman dengan kemudi dua roda depan yang juga dikenal sebagai sistem kinematik nonholonomik. Demikian pula struktur kendaraan berat seperti excavator, four wheels steering system, dan sebagainya. Robot berjalan seperti biped robot, robot serangga, dan robot berkaki lainnya tidak dimasukkan ke dalam kelompok robot nonholonomik jika memiliki kemampuan untuk bergerak ke kiri atau ke kanan secara langsung tanpa melakukan manuver. Perbedaan gerakan pada robot manipulator yang bersifat holonomic dengan robot mobile yang memiliki sifat nonholonomik dapat dilihat pada Gambar 2.4(a) dan Gambar 2.4(b).
Gambar 2.4 Gerak holonomik (a) dan gerak nonholonomik (b) 9
Analisa Kinematik Sistem Nonholonomik Robot mobile yang digunakan pada penelitian ini merupakan aplikasi robot dengan struktur kinematik nonholonomik. Robot ini bergerak dalam kawasan 2D. Kontur medan yang tidak rata seperti perbedaan ketinggian jalan secara umum tidak dikategorikan sebagai sumbu Z karena sistem navigasi robot diasumsikan bergerak dalam kawasan sumbu X dan sumbu Y. Pada Gambar 2.5 ditunjukkan terdapat pergerakan satu titik q1 menuju ke titik q2. Perubahan rotasi sebesar θ1 ketika titik berada pada koordinat (x1 dan y1) merupakan sudut yang dibentuk pada orientasi titik q1 terhadap frame awal (X,Y). Perubahan rotasi sebesar θ2 ketika titik berada pada koordinat (x2 dan y2) merupakan sudut yang dibentuk pada orientasi titik q2 terhadap frame awal (X,Y). Pada masing-masing koordinat (x1,y1) dan (x2,y2) memiliki frame baru yaitu (V1 dan U1) dan (V2 dan U2). Pergerakan titik hanya bergerak sepanjang sumbu x dengan terlebih dahulu menyesuaikan orientasi awal titik dengan orientasi tujuannya.
Gambar 2.5 Tranformasi koordinat dalam 2D Analisa sistem kinematik didasarkan pada titik koordinat secara umum dengan menggunakan matrik tranformasi yang mengandung elemen rotasi dan translasi. Matrik tranformasi ini deikenal sebagai dengan matrik tranformasi homogen. Pada kasus robot mobile sumbu Z tidak diikutsertakan ke dalam matrik tranformasi, karena tidak ada 10
perubahan posisi terhadap sumbu Z pada sistem robot mobile. Matriks tranformasi homogen pada sistem nonholonomik 2D dapat dituliskan pada Persamaan (2.1). Matriks tranformasi digunakan untuk mendapatkan posisi robot terhadap koordinat awal (base frame). Matrik tranformasi terdiri dari komponen rotasi, translasi dan skala dari objek. Skala objek selalu bernilai 1 karena dimensi robot tetap.
r11 r12 T r21 r22 0 0
x cos y sin 1 0
sin cos 0
x y 1
(2.1)
Pada Gambar 2.5 koordinat asal titik pxyz dinyatakan sebagai q1(x1,y1) sebab bekerja di kawasan 2D, dan titik tujuan puvw dinyatakan kembali sebagai q2(x2,y2). Pada Gambar 2.5 posisi robot berubah dari titik q1 menuju titik q2 sehingga diperlukan matriks tranformasi seperti yang ditunjukkan pada Persamaan (2.1). Matrik tranformasi tersebut dapat dimanfaatkan sebagai persamaan kinematik antara titik q1 dengan titik q2 dapat dilihat sesuai Persamaan (2.2), dimana nilai x dan y merupakan jarak antara titik q1 dengan titik q2 terhadap sumbu x dan y koordinat awal(base frame).
x 2 r11 r12 x x1 y r 2 21 r22 y y1 . 1 0 0 1 1 x 2 cos sin x 2 x1 x1 y sin cos y y y 2 1 1 2 1 0 0 1 1 x 2 x1 cos y1 sin ( x 2 x1 ) y x sin y cos ( y y ) 1 2 1 2 1 1 0( x1 ) 0( y1 ) 1
(2.2)
(2.3)
(2.4)
Persamaan (2.3) berlaku umum untuk setiap tranformasi titik ke titik [5] dengan translasi sepanjang (x1,y1) hingga (x2,y2) dan rotasi sebesar 𝜃 211
𝜃 1 dalam kawasan koordinat seperti dalam Gambar 2.7. Validasi Persamaan (2.3) dilakukan dengan asumsi robot tidak melakukan gerakan rotasi sehingga nilai θ = 0o, sehingga menghasilkan persamaan seperti pada Persamaan (2.5). x2 x1 cos(0) y1 sin(0) ( x 2 x1 ) x1 ( x 2 x1 ) y x sin(0) y cos(0) ( y y ) y ( y y ) 1 2 1 2 1 2 1 1 1 0( x1 ) 0( y1 ) 1 1 x2 x2 y y 2 2 1 1
(2.5)
Pada Persamaan (2.5) menunjukkan bahwa matriks rotasi yang dituliskan pada Persamaan (2.3) dapat membuktikan kebenarannya pada posisi diam dan orientasi sebesar 0o. Nilai koordinat akhir sesuai yaitu titik menuju pada koordinat x2,y2 dengan rotasi sebesar 0o. Model Jacobian Robot Nonholonomik Sistem robot nonholonomik memiliki dua tipe konfigurasi pada roda robot, yaitu tipe differential drive (Gambar 2.6 a) dan tipe classic threewheeled vehicle (Gambar 2.6 b). Konfigurasi tipe differential drive merupakan tipe konfigurasi di mana roda kiri dan roda kanan dapat diatur kecepatannya (𝑣𝐿 dan 𝑣𝑅 ) secara individu untuk bergerak dalam bidang 2D menuju ke titik tertentu. Konfigurasi tipe classic three-wheeled vehicle menggunakan satu buah roda yang dapat diatur kecepatannya baik kecepatan dan sudut hadap roda untuk bergerak menuju posisi dan orientasi yang diinginkan.
Gambar 2.6 Tipe konfigurasi roda: (a) Konfigurasi roda DDMR, (b) Konfigurasi roda classic three-wheeled vehicle
12
Pada tipe konfigurasi differential drive nilai kecepatan sudut roda kiri dan roda kanan dapat diatur secara individu yang memungkinkan roda kiri dan roda kanan memiliki kecepatan sudut yang berbeda. Hal tersebut ditujukan untuk memberikan gerakan rotasi pada robot agar dapat memenuhi orientasi yang diinginkan robot sedangkan untuk mencapai posisi yang diinginkan robot kecepatan sudut roda kiri dan kanan akan diatur dengan besaran yang sama. Hubungan antara kecepatan sudut roda kiri dan roda kanan terhadapat kecepatan linier dan kecepatan sudut robot ditunjukkan pada persamaan (2.6) dan persamaan (2.7)
vR vL R L r 2 2 v v L R L R r b b v
(2.6) (2.7)
dimana b merupakan bias atau lebar robot atau bisa dikatakan jarak antara roda kiri dan roda kanan dan r merupakan besar jari-jari roda. Pada kasus lain, apabila diketahui nilai kecepatan linier dan kecepatan sudut robot, maka kecepatan sudut roda kiri dan roda kanan bisa didapatkan dengan cara mengeliminasi persamaan pada kecepatan linier dan kecepatan sudut robot pada persamaan 2.6 sehingga didapatkan hasil seperti berikut.
L R
v (b / 2)
(2.8)
r v (b / 2)
(2.9)
r
Persamaan (2.6) dan (2.7) merupakan persamaan yang ditujukan untuk mendapatkan nilai dari join variable sebuah robot mobile nonholonomik. Nilai dari joint variable berupa besaran v dan ω kemudian dapat dimanfaatkan untuk mendapatkan nilai n-effector variable. Neffector variable pada robot mobile nonholonomik merupakan nilai kecepatan linier dan kecepatan sudut robot terhadap frame dasar(base frame), pada bidang 2D. Persamaan n-effector variable didapat dari ̅ merupakan penurunan persamaan kinematik format posisi dengan 𝒙 besaran vektor dari n-effector variable format posisi dan 𝑞̅ merupakan
13
besaran vektor dari joint variable seperti pada Persamaan (2.10) dan Persamaan (2.11).
x f (q )
(2.10)
x1 f1 (q1 , q 2 , q3, ..., q m ) x2 f 2 (q1 , q 2 , q3 ,....q m )
(2.11)
x3 f 3 (q1 , q 2 , q3 ,....q m ) xn f n (q1 , q 2 , q3 ,....q m ) Dengan menurunkan fungsi pada persamaan (2.11) didapatkan model Jacobian sepert Persamaan (2.12). Pada Persamaan (2.12) merupakan hasil turunan sebagian (partial fraction) dari persamaan (2.11). Hal ini dilakukan agar format kinematik dalam rupa kecepatan dan bukan posisi. dx1
df1 df df df dq1 1 dq 2 1 dq3 ..... 1 dq m dq1 dq 2 dq3 dq m
dx2
df 2 df df df dq1 2 dq 2 2 dq3 ..... 2 dq m dq1 dq 2 dq3 dq m
dxn
df n df df df dq1 n dq 2 n dq3 ..... n dq m dq1 dq 2 dq3 dq m
(2.12)
Persamaan differensial model Jacobian tersebut dapat dituliskan dalam bentuk matriks sehingga menjadi,
df 1 dq 1 dx 1 df 2 dx 2 dq1 dx 3 df 3 dq 1 dx n df n dq1
df 1 dq 2 df 2 dq 2 df 3 dq 2 df n dq 2
df 1 dq 3 df 2 dq 3 df 3 dq 3 df n dq 3
df 1 dq m df 2 dq1 dq m dq 2 df 3 dq 3 dq m dq n df n dq m 14
(2.13)
Apabila masing-masing ruas dibagi dengan dt maka akan menjadi df 1 dq 1 x1 df 2 x 2 dq1 x 3 df 3 dq 1 x n df n dq1
df 1 dq 2 df 2 dq 2 df 3 dq 2 df n dq 2
df 1 dq 3 df 2 dq 3 df 3 dq 3 df n dq 3
df 1 dq m df 2 q1 dq m q 2 df 3 q 3 dq m q n df n dq m
(2.14)
Pada kasus sistem robot nonholonomik dengan tipe konfigurasi differential drive mobile robot mempunyai persamaan yang serupa dengan persamaan (2.14) dimana dapat dirumuskan pada Persamaan (2.15).
x cos 0 y sin 0 v 0 1
(2.15)
dimana, x , X y
v q
Subtitusi persamaan (2.6) dan persamaan (2.7) ke dalam Persaman (2.15) diperoleh hubungan input dan output antara join variable dengan neffector variable. Persamaan (2.16) menyatakan hubungan joint variable robot mobile nonholonomik dengan n-effector variabel, x (r cos ) / 2 (r cos ) / 2 y (r sin ) / 2 (r sin ) / 2 L R r / b r / b
15
x (r cos ) / 2 (r cos ) / 2 y (r sin ) / 2 (r sin ) / 2 L r / b r / b R
(2.16)
Perangkat Sensor Bumper Pada penelitian ini penambahan sensor ditujukan untuk mendukung kerja robot. Sensor yang digunakan yaitu sensor bumper seperti pada Gambar 2.7 dan kamera sebagai sensor eksternal robot. Pemakaian sensor bumper memnggunakan perangkat limit switch. Perangkat ini dapat memberikan tegangan keluaran (Vout) 0V atau Vcc bergantung dari keadaan saklar. Keadaan saklar yang tersentuh akan menyebabkan rangkaian tertutup sehingga muncul tegangan keluaran sebesar tegangan suplai(Vcc). Keadaan saklar yang tidak tersentuh akan menyebabkan rangkaian terbuka sehingga tegangan keluaran adalah 0V. Kondisi ini dapat direpresentasikan dalam bentuk biner yaitu ‘1’ untuk Vout=Vcc dan ‘0’ untuk Vout=0V. Berdasarkan representasi tersebut maka perangkat ini bisa digunakan sebagai sensor digital pada robot untuk mendeteksi adanya sentuhan terhadap robot. Gambar 2.7 menampilkan skema rangkaian listrik pada sensor bumper yang digunakan pada tiap robot. Penggunaan sensor bumper digunakan pada robot pendorong untuk menentukan arah pergerakan.
Gambar 2.7. Desain sensor bumper robot
Kontroler PID Kontroler PID merupakan kontroller yang paling umum digunakan untuk mengolah sinyal error manjadi sinyal kontrol. Kontroller PID
16
tergabung atas kontrol proportional, kontrol intgral, dan kontrol derivatif. Kontroler PID dalam domain waktu diskrit dapat dirumuskan pada Persamaan (2.17) [6].
u (k ) Kp * e(k )
Ts k e( h 1) e( h) e(k ) e( k 1) Td Ti h1 2 Ts
(2.17)
Kontroler Proporsional Kontroler proporsional memberikan aksi yang proporsional terhadap kesalahan yang terjadi sekarang. Kontroler proporsional berfungsi untuk mempercepat respon tetapi semakin besar nilainya maka semakin besar error yang terjadi dan juga akan menyebabkan sistem berosilasi.
u (t ) K p * e(t ),
(2.18)
Persamaan (2.18) merupakan persamaan sinyal kontrol dengan kontrol proportional dalam domain waktu kontinyu. Pada penelitian ini sinyal kontrol yang dihasilkan berasal dari PC yang berarti sinyal kontrol bukan lagi berada dalam domain waktu kontinyu melainkan berada dalam domain waktu diskrit seperti pada Persamaan (2.19). u (k ) e(k ) * Kp
(2.19)
Kontroler Integral Kontroler integral memberikan aksi proporsional terhadap integral dari error. Kontroler ini dapat menghilangkan error yang terjadi namun mengakibatkan respon sistem menjadi lambat. Pada kontroler integral terdapat komponen i yang merupakan waktu integral. Hubungan antara error dan aksi integral dapat dilihat pada Persamaan (2.20) t
u (t ) K i e( )d
(2.20)
0
17
Dimana K i adalah penguatan integral. Aksi kontrol ini muncul berdasarkan nilai error pada waktu sebelumnya. Pada persamaan (2.20) sinyal kontrol berada dalam domain waktu kontinyu, apabila digunakan dalam domain waktu diskrit maka sinyal kontrol dapat dirumuskan pada Persamaan (2.21)
Ts k e(h 1) e(h) 2 Ti h 1
u (k ) Kp *
(2.21)
Kontroler Derivative Ketika kontroler proporsional memberikan aksi berdasarkan error saat ini dan kontroler integral memberikan aksi berdasarkan nilai error sebelumnya, maka kontroler derivative memberikan aksi berdasarkan prediksi nilai error yang akan datang seperti dirumuskan pada Persamaan (2.12).
u (k ) Kp * Td
e( k ) e(k 1) Ts
(2.12)
Logika Fuzzy sebagai Fungsi Supervisory Fuzzy logic controller (FLC) merupakan himpunan atau sekumpulan metode kontrol berdasarkan pendekatan linguistik yang meniru cara berpikir manusia, dari pada menggunakan logika konvensional, seperti logika bolean. Prinsipnya logika fuzzy menyediakan algoritma yang dapat mengubah strategi kontrol linguistik berdasarkan pengalaman dan pengetahuan engineer, menjadi strategi kontrol otomatis yang digunakan dalam sistem. Penggunaan kontroler fuzzy sangat berguna ketika proses yang ingin dikontrol terlalu rumit untuk dianalisa menggunakan teknik perhitungan konvensional, atau sumber informasi terkait proses yang dikontrol bersifat kualitatif, dan tidak pasti. Logika fuzzy dipandang sebagai pendekatan yang lebih maju dengan menggabungkan kontrol berdasarkan analisa matematis yang pasti dengan cara berpikir manusia dalam megambil keputusan. Perkembangan penggunaan logika fuzzy diawali oleh Prof. Zadeh pada tahun 1972 dalam tulisannya berjudul “ A Rationale for Fuzzy Control”, dan “Linguistic Approach” di tahun 1973. Penelitian selanjutnya dilakukan oleh Mamdani dan Assilian pada tahun 1974 18
mengenai “Steam Engine Control”. Penelitian akan fuzzy logic yang dilakukan oleh Prof. Zadeh dan Mamdani didasarkan pada pendekatan linguistik, hingga pada tahun 1983 Takagi dan Sugeno memperbarui konsep fuzzy logic dengan melibatkan persamaan matematis sistem dalam tulisannya yang berjudul “Derivation of fuzzy control rules” [7]. Desain sistem fuzzy memiliki kaidah yang harus dipenuhi agar sistem hasil desain dapat memenuhi objektif kontrol yang diinginkan. Empat komponen utama dalam kontroler fuzzy, yaitu fuzzifikasi, mengubah input pada kontroler menjadi informasi yang memudahkan inferensi fuzzy mengaktivasi dan menggunakan aturan.Basis Aturan (rule base) berisi kuantifikasi logika fuzzy dari pakar tentang cara untuk mencapai hasil kontrol yang baik. Mekanisme interferensi fuzzy, meniru cara pakar dalam mengambil keputusan (interpretasi dan aplikasi pengetahuan tentang bagaimana cara melakukan pengaturan pada plant yang terbaik). Defuzzifikasi, mengubah konklusi dari interferensi fuzzy ke dalam input aktual untuk memulai proses. Pada penelitian ini kontroler fuzzy memiliki fungsi sebagai supervisory, salah satunya untuk menetapkan nilai parameter PID. Penggunaan logika fuzzy sebagai supervisory terbagi atas dua fungsi yaitu fuzzy PID auto-tuner dan fuzzy gain schedulling. Pada fungsi fuzzy PID auto-tuner, logika fuzzy digunakan sebagai metode untuk mendapatkan nilai parameter kontroller PID. Parameter pada kontroler PID memerlukan penyesuai gain secara kontinyu sesuai perubahan parameter atau perubahan kondisi pengoperasian. Fungasi kedua, fuzzy gain schedulling kontruksi penjadwalan gain secara heuristik dengan memakai model fuzzy Takagi-Sugeno ditambahkan dengan parallel distributed compensation. Metode tuning parameter kontroler PID menggunakan fuzzy Mamdani dalam pergerakan gerak robot dalam tugas pemindahan barang, Diagram blok penggunaan logika fuzzy dengan fungsi supervisory ditampilkan dalam Gambar 2.8. Masukkan blok logika fuzzy berupa besar nilai error orientasi robot terhadap orientasi tujuan. Perubahan nilai tegas menuju nilai fuzzy berada dalam proses fuzzifikasi. Proses fuzzifikasi merupakan pemetaan nilai tegas menuju nilai fuzzy. Perhitungan yang muncul dalam mekanisme inferensi fuzzy melibatkan aturan dasar yang dibuat berdasarkan pengetahuan awal perancang dan pengalaman. Nilai hasil mekanisme inferensi fuzzy berupa nilai konklusi yang yang diigunakan sebagai masukkan pada proses defuzifikasi. Nilai fuzzy diubah menjadi nilai tegas di dalam blok defuzzifikasi.
19
Discretization and fuzzyfication
Fuzzy Inference System
defuzzification Set value position
de/dt +
-
PID controller
mobile robot
feedback position
Gambar 2.8. Diagram blok logika fuzzy sebagai supervisory
Pengaturan Formasi dengan Pendekatan Virtual Structure Pengaturan formasi dapat dilakukan melalui beberapa pendekatan salah satunya menggunakan pendekatan virtual structure. Pendekatan virtual structure merupakan teknik pengaturan formasi robot dengan memanfaatkan gambar virtual dari posisi aktual robot untuk menggerakkan dan mempertahankan bentuk formasi. Pendekatan ini dipilih dikarenakan terdapat kelebihan diantaranya tidak adanya hirarki dalam formasi, dan dapat mempertahankan formasi terhadap ganguan yang diterima robot. Pada pendekatan ini formasi robot digambarkan sebagai struktur gambar virtual dengan titik posisi robot (place holder) yang merepresentasikan posisi pada setiap robot.
Gambar 2.9 Mekanisme pendekatan virtual structure Metode ini memiliki dua tujuan utama yaitu, formasi sebagai kesatuan bentuk harus bergerak mengikuti lintasan dengan bantuan titik 20
virtual pusat formasi seperti pada Gambar 2.9 dan jika setiap robot terhambat oleh gangguan, kontroler akan tetap menjaga bentuk formasi dan menjaga setiap robot tetap pada jalur yang ditetapkan yang mana bisa diterapkan menggunakan mutual coupling antara robot [8]. Dua tujuan utama yang disebutkan dapat dicapai dengan mencari nilai kesalahan pada posisi seperti bentuk matriks kolom berikut pada Persamaan (1),
e (i ) [ xdi (t ) xi (t ) ydi (t ) yi (t ) di i ]T
(2.13)
Pada kenyataannya terdapat situasi yang perlu dipertimbangkan yaitu terjadinya slip pada pergerakan yang menyebabkan pergerakan robot keluar dari jalur, sehingga harus dilakukan pemetaan ulang untuk jalur pada setiap robot. Bentuk detail formasi didasarkan dari kenyataan bahwa masing-masing robot mempunyai hubungan bentuk geometri khusus terhadap titik pusat formasi xi(1) dan xi(2), sehingga dapat ditemukan posisi baru dari titik pusat formasi apabila setiap robot mengalami slip dari lintasan awal. Persamaan (2.14) menunjukkan nilai simpangan posisi yang terjadi akibat slip.
xi yi
N
(x
j 1 i
nj
(2.14)
N
(y
j 1 i
(t ) ( xi (1) x j (1)) cos( ) ( xi (2) x j (2)) sin( ) xi )
nj
(t ) ( yi (1) y j (1)) cos( ) ( yi (2) y j (2)) sin( ) yi )
Sehingga jalur yang baru bisa didapat melalui Persamaan (4.5) dan nilai kesalahan juga mengalami perubahan seperti pada Persamaan (4.6) x ni (t ) xi (t ) xi (t ) y (t ) y (t ) y (t ) ni i i (i ) en [ xni (t ) xdi (t ) y ni (t ) y di (t ) 0]T
(2.15) (2.16)
Metode Tressholding pada Pengolahan Gambar Pengolahan citra merupakan proses pengolahan dan analisis yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah pengolahan 21
citra digital secara umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer (Gambar 2.10). Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Citra digital adalah barisan bilangan nyata maupun kompleks yang diwakili oleh bit-bit tertentu.
Gambar 2.10 Gambar awal Format data citra digital berhubungan erat dengan warna. Suatu citra 8 bit (misalnya pada format *.bmp 8-bit) dapat memiliki paling banyak 256 jenis warna di dalamnya. Sedangkan suatu citra 24 bit (misalnya pada format *.png 24-bit) memiliki 224 kombinasi data warna yang dapat ditampilkan. Citra berwarna dapat dinyatakan dengan banyak cara, salah satunya adalah dengan menggunakan sinyal RGB (red-green-blue). Pada cara ini, sebuah citra berwarna dinyatakan sebagai gabungan dari tiga buah citra monochrome merah, hijau, biru yang berukuran sama. Warna untuk setiap pikselnya tergantung dari komposisi ketiga komponen pada koordinat [9]. Image enhancement atau peningkatan kualitas citra didasarkan pada prosedur-prosedur yang sangat heuristic (eksperimental, trial and error). Tujuannya adalah untuk memperjelas atau mempertajam ciri-ciri tertentu dari citra untuk suatu pengguna spesifik. Istilah spesifik disini penting artinya, karena teknik-teknik yang dilakukan yang dilakukan berbeda antara keperluan yang satu dengan yang lainnya. Proses ini tidak meningkatkan informasi yang terkandung data citra digital, melainkan meningkatkan daerah cakupan data ciri yang diinginkan agar lebih mudah dideteksi. Operasi-operasi yang digunakan untuk meningkatkan kualitas citra yaitu operasi titik, operasi spasial, dan operasi tranformasi. Operasi titik merupakan operasi yang dilakukan terhadap setiap piksel pada citra yang keluarannya hanya ditentukan oleh nilai piksel itu sendiri. Operasi titik dilakukan dengan cara memodifikasi histogram citra 22
masukan sesuai dengan yang diharapkan. Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontras (contrast) dari sebuah gambar. Teknik yang dilakukan di bagi menjadi tiga bagian, yaitu Intensity Adjustment, Histogram Equalization, dan Thresholding. Intensity Adjustment Intensity adjusment bekerja dengan cara melakukan pemetaan linear terhadap nilai intensitas pada histogram awal menjadi nilai intensitas pada histogram yang baru (Gambar 2.11).
Gambar 2.11 Gambar awal Histogram Equalization Teknik histogram equalization bertujuan untuk menghasilkan suatu citra keluaran yang memiliki nilai histogram yang relatif sama . Perintah yang digunakan dalam software adalah histeq (Gambar 2.12).
Gambar 2.12 Hasil gambar dengan metode histogram equalization Thresholding Thresholding merupakan proses pemisahan piksel-piksel yang berdasarkan derajat keabuan yang dimilikinya. Teknik tressholding merupakan teknik untuk mengubah gambar 8-bit menjadi gambar biner. 23
Piksel yang memiliki derajat keabuan lebih kecil dari nilai batas yang ditentukan akan diberikan nilai 0, sementara piksel yang memiliki derajat keabuan yang lebih besar dari batas akan diubah menjadi bernilai 1. Penentuan nilai tresshold didasarkan pada nilai pixel minimal pada warna.
Gambar 2.13 Hasil gambar menggunakan teknik image thresholding Konsep sederhana dari metode threshold dalam melakukan segmentasi gambar dapat dirumuskan pada Persamaan (2.13).
0, 255,
f ( x, y )
f ( x, y ) T f ( x, y ) T
(2.17)
Proses segmentasi gambar dengan menggunakan konsep dasar metode threshold masih memiliki kelemahan terhadap hasil gambar segmentasi, sehingga diperlukan cara lain untuk memperbaiki hasil segmentasi gambar. Penetapan nilai threshold untuk membuat proses segmentasi gambar yang tahan terhadap gangguan dapat dilakukan dalam tiga jenis cara, yaitu automatic thresholding penetapan nilai threshold berdasarkan histogram, dan hysteresis thresholding. Pada cara automatic thresholding pengetahuan akan objek, fungsi objek, dan faktor lingkungan harus digunakan sebagai bahan pertimbangan dalam pemilihan nilai threshold. Hal-hal yang dijadikan bahan pertimbangan antara lain karakteristik intensitas objek, ukuran objek, jumlah tipe objek yang muncul dalam gambar. Metode penetapan nilai threshold berdasarkan histogram berdasarkan daerah dengan tingkat intensitas seragam yang paling tinggi. Penggunaan lebih dari satu nilai threshold untuk mendapatkan hasil gambar segmentasi yang akurat bisa dilakukan dengan mengabil rentang nilai keabuan dari histogram seperti
24
pada Persamaan (2.18) Pada metode hysteresis thresholding digunakan apabila nilai histogram tidak memperlihatkan bentuk lembah yang jelas.
255, f ( x, y ) 128, 0,
f ( x, y ) T1
T1 f ( x, y ) T2 f ( x, y )
25
(2.18)
Halaman ini sengaja dikosongkan
26
3 BAB 3 PERANCANGAN SISTEM PENGATURAN FORMASI ROBOT Sistem pengaturan formasi robot memerlukan suatu rancangan awal yang meliputi gambaran umum sistem hingga desain kontroler yang akan digunakan. Perancangan sistem dilakukan agar hasil yang ada sesuai dengan yang diharapkan.
Gambaran Umum Sistem Implementasi sistem pengaturan formasi gerak robot dilakukan dengan menentukan konfigurasi sistem yang akan dibentuk, diagram blok sistem, model kinematik dari robot yang digunakan, perancangan kontroler, dan perancangan simulasi berdasaarkan tugas yang diberikan pada robot berserta pembuatan GUI (Graphical User Interface). Pada penelitian ini robot memiliki tugas untuk memindahankan barang dari titik asal menuju titik tujuan. Tugas ini merupakan prototipe dari tugas intralogistik yang digunakan pada industri untuk mengirim barang antar workstation ataupun dalam satu worksatation. Penggunaan robot dalam pengiriman barang untuk kebutuhan workstation lain ditujukan agar proses produksi dalam industri dapat berjalan lebih cepat dan efektif.
Konfigurasi Sistem Pengaturan Formasi Robot Perancangan sistem pengaturan formasi robot pada tugas pemindahan objek memerlukan tiga bagian utama. Bagian-bagian tersebut yaitu komputer server, robot mobile beserta lapangan pengujian, dan kamera. Pemasangan ketiga bagian tersebut ditampilkan pada Gambar 3.1. Kamera merupakan perangkat yang digunakan sebagai perangkat umpan balik sistem. Informasi yang dihasilkan kamera berupa gambar keseluruhan dari lapangan beserta sejumlah robot didalamnya. Komputer server merupakan tempat pengolahan informasi yang didapat dari kamera dan mengirimkan sinyal kontrol menuju robot . Robot mobile merupakan perangkat keras tempat menerima sinyal kontrol dari komputer. Sinyal kontrol yang diterima digunakan oleh robot untuk bergerak di dalam daerah lapangan uji.
27
Ukuran lapangan yang digunakan untuk pengujian sebesar 1.2m x 1.6mx 0.15m. Warna dasar lapangan pengujian adalah hitam dimaksudkan untuk mempermudah komputer mendapatkan warna penanda robot kemudi dan pendorong.
1.6 m
1.2 m Gambar 3.1 Konfigurasi sistem pengaturan formasi robot
Diagram Blok Pengaturan Formasi Robot Pengaturan gerak robot utuk mempertahankan formasi mempuyai masukan dari sistem berupa koordinat titik tujuan (Xref,Yref) dan keluran sistem berupa koordinat robot aktual (X_aktual,Y_aktual). Perbedaan nilai koordinat titik tujuan dan aktual robot memberikan informasi panjang jarak terhadap sumbu-x dan sumbu-y antara titik tujuan dan titik aktual robot. Jarak terhadap sumbu-x dan sumbu-y menjadi masukan blok arctan(x,y) untuk didapatkan nilai sudut referensi (ref ) titik tujuan terhadap titik aktual robot. Selanjutnya, ref akan dibandingkan nilainya terhadap sudut aktual yang dibentuk oleh arah orientasi awal robot ( _ aktual ) untuk menghasilkan sinyal error sebagai masukan kontroler PID. Sinyal yang dihasilkan oleh kontroler PID berupa sinyal kontrol dapat 28
sebanding dengan kecepatan sudut robot. Sinyal error masukkan kontroler
d atau bisa dt
PID merupakan perubahan sudut robot per satuan waktu
disebut sebagai kecepatan sudut robot ( ). Nilai parameter kontroler PID didapat menggunakan logika fuzzy untuk melakukan tuning. Besarnya nilai parameter kontroler (Kp, Ki, Kd) ditentukan oleh nilai error dan delta error dari orientasi robot terhadap nilai orientasi terhadap titik tujuan. Penggunaan logika fuzzy dalam menentukan nilai parameter kontroler PID digunakan karena nilai referensi (set point) berupa besar orientasi antara posisi awal robot dan titik tujuan dapat berubah mengikuti jalur yang dirancang. Sinyal kontrol dari kontroler PID digunakan untuk menetapkan kecepatan sudut ( ). Nilai menjadi masukkan persamaan kinematik robot untuk mendapatkan posisi robot terhadap koordinat ruang gerak . Ruang gerak robot yang dimaksud adalah koordinat cartesian yang ditampilkan pada layar simulasi di komputer. Ruang gerak pada layar simulasi di komputer mempunyai skala 1: 20 cm terhadap ukuran lapangan sebenarnya. Besar nilai kecepatan sudut robot dirubah menjadi kecepatan sudut roda kiri dan roda kanan robot melalui persamaan kinematik. Tiap nilai kecepatan sudut roda kemudian dikonversikan menjadi sinyal pulsa. Penskalaan nilai kecepatan sudut roda ke dalam jumlah frekwensi sinyal pulsa dimaksudkan agar perangkat motor servo dapat berkerja. Kerja sistem ditampilkan dalam diagram blok pada Gambar 3.2.
Yref
+
Xref +
FUZZY MAMDANI
θref
de/ dt
Arctan + (x,y)
Kontroler
-
ω_roda kiri
Kinematik
Robot
X_aktual
Y_aktual
ω_roda kanan
Arctan (X_aktual,Y_aktual)
Image Processing
Kamera
Gambar 3.2 Diagram blok pergerakan robot dalam formasi
29
Teknik Go to Goal Teknik Go to Goal dalam trajektory gerak robot berawal dari nilai error orientasi antara posisi awal robot dengan titik tujuan seperti pada Gambar 3.3. Nilai error tersebut dirumuskan dalam Persamaan (3.1).
(Xdes,Ydes)
(X,Y)
Gambar 3.3 Mekanisme metode Go to Goal Sudut d merupakan orientasi yang dibentuk oleh posisi awal robot
dengan posisi titik tujuan, sedangkan merupakan orientasi robot terhadap sumbu koordinat asal. Nilai error yang ada merupakan masukkan kontroler PID [10]. Sinyal kontrol yang dihasilkan oleh kontroler PID dapat disetarakan dengan nilai kecepatan sudut dari robot seperti pada Persamaan (3.2).
e( k ) d ( k ) ( k )
( k ) u ( k ) Kp * e(k )
(3.1) Ts k e( h 1) e( h) Ti h1
2
Td
e(k ) e(k 1) Ts
(3.2)
Nilai ω yang didapat dari Persamaan (3.2) menjadi masukkan dari persamaan kinematic robot seperti pada Persamaan (3.3) sedangkan nilai masukkan v pada persamaan kinematik adalah konstan.
x v cos y v sin
(3.3)
30
Diketahui nilai v yang diberikan pada robot adalah 1.7 m/s, dengan orientasi awal robot sebesar 0 rad, jari-jari roda robot sebesar 3 cm, dan lebar robot sebesar 8 cm, maka bisa didapatkan nilai l dan r seperti pada persamaan (3.4) dan (3.5) 0.04 1.7 * 2 l 0.03
(3.4)
0.04 1.7 * 2 r 0.03
(3.5)
Algoritma Push and Steere Metode push and steerer merupakan metode untuk memanipulasi posisi objek dengan cara menghimpit objek yang akan dipindahkan. Objek dapat berpindah akibat terkena gaya dorong dari robot pendorong (Robot P). Pergerakan objek sesuai jalur yang ditentukan diatur oleh pergerakan robot kemudi (Robot S). Robot S mempunyai pengetahuan akan jalur yang telah ditentukan, sehingga gaya tekan yang diterima digunakan untuk merubah posisi robot S [2]. Perbedaan posisi pada robot S terhadap titik tujuan digunakan untuk mencari orientasi terhadap titik tujuan agar robot S dapat bergerak pada arah yang benar seperti pada Gambar 3.4.
Gambar 3.4 Ilustrasi algorrima push and steere
31
Robot S dan robot P mempunyai peran masing-masing dalam melaksanakan tugas pemindahan objek. Peran robot P adalah untuk mengatur gerakan translasi ketika mendorong objek, mengikuti pergerakan objek dan mendeteksi perubahan orientasi objek, dan mengatur gerakan translasi dan rotasi yang terjadi bersamaan ketika orientasi objek berubah. Peran robot S yaitu untuk menentukan arah gerak formasi karena robot diberikan pengetahuan akan jalur yang ditentukan dan mengatur arah hadap roda tetapi tidak mengatur kecepatan putar roda.
Spesifikasi Robot dan Bentuk Formasi Robot Robot yang digunakan dalam penelitian ini adalah Robot Boe-bot PARALAX dengan spesifikasi yang tertampil pada Tabel 3.1. Tipe roda robot merupakan roda DDMR dimana roda kanan dan roda kiri memiliki pengaturan kecepatan masing-masing. Gambar 2.1(b) merupakan robot yang digunakan dalam penelitian ini. Tabel 3.1 Spesifikasi robot Spesifikasi Board Microcontroller Dimensi robot Jari-jari roda Flash Memori Frekuensi Clock Digital I/O pin Analog I/O pin Tegangan operasi Tegangan Input
Keterangan Arduino Uno Atmega328 8 x 15 x 15cm 3 cm 32 Kb 16 MHz 14 (termasuk 6 pin untuk sinyal PWM) 6 5V 7-9 V
Pada penelitian ini, tugas pemindahan objek dilakukan oleh dua buah robot boebot. Selama pergerakan sekelompok robot ini perlu mementuk formasi untuk menjaga agar benda dapat berpindah sesuai dengan jalur yang diinginkan , dengan cara memanipulasi pergerakan benda. Formasi yang digunakan pada tugas ini adalah formasi baris atau bisa disebut dengan platoon formation. Dua buah robot berbaris dengan menyediakan ruang antar robot. Penyedian ruang ini dimaksudkan sebagai tempat peletakan benda yang akan dipindahkan, akan tetapi pada penelitian ini posisi robot pendorong(Robot P) dan kemudi (Robot K) 32
diatur untuk saling berhadapan sehingga robot kemudi bergerak mundur dan robot pendorong bergerak maju.
Gambar 3.5 Konfigurasi formasi robot
Vrobot P
Vrobot K
Robot P
Robot K
Gambar 3.6 Bentuk Platoon formation untuk memindahkan objek Pada Gambar 3.5 posisi robot pendorong berada pada koordinat ( x p , y p ) dengan jarak sebesar l dan orientasi sebesar p . Posisi dan orientasi robot pendorong dapat dirumuskan pada Persamaan 3.6. x p xk l cos( p ) y p y k l sin( p )
(3.6)
p l Formasi berbaris atau platoon formation yang ditunjukkan pada Gambar 3.6 adalah formasi sekelompok robot yang berbaris dimana satu 33
robot berada dibelakang robot lainnya dalam satu garis lurus. Formasi pleton merupakan formasi yang sederhana dan efektif untuk digunakan pada sekelompok kecil robot ketika harus bergerak sesuai jalur yang ditentukan. Penggunaan jenis formasi berbaris mempunyai nilai parameter l yang diinginkan sebesar 1 m dan nilai parameter yang diinginkan sebesar 0 radian [11]. Pembentukan susunan formasi berbaris dapat dilihat ketika robot kemudi (robot K) dan robot pendorong (robot P) berada pada posisi awal yang berbeda seperti yang ditunjukkan pada Gambar 3.7. Robot P bergerak dan mendorong benda menuju ke posisi robot kemudi untuk bergabung dalam susunan formasi berbaris (platoon formation). Ketika posisi robot P dan robot K berada pada jarak diluar nilai toleransi sebesar 11 cm maka kecepatan robot K adalah 0 m/s sehingga memberikan waktu robot P untuk mendekati robot K. Saat jarak antara robot P dan robot K lebih kecil dari pada 11 cm (jarak toleransi antara robot kemudi dan robot pendorong) maka robot K akan bergerak yang didahului oleh pergerakan virtual center, seperti yang ditunjukkan Gambar 3.8.
Posisi robot terhadap sumbu-y (meter)
6 Robot Pendorong 5 Barang 4
Virtual Center
3 Jalur virtual formasi
2
Robot Kemudi 1
0 -1
0
1 2 3 4 5 6 Posisi robot terhadap sumbu-x (meter)
7
8
Gambar 3.7 Posisi mula-mula robot pendorong dan robot kemudi Ketika robot benda menyentuh robot K, gerakan robot P menjadi tertahan seperti yang ditunjukkan pada Gambar 3.8. Robot P kembali mendorong apabila benda tidak menyentuh robot K. Pergerakan yang
34
dilakukan oleh kedua robot akan terus berlangsung hingga akhir dari jalur virtual yang diberikan.
Posisi robot terhadap sumbu-y (meter)
6 Jalur gerak robot pendorong
5
4
3 2
1
0 -1
0
1 2 3 4 5 6 Posisi robot terhadap sumbu-x (meter)
7
8
Gambar 3.8 Robot K mulai bergerak ketika robot P mendekat.
Posisi robot pada sumbu-y (meter)
6 5
4
3 2
1
0 -1
0
1 2 3 4 5 6 Posisi robot pada sumbu-x (meter)
7
8
Gambar 3.9 Pergerakan formasi mengikuti jalur yang ditentukan Pada Gambar 3.9 robot P dan robot K sudah membentuk susunan formasi berbaris dan bergerak mengikuti jalur berwarna merah yang 35
sudah ditetapkan. Benda yang dipindahkan dengan warna biru muda juga terapit oleh robot P dan robot K agar menjaga barang tetap bergerak sesuai jalur yang ditentukan. Pergerakan formasi berbaris berhenti apabila pergerakan titik virtual center pada Gambar 3.10 yaitu objek lingkaran kecil dengan warna merah berhenti bergerak pada akhir lintasan.
Posisi robot pada sumbu-y (meter)
6 5
4
3 2
1
0 -1
0
1 2 3 4 5 6 Posisi robot pada sumbu-x (meter)
7
8
Gambar 3.10 Formasi berhenti bergerak sesuai titik virtual center
Perancangan Kontroler PID Ziegler-Nichols. Pergerakan robot dengan kondisi nilai gain proportional sebesar 1, mengakibatkan robot tidak dapat bergerak dengan benar menuju ke titik tujuan. Hal ini dapat dapat terlihat pada Gambar 3.11. Robot bergerak yang semula mendekati titik tujuan menjadi menjauhi titik tujuan pertama. Pemberian nilai gain proportional sebesar 1 dan gain integral serta gain derivative sebesar 0, dimaksudkan untuk memperlihatkan kondisi awal sistem. Kondisi awal sistem menggunakan konfigurasi closed loop, sehingga nilai parameter kontroler yang ada pada sistem adalah nilai gain propotional sebesar 1. Pemberian nilai ‘1’ pada gain proportional juga dimaksudkan agar nilai parameter sistem tidak berubah. Pada Gambar 3.6 respon orientasi robot pendorong menjadi osilasi ketika ingin mencapai sudut referensi. Berdasarkan hasil tersebut maka diperlukan kontroler
36
untuk mengatur pergerakan robot agar sesuai dengan jalur yang dirancang. 5
Posisi robot dalam sumbu-y (meter)
4
Robot kemudi 3
Virtual center Robot pendorong
2 Titik tujuan pertama 1
0
-1 -1
0
1 2 3 Posisi robot dalam sumbu-x (meter)
4
5
Gambar 3.11 Pergerakan robot dengan nilai Kp=1, Ki=0, Kd=0 Konfigurasi sistem menggunakan konfigurasi closed loop, karena itu untuk merancang kontroler PID digunakan metode Ziegler-Nichols-2. Metode ini dipakai karena pergerakan robot di simulasi tidak memerlukan model matematis robot. Berikut hasil parameter PID dengan metode Ziegler Nichols. Pada Gambar 3.12 didapatkan nilai periode gelombang (Pcr=14) dan nilai gain kritis yang digunakan(Kcr=14). Nilai Kcr dan Pcr kemudian dijadikan parameter untuk merancang kontroler PID [12]. Table 3.2 menunjukkan aturan dalam merancang kontroler PID metode ZieglerNichols. Nilai Kp sebesar 14 merupakan nilai gain ketika respon menampilkan osilasi permanen dengan periode 14 ms. Berdasarkan Tabel 3.2 nilai parameter kontroler PID berupa nilai Kp didapat sebesar 8.4, Ti sebesar 7, dan Td mempunyai nilai sebesar 1.75. Kontroler PID hasil tuning Ziegler-Nichols digunakan untuk memperbaiki respon orientasi robot terhadap jalur yang ditentukan.
37
Respon Sudut Orientasi Robot (Kcr=14) 5 X: 29 Y: 3.071
Sudut orientasi (rad)
4 3
X: 15 Y: 3.103
2 1 0 -1 0
100
400
300
200
500
ms
Gambar 3.12 Respon orientasi robot (Kp=14, Ki=0, Kd=0) Tabel 3.2 Aturan desain kontroler PID metode Ziegler-Nichols Tipe Kontroler
Kp
Ti
Td
P
0.5 Kcr
∞
0
PI
0.45 Kcr
1/1.2 Pcr
0
PID
0.6 Kcr
0.5 Pcr
0.125 Pcr
Perancangan Kontroler PID-Fuzzy Pada desain kontroler pergerakan mobile robot menggunakan PID, tuning parameter kontroler masih memanfaatkan cara-cara konvensional. Hasil tuning parameter PID secara konvensional memiliki kelemahan diantaranya nilai parameter kontroler tidak dapat menyesuaikan perubahan kondisi operasional. Penggunaan fuzzy logic dapat memperbaiki respon sistem karena parameter kontroler dapat berubah menyesuaikan perubahan parameter sistem. Selama berjalannya sistem nilai error dan perubahan error (de) dideteksi untuk merubah parameter kontroler PID secara real time sesuai dengan aturan yang ditanamkan pada fuzzy kontrol, sehingga objek yang dikontrol dapat mencapai perfomansi yang baik. Pada desain kontroler PID pada pergerakan mobile robot, kontroller fuzzy diberikan dua buah masukkan berupa perbedaan sudut aktual dan sudut tujuan robot yang dilambangkan dengan sinyal error (e(k)) dan 38
perubahan nilai error yaitu selisih antara nilai error sekarang dan error sebelumnya yang dilambangkan dengan delta error(de). Keluaran dari kontroler fuzzy berupa nilai parameter Kp, Ki, dan Kd yang digunakan untuk update nilai parameter PID. Diagram blok auto-tuning atau self tuning PID dengan fuzzy-logic. Masukkan dari blok fuzzy merupakan sinyal error dan delta error dari orientasi robot. Nilai error dan delta error yang masih berupa nilai pasti (script value) kemudian ditentukan nilai derajatnya melalui proses fuzzyfication mennggunakan fungsi keanggotan. Gambar 3.8 hingga Gambar 3.12 menunjukkan fungsi keanggotaan dari masukkan blok fuzzy berupa error dan delta error, serta keluaran blok fuzzy berupa gain proportional (Kp), gain integral(Ki), dan gain derivative (Kd). Pada perancangan fungsi keanggotaan input berupa error dan delta error menggunakan tipe triangular. Rentang nilai input error (Gambar 3.13) merupakan besaran orientasi dalam satuan radian dari –π hingga π, sedangkan rentang nilai fungsi keanggotaan berupa delta error (Gambar 3.14) berawal dari – π/2 hingga π/2. Nama fungsi keanggotaan terbagi atas lima nama yaitu, NB (negatfi big), NM (negatif medium), NS (negatif small), ZO (zero), PS (positive small), PM (positive medium), PB (positive big). Pada penentuan fungsi keanggotaan output bentuk fungsi menggunakan tipe triangular. Nama fungsi keanggotaan output terbagi atas 4 nama yaitu, PSV (positive very small), PS (positive small), PM (positive medium), dan PB (positive big). Output Kp memiliki rentang nilai -50 hingga 50 (Gambar 3.15). Pada fungsi keanggotaan output Ki kategori PSV berawal dari nilai 14.72 hingga 15.28 (Gambar 3.16). Fungsi keanggotaan output Kd berawal dari 0 hingga 42 (Gambar 3.17).
Degree of membership
NB 1
NM
NS
ZO
PS
PM
PB
-2
-1
0 error
1
2
3
0.8 0.6 0.4 0.2 0 -3
Gambar 3.13 Fungsi keanggotaan error orientasi robot 39
Degree of membership
NB 1
NM
NS
ZO
PS
PM
PB
-1
-0.5
0
0.5
1
1.5
0.8 0.6 0.4 0.2 0 -1.5
delta error d.error
Gambar 3.14 Fungsi keanggotaan delta error orientasi robot PVS
Degree of membership
1
PS
PM
PB
0.8 0.6 0.4 0.2 0 0
20
40
60
KP
Gambar 3.15 Fungsi keanggotaan gain proportional PVS
Degree of membership
1
PS
PM
PB
0.8 0.6 0.4 0.2 0 0
10
20
30
40
50
KI
Gambar 3.16 Fungsi keanggotaan gain integral 40
Degree of membership
1
PVS
PS
PM
PB
0.8 0.6 0.4 0.2 0 0
10
20
30
40
50
KD
Gambar 3.17 Fungsi keanggotaan gain derivative Aturan dasar yang digunakan pada blok fuzzy logic disesuaikan dengan aturan nilai parameter kontroler PID berdasarkan nilai error pada sistem yang ditunjukkan pada Tabel 3.3. Penetapan aturan dasar didasarkan pada besar nilai error orientasi yang terjadi terhadap penentuan besaran nilai parameter kontroler yang dibutuhkan. Ketika nilai error yang terjadi sangat besar dan bernilai negatif maka nilai parameter kontroler pada gain proporotional dan gain integral harus diperbesar hingga berada pada nilai di kategori PB, sedangkan gain derivative diperbesar hingga pada nilai di kategori PS. Sistem pengaturan orientasi gerak robot dengan menanbahkan fuzzy logic dengan untuk melakukan tuning parameter kontroler PID, menyebabkan osilasi pada respon orientasi gerak robot menjadi berkurang, dari pada menggunakan tuning parameter kontroler PID menggunakan metode Ziegler-Nichols. Proses defuzifikasi menggunakan metode center of gravity (COG) untuk mendapatkan nilai tegas (script value) dari gain proportinal, gain integral, dan gain derivative. Persamaan defuzifikasi dengan metode COG ditampilkan dalam Persamaan (3.7). dimana nilai bi merupakan titik tengah dari fungsi keanggotaan, sedangkan (i ) merupakan luas area dibawah fungsi keanggotaan (i ) . Penggunaan metode COG dalam proses defuzifikasi dapat digunakan karena tiap fungsi keanggotaan keluaran memiliki bentuk yang simeteris [7], dimana nilai luas area fungsi keanggotaan dapat dirumuskan pada Persamaan (3.8). 41
Tabel 3.3 Aturan dasar pada sistem pengaturan orientasi gerak robot Delta_error (de(k))
e(k)
NB
NM
NS
ZO
PS
PM
PB
NB
PB/PB/ PB/PB/P PM/PM/ PS S PB
PM/PM PS/PS/ /PB PB
PVS/PVS PVS/ / PM PVS/PS
NM
PB/PB /PS
PM/PM/ PB
PS/PS/ PS/PS/ PM
PM
PVS/PVS PM/PVS / PS / PVS
NS
PB/NB PB/PM /PVS /PS
PS/PS/
PS/PS
PM
/PM
PVS PS/PS /PVS/PS /PS
ZO
PM/PM PM/PM PS/PS /PVS /PS /PS
PS
PS/PM/ PS/PM/ PVS/ PS/PS PVS PVS PVS/ PVS /PVS
PM
NS/PS/ PS/PVS PVS /PB /PVS/PS PS
PM/PM PM/ PM PM/PM/ PB/PB/ /PS PS PB PS
PB
PVS/ PVS/ PM/PM PVS/PB PVS/ PM /PM
PM/PM PM/PM PB /PB /PM /PS /PS
u
tegas
PB/PB /PS
PS/PS PVS/ PVS/PS /PS PS/PS /PVS
PS/PM/ PVS
PS/PS/ PVS PM/PM/ PVS
PM/
PM/PB PM /PVS /PVS
PB/PB /PB
bi (i ) i (i ) i
(3.7)
h2 i w h 2
(3.8)
Hasil proses defuzifikasi memberikan nilai tegas berupa Kp, Ki, dan Kd, yang akan berubah apabila terjadi perubahan orientasi antara posisi awal robot menuju titik tujuan.
Perancangan Graphical User Interface (GUI) GUI yang juga dikenal sebagai graphical user interface merupakan jenis tampilan program yang memperbolehkan user untuk berinteraksi menggunakan peralatan elektronik komputer melalui ikon grafis, indikator visual, serta perintah-perintah lain dalam bentuk label, dan text dengan tujuan untuk mempermudah user. Pada penelitian ini GUI yang digunakan menggunakan software MATLAB R2014a. Penggunaan GUI 42
dalam penelitian ini adalah untuk menigkatkan estetika tampilan program dan mempermudah pemahaman user dalam menjalankan program. Tampilan GUI yang digunakan pada penelitian ini ditunjukkan pada Gambar 3.14.
Gambar 3.18 GUI sistem pengaturan foramasi robot
43
Halaman ini sengaja dikosongkan
44
4 BAB 4 PENGUJIAN DAN ANALISA SISTEM PENGATURAN FORMASI ROBOT Pengujian diperlukan untuk memastikan apakah rancangan awal sistem sudah memberikan hasil yang diinginkan. Pengujian dilakukan berawal dari sistem tanpa melibatkan kontrol hingga sistem yang disertai kontroler. Hasil pengujian menjadi bahan anlisa untuk menentukan kesimpulan yang dibuat guna memecahkan perrmasalahan yang menjadi latar belakang penelitian.
Pengujian Simulasi dengan Kontroler Proporsional Simulasi tugas pemindahan objek yang dilakukan oleh dua buah robot dirancang sesuai dengan algoritma push and steere. Pada simulasi terdapat dua robot yang mempunyai fungsi untuk mendorong robot dan robot kedua berfungsi sebagai pengemudi yang menentukan arah gerak benda yang didorong (Gambar 4.1). Pergerakan kedua robot ini disusun dalam formasi berbaris atau biasa disebut platon formation. Simulasi dirancang dengan membuat lintasan gerak untuk virtual center, robot kemudi dan robot pendorong. Tampilan simulasi koordinat gerak robot memiliki skala 1:20 cm dari ukuran asli lapangan pengujian. Pada simulasi diberikan jalur acuan berwarna merah sebagai acuan gerak tiap robot dalam formasi yang tetap.
Posisi robot pada sumbu-y (meter)
5 Jalur referensi Virtual center
4.5
Robot Pendorong
4 3.5 3 2.5
Barang
Robot kemudi
2 0.5
1 1.5 2 2.5 3 3.5 Posisi robot pada sumbu-x (meter)
4
Gambar 4.1 Pengaturan formasi dengan kontroler proportional 45
Pergerakan robot dengan kondisi nilai gain proportional sebesar 1, mengakibatkan robot tidak dapat bergerak dengan benar menuju ke titik tujuan. Hal ini dapat dapat terlihat pada Gambar 4.2 robot bergerak yang semula mendekati titik tujuan menjadi menjauhi titik tujuan pertama. Pemberian nilai gain proportional sebesar 1 dan gain integral serta gain derivative sebesar 0, dimaksudkan untuk memperlihatkan kondisi awal sistem. Kondisi awal sistem menggunakan konfigurasi closed loop, sehingga nilai parameter kontroler yang ada pada sistem adalah nilai gain propotional sebesar 1. Pemberian nilai ‘1’ pada gain proportional juga dimaksudkan agar nilai parameter sistem tidak berubah. Pada Gambar 4.3 respon orientasi robot kemudi tidak dapat mencapai kondisi tunak sesuai pada nilai referensi yang diberikan. Orientasi robot kemudi menjadi terus meningkat hingga terjadi perubahan nilai referensi sebesar 0 radian. 5
Posisi robot dalam sumbu-y (meter)
4
Robot kemudi 3
Virtual center Robot pendorong
2 Titik tujuan pertama 1
0
-1 -1
0
1 2 3 Posisi robot dalam sumbu-x (meter)
4
Gambar 4.2 Pergerakan robot kemudi dengan nilai Kp=1
46
5
3
Sudut Aktual Sudut Referensi
2.5
Sudut (Radian)
2
1.5
1
0.5
0
-0.5
-1
0
5
10
15
20
25
30
35
Waktu (detik)
Gambar 4.3 Orientasi robot kemudi dengan nilai Kp= 1
Pengujian Simulasi dengan Kontroler PID ZieglerNichols Simulasi pengaturan formasi gerak robot menggunakan kontroler PID dengan parameter kontroler Kp sebesar 8.4, Ki sebesar 58.8 dan Kd sebesar 4.8 menghasilkan respon orientasi robot seperti pada Gambar 4.1. Penentuan nilai parameter kontroler PID dilakukan dengan menggunakan metode Ziegler-Nichols konfigurasi closed loop. Respon orientasi robot menggunakan kontroler PID-Ziegler Nichols menunjukkan osilasi pada nilai referensi sebesar 0 radian. Pada Gambar 4.3 respon orientasi memiliki osilasi ketika nilai referensi sebesar 0 radian. Kondisi ini terjadi karena kontroler memikili gain derivative yang rendah sehingga redaman pada sistem juga rendah. Sistem dengan nilai redaman yang rendah akan memunculkan osilasi akbat frekwensi natrual yang ada pada sistem. Jumlah osilasi dapat
47
dihilangkan dengan memperbesar nilai gain derivative, sehingga redaman pada sistem semakin besar dan osilasi berkurang. Osilasi yang terjadi pada nilai referensi sebesar 0 radian terjadi karena pada saat merancang kontroler PID dengan menggunakan metode Ziegler Nichols konfigurasi closed loop nilai referensi sistem yang digunakan sebesar 0.78 radian, sehingga kontroler PID memberikan respon orientasi dengan osilasi minimal pada saat nilai referensi 0.78 radian. Apabila nilai referensi berubah menjadi 0 radian parameter kontroler tetap menggunakan nilai yang sama, kontroler tidak dapat memberikan sinyal kontrol yang sesuai akibat perubahan nilai referensi. Pergerakan robot dengan kontroler PID Ziegler Nichols ditunjukkan pada Gambar 4.5. 1 Orientasi Robot P Orientasi Robot K
Orientasi(radian)
0.5
0
-0.5
-1
-1.5
0
10
20 30 Waktu(Detik)
40
50
Gambar 4.4 Orientasi robot kemudi dengan PID Ziegler-Nichols Pada penggunaan kontroler PID Ziegler Nichols dengan konfigurasi closed loop, robot kemudi maupun robot pendorong sudah dapat dapat bergerak mengikuti jalur referensi virtual yang dikehendaki (Gambar 4.5).
48
5 4 3
Posisi robot pada sumbu-y (meter)
Posisi robot pada sumbu-y (meter)
6
4.5
2
Robot Pendorong4
1
Robot Kemudi 3.5
0 -1
0
3
1 2 3 5.24 5.4 5 5.6 6 5.8 7 Posisi robot pada sumbu-x (meter) Posisi robot pada sumbu-x (meter)
6
8
Gambar 4.5 Pergerakan formasi dengan kontroler PID Ziegler-Nichols
Pengujian Simulasi dengan Variasi Nilai Kp Respon orientasi robot dengan memperbesar nilai gain proportional pada kontroler PID masih memperlihatkan osilasi ketika set point sistem berada pada nilai 0o. Nilai gain proportional yang tinggi mengakibatkan respon yang semakin cepat untuk mencapai orientasi yang diinginkan. Penambahan nilai gain propotional juga menyebabkan nilai amplitudo overshoot maksimal menjadi lebih besar seperti yang ditunjukan oleh respon orientasi robot kemudi pada Gambar 4.3. Pengujian sistem dengan memberikan nilai gain proportional yang bervariasi bertujuan untuk mengetahui fungsi pengaruh peningkatan nilai gain proportional pada pergerakan robot dalam formasi. Pengaruh pergerakan robot terhadap peningkatan nilai gain proportional ditampilkan dalam spesifikasi respon transien pada pengujian sistem ditampilkan pada Tabel 4.1, dimana nilai Ki tetap yaitu sebesar 58.8, dan nilai Kd sebesar 4.8. Informasi yang ada pada Tabel 4.1 berupa nilai rise time (Tr), settling time (Ts), time konstant (τ), dan maximum precentage overshoot (Mp). Spesifikasi respon transien yang didapat digunakan sebagai pambanding untuk melihat karakteristik respon apabila diberikan nilai Kp yang lebih besar dari sebelumnya.
49
1.5
Sudut Aktual(Kp=5) Sudut Aktual(Kp=8.4) Sudut Aktual(Kp=10) Sudut Aktual(Kp=20) Sudut Referensi
Sudut (radian)
1 0.5 0 -0.5 -1 -1.5
0
5
10
15 20 Waktu (detik)
25
30
35
Gambar 4.6 Pengujian sistem degan variasi nilai Kp Saat sistem menggunakan nilai Kp sebesar 8.4 yang merupakan hasil tuning menggunakan metode Ziegler-Nichols, respon menghasilkan nilai %Mp yang lebih besar dibandingkan ketika respon menggunakan nilai Kp sebesar 5. Pemberian nilai Kp yang lebih besar merupakan penyebab peningkatan nilai %Mp. Tabel 4.1.Spesifikasi respon trasien dengan variasi nilai Kp pada kontroler PID Maximum Time Rise Time Settling Time overshoot Constant (τ) (Tr) (Ts) Kp (%Mp) 5 0.31 0.52 2.61 46.54% 8.4
0.23
0.42
2.61
53.93%
10
0.2
0.42
2.62
57.69%
20
0.1
0.13
3.05
65.52%
Pada Tabel 4.1 ditunjukkan peningkatan nilai %Mp proporsional dengan peningkatan nilai Kp yang digunakan. Nilai Kp yang tinggi juga berdampak pada kecepatan respon sistem yang dilihat dari nilai rise time 50
(Tr) dan time constant (τ). Semakin kecil nilai Tr, dan (τ) menandakan bahwa sistem semakin cepat untuk mencapai 90% dari nilai akhir.
Posisi Robot terhadap Sumbu-Y (meter)
=0.772204,yP=-0.249476,Tetha lama=-1.067828, Error Angle=-0.00,Tetha newP=-1.07,Tetha desP=-1.07,VxP=0.48,VyP=-0.88
1
Jalur gerak robot kemudi
0.8
0.6 Pergerakan robot kemudi
0.4
0.2
0
Robot kemudi
0
0.2
0.4 0.6 0.8 1 1.2 Posisi Robot terhadap Sumbu-X (meter)
1.4
1.6
Gambar 4.7 Pergerakan Robot kemudi dengan Kp sebesar 20
Posisi Robot Sumbu-Y (meter)
0616,yP=0.056728,Tetha lama=-1.217248, Error Angle=-0.11,Tetha newP=-1.22,Tetha desP=-1.32,VxP=0.35,VyP=-0.94 1.2 Robot kemudi
1 0.8 0.6
Pergerakan Robot Kemudi
0.4 0.2 0
Jaur Robot Kemudi 0
0.5 1 Posisi Robot Sumbu-X (meter)
1.5
Gambar 4.8 Hasil pergerakan robot dengan Kp=5 Pengaruh dari peningkatan nilai Kp terhadap pergerakan robot serupa dengan pengaruh peningkatan nilai Kp terhadap nilai Tr. Semakin 51
besar nilai Kp yang digunakan maka pergerakan robot ke titik tujuan dengan benar akan semakin cepat. Perbandingan pergerakan robot saat menggunakan nilai Kp sebesar 5 dan Kp sebesar 20 ditunjukkan pada Gambar 4.7 dan Gambar 4.8.
Pengujian Simulasi dengan Kontroler PID-Fuzzy Penggunaan logika fuzzy dapat memperbaiki respon sistem karena parameter kontroler dapat berubah menyesuaikan perubahan parameter sistem. Nilai error dan delta error (de) dideteksi untuk merubah parameter kontroler PID secara online sesuai dengan aturan yang ditanamkan pada logika fuzzy, sehingga objek yang dikontrol dapat mencapai perfomansi yang baik. Keluaran dari kontroler fuzzy berupa nilai parameter Kp, Ki, dan Kd yang digunakan untuk memperbarui nilai parameter kontroler PID sebelumnya. Respon sistem dapat dilihat pada Gambar 4.9. Jumlah osilasi pada respon orientasi robot terlihat berkurang apabila dibandingkan dengan respon orientasi robot ketika menggunakan kontroler PID dengan tuning Ziegler-Nichols. Kondisi ini disebabkan oleh pemakaian nilai gain derivative hasil tuning dengan logika fuzzy lebih besar senilai 15. Pemakaian nilai gain derivative yang lebih besar dapat mengurangi nilai amplitudo overshoot respon. Respon orientasi robot kemudi mempunyai nilai persentase overshoot sebesar 3.3%, nilai Tr sebesar 0.75 detik, nilai τ sebesar 0.3, dan nilai Ts sebesar 1.5 detik. Berdasarkan spesifikasi respon menunjukkan bahwa dengan menggunakan kontroler PID-fuzzy respon sistem menjadi lebih lambat 0.33 detik dari respon orientasi robot kemudi ketika menggunakan kontroler. ID dengan tuning Ziegler-Nichols. Waktu respon untuk mencapai kondisi steady dengan kontroler PID-fuzzy lebih cepat dengan nilai Ts sebesar 1.5 detik, lebih cepat 1.44 detik dibandingkan dengan respon orientasi dengan menggunakan PID tuning Ziegler-Nichols. Penggunaan kontroler PID-fuzzy dalam pergerakan robot dapat memperkecil jumlah osilasi yang menyebabkan pergerakan robot menjadi zig-zag. Orientasi robot yang ditampilkan pada Gambar 4.9 menunjukkan respon dengan osilasi yang minimal dan sesuai dengan kondisi pada pengujian yaitu dapat mengurangi pergerakan zig-zag pada robot.
52
1
Sudut (Radian)
0.5
0
-0.5
-1
Sudut Referensi Sudut Orientasi Robot P Sudut Orientasi Robot K 0
5
10
15 20 Waktu (Detik)
25
30
35
Gambar 4.9 Orientasi robot dengan PID-fuzzy.
Simulasi Algoritma Push and Steere dan Virtual Structure Algoritma push and steere digunakan untuk memindahkan objek sesuai jalur yang ditetapkan. Algoritma ini menggunakan dua buah robot untuk menghimpit barang agar dapat dipindahkan ke tempat tujuan. Pada algoritma push and steere terdapat kelebihan dan kekurangan. Robot pendorong diberikan kemampuan tracking pada jalur yang ditentukan, untuk melakukan tugas pemindahan objek. Robot kemudi dan pendorong mempunyai kemampuan yang sama untuk melacak jalur yang ditentukan. Perbedaan antara robot kemudi dan pendorong pada pengujian terdapat pada kecepatan roda tiap robot untuk menjaga benda tetap terhimpit oleh kedua robot. Kecepatan tiap pada robot pendorong berguna untuk memberikan gaya dorong yang lebih besar sehingga objek yang ingin dipindahkan dan robot kemudi dapat terdorong. Pengujian dilakukan dengan menggunakan kontroler PID hasil tuning Ziegler-Nichols dan PID-fuzzy. Respon orientasi robot kemudi dan pendorong dijadikan sebagai bahan analisa untuk mendapatkan kesimpulan. Pemakaian kontroler PID Ziegler-Nichols dan PID-fuzzy pada penggabungan algoritma push and steere dan virtual strucutre ditampilkan pada Gambar 4.10 dan Gambar 4.11.
53
1.5
Sudut (radian)
1 0.5 0 -0.5 -1 -1.5
Sudut Orientasi Robot P Sudut Orientasi Robot K 0
5
10
15 20 Waktu (detik)
25
30
35
Gambar 4.10 Respon orientasi robot pendorong dan robot kemudi dengan konroler PID Ziegler-Nichols 2 Sudut Orientasi Robot P Sudut Orientasi Robot K
1.5
Sudut (radian)
1 0.5 0 -0.5 -1 -1.5
0
5
10
15 20 Waktu (detik)
25
30
35
Gambar 4.11 Orientasi robot pada penggabungan algoritma dengan kontroler PID-Fuzzy
54
Simulasi Gangguan pada Pergerakan Robot Pada kondisi real posisi robot bisa diketahui dan dikoreksi terhadap posisi titik tujuan dengan memanfaatkan perangkat kamera sebagai perangkat umpan balik dari sistem pengaturan gerak formasi robot. Kamera bertugasu untuk mengambil gambar dari warna penanda robot dan diolah oleh komputer agar didapatkan informasi posisi dari tiap-tiap warna penanda robot. Apabila intensitas cahaya mengalami perubahan yang cepat komputer tidak dapat mengenali warna penanda robot sehingga robot bergerak berdasarkan informasi kecepatan terakhir yang dikirim untuk masing-masing robot. Perubahan intensitas cahaya sangat mempengaruhi hasil pengambilan gambar warna penanda tiap robot, sehingga perlu dilakukan simulasi untuk memprediksi pergerarakan robot ketika terdapat gangguan berupa perubahan intensitas cahaya yang signifikan. Gangguan berupa intensitas cahaya dimisalkan dengan menambahkan nilai error dengan nilai bias seperti pada Persamaan 4.1. Penambahan nilai error diberikan kepada robot kemudi sebagai penentu arah gerak dengan tujuan untuk melihat kemampuan algoritma virtual structure dalam mempertahankan bentuk formasi.
e d bias
4.1
Hasil pergerakan robot kemudi dengan menambahkan nilai bias dalam persamaan error ditunjukkan pada Gambar 4.28.
Posisi robot pada sumbu Y (cm)
6 Virtual center
5
4
3
Jalur robot kemudi dan pendorong
2 Pergerakan robot kemudi 1 Pergerakan robot pendorong 0 -1
0
1
2 3 4 5 Posisi robot pada sumbu-x(cm)
6
7
8
Gambar 4.12 Pergerakan robot kemudi dengan gangguan
55
Pada Gambar 4.12 robot kemudi yang ditandai dengan garis hijau bergerak keluar jalur yang ditentukan yakni jalur berwarna merah. Kesalahan gerak robot kemudi disebabkan oleh penambahan nilai bias sebesar 10 pada persamaan error, sehingga untuk mengembalikan robot kemudi bergerak sesuai pada jalurnya diperlukan algoritma lain untuk menghilangkan penambahan nilai bias, yaitu saat jarak antara robot kemudi dan robot pendorong lebih dari nilai toleransi yang diberikan maka robot pendorong bergerak melambat dengan masukkan kecepatan 1 cm dari yang semula adalah 2 cm/s. Pada saat yang sama robot kemudi yang berada diluar jalur yang ditentukan melakukan pelacakan ulang terhadap titik tujuan yang seharusnya, dan ditambahkan nilai bias error baru sebesar -10 sehingga persamaan error menjadi persamaan error tanpa adanya penambahan bias. Persamaan error baru yang dimaksud ditampilkan dalam Persamaan 4.2
e d bias bias2
4.2
Penambahan nilai bias2 merupakan pengganti perlakuan apabila kamera dapat menampilkan warna penanda robot akibat intensitas cahaya ruangan berada pada kondisi yang sesuai untuk pengujian yaitu antara 575 hingga 843 lux untuk pukul 13.54, 70 hingga 83 lux untuk pukul 16.56, dan 14 hingga 53 lux untuk pukul 18.00. Kesalahan orientasi robot kemudi dan pendorong ditampilkan pada Gambar 4.13. 15
Kesalahan Orientasi Robot (radian)
Error Orientasi Robot Pendorong Error Orientasi Robot Kemudi 10
5
0
-5
-10
0
5
10
15 Waktu (detik)
20
25
30
Gambar 4.13 Respon kesalahan orientasi robot kemudi
56
Pada Gambar 4.13 menampilkan respon kesalahan yang diawali dengan overshoot sebesar 10 yang disebabkan oleh penambahan nilai bias awal. Akibat penambahan nilai bias pada persamaan error pergerakan robot menyimpang dari jalur yang ditunjukkan pada lingkaran merah di Gambar 4.12, sehingga orientasi robot juga mengalami kesalahan hingga 10 radian. Robot dapat kembali pada jalur ketika jarak antar kedua robot melebihi batas toleransi yang ditetapkan.
Gerakan Robot Kemudi menggunakan PID ZieglerNichols Implementasi sistem pengaturan formasi robot dalam tugas pemindahan objek menggunakan dua buah robot masing-masing dilengkapi dengan sensor bumper. Pergerakaan dua buah robot tersebut dilakukan dengan dua tahapan pengujian. Robot yang berfungsi sebagai pendorong tidak diberikan jalur pergerakan formasi robot, sehingga hanya memanfaatkan perangkat sensor bumper yang terpasang pada masing-masing robot. Arah gerak formasi robot bergantung pada robot kemudi.Robot pendorong hanya bertugas untuk memmberikan gaya ke benda dan robot kemudi agar formasi dapat bergerak. Pergerakan formasi robot menggunakan kontroler PID yang dirancang menggunakan metode Ziegler-Nichols. Pada impelementasi sistem pengaturan formasi, respon orientasi robot kemudi pada Gambar 4.14 sudah mengikuti nilai set point yang diberikan. Ketika nilai set point diberikan sebesar 0.78 radian, arah hadap robot menyesuaikan dengan sudut referensi yang diberikan namun respon yang didapat menunjukkan respon yang lambat yang diakibatkan oleh kecepatan roda kanan dan kiri yang diatur lambat sehingga ketika nilai set point berubah robot belum sampai pada kondisi steady dan robot harus menyesuaikan orientasi pada sudut referensi selanjutnya. Pada Gambar 4.13 error yang dihasilkan oleh orientasi robot kemudi mendekati 0 radian seperti pada pergerakan robot kemudi dimana arah orientasi dari robot kemudi mengikuti sudut yang dibentuk oleh jalur referensi. Pergerakan robot yang didapat oleh kamera ditampilkan pada Gambar.4.16. Pada Gambar 4.16 terlihat robot kemudi dapat bergerak sesuai pada jalur virtual
57
1.2 Orientasi robot kemudi Sudut referensi
1.1 1
Sudut (Radian)
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2
0
5
10 15 Waktu (Detik)
20
25
Gambar 4.14 Respon orientasi robot kemudi dengan kontroler PID Hasil kesalahan orientasi pada robot kemudi yang ditampilkan pada Gambar. 4.15 membentuk osilasi dengan rentang amplitudo senilai 0.289 hingga -0.289. Osilasi pada respon error robot kemudi disebabkan oleh pengaturan awal pada gerak robot kemudi. Robot kemudi bergerak dengan mendeteksi nilai polaritas kecepatan sudut roda kiri dan roda kanan. Pergerakan robot kemudi diawali oleh motor servo yang aktif berdasarkan polaritas dari nilai kecepatan sudut roda kiri dan roda kanan. Apabila kecepatan sudut roda kiri bernilai negatif dan kecepatan sudut roda kanan bernilai positif maka roda kiri berputar dan roda kanan berhenti berputar dan sebaliknya apabila kecepatan sudut roda kiri bernilai positif dan kecepatan sudut roda kanan bernilai negatif maka roda kiri berhenti dan roda kanan berputar. 3
Sudut (radian)
2
1
X: 0.8 Y: 0.2644
0
X: 6.4 Y: 0.2855
X: 2.6 Y: 0.1797 X: 3.4 Y: 0.1659
X: 8.2 Y: 0.2183
X: 5.7 Y: 0.1957
-1
-2
-3 0
10
20 30 Waktu (detik)
40
50
Gambar 4.15 Respon kesalahan orientasi robot kemudi 58
Posisi robot pada sumbu-y (meter)
Pergerakan robot kemudi 1 Titik tujuan 2
Titik tujuan 3
0.8
0.6 Robot kemudi 0.4 Titik tujuan 4
0.2 Titik tujuan 1 0
0
0.2
0.4 0.6 0.8 1 1.2 Posisi robot pada sumbu-x (meter)
1.4
1.6
Gambar 4.16 Pergerakan robot kemudi dengan PID-Ziegler Nichols
Gerakan Robot Kemudi menggunakan PID-Fuzzy Perubahan orientasi robot menggunakan PID-fuzzy menampilkan respon dengan jumlah osilasi yang lebih sedikit, seperti pada Gambar 4.5. Penggunaan logika fuzzy dimasudkan menentukan nilai parameter kontroler PID. Nilai parameter kontroler yang tetap akan membuat sistem memiliki osilasi apabila nilai orientasi tujuan berubah. Nilai Kp, Ki, dan Kd selalu tetap apabila sudut aktual robot dan sudut tujuan robot sudah sama. Perubahan nilai parameter Kp, Ki, dan Kd terjadi apabila orientasi robot dan sudut aktual tidak sama, sehingga kontroler PID-fuzzy bisa mempertahankan formasi gerak robot tetap pada jalurnya dengan jumlah osilasi yang minimal. Respon orientasi robot ketika menggunakan kontroler PID-fuzzy menampilkan nilai error yang mendekati nilai 0 radian. Adanya overshoot pada nilai error orientasi robot disebabkan nilai parameter gain proportional yang tinggi yaitu senilai 35.5 dengan nilai gain derivative dan gain integral sebesar 15.5. Respon error yang mengalami oversshoot pada detik ke 2 hingga ke 4
59
1.5 1
Sudut (Radian)
0.5 0 -0.5 -1 -1.5 -2 0
2
4
6
8 10 12 Waktu (Detik)
14
16
18
20
Gambar 4.17 Kesalahan orientasi robot kemudi dengan PID-fuzzy 1.6 Orientasi robot kemudi Sudut referensi
1.4
Sudut (radian)
1.2 1 0.8 0.6 0.4 0.2
0
2
4
6
8 10 12 Waktu (Detik)
14
16
Gambar 4.18 Orientasi robot kemudi dengan PID-fuzzy
60
18
20
posisi robot sumbu-y (Meter)
1 Pergerakan robot kemudi 0.8 Posisi robot kemudi 0.6
0.4
0.2
0
Titik tujuan
0
0.2
0.4
0.6 0.8 1 posisi robot sumbu-x (Meter)
1.2
1.4
1.6
Gambar 4.19 Pergerakan robot kemudi dengan kontroler PID-fuzzy
Implementasi Algoritma Push and Steere Pada subbab ini uji coba implementasi sistem pengaturan formasi robot dilakukan dengan menggunakan kontroler PID-Ziegler Nichols. Hasil orientasi robot kemudi dianalisa dan dihasilkan kesimpulan kontroler mana yang memberikan performa sistem lebih baik. Pengujian sistem dilakukan dengan menyusun posisi robot awal pada tempatnya sehingga membentuk formasi yang diinginkan. Kemudian robot kemudi akan berjalan perlahan mengikuti jalur yang ditentukan dan robot pendorong akan berjalan lurus lebih cepat dari pada robot kemudi untuk menghasilkan gaya dorong terhadap benda dan robot kemudi. Pergerakan robot pendorong dan robot kemudi akan terus dilakukan hingga robot kemudi mencapai titik akhir dari jalur yang ditentukan. Pada Gambar 4.20 tampak bahwa robot pendorong belum diberikan warna penanda(ditunjukkan oleh lingkaran merah pada Gambar 4.20). Warna penanda hanya diberikan kepada robot kemudi agar kamera komputer dapat melacak posisi aktual robot kemudi dan melalui teknik pengolahan gambar dan memberikan sinyal kontrol untuk kepada robot kemudi untuk bergerak. Sinyal kontrol yang diterima oleh robot kemudi berasal dari sinyal error yang diterima yaitu selisih antara posisi aktual
61
robot dengan posisi tujuan robot , dan selisih orientasi tujuan dan orientasi yang dibentuk oleh robot, sedangkan robot pendorong dapat bergerak hanya berdasarkan kondisi aktif pada limit switch sisi kiri atau sisi kanan.
Gambar 4.20 Tampilan implementasi tugas pemindahan objek. Pada Gambar.4.21 kesalahan orientasi yang dihasilkan pada sistem pengaturan formasi robot menunjukkan adanya osilasi dengan rentang nilai 2.14 radian hingga -4.13 radian. Osilasi terjadi dikarenakan pergerakan pada robot kemudi diatur untuk bergerak berdasarkan polaritas dari nilai kecepatan sudut putar roda kiri dan kanan, sehingga robot bergerak secara berliku-liku(zig-zag). 3 2
Sudut (radian)
1 0 -1 -2 -3 -4 -5
0
20
40
60
80 100 120 Waktu (Detik)
140
160
180
200
Gambar 4.21 Respon kesalahan orientasi pergerakan robot 62
Posisi barang pada sumbu-y (meter)
Kesalahan orientasi terjadi pada detik 140 hingga 160 dan robot mempunyai respon yang lambat untuk menyesuaikan arah hadap terhadap titik tujuan keempat. Hal ini disebabkan karena dorongan dari robot pendorong terlalu besar sehingga putaran roda robot kemudi mempunyai pengaruh yang kecil pada arah gerak formasi. Kesalahan orientasi robot kemudi yang menyebabkan arah gerak robot melebar dari jalur yang ditetapkan untuk mencapai titik tujuan ke-empat. Penggunaan nilai parameter kontroler yang tetap juga menjadi penyebab melebarnya pergerakan formasi robot dari jalur yang ditentukan untuk menuju titik tujuan. Pada Gambar 4.22 gerak robot dari titik tujuan ketiga menuju titik tujuan keempat mengalami melebar hingga 0.3 meter. Parameter kontroler ditentukan berdasarkan tuning Ziegler-Nichols untuk pergerakan robot dengan referensi orientasi sebesar 0.78 radian saja. Aksi kontrol yang diberikan akan tetap menggunakan nilai parameter yang sama untuk nilai referensi yang berbeda sehingga timbul kesalahan gerak pada robot.
Posisi barang ketika pada titik tujuan 2 Titik Tujuan 3
1
Pergerakan robot kemudi 0.8
0.6 Titik Tujuan 2
0.3 m
0.4 Titik tujuan 1 0.2 Titik tujuan 4 0
0
0.2
0.4 0.6 0.8 1 1.2 Posisi barang pada sumbu-x (meter)
1.4
1.6
Gambar 4.22 Pergerakan barang dengan algoritma push and steer
63
1.2 Orientasi barang Sudut referensi
Sudut (radian)
1 0.8 0.6 0.4 0.2
0
20
40
60
80 100 120 Waktu(detik)
140
160
180
200
Gambar 4.23 Orientasi robot dalam algoritma push and steere Pada penggunaan kontrolor PID-fuzzy respon kesalahan pada orientasi robot mempunyai rentang nilai kesalahan yang lebih kecil dibandingkan dengan kesalahan yang dihasilkan ketika menggunakan kontroler PID Ziegler-Nichols. Rentang nilai kesalahan yang dihasilkan berkisar antara -1 radian hingga 1 radian seperti yang ditunjukkan pada Gambar 4.24. Rentang kesalahan yang lebih kecil juga didukung oleh hasil pergerakan robot kemudi yang terlacak oleh kamera seperti pada Gambar.4.25. Robot kemudi bergerak sesuai jalur yang ditetapkan dengan kesalahan orientasi yang lebih kecil. Pada titik tujuan ke tiga menuju ke titik tujuan ke empat arah gerak robot juga keluar dari jalur yang ditentukan namun kesalahan gerak robot tidak sebesar ketika robot menggunakan kontroler PID-Ziegler Nichols. Penggunaan kontroler PID dengan memanfaatkan logika fuzzy untuk menetapkan nilai parameter kontroler dapat memperbaiki kesalahan orientasi. Nilai parameter kontroler dapat berubah menyesuaikan dengan perubahan nilai error dan delta error sistem, dimana referensi sisitem pergerakan formasi robot memiliki nilai referensi berupa sudut tujuan antara robot dan titik tujuan yang berbeda-beda bergantung lintasan yang ada.
64
3
Sudut (radian)
2
1
0
-1
-2
-3 0
10
20
30 40 50 Waktu (detik)
60
70
80
Posisi barang pada sumbu-y (meter)
Gambar 4.24 Kesalahan orientasi pada robot kemudi
Titik tujuan 2
1 Titik tujuan 1
Titik tujuan 3
Pergerakan barang
0.8
0.6
0.4
0.2 Posisi barang Titik tujuan 4 0
0
0.2
0.4 0.6 0.8 1 1.2 Posisi barang pada sumbu-x (meter)
1.4
1.6
Gambar 4.25 Implementasi gerak robot kemudi dengan PID-fuzzy Penggunaan kontroler PID-fuzzy memperbaiki gerak robot kemudi untuk mengatur gerakan formasi robot sesuai pada jalurnya. Kesalahan 65
gerak robot kemudi mulai terjadi ketika berada di titik tujuan ketiga menuju ke titik tujuan keempat seperti pada Gambar 4.25. Pada titik ketiga robot kemudi mengalami dorongan dari robot pendorong sedangkan roda robot kemudi kehilangan gaya gesek atau slip terhadap permukaan lapangan. Kesalahan gerak robot melebar hingga 0.1 meter. Kesalahan gerak robot kemudi di jalur yang sama lebih kecil dibandingkan ketika robot kemudi menggunakan kontroler PID ZieglerNichols. Perbaikan gerakan robot kemudi mulai terjadi pada detik ke 70 hingga 80 sesuai Gambar.4.24, nilai error mulai mendekati 0 radian sesudah mengalami ganguan barupa kondisi slip pada roda robot. Orientasi aktual robot kemudi yang ditunjukkan pada Gambar.4.25 menampilkan orientasi robot yang terus menurun tidak sampai pada tiap nilai orientasi referensi. Hal ini diakibatkan oleh pergerakan robot yang diatur lambat sehingga ketika robot ingin mencapai nilai referensi dengan nilai 0.9273 radian, nilai referensi sudah berpindah pada nilai referensi yang selanjutnya. Kondisi tersebut menyebabkan respon sudut orientasi aktual tampak seperti pada Gambar 4.26. X: 0.1 Y: 1.107
1.2
Orientasi aktual robot kemudi Sudut referensi
1.1 1
Sudut(radian)
0.9
X: 0.3 Y: 0.9273
0.8 0.7
X: 4.5 Y: 0.7266
X: 2.9 Y: 0.7266
0.6 0.5 0.4 0.3 0.2
0
10
20
X: 4.6
30 Y: 0.245 40 50 Waktu (detik)
60
70
80
Gambar 4.26 Orientasi robot kemudi dengan PID-fuzzy
Implementasi Penggabungan Algoritma Push and Steere dan Algortima Virtual Structure Penggabungan kedua algortima antar Push and steere dan algoritma virtual strucutre, ditunjukkan dengan penambahan warna penanda pada 66
robot. Robot pendorong memiliki jalurnya sendiri dan dibantu oleh sensor bumper yang terpasang untuk mengetahui arah gerak robot seperti pada Gambar 4.27. Tambahan warna yang dipilih merupakan warna hijau dan kuning, sehigga robot pendorong dapat terlacak pergerakannya oleh kamera. Robot pendorong tidak lagi hanya mengatur gerakan translasi pada formasi dan memberikan gaya dorong terhadap benda, melainkan bertambah tugas untuk mengatur arah gerak formasi sama seperti tugas pada robot kemudi. Pengujian dilakukan dengan menggunakan kontroler PID-Ziegler Nichols. Nilai parameter yang digunakan merupakan nilai parameter yang didapatkan dari desain kontroler PID menggunakan metode ZieglerNichols konfigurasi closed loop pada bab 3. Pergerakan Robot Kemudi dan Robot Pendorong 1.2
Struktur virtual formasi berbaris
Pergerakan robot pendorong
Posisi robot pada sumbu-y (meter)
1
0.8
0.6
Pergerakan robot kemudi
Titik tujuan robot
0.4
0.2
0
0
0.2
0.4
0.6 0.8 1 1.2 Posisi robot pada sumbu-x (meter)
1.4
1.6
Gambar 4.27 Pergerakan formasi pada pengabungan algoritma Melalui penggabungan algoritma push and steere dan virtual strucutre posisi robot pendorong dapat dipantau dan dilakukan koreksi terhadap titik tujuan. Gambar. 4.27 menampilkan pergerakan dari robot pendorong dan robot kemudi selama bergerak pada jalur yang ditentukan. Robot kemudi(robot K) dan robot pendorong(robot P) bergerak melebar menuju titik tujuan ke dua. ketika menggunakan kontroler PID Ziegler-Nichols. Gerakan yang tidak sesuai ditunjukkan oleh anak panah berwarna merah pada Gambar 4.27 melebar hingga 0.2 meter. Hal ini 67
disebabkan oleh nilai parameter kontroler PID yang tetap sehingga tidak bisa menyesuaikan dengan perubahan nilai referensi. Kesalahan gerakan pada robot K juga disebabkan oleh gaya dorong dari robot P yang terlalu besar sehingga ketika robot K ingin menyesuaikan orientasinya terhadap titik kedua, robot K terkena dorongan dari robot P. Respon Error Orientasi Robot Pendorong dan Robot Kemudi 4 Kesalahan orientasi robot kemudi Kesalahan orientasi robot pendorong
3
Sudut (radian)
2 1 0 -1 -2 -3
0
2
4 6 Waktu (detik)
8
10
Gambar 4.28 Respon kesalahan orientasi tiap robot Rentang kesalahan orientasi robot K maupun robot P berada pada nilai -2.3 radian hingga 4 radian. Pada Gambar 4.28 kesalahan orientasi robot kemudi menampilkan osilasi yang lebih besar pada detik ke 4 hingga detik ke 8. Osilasi yang terjadi pada respon kesalahan robot K memiliki rentang amplitudo -2.3 hingga 1.8 sedangkan pada robot P rentang amplitudo berada antar nilai -2 hingga 0 pada detik ke 4 hingga detik ke 8. Rentangan nilai amplitudo kesalahan orientasi robot P yang lebih kecil dibandingkan dengan rentang nilai amplitudo yang dihasilkan oleh robot K. Robot P mempunyai rentang nilai kesalahan orientasi yang lebih kecil daripada robot K. Hal ini dikarenakan robot P memiliki pengetahuan akan jalur yang ditentukan. Pada robot K rentang nilai kesalahan orientasi lebih besar disebabkan karena gerak robot P sudah diberikan pengetahuan akan jalur yang yang ditentukan maka robot P tidak lagi bergantung pada 68
perubahan orientasi benda yang akan mengaktifkan salah satu limit switch pada sensor bumper. Penggabungan algoritma push and steere dengan virtual structure mempunyai kelebihan dan kekurangan. Pergerakan robot pendorong menjadi lebih tahan akan gangguan karena mempunyai jalur tujuan sendiri dan tidak sepenuhnya bergantung pada sensor bumper, akan tetapi penggabungan kedua algoritma ini memiliki kekurangan. Robot P yang tidak sepenuhnya bergantung pada sensor bumper merugikan robot K sebagai pengatur orientasi formasi robot. Jalur yang dilacak oleh robot P adalah jalur yang sudah dilacak oleh robot K lebih dahulu. Ketika robot K mengubah orientasinya sesuai arah jalur, robot P tetap pada orientasi yang sama hingga limit switch pada bumper robot P tertekan. Pengujian menggunakan kontroler PID-fuzzy pada penggabungan algoritma push and steere dengan virtual structure menampilkan pergerakan robot kemudi dan robot pendorong seperti pada Gambar 4.29. Kesalahan pergerakan robot K pada titik tujuan ke 2 seperti yang ditunjukkan pada anak panah berwarna merah pada Gambar 4.27 menjadi lebih kecil apabila dibandingkan dengan kesalahan pergerakan pada Gambar 4.28 ketika digunakan PID Ziegler Nichols. Nilai parameter kontroler PID yang dapat berubah-ubah berdasarkan hasil mekanisme inferensi fuzzy memberikan sinyal kontrol yang sesuai dengan dengan perubahan nilai referensi sesuai pada jalur yang ditentukan. Pergerakan Robot Kemudi dan Robot Pendorong
Posisi robot pada sumbu-y(meter)
Struktur virtual formasi berbaris 1
0.8 Pergerakan robot kemudi 0.6
0.4 Pergerakan robot pendorong
Titik Tujuan
0.2
0
0
0.2
0.4
0.6 0.8 1 Posisi robot pada sumbu-x(meter)
1.2
1.4
Gambar 4.29 Pergerakan formasi dengan kontroler PID-Fuzzy
69
1.6
Kesalahan Orientasi Gerak Robot Kemudi dan Robot Pendorong 1 X: 4 Y: 0.7028
Kesalahan orientasi (radian)
0.5 0 -0.5
-1 -1.5 X: 3.1 Y: -2.133
-2 Kesalahan orientasi robot kemudi Kesalahan orientasi robot pendorong -2.5 0
0.5
1
1.5
2 2.5 Waktu(detik)
3
3.5
4
4.5
Gambar 4.30 Kesalahan orientasi dengan kontroler PID-Fuzzy Pada Gambar 4.29 pergerakan robot kemudi yang ditandai dengan warna biru mengalami peleberan gerak ketika menuju titik kedua. Pelebaran gerak robot kemudi ditandai dengan anak panah berwarna merah. Jarak antara titik tujuan ke dua dengan titik biru pergerakan robot yang ditunjukkan pada anak panah warna merah adalah 0.0911 meter. Nilai 0.091 meter atau mendekati nilai 0.1 meter merupakan nilai toleransi jarak minimal antara robot dengan masing-masing titik tujuan yang ditetapkan oleh penulis. Pada Gambar 4.30 rentang nilai kesalahan orientasi pada pergerakan robot kemudi maupun robot pendorong senilai 0.7028 radian hingga -2.13 radian. Rentang nilai kesalahan orientasi robot kemudi dan pendorong yang lebih kecil ketika menggunakan kontroler PID-fuzzy menunjukkan bahwa kontroler PID-fuzzy dapat memperbaiki pergerakan robot kemudi dan pendorong dalam tugas pemindahan objek. Pada pengujian penggabungan algoritma push and steere dengan virtual structure mempunyai kelebihan dan kelemahan apabila dilihat dari hasil pergerakan robot kemudi. Kelebihan menggunakan gabungan pendekatan push and steere dan virtual structure adalah pergerakan robot pendorong dapat termonitoring oleh kamera, sehingga dapat dilakukan koreksi posisi robot terhadap titik tujuan. Kekurangan dari penggabungan algoritma push and steere menjadikan robot pendorong bergerak tidak sesuai arahan dari robot kemudi dikarenakan robot pendorong memiliki jalurnya sendiri, sehingga diperlukan bantuan dari sensor bumper yang memberikan peringatan adanya perubahan orientasi barang. 70
5 BAB 5 KESIMPULAN Penggunaan pendekatan virtual structure dalam sistem pengaturan robot dapat memperkecil nilai kesalahan gerak tiap robot dalam formasi. Hal ini dikarenakan tiap robot mempunyai jalur referensi masing-masing. Pergerakan robot bergantung pada pergerakan titik virtual pada komputer. Kesalahan gerak robot menjadi berkurang ketika algoritma virtual structure digunakan. Pada penggunaan algoritma virtual structure untuk implementasi gerak robot didapatkan penyimpangan gerak hingga 0.1 meter dari jalur yang ditentukan sedangkan ketika tanpa menggunakan pendekatan virtual structure gerakan robot menyimpang hingga 0.3 meter dari jalur yang ditentukan. Penambahan kontroler PID fuzzy dapat memperbaiki respon kesalahan orientasi robot dan pergerakan robot. Rentang kesalahan orientasi robot dengan kontroler PID-fuzzy menjadi lebih kecil dengan nilai 0.7028 hingga -2.13 radian dan ketika menggunakan kontroler PID Ziegler-Nichols.-2.3 hingga 1.8 radian. Rentang nilai kesalahan orientasi robot kemudi dan pendorong yang lebih kecil ketika menggunakan kontroler PID-fuzzy menunjukkan bahwa kontroler PID-fuzzy dapat memperbaiki pergerakan robot kemudi dan pendorong dalam tugas pemindahan objek. Pada penelitian ini persamaan kinematik digunakan untuk menentukan pergerakan robot dalam formasi, sehingga gaya yang bekerja pada sistem dapat diabaikan. Persamaan dinamik diperlukan untuk menyatakan gaya-gaya yang bekerja agar dapat merepresentasikan kondisi aktual sistem apabila dilakukan penelitian dengan topik yang sama.
71
Halaman ini sengaja dikosongkan
72
DAFTAR PUSTAKA [1] F. Knorn, "Topics in Cooperative Control," A dissertation submitted for the degree of Doctor of Philosophy, pp. 28-30, June 2011. [2] J. S. J. Russell G. Brown, "A Pusher/Steerer Model for Strongly Cooperative Mobile Robot Manipulation," IROS'95 Proceedings of the International Conference on Intelligent Robot and Systems, vol. 3, p. 3562, 1995. [3] A. Abbaspour and K. A. S. Ali A. Moosavian, "A Virtual Structurebased Approach to Formation Control of Cooperative Wheeled Mobile Robots," in RSI/ISM International Conference on Robotics and Mechatronics, Tehran, 2013. [4] "Robot Mobile," wikipedia, 10 Desember 2016. [Online]. Available: https://en.wikipedia.org/wiki/Mobile_robot. [Accessed 1 November 2016]. [5] E. Pitowarno, ROBOTIKA, Desain, Kontrol, dan Kecerdasan Buatan, Surabaya: Andi offset, 2006. [6] K. Ogata, "Pulse Transfer Function of a Digital PID Controller," in Discrete Time Control System, Minnesota, Prentice Hall, 1995, pp. 114-117. [7] C. C. Lee, "Fuzzy Logic Control System: Fuzzy Logic ControllerPart I," Transaction on system, man, and cybernetics, vol. 20, no. 2, March 1990. [8] V. d. Broek and V. d. W. H. Nijmeijer, "A Virtual Structure Approach to Formation Control of Unicycle Mobile Robots," International Journal of Control, vol. 84, no. 11, pp. 1886-1902, 2011. [9] R. C. Gonzalez and R. E. Woods, Digital Image Processing: Third Edition, Prentice Hall, 2002. [10] M. Egerstedt, "Motion Planning and Control of Mobile Robot," TRITA-MAT, Stockholm, 2000. [11] D. N. J. S. E. Pruner, "Control of Decentralized Geometric Formation of Mobile Robots," in Methods and Models in Automation and Robotics (MMAR), 2012 17th International Conference, Ottawa, 2012. 73
[12] K. Ogata, "Ziegler-Nichols Rules for Tuning PID Controllers," in Modern Control Engineering fifth edition, Minnesota, Prentice Hall, 1997, pp. 568-571.
74
LAMPIRAN 1. Perhitungan Perencanaan Kontroler PID dengan Metode Ziegler Nichols Konfigurasi Closed Loop. Metode Ziegler-Nichols konfigurasi closed loop membutuhkan nilai gain kritis(Kcr) yang didapat dengan menaikkan nilai gain proportional dan menetapkan nilai waktu integral (Ti) sebesar ∞, dan waktu derivative (Td) sebesar 0. Nilai gain integral diperbesar hingga didapatkan respon sistem dengan osilasi permanen. Nilai gain kiritis yang didapat sebesar 14, melalui percobaan, dengan periode kritis (Pcr) dari respon sebesar 14 Perhitungan mengacu pada Tabel 3.2 sehingga didapat nilai parameter kontroler yaitu: a) Kp=0.6x14 Kp=8.4 b) Ti=0.5x14 Ti=7 Ki=Kp/Ti Ki=8.4/0.7 Ki=55.8 c) Td=0.125x14 Td= 4.8 2. Script M-File Simulasi Pengaturan Formasi dengan Pendekatan Virtual Structure Pada Tugas Pemindahan Objek. clc,clear all, close all%clear all, close all % arduino_board = arduino('COM10', 'Uno', 'Libraries', 'Servo'); % servo_motor1= servo(arduino_board,8); % servo_motor2= servo(arduino_board,9);
75
%%%%%%%%%%%%%%%%%%%%%%%%% dimensi robot %%%%%%%%%%%%%%% r = .03;
%jari-jari (m)
b = .04;
%1/2 lebar robot (m)
l=2*b; antar roda)
%lebar robot (m)(jarak
d=0.06; load('path2.mat') load('SudutREF.mat') load('iterasi.mat') %----------------------Jalur Uji-------------------------------% lx1=-.5; ly1=0.5; j=0; ER=0; for g=1:50 VCxd(1,g)=Path2(g,1)+1; %masukan tujuan Virtual Structure dx=diff(VCxd); VCyd(1,g)=Path2(g,2)+3; dy=diff(VCyd); sudut=atan2(dy,dx);
76
tVc=atan2(VCyd(1,g),VCxd(1,g)); Tetha_acuan(g,1)=tVc; VCxdS(1,g)=VCxd(1,g)+cos(tVc)*lx1sin(tVc)*ly1+0.707; VCydS(1,g)=VCyd(1,g)+sin(tVc)*lx1-cos(tVc)*ly1; end
%-----------------------Ploting Jalur Trajektory--------------------------% plot(VCxdS,VCydS,'r','LineWidth',3),hold on plot(VCxd,VCyd,'k','LineWidth',3),hold on
%-----------------------Penetapan Awal Posisi Robot-----------------------% %posisi awal Virtual Center x_Vc=VCxd(1,1); y_Vc=VCyd(1,1); %posisi awal Robot Pendorong x_Rp=VCxdS(1,1)-0.3; y_Rp=VCydS(1,1)-0.3; % x_Rp=0; % y_Rp=5; %posisi awal Robot Kemudi x_Rs=VCxdS(1);
77
y_Rs=VCydS(1); % x_Rs=1.1; % y_Rs=0.3929; %posisi awal Robot barang x_Rb=(x_Rs-x_Rp)/2; y_Rb=(y_Rs-y_Rp)/2;
%------------------------Parameter Kontroller----------------------------% Kp=20;%50 DENGAN V= 2 m/s Ki=50;%20 Kd=4.8;%30 %%%%%%
CAMERA SETTING
%%%%%%%%%%%%%%%%
% cam=webcam('ZSMC USB PC Camera (ZS0211)'); % cam.Resolution = '320x240'; % redThresh = 77/255; % Threshold for red detection % blueThresh = 0.15;
%------------------------Parameter Sistem--------------------------------% TS=0.01;%waktu sampling Batas_error=0.02;%%%%Batas Error%% Tetha_awal=0;
78
Tetha_awalP=0; Tetha_awalS=0; m=0;%Iterasi awal eangle_lead_old=0;%error Sudut lama eangle_lead_oldP=0; eangle_lead_oldS=0; v = 1.7; %VirtualCenter Eylama=0; Exlama=0; vp=2; vs=1.7; idx=0; error2=0; j=0; axis([-1 8 0 6]),grid on,hold on %------------------------Pergerakan Robot--------------------------------% for i=1:length(VCxd) VCxdP=VCxdS(i); VCydP=VCydS(i); while norm([VCxd(1,i);VCyd(1,i)] [x_Vc;y_Vc],2) > Batas_error m = m+1; iterasi2(m,1)=m;
79
Tetha_desP=atan2((VCydP-y_Rp),(VCxdPx_Rp)); Tetha_desS=atan2((VCydS(i)y_Rs),(VCxdS(i)-x_Rs)); Tetha_des =atan2((VCyd(i)-y_Vc),(VCxd(i)x_Vc));
e=Tetha_des-Tetha_awal; de=e-eangle_lead_old;
SudutRP=Tetha_desP-Tetha_awalP; SudutRS=Tetha_desS-Tetha_awalS+10+error2; %
SudutRS=Tetha_desS-Tetha_awalS %%%%%%%Posisi Error%%%%%%%
% w: angular velocity dengn kontroller PID WVc=e*Kp*TS+Ki*(e+eangle_lead_old)*TS+Kd*(eeangle_lead_old)*TS;%Update Sudut Robot Virtual Center WrobotP=SudutRP*Kp+Ki*(SudutRP+eangle_lead_oldP) +Kd*(SudutRP-eangle_lead_oldP);%Update Sudut Robot Pendorong OmegaP(m,1)=WrobotP;
80
WrobotS=SudutRS*Kp+Ki*(SudutRS+eangle_lead_oldS) +Kd*(SudutRS-eangle_lead_oldS);%Update Sudut Robot Kemudi OmegaS(m,1)=WrobotS;
wlP=mean(vpb/2*WrobotP)/r;,wleftP(m,1)=wlP; wrP=mean(vp+b/2*WrobotP)/r;,wrightP(m,1)=wrP;
wlS=(vs-b/2*WrobotS)/r;,wleftS(m,1)=wlS; wrS=(vs+b/2*WrobotS)/r;,wrightS(m,1)=wrS; OmegakiriS(m,1)=wlS; %Kecepatan putar roda kiri robot kemudi OmegakananS(m,1)=wrS;%Kecepatan putar roda kanan robot kemudi
wlVC=(v-b/2*WVc)/r; wrVC=(v+b/2*WVc)/r; OmegakiriVC(m,1)=wlVC; OmegakananVC(m,1)=wrVC; ul=(2*v+WVc)/2; ur=(2*v-WVc)/2;
81
%%%%%%%%%%%%------SIMULASI GERAKAN ROBOT DAN VIRTUAL CENTER----%%%%%%% %-----------------model kinematik robot dan Pergerakan Virtual Center-----%
Vcx_new=x_Vc + (r/2)*(wlVC+wrVC)*cos(Tetha_awal)*TS; Vcy_new=y_Vc +(r/2)*(wlVC+wrVC)*sin(Tetha_awal)*TS;
Rpx_newP=x_Rp + (r/2)*(wlP+wrP)*cos(Tetha_awalP)*TS; Rpy_newP=y_Rp + (r/2)*(wlP+wrP)*sin(Tetha_awalP)*TS; LRpx=sqrt(abs(Vcx_new-Rpx_newP)^2+abs(Vcy_newRpy_newP)^2); Rsx_newS=x_Rs + (r/2)*(wlS+wrS)*cos(Tetha_awalS)*TS; Rsy_newS=y_Rs + (r/2)*(wlS+wrS)*sin(Tetha_awalS)*TS; %-----------------------Pergerakan Box-----------------------------------% %
Rbx
= Rsx_newS-d*cos(Tetha_awalS);
%
Rby
= Rsy_newS-d*sin(Tetha_awalS);
Rbx
= Rpx_newP+d*cos(Tetha_awalP);
Rby
= Rpy_newP+d*sin(Tetha_awalP);
82
rho=sqrt((Rbx+d-Rsx_newS)^2+(Rby+d-Rsy_newS)^2); DYN=Rbx+d-Rsx_newS; DXN=Rby+d-Rsy_newS; %
ErrorNew=atan2(DYN,DXN);
[Gain]=fuz(e,de) Kp=Gain(1,1); Ki=Gain(1,2); Kd=Gain(1,3);
if rho>.6 vp=0; v=0; vs=3; error2=-10; %
ER=ER; x_Rs=VCxdS(i)+.2; y_Rs=VCydS(i);
elseif rho<0.3 vp=0*rho; vs=1.7+rho; v=1.7+rho error2=0;
83
else rho>.3 & rho<1%isi syarat untuk mulai lagi vp=2; vs=1.7; v=1.7; error2=-10; end
x_Rb=Rbx; y_Rb=Rby;
Tetha_new=(r/l)*(wrVC-wlVC)+Tetha_awal; Tetha_newP=TS*(r/l)*(wrPwlP)+Tetha_awalP; Tetha_newS=TS*(r/l)*(wrSwlS)+Tetha_awalS;
x_Vc=Vcx_new; y_Vc=Vcy_new;
x_Rp=Rpx_newP; y_Rp=Rpy_newP;
x_Rs=Rsx_newS;
84
y_Rs=Rsy_newS;
Tetha_awal=Tetha_new; Tetha_awalP=Tetha_newP; Tetha_awalS=Tetha_newS; TethaAct_VC(m,1)=Tetha_awal; TethaAct_P(m,1)=Tetha_awalP; TethaAct_S(m,1)=Tetha_awalS; TethaREF_P(m,1)=Tetha_des; SudutP(m,i)=Tetha_awalP;
d_eS=SudutRS-eangle_lead_oldS;
eangle_lead_old=e; eangle_lead_oldP=SudutRP; eangle_lead_oldS=SudutRS; %
Ex=(Rsx_newS-Rpx_newP);
%
Exl=Exlama+Ex;
%
Exlama=Exl;
% %
Ey=(Rsy_newS-Rpy_newP);
%
Eyl=Eylama+Ey;
%
Eylama=Eyl;
85
% % ExSVC=sqrt((x_Rs-x_Rp)^2+(y_Rsy_Rp)^2);
%%%%%%%%%%%%%%%%-----------------plotting---------------%%%%%%%%%%%%%%%%%%
% plot(Rpx_newP,Rpy_newP,'o','LineWidth',0.001,'Ma rkerSize',10,'MarkerEdgeColor','k','MarkerFaceCo lor','r'), % plot(Rbx1,Rby1,'s','LineWidth',0.01,'MarkerSize',10), % plot(Rsx_newS,Rsy_newS,'o','LineWidth',0.1,'Mark erSize',10,'MarkerEdgeColor','k','MarkerFaceColo r','g'), C=plot(Vcx_new,Vcy_new,'o','LineWidth',0.1);,hol d on
%---------------------Kotak Box Jalur Mengikuti Robot Kemudi--------------% gama = 0; Xr_c1=0.03; Yr_c1=0.03; Xr_c2=0.2;
86
Yr_c2=0.2; Xr_c3=0.07; Yr_c3=0.07;
Rbx
= Rpx_newP+d*cos(Tetha_newP);
Rby
= Rpy_newP+d*sin(Tetha_newP);
failRs
= Tetha_newP;
Xr_B
= Rbx;
Yr_B
= Rby;
Xr1_B
= Rbx+Xr_c2*cos(failRs+gama);
Yr1_B
= Rby+Yr_c2*sin(failRs+gama);
robot_widthB = b*5;
[Robot_B] = Robotplot(Rbx, Rby, failRs, robot_widthB);
Robot_Bx = [Robot_B(1,1) Robot_B(1,3)]; Robot_By = [Robot_B(1,2) Robot_B(1,4)]; box1_X=(Robot_B(1,1)-Robot_B(1,3))/2;
Robot_B2x = [Robot_B(1,3) Robot_B(1,5)]; Robot_B2y = [Robot_B(1,4) Robot_B(1,6)];
87
Robot_B3x = [Robot_B(1,5) Robot_B(1,7)]; Robot_B3y = [Robot_B(1,6) Robot_B(1,8)];
Robot_B4x = [Robot_B(1,7) Robot_B(1,1)]; Robot_B4y = [Robot_B(1,8) Robot_B(1,2)];
Robotlinkx_B = [Xr1_B Rbx]; Robotlinky_B = [Yr1_B Rby];
h1_b =plot(Robot_Bx, Robot_By,'k','LineWidth',3); % h1_ba =plot(Robot_Bx/4, Robot_By/4,'k','LineWidth',3); h2_b =plot(Robot_B2x, Robot_B2y,'k','LineWidth',3); % %h2_b =plot(Rbx, Rby,'ks','LineWidth',1,'MarkerSize',10); h3_b =plot(Robot_B3x, Robot_B3y,'k','LineWidth',3); h4_b =plot(Robot_B4x, Robot_B4y,'k','LineWidth',3); % h5_b =plot(Robotlinkx_B,Robotlinky_B,'k','LineWidth',4); % h5_b =plot(Robot_B(1,3),Robot_B(1,2),'ks','LineWidth',4); %------Robot Push -------------------------------------------------------% 88
%Robot Pendorong (Robot Push) mempunyai jalur mengikuti pergerakan barang-% % Rpx
= Rbx-0.3*cos(Tetha_newP);
% Rpy
= Rby-0.3*sin(Tetha_newP);
Rpx
= Rbx-0.3*cos(Tetha_newP);
Rpy
= Rby-0.3*sin(Tetha_newP);
failRp
= Tetha_newP;
Xr_P
= Rpx;
Yr_P
= Rpy;
Xr1_P
= Rpx-Xr_c2*cos(failRp+gama);
Yr1_P
= Rpy-Yr_c2*sin(failRp+gama);
robot_width = b*3;
[Robot_P] = Robotplot(Rpx, Rpy, failRp, robot_width);
Robot_Px = [Robot_P(1,1) Robot_P(1,3)]; Robot_Py = [Robot_P(1,2) Robot_P(1,4)];
Robot_P2x = [Robot_P(1,3) Robot_P(1,5)]; Robot_P2y = [Robot_P(1,4) Robot_P(1,6)];
Robot_P3x = [Robot_P(1,5) Robot_P(1,7)]; Robot_P3y = [Robot_P(1,6) Robot_P(1,8)]; 89
Robot_P4x = [Robot_P(1,7) Robot_P(1,1)]; Robot_P4y = [Robot_P(1,8) Robot_P(1,2)];
Robotlinkx_P = [Xr1_P Rpx]; Robotlinky_P = [Yr1_P Rpy];
h1_P =plot(Robot_Px, Robot_Py,'m','LineWidth',3); h2_P =plot(Robot_P2x, Robot_P2y,'k','LineWidth',1); h3_P =plot(Robot_P3x, Robot_P3y,'m','LineWidth',3); h4_P =plot(Robot_P4x, Robot_P4y,'k','LineWidth',1); h5_P =plot(Robotlinkx_P, Robotlinky_P,'m','LineWidth',2); title(sprintf('rho=%2f,ER=%2f',rho,ER));
%----------------------------------------------------------\--------------%
%------------------------Robot Steere------------------------------------% Rsx
= Rsx_newS+0*cos(Tetha_newS); 90
Rsy failRs
= Rsy_newS+0*sin(Tetha_newS); = Tetha_newS;
Xr_S
= Rsx;
Yr_S
= Rsy;
Xr1_S
= Rsx+Xr_c2*cos(failRs+gama);
Yr1_S
= Rsy+Yr_c2*sin(failRs+gama);
robot_width = b*3;
[Robot_S] = Robotplot(Rsx, Rsy, failRs, robot_width);
Robot_Sx = [Robot_S(1,1) Robot_S(1,3)]; Robot_Sy = [Robot_S(1,2) Robot_S(1,4)];
Robot_S2x = [Robot_S(1,3) Robot_S(1,5)]; Robot_S2y = [Robot_S(1,4) Robot_S(1,6)];
Robot_S3x = [Robot_S(1,5) Robot_S(1,7)]; Robot_S3y = [Robot_S(1,6) Robot_S(1,8)];
Robot_S4x = [Robot_S(1,7) Robot_S(1,1)]; Robot_S4y = [Robot_S(1,8) Robot_S(1,2)];
91
Robotlinkx_S = [Xr1_S Rsx]; Robotlinky_S = [Yr1_S Rsy];
h1_S =plot(Robot_Sx, Robot_Sy,'g','LineWidth',3); h2_S =plot(Robot_S2x, Robot_S2y,'k','LineWidth',1); h3_S =plot(Robot_S3x, Robot_S3y,'g','LineWidth',3); h4_S =plot(Robot_S4x, Robot_S4y,'k','LineWidth',1); h5_S =plot(Robotlinkx_S, Robotlinky_S,'g','LineWidth',2);
pause(TS) if i~=length(VCxd) delete(h1_P) delete(h2_P) delete(h3_P) delete(h4_P) %
delete(h5_P) delete(h1_S) delete(h2_S) delete(h3_S) delete(h4_S)
92
%
delete(h5_S) delete(h1_b) delete(h2_b) delete(h3_b) delete(h4_b)
%
delete(h5_b) delete(C)
end %------------------------------------------------------------------------% end end
% writePosition(servo_motor1, 0.5); % writePosition(servo_motor2, 0.5); iterasi1=1:length(TethaAct_P); % figure(2),plot(iterasi/10,SudutREF,'k','LineWidt h',3),grid on,hold on figure(2),plot(iterasi1/10,TethaAct_P,'m-','LineWidth',2),hold on figure(2),plot(iterasi1/10,TethaAct_S,'b-','LineWidth',2), % figure(2),plot(SudutREF,'k','LineWidth',1),grid on;
93
legend('Sudut Orientasi Robot P','Sudut Orientasi Robot K')
94
RIWAYAT PENULIS Willybrordus H.P.M lahir di Malang, 28 Oktober 1995. Merupakan anak kedua dari 2 bersaudara pasangan Bapak Yosef Soedarso dan Ibu Caecaelia Lilik Muharwati. Penulis menamatkan pendidikan Sekolah Dasar di SDK ST. BERNARDUS Madiun, SMPK COR JESU Malang, dan SMAK ST. ALBERTUS Malang. Setelah menamatkan jenjang SMA, penulis melanjutkan kuliah S1 Teknik Elektro di Institut Teknologi Sepuluh Nopember Surabaya (ITS) dengan mengambil konsentrasi Teknik Sistem Pengaturan. Pada tanggal 6 Januari 2017, penulis mengikuti ujian Tugas Akhir sebagai syarat untuk menyelesaikan masa studi dan memperoleh gelar Sarjana Teknik Elektro. E-mail :
[email protected]
95