Untuk menciptakan sebuah teknologi yang berbasis konteks (context-aware technology), diperlukan sebuah tools yang dapat mendeteksi suatu kondisi lingkungan. Kondisi lingkungan harus dikenali terlebih dahulu agar bisa menentukan sebuah aplikasi bekerja pada kondisi-kondisi tertentu. Salah satu teknik untuk menentukan kondisi lingkungan tersebut yaitu dengan melakukan lokalisasi dan pemetaan sebuah lingkungan.
Lingkungan yang dimaksud disini tidak hanya berbatas pada lingkungan yang sudah pernah dikenali. Namun, juga meliputi lingkungan yang sebelumnya belum pernah dikenali. Dalam hal ini, tentu setiap lingkungan memiliki kompleksitas dan detail yang berbeda-beda. Untuk itu, tools tersebut harus dapat melakukan pemetaan berdasarkan lingkungan yang ada secara real time, simultan, dan otomatis.
Salah satu teknik lokalisasi dan mapping yang terkenal saat ini adalah SLAM (Simultaneous Localization and Mapping). Wikipedia menjelaskan SLAM sebagai berikut:
“a technique used by robots and autonomous vehicles to build up a map within an unknown environment (without a priori knowledge), or to update a map within a known environment (with a priori knowledge from a given map), while at the same time keeping track of their current location.”
Dari definisi di atas, SLAM berkaitan dengan bagaimana membangun sebuah peta dari suatu lingkungan yang tidak diketahui sebelumnya melalui sebuah robot bergerak, yang pada saat yang sama melakukan navigasi pada lingkungan tersebut. Buku “SLAM for Dummies” menjelaskan bahwa SLAM bukanlah merupakan sebuah algoritma tunggal, melainkan sebuah konsep utuh yang didalamnya memuat banyak algoritma yang bekerja secara bersama-sama (hybrid) pada kondisi-kondisi tertentu.
SLAM pertama kali dikembangkan oleh Hugh Durrant-Whyte dan John J. Leonard (dalam paper Mobile robot localization by tracking geometric beacons, 1991) berdasarkan penelitian yang dikerjakan oleh Smith, Self, dan Cheeseman (dalam paper Estimating uncertain spatial relationships in robotics, 1990). Durran-Whyte dan Leonard awalnya menamai istilah tersebut dengan SMAL, tetapi akhirnya diubah menjadi SLAM agar dapat memberikan pengaruh yang lebih baik.
Proses lokalisasi dan pemetaan SLAM terdiri dari beberapa tahap, yaitu Landmark extraction, data association, state estimation, state update, dan landmark update. SLAM dapat diterapkan pada pergerakan 2D maupun 3D. Juga dapat bekerja pada lingkungan indoor maupun outdoor. Contoh implementasi SLAM pada pergerakan 2D (program ditulis menggunakan Javascript): http://rogerstuckey.com/simulation/javascript/slam-html5/.
Algoritma SLAM secara tradisional menggunakan algoritma Kalman Filters. Namun, algoritma tersebut hanya mengizinkan ukuran peta yang terbatas, sehingga diperlukan algoritma Jaringan Bayes dan medan random Markov untuk menghasilkan unjuk kerja yang lebih baik. Berbagai kombinasi algoritma yang lain juga dimungkinkan untuk membangun konsep SLAM yang lebih kuat dan lebih sesuai dengan konteks yang ada.
Hingga saat ini, konsep SLAM banyak digunakan dalam berbagai bidang, misalnya untuk memetakan sebuah ruangan (museum, sekolah, kantor, bangunan, dll.), sistem pemandu ruangan, penunjuk jalan satuan pemadam kebakaran, dsb. Dalam kajian Augmented Reality, pendekatan konsep SLAM sering digunakan untuk melakukan registrasi objek fisik/nyata untuk mendapatkan model 3D.
SLAM pada Augmented Reality
Dalam beberapa tahun terakhir, konsep SLAM mendapatkan perhatian yang semakin serius dalam komunitas AR. Dalam hubungannya dengan AR, SLAM didefinisikan sebagai sekumpulan metode yang digunakan untuk memecahkan masalah estimasi pose dan rekonstruksi 3D secara simultan ketika sebuah sistem berpindah menurut lingkungannya.
Penerapan konsep AR awalnya dilakukan oleh Davison dkk, yang mendemonstrasikan bahwa sistem dengan sebuah kamera tunggal dapat membangun sebuah model 3D dari lingkungannya sembari melacak pose kamera. Sistem tersebut menyediakan pelacakan visual yang akurat dan cepat dari sebuah kamera handheld/wearable pada lingkungan yang tidak diketahui. Perbaikan yang lebih baik dilakukan oleh Murray yang mendemonstrasikan kekuatan superior dan kemampuan SLAM dalam membuat model 3D dari ribuan titik.
Dalam lingkungan yang tidak dikenali, aplikasi AR tidak memiliki informasi virtual objek dan overlay apa yang akan ditampilkan. Konsep SLAM diperlukan untuk membuat sebuah model 3D, yang kemudian akan diregistrasi dengan objek-objek tertambah untuk dikemas ke dalam sebuah aplikasi AR. Oleh karena itu, integrasi sistem SLAM ke dalam sistem AR perlu dipertimbangkan lebih jauh.
Menurut paper yang ditulis oleh Reitmayr (dalam paper Simultaneous Localization and Mapping for Augmented Reality, 2010), beberapa tantangan pengembangan metode SLAM dalam kajian AR:
- Integrasi sensor: berkaitan dengan bagaimana sensor-sensor bekerja untuk mendukung unjuk kerja SLAM agar mendapatkan pemetaan yang lebih presisi. Dalam hal ini yaitu AR membutuhkan perhitungan posisi dan sudut pandang pengguna.
- Peningkatan visualisasi dalam lingkungan yang tidak diketahui: berhubungan dengan bagaimana SLAM bekerja pada lingkungan dalam berbagai kondisi misalnya rekonstruksi 3D, oklusi, bayangan, dan efek-efek pencahayaan lainnya.
- Interaksi dalam lingkungan yang tidak diketahui: berhubungan dengan bagaimana cara menempatkan objek tertambah pada suatu lingkungan fisik.
- Model semantik: berhubungan dengan bagaimana objek-objek fisik dapat ditambahkan objek-objek virtual seiring dengan lingkungan yang semakin kompleks dan penyajian informasi tertambah yang semakin dinamis.
Penutup
Beberapa hari yang lalu sebuah proyek yang diinisiasi oleh grup riset Google di bawah Advanced Technologies and Products (ATAP) memperkenalkan Project Tango. Proyek tersebut merupakan sebuah riset menarik yang menggabungkan robotika dan komputer visi ke dalam perangkat bergerak. Salah satu konsep yang digunakan adalah SLAM. Proyek tersebut telah berhasil memetakan sebuah ‘unknown environment’ ke dalam peta 3D yang menggunakan beberapa sensor smartphone seperti navigasi, orientasi, dan posisi.
Melihat perkembangan yang canggih dan masif tersebut, dunia pervasif seakan semakin menuju kenyataan. Sebuah dunia yang semakin bersih dari perangkat-perangkat fisik teknologi yang berukuran besar. Teknologi tak lagi menjadi sebuah perangkat yang kompleks, yang harus berdiri dan kentara di sekitar lingkungan kita. Di lain sisi, konsep-konsep smart application yang memanfaatkan SLAM semakin dibutuhkan.
Navigasi, lokalisasi, dan pemetaan menjadi topik riset di bidang komputasi pervasif yang semakin seksi. Topik riset tersebut membuka peluang dan dapat melebur dengan topik-topik keteknologian yang lain, misalnya artificial intelligence (AI), computer vision (CV), augmented reality (AR), image processing, dan sebagainya.
Referensi
- SLAM (Simultaneous_localization_and_mapping), http://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping
- Søren Riisgaard and Morten Rufus Blas. SLAM for Dummies: A Tutorial Approach to Simultaneous Localization and Mapping.
- Matti Johannes Eskelinen slides, Computer Vision for Augmented Reality on Mobile Platforms, University of Jyväskylä.
- Gerhard Reitmayr, Tobias Langlotz, Daniel Wagner, Alessandro Mulloni, Gerhard Schall, Dieter Schmalstieg and Qi Pan. Simultaneous Localization and Mapping for Augmented Reality,
- A. J. Davison, W. W. Mayol, and D. W. Murray, “Realtime localisation and mapping with wearable active vision,” in Proc. ISMAR 2003. Tokyo, Japan: IEEE, October 7–10 2003, pp. 18–27.
- A. J. Davison, “Real-time simultaneous localisation and mapping with a single camera,” in Proc. ICCV 2003, Nice, Italy, October 13–16 2003, pp. 1403–1410.
- G. Klein and D. Murray, “Parallel tracking and mapping for small ar workspaces,” in Proc. ISMAR 2007, Nara, Japan, Nov. 13–16 2007
- Bringing Visual SLAM to the Masses, Project Tango Launches, http://hidof.com/2014/02/20/bringing-visual-slam-to-the-masses-project-tango-launches/