Augmented reality

From OnnoWiki
Jump to navigation Jump to search

Pendahuluan

Augmented Reality adalah suatu kondisi lingkungan atau fisik yang elemen-elemennya ditambahkan oleh komputer yang dilengkapi oleh sensor, seperti sensor suara, video, GPS dan lain sebagainya. Tujuan dari Augmented Reality (AR) adalah menambahkan informasi dan makna pada suatu benda nyata atau tempat untuk memperdalam pemahaman seseorang terhadap subjek.

Salah satu Toolkit untuk mengembangkan AR Applikasi adalah ARToolKit .ARToolKit pada awalnya dikembangkan oleh Dr Hirokazu Kato, dan pengembangannya selanjutnya didukung oleh Laboratorium Human Interface Technology (HIT Lab) di University of Washington, HIT Lab NZ di University of Canterbury, Selandia Baru, dan ARToolworks, Inc, Seattle. [[1]]

ARToolKit adalah library perangkat lunak untuk mengembangkan Augmented Reality (AR) aplikasi. Ini adalah aplikasi yang melibatkan overlay citra virtual pada dunia nyata. Sebagai contoh, pada gambar dibawah ini memunculkan karakter tiga dimensi virtual yang muncul diatas marker (pola). Hal ini dapat dilihat oleh pengguna di layar monitor dan ketika pengguna menggerakkan marker, karakter virtual ikut bergerak mengikuti marker dan tetap melekat pada objek nyata.

Sample Augmented Reality Application

Salah satu kesulitan dalam mengembangkan aplikasi Augmented Reality adalah masalah pelacakan sudut pandang pengguna. Untuk mengetahui dari mana sudut pengelihatan untuk melekatkan citra virtual, aplikasi harus tahu di mana pengguna melihat pada dunia nyata.

ARToolKit menggunakan computer vision algorithms untuk memecahkan masalah ini. ARToolKit video tracking libraries menghitung posisi dan orientasi relatif sebenarnya dari kamera terhadap penanda fisik dari suatu marker secara real time. Hal ini memungkinkan pengembangan dari berbagai macam aplikasi Augmented Reality.

Beberapa fitur dari ARToolKit meliputi:

Single camera position/orientation tracking.
Tracking code that uses simple black squares.
The ability to use any square marker patterns.
Easy camera calibration code.
Fast enough for real time AR applications.
SGI IRIX, Linux, MacOS and Windows OS distributions.
Distributed with complete source code.


Instalasi ARToolKits pada Visual Studio Express Edition 2008

Building on Windows (Read the full release notes on Sourceforge for other platforms)


Persyaratan


1. Development environment, menggunakan Microsoft Visual Studio 2008 atau Visual Studio 2010.Dalam percobaan ini kami menggunakan Visual Studio 2008.

2. Paket ARToolKit, bisa diperoleh di sini:http://sourceforge.net/projects/artoolkit/files/ .Percobaan ini menggunakan ARToolKit versi 2.7.2.1.

3. OpenGL library dan GLUT. Untuk GLUT, silahkan download versi 3.7.6 di sini: http://www.xmission.com/~nate/glut.html. Pilih glut-3.7.6-src.zip atau glut-3.7.6-bin.zip.

4. DSVideoLib-0.0.8b-win32, bisa didownload di halaman yang sama dengan paket ARToolKit.

5. DirectX Runtime minimal versi 9.0b. Check di command mode dxdiag versi Direct komputer anda.

6. OpenVRML-0.14.3-win32, bisa didownload di halaman yang sama dengan paket ARToolKit. [[2]]

7. Download libjpeg.lib and libpng.lib [[3]]

8. Hanya jika diperlukan download file library DLL tambahan: msvcp71d.dll dan msvcr71d.dll. Bisa di-download di sini: [4] atau [5]


Program yang harus di Install

Follow each step, unless you have already done one of these steps.

1. Install Visual C++ 2008 Express Edition & MS Windows SDKs Anda dapat mengunduh Visual C++ 2008 & MS Windows SDKs pada halaman Download Center

2. Untuk mengintall GLUT pada VS2008 ada dua cara:

2.1. Unzip glut-3.7.6-bin.zip and copy files as instructed below:

copy glut.h to the folder C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl\
copy glut32.lib to the folder C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\
copy glut32.dll to the folder C:\Windows\System32\

2.2. Unzip glut-3.7.6-src.zip dan jalankan glut.sln atau glut.dsw, dimana mode di VC2008 dalam mode administrators.

Setting project properties - Build Events - Post Build Event dengan mengganti

copy $(TargetDir)glut32.dll %WINDIR%\SYSTEM32
copy $(TargetDir)glut32.lib "$(FrameworkSDKDir)..\..\lib"
copy ..\..\include\GL\glut.h "$(FrameworkSDKDir)..\..\include\GL"
Setting glut project properties

