CIA-tool: a tool for cooperative-interactive planning in virtual environments

CIA-tool: a tool for cooperative-interactive planning in virtual environments

Symbiosis of Human and Artifact Y. Anzai, K. Ogawa and H. Mori (Editors) 1995 Elsevier Science B.V. 575 CIA-Tool: A Tool for Cooperative-Interactive...

2MB Sizes 1 Downloads 55 Views

Symbiosis of Human and Artifact Y. Anzai, K. Ogawa and H. Mori (Editors) 1995 Elsevier Science B.V.

575

CIA-Tool: A Tool for Cooperative-Interactive Planning in Virtual Environments Andr~ Hinkenjann and Oliver Riedel Institute for Human Factors and Technology Management, University of Stuttgart, Nobelstral~e 12, D-70569 Stuttgart, Germany

Abstract In many planning tasks the planning specialist sooner or later is confronted with the necessity of presenting his/her design to the future user and perhaps altering the design, if necessary. In the ideal case the iterative planning process should be carried out interactively with the user to fundamentally reduce the duration of each step in the iterative planning spiral. A further advantage of such a mutual cooperation between planer and user in a design would be a reduction of costs, an advantage rarely separated from a shortened project duration. In addition, one has the possibility to more quickly evaluate various variants of the design. This approach has been partially applied in a prototype for the planning of rooms, [1] one in which the main focus of the planning was on the interactive aspects and less focus was placed on the conception of the Computer Supported Cooperative Work (CSCW). A reason for this was the deficiency in the quality and quantity of the necessary hardware, as well as the unsolved problems of integrating several VRdevices within an application. Through a strategic allience with the British firm Division, which also includes the common development of new software packages, the realization of most of the concepts of the Cooperative-Interactive Application Tool (CIATool) were made possible. The possibilities of the CIA-Tool with an application such as interior design were already established in 1993 ([2], [3]).

1 Fundamental Concept of the CIA-Tool The fundamental concept of the CIA-Tool, based on the extended object structure, is on a basis of an object-oriented database. This structure, as well as the implementation, aided by the C++ extention POET, is more precisely described in [7]. Further criterion in the creation of the basic foundation were, among others, the use of the user surface VIRUSI (see [9], [8]), which was applied in former applications, as well as the independence of graphic hardware. This project should be realized with the use of the computer from the firm SiliconGraphics, wherein the focus is placed upon the application of dual-headed graphics machines.

576

The CIA-Tool should fulfill the following requests in order to be functional: -

-

-

-

free placement and orientation of the objects, placement and orientation help with free moving adjustment pattern, free color design of the objects, free design of the object surfaces with textures, free scalibility of objects, ergonomic user surfaces (for publications see, [10]), import and export of basic objects which can be geometrically modified following previously given parameters on CAD-systems, free scalibility of the user, optical and acoustical representation of other users, selection of the objects and their parameters in each context, manipulatable object hierarchy, etc..

0 ork F i g u r e

...........

I Soft- and Hardwareconcept of the CIA-Tool

Figure 1 shows the basic concept of implementation of these requests with the applied hardware and software. A central part of this implementation is the "agent" who takes over control of the application. The agent is placed in a bidirectional connection with the "actor" of the CIA-Tool, thereby remaining in a constant contact with the database. The agent holds a local copy of the scene and sends messages regarding any changes to the CIA-Tool actor and other concerned distributed running

577

