Lauw Lim Un Tung, Resmana Lim, Budiman Lewa
Electrical Engineering Dept., PETRA Christian University
Jl. Siwalankerto 121-131, Surabaya 60236, INDONESIA
Phone +62(31)-8439040 ext.1363, Fax: +62(31)-8436418
E-mail: [email protected] [email protected] Abstrak
Perkembangan teknologi robotika pada saat ini sudah mencapai tahap dimana robot yang diciptakan dibuat semirip mungkin dengan manusia, baik dari segi penampilan, kemampuan bahkan cara berpikir. Salah satu kemampuan manusia yang ingin ditiru adalah penglihatan.
Penelitian ini bertujuan untuk menggunakan kamera sebagai sensor dari komputer dalam menggerakkan robot mobil menelusuri jalur pada maze IEEE (dibatasi hanya untuk maze tanpa percabangan). Metode yang digunakan adalah segmentasi berdasarkan warna untuk memisahkan alas maze dan dinding maze dengan menggunakan sampel alas maze; untuk menghasilkan vision image bagi robot mobil. Fungsi-fungsi yang diperlukan diambil dari Open Source Computer Vision Library serta INTEL® Image Processing Library
Robot mobil dengan sensor kamera bisa menelusuri maze dengan menggunakan beberapa ROI (Region Of Interest) yang di-set pada vision image sebagai sensor untuk navigasi, yang dinamakan sebagai ROI-sensor.
Kata kunci: Computer Vision, image processing, robot mobil, kamera
1. Pendahuluan
Perkembangan teknologi computer vision dan image processing saat ini terus berkembang dengan sangat pesat. Perkembangan ini ditunjang oleh kemajuan teknologi mikroprosesor dan perkembangan mikroelektronik seperti WEB Camera dan Digital Camera. Berbagai aplikasi
computer vision dan image processing yang telah dikembangkan saat ini misalnya dalam sistem
keamanan, dunia robotika, dan lain sebagainya.
Computer Vision mempunyai tujuan utama untuk membuat keputusan yang berguna
tentang obyek fisik nyata dan pemandangan (scenes) berdasarkan image yang didapat dari sensor. Secara sederhana, Computer Vision ingin membangun sebuah mesin pandai yang dapat melihat.
Image processing merupakan salah satu jenis teknologi untuk menyelesaikan masalah
mengenai pemrosesan gambar. Dalam image processing gambar yang ada diolah sedemikian rupa sehingga gambar tersebut lebih mudah untuk diproses.
USB Camera Mobile Robot
Maze-path
USB port Personal Computer Serial portGambar 1. Blok Diagram Sistem
Tujuan akhir dari penelitian ini adalah untuk menggunakan kamera sebagai sensor dari
Personal Computer dalam menggerakkan robot mobil menelusuri jalur pada maze IEEE (dibatasi
hanya pada maze tanpa percabangan). Untuk mengenali dinding maze digunakan metode segmentasi berdasarkan warna untuk memisahkan alas maze dan dinding maze dengan
menggunakan sampel alas maze, untuk menghasilkan vision image bagi robot mobil. Dan untuk navigasinya digunakan beberapa ROI (Region Of Interest) yang di-set pada vision image. Blok diagram sistem secara keseluruhan dapat dilihat pada gambar 1.
2. Perencanaan
2.1. Robot
mobil
Robot mobil ini memiliki empat buah roda yang digerakkan oleh dua buah motor DC dengan perantara gearbox untuk menurunkan kecepatan motor. Robot mobil dengan empat roda relatif lebih stabil dan tidak mudah terguling pada saat berbelok atau berputar.
Gambar 2. Robot Mobil Dengan Kamera Tampak Samping dan Posisi Penempatan Kamera Pada Robot.
Sedangkan untuk penopang kamera dibuat dari besi plat tipis yang panjangnya kurang lebih 15cm dan ditekuk sedemikian rupa sehingga pada saat dipasang kamera akan memiliki posisi dan ketinggian yang tepat untuk mendeteksi jalur pada maze, seperti yang ditunjukkan pada gambar 2.
2.2. Segmentasi
berdasarkan
warna
Metode ini membagi image menjadi beberapa bagian berdasarkan kesamaan warna. Segmentasi pada penelitian ini digunakan untuk mengubah color image yang berasal dari kamera yaitu maze-path image yang terdiri dari warna hitam (alas), putih (dinding), dan merah (atas dinding) menjadi binary image yang hanya terdiri dari warna putih yang mewakili alas maze dan warna hitam yang mewakili dinding maze.
Gambar 3. Maze Path Image Sebelum dan Sesudah segmentasi
Secara garis besar segmentasi berdasarkan warna ini dibagi menjadi dua langkah, yaitu:
2.2.1. Menghitung histogram sampel
-1 -1 -1 IPL_SHARPEN_3x3: (1/8) * -1 16 -1 -1 -1 -1
(1) Tujuan dari penggunaan sharpen filter adalah agar detail dari image lebih menonjol dan
untuk meningkatkan kontras dari image, sehingga perbedaan antara alas maze dan dinding maze semakin jelas.
Setelah sharpening, pada maze-path image yang berukuran 160 x 120 pixel, dibuat sebuah
Region Of Interest (ROI) yang disebut sebagai “ROI sample” yang berbentuk persegi-panjang
dengan ukuran 62 x 21 pixel yang ditempatkan pada bagian bawah-tengah dari maze-path image sehingga ROI tersebut akan selalu berada tepat pada alas maze. Dari ROI tersebut diambil sampel alas maze, kemudian sampel tersebut dikonversi ke dalam sistem warna HSV dengan fungsi
iplRGB2HSV, lalu dipisah menjadi komponen H, komponen S dan komponen V dengan fungsi cvCvtPixToPlane. Kemudian komponen H dan komponen V dihitung histogramnya dengan fungsi cvCalcHist. Histogram merupakan merupakan suatu tool yang digunakan untuk melihat komposisi
dari suatu image. Histogram memberikan informasi berupa kontras dan distribusi intensitas dari suatu image.
Gambar 4. Histogram Komponen H dan V Dari Sampel Alas Maze
2.2.2. Back
projection
Back Projection merupakan suatu teknik untuk mencari bagian dari suatu image yang mirip
dengan sampel, dengan menggunakan histogram dari sampel tersebut. Pixel-pixel dari source
image di-set dengan nilai antara 0-255 sesuai dengan tingkat kemiripannya terhadap sampel,
semakin mirip dengan sampel nilai yang di-set semakin tinggi.
Histogram sampel yang diperoleh, digunakan untuk menghitung back projection komponen H dan V dari maze-path image (yang telah dikonversikan ke dalam sistem warna HSV) dengan fungsi cvCalcBackProject.
Gambar 5. Probability Image Hasil Back Projection Komponen H dan V
Gambar 6. Image Hasil Back Projection Komponen H dan V Setelah Di-Threshold
Image hasil back projection komponen H dan komponen V akan berupa grayscale image
ini warna sampel yang digunakan adalah warna alas maze sehingga pada grayscale image bagian yang paling terang akan mewakili alas maze.
Grayscale image tersebut kemudian di-threshold dengan fungsi cvThreshold untuk
mendapatkan binary image yang hanya terdiri dari dua warna, yaitu putih dan hitam.
Kemudian binary image dari hasil threshold komponen H dan komponen V di-AND-kan untuk menghasilkan sebuah binary image yang dapat digunakan sebagai vision image pada robot mobil.
Gambar 7. Image Hasil AND’s Komponen H dan V
Namun karena pengaruh cahaya luar, maka pada binary image yang diperoleh masih dijumpai adanya bintik/daerah hitam pada bagian yang seharusnya berwarna putih (yang mewakili
alas maze), dan untuk menghilangkan noise ini cukup dengan menggunakan median filter dan morphology.
Median filter biasanya digunakan untuk menghilangkan impluse noise (pixel-pixel yang
memiliki intensitas yang sangat berbeda terhadap pixel-pixel di sekitarnya, misalnya 0 atau 255). Pada median filter, pixel-pixel pada suatu image yang tercakup dalam suatu kernel (window) diurutkan sesuai nilainya dan dicari nilai tengahnya (median), nilai tersebut digunakan untuk
men-set pixel pada output image.
Gambar 8. Binary Image Setelah Proses Median Filter Dan Morphology
Proses morphology yang terdiri dari dua macam operasi, yaitu: erosi dan dilasi. Erosi merupakan suatu proses menipiskan tepi dari suatu obyek sedangkan Dilasi merupakan suatu proses menebalkan tepi dari suatu obyek, kedua operasi ini jika dilakukan secara bergantian beberapa kali dapat menghilangkan bintik-bintik kecil pada suatu image.
2.3.
Sensor navigasi robot mobil
Setelah memperoleh binary image yang kualitasnya memadai (bagian yang berwarna putih kelihatan padat) untuk digunakan sebagai vision image pada robot mobil, maka pada binary image tersebut di-set beberapa ROI (Region Of Interest) dengan ukuran yang lebih kecil, yaitu 10x10
pixel sebagai “ROI-sensor” yang digunakan untuk navigasi robot mobil pada maze.
Fungsi dari masing-masing ROI-sensor dalam navigasi robot mobil adalah sebagai berikut: a. Bump sensor (ROI 1 AND’s ROI 2)
Berfungsi sebagai penentu aktif atau tidaknya pasangan ROI 3 dan 4 dengan ROI 5 dan 6, kedua pasangan ROI tersebut aktif secara bergantian, maksudnya ROI 1 dan 2 berfungsi sebagai toggle aktivasi antara ROI 3 dan 4 dengan ROI 5 dan 6. Jika ROI 1 dan 2 mendeteksi adanya jumlah pixel hitam yang lebih banyak dari pixel putih dalam rectangle-nya maka bump
sensor akan aktif dan bump sensor ini akan mengaktifkan pasangan ROI 3 dan 4. Tetapi jika
hanya salah satu dari ROI 1 atau ROI 2 atau dua-duanya tidak mendeteksi jumlah pixel hitam yang lebih banyak dari pixel putih dalam rectangle-nya maka bump sensor tidak aktif sehingga pasangan ROI-sensor yang aktif adalah ROI 5 dan 6.
b. Turn right dan turn left sensor (ROI 3 dan ROI 4)
Keduanya berfungsi untuk mendeteksi belokan yang ada pada jalur maze, sesuai dengan namanya maka jika ROI 3 (turn right sensor) aktif dan mendeteksi jumlah pixel hitam yang lebih banyak dari pixel putih dalam rectangle-nya maka robot mobil akan berputar ke kanan. Demikian juga sebaliknya untuk ROI 4.
Bump sensors
Turn Left sensor Turn Right sensor
Left
sensor Right sensor
Danger sensor
Gambar 9. Posisi Dan Nama Masing-masing ROI Pada Frame (kiri); Vision Image Pada Robot Mobil (kanan)
c. Left dan right sensor (ROI 5 dan ROI 6)
Akan aktif bila bump sensor tidak aktif. Berfungsi untuk mengoreksi arah robot mobil pada saat berjalan di jalur lurus. Jika ROI 5 mendeteksi jumlah pixel hitam yang lebih banyak dari pixel putih dalam rectangle-nya maka robot mobil akan mengetahui bahwa posisinya miring ke kiri maka robot mobil akan berputar ke kanan sampai ROI 5 mendeteksi jumlah pixel
putih yang lebih banyak dari pixel hitam dalam rectangle-nya, setelah itu robot mobil kembali
bergerak maju demikian juga sebaliknya untuk ROI 6. d. Danger sensor (ROI 7)
Memiliki proritas tertinggi dan berdiri sendiri serta tidak berkaitan dengan ROI-sensor yang lain. Danger sensor berfungsi untuk menjaga agar robot mobil tidak menabrak dinding yang ada di depannya dan melindungi daerah ROI sample agar tidak sampai mengenai dinding
maze. Karena itu maka jika ROI 7 mendeteksi jumlah pixel hitam yang lebih banyak dari pixel
putih dalam rectangle-nya maka robot mobil akan mundur sampai mencapai jarak yang aman bagi ROI sample.
3. Pengujian
3.1.
Pengujian sensor navigasi
Pengujian dilakukan untuk melihat apakah ROI-sensor tersebut dapat mendeteksi perubahan komposisi pixel dalam daerah rectangle masing-masing.
Dari pengujian ternyata ROI-Sensor dapat mendeteksi perubahan komposisi pixel dalam
rectangle-nya. Sehingga dapat digunakan untuk navigasi robot mobil pada maze, dan pengujian
dilanjutkan pada pengujian sistem secara terintegrasi.
3.2.
Pengujian sistem terintegrasi
Pengujian sistem secara terintegrasi dilakukan pada maze yang berbentuk huruf ‘S’ agar kemampuan robot mobil dalam berjalan lurus, berbelok ke kanan dan berbelok ke kiri dapat diuji. Di bawah ini ditampilkan sekuens pengujian sistem secara terintegrasi, gambar sebelah kiri merupakan posisi robot mobil pada maze dan gambar sebelah kanan merupakan respon
ROI-sensor.
Gambar 11. Pengujian Sistem Pada Maze Berbentuk ‘S’
4. Kesimpulan
Berdasarkan hasil pengujian dapat disimpulkan beberapa hal sebagai berikut :
Segmentasi berdasarkan warna dapat digunakan untuk memisahkan daerah alas maze dan dinding maze. Dan hasil segmentasi dapat digunakan sebagai vision image pada robot mobil untuk menelusuri maze.
Sensor berupa image ROI (Region Of Interest) dapat digunakan untuk navigasi robot mobil pada maze dengan menggunakan vision image yang diperoleh dari hasil segmentasi.
Robot mobil dengan kamera dapat diproses komputer dengan cukup cepat karena ukuran resolusi frame yang digunakan adalah 160x120 sehingga jumlah frame per second yang diperoleh dapat mencapai 30 fps.
Kamera memiliki sudut pandang yang kecil sehingga kurang akurat dalam mendeteksi belokan pada jalur maze dan dapat mengakibatkan robot mobil tetap berjalan lurus pada saat harus berbelok, namun hal ini dapat diatasi dengan menambah ROI-sensor untuk mendeteksi keadaan ini sehingga apabila robot mobil akan menabrak dinding maka robot mobil dapat menghindari tabrakan dengan cara mundur sampai jarak yang aman dan mencoba untuk mendeteksi belokan sekali lagi.
5. Daftar
pustaka
[1] Ferdinand Van der Heijden, Image Based Measurement System, New York: John Wiley & Sons, Ltd., 1994.
[2] G.J. Awcock and R. Thomas, Applied Image Processing, Singapore: McGraw-Hill, Inc., 1996.
[3] Gary R. Bradski, “Computer Vision Face Tracking For Use in a Perceptual User Interface,”
Intel Technology Journal, Q2 ’98, pp. 1-15.
[4] Gregory A. Baxes, Digital Image Processing : Principles and Application,. New York: John Wiley & Sons, Inc., 1994.