• Tidak ada hasil yang ditemukan

Journal of Control and Network Systems

N/A
N/A
Protected

Academic year: 2021

Membagikan "Journal of Control and Network Systems"

Copied!
8
0
0

Teks penuh

(1)

RANCANG BANGUN ROBOT PEMADAM API MENGGUNAKAN

PENGOLAHAN CITRA DAN FLAME SENSOR

Robert Dwi Djoyo Kusuma1) Harianto2) Madha Christian Wibowo3)

Program Studi/Jurusan Sistem Komputer STMIK STIKOM Surabaya Jl. Raya Kedung Baruk 98 Surabaya, 60298

Email: 1)brokenbertz@gmail.com, 2)Harianto@stikom.edu, 3)Madha@stikom.edu

Abstract:Fire is one of disaster that is feared by everyone. These events often occur either due to environmental factors or omissions society. The disaster has killed tens to hundreds of lives. Based on the above problem, the authors make a fire extinguisher robot. This robot has ability to detect a fire in a confined space using the integrated webcam with a robot body. This webcam works to recognize fire objects using image processing. In addition, this robot is equipped with sensors that can detect fire from the flame temperature. The sensor will produce the output of the strain at the time of the fire detection. Once the actuator will be a fire extinguisher, it puts out the fire. Color filtering utilizing image processing that converts HSV image into a binary image with threshold configuration (96, 2, 254) - (180, 43, 256) for red flame and (31, 48, 253) - (105, 243, 256) for blue flame. The image will be defined as fire by the range above. The sensor works when image processing defines fire. Sensors provide output voltage of 5V when the robot is 30 cm in front of the fire. The maximum distance that can be reached in detecting fire robot is 1.5 meters with a 100% success rate and 1.8m with 25% success rate for trajectory planning process.

Keywords: flame sensor, fire extinguisher, image processing, flames.

Kebakaran merupakan salah satu bencana yang ditakuti oleh setiap orang. Kejadian ini kerap terjadi baik karena faktor lingkungan atau kelalaian masyarakat. Bencana ini telah menelan korban puluhan hingga ratusan jiwa. Polda Metro Jaya mencatat, kebakaran yang melanda Jakarta dan sekitarnya selama operasi Ketupat Jaya 2012 naik 50 persen dari Operasi Ketupat tahun 2011. Sebagai upaya untuk menangani masalah di atas banyak dilakukan penelitian tentang robot pemadam api dengan tujuan memadamkan kebakaran tanpa melibatkan manusia, sehingga resiko terjadinya kecelakaan saat proses pemadaman oleh manusia dapat ditekan semaksimal mungkin. Berdasarkan masalah di atas penulis membuat robot pemadam api dengan versi yang berbeda. Robot ini memiliki kemampuan mendeteksi api dalam suatu ruangan tertutup dengan menggunakan webcam yang terintegrasi dengan badan robot. Webcam ini berfungsi untuk mengenali objek api dengan menggunakan pengolahan citra. Pengolahan citra bertugas untuk mendeteksi lokasi api. Selain itu robot ini juga dilengkapi dengan sensor api yang dapat mendeteksi suhu dari api, sensor akan mengeluarkan keluaran berupa tegangan pada saat mendeteksi api. Sensor api bertugas untuk membedakan antara citra api dengan api sungguhan,

ketika sensor memutuskan itu adalah api sungguhan maka aktuator berupa alat pemadam api akan memadamkan api tersebut. Robot ini didesain untuk memadamkan api pada ruangan tertutup dengan pencahayaan tetap. Robot ini dilengkapi oleh sensor DF Robot Flame Sensor. Kelebihan dari sensor ini adalah dapat mendeteksi api lilin dengan jarak 100cm dengan keluaran yang dihasilkan sebesar 0,5v dan 4,8v untuk jarak 20 cm.

Robotino

Robotino adalah robot buatan Festo Didactic yang digunakan untuk edukasi dan penelitian serta kompetisi robot. Robotino memiliki fitur system gerak menggunakan omni-directional drive, bumps sensor, infrared distance

sensor, dan usb webcam. Robotino didesain modular, sehingga dapat dengan mudah ditambahkan berbagai aksesoris pelengkap, seperti sensor laser scanner, gyroscope, dan postioning system Northstar dalam ruangan.

DF Robot (Flame Sensor)

