Вы находитесь на странице: 1из 8

A Virtual Environment for Collaborative Assembly

Xiaowu Chen, Nan Xu, Ying Li The Key Laboratory of Virtual Reality Technology, Ministry of Education School of Computer Science and Engneering, Beihang University Beijing 100083, P.R. China) chen@buaa.edu.cn

Abstract
To allow geographical dispersed engineers to perform an assembly task together, a Virtual Environment for Collaborative Assembly (VECA) has been developed to build a typical collaborative virtual assembly system. This presents the key parts of VECA, such as system architecture, HLA-based (High Level Architecture) communication and collaboration, motion guidance based on collision detection and assembly constraints recognition, data translation from CAD to virtual environment, reference resolution in multimodal interaction.

1. Introduction
Virtual reality (VR) is a technology which is often regarded as a natural extension to 3D computer graphics with advanced input and output devices. Now VR has matured enough to warrant serious engineering applications [1]. As one of the important application domains of VR, virtual assembly (VA) fulfills design flexibility by replacing physical objects with the virtual representation of machinery parts and providing advanced user interfaces for users to design and generate product prototypes [2]. VA can evaluate and analyze product assembly and disassembly during the product design stage with the goal of reducing assembly costs, improving quality and shortening time to market [3]. With the distributed fashion of companies and research organizations, many design, assembly, manufacture, analysis works require the collaboration of geographical dispersed engineers. Collaborative
This paper is supported by A.S.T. Fund (VEADAM ), National Natural Science Foundation of China (60503066), National Research Fund (51404040305HK01015), China Education and Research Grid (ChinaGrid) Program (CG2003-GA004), National 863 Program (2004AA104280) & (SIMBRIDGE).

virtual environment (CVE) is a computer system that allows remote users to work together in a shared virtual reality space [4]. As an important category of Computer-Supported Cooperative Work (CSCW) and VR, CVE systems have been applied to military training, telepresence, collaborative design and engineering, distance training, entertainment, and many other personal and industrial applications [5]. Because of the advantages of CVE and the actual requirement of industry, collaborative virtual assembly (CVA) is becoming one of research emphases of VA. There have been many research efforts to develop virtual assembly systems [6][7][8]. A representative system is Virtual Assembly Design Environment (VADE) [9] which allows engineers to evaluate, analyze, and plan the assembly of mechanical systems. VADE simulates inter-part interaction for planar and axisymmetric parts using constrained motions along axes/planes which are obtained from the parametric CAD system. In this system, direct interaction is supported through a CyberGlove. In the field of CVA, several systems have been created. For example, National Center for Supercomputing Applications (NCSA) and Germanys National Research Center for Information Technology (GMD) developed a collaborative virtual prototyping system over ATM network [10]. The system integrated real-time video and audio transmissions let engineers see other participants in a shared virtual environment at each remote sites viewpoint position and orientation. Jianzhong Mo et al. developed a virtual-reality-based software tool- Motive3D [11] that supports collaborative assembly/disassembly over Internet and presented systematic methodology for disassembly relation modeling, path/sequence automatic generation and evaluation independent of any commercial CAD systems. Shyamsundar et al. developed an internetbased collaborative product assembly design (cPAD) tool [12][13]. The architecture of cPAD adopts 3-tier client/server mode. In this system, a new Assembly

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

Representation (AREP) scheme was introduced to improve the assembly modeling efficiency. The AREP model at the server side can be accessed by many designers at different locations through client browsers implemented using Java3D. But most CVA systems above are based on C/S or B/S architecture, and little effort has been put into the research of CVA based on distributed architecture. Sometimes there are some requirements on the design of certain industrial products, which expect a distributed virtual environment to support the collaborative assembly, such as a Virtual Environment for Collaborative Assembly (VECA) presented in this paper. VECA can build a collaborative virtual assembly system which allows geographical dispersed engineers to perform an assembly task together. VECA mainly includes HLA-based (High Level Architecture) communication and collaboration, motion guidance based on collision detection and assembly constraints recognition, data translation from CAD to virtual environment, reference resolution in multimodal interaction, and so on. The rest of this paper is organized as follows. Section 2 presents the system architecture of VECA. The modules of communication and collaboration, data translation, motion guidance, multimodal interaction are separately elaborated in section 3, 4, 5, and 6. Section 7 is the implementation and application of VECA, and finally section 8 ends this paper with conclusions and future work.

is a plug-in for Pro/Engineer and is developed by Pro/Toolkit and Multigen OpenFlight API. 4. Constraint manager: dynamically maintains assembly constraints information. The design of this module and a constraint-based distributed virtual assembly model were already introduced in [14][15]. 5. Multimodal interaction: processes combined natural input modes such as speech, hand gesture in a coordinated manner.
CAD Data translation
Motion guidance

Collaborative virtual assembly


Constraint manager Comunication & collaboration

Input/output device
Mouse, Keyboard, CyberGlove, Microphone, ... Display, 3D shutter glasses, ...

Virtual environment

Multimodal interaction Scenegraph management

Figure 1. System architecture of VECA

3.

HLA-based Communication Collaboration

and

2. System Architecture
The system architecture of VECA is illustrated in Fig.1. Once an engineer has finished designing assemblies or subassemblies using a parametric CAD system such as Pro/Engineer, he or she uses a plug-in for Pro/Engineer to translate CAD models to triangle mesh models (Multigen OpenFlight) including assembly constraints and geometry feature information. Others download these models, and then they can assemble the product collaboratively in a multimodal shared VE to find the design defects or get the feasible assembly sequence. Now there are five key parts in the system. 1. Communication and collaboration: connects geographical dispersed nodes to form a distributed collaborative VE based on HLA. 2. Motion guidance: helps the user translate or rotate the parts in the VE freely and precisely using collision detection and assembly constraints recognition. 3. Data translation: this module translates models and extracts information from CAD (Pro/Engineer). It

HLA standard [16] is a general architecture for simulation reuse and interoperability developed by the US Department of Defense. The conceptualization of HLA led to the development of the Run-Time Infrastructure (RTI). This software implements an interface specification that represents one of the tangible products of the HLA. Some concepts and terms in HLA are introduced as follows. Federation is defined as a group of federates forming a community. Federates may be simulation models, data collectors, simulators, autonomous agents or passive viewers. A simulation session, in which a number of federates participate, is called a federation execution. Simulated entities, such as tanks, aircrafts or subassemblies, are referred to as objects. Attribute, referred to as object state, can be passed from one object to another. Objects interact with each other and with the environment via interactions, which may be viewed as unique events, such as manipulation of the object, or a collision between objects. Initially, an attribute is controlled by the federate that instantiated the object. However, attribute ownership may change during the execution. This mechanism allows users to co-manipulate the same object, for example. All possible interactions among the federates of a federation are defined in a so-called Federation Object Model (FOM). The capabilities of a federate are defined in a so-called Simulation Object Model

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

(SOM). The SOM is introduced to encourage reuse of simulation models [17]. DVE_FM [18] is an application framework which is based on the interface specification of HLA. It provides the universal function of distributed interactive simulation and insulates invoking of RTI. DVE_FM reduces the complexity of development of simulation application based on HLA, thus the developers can focus on domain application but not complex interoperation between simulation application and RTI. The HLA-based simulation framework of VECA is shown in Fig.2. Each of VA nodes joins federation as a federate. And the development of the federate is based on DVE_FM.
VM federate 1 VM federate 2
...

VM federate n

DVE_FM

DVE_FM

DVE_FM

Run-Time Infrastructure (RTI) TCP/IP

Figure 2. HLA-based simulation framework

During a federation execution, each of federates updates the attributes of the objects (parts or subassemblies) which belong to it. VECA has defined two types of interactions: CCooperationInteraction and CConstraintFeedbackInteraction. CCooperationInteraction represents federate assembly/disassembly requirement. A federate that has the ownership of the parts or subassemblies may receive more than one CCooperationInteraction for the same part (subassembly) at the same time, and it will select one by a set of schedule rules to solve the problem of competition and collaboration between multi-users. If the requirement satisfies assembly constraints, the federate updates position or attitude of parts (subassemblies), then informs other federates through RTI. Otherwise the federate transfers CConstraintFeedbackInteraction to declare that the current operation is not allowed.

