perancangan perangkat lunak berbasis 3d game engine untuk merepresentasikan sistem navigasi 6 dof

20
PERANCANGAN PERANGKAT LUNAK BERBASIS 3D GAME ENGINE UNTUK MEREPRESENTASIKAN SISTEM NAVIGASI 6 DOF SKRIPSI Diajukan untuk memenuhi sebagian persyaratan mendapatkan gelar Sarjana Teknik Elektro (S1) Fakultas Teknik Universitas Sultan Ageng Tirtayasa Disusun oleh : Wildan Yusuf 3332060842 KEMENTRIAN PENDIDIKAN NASIONAL UNIVERSITAS SULTAN AGENG TIRTAYASA FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO CILEGON BANTEN 2010

Upload: kiwielz

Post on 27-Jul-2015

318 views

Category:

Documents


3 download

DESCRIPTION

Proposal Skripsi Kiwielz

TRANSCRIPT

Page 1: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

PERANCANGAN PERANGKAT LUNAK BERBASIS3D GAME ENGINE UNTUK MEREPRESENTASIKAN

SISTEM NAVIGASI 6 DOF

SKRIPSI

Diajukan untuk memenuhi sebagian persyaratan mendapatkan gelarSarjana Teknik Elektro (S1) Fakultas Teknik Universitas Sultan Ageng Tirtayasa

Disusun oleh :

Wildan Yusuf3332060842

KEMENTRIAN PENDIDIKAN NASIONALUNIVERSITAS SULTAN AGENG TIRTAYASA

FAKULTAS TEKNIKJURUSAN TEKNIK ELEKTRO

CILEGON – BANTEN2010

Page 2: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

LEMBAR PENGESAHAN

PERANCANGAN PERANGKAT LUNAK BERBASIS 3DGAME ENGINE UNTUK MEREPRESENTASIKAN SISTEM

NAVIGASI 6 DOF

SKRIPSI

Disusun oleh :

Wildan Yusuf3332060842

Telah diperiksa dan disetujui pada tanggal __ November 2010

Pembimbing Proposal Tugas Akhir

Romi WiryadinataNIP : 198307032009121006

Page 3: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

1. Judul Penelitian

Judul penelitian yang diajukan adalah Perancangan perangkat lunak berbasis

3D Game Engine untuk merepresentasikan sistem navigasi 6 DOF.

2. Latar Belakang

Pada perkembangan teknologi avionik dan kendaraan tanpa awak, sebuah

sistem yang dinamakan AHRS (Attitude and Heading Reference System)

memegang peranan yang sangat penting. Peranan sistem AHRS sangat dibutuhkan

untuk memberikan informasi dan visualisasi yang akurat tentang perilaku pesawat

seperti kecepatan, ketinggian, arah, dan sudut inklinasi pesawat kepada pilot.

Visualisasi yang akurat tersebut sangatlah penting karena ada kondisi-kondisi

tertentu saat indera perasa manusia mengalami salah persepsi dalam penerbangan

sehingga sangat tidak mungkin untuk mengandalkan indera perasa manusia

sebagai alat bantu navigasi penerbangan.

Sedangkan pada konteks kendaraan tanpa awak, peranan AHRS dibutuhkan

untuk memberikan informasi dan visualisasi perilaku objek kepada pemantau

yang berada pada jarak yang tidak memungkinkan untuk melihat objek secara

langsung. Sistem ini juga dapat dikembangkan lebih jauh lagi untuk menyusun

kecerdasan buatan sehingga objek dapat bergerak secara auto-pilot (Adiprawita

dkk., 2007).

Perkembangan teknologi perangkat keras komputer pribadi dewasa ini

sangatlah pesat. Hukum Moore mengatakan bahwa setiap 18 bulan, unjuk kerja

sebuah mikroprosesor dapat meningkat menjadi dua kali lipatnya. Salah satu

penyebabnya adalah semakin banyaknya aplikasi-aplikasi yang menangani

pemrosesan data yang besar seperti pengolah gambar dan animasi 3D menuntut

spesifikasi perangkat keras yang kuat agar aplikasi tersebut dapat berjalan dengan

baik. Perkembangan industri game yang sangat cepat juga turut memengaruhi

