<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 12 (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;}
@font-face
        {font-family:Consolas;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.5in;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
        {mso-style-priority:34;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
        {mso-style-priority:34;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
        {mso-style-priority:34;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.5in;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Consolas","serif";
        color:black;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.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:858736667;
        mso-list-type:hybrid;
        mso-list-template-ids:-144258154 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-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@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;}
@list l1
        {mso-list-id:1086420659;
        mso-list-type:hybrid;
        mso-list-template-ids:658127128 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1: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 l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2
        {mso-list-id:1934850490;
        mso-list-type:hybrid;
        mso-list-template-ids:1708837144 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2: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 l2:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2: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]--></head><body bgcolor=white lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hello all,<o:p></o:p></p><p class=MsoNormal>Thank you for your response. I didn&#8217;t know that the project was so young. So it is normal that the documentation is very technical. I would like to give my opinion for the project since I find it interesting. An input from third party might also be valuable. I am sorry if I say some wrong things due to the misunderstandings of the Rock framework.<o:p></o:p></p><p class=MsoNormal>I would like first to talk about the context. You know, you&#8217;re facing the famous ROS and my question would be: what are the points in which you are equal and those where you surpass ROS. <o:p></o:p></p><p class=MsoNormal>I would say that first; your strong point might be the AUV world. Currently, there are very few components related to the AUV in ROS. I think the second strong point is the use of Orocos which enable better control of the application (more suitable for fine control when resources are lacking). However, the cost of better control is higher complexity. <o:p></o:p></p><p class=MsoNormal>As for complexity, you have maybe been victims of your own engineering strength. You can handle high complexity and so you make complex systems. Now to compare Ros and Rock.<o:p></o:p></p><p class=MsoNormal>If I understood correctly. To create a component using Rock you need:<o:p></o:p></p><p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span lang=EN style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>Use rock-create-orogen<o:p></o:p></span></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Change manifest.xml<o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2 lfo1'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Add the dependency<o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Change <span lang=EN>message_producer.orogen</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2 lfo1'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>Configure the component</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>add you(r) component to the build system by adding the package to autproj/manifest&#8217;s layout section</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>amake</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>Change Task.hpp, Task.cpp</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2 lfo1'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>The constructors (2), destructor</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2 lfo1'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>updateHook</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>amake</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>Change orocos.rb</span><o:p></o:p></p><p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>ruby start.rb</span><o:p></o:p></p><p class=MsoNormal>Creating a configurable component is not trivial (I mean not hard but once there are more than 5 place to modify it becomes &#8230; not trivial). <o:p></o:p></p><p class=MsoNormal>As for connecting the components, I would say that it is clear and easy. I think what should be specified in your approach is that you spend time building components but then, their usage becomes very easy and professional. You should maybe focus on that point so that people can sacrifice some of their time to build components.   <o:p></o:p></p><p class=MsoNormal>Ok. Now for ROS you need<o:p></o:p></p><p class=MsoListParagraphCxSpFirst 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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>$ roscreate-pkg [package_name] [depend1] [depend2] [depend3]</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle 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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Check <span lang=EN>manifest.xml or edit if needed</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle 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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN>rosdep install [package]</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle 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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN style='color:black'>rosmake [package]</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle 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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>run ROS: <span lang=EN style='color:black'>roscore</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle 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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN style='color:black'>Change Task.hpp and Task.cpp (The interconnections can be defined here)</span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>All the publishers can be created in the main function<o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>All the subscribers are associate a topic with a custom build function which is called once a message appears on the topic<o:p></o:p></p><p class=MsoListParagraphCxSpMiddle 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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN style='color:black'>Use </span><o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN style='color:black'>rosrun [package_name] [node_name] for running just one Node at a time</span><o:p></o:p></p><p class=MsoListParagraphCxSpLast style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2'><![if !supportLists]><span style='font-family:"Courier New"'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span lang=EN style='color:black'>roslaunch [package] [filename.launch] for running all the system</span><o:p></o:p></p><p class=MsoNormal>ROS runs a parameter server which you can initialize using a &#8220;.yaml&#8221; file. The parameters are accessible through the functions &#8220;setParam/getParam. The difference with Rock is that the server is centralized but you handle one config per component which is maybe better.  <o:p></o:p></p><p class=MsoNormal>The components are naturally connected through topic names. The connection graph can be even remapped using ROS remapping capability. However, this is not necessarily good since the connection graph is not necessarily defined in a single file.  In the case of Rock all the interconnections are visible in the same file. <o:p></o:p></p><p class=MsoNormal>I personally find ROS more ergonomic but Rock having more potential. To be honest I still didn&#8217;t use Rock but it is the impression I have from reading the documentation.<o:p></o:p></p><p class=MsoNormal>I have some questions with regards to the modules you offer:<o:p></o:p></p><p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l2 level1 lfo3'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>What is the list of communication devices you handle: Serial/I2C/CAN/Bluetooth?<o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l2 level1 lfo3'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Do you have a simulator?<o:p></o:p></p><p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l2 level1 lfo3'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Do you have some sort of mission planner? A set of behaviors which might be reused?<o:p></o:p></p><p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l2 level1 lfo3'><![if !supportLists]><span style='font-family:Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Where is it possible to get the code and their documentation<o:p></o:p></p><p class=MsoNormal>Other questions: <o:p></o:p></p><p class=MsoNormal>As for the standard, I meant standards such as OMG (Object Management Group) and so&#8230; <o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Sorry for that long mail, I hope I could contribute to the project,<o:p></o:p></p><p class=MsoNormal>Best regards,<o:p></o:p></p><p class=MsoNormal>Jan SLIWKA<o:p></o:p></p><p class=MsoNormal>Dr. Ing. at CMRE (formerly NURC)<o:p></o:p></p><p class=MsoNormal>    <o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</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";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> Thomas Roehr [mailto:thomas.roehr@dfki.de] <br><b>Sent:</b> Thursday, August 16, 2012 8:14 PM<br><b>To:</b> sliwka@cmre.nato.int<br><b>Cc:</b> rock-dev@dfki.de<br><b>Subject:</b> Re: [Rock-dev] Fwd: RE: Avalon's Middleware<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>On 14.08.2012 12:48, Matthias Goldhoorn wrote: <o:p></o:p></p><p class=MsoNormal>Hello together,<br><br>I think i move this to the ML, because i still couldn't answer all questions.<br>Maybe one of the more-active developers could take over (or extend) the &quot;core&quot; questions below?<br><br>Greetings,<br>Matthias<br><br><br>-------- Original Message -------- <o:p></o:p></p><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0><tr><td nowrap valign=top style='padding:0in 0in 0in 0in'><p class=MsoNormal align=right style='text-align:right'><b>Subject: <o:p></o:p></b></p></td><td style='padding:0in 0in 0in 0in'><p class=MsoNormal>RE: Avalon's Middleware<o:p></o:p></p></td></tr><tr><td nowrap valign=top style='padding:0in 0in 0in 0in'><p class=MsoNormal align=right style='text-align:right'><b>Date: <o:p></o:p></b></p></td><td style='padding:0in 0in 0in 0in'><p class=MsoNormal>Tue, 14 Aug 2012 12:15:34 +0200<o:p></o:p></p></td></tr><tr><td nowrap valign=top style='padding:0in 0in 0in 0in'><p class=MsoNormal align=right style='text-align:right'><b>From: <o:p></o:p></b></p></td><td style='padding:0in 0in 0in 0in'><p class=MsoNormal>Jan Sliwka <a href="mailto:sliwka@cmre.nato.int">&lt;sliwka@cmre.nato.int&gt;</a><o:p></o:p></p></td></tr><tr><td nowrap valign=top style='padding:0in 0in 0in 0in'><p class=MsoNormal align=right style='text-align:right'><b>To: <o:p></o:p></b></p></td><td style='padding:0in 0in 0in 0in'><p class=MsoNormal>'Matthias Goldhoorn' <a href="mailto:matthias.goldhoorn@dfki.de">&lt;matthias.goldhoorn@dfki.de&gt;</a><o:p></o:p></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><pre>I am searching for an (new) comm-framework for our particular project which<o:p></o:p></pre><pre>could become THE framework for all the nurc vehicles in general.<o:p></o:p></pre><pre>In order to do so, as you said, I am collecting information for a<o:p></o:p></pre><pre>state-of-the-art report. If you have access to report like this, I'd<o:p></o:p></pre><pre>appreciate to have it.  <o:p></o:p></pre><pre>I took a look into rock and orocos. I think the documentation and tutorials<o:p></o:p></pre><pre>you provide on your webpage is well structured and complete but in my<o:p></o:p></pre><pre>opinion they are hard to follow for someone who wants to know about rock<o:p></o:p></pre><pre>without necessarily having it installed on the computer and as a consequence<o:p></o:p></pre><pre>not able to test the lines of code you provide. Maybe you could add a small<o:p></o:p></pre><pre>paragraph to your webpage about how rock works in a simplified (short!!!)<o:p></o:p></pre><p class=MsoNormal>Ack -&nbsp; now on our todo list<br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>version with lots of diagrams (like it is the case for the orocos doc but<o:p></o:p></pre><pre>maybe even simpler...), what a user needs to know (ruby, c++), provide<o:p></o:p></pre><pre>templates for users to fill with code... you should maybe not assume that<o:p></o:p></pre><pre>people know or should know orocos (since orocos is another sea of code if<o:p></o:p></pre><pre>you know what I mean). Or maybe it is impossible to separate orocos and<o:p></o:p></pre><pre>rock?...I mean making a full abstraction out of it.<o:p></o:p></pre><p class=MsoNormal>Orocos-related software represents a large part of the Rock-Toolchain. However, (as one example)<br>due to the strict separation between driver development and framework you can always use our drivers independently of the given<br>framework. <br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>What I like in your framework is the real-time aspect of orocos and the<o:p></o:p></pre><pre>tools you provide (little bit like ROS but more AUV oriented). <o:p></o:p></pre><pre>I have some questions.  <o:p></o:p></pre><p class=MsoNormal><br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>Question: do you provide a pdf version of the documentation for rock like<o:p></o:p></pre><pre>for orocos?<o:p></o:p></pre><p class=MsoNormal>no (t yet)<br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>Question: are the tools you provide tested and reliable? Is rock used by a<o:p></o:p></pre><pre>university or other institute other than DFKI?<o:p></o:p></pre><p class=MsoNormal>Using our release strategy from master-&gt;next-&gt;stable we try to maintain stability and reliability, and most packages come along with unit tests. <br>We have seen Rock's toolchain and generated components working reliably in our projects, which is one of the reasons for our first release. <br><br>Clearly, the main application base for now has been us at DFKI (in different projects), and some partners. <br>Since the first release has been only a couple of months ago and some people/institute there might be still some unknown early adopters. <br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>Question: is it possible to use rock without knowing how to use orocos while<o:p></o:p></pre><pre>keeping the real-time aspect of the execution. <o:p></o:p></pre><p class=MsoNormal>Components in Rock are Orocos components - thus working with these components (with real-time or not) does require a general understanding of Orocos components and their working. The provided tooling by Rock facilitates your task to build and manage single components and (complex) networks of components and thus you don't have to dive too deep. <br><br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>Question: can you use the statecharts (based on orocos statecharts) using<o:p></o:p></pre><pre>rock only?<o:p></o:p></pre><p class=MsoNormal>short version: statechart integration does not exist<br><br>long version: <br>generating components via Rock (i.e. using oroGen) allows you easily specify custom states of your component: 'Extending the state machine' <a href="http://rock-robotics.org/stable/documentation/orogen/task_states.html">http://rock-robotics.org/stable/documentation/orogen/task_states.html</a><br><br>Once you start building complex component networks an integration into the supervision component (Roby -&gt; <a href="http://rock-robotics.org/stable/documentation/system/index.html">http://rock-robotics.org/stable/documentation/system/index.html</a>) exits. This integration relies on a mapping of the task state transitions to events. <br><br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>Question: does rock/orocos comply to a specific standard<o:p></o:p></pre><p class=MsoNormal>What kind of standard do you refer to?<br>Generally, we try to push 'standardization' and rely on (common) conventions, yet<br>if you refer to DIN, ISO or similar official type of standard: not for the Rock part. <br><br><a href="http://rock.opendfki.de/wiki/WikiStart/Standards">http://rock.opendfki.de/wiki/WikiStart/Standards</a><br><br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>Question: what is the license of rock/orocos (It is GPLv2 I think but<o:p></o:p></pre><pre>correct me if I am mistaken)<o:p></o:p></pre><p class=MsoNormal>LGPL for most of the libraries, individual packages might differ though<br><br>Best<br>Thomas<br><br><o:p></o:p></p><pre><o:p>&nbsp;</o:p></pre><pre>That's all for now, I am sorry to ask those questions but orocos is a good<o:p></o:p></pre><pre>but complex tool and I find simplifying it (using rock) a good idea.<o:p></o:p></pre><pre>Looking forward to your answer,<o:p></o:p></pre><pre>And greetings from sunny Italy ;) (viva the air conditioning)<o:p></o:p></pre><pre>Jan<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>-----Original Message-----<o:p></o:p></pre><pre>From: Matthias Goldhoorn [<a href="mailto:matthias.goldhoorn@dfki.de">mailto:matthias.goldhoorn@dfki.de</a>] <o:p></o:p></pre><pre>Sent: Tuesday, August 14, 2012 9:14 AM<o:p></o:p></pre><pre>To: Jan Sliwka<o:p></o:p></pre><pre>Subject: Re: Avalon's Middleware<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>how's going,<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>did you already take a look into &quot;rock&quot;?, got problems or is something<o:p></o:p></pre><pre>unclear?<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Are you searching for an (new) comm-framework for the nurc vehicles in<o:p></o:p></pre><pre>general, or do you only collecting information for an state-of-the-art<o:p></o:p></pre><pre>report?<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Greetings from sunny Bremen.<o:p></o:p></pre><pre>Matthias<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>On 09.08.2012 10:00, Jan Sliwka wrote:<o:p></o:p></pre><pre>&gt; Thanks a lot!!!<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; -----Original Message-----<o:p></o:p></pre><pre>&gt; From: Matthias Goldhoorn [<a href="mailto:matthias.goldhoorn@dfki.de">mailto:matthias.goldhoorn@dfki.de</a>]<o:p></o:p></pre><pre>&gt; Sent: Thursday, August 09, 2012 8:26 AM<o:p></o:p></pre><pre>&gt; To: Jan Sliwka<o:p></o:p></pre><pre>&gt; Cc: <a href="mailto:sliwka@cmre.nato.int">sliwka@cmre.nato.int</a>; <a href="mailto:malgorzata.goldhoorn@dfki.de">malgorzata.goldhoorn@dfki.de</a><o:p></o:p></pre><pre>&gt; Subject: Re: Avalon's Middleware<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; Am 08.08.2012 16:49, schrieb Jan Sliwka:<o:p></o:p></pre><pre>&gt;&gt; Hi Matthias,<o:p></o:p></pre><pre>&gt;&gt; I now work on middlewares for underwater robots at the NURC. I <o:p></o:p></pre><pre>&gt;&gt; remember you were developing one in DFKI but I forgot the name.<o:p></o:p></pre><pre>&gt;&gt; Could you give me some references and links where I can find more <o:p></o:p></pre><pre>&gt;&gt; information about it?<o:p></o:p></pre><pre>&gt;&gt; Say hello from me to Malgosia,<o:p></o:p></pre><pre>&gt;&gt; thanks,<o:p></o:p></pre><pre>&gt;&gt; Jan<o:p></o:p></pre><pre>&gt; Hi Jan, nice to hear from you.<o:p></o:p></pre><pre>&gt; Greetings of course back from Malgosia.<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; So regarding the &quot;Middleware&quot; or communication framework.<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; The Framework is called Rock-Robotics (<a href="http://www.rock-robotics.org">www.rock-robotics.org</a>) it's an <o:p></o:p></pre><pre>&gt; layer ontop of Orocos-RTT Tollchain.<o:p></o:p></pre><pre>&gt; You can have RealTimeSupport but you not enforced to add an RTT Kernel.<o:p></o:p></pre><pre>&gt; Rock proides a lot of typical driver like for the BlueView Sonar, <o:p></o:p></pre><pre>&gt; Several Tritech devices and other stuff.<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; <a href="http://rock-robotics.org/stable/pkg/index.html">http://rock-robotics.org/stable/pkg/index.html</a> (search for driver for<o:p></o:p></pre><pre>e.G.).<o:p></o:p></pre><pre>&gt; The Repositorys of the drivers (more or less all) are located on spacegit:<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; <a href="http://gitorious.org/rock-drivers">http://gitorious.org/rock-drivers</a><o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; These drivers are (on this layer) Framework-Independently written so <o:p></o:p></pre><pre>&gt; that they can be used also on other frameworks or even simple <o:p></o:p></pre><pre>&gt; programs, the build simply as an library that can be used everywhere.<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; If yourneed any other information about rock or the capabilities, we <o:p></o:p></pre><pre>&gt; are providing an mailinglist that's queite friendly and active. Since <o:p></o:p></pre><pre>&gt; i'm also an rock-developer i got these mails too. But if you like you <o:p></o:p></pre><pre>&gt; could contact me private too ;).<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; Conrats's for you NURC Contract i aos thougt about sending an CV to <o:p></o:p></pre><pre>&gt; the nurc in the future.<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; Freetings from Cold northern Germany,<o:p></o:p></pre><pre>&gt; Matthias<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; **********************************************************************<o:p></o:p></pre><pre>&gt; ************************<o:p></o:p></pre><pre>&gt; *** PRIVILEGED AND CONFIDENTIAL ***<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; Centre for Maritime Research and Experimentation (CMRE, formerly NURC)<o:p></o:p></pre><pre>&gt;<o:p>&nbsp;</o:p></pre><pre>&gt; The information contained in this e-mail message (including any <o:p></o:p></pre><pre>&gt; attached files) is intended for the use of the addressee(s) only and is<o:p></o:p></pre><pre>privileged information.<o:p></o:p></pre><pre>&gt; The information should neither be posted to the Internet, nor <o:p></o:p></pre><pre>&gt; published in any other public domain, without the express permission <o:p></o:p></pre><pre>&gt; of the sender. If you are not the intended recipient(s) or the <o:p></o:p></pre><pre>&gt; recipient's representative, you are hereby notified that any use, <o:p></o:p></pre><pre>&gt; disclosure, copying or distribution of this communication is <o:p></o:p></pre><pre>&gt; prohibited. If you have received this communication in error please <o:p></o:p></pre><pre>&gt; notify us immediately at <a href="mailto:postmaster@cmre.nato.int">postmaster@cmre.nato.int</a> and remove this message<o:p></o:p></pre><pre>from your system.<o:p></o:p></pre><pre>&gt; **********************************************************************<o:p></o:p></pre><pre>&gt; ************************<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>--<o:p></o:p></pre><pre>  Dipl.-Inf. Matthias Goldhoorn<o:p></o:p></pre><pre>  Unterwasserrobotik<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>  Hauptanschrift Standort Bremen:<o:p></o:p></pre><pre>  DFKI GmbH<o:p></o:p></pre><pre>  Robotics Innovation Center<o:p></o:p></pre><pre>  Robert-Hooke-Straße 5<o:p></o:p></pre><pre>  28359 Bremen, Germany<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>  Phone: +49 (0)421 178 45-4193<o:p></o:p></pre><pre>  Fax:   +49 (0)421 178 45-4150<o:p></o:p></pre><pre>  E-Mail: <a href="mailto:robotik@dfki.de">robotik@dfki.de</a><o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>  Weitere Informationen: <a href="http://www.dfki.de/robotik">http://www.dfki.de/robotik</a><o:p></o:p></pre><pre>  -----------------------------------------------------------------------<o:p></o:p></pre><pre>  Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH<o:p></o:p></pre><pre>  Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern<o:p></o:p></pre><pre>  Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster<o:p></o:p></pre><pre>  (Vorsitzender) Dr. Walter Olthoff<o:p></o:p></pre><pre>  Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes<o:p></o:p></pre><pre>  Amtsgericht Kaiserslautern, HRB 2313<o:p></o:p></pre><pre>  Sitz der Gesellschaft: Kaiserslautern (HRB 2313)<o:p></o:p></pre><pre>  USt-Id.Nr.:    DE 148646973<o:p></o:p></pre><pre>  Steuernummer:  19/673/0060/3<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>**********************************************************************************************<o:p></o:p></pre><pre>*** PRIVILEGED AND CONFIDENTIAL ***<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Centre for Maritime Research and Experimentation (CMRE, formerly NURC)<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>The information contained in this e-mail message (including any attached files)<o:p></o:p></pre><pre>is intended for the use of the addressee(s) only and is privileged information.<o:p></o:p></pre><pre>The information should neither be posted to the Internet, nor published in any<o:p></o:p></pre><pre>other public domain, without the express permission of the sender. If you are<o:p></o:p></pre><pre>not the intended recipient(s) or the recipient's representative, you are hereby<o:p></o:p></pre><pre>notified that any use, disclosure, copying or distribution of this communication<o:p></o:p></pre><pre>is prohibited. If you have received this communication in error please notify us<o:p></o:p></pre><pre>immediately at <a href="mailto:postmaster@cmre.nato.int">postmaster@cmre.nato.int</a> and remove this message from <o:p></o:p></pre><pre>your system.<o:p></o:p></pre><pre>**********************************************************************************************<o:p></o:p></pre><p class=MsoNormal><br><br><br><o:p></o:p></p><pre>_______________________________________________<o:p></o:p></pre><pre>Rock-dev mailing list<o:p></o:p></pre><pre><a href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a><o:p></o:p></pre><pre><a href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a><o:p></o:p></pre><p class=MsoNormal><br><br><br><o:p></o:p></p><pre>-- <o:p></o:p></pre><pre>Thomas Röhr (M.Sc.)<o:p></o:p></pre><pre>Space Robotics<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Standort Bremen:<o:p></o:p></pre><pre>DFKI GmbH<o:p></o:p></pre><pre>Robotics Innovation Center<o:p></o:p></pre><pre>Robert-Hooke-Straße 5<o:p></o:p></pre><pre>28359 Bremen, Germany<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Phone: +49 (0)421 178-454151<o:p></o:p></pre><pre>Fax:   +49 (0)421 178-454150<o:p></o:p></pre><pre>E-Mail: <a href="mailto:robotik@dfki.de">robotik@dfki.de</a><o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Weitere Informationen: <a href="http://www.dfki.de/robotik">http://www.dfki.de/robotik</a><o:p></o:p></pre><pre>-----------------------------------------------------------------------<o:p></o:p></pre><pre>Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH<o:p></o:p></pre><pre>Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern<o:p></o:p></pre><pre>Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster <o:p></o:p></pre><pre>(Vorsitzender) Dr. Walter Olthoff<o:p></o:p></pre><pre>Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes<o:p></o:p></pre><pre>Amtsgericht Kaiserslautern, HRB 2313<o:p></o:p></pre><pre>Sitz der Gesellschaft: Kaiserslautern (HRB 2313)<o:p></o:p></pre><pre>USt-Id.Nr.:    DE 148646973<o:p></o:p></pre><pre>Steuernummer:  19/673/0060/3 <o:p></o:p></pre><pre>-----------------------------------------------------------------------<o:p></o:p></pre></div> <BR/><BR>
<HR><Font face=arial size=2 color=black><I>
*** PRIVILEGED AND CONFIDENTIAL ***<BR>
<BR>Centre for Maritime Research and Experimentation (CMRE, formerly NURC)<BR><BR>
The information contained in this e-mail message (including any attached files)<BR>
is intended for the use of the addressee(s) only and is privileged information.<BR>
The information should neither be posted to the Internet, nor published in any<BR>
other public domain, without the express permission of the sender. If you are<BR>
not the intended recipient(s) or the recipient's representative, you are hereby<BR>
notified that any use, disclosure, copying or distribution of this communication<BR>
is prohibited. If you have received this communication in error please notify us<BR>
immediately at postmaster@cmre.nato.int and remove this message from <BR>
your system.
</I>
</font><HR>
</body></html>