Anda di halaman 1dari 8

Artoo : Autonomous Mobile Robot yang Dapat belajar Lokalisasi dan

Pemetaan Lingkungan
DECEMBER 31, 2011 1 COMMENT
I. Mobile Robot dan Kendala yang Dihadapinya
Mobile robot (robot bergerak) adalah jenis robot yang memanfaatkan
aktuator/penggerak untuk mengubah keadaan (state) dan bentuk fisiknya. Dalam
kasus wheeled mobile robot yang saya konstruksi, aktuator/penggerak tadi berupa
2 buah motor DC yang terhubung dengan dua roda dan di-integrasikan dengan
gearbox. Lantas apa yang membuat robot saya ini berbeda dengan robot-robot
yang telah dibuat oleh mahasiswa ITB (bahkan Indonesia) sebelumnya?. Yang
membuat Artoo (nama robot-red) istimewa adalah kemampuan robot ini
untuk learningbelajar dan menangani uncertainty ketidak-pastian yang
datang dari lingkungan sekitar si robot dan fisik robot itu sendiri.
Untuk memberi gambaran seperti apa proses learning dan ketidakpastian tersebut
saya akan menjelaskan terlebih dahulu robot yang selama ini dibuat oleh
mahasiswa ITB dan Indonesia pada umumnya serta kendala apa yang
mencegahnya untuk dapat dipakai di aplikasi outdoor. Robot yang selama ini kita
buat (mis. robot yang dilombakan di Kontes Robot Nasional) adalah robot yang
didesain untuk lingkungan dengan keadaan dan rintangan-rintangan yang jelas dan
dapat diketahui pasti sebelum si robot mulai dijalankan. Kalaupun ada
ketidakpastian maka jumlah kombinasi dan permutasi yang ada relatif kecil.
Sebagai contoh robot pemadam api (fire fighting) yang bertugas untuk
memadamkan lilin secepat mungkin dalam suatu maze (labirin) dan kemudian
kembali ke tempat semula adalah contoh dari environment (lingkungan) yang
sifatnya deterministik . Di sini deterministik berarti fisik labirin (jumlah ruangan ,
ukuran , warna , rintangan yang ada) sudah diketahui sebelumnya.
Namun apa yang terjadi ketika robot seperti ini dipaksa untuk menghadapi kondisi
real (mis. api sebenarnya dan lingkungan outdoor )? Jawaban yang sudah jelas :
robot ini akan gagal. Kenapa? Banyaknya noise (derau) di sensor dan lingkungan ,
fisik lingkungan yang tak tentu , kemampuan sensor dan kapasitas baterai yang
terbatas menjadi beberapa dari sekian banyak alasan. Maka diperlukan pemodelan
dan program dalam level yang benar-benar berbeda untuk membuat robot
yang robust (kokoh) dalam menangani ketidakpastian tersebut. Metode yang akan
saya ajukan untuk hal ini merupakan manifestasi dari bidang baru dalam robotika
dan dalam beberapa tahun belakangan ini menjadi topik riset yang populer di
universitas-universitas di USA dan Eropa. Metode ini dinamakan Probabilistic
Robotics dan Machine Learning.
II. Probabilistic Robotics

Probabilistic Robotics adalah suatu disiplin ilmu yang memanfaatkan prinsip


prinsip probabilitas untuk mengestimasi state (keadaan) dari robot. Keadaan yang
akan diestimasi dalam hal ini adalah posisi dalam bidang dua dimensi (X,Y) dan
orientasi/sudut hadap si robot (). Jadi keadaan ini dapat dinotasikan dalam suatu
vektor tiga dimensi mis. S =( ) . Untuk kasus robot terbang (aerial robot) dan robot
bawah laut (underwater robot) dimensi S lebih besar (total berjumlah enam) karena
adanya tambahan sumbu ketinggian (height) (X,Y,Z) dan sumbu putar/orientasi
yang juga berjumlah tiga (x , y , z). Ilustrasi dari perbedaan dimensi vektor state
dapat dilihat dari gambar di bawah:

Artoo (ground robot)

Gambar 1. Representasi dimensi gerak ground robot

Aerial dan Underwater robot

Gambar 2. Sumbu gerak aerial robot , total terdapat 6 sumbu gerak.

Dari data-data yang ada di vektor S dan prinsip probabilitas, maka kita dapat
menyelesaikan 2 permasalahan utama yang tidak dapat diselesaikan dengan
metode yang selama ini diimplementasikan di robot-robot sebelumnya.
Permasalahan tersebut adalah localization (lokalisasi) dan mapping (pemetaan).
Penjelasan tentang localization dan mapping akan saya ilustrasikan dengan gambar
. Pertama tama masalah localization . Spesifikasi masalah ini adalah kita ingin
mengetahui posisi/lokasi robot yang di lingkungan yang sudah tersedia

map/petanya. Contoh nyatanya adalah robot vacuum cleaner yang ditempatkan


