TA : Rancang Bangun Robot Pemadam Api Menggunakan Pengolahan Citra Digital dan Flame Sensor.

(1)

RANCANG BANGUN ROBOT PEMADAM API MENGGUNAKAN PENGOLAHAN CITRA DIGITAL DAN FLAME SENSOR

TUGAS AKHIR

Disusun Oleh:

Nama : Robert Dwi Djoyo Kusuma NIM : 08.41020.0080

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

2013

STIKOM


(2)

RANCANG BANGUN ROBOT PEMADAM API MENGGUNAKAN PENGOLAHAN CITRA DIGITAL DAN FLAME SENSOR

TUGAS AKHIR

Diajukan sebagai salah satu syarat untuk menyelesaikan Program Sarjana Komputer

Disusun Oleh :

Nama : Robert Dwi Djoyo Kusuma NIM : 08.41020.0080

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

2013

STIKOM


(3)

Penulis

DAFTAR ISI

Halaman

ABSTRAK …….. ... 7

KATA PENGANTAR ... 8

DAFTAR ISI ……. ... 10

DAFTAR TABEL ... 15

DAFTAR GAMBAR ... 16

DAFTAR LAMPIRAN ... 18

BAB I PENDAHULUAN ... 2

1.1 Latar Belakang Masalah ... 2

1.2 Perumusan Masalah ... 4

1.3 Pembatasan Masalah... 4

1.4 Tujuan ... 5

1.5 Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 7

2.1 Robotino ... 7

2.2 DF ROBOT flame sensor ... 9

2.3 Webcam ... 12

2.4 Pengolahan Citra ... 13

2.4.1 Citra...13

STIKOM


(4)

2.4.2 Pengambangan (thresholding)...13

2.4.3 Color Filtering...14

2.4.4 Color Space...15

2.4.5 Smoothing...18

2.4.6 Computer Vision...20

2.4.7 OpenCV...21

2.4.8 OpenRobotino API...22

BAB III METODE PENELITIAN... 23

3.1 Perancangan Sistem dan Blok Diagram Sistem ... 23

3.1.1Cara Kerja Sistem Secara Keseluruhan ... 25

3.2 Perancangan Perangkat Lunak... 26

3.3 Inisialisasi Koneksi ... 28

3.4 Pergerakan Robotino...28

3.5 Streaming Citra...30

3.5.1 Penerimaan Data Citra...30

3.6 Pengolahan Citra...32

3.6.1 Konversi dari Ruang Warna RGB ke Ruang Warna HSV...33

3.6.2 Hough Transform Circle...38

3.6.3 Thresholding...39

3.6.4 Smoothing...41

3.7 Trajectory Planning...42

3.8 Flame Sensor...44

3.9 Alat Pemadam Api...45

3.10 Metode Pengujian dan Evaluasi Sistem...32

3.10.1 Pengujian dan Evaluasi Koneksi Robotino...46

3.10.2 Pengujian dan Evaluasi Pergerakan Robotino...46

STIKOM


(5)

3.10.3 Pengujian dan Evaluasi Streaming Citra Melalui Kamera

Robotino...47

3.10.4 Pengujian dan Evaluasi Konversi RGB ke HSV...47

3.10.5 Pengujian dan Evaluasi Flame Sensor...49

3.10.6 Pengujian dan Evaluasi Trajectory Planning...50

3.10.7 Pengujian dan Evaluasi Sistem Secara Keseluruhan...50

BAB IV HASIL DAN PEMBAHASAN ... 52

4.1 Pengujian dan Evaluasi Koneksi Robotino ... 52

4.1.1 Tujuan ... 52

4.1.2 Alat yang Digunakan ... 52

4.1.3 Prosedur Pengujian ... 53

4.1.4 Hasil Pengujian ... 53

4.1.5 Evaluasi ... 54

4.2 Pengujian dan Evaluasi Pergerakan Robotino ... 55

4.2.1 Tujuan ... 55

4.2.2 Alat yang Digunakan ... 55

4.2.3 Prosedur Pengujian ... 56

4.2.4 Hasil Pengujian ... 56

4.2.5 Evaluasi ... 56

4.3 Pengujian dan Evaluasi Streaming Citra Melalui Kamera Robotino ... 56

4.3.1 Tujuan ... 57

4.3.2 Alat yang digunakan ... 57

4.3.3 Prosedur Pengujian ... 57

4.3.4 Hasil Pengujian ... 58

4.3.5 Evaluasi ... 58

STIKOM


(6)

4.4 Pengujian dan Evaluasi Konversi RGB ke HSV dan Thresholding ... 59

4.4.1 Tujuan ... 59

4.4.2 Alat yang digunakan ... 59

4.4.3 Prosedur Pengujian ... 59

4.4.4 Hasil Pengujian ... 60

4.4.5 Evaluasi ... 62

4.5 Pengujian dan Evaluasi Trajectory Planning ... 62

4.5.1 Tujuan ... 63

4.5.2 Alat yang digunakan ... 63

4.5.3 Prosedur Pengujian ... 63

4.5.4 Hasil Pengujian ... 64

4.5.5 Evaluasi ... 67

4.6 Pengujian dan Evaluasi Flame Sensor ... 67

4.6.1 Tujuan ... 67

4.6.2 Alat yang digunakan ... 67

4.6.3 Prosedur Pengujian ... 68

4.6.4 Hasil Pengujian ... 68

4.6.5 Evaluasi ... 70

4.7 Pengujian dan Evaluasi Alat Pemadam Api ... 70

4.7.1 Tujuan ... 70

4.7.2 Alat yang digunakan ... 71

4.7.3 Prosedur Pengujian ... 72

4.7.4 Hasil Pengujian ... 72

4.7.5 Evaluasi ... 72

STIKOM


(7)

4.8 Pengujian dan Evaluasi Sistem Secara Keseluruhan ... 72

4.8.1 Tujuan ... 72

4.8.2 Alat yang digunakan ... 73

4.8.3 Prosedur Pengujian ... 72

4.8.4 Hasil Pengujian ... 74

4.8.5 Evaluasi ... 75

BAB V PENUTUP ... 80

5.1 Simpulan ... 80

5.2 Saran ... 81

DAFTAR PUSTAKA ... 82

STIKOM


(8)

DAFTAR TABEL

Halaman Tabel 2.1 Karakteristik Optikal – Elektro dari DF ROBOT flame sensor. ... 10 Tabel 2.2 Satuan Simbol dan Unit pada DF ROBOT flame sensor. ... 11 Tabel 4.1 Jarak maksimum robot dalam mendeteksi api...67

STIKOM


(9)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Robotino ... 7

Gambar 2.2 Bagian-bagian Robotino... ... 9

Gambar 2.3 (a)Modul dan (b)bentuk dan ukuran fisik DF ROBOT flame sensor ...10

Gambar 2.4 (a) Perbandingan kolektor power dengan temperature dan (b) panjang gelombang terhadap sensitivitas gelombang. ... 11

Gambar 2.5 Webcam ... 12

Gambar 2.6 RGB Colorwheels ... 15

Gambar 2.7 RBG Lightness... 16

Gambar 2.8 HSV Hexcone ... 17

Gambar 2.9 HSV Box Colorspace ... 18

Gambar 3.1 Blog diagram sistem secara umum ... 24

Gambar 3.2 Blog diagram input dan output ... 25

Gambar 3.3 Blog diagram sistem secara keseluruhan. ... 26

Gambar 3.4 Flowchart sistem secara global ... 27

Gambar 3.5 Omni-Directional Drive Pada Robotino ... 29

Gambar 3.6 Lingkaran Elemen Warna Hue ... 34

STIKOM


(10)

Gambar 3.7 (a) Segmentasi dengan toleransi hue dengan rentang (-)120 – 15(b)

toleransi hue dengan rentang 30 – 360...34

Gambar 3.8 (a) Gambar asli (b) hasil tresholdingdengan toleransi saturation......35

Gambar 3.9 (a) Gambar asli (b) hasil tresholding dengan toleransi value...36

Gambar 4.0 Citra input ... 38

Gambar 4.1 Filter Thresholding HSV ... 41

Gambar 4.2 Bagian-bagian alat pemadam api ... 45

Gambar 4.3 Consoleterhubung dengan simulasi Robotino ... 54

Gambar 4.4 Consoleterhubung dengan Robotino ... 54