perkembangan teknologi mikroprosesor, terutama untuk perangkat keras pengolah

grafis.

Hal-hal seperti gambar beresolusi tinggi baik yang bergerak maupun tidak

bergerak serta animasi 3D sudah bukan merupakan hal yang mewah lagi, bahkan

merupakan suatu keharusan dalam sebuah perangkat lunak komputer bagi

Page 4: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

perangkat keras komputer yang berspesifikasi tinggi. Dewasa ini, banyak sekali

pengembang perangkat lunak yang menyediakan engine game 3D sebagai antar-

muka pemrograman grafis 3D mulai dari yang berlisensi bebas sampai yang

berharga ribuan dollar untuk penggunaan komersial. Engine game 3D tersebut

sangat mungkin untuk diimplementasikan pada pengembangan sebuah perangkat

lunak yang dapat merepresentasikan sistem navigasi 6 DOF (Six Degree of

Freedom) dan dengan menggunakan engine 3D tersebut, program dapat dengan

mudah memvisualisasikan keadaan objek yang sedang dipantau pada komputer

secara tiga dimensi dan realtime. Objek yang dipantau adalah sebuah kendaraan

yang dilengkapi dengan sensor-sensor navigasi.

3. Rumusan dan Batasan Masalah

Berdasarkan identifikasi latar belakang yang telah dijelaskan, rumusan

masalah dari penelitian ini adalah.

a. Unjuk kerja dari aplikasi yang dikembangkan dengan bantuan engine game 3D.

b. Tingkat keakurasian visualisasi 3D dari objek secara realtime oleh aplikasi

yang dikembangkan.

c. Proses komunikasi antara device dengan perangkat lunak melalui serial port.

d. Algoritma aplikasi dalam memisahkan (data parsing) dan membaca data

sensor yang ditransmisikan melalui serial port.

e. Menampilkan data yang ditransmisikan oleh sensor ke dalam aplikasi dengan

bantuan visualisasi grafis dan navigasi.

Dari rumusan masalah tersebut, maka batasan masalah penelitian yang

diperhatikan adalah sebagai berikut.

a. Perancangan meliputi arsitektur aplikasi dan sistem antar-muka antara aplikasi

dan device.

b. Aplikasi mengimplementasikan 3DState Game Engine sebagai inti utama unit

pemroses grafis.

c. Aplikasi dikembangkan menggunakan bahasa pemrograman C/C++ yang

dikompilasi menggunakan Microsoft Visual C++.

Page 5: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

d. Aplikasi yang dikembangkan dirancang untuk memvisualisasikan keadaan

objek berdasarkan data sensor (x,y,z) yang dikirim oleh objek melalui antar-

muka serial port.

e. Tidak ada algoritma perhitungan noise data lebih lanjut pada aplikasi.

4. Tujuan Penelitian

Tujuan utama dari penelitian ini adalah merancang sebuah aplikasi navigasi

6 DOF sebuah objek yang mengimplementasikan engine game 3D sebagai sistem

utama pemroses grafisnya, dan dalam penelitian ini akan dilakukan analisa

perancangan sistem dan analisis terhadap data yang diterima dari sensor melalui

serial port.

5. Tinjauan Pustaka

5.1 AHRS

AHRS (Attitude and Heading Reference System) digunakan pada aplikasi

penerbangan pada umumnya untuk sistem kendali perilaku dan arah pesawat.

Informasi yang diberikan oleh sistem AHRS pada kebanyakan sistem

penerbangan pada umumnya diperoleh dari sistem INS yang terpasang pada

pesawat. Sistem INS ini sendiri terdiri dari sensor-sensor inersia yang

memanfaatkan perubahan inersia untuk memberikan informasi tentang keadaan

dan perilaku pesawat.

Salah satu dari sensor inersia tersebut adalah sebuah giroskop mekanik.

Sebuah giroskop mekanik yang digunakan untuk mengindikasikan pitch dan roll

pesawat terdiri dari cakram yang sumbunya berputar antara dua penopang dan

tetap dalam posisinya apabila tidak ada pengaruh kekuatan dari luar. Sistem

vakum atau kelistrikan pesawat menyediakan tenaga yang dibutuhkan untuk

memutar rotor dalam giroskop tersebut.

Page 6: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

