Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

8
Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift Made Boyke Ismaya 1) , Kusprasapta Mutijarsa 2) 1) Jurusan Teknik Elektro Institut Teknologi Nasional, Jl. PKH. Mustapa No. 23 Bandung 40124, email: [email protected] 2) Sekolah Teknik Elektro dan Informatik, Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, email: [email protected]

description

Sistem robot pengikut bola ini dibagi menjadi beberapa subsistem yaitu subsistem pengolahan citra, subsistem perangkat keras dan subsistem pengendali. Dalam subsistem pengolahan citra digunakan webcam sebagai pengambilan data gambar dan diproses dengan suatu komputer atau laptop. Pada proses ini digunakan compiler Microsoft Visual C++ 6, dengan menambahkan funsi-fungsi dari library Open Source Computer Vision (OpenCV). Subsistem pengolahan citra berguna untuk mendeteksi adanya bola pada lingkungan disekitar. Metoda yang digunakan untuk mendeteksi bola pada lingkungan sekitarnya adalah metoda camshift. Subsistem perangkat keras yang digunakan adalah suatu mobile base robot yang telah dibuat pada penelitian sebelumnya. Dan subsistem pengendali menggunakan satu buah mikrokontroler ATMEGA8535 dan kamera dapat menagkap gambar pada jarak 50 sampai dengan 120 cm.

Transcript of Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

Page 1: Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

Made Boyke Ismaya1), Kusprasapta Mutijarsa2)

1) Jurusan Teknik Elektro Institut Teknologi Nasional, Jl. PKH. Mustapa No. 23 Bandung 40124, email: [email protected]

2) Sekolah Teknik Elektro dan Informatik, Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, email: [email protected]

Page 2: Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

AbstractPada penelitian ini akan dikembangkan

suatu sistem autonomus mobile robot yang dapat bergerak mengikuti objek berupa bola. Sistem ini merupakan tahap awal untuk mengembangkan suatu sensor dalam bentuk computer vision.

Sistem robot pengikut bola ini dibagi menjadi beberapa subsistem yaitu subsistem pengolahan citra, subsistem perangkat keras dan subsistem pengendali. Dalam subsistem pengolahan citra digunakan webcam sebagai pengambilan data gambar dan diproses dengan suatu komputer atau laptop. Pada proses ini digunakan compiler Microsoft Visual C++ 6, dengan menambahkan funsi-fungsi dari library Open Source Computer Vision (OpenCV). Subsistem pengolahan citra berguna untuk mendeteksi adanya bola pada lingkungan disekitar. Metoda yang digunakan untuk mendeteksi bola pada lingkungan sekitarnya adalah metoda camshift. Subsistem perangkat keras yang digunakan adalah suatu mobile base robot yang telah dibuat pada penelitian sebelumnya. Dan subsistem pengendali menggunakan satu buah mikrokontroler ATMEGA8535 dan kamera dapat menagkap gambar pada jarak 50 sampai dengan 120 cm.

Hasil dari penelitian ini adalah seluruh subsistem dapat diintegrasikan sehingga robot dapat bergerak mengikuti objek yang berbentuk bola untuk jarak bola dengan robot antara 50 cm sampai dengan 120 cm dan dapat melakukan pencarian bola ketika bola tidak berada di depan robot.

Kata kunci : Autonomous Mobile Robot, Computer Vision, Pengolahan Citra, OpenCV, Camshift

1. PENDAHULUAN

Autonomous mobile robot (AMR) atau yang dikenal dengan wahana gerak mandiri adalah wahana/kendaraan yang memiliki kemampuan untuk bergerak secara keseluruhan dari satu posisi ke posisi lainnya secara mandiri. AMR mengenali lingkungannya melalui sensor-sensor yang dimiliki. Kemudian sensor tersebut diterima sebagai presepsi yang akan diekstraksi menjadi pengetahuan bagi AMR. Dari pengetahuan yang dimiliki, AMR akan menentukan dan mengambil keputusan tentang apa yang harus dilakukan pada kondisi tertentu sesuai dengan keadaan lingkungan tempat AMR bekerja.[1],[2]

