from a technical point of view. As mentioned above,
task models can be used to represent assembly in-
structions formally. Here, we use them as background
information to synthesise a probabilistic model that is
actually used to track the assembly process.
After introducing task models formally, we show
how to convert them into finite state machines accept-
ing the same language, that is, the same sequences
of atomic actions. The finite state machines are
then converted into Hidden Markov Models (HMMs).
Those models allow to estimate the progress of the
assembly task while receiving a stream of sensory in-
puts. In this section, we mainly follow the work de-
scribed in (Burghardt et al., 2011).
4.1 Formal Task-Models to Capture
Work Flows
The definitions below are adopted version of so called
Concur Task Trees (Paterno and Santoro, 2001). Each
node in such a tree represents a task, and its chil-
dren are corresponding sub-tasks. In addition, to ev-
ery node a temporal operator is attached. It specifies
the order in which the sub-task have to be executed.
Figure 2 shows a simple task model. The overall ob-
ject icaart consists of three parts, namely ic, aa and rt,
which can be constructed in any order (|=|). The sub-
tasks have to be assembled in the given order, e.g., for
ic: i >> c. In this example, two temporal operators are
used: order independence (|=|) and enabling (>>).
Further operations include usually iteration (·
∗
), dis-
abling ([>), and concurrency (|||).
Here, we use those models to capture work flows
occurring in smart factories. The atomic actions in-
clude taking a part from a shelf, measure a certain
item, compose two parts, apply a certain tool, and
other. The different sub-tasks have to be performed
in a given order.
icaart
ic aa rt
|=|
i c
|=|
a a r t
>> >> >>
Figure 2: A task model describing a simple assembly pro-
cess. Atomic tasks are shown in boxes, internal nodes are
represented as ellipses. Children are linked to their parents
using a dashed line and to their siblings using a line labelled
with the temporal order.
Definition 1 (Task Model). Let A be a set of atomic
actions and let O be a set ot temporal operators.
Then, the closure of T = a | (o,t
1
, . . . ,t
n
) with a ∈ A ,
o ∈ O, n > 0 and t
i
∈ T is called the set of task models
over A and O and referred to as T
A,O
.
Usually, internal nodes are used to structure the
model only. But, for our application domain, we at-
tach labels to all internal nodes. Those labels are used
to refer to sub-models and to attach assistance actions
as described below. In Figure 2, the labels are shown
within the nodes.
Without giving a formal definition, we call the set
of all valid sequences of atomic actions, the language
of the task model. For the model from Figure 2 there
are six valid sequences, namely: icaart, icrtaa, aaicrt,
aartic, rticaa, and rtaaic.
4.2 From Task Models to Finite State
Machines
Every task model describes a set of valid sequences
of atomic actions necessary to fulfill the task. Thus,
they represent a language over atomic tasks. Next,
we construct finite state machines which represent the
very same language.
As usual, a finite state machine (FSM) is defined
to be a quintuple (S, s
0
, Σ, δ, F), with S being a set of
states, s
0
∈ S being the initial state, Σ being a set of in-
put symbols, δ : S ×(Σ∪{ε}) → S being a partial tran-
sition function, and F ⊆ S being a set of final states.
A finite state machine for a given task model can
be constructed bottom up, by constructing a FSM for
every atomic task following Definition 2, and then re-
cursively following a conversion procedure depend-
ing on the temporal operator of the task. For the order
independence operator |=|, this procedure is given in
Definition 3. Figure 3 and 4 show FSMs constructed
for an atomic task and an order independent task, re-
spectively.
Definition 2 (FSM Atomic). Let t be a task model for
an atomic action a. Then we define the FSM f for t
as: f := (S, s
0
, Σ, δ, F), with S := {t, t
0
} (with t and t
0
being two new states
1
), s
o
:= t, Σ := {a}, F := {t
0
},
and δ := {(t, a, t
0
)}.
Definition 3 (FSM |=|). Let t be a task model for
order independent sub tasks, i.e., t = (|=|,t
1
, . . . ,t
n
).
Let furthermore f
1
, . . . , f
n
be FSMs constructed for
t
1
, . . . ,t
n
, respectively. Then we define the FSM f for
t as follows:
1
Please note, for a given task t we use t as name for a
state within the HMM. This has been done to prevent the
construction of new names for the states.
TrackingAssemblyProcessesandProvidingAssistanceinSmartFactories
163