<!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 ontology-based hybrid architecture for planning and robust execution in tabletop scenarios</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alessio Capitanelli</string-name>
          <email>alessio.capitanelli@dibris.unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fulvio Mastrogiovanni</string-name>
          <email>fulvio.mastrogiovanni@unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Genoa</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The aim of this work is to develop a task representation and execution framework for dual-arm manipulators operating in tabletop scenarios. In particular, we want to enforce robot's autonomy, robustness to failures, and (in perspective) a natural human-robot interaction. To this purpose, the framework integrates (i) point cloud perception, (ii) ontology-based knowledge representation, (iii) high-level task planning, as well as (iv) task execution and monitoring. Our main contribution is an open source, closed-loop hybrid architecture based on semantic knowledge and high-level reasoning to ground perception-based task representation, reasoning and execution. An ontology integrates perceptual cues with planning-relevant knowledge to automatically perform context assessment, infer when to act to modify the environment and to generate appropriate de nitions of domains and problems to solve. An interface between the ontology and low-level motion planners allows for updating the representation at run-time, thus enforcing robustness versus unmodelled traits of the environment. The framework has been validated using a Baxter dual-arm manipulator operating in a tabletop scenario.</p>
      </abstract>
      <kwd-group>
        <kwd>Reasoning</kwd>
        <kwd>Knowledge Representation</kwd>
        <kwd>Software Architecture</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In order to enforce a robot's autonomy and exibility, a closer coupling is needed
between high-level task planning and low-level action execution. Such a coupling
is expected to allow reactive behaviors to operate not only on the basis of
runtime feedback, but also within a well-de ned context. High-level task planning
is scarcely robust with respect to uncertainty and unmodeled traits of the
environment. However, it allows for goal-driven and context-based behavior, and
for dealing with knowledge at a high level of abstraction. Furthermore, for
longterm autonomous operations, a robot's architecture must identify its own goals
(in the form of norms or directives to satisfy) and recognize whether they are
met: the robot must check unsatis ed norms, address violated directives, plan
for a course of action solving such inconsistences, update its knowledge and, in
case of failures, re ne its plan.</p>
      <p>
        A number of hybrid reactive/deliberative architectures, with similar goals,
have been proposed [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. However, our approach is di erent in that: (i) an
ontology determines the need to act and monitors action execution by
comparing normative and factual knowledge; (ii) an interface lays inbetween task and
motion planning: on the one hand, the task planner can ignore the problem's
geometry to a good extent; on the other hand, the necessity to represent details
in the knowledge base is reduced. Our framework combines two approaches in
the literature:
{ As presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], it is possible to infer problem de nitions through norm
violation detection. Previous approaches use ontology inconsistency as a
triggering factor, whereas we use extra logic rules, i.e., SWRL rules [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. While
inconsistency-based methods are theoretically elegant, they su er from
practical issues: an ontology is not usable while inconsistent, several re-reasoning
steps are required and completeness can hardly be ensured. Our approach
does not lock the ontology, provides a PDDL-friendly representation and
does not require re-reasoning for problem generation, exploiting re-planning
instead.
{ The high- and low-level planners have been integrated using a
plannerindependent interface layer [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], i.e., we plan what to do but not how we do it.
To this aim, we recur to a Skolemization process: the system assumes some
of the predicates to hold true and re-plans whenever the low-level motion
planner invalidates such assumptions. Previous approaches simply trigger
replanning with an updated PDDL problem, whereas we adopt the more
general approach to update the ontology and to allow the reasoner to decide
whether a new problem must be generated.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Design and work ow of the system's architecture</title>
      <p>
        To validate our ideas we designed a software architecture adopting the
wellknown ROS framework [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which integrates a point-cloud perception system,
a Description Logic backed ontology-based knowledge representation system,
a PDDL planner { Fast Downward [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and a low-level motion planner with
collision avoidance, namely Moveit! [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. We use the perception system discussed
in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], which is able to identify pure geometric shapes in a point cloud (i.e.,
planes, cylinders, cones and spheres) and estimate their geometric parameters
using an optimisation procedure based on RANSAC [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In this Section, we
illustrate how our framework works using a running example.
      </p>
      <p>Scenario. Let us consider a dual-arm manipulator operating in a tabletop
scenario, which mimics a smart factory industrial setting. The robot must satisy
two operational requirements: (i) keeping the workspace tidy, e.g., assuring that
a certain class of objects is always located on the left hand side of the table,
and (ii) satisfying user requests, e.g., handling objects to human sta . In our
simpli ed scenario, we discriminate objects only by their shape and size. We
de ne a directive as a maintenance goal, one that must be satis ed at all times.
Furthermore, let us assume the following situation:
{ The robot is in front of a table with spheres and cylinders only.
{ The directive is: all cylinders must be on the left hand side of the table.
{ A user asks the robot to pick up a sphere and to put it down inside a tray.
{ The sphere cannot be picked up because it is cluttered by other objects.
{ The goal position for the sphere is already occupied by another object.
To ful ll the requests, all the four phases in Figure 1 are involved.
Scene perception. The perceived scene is encoded in the ontology in terms of
objects and their relationships to de ne predicates, e.g., On(blue-ball,table).
We distinguish two kinds of predicates: descriptive predicates represent factual
knowledge about the environment, and normative predicates encode the desired
state. Both objects and predicates are encoded as individuals belonging to the
appropriate class in the ontology. We consider only unary and binary
relationships and express their arguments as individual's object properties.</p>
      <p>The perception module is always executed in the background to track object
locations and keep the Moveit! planning scene consistent with the environment.
Periodically, the last perceived scene is encoded in the ontology and updates
the previous one. All predicates originating from the last encoded scene are
considered descriptive.</p>
      <p>
        Goal generation. Goals and directives are provided by the human
interacting with the robot and are encoded as normative predicates. The system keeps
updating its knowledge till the sets of descriptive and normative predicates do
not mutually con ict. In our case, one directive is speci ed and it is satis ed till
the human asks the robot to pick up a sphere and put it down in a tray. The
con icting predicates are detected by SWRL rules and the Pellet reasoner [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
which marks con icting predicates for the generation of an appropriate PDDL
problem le. Similarly, since action predicate de nitions are represented in the
ontology, corresponding relevant individuals are marked as well to generate a
domain speci cation. Finally, a stored parser generates the problem and domain
descriptions, and the system moves on to the planning phase.
      </p>
      <p>Task planning and action execution. Execution is staged by a mission
control module, which is organised as three submodules, namely plan parsing,
action execution and planner-independent ontology interface. In the considered
scenario, the robot generates a very simple plan, i.e., (i) freeing up the goal
position by (ii) moving the occupying object to another free position and (iii)
moving the sphere there. The plan instance is parsed and dispatched to Moveit!
for execution. In the motion planning phase, Moveit! recognizes that one of the
task would fail if executed, since the sphere is not reachable because of clutter.
Hence, mission control stops the execution and the ontology is updated with
a predicate specifying the cluttered situation. The system then moves back to
the reasoning and goal generation phase, and a new plan is determined and
executed, taking the clutter-related predicate into account. No further reasoning
activity is required unless a new violation is detected. This may happen in case
the plan would somehow fail. Once satis ed, temporary goals can be cleared from
memory, while long-term directives can be kept to ensure robust operation.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>In this paper, we propose a hybrid reactive/deliberative architecture for
perception, knowledge representation and planning with a dual-arm manipulator. The
framework has been evaluated in a scenario in which a Baxter robot (provided
with an external RGB-D sensor) manipulates objects on a (possibly cluttered)
table. Robot actions involve typical tabletop operations, such as pick and place,
as well as the swap between the positions of any two objects. Preliminary
results suggest that such an architecture can be a viable approach for robust and
exible autonomous operations in smart factory scenarios, especially in those
contexts in which human-robot cooperation plays an important role. Current
work is focused on expanding the architecture to allow a human user to interact
with the robot using a natural language interface. The framework is partially
available open source1.
1 Please check: https://github.com/EmaroLab.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Tenorth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Beetz</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>KnowRob {knowledge processing for autonomous personal robots</article-title>
          .
          <source>IEEE/RSJ International Conference on Intelligent Robots and Systems</source>
          ,
          <volume>4261</volume>
          -
          <fpage>4266</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Lemaignan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ros</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Msenlechner</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alami</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Beetz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>ORO, a knowledge management platform for cognitive architectures in robotics</article-title>
          .
          <source>In Intelligent Robots and Systems (IROS)</source>
          ,
          <year>2010</year>
          IEEE/RSJ International Conference,
          <volume>3548</volume>
          -
          <fpage>3553</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Galindo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sa otti</surname>
          </string-name>
          , A.:
          <article-title>Inferring robot goals from violations of semantic knowledge</article-title>
          .
          <source>Robotics and Autonomous Systems</source>
          ,
          <volume>61</volume>
          (
          <issue>10</issue>
          ),
          <fpage>1131</fpage>
          -
          <lpage>1143</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Galindo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sa otti</surname>
          </string-name>
          , A.:
          <article-title>Semantic Norms for Mobile Robots: When the end does not justify the means</article-title>
          .
          <source>IFAC Proceedings Volumes</source>
          ,
          <volume>45</volume>
          (
          <issue>22</issue>
          ),
          <fpage>84</fpage>
          -
          <lpage>89</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fang</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chitnis</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Russell</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Combined Task and Motion Planning Through an Extensible Planner-Independent Interface Layer</article-title>
          .
          <source>IEEE International Conference on Robotics and Automation (ICRA)</source>
          ,
          <fpage>639</fpage>
          -
          <lpage>646</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Long</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <year>PDDL2</year>
          .
          <article-title>1: an extension to PDDL for expressing temporal planning domains</article-title>
          .
          <source>JAIR</source>
          , vol.
          <volume>20</volume>
          , no.
          <issue>1</issue>
          ,
          <issue>61124</issue>
          , (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tabet</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Dean</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>SWRL: A semantic web rule language combining OWL and RuleML</article-title>
          . W3C Member submission,
          <volume>21</volume>
          ,
          <issue>79</issue>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Pellet: A practical owl-dl reasoner</article-title>
          .
          <source>Web Semantics: science, services and agents on the World Wide Web</source>
          ,
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Quigley</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Conley</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerkey</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faust</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Foote</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leibs</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wheeler</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ng</surname>
          </string-name>
          , A.Y.:
          <article-title>ROS: an open-source Robot Operating System</article-title>
          .
          <source>In ICRA workshop on open source software</source>
          , Vol.
          <volume>3</volume>
          , No.
          <volume>3</volume>
          .
          <issue>2</issue>
          ,
          <issue>5</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Sucan</surname>
            ,
            <given-names>I.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chitta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : MoveIt. http.://moveit.ros.org (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Fischler</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bolles</surname>
            ,
            <given-names>R.C.</given-names>
          </string-name>
          :
          <article-title>Random sample consensus: a paradigm for model tting with applications to image analysis and automated cartography</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>24</volume>
          (
          <issue>6</issue>
          ),
          <fpage>381</fpage>
          -
          <lpage>395</lpage>
          , (
          <year>1981</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Helmert</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Fast Downward Planning System</article-title>
          .
          <source>J. Artif. Intell. Res.(JAIR)</source>
          ,
          <volume>26</volume>
          ,
          <fpage>191</fpage>
          -
          <lpage>246</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Buoncompagni</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mastrogiovanni</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A software architecture for object perception and semantic representation AIRO (</article-title>
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>