Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tf package: Transformer::lookupTwist(...) results seem to be wrong #43

Open
tfoote opened this issue Oct 30, 2013 · 4 comments
Open

tf package: Transformer::lookupTwist(...) results seem to be wrong #43

tfoote opened this issue Oct 30, 2013 · 4 comments
Assignees

Comments

@tfoote
Copy link
Member

tfoote commented Oct 30, 2013

Originally filed here: https://code.ros.org/trac/ros-pkg/ticket/5309

The results I get from Transformer::lookupTwist(...) are not w.r.t. the reference_frame as the documentation claims them to be.

To reproduce: I have two frames: /EE (the moving endeffector) and /Base (the static global world frame). I want to know the relative velocity of /EE, i.e. not expressed in /Base but in the frame /EE. According to the documentation I have to call:

tf_listener.lookupTwist("/EE", "/Base", "/EE", tf::Point(0,0,0), "/EE", ...)
, which means /EE is the tracking frame, /Base the observation frame, /EE the reference frame, and /EE the reference_point frame. But the resulting velocity is according to the /Base frame, NOT /EE!

I suppose the bug is in line 555 of tf.cpp:

lookupTransform(reference_frame,tracking_frame,target_time,inverse);
It should be replaced by:

lookupTransform(reference_frame,observation_frame,target_time,inverse);
At least in my case this solves the problem, but i'm not 100% sure, if this is always true, somebody should re-check.

Line in question is now here: https://github.com/ros/geometry/blob/hydro-devel/tf/src/tf.cpp#L315

@tfoote
Copy link
Member Author

tfoote commented Oct 30, 2013

@wmeeusse can you check this logic? I can do the update if necessary.

@vannem95
Copy link

Has this been fixed?

@MauroPfister
Copy link

Would like to know the same. I'm using lookupTwistFull on indigo and I still cannot get the twist expressed in the reference frame.

@LArayane
Copy link

@tfoote is that fixed now!!! because I need to express the velocity from base_link frame to the camera frame

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants