Rosanswers logo

(Edited to refer more specifically to URDF with KDL)

I'm using IK from KDL in combination with URDF models recently and noticed that in trying to solve for a tool point I seem to need to have a dummy (fixed) URDF joint at the end of the chain.

The reason this seems to be, unless I misunderstand, is that tips will always be at the origin of some link. Since the point I'm trying to manipulate is at the end of one of my links it seemed the only way to get the IK to solve for that position rather than at the joint & link origin, was to create a dummy fixed joint & link at the location.

This feels a bit wrong, and I'm thinking perhaps it's not the recommended use.

Is there a better way to do this, or is it just the way it's done?

Originally posted by Asomerville on ROS Answers with karma: 2743 on 2011-10-10

Post score: 3

Original comments

Comment by Asomerville on 2011-10-19:
Edited to try to clarify. I left out DoF as I'm hoping to answer the more conceptual question.

Comment by Wim on 2011-10-17:
A few questions: How many degrees of freedom does your chain have without the dummy joint? What is the output you get without the dummy joint, and what's wrong with it?


1 Answer 1


Rosanswers logo

A KDL Segment allows you to set the tip anywhere you want:

Segment::Segment(const std::string& _name, const Joint& _joint, const Frame& _f_tip, const RigidBodyInertia& _I)

So you should not need a dummy joint at the end of your chain.

But to create a 'tip' using a URDF description, you indeed need to add a dummy link

Originally posted by Wim with karma: 2915 on 2011-11-03

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by Wim on 2011-12-14:
To create a 'tip' using a URDF description, you indeed need to add a dummy link.

Comment by Asomerville on 2011-11-04:
I think my confusion comes from the mismatch between URDF and KDL. There doesn't seem to be a way to designate the "tip" in URDF. Since "links" and "segments" are imperfect analogs, the fact that links don't dictate their child joint's reference frame the way segments seem to. I'll edit to clarify.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.