Low-Cost Virtual Reality System

Transcription

Low-Cost Virtual Reality System PC-Driven VR systemTechnical Report No. CS03-17-00Kuo-Chan Peter Fangkfang@cs.uct.ac.zaFu-Yao Kevin Fengffeng@cs.uct.ac.zaKa-Man Karen Waikwai@cs.uct.ac.zaSupervised by:Prof. Edwin Blakeedwin@cs.uct.ac.zaABSTRACTI.3.6 [Computer Graphics]: Methodology and Techniques- Interaction Techniques; I.3.7 [Computer Graphics]: ThreeDimensional Graphics and Realism - Virtual RealityThe concept of Virtual Reality has been around since early1960s, but the availability and development of Virtual Reality systems were largely limited due to its nature of highcost and difficulty in maintenance. Until recently, thanksto the fast development of the modern technology, the ideaof building Virtual Reality system using commodity-off-theshelf hardware became feasible. By using Personal Computers, we have in this project developed a Low-Cost Distributed Virtual Reality system that is much cheaper, easierto maintain and mobile. In this project, the design of stereovision, corner projection and distributed architecture hadbeen discussed and applied in the implementation of the Virtual Reality system. User experiment had been conducted.The aim of the user experiment is to test the system forpresence level, Slater, Usoh and Steed (SUS) questionnairewas used as an indication to the level of presence. Furthermore, network performance related to scene complexities were also evaluated. From these experiment, we havefound that the Virtual Reality system developed creates agood level of presence to the participants and scene complexity would influence the roundtrip time of the network.Lastly, this paper concludes by discussing why the Low-CostVirtual Reality system developed to be an effective VirtualReality system.KeywordsCorner projection, distributed, Virtual Reality1.INTRODUCTIONVirtual Reality (VR) is an emerging technology in computer visualization, but its development and availability waslargely limited by its high cost in equipment and maintenance. With the fast development in technology in recentyears, commodity-off-the-shelf hardware is capable of producing real-time rendering [6] of highly complex scenes whilekeeping the price within a range acceptable to average researcher and even home hobbyist.Thus the idea of building distributed VR (DVR) system withcommodity-off-the-shelf hardware becomes feasible. Thistype of system offers good performance in DVR and keepsthe price at an acceptable range. In this paper, we will discuss how we have developed such a Low-Cost DVR systemin detail. In order to measure the success of our implementaion, we performed a comparative study on the presencelevel between the DVR system and a single display system,as well as evaluation of network performance.Categories and Subject Descriptors Permission to make digital or hard copies of all or part ofthis work for personal or classroom use is granted without feeprovided that copies are not made or distributed for profitor commercial advantage and that copies bear this noticeand the full citation on the first page. To copy otherwise,or republish, to post on servers or to redistribute to listsrequires prior specific permission and/or a fee.2.BACKGROUNDVirtual Reality is a system that models the real world whereit is aiming to fool a human being into believing that he orshe is physically located in a synthetically generated environment. In a perfect implementation of such system, ause would not be able to distinguish the virtual world fromthe real one. The virtual environment (environment createdin the virtual reality system) can be very useful, especiallywhen used in simulating expensive, difficult or even dangerous tasks [3]. Since the virtual environment need not obeythe physics law and gravity, some impossible tasks can evenbe performed in the scene. Another important aspect of virtual reality is that it is possible for more than two partiesto work collaboratively [2] in a virtual environment wherethey could be physically thousands of miles apart from eachother.1

