136
AN INTEGRATED APPROACH TO COMBINE COMPUTER-BASED TRAINING (CBT) AND IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY By YOUNG JUN KIM A dissertation submitted in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY WASHINGTON STATE UNIVERSITY School of Mechanical and Material Engineering May 2007 © Copyright by YOUNG JUN KIM, 2007 All Rights Reserved l

AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

AN INTEGRATED APPROACH TO COMBINE

COMPUTER-BASED TRAINING (CBT) AND

IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY

By

YOUNG JUN KIM

A dissertation submitted in partial fulfillment of the requirements for the degree of

DOCTOR OF PHILOSOPHY

WASHINGTON STATE UNIVERSITY School of Mechanical and Material Engineering

May 2007

© Copyright by YOUNG JUN KIM, 2007

All Rights Reserved l

Page 2: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

© Copyright by YOUNGJUN KIM, 2007 All Rights Reserved

Page 3: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

ii

To the Faculty of Washington State University:

The members of the Committee appointed to examine the dissertation of YOUNG JUN KIM find it satisfactory and recommend that it be accepted.

___________________________________ Chair ___________________________________ ___________________________________

Page 4: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

iii

ACKNOWLEDGMENT

I wish to express my thanks first to God and my mother. Without the support and

confidence of my mother this would not have been possible. I would also like to thank

my advisors, Dr. Uma Jayaram and Dr. Sankar Jayaram for being patient, supporting, and

guiding all my research on my dissertation. Special thanks to Dr. Jandhyala for being on

my committee.

Page 5: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

iv

AN INTEGRATED APPROACH TO COMBINE

COMPUTER BASED TRAINING (CBT) AND

IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY

Abstract

by Young Jun Kim, Ph.D.

Washington State University May 2007

Chair: Uma Jayaram

There is currently a vital need to improve effectiveness and efficiency of training

technologies used in industry – especially in the areas of assembly, disassembly,

maintenance, installation, and troubleshooting. Current training techniques vary from

paper-based (books, manuals) to computer-based (presentations, web pages, on-line help,

etc.) to immersive (VR-based) systems. This dissertation presents an integrated approach

to create a Computer-Based Training (CBT) and Immersive Training (ImT) system in a

unified manner to exploit commonalities and that is integrated with a Learning

Management System (LMS).

We coin this approach iTrain, integrated Training. iTrain consists of CBT, ImT, and

a learning management tool. The goal is to enable transformational change of mechanical

assembly training through the creation of a new generation training ensemble. In this

dissertation, the methodology, approaches, and algorithms for such integrated training

systems are presented. Based on this methodology and these approaches, a CBT

application that allows interactive training using traditional computer tools (keyboard and

mouse) and an immersive application that allows interactive learning using VR devices

Page 6: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

v

have been both developed and integrated. These applications are integrated with the

Sharable Content Object Reference Model (SCORM) so that the training can be managed,

tracked, and evaluated in an effective and efficient manner. A unified approach has been

designed to manage common data such as model name, and model ID. A database has

been designed and implemented for access from CBT, ImT, and LMS. This prototype

integrated training system is presented and discussed in this dissertation.

Page 7: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

vi

TABLE OF CONTENTS

ACKNOWLEDGMENT................................................................................................... III

ABSTRACT...................................................................................................................... IV

1. INTRODUCTION .......................................................................................................... 1

2. LITERATURE REVIEW ............................................................................................... 4

3. PROBLEM DEFINITION AND PROPOSED SOLUTION.......................................... 9

3.1 PROBLEM DEFINITION ................................................................................................ 9

3.2 OVERALL SOLUTION ................................................................................................ 10

3.3 RESEARCH OBJECTIVES............................................................................................ 13

3.3.1 Computer-Based Training (CBT) Application............................................................................13

3.3.2 Immersive Training (ImT) Application.......................................................................................13

3.3.3 Learning Management System (LMS)........................................................................................14

3.3.4 Unified Approach........................................................................................................................14

4. OVERALL APPROACHES......................................................................................... 16

4.1 OVERVIEW ............................................................................................................... 16

4.2 COMPUTER-BASED TRAINING .................................................................................. 16

4.3 IMMERSIVE TRAINING .............................................................................................. 17

4.4 LEARNING MANAGEMENT SYSTEM.......................................................................... 18

4.5 UNIFIED APPROACH ................................................................................................. 20

5. COMPUTER-BASED TRAINING METHODOLOGY AND DESIGN..................... 22

5.1 OVERVIEW ............................................................................................................... 22

5.2 COMPUTER-BASED TRAINING METHODOLOGY........................................................ 23

5.3 ALGORITHMS IN THE CBT APPLICATION .................................................................. 25

5.3.1Creation of a Scene Graph ...........................................................................................................25

5.3.2 Support for Assembly/Disassembly Functionality......................................................................28

5.4 DESIGN, DESCRIPTIONS, AND IMPLEMENTATION...................................................... 29

5.5 MODEL PROCESSING APPROACH.............................................................................. 33

5.5.1 3D Geometric Models .................................................................................................................34

5.5.2 Data Extraction ...........................................................................................................................35

6. IMMERSIVE TRAINING METHODOLOGY AND DESIGN .................................. 37

6.1 OVERVIEW ............................................................................................................... 37

6.2 IMMERSIVE APPLICATION - I .................................................................................... 38

Page 8: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

vii

6.2.1 Methodology for Training Sessions in ImT ................................................................................40

6.2.2 Training on Assembly of a Large Press Machine .......................................................................41

6.2.3 Training on Assembly of the Fifth Wheel to a Truck Chassis ....................................................48

6.3 IMMERSIVE TRAINING APPLICATION – II.................................................................. 54

6.3.1 Enhancement of the ImT Application .........................................................................................69

7. LEARNING MANAGEMENT SYSTEM METHODOLOGY AND DESIGN .......... 71

7.1 OVERVIEW ............................................................................................................... 71

7.2 METHODOLOGY ....................................................................................................... 72

7.3 DESIGN OF THE SCORM WEB PAGES ...................................................................... 73

7.4 IMPLEMENTATION OF THE SCORM WEB PAGES...................................................... 73

7.5 INTEGRATION WITH APPLICATIONS .......................................................................... 80

8. UNIFIED APPROACH ................................................................................................ 84

8.1 OVERVIEW ............................................................................................................... 84

8.2 METHODOLOGY OF UNIFIED APPROACH .................................................................. 84

8.3 DESIGN OF UNIFIED APPROACH ............................................................................... 85

8.4 IMPLEMENTATION OF DATABASE ............................................................................. 87

8.5 ACCESSING DATABASE ............................................................................................ 89

8.6 TRAINER PERSPECTIVE............................................................................................. 90

8.7 TRAINEE PERSPECTIVE............................................................................................. 91

9. TEST CASE.................................................................................................................. 95

10. SUMMARY AND CONCLUSION ......................................................................... 102

REFERENCES ............................................................................................................... 106

APPENDIX A................................................................................................................. 110

APPENDIX B ................................................................................................................. 122

Page 9: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

viii

LIST OF FIGURES Figure 1: Ensemble training.......................................................................................... 11

Figure 2: Overall system............................................................................................... 12

Figure 3: SCORM web page......................................................................................... 19

Figure 4: Overall scenario of iTrain.............................................................................. 20

Figure 5: Overview of CBT .......................................................................................... 23

Figure 6: The format of the data file ............................................................................. 27

Figure 7: A scene graph ................................................................................................ 27

Figure 8: Apply a transformation matrix to a selected part .......................................... 29

Figure 9: Classes of the CBT application ..................................................................... 29

Figure 10: A snapshot of the CBT application ............................................................. 31

Figure 11: A basic node of scene graph........................................................................ 32

Figure 12: Highlighting a component in the CBT application ..................................... 33

Figure 13: CATIA V5 pseudo code .............................................................................. 36

Figure 14: Overall system of ImT................................................................................. 38

Figure 15: Relative size of operator large press machine ............................................. 43

Figure 16: Exploded Pro/E assembly model X31-00-21440 of large press machine ... 44

Figure 17: Comparison between Pro/E assembly hierarchy and VADE assembly hierarchy ............................................................................................................... 45

Figure 18: Environment modeling ................................................................................ 46

Figure 19: Custom environment for the fifth wheel assembly ..................................... 50

Figure 20a: Lowering the fifth wheel with a crane in the real factory.......................... 51 Figure 20b: Lowering the fifth wheel with a crane in VADE ...................................... 51

Figure 21: Labeled bolt positions ................................................................................. 52

Figure 22: Worker inserting bolt 1 in VADE ............................................................... 53

Figure 23a: Worker inserting bolt 2 in real life b: 1st person and 3rd person views in VADE ................................................................................................................... 53

Figure 24a: Positioning bolt 5 in a real factory b: Positioning bolt 5 in VADE........... 54

Figure 25: Overall architecture of ImT [47] ................................................................. 56

Figure 26: Reorganizing assembly hierarchy [47]........................................................ 60

Figure 27: Constraints for engaging tool and fastener [47] .......................................... 65

Figure 28: Overall flowchart of the event handling [47] .............................................. 68

Figure 29: Flowchart of event handling for ToolInHand stage [47]............................. 68

Figure 30: Flowchart of event handling for rotating bolt stage [47]............................. 69

Figure 31: A wrench is gripped in ImT ........................................................................ 70

Figure 32: Design of the training course....................................................................... 73

Page 10: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

ix

Figure 33: A relationship between the web page and LMS.......................................... 74

Figure 34: SCORM Conceptual Run-Time Environment [31]..................................... 75

Figure 35: SCORM API, API Instance, API Implementation [31] .............................. 76

Figure 36: imsmanifest.xml .......................................................................................... 78

Figure 37: RELOAD GUI............................................................................................. 79

Figure 38: Remediation of the practicing mode ........................................................... 80

Figure 39: Integration between SCORM web pages and digital application................ 81

Figure 40: FirstLaunch function ................................................................................... 82

Figure 41: Data structure of the shared memory .......................................................... 83

Figure 42: Overall architecture of unified approach..................................................... 86

Figure 43: Database design........................................................................................... 87

Figure 44: The design of DLL ...................................................................................... 88

Figure 45: Database access in JavaScript of the web page........................................... 90

Figure 46: LMS user interface ...................................................................................... 92

Figure 47: Course registration and available courses ................................................... 93

Figure 48: SCORM web page with CBT and ImT ....................................................... 94

Figure 49: The learning mode (Step 1-3)...................................................................... 97

Figure 50: The learning mode (Step 4–9) ..................................................................... 98

Figure 51: The practicing mode.................................................................................. 100

Figure 52: Test mode .................................................................................................. 101

Figure 53: Results from SCORM ............................................................................... 101

Page 11: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

x

LIST OF TABLES Table 1: Assembly steps in real and virtual environments ........................................... 47

Table 2: A list of tasks for flat tire replacement ........................................................... 95

Table 3: A list of tasks for a flat tire replacement......................................................... 99

Page 12: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

xi

Dedication

This dissertation is dedicated to my mother,

who provided both emotional and financial support.

Page 13: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

1

CHAPTER ONE INTRODUCTION

State-of-the-art training techniques in mechanical assembly have evolved quickly

with the introduction and rapid diffusion of digital training technologies. The growing

availability of training technologies has challenged training personnel to assess and refine

the way they structure courses, deliver content, and measure achievement. Some of the

technologies provide Computer-Based Training (CBT) while others may provide

Immersive Training (ImT).

Computer-Based Training is a process of training using CBT applications installed in

computers. Recent developments in CBT have made it easier to access training courses

by using personal computers. The computer is used to show some of the processes being

modeled. For example, a trainee can watch an assembly process of a new product using

video files. Technologies such as Macromedia Breeze and EON Reality in CBT have

grown fast and wide.

Nevertheless, most applications in CBT are based on pre-defined scenarios, and

trainees do not fully interact with the applications. In addition, some applications do not

have functionalities to show simulations in the applications. These applications are able

to show some sequences, but the lack of interaction may affect trainees’ learning time or

perception. The keyboard/mouse interactions are key functionalities to be considered in a

computer-based training application.

Virtual Reality (VR) technologies have been used in a variety of training applications.

Immersive Training (ImT) is based on these technologies and has expanded and

developed rapidly over the past few years. It has great promise as a training tool. Some of

Page 14: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

2

these applications have been used for training astronauts, dentists, medical doctors,

construction workers, and engineers [1]. Even though costs to set up devices such as

immersive screens and tracking devices may be expensive, immersive training is one

solution to address training needs in difficult and dangerous situations. For example, a

high-risk training session, such as a medical surgery or safety training has the potential to

benefit from ImT. This is also the case where the cost of hands-on training in certain

fields such as construction of a special structure would be very expensive or situations

where practice using realistic interaction is important.

A learning management system (LMS) is a software package that manages and

delivers the training contents through a world wide web (WWW). The LMS usually plays

the role of providing tools for registering, delivering, and evaluating the course. Web-

based training has been growing fast, enabling trainees to gain information more easily

and quickly than in the past. Integration between the digital training applications and web

pages makes it easy to provide instructions and manage courses. Creating web-based

courses without a learning management system needs careful and involved management.

Many training technologies are not designed to be easily integrated with other

technologies. For example, immersive simulation training environments are relatively

new, and integration with commercially available learning management systems has

rarely been attempted, despite the anticipated benefits such an integration would produce.

Additionally, not all computer-based instruction technologies are designed to promote the

best practices in training and learning. An ensemble is a set of components that work

together. The primary objective of this dissertation is to conceptualize, design, develop,

Page 15: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

3

and demonstrate an ensemble for training, coined iTrain. iTrain consists of a set of key

components and a unified approach working with a learning management system.

The goal is to enable transformational change of training through the creation of this

new generation training ensemble. In this dissertation, the methodology, approaches, and

algorithms for a system will be designed and implemented. A prototype that demonstrates

the feasibility of this solution will be created.

Page 16: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

4

CHAPTER TWO LITERATURE REVIEW

This chapter describes a review of some of the previous work in fields that are

relevant to our work, such as Computer-Based Training (CBT), Virtual Reality (VR)

applications, learning management systems (LMS), and software engineering. The

research for this dissertation will build upon several research concepts and efforts. There

are many illustrative efforts that have used educational technologies to promote learning

and training [2-4]. These studies discovered that a well designed technology-supported

curriculum can significantly improve learning and training environments. Lessons

learned from examples such as these will be incorporated into the design.

CBT can maximize the one-on-one interaction between an instructor and trainee,

including the interchange of information and feedback. The benefits of CBT interactive

learning are as follows: 1) The trainee receives immediate feedback on performance in a

structured and non-threatening environment; 2) Trainees can focus on the information

