Robot Mobil Pengikut Objek Segi Tujuh Berwarna Kuning Berbasis Image Processing
Yoyon Fauzi, 16518241026
Abstrak
Image Processing/Pengolahan Citra adalah suatu bentuk pengolahan atau pemrosesan sinyal data input yang berupa gambar(image). Gambar input ini ditransformasikan menjadi gambar lain dengan teknik tertentu. Teknik-teknik yang digunakan dalam image processing antara lain Intensity Adjustment, Histogram Equalization, Thresholding, Motion Blur, Canny, Median Filtering, dll. Pengolahan citra dapat digunakan untuk melakukan tracking. Tracking ini adalah suatu pekerjaan mengikuti/mengidentifikasi pergerakan dari objek yang tertangkap pada kamera. Tracking dengan menggunakan image processing ini dapat dimanfaatkan di berbagai bidang. Di bidaang perdagangan digunakan untuk melacak bar code di setiap barang. Sedangkan di bidang militer dapat digunkan untuk melacak pergerakan musuh atau mengidentifikasi pergerakan peluru. Pada robot mobil ini, memanfaatkan image processing untuk mendeteksi objek yang berbentuk persegi tujuh. Selain mendeteksi bentuk yang dideteksi, pengolahan citra ini juga untuk mendeteksi warna. Jadi yang dideteksi pada robot ini hanya persegi tujuh yang berwarna kuning. Pergerakan robot ini adalah mengikuti gerak objek secara horisontal. Jada apabila objek digeser ke kanan maka robot akan bergerak ke kanan, sedangkan jika digeser ke kiri maka robot akan bergerak ke kiri. Robot ini menggunakan robot paralax, webcam, dan komputer. Sedangkan untuk software menggunakan Visual studio 2017 dan Arduino IDE.
Kata kunci : Robot, Image Processing, Tracking, Arduino, Visual studio
PENDAHULUAN
Teknologi robotika saat ini sudah tidak bisa dilepaskan dari kehidupan manusia. Robot adalah suatu alat mekanik yang dapat melakukan pekerjaan-pekerjaan fisik seperti manusia. Pekerjaan-pekerjaan tersebut bisa dilakukan karena dikontrol manusia atau otomatis karena sudah terprogram sebelumnya. Salah satu bagian utama yang membangun suatu sistem kontrol pada robot adalah input. Input pada robot adalah sebuah data yang ditangkap oleh robot yang kemudian diproses menjadi informasi. Data tersebut diperoleh robot dari sensor yang terdapat pada robot. Sensor merupakan indra bagi robot yang dapat mengenali berbagai parameter. Seperti sensor suhu yang mampu mengenali kondisi suhu, sensor cahaya yang mampu mengenali intensitas cahaya, sensor jarak yang mampu mengenlai jarak benda dari sensor, dan masih banyak lagi. Saat ini yang sedang berkembang adalah sensor kamera. Robot yang bisa melihat menggunakan kamera bisa disebut dengan robot vision.
Robot Vision merupakan robot yang memiliki kemampuan untuk menerima dan
mengolah informasi dari gambar atau objek tertentu, sehingga dapat diartikan robot yang
memilki indera penglihatan. Indera penglihatan pada robot dapat dibentuk dengan menggunakan
sensor kamera yang telah didesain dan diprogram sebagai mata robot. Selayaknya mata pada
manusia, mata robot juga mampu membedakan warna suatu objek yang terlihat. Data yang
berasal dari objek atau gambar yang ditangkap sensor kamera robot memberikan informasi
kepada robot tentang spesifikasi benda tersebut yaitu berupa warna benda, sehingga robot
mampu mengetahui keadaan atau objek yang dilihatnya.s
Penggunaan kamera sebagai sensor mulai banyak digunakan manusia dalam sehari-hari. Banyaknya pengunaan kamera sebagai alat pendukung dalam hal-hal keseharian
manusia ini , tidak lepas dari maraknya penelitian pengembangan dari metode pengolahan citra
digital, mulai dari bidang robotika, medis, keamanan serta hiburan. Fungsi dari kamera secara
umum adalah untuk membuat, menangkap, serta merekam suatu gambar dari objek, yang
selanjutnya akan dibiaskan melalui lensa pada sensor dan disimpan dalam format digital.
Kebanyakan kegiatan dalam hal merekam khususnya di Indonesia masih dilakukan oleh
manusia tanpa bantuan robot, seperti dalam peribadatan atau seminar-seminar yang diadakan.
Proses perekaman yang masih dilakukan oleh manusia memungkinkan terjadinya human error,
hal ini dikarenakan tingkat kejenuhan serta tingkat kelelahan yang menyebabkan konsentrasi
manusia berkurang. Pada saat proses perekaman kamera bisa saja tergoyang, jatuh atau lupa
dinyalakan. Oleh karena itu, untuk membantu tugas manusia dalam proses perekaman,
penelitian ini mengembangkan prototipe teknologi robot yang bisa merekam dan mengikuti objek.
Seperti penggunaan robot di dunia industri, penggunaan robot berdasarkan dari sifat
robot itu sendiri yang tidak mengenal lelah, dan memiliki toleransi kesalahan yang kecil,
sehingga sangat baik untuk meningkatkan daya produktifitas industri perekaman. Cara kerja
dari robot ini yaitu robot akan bergerak mengikuti objek yang berbentuk persegi tujuh dan berwarna kuning.
METODE PENELITIAN
Perancangan Robot perekam objek berbasis face tracking menggunakan model
prototyping. Prototyping adalah sebuah metode rekayasa perangkat lunak yang digunakan untuk
membangun sebuah aplikasi ketika requirement yang diperlukan belum jelas. Dalam
membangun aplikasi, pengembang dan pengguna bertemu untuk mendefinisikan hal-hal yang
menjadi tujuan dari aplikasi yang dibuat.
HASIL DAN PEMBAHASAN
Kerangka Konseptual Aplikasi
Komponen yang Digunakan
Untuk membuat projek ini dibutuhkan komponen-komponen seperti di bawah ini :
Tabel Komponen yang digunakan
Robot Paralax
Robot Paralax adalah paket robot dalam bentuk robot mobil dengan dua motor servo dan dikontrol dengan Arduino Uno R3. Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya. Berikut ini adalah spesifikasi Arduino Uno :
Tabel Spesifikasi Arduino
Motor pada robot Paralax dapat berputar dua arah, yaitu searah jarum jam dan berlawanan arah dengan jarum jam. Pada pemrogramannya servo akan berputar searah jarum jam pada nilai 1500-1700. Untuk berputar berlawanan arah jarum jam harus diberi nilai antara 1300-1500. Servo akan berhenti pada nilai tepat 1500.
Komputer
Pada penelitian ini komputer digunakan sebagai pengolah citra dengan menggunakan kamera bawaan laptop yang diolah dengan visual studio 2012. Selain itu laptop juga digunakan sebagai sumber tegangan robot.
Desain Visual Studio
Algoritma
Operator Canny, Salah satu algoritma deteksi tepi modern adalah deteksi tepi dengan menggunakan metode Canny. Deteksi tepi Canny ditemukan oleh Marr dan Hildreth yang meneliti pemodelan persepsi visual manusia. Ada beberapa kriteria pendeteksi tepian paling optimum yang dapat dipenuhi oleh algoritma Canny:
Mendeteksi dengan baik (kriteria deteksi) Kemampuan untuk meletakkan dan menandai semua tepi yang ada sesuai dengan pemilihan parameter-parameter konvolusi yang dilakukan. Sekaligus juga memberikan fleksibilitas yang sangat tinggi dalam hal menentukan tingkat deteksi ketebalan tepi sesuai yang diinginkan.
Melokalisasi dengan baik (kriteria lokalisasi) Dengan Canny dimungkinkan dihasilkan jarak yang minimum antara tepi yang dideteksi dengan tepi yang asli.
Respon yang jelas (kriteria respon) Hanya ada satu respon untuk tiap tepi. Sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya. Pemilihan parameter deteksi tepi Canny sangat mempengaruhi hasil dari tepian yang dihasilkan. Beberapa parameter tersebut antara lain :
1. Nilai Standart Deviasi Gaussian
2. Nilai Ambang
Euclidean Distance
Euclidean Distance merupakan teknik penghitungan jarak antara dua objek dengan menggunakan teorema Phytagoras. Jika titik P = (P1; P2; :::; Pn) dan titik Q = (Q1;Q2; :::;Qn) maka Euclidean Distance-nya adalah :
Similaritas
Similaritas digunakan untuk mencari persamaan dari 2 buah objek atau 2 buah vektor.
Pemetaan Input
Input disini adalah input untuk arduino. Matlab akan memberikan data berdasarkan letak titik tengah objek. Pemetaan tersebut adalah sebagai berikut :
Tabel Pemetaan input
Pemetaan Outputs
Data output dibedakan menjadi 10 berdasarkan pembagian posisi titik tengah terhadap sumbu x. Data case tersebut adalah sebagai berikut :
Tabel pemetaan output
Pemrograman Arduino
Berikut ini adalah program arduino yang digunakan :
#include <Servo.h>
Servo servoLeft;
Servo servoRight;
bool complete = false;// Declare right servo signal
char data;
int rx;
int nilai =0;
void setup()
{
servoLeft.attach(13);
servoRight.attach(12);
/*
servoLeft.writeMicroseconds(1500);
servoRight.writeMicroseconds(1500);
*/
Serial.begin(9600);
}
void loop()
{ // Empty, nothing needs repeating
if (complete = true) {
switch (data) {
case '1':
nilai = 0;
complete = false;
break;
case '2':
nilai = 80;
complete = false;
break;
case '3':
nilai = 120;
complete = false;
break;
case '4':
nilai = 160;
complete = false;
break;
case '5':
nilai = 200;
complete = false;
break;
case'6':
nilai = 0;
complete = false;
break;
case '7':
nilai = -80;
complete = false;
break;
case '8':
nilai = -120;
complete = false;
break;
case '9':
nilai = -160;
complete = false;
break;
case '0':
nilai = -200;
complete = false;
break;
}
}
Serial.print("Nilai = ");
Serial.println(nilai);
servoLeft.writeMicroseconds(1500 + nilai);
servoRight.writeMicroseconds(1500 - nilai);
delay (1000);
}
void serialEvent() {
while (Serial.available()) {
data = Serial.read();
if (data == '\n') {
complete = true;
}
}
}
Pada pemrograman tersebut yang diubah adalah nilai dari “nilai”. Data nilai tersebut digunakan untuk menambah dan mengurangi 1500. Hal ini dikarenakan servo paralax akan bergerak CW jika diberi input 1700 dan CCW jika diberi input 1300.
Pengujian Program Arduino
Pada pemrograman arduino terbagi menjadi sepuluh case. Untuk membuktikan apakah pemrograman tersebut sudah sesuai dapat menggunakan serial monitor. Berikut ini adalah tabel dari beberapa case yang diinputkan :
Implementasi Alat
KESIMPULAN
Berdasarkan percobaan yang telah dilakukan, robot dapat bekerja seperti apa yang telah diinginkan. Robot ini mampu mengikuti pergerakan benda. Saat objek digeser kekiri maka robot akan bergeser kekiri dengan kecepatan yang disesuaikan oleh titik tengah objek pada kordinat x. Kemudian saat titik tengah objek sudah berada di tengah, maka robot akan berhenti. Sedangkan jika objek digeser kekanan maka robot akan bergerak kekanan.
SARAN
Penggunaan kamera yang kurang bagus akan mempengaruhi kualitas gambar input. Sehingga ntuk memperoleh hasil yang akurat diperlukan kamera dengan resolusi tinggi. Selain itu, jauhkan juga objek yang berwarna sama atau berbentuk sama.
DAFTAR PUSTAKA
B. Andrianto, Morfogradien. http://crs.itb.ac.id/media/mapin/pdf/ bayu-andrianto-morfogradien.pdf
Pengolahan Citra. http://balzach.sta_.ugm.ac.id/Pengol ahanCitra/Morfologi.pdf
Spesifikasi Arduino Uno. https://www.cronyos.com/harga-dan-spesifikasi-arduino-uno-r3/
No comments:
Post a Comment