There is no single way of constructing virtual environment,but the basic design of the technique is to simulate the human visual system, thus the environment created can be”life-like”. In this background study, the method of howvirtual environment can be constructed and different approaches used by various researchers around the world willbe studied.2.1support and especially designed to deal with low bandwidth,high latency and intermittent packet loss. It classifies datainto different categories according to their delivery requirements: Non-guaranteed data, Guaranteed data, Most recentstate data and Guaranteed Quickest data.Although Torque Game Engine employs Client-Server network model, it can also be applied in peer-to-peer or multiserver architectures, due to its flexible network model.Generating Virtual EnvironmentHuman has a extremely wide horizontal viewing angle, buta narrower vertical viewing angle. This means that we cansense objects better when it is beside us than when it is ontop or below us. Thus the idea is to create a panoramic viewthat fills the horizontal view of human.2.1.12.2Cave Automatic Virtual EnvironmentT M(CAVET M )CAVE was first demonstrated in 1992 at SIGGRAPH byElectronic Visualization Laboratory (EVL), University ofIllinois at Chicago. The people involved in the project wereCarolina Cruz-Neira, Dan Sandim and Tom DeFanti[1], alongwith other students and staff of EVL. It was the first projected, immersive display.Corner ProjectionA larger screen allows more information to be displayed andprovides better navigability. It is also often stated that widescreen helps the user to be immersed in the virtual environment. Ronald Arsenaault and Colin Ware [7], in their research carried out in University of New Hampshire, pointedout that human’s ability to resolve details falls off in theperiphery of the visual field, so a wide screen does not necessary provide more amount of information to the perception. When the object that the user is searching for is morethan 20 degrees away from the center of vision, the headmovement will precede the eye movement.Figure 1: The look and setup of CAVEThus, in order to achieve the goal of having wide screen toimprove the feel for immerse and at the same time, free theuser from head movement, a technique called Corner Projection can be used. Corner projection uses two projectorswhere each projector will project onto one side of a corner.The user will then stand in front of the corner (withoutblocking the projection), and feel being surrounded by thepanoramic view of the scene. In this type of projection,any point of the projection on the wall is about the samedistance, where in contrast to the normal panoramic viewwhere the edge is further to the user than the center, theuser would have to turn his/her head when searching forcertain object on the screen.2.1.2The following are some of the specification:Projection: Rear projectionNumber of screens: 4 (front, left, right, bottom)Type of stereo projection: Active stereoSize of theatre: 3m X 3m X 3mMotion tracking: Electro-magnetic tracking enabledAudio: Surround soundRender backend: SGI Reality EngineProjector: Electrohome Marquis 8000 @ 1024X768, 96 HzThey used four screens to surround the viewer where eachscreen has its own projector. The graphics workstation, SGIReality Engine, is responsible for outputting the variousvideo streams. The result of the system was spectacular.It well served as the prototype of virtual reality system.Torque Game EngineTorque Game Engine is a rendering engine developed byGarageGames [4]. It uses C programming language andfeatured with scripting language which is also C-like. Theengine was developed specifically for First Person Shooter1(FPS) game, but can also be used for developing other typeof games.2.3Network TopologyThe network architecture of PC-driven DVR system describes how hosts are connected. The design of the distributed topology depends on the number of participantsexpected in the environment, the amount and the form ofdata being shared. In PC-driven DVR system, all machinesare connected in a shared centralized manner.Most of the known VR rendering engine does not have goodsupport for network, while most of the game rendering engine in the industry, although provide good support for networking, has no features required for VR rendering purposes.In this project, Torque Game Engine will be used as the rendering back end for the virtual environment, those featuresthat are required for VR will be implemented to the engine.The network model of Torque Game Engine is an exampleof a Client-Server [4] connection model. It has multi-playersIn shared centralized model, all shared data is stored on acentral server (Figure 2). There is no direct communicationbetween clients. Only one client can modify the database ata time. The advantages and disadvantages of the centralizedmodel is summarized:Advantages:1A type of shooting game which is played in first personperspective.1. Simplifies the management of multiple clients, espe2