Sensor dari DF ROBOT berikut ini dapat mendeteksi nyala api dengan panjang gelombang 760 ~ 1100 nm, sensor ini dapat mendeteksi suhu JCONES Vol. 2, No. 1 (2013) 1-8

Journal of Control and Network Systems

(2)

panas berkisar 25 C – 85 C. Sensitivitas dari produk ini sudah teruji dengan baik melalui beberapa percobaan sehingga membuat penulis memilih sensor dari DF ROBOT ini sebagai sensor yang akan diintegrasikan dengan robotino sebagai salah satu sarana untuk mendeteksi suhu dari api. Sensor ini dapat mendeteksi api dari jarak 100 cm dengan keluaran tegangan sebesar 0,5v, dan pada jarak 20 cm dengan objek sensor ini dapat mengeluarkan keluaran tegangan sebesar 5v.

Pengolahan Citra

Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat pada usaha untuk melakukan transformasi suatu citra/gambar menjadi citra lain dengan menggunakan teknik tertentu.

Webcam adalah kamera video sederhana berukuran relatif kecil yang sering digunakan untuk konferensi video jarak jauh atau sebagai kamera pemantau. Webcam pada umumnya tidak membutuhkan kaset atau tempat penyimpanan data, data hasil perekaman yang didapat langsung ditransfer ke komputer.(Webcam,Inc.2009).

Robotino dilengkapi dengan webcam yang dilengkapi oleh JPEG compression. Gambar hasil kompresi tersebut dapat di transmisikan ke PC via WLAN untuk evaluasi. Pada ulasan kali ini webcam

akan digunakan untuk mendeteksi lokasi dari api.

