VRSEMLAB: A LOW COST VIRTUAL REALITY SYSTEM TO ILLUSTRATE COMPLEX CONCEPTS INVOLVING SPATIAL RELATIONSHIPS

Virtual Reality (VR) is a powerful education/training tool, and its interactive immersive environment is particularly suitable for the illustration of complex concepts involving spatial relationships. Although many virtual reality applications have been developed for education and training, the wide spread use of this technology has been primarily limited by the high cost of VR systems. We have developed VRSEMLAB, a low cost VR application to teach the complex subject of semiconductor device physics to undergraduate students. VRSEMLAB demonstrates an effective method for using virtual reality to model complex 3D systems in an experimental environment free of concerns of physical safety, equipment limitations, and size limitations.


Introduction
Virtual Reality (VR) is emerging as a powerful education and training tool due to its ability to stimulate multiple senses and to provide a three dimensional, immersive and interactive experience [1][2][3][4][5].VR allows the creation of an environment which may be too expensive, too inconvenient, or too hazardous for people to interact with directly.This environment can enable a person to create and interact with systems that have no real-world analogy, or to experience people, places and things in a way which may not be physically or economically possible.When combined with valid content and sound educational techniques, VR can provide a superior learning environment resulting in improved understanding and increased knowledge retention.A typical VR system consists of (i) a computer which is the engine for VR, (ii) a display unit, (iii) an interaction device (glove), and (iv) a tracking system.The combination of these components work in synergy to create the immersive environment.
The three dimensional immersive environment of VR is especially suitable for illustrating complex concepts that involve spatial relationships, since the virtual world objects can be manipulated in a three dimensional space and viewed from multiple perspectives.The unique immersive environment of VR also provides (a) first-person experience, and (b) a sense of presence, which can significantly enhance one's understanding in a complex three dimensional space [6][7].In addition, VR has other learning attributes that are common to computer based learning systems, such as (i) co-operative learning, (ii) interactivity, (iii) self-paced learning, (iv) narrative building, (v) tailored to individual need/learning-style, and (vi) distance interactivity.
In spite of the many advantages of VR, the widespread use of this technology in education and training has been limited by the very high cost of existing VR systems (in excess of $300,000).The cost of a VR system is primarily determined by the costs of the display unit and the computer.VR systems are traditionally powered by high performance Silicon Graphics computers, which usually cost in excess of $100,000.However, for VR to find large scale applications, it is necessary to use a more prevalent and less expensive computer system.Towards this goal, we have been involved in the development of PC based VR applications with Head Mounted Display (HMD) as the immersive display device.Our experience confirms that it is possible to develop VR systems with an approximate cost of $10,000 or less that can be effectively used for widespread classroom use.To demonstrate the feasibility of low cost VR systems and their potential in education/training, we have developed the Virtual Reality Semiconductor Laboratory (VRSEMLAB) that uses a Pentium Pro 200 MHz PC as the VR engine.It is designed to aid in teaching semiconductor device physics to undergraduate college students.VRSEMLAB demonstrates an effective method for modelling abstract and complicated 3D systems.It does so by presenting semiconductor devices in an experimental environment free of concerns of electrical safety, equipment limitations, and size limitations.
The remainder of this paper is organized as follows.Section 2 provides a brief description of the system developed and the problems addressed by VRSEMLAB.Section 3 provides details of system implementation, and section 4 summarizes our observations and experiences of using VRSEMLAB.

System Description
The Virtual Reality Semiconductor Laboratory (VRSEMLAB) is a pioneer system exploring the application of VR techniques for the teaching of semiconductor device physics.VRSEMLAB was developed specifically to address the extreme difficulties undergraduate students in electrical engineering face in learning this subject.Students find it difficult to visualize the many abstract concepts involved, such as Brillouin zone, energy momentum diagrams, depletion layer formation, etc. VRSEMLAB provides the ability for the user to see the internal structures of semiconductor devices, use a glove to manipulate the virtual device, inspect it from different angles, and change the intrinsic physical parameters of the device.The interface was designed to provide the user with comprehensive, asynchronous control over the lab environment, thus allowing the user to affect the amount of material covered during a given session.
The system was designed for quick and easy setup; once the hardware is connected, the VR peripherals (HMD, VR glove, etc.) can be donned in under one minute.The HMD has 3 degrees of rotational freedom activated, and the glove has all 6 degrees-of-freedom activated.The glove is represented in the virtual environment by a hand avatar; an avatar being a graphical representation of a part of the user that actively interacts with the virtual environment.The avatar echoes onto the display the position and orientation of the user's hand in space.A Head Mounted Display provides the user with a 3D immersive environment.The user first enters a room consisting of an environment control panel, a help selection board, a w all display of numerical characteristics, and a large display of the active device/tutorial.The user receives pre-recorded instructions through the HMD's earphones.The user can interact with the environment by using the VR glove.The glove allows the user to grab and move virtual objects and has a simple gesture recognition system affording the user additional interactions in the virtual world.
VRSEMLAB is organized into several main segments.The device/tutorial section on the selection panel permits the user to select either a device model or a tutorial to run.Activating a tutorial presents the user with the option to select one of the most common semiconductor phenomena, including carrier recombination, carrier flow, punch-though breakdown, ionization breakdown, and Zener breakdown.Each tutorial consists of a detailed 3D graphical and auditory description of the designated concept.Activating the device from the selection board causes an enlarged graphical model of a PN junction diode to appear (Figure 1).The PN junction diode integrates the different tutorial concepts to show the interplay between the different phenomena.