Gambar 4.5 Gambar streaming kamera Robotino... 58

Gambar 4.6 (a)warna asli, (b) Warna dengan konversi HSV ... 60

Gambar 4.7 Gambar thresholding ... 61

Gambar 4.8 Gambar Smoothing ... 62

Gambar 4.9 Konfigurasi hue tanpa menggunakan saturation dan value. ... 64

Gambar 4.10 Konfigurasi saturation tanpa menggunakan hue dan value ... 64

Gambar 4.11 Konfigurasi value tanpa menggunakan saturation dan hue ... 64

Gambar 4.12 Konfigurasi menggunakan hue, saturation, value ... 65

Gambar 4.13 Grafik koordinat titik tengah api ... 68

Gambar 4.14Grafik koordinat error robot terhadap titik tengh api ... 68

Gambar 4.15 Grafik posisi api terhadap titik tengah robot dan posisi robot terhadap titik tengah api ... 69

Gambar 5.0 Grafik tegangan sensor benda terhadap jarak ... 69

Gambar 5.1 Denah lab mikrokontroler sebagai percobaan pergerakan robot ... 70

STIKOM


(11)

DAFTAR LAMPIRAN

Halaman

Lampiran 1. Kode Program Pergerakan Robotino ... 79

Lampiran 2. Kode Program Trackbar ... 79

Lampiran 3. Kode Program Streaming ... 79

Lampiran 4. Kode Program Initialiasi... 79

Lampiran 5. Kode Program Image Processing ... 80

Lampiran 6. Kode Program Perhitungan ... 81

Lampiran 7. Kode Program Hitung Error ... 82

Lampiran 8. Kode Program Delay ... 82

Lampiran 9. Kode Program Nose ... 83

Lampiran 10. Kode Program Data Waktu ... 83

Lampiran 11. Kode Program Grab Fire ... 84

Lampiran 12. Kode Program Image Received ... 84

Lampiran 13. Kode Program Destroy ... 85

Lampiran 14. Kode Program Main ... 86

Lampiran 15. Biodata Penulis ... 87

STIKOM


(12)

STIKOM


(13)

ABSTRAK

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.

Berdasarkan masalah di atas penulis membuat robot pemadam api. 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. Selain itu robot ini juga dilengkapi dengan sensor api yang dapat mendeteksi suhu dari api, sensor akan mengeluarkan keluaran berupa tegangan pada saat mendeteksi objek api. Setelah itu aktuator berupa alat pemadam api akan memadamkan api tersebut.

Pengolahan citra memanfaatkan color filtering yaitu mengkonversi citra HSV menjadi citra biner dengan konfigurasi threshold (96, 2, 254) – (180, 43, 256) untuk api merah dan (31, 48, 253) – (105, 243, 256) untuk api biru. Citra dengan range tersebut akan didefinisikan api.

Sensor bekerja dengan baik ketika pengolahan citra mendefinisikan api. Sensor memberikan keluaran tegangan sebesar 5 v ketika robot berada 30 cm di depan api. Jarak maksimum yang dapat dijangkau robot dalam mendeteksi api adalah 1.5 meter dengan tingkat keberhasilan 100% dan 1.8m dengan tingkat keberhasilan 25% untuk proses trajectory planning.

Keyword: Kebakaran, flame sensors, api, webcam, trajectory planning.

STIKOM


(14)

STIKOM


(15)

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

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.

Angka kebakaran yang terjadi di Jakarta mulai Januari sampai dengan 27 Desember 2012 mencapai angka 1.008 kejadian. Kebakaran ini terjadi di lima wilayah, yaitu Jakarta Timur, Barat, Selatan, Utara, dan Pusat.

"Selama tahun 2012, kebakarannya sudah berulang 1.008 kali. Paling banyak frekuensi kebakaran di Jakarta Timur sebanyak 285 kali," kata Kepala Dinas Pemadam Kebakaran, Paimin Napitupulu di kantor Dinas Pemadam Kebakaran Pemrov DKI pada Kamis (27/12/2012).

Penyebab kebakaran paling besar diakibatkan oleh korsleting listrik, sebanyak 663 kali. Sedangkan kompor menjadi penyebab kebakaran di 88 kejadian. Kemudian penyebab lainnya adalah rokok sebanyak 46 kali, lampu 1 kali, dan dengan penyebab lain-lain seperti anak main petasan, sampah, atau obat nyamuk. Dari 1.008 kebakaran tersebut, diperkirakan total kerugian mencapai Rp 290.304.480.000. Total tersebut hanya perkiraan kebakaran sampai tanggal 27 Desember 2012. (Napitupulu, 2012)

Karena jumlah frekuensi kebakaran yang terus meningkat, dinas pemadam kebakaran mengimbau kepada masyarakat untuk selalu waspada dan tidak mudah panik.

STIKOM


(16)

Sebagai upaya untuk menangani masalah di atas banyak yang sudah melakukan 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. Penelitian yang dilakukan oleh Robertinus meneliti tentang.

OLE ( Off-road Loeshenhelt ), yang dalam bahasa Jerman berarti “peralatan pemadam kebakaran off-road”. OLE adalah sebuah produk industri dari studio desain University of Magdeburg-Stendal. Robot ini dilengkapi dengan tangki air dan pemadam api bertugas sebagai alat pemadam.

“OLE bergerak otomatis dengan dipandu oleh GPS dan dilapisi dengan lapisan anti api. Robot ini memiliki enam kaki yang memiliki kemiripan pelindung” ( Robertinus, 2010 ).

Robot ini dirancang untuk memadamkan api di hutan atau ruangan terbuka dan hanya menggunakan satu sensor untuk mendeteksi lokasi dari sumber api yaitu sensor panas.

Nalwan menyebutkan bahwa, “Sistem kendali berupa keypad,joystick atau remote kontrol akan mengirim perintah ke otak robot dan memberikan respon ke motor driver output information atau action tools”.

Delta Elektronik membuat sebuah robot pemadam api dengan menggunakan sensor api yang mendeteksi api dengan menggunakan sensor

ultraviolet. Robot yang digunakan kali ini adalah robot yang bergerak

menggunakan roda oleh karena itu dibutuhkan motor DC sebagai penggeraknya. ( Nalwan, 2012 ).

STIKOM


(17)

Robot ini menggunakan satu sensor dalam pendeteksiannya dan dibutuhkan joystick, keypad, atau remote kontrol untuk menggerakannya dengan kata lain dibutuhkan manusia dalam proses kerjanya.

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. 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. Setelah itu 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 jaraksejauh 20cm.

Berbeda dengan OLE robot ini menggunakan omni-drive sebagai alat geraknya sehingga robot ini dapat melakukan manuver dengan lebih baik dan presisi. Omni-drive merupakan roda yang dapat bergerak ke segala arah sampai 360 derajat membuat robot dapat dengan leluasa bergerak dan melakukan manuver. Kelebihan dari robot ini adalah dalam sistem pendeteksiannya menggunakan pendeteksian ganda, yaitu pengolahan citra untuk mengenali bentuk citra dari api secara real-time dan sensor untuk mendeteksi suhu dari api dengan jarak yang telah ditentukan membuat robot ini lebih presisi dalam mengenali objek api disekitarnya jika dibandingkan dengan OLE dan Delta Robot yang

STIKOM


(18)

menggunakanpendeteksian tunggal.

Robot ini juga telah diprogram dan dapat bekerja tanpa adanya kontrol secara langsung seperti OLE dan Delta Robot yang menggunakan joystick dan

remote kontrol sebagai pengendalinya. Dengan adanya robot ini diharapkan

kecelakaan manusia akibat proses pemadaman kebakaran dapat diminimalkan.

1.2 Perumusan Masalah

1. Bagaimana membuat robot pemadam api dengan menggunakan metode pengolahan citra digital dan flame sensor ?

2. Bagaimana citra digital mengenali objek api serta membedakan dengan objek di sekitarnya ?

3. Bagaimana sensitivitas flame sensor terhadap jarak sensor dengan api ?

1.3 Pembatasan Masalah

1. Robot yang digunakan adalah Robotino.

2. Webcam yang digunakan adalah webcam robotino.

3. Sensor api yang digunakan adalah DF ROBOT flame sensor.

4. Pengujian robot dilakukan di dalam ruangan dengan pencahayaan tetap tanpa sekat.

