VIRTUAL HELICOPTER SIMULATION

by

-GORAN ALEKSIC-

Goal:

   Ever since the invention and introduction of the first helicopters, opportunity to ride on, or fly one of these magnificent gravity defying machines has been privilege of those with pockets deep enough, or for whom flying helicopter constitutes part of their job requirements. Furthermore, flying on certain types of helicopters, such are military ones, requires one to be both physically and mentally fit for challenges imposed during complex and dangerous maneuvers these machines are capable off, thus making experience of flying on helicopter even more inaccessible.  Virtual Helicopter Simulation was thus created and designed for sole purpose of simulating visually immersive helicopter ride experience on a PC without having to fulfill any of the above mentioned requirements, consequently making such experience both easily  available and free of charge.  Beside being able to enjoy and experience what is like to ride on a helicopter, one has the chance to see and explore typical small helicopter base. 

World and Simulation Description:

   Virtual Helicopter Simulation consists of two helicopters, helicopter base building, two hangars, several elevation grids depicting hills, and number of trees surrounding the base and hills. As the helicopters represent the simulation segment of greatest importance they were to be designed and replicated with as much care, detail and effort possible. Initially, my goal was to replicate, as close as possible, US made military AH-64 Apache Longbow helicopter, but halfway through changed my mind and decided to replicate Russian made ground attack Ka-50 Hokum helicopter. Consequently, the end product ,while unique exterior wise, looks rather like a hybrid of the two. Parts of the helicopter that are reminiscent of Apache are certainly nose radar, four winged main rotor together with large Longbow radar, under-wing multiple rocket launchers and tail rotor. On the other hand, nose, side wings and engines, cabin, and 3-nozzle rotary machine gun were modeled after Ka-50 Hokum. Unfortunately, constant lack of time, which was due to the preparation for final exams, prevented me from incorporating some more detail into helicopter overall look and appearance, in particular into the interior of cockpit.  As pointed above, there are  two helicopters in simulation each having different purpose. One helicopter is programmed to depart on a short flight in regular time intervals, while the other is positioned on the tarmac in front of it's hangar where it can be observed in greater detail.

      Next to the helicopters, visually second most dominating object in the scene is helicopter base building. It is one level building consisting of several rooms of various purposes: radar and control room, mission planning and briefing room and sleeping room. These are the typical premises found in most of the helicopter bases. Interior of these rooms is filled with various furniture and electronic equipment such are: tables, chairs, radars, flight control displays, beds, ceiling neon lights, projection panels, maps and spiral stairs. There are also two entrances into the building, one via front sliding doors, and the other via opening in the roof which serves as passage to the roof helipad. It is this helipad which serves as take off and landing site for one of the helicopters. Next to the helipad, building also incorporates typical tall red-white radar tower.

   To bring scene closer to reality I also added two camouflaged hangars and simple wall that encircles the base. Surrounding the base, there are large number of trees and few hills.  

 Programming Tools and Techniques: 

     Programming tool used to create this simulation is VRML 2.0 . It incorporates Extrusion node (object) which allows one to create complex 3-D shapes by extruding 2-D shape along specified 3d line. Extrusions were my main weapon used to design most of the objects in the scene. My first intention was to design helicopters using Index Face Node, but after several attempts to implement glass cover on the cockpit I had to desert this technique as it was time consuming and very inflexible.  Extrusions appeared to be pure contrast as they allow for quick object shape specification and if necessary changes can be easily introduced later on. Next comes Texture node, which was used for simulation of surface shape, and coloring on various objects such are: hills, ground, tarmac, building floors, radar and flight control displays, map and projection panels, etc. Tree objects appearing in the simulation were implemented using background transparent images of 3 types of trees, overlaid on top of Billboard nodes. For the purpose of hills creation natural choice was Elevation Grid node, overlaid with best, free off charge I could found on the web, hill textures.

When it came to the  programming of the helicopter fight path I was presented with two choices: hardcode the path using Orientation and Rotation Interpolator or, program the path using java-script. In the view of the time element, I was forced to hardcode the path. While less flexible this approach was faster to implement, although it took some time to tune up orientation of the helicopter during turning maneuvers. As with actual calculation of the interpolation points along the path, those involved only rather simple use of trigonometry.

Use and navigation directions:

    Rides starts from helipad, and helicopter than flies above and in between hills performing several sharp turning maneuvers. Just before the end of the ride, while approaching the landing site, helicopter performs spectacular 360 degree roll about z axis. Rides last between 20 and 25 seconds, and are followed by 10 second brake. There are two view points in the simulation. At any time during simulation user can switch between view from the helicopter cabin to the general world view, or vice versa. Desired view point can be selected from view point selection menu. 

Finally, navigation trough the world can be done either using standard PC mouse, or 5DT glove.  5DT glove is used in following way

- Forward motion: keep index finger straight with rest of the fingers bent into fist.

- Backward motion: keep pinkie straight with rest of the fingers bent into fist.

- Rotation about vertical Y-axis: rotate palm around arm axis 

- Upward or Downward motion: bend palm up or down

MINIMUM REQUIREMENTS:

Hardware: 500 MHZ Processor, 64 MB RAM, 8 MB Video Ram.

Software: VRML Viewer plug-in for Internet Explorer. I suggest Cortona VRML Client, as it was used during simulation development. Cortona VRML Client can be downloaded from:

www.parallelgraphics.com

NOTE: Since textures were extensively used in the simulation, download time for simulation is rather large, therefore one should allow minute or two for simulation to load.