[ros-users] Contact point definition in URDF format

Thomas Moulard thomas.moulard at gmail.com
Sat Mar 3 14:59:34 UTC 2012

On Fri, Mar 2, 2012 at 7:41 PM, Wim Meeussen <meeussen at willowgarage.com> wrote:
> Thomas,
>> here is another proposal to enhance humanoids robots support in ROS.
>> When dealing with legged robots, one very important information is the
>> list of valid contact zones, i.e. the zones which can safely support the robot.
>> Information about soles are also required to generate walking trajectories.
>> An example of this would be http://hal.inria.fr/docs/00/46/41/25/PDF/paper.pdf.
>> I suggest adding to the <link> element of URDF an optional node
>> called "contact" which structure is very close to the geometry and
>> collision elements.
> First of all, it's great you want to better support humanoid robots in
> the ROS toolchain!  Our general philosophy with this type of
> descriptions has been to create multiple small and special purpose
> descriptions/parsers.  So instead of extending the URDF description
> with more and more (optional) fields, different domains specify their
> own description. For example, Gazebo specifies its own description for
> sensors, etc.  Motion planning is another example with their SRDF
> description.
> In the end it is perfectly fine if all these descriptions end up in
> the same physical file (on the PR2 they all end up in
> /etc/ros/urdf/robot.xml), as long as you have different parsers
> extracting specific information from that single file.
> So for the humanoid specific description, it's probably best to create
> a new description/parser. So at least initially, you have the
> flexibility to rapidly develop and modify the format. Once it
> stabilizes and you have a good idea of the scope of this new
> description format, we can discuss if it could make sense to fold it
> into the URDF description, or to keep it as a separate description.
> So, for example, part of your humanoid specific description could look
> like the example below, where your description refers to elements in
> the URDF description.
> <humanoid>
>  <contact name="l_foot" link="name_of_the_urdf_link">
>    <.... your specification of allowed contact points.../>
>  </contact>
>  ...
> </humanoid>

I understand your point of view and I will then provide contact points using
a separate description format.

The fact that we can keep both information in the same file is great, but
srdf then would be a bad example. According to the doc, the node root tag
of srdf files is robot and therefore it is impossible to provide urdf
and srdf information
in the same file, right?

Also, is there any plan to have an URDF version 2 using plug-ins or
hooks so that
we could have one "core" format with several, domain specific, extensions?

Thomas Moulard

More information about the ros-users mailing list