5. Serangkaian alat pemadam api dengan menggunakan modifikasi wiper pada mobil.

STIKOM


(19)

1.4 Tujuan

1. Membuat robot pemadam api dengan menggunakan pengolahan citra digital dan flame sensor.

2. Membuat citra digital dapat mengenali objek api dan membedakan dengan objek disekitarnya.

3. Mengukur sensitivitas sensorterhadap jarak sensor dengan api.

1.5 Sistematika Penulisan

Pada penulisan Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut :

BAB I : PENDAHULUAN

Pada bab ini dikemukakan hal–hal yang menjadi latar belakang, perumusan masalah, batasan masalah, tujuan yang ingin dicapai, manfaat serta sistematika penulisan Laporan Tugas Akhir ini.

BAB II : LANDASAN TEORI

Pada bab ini dibahas teori yang berhubungan dengan Robotino, DF Robot flame sensor, alat pemadam api, webcam robotino, pengolahan citra.

BAB III : METODE PENELITIAN

Pada bab ini dibahas mengenai penjelasan sistem keseluruhan beserta detail dari blok diagram sistem yang dibuat, penjelasan perancangan perangkat keras converter tegangan, modifikasi alat pemadam api,

STIKOM


(20)

modul sensor DF ROBOT flame sensor dan program pengolahan citra beserta detail cara kerjanya.

BAB IV : HASIL DAN PEMBAHASAN

Pada bab ini memaparkan berbagai macam percobaan yang dilakukan, hasil-hasil yang didapatkan berserta solusi dari permasalahan yang didapat. Selain itu disertai pula hasil uji coba perbagian seperti ujicoba kepekaan sensor terhadap jarak dengan api, ujicoba minimum sistem converter tegangan, ujicoba kepekaan kamera terhadap warna api dengan melakukan kalibrasi terhadap nilai HSV yang ada dan juga uji coba sistem secara keseluruhan meliputi hasil pengolahan citra, pergerakan robot dan pemadam api.

BAB V : PENUTUP

Pada bab ini dibahas mengenai kesimpulan dari sistem terkait dengan tujuan dan permasalahan yang ada, tentang bagaimana robot pemadam api tersebut beroperasi, kelebihan dan kekurangan dari robot ini serta saran untuk pengembangan sistem di masa mendatang.

STIKOM


(21)

BAB II LANDASAN TEORI

2.1 Robotino

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

usb webcam. Robotino didesain modular, sehingga dapat dengan mudah

ditambahkan berbagai akesesoris pelengkap, seperti sensor laser scanner,

gyroscope, dan postioning system Northstar dalam ruangan. (ROS, 2010).

Gambar 2.1 Robotino

Gambar 2.1 merupakan bentuk fisik dari Robotino. Robotino dapat bergerak maju, mundur dan menyamping ke segala arah, serta berputar di tempat, dengan menggunakan tiga roda. Robot ini dapat diintegrasikan dan digunakan

STIKOM


(22)

sebagai pilihan teknologi, misalnya untuk teknologi penggerak listrik, sensor, teknologi kontrol, pengolahan citra dan teknik pemrograman (Karras, 2009). Robotino memiliki spesifikasi perangkat keras sebagai berikut : (Weber, dkk. 2010)

1. 1 buah chasis 2. 3 buah drive unit 3. 2 buah baterai

4. 1 buah command bridge 5. 1 buah kamera

6. 1 buah soket konektor VGA 7. 2 buah USB ports

8. 1 buah ethernet

9. 9 buah sensorinfrared 10. 3 buah incremental encoder 11 1 buah anti-coallision sensor 12 1 buah wireless LAN access point 13. 1 buah compact flash card

14. 1 paket I/O interface tambahan

STIKOM


(23)

Gambar 2.2 Bagian-bagian Robotino (Weber, dkk. 2010).

2.2 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 panas berkisar 25 C – 85 C. Sensitivitas dari produk ini sudah teruji dengan baik melalui beberapa percobaan yang telah dilewati 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. Berikut adalah modul dan ukuran fisik dari DF ROBOT flame sensor :

STIKOM


(24)

(a) (b)

Gambar 2.3 (a)Moduldan (b) bentuk dan ukuran fisik DF ROBOT flame sensor ( DFRobot, 2011 ).

Tabel 2.2 Karakteristik Optikal – Elektro dari DF ROBOT flame sensor.

STIKOM


(25)

Tabel 2.3 Satuan Simbol dan Unit pada DF ROBOT flame sensor.

(a) (b)

Gambar 2.4 (a) Perbandingan kolektor power dengan temperature dan (b) panjang gelombang terhadap sensitivitas gelombang. (DF ROBOT.2011)

STIKOM


(26)

2.3 Webcam

Webcam adalah kamera video sederhana berukuran relatif kecil. 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).

Gambar 2.5 Webcam

(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)

STIKOM


(27)

2.4 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. (Munir, Rinaldi. 2004)

2.4.1 Citra

Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang secara terus menerus menjadi gambar diskrit melalui proses

sampling. Gambar analog dibagi menjadi x baris dan y kolom sehingga menjadi

gambar diskrit. Persilangan antara baris dan kolom tertentu disebut dengan piksel [n,m]. (Munir, Rinaldi.2004)

2.4.2 Pengambangan (Thresholding)

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

Pengkonversian citra hitam-putih (greyscale) menjadi citra biner dilakukan untuk alasan-alasan sebagai berikut :

1. Untuk mengidentifikasi keberadaan objek, yang direpresentasikan sebagai daerah didalam citra.

2. Untuk lebih memfokuskan pada analisis bentuk morfologi, yang dalam hal ini intensitas piksel tidak terlalu penting dibandingkan bentuknya. Setelah

STIKOM


(28)

objek dipisahkan dari latar belakangnya, properti geometri dan morfologi/topologi objek dapat dihitung dari citra biner.

3. Mengkonversi citra yang telah di ditingkatkan kualitas tepinya (edge

enhancement) ke penggambaran garis-garis tepi. Hal ini perlu dilakukan

untuk membedakan tepi yang kuat yang berkoresponden dengan batas-batas objek dengan tepi lemah yang berkoresponden dengan perubahan

illumination, bayangan, dll.

2.4.3 Color Filtering

Color filtering adalah suatu teknik pengolahan citra yang 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, dimana 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.

STIKOM


(29)

2.4.4 Color Space

1. RGB

Model warna RGB adalah model warna berdasarkan konsep penambahan kuat cahaya primer yaitu Red, Green dan Blue. Dalam suatu ruang yang sama sekali tidak ada cahaya, maka ruangan tersebut adalah gelap total. Tidak ada signal gelombang cahaya yang diserap oleh mata kita atau RGB (0,0,0). Ruang warna RGB.dapat dilhat pada Gambar 2.6.

Gambar 2.6 RGB Colorwheels (Syuhadi,2010)

Apabila kita menambahkan cahaya merah pada ruangan tersebut, maka ruangan akan berubah warna menjadi merah misalnya RGB (255,0,0), semua benda dalam ruangan tersebut hanya dapat terlihat berwarna merah. Demikian apabila cahaya kita ganti dengan hijau atau biru (Permana,2010). Pencerahan serta pengaruh intensitas cahaya dalam ruang warna RGB dapat dilihat pada Gambar 2.7.

STIKOM


(30)

Gambar 2.7 RBG Lightness (Permana,2010)

2. HSV

Model HSV (Hue Saturation Value) menunjukkan ruang warna dalam bentuk tiga komponen utama, yaitu hue, saturation dan value (atau disebut juga

brightness). Hue adalah sudut dari 0 sampai 360 derajat. Biasanya 0 adalah

merah, 60 derajat adalah kuning, 120 derajat adalah hijau, 180 derajat adalah cyan, 240 derajat adalah biru dan 300 derajat adalah magenta.

Hue menunjukkan jenis warna (seperti merah, biru atau kuning) atau corak warna, yaitu tempat warna tersebut ditemukan dalam spektrum warna. Merah, kuning dan ungu adalah kata-kata yang menunjukkan hue. Saturasi suatu warna adalah ukuran seberapa besar kemurnian dari warna tersebut. Sebagai contoh, suatu warna yang semuanya merah tanpa putih adalah saturasi penuh. Jika ditambahkan putih ke merah, hasilnya lebih berwarna-warni dan warna bergeser dari merah ke merah muda. Hue masih tetap merah tetapi nilai saturasinya berkurang. Saturasi biasanya bernilai 0 sampai 1 (atau 0% sampai 100%) dan menunjukkan nilai keabu-abuan warna dimana 0 menunjukkan abu-abu dan 1 menunjukkan warna primer murni. Komponen ketiga dari HSV adalah value atau

