[ros-users] urdf frame placement

John Hsu johnhsu at willowgarage.com
Fri Mar 19 18:52:10 UTC 2010


Hi Miguel,

In general when describing the relative pose of two rigid bodies(links), a
6dof transform is used (as in tf).  That's the same approach taken in URDF.
To be more specific, the same transform is the <origin> tag in your
<joint>-element.  In addition, for revolute, prismatic and fixed joints, the
joint axis coincides with the child link origin.

If you need more information on conversion from D-H parameters to transforms
between rigid body links, this link to the joint element
definition<http://www.ros.org/wiki/urdf/XML/Joint>should help you get
started.  Please let me know if you find the diagram(s)
misleading or inadequate.   As usual, we always appreciate any comments or
code (e.g. parser) contributions :)

For example, I find it quite confusing that the dimensions of the links are
> specified inside the joint element.
>

I am not sure what you mean by above (here's the same link to the joint
element definition <http://www.ros.org/wiki/urdf/XML/Joint>), can you please
elaborate on the question a bit?

The dimensions of links are specified
here<http://www.ros.org/wiki/urdf/XML/Link>,
where you can specify the dimensions for <visual> and <collision> body
dimensions.

Also, is the world frame oriented like it's shown on the schematic on the
> urdf tutorial page? With the y axis pointing upwards?
>

I think you are referring to this
page<http://www.ros.org/wiki/urdf/Tutorials/Create%20your%20own%20urdf%20file>?
The "World" frame is drawn to show how we define relative frame transforms
between a sample set of frames.  You can view the "world" as a special link
that's inertially fixed.  There is no requirement on how you define the
"World" frame.  The informations captured in a robot description (URDF or
DH) are simply relative transforms between frames that are attached to
bodies and joints.  (So for example, you can take the tutorial screen and
rotate it sideways, and the individual transforms between frames should
remain valid).

As a side note, we are working on a URDF->COLLADA converter (package name
collada_urdf in robot_model
trunk<https://code.ros.org/svn/ros-pkg/stacks/robot_model/trunk/collada_urdf/>)
should you be interested.

Hope I am answering your questions correctly.
Best,
John


On Wed, Mar 17, 2010 at 10:41 AM, Miguel Prada <miguel.register at gmail.com>wrote:

> Hi,
>
> I'm quite new to ROS and I'm trying to describe a simple robot manipulator
> using urdf format.
>
> I'm having some trouble understanding the convention used (and the
> parameters involved), and I just wanted to ask why is it that D-H convention
> is not used. Specially with it being a standard for describing manipulators,
> as far as I know.
>
> For example, I find it quite confusing that the dimensions of the links are
> specified inside the joint element.
>
> Also, is the world frame oriented like it's shown on the schematic on the
> urdf tutorial page? With the y axis pointing upwards?
>
> Thanks,
> Miguel.
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100319/69447419/attachment-0004.html>


More information about the ros-users mailing list