Webcam akan melakukan proses pengolahan citra dengan mengolah RGB dari image yang ditangkap dan melakukan kalkulasi dengan warna api.(Weber,dkk.2010.

Pengambangan (

Thresholding

)

Konversi dari citra hitam-putih ke citra biner, dilakukan dengan operasi pengambangan (thresholding) .Operasi pengambangan adalah operasi mengelompokkan nilai derajat keabuan setiap piksel ke dalam 2 kelas yaitu hitam dan putih.

Color Filtering

Color filtering adalah suatu teknik pengolahan citra yang dipakai untuk memanipulasi suatu citra berdasarkan warna spesifik.Cara kerjanya adalah dengan membandingkan komponen warna setiap pixel citra dengan warna spesifik. Apabila warnanya sesuai dengan warna spesifik komponen warna pixel tersebut dibiarkan saja. Namun, bila warnanya tidak sesuai dengan warna spesifik maka komponen warna pixel tersebut diubah menjadi warna background, biasanya menjadi warna hitam.

Warna yang digunakan dalam color filtering dapat direpresentasikan dalam berbagai ruang warna. Ada beberapa ruang warna yang dikenal, antara lain RGB (Red, Green, Blue), HSV

(Hue, Saturation, Value), YCbCr, dsb. HSV merupakan ruang warna yang sangat cocok untuk mengidentifikasi warna-warna dasar, di mana warna dasar ini digunakan dalam penelitian sebagai warna identifikasi robot. Selain itu, HSV menoleransi terhadap perubahan intensitas cahaya. Inilah yang menjadi keunggulan HSV dibandingkan dengan ruang warna lainnya.

METODE

Model penelitian yang akan dilakukan adalah model penelitian pengembangan. Untuk mempermudah dalam memahami sistem yang akan dibuat dapat dijelaskan melalui blok diagram pada Gambar 1.

Gambar 1. Blok diagram input dan output. Pada Gambar 1 dijelaskan bahwa dalam proses kerjanya robotino akan mendapatkan 2 inputan berupa webcam dan flame sensor. Webcam digunakan untuk proses pendeteksian awal lokasi api pada suatu ruangan dan flame sensor berguna untuk memastikan bahwa gambar yang dideteksi oleh kamera tersebut adalah benar api sungguhan dengan mendeteksi suhu dari api tersebut.

Pada Gambar 2 dijelaskan bagaimana cara kerja sistem dan pengolahan data api berupa gambar dan suhu (radiasi), proses awal menggunakan pengolahan citra dimana webcam

akan menangkap gambar dari api dan mengubah nilai RGB ke HSV dilanjutkan dengan proses

thresholding. Setelah melalui proses tersebut dilakukan proses kalibrasi nilai HSV api agar citra yang didapatkan murni merupakan komposisi warna api, dengan metode ini objek di sekitar api tidak terdeteksi walaupun memiliki keidentikan warna. Setelah melewati proses kalibrasi nilai HSV akan didapatkan citra api yang sesungguhnya dan robot akan melakukan pergerakan menuju sumber api tersebut, setelah robot berada 20cm dekatnya dari api sensor akan bekerja dan mengeluarkan keluaran berupa tegangan sebesar 5v. Tegangan tersebut akan memicu aktuator berupa alat pemadam api untuk bekerja dan memadamkan api. ROBOTINO O FLAME SENSOR + WEBCAM ALAT PEMADAM API Personal komputer WIFI

(3)

Gambar 2. Blok diagram sistem secara keseluruhan

Perancangan Perangkat Lunak

Dalam perancangan perangkat lunak,

compiler yang digunakan adalah Microsoft Visual C++ 2008. Untuk library yang digunakan pada pengolahan citra yaitu library OpenCV v2.1 dan

library OpenRobotinoAPI yang digunakan untuk mengintegrasikan Robotino dengan PC.

Kemudian dalam penulisannya atau dalam pembuatan program, akan meliputi bagian-bagian penting dalam setiap langkah-langkah per bagian sesuai dengan algoritma atau logika sekuensial dari awal sampai output. Berikut adalah algoritma program secara global.

Tahap-tahap inisialisai Robotino meliputi cara-cara setting koneksi Robotino dan pergerakan Robotino. Untuk kendali Robotino digunakan OpenRobotinoAPI (Application Programming Interface) yaitu library aplikasi programming yang dibuat khusus untuk Robotino, yang diciptakanuntuk mempermudah user dalam membuat program pada Robotino. Library ini memungkinkan akses penuh terhadap sensor dan actuator pada Robotino. Komunikasi antara Robotino dengan PC melalui jaringan TCP atau UDP menggunakan media

wireless.

Untuk menghubungkan koneksi wireless

dari PC ke access point Robotino digunakan prototype fungsicom.setAddress yang digunakan untuk memberikan alamat IP yang akan diakses. Untuk simulasi pada program Robotino® SIM dapat digunakan alamat IP 127.0.0.1: 8080. Untuk koneksi langsung ke access point Robotino, secara default

alamat IP yang digunakan adalah 172.26.1.1. Untuk mengakses fungsi tersebut dibutuhkan deklarasi header file yang terletak pada rec/robotino/com/all.h, di mana pada awal program harus dideklarasikan terlebih dahulu.

Gambar 3. Flowchart sistem secara global Robotino memiliki sistem pergerakan

omni-directional drive di mana terdapat 3 buah roda yang digunakan untuk menggerakan Robotino. Untuk menggerakan Robotino digunakan fungsi void drive(int x, int y,

int z) {

omniDrive.setVelocity( x , y , z); }

Parameter vx adalah parameter kecepatan pada sumbu x (+ maju, -mundur) dan vy adalah parameter kecepatan untuk sumbu y (+ kanan, - kiri), dengan ketentuan parameter vx dan vy dalam satuan mm/s. Dan omega merupakan parameter kecepatan sudut dengan ketentuan parameter omega dalam satuan deg/s.

Untuk mengakses fungsi tersebut dibutuhkan deklarasi header file yang terletak pada rec/robotino/com/all.h, di mana pada awal program harus dideklarasikan terlebih dahulu.

Pada saat tahap inisialiasi Robotino akan melakukan maneuver dengan berputar 360° untuk mencari lokasi dari api.

Untuk menampilkan data citra yang sudah tersimpan pada Iplimage ke dalam window baru digunakan prototype fungsi pada library OpenCV yaitu cvShowImage (const char *name, const CvArr *image). Dengan ketentuan parameter const char *name adalah nama window dan const CvArr

*image adalah Iplimage yang ditampilkan. Berikut program yang digunakan untuk menampilkan data citra secara streaming:

cam.setStreaming(true); cvShowImage( "image", img1);

cvShowImage( "thresholded", thresholded); c = cvWaitKey(10);

(4)

Untuk refresh citra yang ditampilkan pada window dibutuhkan fungsi cvWaitKey. Ini dikarenakan OS memiliki waktu minimum dalam menjalankan threads secara bergantian. Fungsi ini tidak memberikan delay persis seperti parameter yang telah diset, namun delay tergantung threads

yang sedang berjalan pada computer saat itu. Nilai yang dikeluarkan dari fungsi ini adalah kode untuk penekanan tombol atau -1 apabila tidak ada tombol yang ditekan selama waktu yang ditentukan.

Setiap data citra yang dikirimkan dari

webcam Robotino diakses dengan pointer bertipe

const unsigned char. Karena resolusi default dari Robotino adalah 320x240 maka data untuk 1 citra yang dikirimkan adalah sebanyak 230400, di mana pada 1 pixel citra terdapat 3 channel, dan pada setiap

channel berukuran 8bit. Ketika fungsi set Streaming

bernilai true, fungsi image Received Event akan terus melakukan streaming citra hingga koneksi diputuskan atau saat set Streaming bernilai false. Penyimpan data ke dalam format Iplimage akan ditunjukan seperti potongan program berikut: Iplimage *ima

=cvCreateImage(cvSize(width,height),IPL_DEPT H_8U,3);

for (int i = 0; i < dataSize; i++) {

ima->imageData[i] = *(data+i)

}

Data citra yang ditangkap adalah data citra dengan ruang warna RGB dan disimpan langsung pada variable Iplimage (Intel Image Processing Library) yaitu stuktur data untuk penyimpanan data citra pada OpenCV. Namun urutan channel data dalam Iplimage adalah BGR sehingga untuk menampilkan warna sesungguhnya, harus dikonversikan terlebih dahulu dengan fungsi cvCvtColor seperti baris perintah seperti berikut: cvCvtColor(img2,img1, CV_BGR2RGB);

Setelah itu proses dilanjutkan dengan mengubah komposisi RGB menjadi HSV dengan menggunakan perintah seperti berikut:

cvCvtColor(img2,hsv, CV_BGR2HSV);

Ketika fungsi set Streaming diset dengan nilai true, maka fungsi image Received Event

langsung menangkap data citra secara streaming. Untuk mengakses fungsi image Received Event

dibutuhkan deklarasi header file yang terletak pada rec::Robotino::com:Camera.h, di mana pada awal program harus dideklarsikan terlebih dahulu. Fungsi

image Received Event perlu dideklarasikan sebagai

class baru karena fungsi tersebut adalah fungsi

virtual, namun untuk penulisannya harus disertakan fungsi induknya (parent) karena class yang dibuat adalah class turunan (inheritance). Berikut potongan

class yang dideklarasikan:

Flame sensor di sini merupakan alat pendeteksi kedua yang digunakan untuk mendeteksi suhu dari api, setelah pengolahan citra bekerja dan

trajectory planing dijalankan sensor akan mendeteksi keberadaan api dengan mengeluarkan

keluaran berupa tegangan antara 0.5v – 4.85v. Perbedaan tegangan keluaran dipengaruhi oleh jarak sensor dari api, di mana pada jarak yang ditentukan yaitu 20cm maka sensor akan mengeluarkan tegangan keluaran sebesar 4.85v yang akan masuk melalui I/O robotino dan akan berfungsi untuk menggerakkan aktuator berupa alat pemadam api. Berikut adalah potongan program dari flame sensor:

float v = sensors[ 0 ].voltage(); if (v>0.5) { drive(0,0,0); } else grab_fire();

Metode utama yang digunakan pada proses pengolahan citra dalam aplikasi ini adalah

color filtering. Dalam proses color filtering untuk mempermudah melakukan filter terhadap warna tertentu tanpa terpengaruh intensitas cahaya digunakan ruang warna HSV (Dhiemas, 2011), maka diperlukan proses konversi citra dari ruang warna RGB ke ruang warna HSV.

Hasil color filtering dalam ruang warna HSV tersebut berupa citra biner atau hitam putih, dengan menentukan batasan nilai thresholdpada warna yang akan dideteksi.

Hough transform digunakan untuk mencari titik tengah dari citra api menggunakan

circle detection. Untuk mengurangi noise pada gambar digunakan proses smoothing dengan menggunakan Gaussian Filtering untuk mendapatkan efek blur pada gambar.

HSV merupakan singkatan dari Hue,

Saturation dan Value, sedangkan colorspace

berarti ruang warna. Ruang warna adalah suatu metode yang digunakan untuk merepresentasikan warna menjadi suatu bentuk yang bisa diperhitungkan dengan angka, secara khusus yang terkait di sini adalah tiga atau empat nilai atau komponen warna. Ruang warna meminjamkan dirinya sendiri untuk untuk menghasilkan representasi suatu warna, terutama untuk representasi digital, seperti sebagai suatu hasil cetakan digital atau tampilan pada media elektronik. Hue merupakan salah satu elemen dalam ruang warna HSV yang mewakili warna sehingga toleransi hue juga akan mempengaruhi nilai warna terseleksi dalam proses segmentesi. Nilai hue direpresentasikan dalam bentuk lingkaran dan memiliki rentang berupa sudut antara 0o- 360o.

Hough Transform adalah teknik transformasi citra yang dapat digunakan untuk mengisolasi atau dengan kata lain memperoleh fitur dari sebuah citra. Karena tujuan dari sebuah transformasi adalah mendapatkan suatu fitur yang lebih spesifik, Classical Hough Transform

merupakan teknik yang paling umum digunakan untuk mendeteksi objek yang berbentuk kurva

(5)

seperti garis, lingkaran, elips dan parabola. Keuntungan utama dari Hough Transform adalah dapat mendeteksi sebuah tepian dengan celah pada batas fitur dan secara relatif tidak dipengaruhi oleh derau atau noise. Hough transform circle

membentuk lingkaran sepanjang tepian yang ditemukan dengan jari-jari sebesar r. Setelah penggambaran lingkaran sepanjang garis tepian selesai, maka dicari daerah yang paling banyak dilewati garis dan kemudian daerah tersebut diasumsikan sebagai titik tengah citra yang dicari.

Berikut adalah potongan program untuk Hough Transform Circles:

CvSeq*circles = cvHoughCircles(thresholded, storage, CV_HOUGH_GRADIENT, 2, thresholded->height/4, canny, center, min_radius, max_radius);

Dimana tresholded adalah tempat penyimpanan data gambar yang akan dideteksi ada tidaknya sebuah lingkaran, sedangkan storage berfungsi sebagai tempat array seperti buffer untuk menyimpan data

ouptut fungsi cvHoughCircles,

CV_HOUGH_GRADIENT merupakan mode yang digunakan dalam pendeteksian lingkaran.

Untuk melakukan filter terhadap warna tertentu, maka data citra dikonversikan ke dalam citra biner dengan memanfaatkan thresholding. Thresholding adalah proses mengubah suatu citra berwarna atau berderajat keabuan menjadi citra biner atau hitam putih, sehingga dapat diketahui daerah mana yang termasuk objek dan background

dari citra secara jelas (Gonzales dan Woods, 2002). Citra hasil thresholding biasanya digunakan lebih lanjut untuk proses pengenalan obyek serta ekstraksi fitur. Tipe data dari hasil proses thresholding adalah tipe data float, yaitu antara 0 sampai dengan 1. Dengan parameter yang di set sebelumnya maka data citra yang jika melebihi batas yang ditentukan akan dibuat menjadi 1 atau putih dan jika di bawah batas yang ditentukan maka akan dibuat menjadi 0 atau hitam. Berikut pada persamaan 3.5 adalah rumus thresholding yang digunakan.

Pada rumus di atas nilai T min dan T max digunakan sebagai batas filter dengan jarak maksimun dan minimum nilai threshold. Dimana setiap nilai dari parameter minimum hinggga maksimum akan di isi dengan nilai 1. Sehingga untuk mendapatkan citra biner sesuai filter, digunakan ruang warna HSV untuk parameter filter

sesuai warna yang diharapkan. Ketika nilai T min dan T max di isi dengan batas filter parameter HSV yang ditentukan, maka nilai data citra yang berada pada luar rentang filter tersebut akan bernilai 0, sedangkan nilai data citra yang berada pada dalam rentang filter tersebut akan bernilai 1.

Namun pada library OpenCV telah disediakan fungsi untuk memproses thresholding, yaitu dengan menggunakan cvInRangeS. Dengan ruang warna HSV, maka dapat menggunakan baris perintah berikut.

cvInRangeS(hsv, cvScalar(hsv_min, sat_min, val_min),cvScalar(hsv_max, sat_max, val_max, 0),thresholded);

Seperti Gambar 4 hasil thresholding,

filter mendeteksi warna HSV di bawah (105,10,79) dan HSV di atas (125,20,200) akan membuat citra menjadi warna hitam atau 0. Dan sebaliknya ketika

filter mendeteksi warna HSV di atas (105,10,79) dan HSV di bawah (125,20,200) maka citra akan dibuat menjadi putih atau 1.

Gambar 4. Filter Thresholding HSV

PENGUJIAN SISTEM

Pengujian berikut adalah pengujian sistem secara keseluruhan yaitu, untuk melihat apakah robot dapat memadamkan api dengan posisi robot terhadap api yang berubah, bagaimana robot membedakan citra api dengan api sungguhan melalui proses pengolahan citra, mengukur dan melakukan pencatatan jarak maksimal robot dalam mendeteksi api, kemudian juga diuji apakah robot terpengaruh oleh gangguan berupa citra api, lampu bolam, pencerminan api dengan menggunakan kaca dan bola-bola berwarna, serta mencatat waktu yang dibutuhkan robot dari proses pendeteksian sampai memadamkan api.

Data citra yang telah melalui proses

thresholding selalu memberikan beberapa noise, oleh sebab itu dilakukan proses smoothing yang digunakan untuk menghilangkan noise pada citra dengan menggunakan Gaussian filtering untuk mendapatkan efek blur pada citra. Melalui proses

thresholding maka akan didapatkan citra biner, namun terdapat noise yang akan menganggu dalam proses pendeteksian bentuk pada citra. Oleh sebab itu digunakan smoothing citra, yang diharapkan akan mengurangi atau menghilangkan noise.

Pada library OpenCV disediakan

function untuk proses smoothing, function cvSmooth adalah function yang disediakan oleh

library OpenCV, yang digunakan untuk penghalusan citra (smoothing) yang bertujuan menghilangkan noise citra. Berikut adalah baris perintah untuk menggunakan cvSmooth.

cvSmooth( const CvArr* src, CvArr* dst intsmoothtype=CV_GAUSSIAN,int param1=3, int param2=0)

Dengan ketentuan parameter smoothtype

yang digunakan adalah CV_GAUSSIAN. Berikut baris perintah yang digunakan pada program.

(6)

cvSmooth( thresholded, thresholded, CV_GAUSSIAN, 9, 9 );

Nilai parameter 1 pada fungsi di atas merupakan lebar bukaan untuk nilai pengali dimana nilai tersebut harus bernilai ganjil positif. Untuk parameter 2 merupakan ketinggian bukaan untuk nilai pengali dan harus bernilai ganjil positif. Berikut rumus secara matematika dari perhitungan Gaussian.

Robotino bergerak sesuai dengan koordinat yang telah ditentukan menggunakan metode hough transform circle, yang mencari titik tengah dari citra api. Robot akan bergerak mengikuti koordinat tersebut kemudian ketika jarak robot berada 20 cm di depan api maka sensor akan mengirimkan data berupa tegangan keluaran yang akan diterima oleh I/O Robotino, sehingga aktuator berupa alat pemadam api akan memadamkan api tersebut.

Fungsi pergerakan omnidrive :

void drive(int x, int y, int z) {

omniDrive.setVelocity( x , y , z); }

Potongan program utama :

if (scan==13) {

drive (0,0,30); scan=0;

cout <<" //System Run "<< endl; }

Potongan program utama di atas merupakan program untuk menjalankan inisialisasi awal pada saat Robotino berputar melakukan manuver 360° mencari lokasi api di sekitarnya. Untuk dapat berputar 360° variable vx diberi nilai 0, vy diberi nilai 0, dan variable omega diberi nilai 30, sehingga robot akan berputar ke kanan. Setelah Robotino mendeteksi adanya api maka robot akan bergerak mendekati api tersebut, berikut adalah potongan program untuk menjalankan robot mendekati api. void grab_fire() { int waktu_sampling; eror=160-x; delta_eror=eror-eror_1; array_koordinat[counter]=x; array_eror[counter]=eror; array_waktu[counter]=waktu_sampling; hasil_perhitungan=perhitungan_eror(e ror,delta_eror); drive(100,0,hasil_perhitungan); cout<<"Fire Detected & Target Locked "<< endl << endl;

eror_1=eror; counter++; }

Program di atas merupakan potongan program ketika Robotino mendeteksi api. Metode

Hough Transform Circle digunakan untuk mencari koordinat titik tengah dari citra api yang dideklarasikan dengan variabel x fungsi koordinat titik tengah adalah untuk menjaga posisi robot tetap

berada di jalur yang benar, ketika posisi robot sudah benar berada di tengah maka robot akan bergerak mendekati api dengan memanfaatkan fungsi omni-drive dengan memberi nilai pada variabel vx sebesar 100, variabel vy sebesar 0, dengan begitu robot akan bergerak maju dengan kecepatan sebesar 100 pada sumbu x dan mendekati api, serta kecepatan sudut atau omega sebesar nilai dari variabel hasil_perhitungan, yang merupakan fungsi untuk menentukan sudut belok atau putar robot agar posisi api selalu berada tegak lurus dengan robot.

Flame sensor disini merupakan alat pendeteksi kedua yang digunakan untuk mendeteksi suhu dari api, setelah pengolahan citra bekerja dan trajectory planing dijalankan sensor akan mendeteksi keberadaan api dengan mengeluarkan keluaran berupa tegangan antara 0.5v – 4.85v. Perbedaan tegangan keluaran dipengaruhi oleh jarak sensor dari api, dimana pada jarak yang ditentukan yaitu 20cm maka sensor akan mengeluarkan tegangan keluaran sebesar 4.85v yang akan masuk melalui I/O robotino dan akan berfungsi untuk menggerakan aktuator berupa alat pemadam api. Alat pemadam api ini digunakan sebagai aktuator dari robot pemadam api. Alat ini terbuat dari rangakaian motor DC, selang, alat penyemprot (wiper), dan tabung air yang terbuat dari plastik.

Berikut adalah potongan program yang digunakan untuk aktuator pemadam api :

data1=analogInput0.value(); if (data1 > 4)

relay1.setValue (true); else

relay1.setValue (false);

Data1 adalah sebuah variabel yang digunakan untuk menyimpan nilai dari tegangan masukan dari sensor api, ketika nilai dari variabel data1 bernilai lebih besar dari 4 maka keluaran dari I/O robotino yang berupa relay akan bernilai true

ini berarti switch dari relay akan terhubung dan tegangan 12v akan menggerakan motor dari alat pemadam api, sehingga alat pemadam api dapat bekerja sesuai dengan harapan.

HASIL PENGUJIAN

Proses pengujian dilakukan dengan tiga tahap yaitu pengujian proses color filtering yaitu membedakan api dengan citra api, pencerminan api dengan menggunakan kaca dan bola-bola berwarna sebagai pengecoh sistem, setelah dilakukan pengujian ternyata citra api tidak terdeteksi oleh proses color filtering dan sistem hanya mendeteksi api sungguhan, sedangkan bola-bola berwarna tidak terdeteksi oleh pengolahan citra. Pengolahan citra hanya mendeteksi pencerminan api dari kaca.

Pengujian kedua adalah pengujian jarakmaksimum yang dapat dijangkau robot dalam

(7)

mendeteksi api, setelah dilakukan pengujian sistem sudah dapat bekerja dengan baik dan jarak maksimum yang dapat dijangkau oleh robot adalah 1.5 meter.Pengujian ketiga adalah pencatatan waktu yang dibutuhkan robot dalam mendeteksi api, bergerak mendekat, dan memadamkan api sesuai dengan percobaan yang dilakukan maka dapat diambil rata-rata waktu yang dibutuhkan adalah 28 detik.

Gambar 5. Grafik koordinat titik tengah api.

Gambar 6. Grafik Koordinat error terhadap titik tengah a4

Gambar 7. Grafik posisi api terhadap titik tengah Robot dan posisi robot terhadap titik tengah api.

Gambar 5 adalah grafik dari nilai koordinat titik tengah api yang dicatat oleh robot menggunakan program visual c++ 2008. Posisi titik tengah api ditentukan berdasarkan posisi api terhadap kamera robot, sedangkan Gambar 6 adalah grafik dari nilai error robot terhadap titik tengah api yang dicatat oleh robot berdasarkan jarak kemencengan posisi robot terhadap titik tengah api.Gambar 7 adalah perpaduan grafik posisi api terhadap titik tengah robot dan posisi robot terhadap titik tengah api dimana posisi robot sesungguhnya di gambarkan dengan garis berwarna merah dari pengujian trajectory planning diatas robot bergerak sesuai dengan harapan.

SIMPULAN

1. Setelah melakukan penelitian dan pengujian terhadap sistem sebanyak 5 kali, dapat diambil kesimpulan sebagai berikut: Aplikasi dapat mendeteksi api dengan 2 cara yaitu pengolahan citra dan sensor api. Sensor bekerja ketika proses color filtering telah mendeteksi api dengan tujuan ketika terjadi kesalahan pendeteksian oleh pengolahan citra sensor api dapat melakukan pendeteksian yang akan menjadi penentuan aktuator yang berupa alat pemadam api untuk memadamkan api. 2. Sensor telah dapat bekerja dengan baik ketika

pengolahan citra salah mendefinisikan api. Sensor dapat memberikan inputan nilai yang benar sebagai penentuan aktuator alat pemadam api dapat bekerja memadamkan objek yang dianggap api tersebut.

3. Aplikasi dapat menggerakkan Robotino sesuai dengan koordinat lokasi api dengan memanfaatkan proses hough transform circle

guna mencari titik tengah dari api, dan robot dapat bergerak mendekati api tersebut.

DAFTAR PUSTAKA

Ervika, Pramu. 2012. Aplikasi webcam untuk mendeteksi gerakan suatu objek. Universitas Diponegoro: Semarang.

Ari, Sutrisna Permana. 2009. Deteksi kebakaran berbasis webcam secara real time dengan pengolahan citra digital. Institut Teknologi Telkom : Bandung.

Gentang, Syahba Nala. 2011. Tracking bola menggunakan robotino.

Institut Teknologi Sepuluh November : Surabaya. Muhadi. 2008. Pencegahan Resiko Kebakaran

Gedung : Perandan Tindakan Pusat Layanan Kebakaran. Universitas Dipenogoro : Semarang.

Microsoft, Inc. 2006. Microsoft Visual Studio.

(Online).

(http://www.microsoft.com/visualstudio/tut orial.html, diakses 25 Desember 2012). 0 100 200 300

Koordinat titik

tengah api

Koordinat titik tengah api -100 0 100 200

Koordinat error

robot terhadap titik

tengah api

Koordinat error robot terhadap titik tengah api -150 -100 -50 0 50 100 150 200 250 Posisi api terhadap titik tengah robot Posisi robot terhadap titik tengah api

(8)

Festo, Corp. 2008. Learn and troubleshooting robotino. (Online). (http://www.festo-didactic.com/forum/troubleshooting/openrobo tinoapi.html, diakses 12 November 2012). DFRobot, Corp. 2011. DF Robot Flame Sensor

datasheet. (Online). (http://www.dfrobot.com/datasheet/dfrobotfla mesensor.html, diakses 17 Februari 2013). ROS. 2010. Penggunaan modul sensor tambahan

untuk robotino. (Online). (http://www.festo-didactic.com/sensor.html, diakses 13 November 2012).

Gambar

Gambar 1. Blok diagram input dan output.
Gambar 2. Blok diagram sistem secara keseluruhan
Gambar 4. Filter Thresholding HSV
Gambar 6. Grafik Koordinat error terhadap titik  tengah a4

Referensi

Dokumen terkait

Dari pernyataan tersebut berarti bahwa Ho diterima Ha ditolak, sehingga hipotesis III yang menyatakan tidak ada perbedaan pengaruh pemberian intervensi long axis

Tujuan dilakukan uji kadar air ini adalah untuk mengetahui persentase kadar air yang terkandung dalam briket dimana persentase kadar air yang dimiliki oleh setiap sampel

Disetiap pertemuan, kepala desa Sokaraja Lor memberikan solusi atau jalan keluar dari permasalahan yang ada di desa, namun untuk semua kegiatan yang sudah ada

a.. Disaudia adalah satu jenis gangguan bicara yang disebabkan gangguan pendengaran. Gangguan pendengaran tersebut menyebabkan kesulitan dalam menerima

Menimbang, bahwa selanjutnya Majelis Hakim akan mempertimbangkan terlebih dahulu mengenai asal-usul tanah objek sengketa yaitu Sawah Sa’pang yang terletak di

bahwa sebagai upaya untuk mewujudkan kepastian hukum penyelenggaraan pencatatan sipil di Kota Tasikmalaya dan dengan telah diberlakukannya Undang-Undang Nomor 23 Tahun 2006

learning a language can not be separated from learning vocabulary because the language itself consists of many vocabularies which makes up a language.The objective

 Peserta mampu menyusun spesifikasi teknis pengadaan barang/jasa yang sesuai dengan kebutuhan dan paket pengadaan barang/jasa untuk berbagai jenis pengadaan barang/jasa.. 