secara acak di rumah kita. Robot akan berusaha mengira-ngira lokasinya (apakah di
dapur, kamar, dsb) dengan memanfaatkan denah rumah yang sudah diberikan.
Masalah ini terkesan mudah untuk manusia, namun cukup sulit untuk robot yang
kemampuan sensingnya terbatas.
Algoritma yang saya akan implementasikan untuk hal ini disebut dengan Particle
Filter. Yaitu metode dimana robot membentuk probability density yang
menggambarkan seberapa kuat dugaan si robot di posisi tertentu. Tentunya
pertama-tama si robot sama sekali buta akan posisinya. Maka probability density
yang dihasilkan akan merata . Untuk mendeteksi lingkungan sekitarnya, robot
dilengkapi dengan sensor laser/sonar. Cara kerja sensor ini adalah dengan
menembakkan sinar laser , menangkap kembali pantulan sinar tersebut, dan
menghitung jarak pantul ke objek yang mengenainya . Penjelasan di atas dapat
diilustrasikan dengan gambar berikut.

Gambar 3. Gambar denah/peta lingkungan robot berada. Mula-mula robot


tak punya petunjuk mengenai posisinya sehingga membentuk dugaan
yang digambarkan berupa kumpulan titik-titik yang tersebar dimanamana. Titik titik tersebut adalah dugaan awal robot mengenai posisi
dirinya.
Kemudian , robot mulai bergerak, dan probability density yang dibentuk pun akan
berubah

Gambar 4. Robot bergerak, dan titik titik yang tadinya tersebar merata
mulai memadat dan membentuk dugaan yang lebih kuat akan lokasi si
robot.

Gambar 5. Ketika robot bergerak semakin jauh, informasi yang didapat


semakin banyak. Hal ini semakin memperkuat estimasi posisi robot. Pada
gambar di atas, terlihat particles/titik-titik di lorong semakin padat dan
terkumpul menunjukkan dugaan si robot berada di lorong (bukan dalam
ruangan) lebih kuat

Gambar 6. Pada gambar di atas, robot semakin yakin akan posisinya


sehingga kemungkinan posisi robot yang mungkin hanya berupa 5 titik
yang ditunjukkan bercak merah di lorong denah tersebut.

Gambar 7. Setelah menjalani cukup banyak bagian dari lingkungan, maka


robot merasa benar benar yakin akan posisinya sehingga menyisakan
hanya satu titik particles.
Seperti itulah kira kira gambaran dari proses localization dari robot saya nantinya.
Algoritma particle filter atau biasa juga disebut Monte Carlo Localization (MCL)
dapat dibuat dalam pseudo code sebagai berikut:

Bagaimana jika kita tidak mempunyai peta/denah lingkungan? Maka robot harus
ditambahkan dengan kemampuan mapping (pemetaan). Spesifikasi
permasalahannya, robot yang tadinya tidak punya informasi tentang bentuk fisik
lingkungan (ukuran, rintangan yang ada) harus bisa menggambarkan keadaan
lingkungannya sendiri. Proses mapping ini dapat direalisasikan dengan
algoritma occupancy grid mapping . Pseudocode dari algoritma ini adalah sebagai
berikut:

Dan contoh hasil dari occupancy grid mapping ditunjukkan dari gambar di bawah.
Pada gambar tersebut , diperlihatkan bahwa robot berhasil memetakan sekitarnya
dan hasil yang diperoleh adalah denah 2 dimensi dari lingkungan si robot.

Gambar 8. Peta bentukan dari robot dengan memanfaatkan algoritma


occupancy grid mapping.
III. Machine Learning
Satu lagi metode kunci dalam membangun robot yang bisa beradaptasi dengan
ketidakpastian adalah metode yang dinamakan Machine Learning. Definisi dari
machine learning adalah suatu bidang yang mempelajari tentang
algoritma/program yang dapat belajar untuk mengimprovisasi sendiri. Contoh
aplikasi yang sering kita temui dari machine learning adalah google search engine
dan e-mail spam filter. Dalam mencari dan mengklasifikasi data dari milyaran data
di internet, google memakai teknik teknik machine learning. Begitu juga dengan
spam filter. Filter ini belajar membedakan e-mail spam dengan e-mail yang bukan
spam. Bayangkan tanpa machine learning dan spam filter, maka bisa jadi kita
menerima ratusan spam setiap harinya. Lalu bagaimana machine learning dapat
dipakai di robot? Prinsip machine learning akan saya gunakan untuk mengklasifikasi
keadaan lingkungan dari gambar yang diperoleh melalui kamera yang terpasang di
robot. Keadaaan lingkungan yang dapat diklasifikasi antara lain adalah
membedakan jalur tanah yang aman untuk dilalui robot dan yang tidak dapat
dilewati. Ilustrasi kerja machine learning dapat dilihat dari gambar di bawah. Pada
gambar terlihat kamera berhasil membedakan jalan yang bebas rintangan dengan
jalan yang berbahaya untuk dilalui.

Gambar 9. Klasifikasi jalur jalan yang aman untuk dilewati dengan


machine learning. Jalan yang aman dilalui ditandai dengan garis putih

nb: Sekali kali pake bahasa Indonesia buat postingan di blog..


tapi alasan sebenarnya tulisan ini hasil kopas dari proposal saya buat lomba karya
cipta di kampus dan saya agak malas translate-in ke bahasa Inggris. Hehe.. :)
And thats a brief explanation about my current project. Hope you get the idea.

Anda mungkin juga menyukai