<!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>The Robot Engineer</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Claude Sammut</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Raymond Sheh</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Adam Haber</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Handy Wicaksono</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Broad Institute</institution>
          ,
          <addr-line>Cambridge, MA</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computing, Curtin University</institution>
          ,
          <addr-line>Perth</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>School of Computer Science and Engineering, University of New South Wales</institution>
          ,
          <addr-line>Sydney</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We described preliminary work on designing a \robot engineer". Somewhat similar to the idea of a robot scientist, the robot engineer is a closed-loop system that designs tools for a robot, and even complete robots, that are tested in simulation, manufactured and realised using 3D printing. The artefact is then evaluated on real-world tasks, feeding back to the original design. The system builds on ILP techniques originally developed for learning tool use by a robot. These are extended with methods for transforming the functional speci cation produced by the ILP system into a design that is suitable for manufacture.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>With the advent of a ordable 3D printing, it is possible to construct custom
made tools on-demand and, with the addition of low-cost computers, sensors
and actuators, it is even possible to construct custom made robots. This ability
is particularly useful when an autonomous system is required to operate in a
new environment or to perform a new task. For example, in urban search and
rescue, it is often di cult to anticipate how access can be gained to con ned
spaces and what kind of con guration is needed for the robot to complete its
task. Similarly, in agile manufacturing, retooling automation equipment for new
tasks consumes considerable resources. Reducing this cost allows manufacturers
to respond more readily and e ciently to changes in the market. In this paper,
we describe methods for automatically designing and constructing 3D printable
tools that can be used by a robot in response to novel and changing environments
and tasks. The design is derived from speci cations learned by an ILP system.</p>
      <p>
        Response robots are being used increasingly in emergencies [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. At present
they are mainly sent into a disaster site to perform preliminary surveillance
before human rescuers enter a dangerous environment. Often, it is impossible to
know, in advance, what capabilities will be required by the robot to complete
its task. For example, gaining access to and working in disaster sites, such as
a collapsed building, is problematic because they contain unexpected obstacles,
damaged infrastructure, narrow spaces, etc. Thus, it is di cult to anticipate how
a robot should be con gured.
      </p>
      <p>
        With 3D printing, it is possible to create custom tools suited to a unique
situation at the disaster site, and even manufacture a complete robot [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Instead
of travelling with a collection of robots, a rescue team might travel with a small
number of robots, a set of standard parts, and high speed 3D printing equipment.
Once the situation has been determined, robots and tools suited for the job can
be rapidly produced and deployed. In this work, we address the problem of
automatically designing robots and their tools, since design expertise is not a
skill that human rescuers or manufacturing technicians usually possess.
      </p>
      <p>
        We build on previous work by Brown and Sammut [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and Haber [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], who
developed ILP methods for a robot to learn to use a tool by observing another
agent using that tool. This is extended so that instead of learning how to use
an existing tool, the system will propose a new tool to suit the task, if none
is available. The same technique can also propose complete robots by adapting
designs from a library.
      </p>
      <p>There are several stages in the creation of a design for a tool or robot. The
rst is to determine a functional speci cation for the tool, in terms of its type and
shape. The second is to work out a design for the tool, based on this speci cation,
and determine how it can be manufactured to satisfy this speci cation. Given
the functional speci cation, it is necessary to produce a physical design for the
tool, incorporating considerations material strength, weight, etc. In addition,
because fused lament 3D printing works by depositing one layer of material on
top of another, some objects cannot be printed directly. For example, if there is
an overhang, where there is no supporting material upon which to deposit the
next layer, it is not possible to make this object without some addition work.
In this case, the design must include a temporary support structure that can be
removed after the entire object has been printed. The order in which the tool
is printed, and the path that the printer takes, also a ects the strength and
stability of the tool.</p>
      <p>The remainder of this paper addresses the two major tasks in tool
speci cation and manufacture: (1) determining a functional speci cation and (2)
converting the functional speci cation into a design that can be realised in
practice.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Producing a Functional Speci cation of a Tool</title>
      <p>
        The method for producing functional speci cations for tools extends previous
work by Brown and Sammut [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and Haber [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In this setting, a robot learns to
use an existing tool by a single observation of tool use by a trainer. Thereafter,
the robot performs experiments, choosing di erent tools and applying them
differently to generalise the description of the tool and the ways in which it can be
manipulated. For example, the trainer may demonstrate using a hook to pull an
object out of a con ned space. The robot's experiments include selecting a new
tool of a di erent shape to discover the features of the tool that are required to
perform the task of pulling an object. Other experiments vary the positioning
of the tool to learn how it must be handled. We extend this method to develop
functional speci cations for tools that do not yet exist. We assume that there has
been prior learning of the kind just described, and the task of the system is to use
this background knowledge to produce functional speci cations for new tools. To
avoid repetition, when we talk about producing functional speci cations for a
tool, we include potentially doing so for the robot.
      </p>
      <p>
        We de ne a tool by the way in which it enables an action to be performed,
where an action is represented by a STRIPS-like formalism [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], extended to
include pragmatic information for the subsequent construction process. For
example, if a robot is required to open a door but lacks an appropriate end e ector,
the use of a tool such as a simple hook enables the open door action to be
performed. Thus, a tool action is de ned to be one that changes the properties of
one or more objects in a way that enables the preconditions of one or more other
actions in the agent's plan library.
      </p>
      <p>If an appropriate tool is not be available, but we know the desired properties,
we can produce the functional speci cation for one. Using the example of pulling
a box out of a tube with a hook, we de ne the following actions:
position-tool(Tool, Box)</p>
      <p>PRE in-gripper(Tool), gripping
ADD tool_pose(Tool, Box), obstructing(Tool, Box)</p>
      <p>DEL
pull-from-tube(Tool, Box, Tube)</p>
      <p>PRE tool_pose(Tool, Box), gripping(Tool), in-tube(Box,Tube)
ADD</p>
      <p>DEL in-tube(Box, Tube)</p>
      <p>The rst action represents the robot getting itself into the correct position
so that the tool can be applied. The predicate tool pose(Tool, Box), which
expresses this position, is learned in the experimentation stage. A side-e ect of
this action is that the tool is obstructing the object. Later, when the robot tries to
pick up the object, this side-e ect will have to be undone. The tool pose(Tool,
Box) e ect of the position-tool action becomes a precondition of the tool action,
pull-from-tube.</p>
      <p>The experimentation phase re nes the de nition of tool pose(Tool, Box):
tool_pose(Tool, Box)
:in-tube-side(Box, Tube, Side),
attached-side(Tool, Hook, Side),
touching(Hook, Box, back),
attached-angle(Tool, Hook, rightangle),
attached-end(Tool, Hook, back).</p>
      <p>Note the \attached" predicates. These describe some of the shape features
of the tool, which is just a stick with a right-angled hook attached at the end. It
must be placed inside the tube, and on the side such that the hook is touching
the box to be removed from the tube.</p>
      <p>Assuming that the robot has learned to use tools for tasks such as extracting
objects from con ned space, placing timber to shore up ceilings, opening doors,
etc. Let us now suppose that it is faced with a task for which no tool is available.
It is possible that the right tool exists in its library of action models, in which
case, the \structural" goals in the tool pose clause above, can used to generate
a functional speci cation for the desired tool. However, if the plan library does
not contain an appropriate tool, then further reasoning is required.</p>
      <p>Suppose the problem the robot has a new problem: to approach a door, open
it and move through to the next room. A planner uses the robots library of
action models to construct a sequence of actions to achieve the goal of being in
the next room. The problem is that the robot has no end e ector that can grip
the door handle. Thus, there is a gap in the plan resulting from the door opening
action not having some of its preconditions met. However, these preconditions
may suggest the properties that a tool should possess so that it can be used
to manipulate the door handle. This gives a starting point for determining the
functional speci cations of the tool. Structural predicates, such as the \attached"
predicates in the tool pose clause above, tell us the qualitative properties of
the tool.</p>
      <p>
        The parameters of the tools functional speci cation can be determined
experimentally, by trial and error. Fortunately, we do not have to manufacture
many actual tools to perform these experiments. Instead most experiments can
be done in simulation before a physical tool is designed and built. Sushkov [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
developed a learning system in which a real robots world is modelled in
simulation. When faced with a trial and error learning task, it rst performs \thought
experiments", that is, it runs experiments in the simulator to determine which
ones, if performed in the real world, would yield the highest information gain.
This method is being adapted for developing functional speci cations for tools.
      </p>
      <p>As described above, the planner produces predicates that can be used as
qualitative constraints on the design of the tool. Within those constraints, the
system must search for the quantitative parameters of the tool. For example, how
long should the hook be? What con guration of gripper will apply the correct
force to the door handle? This is a constraint solving and optimisation task that
can be tested in simulation. Once a plausible solution has been found, this can
be handed over to the manufacturing phase for testing in the real world.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Tool Manufacture</title>
      <p>
        Manufacturing a tool given a functional speci cation builds on work by Sheh,
Komsuoglu and Jaco [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] in constructing robots using fused lament 3D printers.
The robot must take the functional speci cation that results from the planning
phase, above, and produce a working physical component using a fused lament
3D printer. In addition to the functional speci cation, the tool designer program
must consider constraints relating to integrity, strength, durability, ability to be
printed and ability to be mounted e ectively on the robot. This physical design
must then be turned into a set of instructions to the 3D printer to produce the
actual part by a program called the slicer, the equivalent of a the machinist in
a workshop.
3.1
Like Brown [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the STRIPS action model is extended to include pragmatic
information about what objects are a ected by the action and how they are a ected.
This information is expressed as semi-numerical constraints, for example
giving the maximum length allowable for a component of a tool. Testing within
a simulator is used to the nal design if the tool, with parameters that satisfy
these constraints. The simulation involves stochastically sampling the possible
variations in the manufacture of the tool, positioning of the robot and other
objects.
      </p>
      <p>The designer may be unable to nd a design that satis es all of the functional
speci cations. For example, it may nd that a hook of su cient length to satisfy
the functional speci cation cannot be made strong enough to be practical. This
failure is referred back to the planner to determine if the functional speci cation
can be modi ed. Additional constraints, e.g. on the length, are added to ensure
that a new design does not fail in the same way.
3.2</p>
      <p>The Slicer
The slicer must ensure that the tool design is printable in a way that satis es
the functional speci cations and makes use of them to optimise its production.</p>
      <p>In this project, we only consider fused lament 3D printers, which produce
parts by extruding hot plastic from a moving nozzle onto a platform and building
up an object, layer by layer. The slicer must ensure that the tool design is
printable in this way. Slicing involves turning an enclosed 3D object into a path
for the nozzle to produce that object. The strength of the object depends on
the orientation in which the object will be printed and the density with which
di erent parts are printed.</p>
      <p>
        Existing slicers [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] only have access to the geometric shape of the object to
be printed. However, having the functional speci cation can can avoid potential
problems. For example, a hooked object may need to be printed in one
orientation to achieve the required level of strength, yet to be printed with minimal
overhangs it may need to be printed in another orientation. Thus, only a part
of the speci cation can be met. This new constraint can be referred back to the
designer so that it can adjust the design and amend its rules for future designs.
For example, a new design may avoid this problem while satisfying the
functional speci cation by rotating part of the tool by 90 and compensating for this
rotation in the controller.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Evaluation</title>
      <p>The US National Institute of Standards and Technology (NIST) has de ned
standard test methods for response robots. These include inspection tasks, such
as looking in con ned spaces to determine the state of a victim; manipulation
tasks, such as delivering aid to a trapped victim, opening doors; and locomotion,
including traversing di erent types of terrain. The test methods are also used in
the RoboCup Rescue Robot league. We use the same apparatus from these test
methods to evaluate the designs produced by the system. To obtain statistically
meaningful results, simulations of the test methods are used to perform large
numbers of repeated experiments. However, simulation alone is insu cient since
the physical world cannot be modelled perfectly. Therefore, experiments must
be conducted using real printers, robots and test environments, to ensure that
the simulation results are meaningful.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>This paper has described preliminary work on designing a \robot engineer",
which is capable for designing a new tool or robot that can be used to achieve
a goal given to a planner. The planner uses STRIPS-like action models that
have been learned from demonstrations of similar tool use. If no tool exists to
complete a task, a new tool is speci ed by varying previous designs and testing
them in simulation. The speci cation is then based to a \designer" that must
convert the functional speci cation into an artefact that can be realised using
3D printing technology. This must take into account the physical constraints
of printer. Sometimes, these constraints make the speci cation impossible to
manufacture. In this case the constraints are added to the tool s action model and
a new speci cation must be produced. The new constraints force the speci cation
phase to eliminate unimplementable designs.</p>
      <p>This work is still in its early stages with preliminary work being done on
extending the previous tool use learning techniques to produce functional
speci cations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Brown</surname>
          </string-name>
          , S.,
          <string-name>
            <surname>Sammut</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A Relational Approach to Tool-use Learning in Robots</article-title>
          .
          <source>In: Inductive Logic Programming</source>
          , Springer Berlin Heidelberg, pp.
          <volume>1</volume>
          {
          <fpage>15</fpage>
          . (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Evans</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Practical 3D printers: The science and art of 3D printing</article-title>
          .
          <source>Apress</source>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Fikes</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nilsson</surname>
          </string-name>
          , N.:
          <article-title>STRIPS: a new approach to the application of theorem proving to problem solving</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>2</volume>
          ,
          <issue>189</issue>
          {
          <fpage>208</fpage>
          . (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Haber</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A system architecture for learning robots</article-title>
          .
          <source>PhD Thesis</source>
          . The University of New South Wales (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Sheh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Collidge</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lazarescu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Komsuoglu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaco</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>The Response Robotics Summer School</source>
          <year>2013</year>
          :
          <article-title>Bringing Responders and Researchers Together to Advance Response Robotics</article-title>
          .
          <source>In: IEEE/RSJ International Conference on Intelligent Robots and Systems</source>
          , pp.
          <year>1862</year>
          {
          <year>1867</year>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Sheh</surname>
            ,
            <given-names>R. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Komsuoglu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaco</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The Open Academic Robot Kit: Lowering the Barrier of Entry for Research into Response Robotics</article-title>
          . In: IEEE International Symposium on Safety, Security and
          <string-name>
            <given-names>Rescue</given-names>
            <surname>Robotics</surname>
          </string-name>
          . IEEE Press (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Sushkov</surname>
            ,
            <given-names>O. O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sammut</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Active Robot Learning of Object Properties</article-title>
          . In: IEEE/RSJ International Conference on Intelligent Robots and
          <string-name>
            <surname>Systems</surname>
          </string-name>
          . E.
          <string-name>
            <surname>Guglielmelli</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>