Perancangan dan Realisasi Robot Autonomus Underwater
Berbasis Raspberry Pi
Disusun Oleh:
Nama : Junaidi Sucipto
NRP : 1122051
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,
Jl. Prof.Drg.Suria Sumantri, MPH no. 65, Bandung, Indonesia
Email : Junaidi_liu@yahoo.com
ABSTRAK
Indonesia merupakan sebuah negara maritim yang kaya akan sumber daya alamnya
dan sebagian besar terdapat di bawah air. Eksplorasi di bawah air menjadi hal penting dan
akan lebih tepat jika yang melakukannya adalah robot. Robot underwater dalam
pengembangannya masih memerlukan ide-ide baru sehingga banyak diadakan kompetisi
untuk menciptakan ide-ide tersebut. Singapore Robotic Games merupakan salah satunya
yang mengadakan kompetisi robot underwater. Pada kompetisi ini terdapat kategori RC
(remote control) dan autonomous dalam pengoperasiannya.
Pada Tugas Akhir ini akan diimplementasikan Raspberry Pi 2 pada robot
autonomous underwater untuk mengikuti garis. Robot menggunakan Raspberry Pi 2
untuk pemrosesan citra dengan memanfaatkan library OpenCV seperti Gaussian blur,
threshold, dan moment. Robot juga menggunakan Arduino Uno sebagai pembantu dalam
pengontrolan pergerakan robot. Pada robot ini terdapat sensor-sensor seperti sensor
penglihatan menggunakan kamera, sensor orientasi IMU, dan sensor tekanan MPXV5004.
Implementasi Raspberry Pi pada robot autonomus underwater telah berhasil
direalisasikan. Robot memiliki kemampuan dalam membedakan garis, kargo, arena
basket dan dapat mengatur kedalaman menyelamnya. Robot tidak dapat memindahkan
barang dari kargo ke dalam arena basket karena medan magnet yang ditimbulkan selenoid
pengambil barang mengganggu kerja dari sensor IMU yang ada pada robot.
Kata Kunci : Robot Underwater, Raspberry Pi 2, OpenCV, Singapore Robotic Games,
Design and Realization Raspberry Pi Based Autonomous
Underwater Robot
Composed By:
Name : Junaidi Sucipto
NRP : 1122051
Electrical Engineering, Maranatha Christian University,
Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia
Email : Junaidi_liu@yahoo.com
ABSTRACT
Indonesia is a maritime country which is rich of natural resources and most of them
are underwater. Underwater exploration becomes important and would be appropriate if
is done by robot. Underwater robot requires new ideas in the development which many
competitions are organized to create the ideas. Singapore Robotic Games is one of them
that organized the competition of underwater robot. In this competition, it consists of
autonomous and RC vehicle categories.
This final project is to implement Raspberry Pi 2 on autonomous underwater robot
to follow the line. The robot uses Raspberry Pi 2 for image processing by using OpenCV
library like Gaussian Blur, Threshold, and Moments. The robot also uses Arduino Uno as
an aide in controlling the robot movement. At this robot, it consists of sensors like vision
sensor using camera, IMU orientation sensor, and MPXV5004 pressure sensor.
The experiment result shows that the implementation of raspberry pi in an
autonomous underwater robot has been successfully realized. Robot has the ability in
differentiate the line, cargo, basket area and can set the depth of diving. The robot cannot
deliver the goods from cargo into the basket area because the magnetic field generated
from solenoid of good takers interferes with the IMU sensor of the robot.
Keyword : Underwater Robot, Raspberry Pi 2, OpenCV, Singapore Robotic Games,
DAFTAR ISI
LEMBAR PENGESAHAN
PERNYATAAN ORISINALITAS LAPORAN
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
KATA PENGANTAR
ABSTRAK ... i
ABSTRACT ... ii
DAFTAR ISI ... iii
DAFTAR GAMBAR ... vi
DAFTAR TABEL ... ix
BAB I PENDAHULUAN 1.1Latar Belakang Masalah ... 1
1.2Rumusan Masalah ... 2
1.3Tujuan ... 2
1.4Batasan Masalah ... 2
1.5Spesifikasi Alat yang Digunakan ... 3
1.6Sistematika Penulisan ... 3
BAB II LANDASAN TEORI 2.1Underwater Robot ... 4
2.1.1 ROV ... 4
2.1.2 AUV ... 5
2.2OpenCV ... 6
2.2.1 Gaussian Blur ... 6
2.2.3 Moment ... 12
2.3Sensor ... 13
2.3.1 Sensor Tekanan MPXV5004G6U ... 13
2.3.2 Sensor IMU Pololu MinIMU-9 v2 ... 14
2.4Raspberry Pi 2 ... 15
2.5Modul Kamera Raspberry Pi ... 18
2.6Arduino Uno ... 20
BAB III PERANCANGAN DAN REALISASI 3.1Perancangan dan Realisasi Robot Underwater ... 22
3.1.1 Elektronika Robot ... 22
3.1.2 Sistem Kontrol Robot ... 26
3.1.3 Mekanika Robot ... 27
3.2Perancangan dan Realisasi Pengolahan Citra ... 28
3.3Perancangan Algoritma Robot Underwater ... 33
3.3.1 Algoritma Master ... 35
3.3.2 Algoritma Slave ... 42
BAB IV DATA PENGAMATAN DAN ANALISIS 4.1Data Pengamatan Sensor-sensor ... 47
4.1.1 Sensor Tekanan MPXV5004G6U ... 47
4.1.2 Sensor IMU MinIMU-9 ... 48
4.2Pengujian Deteksi Objek Menggunakan Kamera ... 50
4.3Pengujian Kontrol Robot Underwater ... 54
4.3.1 Pengujian Pengaruh Parameter Kontrol On-Off Hysteresis ... 54
4.3.2 Pengujian Kontrol Kecepatan Robot ... 57
4.3.3 Pengujian Sistem Gerak Robot ... 61
4.3.4 Pengujian Kontrol Kedalaman Menyelam Robot ... 64
4.4Pengujian Robot Menjalankan Misi Keseluruhan ... 66
BAB V SIMPULAN DAN SARAN 5.1Simpulan ... 68
DAFTAR PUSTAKA ... x
LAMPIRAN A PROGRAM MASTER ROBOT UNDERWATER
DAFTAR GAMBAR
Gambar 2.1 ROV KAIKO JAMSTEC ... 5
Gambar 2.2 Contoh Gambar Asli dan Hasil Gasussian Blur ... 6
Gambar 2.3 Keluaran Gaussian Filter 1 Dimensi ... 7
Gambar 2.4 Keluaran Gaussian Filter 2 Dimensi ... 8
Gambar 2.5 Contoh Gambar Asli dan Hasil Thresholding ... 9
Gambar 2.6 Tipe Thresholding Binary ... 9
Gambar 2.7 Tipe Thresholding Binary (inverted) ... 10
Gambar 2.8 Tipe Truncate ... 10
Gambar 2.9 Tipe Threshold to Zero ... 11
Gambar 2.10 Tipe Threshold to Zero (inverted) ... 11
Gambar 2.11 Rangkaian Rekomendasi Pengaplikasian Sensor ... 13
Gambar 2.12 Konfigurasi Pin MPXV5004G6U ... 14
Gambar 2.13 Keluaran Pin Pololu MinIMU-9 v2 ... 14
Gambar 2.14 AHRS dengan Pololu MinIMU-9 v2 ... 15
Gambar 2.15 Raspberry Pi B+ ... 16
Gambar 2.16 Konfigurasi Pin I/O Raspberry Pi B+ ... 16
Gambar 2.17 Tampilan Program Win32DiskImager ... 17
Gambar 2.18 Modul Kamera Raspberry Pi ... 18
Gambar 2.19 Arduino/Genuino Uno ... 20
Gambar 2.20 Pin Mapping Arduino/Genuino Uno ... 22
Gambar 3.1 Diagram Blok Elektronika Robot ... 22
Gambar 3.2 Konfigurasi Elektronika Robot ... 23
Gambar 3.3 Skematik Motor Driver L298P ... 24
Gambar 3.4 Skematik Sistem Minimum ATmega328P ... 24
Gambar 3.5 Board Motor Driver ... 25
Gambar 3.6 Diagram Blok Sistem Kontrol Master pada Robot ... 27
Gambar 3.7 Diagram Blok Sistem Kontrol Slave pada Robot ... 27
Gambar 3.9 Tampak Belakang dan Tampak Samping Robot ... 28
Gambar 3.10 Diagram Blok Sistem Pemrosesan Citra ... 29
Gambar 3.11 Frame Keluaran Kamera ... 29
Gambar 3.12 Frame Ukuran 640x100 ... 30
Gambar 3.13 Hasil Threshold Garis ... 30
Gambar 3.14 Hasil Keluaran Fungsi Moments ... 31
Gambar 3.15 Frame 640x480 Kamera ... 32
Gambar 3.16 Frame Gambar Depan dan Belakang Objek Garis ... 32
Gambar 3.17 Frame Gambar Depan dan Belakang Objek Kargo ... 33
Gambar 3.18 Frame Gambar Depan dan Belakang Objek Finish ... 33
Gambar 3.19 Arena Lomba Robot Underwater (satuan mm) ... 34
Gambar 3.20 Penempatan Arah Arena Pada Perancangan ... 35
Gambar 3.21 Diagram Alir Proses Utama Pada Master ... 36
Gambar 3.22 Diagram Alir Proses Check Point ... 38
Gambar 3.23 Diagram Alir Proses Ikuti Garis ... 39
Gambar 3.24 Diagram Alir Proses Finish ... 41
Gambar 3.25 Diagram Alir Proses Utama Pada Slave ... 43
Gambar 3.26 Diagram Alir Proses Following ... 45
Gambar 3.27 Diagram Alir Proses Landing dan Drop Load ... 46
Gambar 4.1 Grafik Keluaran Sensor Tekanan ... 45
Gambar 4.2 Respon Kontrol dengan Lebar Gap 20 ... 51
Gambar 4.3 Respon Kontrol dengan Lebar Gap 40 ... 52
Gambar 4.4 Respon Kontrol dengan Lebar Gap 60 ... 53
Gambar 4.5 Respon Kontrol dengan Lebar Gap 80 ... 53
Gambar 4.6 Respon Kontrol dengan Lebar Gap 100 ... 54
Gambar 4.7 Respon Kontrol Robot dengan Duty Cycle 30% ... 55
Gambar 4.8 Respon Kontrol Robot dengan Duty Cycle 40% ... 55
Gambar 4.9 Respon Kontrol Robot dengan Duty Cycle 50% ... 56
Gambar 4.10 Respon Kontrol Robot dengan Duty Cycle 60% ... 56
Gambar 4.12 Respon Kontrol Robot dengan Duty Cycle 80% ... 57
Gambar 4.13 Grafik Pembacaan Koordinat Garis dengan Perintah Maju ... 58
Gambar 4.14 Grafik Heading Robot dengan Perintah Maju ... 59
Gambar 4.15 Grafik Pembacaan Koordinat Garis dengan Perintah Kanan ... 59
Gambar 4.16 Grafik Heading Robot dengan Perintah Kanan ... 60
Gambar 4.17 Grafik Pembacaan Koordinat Garis dengan Perintah Kiri ... 60
Gambar 4.18 Grafik Heading Robot dengan Perintah Kiri ... 61
Gambar 4.19 Respon Sistem Kontrol Kedalaman Menyelam Robot ... 62
DAFTAR TABEL
Tabel 2.1 Data Teknikal Arduino Uno ... 21
Tabel 3.1 Tabel Hubungan Pada Board yang Dirancang ... 26
Tabel 4.1 Data Pengamatan Sensor Tekanan MPXV5004G6U ... 44
Tabel 4.2 Data Pengamatan Sensor IMU Tanpa Gangguan ... 46
Tabel 4.3 Data Pengamatan Sensor IMU dengan Gangguan ... 47
Tabel 4.4 Pengujian Pendeteksian Objek ... 48
BAB I
PENDAHULUAN
Pada bab ini berisi latar belakang masalah, rumusan masalah, tujuan, batasan masalah, spesifikasi alat yang digunakan, dan sistematika penulisan.
1.1 Latar Belakang
Indonesia merupakan sebuah negara maritim yang kaya akan sumber daya alamnya. Di bumi ini terdapat negara-negara maritim dan Indonesia merupakan negara maritim terbesar. Kekayaan alam pada sebuah negara maritim sebagian
besar terdapat di bawah air, oleh karena itu eksplorasi di bawah air menjadi hal yang sangat penting. Dengan mengeksplorasi keadaan di bawah air diharapkan dapat mengetahui kekayaan yang terkandung didalamnya. Eksplorasi di bawah air juga menjadi sangat berbahaya dan akan beresiko jika manusia yang terjun langsung kedalamnya. Robot menjadi opsi yang tepat dalam meminimalisir setiap kemungkinan resiko yang akan dihadapi.
Robot underwater menjadi topik yang menarik dan telah banyak diadakan kompetisi robot kategori underwater. Kompetisi robot ini diselenggarakan agar dapat menciptakan ide-ide dalam perkembangan robot underwater. Singapore Robotic Games merupakan kompetisi robot yang menyelenggarakan banyak kategori. Salah satu kategori kompetisi yang diselenggarakan adalah robot underwater. Pada kategori ini terdapat perlombaan RC (remote control) robot
underwater dan underwater autonomous robot. Misi dari lomba ini adalah
1.2 Rumusan Masalah
Masalah yang akan dibahas dalam Tugas Akhir ini yaitu:
1. Bagaimana mengimplementasikan Raspberry Pi 2 dalam robot
autonomus underwater?
2. Bagaimana robot dapat bermanuver mengikuti garis di dalam air?
1.3 Tujuan
Tujuan Tugas Akhir ini adalah mengimplementasikan Raspberry Pi pada
robot autonomus underwater untuk line follower.
1.4 Batasan Masalah
Batasan masalah dalam Tugas Akhir ini, yaitu:
1. Pokok pembahasan terletak pada keberhasilan implementasi Raspberry pi pada robot autonomus underwater untuk line follower.
2. Bahasan untuk topik OpenCV hanya membahas kegunaan dan cara penggunaannya.
3. Warna lantai berwarna putih, garis berwarna hitam, dan dengan kondisi air jernih.
4. Arena yang digunakan merupakan arena Singapore Robotic Games kategori robot underwater. Serta penempatan rintangan, garis (line) yang disesuaikan dengan peraturan Singapore Robotic Games 2015.
1.5 Spesifikasi Alat yang Digunakan
1. Raspberry Pi 2
2. Modul Kamera Raspberry Pi 3. Arduino Uno
4. Driver Motor DC brushed 5. Motor DC brushed
6. Sensor Tekanan MPXV5004G 7. Batere lippo 2 cell 1000 mAh
1.6 Sistematika Penulisan
Laporan tugas akhir ini disusun dengan sistematika penulisan sebagai berikut:
1. Bab I Pendahuluan
Pada bab ini berisi latar belakang masalah, rumusan masalah, tujuan, batasan masalah, spesifikasi alat yang digunakan, dan sistematika penulisan. 2. Bab II Landasan Teori
Pada bab ini berisi teori-teori penunjang, yaitu teori Underwater Robot, OpenCV, Sensor, Raspberry Pi 2, modul kamera Rapberry Pi, dan Arduino Uno.
3. Bab III Perancangan dan Realisasi
Pada bab ini dijelaskan tentang perancangan robot underwater, realisasi pengolahan citra dengan OpenCV, dan perancangan algoritma pada robot autonomous underwater.
4. Bab IV Data Pengamatan dan Analisis
Pada bab ini ditampilkan data - data hasil pengamatan dan analisa terhadap data pengamatan sensor-sensor, pengujian deteksi objek menggunakan kamera, pengujian kontrol robot, dan pengujian robot menjalankan misi keseluruhan.
5. Bab V Simpulan dan Saran
BAB V
SIMPULAN DAN SARAN
Pada bab ini penulis akan menyatakan kesimpulan dari tugas akhir ini, serta memberikan saran untuk dapat mengembangkan tugas akhir ini selanjutnya.
5.1 Simpulan
Dengan memperhatikan data pengamatan dan analisis pada bab sebelumnya, dapat disimpulkan bahwa:
1. Implementasi Raspberry Pi pada robot autonomus underwater untuk line
following telah berhasil direalisasikan.
2. Dari data pengujian data sensor IMU memperlihatkan bahwa robot tidak dapat memindahkan barang karena interferensi medan magnet yang ditimbulkan magnet pengambil mempengaruhi sensor ketika diaktifkan.
3. Dari pengujian deteksi objek menggunakan kamera dengan
menggunakan pemrosesan citra yang telah dirancang memperlihatkan bahwa pendeteksian objek berhasil direalisasikan dengan benar.
5.2 Saran
Saran-saran yang dapat diberikan untuk perbaikan dan pengembangan dari Tugas Akhir ini adalah sebagai berikut:
1. Sensor yang digunakan untuk mengukur ketinggian robot menyelam diganti dengan yang lebih baik karena sensor yang digunakan sekarang berpengaruh terhadap suhu yang ditimbulkan motor driver.
2. Ditambahkan aktuator atau sensor lainnya agar robot dapat mencari garis ketika garis tidak berada dalam jangkauan penglihatan sesnsor kamera
robot.
3. Metoda pemindahan barang dari kargo ke sisi ujung arena dapat dikembangkan lagi agar tidak terjadi interferensi ke sensor IMU.
DAFTAR PUSTAKA
1. Zhao, Side dan Yuh, Junku. 2005. “Experimental Study on Advanced Underwater Robot Control”. IEEE TRANSACTIONS ON ROBOTICS, VOL. 21, NO. 4
2. Marine Technology Society. 2014. ROV History. http://www.rov.org/rov_history.cfm
3. Budiharto, Widodo dan Purwanto, Djoko. 2012. “Robot Vision – Teknik Membangun Robot Cerdas Masa Depan”. Yogyakarta : Penerbit ANDI.
4. Bradski, Gary dan Kaebler , Adrian. 2008. “Learning OpenCV”. United States of America: O’Relly Media.
5. Datasheet “The OpenCV Reference Manual”, Itseez.
6. R. Fisher, S. Perkins, A. Walker and E. Wolfart. 2003. Gaussian Smoothing. http://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm
7. Weisstein, Eric W. 2015. Normal Distribution.
http://mathworld.wolfram.com/NormalDistribution.html
8. Alexander Mordvintsev & Abid K. Revision. 2013. Smothing Images. http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/ py_imgproc/py_filtering/py_filtering.html
9. Opencv Dev Team. 2015 Basic Thresholding Operations.
http://docs.opencv.org/doc/tutorials/imgproc/threshold/threshold.html 10. Datasheet “Integrated Silicon Pressure Sensor”, Freescale Semiconductor. 11. Pololu Corporation. 2015. MinIMU-9 v2 Overview.
https://www.pololu.com/product/1268
12. Monk, Simon. 2013. “Raspberry Pi Cookbook”. United States of America: O’Relly Media.
13. Raspberry Pi Foundation. 2015. Raspberry Pi 2 Model B. https://www.raspberrypi.org/products/raspberry-pi-2-model-b/ 14. Raspberry Pi Foundation. 2015. Hardware Raspberry Pi.
http://www.raspberryshop.es/
15. Technology Tutorials. 2015. Raspberry Pi 2 Pinout.
http://www.toptechboy.com/raspberry-pi/raspberry-pi-linux-lesson-25-raspberry-pi-2-pinout/
16. Raspberry Pi Foundation. 2015. Installing Operating System Images Using Windows.
https://www.raspberrypi.org/documentation/installation/installing-images/windows.md
17. Raspberry Pi Foundation. 2015. Camera Hardware.
https://www.raspberrypi.org/documentation/hardware/camera.md 18. Aplicaciones de la Visión Artificial. 2015. RaspiCam C++.
http://www.uco.es/investiga/grupos/ava/node/40 19. Arduino. 2015. Arduino Uno & Genuino Uno.