STIKOM


(31)

disebut juga intensitas, yaitu ukuran seberapa besar kecerahan suatu warna atau seberapa besar cahaya datang dari suatu warna. Nilai value dari 0% sampai 100%. Pemetaan ruang warna HSV dalam bentuk Hexcone dapat dilihat pada Gambar 2.8.

Gambar 2.8 HSV Hexcone (Permana,2010)

Suatu warna dengan nilai value 100% akan tampak sangat cerah dan suatu warna dengan nilai value 0 akan tampak sangat gelap. Sebagai contoh, jika hue adalah merah dan value bernilai tinggi maka warna akan terlihat cerah tetapi ketika nilai value bernilai rendah maka warna tersebut akan terlihat gelap. Color

space dari HSV dapat dilihat pada Gambar 2.9.

STIKOM


(32)

Gambar 2.9 HSV Box Colorspace. (Permana,2010)

Dengan sistem koordinat HSV, beberapa pengamatan dapat dilakukan sehubungan dengan daerah warna kubus RGB. Yang pertama adalah vertek-vertek cyan, magenta dan kuning dari kubus yang menunjukkan warna yang lebih cerah dibanding dengan warna merah, hijau dan biru karena warna merah hijau dan biru diproyeksikan lebih rendah ke sumbu netral. Dengan cara yang sama, semua warna dalam piramid yang ditunjukkan vertek C,Y,M dan W berhubungan ke warna-warna lebih terang dan piramid yang ditunjukkan oleh titik pusat dan vertek R,G dan B berhubungan ke warna-warna yang lebih gelap. Warna dekat sumbu netral dalam kubus akan mempunyai banyak warna karena saturasinya kurang dan warna yang lebih jauh dari sumbu ini akan tampak lebih hidup (Permana,2010).

2.4.5 Smoothing

Proses smoothing citra dilakukan untuk menekan noise pada citra. Gangguan tersebut biasa muncul akibat hasil dari alat pengambilan citra yang kurang bagus atau akibat saluran transmisi. Pada umumnya noise tersebut berupa

STIKOM


(33)

variasi intensitas suatu pixel yang tidak berkorelasi dengan pixel-pixel tetangganya. Secara visual, gangguan mudah dilihat oleh mata karena tampak berbeda dengan pixel tetangganya. Gaussian Filtering adalah filter ideal yang mampu mengurangi besarnya frekuensi spasial yang tinggi yang mampu mengurangi besarnya frekuensi yang lebih tinggi lagi dalam sebuah citra.

Ada beberapa cara yang berbeda untuk mengimplementasikan Gaussian

Filtering. Salah satunya menggunakan Spatial Filter, konvolusi ini menggunakan

Operator Gaussian Smoothing 2-D yang mirip dengan filter1-D, tetapi

menggunakan kernel yang berbeda yang mewakili bentuk Gaussian 1-D untuk nilai X dan nilai Gaussian 1-D untuk nilai Y. Sehingga konvolusi ini termasuk tipe non linear kernel. Dalam Spatial Filter digunakan persamaan 2.1.

………(2.1)

Dimana x adalah jarak dari citra asli pada aksis horizontal, y adalah jarak dari citra asli dalam aksis vertikal, dan σ adalah standar deviasi dari distribusi

Gaussian. Ketika diterapkan dalam gambar dua dimensi, rumus ini menghasilkan

permukaan yang kontur, yaitu lingkaran konsentris dengan distribusi Gaussian dari titik pusat. Nilai dari distribusi ini digunakan untuk membangun sebuah konvolusi matriks yang diterapkan pada citra asli. Nilai baru pada setiap pixel diatur untuk rata-rata tertimbang dari pixel tetangga (neighborhood). Nilai pixel asli menerima bobot yang lebih berat (yang memiliki nilai tertinggi Gaussian) dan

pixel tetangga menerima bobot yang lebih kecil sebagai jarak mereka meningkat

pixel asli. Hal ini menghasilkan blur yang melindungi batas-batas dan tepi yang

lebih baik daripada lainnya, blurring filters lebih seragam (Munir, 2004).

STIKOM


(34)

2.4.6 Computer Vision

Computer Vision adalah pencitraan komputer dimana aplikasi tidak

melibatkan manusia dalam proses pengulangan visual. Dengan kata lain, gambar yang diperiksa dan di olah oleh komputer. Meskipun orang yang terlibat dalam pengembangan sistem aplikasi, akhirnya membutuhkan komputer untuk mengambil informasi visual secara langsung (Umbaugh, 1998).

Computer vision merupakan sebuah proses otomatis yang

menintegrasikan sejumlah besar proses persepsi visual, seperti pengolahan citra, klasifikasi citra, pengenalan citra dan akusisi citra. Computer vision didefinisikan sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati atau diobservasi. Cabang ilmu ini bersama kecerdasan buatan (Artificial Intelligence) akan mampu menghasilkan sistem kecerdasan visual (Visual Intelligence System) (Munir, 2004).

Vision = Geometri + Measurement + Interpretatio………(2.2)

Proses-proses dalam computer vision dapat dibagi menjadi tiga aktivitas: a. Memperoleh atau mengakuisisi citra digital.

b. Melakukan teknik komputasi untuk memperoses atau memodifikasi data citra. c. Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan

untuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan, memantau proses manufaktur, dan lain-lain.

STIKOM


(35)

2.4.7 OpenCV

OpenCV (Open Computer Vision) adalah sebuah API (Application

Programming Interface) library yang sudah sangat familiar pada pengolahan citra

computer vision. Computer vision itu sendiri adalah salah satu cabang dari bidang

ilmu pengolahan citra (Image Processing) yang memungkinkan komputer dapat melihat seperti manusia. Dengan computer vision tersebut komputer dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari computer vision adalah face recognition, face

detection, face/pbject tracking, road tracking, dll.

OpenCV adalah libraryopen source untuk computer vision untuk C/C++, OpenCV didesain untuk aplikasi real-time, memiliki fungsi-fungsi akuisisi yang baik untuk image/video. OpenCV juga menyediakan interface ke Integrated

Performance Primitives (IPP) Intel sehingga jika anda bisa mengoptimasi aplikasi

computer vision anda jika menggunakan prosesor Intel (Syafi’i,2011). Fitur yang

dimiliki OpenCV antara lain :

1. Manipulasi data citra (alocation, copying, setting, convert).

2. Citra dan video I/O (file dan kamera based input, image/video file output). 3. Manipulasi Matriks dan Vektor beserta rutin-rutin aljabar linear (products,

solvers, eigenvalues, SVD).

4. Data struktur dinamis (lists, queues, sets, trees, graphs).

5. Pemroses citra fundamental (filtering, edge detection, corner detection, sampling and interpolation, color conversion, morphological operations,

histograms, image pyramids).

STIKOM


(36)

6. Analisis struktur (connected components, contour processing, distance

Transform, various moments, template matching, Hough Transform,

polygonal approximation, line fitting, ellipse fitting, Delaunay

triangulation).

7. Kalibrasi kamera (calibration patterns, estimasi fundamental matrix,

estimasi homography, stereo correspondence).

8. Analisis gerakan (optical flow, segmentation, tracking). 9. Pengenalan obyek (eigen-methods, HMM).

10. Graphical User Interface (display image/video, penanganan keyboard dan

mouse handling, scroll-bars).

OpenCV terdiri dari 3 library, yaitu:

1. CV : Untuk algoritma Image Processing dan Vision 2. Highgui : Untuk GUI, Image dan Video I/O

3. CXCORE : Untuk struktur data, support XML dan fungsi-fungsi grafis.

2.4.8 OpenRobotino API

OpenRobotinoAPI (Application Programming Interface) adalah library aplikasi programming yang dibuat khusus untuk Robotino yang diciptakan untuk mempermudah user dalam membuat program pada Robotino. Library ini memungkinkan akses penuh terhadap sensor dan actors pada Robotino. Komunikasi antara Robotino dengan PC melalui jaringan TCP dan UDP, dan semuanya sangat transparan, meskipun program yang berjalan sudah tertanam pada Robotino ataupun secara remote (Robotino,2010).