they need, at the point at which they need it; 3) The curriculum and pace can be tailored

to the experience level of each trainee; and 4) Active learning occurs as trainees interact

one-on-one with their computer [5].

Some noteworthy examples of organizations that have CBT programs are Armstrong

Lab, the Army Research Institute, the Office of Naval Research, and the Naval Air

Warfare Center [6]. A 1992 study by Interactive Communications found that students

completed their material 60 percent faster on computer based interactive video disc than

they did in a classroom. The study credited improvements to the ability of interactive

CBT to allow students to put their knowledge into action quickly via simulations. A load

Page 17: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

5

dispatcher training simulator at the Power System Training Institute conducts two week

courses that cover various aspects such as Black Start and Synchronization of Systems,

Basic System Characteristics, Economics, and Load Schedules [7].

Considerable literature exists that describes how immersive virtual reality (VR) has

opened new realms in the area of training related to the military, manufacturing, and

medicine [1,8-15]. The literature states that VR-based learning can, in some cases, offer

profound benefits over conventional learning methods [16]. For example, a virtual reality

training application being developed for the U.S. Army, The Dismounted Infantry Virtual

Environment [17], will allow soldiers to be totally immersed in a simulated battlefield

environment and participate in simulated exercises. A virtual learning system [18] was

modeled for manufacturing industries as an integrated system consisting of a training

visualization suite, an interface module, and an instruction module. Motorola conducted a

study of robotic manufacturing plant operations by comparing three groups: (1) trainees

in an immersive VR environment, (2) trainees who only observed the environment being

simulated, and (3) a control group that worked directly in the manufacturing laboratory.

The fewest errors were made by the students using VR, particularly during complex tasks.

Boeing uses the virtual environment in training. This method has increased training

efficiency and improved student output [19].

A 2004 report based on data from seventeen countries states that the market for

visual simulation/virtual reality systems is financially strong, valued in 2003 at nearly

$43B, and that this trend represents a healthy annual growth rate of 9.8%. Strong growth

is predicted in most areas of the industry, continuing for the next several years, with a

projected market value of almost $78B by 2008 [20].

Page 18: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

6

While real-life experience is in some cases the best way to learn, at times it is too

expensive, dangerous, or not feasible [5].

The term “blended training” is now becoming increasingly used by companies to

describe the way they combine traditional and electronic learning to provide the best

overall results [21-23]. “Blended does not mean chopping off the first day of a classroom-

based course and adding a bit of CBT (computer based training)… What the 'blended

movement' gives us is the chance to get our breath, re-assess, re-think and re-engineer

training processes so that the benefits of each method can be realized and maximized for

tomorrow… While healthy skepticism is good, it would be wrong to go into denial over it

because, in the long run, blended is a compelling proposition [24] .”

Companies considering training as a solution for their business need to consider a

variety of delivery options. Each of these options has specific strengths and weaknesses

that must be considered before a viable solution can be constructed [25]. Examples of

products that have used the blended strategy successfully include Cybesphere [18], which

employs a fully immersive VR visualization suite along with a collaborative product suite

to achieve an ideal training environment for manufacturing industries; Thomson Learning,

which combined three of its units, NETg, Wave Technology and Course Technology, to

form a single entity [24], and Right Hemisphere [26]. The key to a properly developed

blended learning program is to know what, when and how to combine these strategies

[27]. It has been predicted that we can expect to see more and more companies offering

this type of “bundled” blended learning solutions [28-30].

A learning management system is able to manage, track, and evaluate a training

course. Training applications need to be integrated with a learning management system.

Page 19: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

7

Shareable Content Object Reference Model (SCORM) is a learning content standard

developed by ADL [31]. SCORM is used for communicating data between web-based

instructions and the learning management system. Once the learning content is created, it

can be used with little adaptation in any LMS. SCORM also allows re-use of content.

SCORM is used widely for training courses, and it is a standard in developing

interoperable learning content [32]. In other words, any conforming LMS can allow

eLearning developers to post their web courses developed in SCORM.

Bringing CBT and ImT together with a learning management system requires

knowledge of software architecture and software engineering. Many philosophies and

theories relate to software architectures [33,34]. For example, the concept of structural

modeling resulted from the efforts of the Air Force Aeronautical Systems Command

(ASC/YW) and has been used by Air Force contractors since the late 1980s to design

large-scale, high fidelity trainer simulation software [35]. Object oriented design

techniques apply the concept of abstraction, encapsulation, hierarchy, inheritance, and

modularity [36]. Booch states: “We have observed two traits common to virtually all of

the successful object-oriented systems we have encountered, and noticeably absent from

the ones we count as failures: the existence of a strong architectural vision and

application of a well managed iterative and incremental development cycle [36]..”

Architecture-based development is a process that utilizes software architectures as

the primary tools for the design, evolution, implementation, migration, and understanding

of a software system [35,37,38]. Architecture-based development involves domain

analysis, iterative development, effective representation and communication, and

enforced system conformance to the software architecture. Structural modeling [39] has

Page 20: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

8

provided an effective solution to the problem of software complexity [39,40]. Structural

modeling views software architecture as the backbone of the entire software cycle, not

just the software development effort. The use of model problems as a component-based

software engineering technique is gaining importance [41]. An approach based on risk

analysis, realization of a model problem, and repair of residual risk is developed. This

process specifies the necessity of using an iterative or spiral process. Modeling simulation

architectures for distributed simulation are described in the literature [42-44].

This dissertation both CBT and ImT focuses on methods and algorithms to integrate

digital training applications with an LMS. The system developed in this dissertation has

been informed by concepts presented in this chapter and seeks to extend the knowledge

of creating digital training applications.

Page 21: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

9

CHAPTER THREE PROBLEM DEFINITION AND PROPOSED SOLUTION

3.1 Problem Definition

Traditional training programs in CBT often employ instructional manuals using web

pages, animations, and movie files. Traditional training methods in CBT offer some

positive aspects such as availability, efficiency, speed of delivery, instant feedback, and

so on. There are well-known commercial CBT tools. For example, Adobe eLearning,

which offers solutions for rapid training, includes capabilities such as “create,”

“manage,” “deploy,” and “track the training courses” [45]. Adobe eLearning can show

animations and movie files.

Even though these CBT applications can show simulations, it is not possible for the

user to manipulate models. Most traditional training softwares in CBT do not allow the

trainee to interact with the models. Trainees can not directly interact with the models

using a mouse and a keyboard. This disadvantage becomes a roadblock in demonstrating

an assembly/disassembly process. In the assembly process, the sequence of the assembly

process and realistic interactions are important. Being able to use the correct tool to

assemble a component is also important. Traditional training methods might not be very

efficient in assembly process training because of this lack of interaction with the models.

A CBT application needs to be created that allows the user to perform

assembly/disassembly operations.

Immersive training applications have been widely applied to train certain sectors of

industry. ImT is still growing as a viable technology. There is considerable research

needed in creating and ImT environment for assembly/disassembly.

Page 22: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

10

Another issue is that neither ImT nor CBT are well integrated with a management

tool. Some CBT applications have attempted to integrate with a management tool, but

these applications usually do not provide an interaction method with the models. Most

ImT applications have not attempted to add a management tool, so these applications are

mostly stand-alone training applications.

Also, the two have not been considered together to identify commonalities and

methods to exploit these commonalities. There are commonalities in terms of the models,

the overall interaction schemes, and the consequences of the interactions. Thus, a well-

designed and well-coordinated approach to providing training in both a computer-based

environment and an immersive environment is desirable.

3.2 Overall Solution - iTrain

We have coined our solution iTrain for Integrated Training. iTrain is composed of

three key components (Figure 1). A Computer-Based Training (CBT) application is one

of the key components developed to instruct trainees using a common computer. An

Immersive Training (ImT) component is a core component created to support an

immersive environment that allows a simulated procedure to be performed in a natural

manner. One more component can be Live Training (LT), but LT is not considered in this

dissertation. Both ImT and CBT have been created to support the modeling and

simulation needs of iTrain. Differences between ImT and CBT, although both are

computer-based, are the level of interaction and sense of presence in the environments.

Both ImT and CBT communicate with standard web-based e-learning. The web-based

contents interact with a learning management system.

Page 23: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

11

It is not the intent that all three components of the ensemble be used for every

exercise. Certain exercises lend themselves well to a planned sequence, starting with a

CBT exercise, transitioning to an ImT exercise, and culminating in a LT exercise, while

other sequences of training components may be appropriate for another training module.

Thus, the intent of the ensemble is to allow both individual and sequenced exercises

through the use of different configurations of technologies in the ensemble. In this

dissertation, digital training methods (CBT and ImT) are considered as being used

together as a training method. Live Training coordination will need to be blended in

creatively later – that is not our current focus. It is included here only to demonstrate the

complete model.

Figure 1: Ensemble training

Instead of a farrago of technologies crafted independently and pieced together, a

foundation and architecture is laid for a unified approach during the design of the

components to determine how they will work to provide a coherent set of task

simulations. This objective will be achieved by focusing on development of a common

Page 24: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

12

repository in a learning management system (LMS) for the model that can be shared by

both the CBT and the ImT environments so that the administrative and technological

burden of maintaining both systems separately is alleviated. The computational model

interoperability between the two computer-generated environments will present new

methodology to allow domain specific scenarios to be generated in both environments

quickly and methodically. In addition, this commonality will provide human-computer

interface and transfer of training merits. Thus, a unified approach in training exercises

will contribute to a more sustainable solution for the organization and the individual.

Figure 2 shows the overall system of iTrain. The web pages are connected with a

digital application, and these pages are also in communication with a learning

management system. Students will interact with the web pages, which show instructions

of lessons, and they will also interact with digital applications, which will be either CBT

or ImT based.

Figure 2: Overall system

Page 25: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

13

3.3 Research Objectives and Functional Specifications

The focus of the research in this dissertation is to design and create the CBT

application, the ImT application, and the Learning Management System (LMS) in an

integrated manner. The commonality between CBT and ImT will be identified to create a

common repository. The assembly/disassembly operations with tool interaction will be

created in both CBT and ImT. The following sub sections identify specific research

objectives for CBT, ImT, LMS, and the unified approach of the system as developed in

this dissertation.

3.3.1 Computer-Based Training (CBT) Application

Requirements for the CBT application are to design a new architecture in order to

interact with the models and to communicate with the LMS. A mouse and a keyboard

will be used as interaction methods so that the trainee is able to manipulate the models.

The CBT application will have the functionality to assemble/disassemble the models for

the assembly process training. The CBT application will be able to display the 3D

geometry models. The CBT application will provide a scene graph based on the assembly

hierarchy from the CAD system. As a supporting component, 3D geometry models and

properties of the models will be exported from the CAD system.

3.3.2 Immersive Training (ImT) Application

The ImT application needs to support training related to assembly/disassembly,

including complex cases that require a crane or a tool. The research goals of ImT are as

follows:

Page 26: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

14

Create functionality to allow training using a crane for the assembly process

Create a functionality to allow the use of a mechanical tool in an immersive

environment

Create functionality to allow a virtual hand to interact with the tool and the

part during the assembly/disassembly process

Allow realistic assembly simulations with these mechanical tools in the

native CAD system

Use kinematics when a component is being assembled/disassembled

3.3.3 Learning Management System (LMS)

The overall architecture needs to be designed so as to provide an LMS and the

relevant connections to the digital applications (CBT or ImT). The LMS will be used for

the following objectives:

Manage trainees’ accounts

Manage a training course

Deliver a training course

Provide feedback to the trainee

Give a final score to the trainee

3.3.4 Unified Approach

The research objectives of the unified approach are to investigate and collect the

commonalities of the digital training applications and exploit them so that the trainee is

effectively instructed through iTrain. In addition, the repositories for common data

Page 27: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

15

need to be defined and implemented for both CBT and ImT. The common repositories

need to be built into a database so that digital applications are able to update common

data such as geometry models, paths of models, and properties of models. In addition,

the web pages linked to the LMS should be able to access common data in order to

provide feedback to the trainee.

Page 28: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

16

CHAPTER FOUR OVERALL APPROACHES

4.1 Overview

The overall approaches that will be pursued will create capabilities to support the

training mission in various digital environments utilizing a learning management system.

The subsequent sub-sections will describe the process in detail.

4.2 Computer-Based Training

The CBT application for assembly/disassembly training will have two main modes.

One is a “Learning Mode”. This mode allows students to view a certain predefined

assembly process as a part of the lesson. For example, if there is an assembly model, the

CBT is able to show the disassembly process to students. The other mode is a “Practicing

Mode”: This mode lets students interact with 3D models inside the CBT application.

Using a mouse and a keyboard, they will be able to assemble/disassemble a 3D model

inside the CBT application. When students interact with the application, the result gets

recorded in a learning management system. The trainer can evaluate the trainee’s

performance based on the result.

There are many graphics libraries and open sources, such as OpenPerformer,

OpenGL, and OpenSceneGraph. A CBT application will be developed for iTrain based

on OpenSceneGraph (OSG) [46]. OpenSceneGraph was chosen because of the following

featured capabilities:

It can read various 3D geometry data files, such as VRML, Inventor, 3DS,

and native OSG files (.osg, .IVE).

Page 29: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

17

It is easy to navigate in the application.

It uses a scene graph to create a model hierarchy.

It can visualize a 3D stereo image.

It is scalable and an open source library.

4.3 Immersive Training

Two ImT applications have been developed and modified for assembly/disassembly

training. One is for assembly simulation and training with a crane in an immersive

environment and the other one is for using a tool such as a wrench for assembly training

in a VR system embedded in a CAD system.

The first immersive application was created to provide functionality so that the

immersive virtual assembly application could simulate a real assembly process. This

application will be used as a stand-alone application and it will show the capabilities of

the immersive virtual assembly application for training. This was an existing application

that has evolved over the years in the lab and was modified and fine-tuned with additional

functionality as a part of this dissertation for the training scenarios.

The second ImT application provides haptics-enabled virtual tools embedded in a

native CAD environment, such as CATIA V5TM [47]. The key functionality of the ImT

application is a unique capability to perform interactive assembly and disassembly

simulations in a native Computer-Aided System (CAD) environment. Since the

embedded system in a native CAD system is used as the ImT application, native CAD

models can be directly used for training purposes. The native CAD assembly data needs

to be integrated with constraints data that will be used in the virtual environment. In order

Page 30: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

18

to accomplish this, some of the key issues are the following: the native CAD kinematics

capability needs to be integrated with the immersive environment, algorithms need to be

developed to dynamically organize the assembly constraints for use in manipulation with

a virtual hand for assembly/disassembly simulations and an event-callback mechanism

needs to be created in which different events and callback functions can be designed and

implemented to simulate different training scenarios in the virtual environment.

