<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>FixIt: An Approach towards Assisting Workers in Diagnosing Machine Malfunctions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gudrun Klinker</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hesam Najafi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tobias Sielhorst</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabian Sturm</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Florian Echtler</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mustafa Isik</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolfgang Wein</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Trübswetter</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Technische Universität München</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Augmented Reality (AR) is a newly emerging user interface paradigm that is currently under rapid development. AR is still in its infancy. Only very few cases exist, in which AR technology has come out of the laboratories and has been evaluated [2] or used [8] in real industrial settings. At the Technical University of Munich, we address some of such open questions annually in three-month laboratory classes for graduate students in their junior years. By posing the problems within industrial settings (e.g., by involving an industrial sponsor) we try to ensure a realistic setting within which AR solutions are considered. Students investigate the posed problem, suggest a solution and build a very rough, prototypical demonstrator that illustrates the key ideas. The result is a prototypical system, illustrating the key points of using AR in a specific problem context. At the same time, the system design process has also laid out (and partially addressed) both system building and very general system design issues, which will be led back onto research agenda of the university and picked up in due time.</p>
      </abstract>
      <kwd-group>
        <kwd>{klinker</kwd>
        <kwd>najafi</kwd>
        <kwd>sielhorst</kwd>
        <kwd>sturmf</kwd>
        <kwd>echtler</kwd>
        <kwd>isikm</kwd>
        <kwd>wein</kwd>
        <kwd>truebswe}@in</kwd>
        <kwd>tum</kwd>
        <kwd>de</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        85748 Garching
Introduction
Augmented Reality (AR) is a newly emerging user interface
paradigm that is currently under rapid development. Coined
by Caudell and Mizell [1, 2] in the early nineties, the term
“Augmented Reality” describes the concept of providing
users with three-dimensional virtual information embedded
within their real environment.[
        <xref ref-type="bibr" rid="ref1">4</xref>
        ]. Within only one decade,
the concept has gained significant importance, resulting in
an annual international symposium alternating between
three continents [
        <xref ref-type="bibr" rid="ref2">5</xref>
        ] and major industry-supported projects
[
        <xref ref-type="bibr" rid="ref3 ref4">6,7</xref>
        ].
      </p>
      <p>
        Yet, AR is still in its infancy. Only very few cases exist,
in which AR technology has come out of the laboratories
and has been evaluated [3] or used [
        <xref ref-type="bibr" rid="ref5">8</xref>
        ] in real industrial
settings. Reasons for this are manifold. On the one hand,
AR involves many very hard research problems, such as
real-time tracking at very high precision and robustness,
that haven’t been solved yet. Furthermore, AR has to come
out of the lab and face software engineering issues such as
reusability, extensibility and scalability from prototypical
demonstrators to deployable systems.
      </p>
      <p>In particular, the adaptation of local tracking systems that
are currently confined to the corner of a lab have to be
generalized toward being usable in a real world where many
objects and people are moving about in unpredictable ways.
In this respect, the layout of a partially wearable, partially
ubiquitous system infrastructure that supports generating
augmented views to individual users has to be defined.
Furthermore, it is still unclear how virtual information
should be structured and automatically generated to be
easily available for real-time inclusion in an AR system.
Thus, authoring tools for AR systems need to be
developed. Such authoring also involves live visualization
of real-time control data to diagnose and repair
malfunctioning machines.</p>
      <p>At the Technical University of Munich, we address some of
such open questions anually in three-month laboratory
classes for graduate students in their junior years. By
posing the problems within industrial settings (e.g., by
involving an industrial sponsor) we try to ensure a realistic
setting within which AR solutions are considered. Students
investigate the posed problem, suggest a solution and build
a very rough, prototypical demonstrator that illustrates the
key ideas.</p>
    </sec>
    <sec id="sec-2">
      <title>The purpose of such courses is threefold:</title>
      <p>students get actively involved in determining the
customer’s requirements for the application, laying out
a generally suitable system architecture, seeking
currently available solutions for required components
from industry or research labs, and identifying and
prioritizing open issues.</p>
      <p>For the customer (when available): Industrial sponsors
