• Tidak ada hasil yang ditemukan

SISTEM NAVIGASI DENGAN KONTROL PID PADA THREE WHEEL OMNI DIRECTIONAL MOBILE ROBOT MENGGUNAKAN METODE ODOMETRY TUGAS AKHIR

N/A
N/A
Protected

Academic year: 2021

Membagikan "SISTEM NAVIGASI DENGAN KONTROL PID PADA THREE WHEEL OMNI DIRECTIONAL MOBILE ROBOT MENGGUNAKAN METODE ODOMETRY TUGAS AKHIR"

Copied!
67
0
0

Teks penuh

(1)

TUGAS AKHIR

Untuk memenuhi sebagian persyaratan untuk mencapai derajat sarjana S-1

Program Studi Teknik Elektro

Oleh :

ARGA DWI PAMBUDI E11.2013.00599

PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS DIAN NUSWANTORO SEMARANG

(2)

ii

Yang dipersiapkan dan disusun oleh, ARGA DWI PAMBUDI

E11.2013.00599

Telah dipertahankan di depan Dewan Penguji Pada tanggal: 21 September 2015 Dan dinyatakan telah memenuhi syarat

Susunan Tim Penguji Pembimbing I

Dr. Ir. Dian Retno Sawitri, MT NPP. 0686.11.1993.034

Pembimbing II

Ir. Wisnu Adi Prasetyanto, M.Eng NPP. 0686.11.2000.201

Ketua Penguji

Dr. Eng. Yuliman Purwanto, M.Eng NPP. 0686.11.2001.266

Anggota Penguji I

M. Ary Heryanto, M.Eng NPP. 0686.11.2002.309 Anggota Penguji II Herwin Suprijono, M.T NPP. 0686.11.2006.332 Semarang, 21 September 2015 Fakultas Teknik Universitas Dian Nuswantoro

Dekan

Dr. Eng. Yuliman Purwanto, M.Eng NPP. 0686.11.2001.266

(3)

iii

Tinggi, dan sepanjang sepengetahuan saya juga tidak terdapat karya atau pedapat yang pernah ditulis atau diterbitkan orang lain, kecuali yang tertulis diacu dalam naskah ini dan disebut dalam daftar pustaka. Jika pada waktu selanjutnya terdapat pihak lain yang mengklaim bahwa Tugas Akhir ini sebagai karyanya yang didukung dengan bukti-bukti yang cukup, maka saya bersedia untuk dibatalkan gelar kesarjanaan saya dengan segala pihak dan kewajiban yang melekat pada gelar tersebut.

Semarang, 21 September 2015

(4)

iv

memiliki kelemahan tidak dapat bergerak secara langsung kesegala arah tujuan. Robot beroda tiga memiliki keunggulan lebih cepat dalam mencapai posisi tujuan dibandingkan robot beroda dua, namun robot beroda tiga lebih rumit dalam penentuan kecepatan masing-masing motor penggerak. Pada penelitian ini sistem kontrol pada robot dibagi menjadi dua bagian yaitu sistem untuk mengontrol kecepatan putar motor menggunakan metode PID dan sistem untuk trajectory menggunakan metode odometry.

Metode PID yang digunakan menggunakan metode Zieger Nichols sebagai tuning nilai konstanta Kp, Ki dan Kd. Dari hasil tuning untuk konstanta Kp, Kd dan Ki optimal pada nilai Kp = 0.3, Ki = 0.002068966 dan Kd = 10.875 yang mempunyai nilai rise time 78.28 ms dan settling time 7790 ms. Nilai error pada sistem kontrol motor didapatkan dari nilai target kecepatan motor dikurangi data input rotary motor. Metode odometry digunakan untuk mengetahui dimana posisi robot secara koordinat (x, y, θ) pada saat t. Pada robot terdapat 3 rotary encoder yang dipasang sejajar dengan motor untuk mendapatkan data jarak seberapa jauh robot bergerak melalui perhitungan menggunakan metode odometry. Untuk menggunakan metode tersebut dibutuhkan dua data input, yaitu jarak per pulsa rotary encoder robot yang mencapai jarak optimal pada jarak 0.90906 dengan nilai rata-rata error 0.093% dan jarak roda rotary ke titik pusat robot yang mencapai jarak optimal pada jarak 218.76553 dengan nilai rata-rata error 0.000002%. Dengan mengetahui posisi robot saat ini dan posisi tujuan robot, peneliti bisa melakukan navigasi kontrol posisi robot untuk pergerakan robot dari posisi awal robot menuju posisi tujuan robot.

(5)

v

move directly in all directions purpose. Three-wheeled robot has the advantage of faster in achieving the goal position than the two-wheeled robot, but three-wheeled robot is more complicated in determining the speed of each motor. In this study, the robot control system is divided into two parts, namely a system for controlling the motor speed using PID method and system for trajectory using odometry. In this research, the robot control system is divided into two parts, namely a system for controlling the motor speed using PID method and system for trajectory using odometry.

PID method used method Zieger Nichols as tuning constants Kp, Ki and Kd. From tuning result obtained Kp = 0.03, Ki = 0.002068966 and Kd = 10.875, with rise time 78.28 ms and settling time 7790 ms. The error value in the motor control system obtained from the value of the motor target speed reduced with input data rotary motors. Odometry method used to determine where the position of robot coordinates (x, y, θ) at time is t. Robot haven 3 rotary encoder mounted parallel to the motor to obtain the distance how far the robot moves through a calculation using odometry method. To used Odometry method needed takes two input data as distances per pulse rotary encoder robots that achieve the optimal distance at a distance of 0.90906 with an average error of 0.093% and the distance rotary wheel to the center point of the robot reaches the optimal distance at a distance 218.76553 with an average value 0.000002% error. By knowing the current robot position and the goal position of the robot, researchers can perform navigation control robot position for robot movement from the initial position of the robot to the goal position of the robot.

(6)

vi

menyusun dan menyelesaikan Laporan Tugas Akhir dengan judul “SISTEM NAVIGASI DENGAN KONTROL PID PADA THREE WHEEL OMNI DIRECTIONAL MOBILE ROBOT MENGGUNAKAN METODE ODOMETRY”.

Selama penyusunan dan menyelesaikan Laporan Tugas Akhir, kesulitan-kesulitan yang penulis hadapi tidak mungkin dapat teratasi tanpa bantuan pihak lain. Untuk itulah penulis ingin mengucapkan terimakasih kepada :

1. Dr. Ir Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian Nuswantoro Semarang.

2. Dr. Eng. Yuliman Purwanto, selaku Dekan Fakultas Teknik Universitas Dian Nuswantoro Semarang.

3. Ir. Wisnu Adi P, M.Eng, selaku Sekertaris Dekan Fakultas Teknik Universitas Dian Nuswantoro Semarang dan Dosen Pembimbing II. 4. Dr. Ir. Dian Retno Sawitri, MT, selaku Kepala Progdi Teknik Elektro

Universitas Dian Nuswantoro dan Dosen Pembimbing I.

5. Dosen-dosen pengampu di Program Studi Teknik Elektro Universitas Dian Nuswantoro Semarang yang telah memberikan ilmu dan pengalamannya masing-masing, sehingga penulis dapat mengimplementasi ilmu yang telah disampaikan.

6. Kedua orang tua saya tercinta, dan para sahabat yang selalu mendukung dan mendoakan saya.

Penulis menyadari bahwa Laporan Tugas Akhir ini masih jauh dari sempurna, namun penulis berharap semoga laporan Tugas Akhir ini dapat bermanfaat dan berguna bagi kemajuan Teknik Elektro Universitas Dian Nuswantoro dan menjadi referensi bagi rekan-rekan sekalian.

(7)

vii LEMBAR PENGESAHAN... II PERNYATAAN ... III INTISARI... IV ABSTRACT ... V KATA PENGANTAR ... VI DAFTAR ISI ... VII DAFTAR GAMBAR... IX DAFTAR TABEL ... X BAB I PENDAHULUAN ... 1 1.1 LATAR BELAKANG ... 1 1.2 PERUMUSAN MASALAH ... 2 1.3 TUJUAN PENELITIAN ... 2 1.4 BATASAN MASALAH ... 3 1.5 MANFAAT PENELITIAN ... 3 1.6 SISTEMATIKA LAPORAN ... 3

BAB II TINJAUAN PUSTAKA ... 5

2.1 SENSOR KECEPATAN ... 5

2.2 KINEMATIKA OMNI-DIRECTIONAL MOBILE ROBOT (OMR) ... 5

2.3 TRANFORMASI KECEPATAN RODA DENGAN ROBOT VELOCITY ... 7

2.4 TRANFORMASI KECEPATAN RODA DENGAN WORLD VELOCITY ... 8

2.5 ODOMETRY OMR ... 9

2.6 PID ... 11

2.7 PENALAAN KOSTANTA PID ... 13

BAB III METODE PENELITIAN ... 15

3.1 JENIS PENELITIAN ... 15

3.2 ALAT DAN BAHAN PENELITIAN ... 15

3.3 RANCANGAN PENELITIAN ... 16

3.3.1 Perancangan Mekanik ... 16

3.3.2 Perancangan Perangkat Keras ... 19

(8)

viii

4.2 PENGUJIAN JARAK PER PULSA ROTARY ENCODER... 36

4.2.1 Pengujian dengan nilai jarak per pulsa 0,9114 mm ... 37

4.2.2 Pengujian dengan nilai jarak per pulsa 0,9064 mm ... 38

4.2.3 Pengujian dengan nilai jarak per pulsa 0,9089 mm ... 39

4.2.4 Pengujian dengan nilai jarak per pulsa 0,91015 mm ... 40

4.2.5 Pengujian dengan nilai jarak per pulsa 0,90953 mm ... 40

4.2.6 Pengujian dengan nilai jarak per pulsa 0,90921 mm ... 41

