Ask Your Question

tf transformPoint() equivalent on tf2?

asked 2013-10-29 15:24:38 -0500

ssafarik gravatar image

updated 2015-06-19 03:34:20 -0500

BennyRe gravatar image

It used to be that, with tf, we would use a TransformListener and its transformDATA() methods, e.g.

import tf
listener = tf.TransformListener()
ptNew = listener.transformPoint('frameNew', ptOld)

but now with tf2 (i.e. tf2_ros), there doesn't seem to be a transformPoint(). The only place I can find something close is in tf2_geometry_msgs.do_transform_point(), which requires PyKDL (not installed by default with ROS). I can't find any docs on the api for the do_transform_DATA(), however, and I see that the code is called "geometry_experimental" on github. Am I just trying to use this before it's ready for prime time, or is there something I'm missing as far as docs and using the tf2 listener?

Edit: Bump. I'm also facing this problem.

edit retag flag offensive close merge delete



Is there an update on this? Transforming points from one coordinate system to the other is, for me, the essential use-case of tf2. But it seems that this is supported only poorly and documented even more poorly.

BennyRe gravatar imageBennyRe ( 2015-06-19 03:32:33 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2015-06-19 11:39:27 -0500

tfoote gravatar image

updated 2016-12-13 05:58:59 -0500

Procópio gravatar image

You can use the transform or transform_full methods from the BufferInterface on any datatype which implements do_transform

tf2 is now recommended. It is still in the geometry_experimental repository but only for legacy reasons.

edit flag offensive delete link more



hey @tfoote, I tried using the transform method to transform a stamped pose, and got this error: File "/opt/ros/indigo/lib/python2.7/dist-packages/tf2_ros/", line 43, in transform do_transform = self.registration.get(type(object_stamped))

Procópio gravatar imageProcópio ( 2016-12-14 02:09:21 -0500 )edit

File "/opt/ros/indigo/lib/python2.7/dist-packages/tf2_ros/", line 105, in get raise TypeException('Type %s if not loaded or supported'% str(key)) TypeException

Procópio gravatar imageProcópio ( 2016-12-14 02:09:39 -0500 )edit

For anyone that comes across this, to transform PoseStamped messages you can try installing ros-kinetic-tf2-geometry-msgs and then importing tf2_geometry_msgs

dhood gravatar imagedhood ( 2017-03-07 10:55:43 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2013-10-29 15:24:38 -0500

Seen: 3,116 times

Last updated: Dec 13 '16