PERANCANGAN MOBILE ROBOT DENGAN SENSOR KAMERA MENGGUNAKAN SISTEM KENDALI FUZZY Lasti Warasih H. E-mail : lushtea @gmail.com Abstrak Manusia selalu ingin menciptakan robot yang dapat bernavigasi seperti dirinya. Manusia dapat bernavigasi dengan hanya menggunakan informasi yang didapat melalui indera penglihatan. Untuk itu perlu diterapkan sistem penginderaan yang didasarkan pada pengelihatan pada suatu sistem navigasi robot. Sistem penginderaan ini diterapkan pada robot menggunakan suatu jenis sensor untuk menangkap citra, yaitu sensor kamera. Jurnal ini akan membahas penggunaan kamera sebagai sensor pada sistem pengendalian mobile robot (1) atau robot bergerak. Sebelum digunakan sebagai dasar pengendalian, informasi yang didapat dari sensor kamera harus diproses terlebih dahulu. Pengendalian yang digunakan untuk navigasi robot adalah pengendalian berdasarkan logika fuzzy. Sistem yang ingin dicapai adalah sistem robot yang dapat bernavigasi berdasarkan pengendalian fuzzy dengan hanya menggunakan input dari kamera. Dari hasil pengujian dapat diketahui bahwa dapat diterapkan sebuah sistem kendali fuzzy untuk mengendalikan mobile robot dengan hanya menggunakan sensor kamera. Abstract Human beings always try to create robot that can navigate like them self. Humans can navigate with information from their vision. To achieve it, a vision based system is needed for robot navigation. This vision based system is applied on a robot with a type of image capturing sensor, which is a camera. This journal discusses the use of camera as a sensor in the mobile robot control system. Before used as the input of the navigation control system, the information from the camera sensor has to be processed beforehand. The control system that is used for the robot navigation is a control system based on fuzzy logic. The final goal is a mobile robot with fuzzy control system that can navigate with input only from camera sensor. From the experiment we can see that a fuzzy control system can be applied on a mobile robot with camera sensor. Keywords : robot, mobile robot, camera sensor, navigation system, fuzzy control
1.
Pendahuluan
Sudah merupakan cita-cita banyak ilmuwan untuk dapat membuat robot yang menyerupai salah satu kemampuan manusia. Manusia dapat bernavigasi dengan hanya menggunakan informasi yang didapat melalui indra penglihatan. Untuk dapat bernavigasi robot juga membutuhkan indra untuk mengetahui keadaan sekitarnya dengan menggunakan sensor. Sensor yang sering digunakan dalam sistem navigasi robot adalah sensor sentuh dan sensor jarak, tergantung pada kebutuhan dimana robot itu didesain untuk bekerja. Sedangkan sensor kamera masih jarang digunakan, karena informasi yang dihasilkan oleh sensor ini tidak dapat langsung digunakan. Informasi yang dihasilkan dari sensor kamera harus diproses terlebih dahulu. Sedangkan pada umumnya robot hanya memiliki kemampuan pemrosesan yang sedikit/ terbatas. Dengan digunakannya sensor kamera, maka dapat diperoleh banyak informasi yaitu jarak, sudut, jenis objek, bahkan kecepatan. Sehingga sensor ini sering disebut ”all in one”. Banyaknya informasi yang dapat
diperoleh dari sensor ini membuat robot yang menggunakannya dapat beroperasi tidak hanya pada satu lingkungan, tapi dapat beradaptasi tergantung dengan lingkungan yang dihadapinya. Sehingga untuk memenuhi hal tersebut, jurnal ini akan membahas perancangan mobile robot dengan menggunakan sensor kamera. Dimana informasi yang didapat dari sensor kamera ini menjadi dasar pengendalian mobile robot berdasarkan logika fuzzy. 2.
Perancangan Sistem
Secara garis besar sistem dapat dibagi menjadi tiga bagian utama yaitu kamera, PC (Personal Computer), dan mobile robot.
Gambar 1. Diagram fisik sistem
Cara kerja sistem secara garis besar adalah dimana kamera berfungsi untuk sistem sensor yang akan mengambil citra sebagai umpan balik sistem. Kemudian komputer melakukan pemrosesan hasil citra dari kamera yang berfungsi untuk memproses gambar yang diterima dari kamera, dan juga melakukan sistem pengendalian dari pergerakan mobile robot. Terakhir mobile robot, melalui RS-232, menerima hasil pengendalian yang kemudian diterjemahkan oleh mikrokontroler [2] ke sistem kendali motor menjadi kecepatan roda penggerak. PC (Computer) Sistem Pemrosesan Sensor Kamera Kamera
Sistem Pengendalian Mobile Robot
RS232
Mobile Robot Microkontroller ATmega8535
Sistem Kendali Motor
Gambar 2. Blok diagram sistem
. Pergerakan mobile robot yang ditentukan kecepatan roda penggerak ini kemudian ditangkap kembali oleh kamera dan begitu seterusnya. Sedangkan perancangan sistem dapat dibagi menjadi 3 (tiga) bagian yaitu perancangan kendali motor, perancangan sistem sensor kamera, dan perancangan sistem pengendali mobile robot. 2.1. Perancangan Kendali Motor Sistem kendali motor berfungsi menerima sinyal dari mikrokontroler dan mengeluarkan sinyal yang digunakan langsung untuk mengerakkan motor DC [3]. Untuk melakukan hal tersebut, dilakukan pengendalian kecepatan motor menggunakan PWM (Phase Width Modulation) yang kemudian menjadi masukan rangkaian kendali motor [4]. Pada perancangan ini, sinyal PWM dibangkitkan dengan menggunakan pemrograman mikrokontroler. Dengan menggunakan mikrokontroler, bisa didapatkan sinyal PWM yang lebih sederhana dan fleksibel besarnya. Rangkaian sistem penggerak [5] ini terbagi dari tiga bagian, yaitu rangkaian optocoupler, H-bridge, dan motor DC. Optocoupler berfungsi untuk
menghubungkan antara pin mikrokontroler dengan rangkaian H-bridge. Sedangkan rangkaian H-bridge mempunyai fungsi utama agar motor DC yang dihubungkan, bisa bergerak dalam dua arah yang berlawanan. Motor yang mampu bergerak dalam dua arah yang berlawanan ini kemudian dihubungkan langsung dengan roda penggerak sehingga mobile robot bisa bergerak. 2.2. Perancangan Sistem Kamera Secara umum, sistem sensor kamera ini akan menangkap citra yang didalamnya terdapat beberapa objek yang berbeda, yaitu objek mobile robot dan objek penghalang, jika ada. Maka pertama-tama ditentukan pola dari objek-objek yang akan dipakai pada sistem ini. Pola dari objekobjek ini harus mempunyai ciri-ciri khusus yang untuk kemudian dapat menjadi ciri-ciri yang membedakan antar objek, dan juga dapat mempermudah sistem untuk mendapat informasi posisi dan sudut objek Objek berbentuk segiempat yang dibagi menjadi sembilan bagian kecil (blok). Sembilan bagian tersebut masing-masing diberi warna dengan tiga kemungkinan warna, yaitu hijau, merah, dan kuning, sehingga menghasilkan pola yang unik. Warna hijau diletakkan pada salah satu blok untuk menunjukkan bagian depan dari objek, dimana hal ini berguna untuk menentukan sudut objek. Sedangkan komposisi warna merah dan kuning yang diletakkan pada kedelapan blok lainnya menunjukkan identitas dari objek. Dengan kombinasi warna merah dan kuning pada kedelapan blok yang berbeda-beda, maka rancangan pola ini akan mampu merepresentasikan 28 objek yang berbeda. Pada perancangan ini ditentukan dua pola yang digunakan pada sistem, dimana pola pertama untuk mobile robot dan pola kedua untuk objek penghalang.
Gambar 3. Pola untuk identifikasi objek
. Tujuan sistem ini adalah mengenali masing-masing objek yang ditangkap kamera, selain itu juga untuk mendapatkan informasi koordinat dan sudut kemiringan masing-masing objek terhadap garis acuan. Karena itu, untuk mendapatkan informasi yang diinginkan dari sensor kamera, perlu dilakukan pemrosesan citra. Pemrosesan citra dilakukan pada PC dan terdiri dari tiga tahap yaitu pemrosesan citra awal untuk kepentingan perbaikan, pengambilan informasi objek untuk mendapat nilai posisi dan sudut, dan pengenalan objek untuk mengetahui identitas objek yang ditangkap.
Proses ini secara lengkap digambarkan pada diagram alir yang ditunjukkan pada gambar 4.
Untuk sistem dengan objek penghalang, keempat parameter dimasukkan ke dalam algoritma yang ditunjukkan diagram alir pada gambar 5.
Gambar 4. Diagram alir sistem sensor kamera
. 2.3. Perancangan Sistem Kendali Fuzzy Agar sistem yang dirancang dapat berjalan sesuai dengan perancangan, maka dibutuhkan sistem pengendalian yang ada pada mikrokontroler. Sepreti dijelaskan sebelumnya, mikrokontroler disini berfungsi untuk memproses informasi yang dikirimkan oleh komputer, melalui RS-232, menjadi gerakan pada mobile robot. Untuk dapat memproses data ini menjadi gerakan maka dibutuhkan suatu algoritma pengendalian yang berupa pengendalian fuzzy. Dari sistem sensor kamera, didapatkan posisi dan sudut dari objek mobile robot dan juga objek penghalang. Selain itu, ada juga data posisi target yang ditentukan, target ini merupakan tujuan akhir dari mobile robot. Kemudian data-data tersebut diolah sehingga didapatkan empat parameter berikut: 1. Jarak mobile robot dengan target (jarak_tuj) 2. Sudut mobile robot dengan target (sudut_tuj) 3. Jarak mobile robot dengan objek penghalang (jarak_obs) 4. Sudut mobile robot dengan objek penghalang (sudut_obs) Dari keempat parameter diatas, dibuat suatu pengendalian berbasis logika fuzzy dengan dua macam sistem berbeda. Sistem pengendalian tanpa objek penghalang dan sistem pengendalian dengan objek penghalang.
Gambar 5. Diagram alir sistem dengan penghalang
Maka pada sistem dengan objek penghalang didapatkan hanya dua parameter akhir yaitu sudut mobile robot dengan target (sudut_tu) dan jarak mobile robot dengan target (jarak_tuj), begitu juga pada sistem tanpa objek penghalang. Untuk melakukan pengendalian [6], nilai kedua parameter yang kontinu tersebut dikonversi terlebih dahulu ke suatu set nilai fuzzy yang sudah ditentukan dan ditunjukkan gambar 6.
Gambar 6. Set fuzzy untuk sudut_tuj dan jarak_tuj
Kemudian dari kedua kondisi fuzzy dari jarak_tuj dan sudut_tuj yang didapatkan, diterapkan aturan-aturan fuzzy untuk mendapatkan nilai duty cycle yang harus diaplikasikan ke sistem kendali motor untuk menggerakkan mobile robot [7]. Aturan fuzzy yang diterapkan pada pengendalian sistem ini ditunjukkan pada tabel 1. Sehingga akan menghasilkan nilai kecepatan yang direpresentasikan dalam duty cycle., dimana fungsi keanggotaan dari nilai fuzzy kecepatan ini ditunjukkan pada gambar 7.
Program yang digunakan adalah program terminal pada CodeVisionAVR dengan baud rate 9600. Dengan program komunikasi.cpp di dalam mikrokontroler, maka jika diketikkan suatu karakter pada terminal, karakter tersebut akan dikirimkan ke mikrokontroler. Kemudian mikrokontroler akan mengirim kembali karakter tersebut, sehingga karakter tersebut muncul pada layar terminal.
Tabel 1. Aturan Fuzzy
. Sudut_tuj = CF Sudut_tuj = CB Sudut_tuj = CR Sudut_tuj = CL Sudut_tuj = FR Sudut_tuj = FL Sudut_tuj = BR Sudut_tuj = BL
Jarak_tuj= FAR
Jarak_tuj= CLOSE
Jarak_tuj= VERYCLOSE
kiri
kanan
kiri
kanan
kiri
kanan
+F
+F
+M
+M
+S
+S
-F
-F
-M
-M
-S
-S
+F
-RS
+M
-RS
+S
-RS
-RS
+F
-RS
+M
-RS
+S
+F
+S
+M
+RS
+S
Z
+S
+F
+RS
+M
Z
+S
-S
-F
-RS
-M
Z
-S
-F
-S
-M
-RS
-S
Z
Gambar 8. Tampilan terminal CodeVisionAVR
Window output menampilkan karakter ‘a’ yang dikirimkan sebelumnya. Ini berarti telah terjadi komunikasi serial antara komputer dengan mikrokontroler. 3.2 Pengujian Sistem Kendali Motor Pengujian dilakukan dengan memberikan input ke rangkaian pengendali motor DC. Input berupa sinyal PWM pada port C (PC.0, PC.2, PC.4, PC.6) mikrokontroler. Output pengendali motor dihubungkan ke motor DC 1 dan motor DC 2. Sedangkan pengukuran kecepatan dilakukan manual dengan perhitungan jarak tempuh dibagi waktu tempuh. Tabel 2. Hasil pengujian sistem kendali motor. Duty Cycle PWM
Gambar 7. Set Fuzzy untuk kecepatan (duty cycle)
Langkah terakhir dari pengendalian sistem ini adalah proses defuzzifikasi pada nilai fuzzy kecepatan yang didapatkan dari aturan fuzzy. Proses defuzzifikasi ini dilakukan dengan metode centroid yang dilakukan dengan persamaan berikut [8]:
∫µ Z= ∫µ
kecepa tan
( z ).z.dz
kecepa tan
( z)
Hasil akhir dari proses defuzzifikasi adalah nilai kecepatan kontinu berupa nilai duty cycle dari PWM. 3.
PC.0 0% 11,76% 21.57% 31.37% 50%
PC.2 100% 88.24% 78,43% 68,63% 50%
PC.4 100% 88.24% 78,43% 68,63% 50%
PC.6 0% 11.76% 21.57% 31.37% 50%
Kecepatan Motor 1 20.5 cm/s 12.7 cm/s 7.5 cm/s 4.5 cm/s -
Agar pergerakan roda penggerak lebih stabil, motor DC yang digunakan dapat ditambahkan controller. 3.3 Pengujian Sistem Sensor Kamera Pengujian dilakukan dengan menjalankan sistem sensor kamera. Hasil keluaran yang diharapkan adalah identitas objek, juga nilai posisi dan sudut dari masingmasing objek.
Pengujian dan Analisis
3.1 Pengujian Komunikasi Serial Pengujian dilakukan dengan menguji terlebih dahulu rangkaian serial yang berfungsi sebagai alat konversi komunikasi antara komputer dengan mikrokontroler.
2 20.2 cm/s 12,5 cm/s 7.5 cm/s 4.5 cm/s -
Gambar 9 Pengujian sistem sensor kamera.
Pengujian dilakukan sebanyak enam kali, dengan dua macam objek yang diletakkan bervariasi pada kondisi pencahayaan yang berbeda-beda. Dua kali pengujian untuk masing-masing kondisi pencahayaan. Dari pengujian tersebut diambil data yang ditunjukkan pada tabel 4.2, keberhasilan pengenalan identitas objek ditentukan oleh hasil identifikasi untuk masing-masing objek. Sedangkan parameter keberhasilan untuk informasi sudut dan posisi adalah didapatkannya nilai sudut dan posisi. Tabel 3. Hasil pengujian sistem sensor kamera. Waktu
Informas i Sudut & Posisi
Pengenala n Identitas Objek
Keadaan
0.4219 s
Berhasil
Berhasil
0.4063 s
Berhasil
Berhasil
Cahaya = terang Bayangan = sedikit
0.3906 s
-
-
0.4375 s
-
Berhasil
Cahaya = terang Bayangan = banyak Cahaya = redup
0.3750 s
-
-
0.4375 s
-
-
3.2 Pengujian Algoritma Pengendali Pengujian pertama dilakukan dengan menjalankan sistem pada kondisi objek mobile robot tanpa penghalang. Percobaan dilakukan sebanyak lima kali dengan koordinat mobile robot dan koordinat titik tujuan yang berbeda-beda. Data yang diambil adalah posisi pada keadaan awal dan akhir, sudut antara mobile robot dengan titik tujuan (sudut_tuj), dan juga jarak akhir antara mobile robot dengan titik tujuan (jarak_tuj).
Tabel 4. Hasil pengujian pengendali tanpa penghalang tujuan
Awal
Jarak _tuj
Akhir
X
Y
X mr
Y mr
Sudut _tuj
X mr
Y mr
Sudut _tuj
akhir
8
8
73.63
38.57
42.91
9.1
10.92
338.0
1.9865
8
8
72.92
48.25
187.6
11.7
7.31
176.1
2.2693
8
8
75.98
46.89
79.1
10.57
9.1
0.1
1.7408
60
8
17.15
35.41
221.2
60.3
10.41
191.2
1.5259
60
8
53.03
36.27
295.5
58.67
10.14
330.2
1.494
Untuk meningkatkan keakuratan gerakan robot ke titik tujuan, variabel fuzzy pada pengendali dapat disempurnakan dengan menambahkan variabel-variabel baru diantara variabel yang ada.
Gambar 11 Pengujian pengendali dengan penghalang
Kemudian untuk sistem dengan objek penghalang dilakukan pengujian dengan membandingkan gerakan mobile robot ketika ada dan tidak ada penghalang.
Gambar 10 Pengujian pengendali tanpa penghalang Gambar 12 Pergerakan untuk sistem tanpa penghalang
• Dua motor DC yang digunakan, dengan input duty cycle yang sama memiliki perbedaan kecepatan yang kecil dan tidak signifikan dalam pergerakan mobile robot. 5.
Daftar Acuan
[1] _________, “Definition of Robot.” Diakses 19 Maret 2008, dari Dictionary. http://dictionary.reference.com/browse/robot [2] _________, “Atmega8535 / Atmega8535L,” Datasheet, ATMEL Corporation, Juli 2006. [3] Kusdarwanto, Hendra, “Pengendalian Motor DC Menggunakan Fuzzy Logic Berbasis Mikrokontoler” Gambar 13 Pergerakan untuk sistem dengan penghalang
Pada pengujian dengan halangan, pergerakkan mobile robot ke titik tujuan tidak dilakukan dengan garis lurus. Pergerakan mobile robot ini mengambil rute lebih ke kiri dari seharusnya karena adanya pengaruh dari objek penghalang yang ada. Hasil akhir dari kedua sistem yang diujikan tidak jauh berbeda, dengan jarak ke tujuan pada keadaan akhir kurang dari 3 cm. Secara umum, dilakukan juga lima kali pengujian terhadap sistem dengan objek penghalang. Dari lima pengujian tersebut, dihasilkan diantaranya dua yang menghasilkan sistem error. Sistem error ini terjadi dikarenakan mobile robot keluar dari area yang ditangkap sensor kamera karena algoritma sistem dengan halangan ini tidak mempertimbangkan ujungujung area yang ditangkap sensor. Jadi, algoritma sistem penghalang bisa dikembangkan lebih baik lagi dengan mempertimbangkan ujung-ujung area yang ditangkap oleh sensor kamera. 4.
Kesimpulan
• Sistem navigasi yang dirancang pada mobile robot dalam skripsi ini dengan menggunakan sensor kamera sudah dapat bekerja dengan baik. • Sistem pengendalian fuzzy secara umum sudah dapat diaplikasikan, baik untuk sistem tanpa penghalang maupun sistem dengan penghalang. • Algoritma sistem dengan penghalang masih kurang baik karena tidak mempertimbangkan ujung-ujung area yang ditangkap sensor kamera. • Sistem sensor kamera yang digunakan sebagai umpan balik membutuhkan waktu cukup lama (sekitar 0,4 s). Ini menyebabkan, sensor tidak dapat mengimbangi pergerakan robot, sehingga proses kendali harus dilakukan secara bertahap (tidak kontinu).
[4] _________, “DC Motor Operation.” Diakses 22 Februari 2008, dari Hyperphysics. http://hyperphysics.phy-astr.gsu.edu/hbase/magnetic [5] Bing, Hao, “H-Bridge Solution”. Diakses 9 Mei 2008, dari Urerobots. http://urerobots.googlepages.com/h-bridgesolution [6] Marhaban, et al, “Real Time Navigation of an Autonomous Robot using Fuzzy Controller”, 2007 [7] F. Cupertino, et al, “Fuzzy Control of Mobile Robot” Jurnal IEEE, 2006. [8] J. Ross, Timothy, Fuzzy Logic With Engineering Applications, (USA: McGraw-Hill Book Company, 1995), hal 136.