This second application has the capability to provide a simulation environment using

tools such as allen and box-end wrenches in the CAD system with the interaction of VR

hardware (tracking device, glove, and haptic device). As a part of the work in this

dissertation, the understanding of the theory and practice of tool/hand/part interaction

was expanded by using a combination of kinematic motion, collision detection, and

physical-based modeling in the ImT application.

4.4 Learning Management System

Standard HTML web pages will be used for students to interact with each course.

The web pages will be available through a learning management system (LMS). SCORM

will be chosen as the development standard to create common interfaces and data

exchange formats for the CBT and ImT lessons to conform with the LMS. In each web

page, SCORM will deliver content, track students, and get feedback from ImT or CBT.

SCORM will manage a list of students, check the completion of courses, etc. Figure 3

shows the data exchange processes for the web page with the API. The student will first

register for the course in SCORM, and SCORM will show the student how to do the

lesson. Shared memory will be used for sending and receiving the data with CBT or ImT

Page 31: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

19

using ActiveX. Between SCORM API and the web page, JavaScript will be used, and

ActiveX is used for interaction.

The recording of data during training sessions is essential for providing feedback to

the trainees, scoring the trainees, and for certification. Methods for creating, recording,

and storing “script” data will be created through SCORM. These scripts will record the

motions, interactions, and actions/events in a condensed manner. Only the data that

results in events and consequences will be recorded in order to minimize data storage

while ensuring that valuable process steps are recorded. To record the events of training

courses, the SCORM application will be used for tracking students [31].

Figure 3: SCORM web page

A protocol is a communication method between two different systems. The

simulation of protocols presents a different challenge. Methods will be created to allow a

trainee to walk through a protocol, will provide guidance where necessary, and will

capture mistakes during a protocol. Mistakes captured during the simulation will be

communicated directly to students. Figure 4 shows the overall scenario of iTrain. Both

Page 32: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

20

CBT and ImT are connected with SCORM API, so that applications send and receive

feedback while students perform a training course.

Figure 4: Overall scenario of iTrain

4.5 Unified Approach

Both CBT and ImT have some commonalities. A database will be used as a common

repository for models and properties of those models. The details of a database that will

support the approach will be designed. For example, if a model has been changed in ImT,

the model should be updated in CBT via a database. Therefore, both CBT and ImT have

the same models, which the trainee will use to learn and practice in iTrain.

Page 33: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

21

iTrain will use the methodology discussed in this chapter in order to integrate digital

applications with an LMS. A unified approach will be used to combine CBT, ImT, and

LMS. A common repository will be created to bring all applications together.

Page 34: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

22

CHAPTER FIVE COMPUTER-BASED TRAINING METHODOLOGY AND

DESIGN

5.1 Overview This chapter describes the methodology, design, and implementation of a

computer-based training (CBT) application. The CBT application is one of the key

systems in iTrain. CBT uses a common personal computer to instruct trainees. CBT

does not require having any other hardware such as 3D mouse, glasses, glove,

trackers, and so on. There are many options for instructing trainees using a personal

computer.

Figure 5 shows an overview of the proposed system in CBT. Detailed

descriptions about LMS will be provided in Chapter 7.

The featured requirements for the CBT application are as follows:

Ability to load 3D geometric models

Ability to easily navigate the models

Ability to interact with a mouse and a keyboard

Ability to select/deselect 3D models

Ability to practice a certain sequence

Ability to assemble/disassemble a component

Ability to communicate with a learning management system

Page 35: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

23

Figure 5: Overview of CBT

The purpose of this chapter is to describe the following:

methodology of the CBT application

design of the application

algorithms in the CBT application

implementation of the CBT application

supporting components for the CBT application

5.2 Computer-Based Training Methodology

A new application was developed for Computer-Based Training since the

requirement was that a user should be able to not only watch a simulation of a training

course, but also to interact with the new application. As mentioned in the previous

chapter, the CBT application focuses on performing two different modes: a learning

mode and a practicing mode. The learning mode demonstrates a simulation to the trainee,

Page 36: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

24

and the trainee will be able to navigate the models in a given lesson through the CBT

application. In addition to the CBT application, various digital materials such as mpeg

files and figures on web pages can be also used in the learning mode. However, the

trainee will not be able to select or assemble a component in this mode. The practicing

mode allows the trainee to interact with the models using a keyboard/mouse. Moreover,

the trainee will get information, such as a name of a part, from the application.

The purpose of the learning mode is for the trainee to be able to look at a pre-

defined scenario that shows a proper simulation. The trainee may watch digital materials,

such as digital videos, digital photos, and simulations in the CBT application. For

example, if a certain disassembly process is defined in a course, some data such as 3D

models, their transformation matrices, and the paths of moving components are illustrated

to show the disassembly process. The application allows the trainee to navigate the

models in this mode, so the trainee is able to experience the process.

In the practicing mode, the trainee will be able to actually interact with the

models. In the CBT application, the trainee will use a keyboard/mouse to control the

action/event. For instance, if the trainee is asked to turn off a switch, the trainee should

click the switch with a mouse in the CBT application. The CBT application allows the

trainee to do the following in this mode:

navigate 3D models

select/deselect by clicking a component

assemble/disassemble a component with a mouse/keyboard by checking

transformation matrices

Page 37: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

25

The above capabilities in the CBT application enable the trainee to practice with

digital models before doing a real job. Moreover, the models should be easily prepared

for the CBT application, and make it more convenient for the trainer to create a new

course.

The CBT application needs to communicate with a learning management system

for sharing data such as model names. This functionality allows the trainee to see model

information through a learning management system. The integration between CBT and

LMS will be described in chapter 7.

5.3 Algorithms in the CBT application

Several algorithms in the CBT application were built using OpenSceneGraph

because of powerful functionality it provides. For example, OpenSceneGraph has a

library to get a mouse position in an application. Based on the current mouse position, the

CBT application calculates a viewing transformation matrix. The left mouse button is

used for rotating a view while the middle button is used for the pan. The right mouse

button can be used for zoom in/out. In addition, OpenSceneGraph has a library to select a

component in the CBT application. The functions are inherited from

Producer::KeyboardMouseCallback so that a model can be selected using a mouse.

Specific algorithms were developed to address the following required functionalities:

create a scene graph from the data file

assemble/disassemble a component

5.3.1Creation of a Scene Graph

Page 38: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

26

The scene graph that is created in the CBT application needs to be based on the

hierarchy from the CAD system so that assembly/disassembly simulations can be

performed. The format of the data file is shown in Figure 6. A detailed description for

generating the data file will be introduced later in this chapter. Each part or assembly

includes information such as name, assembly/part flag, parent name, and transformation

matrix. The transformation in the data file is a global transformation matrix. Therefore,

when the scene graph is created in the application, a relative transformation needs to be

calculated if the part is in a sub-assembly. Figure 7 shows an example of a scene graph.

The known transformation matrices are [P1] and [G1], as obtained from the CAD system.

To create a scene graph, a transformation matrix, [P2], needs to be calculated. Equation 1

illustrates the equation to calculate a relative transformation matrix. If there are several

levels of sub-assemblies, a local transformation matrix can be recursively calculated by