STIKOM


(37)

BAB III

METODE PENELITIAN

Untuk pengumpulan data yang diperlukan dalam melaksanakan tugas akhir, ada beberapa cara yang telah dilakukan, antara lain:

1. Studi kepustakaan

Studi kepustakaan berupa pencarian data-data literatur dari masing-masing fungsi pada library OpenCV dan OpenRobotinoAPI, melalui pencarian dari internet, dan konsep-konsep teoritis dari buku-buku penunjang serta metode yang akan digunakan untuk melakukan pengolahan citra.

2. Penelitian laboratorium

Penelitian laboratorium dilakukan dengan perancangan perangkat lunak, implementasi perangkat lunak, pengambilan data pengujian aplikasi dengan Robotino, kemudian melakukan evaluasi dari data hasil pengujian.

3.1. Perancangan Sistem dan Blok Diagram Sistem

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

Seperti pada Gambar 3.1 pada inisialisasi awal Robotino akan melakukan pergerakan dengan berputar 360 derajat guna mendeteksi keberadaan api, setelah gambar api tertangkap oleh kamera Robotino akan bergerak menuju lokasi api tersebut, setelah jarak yg memungkinkan flame detector akan memastikan bahwa gambar yang tertangkap oleh kamera tersebut benar sebuah

STIKOM


(38)

api dengan inputan suhu panas. Jika gambar tesebut benar sebuah api maka Robotino akan mengeluarkan keluaran tegangan yang akan menggerakan aktuator (alat pemadam api), yang dapat memadamkan api tersebut.

Gambar 3.1 Blog diagram sistem secara umum

Pada Gambar 3.2 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 beguna untuk memastikan bahwa gambar yang dideteksi oleh kamera tersebut adalah benar api sungguhan dengan mendeteksi suhu dari api tersebut.

Robotino

Personal Computer

Visual C++ (add: OpenCV, OpenRobotinoAPI)

Alat pemadam api

STIKOM


(39)

Gambar 3.2 Blog diagram input dan output .

Keluaran yang dihasilkan berupa tegangan yang akan digunakan untuk menggerakan aktuator berupa serangkaian alat pemadam api.

1.1.1 Cara kerja sistem secara keseluruhan

Pada Gambar 3.3 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 tresholding.

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.

ROBOTINO

WEBCAM

FLAME

SENSOR

ALAT

PEMADAM API

Personal

komputer

WIFI

STIKOM


(40)

Gambar 3.3 Blog diagram sistem secara keseluruhan.

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.

1.2 Perancangan Perangkat Lunak

Dalam perancangan perangkat lunak, compiler yang digunakan adalah Microsoft Visual C++ 2008. Untuk libraryyang digunakan pada pengolahan citra yaitu library OpenCV v2.1 dan library OpenRobotinoAPI 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.

Objek : Api.

Input Kamera : Citra Api.

Proses :

-Konversi RGB-HSV -Konversi Hsv-Citra Biner -Smoothing

-Kalibrasi Nilai Citra Api

Output : Citra Api (citra biner). Input Sensor: Suhu Api. Proses : -Pendeteksian Suhu. -Mengeluarkan tegangan statis sesuai suhu yang diterima.

-Kalkulasi perbedaan Jarak dengan tegangan. output Output : Tegangan Statis. Aktutor: Trajectory Planning. Aktuator: Alat Pemadam Api.

STIKOM

SURABAYA


(41)

Gambar 3.4 Flowchart sistem secara global

3.3 Inisialisasi Koneksi

Tahap-tahap inisialisai Robotino meliputi cara-cara setting koneksi Robotino dan pergerakan Robotino. Untuk kendali Robotino digunakan OpenRobotinoAPI (Application Programming Interface) yaitu library aplikasi

Ada api Inisialisasi koneksi

Streaming citra

Trajectory planing Pengolahan citra

Pergerakan Robotino

start

Flame sensor

Pemadam api Jarak > 20cm

Tidak ada api Stop True

False

True

False

True False

STIKOM


(42)

programming yang dibuat khusus untuk Robotino, yang diciptakan untuk 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 prototipe fungsi com.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, dimana pada awal program harus dideklarasikan terlebih dahulu.

3.4 Pergerakan Robotino

Robotino memiliki sistem pergerakan omni-directional drive dimana terdapat 3 buah roda yang digunakan untuk menggerakan Robotino. Berikut gambar sistem omni-directional drive Robotino pada Gambar 3.5.

STIKOM


(43)

. Gambar 3.5 Omni-Directional Drive Pada Robotino

Untuk 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, dimana pada awal program harus dideklarasikan terlebih dahulu.

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

STIKOM


(44)

3.5 Streaming Citra

Untuk menampilkan data citra yang sudah tersimpan pada Iplimage kedalam window baru digunakan prototipe 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);

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 set, namun delay tergantung threads yang sedang berjalan pada komputer 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.

3.5.1 Penerimaan Data Citra

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, dimana pada 1 pixel citra terdapat 3 channel, dan pada setiap channel berukuran 8bit. Ketika fungsi setStreaming bernilai true, fungsi imageReceivedEvent akan

STIKOM


(45)

terus melakukan streaming citra hingga koneksi diputuskan atau saat setStreaming bernilai false. Penyimpan data ke dalam format Iplimage akan ditunjukan seperti potongan program berikut:

Iplimage *ima =cvCreateImage(cvSize(width,height),IPL_DEPTH_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 variabel 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 setStreaming diset dengan nilai true, maka fungsi

imageReceivedEvent langsung menangkap data citra secara streaming. Untuk

mengakses fungsi imageReceivedEvent dibutuhkan deklarasi header file yang terletak pada rec::Robotino::com:Camera.h, dimana pada awal program harus dideklarsikan terlebih dahulu. Fungsi imageReceivedEvent 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:

STIKOM


(46)

class MyCamera : public Camera {

public: MyCamera() {

}

void imageReceivedEvent( const unsigned char* data,

unsigned int dataSize,

unsigned int width,

unsigned int height,

unsigned int numChannels,

unsigned int bitsPerChannel,

unsigned int step ); };

3.6 Pengolahan Citra

Gambar 3.6 Flowchart Pengolahan Citra

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 terpengharuh intensitas cahaya digunakan ruang warna HSV (Dhiemas, 2011), maka diperlukan proses konversi citra dari ruang warna RGB ke ruang warna HSV.

Tresholding

Smoothing

Konversi citra RGB ke HSV

STOP Pengolahan citra

Hough transform

STIKOM


(47)

Hasil color filtering dalam ruang warna HSV tersebut berupa citra biner atau hitam putih, dengan menentukkan batasan nilai threshold pada 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.

3.6.1 Konversi dari Ruang Warna RGB ke Ruang Warna HSV

HSV merupakan singkatan dari Hue, Saturation dan Value, sedangkan

color space 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 disini 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. Penggambaran elemen warna hue dapat dilihat pada Gambar 3.7.

STIKOM


(48)

Gambar 3.7 Lingkaran Elemen Warna Hue

Oleh karena elemen warna hue berupa lingkaran dan dituliskan dalam sudut maka setiap operasi yang berkaitan dengan elemen warna hue (penambahan/pengurangan, perhitungan toleransi, filter warna) merupakan operasi sudut. Penambahan nilai hue sebesar n akan terjadi pergeseran sudut sebesar no searah jarum jam sedangkan untuk pengurangan sebesar n akan terjadi pergeseran sudut sebesar no berlawanan dengan arah jarum jam. Berikut pada Gambar 3.7 merupakan contoh penggunaan toleransi hue pada proses segmentasi, sebuah gambar beberapa lingkaran dengan nilai hue yang berbeda-beda akan tetapi memiliki nilai saturation dan value yang sama. Pada OpenCV Hue bernilai 0-179 dikarenakan data yang digunakan untuk pengolahan citra adalah 8 bit.

(a) (b)

Gambar 3.8 (a) Segmentasi dengan toleransi hue dengan rentang (-)120 – 150 (b) toleransi hue dengan rentang 30 - 360

STIKOM


(49)

Saturation merupakan salah satu elemen warna HSV yang mewakili tingkat intensitas warna. Pada nilai tingkat kecerahan (value) yang sama nilai

saturation akan menggambarkan kedekatan suatu warna pada warna abu-abu.

Pada sistem nilai saturasi memiliki rentang antara 0 (minimum) dan 1 atau 100% (maksimum). Berikut pada Gambar 3.8 pengaruh nilai toleransi saturation pada proses segmentasi. Pada kasus ini akan menggunakan sebuah citra dengan beberapa objek lingkaran yang memiliki tingkat saturation berbeda tapi memiliki nilai hue dan value sama. Berdasarkan contoh kasus tersebut dapat dilihat bahwa nilai toleransi saturation mempengaruhi tingkat kemurnian warna yang ikut terseleksi dalam proses segmentasi. Pada OpenCV Saturation bernilai 0-255 dikarenakan data yang digunakan untuk pengolahan citra adalah 8 bit. Pada Gambar 3.8 diberikan nilai 70 untuk saturation.

(a) (b)

Gambar 3.9 (a) Gambar asli (b) hasil tresholding dengan toleransi saturation

Dalam ruang warna HSV, untuk merepresentasikan tingkat kecerahan warna digunakan elemen value. Pada nilai value maksimum warna yang dihasilkan adalah warna dengan tingkat kecerahan maksimum sedangkan pada

value minimum dihasilkan warna dengan tingkat kecerahan minimum (warna

hitam). Berapapun nilai hue dan saturation warna, jika nilai value yang dimiliki

STIKOM


(50)

adalah 0 (minimum) maka warna yang dihasilkan adalah warna hitam. Nilai value maksimum adalah 1 (100%), di mana warna yang dihasilkan akan memiliki tingkat kecerahan maksimum.

Nilai toleransi elemen value akan mempengaruhi tingkat kecerahan warna objek yang ikut terseleksi dalam proses segmentasi warna. Berikut ini merupakan contoh kasus yang akan menunjukkan bagaimana pengaruh toleransi elemen value terhadap hasil segmentasi. Berikut ini Gambar 3.9 terdapat beberapa objek lingkaran dengan nilai hue, saturation yang sama tetapi memiliki nilai value yang berbeda-beda, dengan demikian terlihat pengaruh toleransi value tanpa dipengaruhi elemen warna hue dan saturation. Pada OpenCV Value bernilai 0 sampai 255 dikarenakan data yang digunakan untuk pengolahan citra adalah 8 bit. Pada Gambar 3.9 diberikan nilai 240 untuk value.

(a) (b)

Gambar 3.9 (a) Gambar asli (b) hasil tresholding dengan toleransi value

Berikut pada persamaan 3.1 sampai dengan persamaan 3.3 adalah rumus konversi citra dari ruang warna RGB ke ruang warna HSV secara umum (Kale, 2011):

STIKOM


(51)

……….……….….………... (3.1) …………....…...………... .

…... .

Pada OpenCV untuk mengolah data dari ruang warna HSV, harus dengan ukuran 8 bit per channel pada IplImage karena data RGB yang didapat dari

webcam Robotino adalah 8 bit. Oleh sebab itu diperlukan konversi sesuai dengan

yang dibutuhkan OpenCV dengan ketentuan seperti pada persamaan 3.4.

………..…………...(3.4)

Namun pada library OpenCV telah disediakan function untuk memproses konversi di atas, yaitu dengan menggunakan fungsi cvCvtColor. Function

cvCvtColor adalah fungsi yang disediakan oleh library OpenCV, yang digunakan

untuk konversi ruang warna RGB (Red Green Blue) ke HSV (Hue Saturation

Value) danberikut baris perintah yang digunakan.

cvCvtColor(Const CvArr *src, Const CvArr *src, int code)

Dengan ketentuan parameter code yang digunakan adalah CV_BGR2HSV. Berikut baris perintah yang digunakan pada aplikasi untuk mengkonversikan ruang warna RGB ke HSV.

cvCvtColor(imgRGB,imgHSV, CV_BGR2HSV);

Citra hasil konversi akan disimpan ke dalam data citra imgHSV dan akan digunakan lebih lanjut dalam proses color filtering.

STIKOM


(52)

3.6.2 Hough Transform Circle

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 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, seperti pada Gambar 4 berikut.

Gambar 4 (a) Citra Input, (b) Pencarian Lingkaran dengan r= 20, dan (c) Pencarian Lingkaran dengan r= 25

STIKOM


(53)

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.

3.6.3 Thresholding

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.

…………... .5

STIKOM


(54)

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 rentangfilter tersebut akan bernilai 0, sedangkan nilai data citra yang berada pada dalam rentangfilter 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);

Dengan memberikan nilai batas bawah (minimum) HSV, serta nilai batas atas (maksimum) HSV, maka nilai hasil threshold akan didapatkan sesuai rentang tersebut. Jika diprogram secara manual menggunakan rumus thresholding, maka dapat ditulis kode program sebagai berikut.

int h , s , v;

int x;

x = 0;

if ( 105 < h < 125 )

if ( 10 < s < 20 )

if ( 79 < v < 200 )

x = 1;

else else else

STIKOM


(55)

Seperti Gambar 4.1 hasil thresholding, filter mendeteksi warna HSV di bawah (96, 2, 254) dan HSV di atas (180, 43, 256) akan membuat citra menjadi warna hitam atau 0. Dan sebaliknya ketika filter mendeteksi warna HSV di atas (94, 2, 254) dan HSV di bawah (180, 43, 256) maka citra akan dibuat menjadi putih atau 1.

Gambar 4.1 Filter Thresholding HSV

3.6.4 Smoothing

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

STIKOM


(56)

digunakan untuk penghalusan citra (smoothing) yang bertujuan menghilangkan

noise citra. Berikut adalah baris perintah untuk menggunakan cvSmooth.

cvSmooth( const CvArr* src, CvArr* dst int

smoothtype=CV_GAUSSIAN,int param1=3, int param2=0)

Dengan ketentuan parameter smoothtype yang digunakan adalah CV_GAUSSIAN. Berikut baris perintah yang digunakan pada program.

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.

Jika diprogram secara manual, maka penulisan code program sesuai rumus perhitungan adalah sebagai berikut.

int G[9,9];

int x=0;

int y=0;

int phi = 3,14;

int sd = 1;

G[x,y]=1/2 * phi * sd * sd * (e^((x^2 + y^2) / 2 * sd^2))

3.7 Trajectory Planing

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

STIKOM


(57)

tegangan keluaran yang akan diterima oleh I/O Robotino, sehingga aktuator berupa alat pemadam api akan memadamkan api tersebut.

Gambar 4.2 flowchart trajectory planing.

Fungsi pergerakan omnidrive :

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

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

Potongan program utama : Start

Pendeteksian Titik Tengah Api

Centerisasi koordinat titik tengah api

Robot bergerak mendekati api

Stop titik tengah = posisi robot false

true

Program dijalankan.

Pergerakan Robot Mendekati api.

Robot melakukan scan dengan kamera dan mendeteksi api.

Proses centerisasi posisi robot dengan posisi titik tengah api.

Kondisi apakah robot sudah center dengan titik api.

Program dihentikan.

Jarak Robot < 30 cm false

true

Ketika jarak robot 30cm di depan api robot akan berhenti

STIKOM