Gambar 1. Giroskop mekanik dan Giroskop laser

Sebuah giroskop sangat rentan terhadap kesalahan yang dihasilkan dari

berbagai kekuatan mekanik yang memengaruhi giroskop selama penerbangan

normal dan membutuhkan reset secara periodik. Informasi attitude disajikan pada

pengukur mekanik yang merupakan bagian yang tidak terpisahkan dari giroskop

itu sendiri. Metode pengukuran ini tidak pernah berubah dan tetap bertahan

selama beberapa dekade sampai saat ini (Demoz dkk., 1999).

Attitude biasanya diwakili oleh tiga rotasi dari kendaraan udara. Rotasi

tersebut adalah roll, pitch dan yaw. Ada beberapa representasi rotasi yang

berbeda. Diantaranya adalah sudut Euler, Matrix atau lebih dikenal dengan

sebutan DCM (Direction Cosine Matrix) dan representasi sudut Quaternion (Liu

dkk., 2008).

Gambar 2. Roll, Pitch dan Yaw

Gambar 1. Giroskop mekanik dan Giroskop laser

Sebuah giroskop sangat rentan terhadap kesalahan yang dihasilkan dari

berbagai kekuatan mekanik yang memengaruhi giroskop selama penerbangan

normal dan membutuhkan reset secara periodik. Informasi attitude disajikan pada

pengukur mekanik yang merupakan bagian yang tidak terpisahkan dari giroskop

itu sendiri. Metode pengukuran ini tidak pernah berubah dan tetap bertahan

selama beberapa dekade sampai saat ini (Demoz dkk., 1999).

Attitude biasanya diwakili oleh tiga rotasi dari kendaraan udara. Rotasi

tersebut adalah roll, pitch dan yaw. Ada beberapa representasi rotasi yang

berbeda. Diantaranya adalah sudut Euler, Matrix atau lebih dikenal dengan

sebutan DCM (Direction Cosine Matrix) dan representasi sudut Quaternion (Liu

dkk., 2008).

Gambar 2. Roll, Pitch dan Yaw

Gambar 1. Giroskop mekanik dan Giroskop laser

Sebuah giroskop sangat rentan terhadap kesalahan yang dihasilkan dari

berbagai kekuatan mekanik yang memengaruhi giroskop selama penerbangan

normal dan membutuhkan reset secara periodik. Informasi attitude disajikan pada

pengukur mekanik yang merupakan bagian yang tidak terpisahkan dari giroskop

itu sendiri. Metode pengukuran ini tidak pernah berubah dan tetap bertahan

selama beberapa dekade sampai saat ini (Demoz dkk., 1999).

Attitude biasanya diwakili oleh tiga rotasi dari kendaraan udara. Rotasi

tersebut adalah roll, pitch dan yaw. Ada beberapa representasi rotasi yang

berbeda. Diantaranya adalah sudut Euler, Matrix atau lebih dikenal dengan

sebutan DCM (Direction Cosine Matrix) dan representasi sudut Quaternion (Liu

dkk., 2008).

Gambar 2. Roll, Pitch dan Yaw

Page 7: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

Pada perhitungan attitude, ada dua pendekatan yang bisa digunakan.

Pertama adalah mekanisasi inersia yang menggunakan integrasi waktu diskrit

terhadap pengukuran laju rotasi. Dalam pendekatan ini, penentuan attitude tidak

hanya tergantung kepada pengukuran terakhir tetapi tergantung juga pada nilai

pengukuran sebelumnya, yang kedua adalah pengukuran attitude absolut yang

bisa menghitung nilai attitude berdasarkan nilai pengukuran terakhir (Adiprawita

dkk., 2007).

Menurut penelitian yang telah dilakukan oleh (Kang dkk., 2009) metode

DCM merupakan pilihan yang lebih baik dalam menentukan attitude jika titik

singularitas ingin benar-benar dihindari, walaupun metode Euler sedikit lebih

cepat dalam hal komputasi. Algoritma DCM yang disusun hanya membutuhkan

tiga dari sembilan parameter yang diperbaharui untuk mempercepat proses

komputasi. Ketika menghitung orientasi, Quaternion dengan keunggulan

penghitungan yang hanya empat parameter dan kemudahan normalisasi menjadi