3. Unzip file ARToolKit dan dibawah Root C:\ (jika C adalah root), sehingga folder root Anda akan memiliki path sebagai berikut C:\ARToolKit. Untuk selanjutnya, path ini akan disingkah sebagai {artoolkit} saja.

4. Unzip file DSVideoLib, pastikan semua file berada di dalam folder bernama “DSVL”. Kemudian copy folder “DSVL” tersebut ke dalam folder {artoolkit}.

5. Kopikan file DSVL.dll dan DSVLd.dll dari {artoolkit}\DSVL\bin ke dalam {artoolkit}\bin

6. Buka command prompt dengan memencet tombol Start >> Run, kemudian mengisikan perintah “cmd”. Kemudian Jalankan script {artoolkit}\Configure.win32.bat untuk membuat file {artoolkit}\include\AR\config.h.

7. Jika Diperlukan Copy-kan file DLL tambahan msvcp71d.dll dan msvcr71d.dll ke C:\Windows\System32

8. Open and Build the artoolkit


The VRML renderering library

1. Unzip file OpenVRML dan copykan folder OpenVRML ke dalam {artoolkit}

2. Copykan file js32.dll dari {artoolkit}\OpenVRML\bin ke dalam {artoolkit}\bin

3. Jalan C:\ARToolKit\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\OpenVRML.sln kemudian ubah [[6]]:

regex/Source Files/regerror.c pada baris 161 - 120 seperti pada gambar dibawah ini: 
regerror updated
antlr/Header Files/AST.hpp pada baris 151 seperti pada gambar dibawah ini: 
AST.hpp updated
antlr/Header Files/Token.hpp pada baris  76 seperti pada gambar dibawah ini:
Token.hpp updated

4. Copykan files2 hasil compiling dibawah ini ke dalam folder C:\ARToolKit\OpenVRML\lib;

C:\ARToolKit\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\antlr\Release\antlr.lib;
C:\ARToolKit\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\openvrml-gl\Release\openvrml-gl.lib
C:\ARToolKit\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\regex\Release\regex.lib;
C:\ARToolKit\OpenVRML\src\openvrml-0.14.3\ide-projects\Windows\VisualC7\OpenVRML\openvrml\Release\openvrml.lib

5. Unzip dan Copy-kan libjpeg.lib dan libpng.lib [[7]] ke C:\ARToolKit\OpenVRML\dependencies\lib;

6. Build and Close the OpenVRML.sln

7. Open the artoolkit, Enable the libARvrml and simpleVRML projects in the VS2008 configuration manager and build.


Menjalankan Utilities

Versi ARToolKit sekarang tidak dirancang untuk di install pada sembarang lokasi, sehingga sebaiknya menggunakan direktori (folder) hasil komplikasi untuk membuat ARToolKit applikasi. ARToolKit hanya membuat static library yang akan menghubungkan (linked) pada program hasil komplikasi (exe) yang kita buat.

Untuk menggunakan ARToolkit, kita membutuhkan beberapa marker yang sudah disediakan oleh ARToolKit. Beberapa default marker dapat di akses pada pattern directory ({artoolkit}/patterns). Marker ini dapat dibuka menggunakan pdf reader dan harap di cetak semuanya untuk keperluan experiment kita selanjutnya.

Menjalankan Graphic Test

Setelah mencetak marker yang ada, selanjutnya kita bisa mengetes kemampuan graphic card komputer apakah bisa menjalankan ARToolKit applikasi. Untuk itu jalankan graphicsTest.exe dari direktori {artoolkit}/bin, dan komputer kita akan menampilkan gambar teko 3D (teapot) yang berputar. Testing ini mengkonfirmasikan kalau kamera (webcam) kita mendukung ARToolKit module dengan OpenGL. Frame rate minimum adalah 15 fps, dibawah itu, rendering di ARToolkit mempunyai beberapa keterbatasan.

hasil graphic

Testing Webcam

Kita juga perlu untuk mengetest webcam kita kalau video input bekerja baik dan bisa menampilkan gambar/video pada layar monitor. Untuk itu kita perlu menjalankan videoTest.exe dari direktori{artoolkit}/bin . Jika program bisa dijalankan (tanpa error), maka sebuah window akan menampilkan object yang ada dihadapan webcam komputer kita.Test ini mengkonformasikan bahwa kamera kita mendukung ARToolKit video module and ARToolKit graphics module.

hasil video test

Mencoba Contoh Program yang Tersedia

