Hi David!!!<br>I've answered inline:<br><br><div class="gmail_quote">On Fri, Aug 6, 2010 at 11:44 AM, David Lu!! <span dir="ltr"><<a href="mailto:davidlu@wustl.edu" target="_blank">davidlu@wustl.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote">Hey ROS-community,<div>I've been working with URDF extensively for awhile, and am wondering what the future is for its development. Specifically, whether the format will be extended at all to address what I perceive to be some of its limitations. </div>





<div><br></div><div>I think the biggest limitation is the lack of graph support, which relates a link to two or more parent links (as opposed to the current tree structure). I believe this problem stems from KDL supporting only chains, and not graphs, but there are a number of situations where a graph structure is called for. The simplest example is a four bar linkage, which, as it stands, cannot be easily model led in URDF. </div>





<div><br></div></div></blockquote><div><br>Thanks for the feedback.  We have started thinking about some of the 
potential improvements to URDF and ticketed them on trac<br><a href="https://code.ros.org/trac/ros-pkg/search?q=urdf-2.0" target="_blank">https://code.ros.org/trac/ros-pkg/search?q=urdf-2.0</a><br>please feel free to contribute your comments there.  When creating additional feature requests please put 
"urdf-2.0" 
in the "Keywords" field for now.<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote"><div></div>

<div>One step toward fixing the problem could involve making some joints dependent on other joints. For the case of a parallelogram-shaped 4 bar, three of the joints could depend on one joint, but there is currently no support for that either. A similar situation involves gears/pulleys and other motion transferring mechanisms, i.e. two gears, each connected to a base with a continuous joint, and the angle of joint for the second gear is 4 times the angle for the first. </div>

</div></blockquote><div> </div><div>I've added your comments to <a href="https://code.ros.org/trac/ros-pkg/ticket/4263">this ticket</a>.  <br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="gmail_quote"><div></div><div>Having now tried to get collision detection working as well, it seems odd to have three different structures to specify the hierarchy of the machine. Its specified once in the URDF, and then separate groups are defined via parameters to define groups. Some of these groups coincide with whole xacro macros too. While I see that these distinctions may often need to be customized, it seems like it would be easier to do the customization via parameter, and not use the parameters to redefine everything again. </div>

</div></blockquote><div><br>Maybe someone more familiar with the collision groups can answer this 
one?<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">



<div><br></div><div>The last thing that concerns me is the PR2 specific extensions. I'm not exactly clear what they lend to the PR2, but I'm also not clear why they wouldn't apply to other robots. </div></div>

</blockquote><div><br>can you please clarify your concern?  (e.g. package/stack names? etc.)<br>In general, a lot of the software packages may work their way into non-PR2-specific status after proving its usefulness first as a PR2 specific utility.<br>

 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote"><div>


<br>
</div><div>[As an aside, does anyone know where the xml schema are for urdf? The PR2 file links to <a href="http://playerstage.sourceforge.net/gazebo/xmlschema/" target="_blank">http://playerstage.sourceforge.net/gazebo/xmlschema/</a>, but there's nothing there.]</div>

</div></blockquote><div> </div><div><a href="https://code.ros.org/trac/ros-pkg/ticket/4328">https://code.ros.org/trac/ros-pkg/ticket/4328</a><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="gmail_quote">



<div><br></div><div>What I'm wondering is whether any of these issues are currently being addressed, or whether I should work around them (either in my own code or in the ROS repository). Hopefully this will spark a discussion on any other hurdles people are having with URDF. <br>

</div></div></blockquote><div><br>Thanks again for the feedbacks!<br>John<br><br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="gmail_quote"><div> </div></div></blockquote><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">



<div><br></div><div>Thanks,</div><div>David!!</div>
</div><br>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
<br></blockquote></div><br>