4.2.7 Pengujian dengan nilai jarak per pulsa 0,90906 mm ... 42

4.2.8 Pengujian dengan nilai jarak per pulsa 0,90913 mm ... 42

4.2.9 Analisa Pengujian ... 43

4.3 PENGUJIAN NILAI JARAK RODA ROTARY KE TITIK PUSAT ROBOT ... 44

4.3.1 Pengujian dengan jarak rotary ke titik pusat robot 218.5 mm ... 45

4.3.2 Pengujian dengan jarak rotary ke titik pusat robot 219 mm ... 46

4.3.3 Pengujian dengan jarak rotary ke titik pusat robot 218.75 mm... 46

4.3.4 Pengujian dengan jarak rotary ke titik pusat robot 218.875 mm ... 47

4.3.5 Pengujian dengan jarak rotary ke titik pusat robot 218.8125 mm ... 48

4.3.6 Pengujian dengan jarak rotary ke titik pusat robot 218.78125 mm ... 48

4.3.7 Pengujian dengan jarak rotary ke titik pusat robot 218.76563 mm ... 49

4.3.8 Analisa Pengujian ... 50

4.4 PENGUJIAN SISTEM UNTUK NAVIGASI ROBOT ... 50

4.4.1 Pengujian Sistem ... 51 4.4.2 Analisa Pengujian ... 53 BAB V PENUTUP ... 54 5.1 KESIMPULAN ... 54 5.2 SARAN ... 55 DAFTAR PUSTAKA ... 56

(9)

ix

Gambar 2.3 Robotino produk dari festo ... 6

Gambar 2.4 Geometri pada roda OMR ... 8

Gambar 2.5 Geometri omni-directional mobile robot ... 10

Gambar 2.6 Kurva Respon Dengan Nilai Kp 0,7 ... 13

Gambar 3.1 Desain Robot ... 13

Gambar 3.2 Motor DC 12 V ... 17

Gambar 3.3 Desain roda omni ... 17

Gambar 3.4 Roda dan Part Tambahan yang Digunakan ... 18

Gambar 3.5 Rotary Encoder... 18

Gambar 3.6 Desain roda omni ... 19

Gambar 3.7 Part Tambahan yang Digunakan ... 19

Gambar 3.8 Blok Diagram Sistem Keseluruhan ... 20

Gambar 3.9 Tabel Kebenaran Driver MCS-30A ... 24

Gambar 3.10 Rotary Encoder Tipe Incremental ... 25

Gambar 3.11 Perancangan Minimum Sistem Mikrokontroller Slave ... 26

Gambar 3.12 Perancangan Minimum Sistem Mikrokontroller Master ... 27

Gambar 3.13 Flowchart Program Mikrokontroller Slave ... 29

(10)

x

Tabel 4.1 Hasil Perhitungan nilai menggunakan metode Ziegler Nichols...34

Tabel 4.2 Respon Motor Dengan Set Point Kp Berbeda ... 35

Tabel 4.3 Penentuan nilai pengujian ... 37

Tabel 4.4 Hasil pengujian dengan nilai jarak per pulsa 0,9114 mm ... 37

Tabel 4.5 Hasil pengujian dengan nilai jarak per pulsa 0,9064 mm ... 39

Tabel 4.6 Hasil pengujian dengan nilai jarak per pulsa 0,9089 mm ... 39

Tabel 4.7 Hasil pengujian dengan nilai jarak per pulsa 0,91015 mm ... 40

Tabel 4.8 Hasil pengujian dengan nilai jarak per pulsa 0,90953 mm ... 41

Tabel 4.9 Hasil pengujian dengan nilai jarak per pulsa 0,90921 mm ... 41

Tabel 4.10 Hasil pengujian dengan nilai jarak per pulsa 0,90906 mm... 42

Tabel 4.11 Hasil pengujian dengan nilai jarak per pulsa 0,90913 mm... 43

Tabel 4.12 Hasil kesimpulan pengujian penentuan nilai jarak per pulsa... 43

Tabel 4.13 Penentuan nilai pengujian ... 45

Tabel 4.14 Pengujian nilai jarak rotary ke titik pusat robot 218.5 mm ... 45

Tabel 4.15 Pengujian nilai jarak rotary ke titik pusat robot 219 mm ... 46

Tabel 4.16 Pengujian nilai jarak rotary ke titik pusat robot 218.75 mm ... 46

Tabel 4.17 Pengujian nilai jarak rotary ke titik pusat robot 218.875 mm ... 47

Tabel 4.18 Pengujian nilai jarak rotary ke titik pusat robot 218.8125 mm ... 48

Tabel 4.19 Pengujian nilai jarak rotary ke titik pusat robot 218.78125 mm ... 48

Tabel 4.20 Pengujian nilai jarak rotary ke titik pusat robot 218.76563 mm ... 49

Tabel 4.21 Kesimpulan pengujian nilai jarak rotary dengan titik pusat robot... 50

(11)

1 1.1 Latar Belakang

Perkembangan teknologi mobile robot saat ini semakin pesat, mobile robot yang cukup populer saat ini adalah penggunaan roda omni-directional pada robot. Keunggulan dari penggunan roda ini, robot bisa bergerak bebas ke segala arah tanpa tanpa harus memutar posisi badan robot [1]. Seiring perkembangan teknologi terutama dibidang robotika, sistem kontrol sangatlah penting [2]. Salah satu sistem kontrol adalah navigasi atau perencanaan jalur. Pada aplikasi robot dikenal istilah posisi relatif dan posisi absolut. Posisi relatif adalah sekumpulan data yang digunakan melalui pehitungan untuk menentukan posisi robot. Berbeda dengan posisi absolut posisi relatif hanya memperkirakan saja [3][4].

Untuk menentukan sistem pergerakan robot bisa juga menggunakan media dari luar, seperti garis dan dinding, tetapi seiring perkembangan teknologi robot, penggunaan media dari luar kurang begitu efisien, robot seharusnya bisa menentukan arah pergerakannya dari dalam robot itu sendiri [2][3]. Sensor yang umum digunakan untuk mendapatkan data posisi dari suatu robot adalah rotary encoder yang mana data dari sensor ini akan dimasukkan dalam perhitungan odometry sehingga menghasilkan posisi relatif dari robot tersebut [1 - 7].

Pada awal posisi robot, kita asumsikan robot berada pada posisi (x,y,θ) = (0,0,0). Berdasarkan pada perhitungan odometry bisa diketahui posisi (x,y), dan

(12)

arah hadap (θ) dari waktu ke waktu. Pada penelitian ini robot akan bergerak secara otomatis kearah tujuan berdasarkan data sekarang dengan data tujuan. Dari data sekarang dan tujuan akan memiliki nilai error yang kemudian dari data tersebut akan digunakan untuk menentukan pergerakan robot secara otomatis menuju ke posisi tujuan dari posisi sekarang. Ketika nilai error = 0, maka robot sudah sampai pada tujuan. Peneliti menggunakan Proportional-Integral-Detivative (PID) untuk menjaga agar error yang dihasilkan selama perjalanan dari robot tersebut mendekati dan atau sama dengan nol. Kontrol PID ini akan mengatur kecepatan dari ketiga roda dengan umpan balik error dari posisi robot tersebut terhadap posisi yang seharusnya berdasarkan perhitungan odometry.

1.2 Perumusan Masalah

Pada penelitian kali ini terdapat perumusan masalah yaitu,

1. Bagaimana mengatur kecepatan motor menggunakan kontrol PID?.

2. Bagaimana mengontrol robot untuk mencapai posisi tujuan dengan menerapkan metode odometri?.

1.3 Tujuan Penelitian

Tujuan yang ingin dicapai dalam penelitian ini adalah,

1. Menghasilkan sistem kontrol kecepatan motor dengan kontrol PID. 2. Robot mencapai posisi tujuan berdasarkan perhitungan odometry.

(13)

1.4 Batasan Masalah

Batasan masalah yang mendasari penyusunan Tugas Akhir ini adalah: 1. Robot bergerak pada bidang yang datar.

2. Robot tidak diberi beban tambahan.

1.5 Manfaat Penelitian

Manfaat dari penulisan Proposal Tugas Akhir ini adalah : 1. Bagi Mahasiswa

 Dapat mengimplementasikan suatu sistem kontrol pada robot omni-directional wheels.

 Dapat mengetahui dan mengaplikasikan teknik kontrol PID 2. Bagi Masyarakat

 Bisa dikembangkan lebih lanjut lagi untuk digunakan di dalam pabrik dalam penggunaan mobile robot omni-directional.

1.6 Sistematika Laporan

Sistematika yang digunakan dalam laporan Tugas Akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Berisi tentang latar belakang, perumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian dan sistematika penulisan laporan.

BAB II DASAR TEORI

(14)

BAB III METODE PENELITIAN

Berisi tentang perancangan hardware dan software yang digunakan dalam penelitian, baik dari keseluruhan sistem maupun masing-masing bagian sistem. BAB IV HASIL DAN PEMBAHASAN

Berisi tentang hasil perancangan alat dan pengujian dari tiap bagian dan keselruhan sistem yang digunakan.

BAB V PENUTUP

Berisi kesimpulan dan saran yang berkaitan dengan seluruh proses perancangan dan pembuatan tugas akhir ini serta penyelesaian laporannya. DAFTAR PUSTAKA

(15)

5 2.1 Sensor Kecepatan

Rotary encoder, atau disebut juga Shaft encoder, seperti pada gambar 2.1 merupakan perangkat elektro-mekanik yang digunakan untuk mengkonversi posisi angular (sudut) dari shaft (lubang) atau roda ke dalam kode digital, menjadikannya semacam transducer. Perangkat ini biasanya digunakan dalam bidang robotika, perangkat masukan komputer (seperti optomekanikal mouse dan trackball), serta digunakan dalam kendali putaran radar [8].