metode yang paling banyak dipilih. Penelitian (Kang dkk., 2009) membuktikan

bahwa algoritma DCM yang diterapkan hampir menyamai metode Quaternion

dalam hal kecepatan komputasi dan bahkan melampauinya dalam hal akurasi.

Kalman Filter yang disusun pada metode DCM dapat mencegah error pada

taksiran orde pertama dibandingkan dengan Extended Kalman Filter pada metode

Euler dan Quaternion, itulah mengapa metode DCM unggul dalam hal akurasi.

5.1.1 INS

INS (Inertial Navigation System) atau ada juga yang menyebutnya dengan

INU (Inertial Navigation Unit) adalah sebuah sistem navigasi yang berbasis

komputer dan beberapa keluaran sensor dari IMU (Inertial Measurement Unit)

yang secara kontinyu mengetahui posisi, kecepatan dan attitude dari suatu benda.

Dari berbagai sudut pandang, terlihat bahwa INS merupakan sistem navigasi

yang sempurna. Akselerometer dan giroskop yang dipasang secara ortogonal

mengukur gaya spesifik dan laju perubahan sudut benda yang bisa

dikombinasikan dengan persamaan mekanis dan persamaan error state untuk

mendapatkan perubahan posisi, kecepatan, dan attitude benda pada kerangka

navigasi tertentu, dan ketika perubahan tersebut diintegralkan terhadap waktu

Page 8: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

dapat mendeskripsikan gerak sebagai fungsi waktu (Wiryadinata dkk., 2008 dan

Godha, 2006).

Proses komputasi INS lebih rumit daripada kedengarannya karena error

pada giroskop atau akselerometer akan menyebabkan error pada penghitungan

posisi, kecepatan, dan attitude. Error pada giroskop akan menghasilkan kesalahan

pada transformasi matrix antara body dan navigation frame, sementara error pada

akselerometer menghasilkan kesalahan pada integral kecepatan dan posisi.

Integrasi tersebut akan menghasilkan besar error yang sebanding dengan integral

terhadap t untuk kecepatan dan integral terhadap t2 untuk posisi. Pada sensor

inersia dengan error yang besar, hal ini akan mengakibatkan error meningkat

tanpa batas dalam waktu singkat. Masalah utama penggunaan INS sebagai sistem

navigasi adalah akan ada error yang tak berhingga setiap saat jika tidak ada upaya

pencegahan yang diambil (El-Sheimy, 2006).

Menurut (Schulz, 2006 dan Adiprawita dkk., 2008), untuk meminimalisir

error-error tersebut, harus digunakan pengukuran eksternal pada interval waktu

tertentu. Beberapa tipe dari pengukuran tersebut bisa digunakan untuk

memperbaharui posisi, kecepatan, atau attitude. GPS adalah salah satu dari

metode untuk memperbaharui informasi posisi. Metode lainnya yang disarankan

adalah memperbaharui informasi kecepatan menggunakan sensor putaran roda

atau menggunakan kompas untuk memperbaharui informasi attitude.

Integrasi antara pengukuran INS dengan sistem eksternal biasanya

dilakukan dengan menggunakan teknik filtering yang berbeda. Kalman filter

adalah metode yang paling banyak digunakan untuk membatasi noise dari kedua

sistem tersebut (Schulz, 2006 dan Liu dkk., 2008).

5.1.2 Quaternion

Quaternion diperkenalkan oleh Hamilton pada tahun 1843 dan merupakan

susunan dari empat parameter yang berubah menurut persamaan diferensial

sederhana. Walaupun elemen-elemennya mempunyai bentuk kuadratik,

pendekatan dengan metode ini membutuhkan tingkat komputasi yang lebih

sedikit, memberikan akurasi yang lebih baik dan mencegah masalah singularitas

yang dialami oleh metode Euler. Metode ini menggunakan empat parameter dan

Page 9: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

menggunakan pertambahan half angular (Kong, 2007). Berikut ini adalah bentuk

representasi Quaternion yang dijabarkan oleh (Adiprawita dkk., 2007).

= [ 0 1 2 3] (1)0 = ( ) (2)1 = ( ) (3)2 = ( ) (4)3 = ( ) (5)