cially in situations where strict concurrency and consistency controls are required.information. Thus in the virtual environment component,one PC (server) is responsible for the logic (control) and theother two for outputs (display client). Each of the displayclient then generates a half of the corner projection whichthen combined to be a panoramic view. Via the projectionsystem, we project each half of the panoramic view to onecorner of the wall, thus we created corner projection system. Lastly, placing all the components into a dark room ofsuitable size, we reached our aim of building mini Cave.2. Allows server to process messages before propagatingthem to other clients culling, augmenting or alteringthe messages.Disadvantages:Figure 3 shows the general diagrammatic view of the VRsystem.1. As an intermediary role for data delivery, additionallag can be introduced.2. If the central server fails, none of the connected clientscan interact with each other.Despite these disadvantages, this architecture is still usefulfor supporting small group of collaborators. VISTEL [5] isan example that used this approach.Figure 3: System overview of PC-Based VRFrom Figure 3, we derived the design how data should beflowed in the system. Since server is the component withdirect user interaction, it is the component that passes datato other components, i.e. display clients. Thus, the serverwill pass the data to both display clients, where each displayclient, by using the received data, generate the responsiblehalf of the panoramic view.Figure 2: Shared Centralized Model2.4SummaryIn this section, some of the concepts in designing DVR system were presented as well as the corner projection systems.Corner projection is about creating panoramic view by projecting onto a corner.3.2An example of the VR systems that implemented by thecurrent industry was discussed. CAVET M serves as a guideline to the design and implementation of the VR system inthis project.3.DESIGNIn this section, the design of the PC-driven DVR systemswill be discussed. For this project, one important issue is tomake all the individual components to work together as acomplete unit. These components are hardware and software components, consisting of virtual environment, distributed architecture, projection system and mini cave. Eachof the components will be discussed in detail.3.1Virtual environmentIn the system, a game engine called Torque Game Engine[4]was be used. Torque Game Engine is written for First Person Shooter (FPS) game development, thus it suits our needin developing a DVR system to be interacted in first personperspective. Torque itself is a self-contained developmentplatform, so the major issue in developing software for thisDVR system was to get familiar with the Application Programmers’s Interface (API) and alter the demo game codethat came with the engine to the way we need it to be.3.3Distributed Network modelFor corner projection to be possible, a distributed network(client-server) architecture must be designed. This is because the server need to pass information to the displayclient, so the display clients can generate the desired panoramicviews from the perspective of the server.System overviewThe main idea for the design of the DVR system was tomake use of a network of three PC’s as the system for generating virtual environment. The virtual environment runningon the system uses distributed network model to exchange3.3.1ArchitectureThe system can be divided into three components:3

3.5 Two computers running act as client were used for corner projections. Each of these clients can be regardedas a transparent player which has the same view as thecontrol player.Mini CaveA separate dark room was chosen to construct the miniCAVE. One corner of this dark room was used for the projection. A computer running both clients and server is usedto capture inputs from user as well as controlling themovements of the other clients. In fact, every time thecontrol player moves, server also updates its positionto the other two clients so that they have the samecamera view as the user.Thus the basic idea is that the server being in control of theposition of the clients by updating their position constantly.3.3.2SynchronizationFigure 5: The setup of the mini CAVEFigure 4 illustrates how synchronization of movement is donein PC-based VR system. The server is responsible for synchronizing players’ movement. Client’s movement is controlled by a ”movement handler” function in the script.When that function is invoked by client, it informs the serverwhich updates the position of the other clients to the position of the server.Figure 5 shows how the projectors were positioned. Themark ”X” in the figure depict the position where the userstand when using the system. The position of the mark Xwill be such that the user is aligned to the outer edges ofboth the projected screens, so the projected screens can fillthe horizontal viewing angle of the user as much as possible.4. IMPLEMENTATION4.1 Virtual environmentThe design for the VR system is to have the server andclients exist in the same virtual environment where serverconstantly updates information to the clients. Thus TorqueGame Engine (TGE) was modified to run multi-player modeon Local Area Network (LAN), which originally was onlyenabled if Internet connection exists. In the multi-playergame, server is the player controlled by the user, and thedisplay PC joins the network game as client.The Virtual Reality that we constructed is essentially amulti-player game in TGE where all client players were controlled by the server.Figure 4: Synchronization process in Torque3.44.2Corner projectionCorner projectionThe implementation of corner projection consists of twoparts, server and client.Having a network architecture where server constantly updates the position of the client, the reason for doing this isbecause each client (camera) in the virtual environment hasits own frustum2 , which is undesirable. It is desirable to create a panoramic view of the virtual environment from theperspective of the server, thus to enforce the clients to havethe same perspective (same frustum) as the server, theirposition, as well as the camera rotation settings, need to beupdated constantly.4.2.1ServerA function was written in the script language, which is triggered whenever the server player moves. The function essentially updates the position of the server player and thecamera rotation setting to all the clients in the game.4.2.2ClientTo create the panoramic view after having the same frustum,we shifted the viewing port3 of the frustum of the clientcamera half of the horizontal screen resolution to the leftor right. Thus one client (camera) produces left half of thepanoramic view and the other the right half.To shift the view port of each camera, it requires alterationin the engine where it was set up. The goal is to shift theview port half of the horizontal screen resolution to the leftor right.2A rectangular or a pyramidal viewing volume where onlyobjects within this volume will be rendered.3A rectangular area that defines what is to be displayed tothe window.By taking the difference of the X coordinate of bothand right edge, we get the size of the horizontal size ofview port. Then by either adding or subtracting half ofhorizontal view port size to both left and right edge,4leftthethethe

view port is then shifted to left or right the way we wanted.Thus for both clients, running different version of view portsetting, the combined image of the two clients next to eachother is the panoramic view.Table 3: Hardware specification of Display PCCPUIntel P4 3Ghz 800FSBMotherboardIntel motherboardMemory1Gb DDR400HDDWD 80 Gb 7200 RPMGraphics card ATi Radeon 9700 Pro 128MB DDRNIC10/100 MbpsOSMS Windows XP SP1The user interacted with the virtual environment using onlya mouse, where left click for move forward, right click formove backward and middle click for jumping.Figure 6: Left and right image created4.34.3.1Mini CAVEProjectorTwo projectors were borrowed from Computer Science Department of University of Cape Town to build this miniCAVE. The specification of the projectors are as follow:Table 1: Projector specificationMake and ModelAsk C6Brightness900 ANSILamp type120W UHPMaximum Resolution 1280 X 1024H-Sync Range15-100KHzV-Sync Range43-130HzMax Power180W4.3.2Figure 7: Setup of systemPC usedTable 3 lists the specification for the PC used for runningthe VR system.Table 2: Hardware specification of the ServerCPUIntel Dual XEON 1.7 GHzMotherboardIntel motherboardMemory2.25 Gb RDRamHDDWD 80 Gb 7200 RPMGraphics card GeForce4 Ti 4600 128 MB DDRNIC10/100 MbpsOSMS Windows XP SP14.3.3Figure 8: Corner projected image4.4OthersA twenty-four port 10/100 Mbps switch hub was used tointer-connect the PC’s to ensure the fast connection.4.3.4CostOne of the important issues of this project is to keep thecost of the whole system within an acceptable range. In thisproject, some of the components used, such as the Dual processor server and the twenty-four port switch, was borrowedfrom the Department of Computer Science. These components are not required for an actual VR system to be built.For the server, a normal PC, with same specification as thedisplay PC, will be as good; and a normal eight port switchwill also serve the job of providing fast connection betweenPC’s.SetupA dark room of the size of approximately 2.5 meters X 4 meters X 6 meters (length X width X height) was used for thesetup of the VR system. Figure 7 shows the setups of theVR system. The two projectors were placed approximately2.3 meters away from the wall. The projected images werethen adjusted manually by shifting the position of the projectors to be aligned. Figure 8 shows the projected image.The position where the user stood is approximately 1.5 meters away from the corner in order to have the widest viewand not blocking the projection.The following shows what the realistic cost of the implementation of the VR system would be. The prices of thecomponents were obtained on the same day as that of writing this section.5