Gambar 2.1 Rotary encoder tipe incremental [8]

2.2 Kinematika Omni-Directional Mobile Robot (OMR)

Mobile robot ini dapat bergerak ke segala arah tanpa memutar atau berbalik badan terlebih dahulu. Omni-wheel tidak seperti roda biasa, umumnya dipasang berpasangan. Terdapat roda inti besar yang di sekelilingnya terdapat roda kecil tambahan dengan sumbu tegak lurus terhadap roda inti. Oleh karena itu roda

(16)

dapat bergerak segala arah, baik sejajar dengan sumbu itu sendiri. Dimensi dari roda omni seperti pada gambar 2.2 [8].

Gambar 2.2 Omni-wheel [8]

Pemilihan jenis material Omni-wheel sangat penting untuk dilakukan. Jika roda terlalu halus maka traksi yang ditimbulkan dengan landasan akan sangat kecil, sehingga mudah terjadi selip dan sulit untuk dikontrol. Robot produk dari festo yaitu robotino merupakan inspirasi utama dalam proyek akhir ini, seperti pada gambar 2.3 [8].

Gambar 2.3 Robotino produk dari festo [8]

Robot mampu mengetahui posisinya dalam lingkungan global. Untuk memberikan informasi mengenai perkiraan posisi, maka dipasang rotary encoder atau sensor kecepatan jenis lainnya seperti hall effect sensor pada masing-masing motor. Sangat penting untuk mengetahui angular motion pada masing-masing roda yang kemudian akan ditransformasikan gerakan robot

(17)

dalam sistem koordinat tertentu. Hubungan antara angular motion setiap roda dengan gerakan robot adalah pada bagian ini [8].

Untuk menyederhanakan perhitungan, maka terdapat asumsi sebagai berikut :

1. Wheel Slippage, gesekan antara roda dengan lantai adalah infinite (tidak terjadi selip).

2. Centre Of Mass diasumsikan tepat berada di geometrical centre dari robot.

3. Jarak antara Centre Of Mass dengan pusat dari roda yang berhubungan langsung dengan lantai adalah konstan [8].

2.3 Tranformasi Kecepatan Roda dengan Robot Velocity

Untuk penyederhanaan, langkah pertama untuk menghubungkan antara kecepatan roda dengan robot velocity terdapat pada persamaan 2.1.

= [ 1 2 3 ] (2.1)

merupakan kecepatan dari setiap roda

Untuk mendapatkan matrik transformasi antara kecepatan roda dengan robot velocity, kecepatan roda dinyatakan oleh vektor rotasi pada koordinat . Sehingga menghasilkan persamaan 2.2.

= ( + ) ( + ) ( + ) − ( + ) 1 0 = ( + ) ( + ) (2.2)

(18)

Gambar 2.4 Geometri pada roda OMR [8]

Dengan menambahkan kecepatan rotasi ( ) dari robot, dengan menggunakan persamaan-persamaan di atas dan = , kecepatan sudut dari setiap roda dapat dinyatakan pada gambar 2.4 [8].

1 2 3 = 1 2 3 = − ( 1) ( 1) − ( 2) ( 2) − ( 3) ( 3) ̇ ̇ ̇ (2.3)

2.4 Tranformasi Kecepatan Roda dengan World Velocity

Posisi dari roda pada world frame dinyatakan oleh perpindahan dan rotasi .

= + ( ) (2.4)

Dimana superscripts w dan r menandakan robot frame dan world frame. Sehingga : ( + + ) ( + + ) ( + + ) − ( + + ) 1 0 = ( + + ) ( + + ) (2.5) 1 2 3 = 1 2 3 = − ( + 1) ( + 1) − ( + 2) ( + 2) − ( + 3) ( + 3) ̇ ̇ ̇ (2.6)

(19)

2.5 Odometry OMR

Odometry adalah penggunaan data dari pergerakan aktuator untuk memperkirakan perubahan posisi dari waktu ke waktu. Odometry digunakan untuk memperkirakan posisi relatif terhadap posisi awal. Untuk memperkirakan posisi relatif robot, digunakan perhitungan jumlah pulsa yang dihasilkan oleh sensor rotary encoder setiap satuan ukuran yang kemudian dikonversi menjadi satuan millimeter [1]. Untuk mendapatlan jumlah pulsa setiap satu kali putaran roda digunakan rumus pada persamaan 2.7 dan 2.8:

K_roda = 2 ∗ ∗ (2.7)

Pulsa_per_mm = resolusi_enc / K_roda (2.8) Pergerakan dari roda omni memiliki 2 DOF pergerakkan, dimana dapat bergerak rotasi sesuai dengan putaran motor dan bergerak translasi karena pengaruh dari dorongan roda lainnya yang diasumikan memiliki kecepatan Vx, Vy dan w terhadap titik referensi koordinat kartesian [9]. Hal ini dapat digunakan untuk menginvestigasi kecepatan dari ketiga roda robot yang telah di rangkai menjadi satu, untuk mendapatkan kecepatan dari roda robot (Vi) dapat kita cari menggunakan rumus pada persamaan 2.9 :

1 2 3 = − ( ) ( ) − (60 − ) − (60 − ) (60 + ) − (60 + ) ̇ ̇ (2.9)

Untuk menyimpulkan dari geometri omni-directional mobile robot, disajikan pada Gambar 2.5, bahwa kecepatan Vx, Vy dan w bervariasi dengan ikatan kecepatan linear V1, V2 dan V3.

(20)

Gambar 2.5 Geometri omni-directional mobile robot [8]

Perhitungan odometry menggunakan setiap kecepatan roda untuk memperkirakan posisi robot, Estimasi posisi akan diakumulasi dan meningkatkan dari waktu ke waktu. Persamaan kinematik robot dapat diwakili oleh sistem persamaan 2.9, dalam alternatif dari sistem persamaan 2.10.

1 2 3 = 0 1 − (60) − (60) (60) − (60) ̇ ̇ (2.10)

Kecepatan linear dan kecepatan sudut V, Vn dan w dapat diperoleh dengan menulis ulang sistem persamaan 2.10 sebagai sistem rumus-rumus persamaan 2.11. = [ ] 1̇ 2̇ ̇ 3 (2.11)

(21)

Dimana G sama dengan persamaan 2.12. ⎣ ⎢ ⎢ ⎢ ⎡ 0 ( ) ( ) ( ) ( ( )) ( ( )) ( ) ( ( )) ( ( )) ( ( ))⎦ ⎥ ⎥ ⎥ ⎤ (2.12)

Dengan cara ini θ dapat ditemukan, menerapkan perintah pendekatan pertama, seperti yang ditunjukkan pada persamaan 2.13.

( ) = ( − 1) + (2.13)

Dimana T merupakan sampling time.

Setelah dilakukan perhitungan θ matriks rotasi pada persamaan 2.14, bisa diterapkan untuk mendapatkan Vx dan Vy, seperti yang ditunjukkan dalam sistem persamaan 15 [9]. = ( ) − ( ) 0 ( ) ( ) 0 0 0 1 (2.14) = 1̇ ̇ 3 (2.15) 2.6 PID

Kontroler Proporsional Integral Derivatif (PID) adalah kontroler yang menggabungkan kontroler proporsional, integral dan derivatif. Kontroler ini direpresentasikan dengan persamaan sebagai berikut [10][11],

(22)

dimana Kp adalah konstanta proporsional, Ti menyatakan waktu integral dan Td menyatakan waktu derivatif. Persamaan 2.16 adalah persamaan dalam domain waktu. Untuk memudahkan penulisan dalam program, maka persamaan 2.16 dikonversikan ke dalam bentuk diskrit, dengan menggunakan finite differential orde pertama yang direpresentasikan dalam persamaan berikut [10][11],

=

( )

(2.17)

∫ ( )

= ∑

. ∆

(2.18)

Sehingga persamaan 2.16 menjadi,

=

[

( )

+

+

. ∆ ]

(2.19)

Dimana,

=

dan

=

dengan

∆ =

Apabila,

=

+

(2.20)

Maka persamaan controller PID dalam bentuk diskrit adalah sebagai berikut [10][11],

=

.

+

.

+

. (

)

(2.21)

Dimana = jumlah error, = jumlah error sebelumnya, = error sekarang, = error sebelumnya, = output sekarang.

(23)

2.7 Penalaan Kostanta PID

Sesuai dengan aturan Ziegler-Nichols, untuk mendapatkan nilai konstanta Kp, Ki dan Kd maka sistem diberi kontroler P. nilai Kp ditambahkan sampai sistem tersebut berosilasi secara berkesinambungan. Kurva respon dengan nilai Kp 0.7 diperlihatkan pada gambar 2.6 [1],

Gambar 2.6 Kurva Respon Dengan Nilai Kp 0,7

Sesuai dengan aturan Ziegler-Nichols maka, nilai Kp tersebut dijadikan acuan sama dengan Kc, sehingga [1]:

Kc = 0,7

Tc = 19 x 10ms = 190ms Ti = 0,5 x 190 = 95 Td = 0,125 x 190 = 23,75

Fungsi alih kontroler PID plant, berdasarkan Ziegler Nichols sebagai berikut [1]:

(24)

Kp = 0,6 x Kc = 0,6 x 0,7 = 0,42 Ki = Kp / Ti = 0,42 / 95 = 0,004 Kd = Kp x Td = 0,42 x 23,75 = 9,975

Dalam aplikasinya, maka peran dari kontroler ini dapat diterapkan dalam program dengan formulasi seperti berikut:

(25)

15 3.1 Jenis Penelitian

Pada penulisan tugas akhir ini, metode penelitian yang digunakan adalah metode eksperimen. Dimana eksperimen yang dilakukan adalah dengan melakukan pengujian-pengujian terhadap sistem kerja motor dan analisa error untuk menentukan pergerakan dari robot.