A merupakan unit vektor sepanjang sumbu rotasi dan f adalah sudut rotasi total.

5.1.3 Euler Angle

Sudut Euler (roll , pitch dan yaw ) sangat intuitif dan digunakan secara

luas di dalam dunia penerbangan. Tetapi representasi ini memiliki kelemahan,

yaitu mengalami singularitas jika sudut pitch-nya mendekati 90 derajat

(Adiprawita dkk., 2007 dan Kang dkk., 2009). Berikut ini adalah metode Euler

untuk pengukuran attitude yang dijelaskan oleh (Suh dkk., 2006).

= 1 0 − 0 (6)

Perlu diketahui bahwa pada penjabaran di atas, ketika sudut pitch mendekati

keadaan akan mengalami singularitas karena dan → ∞.

5.1.4 DCM

Matrix atau sering juga disebut DCM (Direction Cosine Matrix) adalah

matrix 3x3 yang merepresentasikan rotasi sekuensial dari roll, pitch dan yaw.

Representasi ini tidak mengalami masalah singularitas, tetapi tidak intuitif dan

menggunakan sembilan nilai untuk menggambarkan attitude (Adiprawita

dkk.,2007).

Page 10: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

DCM ditulis dalam bentuk matrix rotasi yang mendeskripsikan orientasi

dari kerangka kordinat b (body) terhadap kerangka navigasi n. Orde rotasi adalah

zz, yy dan kemudian xx yang dalam sudut Euler adalah yaw(ψ), pitch(θ), roll (φ).

Matrix rotasi dapat dinyatakan sebagai (Adiprawita dkk., 2007, Liu dkk., 2008

dan Kang dkk., 2009).

= − + + + − +− (7)

5.2 Komunikasi Data Serial

Gambar 3. Serial port DB9 Male Connector

Serial port merupakan sebuah port asynchronous pada komputer yang

digunakan untuk menghubungkan perangkat serial dengan komputer dan mampu

mentransmisikan satu bit dalam satu waktu. Pada umumnya serial port dikenali

pada sebuah IBM compatible komputer sebagai COM (Communication) port.

Contohnya, sebuah mouse terhubung di COM1 dan modem di COM2. Setelah

diperkenalkannya USB, FireWire dan teknologi lainnya yang lebih cepat, serial

port menjadi semakin jarang digunakan lagi dibandingkan dengan penggunaannya

pada jaman dulu. (Gambar 3) menunjukkan kenampakan dari sebuah serial port

beserta konfigurasi pin-pin konektornya.

Page 11: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

Sebuah port serial DB9 sangat mudah untuk dikenali. Koneksinya

berbentuk huruf seperti huruf D, bertipe male, dan memiliki sembilan pin. (Tabel

1) menunjukkan kegunaan dari tiap-tiap pin pada sebuah port serial DB9.

Tabel 1. Pin-pin pada port serial

PIN KEGUNAAN NAMA SINYAL

Pin 1 Data Carrier Detect DCD

Pin 2 Received Data RxData

Pin 3 Transmitted Data TxData

Pin 4 Data Terminal Ready DTR

Pin 5 Signal Ground Gnd

Pin 6 Data Set Ready DSR

Pin 7 Request To Send RTS

Pin 8 Clear To Send CTS

Pin 9 Ring Indicator RI

5.3 3D Game Engine

Game engine adalah sistem perangkat lunak yang dirancang untuk

pembuatan dan pengembangan video game. Terdapat banyak game engine yang

dirancang agar bekerja pada konsol video game dan sistem operasi desktop seperti

Microsoft Windows, Linux dan Mac OS. Fungsi utama yang biasanya disediakan

oleh sebuah game engine mencakup sebuah rendering engine (renderer) untuk

grafis 2D atau 3D, sebuah physics engine atau pendeteksi benturan (dan respon

benturan), suara, scripting, animasi, kecerdasan buatan, jaringan, streaming,

manajemen memori, threading, localization support, dan sebuah scene graph.

Proses dari sebuah pengembangan game seringkali diekonomiskan dengan

menggunakan kembali game engine yang sama untuk menciptakan game yang

berbeda.

Walaupun namanya game engine, penggunaannya tidak hanya digunakan

