Fakultas Ilmu Komputer
Universitas Brawijaya 10044
Penerapan Filter Mahony Pada Tracking System Pergerakan Orientasi dan Posisi Kepala Berskala Ruang
Muhammad Kholash Fadhilah1, Dahnial Syauqy2, Eko Setiawan3
Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Virtual Reality (VR) merupakan istilah yang digunakan untuk lingkungan 3D dihasilkan oleh komputer dengan memiliki kemampuan membuat pengguna untuk dapat berinteraksi dengan realitas alternatif.
Untuk berinteraksi dengan VR maka dibutuhkanlah perangkat yang mengakomodasi interaksi pengguna dengan lingkungan VR. Perangkat VR berskala ruang mampu membuat pengguna untuk dapat berinteraksi lebih leluasa. Perangkat VR sekarang yang terdapat di pasaran masih membutuhkan perangkat luar pendukung sehingga mengakibatkan kurangnya portabilitas perangkat. Berdasarkan dari permasalahan tersebut peneliti mengembangkan perangkat antarmuka berbasis orientasi kepala dan posisi kepala dengan berskala ruangan. Pada pengembangan perangkat, dilakukan pengujian untuk mengetahui kinerja sistem perangkat. Pengujian sistem perangkat dengan melibatkan penerapan Filter Mahony sebagai filter orientasi. Pengujian berdasarkan data orientasi kepala dan posisi kepala pengguna pada sebuah ruangan. Dari hasil data pengujian sistem perangkat diperoleh akurasi pada akuisisi data posisi kepala pada ruangan berukuran 3,33m2 dengan rata-rata eror sebesar 4,9cm dari ukuran ruang sebenarnya dan untuk akurasi dari data orientasi oleh sistem, rata-rata eror adalah 2,59 derajat dari sudut derajat sebenarnya, serta memiliki tingkat keberhasilan klasifikasi menentukan heading oleh sistem dengan rata-rata kesuksesan sebesar 73.5%.
Kata kunci: Virtual Reality, Tracking, Orientasi Kepala, Posisi Kepala, Skala Ruang, Filter Mahony.
Abstract
Virtual Reality (VR) is a term used for 3D environments generated by computers with the capability to make users to be able to interact with alternative realities. To interact with virtual reality, devices are needed for accommodating user interaction with the VR environment. A room-scale VR device is capable of allowing users to interact more freely. VR devices that currently available in the market still require supporting external devices that resulting in lack of device portability. Based on these problems the researchers developed interface devices based on head orientation and head position on a room scale. In the development of devices, testing is done to determine the performance of the device system.
Testing of device systems involves the application of Mahony Filters as orientation filters. Tests based on head orientation data and the user's head position in a room. From the results of testing the device system, data that obtained from data acquisition test of head position in a room with size of 3.33m2 had accuracy within an average of error by 4.9cm from the actual room size, and for accuracy of orientation data had average of error by 2.59 degrees from the actual angle degree and with the success rate of classification for determining the heading by 73.5%.
Keywords: Virtual Reality, Tracking, Head Orientation, Head Position, Room Scale, Mahony Filter.
Fakultas Ilmu Komputer, Universitas Brawijaya
1. PENDAHULUAN
Seiring kemajuan perkembangan grafis yang telah ada sekarang pada teknologi komputer turut mendukung perkembangan teknologi Virtual Reality (VR). VR sendiri merupakan istilah yang digunakan untuk lingkungan 3D yang diolah melalui komputer yang mampu membuat pengguna untuk masuk dan berinteraksi dengan realitas alternatif. Pengguna dapat “menjadi satu” sampai beberapa derajat kedalaman pada dunia buatan komputer dimana ini merupakan simulasi dari beberapa bentuk realitas atau simulasi dari data yang kompleks (Giraldi, Silva, & C. de Oliveira, 2003).
Berdasarkan dari tren ini, konten berbasis VR dapat dirasakan tidak hanya dengan mata dan tangan tetapi, sudah berkembang dengan interaksi tubuh dengan menggunakan berbagai macam teknologi sensor untuk dapat memantau pergerakan pengguna (Vince, 2004). Perangkat motion capture mulai dipergunakan untuk menunjukkan ketepatan dan pergerakan natural dari karakter di dalam VR (Choi, Jung, Choi, &
Koo, 2014).
Oculus Rift sebagai satu pelopor dari beberapa headset yang dapat memberikan virtual reality yang realistis kepada pengguna umum. Perangkat ini merupakan virtual reality headset yang ringan dapat menutupi penuh pandangan sekitar yang memberikan perasaan menyatu dengan dunia virtual. Oculus Rift dapat membuat pengguna berjalan di gim, yang dimana bisa melihat-lihat sekeliling pengguna dan melihat seluruh lingkungan gim, tidak seperti layar monitor datar yang mengelilingi pengguna (Katchhi & Sachdeva, 2014). Selain Oculus Rift ada juga HTC Vive yang dikembangkan oleh HTC dan Valve Corporation, yang memiliki kemampuan untuk mengubah ruangan menjadi lingkungan 3 dimensi. Tracking berskala ruang yang ditawarkan oleh HTC Vive mampu membuat pengguna untuk dapat berjalan di sekitar objek virtual (Egger, et al., 2017). Pada sistem perangkat HTC Vive ini membutuhkan perangkat luar headset untuk dapat mengenali ruang (HTC, 2018), di sini portabilitas sistem untuk digunakan pada ruangan lain menjadi rendah.
Berdasarkan dari kekurangan portabilitas yang ada pada sistem headset VR tersebut, diajukanlah ide untuk merekayasa sistem yang
memiliki kemampuan tracking pergerakan orientasi dan posisi kepala sebagai perangkat virtual reality berskala ruangan pada penelitian ini. Di dalam penelitian ini akan dilakukan pengembangan sistem tracking pergerakan orientasi dan posisi kepala pengguna pada sebuah ruangan. Sistem terdiri dari dua bagian, yaitu sistem Head Mounted Device (HMD) sebagai pengakuisisi data dan aplikasi penampil pada komputer untuk menginterpretasikan data menjadi visual grafis berupa pergerakan orientasi dan posisi kepala pada ruangan. HMD pada penelitian ini didasari pada desain perangkat Head Mounted Display (Katchhi &
Sachdeva, 2014).
Pada bagian sistem perangkat HMD menggunakan mikrokontroler Arduino Pro Mini 5V yang memiliki beberapa sensor untuk mengakuisisi data, yakni satu buah modul sensor Inertial Measurment Unit (IMU) dan empat buah sensor jarak ultrasonik. Pada modul sensor IMU terdapat tiga buah sensor, yakni sensor akselerometer, giroskop dan magnetometer.
Modul sensor ini digunakan untuk mendeteksi pergerakan orientasi kepala. Pada pengolahan data yang diakuisisi oleh modul sensor IMU diperlukanlah Attitude and Heading Reference System (AHRS) untuk menentukan orientasi berdasarkan difusi hasil akuisisi data sensor oleh modul sensor IMU.
Dalam penelitian pengembangan AHRS sebelumnya pada perangkat embedded terdapat permasalahan akurasi dan performa dalam penentuan orientasi. Pada penelitian sebelumnya Sudut Euler digunakan untuk menentukan orientasi tetapi, terdapat permasalahan Gimbal Lock pada metode ini. Ketika melakukan rotasi salah satu sumbu rotasi dari ketiga sumbu Z-Y- X berada pada orientasi yang sama mengakibatkan terjadinya Gimbal Lock yang mengakibatkan representasi dari orientasi membutuhkan algoritme kompleks untuk memecahkan masalah ambiguitas ekspresi dari rotasi (Janota, Šimák, Nemec, & Hrbček, 2015).
Maka, dibutuhkanlah metode lain yakni, dengan menggunakan Quaternion. Quaternion merupakan bilangan kompleks yang digunakan untuk merepresentasikan orientasi dalam ruang 3 dimensi. Di dalam penerapannya untuk merepresentasikan orientasi tidak menemui kendala seperti Gimbal Lock yang ada pada Sudut Euler jadi, tidak memerlukan algoritme kompleks untuk mengatasi permasalahan
tersebut dan dapat merepresentasikan orientasi dengan baik (Musaab, Sulle , & Anwar, 2017).
Pada penerapannya dalam bidang sistem embedded ditawarkan beberapa metode untuk menghasilkan nilai Quaternion dalam merepresentasikan orientasi. Salah satunya adalah Complement Filter Berdasarkan penelitian yang dilakukan sebelumnya untuk mendapatkan data orientasi kepala dibutuhkan filter untuk memproses data hasil akuisisi modul sensor IMU. Pada penelitian tersebut menggunakan teknik filter Complement Filter yang memiliki kemampuan untuk mengolah data dan merepresentasikan secara baik (Rizkyan, 2016). Namun, membutuhkan sumber daya komputasi yang besar berdasarkan penelitian perbandingan filter yang ada (Cirillo, Andrea, Maria, & Pirozzi, 2016). Pada penelitian ini memerlukan banyak sensor yang harus bekerja secara bersama-sama yang membuat filter tersebut tidak sesuai untuk memenuhi kebutuhan sumber daya komputasi yang sangat terbatas pada perangkat embedded yang digunakan.
Berdasarkan penelitian perbandingan filter tersebut dipilihlah filter Mahony yang juga memiliki kemampuan bisa merepresentasikan orientasi pergerakan kepala dengan baik namun, lebih baik dalam penggunaan sumber daya komputasi dalam melakukan pengolahan data yang dimana bisa dialokasikan untuk sensor lain yang dibutuhkan pada penelitian ini (Cirillo, Andrea, Maria, & Pirozzi, 2016). Hasil data yang telah diolah dan difilter menghasilkan data nilai Quaternion. Data nilai Quaternion digunakan untuk merepresentasikan orientasi kepala berdasarkan input dari sensor IMU yang mengakuisisi umpan balik pergerakan orientasi kepala pengguna. Sedangkan untuk penentuan posisi pada ruangan berdasarkan penelitian sebelumnya dimana penentuan posisi pengguna berdasarkan akuisisi sensor pada ruangan terhadap pengguna (US Patent No.
US8615383B2, 2008). Pada penelitian ini untuk mengatasi portabilitas yang ada pada penelitian sebelumnya, posisi pengguna ditentukan oleh sensor jarak yang ada pada HMD itu sendiri untuk mengakuisisi data pergerakan posisi kepala pengguna pada ruangan tanpa harus adanya sensor pada ruangan. Dari kedua hasil data yang diperoleh kemudian diolah dan direpresentasikan secara visual sebagai pergerakan orientasi dan posisi kepala pengguna pada ruangan dengan menggunakan aplikasi penampil VR Room Recognition yang dibuat
dengan menggunakan perangkat lunak pada platform Processing.
2. FILTER MAHONY
Filter Mahony merupakan filter yang digunakan untuk mengolah dan memfilter dan mengolah data yang didapatkan dari sensor IMU pada sistem embedded yang dirancang dan diterapkan pada penelitian ini. Dalam penerapannya filter ini menghasilkan keluaran nilai Quaternion. Nilai Quaternion diperoleh dengan mengolah dan memfilter data dari sensor IMU berupa nilai akselerometer, giroskop dan magnetometer menjadi nilai Quaternion.
Dimana permasalahan estimasi orientasi sebagai sebuah permasalahan pengamatan deterministik yang disebut Special Orthogonal. Melalui definisi dari sebuah Direct Complementary Filter dan sebuah Passive Complementary Filter direformulasi dari complementary filter, yang diberi nama Explicit Complementary Filter, dalam hal pengukuran vektorial langsung, seperti gravitasi atau arah medan magnet diperoleh dari sebuah IMU. Pengamatan ini tidak memerlukan rekonstruksi aljabar terhadap sikap pergerakan dan secara ideal cocok untuk implementasi pada platform perangkat keras embedded karena memiliki kompleksitas yang rendah. Walaupun begitu, adanya kemungkinan diskontinuitas dalam bias koreksi sinyal ketika sudut rotasi dari pendekatan Quaternion yang diperkirakan mendekati ±π rad yang dapat mengakibatkan eror sistematik dalam rekonstruksi sikap pergerakan. Gambar 1 merupakan blok diagram dari algoritme ini.
Dimulai dari diketahuinya orientasi badan dikomputasi pada tahap sebelumnya sebelum algoritme, sebuah orientasi eror diperoleh dari pengukuran akselerometer dan magnetometer.
Sebuah langkah koreksi pada compensator Proportional-Integral (PI) digunakan untuk mengoreksi pengukuran kecepatan. Kemudian, propagasi Quaternion diintegralkan untuk memperoleh estimasi orientasi setelah dilakukan normalisasi (Cirillo, Andrea, Maria, & Pirozzi, 2016).
Gambar 1. Blok Diagram Algoritme Mahony Filter
Fakultas Ilmu Komputer, Universitas Brawijaya Sumber: (Cirillo, Andrea, Maria, & Pirozzi, 2016)
2.1 Quaternion
Quaternion merupakan sebuah bilangan kompleks yang digunakan untuk merepresentasikan rotasi dalam ruang 3 dimensi.
Quaternion ditemukan oleh matematikawan Irlandia William Rowan Hamilton (1805-1865) yang berjuang untuk memperluas gagasan bilangan kompleks direpresentasikan sebagai tiga pasang aljabar. Kemampuan Quaternion merepresentasikan rotasi tiga dimensi secara ringkas tentang sebuah aksis yang berubah-ubah memotivasi peneliti untuk menggunakan aljabar Quaternion dalam persamaan rotasi kenematik.
Dimana memunculkan beberapa aplikasi baru pada area yang melibatkan algoritme berbasis Quaternion (Mukundan, 2002). Pada persamaan 2.1 q0, q1, q2, and q3 merupakan bilangan riil.
Secara umum diketahui bahwa tiga rotasi mengitari aksis yang berbeda yang didefinisikan oleh sudut Euler bisa digantikan dengan satu rotasi mengitari vektor tertentu dalam reference frame. Sebuah Quaternion dapat menggambarkan rotasi dengan baik (Musaab, Sulle , & Anwar, 2017).
(2.1)
2.2 Sudut Euler
Sudut Euler merupakan ekspresi perputaran dari objek sebagai sebuah urutan dari tiga rotasi mengitari lokal objek pada aksis koordinat.
Dengan cara ini ekspresi rotasi merupakan cara yang paling interpretatif dan tidak memiliki redundansi data karena hanya ada tiga bilangan riil yang dibutuhkan. Perbedaan urutan dari aksis rotasi menghasilkan perbedaan rotasi, maka sudut Euler didefinisikan berdasarkan pilihan urutan (konvensi). Dalam aviasi konvensi yang paling sering digunakan adalah konvensi z-y-x (terkadang disebut konvensi Yaw-Pitch-Roll atau 3-2-1) (Janota, Šimák, Nemec, & Hrbček, 2015). Pada persamaan 2.2 merupakan persamaan yang digunakan untuk mengonversikan Quaternion menjadi Sudut Euler.
(2.2)
3. PERANCANGAN SISTEM
Perancangan dilakukan untuk memenuhi kebutuhan fungsional perangkat keras dan perangkat lunak yang akan digunakan pada sistem serta perancangan pengujian untuk pengujian kinerja sistem.
3.1 Perancangan Perangkat Keras
Agar tujuan dari penelitian ini dapat dicapai, dibutuhkan rancangan sistem yang mengakomodasi fungsionalitas sistem. Berikut Gambar 2 merupakan blok diagram dari keseluruhan sistem yang akan digunakan untuk mengakuisisi data orientasi dan posisi kepala pada ruang virtual.
Gambar 2. Blok Diagram Sistem
Gambar 2 diperlihatkan sistem menggunakan lima buah sensor, yakni empat buah sensor jarak dan satu buah sensor IMU serta mikrokontroler Arduino Pro Mini sebagai pemroses data dari sensor-sensor tersebut.
Setelah data diproses oleh mikrokontroler kemudian dikirimkan dan diproses pada aplikasi yang dibuat pada platform Processing agar dapat diinterpretasikan menjadi visual grafis representasi orientasi dan posisi relatif kepala pengguna terhadap ruangan virtual.
= atan2
(
yz − xw, 2 − x 2 − y 2)
= arcsin
(
−(
2(
xz + yw)))
= atan2
(
xy − zw, 2 − y 2 − z 2)
(2.3)Gambar 3. Rancangan Skematis Head Mounted Device
Gambar 3 merupakan rancangan skematis perangkat head mounted device yang dirancang untuk memenuhi fungsionalitas sistem. Di dalam rancangan skematis terdapat Arduino Pro Mini sebagai pemroses akuisisi data sensor pada sistem. Sensor yang terdapat pada sistem sebanyak lima buah, yakni empat buah sensor jarak HY-SRF05 dan satu buah sensor IMU MPU-9250. Juga terdapat modul tombol start yang terhubung dengan resistor 1kΩ sebagai interrupt pada saat hendak menjalankan sistem.
Gambar 4. Rancangan Fisik Head Mounted Device
Gambar 3 dan 4 merupakan rancangan perangkat keras Head Mounted Device (HMD).
Pada sensor jarak ditempatkan pada masing- masing sisi perangkat, yakni ke depan, ke samping kiri, ke samping kanan dan ke belakang untuk mengakuisisi posisi pengguna. Sedangkan sensor IMU diposisikan pada posisi tengah perangkat untuk mengakuisisi orientasi.
3.2 Perancangan Perangkat Lunak
Perancangan perangkat lunak pada penelitian ini dibagi menjadi dua, yaitu perangkat lunak untuk head mounted device dan aplikasi penampil. Berikut alur diagram perangkat lunak sistem yang dirancang untuk bekerja pada sistem secara keseluruhan.
Gambar 5. Diagram Alur Kerja Sistem Pada Gambar 5 merupakan alur kerja saat sistem bekerja, pertama kali sistem head mounted device (HMD) dan aplikasi penampil melakukan inisialisasi dan akan menunggu interrupt dari pengguna dengan menggunakan tombol start dan setelah dilepas sistem akan mulai mengakuisisi data dari sensor. Setelah data akuisisi dari sensor diperoleh diproses menjadi data ruangan dari sensor jarak dan dilakukan pembaharuan data IMU. Data IMU diproses dan di filter untuk memperoleh data Quaternion yang akan dijadikan representasi orientasi. Setelah data diolah kemudian data di enkapsulasi dan dikirim menjadi data serial untuk diterima pada aplikasi penampil. Pada aplikasi penampil setelah menerima data serial melakukan dekapsulasi data dan mengolah data serta mengklasifikasikan heading yang kemudian menjadi dasar tampilan visual pada sistem penampil.
3.3 Perancangan Pengujian
Pengujian akan dilakukan dengan membandingkan akuisisi data posisi oleh sensor jarak yang diakuisisi oleh sensor jarak HY- SRF05 dan akuisisi data orientasi oleh sensor IMU MPU-9250 dengan nilai fisik sebenarnya.
Pada sensor jarak perbandingan dilakukan dengan menggunakan meteran yang dibandingkan dengan posisi jarak sensor.
Kemudian, dilakukan perhitungan nilai rerata jarak yang didapat dan dibandingkan dengan nilai fisik sebenarnya untuk mendapatkan margin eror pengakuisisi data posisi pada sistem. Pada sensor IMU dilakukan pengujian dengan menggunakan hasil pengolahan data yang didapat dari MPU-9250 yang sudah di filter menjadi data Quaternion dan kemudian diolah menjadi sudut Euler nilai Yaw, Pitch dan
Fakultas Ilmu Komputer, Universitas Brawijaya
Roll agar dapat dibandingkan dengan nilai fisik yang sebenarnya dengan menggunakan busur derajat untuk mendapatkan margin eror pengakuisisi data orientasi dalam sistem.
Terakhir melakukan pengujian kinerja sistem untuk mengetahui kelayakan sistem yang dibuat. Pengujian kinerja sistem dilakukan dengan menguji kemampuan sistem dalam menentukan keakurasian data ruangan dan persentase kesuksesan sistem dalam menentukan heading pada saat sistem berjalan.
4. IMPLEMENTASI SISTEM
Implementasi dilakukan untuk menerapkan rancangan yang telah dibuat sebelumnya untuk memenuhi kebutuhan sistem.
4.1 Implementasi Perangkat Keras
Perangkat keras yang diimplementasikan pada sistem ini telah dijelaskan pada rancangan 3.1 yang dimana dibutuhkan oleh sistem untuk dapat berjalan dengan baik. Pada implementasi perangkat keras disesuaikan dengan rancangan head mounted device yang dideskripsikan pada Gambar 4 dan 5 Berikut pada Gambar 6 merupakan implementasi perangkat keras head mounted device yang telah dirancang.
Gambar 6. Head Mounted Device
Gambar 6 merupakan hasil implementasi dari rancangan perangkat keras yang telah dirancang untuk memenuhi kebutuhan sistem.
Penempatan sensor untuk mengakuisisi data yang dibutuhkan oleh sistem disesuaikan dengan rancangan pada Gambar 5.
4.2 Implementasi Perangkat Lunak Perangkat lunak diimplementasikan pada sistem ini berdasarkan penjelasan rancangan 3.2.
Pada implementasi perangkat lunak dilakukan untuk memenuhi fungsionalitas kerja sistem.
Berikut merupakan implementasi perangkat
lunak yang dibutuhkan oleh sistem untuk bekerja.
Gambar 7. Diagram Alur Kerja Head Mounted Device
Gambar 7 merupakan implementasi perangkat lunak pada perangkat head mounted device. Pertama dilakukan inisialisasi untuk variabel-variabel yang dibutuhkan. Untuk mengakses sensor IMU dilakukan dengan menggunakan library MPU9250_VRS sedangkan untuk mengakses data sensor jarak menggunakan library NewPing. Sistem akan menunggu masukkan interrupt dari pengguna berupa masukkan tombol, ketika tombol ditekan sistem mulai melakukan akuisisi data dari sensor IMU dan jarak. Setelah data IMU yang didapat, dilakukan filtering dengan menggunakan Filter Mahony yang diakses dengan menggunakan library QuaternionFilters untuk mendapatkan nilai Quaternion yang akan digunakan untuk merepresentasikan orientasi kepala. Pada saat data hendak di enkapsulasi menjadi data paket dan siap dikirim menjadi data serial ke aplikasi penampil sebelumnya dilakukan pengecekan nilai data jarak yang diakuisisi oleh sensor jarak dengan menggunakan toleransi eror berdasarkan nilai Quaternion. Jika, nilai Quaternion tidak melebihi parameter maka kirimkan nilai jarak terbaru sedangkan jika, nilai Quaternion melebihi parameter maka kirimkan data jarak terakhir yang disimpan.
Gambar 8. Diagram Alur Kerja Aplikasi Penampil
Gambar 8 merupakan diagram alur kerja aplikasi penampil yang diimplementasikan pada sistem. Pertama dilakukan inisialisasi untuk variabel-variabel yang dibutuhkan. Kemudian aplikasi menunggu port serial tersedia pada saat pertama kali dijalankan tampilan awal aplikasi.
Ketika sudah ada data serial yang dikirimkan oleh head mounted device data yang telah diterima masih berupa data serial kemudian di dekapsulasi menjadi data yang dapat dimengerti oleh aplikasi penampil. Setelah itu dilakukan komputasi untuk mendapatkan yaw, pitch dan roll yang digunakan untuk klasifikasi heading.
Setelah semua data didapat kemudian diolah dilakukan interpretasi data menjadi visual grafis dengan menggunakan library toxic.
5. PENGUJIAN DAN ANALISIS 5.1 Hasil Pengujian
Pengujian dilakukan untuk mendapatkan data hasil kerja sistem. Pengujian terbagi menjadi tiga, yaitu pengujian akuisisi data sensor jarak, pengujian akuisisi data IMU dan pengujian kinerja sistem. Untuk pengujian akurasi dari sensor dilakukan secara individual dan dilakukan perhitungan rata-rata eror pembacaan akuisisi data oleh sensor pada sistem yang dibandingkan dengan ukuran fisik.
Sedangkan, untuk pengujian kinerja keseluruhan sistem dilakukan dengan menghitung rata-rata akurasi dan prosentase kesuksesan sistem dalam merepresentasikan data yang diakuisisi oleh
sistem. Data akuisisi direpresentasikan dengan menggunakan TelemetryViewer dan aplikasi penampil. Berikut merupakan pengujian yang dilakukan pada sistem.
Gambar 9. Pengujian Sensor Jarak pada Saat Pengakuisisian Data
Gambar 9 merupakan hasil pengujian akuisisi data oleh sensor jarak HY-SRF05 dilakukan untuk mengetahui akurasi dari hasil akuisisi data berupa jarak oleh sensor yang akan digunakan pada sistem. Data jarak yang diakuisisi oleh sensor dalam satuan centimeter.
Untuk membandingkan hasil pengukuran diperlukan meteran untuk mengukur nilai fisik sebenarnya yang akan dibandingkan. Keempat buah sensor jarak yang digunakan oleh sistem akan diuji secara individual dalam mengukur jarak.
Gambar 10. Tampilan Pengujian Pengakuisisian Data
Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 10 merupakan pengujian yang dilakukan untuk mendapatkan nilai data pembacaan oleh sensor IMU dan tampilan hasil pengakuisisian data yang terbagi menjadi lima grafik yang berisi 3-aksis akselerasi, 3-aksis giroskop, 3-aksis magnetometer, Quaternion dan yaw, pitch, roll.
Gambar 11. Sequence Diagram Kinerja Sistem
Gambar 11 merupakan sequence diagram kinerja sistem yang akan diuji pada pengujian kinerja sistem sebagai berikut. Pertama pengguna menekan tombol untuk mengaktifkan perangkat HMD. Kemudian ketika sistem perangkat HMD menerima interrupt dimulai akuisisi data pergerakan orientasi dan posisi pada sistem. Data sensor IMU diproses dengan menggunakan Filter Mahony untuk mendapatkan nilai Quaternion sebagai representasi orientasi. Terakhir data di enkapsulasi menjadi data serial yang terdiri dari Header, Quaternion, Jarak(Posisi) dan Trailer untuk dikirimkan ke sistem aplikasi penampil.
Tabel 1. Parameter Pengujian Kinerja Sistem
Tabel 1 merupakan parameter yang ada pada pengujian kinerja sistem yang dilakukan.
Parameter tersebut akan menjadi tolak ukur dari
hasil kinerja sistem yang akan didapatkan.
Gambar 12. Pengujian Kinerja Sistem pada Saat Berjalan
Gambar 12 merupakan pengujian kinerja sistem yang dilakukan secara langsung.
Pengguna melakukan pergerakan orientasi kepala dan perpindahan posisi berdasarkan posisi kepala. Pengujian dilakukan sebanyak 4 kali untuk setiap sumbu rotasi, yakni yaw, pitch, dan roll dengan menggunakan 5000 sampel data.
5.2 Hasil Pengujian
Hasil pengujian didapatkan untuk mengetahui keakurasian sensor yang digunakan pada perangkat yang digunakan untuk mendapatkan data orientasi dan posisi kepala pada ruangan. Setiap sensor diuji keakurasiannya terlebih dahulu dengan membandingkan nilai fisik. Berikut tabel yang memuat hasil dari pengujian yang dilakukan.
Tabel 2. Pengujian Akurasi Sensor Jarak
Pada tabel 2 pengujian sensor jarak dilakukan sebanyak 6 kali untuk setiap sensor dengan menggunakan 1000 sampel data. Setelah data didapat dilakukan perhitungan rata-rata eror untuk mendapatkan margin eror dari pengukuran fisik. Pada hasil pengujian dilakukan penggenapan dua digit di belakang koma.
Berdasarkan hasil pengujian didapat rata-rata eror pengukuran jarak mulai dari 10cm sampai dengan 300cm diperoleh margin rata-rata eror berkisar dari 0,53cm sampai dengan 1,37cm.
Parameter Nilai
Panjang Ruangan Sebenarnya 208cm
Lebar Ruangan Sebenarnya 160cm
Luas Ruangan Sebenarnya 3,33m2
Panjang Head Mounted Device (HMD) 19cm Lebar Head Mounted Device (HMD) 15cm Panjang Ruangan Pemakaian (Panjang Ruangan Sebenarnya -
Panjang HMD)
189cm
Lebar Ruangan Pemakaian (Lebar Ruangan Sebenarnya - Panjang HMD)
145cm
Heading Depan (Yaw) 316 – 360° & 0 – 45°
Heading Kanan (Yaw) 46 – 135°
Heading Kiri (Yaw) 226 – 314°
Heading Belakang (Yaw) 136 – 225°
Toleransi Eror Quaternion 0,13
Sensor
Parameter Pengukuran (cm)
10cm 50cm 100cm 200cm 300cm 400cm
srf_front 10,77 49,46 96,30 200,34 299,97 128,61 srf_behind 10,08 45,08 99,60 200,34 302,012 173,58 srf_left 10,508 48,76 99,22 202,22 303,58 355,98 srf_right 10,77 49,86 96,97 201,06 299,92 248,19 Rata-rata
Eror (cm) 0,53 1,7 1,07 0,99 1,37 173,4
Namun, pada pengujian dengan jarak 400cm sensor tidak dapat mengakuisisi data dengan stabil dengan rata-rata eror pengakuisisi data sampai dengan 173,4cm.
Tabel 3. Pengujian Akurasi Sensor IMU
Pada Tabel 3 Pengujian sensor IMU dilakukan sebanyak 4 kali dan menggunakan 1000 sampai dengan 5000 sampel data untuk mendapatkan rata-rata margin eror akuisisi data oleh sensor IMU. Pada hasil pengujian didapatkan bahwa pembacaan hasil pengolahan data memiliki rata-rata eror pembacaan 2,59 derajat.
Tabel 4. Pengujian Kinerja Sistem Pada Akuisisi Posisi Kepala Pada Ruangan
Tabel 6. Pengujian Kinerja Sistem Pada Orientasi Kepala
Pada Tabel 4 merupakan hasil data pengujian kinerja sistem yang telah dilakukan dan disesuaikan dengan parameter pengujian sebelumnya pada Tabel 1. Dari data hasil pengujian diperoleh nilai rata-rata pengukuran.
Hasil pengujian menunjukkan terdapat data rata- rata margin sebesar 4,9cm dalam penentuan posisi kepala dan untuk hasil klasifikasi heading orientasi kepala yang diperoleh rata-rata kesuksesan sebesar 73,5% dalam menentukan heading pada ruangan.
6. KESIMPULAN DAN SARAN
Berdasarkan hasil dari tahapan penelitian, yakni perancangan, implementasi, pengujian dan analisis hasil pengujian yang telah dilakukan, maka penulis dapat menyimpulkan dari penelitian ini sebagai berikut. Perangkat sistem didesain sebagai Head Mounted Device yang dimana perangkat digunakan pada kepala pengguna dan dapat digunakan secara portabel karena tidak membutuhkan perangkat luaran untuk melakukan tracking pergerakan orientasi dan posisi kepala pengguna pada ruangan.
Perangkat sistem menggunakan sensor IMU MPU-9250 yang ditempatkan pada HMD (Head Mounted Device) untuk tracking pergerakan orientasi dan sensor jarak HY-SRF05 sebagai sensor posisi kepala pengguna pada ruangan.
Pada sensor IMU digunakan Filter Mahony untuk mengolah dan memfilter data IMU menjadi data Quaternion sebagai representasi data orientasi. Hasil kemampuan sistem didasari oleh pengujian terhadap kinerja sensor yang digunakan pada perangkat sistem dan kinerja keseluruhan sistem. Pada sensor jarak HY-
Parameter Pengujian Hasil Pengujian (o) Rata-Rata Margin Eror (o)
Yaw 0° 1,01 1,01
Yaw 30° 30,18 0,18
Yaw 60° 60,14 0,14
Yaw 90° 91,82 1,82
Pitch 0° 0,81 0,81
Pitch 30° 29,66 0,44
Pitch 60° 64,53 4,53
Pitch 90° 93,59 3,59
Roll 0° 0,65 0,65
Roll 30° 35,34 5,34
Roll 60° 64,72 4,72
Roll 90° 83,41 7,59
Rata-Rata Eror (o) 2,59
Pengujian
Ukuran Ruangan (cm) Panjang
Ruangan (Pemakaian)
Panjang Akuisisi Sistem
Margin Eror Panjang
Lebar Ruangan (Pemakaian)
Lebar Akuisisi
Sistem Margin Eror Lebar
1 189 179 10 145 145 0
2 189 180 9 145 143 2
3 189 179 10 145 142 3
4 189 182 7 145 144 1
5 189 182 7 145 144 1
Rata-Rata 8,4 1,4
Rata-Rata Eror 4,9
Pengujian Heading Mendongak Ke Atas
Menunduk Ke Bawah
Menoleh Ke Kiri
Menoleh Ke Kanan
%
1
Depan ✔ ✔ ✔ ✔ 100
Kanan ✔ ✔ ✔ X 75
Kiri ✔ ✔ X ✔ 75
Belakang ✔ ✔ X ✔ 75
2
Depan ✔ ✔ ✔ ✔ 100
Kanan ✔ X ✔ ✔ 75
Kiri ✔ ✔ X ✔ 75
Belakang ✔ ✔ X ✔ 75
3
Depan X ✔ ✔ ✔ 75
Kanan ✔ ✔ ✔ X 75
Kiri ✔ ✔ X ✔ 75
Belakang ✔ ✔ X X 50
4
Depan ✔ ✔ ✔ X 75
Kanan ✔ ✔ ✔ X 75
Kiri ✔ ✔ X ✔ 75
Belakang ✔ ✔ X ✔ 75
5 Depan ✔ ✔ X X 50
Kanan ✔ ✔ ✔ X 75
Kiri ✔ ✔ ✔ X 75
Belakang ✔ ✔ X X 50
Rata-rata 73,5
Fakultas Ilmu Komputer, Universitas Brawijaya
SRF05 diperoleh pengukuran rata-rata eror berkisar 0,53cm sampai dengan 1,7cm dengan pengukuran jarak optimal 300cm pada setiap sensor. Sedangkan untuk hasil pengujian sensor IMU yang dipakai oleh sistem untuk pengukuran orientasi terhadap pengujian fisik dengan menggunakan Sudut Euler sebagai pembanding diperoleh rata-rata eror derajat 2,59 derajat. Pada kinerja keseluruhan sistem yang dilakukan pada ruangan berukuran 3,33m2 diperoleh akurasi pergerakan posisi kepala di dalam ruangan memiliki rata-rata eror sebesar 4,83cm dan untuk pergerakan orientasi kepala diperoleh 73,5%
kesuksesan dalam menentukan heading.
Sebagai saran dari penulis untuk penelitian selanjutnya adalah sebagai berikut. Agar dapat mengatasi kekurangan akurasi yang terjadi karena keterbatasan fitur dari sensor HY-SRF05 dalam melakukan pengukuran jarak, penelitian selanjutnya disarankan untuk menggunakan sensor yang lebih mutakhir dalam akuisisi data jarak. Pada pengujian, disarankan untuk menggunakan sampel pengguna lebih banyak lagi paling tidak sebanyak 30 individu untuk lebih mengetahui akurasi pada klasifikasi pada sistem yang ada.
DAFTAR PUSTAKA
Choi, Y.-S., Jung, S., Choi, J.-S., & Koo, B.-K.
(2014). Immersive Real-Acting Virtual Aquarium with Motion Tracking Sensors. International Journal of Distributed Sensor Networks, 1-2.
Cirillo, P., Andrea, C., Maria, G. D., & Pirozzi, S. (2016). Multisensor Attitude
Estimation: Fundamental Concepts and Applications. CRC Press.
Dobbins, M. K., Rondot, P., Yokell, E. D., Abshire, K. J., Anthony Ray Harbor, S.
L., & Barron, M. K. (2008). US Patent No. US8615383B2.
Egger, J., Gall, M., Wallner, J., Boechat, P., Hann, A., & Li, X. (2017). HTC Vive MeVisLab integration via OpenVR formedical applications. PLOS ONE, 3.
Giraldi, G., Silva, R., & C. de Oliveira, J.
(2003). Introduction to Virtual Reality.
LNCC-National Laboratory for Scientific Computing Scientific Visualization and Virtual Reality Laboratory, 1.
HTC. (2018, Maret 20). Main Page. Diambil kembali dari HTC Vive:
https://www.vive.com/sg/product Janota, A., Šimák, V., Nemec, D., & Hrbček, J.
(2015). Improving the Precision and Speed of Euler Angles. MDPI, 7018- 7022.
Katchhi, S., & Sachdeva, P. (2014). A Review Paper on Oculus Rift. International Journal of Current Engineering and Technology (pp. 1-2). Mumbai:
International Press Corporation.
Mukundan, R. (2002). Quaternions: From Classical Mechanics to Computer.
Proceedings of the 7th Asian
Technology, (pp. 97-98). Christchurch, New Zealand.
Musaab, A. A., Sulle , B., & Anwar. (2017).
Design of AHRS for Quadrotor Control using. Journal of Telecommunication, Electronic and Computer Engineering (JTEC).
Rizkyan, E. D. (2016). Sistem Deteksi Pergerakan Kepala Manusia Menggunakan Inertia Measurement Unit Berbasis Arduino. JPTIIK, 1.
Vince, J. (2004). Introduction to Virtual Reality. Verlag London: Springer.