3.2 Alat dan Bahan Penelitian

Untuk penelitian tugas akhir ini digunakan beberapa alat dan bahan untuk pembuatan dan realisasi sistem diantaranya :

1. Battery digunakan sebagai sumber tegangan pada rangkaian.

2. Driver motor digunakan untuk mengontrol kecepatan motor, dan menentukan arah putaran CW (Clock Wise) atau CCW (Counter Clock Wise).

3. Mikrokontroler digunakan untuk pengolahan data, selain itu juga untuk perhitungan metode odometry yang digunakan, kemudian data odometry akan di tampilkan pada lcd.

4. Motor DC Digunakan sebagai penggerak robot.

5. Rotary Encoder adalah sensor yang digunakan untuk menghitung counter putaran motor.

(26)

3.3 Rancangan Penelitian

Pada rancangan penelitian ini terdapat dua tahap perancangan, yaitu perancangan hardware yang berisi rancangan rangkaian yang dibutuhkan dalam sistem, dan rancangan software yang berisi rancangan alur program pada mikrokontroler untuk melakukan pengontrolan pada sistem.

3.3.1 Perancangan Mekanik

3.3.1.1 Perancangan Desain Mekanik

Dalam perancangan sistem mekanik, sistem yang dibangun harus disesuaikan dengan kebutuhan yang ada. Sudut ketiga roda diusahakan benar-benar sama supaya dapat memberikan keakuratan data dan kerja dari robot yang maksimal, seperti pada gambar 3.1.

Gambar 3.1 Desain robot

Disediakan pula tempat untuk hardware elektronika. Tempat ini seperti yang ditunjukan pada Gambar 3.1. Disini juga ditempatkan baterai sebagai sumber listrik dari sistem ini.

(27)

3.3.1.2 Motor DC dan Roda Omni Motor

Penggerak utama robot adalah motor DC 12 Volt. Perbandingan gear pada motor ini adalah 1:50 dengan kecepatan putar 600 rpm. Torsi dari motor ini adalah 20 kg.cm. Pada gambar 3.2 merupakan motor yang digunakan dalam proyek ini.

Gambar 3.2 Motor DC 12 V

Susunan roda omni sangat berbeda dengan roda-roda yang biasanya kita temui. Seperti pada gambar 3.3, roda omni mempuyai desain khusus untuk bisa bergerak maju dan ke samping tanpa melakukan manuever.

Gambar 3.3 Desain roda omni

Pada bagian roda, ditambahkan part untuk memperkecil lubang pada poros roda. Poros motor di-couple dengan poros berdiameter 10 mm, sehingga sesuai

(28)

dengan part tambahan pada poros roda. Berikut adalah gambar 3.4 mengenai roda dan part tambahan yang digunakan :

Gambar 3.4 Roda dan Part Tambahan yang Digunakan

3.3.1.3 Rotary Encoder dan Roda Omni Rotary

Rotary encoder pada penelitian ini meggunakan rotary product autonics yang menggunakan tegangan input 12 – 24 VDC. Rotary encoder akan bergerak bebas sesuai dengan pergerakan dari robot, hanya digunakan sebagai feedback posisi robot berdasarkan data ketiga rotary yang dihitung menggunakan metode odometry. Gambar 3.5 menunjukkan rotary encoder yang digunakan pada penelitian ini.

Gambar 3.5 Rotary Encoder

Pada penelitian ini rotary encoder juga menggunakan roda omni sebagai penggerak rotary encoder. Dikarenakan motor DC master menggunakan roda

(29)

omni makan rotary juga menggunakan roda omni. Seperti pada gambar 3.6, roda omni mempuyai desain khusus untuk bisa bergerak maju dan ke samping tanpa melakukan manuever.

Gambar 3.6 Desain roda omni

Pada bagian roda, ditambahkan part untuk memperkecil lubang pada poros roda. Poros rotary di-couple dengan poros berdiameter 8 mm, sehingga sesuai dengan dengan part tambahan pada poros roda. Berikut adalah gambar 3.7 mengenai roda dan part tambahan yang digunakan :

Gambar 3.7 Part Tambahan yang Digunakan

3.3.2 Perancangan Perangkat Keras

Perancangan perangkat keras yang akan dibuat dalam sistem meliputi, battery, LCD, Keypad, driver motor DC, Rotary Encoder, sistem minimum

(30)

mikrokontroller master dan slave. Secara umum blok diagram sistem dari perancangan perangkat keras dapat dilihat pada gambar 3.8.

Gambar 3.8 Blok Diagram Sistem Keseluruhan

Tiap-tiap bagian dari diagram blok sistem di atas dapat dijelaskan sebagai berikut:

1. Penjelasan Mikrokontroller Master.

a. Ketiga rotary encoder menggunakan roda yang menempel pada bidang orientasi robot. Sehingga ketika robot bergerak karena perputaran roda master, roda rotary berputar dan sumbu dari rotary encoder juga ikut berputar. Rotary encoder mengeluarkan pergantian pulsa 0 dan 1 setiap terjadi putaran roda. Rotary encoder digunakan untuk menghitung banyak putaran roda rotary.

(31)

b. Pada penelitian kali ini menggunakan rotary dengan 200 pulsa / 1 putaran dengan roda omni rotary yang berdiameter 58 mm. Maka peneliti dapat menghitung jarak yang ditempuh setiap satu pulsa sama dengan diameter roda dibagi jumlah pulsa rotary per putaran sama dengan 0,9114 mm. c. Untuk mengetahui dimana posisi x, y, theta robot saat t berdasarkan

banyak putaran masing-masing rotary encoder melalui perhitungan odometry. Berdasarkan data odometry kita bisa mengetahui posisi robot (x (mm), y (mm), theta (derajat)).

d. Berdasarkan target posisi yang diinputkan secara manual dan posisi t = t, peneliti menggunakan data tersebut sebagai acuan untuk menghitung berapa kecepatan masing-masing motor untuk mencapai target posisi menggunakan rumus kinematika OMR, kemudian mengontrol kecepatan masing-masing motor dengan memberi set point kecepatan ke mikrokontroller slave dalam rad/s.

2. Penjelasan mikrokontroller (Slave) :

a. Untuk mengontrol kecepatan motor melalui data rotary dari motor berdasarkan data feedback dari rotary motor. Pengontrolan kecepatan menggunakan PWM dengan cara mengatur lebar pulsa keluaran ke driver motor. Semakin besar lebar pulsa maka semakin cepat kecepatan motor. b. Motor DC yang digunakan merupakan motor yang include dengan rotary

dengan resolusi 8 pulsa per putaran. Dimana untuk mendapatkan data rad/s menggunakan timer interrupt 1 pada mikrokontroller master untuk

(32)

membaca banyak counter pulsa, dan timer 0 yang digunakan untuk mereset data rotary setiap 1 detik. Timer 0 akan mereset data counter pulsa setiap detiknya, dengan begitu peneliti bisa mendapatkan data pulsa perdetik. Dari data pulsa per detik peneliti dapat menghitung kecepatan motor dengan membagi banyak pulsa perdetik dengan jumlah pulsa per putaran encoder motor.

c. Dalam penelitian ini digunakan PID control untuk mengotrol PWM berdasarkan data rotary dikarenakan PWM hanya mengeluarkan output berupa lebar pulsa, sehingga kita tidak tahu pasti berapa kecepatan motor dalam rad/s. Setiap detiknya banyak putaran motor dihitung oleh mikrokontroller. Apabila banyak putaran motor kurang dari target, PWM akan bertambah secara otomatis sesuai dengan perhitungan PID control, jika banyak putaran motor melebihi target, PWM akan berkurang. d. Tuning PID dilakukan dengan menggunakan metode Ziegler Nichols

untuk menentukan nilai Kp, Ki dan Kd yang dijelaskan pada bab II untuk mendapatkan respon motor yang bagus.

i. Menentukan nilai Kp mulai dari 0.06 – 0.5.

ii. Menghitung Kc berdasarkan nilai Kp dengan grafik error yang stabil. iii. Menghitung nilai Kp = Kc x 0.6.

iv. Pada penelitian kali ini menggunakan nilai Tc (sampling timer) = 190 ms.

(33)

vi. Menghitung nilai Td = 0.125 x Tc. vii. Menghitung nilai Ki = Kp / Ti. viii. Menghitung nilai Kd = Kp x Kd.

e. Data target kecepatan masing-masing motor diterima dari mikrokontroller (master) sudah dalam rad/s.

3.3.2.1 Perancangan Driver Motor DC

Driver motor pada penelitian ini digunakan untuk mengontrol kecepatan motor DC dan arah putaran motor agar motor biasa bergerak CW dan CCW. Jenis driver motor yang digunakan yaitu tipe EMS 30A H-Bridge.

Spesifikasi:

1. Terdiri dari 1 driver full H-Bridge. Tersedia rangkaian current sense untuk IC VNH2SP30.

2. Mampu melewatkan arus kontinyu 30 A.

3. Range tegangan output untuk beban: 5,5 V sampai 36C (IC VNH2SP30 hanya sampai 16 V).

4. Input kompatibel dengan level tegangan TTL dan CMOS.

5. Jalur catu daya input (VCC) terpisah d ari jalur catu daya untuk beban (V mot).

6. Output tri-state.

(34)

8. Fault Detection, misal jika terjadi over current maka driver akan memberikan sinyal ke mikrokontroler (fasilitas ini diabaikan dalam penelitian ini).

9. Proteksi hubungan singkat, dengan tersedianya fuse untuk proteksi hubung singkat.

10. Proteksi overtemperature, tersedia fasilitas untuk melindungi hardware dari temperature yang berlebih.

