<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
 </head><body style="">
 
 
  <div>
   Hi Sankar, 
  </div> 
  <div>
   &#160;
  </div> 
  <div>
   the RigidBodyState class has a sourceFrame and targetFrame field. So I guess that should be fine as the frame_id is concerned. As for the goal_id, I am not sure what it is for on the ROS side. To collect information from different sources? To handle out of order results? If I don&#39;t miss anything it should be ok to ignore in the rock/ros bridge. So, just generate an id on the ROS side. 
  </div> 
  <div>
   &#160;
  </div> 
  <div>
   The problem with introducing new types is that it will make it much more difficult to plug in existing modules.
   <br/>&#160;And so far, I don&#39;t really see a compelling reason (but of course might have missed something). 
  </div> 
  <div>
   &#160;
  </div> 
  <div>
   cheers,
  </div> 
  <div>
   &#160;
  </div> 
  <div>
   Jakob
  </div> 
  <div>
   <br/>On September 15, 2013 at 7:56 PM Sankaranarayanan Natarajan &#60;sankaranarayanan.natarajan@dfki.de&#62; wrote:
  </div> 
  <div style="position: relative;"> 
   <blockquote style="margin-left: 0px; padding-left: 10px; border-left: solid 1px blue;" type="cite"> 
    <div>
     Hi Jakob,
    </div> 
    <div>
     &#160;
    </div> 
    <div>
     frame_id -&#62; so the module knows that the given pose is described w.r.t &#34;frame_id&#34; frame...i.e target pose can given w.r.t base link or laser link/camera link
    </div> 
    <div>
     goal_id&#160;&#160; -&#62; ROS actionlib needs a unique id to do a action.
    </div> 
    <div>
     &#160;
    </div> 
    <div>
     Regards
    </div> 
    <div>
     -Sankar 
     <br/>Jakob Schwendner &#60;jakob.schwendner@dfki.de&#62; hat am 15. September 2013 um 18:58 geschrieben:
    </div> 
    <div style="position: relative;"> 
     <blockquote style="margin-left: 0px; padding-left: 10px; border-left: solid 1px blue;" type="cite"> 
      <div>
       Hi Sankar,
      </div> 
      <div>
       &#160;
      </div> 
      <div>
       why do you need the frame_id and the goal_id? Otherwise you could just use base::Joints and RigidBodyState.
      </div> 
      <div>
       &#160;
      </div> 
      <div>
       cheers,
      </div> 
      <div>
       &#160;
      </div> 
      <div>
       Jakob
      </div> 
      <div>
       <br/>On September 15, 2013 at 6:44 PM Sankaranarayanan Natarajan &#60;sankaranarayanan.natarajan@dfki.de&#62; wrote:
      </div> 
      <div style="position: relative;"> 
       <blockquote style="margin-left: 0px; padding-left: 10px; border-left: solid 1px blue;" type="cite"> 
        <div>
         Hi Guys,
        </div> 
        <div>
         &#160;
        </div> 
        <div>
         I need some datatypes to handle motionplanner input and ouput. I was thinking for atleast for motionplanner input we can use exiting data types by adding two lines to the existing datatypes(z.Bb base/Pose) or a new datatype for motionplanner.. Anyhow a sample struct i have created...
        </div> 
        <div>
         &#160;
        </div> 
        <div>
         namespace base 
         <br/>{ 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; namespace motionplanner 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; { 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; enum result 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; SUCCESSFUL&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; =&#160; 0, &#160; 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PLANNER_FAILED&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = -1, 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; COLLISION_DETECTED&#160;&#160;&#160;&#160;&#160; = -2, 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IK_FAILED&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = -3, 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PATH_TOLERANCE_VIOLATED = -4, 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; GOAL_TOLERANCE_VIOLATED = -5 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }; 
         <br/> 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; struct Pose 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; base::Time time; 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; std::string frame_id;&#160;&#160; // the pose is defined w.r.t this frame 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; std::string goal_id;&#160;&#160;&#160; // unique id for a task 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; base::Pose targetpose; 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }; 
         <br/> 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; struct JointAngle 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {&#160;&#160; &#160; 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; base::Time time; 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; std::string frame_id;&#160;&#160; // the pose is defined w.r.t this frame 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; std::string goal_id;&#160;&#160;&#160; // unique id for a task 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; base::samples::Joints joints; 
         <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; };&#160;&#160; &#160; 
         <br/> 
         <br/>&#160;&#160;&#160; }&#160; &#160; 
         <br/>}
        </div> 
        <div>
         &#160;
        </div> 
        <div>
         &#160;
        </div> 
        <div>
         Regards
        </div> 
        <div>
         -Sankar
        </div> 
       </blockquote> 
       <br/>&#160;
      </div> 
      <div>
       -- 
       <br/>Jakob Schwendner, M.Sc. 
       <br/>Researcher 
       <br/> 
       <br/>DFKI Bremen 
       <br/>Robotics Innovation Center 
       <br/>Robert-Hooke-Stra&#223;e 5 
       <br/>28359 Bremen, Germany 
       <br/> 
       <br/>Phone: +49 (0)421 17845-4120 
       <br/>Fax: +49 (0)421 17845-4150 
       <br/>E-Mail: jakob.schwendner@dfki.de 
       <br/> 
       <br/>Weitere Informationen: http://www.dfki.de/robotik 
       <br/>----------------------------------------------------------------------- 
       <br/>Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH 
       <br/>Firmensitz: Trippstadter Stra&#223;e 122, D-67663 Kaiserslautern 
       <br/>Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster 
       <br/>(Vorsitzender) Dr. Walter Olthoff 
       <br/>Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes 
       <br/>Amtsgericht Kaiserslautern, HRB 2313 
       <br/>Sitz der Gesellschaft: Kaiserslautern (HRB 2313) 
       <br/>USt-Id.Nr.: DE 148646973 
       <br/>Steuernummer: 19/673/0060/3 
       <br/>-----------------------------------------------------------------------
      </div> 
     </blockquote> 
     <br/>&#160;
    </div> 
   </blockquote> 
   <br/>&#160;
  </div> 
  <div id="ox-signature">
   -- 
   <br/>Jakob Schwendner, M.Sc.
   <br/>Researcher
   <br/>
   <br/>DFKI Bremen
   <br/>Robotics Innovation Center
   <br/>Robert-Hooke-Stra&#223;e 5
   <br/>28359 Bremen, Germany
   <br/>
   <br/>Phone: +49 (0)421 17845-4120
   <br/>Fax: +49 (0)421 17845-4150 
   <br/>E-Mail: jakob.schwendner@dfki.de
   <br/>
   <br/>Weitere Informationen: http://www.dfki.de/robotik
   <br/>-----------------------------------------------------------------------
   <br/>Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
   <br/>Firmensitz: Trippstadter Stra&#223;e 122, D-67663 Kaiserslautern
   <br/>Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster 
   <br/>(Vorsitzender) Dr. Walter Olthoff
   <br/>Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
   <br/>Amtsgericht Kaiserslautern, HRB 2313
   <br/>Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
   <br/>USt-Id.Nr.: DE 148646973
   <br/>Steuernummer: 19/673/0060/3 
   <br/>-----------------------------------------------------------------------
  </div>
 
</body></html>