of the participants were from Science faculty and five fromengineering faculty.Table 4: Cost of the hardwareComponentPricePCR 15 550.00ProjectorR 15 0008 port 10/100 Mbps SwitchR 1 000The requirement for participation were not to have a lot ofexperience in gaming, especially First Person Shooter (FPS)game. This is to ensure that the participants has little previous experience in similar environment, which may affectthe result.For the DVR system we built, three PC’s, two projectorsand a switch is needed, thus the cost for such system wouldbe R 77 650.00.5.5.1.2The QuestionnaireSlater, Usoh and Steed (SUS) questionnaire was used toserve as an indication to the presence level felt by the user.Together with the SUS questionnaire, one extra questionwas attached to ask the user for their feeling about virtualenvironment.EXPERIMENTTwo experiment was conducted on the DVR system, oneinvolves user test and the other on network performance.The experiment involves user was designed to compare thecorner projection system against the single display system.Then the participants were asked to first navigate projection system then single display system or vice versa. Thenthey were asked to do two set of questionnaires, one on eachsystem.5.1.3HypothesisThe primary hypothesis was that there would be better presence level from the participants on the corner projectionthan on the single display system.The following hypothesis were established:The experiment on network performance was designed torun two different virtual environments in the mini CAVE,one have higher scene complexity than the other. In orderto cover a large range of scenes. Figure 9 and 10 shows thescreenshots of the complex scene and simple scene respectively. H1:Corner Projection DVR system is more enjoyable than the single display systemThe enjoyment level of the DVR system on the cornerprojection system was suspected to be higher than thesingle display system. H2:Corner Projection DVR system provides higherpresence level than the single display systemThe presence level of those participants who did cornerprojection system first was suspected to be higher thanthose who did single display system first. H3:Participants without prior experience of theVE will have higher presence level on corner projection systemFigure 9: A screenshot of ”Caotic Catwalk” VEIt was suspected that participants to have higher presence level in corner projection system without anyprior knowledge of the VE used, when compared tothe presence level of those participants who did firstsingle display system then corner projection system. H4:Participants doing corner projection systemwill take longer time to complete the task thanthose doing single display systemFor the difference in size of screen and possibly in levelof presence, it was suspected that participants wouldspend longer time in completing the task assigned incorner projection system.Figure 10: A screenshot of ”One Texture” VE5.15.1.15.1.4Presence ExperimentPilot studyA pilot study was done with three Computer Science students. The result was useful in finding defects in the systemand led to changes to the experiment procedures. The resultof the pilot study was however not considered for the finalanalysis of the result.ParticipantTen participants took part in the experiment. Out of theten participants, four were females and six were males. Fivewere postgraduates and five were under graduates. Five6

5.1.56. RESULT AND ANALYSIS6.1 Presence ExperimentProceduresAn experiment session took approximately thirty to fortyminutes and all procedures were identical for all participants. Each experimental session was divided into followingphases:Results from the questionnaires were analyzed to test thevarious hypothesis.H1:Corner Projection VR system is more enjoyablethan the single display system IntroductionResult: Eight of the ten participants gave positive commentson enjoyment level of the corner projection system while thequestionnaire reflected that seven of ten participants gavepositive comments on the feel of height and worried aboutfalling down. No significant sign of physical uncomfortableness was observed.Before the participants were introduced to the virtualenvironment, they were briefed on the aim of the experiment and explained briefly on how the DVR system looks like and the task they have to complete. TrainingWhen the participants were introduced to the system,the observer explained the basic look of the virtualenvironment and the way how they can interact withthe virtual environment through the mouse.Analysis and discussion: No conclusion can be reached fromthe above result concerning the enjoyment level. Observation shows that some of the user became anxious at somestage, but the questionnaire and the short conversation afterexperiment did not reflect what was observed. Completing task assignedDuring the course of experiment, the observer did assist the user in any way. All possible interferences thatmight affect the presence were avoided. After the taskwas completed, a short conversation with the participant was done.H2:Corner Projection VR system provides higher presence level than the single display systemResult: The summary of the numerical analysis performedon the data is given in Table 5. Filling in QuestionnaireTable 5: Summary of numerical analysis of factorattributed towards presence level comparisonCorner Projection Single DisplaySample size55Total13990Mean27.818Std. Dev.8.1672.916Std. Err.3.6521.395% CI of Mean17.659 - 37.94114.38 - 21.62Median3017Min1515Max3722Upon completion of both experiments (corner projection and single display), the participants were asked tofill in the questionnaires for both systems. The reasonfor filling in both questionnaires only after the completion of both experiments was to avoid the participantsbeing affected by the questionnaire after the first experiment. So the result will not be biased.5.25.2.1Network Performance ExperimentMeasureThe following variables were used in the experiment:Discussion: A box and whisker plot was drawn and in theresult, the two boxes did not overlap. Thus means that thereis a significant difference in the result.1. Roundtrip time2. Scene complexity (Number of polygons)Related hypothesis: The result clearly indicated that the hypothesis can be accepted. Thus we claim that corner projection system does provide better presence level than theconvention single display system.Roundtrip time and frame rate are dependent variables ofthe experiment. Scene complexity is an independent variable.5.2.2H3:Participants without prior experience of the VEwill have higher presence level on corner projectionsystemHypothesisThe following hypothesis was established:Result: The summary of the numerical analysis performedon the data is given in Table 6. H5:Increase of scene complexity would increaseroundtrip time5.2.3Discussion: A box and whisker plot was drawn and in theresult, the two boxes overlapped. Thus means that there isno significant difference in the result.ProceduresFives minutes of random movement around the virtual worldwas carried out on both scenes of different complexity. Benchmarking results were recorded during the experiment.Related hypothesis: The result of the experiment shows thatthe opposite is likely to be the true. The similar level of7

Table 6: Summary of numerical analysis of factorattributed towards presence level comparisonW/ VE exp.W/o prior VE exp.Sample size55Total139150Mean27.830Std. Dev.8.1675.148Std. Err.3.6522.395% CI of Mean 17.659 - 37.94123.608 - 36.392Median3033Min1526Max3734Table 8: Summary of statistical results with averageroundtrip time as dependent variable and averagenumber of polygons as independent variable in theVEsCaotricCatwalkOneTexturepresence is felt whether the participants had prior experienceof the virtual environment or not.H4:Participants doing corner projection system willtake longer time to complete the task than those doingsingle display 819.33055.614374.1 4806.427.64.938.921.71986.81642338.51811.3Result: The summary of the numerical analysis performedon the data is given in Table 7.of data as well as rendering, thus the server will take longerto receive an acknowledgement packet. This hypothesis canalso verified by the results obtained from the correlationmatrices. Results have shown that there is a significant,positive correlation between the number of polygons androundtrip time for all VEs.Table 7: Summary of numerical analysis of factorattributed towards time-efficiency levelCorner Projection Single DisplayTotal9250Mean18.410Median1612Std. Dev.7.3014.301Min115Max2815Discussion: From table 7, the total time spent by the participants is significantly higher than the other other group.Related hypothesis: The result clearly accepted the hypothesis. The possible explanation for the result would be thepresence level felt by the participants that influenced thetask-completing efficiency.6.2Figure 11: Graphical Representation of the avg.roundtrip time and number of polygons in CaoticCatwalk and One Texture VENetwork PerformanceResults obtained from the experiment were used for testingthe hypothesis.7.H5:Increase of scene complexity would increase roundtrip timeCONCLUSIONSFor this part of the project, a PC-driven Low-Cost distributed VR system was successfully implemented. A comparison on the presence level of this VR system and a singledisplay system, as well as network related performance evaluation were conducted as experiments.Result: Statistical results were calculated based on the dataobtained from the experiment. The results are presented inTable 8. As a test of the relationship between scene complexity and roundtrip time, correlations were performed betweenthese variables. Positive correlations were found between thevariables (0.976).The result of the presence experiment have shown that thepresence level of the VR system built for this project indeed provides higher level of presence to the user. The result have also shown that there is no difference in level ofpresence whether a user has prior experience in the virtualenvironment or not. However, the sample size of the experiment was not large enough, thus the result of the experimentis not significant enough to draw any scientific conclusion.Further test would be required.Analysis and discussion: Figure 11 presents the relationship between scene complexity and roundtrip time in bothVEs. As seen from the graph, there is a linear increase ofscene complexity and roundtrip time for all VEs. This is because complex scenes require extra time for memory loading8

Regarding the network performance of this system, variousnetw

cost and difficulty in maintenance. Until recently, thanks to the fast development of the modern technology, the idea of building Virtual Reality system using commodity-off-the-shelf hardware became feasible. By using Personal Com-puters, we have in this project developed a Low-Cost Dis-tributed Virtual Reality system that is much cheaper, easier