Pada gambar 3.9 untuk membuat motor bergerak forward MIN1 diberi logika HIGH dan MIN 2 diberi logika LOW, untuk menggerakkan motor reverse MIN1 diberi logika LOW dan MIN 2 diberi logika HIGH.

(35)

3.3.2.2 Perancangan Rotary Encoder

Rotary encoder, atau disebut juga Shaft encoder, seperti pada gambar 3.10 merupakan perangkat elektro-mekanik yang digunakan untuk mengkonversi posisi angular (sudut) dari shaft atau roda ke dalam kode digital, menjadikannya semacam transducer. Perangkat ini biasanya digunakan dalam bidang robotika, perangkat masukan komputer (seperti optomekanikal mouse dan trackball), serta digunakan dalam kendali putaran radar, dll [8].

Gambar 3.10 Rotary Encoder Tipe Incremental [8]

Dalam Penelitian ini rotary digunakan untuk mendeteksi berapa banyak jarak tempuh dari robot, berdasarkan data putaran dari rotary. Sensor rotary akan menghasilkan pulsa setiap ada perputaran dari porosnya. Data output pulsa rotary ini yang nantinya akan dijadikan acuan oleh mikrrokontroller sebagai acuan untuk menghitung perhitungan odometry.

3.3.2.3 Perancangan NUC140VE3CN Mikrokontroller Slave

Perancangan sistem minimum mikrokontroller slave digambarkan pada gambar 3.11. Pada penelitian ini mikrokontroller slave digunakan untuk

(36)

mengontrol arah putaran dan kecepatan motor berdasarkan data direction dan setpoint dari mokrokontroller master.

Gambar 3.11 Perancangan Minimum Sistem Mikrokontroller Slave

MIN1 dan MIN2 sebagai pengatur arah putaran motor. Jika MIN1 = 1 dan MIN 2 = 0 motor berputar kearah CW, jika MIN1 = 0 dan MIN2 = 1 motor berputar kearah CCW, dan jika MIN1 dan MIN 2 motor akan mengerem. PWM motor digunakan untuk mengatur kecepatan motor, berdasarkan data input dari rotary motor.

Input rotary dari motor akan digunakan sebagai data input untuk mengontrol kecepatan motor dengan metode PID agar kecepatan sesuai dengan rad/s dari set point yang datanya didapatkan dari mikrokontroller master. PWM akan berganti secara otomatis menyesuaikan dengan kecepatan real dari data rotary motor itu sendiri. Peneliti berharap dengan kondisi baterai yang tidak sama motor akan tetap berputar dengan kecepatan yang sama dalam rad/s. Pin configuration data ditunjukkan pada tabel 3.1.

(37)

Tabel 3.1 Pin Configuration NUC140VE3CN Slave

3.3.2.4 Perancangan Learning Board NUC140VE3CN

Perancangan sistem minimum mikrokontroller master digambarkan pada gambar 3.12,

Gambar 3.12 Perancangan Minimum Sistem Mikrokontroller Master

Pada penelitian kali ini mikrokontroller master digunakan untuk perhitungan odometry berdasarkan data input dari rotary encoder. Berdasarkan data input dari ketiga rotary encoder tersebut peneliti bisa mendapatkan data jarak tempuh masing-masing roda rotary encoder.

PIN NUC140VE3CN SETTING PORT FUNGSI

E_GPD,11 PWMA Memberikan sinyal pulsa pwm ke motor A E_GPC,3 MIN1A Pengatur output keluaran VM1A = 0V atau PWM E_GPC,1 MIN2A Pengatur output keluaran VM2A = 0V atau PWM E_GPC,4 PWMB Memberikan sinyal pulsa pwm ke motor B E_GPC,2 MIN1B Pengatur output keluaran VM1B = 0V atau PWM E_GPC,0 MIN2B Pengatur output keluaran VM2B = 0V atau PWM E_GPB,6 PWMC Memberikan sinyal pulsa pwm ke motor C E_GPD,12 MIN1C Pengatur output keluaran VM1C = 0V atau PWM E_GPD,10 MIN2C Pengatur output keluaran VM2C = 0V atau PWM E_GPB,9 TM_1 Rotary pin motor A

E_GPB,10 TM_2 Rotary pin motor B E_GPB,11 TM_3 Rotary pin motor C

E_GPE,0-7 Data Input Data input dari mikrokontroller master E_GPA,8-15 Data Input Data input dari mikrokontroller master

(38)

Input masing-masing jarak tempuh rotary encoder kemudian digunakan untuk menentukan posisi x, y, theta robot menggunakan rumus - rumus yang terdapat dalam metode odometry. Pada learning board NUC140VE3CN ini juga digunakan LCD matrix untuk tampilan dan keypad sebagai pengatur inputan program yang akan dijalankan. Pin configuration yang digunakan ditunjukkan pada tabel 3.2,

Tabel 3.2 Pin Configuration NUC140VE3CN Master

3.3.3 Perancangan Perangkat Lunak

Pada penelitian ini perancangan perangkat lunak menggunakan software Coocox IDE. Peneliti menggunakan dua mikrokontroller master dan slave sebagai kontrol robot.

3.3.3.1 Perancangan Perangkat Lunak Mikrokontroller Slave

Mikrokontroller slave digunakan untuk mengontrol motor dari data set point dan feedback dari rotary motor. Flowchart program ditunjukkan pada gambar 3.13. Dari gambar flowchart dapat kita lihat bagaimana proses program yang dijalankan pada mikrokontroller slave. Data input Rot didapatkan dari input

PIN NUC140VE3CN SETTING PORT FUNGSI E_GPD,8-14 LCD_MATRIX LCD Matrix SPI3 pin NUVOTON E_GPA,0-5 Keypad Keypad Learning board NUVOTON E_GPB,9 TM_1 Rotary pin motor A

E_GPB,10 TM_2 Rotary pin motor B E_GPB,11 TM_3 Rotary pin motor C E_GPE,13 Arah Putar 1 Rotary pin motor A' E_GPE,14 Arah Putar 2 Rotary pin motor B' E_GPE,15 Arah Putar 3 Rotary pin motor C'

E_GPE,0-7 Data Output Data output ke mikrokontroller slave E_GPA,8-15 Data Output Data output ke mikrokontroller slave

(39)

rotary motor. Data Target didapatkan dari input mikrokontroller master. flowchart menjelaskan proses program yang dijalankan pada mikrokontroller master. Data input pulsa rotary motor A, pulsa rotary motor B, dan pulsa rotary motor C merupakan data jumlah pulsa yang didapatkan dari input masing-masing rotary motor. Data pulsa tersebut dikalikan jarak per pulsa untuk mendapatkan jarak tempuh masing-masing rotary motor.

Gambar 3.13 Flowchart Program Mikrokontroller Slave

Pada penelitian kali ini menggunakan mikrokontroller NUC140VE3CN. Data rotary didapatkan dengan menggunakan fitur timer yang terdapat dalam mikrokontroller. Untuk mendapatkan data tersebut peneliti menghubungkan pin TM_1 dengan rotary motor A, pin TM_2 dengan rotary motor B, pinTM_3

(40)

dengan rotary motor C. Selain itu peneliti perlu mengatur register dari masing-masing timer agar bisa digunakan sebagaimana mestinya.

Dengan menggunakan program interrupt timer peneliti bisa mendapatkan data putaran dari rotary motor berdasarkan satuan sampling. Pada penelitian ini peneliti tidak menggunakan pin PWM khusus dari mikrokontroller, tetapi menggunakan pin logika biasa yang di manipulasi melalui program melalui subroutine interrupt timer 0. Penggunaan subroutine timer 0 selain digunakan untuk mengontrol pwm juga digunakan untuk perhitungan PID control motor. Peneliti juga perlu mengatur register dari timer 0 agar subroutine bisa berjalan. 3.3.3.2 Perancangan Perangkat Lunak Mikrokontroller Master

Mikrokontroller master digunakan untuk menghitung odometry dari data input masing-masing rotary encoder kemudian memberikan perintah kepada mikrokontroller slave untuk menggerakkan masing-masing motor berdasarkan nilai error ke titik tujuan. Flowchart program ditunjukkan pada gambar 3.14.

Kita ketahui resolusi rotary sama dengan 200 pulsa per putaran, diameter roda sama dengan 182,28 mm. Maka untuk mendapatakan berapa jarak per pulsa sama dengan diameter roda dibagi jumlah pulsa per putaran rotary encoder. Dengan mengetahui jarak tempuh masing-masing roda rotary encoder peneliti bisa mengetahui posisi ( x, y, theta ) robot saat ini. Dengan mengetahui posisi robot saat ini dan tujuan robot, peneliti bisa menentukan berapa persen perbandingan kecepatan masing-masing motor menggunakan metode invers

(41)

odometry. Data tersebut kemudian dikirimkan ke mikrokontroller slave sebagai target kecepatan masing-masing motor.

Gambar 3.14 Flowchart Program Mikrokontroller Master

Pada penelitian kali ini menggunakan mikrokontroller NUC140VE3CN. Data rotary didapatkan dengan menggunakan fitur timer yang terdapat dalam mikrokontroller. Untuk mendapatkan data tersebut peneliti menghubungkan pin TM_1 dengan rotary encoderA, pin TM_2 dengan rotary encoderB, pinTM_3

(42)

dengan rotary encoderC. Selain itu peneliti perlu mengeset register dari masing-masing timer agar bisa digunakan sebagaimana mestinya.

Data V1, V2 dan V3 dikirimkan ke mikrokotroller slave sebagai target kecepatan masing-masing motor. Data-data tersebut kemudian diolah oleh mikrokontroller slave untuk dijadikan acuan sebagai pergerakan motor.

(43)

33

sistem yang dibuat telah berfungsi dengan baik dan sesuai dengan perancangannya. Adapun pengujian yang dilakukan meliputi :

1. Pengujian PID motor.

2. Pengujian jarak per pulsa rotary encoder.