4. Motion Guidance
In VA, due to the lack of physical constraint information and the limitation of location tracking precision, it is difficult for the user to control the motion of the assembling parts precisely with current virtual reality I/O devices during VA [19]. Therefore, it is necessary to explore a technique to help the user manipulate the target assembling part freely and precisely in VA.

VECA adopts motion guidance based on collision detection and assembly constraints recognition [20] to accomplish precise location of parts (subassemblies). Collision detection is used to solve assembling parts interference problem. Assembly constraints recognition is used to assist in capturing the users intention. Axis orientation constraint and face match constraint are the two assembly constraints mainly researched into because other assembly constraints can be converted to the combination of these two constraints, and a pair of assembly units just need to satisfy each of them for only once to form a new subassembly. In order to simulate the actual assembly procedure, motion guidance first recognizes the axis orientation constraint, and then recognizes the face match constraint during assembly constraints recognition. The above discusses the logic sequence of a single assembly from the angle of recognition satisfaction. Fig.3 describes the functions of motion guidance and precise location from the angel of a part's (subassembly's) motion state transition during a single assembly (disassembly). A single assembly process of a pair of assembly units can be divided into three phases: free motion state A, axial motion state, and free motion state B as shown in Fig.3. Free motion state A is the initial state of assembly units, axial motion state means that the assembly motion unit can only move along or rotate around the orientation axis under the axis orientation constraint, and free motion state B means the assembly motion unit and the assembly base unit compose a new subassembly and return to the free motion state again. Note that the initial state of assembly is free motion state A while that of disassembly is free motion state B because disassembly is the contrary course of assembly. During assembly, the two assembly units are in the free motion state first, and collision detection algorithm guarantees that any parts (subassemblies) don't collide with each other, and similarly, it can also avoid penetration between users and that between users and objects. Axis orientation constraints recognition algorithm detects whether axis orientation constraint is satisfied between the two assembly units, if satisfied, they will perform axis align operation via axial precise location, then they enter axial motion state in which axial collision detection algorithm guarantees axial motion without interference and detects possible design defects. Axial collision detection extends the general collision detection which cannot distinguish between contact and collision by examining the normals of the pieces where collision happens. Axial motion solving algorithm maps the users' inputs to a certain length of translation along the orientation axis.

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

Axis orientation constraint relief algorithm is used to detect user's intention of relieving axis orientation constraint. Face match constraint recognition algorithm is used to detect whether face match constraint is satisfied between the two assembly units, if satisfied, they are assembled together successfully, and compose a new subassembly, and then enter free motion state B in which face match constraint relief algorithm detects user's intention of relieving face match constraint (namely disassembly intention). Fig.4-Fig.6 show an example of motion guidance.
Precise location
Axial precise location

5. Data Translation
This module includes two functions: model translation and information extraction. The former translates the parametric model created in Pro/Engineer to triangle mesh model (Multigen OpenFlight) which can be supported in VR. The latter extracts orientation axis, match face and assembly constraints for motion guidance. It is a plug-in for Pro/Engineer and developed by Pro/Toolkit and Multigen OpenFlight API. The assembly hierarchy in Pro/Engineer is shown in Fig.7. The assembly consists of a series of subassemblies and parts, and a part consists of several features. Surfaces and geometry items (such as axis, dimension) constitute a feature. And the OpenFlight also uses a multilevel hierarchy to define the organization of the objects in the database (see Fig.8). At the top level is the database node (Node is a generic term for any record in the hierarchy). At the lowest level are objects made up of polygons (fltFace), which are, in turn, made up of vertices. Between these two levels are a number of different types of organizational nodes that are attached to each other to organize the database. An assembly, subassembly, or part in Pro/Engineer is represented by a DOF (degree of freedom) node (fltDof) in OpenFlight. A feature corresponds to a group node (fltGroup), and a surface or an axis corresponds to an object node (fltObject). The assembly constraints are stored in the comments field of OpenFlight model.
assembly

Precise location
Face match precise location

Satisfied axis orientation constraint

Satisfied face match constraint

Free motion state A Relieved axis orientation constraint

Axial motion state

Free motion state B

Relieved face match constraint

