Components for virtual environments Michael Haller, Roland Holm, Markus Priglinger, Jens Volkert, and Roland Wagner Johannes Kepler University of Linz

Similar documents
A Combined Immersive and Desktop Authoring Tool for Virtual Environments

INTELLIGENT GUIDANCE IN A VIRTUAL UNIVERSITY

Distributed Virtual Learning Environment: a Web-based Approach

vstasker 6 A COMPLETE MULTI-PURPOSE SOFTWARE TO SPEED UP YOUR SIMULATION PROJECT, FROM DESIGN TIME TO DEPLOYMENT REAL-TIME SIMULATION TOOLKIT FEATURES


Practical Data Visualization and Virtual Reality. Virtual Reality Practical VR Implementation. Karljohan Lundin Palmerius

The Field Concept and Dependency Graphs. Tim Weißker

Designing Semantic Virtual Reality Applications

Topics VRML. The basic idea. What is VRML? History of VRML 97 What is in it X3D Ruth Aylett

Design Studio of the Future

Intelligent Modelling of Virtual Worlds Using Domain Ontologies

Ubiquitous Home Simulation Using Augmented Reality

Context Sensitive Interactive Systems Design: A Framework for Representation of contexts

Physical Presence in Virtual Worlds using PhysX

CS 354R: Computer Game Technology

A Beijing Taxi-Trike Simulation

- applications on same or different network node of the workstation - portability of application software - multiple displays - open architecture

Software LEIC/LETI. Lecture 21

Software Requirements Specification

Distributed Vision System: A Perceptual Information Infrastructure for Robot Navigation

Craig Barnes. Previous Work. Introduction. Tools for Programming Agents

TIES: An Engineering Design Methodology and System

The Application of Virtual Reality in Art Design: A New Approach CHEN Dalei 1, a

Development of A Collaborative Virtual Environment for Finite Element Simulation

MRT: Mixed-Reality Tabletop

Robotics Institute. University of Valencia

Virtual Environments. Ruth Aylett

Visual and audio communication between visitors of virtual worlds

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Extending X3D for Augmented Reality

SIMULATION MODELING WITH ARTIFICIAL REALITY TECHNOLOGY (SMART): AN INTEGRATION OF VIRTUAL REALITY AND SIMULATION MODELING

Building a bimanual gesture based 3D user interface for Blender

Industrial applications simulation technologies in virtual environments Part 1: Virtual Prototyping

A STUDY ON DESIGN SUPPORT FOR CONSTRUCTING MACHINE-MAINTENANCE TRAINING SYSTEM BY USING VIRTUAL REALITY TECHNOLOGY

Collaborative Virtual Environment for Industrial Training and e-commerce

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X

An Agent-Based Architecture for Large Virtual Landscapes. Bruno Fanini

A Multimodal Locomotion User Interface for Immersive Geospatial Information Systems

Virtual Reality in E-Learning Redefining the Learning Experience

Immersive Visualization and Collaboration with LS-PrePost-VR and LS-PrePost-Remote

Semantic Based Virtual Environments for Product Design. Antoniou Efstratios. Assistant Professor Dimitris Mourtzis Professor Athanasios Tsakalidis

Application of 3D Terrain Representation System for Highway Landscape Design

Presenting Past and Present of an Archaeological Site in the Virtual Showcase

FDA s Food Defense Program

Issues and Challenges of 3D User Interfaces: Effects of Distraction

Affordance based Human Motion Synthesizing System

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

VIRTUAL REALITY AND RAPID PROTOTYPING: CONFLICTING OR COMPLIMENTARY?

BODILY NON-VERBAL INTERACTION WITH VIRTUAL CHARACTERS

ABSTRACT. Keywords Virtual Reality, Java, JavaBeans, C++, CORBA 1. INTRODUCTION

Volkswagen Group: Leveraging VIRES VTD to Design a Cooperative Driver Assistance System

Emergent s Gamebryo. Casey Brandt. Technical Account Manager Emergent Game Technologies. Game Tech 2009

Simulation of Water Inundation Using Virtual Reality Tools for Disaster Study: Opportunity and Challenges

VR/AR Concepts in Architecture And Available Tools

Live Agent for Administrators

Using VRML to Build a Virtual Reality Campus Environment

DESIGN STYLE FOR BUILDING INTERIOR 3D OBJECTS USING MARKER BASED AUGMENTED REALITY

Polytechnical Engineering College in Virtual Reality

URBAN WIKI AND VR APPLICATIONS