3. Pengujian nilai jarak roda rotary ke titik pusat robot. 4. Pengujian sistem untuk navigasi robot.

4.1 Pengujian PID Motor 1. Tujuan:

a. Mendapatkan konstanta Kp, Kd dan Ki yang maksimal yaitu rising time yang sangat cepat dan sedikit isolasi.

b. Motor bisa adaptif dalam mengatur kecepatannya tanpa terpengaruh kondisi battery dan beban tambahan.

2. Peralatan Tambahan:

a. Software Microsoft Excel untuk menampilkan grafik. 3. Prosedur:

a. Memilih nilai setpoint berdasarkan metode Ziegler Nichols. b. Menekan tombol push button untuk menampilkan nilai error.

(44)

c. Menginputkan nilai error kontrol PID dari error sama dengan minus 255 sampai 255 pada Microsoft Excel.

d. Menampilkan grafik berdasarkan nilai error.

Berdasarkan metode Ziegler Nichols, pertama peneliti mencari nilai Kp untuk mendapatkan nilai Kp dengan nilai error yang stabil. Kemudian peneliti menggunakan data Kp tersebut sebagai nilai acuan nilai (Kc) untuk menghitung nilai Ki, Kp dan Kd.

4.1.1 Pengujian Ziegler Nichols

Peneliti menggunakan metode Ziegler Nichols untuk menentukan nilai Kp, Ki dan Kd yang dijelaskan pada bab II. Dengan memberi nilai Kp awal sebagai acuan untuk melihat respon motor, Kemudian nilai Kp tersebut dijadikan sebagai nilai Kc menggunakan metode Ziegler Nichols. Tabel 4.1 merupakan hasil perhitungan nilai Kp, Ki dan Kd berdasarkan nilai Kc.

Tabel 4.1 Hasil Perhitungan nilai menggunakan metode Ziegler Nichols

Berdasarkan data dari Tabel 4.1 kemudian peneliti menginputkan nilai Kc sebagai nilai Kp untuk melihat respon dari motor. Data error sama dengan data data rotary (rad/s) dikurangi target (rad/s) dalam satuan waktu merupakan data yang diamati pada grafik respon motor pada Tabel 4.2.

Kc Kp Ki Kd

0.15 0.09 0.00062069 3.2625 0.2 0.12 0.000827586 4.35 0.3 0.18 0.001241379 6.525 0.5 0.3 0.002068966 10.875

(45)

Tabel 4.2 Respon Motor Dengan Set Point Kp Berbeda

Pada Tabel 4.2 pada tabel grafik error, adalah grafik dengan nilai Kp = Kc, Ki = 0 dan Kd = 0. Tabel penerapan Ziegler Nichols menampilkan grafik error dengan nilai Kp, Ki dan Kd pada tabel 4.1 sesuai dengan nilai Kc.

4.1.2 Analisa Pengujian

Dari percobaan yang sudah dilakukan di atas, nilai Kp di uji sampai grafik error mengalami osilasi yang berkesinambungan. Setelah diketahui nilai Kp tersebut kemudian dilakukan penghitungan nilai Ki dan Kd menggunakan metode Zieger Nichols. Dapat diketahui untuk konstanta Kp, Kd dan Ki optimal pada nilai Kp = 0.3, Ki = 0.002068966 dan Kd = 10.875 yang mempunyai nilai rise time 78.28 ms dan settling time 7790 ms. Sistem kontrol dikatakan bagus karena kontrol bisa mencapai rising time yang cepat dan sedikit mengalami osilasi. Untuk percobaan selanjutnya peneliti menggunakan nilai konstanta tersebut sebagai kontrol PID pengatur kecepatan motor DC.

Kc Grafik Error Penerapan Zieger Nichols Rise Time (ms) Settling Time (ms)

0.15 523.051 16910 0.2 327.636 15200 0.3 115.748 10830 0.5 78.28 7790 -50 0 50 1 9 1 7 2 5 3 3 4 1 4 9 5 7 6 5 7 3 8 1 8 9 9 7 -50 0 50 1 9 17 25 33 41 49 57 65 73 81 89 97 -50 0 50 1 9 17 25 33 41 49 57 65 73 81 89 97 -50 0 50 1 9 17 25 33 41 49 57 65 73 81 89 97 -50 0 50 1 9 17 25 33 41 49 57 65 73 81 89 97 -50 0 50 1 9 17 25 33 41 49 57 65 73 81 89 97 -50 0 50 1 9 17 25 33 41 49 57 65 73 81 89 97 -50 0 50 1 9 17 25 33 41 49 57 65 73 81 89 97

(46)

4.2 Pengujian Jarak per Pulsa Rotary Encoder 1. Tujuan:

a. Mendapatkan konstanta jarak roda rotary berdasarkan jumlah pulsa. b. Sistem bisa mengetahui jarak yang ditempuh berdasarkan putaran roda

rotary.

2. Peralatan Tambahan: a. Penggaris. 3. Prosedur:

a. Untuk mendapatkan jarak per pulsa, diketahui diameter roda 182,28 mm dan rotary yang digunakan memiliki resolusi 200 pulsa persatu putaran. Maka didapatkan jarak per pulsa rotary sama dengan diameter roda dibagi resolusi sama dengan 0.9114 sebagai acuan awal nilai jarak per pulsa.

b. Mengggerakkan robot secara manual kearah putar roda rotary dengan jarak 10 – 70 cm (jarak ini ditentukan secara sembarang sebagai jarak uji).

c. Mengamati nilai yang ditampilkan pada LCD berdasarkan perhitungan program dengan jarak tempuh sebenarnya pada setiap 10 cm perubahan posisi roda.

Untuk menentukan nilai jarak per pulsa, peneliti mengunakan metode biseksi sebagai acuan penentuan nilai agar mendekati angka nol. Metode biseksi hanya sebagai acuan untuk menentukan angka-angka yang dimasukkan untuk

(47)

diteliti lebih lanjut hasil outputnya pada tampilan LCD. Untuk menggunakan metode biseksi, membutuhkan dua data sebagai data awal. peneliti menggunakan nilai acak sebagai nilai a dan nilai awal secara perhitungan real sebagai nilai b. Perhitungan nilai diperlihatkan pada Tabel 4.3.

Tabel 4.3 Penentuan nilai pengujian

Pada Tabel 4.3 terdapat warna merah muda dan biru muda, warna biru muda menunjukkan nilai Erra dan Errb memiliki sumbu yang sama, sedangkan warna merah muda menunjukkan nila Erra dan Errb tidak berada pada sumbu yang sama. Untuk menentukan nilai x, menggunakan rumus 4.1

= + (4.1)

Kemudian peneliti menghitung nilai masing-masing Erra, Errb, dan Errx. Berdasarkan metode biseksi jika Erra dan Errx keduanya kurang dari nol maka a = x. Jika Erra dan Errx berlainan sumbu positif dan negatif maka b = x. 4.2.1 Pengujian dengan nilai jarak per pulsa 0,9114 mm

Nilai awal 0,9114 didapatkan dari perhitungan diameter roda dibagi dengan jumlah pulsa per rotasi satu kali putaran rotary. Hasil pengujian diperlihatkan pada Tabel 4.4.

Tabel 4.4 Hasil pengujian dengan nilai jarak per pulsa 0,9114 mm

a b x Erra Errb Errx

0.90640 0.91140 0.90890 -0.30% 0.25% -0.02% 0.90890 0.91140 0.91015 -0.02% 0.25% 0.12% 0.90890 0.91015 0.90953 -0.02% 0.12% 0.05% 0.90890 0.90953 0.90921 -0.02% 0.05% 0.01% 0.90890 0.90921 0.90906 -0.02% 0.01% 0.00% 0.90906 0.90921 0.90913 0.00% 0.01% 0.00%

(48)

Dari hasil pengujian yang ditunjukkan pada Tabel 4.4 menunjukkan besar nilai error minimum 0.1%, maksimum 0.56%, rata-rata error 0.3% masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.1%, jadi dilakukan pengujian lagi dengan nilai jarak per pulsa pada percobaan selanjutnya.

4.2.2 Pengujian dengan nilai jarak per pulsa 0,9064 mm

Nilai acak 0,9064 didapatkan dari perhitungan untuk menghasilkan nilai Err kurang dari nol. Hasil pengujian diperlihatkan pada Tabel 4.5. Dari hasil pengujian yang ditunjukkan pada Tabel 4.5 menunjukkan besar nilai error minimum 0.01%, maksimum 0.45%, rata-rata error 0.25% masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.1%, jadi dilakukan pengujian lagi dengan nilai jarak per pulsa pada percobaan selanjutnya.

Real (mm) Perhitungan (mm) 100 100.25 0.25% 200 200.51 0.25% 300 301.67 0.56% 400 401.02 0.25% 500 502.18 0.44% 600 600.61 0.10% 700 701.78 0.25% Jarak Error

(49)

Tabel 4.5 Hasil pengujian dengan nilai jarak per pulsa 0,9064 mm

4.2.3 Pengujian dengan nilai jarak per pulsa 0,9089 mm Nilai 0,9089 didapatkan melalui hasil perhitungan nilai x,

= 0,9064 +0,9114 − 0,9064

2 = 0,9089

Hasil pengujian diperlihatkan pada Tabel 4.6.

Tabel 4.6 Hasil pengujian dengan nilai jarak per pulsa 0,9089 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.6 menunjukkan besar nilai error minimum 0.02%, maksimum 0.28%, rata-rata error 0.1% masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.1%, jadi dilakukan pengujian lagi dengan nilai jarak per pulsa pada percobaan selanjutnya. Real (mm) Perhitungan (mm) 100 99.70 0.30% 200 199.41 0.30% 300 300.02 0.01% 400 398.82 0.30% 500 499.43 0.11% 600 597.32 0.45% 700 697.93 0.30% Jarak Error Real (mm) Perhitungan (mm) 100 99.98 0.02% 200 199.96 0.02% 300 300.85 0.28% 400 399.92 0.02% 500 500.80 0.16% 600 598.97 0.17% 700 699.85 0.02% Jarak Error

