ROBOT MOBIL DENGAN SENSOR KAMERA UNTUK MENELUSURI JALUR PADA MAZE 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
Maze-path
USB port Personal Computer
Mobile Robot Serial port
Gambar 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 B-76
Robot Mobil dengan Sensor Kamera Untuk Menelusuri Jalur pada Maze
B-77
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 Sebelum mengambil sampel alas maze, maze-path image di-sharpen filter dengan menggunakan iplFixedFilter. Sharpen filter menggunakan kernel dengan koefisien positif ditengahnya dan negatif di sekelilingnya. Kernel yang digunakan:
Proceedings, Komputer dan Sistem Intelijen (KOMMIT 2002) Auditorium Universitas Gunadarma, Jakarta, 21 – 22 Agustus 2002
B-78
-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 (bagian yang paling terang mewakili warna yang sama dengan sampel yang digunakan), dalam hal
Robot Mobil dengan Sensor Kamera Untuk Menelusuri Jalur pada Maze
B-79
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 menset 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.
Proceedings, Komputer dan Sistem Intelijen (KOMMIT 2002) Auditorium Universitas Gunadarma, Jakarta, 21 – 22 Agustus 2002
B-80
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 Right sensor
Left sensor
Turn 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.
Gambar 10. Contoh Berbagai Posisi Robot Terhadap Dinding Maze
Robot Mobil dengan Sensor Kamera Untuk Menelusuri Jalur pada Maze
B-81
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 ROIsensor.
Gambar 11. Pengujian Sistem Pada Maze Berbentuk ‘S’ Dari sekuens pengujian, dapat dilihat bahwa robot mobil dapat bergerak menelusuri maze.
Proceedings, Komputer dan Sistem Intelijen (KOMMIT 2002) Auditorium Universitas Gunadarma, Jakarta, 21 – 22 Agustus 2002
B-82
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. [1] [2] [3] [4] [5]
Daftar pustaka Ferdinand Van der Heijden, Image Based Measurement System, New York: John Wiley & Sons, Ltd., 1994. G.J. Awcock and R. Thomas, Applied Image Processing, Singapore: McGraw-Hill, Inc., 1996. Gary R. Bradski, “Computer Vision Face Tracking For Use in a Perceptual User Interface,” Intel Technology Journal, Q2 ’98, pp. 1-15. Gregory A. Baxes, Digital Image Processing : Principles and Application,. New York: John Wiley & Sons, Inc., 1994. Randy Crane, A Simplified Approach to Image Processing, New Jersey: Prentice Hall, Inc., 1997.