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

Revision history [back]

node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0 0 0 0 camera_link flir_camera_frame 100"

I think this should read something like this

node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="x y z r p y world flir_camera_frame 10"

What you need (apparently) is the transform from the world to the camera frame that depicts the camera position and orientation.

Most probably it will not be the same as the kinect (they are not coaxial, are they?) so you'll need a specific publisher just like above.

node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0 0 0 0 camera_link flir_camera_frame 100"

I think this should read something like this

node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="x y z r p y world flir_camera_frame 10"

What you need (apparently) is the transform from the world to the camera frame that depicts the camera position and orientation.

Most probably it will not be the same as the kinect (they are not coaxial, are they?) so you'll need a specific publisher just like above.

In this and future cases, when you think you have a tf problem, run the following command

$ rosrun tf view_frames ; evince frames.pdf

this will listen to all the published transforms for 5 seconds, and produce a pdf with all the links depicted graphically.

On a side note: I noticed that in my case sometimes it takes a number of executions before all the transformations are piked up correctly. Meaning that after just one run it may appear you have unconnected links, while in reality the tfs are there.

Anyway what you should have is a tree: one origin (the world) and everything else connected to it.

Also to check tfs in realtime you can run

$ rosrun tf tf_monitor