• Tidak ada hasil yang ditemukan

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

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.

130

Flowchar/ dari perhitungan updaie PosInitTrack dari wama biru pada robot mobil:

/ Inisialisasi awal PosInitTrack \

\ warna bini dari mouse J

Image probabilitas warnabiru

cvCamShift

Output box warna biru

Updale PosInitTrack warna biru

GambarS. 93

llpdate PosInitTrack Dari Warna Biru

Penjelasan algoritma dari perhitungan updaie PosInitTrack dari warna biru pada robot mobil :

- cvCamShift

Image probabilitas unage warna biru yang telah didapatkan dan Inisialisasi awal PosInitTrack wama biru dari mouse dilakukan proses CamShift untuk mendapatkan outpul box warna biru.

- Output bux wama biru

Outpui box warna biru mempunyai informasi mengcnai batas-batas dari warna biru pada bagian atas hody robot yang digunakan program untuk

meneenali wama bi; u.

Setelah ouipul box warna biru telah didapatkan, maka PosfnitTrack warna biru dihitung ulang berdasarkan informasi output hox warna biru yang terbaru, dimana PosInitTrack yang baru ini digunakan untuk menghitung CamShift yang berikutnya.

Flowchart dari perhitungan updale PosInitTrack dari warna kuning pada robot mobil:

Inisialisasi awal PosInitTrack warna kunins dari mouse

Image probabilitas

Ontpiii box warna kuning r

Update PosInitTrack warna kuning

GambarS. 94

Updale PosInitTrack Dari Warna Kuning

132

Penjeiasan algoritma dan perhitungan npdate PoslnitTrack dari warna kuning pada robot raobil:

- cvCamShift

Image probabilitas image warna kuning yang telah didapatkan dan Inisialisasi awal PoslnitTrack warna kuning dari mouse dilakukan proses CamShift untuk mendapatkan onipvt box warna kuning.

- Oniput box wama kuning

Ouiput box warna kuning mempunyai informasi mengenai batas-batas dari wama kuning pada bagian atas body robot yang digunakan program untuk mengenali waraa kuning.

- Update PosInitTrack warna kuning

Setelah output box wama kuning telah didapatkan, maka PosInitTrack wama kuning dihitung ulang berdasarkan informasi outpnt box warna kuning yang terbaru, dimana PosInitTrack yang baru ini digunakan untuk menghitung CamShift yang berikutnya.

Proses ini akan berhenti sampai robot mobil menemukan titik finish.

Dokumen terkait