10

Virtual Reality

Brandon Lambert

Software Engineering

University of Wisconsin-Platteville

Abstract

Virtual reality is a technology that immerses the user in a virtual environment and stimulates the senses of the user. Virtual reality was conceptualized in the 1960s and has grown from developments in many industries. There are two main types of virtual reality, and one type, Desktop Virtual Reality, is used by the majority of the population nearly every day. The less-common form of virtual reality is immersive, and it is mostly used in industry due to the large cost of the systems. Immersive systems have two common setups: CAVE systems and HMD systems. CAVE setups differ from HMD setups by using projectors instead of a head mounted displays. The development of software in virtual environments is challenging because of the wide range of applications using virtual reality. This paper looks at the components of CAVE and HMD systems, the software development challenges found with the systems, and the applications of virtual reality in the world today.

Introduction

Virtual Reality is defined as a computer generated simulation that enables people to interact with visual and sensory three-dimensional objects or environments through the use of computer modeling [1]. With technology continually improving, virtual reality is becoming more affordable and is used on a daily basis. The classic depiction of virtual reality is of an individual wearing a head mounted display that simulates a virtual environment for the wearer. Today this depiction represents only one type of virtual reality, and the majority of the population uses another form every day without realizing it.

Types of Virtual Reality

There are two distinct types of virtual reality used today: Desktop Virtual Reality and Immersive Virtual Reality. Desktop Virtual Reality is commonly used on our desktop computers, laptops, and gaming consoles, where the computer does not immerse the user in a three-dimensional environment. Some of the input devices that can be used in desktop virtual reality are computer mice, keyboards, joysticks and game controllers [2]. Also, Desktop Virtual Reality has little overhead cost compared to Immersive Virtual Reality.

Immersive Virtual Reality is the classic depiction of an individual wearing a head mounted display, enabling the individual to physically walk and interact with the virtual environment. Immersive virtual reality is more complex, but provides the user with more realistic simulations [2]. Immersive environments require additional hardware and computer systems to create, and they use far more input devices than desktop virtual reality does. The hardware, software, and motion tracking system of an immersive virtual reality environment in industry can easily amount to hundreds of thousands of dollars [3].

History of Virtual Reality

The first concepts of virtual reality go back to the 1960s. One important individual was Ivan Sutherland, who published an article in 1965 titled The Ultimate Display. In this article, Ivan discussed the current trends in the computer graphics industry. He also described a kinesthetic display that would stimulate human senses with a computer controlled the environment. With a display like this, Ivan believed it would be possible to simulate things that happened in the real world as well. Additionally, the display could model things that are not possible in real life, like modeling an object with a negative mass [5]. This article contained some of the first concepts that led to the creation of modern virtual reality today. Ivan later went on to become a pioneer in computer graphics, three-dimensional modeling, and virtual reality [4].

In 1982, the movie Tron was released. This was first movie that heavily used computer-generated imagery (CGI) in its production. Although the movie was not a huge success at the time due to time delays and other movie releases, this opened the door for CGI in the entertainment industry [7].

In 1983, the first widely used data glove, designed by Dr. G. Grimes, was patented by Bell Labs. This glove was used for measuring hand positions with the use of sensors placed on the wrist, fingers, and joints of the hand. It was thought that the glove might potentially replace a keyboard someday [6]. This initiated the development of future input devices in the virtual reality environment.

Moving forward to 1995, Silicon Graphics released Virtual Reality Modeling Language (VRML) 1.0. This language was designed to become the standard modeling language for interactive simulations on the World Wide Web. This provided useful software objects that could be used for the creation of three-dimensional graphics on the web [8]. Today VRML version 2.0 is still used on Internet Explorer, Firefox, and Google Chrome to view files with the world extension (.wrl) [9].

This is just a brief glimpse at some of the events that contributed to modern virtual reality. Many other individuals and industry accomplishments have helped the use of virtual reality become more popular. With more sophisticated technology being developed, virtual environments are now more robust and have wide-spread use for numerous applications across many industries today.

Immersive Virtual Reality Environments

There are two main types of immersive environments: Cave Automatic Virtual Environments (CAVE) and Head Mounted Display (HMD) environments.

CAVE Systems

For CAVE virtual reality, systems generally consist of multiple computers, projectors, walls for projection, physical space for users, software to simulate and maintain the virtual environment, and input devices. The CAVE environment works by using the projectors to display the virtual objects and world on the walls of the environment. CAVEs use three to six walls for the projectors. A fully enclosed environment has images displayed on each wall, the floor, and the ceiling of the room. The users wear a set of three-dimensional glasses that allow them to see the images displayed on the walls in three-dimensional form. To increase the number of pixels, multiple projectors can be used on each wall. With this system, it appears to the user as if they are in the environment and this allows the user to walk through the environment examining the objects [10].

From a high level perspective, a CAVE system will use software to operate the projectors, run the simulation, capture motion, and manage the virtual models. Additionally data acquisition software may be needed to read signals from input devices such as joysticks, pedals, or steering wheels. The software systems collaborate together to produce and maintain the virtual environment. The software generally needs to run across multiple computers during operation in industry.