obtain a feasibility study, analyzing options for using
AR technology in their envisioned scenario. Due to the
involvement of a rather large group of students, the
feasibility study tends to be rather creative and
visionary, yet realistic.</p>
      <p>For the AR research group: By thoroughly exploring
the requirements posed by a particular application
domain with a customer, we are able to identify
research issues in a wider context than our laboratory
setting – with the intention to classify them and
further pursue them at a more abstract level across
several applications.</p>
      <p>
        Furthermore, each course builds upon our growing
software base, embedded within the Distributed
Wearable Augmented Reality Framework (DWARF)
[
        <xref ref-type="bibr" rid="ref7">10</xref>
        ]. Thus, we are able to test and extend this base
with every student project.
      </p>
      <p>
        Within such courses, we have been able to explore a
number of problems in recent years: The authoring and
augmented use of interactive electronic technical manuals
(IETMS) for nuclear power plant maintenance (STARS
project) [
        <xref ref-type="bibr" rid="ref8">11</xref>
        ], the AR-based visualization and evaluation of
automotive designs (Fatamorgana) [
        <xref ref-type="bibr" rid="ref9">12</xref>
        ], and, most recently,
the live diagnosis of malfunctions of machines (FixIt).
Using a similar approach with senior graduate students after
they had attended the course, we have been able to set up
an AR-assisted welding system for automotive use which
is now being used continuously in the early technical
integration phases for new cars [
        <xref ref-type="bibr" rid="ref5">8</xref>
        ].
      </p>
      <p>The FixIt Problem
Every once in a while, machinery in industrial settings
does not function as intended. Reasons for this are
manifold: a cable controlling one of the motors or sensors
might be loose, thereby not conveying the correct control
or status information between the machine an the control
system. The machine might be hindered by an unforeseen
physical obstacle. Or the control program might be in an
unplanned state. One of the main problems in diagnosing
the problem is to establish a mapping between the internal
control state of the computer and the actual physical state
of the machine. To this end, the maintenance person needs
to have a clear understanding of both, as well as their
expected/actual dynamic changes over time.</p>
      <p>By overlaying virtual information of the control system
directly onto the machine while it is in operation,
Augmented Reality has the potential to help workers obtain
a better understanding of the reasons for malfunctions. The
result is an intricate new, highly immersive net of
interactions and relationships in a man-computer-machine
triangle.</p>
      <p>System</p>
      <p>Development Process
Arranged as one of our collaborative, team-oriented student
lab courses, we have built a first prototype of the FixIt
system. It assists workers in diagnosing malfunctions of
complex machines, such as robots, by superimposing the
current control status of the machine onto the currently
active machine parts – thereby indicating which
components are expected to be active at what time.
Discrepancies between the expected behavior and the real
robot behavior help workers understand the causes of
malfunctions.</p>
      <p>Students were asked to first set up an overall system design
and then to form smaller teams to each address the issues
involved in building one of the components.</p>
      <p>
        As a first prototype system, a toy robot by Fischer Technik
[
        <xref ref-type="bibr" rid="ref10">13</xref>
        ] was built and connected to a computer running the
FixIt demonstration. The current control state was overlaid
on the robot by highlighting motors and sensors while they
were active.
The FixIt system was designed to consist of three major
components:
      </p>
      <p>A robot welding application controlling the robot. It
sends commands to the robot to move its arm forward
and backward, rotate around its base, rotate the arm up
and down, and perform a welding action. The same
commands are forwarded to the visualization
component.</p>
      <p>A tracking component, determining the current
physical state of the robot, as well as the current
viewing position of a camera representing the
maintenance person. All position data is forwarded to
the visualization component.</p>
      <p>A visualization component, overlaying the control
state information onto the robot, according to the
camera’s current point of view.</p>
      <p>Suitable visualization schemes are required which
transform control state information into minimal
augmentations – just enough to help workers
understand which machine parts are involved without
covering the machine up more than necessary. At the
same time, visualizations for conveying the program
context need to be developed, indicating to workers the
reasons for malfunctions, e.g. that a motor doesn’t
stop because it is waiting for a tactile sensor to return a
signal – which it doesn’t return due to a malfunction.
The system requires a number of novel components and
concepts that go beyond the currently typical augmented
presentation of static graphical visualizations within a real
environment.</p>
      <p>The FixIt system requires that relevant information be
