Studi Komparasi Navigasi Robot Kapal Berbasis Sensor Ultrasonik, Kamera dan Dead Reckoning

(1)

TUGAS AKHIR

Disusun untuk memenuhi syarat kelulusan pada

Program Studi Strata Satu Sistem Komputer di Jurusan Teknik Komputer

Oleh

Leonardus Sitohang 10208126

Pembimbing Muhammad Aria, M.T

JURUSAN TEKNIK KOMPUTER

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

2014


(2)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... vii

DAFTAR TABEL... ix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Maksud dan Tujuan ... 4

1.4 Batasan Masalah ... 4

1.5 Metode Penelitian... 5

1.6 Sistematika Penulisan ... 6

BAB II DASR TEORI ... 7

2.1 Komunikasi Data ... 7

2.1.1 Metode Transmisi... 7

2.1.2 Media Transmisi... 8

2.2 Perangkat Keras... 8

2.2.1 Mikrokontroler Arduino Mega 2560 ... 8

2.2.2 Sensor Ultrasonik (PING) ... 9

2.2.3 USB Kamera Logitech C310 ... 10

2.2.4 DT-Sense 3 Axis Compass... 10

2.2.5 MotorBrushless ... 11

2.2.6 ESC(Electronic Speed Control) ... 11


(3)

vi

BAB III PERANCANGAN... 16

3.1 Rancangan Mekanik ... 18

3.2 Rancangan Perangkat Keras ... 19

3.2.1 Sensor Kompas... 19

3.2.2 Mikrokontroler ... 20

3.2.3 Skematik Rangkaian... 21

3.3 Rancangan Tampilan Menu Program ... 22

3.4 Rancangan Perangkat Lunak ... 24

3.4.1 Deteksi Objek ... 24

3.4.2 Pengontrolan Proporsional Integral Derivative ... 25

3.5 Rancangan Pengontrolan ... 28

BAB IV HASIL DAN BAHASAN ... 40

4.1 Pengujian Sensor Ultrasonik ... 40

4.2 Pengujian Kamera ... 42

4.3 Pengujian Dead Reckoning ... 46

4.4 SpeedtestChallenge ... 48

4.5 ManeuverTestChallenge ... 51

BAB V SIMPULAN DAN SARAN ... 54

5.1 Simpulan ... 54

5.2 Saran ... 55


(4)

DAFTAR PUSTAKA

[1] Arvind Antonio de Menezes Pereira. Navigation and Guidance of an Autonomous Surface Vehicle.Thesis, University of Southern California, May 2007.

[2] Fadlisyah, 2007. Computer Vision dan Pengolahan Citra, Andi, Yogyakarta [3] Hermawan Astuti Fajar. 2013, Pengolahan Citra Digital, Andi, Yogyakarta [4] Kadir, Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan

Pemrogramannya menggunakan Arduino. Andi Ofset.

[5] National Instruments, NI-IMAQ for USB Cameras User Guide, Januari 2005 [6] National Instruments, NI Vision for LabVIEW User Manual, November 2005 [7] Parekh, Kayton B.A Computer Vision Application to Accurately Estimate Project

Distance 2010 Honors Projects, Paper 18.

http://digitalcommons.macalester.edu/mathcs_honors/18

[8] Pickem, Daniel, dkk.Captain Handsight: An Autonomous Surface Vessel. Journal Paper, Georgia Institute Technology, Atlanta, 2011

[9] Syukri Gazali Suatkab. Implementasi Inertial Navigation System Pada Muatan Roket Untuk Perhitungan Trajektori Roket. Laporan Penelitian. Fakultas Teknik dan Ilmu Komputer. Universitas Indonesia, 2013.


(5)

Jenis Kelamin : Laki-laki

Agama : Kristen Protestan

Anak ke- : 8 dari 8 bersaudara

Alamat : Simangambong, ds. Parsaoran Urat kec. Palipi Kab. Samosir, Sumatera Utara

Handphone : +62822 1880 7815 E-mail : leotohank@gmail.com

Media Sosial :

@leotohank

Pendidikan : 1992-1998 : SD INPRES Urat Samosir 1998-2001 : SMP sw RK Bintang Samosir 2001-2004 : SMK sw HKBP Pematangsiantar 2008-2014 : Jenjang Studi Strata I (S1)

Program Studi Teknik Komputer Fakultas Teknik & Ilmu Komputer Universitas Komputer Indonesia Kegiatan akademis

ekstra

: 2009-2010 : Anggota HIMA divisi Wirausaha 2010 : Asisten Dosen Algoritma

Pemrograman I

2010-2014 : Anggota Riset di Divisi Roket dan Unmanned System UNIKOM 2012 : Anggota Tim Vivase V-1

Nominator Kompetisi Muatan Roket Indonesia

2012-2013 : Asisten Dosen Kendali I Teknik Elektro.

2013 : Ketua Tim Next Arjuna Nominator Kompetisi Muatan Roket Indonesia

Bandung, Agustus 2014 Hormat Penulis,


(6)

iii akhir dengan baik dan lancar.

Pada kesempatan yang berbahagia ini penyusun ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penyusunan tugas akhir ini, penulis menyadari bahwa tanpa bantuan dan bimbingan dari semua pihak, penyusunan tugas akhir ini tidak akan berjalan dengan lancar. Pada kesempatan ini juga penulis akan mengucapkan rasa terima kasih kepada:

1. Dr. Ir. Edy Suryanto Soegoto, M.Sc. selaku Rektor Universitas Komputer Indonesia.

2. Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Fakultas Teknik dan Ilmu Komputer.

3. Dr. Wendi Zarman, M.Si. selaku Ketua Program Studi Teknik Komputer. 4. John Adler, M.Si. selaku Dosen Wali 08 Tk3

5. Muhammad Aria, MT. selaku dosen pembimbing yang telah membantu mulai dari awal sampai selesai tugas akhir ini.

6. Seluruh dosen pengajar Program Studi Teknik Komputer yang memberikan ilmu kepada penulis.

7. Dipl. Eng. Endri Rachman selaku ketua Divisi Roket dan Unmanned System

Unikom 2013/2014 dengan dosen Pembina Muhammad Aria, MT. dan Agus Mulyana, MT. yang telah memberikan kesempatan untuk berkarya di divisi dan melakukan penelitian.

8. Seluruh mahasiswa Teknik Komputer khususnya 08 TK3 yang selalu semangat dalam menghadapi segala masalah perkuliahan dan bertahan sampai akhir.

9. Orang tua tercinta sebagai guru terbaik sepanjang hidupku yang selama ini telah bekerja keras dan selalu sabar dalam memberikan dukungan moral dan moril sehingga dapat lulus dari Unikom Bandung.


(7)

iv dan motivasi.

12.Keluarga NHKBP Bandung Riau Martadinata dan keluarga G-30, yang selalu memberikan keceriaan.


(8)

1 1.1Latar Belakang

Indonesia merupakan Negara kepulauan dengan panjang pantai 81.000 Km dimana ± 2/3 wilayah kedaulatannya berupa perairan. Dengan memanfaatkan potensi wilayah ini banyak teknologi yang dikembangkan, contohnya adalah robot kapal. Robot kapal merupakan wahana baru yang mulai dikembangkan di Indonesia dengan sistem robot tanpa awak yang dikendalikan secara otomatis (autonomous) atau manual (remote control). Robot kapal dapat difungsikan sebagai alat pertahanan, alat transportasi laut, danau, dan sungai. Direktorat Penelitian dan Pengabdian Kepada Masyarakat (DitLitabmas) bekerja sama dengan Perguruan Tinggi dan lembaga-lembaga tertentu menyelenggarakan Kontes Kapal Cepat Tak Berawak Nasional (KKCTBN) 2014 yang bertujuan untuk mendukung pengembangan teknologi kedirgantaraan ini. Dalam pelaksanaan kontes ini dibagi menjadi tiga kategori. Kategori I kapal otomatis (autonomous), kategori II kapal cepat dengan sistem manual (remote control), dan kategori III kapal cepat fuel engine. Dengan mengambil kategori I kapal otomatis (autonomous) untuk pergerakan kapal dikendalikan secara otomatis dengan melihat objek berupa bola berwarna, untuk pergerakan lurus (speedtest) kapal menggunakan Proporsional Integral

Derivative (PID), selain itu terdapat sensor ultrasonik yang difungsikan hampir

sama dengan kamera yaitu sebagai deteksi bola dalam maneuver dan sensor kompas yang berperan dalam pembacaan orientasi kapal sebagai referensi kendali PID.

Kegiatan ini bertujuan untuk merancang desain badan kapal, sistem penggerak dan otomasi perangkat navigasinya agar dapat menyelesaikan misi lintasan speed test dan maneuver test pada KKCTBN 2014 pada kategori I Kapal Otomatis. Lintasan speed test ditunjjukkan oleh Gambar I.1 dan lintasan


(9)

maneuver test ditunjjukan oleh Gambar I.2. Pada gambar dapat kita lihat bagaimana posisi robot kapal bergerak dari garis start dan kembali pada garis

finish. Pada Gambar I.1 robot kapal akan bergerak dari garis start menuju