Figure 1: VRSEMLAB Diode
A primary objective of VRSEMLAB is to relay to the user a qualitative sense of how different parameters affect the operation of the diode device.To achieve this, VRSEMLAB allows the user to change device parameters such as physical dimensions, doping levels, operating temperature, and carrier mobilities.As each of these parameters is changed, the system dynamically recalculates the new device parameters.The desired parameters are selected by the user from a control panel that lists all the adjustable device parameters (Figure 2).

Figure 2: Device Control Panel
The value of a particular parameter is changed by sliding a virtual lever up or down to increase or decrease the parameter.The calculations are based upon fundamental equations and assumptions of semiconductor behavior.Device operation is modeled over three distinct ranges: low field operation (<1kV/cm), high-field operation (1kV/cm < E < 100kV/cm), and very-high-field operation (>100kV/cm).The assumptions made in the Drude approach are used to circumvent solution of the Boltzmann transport equation.Depletion region dimensions are calculated using a solution to the Poisson equation developed by applying the depletion approximation.While device parameters are alterable, dynamic parameters, such as a fast temperature sweep, are not supported.However, device performance information is directly observable to the user by means of the 3D device model.Information is also presented in written and audio formats, depending upon user selections.
Multiple help resources are also available to the user in the form of wall displays, audio messages, and a help fairy that can be called by the user.Error and warning messages are reserved for system status information, such as an unresponsive glove, and for invalid user processes.The help panel (Figure 3) consists of information devoted to specific topics.

Figure 3: Virtual Help Panel
Exiting VRSEMLAB is straightforward from the user's standpoint.When finished with the session, the user simply removes the HMD, thus exiting the VRSEMLAB program.As an alternative escape mechanism, keyboard controls can pre-empt execution at any time.We provide two animations to provide the readers with a better feel for VRSEMLAB.The first one shows the formation of a PN junction (pn.avi, 24 seconds), and the second gives a tour of the virtual laboratory (vrworld.avi,22 seconds).We also provide a WRL file that will allow a person to move about and observe the different features in the virtual laboratory (plab.wrl).