CIA-Tool agents. This implies that the changes carried out by the VR-System can be accessable any time through the database surface. This is important e.g. in the case of interior planning with specific furniture followed by a facility management. Also worth mentioning is the implementation on the actor level which is independent from the hardware. The corresponding tools (Tracker, HMD's, etc.) are connected to the actor by specific drivers.

2 Software Concept 2.1 User Interface Earlier software-ergonomic experiments at IAO [9] have discovered that a predominately icon-oriented user control is prefered to a real gesture control. In addition, the CIA-Tool, acting as an interactive tool, should be carried out with a Data Glove or a Flying Joystick. Therefore, an icon-oriented user interface was chosen for the CIA-TooI. The arrangement of icons was modified over earlier IAO applications, and the results of the above mentioned experiments were incorporated. The Flying Joystick is shown in the virtual world as a three-dimensional arrow; it helps to grasp the objects and determine the moving direction. Movement with the help of the forward and backward keys is consistantly available, even independent of the eventual simultanious activities of the other functions. (This is the primary advantage of the control offered by the DataGIove as the separation between the movement and the hold/interaction of an object is carried out with great difficulty.) The shifting or rotating of objects can be accomplished without activating a toolbox function. Thereby, the relevant object is touched with the arrow and held firm by the selection key. The movement of the objects is coupled with the movement of the hand as long as the selection key remains pressed. This type of interaction allows for a rapid and precise positioning of the objects. The degree of freedom, as well as the limitations, in which the object can move are included in the object definition. In the same manner, an object with a function, such as drawers or cabinet doors, can be shifted as much as is allowed in the object definition. All other functions can

Figure 2 Toolbox-Menu

578

be selected from a virtual menu and then activated by the toolbox key. The icons located on the highest menu level are shown in figure 2. To select a function the cybernaut touches the corresponding icon with the arrow or with the hand and chooses it with the selection key or the corresponding gesture.

2.2

Functions and Tools

2.2.1 Generation of Objects The L-icon (L means, in this case, "storeroom" ["Lager" in German]) allows for an environment in which new objects can be added. This is the first step in the construction of a layout. The objects, which can be generated, will be shown as icons. A selected object will be installed and added to the object hierarchy of the scene and positioned in the intended position, as indicated in the object Figure 3 Example for Object-lcons definition. The catalog of generated objects allows the data base interface of the application to be varied in any manner.

2.2.2 Surface Functions All functions, which can alter the surface characteristics of an object, fall together under one menu-point. After the selection of the icon, the object can be chosen according to the function to which they should be applied. More than one object can be chosen simultaniously. Afterwards the "object surfaces" of the corresponding tool can be selected from the sub-menus. Note the following tools: Color Tool The color tool makes it possible to freely decide the surface of the selected objects. A standardized system is supported by 24 bit color depth which allows the user to choose from 16,7 million various colors. The color tool was taken over from earlier applications at IAO and then modified to meet the

Figure 4 Color-Tool

579

present design. In earlier implementations of the color tool it was only possible to make a color choice in the RGB-color model, which meant that the color was created through a separate arrangement of the red, green, and blue parts. However, in design and architecture areas other color models are in use, in particular the hsv-model, as known as the HSB (Hue/Saturation/Brightness) model [Foley90]. In the HSB-model there is no separation of the color parts, rather a separation of the three parameters of hue, saturation, and brightness. In this case, the implemented color tool has both color tools (HSV/RGB) available. The selected color of one color model is carried over to the other color model so that it can be further altered.

Texture Tool The possibility to freely select the texture of an object surface is an essential aspect in the room layout design. The RealityEngine-graphic offers the possibility to present a large number of various textures within a scene without lowering the performance level. The texture tool in the CIA-Tool allows the user to choose from a catalog for each selected object. The catalog itself is a component of the object definition in the database. In this manner, the furniture from a particular producer can be allocated with the available surface textures. The actual contents of the texture catalog can be altered during runtime. Likewise, the scaling and the orientation in which the textures are produced are also components of the object definition. These parameters can even be varied on a polygon level of the individual object. The colors of the selected texture will be proportionally weighted with the selected color of the objects, if necessary.

Figure 5 Texture-Tool

The design of the texture tool is illustrated in figure 5. The two arrow keys, above and under the sliders, allow the user to "flip through the pages" of the catalog. The slider shows the position within the texture catalog. The chosen texture is indicated on the quadratic reference area as well as being immediately "placed over" the selected objects. The "none"-icon chooses the untextured surfaces.

2.2.3 Geometry and Object Hierarchy Tools The sub-menu, which is shown in figure 6, can be indicated by choosing the geometry icon. In this sub-menu functions such as the changing of the object hierachy, the object geometry, and the Snap-Tools are selectable.

580

Snap-Tools The two available Snap-Tools are independent of each other and can be activated in first case, for the positioning of an object, and in the second case, for the orientation of the object. The snap pattern, as well as the positions of the reference points, are components of the object definition. In terms of all six degrees of freedom the snap pattern can be indicated separately. When the respective Snap-Tool is selected it has an influence on all the objects for which a snap pattern was designed. For furniture Figure 6 Geometry-Tool programs, the snap pattern is selected according to it. As a consequence, individual elements can be quickly and easily combined in function groups.

Connecting and Disconnecting of Objects The pasting icon allows the user to connect objects according to the object hierarchy. The function of this icon can be illustrated by the following example of a plant and a table: the plant is "glued" on the table and thereby given a lower rank on the object hierarchy than the table. The plant can be moved on the table and when the table is moved the plant will also move correspondingly. The connection between the objects is simply accomplished in the selection of the father and son objects. The arrow, normally representing the Flying Joystick, is replaced during the performance of the function by a paste tube. The color of the paste tube is a feedback in the selection of the relevant object that the user wishes to alter. Using the scissor icon, one can put aside the connections within the object hierarchy and it can be accomplished by simply selecting the relevant objects. In the separated branch of the hierarchy the "local" hierarchy will nonetheless remain intact.

Scaling of Objects This function allows the possibility for the user to freely scale the objects in all three axis. Therein, the optimal size of a particular piece of furniture can be ascertained. The functionality of the respective objects (ie., a moveable drawer) is maintained even after the scaling. The limits for translations will also be scaled so that the position of the maximum open width of a drawer, for example, remains proportionally the same as that of the relevant object.

581

2.2.4 Discarding of Objects The trash can icon allows the generated objects to be discarded. To accomplish this task the user simply selects the respective object with the trash can icon during the performance of the function. 2.2.5 Illumination This function makes it possible to illuminate a room under various lighting circumstances. The user can even apply directed light sources which are presented as flashlights. This enables the user to illuminate the room from many different directions and thereby test the effects of different light circumstances. 2.3 The xdVise-Surface In addition to the interaction possibilities of the cybernauts, other users can view the object structure of the designed space on the computer screen and manipulate it, if the case necessitates such action. This tool serves in practical applications of the CIA-Tool although, it is limited to control purposes as the primary planning work will be accomplished by the cybernauts themselves. (see figure 7) Figure 7 xdVise user-interface 2.4 Multiple Users in a Virtual World The CIA-Tool is designed as a distributed system: The application can be accessed simultaniously by multiple computers all having access to the same database. This allows multiple users to work simultaneously on the layout of a room. The contents of the mutual database is always protected and kept up-to-date by a lockout mechanism that ensures that multiple users cannot access the same object simultaneously. At IAO it is possible to incorporate the activities of two cybernauts at an optimal level due to the existence of two high-end dual-headed machines and one high-end single-pipe machine (Skywriter VGXT, 2xOnyx RE2) including the appropriate VRHardware such as head-mounted displays, tracking systems etc.. Additional users can also interact in the same virtual world using smaller systems (Indigo ELAN etc.) without effecting the performance of the other (larger) systems.

582

3 Details of the Implementation 3.1 The Software platform: Division dVs The most important criterion when choosing the software platform was the ability to incorporate a distributed application which allowed multiple users to all interact in the same virtual world. Under the various systems evaluated, this requirement was best realized by the dVs-System from the UK developer DIVISION. dVs is a distributed run-time system for VR-applications. The core of the dVs system is the socalled agent, which runs on each of the associated system nodes. The agent administers a database which defines the virtual world which the application is expected to process. In addition, the agent provides the network interface over which the two agents communicate during distributed implementations. Each agent administers a copy of the database. Any changes in a local database is transferred via the network interface to the other agents so that consistency is constantly maintained. The message processing capability between the individual agents has been limited to a maximum of three connected systems in a given zone under the configurations tested thus far. These are normally connected via an Ethernet network. The prerequisite, however, is that the network is not forced to labour under the demands of other communications services. For this reason, the processors attached to the CIATool application are separated from the rest of the network via an intelligent bridge. This bridge can filter network processes down to the socket level and thereby avoids unwanted network burdens. Several independent processes, the so-called actors, also use the agentadministered databank. These actors provide the functions required by the VRapplication. The basic functions required for every VR-application (routing to external input/output devices, rendering) are provided by a series of Standard Actors. This modular concept allows new hardware components to be integrated into the existing system very easily. The actual application, which defines the behaviour of the objects in the virtual world is also realized through one or more actors. The individual actors of the dVs system run on an asynchronous basis; this prevents the performance (speed) of the overall system being compromised by individual, slower actors. This means that, in situations where multiple users are using one application on different systems, the performance of the individual systems is effected by neither the number nor speed of the individual system nodes. This allows different systems with different performance to be used simultaneously without compromising the performance of the fastest system.

3.2 dVs on SiliconGraphics Systems The SiliconGraphics product range includes graphics workstations of various performance levels. At the upper end of this scale the RealityEngine provides a highperformance commercially available real-time graphics hardware. Common to all highend systems from SiliconGraphics is the transfer of graphics-specific functions to their own sub-systems which in turn have an optimal architecture. In this way the CPU's are relieved of these functions and can be used for the actual application.

583

All SiliconGraphics systems run under the IRIX operating system, a UNIX (System V) implementation with real-time and multi-processing enhancements. The individual actor processes from dVs communicate with agent processes via the standard IPC mechanisms from UNIX (Shared memory and semaphore). A conversion to IRIXspecific IPC mechanisms provides room for further performance improvements. In dVs the rendering is done by the rendering-actor based on the Performer library from SiliconGraphics. It offers the basic functions which are necessary for real-time rendering of complex geometry. Included in this group is a culling-function in which objects left outside of the view-frustrum are discarded immediately at the beginning of the rendering process. Likewise, a level-of-detail-function (LOD) is integrated which allows the presentation of objects to be dependent on the distance of the viewer with various types of complex geometry. Performer supports a multi-processing model for the distribution of three separate tasks: application (data acquisition and simulation control), cull (note description mentioned above), and draw (the graphic-primitive is given to the graphic sub-system) to three separate CPU's. Performer does not offer, at the present, the possibility of visibility-culling, which means the rejection of objects or parts of the hierarchy which are completely covered by other parts of the hierarchy. This function was realized with the CIA-Tool so that only the objects which are in the same space, such as the cybernaut, are preserved in the Performer datastructure. 3.3 CIA-TooIs on a dVs-Basis

The actual CIA-Tool application is itself an actor-process which communicates with the agent and takes hold of the mutual database. This actor contains the complete functionality of the CIA-Tool, including all the interactions, the menu-system, and the individual tools. The toolbox has a modular design enabling it to be extended with further functions. The graphic user interface xdVise is an individual process which communicates with the CIA-Tool via a pipe. In the case of an implementation that includes more than one user, the geometric representation of the cybernaut, which is visible for other users, can be varied; this is possible for each individual user and each system separately. The insertion of new objects into the database is possible with very little effort, if the geometry is available as CAD-data. There are converters available which function as separate modules, and generate the object-geometry in a format which is used in the dVs. This format uses as graphic-primitives only polystrips and triangle meshes. In particular, the triangle meshes are optimal for SiliconGraphics hardware. Hence, optimizing-modules are available which generate geometry files built primarily of Tmeshes. 3.4 Performance-Measurement

On the basis of a standard scene (11050 polygons) performance-measurements were carried out with the CIA-Tool.

584

(All values: Frames per sec.) ONYX RE2

SkyWriter VGXT

Indigo Elan R300

min.

max.

average

All polygons

with Textur

10

20

14

15

without Textur

10

20

14

15

with Textur

0,8

15

1,1

1,1

without Textur

7,5

15

11,5

10

with Textur

<0,1

0,7

<0,1

<0,1

without Textur

6,7

20

12

8 Results of the performance measurement of the CIA-Tool

Figure

To illustrate the specific hardware advantages, measurements were carried out with and without textures. The minimal, maximal and average values during a duration of five minutes running time were identified and statistically interpreted. The results can be seen in figure 8. The column of "all polygons" represents the measurement value with all the polygons included in the view. In VGXT no measurements with a 100% filling of texture memory were produced even though, in most cases, 35,000 textured polygons per second are possible. At the present time, the CIA-Tool cannot yet guarentee such limitations. Essential increases in the frame rate in ONYX are anticipated in the following cases: -

the application runs on four processors, the optimization of databank handling.

Cautious evaluations of the frame rates, which can be accomplished, fall between 30-40 frames per second.

4 Applications The CIA-Tool is applied as a planning tool in interior architecture and design. A typical application case of a single-user configuration is that of room layouts designed with new pieces of furniture not previously available as a prototype. Multiple-user configurations are primarily used for client presentations. In this case, the client can move freely in the room and desired changes can be immediately fulfilled by the architect or the designer. The effects caused by the alterations can be viewed and further discussed.

585

The planning, design, and evaluation of buildings and rooms is a primary application of virtual reality. In particular, the possibilities of three-dimensional perception, in connection with real-time modification and a high-quality visualization, make it's use in this working area rather profitable. Questions of planning in the fabrication and production area are as interesting as in the office and administration area. Besides the planning and designing of buildings (for example, production warehouse, office buildings, and power stations, etc.) the equipment and arrangement of office equipment (office furniture, computer equipment, etc.) is of particular interest. VR is also helpful in the planning and equipping of private construction projects. For every person choosing to build a house, the planning of a designer kitchen or the arrangement of a bathroom is a relevant subject. Therefore, it is not surprising that commercially available VR systems are sold to kitchen designer firms. General questions regarding illumination design, daylight simulation, and/or acoustic design are highly relevant in all the above mentioned application areas. In particular, light is a essential pre-requisite for the perception of optical information which requires a high qualified and user-friendly design. In this case, the CIA-Tool offers many advantages in comparison to conventional designs and simulation methods. The well-known methods in direct manipulation via a Data Glove or similar presentation instruments are of great interest for ergonomic product designers and designers. It is easy to imagine today that with the help of virtual design tools (for example, a virtual saw, a virtual file, virtual sand paper, and a virtual airbrush, etc.) a virtual product can undertake the corresponding formal design alterations with greater ease. Both artist and designer have known that their abilities in particular, those abilities in the use of classical graphic computer systems, have not been fully taken advantage of and therefore, they are searching for new forms to interact with the "computer product." The chances are good that through corresponding VR-methods the natural treatment of the material can be once again revived and thereby, bring back a significant interest in the design field. These attractive perspectives are also valueable in the application areas in the design of work places, machines and factories, and all those areas in which humans interact with a technical product.

5 References Bauer, W.; Riedel, O.; Setzer, S.: VILAGE: Virtueller Layoutgestalter. In: Virtual Reality: Anwendungen und Trends; IAO-Forum, 4./5.2.1993 in Stuttgart/Hrsg.: H.-J. Bullinger. Berlin, u.a.: Springer, 1993, S. 47-59 Bauer, W.; Riedel, O.: VR: A tool for Office Design Applications. In: Proceedings of the VR User Show Conference, 30.11-2.12.1993, London. Bauer, W.; Riedel, O.: Virtual Reality in Space- and Building-Planning. In: Proceedings of the Virtual Reality Vienna, 1.-3.12.1993, Wien.

586

Breen, P.; Grinstein, G.: The MITRE Virtual Reality Architecture and Prototype Applications. In: Goebel, M. (ed.): First Eurographics Workshop on Virtual Reality, Barcelona, 1993. Chan, K.; Moeltzel, D.A.: A Knowledge-Based User Interface for the Interactive Design of Three-Dimensional Objects. AI EDAM 1988, S. 1-16. Furness, T.: Designing in Virtual Space. In: Rouse, W.B.; Boff, K.R. (eds.): System Design, North Holland, 1987. H&fner, U.; R6ssler, A.; Riedel, O.; Bauer, W.: Object-Oriented Design for Virtual Reality. Submitted to: VRST '94- Conference on Virtual Reality Software and Technologie, August 23-26, 1994, Singapore. Musil, S; Pigel, G.: Virgets: Elements for Building 3-D User Interfaces. In: Proceedings of the Virtual Reality Vienna, 1.-3.12.1993, Wien. Riedel, O.; Bauer, W.; : New Techniques for Interaction in Virtual Worlds Contents of Development an Examples. In: Advanced in Human Factors/Ergonomics, 19B:Proceedings of the 5th International Conference on Human-Computer Interaction, 8.-13.8.1993, Orlando/Florida, Volume 2. Ed.: Salvendy, Gavriel; Smith, Michael; Amsterdam, u.a.: Elsevier, 1993. S. 687693. 10

Ziegler, J.; IIg. R.: Benutzergerechte Software-Gestaltung - Standards, Methoden und Werkzeuge. R. Oldenbourg Verlag, Menchen, 1993.