diletakkannya bola hitam dan hijau. Agar arah pergerakan robot kapal tetap bergerak mengarah pada posisi bola diletakkan maka diperlukan sensor kompas yang menjadi sudut acuan pergerakan robot kapal. Robot kapal akan bergerak menuju bola diletakkan, setelah sensor ultrasonik mendeteksi bola warna hijau (mode sensor ultrasonik) atau kamera mendeteksi bola warna hijau (mode kamera) maka kapal akan secara otomatis berbelok ke kanan sampai arah robot kapal menuju garis finish. Karena adanya perbedaan daya dorong pada motor penggerak yang dapat membuat robot kapal mengarah pada arah yang berbeda, maka digunakan pengontrol PID untuk mengontrol agar daya dorong kedua motor sama besar.


(10)

Gambar I. 2 Ilustrasi prinsip kerja robot kapal mode maneuver test.

Dalam menyelesaikan misi ini, ada tiga metode yang digunakan yaitu menggunakan sensor ultrasonik, kamera dan dead reckoning. Untuk mempermudah pengoperasian robot kapal ini maka dibuat program menu pada mikrokontroler untuk memilih mode dalam melakukan speed test dan

maneuver test yang ditampilkan layar lcd 4x16. Menu program yang dibuat

terdapat 4 menu utama yaitu:

1. speedtest

a. ultrasonik b. kamera

2. maneuvertest

a. ultrasonik b. kamera

3. remote

4. deadreckoning

a. record.

b. play. 1.2Rumusan Masalah

Berikut ini adalah beberapa rumusan masalah pada “Studi Komparasi


(11)

1. Bagaimana merancang sistem pengolahan citra untuk mendeteksi bola berwarna.

2. Bagaimana merancang pengendali PID agar kapal dapat bergerak lurus sesuai dengan sudut acuan.

3. Bagaimana merancang sistem agar robot kapal dapat bergerak secara otomatis maupun dikontrol oleh operator.

4. Bagaimana penggunaan sensor ultrasonik, kamera, dan kompas agar kapal mampu melakukan navigasi sendiri.

5. Bagaimana merancang sistem agar robot kapal dapat melakukan maneuver

test challenge dan speed test challenge dengan baik.

6. Sistem apa yang paling baik dalam melakukan maneuver test dan speed test

apakah menggunakan sensor ultrasonik, kamera atau dead reckoning. 1.3Maksud dan Tujuan

Dengan mempertimbangkan latar belakang desain kapal, maka tujuan dari kegiatan ini adalah merancang kapal dengan kemampuan sebagai berikut.

1. Memiliki sistem pengolahan citra untuk mendeteksi bola.

2. Terimplementasi pengendali PID agar kapal dapat bergerak lurus sesuai dengan sudut acuan yang diberikan.

3. Memiliki sensor kompas sebagai referensi sudut acuan kapal, sensor ultrasonik dan kamera untuk mengetahui apakah harus berbelok atau tidak dalam melakukan navigasi sendiri.

4. Kapal mampu melakukan maneuver test dan speed test dengan baik.

5. Dapat diketahui sistem yang paling baik pada kapal dalam melakukan

maneuver test dan speed test apakah menggunakan kamera, sensor ultrasonik

atau dead reckoning.

1.4Batasan Masalah

Batasan masalah pada penelitian tugas akhir ini adalah : 1. Area percobaan dilakukan pada kolam seluas 8x3 meter. 2. Bola yang akan dideteksi pada maneuver test hanya 3 bola.


(12)

4. Perangkat lunak sebagai antarmuka percobaan menggunakan labview 2012. 5. Sensor kompas tipe DT SENSE 3 AXIS sebagai referensi control PID. 6. Menggunakan remote control sebagai referensi dead reckoning.

7. Menggunakan satu buah Mikrokontroler Arduino Mega 2560. 8. Tidak ada ombak seperti halnya di pantai atau laut.

1.5Metode Penelitian

Tahapan penelitian tugas akhir ini adalah sebagai berikut: 1. Studi Literatur

Studi pustaka yang berkaitan dengan datasheet sensor, manual mikrokontroler dan perangkat lunak LabVIEW.

2. Pemilihan dan Pengadaan Komponen

Melakukan pengamatan dan memeriksa ketersediaan komponen dari segi biaya, dimensi, serta kinerja dari masing-masing komponen yang akan digunakan.

3. Pengujian Komponen

Pengujian secara terpisah untuk setiap komponen yang digunakan dalam pembuatan tugas akhir.

4. Desain Kapal dan Penempatan Komponen

Perancangan sistem kapal yang dapat memuat rangkaian catu daya, mikrokontroler, sensor-sensor, laptop, dan sistem transmisi.

5. Perancangan Software

Perancangan software mikrokontroler untuk pembacaan data sensor dan perancangan software untuk mengolah serta menampilkan data hasil pembacaan sensor.

6. Pengujian, Analisa, dan Evaluasi

a. Uji kapal apakah daya apungnya dapat menampung komponen elektronik, batere dan laptop.

b. Menguji kapal apakah dapat bergerak secara otomatis dan manual. 7. Pembuatan Laporan


(13)

1.6Sistematika Penulisan

Sistematika penulisan Tugas Akhir ini adalah sebagai berikut:

BAB I : PENDAHULUAN

Pada bab ini diuraikan tentang latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metode penelitian, dan sistematika penulisan.

BAB II : DASAR TEORI

Pada bab ini memaparkan dasar-dasar teori yang dijadikan referensi penyelesaian tugas akhir ini.

BAB III : PERANCANGAN

Pada bab ini menjelaskan blok diagram keseluruhan sistem yang dibuat, perancangan perangkat keras, dan perancangan perangkat lunak.

BAB IV : HASIL DAN PEMBAHASAN

Pada bab ini berisi berbagai hasil pengujian meliputi uji fungsional masing-masing perangkat, pengujian secara keseluruhan setelah semua komponen diintegrasikan, serta evaluasi dan analisa hasil.

BAB V : SIMPULAN DAN SARAN

Pada bab ini berisi kesimpulan dari hasil penelitian tugas akhir ini serta saran untuk pengembangannya.


(14)

7

Berdasarkan aliran datanya komunikasi data terbagi menjadi tiga kategori, yaitu:

1. Sistem Simplex.

Sistem simplex merupakan salah satu jenis komunikasi data yang mengirimkan pesan hanya dalam satu arah. Ilustrasi jenis komunikasi simplex tampak pada gambar di bawah ini:

Transmitter Receiver

Gambar II. 1 Komunikasi Simplex

2. Sistem Half Duplex.

Pada sistem Duplex pesan dapat dikirimkan dalam dua arah. Jenis komunikasi half duplex terjadi ketika data dapat mengalir dalam dua arah, namun hanya satu arah pada satu waktu. Ilustrasi jenis komunikasi half duplex tampak pada gambar dibawah ini:

TX RX

TX RX

Gambar II. 2 Komunikasi Half Duplex

3. Sistem Full Duplex.

Pada jenis komunikasi full duplex, komunikasi dapat terjadi dalam dua arah secara bersamaan, karena jalur pengiriman dan penerimaan data berbeda. Ilustrasi jenis komunikasi full duplex tampak pada gambar dibawah ini:


(15)

TX RX

RX TX

Gambar II. 3 Komunikasi full duplex

2.1.2 Media Transmisi

Media transmisi pada komunikasi data dapat dibagi: a. Media terpadu (guided media).

Merupakan media kasat mata yang mentransmisikan sekaligus memandu gelombang untuk menuju tujuan.

b. Media tak terpadu (unguided media).

Berfungsi mentransmisikan data tetapi tidak bertugas sekaligus

memandu gelombang untuk menuju pada tujuan.

2.2 Perangkat Keras

Berikut ini merupakan penjelasan dasar teori dan datasheet dari perangkat-perangkat yang digunakan.

2.2.1 Mikrokontroler Arduino Mega 2560

Arduino mega 2560 merupakan sebuah board mikrokontroler berbasis ATMega2560. Modul ini memiliki 54 digital input/output dmana 14 digunakan untuk PWMoutput dan 16 digunakan sebagai analog input, 4 port serial, 16 MHz osilator Kristal, koneksi USB, power jack, ICISPHeader, dan tombol reset. Memiliki flash memory sebesar 256KB sangat cukup untuk menampung program yang banyak.

Arduino mega 2560 tidak memerlukan flash program external karena di dalam chip mikrokontroler Arduino telah diisi dengan bootloader yang membuat proses upload program yang kita buat menjadi lebih sederhana dan cepat. Untuk koneksi dengan komputer sudah tersedia RS232 to TTL converter atau menggunakan chip USB ke serial converter seperti FTDI FT232.


(16)

Gambar II. 4 Arduino Mega 2560

2.2.2 Sensor Ultrasonik (PING)

Sensor jarak ultrasonik PING adalah sensor 40 KHz produksi parallax yang banyak digunakan untuk aplikasi atau kontes robot cerdas untuk mendeteksi jarak suatu objek.

Gambar II. 5 Sensor Ultrasonik.

Sensor ultrasonik jenis Devantech SRF04 ultrasonik mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik (40 KHz) selama t = 200 µs kemudian mendeteksi pantulannya. Sensor ultrasonik memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroller pengendali (pulsa trigger dengan tout min 2 µs).

Spesifikasi sensor ultrasonik Devantech SRF04: a. Kisaran pengukuran 3cm – 300cm.

