Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan MATLAB
Singgih S. Wibowo Dosen Jurusan Teknik Mesin Politeknik Negeri Bandung
[email protected] [email protected]
Abstrak Hasil simulasi dari suatu sistem dinamis umumnya disajikan dalam bentuk kurva dan tabel. Kedua bentuk penyajian ini merupakan cara umum yang sering dipakai dan dikenal sejak kurun waktu yang lama. Penyajian lain yang cukup baru adalah dengan menggunakan sistem gambar 3 Dimensi (3D) dinamis. Penggambaran 3D dinamis ini disebut Virtual Reality (VR) yang merupakan tingkat tertinggi dari tampilan grafis. Virtual Reality memiliki keunggulan menampilkan bentuk nyata dari sistem dan pergerakannya seperti pada dunia nyata sehingga menjadi sarana yang paling baik untuk memberikan informasi tentang gerak sistem yang disimulasikan. Tulisan ini menyajikan contohcontoh penggunaan virtual reality dalam menampilkan gerak dinamis dari suatu simulasi real-time dan perbandingannya dengan metode grafis dan tabel. Gerak dinamis dan simulasi dibuat menggunakan MATLAB/Simulink berikut penyajian hasilnya. Hasil perbandingan yang diperoleh menunjukkan bahwa penyajian menggunakan VR memiliki keunggulan dibandingkan bentuk kurva dan tabel. Kata kunci : simulasi real-time, virtual reality, model simulink
Daftar Istilah
, , , , , , , , ,
Matrik transformasi dari koordinat horison lokal menjadi koordinat VR Tinggi terbang Kecepatan translasi pada koordinat benda Koordinate benda Koordinat VR Koordinat horison lokal Sudut serang, sudut samping Kecepatan sudut pada koordinat benda Sudut Euler 1
Pendahuluan
Virtual reality (VR) toolbox adalah suatu fasilitas di dalam MATLAB untuk menampilkan gerak dalam dunia maya Tiga Dimensi (3D) dengan tingkat kemiripan dengan dunia nyata yang tinggi. Dalam paper ini, toolbox tersebut akan dipaparkan dan dibahas penggunaannya dalam beberapa aplikasi.
Sebelum menelaah VR lebih lanjut, pengetahuan dasar tentang VR akan dibahas lebih dulu. Hal terpenting dari VR adalah bahasa yang digunakan yaitu VRML (Virtual Reality Modeling Language), atau dikenal juga sebagai Virtual Reality Modeling Markup Language. Bahasa VRML merupakan bahasa dengan stadar ISO yang open-source, berbasis text, dan menggunakan format web. VRML dapat digunakan untuk mendefiniskan dunia maya yang dapat ditampilkan dalam web-browser dan dihubungkan dengan Simulink. Toolbox VR menggunakan bahasa VRML97, yaitu VRML yang distandarkan pada tahun 1997 melalui ISO/IEC 147721:1997. Untuk selanjutnya, penggunaan kata VRML akan mengacu pada VRML97 tersebut. Format VRML ini meliputi deskripsi lingkungan 3D, suara, aksi internal, dan petunjuk web [4]. Koordinat VRML menggunakan aturan tangan kanan. Ini dapat dijelaskan sebagai berikut: tahan ibu jari, telunjuk dan jari tengah pada tangan kanan sehingga membentuk siku-siku. Ibu jari menyatakan sumbu-z, telunjuk menyatakan sumbu-x, dan jari tengah menyatakan sumbu-y seperti tampak pada Gambar 1.
Unit pengukuran – semua besaran panjang dan jarak dalam VRML dinyatakan dalam satuan meter, sedangkan sudut dalam satuan radian. 2
Gambar 1 Koordinat aturan tangan kanan
Koordinat VRML ini berbeda dengan koordinat benda yang digunakan oleh MATLAB. VRML menggunakan koordinat yang mana sumbu z keluar dari bidang layar komputer, sumbu y ke atas bidang layar, dan sumbu x ke kanan layar, lihat Gambar 2. Hal ini penting diperhatikan agar penggunaan VR untuk visualisasi gerak dapat dilakukan dengan benar.
Prinsip dan Prosedur Penggunaan Virtual Reality
Penyajian gerak dalam VR memiliki dua hal prinsip yaitu gerak translasi dan rotasi. Kedua gerak ini dapat ditampilkan dengan memasukkan nilai posisi dan sudut benda pada waktu terkini. Semua nilai ini harus dinyatakan dalam koordinat VR, sementara nilai posisi dan sudut benda dinyatakan dalam koordinat benda. Itu sebabnya diperlukan transformasi dari koordinat benda menjadi koordinat VR.
(1)
Dimana adalah matriks transformasi dari koordinat horison lokal menjadi koordinat VR, yang memilik harga berikut 1 0 0
Gambar 2 Koordinat VRML (VR)
Bebarapa parameter yang lain yang perlu diperhatikan adalah sudut rotasi, objek turunan, dan unit pengukuran yang dipergunakan dalam VRML.
0 0 1
0 1 0
(2)
Gambar 3 menunjukkan tampilan toolbox Virtual Reality yang tersedia dalam browser Simulink. Di dalamnya terdapat enam blok, yaitu: Joystick input, Magellan space mouse, VR placeholder, VR signal expander, VR sink and VR Source.
Sudut rotasi – dalam VRML, sudut rotasi didefinisikan dengan aturan tangan kanan. Hal ini dapat dijelaskan sebagai berikut: genggam tangan kanan sambil mengangkat jempol. Jika dilihat dari arah jempol, maka keempat jari lainnya membentuk lingkaran dengan arah berlawanan putaran jarum jam. Jempol menyatakan sumbu putaran, sedangkan arah keempat jari lain menyatakan arah sudut rotasi. Objek turunan – Dalam struktur bertingkat VRML, posisi dan sikap objek turunan ditentukan relatif terhadapa objek induknya. Objek induk memiliki ruang koordinatnya sendiri yang didefiniskan oleh posisi dan sikapnya sendiri. Gerak objek induk akan menggerakkan juga objek turunannya.
Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan Matlab
Halaman 2 dari 8
Dunia maya VR dapat dibuat menggunakan program VRealm Builder yang tersedia dalam MATLAB atau dengan program CAD seperti AutoCAD dan CATIA. Dunia maya ini harus didefiniskan di dalam parameter VR Sink sebagai file sumber. Sebagai contoh, untuk simulasi gerak pesawat WiSE, file sumber adalah wise_CAT_C yang mendifinisikan bentuk pesawat dan dunia maya sebagai lingkungannya. Dunia maya ini akan ditampilkan dalam visualisasi seperti pada Gambar 5.
Gambar 5 Contoh Tampilan VR untuk Simulasi Pesawat
3
Gambar 3 Toolbox Virtual Reality dalam Simulink
Contoh-contoh Simulasi
Blok yang akan digunakan dalam simulasi adalah VR Sink dan Joystick Input. VR Sink adalah blok yang memiliki kegunaan menuliskan data dari model Simulink ke dalam dunia maya (VR), atau dengan kata lain, menghubungkan model Simulink dengan dunia maya. Data-data yang akan dikirim ditentukan dalam parameter yang ditampilkan oleh dialog box seperti tampak pada Gambar 4. Joystick Input adalah blok yang berguna untuk memproses data input dari perangkat keras joystik. Blok ini menyediakan interaksi yang mudah dan real-time antara model Simulink denga Joystik.
Dalam pasal ini, akan disajikan tiga contoh simulasi yang menggunakan VR sebagai alat visualisasi. Simulasi pertama adalah gerak lengan robot, simulasi kedua adalah gerak pesawat terbang, dan ketiga adalah dinamika mesin turbo jet.
Gambar 4 Parameter VR Sink
Gambar 6 Platform Simulasi Robot dengan Input Joystick
3.1
Simulasi Gerak Lengan Robot
Contoh ini akan menyajikan keunggulan penggunaan VR untuk menampilkan gerak lengan robot. Gerak robot akan diperintahkan oleh perangkat keras dari luar, yaitu joystik, untuk menunjukkan contoh simulasi real-time. Platform perangkat keras simulasi disajikan dalam Gambar 6.
Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan Matlab
Halaman 3 dari 8
3.1.1 Model Matematik Gerak Lengan Robot Persamaan gerak lengan robot merupakan persamaan linear sebagai berikut
Gambar 9. Terlihat dalam gambar tersebut bahwa subsistem ini memberikan tiga output: Axes, Buttons and Point of View. Axes
(3)
Buttons
joyinput
Point of View
Joystick Input
3.1.2
Model Simulink Lengan Robot
Gambar 9 Subsistem Input Joystick
Model skema Simulink lengan robot disajikan dalam Gambar 7, terdiri atas empat subsistem, yaitu: (1) Joystick Input, (2) Equation of Motion, (3) VR Transformer, (4) VR Sink. Tampilan VR dari simulasi ini disajikan dalam Gambar 8. HArm_VPos (m)
Axes
Axes_Input (norm)
HArm_Rot (rad) Joint_Rot (rad) LArm_Rot (rad)
joyinput Buttons
Buttons_Input (logic)
Finger_Rot (rad) VArm_Scale
Equation of Motion
? ? ? ? ?
Arm_Pos (m) Hig_Arm_Rot (rad)
Arm_Trans (m) HArm_Rots (rad) Joint_Rots (rad)
Joint_Rot (rad) LArm_Rots (rad) Low_Arm_Rot (rad) Finger_Rot (rad) VArm_Scale
LFinger_Rots (rad) RFinger_Rots (rad) VArm_Scale (norm)
VR Transformer
? ? ? ? ? ?
3 4 4 4 4 4 3
Hig_Arm_Trans.translation Hig_Arm_Rots.rotation Joints_Rots.rotation Low_Arm_Rots.rotation Finger_Rots_L.rotation Finger_Rots_R.rotation Ver_Arm.scale VR Sink
Point of View
Joystick Input
Gambar 7 Model Simulink Lengan Robot [1]
Subsistem joystick input ini akan mengidentifikasi perangkat keras joystick secara otomatis, yaitu akan menghasilkan output dan point of view secara langsung sesuai dengan kempampuan perangkat keras joystick yang terpasang di komputer. 3.2
Simulasi Gerak Pesawat Terbang
Dalam contoh berikut, simulasi yang dilakukan adalah gerak pesawat terbang WiSE (Wing in Surface Effect). Simulasi ini dilakukan dengan menggunakan parameter yang disajikan dalam Tabel 1. Parameter lain seperti data aerodinamik dan hidrodinamik diperoleh dari [2] dan [3]. Tabel 1 Parameter Simulasi Gerak Pesawat WiSE [3]
Parameter
,
Power Setting
Harga 40 7.7440 0 5 0 100 -4
Satuan Kg Kg.m2 m/s deg m % deg
Gambar 8 Tampilan VR Lengan Robot [1]
Subsistem penting dalam model ini adalah subsistem (1) yaitu input joystick. Subsistem ini menghubungkan perangkat keras joystik dengan Simulink. 3.1.3
3.2.1 Model Matematik Gerak Pesawat WiSE Persamaan gerak pesawat WiSE merupakan persamaan linear sebagai berikut
Input Joystick
Seperti telah dijelaskan pada pasal sebelumnya, input joystik menghubungkan perangkat keras josystik ke Simulink. Koneksi ini adalah koneksi real-time yang berarti bahwa sinyal input dari joystik akan seketika diterima Simulink. Subsistem ini disajikan dalam Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan Matlab
(4)
Halaman 4 dari 8
3.2.2
Model Simulink dari Gerak Pesawat LH to VR matrix [3x3]
Skema model Simulink dari gerak pesawat WiSE disajikan dalam Gambar 10. Model ini meliputi sepuluh subsistem. Subsistem ini adalah (1) 6-DOF Equations of Motion, (2) Forces & Moments, (3) Atmosphere & Gravity, (4) Control Surface, (5) Data Bus Selector, (6) VR transform, (7) VR Sink, (8) Avionic Signal Conditioning, (9) Avionic instruments and (10) Power Setting.
Matrix Multiply
<signal2>
1 (0 1 0)
X Y Z [m]
1
5
200
Motion Bus
Xo [m]
<signal3>
(1 0 0)
atan2
Angle A [rad]
25 Zo [m]
2 (0 1 0)
roll angle [rad]
6
600 Xo [m]1
(0 0 1) 3
atan2
Angle B [rad]
25 Zo [m]1
pitch angle [rad] (0 1 0) [0 -1 0]
7
1100 4
Xo [m]2
yaw angle [rad]
atan2
Angle C [rad]
25 Zo [m]2
Gambar 11 Skema Subsistem VR Transform
Subisistem (6) dan (8) adalah dua subsistem yang sangat penting untuk visualisasi, dan karenanya akan dijelaskan lebih rinci berikut ini. 3.3
Simulasi Mesin Turbojet
Pada contoh ketiga ini, ditampilkan simulasi gerak (putaran) mesin turbojet. Input dari gerak adalah seting throttle dan outputnya adalah putaran mesin yang ditampilkan dalam visualisasi VR. 3.3.1 Model Matematik Gerak Mesin Turbojet Persamaan gerak mesin turbojet merupakan persamaan linear sebagai berikut
(5) Gambar 10 Model Simulink Pesawat WiSE [1]
3.2.3
Transformasi Koordinat
Subsistem VR Transform mentranformasi koordinat horison lokal menjadi koordinat VR, atau koordinat VRML. Blok ini berisi algoritma untuk transformasi koordinat dan perhitungan sudut pengamat (viewpoint). Blok ini ditunjukkan oleh Gambar 11. Input untuk blok ini adalah data gerak, sedangkan outputnya adalah posisi pesawat, sudut roll, sudut pitch, sudut yaw dan sudut pengamat: sudut A (untuk pengamat pertama), sudut B (pengamat kedua) dan sudut C (pengamat ketiga).
3.3.2
Model Simulink dari Gerak Mesin
Skema model Simulinknya disajikan dalam Gambar 11, sedangkan tampilan VR nya disajikan dalam Gambar 12.
Gambar 12 Model Simulink Simulasi Jet Engine
Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan Matlab
Halaman 5 dari 8
Gambar 13 Tampilan VR Simulasi Turbojet
4
Hasil Simulasi
Berikut ini disajikan gambar-gambar hasil simulasi dari contoh 1, 2 dan 3. Berikut ini akan disajikan hasil simulasi gerak lengan robot. Kurva waktu dari beberapa parameter terlihat pada Gambar 14 dan Gambar 15, dan visualisasi VR ditampilkan dalam Gambar 16 dan 17.
Gambar 16 Gerak Lengan Robot dalam VR (aksi pertama)
Harm Vpos (m)
0.5
0
Harm Rot (rad)
-0.5 0
2
4
6
8
10 time (s)
12
14
16
18
20
2
4
6
8
10 time (s)
12
14
16
18
20
4
2
0 0
Gambar 17 Gerak Lengan Robot dalam VR (aksi kedua)
Joint Rot (rad)
2 0 -2 -4 0
2
4
6
8
10 time (s)
12
14
16
18
20
Larm Rot (rad)
Gambar 14 Kurva Putaran Lengan Atas dan Sambungan Lengan Robot [1]
0
Berikut ini disajikan hasil simulasi gerak Pesawat WiSE. Gambar 18 sampai 20 menyajikan kurva waktu dari parameter gerak, sedangkan Gambar 21 sampai 23 menunjukkan visualisasi VR.
-10
-20 0
2
4
6
8
10 time (s)
12
14
16
18
20
2
4
6
8
10 time (s)
12
14
16
18
20
2
4
6
8
10 time (s)
12
14
16
18
20
1
0.5
0 0
Varm Scale (normalize)
Finger Rot (rad)
Dengan membandingkan Gambar 14 sampai 17, terlihat bahwa visualisasi menggunakan VR lebih baik dibanding kurva x-y karena VR memberikan gambaran nyata situasi dan gerak benda.
2
1
0 0
Gambar 15 Putaran Lengan Bawah Robot [1]
Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan Matlab
Halaman 6 dari 8
H (m)
Motion Path 6 5 4 3 2 1 0 -1 0
25
50
75
100
125
150
175
200
225
X (m)
X (m) Horizontal Path History 250 200 150 100 50 0 0
1
2
3
4
5
6
7
8
9
10
11
12
8
9
10
11
12
H (m)
Time (s) Vertical Path History 6 5 4 3 2 1 0 -1 0
1
2
3
4
5
6
7
Time (s)
Gambar 21 Tampilan VR gerak Pesawat WiSE, dilihat dari pengamat sisi kanan
Gambar 18 Kurva Trayektori Gerak Pesawat Terbang Incidence and Attitude 20 Alpha Theta 15
10
α,θ (deg)
5
0
-5
-10
-15
-20 0
1
2
3
4
5
6
7
8
9
10
11
Time (s)
Gambar 19 Kurva Sudut Serang dan Sudut Euler [3]
Gambar 22 Tampilan VR gerak Pesawat WiSE, dilihat dari pengamatan pilot
Velocity 30
25
V (m/s)
20
15
10
5
0 0
2
4
6
8
10
Time (s)
12
Gambar 23 Tampilan VR gerak Pesawat WiSE, dilihat dari pengamat sisi kanan-depan
Gambar 20 Kurva Kecepatan [3]
Hasil simulasi contoh ketiga ditampilkan dalam Gambar 24. Pada contoh ini hanya disajikan tampilan VR nya.
Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan Matlab
Halaman 7 dari 8
Gambar 24 Tampilan VR Mesin Turbojet
Dari paparan contoh di atas, dapat dilihat bahwa visualisasi dengan VR memberikan pemahaman yang lebih baik tentang gerak. Sesorang mungkin saja tidak dapat membayangkan gerak suatu benda jika penyajiannya dalam bentuk kurva, misalnya seperti Gambar 10, tetapi dengan menggunakan VR maka gerak benda dapat langsung dilihat dan dimengerti. 5
Kesimpulan
Simulasi virtual reality telah disajikan dalam paper ini. Tiga contoh simulasi berkaitan dengan penggunaan VR telah dipaparkan. Hasil-hasil simulasi menunjukkan keunggulan penggunaan VR untuk visualisasi, yaitu memberikan nuansa nyata dari gerak benda sehingga memberikan pemahaman lebih kepada pengguna. Teknik visualisasi VR dapat digunakan untuk keperluan pendidikan dan desain dari produk misalnya pesawat terbang, robot dan kendaraan darat. 6
Daftar Pustaka
[1]
S. S. Wibowo and Hari Muhammad, Virtual Reality Visualization of Real-Time Simulation, BPPT, 2007.
[2]
S. S. Wibowo, Virtual Reality of Wing in Surface Effect Craft, Master Thesis, Aeronautics and Astronautics Department, Bandung Institute of Technology, 2004.
[3]
S. S. Wibowo, Hari Muhammad and S. D. Jenie, Simulation with Virtual Reality Visualization of Wing in Surface Effect Craft during Takeoff Maneuver, Asian Control Conference-2006, 2006.
[4]
The MathWorks Inc, Documentation, 2004.
MATLAB
7.0
Help
Visualisasi Virtual Reality Pada Simulasi Real-Time Dalam Lingkungan Matlab
Halaman 8 dari 8