the same method.

]1[]1[]2[]1[]2[]1[

1 GPPGPP×=

=×−

Eq. 1

Page 39: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

27

Figure 6: The format of the data file

Figure 7: A scene graph

Page 40: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

28

5.3.2 Support for Assembly/Disassembly Functionality

A functionality that allows assembly/disassembly in the CBT application allows the

trainee to interact and assemble the model. The trainee is able to select a model with a

mouse in CBT. However, the mouse is also used to change the viewpoint. This needs to

be resolved using some algorithms. In order to assemble the model, the trainee is

expecting the model with respect to the trainee’s view point. The CBT application

enables the trainee to change a viewport with the mouse interaction and it has only one

mouse to interact with the model. The model cannot be moving while the viewport is

being changed. Therefore, the current viewport should be disabled by the trainee when

the the part needs to be moved.

When the a toggle key (F9) is pressed with the part selected, the trainee is able to

move the selected part. Instead of calculating a new transformation matrix for moving the

selected part, a previous viewing matrix, (stored when the toggle key is pressed) and a

current viewing matrix (obtained by a current mouse movement) are used to move the

selected part. The equation is shown in Figure 8. In order to assemble/disassemble the

part, positions of x, y, and z are compared between the moving part’s location and its

final location. The part is snapped when it is within a tolerance. These capabilities allow

the trainee to practice the assembly process in CBT by using a keyboard and mouse.

Page 41: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

29

Figure 8: Apply a transformation matrix to a selected part

5.4 Design, Description, and Implementation of Classes

The complexity of software requires a method to create an application that is

efficient and flexible. The object-oriented programming (OOP) method is one concept for

developing software that is manageable, expandable, and flexible. Figure 9 shows the

overall OOP design of the CBT application. The application is designed in an object-

oriented method so that it can easily be expanded in the future.

Figure 9: Classes of the CBT application

Page 42: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

30

A data file created from the CAD system is read in the DataManager class, and this

information is used to create a scene graph in the NodeManager class. The scene graph

has a hierarchy which is the same assembly hierarchy as in the CAD system. The

InputManager class handles the inputs, such as mouse clicks and keyboard inputs. The

input data is used to ascertain the current position of the mouse and to send information

to the NodeManager class. In the NodeManager class, the current mouse position is being

checked to determine whether or not it collides with a component. A user interacts with

the InteractionManager class with a keyboard/mouse. Inputs from the user enable

selection/deselection of a component, and these choices also guide the user to drag and

drop a selected component.

The CBT application consists of several classes. Some of the key classes are

described here.

NodeManager Class

The NodeManager class is a class for reading geometry files and creating a scene

graph. Models are loaded in the CBT application using the osgDB::readNodeFile

function from OpenSceneGraph. When the geometry models are loaded, the data file, as

shown in Figure 6, is also read in the CBT application. This data file contains the

assembly hierarchy information, such as parent names. Based on the assembly hierarchy,

the components give the parent/child relationships. Figure 10 shows a snapshot of the

CBT application, which consists of 12 parts loaded.

A basic node of the scene graph is shown in Figure 11. Each node in the scene

graph requires having osg::Node, osg::Transform, and osg::MatrixTransform so

each node has its own transformation matrix attached. A scene graph enables

Page 43: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

31

developers to manage an assembly hierarchy because each component has a

parent/child relationship with other components so the CBT application can create

the same assembly hierarchy as the CAD system with the scene graph.

Figure 10: A snapshot of the CBT application

Page 44: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

32

Figure 11: A basic node of scene graph

InputManager Class

This class handles mouse and keyboard interaction. The mouse interaction in

OpenSceneGraph enables developers to navigate models and select a component. When

the mouse button is clicked, the intersection between a current mouse position and a

component can be obtained by using osgUtil::IntersectVisitor::HitList in

OpenSceneGraph. When the component is selected, it will be highlighted. The name of

the selected component is retrieved to give information to the learning management

system.

Page 45: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

33

AssemblyManager Class

One of the key roles of the AssemblyManager class is to check transformation

matrices between a current selected part and its designated final location. A component is

highlighted when the component is selected in the CBT application (Figure 12). When

the component is selected, the trainee has an option to move it. As described in 5.4.2, the

trainee is able to move the component in the CBT application. The trainee can

disassemble the part and re-assemble the part. When the trainee tries to assemble the part,

a distance between the current selected part and its final position is calculated. If the

distance is close enough, the current selected part will be snapped into the final position.

Figure 12: Highlighting a component in the CBT application

5.5 Model Processing Approach The CBT application needs to have a pre-process step for preparing models

and data file. This section shows how to create 3D geometry models and data file.

A CAD system can create 3D models, and it also allows us to export a neutral

file format such as VRML, STL, and IGES. More realistic models, with proper colors

Page 46: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

34

can be obtained through commercial software, such as 3D Max Studio. A pre-

processing system is implemented to support the CBT application. The following sub

sections show how to prepare 3D geometry models and extract relevant information

from the CAD system.

5.5.1 3D Geometric Models

Geometric models are created in order to allow a clear view of a new product.

CAD systems such as CATIA and Pro/ENGINEER are some of the most common

software programs that can be used to create digital models in manufacturing industries.

However, native CAD models cannot be directly loaded into other stand-alone

applications; the CAD models can only be read in the CAD systems in which they were

created. In order to load 3D geometric models into the CBT application, the CAD models

need to be exported into a different format that can be loaded in the CBT application. The

CAD system, CATIA, allows export of several formats, such as IV, VRML, IGES, and

STL. An STL model format has been chosen for this study, because it is easy to take the

STL files and convert into OpenSceneGraph formats in 3D MAX Studio.

3D Max Studio is a powerful software program for rendering 3D models. It has

the following capabilities:

It can import several file formats, such as 3D Studio Mesh (.3DS, .PRJ),

VRML(.wrl), AutoCAD Drawing (.DWG, .DXF), StereoLitho (.STL).

It can also export other 3D file formats such as 3DS, STL, VRML, and IGES.

It has an API through 3D Max script.

OpenSceneGraph can load various 3D geometry models. In addition,

OpenSceneGraph can load native OpenSceneGraph formats (.osg, .IVE) and it provides

Page 47: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

35

an extension of 3D Max [46,48]. Using this extension, 3D MAX Studio can export

models as the OSG format. 3D MAX Studio then can change a color of models and

export geometry models with colors in the OSG format. The OpenSceneGraph

application is designed to read both 3DS and OSG formats. It should be noted that the

color of 3DS files cannot easily be changed in the OpenSceneGraph application; all

models have the same color in the application. However, the color of OSG files can be

modified in 3D Max Studio, which makes it possible to create a realistic model in the

OpenSceneGraph application.

5.5.2 Data Extraction

OpenSceneGraph enables the developer to load the geometry models in the

application, but all components must be placed into proper position. A specific

transformation matrix should be applied to each component in order to achieve the

same model location as in the CAD system. To obtain transformation matrices from

the CAD system, a CAD API application has been developed. The API application

consists of various functions, which are shown in Figure 13. The

“ExtractAssemblyTree” function is a recursive function, which traverses an

assembly hierarchy to retrieve a name and a transformation matrix of each

component. In addition, a name of a parent and an assembly flag are stored in the

data file.

Page 48: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

36

Figure 13: CATIA V5 pseudo code

The format of the data file is shown in Figure 6. The output from the CAD API

application has been used in the CBT application. Appendix A includes the code for this

API.

Page 49: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

37

CHAPTER SIX IMMERSIVE TRAINING METHODOLOGY AND DESIGN

6.1 Overview

The ImT requires state-of-the-art technologies such as a 3D stereo system, helmet,

glove, and a tracking device. In this dissertation, two ImT applications were enhanced

from their original functionality so that it would support the training requirements..

Depending on the training purpose, the appropriate ImT application should be chosen.

The first ImT application will allow sophisticated assembly simulation and training

in an immersive environment. Two industry pilot studies were used to refine the training

process and demonstrate the applicability of this environment for training.

The second ImT application allows tool interactions within a CAD system for

assembly training. This ImT application will be integrated with a learning management

system and this ImT application can be used mostly in a practice mode, allowing trainees

to practice a lesson. For instance, an assembly that consists of several bolts and nuts

needs to be unscrewed in a specific order. With ImT, trainees can go through the process

of screwing on the bolts in a realistic manner.

The immersive training application should communicate with a learning

management system similar to how the CBT application communicates. Figure 14 shows

the overall architecture. The trainee is able to interact with the models using VR hardware

such as a glove, a tracking device, and a passive stereo screen.

Page 50: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

38

Figure 14: Overall system of ImT

The featured requirements for the ImT applications are as follows:

Ability to load 3D geometric models

Ability to easily navigate the models

Ability to interact with VR hardware such as glove and a tracking device

Ability to use a tool such as a wrench to unscrew a bolt

Ability to communicate with a learning management system

Ability to practice a certain sequence

Ability to assemble/disassemble a component with the glove

6.2 Immersive Application - I

The first immersive application developed and utilized for training is a stand-alone

immersive application, VADE. VADE (Virtual Assembly Design Environment) has been

developed at Washington State University. and is one of the first of its kind, with the first

functional prototype being available in 1995 [49], and is now a fairly mature and well-

Page 51: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

39

known tool. There are several papers with details of VADE [50,51]. However, a brief

overview will be provided here to support the relevance to our training work.

VADE includes several key capabilities of an immersive virtual reality system. It

supports stereoscopic viewing, tracking, and user interaction. VADE supports two-

handed assembly. When the user selects a part, the constraints belonging to that part are

loaded. These are visually represented by planes and axes on the component that was

picked and the corresponding component to which it needs to be assembled. When the

user matches a plane or axis on each of the components, the part becomes constrained,

and will no longer move in the direction associated with that plane or axis. When a part is

partially assembled on the base part and then released, a combination of collision

detection, gravity-based motion, and constraint-based motion is used to simulate realistic

motion of the part [51]. This allows the simulation of sliding, swinging, and also sliding

and swinging simultaneously. Parts follow free projectile motion when dropped by hand,

thrown by hand, or when they are free to fall without other parts or environment objects

obstructing their path. If the user should let go of the part, gravity will take over and

move the part along any unconstrained planes or axes in accordance with the laws of

physics. Although the software does not use collision detection in performing assemblies,

collision detection is available to aid in identifying interference problems or incorrect

assembly paths.

The VADE software has the ability of extracting the assembly information from the

CAD model. This information is then used to build a constraint database, which is then

utilized in real-time while running the VADE program. The surrounding environment can

be created using any user-preferred method. For example, any CAD system can be used

Page 52: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

40

to model the geometry of the environment and export the triangulated model. Texture

maps can be defined for these environment objects. VADE allows limited parametric

modification of parts while in the virtual environment. These parametric changes are

communicated back to the CAD model, updated in the CAD model and the geometry sent

back to VADE in near real time. For larger parts that cannot be assembled with just two

hands, a crane allows users to simulate the manipulation [52]. Parts can be attached to the

crane by specifying one or more attachment points interactively. Pendulum equations

simulate the motions of parts being manipulated by a crane. Algorithms have been

implemented to allow a person to push a part to turn it while it is attached to the crane.

Some of this this functionality was developed a part of this dissertation.

6.2.1 Methodology for Training Sessions in ImT

In order to use an immersive application in training, the methodology used was as

follows:

Information gathering and analysis of the real assembly process - Study the provided

video of the real life assembly, visit the sites to observe the real-life assembly situation,

and analyze assembly process documentation.

Scoping and identification of the specific assemblies to train and the process of

assembly - Discuss the desired simulation with the engineers and managers. Select the

components to be trained from the overall scenario. Identify the process for the assembly.

Model and environment preparation - Obtain CAD models of components to be

simulated, if needed re-organize the as-designed CAD assembly tree to reflect the as-

Page 53: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

41

manufactured assembly on the factory floor, and then export the data from the CAD

system to the simulation application. Prepare the environment.

Replication of assembly process in the simulation environment - Set up the initial

location of the components in the environment. Perform the assembly using the

immersive virtual assembly environment and go through the scenario.

Practice mode of training lesson – The trainee interacts with the models in VADE

and practices the sequence. Gather problems and issues and discuss lessons learnt during

practicing the lesson.

6.2.2 Training on Assembly of a Large Press Machine

This training session involved assembling the components of a large press machine

for a company that manufactures construction, mining, and heavy industrial machinery.

In many cases, because of size and transportation issues, several stages of final assembly

are performed at the customer site. Thus, in addition to fundamental assembly planning

issues, in order to be adequately prepared, the unique environments and constraints of

each customer site also need to be considered on a case by case basis. It is not enough to

have a generic environment in which the assembly planning is performed and checked.

We have to train and show the customer how to assemble the models at a new

environment.

The usage of an immersive assembly environment for training in this scenario is

expected as follows. Manufacturing engineers would create a tentative assembly

sequence for the training and the customer site environment in VADE. They would do a

preliminary evaluation and identify potential problem areas. During the meeting with the

various personnel, VADE would be used to perform the assembly simulation for training

Page 54: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

42

with special emphasis on the specific junctures in the sequence that seem to cause

problems. Using VADE, engineers can be trained to assemble a component before they

assemble the component in the real environment.

The overall methodology described in the previous section was used. The key steps

are described in detail here.

Information gathering and analysis of the real assembly process

The video provided by the company and the assembly process documents were

analyzed to obtain a reasonable assessment of the assembly scenario for training. The

consultations with the engineers provided additional assistance. The immense size and

complexity of the large press machine (Figure 15) made it a challenge to map the

components in the video to the components in the Pro/E models provided. It was also

difficult to assess the human interaction with the objects. Numerous personnel were

working in conjunction to assemble the components together. Their individual

interactions with the objects were sometimes hard to identify, due to the fact that some of

the workers were hidden behind the very large components. A summary of the training

actions that were observed are listed (Appendix B).

Page 55: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

43

Figure 15: Relative size of operator large press machine

Scoping and identification of the specific assemblies to simulate

The assembly provided was composed of a large number of sub-assemblies in

Pro/Engineer (Figure 16). Specific sub-assemblies and components were selected for

testing, with eight identified as the key components in the assembly training.

Page 56: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

44

Figure 16: Exploded Pro/E assembly model X31-00-21440 of large press machine

Model and environment preparation

The CAD to VADE extraction module (Pro/VADE) was used to extract the assembly

hierarchy, assembly constraints, and polygonal models of all components from Pro/E.

The assembly hierarchy from Pro/E had one main assembly (x31-00-21440), which

contained several sub-assemblies and individual parts at the top level of the assembly.

The left half of Figure 17 shows the assembly tree reported by Pro/E. The assembly

process provided by the engineer indicated that the sequence needed to be re-organized

before being used in VADE. This was a classic case of the as-designed assembly

hierarchy being different from the as-manufactured hierarchy. The sequence was re-

ordered using the tree re-organizer [53]. The resulting sequence is shown in the right half

Page 57: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

45

of Figure 17. Note that some sub-assemblies and parts have been removed from the list

shown because of the large tree size. In the VADE assembly hierarchy, any assembly past

level 2 is pre-assembled for use in VADE.

Figure 17: Comparison between Pro/E assembly hierarchy and VADE assembly

hierarchy

A factory environment that replicated the physical factory was created. Architectural

drawings and pictures of the actual factory were used to quickly create the relevant

geometry such as walls, floor, pit, and ceiling of the factory using Pro/Engineer. The

model was then exported to VADE as triangulated data. The environment was texture

mapped with images from the actual factory. A crane was also a part of the environment

since the human/crane interaction is vital in predicting problem areas and object

movement (Figure 18). The components were located correctly to show the initial

position at the start of the simulation.

Page 58: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

46

Figure 18: Environment modeling

Replication of assembly process in the simulation environment

After all the components were located properly and the environment was finalized,

the assembly process for training in the video was simulated in VADE. A training

sequence for the assembly process followed by the operators in the factory was as

follows (Table 1):

Page 59: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

47

Table 1: Assembly steps in real and virtual environments

Practice mode of training

VADE successfully completed the segment of training for the assembly of the large

press machine that we set out to perform in the immersive virtual assembly environment.

Overall it was concluded that the virtual assembly environment had sufficient modeling

and interaction realism to be of considerable value for evaluation and training.

In Real Factory In VADE

Step I

Part 92a-00-10930 was moved from the cinder blocks to the pit.

Part 92a-00-10930’s initial position was located in the pit (since this was the base part in VADE)

Step II

Crane and human manipulation were used to attach parts x31-00-23130 (4x) and 92a-00-10920 to part 92a-00-10930

Each of the four x31-00-23130 parts were attached to the crane using four hanging points inserted at the end of the column (Fig 3)

Step III

Part x31-00-21450 was picked up with the crane with eight hanging points and moved in an L-shaped path to its final position. The part was then lowered and attached to part x31-00-23130.

Part x31-00-21450 was picked up with the crane with four hanging points and moved in an L-shaped path to its final position. The part was then lowered and attached to part x31-00-23130

Page 60: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

48

6.2.3 Training on Assembly of the Fifth Wheel to a Truck Chassis

This training session involved the assembly of a forward cab support of a truck

chassis for a multinational technology company that manufactures premium commercial

vehicles. The focus of the training lesson was on assembling the fifth wheel to a truck

chassis.

Information gathering and analysis of the real assembly

process The first step was to understand the existing assembly process thoroughly from the

information collected (video, snapshots, site visits, and discussions with engineers) and

the informational documents provided by the industry partner. The parts for simulation

were identified. The Pro/E models were studied and compared with the models observed

on the assembly line and in the video and snapshots.

Model and environment preparation

The assembly was modified to include only the relevant models. The original model

provided had over 350 parts. As it was not possible (and not required) to simulate all

these parts, the number of parts were pared down using the reorganization tool described

earlier. All relevant information was exported from the CAD model.

A roadblock initially arose when it was determined that the models for the fifth

wheel assembly provided by the consortium member were in IGES (Initial Graphics

Exchange Specification) format. Pro/E was unable to convert this imported IGES part to

the inventor file format to be used in VADE because of gaps and holes in the model due

Page 61: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

49

to the IGES translation. This required that the IGES file be imported and the gaps and

holes fixed before the model could be added to the Pro/E assembly.

In addition, an environment had to be created in order to accommodate this assembly

scenario. The snapshots taken at the industry partner’s site were used to create texture

maps. The walls, floor and ceiling were created as thin protrusions in Pro/E, exported to

VADE, and then texture mapped to convey the look of a real factory environment (Figure

19). Bins, trolleys, and other components of the environment were also created. The time

to create this custom environment was about 20 hours, yet we believe that a user,

knowledgeable and experienced in this field, could create the environment in about 5 to 7

hours. This environment can also be reused for multiple assembly scenarios.

Before simulating the assembly process for training, all components had to be placed

in the appropriate bins or the locations where they were kept in the factory. Originally,

the initial position of the parts had to be determined through trial and error, and entered

manually into the initial location file. This process was very laborious and time

consuming. However, an “immersive positioning” module of VADE was used to

manipulate the initial position coordinates by moving the parts around in the environment.

The time to place the components in the starting location obviously depends to a large

extent on the number of components. Each part takes a few minutes for a first time user

using the “immersive positioning” module.

Page 62: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

50

Figure 19: Custom environment for the fifth wheel assembly

Replication of assembly process in the simulation environment

As observed from the video, the 5th wheel was put into place using the following

sequence:

1. Pick up the 5th wheel out of the shipping crate using the crane.

2. Place the 5th wheel on top of the crate and reattach using different

attachment points.

3. Move and lower the 5th wheel over the assembly position

4. Fasten the bolts at the various locations

This training sequence was followed to the best of the user’s abilities. There was one

specific instance where VADE was not able to mimic the real-world process. When the

5th wheel was lowered onto the top of the crate, the crate supports the 5th wheel as it

pivots and comes to rest on top of the crate. In VADE, the collision detection between the

Page 63: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

51

crate and the 5th wheel is possible, but the “cause and effect” of that collision had not yet

been implemented (it has subsequently been implemented). Figure 20a and 20b show the

5th wheel attached to the crane right before the part is to be placed on the frame assembly

in both the real environment and the virtual environment.

Figure 20a: Lowering the fifth wheel with a crane in the real factory

Figure 20b: Lowering the fifth wheel with a crane in VADE

Page 64: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

52

After the fifth wheel is placed on the chassis, various bolts are used to fasten the 5th

wheel to the chassis (Figure 21).

Figure 21: Labeled bolt positions

During the visit to the industry partner site, it was discussed that the worker’s posture

needed ergonomic improvement for easier access and efficient assembly. In the factory,

bolts 1 through 4 are assembled from the rear of the truck. Figure 22 shows the 1st person

and 3rd person view of assembling Bolt1 in VADE. Figure 23a and 23b show the

assembly of Bolt 2 in real life and in the virtual environment.

Page 65: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

53

Figure 22: Worker inserting bolt 1 in VADE

Figure 23a: Worker inserting bolt 2 in real life b: 1st person and 3rd person views in

VADE

Bolts 5 and 6 are assembled by the worker squatting down and reaching out (Figure

24).

Page 66: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

54

Figure 24a: Positioning bolt 5 in a real factory b: Positioning bolt 5 in VADE

Practice mode of training

The immersive application, VADE, was successful in replicating the assembly

scenario for training. As before, a less cumbersome virtual reality setup, better user

interfaces in the environment, and force feedback would have improved the training

simulation. Setting up the models and the environment for the simulation are involved

tasks that need considerable attention. This case study showed that the immersive

application could be used as a training tool in the assembly process.

6.3 Immersive Training Application – II

The focus of the second ImT application is on performing a practice training

situation with a tool interaction. In the ImT application, the trainee uses VR hardware to

perform an action/event. An existing ImT application is used for practicing the training

lessons.

A substantial base of knowledge, technology, and software related to immersive

environments has been developed at WSU. The ImT application developed at WSU uses

Page 67: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

55

haptics-enabled virtual tools in a native CAD environment, such as CATIA V5TM [47].

This application has the capability to simulate a native CAD model employing tools such

as allen and box-end wrenches in the CAD system with the interaction of VR hardware

(tracking device, glove, and haptic device). This ImT application has been modified for

incorporation into iTrain. The ImT application is able to manipulate native CAD models,

use a tool to simulate models, and use VR hardware such as a tracking device and glove.

In order to use iTrain, the ImT application connects with SCORM web pages. For

example, when the trainee grips a wrench in an assembly/disassembly process in ImT,

he/she should be able to know whether or not the proper tool is gripped.

Overall Architecture

The CAD system chosen was CATIA V5. The haptic device chosen was

Immersion’s CyberGlove® and CyberGraspTM. Immersion’s Virtual Hand for V5

(VH4V5) was chosen as the software tool to drive the haptics devices and for the primary

integration with the CAD system. The overall architecture of the work described in this

dissertation is shown in Figure 25. Some of this work is combined work with another

project [54].

Page 68: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

56

Figure 25: Overall architecture of ImT [47]

The VH4V5 is an add-in that was developed to interface the CyberGraspTM and

CyberforceTM haptics devices with the CyberGlove® for use in the CATIA V5

environment. It enables the user to control a virtual hand inside the CAD system, thereby

facilitating assembly manipulations. The VH4V5 Suite comprises two products.

"VirtualHand for V5-Design" enables engineers throughout the enterprise to manipulate

their 3D graphical designs while wearing an Immersion CyberGlove® hand-sensing

glove. Users wearing a CyberTouch™ hand-sensing glove additionally feel tactile

feedback sensations. VirtualHand for V5-DMU, together with Immersion's CyberForce®

system, enhances the V5 immersive digital mockup environment by providing advanced

hand and arm force feedback for more realistic design reviews.

Page 69: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

57

The entire system was designed as an integration of the CATIA, VH4V5, and the

WSU Tools modules. The CATIA-VH4V5 integration was already in place through the

commercial product from Immersion. However, because there was no API available for

VH4V5, several modifications were made to the underlying VH4V5 software to facilitate

this project. VH4V5 uses the API of CATIA called CAA to extract the tessellated

geometry from the CAD model. This is then used to provide the graphics display to the

user directly through CATIA. VH4V5 also uses the assembly and kinematic constraints

in the CATIA model to constrain the relative motions of parts and provide haptic

feedback.

The WSU Virtual Tools plug-in was designed to integrate with both CATIA and

VH4V5. This plug-in obtains kinematic information and assembly from the CATIA

model to extract tool-part interaction details and links with VH4V5 through a callback

mechanism. The plug-in also modifies/updates the assembly model and the kinematics

and interaction models as needed during the process of assembly/disassembly using tools.

Thus, the goal of the plug-in was to maximize the use of existing capabilities to create a

new capability through the use of APIs (CAA) and direct integration.

Using Kinematics and Assembly Constraints

The CATIA kinematics workbench provided important functionality. The automatic

conversion of assembly constraints to kinematic joints as well as the ability to create

screw joints proved to be very useful. VH4V5 also uses the kinematic joints available in

CATIA in its interaction model.

Page 70: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

58

We decided to use axial, planar, and screw constraints to achieve the required tools

capability. A screw joint between the fastener and the part allows the specification of

pitch and axis of motion for the threaded fastener. Planar constraints between the bottom

face of the head of the fastener and the top face of the part allow the system to define

when a fastener is completely fastened.

Tools such as a wrench and an allen wrench also need to be added to the assembly in

the CAD system for inclusion in the graphics and the manipulation processes. However,

the tool needs to be initially free to move in the assembly as manipulated by the virtual

hand and later be engaged on a fastener. Thus, the tool should not have any initial

constraints, but should be constrained completely to the fastener when engaged. This

will allow the screw joint of the fastener to also be applied to the tool, thus simulating a

tightening or loosening activity.

These assembly constraints and kinematic constraints can be defined for the parts,

tools, and fasteners prior to simulation. Details of the modeling of the parts and

assemblies and the simulation approaches are provided below.

Several methods were devised and tested for managing the constraints and assembly

models for this simulation activity.

Method 1: Dynamically re-organize the assembly tree

The first possible approach was to reorganize the assembly hierarchy dynamically

during the simulation process depending on whether the tool was to move independently

or to move with the fastener. Since VH4V5 treats a subassembly as a rigid component,

if the wrench (tool) and the fastener are in the same subassembly, the two will be

constrained to move together. Thus, if the screw joint were applied to the fastener, the

Page 71: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

59

tool and fastener would automatically be manipulated simultaneously. Figure 26 shows

the initial and reorganized assembly in this approach.

We decided to create the Virtual Tools plug-in as a separate CAA program to

reorganize the assembly hierarchy tree inside CATIA. This reorganization method

allowed us to use the VH4V5 software to manipulate a tool inside CATIA (Stage I in

Figure 26). When the tool comes within a certain distance of the fastener, it becomes a

child of the bolt assembly, allowing concurrent rotation of the wrench and bolt (Stage II

in Figure 26). To achieve the above-mentioned goal, it was necessary to be able to

establish a rigid joint between the wrench and the bolt when they were engaged.

Since VH4V5 treated a sub-assembly as a single, rigid body and did not allow any

relative motion between its components, it was required that the wrench be in the top

level assembly when not engaged with a bolt so that the user could move it freely and

align it with the bolt.

Stage I

Page 72: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

60

Stage II

Figure 26: Reorganizing assembly hierarchy [47]

Implementation of the above discussed solution involved development of a CATIA

Workbench “add-in” for manipulating the assembly hierarchy. This add-in was activated

using a simple toolbar button created inside the CATIA assembly workbench. The basic

function of the toolbar button was to toggle the assembly structure between the two

hierarchies depicted in Figure 26. The user could pick up a tool and bring it close to any

bolt for simulation. At this point the user would have to interrupt the VirtualHand for V5

simulation loop by stopping the manipulation. The user would then initiate the assembly

restructuring code by pressing the add-in toolbar button.

The assembly-restructuring algorithm finds the closest edge on the bolt and adds the

tool to the bolt sub-assembly. Assembly constraints are created so that the tool is

correctly located with respect to the bolt. The user can then re-start the VH4V5

manipulation process, which reloads the assembly and its scene graph with the updated

assembly hierarchy and constraints, enabling the user to rotate the tool to tighten or

loosen the bolt. Pressing the add-in button after stopping the manipulation loop can then

Page 73: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

61

disengage the tool. The user can follow this sequence as many times as necessary to fully

tighten or loosen all of the active bolts in the assembly.

Though the approach discussed above provided a workable solution, it failed to

provide a smooth, realistic simulation in a manner envisioned by the researchers. The

approach involved manual steps (button clicks) for triggering the assembly hierarchy

restructuring. To overcome this shortcoming, a Spy++ program was created to

automatically switch workbenches and press the required buttons when initiated. The

process then improved to where the distance between the tool and the fastener would

automatically trigger the Spy++ program to press all the necessary buttons. However, the

process was still unacceptable because of the time lag involved in reloading the re-

organized assembly into the VH4V5 simulation process.

Due to these limitations, this approach was found unsuitable, and was eventually

abandoned.

Method 2: Dynamically create constraints

We realized that assembly constraints could be used to constrain the tool and fastener

in such a manner that they would behave as a sub-assembly without necessarily changing

the assembly hierarchy. In this second method, the plug-in would assign new constraints

to the hierarchy tree, thus negating the need for reloading the polygonal models of the

model. This would significantly reduce the time required to attach the tool to the

fastener.

In an attempt to remove the need to click on any button to trigger the constraining

activity, a callback mechanism was implemented in VH4V5. This callback function was

called from VH4V5 during every frame of the simulation. The callback function provided

Page 74: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

62

a quaternion vector representing the transformation and the name of the grasped object as

arguments. Knowing the name of the grasped part and its position allowed the Virtual

Tools plug-in to determine when the tool was being manipulated, and also to check if the

tool was close to a fastener for engagement.

The Virtual Tools plug-in used CAA function calls to determine the location of the

fasteners and to compare that with the location of the tool from the callback and

determine when to constrain the two together. Three constraints needed to be added to

fully constrain the tool to the fastener. For the bolts implemented in this phase of this

research, there were six possible orientations of the tool engagement on the fastener. Thus,

the proximity of the engaging face on the tool was compared with all possible faces, and

the closest one was used for the constraint.

Ultimately, this method was also abandoned for a number of reasons. VH4V5 was

unable to add new constraints once the model was loaded. Furthermore, the CAA

function calls for applying constraints that were proved to be unstable when invoked

during the simulation as part of the callback process. Thus, a third method was devised

to overcome these limitations.

Method 3: Dynamically activate constraints

The third method was a variation of the second method described above. The

callback from VH4V5 was modified to accept a list of constraints to activate and

deactivate. The assembly of the part, fastener, and tool was modified to include all

possible constraints (in a deactivated state). Thus, for a wrench and one bolt, there were

two constraints that placed the wrench at the right distance from the center of the bolt and

with the top of the wrench aligned with the top face of the bolt head. The third constraint

Page 75: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

63

was to be chosen from six possible face constraints (for the six possible faces of the hex

bolt). Thus, there were a total of 8 constraints needed for one wrench and bolt.

During the simulation process, instead of creating new constraints to engage the tool,

the Virtual Tools plug-in “activated” the appropriate set of constraints and deactivated

them as needed. This method proved to be the right choice for this prototype since the

user could then use the tool on any bolt at any time and move from one bolt to another as

needed. The constraints between the fastener and the tool were automatically deactivated

once the fastener was outside the part.

Managing parts held by fastener

One of the key functionalities required was the ability to remove parts once the

fasteners holding the parts were removed. This was managed by maintaining a list of

parts held by any fastener and a list of fasteners holding any part. As each fastener was

removed, the state of the parts held by the recently removed fastener was checked to

evaluate if the part could be freed up. Once all the fasteners associated with a part were

removed, all assembly constraints of that part were deactivated to allow the user to freely

disassemble the part.

Guidelines and Requirements for modeling the tools and assemblies

The first step in the modeling process was to create the tools in CATIA. It was

decided to start with a regular wrench as the first tool. A basic wrench was created which

was then scaled to fit a variety of bolt sizes based on the application. A family of bolt

models was also created in CATIA using standard sizes for the bolt head size, length,

pitch, and major diameter.

Page 76: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

64

The original model included three hex bolts and three smaller allen bolts. Due to the

similarities between a hex bolt and an allen bolt, it was possible to use the same algorithm

for an allen wrench. It simply involved creating similar constraints on the existing allen

bolt model. Next, an allen wrench was modeled in CATIA based on the allen bolt

dimensions. Datum planes were created and named according to the convention used for

the hex wrench. This configuration expanded the capabilities of the software to allow the

use of two separate tools, with the limitation that only one tool can be used at a time.

To achieve the creation of dynamic constraints a set of datum planes and datum

points was needed for reference. A hex bolt has six faces, so opposite faces were named

FACE A1 and A2, B1 and B2, and C1 and C2. Planes and a datum point were also

created tangent to each bolt edge. Finally, a datum plane was created on the top surface of

the bolt for height alignment with the wrench (Figure 27). These planes were used as

references for the constraints, enabling a rigid connection between the bolt and wrench.

The screw joint was applied to all the bolts.

Page 77: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

65

Figure 27: Constraints for engaging tool and fastener [47]

Managing events during simulation

The simulation of assembly manipulation is rather complex. There are many

different states and corresponding event handlers. This arose primarily from the fact that

in one callback only one CAA task could be performed to avoid instabilities in the

integrated system. To solve this problem, we designed and implemented a finite state

logic.

First, we assigned different stages to indicate different states of the virtual hand:

Initial stage: virtual hand is empty.

Tool is grasped.

Rotating the Tool/bolt assembly.

Stage Number

Stage Name Event Handler

0 EmptyHand, WSUCallback() 1 ToolInHand ToolInHandHandler() 2 RotatingBolt RotatingBoltHandler()

Page 78: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

66

For each stage, we designed different states, each with different actions to be

executed. These states include:

Stage 0:

Program will check if the tool is grasped; if so, it will set the stage number to 1.

Stage 1:

The states in stage 1 are as follows:

State Nos.

State Name Action

0 StartState If the wrench is close to the bolt, go to State 1. Otherwise keep the current state.

1 StopManipulation

Call function stopManipulation () from Immersion API. Set the next state to be SaveFile1.

2 SaveFile1 Call function SaveProduct () from Immersion API. Set the next state to be ApplyConstraints

3 ApplyConstraints

Call function applyConstraints() to apply all the constraints to the parts in the assembly. Set next state to be StartManipulation

4 StartManipulation

Call function StartManipulation() from Immersion API. Set the stage to RotatingBolt and the state to StartState

Stage 2:

Next, Stage 2 starts with state = 0

State Nos. State Name 0 StartState Check if the distance

between bolt and tool is too large, set next state to be StopManipulationToSaveFile1 and set stage to be EmptyHand if it is, otherwise check if the bolt is out of the hole, set next state to be StopManipulationToSaveFile

Page 79: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

67

2 and set stage to be EmptyHand if it is, otherwise keep the current state

1 StopManipulation Call function stopManipulation () from immersion API, and set the next state to be SaveFile1

2 SaveFile1 Call function SaveProduct () to apply all the constraints to the parts in the assembly, and set next state to be RemoveConstraintsForTool

3 RemoveConstraintsForTool Call function removeConstraintsForTool() to remove all the constraints of wrench, and set next state to be StartManipulation

4 SaveFile2 Call function SaveProduct() from immersion API to save the current status of assembly, and set next state to be RemoveConstraintsForBoth

5 RemoveConstraintsForBoth Call function removeConstraintsForTool() and function removeConstraintsForBolt() to remove all the constraints of wrench and bolt, and set next state to be StartManipulation

6 StartManipulation Call function StartManipulation() from immersion API, and set the stage and state to be EmptyHand and StartState

The entire flow of the program was designed to follow the stages as stated above. We

used event handlers to check the current stages and states and to decide the next stages

and states. For example, during stage 3, when the user is rotating the bolt using a wrench

in the virtual hand, if it is found that the bolt is out of the hole, the system will know that

Page 80: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

68

this stage is completed and return to stage 1. Figure 28, Figure 29, and Figure 30 show

the detailed flowcharts of the event handling.

Figure 28: Overall flowchart of the event handling [47]

Figure 29: Flowchart of event handling for ToolInHand stage [47]

Page 81: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

69

Figure 30: Flowchart of event handling for rotating bolt stage [47]

6.3.1 Enhancement of the ImT Application

The IMT application was further enhanced to support training applications. Figure 31

shows that a wrench is gripped in the ImT application. The environment is the CAD

system but manipulation with the VR devices is possible because of the architecture and

implementation described above.

Page 82: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

70

Figure 31: A wrench is gripped in ImT

Page 83: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

71

CHAPTER SEVEN LEARNING MANAGEMENT SYSTEM METHODOLOGY

AND DESIGN

7.1 Overview

The purpose of this chapter is to discuss the methodology, design, and

implementation for a learning management system (LMS) of the client site. The LMS is a

server side of the management system, which enables the management and delivery of

online content to trainees. The CBT and ImT applications have been introduced in the

previous chapters. These applications might be used as a stand-alone application.

However, for training purposes, these applications should be tracked and managed by the

LMS. The web-based training courses require communication with the LMS.

Unfortunately, there is currently no standard format for the LMS. One of the most

popular formats, Sharable Content Object Reference Model (SCORM) [31], is widely

used to create web-based training courses. SCORM is used for communicating between

the training web pages and the LMS.

The goal of this chapter is to show the following:

a methodology for the LMS of the client

the design for the LMS of the client

implementation of SCORM

integration of the client for the LMS with digital applications

Page 84: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

72

7.2 Methodology

An important key feature in training applications is management of the training

courses. The training applications need to be managed by the trainer. The trainer should

manage, track, and evaluate the trainee in a proper manner through a web-based course.

The trainee should go through a certain course and take a test at the end of the course.

Depending on the depth of the trainee’s knowledge, the trainee might not need to

work on all available courses. From a pre-quiz, the trainee is evaluated and guided into a

proper course, as determined by the trainer. For example, for a mathematics training

course that has 5 levels, the trainee would take a test at the beginning of the course. If the

trainee passes the first two questions related to the first two levels, the trainee would not

need to take first two levels of the course. The trainee would not waste his/her time to

complete sessions which he/she already has knowledge about.

Hardware availability is another factor to determine a session in the training course.

ImT requires hardware such as a helmet, a glove, a projecting screen, and a tracking

device. If the trainee does not have access to such devices, the trainee cannot perform the

ImT. CBT; however, even without access to these specialized devices, most trainees will

be able to participate in a training course because it uses common input devices such as a

keyboard and a mouse.

Tests created by the trainer are provided to the trainee after taking the course. The

trainee will be evaluated based on a variety of questions that are related to the training

course. If the trainee fails the course, the trainee may need to repeat the course. In

addition, the trainee needs to log in to take a course, which allows the trainer to keep

track of the trainee’s progress.

Page 85: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

73

7.3 Design of the SCORM Web Pages

SCORM has been chosen to communicate with the LMS, and web pages provide

instructions. An overall design of the training course is shown in Figure 32. Depending

on the course, the contents (lessons) have to be changed, but the overall design of iTrain

should include a pre-test, a learning mode, a practicing mode in CBT, a practicing mode

(ImT), and a test. The lessons are developed using HyperText Markup Language (HTML)

and JavaScript. HTML is mainly used for creating instructional web pages.

Figure 32: Design of the training course

7.4 Implementation of the SCORM Web Pages

A method that bridges the gap between the training web pages and an LMS is

required for managing the training course. SCORM API has been selected for this

purpose. Figure 33 shows the relationship between the web page (client of LMS) and

LMS. The web-based training pages are connected with the LMS using SCORM API.

Page 86: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

74

Since SCORM provides an API via JavaScript, the web pages have been implemented in

JavaScript.

Figure 33: A relationship between the web page and LMS

The SCORM Run-Time Environment (RTE) is provided by Advanced Distributed

Learning [31]. Figure 34 shows a SCORM conceptual Run-Time Environment. The LMS

is on the server side, and the SCORM web pages are on the client side.

Page 87: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

75

Figure 34: SCORM Conceptual Run-Time Environment [31]

The SCORM web pages can be either an asset type or a SCO type. An asset type of

the web page does not communicate with the LMS during run-time. It does not call any

SCORM APIs. In contrast to the asset web page, Sharable Content Objects (SCOs) are

able to connect to the LMS, and these SCOs can be traced by SCORM API.

The number of lessons in the learning mode or the practicing mode is determined by

the trainer. The trainer can add more lessons if required. The lessons can be also deleted

if they are not needed.

Page 88: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

76

Figure 35: SCORM API, API Instance, API Implementation [31]

In order to use a web page with SCORM API, some functions must be called in each

web page. Figure 35 shows some required functions of SCORM API. The descriptions of

some functions include:

Initialize(): initializes the communication session. This function must be

called in the web page.

Terminate(): terminates the communication session. This function must be

called in the web page.

GetValue(): requests a value from the LMS. This function is optional.

SetValue(): sets a value in the LMS. This function is optional.

Once training courses are created with SCORM APIs in web pages, these web pages

need to be able to run in the LMS. In order to run in LMS, a directory has to be created to

contain the web. The directory has many necessary SCORM related standard data. An

Page 89: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

77

important file is a main XML file, imsmanifest.xml, which defines the rules for

sequencing and navigation. Figure 36 shows some data of imsmanifest.xml, including

contents, organization, and resources. For example, one of lessons,‘Open the trunk’, has

the identifier id, which is matched from a ‘resource identifier’. The ‘resource identifier’

links to a physical location of the lesson, and it has information of SCO or Asset.

SCORM contents must have the main XML file (imsmanifest.xml). This file is

created by RELOAD [55]. RELOAD is an open source to create and organize SCORM

contents. The featured capabilities of RELOAD are as follows:

Create SCORM contents

Organize courses and lessons

Add/delete SCOs

Package SCORM contents

Page 90: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

78

Figure 36: imsmanifest.xml

Page 91: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

79

Figure 37 shows a RELOAD GUI. Using this GUI, the training web pages are

organized to connect the LMS. SCOs and Assets are added using the RELOAD GUI.

Objectives can be added in the SCORM contents, and these objectives are used for

remediation. In the practicing mode, each training page presents an objective to check

whether or not the trainee successfully performs a task. After the training course, the

trainee may go back to the practicing mode and re-do the practicing mode.

Figure 37: RELOAD GUI

Figure 38 shows the remediation of iTrain. If the trainee fails one of the lessons, the

trainee should go back to the failed lesson. The objectives of each lesson (obj_lesson1,

obj_lesson2, and so on) are defined in SCORM web pages using RELOAD.

Page 92: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

80

Figure 38: Remediation of the practicing mode

7.5 Integration with Applications

The previous section has shown that the web pages are connected with the LMS. In

this section, the connection between the web pages and digital applications is described.

The first page of the learning mode or the practicing mode of ImT should start with an

application when the first page is loaded. The trainee should then follow the lessons in

each mode. Figure 39 shows the overall design of integration between SCORM web

pages and a digital application. ActiveX is used for starting up the digital application in a

web page. The first page of the instructional SCORM web pages should launch a proper

application, so that the trainee goes through a training course with the application.

Page 93: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

81

Figure 39: Integration between SCORM web pages and digital application

When the first page is being loaded, the web pages has to load the application using

<body onLoad="FirstLoad(101)" onunload="return Unload()">. A function

FirstLoad(101) is called and the function is in a separate JavaScript file.

Figure 40 shows the FirstLoad function. This function takes one argument, which is

a current step. When the FirstLoad function is called, three different functions are called

from an ActiveX program. Descriptions of these three functions are as follows:

DWXConnector1.Connect(): creates a shared memory and connects to the shared

memory. In addition, it creates a main thread.

DWXConnector1.WriteSendData(lesson): takes a variable, a current lesson, and

writes the current lesson into the shared memory.

Page 94: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

82

DWXConnector1.RunProcess(Executable of the application): takes a string

variable, the executable of the application, and this function starts up the

application.

Figure 40: FirstLaunch function

When the trainee has completed a lesson, he/she will go to the next lesson by

clicking a continue button on the web page. When the button is clicked, the web page

calls an unload function. The unload function in the web pages calls Unload() in a

JavaScript file. The Unload() function calls DWXConnector1.Disconnect(), which

terminates the main thread.

In the practicing mode, the web pages are designed to communicate with the digital

application in both directions. In order to receive the data from the application, another

Page 95: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

83

function is created using ActiveX. The function, DWXConnector1_DataReceived, is used

for calling a function of ActiveX. The function of ActiveX,

DWXConnector1.GetRecvData(), is called by the JavaScript function

(DWXConnector1_DataReceived). The GetRecvData() function returns a part id, for the

part which is clicked/gripped by the trainee. The unique part id enables the trainee to

know which part is clicked/gripped.

Figure 41: Data structure of the shared memory

Figure 41 shows the data structure of the shared memory. The shared memory is

used for sharing common data between digital applications and the SCORM web pages.

Both CBT and ImT contain similar data to be shared with the SCORM web pages. For

example, the name of the component is written to m_bSendBuff of the shared memory

when the component is clicked/gripped.

Page 96: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

84

CHAPTER EIGHT UNIFIED APPROACH

8.1 Overview

iTrain has two main applications: the CBT application and the ImT application. In

the previous chapters, these two applications were integrated with the SCORM web pages

with an LMS. In these applications there are some commonalities and similarities, such as

models, names, and transformation matrices. The unified approach is defined for these

common repositories.

The subsequent sections show the methodology, design, and implementation of the

common repository.

8.2 Methodology of Unified Approach

The two different applications (CBT and ImT) have similar concepts, but different

interaction methods. CBT uses common devices such as a mouse and a keyboard, while

ImT uses VR hardware to interact with the models. However, there are some similarities

in both applications in terms of models, assembly hierarchy and transformation matrices.

For instance, if a model is changed from the source, the model should be updated in CBT

and ImT. These common data should be updated from a single source in order to

synchronize the course in both CBT and ImT. A database is built to obtain information

such as geometry models, paths of models, and transformation matrix of each component.

A database is used as a terminal for data, which can be accessed from web pages,

CBT, and ImT. The database can store information from the CAD system, and distribute

data to digital applications.

Page 97: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

85

8.3 Design of Unified Approach

An overall architecture of the unified approach is shown in Figure 42.

1. Data is extracted from the CAD system and inserted into the database so that

both CBT and ImT applications have access.

2. SCORM API is used for communicating between the web page and the LMS.

3. Shared memory is created for sending and receiving the status of the course,

status of assembly, and model information.

4. The web page accesses the database to gain access to model data.

5. CBT and IMT applications retrieve data such as 3D model information,

transformation matrices, and assembly hierarchy.

Page 98: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

86

Figure 42: Overall architecture of unified approach

The database design is shown in Figure 43. There are three tables: Course, ModelList,

and ModelProperty. The following is a description of the tables to be supported by the

database.

Page 99: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

87

Course: It organizes a series of courses and model lists of each course. Each

course has different model lists.

ModelList: It contains information names and ModelPropertyID of each

model.

ModelProperty: It has information of models such as paths of 3D models,

transformation matrices, and parent names.

Figure 43: Database design

8.4 Implementation of Database

The overall architecture has been shown in Figure 42. First, necessary data should be

extracted from the CAD system. These data should automatically be inserted into the

database. A Dynamic-Linked Library (dll) has been developed for inserting data into the

database. A design of the database is shown in Figure 44. The DBAccess class is a parent

of the course, ModelList, and ModelProperty classes. There are some common functions

of each class, so the inheritance of the object-oriented programming has been used to

Page 100: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

88

design the dll. Each table should have its own class so that more tables can be added in

the future.

Figure 44: The design of DLL

The featured functions in the DBAccess function are as follows:

Open(): Open a table from the database

Close(): Close a table from the database after retrieving the data

MoveFirst(): Move to a first record set of a table

MoveLast(): Move to the last record set of a table

MovePrev(): Move to the previous record set

MoveNext(): Move to the next record set

Page 101: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

89

The dll has been developed for the database and it can be used in accessing the data

from digital applications and SCORM web pages. The next section will describe how to

access the data from the web page and applications.

8.5 Accessing Database

Once the database is built on the system, either the CBT application or the ImT

application will be able to access the data through the database. The same dll file

developed for inserting data into the database is now used to retrieve the data from the

database. Regardless of the digital application, the same dll file can be used in both

applications.

SCORM web pages also are able to access the database. Since the SCORM web

pages are developed in HTML, the same dll file can not be used for accessing the data.

The single source in this dissertation is the CAD system. The CAD system is widely used

for designing and creating mechanical systems in industry. Once the models are created,

the necessary data are extracted from the CAD system. This method has been described

in Chapter 5.6.2. A data file extracted from the CAD system is shown in Figure 6.

Accesssing the database on the SCORM web page is implemented in ADO and

JavaScript. Figure 45 shows the key functions to access the database. This capability is

important because the trainee is able to know which component is selected. When the

trainee selects or grips a component in either the CBT application or ImT application, a

unique model id is sent to a shared memory. The web page can assess the model id and

retrieve the name from the database. For example, if the trainee selects a wrench (ID: 44)

in the practicing mode of the CBT application, the web page can get the ID from the

shared memory. Then, the web page can access the database. Once a proper name is

Page 102: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

90

found in the database, the name is displayed on the web page. Therefore, the trainee

knows whether or not he/she selected a correct component in the practicing mode.

Figure 45: Database access in JavaScript of the web page

8.6 Trainer Perspective

The trainer should prepare a training course with the following processes:

Create training models in the CAD system

Extract information from the CAD models (Chapter 5)

Create instructional web pages

Page 103: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

91

Store information extracted above into database (Chapter 8)

Create a scenario for the learning mode in CBT

After the trainer has the material to train the trainee, the trainer should register a

training course in the LMS. In the LMS the trainer should do the following:

Manage (Add, Remove) a user account of the trainee

Import a SCORM content, which is a training course (Figure 46)

Evaluate the trainee after the trainee is done with a training course

8.7 Trainee Perspective

Once the trainer finishes registering the training course, the trainee is able to log into

the LMS. When the trainee logs into the LMS, the trainee will see some courses, which

have been registered by the trainer. The trainee should select one of the courses. The

trainee then follows the training course.

Figure 46 shows the main log in window and administrator options. The trainer

should import courses and add users. Figure 47 shows how to register a course and

available courses. When the trainee selects the course, the trainee is ready to take the

training course. One of the instructional web pages is shown in Figure 48. The first page

starts up the CBT application for the learning mode. This application can be used in the

practicing mode as well if the trainee wants to use the CBT application.

The trainee should read the instructions and click a play button on the web page.

Depending on a current lesson, the CBT application shows a simulation of each lesson.

Once the trainee finishes the learning mode, the trainee will be able to interact with the

models. The trainee can use common input devices such as a mouse and a keyboard in

Page 104: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

92

CBT. Based on the lesson, the trainee should select a proper component. If the lesson is

about “Open the trunk”, the trainee is supposed to select the trunk. When the trainee

clicks a component, the trainee can see which component is selected through a text

message on the web page. The text message is coming from the database regarding to the

selection in the CBT application.

In ImT, the trainee will interact with the models using VR devices such as a tracking

device and a glove. The process of ImT is similar to CBT. However, interaction methods

in ImT are different from CBT. Not all lessons provide for the ImT application.

Figure 46: LMS user interface

Page 105: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

93

Figure 47: Course registration and available courses

Page 106: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

94

Figure 48: SCORM web page with CBT and ImT

Page 107: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

95

CHAPTER NINE TEST CASE

As a test case of iTrain, a flat tire replacement was chosen. Manuals included with a

car usually include some steps to replace a flat tire. In this test case, nine steps are

identified in the learning mode and the practicing mode. Table 2 describes the task for

each step.

Step Task

1 Open the trunk

2 Open the cover of tool box

3 Grip a wrench

4 Remove a nut on a spare tire

5 Loosen nuts on a flat tire

6 Place a jack

7 Remove a flat tire

8 Replace a flat tire

9 Tighten nuts on a spare tire

Table 2: A list of tasks for flat tire replacement

The Learning Mode (CBT)

In this mode, the trainee is able to see a pre-defined scenario. The trainee logs in to

LMS and registers for a course. The instructional web pages guide the trainee to learn the

course. A detailed description of each step is as follows:

Step 1: This step shows a simple simulation of an open trunk while a button is

clicked. Figure 49 shows the first step of the learning mode.

Step 2: This step illustrates the location of the tool box and shows that the

cover is open.

Page 108: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

96

Step 3: This step brings a wrench over a nut on a spare tire.

Step 4: This step shows an animation of unscrewing the nut on the spare tire. The

simulation shows that the spare tire is being removed.

Step 5: This step shows a simulation of loosening a nut on the flat tire. The

wrench is being rotated only 1/2 turn.

Step 6: This step shows that a jack is placed under the jacking point.

Step 7: This step shows that the flat tire is being removed.

Step 8: This step shows how to change the flat tire. It also shows a simulation of

fastening the nuts in the crisscross pattern.

Step 9: This is the last step of the learning mode. Once the flat tire is replaced,

the jack is removed and the nuts of the spare tire are tightened in the crisscross

pattern.

Figure 49 shows steps 1 through 3 of the learning mode. The web page sets a current

lesson through a shared memory between the CBT application and the web page. In

addition, the web page has buttons to play an animation of the current step. This is one

direction communication, which sets the lesson from the web page to the CBT

application. For example, a wrench rotates to unscrew a nut on a spare tire while the

spare tire moves down.

Figure 50 shows steps 4 through 9. Step 5 shows what will happen when unscrewing

a nut before placing the jack. In step 5, the order of unscrewing nuts is not important.

Step 8 shows fastening a nut after replacing a spare tire. There is a sequence for fastening

nuts and the CBT application simulates the sequence.

Page 109: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

97

Figure 49: The learning mode (Step 1-3)

Page 110: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

98

Figure 50: The learning mode (Step 4–9)

Page 111: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

99

The Practicing mode (CBT and ImT)

In the practicing mode in CBT, the CBT application allows the trainee to select a part

with a mouse interaction. The part will be highlighted when it is selected. Moreover, the

trainee is able to move the part and practice the lesson.

Table 3 shows the list of tasks in the practicing mode. Both CBT and ImT have a

similar task, but interaction methods are different. In this test case, ImT is used for step 5

and 8.

Step CBT ImT 1 Select a trunk - 2 Select a cover of tool box - 3 Select a wrench and move

into a nut on a spare tire -

4 Click a button in the web page to unscrew a nut on a spare tire

-

5 Move the wrench into a nut on a flat tire and click a rotate button on a web page

Grip the wrench into a nut on a flat tire and unscrew it

6 - - 7 - - 8 Move the wrench into a nut

and click a rotate button on a web page

Grip the wrench into a nut with a proper order

9 Tighten nuts Tighten nuts

Table 3: A list of tasks for a flat tire replacement

Figure 51a shows step 5 in CBT. In CBT, the wrench is selected by using a mouse

and it is highlighted. The trainee knows that the wrench is selected from the web page. In

the practicing mode, the application communicates both directions between the

application and the SCORM web page.

Page 112: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

100

Figure 51b shows that the wrench is assembled in CBT and the wrench is gripped in

ImT. The trainee can move the component and assemble into a nut in CBT. The CBT

application does not perform to unscrew the nut, so the trainee has to click the rotate

button from the web page. In ImT, the trainee grips the wrench and engages into a nut.

Figure 51: The practicing mode

Testing mode

When trainees complete the course, they will be evaluated by taking a test. Figure 52

shows a question related a flat tire replacement. The testing mode is a text-based question.

A score will be stored in SCORM, so the trainer can review the result. Figure 53 shows

the result after submitting answers. The top picture of Figure 53 shows that the trainee

Page 113: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

101

has selected a wrong answer. The score shown is scaled from 0.0 to 1.0. The bottom

picture of Figure 53 shows that the trainee has submitted a correct answer. The result can

be used to evaluate the trainee after taking a training course.

Figure 52: Test mode

Figure 53: Results from SCORM

Page 114: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

102

CHAPTER TEN

SUMMARY AND CONCLUSION

This dissertation introduces an integrated approach to combine Computer-Based

Training (CBT) and Immersive Training (ImT), coined iTrain, for assembly/disassembly

processes. Both the CBT application and the ImT application have been developed and

modified for training purposes. These applications have been integrated with the learning

management system (LMS). A common repository has been identified to share common

data, such as model information, so that iTrain can be easily managed if there is

modification of models.

In the CBT application that was created in this dissertation with input devices such as

a mouse and a keyboard for a PC, the trainee is able to interact with 3D models. The CBT

application has been designed to be used in two main modes: the learning mode and the

practicing mode. In the learning mode, the trainee can watch a simulation of the training

course so that he/she understands the training course. In the practicing mode, the CBT

application enables the trainee to interact with the models with the mouse and keyboard.

Two ImT applications were investigated and modified for training. The first ImT

application was VADE and new functionality was introduced to allow industry test cases.

The second ImT application was an embedded VR environment in a CAD system and

was used for fastening/loosening components in the training course. VR hardwares such

as a tracking device, a glove, and a force feedback, have been used for the trainee to

interact with the models. The ImT application has mainly been used for the practicing

mode.

Page 115: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

103

The learning management system (LMS), allowed the integration of digital

applications and client (web pages) applications. In addition, methods were created to

communicate between the client and the LMS. The Shared Contents Object Reference

Model (SCORM) API was introduced to communicate with LMS.

A common database was created for iTrain. Some necessary information for the

training course was shared through the common repository. The database has been

designed to be accessible from any applications and the web page. This common

repository is one of the key concepts of this dissertation for integrating between the

instructional web page and digital applications.

The models were created in the CAD system such as CATIA. These models were

processed using a CAD API in order to retrieve model information such as an assembly

hierarchy, transformation matrix, and name. The CBT application was developed on

OpenSceneGraph using C++. The ImT application was embedded in the CAD system. It

is being enhanced with more functionality. The LMS used SCORM to track a training

course from the web page. The unified approach used ODBC to build the database.

There are some limitations. The CBT application developed for this dissertation has

to have a pre-defined scenario such as sequences to simulate the learning mode. Currently,

the CBT application is not designed to support an authoring tool. This capability is

needed to help the trainer make a new training course. Since the application was based on

standard C++, COM based database such as ADO .NET is not recommended to integrate

with the CBT application.

In addition, if the trainer wants to have a new training course, the following materials

are required to use the CBT application with the LMS:

Page 116: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

104

Instructional SCORM web pages

CAD models of the new training course

Pre-defined scenario for the learning mode: Identify which component will

be acting depends on a current lesson

Once CAD models are created, the data file can be exported from the CAD API,

which developed in this dissertation. The database can be built based on the data file from

the CAD system. Instructional SCORM web pages and the pre-defined scenario of the

learning mode should be prepared manually by the trainer.

The ImT application used for iTrain was running on Windows system. This

application can be started directly from a SCORM web page.

In the practicing mode was not designed to detect a mistake. Even though the trainee

failed to assemble a component, the trainee could go to the next lesson.

In the LMS, tests in the test mode were text based multiple-choice questions. When

the trainee selects an answer, the result is stored in SCORM database. However, this

mode needs to be enhanced with the following capabilities:

Ability to record the assembly/disassembly features in CBT or ImT.

Ability to measure the time of the practicing mode.

The design of iTrain was designed to adapt other digital applications as long as some

information can be shared through the shared memory. The data structure of the shared

memory was shown in Figure 42.

In conclusion, the work presented in this dissertation has added to cutting-edge

technology in the field of training technologies. The integrated approach, iTrain, has

successfully integrated digital applications with the learning management system. The

Page 117: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

105

CBT application has been developed in this dissertation. The ImT application has been

developed, and enhanced functionality continues to be added. The common repository

has been identified and a unified approach successfully implemented.

Page 118: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

106

References [1] Chou, C., H.L. Hsu, and Y.S. Yao, 1997, "Construction of a Virtual Reality Learning

Environments for Teaching Structural Analysis," Computer Applications in Engineering Education, Vol.5, No.4, pp.223-230.

[2] Hickey, D., Kindfield, A., Horwitz, P., and Christie, M., 2003, "Integrating curriculum, instruction, assessment, and evaluation in a technology-supported genetics learning environment," American Educational Research Journal, Vol.40, No.2, pp.495-538.

[3] Kenney, P. J., and Saito, T. 1994. Results of a survey on the use of virtual environment technology in training NASA flight controller for the hubble space telescope servicing mission. Technical Report. VETL.

[4] Mioduser, D., Venezky, R., and Gong, B., 1998, "The weather alb: An Instruction-based assessment tool built from a knowledge-based system," The Journal of Computers in Mathematics Science and Teaching, Vol.17, No.2, pp.239-263.

[5] Pliox, S., Désinde, M., and Michau, F., 2004, "Assessment and diagnosis for virtual reality training," Proceeding of the International Conference on Computer Aided Learning in Engineering Education, Grenoble, France.

[6] Document, U. S. D. o. D. T. 1975. Pamphlet 350-30. [7] Training in Transmission & Distribution, http://npti.nic.in/t&d.html, [accessed April,

2007]. [8] Adams, N., 1995, "Lessons from the virtual world," Training, pp.45-48. [9] Advanced integrated training in aeronautics maintenance, http://www.aitram.de,