Terdapat berbagai macam sensor yang ada untuk aplikasi elektronik. Sensor tersebut digunakan untuk mendeteksi kondisi sekitarnya termasuk suatu objek, salah satunya adalah sensor dengan menggunakan kamera. Telah kita ketahui bahwa kamera dapat digunakan sebagai sensor untuk mendeteksi/mengenali objek dan kamera tersebut dapat diprogram untuk mengontrol pergerakan robot bila posisi dari objek tersebut berubah. [1],[2]

Pada penelitian ini dilakukan pengintegrasian

antara mobile base robot yang telah ada dengan pengaplikasian kamera sebagai sensor sehingga robot dapat bergerak mengikuti objek berupa bola.

2. SPESIFIKASI SISTEM

Secara umum sistem kerja robot pengikut bola diperlihatkan pada Gambar 1.

Sistem dimulai dari proses pengolahan ditra yang dilakukan di komputer. Data gambar diambil dari webcam kemudian diproses sehingga dapat menentukan arah pergerakan. Hasil proses pengolahan dikirimkan melalui komunikasi serial menuju mikrokontroler. Mikrokontroler akan menggerakan motor-motor pada mobile base robot berdasarkan data yang diterima.

Gambar 1. Blok Diagram Sistem Kerja Robot

2.1. Perangkat LunakPerangkat lunak untuk merealisasikan robot

pengikut bola digunakan dua compiler berbeda yaitu : Microsoft Visual C++ 6 sebagai compiler untuk melakukan pengolahan citra dan Code Vision AVR sebagai pemrograman gerak robot.

Pada compiler Microsoft Visual C++ 6 perlu ditambahkan library fungsi-fungsi untuk melakukan proses pengolahan cira. Salah satunya adalah Open Source Computer Vision Library (OpenCV). Kelebihan utama digunakannya OpenCV adalah dapat digunakan untuk pemrosesan gambar secara real time.[3]

OpenCV dibuat berdasarkan fungsi-fungsi dasar yang terdapat pada INTEL performance library. Library ini menyediakan sekumpulan fungsi-fungsi C yang mengimplementasikan fungsi-fungsi image processing (pengolahan citra). [3]

Beberapa fungsi umum yang dapat didukung oleh OpenCV :

Calibration Technique Feature Detection Feature Tracking Shape Analysis Motion Analysis Object segmentation Object Recognition

Banyak metoda yang terdapat pada OpenCV salah satu yang akan digunakan pada penelitian ini adalah metoda CamSHIFT. [3]

CamShift adalah singkatan dari Continuously Adaptive Mean Shift, yang merupakan pengembangan dari algoritma Mean Shift yang dilakukan secara terus

Page 3: Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

menerus (berulang) untuk melakukan adaptasi atau penyesuaian terhadap distribusi probabilitas warna yang selalu berubah setiap pergantian frame dari video sequence. Diagram blok camshift dapat dilihat pada Gambar 2. [3]

Inti dari algoritma camshift adalah algoritma meanshift. Dapat dilihat pada diagram blok bahwa algoritma meanshift berada pada kotak berwarna abu-abu pada Gambar 2. Algoritma meanshift meliputi :

1. Pilih ukuran search window (sampel gambar)2. Pilih lokasi awal sampel gambar3. Hitung daerah mean dalam sampel gambar4. Pusatkan sampel gambar ke daerah mean seperti

dihitung pada langkah ke-3.5. Ulangi langkah 3 dan 4 hingga titik tengah

ditemukan.Hasil dari pengolahan citra menggunakan metoda camshift akan dikirimkan ke mikrokontroler untuk melakukan pergerakan pada robot. Flowchart pergerakan robot dapat dilihat pada Gambar 3.

Gambar 2. Diagram Blok Camshift [3]

Gambar 3. Flowchart Pergerakan Robot