Motion guidance
Collision detection Axis orientation constraint recognition

Motion guidance
Axial collision detection Axial motion solving Axis orientation constraint relief Face match constraint recognition

Motion guidance
Collision detection Face match constr aint relief

Figure 3. State transition of a part (subassembly) in

a single assembly

Figure 4. P1 collides with P2


subassembly part ProCsys

part

part

ProCsys

ProFeature 1 ... ProFeature n

ProCsys

ProFeature 1 ... ProFeature n

ProCsys

ProAxis 1

...

ProAxis n

ProSurface 1 ... ProSurface n

Figure 7. Assembly hierarchy in Pro/Engineer


Figure 5. Recognized the axis orientation constraint

Figure 6. Recognized the face match constraint

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

db

g1

g2 fltDof (assembly)
fltDof (subassembly )

fltDof (part)

fltObject (Csys)

fltDof (part)

fltDof (part)

fltObject (Csys)

fltGroup 1 (feature)

...

fltGroup n (feature)

fltObject (Csys)

fltGroup 1 ... (feature)

fltGroup n (feature)

fltObject (Csys)

fltObject 1 (axis)

...

fltObject n (axis)

fltObject 1 (surface) ...

...

fltObject n (surface)

fltFace 1

fltFace n

Figure 8. Assembly hierarchy in OpenFlight

6. Multimodal Interaction
VECA allows users to interact with VE through multiple modalities such as speech and gesture. The multimodal interface model of VECA is shown in Fig.9. A key element in understanding user multimodal inputs is known as reference resolution [21]. In VECA, a reference resolution approach for virtual environment (RRVE) [22] is employed. RRVE improves the approach of Kehler [23], and adopts the method of Senseshape [24][25] to disambiguate in object selection of 3D interaction. RRVE divides the objects in VE into four state spaces: gestured objects which correspond to the status point, selected object last time which correspond to the status in focus, unselected but visible objects which correspond to the status activated, unselected and invisible objects which correspond to the status extinct. The sequence of cognitive hierarchy is: point > in focus > activated > extinct. In RRVE, resolution reference is just as match operation between candidate objects and reference constraints which are gained from speech. There are two types of match operation: dont conflict and meet entirely. The former is the necessary condition for the latter. For example, if an object has attribute set: {name=M4-1, type=bolt, feature= hexagon}, and the user input select the red bolt, the result of dont conflict is true and the result of meet entirely is false. In RRVE, Senseshape is a cone which is attached to the finger of virtual hand (see Fig.10). It provides valuable statistical rankings about gestured objects through collision detection. For example, the time ranking of an object is derived from the fraction of time the object spends in the cone over a specified time period: the more time the object is in the cone, the higher the ranking. The point queue is a priority queue of point objects and the priority is determined by weighted average of these statistical rankings. The activated queue is a priority queue of activated objects

and the priority is determined by distance between the object and the current viewpoint. Extinct vector is a vector of extinct objects but not considering the sequence as above. The algorithm of RRVE is as follows. 1. Get reference constraint from speech; 2. Get point object priority queue by method of Senseshape; 3. If an point object doesnt conflict with reference constraints, choose that object; 4. Otherwise, if the focus object doesnt conflict with reference constraints, choose that object; 5. Otherwise, if an activated object doesnt conflict with reference constraints, choose that object; 6. Otherwise, if an extinct object meets all reference constraints, choose that object. This algorithm simply chooses the most salient entity that meets reference constraints, regardless of the type of referential form. And we found that, when users interacted with visible objects, the accuracy of reference resolution was higher if the match condition was looser. When users attempt to interact with extinct object, most of cognitive resources fasten on speech model. The information from the speech should be considered sufficiently, so the match operation of meet entirely is used.

Voice command

Sensor data

Speech recognition

Gesture recognition

XML element, attribute


Speech parsing

Point gesture
Gesture parsing

Focus object
Activated queue

Command type, constraint

Point queue

Multimodal integration
Extinct vector
executed command or hint

Figure 9. Multimodal interface model

Figure 10. Senseshape in VECA

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