[accessed March, 2007]. [10] Bluemel, E., A. Hintze, T. Schulz, M. Schumann, and S. Stuering, 2003, "Virtual

environments for the training of maintenance and service tasks," Proceedings of the 2003 Winter Simulation Conference.

[11] Bluemel, E., Scbenk, M., and Schumann, M., 2003, "Distributed virtual worlds with HLA?," Proceedings of the 2002 Fall Simulation Interoperability Workshop, Orlando, FL.

[12] Hintze, A., Schumann, M., and Stuering, S., 2001, "Distributed virtual training applications for education of maintenance and service personnel," Proceedings of the 2001 European Simulation Interoperability Workshop, London, Great Britain.

[13] Johnson, A., Roussos, M., Leigh, M., Vasilakis, C., Barnes, C., and Moher, T., 1998, "The NICE project: learning together in a virtual world," In Proceeding of Virtual Reality Annual International Symposium

Page 119: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

107

[14] Jayaram, S., Jayaram, U., Wang, Y., Lyons, K., and Hart, P. F., 1996, "VADE: A Virtual Assembly Design Environment," IEEE Computer Graphics and Applications, Vol.19, No.6.

[15] Wang, Y., Jayaram, U., and Jayaram, S., 2001, "Physically Based Modeling In Virtual Assembly," Proceedings of DETC/CIE 2001, Pittsburgh, Pennsylvania.