b. Input trigger - positive TTL pulse, 2µS min., 5µS tipikal.

c. Echo hold off 750 uS dari fall of trigger pulse.

d. Delay before next measurement 200 µS.


(17)

2.2.3 USB Kamera Logitech C310

Kamera Logitech C310 adalah kamera yang digunakan pengguna untuk melakukan video chating dan pengambilan gambar di PC atau Laptop. Kamera ini memiliki resolusi yang cukup besar yaitu 5 Mpixel dan memiliki sensor cahaya, dimana ketika pengambilan video atau gambar dalam kondisi gelap lampu kamera akan secara otomatis menyala untuk memberikan pencahayaan tambahan.

Gambar II. 6 USB Kamera Logitech C310

2.2.4 DT-Sense 3 Axis Compass

Modul ini menggunakan magnetometer 3 axis, accelerometer 3 axis dan prosesor 16 bit. Kompas DT-Sense 3 Axis Compass dirancang untuk mengatasi kesalahan pengukuran yang diakibatkan oleh kemiringan PCB, maka sudut yang dihasilkan akan sama ketika kompas dalam posisi miring maupun datar.

DT-Sense 3 Axis Compass menghasilkan nilai keluaran 0-3599 mewakili 0-359,9 atau 0-255 dari x,y,z medan magnet dan juga pitch dan roll yang digunakan untuk menghitung perubahan sudut.


(18)

2.2.5 MotorBrushless

Brushless motor merupakan motor yang mempunyai permanen

magnet pada bagian "rotor" sedangkan elektron-magnet pada bagian "stator"-nya. Secara umum, kecepatan putaran brushless motor yang keluar dari ESC diatur oleh pulsa dari mikrokontroler, sehingga berbeda dengan

brushed. Berikut adalah gambaran fisik dari motor brushless.

Gambar II. 8 Brushless Motor

2.2.6 ESC(Electronic Speed Control)

Electronic Speed Control (ESC) adalah rangkaian elektronik yang

berfungsi sebagai pengatur kecepatan putaran motor pada pesawat, helicopter dan kapal dengan cara menterjemahkan sinyal yang diterima

receiver dari transmitter. Seperti halnya motor, ESC juga dibedakan dua

jenis, brushed ESC untuk brushed motor dan brushless ESC untuk brushless motor. Di pasaran terdapat berbagai merk ESC dengan kekuatan arus

(current rating) dan kekuatan voltase (voltage rating) serta feature yang

ditawarkan.


(19)

Untuk menentukan ESC yang akan digunakan sangatlah penting untuk mengetahui kekuatan (peak current) dari motor. Pilihlah ESC yang kekuatannya melebihi kekuatan motor. Misalnya, dari data kita dapatkan kekuatan motor adalah 12A (ampere) pada saat throttle terbuka penuh. sebaiknya ESC yang akan kita gunakan adalah ESC yang berkekuatan 18A atau 20A. Jika kita paksakan menggunakan ESC 10A kemungkinan pada saat throttle dibuka penuh, ESC akan panas bahkan terbakar. Pada perancangan robot kapal ini menggunakan menggunakan ESC 50A.

2.2.7 Proppeler

Proppeler merupakan suata alat gerak yang berbentuk baling-baling

dan digunakan untuk menggerakkan kapal. Baling-baling ini akan menghasilkan tenaga dengan mengkonversi gerakan rotasi menjadi daya dorong untuk menggerakkan kapal dengan perantara massa air dengan memutar bilah-bilah yang bersumbu pada poros. Bilah-bilah dari propeller

berperan sebagai sayap yang menghasilkan perbedaan antara permukaan depan dan belakang bilah.

Gambar II. 10 Proppeler.

2.2.8 Catu Daya

Baterai yang digunakan pada perancangan robotkapalini berjenis baterai lithium polymer (LiPo). Baterai ini dapat diisi ulang (rechargeable). Baterai yang digunakan memiliki tegangan 11,1Volt dan arus sebesar 3300 mAh dengan 3 cell di dalamnya. Cell merupakan teknologi konversi energi elektrokimia yang mampu mengubah senyawa hidrogen dan oksigen


(20)

menjadi air, dan dalam prosesnya menghasilkan listrik. Pemakaian baterai jenis ini harus dihentikan atau dilepas jika tegangan baterai turun mendekati batas tegangan 11,1Volt, sehingga harus diisi ulang agar melebihi tegangan 11,1Volt. Berikut ini adalah contoh sebuah baterai lithium polymer.

Gambar II. 11 LiPo 3300mAh.

Dalam pemilihan catu daya pada robot kapal yang dirancang faktor yang harus di perhatikan adalah sebagai berikut:

2. Tegangan

Setiap aktuator tidak memiliki tegangan yang sama. Hal ini akan berpengaruh terhadap desain catu daya. Tegangan tertinggi dari salah satu aktuator akan menentukan nilai tegangan catu daya.

3. Kapasitas baterai

Kapasitas baterai memiliki satuan Ampere hour (Ah). Semakin besar Ah, semakin lama daya tahan baterai bila digunakan pada beban yang sama.

4. Teknologi baterai

Terdapat baterai isi ulang yang hanya dapat diisi apabila benar-benar kosong, dan ada pula yang dapat diisi ulang kapan saja tanpa harus menunggu baterai tersebut benar-benar kosong.

2.3 Perangkat Lunak dan Aplikasi 2.3.1 LabView 2012

LabVIEW adalah aplikasi program development, yang mirip dengan sistem development C atau BASIC. LabVIEW menggunakan bahasa pemrograman grafik untuk membuat program dalam bentuk-bentuk diagram blok. LabVIEW yang dipakai adalah LabVIEW 2012. Program yang dibuat dengan LabVIEW disebut juga sebagai Virtual


(21)

1. Front Panel: digunakan untuk mengatur tampilan program(User

Interface) yang dibuat.

Gambar II. 12 Tampilan front panel LabVIEW 2012

2. Block Diagram: digunakan untuk menuliskan program.

Fungsi-fungsi di block diagram disusun dan dihubungkan agar bekerja sesuai dengan aksi yang dilakukan pada halaman Front Panel


(22)

2.3.2 IDE Arduino

Software arduino yang akan digunakan adalah driver dan IDE. IDE diciptakan untuk para pemula bahkan yang tidak memiliki basic bahasa pemrograman sama sekali karena menggunakan bahasa C++ yang telah dipermudah melalui library. IDE Arduino adalah software canggih yang ditulis dengan menggunakan bahasa Java.

Software IDE arduino terdiri dari 3 (tiga) bagian:

1. Editor program, untuk menulis dan mengedit program dalam bahasa processing. Listing program pada arduino disebut sketch.

2. Compiler, sebuah modul yang berfungsi mengubah bahasa

processing (kode program) menjadi kode biner karena kode biner

merupakan bahasa program yang dipahami oleh mikrokontroler.

3. Uploader, sebuah modul yang berfungsi memasukkan kode biner

kedalam memori mikrokontroler.

Struktur perintah pada arduino secara garis besar terdiri dari dua bagian yaitu void setup dan void loop. Void setup berisi perintah yang akan dieksekusi hanya satu kali sejak arduino dihidupkan sedangkan void

loop berisi perintah yang akan dieksekusi berulang-ulang selama arduino

dinyalakan.


(23)

16

memenuhi maksud dan tujuan penelitian tugas akhir yaitu studi komparasi navigasi robot kapal berbasis sensor ultrasonik, kamera dan dead reckoning. Berikut ini adalah diagram blok sistem secara keseluruhan:

Kamera2

Sensor Ping2

Remote Control Laptop

Mikrokontroler Arduino Mega

Radio frekuensi

Brushless1

Brushless2 Sensor Kompas

Kamera1

Sensor Ping1

ESC1

ESC2 LCD

Tombol 1-4

Gambar III. 1 Diagram blok sistem.

Penjelasan lengkap setiap blok di atas adalah sebagai berikut.

1. Kamera

Kamera yang digunakan dalam penelitian ini adalah jenis USB kamera Logitech C310, dimana kamera digunakan untuk melihat dan menangkap objek.

a. Kamera1 berada pada sisi kiri kapal untuk menangkap objek bola berwarna yang berada pada posisi sisi kiri kapal.


(24)

b. Kamera2 berada pada sisi kanan kapal untuk menangkap objek yang bola berwarna yang berada pada posisi kanan kapal.

2. Sensor Kompas

Kompas yang digunakan pada kapal adalah Dt-Sense 3 axis-compass di mana kompas berperan dalam pembacaan orientasi kapal sebagai referensi kendali PID agar kapal dapat bergerak lurus pada sudut tertentu, dan kembali ke tempat kapal mulai bergerak.

3. Sensor Ultrasonik

Sensorping ultrasonik yang digunakan pada penelitian ini adalah jenis

Devantech SRF04 UltrasonicRangeFinder sebagai referensi jarak terhadap

objek, di mana objek yang digunakan disini adalah bola berwarna.

a. Sensor ultrasonik1 berada pada sisi kiri kapal untuk mendeteksi objek di sebelah kiri kapal.

b. Sensor ultrasonik2 berada pada sisi kanan kapal untuk mendeteksi objek di sebelah kanan kapal.

4. Mikrokontroler

Mikrokontroler berfungsi untuk mengolah data sensor-sensor, Radio Frekuensi, menerima dan mengirimkan data dari/ke laptop serta mengontrol