untuk membuat game saja. Game engine seringkali digunakan untuk aplikasi

interaktif yang membutuhkan grafis secara real-time seperti demo marketing,

Page 12: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

visualisasi arsitektur, training simulator, dan pemodelan lingkungan bahkan

digunakan untuk melakukan penelitian ilmiah.

Salah satu contoh penggunaannya pada penelitian ilmiah adalah pada

komponen 3D sistem GIS (Geographic Information System) yang

diimplementasikan oleh (Sharkawi, 2008). Sistem ini mendapat banyak

keuntungan dari berkembangnya teknologi pemrograman 3D karena kemudahan

penggunaannya dan pengimplementasiannya dengan berbagai bahasa

pemrograman yang umum digunakan.

Gambar 4. Fitur Path-Finding sebuah Game Engine (Sharkawi, 2008)

Beberapa game engine hanya menyediakan kemampuan real-time 3D

rendering saja. Engine-engine tersebut sangat bergantung kepada para

pengembang game untuk membuat fungsionalitas yang dibutuhkan oleh game-nya

atau mengkombinasikan komponen middleware lain untuk memenuhi kebutuhan

fungsionalitas game. Tipe game engine ini lebih dikenal dengan sebutan graphics

engine, rendering engine, atau 3D engine daripada game engine.

Tetapi sebutan ini digunakan secara tidak konsisten karena banyak 3D

Game Engine dengan fitur yang lengkap hanya disebut-sebut sebagai 3D engine

saja. Beberapa contoh dari graphics engine adalah RealmForge, TrueVision3D,

Page 13: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

OGRE, 3DState Game Engine, Crystal Space, Genesis3D, Irrlicht dan JMonkey

Engine. Game atau graphics engine modern pada umumnya menyediakan sebuah

scene graph, yang merupakan representasi dari dunia 3D berorientasi objek yang

memudahkan perancangan game dan bisa digunakan untuk me-render dunia

virtual secara lebih efisien.

Kebanyakan 3D engine pada sebuah game engine dibuat pada sebuah

graphics API (Application Programming Interface) seperti Direct3D atau

OpenGL yang menyediakan abstraksi perangkat lunak dari sebuah GPU atau kartu

grafis. Low-level library seperti DirectX, SDL, dan OpenAL juga biasanya

digunakan dalam game karena menyediakan akses yang hardware-independent ke

perangkat komputer lain seperti perangkat input, perangkat jaringan dan perangkat

audio.

Sebelum grafis dan animasi 3D diakselerasi oleh hardware, rendering

menggunakan perangkat lunak sudah terlebih dahulu digunakan. Metode ini masih

digunakan pada beberapa perangkat modeling atau untuk rendering gambar tidak

bergerak ketika akurasi visual atau ketajaman gambar lebih diutamakan daripada

performa real-time atau ketika perangkat lunak komputer tidak memenuhi

spesifikasi yang dibutuhkan seperti dukungan shader atau pada kasus Windows

Vista, dukungan untuk Direct3D 10.

Penelitian yang akan dilakukan memanfaatkan kehandalan dan kemudahan

teknik pemrograman dari 3DState Game Engine untuk memvisualisasikan data-

data informasi keadaan objek yang diterima oleh program melalui serial port

dalam bentuk gambar 3D.

6. Penelitian

6.1 Perancangan Sistem

Software yang akan dikembangkan dalam penelitian ini dibagi menjadi

beberapa bagian. Bagian utama software ini adalah 3D model renderer yang akan

menampilkan gambar objek dalam bentuk 3D dan menggerakannya berdasarkan

informasi data yang diperoleh dari sensor. Software yang akan dikembangkan juga

memiliki kemampuan untuk membaca file yang berisi data-data sensor yang telah

direkam sehingga software memiliki kemampuan reka ulang gerakan dan keadaan

Page 14: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

objek. Secara garis besar, bagian-bagian utama dari tampilan software yang akan

dikembangkan adalah sebagai berikut.

Gambar 5. Rancangan antar-muka software

1. Bagian Konfigurasi

Bagian ini berisi semua konfigurasi software seperti konfigurasi mode

pembacaan data untuk membaca data langsung dari serial port (online), yang

ditunjukkan pada (Gambar 5) poin 1 atau membaca data dari file (offline) yang

