0% found this document useful (0 votes)
19 views10 pages

Building Interactive Virtual Environments

The document discusses the development of interactive virtual environments for medical training using Virtual Reality Modelling Language (VRML) and Java/JavaScript. It highlights the challenges of creating dynamic and interactive simulations for training in neonatal resuscitation, proposing a three-level implementation approach to enhance VRML's capabilities. The paper presents a prototype system that integrates a virtual newborn model with real-time control of vital signs, aiming to improve medical education by bridging the gap between theoretical learning and practical application.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views10 pages

Building Interactive Virtual Environments

The document discusses the development of interactive virtual environments for medical training using Virtual Reality Modelling Language (VRML) and Java/JavaScript. It highlights the challenges of creating dynamic and interactive simulations for training in neonatal resuscitation, proposing a three-level implementation approach to enhance VRML's capabilities. The paper presents a prototype system that integrates a virtual newborn model with real-time control of vital signs, aiming to improve medical education by bridging the gap between theoretical learning and practical application.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Computer Methodsand Programsin Biomedicine80 Suppl.

I (2005) %1-S70

Computer Methods and


Programs in Biomedicine

ELSEVIER [Link][[Link] journalsI cmpb

Building interactive virtual environments


for simulated training in medicine
using VRML and Java/JavaScript

D. Koro ec*, A. Holobar, M. Divjak, D. Zazula


University o[ Maribor, Faculty o[ Electrical Engineering and Computer Science, Smetanova 17,
2000 Maribor, Slovenia

KEYWORDS Summary Medicine is a difficult thing to [earn. Experimenting with real


Medical training; patients should not be the only option; simulation deserves a special
Virtual environments; attention here. Virtual Reality Modelling Language (VRML) as a toot for
VRML;
Neonatal resuscitation; building virtual objects and scenes has a good record of educational
Virtual newborn applications in medicine, especially for static and animated visua[isations of
body parts and organs. However, to create computer simulations resembling
situations in real environments the required [eve[ of interactivity and
dynamics is difficult to achieve.
In the present paper we describe some approaches and techniques which
we used to push the limits of the current VRML technology further toward
dynamic 3D representation of virtual environments (VEs). Our demonstration
is based on the implementation of a virtual baby mode[, whose vital signs
can be controlled from an external Java application.
The main contributions of this work are: (a) outline and evaluation of the
three-level VRML/Java implementation of the dynamic virtual environment,
(b) proposal for a modified VRML T±meSensor node, which greatly
improves the overall control of system performance, and (c) architecture
of the prototype distributed virtual environment for training in neonatal
resuscitation comprising the interactive virtual newborn, active bedside
monitor for vital signs and full 3D representation of the surgery room.
@ 2005 Elsevier Ireland Ltd.

1. Introduction often inherently limited with respect to training


possibilities. There is usually little room for errors
Learning and training using computer-based systems
and exercise with real patients, who are expecting
helps improving knowledge and ski[[ acquisition
expert treatment instead of novices.
process in many fields. Medicine is no exception [1].
Traditional medical education has two stages:
Even more - as a field dealing with particularly
theoretical study and hospital apprenticeship.
delicate objects, namely human beings, it is
There is a gap between the two which could
*Correspondence to: D. Koro~ec. Tel: +386 31 321 921. be dosed by [earning and training in simulated
E-mail: [Link]@[Link](D. Koro~ec) conditions so as to avoid '[earning by accident'

0169-2607/S - see front matter © 2005 Published by ElsevierIreland Ltd.


$62 D. Koro{ec et aL

phenomena. Computer based devices and software some years ago with the development of cheap
used in such training are often catted computer computer power and prevalence of the Internet.
simulators, although this is a very inexact term, Medicine has traditionally been one of the major
as it should cover everything from, for example, application fields for VR, with medical education
tens of thousands dollar worth patient simulators being the first area in which it made significant
capable of realistic gas exchange, blood flow and contributions. Others include remote and local
heart activity; over complex simulation devices surgery, surgery planning, treatment of phobias and
for surgical and endoscopic procedures; down to other causes of psychological distress, ski[[ training,
software-only models and study tools or small pain reduction, and more [5].
programs for visua[isation of pharmacokinetic On the other hand, one has to admit today
graphs, and more [2]. that VR in general has not quite lived up to
In genera[ two kinds of simulations should its initial expectations. Why don't we see more
be distinguished first: (a) 'real-world' simulated VR-based systems in our professional activities
situations, and (b) virtual environments (VEs) (not to mention daily lives) yet? While one
based on computer models and animations. With reason is certainly that VR hardware is still
both approaches, students should work through extremely expensive and immature, we be[[eve
predefined scenarios and training tasks, although that the main reason for such situation is the
involving a mentor to supervise such training is in lack of good software standards and their efficient
both cases necessary to provide higher complexity implementation on common computer platforms.
and realistic assessment. Practically only one such solution, Virtual Reality
A good example of training using simulated Modelling Language (VRML)[6], exists currently
exercises is the system of crisis management for building open standard applications. Most
training in neonatal resuscitation [3] introduced by VRML applications that have been built using this
L. Halamek, D.M. Gaba and their team at the open standard for Web VR are stilt mainly static
Veterans Affairs Palo Alto Health Care System [4]. visual[sat[on of 3D objects and perhaps some simple
It can provide a significant degree of immersion animations. While their educational value should, of
and a very realistic experience, but the price is course, not be underestimated, as many excellent
high: special training facilities with instruments, examples also in the field of medicine and biology
monitors, mannequins, and skilled senior staff to demonstrate[7], the fu[[ potential of VRML lies
control and supervise the training are necessary. further ahead.
A virtual environment atone can not completely In the past, we have carefully studied VRML
replace such experience, but it can help students and used it to create various virtual environments.
to be better prepared for such situations and thus Our challenge and aim has always been to make
make the whole process more efficient. The two them as dynamic and interactive as possible,
approaches are complementary - while certain skills because we believe the success of experience
(e.g. intubation, heart massage, etc.) can be better with virtual environment is strongly related to
trained with real equipment and mannequins, these two components. The culmination of our
others (for example assessment of vital signs) can efforts is a virtual delivery room [8], which we
be more realistically pictured using interactive designed to support training of proper procedures
3D graphics. We believe that modern medical in resuscitating newborns.
education should include all four mentioned stages This paper presents some aspects and [essons
of the [earning path, as shown in Fig. 1.
learned while implementing a dynamic 3D repre-
Let us now focus on applications of virtual reality
sentation of vital signs of a virtual newborn [9]
(VR) technology, which received a lot of attention
with VRML, and is organised as follows: after briefly
introducing a three-level scheme for implementing
1. Traditionallearning 4. Workingwith the dynamic interactive virtual environment in
(theory) patients the fol[owin8 section, we present the main
content in the third section, where we describe
Learning (a) the performance issue of the VRML T i m e S e n s o r
trainingand
in t ~ ?
simulated node and its solution, (b) the virtual newborn as the
conditions main object, and (c) the complete architecture of
\J 2. Computer I I our system for training in neonatal resuscitation.
I simulations I I sir~ In the last section some conclusions based on
our experiences are given together with a brief
Fig. 1. Learning and training in simulated conditions can dose announcement of the X3D standard, which will soon
the gap between theory and practice in medicine. replace and extend VRML.
Interactive virtual environments for simulated training in medicine using VRML and Java/JavaScript $63

Fig. 2. Example of a basic animation cycle - gradual change of the object's colour is initiated by clicking on an object, related to
T o u c h S e n s o r first. This then triggers the T i m e S e n s o r to start sending events to the C o l o r I n t e r p o l a t o r node, which sca[es
received values of the cycle fraction to an appropriate co[our space. The [Link] fields are dark, the e v e n t : I n fields are bright
grey and exposed fields are iridescent.

2. Methods node. Animation is obtained because the VRML


browser permanently renders (frame by frame)
2. I. Virtual Reality Modelling Language the scene graph and thus immediately reflects any
Despite its attractive name, VRML[10] is neither changes of values within it.
virtual reality nor a modelling language. It is In our prototype training system (described in
not virtual reality because it does not require Sections 0 and 0 below), all animations at the level
or preclude immersive 3D experience. Also, its of geometric objects were implemented using this
geometric modelling features are too scarce mechanism; an example is schematically depicted
(and, on the other hand, some others are too in Fig. 2.
advanced) to consider it a modeUing language. The problem with this mechanism is twofold:
VRML is (a) a 3D file interchange format including (a) only basic cyclic animations can be created and
hierarchical transformations, light sources, view- (b) the user has no control over its performance.
points, basic animation, material properties, and The first point can be successfully addressed
texture mapping; (b) a language for publishing 3D by a scripting interface (SI), as described in
Web pages; (c) a model for integration of images, the following subsection. But the second issue
3D objects, text and sound into three dimensions; (performance control) is rooted deeper in the
(d) perhaps an element of the very beginning philosophy of VRML. The problem and our proposed
of the future cyberspace as the on-line virtual solution are presented in Section 0.
community.
The major part of a VRMLfile is a hierarchical 3D Scripting - Level 1 (SI)
description of a scene, called the scene graph. Its A scripting interface (SI) has been defined to
elements are nodes; more than 50 types of nodes extend the abilities of VRML beyond those of
are defined as standard. Each node contains a set the predefined n o d e s [ I l l . The S c r i p t node can
of fields keeping data of predefined types. be used to implement additional complexity in
an external programming language, for example
performing calculations, improving animation or
2.2. Three levels for implementation of dynamic
communicating with other local and remote
objects with VRML
programs. No programming language is prescribed
Basic animation cycle - Level 0 in VRML standard, but most browsers support
The VRML 2.0 standard, which soon evolved into Java [12] and JavaScript [13]. The main advantage
the stilt valid VRML 97 standard, has intro- of JavaScript as a VRML scripting language is that
duced considerable improvement over the original the source code can be inserted directly into the
proposal, i.e. event routing mechanism, which S c r i p t node, avoiding the need for compilation
enables animation, interaction, and behaviour. and use of many small source files. On the other
Fields may receive (Eventlns) and/or generate hand, the execution of Java byte-code is faster
( e v e n t O u t s / e x p o s e d fields) events (messages) via than other scripting languages. And since only byte-
routes between the nodes (ROUTE statement) [11]. code is transmitted across the network, it makes it
Simple animations can be predefined with the more difficult for someone to take the source code
following sequence: an instance of the TimeSen- and modify it. As a general rule, JavaScript is the
s o r node, in which duration of the animation right solution for tiny scripts that do not do very
(cycleInterval field) is defined, can continually much; for large scripts that perform complicated
send events to an instance of the interpolator node. calculations, access the network or construct GUI,
From this interpolator, which keeps the range of Java is the better solution [14].
changing values, the output messages with current A script node can contain an arbitrary number
interpolation values are then (again continually) of fields, and processes all received events by a
routed to the appropriate field of the scene graph method (user program) specified in the URL field.
S64 D. Koro{ec eta[.

VRMLBrowser JavaVM
Scenegraph . . . . . .- ~ ~. . . . . EAI JavaApplication
CI VKIVlL~
/ Java
.... mat ~ %
S ~'~ VirtualReality~ge ~U[hOrfrmg GUI,model,
traningscenarios J
D
(<~ Scriptsand ~ ModelingLangua

~, ~plets VRMLSensors ~
//
an~)erp~)°rs ~ / / /

Fig. 3. Typicalapplication built with VRMLand Java runs within the Web browser.

Along with the actual value also the timestamp mentor interventions, conversation) during the
is received. The events generated by the Script training.
method have the same timestamp as the event
which triggered them to enable scheduling and
2.3. Implementation of complex behaviour over
synchronisation mechanisms, although a certain
all three levels
amount of time is needed to process the events on
a real system during execution. When creating complex interactive YEs, all
In our prototype training system we used scripting three implementation levels coupling VRML with
to implement representations of all vital signs (see Java/JavaScript (or other general purpose program-
the example for respiration in Section 0). ming language) have to be used. But, as usually in
programming, there is more than one possibility to
External programs - Level 2 (EAI) implement certain object behaviour. It is therefore
important to know about the possibilities and
Script programs (Level 1) are activated upon
limitations of each particular implementation level,
receiving events and, therefore, under control of
to be able to spread the design of our planned
the VRML browser. As result, they can significantly
system behaviour among them in the most efficient
decrease its rendering performance. Sometimes we
manner. A list of, in our view, main advantages
also need to implement extensive program logic as
and disadvantages of each level is summarised in
part of a complex VR application. To solve both
Table 1.
issues, we can connect an independent application
written in any program language with the VRML
browser using the External Authoring Interface 3. Results
(EAI) [15]. Although not officially part of the VRML
97 standard, it is supported by most browsers [16], 3.1. Performance control of Level O: Extension of
especially for Java [12]. the TimeSensor
If applications run independently of the VRML Implementation of the basic animation mechanism
browser multi-tasking/threading is managed by is left to the browser, which handles the described
the operating system. In the ideal case, users 'continuous' timer-to-interpolator and interpolator-
should thus have better control over allocation of to-node message passing (as in example of Fig. 2) in
processing time between rendering (VRML browser) its own way based on its own internal schedutin t.
and program logic (external program). However, But in practice not all animation cycles have the
because most practical applications involve Java same importance: in our application, for example,
where often even both VRML browser and Java we wish to assign high priority to animations related
Virtual Machine (JVM) run as plug-ins within the to the virtual baby and lower priority to some other,
HTML browser (Netscape or Internet Explorer) it is less important virtual objects. But even if priorities
difficult to treat each one as a separate process were available this would not solve the performance
(Fig. 3). issue completely. In our observation, the VRML
Most of the system functions not directly related browsers consume all available processor time
to 3D rendering are usually contained in external (100% CPU usage) even if only a simple animation
applications - in the case of our training system is predefined in the scene. This behaviour is caused
for neonatal resuscitation system (Section O) this by the true nature of 'continuous' message passing
includes the interface to a motion detecting device, as it is implemented in the browser: 'continuous'
multi-user audio conferencint, part of the user in this case means 'the highest possible frequency
interface (dialogs), control over training scenarios, of consecutive discrete events'. Quite an elegant
and storing of all data (student motion and actions, solution in the ideal case and on ideal computers,
Interactive virtual environments for simulated training in medicine using VRML and Java/JavaScript $65

Table 1
The main properties of levels for implementation of dynamic behaviour in VRML

Level Advantages Disadvantages

Level 0 Basic VRML mechanism Functional limitations


Simple and standard Inability to control browser performance
Supported by all browsers
Level 1: Scripting Solves functional limitations of Level 0 Synchronous operation with respect to the VRML browser core
Standard Can respond only to triljgered events
Supports several languages Interferes with the performance of the rest of the VRML
visualisation
Does not support external fields
Level 2: EAI Full functionality Incompatibility of versions
Asynchronous operation Not supported by all browsers
No access to unnamed nodes
No access to meta-information on the nodes
No access to simple fields

but it causes a lot of troubles in a more complex function [in the Java Virtual Machine (JVM) within
real VRML application running on real machines and the Netscape Communicator we used] proved to be
in parallel to other programs. inadequate.
The solution of the animation performance Therefore we slightly adjusted the design and
problem lies at its core: the TimeSensor node. developed a second replacement for T i m e S e n s o r -

We know now that all its instances in the scene are Timer2. Here each instance has its own triggering
treated equal by the browser and there is no option thread. Although the opposite had been expected,
to either define their priorities or to bound the our tests have shown that there is tittle difference
frequencies with which they generate messages for in CPU toad between Timer and Timer2. However,
interpolators. Having these two serious limitations the ratio between the actual and demanded
in mind we decided to create a new implementation frequency of events proved (as shown in Fig. 4) to
of the T i m e S e n s o r node; we catted it T i m e r [17]. be much better in the case of Timer2. This proved
The Timer node is an instance of the S c r i p t node that (at least with the JVM used) multithreaded
and has almost exactly the same interface as the code with longer s l e e p ( ) delays is more efficient
original TimeSensor node, except for the extra (can exploit CPU better) than one single thread with
field d e l a y of type SFType. Its default value is shorter s l e e p ( ) delays.
set to 0.1 second (meaning ten triggered messages Performance tests showed that £PU toad can be
per second). significantly reduced using our Timer2 (and Timer)
The Timer node is written in Java language using
Timer Timer2
threads. Our idea at first was to join the triggering 1 I

mechanism for at[ timers in a common T i m e r Q u e u e


class, which maintains the list of all active 0.9,5 0.95
instances of the Timer nodes ordered according
to the triggering time. The event triggering thread
constantly checks the list, comparing the current 0.9
=
09

system with the triggering time of the first timer


in the queue. When these two become equal, i 085
appropriate events are sent from the e v e n t O u t
fields of the corresponding Timer node, and tater
one is reinserted in the queue at a place set ~ 0.8 ~ 0.9
according to its delay parameter. The triggering
thread then enters s l e e p ( ) until the time for a 0.75

new timer event comes. However, the mechanism


with the single triggering thread proved to be
' ~ 07
quite inefficient in case of larger number of nodes. O 002 0.04 006
Delay
008 0.1 0 0.02 0.04 006
Delay
0.08 0.1

CPU load itself was not the main problem, but


FiB. 4. The ratio between the actual and demanded frequency
we started to lose events at higher triggering of generated events with respect to the set timer delay
frequencies (shorter delays) and larger number of (1/frequency) and different number of timer instances. Left:
nodes - the 10ms resolution of the Java s l e e p ( ) Timer node, right: Timer2 node.
S66 D. Koro~ec et a[.

instead of T±meSensor nodes. At window sizes


up to approx. 500x300 pixe[s (Pentium II 200MHz,
64Mb RAM, Windows NT 4.0, Netscape Navigator 4.6
and VRMLCosmo Player 2.11 ) the observed CPU load
is less than 5% for a single cube object with four
interpolators (position, co[our, orientation and size)
and 10Hz imposed message triggering frequency.
We suggest setting this frequency slightly higher
than the number of frames our VRMLbrowser is able
to render per second, which is, of course, scene and
computer dependent.

3.2. Virtual newborn


As part of our prototype virtual delivery room, Fig. 5. View of a virtual baby.
which should complement neonatal resuscitation
training, we developed two dynamic virtual objects signs, their audio/visual representations and the
with built-in dynamic behaviour: (a) a virtual implementation levels used for each of them.
model of a baby (avatar) and (b) a virtual bed- One might think that simple periodic animations
side moniton The virtual baby (Fig. 5) is the (Level O) would be sufficient to represent these
central and most complex object, incorporating signs, but it is more complicated than that.
several independent animation mechanisms to The first reason is that we want to be able to
represent vital signs. These signs, relevant in update their control variables (like heart rate and
neonatal resuscitation according to ref. [18], are: respiration rate, for example) from an external
(a) respiration; (b) heartbeat, (c) skin colour program and change them at any given moment.
[representing oxygenation parts of the body The second reason is that, for example, the
can change colour from normal pink to blue respiration and heart activity periods consist of
in extremities (peripheral cyanosis) or all over several phases and cannot be treated as one
the body (central cyanosis)]; (d) activity [eve[ simple cycle. A scheme of the complete scripting
(movement of extremities); (e) facial expression; mechanism combining and controUing the phases of
and (f) crying. TaMe 2 shows the list of vital the respiration cycle is presented in Fig. 6.

TabLe 2
The interpretation and visualisations of different newborn's' vital signs. Crosses denote the corresponding LeveLs of
implementation

Vital sign Interpretation, visualization L0 L1 L2

Breathing Chest movement ×


Sound x
Graphical curve and current breathing frequency value displayed on virtual monitor x
Interpolation of breathing frequency between successive respiration cycles x
Control of breathing frequency over time x
Heartbeat Sound ×
Graphical curve and current heart rate value displayed on virtual monitor x
InterpoLation of heart rate between successive beats x
Control of heart rate value over time x
CoLour of skin and lips Skin and Lips turn from normal to bLue and back ×
InterpoLation of the skin (separateLy for torso and extremities) and Lips coLour x
Control of the co[ours over time x
Motion Movement of the baby's head, arms and Legs x
Interpolation of the motion intensity ×
Control of the motion intensity over time ×
Cry RepLaying of the real baby cryin~ audio clips ×
Facial mimics (lips, eyes and forehead motion) x
Selection of the audio clips, synchronization of the moans with facial mimics x
Interactive virtual environments for simulated training in medicine using VRMLand Java/JavaScript $67

i~udioClip
y~

/
1/
/

\ Timer]

i,

event from
Java

r set Tracuon

Fig. 6. Schematic structure of the newborn's respiration mechanism implemented with VRMLnodes: B r e a t h ( Tn/Out ) C o o r d T n t e r p ,
and B r e a t h ( I n / O u t ) I n t e r p o l a t o r nodes move newborn's chest and respiration curve on the virtual monitor, respec-
tively; Breath(In/Out)Audio nodes replay audio clips of the real newborn breathing; Breath(In/Out)Length and
B r e a t h ( I n ~ O u t ) P a u s e nodes dictate the durations of the different respiration stages; B r e a t h L o o p e r node receives the
commands from the mentor's module and controls the variations of breathing frequency in time. Circles depict different nodes
with their names (italics) and types (bold), field types are coded in the same manner as in Fig. 3.

3.3. VIDEROsystem architecture environment by a mouse or (optionally) the


sensor of a motion tracking device attached
The VIDERO (Virtual Delivery Room) prototype to his head-mounted display. In the current
system for training in neonatal resuscitation is
prototype system the student can only choose
a distributed application [9], built using the Java
actions from his menu-based interface. Each
Remote Method Invocation (RMI) mechanism [19].
action has a corresponding set of (up to three)
The system runs on a set-up of two connected
numerical parameters that the student has to set
personal computers and has an option to interface
properly. The action chosen, and the value of the
with the Polhemus motion tracking device and a
head-mounted display. It consists of the following parameters, are shown on the mentor's screen
modules: immediately.
• Mentor application, consisting of two parts: Control server is the core program in the system.
(a) 3D view of the dynamic virtual environment It takes care of the communication between
that the mentor shares with the student and the two main participants and possible other
(b) user interface for controlling the parameters observers. It mediates changes of the virtual
of the virtual newborn, starting the training newborn parameters from the mentor to the
scenarios and receiving notification on student student application and chosen actions from the
actions. student to the mentor application. Control server
• Student application, must run on a different also initiates parts of the predefined training
computer. The student navigates in the 3D virtual scenarios.
$68 D. Koro~ec et at.

Student Mentor
application application

) modelofnewborn modelofnewborn
streamingaudio streamingaudio
nav,oat,on I'----
J ~/4"----~ (/"navigati°n'XX~ I~------~ navigation

Trackin~ device ¢ ~ - ~

Fig. 7. Architecture of the VIDERO prototype system for training in neonatal resuscitation.

• Navigation server constantly synchronises the kind of applications. Objects exist only as graphical
viewpoint of the mentor with the viewpoint of descriptions (surfaces); no mechanisms are implied
the student, who is in control of navigation in the to account for their weight, material, elasticity,
3D virtual world. This program also uses our own movement and other properties of the physical
Java Fastraklib library [20] to read data from the reality. Therefore also no relations among the
(optional) Po[hemus motion tracking device. objects can be investigated: within the generic
• Audio server is a program module which allows framework even collisions can only be detected
real-time audio conferencing between training between the avatar and the objects and not
participants [21]. among the objects themselves. All this can, of
• Storage server can be activated by the mentor course, be justified in terms of the (non-)existing
to record all events during the training. This computer power that such representation would
includes navigation (viewpoint changes), setting swallow - already rendering of somewhat more
of the newborn parameters, student actions, and complicated scenes hits the limits of currently
voice communication. available equipment.
• Replayer is separate program which allows the On the positive side, VRML offers many pos-
stored training session to be repeated in real time sibilities of interfacing to other programming
exactly as it was carried out. languages. Thus, most of the application logic can
The structure of the complete VIDERO system is be implemented separately in Java or C++ and the
schematically depicted in Fig. 7. VRML browser is used only as a rendering engine.

VRML compatibility and performance issues


4. Discussion Besides the limitations built into the VRML specifi-
4. 1. Technology issues cation itself there are other, more practical (and
perhaps more annoying) issues. Freely available
VRML advantages and limitations VRML browsers (like Cosmo and Cortona) do not
VRML is the only free, widely available and open- equally support the entire VRMLspecification. While
standard solution for multi-platform 3D visuatisa- most of them will work well for basic rendering,
lion. It has several interesting features making unsupported features are mainly exactly those
it a good choice also for creating dynamic and things we need for interactive dynamic simulations
interactive virtual environments simulating real of the real world: efficient and deterministic
situations. However, under the hood, VRML offers event routing mechanism, various sensor imple-
only a relatively tow-level functionality for this mentations, 3D audio, communication to extema[
Interactive virtual environments for simulated training in medicine using VRMLand Java/JavaScript S69

devices (motion tracking, data sampling, voice the mentor performs the correct procedures and
communication) etc. comments on his actions. Our VlDERO system can be
Some issues can partly be addressed by custom used for this kind of tutoring as well. The possibility
developments, like in our case where we developed to record a training session is another great option
a replacement for the T i m e S e n s o r node with to improve medical training. The mentor can repeat
the ability to specify the frequency of generated the session exactly as it was performed and call the
output messages in order to limit the CPU usage. attention of students to particular details that were
Preferably, such extensions should reside within the perhaps left unnoticed during the session.
basic VRMLspecification. The virtual baby alone can also be used as
a complement to simulated training involving
The future of VRML" Extensible 3D (X3D) real devices. If students are using a real baby
The Web 3D Consortium has proposed a draft of mannequin to practice some hands-on procedures,
the next generation X3D standard [22], which will the computer-generated avatar on a display next
bring closer XML, MPEG4 and VRML technologies. to them can be used to create a more realistic
It remains to be seen whether new features will impression of the simulated condition.
allow easier creation and better control of dynamic
virtual environments. The future of training using virtual environments
The current state of virtual reality technology
does not simply allow the setting up of various
4.2. New possibilities for medical training
training environments at moderate costs. Extremely
VlDERO system for neonatal resuscitation expensive, inefficient hardware and lack of higher
A computer-generated representation of a human level software standards put such training systems
being, a virtual newborn in our case, has one out of the domain of regular educational practice.
major advantage over the rubber doll, which is On the other hand, numerous advantages can be
traditionally used in neonatal resuscitation training: found in favour of such training, some of them also
several vital signs can be dynamically rendered by mentioned in this paper, and it seems that medicine
generating their visual and audio representation. in particular is an appropriate application field.
Students, working on an example case, are now Therefore we believe that virtual environments
faced with more a realistic challenge - instead and other derivatives of VR technology will find
of listening to a verbal description of the baby's their place as complementary training methods in
condition they have to continually assess visual medical education of the future.
and auditory clues from the baby itself and virtual
devices around it.
In our model of training a teacher (mentor)
References
remains the necessary key element: either he/she [1] S. Samothrakis, T.N. Arvanitis, A. Plataniotis, M.D.J. Mc-
directly controls all observable parameters (heart Neill, RF. Lister, WWW creates new interactive 3D graphics
rate, respiration rate, skin colour, facial expressions and collaborative environments for medical research and
education, Int. J. Med. Inform., 47(1-2) (1997) 69-73.
and movements) of the virtual baby or he/she [2] G. Meller, A typology of simulators for medical education,
predefines their trajectories over time by so-called J. Digital Imag., 10(3 Suppl. 1) (1997) 194-196.
scenarios. In our system, the scenarios are small [3] L.R Halamek, D.M. Kaegi, D.M. Gaba, Y.A. Sowb,
sets of parameter changes in a specific period of B.C. Smith, B.E. Smith, S.K. Howard, Time for a new
time, and can be activated during a training session paradigm in pediatric medical education: Teaching neonatal
resuscitation in a simulated delivery room environment.
according to the actions the student chooses. Pediatrics, 106(4) (2000) 106 110.
Lists of possible actions and their corresponding [4] L.R Halamek, Development of a Simulated Delivery Room,
parameters are again described in advance by the presented at 7th Annual Medicine Meets Virtual Reality Conf.
mentor. In this way the mentor, although physically (MMVR 1999), January 20 23, 1999, San Francisco, CA.
separated from the student, is still the one fully in [5] J.A. Waterworth. Virtual Reality in Medicine: A Survey
of the State of the Art. Online resource at [Link]
charge of the training process. This was the set-up [Link]/~jwworth/[Link] (July 1999).
we have chosen for our current prototype together [6] The VRML Specifications, [Link]
with medical experts. Here the student is on his/her specifications/vrml/ISO-IEC-14772-VRML97/
own, while the mentor is a more or less hidden, [7] T. Amon, V. Valencic. VRML enhanced learning in biology
silent manipulator. and medicine, Fut. Generation Comput. Syst., 17(1) (2000)
1-6.
[8] D. Koro~ec, A. Holobar, M. Divjak, D. Zazula. Dynamic
Other training modes VRML for simulated training in medicine, in: Proc. 15th
But the roles could also be reversed - the IEEE Symp. on Computer-based Medical Systems, Maribor,
student would observe the mentor at work, while Slovenia (2002) pp. 205-210.
S70 D. Koro~ec et a[.

[9] M. Divjak, A. Holobar, I. Prelog. VIDERO - virtual delivery [16] EAI design notes, [Link]
room. in: Proc. Int. Conf. on Trends in Communications, IEEE [Link]
Region 8 Student Paper Contest, Bratislava (2001) Vol. I, [17] A. Holobar, D. Zazula. Improved control of events in the
pp. LIV-LVII. VRML 2.0 application, in: Proc. 6th Euromedia Conf.,
[10] R. Carey, G. Bell. The Annotated VRML2.0 Reference Manual Valencia, Spain (2001) pp. 67-71.
(Addison-Wesley, Berkeley, CA, 1997). [18] R.S. Bloom, C. Cropley, et al. AHA/AAP Neonatal
[11] A.L. Ames, D.R. Nadeau, J.L. Moreland. VRML Sourcebook Resuscitation Textbook (American Heart Association,
(Wiley, New York, 1996). 1994).
[12] The Virtual Reality Modeling Language: Java scripting ref- [19] Java Remote Method Invocation, [Link]
erence, [Link] products/jdk/rmi/
ISO-IEC-14772-VRML97/partl/[Link] [20] I. Prelog, D. Zazula, D. Koro~ec. Navigation inside virtual
[13] The Virtual Reality Modeling Language: JavaScript script- environments using Polhemus 3Space Fastrak tracking
ing reference, [Link] device, in: Proc. 9th Electrotechnical and Computer Science
vrml/ISO-IEC-14772-VRML97/part1/[Link] Conf. ERK 2000, Portoro~_,S[ovenia (2000) pp. 91-94.
[14] J. Hartman, J. Wernecke. The VRML Handbook: Buitdin~ [21] M. Divjak, D. Kor~e. Visual and audio communication
moving worlds on the web (Addison-Wesley, New York, between visitors of virtual worlds, WSESInt. Conf. on Neural
1996). Network and Applications, Puerto de la Cruz, Canary Islands,
[15] C. Marrin, Proposa[for a VRML2.0 Informative Annex: Exter- Spain (2001) pp. 41-46.
nal Authoring Interface Reference, [Link] [22] X3D - Extensible 3D, http: //[Link]/x3d/
WorkingGroups/vrm[-eai/[Link] (Novem-
ber 1997).

You might also like