ESC untuk mengatur kecepatan putaran motor brushless.

5. ESC

ESC (Electronic Speed Control) berfungsi untuk mengontrol putaran

motor Brushless.

6. Motor Brushless

Motor Brushless berfungsi untuk menggerakkan propeller, agar kapal dapat bergerak maju.

7. Push Button

Push button disini berperan untuk memilih apakah jenis mode yang

akan dijalankan oleh robot kapal. Pada robot kapal ini ada tiga jenis mode kapal yang digunakan yaitu mode speed test, maneuver test, dan remote control.


(25)

8. Liquid Crystal Display (LCD)

LCD digunakan untuk menampilkan informasi-informasi kapal yang dibutuhkan seperti derajat kompas aktual kapal dan settingan mode yang digunakan.

9. PC/Laptop

PC/ Laptop berisi aplikasi image processing dan dead reckoning yang berperan untuk menerima, menyimpan dan menampilkan data yang diolah oleh mikrokontroler.

Keseluruhan bahasan bab ini dibagi menjadi perancangan mekanik,

hardware dan software.

3.1 Rancangan Mekanik

Perancangan mekanik merupakan pembuatan sebuah bangun robot kapal yang mengikuti standard aturan KKCTBN 2013 dengan ketentuan:

 panjang maksimal kapal : 130 cm

 lebar maksimalkapal : 70 cm

 tinggi maksimal kapal : 90 cm

Kapal pada penelitian ini dibuat dengan mengikuti ketentuan yang sudah ditetapkan. Kapal ini dirancang agar mampu menampung membawa beban yang dimasukkan kedalam kapal dan pergerakan kapal tetap stabil. Ukuran kapal yang akan dibuat adalah sebagai berikut:

 panjang maksimal kapal : 97 cm

 lebar maksimalkapal : 49 cm

 tinggi maksimal kapal : 27 cm

Dengan ukuran ini robot kapal sudah dapat menampung komponen elektronik, baterai, dan laptop.


(26)

Gambar III. 2 Gambar robot kapal tampak atas

Gambar III. 3 Gambar robot kapal tampak samping

3.2 Rancangan Perangkat Keras 3.2.1 Sensor Kompas

Pada implementasi sistem PID dari robot kapal ini menggunakan Modul Dt-Sense 3 axis-compass sebagai referensi sudut acuan. Dt-Sense 3 axis-compass merupakan suatu modul sensor medan magnet yang menggunakan IC HMC5883L produksi Honeywell. IC HMC5883L merupakan chip yang didesain untuk membaca medan magnet yang cocok untuk aplikasi penunjuk arah dan magnetometry.


(27)

Tabel III. 1 Konfigurasi PIN DT-Sense 3 Axis compass

Pin DT-Sense

Pin Arduino Mega

1 -

2 -

3 4 5 6 7 8

- - SDA 20

SCL 21 GND Power 3.3 Volt

Spesifikasi dari sensor kompas dt-sense 3 axis adalah sebagai berikut: 1. Tegangan kerja 3,3V dan konsumsi arus rendah (hingga 100 µA).

2. Memiliki sensor magnetoresistive 3 sumbu.

3. Memiliki jangkauan pembacaan medan magnet sampai dengan ±8 Gauss dengan resolusi 5 milligaus.

4. Output rate maksimum sampai dengan 160 Hz (Single Measurement Mode). 5. Output rate 0,75 Hz sampai dengan 75 Hz (Continous measurement mode). 6. Antarmuka i²C.

3.2.2 Mikrokontroler

Mikrokontroler yang digunakan adalah mikrokontroler jenis Arduino Mega 2560. Mikrokontroler ini dapat bekerja dengan baik pada kondisi adanya goncangan. Skema penggunaan pin-pin input output pada mikrokontroler ditunjukkan pada Tabel III-2


(28)

Tabel III. 2 Konfigurasi penggunaan pin pada mikrokontroler Arduino Mega 2560

PIN Keterangan

D13 D12 D11 D10 D9 D8 D7 D6 D5 D20 D21 D22 D24 D26 D28 D30 D34 D36 D38 D40 D42

ESC kanan

ESC kiri Ping kanan Ping Kiri Ch1 Ch2 Ch3 Ch4 Ch5 SDA SCL DB7 DB6 DB5 DB4 E RS Push button1 Push button2 Push button3 Push button4

3.2.3 Skematik Rangkaian

Dalam pengerjaan robot kapal ini maka dibutuhkan beberapa komponen pendukung seperti Arduino Mega 2560, sensor ultrasonik, radio,

ESC, dan rangkaian regulator. Maka dibuatlah skematik rangkaian untuk mempermudah dalam perancangan yang ditunjukkan pada Gambar III-4.


(29)

Gambar III. 4 Gambar skematik rangkaian.

3.3 Rancangan Tampilan Menu Program

Untuk memudahkan dalam pengoperasian robot kapal ini maka dirancang program tampilan. Program tampilan yang telah dibuat akan diperlihatkan pada gambar berikut:


(30)

Gambar III. 6 Tampilan menu program lcd 4x16 pada robot kapal.

Pada Gambar III-5 ditunjukkan isi dari menu program, pada saat

pertama kali saklar pada posisi “ON” maka akan tampil salam pembuka

welcome” (no.2 Gambar III-5) kemudian apabila kita menekan push button

M maka akan masuk pada sub menu berikutnya, terlihat ada beberapa sub menu yaitu speed test, maneuver test, remote, dan dead reckoning (no.2 Gambar III-5). Jika kita hendak masuk pada mode speed test, ketika kursor berada pada tulisan speed test (no.3 Gambar III-5) kemudian kita tekan enter

maka akan masuk pada tampilan berikutnya yaitu tampilan mode pilihan menggunakan sensor ultrasonik atau kamera (no.7 dan 9 Gambar III-5). Bila kita memilih ultrasonik maka akan muncul tampilan terakhir yang ditunjjukkan pada no.8 Gambar III-5.


(31)

3.4 Rancangan Perangkat Lunak 3.4.1 Deteksi Objek

Objek yang ditangkap oleh kamera diproses menggunakan

software LabVIEW dengan alur sebagai berikut:

Gambar III. 7 Deteksi objek menggunakan LabVIEW 2012

Penjelasan lengkap setiap blok Gambar III-7 adalah:

1. USB kamera berfungsi untuk menangkap citra objek yang akan diproses. 2. Ukuran objek yang ditangkap oleh USB kamera akan diubah dengan

menggunakan resample sesuai dengan ukuran objek yang diinginkan.

3. Colour Treshold Hue Saturation Value (HSV) akan menyaring warna objek

yang sudah diproses resample. Ini dilakukan agar didapatkan warna objek yang diinginkan. Pada proses ini akan terjadi proses penghapusan beberapa pixel yang tidak sesuai dengan nilai warna yang diinginkan sebelumnya. 4. Fill Hole berfungsi untuk menutup lubang yang diakibatkan oleh proses

Colour Treshold HSV ini dilakukan agar warna tetap utuh.

5. Reject Border berfungsi untuk menghapus semua partikel yang masih


(32)

6. Remove Partical berfungsi untuk menghapus partikel-pertikel yang lebih kecil dari objek yang diinginkan sehingga hanya partikel yang diinginkan yang tersisa.

7. Partical Analisis berfungsi untuk menganalisis partikel yang tersisa apakah

sesuai dengan ukuran partikel yang sudah ditentukan sebelumnya. 3.4.2 Pengontrolan Proporsional Integral Derivative

Sistem kontrol merupakan proses pengendalian error dengan cara memasukkan error tersebut ke dalam input yang akan dibandingkan dengan sistem pengendalian. Tujuan dari PID untuk menghasilkan output atau keluaran yang sesuai dengan set point yang diberikan dengan cara mengurangi error tersebut. Pengontrolan PID menggunakan close loop atau umpan balik, yaitu program diolah pada mikrokontroler, lalu menjalankan aktuator setelah itu mengeluarkan output. Keluaran atau output akan dibandingkan dengan sensor agar dapat mencapai set point yang diinginkan.

Di bawah ini diperlihatkan gambar blok diagram pengontrol PID

dengan close loop.

Gambar III. 8 Pengontrolan PID dengan Close Loop. PID dapat juga digambarkan dengan persamaan

= �� + �� ∫ + � �……… ………..pers (1)

Dengan:


(33)

Keterangan:

u(t) : Out put dari pengontrol PID.

Kp : Gain proporsional.

Ti : Time integral.

Td : Time derivative.

Ki : Gain Integral

Kd : Gain derivative.

Pengontrol PID merupakan paduan dari Pengontrol Proporsional, Pengontrol Integral dan Pengontrol Derivatif. Cara kerja dari masing-masing pengontrol adalah sebagai berikut:

1. Pengontrol proporsional

Pengontrol proporsional memiliki keluaran yang sebanding/

proporsional dengan besarnya sinyal kesalahan.

ciri-ciri pengontrol proporsional:

a. Jika nilai Kp kecil, pengontrol proporsional hanya mampu melakukan koreksi kesalahan yang kecil, sehingga akan menghasilkan respon sistem yang lambat.

b. Jika nilai Kp dinaikkan, respon sistem akan semakin cepat mencapai keadaan mantapnya.

