Sunday, March 20, 2011

SLAM : Teknologi Robot Masa Depan

SLAM atau Simultaneously Localization and Mapping adalah suatu algoritma dimana robot mampu memetakan lingkungannya dan melokalisasikan dirinya secara bersamaan pada lingkungan itu. Suatu hal yang kelihatan sederhana, namun implementasinya ternyata sangat sulit. Di dalam virtual-world, mekanisme SLAM dapat ditunjukkan dengan mudah dan terbukti keakuratannya bagi robot dalam membentuk peta lingkungan sekaligus tahu posisinya. Namun di dalam real-world banyak ketidakpastian yang terjadi. Posisi robot yang dikalkulasikan berdasarkan data-data sensor sebenarnya penuh ketidakpastian dan hanya dapat diduga melalui probabibilitas.

Untuk kecanggihan SLAM bisa dilihat pada video berikut ini: Visual SLAM of Robot Vacuum Cleaner

Roboticist percaya, jika SLAM ini dapat diimplementasikan pada robot, maka masalah navigasi akan terselesaikan. Analoginya sederhana, seperti halnya sopir taksi yang tahu rute peta dimana dia beroperasi. Maka jika seorang penumpangnya ingin pergi ke suatu tempat maka dengan mudah sopir taksi tersebut pergi ke tempat itu. Sama seperti halnya pada robot, jika dia tahu posisinya, maka robot itu akan tahu rute yang akan dijalani untuk mencapai suatu goal.

Masalah SLAM ada dua, lokalisasi dan pembentukan map. Robot baru bisa melokalisasi dirinya jika map sudah terbentuk dengan jelas atau robot pun sudah mampu menerka-nerka lokasinya meskipun map yang terbentuk baru sebagian. Jika map yang terbentuk salah, maka lokasi yang diduga robot pun juga salah. Intinya untuk menjalankan SLAM, robot harus mampu mendeteksi adanya suatu feature kemudian mensintesisnya menjadi sebuah map. Feature adalah subkomponen dari map yang diperoleh dari data sensor seperti IR sensor atau Sonar Range. Map pada robot bisa direpresentasikan dalam dua bentuk, Topological-based map dan Grid-based map. Kedua bentuk representasi ini memiliki kelemahan dan kekurangannya masing-masing. Dengan Topological-based map, robot membentuk petanya dalam bentuk himpunan abstrak seperti graph. Sedangkan Grid-based map, robot membentuk petanya dalam suatu kotak-kotak kecil atau pixel dengan ukuran tertentu. Dengan Grid-based map kita dapat mencitra lingkungan robot secara 2D atau 3D. Berikut adalah visualisasi dari kedua bentuk map tersebut.

Grid-based Map

Topological-based Map

Untuk teknik lokalisasi sendiri banyak sekali metodenya. Salah satu yang paling banyak digunakan adalah lokalisasi yang diturunkan dari Bayes Filter. Teknik lokalisasi itu di antaranya adalah Markov Localization dan Kalman Filter Localization. Khusus untuk Kalman Filter Localization hanya digunakan untuk Local localization. Sedangkan varian dari Markov Localization bisa digunakan baik dalam Local Localization dan Global Localization. Istilah Lokal dan Global ini maksudnya adalah antara adanya known map atau tidak. Untuk Local Localization tidak ada map yang diketahui sedangkan untuk Global Localization adanya map yang diketahui atau dalam istilah disebut given map. Untuk SLAM ini digunakan teknik Global Localization karena mapnya sudah diketahui yang dibentuk pada proses pembentukan map.

Untuk menjalankan Algoritma SLAM robot harus tangguh dalam berbagai hal. Robot perlu memiliki banyak sensor untuk melakukan pendeteksian lingkungan terutama penggunaan sensor jarak di tubuh robot. Robot juga harus memiliki unit kontrol yang memiliki kecepatan tinggi untuk dapat melakukan komputasi yang mumpuni. Alasannya karena SLAM ini menggunakan teknik iterasi dan perulangan dengan banyak data yang diprosesnya.

Analogi yang serupa jika robot benar-benar menjalankan SLAM secara sempurna maka kecerdasannya ini mirip seperti kecerdasan spasial yang dimiliki oleh manusia. Dengan adanya kecerdasan spasial, manusia dapat mengenal ruang dan lokasi dirinya dari imaji atau bayangan yang berasal dari pikirannya sendiri. Begitupula dengan robot maka ia akan tahu posisinya berada pada saat melakukan penjelajahan lingkungan.

Satu hal yang pasti, SLAM ini suatu hari mungkin akan menjadi algoritma handal yang ada dan dimiliki oleh setiap robot jenis apapun. Algoritma SLAM semakin reliable dilakukan pada robot karena kecanggihan teknologi elektrik dan mekanik dari robot di masa depan. Bayangkan saja jika suatu hari robot memiliki platform untuk prosesor yang umum dimana didalamnya terdapat data-data library berupa kumpulan modul algoritma. Sehingga jika sebuah robot diciptakan maka tidak perlu lagi membangun kode program dari awal. Akan ada zamannya program robot akan serupa satu sama lain, dan tinggal dilakukan beberapa pengaturan sederhana tergantung platform dari hardware robot yang diprogram. Atau mungkin yang lebih hebat lagi, robot bisa sharing kode satu sama lain secara otomatis. Bahkan robot pun bisa berbagi informasi mengenai lokasi keberadaannya dengan SLAM ini. Aneh memang, namun kadang sebuah imajinasi pun mungkin akan menjadi kenyataan.

2 comments:

  1. kalo teknologi SLAM sudah di kuasai, KRCI baik beroda ataupun berkaki pasti maju pesat. Masalahnya masih banyak tergantung probabilitas karena kita hanya menggunakan sensor jarak.

    ReplyDelete
  2. Terima kasih sudah berkunjung :D.

    SLAM adalah tahapan awal saja dalam penerapan kecerdasan pada robot (layaknya kecerdasan spasial yang dimiliki manusia). Masalah selanjutnya adalah kemampuan robot mencapai goal (tiga pertanyaan untuk Mobile Robot (1) Where am I? (2) Where is my goal (3) How I should go there? [Leonard and Durrant-Whyte, 1991, link download jurnal], SLAM baru menyelesaikan masalah (1) dan sebagian masalah (2)). Robot perlu memiliki kecepatan yang tinggi dengan pergerakan yang stabil selama bernavigasi mencapai goal. Ya seperti pada manusia, tentu pelari dan yang tidak tentunya berbeda dalam hal daya tahan dan kecepatan larinya.
    CMIIW..

    ReplyDelete