Studi Komparasi Navigasi Robot Kapal Berbasis Sensor Ultrasonik, Kamera dan Dead Reckoning
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)