c. Jika nilai Kp diperbesar sehingga mencapai harga yang berlebihan, akan mengakibatkan sistem bekerja tidak stabil atau respon sistem akan berosilasi.

d. Nilai Kp dapat diatur sehingga mengurangi stady state error tetapi tidak menghilangkannya.

2. Pengontrol Integral berfungsi untuk menghilangkan stady state error.

Ciri-ciri dari pengontrol integral adalah sebagai berikut:

a. Keluaran pengontrol integral membutuhkan selang waktu tertentu, sehingga pengontrol integral cenderung memperlambat respon. b. Keluaran pengontrol bertahan pada nilai sebelumnya, ketika sinyal


(34)

c. Keluaran menunjukkan kenaikan atau penurunan yang dipengaruhi oleh besarnya sinyal kesalahan dan nilai Ki, jika sinyal kesalahan tidak berharga nol.

d. Ki yang berharga besar mempercepat hilangnya nilai offset. Tetapi semakin besar nilai Ki mengakibatkan peningkatan osilasi dari sinyal keluaran pengontrol.

3. Pengontrol derivative berfungsi untuk memperbaiki sekaligus mempercepat respon transient.

Ciri-ciri pengontrol derivative adalah sebagai berikut:

a. Pengontrol tidak dapat menghasilkan keluaran jika tidak ada perubahan pada input (berupa sinyal perubahan kesalahan).

b. Jika sinyal kesalahan berubah terhadap waktu, maka keluaran yang dihasilkan pengontrol tergantung pada nilai Kd dan laju perubahan sinyal kesalahan.

c. Pengontrol diferensial mempunyai suatu karakter untuk mendahului, sehingga pembangkit kesalahan menjadi sangat besar. Jadi pengontrol diferensial dapat mengantisipasi pembangkit kesalahan, memberikan aksi yang bersifat korektif dan cenderung meningkatkan stabilitas sistem.

d. Dengan meningkatkan nilai Kd, dapat meningkatkan stabilitas sistem dan mengurangi overshoot.


(35)

3.5 Rancangan Pengontrolan

Berikut ini adalah diagram alir secara keseluruhan program yang ditanam pada arduino mega 2560.

Mulai

Inisialisasi menu,remote,dead reckoning,kompas,P ID,kamera,sensor

ultrasonik

menu_program

stat<100 ? Y

initsetpoint_finish initmotor

T

A


(36)

stat=111 ? T stat=112 ? T

stat_remote>0 ? Y remote

hasil_pid maju jarak tampil_kompas tampil_ultrasonik

tampil_motor T

bolaultrasonik_kanan > 0 &&

setpoint != finish ? T

i=1 to 400 Y

belokkanan cek_remote

Y

stat_remote>0 ?

T cek_remote

Y

hasil_pid maju tampil_kompas

tampil_motor ambildata

pulsa_kiri > 0 && setpoint != finish ?

i=1 to 400 Y

belokkanan

B

Y

T

Setpoint=finish Setpoint=finish

D

A


(37)

B

stat=211 ?

cek_remote

stat_remote>0 ? remote Y Y hasil_pid maju jarak tampil_kompas tampil_ultrasonik tampil_motor T H T C

i=1 to 100

Setpoint=setpoint1 Ultrasonikkanan <=80 && Bola_kiri==0 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=1 Bola_kanan=1

i=1 to 100

Setpoint=setpoint2 Ultrasonikkiri <=80 && Bola_kanan==1 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=2 Bola_kanan=2 T

i=1 to 100

Setpoint=setpoint3 Ultrasonikkanan <=80 && Bola_kanan==2 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=3 Bola_kanan=3 T H

i=1 to 100

Setpoint=setpoint3 Ultrasonikkanan <=80 && Bola_kanan==3 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=4 Bola_kanan=4 T H


(38)

C

stat=222 ?

cek_remote

stat_remote>0 ? remote Y Y hasil_pid maju jarak tampil_kompas tampil_Kamera tampil_motor T I T

i=1 to 100

Setpoint=setpoint1 pulsakanan >0 && Bola_kiri==0 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=1 Bola_kanan=1

i=1 to 100

Setpoint=setpoint2 pulsakiri >0 && Bola_kanan==1 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=2 Bola_kanan=2 T

i=1 to 100

Setpoint=setpoint3 Pulsakanan>0 && Bola_kanan==2 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=3 Bola_kanan=3 T I

i=1 to 100

Setpoint=setpoint3 pulsakiri >0 && Bola_kanan==3 ? Y hasil_pid maju jarak Setpoint=setpointawal Bola_kiri=3 Bola_kanan=3 T I stat=311 ? Y stat=411 ? Cek_remote Y

stat_remote>0 ? remote

ambildata motorkiri=pulsa_kiri motorkanan=pulsa_kanan maju T Y T D T stat=411 ? remote Tampil motorkiri Tampil motorkanan T


(39)

Prosedur menu_prog

menu = digitalRead(menubutton) enter = digitalRead(enterbutton) up = digitalRead(upbutton) down = digitalRead(downbutton)

Stat==0 && Menu==low ? Stat=1? Stat=1 Enter=low? Up=low Down=low Menu=low Stat=11 Stat=4 Stat=2 Stat=0 Y T Y Y Y T T T Stat=2? Enter=low? Up=low Down=low Menu=low Stat=21 Stat=1 Stat=3 Stat=0 Y T Y Y Y T T T Stat=3? Enter=low? Up=low Down=low Menu=low Stat=31 Stat=2 Stat=4 Stat=0 Y T Y Y Y T T T Stat=4? Enter=low? Up=low Down=low Menu=low Stat=41 Stat=3 Stat=1 Stat=0 Y Y T Y Y Y T T T Stat=11? Enter=low? Up=low Down=low Menu=low Stat=111 Stat=12 Stat=12 Stat=1 Y T Y Y Y T T T T Stat=12? Enter=low? Up=low Down=low Menu=low Stat=112 Stat=11 Stat=11 Stat=1 Y T Y Y Y T T T T Y Y M1 M2 Lcd1=menu5a Lcd2=menu6 Lcd3=menu9 Lcd4=menu9 Lcd1=menu1 Lcd2=menu2 Lcd3=menu3 Lcd4=menu4a Lcd1=menu1 Lcd2=menu3 Lcd3=menu2a Lcd4=menu4 Lcd1=menu0 Lcd2=menu9 Lcd3=menu9 Lcd4=menu9 M4 Lcd1=menu5a Lcd2=menu6 Lcd3=menu9 Lcd4=menu9 Lcd1=menu0 Lcd2=menu9 Lcd3=menu9 Lcd4=menu9 Lcd1=menu1 Lcd2=menu3a Lcd3=menu2 Lcd4=menu4 Lcd1=menu1a Lcd2=menu3 Lcd3=menu2 Lcd4=menu4 M M M Lcd1=menu3 Lcd2=menu8a Lcd3=menu9 Lcd4=menu9 Lcd1=menu0 Lcd2=menu9 Lcd3=menu9 Lcd4=menu9 Lcd1=menu1 Lcd2=menu3 Lcd3=menu2 Lcd4=menu4a Lcd1=menu1 Lcd2=menu3 Lcd3=menu2a Lcd4=menu4 M M1 Lcd1=menu7a Lcd2=menu8 Lcd3=menu9 Lcd4=menu9 Lcd1=menu1 Lcd2=menu2 Lcd3=menu3a Lcd4=menu4 Lcd1=menu1a Lcd2=menu3 Lcd3=menu2 Lcd4=menu4 Lcd1=menu0 Lcd2=menu9 Lcd3=menu9 Lcd4=menu9 M Lcd1=menu5 Lcd2=menu6a Lcd3=menu9 Lcd4=menu9 Lcd1=menu1 Lcd2=menu3 Lcd3=menu2a Lcd4=menu4 Lcd1=menu1a Lcd2=menu2 Lcd3=menu3 Lcd4=menu4 M Lcd1=menu1 Lcd2=menu3 Lcd3=menu2a Lcd4=menu4 Lcd1=menu1a Lcd2=menu2 Lcd3=menu3 Lcd4=menu4 M Lcd1=menu5 Lcd2=menu6a Lcd3=menu9 Lcd4=menu9

Y Y Y

Stat=0 Lcd1=menu3 Lcd2=menu8a Lcd3=menu9 Lcd4=menu9 M


(40)

Stat=21? Enter=low? Up=low Down=low Menu=low Stat=211 Stat=22 Stat=22 Stat=2 Y T Y Y Y T T T Stat=22? Enter=low? Up=low Down=low Menu=low Stat=222 Stat=21 Stat=21 Stat=2 Y T Y Y Y T T T T Stat=31? Enter=low? Menu=low Stat=311 Stat=2 Y T Y T Stat=41? Enter=low? Up=low Down=low Menu=low Stat=411 Stat=42 Stat=42 Stat=4 Y Y T Y Y Y T T T Stat=42? Enter=low? Up=low Down=low Menu=low Stat=412 Stat=41 Stat=41 Stat=4 Y T Y Y Y T T T T Y M3 M3 M2 T Lcd1=menu1 Lcd2=menu3 Lcd3=menu2a Lcd4=menu4 Lcd1=menu1a Lcd2=menu2 Lcd3=menu3 Lcd4=menu4 Lcd1=menu5 Lcd2=menu6a Lcd3=menu9 Lcd4=menu9 M4 Lcd1=menu1 Lcd2=menu3 Lcd3=menu2a Lcd4=menu4 Lcd1=menu1a Lcd2=menu2 Lcd3=menu3 Lcd4=menu4 Lcd1=menu5 Lcd2=menu6a Lcd3=menu9 Lcd4=menu9 M4 Lcd1=menu1a Lcd2=menu2 Lcd3=menu3 Lcd4=menu4 M4 T