derived from the current system context – in particular
from the current control state of the machine. To this
end, control commands issued to the robot need to be
accumulated and transferred into meaningful state
information. Furthermore, the dynamics and
dependencies of the control program, such as
conditional executions depending on sensor input,
looping constructs waiting for an exit condition to
become true, and parallel or alternative execution, need
to be formulated as program context primitives and
forwarded to the visualization component.</p>
      <p>Since both the worker and the robot move, tracking is
required both for determining the current worker
position and for determining the current physical shape
of a machine such that augmentations are actually
placed correctly onto individual machine parts while
these are moving.</p>
      <p>
        As a consequence, many assumptions built into current
tracking algorithms break down. In the case of a
marker-based system, markers have to be divided in
different groups according to their respective mobility.
Going beyond marker-based tracking towards
markerless optical tracking, this means that complex
mappings have to be established between image
changes due to user motion and image changes due to
robot motions.
First Solutions
Within the course of a three-month practical class, students
have been able to implement only a rudimentary, first
prototype of an augmented robot maintenance system.
Using the Distributed Wearable Augmented Reality
Framework (DWARF) [
        <xref ref-type="bibr" rid="ref7">10</xref>
        ] that is available in the AR
research lab, the students were able to develop first versions
of the three individual system components and combine
them into a peer-to-peer-based system prototype to
demonstrate the overall concepts. Future work will involve
follow-up classes and student diploma theses to improve
upon the individual components or add new components
addressing the raised issues at greater depth.
      </p>
      <p>The Control Component
The FixIt control component focuses thus far on
accumulating the current system state from individual robot
control commands. It does not yet send program context
information to the visualization component.</p>
      <p>According to the physically possible motions and sensory
evaluations of the robot at hand, the component currently
focuses on sending the following, very specific status
information to the visualization component:</p>
    </sec>
    <sec id="sec-3">
      <title>Motor state for each of three {stopped, moving right, moving left} existing motors:</title>
      <p>Status of the welding tool (a light at the tip of the
robot arm): {off, on}
Status of 5 switches, associated with tactile sensors on
the robot: 2 stop-switches that can be on or off, and
three click switches.</p>
      <p>For testing the robot and for analyzing malfunctions,
workers can request that the tip of the robot move in any
physically reachable three-dimensional position. The
control program internally divides the request into a
sequence of control commands steering the individual
motors.</p>
      <p>
        A general authoring question with respect to generalizing
this very specific communication scheme for this particular
robot is raising its head here: what would be a general
syntax for an arbitrary robot control program to
communicate with a standardized visualization component?
How many, and what kinds of primitives are required?
The Tracking Component
Tracking is required both for determining the current
worker position and for determining the current physical
shape of the machine. For their first implementation, the
students used the AR-Toolkit [
        <xref ref-type="bibr" rid="ref11">14</xref>
        ] because it was easily
available and provided them with a jump start.
      </p>
      <p>The scene was augmented with two sets of markers:
Scene-stabilized “base” markers that would not move.
These markers formed the basis for determining the
current viewer position.</p>
      <p>Object-stabilized “robot” markers at the tip of the robot
arm (at the welding tool). These markers were used to
determine the current robot pose. In a sense, these
markers were redundant, since the object pose could
also be determined from the sequence of control
commands issued by the control program. The
discrepancy between the virtual, computable position
of the robot tip and its actually measured position due
to marker locations is one of the cues that students
expected to be critical to help workers diagnose
malfunctions.
Suitable visualization schemes are required to transform
control state information into scene augmentations.
As a first requirement, the system needs to have an internal
model of the real robot, animated to account for any
potential robot movement. To this end, a VRML model of
the Fischer Technik robot was built (see Figure 4). The
model was composed from a library of basic models
describing individual Fischer Technik parts.</p>
      <p>In addition to visualizing the entire robot model, the
visualization component is also able to
overlay the model transparently onto a picture of the
real robot (assisting the tracking state),
light up active robot parts according to recently issued
robot control commands (assisting the malfunction
diagnosis state).
The visualization component receives input both from the
robot control component and from the tracking component.
Currently, it uses the robot control input to steer the
animation of the virtual model (assuming that every issued
command of the steering system has actually been executed
correctly by the robot). It uses the tracking input to
determine the current worker position and to render the
augmentations accordingly. Thus, the tool does not yet
exploit the redundancy between issued control commands
and visually tracked robot positions to automatically
identify malfunctions.</p>
      <p>
        The stream of robot control commands also determines
which parts of the virtual robot model are rendered
transparently (i.e., are invisible to the worker), and which
parts are actually rendered opaquely – and are thus pointed
out to the worker.
Using the Distributed Wearable Augmented Reality
Framework (DWARF) [
        <xref ref-type="bibr" rid="ref7">10</xref>
        ], students were able develop and
build a first demonstration system within one semester to
overlay the control state of a Fischer Technik robot onto its
actual physical incarnation.
      </p>
      <p>The system uses a camera to view the robot scene. Since
the scene is carefully set up to contain a number of markers
on the base plate, the camera can move freely within the
scene: camera pictures are continually updated to
superimpose the current robot view onto the video image.
According to recently issued robot control commands,
currently active units of the robot (e.g. some motors or
tactile sensors) are highlighted to indicate their active status
to the worker. Such highlighting works well even when the
robot moves, since the system tracks mobile robot parts
independently of the scene-stabilized markers on the base
plate.</p>
      <p>Discussion
The augmentation of a robot in action provides a lot of
potential. This is often alluded to in machine maintenance
and repair scenarios.</p>
      <p>Yet, the actual consequences of implementing a system
within which physical components really do move
according to a control program and thus need to be
followed, have not yet been explored much.</p>
      <p>Especially in the case of diagnosing malfunctions, there is
an interesting discrepancy between the internal (virtual)
state of a machine and its real (physical) state. If due care is
being taken to formalize this discrepancy and to determine
it from physical measurements (tracking data) and control
status information, it can form the basis for very powerful
diagnosis aids for machine repair personnel.</p>
      <p>Yet, the discrepancy alone will not suffice. It needs to be
supplemented with program context data which indicates
what the robot control program is trying to achieve while
issuing a certain sequence of robot control commands.
The formalization of such program context, as well as the
standardized indication of a program control state (for an
arbitrary machine) and the visualization of discrepancies
between the virtual and real robot state are important
visualization issues that need to be addressed in order to
generate authoring systems that will be suitable as
augmented debugging aides for larger sets of robots.
Within the current three-month student project, we have
been able to lay the ground work towards exploring these
and other exciting issues related to an online diagnosis of
malfunctions of machines while they are in operation.
Acknowledgments
Many thanks go to all students who attended this class and
contributed to the design and implementation of the
demonstrator. We are also grateful to Asa MacWilliams,
Martin Wagner, Martin Bauer, Christian Sandor and
Thomas Reicher for making the DWARF system available
to the class and for continually supporting the class in
using it. The entire Lehrstuhl for Applied Software
Engineering (Prof. Brügge) was involved in supporting the
successful execution of the lab project, providing us with
needed utilities and advice – as well as the Fischer Technik
robot.</p>
      <p>R e f e r e n c e s
1. T.Caudell and D. Mizell. Augmented Reality: An
Application of Heads-up Display Technology to
Manual Manufacturing Processes. Proc. Hawaiian
International Conference on System Sciences
(HICSS'92), pp. 659-669.
2.
3.</p>
      <p>A. Janin, D. Mizell, and T. Caudell. Calibration
of head-mounted displays for augmented reality
applications. Proc. of the Virtual Reality Annual
International Symposium (VRAIS’93), 1993, pp.
246-255.</p>
      <p>D. Curtis, D. Mizell, P. Gruenbaum, and A.
Janin. Several Devils in the Details: Making an
AR App Work in the Airplane Factory. Proc. 1st
International Workshop on Augmented Reality
(IWAR’98), San Francisco, Nov. 1998, pp. 47-60.</p>
    </sec>
    <sec id="sec-4">
      <title>Workshop/Symposium Reality (IWAR, on ISAR,</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          4.
          <string-name>
            <given-names>R.T.</given-names>
            <surname>Azuma</surname>
          </string-name>
          .
          <article-title>A survey of augmented reality</article-title>
          . Presence, Special Issue on Augmented Reality,
          <volume>6</volume>
          (
          <issue>4</issue>
          ):
          <fpage>355</fpage>
          -
          <lpage>385</lpage>
          ,
          <year>August 1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          5.
          <string-name>
            <surname>International (Mixed)Augmented</surname>
            <given-names>ISMAR</given-names>
          </string-name>
          ),
          <year>1998</year>
          -
          <fpage>2003</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          6.
          <string-name>
            <surname>Friedrichs</surname>
            <given-names>W</given-names>
          </string-name>
          (
          <year>2002</year>
          )
          <article-title>ARVIKA Augmented Reality for Development, Production, and Service</article-title>
          .
          <source>In: Proc Int Symp on Mixed and Augmented Reality (ISMAR'02)</source>
          , Darmstadt, Germany, IEEE. See also: http://www.arvika.de/www/pdf/IVIP Forum e.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          7.
          <string-name>
            <surname>Tamura</surname>
            <given-names>H</given-names>
          </string-name>
          (
          <year>2000</year>
          )
          <article-title>What happens at the border between real and virtual worlds - the MR project</article-title>
          and
          <article-title>other research activities in Japan</article-title>
          .
          <source>In: Proc Int Symp on Augmented Reality (ISAR'00)</source>
          , Munich, IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          8.
          <string-name>
            <given-names>F.</given-names>
            <surname>Echtler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Sturm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kindermann</surname>
          </string-name>
          , G. Klinker,
          <string-name>
            <given-names>J.</given-names>
            <surname>Stillla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Trilk</surname>
          </string-name>
          , and
          <string-name>
            <surname>H. Najafi.</surname>
          </string-name>
          (
          <year>2003</year>
          ).
          <article-title>The Intelligent Welding Gun: Augmented Reality for Experimental Vehicle Construction</article-title>
          . In:
          <article-title>Virtual and Augmented Reality Applications in Manufacturing. S.K. Ong and A</article-title>
          .Y.C. Nee, eds. Springer Verlag 2004.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          9.
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Dutoit</surname>
          </string-name>
          .
          <article-title>Model-based Software Engineering: A Project-Oriented Approach</article-title>
          , Prentice Hall
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Bauer</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Brügge</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Klinker</surname>
            , A. MacWilliams, T. Reicher,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Riß</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Sandor</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>Design of a Component-Based Augmented Reality Framework</article-title>
          . ISAR '
          <volume>01</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          11.
          <string-name>
            <given-names>G.</given-names>
            <surname>Klinker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Creighton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dutoit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kobylinski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vilsmeier</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Brügge</surname>
          </string-name>
          :
          <article-title>Augmented maintenance of powerplants: A prototyping case study of a mobile AR system</article-title>
          .
          <source>Proc. IEEE International Symposium on Augmented Reality (ISAR'01)</source>
          , New York,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          12. G. Klinker,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dutoit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bayer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Novak</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Matzke</surname>
          </string-name>
          , “Fata Morgana -
          <article-title>- A Presentation System for Product Design”</article-title>
          ,
          <source>Proc. IEEE International Symposium on Mixed and Augmented Reality (ISMAR'02)</source>
          , Darmstadt,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Fischer</given-names>
            <surname>Technik</surname>
          </string-name>
          . http://www.fischertechnik.de/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          14. H.
          <string-name>
            <surname>Kato</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Billinghurst</surname>
            , I. Puopyrev,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Imamoto</surname>
            and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Tachibana. Virtual Object</surname>
          </string-name>
          <article-title>Manipulation on a Table-Top AR Environment</article-title>
          .
          <source>Proc. 1rst International Symposium on Augmented Reality (ISAR'00)</source>
          , Munich, Oct.
          <year>2000</year>
          , pp.
          <fpage>111</fpage>
          -
          <lpage>119</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>