(58)

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(eror,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

STIKOM


(59)

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.

3.8 Flame sensor

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.

3.9 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. Bagian-bagian dari alat pemadam api dapat dilihat pada Gambar 4.2

STIKOM


(60)

(a) (b) Gambar 4.2 (a) Bagian-bagian alat pemadam api (b) water tube

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.

3.10 Metode Pengujian dan Evaluasi Sistem

Untuk mengetahui apakah aplikasi yang dibuat dapat berjalan sesuai yang diharapkan, maka akan dilakukan pengujian dan evaluasi sistem untuk setiap tahapan-tahapan dalam pembuatan aplikasi. Dimulai dari streaming citra, color

filtering menggunakan ruang warna HSV, tresholding, smoothing, hough

STIKOM


(61)

transform circles, koneksi Robotino, flame sensor, alat pemadam api, trajectory planing.

3.10.1 Pengujian dan Evaluasi Koneksi Robotino

Pengujian koneksi dilakukan dengan cara melihat apakah Robotino dapat terintegrasi dengan PC, kemudian dilakukan pengujian dengan melihat

access point dari Robotino apakah sudah terhubung pada Wi-Fi PC. Kemudian

setelah terhubung secara wireless, langkah berikutnya yaitu menghubungkan koneksi dari console programming ke alamat IP yang telah ditentukan pada Robotino. Secara default alamat IP yang digunakan adalah 172.26.1.1.

Diharapkan setelah terkoneksi Robotino dapat dikontrol dari PC secara

wireless dan hal ini dapat dilihat dari pergerakan Robotino setelah penekanan

perintah start dijalankan.

3.10.2 Pengujian dan Evaluasi Pergerakan Robotino

Untuk pengujian pergerakan Robotino dilakukan dengan cara mengubah parameter pada fungsi setVelocity secara manual, Kemudian dari data tersebut didapatkan arah pergerakan Robotino, dengan memberi nilai pada variabel vx, vy dan kecepatan sudut atau omega maka robot akan melakukan manuver berputar 360° dan melakukan pendeteksian api, setelah proses tersebut hough transform

circles akan mendeteksi titik tengah dari citra api dan menjalankan trajectory

planing. Robot akan bergerak menuju lokasi api dan memadamkan api.

Diharapkan setelah melakukan konfigurasi setVelocity dengan memberi nilai pada variabel vx, vy, dan kecepatan sudut maka robot dapat melakukan

STIKOM


(62)

manuver berputar 360° sambil mendeteksi api. Setelah medeteksi keberadaan api maka diharapkan prosedur trajectory planing akan dijalankan dan robot akan mencari keberadaan api dengan menghitung nilai titik tengah dari citra api dan bergerak menuju api.

3.10.3 Pengujian dan Evaluasi Streaming Citra Melalui Kamera Robotino

Untuk mengetahui apakah data citra sudah dapat diakses langsung melalui kamera Robotino, maka dilakukan pengujian dengan cara melihat data yang tampil pada PC apakah sudah sesuai dengan citra yang ditangkap oleh kamera Robotino. Kemudian citra yang tampil akan diuji apakah dapat menampilkan data citra secara streaming.

Diharapkan dengan pengujian ini kamera dari robotino dapat menampilkan citra dari lingkungan di sekitar api secara streaming dan dapat disimpan kedalam variabel yang dapat diakses dan diprogram secara lebih lanjut.

3.10.4 Pengujian dan Evaluasi Konversi RGB ke HSV

Untuk mengetahui apakah aplikasi dapat mendeteksi warna dengan ruang warna HSV yang sudah ditentukan sebelumnya, maka akan dilakukan pengujian dengan cara melihat tampilan citra setelah dilakukan thresholding pada warna HSV tertentu. Jika pada citra ditemukan data citra sesuai dengan filter warn

a thresholding yang ditentukan sebelumnya, maka pada tampilan citra yang

sudah dilakukan thresholding akan terlihat pada gambar warna putih.

STIKOM


(63)

Diharapkan dengan pengujian ini komponen warna dari RGB dapat diubah menjadi HSV, yang kemudian akan dilakukan proses tresholding untuk menjadikan komponen warna menjadi biner yaitu 0 dan 1. Setelah proses

tresholding sukses maka proses akan dilanjutkan dengan smoothing yang

digunakan untuk menghilangkan noise yang ada pada citra.

1. Tresholding Citra Api

Citra hasil thresholding biasanya digunakan lebih lanjut untuk proses pengenalan objek serta ekstraksi fitur. Pengujian thresholding dilakukan dengan kalibrasi HSV berdasarkan nilai masing-masing hue, saturation, dan value sampai menemukan komposisi warna dengan range terbaik untuk objek api. 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. Pada pembahasan kali

ini tresholding digunakan untuk citra api dengan potongan program sebagai

berikut:

cvInRangeS(hsv, cvScalar(hsv_min, sat_min, val_min)

,cvScalar(hsv_max, sat_max, val_max, 0),thresholded);

Pengujian ini dapat dikatakan berhasil apabila filter ini sudah dapat mendeteksi citra api dan membuatnya menjadi citra biner bernilai 1 atau berwarna putih, sedangkan warna latar belakangnya menjadi bernilai 0 atau hitam dan juga dapat membedakan antara gambar api dengan api sungguhan.

STIKOM


(64)

2. Smoothing Citra Api

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 pembahasan kali ini smoothing digunakan untuk menghilangkan noise dari citra api setelah mengalami proses

tresholding. Gaussian filtering diharapkan dapat menghilangkan noise dan

membuat citra api terlihat lebih halus dengan efek blur. Berikut potongan program dari Gaussian filtering smoothing:

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

Pengujian ini dapat dikatakan berhasil apabila filter ini sudah dapat menghilangkan noise akibat proses tresholding dan dapat memberikan efek blur, yang membuat citra terlihat lebih halus.

3.10.5 Pengujian dan Evaluasi Flame Sensor

Flame sensor digunakan sebagai alat pendeteksi sekunder dimana sensor

ini akan bekerja pada saat robot telah menemukan citra api. Sensor dari DF ROBOT ini dapat mendeteksi api dari jarak 100 cm dengan keluaran tegangan sebesar 0.5v, sedangkan pada jarak 20 cm keluaran tegangan dari sensor akan berubah menjadi 5v. Pengujian pada sensor ini dilakukan dengan ujicoba terpisah terlebih dahulu untuk mengetahui kepekaan sensor terhadap perubahan jarak dengan api.

Pengujian ini dapat dikatakan berhasil apabila sensor dapat menghasilkan keluaran tegangan yang berbeda beda tergantung pada jarak atau kedekatan sensor terhadap api, yang seharusnya sensor akan mengeluarkan tegangan keluaran

STIKOM


(65)

sebesar 0.5v ketika berada 100cm di dekat api dan sensor akan mengeluarkan tegangan keluaran sebesar 5v ketika berada 20cm di dekat api.

3.10.6 Pengujian dan Evaluasi Trajectory Planning

Trajectory planning adalah sebuah perencanaan pergerakan robot dimana

robot akan diprogram untuk berinteraksi dengan lingkungan sekitarnya seperti melakukan manuver berputar, bergerak maju, mundur, serta bergerak ke segala arah menggunakan omnidrive. Pengujian juga dilakukan untuk mengetahui jarak maksimal robot dalam mendeteksi api.

Pengujian ini dapat dikatakan berhasil apabila robot dapat melakukan pergerakan sesuai harapan, yaitu melakukan manuver berputar pada inisialiasi awal dalam mencari lokasi api, serta bergerak maju mendekati api ketika citra api terdeteksi oleh kamera webcam kemudian berhenti ketika jarak robot berada 20cm di depan api dan menjaga agar posisi api tetap berada di tengah.

3.10.7 Pengujian dan Evaluasi Sistem Keseluruhan

Setelah melalui seluruh proses pengujian di atas maka perlu dilakukan pengujian sistem secara keseluruhan. Dimulai dari mengintegrasikan Robotino dengan PC, kemudian menghubungkan koneksi Robotino dengan console. Selanjutnya melihat data citra yang ditangkap oleh kamera PC, dan melihat tampilan data citra yang ditampilkan window image. Setelah itu, melalui tahap pengolahan citra, yaitu ketika terdeteksi keberadaan api, maka robot akan bergerak mendekati api tersebut. Diantaranya maju, mundur, bergeser ke kiri, bergeser ke kanan, dan berhenti. Kemudian sebagai tambahan, kamera pada

STIKOM


(66)

Robotino juga mengirimkan citra yang disorot untuk ditampilkan pada PC secara

streaming.

Percobaan akan dilakukan beberapa kali dengan variabel kontrol yang sama untuk menguji kinerja dari sistem dan persentase keberhasilan robot dalam mendeteksi keberadaan api serta memadamkan api. Robot akan ditempatkan pada suatu ruangan tertutup dengan pencahayaan tetap dan akan ditempatkan lilin dengan jarak dan posisi yang berbeda beda dari robot, selain itu akan diletakan benda-benda penganggu seperti bola berwarna dan gambar api, kemudian dilakukan pengujian apakah robot dapat mendeteksi api dari lilin tersebut serta memadamkannya dan mengabaikan beberapa objek penganggu seperti gambar api dan bola berwarna. Jika keseluruhan sistem telah berjalan sesuai dengan langkah-langkah tersebut, maka secara keseluruhan sistem ini sudah dikatakan baik.

STIKOM


(67)

BAB IV

PENGUJIAN SISTEM

Pengujian sistem yang dilakukan merupakan pengujian terhadap Robotino dan aplikasi pada PC yang telah selesai dibuat. Dimulai dari menghubungkan koneksi ke Robotino, menggerakan Robotino, pengambilan citra dari kamera Robotino, pengolahan citra dimulai dengan color filtering menggunakan ruang warna HSV, tresholding, smoothing, dan pendeteksian api menggunakan sensor api.

4.1. Pengujian dan Evaluasi Koneksi Robotino

Pengujian koneksi Robotino dilakukan dengan menguji jaringan wireless pada PC yang dihubungkan dengan access point Robotino. Hal tersebut untuk diketahui apakah dapat terhubung, dan saat program dijalankan apakah console sudah mampu mengakses Robotino.

4.1.1. Tujuan

Tujuan pengujian ini yaitu mengetahui apakah Robotino sudah mampu terhubung dengan komputer PC. Mengetahui apakah console yang digunakan sudah mampu mengakses Robotino, sehingga dapat disimpulkan apakah Robotino telah terintegrasi dengan PC.

4.1.2. Alat yang Digunakan

1. Robotino

2. Microsoft Visual C++ 2008

STIKOM


(68)

3. Program simulator Robotino Sim Demo 4. Personal Computer (PC) + wireless

4.1.3. Prosedur Pengujian

1. Menyalakan Robotino

2. Menghubungkan koneksi wireless dari PC ke access point Robotino.

3. Menjalankan program console seperti yang ditulis pada sub bab 3.3 dengan menggunakan Microsoft Visual C++ 2008

4. Menghubungkan console dengan Robotino sesuai IP dan port yang ditentukan (pilih nomer 1 untuk koneksi dengan simulasi atau pilih nomer 2 untuk koneksi dengan robotino)

Pilih nomer 1 untuk menghubungkan console dengan simulasi 5. Catat hasilnya apakah console telah terkoneksi

6. Matikan program console

7. Ulangi langkah 3 – 6 dengan memilih nomor 2 (terhubung dengan robotino)

4.1.4. Hasil Pengujian

Robotino sudah dapat terhubung ke PC dengan media wireless dengan baik. Terlihat pada Gambar 4.3, saat program console dijalankan terdapat 2 pilihan koneksi yaitu langsung ke Robotino atau simulasi. Pada simulasi seluruh fungsi Robotino dapat digunakan seperti Robotino yang sesungguhnya, sehingga jika dihubungkan koneksi pada simulasi dan berhasil, maka sudah dapat dipastikan koneksi yang dihubungkan ke Robotino langsung berhasil.

STIKOM


(69)

Untuk pengujian ke Robotino secara langsung dapat dilihat pada LCD yang ditampilkan pada Robotino bahwa koneksi antara Robotino dengan PC sudah terhubung. Untuk lebih jelasnya terlihat pada Gambar 4.4.

4.1.5 Evaluasi

Dari hasil pengujian diatas Robotino sudah mampu terhubung dengan komputer PC, dan console yang digunakan sudah mampu mengakses Robotino, sehingga dapat disimpulkan Robotino telah terintegrasi dengan PC.

Gambar 4.3 Console terhubung dengan simulasi Robotino

Gambar 4.4 Console terhubung dengan Robotino

STIKOM


(1)

6. Catat data dari sensor api ketika robot bergerak mendekati api dan lihat sensitifitasnya

7. Catat hasilnya apakah robot berhasil memadamkan api atau apakah robot dapat membedakan api sungguhan dengan pengecoh lainnya seperti citra api, bola berwarna dan kaca.

4.8.4 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 jarak maksimum yang dapat dijangkau robot dalam 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.

STIKOM


(2)

4.8.5 Evaluasi

Dengan melihat hasil percobaan sistem secara keseluruhan diatas dapat disimpulkan bahwa robot telah berhasil melewati semua ujian yang diujicobakan yaitu tentang bagaimana robot dapat mendeteksi api, membedakan citra api dengan api sungguhan, pencatatan jarak maksimal yang dibutukan oleh robot dalam mendeteksi api dan waktu yang diperlukan oleh robot untuk bergerak menuju lokasi api dan memadamkan api tersebut.

STIKOM


(3)

BAB V PENUTUP

5.1 Kesimpulan

Setelah melakukan penelitian dan pengujian terhadap sistem yang dibuat, dapat diambil kesimpulan sebagai berikut :

1. Aplikasi dapat berjalan sesuai keinginan, yaitu mendeteksi api dengan 2 cara yaitu pengolahan citra dan sensor api. Sensor bekerja ketika proses color filtering telah mendeteksi api dengan tujuan ketika pengolahan citra mendeteksi objek yang dianggap sebagai api maka sensor api dapat melakukan pendeteksian yang akan menjadi penentuan aktuator berupa alat pemadam api dimana aktuator tersebut akan bekerja memadamkan objek tersebut atau tidak. Pengolahan citra menggunakan color filtering citra HSV guna mendeteksi api dengan memanfaatkan ketiga komponen hue, saturation, dan value untuk dapat dengan presisi mendefinisikan api. Proses color filtering juga di kalibrasi guna mendapatkan range terbaik dari warna api yaitu (96, 2, 254) – (180, 43, 256) untuk api merah dan (31, 48, 253) – (105, 243, 256) untuk api biru. Dimana objek dengan range warna tersebut maka objek akan didefinisikan sebagai api.

2. Sensor dapat bekerja dengan baik ketika pengolahan citra mendefinisikan api. Sensor dapat memberikan inputan nilai sebesar 5 v ketika api berada 30 cm di depan robot dan 0.5 v ketika ai berada 100 cm di depan robot, sensor ini digunakan sebagai penentu aktuator alat pemadam api dapat bekerja memadamkan objek api tersebut.

STIKOM


(4)

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. Jarak maksimum robot dapat mendeteksi api adalah 1.5 m dengan prosentase keberhasilan 100% dan 1.8 m dengan prosentase keberhasilan 25%.

5.2 Saran

Agar pada penelitian selanjutnya sistem ini dapat dikembangkan lebih sempurna, maka penulis memberikan saran sebagai berikut:

1. Pada proses pengujian belum disertakan obstacle atau halangan dalam proses pencarian api, sehingga kedepannya mungkin dapat dikembangkan agar robot dapat mencari lokasi api dengan adanya obstacle atau halangan.

2. Aktuator yang digunakan saat ini menggunakan air saja, sehingga kedepannya mungkin dapat dikembangkan agar aktuator bisa ditambah atau cairannya dirubah menjadi gas atau mungkin ditambahkan aktuator lain seperti kipas.

STIKOM


(5)

DAFTAR PUSTAKA

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

Ari, Sutrisna Permana. 2009. Deteksi kebakaran berbasis webcam secara realtime 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 : Peran dan Tindakan Pusat Layanan Kebakaran . Universitas Dipenogoro : Semarang.

Napitupulu, Paimin. 2012. “Selama 2012, terjadi 1008 kebakaran di Jakarta.”

(Online)

(http://www.megapolitan.kompas.com/read/2012/12/28/02232122/Selama.2012.. Terjadi.1.008.Kebakaran.di.Jakarta, diakses 24 maret 2013)

Robertinus, Natanael. 2010. “Artikel Keprofesian : Robot Pemadam Kebakaran.”

(Online) (http://natanael299.wordpress.com/artikel-keprofesian-robot-pemadam-kebakaran/, diakses 20 maret 2013)

Nalwan, Andi. 2012. Robot Pemadam Api Dengan Sensor Api Hamamatsu Uvtron R9454. Delta Elektronik : Surabaya.

DFRobot, Corp.(2011). “DF Robot Flame Sensor datasheet” (Online)

(http://www.df-robot.com/datasheet/dfrobotflamesensor.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).

STIKOM


(6)

Webber, Karras. 2012. “Robotino Training Course Documents”. (Online) (http://www.festo-didactic.com/int-en/learning-systems/education-and-research-

robots-robotino/robotino-training-course-documents.htm?fbid=aW50LmVuLjU1Ny4xNy4xOC44NTguNTI3NA, diakses

22 Januari 2013).

Munir, Rinaldi. 2004. Pengolahan Citra Digital dan Teknik Pemrogramannya. Institut Teknologi Bandung : Bandung.

Permana, Benny. 2010. Teknik Pengolahan Citra dan Pemanfaatannya. Universitas Gunadarma : Jakarta.

STIKOM