With the use of input devices the user is able to interact with the objects within the CAVE system. There are many possibilities for input devices such as game controllers, joysticks, real vehicle components, and other controls. The motion tracking system is also one of the input devices. These devices will send out signals and data to the computers running the simulation to determine what interactions are taking place in the virtual world. Depending on the software, interactions may or may not include collision detection.

HMD Systems

HMD environments mostly consist of the same components found in a CAVE system with a few distinct differences. An HMD setup generally consists of computers, a motion tracking system, one or more head mounted displays, a physical space for users, software for simulating the virtual world, and various input devices.

Like a CAVE, HMD setups use a motion tracking system to track the user and other physical objects in the environment. The three typical types of systems are optical (cameras), magnetic (sensors), and electro mechanical (sensor suits) motion capture systems [11]. The best motion capture system for a virtual reality environment depends on the applications being performed. An example of an optical system will be explained in further detail.

The input devices for an HMD setup can be the same as a CAVE, except there will be at least one HMD. HMDs project the virtual world to the user through the screens on the HMD. Unlike a CAVE, the HMD will block the user’s view with the screens placed in front of their eyes. This allows the user to see objects more solidly, whereas in a cave a user may see another person in the real world standing in the middle of a virtual object they are trying to look at. On stereo HMDs the user is shown images for the right and left eye separately and simultaneously to create the illusion of seeing in three-dimensions. This is the same technique used in a theater with three-dimensional glasses.

The viewing angle provided by an HMD is the field of view. The larger the field of view, the more immersive the experience and the less distracted users will be by real world objects. However, having a larger field of view can sometimes reduce the quality of the experience by increasing the graphical processing required.

Software Used in Virtual Reality

This next section will discuss some possible software products that are used in immersive virtual reality environments. Examples of software for the motion capture system and simulation of models are discussed.

Vicon Bonita Motion Capture System

Picking the motion capture system is an important step in creating a virtual reality environment. This system is responsible for tracking the movement of objects in the environment and providing reliable data based on the movements. Also, the system must integrate well with the other software running in the virtual environment. Vicon is one industry leader in the development of motion capture and analysis. Vicon’s Bonita Optical Camera System is one example of a motion capture system available in the market today.

Optical motion capture systems can track objects by placing markers on the objects in the environment. These markers are coated with a reflective covering that reflects the infrared light back to the Vicon cameras. This allows the markers to be tracked. A tracked object is a real world object with the reflective markers placed on it. Adding new objects to the virtual environment requires little work with Vicon’s tracking software. To create a new object, one attaches markers to the new object and saves the marker configuration in Vicon. Vicon’s Bonita cameras use the saved marker placement configurations to differentiate between different objects in the environment. Sometimes other objects may have reflective surfaces that reflect as well. This causes issues with object orientation during simulations, but can be handled during system calibration with the use of masking technology to hide the unwanted reflective surfaces.

The Vicon Bonita system runs using a Power over Ethernet (PoE) connection, meaning the camera system transmits the data collected through a system of Ethernet cables on a local area network (LAN) into the computer [12]. This allows for very easy setup and teardown in the virtual environment; the cameras can be moved or positioned differently without a lot of hassle. Camera mobility is needed for situations where an application is capturing the user’s motion inside a machine.

One great aspect of the Vicon cameras is that Vicon has a Software Development Kit (SDK) available with their product. The Vicon DataStream SDK 1.2 and Virtual Vicon System 1.2 are available to use with C++, .NET, and MATLAB applications on Windows or Linux operating systems. From a software development stand-point, Vicon’s camera system provides a lot of potential for integration with the other software in a virtual reality environment. A virtual reality system has many applications, and it is important to have SDKs to help facilitate integration between applications. The SDK allows software developers to create custom applications that can use the Vicon camera system in their applications. By doing this, Vicon addresses the evolving needs of their customers by providing this SDK with their product, which is essential in a virtual reality environment [13].

Simulation Software

Simulation software maintains the virtual world and facilitates the interactions between the real world user and virtual environment. Depending on the industry, the virtual environment may need to simulate vehicle dynamics and collision detection. Examples of simulation software products available today are Vortex and Vega Prime. Both software products are developed by Presagis, a leading developer of commercial off the shelf (COTS) products for modeling, simulation, and embedded graphics [14].

Vega Prime is used to create real-time, three-dimensional simulation applications, and is platform independent. Additionally, Vega Prime comes with a Lynx interface that allows the user to make changes to simulations in real-time. Also, there is an Application Programming Interface (API) available for Vega Prime [15]. Using the Lynx interface is very straight forward for the user and uses basic data field entries to set the constraints of objects in the simulations. When more custom applications are needed, the API is better suited to handle the applications. The API provides the same features that the Lynx interface does, but they must be performed programmatically.

Vortex is the physics package for Vega Prime, and it allows for simulating physically accurate machines. This allows the user to control numerous factors on the machines such as the gears, engine, transmission, traction, collision detection, and other vehicle dynamics [16]. These settings can be maintained in Lynx or performed programmatically as well depending on the user’s preferences.