(50)

4.2.4 Pengujian dengan nilai jarak per pulsa 0,91015 mm Nilai 0,91015 didapatkan melalui hasil perhitungan nilai x,

= 0,9089 +0,9114 − 0,9089

2 = 0,91015

Hasil pengujian diperlihatkan pada Tabel 4.7.

Tabel 4.7 Hasil pengujian dengan nilai jarak per pulsa 0,91015 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.7 menunjukkan besar nilai error minimum 0.04%, maksimum 0.42%, rata-rata error 0.174% masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.1%, jadi dilakukan pengujian lagi dengan nilai jarak per pulsa pada percobaan selanjutnya.

4.2.5 Pengujian dengan nilai jarak per pulsa 0,90953 mm Nilai 0,909525 didapatkan melalui hasil perhitungan nilai x,

= 0,9089 +0,91015 − 0,9089

2 = 0,90953

Hasil pengujian diperlihatkan pada Tabel 4.8. Real (mm) Perhitungan (mm) 100 100.12 0.12% 200 200.23 0.12% 300 301.26 0.42% 400 400.47 0.12% 500 501.49 0.30% 600 599.79 0.04% 700 700.82 0.12% Jarak Error

(51)

Tabel 4.8 Hasil pengujian dengan nilai jarak per pulsa 0,90953 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.8 menunjukkan besar nilai error minimum 0.05%, maksimum 0.35%, rata-rata error 0.125% masih cukup tinggi peneliti membutuh kan data rata-rata error kurang dari 0.1%, jadi dilakukan pengujian lagi dengan nilai jarak per pulsa pada percobaan selanjutnya.

4.2.6 Pengujian dengan nilai jarak per pulsa 0,90921 mm Nilai 0,90921 didapatkan melalui hasil perhitungan nilai x, = 0,9089 +0,90953 − 0,9089

2 = 0,90921

Hasil pengujian diperlihatkan pada Tabel 4.9.

Tabel 4.9 Hasil pengujian dengan nilai jarak per pulsa 0,90921 mm

Real (mm) Perhitungan (mm) 100 100.05 0.05% 200 200.10 0.05% 300 301.05 0.35% 400 400.19 0.05% 500 501.15 0.23% 600 599.38 0.10% 700 700.33 0.05% Jarak Error Real (mm) Perhitungan (mm) 100 100.01 0.01% 200 200.03 0.01% 300 300.95 0.32% 400 400.05 0.01% 500 500.98 0.20% 600 599.17 0.14% 700 700.09 0.01% Jarak Error

(52)

Dari hasil pengujian yang ditunjukkan pada Tabel 4.9 menunjukkan besar nilai error minimum 0.01%, maksimum 0.32%, rata-rata error 0.1% masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.1%, jadi dilakukan pengujian lagi dengan nilai jarak per pulsa pada percobaan selanjutnya.

4.2.7 Pengujian dengan nilai jarak per pulsa 0,90906 mm Nilai 0,90906 didapatkan melalui hasil perhitungan nilai x,

= 0,9089 +0,90921 − 0,9089

2 = 0,90906

Hasil pengujian diperlihatkan pada Tabel 4.10.

Tabel 4.10 Hasil pengujian dengan nilai jarak per pulsa 0,90906 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.10 menunjukkan besar nilai error minimum 0.004%, maksimum 0.299%, rata-rata error 0.093% sudah cukup rendah,

4.2.8 Pengujian dengan nilai jarak per pulsa 0,90913 mm Nilai 0,90913 didapatkan melalui hasil perhitungan nilai x,

= 0,90906 +0,90921 − 0,90906 2 = 0,90913 Real (mm) Perhitungan (mm) 100 100.00 0.004% 200 199.99 0.004% 300 300.90 0.299% 400 399.98 0.004% 500 500.89 0.178% 600 599.07 0.155% 700 699.97 0.004% Jarak Error

(53)

Hasil pengujian diperlihatkan pada Tabel 4.11.

Tabel 4.11 Hasil pengujian dengan nilai jarak per pulsa 0,90913 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.11 menunjukkan besar nilai error minimum 0.05%, maksimum 0.308%, rata-rata error 0.094% sudah cukup rendah

4.2.9 Analisa Pengujian

Dari percobaan yang sudah dilakukan di atas, peneliti mendapatkan data error minimum error maksumum dan rata-rata error. Untuk menentukan berapa nilai yang nantinya dipakai untuk pengujian selanjutnya pada tabel 4.12.

Tabel 4.12 Hasil kesimpulan pengujian penentuan nilai jarak per pulsa

Real (mm) Perhitungan (mm) 100 100.00 0.005% 200 200.01 0.005% 300 300.92 0.308% 400 400.02 0.005% 500 500.93 0.187% 600 599.12 0.147% 700 700.03 0.005% Jarak Error Minimal Maksimal 0.91140 0.102% 0.558% 0.302% 0.90640 0.006% 0.447% 0.250% 0.90890 0.021% 0.282% 0.100% 0.91015 0.035% 0.420% 0.174% 0.90953 0.048% 0.351% 0.125% 0.90921 0.013% 0.316% 0.100% 0.90906 0.004% 0.299% 0.093% 0.90913 0.005% 0.308% 0.094% Error Nilai Jarak (mm) Rata-rata

(54)

Dari tabel 4.12 dapat diketahui untuk nilai jarak per pulsa yang memiliki nilai rata-rata error yang paling kecil menggunakan nilai 0.90906. Untuk selanjutnya peneliti menggunakan jarak tersebut sebagai acuan percobaan selanjutnya.

4.3 Pengujian Nilai Jarak Roda Rotary ke Titik Pusat Robot 1. Tujuan:

a. Mendapatkan jarak roda rotary ke pusat robot.

b. Sistem bisa mengetahui sudut hadap robot terhadap titik awal. 2. Peralatan Tambahan:

a. Penggaris. b. Busur.

c. Alas lingkaran. 3. Prosedur:

a. Berdasarkan pengujian rotary encoder peneliti menggunakan nilai 0,90906 sebagai jarak per pulsa.

b. Mentukan nilai awal jarak roda rotary ke titik pusat robot. c. Menggerakkan robot secara manual keposisi target.

d. Mengamati nilai yang ditampilkan pada LCD berdasarkan perhitungan program odometry dengan posisi sebenarnya pada robot.

Untuk menentukan nilai jarak rotary ke titik pusat robot, peneliti mengunakan metode biseksi sebagai acuan penentuan nilai agar mendekati angka nol. Metode biseksi hanya sebagai acuan untuk menentukan angka-angka

(55)

yang dimasukkan untuk diteliti lebih lanjut hasil outputnya pada tampilan LCD. Untuk menggunakan metode biseksi, membutuhkan dua data sebagai data awal. peneliti menggunakan nilai acak sebagai nilai a dan nilai awal secara perhitungan real sebagai nilai b. Perhitungan nilai diperlihatkan pada tabel 4.13.

Tabel 4.13 Penentuan nilai pengujian

Untuk menentukan nilai x, peneliti menggunakan metode yang sama dengan perngujian 4.2 dengan rumus 4.1.

4.3.1 Pengujian dengan jarak rotary ke titik pusat robot 218.5 mm

Nilai awal 218.5 didapatkan dari pengukuran jarak antara titik pusat dengan roda rotary. Hasil pengujian diperlihatkan pada Tabel 4.14.

Tabel 4.14 Pengujian nilai jarak rotary ke titik pusat robot 218.5 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.14 menunjukkan besar nilai error minimum 0.05˚, maksimum 0.33˚, rata-rata error 0.176˚ masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.001˚,

a b x Erra Errb Errx

219.00000 218.50000 218.75000 -0.100000 0.110000 0.010000 219.00000 218.75000 218.87500 -0.100000 0.010000 -0.040000 218.87500 218.75000 218.81250 -0.040000 0.010000 -0.020000 218.81250 218.75000 218.78125 -0.020000 0.010000 -0.010000 218.78125 218.75000 218.76563 -0.010000 0.010000 0.000001 Real Perhitungan 45 45.06 0.05 90 90.11 0.11 135 135.17 0.16 180 180.22 0.22 270 270.33 0.33

Sudut (degrees) Error (degrees)

(56)

jadi dilakukan pengujian lagi dengan nilai jarak antara titik pusat dengan roda rotary pada percobaan selanjutnya.

4.3.2 Pengujian dengan jarak rotary ke titik pusat robot 219 mm

Nilai acak 219 didapatkan dari perhitungan untuk menghasilkan nilai Err kurang dari nol. Hasil pengujian diperlihatkan pada Tabel 4.15.

Tabel 4.15 Pengujian nilai jarak rotary ke titik pusat robot 219 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.15 menunjukkan besar nilai error minimum 0.05˚, maksimum 0.30˚, rata-rata error 0.16˚ masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.001˚, jadi dilakukan pengujian lagi dengan nilai jarak antara titik pusat dengan roda rotary pada percobaan selanjutnya.

4.3.3 Pengujian dengan jarak rotary ke titik pusat robot 218.75 mm Nilai 218.75 didapatkan melalui hasil perhitungan nilai x,

= 218,5 +219 − 218.5

2 = 218,75

Hasil pengujian diperlihatkan pada Tabel 4.16.

Tabel 4.16 Pengujian nilai jarak rotary ke titik pusat robot 218.75 mm

Real Perhitungan 45 44.95 0.05 90 89.90 0.10 135 134.85 0.15 180 179.80 0.20 270 269.70 0.30

Sudut (degrees) Error (degrees)

(57)

