<!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>An adaptive human-robot cooperation framework for assembly-like tasks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kourosh Darvish</string-name>
          <email>kourosh.darvish@edu.unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Barbara Bruno Enrico Simetti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fulvio Mastrogiovanni</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Casalino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Genoa</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we introduce a method for human-robot cooperation, speci cally for assembly-like tasks. Novel approaches for cooperation are needed if we want to enable intuitive and natural interaction between humans and robots in future factories. Our contribution is twofold: i) a framework for the representation of the cooperation task, which allows for run-time adaptation; ii) a dynamic procedure to monitor task execution based on AND/OR graphs. The framework has been experimentally validated in a cooperation scenario in which a Baxter robot and a human perform a screwing task together.</p>
      </abstract>
      <kwd-group>
        <kwd>Human-robot cooperation</kwd>
        <kwd>Future factory</kwd>
        <kwd>Task representation</kwd>
        <kwd>Human action recognition</kwd>
        <kwd>AND/OR graph</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Human-robot cooperation (HRC) is expected to enhance and broaden the role
of robots in many real-world scenarios. A possible example is manufacturing, in
which humans and robots can play di erent roles in performing certain tasks,
depending on their capabilities. Our objective is to explore the use of HRC for
assembly-like tasks.</p>
      <p>
        Given the high demand for adaptability and exibility in production lines,
one possibility is to avoid any a priori de ned task structure (i.e., the sequence
of operations), and to allow humans to decide which operation to perform on
the y [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. First examples can be found in recent literature, such as a static
architecture based on AND/OR graphs [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a hidden semi-Markov model for
task teaching [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], a xed task-duration AND/OR graph [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        The robot co-worker must: i) recognise human actions, and speci cally their
gestures, using a sort of gesture sensor ; ii) represent all the allowed sequences
of operations, and their mutual relationships, which we model using AND/OR
graphs [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]; iii) reason about a speci c sequence of operations, as performed by the
human, i.e., understanding the cooperation context ; iv) according to the context,
select the most appropriate action to carry out at run time.
      </p>
      <p>We propose a framework for HRC (in particular for assembly) tasks allowing
for task representation and the run-time adaptation to human actions, by means
of the execution of proper robot actions. Such adaptation capabilities are enabled
by the robot's ability to assess the cooperation context, the AND/OR graph
based task representation formalism and the employed graph traversal procedure
to adapt to human actions.
2</p>
      <p>System's Architecture and Task Representation
The system's architecture, shown in Figure 1 on the left hand side, includes
a Human Action Recognition (HAR) module, a Controller module, a Planner
module and a Task Representation (TR) module.</p>
      <p>
        TR encodes the cooperation task structure as an AND/OR graph.
Furthermore, it interacts with Planner to determine which actions have been performed
and to provide alternatives for next actions to carry out for the human or the
robot, respectively. HAR is a sort of gesture sensor to recognise human actions,
introduced in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. It relies on inertial data measured at the human's right wrist
by means of wearable devices. HAR requires the o ine learning of human
gestures to detect. Gestures models in HAR are obtained using Gaussian Mixture
Modelling and Regression, as expected acceleration patterns. Relevant gestures
for our scenario include pick up, put down, and screwing. Online, HAR processes
the current data stream to provide a unique gesture label. Planner updates the
representation with the recognised gesture (retrieved from HAR) and the last
robot's actions (retrieved from Controller). Then, Planner provides suggestions
for humans or commands for the robot, accordingly.
      </p>
      <p>
        The Controller is based on a task priority based architecture [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and
reactively handles control tasks of equality (e.g. end-e ector position control) and
inequality (e.g. joint limits, arm dexterity) type in real time, guaranteeing the
robot operability as well as its safety. The Controller accepts commands such
as handover, grasp object, leave object, position object, as well as initialise robot
and stop robot. Thanks to this approach, the Planner is freed from the burden
of many lower-level operative details, making it more e cient and e ective.
      </p>
      <p>As we anticipated, TR uses an AND/OR graph to encode the cooperation
process. An AND/OR graph G(N; H) is a structure made up of a set N of n
nodes and a set H of h hyper-arcs. Nodes in N de ne reachable states in the
graph. Hyper-arcs in H de ne transition relationships among nodes. In
particular, hyper-arcs de ne many-to-one transition relationships between many
child nodes and one parent node. The relationship between the transitions of
a hyper-arc is considered to be in logical and, while the relationship between
di erent hyper-arcs of a parent node is in logical or. Both nodes and hyper-arcs
are associated with costs.</p>
      <p>In our case, each hyper-arc hi models a set of actions Ai, where an action
aj 2 Ai can be performed either by a human or a robot during the cooperation
process. If the order in which to execute actions in Ai is important, we treat them
as a strict sequence. Initially, all the actions in Ai are labelled as un nished ; when
they are executed we label them as nished. If all the actions in Ai are nished,
then hi is done. Nodes can be either solved or unsolved. A node nk 2 N is solved
if there is at least one hyper-arc hi to this node, hi is done and all its child nodes
are solved. The leaves in G are initialised as solved or unsolved at the beginning,
depending on the initial state of the cooperation. This procedure iterates going
upward to the root node of G. When the root is solved, then G is labelled as
solved. During graph traversal, nk is feasible if there is at least one hi to it such
that all its child nodes are solved. Otherwise, nk is unfeasible and hi is labelled
as active. At all times, we have a set of active hyper-arcs Ha H in G.</p>
      <p>The temporal task representation state S is the set of all the labelled nodes
and hyper-arcs in G. S de nes the possible action alternatives for the human or
the robot in cooperation. We de ne as cooperation context a sequence of actions
performed by humans or robots during the cooperation, corresponding to an
allowed traversal path in G. When a new human action an is detected by HAR,
Planner interacts with TR to determine whether an belongs to an Ai such that
the latter corresponds to an hyper-arc in Ha. If this does not happen, i.e., an does
not belong to the current cooperation context, the robot enters a null mode and
waits for further knowledge to determine which traversal path in G is involved.
If there are multiple active hyper-arcs possibly involving an, the robot enters an
ambiguous mode. Otherwise, the next action to suggest or perform is de ned in
G so that the overall cost of the traversal path is minimised.</p>
      <p>Examples
We propose a framework allowing for the representation of cooperative tasks
using AND/OR graphs, and their execution leaving a human free to choose the
speci c sequence of operations to perform among a number of alternatives. The
developed architecture is able to adapt to human actions at run-time, which are
detected as gestures using wearable devices worn at the human's right wrist.
The framework has been validated by modelling a cooperative assembly task, in
which a human and a Baxter dual-arm manipulator perform turn-taking actions
in any allowed sequence.
(d)
(h)
(l)
(d)
(h)
(l)
(a)
(e)
(i)
(a)
(e)
(i)</p>
      <p>Darvish et al.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Butzler, J.,
          <string-name>
            <surname>Schlick</surname>
            ,
            <given-names>C.M.</given-names>
          </string-name>
          :
          <article-title>Human-robot cooperation in future production systems: analysis of requirements for designing an ergonomic work system</article-title>
          .
          <source>Procedia Manufacturing</source>
          <volume>3</volume>
          (
          <year>2015</year>
          )
          <volume>510</volume>
          {
          <fpage>517</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Johannsmeier</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haddadin</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A hierarchical human-robot interaction-planning framework for task allocation in collaborative industrial assembly processes</article-title>
          .
          <source>IEEE Robotics and Automation Letters</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ) (
          <year>2017</year>
          )
          <volume>41</volume>
          {
          <fpage>48</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Rozo</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silverio</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calinon</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caldwell</surname>
            ,
            <given-names>D.G.</given-names>
          </string-name>
          :
          <article-title>Exploiting interaction dynamics for learning collaborative robot behaviours</article-title>
          .
          <source>In: Proceedings of the 2016 Interactive</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Hawkins</surname>
            ,
            <given-names>K.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bansal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vo</surname>
            ,
            <given-names>N.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bobick</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          :
          <article-title>Anticipating human actions for collaboration in the presence of task and sensor uncertainty</article-title>
          .
          <source>In: Proceedings of the 2014 IEEE International Conference on Robotics and Automation (ICRA</source>
          <year>2014</year>
          ), Hong Kong, China (May
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. de Mello,
          <string-name>
            <given-names>L.S.H.</given-names>
            ,
            <surname>Sanderson</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.C.</surname>
          </string-name>
          :
          <article-title>AND/OR graph representation of assembly plans</article-title>
          .
          <source>IEEE Transactions on Robotics and Automation</source>
          <volume>6</volume>
          (
          <issue>2</issue>
          ) (
          <year>1990</year>
          )
          <volume>188</volume>
          {
          <fpage>199</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bruno</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mastrogiovanni</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sgorbissa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vernazza</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaccaria</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Analysis of human behaviour recognition algorithms based on acceleration data</article-title>
          .
          <source>In: Proceedings of the 2013 IEEE International Conference on Robotics and Automation (ICRA</source>
          <year>2013</year>
          ), Karlsruhe, Germany (May
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Simetti</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casalino</surname>
          </string-name>
          , G.:
          <article-title>A novel practical technique to integrate inequality control objectives and task transitions in priority based control</article-title>
          .
          <source>Journal of Intelligent &amp; Robotic Systems</source>
          (
          <year>2016</year>
          )
          <volume>1</volume>
          {
          <fpage>26</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>