ditunjukkan pada (Gambar 5) poin 2, konfigurasi penanda field yang digunakan,

ditunjukkan oleh (Gambar 5) poin 3, konfigurasi channel-channel yang

digunakan oleh sensor (Gambar 5) poin 4, 5 dan 6 dan konfigurasi model 3D

yang akan ditampilkan pada jendela penampil model 3D (Gambar 5) poin 7.

Software ini juga dilengkapi dengan tombol-tombol untuk mengatur sistem kerja

software yang ditunjukkan oleh (Gambar 5) poin 8. Tombol tersebut terdiri dari

tombol start untuk memulai software membaca data dan menampilkan objek 3D

dan membuat plot grafik data sensor pada bagian penampil, tombol stop

berfungsi untuk menghentikan semua event yang telah dibangkitkan oleh tombol

start, tombol reset untuk menormalkan kembali kondisi dan lokasi model objek

Page 15: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

pada tempat semula, tombol help untuk panduan penggunaan dan konfigurasi

software dan tombol exit untuk menutup program.

2. Bagian Penampil

Bagian penampil dibagi oleh beberapa tab yang terpisah (Gambar 5) poin

9. Penampil model 3D akan menempati tab 1, tab 2 akan diisi dengan bentuk

visual dan plot dan visualisasi data giroskop dan tab 3 berisi plot data dari

sensor-sensor yang lain.

Program yang akan dikembangkan dalam penelitian ini memanfaatkan antar-

muka serial port sebagai gerbang dengan dunia luar. Program ini memperoleh

data-data informasi tentang keadaan objek melalui port ini, karena data yang

ditransmisikan melalui port ini berupa data serial, maka dirancang sebuah

algoritma agar program dapat memisahkan data dari sensor satu dengan data dari

sensor yang lain.

Page 16: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

Gambar 6. Algoritma parsing data

Sebagai acuan, program yang akan dikembangkan membaca data dengan

format sebagai berikut.

$aaa,bbb,ccc,ddd,eee,fff,ggg,...

Tanda $ (dollar) merupakan penanda baris, aaa merupakan field header,

tanda , (koma) merupakan pemisah antara field-field yang berisi data dan bbb

sampai seterusnya adalah field yang berisi data sensor dengan maksimal tiga belas

field sensor. Contoh data yang mengkuti acuan tersebut adalah sebagai berikut.

$IMU,505,512,520,601,490,390

Page 17: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

Data tersebut terdiri dari tujuh field. Satu field merupakan field header dan

enam field lainnya merupakan field sensor dengan tiga digit bilangan bulat pada

setiap field sensor.

Gambar 7. Flowchart program

Program ini dimulai dari konfigurasi awal. Pengguna memilih mode

pembacaan data dari serial port atau file, konfigurasi serial port (jika

menggunakan mode pembacaan data dari serial port), konfigurasi pembatas field

yang digunakan, konfigurasi channel-channel yang digunakan sensor pada data

Page 18: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

dan konfigurasi model yang akan ditampilkan pada jendela penampil objek 3D.

Kemudian setelah tombol start ditekan, program akan memulai membaca dan

memisahkan data sensor yang terpisah oleh pembatas seperti ditunjukkan oleh

algoritma (Gambar 6). Setelah data masing-masing sensor terbaca maka program

akan mulai menggerakan objek 3D berdasarkan nilai dari masing-masing sensor

dan proses tersebut akan terus berulang sampai tombol stop ditekan.

6.2 Metodologi Penelitian

Proses pembuatan skripsi yang berjudul Perancangan perangkat lunak

berbasis 3D Game Engine untuk merepresentasikan sistem navigasi 6 DOF,

didapatkan berbagai data dan informasi yang dibutuhkan dengan berbagai metode

yaitu.

a. Studi Literatur

Studi ini digunakan untuk mempelajari literatur yang bersumber dari buku-buku,

e-book, artikel, jurnal, serta serta menemukan berbagai literatur di situs-situs

internet yang berhubungan dengan tema penelitian.

b. Wawancara

Wawancara dilakukan kepada orang-orang yang ahli di bidang INS sesuai dengan

penelitian yang sedang dilaksanakan.

c. Simulasi Sistem