Mode searching dilakukan ketika bola tidak berada didepan kamera atau bola yang ditangkap oleh kamera lebih kecil dari 30 x 30 pixel. Mode searching akan melakukan pergerakan pencarian oleh kamera yang dilakukan oleh motor servo. Pergerakan motor servo dilakukan dengan mencari bola di daerah kanan dan daerah kiri robot. Gambar 4. menunjukkan pergerakan mode searching pada motor servo.

Page 4: Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

Gambar 4. Flowchart Mode Searching

2.2. Perangkat Keras Mobile Base Robot[1], [5]

Mobile Base Robot yang dipakai dalam aplikasi ini merupakan mobile base yang telah dibuat pada penelitian sebelumnya. Mobile base robot digunakan untuk mengaplikasikan sistem pengolahan citra yang telah dibangun sehingga dapat terlihat pergerakannya secara nyata.

Pada Mobile base robot ditambahkan beberapa perangkat keras untuk mengaplikasikan sistem pengikut bola. Penambahan berupa dudukan lampu meja yang telah dimodifikasi dan satu buah motor servo sebagai tempat dudukan kamera

Motor servo yang digunakan adalah Hitec Servo HS-85BB dengan spesifikasi sebagai berikut:

Ball bearing Kecepatan 0.16 sec/60o AT 4.8 Volt Torka 3.0kg.cm (42oz.in) AT 4.8 Volt Berat : 19.2 gr (0.67oz) Besar : 19 x 13 x 30 mm

Personal Computer (PC)/LaptopSebagai Pusat pengolahan citra

Webcam

Gambar 5. Webcam

Webcam yang digunakan adalah Logitech QuickCam Messenger dengan spesifikasi :

Frame kamera 640 x 480 pixel 30 frame per detik

3. HASIL DAN PEMBAHASAN

Kriteria pengujian dibagi menjadi dua bagian, yaitu pengujian perangkat lunak dan pengujian fungsional dimana perangkat lunak yang telah direalisasikan kemudian diintegrasikan terhadap mobile base robot. Penempatan posisi bola terhadap kamera maupun robot dapat dilihat pada Gambar 6. dimana x merupakan jarak antara kamera dengan bola dan t adalah tinggi kamera. Posisi kamera ditempatkan pada ujung depan robot.

Posisi kamera terhadap sumbu tegak lurus lantai sebesar 45º. Wilayah yang dapat tertangkap oleh kamera sepanjang 50 cm sampai dengan 120 cm didepan robot.

Gambar 6. Penempatan Posisi Robot, Kamera dan Bola

3.1. Pengujian Perangkat Lunak Batas Minimum Bola yang Terdeteksi

Dalam perangkat lunak bola akan dapat terdeteksi jika besar bola lebih besar dari 30x30 pixel. Besar bola minimum yang dapat terdeteksi dibandingkan dengan besar frame 344x288 pixel terlihat pada Gambar 7.

Gambar 7. Besar Minimum Bola yang dapat Terdeteksi

Pendeteksi Keberadaan Bola Berdasarkan Frame Kamerao Pengujian 1

Pengujian dilakukan dengan menyimpan bola tepat pada tengah frame.

Page 5: Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

Gambar 8. Deteksi Bola berada di tengah Frame

Bola sudah dapat terdeteksi. Pendeteksian diberi tanda dengan lingkaran kuning sekitar tepi bola.

o Pengujian 2Pengujian dilakukan dengan menyimpan bola di tepi pada tengah frame

Gambar 9. Deteksi Bola berada di tepi Frame

Bola sudah dapat terdeteksi. Pendeteksian diberi tanda dengan lingkaran kuning sekitar tepi bola.

Pendeteksian dilakukan beulang-ulang dan posisi bola dipindah-pindahkan. Sistem pendekteksian dapat mendeteksi bola secara benar dimanapun bola ditempatkan dan dapat mengetahui jika bola tidak dberada pada frame.

3.2. Pengujian Fungsional Pengujian Kecepatan Menyelesaikan Misi

Robot Mempunyai kecepatan maksimum 20,7 cm/s. Pengujian dilakukan dengan menyimpan bola sehingga bola berada pada frame tetapi tidak tepat di tengah-tengah frame.