Y Y Y

Y Y Lcd1=menu7 Lcd2=menu8a Lcd3=menu9 Lcd4=menu9 Lcd1=menu1 Lcd2=menu2 Lcd3=menu3 Lcd4=menu4a Lcd1=menu7 Lcd2=menu8a Lcd3=menu9 Lcd4=menu9 M4 Lcd1=menu7a Lcd2=menu8 Lcd3=menu9 Lcd4=menu9 Lcd1=menu1 Lcd2=menu2 Lcd3=menu3 Lcd4=menu4a Lcd1=menu7a Lcd2=menu8 Lcd3=menu9 Lcd4=menu9 M4


(41)

Mulai Prosedur Ambil data

Tunggu data serial

inChar=data serial

Digit=inChar? T

inString=Instring+In Char

Y

InChar=a?

Pulsa kiri=nilai integer

Rubah nilai data string menjadi

integer Y

data string clear

InChar=b?

Pulsa kiri=nilai integer Rubah nilai data

string menjadi integer

Y

data string clear T

Return T

Gambar III. 15 Diagram alir prosedur ambil data

Mulai prosedur Jarak_ultrasonik

ultrasonikkanan = ultrasonik(ultrasonikPin2) ultrasonikkiri = ultrasonik(ultrasonikPin1)

Ultrasonikkanan<=11 0

bolaultrasonik_kanan++ Y

return


(42)

Mulai prosedur remote

PPM_satu HIGH PPM_tiga_HIGH

PPM_tiga>PPM_normal+PPM_kalibrasi

motorkiri=PPM_satu+((PPM_tiga-PPM_normal)/sensitifitas) motorkanan=PPM_satu-((PPM_tiga-PPM_normal)/sensitifitas)

Y

PPM_tiga>PPM_normal+PPM_kalibrasi

motorkanan=PPM_satu+((PPM_normal-PPM_tiga)/sensitifitas) motorkiri=PPM_satu-((PPM_normal-PPM_tiga)/sensitifitas)

Y

motorkanan=PPM_satu motorkiri=PPM_satu T

T

Pin 12,HIGH

Tunda = motorkiri

Pin 12,LOW

Pin 13,HIGH

Tunda = motorkanan

Pin 13,LOW

return


(43)

Mulai Prosedur PID

Kompas

Error=arah_kompas - setpoint + 360

Error>=360 ?

Y

Error=error-360 T

Error>=180 ? T

Y

Error_P=error

errorI=error_I+previ ous_I

Error_D=error-previous_error

output_PID = (Kp*error_P) + (Ki*error_I) + (Kd*error_D)

output_PID = (Kp*error_P) + (Ki*error_I) + (Kd*error_D)

previous_I = error_I

previous_error = error

keckiri = (pulsa_awal_motor - output_PID)

keckanan = (pulsa_awal_motor + output_PID)

return a

a


(44)

Mulai prosedur maju

Pin 12,HIGH

Tunda = keckiri

Pin 12,LOW

Pin 13,HIGH

Tunda = keckanan

Pin 13,LOW

Return

Mulai prosedur Belok kanan

Pin 12,HIGH

Tunda = 1500

Pin 12,LOW

Pin 13,HIGH

Tunda = 1000

Pin 13,LOW

Return

Mulai prosedur motor

Pin 12,HIGH

Tunda = pulsa

Pin 12,LOW

Pin 13,HIGH

Tunda = pulsa

Pin 13,LOW

Return


(45)

Mulai prosedur Inisialisasi set point

& finish

Kompas

Set point=arah_kompas

Set point<180

finish=(setpoin+180) finish=(setpoint-180)

Y T

Return

Gambar III. 20 Diagram alir prosedur set point dan finish

Mulai prosedur Inisialisasi motor

i=0 to 350

Pulsa=1000

Motor

Return


(46)

Mulai prosedur Kompas

Baca scala axis magnetometer

MilliGauss_OnThe_XAxis = scaled.XAxis

heading = atan2(scaled.YAxis, scaled.XAxis)

heading +=0.0457

Heading<0 ?

heading += 2*PI

Heading >2*PI ?

heading -= 2*PI

arah_kompas= heading * 180/M_PI

Return Y T

T

Y


(47)

40 beserta analisanya, antara lain:

4.1 Pengujian Sensor Ultrasonik

Prinsip kerja sebuah modul sensor ultrasonik yaitu mendeteksi objek dengan cara mengirimkan gelombang ultrasonik dan kemudian menerima pantulan gelombang tersebut. Sensor ultrasonik hanya akan mengirimkan gelombang ultrasonik ketika ada pulsa trigger dari mikrokontroler (pulsa high selama 5µS). Gelombang ultrasonik dengan frekuensi 40 KHz akan dipancarkan selama 200µS. Gelombang ini akan merambat di udara dengan kecepatan 344,424m/detik (1 cm setiap 29,034µS) mengenai objek untuk kemudian terpantul kembali ke sensor ultrasonik.

Berikut ini merupakan data hasil uji modul sensor ultrasonik dengan menggunakan alat ukur penggaris.

Tabel IV. 1 Hasil Sensor ultrasonik

Jarak (cm) ping 1 (cm) ping 2 (cm) Jarak (cm) ping 1 (cm) ping 2 (cm) Jarak (cm) ping 1 (cm) ping 2 (cm)

1 2 2 80 80 80 195 194 194

2 2 2 85 85 85 200 199 199

3 3 3 90 90 90 205 204 204

4 4 4 95 95 95 210 209 209

5 5 5 100 99 99 215 214 214

6 6 6 105 104 104 220 219 219

7 7 7 110 109 109 225 224 224

8 8 8 115 114 114 230 229 229

9 9 9 120 119 119 235 234 234

10 10 10 125 124 124 240 239 239

15 15 15 130 129 129 245 244 244

20 20 20 135 134 134 250 249 249

25 25 25 140 139 139 255 254 254

30 30 30 145 144 144 260 259 259


(48)

40 40 40 155 154 154 270 270 270

45 45 45 160 160 160 275 275 275

50 50 50 165 165 165 280 280 280

55 55 55 170 170 170 285 285 285

60 59 59 175 175 175 290 290 290

65 66 66 180 180 180 295 295 295

70 70 70 185 185 185 300 301 301

75 76 76 190 190 190

Berdasarkan hasil peng ujian diatas dapat dilihat perubahan nilai pengukuran yang didapat menggunakan sensor ultrasonik terdapat perubahan nilai pada jarak 100 cm. Nilai yang didapat dari hasil pengukuran sensor ultrasonik adalah 99 cm.


(49)

Gambar IV. 2 Pengujian sensor ultrasonik pada jarak 60 cm

4.2 Pengujian Kamera

Robot kapal ini dirancang agar dapat melakukan manuver dengan baik dan menghindari halangan pada jalur yang telah ditetapkan. Oleh karena itu, kapal harus dapat mendeteksi objek, warna, dan jarak objek terhadap kapal. Untuk memenuhi hal tersebut diatas, maka diperlukan kamera. Untuk mengenali warna dan pola dari sebuah objek maka diperlukan pengolahan citra. Pada penelitian ini, pengolahan citra berbasis LabVIEW 2012. Pada Gambar IV.2 ditamplikan front panel dari pengolahan citra berbasis LabVIEW 2012. Sedangkan pada Gambar IV.3 merupakan block diagram

pemrograman LabVIEW yang berisi instruksi pengenalan pola dan warna bola merah, kuning dan hijau.


(50)

Gambar IV. 3 Front panel software pengenalan pola berbasis LabVIEW.


(51)

Gambar IV. 5 Deteksi dua bola warna hijau.


(52)

Gambar IV. 7 Deteksi dua bola warna kuning

Gambar IV. 8 Deteksi satu bola warna hitam

Pengujian dilakukan dengan cara meletakkan objek di depan kamera dan diuji pada intensitas pencahayaan yang berbeda yaitu saat pagi, siang, dan


(53)

sore, serta saat lampu mati atau menyala. Hasil dari pengujian software ini akan ditampilkan pada tabel berikut ini.

Tabel IV. 2 Hasil pengujian software pengenalan pola dan warna LabVIEW 2012

Pencahayaan Jumlah

pengambilan gambar

Keberhasilan mendeteksi

bola

Persentasi keberhasilan

Pagi hari, lampu mati 20 19 95%

Siang hari, lampu mati 20 19 95%

Sore hari, lampu mati 20 18 90%

Sore hari, lampu menyala 20 19 95%

Malam hari lampu menyala 20 19 95%

Total 100 94 94%

Dari hasil pengujian dengan pencahayaan yang berbeda diperoleh tingkat keberhasilan 94%. Ini disebabkan karena pengaturan nilai Hue

Saturation Value (HSV) kurang akurat, maka diperlukan pengaturan nilai

