III. PERENCANAAN SISTEM
Pada bab ini akan dijelaskan mengenai perencanaan dan perancangan disain dari sistem kerja kontrol robot mobil di maze dengan menggunakan sensor kamera.
Perancangan sistem dibagi menjadi 2 (dua) bagian yaitu :
" Perencanaan perangkat keras atau hardware.
• Perencanaan perangkat lunak atau sofiware.
Blok diagram dibawah ini menunjukkan sistem kerja dari sensor kamera mengikuti pergerakan posisi robot mobil :
Weh
C'iirri
Komputer atau PC (Personal Co/npu/er)
USB
Seric/I Port
Robot Mobil
GambarS. 1
Blok Diaaram Sistem Kerja
PERENCANAAN HARDWARE
Spesifikasi Web ('am
Spesifikasi U'eh Cam (KODAK DVC325 Digi/al Vkko Cameraj yang dipergunakan dalam tugas akhir ini adalah :
• Optics dan' IVebCam:
*> Image Sensor: 1/4" Progretsive Scan ('Cl) with V(jA resolution, 640 x 480 pi.wtls.
Lcn.s: Mnnual jncvs
Len.s l-'ocul Lcngth: 4.6 mm; f 2.3 Fncus Ratige :4" (10.2 cm') fo infinity Fielcl ofView: 50 ck'grees a'iagonal
Shulter Specch 1/15 scconcf, 130-1 500 second JSO Equixuleni:\25
• Phofoand Vit/eo Ima^c1 (Jualitv:
•> Pholo Resohihon: 640 \ 480/7/.rc/\ 24 bil colur
*l* Video ImagL' Resohnion: 30 jraiiK's per ^ccoiui 11 O( 'II' (176 x 144), 20-25 framespcr .seconcl a CIl (352 x 288), Sframes pcr seconcl % V(iA (640 x 480)
Vuko Sireani Vormat: Yl'V4:2:0
Vnk'o ('ompression: Proprh'larv harchn/rc ctnnpression Signal !o Xoise Ralio: 40 dB a! 200 lux
While Halancc: Aiiiomuiic E.rposurc: Aulo, EV7-EV12
38
Mininnmi Iilwnination /200 lu.x
• Mechamual:
s; 4.3" /7/ x 2" Aiy x 3.2"flu:
110 mm G) x 52 mm Aiy x 82 inm dy
*> IVeight:207 g, 7.3 oz.
•> ('amera Hoitsing: Mimiior top fi.wnrd wiih niamial tili (allows np to 75° range of muvement)
• Interfuce and Power:
<• l'SB 1.0 Inierface: 9.8' (3.0 m) cuble \nth Seru's A connector mcluded
•!* PoM'cr: USB Interface supplies powcr
*> Power ('onsumption: Capiure: <500 mA Siandby: <500 uA
• (jeneral:
Certijicalions:l!L, cUL, R'-C ('lass B, IC1:S-()(J3 Clas.s B, CE, l'CCi, C-Tick
Dischargc:\2 kV
dengan
• Operutmg TeniperalnresAO°¥ lo 104°F (4.4GC Resolusi fFe/> T«/» digunakan adalah 240 x 180 mennggunakan frume ruie sebesar 3Qframe s {real-time).
.2. Bentuk AA/re
AA/re" yang dipakai untuk pelintasan robot merupakan milik laboratoriun komputer, yang berbentuk bujur sangkar dengan panjang
vang dipakai adalah seperenam dari besar maze secara keseiuruhan (panjang 48 cm dan 48 cm). Hai ini dikarenakan faktor keterbatasan fokus iVVA ('aui untuk dapat menangkap gambar maze secara jelas.
(bentuk nraze secara keseluruhan, batas-batas sekat yang membatasi jalur-jalur pada maze). Landasan imtze berwarna hitam. Warna dari dinding atau sekat yang membatasi jalur-jaiur pada muze berwama putih dan bagian atas dinding niuze berwarna merah.
1.3. Struktur Mekanik
Selain Web Cam yang dipakai dalam tugas akhir ini. terdapat pula bagian mekanik dari roboi mobil. Mekanik dari robot mobil yang dimaksud adalah sebuah penyangga berbentuk koiak. seperti bentuk mobil dengan 4 (empat) roda yang digunakan untuk berjalan.
Penyangga digunakan uniuk menopang clrivcr motor. 2 tdua) motor DC. IC REGULATOR 7805. lampu LED (/./^/7/ l'.mtttiivz Diode) warna biru dan warna kuning Uia. Pada robot mobil dapat berjalan ke depan, ke belakang, belok kanan sampai 360 derajat dan belok kiri sampai 360 derajat. IC REGULATOR 7805 dipergunakan untuk menurunkan tegangan dari 7,5 voit menjadi 5 volt. Lampu LED dipergunakan untuk sebagai sumber cahaya yang akan dideteksi oleh kamera. \
Pada motor DC digunakan ^earhox yang berfungsi untuk menggerakkan roda. Penggunaan gearhox dimaksudkan untuk
40
meringankan perputaran motor DC pada keempat roda (untuk menggerakkan robot mobil). Motor DC beserta ^earho.y merupakan modifikasi dari maman mobil-mobilan. Roda. gearbo.\- dan lempat motor DC diambil untuk dijadikan bagian penggerak robot mobil.
Rangka gearbox dan roda disambung dengan aay/ic (menggunakan spacer dan baut). Auylic dipakai sebagai aias rangka robot bagian atas untuk menahan clnver motor yang menggerakkan roda. 1C REGULATOR 7805. lampu LED biru. lampu LED kuning dan kompcmen-komponen penunjang robot.
Robot mobil menggunakan 4 (empat) roda, dikarenakan dengan menggunakan 4 (empat) roda, maka lebih kuat untuk menahan beban vang ada pada robot mobil. Keuntungan yang lain, dengan empat roda, robot mobil dapat lebih berjalan lurus lebih stabil bila dibandingkan dengan robot mobil menggunakan dua roda atau tiga roda. Panjang dari robot mobil pada tugas akhir ini 12 cm. lebar 10 cm dan tinutri 10.5 cm.
Gambar 3.2. sampai 3.7. menunjukkan bentuk mekanik robot mobil.
Gambar3. 2
Bagian Mekanik Dari Robot Mobil Dilihat Dari Atas
Gambar3. 3
Bagian Mekanik Dari Robot Mobil Dilihat Dari Depan
42
Gambar3. 4
Bagian Mekanik Dari Robot Mobil Dilihat Dari Sebelah kanan
Gambar3. 5
Bagian Mekanik Dari Robot Mobil Dilihat Dari Sebelah Kiri
Gambar 3. 6
Bagian Mekanik Dari Robot Mobil Dilihat Dari Belakang
Gambar3. 7
Bagian Mekanik Dari Robot Mobil Dilihat Dari Bawah
I
441.4. Spesifikasi Motor DC
Pada tugas akhir ini. robot mobil menggunakan motor DC dengan tegansian kena sebcsar 3 diga) V;x (dikctahui dari pemakaian 2 (dua) buah baterai AA nada mainan), sedangkan data lain seperti pemakaiao arus dan sebagainya tidak diketahui.
1.5. Dnver Motor DC
Untuk menggerakkan sebuah rnotor supaya dapat berjalan lurus, belok kanan. belok kiri dan berialan mundur (yang diatur oleh r). diperlukan sebuah rangkaian tambahan. Rangkaian tambahan ini berupa Jriver motor yang menjadi penghubung aniara microcoiurolk'r dengan motor DC. Micmconimlicr mengeluarkan logic (tcgangan TTL) yaitu antara 0 sampai 5 volt. Drivcr motor akan merepresentasikan Ivgic yang diterima untuk mcnggerakkan motor DC, tergantung dari aklif l<nv atau aktif high dnver motor yang didisain.
Bentuk dari rarmkaian clriver motor dc :
0,7 V
Ic 1,5 A
U.Z v
0,7 V I
j£ 0,8 V
/77
Gambar 3.
Ranakaian Dnver Motor DC
Driver motor di atas didisain aktif low, dalam arti transistor akan masuk daerah saturasi bila kaki basis pada transislor (A) diberi logic 0 (tegangan U voli). Dnrer motor pada tugas akhir ir,: didisam untuk arus maksimal yang mengalir pada motor sebesar : '
Ic = 1 . 5 A
46
Tegangan collecior-cmiiier dari setian transistor pada keadaan saturasi
= 0,2 voli pada keadaan ldeal.
Vsupply = Vdiode - Vce (B) -<- V motor - Vce (C) - Vdiode 5 volt = Vdiode - 0.2 volt - 3 voll •+- 0.2 volt - Vdiode Vdiode = 0.8 volt.
Penguatan atau H,-L. atau pMc dari iransistor NPN 2SC3279 berdasarkan daia hook sebesar 140 - 600. Berdasarkan hasil pengukuran melalui multitester didapatkan nilai berkisar antara 238 sampai 305. Oleh karena itu diambii suatu nilai minimum dari nilai- nilai hasii pengukuran. Hal ini disebabkan penguatan pada transistor belum tentu sama untuk setiap komponen transistor (tidak ldeal seperti yang tenera di u'aia hnok). Sehmgga dalam perhitungan. diambil nilai penguaian sebesar 200 untuk transistor NPN 2SC3279 .
Pdc =200
Arus pada collec/or di transistor KPN 2SC3279 (B) sebesar 1,5 ampere. penguatan pada transistor sebesar 200: maka arus hasi.s pada transistor NPN 2SC3279 (B):
Ic B = Ib B x |3dc
lbB
200 Ib B = 0.0075 A
= 7.5 mA
Arus hasis sebesar 7.5 m/\ di orcnkire sebesar 2 \.
2 x Ib B = 2 x 0,0075 A
= \ 5 mA
Ovcrclnvc boleh dilakukan sebanyak 2 sampai 10 kali (tergantung dari rangkaian dan arus pada basis yang dibutubkan), supaya transistor dapat memasuki daerah saturasi.
Vfx=Vec(A)-Vbe(B)+Vmotor-Vce ( O V d i o d e - V resistor basis (B) 5 voit=0.2 volt-0,7 volt-3 volt^0.2 volt-0.8 voh-V resistorbasis (B) V resistor basis (B) = 0.1 volt
Dari perhitungan di aias didapatkan perbedaan legangan 0.1 volf, sehingga dianggap lidak perlu menggunakan resistor di kaki basis transistor (B). Resistor dipergunakan bila dalam suatu rangkaian membutuhkan penurunan tegangan.
Arus pada col/ector di transistor NPN 2SC3279 (C) sebesar 1.5 umpere, penguatan pada transistor sebesar 200, maka aais hasis pada transistor NPN 2SC3279 (C):
Ic C = Ib C x pdc
IbC
200 Ib C = 0.0075 A
= 7,5 mA
Arus hasis sebesar 7,5 mA di overdrive sebesar 2 x.
2 x Ib C = 2 x 0,0075 A
= 15 mA
Vsuppiy = Vec (A) - Vbe (C) - V diode -V resisTor basis (C) 5 volt = 0.2 volt - 0.7 voit - 0.8 volt - V resistor basis (C)
V resisior basis (C) = 3.3 \ olt
Dari perhitungan didapatkan adanya perhedaan tegangan sebesar 3:3 roli. Oleh karena itu, maka harus ada penambahan resistor untuk menurunkan tegangan. Penambahan resistor diletakkan di antara kaki colledor transistor (A) dan kaki basis transistor (C).
Rc = I 'Rc TbC
3.3 r
\5niA
= 220 Q
Penguatan atau H.c atau pdc dari transistor PNP 2SB926 berdasarkan iJatu hook sebesar 100 - 560. Berdasarkan hasil pengukuran melalui multitester didapatkan nilai berkisar antara 212 sampai 260. Oleh karena nu diambii suatu nilai rata-rata dari nilai- nilai hasil pengukuran. Sehingga diambil nilai penguatan sebesar 200 untuk transistor PNP 2SB926 .
Ic(A) = Ib(B) ^ Ib(C)
= 15 ITIAT- 15 mA
- 30 mA
=200
/i/r
jOmA 200
= 0,00015 A
= 0.15 mA
Arus di kaki husis transistor (A) di oveninvc 5x Ib(A) = 5 x l b ( A )
= 5 x 0,15 mA
= 0.75 m.A Tegangan di Ra :
Vsupply = V c b ( A ) - V Ra 5 voh = 0.7 \o\\ - V Ra V Ra = 4.3 voh
Ra = lh(A)
4.3 v 0.75 mA
= 5733.333 Q
= 5.733 KQ
Resistor 5.733 KQ tidak terdapat di dunia elektro. sehingga diaanti den«an resistor 5.6 KO.
50
Rangkaian c/nver diatas didisain aktif hnv, sehingga cinvcr motor akan aktif atau menjalankan motor biia diberikan logic Inw dari nucroamirolier. J)nver motor tidak aktif biia diberi logic Ingh
1.6. Serial Pori
Pada tugas akhir ini. robot mobil dikendalikan dari kompuier dengan menggunakan komunikasi serial pon. Komputer akar, mengirim karakter dalam bentuk ASCll:
c karakter 1 uniuk maju.
c karakter 2 untuk mundur.
c karakter 3 untuk bclok kanan (motor sebelah kanan robot berputar mundur dan motor sebelah kiri roboi berputar
majuj.
c karakter 4 untuk belok kiri (motor sebelah kanan robot berputar maju dan molor sebelah kiri robot berputar mundur).
c karakter 5 untuk belok kanan saja (vnoior sebelah kanan robot berputar maju dengan kecepatan lebih lambat dan kecepatan motor sebelah kiri robot vang berputar maju).
c karakter 6 untuk belok kiri saja (motor sebelah kanan robot berputar maju dengan kecepatan lebih cepat dari motor sebelah kiri robot yang berputar maju).
Karakter tersebut dikirim secara senal dari komputer ke microcomroUer AT89C2051.
Gambar 3.9. adalah blok diaaram mikrokonirollcr AT89C2051 yang dipakai :
PC (Personal ('ompuler)
feh
Serial Porf
Microcomroller AT89C2051
Pl.2
Pl.4
Dnver motor bagian kanan robot mobil
Driver motor bagian kiri robot mobil Pl.5
Gambar 3. 9
Blok Diagram Microcontmller AT89C2051
2. PERENCANAAN SOFTWARE
Pada bagian perencanaan sofhvure akan dijelabkan lebih terperinci mengenai cara kerja dari kamera dalam mendeteksi posisi robot mobil untuk memandu robot mobil berialan dari tempat start ke lempat tujuan yang ditentukan sebelumnya. Sistem kerja dari perencanaan sojiware dapal dibagi menjadi 2 (dua) bagian besar yaitu :
j
- Proses pada maze.
Program akan mengambil sampel warna maze vaitu warna hitam yang merupakan tempat robot mobil berjalan. Setelah sampel wama hitam diambil, maka sampel warna hitam dihitung histogram yang akan dipergunakan untuk mengenali maze image sam^ai didapatkan imagu
probabilitas maze (imuge yang mempunyai kemiripan dengan sampel).
Setelah ima$y probabilitas maze didapatkan. maka dicari bagian laiur mana saja yang akan dilalui oleh robot mobil. Hal ini perlu dilakukan karena ada bagian jalur yang merupakan jaiur buntu atau jalur yang bukan termasuk jalur dilalui oleh robot mobil. Setelah diketahui jalur mana saja yang dapat dilalui oleh robot, dicari jalur tengah dari jalur yang akan dilalui oleh robot.
Pencarian jalan tengah lni dimaksudkan sebagai jalur panduan bagi robot mobil berjalan sehingga robot mobil tidak menabrak sekat-sekat yang berada di sisi kanandan sisi kiri dan roboi mobil. Pencarian jalur tcngah ini dikenal dengan nama skeleuw. Setelah skeleton didapatkan maka dicari jalur terpendek dan tempat snm robot ke tempat jmish. Jalur terpendek dicari dengan menggunakan algoritma Dijksiru.
Pendeteksian warna biru dan \yarna kumng pada body robot bagian untuk tracking robo* mobil oleh kamera.
Setel°h jalur lerpendek dari tempai sturt ke tempat fmish dikctahui. maka langkah selanjjutnya mendapatkan unage probabilitas warna biru dan warna kuning untuk tracking robot mobil oleh kamera. Untuk mendapatkan image probabilitas warna biru, diiakukan pengambilan warna biru dari hodv robot bagian atas yang akan digunakan sebagai sampel warna biru. Setelah sampel warna biru didapatkaru maka dicari histogramnya. Histogram ini akan digunakan uniuk mendapatkan miage probabilitas warna biru. Iinage probabilitas warna biru ini akan digunakan uniuk iracking robot mobil oleh kamera. Proses ini jima diiakukan untuk warna kunina.
mi:
2.1. Pemrosesan iruckin^ mazc
Proses pertama untuk men iracking maze yaitu mendapatkan nilai histogram dari sampel warna maze yang digunakan untuk mendapatkan nilai image probabilitas muze.
Obvek warna hitam maz<.
54
Load imuge oleh kamera
r
Sampel warna hitam maze dalain s:stem
!
r
( \mverl RGB l<> HSV
l'
Sampel warna hitam maze dalam sistem
r
i
warna
i
warna
\ ('ourert H S V 3 channels i<> 1 clunmels
\ Hue Channel sampel r
warna hitam maze
RGB
HSV
1
Menghitung Histogram
Histogram Hue sampel warna hitam maze
Gambar3. 10
Dataftow Diagram Dari Perhitungan Histogram Hue Dari Sampel Warna A-fore
Penjelasan algoritma dari perhitungan histogram dari sampel warna maze:
- Obyek wama hitam maze
Gambar3. 11 Obyek Wama Hitam Maze
Obyek yang ingin dikenali oleh program adalah warna hitam yang merupakan warna landasan maze.
• Load image Kamera
Program melakukan load image sampel warna hitam dari kamera.
Proses load image ini menggunakan tool CamCap.
• Sampel warna hitam maze dalam sistem warna RGB
Gambar3. 12 Sampel Wama Hitam Maze Dalam Sistem Warna RGB
56
Sampel warna hitam yang telah didapatkan, dalam bentuk sistem wama RGB (3 Channel).
-Convert RGBtoHSV
Sampel warna hitam dalam bentuk sistem warna RGB (3 channel) dirabah menjadi sampel warna hitam dalam bentuk sistem wama HSV (3 channel) dengan menggunakan fungsi iplRGB2HSV yang terdapat di INTEL image processing library. Perubahan ini dikarenakan sistem wama HSV lebih handal dari sistem warna RGB.
- Sampel warna hitam maze dalam sistem warna HSV
Gambar3. 13 Sampel Wama Hitam Maze
Dalam Sistem Warna HSV
Sampel warna sudah dalam bentuk sistem warna HSV (3 channel).
Convert HSV 3 (tiga) channels to 1 channel.
Sampel waraa hitam dalam bentuk sistem wama HSV (3 channels) dirubah menjadi sistem wama HSV 1 channel dengan menggunakan fungsi cvCvtPixToPlane yang terdapat di open source computer vision library.
- Hue Channel sampel warna hitam maze
. ' A
Gambar3. 14
Hue Channel Sampel Warna Hitam Muze
Hasil perubahan dari 3 (tiga) channels menjadi 1 channel menghasiikan hne channel, salnralion channel clun value chunnel.
Dari ketiga chunnel yang dihasilkan hanya diambil hue channel saja.
Hal ini dikarenakan spektrum warna tidak dapat berubah waiaupun dalam keadaan apapun. Sedangkan untuk satwaiion dan value dapat di sei sesuai kondisi.
- Menghitung histogram.
Hne channel di hitung histogramnya dengan menggunakan fungsi cvCalcHist yang terdapat pada open source compnter vision library..
- Histogram hne sampel warna hitam muze
Hasil dari histrogam dipergunakan untuk mendapatkan image probabilitas nutzt'.
Setelah histogram luie sampel warna hitam ivaze didapatkan, maka histogram Ime sampel wama hitam maze digunakan untuk mendapatkan unuge probabilitas maze.
58
Hisfogram Hue sampet warna hitam maze
ne Muze
o I
LoaJ imuge maze oleh kamera
/mage muze dalam sistem RGB
('onvert RGB to HSV
Iinage maze dalam sistem HSV
('onrerl HSV 3 channels lo 1 chcmnel
T
] Hue Saturation
Channel image maze
Vulue ( image maze
Proses Ihreshold
Proses (hreshold
Proses penggabungan dari proses ('alcBuckProject hue, proses llveshold saiwalion dan proses ilveshold vaiue
i
ge probabih'tas maze
Gambar3. 15
Daia fJo-w Diagram Dari Perhitungan Imuge Probabilitas Mctze
Penjelasan algoritma dari image probabilitas maze:
Image Maze
Gambar3. 16 Image Maze
Image yang ingin dikenali oleh program adalah maze yang menjadi tempat berjalan robot mobil.
Kamera
Program melakukan load image maze dari kamera. Proses load image ini menggunakan tool CamCap.
60
Image maze dalam sistem warna RGB
Gambar3. 17
Image maze Dalam Sistem Warna RGB
Image maze yang telah didapatkan, dalam bentuk sistem warna RGB (3 Channel).
ConvertRGBtoHSV
Image maze dalam bentuk sistem warna RGB (3 channel) dirubah menjadi image maze dalam bentuk sistem warna HSV (3 channel).
Perubahan ini menggunakan fungsi iplRGB2HSV yang terdapat di INTEL image processing library. Perubahan ini dikarenakan sistem wama HSV lebih handal dari sistem warna RGB.
- Image rnaze dalam sistem warna HS V
Gambar3. 18
Image maze Dalam Sistem Wama HSV
Image maze sudah dalam bentuk sistem wama HSV (3 channel).
Convert HSV 3 (tiga) channels to HSV 1 channel.
Image maze dalam bentuk sistem warna HSV (3 channel) dirubah menjadi sistem warna HSV 1 channel dengan menggunakan fungsi cvCvtPixToPlane yang terdapat di open source computer vision library.
Hasil perubahan dari 3 (tiga) channel menjadi 1 channel menghasilkan hue channef, saturation channel dan value channel.
a. 1. Hnc channel
- • •• i
- - = . r t - - . '
GambarS. 19
z/e' ('hannel Image Muze
a.2. Proses CalcBackProject
Gambar 3. 20 j
Hasil CaicBackProject //?/<? Channe/ Image Mazt.
Hne chaiviel image muze di callbackpro)ect dengan histogram hue sampel warna hitain mazc. r
b.l. Saswuiion channcl image mare
. L i —
GambarS. 21
Saturation Channel Image Maze
b.2. Proses threshold saiitnitum channel iniage maze
Gambar3. 22
Hasil Threshokl Saturalum ('haimel Iniuge Mazc
Safitration channel iniage nuize di thx'shohl dengan memakai nilai maksimum dari nilai threshold dan mengatur nilai mmimum dari threshokl.
c. 1. I 'uhie chaimcl mnme maze
GambarB. 23
Vahte ('hannel Image Muze
c.2. Proses /hresholcl dari vuhte chunnel image maze
64
GambarS. 24
Hasil 'Fhreshold Dari l'aluc Channel Image Maze
\ Yuhie duinnel muige muze di threshold dengan menizalur nilai maksnnum dan nilai minimum dari ihreshohl.
saiiimnon dan proses threshokl vahte.
Hasil dari cuihackpro/eci iwe chunnel nuizc image. hasil threshohl satunMinn channel niaze nnuge dan hasil dari threshold value muze image di AND kan dengan fungsi iplAnd yang terdapat pada INTEL image proce.ssinp librarv.
• lmage probabilitas maze
Gambar3. 25 Jmage Probabilitas muzc
Hasil dari penggabungan menghasiikan miage probabilitas mare yang dipergunakan oleh program untuk mengenali obyek unugc
maze. J
Dari gambar unage probabilitas muze yang didapatkan,
•disimpulkan bahwa hasilnya tidak memuaskan. Hal ini diakibatkan warna pada muze sudah buram dan jumlah/;/.ve/ warna merah (warna dari bagian atas dinding) yang terdeteksi oleh program sangat kecil.
Untuk mengatasi warna pada maze yang telah buram. maka niaze
66
image di photo teriebih dahulu dan diatur saturation. bnghlness dan value sampai \\:arna pada semua bagian maze terlihat jelas. Maze image yang telah diperbaharui. diambil sampel warna dengan mengcrop warna dari iinage maze yang ingin dijadikan sampel maze image. Untuk mengatasi deteksi iumlah pixel warna merah (warna dinding bagian atas), maka tidak hue saja yang dicallback. tetapi saturation dan value dicallback, sehingga program dapat mendeteksi seluruh bagian yang terdapat di image maze.
Obvek warna hitam mazc
o
Load image di photo oleh kamera
Sampel warna hitam maze dalam sistem warna RGB
Conver/RGB to HSV
Sampel warna hitam nutze dalam sistem warna HSV
( 'onverf HSV 3 clumnels lo 1 channe/s
Hue ('hannel sampel wama hitam maze
Saturation (liannel sampel warna hitam maze
Menghitung Histogram Hitc "
('hunncl
Value ('hannel sampel warna hitam maze Menghitung
Histogram Suturation ('.hunnfl
Histogram Hue sampel warna hitam
maze
Menghitung Histogram
I 'aluc ('hannel
Histogram Saturation \ Histogram Vulue sampel warna hitam sampel warna maze I \ hitam maze
Gambar3. 26
Duta fJ(n\ DiagTamDari Perhitungan Histogram Huc, San/raiinu Dan l'uhie Dari Sampcl Warna \kize
68
Penjelasan algoritma dari perhitungan histogram dari sampel warna maze:
- Obyek wama hitam maze
Gambar3. 27 Obyek Warna Hitam Maze
Obyek yang ingin dikenali oleh program adalah warna hitam yang merupakan warna landasan maze.
• Load image di photo oleh Kamera
Image sampel warna hitam di photo dengan kamera. Photo image ini diatur saturation, brightness dan value sampai warna pada semua bagian maze terlihat jelas. Hasil dari modifikasi image, di crop warna hitam untuk dijadikan sampel watna hitam maze.
Gambar3. 28
Maze Image Yang Telah Dimodifikasi
- Sampel wama hitam maze dalam sistem wama RGB
Gambar3. 29 Sampel Wama Hitam Maze Dalam Sistem Warna RGB
Sampel warna hitam yang telah didapatkan, dalam bentuk sistem warna RGB (3 Channel).
70
-Convert RGBtoHSV
Sampel warna hitam dalam bentuk sistem warna RGB (3 channel) dirubah menjadi sampel wama hitam dalam bentuk sistem wama HSV (3 channel) dengan menggunakan fungsi iplRGB2HSV yang terdapat di INTEL image processing library. Perabahan ini dikarenakan sistem warna HSV lebih handal dari sistem warna RGB.
- Sampel warna hitam maze dalam sistem wama HSV
Gambar3. 30 Sampel Wama Hitam Maze
Dalam Sistem Warna HSV
Sampel warna sudab dalam bentuk sistem warna HSV (3 channel).
Convert HSV 3 (tiga) channels to 1 channel.
Sampel warna hitam dalam bentuk sistem warna HSV (3 channels) dirubah menjadi sistem warna HSV 1 channel dengan menggunakan fimgsi cvCvtPixToPlane yang terdapat di open source computer vision library.
- Hue, saturation dan ralue chunncl sampel wama hitam muze
Gambar 3. 31
Hue Channel Sampel Warna Hitam hluze
Gambar 3. 32
Saiuraiion Channel Sampel Warna Hitam Muze
Garnbar3. 33
Valuc Chanuel Saivipel Warna Hilam Muze
72
Hasil perubahan dari 3 (tiga s channeis menjadi 1 channcl menghasilkan hue chunnel, saniralion clunvm! ilun vulue channel.
- Menghitung histogram
Hne, Sanirution dan Value Channel di hitung histogramnya dengan menggurtakan fungsi cvCalcHist yang terdapat pada open source compufer vision librarv..
- Histogram Hue, Saturalion dan Value sampel warna hitam maze Hasil dari histrogam Hne, Suluralion dan Vahte sampel warna hitam maze dipergunakan untuk mendapatkan image probabilitas maze.
o
Jmage maze di photo oleh kamera
Image maze dalam sistem RGB
Converf RGB to HSV
T
lma<ze maze dalam sistem HSV
i
T
Converl HSV 3 channe/s (o 1 channel
Hne Chunnel image maze
Saturalion Channel image maze
I 'ulue (.hanne/
image maze
\r Proses
(^alcBackProjecl Filler
i
r Proses
Threshold
r
Proses Morphology
Proses
('alcBackProjeci
r Filter
f
Proses Threshold
f Proses Morphology
,
f
Proses CalcBack Projccl
r Filier
r
Proses J hrcshold
r
Proscs Morphology
T
Proses penggabungan dari proses morphulogy Hue, Saturation dan Vahte
L
74
L
X
Image probabilitas maze
Gambar3. 34 Dataflow Diagram Dari Image Probabilitas Maze
Penjelasan algoritma dari image probabilitas maze:
Image Maze
Gambar 3. 35 Image Maze
Image yang ingin dikenali oleh program adalah maze yang menjadi tempat berjalan robot mobil.
- Kamera
Image sampel warna hitam di photo dengan kamera. Photo image ini diatur saturation, brightness dan value sampai waraa pada semua bagian maze terlihat jelas.
Gambar3. 36
Image maze Hasil Modifikasi
- Image maze dalam sistem wama RGB
Gambar3. 37
Image maze Dalam Sistem Wama RGB
76
Image maze yang telah didapatkan, dalam bentuk sistem warna RGB (3 Channel).
- ConvertRGBtoUSV
Image maze dalam bentuk sistem warna RGB (3 channel) dirubah menjadi image maze dalam bentuk sistem wama HSV (3 channel).
Perubahan ini menggunakan fungsi iplRGB2HSV yang terdapat di INTEL image processing library. Perubahan ini dikarenakan sistem warna HSV lebih handal dari sistem warna RGB.
- Image maze dalam sistem wama HSV
Gambar3. 38
Image maze Dalam Sistem Wama HSV
Image maze sudah dalam bentuk sistem warna HSV (3 channel).
Convert HSV 3 (tiga) channeh to HSV 1 channel.
Image maze dalam bentuk sistem wama HSV (3 channel) dirubah menjadi sistem warna HSV 1 channel dengan menggunakan fungsi cvCvtPixToPlane yang terdapat di open source computer vision library.
- Hasil perubahan dari 3 (tisia) chamiel menjadi 1 channel menghasilkan Inie cluwnel, samraiion channe/ dan vahie channel.
a. 1. Hne C.hannel image maze
Gambar3. 39
Hue C/ianne! Image K'laze
a.2. Pretses CalcBackPrvject
GambarS. 40
Hasil CalcBackProjiici Hue ('lumnel Ima^e Maze
Hne chamiL'l imuge muze di callbackproject dengan histogram hue sampel warna hilam inazc.
78
b. 1. Saniralion chunnel image maze
Gambar 3. 41
Saturalion Clumnel Image Mazt
b.2. Proses CalcBackProject
Gambar 3. 42 Hasil CullBackProject Saturaiion ('hatmel Image Maze
Saturatkm channel tmage muzc di ihreshold dengan
roemasukkan nilai maksimum dan ihreshold dan mengatur nilai minimum dari threshold.
c. 1. Fadue channel image maze
Gambar3. 43
Value Channel Imuge Muze
c.2. Ptases CallBackProject dari vahie channel image niaze
Gambar3. 44
Hasal (\iUBuckProjeci Dari i 'ahte ('hanne'! Maze
80
i
l'alue channel image maie di ihreshold dengan mengatur nilai maksimum dan nilai raimmum dari ihreshold.
Setelah Hnc. Saturation dan Value di CallBackl'roject, maka dilakukan proses filter.
GambarS. 45
Hasil Filter Dan //we Channel Image Maze
GambarS. 46
Hasil Filter Dari Saturation Channel Image Maze
\
Gambar3. 47
Hasil Filler Dari Value Channel Iniage Maze
Setelah Hne, Satnralion dan Valne di filter, maka dilakukan proses threshold.
t
I
f
! f f JJ
GambarS. 48
Hasil Thrt'shcld Dan Hue Channel Image Muze
82
GambarS. 49
Hasil Threshok/ Dari Scttvration (licmnel Imw-ze Klaze
Gambar3. 50
Hasil Threshold Dari Value C 'hunnel Image Maze
- Setelah Hue, Salnralion dan Value di threshold, maka dilakukan proses morphology yang bertujuan untuk mengurangi noise-noise vane tersisa dari hasil threshohl.
!
i i
4
GambarS. 51
Ha&il Morpholog\' Dari //we Channel Image Maze
GambarS. 52
Hasil Morpholugy Dari Satumtion ('hunnel Jmuge Mcre
84
Gambar 3. 53
Hasil Morphology Dari Value Channel Image Maze
Proses penggabungan dari proses morphology hue, saturatinn dan value.
Hasil dari morphology Inie, salnration dan value maze image di AND kan dengan fungsi iplAnd yang terdapat pada inlel image processing lihrury.
Image probabilitas maze
Gambar 3. 54 lmage Probabilitas muze
Hasil dari penggabungan menghasilkan imuge probabilitas maze yang dipergunakan oleh program uniuk mengenali obyek image maze. Dari gambar 3. 54 didapatkan image probabilitas yang kurang baik. Hal ini dikarenakan hasil dari callbackpro/ecl satiinaion channel kurang baik, tetapi hasil dan cuUbackprojecl hue channel dan vahie chenne! cukup baik. Sehingga untuk inuige probabilitas maze diambil dan hasil callbackprojeci hne channel dan value channel.
GambarS. 55
linage Probabilitas Muze Dari Hasil
CullBackProject Hue Channel Dan Vahie Channd
86
Setelah inuni^ probabilitas maze didapatkan. maka dilakukan proses mencari jalan terpendek dari maze menggunakan algoritma Dijksira. dimana datujhnv diagram dari proses ini :
Image probabilitas muze
FloodFill
Skelelon
t
T
Simpul perpotongan pada maze
Link antar titik Cari jalan terpendek
I
( Jalan Terpendek J
Gambar3. 56
Data Flow Diagram Aleoritma Dfikstra
Penjelasan dari algoritma mencari jalan terpendek dan maze menggunakan algoritma Dijkstru :
- Image probabilitas maze
GambarS. 57 Image Probabilitas Muze
Image probabilitas maze yang telah didapatkan. dipergunakan untuk menjadi tempat jalannya robot mobil.
•FloodFill
j
Gambar3. 51 FhoJFiU
S8
Image probabilnas maze diberikan tanda berupa titik pada maze dengan menggunakan monse. Pemberian titik ini dimaksudkan untuk mengetahui jalur mana saja yang akan dilalui oleh robot mobil.
Pemberian titik ini digunakan fungsi cvFloodFill yang terdapat di dalam open source computer vision library. Fungsi ini akan menyebabkan titik menyebar ke segala arah dan jalur maze yang sejalur dari titik tersebut.
• Skeleton
Gambar3. 59 Skeleton
Jalur yang akan ditelusuri oleh robot mobil, dicari garis tengah diantara 2 (dua) sekat maze yang membatasi jalur pada maze. Mencari garis tengah ini digunakan fungsi iplErode daiam open source computer vision lihrary. Fungsi iplErode akan mengecikan lebar jalur muze tempat robot mobil berjalan. Pengecilan jalur maze dilakukan sampai berapa kaii sesuai dengan nilai yang telah di set.
- Simpul perpotongan pada maza
Finish
Gambar3. 60
Simpul Petpotongan Pada A/are
Hasil dari skelefon, dicari simpul perpotongan dari 2 (dua) jalur. Cara mencari simpul perpotongan dilakukan secara risnalisasi dengan meng/fM pada pixel mana yang mau diberikan simpul dengan menggunakan mouse Simpul pertama kali yang di kiik merupakan tempat start robot dan titik terakhir yang di klik merupakan tempat dimanarobot mobii berhenti atau mencapai tempat fmish.
L i nk antm titik
Untuk masing-masing titik dicari titik lain yang berbubungan dengan titik tersebut.
90
Can jalan terpendek
Gambar 3. 61 Jalan Terpendek
Setelah titik-titik perpotongan telah diketahui dan bagian titik mana saja yang saling berhubungan, maka dicari jalan terpendek dari tempat sian robot mobil sampai tempat jinish dengan menggunakan algoritma Dijkstru.
Algoritma Dijksiru untuk mencari jalan terpendek : - Setiap simpul diberi label (label ditulis di dalam tanda kurung).
- Setiapjalur di antara dua simpul diberi nilai jarak.
- Untuk keadaan awal, diasumsikan tidak ada lintasan yang diketahui.
Oleh karena ltu semua simpul diberi label tak terhingga.
- Semua simpul dapat bersifat sementara atau bersifat permanen, bila suatu label mewakili lintasan terpendek dari sumber ke simpui yang bersangkutan. maka label tersebut dibuat pennanen dan tidak berubah lagi. Tetapi bila suatu label tidak mewakili lintasan terpendek, maka label tersebut dibuat semenlara, sehingga label
tersebut dapat berubah menjadi bersifat permanen atau bersifat sementara.
Contohnya bila hasil dari skeleion dan hnk antar titik dari nnage probabiiitas maze yang telah diketahui :
Gambar 3. 62 Lmk AntarTitik
Maka ditakukan proses :
- Proses mencari lintasan terpendek dari titik start ke i\\\k finish.
- Simpul tempat siurt diklik oleh mouse ditandai secara permanen yang ditandai dengan lingkaran benvarna hitam.
- Semua simpul yang berdekatan dengan simpul tempat siart diberi labei dengan jarak ke Slart. Setiap kali sebuah simpul diberi label bare, label simpul tersebut diberi simpul yang diteliti, sehingga akhsmya lintasan akhir dapat direkonstruksi.
- Setelah melakukan pengujian pada setiap simpul yang berdekatan dengan simpul tempat start. secara sementara menuju simpul yang berlabel di seluruh lintasan dan mencari simpul dengan label
terkecil yang permanen. Simpul inilah yang akan menjadi simpul kerja yangbaru.
- Selanjutnya, dimulai dengan simpul kerja yang terbaru, dan menguji semua simpul yang berdekatan dengannya. Bila jumlah label pada simpul keja yang terbaru dan jarak dari simpul kerja yang terbaru ke simpul yang diuji lebih kecil dari label pada simpul itu. didapatkan Iintasan yang lebih pendek, oleh karena itu simpul diben lagi label yang baru. Setelah semua simpul yang berdekatan dengan simpul kerja yang terbaru diperiksa dan label sementara telah diubah bila mungkin. ir.aka dicari simpul yang mempunyai label bersifat sementara yang bernilai terkecil di seluruh lintasan.
Simpul yang mempunyai label yang bernilai terkecii di seiuruh lintasan dibuat menjadi permanen dan menjadi simpul kerja bagi putaran berikutnya.
- Algoritma ini terus diulang sr.mpai ditemukan titik finish, baru algoritma ini berhenti.
- Setelah selesai, maka dimulai dicari jalan terpendek dengan melihat semua simpul-simpul yang permanen yang berhubungan dengan simpul jinish. Simpul yang berhubungan dengan simpul finish, bersifat permanen dan mempunyai jarak terpendek, simpul tersebut yang diambil. Proses ini terus berulang sampai ditemukan titik siart, sehmgga simpul-simpul ini menjadi bagian dari jarak terpendek. ,
2.2. Proses iracking robot mobil
Seielah jarak terpendek dari niuze yang akan dilalui oleh robot mobil diketahui, maka dilakukan proses truckmg robot mobil dengan memproses warna biru dan warna kuning dari botly robot mobil bagian atas. Proses dari (racking ini dilakukan dengan mengenali
imuge probabilitas warna biru dan image probabilitas warna kuning.
94
Obvek wama biru j
o
Load mwge oleh kamera r
Sampel warna biru dalam sistem wama RGB
T
Convert RGB w HSV
i r
Sampel warna biru dalam sistem warna HSV
( "onvert Hue
r HSV 3 channeh
r
Channel sampel
/r; 1 channels warna biru
Menghitung Hislogram
Histogram Hue sampel wama biru
Gambar 3. 63
Daia flow Diagram Dari Perhitungan Histogram Dari Sampel Warna Biru Pada Bot/vRobot Bagian Atas
Setelah histogram dari sampel warna biru pada hody robot bagian atas didapatkan, maka dilakukaan perhitungan histogram dari sampel warna kuning pada body robot bagian atas
( Obvek warna kuning
o
Load image oleh kamera
r
Sampel warna kuning dalam sistem warna RGB
Converl RGB to HSV
Sampel warna kuning dalam sistem warna HSV
r
Convert HSV 3 chunneh lo 1 channels i
r
Hve Channel sampel warna kuning
Mermhitunsz Histoeram
Histogram Hne sampel wama kuning
GambarS. 64
Data FUnv Diagram Dari Perhitungan Histogram Dari Sampel Warna Kunirg X Pada Body Robot Baiiian Atas
96
Penjelasan algoritma dari perhitungan histogram dari sampel waraa biru dan sampel warna kuning :
- Obyek warna biru dan obyek warna kuning.
3
(a) Obyek Warna Biru (b) Obyek Warna Kuning Gambar 3. 65
Obyek Warna Biru Dan Kuning Pada Body Robot Mobil Bagian Atas
Obyek yang ingin dikenali oleh program adalah warna biru dan kuning yang merupakan warna body robot mobil bagian atas.
- Load image Kamera
Program melakukan load image sampel warna biru dan kuning dari kamera. Proses load image ini menggunakan tool CamCap.
- Sampel warna bira dan kuning dalam sistem warna RGB
(a) Sampel Warna Biru (b) Sampel Warna Kuning Dalam Sistem Wama RGB Dalam Sistem Warna RGB
Gambar 3. 66
Sampel Wama Biru Dan Kuning Dalam Sistem Warna RGB
Sampel warna biru dan kuning yang telah didapatkan, dalam bentuk sistem wama RGB (3 ('hannel).
-Convert RGBtoHSV
Sampel warna biru dan kuning dalam bentuk sistem warna RGB (3 channel) dirubah menjadi sampel warna biru dan kuning dalam bentuk sistem wama HSV (3 channel) dengan menggunakan fungsi iplRGB2HSV yang terdapat di INTEL image pwcessing lihrary.
Perubahan ini dikarenakan sistem warna HSV lebih handal dari sistem warna RGB.
_- Sampel wama biru dan kuning dalam sistem warna HSV
(a) Sampel Warna Biru Dalam Sistem Warna HSV
Gambar 3. 67
(b) Sampel Warna Kuning Dalam Sistem Warna HSV
Sampel Warna Bim Dan Kuning Dalam SistemWarnaHSV
98
Sampel wama biru dan kurung sudah daiam bentuk sisiem warna HSV (3 channel).
('onven HSV 3 (tiga) channels to 1 channel.
Sampel warna biru dan kuning dalam bentuk sistem warna HSV (3 channels) dirubah menjadi sistem warna HSV 1 channel dengan menggunakan fungsi cvCvtPixToPlane yang terdapat di open sowce compwer vision libraiy.
Hue Channel sampel warna biru dan kuning.
Hue Channel Sampel Warna Biru Hue C 'hannel Sampel Warna kuning
Gambar 3. 68
Hue Channel Sampel Warna Biru Dan Kuning
Hasil perubahan dari 3 (tiga) channels menjadi 1 channel menghasilkan hne channel, saiitraliun channel dan value channel.
Dari ketiga channel yang dihasilkan hanya diambil hne channel saia.
Ha! ini dikarenakan spektrum warna tidak dapat berubah waiaupun dalam keadaan apapun. Sedangkan untuk saturafion dan vulne dapat di set sesuai kondisi.
- Menghitung histogram
Hve ('hunnel di hitung histogramnya dengan menggunakan fungsi cvCalcHist yang terdapat pada open suurce contputer vision librarw.
- Histogram Hue sampel warna biru dan kuning.
Hasil dari histrogam dipergunakan tintuk mendapatkan inuige probabilitas warna biru dan kuning.
Setelah histogram sampel warna biru dan kuning didapatkan.
maka dicari image probabilitas wama biru dan kuning.
t
100Imuge wama biru
O
Load image warna biru oleh kamera
Histogram Hue sampel warna biru
Image warna biru dalam sistem RGB
Converl RGB (o HSV
Image wama biru dalam sistem HSV
Converl HSV 3 channeh to ) chamwl
l
Hue Channel iniage warna biru
Saluralion
Channel image warna biru
Proses
('alcBackProjeci
Value' Channel whige M'urna biru
Proses threshold
Proses Ihreshoi'd
Proses penggabungan dari proses CulcBackPro/ecf, proses threshold salurulion dan proses threshold vuluc
Image probabilitasWarna biru
Gambar3. 69
Data Flmv Diacram Dari Perhituns?n Imuge Probabilitas Warna Biru
wama kunine
Load Image warna kumng dari kamera
Jmage warna kuning dalam sistem RGB
Converl RGB to HSV
Image warna kunmg dalam sistem HSV
(\m\ert HSV 3 Chunnels tn HSV 1 Channel Histogram
Hue sampel warna kuninsz
Hue Channei image warna kunins
Saturalion ('hannel image warna kunina
Proses
CalcBackProject
Value (hannel image warna kuning
Proses Threshold
Proses Threshold
Proses penggabungan dari proses CalcBackProject Hue. proses lhreshold
dan proses fhreshnld vah/e
ftnage probabilitas image warna kuning
Gambar3. 70
Dataflow Diagrarn Dari Perhitungan Image Probabiiitas Dari VVarna Kunine Pada Robot Mobil
102
Penjelasan algoritma dari image probabilitas warna biru dan kuning :
- Image wama biru dan kuning.
(a) Image Wama Biru (b) Image Warna Kuning Gambar3. 71
Image Warna Biru dan Kuning
Image yang ingin dikenali oleh program adalah warna biru dan kuning pada body mobil bagian atas.
Kamera
Program melakukan load image dari kamera. Proses load image ini menggunakan tool CamCap.
- Image wama biru dan kuning dalam sistem warna RGB
(a) Image Warna Biru (b) Image Warna Kuning Dalam Sistem Wama RGB Dalam Sistem Warna RGB
Gambar3. 72
Image Warna Biru Dan Kuning Dalam Sistem Warna RGB
Image warna biru dan kuning yang telah didapatkan, dalam bentuk sistem warna RGB (3 Channel).
- Convert RGBtoHSY
Image warna biru dan kuning dalam bentuk sistem warna RGB (3 channel) dirubah menjadi image warna biru dan kuning dalam bentuk sistem warna HSV (3 channef). Perubahan ini menggunakan fungsi iplRGB2HSV yang terdapat di INTEL image processing library. Perubahan ini dikarenakan sistem warna HSV lebih handal dari sistem wama RGB.
104
- Image warna biru dan kuning dalam sistem wama HSV
(a) Image Warna Biru Dalam (b) Image Warna Kuning Dalam Sistem Warna HSV Sistem Warna HSV
Gambar3. 73
Image Wama Biru Dan Kuning Dalam Sistem Warna HSV
Image wama biru dan kuning sudah dalam bentuk sistem warna HSV (3 channel).
- Convert HSV 3 (tiga) channels to HSV 1 channel.
Image waraa biru dan kuning dalam bentuk sistem warna HSV (3 channel) diubah menjadi sistem wama HSV 1 channel dengan menggunakan fungsi cvCvtPixToPlane yang terdapat di open source computer vision library.
- Hasil perabahan dari 3 (tiga) channel menjadi 1 channel menghasilkan hue channel, saturation channel dan value channel.
a.l. Hue Chcmnel imaee warna biru dan kunins.
(a) //we Channel Image Wama Biru (b) Hue Channel Image Wama Kuning GambarS. 74
Hue Channel Image Warna Biru Dan Kuning
a.2. Proses CalcBackProject
(a) Hasil CulIBackProject (b) Hasil CallBackProjeci Hne ('hannel Imcige Warna Biru //z/e ('hannel Image Warna Kuning
GambarS. 75
Hasil CalcBuckProjc'ct Hne ('hannel Imagc Warna Biru Dan Kunmg
106
Hue chawiL'l imuge wama biru dan kuning di caUhackproject dengan histograrn liiic sampel warna biru dan kuning.
b. 1. Saturation channel jmage warna biru dan kunmg.
(a) Saturation Channel (b) Saluralion Channel Iniuge Warna Biru Image Warna Kuning
Gambar 3. 76
Satwration Chaimel Imuge Warna Biru Dan Kuning
b.2. Proses ihreshold saiwafion channel image warna biru dan kuninu;.
^ : ^ 1 ^
(a) Hasil Thrcshold Salwalion Channe! (b) Hasil Threshold Saturation Channel Imuge Warna Biru Image Wama Kuning
GambarS. 77
Hasil Thrcshold Saiurution ('hannel Image Warna Biru Dan Kuning
Saturation channe! tmage warna biru dan kuning di ihreshold dengan memasukkan nilai maksimum dan mengatur nilai minimum dari threshold.
108
c.l. Value channel image wama biru dan kuning.
(a) l'alue ChannelImage Warna Biru (b) l'alue Channel Image Wama Kuning Gambar3. 78
Value Channel Image Warna Biru Dan Kuning
c.2. Proses threshold dari value channel image warna biru dan kuning
(a) Hasil Threshold Dari (b) Hasil Threshold Dari
I 'alue ('hunnel linage Warna Biru I 'alue Chanml Iuiage Warna Kuning Gambar 3. 79
Hasil Thres/mki Dari Value Chamiel Imugc W'arna Biru Dan Kuning
Value channc! image warna biru dan kuning di threshold dengan mengatur nilai maksimum dan nilai minimum dan threshold.
• Proses penggabungan dari proses CalcBackProjeci, proses ihreshold salnration dan proses threshold value.
Hasil dari culbackprojeci hue channel, hasil threshold saturution channel dan hasil dari threshold valve di AND kan dengan fungsi iplAnd yang terdapat pada INTEL image processing libraiy.
Jtnage probabilitas warna biru dan kuning.
(a) Image Probabilitas Warna Biru (b) Image Probabilitas Warna Kuning GambarS. 80
Imuge Probabilitas Warna Biru Dan Kunins
Hasil dari penggabungan menghasilkan unage probabilitas warna biru dan kuning yang dipergunakan oleh program ur.tuk mengenali obvek nnage warnabiru dan kuning.
110
Setelah image probabilitas waraa biru dan image probabilitas warna kuninn didapatkan. maka dicari titik pusat dari nnage probabilitas wama biru, kuning dan tirik tengah di antara keduanya. Pencarian titik tengah ini digunakan untuk mencari ROL dimana ROI dipergunakan sebagai sensor oleh robot mobil dalaro berjalan.
Inisialisasi awal PosInitTrack warna biru dari mouse
Image probabilitas warna biru
Object Tracking
Ontput bounding box object biru
Titik pusat objccl warna biru
Gambar 3. 81
Daia l'low Diagram Dari Mencari Titik Pusat objecl Warna Biru
PenjelasarT dari mencari titik pusat object warna biru : Object Trackmg
Image probabilitas image warna biru yang telah uidapatkan dan Inisialisasi awal PosInitTrack warna biru (ukuran panjang, lebar dan titik pusat dari warna biru padabody robot mobil bagian atas) dari monse dilakukan proses Objeci Trackittg untuk mendapatkan output bounding hox objacf wama biru
dengan menggunakan fungsi cvCamShift yang terdapat di open source compuler vision lihrary.
• Outpui houndmg box ohjecf warna bim
Outpui boimdmg bux object warna biru mempunyai informasi mengenai batas-batas dari wama biru pada bagian atas body robot dan titik pusat yang digunakan program untuk mengenali warnabiru.
Titik pusat object warna biru
Gambar3. 82
Titik Pusat Ob/eci Warna Biru
Dari hox warna biru didapatkan tnik pusat. Titik pusat ini digunakan sebagai titik pusat object warna biru.
112
Setelah titik pusat objec/ wama biru didapatkan. maka dicari titik pusat ohject wama kuning.
Inisialisasi awal PosInitTrack warna kunirm dari mouse
Jmuge probabilitas warna kuninu,
Object Tracking
Output Bounding box object kuning
Titik pusat object warna kuning
GambarS. 83
Data FIOM' Diagram Dari Mencari Titik Pusat Warna Kuning
Penjelasan dari mencari titik pusat ohjeci warna kuning :
• Object 'frackmg
Image probabiiitas image warna kuning yang telah didapatkan dan Inisialisasi awat PosInitTrack (ukuran panjang, lebar dan titik pusat dari warna kuning pada body robot mobil bagian atas) warna kuning dari mouse dilakukan proses objecl tracking untuk mendapatkan ontpui box warna kuning dengan menggurfakan fungsi cvCamShift yang terdapat di open source compnler vision librury.
Ouipui box warna kuning mempunyai mformasi mengenai batas-batas dari warna kuning pada bagian atas body robot dan titik pusat yang digunakan program untuk mengenali warna kuning.
Titik pusat objecl warna kuning
GambarS. 84
Titik Pusat Objeci Warna Kuning
Dari box warna kuning didapatkan titik pusat. Titik pusat ini digunakan sebagai titik pusat objeci warna kuning.
Setelah titik pusat ohjeci warna biru dan titik pusat nbjeci warna kuning didapatkan, maka dicari titik tengah di antara titik pusat dari object warna biru dan titik pusat object warna'kuning.
Data jlow diagram dari titik tengah di antara titik pusat dari object warna biru dan titik pusat object warna kuning .
Titik pusat object warna biru
Titik pusat ubject wama kuninu
Titik tentrah Robot Mobi!
End Dari Mencari Titik Tenuah Robot Mobil
GambarS. 85
Duta FIOM' Diagram Dari Titik Tengah
Penjelasan dari mencari titik tengah di aniara titik pusat dari oh/ect warna biru dan titik pusat ohjecl warna kuning :
Gambar3. 86 Titik Tensiah
Dari titik pusat dari ohjeci \varna biru dan titik pusat object warna kuning.
diambil titik tengah di antara kedua titik yang sejajar dengan kedua titik tersebut.
Setelah titik pusat ohjeci warna biru. titik pusat ohjeci wania kunmg dan titik tengah didapatkan7 maka dibual ROI yang berfungsi sebagai sensor bagi robot mobil. Pada tugas akhir ini dibuat ROl sebanyak 10 buah. Dimana pembuatan ROi sama untuk semua ROl yang lain
C Ukuran ROI J
ir Pembuatan ROI
('opy Image ROl
Gambar 3. 87
Daia Fhrw Diaaram Dari Pembuatan ROI
Penjelasan dari pembuatan ROI:
- Ukuran ROI
Pertama ditentukan terlebih dahulu berapa besar ROI yang ingin dibuat.
- Pembuatan ROI
Membuat ROI berdasarkan size ROI yang telah ditentukan dengan menggunakan Set Jmage ROl yang terdapat di open source computer vision library.
- Copy lmageR.01
ROI yang telah dibuat di copy ke image yang dikehendaki.
Untuk menggambarkan ROI di dalam image dipergunakan fungsi cvRectansle.
116
Langkah-langkah pembuatan ROI dilakukan sebanyak 10 (sepuluh) kali denuan si:c vans* diineinkan.
Sumbu y
Sumbu x
/WvRobat.Mobil
ROI 6
Rdi 7 \
j
ROI
Roi
Roi 3 Roi
"•"4
ROI 5
r
_ • ROI bclokiRoi
is
ROI 9
Gambar3. 88 ROI
SetelahROI dibuat maka pada masing-masing ROI putih yang terdapat di masing-masing ROl.
m\a\pixel
Fhnvchari dari pencarian/>/.rc-7 putih
Menghitung jumlah pixel putih
r
Menghitung jumlah pixel hitam
<
Jumlah pixel hitam < nilai vans diset
Y
R O I = 1
( End Dari Mencari Pixei
Flowchart
Gambar 3. 89 Dari Pencarian 7
Putih J)
'ixe! Putih
ROI = 0
Penjelasan dari algoritma pencarian pixel putih : Menghitung jumlah/7/.ve/ putih.
ROI yang telah di copy kan ke image dari jalan terpendek. dicari nilai dan pixel putih dengan fungsi cvCountNonZero yang terdapat di open source
computer vision Iikraty.
118
• Menghitung jumlah pi.rcl hitam
Setelah nilai pixel putih didapatkan, maka jumlah pixel di dalam ROI dikurangkan dengan nilai pi.xcl puiih yang didapatkan, sehingga diketahui pixel hitam. Bila hasilnya lebih kecil dari suatu nilai yang telah ditentukan, maka ROI diberi nilai 1. tetapi bila hasilnya >= niiai yang telah ditentukan, maka ROI bernilai 0 (noll
Setelah nilai ROI telah diketahui. maka dibuat algoritma robot mobil berjalan.
Sebelum robot mobii berjalan, program akan mengecek posisi robot pada waktu pertama kali start. Sebelum robot mobil berjalan, diperiksa apakah titik tengah robot mobil sudah mencapai tempat fmish. bila belum sampai ke tempat /vn/.v/?, robot mobil akan meneruskan berjalan sampai ke tempat finish dengan memeriksa apakah robot mobil berjalan sejajar sumbu x atau sejajar sumbu y. Tetapi setelah robot mobil mencapai tempat finish, maka robot mobil akan berhenti dan program akan berhenti.
Titik teneah = Fuush
Robot mobil berhenti jalan
Program selesai )
y = sumbu y - sumbu (y-1) x = sumbu x - sumbu (x-l)
C End Dari Pengecekan Posisi Robot Mobil
Gambar3. 90
Daia Flcnv Dari Peneecekan Posisi Robot Mobil Pada Waktu Siart
120
Bila Robotroobil berialan sejajar sumbu x pada waktu pertama kali start
Simpul-(simpul - l ) > 0
Jalan lurus sementara
Jumlah looping jalan lurus sementara > nilai vane di sel
T
— • ] Y
Belok kanan
Belok
r
Y
Belok kiri
T Jalan lurus sumbu
X
negatif
Jalan Jurussementara
Jumlah loopmg jalan lurus sementara > nilai vane di set
Gambar 3. 91
Robot Mobil Berjalan Sejajar Sumbu x
Algoritma dari robot mobil jalan lurus sementara : - Untuk sejajar sumbu x positif.
Bila Roi 1 = 1. maka robot mobil akan belok kiri saja.
- Bila Roi 1 = 1 dan Roi 2 = 1 , maka robot mobil akan belok kiri saja.
- Bila Roi 1 = 1. Roi 2 = 1 dan Roi 3 = 1, maka robot mobil akan belok kiri saja.
- Bila Roi 5 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 4 = 1 dan Roi 5 = 1, maka robot mobil akan belok kanan saja.
\
- Bila Roi 3 = 1, Roi 4 = 1 dan Roi 5 = 1, maka robot mobii akan belok kanan saja.
- Untuk kondisi selam kondisi diatas. maka robot mobil akan bergerakmaju.
Untuk sejajar sumbu x negatif.
Bila Roi 1 = 1, maka robot mobil akan belok kanan saja.
- Bila Roi 1 = 1 dan Roi 2 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 1 = 1, Roi 2 = 1 dan Roi 3 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 5 = 1, maka robot mobil akan belok kiri saja.
Bila Roi 4 = 1 dan Roi 5 = 1, maka robot mobil akan belok kiri saja.
- Bila Roi 3 = 1, Roi 4 = 1 dan Roi 5 = 1 , maka robot mobil akan belok kiri sa\u.
Untuk kondisi selam kondisi diatas, maka robot mobil akan bergerak maju.
Untuk sejajar sumbu y positif.
- Bila Roi 6 = 1 , maka robot mobil akan belok kiri saja.
Bila Roi 6 = 1 dan Roi 7 = 1 , maka robot mobil akan belok kiri saja.
Bila Roi 6 = 1 , Roi 7 = 1 dan Roi 3 = 1 , maka robot mobil akan beiok kiri saja.
Bila Roi 9 = 1 , m lka robot mobil akan belok kanan saja.
124
- Bila Roi 8 = 1 dan Roi 9 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 3 = 1, Roi 8 = 1 dan Roi 9 = 1, maka robot mobil akan belok kanan saja.
- Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
Untuk sejajar sumbu y negatif.
- Bila Roi 6 = 1 , maka robot mobil akan belok kanan saja.
Bila Roi 6 = 1 dan Roi 7 = 1 , maka robot mobil akan belok kanan saja.
Bila Roi 6 = 1, Roi 7 = 1 dan Roi 3 = 1, maka robot mobil akan belok kanan saja.
- Bila Roi 9 = 1 , maka robot mobil akan belok kiri saja.
- Bila Roi 8 = 1 dan Roi 9 = 1 , maka robot mobil akan belok kiri saja.
- Bila Roi 3 = 1 , Roi 8 = 1 dan Roi 9 = 1 , maka robot mobil akan belok kiri saja.
- Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
Algoritma dari robot mobil berjalan sejajar sumbu x positif:
- Bila Roi 2 = 1 , Roi 3 = 0 dan Roi 4 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 2 = 0. Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan maju.
- Bila Roi 2 = 0, Roi 3 = 0 dan Roi 4 = 1. maka robot mobil akan belok kanan saja.
- Bila Roi 2 = 1 , Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 2 = 0, Roi 3 = 1 dan Roi 4 = 1 , maka robot mobil akan belok kanan saja.
Untuk kondisi seiain kondisi diatas, maka robot mobil akan bergerak maju.
Algoritma dari robot mobil berjalan sejajar sumbu x negatif:
- Bila Roi 2 = 1 , Roi 3 = 0 dan Roi 4 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 2 = 0, Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan maju.
- Bila Roi 2 = 0, Roi 3 = 0 dan Roi 4 = 1 , maka robot mobil akan belok kiri saja.
Bila Roi 2 = 1 , Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 2 = 0, Roi 3 = 1 dan Roi 4 = 1 , maka robot mobil akan belok kiri saja.
Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
126
Robot mobil berjalan sejajar sumbu Y pada pertama kali sturi
\
Jalan lurus sementara
Jumlah looping jalan lurus sementara > nilai yang di sei
Y
Belok kiri
T
Jalan lurus sumbu y negatif
128
Jalan lurus sementara
Jumlah looping jalan lurus sementara > nilai vana di sei
Gambar 3. 92
Robot mobil berjalan sejajar sumbu Y
Algoritma dari robot mobil berjalan seiaiar sumbu y positif:
- Bila Roi 7 = 1 , Roi 3 = 0 dan Roi 8 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 7 = 07 Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan maju.
Bila Roi 7 = 0. Roi 3 = 0 dan Roi 8 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 7 = 1 , Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 7 = 0, Roi 3 = 1 dan Roi 8 = 1, maka robot mobil akan belok kanan saja.
- Untuk kondisi seiain kondisi diatas, maka robot mobil akan bergerak maju.
Algoritma dari robot mobil berjalan sejajar sumbu y negatif:
- Bila Roi 7 = 1 . Roi 3 = 0 dan Roi 8 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 7 = 0, Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan maju.
Bila Roi 7 = 0, Roi 3 = 0 dan Roi 8 = 1, maka robot mobil akan belok kiri saja.
- Bila Roi 7 = 1 . Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 7 = 0, Roi 3 = 1 dan Roi 8 = 1 , maka robot mobil akan belok kiri saja.
Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
Setelah robot mobil berjalan sesuai perintah, maka program akan melakukan looping untuk mengetahui posisi robot pada terakhir kali. Untuk mengetahui posisi robot mobil terakhir kali, maka PoslnitTrack atau posisi robot harus diperbaharui.