Simultaneous Object Manipulation in Cooperative Virtual Environments

COLLABORATION WITH TANGIBLE AUGMENTED REALITY INTERFACES.

Visualization of Vehicular Traffic in Augmented Reality for Improved Planning and Analysis of Road Construction Projects

Distributed Simulation of Dense Crowds

Teciam. Part C. Virtual Mechatronics

Microsoft Services. Mixed Reality: Helping manufacturers develop transformative customer solutions

City in The Box - CTB Helsinki 2003

ISCW 2001 Tutorial. An Introduction to Augmented Reality

Team Breaking Bat Architecture Design Specification. Virtual Slugger

What is Virtual Reality? Burdea,1993. Virtual Reality Triangle Triangle I 3 I 3. Virtual Reality in Product Development. Virtual Reality Technology

VR-MOG: A Toolkit For Building Shared Virtual Worlds

Voice Control of da Vinci

The VR Factory: Discrete Event Simulation Implemented in a Virtual Environment

Collaborative Visualization in Augmented Reality

Moving Web 3d Content into GearVR

University of California, Santa Barbara. CS189 Fall 17 Capstone. VR Telemedicine. Product Requirement Documentation

roblocks Constructional logic kit for kids CoDe Lab Open House March

RV - AULA 05 - PSI3502/2018. User Experience, Human Computer Interaction and UI

3D interaction techniques in Virtual Reality Applications for Engineering Education

A Virtual Reality Design Environment with Intelligent Objects and Autonomous Agents

Development of a general purpose robot arm for use by disabled and elderly at home

COMOS Walkinside 10.2

Haptically Enable Interactive Virtual Assembly training System Development and Evaluation

Sensible Chuckle SuperTuxKart Concrete Architecture Report

preface Motivation Figure 1. Reality-virtuality continuum (Milgram & Kishino, 1994) Mixed.Reality Augmented. Virtuality Real...

DEVELOPMENT OF A ROBOID COMPONENT FOR PLAYER/STAGE ROBOT SIMULATOR

Modeling and Simulation: Linking Entertainment & Defense

DiVA Digitala Vetenskapliga Arkivet

Collaborative Virtual Environments Based on Real Work Spaces

Harry Plummer KC BA Digital Arts. Virtual Space. Assignment 1: Concept Proposal 23/03/16. Word count: of 7

Spatial Interfaces and Interactive 3D Environments for Immersive Musical Performances

LINKING CONSTRUCTION INFORMATION THROUGH VR USING AN OBJECT ORIENTED ENVIRONMENT

MANPADS VIRTUAL REALITY SIMULATOR

Collaborative Multimodal Authoring of Virtual Worlds

Virtual Environment Interaction Based on Gesture Recognition and Hand Cursor

A Kinect-based 3D hand-gesture interface for 3D databases

Guidelines for choosing VR Devices from Interaction Techniques

CSE 165: 3D User Interaction. Lecture #14: 3D UI Design

HeroX - Untethered VR Training in Sync'ed Physical Spaces

Haptic Feedback in Mixed-Reality Environment

Developing a VR System. Mei Yii Lim

Transcription:

Components for virtual environments Michael Haller, Roland Holm, Markus Priglinger, Jens Volkert, and Roland Wagner Johannes Kepler University of Linz Altenbergerstr 69 A-4040 Linz (AUSTRIA) [mhallerjrwagner]@f aw:uni linz:ac:at [jv]@gup:uni linz:ac:at Abstract In this paper we describe how it is difficult to design virtual environments. We present an approach of a model for the design of a virtual world using a construction kit metaphor, and finally we show a virtual training environment (SAVE), which uses the presented methods. 1 Introduction The design of virtual environment and virtual reality applications is achallenging task. While 2D WIMP interfaces often build on previous experiences with other applications through the use of common interaction elements (widgets) and the building of an appropriate mental model of the application through repeated use, these information sources are often unavailable for 3D interface designers due to the lack of standards. There is little knowledge about how virtual environments are designed, what issues need to be addressed, and little guidance about how design should be carried out [3]. Previous work has mainly focused on technical issues, such as improving runtime performance. But looking for better performance, which is of course a must for virtual environments, many developers do not look at the good design of the application in respect to the reusability. Essentially, the goal of this project is to develop a generic set of tools and a support strategy that will provide users with the means to create virtual environments - in a cost-effective as possible and deliver to low-end machines. The aim of this project is to develop methods and components that can be used to improve the design of interfaces for a virtual environment. In fact, our system is comparable with the principle of a LEGO kit box: the users can pick different simple components out of a repository and build their own complex environment. With our toolkit-components we offer a generic description of the definition for a virtual world. Our description of the virtual environment is very formal (it is based on VRML 97) and complete (even dependencies of objects can be defined). Obviously, the very nature of virtual environments contributes to the difficulty of describing and modeling interactions. Typically, they are a collection of static and dynamic components and they have a non-linear process and control flow. One of the most important questions and problems of this work is how the discrete event-based elements and the visual components of interaction can be expressed. 2 Design constraints and problems of virtual environments One of the supreme aims of virtual reality and particularly in the virtual environment is the near reality cover. More realism can be reached with more interaction possibilities and more detailed environment. However, a number of constraints prevent the solution from more realism: ffl machine constraints, e.g. render power limit the complexity of the 3D environment ffl technological constraints 1

