# Which data types does tf use?

I want to know what datatypes tf can work with natively.

ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |

The site is read-only. Please transition to use Robotics Stack Exchange

Which data types does tf use?

I want to know what datatypes tf can work with natively.

add a comment

14

From the tf wiki page on tf/data types

tf can be used either with the underlying Bullet transform types or with the transform types available in the geometry_msgs package. Since tf deals with coordinate frames, every datatype that tf uses needs to be stamped, i.e. extra information is added to the datatype to represent the name of the frame in which it lives and a timestamp. The timestamp typically represents the time at which the data was created/ last valid.

tf can directly operate on the following messages or Bullet datatypes:

- Pose - tf can transform poses by using the tf::transformPose function. The transformPose function can operate on:
- geometry_msgs/PoseStamped - A stamped representation of a pose expressed in a particular frame
`tf::Stamped<tf::Pose>`

- A templated stamped representation of the underlying Bullet datatype btTransform.

- Position - tf can transform positions (or points) using the tf::transformPoint function. The transformPoint function can operate on:
- geometry_msgs/PointStamped - Represents a stamped point in 3D.
`tf::Stamped<tf::Point>`

- A stamped version of the underlying Bullet datatype btVector3.

- Rotation - tf can transform a rotation using the tf::transformQuaternion function. The transformQuaternion function can operate on:
- geometry_msgs/QuaternionStamped - A stamped representation of a quaternion.
`tf::Stamped<tf::Quaternion>`

- A stamped version of the underlying Bullet datatype btQuaternion.

Vector - tf can transform a free vector using the tf::transformVector function. The tranformVector function can operate on:

- geometry_msgs/VectorStamped - A stamped representation of a free vector.
`tf::Stamped<tf::Vector3>`

- A stamped version of the underlying Bullet datatype btVector.

PointCloud - tf can transform point clouds directly using the tf::transformPointCloud function. This function operates on:

- sensor_msgs/PointCloud - A representation of a 3D point cloud.

2

Asked: ** 2011-02-14 10:59:45 -0600 **

Seen: **1,548 times**

Last updated: **Feb 14 '11**

Could not find tf/transform_listener.h

[gmapping] get current robot-position?

Is the tf 'tree' persistent in any way or derived from the flow of tf topics?

Problem Moving the Robot in Rviz

Delay in tf broadcaster robot_pose_ekf

How does AMCL publishes tf using pose?

delete TransformListener object in python to release computational resource

ROS Answers is licensed under Creative Commons Attribution 3.0 Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.