<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi John,</div><div><br></div><div>First of all, thanks for you reply.</div><div><br></div><div>I'd like to mention that talking about this issue with a colleague I've been able to understand (at least some of) the reasons why DH parameters are not the best choice to describe kinematic chains (e.g. problems with branching chains).</div><div><br></div><div><blockquote type="cite"><blockquote class="gmail_quote" style="border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; ">For example, I find it quite confusing that the dimensions of the links are specified inside the joint element.<br></blockquote><br>I am not sure what you mean by above (<a href="http://www.ros.org/wiki/urdf/XML/Joint">here's the same link to the joint element definition</a>), can you please elaborate on the question a bit?<br><br>The dimensions of links are specified <a href="http://www.ros.org/wiki/urdf/XML/Link">here</a>, where you can specify the dimensions for <visual> and <collision> body dimensions.<br></blockquote></div><div><br></div><div>This is because I was looking at it the wrong way. I was thinking of the link dimension only as the distance between two consecutive joints, but now I can see that it makes no sense. For example, as I mentioned above, that would make impossible (or at least very difficult) to represent branching chains.</div><div><br></div><div><blockquote type="cite"><blockquote class="gmail_quote" style="border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; ">Also, is the world frame oriented like it's shown on the schematic on the urdf tutorial page? With the y axis pointing upwards?<br></blockquote><div><br>I think you are referring to <a href="http://www.ros.org/wiki/urdf/Tutorials/Create%20your%20own%20urdf%20file">this page</a>?  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).<br></div></blockquote></div><div><br></div><div>I guess that this must be a misconception on my side again. I thought that there was a unique 'world' frame, well defined, and upon which the rest of the transforms could be referenced. So I guess my question should have been: When a frame (e.g. world) is selected as the fixed frame in rviz, how does rviz display this frame? With the z axis pointing up?</div><div><br></div><div>Does this question make more sense?</div><div><br></div><div>Also, as a tool to understand this better, I'm trying to visualize a simple urdf robot description using rviz, but I'm having some trouble with this too. The way I'm doing it is creating a launch file that spawns a rviz node and loads the urdf file as a parameter, as explained <a href="http://www.ros.org/wiki/rviz/DisplayTypes/RobotModel">here</a>. The launch file is the one used in the 'create your own urdf' tutorial, with very simple box visual geometry added to the links. You can find the urdf and launch files on the attachment.</div><div><br></div><div>The problem is that when I add the robot model display to rviz, and select world as the fixed frame, there's an error on the Robot Model display which says that there are no transforms from the links to the world ( No transform from [linkX] to [/world] ). There's also a .Global Status warning about the Fixed Frame which states "No tf data. Actual error: Fixed Frame [/world] does not exist".</div><div><br></div><div>I realise that I'm probably doing it in a completely wrong way, so I would appreciate some pointers on the good direction. I have already read everything related that I've been able to find on the wiki (mostly on tf, rviz and urdf pages).</div><div><br></div><div>Thanks in advance for you help and kindness :)</div><div><br></div><div>Best,</div><div>Miguel.</div><div><br></div><div></div></body></html>