[16] Bowman, D. A., Wineman, J., and Hodges, L. F., 1999, "The education value of an information-rich virtual environment," Presence: Teleoperators and Virtual Environments, Vol.8, pp.317-331.

[17] School, U. A. F. A. 1984. A system approach to training. [18] Fernandesa, K. J., Rajaa, V. H., and Eyreb, J., 2003, "Immersive learning system for

manufacturing industries," Computers In Industry, Vol.51, pp.31-40. [19] Dargue, B., 2005, "The Boeing Fighter Training Center I/ITSEC 2004

Demonstration: Integration of SCORM 2004 S&N and a Weapon System Trainer," IEEE Computer Society Technical Committee on Learning Technology (LTTC), Vol.7, No.1.

[20] CyberEdge Information Services, I. 1995. The sixth edition of the market for visual simulation/virtual reality systems. DoD Human Computer Interaction (HCI) Concept Plan.

[21] Blended training combines the new with the old, http://www.engineeringtalk.com/news/eng/eng105.html, [accessed March, 2007].

[22] Bridging Technology and Training, www.teibelinc.com/BlendedTraining.html, [accessed March, 2007].

[23] Clothier, P., 2003, "Strategies and techniques for designers, developers, and managers of e-learning," The e-learning Developer Journal.

[24] All mixed up by Blended Learning?, http://www.personneltoday.com/Article13133.htm, [accessed August, 2006].