Dari hasil pengujian yang ditunjukkan pada Tabel 4.16 menunjukkan besar nilai error minimum 0.01˚, maksimum 0.03˚, rata-rata error 0.016˚ masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.001˚, jadi dilakukan pengujian lagi dengan nilai jarak antara titik pusat dengan roda rotary pada percobaan selanjutnya.

4.3.4 Pengujian dengan jarak rotary ke titik pusat robot 218.875 mm Nilai 218.875 didapatkan melalui hasil perhitungan nilai x,

= 218,75 +219 − 218.75

2 = 218,875

Hasil pengujian diperlihatkan pada Tabel 4.17.

Tabel 4.17 Pengujian nilai jarak rotary ke titik pusat robot 218.875 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.17 menunjukkan besar nilai error minimum 0.02˚, maksimum 0.12˚, rata-rata error 0.064˚ masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.001˚,

Real Perhitungan 45 45.01 0.01 90 90.01 0.01 135 135.02 0.02 180 180.02 0.02 270 270.03 0.03

Sudut (degrees) Error (degrees) Real Perhitungan 45 44.98 0.02 90 89.96 0.04 135 134.94 0.06 180 179.92 0.08 270 269.88 0.12

Sudut (degrees) Error (degrees)

(58)

jadi dilakukan pengujian lagi dengan nilai jarak antara titik pusat dengan roda rotary pada percobaan selanjutnya.

4.3.5 Pengujian dengan jarak rotary ke titik pusat robot 218.8125 mm Nilai 218.8125 didapatkan melalui hasil perhitungan nilai x,

= 218,75 +218.875 − 218.75

2 = 218,8125

Hasil pengujian diperlihatkan pada Tabel 4.18.

Tabel 4.18 Pengujian nilai jarak rotary ke titik pusat robot 218.8125 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.18 menunjukkan besar nilai error minimum 0.01˚, maksimum 0.06˚, rata-rata error 0.032˚ masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.001˚, jadi dilakukan pengujian lagi dengan nilai jarak antara titik pusat dengan roda rotary pada percobaan selanjutnya.

4.3.6 Pengujian dengan jarak rotary ke titik pusat robot 218.78125 mm Nilai 218.78125 didapatkan melalui hasil perhitungan nilai x,

= 218,75 +218.8125 − 218.75

2 = 218,78125

Hasil pengujian diperlihatkan pada Tabel 4.19.

Tabel 4.19 Pengujian nilai jarak rotary ke titik pusat robot 218.78125 mm

Real Perhitungan 45 44.99 0.01 90 89.98 0.02 135 134.97 0.03 180 179.96 0.04 270 269.94 0.06

Sudut (degrees) Error (degrees)

(59)

Dari hasil pengujian yang ditunjukkan pada Tabel 4.19 menunjukkan besar nilai error minimum 0.01˚, maksimum 0.03˚, rata-rata error 0.016˚ masih cukup tinggi, peneliti membutuh kan data rata-rata error kurang dari 0.001˚, jadi dilakukan pengujian lagi dengan nilai jarak antara titik pusat dengan roda rotary pada percobaan selanjutnya.

4.3.7 Pengujian dengan jarak rotary ke titik pusat robot 218.76563 mm Nilai 218.76563 didapatkan melalui hasil perhitungan nilai x,

= 218,75 +218.78125 − 218.75

2 = 218,76563

Hasil pengujian diperlihatkan pada Tabel 4.20.

Tabel 4.20 Pengujian nilai jarak rotary ke titik pusat robot 218.76563 mm

Dari hasil pengujian yang ditunjukkan pada Tabel 4.20 menunjukkan besar nilai error minimum 0.000001˚, maksimum 0.000004˚, rata-rata error 0.000002˚ sudah cukup rendah.

Real Perhitungan 45 45.00 0.01 90 89.99 0.01 135 134.99 0.02 180 179.98 0.02 270 269.97 0.03

Sudut (degrees) Error (degrees) Real Perhitungan 45 45.00 0.00 90 90.00 0.00 135 135.00 0.00 180 180.00 0.00 270 270.00 0.00

Sudut (degrees) Error (degrees)

(60)

4.3.8 Analisa Pengujian

Nilai jarak dari rotary ke titik pusat robot merupakan salah satu data yang dibutuhkan dalam penelitian, sebagai nilai untuk menghitung posisi saat t. Dari percobaan yang sudah dilakukan di atas, peneliti mendapatkan data error minimal, maksimal dan rata-rata error pada tabel 4.21.

Tabel 4.21 Kesimpulan pengujian nilai jarak rotary dengan titik pusat robot

Dari tabel 4.21 dapat diketahui untuk nilai jarak rotary ke titik pusat robot yang memiliki nilai rata-rata error kurang dari 0.001˚ menggunakan nilai 218.76563. Untuk selanjutnya peneliti menggunakan jarak tersebut sebagai acuan percobaan selanjutnya.

4.4 Pengujian Sistem Untuk Navigasi Robot 1. Tujuan:

a. Mendapatkan sistem kontrol motor yang bisa menuju titik tujuan berdasarkan data input dari ketiga rotary berdasarkan perhitungan odometry. Minimal Maksimal 218.50000 0.055 0.330 0.176 219.00000 0.050 0.300 0.160 218.75000 0.005 0.030 0.016 218.87500 0.020 0.120 0.064 218.81250 0.010 0.060 0.032 218.78125 0.005 0.030 0.016 218.76563 0.000001 0.000004 0.000002 Error (degress) Rata-rata Error

(degress) Nilai Sudut

(61)

b. Sistem bisa mengetahui posisi x, y dan sudut hadap robot terhadap titik awal. 2. Peralatan Tambahan: a. Penggaris. b. Busur. c. Alas robot. 3. Prosedur:

a. Berdasarkan pengujian PID motor peneliti menggunakan nilai Kp = 0.06, Kd = 2.175 dan Ki = 0.000413793 sebagai konstanta kontrol PID motor.

b. Berdasarkan pengujian rotary encoder peneliti menggunakan nilai 0.90906 sebagai nilai jarak per pulsa.

c. Berdasarkan pengujian jarak roda rotary ke titik pusat robot peneliti menggunakan nilai 218.76563 sebagai nilai jarak roda rotary ke titik pusat robot.

d. Peneliti memberikan data input posisi tujuan robot. e. Robot bergerak secara otomatis menuju posisi tujuan.

f. Mengukur posisi robot saat ini dibanding dengan posisi tujuan yang diberikan oleh peneliti.

4.4.1 Pengujian Sistem

Untuk membuat sebuah program odometry, peneliti memerlukan data jarak per pulsa rotary dan jarak roda rotary ke titik pusat robot. Data jarak per pulsa

(62)

didapatkan dari pengujian pada bab pengujian 4.2 yang bernilai 0.90906 sedangkan jarak roda rotary ke titik pusat robot didapatkan dari bab pengujian 4.3 yang bernilai 218.76553. Kedua data tersebut kemudian diolah menggunakan meode odometry, untuk mendapatkan data posisi robot x, y dan

.

Tabel 4.22 Hasil pengujian sistem robot

Data dari Tabel 4.22 didapatkan dari pengujian dengan pemberian kombinasi nilai yang berbeda, kemudian robot diberi posisi tujuan oleh peneliti. Robot bergerak dari posisi awal menuju posisi tujuan secara otomatis. Di posisi

500 0 0 483 6 2 17 6 2 0 500 0 5 482 1 5 18 1 500 500 0 490 487 1.2 10 13 1.2 0 0 90 3 -4 87 3 4 3 0 0 180 2 3 179 2 3 1 500 0 0 521 11 -5 21 11 5 0 500 0 -10 520 -5 10 20 5 500 500 0 520 521 -4 20 21 4 0 0 90 8 -7 98 8 7 8 0 0 180 -8 8 192 8 8 12 500 0 0 523 -6 3 23 6 3 0 500 0 -7 523 3 7 23 3 500 500 0 520.3 523 -3 20.3 23 3 0 0 90 10 -12 95 10 12 5 0 0 180 -12 10 189 12 10 9 500 0 0 523 -16 2 23 16 2 0 500 0 -17 523 3 17 23 3 500 500 0 532 540 2 32 40 2 0 0 90 9 -8 96 9 8 6 0 0 180 -10 6 187 10 6 7 500 0 0 490 -2 2 10 2 2 0 500 0 -2 491 1 2 9 1 500 500 0 492 491 1 8 9 1 0 0 90 4 -2 85 4 2 5 0 0 180 -3 3 173 3 3 7 X Y theta 0.9114 218.5 Error X Y theta 0.90906 218.76563 Nilai Pengujian Jarak per pulsa Jarak rotary ke titik pusat robot

Target Posisi Real

X Y theta

219 0.9114

0.9064 219

(63)

tujuan robot akan berhenti. Secara perhitungan algoritma robot, robot sudah berada di posisi tujuan, tetapi karena nilai data jarak per pulsa dan jarak roda rotary ke titik pusat robot merupakan data yang kurang tepat, membuat robot menyimpang dari posisi tujuan secara real, dalam tabel ditandai dengan warna orange.

4.4.2 Analisa Pengujian

Pemberian nilai data jarak per pulsa rotary dan jarak roda rotary ke titik pusat robot sangat berpengaruh pada pergerakan robot. Terlihat pada tabel 4.22 apabila pemberian nilai data salah, maka robot akan menyimpang dari posisi tujuan robot. Sedikit saja perbedaan nilai akan sangat berpengaruh pada pergerakan robot.

Gambar

Gambar 2.1 Rotary encoder tipe incremental [8]
Gambar 2.4 Geometri pada roda OMR [8]
Gambar 2.5 Geometri omni-directional mobile robot [8]
Gambar 2.6 Kurva Respon Dengan Nilai Kp 0,7
+7

Referensi

Dokumen terkait