HSV yang sesuai agar hasilnya bagus. 4.3 Pengujian Dead Reckoning

Untuk speed test challenge dan maneuver test challenge

menggunakan metode dead reckoning tidak berhasil dilakukan. Ini disebabkan oleh data yang direkam oleh software LabVIEW 2012 tidak sesuai dengan data yang dikirim oleh mikrokontroler.


(54)

Gambar IV. 10 Front panel software dead reckoning mode play Tabel IV. 3 Tabel hasil data diterima software dead reckoning

Pulsa diterima Pulsa diterima Pulsa diterima Pulsa diterima 1173 1173

1171 1171 1170 1170 1170 1170 1171 1171 1173 1173 1173 1173 1173 1173 1171 1171 1171 1171 1171 1171 1171 1171 1166 1166 1166 1166 1166 1166 1166 1166 1166 1166 1173 1173 1171 1171 1171 1171 1173 1173 1171 1171 1171 1171 1171 1171 1171 1171 1171 1171 1173 1173

1171 1171 1173 1173 1171 1171 1171 1171 1173 1173 1173 1173 1173 1173 1166 1166 1166 1166 1166 1166 1173 1173 1173 1173 1173 1173 1173 1173 1173 1173 1173 1173 1171 1171 1173 1173 1173 1173 1171 1171 1173 1173 1171 1171 1173 1173 1173 1173 1173 1173 1173 1173 1173 1173

1165 1165 1165 1165 1166 1166 1173 1173 1173 1173 1173 1173 1171 1171 1171 1171 1173 1173 1173 1173 1173 1173 1171 1171 1171 1171 1171 1171 1171 1171 1173 1173 1173 1173 1173 1173 1173 1173 1173 1173 1171 1171 1166 1166 1166 1166 1166 1166 1170 1170 1170 1170 1171 1171

1171 1171 1171 1171 1171 1171 1171 1171 1171 1171 1171 1171 1173 1173 1166 1166


(55)

4.4 SpeedtestChallenge

Untuk speed test challenge menggunakan sensor ultrasonik, kamera,

dan dead reckoning kapal diarahkan lurus pada posisi bola diletakkan. Set

point dan finish kendali PID robot kapal mengacu pada data orientasi kompas

dan akan diinisialisasi pada saat kapal dihidupkan. Kapal akan bergerak lurus mengikuti set point, pada saat nilai sensor ultrasonik lebih kecil dari 100 pada mode ultrasonik atau nilai bola lebih besar atau sama dengan 1 pada mode kamera, kapal akan berbelok 180 derajat dari set point yang diberikan hingga posisi kapal mengarah pada garis finish kemudian nilai set point akan berubah menjadi nilai finish. Pada gambar dibawah ini ditunjukkan beberapa hasil percobaan speed test robot kapal.


(56)

Setelah dilakukan 20 percobaan dengan menggunakan sensor ultrasonik dan kamera didapat hasil percobaan seperti ditunjukkan pada tabel dibawah ini:

Tabel IV. 4 Percobaan speed test challenge

No. Pulsa Motor Set point Arah Kompas Error Keterangan

01 1280 74 76 2

02 1280 74 72 2

03 1280 74 75 1

04 1280 74 73 1

05 1280 74 77 3

06 1280 74 72 2

07 1280 74 73 1

08 1280 74 73 1

09 1280 74 75 1

10 1280 74 75 1

11 1280 74 76 2

12 1280 74 76 2

13 1280 74 73 1

14 1280 74 73 1

15 1280 74 76 2

16 1280 74 73 1

17 1280 74 75 1

18 1280 74 73 1

19 1280 74 75 1

20 1280 74 75 1

Rata-rata 1280 74 74,3 1,4 Berhasil

Dari Tabel IV.4 dapat dilihat bahwa rata-rata error 1,4 maka dapat disimpulkan error masih sangat kecil. Keadaan ini didapat dengan memberikan pulsa terhadap motor brushless sebesar 1280. Dengan tingkat

error yang relatif kecil maka dapat disimpulkan PID yang ditanam pada

mikrokontroler berhasil mengendalikan pergerakan robot kapal agar dapat bergerak lurus mengikuti setpoint yang sudah ditentukan pada speed test


(57)

Untuk waktu tempuh robot kapal telah dilakukan percobaan dengan mengubah-ubah pulsa pada motor dengan ditunjukkan pada Tabel IV.5 dan IV.6 di bawah ini.

Tabel IV. 5 Percobaan waktu tempuh speed test challenge robot kapal menggunakan sensor ultrasonik

No. Pulsa Banyak

percobaan

Waktu rata-rata tempuh

Keterangan Gagal Berhasil

01 1260 20 - 20 -

02 1280 20 18,2 detik - 20

03 1300 20 16,5 detik - 20

04 1340 20 14,2 detik - 20

05 1380 20 13,5 detik - 20

06 1400 20 12,2 detik - 20

07 1440 20 - 20 -

Tabel IV. 6 Percobaan waktu tempuh speed test challenge robot kapal menggunakan kamera

No. Pulsa Banyak

percobaan

Waktu rata-rata tempuh

Keterangan Gagal Berhasil

01 1260 20 - 20 -

02 1280 20 18,6 detik - 20

03 1300 20 16,9 detik - 20

04 1340 20 14,7 detik - 20

05 1380 20 13,9 detik - 20

06 1400 20 12,5 detik - 20

07 1440 20 - 20 -

Dari Tabel IV-5 dan Tabel IV-6 ditunjjukkan bahwa pada pulsa 1260 gagal, ini disebabkan oleh motor brushless yang bekerja pada pulsa minimal 1280, pada pulsa sebesar 1440 ditunjukkan robot kapal gagal melakukan

speed test karena motor brushless berputar sangat kencang sehingga

membuat robot kapal sangat sulit untuk dikendalikan, maka dapat disimpulkan bahwa robot kapal dapat melakukan speed test challenge dengan normal dan berhasil pada pulsa antara 1280-1400.


(58)

4.5 ManeuverTestChallenge

Maneuver test challenge prinsip kerjanya sama dengan speed test

challenge dimana menggunakan sensor ultrasonik, kamera, dan dead

reckoning. Sebelum robot kapal melakukan maneuver test challenge langkah

pertama yang harus dilakukan adalah robot kapal diarahkan tegak lurus dengan posisi dimana bola ditempatkan, sehingga kompas akan mendapatkan

set point awal dan set point finish yang menjadi referensi kendali PID robot

kapal. Kapal akan bergerak lurus mengikuti set point yang sudah didapat pada saat awal program dijalankan, jika mode yang dipilih adalah mode ultrasonik maka pada saat nilai sensor ultrasonik kanan lebih kecil dari 80 cm maka kapal akan bergerak 45º mengarah kekanan dari setpoint selama iterasi 1-110 kemudian bergerak kembali sesuai dengan setpoint sampai sensor ultrasonik kiri mendeteksi bola. Setelah nilai sensor ultrasonik kiri lebih kecil dari 80 cm maka kapal akan bergerak 45º kekiri dari setpoint selama 1 iterasi 1-110 dan akan kembali bergerak sesuai dengan setpoint awal. Apabila sudah terdeteksi bola terakhir dengan posisi robot kapal mengarah set point, maka kapal akan berbelok 180º dari setpoint dan kemudian nilai setpoint menjadi nilai finish kemudian akan dilanjutkan pada deteksi bola yang berikutnya sampai bola terakhir dengan posisi robot kapal mengarah finish.

Tabel IV. 7 Percobaan waktu tempuh maneuver test challenge robot kapal menggunakan sensor ultrasonik

No. Pulsa Banyak percobaan

Waktu rata-rata tempuh

Keterangan Persentasi keberhasilan Gagal Berhasil

01 1260 20 - - - 0%

02 1280 20 26 detik 3 17 85%

03 1300 20 24 detik 6 14 70%

04 1340 20 - 20 - 0%

05 1380 20 - 20 - 0%

06 1400 20 - 20 - 0%


(59)

Tabel IV. 8 Percobaan waktu tempuh maneuver test challenge robot kapal menggunakan kamera

No. Pulsa Banyak percobaan

Waktu rata-rata tempuh

Keterangan Persentasi keberhasilan Gagal Berhasil

01 1260 20 - - - 0%

02 1280 20 26 detik 4 16 80%

03 1300 20 24 detik 9 11 55%

04 1340 20 - 20 - 0%

05 1380 20 - 20 - 0%

06 1400 20 - 20 - 0%

07 1440 20 - 20 - 0%

Pada Gambar IV.12 ini ditunjukkan robot kapal sedang melakukan

maneuver test challenge dari robot kapal mulai bergerak sampai pada finish.

Seperti sudah dijelaskan pada paragraf sebelumnya, terlihat ada 3 bola berwarna hijau. Pada saat kamera kanan mendeteksi bola pertama, robot kapal akan bergerak mengarah 45º ke kanan dari sudut set point awal yang sudah ditentukan selama iterasi 1-110 kemudian akan kembali bergerak lurus mengikuti set point awal hingga kamera kiri mendeteksi bola kedua, setelah terdeteksi bola kedua maka robot kapal akan bergerak mengarah 45º kekiri kemudian kembali bergerak lurus mengikuti set point awal hingga kamera kanan mendeteksi bola terakhir. Setelah bola terakhir terdeteksi maka robot kapal akan berbelok 180º dari set point ketika robot kapal sudah mengarah