ARToolKit memberikan banyak contoh aplikasi yang bisa digunakan sebagai dasar untuk pengembangan aplikasi lebih lanjut. Untuk mencoba beberapa aplikasi, buka folder C:\Program Files\ARToolKit\bin. Tapi sebelumnya pastikan friendly name webcam yang digunakan disesuaikan (contoh -friendly_name="Qcam") didalam file C:\ARToolKit\bin\Data\WDM_camera_flipV.xml

<?xml version="1.0" encoding="UTF-8"?>
<dsvl_input xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Thomas\My Documents\projects\ARToolKit & DSVideoLib\ARVideoLib\DsVideoLi
\DsVideoLib.xsd">
 <camera show_format_dialog="true" friendly_name="Qcam">
 <pixel_format>
 <RGB32 flip_h="false" flip_v="true"/>
 </pixel_format>
 </camera>
</dsvl_input>


Untuk mendapatkan kecepatan capture yang cukup baik, tingkatkan frame rate kamera menjadi 30 Hz. Kemudian cobalah dua buah program, simpleLite.exe dan simpleVRML.exe. Jangan lupa gunakan marker/pattern yang sudah Anda cetak dan hadapkan ke webcam Anda.

Contoh pattern yang digunakan pada experiment ini adalah:

contoh marker yang digunakan

1. SimpleLite.exe


hasil SimpleLite.exe


2. simpleVRML.exe


Hasil SimpleVRML.exe


Menambah Marker Baru

Pada saat ini ARToolkit memerlukan marker (pola image) untuk mengaktifkan 3D Object atau Animasi yang akan ditampilkan. Marker-marker yang tersedia dapat dilihat pada folder{artoolkits}/patterns, contohnya seperti gambar dibawah ini

contoh marker1 yang ada di ARToolKit150px
contoh marker2 yang ada di ARToolKit
contoh marker3 yang ada di ARToolKit

Untuk membuat marker baru, pertama gunakan file blankPatt (template) yang ada di patterns direktori ({artoolkit}/patterns). File ini berupa kotak hitam di bingkai luar dengan kotak warna putih didalamnya. Buat gambar hitam putih atau berwarna yang diinginkan pada lokasi kotak putih tadi. Marker yang baik adalah marker yang asimetris dan tidak memiliki detail halus didalamnya. Gambar-gambar diatas menunjukkan beberapa marker (pola) sampel yang ada, marker baru bisa dibuat dengan membuat gambar ditengah kotak kosong putih.

marker template

Untuk membuat pola baru pada marker disarankan tidak mengubah ukuran contoh (template)marker yang disediakan. Untuk membuat marker baru bisa menggunakan beberapa program applikasi seperti photoshop, gimp, inkscape , dan lain sebagainya. Setelah pola baru telah dibuat, pergi ke direktori bin ({artoolkit}/bin) dan jalankan program mk_patt.exe. Kita akan diminta untuk memasukkan nama file parameter kamera. Masukkan nama file kamera parameter atau tekan enter untuk menggunakan default file ({ARToolKit}/bin/Data/camera_para.dat) yang digunakan. Setelah program dijalankan akan menampilkan video window seperti ini

hasil mendaftarkan marker baru

Posisikan pola baru yang akan dilatih dalam kondisi pencahayaan yang sama seperti ketika aplikasi tersebut akan dijalankan. Kemudian arahkan kamera video ke pola gambar yang baru dibuat, dan atur hingga persegi merah dan hijau muncul di sekitar pola (seperti pada gambar ). Hal ini menunjukkan bahwa software applikasi mk_patt telah menemukan kotak persegi di sekitar pola yang dites. Kemudian gambar di atur agar sudut merah dari persegi yang disorot adalah sudut kiri atas pada gambar di video, seperti pada gambar. Setelah kotak pola telah ditemukan dan orientasinya benar, tekan tombol kiri mouse, kemudian kita akan diminta untuk memberikan nama file pada pola yang baru kita buat. Ketikkan nama file seperti patt.newpola Setelah nama file di buat kemudian disalin dari direktori {artoolkit}/bin ke dalam {artoolkit}/bin/data.


lokasi penyimpanan hasil capture marker


Kemudian untuk menguji pattern yang baru dibuat, buka project ARToolKit solution dengan VC2008 kemudian ganti simpleTest.c pada baris 34

char  *patt_name      = "Data/patt.hiro"; 

menjadi

char  *patt_name      = "Data/patt.newpola";

Setelah itu compile simpleTest.c dan jalankan hasil komplikasinya. Pada layar monitor terlihat kotak kubus warna biru yang melekat diatasnya marker yang baru kita buat.

visualisasi menggunakan marker baru

Pranala Menarik

1. ARToolkits Principle

2. Installation ARToolkit

3. Computer Vision

4. OpenGL and glut in C++ with MS Visual Studio 2008

5. Belajar AR