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

Revision history [back]

click to hide/show revision 1
initial version

If I mistaken understanding of these comand-line tool

I believe so.

tf_echo merely prints the value of the transform <source-frame> -> <target-frame>.

static_transform_publisher actually publishes (ie: broadcasts) a TF transform.

The former doesn't alter the TF tree.

The latter adds new transforms to the TF tree.

If I mistaken understanding of these comand-line tool

I believe so.

tf_echo merely prints the value of the transform <source-frame> -> <target-frame>. From its wiki page:

Print information about a particular transformation between a source_frame and a target_frame.

So this doesn't alter the TF tree, just prints information retrieved from it.

static_transform_publisher actually publishes (ie: broadcasts) a TF transform.transform. Again, the wiki page:

The former doesn't alter the TF tree.Publish a static coordinate transform to tf2

The latter This adds new transforms to the TF tree.

If I mistaken understanding of these comand-line tool

I believe so.

tf_echo merely prints the value of the transform <source-frame> -> <target-frame>. From its wiki page:

Print information about a particular transformation between a source_frame and a target_frame.

So this doesn't alter the TF tree, just prints information retrieved from it.

static_transform_publisher actually publishes (ie: broadcasts) a TF transform. Again, the wiki page:

Publish a static coordinate transform to tf2

This adds new transforms to the TF tree.


Edit:

So tf_echo is like subset of static_transform_publisher? (output wise).

No, I would not say this is correct.

tf_echo is for humans. It displays information about the TF tree.

static_transform_publisher is for broadcasting a new TF frame and adds it to the TF tree.

Those are two fundamentally different operations.

in addition to transformation between two frames, static_transform_publisher also creates a new node. ok got it.

If with "new node" you mean "it creates a ROS node (temporarily)", then yes, that would be correct, but only to be able to create a tf2_ros::TransformBroadcaster.

Can you please explain what is usage/application of adding new transforms to the TF tree?

This would seem to come down to a basic understanding of what TF is and how it's used. Perhaps reading the wiki page would help here. Adding new information to the TF tree is an essential operation for any TF producer and consumer.