You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
The text was updated successfully, but these errors were encountered: