<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi,<br>
<br>
part of this seems indeed similar to what we are working on in the
RoboEarth project. The project aims at establishing a web-based
knowledge base through which robots can exchange information about
actions, objects and environments (diff. kinds of maps) among each
other, similar to Wikipedia for humans.<br>
<br>
As part of this effort, we have worked on formal semantic
representations for this kind of information [1]. The "action
recipes" are encoded in OWL, an XML-based formal language used in
the Semantic Web. They can describe actions, their properties (e.g.
objectActedOn, fromLocation,...), their arrangement in a task
(sequences, partial orderings, FSM-like structures), as well as
relations to objects or spatial concepts (points, trajectories). <br>
<br>
Since the recipes are described in the same language as object
models and environment maps, it is possible to link these kinds of
information, for example to parameterize an action with the spatial
layout described in a semantic environment map.<br>
<br>
So if there will be an effort to define such a format, we'd be happy
to share our experiences and contribute to its definition.<br>
<br>
best,<br>
Moritz<br>
<br>
<br>
[1] Moritz Tenorth, Alexander Clifford Perzylo, Reinhard Lafrenz,
Michael Beetz, "The RoboEarth language: Representing and Exchanging
Knowledge about Actions, Objects, and Environments", <i>In IEEE
International Conference on Robotics and Automation (ICRA)</i>,
St. Paul, MN, USA, 2012.<br>
<br>
<div class="moz-cite-prefix">On 04/12/2013 10:28 PM, <a class="moz-txt-link-abbreviated" href="mailto:rdean@gdrs.com">rdean@gdrs.com</a>
wrote:<br>
</div>
<blockquote
cite="mid:0F1E3F33416D2E4CB66EEA1ED002E134306C092B@GDRS-EXCHANGE10.gdrs.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:green;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1965378224;
mso-list-type:hybrid;
mso-list-template-ids:691819458 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level2
{mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level4
{mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level7
{mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:12.0pt;color:green">You
may want to check out what RoboEarth has already done, I
remember from an ICRA presentation that they were sharing
task descriptions between different robots. This may or may
not cover your area of interest, or may have a core lexicon
you could extend. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;color:green"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
<a class="moz-txt-link-abbreviated" href="mailto:ros-users-bounces@code.ros.org">ros-users-bounces@code.ros.org</a>
[<a class="moz-txt-link-freetext" href="mailto:ros-users-bounces@code.ros.org">mailto:ros-users-bounces@code.ros.org</a>]
<b>On Behalf Of </b>Edwards, Shaun M.<br>
<b>Sent:</b> Friday, April 12, 2013 10:40 AM<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<b>Subject:</b> [ros-users] Robot Task Description
Format - Potential REP<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Recently we have had several projects that
have required us to follow a predetermined path (i.e. a set of
waypoints that are determined offline) To achieve this we
have used csv or yaml files (with joint points and Cartesian
positions) or in some cases just hardcoded the path in the
source file. I have searched through ROS and asked questions
on ROS answers, but there doesn’t seem to be anything built
into ROS to support this functionality in a generic way. To
illustrate the need, here are several use cases:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph"
style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
style="font-family:Symbol"><span style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]-->3D model/data to robot
path – Several applications require a robot path be defined
using a 3D model. For these applications, we often use a CAD
system (or 3D models in general) to define the Cartesian robot
path. Example applications include, robotic painting,
grinding, deburring, mold trimming, inspection, etc… The
Cartesian path is then turned into a robot joint path at
runtime.<o:p></o:p></p>
<p class="MsoListParagraph"
style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
style="font-family:Symbol"><span style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]-->Robot path teaching –
Not all applications require intelligent path planning. There
are some applications that can be solved (at least partially)
by teaching a robot a desired path (i.e. a set of waypoints to
execute repeatedly). New robots, such as Baxter, illustrate
this capability by allowing a human operator to move an arm
and record waypoints. Note, this is not as easy as simply
recording joint positions. For some applications, you may
want to record Cartesian positions or specify that a path
segment between waypoints be executed using a linear
trajectory. Because of these requirements, the recorded
path/trajectory is more than a joint trajectory.<o:p></o:p></p>
<p class="MsoListParagraph"
style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
style="font-family:Symbol"><span style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]-->High level scripting –
Several robot tasks, such as static pick and place, include
lots of scripted motion and process data. Move to A, open
gripper, Move to B, close gripper. In a typical ROS approach,
positions are stored in yaml files and motion order and
process data is captured in code. Any change in the logic or
order of operations requires a code change and rebuild. A
task description format could capture this information
generically in a single place and allow on the fly
configuration of nodes that execute the motion. Note, that in
this use case, IO operations (i.e. open gripper) are also
required.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">These use cases lead me to believe that a
Robot Task Description Format (RTDF), similar to a URDF would
be useful. I have put together a minimal example here [1],
but would like to expand upon it to meet all the requirements
of the use cases above and others.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I would like to gage the community interest
in the need for such a file format. If the interest is great
enough then I will move forward with creating an official REP.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for your consideration,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Shaun Edwards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Senior Research
Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Manufacturing
System Department<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a
moz-do-not-send="true" href="http://robotics.swri.org">http://robotics.swri.org</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a
moz-do-not-send="true"
href="http://rosindustrial.swri.org/">http://rosindustrial.swri.org/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a
moz-do-not-send="true" href="http://ros.swri.org/">http://ros.swri.org</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a
moz-do-not-send="true"
href="https://groups.google.com/group/swri-ros-pkg-dev/boxsubscribe">Join
the ROS-Industrial Developers List</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Southwest
Research Institute<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">210-522-3277<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">[1] </span><a
moz-do-not-send="true"
href="https://github.com/mtconnect/ros_bridge/blob/master/mtconnect_example/mtconnect_cnc_robot_example/config/m16ib20/task_description.xml">https://github.com/mtconnect/ros_bridge/blob/master/mtconnect_example/mtconnect_cnc_robot_example/config/m16ib20/task_description.xml</a><span
style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p><b><font color="red">------------------------------------------------------</font></b></p>
<p><font color="darkblue">This is an e-mail from General Dynamics
Robotic Systems. It is for the intended recipient only and may
contain confidential and privileged information. No one else
may read, print, store, copy, forward or act in reliance on it
or its attachments. If you are not the intended recipient,
please return this message to the sender and delete the
message and any attachments from your computer. Your
cooperation is appreciated.</font><br>
</p>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
ros-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>
<a class="moz-txt-link-freetext" href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Dr. Moritz Tenorth | <a class="moz-txt-link-abbreviated" href="mailto:tenorth@cs.uni-bremen.de">tenorth@cs.uni-bremen.de</a>
Universität Bremen | Am Fallturm 1
29359 Bremen | Germany
Tel: +49 421 218-64016 | ai.uni-bremen.de/team/moritz_tenorth</pre>
</body>
</html>