Cara simulasi sistem ini didefinisikan sebagai berikut.

1. Penelaahan flowchart dan arsitektur sistem yang telah dibuat.

2. Simulasi dengan perangkat lunak yang dibuat untuk mensimulasikan input

berupa file yang berisi data sensor ke dalam aplikasi.

3. Simulasi dengan perangkat keras yaitu sebuah model payload roket yang

dilengkapi dengan sensor-sensor inersia.

d. Analisis dan simpulan

Pada bagian ini akan dilakukan proses analisis dari hasil simulasi sistem sehingga

dapat diketahui performa, kehandalan, dan keakurasian 3D Game Engine dalam

memvisualisasikan keadaan objek serta menyimpulkan hasil yang diperoleh.

Page 19: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

7. Relevansi

Penelitian ini disusun berdasarkan metodologi yang ada, yang pada

selanjutnya akan dilakukan pembuatan simulasi yang kemudian simulasi tersebut

dianalisis dan disimpulkan. Sehingga diharapkan simulasi dan analisis tersebut

dapat diaplikasikan sebagai pendukung pengembangan teknologi dibidang

pemrograman grafis maupun sistem navigasi inersia.

8. Jadwal Kegiatan

Kegiatan2010

Jul. Aug. Sept. Okt. Nov. Des.

Pencarian bahan

Penyusunan proposal

Seminar proposal

Studi literatur

Wawancara

Perancangan dan

pengembangan perangkat

lunak

Simulasi sistem, analisis dan

simpulan

Penyusunan laporan skripsi

Seminar dan sidang skripsi

Page 20: Perancangan Perangkat Lunak Berbasis 3D Game Engine Untuk Merepresentasikan Sistem Navigasi 6 DOF

9. Daftar Pustaka

Adiprawita, W., Ahmad, A.S., Sembiring, J., 2007, Development of AHRS (Attitude andHeading Reference System) for Autonomous UAV (Unmanned Aerial Vehicle),Bandung Institute of Technology, Indonesia.

Demoz, G.E., 1999, A Low-Cost GPS/Inertial Attitude Heading Reference System (AHRS)for General Aviation Applications, Stanford University, Stanford.

El-Sheimy, N., 2006, Inertial Techniques and INS/DGPS Integration, ENGO 623 CourseNotes, Department of Geomatics Engineering, The University of Calgary,Canada.

Godha, S., 2006, Performance Evaluation of Low Cost MEMS-Based IMU IntegratedWith GPS for Land Vehicle Navigation Application, MSc Thesis, Department ofGeomatics Engineering, The University of Calgary, Canada.

Kang, H.J., Nguyen, H.Q.P., Suh, Y.S., Ro, Y.S., 2009, A DCM Based OrientationEstimation Algorithm with an Inertial Measurement Unit and a MagneticCompass, Journal of Universal Computer Science Vol. 15, no. 4, 859-876.

Kong, X., 2007, Inertial Navigation System Algorithms for Low Cost IMU, MSc Thessis,Department of Mechanical and mechanical engineering, The university ofsydney, Australia.

Liu, C., Zhou, Z., Fu, X., 2008, Attitude Determination for MAVs Using a Kalman Filter,State Key Laboratory of Precision Measurement Technology and Instruments,Department of Precision Instrument and Mechanology, Thisnghua University,Beijing 100084, China.

Schulz, C.E., 2006, INS & GPS integration, MSc Thesis, Department of GeomaticsEngineering, The University of Calgary, Canada.

Sharkawi, K.H., Ujang, M.U., Abdul-Rahman, A., 2008, 3D Navigation System ForVirtual Reality Based On 3D Game Engine, Universiti Teknologi Malaysia,Malaysia.

Suh, J.S., Park, S.Y., Kang, H.J., 2006, Attitude Estimation Adaptively CompensatingExternal Acceleration, JSME International Journal, Series C 49, No 1.

Wiryadinata, R., Widada, W., 2008, Error Correction of Rate-Gyroscope Calibration forInertial Navigation System Algorithm, SITIA, Surabaya.

Wiryadinata, R., Widada, W., 2008, Simulasi Penggabungan Data pada Algoritma INSuntuk Uji Peluncuran Roket Kendali, SITIA, Surabaya.