7. Experiments
The system of VECA is implemented in C++ using Microsoft Visual C++ 6.0. The VR platform is OpenSceneGraph 0.9.6-2, and the engine of speech recognition is Microsoft Speech SDK 5.1. The distributed interactive simulation platform is DMSO_RTI 1.3v6 and DVE_FM v1.0. The CAD software is Pro/Engineer 2001 and we implement application development by Pro/Toolkit and Multigen OpenFlight API. VECA is created to be capable of supporting a variety of VR peripherals such as CyberGlove, 3D shutter glasses. The experimental environment is illustrated in Fig.11. One PC is the Pro/E server and four PCs join the simulation. Users can download triangle mesh models which include corresponding information from the Pro/E server. Then users utilize simulation application (VM federate 1 to 3) to perform assembly task collaboratively through CyberGlove, microphone, mouse or keyboard. DVE_StealthAndPlayer can record and replay the whole course of VA simulation. The system runs over 100M Ethernet and a switch which supports multicast. Experiment shows that VECA provides a natural and effective simulation environment, and HLA-based communication and collaboration can effectively resolve the problem of cooperation and competition between multi-users. Fig.12-Fig.15 illustrates a single assembly course of a part.

Figure 12. Federate 1 and federate 2 strive for the

ownership of a part

Figure 13. Federate 2 gets the part, and the part

collides with the subassembly

VM federate 1

VM federate 2

VM federate 3

100M ethernet network


HS1 HS2 OK1 OK2 PS 1 2 3 4 5 6 7 8 9101112 COLACTSTACONSOLE

Switch supported multicast

Pro/E server

VM federate 4 (DVE_StealthAndPlayer)

Figure 14. Federate 2s intention of assembly is

Figure 11. Experimental environment

recognized

The experiment shows that VECA can effectively solve the problem of competition and collaboration between multi-users, and help users locate the part (subassembly) freely and precisely. It has been successfully applied to the design of certain type of products.

Figure 15. The assembly is finished

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

8. Conclusions
This paper presents a Virtual Environment for Collaborative Assembly, which can build a collaborative virtual assembly system allowing geographical dispersed engineers to perform an assembly task together, since there are some requirements on virtual assembly based on a distributed virtual environment. VECA mainly includes HLA-based (High Level Architecture) communication and collaboration, motion guidance based on collision detection and assembly constraints recognition, data translation from CAD to virtual environment, reference resolution in multimodal interaction, and so on. Because VECA can only translate the data from CAD to virtual environment, its necessary to return the feedback to CAD in the future work.

9. References
[1] Jayaram S., Connacher H., Lyons K., Virtual Assembly Using Virtual Reality Techniques, Computer-Aided Design, 29(8), 1997, 575-584.

[2] Xiaobu Yuan, Simon X. Yang, Virtual assembly with biologically inspired intelligence Systems, Man and Cybernetics, Part C, IEEE Transactions, 33(2), 2003, 159-167. [3] Jianzhong Mo, Chi Cheng, Prabhu B.S. and Gadh R., "On the Creation of a Unified Modeling Language Based Collaborative Virtual Assembly/Disassembly System" ASME 2003 Design Engineering Technical Conferences and Computers and Information in Engineering Conference, Chicago, Illinois, 26 September 2003. [4] Michael R. Maecdania and Michael J. Zyda, A taxonomy for networked virtual environments IEEE Multimedia, 4(1), January-March 1997, 48-56. [5] Ling Chen, Gencai Chen, Hong Chen, Xiaolei Xu, Chun Chen, Study on Effects of Network Characteristics on Cooperation Performance in a Desktop CVE System Computer Supported Cooperative Work in Design, 2004, Volume 1, 26-28 May 2004, 121-126. [6] Srinivasan H., Figueroa R., and Gadh R., Selective disassembly for virtual prototyping as applied to demanufacturing Journal of Robotics and Computer Integrated Manufacturing, 15(3), 1999, 231-245. [7] Luis Marcelino, Norman Murray, Terrence Fernando, A Constraint Manager to Support Virtual Maintainability Computer & Graphics 2003, 27, 1926. [8] Huagen Wan, Shuming Gao, Qunsheng Peng, VDVAS: An Integrated Virtual Design and Virtual

Assembly Environment Journal of Image and Graphics, 7A(1), 2002, 27-35. [9] Jayaram S., Yong Wang, Jayaram, U., Lyons, K., Hart, P., A Virtual Assembly Design Environment Proc. IEEE Virtual Reality 99 Conf., IEEE CS Press Los Alamitos, Calif., 1999, 172-179. [10] Valerie D Lehner, Thomas A DeFanti, Distributed virtual reality: supporting remote collaboration in vehicle design Computer Graphics and Applications, IEEE, 17(2), 1997, 13-17. [11] Jianzhong Mo, Qiong Zhang, Rajit Gadh, Virtual Disassembly International Journal of CAD/CAM, 2(1), 2002, 29-37. [12] Shyamsundar N., Gadh R., Internet-based collaborative product design with assembly features and virtual design spaces Computer-Aided Design, 2001, 33(9), 637-651. [13] Shyamsundar N., Gadh R., Collaborative virtual prototyping of product assemblies over the internet Computer-Aided Design, 34(10), 2002, 755-768. [14] Aina Sui, Wei Wu, Xiaowu Chen, Qinping Zhao, Assembly Constraint Semantic Model In Distributed Virtual Environment Journal of Computer Research and Development, 42, 2005. [15] Xiaowu Chen, Aina Sui, Wei Wang, Yingchun Huang, Nan Xu, Zhangsheng Pan, Hongchang Lin, VEADAM: A Collaborative Virtual Design and Virtual Manufacture System Journal of System Simulation, 17(2), 2005, 371-374. [16] IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) - Framework and Rules (IEEE Std 1516-2000). Institute of Electrical and Electronics Engineers, Inc., 2000. [17] Xiaoju Shen, Hage R., Georganas N., Agentaided collaborative virtual environments over HLA/RTI Distributed Interactive Simulation and Real-Time Applications, 1999. Proceedings. 3rd IEEE International Workshop on 22-23 Oct. 1999, 128 -135. [18] Zuoyi Duan, Wei Wu, Research on DistributedInteractive-Simulation-Oriented Application Framework Third China Conference on Virtual Reality and Visualization (CCVRV2003), Changsha, China, 2003, 234-237. [19] Fa, M., Fernando, T., Dew, P.M., Direct 3D manipulation techniques for interactive constraintbased solid modeling Proceedings of the Eurographics93. Oxford: Blackwell Publishers, 1993, 237-248. [20] Yingchun Huang, Xiaowu Chen, Wei Wu, Motion Guidance in Virtual Assembly Based on Collision Detection and Constraints Recognition Fifth China Conference on Virtual Reality and Visualization (CCVRV2005), Beijing, China, 2005.

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

[21] Joyce Y. Chai, Hong Peng-yu, Michelle X. Zhou, A Probabilistic Approach to Reference Resolution in Multimodal User Interfaces Proceedings of the 2004 International Conference on Intelligent User Interfaces (IUI-2004), ACM, Madeira, Portugal, January, 2004, 70-77. [22] Nan Xu, Xiaowu Chen, Ying Li, A Multimodal Reference Resolution Approach for Virtual Environment Fifth China Conference on Virtual Reality and Visualization (CCVRV2005), Beijing, China, 2005. [23] Andrew Kehler, Cognitive Status and Form of Reference in Multimodal Human-Computer Interaction Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth

Conference on Innovative Applications of Artificial Intelligence, July 2000 - August 2000, 685-690. [24] Olwal, A., Benko, H., Feiner, S., SenseShapes: using statistical geometry for object selection in a multimodal augmented reality Proceedings of the Second IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR 03), Tokyo, Japan, 7-10 Oct. 2003, 300-301. [25] Ed Kaiser, Alex Olwal, David McGee, Hrvoje Benko, Andrea Corradini, Xiaoguang Li, Phil Cohen, Steven Feiner, Mutual Disambiguation of 3D Multimodal Interaction in Augmented and Virtual Reality Proceedings of the 5th international conference on Multimodal interfaces (ICMI03), 2003, 12-19.

Proceedings of the Second International Conference on Embedded Software and Systems (ICESS05) 0-7695-2512-1/05 $20.00 2005

IEEE

Вам также может понравиться