System Implementation
During the implementation of the VRSEMLAB, the two important considerations were cost and performance.The initial version of VRSEMLAB was developed on a Pentium Pro 200 MHz PC with 128 Mbytes of RAM, which was a high end PC at the time of project initiation three years back.Although this computer provided enough speed to develop and test the system, it is not powerful enough to fully exploit all of the amenities of VRSEMLAB.It was projected at the time that when VRSEMLAB is completed, the PC technology will be advanced enough to run it fully, which has turned out to be true.The VR hardware was also selected based on the criteria of cost and performance.For the display, General Reality's Cyber-Eye Monoscopic HMD was selected.In VRSEMLAB, true stereoscopic 3D was sacrificed for performance; to simulate 3D perspectives, context clues such as depth cues were used.For the interactive device, the 5DT Glove was chosen.This interface uses optical fibers and an array of optical sensors to determine finger flexion.To track the head and hand positions, Polhemus' InsideTrack magnetic tracking system was used.
Before implementing VRSEMLAB, a considerable amount of effort was expended in refining the details of the user interface.The software for VRSEMLAB was developed in C, with the help of World ToolKit from Sense8, a comprehensive library of C functions that provides high level interfaces for many commercially available VR hardware products.The primary components of the VR software are the simulation manager and the scene-graph manager.The simulation manager maintains all of the different features of the virtual environment until execution is terminated.In the default configuration, the sensor values are read first; this allows the head and hand positions to be in the proper place in the frame currently being rendered.Next, the action function is called.The action function is the primary place for users to develop the simulation physics.After that, object and viewpoint positions are updated, and the scene is finally rendered.
A scene graph is a systematic arrangement of VR simulations to help properly illuminate, transform, and isolate simulation objects.The basic units of the scene graph are nodes that can be of several types, such as light, group, geometry, etc.The root node is the base of the scene graph to which the rest of the nodes are attached.Light nodes instruct the renderer on the lighting parameters for the simulation, and group nodes allow amalgamation of sub-groups which all relate together.The geometry nodes hold the actual geometrical data of the 3D objects, the transform nodes hold rotation and translation information for the geometries, and the separator nodes keep the effects of the transform node from propagating throughout the rest of the scene graph.
The scene-graph developed for VRSEMLAB is shown in Figure 4 on the next page.For the sake of clarity, separator, transform, and geometry nodes have been grouped into one node called a moveable node.Also, the device scene graph has been separated from the main scene-graph for clarity.The implementation of the device was done using the model discussed above.Many decisions about the actual programming of the device were made with speed in mind.As with the stereoscopy, some realism was traded-off for speed.In its current form, the diode is hard-coded into VRSEMLAB.The next step in its improvement will be to convert the code to be object oriented.This will allow more general interactions of semiconductor materials, hence the lab will no longer be limited to diodes, it will also be able to simulate transistors and other devices.

Results and Discussions
VRSEMLAB has been extensively tested and used by the developers as well as many faculty members and students at West Virginia University.We have not used VRSEMLAB in a regular class room setting yet, however, the system has been tried out by Electrical Engineering students who were taking the semiconductor device course at the time.So far, our evaluation of VRSEMLAB has been primarily qualitative based on user feedback and our observations of the users.As has been observed by other researchers, the quantitative evaluation of virtual reality teaching applications is a challenging task, and there is little consensus within the education community about assessment techniques [8][9][10].We plan to perform quantitative evaluations of VRSEMLAB when it is used in a classroom setting in the future.Towards this goal, we are currently developing an evaluation methodology for VRSEMLAB with emphasis on usability and learning effectiveness, and will use a wide variety of methods for data collection, including observation, survey, and interview methods.
Since the inception of this project, much has been learned which would contribute significantly towards the maturation of VRSEMLAB.We have discovered that the gesture recognition based movement and interaction in a virtual environment is difficult to use and difficult to implement.Although the VR glove provided adequate and relatively stable feedback, there were additional complications, the most significant of which perhaps was calibration.The glove is designed to be "one size fits all," and while this is true, different results were obtained for people with considerably different hand sizes.Coordination and strain proved to be another difficulty of gesture-based interaction.
Another problem with the glove interface was the overall system speed.Virtual movements did not closely parallel actual movements, so users had a tendency to overcompensate hand movement and miss the various "targets" which caused frustration.Furthermore, the system would occasionally perform an action not intended by the user.Also, gesture-based interactions made some users self-conscious and uncomfortable.We are currently working towards rectifying these problems by using a "laser pointer" type device with an identify button for help and an activate button that would replace touch.
A main problem with VRSEMLAB was its speed, which we had anticipated before.After the semiconductor device was activated, and steady state was reached, the frame rate of the system was approximately 1.5fps, which is a factor of 10 less than the desired speed of 15pfs.We are currently working towards increasing the frame speed for the application.We had installed VRSEMLAB (without modifications) a Pentium III 550 MHz PC, and the frame increased to 4.5fps.This is encouraging since we believe that the application speed can be increased considerably by optimizing program execution.We are currently pursuing it through different avenues, including the use of a second processor to perform the program calculations.
A great success of VRSEMLAB was the operation of the virtual diode, which performed extremely well and almost mirrored an actual device.Parameters of the device and its operation, such as ambient temperature, bias voltage, carrier density, carrier mobility, etc., could be changed while the device was active, and the software dynamically updated the parameters of device operation.We are currently working towards porting this device to an object oriented implementation, which will extend the ability of VRSEMLAB to demonstrate additional devices, such as a transistor.We also found many of the interactive gadgets developed for VRSEMLAB to be quite successful.The "slider" device control panel provided excellent control over selecting the desired value and was very user-friendly.The customizable wall display was another useful development since it allowed the users to choose the data they wanted to observe.This display, used in conjunction with the slider, allowed the users to see the affects of different parameters on device operation as their values were changed.