Project : alcove
Section: Application Domains
Collaborative work on virtual objects
Traditionally, virtual environments are used in teaching domains, to simulate physical phenomena or to represent objects taken from the natural environment, notably in such domains as medicine, nuclear industry (EDF), transport industry (SNCF, military or civil aviation). Their goal is to reproduce the environment and the objects as they are in reality, by integrating the natural properties of the objects, physical behaviors and environmental constraints. Our proposal is appreciably different. Indeed, we have choosen to consider co-operative activities of small groups of actors around virtual 2D or 3D objects. Our goal is to provide them with a virtual environment which uses classical computers and peripherics, and which could be considered as an extension of their current working environment in the broad sense. Our proposal is built around a virtual representation which immerses the user in a known environment (a meeting room), without beeing a copy of the reality. By minimizing navigation and manipulation gestures, it enables several actors, geographically distants to each other, to focus on the realization of a common technical task. Some abstractions of visual representations and interactions are implemented to help the users to understand and apprehend concepts, the 2D/3D objects beeing rather a support to the co-operation activities.
Sofware Framework for Collaborative Virtual Environments
After some preliminary studies, we have defined a set of software components needed to construct a generic framework dedicated to Collaborative Virtual Environments. Those components are divided into 3 levels :
a network communication layer, in charge of the handling of the shared objects.
A distributed architecture with a duplicated 3D database is choosen to ensure interactivity of manipulation and visualization. The network communication layer has to efficiently maintain the coherency between all instances of a duplicated shared data.
It also provides all services needed to manage the virtual work session (entry/exit of avatars, concurrent access...).
an object management layer.
To ease the developpement of collaborative activites, 3D objects are defined using a descriptive language such as VRML97. An extension to the language is needed in order to be able to define shared data.
Local interaction mecanisms with 3D objects (indices to help selection, ways of manipulation...) are also integrated into this layer.
an interface management layer.
Each user having a personnal mental representation of her/his work, this layer provides the user with the ablity to organize or adapt her/his own virtual interface. The interface is organized in several spatial domains, each domain having is specific behavior and usage. Users' actions are abstracted independently of the environment before to be remotely transmitted.
High level metaphorics tools used to act on objects or interact with the interface (such as the transfert of object from one spatial domain to an other one, or point of view concept) are, also, provided.
A vast majority of the activities around manufacturated objects does not just need simple manipulation mecanisms (rotations or translations of one object, or of parts of it), but rather more complex actions like assembly, disassembly or adaptation of objects. User's interactions are then to be constrained according to the connection between objects.
Some Computer Assisted Design modelisation systems include the possibiltiy to define geometrical or mechanical constraints between points, edges or planes of the objects. Those constraints are pre-defined during the construction of the models. However, for interactive applications, assembly operations have to be freely performed by the user. Constraints are then to be dynamically created. One solution is to use a simulation engine which can compute on-the-fly the mechanical interactions between parts of objects, using collision detection and taking into account mechanical properties such as sliding.
We are studying an alternative, with a concept of abstract assembly, where 'contact zones' are defined on objects. Those 'contact zones' act as magnets, easing user's actions. Such a concept can be used within applications where the conceptual part of the activities is more important than the manipulation of the object by it-self. Our collaborative platform is dedicated to such activities. This work is implemented by Alexandre Lambin, expert ingenior under contract since September 2003.