finish kemudian bergerak 45º kekanan dari sudut finish selama iterasi 1-110

kemudian akan bergerak lurus sampai bola berikutnya terdeteksi. Langkah berikutnya sama halnya dengan langkah awal pada saat kamera kiri sudah mendeteksi bola kedua sampai robot kapal melewati bola terakhir.


(60)

(61)

54

1. Sistem pengolahan citra telah berhasil dilakukan dengan persentasi keberhasilan dengan rata-rata 94 %. Rata-rata persentasi ini didapat dari pengujian dengan pencahayaan pada pagi hari kondisi lampu mati tingkat keberhasilan 95 %, siang hari kondisi lampu mati tingkat keberhasilan 95 %, sore hari kondisi lampu mati tingkat keberhasilan 90 %, sore hari kondisi lampu menyala tingkat keberhasilan 95 % dan malam hari kondisi lampu menyala tingkat keberhasilan 95 % (Tabel IV.2).

2. Dengan menggunakan pengontrol PID, kapal dapat bergerak lurus mengikuti set point dengan rata-rata error 1,4 dengan besar pulsa 1280 (Tabel IV.4).

3. Berdasarkan hasil pengujian, sensor kompas HMC5883L dapat digunakan sebagai referensi sudut acuan kapal, sensor ultrasonik dengan akurasi pengukuran ±1 cm dan kamera dapat digunakan sebagai acuan untuk pergerakan kapal apakah harus berbelok ke kiri atau ke kanan dalam melakukan navigasi sendiri.

4. Robot kapal mampu melakukan speed test dengan tingkat keberhasilan 100 % pada pulsa 1280 sampai 1400 (Tabel IV.5 dan Tabel IV.6) dan pada pulsa 1260 kapal gagal melakukan speed test karena pulsa minimal yang diterima motor brushless agar dapat bergerak sebesar 1280 sedangkan pada pulsa 1400 robot kapal gagal melakukan speed test karena pulsa terlalu besar sehingga robot kapal susah untuk dikendalikan. Pada maneuvertest challenge tingkat keberhasilannya dengan rata-rata 85 % pada pulsa 1280 dan 70 % pada pulsa 1300, sedangkan untuk pulsa antara 1301-1400 robot kapal sudah sulit untuk melakukan maneuver test


(62)

5. Sistem yang paling baik pada robot kapal dalam melakukan speed test

challenge dalam penelitian ini adalah dengan menggunakan sensor

ultrasonik dan kamera dengan rata-rata tingkat keberhasilan 100 % pada pulsa antara 1280-1400 dan maneuver test challenge menggunakan sensor ultrasonik dengan tingkat keberhasilan 85 % pada pulsa 1280 dan 70 % pada pulsa 1300 sedangkan menggunakan kamera tingkat keberhasilannya 80 % pada pulsa 1280 dan 55 % pada pulsa 1300. Pada pulsa 1301-1400 robot kapal gagal dalam melakukan maneuvertest . 5.2 Saran

Adapun saran bagi pengembang tugas akhir ini adalah sebagai berikut: 1. Menggunakan Global Positioning System (GPS) sebagai referensi

pergerakan robot kapal agar arah dan posisi pergerakan kapal tepat pada posisi yang diinginkan.

2. Menggunkan mikrokontroler yang mendukung mission planner untuk memudahkan pengendalian pergerakan kapal.


(63)

DAFTAR PUSTAKA

[1] Arvind Antonio de Menezes Pereira. Navigation and Guidance of an Autonomous Surface Vehicle.Thesis, University of Southern California, May 2007.

[2] Fadlisyah, 2007. Computer Vision dan Pengolahan Citra, Andi, Yogyakarta [3] Hermawan Astuti Fajar. 2013, Pengolahan Citra Digital, Andi, Yogyakarta [4] Kadir, Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan

Pemrogramannya menggunakan Arduino. Andi Ofset.

[5] National Instruments, NI-IMAQ for USB Cameras User Guide, Januari 2005 [6] National Instruments, NI Vision for LabVIEW User Manual, November 2005 [7] Parekh, Kayton B.A Computer Vision Application to Accurately Estimate Project

Distance 2010 Honors Projects, Paper 18.

http://digitalcommons.macalester.edu/mathcs_honors/18

[8] Pickem, Daniel, dkk.Captain Handsight: An Autonomous Surface Vessel. Journal Paper, Georgia Institute Technology, Atlanta, 2011

[9] Syukri Gazali Suatkab. Implementasi Inertial Navigation System Pada Muatan Roket Untuk Perhitungan Trajektori Roket. Laporan Penelitian. Fakultas Teknik dan Ilmu Komputer. Universitas Indonesia, 2013.


(64)

(65)

(1)

(2)

54 BAB V

SIMPULAN DAN SARAN 5.1 Simpulan

Berikut ini merupakan kesimpulan dari hasil penelitian tugas akhir.

1. Sistem pengolahan citra telah berhasil dilakukan dengan persentasi keberhasilan dengan rata-rata 94 %. Rata-rata persentasi ini didapat dari pengujian dengan pencahayaan pada pagi hari kondisi lampu mati tingkat keberhasilan 95 %, siang hari kondisi lampu mati tingkat keberhasilan 95 %, sore hari kondisi lampu mati tingkat keberhasilan 90 %, sore hari kondisi lampu menyala tingkat keberhasilan 95 % dan malam hari kondisi lampu menyala tingkat keberhasilan 95 % (Tabel IV.2).

2. Dengan menggunakan pengontrol PID, kapal dapat bergerak lurus mengikuti set point dengan rata-rata error 1,4 dengan besar pulsa 1280 (Tabel IV.4).

3. Berdasarkan hasil pengujian, sensor kompas HMC5883L dapat digunakan sebagai referensi sudut acuan kapal, sensor ultrasonik dengan akurasi pengukuran ±1 cm dan kamera dapat digunakan sebagai acuan untuk pergerakan kapal apakah harus berbelok ke kiri atau ke kanan dalam melakukan navigasi sendiri.

4. Robot kapal mampu melakukan speed test dengan tingkat keberhasilan 100 % pada pulsa 1280 sampai 1400 (Tabel IV.5 dan Tabel IV.6) dan pada pulsa 1260 kapal gagal melakukan speed test karena pulsa minimal yang diterima motor brushless agar dapat bergerak sebesar 1280 sedangkan pada pulsa 1400 robot kapal gagal melakukan speed test karena pulsa terlalu besar sehingga robot kapal susah untuk dikendalikan. Pada maneuvertest challenge tingkat keberhasilannya dengan rata-rata 85 % pada pulsa 1280 dan 70 % pada pulsa 1300, sedangkan untuk pulsa antara 1301-1400 robot kapal sudah sulit untuk melakukan maneuver test karena laju robot kapal terlalu cepat (Tabel IV.7 dan Tabel IV.8).


(3)

5. Sistem yang paling baik pada robot kapal dalam melakukan speed test challenge dalam penelitian ini adalah dengan menggunakan sensor ultrasonik dan kamera dengan rata-rata tingkat keberhasilan 100 % pada pulsa antara 1280-1400 dan maneuver test challenge menggunakan sensor ultrasonik dengan tingkat keberhasilan 85 % pada pulsa 1280 dan 70 % pada pulsa 1300 sedangkan menggunakan kamera tingkat keberhasilannya 80 % pada pulsa 1280 dan 55 % pada pulsa 1300. Pada pulsa 1301-1400 robot kapal gagal dalam melakukan maneuvertest . 5.2 Saran

Adapun saran bagi pengembang tugas akhir ini adalah sebagai berikut: 1. Menggunakan Global Positioning System (GPS) sebagai referensi

pergerakan robot kapal agar arah dan posisi pergerakan kapal tepat pada posisi yang diinginkan.

2. Menggunkan mikrokontroler yang mendukung mission planner untuk memudahkan pengendalian pergerakan kapal.


(4)

56

DAFTAR PUSTAKA

[1] Arvind Antonio de Menezes Pereira. Navigation and Guidance of an Autonomous Surface Vehicle.Thesis, University of Southern California, May 2007.

[2] Fadlisyah, 2007. Computer Vision dan Pengolahan Citra, Andi, Yogyakarta [3] Hermawan Astuti Fajar. 2013, Pengolahan Citra Digital, Andi, Yogyakarta [4] Kadir, Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan

Pemrogramannya menggunakan Arduino. Andi Ofset.

[5] National Instruments, NI-IMAQ for USB Cameras User Guide, Januari 2005 [6] National Instruments, NI Vision for LabVIEW User Manual, November 2005 [7] Parekh, Kayton B.A Computer Vision Application to Accurately Estimate Project

Distance 2010 Honors Projects, Paper 18.

http://digitalcommons.macalester.edu/mathcs_honors/18

[8] Pickem, Daniel, dkk.Captain Handsight: An Autonomous Surface Vessel. Journal Paper, Georgia Institute Technology, Atlanta, 2011

[9] Syukri Gazali Suatkab. Implementasi Inertial Navigation System Pada Muatan Roket Untuk Perhitungan Trajektori Roket. Laporan Penelitian. Fakultas Teknik dan Ilmu Komputer. Universitas Indonesia, 2013.


(5)

(6)