ffl human constraints for the creation of usable and more intuitive interfaces. A general problem with the construction of virtual environments consists in the complexity of modeling and implementation. Therefore, different design methods and tools are necessary. Of course, an expansion of the system should be possible. Monolithic systems are difficult to maintain and the opinion that hard coded and machine adapted C based applications are faster, is unsteady. As in the software development with components, it also must be possible with VEs to add new functions by installing new elements. 3 Design of virtual environments As in the software development with components, it also must be possible with virtual environments to add new functions by installing new elements. In this paper a new system, the Component Oriented Virtual Environment System, will be presented. The central element in COVES is a mechanism, which is responsible for the component communication network. In fact, complex virtual environments are presented by simple, small units (components or nodes). Several advantages are connected to such a division: ffl Flexibility: All elements can be combined in arbitrary order. ffl Reusability: A component can be used in various configurations. ffl Extensibility: If the system has a programming interface, arbitrary extensions can be made. If the components for a task are not implemented and installed, they have to be integrated as needed. ffl Communication: If suitable interfaces are offered, the components can communicate with each other and use the common resources. 4 Approach Our goal was to provide a very flexible system. Therefore, we used an object-oriented design to make the system more flexible and more readily understandable and extensible. The object-oriented concepts such as inheritance, polymorphism and dynamic binding provide a more compact and clear structure of the specification of complex systems, e.g. virtual environments. Moreover, the architecture has an event-driven design because the execution of logic occurs as result of an event being triggered. Thus, execution flow is as dependent upon the event model as data flow. The system resulting from this approach ismore robust, more efficient, and easier to understand. The interesting facet of our system is the use of reusable modular components that can be linked at compile time to form a tailored system. The core of the system is the repository of the components, where the structure of the different nodes is defined. In our virtual world all the components are described with prototype nodes based on VRML 97 specification, which helps the user to manage scene complexity by providing a method for defining higher level objects. We extended the VRML standard with our own prototypes, which describe the different dynamic objects of the virtual world, cf. lever, switch, lamp, spindle etc. All components or nodes have input slots (defined as eventin), output slots (defined as eventout), and parameters (fields), which allow a closer description of the object (see figure 1). The prototype nodes pretend an exact description of what has to be defined. Default values of the prototype are taken, if they are not be described and redefined. It corresponds to a repository or to a container of components, which define the different virtual objects. Figure 1: A node consists of different input slots and output slots 2