[25] eLearning in Practice: Blended Solutions in Action, http://whitepapers.zdnet.co.uk/039025945,60013383p,00.htm, [accessed August, 2006].

[26] http://www.righthemisphere.com/index.html, [accessed 2004]. [27] Bridging Technology and Training – Blended Training,

http://www.teibelinc.com/BlendedTraining.html, [accessed April, 2004]. [28] Assfalg, J., A. D. Bimbo, and E. Vicario, 2002, "Using 3D and ancillary media to

train construction workers," Vol.9, pp.88-92. [29] Bennett, W. S., and Dekker, M. 1992. Visualizing software: A graphical notation for

analysis. New York, NY.

Page 120: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

108

[30] Sutcliffe, A., 1999, "User-centered design for multimedia applications," Proceeding of the IEEE Conference Multimedia Computing and Systems.

[31] Advanced Distributed Learning, www.adlnet.org, [accessed April, 2007]. [32] Ashlock, N., Majors, W., Nilsen, D., and Paschetto, G., 2005, "Meeting Armor

Requirements with SCORM Reuse within the Scope of Content Repositories," IEEE Computer Society Technical Committee on Learning Technology (LTTC), Vol.7, No.1.

[33] Bedford, and Bruce, R., 1991, "Software reliability measurement on the B-2 aircrew training device," Interservice/Industry Training Systems Conference, Orlando, FL.

[34] Spitzer, D. R., 1984, "Why training fails," Performance and Instruction Journal, Vol.9, pp.6-11.

[35] Chastek, G., and Brouwnford, L. 1996. A case study in structural modeling. CMU/SEI-96-TR-035 ESC-TR-96-035.

[36] Booch, G. 1991. Object oriented design with applications. The Benjamin/Cummins Publishing Company, Inc., Redwood City, CA.

[37] Clements, P., and Northrop, L. 1996. Software Architecture: An Executive Overview (CMU/SEI-96-TR-003, ADA305470). Software Engineering Institute, Carnegie Mellon University.

[38] Garlan, D., and Perry, D., 1995, "Introduction to the special issue on software architecture," IEEE Transactions on Software Engineering, Vol.21, pp.269-274.

[39] Air Force Aeronautical Systems Command, 1994, Structural Modeling Handbook. [40] Abowd, G. D., Bass, L., Howard, L., and Northrop, L. 1993. Structural Modeling:

An application framework and development process for flight simulators (CMU/SEI-93-TR-14, ADA271348). Software Engineering Institute, Carnegie Mellon University.

[41] Wallnau, K., Hissam, S. A., and Seacord, R. C. 2001. Building systems from commercial components. Addison-Wesley, Boston, MA.

[42] IEEE Standard for Distributed Interactive Simulation. IEEE STD 1278. 1-1995. [43] IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA),

IEEE STD 1516.1-2000. [44] Heutlign, S., Schumann, M., and Steuering, S., 2003, "Interfacing virtual

environment and expert system via HLA," Proc. of the 2003 European Simulation Interoperability Workshop, Stockholm, Sweden.

[45] Adobe eLearning solutions: Rapid training, http://www.adobe.com/products/connect/solutions/rapid_training/, [accessed March, 2007].

Page 121: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

109

[46] Open Scene Graph, www.openscenegraph.org, [accessed March, 2007]. [47] Jayaram, S., Joshi, H., Jayaram, U., Kim, Y., Kate, H., and Varoz, L., 2006,

"Embedding Haptics-Enabled Virtual Tools in CAD for Training Applications," Proceedings of IDETC/CIE 2006, Philadelphia, Pennsylvania.

[48] Autodesk 3ds Max, http://usa.autodesk.com/adsk/servlet/index?id=5659302&siteID=123112, [accessed March, 2007].

[49] Jayaram, S., Connacher, H., and Lyons, K., 1995, "Virtual Assembly Design Environment," Proc. of ASME Design Technical Conferences/International Computers in Engineering Conference, Boston, MA.

[50] Jayaram, S., Jayaram, U., Wang, Y., Lyons, K., and Hart, P., 1999, "VADE: A Virtual Assembly Design Environment," IEEE Computer Graphics and Applications, Vol.19, No.6, pp.44-50.

[51] Wang, Y., Jayaram, U., Jayaram, S., and Shaikh, I., 2001, "Methods and Algorithms For Constraint Based Virtual Assembly," Virtual Reality, Vol.6, pp.229-243.

[52] Taylor, F., Jayaram, S., and Jayaram, U., 2006, "Validation of Virtual Crane Behavior through Comparison with a Real Crane," IJAMS Vol.9, No.1, pp.73-84.

[53] Jayaram, U., Kim, Y., Jayaram, S., Jandhyala, K., and Mitsui, T., 2004, "Reorganizing CAD Assembly models (As-Designed) for Manufacturing simulations and Planning (as-built)," Journal of Computing and Information Sciences in Engineering, Vol.4, No.2, pp.98-108.

[54] Joshi, H., 2006, Open Architecture for Embedding VR-Based Mechanical Tools in CAD. Washington State University, Pullman, WA.

[55] RELOAD: Reusable eLearning Object Authoring & Delivery, www.reload.ac.uk, [accessed March, 2007].

Page 122: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

110

APPENDIX A

CATIA API CODE

Page 123: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

111

V5Mockup.cpp #include <iostream> #include "V5Utility.h" #include <Windows.h> using namespace std; // --------------------------------------------------------------------------- // arg[1] Command file path // --------------------------------------------------------------------------- int main (int argc, char **argv) { cout<<argc<<endl; if(argc != 2) { cout<<"Invalid arguments"<<endl; return 0; } V5Utility v5_utility; v5_utility.StartCatia (); v5_utility.OpenModel (argv[1]); v5_utility.GetProduct(); v5_utility.ExtractAssemblyTree(); v5_utility.CloseModel (); v5_utility.EndCatia (); // done - no error codes return 0; }

Page 124: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

112

FileUtility.cpp #include "FileUtility.h" // Standard includes //------------------ #include <fstream> #include <stdio.h> #include <iostream> //---------------------------------------------------------------------------------------------- //PURPOSE: Constructor //---------------------------------------------------------------------------------------------- FileUtility::FileUtility () { } //---------------------------------------------------------------------------------------------- //PURPOSE: Destructor() //---------------------------------------------------------------------------------------------- FileUtility::~FileUtility () { } //---------------------------------------------------------------------------------------------- //PURPOSE: Create a data file() //---------------------------------------------------------------------------------------------- void FileUtility::WriteFileData (std::list<AssemblyComponentData *>

assembly_components) { std::fstream file; char file_name[256]; float matrix[12]; int i;

Page 125: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

113

std::list<AssemblyComponentData *>::iterator assembly_components_i; strcpy (file_name, "D:\\temp\\wrenchInFlatTire.dat"); file.open (file_name, std::ios::out); for ( assembly_components_i = assembly_components.begin(); assembly_components_i != assembly_components.end(); assembly_components_i++ ) { file<<"# Name"<<std::endl; file<< (*assembly_components_i)->name<<std::endl; file<<"# Parent name"<<std::endl; file<< (*assembly_components_i)->parentName<<std::endl; file<<"# Is it an Assembly? "<<std::endl; file<<(*assembly_components_i)->isAssembly<<std::endl; file<<"# Transformation Matrix "<<std::endl; file<< (*assembly_components_i)->transformation[0]<<"

"<<(*assembly_components_i)->transformation[3]<<" "<<(*assembly_components_i)->transformation[6]<<" "<<(*assembly_components_i)->transformation[9]*0.1<<std::endl;

file<< (*assembly_components_i)->transformation[1]<<" "<<(*assembly_components_i)->transformation[4]<<" "<<(*assembly_components_i)->transformation[7]<<" "<<(*assembly_components_i)->transformation[10]*0.1<<std::endl;

file<< (*assembly_components_i)->transformation[2]<<" "<<(*assembly_components_i)->transformation[5]<<" "<<(*assembly_components_i)->transformation[8]<<" "<<(*assembly_components_i)->transformation[11]*0.1<<std::endl;

file<<std::endl; } file.close (); }

Page 126: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

114

V5Utility.cpp // This files includes //-------------------- #include "V5Utility.h" #include "FileUtility.h" // Standard includes //------------------ #include <list> #include <iostream> // Catia includes //----------------- #include "CATDocumentServices.h" // Manage CAT documents #include "CATSessionServices.h" #include "CATDocument.h" #include "CATIDocRoots.h" #include "CATIProduct.h" #include "CATIMovable.h" #include "CATMathTransformation.h" using std::cout; using std::cin; using std::endl; //============================================================== //-----------------------Initialize Static Variables----------- //============================================================== //============================================== // ------------------------Creators-------------- //============================================== //---------------------------------------------------------------------------------------------- //PURPOSE: Constructor() //---------------------------------------------------------------------------------------------- V5Utility::V5Utility () {

Page 127: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

115

d_v5_session = NULL; d_v5_assembly_doc = NULL; d_v5_product_var = NULL_var; } //---------------------------------------------------------------------------------------------- //PURPOSE: Destructor() //---------------------------------------------------------------------------------------------- V5Utility::~V5Utility () { } //--------------------------------------------------------------------- // FUNCTION: StartCatia //--------------------------------------------------------------------- void V5Utility::StartCatia () { HRESULT status = S_OK; cout<<"Starting Catia..."<<endl; //------------------ //A. Open a V5 session //------------------ status = Create_Session("V5Session",d_v5_session); if(status != S_OK) { cout<<"Unable to start Catia"<<endl; } cout<<"Catia Started"<<endl; } //--------------------------------------------------------------------- // FUNCTION: EndCatia //--------------------------------------------------------------------- void V5Utility::EndCatia ()

Page 128: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

116

{ HRESULT status = S_OK; //------------------ //A. Open a V5 session //------------------ status = Delete_Session("V5Session"); } //--------------------------------------------------------------------- // FUNCTION: OpenModel //--------------------------------------------------------------------- void V5Utility::OpenModel (char *in_assembly_file_path_name) { HRESULT status = S_OK; cout<<"Opening Model..."<<endl; //Close any open document //------------------------ if(d_v5_assembly_doc != NULL) CATDocumentServices::Remove(*d_v5_assembly_doc); status = CATDocumentServices::OpenDocument(in_assembly_file_path_name, d_v5_assembly_doc, FALSE); //Error Checking. //--------------------------------------------------- if(status != S_OK) { d_v5_assembly_doc = NULL; cout<<"Failed to open model"<<endl; return; } cout<<"Model Opened"<<endl; }

Page 129: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

117

//--------------------------------------------------------------------- // FUNCTION: GetProduct //--------------------------------------------------------------------- void V5Utility::GetProduct() { HRESULT status = S_FALSE; cout<<"Getting Product..."<<endl; CATIDocRoots * piDocRootsOnDoc = NULL; CATListValCATBaseUnknown_var *pRootProducts = NULL; status = d_v5_assembly_doc->QueryInterface (IID_CATIDocRoots, (void**)

&piDocRootsOnDoc ); if ( SUCCEEDED(status) && NULL != piDocRootsOnDoc) { pRootProducts = piDocRootsOnDoc->GiveDocRoots(); if (pRootProducts->Size()) { // the root product is first element of // the list of root elements. d_v5_product_var = (*pRootProducts)[1]; // this is how CAA wants us to dispose off pRootProducts delete pRootProducts; pRootProducts = NULL; } if ( piDocRootsOnDoc ) { piDocRootsOnDoc->Release(); piDocRootsOnDoc=NULL; }

Page 130: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

118

} cout<<"Got Product..."<<endl; return; } //--------------------------------------------------------------------- // FUNCTION: ExtractAssemblyTree //--------------------------------------------------------------------- void V5Utility::ExtractAssemblyTree() { cout<<"Extracting Assembly Tree..."<<endl; FileUtility *file_utility = new FileUtility(); fillAssemblyTree(d_v5_product_var); file_utility->WriteFileData(d_assembly_components); cout<<"Assembly Tree Extracted"<<endl; } //------------------------------------------------------------------------- // FUNCTION: fillAssemblyTree (Recursively fills the assembly information) //------------------------------------------------------------------------- void V5Utility::fillAssemblyTree(CATIProduct *pComponent) { CATIMovable *cat_movable = NULL; HRESULT status = S_OK; const char *instance_name; //Data Structure //---------------

Page 131: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

119

AssemblyComponentData* assembly_component = new AssemblyComponentData;

CATUnicodeString v5_instance_name; pComponent -> GetPrdInstanceName(v5_instance_name); instance_name = v5_instance_name.ConvertToChar() ; strcpy(assembly_component->name, instance_name); //Set the transformation of the component //--------------------------------------- CATMathTransformation v5_transformation; //Get the component transformation //-------------------------------- status = pComponent->QueryInterface(IID_CATIMovable,

(void**)&cat_movable); if(FAILED(status) || cat_movable == NULL) cout<<"FAILED MOVABLE"<<endl; cat_movable->GetAbsPosition(v5_transformation); cat_movable->Release(); cat_movable = NULL; v5_transformation.GetCoef(assembly_component->transformation); d_assembly_components.push_back(assembly_component); //Get the number of children //------------------------------------ int nChildren = pComponent->GetChildrenCount(); CATIProduct_var v5_product_var = pComponent ->GetFatherProduct(); if(v5_product_var != NULL) {

Page 132: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

120

CATUnicodeString v5instance_name; v5_product_var -> GetPrdInstanceName(v5instance_name); instance_name = v5instance_name.ConvertToChar() ; strcpy(assembly_component->parentName, instance_name); } else { strcpy(assembly_component->parentName, "None"); } // Check if this component has children //------------------------------------ if (nChildren > 0 ) { assembly_component->isAssembly = true; //Get the list of Direct children //------------------------------- CATListValCATBaseUnknown_var* v5_children_list; v5_children_list = pComponent->GetChildren("CATIProduct"); // Recursively traverse the children //------------------------------------ for (int i=1; i<=nChildren; i++ ) { CATIProduct *v5_child_product = NULL; status = (*v5_children_list)[i]->QueryInterface(IID_CATIProduct,

(void**)&v5_child_product); if(FAILED(status) || v5_child_product == NULL) cout<<"FAILED CHILD PRODUCT"<<endl; fillAssemblyTree(v5_child_product);

Page 133: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

121

//Release the Product. //-------------------------- v5_child_product->Release(); } } else { assembly_component->isAssembly = false; } } //--------------------------------------------------------------------- // FUNCTION: CloseModel //--------------------------------------------------------------------- void V5Utility::CloseModel () { cout<<"Closing Model..."<<endl; if(d_v5_assembly_doc != NULL) CATDocumentServices::Remove(*d_v5_assembly_doc); d_v5_assembly_doc = NULL; cout<<"Model Closed"<<endl; }

Page 134: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

122

APPENDIX B

SEQEUNCE OF TASKS IN ASSEMBLY PROCESS

Page 135: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

1

Level of support by VADE Sample of scenarios and training actions that need to be supported

Fully

supported

Can be

implemented with

minor changes

Can be

implemented with

major changes

Difficult to

implement

COMMENTS

Parts to be assembled are located on top of blocks X Part is attached to a lifting beam X Part is only attached to a large hook in VADE Attach the base part to crane using eight attachment points and a cable X VADE supported only four hanging points

Assemble nuts and bolts with hand (loosely) X X

VADE supported the insertion of a bolt and then the attaching of a nut. Major changes will be required for using two hands simultaneously for two components being attached to the base part and to each other–.

Place a part on the base part and assemble bolts X X

Minor changes will be required to allow a person to use both hands to pick up parts simultaneously– one to hold the part in place while the bolt is put in place

Personnel standing on parts and reaching X

VADE supports a full human model. Collision detection can be used to implement this capability

Medium size parts attached to the X

Page 136: AN INTEGRATED APPROACH TO COMBINE IMMERSIVE …IMMERSIVE TRAINING (ImT) FOR MECHANICAL ASSEMBLY Abstract by Young Jun Kim, Ph.D. Washington State University May 2007 Chair: Uma Jayaram

2

crane hooks swing in front of the worker Lower these parts and place them in the appropriate place X Perform “high wire” act in tight areas X

Move the part to a desired position X

Use a hammer to drive a part in place X X

A visual simulation of swinging of hammer is fully supported. True simulation would be difficult without force feedback and tolerance issues.

Lower big heavy parts and place them appropriately on the base part X Worker waves off the crane operator X