Pada kecepatan maksimum (100%) robot tidak dapat mencapai titik akhir yaitu robot diam dan bola berada pada tengah frame. Ini disebabkan karena adanya antrian data pada komunikasi serial. Ketika robot mendapatkan data posisi bola agar robot diam tetapi data yang terkirim pada mikrokontroler bukan data untuk berhenti tetapi masih ada data sebelumnya yang belum tereksekusi sehingga terjadi kelebihan gerakan.

Kemudian dilakukan pengujian ulang dengan mengurangi kecepatannya. Kecepatan dikurangi 10% sampai robot dapat mencapai titik akhir.

Robot mulai mencapai titik akhir pada kecepatan 40% dari kecepatan maksimum. Akan tetapi masih terjadi kelebihan gerakan. Robot mulai mencapai titik akhir tanpa ada kelebihan gerakan pada kecepatan 30% dari kecepatan maksimum

Pengujian SearchingPengujian searching yaitu pengujian yang

dilakukan ketika bola tidak berada pada frame.Pada pengujian ini digunakan kecepatan 30%

dari kecepatan maksimum dikarenakan agar sistem dapat mecapai titik akhir.

Bola akan mencapai titik akhir ketika titik tengah bola berada pada titik tengah frame diamana titik tengah frame ber ada pada pixel 172x144 Pengujian dilakukan dengan menyimpan bola

tidak pada depan robot (tidak terdapat pada frame kamera) dengan jarak ujung robot dan bola 80 cm. Robot berhasil menemukan bola dan dapat mengikutinya.

Gambar 10. Pergerakan Robot Mode Searching

(1) (2)

(3) (4)

(5) (6)

(7) (8)

Page 6: Robot Pengikut Bola Menggunakan Sensor Kamera Berbasis Metoda Opencv Camshift

Proses searching Gambar 10. :(1) Posisi awal robot dan bola.(2) Kamera mencari bola kearah kanan (tidak

ditemukan).(3) Kamera mencari kearah kiri (ditemukan).(4) Robot berputar kearah kiri.(5) Robot berputar sedikit kea rah kiri sehingga

titik tengah bola mendekati titik tengah absis (horizontal) frame.

(6) Robot maju mendekati bola.(7) Robot maju mendekati bola.(8) Mencapi titik akhir (posisi titik tengah bola

mendekati titik tengah frame) dan diam.

Pengujian dilakukan dengan menyimpan bola tidak pada depan robot (tidak terdapat pada frame kamera) dengan jarak ujung robot dan bola 150 cm.Robot tidak berhasil menemukan bola, ini disebabkan proses pencarian bola hanya berputar-putar ditempat sedangkan daya tangkap maksimum kamera hanya mencapai 120 cm.

4. KESIMPULAN

1. Jangkauan kamera yang dapat di tangkap adalah sejauh 50 cm sampai dengan 120 cm di depan robot.

2. Robot berhasil mencapai titik akhir pada kecepatan 30% dari kecepatan maksimum (6.22 cm/s).

3. Sistem sudah dapat mendeteksi keberadaan bola dan sudah dapat mengikuti bola.

4. Mode searching (saat bola tidak ada pada frame) sudah berhasil dilakukan oleh sistem, akan tetapi hanya dalam jangkauan wilayah robot yaitu pada jarak 50 cm sampai dengan 120 cm disekeliling robot.

DAFTAR REFERENSI

[1] Aryo Nurman Wardhana, ST. “Perancangan dan Realisasi Platform dan Sistem Penggerak Autonomous Mobile Robot”, Tugas Akhir, Bandung, 2007.

[2] Sumitro Hadi Harto, ST. “Perancangan dan Realisasi Platform Serta Sistem Sensor pada Autonomous Mobile Robot”, Tugas Akhir, Bandung, 2007

[3] _________, “Reference Manual Open Source Computer Vision Library”, http://develop.intel.com

[4] Raharjo, Budi, "Pemrograman C++", Penerbit Informatika, Bandung, 2006.