In the repository exist different types of components: Graphical components represent a graphical object in the virtual world. Functional components, cf. AND, OR, NOT, PLUS, f(x), etc., which are used to connect the graphical components and to extend their functionality. The next example shows the PROTO of the graphical object VRLever used in our virtual environment. PROTO VRLever [ eventin SFBool set_value eventout SFBool value_changed field SFNode case NULL field SFNode lever NULL field SFFloat leverdistance 0.1 ] } All components represent an individual entity of the appropriate type. Obviously, notwo base nodes represent the same entity and for all the components of the repository we provide a corresponding implemented class in our system. Proceeding these components, the user describes the virtual world in a scene description file using the prototypes of the repository. Finally, users can define dependencies and connect the components together. In fact, our components can be connected to each other by labelled, directed arcs. Again, based on VRML 97 we used the ROUTE functionality. At the moment we are designing two different modeling tools, where the users should have a graphical programming interface for an environment which can be modeled more easily. Once defined the scene description file, our system generates the the virtual world - it generates the Performer scene-graph and maps the routing commandos in an internal network. Most node types have at least one eventin definition and thus can receive events. Incoming events are data messages sent by other nodes to change their state within the receiving node. Some nodes also have eventout definitions. These are used to send data messages to destination nodes that some state has changed within the source node. Once a component has generated an initial event, the event is propagated from the eventout producing the event along any ROUTE to other nodes. These other nodes may respond by generating additional events, continuing until all routes have been honoured. Event notifications are propagated from sources to listeners by the corresponding method invocations on the target listener objects. Each event source can have multiple listeners registered on it. Conversely, a single listener can register with multiple event sources. The node concept allows to add behaviors to the scene. All nodes contain programmatic logic that translates and propagates input events into output events. By routing events from the output slots of a node to the input slots of another node, customized functionality and dependencies can be realized, e.g. if a switch has been switched on, a lamp lights, etc. With the listener concept our system becomes very flexible. With the different nodes and their corresponding slots we can define any imaginable virtual environment and define different scenarios, where dependencies of the dynamic objects can be defined. The node concept is so flexible, that it has also been adapted for the input devices, such as tracking devices and button input devices. A class with the physical description (driver) and a logical class for the internal node presentation is integrated in the node network. 5 SAVE (= SAfety Virtual Environment) SAVE (SAfety Virtual Environment) is a Virtual Reality based safety training system for dangerous and hazardous facilities. The Institute for Applied Knowledge Processing (FAW) and the Department for Graphics and Parallel Processing (GUP) started in 1997 with the first prototype for a virtual training environment for an Austrian refinery [2, 1]. It is amulti purpose virtual reality software system that is mainly intended for employee training. SAVE was designed to use HMD technologies and demonstrated the possibilities of VR for safety training. SAVE is based on the technologies described above and supports ffl real-time collision detection, 3

ffl simulation of dynamic behaviours of the objects, ffl dynamic interactions between the user and the objects, ffl interaction of the trainer, who can interact in the virtual scene and manipulate the objects, e.g. change the state of the valve. The SAVE system offers a solution for these problems. It provides a framework and software system for a variety of training scenarios using VR technology. Each virtual training scenario comprises a scene in which the trainee can move freely and interact with objects like pumps, valves, and other control devices. omvr is the first application of the SAVE system, which provides an advanced technique for personnel safety training in refineries. It is based on the architecture described above and uses the components for the different virtual elements. a new image corresponding to the trainee's viewpoint in the scene on every move, creating a strong immersive effect - after several minutes, the trainee believes to be inside the scene. The trainer application : This program is used by the trainer to observe the whole training process and runs on a different machine, linked to the graphics workstation using a network connection. The trainer can control any part of the scene and react on the trainee's actions. Moreover, it allows to manage the trainee's training progress using a database, which allows individual training. One of the most important aspects of our application is that the virtual environment of the trainee can be controlled by the education/training program. In fact, this relationship between the education/training program and the simulation/trainee program is the central idea of this educational system. 6 Conclusions Figure 2: SAVE (SAfety Virtual Environment) is an VR application for safety training in a virtual refinery The omvr training system consists of two major parts: The scene simulator : This application runs on a graphics workstation and creates the user's view of the whole training scene. It also handles all interaction between the trainee and the objects in the scene, like switches, levers, tools, etc. Since every head movement is tracked using a tracking system, the application renders As Smith, Duke, and Massink [4] note, virtual environments are a mix of continuous and discrete components. What has been presented in this paper is an initial research for a framework with components for a virtual environment. The results have been realized in a refinery virtual environment, which used the different components. The next steps of the project is to define tools, which provide a very user friendly interface for assembling the components to a virtual environment. There are planned tools, where the user can choose of a huge pot of graphical and logical components which can be connected together. Doing so, the user creates his own virtual environment, which can be used for a new safety training. References [1] M. Haller, R. Holm, J. Volkert, and R. Wagner. A VR based safety training system in a petroleum refinery. In Proc. of Eurographics'99, pages 5 7, Milano, September 1999. 20th Annual Conf. of the European Association for Computer Graphics. 4

[2] M. Haller, G. Kurka, J. Volkert, and R. Wagner. omvr - A Safety Training System for a Virtual Refinery. In Proc. of ISMCR'99, number Vol. X, pages 291 298, Japan, June 1999. Topical Workshop on Virtual Reality and Advanced Human-Robot Systems. [3] Kulwinder Kaur. Designing Virtual Environments for Usability. PhD thesis, Centre for Human-Computer Interface Design, 1998. 241 pages. [4] Shamus Smith, David Duke, and Mieke Massink. The hybrid world of virtual environments. In Proc. of Eurographics'99, pages 297 307, Milano, September 1999. 20th Annual Conf. of the European Association for Computer Graphics. 5