<div dir="ltr">Greetings,<br><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div><br></div><div>I'd like to update the ROS community on the current status of the Unified Robotic Description Format (URDF). As ROS matures some packages are being moved out of the ROS ecosystem into stand-alone projects. With URDF, this has caused a number of package naming changes between Fuerte, Groovy, and Hydro that have made the situation a little confusing, especially on the ROS wiki. </div>


<div><br></div><div>I've made a <b>diagram</b> that outlines the current components of URDF and shows how they work together:</div>


<div><a href="http://www.ros.org/wiki/urdf#Components" target="_blank">http://www.ros.org/wiki/urdf#Components</a><br></div>

<div>
<br></div><div><b>Current Status:</b></div><div><br></div><div>1) The core URDF parser and data structures (<a href="https://github.com/ros/urdfdom" target="_blank">urdfdom</a>, <a href="https://github.com/ros/urdfdom_headers" target="_blank">urdfdom_headers</a>) have been pushed upstream into stand alone (no ROS-dependencies) software packages that will in the future be released into Ubuntu completely separate from ROS. </div>





<div><br></div><div>2) There is now a distinction between a URDF <i>file</i> and a URDF <i>data structure</i>. A URDF file follows the XML format as described on the <a href="http://ros.org/wiki/urdf/XML/" target="_blank">ros.org wiki</a>. A URDF data structure is a set of generic classes that various formats (currently URDF and Collada) can be parsed into.</div>





<div><br></div><div>3) A new plugin abstraction layer (<a href="https://github.com/ros/robot_model" target="_blank">urdf_parser_plugin</a>) allows the URDF data structures to be populated with various file formats (currently URDF and Collada)</div>




<div><br></div><div>4) The ROS packages <i>urdf_parser </i>and <i>urdf_interface</i> have been deprecated in Groovy and removed in Hydro.</div>
<div><br></div><div>5) As of today, urdfdom and urdfdom_headers have been moved to Github from Bitbucket.</div><div><br></div><div>6) An update to the <a href="http://ros.org/wiki/urdf/XML/Transmission" target="_blank"><transmission></a> element has been made to the URDF spec that is a revisit of the old pr2_mechanisms format generalized for all robots. It currently lives in the new <a href="http://ros.org/wiki/ros_control" target="_blank">ros_control</a> package but should <a href="https://github.com/ros/urdfdom/issues/3" target="_blank">soon</a> be moved into urdfdom.</div>




<div><br></div><div><b>Related Topics:</b></div><div><br></div><div>1) The <a href="http://gazebosim.org/" target="_blank">Gazebo</a> simulator can use either URDF or its own (more feature-filled) SDF format. <a href="https://bitbucket.org/osrf/sdformat" target="_blank">SDFormat</a> was also recently released upstream into a stand alone software package available in Ubuntu separate from ROS. SDFormat also currently contains a copy of the URDF parser.</div>





<div><br></div><div>2) Very preliminary discussions have begun on the needs of URDF 2.0 and potential merging of SDF and URDF. There are several significant limitations in the current URDF specification that need to be addressed. This is targeted for ROS-I or later.</div>





<div><br></div><div><b>Links:</b></div><div><a href="https://github.com/ros/robot_model" target="_blank">https://github.com/ros/robot_model</a><br></div><div><a href="https://github.com/ros/urdfdom" target="_blank">https://github.com/ros/urdfdom</a><b><br>





</b></div><div><a href="https://github.com/ros/urdfdom_headers" target="_blank">https://github.com/ros/urdfdom_headers</a></div><div><a href="https://bitbucket.org/osrf/sdformat" target="_blank">https://bitbucket.org/osrf/sdformat</a><br>




</div><div><a href="http://www.ros.org/wiki/urdf" target="_blank">http://www.ros.org/wiki/urdf</a><br>
</div><div><br></div><div>Thanks to Ioan Sucan, John Hsu, and Wim Meeussen for their continued maintenance and support of these urdf components.</div><div><br></div><div><br></div>I hope this helps clarify things for everyone!<span class="HOEnZb"><font color="#888888"><span><font color="#888888"><span><font color="#888888"><span><font color="#888888"><div>





<br></div><div><br><div><div><div dir="ltr">Dave Coleman<div><font size="1"><span style="color:rgb(102,102,102)">Open Source Robotics Foundation | 251</span><font color="#666666" face="arial">.463.2345 |</font><font color="#999999"> </font><font color="#444444"><a href="http://davetcoleman.com/" target="_blank">davetcoleman.com</a> </font></font></div>



</div></div></div></div></font></span></font></span></font></span></font></span></div></div></div></div></div>
</div><br></div>
</div><br></div>